Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Структура регистра признаков



Структура регистра признаков представлена на рисунке 1.4.

 

Рис. 1.4

 

Из 16 бит задействованы 9. Регистр признаков определяет состояние МП.

Нулевой бит – СF – флаг переноса;

Первый бит – 1 – фиксированный, не используется;

Второй бит – РF – флаг паритета (четности);

Третий бит – 0 – фиксированный, не используется;

Четвертый бит – АF – дополнительный перенос;

Пятый бит – 0 – фиксированный, не используется;

Шестой бит – ZF – флаг нуля;

Седьмой бит – SF – флаг знака;

Восьмой бит – ТF – флаг трассировки (флаг пошагового режима). При установке этого флага МП переходит в пошаговый режим (для отладки программы);

Девятый бит – IF – флаг разрешения прерывания;

Десятый бит – DF – флаг направления. Указывает направление обработки строк данных, определяет порядок обработки цепочек выполнения команд. Если DF=0, то идет обработка от меньших адресов к большим, если DF=1 – наоборот;

Одиннадцатый бит – ОF – флаг переполнения. Устанавливается при переполнении арифметико-логического устройства и т.д.

Старшие 4 бита – 1 – фиксированы, не используются.

 

Система прерываний в МП Intel 8086

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

Указанный МП содержит векторную систему прерываний. Каждому типу прерываний соответствует свой вектор.

Часть векторов по умолчанию имеют строгое назначение, часть назначается программистом. Имеется 256 векторов прерываний.

Схема возможных источников прерываний представлена на рисунке 1.5.

Внешние прерывания

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

 
 
                                                         Рис. 1.5

 

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

Программные прерывания

Данные прерывания осуществляются по 2-байтной команде INTn или по однобайтной команде INT3. Для двухбайтной команды тип прерывания указывается во втором байте. Однобайтное прерывание INT3 определено как прерывание в контрольной точке (точке разрыва). Такой точкой может быть любое место в программе, где необходимо прервать выполнение программы и выполнить какие-то действия.

Внутренние прерывания

Внутренние прерывания характеризуются типом, который либо предопределен, либо содержится в коде команды.

Данные прерывания не могут быть запрещены, за исключением работы МП в пошаговом режиме. Эти прерывания имеют более высокий приоритет по отношению к внешним.

Если МП переведен в пошаговый режим, то он реагирует на внешние и внутренние прерывания.

Таким образом, на поступающий запрос на прерывание INTR МП реагирует выполнением последовательно двух машинных циклов:

1) в первом машинном цикле МП указывает контроллеру прерываний, что запрос был воспринят и требуется обслуживание;

2) во втором машинном цикле контроллер прерываний выдает на шину данных байт данных, который содержит тип прерывания (0÷ 255).

Если МП работает в максимальном режиме, то на его выходе LOCK формируется сигнал занятости магистрали для сопроцессоров.

Таким образом, всего 256 типов прерывания. Каждый вектор занимает четыре ячейки памяти: два младших адреса – для записи смещения в сегменте, два старших – для записи начального смещения (базовый адрес сегмента).

                       

                                                       Табл.1.2

Адреса векторов в памяти

003FF 003FС   Тип 255
 
 
 
00008 Тип 2
00004 Тип 1
00000 Тип 0

 

Примеры конфигураций МПС на базе центрального процессора (ЦП) ВМ86 и сопроцессора ввода/вывода (СП) ВМ89

 

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

 

 

 


                                                                         

 

 

 
Рис. 1.6 Использование шин МП

 

 


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

Отличие между шинами в формируемых управляющих сигналах.

Часть устройств ввода/вывода могут иметь адреса, размещенные в системном пространстве, поэтому говорят, что эти устройства ввода/вывода отображены на память, т.е. данные устройства ввода/вывода реагируют на 20-битные адреса, закрепленные за ними, и управляются сигналами МRD, MWR.

Аналогично, часть памяти может быть размещена в пространстве ввода/вывода, т.е. память оказывается отображенной на пространство ввода/вывода, т.е. данные ячейки могут реагировать на 16-битные адреса и команды для устройства ввода/вывода.

Указанные шины функционируют по-разному, в зависимости от конфигурации системы, где есть и сопроцессоры.

Различают две конфигурации (рис.1.7):

a) местная;

б) удаленная.

                                                                         

В местной конфигурации ЦП и СП совместно используют шины.

Арбитраж осуществляется по линии запроса, причем наиболее приоритетным является центральный процессор.

 

 


                                                                         

 

 

 

 
                Рис. 1.7 Виды конфигураций систем

 

 


