CHARAKTERISTIKA MODERNÍCH PENTIÍ. Flynnova klasifikace paralelních systémů

Podobné dokumenty
Charakteristika dalších verzí procesorů Pentium

Charakteristika dalších verzí procesorů v PC

Procesor Intel Pentium (1) Procesor Intel Pentium (3) Procesor Intel Pentium Pro (1) Procesor Intel Pentium (2)

Intel (2) Intel (1) Intel (3) Intel (4) Intel (6) Intel (5) Nezřetězené zpracování instrukcí:

Architektury CISC a RISC, uplatnění v personálních počítačích

OPS Paralelní systémy, seznam pojmů, klasifikace

Procesor. Procesor FPU ALU. Řadič mikrokód

Architektura Intel Atom

Další aspekty architektur CISC a RISC Aktuálnost obsahu registru

CHARAKTERISTIKA PROCESORU PENTIUM První verze:

CISC A RISC PROCESORY Jak pracují procesory CISC:

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Cache paměť - mezipaměť

Úvod do architektur personálních počítačů

Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/

Architektura procesorů PC shrnutí pojmů

Přehled paralelních architektur. Dělení paralelních architektur Flynnova taxonomie Komunikační modely paralelních architektur

Základy informatiky. 2. Přednáška HW. Lenka Carr Motyčková. February 22, 2011 Základy informatiky 2

PROCESOR. Typy procesorů

Architektury počítačů a procesorů

Základní deska (1) Parametry procesoru (2) Parametry procesoru (1) Označována také jako mainboard, motherboard

Architektura Pentia 1

Pohled do nitra mikroprocesoru Josef Horálek

Kubatova Y36SAP procesor - control unit obvodový a mikroprogramový řadič RISC Y36SAP-control unit 1

Architektura Pentia úvod

ARCHITEKTURA PROCESORŮ

Architektury CISC a RISC, uplatnění rysů architektur RISC v personálních počítačích - pokračování

MIKROPROCESOR. (c) Ing. Josef Varačka. Title: XI 28 11:40 (1 of 8)

Vývoj architektur PC 1

Architektury CISC a RISC, uplatnění v personálních počítačích - pokračování

Úvod do problematiky návrhu počítačových systémů. INP 2008 FIT VUT v Brně

Představení a vývoj architektur vektorových procesorů

Výstavba PC. Vývoj trhu osobních počítačů

Obsluha periferních operací, přerušení a jeho obsluha, vybavení systémových sběrnic

Paralelní systémy. SIMD jeden tok instrukcí + více toků dat jedním programem je zpracováváno více různých souborů dat

Úvod do architektur personálních počítačů

Architektury CISC a RISC, uplatnění rysů architektur RISC v personálních počítačích - pokračování

ARCHITEKTURA PROCESORŮ

Jan Nekvapil ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická

Základní deska (1) Označována také jako mainboard, motherboard. Deska plošného spoje tvořící základ celého počítače Zpravidla obsahuje:

Principy komunikace s adaptéry periferních zařízení (PZ)

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

Semestrální práce z předmětu Speciální číslicové systémy X31SCS

Technické prostředky počítačové techniky

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Paměťový podsystém počítače

Architektura počítače

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/

Profilová část maturitní zkoušky 2015/2016

2.8 Procesory. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu

Činnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus

Profilová část maturitní zkoušky 2014/2015

Pojem architektura je převzat z jiného oboru lidské činnosti, než počítače.

