Charakteristika dalších verzí procesorů v PC



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

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

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

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

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

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

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

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

PROCESOR. Typy procesorů

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

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

Principy činnosti sběrnic

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

Architektura počítače

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

CHARAKTERISTIKA PROCESORU PENTIUM První verze:

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

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

Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky. referát do předmětu: Pokročilé architektury počítačů.

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

CISC A RISC PROCESORY Jak pracují procesory CISC:

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

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

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

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

PŘEDSTAVENÍ GRAFICKÉHO PROCESORU NVIDIA G200

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

Architektura Intel Atom

Pokročilé architektury počítačů

Vývoj architektur PC 1

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

Sběrnice PCI, PCI-X, PCI Express

CHARAKTERISTIKY MODELŮ PC

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

Cache paměť - mezipaměť

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

PROCESORY. Typy procesorů

Grafické adaptéry a monitory

Pohled do nitra mikroprocesoru Josef Horálek

Architektura Pentia 1

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

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

VYUŽITÍ KNIHOVNY SWING PROGRAMOVACÍHO JAZYKU JAVA PŘI TVORBĚ UŽIVATELSKÉHO ROZHRANÍ SYSTÉMU "HOST PC - TARGET PC" PRO ŘÍZENÍ POLOVODIČOVÝCH MĚNIČŮ

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

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

Paměti a jejich organizace

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

HW počítače co se nalézá uvnitř počítačové skříně

Systémová sběrnice, souvislost architektury počítače a systémové

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

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

Adresace paměti. 11.přednáška

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

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

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

Architektura procesorů PC shrnutí pojmů

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

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

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

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

Grafické adaptéry a monitory

Pro úlohy digitálního zpracování obrazu je příznačný velký objem dat. Doposud ani rychlé počítače s konvenční sériovou architekturou nejsou schopny

Paměti EEPROM (1) Paměti EEPROM (2) Paměti Flash (1) Paměti EEPROM (3) Paměti Flash (2) Paměti Flash (3)

Pokročilé architektury počítačů

Výkonnost mikroprocesoru ovlivňují nejvíce dvě hlediska - architektura mikroprocesoru a tzv. taktovací frekvence procesoru.

Architektury počítačů a procesorů

Paralelní programování

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

Operační paměti počítačů PC

ARCHITEKTURA PROCESORŮ

Architektura Intel Nehalem

Miroslav Tichý, tic136

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

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

6. Procesory jiných firem... 1

MSP 430F1611. Jiří Kašpar. Charakteristika

Kapitola 10: Diskové a souborové struktury. Klasifikace fyzických médií. Fyzická média

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:

Architektura Pentia úvod

SÁLOVÉ POČÍTAČE. Principy počítačů. Literatura. Harvard Mark I Grace Murray Hopper ENIAC

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

Využití paralelních výpočtů v geodézii

ARCHITEKTURA PROCESORŮ

Přednášející: Zdeněk Kotásek. Ústav počítačových systémů, místnost č. 25

Intel Pentium D (1) Intel Pentium D (4) Intel Pentium Extreme Edition (1) Intel Pentium D (5)

Architektura počítačů

Úvod do paralelních systémů

Úvod do programování a práce s počítačem

Procesor z pohledu programátora

Paměťové prvky. ITP Technika personálních počítačů. Zdeněk Kotásek Marcela Šimková Pavel Bartoš

Architektury VLIW M. Skrbek a I. Šimeček

Zvyšování kvality výuky technických oborů

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

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

RISC a CISC architektura

Principy počítačů I ZVYŠOVÁNÍ VÝKONU PROCESORŮ. Sériové zpracování. Pipeline. Úspora při použití pipeline. Problém 1: přístup k datům.

Procesor. Hardware - komponenty počítačů Procesory

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

Transkript:

Charakteristika dalších verzí procesorů v PC 1

Cíl přednášky Poukázat na principy tvorby architektur nových verzí personálních počítačů. Prezentovat aktuální pojmy. 2

Úvod Zvyšování výkonu cestou paralelizace výpočtu. 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čových systémů označovaných zkratkami SISD, SIMD, MISD a MIMD. 3

Kombinace základních architektur SISD (Single Instruction stream, Single Data stream) 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í 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. 4

