Чем различаются микропроцессор и микроконтроллер. Поясним какое различие между микропроцессором и микроконтроллером

Отличие микропроцессоров от микроконтроллеров. и получил лучший ответ

Ответ от Releboy[гуру]
МИКРОПРОЦЕССОР - самостоятельное или входящее в состав микро-ЭВМ устройство обработки информации, выполненное в виде одной или нескольких больших интегральных схем (по сути - это мозг микроконтроллера) . С появлением однокристальных микро-ЭВМ связывают начало эры массового применения компьютерной автоматизации в области управления. По-видимому, это обстоятельство и определило термин «контроллер» (англ. controller - регулятор, управляющее устройство) . В связи со спадом отечественного производства и возросшим импортом техники, в том числе вычислительной, термин «микроконтроллер» (МК) вытеснил из употребления ранее использовавшийся термин «однокристальная микро-ЭВМ» . Первый патент на однокристальную микро-ЭВМ был выдан в 1971 году инженерам М. Кочрену и Г. Буну, сотрудникам американской Texas Instruments. Именно они предложили на одном кристалле разместить не только процессор, но и память с устройствами ввода-вывода. При проектировании микроконтроллеров приходится соблюдать баланс между размерами и стоимостью с одной стороны и гибкостью и производительностью с другой. Для разных приложений оптимальное соотношение этих и других параметров может различаться очень сильно. Поэтому существует огромное количество типов микроконтроллеров, отличающихся архитектурой процессорного модуля, размером и типом встроенной памяти, набором периферийных устройств, типом корпуса и т. д. В то время как 16-разрядные процессоры общего назначения давно и полностью вытеснены более производительными моделями, 8-разрядные микроконтроллеры продолжают широко использоваться. Это объясняется тем, что существует большое количество применений, в которых не требуется высокая производительность, но важна низкая стоимость. В то же время, есть микроконтроллеры, обладающие больши́ми вычислительными возможностями, например цифровые сигнальные процессоры. Сегодня термин микроконтроллер - это компьютер, управляющий периферийными устройствами в автоматическом режиме без участия оператора. Обычно работают на низших уровнях автоматизации. Современные же персональные компьютеры – это мощные и скоростные микроконтроллеры, направленные на выполнение огромного числа операций и функций с участием оператора. Собирают и обрабатывают информацию от контроллеров. Используются на высоких уровнях автоматизации.

Ответ от Ёеренький [гуру]
как я знаю микропроцессор уже запрограмирован. а микрокантроллер можно запрограмировать как захочеш в зависимости от задач один и тотже контролер может управлять и работой допустим индикатора многоразрядного с различным счеслением генерировать частоту управлять комутацией различных устройств даже на ВЧ управлять работой интерфейса (например модема) обычно их используют в относительно не дорогих многофункциональных устройствах в зависимости от времени выпуска устройство функциональный сервес может различатся задается прграмой


Ответ от Владимир Николаев [гуру]
Микроконтроллер - компьютер на одной микросхеме. Предназначен для управления различными электронными устройствами и осуществления взаимодействия между ними в соответствии с заложенной в микроконтроллер программой. В отличие от микропроцессоров, используемых в персональных компьютерах, микроконтроллеры содержат встроенные дополнительные устройства. Эти устройства выполняют свои задачи под управлением микропроцессорного ядра микроконтроллера.

Микропроцессор и микроконтроллер являются типичными программируемыми электронными чипами, используемыми для различных целей. Существенное различие между ними заключается в том, что микропроцессор представляет собой программируемый вычислительный механизм, состоящий из ALU, CU и регистров, обычно используемых в качестве блока обработки (например, CPU в компьютерах), который может выполнять вычисления и принимать решения. С другой стороны, микроконтроллер - это специализированный микропроцессор, который рассматривается как «компьютер на кристалле», поскольку он объединяет такие компоненты, как микропроцессор, память и параллельный цифровой ввод / вывод.

Микроконтроллер в первую очередь предназначен для управления задачами в реальном времени, в отличие от микропроцессора.

Сравнительная таблица

Основа для сравнения Микропроцессор микроконтроллер
основной Состоит из одного кремниевого чипа, содержащего ALU, CU и регистры. Состоит из микропроцессора, памяти, порта ввода / вывода, блока управления прерываниями и т. Д.
Характеристика Зависимая единица Автономный блок
Порты ввода / вывода Не содержит встроенного порта ввода / вывода Встроенные порты ввода / вывода присутствуют
Тип выполненной операции Общее назначение при проектировании и эксплуатации. Ориентирован на приложение или предметную область.
Целевой для Рынок высшего класса Встроенный рынок
Потребляемая мощность Обеспечивает меньше вариантов энергосбережения Включает больше вариантов энергосбережения

Определение микропроцессора

Микропроцессор с кремниевой микросхемой работает как центральный процессор (ЦП). Он может выполнять функции, в том числе логические и арифметические, согласно заранее определенным инструкциям, указанным изготовителем. ЦП состоит из АЛУ (арифметического и логического блока), регистра и блока управления. Микропроцессор может быть сконструирован разными способами в зависимости от набора команд и архитектуры системы.

Для проектирования микропроцессора предусмотрены две системные архитектуры - Гарвард и Фон-Нейман. Процессор гарвардского типа, встроенный в изолирующие шины для программ и памяти данных. Напротив, процессор на основе архитектуры фон-Неймана совместно использует одну шину для памяти программ и данных.

Микропроцессор не является независимым блоком, он зависит от других аппаратных блоков, таких как память, таймер, контроллер прерываний и т. Д. Первый микропроцессор был разработан Intel в 1971 году и назван Intel 4004.

Определение микроконтроллера

Микроконтроллер - это технология, разработанная после микропроцессора и позволяющая преодолеть недостатки микропроцессора. Микросхема микроконтроллера обладает высокой степенью интеграции с процессором, памятью (RAM и ROM), регистрами, блоками управления прерываниями и выделенными портами ввода / вывода. Кажется, это надстройка микропроцессора. В отличие от микропроцессора микроконтроллер не зависит от других аппаратных блоков, он содержит все необходимые блоки для правильного функционирования.

Микроконтроллер более ценен, чем микропроцессор в области встроенных систем, потому что он более экономичен и легко доступен. Первый микроконтроллер TMS 1000 был разработан компанией Texas Instruments в 1974 году. Базовая конструкция микроконтроллера TI напоминает процессор Intel 4004/4040 (4-разрядный), в который разработчики добавили поддержку ОЗУ, ПЗУ, ввода-вывода. Еще одним преимуществом микроконтроллера является то, что мы можем записывать пользовательские инструкции в процессор.

Ключевые различия между микропроцессором и микроконтроллером

  1. Микропроцессор состоит из кремниевого чипа, имеющего арифметически-логический блок (АЛУ), блок управления (БУ) и регистров. И наоборот, микроконтроллер включает в себя свойства микропроцессора, а также ОЗУ, ПЗУ, счетчики, порты ввода / вывода и так далее.
  2. Микропроцессор требует группы других микросхем, таких как таймеры, контроллеры прерываний и память программ и данных, что делает его зависимым. В отличие от этого, микроконтроллер не требует других аппаратных блоков, поскольку он уже включен с ним.
  3. В микроконтроллере предусмотрены неявные порты ввода / вывода, в то время как микропроцессор не использует встроенные порты ввода / вывода.
  4. Микропроцессор выполняет операции общего назначения. Напротив, микроконтроллер выполняет прикладные операции.
  5. В микропроцессоре основной упор делается на производительность, поэтому он нацелен на рынок высокого класса. С другой стороны, микроконтроллер ориентирован на рынок встраиваемых систем.
  6. Использование энергии в микроконтроллере лучше, чем в микропроцессоре.

Заключение

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


ЧТО ТАКОЕ МИКРОПРОЦЕССОР, МИКРОКОНТРОЛЛЕР И
ПРОГРАММИРУЕМЫЙ ЛОГИЧЕСКИЙ КОНТРОЛЛЕР

Стремительное развитие электроники быстро меняет нашу жизнь, и мы замечаем это, прежде всего, в социальной сфере, сферах коммуникации (общения) и связи. Первое, что приходит на ум в этой связи, – это компьютеры, Интернет и сотовые телефоны. Мы свободны в поисках необходимой информации, имеем возможность выйти на связь с желаемым абонентом, невзирая на наше местоположение. Мы можем получать дистанционное образование и объединяться в группы по профессиональным, социальным или культурным интересам. Все это стало возможным в значительной мере благодаря появлению микропроцессора и созданию микропроцессорных систем.

А существуют ли другие проявления прогресса микроэлектроники, не такие заметные на первый взгляд, но играющие значительную роль в нашей жизни?

Да! микропроцессоры и микроконтроллеры широко применяются в бытовой технике, автомобильной электронике, аэрокосмической и военной отраслях и, конечно же, в промышленном производстве.

Эта статья раскрывает некоторые аспекты применения микропроцессорных систем в технике и промышленности. Если дальнейший текст покажется вам слишком тяжелым и непонятным, рекомендуем предварительно ознакомиться со статьей «Основы информатики. Компоненты микропроцессорных систем ».

  • Что такое микропроцессор?
  • Что такое микроконтроллер? Каковы его особенности?
  • Где используются микроконтроллеры?
  • Чем микроконтроллер отличается от микропроцессора?
  • Что такое сигнальный процессор?
  • Что такое программируемый логический контроллер (ПЛК)? Как он построен?
  • Как программируют ПЛК?

Вы уже наверняка знаете, что любой компьютер – это машина для обработки информации, не взирая на то, какую конкретно задачу он выполняет. Центральным элементом компьютера является микропроцессор. Если спросить у ученика средней школы: – Что такое микропроцессор?, – то, скорее всего, получите ответ «Микропроцессор – это сердце компьютера».

