연습문제풀이/도움말.

Slides:



Advertisements
Similar presentations
1 Prof. Young Jin Nam, Daegu University 컴퓨터 구조 (Computer Architecture) 명령어 세트 : 특성과 기능 남영진
Advertisements

1/37 Chapter 4: 프로세서 성능과 휴대성을 위한 하드웨어 © The McGraw-Hill Companies, Inc., 세기의 가장 중요한 발명품 : 마이크로 프로세서 일상생활에 널리 사용됨 프로그램에 의한 적응성.
컴퓨터의 구조 2006년 2학기 컴퓨터의 개념 및 실습.
Understanding of Ubiquitous & Computers Plus
마이크로 컨트롤러 Microcontroller.
2007년 1학기 전산학개론 성신여자대학교 컴퓨터정보학부
제8장. RISC 및 슈퍼스칼라 프로세서 8.1 RISC의 출현 동기 8.2 RISC의 발전 경위
제4장 명령어 처리.
1.1 병렬처리의 한계와 가능성 1.2 병렬처리의 단위 1.3 병렬컴퓨터의 분류 1.4 병렬컴퓨터의 성능 척도
2장 마이크로프로세서 구성요소 Slide 1 (of 19).
제 2장 컴퓨터 구조.
9장 가로채기(Interrupt) Slide 1 (of 15).
13장. 시스템 버스 다루는 내용 시스템 버스의 개념 다중버스 계층 구조 버스 중재.
기본 컴퓨터의 구조와 설계 Lecture #5.
하드웨어 3 : RAM.
마이크로프로세서(Microprocessor,µP)
CPU (central Processing Unit)
컴퓨터 과학 개론 √ 원리를 알면 IT가 맛있다 컴퓨터 과학도를 위한 첫 전공서 ehanbit.net.
기본 컴퓨터 프로그래밍 Lecture #6.
컴퓨터 과학 개론 √ 원리를 알면 IT가 맛있다 컴퓨터 과학도를 위한 첫 전공서 ehanbit.net.
2 Part 전자계산기 구조 1. 논리 회로 2. 자료 표현 및 연산 3. 명령어 및 프로세서 4. 명령 수행 및 제어 5.
3.1 기억장치와 저장장치의 구분 3.2 기억장치 3.3 자기 저장장치 3.4 광 저장장치 3.5 백업의 중용성
3장. 컴퓨터의 기억장치 학번 : 이름 : 김현화.
3장 MPU 내부구조 Slide 1 (of 28).
임베디드 하드웨어 Lecture #6.
컴퓨터 구조학 정보보호학과.
컴퓨터 구조론 2001년 10월 22일 발표자 황영선.
Lecture #10 제8장 병렬컴퓨터 구조.
제8장 병렬컴퓨터 구조.
14장. 병렬 프로세서 다루는 내용 병렬 프로세서로의 개념 병렬 처리와 병렬 컴퓨터 분류 배열 프로세서와 다중 프로세서의 개념
DSP와 TMS320F28x의 이해.
6장. 기 억 장 치 Lecture #6.
제4장. 제어 유니트 4.1 제어 유니트의 기능 4.2 제어 유니트의 구조 4.3 마이크로 명령어의 형식
7장 마이크로프로세서의 명령어수행과 주소지정 방식 Slide 1 (of 29).
출처: IT CookBook, 컴퓨터 구조와 원리 2.0 제 12장
컴퓨터 구조.
컴퓨터 중앙처리장치, 기억장치, 입력장치 및 출력장치를 알아보자.
Chapter 02 시스템 구조(System Structure)
1 컴퓨터 시스템 소개.
4장. 컴퓨터 시스템의 구성과 기능 다루는 내용 컴퓨터 분해를 통한 본체 살펴보기 컴퓨터 구성요소 컴퓨터의 기능
직업 형태 변화 과정 일자리의 변화 ERP (Enterprise Resource Planning) 구분 18~19 세기
9장. 중앙처리 장치의 조직과 기능 다루는 내용 컴퓨터 본체에서 CPU의 위치 살펴보기 CPU의 성능, 기능, 조직
Chapter 10. Interrupt.
1 마이크로프로세서의 원리 마이크로컨트롤러 AVR ATmega128.
Chapter 7. Pentium Processor
Chapter 08 제어장치와 마이크로 오퍼레이션.
정보(information) 데이터(data) 어떤 사물에 대한 소식이나 자료 가공된 데이터

6 중앙처리장치의 조직과 기능 IT CookBook, 컴퓨터 구조와 원리 2.0.
Chapter 06 명령어와 번지지정 방식.
3주 컴퓨터구조.
8086 프로세서의 구조 및 동작 방식 시스템 프로그래밍 - Lecture #2 신라대학교 컴퓨터공학과 시스템 프로그래밍.
제 2장 컴퓨터동작의 기본 개념.
아날로그 VS 디지탈 -. Analog Vs Digital -. 디지털 논리에 대하여 -. 메모리에 대하여
10장. 중앙처리 장치의 명령어 다루는 내용 어셈블리 프로그램의 이해 인터럽트(interrupt) 명령어 세트 주소 지정 방식.
Computer System Architecture
CHAPTER 03. 컴퓨터 구조 컴퓨터 시스템의 구성과 동작 원리_컴퓨터 시스템에 대한 근본적 이해
Chapter 4 The Von Neumann Model.
컴퓨터 시스템 개관 시스템 프로그래밍 - Lecture #1 신라대학교 컴퓨터공학과 시스템 프로그래밍.
제19강 병렬처리시스템 1.
Computer System Architecture
6-1 중앙 처리 장치의 내부 구조 6-2 명령(instruction) 6-3 주소 지정 방식
1 컴퓨터 구조 IT CookBook, 컴퓨터 구조와 원리 2.0.
1. 컴퓨터 시스템 구성요소 메모리(Memory) 캐시메모리 개념 캐시메모리의 특징 적중률(hit ratio)
Chapter 12 Memory Organization
Lecture #6 제5장 기억장치 (1).
9장. 중앙처리 장치의 조직과 기능 다루는 내용 컴퓨터 본체에서 CPU의 위치 살펴보기 CPU의 성능, 기능, 조직
Lecture #5 제4장. 제어 유니트.
임베디드 하드웨어 Lecture #6.
Lecture 7 7-Segment LED controller using u-controller
Presentation transcript:

연습문제풀이/도움말

1장 연습문제 1. 중앙 처리 장치를 구성하는 요소가 아닌 것은? ① 제어장치 ② 레지스터 ③ 산술논리 연산장치 ④ 직접 기억장치 액세스 2. 산술논리 연산 장치에서 수행할 수 없는 연산은 무엇인가? ① OR ② Z변환 ③ 곱셈 ④ AND 3. 다음의 기억장치 중에서 메모리 액세스 속도가 가장 빠른 것은? ① 하드 디스크 ② CD-ROM ③ 플로피 디스크 ④ RAM 4. 출력장치가 아닌 것은? ① 스캐너 ② 프린터 ③ 모니터 ④ 스피커 5. 다음 중에서 시스템 소프트웨어에 해당하는 것은? ① 워드 프로세서 ② 윈도우 XP ③ 스프래드 쉬트 ④ 웹 브라우저 6. 8비트로 표현할 수 있는 이진수는 몇 개 인가?

1장 연습문제 7. MSB(Most Significant Bit)와 LSB(Least Significant Bit)를 설명하여라. 8. 10진수 11을 16진수로 표현하면 얼마인가? ① 11 ② F ③ A ④ 100 9. 8진수 10을 10진수로 표현 하면 얼마인가? ① 8 ② 9 ③ 01 ④ 10 10. 다음에서 2진수로 표현된 것은? ① 1012 ② 1911 ③ 0100 ④ F0 11. 다음은 컴퓨터 세대별 하드웨어 특징을 나타낸 것이다. 아닌 것은? ① 2세대 – 트랜지스터 ② 4세대 – VLSI ③ 1세대 – 진공관 ④ 3세대 – 집적회로 12. 하나의 시스템 내에 상호 연결된 수백 혹은 수천 개 이상의 프로세스들을 포함하고 있는 컴퓨터 시스템을 무엇이라고 하는가?

1. ④ 2. ② 3. ④ 4. ① 5. ② 6. 2^8 = 256 개 7. MSB : 최상위 비트, LSB : 최하위 비트 1장 연습문제 답 1. ④ 2. ② 3. ④ 4. ① 5. ② 6. 2^8 = 256 개 7. MSB : 최상위 비트, LSB : 최하위 비트 8. ③ 9. ① 10 ③ 11 ② 12 병렬 컴퓨터

2. 다음 부울 함수식을 논리회로를 이용하여 구성하시오 2장 연습문제 다음 부울 함수식을 간략화하시오 2. 다음 부울 함수식을 논리회로를 이용하여 구성하시오

2장 연습문제 3. Karnaugh Map을 간략화 하시오 4. Karnaugh Map을 간략화 하시오

2장 연습문제 5. 반가산기의 Carry와 Sum의 함수식을 구하시오. 6. 다음 회로의 진리표를 작성하시오 7. R-S, D, J-K, T 플립플롭의 특성표를 작성하고, 각각의 플립플롭의 특징을 적으시오.

2장 연습문제 답 1.1 1.2 1.3 1.4

2장 연습문제 답 2 3

2장 연습문제 답 4 5

2장 연습문제 답 6 A B C D X 1

2장 연습문제 답 Q R S Q(t+1) J K 1 불능 7 Q D Q(t+1) T 1

2장 연습문제 답 7 R-S 플립플롭은 래치에 입력 게이트를 추가하여 플립플롭이 클럭 펄스가 발생하는 동안에만 동작하도록 만든 순차 논리회로이다. D 플립플롭은 R-S 플립플롭의 변형된 형태이다. R, S에 동시에 1이 입력되는 것을 회로적으로 차단한 플립플롭이다. J-K 플립플롭은 R-S 플립플롭의 불능 상태를 해결 하기 위한 순차 논리회로이다. J-K의 입력이 동시에 1이 입력되면 출력은 입력의 보수로 바뀌게 된다. T 플립플롭은 J-K 플립플롭의 두개의 입력을 하나로 묶은 플립플롭이다.

