Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Конспект лекций часть 1 2008 перечень ссылок основная: М. Гук «Аппаратные средства ibm pc» 3-е изд., энцеклопедия, Киев. 2006. с.
Тема 3: Архитектуры микропроцессоров
^ Тема лекции: Процессорный модуль
План лекции:
3.1 Внутренняя структура микропроцессора
3.2 Командные и машинные циклы микропроцессора
3.3 Реализация процессорных модулей в составе линий системного интерфейса
Пожалуй, наиболее популярными в мире (и в нашей стране) являлись и являются однокристальные микропроцессоры семейства х86 фирмы Intel. Семейство берет свое начало от первого 8-разрядного микропроцессора i8080 (отечественный аналог - К580ВМ80) и включает 16- и 32-разрядные микропроцессоры t8086, i80286, i80386, i80486, Pentium,..., Pentium 4.
"Родоначальником" семейства принято считать первый 16-разрядный микропроцессор i8086 (отечественный аналог К1810ВМ86), на котором были реализованы персональные ЭВМ IBM PC XT.
Анализ архитектуры микропроцессорных систем (МПС) целесообразно начинать с рассмотрения простейшей (базовой) модели, отражающей основные принципы организации процессора, его системы команд, функционирование основных подсистем. Большинство принципиальных решений, реализованных в МПС на базе младших моделей семейства, сохранились и в старших моделях.
Рассмотрим кратко организацию МПС на базе микропроцессора i8086. При этом выделим для рассмотрения следующиеподсистемы:
Процессорный модуль
Процессорный модуль основная часть любой МПС. Помимо собственно микропроцессора, он включает ряд вспомогательных схем, без которых МПС не может функционировать (тактовый генератор, интерфейсные схемы и др.).
Внутренняя структура микропроцессора
Структурная схема микропроцессора i8086 представлена на рис. 3.1. Микропроцессор включает в себя три основных устройства:
УОД предназначено для выполнения команд и включает в себя 16-разрядное АЛУ, системные регистры и другие вспомогательные схемы; блок регистров (РОН, базовые и индексные) и блок микропрограммного управления.
УСМ обеспечивает формирование 20-разрядного физического адреса памяти и 16-разрядного адреса ВУ, выбор команд из памяти, обмен данными с ЗУ, ВУ, другими процессорами по магистрали. УСМ включает в себя сумматор адреса, блок регистров очереди команд и блок сегментных регистров.
УУС обеспечивает синхронизацию работы устройств МП, выработку управляющих сигналов и сигналов состояния для обмена с другими устройствами, анализ и соответствующую реакцию на сигналы других устройств МПС.
Микропроцессор i8086 может работать в одном из двух режимов минимальном и максимальном.
^ Минимальный режим предназначен для реализации однопроцессорной конфигурации МПС с организацией, подобной МПС на базе i8080, но с увеличенным адресным пространством, более высоким быстродействием и значительно расширенной системой команд.
^ Максимальный режим предполагает наличие в системе нескольких микропроцессор, работающих на общую системную шину. МПС на базе i8086 с использованием максимального режима не получили широкого распространения. Более того, в последующих моделях своих микропроцессоров (80286, 80386, 80486) фирА Intel отказалась от поддержки мультипроцессорной архитектуры. Поэтому мы здесь не будем рассматривать особенности организации максимального режима.
На внешних выводах МП i8086 широко используется принцип мультиплексирования сигналов передача разных сигналов по общим линиям с разделением во времени. Кроме того, одни и те же выводы могут использоваться для передачи разных сигналов в зависимости от режима (min max).
Рис.3.1 Структура микропроцессора i8086
В табл. 3.1 приведено описание внешних выводов МП i8086. При описании выводов косой чертой (/) разделены сигналы, появляющиеся на выводе в разные моменты машинного цикла.
В круглых скобках указаны сигналы, характерные только для максимального режима.
Символ * после имени сигнала знак его инверсии.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
^ Командный и машинный циклы микропроцессора
Микропроцессор i8086 работает в составе МПС, обмениваясь с памятью и ВУ словами длиной 2 байта, т. к. разрядность шины данных составляет 16 битов. В основе работы микропроцессора лежит командный цикл действия по выбору из памяти и выполнению одной команды.
Любой командный цикл (КЦ) начинается с извлечения из памяти первого слова команды по адресу, хранящемуся в счетчике команд (PC). Команды i8086 могут иметь длину от 1 до 6 байтов, причем в первом слове содержится информация о длине команды. Таким образом, для извлечения из памяти одной команды может потребоваться одно или несколько обращений к ОЗУ.
В зависимости от типа и формата команды, способов адресации и числа операндов командный цикл может включать в себя различное число обращений к памяти и ВУ, поскольку кроме чтения самой команды в КЦ может потребоваться чтение операндов и размещение результата.
Хотя обращения к ЗУ/ВУ располагаются в разных частях КЦ, выполняются они по единым правилам, соответствующим интерфейсу МПС, и реализованы на общем оборудовании управляющего автомата. Действия МПС по передаче в (из) МП одного слова команды (данных) называются машинным циклом. КЦ состоит из одного или нескольких машинных циклов (МЦ).
Машинный цикл включает выдачу процессором адреса памяти или внешнего устройства, по которому производится обращение, выдачу управляющих сигналов, характеризующих тип машинного цикла и направление передачи данных (М-IO, OP-IP), выдачу синхронизирующих (стробирующих) сигналов (STB, R, W) и собственно передачу данных. В i8086 реализована мультиплексированная шина адреса/данных. Это объясняется дефицитом внешних выводов кристалла и требует дополнительного такта для выдачи адреса и дополнительного управляющего сигнала STB, идентифицирующего наличие адреса на общей шине A/D.
По большому счету разнообразие МЦ сводится к двум разновидностям чтению (данные или команды принимаются в процессор) и записи (данные выдаются из процессора). Временные диаграммы соответствующих МЦ приведены на рис. 3.2.
Рис.3.2 Машинные циклы МП: а) цикл ЧТЕНИЕ; б) цикл ЗАПИСЬ
Цикл начинается с формирования в такте Т1 сигнала М-IO, определяющего тип устройства память или ВУ, с которым осуществляется обмен данными. Длительность сигнала М-IO равна длительности машинного цикла, и он используется для селекции адреса устройств.
Описанные выше машинные циклы являются синхронными; их длительность определяется только процессором. Однако такой обмен возможен лишь с устройствами, быстродействие которых не уступает процессорному. В противном случае микропроцессор должен реализовать асинхронный способ обмена, включающий анализ сигнала от устройства о готовности к обмену или о завершении процедуры обмена.
Роль такого сигнала в i8086 (и всех процессорах старших моделей семейства х86) играет вход RDY (от англ. Ready готовность), который всегда должен быть активным при синхронном обмене (с «быстрыми» устройствами).
При обмене с «медленными» устройствами значение RDY должно оставаться неактивным (в разных процессорах активным для RDY может быть уровень логической 1 или логического 0) до тех пор, пока устройство, с которым связывается процессор, не завершит процедуру обмена, сообразуясь со своим быстродействием.
Время ожидания процессором готовности устройства может быть сколь угодно большим. Для этого в такте ТЗ процессор проверяет значение сигнала RDY, и если он неактивен, после такта ТЗ в машинный цикл вставляется произвольное количество тактов ожидания Tw, в каждом из которых анализируется значение RDY. При появлении активного значения RDY микропроцессор переходит к такту Т4 и завершает МЦ. Таким образом, удается согласовывать работу микропроцессора с устройствами различного быстродействия.
^ Реализация процессорных модулей и состав линий системного интерфейса
Большинство микропроцессоров не могут работать в составе МПС без некоторых дополнительных схем, составляющих вместе с микропроцессором т. н. процессорный модуль. Прежде всего, на вход CLK микропроцессора необходимо подать прямоугольные импульсы тактовой частоты от специального внешнего тактового генератора.
Для микропроцессора i8086 частота тактовых импульсов может лежать в диапазоне 26 МГц.
На рис. 3.3 приведен один из вариантов упрощенной функциональной схемы процессорного модуля на базе i8086. На схеме не показаны некоторые элементы и связи (например, схема начального сброса и др.).
Рис.3.3 Структура процессорного модуля (i8086)
Микропроцессор 18086 реализован по n-МДП-технологии, и его выходные каскады не обеспечивают достаточной нагрузочной способности для линий системного интерфейса. Поэтому к выходным линиям микропроцессора обычно подключают буферные схемы BD, реализованные по технологии ТТЛ.
Кроме того, шины адреса и данных в i8086 мультиплексированы. Адрес удерживается на выводах микропроцессора только в течение одного такта машинного цикла, а использоваться должен весь МЦ. Поэтому адрес необходимо запомнить в специальных внешних регистрах-защелках RG (которые, кстати, играют и роль буферной схемы шины адреса).
Наконец, часто требуется преобразовать управляющие сигналы, выдаваемые микропроцессором, в стандартные сигналы системного интерфейса. Так, i8086 формирует выходные сигналы, идентифицирующие тип машинного цикла, и сигналы стробирования: М-IO, OP-IP, R, W.
Системная шина использует сигналы записи и чтения памяти RDM, WRM и записи и чтения внешнего устройства RDIO, WRIO.
Преобразования процессорных сигналов в шинные осуществляет простая логическая схема L.
Лекция 7
Тема 3: Архитектуры микропроцессоров
Тема лекции: Базовая архитектура микропроцессорной системы
План лекции:
Машина пользователя и система команд
Программная модель микропроцессора (рис. 3.4) включает в себя программно-доступные объекты МПС, т. е. те объекты, состояние которых можно проанализировать и/или изменить при помощи команд микропроцессора. К таким объектам относятся внутренние регистры микропроцессора, ячейки памяти и порты ввода/вывода.
Ре
Рег Регистры процессора
Рис.3.4 Микропроцессор i8086 машина пользователя
Рассмотрим машину пользователя i8086. Кроме показанных на рис. 3.4 регистров процессора, в машину пользователя i8086 включается адресное пространство памяти объемом 1 Мбайт и два пространства портов ввода и вывода по 64 Кбайт каждое.
Помимо операций с 16-разрядными регистрами общего назначения (РОН) АХ DX, допускается обращение к каждому байту этих регистров: AL DL, АН DH. В процессорах семейства х86 система команд построена таким образом, что в некоторых командах РОН выполняют определенные по умолчанию функции счетчиков, индексных регистров, источников адреса и др.
Рис. 3.5 Формат регистра признаков i8086
16-разрядные регистры ВР, SI, DI используются для образования исполнительных адресов памяти, SP указатель стека, IP программный счетчик (СчК), Flags регистр флагов, формат которого приведен на рис. 3.5, где:
При TF = 1 после выполнения каждой команды автоматически формируется прерывание с вектором 1.
^ Распределение адресного пространства
Адресное пространство МП определяется в i8086 разрядностью шины адреса/данных и адреса и составляет 220 байтов = 1 Мбайт. В этом адресном пространстве микропроцессору одновременно доступны лишь четыре сегмента, два из которых (DS и ES) предназначены для размещения данных, CS сегмент кода (для размещения программы) и SS сегмент стека.
Размеры сегментов определяются разрядностью логических адресов команд, данных и стека. Логические адреса команд и стека (верхушки) хранятся в 16-разрядных регистрах IP и SS соответственно, а логический адрес данных вычисляется в команде одним из многочисленных, предусмотренных системой команд, способов и также составляет 16 битов.
Таким образом, размер каждого сегмента в i8086 составляет 216 байтов = 64 Кбайт. Положение сегмента в адресном пространстве (его начальный адрес) определяется содержимым одноименного сегментного регистра.
Формирование физического адреса иллюстрируется на рис. 3.6, из которого видно, что граница сегмента в адресном пространстве может быть установлена не произвольно, а таким образом, чтобы начальный адрес сегмента был кратен 16.
Рис.3.6 Формирование физического адреса (i8086)
По умолчанию сегментные регистры выбираются для образования физического адреса следующим образом: при считывании команды по адресу IP используется CS, при обращении к данным DS или ES, при обращении к стеку SS. С помощью специальных приставок к команде (префиксов) можно назначить для использования произвольный сегментный регистр (кроме пары CS:IP, которая не подлежит модификации). Границы сегментов могут быть выбраны таким образом, что сегменты будут изолированы друг от друга, пересекаться или даже полностью совпадать.
Например, если загрузить CS = SS = DS = ES = 0, то все сегменты будут совпадать друг с другом и начинаться с нулевого адреса.
^ Система команд i8086
Кратко остановимся на особенностях системы команд i8086, не вдаваясь в излишние подробности.
i8086 отличается разнообразием форматов команд и способов адресации. Длина команды может составлять от 1 до 6 байтов, причем в первых двух байтах (иногда в первом) определяется код операций, количество и длина операндов и способ их адресации. В остальных байтах команды могут размещаться непосредственный операнд, прямой адрес или смещение.
Большинство команд i8086 являются двухадресными, причем один адрес определяет регистр процессора, а другой ячейку памяти или регистр.
Операнд в памяти может адресоваться прямо или косвенно посредством содержимого базовых (ВР, ВХ) или индексных (SI, DI) регистров, а также их суммы. Предусмотрены многочисленные варианты относительной адресации, при которых логический адрес образуется как сумма двух или трех слагаемых одного или двух регистров процессора и 8- или 16-разрядного смещения, размещаемого в команде.
Режимы адресации спроектированы с учетом эффективной реализации языков высокого уровня. Например, к простой переменной можно обратиться в режиме прямой адресации, а к элементу массива в режиме косвенной адресации посредством ВХ, SI. Режим адресации через ВР предназначен для доступа к данным из сегмента стека, что удобно при реализации рекурсивных процедур и компиляторов языков высокого уровня.
Система команд насчитывает ^ 113 базовых команд, объединенных в следующие группы:
□ команды передачи данных:
□ арифметические команды:
□ логические команды и сдвиги:
^ Контрольные вопросы
Лекция 8