Architektura Pentia úvod

Podobné dokumenty
Architektura procesorů PC shrnutí pojmů

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

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

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

CISC A RISC PROCESORY Jak pracují procesory CISC:

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

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

Architektury počítačů a procesorů

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

CHARAKTERISTIKA PROCESORU PENTIUM První verze:

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

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

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

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

Princip funkce počítače

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

Pohled do nitra mikroprocesoru Josef Horálek

Provádění instrukcí. procesorem. Základní model

Architektura Intel Atom

Architektura Pentia 1

Sběrnicová architektura POT POT. Jednotlivé subsystémy počítače jsou propojeny sběrnicí, po které se přenáší data oběma směry.

Strojový kód. Instrukce počítače

Vývoj architektur PC 1

Charakteristika dalších verzí procesorů Pentium

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

Charakteristika dalších verzí procesorů v PC

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

Úvod. Instrukce musí obsahovat: typ operace adresu operandu (operandů) typ operandů modifikátory adresy modifikátory operace POT POT

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

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

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

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

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

Assembler RISC RISC MIPS. T.Mainzer, kiv.zcu.cz

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

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

PROCESOR. Typy procesorů

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

Vstupně - výstupní moduly

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

Řetězené zpracování. INP 2008 FIT VUT v Brně

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

PB002 Základy informačních technologií

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

TÉMATICKÝ OKRUH TZD, DIS a TIS

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

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

Úvod. Programovací paradigmata

Činnost počítače po zapnutí

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

Procesor. Základní prvky procesoru Instrukční sada Metody zvýšení výkonu procesoru

Definice 7.2. Nejmenší přirozené číslo k, pro které je graf G k-obarvitelný, se nazývá chromatické číslo (barevnost) grafu G a značí se χ(g).

Databázovéa informačnísystémy NÁVRH IMPLEMENTACE 3 PARALELNÍ PROCESY V DATABÁZÍCH

Systém řízení sběrnice

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

Systém adresace paměti

OPERAČNÍ SYSTÉMY VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ ÚVOD DO TEORIE OPERAČNÍCH SYSTÉMŮ. doc. Dr. Ing.

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

Disková pole (RAID) 1

Architektura počítačů

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

Přidělování CPU Mgr. Josef Horálek

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

Principy počítačů a operačních systémů

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit

Pokročilé architektury počítačů

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

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

Obsah. Kapitola 1 Hardware, procesory a vlákna Prohlídka útrob počítače...20 Motivace pro vícejádrové procesory...21

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

Přednáška. Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Y36SAP

Paměti a jejich organizace

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Kapitola 13: Transakce. Koncept transakce. ACID vlastnosti

Vstupně výstupní moduly. 13.přednáška

Jako pomůcka jsou v pravém dolním rohu vypsány binární kódy čísel od 0 do 15 a binární kódy příkazů, které máme dispozici (obr.21). Obr.

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

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

Architektura a princip funkce počítačů

Testování jednotky ALU a aplikace metody FMEA

Přerušovací systém s prioritním řetězem

Procesor z pohledu programátora

2 Hardware a operační systémy

Počítač jako prostředek řízení. Struktura a organizace počítače

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

Architektura počítače

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

Přednáška. Strojový kód a data. 4. Přednáška ISA J. Buček, R. Lórencz

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

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

NSWI /2011 ZS. Principy cpypočítačůčů aoperačních systémů ARCHITEKTURA

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

Adresní mody procesoru

Koncepce DMA POT POT. Při vstupu nebo výstupu dat se opakují jednoduché činnosti. Jednotlivé kroky lze realizovat pomocí speciálního HW.

Architektura počítačů Logické obvody

Katedra informatiky a výpočetní techniky. 10. prosince Ing. Tomáš Zahradnický doc. Ing. Róbert Lórencz, CSc.

RISC a CISC architektura

Procesy a vlákna (Processes and Threads)

Transkript:

Architektura Pentia úvod 1

