Концепция «ЗЕЛЕНОЙ» ЛОГИКИ

Аннотация


Предлагается концепция энергоэффективной «зелёной» логики программируемых логических интегральных схем ПЛИС типа FPGA (field-programmable gate array), сформулированная в рамках международного проекта «Fostering Innovations on Green Computing and Communications TEMPUS GreenCo project «Технологии зеленых вычислений». Предложена программно-аппаратная реализация логики с учётом вариантов перераспределения функций между блоками таких реализаций. При снижении уровня питающего напряжения увеличивается вероятность отказов (сбоев). Для компенсации этого снижения в системах критического применения должна вводиться структурная избыточность, которая, с одной стороны, компенсирует эту вероятность, с другой – увеличивает энергопотребление. Нахождение оптимального варианта резервирования с учётом ограничения по времени вычислений предлагается с помощью линейки предложенных микропрограммно-аппаратных модулей. С целью поддержки энергоэффективных решений средств «зелёной логики» также описывается разработанная сбоеустойчивая ячейка конфигурационной статической памяти SRAM.

Полный текст

В настоящее время во всём мире активно ведутся научные исследования в области так называемого «Гринкомпьютинга» [1]. В 2012 г. на Украине, в Харьковском национальном исследовательском аэрокосмическом университете (Харьковском авиационном институте – ХАИ) под эгидой ЕС и университета Нью-Касла (Великобритания) успешно дан старт международному проекту «Fostering Innovations on Green Computing and Communications TEMPUS GreenCo project «Технологии зеленых вычислений» (Project Number: 530270-TEMPUS-1-2012-1-UK-TEMPUS-JPCR Grant Holder: University of Newcastle upon Tyne (UK)). Разработана концепция «Energy modulated computing» (Alex Yakovlev, Newcastle, UK) [2]. В рамках проекта TEMPUS поставлена задача разработки энергоэффективных «зелёных» программируемых логических интегральных схем (ПЛИС) типа FPGA (field-programmable gate array) – Green FPGA. Энергично продвигается направление энергосберегающего «зелёного» программного обеспечения. В свете этих трендов представляется целесообразным исследование перспектив создания своего рода «зелёной», не только энергосберегающей, но и надёжной логики, ориентированной на ПЛИС FPGA. Концепция «зелёной» логики Хотя логика ПЛИС FPGA и занимает относительно небольшой процент площади кристалла по сравнению с памятью [3], но от неё во многом зависит энергоэффективность всей ПЛИС. В настоящее время вычисление логических (булевых) функций и автоматных отображений в ЛЭ ПЛИС осуществляется аппаратно, что не позволяет в полной мере реализовать энергосберегающие технологии в ПЛИС. Предлагаются следующие положения концепции «зелёной» логики: 1. Распределение логики из пространственной частично во временную область на основе программно- (скорее микропрограммно) аппаратного вычисления логических (булевых) функций или даже шире – реализации конечных автоматов, точнее, вычисления автоматных отображений. То есть снижение энергопотребления E (за счёт отключения части аппаратуры W) влечёт увеличение времени t реализации, если, конечно, это возможно: Е¯(W¯) ®t. (1) Для этого необходимо многократное использование одного и того же КЛБ в пределах одной загрузки файла конфигурации. 2. Оперативное перераспределение функций (вернее, автоматных отображений) между такими новыми конфигурируемыми блоками с целью достижения максимального эффекта снижения энергопотребления, конечно, при непревышении заданных временных ограничений. 3. Оперативная оптимизация каждого конкретного такого перераспределения для данных условий эксплуатации, возможно, во внешних, старших по иерархии системах перед загрузкой файла конфигурации в ПЛИС. 4. Дополнительно для возможной работы логики на пониженном напряжении питания с целью борьбы со сбоями целесообразно использовать элементы с избыточным базисом (функционально-полные толерантные – ФПТ-элементы, в частности, например, в ячейках конфигурационной памяти), в том числе целесообразно рассмотреть вопрос распространения этого подхода в область самосинхронной схемотехники, обеспечивающей, как установлено группой Ю.А. Степченкова из ИПИ РАН (они продолжают тематику группы В.И. Варшавского, в которой, как оказалось, был и Алекс Яковлев), работу на ультранизком напряжении КМДП-элементов. В настоящее время самосинхронные устройства реализуются в основном в базовых матричных кристаллах (БМК). Реализация полностью самосинхронных ПЛИС весьма нетривиальна и представляет отдельную задачу. Часто анонсируемые некоторыми фирмами «самосинхронные» ПЛИС, по мнению исследователей из ИПИ РАН, представляют собой псевдосамосинхронные решения. Для компенсации возрастающей интесивности сбоев возможно введение и структурной избыточности, которая, с одной стороны, компенсирует эту вероятность, с другой – увеличивает энергопотребление. Оптимальный вариант резервирования может быть найден известными методами, а возможно, и их модификацией, адаптацией к новой задаче. 5. Создание предлагаемых «зелёных», программно-аппаратных логических элементов, по мнению авторов, может быть эмулировано в существующих ПЛИС с использованием соответствующих САПР, но может быть поставлена задача разработки новых архитектур, ориентированных на энергоэффективные применения. Программно-аппаратная реализация логики После «большого взрыва» – создания первых микропроцессоров, выяснилось, что программная реализация логических функций и автоматов (на базе микропроцессоров), которой в силу её новизны уделялось так много внимания в конце 70-х и в начале 80-х гг. ХХ в., не позволяет решать большую часть практически важных задач, в связи с этим возник интерес к аппаратной поддержке таких вычислений [5, 6]. Примерно в это же время начался взлёт и программируемых девайсов, как они тогда назывались, PLD – программируемых логических устройств – ПЛУ (сейчас – ПЛИС). ПЛУ-ПЛИС заполнили нишу между «жёсткой» логикой базовых матричных кристаллов (БМК), программируемых логических матриц (ПЛМ), с одной стороны, и «гибкой» логикой микропроцессоров и микроконтроллеров – с другой. Возникла идея реализации «гибкой» программируемой логической матрицы (ПЛМ), как своего рода логического расширителя, сопроцессора [7]. Однако вскоре ПЛИС захватили практически всё «жизненное» пространство, и идея была как бы забыта. В ПЛИС же стал доминировать подход гиперизбыточности – реализации логических функций на базе совершенных дизъюнктивных нормальных форм (СДНФ). Понимание того, что должны быть и другие подходы, пришло по мере возрастания числа входов и сложности Look Up Table (LUT). Поэтому в [8] была предпринята попытка создания логического элемента ПЛИС, ориентированного на менее затратные дизъюнктивные нормальные формы (ДНФ), что является дальнейшим развитием научно-технических решений [4–7] (рис. 1). ДНФ-КЛБ содержит блоки конъюнкций БК, блоки значений конъюнкций БЗК и блоки функций БФ. Настройка производится константами Хo, Хd, Zo по числу конъюнкций k от n переменных, входящих в m функций. То есть тройки констант Хo, Хd, Zo необходимы для каждой из k конъюнкций в системе из m функций. Вычисления проводятся по заданному входному вектору Такая реализация на основе элементов с избыточным базисом – ФПТ-элементов позволяет получить значительный выигрыш в сложности при реализации функций большого числа переменных. В то же время создаются условия для эффективного программно-аппаратного вычисления логических функций и автоматных отображений путём многократного использования без обращения к внешней памяти конфигураций. Рис. 1. ДНФ-КЛБ Для дальнейшего продвижения такого подхода с использованием МОП передающих транзисторов предложим блок программируемой конъюнкции (матрица «И»), в котором требуемая j-я конъюнкция n переменных ( ) по каждой i-й переменной будет формироваться с использованием двух бит конфигурационной памяти – конфигурационных ячеек КЯ (рис. 2, 3). “И“ Рис. 2. Блок программируемой конъюнкции логического элемента ПЛИС – FPGA на основе ДНФ реализации логических функций с использованием передающих транзисторов Рис. 3. Блок программируемой дизъюнкции логического элемента ПЛИС – FPGA на основе ДНФ реализации логических функций с использованием передающих транзисторов Оценим аппаратные затраты на реализацию логического элемента ПЛИС – FPGA на основе ДНФ реализации логических функций с использованием передающих транзисторов: (2) Сравнение сложности в количестве транзисторов ЛЕ-СДНФ и ЛЕ-ДНФ представлено на рис. 4. При n > 8 предпочтительна реализация в ДНФ. Рис. 4. Сравнение сложности в количестве транзисторов ЛЕ-СДНФ(L) и ЛЕ-ДНФ (Ldnf) при n = m = k Кроме того, целесообразно исследовать возможность применения в новых условиях всей линейки ранее предложенных устройств аппаратной поддержки вычисления логических функций и автоматов [6, 7]. Постановка задачи перераспределения функций, автоматных отображений между конфигурируемыми блоками с целью достижения максимального эффекта снижения энергопотребления Ранее перераспределение функций между подсистемами предлагалось с целью поиска оптимальных решений в смысле надёжности [8]. Попробуем распространить этот подход на область Green FPGA. Допустим, в ПЛИС (а в принципе может рассматриваться и некоторая система ПЛИС) имеется система Ф с некоторым множеством конфигурируемых логических блоков: (3) В этом случае можно считать, что конфигурируемые логические блоки линейно упорядочены, хотя, точнее, они могут быть упорядочены в некоторой матрице – двухмерной структуре, в трёхмерном кубе и вообще – в перспективе – в некотором n-мерном пространстве. В принципе (4) может нести информацию о любой заранее заданной структуре упорядоченности с соответствующей метрикой. Так, если задана двухмерная матрица, то, зная её размерность, всегда можно по (3) получить сведения о нахождении конкретного φ в двухмерном пространстве. Исходное энергопотребление Е(Ф) системы равно сумме энергопотреблений работающих отдельных блоков: (4) Предполагается, что реализация заданных функций, автоматных отображений между конфигурируемыми блоками осуществляется на основе программно-аппаратной реализации части некритичных функций последовательно во времени. То есть, как это было принято в ракетных войсках стратегического назначения (РВСН) во времена СССР, выделяются непрерывно реализуемые функции (НРФ), а остальные некритичные функции реализуются периодически. С этой целью осуществляется некоторое перераспределение c некритичных функций в (4): , (5) где x – переменная знака перераспределения (+ или –), то есть «принимает» блок чужих функций для выполнения или «отдаёт», d – количественный показатель такого перераспределения – сколько и кому. Интуитивно ясно, что для решения этой задачи необходима своего рода «анизотропность кристалла», то есть наличие неодинаковых свойств – читай «средств программно-аппаратной реализации». Таким образом, если имеется полная равноценность в смысле энергопотребления – сколько «сминусовали, столько и приплюсуем», то смысла в таком перераспределении нет, напротив, это приведёт к увеличению энергозатрат, ибо требуются доработка, дополнительные затраты D в КЛБ для передачи входных переменных «чужим» блокам, для приёма значений функций, вычисленных «чужими» блоками, для обеспечения работы этих средств, например, регистров при отключенном питании «родного» блока. То есть, вообще говоря, (6) Тогда (7) перераспределение имеет смысл. Причём (8) означает «кто» – i-я кому – j-й «отдаёт». На самом деле «отдача» может быть представлена более сложно: блок может отдавать и не одному блоку, а нескольким, и может, отдавая, и, в частности, и принимать! Например: (9) То есть в общем случае задача заключается в поиске: (10) при непревышении ограничений по времени реализации: t £ tдоп (11) На такую постановку задачи может быть наложена параллельная задача снижения напряжения питания, что оправданно для КМДП вентилей. Поэтому при снижении уровня питающего напряжения увеличивается вероятность отказов (сбоев). Для компенсации этого снижения вводится структурная избыточность, которая, с одной стороны, компенсирует эту вероятность, с другой – увеличивает энергопотребление. Нахождение оптимального варианта резервирования, например градиентным методом, учитывает ограничения по времени вычислений с помощью линейки микропрограммно-аппаратных модулей [9]. Поддержка энергоэффективных решений «зелёной» логики – разработка сбоеустойчивой ячейки памяти SRAM с триггером на элементах с избыточным базисом – ФПТ-элементах С целью поддержки энергоэффективных решений, связанных со снижением энергопотребления, для обеспечения сбоеустойчивости средств «зелёной» логики модифицируем ячейку SRAM [10], заменив инверторы избыточными ФПТ-элементами [11]. Сравним предлагаемую схему с троированной ячейкой и мажоритарной схемой на выходе радиационно-стойкой ПЛИС фирмы Actel [9]. Мажоритирование требует 4×3+2 =14 транзисторов (2 – это «боковые» транзисторы записи-считывания). Схема мажоритирования, то есть реализации функции, (12) где a, b, c – выходы трёх ячеек, требует в лучшем случае 12 транзисторов инверсного мажоритара (подобные имеются в библиотеках базовых матричных кристаллов – БМК) и 2 транзисторов для выходного инвертора. Сравним два варианта реализации триггеров по вероятности безотказной работы без учёта «боковых» транзисторов, вероятность безотказной работы которых предполагается одинаковой для двух вариантов. Зададим l – интенсивность сбоев транзисторов. Тогда для троированной схемы с одним мажоритаром (13) где – вероятность безотказной работы мажоритара. Для триггера на ФПТ-элементах с учётом только отказов сбоев не более 2 транзисторов (на самом деле парируется и некоторая часть отказов большего числа транзисторов): (14) Сравнительный анализ вероятности безотказной работы троированного триггера на мажоритарных элементах (Ptt) и триггера на ФПТ-элементах (Pfct) показан на рис. 5. Рис. 5. сравнительный анализ вероятности безотказной работы троированного триггера на мажоритарных элементах (Ptt) и триггера на ФПТ-элементах (Pfct) Предложена концепция энергоэффективной «зелёной» логики ПЛИС FPGA, находящейся в «тренде» современных исследований в области «гринкомпьютинга». Поставлена задача программно-аппаратного перераспределения функций между блоками ПЛИС с целью достижения энергосберегающих «зелёных» вариантов реализации логики. Предложены технические решения, обеспечивающие поддержку такого подхода, что обеспечивает одновременную отказо- и сбоеустойчивость.

