Будь умным!


У вас вопросы?
У нас ответы:) SamZan.ru

Тема 3- Архитектуры микропроцессоров^ Тема лекции- Процессорный модульПлан лекции- 3

Работа добавлена на сайт samzan.ru: 2015-07-05


Конспект лекций часть 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. При этом выделим для рассмотрения следующиеподсистемы:

  1.  
    процессорный модуль;
  2.  
    память;
  3.  
    ввод/вывод; 
  4.  
    прерывания;
  5.  
    прямой доступ в память со стороны ВУ.



Процессорный модуль

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

Внутренняя структура микропроцессора

Структурная схема микропроцессора i8086 представлена на рис. 3.1. Микропроцессор включает в себя три основных устройства:

  1.  
    УОД — устройство обработки данных;
  2.  
    УСМ — устройство связи с магистралью;
  3.  
    УУС — устройство управления и синхронизации.


УОД предназначено для выполнения команд и включает в себя 16-разрядное АЛУ, системные регистры и другие вспомогательные схемы; блок регистров (РОН, базовые и индексные) и блок микропрограммного управления.

УСМ обеспечивает формирование 20-разрядного физического адреса памяти и 16-разрядного адреса ВУ, выбор команд из памяти, обмен данными с ЗУ, ВУ, другими процессорами по магистрали. УСМ включает в себя сумматор адреса, блок регистров очереди команд и блок сегментных регистров.

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

Микропроцессор i8086 может работать в одном из двух режимов — минимальном и максимальном. 

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

^ Максимальный режим предполагает наличие в системе нескольких микропроцессор, работающих на общую системную шину. МПС на базе i8086 с использованием максимального режима не получили широкого распространения. Более того, в последующих моделях своих микропроцессоров (80286, 80386, 80486) фирА Intel отказалась от поддержки мультипроцессорной архитектуры. Поэтому мы здесь не будем рассматривать особенности организации максимального режима.

На внешних выводах МП i8086 широко используется принцип мультиплексирования сигналов — передача разных сигналов по общим линиям с разделением во времени. Кроме того, одни и те же выводы могут использоваться для передачи разных сигналов в зависимости от режима (min — max).



Рис.3.1 Структура микропроцессора i8086

В табл. 3.1 приведено описание внешних выводов МП i8086. При описании выводов косой чертой (/) разделены сигналы, появляющиеся на выводе в разные моменты машинного цикла. 

В круглых скобках указаны сигналы, характерные только для максимального режима. 

Символ * после имени сигнала — знак его инверсии.


Таблица 3.1. Внешние выводы МП i8086


Внешний вывод


Описание


A/D[15:0]


Младшие 0—15 разряды адреса/данные


A[19:16]/ST[6:3]


Старшие 16—19 разряды адреса/сигналы состояния


ВНЕ* /ST[7]


Разрешение передачи старшего байта данных/сигнал состояния


STB(QSO)


Строб адреса (состояние очереди команд)


R*


Чтение


W* /(LOCK*)


Запись (блокировка канала)


M-IO*(ST2*)


Память — внешнее устройство (состояние цикла)


OP-IP*(STl*)


Выдача/прием (состояние цикла)


DE*(STO*)


Разрешение передачи данных (состояние цикла)


TEST*


Проверка


RDY


Готовность


CLR


Сброс


CLC


Тактовый сигнал


INT


Запрос внешнего прерывания


INTA*(QS1)


Подтверждение прерывания (состояние очереди команд)


NMI


Запрос немаскируемого прерывания


HLD(RQ*/EO)


Запрос ПДП (запрос/подтверждение доступа к магистрали)


NLDA(RQ* /El)


Подтверждение ПДП (запрос/подтверждение доступа к магистрали)


MIN/MAX*


Потенциал задания режима (min = 1, max = 0)

^ Командный и машинный циклы микропроцессора 

Микропроцессор i8086 работает в составе МПС, обмениваясь с памятью и ВУ словами длиной 2 байта, т. к. разрядность шины данных составляет 16 битов. В основе работы микропроцессора лежит командный цикл — действия по выбору из памяти и выполнению одной команды.

Любой командный цикл (КЦ) начинается с извлечения из памяти первого слова команды по адресу, хранящемуся в счетчике команд (PC). Команды i8086 могут иметь длину от 1 до 6 байтов, причем в первом слове содержится информация о длине команды. Таким образом, для извлечения из памяти одной команды может потребоваться одно или несколько обращений к ОЗУ.

