Микросхема предназначенная для управления электронными устройствами. Микросхема, предназначенная для управления электронными устройствами (микроконтроллер)

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

Микроконтроллеры выпускают десятки компаний, причем производятся не только современные 32-битные микроконтроллеры, но и 16, и даже 8-битные (как i8051 и аналоги). Внутри каждого семейства часто можно встретить почти одинаковые модели, различающиеся скоростью работы ЦПУ и объемом памяти.

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

Именно поэтому самые старые типы микроконтроллеров еще до сих пор в ходу - они многое могут: от автоматического открывания дверей и включения полива газонов до интеграции в систему «умный дом». При этом существуют и более мощные микроконтроллеры, способные выполнять сотни миллионов операций в секунду и обвязанные периферией «до зубов». У них и задачи соответствующие. Таким образом, разработчик сначала оценивает задачу, а уж потом выбирает под нее подходящее «железо».

На сегодняшний день существует более 200 модификаций микроконтроллеров, совместимых с i8051, выпускаемых двумя десятками компаний, и большое количество микроконтроллеров других типов. Популярностью у разработчиков пользуются 8-битные микроконтроллеры PIC фирмы Microchip Technology и AVR фирмы Atmel, 16-битные MSP430 фирмы TI, а также 32-битные микроконтроллеры, архитектуры ARM, которую разрабатывает фирма ARM Limited и продаёт лицензии другим фирмам для их производства.

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

В ходе работы микрконтроллер считывает команды из памяти или порта ввода и исполняет их. Что означает каждая команда, определяется системой команд микроконтроллера. Сиситема команд заложена в архитектуре микрконтроллера и выполнение кода команды выражается в проведении внутренними элементами микросхемы определенных микроопераций.

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

Микроконтроллеры, как правило, не работает в одиночку, а запаивается в схему, где, кроме него, подключаются экраны, клавиатурные входы, различные датчики и т.д.

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

МИКРОКОНТРОЛЛЕР - это уже не процессор, но ещё и не компьютер.

Центральный процессор, имеющийся в каждом компьютере - главный вычислитель. Хотя компьютер и не предназначен исключительно для вычислительной нагрузки, процессор является в нём головным элементом. Но не только в компьютере имеется процессор.

Если вдуматься и присмотреться, то можно обнаружить, что процессоры применяются в большинстве приборов бытового предназначения. Только там используются не такие процессоры как в компьютере, а микропроцессоры и даже микроконтроллеры.

Так что же такое микроконтроллер и чем отличается от собственно процессора или это совершенно различные электронные компоненты?

Большие интегральные микросхемы или микросхемы с большой степенью интеграции и есть процессоры. Микропроцессоры, по сути те же процессоры, но из-за приставки «микро» определяется их суть, что они миниатюрнее своих «больших» собратьев. В своё историческое время процессор со своим размером мог занимать не одну комнату, впору их назвать как вымерших динозавров макро-процессорами, чтобы и их как-то упорядочить в современном представлении об электронике.

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

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

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

Чтобы управлять устройствами ввода-вывода, непременно необходимы соответствующие буферные схемы и элементы. На их основе реализуются интерфейсные так называемые аппаратные средства. Способы взаимодействия с интерфейсными элементами предполагают наличие схем портов ввода-вывода, дешифраторов адреса и формирователей шин с буферными схемами, для увеличения нагрузочной способности микропроцессора.

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

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

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

Организация памяти микроконтроллера
Порты ввода-вывода
Таймеры-счетчики
Прерывания
Аналого-цифровой преобразователь
Интерфейсы связи
  • Универсальный синхронно-асинхронный приемопередатчик USART

Видеокурс по программированию микроконтроллеров STM32

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

Главной особенностью микропроцессора является возможность программирования логики работы.

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

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

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

Основные преимущества микропроцессорных систем по сравнению с цифровыми системами на «жесткой логике».

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

Хотя микропроцессор является универсальным средством для цифровой обработки информации, однако отдельные области применения требуют реализации определенных специфических вариантов их структуры и архитектуры. Поэтому по функциональному признаку выделяются два класса: микропроцессоры общего назначения и специализированные микропроцессоры. Среди специализированных микропроцессоров наиболее широкое распространение получили микроконтроллеры, предназначенные для выполнения функций управления различными объектами, и цифровые сигнальные процессоры (DSP – Digital Signal Processor), которые ориентированы на реализацию процедур, обеспечивающих необходимое преобразование аналоговых сигналов, представленных в цифровой форме.

Неполный список периферии, которая может присутствовать в микроконтроллерах, включает в себя:

  • различные интерфейсы ввода-вывода, такие как UART, I²C, SPI, CAN, USB, ETHERNET;
  • аналого-цифровые и цифро-аналоговые преобразователи;
  • компараторы;
  • широтно-импульсные модуляторы;
  • таймеры-счетчики;
  • генератор тактовой частоты;
  • контроллеры дисплеев и клавиатур;
  • массивы встроенной флэш-памяти.

