분류 전체보기
-
Review: Processor Performance Program Execution time = (# instructions)(cycles/instruction)(seconds/cycle) = # instructions x CPI x TC HDL description Review: Processor Performance Program Execution Time= # instructions x CPI x TC = (#instructions/program)(cycles/instruction)(seconds/cycle) Single-Cycle Performance Critical path combinational logic에서 어떤 거는 데이터가 빠르게 오고 어떤 거는 느리게 올텐데 이 중 가장 느린 경로를..
[컴퓨터구조] 12. Multi-cycle MIPSReview: Processor Performance Program Execution time = (# instructions)(cycles/instruction)(seconds/cycle) = # instructions x CPI x TC HDL description Review: Processor Performance Program Execution Time= # instructions x CPI x TC = (#instructions/program)(cycles/instruction)(seconds/cycle) Single-Cycle Performance Critical path combinational logic에서 어떤 거는 데이터가 빠르게 오고 어떤 거는 느리게 올텐데 이 중 가장 느린 경로를..
2023.10.10 -
Control control 신호들이 명령어에 해당하는 값들로 세팅되는 개념이다. control 방식 mux(multiplexer)에서 하는 control write assert 방식 memory 혹은 register에서 write을 할 건지 말 건지를 결정하는 control 두 개(memory, register) 빼고는 다 mux control이다. Single-Cycle Control 먼저 opcode를 보고 어떤 명령어 인지를 본다.(lw, sw, addi ....) 그 명령어에 필요한 control signal을 쫙 보낸다. ALU decoder(sub control)에 들어가서 +,/, & 와 같은 명령은 새끼 control에서 하게끔 하여 두 level로 나누었다. ALU(Arithmetic ..
[컴퓨터구조] 11. Single Cycle MIPS microarchitectureControl control 신호들이 명령어에 해당하는 값들로 세팅되는 개념이다. control 방식 mux(multiplexer)에서 하는 control write assert 방식 memory 혹은 register에서 write을 할 건지 말 건지를 결정하는 control 두 개(memory, register) 빼고는 다 mux control이다. Single-Cycle Control 먼저 opcode를 보고 어떤 명령어 인지를 본다.(lw, sw, addi ....) 그 명령어에 필요한 control signal을 쫙 보낸다. ALU decoder(sub control)에 들어가서 +,/, & 와 같은 명령은 새끼 control에서 하게끔 하여 두 level로 나누었다. ALU(Arithmetic ..
2023.10.10 -
시작하기 앞서 micro architecture의 대략적인 큰 틀을 먼저 잡아보자. PC(Program Counter) -> instruction memory, fetch instruction Register numbers -> register file, read registers Depending on instruction class Use ALU to calculate Arithmetic result Memory address for load/store Branch target address Access data memory for load/store PC 두 값을 뺀 걸 볼 것이기 때문 Calculate branch target address: BTA = (sign-extended immediate
[컴퓨터구조] 10. Micro architecture(Single-Cycle)시작하기 앞서 micro architecture의 대략적인 큰 틀을 먼저 잡아보자. PC(Program Counter) -> instruction memory, fetch instruction Register numbers -> register file, read registers Depending on instruction class Use ALU to calculate Arithmetic result Memory address for load/store Branch target address Access data memory for load/store PC 두 값을 뺀 걸 볼 것이기 때문 Calculate branch target address: BTA = (sign-extended immediate
2023.10.10 -
Computer systems Abstraction HDL(Hardware Description Language)을 사용할 때는 RTL level에서 함 RTL level: register에 담아놨다가 사용하는 방식 HDL -> gate level : synthesis synthesizable(합성가능)한 것에 대해서 simulation. 전체 feature는 simulation을 위한 것. 우리가 관심을 가질 내용은 synthesis보다는 processor를 설계하는 것.(modeling simulation) HDL to Gates Simulation Inputs applied to circuit Outputs checked for correctness Millions of dollars saved b..
[컴퓨터구조] 9. System VerilogComputer systems Abstraction HDL(Hardware Description Language)을 사용할 때는 RTL level에서 함 RTL level: register에 담아놨다가 사용하는 방식 HDL -> gate level : synthesis synthesizable(합성가능)한 것에 대해서 simulation. 전체 feature는 simulation을 위한 것. 우리가 관심을 가질 내용은 synthesis보다는 processor를 설계하는 것.(modeling simulation) HDL to Gates Simulation Inputs applied to circuit Outputs checked for correctness Millions of dollars saved b..
2023.10.10 -
ARM v8 instruction (from COD) 64비트로 이동하면서 ARM은 전면적인 정비를 했다. ARM v8은 MIPS와 닮아있다. v7과 다른점?: 조건부 실행 필드(conditional execution field)가 존재하지 않는다. Immediate field Dropped load/store multiple PC가 더 이상 GPR이 아니다. GPT set이 32로 확장되었다. Addressing mode가 모든 word size에서 동작한다. instruction을 나눈다(divide). Branch if equal/branch if not equal instruction MIPS와 거의 유사함 Intel x86 Register flag register register 수가 MIPS에..
[컴퓨터구조] 8. MIPS, ARM, RISC-V, Systemverilog 비교ARM v8 instruction (from COD) 64비트로 이동하면서 ARM은 전면적인 정비를 했다. ARM v8은 MIPS와 닮아있다. v7과 다른점?: 조건부 실행 필드(conditional execution field)가 존재하지 않는다. Immediate field Dropped load/store multiple PC가 더 이상 GPR이 아니다. GPT set이 32로 확장되었다. Addressing mode가 모든 word size에서 동작한다. instruction을 나눈다(divide). Branch if equal/branch if not equal instruction MIPS와 거의 유사함 Intel x86 Register flag register register 수가 MIPS에..
2023.10.10 -
Array Access large amounts of similar data Index: access each element Size: number of elements 5-element array Base address = = 0x12348000 (address of first element, array[0]) First step in accessing an array: load base address into a register(register로 base address를 로드) Accessing Arrays // C Code int array[5]; array[0] = array[0] * 2; array[1] = array[1] * 2; # MIPS assembly code # array base a..
[컴퓨터구조] 7. MIPS assembly programming(Array etc.)Array Access large amounts of similar data Index: access each element Size: number of elements 5-element array Base address = = 0x12348000 (address of first element, array[0]) First step in accessing an array: load base address into a register(register로 base address를 로드) Accessing Arrays // C Code int array[5]; array[0] = array[0] * 2; array[1] = array[1] * 2; # MIPS assembly code # array base a..
2023.10.10 -
I-Type Immediate type이라고도 불림 3개의 operands를 수반함: rs, rt: register operands(각각 source, target의 의미) imm.: 16-bit two's complement(2의 보수) immediate Other fields: op: the opcode Simplicity favors regularity: all instructions have opcode Operation is completely determined by opcode(6 bit) I-Type Examples assembly code와 field value의 register 위치가 다름에 유의해야 한다.(destination의 위치가 code로 나타낼 때는 맨 처음이다.) J-Typ..
[컴퓨터구조] 6. R-Type, J-Type, I-TypeI-Type Immediate type이라고도 불림 3개의 operands를 수반함: rs, rt: register operands(각각 source, target의 의미) imm.: 16-bit two's complement(2의 보수) immediate Other fields: op: the opcode Simplicity favors regularity: all instructions have opcode Operation is completely determined by opcode(6 bit) I-Type Examples assembly code와 field value의 register 위치가 다름에 유의해야 한다.(destination의 위치가 code로 나타낼 때는 맨 처음이다.) J-Typ..
2023.10.10 -
우리가 일반적으로 컴퓨터 공학 전공 필수 지식이라고 하면 프로그래밍 언어, 네트워크, 운영체제, 데이터베이스, .... 등등의 지식을 말하곤 하는데요. 각각의 과목들 모두 다 중요한 것들이지만 이번 포스팅에서는 컴퓨터의 여러 부품들 중 CPU가 어떻게 동작하는지를 알아보면서 컴퓨터 공학(Computer Science) 필수 지식까지 자연스럽게 이해해보는 시간을 가져보도록 하겠습니다. 이에 대해 자세히 알아가다 보면 위 과목들에 기본 지식이 되어 해당 지식을 습득할 때 더 잘 이해가 갈 수 있을 것이라 생각합니다. 컴퓨터는 low-level(기계수준)부터 high-level(인간수준)까지 인간의 관점에서 인간이 통제하는지 하지 않는지에 따라 광범위하게 이루어져 있는 기기입니다. 먼저 우리는 컴퓨터 부품 중..
[CS 지식] 컴퓨터 공학 필수 지식 A부터 Z까지우리가 일반적으로 컴퓨터 공학 전공 필수 지식이라고 하면 프로그래밍 언어, 네트워크, 운영체제, 데이터베이스, .... 등등의 지식을 말하곤 하는데요. 각각의 과목들 모두 다 중요한 것들이지만 이번 포스팅에서는 컴퓨터의 여러 부품들 중 CPU가 어떻게 동작하는지를 알아보면서 컴퓨터 공학(Computer Science) 필수 지식까지 자연스럽게 이해해보는 시간을 가져보도록 하겠습니다. 이에 대해 자세히 알아가다 보면 위 과목들에 기본 지식이 되어 해당 지식을 습득할 때 더 잘 이해가 갈 수 있을 것이라 생각합니다. 컴퓨터는 low-level(기계수준)부터 high-level(인간수준)까지 인간의 관점에서 인간이 통제하는지 하지 않는지에 따라 광범위하게 이루어져 있는 기기입니다. 먼저 우리는 컴퓨터 부품 중..
2023.04.14