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.



Podobné dokumenty
2010/2011 ZS. operačních systémů. Copak je po jméně? Co růži zvou, i zváno jinak vonělo by stejně. William Shakespeare

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

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

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

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

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

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

Charakteristika dalších verzí procesorů v PC

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

Pohled do nitra mikroprocesoru Josef Horálek

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

Struktura a architektura počítačů

Procesory, mikroprocesory, procesory na FPGA O. Novák, CIE 11 1

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

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

RISC a CISC architektura

Charakteristika dalších verzí procesorů Pentium

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

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

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

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

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

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

Vývoj architektur PC 1

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

Architektura Pentia 1

Luděk Matyska. Jaro 2015

PROCESOR. Typy procesorů

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

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

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

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

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

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

Princip funkce počítače

Cache paměť - mezipaměť

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

CISC A RISC PROCESORY Jak pracují procesory CISC:

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

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

CHARAKTERISTIKA PROCESORU PENTIUM První verze:

Architektura počítače

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

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

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

Architektura procesoru ARM

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

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

Architektura Intel Atom

Architektura počítačů Zvyšování výkonnosti

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

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

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

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

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

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

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

Pokročilé architektury počítačů

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 procesorů PC shrnutí pojmů

Architektura Pentia úvod

Principy počítačů I - Procesory

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

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

Pokročilé architektury počítačů

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

Proudové zpracování instrukcí II. Hazardy v proudovém zpracování Proudové zpracování FP instrukcí

2 Hardware a operační systémy

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

Proudové zpracování instrukcí I. Celočíselná pipeline RISC

Pokročilé architektury počítačů

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

Y36SAP

PROCESOR. Rozdělení procesorů

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

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

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

Algoritmizace a programování

ARCHITEKTURA PROCESORŮ

4. Procesory CISC a RISC: Základní rysy a podněty pro vznik, zřetězení, predikce skoku, základní zástupci.

Principy počítačů. Optimalizace. Martin Urza

6. Procesory jiných firem... 1

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

Procesory CISC- historie procesorů Intel x86

Procesor z pohledu programátora

Architektury počítačů a procesorů

Kubatova Y36SAP 9. Strojový kód ISA architektura souboru instrukcí střadačově, zásobníkově orientovaná, GPR Kubátová Y36SAP-ISA 1

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

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

Pokročilé architektury počítačů

HelenOS ARM port. Pavel Jančík Michal Kebrt Petr Štěpán

Management procesu I Mgr. Josef Horálek

Systém adresace paměti

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

FREESCALE KOMUNIKAČNÍ PROCESORY

Miroslav Tichý, tic136

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

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

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

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

Transkript:

Principy počítačů I Sériové zpracování ZVYŠOVÁNÍ VÝKONU PROCESORŮ Copak je po jméně? Co růží zvou i zváno jinak vonělo by stejně. William Shakespeare Pipeline Úspora při použití pipeline Pipeline s k kroky, zpracování n instrukcí. Zrychlení: Pro n>>k: nk S = k + ( n 1) S k Zásadní problém Pipeline zavádí paralelismus Problém 1: přístup k datům čtení dat z externí paměti způsobí zpoždění ve fázi fetch Bez ohledu na to, co se děje uvnitř, musí se procesor navenek tvářit striktně sekvenčně 1

Problém 2: datová závislost add $r3, $r2, $r1 r3 r2 + r1 sub $r5, $r4, $r3 r5 r4 r3 1 2 3 4 5 6 7 8 9 load i1 i2 decode i1 i2 load op1 i1(r2) i2(r4) load op2 i1(r1) i2(r3) execute i1 i2 store i1(r3) i2(r5) Problém 3: závislost skoků Loop: add $r3, $r2, $r1 sub $r6, $r5, $r4 beq $r3, $r6, Loop Problém 4: skoky skok si vynutí vyprázdnění pipeline Řešení: multiple streams look ahead look behind buffer delayed branch branch prediction paměť skoku Motorola MC88110: cyklická paměť instrukcí při skoku se uloží 2 instrukce z větve asociativní vyhledávání dle adresy zpoždění skoku odložení skutečného skoku, dokud není zjištěna přesná adresa. Mezitím jsou vykonávány neškodné instrukce nutná spolupráce kompilátoru! RISC 2, SPARC 1 instrukce Mips X, Accel, CDC GaAs 2 instrukce predikce skoku v instrukci uložena nápověda. Podle toho se instrukce načítají. Je-li nápověda správně, nedojde ke ztrátě. Je-li nápověda špatně, vyprázdní se pipeline, načte se správný obsah. statická predikce rozhodnutí bez znalosti skutečné historie průběhu může dělat jak překladač, tak hardware: cykly obvykle skáčí na začátek, jen 1x neskočí 2