Идея размещения на одном кристалле микропроцессора и периферийных устройств принадлежит инженерам М. Кочрену и Г. Буну, сотрудникам Texas Instruments. Первым микроконтроллером был 4-х разрядный TMS1000 от Texas Instruments, который содержал ОЗУ (32 байта), ПЗУ (1 кбайт), часы и поддержку ввода-вывода. Выпущенный в 1972 году, он имел новую по тем временам возможность – добавление новых инструкций.

В 1976 году (через 5 лет после создания первого микропроцессора) на свет появился первый микроконтроллер фирмы Intel, получивший имя 8048. Помимо центрального процессора, на кристалле находились 1 килобайт памяти программ, 64 байта памяти данных, два восьмибитных таймера, генератор часов и 27 линий портов ввода-вывода. Микроконтроллеры семейства 8048 использовались в игровых консольных приставках Magnavox Odyssey, в клавиатурах первых IBM PC и в ряде других устройств.

На сегодняшний день среди крупных производителей микроконтроллеров следовало бы упомянуть Atmel, Microchip, ST Microelectronics, Texas Instruments, Freescale Semiconductor, NXP и др.

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

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

Микроконтроллеры представляют собой универсальные устройства, которые практически всегда используются не сами по себе, а в составе более сложных устройств, в том числе и контроллеров. Системная шина микроконтроллера скрыта от пользователя внутри микросхемы. Возможности подключения внешних устройств к микроконтроллеру ограничены. Устройства на микроконтроллерах обычно предназначены для решения одной задачи.

Микроконтроллеры – наиболее простой тип микропроцессорных систем, в которых все или большинство узлов системы выполнены в виде одной микросхемы.

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

Характерная особенность традиционной цифровой системы состоит в том, что алгоритмы обработки и хранения информации в ней жестко связаны со схемотехникой системы. То есть изменение этих алгоритмов возможно только путем изменения структуры системы, замены электронных узлов, входящих в систему, и/или связей между ними. Например, если нам нужна дополнительная операция суммирования, то необходимо добавить в структуру системы лишний сумматор. Или если нужна дополнительная функция хранения кода в течение одного такта, то мы должны добавить в структуру еще один регистр. Естественно, это практически невозможно сделать в процессе эксплуатации, обязательно нужен новый производственный цикл проектирования, изготовления, отладки всей системы. Именно поэтому традиционная цифровая система часто называется системой на "жесткой логике".

Рис. 1. Электронная система

Любая система на "жесткой логике" обязательно представляет собой специализированную систему, настроенную исключительно на одну задачу или (реже) на несколько близких, заранее известных задач. Это имеет свои бесспорные преимущества.

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

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

Но в то же время большим недостатком цифровой системы на "жесткой логике" является то, что для каждой новой задачи ее надо проектировать и изготавливать заново. Это процесс длительный, дорогостоящий, требующий высокой квалификации исполнителей. А если решаемая задача вдруг изменяется, то вся аппаратура должна быть полностью заменена. В нашем быстро меняющемся мире это довольно расточительно.

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



Рис. Программируемая электронная система

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

Кроме того, универсальность, как правило, приводит к существенному снижению быстродействия. Оптимизировать универсальную систему так, чтобы каждая новая задача решалась максимально быстро, попросту невозможно. Общее правило таково: чем больше универсальность, гибкость, тем меньше быстродействие. Более того, для универсальных систем не существует таких задач (пусть даже и самых простых), которые бы они решали с максимально возможным быстродействием. За все приходится платить.

Таким образом, можно сделать следующий вывод. Системы на "жесткой логике" хороши там, где решаемая задача не меняется длительное время, где требуется самое высокое быстродействие, где алгоритмы обработки информации предельно просты. А универсальные, программируемые системы хороши там, где часто меняются решаемые задачи, где высокое быстродействие не слишком важно, где алгоритмы обработки информации сложные. То есть любая система хороша на своем месте.

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

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

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


Рис. Информационные потоки в микропроцессорной системе

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

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

Для выполнения команд в структуру процессора входят внутренние регистры, арифметико-логическое устройство (АЛУ, ALU – Arithmetic Logic Unit) , мультиплексоры, буферы, регистры и другие узлы. Работа всех узлов синхронизируется общим внешним тактовым сигналом процессора. То есть процессор представляет собой довольно сложное цифровое устройство.

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

Рис. 4. Пример структуры простейшего процессора

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

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

Рис. Классическая структура связей

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

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


Рис. 6. Шинная структура связей

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

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

