УДК 681.325.53: 37: 004.5 В. В. ВАРЕЦА
СРАВНИТЕЛЬНЫЙ АНАЛИЗ ДВУХ СПОСОБОВ РЕАЛИЗАЦИИ ФОРМИРОВАТЕЛЕЙ ЭКВИВАЛЕНТОВ В ПРЕОБРАЗОВАТЕЛЯХ КОДОВ
Предлагается алгоритм построения таблиц законов функционирования основного нестандартного узла (формирователя эквивалентов) в преобразователях кодов по методу накопления эквивалентов. Описываются формулы для числа строк ФЭ.
1. Постановка задачи
Достоинством преобразователей кодов (ПК) по методу накопления эквивалентов по сравнению с другим методом является достаточно высокое быстродействие и возможность изменения в широких пределах соотношения между быстродействием и аппаратурными затратами.
Регулирование соотношения между быстродействием и затратами достигается путем выбора числа шагов преобразования (1,2,3,4 или более), выбора значений шагов, варианта декомпозиции многоразрядного ПК на блоки, а также благодаря использованию последовательной или параллельной стратегии обнуления входных разрядных счетчиков в многошаговых ПК.
Целью данной работы является анализ структуры функционирования ПК и формулировка алгоритма построения таблиц законов функционирования ФЭ для ПК с различным числом шагов преобразования:
- определение числа строк ФЭ, аппаратурные затраты которых пропорциональны их числу;
- сравнительный анализ способов реализации ФЭ.
2. Последовательная стратегия использования шагов преобразования
Последовательная стратегия использования шагов схемно реализуется более просто. Максимальное число тактов преобразования любого к-ичного входного числа в двоичный код на выходе ПК для 2-шагового N2, 3-шагового N3 и 4-шагового N4 ПК определяется соответственно по формулам:
^=](К-1)/а[+а-1; N■3 =] (К-1 )/Ь [+] (Ь-1 )/а[+а-1; (1)
^=](К-1)/с[+](с-1)/Ь[+](Ь-1)/а[+а-1,
где К - основание системы счисления на входе; а - второй шаг преобразования (а>1); Ь -третий шаг преобразования (а<Ь<с); с - четвертый шаг преобразования; ] [ - скобки означают округление до меньшего целого. Первый шаг всегда равен 1.
При последовательной стратегии использования шагов обнуление входных разрядных счетчиков вначале ведется с наибольшим шагом [1].
Затем, когда все разряды имеют значение меньшее наибольшего
Шаги
1 2 3 4
1 а Ь с
С: Б; Е; Р;
выполняется преобразование с шагом 1.
Для получения информации о превышении цифрой X; шага преобразования используются тригерры регистров состояния (табл. 1) и дешифраторы превышения.
Дешифраторы превышения реализуются на базе комбинационных схем. Условие формирования значений сигналов с выходов дешифра-
торов превышения определяется выражениями:
С; =
=
Е; =
Р =
|1,Х; > 1; [0,Х; = 0
(2)
11, X; > а;
|0,Х; < а, (3)
;
|1,Х1 > Ь;
|0,Х; <Ь, (4) |1,Х: > с;
[0,Х: < с. (5)
3. Параллельная стратегия использования шагов преобразования
При применении параллельной стратегии использования различных шагов преобразования одновременно в различных разрядах может вестись уменьшение показаний разрядных счетчиков на величину значения наибольшего из шагов с,Ь,а или 1 (для 4-шагового преобразователя кодов)[2,3].
При этом значение цифры
Х;(1 + 1) = Х:(1)-у , (6)
где у = тах{с,Ь,а,1}.
Применение параллельной стратегии использования различных шагов преобразования одновременно в различных разрядах уменьшает максимальное число тактов преобразования в 2-шаговом ПК - от 5-ти до 4-х, а в 3-шаговом ПК от 4-х до 3-х. Чтобы определить
целесообразность использования параллельной страте- Таблица 2
гии, необходимо получить ряд оценок сложности ФЭ для двух стратегий, а также алгоритм построения закона функционирования ФЭ[2].
Оптимальные значения шагов преобразования для параллельной стратегии можно получить путем моделирования (табл. 2) или используя специальное программное обеспечение «Converter» [2]. В табл.2 NT означает номер такта преобразования.
Для одношагового ФЭ при числе разрядов р=2 имеем следующую таблицу ФЭ (табл. 3). В табл. 3 S означает общий вид эквивалента.
При построении таблиц законов функционирования ФЭ для параллельной стратегии используется полный лекси-ко-графический перебор всех значений шагов преобразования (табл. 4-6).
Из анализа табл.3 следует, что в верхней ее части для двухшагового ПК располагается 2р комбинаций младшей группы переменных.
Затем следует, что для каждой комбинации старшей группе с числом единиц j следует записать 2р-j различных комбинаций в младшей группе, имеющих р-j нулей, и перебрав все значения этих разрядов, получим 2р-j комбинаций с единицами.
Число таких всевозможных комбинаций с j единицами в старшей группе равняется Cp .
Таким образом, для двухшагового ПК получим число строк ФЭ по формуле.
j=p-i . .
N2 = 2p + £ Cp • 2p-j +1 (6)
j=i
После исследования числа строк таблиц ФЭ для различного количества разрядов (рисунок) было получено выражение:
NT К=12 Набор шагов 1,4
11 10 9 8 7 6 5 4 3 2 1 0
1 7 6 5 4 3 2 1 0 2 1 0 0
2 3 2 1 0 2 1 0 0 1 0 0 0
3 2 1 0 0 1 0 0 0 0 0 0 0
4 1 0 0 0 0 0 0 0 0 0 0 0
5 0 0 0 0 0 0 0 0 0 0 0 0
NT К=12 Набор шагов 1,2,4
11 10 9 8 7 6 5 4 3 2 1 0
1 7 6 5 4 3 2 1 0 1 0 0 0
2 3 2 1 0 1 0 0 0 0 0 0 0
3 1 0 0 0 0 0 0 0 0 0 0 0
4 0 0 0 0 0 0 0 0 0 0 0 0
Таблица 3
i Шаг1 S
С 2 С1
0 0 0 0
1 0 1 К 0
2 1 0 К1
3 1 1 К1 + К 0
N тЭ = (m + 1)p,
(7)
где т - число различных шагов преобразования.
Определение числа строк ФЭ является комбинаторной задачей.
Количество и значения коэффициентов Ср определяются числами треугольника Паскаля (табл. 7). _ _
Результаты расчета Кт для т = 1,4 и р = 1,5 представлены в табл. 8
Таблица 4
i D2 D1 С 2 С1 S
0 0 0 0 0 0
1 0 0 0 1 К 0
2 0 0 1 0 К1
3 0 0 1 1 К1 + К0
4 0 1 0 1 a К 0
5 0 1 1 1 К1 + аК0
6 0 1 1 0 a К1
7 1 0 1 1 аК1 + К0
8 1 0 1 1 аК1 + аК0
Таблица 5
0 1 2
3
4
5
6
D2D1 С 2 С
0 0 0 0 0 0 0 0
1 1
0 0
1 0 1 1 x 1
S
К 0 К1
К1 + К 0 a К 0 a К1
аК1 + аК0
0
1 Е 2 Е1 02 01 С 2 С1 8
0 0 0 0 0 0 0 0
1 0 0 0 0 0 1 К 0
2 0 0 0 0 1 К1
3 0 0 0 0 1 1 К1 + К 0
4 0 0 0 1 1 а К 0
5 0 0 0 1 1 1 К1 + аК0
6 0 0 1 0 1 а К1
7 0 0 1 0 1 1 аК1 + К0
8 0 0 1 1 1 1 аК1 + К0
9 0 0 0 1 1 Ь К 0
10 0 1 0 1 1 1 К1 + ЬК0
11 0 1 1 1 1 1 аК1 + ЬК0
12 1 0 1 0 1 Ь К1
13 1 0 1 0 1 1 ЬК1 + К0
14 1 0 1 1 1 1 ЬК1 + аК0
15 1 1 1 1 1 1 ЬК1 + ЬК0
Таблица 6 График выигрыша (экономии) числа "строк параллельного ФЭ по сравнению со .способом непосредственного выделения всех комбинаций ФЭ в параллельном ПК соответственно для двухшагового, трехша-
Таблица 7
Р=0 1
Р=1 1 1
Р=2 1 2 1
Р=3 1 3 3 1
Р п 1 4 6 4 1
Р п 1 5 10 10 5 1
Таблица 8
т Р
1 2 3 4 5
1 2 4 8 16 32
2 3 9 27 81 243
3 4 16 64 256 1024
4 5 25 125 625 3125
к2 0,75 1,125 1,69 2,53 3,8
к3 0,67 1,33 2,67 5,33 10,66
к4 0,625 1,56 3,91 9,76 24,41
гового, четырехшагового ПК определяется формулами:
Кт _ N2 _ 3Р
к2 _■
2 • N1 2 • N1 2 • 2р 4Р
кз _
к4 _-
3 • 2Р ' 5Р
(8) (9)
4•2> ■ (10)
Обобщенная формула экономии числа строк параллельного ФЭ для любого числа шагов преобразования т описывается выражением:
т^ • (11)
Для двухшагового ПК с различным числом разрядов р (значения р приводятся в скобках) имеем систему формул :
N2(1) _ 2Р +1, N^2) _ 22 + С2 • 22-1 +1 _ 22 + 2• 2 +1 _ 4 + 4 +1 _ 9,
к _
N2(3) _ 23 + С3 • 23-1 + С3 • 2^ +1 _ _ 23 + 3 • 22 + 3 • 2 +1 _ 8 +12 + 6 +1 _ 27,
N2(4) _ 24 + С4 • 23 + С4 • 22 + С34 • 2 +1 _ 24 + 4 • 23 + 6 • 22 + 4 • 2 +1 _ _ 16 + 32 + 24 + 8 +1 _ 81
N2(5) _ 25 + С5 • 24 + С2 • 23 + С5 • 22 + С4 • 2 +1 _ _ 32 + 5 • 24 +10 • 23 +10 • 22 + 5 • 2 +1 _ 32 + 80 + 80 + 40 +10 +1 _ 243.
3-2
Анализ таблиц ФЭ для других значений т показывает, что число строк N определя-
ется формулой:
^ = (т + 1)р ;т = 1,2,... (13)
График изменения к 2 , кз, к 4 в функции от р числа разрядов ФЭ
4. Алгоритм построения таблиц законов функционирования ФЭ
Анализ табл. 3-6 позволяет сформулировать следующий алгоритм построения законов функционирования ФЭ в ПК с параллельным использованием шагов преобразования:
1. Выполнить полный перебор (начиная с нулевой комбинации) всех р разрядных двоичных комбинаций младшей группы переменных состояний. При этом в оставшихся т-1 старших группах (т-число различных шагов преобразования) все р разрядов переменных каждой группы принимают нулевые значения.
2. После получения единичной комбинации переменных группы, где выполнялся перебор, перейти к перебору значений переменных соседней старшей группы, исключив при этом нулевую комбинацию.
3. Определить число нулей в очередной комбинации значений переменных текущей
группы. В столбце переменных текущей группы очередную комбинацию повторить 21 раза. Во всех р разрядах переменных групп, более старших по отношению к текущей группе, следует выписать нулевые значения, а в разрядах, где переменные текущей группы имеют единичные значения, во всех более младших группах следует также записать единицы, перебрав все различные двоичные значения ( от 000.. ..0 до 111...1) в 1 нулевых разрядах очередной комбинации текущей группы.
4. После получения единичной комбинации переменных текущей группы следует сравнить набор текущей группы j с числом шагов преобразования т. Если Кт, то следует перейти к перебору значений переменных более старшей группы с номером 1+1 (исключая нулевую комбинацию переменных). Если 1=т, то переходят к вычислению эквивалентов.
5. Для получения десятичных значений эквивалента строки j таблицы закона функционирования ФЭ следует просуммировать степени основания к, соответствующие единичным значениям разрядов двоичных комбинаций переменных состояний текущей группы, а затем умножить сумму на величину шага преобразования, соответствующего текущей группе.
6. Выполнить перевод десятичного значения эквивалента в двоичную систему счисления.
7. Дооформить таблицу закона функционирования ФЭ путем указания всех исходных данных: основания системы счисления на входе, числа разрядов на входе, на выходе, числа шагов преобразования, значений шагов преобразования и стратегию использования шагов - параллельную.
Детальное системное проектирование многошаговых и многоблочных преобразователях кодов выполняется путем анализа аппаратурных затрат различных вариантов декомпозиции многоразрядного ПК на блоки в соответствии с методикой [4].
Выводы
Основные результаты: 1) Рассмотрены структуры и функционирование преобразователя кодов по методу накопления эквивалентов с применением параллельной стратегии использования шагов преобразования, что по сравнению с последовательной стратегией позволяет в двухшаговом параллельном ПК сократить число тактов преобразования ее с 5-ти до 4-х (повышать быстродействие на 20%), а в трехшаговом параллельном ПК сократить число тактов преобразования с 4-х до 3-х (повышать быстродействие на 25%).
2) Получено аналитическое выражение для определения числа строк в таблицах законов функционирования ФЭ в ПК с параллельной стратегией использования шагов преобразования в функции от основания системы счисления на входах, числа различных шагов преобразования т и числа переменных Р на ФЭ.
3) Проанализированы два способа реализации ФЭ в ПК с параллельной стратегией использования шагов: а) на основе совокупности дешифраторов ДШ, выделяющих все строки ФЭ (затраты пропорциональны числу строк ФЭ) и б) на основе двух дешифраторов ДТТТ1 и ДШ2, функционирующих раздельно, младшие из которых управляются состоянием триггеров старшего регистра состояний.
Практическая значимость. Проведенные исследования позволяют ускорить этап системного проектирования ПК с параллельной стратегией использования шагов (повысить быстродействие ПК и уменьшить аппаратурные затраты по построению основного нестандартного узла ФЭ и всего ПК в целом).
Список литературы: 1. А.С. 1647908 5НОЗМ 7/12. Преобразователь двоично-К-ичного кода в двоичный код /Н.Я.Какурин, Ю.К. Кирьяков, А.Н. Макаренко // Открытия, изобретения. 1984. №17. С. 262-263. 2. Какурин Н.Я., В. В. Вареца, С.Н. Коваленко. Параллельная стратегия использования шагов в двухшаго-вых преобразователях кода //АСУ и приборы автоматики. 2007. Вып. 141. С.29-36. 3. Коваленко С.Н. Двухшаговый преобразователь кодов с параллельным использованием шагов преобразования //АСУ и приборы автоматики. 2007. Вып.140. С.103-109. 4. Какурин Н.Я., Лопухин Ю.В., Макаренко А.Н., Замалеев Ю. С. Системное проектирование преобразователей кодов дробных чисел по методу накопления эквивалентов //АСУ и приборы автоматики. 2009. Вып. 146. С. 33-39.
Поступила в редколлегию 28.02.2010 Вареца Виталий Викторович, аспирант кафедры автоматизации проектирования вычислительной техники ХНУРЭ. Научные интересы: проектирование программного обеспечения, автоматизация проектирования цифровых устройств. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 70-21-326.