ЕЛЕКТРОНСКИ ФАКУЛТЕТ У НИШУ ОБРАЗАЦ ЗА ПРИЈАВУ ТЕХНИЧКОГ РЕШЕЊА У складу са одредбама Правилника о поступку и начину вредновања, и квантативном исказивању научноистраживачких резултата истраживача, који је донео Национални савет за научни и технолошки развој Републике Србије («Службени гласник РС», бр. 38/2008) достављам следеће податке. Обавезни подаци: Аутор/аутори решења: Борисав Јовановић, Милунка Дамњановић Назив техничког решења: Процесорски систем базиран на Standby Sparing методи Категорија техничког решења (навести према одредбама Правилника садржаним у НАПОМЕНИ* ): прототип, нове методе, софтвер, инструмент, нове генске пробе, микроорганизми и сл. -лабораторијски прототип М85 За кога је решење рађено и у оквиру ког пројекта МНТР: Коло процесорског система базираног на Standby Sparing методи пројектовано је у LEDA Лабораторији Електронског факултета Универзитета у Нишу према спецификацијама корисника резултата EWG, огранак Ниш. Ово техничко решење проистекло је из рада на пројекту под називом НАПРЕДНЕ ТЕХНОЛОГИЈЕ ЕЛЕКТРОНСКОГ МЕРЕЊА, УПРАВЉАЊА И КОМУНИКАЦИЈЕ НА ЕЛЕКТРИЧНОЈ ДИСТРИБУТИВНОЈ МРЕЖИ, које је финансирало Министарство за науку Републике Србије под шифром ТР32004. Ко решење користи тј. Ко је прихватио-примењује решење: Коло процесорског система базираног на Standby Sparing методи директно је пројектованo по спецификацији корисника резултата истраживања, а то је EWG огранак Ниш који развија прототип трофазног вишефункциалног бројила и система за даљинско очитавање и управљање потрошњом електричне енергије Година када је решење урађено: 202-203. година Како су резултати верификовани (од стране кога тела): Решење је верификовао корисник истраживања EWG огранак Ниш, а његови поједини делови прихваћени су и од стране ресорног Министарства за науку Републике Србије
усвајањем завршног извештаја за 202. годину за пројекат под називом НАПРЕДНЕ ТЕХНОЛОГИЈЕ ЕЛЕКТРОНСКОГ МЕРЕЊА, УПРАВЉАЊА И КОМУНИКАЦИЈЕ НА ЕЛЕКТРИЧНОЈ ДИСТРИБУТИВНОЈ МРЕЖИ, под шифром ТР32004. На који начин се резултати користе Остварено техничко решење доступно је као VHDL опис (дигитални део), као Verilog опис, као детаљно описана процедура за пројектовање и у GDSII формату у виду претпројектоване структурe реализоване на бази CMOS технологије Synopsys 90nm. Област на коју се техничко решење односи Коло процесорског система базираног на Standby Sparing методи примењује се у технологији мерења, контроле и управљање електричном енергијом. Овај блок налази примену као претпројектована структура која се примењује у пројектовању интегрисаних мерача потрошње електричне енергије. Проблем који се техничким решењем решава У модерном системима на чипу, нове технологије фабрикације кола омогућиле су интеграцију мноштва нових функција на истој површини силицијума, затим, знатно веће брзине тактног сигнала, мању динамичку компоненту снаге дисипације, али је нажалост, генерално повећана статичка потрошња кола. Технике динамичког скалирања напона и фреквенције (Dynamic Voltage and Frequency Scaling - DVFS) и искључивања напона напајања (Power gating) постале су веома популарне технике за смањење снаге дисипације и оне се данас примењују у многим електронским колима и системима. Динамичко скалирање напона и фреквенције је најчешће коришћени метод за смањење потрошње кола. DVFS смањује напон напајања што доводи до квадратног смањења динамичке компоненте снаге. Повећање удела статичке снаге у укупној потрошњи представља један од главних изазова у пројектовању савремених интегрисаних кола. На пример, произвођачи микропроцесора усвојили су примену технике Power gating и уградњу нових програмабилних Standby режима рада са циљем што ефикасније примене микропроцесора у сензорима мале снаге, бројним мобилним и бежичним апликацијама. У примењеним техникама као прекидачи се користе специјални транзистори који искључују напајање свих неактивних делова кола што доводи значајног смањења статичке снаге. Микропроцесори који се уграђују у Hard real-time системе, морају да раде исправно чак и у присуству грешака. Грешке се могу класификовати у две категорије - перманантне и транзијентне. Перманентне грешке могу довести систем у неисправно стање које се не може превазићи без неког облика хардверске редундансе, тј. уградње додатног хардвера. Транзијентне грешке су дешавају спорадично и случајно и могу се јавити, а затим нестати након кратког временског интервала. Показано је да са скалирањем технологија фабрикације интегрисаних кола, и нарочито, радом кола на све нижим напонима напајања, савремени микропроцесори постају подложнији транзијентним грешакама, па је стога неопходна примена нових метода који ове проблеме решавају. Стање решености овог проблема у свету Standby sparing метода користи се у системима за рад у реалном времену у условима када перманентне или транзијентне грешке ометају поуздан рад електронксих кола и система. Standby sparing се заснива на редундантности хардвера и систем који ради по овој методи састоји се од два микропроцесора. Поред главног микропроцесора који извршава задати низ задатака, користи се додатни микропроцесор (у њему се огледа редундантност
хардвера) који извршава резервне копије задатака и обезбеђује поуздани рад. Данас је потрошња енергије важан аспект пројектовања интегрисаних кола, па тако пројектовани Standby sparing систем користи неке технике које смањују потрошњу кола - DVFS (Dynamic Voltage and Frequancy Scaling - скалирање напона напајања) и Power gating (искључивање напона напајања у свим нективним деловима интегрисаног кола). Објашњење суштине техничког решења и детаљан опис са карактеристикама, укључујући и пратеће илустрације и техничке цртеже Пројектовано је интегрисано коло у коме је примењена Standby sparing техника. Коло се састоји од два идентична микроконтролера 805. Примарно језгро 805 микроконтролера ради на максималној фреквенцији f max, при вредности напона напајања V max. Потрошња примарног језгра може да се смањи применом DVFS технике, када се смањује вредност напона напајања. Она се скалира фактором ρ који припада интервалу [ρ min, ]. V ρ = () Промена вредности напона напајања мења максималну вредност фреквенције такта - f max због ограничења: f ( V V V V max 2 T ) clk, (2) где је V T напон прага, који зависи од технологије у којој се имплементира коло. Радна фреквенција кола приближно је пропорционална вредности напона напајања, па се фактор ρ може искористити за представљање брзине микроконтролера. Фактор скалирања ρ је једнак односу стварне брзине f и максималне f max. Промена максималне фреквенције такта може да поквари перформансе Real-time система, посебно када постоје јака временска ограничења за испуњавање задатака (hard deadlines). Додатно језгро 805 микроконтролера (Spare) обезбеђује имуност система на сталне или пролазне грешке. Ово језгро је идентично примарном 805 језгру, извршава исти низ задатака, али углавном ради у пасивном режиму рада (Standby) и укључује се по потреби. Поред тога, Spare ради при максималним вредностима радне фреквенције и напона напајања - f max и V max, дакле не користи DVFS за смањење потрошње, јер је познато да само при овом условима постоји најмања вероватноћа појављивања транзијентних грешака. Рад Standby sparing система може се објаснити на примеру групе задатака. Нека микроконтролер ради на V max и f max, и потребно је извршити задатак T i из групе, у временском интервалу АЕТ i. Трајање интервала АЕТ i је мање од времена WCET i - најгорег случаја временa извршења T i. Од Real-time система се захтева да задаци буду извршени пре одређеног времена D (Deadline time). За сваки задатак који се извршава на примарном језгру, и то на нижем напону напајања од V max, постоји потреба да се додатна копија задатка (back-up задатак) извршава на Spare језгру. Да би се обезбедио поуздани рад и извршавање свих задатака пре истека Deadline времена, често се прво укључује Spare језгро, а затим примарно језгро заврши задатак T i и провери резултате свога рада. Ако примарно језгро заврши задатак без грешке, резервно језгро отказује даљи рад, јер нема потребе да даље ради и враћа се у Standby мод рада. У супротном, back-up задатак се извршава до краја на Spare језгру.
Слика. Приказ два задатка који се извршавају на примарном и додатном (Spare) језгру Сл. показује пример извршења два узастопна задатака T i и T i+. Примарнo језгро, које ради на брзини ρ, извршава задатак у оквиру временског интервала АЕТ i /ρ. Spare микроконтролер, који ради на f max, почиње извршење након кашњења d i и завршава рад после временског интервала АЕТ i. До тада је Spare микроконтролер у неактивном Standby моду рада. У тренутку када примарно језгро заврши задатак T i, рад овог задатка се проверава. Ако грешка није пронађена, отказује се извршавање резервног задатка. У супротном, следећи задатак T i+ може бити покренут тек након што Spare заврши резервни задатак T i. Да би се смањила укупна дисипација, јасно је да треба смањити временски интервал у коме је Standby микроконтролер у активном моду рада. Зато време кашњења d i треба да се повећа. Међутим, повећање времена кашњења d i условљено је коначном вредношћу Deadline времена. Inter-task временски интервал r i дефинише се као временски размак два суседна задатка T i и T i+ : r i = di AETi ( / ρ ) (3) Потрошња енергије додатног језгра зависи од дужине трајања активног стања језгра a i : AET a i i = AETi ri = di ρ (4) Последња једнакост се може трансформисати у: a i + ri = AETi (5) Збир свих Inter-task времена једнако је временском интервалу слека (Slack time interval) N N SLT = ( ri ) max = D AETi (6) i= ρ i= Време активног рада Spare jeзгра, A доприноси укупној потрошњи. Време активног рада износи: N N N A = ai = AETi ri (7) i= i= i= Минимална вредност времена активног рада Spare jeзгра A, је: N N ( A ) min = AETi D, AETi > D / + i= i= ρ (8) N ( A ) min = 0, AETi D / + i= ρ Проблем код технике Standby sparing је тај што потрошња Spare јединице може бити већа од потрошње примарне јединице. Ово се нарочито испољава у условима када постоје строга временска ограничења за извршење задатака (hard deadlines). Укупна потрошња система може да буде смањена модификацијом која се заснива на спајању узастопних задатака и која је описана у даљем тексту. Модификација је објашњена на примеру два узастопна задатака T i и T i+. У примеру, примарно језгро ради на брзини ρ и извршава задатке T i и T i+. Трајања извршења задатака на примарном језгру једнака су AET i /ρ и AET i+ /ρ. Када примарно језгро заврши задатак T i, започиње извршавање следећег задатка T i+. Сада временски интервал између задатака
T i и T i+ на примарном језгру не постоји. Spare језгро почиње са извршавањем после кашњења d i. Ако се задатак T i изврши без грешке, извршење backup задатка T i се зауставља. Истовремено наредни задатак T i+ је већ почео да се извршава на примарној јединици. У тренутку када примарно језгро заврши T i+, проверава се рад T i+. Ако je задатак T i+ такође завршен без грешке, backup задатак T i+, такође се отказује. Backup задаци T i и T i+ се извршавају до краја у случају да се појаве грешке у раду примарног језгра. Само у овом случају, укупна потрошња енергије се повећава, јер Spare јединица изршава оба задатка - T i и T i+. Толеранција на грешке задатка T i је очувана, али је за T i+ је незнатно смањена јер се овај задатак извршава само на Spare језгру. Вероватноћа појављивања грешака је мала јер се за напајањсе Spare језгра користи максимални напон напајања V max. Слика 2. Модификација Standby sparing технике - случај. AET i > AET i+ /ρ Анализа модификације Standby sparing технике је спроведена разматрајући три случаја. Први случај је описан једначином (9) и приказан је на слици 2. AETi + AET i > (9) ρ У случају да Spare језгру извршава само део backup задатка T i, сума Inter-task времена и временског интервала активног стања Spare језгра током извршења T i и T i+ је једнакa: ( rj + a j ) = AETi + AETi+ j= i, i+ ρ (0) ri + AETi+, AETi + AETi+ ρ Када Spare језгро извршава делове оба backup задатка T i и T i+, сума је једнака: ( r j + a j ) = AETi + AETi+ 2 ri +, j= i, i+ ρ () ri + [ 0, AETi+ ] Други случај је описан једначином (2) и приказан је на слици 3.
Слика 3. Модификација Standby sparing технике - случај 2. AET i+ <AET i < AET i+ /ρ AETi + AET i+ < AETi < (2) ρ У случају ако Spare језгру извршава само део backup задатка T i+, сума Inter-task времена и временског интервала активног стања Spare језгра током извршења T i и T i+ је једнакa: ( rj + a j ) = AETi+, j= i, i+ (3) ri + AETi + AETi+, AETi+ ρ Када Spare језгро извршава делове оба backup задатка T i и T i+, сума је једнака: ( r j + a j ) = AETi + AETi+ 2 ri +, j= i, i+ ρ (4) ri + 0, AETi + AETi+ ρ Трећи случај је описан једначином (5) и приказан је на слици 4. AET i < AETi+ (5) Сума интер-таск времена и временског интервала активног стања Spare језгра је једнака: ( r + a ) = AET, j= i, i+ [, AET ] ri + 0 i+ j j i+ Потрошња Spare језгра може да се смањи уколико се смањи његово активно време рада. Модификација технике, која се базира на спајању задатака, смањује суму Inter-task времена и временског интервала активног стања Spare језгра. У првом случају, који је приказан у Сл. 2, ова сума се смањује за вредност AET i+ /ρ. У друга два случаја добија се смањење за време трајања интервала AET i. Описана операција се понавља све док сума Inter-task времена и временског интервала активног стања Spare језгра постане једнака или мања од временског интервала слека. Даље смањење суме не доприноси енергетској ефикасности. (6)
Слика 4. Модификација Standby sparing технике - случај 3. AET i < AET i+ Пројектовани систем састоји се од два микроконтролера, одликује се малом потрошњом и толеранцијом на присуство грешака. Микроконтролер 805 је искоришћен при реализацији система. Глобална архитектура микроконтролера састоји се од језгра, меморијских блокова и периферијских јединица. Периферијске јединице се састоје од три кола тајмера/бројача, три паралелна улазно/излазна порта, једног асинхроног серијског примопредајног блока и I2C комуникационог блока. У пројектованом колу налазе се три меморије: програмска меморија (8kB SRAM блок који је реализован за чипу), 2kB SRAM блок екстерне меморије за податке, и 256B интерне SRAM меморије. Микроконтролер је имплементиран у технологији стандардних ћелија Synopsys 90nm. Layout пројекта је подељен на три Power домена. Језгро микроконтролера, периферијске јединице и меморије смештени су у различите Power домене који дозвољавају да тренутно неактивне области буду искључене. Као прекидачи за имплементацију Power домена коришћени су Header MTCMOS транзистори. Tоком Standby мода рада напајање језгра чипа је искључено док су периферијске јединице и меморије под напајањем. Слика 5. Приказ распореда које примарно и додатно језгро извршавају применом Standby sparing технике Пројектован је систем који се састоји од два језгра 805 микроконтролера: примарне и додатне јединице. Примарна и додатна јединица имплементиране су у одвојеним Power доменима. Пошто додатна јединица извршава исти програмски код као и примарна јединица, она са примарном јединицом дели исте меморијске блокове. RAM меморије предстаљају највеће области layout-a, површина језгра микроконтролера је три пута мања од површине меморијских блокова. Зато, додатно језгро не повећава значајно укупну површину чипа.
Додатно језгро ради на напону напајања V max =.2V и извршава инструкције на максималној фреквенцији такта f max =20MHz. Користећи технику DVFS, напон напајања може да се смањи са почетне вредности V max до минималне V reduced =0.84V. Систем је испитиван на примеру који се састоји од низа задатака T, T 2, T 3 и T 4, чија су времена извршења респективно 0ms, 4ms, 6ms и 8ms. Најпре је примењен Standby sparing метод, а затим извршене три симулације система са различитиом параметрима ρ. Нормализована брзина примарног језгра ρ се мења у опсегу од ρ=0.9 до ρ=0.7. Притом се за вредност напона напајања узимају следеће вредности:.08v, 0.96V and 0.84V. Слика 6. Приказ распореда које примарно и додатно језгро извршавају применом модификоване Standby sparing технике Табела. Добијене енергије дисипације примарног и додатног језгра пре и после оптимизације Нормализована Укупна енергија брзина ρ [μj] Напон напајања примарног језгра [V] Енергија дисипације примарног језгра [μj] Енергија дисипације додтаног језгра [μj] Пре оптимизације 0.9.08V 223.905 89.35 33.256 0.8 0.96V 78.535 27.49 306.026 0.7 0.84V 38.52 76.526 35.046 После оптимизације 0.9.08V 223.905 0 223.905 0.8 0.96V 78.535 9.64 98.49 0.7 0.84V 38.52 6.646 200.66 Након што је layout система имплементиран и верификована нетлиста layout-a, могу се одредити снаге дисипације. Резултати су дати у Табели. Вредности дисипиране енергије током извршења задатака, када је Standby sparing техника примењена у изворном облику, су редом 33.25μJ, 306.02μJ и 35.04μJ. Након тога је примењена, модификована Standby sparing техника. Задаци T и T 2 су спојени, док је задатак T 3 спојен са задатком T 4. Параметар ρ, тј. брзина Spare јединице мења се у опсегу од 0.9 до 0.7. Слика 6 приказује распоред задатака када је применњена модификована Standby sparing метода. Добијене су следеће вредности потрошње енергије: 223.9μJ, 98.μJ и 200.μJ. Другим речима, добија
се побољшање од приближно 33% у потрошњи енергије у односу на неоптимизовано решење. Како је реализовано и где се примењује, односно које су могућности примене Коло процесорског система базираног на Standby Sparing методи реализовано је заједничким радом стручњака из LEDA Лабораторије Електронског факултета Универзитета у Нишу, према спецификацијама које је дао корисник резултата EWG огранак Ниш, који развија прототип трофазног вишефункционалног бројила и система за даљинско очитавање и управљање потрошњом електричне енергије. Коло је реализовано у CMOS технологији Synopsys 90nm. Истовремено, отворене су могућности да се пројекат прилагођава новим технологијама производње. Документација коју кандидати поднесу може садржати на 5-0 страница, укључујући илустрације и техничке цртеже. Подносилац пријаве Ниш, 2.2.203.