- Процесорске архитектуре
- Архитектура скупа упутстава РИСЦ и ЦИСЦ
- Компликовано рачунање скупова инструкција (ЦИСЦ)
- Смањено рачунање скупа инструкција (РИСЦ)
Уграђени систем је срце и срж већине електронских производа доступних на тржишту. То је имплементација инжењеринга у којем хардвер испуњава софтвер. Окружени смо светом уграђених система, са мини-рачунарима у биометријским бравама, авионима, аутомобилима, пејсмејкерима итд. Ови ограничени ресурси, мали, паметни и моћни системи помажу нам у свакодневним задацима.
Икада размишљао о томе како функционише наше тело, нервни систем, мозак и способност вишеструког задатка. Ако комбинујете све ове функције, добили бисте оквирну слику биолошког уграђеног система. Наш мозак скрива сложене детаље свог функционисања који се одвијају у њему, али нам ипак омогућава да га контролишемо до максимума. Иста сложеност важи и за процесор или контролер који се користе у уграђеним системима. Они скривају сложене детаље и пружају нам интерфејс на високом нивоу за рад. За ниво апстракције може се повезати како код за додавање два броја у програмском језику високог нивоа узрокује да регистри у чиповима обрађују битове и дају излазни резултат кориснику.
Процесорске архитектуре
Централна процесорска јединица, која се односи и на микропроцесор и на микроконтролер, обавља одређене задатке уз помоћ контролне јединице (ЦУ) и аритметичке логичке јединице (АЛУ). Како се упутства достављају из РАМ-а, ЦПУ делује уз помоћ своје две помоћне јединице стварајући променљиве и додељујући им вредности и меморију. Заиста је важно знати како ЦПУ изводи све ове акције уз помоћ своје архитектуре. Ако желите да сазнате више о томе како микроконтролер ради, можете прочитати овај основни чланак о микроконтролеру.
Сваки ЦПУ има меморију повезану са собом за чување програма и података. Програм и подаци раде са ЦПУ-ом да би добили излаз. Програм пружа упутства, док подаци пружају информације на којима треба радити. За приступ програму и подацима ЦПУ користи сабирнице, ове сабирнице су жице, тачније то су трагови жица као што сте можда видели на штампаним плочама. Током ових година микроконтролери и микропроцесори су еволуирали прилагођавањем различитих архитектура, на основу примене или захтева дизајна, на избор микроконтролера утиче врста архитектуре која се у њему користи. Погледајмо популарне архитектуре.
Вон-Неуманн / Принцетон архитектура
Начин на који ЦПУ добија приступ програму и подацима говори о архитектури ЦПУ-а. Раније се за приступ програму и подацима користила једна магистрала. Ова врста архитектуре позната је као Вон Неуманн Арцхитецтуре или једноставније Принцетон Арцхитецтуре. Појединачна магистрала за добијање кода и података значи да долазе једни другима на пут и успоравају брзину обраде ЦПУ-а, јер је сваки морао да сачека да други заврши дохватање. Ово ограничење је познато и као Вон-Неуманново уско грло.
Харвардска архитектура
Да би се убрзао процес предложена је Харвард Арцхитецтуре. У овој архитектури су присутни засебни сабирници података за податке и програм. Дакле, значи да је ова архитектура предложила употребу четири аутобуса
- Скуп магистрале података који преноси податке у и изван ЦПУ-а.
- Скуп магистралних адреса за приступ подацима.
- Скуп магистрале података за пренос кода у ЦПУ.
- Адресна магистрала за приступ коду.
Коришћење одвојене магистрале адреса и магистрале података значило је кратко време извршавања ЦПУ-а, али то кошта по сложеност у дизајнирању архитектуре. Вон Неуманнова архитектура можда звучи помало лењо, али има предност свог једноставног дизајна.
Харвардску архитектуру је много лако имплементирати када ЦПУ и меморијске јединице деле исти простор или су РАМ и РОМ уграђени (на чипу) са процесорском јединицом, као у микроконтролеру где су растојања у микронима и милиметрима. Међутим, исту архитектуру је тешко применити тамо где је меморија која држи код екстерна према процесорској јединици, попут оне у к86 ИБМ ПЦ-има. Скуп засебних трагова жице и за податке и за адресу на матичној плочи учинио би плочу сложеном и скупом. Хајде да то разумемо на примеру процесора.
Процесору са 64-битном магистралом података и 32-битном магистралом адресе требало би приближно 100 магистрала (96 за магистралу података и адреса и неколико других за контролне сигнале) за имплементацију Вон-Неуманнове архитектуре. Иста структура, ако се примени са Харвардском архитектуром, коштала би двоструке трагове око 200 са великим бројем пинова који излазе из процесора. Из истог разлога што не видимо чисту Харвардску архитектуру имплементирану за рачунаре и радне станице. Уместо тога, користи се модификована архитектура Харварда у којој се хијерархија меморије са ЦПУ кеш меморијом користи за одвајање програма и података. Хијерархија меморије раздваја складиште на основу хијерархије времена одзива процеса.
Архитектура скупа упутстава
Како се програм (код) учитава у меморију система (РАМ), ЦПУ га (узимајући у обзир и микропроцесор и микроконтролер) преузима да делује на податке, много је сличан јер дајемо упутства када дресирамо пса за одређене радње и наредбе. Како се та упутства понашају на одређеним транзисторима, то прелази са једног нивоа логике на други. Дакле, у основи уз помоћ упутстава људски програмер комуницира са процесором. Сваки ЦПУ има свој сет инструкција, збирку упутстава заснованих на његовој архитектури и могућностима.
ЦПУ разуме ова упутства у комбинацији 0 и 1 која су такође позната као оптички код. За људског програмера је заиста тешко упамтити комбинацију 0 и 1 за сваку инструкцију која је повезана са процесором. Да бисмо олакшали посао људског програмера, обезбеђени смо интерфејсима ових упутстава на високом нивоу, а преводилац их претвара у облику 0 и 1 за његову обраду. Такође у сету инструкција сваког процесора има ограничен број упутстава која може да разуме.
Перформансе ЦПУ-а
Можда сте чули појам такта ЦПУ-а који се односи на перформансе ЦПУ-а. ЦПУ обично имају радни такт у МХз (Мега-Хертз) или ГХз (Гига-Хертз) попут 25 ГХз. Број повезан са тактом говори колико пута сат унутар ЦПУ откуцава у циклусима у секунди. Практичност такта се може разумети чињеницом да се инструкције изводе на основу циклуса такта ЦПУ-а који је пропорционалан броју програма које ЦПУ може истовремено покренути.
Перформансе процесора зависи од броја инструкција које су написане у програму, више упутствима, више од времена које је ЦПУ да их обавља. Такође зависи од броја тактова у којима се извршава свака инструкција, одређеним инструкцијама је потребно више циклуса такта да би се извршиле од других, тако да заостају у перформансама ЦПУ-а. Упутства у програму и циклуси потребни за извођење сваке инструкције су обрнуто пропорционални једни другима. Промена једног утицаће на друго. Ово је тачка у којој је ЦПУ индустрија подељена.
Архитектура скупа упутстава РИСЦ и ЦИСЦ
Као што је горе речено, Извршење програма и перформансе ЦПУ-а зависе од броја упутстава у програму при чему су упутства предложена тој одређеној ЦПУ-у као део скупа инструкција, а други фактор је број тактова у које се свака инструкција извршава. На основу ова два фактора тренутно су на располагању два скупа упутстава. Најранији од њих је сложено рачунање скупа инструкција (ЦИСЦ), док је друго рачунање рачунарског скупа инструкција (РИСЦ). Размотримо детаљно сваку од ових архитектура да бисмо разумели разлику између РИЦ и ЦИСЦ архитектуре.
Компликовано рачунање скупова инструкција (ЦИСЦ)
ЦИСЦ је скраћеница од Цомплус Инструцтион Сет Цомпутинг. Главни мотив ЦИСЦ-а је смањити број инструкција које програм извршава, а то се постиже комбиновањем многих једноставних инструкција попут режима адресе, учитавања итд. И формирање једне сложене инструкције. Упутство ЦИСЦ обухвата низ једноставних инструкција као и неке посебне инструкције да узима више од једног сата циклус да се изврши. ЦИСЦ упутства могу директно радити на меморији без интервенције регистара, што значи да елиминише потребу за неким основним упутствима попут учитавања вредности и захтева меморије (РАМ). ЦИСЦ упутства наглашавају више на хардверу него на софтверу, што значи да уместо да оптерећују компајлере,ЦИСЦ користи транзисторе као хардвер за декодирање и примену упутстава. Међутим, како је инструкција сложена и састоји се од више корака, извршава се у већем броју циклуса такта.
Једноставна аналогија коју треба повезати је када вам се каже да отворите књигу и прочитате 2. страницу 3. поглавља. У овој серији активности радите више корака, попут проналажења књиге из торбе, него премештањем странице до 3. поглавља, а затим одласком на 2. страницу поглавља и започињањем читања. Серија корака ако се комбинује у једном упутству за читање странице 44 (што је број 2. странице 3. поглавља), добићемо ЦИСЦ упутство.
Смањено рачунање скупа инструкција (РИСЦ)
Први интегрисани чип дизајнирао је Јацк Килби 1958. године који је био осцилатор, а 1970. године први комерцијални микропроцесор изашао је из Интела. Иако на почетку процесора није постојао ЦИСЦ. Али с великим рачуналним захтевима, ЦИСЦ архитектура је постајала све сложенија и тежа за руковање. Потпуни редизајн ЦИСЦ архитектуре познат као РИСЦ избацио је из ИБМ-а Јохн Цоке. Тако су за разликовање две архитектуре уведени термини РИСЦ и ЦИСЦ.
РИСЦ значи скраћено рачунање скупа инструкција. Главни мотив РИСЦ-а био је увођење једнообразности у величини и извршењу упутстава. То је учињено увођењем једноставног скупа инструкција који се може извршити као једна инструкција по циклусу, а то се ради разбијањем сложених инструкција попут учитавања и чувања у различите инструкције, при чему свакој инструкцији треба приближно један циклус такта да би се извршио. РИСЦ архитектура обухвата једноставне инструкције исте величине која би могла да се реализује у једном циклусу. Машинама заснованим на РИСЦ-у потребно је више РАМ-а него ЦИСЦ- у да би задржале вредности док учитавају сваку инструкцију у регистре. Извршење једне инструкције по циклусу даје машинама заснованим на РИСЦ-у предност цевовода(цевовод је процес у којем се следећа инструкција учитава пре него што се изврши прва инструкција, ово повећава ефикасност извршавања). РИСЦ архитектура наглашава