✅ 컴퓨터의 3대 구성요소
중앙처리장치, 기억장치, 입출력장치
✅ 컴퓨터의 5대 구성요소
연산장치, 제어장치, 기억장치, 입력장치, 출력장치
1️⃣ 하드웨어

중앙처리장치(CPU)
사람으로 치면 두뇌에 해당하는 부분으로, 주기억장치에서 프로그램의 명령어와 데이터를 읽어와 계산을 처리하고 명령어의 수행 순서를 제어함
- CU, ALU, Register, Internal Bus로 구성되어 있음
- 코어(Core) 1개 = CU + ALU + Register + Internal Bus
- CPU와 Core의 관계는 1:1(2005년 이전에 사용되던 싱글코어 CPU)에서 -> 1:n으로 발전해옴

제어장치(CU)
- 기억장치로부터 프로그램의 명령어를 순차적으로 꺼내 해독하고, 이에 따라 명령어 실행에 필요한 제어 신호를 연산장치, 입출력 장치 등으로 보내는 장치
연산장치(ALU)
- 제어장치의 명령에 따라 실제로 연산을 수행하는 장치
- 산술, 논리, 이동 등 다양한 연산을 수행함
레지스터(Register)
- CPU 내부에서 처리할 명령어나 연산에 필요한 임시 데이터를 저장하는 장치
내부 버스(Internal Bus)
- CU, ALU, 레지스터 간의 데이터를 이동시킴
- CPU 외부의 시스템 버스와는 직접적으로 연결되어 있지 않음
기억장치(Memory)
프로그램, 데이터 등을 저장하는 장치로, 주기억장치와 보조기억장치로 나뉨

주기억장치
- CPU와 가까이 있어 액세스 속도가 높지만, 프로그램 실행 중에만 사용할 수 있는 휘발성 기억장치
- 프로그램을 실행하는 동안 필요한 데이터를 일시적으로 저장함
- ROM, RAM 등이 있음 (ROM은 주로 주기억장치로 사용되진 않음)
보조기억장치
- 주기억장치에 비해 읽기/쓰기 속도가 느리지만, 영구 저장이 가능함
- HDD, SSD 등이 있음
RAM(Random Access Memory)

- 읽고 쓰기가 가능한 메모리
- 자주 쓰는 데이터를 RAM에 위치시켜놓고 CPU와 빠르게 데이터를 주고받게 됨
- 데이터 임의접근이 가능함 (101~106호 중 104호로 바로 이동 가능한 느낌)
- 전원을 끄면 데이터가 사라지는 휘발성 메모리
ROM(Read Only Memory)

- 읽기만 가능한 메모리
- 전원이 꺼져도 기록된 데이터들이 소멸되지 않는 비휘발성 메모리
- 주기억장치로 사용되기보단 주로 기본 입출력 시스템, 자가 진단 프로그램 같은 변경 가능성이 없는 시스템 소프트웨어를 기억하는데 이용됨
- 메인보드에 위치하며 이미 공장에서 생산될 때 납땜되어 출하됨
HDD(Hard Disk Drive)

- 자기디스크의 자기 배열방식을 변경하는 방식으로 읽거나 쓰는 하드디스크
- 충격에 약하며 소음이 발생함
- SSD가 나오면서 최근에는 많이 소멸되는 추세
SSD(Solid State Drive)

- 반도체를 이용한 하드디스크
- 속도가 매우 빠르며, 소음과 전력소모량이 적음
- 가격이 비싸다는 단점
입출력 장치(I/O)
- 입력 장치
- 컴퓨터 내부로 데이터를 입력하는 장치로, 키보드, 마우스 등이 있음
- 출력 장치
- 컴퓨터 데이터를 외부로 표현하는 장치로, 프린터, 모니터, 스피커 등이 있음
시스템 버스

CPU를 포함한 각 하드웨어 장치 간 통로로, 각 하드웨어 장치를 물리적으로 연결한 전선임
- 데이터 버스
- 하드웨어 간 데이터를 전송하는 통로
- 기억장치와 입출력 장치의 명령어를 CPU로 보내거나, CPU의 연산결과를 기억장치와 입출력 장치로 보내는 '양방향' 버스임
- 주소 버스
- 데이터가 어디 도착해야 하는지에 대한 정보를 전달하는 통로
- CPU, 기억장치, 입출력 장치로 기억장치가 가지고 있는 주소를 전달하는 '단방향' 버스임
- 제어 버스
- CPU의 제어장치가 생성한 제어 신호를 다른 장치로 전달하는 통로
- 읽기 동작(기억장치/입출력 장치 데이터 읽어서 CPU로 전달)과 쓰기 동작(CPU가 생성한 제어 신호 읽어서 기억장치/입출력 장치에 전달)을 모두 수행해야 하기 때문에 '양방향' 버스임
2️⃣ 소프트웨어
소프트웨어는 하드웨어의 동작을 지시하고 제어하는 명령어 집합으로, 크게 시스템 SW와 응용 SW로 나눌 수 있음
- 시스템 SW는 운영체제, 컴파일러, 어셈블러, 로더 등이 있음
- 응용 SW는 일반적으로 프로그램이라고 지칭하는 것으로 MS Office, 한글 등이 있음
참고자료
https://codybuilder.com/27
https://hongcoding.tistory.com/139
https://cosyp.tistory.com/148
https://information-factory.tistory.com/59
https://ssd0908.tistory.com/entry/롬ROM과-램RAM의-특징-및-차이점