My Boundary As Much As I Experienced

CPU의 명령어 처리 사이클 본문

Computer Basics

CPU의 명령어 처리 사이클

Bumang 2023. 7. 24. 16:17

특수 목적 레지스터

  • MAR(메모리 주소 레지스터) : 읽기와 쓰기 연산을 수행할 주기억장치 주소 저장
  • PC(프로그램 카운터) : 다음에 수행할 명령어 주소 저장
  • IR(명령어 레지스터) : 현재 실행 중인 명령어 저장
  • MBR(메모리 버퍼 레지스터) : 주기억장치에서 읽어온 데이터 or 저장할 데이터 임시 저장
  • AC(누산기) : 연산 결과 임시 저장

앞선 포스팅에서 다룬 레지스터는 이렇게 여러 종류의 특수 목적 레지스터가 있다.

명령어를 처리하는 사이클을 설명하는데에 필수적인 요소들

 

 

명령어 세트

CPU가 실행할 명령어의 집합을 말함. 프로그램을 돌릴 때 발생

연산 코드(Operation Code) + 피연산자(Operand)로 되어있음.

 

  • 연산 코드(Operation Code)
    • 실행할 연산
    • 연산, 제어, 데이터 전달, 입출력 기능을 가짐
  • 피연산자(Operand)
    • 주소, 숫자/문자, 논리 데이터 등으로 이루어짐

 

 

명령어 사이클

명령어 세트 한 줄 한 줄 실행하기 위한 사이클이다. 이 사이클 내내 메모리와 CPU에서 일어나는 마이크로 연산의 사이클을 말하기도 한다.

크게 봤을 때:
인출 사이클 → 실행 사이클

자세히 봤을 때:
인출 사이클 → 간접 사이클 → 실행 사이클 → 인터럽트 사이클

이렇게 요약할 수 있다.

 

 

인출 사이클

  • PC(다음에 수행할 명령어 주소 저장소)에 저장된 주소를 MAR(메모리 주소 레지스터)로 전달
  • 저장된 내용을 토대로 주기억장치의 해당 주소에서 명령어 인출
  • 인출한 명령어를 MBR에 저장(메모리 버퍼 레지스터, 주기억장치에서 읽어온 데이터 or 저장할 데이터 임시 저장)
  • 다음 명령어를 인출하기 위해 PC 값(다음에 수행할 명령어 주소 저장소) 증가시킴
  • MBR(메모리 버퍼 레지스터, 주기억장치에서 읽어온 데이터 or 저장할 데이터 임시 저장)에 저장된 내용을 IR(명령어 레지스터)에 전달

실행 사이클

  • IR로 가져온 명령어가 지시하는 내용에 따라 수행되는 마이크로 연산이 달라진다.
  • 명령어 해독(decode) : 인출된 명령어를 해독한다.

'Computer Basics' 카테고리의 다른 글

고정소수점과 부동소수점  (0) 2023.08.01
캐시메모리(Cache Memory)  (0) 2023.07.24
컴퓨터의 구성  (0) 2023.07.17
가상 메모리(Virtual Memory), TLB(Translation Lookaside Buffer)  (0) 2023.07.17
CPU/MPU/MCU란?  (0) 2023.07.17