Computer Science/컴퓨터 구조

6. 명령 사이클

728x90
반응형

1. fetch

먼저 프로그램카운터의 초기주소값이 결정되고 주소에 의하여 명령어가 기억장치로부터 읽혀진다. 이것을 인출이라 한다.

PC를 참조하여 실행할 명령을 기억장체치에서 읽어와 IR로 전송

디코딩

다음명령을 위하여 PC 갱신

t0 : MAR ← PC                            : 명령의 번지를 전송

t1 : MBR ← M(MAR), PC ← PC+1     : 명령을 읽고, PC하나 증가

t2 : OPR ← MBR(OP), I ← MBR(I)    :  OP코드와 mode 비트를 전송

2. indirect

인출해 온 오퍼랜드르 주소값으로 하여 기억장치로 부터 내용을 다시 읽어와야 하는데 이러한 과정을 간접사이클이라 한다.fetch사이클에서 읽어드린 명령의 모드비트가 간접주소인 경우에는 이 indirect사이클로 변이되며, 유효주소를 얻기 위하여 기억장치에 접근한다.

t0 : MAR ← MBR(AD)                   : 명령의 번지를 전송

t1 : MBR ← M(MAR)                    : 명령을 읽고, PC하나 증가


3. execute

AND (q0)

ADD (q1) : AC와 MBR의 가산결과가 AC 에 저장되고 캐르는 E에 저장

t0 : MAR ← MBR(AD)

t1 : MBR ← M[MAR]

t2 : AC ← AC+MBR

LDA (q3)

STA (q4)

BUN (q5) :Branch unconditionally : 프로그램흐름을 지정된 유효번지로 옮기는 명령 (goto, 서브루틴 return)

t0 : PC← MBR(AD)

BSA (q6) : Branch and Save return address : 서브루틴 프로그램으로 분기하기위해 사용되는 명령 (서브루틴 call)

t0 : MAR ← MBR(AD), MBR(AD) ← PC, PC ← MBR(AD)

t1 : M ← MBR

t2 : PC ← PC+1

ISZ (q7)


4. interrupt

명령의 실행 도중에 입출력 장치나 그 밖의 동작에 의하여 인터럽트가 발생되면 해당 서비스를 하게 되는 데 이것을 인터럽트 사이클이라 한다. 즉, 명령 실행 과정을 계속 할 수 없는경우에 응급조치를 취한 수에 계속 실행할 수 잇도록 중앙 상태를 보관하고 외부 인터럽트를 실행하는 사이클이다. 


현재 실행중인 프로그램상태(다음명령주소PC와 관련 레지스터 내용)를 기억장치에 저장하고 인터럽트를 처리하기 위한 루틴으로 분기

t0 : MBR(AD) ← PC,  PC ← 0    : 복귀 번지를 전송, PC clear

t1 : MAR ← PC, PC ← PC+1      : MAR에 0을 전송, PC에 1 set

t2 : M ← MBR, IEN ← 0           : 복기 번지를 저장, 인터럽트 인에이블 clear

Go to fetch cycle!!

728x90
반응형

'Computer Science > 컴퓨터 구조' 카테고리의 다른 글

파이프라인  (0) 2012.10.25
7. 제어장치 ( micro programming )  (0) 2012.10.23
5. 주소지정 방식(Adressing mode)  (0) 2012.10.15
4. 명령어의 형식과 CPU구조 ( 0-3주소 )  (0) 2012.10.15
3. 명령어의 종류  (0) 2012.10.13