3장 연습문제 1. 산술논리연산장치(Arithmetic & Logic Unit : ALU)의 구성장치가 아닌 것은? ① 윈도우 레지스터 ② 쉬프트 레지스터 ③ 보수기 ④ 상태 레지스터 2. 다음은 진법 변환에 관한 질문이다. 물음에 답하여라. (1). 다음의 수를 십진수로 변환하여라. (11101)2, (11F)16 (2). 다음의 수를 2진수로 변환하여라. (52)10, (A27)16 (3). 다음의 수를 16진수로 변환하여라. (10110110)2 (450)10 3. 컴퓨터 연산에서 사용되는 보수(complement)는 어떤 목적으로 사용되는가? 4. 다음 이진수들의 1의 보수와 2의 보수를 각각 구하시오. (11011), (1111 0011), (1010 0010 1011)

3장 연습문제 5. 다음은 부동소수점의 수의 변환에 관한 질문이다. (1) 다음의 십진수를 이진수로 변환하여라. (8.9375), (128.125) (2) 다음의 이진수를 십진수로 변환하여라. (1101.0001), (110.111) 6. 다음의 수를 2의 보수를 사용하여 부호 있는 2진수로 변환하여라. (-16), (-450) 7. 다음의 2의 보수로 표현된 이진수를 십진수로 변환하여라. (0011 1001), (1100) 8. 다음의 2의 보수로 표현 이진수를 8비트로 비트 확장하여 표현하여라. (1001), (0101) 9. 컴퓨터는 실수를 표현하기 위하여 부동 소수점 데이터 형식을 사용한다. 부동 소수점 형식의 3요소를 열거하시오.

3장 연습문제 10. 다음 부동소수점의 수에 대하여 물음에 답하여라. 0.01101 × 26 (1) 정규화된 표현 방법으로 표현하여라. (2) IEEE754 표준으로 표현하여라. 11. 2의 보수를 이용하여 이진수들의 연산을 계산하여라. (1)0100 0001+1010 0101 (2)111000-110011 (3)11001100-11101110 (4)10101010+11110011 12. 부호 없는 이진 부동소수점의 수가 다음과 같이 주어졌다. 물음에 답하여라. A = (0.10101 × 25), B = (0.1011 × 24) (1) A + B를 구하여라. (2) A - B를 구하여라. 13. 이진 데이터 1000 0001를 10111101로 수정하려고 한다. 필요한 논리연산은 무엇인가? 그리고 수정과정을 보여라. 14. 이진 데이터 1001 0011를 산술적 우측-쉬프트를 두 번 수행하였을 때의 값을 구하여라.

3장 연습문제 답 1. ① 2. (1) (11101)2 = (29)10, (11F)16 = (287)10 2. (2) (52)10 = (110100)2, (A27)16 = (101000100111)2 2. (3) (10110110)2 = (B6)16, (450)10 = (111000010)2 = (1C2)16 3. 컴퓨터에서는 이진수의 음수 표현 방법으로 보수를 사용한다. 4. (11011) : 1의 보수 = (00100), 2의 보수 = (00101) (1111 0011) : 1의 보수 = (0000 1100), 2의 보수 = (0000 1101) (1010 0010 1011) : 1의 보수 = (0101 1101 0100), 2의 보수 = (0101 1101 0101) 5. (1) (8.9375)10 = (1000.1111)2, (128.125)10 = (10000000.001)2 5. (2) (1101.0001)2 = (13.0625)10, (110.111)2 = (6.875)10 6. (16)10 = (0001 0000)2 ⇒ (-16)10 = (1111 0000)2 (450)10 = (0001 1100 0010)2 ⇒ (-450)10 = (1110 0011 1110)2

3장 연습문제 답 7. (0011 1001)2 = (57)10 (1100)2 = -(0100)2 = (-4)10 8. 1001 ⇒ 11111001, 0101 ⇒ 00000101 9. 부호필드, 가수(significand)필드, 지수(exponent)필드로 구성된다. 10 (1) 정규화된 표현 : 0.1101 × 25 10. (2) IEEE754 표준 : 1.101 × 24 11. (1) 1110 0110, (2) 000 101, (3) 1101 1110, (4) 1 1001 1101 12. (1) 10.0000 × 24 , (2) 0.1010× 24 13. 선택적-세트(selective-set) 연산을 수행한다. OR 연산을 수행하기 위한 값은 0011 1100을 선택한다. 14. 1000 0100

4장 연습문제 1. 컴퓨터 구조(architecture)와 컴퓨터 조직(organization)를 정의하여라. 2. 컴퓨터의 기본적인 기능(function)을 나열한 것이다. 아닌 것은? ① 데이터 처리(Data processing) ② 데이터 저장(Data storage) ③ 데이터 삭제(Data delete) ④ 제어(Control) 3 시스템 소프트웨어의 종류를 나열하시오. 4. 운영체제의 두 가지 기능을 나열하여라. 5. 운영체제의 자원관리에는 어떤 것들이 있는가? 6. ROM BIOS 명령어는 컴퓨터를 켰을 때 주요 운영체제 파일을 찾는데 사용된다. 이들 명령어는 컴퓨터를 껐을 때도 계속 남아 있다. 이 명령어와 같은 역할을 하는 것을 무엇이라고 하는가? 7. 컴퓨터의 기본적인 하드웨어 구성요소에는 어떤 것들이 있는가? 8. 컴퓨터의 명령어의 4단계 수행과정을 순서대로 나열하여라. 9. 일반적으로 기억장치에 저장되지 않는 것은 무엇인가?

4장 연습문제 10. 시스템 소프트웨어인 운영체제의 프로세스관리와 하드웨어에서의 프로세서를 정의하여라. 11. 컴파일러(compiler)와 어셈블러(assembler)를 설명하여라. 12. 기계명령어 형식에서 오퍼랜드(operand)의 역할을 설명하여라. 13. 주기억 장치에 기억되어 있는 프로그램 명령어를 호출하는 과정을 무엇이라고 하는가? 14. CPU 클럭이 500㎒이면, 명령어 인출 사이클의 시간은 얼마인가? 15. 시스템 버스에는 세 종류의 버스가 존재한다. 무엇인가? 16. 시스템 버스에서 양방향성이 아닌 버스는 무엇인가? 17. 주소버스의 비트수가 8비트라고 하면, 최대 기억장치의 용량은 얼마인가?

18. 데이터 전송버스에서, 데이터 전송 폭이 16비트이고 버스의 클럭이 50MHz 일 때의 전송속도는 얼마인가? 4장 연습문제 18. 데이터 전송버스에서, 데이터 전송 폭이 16비트이고 버스의 클럭이 50MHz 일 때의 전송속도는 얼마인가? 19. 제어버스를 통해서 전달되는 신호들은 무엇이 있는가? 20. 시스템 버스에 직접 연결되어 데이터를 전송하는 하드웨어는? ① 주기억 장치 ② 키보드 ③ CD-ROM ④ 프린터 21. 입출력 장치 제어기의 역할은 무엇인가? 22. 입출력 장치 제어기의 두 레지스터에 대하여 설명하여라. 23. 보조기억장치가 CPU로 데이터를 전송하는 단위를 무엇이라고 하며, 그 크기는 얼마인가?

4장 연습문제 답 1 컴퓨터 구조(architecture) : 컴퓨터 기본적 특성들 중에서 명령어 세트, 데이터 표현에 사용되는 비트의 수, 입출력 메커니즘, 주소지정(addressing) 방식등과 특성을 말한다. 응용 프로그램을 작성하기 위해서는 알려져야 하는 특성들이다. 컴퓨터 조직(organization) : 컴퓨터 구조(architecture)의 특성들을 구현하는 방법이다 2. ③ 3. 운영체제, 유틸리티, 장치 드라이버, 컴퓨터 프로그래밍 언어 4.자원관리 및 컴퓨터 사용자의 인터페이스 제공 5. 프로세스란 현재 컴퓨터의 기억장치에서 수행 중인 프로그램의 상태를 말하는데 이것에 관하여 관리를 수행한다. 이것을 프로세스(PROCESS) 관리라 한다. 운영체제는 이런 프로세스의 생성, 삭제, 동기화 등에 관여하다. 다음으로 주기억 장치 관리를 통해서 주기억 장치의 할당과 회수를 관리한다. 그리고, 보조기억 장치의 사용을 관리하며, 입출력 장치를 관리한다. 마지막으로 파일 관리를 통해서 기억 장소의 할당, 빈 공간의 관리, 디스크의 스케줄링 등을 담당한다. 6. 펌웨어 7. 중앙처리장치, 주기억 장치, 입출력 장치, 보조기억장치 8. 명령어 인출, 명령어 해독, 명령어 실행, 프로그램 카운터 증가

4장 연습문제 답 9. 제어신호 10. 프로세스란 현재 컴퓨터의 기억장치에서 수행 중인 프로그램의 상태 중앙처리장치는 프로세서(processor)라고도 한다 11. 컴파일러(compiler)는 인간이 작성하기 쉬운 고급언어 프로그램을 하드 웨어가 이해할 수 있는 기계어 프로그램으로 번역하는 소프트웨어이다. 그리고 어셈블러(assembler)는 어셈블리 프로그램을 이진수의 기계어 프로그램으로 번역하는 소프트웨어이다. 12. 오퍼랜드(operand)는 적재될 데이터가 저장된 기억장치 주소 혹은 연산에 사용될 데이터비트이다. 13. 명령어 인출 14. 15. 주소버스, 데이터버스, 제어버스 16. 주소버스 17. 2^8 = 256 18. 16bit → 2byte, 2byte × 50,000,000Hz = 100,000,000byte/sec

4장 연습문제 답 19. 기억장치 읽기/쓰기(Memory Read/Write) 신호, I/O 읽기/쓰기(I/O Read/Write) 신호 전송 확인(transfer acknowledge), 버스 요구(bus request), 버스 승인(bus grant), 인터럽트 요구(interrupt request), 인터럽트 확인(interrupt acknowledge), 클럭(clock), 리셋(reset)등이 있다. 20. ① 21. CPU로부터 입출력 명령을 받아서, 해당 입출력 장치를 제어하고 데이터를 이동시키는 명령을 수행하는 전자회로 장치이다. 22. 상태 레지스터는 입출력장치의 현재 상태를 나타내는 비트들을 저장한 레지스터이다. 준비 상태(RDY) 비트, 데이터 전송확인(ACK) 비트가 해당 상태를 표시해준다. 준비상태 비트가 1로 세트 되며, 입출력 장치가 데이터를 CPU로 송수신 할 준비가 되었음을 나타낸다. 입출력 장치가 CPU로 데이터의 송수신이 완료되면 데이터 전송확인 비트가 1로 세트 된다. 데이터 레지스터는 CPU로부터 입출력 장치간에 이동되는 데이터를 일시적으로 저장하는 레지스터이다. 23. 보조기억장치의 경우는 블록단위로 전송이 이루어진다. 블록의 크기는 512바이트, 1024바이트, 4096바이트로 큰 값을 갖는다.

