VLIW

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 6. května 2022; kontroly vyžadují 9 úprav .

VLIW ( anglické  slovo velmi dlouhé instrukce  - „velmi dlouhá strojová instrukce“) je architektura procesoru s několika výpočetními zařízeními . Vyznačuje se tím, že jedna instrukce procesoru obsahuje několik operací, které je nutné provádět paralelně [1] [2] . Ve skutečnosti se jedná o mikroprogramové řízení „viditelné pro programátora“, kdy strojový kód je pouze mírně složený mikrokód pro přímé ovládání zařízení.

Superskalární procesory mají také několik výpočetních modulů, ale úloha distribuce práce mezi nimi je řešena hardwarově. To značně komplikuje konstrukci procesoru a může být plné chyb. V procesorech VLIW je problém distribuce vyřešen v době kompilace a instrukce explicitně specifikují, které výpočetní zařízení má provést kterou instrukci.

VLIW lze považovat za logické pokračování ideologie RISC , která ji rozšiřuje na architektury s více výpočetními moduly. Stejně jako u RISC instrukce výslovně uvádějí, co by měl každý modul procesoru dělat. Z tohoto důvodu může být délka instrukce až 128 nebo dokonce 256 bitů.

Příklad

Zvažte provoz modelového procesoru VLIW se dvěma aritmetickými logickými jednotkami (ALU) . Předpokládejme, že potřebujeme sečíst čtyři čísla v registrech R1, R2, R3 a R4. Potom může pseudokód vypadat takto:

R5=R1+R2, R6=R3+R4; každá ALU přidá svůj vlastní pár čísel R°=R5+R6, NOP; první ALU najde součet, druhé je nečinné

Výhody a nevýhody

Teoreticky se předpokládá, že přístup VLIW by měl výrazně zjednodušit mikroarchitekturu procesoru a přesunout úlohu distribuce výpočetních zařízení na kompilátor . Protože neexistují žádné velké a složité uzly, očekává se, že to sníží složitost mikroarchitektury a zlepší energetickou účinnost. V praxi toho však není vždy dosaženo. Důsledkem dlouhých instrukcí je potřeba mít mnoho architektonických registrů. je nutné ukládat velké množství mezivýsledků výpočtů a v důsledku toho se jádra ukazují jako složitá, přestože se od toho chtěla dostat.

Zároveň má kód pro VLIW nízkou hustotu. Vzhledem k velkému počtu prázdných instrukcí pro nečinná zařízení mohou být programy pro procesory VLIW mnohem delší než podobné programy pro tradiční architektury.

Architektura VLIW vypadá poněkud exoticky a pro programátora nezvykle. Kvůli složitým vnitřním závislostem na kódu je ruční programování na úrovni strojového kódu pro architektury VLIW poměrně obtížné. Musíte se spolehnout na optimalizace kompilátoru.

Implementace

První procesory VLIW vyvinuli koncem 80. let Cydrome ( 1984-1988), MultiFlow (1984-1990) [3] , Culler . [čtyři]

Ve své čisté podobě má architektura VLIW procesory TriMedia od společnosti Philips a rodinu DSP C6000 od společnosti Texas Instruments .

Mikroprocesor Transmeta Crusoe obsahuje vrstvu binární kompatibility architektury x86 , která kompiluje instrukce do vnitřního formátu procesoru ( morphing kódu ). Jádrem Crusoe je procesor VLIW. [5]

Mikroprocesor Intel Itanium má 64bitovou explicitně paralelní instrukční sadu procesoru EPIC , což je varianta VLIW.

Víceprocesorový počítačový komplex Elbrus-3 a mikroprocesory řady Elbrus ( Elbrus 2000 , Elbrus S ) jsou procesory VLIW. [6]

Nvidia implementovala architekturu ARMv8-A do vlastního jádra s mikroarchitekturou Denver. Využívá kombinaci jednoduchého hardwarového dekodéru kódu ARM a technologie „Dynamic Code Optimization“ k softwarové rekompilaci kódu ARM do interní instrukční sady. Denver je superskalární architektura se širokým instrukčním slovem VLIW a bez možnosti uspořádání.

Procesory vyráběné Tilerou mají také architekturu VLIW. [7]

VLIW se také dobře prosadil na trhu GPU , protože grafické procesory AMD / ATI Radeon od R600 až po Severní ostrovy včetně mají architekturu VLIW. [8] [9] Počínaje Jižními ostrovy (Q1 2012) AMD / ATI ustoupily od přístupu VLIW [10]

Současné SoC Qualcomm Snapdragon společnosti Qualcomm navržené pro použití jako CPU telefonů a tabletů obsahují koprocesory architektury Hexagon VLIW (QDSP6). Může spouštět algoritmy zpracování zvuku a multimédií, stejně jako část digitálního zpracování bezdrátových signálů. Každý cyklus lze spustit k provedení sady 4 instrukcí; je podporováno hardwarové multithreading (zejména časové multiplexování u některých verzí architektury - revolvingový typ ).

Elbrus 2000 a jeho další vývoj jsou ruské mikroprocesory s architekturou VLIW, vyvinuté společností MCST .

Viz také

Poznámky

  1. Moderní vysoce výkonné počítače Archivní kopie z 29. listopadu 2014 na Wayback Machine V. Shnitman, informační a analytické materiály Centra informačních technologií, 1996. Kapitola 7, část "Architektura stroje s dlouhým příkazem"
  2. Úvod do počítačové architektury VLIW (Velmi-Long Instruction Word) Archivováno 29. listopadu 2014. // Philips Semiconductor
  3. AMiner - Open Science Platform>
  4. VLIW: Architektura staré nové generace archivována 30. prosince 2009 na Wayback Machine // IXBT
  5. Transmeta Crusoe. První pohled . Získáno 23. března 2012. Archivováno z originálu 22. března 2012.
  6. http://ixbtlabs.com/articles2/vliw/ Archivováno 26. dubna 2011 na Wayback Machine "Elbrus-3, ... byla to slušná etapa ve vývoji VLIW."
  7. http://arstechnica.com/business/news/2010/06/tilera-launches-512-core-server-for-the-cloud.ars Archivováno 10. července 2011 na Wayback Machine „Jádra Tilera implementují velmi jednoduchý Design VLIW»
  8. Lev Dymčenko. Počítání na GPU. Vlastnosti architektury AMD/ATI Radeon . ixbt.com. Datum přístupu: 12. února 2011. Archivováno z originálu 16. března 2012.
  9. Dmitrij Vladimirovič. Přehled grafické karty AMD Radeon HD 6870 . overclockers.ru Získáno 12. února 2011. Archivováno z originálu 29. ledna 2012.
  10. AMD odhaluje podrobnosti o architektuře jádra nové generace – Základy grafických karet Radeon HD 7900 (nepřístupný odkaz) . http://www.ixbt.com/.+ Získáno 13. září 2017. Archivováno z originálu 5. února 2012. 

Odkazy