(1) 역할: 컴퓨터/MCU의 두뇌, 명령을 해석하고 실행함
(2) 기능
- 연산(Arithmetic) → 덧셈, 뺄셈, 곱셈, 나눗셈
- 논리(Logical) → AND, OR, NOT 같은 연산
- 제어(Control) → 주변 장치와 데이터 흐름 제어
- CPU 내부에
레지스터가 존재한다.
(3) 예시: STM32F103의 ARM Cortex-M3 코어
(1) 역할: 임시 데이터 저장소, CPU가 빠르게 읽고 쓰기 가능
(2) 특징
- 전원 꺼지면 데이터 사라짐(
휘발성)- 프로그램 실행 중 변수, 스택, 버퍼 등을 저장
(3) 예시: STM32F103RBT6의 20KB SRAM
(1) 역할: 영구적인 데이터 저장, 프로그램 코드 저장
(2) 특징
- 주로 부팅 코드, 펌웨어 저장 (BIOS칩이 ROM에 해당한다)
- CPU가 읽을 수 있지만 쓰기는 제한적으로 가능하다
- 전원 꺼지면 데이터 유지됨(
비휘발성)Mask ROM(수정불가) ->PROM(1회 기록 가능) ->EPROM(여러번 지우고 쓰기 가능, 전용장치로 쓴다) ->EEPROM(여러번 지우고 쓰기 가능, 전용장치없이 전기 신호로 데이터를 쓴다)Flash memory에게 밀려서 사용빈도가 줄어들고있다.
(1) 역할: CPU가 외부 세계와 데이터를 주고받는 장치
(2) 예시
- 입력: 센서, 버튼, 키보드
- 출력: LED, 모터, 스피커, 디스플레이
(3) MCU 특징: GPIO, ADC, PWM, UART, SPI, I2C가 I/O 장치 역할 수행
(1) 역할: CPU가 메모리나 I/O 장치 위치를 지정할 때 사용
(2) 특징
- 단방향: CPU → 메모리/장치
- 폭(width)이 커질수록 더 많은 주소 지정 가능
(3) 예시: 16비트 주소 버스 → 2¹⁶ = 65536개 주소 지정 가능
(1) 역할: CPU ↔ 메모리/장치 간 데이터 전송
(2) 특징
- 양방향: 읽기/쓰기 모두 가능
- 폭이 넓을수록 한 번에 전송 가능한 데이터 크기 증가
(3) 예시: 8비트, 16비트, 32비트 데이터 버스
(1) 역할: CPU가 메모리/장치에 작업 종류 명령 전달
(2) 주요 신호
- Read/Write → 읽기 또는 쓰기 선택
- Clock → 동기 신호
- Interrupt → 장치가 CPU에게 주목 요청
(3) 특징: 명령과 상태 신호 전달 전용
(1) 역할: 현재 실행할 명령어의 주소를 가리킴
(2) 동작:
CPU가 명령어를 읽고 실행할 때 다음 명령어 주소로 자동 증가
분기(branch) 명령 시에는 점프할 주소로 값이 변경됨
(1) 역할: 현재 CPU가 실행할 명령어를 임시 저장
(2) 동작:
메모리에서 가져온 명령어가 IR에 들어감 → 이후 해석과 실행
한 번에 한 명령어만 저장
(1) 역할: IR에 저장된 명령어를 해석하여 CPU가 수행할 동작을 결정
(2) 동작: 명령어 종류 확인 → ALU 연산, 메모리 접근, I/O 접근, 분기 등으로 구분
(1) 역할: CPU 내부 모든 장치의 동작을 제어
(2) 동작: Instruction Decode에서 나온 신호를 바탕으로 ALU 연산 시작, 레지스터 읽기/쓰기
, 메모리 접근, 인터럽트 처리 등쉽게 말하면 CPU의 지휘자
(1) 역할: 실제 계산과 논리 연산 수행
(2) 기능:
- 산술: 덧셈, 뺄셈, 곱셈(일부), 나눗셈(일부)
- 논리: AND, OR, XOR, NOT
- 비교: 값 비교 → 조건 플래그 설정
(1) 역할: CPU 내부 초고속 임시 저장 공간
1. PC가 가리키는 메모리에서 명령어를 가져옴 → IR에 저장
2. Instruction Decode가 명령어 해석 → Control Unit에 전달
3. Control Unit이 신호를 ALU, 레지스터, 메모리, I/O 장치에 전달
4. ALU에서 연산 수행 → 결과 레지스터에 저장
5. PC는 다음 명령어 주소로 이동 → 반복

개인 컴퓨터에 들어가는CPU라고 생각하면된다.
- 메모리와 주변 장치가 포함되어있지 않고 CPU만 존재한다.
- 메모리, 입출력 장치는 별도로 연결이 필요하다
- 연산 위주의 작업
- 범용 연산, 고성능 컴퓨팅 EX) PC, 서버, 스마트폰
- 상대적으로 고가, 전력 소모 크다
MPU만으로단독 동작이 불가하다. 주변 회로를 구성해야한다.
EX) Intel Core, ARM Cortex-A 시리즈, Raspberry Pi SoC

흔히 쓰는
임베디드 보드에 들어가는IC칩이라 생각하면된다.

이 IC 칩 내부에 마이크로컴퓨터로서 동작하는데 필요한 모든 요소들을 포함하고 있는 것이다.
CPU,메모리,주변 장차가 하나의 칩에 통합되어있다.
연산 + 주변 장치 제어 가능
- 특정 제어·임베디드 시스템에 최적화 (예: 로봇, 센서, 가전)
- 저렴, 저전력
MCU만으로단독 동작이 가능
EX) STM32, AVR, ESP32
3-1에 마이크로프로세서 수업에서 배웠던 내용이라 반가웠다.