В зависимости от типа и формата команды, способов адресации и числа операндов командный цикл может включать в себя различное число обращений к памяти и ВУ, поскольку кроме чтения самой команды в КЦ может потребоваться чтение операндов и размещение результата.

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

Машинный цикл включает выдачу процессором адреса памяти или внешнего устройства, по которому производится обращение, выдачу управляющих сигналов, характеризующих тип машинного цикла и направление передачи данных (М-IO, OP-IP), выдачу синхронизирующих (стробирующих) сигналов (STB, R, W) и собственно передачу данных. В i8086 реализована мультиплексированная шина адреса/данных. Это объясняется дефицитом внешних выводов кристалла и требует дополнительного такта для выдачи адреса и дополнительного управляющего сигнала STB, идентифицирующего наличие адреса на общей шине A/D.



По большому счету разнообразие МЦ сводится к двум разновидностям — чтению (данные или команды принимаются в процессор) и записи (данные выдаются из процессора). Временные диаграммы соответствующих МЦ приведены на рис. 3.2.

Рис.3.2 Машинные циклы МП: а) цикл ЧТЕНИЕ; б) цикл ЗАПИСЬ

Цикл начинается с формирования в такте Т1 сигнала М-IO, определяющего тип устройства — память или ВУ, с которым осуществляется обмен данными. Длительность сигнала М-IO равна длительности машинного цикла, и он используется для селекции адреса устройств. 

  1.  
    В Т1 и в начале Т2 МП выдает адреса А[19:16] и А[15:0] и сигнал ВНЕ, который вместе с АО определяет выбор передачи либо всего слова, либо одного из его байтов. 
  2.  
    По спаду строба ALE адрес фиксируется во внешних регистрах-защелках. 
  3.  
    В такте Т2 происходит переключение шин: на выводы A[19:16]
    /ST[6:3] поступают сигналы состояния; а выводы A/D[15:0] используются для приема/передачи данных.


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

Роль такого сигнала в i8086 (и всех процессорах старших моделей семейства х86) играет вход RDY (от англ. Ready — готовность), который всегда должен быть активным при синхронном обмене (с «быстрыми» устройствами). 

При обмене с «медленными» устройствами значение RDY должно оставаться неактивным (в разных процессорах активным для RDY может быть уровень логической 1 или логического 0) до тех пор, пока устройство, с которым связывается процессор, не завершит процедуру обмена, сообразуясь со своим быстродействием.

Время ожидания процессором готовности устройства может быть сколь угодно большим. Для этого в такте ТЗ процессор проверяет значение сигнала RDY, и если он неактивен, после такта ТЗ в машинный цикл вставляется произвольное количество тактов ожидания Tw, в каждом из которых анализируется значение RDY. При появлении активного значения RDY микропроцессор переходит к такту Т4 и завершает МЦ. Таким образом, удается согласовывать работу микропроцессора с устройствами различного быстродействия.


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

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

Для микропроцессора i8086 частота тактовых импульсов может лежать в диапазоне 2—6 МГц.

На рис. 3.3 приведен один из вариантов упрощенной функциональной схемы процессорного модуля на базе i8086. На схеме не показаны некоторые элементы и связи (например, схема начального сброса и др.).



Рис.3.3 Структура процессорного модуля (i8086)

Микропроцессор 18086 реализован по n-МДП-технологии, и его выходные каскады не обеспечивают достаточной нагрузочной способности для линий системного интерфейса. Поэтому к выходным линиям микропроцессора обычно подключают буферные схемы BD, реализованные по технологии ТТЛ.

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

Наконец, часто требуется преобразовать управляющие сигналы, выдаваемые микропроцессором, в стандартные сигналы системного интерфейса. Так, i8086 формирует выходные сигналы, идентифицирующие тип машинного цикла, и сигналы стробирования: М-IO, OP-IP, R, W. 

Системная шина использует сигналы записи и чтения памяти — RDM, WRM и записи и чтения внешнего устройства — RDIO, WRIO. 

Преобразования процессорных сигналов в шинные осуществляет простая логическая схема L.


Лекция 7

Тема 3: Архитектуры микропроцессоров


Тема лекции: Базовая архитектура микропроцессорной системы

План лекции: 

  1.  
    Машина пользователя и система команд
  2.  
    Распределение адресного пространства
  3.  
    Система команд i8086


