제1절 명령 실행과 제어
제1항 마이크로 오퍼레이션
(1) 마이크로 오퍼레이션과 제어장치의 관계
1) 제어장치는 CPU의 마이크로 오퍼레이션을 순차적으로 수행하는데 필요한 신호를 생성하는 장치이다즉 제어장치는 레지스터 상호간에 데이터를 전송한다거나 ALU에서 임의의 지정된 연산을 수행시킨다거나 혹은 기억장치와 입출력 장치와의 데이터 전송에 필요한 제어신호를 발생시킨다제어장치의 기능은 다음과 같다.
① 명령어의 해독
② 명령어 실행에 필요한 제어 신호의 발생
 

 
(2) 마이크로 명령어
1) 프로그램은 일련의 명령어의 집합으로 구성된다.
2) 하나의 명령어는 Fetch, Indirect, Execute, Interrupt cycle 등의 부-사이클로 구성된다
3) 명령어의 각 부사이클은 마이크로 오퍼레이션의 동작을 제어하는 마이크로 명령어(micro instruction)로 이루어져 있다.

 
(3) 마이크로 오퍼레이션 (micro operation: 마이크로 동작)
1) 마이크로 오퍼레이션이란 레지스터 혹은 메모리에 저장된 정보에 작용되는 기본 동작이다. CPU의 각 명령어를 실행하기 위해서는 일련의 마이크로 오퍼레이션이 필요하며각 마이크로 오퍼레이션은 한 클럭펄스 동안 수행된다
2) 마이크로 오퍼레이션의 종류
① 전송 마이크로 오퍼레이션
• 레지스터 전송 : R2  R1

• 메모리 전송 : MDR  M[MAR] or M[MAR]  MDR

 
② 산술 마이크로 오퍼레이션
• R0 ← R1 + R2
 
③ 논리 마이크로 오퍼레이션
• R0 ← R1 ^ R2
 
④ 시프트 마이크로 오퍼레이션
• R0  shl R1 or R0 ← shr R1
 

마이크로로 오퍼레이션에 대한 설명 중 옳지 않은 것은?
 
.마이크로로 오퍼레이션은 CPU 내의 레지스터들과 연산 장치에 의해서 이루어진다.
프로그램에 의한 명령의 수행은 마이크로 오퍼레이션의 수행으로 이루어진다.
마이크로 오퍼레이션 중에 CPU 내부의 연산 레지스터인덱스 레지스터는 프로그램으로 레지스터의 내용을 변경할 수 없다.
마이크로로 오퍼레이션은 실행될 때마다 CPU 내부의 상태는 변하게 된다.

다음음 중 마이크로 오퍼레이션은 어디에 기준을 두고서 실행되나?
 
Flag
Clock
Memory
RAM

중앙연산 처리장치에서 micro-operation이 순서적으로 일어나게 하려면 무엇이 필요한가?
 
스위치 (switch)
레지스터 (register)
누산기 (accumulator)
제어신호 (control signal)

명령을 수행하기 위해 CPU내의 레지스터와 플래그의 상태 변환을 일으키는 작업을 무엇이라 하는가?
 
fetch
program operation
micro operation
count operation

 
제2항 명령어 사이클

(1) CPU에서 한 개의 명령어를 실행하는데 필요한 처리과정을 명령어 사이클 (instruction cycle)이라고 한다명령어 사이클은 다음 4단계의 부사이클로 이루어진다.
1) 페치 사이클
2) 간접 사이클
3) 실행 사이클
4) 인터럽트 사이클
(2) 명령어 사이클을 상기 4단계의 부사이클로 구분할 때는 이들 상태를 나타내기 위해 일반적으로 F와 플립플롭의 두 비트를 사용한다.

F
R
부 사이클
0
0
Fetch cycle
0
1
Indirect cycle
1
0
Execute cycle
1
1
Interrupt cycle

 
(3) Micro cycle time : 한 개의 Micro operation을 수행에 필요한 시간
 
제3항 Micro cycle time 부여방식
(1) 동기 고정식 (Synchronous fixed)
1) 모든 Micro operation의 동작시간이 같다고 가정하여 CPU clock의 주기를 Micro cycle time과 같도록 정의한 방식이다.
2) 모든 Micro operation 중에서 동작시간이 가장 긴 Micro operation의 동작시간을 Micro cycle time으로 정한다.
3) 동기고정식은 모든 Micro operation의 동작시간이 비슷할 때 유리한 방식이다.
4) 장점제어기의 구현이 단순하다.
5) 단점: CPU의 시간 낭비가 심하다.
 
(2) 동기 가변식 (Synchronous variable)
1) 수행시간이 유사한 Micro operation끼리 그룹을 만들어각 그룹별로 서로 다른 Micro cycle time을 정의하는 방식이다.
2) Micro operation 수행시간이 현저한 차이를 나타낼 때 사용한다.
3) 동기 고정식에 비해 CPU 시간 낭비를 줄일 수 있지만제어기 구현이 복잡하다.
 
(3) 비동기식 (Asynchronous)
1) 모든 Micro operation에 대하여 서로 다른 Micro cycle time을 정의하는 방식이다.
2) CPU 시간 낭비가 없으니제어기 구현이 매우 복잡하기 때문에 거의 사용되지 않는다.
 

다음 마이크로 사이클에 대한 내용 중 가장 관계가 적은 것은?
 
마이크로 오퍼레이션 수행에 필요한 시간을 마이크로 사이클 타임이라 한다.
마이크로 오퍼레이션 중에서 수행 시간이 가장 긴 것을 정의한 방식이 동기 고정식이다.
마이크로 오퍼레이션에 따라서 수행시간을 다르게 하는 것을 동기 가변식이라 한다.
마이크로 오퍼레이션 중에서 수행시간의 차이가 큰 것을 약 30개로 구분해서 사용한다.

동기 가변식(Synchronous variable) 동작에 대한 설명 중 옳지 않은 것은?
 
각각 마이크로 오퍼레이션의 사이클 타임이 현저한 차이가 나타날 때 사용한다.
모든 마이크로 오퍼레이션의 수행 시간이 유사한 경우에 사용된다.
중앙처리장치의 시간을 효율적으로 이용할 수 있다.
마이크로 오퍼레이션에 대하여 서로 다른 사이클을 정의할 수 있다.
F
R
부 사이클
0
0
Fetch cycle
0
1
Indirect cycle
1
0
Execute cycle
1
1
Interrupt cycle

 
 
(1) 인출 단계 (Fetch Cycle)

 

T1
MAR ← PC
PC에 있는 번지를 MAR에 전송
T2
MBR  M[MAR], PC  PC+1
ü  메모리에서 MAR이 지정하는 위치의 값을 MBR로 전송
ü  다음에 실행할 명령의 위치를 지정하기 위해 PC의 값을 증가시킴
T3
IR  MBR[OP], I ← MBR[I]
ü  명령어의 OPERATION 부분을 명령 레지스터에 전송
ü  명령어의 모드 비트를 플립플롭 I에 전송
T4
 1 or R  1
ü  F(0), R(1)  indirect or F(1), R(0)  execute

 
1) 주기억장치의 지정 장소로부터 명령을 읽어서 중앙처리장치에 가지고 오는 단계
2) 명령의 오퍼레이션(Operation)부를 명령 레지스터(Instruction Register)에 세트시켜 해독시킴
 
(2) 간접 단계 (Indirect Cycle)
1) 인스트럭션의 수행 시 유효 주소를 구하기 위한 상태를 말한다.
2) Fetch 단계에서 해석된 명령의 주소부가 간접주소인 경우 수행된다.
 

T1
MAR  MBR[AD]
MBR에 명령어의 번지부분을 MAR에 전송
T2
MBR ← M[MAR]
MAR이 지정하는 위치의 값을 MBR로 전송
T3
No Operation
동작 없음.
T4
 1 or R ← 0
F(1), R(0)  execute

 
 
(3) 실행 단계 (Execute Cycle)
* ADD, AND 명령어

T1
MAR  MBR[AD]
MBR에 번지부분을 MAR에 전송
T2
MBR ← M[MAR]
MAR이 지정하는 위치의 값을 MBR로 전송
T3
AC  AC + MBR (ADD 명령)
AC  AC AND MBR (AND 명령)
 
T4
← 0 or R ← 1
F(1), R(1)  interrupt or F(0), R(0)  fetch

 
* LDA (Load accumulator) 명령

T1
MAR  MBR[AD]
MBR에 번지부분을 MAR에 전송
T2
MBR ← M[MAR], AC  0
피연산자를 읽음누산기를 클리어 함
T3
AC  AC + MBR 
누산기와 덧셈 연산함
T4
← 0 or R ← 1
F(1), R(1)  interrupt or F(0), R(0)  fetch

 
* STA (Store accumulator) 명령