5장 연습문제 기억장치의 계층 구조에 대해 설명하시오. 2. 캐시 기억장치를 사용하는 목적에 대해 설명하시오. 2. 캐시 기억장치를 사용하는 목적에 대해 설명하시오. 3. 캐시 기억장치의 동작 원리를 설명하고, 캐시 기억장치가 없는 시스템과의 차이점을 설명하시오. 4. 캐시 기억장치는 3가지의 사상 방식을 사용한다. 각각의 사상 방식에 대해 설명하시오. 5. 최근의 컴퓨터 시스템은 1개 이상의 캐시 기억장치를 갖는 계층적 캐시 구조를 갖는 경우가 대부분이다. 계층적 캐시 구조에 대해 설명하시오. 6. L1, L2 두개의 캐시 기억장치를 사용하는 시스템에서 L1의 접근시간이 10ns, L2의 접근시간이 40ns, 주기억장치의 접근시간이 250ns이고, L1의 적중률이 0.85, L2의 적중률이 0.90일 때 평균 기억장치의 접근 시간을 구하시오. 7. 다수의 CPU를 사용하는 다중 프로세서 시스템에서 데이터의 불일치가 발생하는 경우에 대하여 설명하시오. 8. 다중 프로세서 시스템에서 데이터의 불일치로 인하여 프로그램이 정상동작을 하지 못하게 된다. 이러한 데이터의 불일치를 방지할 수 있는 방법에 대해 설명하시오.

5장 연습문제 답 1. 2.중앙처리장치는 매우 빠른 속도로 동작한다. 이에 반해 주변의 기억장치들은 중앙처리장치에 비해 빠르게 동작하지 못한다. 따라서 주기억장치에 비해 5~10배의 빠른 접근 속도를 제공하는 기억장치인 캐시 기억장치를 이용하여 중앙처리장치와 기억장치 사이의 속도차이를 극복하여 시스템을 효율적으로 동작하게 하는데 있다. 3. 캐시 기억장치가 없는 시스템에서는 중앙처리장치는 명령어를 실행할 때 마다 주기억장치에 직접 접근하여 명령어와 필요한 정보를 얻게 된다. 캐시 기억장치가 있는 시스템의 경우 중앙처리 장치가 기억장치를 참조할 필요가 있을 경우 주기억장치를 먼저 조사하지 않고 캐시 기억장치를 먼저 조사한다. 중앙처리장치가 명령어를 처리하기 위해 캐시 기억장치에 접근하여 그 내용을 찾았을 때 적중(hit)이라고 하고, 찾지 못하였을 경우를 실패(miss)라고 한다.

5장 연습문제 정답 4. 직접사상(direct mapping) - 직접사상은 용량이 작은 RAM을 캐시 기억장치로 사용하는 가장 간단한 방법이다. 주기억장치의 블록이 특정 라인에만 적재 될 수 있기 때문에 캐시의 적중 여부는 그 블록이 적재 될 수 있는 라인만 검사해보면 된다. 직접사상 방식은 사상 방식이 간단하고 비용이 저렴한 장점이 있지만 주기억장치의 블록이 적재 될 수 있는 라인이 하나 밖에 없기 때문에 만약 프로그램이 동일한 라인에 적재되는 두 블록들을 반복적으로 액세스하는 경우 캐시 실패율이 매우 높아진다. 연관사상(associative mapping) - 연관사상은 주기억장치의 블록이 캐시의 어느 라인에든 적재될 수 있어 직접사상에서 발생하는 단점을 보완했다. 그러나 적중 검사가 모든 라인에 대해서 이루어져야 하므로 검사 시간이 길어진다. 또한 캐시 슬롯의 태그를 병렬로 검사하기 위해서는 매우 복잡하고 비용이 높은 회로가 필요하다. 집합 연관사상(set-associative mapping) - 직접사상과 연관사상 방식을 조합한 방식이다. 직접사상의 경우 주기억장치의 주소 번지와 캐시 기억장치의 주소가 일치하는 영역에만 데이터와 태그가 저장되게 된다. 따라서 하나의 주소번지에는 다른 두 개의 데이터를 공유할 수 없는 단점이 있다. 5. 계층적 캐시는 온-칩 캐시를 1차 캐시(L1)로 사용을 하고 칩 외부에 더 큰 용량의 오프-칩 캐시를 2차 캐시(L2)로 설치하는 방식이다. CPU의 한정된 공간에는 수 많은 부품들이 포함되기 때문에 온-칩 캐시 기억장치인 L1의 크기는 제한될 수 밖에 없다. 하지만 CPU 외부에 위치하는 L2의 크기는 상대적으로 L1보다 더 많은 용량을 가질 수 있다. L2는 주기억장치의 일부 내용을 저장하고 L1은 L2 내용의 일부를 저장한다. 따라서 L2는 L1의 모든 정보를 포함하고 있다. 6. (0.85*10)+(0.90-0.85)*40 + (1-0.90)*250 = 35.5ns

5장 연습문제 답 7. 즉시 쓰기(write-though) 정책에서의 데이터의 불일치 상태 단일 시스템 버스에 3개의 CPU가 접속된 방식이 있고 즉시 쓰기 정책을 적용한다고 할 때 CPU 1과 CPU2가 주기억장치로부터 D라는 데이터를 읽어 오게 된다. 이렇게 되면 CPU 1, CPU 2, 주기억장치는 D라는 동일한 데이터를 갖게 된다. 이때 CPU 1이 프로그램을 실행하여 D라는 데이터를 X로 수정하게 되면 CPU 1에 속한 캐시 기억장치는 데이터를 X로 변경하고 즉시 쓰기 정책에 따라 주기억장치에도 수정된 데이터인 X를 저장하게 된다. 이 경우 CPU 1에 속한 캐시 기억장치와 주기억장치의 데이터는 X로 수정이 되지만 CPU 2에 속한 캐시 기억장치는 D라는 데이터로 남아 있게 되기 때문에 데이터의 불일치가 발생하게 된다. 즉시 쓰기(write-back) 정책에서의 데이터의 불일치 상태 단일 시스템 버스에 3개의 CPU가 접속된 방식이 있고 나중 쓰기 정책을 적용한다고 할 때 CPU 1과 CPU2가 주기억장치로부터 D라는 데이터를 읽어 오게 된다. 이렇게 되면 CPU 1, CPU 2, 주기억장치는 D라는 동일한 데이터를 갖게 된다. 이때 CPU 1이 프로그램을 실행하여 D라는 데이터를 X로 수정을 하게 되면 나중 쓰기 정책에 의해 CPU 1에 속한 캐시 기억장치만이 데이터를 X로 수정하게 된다. 이 경우 CPU 1에 속한 캐시 기억장치는 수정된 데이터 X가 저장되지만 주기억장치와 CPU 2에 속한 캐시 기억장치는 D라는 데이터로 남아 있게 되기 때문에 데이터의 불일치가 발생하게 된다

5장 연습문제 답 8 공유 캐시 기억장치를 사용하는 방법 시스템 설계에 있어 가장 간단한 방법으로 시스템에 있는 다수의 프로세서가 하나의 캐시 기억장치를 공유하도록 하는 방법 공유 변수는 캐시 기억장치에 저장하지 않는 방법 수정 가능한 데이터는 캐시 기억장치에 저장하지 않는 방법이다. 버스 감시 시스템을 사용하는 방법 시스템 버스에 데이터의 일관성 유지를 위해 감시 기능을 가진 장비를 시스템 버스상에 추가로 설치하는 방법

1. 기억장치를 접근 방식에 따라 분류하고 설명하시오. 2. RAM과 ROM의 종류 및 특징을 설명하시오 6장 연습문제 1. 기억장치를 접근 방식에 따라 분류하고 설명하시오. 2. RAM과 ROM의 종류 및 특징을 설명하시오 3. 가상 기억장치를 사용하는 목적에 대해 기술하시오. 4. 가상 기억장치의 매핑 방식에 대해 설명하시오. 5. 오류정정 부호인 해밍 코드에 대해서 설명하시오.

6장 연습문제 답 1. ① 순차적 액세스(Sequential Access) 저장되는 순서에 따라 액세스 된다. 액세스 시간은 원하는 데이터가 저장된 위치에 따라 결정된다 ② 직접 액세스(Direct Access) 기억장소 근처로 이동한 다음 순차적 검색을 통하여 최종적으로 원하는 데이터를 액세스 하게 된다. 액세스 시간은 원하는 데이터의 위치와 이전 액세스의 위치에 따라 결정된다 ③ 임의 액세스(Random Access) 어떤 위치를 액세스하는데 걸리는 시간이 이전의 액세스 순서와는 무관하며 항상 일정한 방식이다. ④ 연관 액세스(Associative Access) 각 위치는 자신의 주소 지정 메커니즘을 통해 임의 액세스되고, 단어내의 특정 비트들과 원하는 비트들을 비교하여 일치하는 단어를 액세스하며 비교 동작을 모든 단어들에 대해 동시에 수행하게 되는 방식이다. 2. RAM(Random Access Memory) 데이터가 중앙처리장치에서 처리되기 이전 또는 이후에 저장되는 공간이며, 휘발성 기억장치로써 전원 공급이 중단되면 기억장치 내의 데이터가 지워지는 특징이 있다. 읽고 쓰기가 자유롭고 제조 기술에 따라 동적(Dynamic) RAM(DRAM)과 정적(Static) RAM(SRAM)으로 구분된다. DRAM(Dynamic Random Access Memory) 캐패시터(capacitor)에 전하(charge)를 저장하는 방식으로 데이터를 저장하게 된다. 전하의 존재 여부에 따라 ‘1’과 ‘0’를 구분하게 된다. 캐패시터에 충전된 전하는 시간이 지남에 따라 조금씩 방전되므로 주기적으로 충천을 해주어야 한다. SRAM(Static Random Access Memory) 플립플롭(flip-flop)을 사용하여 데이터를 저장하기 때문에 캐패시터를 사용하는 방식에 비해 전하의 방전현상이 나타나지 않는다. 따라서 재충전 회로가 필요하지 않다. ROM(Read Only Memory) ROM은 영구적, 반영구적으로 데이터를 유지할 수 있는 메모리다. 저장된 명령이나 데이터를 단지 읽기만 할 수 있는 기억장치로 재 기록하는 것이 불가능하거나 어렵기 때문으로 비록 전원 공급이 중단되어도 ROM에 저장된 데이터가 지워지지 않고 유지할 수 있기 때문에 비 휘발성(non-volatile) 메모리 Mask ROM 제작사 측에서 제작 시 회로구성을 기억시키는 ROM으로 내용 변경이 불가능하다.

