Ця стаття потребує істотної переробки. (28 жовтня 2021) |
Ця стаття є сирим з іншої мови. Можливо, вона створена за допомогою машинного перекладу або перекладачем, який недостатньо володіє обома мовами. (квітень 2020) |
Ця стаття не містить . (серпень 2019) |
CISC (англ. Complex Instruction Set Computer — комп'ютер зі складним набором команд) — це архітектура системи команд, в якій більшість команд є комплексними, тобто реалізують певний набір простіших інструкцій процесора або шляхом зіставлення з кожною CISC-командою певної мікропрограми, або принаймні можуть бути зведені до набору таких простих інструкцій. Крім того, ознаками CISC-архітектури можна вважати також наявність великої кількості методів адресації пам'яті з можливістю безпосередньої роботи з операндами в основній пам'яті комп'ютера. Тобто, CISC-архітектури відносяться, як правило, до класу двоадресних.
Історичні засади створення
Архітектури з комплексними наборами команд, розвиток яких припав на кінець 60-х — 70-ті роки пропонували програмісту досить різноманітний набір порівняно високорівневих інструкцій машинної мови, таких, наприклад, як «виклик підпрограми» або «відняти одиницю та перейти, якщо результат ненульовий», а також велику кількість способів звертання до операндів в пам'яті для полегшення роботи зі складними структурами даних. В ті часи, за відсутності повноцінних мов програмування високого рівня та відповідних компіляторів, така апаратна підтримка високорівневого інструментарію програмування могла підвищити продуктивність праці програміста. До того ж програма, складена з таких команд займала небагато в пам'яті комп'ютера.
Типовими прикладами CISC-архітектур були системи VAX, PDP-11, (IBM System/360), сімейства мікропроцесорів Motorola 68000 та Intel x86.
Але з появою високорівневих мов та оптимізувальних компіляторів, розвитком електроніки, який спричинив здешевлення комп'ютерної пам'яті виявилось, що використання високорівневих машинних команд суттєво обмежує можливості до оптимізації програми, підвищення її швидкодії.
Зокрема, складні команди потребували багато часу на процедуру декодування, потребували багато апаратурних ресурсів для реалізації, що негативно відбилося на загальній швидкодії та складності системи. Далі, наявність спеціальних команд, таких як «виклик підпрограми» не завжди виправдовувала себе, в багатьох випадках доцільніше було б замість такої загальної команди використати набір елементарніших інструкцій, які в результаті спричиняли б виконання меншої кількості обчислень процесором. Це стосувалось і обчислювальних команд, які підтримували роботу з операндами в повільній пам'яті, що далеко не завжди давало оптимальний результат. Набагато ефективніше було б відокремити процедури роботи з пам'яттю (завантаження та збереження операндів) від проведення обчислень, що дало б можливість оптимізувати процедури звертання до запам'ятовувального пристрою. Зрозуміло, що ці оптимізації повинні були виконуватись вже компіляторами з мов високого рівня, які до того часу досягли досить високого рівня функціональності.
Ці та інші проблеми CISC-архітектур призвели до створення в 80-ті роки RISC-архітектур (від англ. Reduced Instruction Set Computer — комп'ютер зі скороченим набором команд), які вибудовують прямо протилежну модель системи команд з максимальним спрощенням семантики машинної команди, зведенням її до елементарної, мінімізацією методів адресації пам'яті тощо та принциповою орієнтацією на мови високого рівня й оптимізувальні компілятори з них, аніж на програмування безпосередньо в машинних мовах.
Сучасність
Сучасні CISC-архітектури, такі як останні втілення сімейства процесорів x86, хоч і відповідають CISC-концепції на рівні архітектури системи команд, але всередині процесора реалізують якраз пристосованішу до сьогоднішніх реалій RISC-модель, трансформуючи потік CISC-команд в процесі виконання в набори з простіших RISC-мікрооперацій, які й виконуються процесором.
Історія
Поштовх та переваги
До того, як філософія RISC стала помітною, багато комп'ютерних архітекторів намагалися подолати так званий семантичний розрив, тобто розробити набори інструкцій, які б безпосередньо підтримували конструкції мов програмування високого рівня, такі як виклики процедур, керування циклами, і складні режими адресації, що дозволило б об'єднати структури даних та доступ до масивів в єдині інструкції. Інструкції також зазвичай сильно кодуються для того, щоб додатково підвищити щільність коду. Компактність такої інструкції приводить до менших розмірів програм і меншого (повільнішого) основного доступу до пам'яті, який в ті часи (початок 1960-х років та наступні роки) привів до значної економії на вартості пам'яті комп'ютера і дискових носіїв, а також швидкого виконання. Це також означає, високу продуктивність програмування навіть як на асемблері, так і на мовах високого рівня, таких як Фортран або Алгол, які не завжди були доступні або доречні (мікропроцесори в цій категорії іноді запрограмуються мовою асемблера для певних типів критично важливих програм).
Нові інструкції
У 1970-х роках, аналіз мов високого рівня показав кілька складних реалізацій на машинній мові, і було встановлено, що нові інструкції можуть поліпшити продуктивність. Були додані деякі інструкції, які ніколи не були призначені для використання мовою асемблера, але добре узгоджувалися з компільованими мовами високого рівня. Компілятори були оновлені, щоб скористатися цими інструкціями. Переваги семантично багатих інструкцій з компактним кодуванням можна побачити в сучасних процесорах, а також, особливо, у високопродуктивному сегменті, де кеш — центральний компонент (на відміну від більшості вбудованих систем). Це відбувається тому, що ця швидка, але складна і дорога, пам'ять за своєю природою обмежені в розмірах, що робить компактний код вигідним. Звичайно, основна причина її необхідності в тому, що основна пам'ять (тобто динамічна оперативна пам'ять сьогодні) залишається повільною в порівнянні з високо продуктивним ядром процесора.
Проблеми дизайну
Хоча багато дизайнів досягли більш високої пропускної здатності при нижчій вартості, а також дозволили конструкціям високорівневих мов виражатися меншою кількістю інструкцій, було відзначено, що це не завжди так. Так, наприклад, молодші версії складних архітектур (тобто з меншим використанням апаратних засобів) можуть призвести до ситуації, коли можливо підвищити продуктивність, не використовуючи одну складну інструкцію (наприклад, виклик процедури або введення команди), а послідовність простих.
Однією з причин цього було те, що архітектори (програмісти мікрокоду) іноді створюють «більш продумані» інструкції мовою асемблера, тобто включають можливості, які не можливо ефективно реалізувати на базовому обладнанні. Це можуть, наприклад, бути «побічні ефекти», такі як встановлення регістра або місця знаходження пам'яті, яка, можливо, рідко використовувалась; якщо це було зроблено за допомогою звичайних (не дубльований) внутрішніх шин, або навіть зовнішньої шини, це буде вимагати додаткові цикли кожен раз, і, таким чином, дуже неефективно.
Навіть в збалансованих високопродуктивних рішеннях, сильно закодовані й (відносно) високо рівневі інструкції можуть бути складними для декодування і виконуватися ефективно в рамках обмеженої кількості транзистора. Тому такі архітектури потребують багато роботи з боку дизайнера процесора в тих випадках, коли простіше, але (як правило) повільніше, рішення, на основі декодування таблиць і / або послідовності мікрокоду, не підходить. У той час, коли транзистори та інші компоненти були обмеженим ресурсом, залишилося менше компонентів та менше можливостей для інших видів оптимізації.
Ідея RISC
Схема, що виконує дії, визначені мікрокодом в багатьох (але не всіх) CISC процесорах, сама по собі — процесор, який багато в чому нагадує за структурою дуже ранні конструкції процесорів. На початку 1970-х років, це породило ідею повернутися до простішого дизайну процесорів для того, щоб впоратися без (великих і дорогих) і / або [en] для секвенування і / або декодування. Перший RISC-означений[] процесор ([en] — [en] компанії IBM, в середині 1970-х років) був досить простою схемою, спочатку призначеною для використання в ролі внутрішнього ядра мікрокоду, або обчислювальної одиниці, у CISC рішеннях, та став процесором, який ввів поняття RISC в декілька[] більш широкі верстви населення. Простота і правильність також у видимому наборі команд могли б зробити простішим забезпечення конвеєра команд на рівні машинного коду (тобто рівень видимий компіляторами). Проте, конвеєр на цьому рівні вже використовується в деяких високопродуктивних CISC «суперкомп'ютерах» для того, щоб скоротити час циклу команд (незважаючи на ускладнення реалізації в рамках обмеженого числа компонентів). Виконання внутрішнього мікрокоду в CISC процесорах, з іншого боку, могло б бути більш-менш конвеєрним в залежності від конкретної конструкції, і, отже, більш-менш близьке до основної структури процесорів RISC.
Суперскалярний процесор
У більш сучасному контексті, комплексне кодування змінної довжини, що використовується деякими з типових CISC архітектур робить його складним, але все ж підхожим, щоб побудувати суперскалярну реалізацію моделі програмування CISC безпосередньо; упорядкований суперскалярний оригінальний [en] і не упорядкований суперскалярний [en] є добрими відомими прикладами цього. Частий доступ до пам'яті для операндів типової CISC машини може обмежити паралелізм на рівні інструкцій, які можуть бути вилучені з коду, хоча це сильно опосередковано швидкими структурами кешу, які використовуються в сучасних конструкціях, а також іншими заходами. Завдяки суттєво компактним та семантично багатим інструкціям, середня кількість роботи, виконана за одиницю машинного коду (тобто за байт або біт) вище, для CISC, ніж RISC-процесорів, які можуть дати значну перевагу в реалізації на основі сучасного кешу.
Транзистори для логіки, PLA, та мікрокоду більше не обмежені ресурси; тільки значний об'єм кеш-пам'яті високої швидкості обмежено максимальною кількістю транзисторів сьогодні. Незважаючи на комплексність, кількість транзисторів CISC декодерів не збільшується експоненціально, як загальне число транзисторів на процесорі (більшість зазвичай використовується для кеш-пам'яті). Разом з кращими інструментами та вдосконалені технологіями, це призвело до появи нових реалізацій високо закодованих та рішень змінної довжини без обмеження процесу зчитування-запису (тобто не-RISC). Це визначає повторні реалізації старих архітектур, таких як повсюдний x86 (див нижче), а також нові конструкції для мікроконтролерів для вбудованих систем та інших аналогічних цілей. Суперскалярна складність в разі сучасних x86 була вирішена шляхом перетворення інструкцій в одну або більше мікрооперацій та їх динамічного видавання, тобто непрямого та динамічного суперскалярного виконання; Pentium Pro та AMD K5 є ранніми прикладами цього. Це дозволяє досить простий суперскалярний дизайн розташувати після (досить складних) декодерів (і буферів), що дає, так би мовити, найкраще з обох світів у багатьох відношеннях.
Поняття CISC та RISC
Терміни CISC та RISC стали менш значущими при подальшій еволюції як CISC так і RISC-проектів і реалізацій. Перші високо (або сильно) конвеєрні реалізації x86 — Intel 486 від Intel, AMD, Cyrix та IBM, підтримували всі інструкції, які робили їх попередники, але досягли максимальної ефективності тільки на досить просту підмножину x86, яка була лише трохи більше, ніж типовий набір команд RISC (тобто без типових обмежень процесу зчитування-запису RISC). Покоління Intel Pentium P5 було суперскалярною версією цих правил. Проте, сучасні процесори x86 (зазвичай) декодують та розділяють інструкції в динамічні послідовності внутрішньо буферизованих мікрооперацій, які не тільки допомагають виконати більшу підмножину команд в конвеєрному (перекриваючому) представленні, але і сприяють більш поглибленому вилученню паралелізму з кодового потоку, для ще більш високої продуктивності.
Всупереч поширеним спрощенням, не всі CISC-процесори складаються з мікрокоду або мають «складні» інструкції. CISC став всеохопним терміном, який означає те, що не підходить під принцип зчитування-запису (RISC), це не кількість команд, та не складність реалізації або самих інструкцій, які визначають CISC, та фактом є те, що арифметичні інструкції також виконують доступ до пам'яті. В порівнянні з невеликим 8-бітовим процесором CISC, інструкція з рухомою комою RISC є складною. CISC навіть не потрібно мати складні режими адресації; 32 або 64-розрядні процесори RISC також можуть мати більш складні режими адресації, ніж дрібні 8-бітні CISC процесори.
PDP-10, PDP-8, Intel 386, Intel 4004, Motorola 68000, мейнфрейм System z, Burroughs B5000, VAX, Zilog Z80000 та MOS Technology 6502 — усі досить сильно розрізняються за кількістю, розмірами та форматами команд, кількістю, типами та розмірами регістрів, а також доступними типами даних. Деякі з них мають апаратну підтримку для операцій, таких як сканування підрядка, арифметика довільної точності BCD, або трансцендентні функції, в той час, як інші мають тільки 8-бітне додавання та віднімання. Але всі вони в категорії CISC, тому що у них є інструкції зчитування-оперування, які зчитують і/або зберігають зміст пам'яті в межах одних і тих же інструкцій, які виконують фактичні розрахунки. Так, наприклад, PDP-8, який має тільки 8 інструкцій фіксованої довжини та не має мікрокод взагалі, є CISC через принцип роботи інструкції, PowerPC, який має понад 230 команд (більше, ніж деякі процесори VAX) і складні внутрішні, такі як перейменування регістрів і буфер переупорядковування є RISC, в той час, як Minimal CISC має 8 інструкції, але явно CISC, оскільки він поєднує в собі доступ до пам'яті й обчислення в тій же інструкції.
Деякі з проблем і розбіжностей в цій термінології, можливо, зникнуть, як більш систематичні терміни, такі як (не) зчитування/запис, стають все більш популярним і в кінцевому підсумку замінюють неточні та трохи нелогічні RISC/CISC терміни.
Див. також
Примітки
- ; Ditzel, D. R. (October 1980). The case for the reduced instruction set computer. SIGARCH Computer Architecture News. ACM. 8 (6): 25—33. doi:10.1145/641914.641917.
- Lakhe, Pravin R. (June 2013). (PDF). International Journal of Innovation Research and Studies. Т. 2, № 6. с. 711—715. Архів оригіналу (PDF) за 14 липень 2015. Процитовано 6 травень 2017.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Cya stattya potrebuye istotnoyi pererobki Mozhlivo yiyi neobhidno dopovniti perepisati abo vikifikuvati Poyasnennya prichin ta obgovorennya na storinci Vikipediya Statti sho neobhidno polipshiti Tomu hto dodav shablon zvazhte na te shob povidomiti osnovnih avtoriv statti pro neobhidnist polipshennya dodavshi do yihnoyi storinki obgovorennya takij tekst subst polipshiti avtoru CISC 28 zhovtnya 2021 a takozh ne zabudte opisati prichinu nominaciyi na pidstorinci Vikipediya Statti sho neobhidno polipshiti za vidpovidnij den 28 zhovtnya 2021 Cya stattya ye sirim perekladom z inshoyi movi Mozhlivo vona stvorena za dopomogoyu mashinnogo perekladu abo perekladachem yakij nedostatno volodiye oboma movami Bud laska dopomozhit polipshiti pereklad kviten 2020 Cya stattya ne mistit posilan na dzherela Vi mozhete dopomogti polipshiti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Material bez dzherel mozhe buti piddano sumnivu ta vilucheno serpen 2019 CISC angl Complex Instruction Set Computer komp yuter zi skladnim naborom komand ce arhitektura sistemi komand v yakij bilshist komand ye kompleksnimi tobto realizuyut pevnij nabir prostishih instrukcij procesora abo shlyahom zistavlennya z kozhnoyu CISC komandoyu pevnoyi mikroprogrami abo prinajmni mozhut buti zvedeni do naboru takih prostih instrukcij Krim togo oznakami CISC arhitekturi mozhna vvazhati takozh nayavnist velikoyi kilkosti metodiv adresaciyi pam yati z mozhlivistyu bezposerednoyi roboti z operandami v osnovnij pam yati komp yutera Tobto CISC arhitekturi vidnosyatsya yak pravilo do klasu dvoadresnih Istorichni zasadi stvorennya Arhitekturi z kompleksnimi naborami komand rozvitok yakih pripav na kinec 60 h 70 ti roki proponuvali programistu dosit riznomanitnij nabir porivnyano visokorivnevih instrukcij mashinnoyi movi takih napriklad yak viklik pidprogrami abo vidnyati odinicyu ta perejti yaksho rezultat nenulovij a takozh veliku kilkist sposobiv zvertannya do operandiv v pam yati dlya polegshennya roboti zi skladnimi strukturami danih V ti chasi za vidsutnosti povnocinnih mov programuvannya visokogo rivnya ta vidpovidnih kompilyatoriv taka aparatna pidtrimka visokorivnevogo instrumentariyu programuvannya mogla pidvishiti produktivnist praci programista Do togo zh programa skladena z takih komand zajmala nebagato v pam yati komp yutera Tipovimi prikladami CISC arhitektur buli sistemi VAX PDP 11 IBM System 360 simejstva mikroprocesoriv Motorola 68000 ta Intel x86 Ale z poyavoyu visokorivnevih mov ta optimizuvalnih kompilyatoriv rozvitkom elektroniki yakij sprichiniv zdeshevlennya komp yuternoyi pam yati viyavilos sho vikoristannya visokorivnevih mashinnih komand suttyevo obmezhuye mozhlivosti do optimizaciyi programi pidvishennya yiyi shvidkodiyi Zokrema skladni komandi potrebuvali bagato chasu na proceduru dekoduvannya potrebuvali bagato aparaturnih resursiv dlya realizaciyi sho negativno vidbilosya na zagalnij shvidkodiyi ta skladnosti sistemi Dali nayavnist specialnih komand takih yak viklik pidprogrami ne zavzhdi vipravdovuvala sebe v bagatoh vipadkah docilnishe bulo b zamist takoyi zagalnoyi komandi vikoristati nabir elementarnishih instrukcij yaki v rezultati sprichinyali b vikonannya menshoyi kilkosti obchislen procesorom Ce stosuvalos i obchislyuvalnih komand yaki pidtrimuvali robotu z operandami v povilnij pam yati sho daleko ne zavzhdi davalo optimalnij rezultat Nabagato efektivnishe bulo b vidokremiti proceduri roboti z pam yattyu zavantazhennya ta zberezhennya operandiv vid provedennya obchislen sho dalo b mozhlivist optimizuvati proceduri zvertannya do zapam yatovuvalnogo pristroyu Zrozumilo sho ci optimizaciyi povinni buli vikonuvatis vzhe kompilyatorami z mov visokogo rivnya yaki do togo chasu dosyagli dosit visokogo rivnya funkcionalnosti Ci ta inshi problemi CISC arhitektur prizveli do stvorennya v 80 ti roki RISC arhitektur vid angl Reduced Instruction Set Computer komp yuter zi skorochenim naborom komand yaki vibudovuyut pryamo protilezhnu model sistemi komand z maksimalnim sproshennyam semantiki mashinnoyi komandi zvedennyam yiyi do elementarnoyi minimizaciyeyu metodiv adresaciyi pam yati tosho ta principovoyu oriyentaciyeyu na movi visokogo rivnya j optimizuvalni kompilyatori z nih anizh na programuvannya bezposeredno v mashinnih movah Suchasnist Suchasni CISC arhitekturi taki yak ostanni vtilennya simejstva procesoriv x86 hoch i vidpovidayut CISC koncepciyi na rivni arhitekturi sistemi komand ale vseredini procesora realizuyut yakraz pristosovanishu do sogodnishnih realij RISC model transformuyuchi potik CISC komand v procesi vikonannya v nabori z prostishih RISC mikrooperacij yaki j vikonuyutsya procesorom IstoriyaPoshtovh ta perevagi Do togo yak filosofiya RISC stala pomitnoyu bagato komp yuternih arhitektoriv namagalisya podolati tak zvanij semantichnij rozriv tobto rozrobiti nabori instrukcij yaki b bezposeredno pidtrimuvali konstrukciyi mov programuvannya visokogo rivnya taki yak vikliki procedur keruvannya ciklami i skladni rezhimi adresaciyi sho dozvolilo b ob yednati strukturi danih ta dostup do masiviv v yedini instrukciyi Instrukciyi takozh zazvichaj silno koduyutsya dlya togo shob dodatkovo pidvishiti shilnist kodu Kompaktnist takoyi instrukciyi privodit do menshih rozmiriv program i menshogo povilnishogo osnovnogo dostupu do pam yati yakij v ti chasi pochatok 1960 h rokiv ta nastupni roki priviv do znachnoyi ekonomiyi na vartosti pam yati komp yutera i diskovih nosiyiv a takozh shvidkogo vikonannya Ce takozh oznachaye visoku produktivnist programuvannya navit yak na asembleri tak i na movah visokogo rivnya takih yak Fortran abo Algol yaki ne zavzhdi buli dostupni abo dorechni mikroprocesori v cij kategoriyi inodi zaprogramuyutsya movoyu asemblera dlya pevnih tipiv kritichno vazhlivih program Novi instrukciyi U 1970 h rokah analiz mov visokogo rivnya pokazav kilka skladnih realizacij na mashinnij movi i bulo vstanovleno sho novi instrukciyi mozhut polipshiti produktivnist Buli dodani deyaki instrukciyi yaki nikoli ne buli priznacheni dlya vikoristannya movoyu asemblera ale dobre uzgodzhuvalisya z kompilovanimi movami visokogo rivnya Kompilyatori buli onovleni shob skoristatisya cimi instrukciyami Perevagi semantichno bagatih instrukcij z kompaktnim koduvannyam mozhna pobachiti v suchasnih procesorah a takozh osoblivo u visokoproduktivnomu segmenti de kesh centralnij komponent na vidminu vid bilshosti vbudovanih sistem Ce vidbuvayetsya tomu sho cya shvidka ale skladna i doroga pam yat za svoyeyu prirodoyu obmezheni v rozmirah sho robit kompaktnij kod vigidnim Zvichajno osnovna prichina yiyi neobhidnosti v tomu sho osnovna pam yat tobto dinamichna operativna pam yat sogodni zalishayetsya povilnoyu v porivnyanni z visoko produktivnim yadrom procesora Problemi dizajnu Hocha bagato dizajniv dosyagli bilsh visokoyi propusknoyi zdatnosti pri nizhchij vartosti a takozh dozvolili konstrukciyam visokorivnevih mov virazhatisya menshoyu kilkistyu instrukcij bulo vidznacheno sho ce ne zavzhdi tak Tak napriklad molodshi versiyi skladnih arhitektur tobto z menshim vikoristannyam aparatnih zasobiv mozhut prizvesti do situaciyi koli mozhlivo pidvishiti produktivnist ne vikoristovuyuchi odnu skladnu instrukciyu napriklad viklik proceduri abo vvedennya komandi a poslidovnist prostih Odniyeyu z prichin cogo bulo te sho arhitektori programisti mikrokodu inodi stvoryuyut bilsh produmani instrukciyi movoyu asemblera tobto vklyuchayut mozhlivosti yaki ne mozhlivo efektivno realizuvati na bazovomu obladnanni Ce mozhut napriklad buti pobichni efekti taki yak vstanovlennya registra abo miscya znahodzhennya pam yati yaka mozhlivo ridko vikoristovuvalas yaksho ce bulo zrobleno za dopomogoyu zvichajnih ne dublovanij vnutrishnih shin abo navit zovnishnoyi shini ce bude vimagati dodatkovi cikli kozhen raz i takim chinom duzhe neefektivno Navit v zbalansovanih visokoproduktivnih rishennyah silno zakodovani j vidnosno visoko rivnevi instrukciyi mozhut buti skladnimi dlya dekoduvannya i vikonuvatisya efektivno v ramkah obmezhenoyi kilkosti tranzistora Tomu taki arhitekturi potrebuyut bagato roboti z boku dizajnera procesora v tih vipadkah koli prostishe ale yak pravilo povilnishe rishennya na osnovi dekoduvannya tablic i abo poslidovnosti mikrokodu ne pidhodit U toj chas koli tranzistori ta inshi komponenti buli obmezhenim resursom zalishilosya menshe komponentiv ta menshe mozhlivostej dlya inshih vidiv optimizaciyi Ideya RISC Shema sho vikonuye diyi viznacheni mikrokodom v bagatoh ale ne vsih CISC procesorah sama po sobi procesor yakij bagato v chomu nagaduye za strukturoyu duzhe ranni konstrukciyi procesoriv Na pochatku 1970 h rokiv ce porodilo ideyu povernutisya do prostishogo dizajnu procesoriv dlya togo shob vporatisya bez velikih i dorogih i abo en dlya sekvenuvannya i abo dekoduvannya Pershij RISC oznachenij kim procesor en en kompaniyi IBM v seredini 1970 h rokiv buv dosit prostoyu shemoyu spochatku priznachenoyu dlya vikoristannya v roli vnutrishnogo yadra mikrokodu abo obchislyuvalnoyi odinici u CISC rishennyah ta stav procesorom yakij vviv ponyattya RISC v dekilka sho bilsh shiroki verstvi naselennya Prostota i pravilnist takozh u vidimomu nabori komand mogli b zrobiti prostishim zabezpechennya konveyera komand na rivni mashinnogo kodu tobto riven vidimij kompilyatorami Prote konveyer na comu rivni vzhe vikoristovuyetsya v deyakih visokoproduktivnih CISC superkomp yuterah dlya togo shob skorotiti chas ciklu komand nezvazhayuchi na uskladnennya realizaciyi v ramkah obmezhenogo chisla komponentiv Vikonannya vnutrishnogo mikrokodu v CISC procesorah z inshogo boku moglo b buti bilsh mensh konveyernim v zalezhnosti vid konkretnoyi konstrukciyi i otzhe bilsh mensh blizke do osnovnoyi strukturi procesoriv RISC Superskalyarnij procesor U bilsh suchasnomu konteksti kompleksne koduvannya zminnoyi dovzhini sho vikoristovuyetsya deyakimi z tipovih CISC arhitektur robit jogo skladnim ale vse zh pidhozhim shob pobuduvati superskalyarnu realizaciyu modeli programuvannya CISC bezposeredno uporyadkovanij superskalyarnij originalnij en i ne uporyadkovanij superskalyarnij en ye dobrimi vidomimi prikladami cogo Chastij dostup do pam yati dlya operandiv tipovoyi CISC mashini mozhe obmezhiti paralelizm na rivni instrukcij yaki mozhut buti vilucheni z kodu hocha ce silno oposeredkovano shvidkimi strukturami keshu yaki vikoristovuyutsya v suchasnih konstrukciyah a takozh inshimi zahodami Zavdyaki suttyevo kompaktnim ta semantichno bagatim instrukciyam serednya kilkist roboti vikonana za odinicyu mashinnogo kodu tobto za bajt abo bit vishe dlya CISC nizh RISC procesoriv yaki mozhut dati znachnu perevagu v realizaciyi na osnovi suchasnogo keshu Tranzistori dlya logiki PLA ta mikrokodu bilshe ne obmezheni resursi tilki znachnij ob yem kesh pam yati visokoyi shvidkosti obmezheno maksimalnoyu kilkistyu tranzistoriv sogodni Nezvazhayuchi na kompleksnist kilkist tranzistoriv CISC dekoderiv ne zbilshuyetsya eksponencialno yak zagalne chislo tranzistoriv na procesori bilshist zazvichaj vikoristovuyetsya dlya kesh pam yati Razom z krashimi instrumentami ta vdoskonaleni tehnologiyami ce prizvelo do poyavi novih realizacij visoko zakodovanih ta rishen zminnoyi dovzhini bez obmezhennya procesu zchituvannya zapisu tobto ne RISC Ce viznachaye povtorni realizaciyi starih arhitektur takih yak povsyudnij x86 div nizhche a takozh novi konstrukciyi dlya mikrokontroleriv dlya vbudovanih sistem ta inshih analogichnih cilej Superskalyarna skladnist v razi suchasnih x86 bula virishena shlyahom peretvorennya instrukcij v odnu abo bilshe mikrooperacij ta yih dinamichnogo vidavannya tobto nepryamogo ta dinamichnogo superskalyarnogo vikonannya Pentium Pro ta AMD K5 ye rannimi prikladami cogo Ce dozvolyaye dosit prostij superskalyarnij dizajn roztashuvati pislya dosit skladnih dekoderiv i buferiv sho daye tak bi moviti najkrashe z oboh svitiv u bagatoh vidnoshennyah Ponyattya CISC ta RISC Termini CISC ta RISC stali mensh znachushimi pri podalshij evolyuciyi yak CISC tak i RISC proektiv i realizacij Pershi visoko abo silno konveyerni realizaciyi x86 Intel 486 vid Intel AMD Cyrix ta IBM pidtrimuvali vsi instrukciyi yaki robili yih poperedniki ale dosyagli maksimalnoyi efektivnosti tilki na dosit prostu pidmnozhinu x86 yaka bula lishe trohi bilshe nizh tipovij nabir komand RISC tobto bez tipovih obmezhen procesu zchituvannya zapisu RISC Pokolinnya Intel Pentium P5 bulo superskalyarnoyu versiyeyu cih pravil Prote suchasni procesori x86 zazvichaj dekoduyut ta rozdilyayut instrukciyi v dinamichni poslidovnosti vnutrishno buferizovanih mikrooperacij yaki ne tilki dopomagayut vikonati bilshu pidmnozhinu komand v konveyernomu perekrivayuchomu predstavlenni ale i spriyayut bilsh pogliblenomu viluchennyu paralelizmu z kodovogo potoku dlya she bilsh visokoyi produktivnosti Vsuperech poshirenim sproshennyam ne vsi CISC procesori skladayutsya z mikrokodu abo mayut skladni instrukciyi CISC stav vseohopnim terminom yakij oznachaye te sho ne pidhodit pid princip zchituvannya zapisu RISC ce ne kilkist komand ta ne skladnist realizaciyi abo samih instrukcij yaki viznachayut CISC ta faktom ye te sho arifmetichni instrukciyi takozh vikonuyut dostup do pam yati V porivnyanni z nevelikim 8 bitovim procesorom CISC instrukciya z ruhomoyu komoyu RISC ye skladnoyu CISC navit ne potribno mati skladni rezhimi adresaciyi 32 abo 64 rozryadni procesori RISC takozh mozhut mati bilsh skladni rezhimi adresaciyi nizh dribni 8 bitni CISC procesori PDP 10 PDP 8 Intel 386 Intel 4004 Motorola 68000 mejnfrejm System z Burroughs B5000 VAX Zilog Z80000 ta MOS Technology 6502 usi dosit silno rozriznyayutsya za kilkistyu rozmirami ta formatami komand kilkistyu tipami ta rozmirami registriv a takozh dostupnimi tipami danih Deyaki z nih mayut aparatnu pidtrimku dlya operacij takih yak skanuvannya pidryadka arifmetika dovilnoyi tochnosti BCD abo transcendentni funkciyi v toj chas yak inshi mayut tilki 8 bitne dodavannya ta vidnimannya Ale vsi voni v kategoriyi CISC tomu sho u nih ye instrukciyi zchituvannya operuvannya yaki zchituyut i abo zberigayut zmist pam yati v mezhah odnih i tih zhe instrukcij yaki vikonuyut faktichni rozrahunki Tak napriklad PDP 8 yakij maye tilki 8 instrukcij fiksovanoyi dovzhini ta ne maye mikrokod vzagali ye CISC cherez princip roboti instrukciyi PowerPC yakij maye ponad 230 komand bilshe nizh deyaki procesori VAX i skladni vnutrishni taki yak perejmenuvannya registriv i bufer pereuporyadkovuvannya ye RISC v toj chas yak Minimal CISC maye 8 instrukciyi ale yavno CISC oskilki vin poyednuye v sobi dostup do pam yati j obchislennya v tij zhe instrukciyi Deyaki z problem i rozbizhnostej v cij terminologiyi mozhlivo zniknut yak bilsh sistematichni termini taki yak ne zchituvannya zapis stayut vse bilsh populyarnim i v kincevomu pidsumku zaminyuyut netochni ta trohi nelogichni RISC CISC termini Div takozhRISC ZISCPrimitki Ditzel D R October 1980 The case for the reduced instruction set computer SIGARCH Computer Architecture News ACM 8 6 25 33 doi 10 1145 641914 641917 Lakhe Pravin R June 2013 PDF International Journal of Innovation Research and Studies T 2 6 s 711 715 Arhiv originalu PDF za 14 lipen 2015 Procitovano 6 traven 2017