마이크로 컨트롤러와 마이크로 프로세서의 차이점은 무엇입니까?


답변:


191

마이크로 프로세서에는 일반적으로 RAM, ROM 및 IO 핀이 없습니다. 일반적으로 핀을 버스로 사용하여 RAM, ROM, 직렬 포트, 디지털 및 아날로그 IO와 같은 주변 장치에 인터페이스합니다. 이로 인해 보드 수준에서 확장 가능합니다.

마이크로 컨트롤러는 하나의 칩에있는 "올인원", 프로세서, 램, IO 모두 하나의 칩에 있으므로 사용 가능한 RAM 양이나 IO 포트 수를 늘릴 수 없습니다. 제어 버스는 내부이며 보드 설계자가 사용할 수 없습니다.

이것은 일반적으로 마이크로 프로세서가 마이크로 컨트롤러보다 더 큰 범용 응용 프로그램에 내장 될 수 있음을 의미합니다. 마이크로 컨트롤러는 일반적으로 더 많은 전용 애플리케이션에 사용됩니다.

이 모든 것은 매우 일반적인 진술입니다. 경계를 흐리게하는 칩이 있습니다.


4
많은 마이크로 컨트롤러가 외부 코드 및 데이터에 메모리 버스를 제공합니다. 이러한 핀은 외부 메모리를 사용하지 않는 경우 다른 목적으로 사용하거나 사용하지 않을 수 있습니다. 내 생각에, 정의의 구별은 일반적으로 장치가 외부 메모리 버스없이 적어도 약간 유용하게 실행될 수 있는지 여부 입니다. ( ) 8051은 확실히 가능하므로 분명히 "마이크로 컨트롤러"입니다. 8031은 8051과 동일한 칩이지만 ROM 내용은 지정되지 않았습니다. 유용한 ROM이 없으면 마이크로 프로세서가되지만 8051과 동일한 칩이므로 마이크로 컨트롤러라고 할 수 있습니다.
supercat

2
"제어 버스는 내부이며 보드 설계자가 사용할 수 없습니다." 반드시 그런 것은 아닙니다. 추가 메모리를 허용하기 위해 외부 주소 / 데이터 버스가있는 마이크로 컨트롤러가 있습니다.
stevenvh

따라서 마이크로 컨트롤러는 본질적으로 컴퓨터라고 할 수 있지만 마이크로 프로세서는 CPU의 단일 칩 구현 일 뿐입니 까?
doubleOrt

@doubleOrt : 그런 식으로 넣을 수 있지만 경계가 흐려집니다. 요즘에는 휘발성 데이터 메모리 (SRAM)를 포함하지만 비 휘발성 코드 메모리 (Flash)를 포함하지 않는 칩이 꽤 있습니다. 이들은 종종 MPU (마이크로 프로세서)라고도합니다. 따라서 요즘 구별은 주로 온칩 플래시와 관련이있는 것 같습니다. NXP는 RAM이있는 "크로스 오버"프로세서라고 부르지 만 플래시는 판매하지 않습니다. 이것은 더 작은 트랜지스터를 가진 칩에 플래시를 통합하기가 점점 어려워지는 것과 관련이 있습니다. 전류 제한은 약 28nm 인 것으로 보인다.
sh-

29

언급했듯이 마이크로 컨트롤러는 본질적으로 칩의 시스템입니다. 일부 특수 주변 장치를 제외하고 모든 것이 하나의 패키지에 있습니다. 외부 주변 장치에 대한 인터페이스는 거의 항상 직렬 연결을 사용하여 수행됩니다. 이것은 패키지 크기를 작게 (핀이 적음) 유지하고 PCB 크기를 작게 유지합니다 (패키지를 연결하기위한 핀이 적음).

마지막 Boston Barcamp (MIT 2009)에서 "Intro to Microcontrollers"대화를했습니다. 유인물 사본은

http://www.luciani.org/not-quite-ready/doc/intro-to-uC.pdf


25