6장 연습문제 답 PROM(Programmable ROM) 기본적으로 ROM과 동일하지만, 사용자가 특별한 장비인 PROM writer를 사용하여 필요한 논리 기능을 직접 기록할 수 있다. PROM은 1회에 한해서 새로운 내용으로 변경할 수 있는 ROM이다. EPROM(Erasable PROM) EPROM은 필요할 때마다 기억된 내용을 지우고 다른 내용을 기록할 수 있는 ROM이다. UVEPROM(Ultra Violet Erasable PROM) UVEPROM은 일정시간 자외선을 쏘여주면 내부에 기록되어 있는 데이터가 지워지고 새로운 데이터를 기록할 수 있다. EEPROM (Electrically Erasable PROM) EEPROM은 프로그래밍이 가능하며 읽을 수만 있는 메모리이다. EEPROM은 전기적으로만 지울 수 있는 PROM으로 칩의 한 핀에 전기적 신호를 가해줌으로써 내부 데이터가 지워지게 되어 있는 ROM이다 Flash Memory 플래시 메모리는 EEPROM의 종류로 일반적인 EEPROM과는 달리 블록단위로 재 프로그램밍 할 수 있다. 플래시 메모리는 RAM과 ROM의 중간적인 위치를 가진다. 3. 가상 기억장치는 보조 기억장치와 같이 기억용량이 큰 기억장치를 마치 주기억장치처럼 사용하는 개념이다. 실행될 프로그램의 용량이 주기억장치의 용량보다 큰 경우 프로그램의 실행이 불가능 하게 된다. 이러한 경우 가상 기억장치를 사용하여 부족한 주기억장치의 용량을 보조 기억장치가 대신하게 된다.

6장 연습문제 답 4. 페이지에 의한 매핑 페이지를 사용한 매핑 방식에서는 페이지에 대한 매핑 표를 가지고 페이지를 블록으로 변환하게 된다. 보조 기억장치의 페이지에 있는 프로그램들이 중앙처리장치의 요구를 받을 경우 주기억장치로 옮겨지게 되는데 이때 메모리 매핑 표를 사용하여 페이지의 프로그램들이 메모리 공간으로 옮겨지게 된다. 세그먼트(Segment)에 의한 매핑 세그먼트(segment)라고 부르는 여러 개의 완전히 독립적인 주소 공간을 제공하는 방식이 있다. 세그먼트 방식으로 가상 기억장치를 실현하는 경우 프로그래머에 의해서 프로그램을 세그먼트화 하고 다시 시스템에 의해서 페이지화한다. 세그먼트의 주소로부터 물리 주소로의 매핑은 메모리 매핑 표와 비슷한 세그먼트 테이블을 사용하여 이루어진다 5. 오류를 검출하고 수정할 수 있는 방법 중 가장 간단한 방식은 해밍코드(hamming code) 이다. 해밍코드는 입력되는 데이터에 추가 데이터인 패리티 비트(parity bit)를 추가하여 오류를 검출하고 1-bit의 오류를 수정할 수 있고 2-bit 오류에 대해서는 검출만 가능하다. 또한 해밍 코드는 백색잡음(white noise) 환경에서 단일 오류 정정을 위한 최적의 코드이다.

7장 연습문제 1. 주기억장치와 보조기억장치의 차이점을 설명하시오. 2. 등각속도를 사용하는 기억장치와 등선속도를 사용하는 기억장치를 구분하고 각각의 차이점과 장단점을 설명하시오 3. 자기 디스크의 구성요소에 대해 설명하시오. 4. RAID를 각 레벨 단위로 설명하고 그 차이점을 설명하시오. 5. Compact Disk의 특징에 대해서 설명하시오. 6. 차세대 저장 매체인 디지털 비디오 디스크(DVD)에 대해 설명하시오 7. 자기 테이프에 대해 설명하고 자기 디스크와 비교하여 장단점을 설명하시오.

7장 연습문제 답 1. 주기억장치는 CPU의 직접통신을 통해 데이터를 전달하게 된다. 그러나 보조 기억장치는 CPU와의 적접적인 통신이 불가능하다. 따라서 보조 기억장치의 데이터들은 저장 공간에 저장되어 있다가 CPU가 필요로 하는 데이터를 주 기억장치를 통해 CPU에 전달하게 된다.보조 기억장치는 주 기억장치에 비해 용량이 매우 크기 때문에 대용량의 데이터를 읽거나 저장할 수 있다. 2. 등각속도 방식을 사용하게 되면 일정한 속도로 회전하는 상태에서 트랙의 위치에 관계없이 데이터를 동일한 비율로 액세스하게 된다. 등각속도 방식의 장점은 디스크를 읽고 쓰는 장치가 간단해 진다. 반면 트랙의 바깥쪽이 안쪽보다 길지만 동일한 비트의 데이터를 저장하게 되기 때문에 저장 공간의 효율적인 면에서 저장 공간이 낭비되는 단점이 있다. 하드디스크가 대표적이다. 등선속도 방식은 액세스할 섹터의 위치에 따라 디스크의 회전 속도가 달라지는 방식으로 트랙을 읽는 속도가 동일하다. 섹터의 위치에 상관없이 표면을 지나가는 헤드의 속도가 항상 일정하며, 트랙 전체의 저장 밀도가 균일하기 때문에 바깥쪽 트랙 부분의 저장 공간의 낭비가 없다. 데이터를 저장 할 때는 트랙을 따라 순차적으로 저장한다. 데이터를 액세스 할 때는 임의 액세스 방식을 사용한다. CD-ROM이 대표적이다. 3. 원형 평판(circular platter), 헤드(head), 디스크 팔(disk arm), 구동장치(actuator)등 4. RAID 레벨 0 성능 향상을 위해 여분(redundancy)을 포함하지 않는다. 성능과 용량을 더 중요시 하고 높은 신뢰성을 요구하기 보다는 저렴한 가격을 더 중요시 하는 시스템에 사용된다. RAID 레벨 0에서 데이터 블록데이터 블록들을 여러 개의 디스크들로 이루어진 디스크 배열(disk array)에 분산 저장된다 RAID 레벨 1 RAID 레벨 1에서는 단순히 모든 데이터 들을 복사함으로써 여분을 구현하고 있다. 논리적 디스크에 스트립들은 물리적 디스크에 사상되며 각각의 물리적 디스크 들은 동일한 데이터를 갖는 반사 디스크를 가진다. RAID 레벨 1은 두 개의 디스크에 동일한 데이터가 들어 있기 때문에 읽기 동작이 요구되면 두 개의 디스크 중에서 탐색시간과 회전시간이 빠른 디스크에서 데이터를 액세스 할 수 있다. RAID 레벨 2 RAID 레벨 2와 RAID 레벨 3는 병렬 액세스 기술을 사용한다. RAID 2에서 오류 정정부호는 각 데이터 디스크에 대응되는 비트에 대해 계산된다. 부호의 비트들은 여러 개의 패리티 디스크들의 대응되는 비트 위치에 저장된다.

7장 연습문제 답 RAID 레벨 3 RAID 레벨 3에서는 1개의 패리티 비트가 저장되는 디스크가 사용된다. RAID 레벨 3에서도 병렬 액세스가 사용되며, 데이터는 스트립으로 분산된다. 오류정정 부호를 사용하는 것이 아니라 데이터 디스크의 같은 위치에 있는 패리티 비트에 대하여 계산되는 패리티 비트를 사용한다. RAID 레벨 4 각각의 디스크들은 독립적인 액세스 방식을 사용한다. 독립적인 액세스는 높은 입출력 요구율을 필요로 하는 응용시스템에 적합하다. RAID 레벨 3에 비해 상대적으로 큰 스트립을 사용하게 된다. RAID 레벨 4에서 데이터 디스크들의 동일한 위치에 있는 블록들에 대한 패리티 블록을 패리티 디스크에 저장하게 된다. RAID 레벨 5 RAID 레벨 5는 RAID 레벨 4와 유사한 방식으로 이루어진다. RAID 레벨 4와 차이점이라면 패리티 비트를 저장하는 디스크를 따로 두는 것이 아니라 데이터를 저장하는 디스크에 패리티 비트를 분산하여 저장한다는 것이다 RAID 레벨 6 RAID 레벨 6 방식에서는 두 가지 서로 다른 패리티 계산이 사용되며 디스크의 블록에 각각 저장된다. RAID 레벨 6에서 사용되는 두 가지 오류 검사/복원 알고리즘은 p, q를 사용하며 한가지는 패리티 방식을 사용하고, 다른 한가지는 다른 종류의 검사 알고리즘을 사용한다. 5. 디지털화 된 음향정보를 저장하는 디스크로 데이터를 한번 기록하게 되면 다시 지워 사용할 수 없다. CD의 표준은 12㎝ 디스크를 사용하게 되며, 플레이어를 사용하여 음향 정보를 재생하는 경우 약 60분 분량의 음향 정보를 저장할 수 있다 6. CD와 동일한 크기를 가지며 디스크에 Television 방송 수준의 화질로 디지털 비디오를 저장하기 위해 설계되었다. DVD 1장의 기록 용량은 일반 CD의 6~8배 정도로 매우 큰 저장 용량을 갖기 때문에 차세대 저장 매체로 각광 받고 있다. DVD는 CD에서 사용되는 레이저에 비해 파장이 짧은 레이저를 사용하여 기록하는 용량을 증가시켰다. DVD는 레이어(layer) 당 4.7Gbyte를 저장할 수 있다. 따라서 2중 레이어를 사용하는 DVD의 경우 8.5Gbyte까지 저장이 가능하다. 7. 자기 디스크와 동일한 읽기 및 쓰기 기술을 사용한다. 자기 테이프는 산화 물질물질로 코팅된 강성 폴리에스테르 테이프를 사용한다. 자기 테이프의 액세스 방식은 순차적 액세스(serial access) 방식이 적용된다. 자기 테이프는 순차적 액세스 방식을 사용하기 때문에 속도가 느린 단점을 가지고 있다. 자기 테이프는 병렬 트랙으로 구성되는데 일반적인 자기 테이프는 9개의 병렬 트랙을 갖는다.

