Рачунар са смањеним скупом инструкција

Из Википедије, слободне енциклопедије
(преусмерено са RISC)
Sun-ов UltraSPARC, RISC микропроцесор

Рачунар са смањеним скупом инструкција или RISC, је стратегија дизајна процесора на основу увиду да поједностављене (за разлику од комплекса) инструкције могу да пруже боље перформансе ако ова једноставност омогућава много брже извршавање сваке инструкције. Рачунар на основу ове стратегије је рачунар са смањеним скупом инструкција, који се такође зове RISC. Супротна архитектура се зове рачунар са сложеним скупом инструкција, тј. CISC.

Разни предлози су учињени у погледу прецизне дефиниције RISC-а, али општи концепт је да је то систем који користи мали, високо-оптимизовани скупа инструкција, пре него више специјализован скуп инструкција који се често може пронаћи у другим типовима архитектуре. Још једна заједничка особина је да RISC систем користи учитавање/складиштење архотектуре,[1] где се меморији нормално приступа помоћу конкретних упутстава, а не приступа се као делу друге инструкције као сабирање.

Иако је више система из 1960-их и 70-их година идентификовано као претеча RISC-а, модерне верзије дизајна датумирају до 1980. године. Конкретно, два пројекта на Универзитету Станфорд и Универзитету Калифорније у Берклију су највише повезана са популаризацијом овог концепта. Станфордов дизајн ће наставити да буде комерцијализован као успешна MIPS архитектура, док је Берклијев RISC дао име читавом концепту, комерцијализован као SPARC. Још један успех из овог доба су били напори IBM-а да коначно доведе до Power Architecture. Док су ови пројекти сазревали, широк спектар сличних пројеката је процветао крајем 1980-их и раних 1990-их година, представљајући велику снагу Unix workstation тржишта уградњом процесора у ласерске штампаче, рутере и сличне производе.

Добро позната RISC породица укључује DEC Alpha, AMD 29k, ARC, ARM, Atmel AVR, Blackfin, Intel i860 и i960, MIPS, Motorola 88000, PA-RISC, Power (укључујући PowerPC), SuperH, и SPARC. У 21. веку, употреба ARM архитектуре за процесоре у паметним телефинима и таблетима, као што су iPad, Android, и Windows RT таблети, обезбедила је широку базу корисника за RISC-засноване системе. RISC процесори се такође користе у суперрачунарима попут К рачунара, најбржег на TOP500 листи, другог на листи из 2012, а четвртог на листи из 2013,[2][3] и Sequoia, најбржег у 2012 и трећег на листи 2013.

Историја и развој[уреди]

Бројни системи, 1970. године (па чак и 1960. године) су били заслужени за прву RISC архитектуру, делом на основу њихових коришћења приступа учитавању/складиштењу.[4] Термин RISC је измислио David Patterson на Berkeley RISC пројекту, иако се донекле сличан концепт раније појавио.[5]

CDC 6600 дизајнирао је Симор Креј 1964. године коришћењем учитавање/складиштење архитектуре са само два режима адресирања (регистар+регистар, и регистар+непосредна константа) и 74 опкода, са основним циклусом генератора такта/инструкција са издатим опсегом који је 10 пута бржи него временски приступ меморији.[6] Делимично због оптимизоване учитавање/складиштење архитектуре CDC 6600 Jack Dongarra наводи да се он може сматрати претечом савремених RISC система, иако низ других техничких баријера треба да се превазиђу за развој савременог RISC система.[7]

IBM PowerPC 601 RISC микропроцесор.

Michael J. Flynn је први видео RISC систем као IBM 801 дизајн који је започео Џон Кок 1975. године, и завршио 1980. године.[1] 801 је на крају произведен у форми једног чипа као ROMP 1981. године, који је израђен за 'Research OPD [Office Products Division] Micro Processor'.[8] Као што назив каже, овај процесор је дизајниран за „мини“ задатке, а такође је коришћен у IBM RT-PC 1986 године, и испоставило се да је то комерцијални неуспех. [9] Али 801. године инспирисао је неколико истаживачких пројеката, укључујући један нови у IBM-у који ће на крају довести до IBM POWER инструкције скупа архитектуре.[9][10]