Struktura počítačů z{kladní pojmy

Intel Procesor a jeho konstrukce. Vývojové typy, činnost procesoru

PŘEDSTAVENÍ GRAFICKÉHO PROCESORU NVIDIA G200

Intel Itanium. Referát. Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky

Mikrokontroléry. Doplňující text pro POS K. D. 2001

Úvod SISD. Sekvenční výpočty SIMD MIMD

Principy činnosti sběrnic

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 TECHNICKÉ VYBAVENÍ POČÍTAČŮ

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Strojový kód k d a asembler procesoru MIPS SPIM. MIPS - prostředí NMS NMS. 32 ks 32bitových registrů ( adresa registru = 5 bitů).

Systém adresace paměti

Struktura a architektura počítačů (BI-SAP) 11

Hardware - komponenty počítačů Von Neumannova koncepce počítače. Von Neumannova koncepce počítače

Roman Výtisk, VYT027

Základní principy konstrukce systémové sběrnice - shrnutí. Shrnout základní principy konstrukce a fungování systémových sběrnic.

Jak do počítače. aneb. Co je vlastně uvnitř

Pokročilé architektury počítačů

Paralelní programování

Architektura počítačů

RISC a CISC architektura

AGP - Accelerated Graphics Port

Mezipaměti počítače. L2 cache. L3 cache

Pokročilé architektury počítačů

Struktura a architektura počítačů (BI-SAP) 10

Paměti cache. Cache může být realizována softwarově nebo hardwarově.

PROCESOR. Rozdělení procesorů

Procesor z pohledu programátora

Architektura Intel Nehalem

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

ORGANIZAČNÍ A VÝPOČETNÍ TECHNIKA

Architektura procesoru ARM

V 70. letech výzkumy četnosti výskytu instrukcí ukázaly, že programátoři a

Vícejádrový procesor. Dvě nebo více nezávislých jader Pro plné využití. podporovat multihreading

Přednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010

Sbě b r ě n r i n ce

Řízení IO přenosů DMA řadičem

PRINCIPY POČÍTAČŮ Metodický list číslo 1

Techniky zvýšení výkonnosti procesoru, RISC a CISC procesory

Historie mikroprocesorů. R.1971 Intel 4004 původně jako čip pro kalkulačky I8008, i8080, i8086/88,

Periferní operace využívající přerušení

Operační systémy. Přednáška 1: Úvod

Rychlá vyrovnávací paměť v architektuře PC

Základní uspořádání pamětí MCU

Transkript:

Úvod: CHARAKTERISTIKA MODERNÍCH PENTIÍ Flynnova klasifikace paralelních systémů Paralelní systémy lze třídit z hlediska počtu toků instrukcí a počtu toků dat: SI systém s jedním tokem instrukcí (Single Instruction stream) MI systém s několika toky instrukcí (Multiple Instruction stream) SD systém s jedním tokem dat (Single Data stream) MD systém s několikanásobným tokem dat (Multiple Data stream) Použití těchto dvou hledisek vede ke vzniku čtyř základních typů počítačů označovaných zkratkami SISD, SIMD, MISD a MIMD. SISD, SIMD klasický jednoprocesorový počítač von Neumannova typu zpracovávající data sériově. SIMD (Single Instruction stream, Multiple Data stream) pole procesorů zpracovávající 1

paralelně pole hodnot podle společného programu. MIMD (Multiple Instruction stream, Multiple Data stream) multiprocesorový systém, v němž každý procesor je řízen samostatným programem a pracuje s jinými daty než ostatní procesory. MISD soustava procesorů pracujících podle různých programů na společných datech (označováno jako enfant terrible této klasifikace) v praxi neobsazená alternativa. Uplatnění SIMD na úrovni instrukcí Typický rys multimediálních aplikací paralelně prováděné operace na stejných datech. Strategie SIMD uplatněná na úrovni instrukcí jeden tok instrukcí na jednom procesoru, instrukce operuje na násobných ale shodných datech. Příklad: technologie MMX, která operuje paralelně s násobnými daty ve zkomprimované formě uloženými v 8/16 bitovém registru. 2

Klíčové znaky moderních procesorů Pentium 1. Podpora Streaming SIMD Extensions 2 (SSE2). 2. Intel Netburst micro-architecture. 3. Implementace vlastností architektury Intel Netburst micro-architecture do procesoru Pentium. Vývoj technologie SIMD na úrovni instrukcí SIMD Single Instruction Multiple Data, jeden typ instrukce se provádí na více datech. Typická operace SIMD obr. 1. - Dvě skupiny operandů, každá obsahuje 4 zkomprimované datové prvky (X1, X2, X3, X4 a Y1, Y2, Y3, Y4). 3

Obr. 1 Operace typu SIMD - Takto to bylo u technologie MMX. - Technologie MMX umožňovala realizovat operace SIMD na zkomprimovaných slabikách, slovech, dvouslovech (vše celá čísla) uložených v osmi 64 bitových registrech. - Specielní instrukce byly šity na míru pro multimediální a komunikační aplikace. 4

Registry MMX, 64 bitů MM7 MM6 MM5 MM4 MM3 MM2 MM1 MM0 Registry XMM, 128 bitů XMM7 XMM6 XMM5 XMM4 XMM3 XMM2 XMM1 XMM0 Pentium III model SIMD byl změněn na Streaming SIMD Extensions (SSE). Rozdíl oproti klasickému SIMD: - Operace se provádějí na operandech obsahujících čtyři komprimovaná čísla v pohyblivé řádové čárce. - Operandy jsou uloženy buď v paměti nebo v osmi 128 bitových registrech (registry XMM). - Specielní množina instrukcí vytvořená pro procesory MMX byla rozšířena o dalších 64 instrukcí. 5

Pentium 4 byl použit model Streaming SIMD Extensions 2 (SSE2) s těmito vlastnostmi: - Operace se provádějí na těchto operandech: dvě čísla v pohyblivé řádové čárce, dvojnásobná přesnost, 16 zkomprimovaných slabik, 8 zkomprimovaných slov, 4 zkomprimovaná dvouslova, 2 zkomprimovaná čtyřslova (čtyři poslední alternativy čísla typu integer). - Operandy mohou být v paměti nebo registrech. - Podpora aritmetiky SIMD pro práci se 64 bitovými operandy typu integer. - Instrukce pro konverzi mezi datovými typy (původními a novými). Trend: SIMD na úrovni instrukcí, rozšiřování množiny datových typů. 6

V čem spočívá implementace vlastností Netburst micro-architecture v Pentiu 4 A. Rychlé vyrovnávací paměti integrované do čipu (on-chip cache) Na rozdíl od dřívějších typů to není pouze klasická rychlá vyrovnávací paměť L1, ale: - rychlá vyrovnávací paměť L1 pro data kapacity 8 kb, - rychlá vyrovnávací paměť typu Execution Trace Cache kapacity 12K µop, - rychlá vyrovnávací paměť L2, 8 way, kapacity 256 kb typu Advanced Transfer Cache. Pojem Advanced Transfer Cache vyrovnávací paměť L2 (integrována do čipu procesoru), pracuje na stejném kmitočtu jako procesor). Trend: výrazná snaha o rozšíření pojmu rychlá vyrovnávací paměť a hledání nových možností uplatnění v architektuře PC. 7

B. Rychlost komunikace procesoru s okolím Pentium III komunikovalo s okolím na frekvenci 100/133 MHz, Pentium 4 má komunikaci s okolím synchronizovánu kmitočtem 800 MHz. Trend: zvyšování rychlosti komunikace procesoru s okolím. Další vlastnosti Intel NetBurst Micro- Architecture Hyperskalární (zřetězení instrukcí více jak 10 jednotek) a superskalární architektura (dvě fronty). Dokonalé uplatnění principů zřetězení, přičemž různé komponenty jsou synchronizovány různými frekvencemi, některé vyššími, některé nižšími frekvencemi než je frekvence procesoru. Synchronizace procesoru frekvencí vyšší než 3 Ghz (stav v r. 2003). Zvyšování kmitočtu procesoru výrazná snaha o zvýšení počtu jednotek (kvůli zvyšování kmitočtu je to nutnost). 8

Komunikace s okolím 800 Mhz (systémová sběrnice). Provádění instrukcí mimo pořadí. Konstrukce obvodů tak, aby se nejčastěji prováděné instrukce realizovaly rychleji. Funkce Front End Sestává ze dvou bloků: - Fetch/Decode - Execution Trace Cache 9

Front End má tuto funkci: - čtení instrukcí, jejich dekódování a náhrada posloupnostmi mikrooperací (Intel rozlišuje tyto typy instrukcí: instruction, complex instruction, special purpose instruction). - přenos dříve dekódovaných instrukcí z Execution Trace Cache, - predikci výsledků instrukcí skoku Architektura moderních mikroprocesorů fy Intel usiluje o originální řešení problémů různých zpoždění, k nimž dochází při provádění instrukcí. Mezi tato zpoždění patří, např.: - doba potřebná na dekódování instrukcí - doba potřebná na řešení problémů větvení programu (různé typy skoků). Redukce doby potřebné na dekódování instrukcí využití Execution Trace Cache. Princip: - Instrukce jsou rozdekódovány (Translation Engine) do posloupnosti mikrooperací (µop). - Instrukce jsou reflektovány posloupností mikrooperací tyto posloupnosti se nazývají traces (kopie, obrazy) a jsou uloženy do Execution Trace Cache. 10

