CPU 제어상태(Major State)

CPU 제어상태(Major State)

CPU 제어상태(Major State), 메모리에 저장된 명령어를 실행하는 과정에서 일련의 사이클을 따르며 수행하는 것을 의미합니다.. 이는 명령어 실행 사이클(Instruction Execution Cycle)이라고도 하며, 일반적으로 아래와 같은 주요 상태로 구분됩니다.

  • Fetch
  • Decode
  • Execute
  • Interrupt

명령어 인출(Fetch)

  • 설명: CPU가 실행할 명령어를 메모리에서 가져오는 단계입니다.

  • 과정

    1. 프로그램 카운터(PC, Program Counter)가 현재 실행할 명령어의 메모리 주소를 지정합니다.

    2. CPU의 메모리 주소 레지스터(MAR, Memory Address Register)가 해당 주소를 메모리에 전달합니다.

    3. 메모리는 해당 주소에서 명령어를 읽어 메모리 버퍼 레지스터(MBR, Memory Buffer Register) 또는 명령어 레지스터(IR, Instruction Register)에 저장합니다.

    4. 프로그램 카운터(PC)가 다음 명령어 주소로 증가합니다.

명령어 해석(Decode)

  • 설명: 인출된 명령어를 분석하여 CPU가 수행할 작업을 결정하는 단계입니다.

  • 과정

    1. 명령어가 명령어 레지스터(IR)에 저장됩니다.

    2. 명령어 해독기(Decoder)가 해당 명령어를 분석하여 어떤 연산을 수행할지 결정합니다.

    3. 필요하면 명령어 실행을 위해 추가적인 데이터(예: 메모리 주소, 연산 값 등)를 가져옵니다.

명령어 실행(Execute)

  • 설명: 해석된 명령어를 실행하는 단계입니다.

  • 과정

    1. 명령어에 따라 CPU의 산술 논리 연산장치(ALU, Arithmetic Logic Unit)가 계산을 수행하거나, 데이터 이동, 입출력 요청 등을 처리합니다.

    2. 연산 결과가 레지스터나 메모리에 저장됩니다.

    3. 특정 조건을 만족하면 프로그램 카운터(PC)를 수정하여 분기(branch) 명령을 수행할 수도 있습니다.

결과 저장(Store)

  • 설명: 실행된 명령어의 결과를 메모리 또는 레지스터에 저장하는 단계입니다.

  • 과정

    1. 연산 결과를 특정 레지스터 또는 메모리 주소에 저장합니다.

    2. 만약 출력을 동반하는 명령이라면, 결과를 입출력 장치(I/O Device)로 전송할 수도 있습니다.

    3. 다음 명령어를 실행하기 위해 CPU는 다시 명령어 인출(Fetch) 단계로 돌아갑니다.

인터럽트 검사(Interrupt Check)

  • 설명: CPU는 실행 중에 특정 인터럽트가 발생했는지 확인하며, 필요하면 실행을 중단하고 인터럽트 처리를 진행합니다.

  • 과정

    1. 인터럽트가 발생하면 현재 실행 중인 명령을 멈추고, 인터럽트 핸들러(Interrupt Handler)를 실행합니다.

    2. CPU는 인터럽트 처리를 마친 후 다시 원래 실행 중이던 프로세스로 복귀합니다.

CPU 제어 상태(Major State) 순서

  1. 명령어 인출(Fetch) → 프로그램 카운터(PC)에서 명령어를 가져옴.

  2. 명령어 해석(Decode) → CPU가 명령어의 의미를 분석함.

  3. 명령어 실행(Execute) → 명령어에 따른 연산 또는 작업을 수행함.

  4. 결과 저장(Store) → 연산 결과를 저장하거나 출력함.

  5. 인터럽트 검사(Interrupt Check) → 필요한 경우 인터럽트 처리 후 다음 명령 실행.

이 과정이 빠른 속도로 반복되면서 CPU가 지속적으로 작업을 수행합니다.

운영체제 명령 흐름

0 0 votes
Article Rating
Subscribe
Notify of
guest
1 Comment
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
trackback

[…] 명령어 가져오기(Fetch) → 해석(Decode) → 실행(Execute) 과정을 반복하며 프로그램을 […]