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

Podobné dokumenty
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í:

ARCHITEKTURA PROCESORŮ

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

Technologie Intel SSE I. Šimeček, J. Trdlička

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

Pohled do nitra mikroprocesoru Josef Horálek

Charakteristika dalších verzí procesorů v PC

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

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

Cache paměť - mezipaměť

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

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

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

Algoritmizace a programování

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

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

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

Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo

Charakteristika dalších verzí procesorů Pentium

Procesor z pohledu programátora

5 Přehled operátorů, příkazy, přetypování

Obecné výpočty na GPU v jazyce CUDA. Jiří Filipovič

Pokročilé architektury počítačů

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

PROCESORY. Typy procesorů

ARCHITEKTURA PROCESORŮ

Adresní mody procesoru

Ahoj mami. Uložení dat v počítači. Příklady kódování dat. IAJCE Přednáška č. 4

PROCESOR. Rozdělení procesorů

Vlastnosti mikroprocesorů Josef Horálek

Reprezentace dat v informačních systémech. Jaroslav Šmarda

Ivan Šimeček, Pavel Tvrdík

Architektura Intel Atom

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

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

produktů. produkty: AutoCAD Mechanical Showcase Autodesk Autodesk Designer SketchBook Autodesk Mudbox Vault Autodesk Ultimate Intel Xeon Intel Core

a operačních systémů

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

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

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

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

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

Opakování programování

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

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

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

Procesory. Autor: Kulhánek Zdeněk

Pokročilé architektury počítačů

VÝRAZY výrazy = operandy prokládané operátory, vyhodnocované podle priority operátorů

IPA - Lab.3 SSE instrukce, zarovnání dat

logický obvod instruk ní sadou program napsaný v mikroinstrukcích RISC CISC registry adresovacích mechanism Instruk ní sada mikroprocesoru

HISTORIE VÝPOČETNÍ TECHNIKY. Od abakusu k PC

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

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

Algoritmizace a programování

Architektura počítače

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

Základní principy zobrazení čísla Celá čísla s pevnou řádovou čárkou Zobrazení reálných čísel Aritmetika s binárními čísly

SOU Valašské Klobouky. VY_32_INOVACE_01_8 IKT Procesory, Intel, AMD, Architektura x86-64, AMR. Mgr. Radomír Soural

Racionální čísla, operátory, výrazy, knihovní funkce

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

PROCESOR. Typy procesorů

Sekvenční architektury II. Zpracování instrukcí

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

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

Datové typy pro reálná čísla

Ceník platný od Au = 1287 USD INTEL

Racionální čísla, operátory, výrazy, knihovní funkce

C2115 Praktický úvod do superpočítání

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

Číselné soustavy. Binární číselná soustava

CPU

Pokročilé architektury počítačů

Úvod do programovacích jazyků (Java)

Hardware = technické (hmatatelné, materiální) vybavení počítače Rozdělení dílů (komponent) dle umístění: vně skříně počítače)

Principy počítačů I Reprezentace dat

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

Co je grafický akcelerátor

Object Pascal je přísně typový procedurální jazyk, který umožňuje jak strukturované, tak objektově orientované programování.

Architektura procesoru ARM

Sekvenční architektury II. Zpracování instrukcí

INTEL INTEGRATED PERFORMANCE PRIMITIVES A JEJICH VYUŽITÍ PŘI VÝVOJI APLIKACÍ

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

Formátová specifikace má tvar (některé sekce nemají smysl pro načítání) %

Elementární datové typy

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

Roman Výtisk, VYT027

Architektury počítačů

RISC a CISC architektura

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

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

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b

Metody připojování periferií

Fakulta elektrotechnická. kompatibilních. Studijní program: Elektrotechnika a informatika strukturovaný bakalářský

INTEL. Ceník platný od

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

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

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

Transkript:

Jan Nekvapil jan.nekvapil@tiscali.cz ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická

Motivace MMX, EMMX, MMX+ 3DNow!, 3DNow!+ SSE SSE2 SSE3 SSSE3 SSE4.2 Závěr 2

Efektivní práce s vektory a maticemi Vektorová grafika (Hry), DSP, vědecké aplikace SIMD Single Instruction Multiple Data Datový typ Packed Vektor proměnných jednoho typu v jediném registru 3

MMX = MultiMedia extension, (Matrix Math extension, atd ) Představeno Intelem v roce 1997 8 registrů Označení MMx (MM0 - MM7) Velikost 64bit Datové typy 1 x 64bit quad word 2 x 32bit signed/unsigned integer 4 x 16bit signed/unsigned short 8 x 8bit byte Mapované na datové registry FPU Používá stavový registr FPU Pracuje pouze s celočíselnými typy 4

57 nových instrukcí Rozlišení od instrukcí x86 prefixem p a postfixem q, d, w nebo b podle typu operandu Aritmetické instrukce Znaménková/neznaménková aritmetika, saturovaná aritmetika Logické instrukce XOR, OR, AND, NAND Posuny, rotace Doprava/doleva, Logické/aritmetické Porovnání =, > Data packing Přesuny a konverze dat Přesun dat Mezi registry, mezi pamětí a registry Správa stavového registru Instrukce EMMS - vyčistí stavy FPU registrů 5

EMMX = Extended MMX Rozšíření MMX od Cyrixu, rok 1997 12 nových instrukcí Instrukce s implicitním cílovým registrem Přesun dat Podmíněné přesuny dat Aritmetické operace Průměr Násobení se zaokrouhlením 6

Rozšíření MMX od AMD, rok 1999 18 nových instrukcí Správa cache Vynucení/obejití zápisu do L1 a L2 cache mikroprocesoru Přesun dat Podmíněné přesuny dat, PSHUFW Řízené vložení/vyjmutí dat Aritmetické operace Minimum, maximum, průměr, suma absolutních diferencí 7

Výhody Zrychlení programu Nevýhody Pouze celočíselná aritmetika => omezené použití Chybí horizontální aritmetické instrukce Chybí významné aritmetické instrukce (min, max, ) Chybí podpora práce s cache (originální MMX) Nepodporuje konstanty Sdílí datové registry a stavový registr s FPU Pouze 8 datových registrů Zastaralé Hardwarová podpora Téměř vše od Pentium MMX dále (Intel, AMD, Cyrix) 8

Rozšíření sady MMX od AMD Představeno v roce 1998 Používá registry MMX Nový datový typ 2 x 32bit float Obsahuje horizontální i vertikální aritmetické instrukce 9

21 nových instrukcí Prefixem p se většina instrukcí liší od FPU instrukcí Aritmetické instrukce v plovoucí řádové čárce PFADD, PFACC, PFSUB, PFSUBR, PFMUL, PFMIN, PFMAX PFRCP, PFRSQRT základní přesnost (14 15 bitů) PFRCPIT1, PFRCPIT2, PFRSQRTIT1 rozšířená přesnost (další kroky Newton-Raphstonovy iterace) Porovnání =, >=, > pro typ 2 x 32bit float Správa cache Celočíselná aritmetika Násobení se zaokrouhlením, zaokrouhlený průměr Konverze dat Převod mezi 32bit integer a 32bit float Správa stavového registru Instrukce FEMMS, rychlá varianta EMMS 10

Známé také jako: 3DNow!2 3DNow! Professional 3DNow!ext Rozšíření 3DNow! od AMD z roku 1999 5 nových instrukcí Konverze dat Převod mezi 16bit integer a 32bit float Uložení s výměnou floatů Horizontální aritmetické instrukce PFNACC, PFPNACC 11

Výhody Zrychlení hlavně v oblasti vektorové grafiky Nevýhody Sdílí datové registry a stavový registr s FPU Nízká přesnost (nevhodné pro vědecké aplikace) Nepodporuje konstanty Pouze 8 datových registrů Zastaralé Hardwarová podpora K6-2 a novější (3DNow!) K6-2+ a novější (3DNow!+) 12

SSE = Streaming SIMD Extension Představeno Intelem v roce 1999 8 nových registrů XMMx (XMM0 XMM7) Velikost 128bit Datové typy 1 x 128bit 4 x 32bit float Nový 32bit stavový registr MXCSR Využívá se jen spodních 16 bitů 70 nových instrukcí Nové operace v plovoucí řádové čárce (pouze s XMMx registry) Rozšíření MMX (celočíselné operace) Použití SSE musí podporovat operační systém Práce v Extended modu Podpora instrukcí FXSAVE a FXRSTOR 13

