** CPU 내부 하드웨어 설계 구조 = 마이크로 아키텍쳐 (microarchitecture)
>> <1> Instruction Fetch (F) <2> Decoding (D) <3> Execution (E)
<1> F = 메모리에서 명령어를 읽어 CPU 내부로 가져오는 단계
<2> D = 읽어온 명령어를 해석하는 단계
<3> E = 해석한 명령어를 실제로 실행하는 단계
그림 (a) 에서 보면
모든 과정이 '하나의 clock-cycle동안 이루어진다
>> single-cycle CPU는 명령어를 하나를 처리하는데 한 클럭이 걸리는 CPU이다.
그림 (b) 에서 보면
F, D, E 각 단계를 처리하는데 한 클럭 이 걸린다.
따라 서 하나의 명령어를실행하는데 3개의 clock cycle이 필요하다.
다시 말하면 각단계를 물리적으로 나 누어 구현하는 방식인데, 이것을 pipeline이라고 부른다.
이렇게 명령어를 처리하는 전 과정이 3단계 로 이루어져 있으면 3-stage pipeline을 갖는 CPU라고 말한다.
성능 : single-cycle < pipeline
>> Pipelined CPU에서는 물리적으로 분리된 모든 단계 (F,D,E)를 '동시'에 사용 할 수 있다.
ex) 특정 시간에서 보면 clock cycle #3 //
[1] 첫 번째 명령어 lw x4, 0(x7))가 E 단계
[2] 두 번째 명령어 lw x5, 4(x7))는 D 단계
[3] 세 번째 명령어 add x6, x4, x5는 F 단계에 있다.
이렇게 하면 3-stage pipelined CPU는 single-cycle CPU와 비교해 최 대 3배 빠른 주파수로 동작할 수 있다.
single-cycle CPU이 100MHz로 동작한다고 가정하면, pipelined CPU의 최대 동작 가능 219 Chapter 5 32-bit RSC-V CPU 설계 주파수는 3배 빠른 300MHz가 된다.
주파수를 높일 수 있는 이유는 하나의 클럭에서 ‘하나의 단계’만 처리하기 때문이다
즉 pipeline은 처리량( throughput)을 획기적으로 높이는 방법이다
처리량이란 ? 단위 시간에 처리할 수 있는 명령어의 개수를 말한다.
'RISC-V CPU 설계' 카테고리의 다른 글
[RISC-V] CPU Architecture : Harvard Architecture 하버드 아키텍쳐 / von Neumann 폰노이만 아키텍쳐 (1) | 2024.05.24 |
---|---|
[RISC-V ] single-cycle CPU 설계 / pipeline 소개 (0) | 2024.05.24 |
[RISC-V] 4.2 순차회로 : Enable D flip-flop , set/reset D flip-flop (0) | 2024.05.22 |
[RISC-V] 4.2 순차회로 : flip-flop ?? (0) | 2024.05.22 |