dynamická predikce predikce skoku Superpipelining Vývoj pipeline rozdělení kroků pipeline na menší jednodušší rychlejší (v singulárním případě: procesor s pipeline délky 5 je 5x rychlejší než procesor bez pipeline (pipeline délky 1)): MIPS R4000: 8 kroků: 1. Fetch (1 st half) 2. Fetch (2 nd half) 3. Register Fetch 4. Data Cache Access (1 st half) 5. Data Cache Access (2 nd half) 6. Tag Check 7. Write Back Vývoj pipeline Superscalar pipelining více paralelních částí pipeline: RISC System6000: větvení (fork) po dekódování: různé cesty v pipeline pro integer a floating-point dnes někdy i více celých pipeline Vývoj pipeline Dynamic pipeline přeplánování problematických částí: fetch and decode unit functional units (5-10) commit unit Další zrychlování Simultánní multithreading do pipeline se zavádějí instrukce různých vláken, které na sobě jistě nebudou závislé Predikce hodnoty Pozorování ukazuje, že instrukce Load zavede ve více než ½ případů stejnou hodnotu budeme to předpokládat Statistika užívání instrukcí skupina zastoupení přesuny dat 45,28% řízení 28,73% aritmetika 10,75% porovnávání 5,92% logické operace 3,91% posuny, rotace 2,93% bitové operace 2,05% IO a ostatní 0,43% 3

Další pozorování 56% konstant je v rozsahu ±15 (5 bitů) 98% konstant je v rozsahu ±511 (10 bitů) 95% podprogramů potřebuje pro předání parametrů méně než 24 bytů Výzkum DEC V typickém programu bylo použito 58% instrukční sady pro 98% instrukcí stačilo pouhých 15% firmware Změna priorit Důraz na to, co je nejvíce potřeba a co trvá nejdéle Implementace méně používaných instrukcí může zhoršit celkový návrh Spolehnout se na vyšší jazyky a optimalizující kompilátory Paměť je dnes rychlejší a levnější MIPS 80. léta, John Hennessy Stanford University Stanford silný v kompilátorech vývoj procesoru, jehož architektura by vyjadřovala snížení kompilátoru na úroveň HW (místo obvyklého povyšování HW na úroveň SW) CISC vs RISC CISC Coplex Set Computer (zpětné označení) RISC Reduced Set Computer Strategie návrhu RISCu zjištění nejpoužívanějších instrukcí (simulace a analýza programů) optimalizace datových cest pro tyto instrukce přidání dalších instrukcí, pokud jsou rozumně využitelné a nezpomalí procesor přesunutí komplexních činností do kompilátoru 4

CISC Proč se tedy vlastně vyvinuly? (První stroje měly jednoduchou architekturu) Cena HW klesla, cena SW stoupla Přesun složitosti do HW usnadní programování Méně instrukcí pro daný úkol znamená méně přístupů do (pomalé a drahé) paměti Implementace pomocí mikrokódu se dá snadno změnit Pokus o definici RISC N.J.Davis: omezená a jednoduchá instrukční sada velké množství obecných registrů důraz na optimalizaci pipeline Colwell: provádění instrukcí v 1 taktu architektura loadstore hardwired design relativně málo instrukcí a způsobů adresování pevný formát instrukcí větší význam kompilátoru Charakteristické rysy pro RISC jedna instrukce na cyklus operace registr registr architektura load store malý počet a jednoduché adresovací režimy pevný formát instrukce malý počet a jednoduché instrukce velké množství registrů použití linky proudového zpracování (pipeline) zvláštní zpracování skoků hardwired návrh obvodového řešení silná závislost na kompilátoru První procesory typu RISC Výzkumné systémy: MIPS (Stanford) RISC 1, RISC 2 (Berkeley) IBM-801 RISC typičtí představitelé DesktopServer: Alpha (Digital) PA-RISC (Hewlett-Packard) PowerPC(IBM + Motorola) MIPS (Silicon Graphics) SPARC (Sun Microsystems) 5

