Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
variant_2-1_teoria_kesh_pamyat__2008g.doc
Скачиваний:
4
Добавлен:
01.03.2025
Размер:
289.79 Кб
Скачать

Разработка алгоритма операции ускоренного умножения

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

Смысл операции ускоренного умножения состоит в анализе пар разрядов множителя. При этом действуют следующие правила:

  • При 00 просто произвести сдвиг суммы частичных произведений на два разряда вправо;

  • При 01 прибавить к сумме частичных произведений множимое и произвести сдвиг на два разряда вправо;

  • При 10 прибавить к сумме частичных произведений удвоенное множимое и произвести сдвиг на два разряда вправо (или произвести сдвиг суммы частичных произведений вправо на один разряд, прибавить множимое и снова произвести сдвиг);

  • При 11 вычесть из суммы частичных произведений множимое (или добавить дополнительный код множимого), произвести сдвиг на два разряда и добавить 1 к следующей (старшей) паре цифр множителя (или добавить к сумме частичных произведений множимое, сдвинуть сумму на один разряд вправо и снова повторить операцию).

Структурная схема операционного автомата алу

Анализ алгоритмов умножения и дизъюнкции позволяет разработать структуру ОА. Учитывая действия, которые требуется выполнить для реализации алгоритма, включим в состав ОА следующие элементы:

  • Два 16-разрядных регистра Рг А и Рг В для хранения входных операндов, причём регистры должны обеспечивать возможность сдвига своего содержимого вправо;

  • 16-разрядный регистр S для размещения результата операции с возможностью сдвига своего содержимого вправо;

  • 32-разрядный двоичный параллельный сумматор/вычитатель;

  • 32-разрядный двоичный параллельный сумматор;

  • 4-разрядный счётчик Сч i по модулю 16;

  • Схема сравнения на «равно» знаковых разрядов исходных операндов;

  • Cхема сравнения, для определения вида совершаемой операции;

  • Триггер переполнения Тг OV для хранения признака переполнения разрядной сетки;

  • Триггер Тг R для хранения знака произведения при операции ускоренного умножения;

  • Триггер Тг Р для хранения признака заёма из старшего разряда.

Рис 1. граф-схема алгоритма ускоренного умножения и неравнозначности

Микропрограмма операции ускоренного умножения и неравнозначности

1

0

1

0

0

1

Рис 1. граф-схема алгоритма ускоренного умножения и неравнозначности

1

0

1

0

0

1

2.3 Проектирование управляющего автомата алу Определение формата микрокоманд

Разобьем множество микроопераций Y на 6 непересекающихся подмножеств Y1, Y2, Y3, Y4, Y5, Y6:

Y1={y3, y7, y9, y15, y20, yk}

Y2={y4, y10, y18}

Y3={y1, y12, y16}

Y4={y2,y5, y8,y13, y19}

Y5={ y6,y11, y14}

Y6={ y17,y21, y22}

Множество логических условий X состоит из 9 элементов:

X={x1, x2, x3, x4, x5, x6, x7, x8, x9}

Определим размеры полей микрокоманд. Поле операторной микрокоманды будет состоять из 6 подполей - Y1, Y2, Y3, Y4 , Y5, Y6 размером 3, 2, 2, 3, 2, 2 двоичных разряда соответственно. Поле микрокоманды переадресации должно содержать номер одного из девяти логических условий - x1…x9. Для повышения гибкости процесса микропрограммирования удобно иметь возможность выбирать тождественно истинное и тождественно ложное условия. Поэтому поле Х будет занимать 4 разряда. Формат операторной микрокоманды и микрокоманды переадресации. Таблица 2.1. Список микроопераций и логических условий

y1

I:=16

y17 S:=S+A

y2

A:=R1(A)

Y18 S:=S-A

x1

F

y3

B:=R1(B)

Y19 B:=B+1

x2

A15=B15

y4

I:=i-1

Y20 I:=i-2

x3

I=0

y5

S:=0

Y21 S0:=r

x4

A0=B0

y6

S:=1

Y22 P:=1

x5

B15=1

y7

R:=0

x6

B14=1

y8

R:=1

x7

S0=1

y9

a0=0

x8

S15=1

y10

b0=0

x9

P=1

y11

P:=0

y12

S:=S+2*A

y13

OV:=1

y14

OV:=0

y15

S:=R2(S)

y16

B:=R2(B)

0

Y1

Y2

Y3

Y4

Y5

Y6

X

A1

1

3

2

2

3

2

2

4

6

Таблица кодирования микроопераций и логических условий

Таблица 2. Кодирование микроопераций и логических условий

Код

Y1

Y2

Y3

Y4

Y5

Y6

Код

X

000

Ø

Ø

Ø

Ø

Ø

Ø

0000

Константа 0

001

y3

y4

y1

y2

y6

y17

0001

X1

010

y7

y10

y12

y5

y11

y21

0010

X2

011

y9

y18

y16

y8

y14

y22

0011

X3

100

y15

y13

0100

X4

101

y20

y19

0101

X5

110

yk

0110

X6

111

0111

X7

1000

X8

1001

X9

1111

Константа 1

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]