Највише приказани у јавности RISC дизајни, међутим, били су резултати програма истраживања универзитета покренутих уз финансирање DARPA VLSI Program. VLSI Програм, практично данас непознат, довео је до огромног напретка у дизајну чипа, производње, па чак и рачунарске графике. Berkeley RISC пројекат је започет 1980. године под руководством Davida Patterson и Carla H. Sequin.[5][11]

Berkeley RISC је заснован на стицању перформанси кроз употребу проточне обраде (pipelining) и агресивне употребе технике познате као регистарски прозор.[11] У традиционалном процесору, један има мали број регистара, а програм може користити било који регистар у било које време. У процесору за регистарским процесором, постоји велики број регистара, нпр 128, али програм може користити само мали број њих, нпр. осам, у једном тренутку. Програм који себе ограничава на осам регистара по процедури може имати брзе позиве процедура: Позив једноставно помера прозор „доле“ за осам, на скуп од осам регистара који користе ту процедуру, и враћа кретање прозора назад.[12] Berkeley RISC пројекат донео је RISC-I процесор 1982. године. Са садржајем само 44.420 транзистора (у поређењу са просеком од око 100.000 у новијој ери CISC дизајна) RISC-I је имао само 32 инструкције, а ипак је потпуно надмашио било који други дизајн једног чипа. Они су следили овај процесор са процесором RISC-II од 40.760 транзистора, 39 инструкција 1983. године који је био преко три пута бржи од RISC-I.[11]

MIPS архитектура настала је из дипломског курса John L. Hennessy са универзитета Станфорд 1981. године, који резултовао функционалним системом 1983. године, и могао је да покреће једноставни програм до 1984. године.[13] MIPS приступ истакао је агресивни генератор такта и употребу pipeline, правећи да се може покренути „најбрже“ што је могуће.[13] MIPS систем наследио је MIPS-X и 1984. године Hennessy и његове колеге су формирале MIPS Computer Systems.[13][14] Комерцијални подухват резултовао је R2000 микропроцесором 1985. године, а следио га је R3000 1988. године.[14]

Ко-дизајнер Yunsup Lee држи RISC-V прототип чипа из 2013.

У раним 1980-им годинама, значајна неизвесност окруживала је RISC концепт, и било је неизвесно да ли може имати комерцијалну будућност, али од средине 1980. године концепт је био довољно сазрео да се види као комерцијално одржив.[15][13] 1984 Hewlett Packard је почео да користи рану имплементацију њиховог PA-RISC у својим рачунарима.[15] У међувремену, напор Berkeley RISC је постао толико препознатљив да је на крају постао назив за цео концепт и 1987. године Sun Microsystems је почео са испоруком система са SPARC процесором, директно заснованог на Berkeley RISC-II систему.[15][16]

Амерички владин одбор за иновације у рачунарству и телекомуникацији кредитира прихватио је одрживост RISC концепта као успех SPARC система.[15] Успех SPARC-а обнавља интерес IBM-а, који објављује нови RISC систем 1990. године и 1995. године RISC процесори су фондација од 15$ милијарди долара серверске индустрије.[15]

Од 2011. године ново истраживање ISA, RISC-V, је био у фази развоја на Универзитету Калифорнија, Беркли, наглашавајућа својства су много језгара, хетерогени мулти процесори, виртуализабилност и густина кодирања инструкција.[17]

Карактеристике и филозофија дизајна[уреди]

Скуп инструкција[уреди]

Уобичајени неспоразум фразе " рачунар са смањеним скупом инструкција“ је погрешна идеја да су инструкције једноставно елиминисане, што је резултовало мањим скупом инструкција. У ствари, током година, RISC-ов скуп инструкција је порастао у величини, а данас многи од њих имају већи скуп инструкција од многих CISC процесора.[18][19] Неки RISC процесори, на пример, као што је PowerPC има скуп инструкција велики као и CISC IBM System/370; обрнуто DEC PDP-8 – јасно CISC процесор јер многе од његових инструкција подразумевају више приступа меморији – има само 8 основних инструкција и неколико проширених инструкција.

Термин „смањен“ у тој фрази је са намером да опише чињеницу да се количина рада било које остварене инструкције је смањена – нејвише један циклус меморијских података –у поређењу са „сложеним инструкцијама“ CISC процесора које могу захтевати десетине циклуса меморијских података како би обавили једну инструкцију.[20] Нарочито, RISC процесори обично имају посебне инструкције за У/И операције и обраду података.

Коришћење хардвера[уреди]

