CPU 설계 실습(수업용) - 3장 CDECv의 마이크로 아키텍처(개요)

1673 단어 FPGAVerilogCPUHDL

3 장 CDECv의 마이크로 아키텍처 (개요)



CPU의 하드웨어적인 구조는 크게 나누어 데이터 패스부(Data Path Unit)와 제어부(Control Unit)의 2개의 요소로 구성됩니다.
CDECv도 그림 3.1과 같이 데이터 경로 부분과 제어 부분으로 구성됩니다.
제어부로부터 데이터 패스부에는 제어 신호(xdst, xsrc, FLGwe, Rwe, MEMwe, aluop)가 보내지고 있습니다.
또한, 데이터 패스부로부터는 기계어 명령의 코드(I)나 플래그 신호(SZCy)가 보내지고 있습니다.
클럭 신호 clock 및 리셋 신호 reset은 데이터 경로 부분과 제어 부분 모두에 공통으로 공급됩니다.



<그림 3.1 CDECv의 전체 구성(데이터 경로부와 제어부)>

데이터 패스부는 그 이름대로, 데이터를 교환하기 위한 경로를 실현한 회로입니다.
데이터 패스부에는, 범용 레지스터나 플래그 레지스터, 프로그램 카운터 등의 레지스터 세트와 메모리가 포함되고,
또한 산술 논리 연산을 수행하는 ALU와 명령을 실현하는 데 필요한 보조 레지스터 등도 포함됩니다.
이 경로를 따라 레지스터끼리나 메모리와 레지스터간의 데이터 전송이 행해지거나, 다양한 산술 논리 연산이 행해지거나 하는 것으로, 명령이 실현됩니다.

데이터 경로 부분의 동작은 제어기로부터의 제어 신호에 의해 제어됩니다.
표 3.1은 제어기에서 전송되는 제어 신호에 대한 간략한 설명을 보여줍니다.
제어 신호의 작동에 대한 자세한 내용은 다음 장에서 설명합니다.

<표 3.1 제어부로부터의 제어 신호>


제어 신호
설명


xdst[2:0]
데이터 전송 소스 지정

xsrc[2:0]
데이터 전송 대상 지정

FLGwe
FLG 레지스터에 쓰기 권한

Rwe
보조 레지스터 R에 대한 쓰기 권한

MEMwe
메모리에 쓰기 권한

aluop[3:0]
ALU의 연산 선택 신호


컨트롤러는 제어 신호를 생성하는 회로입니다.
명령을 실현하기 위해서는 적절한 타이밍에 적절한 제어 신호를 생성하여 데이터 경로부로 보내야 합니다.
이러한 제어 신호를 생성하는 기구는 상태 기계(스테이트 머신)로 실현할 수 있습니다.

어떤 제어 신호를 생성하는지는 실행하는 명령에 따라 달라집니다.
따라서 데이터 경로 부분에서 기계어 명령 코드와 플래그 신호를 받아야합니다 (표 3.2).

<표 3.2 데이터 경로 부분의 신호>


신호
설명


I[7:0]
기계어 명령 코드 (1 바이트)

SZCy[2:0]
플래그 신호

좋은 웹페이지 즐겨찾기