컴퓨터의 구조와 성능
Executive Summary
본 문서는 컴퓨터 시스템의 기본 구조, 성능 향상 기술, 그리고 현대적인 병렬 처리 방식에 대한 핵심 원리를 종합적으로 설명합니다.
핵심 구조: 폰 노이만 구조
컴퓨터 시스템의 근간을 이루는 것은 폰 노이만 구조로, 모든 프로그램은 **중앙처리장치(CPU)**에 의해 실행되기 전에 반드시 메인 메모리에 적재되어야 합니다. 이 구조적 특징으로 인해 메모리는 시스템의 핵심 작업 공간이며, 효율적인 메모리 관리가 운영체제의 주요 과제가 됩니다.
성능 최적화: 저장장치 계층 구조
컴퓨터의 성능은 저장장치 계층 구조를 통해 최적화됩니다. 속도가 가장 빠른 레지스터부터 캐시, 메인 메모리, 보조저장장치에 이르기까지 속도, 용량, 비용을 균형 있게 배치하여 시스템 전반의 효율을 극대화합니다. 특히 CPU와 메인 메모리 간의 속도 차이를 완화하기 위한 캐시 메모리는 시스템 성능에 결정적인 역할을 합니다.
입출력 관리 기술
CPU의 효율을 저해하는 입출력(I/O) 작업을 독립적으로 처리하기 위해 인터럽트와 직접 메모리 접근(DMA) 기술이 사용됩니다. 이 기술들은 CPU가 입출력 완료를 기다리지 않고 다른 연산을 수행할 수 있게 하여 시스템의 전체 처리량을 높입니다.
현대적 병렬 처리
현대 컴퓨터 시스템은 멀티프로세싱을 통해 성능의 한계를 극복합니다. 단일 칩에 여러 개의 처리 코어를 집적한 멀티코어 시스템과 하나의 코어에서 여러 작업 단위(스레드)를 동시에 처리하는 CPU 멀티스레드 기술은 병렬 처리 능력의 핵심입니다. 이러한 발전은 무어의 법칙을 계승하면서도, 암달의 법칙에 따라 시스템 전체의 균형 잡힌 성능 향상이 중요함을 시사합니다.
1. 컴퓨터의 기본 구조와 작동 원리
컴퓨터 시스템은 상호작용하는 하드웨어 구성 요소들의 집합체이며, 그 작동은 폰 노이만 구조라는 핵심 원리에 기반합니다. 프로그램이 실행되는 과정은 고급언어에서 기계어로 변환되는 체계적인 단계를 거칩니다.
1.1 하드웨어 구성 요소
컴퓨터 하드웨어는 기능 에 따라 필수 장치와 주변 장치로 구분됩니다.
필수 장치
- 중앙처리장치(CPU): 프로그램의 명령어를 해석하고 연산을 실행하는 컴퓨터의 두뇌
- 제어장치, 산술논리 연산장치(ALU), 레지스터로 구성
- 메인 메모리(주기억장치): 작업에 필요한 프로그램과 데이터를 저장하는 핵심 작업 공간
- 바이트 단위로 주소가 부여됨
주변 장치
- 입력 장치: 외부 데이터를 컴퓨터로 입력하는 장치 (예: 키보드, 마우스)
- 출력 장치: 처리 결과를 사용자가 인지할 수 있는 형태로 출력하는 장치 (예: 모니터, 프린터)
- 저장 장치(보조저장장치): 메모리보다 속도는 느리지만 용량이 크고 저렴하며, 전원이 꺼져도 데이터가 영구적으로 보존됨
- 자성 이용: 하드디스크, 플로피디스크
- 레이저 이용: CD, DVD, Blu-ray
- 메모리 이용: USB 드라이버, SD 카드, SSD
메인보드
CPU, 메모리 등 모든 부품을 연결하는 기반이 되는 회 로 기판으로, 각 장치들은 **버스(bus)**라는 데이터 통로를 통해 연결됩니다.
1.2 폰 노이만 구조 (Von Neumann Architecture)
현대 컴퓨터 시스템의 기본 모델로, CPU, 메모리, 입출력장치, 저장장치가 버스로 연결된 구조를 말합니다. 이 구조의 가장 큰 특징은 프로그램 내장 방식으로, 모든 프로그램은 실행되기 위해 반드시 보조저장장치에서 메인 메모리로 옮겨져야(적재되어야) 한다는 점입니다. 이로 인해 메인 메모리는 시스템의 유일한 작업 공간이 되며, 메모리 공간의 크기와 관리 방식이 시스템 성능에 직접적인 영향을 미칩니다.
"요리사 모형" 비유
- 요리사:
CPU - 도마:
메인 메모리 - 보관 창고:
보조저장장치
요리사가 요리를 하려면 재료를 보관 창고에서 도마 위로 가져와야 하듯이, CPU가 프로그램을 실행하려면 데이터를 저장장치에서 메모리로 가져와야 합니다. 도마가 작으면 재료를 한 번에 다 올릴 수 없어 작업 효율이 떨어지는 것처럼, 메인 메모리