Микропроцессор – это микроэлектронное программируемое устройство, предназначенное для обработки информации и управления процессами обмена этой информацией в составе микропроцессорной системы (компьютера).

Почему «микроэлектронное»? Потому что микропроцессоры производятся с помощью технологий современной микроэлектроники на основе полупроводникового кристалла. Информация в микропроцессорной системе передается электрическими импульсами. Конструктивно микропроцессор исполняется в виде одной микросхемы (иногда – нескольких). Микросхема состоит из пластикового или керамического корпуса, внутри которого размещается миниатюрная полупроводниковая подкладка (рис. 1). На этой подкладке лазером «начерчены» все электронные схемы микропроцессора. Входы и выходы схемы на подкладке соединены с металлическими выводами, расположенными по бокам или снизу корпуса микросхемы.



а) б)

Рис. 1. Интегральная микросхема (а) и ее внутреннее строение (б)


Почему микропроцессор – это «программируемое устройство»? Потому что микропроцессорные системы в общем случае универсальны, т. е. способны выполнять широкий круг задач по обработке информации. А на выполнение конкретной задачи микропроцессор «настраивают» с помощью программы – последовательного перечня машинных команд.

Обязательными компонентами микропроцессора являются регистры, арифметико-логическое устройство (АЛУ) и блок управления. Регистры предназначены для временного хранения данных, арифметико-логическое устройство – для выполнения арифметических и логических операций (т. е. для обработки данных). Блок управления отвечает за последовательное выполнение команд программы и правильное перенаправление потоков данных.

Микропроцессор не может работать сам по себе. Он является центральным звеном микропроцессорной системы, в которую также входят устройства постоянной и оперативной памяти, устройства ввода и вывода информации, накопители на жестких магнитных дисках (так называемые «винчестеры»), и т. д. Такие микропроцессорные системы собственно и называют компьютерами.

Персональный компьютер может иметь множество применений, однако это достаточно дорогое и громоздкое устройство. А как же наделить элементами интеллекта бытовую технику, автомобили, медицинские приборы? Как сделать их «умными»? Понятно, что в бытовой кондиционер нельзя вмонтировать системный блок обычного компьютера. Это повысит его стоимость в два-три раза. И в составе так называемого смарт-телевизора мы не найдем отдельного персонального компьютера в его обычном виде. Для автоматизации такого рода техники разработаны и изготавливаются специальные процессорные устройства – однокристальные микроконтроллеры (англ.: «Microcontroller»). Английское слово «control» обозначает «контролировать», «управлять». Таким образом, микроконтроллер – это специальный микропроцессор, предназначенный для автоматизации разнообразных устройств и управления их работой.

Итак, микроконтроллер – это специализированное микроэлектронное программируемое устройство, предназначенное для использования в управляющих узлах всевозможных технических изделий, системах передачи данных и системах управления технологическими процессами.

Микроконтроллеры применяют в бытовой технике, медицинских приборах, системах управления лифтами, телефонах, рациях и прочих средствах связи, электронных музыкальных инструментах и автомагнитолах, компьютерной периферии (клавиатурах, джойстиках, принтерах и т. п.), светофорах, автоматических воротах и шлагбаумах, интерактивных детских игрушках, автомобилях, локомотивах и самолетах, роботах и промышленных станках.



Рис. 2. Сферы применения микроконтроллеров.


Микроконтроллеры также широко используются в автомобильной электронике. Например, автомобиль «Peugeot 206» имеет на борту 27 микроконтроллеров, а в автомобилях высокого класса, таких как, например, «BMW» седьмой серии, используется более 60 микроконтроллеров. Они регулируют жесткость адаптивной подвески, управляют впрыском топлива, светотехникой, двигателями дворников, стеклоподъемников и зеркал заднего вида и т. п. (рис. 3).


Рис. 3. Использование микроконтроллеров в автомобильной электронике
(по материалам Microchip Technology).


Микроконтроллер, в отличие от микропроцессора, обычно имеет небольшую разрядность (8 – 16 бит) и богатый набор команд манипулирования отдельными битами. Битовые команды дают возможность управлять дискретным оборудованием (поднять/опустить шлагбаум, включить/выключить лампу, нагреватель, запустить/остановить двигатель, открыть/закрыть клапан, и проч.) Средства, обеспечивающие возможность оперировать отдельными битами, вводить и выводить дискретные сигналы называют «битовым процессором».

Еще одно из основных отличий микроконтроллера от микропроцессора заключается в том, что в составе микросхемы контроллера наличествуют все необходимые элементы для построения простой (а иногда – и достаточно сложной) системы управления. Так, внутри микроконтроллера есть память данных (оперативная память), память программ (постоянная память), генератор тактовых импульсов, таймеры, счетчики, параллельные и последовательные порты. Поэтому система минимальной конфигурации на основе микроконтроллера может состоять из блока питания, непосредственно микросхемы контроллера и нескольких пассивных элементов (резисторов, конденсаторов и кварцевого резонатора). И это фактически есть ничто иное, как одноплатный мини-компьютер на основе одной микросхемы, подходящий для встраивания в объект управления. Средняя стоимость системы минимальной конфигурации составляет несколько десятков долларов (сравните со средней стоимостью персонального компьютера).