T1
MAR  MBR[AD]
MBR에 번지부분을 MAR에 전송
T2
MBR ← AC
피연산자를 읽음누산기를 클리어 함
T3
M[MAR]  MBR 
누산기와 덧셈 연산함
T4
← 0 or R ← 1
F(1), R(1)  interrupt or F(0), R(0)  fetch

 
1) 실제로 명령을 실행하는 단계
2) Execute 단계에서는 Interrupt 요청 신호를 나타내는 플래그 레지스터의 상태변화를 검사하여 Interrupt 상태로 진입할지 아니면 Fetch 단계로 진입할지를 판단한다.
 
(4) 인터럽트 단계 (Interrupt Cycle)
1) 인터럽트는 프로그램 실행 중에 돌발적인 사태에 의해 수행중인 정상적인 처리를 중단하고 요구된 인터럽트를 위한 서비스 프로그램을 수행한다.
2) 복귀 주소를 저장하고제어 순서를 인터럽트 처리 프로그램의 첫 명령으로 옮기는 단계이다.
3) 인터럽트 단계를 마친 후에는 Fetch로 진입한다.

T1
MBR[AD] ← PC, PC  0
ü  PC가 가지고 있는 주소를 MBR의 주소 부분으로 전송
ü  복귀 주소를 저장할 0번지를 PC에 전송
T2
MAR  PC, PC  PC+1
ü  PC가 가지고 있는 값 0번지를 MAR로 전송
ü  인터럽트 처리 루틴으로 이동할 수 있는 인터럽트 벡터의 위치를 지정하기 위해 PC의 값을 증가시킴
T3
M[MAR]  MBR, IEN  0
ü  MBR에 있는 주소를 메모리의 MAR이 가르키는 위치에 저장
ü  인터럽트 단계가 끝날 때까지 다른 인터럽트가 방생하지 않게 IEN에 0을 전송
T4
← 0, R ← 0
ü  F플립플롭에 0을 전송 또는 R플립플롭에 0을 전송
ü  F에 0을 전송하면 F=0, R=0이 되어 Fetch cycle로 천이

 


 

CPU의 명령어 사이클 (instruction cycle) 4단계에 해당되지 않는 것은?
 
Fetch cycle
Control cycle
Indirect cycle
Interrupt cycle

CPU가 인스트럭션을 수행하는 순서는?
 
1. 인터럽트 조사 2. 인스트럭션 디코딩 3. 인스트럭션 fetch 4. Operand fetch 5. execution
 
3-1-2-4-5
3-2-4-5-1
2-3-4-5-1
4-3-2-5-1

명령(instruction)이 실행되기 위해 가장 우선적으로 처리되어야 하는 마이크로 오퍼레이션은?
 
PC  MAR
PC  MBR
PC  CPU
PC  M

기억장치에서 instruction을 읽어서 CPU로 가져오는 상태를 무엇이라 하는가?
 
interrupt 상태
indirect 상태
execute 상태
fetch 상태

다음의 마이크로 오퍼레이션 (micro-operation)은 무엇을 수행하는 것인가?
 
MAR  MBR(AD)
MBR  M, ACC  0
ACC  ACC + MBR
 
store ACC
load to ACC
AND to ACC
ADD to ACC

다음과 같은 마이크로 오퍼레이션이 일어나는 상태는?
 
MBR(AD)  PC, PC  0
MAR ← PC, PC ← PC+1
 MBR, IEN  0
 0, R  0
 
fetch
indirect
interrupt
execute

Interrupt cycle에 대한 micro-operation 중에서 관계가 없는 것은?
(, MAR: Memory Address Register, PC: Program Counter, M: Memory, MBR: Memory Buffer Register, IEN: Interrupt Enable 이며, Interrupt Handler 0번지에 저장되어 있다.)
 
MAR  PC, PC  PC +1
MBR  MAR, PC  0
 MBR, IEN  0
GO TO fetch cycle
 

 


'정보처리기사 > 전자계산기구조' 카테고리의 다른 글

07. 기억장치  (0) 2017.08.02
05. 프로세서 - 명령어  (0) 2017.08.02
04. 프로세서 - 중앙처리장치 구성요소  (0) 2017.08.02
03. 순서논리회로  (0) 2017.08.02
02. 조합논리회로  (0) 2017.08.02