За сваки ниво општих перформанси, RISC чип ће обичнно имати далеко мање [Транзистор|транзистора]] који су посвећени логици језгра која је првобитно дозвољавала дизајнерима да повећају величину регистарског скупа и повећају унутрашњи паралелизм.

Остале карактеристике које се обично налазе у RISC архитектури су:

  • Уједначени формат инструкције, који користи једну реч са opcode у истим бит позицијама у свакој инструкцији, захтевајући мање декодирање;
  • Индентични регистри опште намене, који омогућавају да се било који регистар користи у било ком контексту, поједностављујући дизаин компајлера (мада обично постоји посебан floating point регистар);
  • Једноставан начин адресирања, са сложеним адресирањем које се извршава преко секвенци аритметике и/или учитавање-складиштење операција;
  • Неколико типова података у хардверу, неки CISCs имају бајт ниске инструкција, или подржавају комплексне бројеве; мало је вероватно да ће се ово сада наћи на RISC.

Обиље изузетака налази се, наравно, и у CISC и у RISC.

RISC дизајни су такође вероватнији у карактеризацији Харвдерски модел меморије, где су инстрикцијски ток и ток података концептуално одвојени, то значи да модификација меморије у којој се код одржава можда неће имати никакав утицај на извршене инструкције од стране процесора (јер CPU има одвојене кешева за инструкције и податке), барем док се не изда посебна инструкција за синхронизацију. На горњој страни, то омогућава да кешеви могу истовремено приступити, што често може побољшати перформансе.

Многи рани RISC дизајни су делили карактеристику да имају грану кашњења слота. Грана кашњења слота је инструкциони простор одмах иза скока или гране. Инструкција се у овом простору извршава, без обзира да ли је или није узета грана (другим речима ефекат гране касни). Ова инструкција одржава ALU CPU-а заузетим за додатно време које је обично потребно да се грана изврши. Данас грана кашњења слота се сматра као нежељеним споредним ефектом одређене стратегије за имплементацију неког RISC дизајна, а модерни RISC дизајни генерално су га укинули (као што су PowerPC и новије верзије SPARC-а и MIPS-а).

Неки аспекти се приписују првим RISC-обележеним дизајнима око 1975. године укључујући запажања да меморијска-ограничења компајлера тог времена често нису могли да користе предности карактеристика које су имале за циљ да олакшају употребу слота кодирања, а тај комплексни начин адресирања узима много извршних циклуса услед потребног додатног приступа меморији. Тврдило се да ће се такве функције боље извршавати помоћу секвенци једноставних инструкција ако би могла са се добије довољно мала имплементација да ослободи просторију за многе регистре, смањујући број спорих приступа меморији. У овим једноставним дизајнима, већина инструкција је јединствене дужине и сличне структуре, аритметичке операције су ограничене на CPU регистре и само одвојене инструкције учитавања и складиштења приступају меморији. Ове особине омогућавају боље балансирање стања проточних обрада него раније, што чини RISC проточне обраде значајно ефикаснијим и омогућава већу фреквенцу генератора такта.

У раним данима рачунарске индустрије, програмирање је урађено у асемблер језику или машинском коду, који су снажно подстакли и једноставни су за коришћење инструкције. Дизајнери CPU-а су због тога покушавали да направе инструкције које ће урадити колико год је могуће изводљивог посла. Са појавом језика високог нивоа, рачунарске архитектуре су такође почеле да стварају наменске инструкције за директну имплементацију одређеног централног механизма тих језика. Још један општи циљ је био да се обезбеди сваки могући режим адресирања за сваку инструкцију, познат као ортогоналност, како би се олакшала имплементација компајлера. Аритметичке операције стога су могле да имају често резултате као и операнди директно у меморији (додатно у регистару или непосредно).

Став у то време био је да је дизаин хардвера зрелији од дизајна компајлера, тако да је ово било само по себи такође разлог за имплементацију делова функционалности у хардвер или микрокод пре него у меморијски ограниченом компајлеру (или његов генерисани код). Након појаве RISC-а, ова филозофија је постала ретроактивно позната као рачунар са сложеним скупом инструкција, или CISC.

CPUs такође имају релативно мало регистара, из неколико разлога:

  • Више регистара такође подразумева више трошења времена за чување и враћање садржаја регистра на машински стек.
  • Велики број регистара захтева велики број битова инструкције као регистар спецификатора, што значи мању густина кода (види доле)
  • CPU регистри су скупљи од локација екстерне меморије; већи скупови регистара били су гломазни са ограниченим штампаним плочама или чипом интеграција.

