Computer/Architecture

Multicycle

Detacher 2012. 7. 23. 09:18



주요상태소자

PC, 레지스터파일, 메모리


임시레지스터(매 클럭사이클마다 쓰기가 행해짐)

A, B, MDR, ALUOut, IR


하나의 ALU와 두개의 덧셈기 대신, 하나의 ALU 쓰임.

클럭사이클 끝에는 이후 클럭사이클에 쓰이는 모든 데이터를 저장할 상태소자(레지스터파일, PC, 메모리)가 존재.

기능유닛(메모리, 레지스터파일, ALU)들 중 하나에 의해 만들어진 데이터는 후속 사이클에서 사용을 위해 임시레지스터에 저장.


명령어 읽기와 데이터 읽기를 위해 메모리출력을 저장하기 위해 각각 Instruction Register(IR)와 메모리 Memory Data Register(MDR) 추가.

(IR과 MDR은 각 사이클당 동시에 필요)

레지스터파일에서 읽은 레지스터 피연산자 값을 저장하기위해 A레지스터, B레지스터가 사용.

(A,B레지스터는 쓰여진 바로 다음사이클에 한번만 읽혀짐)

ALUOut 레지스터는 ALU의 출력을 저장.


ALU 앞에는 MUX 두개, 하나는 PC와 reg.A 선택(2-input), 다른 하나는 Reg.B, 4(PC증가), sign-extend, sign-extend+shift-left-2 (4-input) 

이후 ALU에서 연산후 ALUOut레지스터로 ALU의 출력을 저장

'Computer > Architecture' 카테고리의 다른 글

Datapath - PC  (0) 2012.07.22
MIPS Reference  (0) 2012.07.22
C언어 -> MIPS instruction  (0) 2012.07.22
Arithmetic  (0) 2012.07.20
Imm, unsigned  (0) 2012.07.20