close

Se connecter

Se connecter avec OpenID

Arhitektura AMD procesora

IntégréTéléchargement
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
2
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
3
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
4
O kompaniji AMD
 8080A je bio klonirana verzija Intelovog 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
5
O kompaniji AMD
 1986. – EEPROM kapaciteta od 1
miliona bitova. Saradnja sa SONYjem.
 1991. – Am386, alternativa 80386
procesora.
 1994. – Am486.
 1997. – Saradnja sa NextGen-om na
proizvodnji AMD K6 procesora
Arhitektura AMD procesora
6
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
7
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
8
O kompaniji AMD
 2004. – Sempron, oslabljena verzija
Athlon 64 procesora. Iste godine,
AMD objavljuje prvi procesor sa dva
jezgra.
Arhitektura AMD procesora
9
AMD-ovi procesori
Arhitektura AMD procesora
10
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
13
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
14
Blok dijagram (AM486)
Arhitektura AMD procesora
15
Registri





Osnovni registri




Registri opšte namene
Pokazivač instrukcija (Instruction Pointer)
Registri sa flag-ovima
Segmentni registri


Kontrolni registri
Registri sistemskih adresa




Registri podataka
Tag Word
Status Word
Pokazivači na instrukcije i podatke (Instruction And Data
Pointers)
System Level registri
Registri za rad sa operacijama u pokretnom zarezu
Control Word
Debug i Test registri
Arhitektura AMD procesora
16
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
17
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
18
Registri sa flag-ovima
 Procesorski flag-ovi skladiš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
19
Registri sa flag-ovima
Arhitektura AMD procesora
20
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
21
Registri sa flag-ovima



NT (nested task, bit 14) je flag
koji se koristi u Protected Modeu. 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
22
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
23
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
24
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
25
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
26
Set registara za rad sa
operacijama u pokretnom zarezu
Arhitektura AMD procesora
27
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
28
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
29
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
30
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
31
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
32
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
33
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
34
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 (32bitni kod), operandi su osmobitni ili
tridesetdvobitni
 Pri izvršavanju 80286 ili 8086
instrukcija (16-bitni kod), operandi su
osmobitni ili šesnaestobitni.
Arhitektura AMD procesora
35
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
37
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
38
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
39
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
40
Blok dijagram
Arhitektura AMD procesora
41
Dekoderi instrukcija
Arhitektura AMD procesora
42
Pipelining kod Athlon-a
Arhitektura AMD procesora
43
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
44
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
46
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
47
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
48
64 bitni procesori
 Kada je reč o FP operacijama, 64bitni 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 32bitnu arhitekturu.
Arhitektura AMD procesora
49
32-bit vs. 64-bit
Arhitektura AMD procesora
50
Zašto 64-bita?
 Zbog memorije.
 Da bi procesor pristupio nekom delu memorije radi
čitanja ili upisivanja podataka, potrebno je da zna
adresu memorijske lokacije, predstavljenu celim
brojem.
 32-bitni registri mogu pristupiti do 4.3 milijardi
memorijskih adresa, što predstavlja 4 GB fizičke
memorije.
 64-bitni procesor može da pristupi preko 18 petabajta
(=1024 TB) fizičke memorije. To je naročito bitno kod
rada sa velikim bazama podataka, gde je memorija od
4 GB bila premala.
Arhitektura AMD procesora
51
Problemi uvođenja 64-bitne
tehnologije
 Većinu operativnih sistema je potrebno
modifikovati da bi mogli da upravljaju
novom arhitekturom.
 Javlja se problem nekompatibilnosti starih,
32 bitnih aplikacija. Ovaj problem je
moguće rešiti na dva načina:
 pomoću režima hardverske kompatibilnosti, što
se rešava softverskom emulacijom
 hardverskom implementacijom 32 bitnog jezgra
u 64 bitne procesore.
Arhitektura AMD procesora
52
Intel-ov i AMD-ov pristup 64-bitnoj
arhitekturi
 Intel-ov i AMD-ov pristup 64-bitnoj
arhitekturi je značajno drugačiji.
 Intel je razvio potpuno novu, drugačiju
arhitekturu od x86
 To primora programere da razvijaju nova
softverska rešenja ili da koriste emulacije
 AMD je proširio postojeću x86 arhitekturu
novim 64-bitnim registrima
Arhitektura AMD procesora
53
Athlon 64
 Registri
 Instrukcije
Athlon 64 – komponente
Arhitektura AMD procesora
55
Athlon 64
 Značajne novine kod Athlon 64
procesora su sledeće:
 8 novih registara opšte namene
(GPR)
 Svih 16 GPR-a su 64-bitni
 Postoji 8 novih XMM registara
 Uniformno bajt-registarsko
adresiranje GPR
 Novi prefiks instrukcija (REX)
