Hardver Ismeretek IA32 -> IA64



Hasonló dokumentumok
VLIW processzorok (Működési elvük, jellemzőik, előnyeik, hátrányaik, kereskedelmi rendszerek)

8. Fejezet Processzor (CPU) és memória: tervezés, implementáció, modern megoldások

8. Fejezet Processzor (CPU) és memória: tervezés, implementáció, modern megoldások

Operandus típusok Bevezetés: Az utasítás-feldolgozás menete

SZÁMÍTÓGÉP ARCHITEKTÚRÁK

Számítógépek felépítése

Számítógép Architektúrák

Digitális rendszerek. Utasításarchitektúra szintje

Számítógép Architektúrák

Számítógépek felépítése, alapfogalmak

Utolsó módosítás:

5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix

Adatok ábrázolása, adattípusok

Számítógép felépítése

SZÁMÍTÓGÉPES ARCHITEKTÚRÁK

Készítette: Trosztel Mátyás Konzulens: Hajós Gergely

VI. SZOFTVERES PROGRAMOZÁSÚ VLSI ÁRAMKÖRÖK

Utasításfajták Memóriacímzés Architektúrák Végrehajtás Esettanulmányok. 2. előadás. Kitlei Róbert november 28.

Máté: Számítógép architektúrák

Grafikus csővezeték 1 / 44

Magas szintű optimalizálás

Mikroprocesszorok (Microprocessors, CPU-s)

Dr. Oniga István DIGITÁLIS TECHNIKA 9

Számítógépek felépítése, alapfogalmak

SZÁMÍTÓGÉPES ARCHITEKTÚRÁK A STRUKTURÁLT SZÁMÍTÓGÉP-FELÉPÍTÉS. Misák Sándor. 2. előadás DE TTK

Teljesítmény: időegység alatt végrehajtott utasítások száma. Egységek: MIPS, GIPS, MFLOPS, GFLOPS, TFLOPS, PFLOPS. Mai nagyteljesítményű GPGPU k: 1-2

* 800 MHz/PC-3200/ATA-100. SPECint_base2000/f c Pentium III. Pentium * 800 MHz/PC-2667/ATA-100 * * * * *

A processzor hajtja végre a műveleteket. összeadás, szorzás, logikai műveletek (és, vagy, nem)

A mikroszámítógép felépítése.

Elektronikus Szolgáltatások Hirdetménye. Érvényes: május 24-től

Számítógép Architektúrák

Mikrorendszerek tervezése

SZÁMÍTÓGÉP ARCHITEKTÚRÁK

Dr. Oniga István DIGITÁLIS TECHNIKA 9

GPU Lab. 4. fejezet. Fordítók felépítése. Grafikus Processzorok Tudományos Célú Programozása. Berényi Dániel Nagy-Egri Máté Ferenc

Számítógép Architektúrák (MIKNB113A)

2. Számítógépek működési elve. Bevezetés az informatikába. Vezérlés elve. Külső programvezérlés... Memória. Belső programvezérlés

GPU Lab. 3. fejezet. Az X86 Utasításkészlet. Grafikus Processzorok Tudományos Célú Programozása. Berényi Dániel Nagy-Egri Máté Ferenc

SzA19. Az elágazások vizsgálata

Bevezetés a számítástechnikába

Számítógép Architektúrák

Számítógép architektúrák záróvizsga-kérdések február

Számítógép architektúrák

Utolsó módosítás:

SZÁMÍTÓGÉP ARCHITEKTÚRÁK

2017/12/16 21:33 1/7 Hardver alapok

Módosított ábra: szaggatott nyíl: a fejlődési ív Az ábrából kimaradt a mobil szegmens (hordozható számítógépek). Y tengely: ár.

Máté: Számítógép architektúrák

Az NIIF új szuperszámítógép infrastruktúrája Új lehetőségek a kutatói hálózatban

Flynn féle osztályozás Single Isntruction Multiple Instruction Single Data SISD SIMD Multiple Data MISD MIMD

Architektúra, cache. Mirıl lesz szó? Mi a probléma? Teljesítmény. Cache elve. Megoldás. Egy rövid idıintervallum alatt a memóriahivatkozások a teljes

Nagy Gergely április 4.

Processzor (CPU - Central Processing Unit)

FIR SZŰRŐK TELJESÍTMÉNYÉNEK JAVÍTÁSA C/C++-BAN

Számítógép architektúrák I. Várady Géza

Nagy adattömbökkel végzett FORRÓ TI BOR tudományos számítások lehetőségei. kisszámítógépes rendszerekben. Kutató Intézet

