MMX Tehnologija Chapter 2 Definicija MMX tehnologije MMX

  • Slides: 36
Download presentation
MMX Tehnologija - Chapter 2 -

MMX Tehnologija - Chapter 2 -

Definicija MMX tehnologije MMX tehnologija predstavlja proširenje (ekstenzija) Intel-ove arhitekture, IA, namenjena da ubrza

Definicija MMX tehnologije MMX tehnologija predstavlja proširenje (ekstenzija) Intel-ove arhitekture, IA, namenjena da ubrza multimedija komunikacione algoritme. MMX uključuje nove instrukcije i nove tipove podataka pomoću kojih se kontroliše paralelizam koji je prirodan za sve multimedija aplikacije, a sve je to izvedeno sa ciljem da se poveća nivo performansi host-CPU-a.

Pakovani podaci i pakovane instrukcije U odnosu na standardnu IA-32, uvedena su još četiri

Pakovani podaci i pakovane instrukcije U odnosu na standardnu IA-32, uvedena su još četiri nova tipa podataka, a to su : a) pakovani bajtovi, b) pakovane reči, c) pakovane duple reči, i d) četvorostruka reč.

Novo-uvedeni tipovi operacija Kod MMX tehnologije novo-uvedeni tipovi operacija su: a) pakovane aritmetičke instrukcije,

Novo-uvedeni tipovi operacija Kod MMX tehnologije novo-uvedeni tipovi operacija su: a) pakovane aritmetičke instrukcije, b) instrukcije za manipulisanje podacima, c) logičke instrukcije, i d) instrukcije saturacione artmetike. Pakovano sabiranje

Primer Data Parallelism

Primer Data Parallelism

Tipični primeri kod obrade slika Primeri image-compositing

Tipični primeri kod obrade slika Primeri image-compositing

Primeri organizacije memorije kod slika Postoji veći broj načina memorisanja podataka o slici, a

Primeri organizacije memorije kod slika Postoji veći broj načina memorisanja podataka o slici, a mi ćemo razmotriti samo dva: a) color plane, b) consecutive pixel

Color plane Kod color-plane memorijske organizacije R, G, B i alpha komponente slike su

Color plane Kod color-plane memorijske organizacije R, G, B i alpha komponente slike su smeštene u uzastopne memorijske lokacije u različitim memorijskim blokovima. Data-parallelism kod izračunavanja A*alpha(A) + B*(1 – alpha(A))

Consecutive pixel Kod concecutive pixel memorijske organizacije informacija o svakoj slici memoriše se tako

Consecutive pixel Kod concecutive pixel memorijske organizacije informacija o svakoj slici memoriše se tako što se tri kolor komponente R, G i B o svakom pixel-u upisuju u sukcesivne memorijske adrese u okviru istog memorijskog bloka.

Data-layout i poravnjanje memorije

Data-layout i poravnjanje memorije

Data-dependent izračunavanja Kod nekih multimedia algoritama postoji visok stepen data-parallelism-a, dok je controlflow (tok

Data-dependent izračunavanja Kod nekih multimedia algoritama postoji visok stepen data-parallelism-a, dok je controlflow (tok upravljanja) zavisan-po-podacima (data dependent). Tipičan jedan ovakav primer predstavlja izračunavanje apsolutne vrednosti /* izračunavanje apsolutne vrednosti for i = 1 to 100 if a[i] <0 then b[i]= -a[i] else b[i] = a[i]; /* izračunavanje maksimalne vrednosti for i = 1 to 100 if a[i] < c[i] then b[i]= c[i] else b[i] = a[i]; Pitanje koje se sada postavlja je sledeće: Na koji način izvršiti ova data-dependent izračunavanja paralelno nad nekoliko elemenata bez prekidanja (breaking) toka-izvršenja sa uslovnim instrukcijama.

Instrukcija packed compare i generisanje bit maske

Instrukcija packed compare i generisanje bit maske

Koriščenje bit maske da bi se izvršila uslovna selekcija

Koriščenje bit maske da bi se izvršila uslovna selekcija

Manipulisanje podacima Transponovanje matrice

Manipulisanje podacima Transponovanje matrice

Instrukcija unpack kojom se vrši preplitanje podataka

Instrukcija unpack kojom se vrši preplitanje podataka

Korišćenje unpack instrukcije kod transponovanja matrice

Korišćenje unpack instrukcije kod transponovanja matrice

Instrukcija pack

Instrukcija pack

Wraparound i Saturaciona aritmetika

Wraparound i Saturaciona aritmetika

Sabiranje kod označene saturacije

Sabiranje kod označene saturacije

Sabiranje kod ne-označene saturacije

Sabiranje kod ne-označene saturacije

Aritmetika u fiksnom zarezu Fx. P aritmetika sa regularnim integer instrukcijama

Aritmetika u fiksnom zarezu Fx. P aritmetika sa regularnim integer instrukcijama

Operacija množenja kod Fx. P aritmetike Aritmetika u fiksnom zarezu Operacija množenja kod Fx.

Operacija množenja kod Fx. P aritmetike Aritmetika u fiksnom zarezu Operacija množenja kod Fx. P aritmetike

Dalji razvoj tehnologije ekstenzije

Dalji razvoj tehnologije ekstenzije

Dalji razvoj tehnologije ekstenzije

Dalji razvoj tehnologije ekstenzije

Dalji razvoj tehnologije ekstenzije

Dalji razvoj tehnologije ekstenzije

Dalji razvoj tehnologije ekstenzije

Dalji razvoj tehnologije ekstenzije

Dalji razvoj tehnologije ekstenzije

Dalji razvoj tehnologije ekstenzije

Dalji razvoj tehnologije ekstenzije

Dalji razvoj tehnologije ekstenzije

Dalji razvoj tehnologije ekstenzije

Dalji razvoj tehnologije ekstenzije

Dalji razvoj tehnologije ekstenzije

Dalji razvoj tehnologije ekstenzije

Dalji razvoj tehnologije ekstenzije

Dalji razvoj tehnologije ekstenzije

Dalji razvoj tehnologije ekstenzije

Dalji razvoj tehnologije ekstenzije

Dalji razvoj tehnologije ekstenzije

Dalji razvoj tehnologije ekstenzije

Dalji razvoj tehnologije ekstenzije

Dalji razvoj tehnologije ekstenzije

Dalji razvoj tehnologije ekstenzije

Dalji razvoj tehnologije ekstenzije

Dalji razvoj tehnologije ekstenzije

Dalji razvoj tehnologije ekstenzije