MMX instrukcije

Nova tema  Odgovori 
Podelite temu sa drugarima: ZARADITE PRODAJOM SVOJIH RADOVA
 
Ocena teme:
  • 0 Glasova - 0 Prosečno
  • 1
  • 2
  • 3
  • 4
  • 5
Autor Poruka
Vesnica Nije na vezi
Posting Freak
*****

Poruka: 2,567
Pridružen: May 2010
Poruka: #1
MMX instrukcije
Maturski, seminarski i diplomski radovi iz informatike.

Mada je svaka nova generacija procesora IA-32 arhitekture donosila neka proširenja u pogledu skupa instrukcija, prva zaista krupna ekstenzija na IA-32 arhitekturu je bilo dodavanje MMX (multimedia extensions) instrukcija na kasnijim verzijama Pentium procesora. MMX ekstenzije uvode uslovno rečeno osam novih 64-bitnih cjelobrojnih registara i određen broj novih instrukcija primarno namijenjenih za paralelnu obradu nekoliko podataka malih cjelobrojnih tipova. Prilikom dizajniranja MMX ekstenzija pošlo se od malog broja aplikacija (multimedija, komunikacije i sl.) i analizirane su unutrašnje petlje ključnih algoritama u takvim aplikacijama. Pokazalo se da su osnovne karakteristike analiziranih algoritama mali cjelobrojni tipovi podataka (8-bitni ili 16-bitni), visok nivo paralelizma u operacijama nad takvim podacima, te dominantna upotreba sabiranja i množenja od aritmetičkih operacija. Onda su MMX instrukcije osmišljene da mogu da se iskoriste da znatno ubrzaju takve algoritme.

1. MMX instrukcije

Dvodimenzionalna grafika ili video slika može biti predstavljena nizom velikih brojeva. Boja i osvjetljenje svake tačke može da se enkodira u 8-bitni podatak. Procesiranje takvih podataka ima dvije važne karakteristike :
• Manipulacija sa pojedinačnim pikselima često uključuje veoma proste aritmetičke ili logičke operacije.
• Za neke aplikacije koje zahtjevaju prikaz u realnom vremenu, zahtjeva se veoma velika brzina izračunavanja.
Iste ove karakteristike se odnose i na sampliranje zvučnih signala i na procesiranje govora, a tu sekvenca označenih brojeva predstavlja uzorke kontinualnog analognog signala koji se uzimaju u određenim vremenskim intervalima. U ovakvim aplikacijama, brzina procesiranja se postiže pakovanjem gore opisanih podataka u male grupe, gdje se podaci u grupama mogu paralelno procesirati. Skup instrukcija za IA-32 sadrži instrukcije koje paralelno rade nad podacima koji su spakovani u 64-bitne četvorostruke riječi. Takve instrukcije se nazivaju MMX instrukcije - instrukcije za proširenje multimedije. Operandi ovih instrukcija mogu biti u memoriji ili u nekom od osam registara za rad sa brojevima u pokretnom zarezu i tada se na njih referiše sa MM0 do MM7. Obezbjeđene su instrukcije za prenos podataka između memorije i MMX registara. Instrukcija PADDB MMi, src - sabira odgovarajuće bajtove dva osmobajtna operanda i smješta osam suma bajtova u odredišni registar.

Izvorni operand može biti bilo memorija bilo MMX registar, a odredište mora biti registar. Slične instrukcije postoje za operacije oduzimanja i za logičke operacije. Česta operacija kod procesiranja signala je množenje kratke sekvence ulaznih signala sa tzv. težinskim konstantama i sabiranje tako dobijenih proizvoda, kako bi se oformio izlazni uzorak signala. Kao što se i očekuje, postoji i MMX instrukcija koja kombinuje operacije sabiranja i množenja, a koja se izvršava nad 64-bitnim MMX operandom koji sadrži četiri 16-bitna podatka - uzorka.

1.1 Skup registara za MMX instrukcije

