Escolar Documentos
Profissional Documentos
Cultura Documentos
SEMINARSKI RAD
iz predmeta
ARHITEKTURA RAČUNARA
I OPERATIVNI SISTEMI
na temu:
Student: Profesor:
Konstantin Simić, 151/04 dr. Dejan Simić
Sadržaj
1. O kompaniji AMD
„Ljudi su na prvom mestu, proizvodi i
profit će doći sami od sebe!“
1
Shift registar je elektronsko kolo koje se sastoji iz serije memorijskih lokacija. Tokom svakog ciklusa časovnika,
informacija iz svake lokacije se pomera (shiftuje) u susednu lokaciju.
2
Bit-slice predstavlja tehniku konstruisanja procesora iz modula, gde svaki procesira jedno bit-polje, odnosno „slice“
operanda.
3
EEPROM (eng. Electrically Erasable Programmable Read-Only Memory) predstavlja memoriju koju je moguće
brisati i reprogramirati.
4
CMOS (eng. Complementary Metal Oxide Semiconductor) je tehnologija za poluprovodničke elemente
sa veoma malom potrošnjom energije.
http://www.geocities.com/kostasyug 4
_______________________________________________________________________________
Godina 1997. je svakako značajna za razvoj kompanije AMD, jer je tada sklopila
partnerstvo sa NexGen-om, radi razvoja AMD-K6® procesora. Nakon objavljivanja ovog
procesora, povratak konkurencije na tržište računarskih komponenti uveo je novi koncept –
personalne računare koje po ceni mogu priuštiti i obični ljudi.
Godine 1998, AMD je izbacio AMD-K6-2 procesor koji je uveo 3DNow!™ tehnologiju. Ta
tehnologija je prva tehnologija kod x86 procesora koja znatno poboljšava performanse 3D grafike,
multimediju i ostale aplikacije koje koriste operacije sa pokretnim zarezom.
Sledeći cilj AMD-a bio je da proizvede sopstveni Windows kompatibilni procesor, za
razliku od prethodnih koji su, u stvari, bili klonovi Intel-ovih procesora. To se i ostvarilo 1999.
godine, kada je proizveden AMD Athlon™ procesor. To je prvi AMD-ov procesor koji je koristio
matične ploče i skupove čipova optimizovane specijalno za njega.
Naredne, 2000. godine, AMD razvija MirrorBit™ tehnologiju.
To je tehnologija koja omogućava da Flash memorija skladišti duplo više
podataka od standardne Flash memorije, bez gubitaka standardnih
performansi. MirrorBit tehnologija je od izuzetnog značaja za razvoj
mobilnih telefona i PDA uređaja. Iste godine proizveden je prvi Athlon
procesor koji radi na frekvenciji od 1 GHz. Tada je lansirana i Mobile
AMD-K6®-2+ familija procesora sa novom PowerNow!™
tehnologijom koja je omogućila tiši rad notebook sistema, uključujući i
duži vek trajanja baterije. Oktobra meseca 2000. godine, pojavio se skup
Slika 1.3 čipova AMD-760™, prva komercijalna PC platforma koja podržava
DDR (eng. Double Data Rate) memorijsku tehnologiju.
Godine 2001, AMD je objavio prvo svoje višeprocesorsko rešenje, zasnovano na Athlon™
MP procesoru i AMD-760™ MP skupu čipova. U oktobru iste godine, lansiran je procesor Athlon
XP koji se zasniva na AMD's QuantiSpeed™ arhitekturi i 3DNow!™ Professional tehnologiji.
Godine 2002, AMD je počeo da proizvodi Athlon procesore u 0.13 mikronskoj tehnologiji.
Tada je proizveden i AMD Alchemy™ Au1100™ procesor.
Godine 2003, AMD je proizveo svoj prvi 64 bitni procesor. To je bio Opteron™ (sl. 1.2),
predviđen prvenstveno za servere i radne stanice. Septembra 2003, AMD je proizveo Athlon™ 64
(sl. 1.3) koji ujedno predstavlja i prvi 64 bitni procesor namenjen krajnjim, kućnim korisnicima.
Veoma je bitno što je on zadržao kompatibilnost izvršavanja 32 bitnih aplikacija.
Jula 2004. godine, pojavljuje se procesor AMD Sempron™ (sl. 1.4), verziju Athlon 64
procesora nešto oslabljenih performansi. Sempron je, zbog svoje niže cene, prvenstveno namenjen
manje zahtevnim kućnim korisnicima. Narednog meseca, AMD objavljuje i prvi x86 procesor sa
dva jezgra.
Slika 1.4
http://www.geocities.com/kostasyug 5
_______________________________________________________________________________
Slika 2.1.1
http://www.geocities.com/kostasyug 6
_______________________________________________________________________________
2.1.1. Registri
Treba napomenuti da AM486 procesori sadrže veliki broj registara koji mogu da se grupišu
u nekoliko grupa:
Osnovni registri
o Registri opšte namene
o Pokazivač instrukcija (Instruction Pointer)
o Registri sa flag-ovima
o Segmentni registri
System Level registri
o Kontrolni registri
o Registri sistemskih adresa
Registri za rad sa operacijama u pokretnom zarezu
o Registri podataka
o Tag Word
o Status Word
o Pokazivači na instrukcije i podatke (Instruction And Data Pointers)
Control Word
Debug i Test registri
Postoji osam registara opšte namene. Oni mogu da skladište adrese ili podatke. Podržavaju
operande podataka dužine od 1, 8, 16 ili 32 bita, dužina polja može biti između 1 i 32 bita. Adresni
operandi mogu biti 16 ili 32 bita. Registri opšte namene su: EAX, EBX, ECX, EDX, ESI, EDI,
EBP i ESP.
Pokazivač instrukcija 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).
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 (sl. 2.1.2). On
kontroliše pojedine operacije i informiše o statusu procesora. Registar EFLAGS sadrži i podregistar
FLAGS (od 0. do 15. bita) koji se najviše koristi za izvršavanje 8086 i 80286 koda. Ukratko ćemo
analizirati pojedine bitove EFLAGS registra5.
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.
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.
5
Napomena: Kao što je prikazano na slici 2.1.2, bitovi 1, 3, 5, 15 i 19-35 su „nedefinisani“ i zbog toga nisu opisani u
daljem tekstu.
http://www.geocities.com/kostasyug 7
_______________________________________________________________________________
Slika 2.1.2
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.
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.
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.
Set registara za rad sa operacijama u pokretnom zarezu (slika 2.1.3) sastoji se od registara
podataka, tag word registra, kontrolnog registra, statusnog registra i pokazivača na instrukcije i
podatke. Razmotrićemo neke od ovih registara.
http://www.geocities.com/kostasyug 8
_______________________________________________________________________________
Slika 2.1.3
Kao što se vidi na slici, 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) i mantisu (64
bita). FPU6 registrima je moguće pristupiti na dva načina: kao steku ili fiksnom setu registara gde se
instrukcije izvršavaju uz pomoć posebnih registara.
TOP polje statusne reči identifikuje trenutni registar vrha steka (sl. 2.1.4).
Slika 2.1.4
6
FPU (eng. Floating Point Unit) je jedinica za rad sa operacijama u pokretnom zarezu.
http://www.geocities.com/kostasyug 9
_______________________________________________________________________________
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.
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.
2.1.2. Instrukcije
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
Instrukcije AM486 procesora mogu da rade sa 0, 1, 2 ili 3 operanda, što u stvari znači da
mogu biti nulaadresne, jednoadresne, dvoadresne ili troadresne. Većina nulaadresnih instrukcija je
veličine od samo jednog bajta (npr. CLI, STI). Jednoadresne instrukcije obično su dužine 2 bajta, a
prosečna veličina instrukcija je 3.2 bajta. Pošto AM486 DX procesori imaju 32 bajtni red čekanja
instrukcija, odjednom se u proseku može uzeti deset instrukcija. 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
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, a pri izvršavanju
80286 ili 8086 instrukcija (16-bitni kod), operandi su osmobitni ili šesnaestobitni.
http://www.geocities.com/kostasyug 10
_______________________________________________________________________________
Slika 2.2.1
7
Termin out-of-order se koristi za instrukcije koje se izvršavaju bez nekog tačno utvrđenog reda.
8
To su RISC operacije. Termin je analogan Intel-ovom terminu mikrooperacije.
http://www.geocities.com/kostasyug 11
_______________________________________________________________________________
Slika 2.2.2
Slika 2.2.3
http://www.geocities.com/kostasyug 12
_______________________________________________________________________________
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:
Slika 3.1
http://www.geocities.com/kostasyug 14
_______________________________________________________________________________
Crna polja predstavljaju kod, bela polja podatke, a siva polja rezultate. Crvena boja služi da
prikaže promenu u širini polja (kvadratići su 32 bitna polja, a pravougaonici 64 bitna polja).
Primećujemo da polja sa kodom ostaju nepromenjena, a polja sa podacima i rezultatima postaju
šira. Uočićemo da se i širina toka podataka udvostručila.
Dakle, postavlja se pitanje koja je svrha 64-bitne arhitekture? Odgovor leži u memoriji. Da
bi procesor pristupio nekom delu memorije radi čitanja ili upisivanja podataka, potrebno je da zna
adresu memorijske lokacije, predstavljenu celim brojem.
Prema tome, 32-bitni registri mogu pristupiti do 4.3 milijardi memorijskih adresa, što u
stvari predstavlja 4 GB fizičke memorije. 64-bitni procesor može da pristupi preko 18 petabajta9
fizičke memorije. To je naročito bitno kod rada sa velikim bazama podataka, gde je memorija od 4
GB bila premala.
Intel-ov i AMD-ov pristup 64-bitnoj arhitekturi je značajno drugačiji. Dok je Intel razvio
potpuno novu, drugačiju arhitekturu od x86, što bi primoralo programere da razvijaju nova
softverska rešenja ili da koriste emulacije, AMD je jednostavno proširio postojeću x86 arhitekturu
novim 64-bitnim registrima.
Slika 3.1.1 prikazuje osnovne komponente Athlon 64 procesora. To su: integrisani kontroler
DDR memorije, jezgro procesora, L1 cache za instrukcije, L1 cache za podatke, L2 cache i
implementirana HyperTransport tehnologija.
Slika 3.1.1
9
Jedan petabajt iznosi 1024 terabajta, odnosno 10245 bajtova.
10
Point-to-point predstavlja tip veze sa samo dve završne tačke.
http://www.geocities.com/kostasyug 15
_______________________________________________________________________________
Ovaj procesor podržava i 16-bitne i 32-bitne aplikacije, zahvaljujući svojim režimima rada,
koji su prikazani na tabeli 3.1.1.
Tabela 3.1.1
Dakle, postoji dva osnovna režima rada: Legacy Mode i Long Mode. Legacy Mode je
striktno kompatibilan 16-bitni, odnosno 32-bitni režim rada, što znači da pod ovim režimom ne
može da radi 64-bitan operativni sistem. O ovim režimima rada bilo je reči pri opisivanju AM486
procesora.
Long Mode je 64-bitni režim rada. U okviru njega, postoji dva podrežima rada: 64-bit Mode
i Compatibility Mode. U svakom slučaju, svaki od ovih podrežima radi pod 64-bitnim operativnim
sistemom, s tim što 64-Bit Mode radi sa 64-bitnim, a Compatibility Mode sa 32-bitnim, odnosno
16-bitnim aplikacijama.
3.1.1. 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. Podela registara
po kategorijama prikazana je u tabeli 3.1.2.
http://www.geocities.com/kostasyug 16
_______________________________________________________________________________
Tabela 3.1.2
Legacy x86 arhitektura podržava 8 GPR registara. Međutim, u praksi, upotreba najmanje
četiri registra povlači kompromis, zato što oni u slučaju izvršavanja velikog broja instrukcija, vrše
specijalne funkcije.
U AMD 64 arhitekturi, dodato je 8 novih GPR registara. Takođe je povećana širina
registara sa 32 na 64 bita. Registri su šematski prikazani na slici 3.1.2
Slika 3.1.2
http://www.geocities.com/kostasyug 17
_______________________________________________________________________________
3.1.2. 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.
Medijske instrukcije, kao što su obrada slika ili prepoznavanje govora, imaju neke
zajedničke karakteristike:
128-bitne i 64-bitne medijske instrukcije u stvari predstavljaju jedan vid nadogradnje SIMD
vektor tehnologije, jer su uključene 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.
http://www.geocities.com/kostasyug 18
_______________________________________________________________________________
4. Zaključak
U svetu mikroprocesora, Intel je imao apsolutni primat sve do kraja devedesetih godina
prošlog veka. Uprkos dugoj tradiciji kompanije, AMD je tek tada postao ozbiljan Intelov konkurent,
najviše zahvaljujući svojoj inovativnosti, za razliku od ranijeg „kopiranja proizvoda“. Ovde je na
jednom mestu bio prikazan kratak pregled arhitektura tri suštinsko različita procesora kompanije
AMD, od klona Intelovog procesora 80486 do savremenog procesora zasnovanog na AMD 64
arhitekturi, sa posebnim osvrtom na registre i instrukcije.
Prva decenija novog milenijuma je svakako na sve poznavaoce visokih tehnologija ostavila
utisak migracije na 64-bitnu procesorsku arhitekturu. Da li će prelazak na ovu arhitekturu značiti
svojevrsnu revoluciju, odnosno otkriće poput procesora 80386, kao prvog x86 32-bitnog procesora,
jedino će vreme pokazati.
http://www.geocities.com/kostasyug 19
_______________________________________________________________________________
5. Literatura