КОМПЬЮТЕРНАЯ
ИНЖЕНЕРИЯ И
ТЕХНИЧЕСКАЯ
ДИАГНОСТИКА
УДК 681.325.53
СРАВНИТЕЛЬНАЯ ОЦЕНКА ПОСЛЕДОВАТЕЛЬНОЙ И ПАРАЛЛЕЛЬНОЙ СТРАТЕГИИ ИСПОЛЬЗОВАНИЯ ШАГОВ ПРЕОБРАЗОВАНИЯ ДРОБНЫХ ЧИСЕЛ
КАКУРИНН.Я., МАКАРЕНКО А.Н.
Рассматривается последовательная и параллельная стратегии использования шагов преобразования в преобразователях “код-код” дробных чисел. Показывается, что параллельная стратегия преобразования обладает большим быстродействием по сравнению с последовательной, но и требует больших аппаратурных затрат.
Существующие преобразователи кодов по методу накопления эквивалентов могут иметь различное конечное число шагов преобразований.
Одношаговый преобразователь кодов (ПК) реализует преобразование кода (обнуление входных счетчиков) с постоянным шагом, равным единице, а относительно высокое (по сравнению с другими аппаратными способами преобразования) его быстродействие объясняется высокой степенью локального параллелизма (все старшие разрядные цифры преобразуются одновременно).
При необходимости получить более высокое быстродействие следует использовать схемотехнические решения для двухшагового и трехшагового ПК по методу накопления эквивалентов.
Сравнительный анализ алгоритмов преобразования ПК целых и дробных чисел, выполненный в [1,2], показал, что в ПК дробных чисел отсутствует заключительный этап трансляции младшей цифры тетрады, и позволил получить формулы максимального числа тактов преобразования одношагового, двухшагового и трехшагового ПК соответственно:
Nf =
K -1
b
+
b -1 a
+ a -1
(3)
Анализ данных, рассчитанных по формулам (1)-(3), показывает, что для К=10
NД = 5 (a=4);
NД = 4 (a=2,b=4)
(a=2, b=4). Таким образом, быстродействие двухшагового ПК в 1,8 раза выше быстродействия одношагового ПК, а быстродействие трехшагового ПК в 2,25 раза превышает быстродействие одношагового ПК.
Представляет как теоретический, так и практический интерес дальнейший анализ целесообразности и возможности повышения быстродействия ПК по методу накопления эквивалентов путем дальнейшего увеличения числа шагов в наборах до четырех, пяти и более.
Рассмотрим этот вопрос для ПК с последовательным и параллельным использованием шагов преобразования. Сравнительная оценка двух типов стратегий шагов преобразования в имеющихся работах [1,4] не проводилась.
По аналогии с двухшаговым и трехшаговым ПК дробных чисел можно получить формулы для максимального числа тактов преобразования дробных чисел четырехшагового, пятишагового ПК и более в виде:
Nf = ](K-1)/c[+](c-1)/b[+](b-1)/a[+a-1; (4)
Nf = ](K-1)/d[+](d-1)/c[+](c-1)/b[+
+](b-1)/a[+a-1; (5)
Nf = ](K-1)/e[+](e-1)/d[+](d-1)/c[+](c-1)/ /b[+](b-1)/a[+a-1; (6)
Nf = ](K- 1)/f[+] (f- 1)/e[+] (e-1)/ d[+] (d-1)/ /c[+](c-1)/b[+](b-1)/a[+a-1; (7)
N f = ](K-1)/g[+](g-1)/f[+](f-1)/e[+](e-1)/ /d[+](d- 1)/c[+](c- 1)/b[+](b-1)/a[+a-1; (8)
Nf = ](K-1)/h[+](h-1)/g[+](g-1)/f[+](f-1)e[+](e--1)/d[+](d-1)/c[+](c-1)/b[+](b-1)/a[+a-1; (9)
Nf = ](K-1)/J[+](J-1)/h[+](h-1)/g[+](g-1)/f[+](f--1)/e[+](e-1)/d[+](d-1)/c[+](c-1)/b[+
+ ](b-1)/a[+a-1; (10)
Nf = ](K-1)/l[+](l-1)/J[+](J-1)/h[+](h-1)/g[+](g--1)/f[+](f-1)/e[+](e-1)/d[+](d-1)/c[+](c-1)/b[+
+](b-1)/a[+a-1. (11)
Значения шагов в наборах подчиняются принципу упорядоченности:
А^Р=К-1;
Nf
K -1
a
+ a -1;
(1)
(2)
1<a<b ; a<b<c ; b<c<d ; c<d<e ; d<e<f ; e<f<g ; f<g<h ; g<h<j ; h<j<l.
72
РИ, 1999, № 1
Максимальное значение самого старшего шага в наборе равно К-1. С увеличением числа шагов i в наборе существенно возрастает количество вычислений по формуле Nt для выбора оптимального набора шагов.
Так, для одношагового ПК имеем всего один шаг, равный 1, для двухшагового ПК число различных наборов шагов 1, а равно К-1 и соответственно К-2 значений N2 (при К= 12 имеем 10 значений N2 ,так как 1<a<11); для трехшагового ПК при К=12 имеется уже 45 наборов 1, a, b.
Анализ количества вариантов различных наборов шагов в зависимости от числа шагов i в наборе и основания системы К показывает, что они соответствуют числам арифметического треугольника Паскаля в прямоугольной форме, так как рассматриваемая задача является типичной комбинаторной задачей:
Таблица 1
К n
2 0 1
3 1 1 1
4 2 1 2 1
5 3 1 3 3 1
6 4 1 4 6 4 1
7 5 1 5 10 10 5 1
8 6 1 6 15 20 15 6 1
9 7 1 7 21 35 35 21 7 1
10 8 1 8 28 56 70 56 28 8 1
11 9 1 9 36 84 126 126 84 36 9 1
12 10 1 10 45 120 210 252 210 120 45 10
13 11 1 11 55 165 330 462 462 330 15 55
0 1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10 11
ггч к ___
Tn+1 — Tn
0
k +1
-Tk при всех n>0 и всех k [3].
Известно, что числа Tr треугольника Паскаля полностью задаются следующими равенствами:
Т00 = 1; Tk = 0 при k ф 0;
Соответствующие номеру строки n треугольника Паскаля значения основания К и соответствующие номеру столбца k число шагов в наборе i приведено рядом с указанными значениями.
В табл. 1 представлены расчетные значения максимального числа тактов преобразования четырехшагового ПК NД для всех 120 вариантов набора 1,a, b, c.
Сравнение с трехшаговым ПК показывает, что максимальное число тактов преобразования четырехшагового ПК дробных чисел N4 не уменьшилось (N4 = N3 =4).
Анализ формул (2)-(11) свидетельствует о том, что значение Nt не может быть меньше числа квадратных скобок (значение скобки не меньше 1) плюс уменьшенное на 1 значение второго шага а. Поэтому (с точки зрения минимума значения Nt) целесообразно при i > 3 выбирать а=2.
В ПК с параллельным использованием шагов преобразования максимальное число тактов преобразования можно найти путем моделирования процесса преобразования всех возможных значений цифр преобразуемого числа для различных наборов шагов.
1,a,b,c N Д 1,a,b,c NД 1,a,b,c NД 1,a,b,c N Д
1,2,3,4 5 1,2,8,9 6 1,3,8,11 6 1,5,7,8 7
1,2,3,5 5 1,2,8,10 6 1,3,9,10 6 1,5,7,9 7
1,2,3,6 4 1,2,8,11 6 1,3,9,11 6 1,5,7,10 7
1,2,3,7 5 1,2,9,10 7 1,3,10,11 7 1,5,7,11 7
1,2,3,8 5 1,2,9,11 7 1,4,5,6 6 1,5,8,9 7
1,2,3,9 5 1,2,10,11 7 1,4,5,7 6 1,5,8,10 7
1,2,3,10 6 1,3,4,5 6 1,4,5,8 6 1,5,8,11 7
1,2,3,11 6 1,3,4,6 5 1,4,5,9 6 1,5,9,10 7
1,2,4,5 5 1,3,4,7 5 1,4,5,10 6 1,5,9,11 7
1,2,4,6 4 1,3,4,8 5 1,4,5,11 7 1,5,10,11 7
1,2,4,7 4 1,3,4,9 6 1,4,6,7 6 1,6,7,8 8
1,2,4,8 4 1,3,4,10 6 1,4,6,8 6 1,6,7,9 8
1,2,4,9 5 1,3,4,11 6 1,4,6,9 6 1,6,7,10 8
1,2,4,10 5 1,3,5,6 5 1,4,6,10 6 1,6,7,11 8
1,2,4,11 5 1,3,5,7 5 1,4,6,11 6 1,6,8,9 8
1,2,5,6 5 1,3,5,8 5 1,4,7,8 6 1,6,8,10 8
1,2,5,7 5 1,3,5,9 5 1,4,7,9 6 1,6,8,11 8
1,2,5,8 5 1,3,5,10 5 1,4,7,10 6 1,6,9,10 8
1,2,5,9 5 1,3,5,11 6 1,4,7,11 6 1,6,9,11 8
1,2,5,10 5 1,3,6,7 5 1,4,8,9 6 1,6,10,11 8
1,2,5,11 6 1,3,6,8 5 1,4,8,10 6 1,7,8,9 9
1,2,6,7 5 1,3,6,9 5 1,4,8,11 6 1,7,8,10 9
1,2,6,8 5 1,3,6,10 5 1,4,9,10 7 1,7,8,11 9
1,2,6,9 5 1,3,6,11 5 1,4,9,11 7 1,7,9,10 9
1,2,6,10 5 1,3,7,8 6 1,4,10,11 7 1,7,9,11 9
1,2,6,11 5 1,3,7,9 6 1,5,6,7 7 1,7,10,11 9
1,2,7,8 6 1,3,7,10 6 1,5,6,8 7 1,8,9,10 10
1,2,7,9 6 1,3,7,11 6 1,5,6,9 7 1,8,9,11 10
1,2,7,10 6 1,3,8,9 6 1,5,6,10 7 1,8,10,11 10
1,2,7,11 6 1,3,8,10 6 1,5,6,11 7 1,9,10,11 11
РИ, 1999, № 1
В работе [4] было показано, что двухшаговый набор 1,4 предпочтительнее набора 1,2, так как обеспечивает при K=10 преобразование любого дробного числа за четыре такта вместо пяти. Аналогичное моделирование, проведенное для наборов с другим числом шагов i, приведено в табл.2.
Из табл.2 следует, что трехшаговый (1,2,4) и четырехшаговый (1,2,4,8) наборы обеспечивают преобразование дробных чисел в ПК параллельного типа за три такта, пятишаговый (1,2,3,4,5), шестишаговый (1,2,3,4,5,8), семишаговый (1,2,3,4,5,6,8) и
73
Таблица 2
(1,2,3,4,5,6,7) — за два такта преобразования. Восьмишаговый набор шагов (1,2,3,4,5,6,7,8) также позволяет выполнить преобразование за два такта.
И только девятишаговый набор (1,2,3,4,5,6,7,8,9) при К=10 требует всего одного такта преобразования.
Обобщая на случай любого К, легко установить, что ПК параллельного типа при числе шагов в наборе i=К-1 обеспечивает преобразование любого числа за один такт (полное обнуление всех разрядных счетчиков).
В ПК целых чисел при i=K-1 преобразование любого числа выполняется за два такта (первый такт — обнуление старших разрядных счетчиков; второй — трансляция младшей тетрады).
На рисунке приведены минимально возможные значения максимального числа тактов преобразования ПК дробных чисел с последовательным использованием шагов преобразования NposI и Npar (для ПК с параллельным использованием различных шагов преобразования) при К= 10 и J = 1, K -1. График изменения NtposI и Npar в зависимости от значения i приведен на том же рисунке.
Из рисунка следует, что ПК с параллельным использованием шагов преобразования для любого числа шагов в наборе (i>1) обеспечивают меньшее число тактов преобразования, чем ПК последовательного типа.
Литература. 1. Какурин Н.Я. Выбор величин шага преобразования в преобразователях код-код //АСУ и приборы автоматики. 1991. Вып.97. С. 14-17. 2. A.C. 1647908 H03M 7/ 12. Преобразователь двоично-К-ичного кода в двоичный код / Н.Я.Какурин, Ю.К.Кирьяков, АН.Макаренко // Открыт., изобрет. 1991. N 17. С.262-263. 3. А.С. 1783618 НОЗМ 7112. Преобразователь двоично-К-ичного кода в двоичный код / Н.Я.Какурин, А. Н. Макаренко, Д.Ю.Исха-ков, В.АТолмацкий //Открыт., изобрет. 1992. N 47. С.218. 4. Макаренко А.Н. Быстродействующий преобразователь двоично-К-ичного кода в двоичный код // АСУ и приборы автоматики. 1993. Вып. 99. С. 47-55.
Поступила в редколлегию 20.01.99 Рецензент: д-р техн. наук Кривуля Г.Ф.
Таблица 2
Номер Преобразуемые цифры Преобразуемые цифры
такта 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
n Набор шагов 1, 2, 4 Набор 1, 2, 4, 8
1 5 4 3 2 1 0 1 0 0 0 1 0 3 2 1 0 1 0 0 0
2 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
n Набор 1,2,3,4,5 Набор 1,2,3,4,5,8
1 4 3 2 1 0 0 0 0 0 0 1 0 2 1 0 0 0 0 0 0
2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
n Набор 1,2,3,4,5,6,8 Набор 1,2,3,4,5,6,7
1 1 0 1 0 0 0 0 0 0 0 2 1 0 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
n Набор 1,2,3,..,7,8 Набор 1,2,3,4,5,..9
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0 0 0 0
График изменения NposI и NJpar
Какурин Николай Яковлевич, канд. техн. наук, профессор кафедры автоматизированного проектирования вычислительной техники ХТУРЭ. Научные интересы: прикладная теория цифровых автоматов, автоматизация проектирования цифровых устройств. Адрес: Украина, 310204, Харьков, пр.Победы, 72а, кв 62, тел. 38-37-96.
Макаренко Анна Николаевна, канд. техн. наук, ассистент кафедры автоматизированного проектирования вычислительной техники ХТУРЭ. Научные интересы: дискретная математика, анализ и синтез преобразователей код-код. Адрес: Украина, 310204, Харьков, пр.Победы, 72а, кв 62, тел. 38-37-96.
74
РИ, 1999, № 1