Типичная структура микропроцессорной системы приведена на рис. 7. Она включает в себя три основных типа устройств:

  1. процессор;
  2. память, включающую оперативную память ( ОЗУ, RAM – Random Access Memory) и постоянную память ( ПЗУ, ROM –Read Only Memory), которая служит для хранения данных и программ;
  3. устройства ввода/вывода ( УВВ, I/O – Input/Output Devices), служащие для связи микропроцессорной системы с внешними устройствами, для приема (ввода, чтения, Read) входных сигналов и выдачи (вывода, записи, Write) выходных сигналов.



Рис. 7. Структура микропроцессорной системы

Все устройства микропроцессорной системы объединяются общей системной шиной (она же называется еще системной магистралью или каналом ). Системная магистраль включает в себя четыре основные шины нижнего уровня:

1) шина адреса (Address Bus);

2) шина данных (Data Bus);

3) шина управления (Control Bus);

4) шина питания (Power Bus).

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

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

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

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

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

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

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

Важно учитывать, что устройства ввода/вывода чаще всего представляют собой устройства на "жесткой логике". На них может быть возложена часть функций, выполняемых микропроцессорной системой. Поэтому у разработчика всегда имеется возможность перераспределять функции системы между аппаратной и программной реализациями оптимальным образом. Аппаратная реализация ускоряет выполнение функции, но имеет недостаточную гибкость. Программная реализация значительно медленнее, но обеспечивает высокую гибкость. Аппаратная реализация функций увеличивает стоимость системы и ее энергопотребление, программная – не увеличивает. Чаще всего применяется комбинирование аппаратных и программных функций.

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

Практически любая развитая микропроцессорная система (в том числе и компьютер) поддерживает три основных режима обмена по магистрали:

1) программный обмен информацией;

2) обмен с использованием прерываний (Interrupts);

3) обмен с использованием прямого доступа к памяти (ПДП, DMA – Direct Memory Access).

Программный обмен информацией является основным в любой микропроцессорной системе. Он предусмотрен всегда, без него невозможны другие режимы обмена. В этом режиме процессор является единоличным хозяином (или задатчиком, Master) системной магистрали. Все операции (циклы) обмена информацией в данном случае инициируются только процессором, все они выполняются строго в порядке, предписанном исполняемой программой. Процессор читает (выбирает) из памяти коды команд и исполняет их, читая данные из памяти или из устройства ввода/вывода, обрабатывая их, записывая данные в память или передавая их в устройство ввода/вывода. Путь процессора по программе может быть линейным, циклическим, может содержать переходы (прыжки), но он всегда непрерывен и полностью находится под контролем процессора. Ни на какие внешние события, не связанные с программой, процессор не реагирует. Все сигналы на магистрали в данном случае контролируются процессором. Рис. 9. Архитектура с общей шиной данных и команд

Но существует также и альтернативный тип архитектуры микропроцессорной системы – это архитектура с раздельными шинами данных и команд (двухшинная, или гарвардская, архитектура). Эта архитектура предполагает наличие в системе отдельной памяти для данных и отдельной памяти для команд (рис. 10). Обмен процессора с каждым из двух типов памяти происходит по своей шине.

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

Архитектура с общей шиной (принстонская, фон-неймановская) проще, она не требует от процессора одновременного обслуживания двух шин, контроля обмена по двум шинам сразу. Наличие единой памяти данных и команд позволяет гибко распределять ее объем между кодами данных и команд. Например, в некоторых случаях нужна большая и сложная программа, а данных в памяти надо хранить не слишком много. В других случаях, наоборот, программа требуется простая, но необходимы большие объемы хранимых данных. Перераспределение памяти не вызывает никаких проблем, главное – чтобы программа и данные вместе помещались в памяти системы. Как правило, в системах с такой архитектурой память бывает довольно большого объема (до десятков и сотен мегабайт). Это позволяет решать самые сложные задачи.

Рис. 10. Архитектура с раздельными шинами данных и команд

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

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

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

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

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

В настоящее время при разработке новых микропроцессорных систем чаще всего выбирают путь использования микроконтроллеров (примерно в 80 % случаев). При этом микроконтроллеры применяются или самостоятельно, с минимальной дополнительной аппаратурой, или в составе более сложных контроллеров с развитыми средствами ввода/вывода.

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

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

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

  • Введение
    • 2. Специальная часть
    • 2.2 RISC-архитектура.
    • 2.3 Микроконтроллер с RISC архитектурой
    • Заключение

Введение

