Шифратор

Реферат

 

Изобретение относится к вычислительной технике и может быть использовано для построения шифраторов кода нормализации в малых и высокопроизводительных цифровых вычислительных машинах. Цель изобретения - расширение функциональных возможностей шифратора за счет шифрации количества "старших" нулей двоичного кода с учетом знака двоичного числа, представляемого двоичным кодом при большем быстродействии и меньших аппаратных затратах, чем у всех известных аналогов. Поставленная цель достигается тем, что шифратор, содержащий первый и второй дешифраторы границы нулей, блок шифрации прямого кода, дополнительно содержит узел сравнения, блок элементов НЕ, блок элементов И, элемент И - НЕ. 4 ил.

Изобретение относится к вычислительной технике и может быть использовано для построения шифраторов кода нормализации в малых и высокопроизводительных цифровых вычислительных машинах.

Известен шифратор, используемый в устройстве (1) для фиксации переполнения двигателя, содержащий группу элементов НЕ, коммутатор, шифратор (преобразователь позиционного кода старшего нулевого разряда в двоичный код).

Известен также шифратор, используемый в устройствах (2, 3) для формирования кода нормализации и признака переполнения, содержащий узел инвертирования, преобразователь количества старших нулей в двоичный код.

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

Недостатком указанных шифраторов является низкое быстродействие, большие аппаратные затраты и низкая функциональная (или конструктивная) эффективность, связанная с отсутствием функции блокировки выходов.

Наиболее близким по совокупности признаков и принципу организации к заявляемому шифратору является шифратор (4), содержащий первый и второй дешифраторы границы нулей, блок шифрации прямого кода.

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

Цель изобретения - расширение функциональных возможностей шифратора за счет шифрации количества "старших" нулей двоичного кода с учетом знака двоичного числа, представляемого двоичным кодом при большем быстродействии и меньших аппаратных затратах, чем у всех известных аналогов. При этом аппаратные затраты оцениваются количеством логических элементов типа НЕ, И, И-НЕ с числом входов, меньшим или равным четырем, и одним или двумя (парафазными) выходами, что обусловлено тем, что в базовых матричных кристаллах (БМК) для изготовления полузаказных БИС в минимальной (базовой) библиотеке логических элементов с максимальным быстродействием отсутствуют логические элементы (базовые элементы) с количеством входов, большим четырех. В расширенной библиотеке элементов могут присутствовать и элементы (микроэлементы) с количеством входов, большим четырех. Однако эти элементы строятся из базовых элементов и имеют быстродействие в два и более раз меньшее, чем базовые элементы.

На фиг. 1 изображена структурная схема шифратора; на фиг. 2 - один из вариантов функциональной схемы узла сравнения; на фиг. 3 - функциональная схема дешифратора границы нулей; на фиг. 4 - функциональная схема блока шифрации прямого кода.

Шифратор содержит узел 1 сравнения, блок 2 элементов НЕ, дешифраторы 3, 4 границы нулей, блок 5 элементов И, элемент И-НЕ 6, блок 8 шифрации прямого кода, вход 8 знака шифратора, информационный вход 9 шифратора, инверсный и прямой (восьмиразрядные) выходы 10, 11 блока 2, вход 12 узла 1, соединенный поразрядно со старшими разрядами выходов 10 и 11 и связанный таким образом через блок 2 со старшим разрядом входа 9, старший разрядный вход 13 входа 9, связанный при использовании альтернативного признака вход 12 с входом узла 1, выход 14 узла 1, первый выход 15 дешифратора 3 границы нулей, второй выход 16 дешифратора 3 границы нулей, третий выход 18 дешифратора 3 границы нулей, четвертый выход 18 дешифратора 3 границы нулей, второй выход 19 второго дешифратора 4 границы нулей, выход 20 блока 5, вход 21 блокировки шифратора, первый выход 22 шифратора, второй выход 23 шифратора, элемент НЕ 24 с парафазным выходом, элементы И-НЕ 25: элемент И 26, элементы И-НЕ 27, 28, элемент И 29 с парафазным выходом.

Цифры около перечеркнутых жгутов входов и выходов указывают количество разрядных входов и выходов, входов и выходов, изображенных жгутами.

Цифры около линий ответвлений из жгутов указывают номера разрядных выходов или входов.