Типовая архитектура микроконтроллера (рис. 4) содержит систем систему синхронизации и управления (1), арифметико-логическое устройство (2), регистры общего назначения (3), память данных (4) и память программ (5), порты (6), функциональные устройства (таймеры, счетчики, широтно-импульсные модуляторы, интерфейсы) и регистры для их настройки (7), рис. 4.


Рис. 4. Архитектура типичного микроконтроллера.


Программы для микроконтролеров создают в специальных интегрованных инструментальных средах (англ .: I ntegrated D evelopment E nvironment, IDE) языками Асемблера (машинных команд) или C++.

Остается добавить, что ежегодно в мире продаются миллиарды микроконтроллеров, а обычный житель развитой страны в течение дня десятки раз соприкасается с микроконтроллерами, являющимися неотъемлемой частью современной технологичной окружающей среды.

Кроме микропроцессоров общего назначения и микроконтроллеров на рынке предлагаются так называемые сигнальные процессоры, специально предназначенные для обработки сигналов в режиме реального времени. Они используются в измерительных приборах, средствах связи, передачи и воспроизведения аудио- и видеопотоков, системах локации, космической и военной технике.

Сигнальные процессоры (англ .: D igital S ignal P rocessor, DSP) характеризуются высокой разрядностью и быстродействием, имеют в системе команд специальные инструкции для реализации типовых алгоритмов цифровой обработки сигналов (ЦОС). Также на одном кристалле, кроме собственно процессорной части, реализуются аналогово-цифровые и цифро-аналоговые преобразователи. А налого-Ц ифровой П реобразователь (АЦП) заменяет непрерывный входной сигнал соответствующим потоком цифровых данных (отсчетов). Далее эти данные обрабатываются процессорной частью, после чего с помощью Ц ифро-А налогового П реобразователя (ЦАП) обработанные цифровые данные снова воспроизводятся в аналоговый сигнал. Таким способом сигнальный процессор может углублять четкость изображения, или, наоборот, размывать его, шифровать и дешифровать аудио- и видеопотоки, воспроизводить на экране виртуальную или дополненную реальность, отслеживать движущиеся объекты даже в условиях значительных помех и неполной входной информации.


ТИПЫ МИКРОПРОЦЕССОРОВ

Микропроцессоры общего назначения Микроконтроллеры Сигнальные процессоры Другие
(нейрочипы, секционные и гибридные процессоры)
Применяются:
для построения персональных компьютеров, серверов и многопроцессорных систем.
Применяются:
для реализации несложных функций управления и автоматизации.
Применяются:
для реализации сложных алгоритмов потоковой обработки данных в режиме реального времени.
Применяются:
для построения уникальных экспериментальных или специфических систем.
Особенности:

высокая разрядность,
универсальная архитектура.
Особенности:
встроенная память программ и память данных,
битовый процессор,
таймеры, счетчики, порты, интерфейсы.
Особенности:
высокая вычислительная производительность,
команды для реализации типовых алгоритмов обработки сигналов,
встроенные АЦП, ЦАП или медиа-интерфейсы.
Особенности:
построение одного процессора на нескольких микросхемах,
комбинация нескольких видов процессоров в одном изделии,
специфическая архитектура

Еще один тип микропроцессорных устройств, которые за последние 30 – 40 лет заняли свою рыночную нишу – так называемые программируемые логические контроллеры.

П рограммируемый Л огический К онтроллер (ПЛК; англ .: P rogrammable L ogic C ontroller или PLC) – это специализированная микропроцессорная система, которая используется для автоматизации технологических процессов и общепромышленных установок и комплексов (конвейеров, рольгангов, подъемных кранов, дробилок, мельниц, классификаторов, смесителей, прессов, упаковочных машин, робототехнических и гибких производственных комплексов, и т. п.)

Т. е. основная сфера применения ПЛК – это сфера промышленного производства. Однако они также используются для автоматизации зданий (контроль доступа в помещение, управление освещением, обогревом, вентиляцией и кондиционированием воздуха, управление лифтами, эскалаторами и т. п.) Также ПЛК могут применяться для создания микроклимата в тепличном хозяйстве, на птицефабриках, животноводческих фермах.

В общем случае ПЛК – это одноплатный мини-компьютер, построенный на основе однокристального микроконтроллера и расположенный в типовом корпусе размерами с кирпич. Также существуют модульные контроллеры (рис. 5). Ко входам ПЛК можно подсоединить кнопки, контакты джойстика, переключатели (т. е. органы управления), датчики и исполнительные механизмы (двигатели, лампы, нагревательные элементы, клапаны, вентили, актуаторы и т. п.) ПЛК циклически опрашивает входные сигналы (органы управления и датчики), выполняет программу пользователя (пересчитывает значения переменных) и выдает полученные выходные значения на исполнительные механизмы. Т. е. ПЛК циклически, раз за разом выполняет одну и ту же программу (программу пользователя).