Микроконтроллер (MCU) - микросхема, предназначенная для управления электронными устройствами. Типичный микроконтроллер сочетает в себе функции процессора и периферийных устройств, может содержать ОЗУ и ПЗУ. По сути, это однокристальный компьютер, способный выполнять простые задачи. Использование одной микросхемы, вместо целого набора, как в случае обычных процессоров, применяемых в персональных компьютерах, значительно снижает размеры, энергопотребление и стоимость устройств, построенных на базе микроконтроллеров. Микроконтроллеры являются основой для построения встраиваемых систем, их можно встретить во многих современных приборах, таких, как телефоны, стиральные машины и т.п. Термин "микроконтроллер" (МК) вытеснил из употребления ранее использовавшийся термин "однокристальная микро-ЭВМ". Первый же патент на однокристальную микро-ЭВМ был выдан в 1971 году инженерам М. Кочрену и Г. Буну, сотрудникам Texas Instruments. Именно они предложили на одном кристалле разместить не только микропроцессор, но и память, устройства ввода-вывода. С появлением однокристальных микро-ЭВМ связывают начало эры компьютерной автоматизации в области управления. По-видимому, это обстоятельство и определило термин "микроконтроллер" (control - управление). В 1979 году НИИ ТТ разработали однокристальную 16-разрядную ЭВМ К1801ВЕ1, архитектура которой называлась "Электроника НЦ". В 1980 году фирма Intel выпускает микроконтроллер i8048. Чуть позже в этом же году Intel выпускает следующий микроконтроллер: i8051. Удачный набор периферийных устройств, возможность гибкого выбора внешней или внутренней программной памяти и приемлемая цена обеспечили этому микроконтроллеру успех на рынке. С точки зрения технологии микроконтроллер i8051 являлся для своего времени очень сложным изделием - в кристалле было использовано 128 тыс. транзисторов, что в 4 раза превышало количество транзисторов в 16-разрядном микропроцессоре i8086.

1. Общая часть

1.1 Классификация и структура микроконтроллеров

В настоящее время выпускается целый ряд типов МК. Все эти приборы можно условно разделить на три основных класса:

8-разрядные МК для встраиваемых приложений;

16 - и 32-разрядные МК;

цифровые сигнальные процессоры (DSP).

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

Росту популярности 8-разрядных МК способствует постоянное расширение номенклатуры изделий, выпускаемых такими известными фирмами, как Motorola, Microchip, Intel, Zilog, Atmel и многими другими. Современные 8-разрядные МК обладают, как правило, рядом отличительных признаков. Перечислим основные из них:

модульная организация, при которой на базе одного процессорного ядра (центрального процессора) проектируется ряд (линейка) МК, различающихся объемом и типом памяти программ, объемом памяти данных, набором периферийных модулей, частотой синхронизации;

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

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

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

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

Изменяемый функциональный блок включает в себя модули памяти различного типа и объема, порты ввода/вывода, модули тактовых генераторов (Г), таймеры. В относительно простых МК модуль обработки прерываний входит в состав процессорного ядра. В более сложных МК он представляет собой отдельный модуль с развитыми возможностями. В состав изменяемого функционального блока могут входить и такие дополнительные модули как компараторы напряжения, аналого-цифровые преобразователи (АЦП) и другие. Каждый модуль проектируется для работы в составе МК с учетом протокола ВКМ. Данный подход позволяет создавать разнообразные по структуре МК в пределах одного семейства.

1.2 Структура процессорного ядра микроконтроллера

Основными характеристиками, определяющими производительность процессорного ядра МК, являются:

набор регистров для хранения промежуточных данных;

система команд процессора;

способы адресации операндов в пространстве памяти;

организация процессов выборки и исполнения команды.

С точки зрения системы команд и способов адресации операндов процессорное ядро современных 8-разрядных МК реализует один из двух принципов построения процессоров:

процессоры с CISC-архитектурой, реализующие так называемую полную систему команд (Complicated Instruction Set Computer);

процессоры с RISC-архитектурой, реализующие сокращенную систему команд (Reduced Instruction Set Computer).

CISC-процессоры выполняют большой набор команд с развитыми возможностями адресации, давая разработчику возможность выбрать наиболее подходящую команду для выполнения необходимой операции. В применении к 8-разрядным МК процессор с CISC-архитектурой может иметь однобайтовый, двухбайтовый и трехбайтовый (редко четырехбайтовый) формат команд. Время выполнения команды может составлять от 1 до 12 циклов. К МК с CISC-архитектурой относятся МК фирмы Intel с ядром MCS-51, которые поддерживаются в настоящее время целым рядом производителей, МК семейств НС05, НС08 и НС11 фирмы Motorola и ряд других.

С точки зрения организации процессов выборки и исполнения команды в современных 8-разрядных МК применяется одна из двух уже упоминавшихся архитектур МПС: фон-неймановская (принстонская) или гарвардская.

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

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

В настоящее время наиболее яркими представителями микроконтроллеров SISC и RISC, имеющих соответственно фон-неймановскую и гарвардскую архитектуры являются микроконтроллеры i8051 и AVR - микроконтроллеры фирмы Atmel, которые по ряду характеристик превзошли очень известные PIC - микроконтроллеры. Поэтому рассмотрим организацию и устройство вышеперечисленных представителей.