Узел сравнения 1 предназначен для сравнения значений кода знака на входе 8 и кода старшего разрядного входа 13 информационного входа 9. Если коды равны, то на выходе 14 формируется логическая единица. Если коды не равны, то на выходе 14 формируется логический ноль. В качестве узла сравнения может использоваться элемент сложения по модулю два микросхемы 500 ЛП 107 серии 500, инверсный выход которого соединен с выходом узла 1, первый вход элемента сложения по модулю два соединен с входом 8, а второй вход элемента сложения соединен с входом 13 (на фиг. 1, штриховая линия).

При построении шифратора в БКМ можно воспользоваться схемой узла 1 (фиг. 2). При этом вместо ввода в узел 1 дополнительного элемента НЕ для инвертирования сигнала на входе 13 можно использовать выходы 12 блока 2. Если на входе 13 установлен код 1(о), то на выходах 12 (фиг. 2) установится код 10(01). При этом, если на входе 8 тоже установлен код 1(о), то на выходе одного из элементов И-НЕ 25, входами связанных с входами 12, установится логический ноль и, следовательно, на выходе 14 установится логическая единица.

Если же на входе 8 установлен код 0(1), то на входах обоих элементов И-НЕ 25, входами связанных с входами 12, установится логические единицы и, следовательно, на выходе 14 установится логический ноль.

Таким образом, в зависимости от конкретной технической реализации узла 1 (что связано с технологическими возможностями) возможно использование альтернативных признаков или непосредственной связи входа 13 с входом узла 1, или связи входа узла 1 через старшие разрядные выходы 12 и вход 13 блока 2 и шифратора.

Блок 2 предназначен для инвертирования кода на входе 9 и может использоваться (в БМК) в качестве буферных элементов (вместе с элементом НЕ 24) при использовании выхода 11. При отсутствии выхода 11 в блоке 2 возможно использование альтернативного признака непосредственной связи входа 9 с информационным входом дешифратора 4.

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

Дешифраторы 3, 4 (фиг. 3) предназначены для формирования признака нуля на выходе 18.

При этом на выходе 18 формируется логический ноль, если на всех разрядных входах входа 10 и на входе 14 установлена логическая единица. В противном случае на выходе 18 устанавливается логическая единица.

На выходе 16 устанавливается логический ноль, если на всех четырех крайних левых разрядных входах (входах разрядов 0, 1, 2, 3) входа 10 установлены логические единицы.

На каждом (1+i)-ом в отдельности разрядном выходе выхода 15 (17) устанавливается логический ноль, если на i-ом (4+i)-ом разрядном входе входа 10 установлен логический ноль при логической единице на всех разрядных входах входа 10 с номерами, меньшими i(4+i), где i=0, 1, 2.

Блок 7 шифрации прямого кода (фиг. 4) построен на 4 входовых элементах И-НЕ 28. Если хоть на одном из входов 14, 21 установлен логический ноль, на всех разрядах выхода 22 устанавливается логическая единица. При логической единице на входах 14, 21 и логическом нуле хоть на одном из входов 16, 19 на старшем (нулевом) разрядном выходе выхода 22 устанавливается логическая единица. При логическом нуле на первом или втором разрядном входе входа 20 устанавливается логическая единица соответственно на втором и первом разрядном выходе выхода 22. При логическом нуле на третьем разрядном входе входа 20 логическая единица устанавливается на первом и втором разрядных выходах выхода 22.

Шифратор функционирует следующим образом.

В исходном состоянии на входе 8 устанавливается код знака, а на входе 9 устанавливается двоичный код числа. При этом на входе 13 устанавливается код старшего разряда двоичного кода. На входе 21 устанавливается единичный код, означающий, что выход шифратора не заблокирован.

Если код знака на входе 8 не совпадает с кодом на входе 13, то на выходе 14 устанавливается логический ноль, устанавливающий на выходе 22 единичный код (логическую единицу на всех разрядных выходах выхода 22) логические единицы на четвертых выходах дешифратора 3, 4, и, следовательно, логический ноль на выходе 23.

Если код знака совпадает с кодом на входе 13, то на выходе 14 устанавливается логическая единица. При этом, если на входе 13 установлен логический ноль, то дешифратор 4 самоотключается, т.е. на всех его выходах устанавливается логическая единица (единичный код), не препятствующая передаче сформированных на выходах дешифратора 3 сигналов на выходе 20, 23, 22.