RISC typičtí představitelé Embedded systems: ARM (Advanced RISC Machines) Thumb (Advanced RISC Machines) SuperH(Hitachi) MR (Mitsubishi) MIPS16 (Silicon Graphics) Web Extension I: Survey of RISC Architectures Alpha MIPS I PA-RISC 1.1 PowerPC SPARC V8 Date announced 1992 1986 1986 1993 1987 size (bits) Address space 48 bits, 64 bits, flat bits, flat (size, model) segmented bits, flat bits, flat Data alignment Aligned Aligned Aligned Unaligned Aligned Data addressing 1 modes 1 5 4 2 Protection Page Page Page Page Page Minimum page 8 KB size 4 KB 4 KB 4 KB 8 KB IO Memory mapped Memory mapped Memory mapped Memory mapped Memory mapped Integer registers 31 GPR 31 GPR 31 GPR GPR 31 GPR (number, model, x 64 bits x bits x bits x bits x bits size) Separate floating-point registers Floating-point format 31 x or 31 x 64 bits IEEE 754 single, double 16 x or 16 x 64 bits IEEE 754 single, double 56 x or 28 x 64 bits IEEE 754 single, double x or x 64 bits IEEE 754 single, double x or x 64 bits IEEE 754 single, double Návrh procesoru pevnáproměnná délka instrukcí? pevnýproměnný počet a typ operandů? počet adresovacích režimů? mikrokódhardwired řadič? stupeň paralelismu? důraz na vyšší programovací jazyky? schopnosti kompilátoru? zvolit RISC nebo CISC? Neexistuje jednoznačná odpověď! Kvantitativní přístup: porovnat velikosti programů a rychlost provádění Kvalitativní přístup: vyhodnotit podporu vyšších programovacích jazyků a schopnosti technologií Problémy: žádné dva procesory RISC a CISC nejsou přímo porovnatelné není konečná sada testovacích programů obtížné odlišit vliv HW a vliv kompilátoru (většina dnešních návrhů bere z obou kategorií) Konvergence CISC a RISC od 80-let se technologie i znalosti změnily mnohé techniky jsou používány procesory z obou táborů: CISC schopné vykonávat v 1 taktu více instrukcí, RISC se zlepšením technologií zbývá místo, vyplnění komplikovanějšími instrukcemi vznikají post-risc návrhy, kombinující oba přístupy s metodami, které nejsou použity v žádné z těchto kategorií (přesto si RISC zachovává charakteristické vlastnosti) Ideální RISC Dekódování micro+ nano micro hw Hloubka linky 4 Kiviatův graf Adresovací mody 7 var fix 16 64 128 Délka instrukce 256 128 ¼ spec. jednotka 64 ½ zpožděný skok 64 Větvení registrů CPI instrukcí The RISC Concept A Survey of Implementations (1991) 6

Procesor SPARC (1) původní návrh z procesorů RISC-I a RISC-II z university v Berkeley, trojice čipů, propojení s koprocesorem pro pohyblivou řádovou čárku, rozdělení registrů do oken tagované instrukce Procesor SPARC (2) Dekódování micro+ nano micro hw Hloubka linky 4 Adresovací mody 7 var fix 16 64 128 Délka instrukce 256 128 ¼ spec. jednotka 64 ½ zpožděný skok 64 Větvení registrů CPI instrukcí Procesor IBM RS6000 (1) harwardská architektura šířka vyrovnávací paměti instrukcí 128 bitů datová sběrnice 64 bitů vícenásobné jednotky dekódování některých operací mikrokódem!! speciální jednotka predikce větvení programu používá metodu přejmenování registrů Procesor IBM RS6000 (2) Dekódování micro+ nano micro hw Hloubka linky 4 Adresovací mody 7 var fix 16 64 128 Délka instrukce 256 128 ¼ spec. jednotka 64 ½ zpožděný skok 64 Větvení registrů CPI instrukcí Procesor Intel 80860 (1) šířka slova bitů šířka sběrnice s vyrovnávací pamětí 128 bitů hardwarové přejmenovávání registrů vícenásobné funkční jednotky speciální grafická jednotka Procesor Intel 80860 (2) Dekódování micro+ nano micro hw Hloubka linky 4 Adresovací mody 7 var fix 16 64 128 Délka instrukce 256 128 ¼ spec. jednotka 64 ½ zpožděný skok 64 Větvení registrů CPI instrukcí 7

