답변:
마이크로 프로세서에는 일반적으로 RAM, ROM 및 IO 핀이 없습니다. 일반적으로 핀을 버스로 사용하여 RAM, ROM, 직렬 포트, 디지털 및 아날로그 IO와 같은 주변 장치에 인터페이스합니다. 이로 인해 보드 수준에서 확장 가능합니다.
마이크로 컨트롤러는 하나의 칩에있는 "올인원", 프로세서, 램, IO 모두 하나의 칩에 있으므로 사용 가능한 RAM 양이나 IO 포트 수를 늘릴 수 없습니다. 제어 버스는 내부이며 보드 설계자가 사용할 수 없습니다.
이것은 일반적으로 마이크로 프로세서가 마이크로 컨트롤러보다 더 큰 범용 응용 프로그램에 내장 될 수 있음을 의미합니다. 마이크로 컨트롤러는 일반적으로 더 많은 전용 애플리케이션에 사용됩니다.
이 모든 것은 매우 일반적인 진술입니다. 경계를 흐리게하는 칩이 있습니다.
언급했듯이 마이크로 컨트롤러는 본질적으로 칩의 시스템입니다. 일부 특수 주변 장치를 제외하고 모든 것이 하나의 패키지에 있습니다. 외부 주변 장치에 대한 인터페이스는 거의 항상 직렬 연결을 사용하여 수행됩니다. 이것은 패키지 크기를 작게 (핀이 적음) 유지하고 PCB 크기를 작게 유지합니다 (패키지를 연결하기위한 핀이 적음).
마지막 Boston Barcamp (MIT 2009)에서 "Intro to Microcontrollers"대화를했습니다. 유인물 사본은
마이크로 컨트롤러 :
마이크로 프로세서 :
레고 마인드 스톰 NXT 세트에 사고를위한 마이크로 프로세서 [32 비트 AT91SAM7S256 (ARM7TDMI) 메인 마이크로 프로세서 @ 48MHz (256KB 플래시 메모리, 64KB RAM)]와 마이크로 컨트롤러 [8 비트 ATmega48가 있다는 점이 흥미 롭습니다. 센서 및 모터와의 인터페이스를위한 마이크로 컨트롤러 @ 4MHz (4KB 플래시 메모리, 512 바이트 RAM). Wikipedia의 기술 사양을 참조하십시오 .
이 구별은 요즘에는 만들기가 훨씬 어렵습니다. 모든 장치의 스펙트럼이 극단 사이에서 발생했기 때문에 작동하는 것으로 보이는 식별자가 하나 있으면 핀아웃을보고 디자이너가 무엇인지 살펴보십시오. 핀으로했다 . 이들은 주로 개별 I / O입니까? 아니면 버스가 지배적입니까?
제 생각에 마이크로 컨트롤러는 전통적으로 1 칩 솔루션으로 작동하는 것이 었습니다. 피할 수없는 몇 개의 이산 소자가있는 PCB에 하나를 넣고 일부 커넥터는 소량의 소프트웨어를 작성하면 시스템이 있습니다. 마이크로 컨트롤러는 시스템이 필요로하는 휘발성 및 비 휘발성 메모리를 모두 포함하고 있습니다. 대부분의 핀은 I / O 기능 전용입니다.
다른 한편으로, 마이크로 프로세서는 실리콘을 CPU 코어의 처리량을 최대화하도록 전용하기 위해 칩을 지원하기 위해 가능한 한 많이 오프로드하는 일종의 짐승입니다. 이러한 종류의 장치에있는 대부분의 핀은 주소 및 데이터 라인이며 코어에 부족한 메모리 및 I / O 장치에 연결하는 데 필요합니다.
디자이너가 하나의 철학을 명확하게 고수했을 때 마이크로 프로세서와 마이크로 컨트롤러를 호출하는 것이 여전히 가능합니다. 인텔 코어 i7은 분명히 프로세서이고, PIC와 AVR은 분명히 컨트롤러입니다. 그러나이 시점에서 단일 칩에 넣을 수있는 논리 량으로 전체 1990 마이크로 프로세서 시스템 을 단일 칩에 쉽게 내장 할 수 있습니다 . 하나의 칩 에서 인터럽트 컨트롤러, SDRAM 컨트롤러, 이더넷 지원 및 수많은 다른 주변 장치를 갖춘 400MHz PPC604를 무엇이라고 부릅 니까?
대부분 마케팅.
다른 이상한 용어가 있습니다. Analog Devices는 마이크로 프로세서가 내장 된 ADC / DAC와 같은 "마이크로 컨버터"라고 부르거나 가지고 있습니다. TI는 현재 DSP (C2000 시리즈) 디지털 신호 컨트롤러 중 일부를 호출하고 있습니다.
그렇지 않으면 JohnC가 말한 것.
마이크로 컨트롤러는 적어도 일부 변형에서 외부 메모리없이 유용한 기능을 수행 할 수있는 충분한 내부 메모리와 회로를 포함하는 장치라고 제안합니다. 이러한 정의에 의해 8051은 그 자체로 유용 할만큼 충분한 회로를 가지고있을 것이며 8031은 그렇지 않을 것입니다. 그러나 8031은 단순히 내부 ROM의 내용이 지정되지 않은 8051입니다 (일부 "ROMless"8031 칩 및 변형은 ROM 공간을 다이에서 남겨 두는 것이 가능하지만 다른 것들은있을 것으로 예상합니다) ROM이 포함 된 버전과 다이 레이아웃의 일관성을 유지하려면 쓸모없는 빈 ROM 어레이를 포함하십시오).
선이 다소 흐릿하지만 일반적으로 다음과 같습니다.
마이크로 프로세서에는 프로세서 코어 (페치 / 디코딩 장치, ALU, 레지스터 등)와 몇 가지 기본 블록이 포함되어 있지만 일반적으로 그 이상은 아닙니다.
마이크로 컨트롤러는 RAM (SRAM), 일반적으로 일부 ROM (마스크 ROM 또는 Flash / EEPROM 일 수 있음)을 코드 저장 용 (ROM이 없을 수도 있음) 및 기본 주변 장치 세트 (SPI / I2C, UART, GPIO, 심지어 USB 또는 이더넷 등). 때때로 이것은 SoC (System-on-Chip)라고 불리거나 때로는 SoC가 더욱 통합 된 것입니다. 일부 일본 회사는 " 마이크로 컴퓨터 " 라는 용어를 좋아합니다 .
그러나 내가 언급했듯이 선이 흐려집니다. 예를 들어, 최근 인텔 / AMD 프로세서는 칩에 메모리 컨트롤러를 추가합니다 (이전에는 칩셋에있었습니다).
BTW, 실제로 8086을 마이크로 프로세서라고 부릅니다 (Intel의 마이크로 컨트롤러에는 8051 또는 80186이 포함됨).
마이크로 프로세서 = CPU; 마이크로 컨트롤러 = CPU + 주변 장치 + 메모리 주변 장치 = 포트 + 클럭 + 타이머 + UART + ADC 컨버터 + LCD 드라이버 + DAC + 기타 메모리 = eeprom + sram + eprom + flash
마이크로 프로세서에서 더 많은 op 코드, 몇 가지 비트 처리 명령. 그러나 마이크로 컨트롤러에서는 더 적은 수의 op 코드, 더 많은 비트 처리 명령어.
마이크로 프로세서는 실시간 작업을 처리하도록 프로그래밍되지 않은 반면 수온을 제어하거나 실내 온도를 측정해야하는 장치와 같은 마이크로 컨트롤러는 실시간 모니터링이 필요하므로 내장 된 명령 세트를 사용하여 마이크로 컨트롤러가 작동합니다 그 자체로.
마이크로 프로세서는 단일 칩에있는 단순한 중앙 처리 장치 (CPU)입니다 ( '단일 칩'이라는 단어를 기억하십시오). 여기에는 산술 논리 장치 (ALU), 제어 장치 (CU), 레지스터, 명령 디코더, 버스 제어 회로 등이 포함되지만 모든 것이 단일 칩에 있어야합니다.
마이크로 컨트롤러 : 마이크로 쿤 롤러는 마이크로 프로세서와 주변 장치 I / O 장치, 회로 및 메모리 (데이터 및 프로그램 모두)를 연결합니다. 단일 칩에있을 필요는 없습니다 (단일 칩이 아니라이 점을 기억하십시오).