Kalo te përmbajtja

MMX

Referenca e arkitekturësFeex

MMX është një shtesë e hershme e instruksioneve me numra të plotë të paketuar (packed-integer) për x86 që përdor regjistra 64-bitësh të cilët ndajnë hapësirën arkitektonike të ruajtjes me skedarin e regjistrave me pikë notuese x87. Ajo gjendje e përbashkët ka rëndësi gjatë përzierjes së kodit.

Çfarë duhet të dini

MMX është një shtesë e hershme e instruksioneve me numra të plotë të paketuar (packed-integer) për x86 që përdor regjistra 64-bitësh të cilët ndajnë hapësirën arkitektonike të ruajtjes me skedarin e regjistrave me pikë notuese x87. Ajo gjendje e përbashkët ka rëndësi gjatë përzierjes së kodit.

Si funksionon

Operacionet MMX e trajtojnë një regjistër 64-bitësh si elemente të plota të paketuara. Emrat e regjistrave MMX janë emra alternativë (alias) për hapësirën e regjistrave x87 në vend që të ofrojnë një gjendje vektoriale moderne të pavarur. EMMS e shënon gjendjen e etiketës x87 si të zbrazët pas përdorimit të MMX-së në mënyrë që kodi i mëvonshëm x87 të mund të përdorë saktë stivën e pikës notuese.

Ku është e dobishme

Softuerët e trashëguar (legacy) multimedialë mund të përdorin MMX për aritmetikë bajtesh të ngopur. Kodi i ri zakonisht përdor XMM ose mekanizma vektorialë më të gjerë në vend të kësaj, duke shmangur ndërveprimin e gjendjes MMX/x87. Skedarët binarë ekzistues mund të përmbajnë ende MMX madje edhe në një procesor shumë më të ri.

Si të kontrollohet mbështetja dhe aktivizimi

CPUID.01H:EDX biti 23 numëron MMX. Për korrigjimin e gabimeve në kodin e trashëguar, shqyrtoni si sekuencën aktuale të instruksioneve ashtu edhe trajtimin e EMMS/gjendjes së tij. Një flamur aftësie nuk mund të vërtetojë se një rutinë ndjek saktë konventën e thirrjes.

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

MMX është SIMD për numra të plotë, jo ekzekutim me qëllim të përgjithshëm 64-bit ose mbështetje për x86-64. Ai nuk nënkupton SSE ose shtesa të mëvonshme. Mungesa e pastrimit gjatë përzierjes së MMX dhe x87 mund të shkaktojë probleme korrektësie që nuk lidhen me faktin nëse CPU-ja i mbështet instruksionet.

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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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ë.

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.

A ishte i dobishëm ky artikull?