Важна сила подстицања сложености била је веома ограничавајућа главна меморија (реда килобајта). То је због тога било повољно за густину информације које се чувају у комјутерским програмима да буде висока, што доводи до особина високог кодовања, променљиве дужине инструкција, раде учитавање података као и рачунање (горе поменуто). Ове појединости биле су вишег приоритета него лако као декодовање таквих инструкције.

Подједнако важан разлог је тај да је главна меморија прилично спора (уобичајен тип је гвоздено језгро меморије); коришћењем густине информације паковања, може се смањити учесталост којом је CPU морао да приступа спорим ресурсима. Модерни рачунари се суочавају са сличним ограничавајућим факторима: главне меморије су споре у односу на CPU а брзе кеш меморије које се користе да се ово провезиђе су ограничене величином. Ово може делимично објаснити зашто се високо кодирани скуп инструкција показао као користан RISC дизајн у модерним рачунарима.

RISC је развијен као алтернатива за оно шта је данас познато као CISC. Током година, друге стратегије су имплементиране као алтернатива за RISC и CISC. Неки примери су VLIW, MISC, OISC, масивна паралелна обрада, систолни низ, реконфигурисано рачунање, и архитектура проточних података.

Средином 1970-их година, истраживачи (нарочито John Cocke) на IBM-у (и било где слични пројекти) су показали да већина комбинација ових ортогоналних начина адресирања и инструкција се не може да користе већина програма који су били генерисани од компајлера доступних у то време. У многим случајевима био је тежак задатак да се напише компајлер са више него ограниченом способношћу у добијању напредних карактеристика које је обезбеђивао конвенционални CPU.

Такође је откривено да, на микрокодираним имплементацијама појединих архитектура, комплексне операције имају тенденцију да буду спорије него низ једноставних операција које раде исту ствар. То је делимична последица чињенице да су многи дизајнери били пожуривани, са мало времена да би се оптимизовала или подесила свака инструкција, али само оних које се најчешће користе. Један озлоглашен пример је VAX's INDEX инструкција.

Као што је већ поменуто, језгро меморије је одавно спорије од многих CPU дизјна. Долазак полупроводничке меморије смањује ову разлику, али је било очигледно да ће више регистара (и касније кешева) омогућити више CPU радне фреквенце. Додатно, регистри ће захтевати прилично велике чипове или плоче које би, у то време (1975. године), могле да се направе доступним само ако се смањи комплексност CPU логике.

Још један подстицај за RISC и друге дизајне дошао је из практичних мерења на реалним светским програмима. Andrew Tanenbaum сумирао је многе од њих, показујући да процесори често имају превелике непосредности. На пример, он је показао да 98% од свих константи у програму би стало у 13 бита, али многи CPU дизајни наменили су 16 или 32 бита за њихово складиштење. Ово сугерише да, при смањењу броја приступа меморији, фиксна дужина машине може складиштити константе у неискоришћеним битовима инструкција самих речи, тако да ће оне одмах бити спремне када их CPU треба (слично као непосредно адресирање у конвенционалном дизајну). Ово захтева мале опкодове како би се оставио простор за разумно велику константу у 32-битној инструкционој речи.

Пошто многи реални светски програми троше вићину свог времена на извршавање једноставних операција, неки истраживачи одлучили су да се фокусирају на прављење што је могуће бржих операција. Такт CPU-а је ограничен временом које је потребно за извршавање најспорих под-операција било које инструкције; смањење времена циклуса често убрзава извршавање других инструкција.[21] Фокус на „смањење инструкција“ довео је до тога да се машина зове „рачунар са смањеним скупом инструкција“ (RISC). Циљ је био да се направе инструкције довољно мале да се лако могу користити за проточну обраду, како би се постигао један генераторски такт протока на високом фреквенцама.

Касније, било је примећено да је једна од најзначајнијих карактеристика RISC процесора је била да спољна меморија буде доступна само инструкцији учитавања или складиштења. Све остале инструкције су ограничене на унутрашњи регистар. Ово пеједностављује многе аспекте дизајна процесора: омогућава да инструкције буду фиксне дужине, једноставније проточне обраде, и изолација логике за решавање кашњења у завршавању присупа меморији (кеш промашаји, и слично) на само две инструкције. То је довело да RISC дизаин буде називан као учитавање/складиштење архитектура.[22]