В местной конфигурации сопроцессор и центральный процессор совместно

Если подключены два сопроцессора, то при одновременном запросе ВМ87 и ВМ89 предпочтение отдается ВМ89, но если в момент запроса шина используется ВМ87, то запрос не будет подтверждаться до окончания счета ВМ87.

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

При удаленной конфигурации общей является системная шина (СШ), но обращение к ней происходит под управлением арбитра шин.  Шина ввода/вывода (ШВВ) является локальной. Ей безраздельно пользуется сопроцессор. Эта шина физически отделена от системной шины, поэтому в данной конфигурации сопроцессор может обращаться к устройствам ввода/вывода и памяти по локальной шине, не отвлекая от работы центральный процессор.

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

Адресация к памяти ЦП

Структурно память микропроцессора делится на два блока: с четными и нечетными адресами, как это показано на рисунке 1.8.

 

 

                              Табл. 1.3 

                  Варианты пересылок по шине данных

 

ВНЕ А0  
0 0 пересылается слово
1 0 пересылается только младший байт
0 1 пересылается только старший байт
1 1 устройство не выбрано

 

Рис. 1.8 Механизм адресации к памяти

 

                                                                                                              

При обмене двухбайтной информацией адресом этой величины служит адрес младшего байта, т.е. если младший байт размещен в блоке с четными адресами и при поступлении на блок четного адреса А0=0 и одновременно ВНЕ – выбираются оба блока. Таким образом, передача двухбайтной величины производится за одно обращение к памяти.

1.9 Форматы команд

Микропроцессор К1810ВМ86 относится к классу однокристальных с фиксиро­ванной системой команд.

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

По функциональному признаку система команд ВМ86 разбивается на шесть групп: пересылка данных, арифметические операции, логические операции и сдвиги, передача управления, обработка цепочек и управление микропро­цессором.

При рассмотрении системы команд удобно обращать­ся к программной модели МП, содержащей его функциональные узлы (ре­гистры), доступные программисту (рис. 2.1). Общие регистры разбиты на две группы: 1) группа HL, состоящая из регистров АХ, ВХ, СХ, DX, которые пред­назначены прежде всего для хранения данных и допускают раздельную адреса­цию их старших (Н) и младших (L) половин; 2) группа PI, содержащая ука­зательные регистры ВР, SP и индексные регистры SI, DI, в которых обычно хранится адресная информация. Для общих и сегментных регистров указаны коды, используемые в форматах команд для их адресации. Регистр флагов F и указатель команд IP адресуются в командах неявно.

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

В общем виде формат двухоперандной команды приведен на рис. 1.9, а, где штриховыми линиями обозначены необязательные байты команды. Первый байт команды содержит код операции СОР и два однобитовых поля: направле­ния d и слова w. При d = l осуществляется передача операнда или результата операции в регистр, который определяется полем reg второго байта команды; при d = 0 — передача из указанного регистра. Поле w идентифицирует тип (разрядность) операндов: при w=l команда оперирует словом, при w = 0 — байтом.

 

 


Второй байт, называемый постбайтом, определяет участвующие в опера­ции регистры или регистр и ячейку памяти. Постбайт состоит из трех полей: md — режим, reg — регистр, r / m — регистр/память. Поле reg определяет опе­ранд, который обязательно находится в регистре МП и условно считается вторым операндом. Поле r / m определяет операнд, который может находиться в регистре или памяти и условно считается первым.

Способ кодирования внут­ренних регистров МП в полях reg и r / m представлен в табл. 1.4.

                                                                            Таблица 1.4

 
 
 
                                                                                         

 

Отметим, что поле reg используется для указания регистра только в двухоперандных командах. Если в команде один операнд, то он идентифицируется полем r / m, а поле reg используется для расширения кода операции.

 

Поле md показывает, как интерпретируется поле r / m для нахождения первого операнда: если md = ll, то операнд содержится в регистре, в осталь­ных случаях — в памяти. Когда адресуется память, поле md определяет вари­ант использования смещения disp, находящегося в третьем и четвертом байтах команды:

 

 

При md = ll реализуется косвенная адресация памяти и поле г/ m определяет правила формирования эффективного адреса ЕА операнда в соответствии с табл. 2.2, где disp означает смещение, заданное в формате команды.

 

 


Поделиться:



Последнее изменение этой страницы: 2020-02-17; Просмотров: 154; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.042 с.)
Главная | Случайная страница | Обратная связь