Ця стаття не містить . (липень 2013) |
Архітекту́ра систе́ми кома́нд (англ. instruction set architecture, ISA; також системна архітектура) електронної обчислювальної машини — складова частина архітектури комп'ютера, що має наступні характеристики:
- набір машинних команд (або набір інструкцій, система команд) — перелік та семантика операцій, які здатний виконувати комп'ютер;
- доступні регістри — внутрішні комірки пам'яті центрального процесора (пристрою, який виконує обробку інформації), їх функціональне призначення, розрядність, кількість тощо;
- розрядність та формати операндів — об'єктів, над якими виконуються операції;
- способи адресації пам'яті — методи доступу до операндів, які зберігаються в пам'яті;
- особливості обробки виняткових ситуацій;
- обробка переривань.
Еволюція архітектур системи команд
Перші акумуляторні архітектури
Набір операцій перших ЕОМ з програмою, яка зберігається в пам'яті, складався з одного-двох десятків команд. Всі операції з інформацією зазвичай виконувались в одному спеціальному регістрі — акумуляторі, а для завантаження операндів необхідно було явно вказувати адресу відповідної комірки пам'яті. Таким був набір команд обчислювальної машини Baby (1948), розробленої в Манчестерському університеті, яка вважається першою ЕОМ, в якій достатньо повно був реалізований принцип збереження програми в пам'яті. Цей набір складався з наступних команд (тут А
— регістр акумулятора, S
— комірка пам'яті, представлена своєю адресою):
[000]JMP S : CI = S [010]LDN S : A = -S [011]SUB S : A = A - S [011]CMP : If A < 0, CI = CI + 1 [100]JMP S : CI = CI+S [110]STO S : S = A [111]HLT : Закінчити програму
Звичайна програма складання двох чисел в акумуляторі в цій архітектурі системи команд виглядала так:
LDN X1 ; A = -x1 SUB X2 ; A = A-y = -x-y = -(x+y) STO Y ; Y = -(x+y) LDN Y ; A = -(-(x+y)) = x+y
Майже в той самий час (1948) під Києвом групою інженерів під керівництвом академіка С. О. Лебедєва почались роботи зі створення першої вітчизняної ЕОМ МЕСМ, система команд якої була схожою на наведену вище.
В архітектурі Baby використовувалась, як би ми зараз сказали, непряма адресація безумовних переходів — адреса команди, на яку потрібно було передати керування командою JMP
(від англ. jump — стрибати), кодувалась не в самій команді переходу, а зберігалась в комірці запам'ятовувального пристрою. Це було викликано головним чином необхідністю економії пам'яті, хоча згодом практика програмування показала, що пряма (безпосередня) адресація переходів використовується набагато частіше.
Архітектури з індексними регістрами
У наступниці принципів Baby, одній з перших комерційних ЕОМ (Ferranti Mark-1) (1952) з цією метою були вперше застосовані так звані індексні регістри. Можна було налаштувати цю машину так, що перед виконанням команди, інформація одного з таких регістрів сумувалась безпосередньо з самою командою, або деякими її складовими, тобто був реалізований принцип програми, яка самомодифікується в процесі виконання. Таким чином, для організації прямої адресації переходів, достатньо було завантажити в один з індексних регістрів потрібну адресу, залишивши відповідне поле команди JMP нульовим.
Архітектури з регістрами загального призначення
Наступним значним вдосконаленням стало введення такого поняття, як регістри загального призначення (РЗП). Вперше вони з'явилися в машині (Pegasus) (1956) тої ж фірми Ferranti. Кожний з таких РЗП за функціональністю був ідентичний акумулятору перших машин, і це істотно полегшувало процес програмування й прискорювало швидкодію, адже тепер не потрібно було зберігати проміжні результати в повільній пам'яті й увесь час підвантажувати звідти потрібні змінні. Їх можна було розміщувати в регістрах.
Це вдосконалення позначилось й на системі команд. В перших машинах вони були однооперандними (тобто в команді вказувався лише один операнд, а другий завжди знаходився в регістрі-акумуляторі). Тепер же, з появою «безлічі акумуляторів», одноадресні команди були змінені на двоадресні та триадресні.
CISC
З прогресом в області електронних технології й збільшенням швидкодії, стали більше думати й про програміста. В середині 60-х років з'явився клас універсальних машин, разом з ним — поняття про архітектуру. Зворотним наслідком такої турботи стало те, що деякі системи команд того часу нараховували більше десятка способів адресації, не меншу кількість регістрів різної функціональності й більше сотні операцій на всі випадки життя, включаючи найекзотичніші, тому згодом такі архітектури системи команд одержали назву CISC (англ. complex instruction set computer). В деяких ЕОМ система команд нагадувала мови високого рівня.
Все це повинно було полегшити й прискорити написання програм і зменшити складність компіляторів, скоротити час налагодження, а також обсяги використовуваної пам'яті, яка тоді коштувала дорого, а чим більше складних дій вдавалося реалізувати в компактних машинних командах (тобто чим вищою була їх семантика), тим менше в пам'яті займала програма.
Однак мало хто утрудняв себе вивченням і використанням всіх цих численних можливостей, тому «повні» системи команд виявлялися вкрай надлишковими.
CISC характеризується порівняно великою кількістю команд. Команди мають різний час виконання та займають різну кількість пам'яті, що призводить до абсурду команду переходу на x команд вперед (кількість кроків в пам'яті для переходів компілятор розраховує після основної компіляції програми). Продуктивність програми сильно залежить від умінь та знань програміста.
RISC
Але до середини 70-х, зі здешевленням пам'яті й розвитком високорівневих мов та компіляторів, акценти знову змінились. На машинних мовах переставали писати — результати роботи оптимізувальних компіляторів стали цілком прийнятними, а писати на мовах високого рівня куди легше й швидше ніж в машинних командах. Стало актуальним питання сумісності та міжплатформової сумісності програмного забезпечення. До того ж, складні набори команд, реалізовані за допомогою повільних мікропрограм, обмежували можливості для подальшого росту швидкодії за рахунок мікроархітектурних оптимізацій.
Так ера складних наборів команд закінчилася, поступившись місцем новим архітектурам із скороченим набором (reduced instruction set computer, RISC), які створювалися із прицілом на максимальну реалізацію можливостей сучасних компіляторів і заздалегідь проектувалися з урахуванням можливої оптимізації процесу обчислень на рівні мікроархітектури.
RISC характеризується такий набір команд порівняно невеликою кількістю (40 — 1024 для різних архітектур), але головними ознаками є фіксований розмір команди, за винятком команд переходу, які можуть міститися в 2—3 командних словах (містять адресу). Також ключовою характеристикою є фіксований час виконання команд — кожна команда виконується, наприклад за 1 машинний такт (AVR до 20Мгц) чи за 4 машинних такти (PIC до 80Мгц). Продуктивність програм сильно залежить від якості компілятора (при використанні асемблера та машинних команд більше залежить від програміста).
VLIW
Однак зараз перед проектувальниками у весь зріст постала нова проблема — складність сучасних процесорів стає просто шаленою. Мікроархітектурні методи динамічного планування, які перевпорядковують команди та виявляють прихований паралелізм, дають істотний приріст в продуктивності, але вимагають створення винятково складних апаратних структур, які надто складно проектувати й втілювати. Тому зараз на перший план виходять системи з довгим командним словом (very long instruction word, VLIW), в яких більша частина механізму сполучення операцій виконується на програмному рівні, а процесору дається вже готовий «план дій». Апаратурна структура виходить простішою, що робить такі системи досить перспективними, незважаючи на безліч складностей, пов'язаних з їхнім використанням.
Рішення, які приймаються на рівні архітектури системи команд, мають істотний вплив на основні характеристики майбутньої ЕОМ, її внутрішню організацію. Тому і спостерігається певний «процесороцентризм» в популярних оглядах сучасних комп'ютерних архітектур, хоча це й не дуже коректно, тому що архітектура ЕОМ має в собі масу інших складових.
VLIW характеризується записом команд в пам'ять фіксованими «пачками» по, наприклад 4 команди, які виконуватимуться одночасно на різних арифметико-логічних пристроях. Характерне марнування програмної пам'яті для низок команд, які компілятору розпаралелити не вдалося.
Класифікація архітектур системи команд
В залежності від організації взаємодії між обчислювальним пристроєм, регістрами й пам'яттю, виділяють наступні класи архітектур:
Стекові архітектури
У стекових архітектурах набір регістрів (або відповідна область пам'яті, де відбувається безпосередня обробка даних) організований у стек (stack) або магазин. Принцип дії цієї структури дійсно нагадує магазин автомата, в якому можна послідовно завантажувати патрони, причому при завантаженні кожного наступного, попередні опускаються на 1 позицію вниз. Діставати патрони доведеться в зворотному порядку: перший із завантажених буде вийнятий останнім.
Аналогічно, для керування регістровим стеком вводяться дві спеціальні команди: PUSH
і POP
(«заштовхнути» і «виштовхнути»). З їхньою допомогою організується взаємодія з основною пам'яттю: команда PUSH
кладе операнд на вершину стека, команда POP
вертає значення c вершини та кладе на вершину наступний елемент. Як поточні операнди в стековій машині завжди маються на увазі дві верхніх позиції стека, тому в обчислювальних командах навіть немає необхідності вказувати адреси операндів (говорять, що система команд стекових машин — нульадресна). Результат операції записується знову в вершину стека на місце першого операнда, а на місце другого піднімається наступний і так до спустошення стека.
Стекові архітектури прості в реалізації, тому багато перших ЕОМ були побудовані саме в такий спосіб. Стековими, до речі, були й перші калькулятори. Однак продуктивність таких архітектур по сьогоднішніх мірках невисока, та й підвищувати її можна хіба що за рахунок зменшення часу циклу. Однак є галузі, де продуктивність — не головний показник, і сьогодні стекові архітектури є досить перспективними для застосування в промислових системах керування та широкому класі вбудованих систем, де важливі простота й дешевина реалізації разом з прийнятною швидкістю обробки. Краще інших пристосовані стекові машини для забезпеченням режиму реального часу реакції на переривання, що має першорядну важливість у системах керування.
Акумуляторні архітектури
В акумуляторних архітектурах «уявним» залишається тільки один операнд, що перебуває в спеціальному регістрі- акумуляторі. Другий операнд береться безпосередньо з пам'яті або з тимчасового сховища, в яке завантажується попередньо. Розвитком цього принципу можна вважати архітектури з наборами спеціалізованих регістрів, в яких деякі регістри були закріплені за певними операціями, або існували якісь інші обмеження на їхнє використання.
Акумуляторні архітектури були досить популярні в перших ЕОМ через свою простоту. Спеціалізовані регістри були популярними в архітектурах 70-х років, зокрема, застосовувалися в IBM S/360 і в мікропроцесорах серії x86, а сьогодні одержали свій розвиток в архітектурах цифрових сигнальних процесорів (digital signal processor, DSP).
Архітектури «регістр-пам'ять» і «регістр-регістр»
У командах архітектур типу «регістр-пам'ять» допускається в команді вказувати як місцезнаходження одного з операндів комірки пам'яті. В архітектурах «регістр-регістр» завантаження операндів з пам'яті й збереження результатів виконуються спеціальними командами, і безпосередньо в обчисленнях допускається використання тільки операндів, які знаходяться в регістрах процесора. Останній підхід покладений в основу архітектур зі скороченим набором команд (RISC).
Архітектури «регістр-пам'ять» і «регістр-регістр» відносяться до розряду регістрових архітектур. В них як основне сховище операндів використовується набір регістрів загального призначення або спеціалізованих регістрів. Використання регістрів веде до істотного підвищення продуктивності: по-перше регістрова пам'ять швидше оперативної, по-друге набір регістрів дає більше можливостей програмісту й компілятору для організації складних обчислень (на відміну, наприклад, від стекових архітектур, де порядок обчислення визначається однозначно й не може бути змінений), полегшує реалізацію мікроархітектурних методів підвищення продуктивності обчислень, таких як конвеєризація або сполучення операцій.
Розумне планування використання регістрів в процесі обчислень дозволяє скоротити відсоток звертань до повільної (у порівнянні з регістрами) оперативної пам'яті за рахунок повторного використання результатів обчислень і зберігання в регістрах часто використовуваних змінних. У зв'язку з останньою обставиною зростає роль архітектур з регістрами загального призначення, де всі регістри мають однакову функціональність, що дає компілятору максимум можливостей щодо оптимального їх розподілу в процесі обчислень. Оптимізувати використання регістрової пам'яті на архітектурах зі спеціалізованими регістрами значно важче через наявні обмеження на використання тих або інших регістрів.
Кількість регістрів в регістрових архітектурах залежить від конкретних завдань, адже в одному випадку необхідно оперувати великими масивами даних і постійно довантажувати операнди в регістри, в іншому всі обчислення локалізовані й при наявності достатньої кількості вільних регістрів, можна вмістити там всі використовувані змінні.
Архітектури «пам'ять-пам'ять»
Ще один клас архітектур, що залишився без уваги — «пам'ять-пам'ять», де дозволяється робота безпосередньо з оперативною пам'яттю, але він давно вичерпав резерв розвитку й зараз знайти втілення цієї архітектури можна хіба що в музеях (як приклад можна навести досить розповсюджену в 70-і роки серію VAX фірми Digital Equipment Corporation)
Адресність команд
Стекова архітектура може зватися нульадресною або нульоперандною, в ній і вхідні операнди, і адреса для запису результату визначені за замовчуванням, тому в команді нічого вказувати не потрібно.
Акумуляторні архітектури є однооперандними.
Архітектури типу регістр-пам'ять часто мають двооперандний формат — в команді вказується місцезнаходження обох джерел операції, а результат за замовчуванням записується на місце першого, яке при необхідності повторного використання доведеться заново завантажувати.
Архітектури «регістр-регістр» мають найгнучкіший триоперандний формат з явною вказаними як операндами джерел, так і регістра, в якому буде збережено результат. В модулях векторної обробки (наприклад, обробки мультимедійних даних) сучасних процесорів загального призначення та процесорах цифрової обробки сигналів можна знайти й спеціалізовані чотириоперандні команди.
Класифікація команд
Всю номенклатуру операцій, реалізованих в сучасних ЕОМ, можна розбити на наступні функціональні групи:
- арифметичні й логічні — для цілочисельних арифметичних і логічних обчислень (додавання, віднімання, множення, зсуви й логічні операції, порівнювання тощо);
- пересилання даних — команди завантаження/збереження в RISC-процесорах, команди переміщення даних (типу mov) в архітектурах, що допускають пряму роботу з пам'яттю;
- управління — для умовної або безумовної зміни ходу виконання програми, обробки виняткових ситуацій;
- системної або привілейовані — команди управління віртуальною пам'яттю, переключенням контексту, привілейовані команди операційної системи;
- арифметичні з рухомою комою — для арифметичних операції із числами у форматі рухомої коми;
- команди десяткової арифметики;
- робота з рядками (strings) — пошук в рядку, пересилання рядка, порівняння рядків;
- графічні — векторні операції, що прискорюють обробку графічних сцен.
Див. також
Це незавершена стаття про апаратне забезпечення. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
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 lipen 2013 Arhitektu ra siste mi koma nd angl instruction set architecture ISA takozh sistemna arhitektura elektronnoyi obchislyuvalnoyi mashini skladova chastina arhitekturi komp yutera sho maye nastupni harakteristiki nabir mashinnih komand abo nabir instrukcij sistema komand perelik ta semantika operacij yaki zdatnij vikonuvati komp yuter dostupni registri vnutrishni komirki pam yati centralnogo procesora pristroyu yakij vikonuye obrobku informaciyi yih funkcionalne priznachennya rozryadnist kilkist tosho rozryadnist ta formati operandiv ob yektiv nad yakimi vikonuyutsya operaciyi sposobi adresaciyi pam yati metodi dostupu do operandiv yaki zberigayutsya v pam yati osoblivosti obrobki vinyatkovih situacij obrobka pererivan Tipova triadresna komanda Takij format mayut komandi RISC procesoriv yaki bezposeredno operuyut z registrami Evolyuciya arhitektur sistemi komandPershi akumulyatorni arhitekturi Nabir operacij pershih EOM z programoyu yaka zberigayetsya v pam yati skladavsya z odnogo dvoh desyatkiv komand Vsi operaciyi z informaciyeyu zazvichaj vikonuvalis v odnomu specialnomu registri akumulyatori a dlya zavantazhennya operandiv neobhidno bulo yavno vkazuvati adresu vidpovidnoyi komirki pam yati Takim buv nabir komand obchislyuvalnoyi mashini Baby 1948 rozroblenoyi v Manchesterskomu universiteti yaka vvazhayetsya pershoyu EOM v yakij dostatno povno buv realizovanij princip zberezhennya programi v pam yati Cej nabir skladavsya z nastupnih komand tut A registr akumulyatora S komirka pam yati predstavlena svoyeyu adresoyu 000 JMP S CI S 010 LDN S A S 011 SUB S A A S 011 CMP If A lt 0 CI CI 1 100 JMP S CI CI S 110 STO S S A 111 HLT Zakinchiti programu Zvichajna programa skladannya dvoh chisel v akumulyatori v cij arhitekturi sistemi komand viglyadala tak LDN X1 A x1 SUB X2 A A y x y x y STO Y Y x y LDN Y A x y x y Majzhe v toj samij chas 1948 pid Kiyevom grupoyu inzheneriv pid kerivnictvom akademika S O Lebedyeva pochalis roboti zi stvorennya pershoyi vitchiznyanoyi EOM MESM sistema komand yakoyi bula shozhoyu na navedenu vishe V arhitekturi Baby vikoristovuvalas yak bi mi zaraz skazali nepryama adresaciya bezumovnih perehodiv adresa komandi na yaku potribno bulo peredati keruvannya komandoyu JMP vid angl jump stribati koduvalas ne v samij komandi perehodu a zberigalas v komirci zapam yatovuvalnogo pristroyu Ce bulo viklikano golovnim chinom neobhidnistyu ekonomiyi pam yati hocha zgodom praktika programuvannya pokazala sho pryama bezposerednya adresaciya perehodiv vikoristovuyetsya nabagato chastishe Arhitekturi z indeksnimi registrami U nastupnici principiv Baby odnij z pershih komercijnih EOM Ferranti Mark 1 1952 z ciyeyu metoyu buli vpershe zastosovani tak zvani indeksni registri Mozhna bulo nalashtuvati cyu mashinu tak sho pered vikonannyam komandi informaciya odnogo z takih registriv sumuvalas bezposeredno z samoyu komandoyu abo deyakimi yiyi skladovimi tobto buv realizovanij princip programi yaka samomodifikuyetsya v procesi vikonannya Takim chinom dlya organizaciyi pryamoyi adresaciyi perehodiv dostatno bulo zavantazhiti v odin z indeksnih registriv potribnu adresu zalishivshi vidpovidne pole komandi JMP nulovim Arhitekturi z registrami zagalnogo priznachennya Nastupnim znachnim vdoskonalennyam stalo vvedennya takogo ponyattya yak registri zagalnogo priznachennya RZP Vpershe voni z yavilisya v mashini Pegasus 1956 toyi zh firmi Ferranti Kozhnij z takih RZP za funkcionalnistyu buv identichnij akumulyatoru pershih mashin i ce istotno polegshuvalo proces programuvannya j priskoryuvalo shvidkodiyu adzhe teper ne potribno bulo zberigati promizhni rezultati v povilnij pam yati j uves chas pidvantazhuvati zvidti potribni zminni Yih mozhna bulo rozmishuvati v registrah Ce vdoskonalennya poznachilos j na sistemi komand V pershih mashinah voni buli odnooperandnimi tobto v komandi vkazuvavsya lishe odin operand a drugij zavzhdi znahodivsya v registri akumulyatori Teper zhe z poyavoyu bezlichi akumulyatoriv odnoadresni komandi buli zmineni na dvoadresni ta triadresni CISC Dokladnishe CISC Z progresom v oblasti elektronnih tehnologiyi j zbilshennyam shvidkodiyi stali bilshe dumati j pro programista V seredini 60 h rokiv z yavivsya klas universalnih mashin razom z nim ponyattya pro arhitekturu Zvorotnim naslidkom takoyi turboti stalo te sho deyaki sistemi komand togo chasu narahovuvali bilshe desyatka sposobiv adresaciyi ne menshu kilkist registriv riznoyi funkcionalnosti j bilshe sotni operacij na vsi vipadki zhittya vklyuchayuchi najekzotichnishi tomu zgodom taki arhitekturi sistemi komand oderzhali nazvu CISC angl complex instruction set computer V deyakih EOM sistema komand nagaduvala movi visokogo rivnya Vse ce povinno bulo polegshiti j priskoriti napisannya program i zmenshiti skladnist kompilyatoriv skorotiti chas nalagodzhennya a takozh obsyagi vikoristovuvanoyi pam yati yaka todi koshtuvala dorogo a chim bilshe skladnih dij vdavalosya realizuvati v kompaktnih mashinnih komandah tobto chim vishoyu bula yih semantika tim menshe v pam yati zajmala programa Odnak malo hto utrudnyav sebe vivchennyam i vikoristannyam vsih cih chislennih mozhlivostej tomu povni sistemi komand viyavlyalisya vkraj nadlishkovimi CISC harakterizuyetsya porivnyano velikoyu kilkistyu komand Komandi mayut riznij chas vikonannya ta zajmayut riznu kilkist pam yati sho prizvodit do absurdu komandu perehodu na x komand vpered kilkist krokiv v pam yati dlya perehodiv kompilyator rozrahovuye pislya osnovnoyi kompilyaciyi programi Produktivnist programi silno zalezhit vid umin ta znan programista RISC Dokladnishe RISC procesor Ale do seredini 70 h zi zdeshevlennyam pam yati j rozvitkom visokorivnevih mov ta kompilyatoriv akcenti znovu zminilis Na mashinnih movah perestavali pisati rezultati roboti optimizuvalnih kompilyatoriv stali cilkom prijnyatnimi a pisati na movah visokogo rivnya kudi legshe j shvidshe nizh v mashinnih komandah Stalo aktualnim pitannya sumisnosti ta mizhplatformovoyi sumisnosti programnogo zabezpechennya Do togo zh skladni nabori komand realizovani za dopomogoyu povilnih mikroprogram obmezhuvali mozhlivosti dlya podalshogo rostu shvidkodiyi za rahunok mikroarhitekturnih optimizacij Tak era skladnih naboriv komand zakinchilasya postupivshis miscem novim arhitekturam iz skorochenim naborom reduced instruction set computer RISC yaki stvoryuvalisya iz pricilom na maksimalnu realizaciyu mozhlivostej suchasnih kompilyatoriv i zazdalegid proektuvalisya z urahuvannyam mozhlivoyi optimizaciyi procesu obchislen na rivni mikroarhitekturi RISC harakterizuyetsya takij nabir komand porivnyano nevelikoyu kilkistyu 40 1024 dlya riznih arhitektur ale golovnimi oznakami ye fiksovanij rozmir komandi za vinyatkom komand perehodu yaki mozhut mistitisya v 2 3 komandnih slovah mistyat adresu Takozh klyuchovoyu harakteristikoyu ye fiksovanij chas vikonannya komand kozhna komanda vikonuyetsya napriklad za 1 mashinnij takt AVR do 20Mgc chi za 4 mashinnih takti PIC do 80Mgc Produktivnist program silno zalezhit vid yakosti kompilyatora pri vikoristanni asemblera ta mashinnih komand bilshe zalezhit vid programista VLIW Odnak zaraz pered proektuvalnikami u ves zrist postala nova problema skladnist suchasnih procesoriv staye prosto shalenoyu Mikroarhitekturni metodi dinamichnogo planuvannya yaki perevporyadkovuyut komandi ta viyavlyayut prihovanij paralelizm dayut istotnij pririst v produktivnosti ale vimagayut stvorennya vinyatkovo skladnih aparatnih struktur yaki nadto skladno proektuvati j vtilyuvati Tomu zaraz na pershij plan vihodyat sistemi z dovgim komandnim slovom very long instruction word VLIW v yakih bilsha chastina mehanizmu spoluchennya operacij vikonuyetsya na programnomu rivni a procesoru dayetsya vzhe gotovij plan dij Aparaturna struktura vihodit prostishoyu sho robit taki sistemi dosit perspektivnimi nezvazhayuchi na bezlich skladnostej pov yazanih z yihnim vikoristannyam Rishennya yaki prijmayutsya na rivni arhitekturi sistemi komand mayut istotnij vpliv na osnovni harakteristiki majbutnoyi EOM yiyi vnutrishnyu organizaciyu Tomu i sposterigayetsya pevnij procesorocentrizm v populyarnih oglyadah suchasnih komp yuternih arhitektur hocha ce j ne duzhe korektno tomu sho arhitektura EOM maye v sobi masu inshih skladovih VLIW harakterizuyetsya zapisom komand v pam yat fiksovanimi pachkami po napriklad 4 komandi yaki vikonuvatimutsya odnochasno na riznih arifmetiko logichnih pristroyah Harakterne marnuvannya programnoyi pam yati dlya nizok komand yaki kompilyatoru rozparaleliti ne vdalosya Klasifikaciya arhitektur sistemi komandV zalezhnosti vid organizaciyi vzayemodiyi mizh obchislyuvalnim pristroyem registrami j pam yattyu vidilyayut nastupni klasi arhitektur Stekovi arhitekturi Stekova arhitektura U stekovih arhitekturah nabir registriv abo vidpovidna oblast pam yati de vidbuvayetsya bezposerednya obrobka danih organizovanij u stek stack abo magazin Princip diyi ciyeyi strukturi dijsno nagaduye magazin avtomata v yakomu mozhna poslidovno zavantazhuvati patroni prichomu pri zavantazhenni kozhnogo nastupnogo poperedni opuskayutsya na 1 poziciyu vniz Distavati patroni dovedetsya v zvorotnomu poryadku pershij iz zavantazhenih bude vijnyatij ostannim Analogichno dlya keruvannya registrovim stekom vvodyatsya dvi specialni komandi PUSH i POP zashtovhnuti i vishtovhnuti Z yihnoyu dopomogoyu organizuyetsya vzayemodiya z osnovnoyu pam yattyu komanda PUSH klade operand na vershinu steka komanda POP vertaye znachennya c vershini ta klade na vershinu nastupnij element Yak potochni operandi v stekovij mashini zavzhdi mayutsya na uvazi dvi verhnih poziciyi steka tomu v obchislyuvalnih komandah navit nemaye neobhidnosti vkazuvati adresi operandiv govoryat sho sistema komand stekovih mashin nuladresna Rezultat operaciyi zapisuyetsya znovu v vershinu steka na misce pershogo operanda a na misce drugogo pidnimayetsya nastupnij i tak do spustoshennya steka Stekovi arhitekturi prosti v realizaciyi tomu bagato pershih EOM buli pobudovani same v takij sposib Stekovimi do rechi buli j pershi kalkulyatori Odnak produktivnist takih arhitektur po sogodnishnih mirkah nevisoka ta j pidvishuvati yiyi mozhna hiba sho za rahunok zmenshennya chasu ciklu Odnak ye galuzi de produktivnist ne golovnij pokaznik i sogodni stekovi arhitekturi ye dosit perspektivnimi dlya zastosuvannya v promislovih sistemah keruvannya ta shirokomu klasi vbudovanih sistem de vazhlivi prostota j deshevina realizaciyi razom z prijnyatnoyu shvidkistyu obrobki Krashe inshih pristosovani stekovi mashini dlya zabezpechennyam rezhimu realnogo chasu reakciyi na pererivannya sho maye pershoryadnu vazhlivist u sistemah keruvannya Akumulyatorni arhitekturi Akumulyatorna arhitektura V akumulyatornih arhitekturah uyavnim zalishayetsya tilki odin operand sho perebuvaye v specialnomu registri akumulyatori Drugij operand beretsya bezposeredno z pam yati abo z timchasovogo shovisha v yake zavantazhuyetsya poperedno Rozvitkom cogo principu mozhna vvazhati arhitekturi z naborami specializovanih registriv v yakih deyaki registri buli zakripleni za pevnimi operaciyami abo isnuvali yakis inshi obmezhennya na yihnye vikoristannya Akumulyatorni arhitekturi buli dosit populyarni v pershih EOM cherez svoyu prostotu Specializovani registri buli populyarnimi v arhitekturah 70 h rokiv zokrema zastosovuvalisya v IBM S 360 i v mikroprocesorah seriyi x86 a sogodni oderzhali svij rozvitok v arhitekturah cifrovih signalnih procesoriv digital signal processor DSP Arhitekturi registr pam yat i registr registr U komandah arhitektur tipu registr pam yat dopuskayetsya v komandi vkazuvati yak misceznahodzhennya odnogo z operandiv komirki pam yati V arhitekturah registr registr zavantazhennya operandiv z pam yati j zberezhennya rezultativ vikonuyutsya specialnimi komandami i bezposeredno v obchislennyah dopuskayetsya vikoristannya tilki operandiv yaki znahodyatsya v registrah procesora Ostannij pidhid pokladenij v osnovu arhitektur zi skorochenim naborom komand RISC Arhitektura registr pam yat a ta registr registr b Arhitekturi registr pam yat i registr registr vidnosyatsya do rozryadu registrovih arhitektur V nih yak osnovne shovishe operandiv vikoristovuyetsya nabir registriv zagalnogo priznachennya abo specializovanih registriv Vikoristannya registriv vede do istotnogo pidvishennya produktivnosti po pershe registrova pam yat shvidshe operativnoyi po druge nabir registriv daye bilshe mozhlivostej programistu j kompilyatoru dlya organizaciyi skladnih obchislen na vidminu napriklad vid stekovih arhitektur de poryadok obchislennya viznachayetsya odnoznachno j ne mozhe buti zminenij polegshuye realizaciyu mikroarhitekturnih metodiv pidvishennya produktivnosti obchislen takih yak konveyerizaciya abo spoluchennya operacij Rozumne planuvannya vikoristannya registriv v procesi obchislen dozvolyaye skorotiti vidsotok zvertan do povilnoyi u porivnyanni z registrami operativnoyi pam yati za rahunok povtornogo vikoristannya rezultativ obchislen i zberigannya v registrah chasto vikoristovuvanih zminnih U zv yazku z ostannoyu obstavinoyu zrostaye rol arhitektur z registrami zagalnogo priznachennya de vsi registri mayut odnakovu funkcionalnist sho daye kompilyatoru maksimum mozhlivostej shodo optimalnogo yih rozpodilu v procesi obchislen Optimizuvati vikoristannya registrovoyi pam yati na arhitekturah zi specializovanimi registrami znachno vazhche cherez nayavni obmezhennya na vikoristannya tih abo inshih registriv Kilkist registriv v registrovih arhitekturah zalezhit vid konkretnih zavdan adzhe v odnomu vipadku neobhidno operuvati velikimi masivami danih i postijno dovantazhuvati operandi v registri v inshomu vsi obchislennya lokalizovani j pri nayavnosti dostatnoyi kilkosti vilnih registriv mozhna vmistiti tam vsi vikoristovuvani zminni Arhitekturi pam yat pam yat She odin klas arhitektur sho zalishivsya bez uvagi pam yat pam yat de dozvolyayetsya robota bezposeredno z operativnoyu pam yattyu ale vin davno vicherpav rezerv rozvitku j zaraz znajti vtilennya ciyeyi arhitekturi mozhna hiba sho v muzeyah yak priklad mozhna navesti dosit rozpovsyudzhenu v 70 i roki seriyu VAX firmi Digital Equipment Corporation Adresnist komandAdresnist komand Stekova arhitektura mozhe zvatisya nuladresnoyu abo nuloperandnoyu v nij i vhidni operandi i adresa dlya zapisu rezultatu viznacheni za zamovchuvannyam tomu v komandi nichogo vkazuvati ne potribno Akumulyatorni arhitekturi ye odnooperandnimi Arhitekturi tipu registr pam yat chasto mayut dvooperandnij format v komandi vkazuyetsya misceznahodzhennya oboh dzherel operaciyi a rezultat za zamovchuvannyam zapisuyetsya na misce pershogo yake pri neobhidnosti povtornogo vikoristannya dovedetsya zanovo zavantazhuvati Arhitekturi registr registr mayut najgnuchkishij trioperandnij format z yavnoyu vkazanimi yak operandami dzherel tak i registra v yakomu bude zberezheno rezultat V modulyah vektornoyi obrobki napriklad obrobki multimedijnih danih suchasnih procesoriv zagalnogo priznachennya ta procesorah cifrovoyi obrobki signaliv mozhna znajti j specializovani chotirioperandni komandi Klasifikaciya komandVsyu nomenklaturu operacij realizovanih v suchasnih EOM mozhna rozbiti na nastupni funkcionalni grupi arifmetichni j logichni dlya cilochiselnih arifmetichnih i logichnih obchislen dodavannya vidnimannya mnozhennya zsuvi j logichni operaciyi porivnyuvannya tosho peresilannya danih komandi zavantazhennya zberezhennya v RISC procesorah komandi peremishennya danih tipu mov v arhitekturah sho dopuskayut pryamu robotu z pam yattyu upravlinnya dlya umovnoyi abo bezumovnoyi zmini hodu vikonannya programi obrobki vinyatkovih situacij sistemnoyi abo privilejovani komandi upravlinnya virtualnoyu pam yattyu pereklyuchennyam kontekstu privilejovani komandi operacijnoyi sistemi arifmetichni z ruhomoyu komoyu dlya arifmetichnih operaciyi iz chislami u formati ruhomoyi komi komandi desyatkovoyi arifmetiki robota z ryadkami strings poshuk v ryadku peresilannya ryadka porivnyannya ryadkiv grafichni vektorni operaciyi sho priskoryuyut obrobku grafichnih scen Div takozhSimulyator naboru komand Arhitektura komp yutera Procesor Ce nezavershena stattya pro aparatne zabezpechennya Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi