[MCU의 개념 소개]

우선, MCU에 대한 이야기부터 시작해 보겠습니다. 우리가 배우려는 AVR이 MCU의 한 종류이기 때문입니다. MCU(Micro Controller Unit)를 한마디로 표현하자면, 일단은 "작은 CPU"라고 할 수 있겠습니다. 우리가 평소 사용하는 PC엔 일반적인 CPU가 장착되어 있으며, 간단한 웹서핑에서부터 시작하여 멀티미디어, 게임, 개발, 사무 등 매우 다양한 작업들을 수행할 수 있습니다. 반면에 MCU는 이처럼 다양한 기능보다는, 어떤 특수목적에 적합한 최소한의 기능만을 가지고 있는 소형화 된 CPU라고 할 수 있습니다. 여기서 "특수목적"이라는 것은 개발자가 이루고자하는 목표, 즉 개발할 장치가 무엇이냐에 따라 결정됩니다. 모터를 제어하는 장치일 수도 있고, 멀티미디어 장치가 될 수도 있으며, 프린터, 공유기, 냉장고, 가전기기, 혹은 단순히 재미를 위한 장난감이 될 수도 있습니다. MCU는 일반 CPU에 비해 크기도 작고, 다른 장치들과 연결되는 핀 수도 적으며, 필수적인 기능만 포함하고 있기 때문에 결국 가격이 매우 저렴하고 전력도 적게 소모합니다. 또한, 구조가 복잡하지 않기 때문에 그만큼 다루기가 쉽고, 다시말해 MCU를 이용한 개발과정이 수월합니다. MCU는 마치 레고를 조립하듯이 MCU 주변에 또 다른 하드웨어를 하나씩 연결해 나가며 기능을 확장할 수도 있습니다. 빛을 출력하고 싶다면 LED를 달면 되고, 소리를 출력하고 싶다면 스피커를, 텍스트나 영상을 출력하고 싶다면 LCD를, 무선 통신 기능을 넣고 싶다면 Zigbee(지그비)나 Bluetooth(블루투스), 그리고 각종 센서들, 카메라 등 수 많은 종류의 부품들을 필요에 따라 추가 할 수 있다는 매력이 있습니다. 그래서 MCU를 이용하면 여러분의 상상하는 모습의 하드웨어 장비를 자유롭게 만들어 나가는 것이 가능합니다. 이처럼 다양한 주변장치를 연결할 수 있는 MCU이지만, MCU를 작동시키기 위한 최소한의 구성은 엄청 간단합니다. CPU를 사용할 땐 메인보드가 필수적으로 필요하며, 비디오 카드, 램, 하드디스크, 파워 등의 주변장치들이 있어야만 작동을 할 수 있는 반면, MCU는 기본적으로는 MCU 칩 그 자체 하나만으로도 작동이 가능합니다. 이것이 가능한 이유는 기본적인 작동을 위한 회로가 MCU라는 작은 칩 안에 모두 구현되어 있기 때문입니다. 즉, 연산을 위한 산술, 논리 회로뿐만 아니라 데이터 저장을 위한 내장 메모리, 입출력 인터페이스가 하나의 칩 안에 모두 구현이 되어 있습니다. 이처럼 소형화 된 형태인 MCU를 우리는 "마이크로 컨트롤러" 혹은 "단일 칩 마이크로컴퓨터(one-chip microcomputer)"라고 부르며, 정식 용어는 아니지만 간혹 "마이컴"이라고도 부릅니다.