Máté: Számítógép architektúrák

Memóriák - tárak. Memória. Kapacitás Ár. Sebesség. Háttértár. (felejtő) (nem felejtő)

Mechatronika és mikroszámítógépek

Számítógép Architektúrák

Digitális technika VIMIAA hét

Digitális rendszerek. Mikroarchitektúra szintje

Multimédia hardver szabványok

Labor gyakorlat Mikrovezérlők

Bevezetés a számítógépes rendszerekbe programozóknak

Szupermikroprocesszorok és alkalmazásaik

OpenCL - The open standard for parallel programming of heterogeneous systems

Mechatronika és mikroszámítógépek

GPGPU. Architektúra esettanulmány

Labor gyakorlat Mikrovezérlők

Számítógép architektúrák. A mai témák. A teljesítmény fokozás. A processzor teljesítmény növelése

Ajánlott adatbázis-szerver konfiguráció a Novitax szoftverekhez

Számítógép architektúrák

Járműfedélzeti rendszerek I. 3. előadás Dr. Bécsi Tamás

Népszámlálás 2011 Internetes adatgyűjtéssel

Az AVR ATmega128 mikrokontroller

Digitális technika VIMIAA hét

A mai témák. Számítógép architektúrák. CISC és RISC. A teljesítmény fokozás. További előnyök. A RISC gondolat

UNIX / Linux rendszeradminisztráció

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT




Számítógépes alapismeretek

Digitális technika VIMIAA01 9. hét

Digitális technika VIMIAA02 9. hét Fehér Béla BME MIT

A 32 bites x86-os architektúra regiszterei

Ismerkedjünk tovább a számítógéppel. Alaplap és a processzeor

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

Az operációs rendszer szerkezete, szolgáltatásai

Digitális technika VIMIAA02 9. hét

Rendszerarchitektúrák labor Xilinx EDK

Számítógép Architektúrák

ARM Cortex magú mikrovezérlők

2016/08/31 02:45 1/6 Hardver alapok

Adatelérés és memóriakezelés

Virtualizáció. egy hardveren több virtuális rendszer működik egyszerre, virtuális gépekben futó önálló vendég (guest) operációs rendszerek formájában

SZÁMÍTÓGÉP ARCHITEKTÚRÁK

Utasításszintű architektúra Adattér

Haladó Fordítóprogramok

Átírás:

Hardver Ismeretek IA32 -> IA64

Problémák az IA-32-vel Bonyolult architektúra CISC ISA (RISC jobb a párhuzamos feldolgozás szempontjából) Változó utasításhossz és forma nehéz dekódolni és párhuzamosítani Lehetséges megoldás: IA-32 ISA utasításait széttördelhetjük RISC-szerű rövid utasításokra ez azonban bonyolult HW-t igényel Címtartomány problémák (2^32 = 4GB) Kevés általános célú regiszter sok memóriahivatkozás, akkor is, ha logikusan nem kéne (pl. eredmények átmeneti tárolására ezt regiszterekben lehetne tárolni) Titkos regiszterek használata bonyolítja a HW-t pénz++ Általában igaz: teljesítmény nagy része nem arra megy el amire kéne (nem számol, hanem zsonglőrködik a CPU)

Megoldások Félmegoldás: EMT-64 IA-32 64 bites kiterjesztése Pl. P4 architektúra, 64 bites címekkel, 64 bites regiszterekkel Végső megoldás: IA-64 HP & Intel közös fejlesztés Teljesen új architektúra tiszta lap

EMT-64 (EM64T Extended Memory 64 technology) rövid története AMD 64 bites kiegészítést tervez az x86, 32 bites architektúrához, elnevezi x86-64-nek Később átnevezi AMD64-nek Intel is lép, bevezeti a 64bites kiegészítést, melyet rendre IA-32e, EM64T, Intel 64 néven nevez Általános név a kiegészítésre: x86-64 v. x64 Intel 64 és AMD64 szinte ugyanaz, minimális különbségek vannak (pár operandust enged az EMT64, amit AMD64 nem, de ezek kivételével kompatibilisek, mindkettő 32bites gép 64bitesre való kiterjesztése, 64bites új utasításkészlettel) Intel és AMD egymást sakkban tartják egy szerződéssel: ha Intel felmondja, nem készíthet x64-es gépet, ha AMD, nem használhatja az ia32-es architektúrát (így az x64-et sem)

