혼공컴운_CH4-1_CPU의 작동원리

Today Jeeho Learned·2025년 10월 21일
post-thumbnail

🧠 ALU와 제어장치

CPU의 핵심 구성 요소인 ALU와 제어장치의 역할과 정보 흐름을 알아보자.
두 장치가 어떤 정보를 주고받는지를 중심으로 학습한다.


⚙️ 1. ALU (Arithmetic Logic Unit)

🔸 ALU가 받아들이는 정보

  • 피연산자: 레지스터로부터 데이터를 받아 연산에 사용한다.
  • 제어 신호(Control Signal): 제어장치로부터 수행할 연산의 종류(덧셈, 뺄셈, 논리곱 등)를 전달받는다.

💡 즉, ALU는 레지스터의 피연산자제어장치의 제어 신호를 입력으로 받아 연산을 수행한다.


🔸 ALU가 내보내는 정보

  • 연산 결과: 수행 결과는 메모리에 직접 저장되지 않고, 레지스터에 일시적으로 저장된다.
    (메모리 접근은 느리기 때문에 CPU 효율을 위해 레지스터를 활용한다.)
  • 플래그(Flag): 연산 결과에 대한 상태 정보를 나타내는 부가 신호를 함께 내보낸다.

🧩 플래그(Flag)

“이진수 결과만으로는 상태(양수/음수 등)를 알기 어렵기 때문에, 이를 표시하는 신호를 플래그라고 한다.”

플래그 종류의미사용 예시
부호 플래그 (Sign Flag)연산 결과의 부호를 나타냄1이면 음수, 0이면 양수
제로 플래그 (Zero Flag)연산 결과가 0인지 여부를 나타냄결과가 0일 때 1
캐리 플래그 (Carry Flag)올림수나 빌림수가 발생했는지 나타냄덧셈/뺄셈 시 자릿수 초과 감지
오버플로우 플래그 (Overflow Flag)연산 결과가 표현 범위를 초과했는지 나타냄정수 범위 초과 시 1
인터럽트 플래그 (Interrupt Flag)인터럽트 허용 여부를 제어1이면 인터럽트 가능
슈퍼바이저 플래그 (Supervisor Flag)커널 모드/사용자 모드 구분시스템 모드 제어에 사용
  • 이러한 플래그들은 플래그 레지스터에 저장된다.
  • ALU가 연산을 수행한 후, 제어장치는 플래그 값을 참고해 다음 동작을 결정한다.

🧭 2. 제어장치 (Control Unit)

“제어장치는 CPU 내부의 각 부품을 관리하고 작동시키는 신호를 내보내는 두뇌 역할을 한다.”
제어신호(Control Signal)는 컴퓨터 부품을 제어하는 전기 신호이다.


🔹 제어장치의 주요 역할

  1. 클럭 신호(Clock Signal) 수신

    • 클럭은 컴퓨터 내부의 모든 부품을 동기화시키는 시간 단위이다.
    • 한 클럭 주기마다 데이터 이동, 명령어 실행, 연산 등이 이루어진다.
    • 모든 명령이 한 클럭만에 수행되는 것은 아니며, 복잡한 명령은 여러 클럭에 걸쳐 실행된다.
  2. 명령어 해석 (Instruction Decoding)

    • CPU가 처리할 명령어는 명령어 레지스터(IR) 에 저장된다.
    • 제어장치는 IR의 명령어를 해석하고, 필요한 제어신호를 생성하여 각 부품에 전달한다.
  3. 플래그 레지스터 참조

    • 제어장치는 ALU가 설정한 플래그 값을 참고하여 다음 동작(분기, 반복, 중단 등)을 결정한다.
  4. 외부 제어신호 수신

    • 제어 버스(Control Bus)를 통해 입출력장치나 외부 장치에서 발생한 제어신호를 받아들인다.
    • 예: 인터럽트 요청, I/O 제어 명령 등.

🔹 제어장치가 내보내는 정보

  • CPU 외부로 보내는 제어신호

    • 제어 버스를 통해 메모리나 입출력장치에 제어 명령을 보낸다.
    • 예: 메모리 읽기(Read) / 쓰기(Write) 신호, 입출력장치 활성화 신호 등.
  • CPU 내부로 보내는 제어신호

    • ALU에 수행할 연산을 지시한다.
    • 레지스터 간 데이터 이동, 명령어 해석, 결과 저장 등을 지시한다.

🧩 정리

구성요소입력 정보출력 정보주요 역할
ALU피연산자(레지스터), 제어신호연산 결과, 플래그산술·논리 연산 수행
제어장치클럭, 명령어, 플래그, 외부 제어신호내부/외부 제어신호명령어 해석 및 CPU 전체 제어

📘 핵심 요약

  • ALU: 실제 연산 수행 → 결과와 플래그를 출력
  • 제어장치: 명령 해석 및 제어신호 생성 → CPU 전체 동작을 관리
  • 두 장치는 레지스터, 버스, 클럭, 플래그를 통해 서로 긴밀히 협력한다.
profile
기록해야 (살아)남는다 !

0개의 댓글