Uplatnění SIMD Typický rys multimediálních aplikací paralelně prováděné operace na stejných datech. Strategie SIMD jeden tok instrukcí na jednom procesoru, procesorů je více, instrukce operuje na násobných ale shodných datech (typech). Příklad: technologie MMX, která operuje paralelně s násobnými daty ve zkomprimované formě uloženými v 8/16 bitovém registru. Jiný případ: stejná hodnota se přičítá k různým datům, častá situace v multimediálních aplikacích. Změna jasu celého obrazu: každý pixel sestává z informace o třech složkách jasu R, G, B. Pokud potřebujeme změnit jas celého obrazu, přečteme R, G, B z paměti, přičteme (odečteme) patřičnou hodnotu a výsledek zapíšeme zpět do paměti. 5

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). X4 X3 X2 X1 Y4 Y3 Y2 Y1 Obr. 1 operace v architektuře SIMD OP OP OP OP X4 op Y4 X3 op Y3 X2 op Y2 X1 op Y1 6

Pentium II a Pentium III 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. Registry MMX 64 bitů a XMM 128 bitů. Specielní instrukce byly šity na míru pro multimediální a komunikační aplikace. Pentium III model SIMD byl změněn na Streaming SIMD Extensions (SSE). Rozdíl oproti klasickému SIMD: - Operace na operandech obsahujících čtyři komprimovanáčísla v pohyblivé řádové čárce. - Operandy 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í. 7

Pentium 4 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ů (změna v množině instrukcí). 8

Dílčí závěry Možnost, jak vytvářet nové architektury stimulace nasazováním do nových aplikací. MMX představitel uplatnění takových postupů. Architektury takových procesorů se nijak výrazně nelišily extenzivní rozvoj. Jiná alternativa zavádění nových prvků a nových myšlenek do architektur počítačů. 9

Vláknové architektury Míra posuzování výkonnosti procesoru rychlost provádění instrukcí: míra MIPS = f x IPC MIPS Millions Instructions per Second (kmitočet procesoru) IPC Instructions per Cycle Jak to řešit? 10

Jak řešit zvyšování výkonu procesoru? 1. možnost: zvyšovat kmitočet synchronizace procesoru 2. možnost: zvyšovat počet instrukcí, které jsou v jednom strojovém cyklu dokončeny. 11

Jak řešit zvyšování výkonu procesoru? Dosavadní přístup k řešení tohoto problému 1. zřetězené zpracování instrukcí. 2. superskalární architektury 3. využití architektur SIMD (obecně využití možností, které nabízejí klasické architektury) Další zvyšování počtu kroků ve skalárních a superskalárních architektur složitéřízení a zvyšování příkonu existuje mez těchto architektur. Nové postupy uplatňované v moderních architekturách PC: vláknové architektury Principy těchto architektur jsou uplatňovány v moderních konstrukcích PC. 12

Vláknové architektury - pojmy Proces: program běžící na počítači. Je charakterizován těmito pojmy: Resource ownership (přidělení zdrojů) Procesu jsou přiděleny prostředky potřebné pro realizaci paměťový prostor, V/V prostředky, V/V zařízení, soubory na externích pamětech. Scheduling/execution (plánování/provedení) V rámci jednoho procesu může být spuštěno více programů je nutno plánovat. Proces je charakterizován stavem procesu: běží, připraven, ukončen, Důležitý prvek: přepínání procesů 13

Vláknové architektury - pojmy Vlákno: Jednotka práce uvnitř procesu. Provádí se sekvenčně, vlákno je přerušitelné. Využívá zdroje přidělené procesu a data, která potřebuje, proto jsou ve hře pouze mechanismy plánování/provedení (nikoliv přidělení zdrojů). Důležitý prvek: přepínání vláken probíhá mezi vlákny jednoho procesu. Přepínání vláken - jednodušší proces než přepínání procesů. Přepínání procesů úklid obsahu registrů,.. 14

Vláknové architektury - pojmy Vláknové architektury musí být podporovány operačním systémem není to pouze o podpoře vybavení počítače (hardware). Rozdíl mezi vláknovými architekturami objem vybavení (hardware), kterým je vláknová architektura podporována. Minimální potřebný hardware každé vlákno musí mít svůj vlastníčítač adres (anglicky program counter). 15

Příklady vícevláknových architektur Na známých architekturách si zobrazíme možnosti zpracování programu formou vláken. Budeme rozlišovat: prokládané vícevláknové zpracování blokové vícevláknové zpracování současné vícevláknové zpracování zpracování na více procesorech 16

Příklady vícevláknových architektur Prokládané vícevláknové zpracování Procesor zpracovává dvě nebo více vláken. Mezi vlákny se přepíná s každým synchronizačním pulsem. Blokové vícevláknové zpracování Instrukce jsou prováděny sekvenčné tak dlouho, dokud nedojde k události, která může způsobit zpoždění (např. cache miss). Pak se přepne na nové vlákno. 17

Příklady vícevláknových architektur Současné vícevláknové zpracování Instrukce z jednotlivých vláken jsou zpracovávány v prováděcích jednotkách superskalárního procesoru. Zpracování na více procesorech Více procesorů, každý z nich zpracovává samostatné vlákno. 18

