1-1. 컴퓨터 구조를 알아야 하는 이유
문제 해결
- 컴퓨터 구조는 실력 있는 개발자가 되려면 반드시 알아야 기본 지식임
- 컴퓨터 구조를 이해하고 있다면 문제 상황을 빠르게 진단할 수 있고, 문제 해결의 실마리를 다양하게 찾을 수 있음 (컴퓨터가 더 이상 ‘미지의 대상’이 아닌 ‘분석의 대상’이기 때문)
성능, 용량, 비용
- 컴퓨터 구조를 이해하면 프로그래밍 문법만으로는 알기 어려운 성능, 용량, 비용을 고려하여 개발하는 능력을 키울 수 있음
1-2. 컴퓨터 구조의 큰 그림
컴퓨터가 이해하는 정보
- 컴퓨터는 0과 1로 데이터와 명령어를 표현함
- 데이터(data)란 컴퓨터가 이해하는 숫자, 문자, 이미지, 동영상과 같은 정적인 정보를 나타냄
- 명령어(instruction)는 데이터를 움직이고 컴퓨터를 작동시키는 정보를 나타냄
컴퓨터의 4가지 핵심 부품
- 중앙처리장치 (CPU; Central Processing Unit)
- 주기억장치 (main memroy, 메모리)
- 보조기억장치 (secondary storage)
- 입출력장치 (input/output(I/O) device)

- 가장 큰 사각형은 메인보드이다
- 메인보드 안에는 시스템 버스(양방향 수직 화살표)가 있다
- CPU 내부에는 ALU(산술논리연산장치), 제어장치와 여러 레지스터가 있다.
CPU는 메인보드 내 시스템 버스와 연결되어 있다
- 메모리는 메인보드 내 시스템 버스와 연결되어 있다
- 보조기억장치는 메인보드 내 시스템 버스와 연결되어 있다
- 모니터, 키보드, 마우스 등은 메인보드 내 시스템 버스와 연결되어 있다
이들은 입출력장치라고 부른다
1) 메모리
- 메모리는 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품이다
- 프로그램이 실행되기 위해서는 반드시 메모리에 저장되어 있어야 한다
- 메모리는 현재 실행되는 프로그램의 명령어와 데이터를 저장한다
- 메모리에 저장된 값의 위치는 주소(address)로 알 수 있다
2) CPU
- CPU는 메모리에 저장된 명령어를 읽고, 해석하며, 실행하는 장치이다
- CPU는 산술논리연산장치(ALU; Arithmetic Logic Unit), 레지스터(register), 제어 장치(CU; Control Unit)로 구성된다
- ALU는 컴퓨터 내부에서 수행되는 계산을 처리한다
- 레지스터는 CPU 내부의 작은 임시 저장 장치로, 프로그램 실행에 필요한 값들을 임시로 저장한다
- 제어장치는 제어 신호(control signal)라는 전기 신호를 내보내고 명령어를 해석한다
(메모리 읽기, 메모리 쓰기 등)
3) 보조기억장치
- 메모리의 치명적인 단점
- 가격이 비싸며 저장 용량이 작다
- 전원이 꺼지면 저장된 내용을 잃는다
- 보조기억장치는 메모리보다 크기가 작고 전원이 꺼져도 저장된 내용을 잃지 않는 메모리를 보조하는 저장 장치이다
- 하드 디스크, SSD, USB 메모리, DVD, CD-ROM과 같은 저장 장치가 대표적임
4) 입출력장치
- 입출력장치는 마이크, 스피커, 프린터, 마우스, 키보드처럼 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환하는 장치를 의미한다
- 보조기억장치는 관점에 따라 입출력장치의 일종으로 볼 수도 있음
- 보조기억장치와 입출력장치를 ‘컴퓨터 주변에 붙어있는 장치’라는 의미에서 주변장치(peripheral device)라 통칭하기도 함
5) 메인보드와 시스템 버스
- 지금까지 설명한 컴퓨터의 핵심 부품들은 모두 메인보드(main board)라는 판에 연결됨
- 메인보드는 마더보드(mother board)라고도 불림
- 메인보드에 내부의 버스(bus)라는 통로를 통해 메인보드에 연결된 부품들끼리 서로 정보를 주고 받을 수 있음
- 컴퓨터 내부에는 다양한 종류의 버스가 존재하며, 컴퓨터의 네 가지 핵심 부품을 연결하는 가장 중요한 버스가 시스템 버스(system bus)임
- 시스템 버스는 주소 버스, 데이터 버스, 제어 버스로 구성되어 있음
- 주소 버스(address bus)는 주소를 주고받는 통로이다
- 데이터 버스(data bus)는 명령어와 데이터를 주고받는 통로이다
- 제어 버스(control bus)는 제어 신호를 주고받는 통로이다