Computer Architecture 4

2021. 4. 2. 22:52Hi/Computer_Architecture

4.1 다음 명령어에 대해서 아래 질문에 답하라.

명령어 : AND Rd, Rn, Rm

: Reg[Rd] = Reg[Rn] AND Reg[Rm]

 

4.1.1 이 명령어를 실행하기 위해서 그림 4.10의 제어 유닛이 생성하는 제어신호들의 값은?

RegWrite

MemRoad

ALUMux

MemWrite

ALUop

RegMux

Branch

0

0

1(Imm)

1

ADD

X

0

ALUMuxALU 입력에서 Mux를 제어하는 제어신호.

0(Reg)면 레지스터 파일의 출력을 선택, 1(Imm)은 명령어로부터 즉시 ALU에 대한 두번째 입력을 선택.

RegMux는 레지스터 파일에 대한 데이터 입력에서 Mux 제어하는 제어신호.

0(ALU)ALU의 출력 선택. 1(Mem)은 메모리의 출력 선택.

XDon’t care 항이다.

 

4.1.2 이 명령어를 실행할 때 유용한 기능을 수행하는 자원(블록)?

Branch Add unit Registerswrite port 를 제외한 모든 자원(블록)이 유용하다.

 

4.1.3 출력을 만들기는 하지만 그 출력이 이 명령어 실행에는 사용되지 않는 자원(블록)? 또 아예 출력이 나오지 않는 자원(블록)?

출력을 만들지만 명령어 실행에는 사용되지 않는 자원(블록)Branch Add 와 레지스터의 Write port 이다.

아예 출력이 나오지 않는 자원(블록)은 없다. 모든 장치가 출력을 한다.

 

4.3 실행 명령어의 분포가 다음과 같다.

R-type

I-type

LDUR

STUR

CBZ

B

24%

28%

25%

10%

11%

2%

 

4.3.1 전체 명령어의 몇 %가 데이터 메모리를 사용하는가?

25% + 10% 이니 총 35%가 사용된다.

4.3.2 전체 명령어의 몇 %가 명령어 메모리를 사용하는가?

24% + 28% 이므로 총 52%가 사용된다.

4.3.3 전체 명령어의 몇 %가 부호확장 유닛을 사용하는가?

28% + 25% + 10% + 11% + 2% 이므로 총 76%가 사용된다.

4.3.4 부호확장 유닛의 입력이 필요 없는 사이클에서 부호확장 유닛은 무슨 일을 하는가?

각 클럭 사이클에서 부호확장 유닛이 계산되며, 전체명령어의 76%가 사용됨으로, 부호확장 유닛의 입력이 필요없는 사이클에서는 남은 명령어에 대해 아무런 일도 하지 않는다.

 

4.16 이 연습문제에서는 파이프라이닝이 프로세서의 클럭 사이클 시간에 어떤 영향을 미치는지 알아본다. 데이터패스의 각 단계는 다음과 같은 지연시간을 갖는다고 가정한다.

IF

ID

EX

MEM

WB

250ps

350ps

150ps

300ps

200ps

 

또 이 프로세서의 실행 명령어 분포는 다음과 같다고 가정한다.

ALU/Logic

Jump / Branch

LDUR

STUR

45%

20%

20%

15%

 

4.16.1 파이프라인 프로세서와 파이프라인되지 않은 포로세서의 클럭 사이클 시간은 얼마인까?

파이프라인 프로세서의 클럭 사이클 시간은 350ps이고,

파이프라인 되지 않은 프로세서의 클럭 사이클 시간은 250 + 350+ 150+ 300+ 200 = 1250ps이다.

4.16.2 파이프라인 프로세서와 파이프라인되지 않은 프로세서에서 LDUR 명령어의 전체 지연시간은 얼마인가?

LDUR 명령어는 5단계를 가지고 있으므로

파이프라인에서 지연시간은 5cyckes * 350ps/cycle = 1750ps이다.

파이프라인되지 않은 프로세서의 지연시간은 250 + 350+ 150+ 300+ 200 = 1250ps 이다.

4.16.3 파이프라인 데이터패스의 한 단계를 지연시간이 절반인 단계 두개로 나눌 수 있다면, 어떤 단계를 나누는 것이 좋을 것이며 이때 프로세서의 클럭 사이클 시간은 얼마가 되는가?

175ps 에서 두단계로 나누는 것이 좋을 것이며,

이때 프로세서의 클럭 사이클 시간은 300ps이다.

4.16.4 지연이나 해저드가 없다고 가정하면 데이터 메모리의 이용률은 얼마인가?

데이터 메모리는 LDURSTUR 명령만 사용하므로, 데이터 메모리의 이용률은 클럭 사이클의 35%이다.

4.16.5 지연이나 해저드가 없다고 가정하면 “Registers” 유닛의 Write register 포트의 이용률은 얼마인가?

“Registers” 유닛의 Write register 포트는 ALULDUR 명령어에서 활용되기에, 이용률은 클럭 사이클의 65%가 된다.

 

728x90

'Hi > Computer_Architecture' 카테고리의 다른 글

Computer Architecture 3  (0) 2021.04.02
Computer Architecture 2  (0) 2021.04.02
Computer Architecture 1  (6) 2021.04.02