8장 연습문제 1. 입출력 모듈이 사용되는 목적을 기술하시오. 2. 입출력 모듈의 기능에 대해서 설명하시오. 3. 입출력 모듈의 동작 특성을 설명하시오. 4. 프로그램 입출력 방법의 동작을 설명하고 장단점을 기술하시오. 5. 프로그램 입출력 방법에서 입출력 주소지정의 두 가지 방법을 비교하여 설명하시오. 6. 인터럽트 – 구동 입출력 방법에서 인터럽트의 처리 과정을 순서대로 설명하시오. 7. 인터럽트 – 구동 입출력 방법에서 인터럽트를 요구하는 장치를 찾는 과정은 중요하다. 인터럽트를 요구한 장치를 찾는 방법에 대해 각각을 설명하고 비교 하시오. 8. 3가지 직접 기억장치 액세스 방식에 대해 비교하여 장단점을 설명하시오.

9장 연습문제 1. CPU 성능에 중요한 영향을 미치는 요인이 아닌 것은? ①직렬처리 ② 클럭 주파수 ③ 캐시 메모리 ④ 워드의 크기 2. 명령어 집합에는 복합성에 따라 분류할 수 있다. CPU에 많은 복잡한 명령어가 내재된 컴퓨터를 ( ① )라고 말한다.이에 반하여 CPU에 빠르게 수행되는 제한된 수의 간단한 명령어만이 내재된 컴퓨터를 ( ② )라고 말한다. 3. CPU가 이전 명령어를 마치기 전에 다음 명령어 수행을 시작하는 기법을 ( ① ) 이라고 한다. 그리고 하나 이상의 CPU가 있는 컴퓨터에서 한번에 여러 개의 명령어를 동시에 수행시킬 수 있는 방법으로 특수 소프트웨어가 필요한 것을 ( ② )라고 한다. 4. 다음 중에서 CPU의 기능이 아닌 것은? ① 명령어 해독(Instruction Decode) ② 데이터 처리(Data Process) ③ 데이터 쓰기(Data Store) ④ 명령어 인쇄(Instruction Print) 5. 다음에서 CPU를 구성하는 조직인 것은 무엇인가? ① 주기억 장치 ② 레지스터 ③ 캐시 메모리 ④ 플레쉬 메모리 6. 산술 논리유닛(ALU : Arithmetic and Logic Unit)의 구성요소가 아닌 것은 무엇인가? ① 상태 플래그(Status Flags) ② 이동기(shifter) ③ 다중화기(multiplxr) ④ 보수기(complmenter)

9장 연습문제 7. 사용자에게 보여지는 레지스터에서, 프로그래머에 의해 여러 용도로 사용될 수 있는 레지스터들을 ( ① )라고 한다. 누산기(accumulator)와 같은 레지스터를 ( ② )라고 한다. 그리고 간접 주소 지정방식에서 사용되는 ( ③ )가 있다. 8. 제어 및 상태 레지스터에 해당되지 않는 레지스터는 무엇인가? ① 프로그램 카운터 ② 기억장치 주소 레지스터 ③ 입/출력 주소 레지스터 ④ 가산 결과 레지스터 9. 프로그램 상태 단어(Program Status Word)인 것은? ① 오류비트 ② 전송확인 비트 ③ 오버플로우 비트 ④ 수신확인 비트 10. 명령어 사이클 중에서 ( ① )은 먼저, 프로세서는 ( ② )가 가리키는 기억장소로부터 명령어를 인출한다. 그리고 PC 내용을 증가시킨다. 다음으로, 인출된 명령어가 ( ③ )로 적재된다. 그리고 프로세서는 명령어를 해석하고, 요구된 동작을 수행한다. 11. 실행 사이클(execution cycle)의 동작중에서, 프로세서와 ( ① ) 간에 데이터의 전송과 프로세서와 ( ② )간에 데이터의 전송이 있다. 그리고 데이터에 대하여 ( ③ ) 혹은 ( ④ ) 연산이 수행된다. 마지막으로 ( ⑤ )동작으로 점프(jump)와 같이 실행될 명령어의 순서가 변경될 때 사용된다. 12. CPU 클럭이 500㎒이면, 명령어 인출 사이클의 시간은 얼마인가? 13. 4-단계 명령어 파이프라인에서 해당되지 않는 단계(stages)는 무엇인가? ① 오피코드 인출 ② 명령어 해독 ③ 명령어 인출 ④ 실행단계

14. 6-단계 명령어 파이프라인에서 명령어 단계에 대한 설명이 올 바른 것은? 9장 연습문제 14. 6-단계 명령어 파이프라인에서 명령어 단계에 대한 설명이 올 바른 것은? ① 명령어를 해독하는 것은 EI단계이다 ② 오퍼랜드를 계산하는 것은 CO단계이다 ③ 명령어를 실행하는 것은 WO단계이다 ④ 연산된 결과 오퍼랜드를 저장하는 것은 DI단계이다 15. 파이프라인 단계 수가 6 이고, 파이프라인 클럭 주파수가 1 MHz(각 단 계에서의 소요시간 = 1 ㎲)이고, 명령어 수의 100개일 때 이것들이 파이프라이닝 기법에서 실행되는 필요한 시간은 얼마인가? 16. 15번의 결과를 통해서 일반적인 방법과 비교해서 얼마만큼의 속도향상이 있었는가? 17. 명령어 파이프라이닝의 성능을 저해하는 것이 아닌 것은? ① 모든 명령어들이 파이프라인 단계들을 모두 거치지 않는 경우. ② 명령어의 단계들이 동시에 기억장치를 액세스하는 경우 ③ 조건 분기(conditional branch) 명령어가 실행되는 경우 ④ 명령어의 단계수가 10개 이상이 되는 경우

9장 연습문제 답 ① ① 복잡 명령어 집합 컴퓨터(CISC : Complex Instruction Set Computer ), ② 축소 명령어 집합 컴퓨터( RISC :Reduced Instruction Set Computer ) ① 파이프라이닝(Pipelining), ② 병렬처리(Parallel processing) ④ ② ③ ① 일반목적용 레지스터(general-purpose register), ② 데이터 레지스터(data register), ③ 주소 레지스터(address register) )가 있다. ① 인출 사이클(fetch cycle), ② 프로그램 카운터, ③ 명령어 레지스터(IR) ① 기억장치, ② I/O 모듈, ③ 산술, ④ 논리, ⑤ 제어(control) 클럭 주기 = 2㎱, 인출 사이클 : 2㎱ × 3 = 6㎱ 소요 ⇒ T = k + (N - 1) 첫 번째 명령어 실행에 걸리는 시간 = 6 ㎲ 다음부터는 매 1 ㎲ 마다 한 개씩의 명령어 실행 완료 100개의 명령어 실행 시간 = 6 + (100 - 1) = 105 ㎲ 속도향상 = (100 × 6) / 105 ≒ 5.714 배

10장 연습문제 고급 언어로 작성한 프로그램은 ( ① )과정을 거쳐야 기계어로 변환될 수 있다. 그리고 어셈블리어로 작성한 프로그램을 실행하기 위해서는 기계어로 변환하여야 하는데, 이 과정을 ( ② )라고 부른다. 8086 어셈블리 언어의 명령 형식에 해당하는 것이 아닌 것은? ① 레이블부 ② 연산부 ③ 정보연산부 ④ 주석문부 인터럽트가 발생하는 경우인 것은? 하드웨어 결함(Hardware failure)이 발생하는 경우. CPU가 기억장치에 액세스하는 경우. 캐쉬 기억장치의 내용이 갱신되는 경우. 데이터 버스에 데이터가 적재되는 경우. CPU의 인터럽트 처리 동작은 우선적으로 현재의 명령어 실행을 끝낸 즉시, ( ① )에 저장되어 있는 다음에 실행할 명령어의 주소를 ( ② )에 저장한다. 다음으로 ( ③ )을 호출하기 위하여 그 루틴의 시작 주소를 PC에 적재하게 된다. 인터럽트 사이클에 대한 설명이다. 틀린 것은? 프로세서로 하여금 인터럽트 요구가 있는지 검사하는 과정이다. 인출사이클 다음에 위치하며, 인출된 명령어가 인터럽트 명령어 인지를 판단한다. 인터럽트 요구가 대기 중이라면, 현재 프로그램의 실행을 중단하고 프로그램 상태(program state)를 저장한다. 인터럽트 요구가 대기 중에는 PC를 인터럽트 처리 루틴(interrupt handler routine)의 시작 주소로 세트하고 인터럽트를 처리하도록 하는 부 사이클이다. 인터럽트 서비스 루틴을 수행하는 동안 다른 인터럽트가 발생하는 것을 ( ① )라고 한다. CPU가 인터럽트 서비스 루틴을 처리하고 있는 도중에는 새로운 인터럽트 요구가 들어오더라도 CPU가 인터럽트 사이클을 수행하지 않도록 방지하는 방법을 ( ② )이라고 한다. 그리고 인터럽트의 우선 순위를 정하고, 우선 순위가 낮은 인터럽트가 처리되고 있는 동안에 우선순위가 더 높은 인터럽트가 들어오면 현재의 인터럽트 서비스 루틴의 수행을 중단하고 새로운 인터럽트를 처리하는 방법을 ( ③ )라고 한다.