Co je to superskalární architektura? Minimálně dvě fronty instrukcí. Provádění instrukcí je možné iniciovat současně, instrukce se pak provádějí paralelně. Realizovatelné jak v CISC tak i RISC architekturách. 2

Superskalární architektura - obecně Několik funkčních jednotek - každá z nich realizovaná jako fronta podpora paralelního provádění instrukcí Dva typy instrukcí (pro operace s čísly typu integer a operace s čísly v pohyblivéřádovéčárce). 3

Superzřetězené architektury (superpipelined) Existují situace, kdy je možné instrukci zpracovat v kratším čase než polovina cyklu nebo zahájit zpracování instrukce uprostřed vnějšího cyklu. Jeden vnější cyklus dva interní cykly. Ve vztahu k vnějšímu cyklu provádějí se dvě úlohy v jednom vnějším cyklu. 4

Superzřetězené architektury Klasická zřetězená architektura jedna fronta instrukcí Superzřetězené architektury vnitřní kmitočet 2x vyšší než vnější. Superskalární architektura v obou frontách se provádění zahajuje ve stejném okamžiku. 5

Omezení superskalárních architektur Pojem paralelismus na úrovni provádění instrukcí (instruction level parallelism) - ILP Snaha o maximální využití těchto technik: na úrovni překladu na úrovni hardware Omezení využití: datová závislost, procedurální závislost, konflikt zdrojů, výstupní závislost, antidatová závislost. 6

Datová závislost ADD r1, r2 (r1 := r1+r2;) MOVE r3,r1 (r3 := r1;) Druhou instrukci je možné paralelně vložit do fronty instrukcí a dekódovat, není možné ji začít provádět. Není možné zahájit provádění další instrukce. Závislost, kdy následná instrukce nemůže být provedena dříve než je ukončena instrukce předcházející. 7

Procedurální závislost Není možné provádět instrukce, které jsou za instrukcí skoku paralelně s instrukcemi před instrukcí skoku. Obdobně: instrukce je dlouhá, je nutno ji nejdříve dekódovat (zjistí se délka instrukce), pak se teprve přečte zbytek instrukce není možné zahájit čtení další instrukce. Procedurální závislost postihuje situace, kdy se pracuje s pamětí a je nutné rozhodnout, kdy nude možné zahájit další činnost s pamětí. 8

Konflikt zdrojů Dvě nebo více instrukcí potřebuje přístup ke stejnému zdroji. např. dvě aritmetické instrukce Řešení: zdvojení zdrojů např. dvě aritmetické jednotky 9

Vliv závislostí Bez závislosti Datová závislost (instrukce i1 potřebuje data vypočtená instrukcí i0) Procedurální závislost Konflikt zdrojů 10

Paralelismus na úrovni instrukcí a počítače Na úrovni instrukcí (ILP) Nezávislost instrukcí ve frontě. Provádění instrukcí se může překrývat. Souvislost s datovou a procedurální závislostí. Na úrovni počítače (Machine Level Parallelism MLP) Počítač musí být vybaven tak, aby bylo možné využít ILP. Závislost na počtu paralelně pracujících front. 11

Souvislost s prováděním instrukcí Paralelní provádění instrukcí kvalitní procesor musí být vybaven tak, aby se při plánování činností nemusel držet striktně pořadí instrukcí, ale mohl provádět změny v posloupnosti provádění instrukcí reordering. Možnosti přeuspořádání: - Pořadí, v němž jsou instrukce řazeny do fronty. - Pořadí provádění instrukcí. - Pořadí, podle něhož instrukce mění obsahy registrů a pamětí. 12

Vstup instrukcí podle pořadí, dokončení instrukcí podle pořadí Instrukce jsou čteny podle pořadí v programu. Nepříliš efektivní. Do vstupní fronty je čtena více jak jedna instrukce. V případě potřeby se provádění instrukcí pozastaví. 13

Vstup instrukcí podle pořadí, dokončení instrukcí podle pořadí (diagram) 2 vstupní fronty, 3 funkční jednotky, 2 výstupní fronty. Na provedení instrukce I1 jsou potřeba 2 cykly. I3 a I4 potřebují při provádění stejné funkční jednotky. I5 čeká na výsledek I4. I5 a I6 potřebují stejnou funkční jednotku. Doba trvání 8 cyklů. 14

