Состав типичного микроконтроллера

Состав (структуру) типичного МП образуют следующие основные устройства:

АЛУ (арифметико - логическое устройство) – ядро (центральное устройство "сердце") МП, обычно состоит из двоичного сумматора со схемами ускоренного переноса, сдвигающих регистров, регистров временного хранения операндов. АЛУ по командам способно выполнять несколько простейших операций: сложение, вычитание, сдвиг, пересылку и др. Информация внутри микропроцессорной системы делится на две категории: команды и данные. Например, 2 + 3 = 5; при этом 2, 3 и 5 - это данные, " + " – это арифметическая команда, " = " – команда сохранения (пересылки) результата. Команды подразделяются на поля: операционный код (КОП) и операнды. Операндами могут быть адреса или данные. Операнд – объект, с которым оперирует команда. Например, в команде сложения операндами являются слагаемые.

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

Регистры – устройства на основе триггеров для временного запоминания информации.

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

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

Регистр аккумулятор также могут называть W- регистром, или рабочим, Work – регистром, например в PIC микроконтроллерах.

Связка АЛУ/рабочий регистр (аккумулятор) является "сердцем" любого микроконтроллера. Причем при использовании компьютера или микроконтроллера, нам совершенно не нужно досконально знать их внутреннее устройство.

Рис. – Блок обработки (АЛУ/рабочий регистр) на системном уровне Значения на его входах данных (операнды) обрабатываются согласно сигналам на входах режима. Первый операнд поступает извне, тогда как 2-й операнд считывается из рабочего регистра. Коды, подаваемые на вход режима, обычно считываются из памяти программ, а 1-й операнд – из памяти данных. Значение с выхода АЛУ может быть загружено обратно в рабочий регистр W либо передано вовне по шине данных.

Буферный регистр адреса – специальный регистр, служит для приема и хранения адресной части исполняемой команды. Иначе, в нем содержится до выдачи на шину адреса (ША) адрес слова, в том числе и части команды, хранимого в ячейке памяти или другом регистре. Его разрядность определяется разрядностью адресной шины.

Буферный регистр данных служит для временного хранения выбранного из памяти слова.

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

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

Регистры стека образованы стеком и указателем стека. Стек это набор регистров (ячеек памяти), организованных таким образом, что данные в стеке выбираются по принципу "вошел последним – вышел первым". Иногда стек называют магазинной памятью по аналогии с магазином автомата или многозарядной винтовки – патрон, вложенный в магазин последним выстреливается первым. Указатель стека SP (Stack Pointer) – регистр для хранения адреса последней занятой ячейки стека, которую называют вершиной стека. Когда в стек записывается очередное слово, то число в указателе стека соответственно увеличивается на единицу. Извлечение слова из стека сопровождается уменьшением числа в указателе стека. Предусматривается также возможность считывания содержимого любой ячейки стека без его разрушения; при этом число в указателе стека не изменяется.

Регистры признаков (статусный регистр), F – регистр (регистр флагов) – набор триггеров, принимающих свое состояние в зависимости от условных признаков результата операции и состояния МП: нулевой результат, знак результата, признак переноса, признак десятичного переноса при операциях с двоично-десятичным преобразованием и т.д. Состояния триггеров регистра признаков называются флагами. Признаки могут использоваться последующими командами как для изменения естественной последовательности выборки команд, так и для модификации обрабатываемых данных. Содержимое F - регистра совместно с регистром - аккумулятором образует слово состояния процессора PSW (Processor Status Word).

Триггер разрешения прерывания INTE (INTerrupt Enable) это1-разрядный регистр обработки прерываний. Если триггер установлен в нуль, то МП не реагирует на запросы прерывания; если в единицу, прерывание разрешено. После приема запроса прерывания или сброса системы триггер INTE автоматически сбрасывается в нуль

Шина – группа линий передачи информации, объединенных общим функциональным признаком. В микропроцессорных системах используют три типа шин: данных (ШД), адресов (ША) и управления (ШУ). Шины могут быть раздельными или объединенными, мультиплексированными. Различают внутренние и внешние шины и магистрали. Определяют также направленность передачи информации по шине. Мультиплексорный режим - режим использования линий передачи информации большим числом абонентов с разделением во времени средств управления обменом.

Модель памяти МП. Память (М) микропроцессора представляет собой упорядоченную структуру, состоящую из пронумерованной последовательности ячеек памяти. Номер ячейки памяти является ее адресом. Например, 16-разрядная шина адреса (ША) позволяет МП обращаться к адресному пространству (максимальной совокупности адресуемых ячеек памяти) размером 2 16 = 65536 = 64К (К = 1024=2 10 - общепринятая константа). При кодировании чисел шестнадцатеричными цифрами адрес любой ячейки памяти представляется 4-разрядным, а ее содержимое – 2-разрядным шестнадцатеричными числами (0000....FFFF) и (00...FF). Время доступа к содержимому любой ячейки памяти не зависит от значения ее адреса.

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: