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

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

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

Podobné prezentace


Prezentace na téma: "Pokročilé architektury počítačů (PAP_01.ppt) Karel Vlček, katedra Informatiky, FEI VŠB Technická Univerzita Ostrava."— Transkript prezentace:

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

2 Karel VlčekPokročilé architektury procesorů 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

3 Karel VlčekPokroč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)

4 Karel VlčekPokroč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)

5 Karel VlčekPokroč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í

6 Karel VlčekPokroč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

7 Karel VlčekPokroč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

8 Karel VlčekPokroč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

9 Karel VlčekPokročilé architektury procesorů 9 Přehled procesorů INTEL rok modelf [MHz]data adresapočet transistorů DX Pentium66, PentiumPro PentiumII PentiumIII Merced

10 Karel VlčekPokroč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)

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

12 Karel VlčekPokroč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ěť

13 Karel VlčekPokročilé architektury procesorů 13 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.

14 Karel VlčekPokročilé architektury procesorů 14 Doba provádění instrukcí T c Doba provedení programu (čas provedení N instrukcí je dána vztahem T c = 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

15 Karel VlčekPokroč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ů

16 Karel VlčekPokroč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)

17 Karel VlčekPokroč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ěť

18 Karel VlčekPokročilé architektury procesorů 18 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í

19 Karel VlčekPokročilé architektury procesorů 19 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í

20 Karel VlčekPokroč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)

21 Karel VlčekPokroč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í

22 Karel VlčekPokročilé architektury procesorů 22 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

23 Karel VlčekPokročilé architektury procesorů 23 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)

24 Karel VlčekPokroč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í

25 Karel VlčekPokroč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 1 S 1 S 2 S 3 S 4 i 2 S 1 S 2 S 3 S 4 i 3 S 1 S 2 S 3 S 4

26 Karel VlčekPokročilé architektury procesorů 26 Zřetězené zpracování (1) Zřetězené zpracování je zobrazeno tabulkou s deseti kroky Čas i 1 S 1 S 2 S 3 S 4 i 2 S 1 S 2 S 3 S 4 - i 3 S 1 S 2 x S 3 S 4 i 4 S 1 x S 2 S 3 S 4 i 5 x S 1 S 2 S 3 S 4 i 6 S 1 S 2 S 3 S 4

27 Karel VlčekPokroč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

28 Karel VlčekPokroč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

29 Karel VlčekPokroč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

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

31 Karel VlčekPokroč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

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

33 Karel VlčekPokročilé architektury procesorů 33 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

34 Karel VlčekPokročilé architektury procesorů 34 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

35 Karel VlčekPokroč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)

36 Karel VlčekPokroč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

37 Karel VlčekPokroč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)

38 Karel VlčekPokroč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)

39 Karel VlčekPokročilé architektury procesorů 39 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

40 Karel VlčekPokroč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)

41 Karel VlčekPokročilé architektury procesorů 41 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ů

42 Karel VlčekPokročilé architektury procesorů 42 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


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

Podobné prezentace


Reklamy Google