Відповіді:
Мікропроцесор, як правило, не має ОЗУ, ПЗУ та IO-штифтів. Зазвичай він використовує свої штифти в якості шини для інтерфейсу з периферійними пристроями, такими як оперативна пам'ять, ROM, послідовний порт, цифровий та аналоговий IO. Завдяки цьому він розширюється на рівні дошки.
Мікроконтролер - це "все в одному", процесор, оперативної пам'яті, IO все на одній мікросхемі, тому такий ви не можете (сказати) збільшити об'єм доступної оперативної пам'яті або кількість портів IO. Контрольна шина є внутрішньою і не доступна дизайнеру плати.
Це означає, що мікропроцесор, як правило, може бути вбудований у більші програми загального призначення, ніж мікроконтролер. Мікроконтролер зазвичай використовується для більш виділених програм.
Все це дуже загальні твердження. Є фішки, які розмивають межі.
Як було сказано, мікроконтролери по суті є системами на мікросхемі. За винятком деяких спеціалізованих периферійних пристроїв, все є в одному пакеті. Інтерфейс до зовнішньої периферії майже завжди робиться за допомогою послідовних з'єднань. Завдяки цьому розмір упаковки залишається невеликим (менше штифтів) і розміром друкованої плати невеликим (менше штифтів для з'єднання між пакетами).
На останньому Boston Barcamp (MIT 2009) я розмовляв із "Вступ до мікроконтролерів". Копія розданого документа знаходиться за адресою
Мікроконтролери:
Мікропроцесори:
Мені цікаво, що набір LEGO Mindstorms NXT має мікропроцесор [32-розрядний AT91SAM7S256 (ARM7TDMI) основний мікропроцесор @ 48 МГц (флеш-пам'ять 256 КБ, 64 КБ оперативної пам’яті)] для мислення та мікроконтролер [8-бітний ATmega48 мікроконтролер @ 4 МГц (флеш-пам’ять 4 Кб, оперативна пам’ять 512 байт)] для взаємодії з датчиками та двигунами. Дивіться технічні характеристики у Вікіпедії .
Ця відмінність - це набагато важче зробити в ці дні, оскільки цілий спектр пристроїв виник між крайнощами, але якщо є один ідентифікатор, який, здається, працює, це подивитися на вивірку та подивитися, що дизайнери зробили з шпильками . Вони в основному індивідуальні введення / виведення? Або домінують автобуси?
На мій погляд, мікроконтролер традиційно є тим, що працює як рішення з 1 мікросхемою; покладіть одну на друковану плату з кількома неминучими дискретами, а деякі роз'єми, напишіть невелику кількість програмного забезпечення, і у вас є система. Мікроконтролер містить всю пам'ять, енергонезалежну, а не та, яка потрібна системі, ціна, яка сплачується за цю зручність, полягає в тому, що під рукою не буде дуже багато. Більшість штифтів присвячені функціям вводу / виводу.
Тоді як, на іншому крайньому плані, мікропроцесор є тим самим звіром, щоб максимально розвантажити підтримку мікросхем, щоб присвятити кремнію максимальній пропускній здатності ядра процесора. Більшість контактів цього пристрою - це адреси та лінії передачі даних, необхідні для підключення до пам'яті та пристроїв вводу / виводу, яких не вистачає в ядрі.
Ще можна назвати одні мікропроцесори, а інші мікроконтролери, коли дизайнери чітко дотримувались тієї чи іншої філософії. Intel Core i7 - це явно процесор, PIC і AVR - чітко контролери. На даний момент, однак, за допомогою кількості логіки, яку можна вкласти в один чіп, ви можете легко вбудувати всю мікропроцесорну систему 1990 року в єдиний чіп. Як ви називаєте 400MHz PPC604 з контролером переривання, контролером SDRAM, підтримкою Ethernet та низкою інших периферійних пристроїв, все на одному мікросхемі ?
Переважно маркетинг.
Є ще деякі дивні терміни; Аналогові пристрої мають (або мали) щось, що вони називали "мікроконверторами", які були схожими на АЦП / ЦАП з вбудованим мікропроцесором. TI тепер викликає деякі свої ЦСП (серія C2000).
Інакше те, що сказав JohnC.
Я б припустив, що мікроконтролер - це пристрій, який містить достатню кількість внутрішньої пам’яті та схеми, щоб, принаймні, в деяких варіантах, він міг виконувати якусь корисну функцію без зовнішньої пам’яті. За таким визначенням, 8051 мав би достатню кількість схем, щоб бути корисним сам по собі, а 8031 не буде; 8031, однак, це просто 8051, у якому вміст внутрішнього ПЗУ не визначений (хоча цілком можливо, що деякі "безчинні" мікросхеми 8031 та варіанти залишають ROM-простір поза штампом, я б очікував, що є деякі інші, які, для узгодженості макета штампу з версіями, які включають ПЗУ, включають марний пустий масив ПЗУ).
Просто, щоб додати все вище чудово написані відповіді, Аналогія: Мікропроцесор - це мозок. а мікроконтролер - це все тіло.
Мозок може виконувати всі вказівки, але нам потрібно прикріпити очі, руки (тобто периферію) зовні.
У той час як у тіла є мозок та інші периферійні пристрої, тобто мікроконтролер :)
Лінія дещо розмита, але зазвичай йде так:
мікропроцесори містять ядро процесора (блок вилучення / декодування, ALU, регістри тощо) і, можливо, ще пару базових блоків, але зазвичай не набагато більше.
мікроконтролери додають оперативну пам’ять (SRAM), як правило, деякий ПЗУ (може бути маска-ром або Flash / EEPROM) для зберігання коду (але може бути і безпровідним), і набір основних периферійних пристроїв (SPI / I2C, UART, GPIO, можливо, навіть USB або Ethernet тощо). Іноді це називається System-on-Chip (SoC), або іноді SoC є чимось ще більш інтегрованим. Деякі японські компанії також люблять термін " мікрокомп'ютер ".
Однак, як я вже згадував, лінія розмивається. Наприклад, останні процесори Intel / AMD додають контролер пам'яті на мікросхемі (раніше він був у чіпсеті).
До речі, я б фактично назвав 8086 мікропроцесором (мікроконтролери Intel включають, наприклад, 8051 або 80186).
Мікропроцесор = процесор; Мікроконтролер = процесор + периферія + пам'ять периферійні пристрої = порти + годинник + таймери + uarts + перетворювачі ADC + драйвери для lcd + dac + інші речі; Пам'ять = eeprom + sram + eprom + спалах
У мікропроцесорі більше оп-кодів, декілька інструкцій з обробки бітів. Але в мікроконтролері: менше оп-кодів, більше інструкцій по обробці бітів.
Мікропроцесор також не може бути запрограмований для виконання завдань у режимі реального часу, тоді як мікроконтролер, наприклад, у пристроях, які мають контролювати температуру води або, можливо, вимірювати температуру приміщення, потребує моніторингу в режимі реального часу, а тому завдяки вбудованому набору інструкцій мікроконтролер працює самостійно.
Мікропроцесор - це простий центральний процесор (CPU) на одній мікросхемі (пам’ятайте слово 'Single Chip'). Він включає в себе арифметичний логічний блок (ALU), блок управління (CU), регістри, декодери інструкцій, схему управління шиною тощо, але все повинно бути на одному чіпі.
Мікроконтролер: Мікроконтролер - це об'єднання мікропроцесора та периферійних пристроїв вводу / виводу, підтримуючої схеми та пам'яті (як даних, так і програми). Не обов’язково бути на одному мікросхемі (пам’ятайте цей момент, а не в одному чіпі).
Усі відповіді правильні, оскільки ця різниця більше блоків, що мають mC та mP, див. Нижче в таблиці,
Коротка відповідь:
MicroProcessor - чи думає "мислення" - це в основному чіп, який займається математикою.
Мікроконтролер - система з включеним мікропроцесором, здатна легко взаємодіяти з електронними компонентами для розробки вбудованих систем.