본문 바로가기
학교 수업/컴퓨터구조

[컴퓨터구조] 연습문제 7장, 8장 레포트

by five-sun 2021. 12. 22.
728x90

7장 연습문제

 

1번 다음 중 다중 사이클 방식의 데이터 경로에 대한 설명으로 틀린 것은?

1) 다음 사이클을 위해 현재 내용을 임시 저장소에 저장해야 한다.

2) 메모리에 두 번 접근하기 위해 데이터 메모리와 명령어 메모리로 분할해야 한다.

3) 단일 사이클 방식에 비해 일반적으로 클록 사이클 시간이 짧다.

4) 단일 사이클 방식에 비해 파이프라이닝 기법에 더 적합하다.

 

: 2

풀이:

1) 다중 사이클 덧셈 장치는 하나의 전가산기를 동일한 명령어 수행 과정 중에 여러 번 사용할 수 있지만 플립플롭과 같은 저장장치가 필요하다.

2) 단일 사이클 방식은 한 사이클 동안 명령어 인출뿐만 아니라 데이터를 읽거나 쓰려면 메모리에 두 번 접근해야 하므로 메모리를 2개로 분할해야 한다.

3) 16비트 덧셈 장치를 기준으로 단일 = 16ns/ 다중 = 1ns 이다.

4) 여러 명령어가 중첩되어 실행되는 구현 기술인 파이프라이닝은 다중사이클에 더 적합하다.

 

2번 데이터 경로의 일부 컴퓨팅 자원은 2개 이상의 데이터가 입력될 수도 있는데, 이러한 경우 명령어가 제대로 실행될 수 없다. 이와 같은 문제점을 해결하려면 무엇이 필요한가?

1) 시프터 2) 버퍼

3) 멀티플렉서 4) 디멀티플렉서

 

: 3

풀이: 데이터 경로는 프로그램 계수기, 레지스터 파일, 연산 장치, 메모리 등으로 구성된다. 이 같은 구성 요소 외에도 이것들을 연결하기 위한 멀티플렉서, 부호확장기, 시프터 등과 같은 논리회로가 필요하다. 데이터 경로의 기본 골격은 여러 경우에 하나의 입력 단자에 다수의 입력이 주어져서 충돌이 발생하는데 이 문제는 멀티플렉서로 해결할 수 있다.

 

3번 다음 중 명령어 인출 과정과 가장 관련 있는 것은?

1) 프로그램 계수기 2) 레지스터 파일

3) 데이터 메모리 4) 연산장치

 

: 1

풀이: 명령어의 인출 과정은 다음과 같은 작업을 통해 실행할 명령어를 인출한다. PC가 가르키는 메모리의 내용인 명령어를 읽는다. PC가 다음 명령어를 가르키도록 PC의 내용을 갱신한다.

 

6번 다음과 같은 picoMIPS 명령어를 실행할 때 주어진 데이터 경로, 레지스터 파일, 메모리에 적절한 내용을 2진법으로 나타내라.

명령어: lw r3, r2, #1

 

풀이: I-형식의 명령어 형식은 op(4) rs(3) rt(3) imm(6) 과 같다. [4-6]을 참고하여 명령어를 이진법으로 작성하면 0100(op) 010(rs) 011(rt) 000001(imm) 이다.

1) 010(rs)

2) 011(목적지 레지스터로 rt와 동일)

3) 000001(imm )

4) 00000000 00000001(3번 레지스터의 내용)

5) 00000000 00000100(M[$rs + imm *1], 2번 레지스터 내용의 imm *2의 값을 더한 값)

6) 00000000 00000100( 5번의 내용)

7) 00000000 00000010( 2번 레지스터의 내용은 변화 없음)

8) 00000000 00000100( 명령어를 실행하면 6에 있는 내용을 2가 지시하는 레지스터에 저장하므로 5의 내용과 동일)

 

 

7picoMIPS 아키텍처에 mov라는 이동 명령어를 추가하고자 한다. 예를 들면 mov r1, r2r2의 내용을 r1에 저장하는 명령이다.

(1) 이와 같은 이동 명령을 picoMIPS에 추가하려면 단일 사이클 데이터 경로를 어떻게 수정해야 하는가? (힌트: add r1, r2, r3에서 r30이면 mov r1, r2,와 동일한 효과를 나타낸다.)

(2) 이동 명령어의 데이터 경로를 그림으로 나타내라(, 명령어 인출 단계와 레지스터 읽기 단계는 필요 없음.)

 

풀이: add 명령어를 실행할 때 데이터 흐름은 다음과 같다. ( add r1 r2 r3 )

