본문 바로가기

RISC-V CPU 설계

[RISC-V ] single-cycle CPU 설계

** 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)을 획기적으로 높이는 방법이다

 

처리량이란 ?  단위 시간에 처리할 수 있는 명령어의 개수를 말한다.