Новини високих технологій
» » RISC-архітектура процесора

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

23-10-2017, 18:12
4 467
RISC-архітектура — комп'ютер з зменшеним набором інструкцій. Є типом мікропроцесорної архітектури, яка використовує невеликий оптимізований набір інструкцій на відміну від предшестувующих типів архітектур з розширеним набором алгоритмічних даних. Термін RISC був придуманий Девідом Паттерсоном з проекту Berkeley 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 зазвичай включає більшу кількість регістрів для запобігання надмірної кількості взаємодій з пам'яттю.
Хоча ряд комп'ютерів 1960-х і 70-х років були попередніми моделями RISC, сучасна концепція відноситься до 1980-м рокам. Зокрема, два проекти в Стенфорді і Каліфорнійському університеті масштабують цю концептуальну ідею. Стенфордський MIPS стане комерційно успішною моделлю, в той час як університет в Берклі дав назву всій концепції, комерціалізованого як SPARC. Іншим успіхом цієї епохи були зусилля IBM, які в кінцевому результаті привели до Power Architecture. По мірі розвитку цих напрямків в кінці 1980-х рр, і особливо на початку 1990-х рр., процвітало безліч подібних проектів, що представляють собою основну силу на ринку робочих станцій Unix, а також вбудовані процесори в лазерних принтерах, маршрутизаторах та аналогічних продуктах.


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

Найпростіший спосіб вивчити переваги та вразливості архітектури RISC - це порівняти її з попередньою архітектурою CISC. Основна мета архітектури CISC — завершити завдання за меншу кількість ліній складання. Це досягається за рахунок створення процесорного обладнання, здатного розуміти і виконувати ряд операцій. Для цієї конкретної задачі процесор CISC випускається з конкретної інструкцією (MULT). При виконанні ця команда завантажує два значення в окремі регістри, примножує операнди у виконавчому модулі і потім зберігає продукт у відповідному регістрі. Таким чином, вся завдання множення двох чисел може бути завершена однією інструкцією: MULT 2: 3 5: 2. CISC і RISC-архітектура — попереднє і наступне архітектурне рішення.
MULT - це те, що відомо як «складна інструкція». Команда працює безпосередньо в банках пам'яті комп'ютера і не вимагає, щоб програміст явно викликав будь-які функції завантаження або збереження. Вона дуже схожа на команду мовою більш високого рівня. Наприклад, якщо ми припустимо, що a представляє значення 2:3 а b представляє значення 5:2 то ця команда ідентична висловом C a = a * b.
Одне з основних переваг цієї системи полягає в тому, що компілятор повинен виконати мінімум роботи, щоб перевести формулювання мови високого рівня в збірку. Оскільки довжина коду відносно коротка, для зберігання інструкцій потрібна дуже невелика ОЗП. При порівняльному аналізі CISC і RISC-архітектури процесорів акцент ставиться на реалізації складних інструкцій безпосередньо в апаратному забезпеченні.

Підхід RISC

Процесори RISC використовують тільки елементарні інструкції, які виконуються за один такт. Таким чином, описана вище команда може MULT бути розділена на три окремі команди: LOAD, яка переміщує дані з банку пам'яті в регістр PROD, який знаходить добуток двох операндів, розташованих усередині регістрів, і STORE, який переміщує дані з регістра в банки пам'яті. Щоб виконати точний ряд кроків, описаних у підході CISC, програмісту необхідно закодувати чотири рядки збірки: LOAD A, 2:3.
LOAD B, 5:2.
PROD A, B.
STORE 2:3 А. Спочатку це може здатися набагато менш ефективним способом завершення операції, оскільки існує більше рядків коду і для зберігання інструкцій рівня складання потрібно більше ОЗУ. Компілятор також повинен виконати більше роботи, щоб перетворити формулювання мови високого рівня в код цієї форми.

Порівняння 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. Це пов'язано насамперед з просуванням в інших областях комп'ютерної техніки. Ціна ОЗП різко знизилася. У 1977 році 1 МБ DRAM коштував близько 5000 доларів. До 1994 року такий же об'єм пам'яті коштує всього 6 доларів США (з урахуванням інфляції). Технологія компілятора також стала більш складною, так що використання RISC RAM і акцент на програмне забезпечення стали ідеальними.

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

