SSE
SSE, Streaming SIMD Extensions, uveo je x86 XMM registre i operacije sa pakovanim brojevima u pokretnom zarezu jednostruke tačnosti. To je prvi član niza nezavisno prepoznatljivih SIMD ekstenzija.
Šta treba da znate
SSE, Streaming SIMD Extensions, uveo je x86 XMM registre i operacije sa pakovanim brojevima u pokretnom zarezu jednostruke tačnosti. To je prvi član niza nezavisno prepoznatljivih SIMD ekstenzija.
Kako funkcioniše
XMM registar sadrži 128 bitova. Operacije sa pakovanim podacima jednostruke tačnosti rade na 4 32-bitne vrijednosti u pokretnom zarezu, dok skalarni oblici operišu na jednoj vrijednosti uz ponašanje specifično za instrukciju u pogledu preostalih bitova. SSE je takođe uveo MXCSR kontrolno i statusno okruženje za izuzetke u pokretnom zaredu i zaokruživanje kod SIMD-a.
Đe je korisno
Grafičke i audio rutine mogu primijeniti istu operaciju na više nezavisnih vrijednosti. SIMD trake (lanes) su elementi podataka unutar jedne instrukcije, a ne procesorska jezgra ili niti operativnog sistema. Okolni program i dalje upravlja učitavanjima, upisima i izuzetnim vrijednostima.
Kako provjeriti podršku i omogućenost
CPUID.01H:EDX bit 25 označava SSE. Operativni sistem mora obezbijediti odgovarajuće upravljanje XMM/MXCSR stanjem. U normalnom podržanom x86-64 ABI-ju, SSE i SSE2 predstavljaju osnovne mehanizme, ali 32-bitna aplikacija ima sopstvenu osnovu za raspoređivanje.
SIMD mogućnost opisuje instrukcije, a ne dodatna jezgra. Oblik instrukcije određuje širinu elementa, predznak, zaokruživanje, poravnanje i koje trake međusobno djeluju. Softver mora sačuvati stanje registara prema ABI-ju i koristiti podržano izvršno okruženje.
Šta ova funkcija ne utvrđuje
Sam SSE ne uspostavlja SSE2 cjelobrojne operacije ili operacije dvostruke tačnosti, kasnije SSE ekstenzije, AVX ili polisu podrške operativnog sistema. Neke starije instrukcije zahtijevaju specifično poravnanje memorije, što programer mora poštovati.
Kompatibilnost i performanse u praksi
Kasniji nazivi u SSE porodici imaju zasebne bitove mogućnosti. Za distribuirani binarni fajl, pregledajte kompletan minimalni skup mogućnosti, uključujući biblioteke i kod za pokretanje. Rezervna varijanta je korisna samo ako se nijedna nepodržana instrukcija ne izvrši prije koraka odabira.
Praktična lista za provjeru verifikacije
- Zabilježite tačan model procesora ili platforme, kao i verzije aplikacije, OS-a i runtime-a koji se koriste. Sačuvajte formulaciju stvarne greške ili zahtjeva.
- Provjerite referencu proizvođača za taj tačan model, a zatim pregledajte efektivnu sposobnost i omogućeno stanje u okruženju đe se program izvršava.
- Uporedite svaki zahtjev odabranog binarnog koda ili backend-a. Funkcija sličnog naziva, alias ili široka tehnološka oznaka nijesu dovoljni.
- Potvrdite da je aplikacija odabrala predviđenu implementaciju. Koristite njenu dokumentovanu dijagnostiku i podržanu rezervnu varijantu kada zahtjevi nijesu ispunjeni.
- Napravite po jednu podržanu promjenu u isto vrijeme i ponovite isto radno opterećenje. Držite originalnu konfiguraciju i putanju oporavka dostupnima.
Ako je funkcija navedena, ali je softver ne može koristiti
Počnite sa tačnom komponentom koja otkazuje. Baza podataka hardvera opisuje zabilježenu sposobnost; operativni sistem ili hipervizor mogu izložiti drugačije efektivno okruženje. Greška nelegalne instrukcije takođe zahtijeva istragu stvarne instrukcije koja je izazvala kvar i binarne verzije, jer oštećenje ili nepovezana nepodržana instrukcija mogu proizvesti sličan simptom.
Instalirajte verziju aplikacije, drajvera ili runtime-a podržanu za tačnu platformu i koristite dokumentovanu osnovnu ili rezervnu verziju proizvođača ako je potrebno. Ažuriranje softvera ne može stvoriti instrukciju koja procesoru nedostaje. Promjene firmvera i bezbjednosnih politika treba da prate proceduru proizvođača sistema i plan oporavka, a ne generički recept za optimizaciju.
Izvori i obim ovog objašnjenja
Intel 64 and IA-32 Architectures Software Developer's Manual · x86-64 psABI: nivoi arhitekture i mikroarhitekture procesora
Ove reference utvrđuju arhitekturno ponašanje i softverske zahtjeve. One ne verifikuju nezavisno svaku vrijednost funkcije na povezanoj stranici hardverskog modela. Za podršku modela, koristite dokaze proizvođača sa te stranice i provjerite efektivnu konfiguraciju sistema. Ovaj članak ne pruža benčmark, sertifikaciju niti datum nezavisnog pregleda.
Izvori i verifikacija
Uredničko vlasništvo: Feex. Nije zabilježen datum nezavisne recenzije. Kako istražujemo.
- Intel 64 and IA-32 Architectures Software Developer's Manual · Tomovi 1 i 2 opisuju imenovane familije instrukcija i CPUID; Tom 3 opisuje stanje, straničenje, VMX i kontrole zaštite. Dokumentacija o arhitekturi ne utvrđuje podršku za određeni model.
- x86-64 psABI: nivoi arhitekture i mikroarhitekture procesora · Machine Interface, Processor Architecture: osnovna i kumulativna v2/v3/v4 tabela mogućnosti, provjere stanja operativnog sistema i preporuke za implementaciju.
Da li je ovaj članak bio koristan?
Dovoljno je da označite sa da ili ne. Izaberite razlog ako želite, ili dodajte kratku napomenu.
Hvala. To nam pomaže da poboljšamo ovu stranicu.