Лекция 11 Микропрограммная интерпретация команд языка компьютера



Цели лекции:

1. Рассмотреть принципы организации мультипрограммного режима работы

2. Рассмотреть аппаратные средства микропроцессора мультипрограммного режима работы

 

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

Микрокоманды адресуемой микропрограммы при таком подходе поочередно читаются в регистр микрокоманды (RG Мk) и далее используются для управления вычислительным процессом. Блок функциональных узлов, реализующих данный принцип, показан на рисунке 11.1.

 

Рисунок 11.1

 

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

При считывании из ПЗУ очередной микрокоманды управляющая информация помещается в регистр микрокоманды RG Мk и далее используется для преобразования операндов в операционном блоке. Структура микрокоманды в общем случае условно делится на три части: 1) адресную часть микрокоманды, 2) операционную часть, 3) поля управления внутренним интерфейсом.

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

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

Поле адресов переходов в RG Мk точно так же, как и ПНА, должно иметь возможность переключения своих выходов в состояние Roff. Управление переключением может осуществляться из ПЗУ Мk или из разрядов самого регистра микрокоманды.

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

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

 

Рисунок 11.2

Выполнение очередной команды в данной схеме начинается с преобразования в ПНА2 кода операции в начальный адрес микропрограммы. При этом выходы ПНА1 должны быть переключены в состояние Roff, а выходы ПНА2 - в рабочий режим. Адрес микропрограммы передается через вход А СУАМ во внутренний регистр микросхемы и далее, в соответствии с кодом микрокоманды, установленным в предыдущем такте на входах I, на выходы D0 и на адресный вход ПЗУ Мk. Если существует необходимость в выполнении последовательности из нескольких микрокоманд, то в поле I текущей микрокоманды должен быть записан код, предполагающий инкрементирование адреса в соответствующем блоке СУАМ.

Для выполнения условных переходов блок СУАМ анализирует 2- разрядный код шифратора условия, Выбратьый полем «Код усл.» RG Мk. В случае установки заданного признака в активное состояние в схеме СУАМ изменяется источник следующего адреса, например, вместо регистра-счетчика микрокоманд к адресному выходу может подключаться входная шина DI или другой внутренний источник.

После выполнения очередной команды ПНА2 отключается и выполняется опрос ПНА1. Если из регистра запросов поступил хотя бы один запрос, то ПНА1 формирует начальный адрес подпрограммы обработки прерываний, который запоминается в RG АСУАМ. Процесс обслуживания прерываний, как правило, предполагает обращение к ОП и выполнение специальной подпрограммы.

Если в регистре запросов на прерывание заявки отсутствуют, то СУАМ инициирует чтение из ПЗУ Mk следующего управляющего слова. Это слово предполагает выборку из ОП очередной команды языка высокого уровня и очередной опрос ПНА2.

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

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

 

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

1. Объяснить работу блока функциональныъх узлов.

2. Какие действия выполняются при считывании из ПЗУ очередной микрокоманды?

3. За счет чего осуществляется процесс выполнения безусловных переходов?

4. Что происходит приорганизации условных переходов?

 

Лекция 12 Прерывания

Цели лекции:

Изучение функционирования системы прерываний микропроцессорной системы

 

Прерывания и особые случаи

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

Механизм прерывания обеспечивается соответствующими аппаратно-программными средствами компьютера.

Классификация прерываний представлена на рисунке 12.1.

 

Рисунок 12.1 – Классификация прерываний

 

Запросы аппаратных прерываний возникают асинхронно по отношению к работе микропроцессора и связаны с работой внешних устройств.

Запрос от немаскируемых прерываний поступает на вход NMI микропроцессора и не может быть программно заблокирован. Обычно этот вход используется для запросов прерываний от схем контроля питания или неустранимых ошибок ввода/вывода.

Для запросов маскируемых прерываний используется вход INT микропроцессора. Обработка запроса прерывания по данному входу может быть заблокирована сбросом бита IF в регистре флагов микропроцессора.

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


Дата добавления: 2019-09-13; просмотров: 372; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!