MCU와 MPU 차이, 칩 하나로 끝낼지 메모리를 붙일지
골목의 작은 가게는 사장님 한 분이 계산도, 진열도, 재고 확인도 합니다. 창고라고 해 봐야 가게 안쪽 선반이 전부여서, 문을 열면 곧바로 장사가 시작되죠.
대형 마트는 다릅니다. 계산대와 창고, 물류 시스템이 따로 있고 이들을 조율하는 운영 체계가 있어야 문을 열 수 있습니다. MCU와 MPU 차이는 이 두 가게의 차이와 닮았습니다.
비유와 다른 점도 있습니다. 가게는 크기로 구분되지만 칩은 성능이 아니라 구성으로 나뉘며, 요즘은 대형 마트 못지않은 성능의 MCU도, 구멍가게처럼 가벼운 MPU도 있습니다.
구조의 차이, 한 칩에 담느냐 밖에서 붙이느냐
MCU(Microcontroller Unit, 마이크로컨트롤러)는 CPU 코어와 코드를 저장하는 플래시 메모리, 데이터를 담는 SRAM, 타이머와 ADC, UART, SPI, I2C 같은 주변장치를 한 칩에 통합한 반도체입니다. 전원이 들어오면 내장 플래시의 프로그램을 곧바로 실행합니다.
MPU(Microprocessor Unit, 마이크로프로세서)는 CPU 코어와 캐시, 메모리 관리 장치를 중심으로 만든 칩입니다. 프로그램과 데이터를 담는 주 메모리인 DRAM과 저장장치는 보통 칩 밖에 따로 붙이고, 그 대신 코어 수와 클록, 확장성에서 여유가 큽니다.
MPU 기반 보드가 켜져서 응용이 돌기까지의 일반적인 순서
- 칩 안의 부트 ROM 코드가 먼저 실행되어 저장장치에서 첫 부트로더를 읽어 옵니다.
- 부트로더가 외부 DRAM을 초기화합니다.
- 부트로더가 운영체제 커널을 저장장치에서 DRAM으로 복사하고 실행을 넘깁니다.
- 커널이 MMU를 켜고, 드라이버를 올리고, 파일 시스템을 연결합니다.
- 사용자 영역의 응용 프로그램이 실행됩니다.
같은 일을 MCU는 한 단계로 끝냅니다. 리셋 직후 내장 플래시에서 첫 명령을 읽어 곧바로 사용자 코드를 실행하기 때문에 기동이 빠릅니다.
MMU와 운영체제, 리눅스급이 갈리는 지점
MMU(Memory Management Unit, 메모리 관리 장치)는 프로그램이 쓰는 가상 주소를 실제 메모리의 물리 주소로 바꿔 주는 하드웨어입니다. 덕분에 프로세스마다 독립된 주소 공간을 갖고 서로의 메모리를 침범하지 못합니다.
일반적인 리눅스 같은 범용 운영체제는 이 MMU를 전제로 설계되어 있어서, MPU급 칩이 리눅스급 소프트웨어와 짝을 이룹니다. 반면 MCU는 보통 MMU 없이 베어메탈(bare-metal), 즉 운영체제 없이 직접 짠 반복문과 인터럽트로 동작하거나 RTOS(Real-Time Operating System, 실시간 운영체제)를 올립니다.
MMU가 없다고 약한 것은 아닙니다. 프로세스를 격리하는 대신 코드가 작고 단순해서 동작을 예측하기 쉽고, 이 예측 가능성이 제어 장치에서는 더 중요한 가치가 되기도 합니다.
실시간성과 전력, 예측하느냐 평균을 높이느냐
MCU와 MPU 차이가 가장 선명하게 드러나는 곳이 응답 시간입니다. 모터를 제어하거나 센서 값을 정해진 주기로 읽는 일은 정해진 시간 안에 반드시 끝나야 하는 실시간성이 핵심이고, MCU는 인터럽트가 걸리면 짧고 일정한 시간 안에 해당 코드를 실행하도록 만들 수 있습니다.
리눅스를 올린 MPU는 평균 처리량에는 강하지만, 캐시 미스와 메모리 접근, 다른 프로세스의 스케줄링 때문에 응답 시간이 들쭉날쭉할 수 있습니다. 그래서 MPU 환경에서 엄격한 실시간이 필요하면 실시간 확장을 쓰거나 별도의 MCU를 함께 둡니다.
전력도 갈립니다. MCU는 대부분의 시간을 깊은 슬립 상태로 보내다 필요할 때만 깨어나는 설계가 쉬워서 코인셀로 오래 가는 기기에 쓰입니다. MPU는 DRAM을 켜 두는 전력과 운영체제를 유지하는 비용이 있어서 상시 전원이나 비교적 큰 배터리를 가정한 기기에 어울립니다.
메모리 크기로 계산해 보는 선택의 현실
선택 기준 중 가장 현실적인 것이 메모리입니다. 영상 프레임 한 장을 예로 계산해 보겠습니다.
영상 프레임 메모리 계산 예시 (가상 조건)
- 640 × 480 해상도에 픽셀당 2바이트(RGB565): 640 × 480 = 307,200픽셀이고, 307,200 × 2 = 614,400바이트, 즉 600 KiB
- 프레임 두 장을 번갈아 쓰는 이중 버퍼라면: 600 × 2 = 1,200 KiB
- 초당 30프레임이면: 614,400 × 30 = 18,432,000 B/s, 즉 초당 약 18 MB가 오감
일반적인 경향으로 MCU의 내장 SRAM은 수십 KB에서 수 MB 수준이고, MPU에 붙는 DRAM은 수백 MB 이상인 경우가 흔합니다. 그래서 이 프레임 한 장은 저가형 MCU의 SRAM에는 담기지 않고 고급 MCU에서도 빠듯하지만, MPU에서는 여유가 있습니다.
다만 외부 메모리와 영상 가속기를 지원하는 MCU도 늘고 있어서 이 선은 점점 흐려지고 있습니다. 숫자는 가상 조건의 계산이므로, 실제 제품에서는 압축 방식과 버퍼 수에 따라 달라집니다.
MCU와 MPU 차이에서 끌어낸 선택 기준 다섯 가지
구조의 차이는 곧 선택의 질문이 됩니다. 아래 다섯 가지를 위에서부터 따져 보면 대부분 답이 좁혀집니다.
MCU와 MPU를 고르는 다섯 가지 질문
- 일의 성격: 센서 읽기와 제어 위주면 MCU, 화면과 네트워크 스택, 복잡한 응용이면 MPU
- 실시간 요구: 정해진 시간 안의 응답을 보장해야 하면 MCU나 RTOS
- 전력과 배터리: 코인셀로 수개월 이상 버텨야 하면 MCU, 상시 전원이면 MPU도 선택지
- 비용과 보드 복잡도: MCU는 칩 하나와 몇 개의 부품, MPU는 DRAM과 저장장치, 여러 전원 레일까지 보드에 필요
- 소프트웨어와 유지보수: MPU는 리눅스의 풍부한 라이브러리, MCU는 직접 짠 펌웨어. 원격 업데이트와 보안 패치를 어떻게 할지도 함께 고려
MPU 보드는 레일이 여러 개 필요해서 전력관리 IC가 함께 붙는 경우가 많고, 이 때문에 보드 설계와 부품 수가 MCU 쪽보다 늘어납니다. 칩 가격만 비교하면 놓치기 쉬운 부분입니다.
경계가 흐려지는 영역
최근에는 두 영역 사이에 걸친 제품이 늘었습니다. 클록과 연산 성능이 높고 외부 메모리까지 연결할 수 있어 크로스오버 MCU라 부르기도 하는 칩이 있고, 반대로 MPU 중에는 리눅스를 돌리는 코어 옆에 실시간 처리를 맡는 작은 MCU급 코어를 함께 넣은 이종 구조도 있습니다.
이런 제품을 만나면 이름 대신 구성을 봐야 합니다. MMU가 있는지, 외부 DRAM을 쓰는지, 어떤 운영체제를 올리는지를 보면 어느 쪽에 가까운지 알 수 있습니다.
MCU와 MPU를 둘러싼 흔한 오해
MPU는 항상 MCU보다 고성능이고 우월하다는 이해는 단순화입니다. MPU는 처리량과 소프트웨어 확장성에서 유리하지만, 응답 시간의 예측성과 기동 시간, 대기 전력, 비용에서는 MCU가 앞서는 경우가 많습니다.
MCU는 성능이 낮은 단순한 칩이다라는 생각도 맞지 않습니다. 고급 MCU는 부동소수점 연산과 DSP 명령, 암호화 가속, 보안 기능까지 갖추고 있어서 기준은 성능의 높낮이가 아니라 구성입니다.
용어에도 함정이 있습니다. Arm 계열 문서에서 MPU는 마이크로프로세서가 아니라 메모리 보호 장치(Memory Protection Unit)를 뜻하는 경우가 있으니, 문맥에서 어느 뜻인지 가려 읽어야 합니다.
MCU와 MPU 비교 표
| 구분 | MCU | MPU |
|---|---|---|
| 통합 범위 | CPU, 플래시, SRAM, 주변장치를 한 칩에 | CPU 코어, 캐시, MMU 중심이고 DRAM과 저장장치는 칩 밖에 |
| 소프트웨어 | 베어메탈이나 RTOS | 리눅스 같은 범용 운영체제 |
| 메모리 규모 | 수십 KB에서 수 MB 수준의 내장 메모리 (일반적인 경향) | 수백 MB 이상의 외장 DRAM이 흔함 |
| 기동과 응답 | 빠른 기동, 예측하기 쉬운 응답 | 부팅 단계가 길고 응답 시간이 들쭉날쭉할 수 있음 |
| 보드 복잡도 | 낮음 | 높음 (DRAM, 저장장치, 전원 회로) |
| 어울리는 일 | 모터 제어, 센서 노드, 가전의 제어부 | 영상과 사용자 화면, 네트워크 게이트웨이, 복잡한 응용 |
핵심 정리
MCU와 MPU 차이는 성능의 높낮이가 아니라 구성에 있습니다. MCU는 프로세서와 메모리, 주변장치를 한 칩에 담아 곧바로 실행하고, MPU는 MMU와 외부 DRAM을 바탕으로 리눅스급 소프트웨어를 돌립니다.
동네 가게와 대형 마트로 돌아가 보면, 어느 쪽이 낫다기보다 어떤 장사를 하느냐의 문제입니다. 제품을 기획할 때는 칩 이름보다 실시간 요구와 배터리, 메모리 크기, 소프트웨어 생태계를 먼저 적어 보면 답이 좁혀집니다.
면접 대비 질문
면접 대비 질문코인셀로 수년간 동작하며 센서 값을 주기적으로 읽어 무선으로 보내는 기기와, 카메라 영상을 처리해 화면에 띄우는 기기가 있습니다. 각각 MCU와 MPU 중 무엇을 고르겠습니까? 기준과 함께 설명해 보세요.
[답변 포인트] 앞의 기기는 슬립 전력과 빠른 기동, 예측하기 쉬운 응답, 단순한 보드 때문에 MCU를 고른다고 답합니다. 뒤의 기기는 영상 프레임이 요구하는 메모리 용량과 대역폭, 리눅스의 영상과 화면 라이브러리 때문에 MPU를 고르되, 640 × 480 RGB565 한 장이 약 600 KiB라는 식의 계산을 근거로 듭니다. 고급 MCU와 이종 구조 MPU처럼 경계가 흐려졌다는 점, 보드 복잡도와 비용, 보안 업데이트 부담까지 덧붙이면 좋습니다.