마이크로 컨트롤러 :

  • 일반적으로 8 비트이지만 4 비트, 16 비트 또는 32 비트 일 수 있습니다.
  • 200MHz 미만의 속도로 실행
  • 아주 적은 힘을 사용
  • LED를 작동시키기에 충분한 전류를 제공 할 수 있음
  • 센서 및 모터와 인터페이스하는 데 유용
  • 저렴한 가격으로 쉽게 교체 할 수 있습니다 ($ 0.10 ~ $ 10)
  • RAM 및 영구 저장소 (플래시 공간)에 대해 실제로 제한됩니다.
  • 전자 애호가에게 정말 좋습니다

마이크로 프로세서 :

  • 8 비트는 여전히 큰 시장 점유율을 가지고 있지만 종종 16 비트 이상, 일반적으로 32 비트 또는 64 비트
  • 많은 사람들이 하드웨어에서 부동 소수점 수학을 할 수있을 것입니다
  • 수백 MHz로 측정 된 속도로 실행
  • 시스템의 두뇌가되도록 설계되었습니다 (그리고이를 지원하려면 전체 시스템이 필요합니다)
  • 센서, 모터, LED 등과 인터페이스하기위한 특수 하드웨어가 필요합니다.
  • 비싸다 (32 비트 또는 64 비트의 경우 $ 50-$ 250)
  • 외부 RAM 및 영구 저장소 (하드 드라이브)를 위해 설계되었습니다
  • 애호가가 쉽게 일할 수 없다