2. Специальная часть

2.1 CISC и RISC архитектура процессора

Двумя основными архитектурами набора команд, используемыми компьютерной промышленностью на современном этапе развития вычислительной техники, являются архитектуры CISC и RISC. Основоположником CISC-архитектуры - архитектуры с полным набором команд (CISC - Complete Instruction Set Computer) можно считать фирму IBM с ее базовой архитектурой IBM/360, ядро которой используется с 1964 г. и дошло до наших дней, например, в таких современных мейнфреймах, как IBM ES/9000.

Лидером в разработке микропроцессоров с полным набором команд считается компания Intel с микропроцессорами X86 и Pentium. Это практически стандарт для рынка микропроцессоров. Простота архитектуры RISC-процессора обеспечивает его компактность, практическое отсутствие проблем с охлаждением кристалла, чего нет в процессорах фирмы Intel, упорно придерживающейся пути развития архитектуры CISC. Формирование стратегии CISC-архитектуры произошло за счет технологической возможности перенесения "центра тяжести" обработки данных с программного уровня системы на аппаратный, так как основной путь повышения эффективности для CISC-компьютера виделся, в первую очередь, в упрощении компиляторов и минимизации исполняемого модуля. На сегодняшний день CISC-процессоры почти монопольно занимают на компьютерном рынке сектор персональных компьютеров, однако RISC-процессорам нет равных в секторе высокопроизводительных серверов и рабочих станций. Основные черты RISC-архитектуры с аналогичными по характеру чертами CISC-архитектуры отображаются следующим образом (табл.1):

Таблица 1. Основные черты архитектуры

Одним из важных преимуществ RISC-архитектуры является высокая скорость арифметических вычислений. RISC-процессоры первыми достигли планки наиболее распространенного стандарта IEEE 754, устанавливающего 32-разрядный формат для представления чисел с фиксированной точкой и 64-разрядный формат "полной точности" для чисел с плавающей точкой. Высокая скорость выполнения арифметических операций в сочетании с высокой точностью вычислений обеспечивает RISC-процессорам безусловное лидерство по быстродействию в сравнении с CISC-процессорами.

Другой особенностью RISC-процессоров является комплекс средств, обеспечивающих безостановочную работу арифметических устройств: механизм динамического прогнозирования ветвлений, большое количество оперативных регистров, многоуровневая встроенная кэш-память.

Организация регистровой структуры - основное достоинство и основная проблема RISC. Практически любая реализация RISC-архитектуры использует трехместные операции обработки, в которых результат и два операнда имеют самостоятельную адресацию - R1: = R2, R3. Это позволяет без существенных затрат времени выбрать операнды из адресуемых оперативных регистров и записать в регистр результат операции. Кроме того, трехместные операции дают компилятору большую гибкость по сравнению с типовыми двухместными операциями формата "регистр - память" архитектуры CISC. В сочетании с быстродействующей арифметикой RISC-операции типа "регистр - регистр" становятся очень мощным средством повышения производительности процессора.

Вместе с тем опора на регистры является ахиллесовой пятой RISC-архитектуры. Проблема в том, что в процессе выполнения задачи RISC-система неоднократно вынуждена обновлять содержимое регистров процессора, причем за минимальное время, чтобы не вызывать длительных простоев арифметического устройства. Для CISC-систем подобной проблемы не существует, поскольку модификация регистров может происходить на фоне обработки команд формата "память - память".

Существуют два подхода к решению проблемы модификации регистров в RISC-архитектуре: аппаратный, предложенный в проектах RISC-1 и RISC-2, и программный, разработанный специалистами IВМ и Стэндфордского университета. Принципиальная разница между ними заключается в том, что аппаратное решение основано на стремлении уменьшить время вызова процедур за счет установки дополнительного оборудования процессора, тогда как программное решение базируется на возможностях компилятора и является более экономичным с точки зрения аппаратуры процессора.

2.2 RISC-архитектура.

В 70-е годы XX века ученые выдвинули революционную по тем временам идею создания микропроцессора, "понимающего" только минимально возможное количество команд.

Замысел RISC - процессора (Reduced Instruction Set Computer, компьютер с сокращенным набором команд) родился в результате практических исследований частоты использования команд программистами, проведенных в 70-х годах в США и Англии. Их непосредственный итог - известное "правило 80/20": в 80% кода типичной прикладной программы используется лишь 20% простейших машинных команд из всего доступного набора.

