Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Pokročilé architektury počítačů (PAP_01.ppt)

Podobné prezentace


Prezentace na téma: "Pokročilé architektury počítačů (PAP_01.ppt)"— Transkript prezentace:

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

2 Kategorizace architektur počítačů
Co předmět architektury počítačů popisuje: (CPU = ALU + řadič + paměť + Vstupy/Výstupy) Subskalární architektura (von Neumannova) Skalární architektura Superskalární architektura statická (VLIW) Superskalární architektura dynamická Přehled architektur fy INTEL Karel Vlček Pokročilé architektury procesorů

3 Metody popisu architektur
Úroveň abstrakce popisu (behavioristický popis, funkční popis, popis struktury) Modelování a simulace procesorů (model programovací, model technický) Implementace procesorů (modelování logické a fyzické struktury, vliv integrace a členění architektur a jejich částí na výpočetní výkon) Karel Vlček Pokročilé architektury procesorů

4 Základní funkční jednotky počítače
Aritmetická a logická jednotka (ALU) Řadič (konečný automat pro řízení činnosti) Paměť (úrovně pamětí a jejich rychlost) Vstupy a výstupy (adresování, způsoby representace informace, podpora formátování dat) Karel Vlček Pokročilé architektury procesorů

5 Subskalární procesory
Vyznačují se společnou pamětí pro instrukce a data, kterou poprvé použil J. von Neumann Doba provádění jednotlivých instrukcí je dána součtem času pro načtení (catch), dekódování a provedení (execution) instrukce Doba provádění programu je dána prostým aritmetickým součtem časů trvání jednotlivých instrukcí Karel Vlček Pokročilé architektury procesorů

6 Skalární architektura
V jednom instrukčním taktu je načtena a dekódování jen jedna instrukce Provádění instrukcí probíhá v časovém překrývání nebo paralelně (například operace v pevné a pohyblivé řádové čárce) Trvání programu je delší, než součet dob provádění instrukcí, protože v některých taktech nemůže být načtena instrukce Karel Vlček Pokročilé architektury procesorů

7 Superskalární statická architektura
Zvýšení výpočetního výkonu bylo dosaženo zřetězením výpočetních jednotek (provádění instrukcí je tedy více překryto) Pro zvýšení výkonu bylo nutné dosáhnout paralelního načítání instrukcí: tato architektura je nazývána superskalární Řešení přineslo zvětšení délky slova dekódované instrukce označované VLIW Karel Vlček Pokročilé architektury procesorů

8 Superskalární dynamická architektura
Princip je zajištěn plánováním několika instrukcí současně Při instrukcích skoku jsou některé výsledky provádění ztraceny, protože načtení muselo předcházet provádění instrukcí Týká se to zejména přístupu do operační paměti při čtení nebo ukládání dat Karel Vlček Pokročilé architektury procesorů

9 Přehled procesorů INTEL
rok model f [MHz] data adresa počet transistorů DX 1993 Pentium 66, 1995 Pentium Pro 1997 Pentium II 1999 Pentium III 2000 Merced Karel Vlček Pokročilé architektury procesorů

10 Agenda: Principy architektury procesorů
CISC versus RISC Překrývání catch – execution a MMU CISC a mikroprogramové řízení Základní vlastnosti RISC RISC architektura a její vnitřní vztahy RISC s architekturou L/S (Load/Store) Karel Vlček Pokročilé architektury procesorů

11 Pokročilé architektury procesorů
CISC versus RISC Od roku 1975 spolu soupeří dvě koncepce architektur CISC (Complex Instruction Set Computer) RISC (Reduced Instruction Set Computer) Karel Vlček Pokročilé architektury procesorů

12 CISC se společnou pamětí Cache
CISC procesor s mikroprogramovým řízením řadič CPU ROM mikroinstr. Cache Hlavní paměť Karel Vlček Pokročilé architektury procesorů

13 Pokročilé architektury procesorů
CISC s překrýváním Procesory CISC začaly používat překrývání provádění a načítání následující instrukce Po dobu 95% času je zpracováváno asi jen 25% instrukcí z celkového sortimentu Procesory měly příliš složitý řadič, který zabíral, protože byl řešen hardwarově, příliš velkou plochu na čipu. Karel Vlček Pokročilé architektury procesorů

