도서/혼자공부하는 컴퓨터 구조 + 운영체제

[CPU] ALU, 제어장치에 대해 간단히 알아보자

괴발맨 2023. 6. 8. 21:15

CPU는 ALU, 제어장치, 레지스터로 구성됩니다.

ALU는 한국어 번역하면 산술논리연산장치이며 이름 그대로 산술 연산, 논리 연산을 수행한다. 예를 들어 1+2 를 계산하고 3이라는 결과를 냅니다. 

제어장치는 제어신호로 컴퓨터 전체를 제어합니다. 예를 들어 ALU에 "더하라" 라는 제어신호를 보내 ALU가 더하는 일을 하도록 합니다.

레지스터는 CPU 내부의 저장장치입니다. 예를 들어 ALU가 연산을 수행할때 그 피연산자들이 레지스터에 저장됩니다.

 

ALU 

- 받아들이는 정보

   - ALU로부터 오는 제어신호

   - 레지스터에 임시 저장된 피연산자

- 내보내는 정보

   - 연산의 결과 

      - 숫자, 문자, 메모리 주소

   - 플래그

     - 부호, 제로, 캐리, 오버플로우, 인터럽트, 슈퍼바이저 플래그

   

예시) 

  ALU가 제어장치로부터 "더해라" 라는 제어신호와 레지스터로부터 "1"과 "2" 라는 피연산자를 받아들인다.

  1과 2를 더하는 연산을 수행한 뒤 3이라는 결과를 레지스터에 임시 저장한다.

   그리고 플래그를 플래그 레지스터에 저장하는데, 이떄 결과값의 부호가 양수이기 때문에 부호 플래그는 0이 된다.

 

제어장치

- 받아들이는 정보

   - 클럭 신호 

     - 클럭 신호는 일정 주기로 똑딱똑딱 발생하는 신호인데, 제어장치는 이 신호에 맞춰 다른 장치들에게 신호를 내보낸다.

   - 해석해야할 명령어

     - CPU 내 명령어 레지스터에 저장된 레지스터를 받아들이고 해석한 뒤 다른 장치들에게 신호를 내보낸다.

   - CPU 외 다른 장치가 발생시킨 제어신호

     - 다른 장치가 제어버스로 보낸 제어신호를 받아들인다.

- 내보내는 정보

   - CPU 내부에 전달하는 제어신호

     - ALU에게 보내는 제어신호

     - 레지스터에게 보내는 제어 신호 (레지스터 간 명령어 이동, 레지스터에 저장된 명령어 해석)

   - CPU 외부에 전달하는 제어신호

     - 이 신호는 제어 버스를 통해 내보내진다.

     - 메모리의 값을 읽거나 메모리에 값을 쓰는 신호

     - 입출력 장치의 값을 읽거나 입출력 장치에 값을 쓰는 신호