Notice
Recent Posts
Recent Comments
Link
«   2026/11   »
일 월 화 수 목 금 토
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags
more
Archives
Today
Total
관리 메뉴

be programmer

컴퓨터 시스템의 기본 구조 본문

cs/운영체제

컴퓨터 시스템의 기본 구조

mm______m 2026. 10. 29. 12:19

컴퓨터 시스템의 하드웨어 구조 및 동작 원리

1. 컴퓨터 시스템의 기본 구조

컴퓨터 시스템은 크게 CPU(중앙처리장치), 메인 메모리(RAM), 입출력 장치(I/O Devices), 입출력 컨트롤러(I/O Controller) 로 구성된다. 각 구성요소는 시스템 버스(System Bus) 또는 이에 해당하는 내부 인터커넥트를 통해 데이터를 주고받는다.

1.1 컴퓨터 시스템의 구성 요소

text

+---------------------------------------------------------+
|                         CPU                             |
|  +----------------+ +----------------+ +-------------+  |
|  | Control Unit   | |      ALU       | | Registers   |  |
|  +----------------+ +----------------+ +-------------+  |
+---------------------------+-----------------------------+
                            |
                     System Interconnect
                            |
          +-----------------+------------------+
          |                 |                  |
   +------+-------+  +------+--------+  +------+--------+
   | Main Memory  |  | I/O Controller|  | I/O Controller|
   |    (RAM)     |  | (Storage)      |  | (Network)     |
   +--------------+  +------+--------+  +------+--------+
                            |                  |
                      +-----+-----+      +-----+------+
                      | SSD / HDD|      | Network NIC|
                      +-----------+      +------------+
  • CPU(Central Processing Unit): 프로그램의 명령어를 해석하고 실행한다.
  • 메인 메모리(Main Memory): 현재 실행 중인 프로그램과 데이터를 저장한다. 일반적으로 DRAM을 사용한다.
  • 입출력 장치(I/O Devices): 저장장치, 키보드, 디스플레이, 네트워크 장치 등 외부와 데이터를 주고받는 장치이다.
  • 장치 컨트롤러(Device Controller): CPU와 운영체제가 장치를 제어하고 데이터를 주고받을 수 있도록 중개한다.
  • 시스템 버스(System Bus) 및 인터커넥트: 구성요소 사이에서 주소, 데이터, 제어 정보를 전달한다.

 위 그림은 개념을 이해하기 위한 단순화된 구조이다. 실제 현대 컴퓨터에서는 메모리 컨트롤러가 CPU 내부에 통합되기도 하고, PCIe와 같은 고속 인터커넥트 및 여러 단계의 버스 구조를 사용하기도 한다. 따라서 모든 구성요소가 하나의 공통 시스템 버스에 직접 연결된다고 이해하면 안 된다.

1.2 CPU의 주요 구성 요소

ALU(Arithmetic Logic Unit, 산술논리장치)

산술 연산과 논리 연산을 수행하는 하드웨어 구성 요소이다.

  • 산술 연산: 덧셈, 뺄셈 등
  • 논리 연산: AND, OR, NOT, XOR 등
  • 비교 연산: 두 값의 크기 비교 및 동일 여부 판단

제어장치(Control Unit)

명령어를 해석하고 CPU 내부 구성요소와 다른 하드웨어에 제어 신호를 전달한다.

  • 명령어 인출 및 해독 제어
  • 레지스터와 ALU 사이의 데이터 이동 제어
  • 메모리 읽기 및 쓰기 제어
  • 분기 및 예외 처리 흐름 제어

레지스터(Registers)

CPU 내부에서 명령어 실행에 필요한 데이터, 주소, 상태 정보 등을 저장하는 고속 기억장치이다.

  • PC(Program Counter): 다음에 실행할 명령어의 주소를 나타내는 레지스터이다.
  • IR(Instruction Register): 현재 해독하거나 실행할 명령어를 저장하는 레지스터이다. 단, 모든 CPU가 동일한 형태의 IR을 외부에서 관찰할 수 있는 것은 아니다.
  • MAR(Memory Address Register): 메모리 접근에 사용할 주소를 저장하는 레지스터를 설명할 때 사용하는 전통적인 모델상의 용어이다.
  • MBR/MDR(Memory Buffer Register / Memory Data Register): 메모리에서 읽거나 메모리에 기록할 데이터를 임시 저장하는 레지스터를 설명할 때 사용하는 용어이다.
  • 상태 레지스터(Status Register) / PSW(Program Status Word): 연산 결과의 상태 플래그, 인터럽트 관련 상태, 실행 모드 등 아키텍처에서 정의한 상태 정보를 저장한다.

 PC, IR, MAR, MDR 등의 구분은 컴퓨터 구조의 기본 원리를 설명하는 데 유용하다. 하지만 실제 프로세서의 내부 구조는 ISA(명령어 집합 구조)와 마이크로아키텍처에 따라 달라지므로, 모든 CPU가 이 레지스터들을 동일한 이름과 형태로 갖는 것은 아니다.

1.3 인스트럭션 사이클(Instruction Cycle)

CPU는 프로그램의 명령어를 인출하고 해독한 뒤 실행하는 과정을 반복한다. 기본적인 명령어 처리 과정은 다음과 같다.

  1. Fetch(인출): PC가 가리키는 주소에서 명령어를 가져온다. 이후 PC는 일반적으로 다음 명령어의 주소를 가리키도록 갱신된다.
  2. Decode(해독): 제어장치가 명령어의 연산 코드(Opcode)와 피연산자 정보를 해석한다.
  3. Execute(실행): ALU 연산, 데이터 이동, 메모리 접근, 분기 등의 작업을 수행한다.
  4. 결과 기록(Write-back): 연산 결과를 레지스터나 메모리에 기록한다. 모든 명령어가 이 단계를 사용하는 것은 아니다.
  5. 인터럽트 및 예외 처리 확인: 아키텍처가 정의한 시점에 처리 가능한 인터럽트나 예외를 확인하고 필요한 경우 처리 절차로 진입한다.

 위 단계는 이해를 돕기 위한 개념적 모델이다. 실제 CPU에서는 여러 명령어의 인출·해독·실행 단계가 파이프라이닝을 통해 중첩될 수 있다. 또한 인터럽트 확인이 반드시 모든 명령어 실행 직후 독립적인 단계로 수행되는 것은 아니다. 정확한 처리 시점은 CPU 아키텍처에 따라 다르다.

'cs > 운영체제' 카테고리의 다른 글

인터럽트 메커니즘  (0) 2026.10.29
리눅스 관련 명령어들  (0) 2026.10.16