Первый "настоящий" RISC-процессор с 31 командой был создан под руководством Дэвида Паттерсона из Университета Беркли, затем последовал процессор с набором из 39 команд. Они включали в себя 20-50 тыс. транзисторов. Плодами трудов Паттерсона воспользовалась компания Sun Microsystems, разработавшая архитектуру SPARC с 75 командами в конце 70-х годов. В 1981 г. в Станфордском университете стартовал проект MIPS по выпуску RISC-процессора с 39 командами. В итоге была основана корпорация Mips Computer в середине 80-х годов и сконструирован следующий процессор уже с 74 командами.

По данным независимой компании IDC, в 1992 году архитектура SPARC занимала 56% рынка, далее следовали MIPS - 15% и PA-RISC - 12,2%

Примерно в то же время Intel разработала серию 80386, последних "истинных" CISC-процессоров в семействе IA-32. В последний раз повышение производительности было достигнуто только за счет усложнения архитектуры процессора: из 16-разрядной она превратилась в 32-разрядную, дополнительные аппаратные компоненты поддерживали виртуальную память, и добавился целый ряд новых команд.

Основные особенности RISC-процессоров:

Сокращенный набор команд (от 80 до 150 команд).

Большинство команд выполняется за 1 такт.

Большое количество регистров общего назначения.

Наличие жестких многоступенчатых конвейеров.

Все команды имеют простой формат, и используются немногие способы адресации.

Наличие вместительной раздельной кэш-памяти.

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

RISC-процессоры 3-го поколения

Самыми крупными разработчиками RISC-процессоров считаются Sun Microsystems (архитектура SPARC - Ultra SPARC), IBM (многокристальные процессоры Power, однокристальные PowerPC - PowerPC 620), Digital Equipment (Alpha - Alpha 21164), Mips Technologies (семейство Rxx00 - R 10000), а также Hewlett-Packard (архитектура PA-RISC - PA-8000).

Все RISC-процессоры третьего поколения:

являются 64-х разрядными и суперскалярными (запускаются не менее 4-х команд за такт);

имеют встроенные конвейерные блоки арифметики с плавающей точкой;

имеют многоуровневую кэш-память. Большинство RISC-процессоров кэшируют предварительно дешифрованные команды;

изготавливаются по КМОП-технологии с 4 слоями металлизации.

Для обработки данных применяется алгоритм динамического прогнозирования ветвлений и метод переназначения регистров, что позволяет реализовать внеочередное выполнение команд.

Повышение производительности RISC-процессоров достигается за счет повышения тактовой частоты и усложнения схемы кристалла. Представителями первого направления являются процессоры Alpha фирмы DEC, наиболее сложными остаются процессоры компании Hewlett-Packard.

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

Основными преимуществами RISC-архитектуры является наличие следующих свойств:

Большое число регистров общего назначения.

Универсальный формат всех микроопераций.

Равное время выполнения всех машинных команд.

Практически все операции пересылки данных осуществляются по маршруту регистр - регистр.

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

Аппаратные блоки в RISC-архитектуре:

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

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

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

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

Однако к моменту разработки RISC-архитектуры, промышленным стандартом микропроцессоров де-факто стала архитектура Intel x86, выполненная по принципу CISC-архитектуры. Наличие большого числа программ, написанных под архитектуру Intel x86, сделала невозможным массовый переход ЭВМ на RISC-архитектуру. По этой причине основной сферой использования RISC-архитектуры явились микроконтроллеры, благодаря тому, что они не были привязаны к существующему программному обеспечению. Кроме того некоторые производители ЭВМ во главе с IBM так же начали выпускать ЭВМ, построенные по RISC-архитектуре, однако несовместимость программного обеспечения между Intel x86 и RISC-архитектурой в значительной степени ограничивала распространение последних.

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

Таким образом, ядра большинства современных микропроцессоров, начиная с Intel 486DX, выполнены по RISC-архитектуре с поддержкой внешнего Intel x86 интерфейса. Кроме того, подавляющее большинство микроконтроллеров, а так же некоторые микропроцессоры выпускаются по RISC-архитектуре.

В современном RISC-процессоре используется не менее 32 регистров, часто

более 100, в то время, как в классических ЦВМ обычно 8-16 регистров общего

назначения. В результате процессор на 20% -30% реже обращается к

оперативной памяти, что также повысило скорость обработки данных. Кроме

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

После появления RISC-процессоров традиционные процессоры получили

обозначение CISC - то есть с полным набором команд (Complete Instruction Set Computer).

В настоящее время RISC-процессоры получили широкое распространение. Современные RISC-процессоры характеризуются

следующим:

упрощенным набором команд;

используются команды фиксированной длины и фиксированного формата,

простые способы адресации, что позволяет упростить логику декодирования команд;

большинство команд выполняются за один цикл процессора;

логика выполнения команд с целью повышения производительности

ориентирована на аппаратную, а не на микропрограммную реализацию,

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

уменьшающие скорость его работы;

взаимодействие с оперативной памятью ограничивается операциями

пересылки данных;

