Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
ZveřejnilMaxim Tábor
1
Kontakty Webpage přednášky: –http://ulita.ms.mff.cuni.cz/mff/sylaby/PRG017.HTML Slajdy (MS PowerPoint): –ftp://ulita.ms.mff.cuni.cz/predn/PRG017 Technické informace (manuály ap.): –ftp://ulita.ms.mff.cuni.cz/techdoc/index.html Mail: –Jakub.Yaghob@mff.cuni.cz
2
Pentium 3
3
Pentium 4
4
Athlon
5
Opteron
6
Vlastnosti AMD definuje architekturu AMD64 –stejně jako Intel má IA-64 nebo Sun Sparc v9 Mohou existovat různé implementace AMD64 –dnes existuje několik implementací nazývaných Opteron –stejně jako Intel má Itanium, Itanium 2 nebo Sun má UltraSPARC III Binárně plně kompatibilní s IA-32 Přidány a rozšířeny registry Přidány instrukce pro práci se 64 bity Možnost adresovat data relativně k RIP Integrovaný paměťový řadič Architekturální možnost adresovat ve virtuálním adresovém prostoru 64-bitovou adresou a ve fyzickém 52-bitovou adresou Snadné vytvoření multiprocesoru
7
Aplikační registry – 1
8
Aplikační registry – 2 V kompatibilních módech přístup jen k 32-bitovým částem registrů přesně podle IA-32 V 64-bitovém režimu přístup ke všem 64-bitovým registrům i k nižším velikostem registrů –AL, BL, CL, DL, SIL, DIL, BPL, SPL, R8B - R15B –AH, BH, CH, DH –AX, BX, CX, DX, SI, DI, BP, SP, R8W - R15W –EAX, EBX, ECX, EDX, ESI, EDI, EBP, ESP, R8D - R15D –RAX, RBX, RCX, RDX, RSI, RDI, RBP, RSP, R8 - R15 Možnost měnit adresovací mód (stejně jako na IA-32) –prefix instrukce 67h –změna z 64-bitů (default) na 32-bitů Možnost změny velikosti operandu –64-bitů (prefix REX ), 32-bitů (default), 16-bitů (prefix 66h)
9
Operační módy
10
Segmentové registry V kompatibilních módech zachována plná kompatibilita V přirozeném 64-bitovém prostředí lze využít jen FS a GS pro určení začátku segmentu Ostatní segmenty mají začátek na 0 a jsou přes celý VAP
11
Operační módy
12
Systémové registry – 1
13
Systémové registry – 2 Většina registrů jen prosté rozšíření 32-bitů na 64-bitů CR8=TPR (Task priority register) EFER (Extended Feature Enable Register) –MSR –obsahuje LME (Long Mode Enable) Další MSR –MTRR, PAT, SYSCALL, TSC, machine check
14
Systémová rozšíření a změny – 1 Možnost FAP 52-bitů (aktuálně 40) a VAP 64-bitů (aktuálně 48) Registry pro tabulky popisovačů ( GDTR, IDTR, LDTR a TR ) rozšířeny na 64-bitů Popisovače rozšířeny, aby se do nich vešla 64-bitová adresa –přidáno dalších 64-bitů, v 3. 4-bytu je vyšších 32-bitů adresy Pouze L (long), D, DPL, C a P jsou využity z kódového popisovače –L je nový a určuje, zda se jedná o 64-bitový segment Pouze P je platné v datovém popisovači Systémové popisovače jsou buď zrušeny (16-bitové) nebo rozšířeny (32-bitů na 64-bitů) Ochrana je víceméně zrušena a využívá se pouze ochrana na úrovni stránkování v kombinaci s CPL
15
Systémová rozšíření a změny – 2 IST (Interrupt Stack Table) –alternativní mechanismus pro změnu zásobníku při přerušení Změněný formát TSS pro 64-bitový mód –jen zásobníky pro všechny úrovně ochrany, IST a mapa I/O Rozdělení výjimek a přerušení do priorit –registr CR8 K MTRR přibylo ještě IORR –paměťově mapované I/O Mnoho instrukcí je v 64-bitovém módu neplatných –AAA, AAD, AAM, AAS, BOUND, CALL (far), DAA, DAS, INTO, JMP (far), LAHF, LDS, LES, POP DS, POP ES, POP SS, POPA, PUSH CS, PUSH DS, PUSH ES, PUSH SS, PUSHA, SAHF, SYSENTER, SYSEXIT
16
Stránkování – 1 Příznak NX (No Execute) ve stránkovacích tabulkách
17
Stránkování – 2
18
Výjímky a přerušení – 1 Stávající mechanismus přepínaní zásobníků podle CPL a příslušného RSP v TSS Nový mechanismus přepnutí zásobníku z IST –v interrupt- a trap-gate je 3-bitové pole IST, !=0 index IST –v TSS je 7 IST adres zásobníků Priority –rozdělení do tříd –rozdělení maskovaných přerušení FPU do tříd –možnost dělení externích přerušení do 15 tříd (např. nejvyšší 4 bity čísla přerušení) –přerušení s vyšším číslem priority než je aktuální priorita je blokováno –možnost explicitního nastavení aktuální priority registrem CR8
19
Výjímky a přerušení – 2 0 –RESET, 18 (Machine-Check) 1 –INIT, SMI, externí clock-stop 2 –1 (ladící výjímka) 3 –2 (NMI) 4 –maskovatelné externí přerušení 5 –1 (breakpoint na instrukce), 13 (GPF na limit CS), 14 (Page fault) 6 –6 (Invalid opcode), 7 (koprocesor), 13 (GPF na délku instrukce) 7 (zbytek)
20
Multiprocesory – 1 Možnost vytvořit bez přídavných obvodů 8-procesor Využití Hyper-Transportu Každý MCT zvládá 8 DIMMů
21
Multiprocesory – 2
22
Multiprocesory – 3
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.