Skalární procesory a vlákna A, B, C, D vlákna Single-threaded jednovláknový, multithreading vícevláknový, blocked - blokový 19

Přepínání: Skalární procesory a vlákna Obr. b mezi vlákny se přepíná bez režie (každé vlákno má své pracovní registry) Je to podmíněno také tím, že mezi vlákny nejsou žádné závislosti. Obr. c nutný jeden cyklus na přepnutí 20

Superskalární procesory a vlákna horizontální ztráta vertikální ztráta 21

Superskalární procesory a vlákna Architektura d) Dlouhodobě byla viděna jako nejvýkonnější alternativa paralelního zpracování. Horizontální/vertikální ztráta např. uplatnění párovacích pravidel. Architektura e) V rámci každého vlákna se provádí co nejvíce instrukcí uplatnění párovacích pravidel. Architektura f) Jako jeden blok se provádějí instrukce pouze jednoho vlákna 22

Architektury na bázi VLIW a vlákna VLIW - Very Long Instruction Word Uplatněno např. v architektuře IA-64. 23

Architektury na bázi VLIW a vlákna Princip: během kompilace se do jednoho dlouhého slova vloží instrukce, mezi nimiž nejsou závislosti a mohou být realizovány paralelně. Pokud se nepodaří zaplnit instrukcemi celou šířku slova, pak se vloží NOP. 24

Výkonné vláknové architektury 25

Další pojmy Simultaneous multithreading (SMT) technika pro zvýšení efektivity superskalárních architektur. Existence několika nezávislých vláken lepší využití hardware, který je v každé frontě k dispozici. Pozor zkratka SMT má i jiný význam: Surface Mounted Technology. 26

Další pojmy pojem core Pojem core je odlišný od pojmu procesor. Core má svou vlastní sadu EU (execution units). Důsledek: dvě vlákna, každé existující na samostatném core, nesoutěží o zdroje (tzn. EU). Jiná alternativa: core může sestávat z více logických procesorů. Příklad multi-core HT Technology: jeden fyzický procesor sestávající ze dvou core (dual-core) (čtyř logických procesorů). Použití: multi-threading aplikace. 27

V čem spočívá implementace vlastností Netburst microarchitecture v Pentiu 4 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ěť L2, 8 way, kapacity 256 kb (v terminologii Intel Advanced Transfer Cache), instrukce a data - rychlá vyrovnávací paměť typu Execution Trace Cache kapacity 12K µop, Pojem Advanced Transfer Cache vyrovnávací paměť L2 (integrována do čipu procesoru), pracuje na stejném kmitočtu jako procesor) pojem fy Intel. 28

Rychlost komunikace procesoru s okolím Pentium III komunikovalo s okolím na frekvenci 100/133 MHz, Pentium 4 - komunikace s okolím synchronizována kmitočtem 266 MHz (přenosy realizovány 4x v rámci jednoho cyklu) v začátcích. Dnes běžně 400/533/1066 MHz. Trend: zvyšování rychlosti komunikace procesoru s okolím. Pojem FSB (Front Side Bus) rozhraní procesoru 29

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 - frekvence 3-4 Ghz. 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). Provádění mikroinstrukcí mimo pořadí. Konstrukce obvodů tak, aby se častěji prováděné instrukce realizovaly rychleji. Trend: snaha o uplatnění principů architektur RISC na úrovni provádění mikroinstrukcí v procesorech Intel. 30

31

Funkce Front End Sestává ze dvou bloků: - Fetch/Decode - Execution Trace Cache 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. Trend: 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 (skoky). 32

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. - 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, zvyšuje se podíl kódu prováděného z Execution Trace Cache. 33

Execution Trace Cache Pentium 4 Execution Trace Cache uchovala až 12K µoperací. Procesor Pentium 4 -častěji prováděné instrukce jsou realizovány z Execution Trace Cache, menší množství instrukcí se provádí z paměti mikroprogramů (microcode ROM). Výsledek: jistá část instrukcí (počet závisí na velikosti Execution Trace Cache) 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 dekódování instrukcí a zajištění přístupu k mikroprogramům. 34

Jednotka Out-of-Order Core Jednotka Out-of-Order Core umí přeuspořádat provádění instrukcí tak, aby neutrpěla logika programu a byla přitom zohledněna konkrétní kriteria pro přeuspořádání. 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. Trend: optimalizovat principy realizace instrukcí zpracovávaných ve frontě s cílem zkrátit jejich provádění. 35

Zpětné uspořádání výsledků 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. 36

Techniky 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 správném místě předtím, než je instrukce skoku zpracována a je 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í). Trend: v oblasti předpovídání výsledků skoků se usiluje o inovaci těchto technik. 37

38