УДК: 519.7, 621.3 MSC2010: 68M07
ОБРАТИМЫЕ ВЫЧИСЛЕНИЯ. ЧАСТЬ II © C. И. Гуров
Московский государственный университет имени М.В.ЛомоносовА Факультет Вычислительной математики и кибернетики Ленинские горы, д. 1, стр. 52, Москва, ГСП-1, 119991, Российская Федерация
e-mail: [email protected]
© А. Е. Жуков
Московский государственный технический университет имени Н. Э. Баумана 2-я Бауманская ул., д. 5, стр. 1, Москва, 105005, Российская Федерация e-mail: [email protected]
© Д. В. Закаблуков
ООО "Алгоритмы и данные ул. Дмитрия Ульянова, д. 42, стр. 1, 117218, Москва, Российская Федерация e-mail: [email protected]
© Г. В. Кормаков
Московский государственный университет имени М.В.ЛомоносовА Факультет Вычислительной математики и кибернетики Ленинские горы, д. 1, стр. 52, Москва, ГСП-1, 119991, Российская Федерация
e-mail: [email protected]
Reversible Calculations. Part II.
Gurov S. I., Zhukov A. E., Zakablukov D. V., Kormakov G. V.
Abstract. In the second part of the work, the methods of logical synthesis of reversible circuits are analyzed. Some applications of reversible logic are considered: synthesis of fault-tolerant circuits, the use of circuits from reversible logic elements in cryptography.
Keywords: reversible logic, logical synthesis of reversible circuits, fault-tolerant reversible circuits, cryptographic information protection.
6. Схемная реализация обратимой логики
Также как и в случае синтеза классических схем из элементов стандартной логики, единого подхода, который может быть напрямую применен для построения схем из обратимых логических элементов, не существует. При этом возникает ряд вопросов, характерных исключительно для таких схем.
6.1. Проблема стоков. Заметим, что реализация функции / : ^ схемой, построенной из обратимых элементов, обратимой, вообще говоря, не будет, даже если таковой является сама функция / (ясно, что в этом случае п = т). Действительно, в процессе вычисления функции / на выходе схемы появляется не только вектор результатов у, но и полученная в процессе вычисления информация на незначимых выходах (вычислительный мусор). Без знания этой информации, а только по выходу у, вход получить невозможно.
Получаемые при вычислениях мусорные биты просто отбросить нельзя, их нужно каким-то образом утилизировать (обнулить). Если на каждый триггер процессора будет приходиться свой сток, то какого-либо выигрыша по энерговыделению не получится. Утилизация мусора — самая энергозатратная операция. Полностью избежать появления мусора, вообще говоря, не удастся. Практическая ценность обратимых схем определяется эффективностью способов утилизации мусора, и в целом ответ на вопрос о практической ценности обратимой ВТ (не будет ли энергия, необходимая для утилизации, больше, чем выигрыш от обратимости?) зависит и от физической реализации её элементов (см. раздел 6.4).
Наиболее грубым методом упомянутой утилизации будет сохранение каждого мусорного значения на выходе. Учитывая количество элементарных операций, требуемых на выполнение даже простого арифметического действия, такой метод абсолютно неэффективен и «съест» всю доступную память. Есть предположение, что если программа выполняет N команд, то для хранения стоков потребуется порядка 1о§2 N бит памяти.
При этом придется выделить дополнительную память под информацию, связанную с истинно необратимыми командами, которую надо сохранить до конца работы программы. Однако, если код программы разработан достаточно аккуратно, то количество накапливающегося за время работы мусора можно держать в разумных рамках.
Конструкция Беннетта (рис. 1) позволяет сделать количество мусорных битов в обратимой схеме равным количеству входных битов. Для этого следует:
О g
g 10
х f у
у /т X
0
V
Рис. 1. Конструкция Беннетта
(1) произвести вычисления, получив большое количество мусора;
(2) скопировать результат;
(3) выполнить вычисления в обратном направлении, уничтожив мусор, полученный на шаге (1).
При этом появляющееся на выходе схемы значение аргумента функции в данном случае рассматривается как вычислительный мусор [1].
Конструкция Беннетта примененная дважды позволяет в ряде случаев вообще обойтись без создания мусорных битов, правда за счет увеличения числа дополнительных линий, числа несущественных выходов и сложности самой схемы: действительно, пусть f — обратимая функция и если существуют схемы из обратимых элементов, реализующие функции f и f-1 то существует обратимая схема для вычисления f без создания мусорных битов.
Соответствующая конструкция представлена на рис. 2. Здесь ^ — схема из обра-
о 0 0
X / У У X X 0 0
0 0 С] У У X С2 X У
0 0 г1 82 0
Рис. 2. Обратимая схема для вычисления обратимой функции без создания мусорных битов
тимых элементов, реализующая функцию f : ^ ЖТ", — схема, реализующая обратную функцию, х Е Ж? — вход функции f, у Е — ее выход, g1, g2 — вычислительный мусор, ^, — соответствующие зеркальные схемы, С1, С2 — подсхемы копирования.
6.2. Синтез обратимых схем.
6.2.1. Обратимая схемотехника: критерии и библиотеки синтеза. Под обратимой схемотехникой мы понимаем методы синтеза обратимых вычислителей, в т. ч. со специальными свойствами (например, сбоеустойчивость).
Обратимые схемы можно рассматривать в качестве модели реального вычислительного устройства. В зависимости от технологических ограничений при производстве устройств и предъявляемым к ним требованиям меняются цели и задачи методов синтеза. Среди них можно выделить следующие.
Для обычных и обратимых схем имеются естественные общие критерии оптимальности синтеза схем: это минимизация
(1) количества элементов схемы (её сложности);
(2) задержки.
Свойство обратимости обуславливает новые специфические для таких схем критерии: это минимизация количества:
(3) дополнительных входов схемы или её ширины (в случаях, когда добавить дополнительный вход в схему технологически гораздо сложнее, чем увеличить её сложность);
(4) мусорных выходов схемы (что связано с предыдущим пунктом);
(5) элементов определённого типа.
Поясним последний пункт. В принципе любую обратимую комбинационную схему можно построить, используя какой-нибудь единственный универсальный элемент, например, TG. Однако сложность реализации TG выше, чем суммарная сложность составляющих его элементов NOT и CNOT, и поэтому использовать его целосооб-разно лишь в случаях, когда невозможно обойтись этими двумя.
Для целей синтеза схем обратимые элементы объединяют, как обычно принято, в библиотеки. Укажем наиболее известные из них, обладающие свойством универсальности [27, 28].
• NCT — NOT, CNOT, TG; рассмотрена в разделе Функциональная полнота семейств обратимых элементов части I статьи и является наиболее распространенным набором элементов, из которых можно составить любую обратимую схему.
• NCTSF — NOT, CNOT, TG, SWAP, FG; к библиотеке NCT добавлены элементы SWAP и Фредкина.
• NCTSFP — NCTSF + PG; к предыдущей библиотеке добавлен гейт Переса.
• GT/MCT — параметрическая библиотека1, состоящая из n-битных обобщённых элементов Тоффоли; включает в себя все гейты из NCT.
• MCT+MCF — парметрическая библиотека, получающаяся добавлением к предыдущей n-битных множественно управляемых гейтов Фредкина. Эта библиотека включает в себя все предыдущие, за исключением NCTSFP.
• GT+PG — к MCT добавлен гейт Переса.
1 Парметрическая библиотека позволяет использовать элементы данного типа, отличающиеся значением некоторого параметра. Как правило это число входов (однако может быть нагрузочная способность, технологические свойства и др.).
6.2.2. Методы синтеза обратимых схем. Синтез схем даже в классическом случае — процесс во многом эмпирический, несмотря на огромное количество теоретических изысканий в этой области, опубликованных за последние 70 лет. Для синтеза обратимых схем в основном применяют традиционные методы, адаптированные под обратимую схемотехнику; все недостающие ссылки можно найти в [29, 30]. Эффективность различных методов синтеза сравнивается с помощью построения схем для «стандартных», «эталонных» функций [28].
Методы композиции. Метод заключается в том, чтобы составить обратимый блок из известных обратимых элементов. Далее применяются модификации процедур синтеза традиционной логики.
Методы декомпозиции. Методы декомпозиции могут быть охарактеризованы, как «уменьшение» функции от ее выхода к ее входу. Предполагается постепенное расщепление исходной функции на подфункции, каждая из которых может быть реализована при помощи обратимой схемы.
Указанные композиционные и декомпозиционные методы построения обратимых схем могут быть многоуровневыми. Следует заметить, что данные методы являются достаточно общим, но в то же время мощным инструментов при синтезе обратимых схем. Так, большинство существующих алгоритмов синтеза можно рассматривать как композиционные или декомпозиционные.
PPRM (Positive-Polarity Reed-Muller) — создаётся дерево с корневым узлом, от которого расходятся все выходящие переменные. В последствии из всех возможных представлений лучшее преобразуется в элемент Тоффоли.
ESOP2. Метод основан на представлении булевой функции в виде суммы по mod 2 элементарных конъюнкций. Булева функция представляется в виде списка ячеек, каждая из которых соответствует одному или нескольким обратимым элементам.
Метод решающих диаграмм основан на представлении функции алгебры логики в форме двоичной диаграммы решений (BDD, Binary Decision Diagram). Узлы построенной диаграммы далее преобразуются в элементы Тоффоли.
RFTPLA. Регулярная структура обратимых отказоустойчивых программируемых логических матриц (RFTPLAs) и алгоритмы их построения описаны в [31]. Эти алгоритмы реализованы для представления функций в форме ESOP. Синтезированные схемы имеют минимальное количество вентилей и битов мусора. При синтезе используются элементы FG и F2G (см. п. 7.1).
2 SOP — Sum of Products, сумма произведений, дизъюнкция элементарных конъюнкций, ДНФ; ESOP — сумма по mod 2 элементарных конъюнкций.
Cycle-based алгоритмы, основанные на представлении заданного биективного отображения в виде произведения независимых циклов (подстановки). Данное представление заменяется на эквивалентное и, возможно, избыточное, но удобное для синтеза по частям. Алгоритмы синтеза такого типа позволяют получать обратимые схемы с асимптотически оптимальной сложностью [32].
Методы факторизации. Идея метода факторизации состоит в выборе булевой операции о (например, это может быть конъюнкция или XOR) для функции f и поиске двух функций fi и f2 таких, что
• f = fi о f2;
• с точки зрения синтеза сложность функции f больше, чем суммарная сложность функций fi и f2 совместно со сложностью реализации операции о.
В общем случае операция о может быть n-арной операцией.
Методы, основанные на применении операции «исключающее ИЛИ» (XOR).
Использование таких свойств операции XOR, как
а ф b = b ф а, а ф 0 = а, а ф 1 = а', а ф а = 0
позволяет проводить эвристический анализ и значительное упрощение уже существующих обратимых схем. Доказано, что любая схема может быть приведена к канонической форме путем использования обратимых операций, а каноническая форма в свою очередь — сведена к минимальной.
Генетические алгоритмы. В основе генетических алгоритмов лежит идея эволюционного процесса. Описание идеи построения таких алгоритмов можно найти в [33]. Описанные в различных работах генетические алгоритмы формулируются по-разному, поэтому их применение также может различаться. К недостаткам следует отнести плохую масштабируемость.
Поиск, перебор с возвращением, алгоритм «искусственного отжига» и т.д. Опи-
сания алгоритмов указанного типа также может быть найдено в [33]. Основная идея указанных методов заключается в предварительном прогнозировании последующих шагов алгоритма и принятии решения, к какому результату может привести то или иное отклонение от заданного алгоритма. Данные методы являются трудоемкими в применении, поскольку с появлением каждого нового предположения число вершин в так называемом «дереве решений» растет экспоненциально, а глубина поиска увеличивается по линейному закону.
Теоретико-групповые методы. Группа перестановок Sn является хорошо изученной. Построение схемы для функции f эквивалентно задаче нахождения длины элемента группы подстановок в заданной системе образующих. Применение таких методов включает в себя использование различного алгебраического программного обеспечения, например GAP3.
Синтез регулярных структур. Под регулярными здесь подразумеваются сети, решетки, программируемые логические матрицы (ПЛМ) и др. Идея состоит в создании метода традиционного проектирования логики из обратимых компонентов, и затем применение известных средств синтеза логических схем для создания обратимых спецификаций. Построение обратимых схем указанным способом обычно характеризуется наличием большого количества мусора, что делает невозможным его применение в технологических решениях, требующих больших затрат на мусор (например, в квантовых технологиях).
Спектральные методы Миллера. Спектром булевой функции называют её корреляцию с векторами длины 2n всех линейных функций [34]. В своих работах Миллер описывает подход к решению о выборе элемента, основанный на спектральной сложности [35, 36]. Если добавление очередного элемента уменьшает спектральную сложность, то элемент добавляется к схеме. Данный метод дает хороший результат для обратимых схем небольшого размера, однако плохо масштабируется и требует детального описания используемых обратимых элементов.
В середине 1990-х гг. в Массачусетском технологическом институте были созданы первые чипы-процессоры, сопроцессоры и запоминающие устройства с обратимой логикой, а для них написаны реализации языка Си [38]. Хотя они представляют собой лишь модели обратимых вычислителей (реального сохранения энергии не происходит, так как применяются необратимые физические процессы), они продемонстрировали возможность проектирования логических обратимых схем достаточно высокой сложности.
В настоящее время исследования в области синтеза схем на базе обратимой логике интенсивно проводятся в Massachusetts Institute of Technology (MIT) и University of Florida (UF). Исследования охватывает широкий спектр проблем физики элементов до систем программирования и теории сложности (см. страницу https://www.cise.ufl.edu/research/revcomp/ на сайте UF).
Некоторые результаты логического синтеза схем, реализованные на базе различных подходов можно найти на сайте Reversible logic synthesis benchmarks page [28].
3 Примечание GAP (от англ. Groups, Algorithms, Programming — Группы, Алгоритмы, Программирование) — свободно распространяемая кроссплатформенная система компьютерной алгебры для вычислительной дискретной алгебры с особым вниманием к вычислительной теории групп.
6.3. Вопросы сложности.
6.3.1. Сложность реализации обратимых элементов. Уже указывалось, как на элементах Переса может быть построен однобитный обратимый сумматор. Быстрый однобитный полусумматор4 состоит из 4-х гейтов Фредкина и срабатывает за время 2 т, где т — задержка на гейт; см. рис. 3.
Рис. 3. Быстрый обратимый полусумматор [37].
Сумматоры большей разрядности можно синтезировать из одного полусумматора и (п — 1) 3-битных суммирующих блоков. Пример минимального по размеру (4 гейта Фредкина) однобитного сумматора представлен на рис. 4.
Рис. 4. Реализация обратимого сумматора на элементах Фредкина [37].
Отметим замечательный факт: обратимая логика требует в разы меньше вентилей, чем классическая (см. http://akuklev.livejournal.com/941417.html). Для примера на рис. 5 приведена принципиальная схема полусумматора на двух классических функциональных элементах. Казалось бы, схема несложна. Однако КМОП-
1><
Рис. 5. Схема полусумматора на функциональных элементах
4 Полусумматор (half adder) вычисляет сумму по mod 2 битов данных разрядов двух чисел и бит переноса в следующий разряд.
реализации составляющих её элементов ХОИ.2 и АКВ2 требуют по 6 транзисторов каждый. В результате получим, что классический полусумматор состоит из 12 транзисторов при задержке 8 т.
Отметим, что задержка 64-битного классического сумматора составляет более 130т, а соответствующего обратимого сумматора на гейтах Фредкина — 66т. Для аналогичного быстрого (со схемами ускоренного переноса) сумматора задержка составляет 12т, что всё равно на 3т медленее быстрого обратимого сумматора на ГО. Заметим, также величина т для КМОП-транзисторов по фундаментальным причинам на порядки больше соответствующей величины т для ГО [38].
6.3.2. Оценки сложности обратимых схем. Пусть B — некоторая заданная библиотека обратимых элементов. Рассмотрим произвольную B-конструируемую функцию f : Zn ^ Z". Среди всех B-конструируемых схем, реализующих функцию f с использованием q дополнительных входов, мы можем найти схему минимальной сложности. Обозначим через L(f, q) сложность этой обратимой схемы. Определим функцию Шеннона сложности L(n, q):
L(n,q) = max{L(f, q)}
где максимум берется по всем функциям f : Zn ^ Zn, реализуемым B-конструируемыми схемами с q дополнительными входами.
Оценки сложности тех или иных алгоритмов синтеза позволяют получить верхние оценки сложности для схем из обратимых элементов. В работах [32, 39, 40] было разработано несколько новых алгоритмов синтеза обратимых схем для библиотеки элементов NCT. Существенное отличие данных алгоритмов от известных аналогов заключается в том, что для синтезируемых ими обратимых схем доказана асимптотическая оптимальность сложности в худшем случае.
Пусть требуется реализовать некоторое отображение на множестве двоичных векторов длины n. Тогда L(n, q) — сложность обратимой схемы в худшем случае, где q — количество дополнительных входов схемы. Cycle-based алгоритм, разработанный в работе [40], позволяет получить обратимую схему без дополнительных входов сложности не более
w , ^ 48n2n
L(n, 0) < --.
log2 П
Для синтеза произвольного отображения на множестве двоичных векторов длины n в [40] был разработан алгоритм синтеза, являющийся модификацией стандартного метода Лупанова и оптимизированный под различное количество дополнительных входов q. Данный алгоритм позволяет получить обратимую схему сложности не
более
8п2п
при п2 < д < 2п-о(п).
Стоит отметить, что сложность синтезированной обратимой схемы, как это видно из оценок выше, существенно зависит от количества дополнительных входов: чем их больше, тем меньше сложность схемы в худшем случае.
Для линейных обратимых преобразований в [41] был предложен оптимальный метод синтеза, который в худшем случае дает схемы из элементов СКОТ сложности О (п2/ 1с^2 п). Помимо того, что данный алгоритм дает схемы меньшей сложности по сравнению со стандартным методом, он также является более эффективным в смысле времени работы, а именно О (п3/ 1og2 п) по сравнению с временем О (п3) в случае синтеза на основе метода Гаусса.
Для получения нижних оценок сложности в основном используется мощностной метод Риордана-Шеннона и получить эти оценки, как правило, весьма не просто. Тем не менее, ряд нижних оценок удается получить из достаточно элементарных соображений.
Как уже было отмечено выше, множество всех подстановок, реализуемых В-схемами с п входами и п выходами, является подгруппой (В)п симметрической группы Б2п, образующими элементами группы (В)п являются подстановки, соответствующие элементам библиотеки В. С этой точки зрения минимальная сложность схемы, реализующей подстановку п Е (В)п, есть ничто иное, как длина элемента п относительно системы образующих В, а функция Шеннона Ь(п, 0) — длина группы (В)п относительно той же системы образующих. Очевидно, что длина Л(О, М) конечной группы О относительно системы образующих М удовлетворяет неравенству
Л(О,М) ^ |О|.
Тогда, применяя это неравенство к знакопеременной группе А2п, п > 3, которую порождают элементы КСТ-библиотеки, учитывая, что |О| = |А2п| = (2п)!/2, |М| = 2=0(п — к)СП = п (1+о(1)), получаем следующую нижнюю оценку для Ь(п, 0):
0) > 1сg2((2n)!/2) > 1сg2 2п2" — 1сg2 в2"
^(п3/2) ~ 31сg2 п п2п
Ь(п, 0) > .
3 ^ п
Таким образом, установлен порядок роста функции Шеннона для схем без дополнительной памяти:
п2п
Ь(п, 0) п2
3log2 n'
Для схем с п основными и д дополнительными входами в [42] было доказано, что почти все отображения на множестве двоичных векторов длины п реализуются со сложностью Ь(п, д) > п2п/ ^2(п + д).
В результате получаем, что для диапазона значений д
n2 < q < 2n-o(n)
выполняется асимптотическое равенство
n2n
L(n,q)
1og2 q
и, таким образом, алгоритм синтеза [40] является асимптотически оптимальным.
В работе [43] была получена более общая оценка порядка роста функции Шеннона: для любого значения q такого, что 0 ^ q < 2n-o(n), верно соотношение
n2n
L(n,q) х 1—?—гт.
bg2(n + q)
Таким образом, использование дополнительной памяти в обратимых схемах, состоящих из элементов NOT, CNOT и TG, почти всегда позволяет существенно снизить сложность, глубину и квантовый вес5 таких схем, что существенным образом отличает схемы из обратимых элементов от схем из классических элементов [43]. В результате, в процессе синтеза обратимой схемы зачастую приходится искать компромисс, выбирая между большими либо сложностью схемы, либо количеством дополнительных входов.
6.4. Физическая реализация обратимых вычислений. К сожалению, до сих пор не удалось создать адекватную физическую реализацию обратимых вычислений в виде ИС. На сегодняшний день известны следующие подходы к данной задаче [3-5, 21, 44, 45]:
1) КМОП-технология с пониженным потреблением энергии;
2) ПЗС-структуры6;
3) цифровые оптические вычислительные устройства, использующие оптические солитоны;
4) спинтроника (использующая поляризованные потоки электронов);
5) фотонная логика (использующие поляризованные потоки фотонов);
6) квантовые вычислительные устройства.
5 Квантовым весом обратимых функциональных элементов называют количество одно- и двухку-битных квантовых вентилей, необходимых для их реализации в квантовой технологии.
6 приборы с зарядовой связью
На сегодняшний день считается, что обратимые элементы могут быть эффективно реализованы лишь на базе спинтроники7 или фотонной логики, а обычная электроника обречена использовать обычные транзисторы (цит. по https://habr.com/post/114579/). Системы клеточных автоматов, возможно, удастся построить из молекул; см. рис. 6 с сайта Йельского университета.
Рис. 6. Одномолекулярный транзистор.
7. Некоторые приложения обратимой логики 7.1. Синтез сбоеустойчивых обратимых схем.
7.1.1. Проблема надёжности ИМС. Повышение надёжности функционирования ИМС остаётся актуальной проблемой синтеза. Важной стороной задачи синтеза таких схем остаётся проблема устойчивости их к кратковременным самоустраняемым отказам — сбоям (SEU, single event upsets).
Считается, что интенсивность сбоев на порядок превышает интенсивность отказов — потери способности устройства выполнить требуемую функцию. Причиной сбоев является воздействие на схему различных видов помех: радиационных, скачков напряжения питания, деградация сигналов во времени и др., и чем выше частота тактовой синхронизации, тем больше вероятность сбоя.
Ионизация высокой интенсивности, вызванная а- и y-излучением, а также тяжёлыми заряженными частицами (протонами и нейтронами) создает импульсы переходного тока, которые могут вызвать переключение битов в схемах функциональной
7 Элементарные логические необратимые вентили спиновой электроники потенциально обладают задержкой т « 1 нс и тепловыделением 10-17 Дж
логики, что делает схему временно неисправной. Поэтому сбоеустойчивость является важнейшим требованием к аппаратуре, работающей в тяжёлых условиях космоса. В настоящее время в мире активно развивается направление радиационно-стойкого проектирования (RHBD, Radiation Hard by Design), основанного на использовании схемотехнических, топологических и алгоритмических методов повышения сбоеустойчивости.
Одиночная неисправность того или иного элемента может привести к кратной ошибке на выходе всей схемы (конус ошибок). Однако возможно и непроявление (маскирование) возникших ошибок элементов.
7.1.2. Самопроверяемые обратимые схемы. Диагностика сбоев. Построение самопроверяемых схем — традиционный подход к решению поставленной проблемы.
Самокорректируемость функциональных блоков есть свойство обнаруживать и исправлять неисправности как в основной, так и в контролирующей аппаратуре. Последнее свойство позволяет избежать проблемы "сторожа над сторожем". В этом случае говорят о схемной избыточности. При возникновении ошибки контролирующая схема обеспечивает пересчет значений выхода основной схемы. Такой пересчёт может повторяться неоднократно (CED, Concurrent Error Detection), что иногда может привести к большой задержке времени получения результата.
Создание самокорректируемых схем есть задача синтеза вычислительных устройств с дополнительными требованиями. Считают, что гейты могут кратковременно выходить из строя, изменяя биты на своём выходе. Для обнаружения и/или исправления таких ошибок исходная схема усложняется за счёт включения в неё дополнительных блоков. Заметим здесь, что для большинства параметрических семейств функций алгебры логики f (xi,... , xn) доказана возможность построения самокорректирующих схем, сложность которых на логическом уровне асимптотически (при n ^ то) равна сложности схем без самокоррекции [46].
В простейшем случае сбоеустойчивая схема обеспечивает лишь обнаружение возникшей ошибки. Для этого используют либо схемы контроля чётности (сумма по mod 2), либо схемы, устойчивые к ошибкам (логика, имеющая запас прочности). Схемы первого типа обеспечивает обнаружение однократной ошибки, в то время как схемы второго типа могут обеспечить обнаружение кратных ошибок.
Обзор известных подходов к синтезу сбоеустойчивых обратимых схем дан в [29], там же могут быть найдены все необходимые ссылки. Приведённые там подходы делятся на два класса.
Первый заключается в построении элементов, обеспечивающих контроль чётности своих выходов с использованием далее общих методов синтеза. Второй связан
с обеспечением контроля чётности уже синтезированных схем. Большинство известных методов находятся в рамках первого класса. Разработан универсальный способ преобразования произвольных обратимых элементов в гейты, сохраняющие чётность. Методы второго класса часто требуют значительного перепроектирования уже имеющихся схем. Отметим, что такой ресинтез ИМС требует существенных затрат. При этом увеличивается количество ключей, добавляются новые проверяющие элементы и увеличивается количество мусора.
Рассмотрим сначала обратимые логические элементы с контролем чётности. Обратимый элемент называют элементом, сохраняющим чётность, если чётности входных и выходных данных совпадают.
Укажем основные элементы, сохраняющие на выходе чётность входа. Это свойство нетрудно проверяется по таблицам истинности, строящимся по нижеприведённым формулам.
1. Элемент Фредкина FRG, рассмотренный выше.
2. Двойной элемент Фейнмана (F2G, Feynman Double Gate) — обратимый сохраняющий чётность 3 х 3-гейт, реализующий формулы
P = A, Q = A ф B, R = A ф C.
3. Новый сбоеустойчивый элемент (NFT, New Fault Tolerant Gate) — обратимый сохраняющий чётность 3 х 3-гейт, реализующий формулы
P = A ф B, Q = B 'C ф AC', R = BC ф AC'.
4. Элемент Ислама8
(IG, Islam Gate) — обратимый сохраняющий чётность 4 х 4-гейт, реализующий формулы
P = A, Q = A ф B, R = AB ф C, S = BD ф B '(A ф D).
5. Модифицированный элемент Ислама (MIG, Modified IG) — улучшенная версия IG, реализующая для первых трёх выходов те же формулы, что и IG и S = AB'фD.
Обратимый элемент называется устойчивым, если вес Хэмминга (количество логических единиц) одинаков для входа и выхода. Только один из приведённых выше элементов является устойчивым — это элемент Фредкина FRG, что легко определяется по его таблице истинности. Устойчивые элементы хоть и обеспечивают обнаружение более чем одной ошибки, но их создание сопряжено с увеличением сложности элемента.
8 предложен Сайфулом Исламом [47]
Схема называется сбоеустойчивой, если она обеспечивает обнаружение ошибок на своём выходе. Переходя от элементов к схемам, замечаем, что существует два вида сбоеустойчивых схем: схемы, сохраняющие чётность, состоящие из сохраняющих чётность обратимых элементов, и схемы, устойчивые к ошибкам. Примером схемы первого вида может служить сумматор, показанный на рис. 7.
Д-
В-00
ю
ю А@В
АВ (-¡п"
-6;
С„л= (А@В)С1П@АВ -6:
Рис. 7. Однобитный обратимый сумматор на элементах Ю [47].
Обратимая схема называется устойчивой, если она сохраняет количество логических единиц для каждой пары вход/выход. Такие схемы более сложны в реализации. Пример сбоеустойчивого полного сумматора можно найти в [37].
Для диагностики сбоев применяют системы тестового (оффлайн) и функционального (онлайн) диагностирования. В системах функционального диагностирования входными воздействиями, поступающими на схему, являются воздействия, предусмотренные алгоритмом её штатной работы. При тестовом диагностировании на входы схемы подаются специально созданные тестовые воздействия (некоторые из которых могут быть неосуществимы в процессе стандартного функционирования). Ясно, что с учётом возрастающей сложности ИМС становится всё более сложно проверить функционирование тех или иных блоков моделированием различных входных последовательностей.
7.1.3. Функциональное диагностирование. Опишем кратко методы синтеза функционально диагностируемых обратимых схем; все ссылки см. в [29], рисунки взяты оттуда же.
1. Схемы на базе элементов Д1, Д2 и Д. Данный метод основан на использовании трёх новых обратимых элементов, названных авторами И1, И2 и И,, см. рис. 8.
Рис. 8. Элементы И1, И2 и И.
Элемент R1 может при различных адресных входах реализовать штрих Шеффе-ра (NAND), дизъюнкцию (OR), сумму по mod 2 (XOR), эквивалентность (XNOR), а сигнальный выход q реализует сумму по mod 2 всех выходов. Элемент R2 имеет единственный управляемый вход r, которому соответствует сигнальный выход s, реализующий сумму по mod 2 всех 4-х входов. Схемы (TB, тестируемые блоки) составляются из этих элементов, см. рис. 9.
Рис. 9. Соединение элементов R1 и R2 и синтезированная схема TB.
Итоговая схема TB содержит два выхода чётности — q и s. Далее строится проверяющая схема (checker circuits) из 8 элементов R для тестирования указанных выходов двух тестируемых блоков, см. рис. 10. Для большего числа блоков используются
qi-
Si ;
Checker circuit
-> e,
-4 «2
Рис. 10. Проверяющая схема.
каскады проверяющих схем.
Недостатком этого метода является то, что ошибки сбоев, возникших между двумя TB не диагностируются.
Метод также требует переформирования схемы, при этом увеличивается количество вентилей и требуется наличие проверяющего элемента.
2. Схемы, использующие онлайн-тестируемые элементы (OTG, Testable Circuits using Online Testable Gate). Метод основан на использовании новых 4 х 4 обратимых элементов OTG, см. рис. 11.
Новые блоки строятся последовательным соединением R2 и OTG, см. рис. 12. Так же был предложен новый проверяющий элемент, основанный не на 8 элементах R (как это было необходимо для схем, основанных на элементах R, R1 и R2), а на
f. и = а —>v=яфЬ
—> w= (а фЬ)с ф(abop) —> q = ЭФЪФС
Рис. 11. Элемент OTG.
d е f г
R2 -J OTG
—^ s р —>
d —Э
« е —>
з4 V f ггЗ
—> w г
q Р ■Hi
Block
<>) (b) Рис. 12. Элемент OTG.
■ и
■ V
■ W
■ S
■ q
четырёх элементах Тоффоли и двух элементах Фредкина. Но и этот метод обеспечивает лишь частичную защиту. Метод также приводит к увеличению количества вентилей и выходного мусора. При этом, однако, отсутствует необходимость перепроектирования схемы.
Метод не имеет особых преимуществ перед предыдущими. Однако основным недостатком этих трёх методов является обеспечение лишь частичного фиксирования ошибок.
3. Схемы с парофазными каналами (Testable Circuits using Dual Rail Reversible Gates). Метод использует набор вводимых обратимых 4 х 4 элементов с двумя парами входов, на каждый из которых сигнал подаётся в парофазном виде: 01 или 10. Непарофазный выход означает возникновение битовой ошибки. Здесь нет необходимости в элементе проверки, так как ошибка фиксируется проверкой выходного вектора. Однако недостатком этого метода является необходимость замены формата основной схемы, поскольку он не работает с базовыми обратимыми элементами. Таким образом, метод обеспечивает исчерпывающее тестирование, однако требует ресинтеза схем.
4. Схемы на ESOP. Метод заключается в следующем:
1): в схему добавляют дополнительную линию L;
2): все n-битовые элементы Тоффоли заменяются на (n + 1)-битовые ETG;
3): для каждого элемента NOT, найденного в схеме, добавляется один элемент NOT на линии L;
4): добавляется д элементов СКОТ на линию Ь для всех выходных линий, где д — количество выходных линий;
5): добавляются 2р элементов СКОТ на линию Ь, по р элементов с каждой стороны от уже полученной схемы, где р — количество входных линий.
Рассмотрим пример получения из обратимой схемы, основанной на ЕБОР, тестируемой онлайн схемы, см. рис. 13.
Рис. 13. Построение схемы ЕБОР: (а) — исходная и (Ь) — полученная сбоеустойчивая схемы.
Плюсами данного метода является лёгкость в реализации.
6. Онлайн-тестируемые обратимые схемы, основанные на ЕТО: В 2011 г. Найим и др. предложили ещё один метод, являющийся модификации предыдущего [48]. Новый метод возможно применить для всех схем, имеющих только элементы Тоффоли:
1): в схему добавляют линию Ь;
2): все п-битовые элементы Тоффоли заменяются на (п + 1)-битовые ЕТО;
3): добавляются 2р элементов СКОТ на линию Ь, по р элементов с каждой стороны от уже полученной схемы, р — количество линий, которые работают как выходные, так и входные.
4): в отличии от предыдущего метода, количество элементов NOT подсчитывает-ся и, если оно нечётное, то добавляется один элемент NOT на линию L в конец схемы.
Пример см. рис. 14.
h -fl
( л ч, J
J К J
с
-С v -ч / J v \ Щ к у <-4 U г i-r Л J v ^ ГЛ ) \-.J
II % 1з и С! с2 с3 с4 с3 Й1 е2 е3 ед с5 с7 с5 Со сш
(а) (Ь)
Рис. 14. Построение сбоеустойчивой схемы на ЕТО: (а) — исходная и (Ь) — полученная сбоеустойчивая схемы.
Последние два метода не требуют ресинтеза исходной схемы. Также они явно эффективнее по количеству добавляемых вентилей.
7.1.4. Сбоеустойчивость в хэмминговом пространстве. При построении обратимых элементов на основе помехоустойчивого кодирования в пространстве Хэмминга [49, 50] обеспечивается гарантированное автоматическое исправление любой одиночной ошибки. Отметим сразу, что этот метод не связан прямо с применением теории помехоустойивого кодирования выходов схем [51, 52].
Рассмотрим пространство Хэмминга размерности 3, т. е. каждый сигнал будем представлен тремя битами. Например, булевы значения 0 и 1 будем кодировать как 000 и 111, соответственно. Договоримся троированный сигнал А в этом случае обозначать с соответствующими нижнимим индексами: А1, А2, А3.
Для реализации сбоеустойчивых элементов и схем в таком случае воспользуемся обратимым воутером, который будем обозначать У1:
Рис. 15. Обратимый воутер У1: схема на элементах Тоффоли
Тогда, например, обратимый элемент отрицания в Хэмминговом пространстве (обозначим его ИКОТ) может быть реализован следующим образом — см. рис. 16.
Рис. 16. Элемент HNOT
Очевидным преимуществом данного подхода по созданию сбоеустойчивых схем является исправление ошибок за счёт определённых операций в пространстве Хэм-минга: исправление будет происходить уже на следующем элементе в схеме в процессе выполнения вычислений. Платой за такую защиту является увелечение аппаратной сложности схем. Например, если за аппаратную сложность брать количество элементов NOT в схеме, то для приведённого элемента HNOT сложность увеличилась с одного (обычный обратимый элемент NOT) до 12 элементов суммы по mod 2.
Некоторые обратимые элементы в пространстве Хэмминга приведены в [53].
7.2. Использование схем из обратимых логических элементов в криптографии. Использование в криптографии обратимой логики и схем из обратимых элементов не является новой идеей [54]. Основными причинами заинтересованности в них, помимо очевидных вопросов снижения потребления энергии и рассеиваемого тепла, являются вопросы дополнительной защиты от утечек по побочным каналам. Так, одним из действенных методов современного криптоанализа является так называемая «разностная атака по мощности», которая использует информацию об энергопотреблении криптографического устройства. Известно, что энергия, потребляемая устройством, меняется в зависимости от обрабатываемых данных и выполняемых на разных этапах алгоритма команд, что дает возможность определить характеристики криптографического устройства и, в частности, используемый ключ криптоалгоритма. Важно отметить, что идеальная реализация схемы из обратимых элементов, теоретически, вообще лишена недостатков, связанных с возможностью утечки информации по соответствующему побочному каналу, что делает такие схемы очень привлекательными для использования в криптографических целях.
В этой связи наибольшее внимание было уделено схемам из обратимых элементов, реализующим многоразрядные арифметические операции. Эти операции используются в большинстве ассиметричных криптосистем. К примеру, в современной реализации системы шифрования с открытым ключом RSA используются операции модульного сложения и модульного умножения 1024-3072-битовых чисел.
Исследования в этой области за последнее время ведутся со все возрастающей интенсивностью. Так различными авторами были предложены такие обратимые схемы, как, например, полусумматор, полный сумматор, триггер, умножитель. Из последних работ этого направления стоит выделить [55-64].
Среди них схемы умножения имеют особое значение. Так, еще в 1994 г. в работе [65] при помощи обратимой логики разрабатывается схема обратимого умножителя, которая потребляет на 99% меньше энергии, чем её классическая КМОП-реализация. В [66] была также предложена низкомощностная и высокоскоростная архитектура умножителей, основанная на необратимых элементах, а затем в 2005 году в [67] была предложена ее обратимая версия. В работе [54] предлагается обратимая реализация схем сложения и умножения в поле, как наиболее затратных по энергопотреблению операций АЛУ криптопроцессора. Авторы используют элемент TSG, предложенный в [68], и на его базе реализуют полный сумматор, а также умножитель Монтгомери. Этот вопрос получил развитие в работе [69]. Её авторы предлагают реализацию схем обратимых мультиплексоров, регистров и сдвиговых регистров, основываясь на модифицированных элементах TSG (MTSG), представленных в [70]. Это позволило им реализовать схему умножителя Монтгомери, более выгодную в вопросах элементной сложности, количества мусорных выходов и квантового веса.
Вскоре были предложены другие обратимые схемы для умножения [71]. Они имели меньшую сложность, количество мусорных бит было также сокращено, но достигнуто это было, как правило, с помощью введения новых обратимых элементов. Например, элементов MKS и HNG, введенных в [72], или PFAG-элемента, введенного в [73].
Операцией, обратной к операции возведения в степень элемента циклической группы, является операция дискретного логарифмирования, играющая ключевую роль в современной криптографии. В работах [39, 40] рассматривается алгоритм дискретного логарифмирования по основанию примитивного элемента в конечном поле характеристики 2 и его реализация обратимыми схемами, как без дополнительной памяти, так и с дополнительной памятью. Доказывается верхняя асимптотическая
оценка сложности обратимой схемы, реализующей алгоритм дискретного логарифмирования; показывается, что уже при использовании n дополнительных входов, где n — степень расширения поля, сложность таких схем существенно снижается. Данная оценка асимптотически ниже, чем для произвольного булева преобразования, и достигается при асимптотически меньшем количестве дополнительных входов.
Одним из важнейших понятий для современной криптографии является однонаправленная функция (one-way function), т. е. функция, вычислить значение которой можно за время, полиномиальное от числа битов входа, в то время как вычислить за полиномиальное время функцию, обратную к ней — не представляется возможным. Это определение, на первый взгляд, идёт в разрез с принципами обратимой логики, согласно которым «зеркальная» схема для обратного преобразования должна иметь ту же сложность. Из этого противоречия можно сделать вывод, что либо однонаправленные функции на деле не существуют, либо что их невозможно реализовать при помощи схем из обратимых элементов.
В работе [74] исследуется этот вопрос и доказывается, что такой вывод является ложным, обратимая логика позволяет реализовывать однонаправленные функции, а её использование не исключает возможность их существования. Авторы показывают, что различие в сложности реализации схем для прямой и обратной функций кроется в следующем факте: для построения схемы из обратимых элементов, реализующей однонаправленную функцию, необходимо использовать дополнительные (мусорные линии), значения на которых после выполнения алгоритма схемой не входят в число битов ответа и могут быть проигнорированы, однако необходимы для осуществления обратного преобразования, см. рис. ??. Именно незнание значений этих битов (garbage outputs) обусловливает сложность обращения прямого преобразования.
В [75, 76] предлагается развитие данного взгляда на вопрос однонаправленности. Схема из обратимых элементов, реализующая однонаправленную функцию, должна иметь некоторое количество мусорных линий с неопределёнными значениями на выходе и, в следствие этого, не является обратимой. Автор (также один из авторов данной статьи) рассматривает подход, заключающийся в модификации таких схем с целью получения на мусорных линиях константных значений, не зависящих от значений, поданных на вход. Такая процедура называется уборкой мусора и требует введения в схему дополнительных элементов. Количество элементов, отвечающих за уборку мусора в схемах, реализующих прямое и обратное преобразование, различается, что и обусловливает различия в сложности вычисления однонаправленной функции и обратного ей преобразования, см. рис. 17.
X
О
прямое преобразование
уборка мусора для обратного преобразования
X общая подсхема У
€1
уборка мусора
для прямого преобразования
х
о
обратное преобразование
Рис. 17. Обратимая схема с уборкой мусора
8. Выводы
Обратимые вычисления — новая и развивающаяся парадигма вычислений, альтернативная существующей. Она обеспечивает принципиальную возможность выхода из ситуации «теплового проклятия». Важным является то, что обратимость возникает на всех уровнях вычислительных технологий, от схемотехники до физической реализации вычислений и на всех уровнях её необходимо поддерживать обратимость.
Обратимость возникает на всех уровнях вычислений. Это теория (алгебра и логика) вычислений, языки и парадигмы программирования, реализация прикладных программ и алгоритмов, схемотехника и, наконец, физическая реализация обратимых элементов.
На сегодняшний день теория логического синтеза обратимых схем активно развивается. Разные исследователи предлагают те или иные подходы к данной проблеме, но общих методов такого синтеза сбоеустойчивых схем ещё не разработано.
В последнее время проектные нормы ИМС уменьшаются до единиц нанометров, что влечёт уменьшение порога энергии заряженных частиц, вызывающего сбои. Это требует развития методов синтеза сбоеустойчивой вычислительной техники. В этой области настоятельной необходимостью является создание таких обратимых сбое-устойчивых стандартных элементов, как мультиплексор, демультиплексор, шифратор, дешифратор, сумматор и триггеры и др. Интересным и актуальным является направление, находящееся в общей области указанных направлений развития вычислительной техники: синтеза обратимых и сбоеустойчивых схем.
Теоретически интересным и практически важными является применение понятий обратимых вычислений в криптографии.
СПИСОК ЛИТЕРАТУРЫ
1. Bennett C. H. (1973) Logical reversibility of computation. IBM J. Res. Develop.. (17(6)). p. 525-532.
2. Fredkin, E. & Toffoli, T. (1982) Conservative Logic. International Journal of Theoretical Physics. (21(3/4)). p. 632-644.
3. Бобков, С. Г. Высокопроизводительные вычислительные системы. — М.: НИИСИ РАН, 2014. — 296 c.
Bobkov, S. G. (2014) High performance computing systems. Moscow: NIISI RAN.
4. Маймистов, А. И. Обратимые логические элементы — новая область применения оптических солитонов // Квантовая электроника. — М: ФГБУН Физический институт им. П.Н. Лебедева РАН, 1995. — Т. 22 (10). — C. 1044-1048.
Maimistov, A. I. (1995) Reversible logic elements — a new field of application of optical solitons. Quantum electronics. 22 (10). p. 1044-1048.
5. Merkle, R. C. (1993) Reversible Electronic Logic Using Switches. Nanotechnology. 4. p. 21-40.
6. Кучеренко, И. В. Обратимые клеточные автоматы // Дисс... канд. физ.-мат. наук. — М., 2012. — 147 с.
Kucherenko, I. V. (2012) Reversible Cellular Automata. Thesis ... PhD (Phys&Math). Moscow.
7. Schiff, J. L. (2007) Cellular automata. A Discrete View of the World. A John Wiley & Sons Inc., Publication. University of Auckland.
8. Margolus, N. (1984) Physics-like models of computation. Physica D: Nonlinear Phenomena. 10. p. 81-95.
9. Vichniac, G. (1984) Simulating physics with cellular automata. Physica D: Nonlinear Phenomena. 10. p. 96-115.
10. Wolfram, S. (1984) Cellular Automata as Models of Complexity. Nature. 311. p. 419-424.
11. Kauffman, S. A. (1969) Metabolic stability and epigenesis in randomly constructed genetic nets. J. Theor. Biol. 22. p. 437-467.
12. Сухинин, Б. М. Разработка генераторов псевдослучайных двоичных последовательностей на основе клеточных автоматов // НАУКА И ОБРАЗОВАНИЕ: Научное издание МГТУ им. Н. Э. Баумана. — М.: Национальный Электронно-Информационный Консорциум, 2010. — № 9. — C. 8.
Sukhinin, B. M. (2010) Development of pseudorandom binary sequence generators based on cellular automata. SCIENCE AND EDUCATION: Scientific publication of MSTU named after N. E. Bauman. № 9. p. 8.
13. Durand, B. (1994) Inversion of 2D cellular automata: some complexity results. Theoretical Computer Science. 134 (2). p. 387-401.
14. Ключарёв, П. Г. NP-трудность задачи о восстановлении предыдущего состояния обобщенного клеточного автомата // НАУКА И ОБРАЗОВАНИЕ: Научное издание МГТУ им. Н. Э. Баумана. — М.: Национальный Электронно-Информационный Консорциум, 2012. — № 1. — C. 11.
Klucharev, P. G. (2012) NP-difficulty of the problem of restoring the previous state of a generalized cellular automaton. SCIENCE AND EDUCATION: Scientific publication of MSTU named after N. E. Bauman. 1. p. 11.
15. Bennett C. H. (1989) Time/space trade-offs for reversible computation. SIAM J. Comput. 18 (4). p. 766-776.
16. Bennett, C. H. & Landauer, R. (1985) The Fundamental Physical Limits of Computation. Scientific American. July. p. 48-56.
17. Toffoli T. Revercible Computing // Automata, Languages and Programming / de Bakker (ed.). — Springer-Verlag, 1980. — C. 632-644.
18. Shende, V. V. & Prasad, A. K. & Markov, I. L. & Hayes, J. P. (2003) Synthesis of Reversible Logic Circuits. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. 22 (6). p. 710-722.
19. Coppersmith, D. & Grossman, E. (1975) Generators for certain altemating groups with applications to cryptography. SIAM J. Appl. Math. 29 (4). p. 624-627.
20. Even, S. & Goldreich, O. (1983) DES-like functions can generate the alternating group. IEEE Trans. Inform. Theory. IT-29 (6). p. 863-865.
21. Маслов, Д. Роль обратимости в компьютерных технологиях будущего // [Электронный ресурс]. — Режим доступа:
http://www.kinnet.ru/cterra/538/33163.html, свободный — (01.09.2019).
Maslov, D 2004 // The role of reversibility in computer technology of the future [Электронный ресурс]. — Режим доступа:
http://www.kinnet.ru/cterra/538/33163.html, free — (01.09.2019).
22. Foster, J. N. (2010) Bidirectional programming languages Technical Report MS-CIS-10-08. Department of Computer & Information Science University of Pennsylvania — March 13.
23. Yokoyama, T. & Gluck, К. (2007) A reversible programming language and its invertible self-interpreter. Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation (PEPM '07), ACM, New York, NY, USA. 1. p. 144-153.
24. Yokoyama, T. (2010) Reversible Computation and Reversible Programming Languages. Electronic Notes in Theoretical Computer Science. 253 (6). p. 71-81.
25. Kalyan, S. & Perumalla,P. (2014) Introduction to Reversible Computing. CRC Press.
26. Непейвода, Н. Н. От численного моделирования к алгебраическому // Параллельные вычисления и задачи управления РАС0'2012. Труды 6-й международной конференции. — ИПУ РАН, 2012. — Т. 1. — C. 93-103.
Nepejvoda, N. N. (2012) From numerical modeling to algebraic. Parallel computing and control tasks RAS0'2012. Proceedings of the 6th International Conference. 1. p. 93-103.
27. Wille, R. & Große, D. & Teuber, L. & Dueck, G. W. and & Drechsler, R. (2008) Revlib: An online resource for reversible functions and reversible circuits. International Symposium on Multiple Valued Logic. May 2008. p. 220-225.
28. Maslov, D.. (2018) Reversible logic synthesis benchmarks page. [Online] Available from: http://www.cs.uvic.ca/ dmaslov. [Accessed: 31.08.2019].
29. Jain, A. (2015) Fault Tolerant Synthesis of Reversible Circuits. LAMBERT Academic Pablisher.
30. Maslov, D. A. Reversible Logic Synthesis. — Ph.D. Thesis. University of New Brunswick Fredericton, N.B., Canada, 2003. — 165 c.
31. Rahman, R. & Jamal, L. & Babu, H. M. H. (2011) Design of reversible fault tolerant programmable logic arrays with vector orientation. Int. J. Inf. Commun. Technol. Res. 1 (8). p. 337-342.
32. Закаблуков, Д. В. Быстрый алгоритм синтеза обратимых схем на основе теории групп подстановок // Прикладная дискретная математика. — ФГАОУ ВО «Национальный исследовательский Томский государственный университет», 2014. — № 2 (24). — C. 101-109.
ZakablukovD. V. (2014) Fast synthesis algorithm for reversible schemes based on the theory of permutation groups. Applied Discrete Math. 2 (24). p. 101-109.
33. Карпенко, А. П. Современные алгоритмы поисковой оптимизации. Алгоритмы, вдохновленные природой: учебное пособие / А. П. Карпенко. — М: Издательство МГТУ им. Н. Э. Баумана, 2014. — 446 c.
34. Hurst, S. L. & Miller, D. M. and & Muzio, J. C. (1985) Spectral Techniques in Digital Logic. Academic Press, Orlando, Florida.
35. Miller, D. M. (2002) Spectral and two-place decomposition techniques in reversible logic. Proc. IEEE Midwest Symp. Circuits and Systems, August 2002. p. .
36. Miller, D. M. and & Dueck, G. W. (2003) Spectral techniques for reversible logic synthesis. 6th International Symposium on Representations and Methodology of Future Computing Technologies, March 2003. 2. p. 56-62.
37. Bruce, J. W. & Thornton M. A. & Shivakumaraiah, L. & Kokate, P. S. & Li, X. (2002) Efficient Adder Circuits Based on a Conservative Reversible Logic. IEEE Computer Society Annual Symposium on VLSI, Pittsburgh, PA April 25-26, 2002. 1. p. 83-88.
38. Бобровский, С. (2005) Будет ли обратимым зеттафлопсный компьютер?. PC Week/RE. [Online] 12 (474). p. 5. Available from:
https://www.itweek.ru/themes/detail.php?ID=70038. [Accessed: 31.08.2019].
Bobrovsky, S. (2005) Will a zettflops computer be reversible?. PC Week/RE. [Online] 12 (474). p. 5. Available from:
https://www.itweek.ru/themes/detail.php?ID=70038. [Accessed: 31.08.2019].
39. Жуков, А. Е., Закаблуков, Д. В., Засорина, Ю. В., Чикин, А. А. Вычислительно асимметричные преобразования и схемы из обратимых элементов // Вопросы кибербезопасности. — М.: Закрытое акционерное общество Научно-производственное объединение «Эшелон», 2015. — № 2 (10). — C. 49-54.
Zhukov, A. E., & Zakablukov, D. V., & Zasorina, Yu. V., & Chikin, A. A. (2015) Computationally asymmetric transformations and schemes of reversible elements. Cybersecurity issues. 2 (10). p. 49-54.
40. Закаблуков, Д. В. Методы синтеза обратимых схем из функциональных элементов NOT, CNOT и 2-CNOT // Дисс... канд. физ.-мат. наук. - М., 2018. - 139 с.
Zakablukov, D. V. (2018) Methods for the synthesis of reversible circuits from, functional elements. Thesis ... PhD (Phys&Math). Moscow.
41. Patel, K., N. & Markov, I., L. & Hayes, J., P. (2008) Optimal synthesis of linear reversible circuits. Quantum Information and Computation. 8 (3-4). p. 282-294.
42. Закаблуков, Д. В. Вентильная сложность обратимых схем как мера сложности четных подстановок // Вестник МГТУ им. Н. Э. Баумана, серия «Приборостроение». — М.: ФГБОУ ВО Московский государственный технический университет имени Н.Э. Баумана (национальный исследовательский университет), 2015. — № 1(100). — C. 67-82.
Zakablukov, D. V. (2015) Gate complexity of reversible circuits as a measure of the complexity of even permutations. Bulletin of MSTU N. E. Bauman, series «Instrument-making»». 1 (100). p. 67-82.
43. Закаблуков, Д. В. О синтезе обратимых схем с малым числом дополнительных входов из элементов NOT, CNOT и 2-CNOT // [Электронный ресурс]. — Режим доступа:
https://arxiv.org/abs/1802.02346, свободный — (01.09.2019).
44. Nakata, S. (2009) Recent Progress in Adiabatic Circuits. Recent Patents on Electrical Engineering. 2. p. 40-44.
45. Liu, B. (2009) Reconfigurable double gate carbon nanotube field effect transistor based nanoelectronic architecture. Asia and South Pacific Design Automation Conference, ASP-DAC 2009. 2. p. 19-22.
46. Яблонский, С. В. Некоторые вопросы надежности и контроля управляющих систем // Математические вопросы кибернетики. — М.: Наука, 1988. — 1. — C. 5-25.
Yablonskii, S. V. (1988) Some issues of reliability and control of control systems. Mathematical Problems of Cybernetics. 1. p. 5-25.
47. Islam, Md. Saiful & Rahman, M. M. & Begum, Z. Synthesis of fault tolerant reversible circuits // [Электронный ресурс]. — Режим доступа:
https://arxiv.org/ftp/arxiv/papers/1008/1008.3340.pdf, свободный — (01.09.2019).
48. Nayeem, N. M. and & Rice, J. E. Online fault detection in reversible logic // [Электронный ресурс]. — Режим доступа:
https://mafiadoc.com/online-fault-detection-in-reversible-logic-semantic-scholar_59a8baad1723ddbbc5efc073.html, свободный - (01.09.2019).
49. Alagoz, B. B. Boolean Logic with Fault Tolerant Coding // [Электронный ресурс]. — Режим доступа:
https://www.researchgate.net/publication/24166383_Boolean_Logic_with _Fault_Tolerant_Coding/citation/download, свободный — (01.09.2019). 31.082019
50. Стемпковский, А. Л., Тельпухов, Д. В., Жукова, Т. Д., Гуров, С. И., Соловьев, Р. А. Методы синтеза сбоеустойчивых комбинационных КМОП схем, обеспечивающих автоматическое исправление ошибок // Известия ЮФУ. Технические науки / Ростов-на-Дону: ФГАОУ ВО «Южный федеральный университет». — 2017, № 7. — 192. — C. 197-210.
Stempkovsky, A. L., & Telpukhov, D. V., & Zhukova, T. D., & Gurov, S. I., & Soloviev, P. A. (2017) Synthesis methods for fault-tolerant CMOS combinational circuits providing automatic error correction. News YuFU. Technical science. 7 (192). p. 197-210.
51. Гаврилов, С. В., Гуров, С. И., Жукова, Т. Д., Рыжова, Д. И. Применение теория кодирования для повышения надёжности комбинационных схем // Информационные технологии. — М.: Общество с ограниченной ответственностью «Издательство «Новые технологии», 2016. — № 12. — C. 931-937.
Gavrilov, S. V., & Gurov, S. I., & Zhukova, T. D., & Ryzhova, D. I. (2016) Application of coding theory to increase the reliability of combinational circuits. Информационные технологии. № 12. p. 931-937.
52. Гаврилов, С. В., Гуров, С. И., Жукова, Т. Д. и др. Методы повышения сбоеустой-чивости комбинационных ИМС методами избыточного кодирования // Прикладная математика и информатика: Труды факультета Вычислительной математики и кибернетики. — М.: МАКС Пресс, 2016. — № 53. — C. 93-103.
Gavrilov, S. V., & Gurov, S. I., & Zhukova, T. D. at al (2016) Methods for increasing the robustness of combinational integrated circuits using redundant coding methods. Applied Mathematics and Computer Science: Proceedings of the Faculty of Computational Mathematics and Cybernetics. 53. p. 93-103.
53. Кормаков, Г. В., Гуров, С. И. Сбоеустойчивые обратимые схемы и метод их синтеза в пространстве Хэмминга // Прикладная математика и информатика: Труды факультета Вычислительной математики и кибернетики. — М.: МАКС Пресс, 2018. — № 57. — C. 21-35.
Kormakov, G. V., & Gurov, S. I. (2018) Failure-proof reversible circuits and a method for their synthesis in Hamming space. Applied Mathematics and Computer Science: Proceedings of the Faculty of Computational Mathematics and Cybernetics. 57. p. 21-35.
54. Thapliyal, H. & Zwolinski, M. (2006) Reversible logic to cryptographic hardware: a new paradigm. Proceedings of the 49th IEEE International Midwest Symposium on Circuits and Systems (MWSCAS '06), 2006, Aug. 6-9, Puerto Rico. 1. p. 342-346.
55. Burignat, S. & De, Vos, A. (2012) A review on performances of reversible ripple-carry adders. Intel Journal of Electronics and Telecommunications. 58 (3). p. 205-212.
56. Rajput, S. & Jain, R. & Kandu, A. K. G. (2013) Review of full adder using reversible logic. International Journal of Electronics and Communication Engineering (IJECE). 2 (3). p. 97-102.
57. Sinha, H. P. & Syal, N. (2012) Design of Fault Tolerant Reversible Multiplier. International Journal of Soft Computing and Engineering (IJSCE). 1 (6). p. 120-124.
58. Banerjee, A. & Sarkar, S. & Das, M. & Ghosh, A. (2015) Design of reversible binary logarithmic multiplier and divider using optimal garbage. International Journal of Advanced Computer Research. 5 (18). p. 1-10.
59. Sivakumar, G. P. & Devi, S. R. (2013) A Comparative Study: Multiplier Design using Reversible Logic Gates. International Journal of Engineering and Advanced Technology (IJEAT). 2 (3). p. 365-369.
60. Bhagyalakshmi, H. R. & Venkatesha, M. K. (2010) An improved design of a multiplier using reversible logic gates. International Journal of Engineering Science and Technology. 2 (8). p. 3838-3845.
61. Ali, B. & Rahman, H. A. & Rahman, M. (2011) Design of a High Performance Reversible Multiplier. IJCSI International Journal of Computer Science Issues. 8 (6, No 1). p. 134-141.
62. Mahfuzzreza, Md. & Islam, R. & Ali, B. (2013) Optimized Design of High Performance Reversible Multiplier Using BME and MHNG Reversible Gate. American International Journal of Research in Science, Technology, Engineering & Mathematics. 2 (2, March-May). p. 227-232.
63. Bhagyalakshmi, H. R. & Venkatesha, M. K. (2012) Optimized multiplier using reversible multicontrol input Toffoli gates. International Journal of VLSI design & Communication Systems (VLSICS). 3 (6, December 2012). p. 27-40.
64. Rashmi, S. B. & Umarani, T. G. & Shreedhar, H. K. (2011) Optimized Reversible Montgomery Multiplier. International Journal of Computer Science and Information Technologies (IJCSIT). 2 (2). p. 701-706.
65. Younis, S. G. (1994) Asymptotically Zero Energy Computing Using Split-Level Charge Recovery Logic. Ph.D. thesis. MIT EECS, June 1994.
66. Maaz, M. B. & Abu-Shama, E. & Bayoumi, M. (1996) A fast and low power multiplier architecture. Proceedings of the 39th Midwest Symposium on Circuits and Systems, USA, 1996. 3. p. 1371-1374.
67. Thapliyal, H. & Srinivas, M. B. (2006) Novel reversible multiplier architecture using reversible TSG gate. IEEE Int. Conf. Computer Systems and Applications. 1. p. 100-103.
68. Thapliyal, H. & Srinivas, M. B. (2005) Novel Reversible "TSG"Gate and Its Application for Designing Reversible Carry Look Ahead Adder and Other Adder Architectures. Tenth Asia-Pacific Computer Systems Architecture Conference (ACSAC05), Singapore, October 24-26. 1. p. 805-817.
69. Nayeem, Noor, Muhammed & Jamal, Lafifa and & Babu, Hafiz, Md. Hasan. (2009) Efficient Reversible Montgomery Multiplier and Its Application to Hardware Cryptography. Journal of Computer Science. 5 (1). p. 49-56.
70. Biswas, A. K. & Hasan, M. M. & Chowdhury, A. R. & Babu, H. M. H. (2008) Efficient approaches for designing reversible binary coded decimal adders. Microelectronics Journal. 39 (12). p. 1693-1703.
71. Banerjee, A. & Pathak, A. An analysis of reversible multiplier circuits // [Электронный ресурс]. — Режим доступа:
arXiv:0907.3357v1, свободный — (01.09.2019).
72. Haghparast, M. & Navi, K. (2007) A Novel Reversible Full Adder Circuit for Nanotechnology Based Systems. Journal of Applied Sciences. 7. p. 3995-4000.
73. Islam, M. S. & Hafiz, M. Z & Rahman, M. M. & Begum, Z. (2009) Low cost quantum realization of reversible multiplier circuit. Information technology journal. 8. p. 208-213.
74. Chau, H. F. & Lo, H.-K. (1997) One-way Functions in Reversible Computations. Cryptologia. 21 (2). p. 139-148.
75. Жуков, А. Е. Схемы из обратимых логических элементов: Один подход к изучению однонаправленности // Труды III Международной конференции «Информационные системы и технологии» (IST'2006). — Минск: Издательство Белорусского государственного университета, 2006. — C. 85.
ZhukovA.E., (2006) Circuits from reversible logic elements: One approach to the study of unidirectionality. Proceedings of the III International Conference « Information Systems and Technologies » (IST'2006). 1. p. 8-11.
76. Жуков, А. Е. Один подход к изучению однонаправленности // Журнал «Information Security / Информационная безопасность». — M, 2018. — T. 1. — C. 40-43.
ZhukovA.E., (2006) One approach to the study of unidirectionality. Magazine « Information Security / Information Security ». 1. p. 40-43.