1 / 21

Pokročilé architektury počítačů (PAP_03)

Pokročilé architektury počítačů (PAP_03.ppt). Karel Vlček , karel.vlcek@vsb.cz katedra Informatiky, FEI VŠB Technická Univerzita Ostrava. Procesory s velmi dlouhým instrukčním slovem (VLIW). VLIW ( Very Long Instruction Word ) jsou podtřídou superskalárních procesorů

gretel
Download Presentation

Pokročilé architektury počítačů (PAP_03)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pokročilé architektury počítačů (PAP_03.ppt) Karel Vlček, karel.vlcek@vsb.cz katedra Informatiky, FEI VŠB Technická Univerzita Ostrava

  2. Procesory s velmi dlouhým instrukčním slovem (VLIW) • VLIW (Very Long Instruction Word) jsou podtřídou superskalárních procesorů • Motivací pro toto řešení architektury je zvýšení výkonnosti na úrovni instrukcí ILP (Instruction Level Parallelism) • Odpovědnost za výběr instrukcí, které mají být provedeny současně je pouze na kompilátoru Pokročilé architektury procesorů

  3. Plánování instrukcí • Superskalární procesory plánují a vydávají instrukce z malé množiny instrukcí za běhu, je plánování a vydávání instrukcí u VLIW procesorů zkoumáno při kompilaci mnohem více instrukcí, někdy i celý program • Poprvé byla použita VLIW architektura v roce 1975 u numerických koprocesorů FPS-120B Pokročilé architektury procesorů

  4. Generický procesor VLIW • Proti superskalárním procesorům je dekódování u VLIW procesorů velmi jednoduché, proto u nich chybí jednotka dekódování a vydávání instrukcí • Potřebné nejsou ani rezervační paměti a jednotky plánování, protože jsou důsledně plněny podmínky datové závislosti • Je to posun od složitého hardwarového řešení k použití inteligentního překladače Pokročilé architektury procesorů

  5. Datová závislost u VLIW procesorů • Architektura VLIW řeší problém datové závislosti použitím velkého počtu registrů, do nichž jsou ukládány mezikódy vytvářené kompilátorem • Kompilátor na základě analýzy latencí a počtu funkčních jednotek plánuje tok dat přes registry tak, aby byly dodrženy všechny pravé datové závislosti Pokročilé architektury procesorů

  6. Spekulativní zpracování instrukcí • Zohledňuje se tzv. programové řetězení (software pipelining) • Spekulativní zpracování instrukcí existuje i u superskalárních procesorů i u procesorů VLIW • Procesory VLIW přitom používají informace z analýzy profilace a plánování kompilátorem • Pro skokové instrukce je používána predikce Pokročilé architektury procesorů

  7. Plánování instrukcí kompilátorem • Není možné připravovat program ručně • Program je připravován kompilací do mezijazyka, po jeho optimalizaci je generován kód pro cílovou architekturu VLIW • Metodou vytváření tzv. základních bloků (basic blocks) se program vytváří jako pospojování částí programu, které nemají skoky Pokročilé architektury procesorů

  8. Acyklické plánování a predikce • Program v mezijazyce používá operace s registry a operace L/S (Load/Store) • Acyklické plánování pracuje se seznamem základních bloků a s tzv. acyklickým grafem • Plánování se zarážkami (sentinel scheduling) je technika, která usnadňuje acyklické plánování při spekulativním provádění instrukcí Pokročilé architektury procesorů

  9. Predikační provádění instrukcí • Technika tzv. predikačního provádění (predicated execution) instrukcí velmi usnadňuje plánování operací • Predikáty (predicates) jsou jednobitové registry, které určují zda budou výsledky propuštěny nebo zahozeny • Tato technika vyžaduje odporu v hardware Pokročilé architektury procesorů

  10. Predikace a podmíněné skoky • Predikace napomáhá snaze programátora, aby navržený program byl co nejvíce lineární • Při použití techniky predikace se výsledný program formátuje do tzv. hyperbloků (hyper-block formation) • Instrukce pak mohou být jednoduše přesouvány v rámci hyperbloků Pokročilé architektury procesorů

  11. Cyklické plánování (1) • Vysokého paralelismu zpracování se dosahuje u implementace programů smyček pomocí tzv. cyklického plánování • Takové seřazení instrukcí se označuje jako programové zřetězení (software pipelining) • Naplánování smyčky je možné při předem známém počtu iterací a absencí dalších skoků v těle smyčky Pokročilé architektury procesorů

  12. Cyklické plánování (2) • Závislost mezi iteracemi smyčky (loop-carried dependency) se dá odstranit použitím dalších registrů nebo podporou v hardware • Podpora v hardware se děje pomocí tzv. rotujících registrů (rotating registers) • Programové řetězení není omezeno jen na architekturu VLIW, je možné i pomocí tzv. přejmenování registrů Pokročilé architektury procesorů

  13. Zhodnocení architektury VLIW • Důležitý je přínos optimalizujícího kompilátoru, který při analýze vyhodnotí instrukční paralelismus • Plánovací algoritmus bere v úvahu latence menší nebo rovné určité hodnotě času • Největším přínosem je zvýšení využití ILP (Instruction Level Parallelism) • Využívají paralelismu i v nepravidelně strukturovaném programu Pokročilé architektury procesorů

  14. Nové architektury VLIW • INTEL IA-64: 128 registrů, 64 predikátů, 8 branch registers, architektura EPIC (Explicitly Parallel Instruction Computing) • DSP TMS 320C67x: signálový procesor s pohyblivou řádovou čárkou, adresová aritmetická jednotka, násobička FX i FP, dvě jednotky pro aritmetické a logické operace • Multimediální procesory (viz speciální část) Pokročilé architektury procesorů

  15. Vektorové procesory • Cílem je zrychlit práci s vektory a maticemi • Využití u vědeckotechnických výpočtů zpracovávané smyčkou přes všechny prvky vektorů • Jsou obdobou architektury L/S (Load/Store) • Typické je zřetězení přístupů do tzv. prokládané paměti (inteleaved memory) Pokročilé architektury procesorů

  16. Základní rysy architektury vektorového procesoru (1) • Vektorové instrukce jsou ekvivalentní plně rozvinuté skalární smyčce • Prokládaná paměť místo paměti D-cache • Soubor registrů u nichž je délka přizpůsobována délce zpracovávaných vektorů • Počet načítaných instrukcí je výrazně menší • Latence hlavní paměti je pouze na začátku Pokročilé architektury procesorů

  17. Základní rysy architektury vektorového procesoru (2) • Výpočet každého prvku je nezávislý na jiných prvcích (nezpůsobuje datové konflikty) • Řídicí konflikty nevznikají • Vektorové funkční jednotky provádějí aritmetické a logické operace (+, -, x, posuv) • Několik vektorových operací může probíhat současně • Spolupracují zpravidla se skalárními procesory Pokročilé architektury procesorů

  18. Zpracování vektorových instrukcí • Operace mezi dvěma vektory • Operace mezi vektorem a skalárem • Přesuny mezi registry a pamětí (L/S) • Shrnutí nenulových prvků • Rozptýlení nenulových prvků • Instrukce maskování • Redukce jednoho nebo dvou vektorů na skalár Pokročilé architektury procesorů

  19. Doba provádění instrukcí vektorových procesorů • Operace zpracovávají jeden operand v každém taktu • Konvoje zpracování se nepřekrývají • Při datové závislosti se data předávají • Počáteční latence: L/S 12 taktů, sčítačka 6 taktů, násobička 7 taktů, dělička 20 taktů • Zpracování probíhá postupně „po proužcích“ (strip-mining technique) Pokročilé architektury procesorů

  20. Výkonnost vektorových procesorů • Výkonnost procesorů u vektorových výpočtů FP je dána počtem taktů potřebných na výpočet výsledného vektoru délky n: R = lim((FPP*n)/(T(a)*doba_taktu) • Skutečná výkonnost je vždy menší než limitní hodnota R Pokročilé architektury procesorů

  21. Literatura: • Dvořák, V.: Architektura a programování paralelních systémů, VUTIUM Brno, (2004), ISBN 80-214-2608-X • Dvořák, V., Drábek, V.: Architektura procesorů, VUTIUM Brno, (1999), ISBN 80-214-1458-8 • Drábek, V.: Výstavba počítačů, PC-DIR, s.r.o. Brno, (1995), ISBN 80-214-0691-7 • Mueller, S.: Osobní počítač, Computer Press, Praha, (2001), ISBN 80-7226-470-2 • Pluháček, A.: Projektování logiky počítačů, Vydavatelství ČVUT Praha, (2003), ISBN 80-01-02145-9 Pokročilé architektury procesorů

More Related