x64 kiegészítései 64bit integer típus támogatása Plusz regiszterek (ált.reg.-ek száma 8-ról 16-ra) Több SSE (Streaming SIMD Extensions) regiszter Nagyobb fizikai és virtuális címtér (2^32-ről akár 2^64) NX (Non-execute) bit, futtathatatlan memóriarészek puffer overflow támadások ellen Stb Az x64-es architektúra alapvetően 32 bites architektúra, annak minden gondjával

x64 előnye 32 bites kódot alapból képes futtatni, SW-k jelentős része 32 bites (OS, driverek, stb) Nagy adatmozgatásoknál a 64bites memóriaelérés jól jöhet (szerverek, 3D)

IA-64 HP rájött hogy a RISC megközelítés határa az egy utasítás per egy órajel Új architektúrát dolgozott ki, melyet EPIC-nek (Explicitly Parallel Instruction Computing) neveztek el Itt több utasítás is végrehajtódik egy órajel alatt, de nem a CPUnak kell vizsgálnia hogy melyek lehetnek ezek, hanem a fordító vizsgálja meg, és generál ennek megfelelő kódot a HWből ezt a vizsgálatot ki lehet hagyni olcsóbb, gyorsabb HP társul az Intellel, közösen fejlesztik az architektúrát Megkapja az Itanium nevet, melyet később Itanic-nak csúfol a közösség (a nehéz fejlesztés, késések miatt) Sokan az IA-64-től várták a szerverpiac robbanását (HP még most is ettől várja)

IA-64 előrejelzések változása (2004)

Főbb IA-64 újítások RISC megvalósítás (EPIC Expl. Parall. Inst. Comp.) Szoftver (fordító) kiváltja a bonyolult HW elemek implementálását, jól párhuzamosítható kódot generál Rengeteg regiszter kevesebb memóriahivatkozás 128 db általános célú 64 bites regiszter 128 db lebegőpontos regiszter (IEEE 745) 80 bit sok regiszter, így a részeredmények regiszterbe kerülhetnek mem. helyett 128 db spec. alkalmazás regiszter (státusz, ia32, stb) 64 bit 64 db 1bit predikátumregiszter feltételes futtatáshoz használt 8 db elágazásregiszter (branching) 64 bit indirekt elágazás esetén a célcímeket tartalmazzák IA-32-es kódot először HW-ből tudott, de lassan, így HW emuláció kikerült és egy SW réteg csinálja gyorsabban: IA- 32 Execution Layer (IA-32 EL)

Főbb IA-64 újítások Utasításütemezés feladata a fordítón a fordító már előre kideríti mely utasítások végezhetők párhuzamosan és ezeket megfelelő csoportokba szervezve készíti el a kódot. A HW-nek már nem kell ezen gondolkodnia csak vakon ütemezni a csoportokból. A fejlesztés végén, a végső fordításnál nagyon sokáig is optimalizálhat a fordító, jó fordítókat készíteni is nehéz Predikáció utasítások feltételhez kötöttek (pl. CMOVZ R2,R3,R1 ha R1=0, R3 megy R2-be) feltételes elágazások csökkenthetők. IA-64 minden utasítása feltételessé tehető, minden ágat elkezd végrehajtani, a végrehajtási cső végén a feltétel alapján eldobja vagy végrehajtja Spekulatív betöltés memória regiszter betöltéseket a fordító előbbre hozza, mert lassúak. Ha sikertelen, nem megszakít, hanem mérgezett bitet használ ha amúgy sem kell ez az érték később, akkor simán dobjuk spóroltunk egy fölösleges megszakításkezelést

IA-64 Elképzelés jó Megvalósítás (SW) nagyon bonyolult, nem használja ki a HW-t Menet közben az x64 architektúrák mérhetőek lettek az IA-64-hez (ahol a fordítók nem tudják a HW-t kihasználni) Nehalem és Opetron azonos teljesítményt nyújt olcsóbban fejlesztést megint csak hátráltatja A távolabbi jövő mégis egy új, tisztán 64 bites architektúra Most érdemes megnézni a trendet : Google Trends példa ( itanium, core 2 duo, core i7 ) Top500.org, proc. arch. csoport

IA-64 Google Trends (2009 szept) kék: itanium 2,8 ; piros: nehalem 1 ; sárga: core 2 duo 16,4 ; zöld: core i7 1,8

IA-64 Google Trends (2010 szept) kék: itanium 2,8 ; piros: nehalem 1 ; sárga: core 2 duo 16,4 ; zöld: core i7 1,8

IA-64 Top500

IA-64 Top500