Научная статья на тему 'ПРОЕКТИРОВАНИЕ БЛОКА ОПЕРАЦИЙ ПРОЦЕССОРА ЭВМ'

ПРОЕКТИРОВАНИЕ БЛОКА ОПЕРАЦИЙ ПРОЦЕССОРА ЭВМ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
36
8
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПРОЕКТИРОВАНИЕ ПРОЦЕССОРА / СИНТЕЗ / БЛОК ОПЕРАЦИЙ ЭВМ / СДВИГ КОДА ВПРАВО / УМНОЖЕНИЕ В ДОПОЛНИТЕЛЬНОМ КОДЕ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Харке Д.А., Пономаренко А.К.

В данной статье рассматривается проблема анализа и синтеза блока операций процессора ЭВМ для операций умножения и сдвига кода вправо

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Харке Д.А., Пономаренко А.К.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

DESIGNING A BLOCK OF COMPUTER PROCESSOR OPERATIONS

This article deals with the problem of analysis and synthesis of a block of computer processor operations for operations of multiplication and code shift to the right.

Текст научной работы на тему «ПРОЕКТИРОВАНИЕ БЛОКА ОПЕРАЦИЙ ПРОЦЕССОРА ЭВМ»

УДК 621.3.049.779

Харке Д.А.

Студент кафедры компьютерных систем и технологий (№12) Национальный исследовательский ядерный университет МИФИ

(г. Москва, Россия)

Пономаренко А.К.

Доцент кафедры физического воспитания (№15) Национальный исследовательский ядерный университет МИФИ

(г. Москва, Россия)

ПРОЕКТИРОВАНИЕ БЛОКА ОПЕРАЦИЙ ПРОЦЕССОРА ЭВМ

Аннотация: в данной статье рассматривается проблема анализа и синтеза блока операций процессора ЭВМ для операций умножения и сдвига кода вправо.

Ключевые слова: проектирование процессора, синтез, блок операций ЭВМ, сдвиг кода вправо, умножение в дополнительном коде.

1. Проектирование блока операций 1.1.Формат операндов и регистров

Целые числа с фиксированной запятой представлены в дополнительном коде. Под запись числа отводится четыре разряда. Самый левый разряд используется для представления знака.

Целое число X с фиксированной запятой представляется в виде: Х= ±£Г=1Х;*2П- = ±(х1*2п-1 + х2*2п-2 + - + хп*20)

X = Х1Х2 ... хп

Число Х в дополнительном коде, состоящее из 4 или 8 разрядов, где первый разряд задаёт знак числа, может быть представлено в виде:

ш =\ао.а}а?а?>

