УДК 681.5: 004.234
Л.В. ЛАРЧЕНКО, В.В. ВАРЕЦА, Б.Д. ЛАРЧЕНКО, А.Н. МАКАРЕНКО
СРАВНИТЕЛЬНАЯ ОЦЕНКА БЫСТРОДЕЙСТВИЯ РЕГИСТРОВ-КОМПАКТОРОВ СИНХРОННОГО И АСИНХРОННОГО ТИПОВ
Рассматривается структура и функционирование многоразрядных регистров-компакторов двоичных кодов синхронного и асинхронного типов. Анализируется схемотехническая реализация различных типов регистров-компакторов и выполняется сравнительная оценка их быстродействия по числу тактов, необходимых для сжатия кода.
1. Постановка задачи
Известны и широко применяются в ВТ и автоматике регистры сдвига на RS или JK-триггерах, причем прямой и инверсный выходы каждого JK-триггера ,кроме последнего, соединены соответственно с J- и K-входами следующего JK-триггера [1]. Такие регистры сдвига могут работать в трех режимах: режиме сдвига последовательного кода на заданное число тактов, режиме хранения кода и режиме приема кода за n - тактов, где n-разрядность регистра сдвига.
Недостатком известных регистров сдвига являются их ограниченные функциональные возможности, обусловленные выполнением только одной основной функции - сдвига информации. В ряде случаев в устройствах обработки и контроля цифровой статистической и диагностической информации требуется получение сведений о числе единиц в кодовой комбинации.
Подобное расширение функциональных возможностей достигнуто в [2,3] за счет введения дополнительной функции - сжатия всех единиц кодовой комбинации вправо без их потери. Такой регистр будем называть регистром-компактором.
Основными задачами работы являются:
- рассмотрение структуры и функционирования различных типов регистров-компакторов;
- сравнительная оценка времени сжатия кода по максимальному числу тактов в функции от разрядности n регистра - компактора;
- формулировка рекомендаций и задач по использованию регистров с функцией сжатия кода.
2. Регистр-компактор синхронного типа
Схема синхронного регистра-компактора двоичных кодов из [2] представлена на рис. 1.
Рис. 1. Регистр-компактор двоичных кодов
Регистр содержит в каждом разряде двухступенчатый JK - триггер 1, элемент И 2 и в каждом разряде, кроме последнего, элемент ИЛИ 3. Прямой выход Q JK - триггера
9
каждого разряда, кроме последнего, соединен с J- входом разряда, R- и C- входы JK -триггеров всех разрядов соответственно объединены и являются входами установки в 0 4 и синхронизации 5 регистра - компактора, J- вход JK - триггера первого разряда 6 является прямым входом регистра - компактора, а прямой выход JK - триггера последнего разряда 7 является прямым выходом регистра - компактора. Выход элемента И 2 каждого разряда соединен с K- входом JK - триггера данного разряда, первый вход элемента И первого разряда является инверсным входом 8 регистра-компактора, а первый элемента И каждого из остальных разрядов соединен с инверсным входом JK - триггера предыдущего разряда, второй вход элемента И каждого разряда, кроме последнего, соединен с выходом элемента ИЛИ 3 данного разряда, а второй вход элемента И последнего разряда является управляющим входом 9. Первый и второй входы элемента ИЛИ каждого разряда соединены соответственно с инверсным выходом JK - триггера и со вторым входом элемента И последующего разряда.
Рассмотрим работу регистра в различных режимах. При единичном значении сигнала управления на входе 9 регистр работает в режиме сдвига кода вправо. При этом на вторых входах каждого из элементов И 2 устанавливается единичное значение сигнала. Входная информация в виде парафазного кода поступает на входы 6 и 8. Заполнение n- разрядного регистра информацией происходит за время действия n импульсов сдвига на входе синхронизации 5.
При нулевом значении сигнала управления на входе 9 регистр работает в режиме сжатия информации вправо. Под действием импульсов сдвига, подаваемых на вход синхронизации 5, происходит сдвиг кода вправо до тех пор, пока не запишется единица в последний n-й разряд. После этого происходит сдвиг кода только в первых (п-1)-м разрядах до заполнения единицей (п -1)-го разряда. Записанные в n-м, (п -1)-м и т.д. разрядах единицы остаются в соответствующих разрядах, поскольку на K - входах JK - триггеров этих разрядов устанавливается нулевое значение. Таким образом, после подачи в общем случае (n - 1)-го импульса сдвига (когда исходная информация представляет собой одну единицу в крайнем левом разряде) все единицы исходной информации располагаются плотно справа.
Например, если при единичном значении сигнала на входе 9 после подачи восьми импульсов сдвига в восьмиразрядном регистре запишется код 10100100, то при нулевом значении сигнала на входе управления 9 после подачи очередных пяти импульсов сдвига получим такие последовательности кодов: 01010010, 00101001 ,00010101, 00001011, 00000111. При дальнейшей подаче импульсов сдвига состояние регистра не меняется. При установке единичного значения сигнала на входе управления 9 сжатая информация выводится из регистра. _ _ _ _
Из рис. 1 найдем, что K3 = z • Q2 ; J3 = Q2 ; K3 = z • Q1 vQ1 • Q3 = Qj(z v Q3) ;
J2 = Q1 .
При рассмотрении регистра-компактора (см. рис.1) мы ограничились числом разрядов n=3. Если обобщить полученные формулы для случая n разрядов, то получим для j=0,.. .,(n-1) следующие формулы (1):
Jn Qn-1 ; Kn z • Qn-1 ; Jn-1 Qn-2 ; Kn-1 Qn-2 (z v Qn); Jn-2 Qn-1 ;
Kn-2 = Qn-1 (z v Qn v Qn-1) = Qn-3 • ((z v Qn) v Qn-1 ) ; Jn-3 = Qn-4 ;
Kn-3 = Qn-4 <z v Qn v Qn-1_v Qn-2 ) = Qn-4 • (((z v Qn) v Qn-1 ) v Qn-2 ) ;
Kn-j =Qn-j-1 •(-(Z v Qn) v Qn-1) v - v Qn-j+2 ) ; Jn-j = Qn-j-1 .
(1)
Существуют и другие схемные решения регистров компакторов, отличающиеся друг от друга возможностью уплотнения не только единиц, но и нулей, возможностью сдвига как вправо, так и влево, а также возможностью уплотнения в заданном направлении [4-6].
3. Регистр-компактор асинхронного типа
Схема асинхронного регистра-компактора двоичного кода из [3] приведена на рис.2. Регистр содержит группу из n-1 двухвходовых элементов И 1, элемент ИЛИ 2, элемент И 3, в каждом разряде двухступенчатый JK-триггер 4, элемент И 5 и в каждом разряде,
10
кроме последнего, элемент ИЛИ 6. Прямой выход JK-триггера каждого разряда, кроме последнего, соединен с J-входом JK-триггера последующего разряда, R- и C-входы JK-триггеров всех разрядов соответственно объединены и являются входами установки в 0 7 и синхронизации 8 регистра сдвига, J-вход 9 JK-триггера первого разряда является прямым входом регистра сдвига, а прямой выход 10 JK-триггера последнего разряда является прямым выходом регистра сдвига. Регистр сдвига в зависимости от значения сигнала управления, подаваемого на управляющий вход 12 , может работать в двух режимах -сдвига и сжатия информации. При единичном значении сигнала управления на входе 12 регистр работает в режиме сдвига информации. При этом на вторых входах каждого из элементов И 5 устанавливается единичное значениие сигнала. Входная информация в виде парафазного кода поступает на входы 9 и 11. Единичный сигнал с выхода элемента ИЛИ 2 разрешит прохождение тактовых сигналов с входа 13 элемента И 3 на вход синхронизации 8 регистра сдвига. . Заполнение n - разрядного регистра информацией происходит за время действия n импульсов сдвига на входе синхронизации 8.
Рис. 2. Регистр-компактор асинхронного типа
При нулевом значении сигнала управления на входе 12 регистр работает в режиме сжатия информации. Если содержимое регистра не соответствует сжатой кодовой комбинации, то с выхода одного из элементов И группы 1 элементов И сформированный единичный сигнал через элемент ИЛИ 2 разрешит прохождение тактовых импульсов через элемент И 3 на вход синхронизации 8 регистра. Под действием импульсов сдвига происходит сдвиг кода вправо до тех пор, пока не запишется единица в последний n-й разряд. После этого происходит сдвиг кода только в первых (п-1)-м разрядах до заполнения единицей (n-
1)-го разряда. Записанные в n-м, (п-1)-м разрядах единицы остаются в соответствующих разрядах, поскольку на K-входах JK-триггеров этих разрядов устанавливается нулевое значение. Как только содержимое регистра будет соответствовать сжатой кодовой комбинации, т.е. когда все единицы исходной информации будут расположены плотно справа, на выходах элементов И группы 1 сформируется нулевой сигнал, который через элемент ИЛИ 2 запретит прохождение тактовых импульсов на вход синхронизации 8 регистра сдвига. Нулевой сигнал с выхода элемента ИЛИ 2 сигнализирует о готовности регистра сдвига к приему и сжатию следующей комбинации. Время сжатия информации в синхронном регистре-компакторе составляет (n-1) такт, а в рассмотренном асинхронном - (n- m) тактов, где m - число нулей, отстоящих справа от старшей единицы.
Для n=4 функции дешифрации неуплотненных комбинаций от 1-го до 3-го разрядов могут быть представлены в виде выражений:
у1 = Q:• Q2; у2 = Q2• Q3; у3 = Q3 Q7. (2)
11
При n=8 добавляются формулы:
у1 = Q4 • Q5; у1 = Q5 • Q6;;у1 = Q6 ■ Q7 ; у1 = Q7 ■ Q8 • (3)
Для общего случая числа разрядов n функции дешифрации неуплотненных комбинаций, реализуемые с помощью схем И 1, описываются выражением:
УІ = Qi • Qi+i , i = 1,n -1, (4)
а функция наличия неуплотненного кода в регистре-компакторе (см. рис.2), вычисляемая схемой ИЛИ 2, определяется по формуле:
У 2
U Qi • Q,+i = U УІ
(5)
i=1 i=1
Схема И 3, разрешающая прохождение синхроимпульсов c на вход сдвига регистра, реализует выражение:
Уз = c • У2 •
(6)
4. Быстродействующий регистр-компактор синхронного типа
Схема быстродействующего регистра-компактора с временем уплотнения комбинации в один такт приведена на рис.3.
Рис. 3. Регистр-компактор с временем уплотнения в один такт Регистр состоит из группы n CDR-триггеров 1 состояния, первого элемента ИЛИ 2 и элемента И 6 в каждом разряде, второго элемента ИЛИ 3 в каждом разряде, кроме последнего, комбинационного сумматора 4 количества единиц неуплотненного двоичного кода, дешифратора 5 для преобразования позиционного двоичного кода единиц в унитарный код единиц, второго элемента ИЛИ 3 в каждом разряде, кроме последнего. При единичном значении сигнала на входе управления режимом работы 10 и поочередной подаче тактовых сигналов на вход 9 и разрядов входного кода на информационный вход 7 за n тактов происходит запись последовательного кода в регистр.
При нулевом значении сигнала на входе управления режимом работы 10 регистр работает в режиме уплотнения кода. Логическая связь между прямым выходом CDR-триггера предыдущего разряда и информационным D -входом триггера разряда, который рассматривается, при этом отсутствует. Позиционный код количества единиц i с выхода комбинационного сумматора 4 с помощью дешифратора 5 преобразуется в сигнал единицы на выходе i , который далее подается на первый вход второй схемы ИЛИ 3 разряда i и далее по цепи вторых схем ИЛИ 3 на первые входы первых схем ИЛИ 2 в разрядах i. i -1, i-2, i-3,
12
... ,2, 1. После подачи одного импульса на вход синхронизации 9 в регистр будет записан двоичный код, уплотненный влево. Например, после подачи в регистр - компактор при n =7 кода 1001010, затем переключения регистра в режим уплотнения и подачи одного импульса на вход синхронизации 9 получим в регистре кодовую комбинацию 1110000, которая через выход 11 путем сдвига может быть выведена из регистра - компактора.
Быстродействие регистра - компактора в режиме уплотнения кода не зависит от разрядности и составляет один такт.
5. Сравнительная оценка быстродействия регистров-компакторов
Выполним сравнение синхронного и асинхронного регистров-компакторов по числу тактовых импульсов, необходимых для уплотнения всех n-разрядных комбинаций. Так как для уплотнения любой комбинации требуется n-1 такт, то суммарное число тактов на уплотнение всех комбинаций в синхронном регистре определяется выражением:
N = (n -1) • 2n . (7)
В асинхронном регистре-компакторе число тактов, затрачиваемых на уплотнение кодовой комбинации, равно числу нулей m, находящихся справа от старшей единицы. Выражение для суммарного числа тактов уплотнения всех кодовых комбинаций описывается формулой:
i=2n
Na = Z mi. (8)
i=1
Результаты вычислений по формуле (7) и статистического анализа для разрядностей n=2-6 приведены в таблице. Здесь также приведены расчетные данные абсолютной экономии э (по числу тактов сжатия), вычисленные по формуле (9), и относительной (в процентах) экономии, рассчитанной по формуле (10) :
э = Nc - Na ; (9)
_ э
у_ N7
(10)
n 2 3 4 5 6
Nc 4 16 48 128 320
Na 1 5 17 49 120
э 3 11 31 79 200
Y, % 75 68,75 64,58 61,7 62,5
Анализ таблицы и формул показывает, что асинхронный регистр-компактор по сравнению с синхронным обеспечивает существенную экономию числа тактов на сжатие кодовых комбинаций (от 60 до 70 процентов), а быстродействующий регистр-компактор (см. рис.3) уже при n=4; n= 5 и n= 6 требует для сжатия всего множества кодов соответственно 16, 32 и 64 такта, что указывает на его более высокое быстродействие, но для его реализации требуются и более высокие аппаратурные затраты. Для использования тех или иных вариантов регистров-компакторов в различных устройствах обработки и контроля цифровой информации также необходима разработка VHDL-моделей указанных регистров, что позволит при наличии моделей автоматизировать этапы системного проектирования соответствующего регистра-компактора и ускорить его проектирование и реализацию на СБИС.
Выводы
1. Рассмотрена структура и функционирование трех различных схемных реализаций регистров-компакторов двоичных кодов синхронного и асинхронного типов на JK- и DC-триггерах .
2. Получены аналитические выражения и статистические данные затрат времени (по числу тактов сдвига) на уплотнение кодовых комбинаций для различных вариантов регистра-компактора в функции от числа его разрядов.
13
3. Выполнена сравнительная оценка временных затрат на сжатие (компрессию) кодов, что позволяет в зависимости от требований к быстродействию и аппаратурным затратам выбрать соответствующую схемную реализацию регистра-компактора. .
Научная новизна работы состоит в получении аналитических выражений для детального анализа числа тактов сдвига на компрессию двоичных кодов в каждой из схем регистра-компактора, что позволило выполнить сравнительную сценку быстродействия различных его реализаций.
Практическая значимость результатов заключается в возможности проектирования регистра-компактора с учетом основных критериев оптимизации (быстродействия и аппаратурных затрат), что делает также целесообразным получение его моделей на языке VHDL в целях ускорения их проектирования и реализации на СБИС .
Список литературы: 1. Майоров С.А., Новиков Г. И. Структура электронных вычислительных машин.. Л., 1979,.384 с. 2. А.С. 1049978 G11C 19/00. Регистр сдвига / Н.Я.Какурин, Ю.К. Кирьяков // Открытия, изобретения. 1983. №39. С.167. 3. А.С. 1149978 G11C 19/00 Регистр сдвига. /Н.Я.Какурин , Ю.К..Кирьяков // Открытия, изобретения. 1985. №6. С.250. 4. Макаренко А.Н. Регистры для сжатия двоичных кодовых комбинаций / АСУ и приборы автоматики. 1989. Вып.89. С.32-38. 5.А.С. 1206783 G11C 19/00 Устройство контроля параллельного двоичного кода на нечетность / Н.Я. Какурин , Ю.К. Кирьяков // Открытия, изобретения. 1986. №3.С.250. 6. Еремеев И. С. Устройства сжатия информации. М., 1980. 160с.
Поступила в редколлегию 18.02.2014
Ларченко Лина Викторовна , канд. техн. наук, доцент кафедры АПВТ ХНУРЭ. Научные интересы: компьютерные системы автоматического управления, проектирование программного обеспечения, автоматизация проектирования цифровых устройств. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 70-21-326.
Вареца Виталий Викторович, аспирант кафедры автоматизации проектирования вычислительной техники ХНУРЭ. Научные интересы: проектирование программного обеспечения, автоматизация проектирования цифровых устройств. Адрес: Украина, 61166, Харьков, пр.Ленина, 14, тел. 70-21-326.
Ларченко Богдан Дмитриевич, студент группы КИ-10-5 ХНУРЭ. Научные интересы: проектирование программного обеспечения, языки описания аппаратуры. Адрес: Украина, 61166, Харьков, пр.Ленина, 14, тел. 70-21-326.
Макаренко Анна Николаевна, канд. техн. наук, доцент кафедры информационных технологий Харьковского банковского института. Научные интересы: информационные технологии, анализ и синтез цифровых устройств. Адрес: Украина, 61074, Харьков, пр. Победы, 55, тел. 336-05-64.
14