УДК 519.6
ОБОБЩЕННЫЙ РЕГИСТР СДВИГА В.А. Орлов, В.А. Матвеев
МГТУ им. Н.Э. Баумана, Москва, Российская Федерация e-mail: [email protected]
Рассмотрен вопрос расширения элементной базы проектирования дискретных устройств с памятью. Предложено устройство (обобщенныйрегистр сдвига), которое существенно увеличивает возможности однонаправленного регистра сдвига с последовательным вводом и параллельным выводом, являющегося последовательным соединением триггеров. Триггер из любого состояния может перейти при подаче тактового импульса (т.е. в следующий момент времени) в любое состояние (в зависимости от значения входа). Однако n-разрядный регистр сдвига в алфавите мощности M при любом n > 2 в следующий момент времени может перейти только в M состояний. Отмечено, что такой регистр сдвига имеет Mn состояний. Известно, что устройства, в схеме которых все элементы памяти находятся в одном регистре сдвига, реализуют узкий класс отображений. Показано, что любое последовательное устройство можно реализовать схемой из функциональных элементов и одного обобщенного регистра сдвига.
Ключевые слова: триггер, регистр сдвига, конечный автомат, единичная задержка, функциональный элемент.
A GENERALIZED SHIFT REGISTER V.A. Orlov, V.A. Matveev
Bauman Moscow State Technical University, Moscow, Russian Federation e-mail: [email protected]
An issue of extension of hardware for designing discrete devices with memory is considered. A device (generalized shift register) is proposed that substantially increases the capability of a unidirectional shift register with the series input and parallel output, which is implemented as a series connection of triggers. When a clock pulse is supplied, the trigger (at the next moment of time) can transfer from any state to the state depending on the input value. However the n-digit shift register in the alphabet with cardinality M at any n > 2 can transfer at the next moment only to M states. This shift register is noted to have Mn states. The devices, in the circuit of which all memory elements are in the same shift register, are known to implement a narrow class of images. It is shown that any sequential device can be implemented as a circuit of functional elements and a single generalized shift register.
Keywords: trigger, shift register (shifter), finite-state automation, unit delay, functional element (functor).
Устройства обработки дискретной информации широко распространены: они входят, например, даже в современные приборы учета потребления электроэнергии физическими лицами.
Разработка таких устройств, как правило, начинается с построения их схем, содержащих элементы, реализующие достаточно простые преобразования. Набор таких элементов будем называть базисом.
Наиболее востребованной областью является проектирование последо-вательностных устройств. Эти устройства преобразуют последовательности
символов входного алфавита (входные последовательности) в последовательности выходного алфавита той же длины. Символы поступают (и считыва-ются) в дискретные моменты времени, определяемые генератором тактовых импульсов. Устройство может находиться в одном из своих (внутренних) состояний. Число состояний конечно. В каждый момент времени выходной символ и состояние в следующий момент времени однозначно определяются входным символом и текущим состоянием. Математической моделью после-довательностных устройств являются конечные автоматы.
Наиболее часто последовательностью схемы строят из функциональных элементов (реализующих преобразования, не зависящие от времени) и триггеров. Значение выхода триггера при подаче тактового импульса (т.е. в следующий момент времени) равно значению его входа в текущий момент времени.
Целью работы является расширение функциональных возможностей однонаправленного регистра сдвига с последовательным вводом и параллельным выводом, являющегося последовательным соединением триггеров [1].
Регистры сдвига часто используют для обработки информации. Например, при выполнении арифметических операций операнды загружаются в регистры сдвига; значения результата операции вычисляют как функции значений выходов регистров сдвига.
В качестве особенности обычного регистра сдвига отметим следующее. Состоянием триггера считают значение его выхода, а состоянием регистра сдвига — упорядоченный набор состояний его элементов (триггеров). При анализе цифровых устройств с памятью часто время полагают дискретным, равным числу поданных тактовых импульсов от начала работы устройства. Триггер из любого состояния может перейти при подаче тактового импульса (т.е. в следующий момент времени) в любое состояние (в зависимости от значения входа). Однако п-разрядный регистр сдвига в алфавите мощности М при любом п > 2 в следующий момент времени может перейти только в М состояний, такой регистр сдвига имеет Мпсостояний. Известно, что устройства, в схеме которых все элементы памяти находятся в одном регистре сдвига, реализуют узкий класс последовательностях отображений.
Предлагаемое устройство назовем обобщенным регистром сдвига (ОРС). Оно может переходить в следующий (дискретный) момент времени из любого состояния в любое свое состояние. При этом при любой последовательности значений входов обобщенного регистра сдвига на его основном выходе в любой момент времени £ реализуется перестановка значений его основного входа в момент времени £ — п, где п — разрядность регистра сдвига. Отметим, что авторы хотели назвать ОРС управляемым регистром сдвига, но это понятие уже имеет другой смысл.
Поставленная задача решается следующим образом. Обобщенный регистр сдвига состоит из п триггеров и п — 1 функциональных элементов с двумя входами и одним выходом, реализующих функцию, которая при любом фиксированном аргументе является перестановкой другого аргумента, кроме того, среди перестановок первого аргумента имеется тождественная перестановка (такой функцией является, например, сложение по модулю
мощности алфавита регистра). Входом ОРС является вход первого триггера. Выход каждого триггера, кроме последнего, присоединяется к первому входу функционального элемента. Вторые входы функциональных элементов суть управляющие входы обобщенного регистра сдвига. Выход функционального элемента присоединяется к входу следующего триггера. Выходы триггеров, кроме последнего, являются выходами обобщенного регистра сдвига. Основным выходом обобщенного триггера является выход последнего триггера.
Нетрудно проверить, что предлагаемое устройство (п-разрядный ОРС) обладает объявленным свойством. А именно, из любого состояния он может перейти в следующий момент времени в любое другое свое состояние. Поскольку суперпозиция перестановок является перестановкой, ОРС обладает следующим свойством. При любой последовательности значений управляющих входов обобщенного регистра сдвига на основном выходе в любой момент времени Ь реализуется перестановка значений его основного входа в момент времени Ь — п, где п — разрядность регистра. Отметим, что если функциональные элементы ОРС реализует сумму значений их входов по модулю мощности алфавита, то при значениях управляющих входов, равных нулю, функционирование п-разрядного ОРС совпадает с функционированием обычного п-разрядного регистра сдвига.
На рисунке показана схема ОРС.
Входом 3 ОРС является вход первого триггера. Выход 7 каждого триггера, кроме последнего, присоединяется к первому входу функционального элемента. Вторые входы 6 функциональных элементов суть управляющие входы ОРС. Выход функционального элемента 2 присоединяется к входу следующего триггера. Выходы 7 триггеров, кроме последнего, являются выходами ОРС. Основным выходом 4 обобщенного триггера является выход последнего триггера.
Докажем теперь еще одно свойство ОРС: любое последовательностное устройство в алфавите А мощности М, имеющее не более Мп состояний, можно реализовать с использованием функциональных элементов и одного п-разрядного ОРС в алфавите А.
Доказательство проведем с использованием теории конечных автоматов.
Для простоты изложения ограничимся рассмотрением автоматных базисов в алфавите {0, 1}, состоящих из функционально полной системы элементов с одним состоянием и элемента единичной задержки.
Блок-схема ОРС:
1 — триггер; 2 — функциональный элемент; 3 — вход; 4 — основной выход; 5 — тактовый вход; 6 — управляющие входы; 7 — выходы
Конечный автомат является имеющим вход и выход устройством, которое может находиться в одном из своих состояний. Конечный автомат осуществляет преобразование информации в дискретные моменты времени 0,1, 2,... ... На вход автомата поступает последовательность символов входного алфавита X = (XI, X2,..., Х^}; эту последовательность называют входным словом. Функционирование конечного автомата осуществляется в соответствии с системой из NS команд, где S - мощность алфавита состояний Р = Q2,..., Qs}. Значение выхода автомата является элементом выходного алфавита V = {У1^2,..., Yм}. Каждая команда имеет следующий вид: XiQj ^ YkQl, где Xi — входная буква, Qj — текущее состояние, Yk — выходная буква и Ql — состояние в следующий за текущим моментом момент времени (следующее состояние).
Функционирование конечного автомата задают также кортежем
< X, У, Ц,^Р>,
где V: X х Р ^ У (функция выхода); P: X х Р ^ Р (функция переходов).
Конечный автомат с определенным состоянием в начальный момент времени называется инициальным автоматом. В соответствии со своей системой команд инициальный автомат реализует автоматную функцию, которая произвольное входное слово преобразует в выходное слово той же длины.
Трахтенброт Б.А. [2, 3] показал, что любой конечный автомат можно реализовать схемой, элементами которой являются функциональные элементы и элементы единичной задержки. При некоторых соотношениях между параметрами конечного автомата (К, Ми 8) эта реализация является асимптотически наилучшей. Отметим, что в случае произвольных автоматных базисов реализация существенно усложняется [4—6]. Возможна зависимость сложности реализации от весов нескольких элементов базиса; задача нахождения асимптотически наилучшей реализации алгоритмически неразрешима.
Для реализации автомата М в рассматриваемом базисе буквы алфавитов X, У и Р кодируют двоичными наборами длин п, m и з соответственно. При этом кодировании функции V (функции P) соответствует система m (система s) булевых функций от п + з переменных.
Имеющую k входов и г входов схему называют г)-6локом.
Согласно Б.А. Трахтенброту, схема S, реализующая автомат М, имеет п входов XI, х2,..., xn, m выходов у-\_,у2,... ,ут и состоит из (п + з, гакблока A, (п + з, з)-блока В и з элементов задержки. Здесь п =] N [, т =] М[ и з =] log2 S[. Блок А (блок В) реализует функцию выхода (функцию переходов). Входы схемы S соединены с первыми входами блоков А и В. Остальные входы этих блоков соединены с выходами з элементов задержки. Входы элементов задержки соединены с последними з выходами блока В. Выходами схемы S являются выходы блока А.
Покажем, что любой конечный автомат можно реализовать схемой, в которой все элементы памяти находятся в одном ОРС.
Через 2 обозначим (2, 1)-блок, состоящий из (2, 1)-элемента В, реализующего сложение по модулю два, и элемента задержки. Выход элемента
О соединен с входом элемента задержки. Входами блока Z являются входы элемента О. Выходом блока Z является выход элемента задержки.
Являющуюся (в, в)-блоком схему, состоящую из элемента задержки и в — 1 блоков 2, назовем (2, в)-цепочкой. Первым входом (выходом) (2, в)-цепочки является вход (выход) элемента задержки, выход которого соединен с входом первого блока 2. Выход блока 2 соединен с входом следующего блока 2. Остальными входами (выходами) (2, в)-цепочки являются входы (выходы) блоков 2. Нетрудно проверить, что (2, в)-цепочка является моделью в-разрядного ОРС.
Состоянием конечного автомата является набор значений выходов его элементов задержки. Через ¿1, ¿2,..., ^ обозначим значения входов (2, в)-цепочки, а через и1, и2,..., и — значения ее выходов.
Нетрудно проверить, что из состояния (и1, и2,..., и3) (2, в)-цепочка перейдет в состояние
¿1,и1 ф ¿2,... ,ив_1 ф
где символом ф обозначена операция сложения по модулю 2.
Покажем теперь, что любой конечный автомат можно реализовать схемой Т, в которой все элементы задержки находятся в одном ОРС.
Эта схема Т, реализующая автомат М, имеет п входов ж1, х2,..., хп, т выходов у1, у2,..., ут и состоит из (п + в, т)-блока А, (п + в, в)-блока С и (в, в)-блока Л, являющегося (2, в)-цепочкой.
Блок А (как и в схеме 5) реализует функцию выхода. Входы схемы Т соединены с первыми входами блоков А и С. Остальные входы этих блоков соединены с выходами блока Л. Входы блока Л соединены с последними в выходами блока С. Выходами схемы Т являются выходы блока А.
Опишем функционирование блока С. Значения выходов блока Л обозначим через д1, д2,..., дв.
Пусть Рг(ж1,..., Хп, 31,..., 1 < г < в, — булева функция, реализу-
емая на г-м выходе блока В (из схемы Б).
Пусть ¿г(ж1,..., хп, д1,..., дв), 1 < г < в, — булева функция, реализуемая на г-м выходе блока С. Положим
¿1(^1,..., Хп, 31,..., = Р1(х1,..., Хп, 31,...,
гг(хь..., Хп, 31,..., = Рг(х1,..., Хп, 31,..., Ф &-1, 2 < г < в.
Нетрудно проверить, что схема Т реализует автомат М. Поскольку блоки В и С реализуют различные системы булевых функций, схема Т может иметь более простую реализацию.
Отметим, что в ОРС элементы задержки почти образуют цепочку, что может иметь значение в ряде приложений.
В заключение отметим, что предлагаемый авторами ОРС может быть использован при построении универсальных и специализированных устройств обработки дискретной информации.
и
ЛИТЕРАТУРА
1. Джон Ф. Уэйкерли. Проектирование цифровых устройств. Т. 1,2 / пер. с англ. Е.В.Воронова, А.Л.Ларина. М.: ПОСТМАРКЕТ, 2002. 1088 с.
2. Трахтенброт Б.А. Асимптотическая оценка сложности логических сетей с памятью // Докл. АН СССР. 1959. Т. 127. № 2. С. 281-284.
3. Трахтенброт Б.А. О сложности схем, реализующих многопараметрические семейства операторов: Сб. "Проблемы кибернетики". М.: Наука, 1964. Вып. 12. С. 99-112.
4. Орлов В.А. Алгоритмическая неразрешимость задачи нахождения асимптотического поведения функции Шеннона при реализации ограниченно-детерминированных операторов схемами в произвольном базисе // Докл. АН СССР. 1971. Т. 196. № 5. С. 1036-1039.
5. Орлов В.А. Об особенностях поведения функции Шеннона в случае автоматных базисов // Математические заметки. 1972. Т. 11. Вып. 1. С. 73-82.
6. Орлов В.А. О реализации функций схемами и формулами в функционально полных базисах // Докл. РАН. 1999. Т. 365. № 6. С. 734-735.
REFERENCES
[1] Wakerly J.F. Digital Design: Principles and Practices. 3rd Ed. Prentice Hall, 1999. 949 p. (Russ. Ed.: Dzhon F. Ueykerli. Proektirovanie tsifrovykh ustroystv. V 2 t. Moscow, POSTMARKET Publ., 2002. 543 p. (vol. 1), 528 p. (vol. 2).
[2] Trakhtenbrot B.A. An asymptotic estimate of the complexity of logical networks with memory. Dokl. Akad. Nauk SSSR [Proc. Acad. Sci. USSR], 1959, vol. 127, no. 2, pp. 281-284 (in Russ.).
[3] Trakhtenbrot B.A. On the complexity of circuits implementing multiparameter families of operators. Sb. "Problemy kibernetiki" [Collect. Pap. "Cybernetics problems"]. Moscow, Nauka Publ., 1964. iss. 12, pp. 99-112 (in Russ.).
[4] Orlov V.A. Algorithmic undecidability of the detecting problem of the asymptotic behavior of the Shannon function in implementing bounded-deterministic operators using schemes in an certain basis. Dokl. Akad. Nauk SSSR [Proc. Acad. Sci. USSR], 1971, vol. 196, no. 5, pp. 1036-1039 (in Russ.).
[5] Orlov V.A. Singularities of Shannon functions in the case of automation bases. Matematicheskie zametki [Mathematical Notes, pp. 48-53], 1972, vol. 11, no. 1, pp. 73-82 (in Russ.).
[6] Orlov V.A. On the functions implementation by circuits and formulas in functionally complete basis Dokl. RAN [Proc. Russ. Acad. Sci.], 1999, vol. 365, no. 6, pp. 734-735 (in Russ.).
Статья поступила в редакцию 06.01.2013
Валентин Александрович Орлов — д-р физ.-мат. наук, профессор кафедры "Информационная безопасность" МГТУ им. Н.Э. Баумана. Автор более 60 научных работ в области синтеза оптимальных управляющих систем, моделей и алгоритмов обработки дискретной информации, интеллектуальных информационных систем, информационной безопасности и криптографии.
МГТУ им. Н.Э. Баумана, Российская Федерация, 105005, Москва, 2-я Бауманская ул., д. 5.
V.A. Orlov — Dr. Sci. (Phys.-Math.), professor of of "Information Security" department of the Bauman Moscow State Technical University. Author of more than 60 publications and two inventions in the field of synthesis of optimal control systems, models and algorithms of discrete data processing, intelligent information systems, information security and cryptography.
Bauman Moscow State Technical University, Vtoraya Baumanskaya ul. 5, Moscow, 105005 Russian Federation.
Валерий Александрович Матвеев — д-р техн. наук, профессор, руководитель Научно-учебного комплекса "Информатика и системы управления", заведующий кафедрой "Информационная безопасность" МГТУ им. Н.Э. Баумана. Заслуженный деятель науки РФ, лауреат Государственных премий СССР и РФ, лауреат премий Правительства РФ в области науки и образования. Автор более 200 научных работ и 25 патентов в области приборостроения и высокотемпературной сверхпроводимости. МГТУ им. Н.Э. Баумана, Российская Федерация, 105005, Москва, ул. 2-я Бауманская, д. 5.
V.A. Matveev — Dr. Sci. (Eng.), professor, head of "Information security" department, chief of Scientific and Educational Complex for Informatics and Control Systems of the Bauman Moscow State Technical University. Honored Scientist of the Russian Federation, Laureate of the State Prizes of the USSR and Russian Federation, Laureate of the RF Government Prize in Science and Education. Author of more than 200 publications and 25 patents in the field of instrument engineering and high-temperature superconductivity. Bauman Moscow State Technical University, Vtoraya Baumanskaya ul. 5, Moscow, 105005 Russian Federation.