для обработки, как правило, используются трехадресные команды, что

помимо упрощения дешифрации дает возможность сохранять большее

число переменных в регистрах без их последующей перезагрузки;

создан конвейер команд, позволяющий обрабатывать несколько из них

одновременно;

наличие большого количества регистров;

используется высокоскоростная память.

В RISC-процессорах обработка машинной команды разделена на

несколько ступеней, каждую ступень обслуживают отдельные аппаратные

средства и организована передача данных от одной ступени к следующей.

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

Выполнение типичной команды можно разделить на следующие этапы:

выборка команды IF - по адресу, заданному счетчиком команд, из памяти извлекается команда;

2) декодирование команды ID - выяснение ее смысла, выборка операндов из регистров;

3) выполнение операции EX, при необходимости обращения к памяти - вычисление физического адреса;

4) обращение к памяти ME;

5) запоминание результата WB

В процессорах с RISC-архитектурой набор исполняемых команд сокращен до минимума. Для реализации более сложных операций приходится комбинировать команды. При этом все команды имеют формат фиксированной длины (например, 12, 14 или 16 бит), выборка команды из памяти и ее исполнение осуществляется за один цикл (такт) синхронизации. Система команд RISC-процессора предполагает возможность равноправного использования всех регистров процессора. Это обеспечивает дополнительную гибкость при выполнении ряда операций. К МК с RISC-процессором относятся МК AVR фирмы Atmel, МК PIC16 и PIC17 фирмы Microchip и другие.

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

Рис.2 Структура МК с RISC архитектурой

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

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

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

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

2.3 Микроконтроллер с RISC архитектурой

PIC16C71 относится к семейству КМОП микроконтроллеров. Отличается тем, что имеет внутреннее 1K x 14 бит EPROM для программ, 8-битовые данные и 64 - байтовый встроенный аналого-цифровой преобразователь. Отличаются низкой стоимостью и высокой производительностью.

Пользователи, которые знакомы с семейством PIC16C5X могут посмотреть

подробный список отличий нового от производимых ранее контроллеров.

Все команды состоят из одного слова (14 бит шириной) и исполняются за один цикл (200 нс при 20 МГц), кроме команд перехода, которые выполняются за два цикла (400 нс).

PIC16C71 имеет прерывание, срабатывающее от четырех источников, и

восьмиуровневый аппаратный стек.

Периферия включает в себя 8-битный таймер/счетчик с 8-битным

программируемым предварительным делителем (фактически 16 - битный таймер),

13 линий двунаправленного ввода/вывода и восьми битный АЦП. Высокая

нагрузочная способность (25 мА макс. втекающий ток,20 мА макс. вытекающий

ток) линий ввода/вывода упрощают внешние драйверы и, тем самым, уменьшается

общая стоимость системы.

АЦП имеет четыре канала, схему выборки и хранения, разрешающую способность 8

бит с погрешностью не более одного младшего разряда. Среднее время

преобразования 30 мкс, включая время выборки.

Серия PIC16C71 подходит для широкого спектра приложений от схем

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

процессоров. Наличие ПЗУ позволяет подстраивать параметры в прикладных

программах (коды передатчика, скорости двигателя, частоты приемника и т.д.).

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

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

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

только 35 простых команд;

все команды выполняются за один цикл (200ns), кроме команд перехода - 2

цикла;

рабочая частота 0 Гц...20 МГц (min 200 нс цикл команды)

14 - битовые команды;

8 - битовые данные;

36 х 8 регистров общего использования;

15 специальных аппаратных регистров SFR;

восьмиуровневый аппаратный стек;

прямая, косвенная и относительная адресация данных и команд;

четыре источника прерывания:

внешний вход INT

переполнение таймера RTCC

прерывание при завершении аналого-цифрового преобразования

прерывание при изменении сигналов на линиях порта B.

Периферия, ввод и вывод микроконтроллера имеет:

13 линий ввода-вывода с индивидуальной настройкой;

втекающий/вытекающий ток для управления светодиодами

. макс втекающий ток - 25 мА

. макс вытекающий ток - 20 мА

8 - битный таймер/счетчик RTCC с 8-битным программируемым предварительным делителем;

модуль АЦП:

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

аналога цифровому преобразователю

схема выборки\хранения

время преобразования - 20 мкс на канал

преобразователь - 8 бит, с погрешностью +-1 LSB

вход для внешнего опорного напряжения Vref (Vref <= Vdd)

диапазон входных аналоговых сигналов от Vss до Vref

автоматический сброс при включении;

таймер включения при сбросе;

таймер запуска генератора;

Watchdog таймер WDT с собственным встроенным генератором, обеспечивающим

повышенную надежность;

EPROM бит секретности для защиты кода;

экономичный режим SLEEP;

выбираемые пользователем биты для установки режима возбуждения встроенного генератора:

