Курсовая работа: Функциональная организация и система команд процессора
Биты 8-15 команды игнорируются.
Признак результата определяется содержимым соответствующего поля нового PSW.
Программное прерывание:
Привилегированная операция;
2. Синтез операций
2.1 Выборка команды
Перед выполнением любой команды нужно считать ее из памяти в регистр команд РК. Адрес считываемой команды задается в счетчике адреса команды СЧАК , представляющего собой биты 40. .62 из слова состояния программы PSW. Из памяти одновременно считываются 32 разряда - Р егистр ОП , адрес которого находится в А дресном регистре ОП. Так как длина команды может быть равно 16 или 32 разрядам, то за одно обращение к памяти может быть считана одна или две команды либо одна команда и часть следующей.
Чтобы не производить повторное считывание, разряды РОП (16: 31) могут быть запомнены в буферном регистре БР. Для того, чтобы определить, находится ли в БР полезная информация, используется триггер переходов ТП, единичное значение которого означается, что информация в БР не может быть использована для формирования новой команды. Если ТП =0, то содержимое БР может быть использовано для формирования новой команды.
Если выбираемая команда имеет формат RR , первое полуслово, представляющее собой команду, передается на РК,
а разряды (16: 31) сохраняются на БР . При этом СЧАК увеличивается на “1".
Если выбираемая команда начинается со второго полуслова
и имеет длину в слово, то на РК разряды (0: 15) передаются разряды (16: 31) РОП , СЧАК увеличивается на “2” и происходит повторное обращение к ОП . Разряды (0: 15) РОП передаются на РК (16: 31).
Функциональная микропрограмма выборки команды приведена на рис.1
в приложении 1. После выборки команда находится в РК . Ее КОП мы
поочередно сравниваем с КОП ами наших команд, как только они совпадут идем на выполнение. Если такого КОП а нет, то вызывается программное прерывание.
2.2 Реализация команды “И непосредственное "
В команде “И непосредственное “ явно дан второй операнд, длина которого 1 байт-это поле I2. Второй операнд находится в ОП . Его адрес
вычисляется следующим способом: из РП по адресу В1 извлекается РОН который складывается со смещением D1. В результате получаем адрес операнда в ОП . В зависимости от последних 2-х битов адреса извлекаем соответствующий байт и проводим операцию “И непосредственное ". Затем результат записываем на место 1-го операнда и производим запись полученного регистра в память. Признак результата устанавливается в соответствии вышеописанного условия.
Блок-схема алгоритма показана на рисунке 2.
2.2 Реализация команды “Сложение с нормализацией”
Для реализации команды “Сложение с нормализацией" были использованы следующие элементы. Триггера SA, SB, которые служат для хранения знака (модернизированный код); триггер DS используется как флаг переполнения при сложении. Четырехразрядные регистры DOPA и DOPB, где хранятся дополнительные цифры для соответствующих операндов. Операнды находятся в регистровой памяти по адресам R1 и R2 соответственно. При извлечении операндов проверяется корректность задания адресов. Для удобства операнды разбиты по полям: РА и РВ - поля характеристик, МА и МВ - поля мантисс. Программа реализуется в соответствии с описанием -подраздел 1.2 Схема алгоритма программы представлена на рисунке 3.
2.3 Реализация команды “ Загрузка и проверка”
При выполнении этой команды проверяется корректность задания адресов R1 и R2. В соответствии с заданием устанавливается признак результата.
2.4 Реализация команды “ Загрузка PSW"
Операнд находится в ОП . Его адрес вычисляется следующим способом: из РП по адресу В2 извлекается РОН который складывается со смещением D2. В результате получаем адрес операнда в ОП . Извлекаем регистр и записываем его в PSW (0: 31), затем увеличиваем на 1-у и записываем регистр в PSW (32: 63).
3. Описание структурной схемы процессора
3.1 Процессор
Процессор состоит из следующих основных частей:
32-разрядной магистрали М;
32-разрядного регистра Z для сопряжения с магистралью;
32-разрядного ALU
32-разрядных регистров А, В;
Триггеры DS,SA,SB;
4-разрядных регистров DOPA, DOPB;
16-разрядного буферного регистра БР и 32-разрядного регистра команд РК;
64-разрядного PSW;
Триггера перехода ТП;