제 3 장 명령실행과 제어
1. 마이크로 오퍼레이션(Micro Operation):중앙처리장치내 실행해있는 명령코드
1) 마이크로 오퍼레이션
① 동기 고정식 : 가장 긴 수행 시간을 마이크로 사이클 타임으로 정의.
㉠ 장점 : 각각 명령어의 수행 시간이 비슷할 때 유리.
㉡ 단점 : 각각 명령어의 수행 시간이 차이날 때 CPU 낭비.
② 동기 가변식 : 수행 시간이 유사한 것끼리 모아서 군을 형성.
㉠ 장점 : CPU 시간을 효율적으로 이용.
㉡ 단점 : 제어가 복잡.
③ 비동기식(비순서결정) : 모든 micro operation 에 대해 서로 다른 사이클 정의.
※동기 가변식도 경우에 따라 모든 명령에 대해 서로 다른 사이클을 정의할 수 있다.
2. 메이저 스테이트(Major State): 중앙처리장치가 일을하고 있는 상태
1) Fetch Cycle(인출 사이클) = load
― 주기억장치의 명령을 CPU로 가져오는 주기.
① MAR ← PC (다음에 수행할 명령번지 지시) ② MBR(메모리버퍼레지스터) ← M(MAR), PC ← PC+1 (프로그램카운터 1씩 증가시킴) ③ IR(명령레지스터) ← MBR |
2) Indirect Cycle(간접 사이클): 주소를 읽는다
― operand(주소)가 간접 주소일 때 수행되는 주기. (직접,상대주소일때 생략)
3) Execute Cycle(실행 사이클)
― 실질적인 연산을 실행하는 주기.
① AND 명령: 논리회로에서 마스킹 역할
MAR ← MBR MBR ← M(MAR) (누산기) AC ← AC AND(둘다참일때만참) MBR |
② ADD 명령: 덧셈
MAR ← MBR MBR ← M(MAR) EAC(실행되는 누산기) ← AC + MBR |
③ LDA 명령:=Load (STA의 반대)
MAR ← MBR MBR ← M(MAR), AC ← 0 (초기화) AC ← AC + MBR |
④ STA 명령
MAR ← MBR MBR ← AC M(MAR) ← MBR |
⑤ ISZ 명령: 유일한 4단계
MAR ← MBR MBR ←M(MAR) MBR ← MBR + 1 (1씩증가) M(MAR) ← MBR |
※ 수행 과정이 3단계로 구성된 명령을 '3 Cycle 명령' 이라 한다.(AND, ADD, LDA, STA 등)
4) Interrupt Cycle
― 현재 수행중인 명령이 중단되는 상태.
MBR ← PC, PC ← 0 MAR ← PC, PC ← PC + 1 M(MAR) ← MBR, IEN ← 0 |
※ 메이저 스테이트 수행과정
3. 마이크로 명령:중앙처리장치에서 실질적으로 처리되는 명령
1) 수평 마이크로 명령
2) 수직 마이크로 명령
3) 나노 명령
4. 방식
1) 고정배선방식 : 고속, 고가, 융통성이 없다.
2) 마이크로 프로그램방식: ROM에 저장