10장 연습문제 7. 다음의 설명에서 틀린 것은 무엇인가? 8. 명령어의 종류가 아닌 것은? CPU가 수행할 동작을 정의하는 2진수 코드들의 집합 또는 명령어들의 집합을 명령어 세트(instruction set)라고 한다. 연산 코드는 수행될 연산을 지정(예: LOAD, ADD 등)한다. 오퍼랜드(Operand)는 연산을 수행하는 데 필요한 데이터 혹은 데이터의 주소를 말한다. 명령어 형식은 정보전달 필드와 정보 연산 필드로 구성된다. 8. 명령어의 종류가 아닌 것은? 데이터 처리(data processing) 데이터 저장(data storage) 데이터 이동(data movement) 데이터 분할(data divide) 9. 명령어 형식에서 연산 코드의 필드 길이가 4비트이면 이론적으로 명령어는 몇 개인가? ① 4개 ② 16개 ③ 8개 ④ 2개 10. 오퍼랜드의 형태가 아닌 것은? ① 연산 코드(opcode) ② 주소(addresses) ③ 수(numbers) ④문자(characters) 11. 다음은 스택에 관한 설명이다. 틀린 것은 무엇인가? 후 입력 선출력(last-in-first-out : LIFO)의 특징을 갖는다. 스택의 Top에 새로운 요소를 추가하는 동작을 PUSH라고 한다. 스택은 보조기억장치의 일부분을 블록으로 지정해서 사용한다. 스택의 Top으로부터 한 요소를 꺼내는 동작을 POP이라고 한다.

10장 연습문제 12. 0-주소 명령어 프로그램으로부터 3-주소 명령어 프로그램까지 주소 개수에 따른 장단점을 설명한 것이다. 맞는 것은? 주소 수가 많아질수록 명령어는 간략화 된다. 주소 수가 많아지면 프로그램이 짧아져서, 프로그램 당 명령어 수가 감소하게 된다. 주소 수가 적어질수록 명령어 비트 수가 길어진다. 주소 수가 작아지면 명령어 인출과 실행 속도가 느려진다. 13. 명령어 집합에서 연산의 종류가 아닌 것은? 데이터 전송(Data Transfer) 데이터 예측(Data Predict) 산술(Arithmetic) 및 논리(Logical) 연산 제어의 이동(Transfer of Control) 14. 명령어의 길이에 영향을 주는 요인이 아닌 것은? ① 기억장치 ② 버스 조직 ③ 출력 장치의 개수 ④ CPU의 복잡도 15. 명령어 내 비트들의 할당에 영향을 주는 요소가 아닌 것은? 명령어 사이클의 클럭 속도 주소지정 방식의 수 명령어 내 오퍼랜드의 수 레지스터 세트의 수

10장 연습문제 16. 다음은 주소지정 방식에 관한 설명이다. 맞는 것은? 직접 주소지정 방식 (direct addressing mode) : 명령어를 실행하는데 필요한 데이터의 위치가 별도로 지정되어 있지 않고, 명령어의 연산 코드가 내포하고 있는 방법이다. 간접 주소지정 방식 (indirect addressing mode) : 오퍼랜드 필드의 내용이 유효 주소가 되는 방식이다. 묵시적 주소지정 방식 (implied addressing mode) : 오퍼랜드 필드에 데이터 유효 기억장치 주소가 저장되어 있는 주소가 저장되어 있다. 즉치 주소지정 방식 (immediate addressing mode) : 데이터가 명령어에 포함되어 있는 방식이다. 오퍼랜드 필드의 내용이 연산에 사용할 실제 데이터가 된다. 17. 다음은 변위 주소지정 방식에서 사용되는 레지스터에 따른 여러 종류의 변위 주소지정 방식을 설명한 것이다. 틀린 것은? 상대 주소지정 방식 : 프로그램 카운터(PC)를 레지스터로 사용한다. 그리고 주로 분기 명령어에서 사용된다. 가산기 주소 지정방식 : 가산기 레지스터를 사용하는 방법으로 덧셈 연산의 결과를 저장할 때 주로 사용된다. 인덱스 주소지정 방식 : 인덱스 레지스터의 내용과 변위 A를 더하여 유효 주소를 결정하는 방식이다. 베이스-레지스터 주소지정 방식 : 베이스 레지스터의 내용과 변위 A를 더하여 유효 주소를 결정하는 방식으로 서로 다른 세그먼트 내 프로그램의 위치를 지정하는데 사용된다. 18. 간접 주소지정 방식(indirect addressing mode)에서 사용되는 명령어 부 사이클을 ( ① )이라고 한다. 이것은 명령어에 포함되어 있는 주소를 이용하여, 실제 명령어 실행에 필요한 데이터를 ( ② )하는 사이클이다. 따라서 이 부 사이클은 인출 사이클과 ( ③ ) 사이에 위치하게 된다.

10장 연습문제 답 ① 컴파일, ② 어셈블리(Assembly) ③ ① ① PC, ② 스택(stack), ③ 인터럽트 서비스 루틴 ② ① 다중 인터럽트, ② 인터럽트 불가능(Interrupt Disabled), ③ 우선순위 인터럽트(Priority Interrupt) ④ 2^4= 16개 ① 간접 사이클, ② 인출, ③ 실행 사이클

11장 연습문제 1. 컴퓨터의 주요 발전 동향에 관한 설명이다. 틀린 설명은? 동일한 컴퓨터 구조를 가지지만 가격 대 성능은 서로 다른 컴퓨터들을 제공할 수 있다. 마이크로 프로그램을 이용해서 제어 유니트 (microprogrammed control unit)을 사용하므로 제어 유니트의 설계와 구현을 용이하게 해주었다. 파이프라이닝(Pipelining) 구조의 도입으로 저속의 기억장치에 CPU가 액세스하는 횟수를 감소시켜서 CPU의 처리속도를 향상시켰다. 다중프로세서(Multiple processors)의 사용으로, 한 시스템 내에 다수의 프로세서들이 서로 협력하면서 작업들을 처리하여서, 처리 속도를 향상시켰다. 2. 고급 프로그램 언어(High Level Language : HLL)에 관한 설명이다 맞는 것은? 알고리즘 표현을 간략하게 할 수 있다. 세부적인 내용은 취급하기가 어렵다. 어의상의 차이는 프로그램 실행의 효율성을 증대시킨다. 컴파일러 과정이 간결하다. 3. HLL기반의 복잡한 명령어 세트의 특징을 설명한 것이다. 틀린 것은? 프로그래머의 작업이 용이하다. 어셈블리와 동일하게 어셈블러를 사용할 수 있다. 프로그램 실행 효율이 향상된다. 복잡하고 정교한 고급 언어를 지원을 유지한다. 4. 프로그램 수행될 때 연산들의 특성을 잘못 설명한 것은? 프로그램 상에서는 배정(ASSIGN)문이 가장 많다. 조건문(IF, LOOP)의 사용이 빈번한 편이다. 서브루틴의 호출 및 복귀(call-return)에 많은 시간이 소모가 된다. 오퍼랜드들의 특성으로는 주로 전역 스칼라 변수들(global scalar variables)이 사용된다.

11장 연습문제 5. 레지스터 윈도우 (register window)에서 레지스터 세트는 ( ① ), ( ② ), ( ③ )의 세 영역으로 구분된다. 6. CISC가 레지스터를 이용하여 명령어를 처리하는 경우를 설명한 것이다. 맞는 것은? 적은 수의 레지스터들을 가지고도 명령어의 처리가 용이하다. 레지스터의 수가 적으면, 기억장치의 사용이 적어진다. 많은 비트들로 구성되므로, 많은 수의 레지스터를 요구할 것이다 레지스터 사용을 최적화하고 기억장치의 사용을 최소화하는 장점을 가지게 된다. 7. RISC 구조의 특징을 설명한 것이다. 틀린 것은? 사이클당 다중 명령어 실행(Multi instruction per cycle)이 가능하다. 레지스터간 연산(register to register operations)이 가능하다. 적은 수의 간단한 주소지정 방식을 사용 할 수 있다. 적은 수의 단순한 명령어 형식을 사용할 수 있다는 것이다. 8. RISC 파이프라이닝에서 기본적으로 ( ① )단계와 ( ② )단계가 존재한다. 그리고 필요에 따라 ( ③ )단계가 존재한다. 9. 슈퍼스칼라 정도(degree)가 4이면 병렬처리 가능한 명령어는 몇 개 인가? 10. 4개의 단계들로 구성된 일반적인 파이프라인 프로세서에서 10 개의 명령어들을 실행하는 데 걸리는 시간은 얼마인가? 1클럭 동안 1단계가 수행되며, 클럭 주기는 1㎲이다. ① 12㎲ ② 11㎲ ③ 13㎲ ④ 14㎲

14. 일반 파이프라이닝과 비교해서, 13번의 슈퍼 파이프라인에 의한 속도 향상은 얼마인가? 11장 연습문제 11. 4개의 단계로 구성되고 슈퍼 스칼라 정도가 2일 때, 슈퍼 스칼라 프로세서에서 10 개의 명령어들을 실행하는 데 걸리는 전체 시간은 얼마인가? 1클럭 동안 1단계가 수행되며, 클럭 주기는 1㎲이다. ① 10㎲ ② 9㎲ ③ 8㎲ ④ 7㎲ 12. 10번과 11번을 비교하여 속도 향상은 얼마인가? 13. 단계의 수가 4이고, 슈퍼 파이프라이닝 정도가 2일 때의 슈퍼파이프라인 구조에서 11개의 명령어들을 실행하는 데 걸리는 시간은 얼마인가? 1클럭 동안 1단계가 수행되며, 클럭 주기는 1㎲이다. 14. 일반 파이프라이닝과 비교해서, 13번의 슈퍼 파이프라인에 의한 속도 향상은 얼마인가? ① 13/9 ② 14/8 ③ 13/8 ④ 14/9

11장 연습문제 답 ④ ① ② ① 파라미터 레지스터(Parameter registers), ② 지역 레지스터(Local registers), ③ 임시 레지스터(Temporary registers) ③ ① 명령어 인출, ② 명령어 실행, ③ 기억장치 연산 4개의 명령어가 병렬 처리된다.

11장 연습문제 답 ③ 13/8 ② ④

