Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Особенности системы команд микроконтроллеров

Поиск

Так же, как и в любой микропроцессорной системе, набор команд ЦП МК включает в себя четыре основные группы команд:

· ƒ команды пересылки данных;

· ƒ арифметические команды;

· ƒ логические команды;

· ƒ команды переходов.

Для реализации возможности независимого управления разрядами портов

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

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

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

 

Организация памяти микроконтроллеров

 

В МК используется три основных вида памяти:

· ƒ Память программ представляет собой ПЗУ, предназначенное для хранения программного кода(команд) и констант. Ее содержимое в ходе выполнения программы не изменяется.

· ƒ Память данных представляет собой ОЗУ и предназначена для хранения переменных в процессе выполнения программы.

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

 

Также можно выделить два дополнительных класса памяти:

· ƒ Стековая память, организуемая для вызова подпрограмм и обработки прерываний.

· ƒ Внешняя память– дополнительная память программ или данных, подключаемая к МК извне в тех случаях, когда встроенной памяти оказывается недостаточно.

 

Память программ

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

Выделяют следующие типы энергонезависимой памяти программ:

1) ПЗУ масочного типа– mask-ROM. Содержимое ячеек ПЗУ этого типа заносится при ее изготовлении с помощью технологических шаблонов– масок– и не может быть впоследствии изменено. Поэтому МК с таким типом памяти программ используются только после длительной опытной эксплуатации. Основным недостатком данной памяти является необходимость значительных затрат на создание комплекта фотошаблонов и их внедрение в производство. Обычно такой процесс занимает2-3 месяца и является экономически выгодным только при выпуске свыше нескольких тысяч приборов. Главное достоинство ПЗУ масочного типа– высокая надежность, обусловленная программированием в заводских условиях с последующим контролем результата.

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

3) Перепрограммируемые ПЗУ с ультрафиолетовым стиранием– EPROM (Erasable Programmable ROM). ПЗУ данного типа программируются электрическими сигналами и стираются с помощью ультрафиолетового облучения. Ячейка памятиEPROM представляет собой МОП-транзистор с«плавающим» затвором, заряд на который переносится с управляющего затвора при подаче соответствующих электрических сигналов. Для стирания содержимого ячейки она облучается ультрафиолетовым светом, который сообщает заряду на плавающем затворе энергию, достаточную для преодоления потенциального барьера и стекания на подложку. Этот процесс может занимать от нескольких секунд до нескольких минут. МК сEPROM допускают многократное программирование и выпускаются в керамическом корпусе с кварцевым окошком для доступа ультрафиолетового света. Такой корпус стоит довольно дорого, что значительно увеличивает стоимость МК.

4) Однократно программируемые ПЗУ– OTPROM (One-Time Programmable ROM).

Представляют собой версиюEPROM, выполненную в корпусе без окошка для уменьшения стоимости МК на его основе(это уменьшение настолько значительно, что в последнее времяOTPROM часто используют вместо масочных ПЗУ).

5) Электрически стираемые перепрограммируемые ПЗУ– EEPROM (Electrically Erasable Programmable ROM). ПЗУ данного типа можно считать новым поколением EPROM, в которых стирание ячеек памяти производится электрическими сигналами.

ПрименениеEEPROM позволяет перепрограммировать МК, не снимая его с платы. По ценеEEPROM занимают среднее положение междуOTPROM иEPROM. Технология программирования памятиEEPROM допускает побайтовое стирание и программирование ячеек. Несмотря на очевидные преимуществаEEPROM, только в редких моделях МК такая память используется для хранения программ. Связано это с ограниченным объемом

EEPROM-памяти и с тем, что почти одновременно с ней появился похожий наEEPROM, но более дешевый тип памятиFlash-ПЗУ.

6) ПЗУ с электрическим стиранием типаFlash – Flash-ROM. ФункциональноFlash-память мало отличается отEEPROM. Основное различие состоит в способе стирания записанной информации. В памятиEEPROM стирание можно осуществлять отдельно для каждой ячейки, а воFlash-памяти стирание производится только целыми блоками. Если необходимо изменить содержимое одной ячейкиFlash-памяти, потребуется перезаписать весь блок. Упрощение декодирующих схем по сравнению сEEPROM привело к тому, что МК сFlash-памятью составляют серьезную конкуренцию МК как с однократно программируемыми ПЗУ, так и с масочными ПЗУ.

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

Память данных МК выполняется, как правило, на основе статического ОЗУ.

Термин«статическое» означает, что содержимое ячеек ОЗУ сохраняется при снижении тактовой частоты МК до сколь угодно малых значений(с целью снижения энергопотребления). Большинство МК имеют такой параметр, как«напряжение хранения информации» – USTANDBY. При снижении напряжения питания ниже минимально допустимого уровняUDDMIN, но выше уровняUSTANDBY работа программы МК выполняться не будет, но информация в ОЗУ сохраняется. При восстановлении напряжения питания можно будет сбросить МК и продолжить выполнение программы без потери данных. Уровень напряжения хранения составляет обычно около1 В, что позволяет в случае необходимости перевести МК на питание от автономного источника и сохранить в этом режиме данные ОЗУ.

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

Так, при программировании МК константы, если возможно, не хранятся как переменные, а заносятся в ПЗУ программ.

Регистры МК

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

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

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

Стековая память

Стековой называют память, доступ к которой организован по принципу:

«последним записан– первым считан» (Last Input First Output – LIFO). Данный тип памяти необходим для организации вызова подпрограмм и обработки прерываний. При этих операциях содержимое программного счетчика и основных регистров сохраняется в стеке, а затем восстанавливается при возврате к основной программе. Стек в МК может быть организован как аппаратно, так и программно.

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

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

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

Внешняя память

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

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

 



Поделиться:


Последнее изменение этой страницы: 2016-12-26; просмотров: 350; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.221.90.184 (0.006 с.)