제1항 명령어(Instruction)

(1) 컴퓨터의 명령어

1) 컴퓨터에 대한 일련의 연산을 기술한 2진 코드를 말한다.

2) 컴퓨터에게 특수한 동작(명령어)을 수행할 것을 알리는 비트들의 집합이고연산코드부분과 주소부분(피연산자)으로 나뉘어지고 메모리에 저장된다.


명령레지스터에 호출된 OP 코드를 해독하여 그 명령을 수행시키는데 필요한 각종 제어신호를 만들어 내는 장치는

 

instruction decoder

instruction encoder

instruction counter

instruction multiplexor

 

(.)

 

① op(operation) code

• 연산코드 부분은 동작(Operation)을 정의한 비트들의 집합으로 n비트로 구성되며 최대 2n 개의 서로 다른 연산이 실행 가능하다.

 

• 연산기능

                             i.         산술연산 (ADD, SUB, MUL, DIV, SHIFT, etc…)

                            ii.         논리연산 (NOT, Complement, Shift, Rotate, etc…)

                           iii.         단항연산자(Unary Operator)

1.      피연산자가 1개만 필요한 연산자

2.      NOT, Complement, Shift, Rotate, MOVE 

                           iv.         이항연산자(Binary Operator)

1.      피연산자가 2개 필요한 연산자

2.      사칙연산, AND, OR, XOR, XNOR 

                            v.         AND (Masking Operation) : 특정 비트를 삭제 시키는 연산

                           vi.         OR (Selective-Set) : 특정 비트를 삽입하거나 1로 세트 시키는 연산

                          vii.         XOR(Compare) : 두개의 데이터를 비교하거나특정 비트를 반전시킬 때 사용

                         viii.         NOT(Complement) : 각 비트의 값을 반전시키는 연산보수를 구할 때 사용

 

 

                           ix.         논리 shift: 왼쪽 또는 오른쪽으로 1bit씩 이동하는 연산직렬 전송에 사용

                            x.         Rotate : shift에서 밀려 나가는 비트값을 반대편으로 입력하는 연산문자의 위치를 변환할 때 사용

                           xi.         산술 shift: 부로흘 고려하여 자리를 이동시키는 연산곱하거나 나눌 때 사용

 

• 전달기능

                             i.         Load: 기억장치의 내용을 중앙처리장치에 전달하는 명령어

                            ii.         Store: 중앙처리장치의 정보를 기억장치에 기억시키는 명령어

                           iii.         Move: 특정 레지스터의 내용을 다른 레지스터로 옮기는 명령어

                           iv.         Push, pop: 스택에 자료를 저장인출하는 명령어

  

연산자 기능에 대한 명령어를 나타낸 것 중 옳지 않은 것은?

 

함수 연산 기능 – ROL, ROR

전달기능 – CMP, CLC

제어기능 – JMP, SMA

입출력기능 – INP, OUT

 

전달기능에는 load, store, move, push, pop 등이 있다. (.)

 

• 제어기능

                             i.         무조건 분기 명령 (GOTO, JUMP, etc…)

                            ii.         조건 분기 명령 (IF, SPA, SNA, SZA, etc…)

                           iii.         Call, Return

 


컴퓨터에서 사용하는 명령어를 기능별로 분류할 때 동일한 분류에 포함되지 않는 것은?

 

JMP (jump 명령)

ADD (Addition 명령)

ROL (Rotate Left 명령)

CLC (Clear Carry 명령)

 

ADD, ROL, CLC는 연산기능, JMP는 제어기능에 속한다. (.)

 

• 입∙출력 기능

                             i.         CPU와 I/O 장치또는 메모리와 I/O장치 사이에서 자료를 전달하는 기능

                            ii.         INPUT(입출력 → 주기억), OUTPUT(주기억 → 입출력)

 

② operand

• 피연산자(operand)는 처리할 데이터가 저장되어 있는 레지스터나 메모리 워드주소또한 연산결과가 저장될 장소의 주소를 나타낸다.

 

3) 4096 * 16 메모리

① 주소지정방식

• 묵시적 주소지정방식 (Implied mode)

                             i.         명령어의 형식 상 이미 Operand가 묵시적으로 정해지는 주소 지정 방식

                            ii.         0-주소 명령의 경우 Operand 없이 Stack을 사용한다.

                           iii.         1-주소 명령의 경우 누산기임을 알수 있다.

 

