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

[컴퓨터구조] 연습문제 3장 레포트

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

연습문제 3장

 

2

다음중 피연산자의 수를 줄이는 방법과 거리가 먼 것은?

스택

누산기

목적지 피연산자의 위치를 근원지 피연산자와 중첩

레지스터

 

: 4

풀이 : 피연산자의 수를 줄이기 위해 다음과 같은 방법등을 사용한다.

메모리 주소 대신 레지스터 주소로 피연산자 명시

근원지 피연산자 중 하나를 목적지 피연산자와 겸용

묵시적 피연산자 사용

스택 사용

레지스터를 사용하면 주소가 짧아지므로 성능 개선엔 도움을 주지만 직접적으로 피 연산자의 수를 줄여주지는 않는다.

 

4

CPU 내부에 기억장치를 추가할 때 나타나는 효과와 관계없는 것은?

메모리를 다시 참조할 필요성을 줄여줌

명령어의 길이 축소

데이터의 길이 축소

CPU와 메모리 사이의 트래픽 감소

 

: 3

풀이 : (강의자료 323쪽 참고) CPU 기억장치가 있다면 데이터 트래픽이 감소하고 메모리를 다시 참조할 필요성일 줄어준다. 또한 명령어 트래픽도 감소하는데 피연산자 필드가 짧아지면 명령어의 길이가 축소된다.

 

5

다음 중 폰노이만형 컴퓨터 연산자의 기능과 거리가 먼 것은?

제어 기능

연산 기능

참조 기능

전달 기능

 

: 3

풀이 : 폰 노이만형 컴퓨터의 연산자의 기능은 제어,전달,연산, 입출력 기능이다. 따라서 3번 참조 기능은 거리가 멀다.

 

7

 

메모리를 참조할 때 데이터의 주소를 명시하기 위한 버퍼는?

ACC

MDR

MBR

MAR

 

: 4

풀이 : MAR :프로세서가 참조하려는 데이터의 주소를 명시하여 메모리에 접근하는 버퍼 레지스터이다.

 

9

다음 명령어 중 종류가 다른 것은?

SUB

HLT

CAL

RET

 

: 1

풀이 : 1번은 뺄셈을 하는 연산명령, 나머지는 각각 종료, 호출, 복귀를 명령하는 제어 명령이다.

 

 

10

명령어의 길이가 2바이트라고 가정할 때 프로시저 호출 명령 ‘cal proc’의 의미는?

 

: 1IR M[PC]; PC PC + 2; TOS proc

풀이 : 명령어의 길이가 2바이트입니다. PC는 프로그램 카운터로 다음에 실행될 명령어의 주소를 가집니다.

예를 들어 지금 584번지에 있는 명령을 실행 중이라면 다음 명령어의 주소는 586번지 (2바이트)입니다.

그래서 PC2를 더해준 것이구요.

TOS(스택)proc를 넣어주면 스택 맨 위에 위치하게 되면서 프로시저가 호출됩니다.

이후에는 PC에 해당하는 다음 명령어가 실행됩니다.

 

11

다음에 수행할 명령어의 주소를 가르키는 레지스터의 이름은 무엇인가?

 

: PC

풀이 : Program Counter : 다음에 실행할 명령어의 주소를 보관하는 레지스터

12

 

5절의 메모리-메모리 컴퓨터와 가정이 동일할 때, y =ax^2 + b를 연산하는데 발생하는 총 메모리 트래픽은 얼마인가?

 

가정: 연산 부호 크기는 8bit

연산마다 최대 2개의 피연산자 필드

첫 번째 피연산자 필드는 근원지 및 목적지 겸용

메모리 주소는 16bit

데이터 크기는 32bit

 

: 64byte

 

 

16

[3-3]에서 104번지와 106번지의 기계어를 각각 4500, 2500으로 바꿀 때 대응하는 어셈블리어는 무엇인가? 가상 컴퓨터로 수정한 프로그램을 실행하면 메모리와 레지스터의 최종 내용은 무엇인가?

 

: M[500]0002가 저장된다.

 

풀이 : 104번지의 명령이 SUB 500 명령으로 바뀌는 것이고 106번지의 명령은 STA 500 명령으로 바뀌는 것이다.

 

17

명령어 인출 사이클에서 발생하는 작업을 기호를 사용하여 순서대로 나타내되 MARMBR에 대한 경유 과정도 포함하라, , 명령어의 길이는 4바이트이다.

 

: MAR<-M[PC]; MBR<-M[MAR]; IR<-M[MBR]; PC<-M[PC] + 4

 

풀이 : 명령어 인출 사이클에서는 명령어 인출과 해독이 이루어진다. CPU가 주기억장치로부터 저장된 명령어를 읽어오는 단계이다.

지막에 주소를 +4한 이유는 명령어의 길이가 4byte이기 때문이다.

728x90