Embedded System을 공부하다보면 자주 등장하는 용어 입니다.
쉽게 설명하자면 MCU는 작은 단위, SoC는 큰 단위로 생각하시면 됩니다.
MCU는 Micro Controller Unit의 약자로 CPU, 메모리, 입출력 제어(I/O), 주변장치 컨트로러를 하나의 칩에 넣은 반도체 입니다.
즉 Chip하나에 거의 모든 기능이 포함되어 있다고 볼 수 있죠.
대표적인 사용예로는 아두이노가 있습니다.
위 사진에서 빨간색으로 네모친 부분이 아두이노의 MCU입니다.
아시는 분들은 아시겠지만 저 칩셋에는 입출력 포트, 전원, GND포트, 송수신 포트 등이 있습니다.
칩셋 하나에 말이죠.
그럼 SoC를 살펴보겠습니다.
SoC는 System on Chip의 약자로 하나의 칩으로 시스템 운영이 가능하다는 뜻입니다.
삼성전자, BCM, NVIDIA 등 에서 만들고 있으며 스마트폰, 라즈베리 파이 등에서 사용되고 있습니다.
SoC는 많은것들을 포괄적으로 포함하고 있는데
ARM, GPU, ROM, RAM, System Controller 등을 포함하고 있습니다.
쉽게 말해서 초소형 컴퓨터라고 보시면 됩니다.
전원만 넣으면 컴퓨터처럼 작동하는걸 의미 하죠.
하지만 지금은 SoC의 정의가 포괄적인 의미로 바뀌어서 MCU의 개념과 비슷해 졌습니다.
하지만 이 둘에는 분명한 차이점이 존재합니다.
MCU같은 경우에는 기본적으로 특정 작업을 수행할 수 있도록 내부에 프로그래밍이 되어 있습니다.
(LED나 가종 센서 같은경우를 연결할 때)
때문에 사용자와의 상호작용은 있을 순 있어도 유연성은 존재하지 않습니다.
그래서 MCU같은 경우 최소한의 메모리와 저전력을 갖고 단순하고 반복된 작업에 최적화 됐다고 볼 수 있습니다.
그래서 아두이노 뿐만 아니라 리모콘, 냉장고, 전자레인지 등에 사용이 됩니다.
SoC같은 경우에는 좀 더 포괄적인 개념입니다.
CPU뿐만 아니라 GPU, I/O Driver 등이 포함되어 있어 마치 하나의 Desktop처럼 사용이 가능합니다.
때문에 MCU의 기능 뿐만 아니라 다른 작업도 가능하다는 뜻이 되고
사용자에게 많은 유연성을 제공하게 됩니다.
즉, MCU의 작업 한계를 뛰어 넘은 것이 SoC라고 생각하시면 됩니다.
'프로그래밍 > Embeded' 카테고리의 다른 글
Embedded] Exception Vector table (0) | 2019.09.08 |
---|---|
도전 임베디드 OS 만들기 - hello world 출력!!(Ubuntu 18.04 64bit ver) (0) | 2019.08.30 |
도전 임베디드 OS 만들기 - qemu, u-boot 설치(Ubuntu 18.04 64bit ver) (0) | 2019.08.27 |
크로스 컴파일러란? 크로스 컴파일러 설치 방법!! (도전 임베디드 OS 만들기) (0) | 2019.08.22 |
Embeded] ARM이란? (0) | 2019.08.08 |
댓글