[ {а0.а1а2а3

+ 0.001,

а0 = 0, а0 = 1

в дополнительном коде [Ща =

&0. 0.10-2 0.5 0.7 ,

а0.а1а2а3а4а5а6а7а8 + 0.001,

А > 0 А < 0

а0 = 0, а0 = 1

4-разрядное число

А > 0 А < 0

8-

разрядное число в дополнительном коде

Таблица 1.1 Таблица представления чисел в регистрах

Хо XI х2 Хз х4 х5 Хб X?

Операция умножение

И*» 1^3 1^4

Знаковый Старший Младший

разряд цифровой цифровой

Операция сдвига

Ш1о и?!

Старший Младший

цифровой цифровой

Регистры операндов

ИАо ИЙ! ИА2 1*А3 яа5 ЙА6 |?а7

Знаковый Старший Младший

разряд цифровой цифровой

Р1В„ ЙВ, ВВ; ЯВз

Знаковый Старший Младший

разряд цифровой цифровой

1.2.Алгоритмы выполнения операций

1.2.1. Алгоритм операции умножения

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

1.2.2. Алгоритм операции сдвига вправо

Второй операнд сдвигается вправо на число двоичных разрядов, определяемое адресом первого операнда. Адрес первого операнда не является адресом данных; два его разряда показывают на сколько разрядов нужно произвести сдвиг. В сдвиге участвуют все 4 разряда второго операнда. В освобождающиеся старшие разряды вводятся нули. Очередной выдвигаемый бит устанавливает флаг CF. Устанавливается также флаг ZF - флаг нуля (1- результат нулевой, 0 результат ненулевой).

1.3. Функциональная схема блока операций

1.3.1. Построение функциональной схемы блока операций

На рисунке 1.3.1 представлена функциональная схема блока операций

Рисунок 1.3.1 - Функциональная схема блока операций

1.3.2. Функциональное назначение блоков элементов

Таблица 1.3.2 Функциональное назначение блоков элементов

Обозначение Назначение

ЯЛ Регистр первого операнда^), 8 разрядов, арифметический сдвиг вправо, параллельная загрузка, хранение

ЯБ Регистр второго операнда(Б), 4 разряда, арифметический сдвиг вправо на 1 разряд, параллельная загрузка, хранение

Знаковый разряд числа Б(ЯБ0)

Б2 Текущий разряд числа Б (ЯБ3)

RR Регистр результата, 8 разрядов, хранение, сброс в 0, логический сдвиг вправо SRI = 0

TZF Триггер флага равенства нулю ZF

TCF Триггер флага переноса CF

КС1 Формирование 0, ЯЛ, ЯА

КС2 Передача ЯВ, ЯЯ

КС3 Формирование флага ЯЯ = 0

SM Сумматор, 8 разрядов

1.4. Синтез узлов Блока операций

Синтез схемы производится в среде проектирования Xilinx Foundation. 1.4.1. Синтез RA

Подходящим для нас элементом для реализации функции регистра RA является регистр SR8CLE (рис 1.4.1). Данный регистр имеет 2 управляющих входа. Таблица их работы приведена ниже (Таблица 1.4.1) Таблица 1.4.1 - Управляющие сигналы RA

Y2 Y1 Функция

0 0 Хранение

0 1 Загрузка

1 0 Арифметический сдвиг

вправо

Рисунок 1.4.1 - Логическая схема ЯЛ 1.4.2. Синтез TZF

Триггер TZF выполняет функцию хранения значения флага ZF. Флаг ZF это признак равенства нулю.

Таблица 1.4.2 - Управляющие сигналы КВ

РРСЕ

Y13 Y10 Функция

0 0 Хранение

0 1 Загрузка

1 X Асинхронный сброс в 0

0 Щ СЕ

Рисунок 1.4.2 - логическая схема TZF 1.4.3. Синтез КБ

Подходящим для нас элементом для реализации функции регистра является регистр SR4CLE (рис 1.4.3). Данный регистр имеет 2 управляющих входа. Таблица их работы приведена ниже (Таблица 1.4.3)

Таблица 1.4.3 - Управляющие сигналы ЯВ

Y6 Y5 Функция

0 0 Хранение

0 1 Загрузка

1 0 Арифметический сдвиг вправо

Рисунок 1.4.3 - Логическая схема ЯБ 1.4.4. Синтез TZF

Триггер TZF выполняет функцию хранения значения флага ZF. Для его реализации наиболее подходит элемент FDCE (рис 1.4.4). На вход D приходит младший разряд с регистра ЯК Триггер имеет 2 управляющих входа. Таблица их работы приведена ниже (Таблица 1.4.4)

Таблгща 1.4.4 - Управляющие сигналы

КБ

РОСЕ

У13 У11 Функция

0 0 Хранение

0 1 Загрузка

1 X Асинхронный сброс в 0

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

РШ-

У11

с-

Р о СЕ >С 01.1}

Рисунок 1.4.4 - логическая схема TZF

1.4.5. Синтез RR

Подходящим для нас элементом для реализации функции регистра ЯЯ является регистр $К8СЬЕ (рис 1.4.5). Данный регистр имеет 2 управляющих входа. Таблица их работы приведена ниже (Таблица 1.4.5)

Таблица 1.4.5 - Управляющие сигналы ЯЯ

Y14 Y8 Y7 Функция

0 0 0 Хранение

0 0 1 Сброс в 0

0 1 0 Логический сдвиг вправо

1 0 0 Загрузка данных на вход

Рисунок 1.4.5 - Логическая схема ЯВ 1.4.6. Синтез КС3

Данная схема необходима для формирования флага ZF. Данный флаг равен 1, тогда и только тогда, когда значение RR равно 0. Для реализации данной схемы был выбран элемент КОЯ4. Комбинационная схема КС3 приведена на рисунке 1.4.6

Рисунок 1.4.6 - логическая схема КС3 1.4.7. Синтез КС1

Данная схема должна выполнять функции формирования ЯЛ, ЯА, 0. Сигнал ЯА является отрицательным значением ЯЛ и необходим для коррекции результата. Для формирования ЯА в дополнительном коде нам необходимо инвертировать все разряды ЯЛ и прибавить 1.

Таблица 1.4.7 - Таблица управляющих сигналов КС1

Входы Выход Назначение

У3 У4 ЯЛ1 И

0 0 0 0 Формирование «0»

0 0 1 0

0 1 0 0 Формирование ЯЛ

0 1 1 1

1 0 0 1 Формирование ЯА

1 0 1 0

Г4 У 4

У3 6 7 5 4

73 2 3 1 0

ЯА 1 ЯЛ1 ЯА 1

F¿ = К3ЯА1 + Г4 ЯА1

У4 7

4

Г3 П 0

73 0 и 0 0

ЯА ЯЛ1 ЯА

1 1

Рисунок 1.4.7 - Логическая схема КС1 1.4.8. Синтез КС2

Комбинационная схема 2 выбирает и подаёт на сумматор ЯВ или ЯЯ. Для этого был выбран элемент М2_1. КС2 будет иметь 1 управляющий сигнал Y12.

Таблица 1.4.8 - Управляющий сигнал для КС2

Y12 Функция

0

1 ЯВ

Рисунок 1.4.8 - Логическая схема КС2

1.4.9. Сумматор SM

Сумматор SM производит сложение двух восьмиразрядных чисел. Для реализации SM был выбран сумматор ЛОВ8. Логическая схема SM представлена на рисунке 1.4.9. SM имеет управляющий сигнал Y9. Данный сигнал служит для

выполнения корректирующего шага при переводе числа ЯЛ в ЯА, так как при переводе прибавляется 1.

Таблица 1.4.9 - Информационные входы сумматора

Л7 Л6 Л5 Л4 Л3 Л2 Л1 Л0

01_0 KS1_2 KS1_3 KS1_5 KS1_6 KS1_7

В7 В6 В5 В4 В3 В2 В1 В0

ЯЯ0 ЯЯ1 ЯЯ2 ЯЯ3 KS3_0 KS3_1 KS3_2 KS3_3

Рисунок 1.4.9 - Логическая схема SM

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

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

СПИСОК ЛИТЕРАТУРЫ:

Ковригин Б. Н. Алгоритмы умножения. 2007. С. 11-13

Harke D.A.

Student of the Department of Computer Systems and Technologies (No. 12) National Research Nuclear University MEPhI (Moscow, Russia)

Ponomarenko A.K.

Associate Professor of the Department of Physical Education (№15) National Research Nuclear University MEPhI (Moscow, Russia)

DESIGNING A BLOCK OF COMPUTER PROCESSOR OPERATIONS

Abstract: this article deals with the problem of analysis and synthesis of a block of computer processor operations for operations of multiplication and code shift to the right.

Keywords: processor design, analysis, computer operations block, code shift to right, multiplication in two's complement code.

i Надоели баннеры? Вы всегда можете отключить рекламу.