Главная Случайная страница


Категории:

ДомЗдоровьеЗоологияИнформатикаИскусствоИскусствоКомпьютерыКулинарияМаркетингМатематикаМедицинаМенеджментОбразованиеПедагогикаПитомцыПрограммированиеПроизводствоПромышленностьПсихологияРазноеРелигияСоциологияСпортСтатистикаТранспортФизикаФилософияФинансыХимияХоббиЭкологияЭкономикаЭлектроника






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

Использование микропроцессоров в ИИТ

 

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

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

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

 

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

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

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

 
 

 

 


Рис. 10.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, а иногда и более команд. Каждый такт характеризуется своим вектором управляющих сигналов. Нетрудно представить себе, какой огромный набор управляющих сигналов должно анализировать и обрабатывать устройство управления для реализации всех команд, закладываемых разработчиком при проектировании МП.

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

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

 

Классификация микропроцессоров

 

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

Однокристальные и многокристальные МП составляют класс МП замкнутого типа. В МП замкнутого типа разрядность обрабатываемых операндов 8, 16, 32 или 64 бит и может быть увеличена только программным путем, т.е. последовательной обработкой многоразрядных операндов по частям. Это существенно снижает реальное быстродействие МП при работе с многоразрядными операндами.

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

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

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

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

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

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

По технологии изготовления различают МП, изготовленные по МОП-технологии и МП, изготовленные по биполярной технологии. МОП МП построены на основе МОП транзисторов с р-каналом (p-МОП БИС), на основе МОП транзисторов с n-каналом (n-МОП БИС) и на основе комплементарных МОП транзисторов (КМОП БИС). Биполярные МП построены на основе элементов транзисторно-транзисторной логики с диодами Шоттки (ТТЛШ БИС), на основе элементов интегральной инжекционной логики (И2Л БИС) и на основе элементов эмиттерно-связанной логики (ЭСЛ БИС). Наибольшим быстродействием обладает ЭСЛ-технология, наименьшим - p-МОП-технология. Минимальным энергопотреблением при среднем быстродействии обладает КМОП-технология. Наибольшую степень интеграции при среднем быстродействии обеспечивает n-МОП-технология.

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

 

Программное управление МП

 

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

Команды, определяющие выполнение микроопераций, называются микрокомандами. Таким образом, для каждой команды можно составить последовательность микрокоманд, определяющих ее реализацию. Для реализации команды требуется в среднем 5-10 микрокоманд. В соответствии с разбивкой команды на микрокоманды различают два уровня программного управления: командный и микропрограммный. В зависимости от реализации того или другого уровня программного управления МП делят на два класса. Рассмотрим основные особенности каждого из них.

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

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

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

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

МП с управлением на уровне команд имеют в списке обычно 45 - 150 команд. МП с управлением на уровне микропрограмм имеют обычно 256 - 512 микрокоманд. Как правило, МП замкнутого типа (для которых наращивание разрядности осуществляется программным путем) имеют управление на уровне команд, а секционированные МП (наращивание разрядности аппаратным путем) имеют управление на уровне микропрограмм. Примером отечественных однокристальных МП с управлением на уровне команд являются МП серий К580 (аналог Intel 8080), К581, К588, К1801/09, К1806, К1810 (аналог Intel 8086), К1821, К1824, К1831. Примером секционированных МП с управлением на уровне микропрограмм являются МП серий К583, К584, К589, К1802 (К1822), К1804 (аналог Am2900), К1832.

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

· выборка команды (прием кода операции в регистр команд);

· считывание из памяти;

· запись в память;

· ввод из порта ввода;

· вывод в порт вывода;

· прерывание;

· останов;

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

1. вывод на шину адреса кода адреса вызываемого порта или ячейки памяти;

2. анализ управляющих сигналов, выставление на шину данных пересылаемой информации;

3. осуществление обмена информацией с вызываемым портом или ячейкой памяти;

4. расшифровка команды и выполнение внутренних операций МП.

Перейдем к рассмотрению формата команд для большинства типов МП.Команда МП представляет собой такое двоичное слово, которое будучи считанное микропроцессором (преимущественно из памяти), заставляет его выполнить определенные действия. Другие, отличные от команд двоичные слова подобных действий в МП не вызывают. Длина команды как двоичного слова совпадает с длиной слова данных. Например, длина слова команды 8-разрядного МП равна 8 бит, 16-разрядного - 16 бит и 32-разрядного - 32 бит. Однако длина команды целиком не обязательно должна ограничиваться одним словом. Есть команды МП, имеющие длину в два или три слова. Таким образом, для 8-разрядного МП команда может иметь длину в 8, 16 или 24 бит, 16-разрядного МП - 16, 32 или 48 бит. Хотя данное утверждение нельзя принимать однозначно. Существуют команды для 16- и 32-разрядных МП длиной в 8 бит. Особенно это характерно для МП, являющихся дальнейшим развитием предшествующих моделей, в которых обеспечивается программная совместимость с моделями более раннего выпуска.

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

Так, если разрядность ячейки памяти равна разрядности шины данных МП, то для многих типов МП с простыми способами адресации команды с длиной более одного слова располагаются в соседних ячейках памяти, причем наименьший адрес (А) имеет первое слово. Второе слово располагается в ячейке памяти с адресом на 1 большим (A+1), третье слово - в ячейке памяти с адресом еще на 1 большим (А+2):

 

Адрес А Адрес А+1 (2 или 4) Адрес А+2 (4 или 8)
     
1е слово код операции 2е слово адрес (данные) 3е слово адрес (данные)

 

Если ячейка памяти имеет разрядность 8 бит, то под каждый байт команды отводится свой адрес. В этом случае первое слово будет иметь адрес (А), второе слово - адрес (А+2) или (А+4) в зависимости от разрядности МП, а третье слово - адрес (А+4) или (А+8) соответственно разрядности МП. В командах с длиной более одного слова адрес первого слова команды считается адресом всей команды.

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

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

По функциональному назначению команды МП можно разделить на следующие группы:

1. команды пересылки кодов между ОЗУ и регистрами МП;

2. команды для выполнения арифметических действий;

3. команды для выполнения логических действий;

4. команды передачи управления и вызова подпрограмм;

5. команды для сдвига данных в регистрах, инкремента-декремента данных в регистрах;

6. команды ввода-вывода;

7. специальные системные команды.

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

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

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

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

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

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

Последнее изменение этой страницы: 2016-06-09

lectmania.ru. Все права принадлежат авторам данных материалов. В случае нарушения авторского права напишите нам сюда...