post-risc Přechod RISC Post-RISC Rozdíl od superskalárních RISCů: přidání ne-riscových instrukcí (pro zvýšení výkonu) architektura FISC (Fast Set Computer) agresivní přerovnávání instrukcí v průběhu zpracování out-of-order execution, speculative execution (odklon od závislosti na kompilátoru) nové uspořádání, nové jednotky větší míra paralelismu Beyond RISC The Post-RISC Architecture (1996) Nové komponenty: predecode unit renaming registers reorder buffer retire unit Predecode unit, I-cache instrukce načítány po blocích částečné dekódování zjistí vlastnosti instrukcí a uloží je do vyrovnávací paměti instrukcí dodatečné příznaky určují: identifikaci skoků typ potřebné exekuční jednotky zda bude instrukce potřebovat paměť generic post-risc záznam v I-cache ve vyrovnávací paměti uloženo: blok instrukcí historie skoků predekódované příznaky historie vykonávání bloku fetch flow načítání z I-cache musí být chytré záznam v I-cache ukazuje na další blok instrukcí ukáže-li se odkaz jako špatný, je změněn 8

decode branch Barvení instrukcí vlastní dekódování instrukce rozdělení na dva proudy do doby, než je znám skutečný cíl skoku barvení instrukcí Výsledky z Branch FetchFlow aktualizace flow history načtení správných instrukcí BranchDecode aktualizace branch history Dispatch and Reorder Buffer Completed Buffer zahození instrukcí, které se nemají (neměly) vykonat Dispatch and Reorder Buffer dekódované instrukce čekají na provedení k provedení dojde, jsou-li k dispozici vstupní hodnoty výstup exekuční jednotka přednost mají starší instrukce instrukce load Datové závislosti připřerovnání Eliminace WAW True data dependency RAW (Read after Write) výstup instrukce je použit jako vstup následující Output dependency WAW (Write after Write) dvě instrukce zapisují na stejné místo Anti-dependency WAR (Write after Read) zatímco jedna instrukce zpracovává data, další instrukce tato data změní (WAW a WAR lze vyřešit přeznačením) MOVE r3, r7 ADD r3, r4, r5 MOVE r1, r3 MOVE r3, r7 ADD r8, r4, r5 MOVE r1, r8 9

out-of-order execution execution units podobně jako u RISC jednotky, které nepočítají v 1 cyklu, použijí pipeline jednotky loadstore obvykle umožňují rozpracovat více přístupů najednou Completed Buffer, Retire ukládání vykonaných instrukcí, spolu s: příznakem vygenerované výjimky mapováním (přejmenováním) použitých registrů Retire unit odebírá instrukce z bufferu: v takovém pořadí, v jakém by byly sekvenčně zpracovány může uvolnit v 1 taktu více instrukcí Problém výjimky při výskytu výjimky musí procesor zastavit činnost na tomto místě instrukce, které jsou po této instrukci, nesmí ovlivnit stav stroje nesmí existovat nezpracované instrukce ležící před touto instrukcí všechny výjimky způsobené předchozími instrukcemi jsou vyřízeny precizní přerušenívýjimka RISC vs post-risc Proudová linka (u post-risc) RISC: výkon je dán stupněm paralelismu post-risc: výkon je dán počtem najednou odkládaných instrukcí Fetch Decode Vyrovnávací paměť jednotky přidělování instrukcí Instrukce Execute Vyrovnávací paměť odkládací jednotky Retire 10

