본문 바로가기
Study/컴퓨터 구조

[WEEK3] 명령어를 효과적으로 실행하기 위한 기법

by cbqnk9 2020. 5. 22.

[WEEK3]명령어를 효과적으로 실행하기 위한 기법.pdf
0.44MB

문제

1.다음 주소의 정의 내용와 표기 방법이 바르게 연결되지 않은 것은?

①유효 주소 - EA

②기억장치 주소 - M

③레지스터 번호 -R

 

2. 다음 중 데이터 인출을 위해 기억장치에 접근하지 않는 방식은?

①직접 주소지정 방식

②레지스터 주소지정 방식

③상대 주소지정 방식

④베이스 레지스터 주소지정 방식

 

3. 주소 지정 방식 중 아래 설명하는 방식은?

-오퍼랜드 필드에 유효 주소의 주소가 저장되는 방식

-실제 데이터를 가져오기 위해 메모리를 2번 이상 참조해야 함

①간접 주소지정 방식

②레지스터 주소지정 방식

③레지스터 간접 주소지정 방식

④상대 주소지정 방식

 

4. 빈칸에 알맞은 말을 쓰시오

1)CPU프로그램 처리 속도를 높이기 위해 명령어를 여러 단계로 나누어 동시에 처리하는 기술을 (  ①   )라고 함

2)6단계 ( ① )은 4단계 ( ① )에서 ( ) ( )2단계가 추가된 것임

 

  ①                   ②                      ③                      

 

5. 6단계 명령어 파이프 라인의 6단계를 쓰시오

 

-

 

6~8 다음 문제를 계산하시오


파이프 라인 단계 수 = 4

실행할 명령어들의 수 = 20

파이프라인 클록 = 1MHz(각 파이프라인 단계에서의 소요시간 = 1 ㎲)


6. 파이프 라인에 의한 전체 명령어 실행 시간을 구하시오

 

 

7. 파이프 라인이 되지 않은 경우의 명령어들의 실행 시간을 구하시오

 

 

8. 파이프 라이닝에 의한 속도 향상은 몇 배인지 구하시오(소수점 둘째 자리에서 반올림 하시오)

 

9.  오퍼레이터(operator)나 타이머(timer)에 의해 의도적으로 프로그램이 중단된 경우 발생하는 인터럽트는?

①기계 착오 인터럽트

②외부 인터럽트

③프로그램 검사 인터럽트

④타임 인터럽트

 

10.인터럽트 요구가 대기중인 경우 일어나는 일을 모두 고르시오

①다음 명령어를 인출하는 사이클 수행

②인터럽트 사이클에 의해 현재 프로그램의 실행을 중단함

③프로그램 상태를 저장

④프로그램 카운터를 인터럽트 처리 루틴의 끝 주소로 설정하고 인터럽트 처리

 

정답

더보기

1. ②기억장치 주소 - M

-기억장치 주소는 A로 표시한다

2. ②레지스터 주소지정 방식

-레지스터 주소지정 방식은 CPU내의 레지스터에 연산에 사용할 데이터가 저장되어 있어 데이터 인출을 위해 기억장치에 엑세스 할 필요가 없다.

3. ①간접 주소지정 방식

-위의 설명은 간접 주소지정 방식에 대한 설명이다.

4. 파이프 라인 /CO단계(오퍼랜드 계산 단계)/WO(오퍼랜드 저장 단계) -> 2,3순서 바뀌어도 상관 없음!

5. 명령어 인출, 명령어 해독, 오퍼랜드 계산, 오퍼랜드 인출, 명령어 실행, 오퍼랜드 저장

6.

T = k + (N – 1)

-> 4 + (20 - 1) = 23

7.

T’ = k* N

-> 4 * 20 = 80

8.

파이프라이닝에 의한 속도 향상 = T' / T

80 / 23 -> 약 3.5

9. ②외부 인터럽트

-위의 설명을 외부 인터럽트에 대한 설명이다.

10. ②, ③

①다음 명령어를 인출하는 사이클 수행

-> 인터럽트 발생이 없는 경우

④프로그램 카운터를 인터럽트 처리 루틴의 끝 주소로 설정하고 인터럽트 처리

->처리 루틴의 시작 주소로 설정함

 

참고