12장 연습문제 1. 제어장치(control unit)의 구성요소가 아닌 것은? 순서제어 논리 장치(sequencing logic) 명령어 인출기(fetcher) 명령어 해독기(decoder) 제어 메모리(control memory) 2. 제어장치 레지스터들에는 ( ① ), ( ② ), ( ③ )등이 있다. 3. 원자 연산(atomic operation)이라고 하며, 프로그램 수행에서 가장 기본단위의 수행을 무엇이라고 하는가? ① 마이크로 연산 ② 명령어 사이클 ③ 인출 사이클 ④ 실행 사이클 4. 각 명령어 사이클의 마이크로 연산을 설명한 것이다. 틀린 것은? 인출 과정의 마이크로 연산은 세 개의 클럭으로 완성된다. 간접 사이클의 마이크로 연산에서는 메모리와 레지스터가 이용된다. 명령어의 종류는 다양하지만 이 명령어를 실행하는 실행 사이클에서 처리되는 마이크로-연산은 유일하다. 인터럽트 사이클의 마이크로 연산에서는 스택 포인터가 사용된다. 5. 명령어 사이클 코드(Instruction Cycle Code : ICC)에 대해서 설명하여라. 6. 제어 장치의 기능을 설명한 것이다. 맞는 것은? 해독(decode)기능은 마이크로 연산을 해석한다. 순서 제어(Sequencing)기능은 마이크로 연산들을 적절한 순서대로 처리하도록 한다. 인터럽트(interrupt)기능은 마이크로 연산의 수행중에서 발생하는 인터럽트를 처리한다. 실행(Execution)기능은 각 마이크로 연산 제어장치로부터 인출한다. 7. 제어 장치로 들어오는 입력이 아닌 것은? ① 주소 레지스터 ② 클럭(Clock)신호 ③ 명령어 레지스터 ④플래그(flag)들

12장 연습문제 8. 명령어 사이클에서의 제어 신호에 관한 설명이다. 틀린 것은? 인출 사이클에서는 데이터의 인출 여부를 검사하고 이에 알맞은 제어신호가 발생한다. 간접 사이클에서는 간접 주소지정방식인지 여부를 명령어 레지스터를 검사하고 이것에 근거하여 간접 사이클을 수행하지를 판단하는 제어신호가 필요할 것이다. 실행사이클에서는 마이크로-연산시퀀스를 결정되면 이에 알맞은 제어신호가 발생할 것이다. 인터럽트 사이클에서는 인터럽트 발생여부에 따라서 사이클의 수행여부가 결정된다. 그래서 이것을 제어하는 신호가 필요하다. 9. 하드와이어 방식으로 구현된 제어장치에서 일반적인 입력장치가 아닌 것은? 입력된 명령어 레지스터를 해독하는 해독기(Decoder) 클럭을 입력으로 받아서 수행되는 시간발생기 명령어 데이터의 상태를 나타내는 플래그들 연산을 수행하고 그 결과를 저장하는 ALU 10. 마이크로-연산을 사용의 편리성을 위해, 기호들(symbols)로 표현해서 나타낸 것을 ( ① )라고 한다. 그리고 동시에 실행되는 마이크로-연산들의 집합 또는 명령어 사이클을 ( ② )라고 한다. 11. 다음은 마이크로 프로그램(micro-program)에 관한 설명이다. 틀린 것은? 마이크로 명령어 들을 이용하여 작성된 프로그램을 말한다. 소프트웨어 프로그램을 작성하는 것보다 용이하다. 펌웨어(firmware)라고도 한다. 마이크로 프로그램이 하드웨어와 소프트웨어의 중간 정도임을 의미한다. 12. 수평 마이크로 명령어의 장단점을 열거하여라.

12장 연습문제 13. 다음은 수직적 마이크로 명령어(vertical microinstruction)에 대한 설명이다. 맞는 것은? 마이크로 명령어의 각 필드의 비트가 각 제어 신호에 대응되도록 하는 방식이다. CPU내부의 각 제어 신호들과 시스템 버스의 각 제어 신호들에 대하여 필드들이 할당된다. 코드화된 비트들을 이용하여 마이크로 명령어의 각 기능 코드(function code)를 구성하는 방식이다. 분기에서 사용될 조건을 나타내는 조건 필드와 분기 발생시 다음에 실행될 마이크로 명령어의 주소를 가지고 있는 필드가 있다. 14. 마이크로 프로그램을 이용하는 제어장치에서 구성 요소들을 열거하여라. 15. 다음은 제어 기억장치에 저장된 마이크로 명령어 형식에 관한 설명이다. 틀린 것은? 연산 필드가 두 개이므로, 두 개의 마이크로-연산들을 동시에 수행 가능하다. 조건 필드는 분기에 사용될 조건 플래그를 지정한다. 분기 필드는 분기의 종류와 다음에 실행할 마이크로 명령어의 주소를 결정하는 방법을 명시한다. 주소 필드의 내용은 제어신호를 발생시키는 제어 명령어가 저장된다. 16. 마이크로 프로그램된 제어 장치에서 필요하지 않은 구성요소는? 순서제어 논리장치(sequencing logic) 또는 순서 제어 모듈 제어 입출력 버퍼 레지스터 제어 주소 레지스터 제어 버퍼 레지스터 17. 마이크로 명령어의 순서 제어기법이 아닌 것은? ① 두 개의 주소 필드 ② 한 개의 주소 필드 ③ 세 개의 주소 필드 ④ 가변 형식

12장 연습문제 답 ② ① 제어 주소 레지스터(control address register), ② 제어 버퍼 레지스터(control buffer register), ③ 서브루틴 레지스터(subroutine register)) ① ③ 프로세서가 프로그램을 수행하면서 명령어가 명령어 사이클의 어느 부분에 있는지를 나타내는 코드를 명령어 사이클 코드(Instruction Cycle Code : ICC)라고 한다. ④ ① 마이크로 프로그래밍 언어(micro-programming language) ,② 마이크로 명령어(micro-instruction) 수평 마이크로 명령어의 장단점을 열거하여라. 하드웨어가 간단하고, 해독에 따른 지연 시간이 없다. 마이크로 명령어 비트 수가 길어 때문에 더 큰 용량의 제어 기억장치가 필요하다. 명령어 해독기, 제어주소 레지스터, 제어 기억장치, 제어버퍼 레지스터, 서브루틴 레지스터, 순서제어 모듈

13장 연습문제 1. 컴퓨터의 기본 모듈간의 전송 유형들을 설명한 것이다. 잘못된 것은? 프로세서가 기억장치로부터 명령어와 데이터를 읽는 유형이 존재한다. 프로세서가 기억장치에 데이터를 저장하는 유형이 있다. 입출력 모듈이 직접 캐쉬 액세스 DCA를 통하여 캐쉬와 직접 데이터를 교환하는 유형이 존재한다. 입출력 모듈이 직접 메모리 액세스 DMA를 통하여 기억장치와 직접 데이터를 교환하는 유형이 있다. 2. 다음은 버스의 대역폭에 관한 설명이다. 맞는 것은? 버스의 속도를 나타낸다. 버스 경합 정도를 나타낸다. 단위 시간당 전송할 수 있는 데이터 양을 나타낸다. 버스 클럭의 주기에 의해 결정된다. 3. 버스 클럭 주기가 20 nsec (클럭 주파수: 50 MHz)이고, 데이터 버스 폭이 32 비트(4 바이트) 이라면, 버스 대역폭은 얼마인가? 4. 기능이 지정되는 버스를 ( ① )라고 하며, 제어 신호에 의해 여러 목적으로 사용할 수 있는 버스를 ( ② )라고 한다. 5. 버스의 기능별 분류에서 ( ① )의 폭은 CPU와 기억장치 사이에 한 번에 전송되는 비트 수가 된다. 단방향 전송의 특징을 갖는 것은 ( ② )이다. ( ③ ))에서는 기억장치 읽기/쓰기 (memory read/write), I/O 읽기/쓰기(memory read/write) 신호가 전송된다. 6. 주소 버스의 폭이 8-비트 이면, 주소지정 가능한 최대 기억장소들의 수는 얼마인가?

13장 연습문제 7. 다음은 제어 신호에 관한 설명이다. 틀린 것은? 버스 사용중(bus busy) 신호 : 데이터 전송 동작이 완료되었음을 알려주는 신호이다. 인터럽트 확인(interrupt acknowledge) 신호 : CPU가 인터럽트 요구를 인식했음을 알리는 신호이다. 버스 클럭(bus clock) : 동기식 버스에서 버스 동작들의 시작 시간을 일치시키기 위하여 제공되는 공통 신호이다. 리셋(reset)신호는 모든 시스템 요소들의 동작을 초기화시키는 신호이다. 8. 다음은 동기식과 비동기식 버스에 관한 설명이다. 맞는 것은? 비동기식 버스는 인터페이스 회로가 간단한 장점이 있다. 동기식 버스는 각 버스 동작이 완료 즉시 연관된 다음 동작이 발생하기 때문에 동기식 버스에서와 같이 낭비되는 시간이 없다. 동기식 버스는 연속적 동작을 처리하기 위한 인터페이스 회로가 복잡하다. 비동기식 버스(asynchronous bus)는 버스 동작들의 발생 시간이 관련된 다른 버스 동작의 발생 여부에 따라 결정된다. 9. 다음은 버스 구조에 관한 설명이다. 틀린 것은? 단일 버스는 한 종류의 시스템 버스에 여러 가지 모듈이 연결되어 있다. 단일 버스는 많은 장치가 연결될 수록 전파 지연(propagation delay)이 증가한다. 다중 버스 계층 구조는 연결 장치의 특성에 따라 시스템 버스 또는 확장 버스에 연결된다. 다중 버스 계층 구조에서 시스템 버스에는 주로 입출력 장치들이 연결되어 고속처리를 가능하게 한다. 10. 버스 사용의 주체가 되는 요소들을 ( ① )라고 한다. 그리고 버스 사용 주체가 동시에 버스를 사용하려는 상태를 ( ② )이라고 한다. 따라서 한 번에 한 주체씩 순서대로 버스를 사용하도록 조정해주는 기능이 존재한다. 이 기능을 ( ③ )라고 한다. 11. 다음은 중앙집중식 고정-우선순위 방식(centralized fixed-priority arbitration scheme)에 관한 설명이다. 틀린 것은? 버스 마스터들이 발생하는 버스 요구 신호들은 유일하게 존재하는 버스 중재기로 보내진다. 버스 중재기는 미리 정해진 우선 순위 원칙에 따라서 선택된 버스 마스터에게만 승인 신호를 발생한다. 승인 신호를 수신한 버스 마스터는 버스를 사용하게 된다. 우선 순위가 버스 중재기에서 나중에 임으로 변경될 수 있다.

