본문 바로가기

Computer Science/컴퓨터 구조

컴퓨터 구조 (Computer Architecture) 개요

컴퓨터 구조는 컴퓨터 시스템의 하드웨어 구성 요소와 이들이 어떻게 서로 연결되어 작동하는지에 대한 설계 및 조직 원리를 다루는 학문입니다. 컴퓨터가 프로그램 명령을 어떻게 실행하고, 데이터를 어떻게 처리하며, 자원을 어떻게 관리하는지에 대한 근본적인 이해를 제공합니다.


1. 컴퓨터 구조의 핵심 구성 요소

컴퓨터는 크게 다음 다섯 가지 핵심 기능 단위로 구성되며, 이들을 이해하는 것이 컴퓨터 구조 학습의 출발점입니다.

구성 요소 역할 핵심 개념
중앙 처리 장치 (CPU) 명령어를 읽고 해석하며 직접 실행하는 컴퓨터의 두뇌. 명령어 집합, 파이프라이닝, 캐시
메모리 (Memory) 현재 실행 중인 프로그램과 데이터를 일시적으로 저장. RAM, ROM, 메모리 계층 구조, 가상 메모리
입출력 장치 (I/O) 컴퓨터와 외부 세계(사용자, 주변 장치) 간의 데이터 전송을 담당. 인터럽트, DMA(직접 메모리 접근)
저장 장치 (Storage) 데이터와 프로그램을 영구적으로 저장. HDD, SSD, 파일 시스템
시스템 버스 (System Bus) 구성 요소들(CPU, 메모리, I/O) 사이에서 데이터를 전송하는 통로. 주소 버스, 데이터 버스, 제어 버스

2.  CPU의 작동 원리

컴퓨터 구조에서 가장 중요하게 다루는 부분은 CPU가 명령어를 처리하는 과정입니다.

A. 명령어 사이클 (Instruction Cycle)

CPU가 하나의 명령어를 처리하는 기본적인 순서입니다.

  1. 인출 (Fetch): 메모리에서 다음 실행할 명령어를 가져옵니다.
  2. 해독 (Decode): 명령어가 무엇을 해야 하는지 해석합니다.
  3. 실행 (Execute): 해석된 명령어를 실제로 수행합니다.
  4. 저장 (Store/Write Back): 실행 결과를 메모리나 레지스터에 기록합니다.

B. 명령어 집합 구조 (Instruction Set Architecture, ISA)

  • CPU가 이해하고 실행할 수 있는 명령어들의 집합 및 형식을 정의합니다.
  • ISA에 따라 CPU의 설계와 프로그래밍 방식이 달라집니다. (예: CISC - 복잡한 명령어, RISC - 단순한 명령어)

C. 파이프라이닝 (Pipelining)

  • 명령어 사이클의 여러 단계를 겹쳐서 동시에 처리하는 기법입니다.
  • 세탁소가 여러 세탁물을 '세탁-건조-다림질' 단계를 동시에 처리하는 것처럼, CPU의 성능(처리량)을 높입니다.

3.  메모리 계층 구조 (Memory Hierarchy)

컴퓨터 시스템은 속도와 용량의 상충 관계를 해결하기 위해 여러 종류의 저장 장치를 계층적으로 사용합니다.

  • 상위 계층 (빠르고 비싸며 용량 작음): 레지스터 $\rightarrow$ 캐시 메모리 (L1, L2, L3)
  • 중간 계층 (균형): 주기억 장치 (RAM)
  • 하위 계층 (느리고 싸며 용량 큼): 보조 기억 장치 (SSD, HDD)

특히 캐시 메모리는 CPU와 주기억 장치 사이의 속도 차이를 줄여 시스템 성능을 최적화하는 핵심적인 역할을 합니다.


4.  I/O 및 인터럽트

  • 인터럽트 (Interrupt): CPU가 외부 장치(I/O, 디스크 등)의 요청이나 내부 예외 상황(오류)에 의해 현재 작업을 잠시 중단하고 해당 요청을 처리하도록 하는 메커니즘입니다. CPU와 I/O 장치 간의 비동기적 작업을 가능하게 합니다.
  • DMA (Direct Memory Access): I/O 장치가 CPU의 개입 없이 메모리에 직접 데이터를 읽거나 쓸 수 있도록 하는 기능으로, CPU의 부하를 줄여 시스템 성능을 높입니다.

컴퓨터 구조는 응용 프로그램 개발자가 작성한 코드가 하드웨어에서 실제로 어떻게 생명력을 얻는지 이해하는 데 필수적인 기초 과목입니다.