• 즉시 주소지정방식 (Immediate mode)

                             i.         명령어 자체에 실제 데이터를 가지고 있는 방식이다.

                            ii.         별도의 기억장소를 액세스하지 않고 CPU에서 곧바로 자료를 이용할 수 있어서 실행 속도가 빠르다는 장점이 있다.

                           iii.         명령어의 길이에 영향을 받으므로 표현할 수 있는 데이터 값의 범위가 제한적이다.

 

명령어의 operand 부분에 실제 데이터를 갖고 있는 방식은?

 

즉시(Immediate) 주소 지정방식

베이스(base) 주소 지정방식

상대(relative) 주소 지정방식

직접(direct) 주소 지정방식

 

(.)

 

• 직접주소지정방식(dicrect mode)

                             i.         명령의 주소부(operand)가 사용할 자료의 번지를 표현하는 방식이다.

 

• 간접주소지정방식(indirect mode)

                             i.         명령어 내의 operand부에 실제 데이터의 주소가 아니고실제 데이터의 주소가 저장된 곳의 주소를 표현하므로최소한 주기억장치를 두번 이상 접근하여 데이터가 있는 기억장소에 도달한다.

 

                            ii.         명령어에 나타낼 주소가 명령어 내에서 데이터를 지정하기 위해 할당된 비트(operand 부의 비트수로 나타낼 수 없을 때 사용하는 방식이다.

                           iii.         명령의 길이가 짧고 제한되어 있어도 긴 주소에 접근 가능한 방식이다.

                           iv.         간접 주소지정방식을 사용하는 컴퓨터에서의 명령어 형식

I=0이면 직접 주소지정방식이고, I=1이면 간접 주소지정 방식이 된다.



CPU내의 레지스터들과 주기억장치에 다음과 같이 저장되어 있다간접주소지정방식을 사용하는 명령어의 주소 필드에 저장된 내용이 172일 때유효주소와 그로 인해 인출되는 데이터는?

 

유효주소 : 172, 데이터 : 202

유효주소 : 172, 데이터 : 3256

유효주소 : 202, 데이터 : 3256

유효주소 : 202, 데이터 : 172

 

(.)


간접주소(indirect addressing) 방식을 설명한 것은?

 

명령문 내의 번지는 실제 데이터의 주소를 표시한다.

명령문 내의 번지는 절대 주소이므로 더 이상의 연산이 필요하지 않다.

명령문 내의 번지는 상대주소이므로 기본 번지를 더하여 절대 주소가 생성된다.

명령문 내의 번지는 실제 데이터의 위치를 찾을 수 있는 번지가 들어 있는 장소를 표시한다.

 

직접주소지정방식즉시주소지정방식 다상재주소지정방식 (.)

 

• 계산에 의한 주소지정방식

                             i.         상대 주소 지정 방식

기본주소에 상대적으로 표시되는 주소 지정 방식

 

                            ii.         베이스 레지스터

 

                           iii.         인덱스 레지스터

 

② Op-code, operand size 구하기

• 하나의 워드의 크기가 16bit이고 워드가 4096개가 모여있다면

• 주소선은 4096 (212 (210 * 22)) 을 필요하기 때문에 12개의 주소선이 필요하다.

• 명령어 코드는 16-12 = 4개의 선이 필요하며명령어의 개수는 24 = 최대 16개이다.

 

 

명령어의 길이가 16bit이다이중 OP code 6bit, operand 10bit를 차지한다면 이 명령어가 가질 수 있는 연산자 종류는 최대 몇개인가?

 

16

32

64

256

 

(.)


명령어 형식(instruction format) opcode, addressing mode, address 3부분으로 되어 있는 컴퓨터에서 주기억장치가 1024 워드일 경우명령의 크기는 몇비트로 구성되어야 하는가? (, op-code 4비트이며, addressing mode는 직접/간접 주소지정방식 구분에만 사용한다라고 가정한다.)

 

10

15

20

25

 

(.)

 


16-bit 컴퓨터 시스템에서 다음과 같은 2가지의 명령어 형식을 사용할 때 최대 연산자 수는?

 

64

72

86

144

 

(23 = 8) + (26= 64) = 72  (.)

 

(2) 주소(Operand) 형식

 

1) 0-주소

① 오퍼랜드용 주소를 두지 않음

② 스택에 있는 데이터를 사용한다.

③ ADD

 

 

