Яка різниця між мікроконтролером і мікропроцесором?


Відповіді:


191

Мікропроцесор, як правило, не має ОЗУ, ПЗУ та IO-штифтів. Зазвичай він використовує свої штифти в якості шини для інтерфейсу з периферійними пристроями, такими як оперативна пам'ять, ROM, послідовний порт, цифровий та аналоговий IO. Завдяки цьому він розширюється на рівні дошки.

Мікроконтролер - це "все в одному", процесор, оперативної пам'яті, IO все на одній мікросхемі, тому такий ви не можете (сказати) збільшити об'єм доступної оперативної пам'яті або кількість портів IO. Контрольна шина є внутрішньою і не доступна дизайнеру плати.

Це означає, що мікропроцесор, як правило, може бути вбудований у більші програми загального призначення, ніж мікроконтролер. Мікроконтролер зазвичай використовується для більш виділених програм.

Все це дуже загальні твердження. Є фішки, які розмивають межі.


4
Багато мікроконтролерів роблять шину пам'яті доступною для зовнішнього коду та даних; ці штифти можуть бути використані для інших цілей, якщо зовнішня пам'ять не використовується. На мій погляд, визначальним відмінністю є те, чи може пристрій типово ( ) бути спроможним працювати хоча б дещо корисно без шини зовнішньої пам'яті. ( ) 8051, безумовно, здатний, тому він, очевидно, "мікроконтролер". 8031 - це той самий чіп, що і 8051, але вміст ROM не визначено. Відсутність корисного ПЗУ зробить його мікропроцесором, але оскільки це той самий чіп, що і 8051, його можна назвати мікроконтролером.
supercat

2
"Контрольна шина є внутрішньою і не доступна дизайнеру плати." Це не обов'язково правда. Існують мікроконтролери з зовнішньою адресою / шиною даних, щоб забезпечити додаткову пам'ять.
stevenvh

Отже, чи можна сказати, що мікроконтролер по суті є комп'ютером, тоді як мікропроцесор - це лише одночипова реалізація процесора?
подвійнийОкт

@doubleOrt: Ви можете сказати так, але межі розмиті. У наші дні існує досить багато мікросхем, які включають в себе пам'ять про мінливі дані (SRAM), але немає енергонезалежної пам'яті коду (Flash). Їх часто називають також MPU (мікропроцесор). Отож, ці відмінності, здається, в основному пов'язані з мікросхемою Flash в ці дні. NXP продає щось, що вони називають "кросовер" процесором з оперативною пам'яттю, але не Flash. Це пов'язано зі зростаючими труднощами інтеграції Flash у чіп із все меншими транзисторами. Здається, межа струму становить близько 28 нм.
ш-

29

Як було сказано, мікроконтролери по суті є системами на мікросхемі. За винятком деяких спеціалізованих периферійних пристроїв, все є в одному пакеті. Інтерфейс до зовнішньої периферії майже завжди робиться за допомогою послідовних з'єднань. Завдяки цьому розмір упаковки залишається невеликим (менше штифтів) і розміром друкованої плати невеликим (менше штифтів для з'єднання між пакетами).

На останньому Boston Barcamp (MIT 2009) я розмовляв із "Вступ до мікроконтролерів". Копія розданого документа знаходиться за адресою

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


25

Мікроконтролери:

  • зазвичай 8-бітові, але можуть бути 4-, 16- або 32-розрядні
  • працювати зі швидкістю менше 200 МГц
  • використовуйте дуже мало енергії
  • може забезпечити достатній струм для роботи світлодіода
  • корисні для взаємодії з датчиками та двигунами
  • їх легко замінити, коштуючи недорого (від 0,10 до 10 доларів)
  • дуже обмежені для оперативної пам'яті та постійного зберігання (флеш-простір)
  • дуже приємні для любителів електроніки

Мікропроцесори:

  • часто є щонайменше 16-бітними, і, як правило, 32-розрядні або 64-бітні, хоча 8-бітний все ще має велику частку ринку
  • багато хто зможе зайнятися математикою з плаваючою комою
  • працювати зі швидкістю, виміряною сотнями МГц
  • розроблені так, щоб бути мозком системи (і для їх підтримки потрібна ціла система)
  • потрібне спеціальне обладнання для взаємодії з датчиками, двигунами, світлодіодами тощо.
  • коштують дорого (подумайте, $ 50 - $ 250 за 32 або 64 біти)
  • призначені для зовнішньої оперативної пам’яті та постійного зберігання (жорсткі диски)
  • не так легко працювати з хобістом