Још једна појединост је та да су неке сложене инструкције тешке за рестартовање, на пример након грешке странице. У неким случајевима, рестартовање ће од почетка радити (мада расипнички), али у многим случајевима ће то дати нетачан резултат. Зато машина мора да има неко скривено стање у памћењу које је прошло кроз делове и шта је још остало да се уради. Са учитавањем/складиштењем машином, програмски бројач је довољан да опише стање машине.

Поређење са другим архитектурама[уреди]

Неки CPUs су специјално дизајнирани да имају врло мали скуп инструкција – али ови дизајни су веома различити од класичног дизајна RISC-а, тако да су добили нека друга имена као што су минимални скуп инструкција рачунара (MISC), или превозно активирајућа архитектура (TTA), итд.

Упркос многим успесима, RISC је направио мали продор у десктоп рачунарима и робама за серверско тржиште, где Intel-ова х86 платформа остаје доминантна процесорска архитектура. Постоје три главан разлога за то:

  1. Велика база приватних PC апликација су писане за х86 или компајлиране у х86 машински код, где ниједна RISC платформа нема сличну инсталирану базу; стога су PC корисници били закључани у х86.
  1. Иако је RISC био у стању да повећа перформансе веома брзо и јефтино, Intel је искористио предности свог тржишта, трошећи велике количине новца на развој процесора. Intel је могао потрошити много више него било који RISC произвођач на побољшање дизајна ниског нивоа и производњу. Не може се исто рећи за мање фирме као што су Cyrix и NexGen, али су они схватили да могу применити (уско) дизајн проточне обраде у пракси такође на х86 архитектури, баш као у 486 и Pentium-у. 6x86 и MII серије су радиле баш ово, али напредније; они су имплементирали суперскларно спекулативно извршење преко преименованих регистара, директно на ниво х86. Други, попут Nx586 и AMD K5 су учинили исто, али индиректно, преко баферовања динамичког микрокода и полу-независног суперскаларног распоређивања и слања инструкције на нивоу микро-операција (старији или једноставнији 'CISC' дизајни типично извршавају круте микро-операције секвенцијално директно). Први чип доступан примени таквог динамичког баферовања и техници распоређивања био је NexGen Nx586, пуштен 1994. године; AMD K5 је жестоко каснио и објављен је 1995. године.
  1. Каснији, моћнији процесори, као што су Intel P6, AMD K6, AMD K7, и Pentium 4 користили су слично динамичко баферовање и принципе распоређивања и имплементирали су слабо спојено суперскаларно (и спекулативно) извршење микро-операција секвенци генерисаних из неколико паралелних фаза х86 декодирања. Данас, ове идеје се даље рафинисане (на пример, неки х86-парови су спојени у сложеније микро-операције) и још увек се користе од стране модерних х86 процесора као шро су Intel Core 2 и AMD K8.

Док су се рани RISC дизајни значајно разликовали од савремених CISC дизајна, до 2000. године највише перформансе CPUs у RISC линији се готово не разликују од највиших перформанци CPUs у CISC линији.[23][24][25]

RISC: од мобилних телефона до суперрачунара[уреди]

RISC архитектуре данас користе широк спектар платформи, од мобилних телефона и таблет рачунара до неких од најбржих суперрачунара као што је K рачунар, најбржи на листи TOP500 у 2011. години.[2][3]

Низак крај и мобилни системи[уреди]

До почетка 21. века, већина ниског краја и мобилних система се ослањао на RISC архитектури.[26]

Примери укључују:

  • ARM архитектура доминира тржиштем за уграђене системе мале снаге и јефтине (обично 100-1200 MHz у 2011.) Користи се у великом броју система кео што су системи базирани на Android-у, Apple iPhone и iPad, RIM уређајима, Nintendo Game Boy Advance и Nintendo DS, итд.
  • MIPS линије (у једном тренутку су се користиле у SGI рачунарима), сада се користе у PlayStation, PlayStation 2, Nintendo 64, PlayStation Portable играчка конзола, и прикладан за куће мрежни пролаз (residential gateways) као Linksys WRT54G seriје.
  • Hitachi's SuperH, првобитно у широкој употреби у Sega Super 32X, Saturn и Dreamcast,
  • Atmel AVR се користи у разним производима од Xbox ручних контролера до BMW аутомобила.

