명령어 사이클(instruction cycle)

  • CPU가 한 개의 명령어를 실행하는 데 필요한 전체 과정
    • 인출(fetch)사이클
      • CPU가 기억장치로 부터 명령어를 읽어오는 단계
    • 실행(execution)사이클
      • 인출된 명령어를 실행하는 단계


기본 명령어 사이클


명령어 실행에 필요한 CPU 내부 레지스터들

  • 프로그램 카운터
    • Program Counter : PC
  • 누산기
    • Accumulater : AC
  • 명령어 레지스터
    • Instruction Register : IR
  • 기억장치 주소 레지스터
    • Memory Address Register : MAR
  • 기억장치 버퍼 레지스터
    • Memory Buffer Register : MBR


데이터 통로가 표시된 CPU 내부 구조


인출 사이클(fetch cycle)

  • CPU가 기억장치의 지정된 위치로부터 명령어를 읽어오는 과정
  • 마이크로-연산(micro-operation)
    • CPU 클록의 각 주기 동안 수행되는 기본적인 동작


인출 사이클에서의 주소 및 명령어 흐름도


실행 사이클(execution cycle)

  • CPU가 명령어를 해독(decode)하고 그 결과에 따라 필요한 연산들을 수행하는 과정
  • CPU가 수행하는 연산들의 종류
    • 데이터 이동
    • 데이터 처리
    • 데이터 저장
    • 프로그램 제어


실행 사이클에서의 주소 및 데이터 흐름도


인터럽트 사이클(interrupt cycle)

  • 인터럽트 요구가 들어왔는지 검사하고 그 처리에 필요한 동작들을 수행하는 과정
  • 인터럽트
    • 프로그램 실행 중에 CPU의 현재 처리순서를 중단시키고 다른 동작을 수행하도록 요구하는 시스템 동작
  • 인터럽트 서비스 루틴
    • 인터럽트 요구를 처리해주기 위해 수행하는 프로그램 루틴


인터럽트 사이클이 추가된 명령어 사이클


간접 사이클(indirect cycle)

  • 실행 사이클에서 사용될 데이터의 실제 주소를 기억장치로부터 읽어오는 과정
  • 간접 주소지정 방식에서 사용
  • 인출 사이클과 실행 사이클 사이에 위치

Leave a comment