Мені цікаво, що набір LEGO Mindstorms NXT має мікропроцесор [32-розрядний AT91SAM7S256 (ARM7TDMI) основний мікропроцесор @ 48 МГц (флеш-пам'ять 256 КБ, 64 КБ оперативної пам’яті)] для мислення та мікроконтролер [8-бітний ATmega48 мікроконтролер @ 4 МГц (флеш-пам’ять 4 Кб, оперативна пам’ять 512 байт)] для взаємодії з датчиками та двигунами. Дивіться технічні характеристики у Вікіпедії .


2
8-бітний є домінуючим мікропроцесором, але це далеко не найпоширеніший, я думав, що прочитав на початку цього року, що вони більше не складають більше 50% частки ринку.
Кортук

3
Власне, я хотів би сказати, що я не згоден з великою кількістю списку мікроконтролерів. Більшість дешевих, які вони вводять в системи, не коштують долара, багато хто, залежно від марки, не можуть забезпечити струм для живлення світлодіода. Існує також дуже велика група, яка розбиває 20 МГц, але загалом зустрічається з цією специфікацією. я думаю, що вони також чудово підходять для хобістів.
Кортук

Я включив кілька змін і зробив свою відповідь вікі спільноти - допоможіть мені зробити це правильно!
Клінтон Блекмор

3
AT91SAM7S256, безумовно, не є ні мікроконтролером, ні мікропроцесором.
jpc

4
Я почав редагувати це, розміщуючи повідомлення, але не думаю, що це справді можна придбати. Прийнята відповідь на це питання має суть різниці, яка в основному є "інтегрованою пам'яттю" або "відсутністю інтегрованої пам'яті". Я боюсь, що ця партія багато в чому є переліком узагальнень, кількість яких просто невірна.

13

Ця відмінність - це набагато важче зробити в ці дні, оскільки цілий спектр пристроїв виник між крайнощами, але якщо є один ідентифікатор, який, здається, працює, це подивитися на вивірку та подивитися, що дизайнери зробили з шпильками . Вони в основному індивідуальні введення / виведення? Або домінують автобуси?

На мій погляд, мікроконтролер традиційно є тим, що працює як рішення з 1 мікросхемою; покладіть одну на друковану плату з кількома неминучими дискретами, а деякі роз'єми, напишіть невелику кількість програмного забезпечення, і у вас є система. Мікроконтролер містить всю пам'ять, енергонезалежну, а не та, яка потрібна системі, ціна, яка сплачується за цю зручність, полягає в тому, що під рукою не буде дуже багато. Більшість штифтів присвячені функціям вводу / виводу.

Тоді як, на іншому крайньому плані, мікропроцесор є тим самим звіром, щоб максимально розвантажити підтримку мікросхем, щоб присвятити кремнію максимальній пропускній здатності ядра процесора. Більшість контактів цього пристрою - це адреси та лінії передачі даних, необхідні для підключення до пам'яті та пристроїв вводу / виводу, яких не вистачає в ядрі.

Ще можна назвати одні мікропроцесори, а інші мікроконтролери, коли дизайнери чітко дотримувались тієї чи іншої філософії. Intel Core i7 - це явно процесор, PIC і AVR - чітко контролери. На даний момент, однак, за допомогою кількості логіки, яку можна вкласти в один чіп, ви можете легко вбудувати всю мікропроцесорну систему 1990 року в єдиний чіп. Як ви називаєте 400MHz PPC604 з контролером переривання, контролером SDRAM, підтримкою Ethernet та низкою інших периферійних пристроїв, все на одному мікросхемі ?


> Як ви називаєте 400 МГц PPC604 з контролером переривання, контролером SDRAM, підтримкою Ethernet та низкою інших периферійних пристроїв, все на одному мікросхемі? => Я б назвав це "жировим мікропроцесором". Ніяких ПЗУ та оперативної пам’яті, тому точно не є мікроконтролером.
Wouter van Ooijen

2
@Wouter van Ooijen - я думаю, я мав би сказати, я би назвав це "системою на чіпі".
JustJeff


5

Переважно маркетинг.

Є ще деякі дивні терміни; Аналогові пристрої мають (або мали) щось, що вони називали "мікроконверторами", які були схожими на АЦП / ЦАП з вбудованим мікропроцесором. TI тепер викликає деякі свої ЦСП (серія C2000).

Інакше те, що сказав JohnC.


Де я можу знайти більше про ці "мікроконвертери"? Найближче, що я знайшов - це TAS3202.
ендоліт

вони, можливо, перестали їх називати. analog.com/en/analog-microcontrollers/analog-microcontrollers/… Я ніколи не був дуже вражений мікропроцесорами ADI, їх аналогові речі хороші, і їх DSP повинні бути хорошими, але я не маю досвіду з ними .
Джейсон S

Максимальна частота дискретизації 8 кГц, тому не корисна для аудіо. : /
ендоліт

2
Я не згоден, що це здебільшого маркетинг. Я згоден з відповіддю JohnC.
Даніель Грілло

5

Я б припустив, що мікроконтролер - це пристрій, який містить достатню кількість внутрішньої пам’яті та схеми, щоб, принаймні, в деяких варіантах, він міг виконувати якусь корисну функцію без зовнішньої пам’яті. За таким визначенням, 8051 мав би достатню кількість схем, щоб бути корисним сам по собі, а 8031 ​​не буде; 8031, однак, це просто 8051, у якому вміст внутрішнього ПЗУ не визначений (хоча цілком можливо, що деякі "безчинні" мікросхеми 8031 ​​та варіанти залишають ROM-простір поза штампом, я б очікував, що є деякі інші, які, для узгодженості макета штампу з версіями, які включають ПЗУ, включають марний пустий масив ПЗУ).


4

Просто, щоб додати все вище чудово написані відповіді, Аналогія: Мікропроцесор - це мозок. а мікроконтролер - це все тіло.

Мозок може виконувати всі вказівки, але нам потрібно прикріпити очі, руки (тобто периферію) зовні.

У той час як у тіла є мозок та інші периферійні пристрої, тобто мікроконтролер :)


3

Лінія дещо розмита, але зазвичай йде так:

  • мікропроцесори містять ядро ​​процесора (блок вилучення / декодування, ALU, регістри тощо) і, можливо, ще пару базових блоків, але зазвичай не набагато більше.

  • мікроконтролери додають оперативну пам’ять (SRAM), як правило, деякий ПЗУ (може бути маска-ром або Flash / EEPROM) для зберігання коду (але може бути і безпровідним), і набір основних периферійних пристроїв (SPI / I2C, UART, GPIO, можливо, навіть USB або Ethernet тощо). Іноді це називається System-on-Chip (SoC), або іноді SoC є чимось ще більш інтегрованим. Деякі японські компанії також люблять термін " мікрокомп'ютер ".

    Однак, як я вже згадував, лінія розмивається. Наприклад, останні процесори Intel / AMD додають контролер пам'яті на мікросхемі (раніше він був у чіпсеті).

    До речі, я б фактично назвав 8086 мікропроцесором (мікроконтролери Intel включають, наприклад, 8051 або 80186).


2

Різниця між мікроконтролером і мікропроцесором

  1. Мікропроцесор = процесор; Мікроконтролер = процесор + периферія + пам'ять периферійні пристрої = порти + годинник + таймери + uarts + перетворювачі ADC + драйвери для lcd + dac + інші речі; Пам'ять = eeprom + sram + eprom + спалах

  2. У мікропроцесорі більше оп-кодів, декілька інструкцій з обробки бітів. Але в мікроконтролері: менше оп-кодів, більше інструкцій по обробці бітів.

  3. Мікропроцесор також не може бути запрограмований для виконання завдань у режимі реального часу, тоді як мікроконтролер, наприклад, у пристроях, які мають контролювати температуру води або, можливо, вимірювати температуру приміщення, потребує моніторингу в режимі реального часу, а тому завдяки вбудованому набору інструкцій мікроконтролер працює самостійно.


3
Ця інформація є трохи випадковою і не настільки добре сформульованою, для запитання з такою кількістю відповідей. Візьмемо приклад: хто каже, що мікроконтролер повинен мати драйвери АЦП, ЦАП та РК-дисплея? У багатьох їх є, але це не правило. Те саме для керування бітами та роботи в режимі реального часу.
clabacchio

@neelamSingh, Ласкаво просимо на сайт, ваша публікація не була добре відформатована і, здається, перерізана частково, вона може використати певну роботу!
Кортук

2
Третій пункт недійсний. Здатність у режимі реального часу визначається ОС, а не типом процесора. Немає причин, чому RTOS не працював би на мікропроцесорі. А мікроконтролери також не мають обов'язкової інструкції з поводження з бітами.
stevenvh

1

Мікропроцесор - це простий центральний процесор (CPU) на одній мікросхемі (пам’ятайте слово 'Single Chip'). Він включає в себе арифметичний логічний блок (ALU), блок управління (CU), регістри, декодери інструкцій, схему управління шиною тощо, але все повинно бути на одному чіпі.

Мікроконтролер: Мікроконтролер - це об'єднання мікропроцесора та периферійних пристроїв вводу / виводу, підтримуючої схеми та пам'яті (як даних, так і програми). Не обов’язково бути на одному мікросхемі (пам’ятайте цей момент, а не в одному чіпі).

  1. Мікропроцесор є одним із компонентів мікрокомп'ютера.
  2. Мікроконтролер - це повний комп'ютер, подібний до будь-якого іншого комп'ютера.

1

Усі відповіді правильні, оскільки ця різниця більше блоків, що мають mC та mP, див. Нижче в таблиці,

введіть тут опис зображення


0

Коротка відповідь:
MicroProcessor - чи думає "мислення" - це в основному чіп, який займається математикою.
Мікроконтролер - система з включеним мікропроцесором, здатна легко взаємодіяти з електронними компонентами для розробки вбудованих систем.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.