Professional Documents
Culture Documents
01
컴퓨터 구조 소개
다음 문제중에 박스가 표시된 문제를
homework로 해오세요.
1.2 컴퓨터의 구성 요소
1.3 컴퓨터의 발달 과정
1.4 교재의 구성
연습문제
27
06 기계 코드(machine code)란?
① 명령어를 2진수로 표현한 것
② 고급 언어로 작성한 프로그램
③ 기계식 컴퓨터의 숫자 표현 방법
④ 10진수의 정수를 2진수로 표현한 것
1.2 컴퓨터의 구성 요소
03 제어장치의 기능은?
① 데이터에 대한 산술 연산을 담당한다.
② 명령어를 해독하고 제어신호를 생성한다.
③ 중앙처리장치가 처리할 데이터를 임시로 저장한다.
④ 입출력장치를 제어하여 데이터를 입력하거나 출력한다.
28 • Chapter 01 컴퓨터 구조 소개
06 중앙처리장치 안에 존재하는 기억장치는?
① 레지스터 ② 연산장치
③ 주기억장치 ④ 시스템 버스
1.3 컴퓨터의 발달 과정
① 상향 호환성 ② 하향 호환성
③ 프로그램 호환성 ④ 명령어 호환성
29
04 중앙처리장치를 한 개의 칩으로 구현한 소자는?
① RISC ② 마이크로제어기
③ 마이크로프로세서 ④ 슈퍼스칼라 프로세서
06 멀티 코어 프로세서란?
① 한 번에 64비트의 데이터를 처리하는 프로세서
② 한 개의 칩에 여러 개의 주기억장치를 탑재한 프로세서
③ 한 개의 칩에 여러 개의 입출력 모듈을 탑재한 프로세서
④ 한 개의 칩에 여러 개의 중앙처리장치를 탑재한 프로세서
30 • Chapter 01 컴퓨터 구조 소개
Chapter
02
논리회로 기초
2.1 수와 코드
2.2 조합 논리회로
2.3 순차 논리회로
2.4 레지스터 전송 언어
2.5 요약
연습문제
2.1 수와 코드
06 문제 5번에서 381을 2진수로 변환한 결과를 8진수와 16진수로 직접 변환하여 문제의 결과와
같은지 확인하라.
69
09 “Computer Architecture”에 대한 ASCII 코드를 16진수로 적어라.
2.2 조합 논리회로
입력 자리올림수 합
설명
A B C D C S1 S0
0 0 0 0 0 0 0 0 + 0 + 0 + 0 = 000(0)
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1 1 0 0 1 + 1 + 1 + 1 = 100(4)
70 • Chapter 02 논리회로 기초
05 <표 2-6> 우선순위 인코더에서 다음과 같은 입력값에 대한 출력을 구하라.
입력 출력
1 2 3 4 5 6 7 8 9 D C B A
H L H H L L H L H
H L H H L H H H H
I3 O3
I2 4X1 Y 1X4 O2
I1 MUX DEMUX O1
I0 O0
S1 S0 S1 S0
④
1Y0
①
ENABLE G1 ⑤
1Y1
⑥
1Y2
②
A1
SELECT ⑦
INPUTS 1Y3
③
B1
71
08 그림의 전가산기 네 개를 선으로 연결하여 4비트 병렬 가산기에 대한 회로를 그려라.
A B
Cout FA Cin
2.3 순차 논리회로
CP
02 [그림 2-16]의 4비트 레지스터에 대하여 입력이 다음과 같을 때 출력 파형을 그려라. 출력의
초깃값은 don’t care로 처리하라.
Enable
/Clear
Clock
72 • Chapter 02 논리회로 기초
03 전화기의 12개의 키를 코드로 변환한 후 직렬로 한 비트씩 전송하려고 한다.
1 2 3
4 5 6
코드화 저장 직렬전송
7 8 9
* 0 #
2.4 레지스터 전송 언어
73
Chapter
03
컴퓨터 구조의 개요
3.1 프로그램의 실행
3.2 컴퓨터의 구성 요소
3.3 시스템 버스
3.4 명령어
3.5 명령어 실행 과정
3.6 요약
연습문제
3.1 프로그램의 실행
01 옳은 것을 선택하거나 빈 칸을 채워라.
(A) 컴퓨터는 ____________(을)를 실행하는 기계이다.
(B) 프로세서 종류 별로 명령어 집합은 (같다, 다르다).
(C) 명령어는 근본적으로 (2진수 코드, 문자열)로 표현된다.
(D) 기계어를 사람이 알아보기 쉽게 문자로 표현한 것을 __________________(이)라고 한다.
(E) 내장형 컴퓨터 개념을 처음 만든 사람은 (폰 노이만, 튜링)이다.
3.2 컴퓨터의 구성 요소
01 프로그램 내장형 컴퓨터에서 명령어 인출 단계에 반드시 필요한 레지스터 두 가지를 제시하고
기능을 설명하라.
107
02 올바른 것을 선택하라.
(A) PC의 값은 (현재 실행 중인, 다음에 실행할) (명령어 코드, 명령어의 주소)이다.
(B) IR의 값은 (현재 실행 중인, 다음에 실행할) (명령어 코드, 명령어의 주소)이다.
06 올바른 것을 선택하라.
(A) 데이터 전달 명령어는 데이터의 값을 (변경하여, 변경하지 않고) 데이터를 전달한다.
(B) 데이터 처리 명령어는 데이터의 값을 (변경하여, 변경하지 않고) 데이터를 전달한다.
(C) 프로그램 제어 명령어는 (PC, IR)의 값을 변경한다.
(D) 연산기를 사용하는 명령어 종류는 (데이터 전달, 데이터 처리) 명령어이다.
13 옳은 것을 선택하거나 빈 칸을 채워라.
(A) 컴퓨터는 입출력장치를 (주소, 데이터)로 구별한다.
(B) 입출력장치에게 부여된 주소를 __________________라고 부른다.
(C) 입출력장치는 컴퓨터의 ______________________ 또는 ____________________에 연결된다.
(D) 중앙처리장치는 기억장치 주소 공간에 연결된 입출력장치를 (적재/저장, 입력/출력) 명령어를 사용
하여 액세스한다.
(E) 중앙처리장치는 입출력 주소 공간에 연결된 입출력장치를 (적재/저장, 입력/출력) 명령어를 사용하
여 액세스한다.
(F) 입출력장치가 기억장치 주소 공간에 연결된 것을 __________________(이)라고 한다.
(G) 입출력장치가 입출력 주소 공간에 연결된 것을 __________________(이)라고 한다.
109
3.3 시스템 버스
① 데이터 버스 ② 주소 버스
③ 제어 버스 ④ 입출력 버스
111
08 유효 데이터가 저장되어 있지 않은 곳은?
① 명령어 ② 연산기
③ 기억장치 ④ 레지스터
R11 ← Mem[64h]
Mem[48h] ← R13
R13 ← Mem[80h]
04
중앙처리장치
4.1 중앙처리장치의 구성 요소
4.2 레지스터의 종류
4.3 인터럽트
4.5 요약
연습문제
4.1 중앙처리장치의 구성 요소
08 레지스터에 대한 설명 중 틀린 것을 선택하라.
① 기억장치 주소를 저장하기도 한다.
② 프로그래머에게 보이지 않는 레지스터도 있다.
③ 프로그램 실행 중 처리할 데이터를 중앙처리장치 안에 임시로 저장한다.
④ 프로그래머가 사용할 수 있는 레지스터의 수는 기억장치 장소의 수만큼 많다.
4.2 레지스터의 종류
MBR ← Mem[MAR]
① 명령어 인출 ② 기억장치 읽기
③ 기억장치 쓰기 ④ 레지스터 간 데이터 전송
149
04 상태 레지스터에 포함되어 있는 설명에 해당하는 조건 플래그의 기호를 적어라.
가. 부호 플래그 나. 제로 플래그 다. 자리올림수
라. 패리티 마. 오버플로우
0011_1010 + 0001_0111
① 주소 레지스터 ② 제어 레지스터
③ 범용 레지스터 ④ 데이터 레지스터
08 올바른 것을 선택하라.
(A) 스택은 (기억장치의 일부, 컴퓨터 내 별도의 장치)이다.
(B) 스택은 (First-In-First-Out, First-In-Last-Out) 장치이다.
(C) 스택에 데이터를 액세스하는 위치는 (한 개, 두 개)이다.
POP R3
ToyCOM화면을 캡쳐하시오. PUSH R0
PUSH R2
PUSH R1
POP R0
12 컴퓨터의 상태가 아래와 같고, 스택은 다음과 같이 운영된다. 문제 11의 명령어들이 연속적으
로 실행된 후, 스택의 최종 상태를 오른쪽에 그려라.
151
14 인덱스 레지스터의 주 용도는?
① 배열을 액세스한다. ② 스택의 기준점을 저장한다.
③ 서브루틴의 시작 주소를 저장한다. ④ 스택의 탑(stack top)을 저장한다.
4.3 인터럽트
01 다음 중 성격이 다른 인터럽트는?
① 타이머 인터럽트 ② 하드웨어 고장 인터럽트
③ 명령어 실행 오류 인터럽트 ④ 실행할 수 없는 명령어 인터럽트
08 다음은 인터럽트 서비스 루틴의 마지막인 RETI 명령어를 인출한 후 레지스터와 스택의 상태이
다. 이 명령어를 실행한 후 값이 변하는 레지스터의 값을 적어라.
153
10 인터럽트 가능 플래그에 대한 설명으로 옳은 것을 모두 선택하라.
① 상태 레지스터 안에 포함되어 있다.
② 인터럽트 서비스 루틴 안에 포함되어 있다.
③ 시스템 초기화 후 이 플래그의 값은 1(인에이블 상태)이다.
④ 이 플래그의 값이 1(인에이블 상태)일 때, 중앙처리장치는 외부 인터럽트를 허가한다.
인출 단계
•명령어 1: 인출 단계 → 실행 단계
•명령어 2: 인출 단계 → 간접 단계 → 실행 단계
•명령어 3: 인출 단계 → 실행 단계 인터럽트 단계 간접 단계
•명령어 4: 인출 단계 → 간접 단계 → 실행 단계
실행 단계
155
Chapter
05
연산기
5.1 연산기 개요
5.2 정수
5.3 논리 연산
5.4 시프트 연산
5.5 정수 산술 연산
5.6 실수
5.7 실수 연산
5.8 요약
연습문제
5.1 연산기 개요
04 이항 연산자(binary operator)란?
① 실수를 계산하는 연산자이다.
② 두 개의 항을 계산하는 연산자이다.
③ 부호 없는 수를 계산하는 연산자이다.
④ 2진수로 표현되어 있는 수를 계산하는 연산자이다.
195
5.2 정수
1의 보수
2의 보수
-78
(A) R1 ← NOT R3
(B) R1 ← R1 AND R2
(C) R1 ← R2 OR R3
(D) R1 ← R3 XOR R4
5.4 시프트 연산
9Bh
D2h
197
02 8비트의 2진수 1100_1010에 대하여 질문에 답하라.
(A) 이 수를 정수로 해석하면 10진수로 얼마인가?
(B) 왼쪽 산술 시프트한 값을 구하라.
(C) (B)의 결과를 정수로 해석하면 10진수로 얼마인가? (A)의 곱하기 2와 같은가?
(D) 오른쪽으로 산술 시프트한 값을 구하라.
(E) (D)의 결과를 정수로 해석하면 10진수로 얼마인가? (A)의 나누기 2와 같은가?
5.5 정수 산술 연산
A1 A0
× B1 B0
____________________
A1B0 A0B0
+ A1B1 A0B1
___________________________
M3 M2 M1 M0
5.6 실수
199
04 지시에 따라 IEEE 754 단정도 실수 형식으로 표현하라.
(A) 10진수 -5.15625를 2진수로 변환하라.
(B) 가수 부분을 정규화하여 과학표기법으로 표시하라.
(C) IEEE 754 단정도 실수로 표기할 때, 표현되는 가수를 구하라.
(D) IEEE 754 단정도 실수로 표기할 때, 표현되는 지수를 구하라.
(E) 2진수 패턴을 16진수로 표시하라.
void main()
{
union float_format t;
t.real_number = -5.15625;
printf(“real number: %f/n”, t.real_number);
printf(“bit pattern: %8x/n”, t.bit_pattern);
}
5.7 실수 연산
201
Chapter
06
명령어 집합
6.1 명령어 특성
6.2 주소의 수
6.3 주소지정방식
6.4 오퍼랜드 저장
6.5 명령어 종류
6.6 요약
연습문제
6.1 명령어 특성
04 명령어 집합이란?
① 프로세서가 제공하는 명령어들의 모임
② 프로세서가 제공하는 명령어 형식의 모임
③ 프로세서가 제공하는 데이터 처리 명령어들의 모임
④ 프로세서가 제공하는 프로그램 제어 명령어들의 모임
247
06 명령어 형식에 대한 바른 설명은?
① 명령어의 주소지정방식과 같은 용어이다.
② 프로세서가 제공하는 명령어들의 모임이다.
③ 한 개의 프로세서는 한 개의 명령어 형식을 사용한다.
④ 명령어를 구성하고 있는 명령어 코드를 해석하는 방법을 정의한 것이다.
6.2 주소의 수
6.3 주소지정방식
주소 데이터 주소 데이터
250 현재 명령어 500 800
251 500 ∙∙∙ ∙∙∙
252 다음 명령어 800 300
PC 250 ∙∙∙ ∙∙∙ ∙∙∙ ∙∙∙
opcode BR 400 400 700 900 200
operand AC ∙∙∙ ∙∙∙
명령어 형식 레지스터 상태 기억장치 상태
249
(B) PC의 값과 분기 목적지까지의 차이는(10진수)?
(C) 명령어에 표현되어 있는 오퍼랜드 필드의 값을 10비트의 2진수로 변환하면?
04 올바른 것을 선택하라.
(A) 인덱싱의 경우 명령어에 표현된 주소 필드를 (부호 없는 수, 정수)로 해석한다.
(B) PC 상대주소지정 방식은 명령어에 표현된 주소 필드를 (부호 없는 수, 정수)로 해석한다.
(C) 베이스 레지스터 주소지정방식은 명령어에 표현된 주소 필드를 (부호 없는 수, 정수)로 해석한다.
(D) 레지스터를 지정하는데 필요한 비트 수는 기억장치 장소를 지정하는데 필요한 비트 수보다 (길다,
짧다).
(E) 배열 데이터를 액세스하는데 주로 사용되는 주소지정방식은 (베이스 레지스터 주소지정방식, 인덱
싱)이다.
05 유효 주소란?
① 명령어에 표현되어 있는 주소 ② 명령어가 처리할 데이터의 주소
③ 명령어에 표현되어 있는 레지스터 번호 ④ 명령어에 표현되어 있는 레지스터의 값
R0 120 IX 212
R1 211 BR 820
6.4 오퍼랜드 저장
6.5 명령어 종류
251
02 8비트 레지스터의 값이 R1 = 1110_0011, R2 = 1100_0010이다. <표 6-1>의 분기 명령어
의 니모닉 코드를 참고하여 질문에 답하라.
05 “call 2420” 명령어를 인출한 후 수행하기 전 컴퓨터의 상태이다. 주소는 16비트이고, 기억장
치는 8비트 단위로 구성되어 있고 리틀 엔디언 방식으로 값을 저장한다. 이 명령어를 실행한 직
후 값이 변하는 레지스터와 기억장치 장소의 값을 구하라(모두 16진수).
주소 데이터
6500 12
6501 23
6502 56
6503 7b
IR call 2420 6504 23
PC 3180 6505 45
SP 6500 6506 75
07 인터럽트 서비스 루틴의 마지막 명령어인 인터럽트 복귀 명령어를 수행할 때 컴퓨터의 상태이
다. 조건은 문제 5번과 같다. 인터럽트 복귀 명령어를 실행한 후 값이 변경되는 레지스터의 값
을 구하라. SR은 상태 레지스터이다.
주소 데이터
6500 12
6501 23
6502 56
6503 7b
SR 1200 6504 23
PC 5420 6505 45
SP 6504 6506 75
253