Благодаря этому на выходе 22 формируется двоичный код количества логических нулей, установленных подряд в старших разрядах двоичного кода на входе 9.

Если же на выходе 13 установлена логическая единица (означающая, что двоичное число на входе 9 отрицательное, так как на входе 8 также установлена логическая единица), то дешифратор 3 "самоотключается", т.е. на всех его выходах устанавливается логическая единица (единичный код), не препятствующая передаче сформированных на выходах дешифратора 3 сигналов на выходе 20, 23, 22.

Благодаря этому на выходе 32 формируется двоичный код количества логических единиц (означающих нули для отрицательного числа на входе 9), установленных подряд в старших разрядах двоичного кода на входе 9, При установке на входе 9 единичного или нулевого кода при равенстве кодов на входах 8, 13 приведет к формированию на выходах 22, 23 единичного кода. Если же в рассматриваемом случае на входе 3 установлен код 00000001 или 11111110, то на выходе 22 сформируется единичный, а на выходе 23 - нулевой код. Это связано с тем, что в первом случае на одном из входов элемента И-НЕ 6 форсируется нулевой код (фиг. 3). Во втором случае на обоих входах элемента И-НЕ 6 будет установлена логическая единица.

Рассмотрим пример формирования кода нормализации при установке на входах 8 и 9 кодов 1(0) и 1111000 (00000111). На выходе 14 установится код 1. На выходах 15, 16, 17, 18 дешифратора 3 установится код 111, 1, 111, 1 (111, 0, 0111, 0).

На аналогичных выходах дешифратора 4 установится код 111, 0, 011, 0 (111, 1, 111, 1).

В итоге на выходе 20, 22, 23 установится код 011 (011), 101(101)0. Таким образом на выходе 22 формируется число 101=5 старших единиц (нулей) для отрицательного (положительного) числа, код которого установлен на входе 9.

Таким образом обеспечивается формирование кода нормализации как для положительных двоичных чисел, так и для отрицательных двоичных чисел, т.е. с учетом кода знака обеспечивается подсчет "старших" нулей для положительных чисел и "старших" единиц для отрицательных чисел. Следовательно, достигается цель изобретения - расширение функциональных возможностей шифратора за счет шифрации количества "старших" нулей двоичного кода с учетом знака двоичного числа, представляемого двоичным кодом.

При реализации заявленного шифратора на базовых матричных кристаллах (БМК) полузаказных и др. БИС обеспечиваются минимальные аппаратные затраты (оцениваемые количеством логических элементов типа НЕ, И, И-НЕ с числом входов, меньшим или равным четырем) и во всех случаях обеспечивается большое быстродействие по отношению ко всем известным аналогам.

Формула изобретения

ШИФРАТОР, содержащий первый и второй дешифраторы границы нулей, блок шифрации прямого кода, выход которого соединен с первым выходом шифратора, вход блокировки которого соединен с первым входом блокировки блока шифрации прямого кода, первый и второй информационные входы которого соединены с вторыми выходами соответственно первого и второго дешифраторов границы нулей, информационный вход второго дешифратора границы нулей соединен с информационным входом шифратора, отличающийся тем, что он содержит узел сравнения, блок элементов НЕ, блок элементов И, элемент И - НЕ, причем информационный вход шифратора соединен с входом блока элементов НЕ, инверсный выход которого соединен с информационным входом первого дешифратора границы нулей, первый и третий выходы которого соединены соответственно с первым и вторым входами блока элементов И, третий и четвертый входы которого соединены соответственно с первым и третьим выходами второго дешифратора границы нулей, информационный вход которого может быть связан через прямой выход группы элементов НЕ или непосредственно с информационным входом шифратора, второй выход которого соединен с выходом элемента И - НЕ, первый и второй входы которого соединены с четвертыми выходами соответственно первого и второго дешифраторов границы нулей, старший разрядный вход информационного входа шифратора связан непосредственно или через старшие разрядные выходы инверсного и прямого выходов блока элементов НЕ с входом узла сравнения, другой вход которого соединен с входом знака шифратора, выход узла сравнения соединен с входами блокировки первого и второго дешифраторов границы нулей и вторым входом блокировки блока шифрации прямого кода, третий информационный вход которого соединен с выходом блока элементов И.

РИСУНКИ

Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4