폐사제품에 관한 주의사항 - yuden.co.jp시 사전에 폐사로 문의를 부탁 드립니다. (1) 운송기기(자동차 구동 제어장치, 열차 제어장치, 선박
9 장 . 제어장치
-
Upload
lacy-maddox -
Category
Documents
-
view
76 -
download
2
description
Transcript of 9 장 . 제어장치
9 장 . 제어장치Lecture #9
컴퓨터 구조론 2
9.1 제어 장치의 구성 (1)
제어 장치 (Control Unit) 컴퓨터 시스템의 모든 장치들을 유기적으로 동작하도록
제어하는 장치 .
제어 로직(control logic)
데이터 처리기(data processing)
외부 입력 신호
출력 데이터
상태 신호
마이크로 오퍼레이션
입력 데이터
컴퓨터 구조론 3
9.1 제어 장치의 구성 (2)
제어장치 구조 프로그램 카운터
(PC)
주 기억 장치
ALU 및 레지스터
명령어 레지스터(IR)
주소 처리기
제어신호 발생기
해독기
순서기
+1
제어 장치
1
5
3
4
3 2
4
2
5
컴퓨터 구조론 4
마이크로 오퍼레이션 명령어의 실행 과정에서 한 단계씩 이루어지는 동작 . 중앙처리장치 클럭 ( 중앙처리장치 클럭 사이클 )
중앙처리 장치에 공급되는 클럭 펄스 명령어 실행은 명령어 사이클로 이루어진 프로그램을
순차적으로 수행한다는 것을 의미 . 각 명령어 사이클은 여러 개의 부 사이클로 이루어져
있으며 부 사이클은 인출 사이클 , 간접사이클 , 실행사이클 , 인터럽트 사이클로 구분한다 .
9.2 마이크로 오퍼레이션과 마이크로 사이클 (1)
컴퓨터 구조론 5
프로그램 실행의 계층
프로그램 실행
명령어 사이클 명령어 인출 사이클 마이크로 오퍼레이션
마이크로 오퍼레이션
마이크로 오퍼레이션
간접 사이클 마이크로 오퍼레이션
마이크로 오퍼레이션
실행 사이클 마이크로 오퍼레이션
마이크로 오퍼레이션
인터럽트 사이클 마이크로 오퍼레이션
마이크로 오퍼레이션
명령어 사이클
명령어 사이클
9.2 마이크로 오퍼레이션과 마이크로 사이클 (2)
컴퓨터 구조론 6
1 개 마이크로 오퍼레이션
t0 t1 t2 t3 t4 tn t6
시스템 클럭
(마이크로 오퍼레이션 MAR PC) (마이크로 오퍼레이션 MBR [M])
(마이크로 오퍼레이션 IR MBR)
명령어 인출 사이클 명령어 실행 사이클 인터럽트사이클
1 개 명령어 사이클
9.2 마이크로 오퍼레이션과 마이크로 사이클 (3)
컴퓨터 구조론 7
마이크로 오퍼레이션 기능 : 데이터 전송 , 데이터 연산 전송 기능
레지스터와 레지스터간의 데이터 전송 , 레지스터와 메모리나 입출력 장치들 간의 데이터 전송 .
예 ) MBR ← [M] ; A ← B ; MAR ← PC 연산 기능
단항 연산자 : 하나의 레지스터에 기억되어 있는 정보가 연산 장치에 전달되어 연산 후에 그 값을 레지스터에 기억시키는 것 .( 예 :보수연산 )
이항 연산자 : 두 개의 레지스터에 기억되어 있는 정보가 연산 장치에 전달되어 연산이 행해진 후 그 결과를 다른 레지스터로 옮기는 것 .( 예 A ← A + B )
9.2 마이크로 오퍼레이션과 마이크로 사이클 (4)
컴퓨터 구조론 8
마이크로 오페레이션의 제어 기능 제어 기능에 의한 정보전달
P : A B B 레지스터의 내용을 A 레지스터로 전송할 경우 전송 제어 기능
신호 P 에 의하여 레지스터 B 의 내용이 레지스터 A 로 옮겨지는 과정 .
[ 정보 전달 과정 ] [ 타이밍 상태 ]
B레지스터
A레지스터LoadP
CLK
CLK
P 제어점 신호
(B 레지스터의 내용이 A 레 )지스터로 로드되는 시점
9.2 마이크로 오퍼레이션과 마이크로 사이클 (5)
컴퓨터 구조론 9
마이크로 사이클 (micro cycle) 하나의 마이크로 오퍼레이션이 수행되는 과정 . 동기 고정식
수행 시간이 가장 긴 것을 마이크로 사이클 타임으로 정하여 클럭을 공급하는 방식 .
제어 장치의 구현이 간단하나 CPU 의 속도와 성능 저하 동기 가변식
수행시간이 유사한 것끼리 모아 한 개의 군을 형성하여 처리 . 제어 장치가 복잡하나 CPU 의 성능과 속도 향상
비동기식 수행 시간의 차이가 현저하고 예측시간도 예측할 수 없을 때
사이클을 정의하지 않고 비동기식으로 처리 .
9.2 마이크로 오퍼레이션과 마이크로 사이클 (6)
컴퓨터 구조론 10
9.3 메이저 상태 (1)
메이저 상태와 타이밍 상태 메이저 상태 : 레지스터와 중앙처리장치가 무엇을 하고
있는가를 나타냄 . 타이밍 상태 : 시간에 관한 정보를 기억
메이저 상태의 단계별 수행 상태 Fetch Cycle( 인출 사이클 )
실행할 명령어를 메모리로부터 읽어낸다 . 명령어 해석 명령어가 1 사이클 명령어이면 다시 인출사이클로 이동 (CPL, SHL) 1 사이클 명령어가 아니면 간접 사이클로 가고 아니면
실행사이클로 이동 .
컴퓨터 구조론 11
9.3 메이저 상태 (2)
메이저 상태의 단계별 수행 상태 ( 계속 ) Indirect Cycle( 간접 사이클 )
주소 기억장치로부터 주소를 읽어낸다 . 간접주소이면 간접사이클로 이동하고 , 아니면 분기명령이면 실행
후 인출 사이클로 이동하고 분기 명령이 아니면 실행사이클로 이동 . Execution Cycle( 실행 사이클 )
데이터를 메모리에서 읽어낸다 . 실행 후 인출 사이클로 이동 .
Interrupt Cycle( 인터럽트 사이클 ) CPU 상태를 잠시 피신시키고 , interrupt routine 으로 점프 . 인출 사이클로 이동 .
컴퓨터 구조론 12
9.3 메이저 상태 (3)
메이저 상태의 신호 흐름도
Yes
인출 사이클
1 ?사이클명령
인터럽트사이클
간접사이클
No
No
Yes
YES
Yes
CPL, SHL등implied addressing mode
?간접사이클
?직접사이클
Interrupt ?사이클
No
No
?분기
No
Yes
실행 사이클
컴퓨터 구조론 13
9.3 메이저 상태 (4)
메이저 상태와 타이밍 상태
t0 t1 t2 t3 t4 tn t6
시스템 클럭
메이져 상태
명령어 인출 사이클 명령어 실행 사이클 인터럽트사이클
1 개 명령어 사이클
타이밍 상태( )마이크로 오퍼레이션
컴퓨터 구조론 14
9.3 메이저 상태 (5)
인출 사이클 (fetch cycle) 명령어 인출 사이클 (instruction fetch cycle)
인출 메이저 상태에서 명령어 인출과 실행 준비 작업 . 수행단계
실행될 명령어의 주소를 PC 로부터 기억장소 주소 레지스터 (MAR) 로 전송 .
기억장치로부터 명령어 코드를 가져오고 PC 를 1 증가 . MBR 의 내용을 명령어 레지스터 (IR) 로 전송 .
인출과정 t1 : MAR ←(PC) t0 : MBR ←M[MAR]
PC ←(PC) +1 t2 : IR ← (MBR)
컴퓨터 구조론 15
9.3 메이저 상태 (6)
명령어 인출 사이클 (instruction fetch cycle) ( 계속 ) 명령어 인출 경로
명령어 인출 사이클
READ
PC MAR
MEMORYCELL
IR MBR
해석기
클럭
Load
Load
t0t1t2
t0
t1
Increment
t1t2
t0 t1 t2 t3 t4 tn t6
시스템 클럭
명령어 인출 사이클
명령어 실행 사이클 인터럽트사이클
MAR PC MBR [M]
PC PC+1
IR MBR
컴퓨터 구조론 16
9.3 메이저 상태 (7)
간접 사이클 (indirect cycle) 명령어 인출 후 다음 단계로 실행사이클로 갈 것인가를
간접 사이클로 갈 것인가 결정 . 간접 주소 지정 방식
간접 사이클 실행 흐름 qat3 : MAR ← IR(Address) qat4 : MBR ← M[MAR] qat5 : IR(address) ← MBR(address)
Op-code
qa A(100H)Momory
Operand( )간접주소
01H
55H
10H0100H
0101H
0110H
:0100H 유효주소 번지
컴퓨터 구조론 17
t0 t1 t2 t3 t4 t5 t6
시스템 클럭
명령어 인출 사이클
간접 사이클
MAR IR MBR [M] IR MBR
qa
9.3 메이저 상태 (8)
PC MAR
MEMORYCELL
qa, A(address) MBR
해석기
클럭
Load
Load
qat3
Increment
READ
IR
qat4qat5
qat3qat4
qat5
[ 간접 사이클 접근 경로와 간접 사이클 ]
컴퓨터 구조론 18
9.3 메이저 상태 (9)
실행 사이클 (execute cycle) 실제로 명령어 수행이 일어남 . 인출과정 (ADD A, (nn))
qadd t3 : MAR ← IR(nn address) qadd t4 : MBR ← M[MAR] qadd t5 : A ← A + MBR
컴퓨터 구조론 19
9.3 메이저 상태 (10)
실행 사이클 (execute cycle) ( 계속 ) 실행 사이클 접근 경로와 실행 사이클
PC MAR
MEMORYCELL
qadd (address) MBR
해석기
클럭
qaddt3
Load
READ
qaddt4qaddt5
ALU
A
qaddt3IR
Load
qaddt5
t0 t1 t2 t3 t4 t5 t6
시스템 클럭
명령어 인출 사이클
실행 사이클
MAR IR MBR [M] A MBR
qadd
컴퓨터 구조론 20
9.3 메이저 상태 (11)
인터럽트 사이클 (interrupt cycle) 프로그램 수행 중에 인터럽트가 걸리면 현재 수행중인
프로그램을 일시정지하고 인터럽트 프로그램을 먼저 처리 인출과정
* qint t0 : MBR ← (PC) * qint t1 : MAR ← (Stack Pointer) : save-address
PC ← Interrupt service routine-start address * qint t2 : MAR ← PC
컴퓨터 구조론 21
9.4 제어 장치 구현 (1)
제어 장치 구현 방법 하드 와이어 제어 방식
상태 플립 - 플롭 제어 방식 순차 레지스터와 디코더 제어 방식
소프트웨어 제어 방식 PLA 제어 방식 마이크로 프로그램 제어 방식
컴퓨터 구조론 22
9.4 제어 장치 구현 (2)
상태 플립플롭 제어 방식 순차 제어 회로의 각 상태마다 한 개씩의 플립플롭으로 구성 . 장점 : 설계하기 간단 . 단점 : 상태 수가 증가하면 하드웨어적으로 복잡해진다 .
구성도
DecisionLogic
D Q
D Q
D Q
cp
ExternalInput
T0
T1
T2
컴퓨터 구조론 23
9.4 제어 장치 구현 (3)
순차 레지스터와 디코더 제어 방식 순차 레지스터를 사용 : 제어 상태를 순차적으로 실행 디코더 사용 : 각 상태마다 하나의 출력
ExternalInput
Decision
LogicSequenceRegister
Decoder
현재 상태
T0
T1
T2
T3
컴퓨터 구조론 24
9.4 제어 장치 구현 (4)
PLA 제어 방식 소프트웨어적으로 제어 신호 구성 PLA 프로그램
디코더의 논리 상태를 코드화하여 저장 구성도
PLA
SequenceRegister
ExternalInputCondition
Micro-operationControl signalOutput
컴퓨터 구조론 25
9.4 제어 장치 구현 (5)
마이크로 프로그램 제어 방법 제어 변수가 1 과 0 으로 이루어진 제어 워드 (control word)
로 구성 . 마이크로 명령어들을 순차적으로 모은 마이크로
프로그램을 기억 장치에 기억시켜 두고 순차적으로 실행시키면서 제어신호를 만들어 내는 방식 .
구성도
NextAddress
Generator
ControlAddressRegister
ControlMemory(ROM)
ExternalInputCondition
Next Address Information
Micro-operationControl signalOutput
컴퓨터 구조론 26
9.5 마이크로 명령어 (1)
마이크로 명령어 한 개의 마이크로 오퍼레이션이 수행되는 동작 제어워드
각 순간에 실행되는 마이크로 명령어는 1, 0 으로 표현 마이크로 프로그램 또는 펌웨어 (Firmware)
하드웨어와 소프트웨어의 중간 단계 마이크로 명령어의 조합 .
컴퓨터 구조론 27
9.5 마이크로 명령어 (2)
마이크로 명령어 마이크로 명령어 형식
수평 마이크로 명령어 형식 각각의 제어 신호에 하나의 비트 할당
수직 마이크로 명령어 형식 마이크로 명령들이 동시에 여러 개나 일어나지 않는다는 가정 하에 설계 하나의 명령어는 하나의 오퍼레이션만 수행 . 일반 명령어와 유사 , 설계할 때 논리 회로가 복잡
제어신호 필드 조건 분기 필드 마이크로 명령어 주소
제어신호
CPU 내부제어신호 제어신호 필드 조건 분기 필드 마이크로 명령어 주소
(decoder)디코더
제어신호
컴퓨터 구조론 28
9.6 주소 순서기 (1)
주소 순서기IR( )명령어 레지스터
(decoder)명령어 해독기
MUX0 1 2 3
CAR(Control Address Register
SBR(SuBroutine
Register)
incrementer
(Control 제어 메모리memory)
(CBR)제어 버퍼 레지스터
BranchLogic
microoperation
Select a state
Branch address
상태조건
S0
S1
외부 제어 신호들 내부 제어 신호들
[ 마이크로 프로그램 제어장치 ]
컴퓨터 구조론 29
9.6 주소 순서기 (2)
주소 순서기 각 구성요소의 기능
명령어 해독기 명령어의 연산을 해독하여 해당 연산을 수행하기 위한 루틴의 시작
주소 결정 . MUX
제어 주소 레지스터에 실행 주소 선택
S1 S0 MUX 기능
0 0 CAR 로 1 증가 가능0 1 제어메모리의 브런치 번지로 점프
1 0 명령어 해독기로부터 명령어의 시작번지 매핑 기능
1 1 서브 프로그램 루틴으로 점프
컴퓨터 구조론 30
9.6 주소 순서기 (3) 각 구성요소의 기능
제어 주소 레지스터 (CAR) 마이크로 프로그램을 저장하는 내부 기억장치 . 입력되는 주소 : 1 증가된 주소 , 제어 메모리로부터 브런치 주
소 , 해독기로부터 해독된 명령어가 내장된 제어 메모리의 시작 주소 ,SBR 로부터 서브루틴의 주소
제어 메모리 마이크로 프로그램 저장하는 내부기억장치
제어 버퍼 레지스터 제어기억장치로부터 읽혀진 마이크로 명령어 비트들을
일시적으로 저장 . 내부제어신호 : MUX 선택 신호 , 브런치 주소 외부제어신호 : 연산장치 , 레지스터 , 외부메모리
서브루틴 레지스터 마이크로 프로그램에서 서브루틴이 호출되는 경우 현재의 CAR
내용을 일시적으로 저장 .
컴퓨터 구조론 31
9.6 주소 순서기 (4)
제어 장치 동작 CAR 로 제어 기억 장치의 마이크로 명령어 시작 번지를 로드하기
위한 로드 신호를 보낸다 . 주소가 CAR 에 의해 지정된 기억 장치내의 제어 워드를 CBR 로
전송한다 . CBR 의 내용에 따라 제어 신호들과 순차 모듈 논리 장치에 다음
주소 정보를 전송한다 . 주소 순서기는 CBR 과 ALU 의 상태 레지스터들로부터 발생된
상태에 의해 점프해 갈 새로운 주소를 CAR 에 적재한다 .
컴퓨터 구조론 32
9.6 주소 순서기 (5)
명령어 해독기 IR 로부터 전송된
명령어의 Op-code 를 마이크로 명령어가 저장되어 있는 제어 메모리 주소로 매핑
IR 1011 addressOpcode Operand
명령어 해석기
매핑된번지 0 1011 00
제어 메모리
000000000000010000010
0101100010110101011100101111
address
Opcode "1011" 에 해당 되는 마이크로프로그램이
저장된주소
컴퓨터 구조론 33
9.7 연산 제어 장치 설계 (1)
가 / 감산기 분석
AS, BS 는 각 레지스터들의 부호 비트임 . 제어로직은 가산 (qa 신호 ) 혹은 감산 (qb신호 ) 명령어에
의해 수행 .
B register
ALU
A register
Bs
As
EControllogic
qa( )가산
x( )동작완료
qb( )감산
컴퓨터 구조론 34
9.7 연산 제어 장치 설계 (2)
가 / 감산기 알고리즘
As : B s
A=A+BE=C out
(X=1)초기 상태
E E=0
A=A+1As=As
B s=Bs
A=A
=
qs=1(-)qa=1(+)
=0A<B
=1
A>=B
A=A+B+1E=C out
=
컴퓨터 구조론 35
9.7 연산 제어 장치 설계 (3)
가 / 감산기 제어 신호
S0, S0 , S0 : 제어신호 w : E 플립플롭 클리어 신호 qa : 실행제어 신호 ( 가산명령어 입력시 ) qb : 실행제어 신호 (감산명령어 입력시 ) As, Bs : As: Bs 를 비교하는 스텝
S2S1S0Cin
x ( )초기상태S2S1S0CinLyzw
qa
qs
E
AsBs
w
z
y
Load
B register
A register
ALU
Bs
As E
제어논리회로
컴퓨터 구조론 36
9.7 연산 제어 장치 설계 (4)
가 / 감산기 알고리즘 상태도 상태도로 변환하는 이유 : 프로그램 제어 방식에서 각 상태들은
곧바로 제어기억 장치의 주소가 되기 때문 .x=1
T0
T 1
T3
T6
T 7
qa =0
qs =0 qs =1
qa =1
Bs=Bs
S=0
S=1
E=1
E=0
T0
: 초기상태 x=1
T 2 : As,Bs 비교T 3 : A=A+B, E=Cout
T5 : E=0
T 7 : A=A+1, As=As
T 1 : Bs=Bs
T 4 : A=A+B+1, E=Cout
T 6 : A=A
T5
T4
T2
컴퓨터 구조론 37
9.7 연산 제어 장치 설계 (5)
상태 플립플롭 제어 방식에 의한 설계
D
D
D
D
D
D
D
D
T0
T1
T2
T3
T4
T5
T6
T7
S
qa
qs
As
Bs
E
CP
S0
Ly
x
z
w
C in
S2
S1
컴퓨터 구조론 38
9.7 연산 제어 장치 설계 (6)
마이크로 프로그램 제어 방식에 의한 설계 마이크로 명령어 형식
제어 신호 필드 : 9- 비트 구성 . 실제 데이터 처리기의 제어 신호 다음 주소 공급 필드 : 제어 기억 장치의 주소를 제어하는 주소 버스 선
분기 조건 필드 : 마이크로 오퍼레이션의 분기점에서 다음 번지를 실행할 것인가 아니면 다른 번지로 점프할 것인가 결정
x s2 s1 s0 cin L y z w A2 A1 A0 MS1 MS0
[ 제어 신호 필드 ] [ 다음 주소 공급 필드 ] [ 분기 조건 필드 ]
[ 마이크로 명령어 형식 ]
컴퓨터 구조론 39
9.7 연산 제어 장치 설계 (7)
마이크로 프로그램 제어 방식에 의한 설계
0 1 S E
0 1 0
0 0 1
qs=1
qa=1
x
S1
S2
zyLCin
S0
w
Load in
put
incre
ment
A2A1A0MS1MS0
A2
A0
A1
CAR
MUX
0 1 2 3
MS
MS
0
1
제어 메모리0123456789
10111213
address select
[ 마이크로 프로그램 제어장치 ]
컴퓨터 구조론 40
9.8 간단한 컴퓨터 설계 (1)
8비트 컴퓨터의 CPU 설계 하드웨어 사양
PC : 16 bit MAR : 16 bit MBR : 8 bit IR : 8 bit Memory : 64 Kbyte Register(R1, R2, R3 ) ALU : 8 bit
컴퓨터 구조론 41
9.8 간단한 컴퓨터 설계 (2)
8비트 컴퓨터의 CPU 설계 명령어 구성
LD R1, n R1 ← n Immediate LD R1, R2 R1 ← R2 register LD R1, R3 R1 ← R3 register LD R1, M[address] R1 ← M[address] Direct LD M[address], R1 M[address] ← R1 Direct LD R2, R1 R2 ← R1 register LD R3, R1 R3 ← R1 Direct ADD R1, n R1 ← R1 + n Immediate ADD R1, R2 R1 ← R1 + R2 register SUB R1, R2 R1 ← R1 - R2 register
컴퓨터 구조론 42
9.8 간단한 컴퓨터 설계 (3)
8비트 컴퓨터의 CPU 설계 OP-CODE 설계
Op-code Mnemonic Command Addressing mode
00000001(01)
LD R1 , n R1 ← n Immediate
00000010(02)
LD R1, R2 R1 ← R2 register
00000011(03)
LD R1, R3 R1 ← R3 register
00000100(04)
LD R1, M[address] R1 ← M[address] Direct
00000101(05)
LD M[address], R1 M[address] ← R1 Direct
00000110(06)
LD R2, R1 R2 ← R1 register
00000111(07)
LD R3, R1 R3 ← R1 Direct
00001000(08)
ADD R1, n R1 ← R1 + n Immediate
00001001(09)
ADD R1, R2 R1 ← R1 + R2 register
00001010(0A)
SUB R1, R2 R1 ← R1 - R2 register
컴퓨터 구조론 43
9.8 간단한 컴퓨터 설계 (4)
8비트 컴퓨터의 CPU 설계 명령어 분석 -1
Instruction Fetch Cycle t0 : MAR ← PC t1 : MBR ← [M], PC ← PC + 1 t2 : IR ← MBR
Instruction Execution Cycle LD R1,n q1t3 : MAR ← PC q1t4 : MBR ← [M], PC← PC + 1 q1t5 : R1 ← MBR, T← 0 LD R1,R2 q2t3 : R1 ← R2, T ← 0 LD R1,R3 q3t3 : R1 ← R3, T ← 0
컴퓨터 구조론 44
9.8 간단한 컴퓨터 설계 (5)
8비트 컴퓨터의 CPU 설계 명령어 분석 -2
LD R1,M[address] q4t3 : MAR ← PC q4t4 : MBR ← [M], PC ← PC + 1 q4t5 : TEMPL ← MBR q4t7 : MAR ← PC q4t7 : MBR ← [M], PC ← PC + 1 q4t8 : TEMPH ← MBR q4t9 : MAR ← TEMP q4t10 :MBR ← [M] q4t11 : R1 ← MBR, T ← 0
컴퓨터 구조론 45
9.8 간단한 컴퓨터 설계 (6)
8비트 컴퓨터의 CPU 설계 명령어 분석 -3
LD M[address], R1 q5t3 : MAR ← PC q5t4 : MBR ← [M], PC ← PC + 1 q5t5 : TEMPL ← MBR q5t7 : MAR ← PC q5t7 : MBR ← [M], PC ← PC + 1 q5t8 : TEMPH ← MBR q5t9 : MAR ← TEMP q5t10 : MBR ← R1 q5t11 : [M] ← MBR, T←0 LD R2,R1 q6t3 : R2 ← R1, T← 0
컴퓨터 구조론 46
9.8 간단한 컴퓨터 설계 (7)
8비트 컴퓨터의 CPU 설계 명령어 분석 -4
LD R3,R1 q7t3 : R3 ← R1, T← 0 ADD R1,n q8t3 : MAR ← PC q8t4 : MBR ← [M], PC ← PC + 1 q8t5 : R1, MBR select q8t7 : ADD signal → Control q8t7 : R1 ← SHIFTER, T ← 0 ADD R1,R2 q9t3 : R1,R2 select q9t4 : ADD signal → control q9t5 : R1 ← SHIFTER, T ← 0
컴퓨터 구조론 47
9.8 간단한 컴퓨터 설계 (8)
8비트 컴퓨터의 CPU 설계 명령어 분석 -5
SUB R1,R2 qAt3 : R1,R2 select qAt4 : SUB signal → control qAt5 : R1 ← SHIFTER, T ← 0
컴퓨터 구조론 48
9.8 간단한 컴퓨터 설계 (9)
8비트 컴퓨터의 CPU 설계 분석된 명령어들을 기능별로 분류 -1
MAR ← PC x1 = t0+q1t3+q4t3+q4t7+q5t3+q5t7+q8t3
PC ← PC + 1 x2 = t1+q1t4+q4t4+q4t7+q5t4+q5t7+q8t4
MBR ← [M] x3 = x2+q4t10
IR ← MBR x4 = t2
R1 ← MBR x5 = q1t5 + q4t11
TEMPL ← MBR x6 = q4t5 + q5t5
TEMPH ← MBR x7 = q4t8 + q5t8
컴퓨터 구조론 49
9.8 간단한 컴퓨터 설계 (10)
8비트 컴퓨터의 CPU 설계 분석된 명령어들을 기능별로 분류 -2
MAR ← TEMP x8 = q4t9 + q5t9
R1 ← R2 x9 = q2t3
R1 ← R3 x10 = q3t3
MBR ← R1 x11 = q5t10
[M] ← MBR x12 = q5t11
R2 ← R1
x13 = q6t3
컴퓨터 구조론 50
9.8 간단한 컴퓨터 설계 (11)
8비트 컴퓨터의 CPU 설계 분석된 명령어들을 기능별로 분류 -3
R3 ← R1 x14 = q7t3
R1, MBR select x15 = q8t5
ADD signal x16 = q8t7 + q9t4
R1 ← SHIFTER x17 = q8t7 + q9t5 + qAt5
R1, R2 select x18 = q9t3 + qAt3
SUB signal x19 = qAt4
T ← 0 x20 = q1t5+q2t3+q3t3+q4t11+q5t11+q6t3+q7t3+q8t7+q9t5+qAt5
컴퓨터 구조론 51
9.8 간단한 컴퓨터 설계 (12) 8비트 컴퓨터의 CPU 설계 - CPU 회로도
MBR
CONTROLLogic
Decoder
T
Memory64K*8
MAR
PC
IR
R1
Decoder
MUXX1X2X3X4X5X6X7X8X9X11X12X13X14X15X16X17X18
t15
MUX
R2
R3
ALU
xS2S1S0cinH1H0Lyzw
MUX As
Bs
E
TEMPH TEMPL
DECODER
shifter
S2
S1
S0
cin
H1
H0W
Zy
X5X9X10
X17
X4
X20
X8
X7
X6X7
X2
read
write
load
X3
X18
X12
X11
Encoder
X5X9
X10X17
X20
0 1
X13
X14
X1
X8
연산제어회로
( 그림7- 21)
X19
X16
S1
S0 1 2 3
X19