CS/OS

컴퓨터의 요소 - CPU

KDGdev 2023. 1. 26. 16:13

CPU


산술논리연산장치, 제어장치, 레지스터로 구성되어 있는 컴퓨터 장치입니다.

 

  • 제어 장치
    • 컴퓨터에 있는 모든 장치들의 동작을 지시하고 제어합니다.
  • 레지스터
    • CPU 안에 있는 매우 빠른 임시기억장치입니다. 다음에 수행할 명령어 주소 저장하는 프로그램 카운터(PC) 현재 실행 중인 명령어 저장하는 명령어 레지스터(IR), 메모리 주소 레지스터(MAR), 메모리 버퍼 레지스터(MBR) 등이 있습니다
      • 프로그램 카운터(PC)
        • 다음에 수행할 명령어의 주소를 저장
      • 메모리 주소 레지스터(MAR)
        • CPU가 사용하려고 하는 명령어의 주소를 저장
      • 메모리 버퍼 레지스터(MBR)
        • 주기억장치에서 읽어온 명령어 임시 저장(주기억장치와 중앙처리장치 사이의 속도를 맞추기 위 한 완충제 역할)
      • 명령어 레지스터(IR)
        • 수행할 명령어를 저장
      • 명령어 해독기
        • 명령어 레지스터에 있는 명령어의 연산코드를 전달받아 해독한 뒤, 수행할 연산을 결정하여 연산장치에 전달
      • 누산기
        • 논리 연산의 중간결과를 저장
  • 산술논리연산장치
    • 덧셈, 뺄셈 같은 논리 연산을 계산하는 디지털 회로입니다.

운영체제의 커널이 프로그램을 메모리에 올려 프로세스를 만들면 CPU가 이를 처리하는 방식으로 프로그램이 실행됩니다.

 

CPU의 연산 처리 과정

  • 인출 싸이클
    1. 제어장치가 프로그램 카운터(PC) 안에 있는 주소를 메모리 주소 레지스터(MAR)로 전송 후, 주소에 해당되는 명령어를 메모리에서 가져와 메모리 버퍼 레지스터(MBR)에 저장
    2. 프로그램 카운터는 다음 실행할 명령어 주소를 바꿈
    3. 메모리 버퍼 레지스터에 저장된 내용을 명령어 레지스터에 전달
  • 실행 싸이클
    1. 명령어는 명령어 해독기로 이동
    2. 데이터 이동, 처리, 저장, 프로그램 제어와 같은 명령어의 종류를 해석해 수행할 연산을 결정해서 연산장치에 전달
    3. 연산 결과로 얻은 데이터를 누산기에 저장
    4. 연산이 전부 완료되면 데이터를 주기억장치에 저장