Об авторах

Сергей Феофентович Тюрин

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

Email: tyurinsergfeo@yandex.ru
614990, Пермь, Комсомольский пр., 29 заслуженный изобретатель Российской Федерации, доктор технических наук, профессор кафедры автоматики и телемеханики, Пермского национального исследовательского политехнического университета

Александра Юрьевна Плотникова

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

Email: juris-plot@mail.ru
614990, Пермь, Комсомольский пр., 29 магистрант кафедры автоматики и телемеханики Пермского национального исследовательского политехнического университета

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

  1. Green_computing [Электронный ресурс]. – URL: http://en.wikipedia.org/wiki/Green_computing (дата обращения: 28.12.2012).
  2. Energy modulated computing [Электронный ресурс]. – URL: http://www.cs.ox.ac.uk/seminars/653.html (дата обращения: 31.12.2012).
  3. Цыбин С. Программируемая коммутация ПЛИС: взгляд изнутри [Электронный ресурс]. – URL: http://www.kit-e.ru/articles/plis/ 2010_11_56.php (дата обращения: 1.1.2013).
  4. Программно-аппаратная реализация логических алгоритмов в микропроцессорных системах / С.Ф. Тюрин, В.С. Харченко, Г.Н. Тимонькин, В.А. Мельников // Зарубежная радиоэлектроника. – 1992. – № 2. – С. 24–36.
  5. Тюрин С.Ф., Тимонькин Г.Н., Харченко В.С. Методы аппаратной поддержки логических алгоритмов в микропроцессорных системах // Управляющие системы и машины. – 1993. – № 1. – С. 55–63.
  6. А. с. № 1444892 СССР, G11C17/00, GO6F7/00. Программируемое логическое устройство / Тюрин С.Ф., Харченко В.С., Ткаченко С.Н., Жихарев В.Я., Улитенко В.П.; опубл. БИ № 46. – 1988.
  7. Тюрин С.Ф., Набатов А.В. ДНФ-конфигурируемый логический блок ПЛИС с использованием функционально-полных толерантных элементов // Радiоелектроннi i комп'ютернi системи. – 2012. – № 5(57). – С. 37–42.
  8. Перераспределение функций между подсистемами с целью получения системного эффекта / С.Ф. Тюрин, А.В. Силин, А.Ю. Беляков, А.В. Яковлев // Теоретические и прикладные аспекты промышленной автоматизации и информатизации общества: сб. науч. тр. / Перм. ГосНИИУМС. Вып. 44. – Пермь, 1995. – С. 132–141.
  9. Тюрин С.Ф., Громов О.А., Каменских А.Н. Программный комплекс исследования методов повышения надежности // Вестник Ижевск. гос. техн. ун-та. – 2012. – № 2. – С. 153–156.
  10. ПЛИС Actel – основа при реализации «SoC» бортовой аппаратуры [Электронный ресурс]. – URL: http://www.spigl.wordpress.com/ 2009/09/16/плис/ (дата обращения: 13.1.2013).
  11. Функционально-полный толерантный элемент: пат. № 2449469 Рос. Федерация / С.Ф. Тюрин, О.А. Громов, А.В. Греков; опубл. 27.04.2012. – Бюл. № 12.
  12. Функционально-полный толерантный элемент: пат. № 2438234 Рос. Федерация / С.Ф. Тюрин, О.А. Громов; опубл. 27.12.2011. – Бюл. № 36.

Статистика

Просмотры

Аннотация - 51

PDF (Russian) - 23

Ссылки

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

© Тюрин С.Ф., Плотникова А.Ю., 2013

Creative Commons License
Эта статья доступна по лицензии Creative Commons Attribution-NonCommercial 4.0 International License.

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

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

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