pristupa proširenim registrima
Arhitektura AMD procesora
56
Režimi rada Athlon 64 procesora
Arhitektura AMD procesora
57
Registri
 Registri procesora Athlon 64 mogu se
podeliti na dve velike grupe.
 To su:
 Registri za rad u 64-bitnom režimu rada i
 Registri za rad u kompatibilnom,
odnosno legacy režimu.
Arhitektura AMD procesora
58
Registri
Arhitektura AMD procesora
59
Registri
Arhitektura AMD procesora
60
Instrukcije


Instrukcije opšte namene (General Purpose
Instructions) predstavljaju osnovne celobrojne istrukcije
koje se koriste u gotovo svim programima. Većina ovih
instrukcija učitava, skladišti ili manipuliše sa podacima koji
se nalaze u GPR registrima ili u memoriji.
128-bitne medijske instrukcije. Postoje SMID proširene
instrukcije (SSE, SSE 2, SSE 3) koje učitavaju, skladište ili
manipulišu podacima koji se prvenstveno nalaze na 128bitnim XMM registrima. One mogu da procesuiraju
celobrojne i FP operacije na vektorskim i skalarnim tipovima
podataka. Pošto vektorske instrukcije mogu nezavisno i
istovremeno izvršavati jednu operaciju na više setova
podataka, po Flynn-ovoj klasifikaciji, možemo ih ubrojati u
single instruction-multiple data (SIMD) instrukcije.
Arhitektura AMD procesora
61
Instrukcije
 64-bitne medijske instrukcije predstavljaju
tehnološke instrukcije za MMX (MultiMedia eXtension)
i 3D Now tehnološke instrukcije. One učitavaju
podatke, memorišu ih ili manipulišu sa podacima koji
se prvenstveno nalaze na 64-bitnim MMX registrima.
Isto rade sa skalarnim i vektorskim tipovima
podataka. Takođe, i ove su instrukcije SIMD tipa i
korisne su u medijskim aplikacijama koje rade sa
blokovima podataka.
 X87 FP instrukcije su instrukcije korišćene u x87
aplikacijama. One učitavaju, beleže ili manipulišu
podacima u legacy x87 aplikacijama.
Arhitektura AMD procesora
62
Instrukcije
 Neke od instrukcija povezuju dva ili
više setova instrukcija. Na primer,
postoje takve instrukcije koje
premeštaju podatke iz registara opšte
namene u XMM ili MMX registre, a
mnoge celobrojne vektor instrukcije
mogu raditi na XMM ili MMX
registrima, iako ne istovremeno.
Arhitektura AMD procesora
63
Medijske instrukcije
 U njih spadaju obrada slika ili
prepoznavanje govora.
 Imaju neke zajedničke karakteristike:
 Procesiraju velike količine podataka
 Često nad podacima ponavljaju iste
operacije
 Podaci su često predstavljeni malim
količinama, na primer 16 bita za audio
snimak.
Arhitektura AMD procesora
64
Medijske instrukcije
 64-bitne i 128-bitne medijske
instrukcije su napravljene da ubrzaju
multimedijalne aplikacije.
 Ove instrukcije koriste oblik
vektorskog paralelnog procesiranja,
poznatijeg kao Single Instruction
Multiple Date (SIMD).
Arhitektura AMD procesora
65
Medijske instrukcije
 Navedena vektorska tehnologija ima
sledeće karakteristike:
 Jedan registar može skladištiti više nezavisnih
podataka.
 Vektorska instrukcija može da manipuliše svim
podacima u registru, nezavisno i istovremeno.
 Uključene su neke specijalne instrukcije koje
pokreću česte operacije u multimedijalnim
programima. Na primer, podešavanje osvetljenja
ekrana (brightness) u nekoj grafičkoj aplikaciji
se sada vrši uz pomoć aritmetičkih instrukcija.
Arhitektura AMD procesora
66
Literatura















Dejan Simić, Pavle Bataveljić : Organizacija računara i operativni
sistemi, FON, Beograd, 2004.
Hari Njutn : Njutnov rečnik, Kompjuter biblioteka, Čačak, 2005.
http://www.amd.com
http://developer.amd.com
http://www.amdzone.com
http://www.ul.ie/~rinne/et4508.htm
http://arstechnica.com/cpu/03q1/x86-64/x86-64-1.html
http://www.pctechguide.com
http://www.pcstats.com/articleview.cfm?articleID=1466
http://titan.etf.bg.ac.yu/~gvozden/mips/radovi/pc_na_dlanu/procesori/am
d.html
http://www.heise.de/ct/english/99/16/092/
http://www.osdata.com/topic/language/asm/register.htm
http://www.techweb.com
http://www.wikipedia.com
http://www.webopedia.com
Arhitektura AMD procesora
67
Auteur
Document
Catégorie
Uncategorized
Affichages
5
Taille du fichier
878 KB
Étiquettes
1/--Pages
signaler