- Posloupnosti mikrooperací jsou uloženy tak, jak odpovídá toku programu. - Instrukce skoku - v Execution Trace Cache jsou k těmto mikrooperacím uloženy do stejných řádků výsledky těchto skoků => zvyšuje se pravděpodobnost správné predikce (tvrdí fa Intel), zvyšuje se podíl kódu prováděného z Execution Trace Cache. - Na předvídání výsledku skoku se podílejí Execution Trace Cache a Translation Engine. - Díky tomu, že jsou cílové adresy uloženy v Execution Trace Cache, mohou se po předpovězení výsledku brát mikroinstrukce z Execution Trace Cache (pokud tam je tato část programu zavedena, jinak se musí část programu, kde se bude pokračovat, zavést z paměti nemusí to pochopitelně být operační paměť). Pentium 4 Execution Trace Cache může uchovat až 12K µoperací. Procesor Pentium 4 je optimalizován tak, že nejčastěji prováděné instrukce jsou realizovány z Execution Trace Cache, pouze malé množství instrukcí se provádí z paměti mikroprogramů (microcode ROM). 11

Jinak řečeno: většina instrukcí má svou reprezentaci uloženou v Execution Trace Cache, pouze pro malou část je využívána paměť mikroprogramů. Trend: zkrátit čas potřebný k zajištění přístupu k mikroprogramům. Jednotka Out-of-Order Core Jednotka Out-of-Order Core umí přeuspořádat provádění instrukcí tak, aby neutrpěla logika programu. Princip: pokud nemůže být některá µop provedena, protože nemá k dispozici data, provede se jiná µop => tímto způsobem je možné odstranit možná zpoždění, která vzniknou v důsledku nedostupnosti dat. V mechanismech rozhodujících o zahájení realizace konkrétní µoperace se bere v úvahu také dostupnost potřebných hardwarových prostředků. Pořadí provádění mikrooperací se může modifikovat podle toho, zda jsou k dispozici hodnoty operandů pro patřičné mikrooperace a jsou volné hardwarové prostředky pro její realizaci. 12

Trend: optimalizovat principy realizace instrukcí zpracovávaných ve frontě s cílem zkrátit jejich provádění. Zpětné uspořádání posloupnosti instrukcí Tuto činnost provádí jednotka, kterou Intel označuje jako Retirement Section. Za ukončení mikrooperace se považuje stav poté, co je výsledek uložen do cílového registru. Jednotka Reorder Buffer (ROB) provádí zpětné uspořádání výsledků µinstrukcí tak, aby odpovídaly původní posloupnosti. Jednotka Retirement Section uchovává informaci o tom, jak dopadly skoky a předává ji do BTB (Branch Target Buffer). Podle této informace se obnovuje obsah BTB. Předvídání výsledků skoků Předvídání výsledků skoků je velmi důležité pro procesory zpracovávající fronty instrukcí. Techniky předvídání skoků (Branch Prediction) umožňují pokračovat ve zpracování programu na 13

správném místě předtím, než je instrukce skoku zpracována a znám výsledek skoku. Pojem Branch Delay reprezentuje zpoždění, které nastane, pokud dojde při předvídání výsledku skoku k omylu. Správná předpověď - Branch Delay je nulové. Mylná předpověď - Branch Delay bude odpovídat délce fronty (do fronty se musí načíst instrukce z jiné adresy než bylo předpovězeno a ta se do prováděcí jednotky dostane za takový počet cyklů, který odpovídá počtu komponent podílejících se na zpracování). Architektura Intel NetBurst micro-architecture umí předpovídat tzv. krátké skoky (podmíněné a nepodmíněné skoky). Neumí předpovídat vzdálené skoky (?), instrukce iret a programová přerušení. Trend: v oblasti předpovídání výsledků skoků firma Intel usiluje o inovaci technik pro předpovídání výsledků skoků. 14

Provádění instrukcí Instrukce jsou prováděny formou posloupnosti µoperací čtené buď z paměti µprogramů nebo z Execution Trace Cache. Plánování instrukcí zohledňuje dostupnost operandů tzn. jsou prováděny instrukce, které mají k dispozici operandy. Pro superskalární architekturu uplatňovanou v procesorech firmy Intel je typické to, že obsahuje hardwarové prostředky pro paralelní provádění µoperací, přičemž tyto prostředky rozlišují typ prováděné µoperace. Jde o principy provádění µoperací => mluvíme proto o mikro-architektuře. Tato mikro-architektura sestává ze čtyř portů každý pro provádění jiných typů mikrooperací. 15

Výsledek: v jednom cyklu se může současně provádět až 6 µoperací, přičemž všechny souvisejí s prováděním instrukcí zařazených do jedné fronty tzn. jde o paralelismus uplatňovaný na jiné úrovni paralelismus na úrovni prováděcí jednotky (Execution Unit) viz přednáška o uplatnění prvků architektur RISC v mikroprocesorech Intel. 16