CS 지식
-
Topics Introduction Memory System Performance Analysis Caches Virtual Memory I/O는 다른 포스팅에서 다루었다.(중요하기 때문에) Memory-Mapped I/O Summary Introduction Computer performance는 다음에 의존한다. Processor performance Memory system performance RAM 앞서 clock time을 줄이기 위해 노력을 했는데 결국 memory가 안 좋으면 말짱 도루묵이다. CPU와 Memory 사이에는 speed gap차이가 상당히 크다. CPU: 0.25ns / Mem: 20ns Processor - Memory Gap 이전 포스팅에서 access memory를 1 ..
[컴퓨터구조] 15. MemoryTopics Introduction Memory System Performance Analysis Caches Virtual Memory I/O는 다른 포스팅에서 다루었다.(중요하기 때문에) Memory-Mapped I/O Summary Introduction Computer performance는 다음에 의존한다. Processor performance Memory system performance RAM 앞서 clock time을 줄이기 위해 노력을 했는데 결국 memory가 안 좋으면 말짱 도루묵이다. CPU와 Memory 사이에는 speed gap차이가 상당히 크다. CPU: 0.25ns / Mem: 20ns Processor - Memory Gap 이전 포스팅에서 access memory를 1 ..
2023.10.10 -
Pipelined Performance Example SPECINT2000 benchmark: 25% loads 10% stores 11% branches 2% jumps jump 명령이 fetch되고 decode 되면서 jump라는 것을 알 수 있는데 그 때 PC에 BTA를 넣어주어야 하는데 이미 그 다음 줄 instruction이 들어와 있다. 그래서 그 명령을 flush 해 주는 clock이 하나 더 소비 되기 때문에 jump 명령의 CPI는 2이다. 52% R-type Suppose: 다음 명령어에 의해 사용되는 loads의 40% -> load use hazard(stalling) CPI = 2 (due to stalling) 잘못 예측된 branch의 25% CPI = 2 (due to flu..
[컴퓨터구조] 14-3. Pipelined MIPS Performance and Exception handlerPipelined Performance Example SPECINT2000 benchmark: 25% loads 10% stores 11% branches 2% jumps jump 명령이 fetch되고 decode 되면서 jump라는 것을 알 수 있는데 그 때 PC에 BTA를 넣어주어야 하는데 이미 그 다음 줄 instruction이 들어와 있다. 그래서 그 명령을 flush 해 주는 clock이 하나 더 소비 되기 때문에 jump 명령의 CPI는 2이다. 52% R-type Suppose: 다음 명령어에 의해 사용되는 loads의 40% -> load use hazard(stalling) CPI = 2 (due to stalling) 잘못 예측된 branch의 25% CPI = 2 (due to flu..
2023.10.10 -
전에 배운 single cylce에 pipeline을 더해서 성능을 획기적으로 상승시킨다. 그러나 이 과정에서 발생하는 문제, 혹은 위험(hazard)이 있는데 이는 다음과 같다. Structural hazard HW는 하나인데 같은 cycle에 두 개의 명령어를 쓰려고 함. Data hazard 두 개의 명령어가 같은 storage에 접근 명령어가 정순서로 뽑아질 때 나옴 Control hazard 한 명령어가 다음 명령어에 영향을 끼친다. Structural hazard 모든 instruction의 수행이 IF-ID-EX-MEM-WB으로 이루어진다고 가정했을 때 4번째 Cycle에서는 첫 번째 instruction의 Memory Access와 네 번째 instruction의 IF가 동시에 Memory..
[컴퓨터구조] 14-2. Pipelined MIPS - hazard전에 배운 single cylce에 pipeline을 더해서 성능을 획기적으로 상승시킨다. 그러나 이 과정에서 발생하는 문제, 혹은 위험(hazard)이 있는데 이는 다음과 같다. Structural hazard HW는 하나인데 같은 cycle에 두 개의 명령어를 쓰려고 함. Data hazard 두 개의 명령어가 같은 storage에 접근 명령어가 정순서로 뽑아질 때 나옴 Control hazard 한 명령어가 다음 명령어에 영향을 끼친다. Structural hazard 모든 instruction의 수행이 IF-ID-EX-MEM-WB으로 이루어진다고 가정했을 때 4번째 Cycle에서는 첫 번째 instruction의 Memory Access와 네 번째 instruction의 IF가 동시에 Memory..
2023.10.10 -
Pipelined MIPS Performance Latency (Execution Time) Throughput (Bandwidth) : 단위 초(unit time)당 수행하는 일(task)의 양 # of task/unit time Example) ideal case instruction 100만개가 있고, 한 instruction 당 1sec가 걸린다고 가정 total time = 100만 sec Latency = 1 sec Throughput = 1 inst/sec 0.2로 나눈 것(5개로 나뉨, multi) total time = 1 sec + (0.2 x 999,999) = 0.2 x 1000000 = 20만 sec Latency = 1 sec 그대로 1초임 Throughput = 1/0.2 = ..
[컴퓨터구조] 14-1. Pipelined MIPSPipelined MIPS Performance Latency (Execution Time) Throughput (Bandwidth) : 단위 초(unit time)당 수행하는 일(task)의 양 # of task/unit time Example) ideal case instruction 100만개가 있고, 한 instruction 당 1sec가 걸린다고 가정 total time = 100만 sec Latency = 1 sec Throughput = 1 inst/sec 0.2로 나눈 것(5개로 나뉨, multi) total time = 1 sec + (0.2 x 999,999) = 0.2 x 1000000 = 20만 sec Latency = 1 sec 그대로 1초임 Throughput = 1/0.2 = ..
2023.10.10 -
Multicycle Processor Performance 명령어들은 다 다른 cycle의 수를 가진다. 3 cycles: beq, j 4 cycles: R-Type, sw, addi 5 cycles: lw CPI is weighted average SPECINT2000 benchmark: 25% loads 10% stores 11% branches 2% jumps 52% R-type Average CPI = (0.11 + 0.02)(3) + (0.52 + 0.10)(4) + (0.25)(5) = 4.12 Multicycle critical path: Tc = tpcq_ALUout + tmux + max(tALU + tmux, tmem) + tsetup write은 read보다 조금 걸리고 registe..
[컴퓨터구조] 13. Multi-cycle PerformanceMulticycle Processor Performance 명령어들은 다 다른 cycle의 수를 가진다. 3 cycles: beq, j 4 cycles: R-Type, sw, addi 5 cycles: lw CPI is weighted average SPECINT2000 benchmark: 25% loads 10% stores 11% branches 2% jumps 52% R-type Average CPI = (0.11 + 0.02)(3) + (0.52 + 0.10)(4) + (0.25)(5) = 4.12 Multicycle critical path: Tc = tpcq_ALUout + tmux + max(tALU + tmux, tmem) + tsetup write은 read보다 조금 걸리고 registe..
2023.10.10 -
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