RC генератор RC

обычный кварцевый резонатор XT

высокочастотный кварцевый резонатор HS

экономичный низкочастотный кристалл LP

встроенное устройство самопрограммирования EPROM памяти программ,

используются только две ножки.

Обозначения ножек и их функциональное назначение:

RA4/RTCC - Вход через триггер

Шмидта. Ножка порта ввода/вывода с

открытым стоком или вход частоты дл

таймера/счетчика RTCC.

RA0/AIN0 - Двунаправленная линия ввода/вывода.

Аналоговый вход канала 0.

RA1/AIN1 - Двунаправленная линия ввода/вывода.

Аналоговый вход канала 1.

Как цифровой вход имеет уровни ТТЛ.

RA2/AIN2 - Двунаправленная линия ввода/вывода.

Аналоговый вход канала 2.

Как цифровой вход имеет уровни ТТЛ.

RA3/AIN3/Vref - Двунаправленная линия ввода/вывода.

RB0/INT - Двунаправленная линия порта

вывода или внешний вход прерывания.

RB1 - RB5 - Двунаправленные линии ввода/

вывода.

RB6 - Двунаправленные линии ввода/

вывода.

RB7 - Двунаправленные линии ввода/

вывода.

/MCLR/Vpp - Низкий уровень на этом

входе генерирует сигнал сброса

для контроллера. Активный низкий.

Вход через триггер Шмидта.

OSC1 - Для подключения кварца, RC или вход внешней тактовой частоты.

OSC2 - Генератор, выход тактовой

CLKOUT - частоты в режиме RC генератора, в остальных случаях - для подкл. кварца

Vdd -Напряжение питания.

Vss -Общий (земля).

Заключение

В данной курсовой работе рассмотрены микроконтроллеры с RISC и CISC архитектурой. RISC архитектура была рассмотрена более углубленно и точнее. Отмечена классификация, структура микроконтроллера, структура

процессорного ядра микроконтроллера, основные особенности RISC архитектуры.

На сегодняшний день существует более 200 модификаций микроконтроллеров, совместимых с i8051, выпускаемых двумя десятками компаний, и большое количество микроконтроллеров других типов. Популярностью у разработчиков пользуются 8-битные микроконтроллеры PIC фирмы Microchip Technology и AVR фирмы Atmel, шестнадцатибитные MSP430 фирмы TI, а также ARM, архитектуру которых разрабатывает фирма ARM и продаёт лицензии другим фирмам для их производства, процессоров - микроконтроллеры.

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

Список использованной литературы

1. "?????? ????????????????? ???????", ?????? ?.?. ??????? ? ?.?. ????????????.

2. "??????????? ?????????????? ??????". ?????? "????? ? ?????" 1990 ?. ????? ?.?. ???????.

3. "??????????-?????????????? ?????? ? ???????". ?????? "????? ? ?????" 1991 ?. ?????? ?.?. ?????.

Подобные документы

    Микроконтроллеры - микросхемы, предназначенные для управления электронными устройствами, их классификация. Структура процессорного ядра микроконтроллеров, основные характеристики, определяющие его производительность. CISC и RISC архитектура процессора.

    курсовая работа , добавлен 03.10.2010

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

    реферат , добавлен 24.12.2010

    Структура фрагмента процессора. Функциональный состав процессорного блока. Входные/выходные сигналы распределителя. Микропрограмма управления для команды. Устройство управления и синхронизации, принцип его работы. Порты ввода, вывода микроконтроллера.

    курсовая работа , добавлен 17.04.2015

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

    курсовая работа , добавлен 21.02.2011

    Микроконтроллер как микросхема, предназначенная для управления электронными устройствами, его структура и составные элементы, сферы применения и распространенность. Закон Мура. Символьная отладка программ для МК. Данные в ассемблерных программах.

    курсовая работа , добавлен 11.12.2010

    Назначение и условия эксплуатации светодиодного устройства на МК ATtiny 15. Микроконтроллер как микросхема, предназначенная для управления электронными устройствами. Обоснование его применения. Разработка структурной схемы светодиодного устройства.

    курсовая работа , добавлен 04.04.2015

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

    курсовая работа , добавлен 16.06.2011

    Понятие и виды микроконтроллеров. Особенности программирования микропроцессорных систем, построение систем управления химико-технологическим процессом. Изучение архитектуры микроконтроллера ATmega132 фирмы AVR и построение на его основе платформы Arduino.

    курсовая работа , добавлен 13.01.2011

    Разработка интерфейса и уточнённой структурной схемы, процессорного модуля, подсистем памяти и ввода/вывода, алгоритма программного обеспечения. Оценка памяти программ и данных. Структура адресного пространства. Организация клавиатуры и индикации.

    курсовая работа , добавлен 09.08.2015

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