VLIW

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 6. maj 2022; checks kræver 9 redigeringer .

VLIW ( engelsk  meget lang instruktionsord  - "very long machine instruction") er en processorarkitektur med flere computerenheder . Karakteriseret ved, at én processorinstruktion indeholder flere operationer, der skal udføres parallelt [1] [2] . Faktisk er dette mikroprogramstyring "synlig for programmøren", når maskinkoden kun er en let foldet mikrokode til direkte styring af udstyret.

Superscalar - processorer har også flere computermoduler, men opgaven med at fordele arbejde mellem dem løses i hardware. Dette komplicerer designet af processoren i høj grad og kan være fyldt med fejl. I VLIW-processorer løses distributionsproblemet på kompileringstidspunktet , og instruktionerne angiver eksplicit, hvilken computerenhed der skal udføre hvilken instruktion.

VLIW kan betragtes som en logisk fortsættelse af RISC -ideologien , der udvider den til arkitekturer med flere computermoduler. Ligesom RISC angiver instruktionerne eksplicit, hvad hvert processormodul skal gøre. På grund af dette kan længden af ​​en instruktion være op til 128 eller endda 256 bit.

Eksempel

Overvej driften af ​​en model VLIW-processor med to aritmetiske logiske enheder (ALU'er) . Antag, at vi skal tilføje fire tal i registrene R1, R2, R3 og R4. Så kan pseudokoden se sådan ud:

R5=R1+R2, R6=R3+R4; hver ALU tilføjer sit eget talpar R0=R5+R6, NOP; den første ALU finder summen, den anden er inaktiv

Fordele og ulemper

I teorien antages det, at VLIW-tilgangen i høj grad skal forenkle processorens mikroarkitektur og flytte opgaven med at distribuere computerenheder til compileren . Da der ikke er store og komplekse noder, forventes det, at dette vil reducere kompleksiteten af ​​mikroarkitekturen og forbedre energieffektiviteten. Men i praksis opnås dette ikke altid. En konsekvens af lange instruktioner er behovet for at have mange arkitektoniske registre. det er påkrævet at gemme et stort antal mellemresultater af beregninger, og som et resultat viser kernerne sig at være komplekse, på trods af at de ønskede at komme væk fra dette.

Samtidig har koden for VLIW en lav tæthed. På grund af det store antal tomme instruktioner til inaktive enheder, kan programmer til VLIW-processorer være meget længere end tilsvarende programmer til traditionelle arkitekturer.

VLIW-arkitekturen ser ret eksotisk og usædvanlig ud for en programmør. På grund af komplekse interne kodeafhængigheder er det ret vanskeligt at programmere manuelt på maskinkodeniveauet for VLIW-arkitekturer. Du er nødt til at stole på compiler-optimeringer.

Implementeringer

De første VLIW-processorer blev udviklet i slutningen af ​​1980'erne af Cydrome (1984-1988), MultiFlow (1984-1990) [3] , Culler . [fire]

I sin rene form har VLIW-arkitekturen TriMedia- processorer fra Philips og DSP C6000 -familien fra Texas Instruments .

Transmeta Crusoe - mikroprocessoren indeholder et binært kompatibilitetslag med x86 -arkitektur, der kompilerer instruktioner til processorens interne format ( code morphing ). Crusoe -kernen er en VLIW-processor. [5]

Intel Itanium - mikroprocessoren har et 64-bit eksplicit parallelt EPIC-processorinstruktionssæt , som er en variant af VLIW.

Elbrus-3 multiprocessor-computerkomplekset og Elbrus -seriens mikroprocessorer ( Elbrus 2000 , Elbrus S ) er VLIW-processorer. [6]

Nvidia har implementeret ARMv8-A-arkitekturen i sin egen kerne med Denver-mikroarkitekturen. Den bruger en kombination af en simpel hardware-ARM-kodedekoder og "Dynamic Code Optimization"-teknologi til at software-rekompilere ARM-kode til et internt instruktionssæt. Denver er en superskalær arkitektur med et bredt VLIW-instruktionsord og ingen in-order-kapacitet.

Processorer fremstillet af Tilera har også en VLIW-arkitektur. [7]

VLIW har også fået godt fodfæste på GPU -markedet , da AMD / ATI Radeon -videoprocessorer fra R600 til og med Nordøerne har en VLIW-arkitektur. [8] [9] Fra og med de sydlige øer (Q1 2012), bevægede AMD / ATI sig væk fra VLIW-tilgangen [10]

Qualcomms nuværende Qualcomm Snapdragon SoC'er designet til brug som CPU'er på telefoner og tablets indeholder Hexagon VLIW-arkitektur (QDSP6) co-processorer. Det kan køre lyd- og multimediebehandlingsalgoritmer såvel som en del af den digitale behandling af trådløse signaler. Hver cyklus kan sæt med 4 instruktioner startes til udførelse; hardware multithreading er understøttet (tidsmultipleksing, især i nogle versioner af arkitektur- revolverende typen ).

Elbrus 2000 og dens efterfølgende udviklinger er russiske mikroprocessorer med VLIW-arkitekturen, udviklet af MCST .

Se også

Noter

  1. Moderne højtydende computere Arkivkopi dateret 29. november 2014 på Wayback Machine V. Shnitman, informations- og analytiske materialer fra Center for Information Technology, 1996. Kapitel 7, afsnittet "Lang kommando Word Machine Architecture"
  2. En introduktion til Very-Long Instruction Word (VLIW) Computer Architecture Arkiveret 29. november 2014. // Philips Semiconductor
  3. AMiner - Open Science Platform>
  4. VLIW: Old New Generation Architecture Arkiveret 30. december 2009 på Wayback Machine // IXBT
  5. Transmeta Crusoe. Første kig . Hentet 23. marts 2012. Arkiveret fra originalen 22. marts 2012.
  6. http://ixbtlabs.com/articles2/vliw/ Arkiveret 26. april 2011 på Wayback Machine "Elbrus-3, ... det var et anstændigt trin i udviklingen af ​​VLIW."
  7. http://arstechnica.com/business/news/2010/06/tilera-launches-512-core-server-for-the-cloud.ars Arkiveret 10. juli 2011 på Wayback Machine "Tileras kerner implementerer en meget enkel VLIW design»
  8. Lev Dymchenko. Beregning på GPU'en. AMD/ATI Radeon-arkitekturfunktioner . ixbt.com. Dato for adgang: 12. februar 2011. Arkiveret fra originalen 16. marts 2012.
  9. Dmitry Vladimirovich. Oversigt over AMD Radeon HD 6870 videokort . overclockers.ru Hentet 12. februar 2011. Arkiveret fra originalen 29. januar 2012.
  10. AMD afslører detaljer om næste generations kernearkitektur - Fundamentals of Radeon HD 7900 grafikkort (utilgængeligt link) . http://www.ixbt.com/.+ Hentet 13. september 2017. Arkiveret fra originalen 5. februar 2012. 

Links