Vstup instrukcí podle pořadí, změna pořadí výstupu Výstupní závislost R3:= R3 + R5; (I1) R4:= R3 + 1; (I2) R3:= R5 + 1; (I3) Výsledek I2 závisí na výsledku I1 datová závislost. Pokud se provedení I3 ukončí před ukončením I1, bude výsledek I1 nesprávný výstupní závislost takovou změnu pořadí nemůžeme provést. Tyto aspekty je třeba reflektovat při reorganizaci posloupnosti provádění instrukcí. 15

Vstup instrukcí podle pořadí, změna pořadí výstupu (diagram) Doba provedení 7 cyklů. Ve všech doposud diskutovaných případech se organizace pořadí instrukcí mění ve vstupní frontě. Následující případ jiná koncepce. 16

Změna pořadí na vstupu, změna pořadí na výstupu Na výstupu jsou instrukce párovány jinak než ve vstupní frontě. Do vstupní fronty se přivádějí instrukce a rozdekódují se. Jakmile se uvolní funkční jednotka, instrukce se provede. Instrukce byly rozdekódovány, procesor se může dívat dopředu. Pokud při rozdekódování instrukce vznikne konflikt, tak se řeší a nejsou dekódovány další instrukce, dokud se tento konflikt nevyřeší procesor se přestane zabývat instrukcemi, které následují za touto konfliktní instrukcí (chybí pohled dopředu lookahead). Řešení instruction window. 17

Změna pořadí na vstupu, změna pořadí na výstupu (diagram) Do fronty se plynule čte (na rozdíl od předcházejících architektur) konflikty se řeší až ve window. Instrukční okno není další frontou. O instrukci, která je v okně platí, že procesor má dostatek informace o tom, jaké mohou při realizaci instrukce vzniknout konflikty, takže může být rozhodnuto o o tom, že provádění instrukce bude zahájeno. 18

Antizávislost (antidatová závislost) Předcházející situace datové závislosti: při párování (současném zpracování dvou instrukcí ve dvou frontách) nesmí být instrukce n+1 provedena dříve než instrukce n, pokud obě instrukce pracují se stejným operandem (instrukce n přiřazoval hodnotu parametru, s nímž se pracuje jako s operandem v instrukci n+1). Write-write dependency R3:=R3 + R5; (I1) R4:=R3 + 1; (I2) R3:=R5 + 1; (I3) R7:=R3 + R4; (I4) Pokud by se I3 a I2 prováděli paralelně, nesmí se I3 dokončit dříve než I2, protože I2 potřebuje hodnotu uloženou v R3 a I3 mění hodnotu v R3 (nesmí se stát, aby I3 změnila hodnotu v R3 předtím, než I2 vezme hodnotu z R3). 19

Přejmenování registrů (Register Renaming) Pokud se instrukce provádějí beze změny pořadí, pak hodnoty v registrech jsou identifikovatelné. Pokud se mění pořadí instrukcí, pak informace v registrech nebudou reflektovat původní pořadí instrukcí. Může se stát, že různé instrukce bojují o tytéž registry problém tento problém je ještě výraznější, pokud se pro přidělování používají optimalizační postupy - registry jsou alokovány dynamicky. Problém konflikt zdrojů je řešitelný duplikací zdrojů přejmenování. 20

Příklad techniky přejmenování registrů R3b:=R3a + R5a (I1) R4b:=R3b + 1 (I2) R3c:=R5a + 1 (I3) R7b:=R3c + R4b (I4) Označení bez indexů registr podle instrukce. Označení s indexem hardwarově přidělený registr. 21

Podpora MLP (Machine Level Parallelism) Duplikace zdrojů. Změna pořadí provádění instrukcí. Přejmenování. Propojení technik duplikace zdrojů s technikou přejmenování registrů. Instrukční okno dostatečné velikosti. 22