Postfix ss - Scalar Single Floating Point Postfix ps - Packed Single Floating Point Aritmetické v plovoucí řádové čárce +, -, *, /, min, max sqrt, 1/sqrt, rcp plná přesnost Aritmetické celočíselné min, max, průměr Porovnání =,!=, >, <, >=, <= Správa cache Logické Formátování dat, konverze, přenosy dat 14

Výhody Zrychlení hlavně v oblasti vektorové grafiky Může pracovat paralelně s FPU (kromě Pentium III) Nevýhody Efektivně načítá/ukládá jen data na adresách zarovnaných na 16 bytů Nepodporuje celočíselné typy, nepodporuje konstanty Pouze 8 registrů Chybí horizontální aritmetické instrukce (špatná implementace na Intel Pentium III) Hardwarová podpora Pentium III Athlon XP 15

Rozšíření sady SSE Intel, rok 2001 144 nových instrukcí Nové datové typy 2 x 64bit double 2 x 64bit signed/unsigned long long 4 x 32bit signed/unsigned int 8 x 16bit signed/unsigned 16 x 8bit byte Je standardně implementována na všech AMD a Intel x86-64 procesorech Rozšíření počtu XMMx registrů na 16 16

Implementuje MMX instrukce pro celočíselné SSE2 packed typy Implementuje SSE float instrukce pro SSE2 typ packed double Postfix sd - Scalar Double Floating Point Postfix pd - Packed Double Floating Point Formátování dat, konverze, přenosy dat Instrukce pro práci s cache CLFLUSH nemusí být podporována 17

Výhody Podporuje všechny standardně používané datové typy Nevýhody Chybí horizontální aritmetické instrukce Další viz. SSE Hardwarová podpora AMD architektura K8 (Athlon 64, Sempron, Turion 64, atd.) Intel architektura NetBurst (Pentium 4, Xeon, Celeron, atd.) Intel Pentium M, Celeron M Intel architektura Core (Core Duo, Core Solo, atd.) Intel architektura Core 2 (Core 2 Duo, Core 2 Quad, atd.) Transmeta Efficeon Via C7 18

Rozšíření SSE, SSE2 Intel, rok 2004 13 nových instrukcí Horizontální aritmetické instrukce pro typ packed float a packed double Instrukce pro komplexní aritmetiku FISTTP Rychlý převod 32bit float na 32bit int LDDQU Efektivní načtení dat z adresy nezarovnané na 16bytů Komprese videa Zrychlení na NetBurst architektuře MONITOR, NWAIT Podpora Hyper-Threading Neimplementováno na AMD procesorech 19

SSSE3 = Supplemental Streaming SIMD Extension 3 Rozšíření MMX a SSE2 2 x 16 nových instrukcí Horizontální aritmetické instrukce pro celočíselné packed typy Hardwarová podpora Intel Xeon 5100 Intel Core Duo 2 20

Intel, ( rok 2008, Intel Core 2 Duo? ) 54 instrukcí Podmíněné přesuny a vkládání Rozšíření znaménka Převod 32bit float na 32bit integer se zaokrouhlením Podle standardu jazyka C, Java nebo Fortran Porovnávání textových řetězců Výpočet CRC32 Zjištění počtu 1 bitů v registru Pokročilá TEST instrukce Výpočet sumy absolutních diferencí dvou 8 x byte vektorů HDTV kódování Pokročilé čtení z paměti a periferií Skalární součin 21

V současné době jsou perspektivní pouze instrukční sady SSE. Výhody Zrychlení programu 2-16x nebo i více Nevýhody Neefektivní načítáním dat z adresy nezarovnané na 16bytů Neefektivní načítání a zpracování jiného počtu prvků než je násobek prvků v daném packed typu Nedokonalá podpora ze strany kompilátorů Nepodporované staršími mikroprocesory 22

Dotazy? jan.nekvapil@tiscali.cz Použitá literatura softpixel.com www.wikipedia.org www.cpuid.com www.hayestechnologies.com 23