레고 마인드 스톰 NXT 세트에 사고를위한 마이크로 프로세서 [32 비트 AT91SAM7S256 (ARM7TDMI) 메인 마이크로 프로세서 @ 48MHz (256KB 플래시 메모리, 64KB RAM)]와 마이크로 컨트롤러 [8 비트 ATmega48가 있다는 점이 흥미 롭습니다. 센서 및 모터와의 인터페이스를위한 마이크로 컨트롤러 @ 4MHz (4KB 플래시 메모리, 512 바이트 RAM). Wikipedia의 기술 사양을 참조하십시오 .


2
8 비트가 지배적 인 마이크로 프로세서이지만 가장 일반적이지는 않습니다. 올해 초에 더 이상 시장 점유율의 50 %를 넘지 않는 것으로 읽었습니다.
Kortuk

3
실제로, 나는 많은 양의 마이크로 컨트롤러 목록에 동의하지 않는다고 말하고 싶습니다. 그들이 시스템에 넣은 값싼 것들의 대부분은 1 달러가 들지 않으며, 많은 사람들은 브랜드에 의존하여 LED에 전력을 공급하기 위해 전류를 공급할 수 없습니다. 20MHz를 초과하는 매우 큰 그룹도 있지만 일반적으로 해당 사양을 충족합니다. 나는 그들이 호비스트에게도 좋다고 생각합니다.
Kortuk '12

몇 가지 수정 사항을 통합하고 답변을 커뮤니티 위키로 만들었습니다. 올바르게 작성하도록 도와주세요!
클린턴 블랙 모어

3
AT91SAM7S256은 확실히 마이크로 컨트롤러 또는 마이크로 프로세서입니다.
JPC

4
게시하고 편집하기 시작했지만 실제로 사용할 수 있다고 생각하지 않습니다. 이 질문에 대한 대답은 기본적으로 '통합 메모리'또는 '통합 메모리 없음'인 차이의 본질을 가지고 있습니다. 나는이 로트가 대체로 일반화의 목록이며, 그 중 다수는 명백히 틀렸다.

13

이 구별은 요즘에는 만들기가 훨씬 어렵습니다. 모든 장치의 스펙트럼이 극단 사이에서 발생했기 때문에 작동하는 것으로 보이는 식별자가 하나 있으면 핀아웃을보고 디자이너가 무엇인지 살펴보십시오. 핀으로했다 . 이들은 주로 개별 I / O입니까? 아니면 버스가 지배적입니까?

제 생각에 마이크로 컨트롤러는 전통적으로 1 칩 솔루션으로 작동하는 것이 었습니다. 피할 수없는 몇 개의 이산 소자가있는 PCB에 하나를 넣고 일부 커넥터는 소량의 소프트웨어를 작성하면 시스템이 있습니다. 마이크로 컨트롤러는 시스템이 필요로하는 휘발성 및 비 휘발성 메모리를 모두 포함하고 있습니다. 대부분의 핀은 I / O 기능 전용입니다.

다른 한편으로, 마이크로 프로세서는 실리콘을 CPU 코어의 처리량을 최대화하도록 전용하기 위해 칩을 지원하기 위해 가능한 한 많이 오프로드하는 일종의 짐승입니다. 이러한 종류의 장치에있는 대부분의 핀은 주소 및 데이터 라인이며 코어에 부족한 메모리 및 I / O 장치에 연결하는 데 필요합니다.

디자이너가 하나의 철학을 명확하게 고수했을 때 마이크로 프로세서와 마이크로 컨트롤러를 호출하는 것이 여전히 가능합니다. 인텔 코어 i7은 분명히 프로세서이고, PIC와 AVR은 분명히 컨트롤러입니다. 그러나이 시점에서 단일 칩에 넣을 수있는 논리 량으로 전체 1990 마이크로 프로세서 시스템 을 단일 칩에 쉽게 내장 할 수 있습니다 . 하나의 칩 에서 인터럽트 컨트롤러, SDRAM 컨트롤러, 이더넷 지원 및 수많은 다른 주변 장치를 갖춘 400MHz PPC604를 무엇이라고 부릅 니까?


> 인터럽트 컨트롤러, SDRAM 컨트롤러, 이더넷 지원 및 기타 주변 장치가 모두 하나의 칩에 장착 된 400MHz PPC604는 무엇입니까? => "팻 마이크로 프로세서"라고 부릅니다. ROM과 RAM이 없으므로 마이크로 컨트롤러가 아닙니다.
Wouter van Ooijen

2
@Wouter van Ooijen-제가 언급 했어야한다고 생각합니다. "칩 온 시스템"이라고 부릅니다.
JustJeff


5

대부분 마케팅.

다른 이상한 용어가 있습니다. Analog Devices는 마이크로 프로세서가 내장 된 ADC / DAC와 같은 "마이크로 컨버터"라고 부르거나 가지고 있습니다. TI는 현재 DSP (C2000 시리즈) 디지털 신호 컨트롤러 중 일부를 호출하고 있습니다.

그렇지 않으면 JohnC가 말한 것.


이 "마이크로 컨버터"에 대한 자세한 정보는 어디서 찾을 수 있습니까? 내가 찾은 가장 가까운 것은 TAS3202입니다.
endolith 2009

그들은 그 전화를 중단했을 수 있습니다. analog.com/en/analog-microcontrollers/analog-microcontrollers / ... ADI의 마이크로 프로세서에 대해 크게 감명받지 못했고, 아날로그 성능이 우수하며, DSP 성능은 우수하지만 DSP 성능은 좋지만 경험이 없습니다. .
Jason S

최대 샘플링 속도는 8kHz이므로 오디오에는 유용하지 않습니다. : /
endolith 2009

2
나는 그것이 대부분 마케팅이라는 데 동의하지 않습니다. JohnC 답변에 동의합니다.
Daniel Grillo

5

마이크로 컨트롤러는 적어도 일부 변형에서 외부 메모리없이 유용한 기능을 수행 할 수있는 충분한 내부 메모리와 회로를 포함하는 장치라고 제안합니다. 이러한 정의에 의해 8051은 그 자체로 유용 할만큼 충분한 회로를 가지고있을 것이며 8031은 그렇지 않을 것입니다. 그러나 8031은 단순히 내부 ROM의 내용이 지정되지 않은 8051입니다 (일부 "ROMless"8031 칩 및 변형은 ROM 공간을 다이에서 남겨 두는 것이 가능하지만 다른 것들은있을 것으로 예상합니다) ROM이 포함 된 버전과 다이 레이아웃의 일관성을 유지하려면 쓸모없는 빈 ROM 어레이를 포함하십시오).


4

위에 쓰여진 훌륭한 답변을 모두 추가하기 위해 Analogy : Microprocessor는 두뇌입니다. 마이크로 컨트롤러는 전신입니다.

뇌는 모든 지시 사항을 수행 할 수 있지만 눈, 손 (예 : 주변기기)을 외부에 부착해야합니다.

신체는 뇌와 다른 주변기기, 즉 마이크로 컨트롤러를 가지고 있지만 :)


3

