Курсовая работа: Функциональная организация и система команд процессора
4.2 Разбиение микроопераций по полям и кодирование логических условий
4.3 Прошивка МПЗУ
4.4 Описание Структурной и Электрической принципиальной схемы Управляющего автомата
Перечень используемых сокращений
Список используемой литературы
Заключение
Введение
Данный курсовой проект посвящен разработке микропроцессора, выполняющего некоторый набор команд. Для приближения к структуре и функционированию реальных процессорных устройств были даны команды и принципы работы с внешними устройствами аналогичные реально существующему процессору IBM/370. Разработка процессора - это один из наиболее важных этапов разработки ЭВМ в целом. Несмотря на то, что для функционирования модулей памяти и других внешних по отношению к процессору устройств безразлична внутренняя структура процессора, важно принимать во внимание при выборе набора устройств наиболее характерные типы данных обрабатываемые процессором, типы команд, назначение и функции внешних выводов процессора. В данном случае, так как команды процессора могут иметь длину 16 или 32 разряда, то желательно использовать память, позволяющую считывать одновременно не менее 32 разрядов. Подобный выбор структуры памяти хорошо стыкуется и с наиболее характерными форматами данных, с которыми работает процессор. В данном случае не лишен смысла был и выбор памяти с возможностью выборки 64-разраядных слов, так как процессор работает и с 64-разраядными словами, но так как такая разрядность используется только в одной из микроопераций, а данные при этом находятся в регистровой памяти, то при этом 64-разрядная память использовалась бы исключительно для выборки команд, а магистраль большую часть времени простаивала. Таким образом, была выбрана структура процессора, имеющая 32-разрядную внешнюю и 32-разрядную внутреннюю структуру.
При выборе структуры регистровой памяти учитывалось, то что одновременно не используются регистры с плавающей точкой и регистры общего назначения, поэтому возможно их объединение в одну регистровую память. Различие в формате при этом не является проблемой, так как регистры с плавающей точкой при этом представляются в виде двух 32-разрядных регистров. Это не приводит к уменьшению производительности системы, как было отмечено ранее, магистраль является 32-разрядной и, все равно, нужно производить считывание регистра с плавающей запятой за два обращения к регистровой памяти, а конвейерный способ связи с ней позволил производить это считывание за три машинных такта.
1. Функциональная организация процессора
Процессор должен выполнять следующие команды:
И непосредственное
Сложение с нормализацией
Загрузка и проверка
Загрузка PSW
1.1 Описание команды “И непосредственное "
NI D1 (B1 ), I2 ( SI)
9416 | I2 | B1 | D1 |
0 8 16 20 31
Поразрядное логическое произведение (И) первого и второго операндов помещается на место первого операнда.
Операнды обрабатываются как логические величины, не имеющие внутренней структуры, и к соответствующим битам применяется операция логического И. В бите результата устанавливается 1, если в соответствующих битах обоих операндов содержатся единицы, в противном случае - устанавливается 0.
В случае команды NC поля операндов обрабатываются слева направо. Если операнды перекрываются, результат получается таким, как если бы операнды обрабатывались побайтно, каждый байт результат записывался в память сразу же после выборки нужного байта операнда.
Признак результата:
0-результат равен 0;
1-результат не равен 0;
2-
1.2 Сложение с нормализацией
AER R1,R2 (RR, короткие операнды)
3A16 | R1 | R2 |
0 8 12 15
Второй операнд складывается с первым операндом, и нормализованная сумма помещается в ячейку первого операнда.
Сложение двух чисел с плавающей точкой заключается в выравнивании характеристик и сложении мантисс. Характеристики обоих операндов сравниваются, и мантисса операнда с меньшей характеристикой сдвигается вправо; при каждом сдвиге на шестнадцатеричную цифру производится увеличение характеристики этого операнда на 1. Сдвиг продолжается до тех пор, пока характеристики обоих операндов не станут равными.
Если операнд сдвинут вправо во время выравнивания, то самая левая шестнадцатеричная цифра поля, выдвинутого за пределы разрядной сетки, сохраняется в качестве дополнительной цифры. Считается, что операнд, который не подвергся сдвигу, имеет дополнительную младшую цифру, равную 0. Если выравнивающий сдвиг не производится, то считается, что оба операнда расширены младшими шестнадцатеричными нулями. Затем производится алгебраическое сложение мантисс для получения промежуточной суммы.
При сложении коротких операндов мантисса промежуточной суммы состоит из 7 шестнадцатеричных цифр и, возможно, цифры переноса. Если перенос имеет место, сумма сдвигается вправо на одну цифру, и характеристика увеличивается на 1.
После сложения промежуточная сумма сдвигается влево таким образом, чтобы получить нормализованное число, при условии, что мантисса не равна 0. В освободившиеся младшие шестнадцатеричные позиции записываются нули, а характеристике уменьшается на число единиц, равное числу сдвигов, затем мантисса промежуточной суммы усекается таким образом, чтобы получить мантиссу результата нужной длины.