Головна сторінка Випадкова сторінка КАТЕГОРІЇ: АвтомобіліБіологіяБудівництвоВідпочинок і туризмГеографіяДім і садЕкологіяЕкономікаЕлектронікаІноземні мовиІнформатикаІншеІсторіяКультураЛітератураМатематикаМедицинаМеталлургіяМеханікаОсвітаОхорона праціПедагогікаПолітикаПравоПсихологіяРелігіяСоціологіяСпортФізикаФілософіяФінансиХімія |
Стаття 671. Асортимент товаруДата добавления: 2015-10-15; просмотров: 666
RISC ( Reduced Instruction Set Computing ) . Процесор з скороченим набором команд. Система команд має спрощений вигляд. Всі команди однакового формату з простою кодуванням . Звернення до пам'яті відбувається за допомогою команд завантаження і запису , інші команди типу регістр-регістр . Команда , яка надходить в CPU , вже розділена по полях і не вимагає додаткової дешифрации . Частина кристала звільняється для включення додаткових компонентів. Ступінь інтеграції нижче , ніж у попередньому архітектурному варіанті, тому при високій швидкодії допускається більш низька тактова частота . Команда менше захаращує ОЗУ, процесор дешевше. Програмною сумісністю зазначені архітектури не володіють. Налагодження програм на RISC більш складна. Дана технологія може бути реалізована програмно -сумісним з технологією CISC (наприклад, суперскалярная технологія) . Оскільки RISC -інструкції прості, для їх виконання потрібно менше логічних елементів, що в кінцевому підсумку знижує вартість процесора. Але більша частина програмного забезпечення сьогодні написана і відкомпільована спеціально для CISC - процесорів фірми Intel. Для використання архітектури RISC нинішні програми повинні бути перекомпіліровать, а іноді і переписані занов Для будь-якого даного рівня загальної продуктивності, чіп RISC, як правило, мають набагато менше транзисторів, присвячені основною логікою, яка спочатку дозволила дизайнерам збільшити розмір набору регістрів і збільшити внутрішній паралелізм . Інші функції, які зазвичай знаходяться в RISC архітектурах : 1. Єдиний формат команд, за допомогою одного слова з кодом операції в тих же позицій бітів в кожній інструкції, вимагаючи менше декодування; 2. Ідентичні регістрів загального призначення, що дозволяє будь-який регістр, який буде використовуватися в будь-якому контексті, що спрощує конструкцію компілятора ( хоча зазвичай є окремі регістри з плаваючою крапкою); 3. Прості способи адресації, з складним адресація виконується через послідовностей арифметики, навантаження -торговельних операцій, або те й інше ; RISC конструкції також, швидше за все, є модель пам'яті Гарварда, де потік команд і потік даних концептуально відокремленою; це означає, що зміна ними пам'яті, де проводиться код не може мати ніякого впливу на команд, які виконуються процесором (бо процесор має окремий інструктаж і кеш даних), принаймні, поки спеціальна інструкція синхронізації не видається. На верху, це дозволяє обом кеші, щоб отримати доступ одночасно, що часто може підвищити продуктивність. Ще раніше RISC конструкції також мають характеристику «слот затримки філії». Слот затримки переходу є просторовою операцією відразу після стрибка або філії. Операція в цьому просторі виконується, або береться гілка ( іншими словами ефект філії затримується ). Ця операція тримає ALU процесора в жвавій протягом додаткового часу зазвичай необхідної для виконання філії, формі. В даний час слот затримки переходу вважається невдалий, тому що є побічний ефект чи іншої стратегії для реалізації деяких проектів RISC, і сучасний RISC конструкції взагалі покінчили з ним (наприклад, PowerPC і пізніших версіях SPARC і MIPS ). . Деякі аспекти, приписувані першим конструкціям RISC - мічених навколо 1975 року включають спостереження, що в пам'ять обмежується укладачі час часто були не в змозі скористатися перевагами функцій, призначених для полегшення ручного кодування збірки, і що складні режими адресації взяти багато циклів для виконання через до необхідного додаткового доступу до пам'яті. Було відзначено, що такі функції будуть краще виконуватися послідовностей простих операцій, якщо це може принести реалізації досить малий, щоб залишити місце для багатьох регістрів, зменшуючи кількість повільного доступу до пам'яті. У цих простих конструкцій, більшість операцій однакової довжини і аналогічної структури, арифметичні операції обмежені регістрів процесора і тільки окремі команди завантаження і збереження доступу до пам'яті. Ці властивості дозволяють краще балансування стадій конвеєра, ніж раніше, що робить RISC процесори значно ефективнішим і дозволяє збільшити частоту. У перші дні комп'ютерної індустрії, програмування було зроблено на асемблері або машинному коді, який мав потужну і просту у використанні інструкцію. Дизайнери CPU постаралися зробити операції, які зробили б стільки роботи, скільки можливо. З появою мов високого рівня, комп'ютерні архітектори також почали створювати спеціальні операції для безпосереднього реалізування певних центральних механізмві таких мов. Ще одне загальне мета полягала в забезпеченні всі можливі режим адресації для кожної команди, від, щоб полегшити реалізацію компілятора. Тому арифметичні операції можуть часто мати результати , а також операнди безпосередньо в пам'яті (на додаток до реєстрації або негайного ) . Ставлення в той час було те, що апаратна конструкція була більш зрілою, ніж розробці компіляторів так що це саме по собі також є причиною для реалізації частини функціональності в обладнанні або мікрокоду, а не в пам'яті обмеженого компілятора (або його згенерованого коду ) поодинці. Після появи RISC, ця філософія стала заднім числом відомий як комплекс набором команд, або CISC. В процесорах також було відносно мало регістрів , з кількох причин: 1. Збільшена кількість регістрів також має на увазі більш трудомістке збереження та відновлення вмісту регістра в стеку машини. 2. Велика кількість регістрів вимагає великої кількості інструкцій бітів регістра як специфікаторів, що означає меншу щільність коду. 3. Регістри процесора коштують дорожче, ніж зовнішні елементи пам'яті; великі набори регістрів були громіздкими з обмеженими платами або інтеграціями чіпа. Важлива сила заохочення складності була дуже обмежена, основні спогади ( про порядок кілобайт) . Тому було вигідно для щільності інформації, що зберігається в комп'ютерних програмах , буде високою , що призводить до можливості , такі як високе кодування змінної довжини операцій , що роблять завантаження даних , а також розрахунок (як згадувалося вище). Ці питання були більш високий пріоритет , ніж легкості декодування таких операцій . Не менш важливою причиною було те , що основні спогади були досить повільними (загальний тип був феритовим сердечником пам'яті); за допомогою щільної інформаційної упаковки , можна було б зменшити частоту , з якою процесор мав відкрити повільний ресурс. Сучасні комп'ютери стикаються з аналогічними обмежуючими факторами: основні спогади повільні в порівнянні з процесорами швидкої пам'яті кешу, використовуваних для подолання цього обмежені в розмірі. Це може частково пояснити , чому високо закодовані набори операцій виявилися корисними, оскільки RISC конструкцій в сучасних комп'ютерах безліч. RISC був розроблений в якості альтернативи , що зараз відомо як CISC. Протягом багатьох років, інші стратегії були реалізовані в якості альтернативи RISC і CISC. Деякі приклади VLIW, OISC, масивна паралельна обробка , із змінною конфігурацією обчислення, і потік даних архітектури . У середині 1970 -х, дослідники (зокрема, Джон Кок ) в IBM (і аналогічні проекти в інших місцях) показали, що більшість комбінацій цих звертаючись ортогональних мод та інструкцій, не використовується більшістю програм, створених компіляторами доступних у той час. Крім того, було виявлено, що, на microcoded реалізацій певних архітектурах, складні операції як правило, повільніші, ніж послідовності простих операцій, які роблять те ж саме. Частково це було наслідком того , що багато проектів були термінових , з невеликою кількістю часу, щоб оптимізувати операції, але тільки ті , які використовуються найбільш часто. Як вже зазначалося , основна пам'ять була повільніше , ніж багато моделей процесорів. Поява напівпровідникової пам'яті зменшується цю різницю, але це було ще очевидно, що більше регістрів ( і пізніших кеші ) дозволить більш високі робочі частоти процесора. Додаткові регістри потребують значних чіпів або настільні області, які, в той час ( 1975 р.), можуть бути надані, якщо складність логіки процесора була знижена. Ще один стимул як RISC та інших конструкцій прийшли з практичних вимірювань на реальних програм . Ендрю Таненбаум підсумував багато з них , демонструючи , що процесори часто були негабаритних розмірів. Наприклад, він показав, що 98 % всіх констант в програмі буде вписуватися в 13 біт, але багато проектів CP , присвячений 16 або 32 біта для їх зберігання. Це означає , що, щоб зменшити кількість доступів до пам'яті , фіксована довжина машини може зберігати константи в невикористовуваних бітів самого командного слова. Оскільки багато реальних програм проводять більшу частину свого часу виконуючи прості операції, деякі дослідники вирішили зосередитися на цих операціях якомога швидше. Тактова частота процесора обмежена часом, який потрібен для виконання повільної суб- роботи будь-якого навчання; зменшення, що цикл часу часто прискорює виконання інших інструкцій. Ще одне питання полягає в тому , що деякі складні інструкції важко перезапустити, наприклад Наступну помилку сторінки. У деяких випадках , перезапуск з початку працюватиме (хоча марнотратно ) , але в багатьох випадках це дасть невірні результати. Тому машина повинна мати якийсь прихований стан, щоб пам'ятати які частини пройшли і що ще належить зробити.
|