«БИЛЛИАРДНОЕ» МОДЕЛИРОВАНИЕ УНИВЕРСАЛЬНЫХ ЛОГИЧЕСКИХ МОДУЛЕЙ НА ОСНОВЕ ЭЛЕМЕНТА ФРЕДКИНА ДЛЯ КВАНТ-ЮТИНГА

Аннотация


На волне тренда «зеленых» вычислений в последнее время активизировались исследования так называемой адиабатической логики, обратимых вычислений, которые, как предполагается, будут являться основой квантовых компьютеров и выведут на новый уровень вычислительной мощности, сочетаемой с низким энергопотреблением. Основой такой логики являются специальные обратимые элементы, например элементы Фредкина. Обратимость означает взаимно-однозначное соответствие (биекция) входов и выходов схем, что означает, с одной стороны, возможность тотального контроля результатов вычислений, а с другой - возможность возврата полученных для выполнения вычислений «энергетических» квантов их источнику. Такой подход позволяет значительно снизить энергопотребление компьютеров, а также повысить достоверность вычислений. Имеется достаточно много публикаций по этой тематике, однако вопросы разработки универсальных логических модулей на такой базе рассмотрены не в полной мере. Целью исследования является разработка и моделирование универсальных логических модулей на основе элемента Фредкина. При этом используются методы логического синтеза обратимой схемы на основе бинарного элемента Фредкина, моделирование и анализ «биллиардных» вычислений. Представлены предложенные схемы дешифратора и мультиплексора на основе элемента Фредкина, выполнено «биллиардное» моделирование. Практическая значимость исследования заключается в том, что полученные универсальные логические модули могут быть использованы при синтезе бинарных обратимых схем, например ПЛИС. Выполненное моделирование может быть использовано в качестве примера на практических занятиях по дисциплинам «Дискретная математика», «Математическая логика», «Математическое моделирование», «Схемотехника».

Полный текст

