RISC-процесорна архитектура

RISC архитектурата е компютър с намален набор от инструкции. Това е тип микропроцесорна архитектура, която използва малък оптимизиран набор от инструкции, за разлика от предишните типове архитектури с разширен набор от алгоритмични данни. Понятието RISC е измислено от Дейвид Патерсън от проекта RISC на Бъркли.

Определение

Компютър с ограничен набор от команди е устройство, чиято архитектура на набор от инструкции (ISA) има набор от атрибути, които му позволяват да има по-ниски цикли на CPI, отколкото сложен набор от команди към вашия компютър (CISC). Общата концепция на RISC е концепцията за компютър, който съдържа малък набор от прости и общи алгоритми, но не разширен набор от сложни и специализирани последователности. Друга обща характеристика на RISC е архитектурата за зареждане /съхранение, където достъпът до паметта се извършва само с определени инструкции.


История и развитие

Първите RISC проекти дойдоха от IBM, Stanford и UC Berkeley през 70-те и 80-те години на ХХ век. IBM 801 Stanford MIPS и Berkeley RISC I и II са разработени с подобна философия, известна като RISC. Някои характеристики на дизайна са типични за повечето RISC процесори:
  • Времетраене на един цикъл: процесорите имат CPI - времето за следване на инструкциите на един цикъл. Това се дължи на оптимизацията на всяка команда на CPU.
  • Конвейерна обработка: технически алгоритъм, който позволява едновременното изпълнение на части или етапи от инструкции за по-ефективно управление на инструкциите.
  • Голям списъкРегистри: Философията на RISC дизайн обикновено включва повече регистри за предотвратяване на прекомерни взаимодействия с паметта.
  • Въпреки че редица компютри от 60-те и 70-те години са били предишни модели на RISC, съвременната концепция датира от 1980-те години. По-специално, два проекта в Станфорд и Калифорнийския университет обхващат тази концептуална идея. Станфордският MIPS ще се превърне в търговски успешен модел, а Университетът в Бъркли нарече цялата концепция комерсиализирана като SPARC. Друг успех на тази епоха бяха усилията на IBM, които в крайна сметка доведоха до Power Architecture. Тъй като тези области се развиват в края на 80-те години, и особено в началото на 90-те години, много проекти процъфтяват, които са ключови за пазара на Unix работни станции, както и вградени процесори в лазерни принтери, рутери и подобни продукти. ,


    Плюсове и минуси на RISC архитектурата

    Най-лесният начин да научите за предимствата и уязвимостите на RISC архитектурата е да го сравните с предишната архитектура на CISC. Основната цел на архитектурата CISC е да изпълни задачата за по-малък брой линии за сглобяване. Това се постига чрез създаване на процесорен хардуер, способен да разбира и извършва редица операции. За тази конкретна задача CISC процесорът се издава със специфична инструкция (MULT). Когато се изпълни, тази команда зарежда две стойности в отделни регистри, умножава операндите в изпълним модул и след това съхранява продукта в съответния регистър. По този начин цялата задача за умножаване на две числа може да бъдезавършени с една инструкция: MULT 2: 3 5: 2. CISC и RISC-архитектурата - предишното и следващото архитектурно решение.
    MULT е така нареченото „сложно обучение“. Командата работи директно в банките на паметта на компютъра и не изисква програмистът да причинява изрично някакви функции за изтегляне или запазване. Тя е много подобна на команда на език на по-високо ниво. Например, ако приемем, че a представлява стойност от 2: 3, a b представлява стойност от 5: 2, то тази команда е идентична с израза C a = a * b.
    Едно от основните предимства на тази система е, че компилаторът трябва да извърши минимум работа, за да преведе езика на езика на високо ниво в събранието. Тъй като дължината на кода е сравнително кратка, за съхранението на инструкциите се изисква много малка RAM. При сравнителен анализ на CISC и RISC-архитектурата на процесорите се набляга на прилагането на сложни инструкции директно в хардуера.

    RISC подход

    RISC процесорите използват само елементарни инструкции, които се изпълняват в един цикъл. Така горната команда може да бъде разделена на три отделни команди: LOAD, който премества данните от банката за памет в PROD регистъра, който намира продукта от два операнда, разположени вътре в регистрите, и STORE, който премества данните от регистъра в банките за памет "памет. За да се изпълни точната серия от стъпки, описани в подхода CISC, програмистът трябва да кодира четири линии за сглобяване: LOAD A, 2: 3.
    LOAD B, 5: 2.
    PROD A, B.
    МАГАЗИН 2: 3 A. В началото това може да изглежда като много по-малко ефективен начин за завършване на операцията, тъй като има повечеред код и съхранение на инструкции за изравняване се нуждаят от повече RAM. Компилаторът също трябва да направи повече работа, за да преобразува езика на езика на високо ниво в кода на тази форма.
    Сравнението на CISC и RISC
    Сравненията, свързани със CISC и RISC, са CISC:
  • Акцентът е върху хардуерното осигуряване.
  • Включва сложни комплексни инструкции.
  • Малки кодови размери, високи цикли в секунда.
  • Транзистори, използвани за съхраняване на сложни инструкции.
  • RISC:
  • Фокусиране върху софтуера.
  • Съкратено указание, което не изисква много време.
  • Ниски цикли в секунда, големи кодови размери.
  • Прекарва повече транзистори в регистрите на паметта.
  • Стратегията RISC носи някои много важни ползи. Тъй като всяка команда изисква само един такт, цялата програма ще работи приблизително толкова време, колкото и многоцилиндровата MULT команда. Тези кратки инструкции "RISC" изискват по-малко космически транзистори, отколкото сложни инструкции, оставяйки повече пространство за общи регистри. Тъй като всички инструкции се изпълняват еднократно (например един цикъл), е възможна обработката на конвейера.

    Характеристика на процеса

    Разделянето на инструкциите LOAD и STORE действително намалява количеството работа, която компютърът трябва да изпълни. След изпълнение на командата MULT в стила CISC, процесорът автоматично изтрива регистрите. Ако един от операндите трябва да се използва за друго изчисление, процесорът трябвапрезаредете данните от банката с памет, за да ги регистрирате. В RISC операндът ще остане в регистъра, докато на него не бъде заредена различна стойност. Подходът CISC се опитва да минимизира броя на инструкциите за всяка програма, като жертва броя на циклите на инструкция. RISC, напротив, намалява броя на циклите, дължащи се на инструкциите за всяка програма.

    Сложността на търговската реализация

    Въпреки ползите от обработката, основаваща се на RISC, десетилетия минаха преди търговските търсения на чиповете RISK. Това до голяма степен се дължи на липсата на софтуерна поддръжка. Въпреки че Power Macintosh на Apple, която използва RISC-базирани и базирани на Windows NT чипове, е съвместима с RISC, Windows 3.1 и Windows 95 са разработени, като се вземат предвид процесорите на CISC. Много компании не искаха да рискуват да изложат RISC технологията. Без търговски интерес, разработчиците на процесори не бяха в състояние да произвеждат RISC чипове в доста големи обеми, за да направят цената си конкурентна. Още по-сериозна пречка беше присъствието на Intel. Въпреки че техните CISC чипове станаха все по-тромави и сложни в дизайна, Intel разполагаше с ресурси за разработване на мощни процесори. Въпреки че чиповете RISC можеха да надминат усилията на Intel в определени области, разликите не бяха достатъчно големи, за да убедят клиентите да променят технологията.

    Общата полза на RISC

    Днес Intel x86 е единственият чип, който притежава архитектурата CISC. Това се дължи преди всичко на напредъка в други области на компютърните технологии. Цената на RAM падна рязко. През 1977 г. 1 MB DRAM струва около $ 5,000. До 1994 г.Същото количество памет струва само $ 6 (с инфлация). Технологията на компилатора също е станала по-сложна, така че използването на RISC RAM и акцентът върху софтуера са станали перфектни.

    Философията на набора от инструкции

    Неразбирането на определението за РИСК е идеята, че процедурите са елиминирани, което води до по-кратък набор от алгоритми. В продължение на много години RISC се е увеличил и много от тях сега имат по-широк спектър от характеристики, отколкото CPC CISC. Терминът "редуциран набор от процедури" се отнася до описанието на факта, че обемът на работа, изпълняван от всяка инструкция, е намален (не повече от един цикъл на памет) в сравнение със сложните процедури на CISC, които изискват десетки цикли за изпълнение на една команда. RISC архитектурата обикновено има отделни I /O алгоритми и манипулация на данните.

    Формат на обучение

    Повечето RISC архитектури имат инструкции с фиксирана дължина (обикновено 32 бита) и просто кодиране, което значително опростява извадката, декодирането и изхода на логиката. Един от недостатъците на 32-битовите инструкции е да се намали плътността на кода, което е неблагоприятен фактор за вградените компютри на работните станции и сървърите. Архитектурата RISC първоначално е била предназначена за обслужване. За да се реши този проблем, няколко архитектури като ARM, Power ISA, MIPS, RISC-V и Adipteva Epiphany имат по избор кратък кратък формат на инструкции или функция за компресиране на команди. SH5 също следва този модел, въпреки че се е развил в обратна посока, добавяйки ощемултимедийни инструкции за оригинално 16-битово кодиране.

    Използване на оборудване

    За всяко определено ниво на цялостна производителност RISC чипът обикновено има по-малко транзистори, предназначени за основна логика, което първоначално позволява на дизайнерите да увеличат размера на регистрите и вътрешния паралелизъм. Други функции, често срещани в RISC архитектури:
  • Средната производителност на процесора е близо до една инструкция за цикъл.
  • Единственият формат на инструкцията е да се използва една дума с операционния код в същите позиции за по-просто декодиране.
  • Всички регистри с общо предназначение могат да се използват като източник /местоназначение във всички инструкции, което улеснява компилирането (регистрите с плаваща запетая често се съхраняват отделно).
  • Прости режими с комплексно адресиране, изпълнявани от последователността на командите.
  • ​​
  • Няколко вида хардуерни данни (като байт низ или BCD).
  • Дизайнът на RISC включва и модел на паметта от Харвард, където екипите и данните са разделени концептуално. Това означава, че промяната на паметта, в която се съхранява кодът, може да не повлияе на инструкциите, изпълнявани от процесора (CPU има отделна команда и кеш за данни), докато се издаде специална инструкция за синхронизиране. От друга страна, той позволява едновременен достъп до кеш, което често увеличава производителността.

    Характеристики на RISC-архитектурата

    В началния етап на развитие на индустрията за компютърно програмиранее изпълнен в асемблер или машинен код, което насърчава използването на мощни и лесни за употреба инструкции. Ето защо, разработчиците на процесора се опитаха да проектират алгоритми, които да изпълняват възможно най-много работа. С появата на езици на високо ниво архитектите започнаха да създават специални инструкции за директно въвеждане на някои централни механизми. Втората обща цел е да се осигурят всички възможни режими на адресиране за всеки алгоритъм, известен като ортогоналност, за да се улесни изпълнението на компилатора. По това време отношението беше, че дизайнът на хардуера е по-зрял от дизайна на компилатора, което само по себе си е и причината за въвеждането на части от функционалността в хардуера или микрокода, а не само в ограничената памет на компилатора (или в нейния код). След въвеждането на RISC, този подход стана известен като сложна компилация от набор от команди или CISC. Процесорите също са имали относително малко регистри по няколко причини:
  • Голям брой регистри осигурява по-дълго съхранение и възстановяване на съдържанието в машинния стек и изисква голям брой командни бита като спецификатори, което означава по-малко плътен код.
  • Регистрите на процесора са по-скъпи от външните клетки на паметта.
  • Ограничена наличност на печатни платки или интегрални схеми.
  • Практическо приложение

    Архитектурата RISC на процесора сега се използва за широк кръг платформи: от смартфони и таблетни компютри до някои от най-големите.високопроизводителни суперкомпютри, като например компютърът К (лидер на топ 500 списъка през 2011 г.). До началото на 21-ви век повечето нископрофилни и мобилни системи разчитаха на RISC архитектура. Примери:
  • Архитектурата на ARM доминира на пазара за вградени системи с ниска мощност и ниска цена (200-1800 MHz през 2014 г.). Той се използва в повечето Android системи, Apple iPhone и iPad, Microsoft Windows Phone (преди Windows Mobile), RIM устройства (topic.risc.architecture), Nintendo Game Boy Advance, DS /3DS и Switch.
  • Линията MIPS (в даден момент, използвана на много компютри SGI), и сега PlayStation, PlayStation 2 Nintendo 64 (ipb.risc.architecture), PlayStation Portable игрови конзоли и жилищни шлюзове като като Linksys WRT54G.
  • Hitachi SuperH, използван в Sega Super 32X, Saturn и Dreamcast (viewtopic.php.risc.architecture), сега се разработва и продава от Renesas като SH4.
  • Atmel AVR се използва в различни продуктови линии: от преносими контролери Xbox до автомобили BMW.
  • RISC-V (vbulletin.risc.architecture), петият Berkeley RISC с отворен код, с 32-битово адресно пространство, малко ядро ​​от цяло число от команди, експериментално „компресирано“ ISA за кодова плътност и предназначени за стандартни и специални разширения.
  • Работни станции, сървъри и суперкомпютри.
  • MIPS (powered.by.smf.risc.architecture), Silicon Graphics (през 2006 г. спря да създава системи, базирани на MIPS).
  • SPARC, Oracle (по-рано Sun Microsystems) и Fujitsu (phorum.risc.architecture).
  • Архитектурата на IBM Power Architecture, използвана в повечето суперкомпютри IBM, сървъри на мидълуер и крайни станции.
  • PA-RISC Hewlett-Packard(phpbb.risc.architecture), наричан още HP-PA (преустановен в края на 2008 г.).
  • Alpha, използвана в едно бордови компютри, работни станции, сървъри и суперкомпютри от Digital Equipment Corporation, Compaq HP (преустановена от 2007 г.).
  • RISC-V (powered.by.phpbb.risc.architecture), петият RISC ISA на Berkeley, отворен код, с 64 или 128-битови пространства за адресиране и цялото ядро ​​с плаваща запетая, атомизация и векторна обработка, и е предназначена да разширява с инструкции за мрежи, вход-изход, обработка на данни. 64-битовият свръхразличен Rocket дизайн е достъпен за изтегляне.
  • Сравнение с други архитектури

    Някои процесори са специално проектирани с много малък набор от инструкции, но тези проекти се различават значително от традиционните RISC архитектури и затова са им предоставени други данни, като например минималния набор от команди (MISC). или Инициирана транспортна архитектура (TTA).
    Архитектурата на RISC традиционно е имала малък успех в настолния и продуктовия пазар, където x86 платформите остават доминираща процесорна архитектура. Това обаче може да се промени, тъй като ARM-базираните процесори са разработени за системи с по-висока производителност. Производителите, включително Cavium, AMD и Qualcomm, пуснаха ARM-базирани процесори от страната на сървъра. ARM също си сътрудничи с Cray през 2017 г., за да създаде суперкомпютър, базиран на ARM архитектурата. Лидерът на компанията в компютърната индустрия Microsoft обяви, че в партньорство с Qualcomm през 2017 г., се планира да подкрепи PC версията на Windows 10 на устройства, базирани на Qualcomm Snapdragon.Тези устройства ще поддържат x86-базиран софтуер Win32, използвайки емулатор на процесори x86. Въпреки това, освен настолната сцена, ARM RISC архитектурата се използва широко в смартфони, таблети и много форми на вграденото устройство. Също така, Intel Pentium Pro (P6) използва вътрешно RISC процесорно ядро ​​за своите процесори. Докато първоначалното развитие на RISC архитектурата на процесора беше значително различно от иновативните проекти на CISC, до 2000 г. най-високопроизводителните RISC процесори са почти същите като най-високопроизводителните процесори в линията CISC.

    Свързани публикации