본문 바로가기

컴퓨터26

[UCB CS61C] Lec09 RISC-V Logical Instructions Logical Instructions 항상 2개의 variant가 있다. 하나는 register용(and), 하나는 immediate용(andi)이다. 비트마스크용도로 사용된다. NOT은 존재하지 않는다! 대신에 모든 숫자에 1을 채운 것과 xor을 하여 해결한다. For simplicity! Logical Shifting sll, slli : 몇 bit만큼 왼쪽으로 옮겨준 뒤에 오른쪽에는 0을 삽입해준다. 즉 곱셈을 해준 것과 같은 효과다. 예를 들어서 12로 곱하고 싶다면, 8로 곱해준 결과와 4로 곱해준 결과를 더해주는 식으로 한다.slli x11, x12, 2 # x11 = x 12 >) Arithmetic Shifting sra, srai: 몇 bit만큼 오른쪽으로 옮겨준 뒤에 왼쪽에는 0이 아.. 2024. 1. 9.
[UCB CS162 OS] Lec05 IPC, Pipes and Sockets Web server 서버의 network socket이 read() syscall을 보내면 일단 기다린 뒤에, kernel이 네트워크로부터 arriving packet을 받아오고, 이는 서버에 전달됨. 반대로 write()할 때는 별도의 wait는 없음. 하지만 어느 경우든 read와 write는 kernel-buffered임. Communication Between Processes why? shared task "process"는 inter-process communication을 어렵게 하도록 만들어져 있다. 서로 정보를 interfere/steal하지 못하게 되어 있음. 따라서 이러한 보안에 "구멍"을 내야함 -> IPC(Inter-Process Communication) How? 가장 간단하게는.. 2024. 1. 9.
[CMU 15-445 Intro to DB Sys] Lec08 B+Tree Index B+Tree self-balancing, ordered tree data structure search, sequential access, insertion, deletions을 $O(\log n)$에 수행 $M$-way search tree($M$: maximum number of children a node can have) perfectly balanced(every leaf node is at the same depth) every node other than the root is at least half-full($M/2 -1 \leq # keys \leq M - 1$) every inner node with $k$ keys has $k+1$ non null children B-Tree와의 차이.. 2024. 1. 5.
[UCB CS61C] Lec08 RISC-V (lw, sw, decision making) 메모리 주소는 byte 단위로 되어 있다. Little-endian convention에서는 word(4 bytes) 내에서 least-significant byte가 제일 작은 address에 저장된다(e.g. 0x12345678이면 78 56 34 12와 같이 저장). 따라서 Word address는 least-significant byte의 주소와 같다. Little-endian vs Big-endian: 작은 것이 작은 주소로 가느냐 vs 큰 것이 작은 주소로 가느냐 Load from Memory to Register lw : load word로, '오른쪽에서 왼쪽으로' 데이터를 가져온다. 여기서 offset은 바이트 단위로 표현되며, assembly 시점에 알려진 상수여야 한다./.. 2024. 1. 5.