Příklady procesorů post-risc procesory s ojedinělými znaky post-risc DEC Alpha 21164, SUN UltraSPARC procesory s typickou organizací post-risc IBM PowerPC 604, MIPS R10000, HP PA-8000 smíšené organizace Intel Pentium P6 ( interesting blend of architectures ) DEC Alpha 21164 používá pouze minimum z návrhu post-risc vysoký základní hodinový kmitočet predikce skoku tabulka historie skoků obecně nepoužívá spekulativního provádění instrukcí (pouze některé mimo pořadí) nemá možnost precizního přerušení DEC Alpha 21164 SUN UltraSPARC 21164 Cache Fetch Decode Branch Integer Integer FP FP Slučovací logika Vyrovnávací paměť dat Paměť Cache 98 kb Bus Interface 40-bit adresa Vnější vyrovnávcí paměť 128-bit data více RISC než Post-RISC instrukce v balíku po 4 v I-cache 2 záznamy pro branch history mezi fetch a dispatch je fronta 12 instrukcí některé instrukce odkládány out-of-order 2xINT ALU, 5xFP ALU 9 Load, 8 Store buffer fast context switch, traps, motion estimation SUN UltraSPARC MIPS R10000 exceptionally Post-RISC zaměřený na grafiku a floating-point plně 4cestně superskalární architektura 64k dvoucestná cache on chip tři plánovací fronty (pro 5 pipeline) nemá flow prediction, branch prediction klasické shadow map ukládání mapy registrů před skokem branch resume cache ukládání instrukcí 11

MIPS R10000 HP PA-8000 (PA-7000 typický RISC, PA-8000 zcela jinak) IRB pro 56 instrukcí (28 aritm. + 28 memory) velká SRAM cache off chip plně asociativní BTAC (Branch Target Address Cache) pro predikci toku instrukcí () inside CPU možnost vypnout dynamic branch prediction HP PA-8000 Procesor PowerPC 604 čtyřcestný superskalární návrh predikční mechanismus vyrovnávací paměť cílových adres (BTAC) tabulka historie větvení (BHT, dvoubitová) přejmenovávané registry, registry podmínkových kódů rezervační stanice pro exekuční jednotky speciální jednotka pro "branch-on-counter" PowerPC 604 Reservation Station (2 Entry) Multiple Cycle Integer + - * COMPLETION UNIT 16 Entry Reorder Buffer Time Base Clock JTAG Multiplier Reservation Station (2 Entry) Single Cycle Integer + - * -bit Address Bus GPR File Rename Buffers (8) Finish Load Queue Fetcher Queue (8 words) INSTRUCTION UNIT 64 Branch Processing BTAC CTR Rename Buffers Reservation Station (2 Entry) LoadStore EA Calculation DMMU 128 64 Dispatch BHT FPR File Rename Buffers (8) Tags 16 kbyte Cache 64 128 128 Reservation Station (2 Entry) Floating Point + - * IMMU Tags Bus Interface 16 kbyte Cache Procesor Intel Pentium P6 instrukční sada CISC interpretována mikrooperacemi na jádře post-risc implementován jako dva čipy na jedné podložce stejný hodinový kmitočet zvláštní sběrnice mezi procesorem a vyrovnávací pamětí třícestný superskalární návrh 64-bit Data Bus 12

Třícestný model procesoru P6 Bloková struktura procesoru P6 System Bus (External) L2 Cache Bus Interface Bus Interface Fetch Cache Decoder Simple Simple Complex Next IP Branch Target Buffer Memory Reorder Buffer L1 I-Cache L1 D-Cache Decoder Decoder Decoder Microcode Sequencer Register Alias Table FetchDecode Dispatch Execute Retire Retirement Reorder ( Pool) Reservation Station Retirement Register File (IA Registers) Data Cache Pool FP FP Integer Integer Memory Interface Internal Buses Proudová linka v P6 Vyrovnávací paměť cílů větvení Jednotka vyzvednutí instrukcí Dekódování instrukcí BTB0 BTB1 IFU0 IFU1 IFU2 ID0 ID1 RAT ROB RS Členění proudové linky u procesoru P6 Dvě paralelní linky proudového zpracování PF D1 D2 EX WB Přejmenování registrů a změna uspořádání X1 X2 WBF Reservační stanice a exekuční jednotky Port0 Port1 Port2 Port3 Port4 Pevná řádová čárka MRW Mex MWM M WBM Odkládací jednotka ROB RRF Pohyblivá řádová čárka MMX Dekódování makroinstrukcí maximálně tři makroinstrukcejeden cyklus maximálně šest mikrooperacíjeden cyklus makroinstrukce může být max. 7 bytů a dekóduje se : operace registrregistr 1 µop operace load 1 µop operace store 2 µop operace readmodifywrite 4 µop složitější µop mají více než 4 µop a potřebují více cyklů na dekódování Dataflow CPU vs Post-RISC 13