Машина пользователя и система команд

Программная модель микропроцессора (рис. 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, где:

  1.  
    CF — перенос/заем из старшего разряда;
  2.  
    PF — паритет (четность числа единиц в результате);
  3.  
    AF — дополнительный перенос (из 3-го разряда);
  4.  
    ZF— нулевой результат;
  5.  
    SF — отрицательный результат (знак);
  6.  
    OF — признак арифметического переполнения;
  7.  
    DF — направление, определяет направление модификации адресов массивов в командах цепочек (увеличение или уменьшение адреса);
  8.  
    IF — маскирует внешнее прерывание по входу INT (при IF = 1 прерывание разрешено);
  9.  
    TF — управляет пошаговым режимом работы микропроцессора.


При 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 базовых команд, объединенных в следующие группы:

команды передачи данных:

  1.  
    между регистрами и памятью (включая стек), обмен содержимым источника и приемника;
  2.  
    ввод, вывод, табличное преобразование;
  3.  
    загрузка исполнительного адреса в РОН, загрузка 4-байтового адресного объекта в регистры-указатели (начальный адрес сегмента и смещение в сегменте);
  4.  
    передача содержимого регистра F флагов в память, в стек и из стека;


арифметические команды:

  1.  
    сложение, вычитание, умножение и деление двоичных чисел со знаком и без знака (произведение и делимое представляются числами двойной длины);
  2.  
    десятичная коррекция сложения и вычитания упакованных двоично-десятичных чисел;
  3.  
    десятичная коррекция сложения, вычитания, умножения и деления рас
    пакованных двоично-десятичных чисел;


логические команды и сдвиги:

  1.  
    инверсия, конъюнкция, дизъюнкция, неравнозначность;
  2.  
    TEST— поразрядная конъюнкция операндов с установкой флагов, но без занесения результатов;
  3.  
    сдвиги на 1 или заданное число разрядов (константа сдвига располагается в CL);
  4.  
    команды передачи управления: переходы, вызовы, возвраты имеют две разновидности — внутрисегментные («близкие») и межсегментные («дальние»). При близких передачах загружается только IP, при дальних — IP и CS. Передачи управления могут быть прямыми (целевой адрес — в команде) или косвенными (целевой адрес вычисляется с использованием стандартных режимов адресации). В 16 командах условных переходов проверяются отношения знаковых и беззнаковых чисел. Имеются 4 команды управления циклами, которые рассчитаны на размещение числа повторений цикла в регистре СХ;
  5.  
    команды обработки цепочек данных манипулируют последовательностями байтов или слов в памяти. Время обработки цепочек этими командами гораздо меньше, чем соответствующей программной реализацией.



^ Контрольные вопросы


Лекция 8




1. Лирика дружбы и любви АСПушкина
2. Лекция НЕРВНАЯ ТКАНЬ Состоит- нейроны нейроглия
3. 1] Кому предназначена эта книга [0
4. hours per dy But tht~s ll professors re pid for nd the job is constnt
5. господарської діяльності; оцінка активів і пасивів підприємства; консультування з питань податкового закон
6. положение распространен весьма широко
7. Легка промисловість України укр
8. Я глубоко благодарен тем кто жил рядом со мною и наполнял содержанием идеи этой книги
9. . ПОНЯТИЕ И ВИДЫ ЦЕННЫХ БУМАГ [3] 2
10. Опека и попечительство как вид социальной заботы государства
11. ВИКТОРИНЫОЛИМПИАДЫ ПРОЕКТ ПЕРСПЕКТИВА 2013-2014 УЧЕБНЫЙ ГОД ВСЕРОССИЙСКАЯ ДИСТАНЦИОННАЯ ВИКТОРИНА ПО О
12. 1 Відрахування на пенсійне забезпечення
13. Лабораторная работа 2 Исследование режимов работы цепи с переменным сопротивлением потребителя Для
14. Тематика контрольных работ по дисциплине История Происхождение восточных славян- точки зрения
15. на тему Анализ денежных средств Поскольку конечной целью управления денежными
16. Курсовая работа на тему Продвижение образовательных услуг посредством сайтана примере Центра туризма и об
17. тематичне моделювання Авторефератдисертації на здобуття наукового ступенякандидата економічних на
18. Политика как практическая деятельность
19. Создание базы данных о поездах дальнего следования
20. Историческая концепция С.М. Соловьева