1. 컴퓨터의 구성(Computer Composition)
-
컴퓨터 시스템은 크게 하드웨어와 소프트웨어로 나뉜다.
- 하드웨어: 중앙처리장치(CPU), 기억장치(주기억/보조기억), 입출력장치로 구성된 기계적 장치
- 소프트웨어: 하드웨어의 동작을 지시하고 제어하는 명령어의 집합
- cf. 시스템 소프트웨어(펌웨어, 운영체제, 유틸리티), 응용 소프트웨어
-
데이터 흐름: 입력장치 → (제어/연산 - CPU) ↔ 기억장치 → 출력장치
2. 중앙처리장치(CPU; Central Processing Unit)
2.1. CPU 구성
CPU는 컴퓨터의 두뇌로서 다음 3가지 핵심 요소로 구성된다.
-
제어장치(Control Unit)
- 명령어를 해독하고 시스템 전체를 제어(CPU 내부의 CPU 역할)
- 제어기와 해독기로 구성
-
연산장치(ALU; Arithmetic Logic Unit)
- 산술(덧셈 등) 및 논리(AND, OR 등) 연산을 수행
-
레지스터(Register)
- 명령어, 주소, 데이터 등을 임시 저장하는 CPU 내부의 초고속 기억장치
- 플립플롭 소자로 구성
-
내부버스
- CPU 내부 각 소자 간의 연결에 사용되는 버스
- 제어(control) 버스, 주소(address) 버스, 자료(data) 버스로 구성
- cf. CPU의 멀티코어 기술
- 같은 반도체 die(chip)에 두 개 이상의 core를 집적시켜서 CPU 성능을 향상
2.2. 명령어 사이클
-
명령어 사이클: 인출(Fetch) → 실행(Execute) → (인터럽트) 과정을 반복
- 인터럽트(Interrupt): 예기치 못한 사건 발생 시, 하던 일을 멈추고 우선적으로 처리하는 효율적인 기능
-
cf. 명령어 사이클
- 인출(Fetch)
- 기억장치의 명령어를 인출하여 명령어 레지스터(IR)에 저장하는 단계
- 다음 명령어(기계어)를 인출하기 위해 프로그램 카운터(PC)값을 증가시킴
- 해독(Decode)
- 제어장치가 레지스터에 있는 명령어를 연산 부분과 피연산 부분으로 해독
- 피연산 부분이 있는 명령어라면 피연산 부분의 메모리 주소를 주소 레지스터에 저장
- 실행(Execution)
- 인출된 명령어를 해독하여 실행하는 과정
- → 명령어 실행에 필요한 제어(논리)신호를 차례로 발생
- 인터럽트(Interrupt)
- 현재 실행하고 있는 프로그램보다 더 우선으로 처리할 일이 있는지를 확인하는 단계
- 인출(Fetch)
cf. 명령어의 종류
- 마이크로 명령어(→ CISC)
- 매크로 명령어를 처리하기 위한 CPU 내부의 세부 명령어
- 매크로 명령어
- 우리가 일반적으로 말하는 명령어 = 기계어(≒ 니모닉)
cf. 프로세서 분류(명령어의 개수)
- CISC
- 명령어의 구조가 복잡하고, 100~250개의 다양한 명령어를 제공
- CPU 내부에서 마이크로프로그램(마이크로 명령어)방식으로 제어장치를 구성
- RISC
- 명령어의 구조가 단순하고, 수가 적음, 대신 수행 속도가 매우 빠름
- CPU 내부에서 고정 배선 제어장치를 구성 (↔ 마이크로프로그램 방식)
- 레지스터가 많음
3. 기억장치(Memory)
-
기억장치는 접근 속도와 용량에 따라 계층 구조를 가진다.
- 레지스터 > 캐시 > 주기억장치 > 보조기억장치
-
주기억장치의 특징
- CPU가 실행할(하는) 프로그램과 데이터가 저장되는 기억장치
- CPU가 기억장치의 세부 내용을 모두 시스템버스를 통해 직접 접근이 가능
- 크기가 작고, 속도가 빠르며, 전력 소모가 적음
3.1. 주기억장치(Main Memory)
CPU가 직접 접근하여 데이터를 처리하는 곳이다.
-
RAM(Random Access Memory, 임의 접근 메모리)
- 휘발성(전원이 꺼지면 데이터 소멸)
- DRAM(Dynamic RAM)
- 재충전 필요, 대용량, 일반적인 시스템 메모리
- 콘덴서로 구성
- SRAM(Static RAM)
- 재충전 불필요, 고속, 캐시 메모리로 사용(CPU와 주기억장치의 속도 차이 해결)
- 플립플롭으로 구성, 전원이 공급되는 동안 저장된 데이터 유지
-
ROM(Read Only Memory)
- 비휘발성(전원이 꺼져도 데이터 보존)
- 부팅 프로그램(BIOS) 저장
- ROM의 종류: Mask ROM, Programmable ROM, Erasable PROM
3.2. 보조기억장치(Auxiliary Memory)
대용량 데이터를 영구 보존하는 장치이다.
-
HDD(Hard Disk Drive)
- 자성체로 코팅된 원판(플래터)을 회전시켜 데이터 저장
- 주소: Cylinder → Head → Track → Sector
- Disk Buffer: 동작이 느린 HDD 내부에 사용되는 Memory Buffer
-
ODD(Optical Disk Drive)
- 디지털로 저장된 데이터를 레이저를 쏘여 반사되는 내용(광센서)으로 정보를 판독
- 짧은 레이저 파장을 이용하여 집적밀도 향상 (CD-ROM → DVD → BD)
-
SSD(Solid State Drive)
- Flash Memory를 사용
- HDD보다 빠르고 소음이 없으며 전력 소모가 적음
- (최근 HDD 대체 추세)
- 참고: NAND Flash 종류 (SLC, MLC, TLC, QLC)에 따라 속도와 수명이 다름
| - | 설계구조에 따른 종류 |
|---|---|
| NOR Flash | cell끼리 병렬 연결 셀 단위 읽기·쓰기(빠름) 비싸다 |
| NAND Flash | cell끼리 직렬 연결 블록 단위 읽기·쓰기(느림) 싸다 |
| - | 저장용량에 따른 종류 |
|---|---|
| SLC | cell에 2^1개 bit 저장(0, 1) |
| MLC | cell에 2^2개 bit 저장(00, 01, 10, 11) |
| TLC | cell에 2^3개 bit 저장(000, 001, 010, 011, 100,…) |
| QLC | cell에 2^4개 bit 저장(0000, 0001, 0010, 0011,…) |
- 기타
- CD/DVD/Blu-ray (광 디스크), USB 메모리, SD 카드
4. 입력 장치(Input Devices)
사용자의 정보를 컴퓨터로 전달하는 장치들이다.
-
키보드
- 쿼티(QWERTY) 자판이 표준
- 유선(USB) 및 무선(RF, 블루투스)
-
마우스
- 볼 마우스 → 광 마우스로 발전
-
스캐너
- 바코드/QR 코드 판독기
- 3D 스캐너(3D 프린터와 연계)
-
기타
- 조이스틱(햅틱 기능 포함)
- 디지타이저(태블릿+전자펜)
- 웹캠
5. 출력 장치(Output Devices)
컴퓨터의 처리 결과를 사람이 인지할 수 있게 표현한다.
5.1. 영상 출력(Display)
-
주요 용어
- 해상도(Resolution), 픽셀(Pixel), 명암비, 응답속도, 시야각
- 색 재현율, 색 심도, 잔상
-
종류
- LCD(Liquid Crystal Display)
- 백라이트 필요, 액정이 빛을 투과/차단
- OLED(Organic Light Emitting Diode)
- 자체 발광, 백라이트 불필요, 얇고 휘어짐 가능, 명암비/시야각 우수
- LCD(Liquid Crystal Display)
-
연결 인터페이스: VGA(RGB), DVI, HDMI, DP(Display Port).
5.2. 인쇄 장치(Printer)
-
일반 프린터
- 잉크젯(잉크 분사)
- 레이저(토너와 드럼 사용, 고속)
-
3D 프린터
- 3D 모델링을 기반으로 입체물을 제작 (적층형, 절삭형)
- 의료, 패션, 산업용으로 활용
5.3. 기타 출력
- 음향: 스피커 (5.1채널 등 홈시어터)
- 햅틱(Haptic): 진동 등 촉각 피드백 제공 (스마트폰, 게임기)
6. 컴퓨터의 버스(Bus)
컴퓨터 부품 간 데이터를 주고받는 통로이다.
-
버스(Bus)
- 컴퓨터 내부 또는 외부의 부품들과 연결을 위해 사용되는 주요 전기적 신호선들의 묶음
- 내부 버스: CPU 내부버스, 시스템버스
- 외부 버스: USB, SATA, IEEE1394 등
-
통신 방식
- 병렬(Parallel)
- 여러 선으로 동시 전송
- 구형, 거리 제한, 간섭 발생
- 직렬(Serial)
- 하나의 선으로 순차 전송
- 기술 발달로 속도가 빨라져 현재의 표준(SATA, USB, PCIe)이 됨
- 병렬(Parallel)
-
주요 인터페이스
- USB(Universal Serial Bus)
- 가장 보편적인 범용 인터페이스
- PnP 및 핫 스와핑 지원
- (Type-C 등 발전)
- SATA(Serial AT Attachment)
- HDD/SSD 연결용 직렬 인터페이스
- PCIe(PCI-express)
- 그래픽카드, 고성능 SSD(M.2, NVMe) 등을 위한 고속 확장 슬롯 규격
- USB(Universal Serial Bus)