Висок крај RISC и суперрачунање[уреди]

  • SPARC, од Oracle-а (раније Sun Microsystems) и Fujitsu
  • IBM's Power Architecture, користи многе IBM-ове суперрачунаре, сервере средњег нивоа и радне станице.
  • Hewlett-Packard-ов PA-RISC, такође познат као HP-PA, (прекинут крајем 2008).
  • Alpha, користи single-board рачунар, радну станицу, сервер и суперрачунар из Digital Equipment Corporation, Compaq и HP (обустављен од 2007. године).

Види још[уреди]

Референце[уреди]

  1. ^ а б Flynn 1995, стране 54-56
  2. ^ а б „Japanese ‘K’ Computer Is Ranked Most Powerful“. The New York Times. 20. 6. 2011. Приступљено 20. 6. 2011.. 
  3. ^ а б „Supercomputer "K computer" Takes First Place in World“. Fujitsu Приступљено 20. 6. 2011.. 
  4. ^ Fisher, Faraboschi & Young 2005, стране 55
  5. ^ а б Milestones in computer science and information technology by Edwin D. Reilly 2003. ISBN 978-1-57356-521-9. pp. 50
  6. ^ Grishman (1974), стр. 12.
  7. ^ Dongarra, Jack J.; Duff, Iain S.; Sorensen, Danny C.; Henk A. van der Vorst (January 1998). Numerical Linear Algebra on High-Performance Computers. SIAM. стр. 6. ISBN 978-0-89871-428-9. 
  8. ^ Processor architecture: from dataflow to superscalar and beyond by Jurij Šilc, Borut Robič, Theo Ungerer 1999. ISBN 978-3-540-64798-0. pp. 33
  9. ^ Nurmi, Jari (2007). Processor Design: System-On-Chip Computing for ASICs and FPGAs. Springer. стр. 40-43. ISBN 978-1-4020-5529-4. 
  10. ^ Readings in computer architecture by Mark Donald Hill, Norman Paul Jouppi, Gurindar Sohi 1999. ISBN 978-1-55860-539-8. pages 252-254
  11. ^ а б в RISC I: A Reduced Instruction Set VLSI Computer by by David A. Patterson and Carlo H. Sequin, in the Proceedings of the 8th annual symposium on Computer Architecture, 1981.
  12. ^ Design and Implementation of RISC I by Carlo Sequin and David Patterson, in the Proceedings of the Advanced Course on VLSI Architecture, University of Bristol, July 1982 [1]
  13. ^ а б в г The MIPS-X RISC microprocessor by Paul Chow 1989. ISBN 978-0-7923-9045-9. pages xix-xx
  14. ^ а б Processor design: system-on-chip computing for ASICs and FPGAs by Jari Nurmi 2007. ISBN 978-1-4020-5529-4. pages 52-53
  15. ^ а б в г д Funding a Revolution: Government Support for Computing Research by Committee on Innovations in Computing and Communications 1999. ISBN 978-0-309-06278-7. pp. 239
  16. ^ Computer science handbook by Allen B. Tucker 2004. ISBN 978-1-58488-360-9. page 100-6
  17. ^ Waterman, Andrew; Lee, Yunsup; Patterson, David A.; Asanovi, Krste. „The RISC-V Instruction Set Manual, Volume I: Base User-Level ISA (Technical Report UCB/EECS-2011-62)“. University of California, Berkeley Приступљено 1. 5. 2013.. 
  18. ^ "RISC vs. CISC: the Post-RISC Era" by Jon "Hannibal" Stokes (Arstechnica)
  19. ^
  20. ^ Dandamudi, Sivarama P. (2005). Guide to RISC Processors: for Programmers and Engineers. Springer Science & Business Media. ISBN 978-0-387-27446-1. 
  21. ^
  22. ^ Kevin Dowd. High Performance Computing. O'Reilly & Associates, Inc. 1993.
  23. ^ "Schaum's Outline of Computer Architecture" by Nicholas P. Carter 2002. . ISBN 978-0-07-136207-8. pp. 96.
  24. ^ "CISC, RISC, and DSP Microprocessors" by Douglas L. Jones 2000
  25. ^
  26. ^ Guide to RISC processors: for programmers and engineers by Sivarama P. Dandamudi - 2005. ISBN 978-0-387-21017-9. pages 121-123

Литература[уреди]

Спољашње везе[уреди]