나만의 학습 기록

최종 목적은 기술 블로그💩

CS

컴퓨터의 구조 - CPU에 대해 1

밈밍민믹 2026. 3. 13. 20:03

저번에는 컴퓨터가 이해하는 정보에 대해 학습해보았습니다. 이번에는 컴퓨터의 구조에 대해 자세히 알아보도록 하겠습니다.

 

CPU란?

CPU(Central Processing Unit)는 중앙 처리 장치로 산술·논리 연산, 제어, 입출력 등 프로그램 명령을 수행합니다. 비유하자면 사람의 두뇌라고 할 수 있습니다.

CPU의 구조

  • 산술 논리 연산 장치(ALU ; Arithmetic and Logic Unit) : 연산을 수행할 회로로 구성된 일종의 계산기
  • 제어 장치(CU ; Control Unut) : 명령어를 해석해 제어 신호라는 전기 신호를 내보내는 장치
  • 레지스터(Register) : 임시 저장 장치
    • 데이터와 명령어를 처리하는 중간 값을 저장
    • 여러 개로 각기 다른 이름과 역할을 수행한다.

 

이 중 레지스터에 대해 자세히 알아보도록 하겠습니다.

 


레지스터란?

CPU 내부의 임시 저장 장치로, WinDbg(윈도우 운영체제), gdb(리눅스, 맥 OS 운영체제) 등의 디버깅 도구를 이용해서 관찰할 수 있습니다.

 

각각의 레지스터가 CPU 내부에서 어떤 역할을 수행하는지 알아봅시다.

 

레지스터 내부 동작

1. 프로그램 카운터

  • 프로그램 카운터(PC; Program Counter) :  메모리에서 다음으로 읽어 들일 명령어의 주소
  • CPU의 종류 따라 명령어 포인터(IP, Instruction Pointer)라고 부르는 경우도 존재합니다.
  • 일반적으로 프로그램 카운터는 메모리 주소가 1씩 증가하여 순차적으로 실행되지만, 프로그래밍 언어의 조건문이나 리턴문에 따라서 실행 흐름이 순차적이지 않을 때는 임의의 위치로 변경됩니다.

 

레지스터 종류

1. 명령어 레지스터(IR; Instructiion Register)

  • 해석할 명령어, 즉 메모리에서 방금 읽어 들인 명령어를 저장하는 레지스터
  • 명령어 레지스터 속 명령어를 해석한 후 ALU로 하여금 연산하도록 시키거나 다른 부품으로 제어 신호를 보내 해당 부품을 작동시킨다.

2. 범용 레지스터(general purpose register)

  • 일반적인 상황에서 자유롭게 사용할 수 있는 레지스터
  • 데이터와 명령어, 주소 모두 저장
  • 일반적으로 CPU 안에 여러 개의 레지스터들이 존재한다.

3. 플래그 레지스터(flag register)

  • 연산 결과 혹은 CPU 상태에 대한 부가 정보인 플래그 값을 저장하는 레지스터

       * 플래그 : CPU 명령어 처리 과정 중 반드시 참조해야 할 상태

 

4. 스택 포인터(stack pointer)

  • 스택과 같은 형태로 사용 가능한 주소 공간을 하나 이상 가지고 있는 메모리 영역
  • 스택이 채워진 정도를 나타내는 레지스터

 

다양한 레지스터에 대해 학습했지만, 레지스터만으로는 CPU를 이해하긴 어렵습니다. 다음에는 인터럽트에 대한 내용과 함께 CPU에 대한 마무리 내용을 가져오도록 하겠습니다.

'CS' 카테고리의 다른 글

컴퓨터의 구조 - 메모리  (0) 2026.03.17
컴퓨터의 구조 - CPU에 대해 2  (1) 2026.03.17
컴퓨터의 구조 - 컴퓨터가 이해하는 정보  (0) 2026.03.12