Software Lab

3. 명령어 처리 주기(Instruction cycle) #2 본문

컴퓨터 구조/Instruction Set

3. 명령어 처리 주기(Instruction cycle) #2

아임코더 2022. 8. 11. 10:02

1. load 명령어 처리

load 명령어 인출 과정

: PC에서 MAR로 주소를 복사한다.
: MAR의 주소는 address bus로 출력된다.
: controller는 control bus 중에서 read 신호를 출력한다.
: 주소와 read 신호를 받은 memory는 그 주소에 저장된 명령어를 data bus로 보낸다.
: 명령어는 MBR에 입력된다.
: 명령어는 MBR에서 IR로 복사된다.

 

load 명령어 실행 과정

: Decoder는 IR에 있는 명령어를 해석한다.
: 명령어에서 주소를 MAR로 복사한다.
: MAR의 주소는 address bus로 출력된다.
: load 명령어의 실행 절차를 시작한다.
: controller는 control bus 중에서 read 신호를 출력한다.
: 주소와 read 신호를 받은 memory는 그 주소에 저장된 데이터를 data bus로 보낸다.
: 데이터는 MBR에 입력된다.
: 데이터는 MBR에서 AC로 복사된다.
: 다음 명령어를 가리키도록 값이 자동 증가한다.

2. add 명령어 처리

add 명령어 인출 과정

① ~ ⑥ : 위의 load 명령어 인출 과정과 같다.

 

add 명령어 실행 과정

: Decoder는 IR에 있는 명령어를 해석한다.
: 명령어에서 주소를 MAR로 복사한다.
: MAR의 주소는 address bus로 출력된다.
: add 명령어의 실행 절차를 시작한다.
: controller는 control bus 중에서 read 신호를 출력한다.
: 주소와 read 신호를 받은 memory는 그 주소에 저장된 데이터를 data bus로 보낸다.
: 데이터는 MBR에 입력된다.
: MBR의 데이터는 ALU에 입력된다.
: AC에 있었던 데이터는 ALU에 입력된다.
: Opcode add가 ALU에 입력된다.
: ALU에 입력된 두 값은 더해져서 AC로 저장된다.
: 다음 명령어를 가리키도록 값이 자동 증가한다.

3. store 명령어 처리

store 명령어 인출 과정

① ~ ⑥ : 위의 load 명령어 인출 과정과 같다.

 

store 명령어 실행 과정

: Decoder는 IR에 있는 명령어를 해석한다.
: 명령어에서 주소를 MAR로 복사한다.
: MAR의 주소는 address bus로 출력된다.
: store 명령어의 실행 절차를 시작한다.
: AC의 데이터는 MBR로 복사된다.
: MBR의 데이터는 data bus로 출력된다.
: controller는 control bus 중에서 write 신호를 출력한다.
: 주소, write 신호를 받은 memory는 그 주소에 data bus로부터 전달된 데이터를 저장한다.
: 다음 명령어를 가리키도록 값이 자동 증가한다.
Comments