컴퓨터 시스템의 구성 요소
-
중앙 처리 장치 (CPU, Central Processing Unit)
- 역할: 프로그램 명령어를 해석하고 실행하는 컴퓨터의 두뇌.
- 구성: 연산 장치(ALU), 제어 장치, 레지스터 등.
-
메모리 (Memory)
- 역할: 데이터를 일시적으로 저장하고 CPU와 빠르게 데이터를 주고받는다.
- 종류: RAM(주기억 장치), ROM(영구 저장 장치), 캐시 메모리.
-
저장 장치 (Storage)
- 역할: 데이터를 영구적으로 저장.
- 종류: HDD(하드 디스크 드라이브), SSD(솔리드 스테이트 드라이브), 광학 디스크(CD, DVD).
-
입출력 장치 (I/O Devices)
- 역할: 외부와의 데이터 교환을 담당.
- 종류: 키보드, 마우스, 모니터, 프린터, 네트워크 카드.
-
메인보드 (Motherboard)
- 역할: 컴퓨터의 주요 구성 요소를 연결하고 통신을 관리하는 중심 회로판.
- 구성: CPU 소켓, 메모리 슬롯, 확장 슬롯(PCIe), 칩셋 등.
CPU 구조와 동작 원리
CPU 구조
- 연산 장치(ALU, Arithmetic Logic Unit): 산술 연산과 논리 연산을 수행.
- 제어 장치(Control Unit): 명령어를 해석하고 실행 순서를 제어.
- 레지스터(Registers): 고속의 임시 저장 공간으로, 연산에 필요한 데이터를 저장.
CPU 동작 원리
- 명령어 사이클(Instruction Cycle): CPU가 프로그램 명령어를 처리하는 과정.
- 인출 단계(Fetch): 메모리에서 명령어를 읽어온다.
- 해독 단계(Decode): 명령어를 해석하고 실행에 필요한 제어 신호를 생성.
- 실행 단계(Execute): 명령어를 실행하여 연산을 수행.
- 쓰기 단계(Write Back): 연산 결과를 레지스터나 메모리에 저장.
파이프라이닝(Pipelining)
- 개념: 명령어를 여러 단계로 나누어 각 단계별로 동시에 처리하여 CPU 성능을 향상시키는 기술.
- 장점: 처리 속도 향상, CPU 효율성 증대.
- 단점: 파이프라인 해저드(구조적 해저드, 데이터 해저드, 제어 해저드) 발생 가능.
메모리 계층 구조
메모리 계층 구조(Memory Hierarchy)는 성능과 비용을 고려하여 메모리를 계층화한 구조이다. 상위 계층은 속도가 빠르고 용량이 작으며, 하위 계층은 속도가 느리고 용량이 크다.
-
레지스터 (Registers)
- 특징: 가장 빠르고, CPU 내부에 위치.
- 용도: 연산 중간 결과 저장.
-
캐시 메모리 (Cache Memory)
- 특징: CPU와 주기억 장치 사이에 위치하여 속도 차이를 보완.
- 종류: L1 캐시(가장 빠르고 CPU에 가까움), L2 캐시, L3 캐시.
- 원리: 자주 사용되는 데이터를 저장하여 접근 속도 향상.
-
주기억 장치 (Main Memory, RAM)
- 특징: 프로그램과 데이터를 일시적으로 저장.
- 용도: 실행 중인 프로그램이 사용하는 데이터 저장.
- 속도: 캐시보다 느리지만, 저장 용량이 큼.
-
보조 기억 장치 (Secondary Storage)
- 특징: 데이터를 영구적으로 저장.
- 종류: HDD, SSD.
- 속도: RAM보다 느리지만, 용량이 큼.
-
가상 메모리 (Virtual Memory)
- 특징: 주기억 장치의 용량을 확장하는 기법.
- 원리: 하드 디스크의 일부를 메모리처럼 사용.
- 장점: 메모리 용량의 제한을 극복.
저장 장치와 입출력 시스템
저장 장치
-
HDD (하드 디스크 드라이브)
- 특징: 기계적 회전판과 읽기/쓰기 헤드를 사용하여 데이터를 읽고 씀.
- 장점: 용량이 크고 가격이 저렴.
- 단점: 속도가 느리고, 기계적 부품으로 인해 내구성이 낮음.
-
SSD (솔리드 스테이트 드라이브)
- 특징: 플래시 메모리를 사용하여 데이터를 저장.
- 장점: 속도가 빠르고 내구성이 높음.
- 단점: 가격이 비싸고 용량이 상대적으로 작음.
입출력 시스템 (I/O System)
-
I/O 인터페이스
- 목적: CPU와 I/O 장치 간의 데이터 교환을 관리.
- 종류: 직렬 인터페이스(예: USB), 병렬 인터페이스(예: SCSI).
-
디바이스 드라이버(Device Driver)
- 역할: 운영 체제와 하드웨어 장치 간의 인터페이스를 제공하는 소프트웨어.
- 기능: 장치 초기화, 데이터 전송 관리, 장치 제어 명령 수행.
-
입출력 제어 방식
- 프로그램 입출력(Programmed I/O): CPU가 직접 I/O 작업을 수행.
- 인터럽트 입출력(Interrupt-driven I/O): I/O 작업 완료 시 인터럽트를 통해 CPU에 알림.
- 직접 메모리 접근(DMA, Direct Memory Access): CPU 개입 없이 메모리와 I/O 장치 간의 데이터 전송.
병렬 컴퓨팅과 멀티코어 프로세서
병렬 컴퓨팅 (Parallel Computing)
- 개념: 여러 처리 장치를 사용하여 동시에 여러 작업을 수행하는 컴퓨팅 방식.
- 유형: 데이터 병렬 처리, 작업 병렬 처리.
- 장점: 처리 속도 향상, 대규모 계산 작업 처리에 적합.
- 단점: 병렬화에 따른 복잡성 증가, 동기화 문제 발생 가능.
멀티코어 프로세서 (Multi-core Processor)
- 개념: 단일 칩에 여러 개의 CPU 코어를 포함한 프로세서.
- 특징: 각 코어는 독립적으로 작업을 수행하며, 코어 간 통신을 통해 협력.
- 장점: 성능 향상, 전력 효율성 증가.
- 예시: 듀얼 코어, 쿼드 코어, 옥타 코어 등.
멀티스레딩 (Multithreading)
- 개념: 하나의 프로세스 내에서 여러 스레드가 동시에 실행되는 기법.
- 장점: 응답성 향상, 자원 공유 효율성 증대.
- 유형: 사용자 수준 스레드, 커널 수준 스레드.