б) запись двойного слова в РПЗ R
3.4. Функционирование ОА во времени
Такт работы процессора Т разделяется на такт управляющего автомата ТУА и такт операционного автомата ТОА (рис. 9). Такт ОА состоит из последовательности микротактов t1, t2 и t3. В каждом микротакте выполняются отдельные действия (этапы МО), определяемые структурой ОА (рис. 6).
В микротакте t1производится выборка слов (операндов) на шины А и В и преобразование слов в комбинационной части ОА (т.е. на ФК, СДВ, КСМ). В микротакте t2 результат с выхода КСМ передается в регистр Z, а в микротакте t3 можно передавать содержимое регистра Z в память ОА, АР или через М в ОП, РП.
|
Рис.9. Временные диаграммы работы процессора
В регистре Z информация сохраняется только в течение одного такта, т.е. обновляется по каждому сигналу С1. Для обращения к РП отводится такт процессорного времени. При этой цикл чтения из РП должен укладываться в микротакт t1, а в микротакте t2 прочитанное слово заносится в регистр Z. Цикл записи в РП должен укладываться в микротакт t3. Аналогично распределяются во времени действия, связанные с обращением к ОП. Длительность микротакта t1должна быть достаточной для выдачи слов из памяти ОА на шины А и В и выполнения всех преобразований на ФК, СДВ, КСМ.
4. ПОРЯДОК ВЫПОЛНЕНИЯ ОСНОВНЫХ ОПЕРАЦИЙ
В ЕС ЭВМ
4.1. Структура микропрограммы
Алгоритм выполнения каждой заданной команды следует представить в виде функциональной микропрограммы (Ф-МП), отражающей все этапы ее выполнения.
Микропрограмма должна начинаться с выборки команды из ОП. Адрес команды задается содержимым СЧАК. Процедура выборки команды определяется длиной слова ОП и форматом выбираемой команды. Перед выборкой очередной команды необходимо проанализировать состояние процессора "РАБОТА - СТОП", так как выполнение программы процессором начинается только после нажатия кнопки "ПУСК" на инженерном пульте ЭВМ.
|
Общая структура микропрограммы приведена на рис. 10.
Рис. 10. Структура микропрограммы
4.2. Выборка команды из ОП
Программа, представляющая собой последовательность команд различных форматов, размещается в ОП. В ЕС ЭВМ используются команды длиной 1,2 и 3 полуслова (в заданиях на проект нет команд длиной 3 полуслова).
Для того, чтобы выполнить команду, ее необходимо прочитать из ОП в регистр команд (РК). В зависимости от формата выбираемой команды и ситуации, предшествовавшей выборке данной команды, необходимо выполнить различную совокупность микроопераций для передачи команды из ОП в РК. Команды любого формата начинаются с целочисленной границы полуслова. Команды длиной в полуслово в 64-разрядной ОП могут располагаться в виде, представленном на рис. 11. Слово ОП может содержать полностью команду или только ее часть. В 8-байтовом слове ОП могут содержаться, например, две команды формата RX, или четыре команды формата RR, или два поля по полуслову, принадлежащие различным командам, и команда RS и т.д.
Структурная схема, ориентированная на реализацию выборки команд из ОП с длиной слова 64 разряда, представлена на рис. 12. Функциональная микропрограмма выборки команд приведена на рис. 11. (емкость ОП принята равной 256 Кбайтов).
Адрес выбираемой команды хранится в счётчике адреса команд. СЧАК имеет длину, равную log2E-l (17 разрядов), так как адрес команды любого формата кратен полуслову. Адресный регистр основной памяти (АОП) имеет длину log2E (15разрядов). Значение последних двух разрядов СЧАК указывает, с какого полуслова в ячейке ОП начинается выбираемая команда.
При выполнении программы команды обычно выполняются последовательно, т.е. адрес следующей команда в СЧАК на 1 или 2 (в зависимости от длины исполняемой команды) больше адреса текущей команды. Причиной нарушения естественного порядка следования команд может явиться результат выполнения команды перехода. Для отметки порядка следования команд введем в структуру триггер перехода (ТП) - один из разрядов регистра РСП. Если команды выполняются последовательно, то ТП=0. В процессе выполнения команда перехода при занесении в СЧАК адреса перехода ТП устанавливается в 1.
В структуре ОА процессора присутствует буферный регистр (БР), который используется только на этапе выборки команды из ОП. В БР заносится часть слова ОП с целью исключения повторного чтения ячейки ОП. В приведенном примере (слово ОП 8 байтов) длина БР - 3 полуслова. При длине слова ОП 2 байта необходимости в БР не возникает. Если ТП=0, то содержимое БР используется для формирования команды в РК. Если ТП=1, управление передано команде, отсутствующей в БР и, следовательно, его содержимое не может быть использовано.
При выборке команды адресуемое полуслово (вся команда формата RR или половина команды RX,RS,SI) передается в РК (0:15) (см. рис. 11, 12 в приложении). Затем анализируется длина команды (РК(0:1)=00 для команд формата RR) и либо выборка заканчивается увеличением СЧАК на 1, либо команда в РК дополняется вторым полусловом, а СЧАК увеличивается на 2.
Наибольшую сложность представляет случай, когда команда начинается с последнего полуслова в ячейке ОП и длина ее равна слову. Из БР берется первое полуслово выбираемой команды. Это полуслово, т.е. БР (32:47), передается в регистр команд РК (0:15), СЧАК увеличивается на I и происходит повторное обращение к ОП. Из вновь прочитанного слова ОП первое полуслово передается в разряды РК (16:31), а остальные три полуслова, являющиеся новыми командами, запоминаются в БР.
В Ф-МПе следует провести разметку операторных и условных вершин: МОi отметить управляющим сигналом уi, МКj (операторную вершину) – Yj, а ЛУк (условную вершину) - осведомительным сигналом Хк. При этом одинаковые МО и ЛУ отмечаются одинаково во всех микропрограммах, а каждую следующую МК Yj в одной микропрограмме отмечают с добавлением штриха (т.е. Y1j) (см. рис. 11, 13 в приложении).
4.3. Формирование адресов операндов
Способ формирования адресов операндов определяется форматом исполняемой команды. В формате RR оба операнда находятся или в РОН, или в РПЗ. РОН адресуются числами от 0 до 15.
|
РПЗ имеют адреса 0, 2, 4, 6. Адрес РПЗ может быть задан некорректно, если он отличен от вышеназванных четырех чисел. Этот случай вызывает прерывание выполнения команды и называется неправильной спецификацией с плавающей запятой (SP).
При формировании адреса РП старший разряд АРП(I), определяющий обращение к РОН или РП3, задается кодом операции, а четыре младших разряда - полем R команды.
В формате RX второй операнд находится в ОП. Исполнительный адрес в этом случае вычисляется сложением трех составляющих:
A2=D2+[POH(B2)]+[POH(X2)]. Здесь D2 - смещение, непосредственно находящееся в формате команды, а поля Х2 и В2 команды определяют номера РОН, в которых хранятся значения индексного приращения и базового адреса соответственно.
В формате RS второй операнд также находится в ОП, но, в, отличие от формата RХ, адрес А2 не индексируется и A2=[РОН(В2)]+D2. В формате SI первый операнд находится в ОП и его адрес А1=[РОН(В1)]+D1. Второй операнд I2 содержится непосредственно в формате команды в разрядах (8:15) и имеет длину 1 байт.
Если поля В1, В2 или Х2 равны нулю, то соответствующая компонента -адреса также равна нулю, т.е. базовые адреса и индексные приращения не могут размещаться в РОН(0).
4.4 Система команд ЕС ЭВМ
С помощью набора команд с целыми числами осуществляются операции двоичной арифметики над операндами, которые, с одной стороны, могут быть адресами, индексами и счетчиками, а с другой - представлять собой целые двоичные числа со знаком. Набор команд предусматривает загрузку, сложение, вычитание, сравнение, умножение, деление, запись в память (передачу операнда из РП в ОП) и сдвиги арифметические.
Операции двоичной арифметики выполняются как операции над целыми двоичными числами. Числа хранятся в памяти и вступают в операцию в дополнительном коде. Для выполнения операций следует использовать алгоритмы, описанные в [2,6]. Разрешается использовать алгоритмы умножения и деления в прямых кодах, для чего операнды перед началом операции следует преобразовать в прямой код, а отрицательный результат - в дополнительный код.
Эти команды служат для выполнения арифметических и посылочных операций над числами с плавающей запятой, представленными в коротком и длинном форматах. Длина операнда определяется кодом операции. Так как характеристика представляет собой целое число, а мантисса - число с фиксированной запятой, то действия над числами с плавающей запятой