Структура микропроцессоров

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

Сколь бы сложным ни был МП, в структуре его всегда можно выделить следующие три основных блока или устройства, как показано на рис. 11.2.1: УОД – устройство обработки данных; БИ – блок интерфейса; УУ – устройство управления.

 
  Структура микропроцессоров - student2.ru

Рис. 11.2.1. Обобщенная структурная схема МП

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

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

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

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

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

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

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

Блок интерфейса включает в себя узлы МП, обеспечивающие его взаимодействие со всеми внешними устройствами. В их число входят: узел управления шинами, узел формирования адреса памяти и некоторые другие узлы.

Узел управления шинами обеспечивает управление работой всех шин. Шины представляют собой набор соединительных проводников-линий, сгруппированных по функциональному назначению. По каждой линии может быть передано значение одного разряда двоичного кода в виде уровней напряжения, соответствующих логическому 0 или логической 1. По роду передаваемой информации все линии разделены на три группы, образующие шину данных, шину адреса и шину управления. Характерной особенностью шины данных является ее двунаправленность, под которой понимается возможность передачи данных в разные моменты времени в различных направлениях. Такая двунаправленность обеспечивается двунаправленными буферными регистрами, через которые МП подключается к шине данных. Шина адреса является однонаправленной. Ещё одна особенность буферных регистров заключается в том, что они являются трехстабильными, т.е. выходы этих регистров, кроме состояний логического 0 и логической 1, могут принимать третье пассивное или, так называемое высокоимпедансное состояние, благодаря чему регистр оказывается как бы отключенным от шины. Шины данных и адреса в некоторых типах МП могут быть мультиплексированы. Это значит, что одни и те же линии связи могут служить и для передачи данных, и для передачи адреса в различные моменты времени. Переключение направления передачи данных, переключение мультиплексированных шин, отключение шин от общих магистралей и обеспечение ряда других необходимых функций как раз и возлагается на узел управления шинами.

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

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

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

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

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

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

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

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

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

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

Наши рекомендации