CS공부/컴퓨터구조 / / 2025. 4. 23. 22:35

4-1. ALU와 제어장치

ALU

레지스터를 통해 피연산자를 받아들이고, 제어장치로부터 수행할 연산을 알려주는 제어신호를 받는다.

산술 연산, 논리 연산 등 다양한 연산을 수행한다.

수행한 결과는 숫자나 문자 또는 메모리 주소가 될 수 있으며 바로 메모리에 저장되는 것이 아닌 일시적으로 레지스터에 저장된다.

연산결과에는 플래그를 같이 내보낸다.

플래그

연산 결과의 추가적인 정보

  1. 부호 플래그
    1. 연산한 결과의 부호를 나타낸다
    2. 1 = 음수, 0 = 양수
  2. 제로 플래그
    1. 연산 결과가 0인지 여부를 나타낸다.
    2. 1 = 0, 0 = 0이 아님
  3. 캐리 플래그
    1. 연산 결과 올림수나 빌림수가 발생했는지를 나타낸다.
    2. 1 = 발생, 0 = 발생x
  4. 오버플로우 플래그
    1. 오버플로우가 발생했는지를 나타낸다.
    2. 1 = 발생, 0 = 발생x
  5. 인터럽트 플래그
    1. 인터럽트가 가능한지를 나타낸다.
    2. 1 = 가능, 0 = 불가능
  6. 슈퍼바이저 플래그
    1. 커널 모드로 실행 중인지, 사용자 모드로 실행 중인지를 나타낸다
    2. 1 = 커널모드 0 = 사용자 모드

이는 플래그 레지스터에 저장 된다.

제어장치

제어신호를 내보내고, 명령어를 해석하는 부품

제어장치는 클럭, 현재 수행할 명령어, 플래그, 제어 신호를 받는다.

*제어신호 : 컴퓨터 부품들을 관리하고 작동시키기 위한 전기 신호

제어장치는 CPU 내부와 외부로(메모리와 입출력장치) 제어신호를 보냅니다.

내부에 전달하는 제어신호는 ALU와 레지스터에 전달하며 ALU에는 연산을 위해, 레지스터에는 데이터 이동 또는 레지스터에 저장된 명령어를 해석하기 위해 제어신호를 보냅니다.

외부에 전달하는 제어신호는 메모리와 입출력장치에 각각 저장된 값을 읽거나 새로 쓰고 싶을 때 신호를 내보냅니다.

  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유