선이 다소 흐릿하지만 일반적으로 다음과 같습니다.

  • 마이크로 프로세서에는 프로세서 코어 (페치 / 디코딩 장치, ALU, 레지스터 등)와 몇 가지 기본 블록이 포함되어 있지만 일반적으로 그 이상은 아닙니다.

  • 마이크로 컨트롤러는 RAM (SRAM), 일반적으로 일부 ROM (마스크 ROM 또는 Flash / EEPROM 일 수 있음)을 코드 저장 용 (ROM이 없을 수도 있음) 및 기본 주변 장치 세트 (SPI / I2C, UART, GPIO, 심지어 USB 또는 이더넷 등). 때때로 이것은 SoC (System-on-Chip)라고 불리거나 때로는 SoC가 더욱 통합 된 것입니다. 일부 일본 회사는 " 마이크로 컴퓨터 " 라는 용어를 좋아합니다 .

    그러나 내가 언급했듯이 선이 흐려집니다. 예를 들어, 최근 인텔 / AMD 프로세서는 칩에 메모리 컨트롤러를 추가합니다 (이전에는 칩셋에있었습니다).

    BTW, 실제로 8086을 마이크로 프로세서라고 부릅니다 (Intel의 마이크로 컨트롤러에는 8051 또는 80186이 포함됨).


2

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

  1. 마이크로 프로세서 = CPU; 마이크로 컨트롤러 = CPU + 주변 장치 + 메모리 주변 장치 = 포트 + 클럭 + 타이머 + UART + ADC 컨버터 + LCD 드라이버 + DAC + 기타 메모리 = eeprom + sram + eprom + flash

  2. 마이크로 프로세서에서 더 많은 op 코드, 몇 가지 비트 처리 명령. 그러나 마이크로 컨트롤러에서는 더 적은 수의 op 코드, 더 많은 비트 처리 명령어.

  3. 마이크로 프로세서는 실시간 작업을 처리하도록 프로그래밍되지 않은 반면 수온을 제어하거나 실내 온도를 측정해야하는 장치와 같은 마이크로 컨트롤러는 실시간 모니터링이 필요하므로 내장 된 명령 세트를 사용하여 마이크로 컨트롤러가 작동합니다 그 자체로.


3
이 정보는 답변이 많지 않은 질문에 대해 약간 무작위 적이며 잘 정립되어 있지 않습니다. 예를 들어, 마이크로 컨트롤러에 ADC, DAC 및 LCD 드라이버가 있어야한다고 누가 말합니까? 많은 사람들이 있지만 규칙은 아닙니다. 비트 처리 및 실시간 작동과 동일합니다.
clabacchio

@neelamSingh, 사이트에 오신 것을 환영합니다. 게시물이 제대로 형식화되지 않았으며 도중에 잘린 것 같습니다.
Kortuk

2
세 번째 포인트가 유효하지 않습니다. 실시간 능력은 프로세서 유형이 아닌 OS에 의해 결정됩니다. RTOS가 마이크로 프로세서에서 실행되지 않는 이유는 없습니다. 그리고 마이크로 컨트롤러에는 반드시 더 많은 비트 처리 명령이있을 필요는 없습니다.
stevenvh

1

마이크로 프로세서는 단일 칩에있는 단순한 중앙 처리 장치 (CPU)입니다 ( '단일 칩'이라는 단어를 기억하십시오). 여기에는 산술 논리 장치 (ALU), 제어 장치 (CU), 레지스터, 명령 디코더, 버스 제어 회로 등이 포함되지만 모든 것이 단일 칩에 있어야합니다.

마이크로 컨트롤러 : 마이크로 쿤 롤러는 마이크로 프로세서와 주변 장치 I / O 장치, 회로 및 메모리 (데이터 및 프로그램 모두)를 연결합니다. 단일 칩에있을 필요는 없습니다 (단일 칩이 아니라이 점을 기억하십시오).

  1. 마이크로 프로세서는 마이크로 컴퓨터의 한 구성 요소입니다.
  2. 마이크로 컨트롤러는 다른 컴퓨터와 유사한 완전한 컴퓨터입니다.


0

간단히 대답하자면 :
MicroProcessor- '생각'은 기본적으로 수학을 처리하는 칩입니다.
마이크로 컨트롤러 -마이크로 프로세서가 포함 된 시스템으로 임베디드 시스템 개발을 위해 전자 부품과 쉽게 인터페이스 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.