Смекни!
smekni.com

Функциональная организация и система команд процессора (стр. 2 из 4)

Если бит маски потери значимости равен 0, программное прерывание не происходит; Вместо этого формируется результат, равный истинному 0.

Признак результата:

0-Мантисса результата равна 0;

1-Результат меньше 0;

2-Результат больше 0;

Программные прерывания:

Операция (если в данной установке отсутствует средство обработки чисел с плавающей точкой или в случае команды AXR отсутствует средство обработки чисел с плавающей точкой повышенной точности)

Спецификация;

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

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

Потеря значимости.

1.3 Загрузка и проверка

LTR R1,R2 (RR)

1216 R1 R2

0 8 12 15

Второй операнд без изменения помещается на место первого операнда. Поля R1 и R2 должны определять регистры 0,2,4 или 6; в противном случае фиксируется особый случай спецификации.

Признак результата:

0-результат равен 0;

1-результат меньше 0;

2 - результат больше 0;

3-

Программные прерывания отсутствуют.

1.4 Загрузка PSW

LPSW D2 (B2) (S)

8216 // // // // / B2 D2

0 8 16 20 31

Двойное слово из области, указанной адресом второго операнда, замещает текущее PSW.

Если в новом PSW задан режим BC, то при загрузке PSW содержимое позиции 16-33 нового PSW не сохраняется. Когда в последствии PSW записывается в память. Эти позиции содержат новый код прерывания и код длины команды.

Производится временная отмена совмещения. Выполнение операции в процессоре задерживается до тех пор, пока не будет завершены предыдущие доступы этого процессора в основную память по отношению к другим каналам и процессором.

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

Операнд должен быть расположен на границе двойного слова; в противном случае распознается особый случай спецификации и операция подавляется и тогда, когда имеет место особый случай защиты или адресации.

Биты 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;

Триггера перехода ТП;

Формирователей кодов ФК1-ФК6;

Различных схем сравнения, мультиплексоров и линий связи.

Кроме того, для работы процессора необходимы РП и ОП, которые могут находиться внутри процессора или подключаться в виде внешних устройств.

Магистраль процессора служит для связи РП и ОП с внутренними регистрами. РП подключена к М через регистр РРП. ОП подключена к М через регистр РОП. Z служит для связи РРП и РОП с регистрами процессора. БР и РК связаны с М непосредственно. ALU служит для выполнения различных операций и для связи между внутренними регистрами.

3.2 Оперативная память

В оперативной памяти емкостью 256 килобайт хранятся 32 - разрядные слова. Слово читается и записывается в оперативную память только целиком за одно обращение к ОП. Адрес слова, к которому производится обращение, указывается на регистре адреса основной памяти АОП. Длина регистра АОП равняется

, где
-емкость ОП в словах. Слово информации, которое записывается или читается из ОП, размешается в регистре РОП. Операция в ОП возбуждается сигналами чтения из основной памяти ЧТОП и записи в основную память ЗПОП. Момент окончания операции в ОП отмечается сигналом
. Так как цикл основной памяти имеет длительность большую такта работы процессора, то должна обеспечиваться синхронизация работы процессора и оперативной памяти за счет ждущих вершин графа микропрограммы.

3.3 Регистровая память

Регистровая память применяется для увеличения быстродействия процессора. РП состоит из регистров общего назначения (РОН) и регистров с плавающей запятой (РПЗ). РОНы используются в качестве индекс регистров, базовых регистров, а также для хранения слов и полуслов, участвующих в операциях с фиксированной запятой. РОНы представляют собой 32 - разрядные регистры и адресуются числами от 0 до 15. Для обращения к РОНам в командах любого формата отводится четырехразрядное поле R.

При выполнении операций с плавающей запятой один или оба операнда могут располагаться на РПЗ. Всего используется четыре регистра длиной 8 байтов с адресами 0,2,4,6 соответственно.

РОНы и РПЗ структурно объединены в 24-регистровую память РП, регистры 0-15 представляют собой РОНы, а остальные 8 регистров используется для хранения четырех восьмибайтных слов. Длина регистра РП равна 32 разрядам. Адрес регистра указывается на 5-разрядном регистре АРП. Операнд, который записывается или читается из РП, помещается на регистр РРП. Чтение и запись слова инициируются соответственно сигналами ЧТРП и ЗПРП.

Для хранения текущей информации используется РК. Данные с него могут поступать на АРП и на ALU.

3.4 Слово состояния процессора

Слово-состояние процессора PSW содержит информацию о состоянии процессора. В связи с ограниченным набором команд используются не все разряды. Разряды 16-31 содержат код ошибки, вызвавшей программное прерывание. В данном случае используют