[TIL] 혼자 공부하는 OS ALU 와 제어장치

2025.03.16
·
6 min read

CPU 구성 요소

CPU 주요 구성

  1. ALU (산술 논리 장치)

    1. 계산을 담당합니다

  2. 제어장치

    1. 명령어 해석과 제어 신호를 발생시킴

  3. 레지스터

    1. 임시 데이터를 저장함.

ALU (Arithmetic Logic Unit)

  • 역할

    • CPU 내부의 계산을 수행하는 장치

  • 입력

    • ALU 가 계산을 하는 경우 2가지 종류의 입력 정보가 필요하다.

      1. 피연산자(Operand)

        1. 계산할 숫자나 데이터

        2. CPU 내부의 레지스터 에서 받아온다.

        3. Operand A = 5, Operand B = 3

      2. 제어 신호(Control Signal)

        1. 어떤 계산을 해야하는지 알려주는 신호이다.

        2. 제어장치에서 받아들인다.

        3. 연산 수행을 위한 신호 (더하기나 빼기 등) 을 수행한다.

  • 출력

    • 연산 결과

      • 레지스터에 저장한다.

        • 숫자, 문자, 주소 등 0과 1로 표현된 데이터

        • 메모리 대신 레지스터에 저장하는 이유이다.

          • 레지스터 접근 속도가 메모리보다 빠르다.

    • 플래그

      • 연산 결과의 부가적인 정보이다.

      • ex

        • 결과가 음수인지 양수인지

        • 결과가 0인지

        • 올림수(carry), 빌림수(borrow) 발생여부

        • 오버플로우 여부 등

4075

주요 플래그 종류

플래그명 역할(의미)

부호 플래그

결과가 음수인지 양수인지 판단

제로 플래그

결과가 0인지 여부 판단

캐리 플래그

올림수 또는 빌림수 발생 여부 판단

오버플로우 플래그

결과가 레지스터 크기를 초과하는지 판단

인터럽트 플래그

인터럽트 허용 여부 판단 (추후 학습)

슈퍼바이저 플래그

사용자모드 or 커널모드 판단 (운영체제에서 학습)

ALU 동작 원리

4076

제어장치

4077
  • 역할

    • 명령어 해석하고 + 컴퓨터 내부, 외부에 제어신호 를 담당한다

    • 명령어를 읽고 → 무슨 뜻인지 이해하고 → ~를 해라! 하고 알려주는 역할임.

  • 입력정보

    입력정보 설명 예시

    클럭 신호

    CPU 모든 부품들이 일정한 간격으로 같이 움직이도록 맞추는 신호임

    메트로놈처럼 일정 간격으로 신호가 발생한다고 한다.

    명령어

    CPU 가 무엇을 해야하는지 적힘

    메모리의 숫자를 가져와서 더해라!

    플래그

    이전 연산 결과에 대해 부가적인 정보(계산 결과가 0인지, 음수인지 등)

    외부 제어 신호

    CPU 외부 키보드나 마우스 로부터 전달된 신호

    키보드에서 어떤 키가 눌림

  • 출력 정보

    • 크게 2가지로 구분됨

      1. CPU 내부로 보내는 신호

        • 레지스터로 보내는 신호

          • ~ 숫자를 저장해라, 숫자를 이동해라

        • ALU 에게 보내는 신호

          • 증감 연산, 비교 연산등

      2. CPU 외부로 보내는 신호

        1. 메모리

          1. 저장된 숫자를 읽어서 메모리 저장!

        2. 입출력 장치

          1. 모니터 글자 출력

          2. 키보드 눌렸는지 체크

제어 장치 동작 예시

  • CPU 가 5 + 2 라는 연산 수행시

    1. 제어장치 명령어 보고 더하기 해야하는 구나 인지

    2. 클럭 신호(똑딱신호)

      1. 마우스에 500hz 1000hz 등의 클럭 설정이 가능한데 해당 클럭 신호와 동일한 개념인듯하다.

        1. 언제 데이터를 보내야하는지 모르니, 주기적으로 전기적신호로 체크하는듯

      2. ALU(Arithmetic Logic Unit) 에게 지금 더하기 연산해라 신호줌

    3. ALU 가 연산후 제어장치레지스터에게 연산 결과를 받아서 저장해 라고 신호를 준다.

    4. 연산이 끝나는 경우 제어장치는 메모리나 모니터에 결과를 전달하도록 지시







- 컬렉션 아티클