Смекни!
smekni.com

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



Рис. 12. Структурная схема выборки команд из ОП (длина слова ОП 8 байтов)

производятся от­дельно над характеристиками и мантиссами по правилам обработ­ки целых чисел и чисел с фиксированной запятой.

При выполнении арифметических операций контролируются случаи переполнения и исчезновения порядка. Если действия над характеристиками проводятся в дополнительном модифици­рованном коде, то о переполнении порядка свидетельствует появление кода 01 в двух знаковых разрядах модифицированного кода, а код 11 указывает исчезновение порядка [2,6,8]. При выполнении всех операций над знаками чисел, а также в операциях сложения, вычитания и сравнения устанавливается признак результата в регистре РСП.

Логические операции

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

В результате выполнения всех операций логического срав­нения, поразрядных операций, а также операций проверки устанавливается признак результата.

Операции переходов

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

В процессе выполнения всех операций в регистре РСП устанавливаются признаки состояния процессора и признаки перехо­да, такие как:

А - неправильная адресация;

S - неправильная спецификация;

SР - неправильная спецификация с плавающей запятой;

Е - переполнение порядка;

LS - потеря значимости;

U - исчезновение порядка;

FK - особый случай деления в плавающей запятой;

IF - переполнение в операции с фиксированной точкой;

IK – особый случай деления с фиксированной точкой;

ТП – значение триггера перехода;

ПрР(1:2) – признак результата.

4.5. Выполнение команд

Ф-МПа каждой отдельной команды разрабатывается на основе словесного алгоритма ее выполнения [1].

Чтение операнда из ОП и запись результата в ОП по исполнительному адресу А1 или А2 производится после проверки адреса на правильность адресации (А) и спецификации (S). При правильной адресации адрес не должен быть длиннее адреса байта ОП (в нашем примере - 18 разрядов). Иначе возникает попытка обращения за пределы физической емкости ОП. Проверка адреса на правильность спецификации связана с длиной операнда (см. рис.3).

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

Если длина операнда превышает длину слова памяти, то чтение и запись производится за несколько обращений к памяти.

В качестве примера рассмотрим выполнение команды “Сложение” (формат RX, код операции 5А). Словесный алгоритм в упрощенном виде выглядит следующим образом. Второй операнд складывается с первым операндом, и сумма помещается на место первого операнда. В сложении участвуют все 32 бита каждого операнда. Необходимо выявить переполнение, которое вызывает программное прерывание. При переполнении полученный знаковый бит суммы остается без изменения. Переполнение возникает, если при сложении положительных чисел сумма получается с отрицательным знаком, а при сложении отрицательных чисел с положительный знаком.

Признаки результата: 0 - сумма равна 0; 1 - сумма мень­ше 0; 2 - сумма больше 0; 3 - переполнение.

Программные прерывания: доступ (неправильное обращение к ОП, т.е. А и S); переполнение с фиксированной точкой (IF).Ф-МП выполнения операции сложения целых чисел приведена на рис. 13.

После выборки команды формата RХ из ОП в РК (см. рис. 11 в приложении) формируется исполнительный адрес второго операнда А2 путем базирования и индексирования в рабочем регистре РА памяти ОА. С учетом длины регистра РА (0:31) адрес А2 проверяется на правильность адресации и спецификации. Если адрес сформирован неверно, в регистре РСП устанавливается причина прерывания выполнения команды (А или S ).Затем производится чтение второго операнда длиной 4 байта из ОП с длиной слова 8 байтов в рабочий регистр РА. Пер­вый операнд читается из РОНа с адресом R1 в рабочий регистр РВ (0:31).

Операнды (целые числа со знаком) проверяются на равенст­во 0. Если хотя бы один из операндов равен 0, устанавливает­ся признак результата в регистре РСП и результат записывается в РОН с номером R1. Если операнды не равны 0, то производится их сложение и сумма формируется в регистре РА. Так как необходимо выявить переполнение, которое может возник­нуть только при сложении чисел с одинаковыми знаками, в микропрограмме (рис.13 в приложении) фигурируют две микрокоманды сложения ( Y31 и Y131). В соответствии со значением суммы устанав­ливается признак результата и сумма записывается на место первого операнда.


Рис.13. Микропрограмма выполнения команды "Сложение"

(слово ОП - 8 байтов)


Продолжение рис.13.

5.ОБЬЕДИНЕНИЕ СТРУКТУРНО-ФУНКЦИОНАЛЬНЫХ МИКРОПРОГРАММ С ИСПОЛЬЗОВАНИЕМ МАТРИЧНЫХ СХЕМ АЛГОРИТМА

Исходным материалом для построения объединённой функциональной микропрограммы (Ф-МП) являются разработанные Ф-МП отдельных операций [1]. Каждая Ф-МП должна быть размечена: микрокоманды (операторные вершины) – символами из множества {Y}, логические условия – символами из множества осведомительных сигналов {x} или переменными кода операции {p}. Одинаковые микрокоманды отмечаются одними и теми же символами Yl в разных Ф-МП. Если в одной Ф-МП встречается несколько одинаковых операторных вершин Yl, то каждая последующая из них обозначается символом Yl c добавлением штриха ( Yl1, Yl11 и т.д.) Размеченные Ф-Мпы называются граф-схемами алгоритма (структурно-функциональными микропрограммами СФ-МП).

Алгоритм объединения СФ-МП рассмотрим на примере объединения трёх ГСА (ГСА1, ГСА2, ГСА3 ), представленных на рис.14а,b,c. Объединение выполняется в несколько этапов.

5.1. Построение матричных схем алгоритма (МСА)

Для каждой ГСА Гq строится МСА Мq. Мq – квадратная матрица, строки которой отмечены операторами Y0 , Y1,…, Yt , а столбцы – Y1, …, YT, YK (здесь Yt – микрокоманда (оператор) ГСА Гq , t=1,…T; Y0 и YK - начальный и конечный операторы, соответственно. На пересечении строки Yi и столбца Yj матрицы записывается функция перехода от оператора Yi к оператору Yj МСА М1, М2, М3 приведены в табл.2,3,4. Если в одной ГСА Гq имеется несколько операторов Yi, Yi1, Yi11 и т.д., то в дальнейшем они рассматриваются как различные.

Если в некоторой строке МСА переменная xi встречается либо только в прямом (xi), либо только в инверсном значении (

), то эта переменная определяет ждущую условную вершину ГСА.

Каждая МСА Mq ( q=1,…,Q ) кодируется вектором, длина которого N

]log2Q[.Закодируем М1, М2, М3 следующим образом: М1-(00); М2-(11); М3-(01). Каждой МСА ставится в соответствие определяющая конъюнкция Pq=
.

В нашем примере

P1=

; Р2=р1р2; Р3=
.


Рис.14а. Исходные граф-схемы алгоритмов(ГСА1)



Рис.14б.Исходные граф-схемы алгоритмов (ГСА2)




Таблица 2

Y1

Y2

Y3

Y4

Y5

Y6

YK

Y0

x1x3x6

Y1

x2

Y2

x3x6

Y3

x3x6

Y4

x4x3

Y5

x4

Y6

1

Таблица 3