Структура микропроцессора и его реализация.

Общая характеристика микропроцессоров.

Микропроцессоры и ЭВМ в приборостроении

 

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

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

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

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

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

Во-вторых, сокращается общая длина соединений между элементами. Задержка сигнала на каждые 30 см соединений равна 1 нс. Отсюда следует, что создание устройств со сверхвысоким быстродействием принципиально возможно только на базе микросхем повышенного уровня интеграции, в которых общую длину межсоединений можно довести до величины не превышающей 1 см, что обеспечивает задержку распространения сигнала между элементами не более 0,03 нс.

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

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

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

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

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

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


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

 

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

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

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

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

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

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

Узел управления шинами обеспечивает управление работой всех шин. Шины представляют собой набор соединительных проводников-линий, сгруппированных по функциональному назначению. По каждой линии может быть передано значение одного разряда двоичного кода в виде уровней напряжения, соответствующих логическому 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, а иногда и более команд. Каждый такт характеризуется своим вектором управляющих сигналов. Нетрудно представить себе, кокой огромный объем управляющих сигналов должно проанализировать и сгенерировать устройство управления МП. Для построения устройства управления используются два подхода: на основе аппаратной реализации или «жесткой» логики управления и на основе микропрограммной реализации или «гибкой» логики управления. Оба этих подхода будут рассмотрены далее. В любом случае, при любой логики управления, в устройстве управления можно выделить следующие узлы: регистр команд, дешифратор команд, очередь команд.

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

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