MCU

계산기 (토론 | 기여)님의 2017년 5월 2일 (화) 02:07 판

개요

MCU(Micro Controller Unit) 마이크로프로세서, I/O(입출력) 기능, 메모리가 한 칩에 모여있는 컴퓨터를 의미한다. CPU 코어와 메모리(EEPROM, NOR 플래시 등), 프로그램 가능한 I/O포트를 내장하고 있다.

특징

현재 범용 PC에서 쓰이는 x86,x64 CPU는 32비트, 64비트 기반이지만 MCU에서는 8비트 CPU가 널리 사용되고있다. (AVR,PIC), Cortex-M시리즈 같은 32비트 MCU도 있다.dsPIC는 24비트다. Intel, AMD, IBM 등의 CPU와 이러한 MCU의 결정적인 차이는 쓰임의 목적에 있다. Intel, AMD, IBM 등의 CPU는 범용적인 목적을 위해 쓰인다. 예를 들어 지금 당장 서울 하늘의 날씨를 계산하겠다고 MCU를 쓰면 엄청난 시간을 들여서 결과를 얻지 못할 수도 있지만 IBM 의 POWER CPU를 이용하여 계산한다면 며칠 정도의 시간을 들이면 계산할 수 있다. 또한 고사양 게임을 하고 싶을때는 Intel 사의 CPU를 탑재한 컴퓨터를 이용하여 게임을 즐길 수 있다. 하지만 MCU는 이러한 계산에서는 잼병이다.(기본적으로 ALU(Arithmetic Logic Unit)는 다 있지만, FPU(Floating Point Unit)이 없는 경우도 많다. Cortex-M3 아키텍쳐의 경우 나눗셈기가 들어있지만 나눗셈기가 없는 MCU가 대다수 이다.)

하지만 MCU는 ADC(Analog to Digital Converter)와 DAC(Digital to Analog Converter), PWM, UART통신, USB통신, I2C등이 기본적으로 내장되어있어서 모터 제어, 센싱, 통신에서 강점을 보인다. 그렇기 때문에 임베디드 시스템(로봇을 제어한다던가, 드론을 제어하는)에서는 MCU를 주로 쓴다. 그리고 정밀한 제어가 필요한 경우 MCU의 특징과 고속 연산이 가능한 CPU코어가 동시에 박힌 칩이나 (Cortex-M3아키텍처등), Cortex-A아키텍처의 칩은 연산만 맡고 MCU는 연산담당으로 부터 지령을 받아 부속 하드웨어의 제어만을 맡게 개발하는 경우가 많다.