본문 바로가기

컴퓨터/컴퓨터구조9

[UCB CS61C] Lec14 Intro to Synchronous Digital Systems synchronous(central clock에 따라 coordinate된다), digital(discrete value에 따라 모든 값을 표현) Switches 1일 때 스위치를 닫고, 0일 때 연다. 스위치 두 개를 가지고 AND와 OR을 표현 가능(boolean) Transistors 신호를 amplify하거나 switch하기 위한 반도체 장치 3개의 terminal로 구성: Drain, Gate, Source n-channel: open when voltage at G is low(close when $voltage(G) > voltage(S) + \epsilon$) p-channel: closed when voltage at G is low(opens when $voltage(G) > volta.. 2024. 1. 12.
[UCB CS61C] Lec13 Compiling, Assembling, Linking, Loading Compiler high-level language code를 입력으로 받아서, assembly language code를 출력함. compiler가 출력한 내용에는 pseudo instruction이 포함될 수도 있음(assembler는 이해하지만 machine은 이해할 수 없음) Assembler assembly language code를 입력으로 받아서, object code, information table을 출력함. pseudo instruction을 대체하고 machine language로 바꾸게 됨. Producing Machine Language arithmetic, logical, shift 등은 이미 필요한 정보가 instruction 내에 모두 포함되어 있음. branch, jump는.. 2024. 1. 12.
[UCB CS61C] Lec11, 12 RISC-V Instruction Formats (Memory address) Instruction과 data 모두가 메모리에 저장되게 되면서, 모든 것이 memory address를 갖게 되었다. (Binary compatibility) 프로그램이 binary의 형태로 배포되며, 특정한 instruction set에 bind됨. instruction set들은 과거의 프로그램도 실행할 수 있는 방식으로 만들어지고 있음. RISC-V에서는 instruction도 32-bit word size에 맞게 만들고 있음. 이를 위해 instruction word를 "field"들로 나누어 줌. 단순화를 위해 6 basic types of instruction formats을 정의함. R-Format(register간 arithmetic 연산) opcode(0-.. 2024. 1. 10.
[UCB CS61C] Lec10 RISC-V Memory and Calling Conventions Machine Program Program Counter는 processor 내에 위치하는 레지스터로서, 다음 instruction의 byte address를 보관함. 보통은 다음 instruction을 찾기 위해 4 bytes를 더한다. 32개의 레지스터 중 일부는 symbolic register name을 갖는다. e.g. zero(x0), a0-a7(x10-x17; 즉 argument registers for function calls) pseudo-instructions: 실제 instruction이 아니라 자주 사용되는 것을 ㅈ간단히 표현하는 것임. e.g. (move) mv rd, rs = addi rd, rs, 0, (load immediate) li rd, 13 = addi rd, x0, .. 2024. 1. 9.