기억장치의 구조가 stack 구조를 가질 때 가장 밀접한 관계가 있는 명령어는?

 

one-address 명령어

two-address 명령어

three-address 명령어

zero-address 명령어

 

(.)

 

2) 1-주소

① AC (Accumulator)를 묵시적으로 이용하여 연산을 수행한다.

② ADD a             ; AC  a + AC

③ LOAD X          ; AC  M[X]

 


주소 부분이 하나밖에 없는 1주소 명령 형식에서 결과 자료를 넣어 두는데 사용하는 레지스터는?

 

accumulator

stack

index register

범용 레지스터

 

(.)

 

3) 2-주소

① 명령어에 2개의 오퍼랜드 주소가 포함

② ADD a, b

 a + b

③ 장점

• 실행속도가 빠르고 기억장소를 많이 차지하지 않는다.

④ 단점

• 연산의 결과는 주소 Operand1에 저장되므로 Operand1에 있던 원래 자료가 파괴된다.

 

4) 3-주소 방식

⑤ 명령어에 3개의 오퍼랜드 주소가 포함

⑥ Add a, b, c

 a + b

⑦ 장점

• 원래의 자료를 파괴하지 않는다.

• 프로그램 전체의 길이를 짧게 할 수 있다.

• 주기억장치에 접근하는 횟수가 줄어든다.

⑧ 단점

• 한 개의 명령어 길이가 길어진다.

'정보처리기사 > 전자계산기구조' 카테고리의 다른 글

07. 기억장치  (0) 2017.08.02
06. 명령 실행과 제어  (0) 2017.08.02
04. 프로세서 - 중앙처리장치 구성요소  (0) 2017.08.02
03. 순서논리회로  (0) 2017.08.02
02. 조합논리회로  (0) 2017.08.02






제1절 프로세서

 

제1항 중앙처리장치 구성요소

실행 파일이 중앙처리장치에서 실행되려면 주 메모리에 탑재되는 과정이 필요하다.

  

(1) 중앙처리장치(CPU, Central Processing Unit)

1) 컴퓨터 시스템에 부착된 모든 장치의 동작을 제어하고 명령을 실행하는 장치

2) 제어장치연산장치레지스터로 구성

 

 

(2) 연산장치(ALU, Arithmetic and Logic Unit)

1) 산술연산논리연산등의 연산기능을 수행한다.

2) 상태 플래그 : ALU내의 상태를 표시한다.

3) 이동기 데이터를 좌우로 이동한다.

4) 보수기 보수 연산

5) 산술 및 부울 로직 산술 연산과 논리 연산을 담당한다.

 

(3) 제어장치(Control Unit)

1) 프로그램에 의해 주어진 연산의 순서대로 실행하기 위해 기억연산입출력장치에 제어신호를 발생한다.

2) 제어장치의 동작

① 1단계명령어를 해독 제어장치내의 명령어 레지스터에 저장

② 2단계명령어 레지스터에 저장된 명령어를 실행 (명령어 실행단계)

3) 명령레지스터명령해독기타이밍 및 제어신호을 발생한다.

 

주기억장치에에 기억된 명령을 꺼내서 해독하고시스템 전체에 지시 신호를 내리는 것은?

 

채널(channel)

제어기구(control unit)

연산논리장치(ALU)

입출력 장치(I/O unit)

 

(.)


다음 설명 중 옳지 않은 것은?

 

PC는 다음에 실행할 번지를 갖고 있는 레지스터이다.

제어신호는 마이크로 동작이 순서적으로 일어나게 한다.

fetch 사이클은 cpu가 메모리에서 명령을 가져오는 사이클이다.

CPU의 제어 장치는 명령 레지스터와 신호 발생장치만으로 구성되어 있다.

 

명령레지스터명령해독기타이밍 및 제어신호을 발생한다.  (.)

 

(4) 레지스터(Registers)

1) 프로세서 내부에서 메모리 기능을 수행한다.

2) 레지스터는 컴퓨터 기억장치들 중 액세스 속도가 가장 빠르다.

3) 범용 레지스터시스템 레지스터상태 레지스터 등으로 구성

 

4) 특수 레지스터와 범용 레지스터 종류.

① 범용 레지스터

• CPU 연산을 빠르게 처리하기 위해 ALU와 직접 연결

• 연산 대상이 되는 오퍼랜드 값을 가진다.

② 특수 레지스터

• 명령어를 실행할 때 필요한 범용 데이터가 아닌 특수한 데이터를 처리하기 위한 레지스터

