'
Харке Д.А., Пономаренко А.К.
ПРОЕКТИРОВАНИЕ БЛОКА ОПЕРАЦИЙ ПРОЦЕССОРА ЭВМ *
Аннотация:
в данной статье рассматривается проблема анализа и синтеза блока операций процессора ЭВМ для операций умножения и сдвига кода вправо
Ключевые слова:
проектирование процессора, синтез, блок операций ЭВМ, сдвиг кода вправо, умножение в дополнительном коде
УДК 621.3.049.779
Харке Д.А.
Студент кафедры компьютерных систем и технологий (№12)
Национальный исследовательский ядерный университет МИФИ
(г. Москва, Россия)
Пономаренко А.К.
Доцент кафедры физического воспитания (№15)
Национальный исследовательский ядерный университет МИФИ
(г. Москва, Россия)
ПРОЕКТИРОВАНИЕ БЛОКА ОПЕРАЦИЙ ПРОЦЕССОРА ЭВМ
Аннотация: в данной статье рассматривается проблема анализа и синтеза блока операций процессора ЭВМ для операций умножения и сдвига кода вправо.
Ключевые слова: проектирование процессора, синтез, блок операций ЭВМ, сдвиг кода вправо, умножение в дополнительном коде.
Целые числа с фиксированной запятой представлены в дополнительном коде. Под запись числа отводится четыре разряда. Самый левый разряд используется для представления знака.
Целое число X с фиксированной запятой представляется в виде:
Число Х в дополнительном коде, состоящее из 4 или 8 разрядов, где первый разряд задаёт знак числа, может быть представлено в виде:
4-разрядное число в дополнительном коде
8-разрядное число в дополнительном коде
Таблица 1.1 Таблица представления чисел в регистрах
Операции умножения выполняются по алгоритму умножения чисел в дополнительном коде со старших разрядов множителя и сдвигом множимого вправо с одним корректирующим шагом. При нулевом значении текущего разряда множителя такт суммирования не пропускается. Первый операнд множимое, второй – множитель.
Второй операнд сдвигается вправо на число двоичных разрядов, определяемое адресом первого операнда. Адрес первого операнда не является адресом данных; два его разряда показывают на сколько разрядов нужно произвести сдвиг. В сдвиге участвуют все 4 разряда второго операнда. В освобождающиеся старшие разряды вводятся нули. Очередной выдвигаемый бит устанавливает флаг CF. Устанавливается также флаг ZF – флаг нуля (1- результат нулевой, 0 результат ненулевой).
Таблица 1.3.2 Функциональное назначение блоков элементов
Обозначение |
Назначение |
RA |
Регистр первого операнда(A), 8 разрядов, арифметический сдвиг вправо, параллельная загрузка, хранение |
RB |
Регистр второго операнда(B), 4 разряда, арифметический сдвиг вправо на 1 разряд, параллельная загрузка, хранение |
F1 |
Знаковый разряд числа B(RB0) |
F2 |
Текущий разряд числа B (RB3) |
RR |
Регистр результата, 8 разрядов, хранение, сброс в 0, логический сдвиг вправо SRI = 0 |
TZF |
Триггер флага равенства нулю ZF |
TCF |
Триггер флага переноса CF |
КС1 |
Формирование 0, RA, |
КС2 |
Передача RB, RR |
КС3 |
Формирование флага RR = 0 |
SM |
Сумматор, 8 разрядов |
Синтез схемы производится в среде проектирования Xilinx Foundation.
Подходящим для нас элементом для реализации функции регистра RA является регистр SR8CLE (рис 1.4.1). Данный регистр имеет 2 управляющих входа. Таблица их работы приведена ниже (Таблица 1.4.1)
Таблица 1.4.1 – Управляющие сигналы RA
Y2 |
Y1 |
Функция |
0 |
0 |
Хранение |
0 |
1 |
Загрузка |
1 |
0 |
Арифметический сдвиг вправо |
Рисунок 1.4.1 – Логическая схема RA
Триггер TZF выполняет функцию хранения значения флага ZF. Флаг ZF это признак равенства нулю.
Таблица 1.4.2 – Управляющие сигналы RB
Y13 |
Y10 |
Функция |
0 |
0 |
Хранение |
0 |
1 |
Загрузка |
1 |
X |
Асинхронный сброс в 0 |
Рисунок 1.4.2 – логическая схема TZF
Подходящим для нас элементом для реализации функции регистра RB является регистр SR4CLE (рис 1.4.3). Данный регистр имеет 2 управляющих входа. Таблица их работы приведена ниже (Таблица 1.4.3)
Таблица 1.4.3 – Управляющие сигналы RB
Y6 |
Y5 |
Функция |
0 |
0 |
Хранение |
0 |
1 |
Загрузка |
1 |
0 |
Арифметический сдвиг вправо |
Рисунок 1.4.3 – Логическая схема RB
Триггер TZF выполняет функцию хранения значения флага ZF. Для его реализации наиболее подходит элемент FDCE (рис 1.4.4). На вход D приходит младший разряд с регистра RR. Триггер имеет 2 управляющих входа. Таблица их работы приведена ниже (Таблица 1.4.4)
Таблица 1.4.4 – Управляющие сигналы RB
Y13 |
Y11 |
Функция |
0 |
0 |
Хранение |
0 |
1 |
Загрузка |
1 |
X |
Асинхронный сброс в 0 |
Рисунок 1.4.4 – логическая схема TZF
Подходящим для нас элементом для реализации функции регистра RR является регистр SR8CLE (рис 1.4.5). Данный регистр имеет 2 управляющих входа. Таблица их работы приведена ниже (Таблица 1.4.5)
Таблица 1.4.5 – Управляющие сигналы RR
Y14 |
Y8 |
Y7 |
Функция |
0 |
0 |
0 |
Хранение |
0 |
0 |
1 |
Сброс в 0 |
0 |
1 |
0 |
Логический сдвиг вправо |
1 |
0 |
0 |
Загрузка данных на вход |
Рисунок 1.4.5 – Логическая схема RB
Данная схема необходима для формирования флага ZF. Данный флаг равен 1, тогда и только тогда, когда значение RR равно 0. Для реализации данной схемы был выбран элемент NOR4. Комбинационная схема KC3 приведена на рисунке 1.4.6
Рисунок 1.4.6 – логическая схема КС3
Данная схема должна выполнять функции формирования RA, , 0. Сигнал является отрицательным значением RA и необходим для коррекции результата. Для формирования в дополнительном коде нам необходимо инвертировать все разряды RA и прибавить 1.
|
Таблица 1.4.7 – Таблица управляющих сигналов КС1
|
Полная версия статьи PDF
Ссылка для цитирования: Нашли грубую ошибку (плагиат, фальсифицированные данные или иные нарушения научно-издательской этики) ? - напишите письмо в редакцию журнала: zhurnal@vestnik-nauki.com Вестник науки СМИ ЭЛ № ФС 77 - 84401 © 2022. 16+ * |