Novi set instrukcija XOP i FMA4
BD mikroarhitektura za sada podržava sve dosadašnje setove instrukcija izuzev 3DNow! podrške koja je sada izbačena. Tu su SSE4.1, 4.2, AVX – Advanced Vector Extensions, XOP i FMA4, AES-NI instrukcije za enkripciju, LWP – Light Weight Profiling.
SSE4.1 i 4.2 su do sada bili „Intel only“. Dodavanjem ovih instrukcija ubrzaće se multimedijalne aplikacije koje koriste ove instrukcije. AVX je poznat od uvođenja Sandy Bridge arhitekture o kojoj smo detaljno pisali u Januaru ove godine. AVX donosi 256-bitne vektore i ne destruktabilni ciljni registar. Dakle, međurezultati se čuvaju.
XOP set instrukcija je uveden kao revizija SSE seta instrukcija i on predstavlja novost u x86 svetu. Ove instrukcije uglavnom rade sa celobrojnim vektorima. Omogućavaju operacije kao što su celobrojno spojeno množenje i sabiranje (multiply accomulate), horizontalno celobrojno sabiranje, celobrojno poređenje, shift i rotate operacije, permutacije bajtova, operacije uslovnog pomeranja (conditional move), izdvajanje frakcije iz FP brojeva – tj. izdvajanje celog dela ili razlomljenog dela nekog realnog broja. Koding shema XOP i FMA4 instrukcija je ista kao što je kod Intelovog AVX seta instrukcija.
Postojeća VEX koding shema proširuje postojeći set instrukcija i dozvoljava definisanje novih ili modifikacije prethodnih. Opkod mapa omogućuje dodavanje budućih instrukcija. Ona dozvoljava da instrukcije imaju do pet operanada, gde originalna shema dozvoljava samo dva operanda. Dozvoljava da vektorski registri budu povećani na 256-bita, a ako treba i na više od toga.
AMD je prvo krenuo da propagira SSE5 instrukcijski set koji uključuje novu koding shemu sa tri operanda, koristeći dodatni bajt (DREX). Nakon ovoga je Intel uveo AVX set sa kojim je uveo i novu koding shemu, koja se zove VEX, čime su napravili problem AMD-u po pitanju kompatibilnosti. Kako god, VEX shema je skalabilnija od dodatnog DREX bajta i AMD je hteo da prihvati VEX shemu koja se koristi za FMA4 i XOP instrukcije. Intel nije dozvolio AMD-u da koristi bilo koji deo njihovog VEX enkoding prostora, pa je npr. za XOP instrukcije korišćen opkod bajt 8F, ali je koding shema ostala identična Intelovoj VEX sa 3-bajtnim prefiksom. Zbog ovoga se nove instrukcije ne zovu SSE5 ili AVX, nego XOP i FMA4. Razlog za korišćenje drugačijeg prefiks koda za klasifikaciju instrukcija je potreba da se izbegne bilo koja kombinacija kodova koja bi mogla da se poklopi sa nekim od budućih instrukcija koje bude razvio Intel. Ne postoje zvanične informacije koje nam govore da li je postojao interni dogovor između ove dve kompanije.
FMA instrukcijski set koristi se za izvršavanje „fused multiply-add“ operacija. Ovo znači u prevodu da ove instrukcije jednim udarcem ubijaju dve muve. Preciznije rečeno, jedna instrukcija vrši dve različite računske operacije, konkretno sabiranje i množenje. Bulldozer koristi FMA4 set, koji podržava rad sa 4 operanda. Operandi su oblika A = B + C*D.
AES-NI je instrukcijski set koji se koristi u novijim Intelovim procesorima zasnovanim na Westmere jezgru, kao i u Sandy Bridge jezgrima. Ove instrukcije se koriste za enkripciju i dekripciju datoteka i nizova podataka kodiranih AES (Advanced Encryption Standard) standardom (FIPS 197). Bulldozer-ov Flex FP može da izvrši ove instrukcije operišući istovremeno sa 16 bajtova po ciklusu.
LWP – Light Weight Profiling je veoma korisna instrukcija za developere koji žele da poboljšaju performanse svojih programa uz pomoć profajlera. Ovaj set sadrži šest novih instrukcija.
Dodaj komentar