750 likes | 1.03k Views
Arhitektura AMD procesora. Student: Konstantin Simić, 151 /04 Profesor: dr. Dejan Simi ć. Sadržaj. O kompaniji AMD Arhitektura 32-bitnih procesora AM486 DX Blok dijagram Registri Instrukcije Athlon Blok dijagram Kratak pregled 3D NOW! Instrukcija. Sadr žaj (nastavak).
E N D
Arhitektura AMD procesora Student: Konstantin Simić, 151/04 Profesor: dr. Dejan Simić
Sadržaj • O kompaniji AMD • Arhitektura 32-bitnih procesora • AM486 DX • Blok dijagram • Registri • Instrukcije • Athlon • Blok dijagram • Kratak pregled 3D NOW! Instrukcija Arhitektura AMD procesora
Sadržaj (nastavak) • Arhitektura 64 bitnih procesora • Poređenje 32 bitne i 64 bitne arhitekture • Primena 64 bitne arhitekture • AMD 64 arhitektura i Athlon 64 procesor • Registri • Instrukcije Arhitektura AMD procesora
O kompaniji AMD • Kompanija Advanced Micro Devices osnovana je 1969. godine. • 1969. – Prvi proizvod je AMD9300 “shift registar”. • 1974. – AMD ima 1500 zaposlenih. Profit iznosi oko 26.5 miliona US$. • 1975. – Am9101, 8080A i Am2900 Arhitektura AMD procesora
O kompaniji AMD • 8080A je bio klonirana verzija Intel-ovog 8080 procesora. • Am2900 bio je “bit-slice” procesor. • Osamdesetih godina XX veka, AMD masovnije počinje da proizvodi klonove Intel-ovih x86 procesora. • 1981. – AMD uvodi standard za kvalitet INT.STD.1000. Arhitektura AMD procesora
O kompaniji AMD • 1986. – EEPROM kapaciteta od 1 miliona bitova. Saradnja sa SONY-jem. • 1991. – Am386, alternativa 80386 procesora. • 1994. – Am486. • 1997. – Saradnja sa NextGen-om na proizvodnji AMD K6 procesora Arhitektura AMD procesora
O kompaniji AMD • 1998. – Pojava 3DNow! tehnologije i njena implementacija na K6-2 procesor. • 1999. – Athlon • 2000. – MirrorBit i PowerNow tehnologije i pojava Athlon procesora na frekvenciji većoj od 1 GHz. Arhitektura AMD procesora
O kompaniji AMD • 2001. – Prvo AMD-ovo multiprocesorsko rešenje. • 2002. – Proizvodnja procesora u 0.13 mikronskom procesu. Proizveden procesor AMD Alchemy™ Au1100. • 2003. – Prvi AMD 64 procesori, Opteron i Athlon 64. Arhitektura AMD procesora
O kompaniji AMD • 2004. – Sempron, oslabljena verzija Athlon 64 procesora. Iste godine, AMD objavljuje prvi procesor sa dva jezgra. Arhitektura AMD procesora
AMD-ovi procesori Arhitektura AMD procesora
32 bitni procesori AM486 DX Athlon
AM486 DX Blok dijagram Registri Instrukcije
AM486 • 0.7 mikronska tehnologija • Preko milion tranzistora • Često korišćene instrukcije izvršavaju se u jednom ciklusu • 100 % kompatibilni sa 386 procesorima(downward compatibility) • Write-back cache Arhitektura AMD procesora
AM486 • Dva režima rada: • real address mode (real mode) • AM486 procesor radi kao veoma brz 8086 procesor. Ovaj režim prvenstveno služi za podešavanje procesora za rad u protected mode-u. • virtual address mode (protected mode) • omogućava upravljanje memorijskim straničenjem (eng. paging). Arhitektura AMD procesora
Blok dijagram (AM486) Arhitektura AMD procesora
Registri • Osnovni registri • Registri opšte namene • Pokazivač instrukcija (Instruction Pointer) • Registri sa flag-ovima • Segmentni registri • System Level registri • Kontrolni registri • Registri sistemskih adresa • Registri za rad sa operacijama u pokretnom zarezu • Registri podataka • Tag Word • Status Word • Pokazivači na instrukcije i podatke (Instruction And Data Pointers) • Control Word • Debug i Test registri Arhitektura AMD procesora
Registri opšte namene • Ima ih osam: EAX, EBX, ECX, EDX, ESI, EDI, EBP i ESP. • Oni mogu da skladište adrese ili podatke. • Podržavaju operande podataka dužine od 1, 8, 16 ili 32 bita • Dužina polja je od 1 do 32 bita. • Adresni operandi mogu biti 16 ili 32 bita. Arhitektura AMD procesora
Pokazivač instrukcija • Ovo je 32-bitan registar EIP i on sadrži adresu sledeće instrukcije koja će biti izvršena. • Drugačije se naziva brojač naredbi (Program Counter). Arhitektura AMD procesora
Registri sa flag-ovima • Procesorski flag-oviskladište informacije o pojedinim procesorskim funkcijama. • Oni se nalaze u registrima sa flag-ovima. • Kod AM486, naziv ovog registra je EFLAGS koji sadrži i podregistar FLAGS (od 0. do 15. bita) koji se najviše koristi za izvršavanje 8086 i 80286 koda. Arhitektura AMD procesora
Registri sa flag-ovima Arhitektura AMD procesora
Registri sa flag-ovima • AC (alignment check, bit 18) omogućava generisanje grešaka pri pozivanju adrese koja nije složena (misaligned). • VM (virtual 8086 mode, bit 17), ukoliko se uključi (postavi na vrednost 1), omogućava 8086 virtuelni režim u Protected Mode-u rada procesora. • RM (resume flag, bit 16) se koristi kod breakpoint-a debug registra. Ukoliko se uključi, svaka greška kod debug-ovanja se ignoriše pri izvršavanju sledeće instrukcije. Arhitektura AMD procesora
Registri sa flag-ovima • NT (nested task, bit 14) je flag koji se koristi u Protected Mode-u. On služi kao indikator da li je trenutno izvršavan zadatak povezan sa nekim drugim zadatkom. • IOPL (Input/Output Privilege Level, bitovi 13 i 12) pokazuje najveću vrednost CPL (current privilege level) dozvoljenu za izvršavanje ulazno-izlaznih instrukcija bez generisanja izuzetka broj 13 ili konsultovanja IO Permission Bitmape. • OF (overflow flag, bit 11) dobija vrednost 1 ukoliko se umesto rezultata operacije dobije greška overflow. Do overflow greške može doći, recimo, pri traženju veoma velikog stepena nekog broja. Arhitektura AMD procesora
Registri sa flag-ovima • DF (direction flag, bit 10) definiše da li se ESI i/ili EDI registri inkrementiraju ili dekrementiraju u toku izvršavanja string instrukcija. • IF (INTR enable flag, bit 9, kada je uključen, dozvoljava detekciju spoljnih prekida signaliziranih na INTR pinu. • TF (trap enable flag, bit 8) kontroliše generalizaciju izuzetka 1 pri debugovanju. • SF (sign flag, bit 7) je uključen ako je prvi bit rezultata jedan (ako je rezultat negativan). U protivnom, SF se resetuje. Arhitektura AMD procesora
Registri sa flag-ovima • ZF (zero flag, bit 6) ima vrednost jedan ukoliko su svi bitovi rezultata 0. • AF (auxilliary carry flag, bit 4) koristi se radi pojednostavljenja operacija sabiranja i oduzimanja • PF (parity flags, bit 2) je uključen ukoliko je poslednjih osam bitova operacije sadržan neparan broj jedinica. • CF (carry flag, bit 0) je uključen ako operacija rezultuje sabiranjem ili oduzimanjem u high-order bitu. Arhitektura AMD procesora
Segmentni i System Level registri • Segmentni registri (ima ih 6, to su: CS, SS, DS, ES, FS i GS) skladišti vrednosti segment selector-a koje identifikuju trenutno adresibilne segmente memorije. • System Level registri kontrolišu operacije na on-chip cache memoriji, zatim on-chip jedinici za rad sa pokretnim zarezom, kao i mehanizme za straničenje i segmentaciju. Arhitektura AMD procesora
Set registara za rad sa operacijama u pokretnom zarezu • Sastoji se od registara podataka, tag word registra, kontrolnog registra, statusnog registra i pokazivača na instrukcije i podatke. Arhitektura AMD procesora
Set registara za rad sa operacijama u pokretnom zarezu Arhitektura AMD procesora
Registri podataka • Postoji 8 registara podataka (od R0 do R7) dužine po 80 bita. • Svaki od ovih registara je podeljen na tri polja: • znak (dužine 1 bita) • eksponent (15 bitova) • mantisu (64 bita). • FPU registrima je moguće pristupiti na dva načina: kao steku ili fiksnom setu registara gde se instrukcije izvršavaju uz pomoć posebnih registara. Arhitektura AMD procesora
Registri podataka • TOP polje statusne reči identifikuje trenutni registar vrha steka. • Operacija PUSH dekrementira TOP polje i učitava vrednost u novi registar na vrhu, a operacija POP sklanja vrednost sa vrha steka i zatim inkrementira TOP. Arhitektura AMD procesora
Još neki registri... • Tag word obeležava sadržaj svakog numeričkog registra podataka. On prvenstveno služi da optimizuje performanse FPU-a i upravljanja stekom tako što smanjuje razliku između praznih i punih registarskih lokacija. • Status word (statusna reč) je 16-bitni registar koji ima ulogu da prati ukupno stanje rada FPU. • Debug registri, kojih ima šest, omogućavaju on-chip podršku za debugovanje. Oni služe za postavljanje breakpoint-a. Arhitektura AMD procesora
Instrukcije • Setovi instrukcija AM486 DX procesora mogu da se podele u jedanaest kategorija operacija: • Transferi podataka • Aritmetičke • Operacije pomeranja i rotiranja (Shift i Rotate) • Manipulacija sa stringovima • Manipulacija sa bitovima • Kontrolni transferi • Podrška viših programskih jezika • Podrška operativnog sistema • Kontrola procesora • Operacije za rad u pokretnom zarezu • Kontroler operacija za rad u pokretnom zarezu Arhitektura AMD procesora
Instrukcije • Instrukcije AM486 procesora mogu da budu: • nulaadresne • jednoadresne • dvoadresne ili • troadresne. • Većina nulaadresnih instrukcija je veličine od samo jednog bajta (npr. CLI, STI). Arhitektura AMD procesora
Instrukcije • Jednoadresne instrukcije obično su dužine 2 bajta • Prosečna veličina instrukcija je 3.2 bajta. • Kod AM486 procesora odjednom se u proseku može uzeti deset instrukcija, zbog 32-bitnog reda čekanja. Arhitektura AMD procesora
Instrukcije • Primeri opštih instrukcija sa dva operanda su: • Register to Register • Memory to Register • Memory to Memory • Immediate to Register • Register to Memory • Immediate to Memory Arhitektura AMD procesora
Instrukcije • Operandi mogu biti dužine od 8, 16 ili 32 bita. • U opštem slučaju, pri izvršavanju 486 ili 386 mikroprocesorskog koda (32-bitni kod), operandi su osmobitni ili tridesetdvobitni • Pri izvršavanju 80286 ili 8086 instrukcija (16-bitni kod), operandi su osmobitni ili šesnaestobitni. Arhitektura AMD procesora
Athlon Blok dijagram Pregled 3D Now! instrukcija
AMD Athlon • Athlon procesor se zasniva na sedmoj generaciji x86 mikroarhitekture koju karakteriše: • superpipeline paralelizam i • superskalarna mikroarhitektura. • Ima 22 miliona tranzistora • L1 cache je dvostruki (128 KB = 64 KB + 64 KB) Arhitektura AMD procesora
AMD Athlon • Ovaj procesor poseduje: • Dvosmernu tablicu predviđanja (Prediction Table), koja služi za predviđanje grananja, odnosno skokova • Više paralelnih dekodera x86 instrukcija • Više celobrojnih i decimalnih raspoređivača (Scheduler) koji služe za nezavisno, superskalarno, out-of-order izvršavanje instrukcija. Arhitektura AMD procesora
AMD Athlon • AMD Athlon se, čim se pojavio, proizvodio sa K7 jezgrom. • Kasnije su implementirana sledeća jezgra: • Thunderbird (0.18 mikronska tehn.) • Thoroughbred (0.13 mikronska tehn.) • Barton (0.13 mikronska tehn.) Arhitektura AMD procesora
AMD Athlon • Athlon ne izvršava direktno x86 instrukcije. • Pomoću tri dekodera x86 instrukcija, x86 instrukcije se prevode u makrooperacije fiksne dužine. • To omogućava jednostavnije korišćenje pipelining-a. Arhitektura AMD procesora
Blok dijagram Arhitektura AMD procesora
Dekoderi instrukcija Arhitektura AMD procesora
Pipelining kod Athlon-a Arhitektura AMD procesora
3D Now! instrukcije • Athlon procesori su obogaćeni setom instrukcija, nazvanim 3D Now Enhanced koji, pored već postojeće 21 3D Now instrukcije (koje su koristile FP instrukcije u cilju ubrzavanja (akceleracije) trodimenzionalne grafike), obuhvataju i 24 novih instrukcija, koje karakteriše sledeće: • Dvanaest instrukcija koje poboljšavaju multimedijalna celobrojna izračunavanja. Ovo se primenjuje najviše u programima za prepoznavanje glasa i montažu video materijala. • Sedam instrukcija koje ubrzavaju pomeranje podataka u cilju detaljnije grafike i funkcionalnosti dodataka (plugins) za Internet browsere. • Pet instrukcija za procesiranje digitalnog video signala, što poboljšava performanse komunikacionih aplikacija. Arhitektura AMD procesora
64 bitni procesori Poređenje 32 bitne i 64 bitne arhitekture Primena 64 bitne arhitekture Athlon 64 procesor
64 bitni procesori • Prvi 64-bitni procesor je bio R4000, proizvođača MIPS Technologies, koji datira iz davne 1991. godine. • On se koristio za SGI grafičke radne stanice i pokretao je 64-bitni operativni sistem IRIX, zasnovan na UNIX-u. Arhitektura AMD procesora
64 bitni procesori • Nakon ovog procesora, kompanije kao što su IBM, SUN i HP, napravile su svoje 64 bitne procesore za velike serverske sisteme. • 64 bitni procesori počeli masovnije da se proizvode kada je Intel 2001. objavio svoj serverski 64 bitni procesor Itanium. • 2003 – AMD je proizveo procesore Opteron i Athlon 64, koji je već namenjen za krajnje korisnike. Trenutno je to jedini 64-bitni procesor za krajnje kućne korisnike. Arhitektura AMD procesora
64 bitni procesori • 64 bitna arhitektura se zasniva na korišćenju 64-bitnih registara umesto dosadašnjih 32-bitnih. • Upotreba većih registara dolazi do izražaja pri radu sa celim brojevima većim od 32 bita, što je relativno neuobičajeno za današnji softver. Arhitektura AMD procesora
64 bitni procesori • Kada je reč o FP operacijama, 64-bitni registri daju veću preciznost, jer može da stane više brojeva iza decimalnog zareza. • Međutim, kod x86 arhitekture, FP registri su 80-bitni, tako da se ovde ne dobija prednost u odnosu na 32-bitnu arhitekturu. Arhitektura AMD procesora
32-bit vs. 64-bit Arhitektura AMD procesora