Смекни!
smekni.com

Методические указания к выполнению курсового проекта «Проектирование процессора эвм» по курсу «Организация эвм, комплексов и систем» для студентов дневного отделения специальности 2201 Ижевск 2001г (стр. 5 из 12)

б) запись двойного слова в РПЗ R

3.4. Функционирование ОА во времени

Такт работы процессора Т разделяется на такт управляющего автомата ТУА и такт операционного автомата ТОА (рис. 9). Такт ОА состоит из последовательности микротактов t1, t2 и t3. В каждом микротакте выполняются отдельные действия (этапы МО), определяемые структурой ОА (рис. 6).

В микротакте t1производится выборка слов (операндов) на шины А и В и преобразование слов в комбинационной части ОА (т.е. на ФК, СДВ, КСМ). В микротакте t2 резуль­тат с выхода КСМ передается в регистр Z, а в микротакте t3 можно передавать содержимое регистра Z в память ОА, АР или через М в ОП, РП.


Длительность микротактов определяется многофазной сис­темой синхронизирующих сигналов (рис. 9б). Сигнал СУА синхронизирует работу УА, С1 - запоминание информации в регистре Z , а С2 - запись результата в память ОА, АР, РП, ОП. C указанными микротактами и синхросигналами следует связать все другие возможные передачи информации.

Рис.9. Временные диаграммы работы процессора

В регистре Z информация сохраняется только в течение одного такта, т.е. обновляется по каждому сигналу С1. Для обра­щения к РП отводится такт процессорного времени. При этой цикл чтения из РП должен укладываться в микротакт t1, а в микротакте t2 прочитанное слово заносится в регистр Z. Цикл записи в РП должен укладываться в микротакт t3. Ана­логично распределяются во времени действия, связанные с обра­щением к ОП. Длительность микротакта t1должна быть достаточной для выдачи слов из памяти ОА на шины А и В и выпол­нения всех преобразований на ФК, СДВ, КСМ.

4. ПОРЯДОК ВЫПОЛНЕНИЯ ОСНОВНЫХ ОПЕРАЦИЙ

В ЕС ЭВМ

4.1. Структура микропрограммы

Алгоритм выполнения каждой заданной команды следует представить в виде функциональной микропрограммы (Ф-МП), от­ражающей все этапы ее выполнения.

Микропрограмма должна начинаться с выборки команды из ОП. Адрес команды задается содержимым СЧАК. Процедура выборки команды определяется длиной слова ОП и форматом выбирае­мой команды. Перед выборкой очередной команды необходимо проанализировать состояние процессора "РАБОТА - СТОП", так как выполнение программы процессором начинается только после нажатия кнопки "ПУСК" на инженерном пульте ЭВМ.


Порядок функционирования процессора зависит от программного состояния "ОЖИДАНИЕ-СЧЕТ". В состоянии "СЧЕТ" (ССП(14)=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]. Разрешается использовать алгоритмы умножения и деле­ния в прямых кодах, для чего операнды перед началом операции следует преобразовать в прямой код, а отрицательный результат - в дополнительный код.

Операции с плавающей запятой

Эти команды служат для выполнения арифметических и по­сылочных операций над числами с плавающей запятой, представленными в коротком и длинном форматах. Длина операнда определяется кодом операции. Так как характеристика представляет собой целое число, а мантисса - число с фиксированной запятой, то действия над числами с плавающей запятой