rsrt의 내용을 ALU에서 더한다. 그리고 덧셈 결과를 rd가 지시하는 주소를 사용하여 레지스터 파일에 저장한다. 그동안 PC 갱신장치에서 계산한 세 가지 주소 중 순차적 실행을 위한 메모리 주소를 PC 레지스터에 저장한다.

제어신호에 따라 imm을 사용할 경우 imm값이 출력, mov와 같은 명령을 사용하고 싶을 땐 0값을 출력하는 멀티플렉서를 추가한다.

다음과 같이 데이터 경로를 수정했다.

1) r2의 주소를 받는다.

2) 목적지 r1의 주소를 받는다.

3) r1의 데이터를 받는다.

4) 제어신호에 따라 0을 출력한다.

5) ALU를 통해 r2 와 멀티플렉서를 거치고 나온 0을 더한 결과를 받는다.

6) r1이 지시하는 주소를 사용하여 레지스터 파일에 덧셈 결과를 저장한다.

이렇게 되면 문제가 요구하는 mov 연산과 비슷한 동작을 할 것으로 예상된다.

 

8장 연습문제

 

1번 다음 중 제어장치의 역할과 관계없는 것은?

1) 명령어 해독 2) 데이터 연산

3) 제어 신호 생성 4) 제어 신호 인가

 

: 2

 

풀이: 제어장치가 수행하는 기능을 정리하면 다음과 같다. 명령어 해독, 제어 신호 생성, 제어 신호 인가.

 

2번 메모리에서 가져온 명령어를 해독한 후 시스템 전체에 제어 신호를 제공하여 모든 기능장치가 명령어의 지시대로 동작하게 하는 컴퓨터의 구성 요소는?

1) 제어장치 2) 기능장치

3) 디코더 4) ALU

 

: 1

 

풀이: 제어장치는 메모리에서 명령어를 가져와 해독한 후 시스템 전체에 제어 신호를 보냄으로써 명령어의 지시대로 연산장치, 레지스터파일, 메모리, 입출력장치가 동작하게 한다.

 

3번 다음 중 제어장치의 입력과 가장 거리가 먼 것은?

1) 명령어 2) 데이터

3) 프로세서의 상태 4) 클록 신호

 

: 2

 

풀이: 제어장치는 명령어 외에도 프로세서의 상태와 클록펄스를 입력으로 받아들인다. 프로세서의 상태에 따라 각 기능장치에 보낼 제어 신호가 다를 수 있기 때문이다. 예를 들어, 외부장치에 인터럽트가 발생할 경우 인터럽트를 다음 명령어보다 우선적으로 처리해야 한다. 그리고 클록 펄스는 제어 신호가 데이터 경로에 동기화되어 적용되도록 한다.

 

6번 다음 중 마이크로 명령어의 구성 요소가 아닌 것은?

1) 마이크로프로그램 계수기 2) 마이크로 연산 필드

3) 분기 조건 4) 마이크로 명령어 주소

 

: 1

 

풀이: 마이크로 명령어는 다음과 같은 세 종류의 필드가 필요하다. 마이크로 연산 필드. 분기 조건 필드, 다음 마이크로 명령어 주소 필드.

 

8번 다음 중 수직적 마이크로 명령어와 관계없는 것은?

1) 하드웨어가 복잡하다.

2) 제어 저장소의 용량이 비교적 작다.

3) 지연 시간이 없어서 속도가 빠르다.

4) 디코더를 사용해야 한다.

 

: 3

 

풀이: 수직적 마이크로 명령어는 마이크로 연산 필드를 인코더로 압축하여 마이크로 명령어의 길이를 줄인 방식이다. 디코더를 사용하여 마이크로 연산 필드의 내용을 해독해야 데이터 경로의 제어점을 인가할 제어 신호가 된다. 마이크로 명령어의 길이가 짧아서 좁은 폭의 제어 저장소를 필요로 한다. 디코더를 사용해야 하므로 속도가 느리다. 수평적 마이크로 명령어에 비해 디코더를 사용해야 하므로 하드웨어가 좀 더 복잡하다.

 

10번 오늘날의 컴퓨터에서 사용하는 제어장치 구현 방식은 마이크로프로그래밍 방식 외에 조합 논리 회로를 사용하여 구현하는 ( 고정결선식 )이 있다.

 

: 고정결선식

 

풀이: 불규칙적이고 전역적인 제어회로는 고정결선식 제어 방식과 마이크로프로그래밍 제어 방식으로 구현할 수 있다. 고정결선식 제어장치는 조합 논리회로를 사용하여 구현하며, 마이크로프로그래밍 방식 제어장치는 PROM을 사용하여 필요한 제어 신호를 프로그래밍한다.

728x90