, CPU 내의 명령어 처리 과정
본문 바로가기
IT

CPU 내의 명령어 처리 과정

by 청솔모♡ 2022. 4. 21.
반응형

CPU 내의 명령어 처리 과정     

                        
①프로그램카운터(PC)레지스터는 다음에 실행할 명령어의 주소를 가지고 있습니다.
프로그램은 기본적으로 순차적으로 실행되는것이 원칙입니다. 현재 100번지 명령을
처리하고 있다면 프로그램 카운터 레지스터에는 101번지라는 다음 주소값을 가지고 
있습니다. 101번지지 명령을 CPU로 가져오기 위해 101번지 주소를 메모리 주소
레지스터(MAR)로 전송합니다.

(MAR <--  PC)

② MAR로 전송된 101번지 주소값을 주기억장치의 주소처리기로 전송합니다. 주기억
장치의 주소처리기는 101번지에 접근하여 명령을 읽어 메모리 버퍼 레지스터(MBR)로 
전송합니다. 프로그램카운터(PC)레지스터의 값은 102번지로 자동으로 +1증가합니다.
(MBR <-- M[MAR])
(PC<-- PC + 1)
MBR는 전송받은 명령을 명령어 레지스터(IR)로 보내줍니다.
(IR<-- MBR)

③ 명령레지스터(IR)로 전송된 명령부분(OP-Code)을 명령해독기로 전송하도록
지시합니다. 명령어의 주소부분(Operand)은 주소처리기로 보냅니다. 예를 들어
인출해온 101번지의 명령이 (ADD, 500)이라면 주기억장치의 500번지에 저장되어
있는 데이터를 가져와서 누산기 레지스터에 저장되어 있는 값과 더하라는
명령입니다. ADD는 명령코드(OP-Code)에 해당하며 500은 주소부(Operand)에
해당합니다.

④ Operand부의 500번지를 주소처리기에서 MAR로 다시 보내줍니다.MAR은 500번지
주소를 받아 다시 주기억장치로 보내고 주기억장치의 주소처리기는 500번지로 찾아가서 데이터를 읽어MBR로 전송해 줍니다. 이 과정이 연산에 필요한 데이터를 
인출(Fetch)해 오는 과정입니다.  

⑤ MBR로 전송받은 데이터를 연산장치(ALU)로 전송해 줍니다.이 때 연산장치는
제어장치의 해독기로부터 ADD명령에 대한 지시를 받게 됩니다.연산장치로 전송 된
데이터값은 누산기 레지스터(ACC)에 저장되어 있던 기존 값에 더해지게 됩니다.

반응형

'IT' 카테고리의 다른 글

CISC방식과 RISC방식 비교  (0) 2022.04.21
CISC방식과 RISC방식의 프로세서  (0) 2022.04.21
레지스터(Register)  (0) 2022.04.21
폰 노이만 구조와 하버드 구조  (0) 2022.04.21
CPU의 4가지 상태 변화  (0) 2022.04.21

댓글