MMX ekstenzije su podrazumijevale i uvođenje osam novih 64-bitnih registara označenih imenima MM0, MM1 i tako redom do MM7 nad kojima barataju MMX instrukcije.
Osnovna karakteristika ovog skupa registara jeste da zapravo nisu u pitanju novi registri, već su za iste iskorišćena polja za mantisu registara matematičkog koprocesora. Zbog ovakve organizacije, nije moguće istovremeno koristiti MMX instrukcije i raditi u pokretnom zarezu- razlog za ovakvu odluku u dizajnu je bilo to što je uočeno da ciljna grupa aplikacija nema izračunavanja u pokretnom zarezu. Ono što je važno jeste da se uvijek po završetku korišćenja ovih registara kao MMX registara, a prije njihovog ponovnog korišćenja kao registara matematičkog koprocesora mora izvršiti MMX instrukcija EMMS, koja reinicijalizuje stanje matematičkog koprocesora.

U MMX instrukcijama se pomenutim registrima pristupa direktno tj. na isti način kao registrima opšte namjene odnosno ovi registri se ne smatraju organizovanim u stek kao što je to slučaj kada se radi sa registrima koprocesora. MMX registri se mogu koristiti na više načina: u njima se može držati osam 8-bitnih, četiri 16-bitna ili dva 32-bitna broja nad kojima se mogu paralelno izvršavati određene operacije ili se pak registri mogu tretirati kao jedan 64-bitni podatak.

Prefiks većine MMX instrukcija je P. Prije korišćenja MMX instrukcija treba obavezno provjeriti da li ih procesor podržava, što se može uraditi tako što se izvrši CPUID instrukcija sa sadržajem EAX registra jednakim 1, a potom provjeri bit 23 registra EDX – ukoliko je ovaj bit jednak 1, procesor podržava MMX instrukcije. Pored ovoga trebalo bi provjeriti i da li je isključena emulacija numeričkog koprocesora, ali obzirom da na poslednjim generacijama procesora IA-32 arhitekture nema razloga da tako ne bude, ova se provjera ponekad preskače.

1.2 Tretman prekoračenja kod MMX instrukcija

Važna karakteristika MMX instrukcija je da ne generišu prekoračenja. Ove instrukcije naime rade ili tako da ignorišu prekoračenja ( tzv. wraparound ) ili pak rade u tzv. režimu saturacije, kada se u slučaju prekoračenja za rezultat uzima najbliža vrijednost koja se može predstaviti datim tipom podataka. Neka se npr. vrši sabiranje dva označena 8-bitna podatka čije su vrijednosti 100 i 50. U uobičajenom režimu rada bi bilo prijavljeno prekoračenje i rezultat bi bio negativan. U wraparound režimu prekoračenje ne bi bilo prijavljeno, a rezultat bi bio ostavljen kao negativan. U režimu saturacije bi rezultat bio postavljen na 127, kao vrijednost koja je najbliža stvarnom rezultatu od svih vrijednosti koje se datim tipom mogu predstaviti.

UVOD 2
1. MMX instrukcije 3
1.1 Skup registara za MMX instrukcije 3
1.2 Tretman prekoračenja kod MMX instrukcija 4
1.3 Instrukcije za transfer podataka 5
1.4 Aritmetičke instrukcije 5
1.5 Instrukcije poređenja 6
1.6 Instrukcije konverzije podataka 6
1.7 Logičke instrukcije 8
1.8 Instrukcije šiftovanja 8
1.9 Upotreba MMX instrukcija 9
2. MMX procesori 17
ZAKLJUČAK 18
Literatura 19


PORUČITE RAD NA OVOM LINKU >>> SEMINARSKI
maturski radovi seminarski radovi maturski seminarski maturski rad diplomski seminarski rad diplomski rad lektire maturalna radnja maturalni radovi skripte maturski radovi diplomski radovi izrada radova vesti studenti magistarski maturanti tutorijali referati lektire download citaonica master masteri master rad master radovi radovi seminarske seminarski seminarski rad seminarski radovi kvalitet kvalitetni fakultet fakulteti skola skole skolovanje titula univerzitet magistarski radovi

LAJKUJTE, POZOVITE 5 PRIJATELJA I OSTVARITE POPUST
02:41 PM
Poseti veb stranicu korisnika Pronađi sve korisnikove poruke Citiraj ovu poruku u odgovoru
Nova tema  Odgovori 


Verovatno povezane teme...
Tema: Autor Odgovora: Pregleda: zadnja poruka
  MMX instrukcije - mikroprocesori Vesnica 0 1,116 15-06-2010 10:05 PM
zadnja poruka: Vesnica

Skoči na forum: