SSE4.2
SSE4.2 shton instruksione x86 për krahasimin e vargjeve, një krahasim numrash të plotë të paketueshëm dhe instruksione CRC32. Instruksioni i tij CRC përdor polinomin CRC-32C dhe nuk është një hash kriptografik.
Çfarë duhet të dini
SSE4.2 shton instruksione x86 për krahasimin e vargjeve, një krahasim numrash të plotë të paketueshëm dhe instruksione CRC32. Instruksioni i tij CRC përdor polinomin CRC-32C dhe nuk është një hash kriptografik.
Si funksionon
Familja e instruksioneve PCMPxSTRx ofron krahasime të konfigurueshme mbi elemente bajti ose fjale me gjatësi eksplicite ose implicite. Instruksionet skalare CRC32 përditësojnë një shumë kontrolli (checksum) duke përdorur polinomin Castagnoli. Zgjerimi përfshin gjithashtu një krahasim me shenjë të paketueshëm të fjalëve katërfishe (quadword). Këto janë operacione të ndryshme të grupuara nën një flamur të vetëm veçorie.
Ku është e dobishme
Një bibliotekë ruajtjeje ose rrjeti mund të përshpejtojë CRC-32C, dhe një rutinë teksti mund të përdorë krahasime të paketueshme të vargjeve. Një format skedari që kërkon një polinom tjetër CRC nuk mund të zëvendësojë instruksionin CRC32 pa një transformim të saktë algoritmik. Integriteti kriptografik kërkon një ndërtim të veçantë.
Si të kontrollohet mbështetja dhe aktivizimi
CPUID.01H:ECX biti 20 numëron SSE4.2. Kontrolloni instruksionin e veçantë të kërkuar dhe modalitetin e tij të punës, dhe testoni veçmas POPCNT. Një aplikacion që kërkon SSE4.2 ka nevojë për një version të pajtueshëm dhe të mbështetur kur flamuri mungon.
Një veçori SIMD përshkruan instruksione, jo bërthama shtesë. Forma e instruksionit përcakton gjerësinë e elementit, shenjën, rrumbullakimin, shtrirjen (alignment) dhe se cilat korsi ndërveprojnë. Softueri duhet të ruajë gjendjen e regjistrave të ABI-t dhe të përdorë një mjedis ekzekutimi të mbështetur.
Çfarë nuk përcakton kjo veçori
SSE4.2 nuk vërteton POPCNT edhe kur ato shfaqen shpesh së bashku. Ai nuk ka lidhje me etiketën e veçantë AMD SSE4a. Mbështetja nuk është një garanci se një rutinë vargjesh ose shumë kontrolli është më e shpejtë se çdo alternativë tjetër në atë procesor.
Përputhshmëria dhe performanca në praktikë
Emrat e mëvonshëm në familjen SSE kanë bite të veçanta veçorish. Për një binar të vendosur në punë, shqyrtoni grupin minimal të plotë të veçorive, duke përfshirë bibliotekat dhe kodin e nisjes. Një zgjidhje alternative (fallback) është e dobishme vetëm nëse asnjë instruksion i pambështetur nuk ekzekutohet përpara hapit të përzgjedhjes.
Një listë praktike kontrolli për verifikim
- Regjistroni modelin e saktë të procesorit ose platformës dhe versionet e përfshira të aplikacionit, sistemit operativ dhe mjedisit të ekzekutimit. Ruani formulimin e gabimit ose kërkesës aktuale.
- Kontrolloni referencën e prodhuesit për atë model të saktë, më pas inspektoni aftësinë efektive dhe gjendjen e aktivizuar në mjedisin ku ekzekutohet programi.
- Krahasoni çdo kërkesë të binarit ose prapavijës së zgjedhur. Një veçori me emër të ngjashëm, një pseudonim ose një etiketë e gjerë teknologjike nuk mjafton.
- Konfirmoni që aplikacioni ka zgjedhur implementimin e synuar. Përdorni diagnostikimet e dokumentuara të tij dhe një alternativë të mbështetur kur kërkesat nuk plotësohen.
- Bëni një ndryshim të mbështetur në një moment dhe përsëritni të njëjtën ngarkesë pune. Mbajeni të disponueshme konfigurimin origjinal dhe rrugën e rikuperimit.
Nëse veçoria listohet por softueri nuk mund ta përdorë atë
Filloni me komponentin e saktë që dështon. Një bazë të dhënash harduerike përshkruan aftësinë e regjistruar; sistemi operativ ose hipervizori mund të ekspozojë një mjedis efektiv të ndryshëm. Një gabim instruksioni të paligjshëm kërkon gjithashtu hetim të instruksionit aktual me defekt dhe të ndërtimit të binarit, sepse dëmtimi ose një instruksion i palidhur i pambështetur mund të prodhojë një simptomë të ngjashme.
Instaloni versionin e aplikacionit, drajverit ose mjedisit të ekzekutimit të mbështetur për platformën e saktë, dhe përdorni versionin bazë ose alternativ të dokumentuar nga prodhuesi nëse është e nevojshme. Një përditësim softueri nuk mund të krijojë një instruksion që procesorit i mungon. Ndryshimet në firmware dhe politikat e sigurisë duhet të ndjekin procedurën e prodhuesit të sistemit dhe një plan rikuperimi në vend të një recete të përgjithshme optimizimi.
Burimet dhe fusha e këtij shpjegimi
Intel 64 and IA-32 Architectures Software Developer's Manual · psABI x86-64: nivelet e arkitekturës dhe mikroarkitekturës së procesorit
Këto referenca përcaktojnë sjelljen arkitekturore dhe kërkesat e softuerit. Ato nuk verifikojnë në mënyrë të pavarur çdo vlerë të veçorive në faqen e lidhur të modelit të harduerit. Për mbështetjen e modelit, përdorni dëshmitë e prodhuesit në atë faqe dhe kontrolloni konfigurimin efektiv të sistemit. Ky artikull nuk ofron një test standard vlerësimi, certifikim ose datë shqyrtimi të pavarur.
Burimet dhe verifikimi
Pronësia editoriale: Feex. Nuk është regjistruar asnjë datë shqyrtimi të pavarur. Si hulumtojmë.
- Intel 64 and IA-32 Architectures Software Developer's Manual · Vëllimet 1 dhe 2 përshkruajnë familjet e emërtuara të instruksioneve dhe CPUID; Vëllimi 3 përshkruan gjendjen, faqosjen, VMX dhe kontrollet e mbrojtjes. Dokumentacioni i arkitekturës nuk përcakton mbështetjen për një model të caktuar.
- psABI x86-64: nivelet e arkitekturës dhe mikroarkitekturës së procesorit · Ndërfaqja e makinës, Arkitektura e procesorit: tabela bazë dhe kumulative e veçorive v2/v3/v4, kontrollet e gjendjes së OS-it dhe rekomandimet e vendosjes.
A ishte i dobishëm ky artikull?
Një po ose jo mjafton. Zgjidhni një arsye nëse dëshironi, ose shtoni një shënim të shkurtër.
Faleminderit. Kjo na ndihmon ta përmirësojmë këtë faqe.