13장 연습문제 12. 다음은 분산식 고정-우선순위 방식(decentralized fixed-priority arbitration scheme)에 관한 설명이다. 맞는 것은? 모든 버스 마스터들이 하나의 중재기를 공유하고 우선순위를 결정한다. 중앙집중식에 비하여 중재 회로가 간단하므로 동작 속도가 빠른 장점을 갖는다. 고장을 일으킨 버스 중재기를 찾아내는 방법이 아주 간편하다. 버스 중재기의 고장이 시스템에 대하여 독립적이다. 13. 가변 우선순위 방식에 대한 설명이다. 맞는 것은? 회전 우선순위(rotating priority) 방식 : 버스 사용 승인을 받은 버스 마스터는 최하위 우선순위를 가지며, 바로 다음에 위치한 마스터가 최상위 우선순위를 가지도록 하는 방법이다. 임의 우선순위 방식 : 모든 버스 마스터들이 동등한 우선순위를 가진다. 이 경우에는 먼저 버스 사용 요구를 한 버스 마스터가 먼저 버스 사용 승인을 받게 되는, FIFO알고리즘을 사용한다. 동등 우선순위 방식 : 최근 가장 오랫동안 버스 요구 신호를 보내지 않은 즉, 가장 오래 동안 버스를 사용하지 않은 버스 마스터에게 최상위 우선순위를 할당하는 방식이다. 최소-최근 사용(Least-Recently Used: LRU) 방식 : 버스 사용 승인을 받아서, 버스 중재의 동작이 끝날 때마다 우선순위를 정해진 원칙 없이 임의로 결정하는 방식이다. 14. 직렬 중재 방식에서 하나의 중재 신호선(BGNT)이 데이지-체인(daisy-chain)형태로 모든 버스 마스터들을 직렬로 연결한 구조를 가지는 방식은 ( ① )이다. 그리고 데이지-체인 버스 승인 신호(daisy-chained bus grant signal)가 버스 중재기들을 순환형(circular)으로 접속하는 구조의 방식은 ( ② )이다. 15. 버스 사용을 원하는 버스 마스터가 있는지를 버스 중재기가 주기적으로 검사하여 버사 사용 승인 여부를 결정하는 방식을 ( ① ) 이라고 한다. 이 방식에서 버스 중재기와 각 버스 마스터 간에는 별도의 폴링 선(polling line)이 존재하는 방식은 ( ② )이다. 그리고 폴링의 순서와 과정을 버스 중재기내의 프로세서가 관장하는 방식은 ( ③ )이다.

13장 연습문제 답 ③ ② 버스 대역폭 = 4 byte / (20 × 10-9 sec) = 200 [Mbytes/sec] ① 전용버스, ② 다중화 버스 ① 데이터 버스(data bus), ② 주소 버스(address bus), ③ 제어 버스(control bus) 28 = 256 개 ① ④ ①버스 마스터(bus master), ②버스 경합(bus contention),③버스 중재(bus arbitration) ① 중앙집중식 직렬 중재 방식, ② 분산식 직렬 중재 방식 ① 폴링(polling), ② 하드웨어 폴링 방식, ③ 소프트웨어 폴링 방식

14장 연습문제 1. 다음은 병렬 처리에 대한 설명이다. 틀린 것은? 여러 개의 프로세서들이 여러 개의 프로그램들 혹은 한 프로그램의 분할된 부분들을 분담하여 동시에 처리하는 기술을 병렬처리(parallel processing)라고 한다. 병렬처리 기술을 적용하기 위해서는 크기가 크고, 고가이며 고속인 프로세서들의 사용이 가능해야 한다. 병렬처리를 위하여 프로그램을 여러 개로 나누기 때문에 문제가 발생할 소지가 있다. 분할된 부분을 나누어 처리하는 프로세서간의 데이터 교환을 위해 메커니즘이 필요하게 될 것이다. 2. 프로세서에 의해 실행되기 위하여 순서대로 나열된 명령어 코드들의 집합을 명령어 ( ① )이라고 하며, 명령어들을 실행하는 데 필요한 순서대로 나열된 데이터들의 집합을 ( ② )이라 한다. 3. 다음은 병렬 프로세서의 분류들을 설명한 것이다. 맞는 것은? SISD는 한번에 한 개씩의 명령어와 데이터를 순서대로 처리하는 단일프로세서(Uniprocessor) 시스템이다. MISD는 하나의 명령어 스트림 IS가 다수의 처리 장치 PU들의 동시 처리(concurrent processing) 동작을 제어하는 방법이다. MIMD는 다수의 프로세서들이 서로 다른 명령어들을 실행하지만, 처리하는 데이터 스트림은 한 개이다. SIMD는 다수의 프로세서들이 서로 다른 명령어들을 서로 다른 데이터에 대하여 동시에 병렬로 실행을 한다. 4. MIMD에 해당하지 않는 다중 프로세서 시스템은? 대칭 다중 프로세서 클러스터(clusters) 비균일 기억장치 액세스 시스템 배열프로세서 5. 모든 프로세서들이 공유 기억장치(shared-memory)를 이용하여 통신을 하는 시스템을 ( ① )이라고 한다. 반면, ( ② )은 각 프로세서가 별도의 기억장치를 가지며, 메시지 전송(message-passing) 방식으로 통신을 수행한다.

14장 연습문제 6. 다음은 배열프로세서에 관한 설명이다. 맞는 것은? 프로세싱 요소들이 하나의 제어 유니트의 통제하에 동기적으로 동작하는 시스템이다. 제어 장치 PU는 프로세서와 기억장치로 구성되며, 간단한 연산만 수행한다. 각 프로세싱 요소 PE가 명령어들을 해석하고, 그것이 실행될 프로세싱 요소 PE들을 결정한다. 일반 계산 전용 컴퓨터에 접속되어서 호스트 컴퓨터로서 사용된다. 7. 배열프로세서의 프로세싱 요소 PE에서 사용하는 레지스터가 아닌 것은? 데이터 레지스터들 입출력 레지스터 데이터 전송 레지스터 상태 플래그 레지스터 8. 다중 프로세서의 공유-기억장치 시스템 구조에서, 상호연결 구조에 관한 설명이다. 틀린 것은? 프로세서와 공유 기억장치와의 연결형태를 상호연결 구조라고 한다. 버스의 연결에서 공유-버스는 하드웨어가 매우 간단한 장점을 가진다. 다중 버스는 버스 경합을 줄이기 위하여 버스의 수를 증가한 것이다. 목적 버스에서 캐쉬의 사용은 경합으로 인한 지연 시간이 증가한다. 9. 다중 프로세서의 공유-기억장치 시스템 구조의 특징을 설명한 것이다. 맞는 것은? 별도의 프로세서간 데이터 교환 메카니즘이 필요하다. 프로그램 실행시간 동안에 각 프로세서들이 처리할 작업들을 동적으로 균등하게 할당할 수 있다. 프로세서들과 기억장치들 간의 버스 또는 상호연결망상에 통신량이 작아진다. 두 개 이상의 프로세서들이 공유하는 기억장치 모듈을 동시에 사용하려는 경우에 대기할 필요가 없다. 10. 대칭적 다중 프로세서의 특징을 설명한 것이다. 틀린 것은? 각 프로세서가 기억장치를 액세스하는 데 걸리는 시간이 거의 동일하다. 모든 프로세서들은 입출력장치의 액세스를 위한 채널을 공유한다. 점진적 확장이 불가능하다. 이 시스템은 하나의 통합 운영체제에 의해 제어된다.

14장 연습문제 11. 대칭적 다중 프로세서의 상호연결 망으로 사용되지 않는 방식은? 주파수 분할 버스(frequency shared bus) 시분할 버스(time shared bus) 다중포트 기억장치(Multiport memory) 중앙 제어 유니트(Central control unit) 12. 대칭적 다중 프로세서의 상호연결 망에서 사용되는 시분할 버스의 장점을 열거하여라. 13. 다음은 다중포트 기억장치의 원리에 관한 설명이다. 틀린 것은? 프로세서와 입출력장치들이 기억장치에 대하여 독립적 액세스 통로를 제공한다. 프로세서들이 동일한 기억장치 모듈을 액세스하려는 경우, 충돌 해결을 위한 회로가 필요하다. 캐쉬 제어는 반드시 나중쓰기(write-back)를 사용한다. 주기억장치의 내용이 항상 캐쉬의 내용과 같아서 유효(valid)하다. 14. 다중 프로세서에서 추가 되어야 할 운영체제 기능이 아닌 것은? 프로세서 분할 기능 스케쥴링 기능 프로세스들 간의 동기화 신뢰성 및 결함허용 15. 다중 프로세서 시스템에서의 캐쉬 일관성 문제를 해결하는 방법으로, 컴파일러가 코드를 분석하여 공유 변수들에 적절히 표시하고, 운영체제는 그들이 캐쉬에 저장되지 않도록 하는 것은 ( ① )이다. 캐쉬 일관성 프로토콜에서, 캐쉬 일관성 유지 책임을 모든 캐쉬 제어기로 분산 시키는 방식은 ( ② )이 있다. 16. 캐쉬-일관 NUMA(Cache-Coherant : CC-NUMA)의 장점을 기술하여라. 17. 클러스터 구성의 장점을 기술하여라. 18. 클러스터를 구성하기 위해서 추가 되어야 할 운영체제 기능인 것은? 동기화 스케줄링 결함관리 부하 균등화

14장 연습문제 답 ② ① 스트림(instruction stream), ② 데이터 스트림(data stream) ① ④ ① 밀결합 시스템(tightly-coupled system), ② 소결합 시스템(loosely-coupled system) ③ 단순성(simplicity), 융통성(Flexibility), 신뢰성(Reliability) ① 소프트웨어 해결법, ② 스누피 프로토콜(Snoopy protocols) 소프트웨어를 거의 변경하지 않아도 SMP보다 더 높은 수준의 병렬성을 이용하여 효과적인 성능을 제공할 수 있다. 그리고 원격 노드에 대한 기억장치 액세스로 인한 성능저하를 피할 수 있다. 그래서 캐쉬의 사용은 원격 액세스를 포함하여 기억장치 액세스 최소화할 수 있다. 절대적 선형 확장성(Absolute scalability), 점진적 선형 확장성(Incremental scalability), 높은 가용성(High availability), 월등한 가격/성능(Superior price/performance)등의 장점이 존재한다.