Помилковим розумінням визначення RISK є ідея того, що процедури усуваються, що призводить до скороченого набору алгоритмів. Протягом багатьох років процедури RISC збільшувалися, і в даний час багато з них мають більш широкий набір функцій, ніж CPU CISC. Під терміном «зменшений набір процедур» мається на увазі опис того факту, що обсяг роботи, що виконується кожною інструкцією, скорочується (не більше одного циклу пам'яті) порівняно з ускладненими процедурами CISC, які вимагають десятки циклів для виконання однієї команди. RISC-архітектура зазвичай має окремі алгоритми введення-виведення і роботи з даними.

Формат інструкції

Більшість архітектури RISC мають інструкції з фіксованою довжиною (зазвичай 32 біта) і просте кодування, що значно спрощує вибірку, декодування та видачу логіки. Одним з недоліків 32-розрядних інструкцій є зниження щільності коду, що є несприятливим чинником для вбудованих обчислень на робочих станціях і серверах. Архітектури RISC із самого початку були призначені для обслуговування. Для вирішення цієї проблеми декілька архітектур, таких як ARM, Power ISA, MIPS, RISC-V і Adipteva Epiphany, мають необов'язковий короткий скорочений формат інструкції або функцію стиснення команд. SH5 також слід цією схемою, хоча і розвинувся в зворотному напрямку, додавши більш довгі мультимедійні інструкції до оригінальної 16-бітному кодуванні.

Використання обладнання

Для будь-якого заданого рівня загальної продуктивності мікросхема RISC, як правило, має набагато менше транзисторів, призначених для основної логіки, яка спочатку дозволяла дизайнерам збільшувати розмір регістрів і внутрішній паралелізм. Інші функції, які зазвичай зустрічаються в архітектурах RISC: Середня продуктивність процесора наближається до однієї інструкції за цикл. Єдиний формат інструкції — використовується одне слово з кодом операції в одних і тих же позиціях для більш простого декодування. Всі регістри загального призначення можуть використовуватися в якості джерела/призначення у всіх інструкціях, спрощуючи розробку компілятора (регістри з плаваючою комою часто зберігаються окремо). Прості режими зі складною адресацією, що виконуються послідовностями команд. Кілька типів даних у апаратному забезпеченні (наприклад, байтові рядок або BCD). В RISC-конструкціях також представлена модель пам'яті Гарварду, де команди і дані концептуально розділені. Це означає, що зміна пам'яті, в якій зберігається код, може не вплинути на інструкції, що виконуються процесором (ЦП має окремий кеш команд і даних), до тих пір, поки не буде видана спеціальна інструкція синхронізації. З іншого боку, це дозволяє одночасно звертатися до кэшам, що часто підвищує продуктивність.

Особливості RISC-архітектури

На початковому етапі розвитку комп'ютерної індустрії програмування проводилося на мовою асемблера або машинного коду, що заохочувало використання потужних і простих у використанні інструкцій. Тому розробники ЦП намагалися проектувати алгоритми, здатні виконувати як можна велику роботу. З появою мов високого рівня архітектори почали створювати спеціальні інструкції для безпосереднього впровадження певних центральних механізмів. Друга загальна мета полягала в тому, щоб забезпечити всі можливі режими адресації для кожного алгоритму, відомого як ортогональність, для полегшення реалізації компілятора.
Ставлення до того часу полягала в тому, що дизайн апаратного забезпечення був більш зрілим, ніж дизайн компілятора, тому сам по собі також є причиною впровадження частин функціональності в апаратному або мікрокоді, а не тільки в обмеженому пам'яттю компіляторі (або в його створеному коді). Після появи RISC цей підхід став відомий як складні обчислення набору команд, або CISC. У процесорів також було відносно мало регістрів з кількох причин: Велика кількість регістрів передбачає більш тривале збереження і відновлення вмісту в стеку машини і вимагає великої кількості бітів команд в якості спецификаторов, що означає менш щільний код. Регістри CPU коштують дорожче, ніж зовнішні комірки пам'яті. Обмеженість друкованих плат або інтегрованих мікросхем.

Практичне застосування

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

Порівняння з іншими архітектурами

Деякі процесори були спеціально розроблені з дуже невеликим набором інструкцій, але ці конструкції значно відрізняються від традиційних RISC-архітектур, тому їм були надані інші дані, такі як мінімальний набір команд (MISC) або транспортна ініційована архітектура (TTA).
Архітектури RISC традиційно мали мало успіхів на ринку настільних ПК і товарних серверів, де платформи на базі x86 залишаються домінуючою архітектурою процесора. Однак це може змінитися, оскільки процесори на базі архітектури ARM розробляються для систем з більш високою продуктивністю. Виробники, включаючи Cavium, AMD і Qualcomm, випустили серверні процесори на базі архітектури ARM. ARM також співпрацювала з Cray в 2017 році, щоб створити суперкомп'ютер на базі архітектури ARM. Компанія-лідер комп'ютерної індустрії Microsoft оголосила, що в рамках партнерства с Qualcomm в 2017 році планується підтримка ПК-версії Windows 10 на пристроях на базі Qualcomm Snapdragon. Ці пристрої будуть підтримувати програмне забезпечення Win32 на базі x86 з допомогою емулятора процесора x86. Тим не менш крім настільної арени архітектура ARM RISC широко використовується в смартфонах, планшетах і багатьох формах вбудованого пристрою. Також Intel Pentium Pro (P6) використовує внутрішній RISC-процесорне ядро для своїх процесорів. У той час як початкові розробки RISC-архітектури процесора значно відрізнялися від інноваційних проектів CISC, до 2000 року найбільш високопродуктивні процесори лінійки RISC майже не відрізняються від самих високопродуктивних процесорів в лінії CISC.
Цікаво по темі
Код на безсмертя в "ГТА: Сан Андреас"
Код на безсмертя в "ГТА: Сан Андреас"
Якщо ви хочете, щоб ваш персонаж став безсмертним у грі "ГТА: Сан-Андреас", вам потрібно використовувати чіти з цієї статті.
Принстонская і гарвардська архітектура обчислювальних систем
Принстонская і гарвардська архітектура обчислювальних систем
Всім відомо, який неоціненний внесок у розвиток обчислювальної техніки зробили американські вчені. Хоча дослідження велись у багатьох університетах
Встановлення Gentoo Linux - покрокова інструкція
Встановлення Gentoo Linux - покрокова інструкція
Інструкція по установці Gentoo з послідовним описом дій. Поради по налаштуванню і компіляції ядра дистрибутива.
Мікроконтролери - це що таке?
Мікроконтролери - це що таке?
В наші дні мікроконтролери можна зустріти практично в кожному примірнику побутової техніки та електроніки. Наприклад, якщо в мікрохвильовій печі є