14 Doba provádění instrukcí Tc
Doba provedení programu (čas provedení N instrukcí je dána vztahem Tc = T.N.CPI, kde N je celkový počet vykonaných instrukcí a CPI (Clock por Instruction) je průměrný počet vykonávaných cyklů potřebných k vykonání instrukce Karel Vlček Pokročilé architektury procesorů

15 Základní rysy RISC procesorů (1)
Malý počet relativně jednoduchých instrukcí V jednom taktu je vykonány jedna instrukce Řadič s pevně propojenou logickou sítí hradel Operace dat pouze nad registry zápisníkové paměti Velký počet programově dostupných registrů Karel Vlček Pokročilé architektury procesorů

16 Základní rysy RISC procesorů (2)
Tyto změny vyvolaly nutnost optimalizace programu pomocí optimalizujícího kompilátoru Adresaci až 192 registrů při čtení operandů a ukládání výsledku operace Přístup do paměti pouze instrukcí přesunů, proto se označují instrukce jako L/S instrukce (Load/Save Instructions) Karel Vlček Pokročilé architektury procesorů

17 RISC s pevně propojeným řadičem
Funkce oddělených Cache pro instrukce a data P. P. řadič CPU I - Cache D - Cache Hlavní paměť Karel Vlček Pokročilé architektury procesorů

18 Pokročilé architektury procesorů
Další vývoj RISC (1) Pro rychlou činnost není důležitý počet instrukcí, ale jejich provádění v jednom instrukčním cyklu Optimalizující překladač má tak k dispozici větší možnosti optimalizace Dosahuje se tím možnost optimalizace programu mnohem snadněji, než volbou složitých instrukcí Karel Vlček Pokročilé architektury procesorů

19 Pokročilé architektury procesorů
Další vývoj RISC (2) Další vývoj směřoval ke zvýšení efektivity práce procesoru s pamětí CPU byla doplněna o jednotku správy paměti MMU (Memory Management Unit) Připojen byl také numerický koprocesor pro zpracování dat v pohyblivé řádové čárce Zdokonaleny byly i operace pro obsluhu bran periferních zařízení Karel Vlček Pokročilé architektury procesorů

20 Současný stav vývoje RISC
RISC jsou již standardně řešeny jako L/S architektura (Load/Store) RISC jsou schopny vydávat několik instrukcí v jednom instrukčním cyklu (superskalární technika) Karel Vlček Pokročilé architektury procesorů

21 Agenda: Zřetězené zpracování
Typy zřetězení (ALU instrukce, prokládání paměti, housenkové směrování, transakce) Nezřetězené zpracování Zřetězené zpracování Synchronní a asynchronní implementace Optimalizace počtu stupňů Superzřetězení Karel Vlček Pokročilé architektury procesorů

22 Pokročilé architektury procesorů
Zřetězené zpracování Zřetězení je založeno na rozpracování několika instrukcí v souběžném režimu a jejich průběžném dokončování Dosáhne se tím zvýšení výkonu procesoru podobně jako například při výrobě na montážní lince automobilů Při instrukcích skoků se snižuje účinnost zvyšování výkonu Karel Vlček Pokročilé architektury procesorů

23 Pokročilé architektury procesorů
Typy zřetězení Zřetězení lze uplatnit při řízení provádění instrukcí nebo mikroinstrukcí Při realizaci aritmetických instrukcí Při přístupu do paměti (Interleaved Memory) Při zasílaní zpráv (Wormhole Routing) Při provozu na sdílené sběrnici s rozdělenými transakcemi (Split-Transaction Bus) Karel Vlček Pokročilé architektury procesorů

24 Předpoklady pro účinné zřetězení
Nepřetržitý přísun údajů, nad nimiž je prováděna stejná operace Rozdělení do nezávislých kroků Přibližně stejné trvání kroků činnosti prováděné při dílčích krocích zřetězení Karel Vlček Pokročilé architektury procesorů

25 Nezřetězené zpracování
Nezřetězené zpracování je zobrazeno tabulkou s dvanácti kroky provádění tří instrukcí Čas i S1 S2 S3 S4 i S1 S2 S3 S4 i S1 S2 S3 S4 Karel Vlček Pokročilé architektury procesorů

26 Zřetězené zpracování (1)
Zřetězené zpracování je zobrazeno tabulkou s deseti kroky Čas i S1 S2 S3 S4 i S1 S2 S3 S4 - i S1 S2 x S3 S4 i S1 x S2 S3 S4 i x S1 S2 S3 S4 i S1 S2 S3 S4 Karel Vlček Pokročilé architektury procesorů

27 Zřetězené zpracování (2)
V předchozím diagramu jsou pomlčkou vyznačeny situace, kdy je počítač bez práce pomlčkou „-“ Čekání na mezivýsledek je zobrazeno smbolem „x“ Počet stupňů je označován hloubka řezu Doba průchodu všemi stupni je tzv. latence řetězu Karel Vlček Pokročilé architektury procesorů

28 Minipočítače a střediskové počítače a mikropočítače
Technika zřetězení byla ověřena již na konci šedesátých let v jednotkách s plovoucí řádovou čárkou na IBM 360/91 (1967) U mikropočítačů byla technika zřetězení poprvé použita v procesorech CISC v roce 1985 Karel Vlček Pokročilé architektury procesorů

29 Technické řešení zřetězení
Řešení je možné dvojího provedení: Synchronní je řízeno zdrojem synchronizace. Při realizaci se střídá logická síť realizující výkonné jednotky se „záchytnými“ registry Asynchronní dosahuje maximální rychlosti. Při návrhu jednotky je kritickou hodnotou při návrhu zpracování dat zpoždění signálů v logické síti Karel Vlček Pokročilé architektury procesorů

30 Technické řešení zřetězení (2)
Synchronní linka se zřetězením FF S1 Sk Hodiny f MHz Karel Vlček Pokročilé architektury procesorů

31 Optimalizace počtu stupňů
Při návrhu architektury je nutné mít na paměti, že průměrně každá desátá instrukce je skok Mezi zvýšením rychlosti a ceny existuje optimální řešení Počet stupňů linky nelze libovolně zvyšovat Karel Vlček Pokročilé architektury procesorů

32 Pokročilé architektury procesorů
Ukazatel zrychlení S Zrychlení S definujeme jako poměr délky sekvenčního zpracování Tl=N.k.τ a zkrácené délky zřetězeného zpracování N vstupních položek Tk=(k+N-1).(τ+td). Nedochází-li k zastavování linky je poměr: Sk=Tl/Tk= N.k.τ /(k+N-1).(τ+td) Karel Vlček Pokročilé architektury procesorů

33 Pokročilé architektury procesorů
Superzřetězení Využije-li se během taktu signálu ze zdroje synchronizace každé hradlo zhruba jednou, jedná se o techniku tzv. superzřetězení Účinnost superzřetězení je tedy závislá na použité technologii Karel Vlček Pokročilé architektury procesorů

34 Pokročilé architektury procesorů
Agenda: Linky Výkonnost nezřetězených procesorů Uspořádání zřetězené linky Typ RISC Konflikty RAW, WAR a WAW Předávání údajů u konfliktů Výpočet adresy u skoku Příklady Karel Vlček Pokročilé architektury procesorů

35 Výkonnost nezřetězených procesorů
Sekvenční provádění instrukcí: doba provádění programu je dána součtem dob trvání instrukcí Výkonnost nezřetězených procesorů P je tak dána opakovací periodou signálu ze zdroje synchronizace (periodou hodin) Karel Vlček Pokročilé architektury procesorů

36 Uspořádání zřetězené linky (1)
Architektura pro zřetězené zpracování instrukcí v lince umožňuje překrytí doby načtení a doby provádění instrukcí K určení výkonnosti potřebujeme tři údaje: Periodu signálu zdroje synchronizace Latenci instrukcí (operací) a Iniciační intervaly Karel Vlček Pokročilé architektury procesorů

37 Uspořádání zřetězené linky (2)
Nejstarší typ linky pro zřetězené zpracování používal pouze 2 stupně: instrukční jednotku a prováděcí jednotku Soudobé linky obsahují 5 až 12 stupňů Rozlišují se čtyři hlavní podmnožiny instrukcí: 1. aritmetické a logické s pevnou čárkou (FX), 2. operace s pohyblivou řádovou čárkou (FP), 3. skoky (B, Branching) a 4. čtení a ukládáni dat (L/S, Load/Store) Karel Vlček Pokročilé architektury procesorů

38 Tradiční procesory RISC
Činnosti zřetězení u RISC procesorů: IF (Instruction Fetch) ID (Instruction Decode) a RO (Read Operands) EX (Execute) a WB (Write Back) CA (Cache Access) AG (Address Generation) E/C (Execute/Cache Access) Karel Vlček Pokročilé architektury procesorů

39 Pokročilé architektury procesorů
Konflikty RAW, WAR a WAW Tři druhy datových závislostí: RAW (Read After Write) čtení po zápisu WAR (Write After Read) zápis po čtení WAW (Write After Write) zápis po zápisu Závislost RAR (Read After Read) ke konfliktu nikdy nevede Karel Vlček Pokročilé architektury procesorů

40 Předávání údajů u konfliktů
RAW - předávání dat (forwarding, bypassing) jinak nazývané postupová závislost nebo pravá závislost (true dependence) WAR - Protiproud (anti-dependence). Tato sekvence může dávat výsledky v jiném pořadí, než uvádí program Skoky představují tzv. řídicí závislost (control dependence) Karel Vlček Pokročilé architektury procesorů

41 Pokročilé architektury procesorů
Výpočet adresy u skoku Pro výpočet adresy skoku je výhodné použít samostatnou aritmetickou jednotku. Tento výpočet je prováděn již ve fázi ID a pak lze přes multiplexor uložit novou adresu přímo do programového čítače Snížit tuto nevýhodu je možné také použitím dynamické předpovědi skoků. To je nezbytné u superskalárních procesorů Karel Vlček Pokročilé architektury procesorů

42 Pokročilé architektury procesorů
Literatura: Dvořák, V.: Architektura a programování paralelních systémů, VUTIUM Brno, (2004), ISBN X Dvořák, V., Drábek, V.: Architektura procesorů, VUTIUM Brno, (1999), ISBN Drábek, V.: Výstavba počítačů, PC-DIR, s.r.o. Brno, (1995), ISBN Mueller, S.: Osobní počítač, Computer Press, Praha, (2001), ISBN Pluháček, A.: Projektování logiky počítačů, Vydavatelství ČVUT Praha, (2003), ISBN Karel Vlček Pokročilé architektury procesorů


Stáhnout ppt "Pokročilé architektury počítačů (PAP_01.ppt)"

Podobné prezentace


Reklamy Google