what is ???

마이크로프로세서와 마이크로컨트롤러의 차이

공대싱구 2022. 8. 15. 15:49

 마이크로프로세서 (Microprocesser : 이하 MPU)

중앙 처리장치를 의미하며, 명령어를 처리하기 위한 장치다.

 

 컴퓨터 내에서 program을 수행하는 hardware unit이며, Central Processing Unit (CPU)도 프로세서이다.

 

 폰노이만 아키텍쳐에 의해 만들어졌다면 ALU(산술연산장치)와 Register를 적어도 하나는 내장하며, 처리 능력에 따라 4bit~64bit로 나눈다.

마이크로프로세서

계산 능력이 높고, 한번에 다양한 작업을 수행할 수 있으며, 작동속도가 GHz단위로 매우 높다.

raspberry pi 4

라즈베리 파이(4 B 기준 64-bit)와 같은것이 마이크로 프로세서에 해당하며, 마이크로 컨트롤러와 같은 주변장치(Periphral)와 같은 것이 없어 내부 트랜지스터를 통해 GPIO를 제어한다.

 

 

 

 

 마이크로컨트롤러 (Microcontroller : 이하 MCU)

 MPU와 함께 메모리, 입력장치 등의 기능이 함께 집적된 장치다.

 

정보를 수집하고 수집한 정보를 기반으로 특정 작업을 출력한다. I/O 구성요소인 주변장치(Periphral)가 내부에 존재해 GPIO제어에 용이하다.

 

계산 용량이 적어 간단한 작업에 사용되고, MHz대의 낮은 동작속도로 작동한다.

소형 computer라고 생각하면 이해가 쉽다.

마이크로컨트롤러
Arduino Uno에 사용되는 Atmega 328

 Arduino Uno에는 MCU인 Atmega328이 내장되어있다. atmel사의 avr이므로 하버드 아키텍쳐라고 추측할 수 있겠다.

 

마이크로프로세서(MPU) 마이크로컨트롤러(MCU)
Computer System의 핵심역할 Embedded System의 핵심역할
Memory, I/O 출력 컴포넌트가 외부로 연결됨 Memory, I/O 출력 구성요소가 내부에 존재하는 제어장치임.
Memory, I/O 출력이 외부에서 연결되어야 하기에 회로가 더 복잡하다 온칩 메모리, I/O출력 구성 요소를 사용할 수 있기에 덜 복잡함.
컴팩트 시스템에서는 사용할 수 없다 컴팩트 시스템에서 사용할 수 있다.
register가 적어 대부분의 작업은 Memory 기반이다. register가 많아서 프로그램 작성이 편하다
상태 플래그가 XNUMX 제로플래그가 없음
계산능력이 매우 높아 personal computer부터 대형 및 복잡한 범용시스템을 설계하는데 사용. 계산 용량이 적어 간단한 작업인 세탁기 에어컨 등과 같은 자동제어장치에 사용됨.
중앙처리장치(CPU)의 기능을 단일집적회로(IC)에 동화시킴. Computer로 만들기 위해 프로세서 및 기타 구성요소가 있는 소형컴퓨터임.
한번에 다양한 작업 수행 가능 단일 또는 매우 적은 작업 수행.
ALU가 있어 부동소수점 등의 복잡한 수학 계산이 쉬움 수학 보조 프로세서가 없어 소프트웨어를 사용해 부동소수점을 계산함.
명령주기 반복수행(가져오기, 디코딩, 실행) 가져오기 디코딩 외에도 명령사이클 출력 기반으로 환경제어
Memory(RAM/ROM), I/O ports와 같은 구성요소에 외부적으로 연결해야함. 모두 대통합
비쌈. 외부 구성요소에 대한 요구사항때문 . 모두 대통합이라서.
CLKGHz 수준으로 매우 높음 1MHz~200MHz정도로 낮은 주파수로 작동
명령어 처리량 > 인터럽트 대기시간 무조건 인터럽트
다른 구성요소에 크게 의존하기에 실시간 시스템에서 사용하지 않음. 단일 프로그래밍이며 자급자족 지향 장치라서 실시간 작업 처리하는데 사용됨.

 

 

 

//22.08.15 1차 작성

//폰 노이만 구조와 하바드 아키텍쳐 에 대한 내용은 추후 다루겠다.