Ця стаття є сирим з іншої мови. Можливо, вона створена за допомогою машинного перекладу або перекладачем, який недостатньо володіє обома мовами. (січень 2018) |
Transport triggered architecture (TTA) — варіант архітектури мікропроцесорів, в якій програми безпосередньо керують внутрішніми з'єднаннями (шинами) між блоками процесора (наприклад, АЛП, регістровий файл). Обчислення є побічним ефектом передачі даних між блоками: запис даних на вхідний порт (triggering port) функціонального блоку приводить до початку їх обробки цим блоком. Це подібно тому, що відбувається у систолічному масиві. Завдяки модульній структурі, TTA-архітектура ідеально підходить для проектування проблемно-орієнтованих процесорів (ASIP), при цьому TTA-процесори виходять більш універсальними і дешевшими ніж апаратні прискорювачі для фіксованих функцій.
Зазвичай TTA-процесор має кілька транспортних шин і багато функціональних пристроїв (ФП), підключених до цих шин. Велика кількість ФП дозволяє досягти паралелізму на рівні команд. Паралелізм статично визначається програмістом. У цьому відношенні, а також через велику довжину машинної інструкції, TTA-архітектури подібні до Very Long Instruction Word (VLIW) архітектури. Інструкція для TTA складається з декількох слотів, по слоту на кожну шину. Кожен слот визначає, як дані будуть передаватися по даній шині. Настільки повний контроль дозволяє виробляти деякі оптимізації, неможливі для класичних архітектур. Наприклад, можливе явне пересилання даних між різними ФП без збереження проміжних даних в регістровому файлі.
Процесори з архітектурою класу TTA були доступні у продажу.[][]
Структура
Процесори з архітектурою класу TTA складаються з декількох незалежних функціональних пристроїв і реєстрових файлів, які з'єднані транспортними шинами і сокетами.
Функціональний пристрій
Кожний функціональний пристрій виконує одну або більше операцій. Можлива реалізація як найпростіших арифметичних операцій (цілочисельне додавання) так і складних довільних операцій, специфічних для цільової програми. Операнди передаються в ФП через порти ФП. Результат операції передається через вихідний порт ФП.
У кожному ФП може бути реалізований незалежний конвеєр команд.
Доступ до пам'яті та взаємодія з зовнішніми пристроями обробляється спеціальними ФП. ФП для доступу до пам'яті часто називають load/store unit.
Керувальний пристрій
Керувальний пристрій контролює процес виконання програм. У нього є доступ до пам'яті інструкцій для отримання наступних машинних команд. Також реалізує команди переходу (jump). Зазвичай керувальний пристрій конвеєризовано і виділені стадії: завантаження, декодування, виконання інструкцій.
Регістрові файли
Регістрові файли (РФ) містять масиви регістрів загального призначення, в яких зберігаються змінні програми. Подібно ФП, РФ мають вхідні і вихідні порти. Кількість вхідних і вихідних портів (кількість одночасно читаних РОН з масиву) може бути різним для різних РФ.
Програмування
У більш традиційних архітектурах процесорів, процесор зазвичай програмується шляхом визначення виконаних операцій і їх операндів. Наприклад, інструкція додавання в архітектурі RISC може виглядати наступним чином.
add r3, r1, r2
У цьому прикладі операція додає значення загального призначення регістрів r1 і r2 і зберігає результат в регістрі r3. Виконання команди в процесорі, ймовірно, призводить до перекладу інструкції на керуючі сигнали, які управляють мережевими з'єднаннями і взаємозв'язком функціональних блоків. Мережа з'єднання використовується для передачі поточних значень регістрів r1 і r2 до функції блоку, який здатен виконувати операції додавання, які часто називають ALU, як в арифметико-логічному Unit. Нарешті, сигнал управління вибирає і запускає операцію складання в АЛП, з яких результат передається назад в регістр r3.
Програми TTA не визначають операції, але транспортування даних потребує запису і зчитування значення операндів. Сама операція ініціюється записом даних до пускового операнда операції. Таким чином, операція виконується, як побічний ефект, який ініціює передачу даних. Таким чином, виконання операції додавання в TTA вимагає трьох транспортних даних визначень, так званих ходів. Рух визначає кінцеві точки для передачі даних, що відбуваються в транспортному автобусі. Наприклад, рух можна констатувати, якщо перенесення даних з функції блоку F в порт 1, щоб зареєструвати файл R, індексний регістр 2, матиме місце в автобусі B1. У разі, якщо є кілька шин в цільовому процесорі, кожна шина можуть бути використані паралельно в тому ж такті. Операція складання може виконуватися в процесорі TTA так
r1 -> ALU.operand1 r2 -> ALU.add.trigger ALU.result -> r3
Другий крок — операція запису на другий операнд функції блоку називається ALU, запускає операцію складання. Це робить результат складання наявного в результаті вихідного порту після виконання «додавання».
Порти, пов'язані з АЛП можуть виступати як акумулятор, що дозволяє створювати макро-інструкції, абстрагуватися від базового активу TTA:
lda r1 ; "load ALU": move value to ALU operand 1 add r2 ; add: move value to add trigger sta r3 ; "store ALU": move value from ALU result
Прихований стан
Провідна філософія TTA полягає в складності переходу від апаратних засобів до програмного забезпечення. У зв'язку з цим, деякі додаткові небезпеки вводяться для програміста. Один з них є стан, програміст бачить операції прихованого стану функціональних блоків. Програміст повністю відповідає за терміни. Програміст повинен планувати інструкції таким чином, що результат не зчитувався дуже рано і не занадто пізно. В TTA немає функції виявлення апаратних засобів, щоб заблокувати процесор в разі, коли результат зчитується занадто рано. Розглянемо, наприклад, архітектуру, яка має операцію додати з затримкою 1, і операції MUL з затримкою 3. При спрацьовуванні операції додати, можна прочитати результат в наступній інструкції (наступного тактового циклу), але в разі мул, доводиться чекати, поки дві команди до того, як результат може бути прочитаний. Результат буде готовий до 3-й інструкцію після інструкції запуску.
Результат повинен бути прочитаний досить рано, щоб переконатися, що такий результат операції НЕ переписують ще непрочитані привести до вихідного порту.
Через велику кількість видимого контексту процесора, який він фактично включає в себе, програміст повинен зареєструвати вміст файлу, а також функціональний блок вмісту регістрів трубопроводу і / або функціонального блоку, порти введення і виведення, зберігає необхідний для зовнішньої підтримки переривань. Тому переривання зазвичай не підтримуються процесорами TTA, але їх задача делегується зовнішнім обладнанням (наприклад, процесором вводу / виводу) або їх потреба уникнути, використовуючи альтернативну синхронізацію / механізм зв'язку, таких як опитування.
Затримки операцій
Один з основних принципів ТТА — спростити апаратне забезпечення, ускладнивши програмне.
Переваги в порівнянні з VLIW архітектурі
TTAs можна розглядати як «DATAPATH» VLIW архітектур. У той час як VLIW програмується за допомогою операцій, TTA розбиває виконання операції на кілька операцій переміщення. Модель низького програмування високого рівня надає кілька переваг у порівнянні зі стандартною VLIW. Наприклад, архітектура TTA може забезпечити простіший паралелізм, ніж реєстрові файли з VLIW. Як програміст контролює терміни операндів і дані результату, складність (кількість вхідних і вихідних портів) файлу регістра (РФ) не повинні бути розширені відповідно до гіршому випадку питання / завершення сценарій кілька паралельних інструкцій.
Унікальна оптимізація програмного забезпечення дозволило транспортному програмуванню називатися програмним забезпеченням шунтування. У разі програмного забезпечення обходу, програміст обходить файл регістра зворотнього запису шляхом переміщення даних безпосередньо до портів операндів наступного функціонального блоку. Коли ця оптимізація застосовується агресивно, початковий крок, який переносить результат в файл регістрів може бути повністю усуненим, таким чином, знижуючи тиск порту регістра на файл і звільняючи регістр загального призначення для інших тимчасових змінних. Знижений тиск регістра, крім того, що спрощує необхідну складність РФ апаратних засобів, може призвести до значної економії енергії процесора, важлива перевага, особливо в мобільних вбудованих системах.
Реалізації
- На даний час доступний мікроконтролер тільки в комерційних цілях, побудований на Transport Triggered Architecture від [en]. Тим не менш, це пропонує або OISC або URISC, але крім однієї гнучкою MOVE інструкції, яка може функціювати як різні віртуальні інструкції, переміщаючи значення безпосередньо до лічильника команд.
- TCE project [ 21 січня 2016 у Wayback Machine.]. Використовується компілятор LLVM.
- Процесор Able [ 12 березня 2016 у Wayback Machine.] ([en]), використовувався в системі синтезу музики [en] (Depeche Mode, A-Ha, Duran Duran, Sting)
- 32-розрядний TTA з сирцями на Verilog, асемблером і компілятором мови Forth.
- Архітектура має всі основні риси transport triggered architecture.
- The Able [ 12 березня 2016 у Wayback Machine.] процесор, розроблений New England Digital.
- WireWorld based computer [Архівовано 13 лютого 2013 у WebCite].
- Mali вершинний процесор використовує скалярні TTA інструкції з рухомою комою 128-бітової точності.
Примітки
- «MAXQ Family User's Guide»[недоступне посилання]. Розділ «1.1 Набір команд» говорить «Реєстро-базова transport-triggered architecture враховує всі інструкції, які будуть закодовані, як просто операції переміщення. Всі інструкції або зменшують або безпосередньо записують значення в адресований регістр, або в комірку пам'яті, або переміщують дані між регістрами та / або між осередками пам'яті.»
- Introduction to the MAXQ Architecture [ 30 вересня 2009 у Wayback Machine.] — Includes transfer map diagram
- . Архів оригіналу за 21 січня 2016. Процитовано 3 січня 2016.
- Article [ 2 липня 2010 у Wayback Machine.] about TTAs, explaining how the TTA-based Codesign Environment project uses LLVM
- . Архів оригіналу за 23 січня 2010. Процитовано 3 січня 2016.
- Web site with more details on the Dr. Dobb's CPU. Архів оригіналу за 18 лютого 2013. Процитовано 3 січня 2016.
Див. також
Посилання
- TTA Codesign Environment, an open source (MIT licensed) toolset for design of application specific TTA processors. [ 21 січня 2016 у Wayback Machine.]
- Dr. Dobb's article with 32-bit FPGA CPU in Verilog [ 23 січня 2010 у Wayback Machine.]
- Web site with more details on the Dr. Dobb's CPU
- Article [ 2 липня 2010 у Wayback Machine.] about TTAs, explaining how the TTA-based Codesign Environment project uses LLVM
- Introduction to the MAXQ Architecture [ 30 вересня 2009 у Wayback Machine.] — Includes transfer map diagram
- http://hosting.ulstu.ru/umk/umk/ap/lections/transputers/microprocessor%20architectures/diff/tta/tta.htm[недоступне посилання з лютого 2019] (рос.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
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 sichen 2018 Transport triggered architecture TTA variant arhitekturi mikroprocesoriv v yakij programi bezposeredno keruyut vnutrishnimi z yednannyami shinami mizh blokami procesora napriklad ALP registrovij fajl Obchislennya ye pobichnim efektom peredachi danih mizh blokami zapis danih na vhidnij port triggering port funkcionalnogo bloku privodit do pochatku yih obrobki cim blokom Ce podibno tomu sho vidbuvayetsya u sistolichnomu masivi Zavdyaki modulnij strukturi TTA arhitektura idealno pidhodit dlya proektuvannya problemno oriyentovanih procesoriv ASIP pri comu TTA procesori vihodyat bilsh universalnimi i deshevshimi nizh aparatni priskoryuvachi dlya fiksovanih funkcij Zazvichaj TTA procesor maye kilka transportnih shin i bagato funkcionalnih pristroyiv FP pidklyuchenih do cih shin Velika kilkist FP dozvolyaye dosyagti paralelizmu na rivni komand Paralelizm statichno viznachayetsya programistom U comu vidnoshenni a takozh cherez veliku dovzhinu mashinnoyi instrukciyi TTA arhitekturi podibni do Very Long Instruction Word VLIW arhitekturi Instrukciya dlya TTA skladayetsya z dekilkoh slotiv po slotu na kozhnu shinu Kozhen slot viznachaye yak dani budut peredavatisya po danij shini Nastilki povnij kontrol dozvolyaye viroblyati deyaki optimizaciyi nemozhlivi dlya klasichnih arhitektur Napriklad mozhlive yavne peresilannya danih mizh riznimi FP bez zberezhennya promizhnih danih v registrovomu fajli Procesori z arhitekturoyu klasu TTA buli dostupni u prodazhu yaki dzherelo StrukturaProcesori z arhitekturoyu klasu TTA skladayutsya z dekilkoh nezalezhnih funkcionalnih pristroyiv i reyestrovih fajliv yaki z yednani transportnimi shinami i soketami Funkcionalnij pristrij Kozhnij funkcionalnij pristrij vikonuye odnu abo bilshe operacij Mozhliva realizaciya yak najprostishih arifmetichnih operacij cilochiselne dodavannya tak i skladnih dovilnih operacij specifichnih dlya cilovoyi programi Operandi peredayutsya v FP cherez porti FP Rezultat operaciyi peredayetsya cherez vihidnij port FP U kozhnomu FP mozhe buti realizovanij nezalezhnij konveyer komand Dostup do pam yati ta vzayemodiya z zovnishnimi pristroyami obroblyayetsya specialnimi FP FP dlya dostupu do pam yati chasto nazivayut load store unit Keruvalnij pristrij Keruvalnij pristrij kontrolyuye proces vikonannya program U nogo ye dostup do pam yati instrukcij dlya otrimannya nastupnih mashinnih komand Takozh realizuye komandi perehodu jump Zazvichaj keruvalnij pristrij konveyerizovano i vidileni stadiyi zavantazhennya dekoduvannya vikonannya instrukcij Registrovi fajli Registrovi fajli RF mistyat masivi registriv zagalnogo priznachennya v yakih zberigayutsya zminni programi Podibno FP RF mayut vhidni i vihidni porti Kilkist vhidnih i vihidnih portiv kilkist odnochasno chitanih RON z masivu mozhe buti riznim dlya riznih RF ProgramuvannyaU bilsh tradicijnih arhitekturah procesoriv procesor zazvichaj programuyetsya shlyahom viznachennya vikonanih operacij i yih operandiv Napriklad instrukciya dodavannya v arhitekturi RISC mozhe viglyadati nastupnim chinom add r3 r1 r2 U comu prikladi operaciya dodaye znachennya zagalnogo priznachennya registriv r1 i r2 i zberigaye rezultat v registri r3 Vikonannya komandi v procesori jmovirno prizvodit do perekladu instrukciyi na keruyuchi signali yaki upravlyayut merezhevimi z yednannyami i vzayemozv yazkom funkcionalnih blokiv Merezha z yednannya vikoristovuyetsya dlya peredachi potochnih znachen registriv r1 i r2 do funkciyi bloku yakij zdaten vikonuvati operaciyi dodavannya yaki chasto nazivayut ALU yak v arifmetiko logichnomu Unit Nareshti signal upravlinnya vibiraye i zapuskaye operaciyu skladannya v ALP z yakih rezultat peredayetsya nazad v registr r3 Programi TTA ne viznachayut operaciyi ale transportuvannya danih potrebuye zapisu i zchituvannya znachennya operandiv Sama operaciya iniciyuyetsya zapisom danih do puskovogo operanda operaciyi Takim chinom operaciya vikonuyetsya yak pobichnij efekt yakij iniciyuye peredachu danih Takim chinom vikonannya operaciyi dodavannya v TTA vimagaye troh transportnih danih viznachen tak zvanih hodiv Ruh viznachaye kincevi tochki dlya peredachi danih sho vidbuvayutsya v transportnomu avtobusi Napriklad ruh mozhna konstatuvati yaksho perenesennya danih z funkciyi bloku F v port 1 shob zareyestruvati fajl R indeksnij registr 2 matime misce v avtobusi B1 U razi yaksho ye kilka shin v cilovomu procesori kozhna shina mozhut buti vikoristani paralelno v tomu zh takti Operaciya skladannya mozhe vikonuvatisya v procesori TTA tak r1 gt ALU operand1 r2 gt ALU add trigger ALU result gt r3 Drugij krok operaciya zapisu na drugij operand funkciyi bloku nazivayetsya ALU zapuskaye operaciyu skladannya Ce robit rezultat skladannya nayavnogo v rezultati vihidnogo portu pislya vikonannya dodavannya Porti pov yazani z ALP mozhut vistupati yak akumulyator sho dozvolyaye stvoryuvati makro instrukciyi abstraguvatisya vid bazovogo aktivu TTA lda r1 load ALU move value to ALU operand 1 add r2 add move value to add trigger sta r3 store ALU move value from ALU resultPrihovanij stanProvidna filosofiya TTA polyagaye v skladnosti perehodu vid aparatnih zasobiv do programnogo zabezpechennya U zv yazku z cim deyaki dodatkovi nebezpeki vvodyatsya dlya programista Odin z nih ye stan programist bachit operaciyi prihovanogo stanu funkcionalnih blokiv Programist povnistyu vidpovidaye za termini Programist povinen planuvati instrukciyi takim chinom sho rezultat ne zchituvavsya duzhe rano i ne zanadto pizno V TTA nemaye funkciyi viyavlennya aparatnih zasobiv shob zablokuvati procesor v razi koli rezultat zchituyetsya zanadto rano Rozglyanemo napriklad arhitekturu yaka maye operaciyu dodati z zatrimkoyu 1 i operaciyi MUL z zatrimkoyu 3 Pri spracovuvanni operaciyi dodati mozhna prochitati rezultat v nastupnij instrukciyi nastupnogo taktovogo ciklu ale v razi mul dovoditsya chekati poki dvi komandi do togo yak rezultat mozhe buti prochitanij Rezultat bude gotovij do 3 j instrukciyu pislya instrukciyi zapusku Rezultat povinen buti prochitanij dosit rano shob perekonatisya sho takij rezultat operaciyi NE perepisuyut she neprochitani privesti do vihidnogo portu Cherez veliku kilkist vidimogo kontekstu procesora yakij vin faktichno vklyuchaye v sebe programist povinen zareyestruvati vmist fajlu a takozh funkcionalnij blok vmistu registriv truboprovodu i abo funkcionalnogo bloku porti vvedennya i vivedennya zberigaye neobhidnij dlya zovnishnoyi pidtrimki pererivan Tomu pererivannya zazvichaj ne pidtrimuyutsya procesorami TTA ale yih zadacha deleguyetsya zovnishnim obladnannyam napriklad procesorom vvodu vivodu abo yih potreba uniknuti vikoristovuyuchi alternativnu sinhronizaciyu mehanizm zv yazku takih yak opituvannya Zatrimki operacijOdin z osnovnih principiv TTA sprostiti aparatne zabezpechennya uskladnivshi programne Perevagi v porivnyanni z VLIW arhitekturiTTAs mozhna rozglyadati yak DATAPATH VLIW arhitektur U toj chas yak VLIW programuyetsya za dopomogoyu operacij TTA rozbivaye vikonannya operaciyi na kilka operacij peremishennya Model nizkogo programuvannya visokogo rivnya nadaye kilka perevag u porivnyanni zi standartnoyu VLIW Napriklad arhitektura TTA mozhe zabezpechiti prostishij paralelizm nizh reyestrovi fajli z VLIW Yak programist kontrolyuye termini operandiv i dani rezultatu skladnist kilkist vhidnih i vihidnih portiv fajlu registra RF ne povinni buti rozshireni vidpovidno do girshomu vipadku pitannya zavershennya scenarij kilka paralelnih instrukcij Unikalna optimizaciya programnogo zabezpechennya dozvolilo transportnomu programuvannyu nazivatisya programnim zabezpechennyam shuntuvannya U razi programnogo zabezpechennya obhodu programist obhodit fajl registra zvorotnogo zapisu shlyahom peremishennya danih bezposeredno do portiv operandiv nastupnogo funkcionalnogo bloku Koli cya optimizaciya zastosovuyetsya agresivno pochatkovij krok yakij perenosit rezultat v fajl registriv mozhe buti povnistyu usunenim takim chinom znizhuyuchi tisk portu registra na fajl i zvilnyayuchi registr zagalnogo priznachennya dlya inshih timchasovih zminnih Znizhenij tisk registra krim togo sho sproshuye neobhidnu skladnist RF aparatnih zasobiv mozhe prizvesti do znachnoyi ekonomiyi energiyi procesora vazhliva perevaga osoblivo v mobilnih vbudovanih sistemah RealizaciyiNa danij chas dostupnij mikrokontroler tilki v komercijnih cilyah pobudovanij na Transport Triggered Architecture vid en Tim ne mensh ce proponuye abo OISC abo URISC ale krim odniyeyi gnuchkoyu MOVE instrukciyi yaka mozhe funkciyuvati yak rizni virtualni instrukciyi peremishayuchi znachennya bezposeredno do lichilnika komand TCE project 21 sichnya 2016 u Wayback Machine Vikoristovuyetsya kompilyator LLVM Procesor Able 12 bereznya 2016 u Wayback Machine en vikoristovuvavsya v sistemi sintezu muziki en Depeche Mode A Ha Duran Duran Sting 32 rozryadnij TTA z sircyami na Verilog asemblerom i kompilyatorom movi Forth Arhitektura maye vsi osnovni risi transport triggered architecture The Able 12 bereznya 2016 u Wayback Machine procesor rozroblenij New England Digital WireWorld based computer Arhivovano 13 lyutogo 2013 u WebCite Mali vershinnij procesor vikoristovuye skalyarni TTA instrukciyi z ruhomoyu komoyu 128 bitovoyi tochnosti Primitki MAXQ Family User s Guide nedostupne posilannya Rozdil 1 1 Nabir komand govorit Reyestro bazova transport triggered architecture vrahovuye vsi instrukciyi yaki budut zakodovani yak prosto operaciyi peremishennya Vsi instrukciyi abo zmenshuyut abo bezposeredno zapisuyut znachennya v adresovanij registr abo v komirku pam yati abo peremishuyut dani mizh registrami ta abo mizh oseredkami pam yati Introduction to the MAXQ Architecture 30 veresnya 2009 u Wayback Machine Includes transfer map diagram Arhiv originalu za 21 sichnya 2016 Procitovano 3 sichnya 2016 Article 2 lipnya 2010 u Wayback Machine about TTAs explaining how the TTA based Codesign Environment project uses LLVM Arhiv originalu za 23 sichnya 2010 Procitovano 3 sichnya 2016 Web site with more details on the Dr Dobb s CPU Arhiv originalu za 18 lyutogo 2013 Procitovano 3 sichnya 2016 Div takozhApplication specific instruction set processor ASIP Very long instruction word VLIW Explicitly parallel instruction computing EPIC Arhitektura potokiv danihPosilannyaTTA Codesign Environment an open source MIT licensed toolset for design of application specific TTA processors 21 sichnya 2016 u Wayback Machine Dr Dobb s article with 32 bit FPGA CPU in Verilog 23 sichnya 2010 u Wayback Machine Web site with more details on the Dr Dobb s CPU Article 2 lipnya 2010 u Wayback Machine about TTAs explaining how the TTA based Codesign Environment project uses LLVM Introduction to the MAXQ Architecture 30 veresnya 2009 u Wayback Machine Includes transfer map diagram http hosting ulstu ru umk umk ap lections transputers microprocessor 20architectures diff tta tta htm nedostupne posilannya z lyutogo 2019 ros