Введение Недалек тот день, когда квант-ютинг (quant-uting - термин автора), т.е. квантовые вычисления [1, 2] будут обычным явлением. В таких вычислениях используются специальные, так называемые обратимые элементы, например элемент Фредкина [3-6]. Элемент Фредкина [3-6] имеет взаимно-однозначное соответствие трех его входов A, B, C (управляющий только С) и трех выходов F1, F2, F3, сохраняющее четность (рис. 1). a б Рис. 1. Бинарный элемент Фредкина: а - биекция «вход-выход»; б - условное обозначение Легко видеть из рис. 1, а, что элемент Фредкина реализует следующую систему логических функций: (1) Обратимость означает возможность проведения вычислений как по системе (1), так и по системе (2): (2) Очевидно, что элемент Фредкина (без учета выхода F1) представляет собой мультиплексор на одну переменную, но с двумя выходами (F2, F3) (рис. 2). Рис. 2. Элемент Фредкина: а - условное обозначение; б - исходное положение при Х = 0, d0 = d1 = 1; в - результат при Х = 0, d0 = d1 = 1; г - исходное положение при Х = 1, d0 = d1 = 1; д - результат при Х = 1, d0 = d1 = 1 На рис. 2 кружки означают так называемые шары в «биллиардном» компьютере [7, 8], имеющие смысл квантов энергии, выделенной на производство вычислений. Получаем реализацию выражения реализации любой функции одной переменной (а также вырожденных функций - констант): (3) Рис. 2 показывает, что элемент Фредкина может работать как слева-направо, так и справа-налево (обратимость). При этом если активирован верхний вход (выход), то два других меняются местами (swap). «Шары» могут рассматриваться в качестве так называемых Q-битов (кубиты). Но возможна и более простая, битовая интерпретация. Таким образом, элемент Фредкина может рассматриваться как элементарный мультиплексор 2-1. А именно из них строятся так называемые Look up Table (LUT - генераторы логических функций на основе мультиплексоров как универсальных логических модулей) программируемых логических интегральных схем (ПЛИС) типа FPGA (Field-Programmable Gate Array) [9-12]. Автором предложен элемент Фредкина как обратимый дублированный 1-LUT и выполнено соответствующее моделирование (рис. 3). Рис. 3. Моделирование обратимого элемента Фредкина в системе Малтисим [13] (Forward - вход управления направлением передачи сигнала) Однако для реализации логических функций необходимы элементы большей размерности, поэтому актуально рассмотрение вопросов разработки и моделирования универсальных логических модулей размерностей 2, 3. 1. Моделирование универсального логического модуля-мультиплексора на две и три переменные В схемах на основе элементов Фредкина запрещены разветвления. Ввиду этого, в отличие от LUT FPGA, необходимы так называемые повторители. Предлагаемый мультиплексор на две переменные, реализующий сумму по модулю 2 двух переменных, представлен на рис. 4. На рис. 4 Х2 = Х1 = 0, d0 = d3 = 0, d1 = d2 = 1. Первый слева элемент Фредкина играет роль повторителя Х1. Рис. 4 показывает исходное положение перед вычислениями. На нулевом наборе (Х2 = Х1 = 0) получаем 0. На первом шаге (см. рис. 4, б) срабатывает первый элемент-повторитель. Поскольку на его управляющем входе нет шара, шар-константа появляется на третьем выходе и далее не используется (это так называемый мусорный выход). На рис. 4, б сразу указан и второй шаг, когда срабатывают два «настроечных» элемента (второй и третий), и, поскольку у них тоже не активированы управляющие входы (первые входы, входы С), шары настройки на заданную функцию переносятся на соответствующие им выходы. Следует отметить, что выходом является Z (X2, X1, d), второй выход последнего элемента Фредкина не используется, так же как и второй выход остальных элементов. Такие выходы называют «мусорными», без них в обратимой логике никак не обойтись, но при синтезе схем стремятся к их минимизации. Продолжим моделирование: на наборе (Х2 = 1, Х1 = 0) получаем 1 (рис. 5). Исходное положение, изображенное на рис. 5, а отличается от изображения на рис. 4, а наличием шара на входе Х2 (последний элемент). На первом шаге (см. рис. 5, б) срабатывает первый элемент-повторитель. Поскольку на его управляющем входе нет шара, шар-константа появляется на третьем выходе и далее не используется (мусорный выход). Далее, на втором шаге, срабатывают два «настроечных» элемента и, поскольку у них тоже не активированы управляющие входы (первые входы, входы С), шары настройки на заданную функцию переносятся на соответствующие им выходы. На рис. 5, б также показано выполнение сразу первого и второго шагов. На третьем шаге (см. рис. 5, в) срабатывает последний элемент, но, поскольку его управляющий вход активирован шаром Х2, шар настройки d2 появляется на выходе Z (X2, X1, d). Действительно, на этом наборе сумма по модулю 2 равна единице. Рассмотрим обратные вычисления для исходного состояния, изображенного на рис. 5, в (рис. 6). а б в Рис. 4. Мультиплексор на две переменные на базе элемента Фредкина, реализующий сумму по модулю 2 при Х2 = Х1 = 0: а - исходное положение; б - первый и второй шаги; в - третий шаг а б в Рис. 5. Мультиплексор на две переменные на базе элемента Фредкина, реализующий сумму по модулю 2 при Х2 = 1; Х1 = 0: а - исходное положение; б - первый и второй шаги; в - третий шаг а б Рис. 6. Обратные вычисления с исходного, изображенного на рис. 5, в: а - первый шаг обратных вычислений; б - второй шаг обратных вычислений а Рис. 7. Мультиплексор на две переменные на базе элемента Фредкина, реализующий сумму по модулю 2 при Х2 = 1; Х1 = 1: а - исходное положение б в г Рис. 7. Окончание: б - первый шаг; в - второй шаг; г - третий шаг Видим, что за два шага «биллиардных» вычислений система вернулась в исходное положение (см. рис. 5, а). Моделирование на наборе (Х2 = Х1 = 1) демонстрирует рис. 7. Рассмотрим обратные вычисления для исходного состояния, изображенного на рис. 7, г (рис. 8). а б в Рис. 8. Обратные вычисления с исходного, изображенного на рис. 7, г: а - первый шаг обратных вычислений; б - второй шаг обратных вычислений; в - третий шаг обратных вычислений Видим, что система вернулась в исходное положение (см. рис. 7, а). Аналогично можно проверить правильность вычислений на наборе (Х2 = 0, Х1 = 1). Таким образом, получили реализацию выражения (4) Разработанный универсальный логический модуль-мультиплексор на три переменные изображен на рис. 9. Рис. 9. Предлагаемый универсальный логический модуль-мультиплексор на три переменные Такой универсальный модуль обладает обратимостью и может в зависимости от настройки d0-d7 реализовать любую логическую функцию трех переменных: (5) 2. Моделирование универсального логического модуля-дешифратора на основе элементов Фредкина Очевидно, что элемент Фредкина при обратном вычислении (справа-налево) выполняет роль универсального логического модуля на одну переменную. Действительно, из выражения (2) можно получить систему, описывающую дешифрацию: (6) где Х - дешифрируемое значение; d - данные. В выражении (3) лишние члены, возникающие вследствие несущественности F3 удалены, т.е. при Х = 0 шар d появляется на выходе z0, иначе - на выходе z1 (рис. 10). Используя такой подход, получим дешифратор на две переменные (рис. 11). Пример: вычисление на наборе (Х2 = Х1 = 0) (рис. 12). а б в г д Рис. 10. Дешифрация одного разряда на основе элемента Фредкина: а - условное обозначение; б - исходное при Х = 1, d = 1; в - результат при Х = 1, d = 1; г - исходное при Х = 0, d = 1; д - результат при Х = 0, d = 1 Рис. 11. Дешифратор на две переменные а б в Рис. 12. Дешифратор на две переменные, дешифрация набора (Х2 = Х1 = 0): а - первый шаг; б - второй шаг; в - третий шаг Набор (Х2 = Х1 = 0) дешифрирован, шар появляется на выходе z0. Аналогично можно выполнить моделирование на других наборах и обратные вычисления. Таким образом, получаем реализацию системы (7) Объединяя по ИЛИ конституенты выражения (7) с помощью соответствующей настройки элементов Фредкина (на дизъюнкцию, например, ), можно получить реализацию не одной функции, а системы логических функций двух переменных. Аналогично строятся универсальные логические модули на большее число переменных. Выводы Таким образом, выполнено «биллиардное» моделирование предложенных универсальных логических модулей на основе обратимых элементов - элементов Фредкина. Моделирование подтвердило работоспособность предложенных моделей, которые могут быть использованы в обратимых ПЛИС. Кроме того, рассмотренные модели могут быть использованы в качестве примеров на практических занятиях по дисциплинам «Дискретная математика», «Математическая логика», «Схемотехника». Предметом дальнейшего исследования могут быть вопросы синхронизации «биллиардных» вычислений и моделирование при использовании кубитовых «шаров» вместо бинарных. В этом плане особый интерес представляет использование самосинхронного подхода [14, 15], развиваемого Институтом проблем информатики Российской академии наук Федерального исследовательского центра «Информатика и управление» Российской академии наук, с которым автор поддерживает творческие связи уже более 25 лет.

Об авторах

С. Ф Тюрин

Пермский национальный исследовательский политехнический университет; Пермский государственный национальный исследовательский университет

Список литературы

  1. Ismaeel Salman Abu Aballi. Quantum computing. - URL: https:// www.researchgate.net/publication/338828306_Quantum_computing (accessed 12 March 2020).
  2. Чивилихин С.А. Квантовая информатика: учеб. пособие / СПбГУИТМО. - СПб., 2009. - 80 с.
  3. Quantum Gates. - URL: https://www.sciencedirect.com/topics/engineering/quantum-gate (accessed 07 December 2019).
  4. A quantum Fredkin gate / R.B. Patel, J. Ho, F. Ferreyrol, T.C. Ralph, G.J. Pryde // Science Advances. - 2016. - Vol. 2, no. 3. - Art. e1501531. doi: 10.1126/sciadv.1501531
  5. Fredkin E., Toffoli T. Conservative logic // International Journal of Theoretical Physics. - 1982. - Vol. 21, no. 3/4. - P. 219-253.
  6. Гуров С.И., Жуков А.Е. Обратимые вычисления: элементы теории и примеры применения // ХХХ Крымская Осенняя матем. шк.-симп. по спектральным и эволюционным задачам: материалы междунар. конф. (КРОМШ-2019), г. Симферополь, 17-29 сентября 2019 г. - Симферополь: Полипринт Симферополь, 2019. - С. 293-295.
  7. Hosseini H., Dueck G.W. Toffoli gate implementation using the billiard ball model // 40th IEEE Int. Symp. on Multiple-Valued Logic, Barcelona, Spain, 26-28 May 2010. - Barcelona, Spain, 2010. - Р. 173-178. doi: 10.1109/ISMVL.2010.40
  8. Frank M.P. Asynchronous ballistic reversible computing // 2017 IEEE Int. Conf. on Rebooting Computing (ICRC), Washington, DC, USA, 8-9 Nov. 2017. - USA, 2017. doi: 10.1109/ICRC.2017.8123659
  9. Строгонов А., Цыбин С. Программируемая коммутация ПЛИС: взгляд изнутри // Компоненты и технологии. - 2010. - № 11. - С. 56-62.
  10. Тюрин С.Ф., Чудинов М.А. FPGA LUT с двумя выходами декомпозиции по Шеннону // Вестник Пермского национального исследовательского политехнического университета. Электротехника, информационные технологии, системы управления. - 2019. - № 29. - С. 136-147.
  11. Improving of a circuit checkability and trustworthiness of data processing results in LUT-based FPGA components of safety-related systems / O. Drozd, M. Drozd, O. Martynyuk, M. Kuznietsov // Proceed. of the 13th Int. Conf. on ICT in Educ., Res. and Indust. Appl. Integration, Harmonization and Knowledge Transfer, Kyiv, Ukraine, 15-18 May 2017. - Kyiv, 2017. - P. 654-661 (CEUR Workshop Proceedings, Vol. 1844). - URL: http://ceur-ws.org/Vol-1844/10000654.pdf (accessed 26 March 2020).
  12. Tyurin S.F. LUT's Sliding Backup // IEEE Transactions on Device and Materials Reliability. - 2019. - Vol. 19, iss. 1. - P. 221-225. doi: 10.1109/TDMR.2019.2898724
  13. Сайт разработчика National Instruments. - URL: http://www.ni.com/ multisim/ (дата обращения: 21.02.2020).
  14. Speed-independent floating point coproceccor / Y.A. Stepchenkov, V.N. Zakharov, Y.V. Rogdestvenski [et al.] // Proceed. of IEEE East-West Design & Test Symposium (EWDTS’2015), Batumi, Georgia, 26-29 September 2015. - Batumi, Georgia: IEEE, 2015. - P. 111-114. doi: 10.1109/EWDTS.2015.7493110
  15. Automating the design of asynchronous logic control for AMS electronics / D. Sokolov, V. Khomenko, A. Mokhov [et al.] // IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. - 2020. - Vol. 39, iss. 5. - P. 952-965. doi: 10.1109/TCAD.2019.2907905

Статистика

Просмотры

Аннотация - 52

PDF (Russian) - 25

Ссылки

  • Ссылки не определены.

Данный сайт использует cookie-файлы

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

О куки-файлах