• 프로그램 카운터(PC), 명령어 레지스터(IR), 상태 레지스터(SR), 메모리 주소 레지스터(MAR), 메모리 버퍼 레지스터(MBR) 

③ 프로그램 카운터 (PC, Program Counter)

• 인출할 명령어가 있는 메모리의 주소를 갖는 특수 레지스터

• 프로그램 메모리에서 한 개의 명령어 인출이 끝나면그 명령어의 크기가 더해진 값으로 자동 변경되어 다음 명령어 인출을 위한 주소를 가진다.


다음에 실행할 명령의 번지를 갖고 있는 레지스터는?

 

MBR

MAR

IR

PC

 

(.)

 

④ 명령어 레지스터 (IR, Instruction Register)

• 프로그램 메모리에서 인출된 명령어를 기억하고 있는 특수 레지스터

• 인출된 명령어에는 연산동작(opcode), 연산대상(operand), 연산결과(result) 어드레싱 모드 등의 정보를 설정한다.

⑤ 상태 레지스터 (PSW, Program Status Word)

• 시스템 내부의 순간 상태가 기록된 정보를 PSW라고 한다.

• 명령어를 실행한 후의 연산 결과 정보를 기록한다.

• 기록된 상태 레지스터의 각 비트는 연속되는 다음 명령어 실행에 영향을 미침


컴퓨터 시스템 내부에서 순간 순간의 시스템 상태를 기록하고 있는 특별한 레지스터를 무엇이라고 하는가?

 

interrup

machine check

psw(program status word)

svc 명령

 

(.)

 

⑥ 메모리 주소 레지스터 (MAR, Memory Address Register)

• 기억장치를 출입하는 데이터의 번지를 기억하는 레지스터

⑦ 메모리 버퍼 레지스터 (MBR, Memory Buffer Register)

• 기억장치를 출입하는 데이터가 잠시 기억되는 레지스터

⑧ 누산기 (AC, Accumulator)

• 데이터 인출 또는 기록 과정에서 데이터나 주소를 임시로 저장하기 위한 특수 레지스터

 

누산기(AC)에 대한 설명으로 올바른 것은?

 

연산장치에에 있는 레지스터의 하나로서 연산 결과를 기억하는 장치이다.

기억장치 주변에 있는 회로인데가감승제 계산 논리연산을 행하는 장치이다.

일정한 입력 숫자들을 더하여 그 누계를 항상 보존하는 장치이다.

정밀 계산을 위해 특별히 만들어 두어 유효 숫자 개수를 늘리기 위한 것이다.

 

(.)

 

⑨ 플래그 레지스터

• CPU 내부에서 방금 행한 연산의 결과로 나타나는 상태 (결과가 0인지음수인지양수인지), 캐리 및 오버플로의 발생 여부 등의 상태를 나타내는 레지스터

 

레지스터 가운데 명령어를 수행 할 때마다 결과가 0인지 여부부호(음수인지 양수인지), 캐리 및 오버플로의 발생 여부 등을 각각 1비트로 나타내며 분기를 결정하는 중요한 역할을 하는 레지스터는?

 

카운터 레지스터

플래그 레지스터

인덱스 레지스터

주소 레지스터

 

(: 나.)

 

CPU의 하드웨어 요소들을 기능별로 분류할 때 포함되지 않는 것은?

 

연산기능

제어기능

입출력기능

전달기능

 

(.)


연산자(OP code)의 수행에 필요한 자료를 보관시켜 놓은 장소로서 적당하지 않는것은?

 

. 주기억장치

. 레지스터

. 스택

. 마크네틱 디스크

 

처음엔 자기디스크(마그네틱 디스크)라는 이름으로 불렸다. 이 때문에 플로우차트심벌은 아직도 데이터베이스나 하드디스크의 심벌 명칭이 마그네틱 디스크이다. 나중에 플로피 디스크가 등장하면서 구별을 위해 딱딱한 디스트, 즉 하드 디스크로 이름이 바뀌었다. (: .)


'정보처리기사 > 전자계산기구조' 카테고리의 다른 글

06. 명령 실행과 제어  (0) 2017.08.02
05. 프로세서 - 명령어  (0) 2017.08.02
03. 순서논리회로  (0) 2017.08.02
02. 조합논리회로  (0) 2017.08.02
01. 불대수  (0) 2017.08.02

+ Recent posts