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

С Википедије, слободне енциклопедије
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. године концепт је био довољно сазрео да се види као комерцијално одржив.[13][15] 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 чип ће обично имати далеко мање транзистора који су посвећени логици језгра која је првобитно дозвољавала дизајнерима да повећају величину регистарског скупа и повећају унутрашњи паралелизaм.

Остале карактеристике које се обично налазе у 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-ова x86 платформа остаје доминантна процесорска архитектура. Постоје три главна разлога за то:

  1. Велика база приватних PC апликација су писане за x86 или компајлиране у x86 машински код, где ниједна RISC платформа нема сличну инсталирану базу; стога су PC корисници били закључани у x86.
  2. Иако је RISC био у стању да повећа перформансе веома брзо и јефтино, Intel је искористио предности свог тржишта, трошећи велике количине новца на развој процесора. Intel је могао потрошити много више него било који RISC произвођач на побољшање дизајна ниског нивоа и производњу. Не може се исто рећи за мање фирме као што су Cyrix и NexGen, али су они схватили да могу применити (уско) дизајн проточне обраде у пракси такође на x86 архитектури, баш као у 486 и Pentium-у. 6x86 и MII серије су радиле баш ово, али напредније; они су имплементирали суперскларно спекулативно извршење преко преименованих регистара, директно на ниво x86. Други, попут Nx586 и AMD K5 су учинили исто, али индиректно, преко баферовања динамичког микрокода и полу-независног суперскаларног распоређивања и слања инструкције на нивоу микрооперација (старији или једноставнији 'CISC' дизајни типично извршавају круте микрооперације секвенцијално директно). Први чип доступан примени таквог динамичког баферовања и техници распоређивања био је NexGen Nx586, пуштен 1994. године; AMD K5 је жестоко каснио и објављен је 1995. године.
  3. Каснији, моћнији процесори, као што су Intel P6, AMD K6, AMD K7, и Pentium 4 користили су слично динамичко баферовање и принципе распоређивања и имплементирали су слабо спојено суперскаларно (и спекулативно) извршење микрооперација секвенци генерисаних из неколико паралелних фаза x86 декодирања. Данас, ове идеје се даље рафинисане (на пример, неки x86-парови су спојени у сложеније микрооперације) и још увек се користе од стране модерних x86 процесора као шро су 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. стр. 50.
  6. ^ Grishman 1974, стр. 12.
  7. ^ Dongarra, Duff & Sorensen 1998, стр. 6
  8. ^ Processor architecture: from dataflow to superscalar and beyond by Jurij Šilc, Borut Robič, Theo Ungerer. 1999. ISBN 978-3-540-64798-0. стр. 33.
  9. ^ Nurmi 2007, стр. 40–43
  10. ^ Readings in computer architecture by Mark Donald Hill, Norman Paul Jouppi, Gurindar Sohi. 1999. ISBN 978-1-55860-539-8. стр. 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. xix-xx
  14. ^ а б Processor design: system-on-chip computing for ASICs and FPGAs by Jari Nurmi. 2007. ISBN 978-1-4020-5529-4. стр. 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. стр. 239.
  16. ^ Computer science handbook by Allen B. Tucker. 2004. ISBN 978-1-58488-360-9. стр. 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)” (PDF). University of California, Berkeley. Приступљено 1. 5. 2013. 
  18. ^ "RISC vs. CISC: the Post-RISC Era" by Jon "Hannibal" Stokes (Arstechnica)
  19. ^ * "RISC versus CISC" by Lloyd Borrett Australian Personal Computer, June 1991
  20. ^ Dandamudi 2005
  21. ^ * "Microprocessors From the Programmer's Perspective" by Andrew Schulman 1990
  22. ^ Kevin Dowd. High Performance Computing. O'Reilly & Associates, Inc. 1993.
  23. ^ Carter 2001, стр. 96–105.
  24. ^ "CISC, RISC, and DSP Microprocessors" by Douglas L. Jones 2000
  25. ^ * "A History of Apple's Operating Systems" Архивирано на сајту Wayback Machine (30. април 2013) by Amit Singh. "the line between RISC and CISC has been growing fuzzier over the years."
  26. ^ Guide to RISC processors: for programmers and engineers by Sivarama P. Dandamudi . 2005. ISBN 978-0-387-21017-9. стр. 121-123.

Литература[уреди | уреди извор]

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