컴퓨터구조 CPU가 일하는 순서

CPU는 전원이 켜져 있는 동안 아주 단순한 과정을 엄청나게 빠르게 반복하며 소프트웨어를 실행한다.

하드웨어 수준에서 데이터가 흐르는 기본 단위인 ‘명령어 사이클(Instruction Cycle)’의 메커니즘을 분석한다.

3단계의 무한 반복

CPU는 다음의 과정을 끊임없이 수행하며 작업을 처리한다.

  • 인출 (Fetch): 메모리에서 명령어를 가져와 IR(명령어 레지스터)에 저장한다.
    PC(프로그램 카운터)는 다음 명령어 주소로 갱신된다.

  • 해독 (Decode): 제어장치가 명령어를 분석하여 어떤 연산이 필요한지, 데이터는 어디에 있는지 파악한다.

  • 실행 (Execute): 분석된 결과에 따라 ALU가 연산을 수행하거나 데이터를 이동시킨다.

주요 레지스터의 협업 구조

  • PC (Program Counter): 다음에 실행할 명령어 주소 보관
  • MAR (Memory Address Register): 접근하려는 메모리 주소 보관
  • MBR (Memory Buffer Register): 메모리와 주고받는 실제 데이터 보관
  • IR (Instruction Register): 현재 실행 중인 명령어 보관

인터럽트 처리 (Interrupt)

실행 단계 이후 외부 장치의 긴급 요청(인터럽트)이 있는지 확인한다.

요청이 있다면 현재 상태를 저장하고 전 전용 서비스 루틴(ISR)을 실행한 뒤 원래 작업으로 복귀한다.

P.S

우리가 사용하는 복잡한 프로그램들도 결국은 이 단순한 사이클의 거대한 반복으로 구현된다.

명령어 사이클의 이해는 시스템 성능과 안정성을 설계하는 개발자의 기초 지식인 것 같다.

Author avatar

웨이호프

WordPress creator and blogger.

View all posts