б) запись двойного слова в РПЗ 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]. Разрешается использовать алгоритмы умножения и деления в прямых кодах, для чего операнды перед началом операции следует преобразовать в прямой код, а отрицательный результат - в дополнительный код.
Эти команды служат для выполнения арифметических и посылочных операций над числами с плавающей запятой, представленными в коротком и длинном форматах. Длина операнда определяется кодом операции. Так как характеристика представляет собой целое число, а мантисса - число с фиксированной запятой, то действия над числами с плавающей запятой