Концепция «Зеленой» логики

ВЕСТНИК ПНИПУ

2013 Электротехника, информационные технологии, системы управления № 8 УДК 519.1

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

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

Пермь, Россия

КОНЦЕПЦИЯ «ЗЕЛЕНОЙ» ЛОГИКИ

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

Ключевые слова: "зелёная логика, логический элемент (ЛЭ), энергоэффективность, надёжность, отказо- и сбоеустойчивость.

S.F. Tyurin, A.Yu. Plotnikova

Perm National Research Polytechnic University, Perm, Russian Federation «GREEN» LOGIC CONCEPT

The paper is devoted to the description of energy efficient FPGA type (field-programmable gate array) «Green» logic represented in the course of the International project "Fostering Innovations on Green Computing and Communications TEMPUS GreenCo project «Green Computing Technologies». Software and hardware implementation of the logic has been worked out, including function rearrangement cases for implementation blocks. In case of supply voltage decrease there is an increasing failures possibility. For this decrease compensation in the system of critical implementation it is necessary to introduce structure redundancy, which on the one hand, reduces failure chance, and on the other hand, increases power consumption. To find the optimum protection taking computing time limits into account, the authors have suggested using series of microprogram hardware units. In order to support «Green» logic energy efficiency there has been also developed fault-tolerant SRAM.

Keywords: «Green» logic, logic element, energy efficiency, reliability, failure tolerance, fault tolerance.

В настоящее время во всём мире активно ведутся научные исследования в области так называемого «Гринкомпьютинга» [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 реализации, если, конечно, это возможно:

^tî.

Для этого необходимо многократное использование одного и того же КЛБ в пределах одной загрузки файла конфигурации.

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 функций. Вычисления проводятся по заданному входному вектору X. Такая реализация на основе элементов с избыточным базисом - ФПТ-элементов позволяет получить значительный выигрыш в сложности при реализации функций большого числа переменных. В то же время создаются условия для эффективного программно-аппаратного вычисления логических функций и автоматных отображений путём многократного использования без обращения к внешней памяти конфигураций.

Рис. 1. ДНФ-КЛБ

Для дальнейшего продвижения такого подхода с использованием МОП передающих транзисторов предложим блок программируемой конъюнкции (матрица «И»), в котором требуемая j-я конъюнкция п переменных (7 = 1...к) по каждой 1-й переменной будет формироваться с использованием двух бит конфигурационной памяти - конфигурационных ячеек КЯ (рис. 2, 3).

"И"

Блок программируемой конъюнкции 1

Входные переменные и

'

32

Зп

+\гсс

31

5

КЯЭ1.1

Й2

5п 5КЯ51

ЕЛ 31л

Рис. 2. Блок программируемой конъюнкции логического элемента ПЛИС - FPGA на основе ДНФ реализации логических функций с использованием передающих транзисторов

Рис. 3. Блок программируемой дизъюнкции логического элемента ПЛИС - FPGA на основе ДНФ реализации логических функций с использованием передающих транзисторов

Оценим аппаратные затраты на реализацию логического элемента ПЛИС - FPGA на основе ДНФ реализации логических функций с использованием передающих транзисторов:

Lл

= 18пк + m(6k + 2).

-ЛЕ-ДНФ - ' "Ч^'- 1

Сравнение сложности в количестве транзисторов ЛЕ-СДНФ и ЛЕ-ДНФ представлено на рис. 4.

При п > 8 предпочтительна реализация в ДНФ.

Рис. 4. Сравнение сложности в количестве транзисторов ЛЕ-СДНФ(!) и ЛЕ-ДНФ {Ьйп/) при п = ш = к

Кроме того, целесообразно исследовать возможность применения в новых условиях всей линейки ранее предложенных устройств аппаратной поддержки вычисления логических функций и автоматов [6, 7].

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

Ранее перераспределение функций между подсистемами предлагалось с целью поиска оптимальных решений в смысле надёжности [8]. Попробуем распространить этот подход на область Green FPGA.

Допустим, в ПЛИС (а в принципе может рассматриваться и некоторая система ПЛИС) имеется система Ф с некоторым множеством конфигурируемых логических блоков:

Ф = |Ф1, ф2,...ф„}.

В этом случае можно считать, что конфигурируемые логические блоки линейно упорядочены, хотя, точнее, они могут быть упорядочены в некоторой матрице - двухмерной структуре, в трёхмерном кубе и вообще - в перспективе - в некотором n-мерном пространстве. В принципе (4) может нести информацию о любой заранее заданной структуре упорядоченности с соответствующей метрикой. Так, если задана двухмерная матрица, то, зная её размерность, всегда можно по (3) получить сведения о нахождении конкретного ф в двухмерном пространстве.

Исходное энергопотребление £(Ф) системы равно сумме энергопотреблений работающих отдельных блоков:

E

i=1

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

С этой целью осуществляется некоторое перераспределение % некритичных функций в (4):

Ф%=<

где Е, - переменная знака перераспределения (+ или -), то есть «принимает» блок чужих функций для выполнения или «отдаёт», 5 - количественный показатель такого перераспределения - сколько и кому.

Интуитивно ясно, что для решения этой задачи необходима своего рода «анизотропность кристалла», то есть наличие неодинаковых свойств - читай «средств программно-аппаратной реализации». Таким образом, если имеется полная равноценность в смысле энергопотребления - сколько «сминусовали, столько и приплюсуем», то смысла в таком перераспределении нет, напротив, это приведёт к увеличению энергозатрат, ибо требуются доработка, дополнительные затраты А в КЛБ для передачи входных переменных «чужим» блокам, для приёма значений функций, вычисленных «чужими» блоками, для обеспечения работы этих средств, например, регистров при отключенном питании «родного» блока.

То есть, вообще говоря,

Ф% =<

Тогда

Е

перераспределение имеет смысл. Причём

S.;i, j = 1,n,i Ф j

означает «кто» - i-я кому - j-й «отдаёт».

На самом деле «отдача» может быть представлена более сложно: блок может отдавать и не одному блоку, а нескольким, и может, отдавая, и, в частности, и принимать! Например:

Ф =<

То есть в общем случае задача заключается в поиске:

E

при непревышении ограничений по времени реализации:

t < tдоп

На такую постановку задачи может быть наложена параллельная задача снижения напряжения питания, что оправданно для КМДП вентилей.

Поэтому при снижении уровня питающего напряжения увеличивается вероятность отказов (сбоев). Для компенсации этого снижения вводится структурная избыточность, которая, с одной стороны, компенсирует эту вероятность, с другой - увеличивает энергопотребление. Нахождение оптимального варианта резервирования, например градиентным методом, учитывает ограничения по времени вычислений с помощью линейки микропрограммно-аппаратных модулей [9].

Поддержка энергоэффективных решений «зелёной» логики -разработка сбоеустойчивой ячейки памяти SRAM с триггером на элементах с избыточным базисом - ФПТ-элементах

С целью поддержки энергоэффективных решений, связанных со снижением энергопотребления, для обеспечения сбоеустойчивости средств «зелёной» логики модифицируем ячейку SRAM [10], заменив инверторы избыточными ФПТ-элементами [11].

Сравним предлагаемую схему с троированной ячейкой и мажоритарной схемой на выходе радиационно-стойкой ПЛИС фирмы Actel [9]. Мажоритирование требует 4-3+2 =14 транзисторов (2 - это «боковые» транзисторы записи-считывания). Схема мажоритирования, то есть реализации функции,

ab v ac v bc,

где a, b, c - выходы трёх ячеек, требует в лучшем случае 12 транзисторов инверсного мажоритара (подобные имеются в библиотеках базовых матричных кристаллов - БМК) и 2 транзисторов для выходного инвертора.

Сравним два варианта реализации триггеров по вероятности безотказной работы без учёта «боковых» транзисторов, вероятность безотказной работы которых предполагается одинаковой для двух вариантов. Зададим X - интенсивность сбоев транзисторов. Тогда для троированной схемы с одним мажоритаром

PTT =

где е~14и - вероятность безотказной работы мажоритара. Для триггера на ФПТ-элементах с учётом только отказов сбоев не более 2 транзисторов (на самом деле парируется и некоторая часть отказов большего числа транзисторов):

РС

Сравнительный анализ вероятности безотказной работы троированного триггера на мажоритарных элементах (Рй) и триггера на ФПТ-элементах показан на рис. 5.

Рис. 5. сравнительный анализ вероятности безотказной работы троированного триггера на мажоритарных элементах

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

Библиографический список

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 комп'ютерш системи. - 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.

Сведения об авторах

Тюрин Сергей Феофентович (Пермь, Россия) - заслуженный изобретатель Российской Федерации, доктор технических наук, профессор кафедры автоматики и телемеханики, Пермского национального исследовательского политехнического университета, (614990, Пермь, Комсомольский пр., 29, e-mail: tyurinsergfeo@yandex.ru).

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

About the authors

Tyurin Sergey Feofentovich (Perm, Russian Federation) is Honored Inventor of the Russian Federation, PhD in Engineering, Academician at the Department of Automation and Telemechanics, Perm National Research Polytechnic University (614990, 29 Komsomolsky pr., Perm, e-mail: tyurinsergfeo@yandex.ru).

Plotnikova Aleksandra Iurievna (Perm, Russian Federation) is a Master's Degree student at the Department of Automation and Telemechanics, Perm National Research Polytechnic University (614990, 29 Komsomolsky pr., Perm, e-mail: juris-plot@mail.ru).

Получено 05.09.2013