Рис. 5. Программируемые логические контроллеры.


Кроме аппаратной унификации (использования стандартных размеров, уровней напряжений, видов сигналов), прорывному распространению ПЛК поспособстваволо то, что для них были разработаны интуитивные «общеинженерные» языки программирования. Теперь для разработки программы пользователя не обязательно приглашать программиста высокого класса. С этим может справиться (иногда – и лучше) и технолог, и электрик, и химик, и, конечно, специалист по автоматизации. А в случае сложных задач эти языки программирования стирают грань недопонимания между программистом и инженером. Они одинаково понятны и заказчику (инженеру) и исполнителю (программисту).

Таких языков программирования – 6 (5 стандартизированных), причем 4 из них – визуальные (т. е. программа вводится не в виде текста, а как набор соединенных друг с другом графических элементов (блоков), (рис. 6).




Обычно один и тот же контроллер можно программировать на нескольких языках на выбор пользователя. Для этого используют инструментальные программные комплексы, позволяющие не только разработать программу, но и отладить ее с помощью программной модели контроллера (на «симуляторе») или в режиме мониторинга (когда программу пользователя исполняет реальный контроллер, а на дисплее компьютера можно следить за его работой).

Аппаратная и программная унификация ПЛК дает возможность легко переходить на контроллеры другого производителя, переносить программы с одной платформы на другую. Это повышает гибкость систем автоматизации, способствует конкурентному инновационному развитию рынка.

Подробно изучить работу микропроцессорных систем, научиться разрабатывать и программировать прикладные мини-компьютеры и программируемые логические контроллеры для задач автоматизации можно на Национального горного университета.


Ключевое отличие : Разница между микропроцессором и микроконтроллером заключается в наличии ОЗУ, ПЗУ и других периферийных устройств в микроконтроллере. Микропроцессор содержит только процессор и не имеет других компонентов.

Микропроцессор и микроконтроллер, оба являются основными процессорами, предназначенными для работы компьютеров. Функции обоих процессоров одинаковы. Основное различие между ними состоит в том, что микропроцессоры выполняют различные функции, тогда как микроконтроллеры - это небольшие компьютеры, предназначенные для конкретных задач. Эта статья помогает найти больше различий между двумя процессорами.

Микропроцессоры обычно называются центральным процессором или процессором микрокомпьютера. Говорят, что это сердце и мозг компьютеризированной машины.

Микропроцессор необходим для выполнения множества задач. Это небольшой компьютер, который используется для выполнения арифметических и логических операций, таких как управление системой, хранение данных и т. Д. Микропроцессор обрабатывает входные или выходные данные периферийных устройств и дает функцию для возврата результатов. Первый коммерческий микропроцессор был выпущен Intel в ноябре 1971 года и получил название 4004; это был 4-битный микропроцессор.

Операции, выполняемые микропроцессором, являются общими по своему назначению. Поэтому считается необходимым выполнять любые логические операции на компьютеризированной машине. Микропроцессоры настроены на микросхемы; он изготовлен из миниатюрных транзисторов и некоторых других элементов схемы на одиночной полупроводниковой ИС для выполнения своих задач в компьютере. Он сокращенно обозначается как «µP» или «uP». Существует пять основных типов процессоров:

  • Комплексный набор инструкций микропроцессоров
  • Микропроцессоры с уменьшенным набором команд
  • Суперскалярные процессоры
  • Специализированная интегральная схема
  • Цифровые сигнальные мультипроцессоры

Микроконтроллер - это встроенный компьютер, оптимизированный для управления электрическими устройствами. Это устройство, которое включает в себя микропроцессор, память и устройства ввода / вывода на одной микросхеме. Говорят, что это сердце встроенной системы.

Микроконтроллеры имеют специфическую природу для задачи, которую они должны выполнить. Он имеет микропроцессор на своей плате для выполнения всех логических операций гаджета. После того, как микроконтроллер запрограммирован, он может работать самостоятельно с сохраненным набором инструкций и может выполнять операции или задачи по мере необходимости. Это предназначено, чтобы быть самодостаточным и прибыльным. Кроме того, микроконтроллер представляет собой набор дробей в системе, который является фундаментальным для комплектации печатной платы. «Фиксированная компьютерная система» предназначена для выполнения одной или нескольких функций снова и снова в режиме реального времени. Эта система встроена как элемент в аппаратные средства и моторизованные элементы компьютеризированной машины.

Микроконтроллеры предназначены для выполнения определенных операций, которые помогают управлять конкретными системами. Он сокращенно обозначен как «uC», «µC» или «MCU».

Микроконтроллеры похожи на небольшой компьютер, в котором ЦП, блок памяти, такой как ОЗУ и ПЗУ, периферийные устройства ввода / вывода, таймеры, счетчики, встроены в одну интегральную схему, т.е. IC. Они легко подключаются к внешним периферийным устройствам, таким как последовательные порты, АЦП, ЦАП, Bluetooth, Wi-Fi и т. Д. Здесь процесс сопряжения происходит быстрее по сравнению с сопряжением микропроцессора. В большинстве случаев микроконтроллеры используют архитектуру RISC или CISM для выполнения задач на разных машинах. Различные типы микроконтроллеров:

  • 8-битный микроконтроллер
  • 16-битный микроконтроллер
  • 32-битный микроконтроллер
  • Встроенный микроконтроллер
  • Встроенный микроконтроллер

Сравнение между микропроцессором и микроконтроллером:

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

микроконтроллер

Это сердце компьютерной системы.

Это сердце встроенной системы.

Содержит

Он содержит ЦП, регистры общего назначения, указатели стека, счетчики программ, тактовую синхронизацию и схемы прерываний.

Он содержит схему микропроцессора и имеет встроенные ПЗУ, ОЗУ, устройства ввода-вывода, таймеры и счетчики.

Память данных

Он имеет много инструкций для перемещения данных между памятью и процессором.

Он имеет одну или две инструкции для перемещения данных между памятью и процессором.

Это большой.

Это небольшое.

Стоимость

Стоимость всей системы увеличивается.

Стоимость всей системы низкая.

Битовые инструкции

Он имеет одну или две инструкции по обработке битов.

Он имеет много инструкций по обработке битов.

Регистрационные номера

Имеет меньшее количество регистров; следовательно, операции основаны на памяти.

У этого есть больше количества регистров; следовательно, программы легче писать.

Место хранения

Он основан на архитектуре фон Неймана, где программа и данные хранятся в одном модуле памяти.

Он основан на архитектуре Гарварда, где память программ и память данных хранятся в отдельном модуле.

Время доступа к памяти и устройствам ввода / вывода больше.

Меньше времени доступа к встроенной памяти и устройствам ввода / вывода.

аппаратные средства

Это требует больше оборудования.

Это требует меньше оборудования.

Altera-Cyclone and Arduino

Суть вопроса. Разница между ПЛИС и микроконтроллером

Каждый начинающий микропрогер на определенном этапе своего развития задается вопросом в чем же разница между ПЛИС (фирм Altera или Xilinx) и микроконтроллером (микропроцессором)?

Читаешь форумы — знатоки дела пишут, что это совершенно разные вещи, которые нельзя сравнить, аргументируя это тем, что у них разная архитектура . Читаешь мануал по Verilog или C++ — и тот и другой используют похожие операторы со схожим функционалом, даже синтаксис похож, а почему разные? Заходишь на марсоход — там светодиодами (или даже просто лампочками) с помощью FPGA моргают, смотришь проекты на Arduino — там роботами управляют. СтОп!

А вот теперь остановимся и спросим себя: почему с ПЛИС — тупо лампочка, а Ардуино — умно робот? Ведь и первый и второй вроде как программируемое устройство, неужели у ПЛИС возможностей для робота не хватает?

В какой-то степени суть вопроса «В чем разница между ПЛИС и микроконтроллером ?» раскрывается именно на таком примере.

Отметим сразу. Функционал ПЛИС изначально не уступает микроконтроллеру (и микропроцессору, кстати, тоже), точнее — основные функции у одного и второго по сути идентичны — выдавать логические 0 или 1 при определенных условиях, а если говорить о быстродействии, количестве выводов(ножек) и возможностях конвейерной обработки, то микроконтроллеру до ПЛИС а вообще далеко. Но есть одно «но». Время на разработку одного и того же программного алгоритма на двух разных устройствах (ПЛИС и микроконтроллер ) различается в разы, а то и в десятки раз. Именно ПЛИС здесь в 99% случаев сильно уступает МК. И дело вовсе не в замороченности языков Verilog , VHDL или AHDL , а в устройстве самой ПЛИС .

О взаимодействии программного языка с архитектурой ПЛИС и микроконтроллера

FPGA : в ПЛИС и нет сложных автоматизированных цепочек(делающих часть работы за вас). Есть только железные проводные трассы и магистрали, входы, выходы, логические блоки и блоки памяти. Среди трасс есть особый класс — трасса для тактирования(привязанная к определенным ножкам, через которые рекомендуется проводить тактовую частоту).

Основной состав:

Трасса — металл, напаянный на слои микросхемы, является проводником электричества между блоками.

Блоки — отдельные места в плате, состоящие из ячеек. Блоки служат для запоминания информации, умножения, сложения и логических операций над сигналами вообще.

Ячейки — группы от нескольких единиц до нескольких десятков транзисторов.

Транзистор — основной элемент ТТЛ логики.

Выводы (ножки микросхемы) — через них происходит обмен ПЛИС с окружающим миром. Есть ножки специального назначения, предназначенные для прошивки, приема тактовой частоты, питания, а так же ножки, назначение которых устанавливаются пользователем в программе. И их, как правило, гораздо больше, чем у микроконтроллера .

Тактовый генератор — внешняя микросхема, вырабатывающая тактовые импульсы, на которых основывается большая часть работы ПЛИС .

Архитектура ПЛИС. Взаимосвязь составляющих элементов

Трассы подключаются к блокам с помощью специальных КМОП-транзисторов. Эти транзисторы способны сохранять свое состояние(открытое или закрытое) на протяжении длительного периода времени. Изменяется состояние транзистора при подаче сигнала по определенной трассе, которая используется только при программировании ПЛИС . Т.е., в момент прошивки осуществляется именно подача напряжения на некоторый набор КМОП-транзисторов. Этот набор определяется прошивочной программой. Таким образом происходит сложное построение огромной сети трасс и магистралей внутри ПЛИС , связывающей сложным образом между собой огромное количество логических блоков. В программе вы описываете какой именно алгоритм нужно выполнять, а прошивка соединяет между собой элементы, выполняющие функции, которые вы описываете в программе. Сигналы бегают по трассе от блока к блоку. А сложный маршрут задается программой.


Архитектура ПЛИС (FPGA)

Архитектура Микроконтроллера

В этом элементе ТТЛ логики все операции по обработкам отдельных сигнальчиков проводятся независимо от вас. Вы лишь указываете что делать с тем или иным набором принятых сигналов и куда выдавать те сигналы, которые нужно передать. Архитектура микроконтроллера состоит совсем из других блоков, нежели ПЛИС . И связи между блоками осуществляются по постоянным магистралям(а не перепрошиваемым). Среди блоков МК можно выделить основные:

Постоянная память (ПЗУ) — память, в которой хранится ваша программа. В нее входят алгоритмы действий и константы. А так же библиотеки(наборы) команд и алгоритмов.

Оперативная память (ОЗУ) — память, используемая микроконтроллером для временного хранения данных(как триггеры в ПЛИС ). Например, при вычислении в несколько действий. Допустим, нужно умножить первое пришедшее число на второе(1-е действие), затем третье на четвертое(2 действие) и сложить результат(3 действие). В оперативную память при этом занесется результат 1 действия на время выполнения второго, затем внесется результат 2 действия. А затем оба этих результата пойдут из оперативной памяти на вычисление 3 действия.

Процессор — это калькулятор микроконтроллера . Он общается с оперативной памятью, а так же с постоянной. С оперативной происходит обмен вычислениями. Из постоянной процессор получает команды, которые заставляют процессор выполнять определенные алгоритмы и действия с сигналами на входах.

Средства (порты) ввода-вывода и последовательные порты ввода-вывода — ножки микроконтроллера , предназначенные для взаимодействия с внешним миром.

Таймеры — блоки, предназначенные для подсчета количества циклов при выполнении алгоритмов.

Контроллер шины — блок, контролирующий обмен между всем блоками в микроконтроллере . Он обрабатывает запросы, посылает управляющие команды, организовывает и упорядочивает общение внутри кристалла.

Контроллер прерываний — блок, принимающий запросы на прерывание от внешних устройств. Запрос на прерывание — сигнал от внешнего устройства, информирующий о том, что ему необходимо совершить обмен какой-либо информацией с микроконтроллером .

Внутренние магистрали — трассы, проложенные внутри микроконтроллера для информационного обмена между блоками.

Тактовый генератор — внешняя микросхема, вырабатывающая тактовые импульсы, на которых основывается вся работа микроконтроллера .

Взаимосвязь составляющих блоков микроконтроллера

В микроконтроллере , в отличии от ПЛИС , работа происходит между вышеперечисленными блоками, имеющими сложную архитектуру , облегчающую процесс разработки программ. При прошивке вы изменяете только постоянную память, на которую опирается вся работа МК.


Основное отличие ПЛИС и микроконтроллера

ПЛИС прошивается на уровне железа, практически по всей площади кристалла. Сигналы проходят через сложные цепочки транзисторов. Микропроцессор же прошивается на уровне программы для железа, сигналы проходят группами, от блока к блоку — от памяти к процессору, к оперативной памяти, от оперативной к процессору, от процессору к портам ввода-вывода, от портов ввода-вывода к оперативной памяти, от оперативной памяти… и так далее. Вывод: за счет архитектуры ПЛИС выигрывает в быстродействии и более широких возможностях конвеерной обработки, МК выигрывает в простоте написания алгоритмов. За счет более простого способа описания программ, фантазия разработчика Микроконтроллера менее скованна временем на отладку и разработку, и, таким образом, время на программирование того же робота на МК и ПЛИС будет отличаться во многие и многие разы. Однако робот, работающий на ПЛИС будет гораздо шустрее, точнее и проворнее.

Железо и программа.

В ПЛИС всю работу нужно делать самому, вручную: для того, чтобы реализовать какую-либо программу на ПЛИС , нужно отследить каждый сигнальчик по каждому проводку, приходящему в ПЛИС , расположить какие-то сигнальчики в ячейки памяти, позаботиться о том, чтобы в нужный момент именно к этим ячейкам памяти обратился другой сигнальчик, который вы так же отслеживаете или даже генерируете, и в итоге набор сигнальчиков, задержанный в памяти задействовал нужный вам сигнальчик, который, например, пойдет на определенную выходную ножку и включит светодиодик, который к ней подключен. Часть сигнальчиков идет не в память, а например на запуск определенной части алгоритма(программы). То есть, говоря языком микропрогера, эти ножки являются адресными. Например, имеем на нашей плате в нашей программе три адресные ножки для включения неких не связанных(или связанных) друг с другом алгоритмов, которые мы реализовали на языке Verilog в ПЛИС . Также в программе, кроме трех адресных ножек, у нас есть еще например 20 информационных ножек, по которым приходит набор входных сигнальчиков(например с разных датчиков) с какой-либо информацией (например температура воды в аквариуме с датчика температуры воды в аквариуме). 20 ножек = 20 бит. 3 ножки -3 бита. Когда приходит адресный сигнал 001(с трех ножек адреса) — запускаем первый алгоритм, который записывает 20 информационных сигнальчиков в 20 ячеек памяти(20 триггеров), затем следующие 20 сигнальчиков умножаем на полученные ранее 20, а результат умножения записываем в память, а потом отсылаем по другим ножкам например в терморегулятор воды в аквариуме. Но Отошлем мы этот результат только тогда, когда на наши адресные ножки придет код например 011 и запустит алгоритм считывания и передачи. Ну, естественно «отсылаем», «считываем» и еще что-то прописываем в ручную. Ведем каждый сигнальчик в каждый такт работы ПЛИС по определенному пути, не теряем. Обрабатываем или записываем. Складываем или умножаем. Не забываем записать. Не забываем принять следующий сигнал и записать в другие триггеры. Еще добавьте сюда работу, привязанную к тактовой частоте, синхронизацию (которая так же реализуется вручную), неизбежные ошибки на этапах разработки и отладки и кучу других проблем, которые в данной статье рассматривать просто бессмысленно. Трудно. Долго. Но зато на выходе работает супер оперативно, без глюков и тормозов. Железно!

Теперь микроконтроллер . 20 ножек на прием информации — для большинства микроконтроллеров физически невозможная задача. А вот 8 или 16 — да пожалуйста! 3 информационных — в легкую! Программа? По адресу 001 умножить первое пришедшее число на второе, по адресу 011 отсылай результат в терморегулятор. Все! Быстро. Легко. Не супер, но оперативно. Если очень грамотно написать программу- без глюков и тормозов. Программно!

Железо и Программа! Вот главное отличие между ПЛИС и Микроконтроллером .

В микроконтроллере большинство замороченных, но часто используемых алгоритмов уже вшиты железо(в кристалл). Нужно лишь вызвать программным способом нужную библиотеку, в которой этот алгоритм хранится, назвать его по имени и он будет делать всю грязную работу за вас. С одной стороны это удобно, требует меньшего количества знаний о внутреннем устройстве микросхемы. Микрик берет на себя заботу об отслеживании принятых, генерируемых и результирующих сигналов, об их складировании, обработке, задержке. Все делает сам. В большинстве микропрогерских задач это то, что нужно. Но если безграмотно использовать все эти удобства, то возникает вероятность некорректной работы. Железо и Программа!

Заключение

Современные разработчики процессоров и микропроцессоров изначально разрабатывают свои устройства на ПЛИС . Да-да, вы правильно догадываетесь: сначала они имитируют создаваемую архитектуру микроконтроллера с помощью разработки и прошивки программы на ПЛИС , а затем измеряют скорость выполнения алгоритмов при том или ином расположении имитируемых блоков МК и том или ином наборе функционала каждого блока отдельно.

По характеристикам выдаваемого сигнала, ПЛИС чаще всего рассчитана на 3,3В, 20мА, Микроконтроллер на 5В, 20мА.

Под микроконтроллер AVR, успешно внедренный в платформу Arduino, написано множество открытых программ, разработано великое множество примочек в виде датчиков, двигателей, мониторчиков, да всего, чего только душе угодно! Arduino в настоящее время больше похож на игровой конструктор для детей и взрослых. Однако не стоит забывать, что ядро этого конструктора управляет «умными домами», современной бытовой электроникой, техникой, автомобилями, самолетами, оружием и даже космическими аппаратами. Несомненно, такой конструктор будет являться одним из лучших подарков для любого представителя сильной половины человечества.

В принципе, все просто!

Остались вопросы? Напишите комментарий. Мы ответим и поможем разобраться =)

Компьютер