Passa ô cuntinutu

MMX

Rifirimentu d'archititturaFeex

MMX è na prima estinzioni d'istruzzioni packed-integer x86 chi usa riggistri a 64-bit chi spartinu lu spazziu archititturali cû file dî riggistri floating-point x87. Stu statu cunnivisu è mpurtanti quannu si mmisca còdici diffirenti.

Chiḍḍu ca t'hà sapiri

MMX è na prima estinzioni d'istruzzioni packed-integer x86 chi usa riggistri a 64-bit chi spartinu lu spazziu archititturali cû file dî riggistri floating-point x87. Stu statu cunnivisu è mpurtanti quannu si mmisca còdici diffirenti.

Comu funziona

L'upirazzioni MMX tràttanu un riggistru a 64-bit comu elementi 'nteri impaccati. Li noma dî riggistri MMX sunnu alias dû spazziu dî riggistri x87 chiuttostu chi furniri un statu vitturiali mudernu e nnipinnenti. EMMS signa lu statu tag x87 comu vacanti doppu l'usu di MMX accussì lu còdici x87 succissivu pò usari la pila floating-point 'n modu currettu.

Unni e' ùtili

Lu software multimediali legacy pò usari MMX pi l'aritmètica a byte saturati. Lu còdici novu spissu usa XMM o risorsi vitturiali cchiù làrichi 'nveci d'iddu, schivannu l'interazzioni di statu MMX/x87. Binari già esistenti ponnu ancora cuntèniri MMX puru supra un prucissuri assai cchiù novu.

Comu cuntrollari lu supportu e l'abbilitazzioni

CPUID.01H:EDX bit 23 elenca MMX. Pô debugging dû còdici legacy, esaminati sia la siquenza d'istruzzioni effittiva sia la sò gistioni di EMMS/statu. Un flag di capacità nun pò stabbiliri si na routine sècuta currettamenti la cumminzioni di chiamata.

Na carattirìstica SIMD discrivi istruzzioni, nun nuclei agghiuntivi. La forma di l'istruzzioni ditèrmina la larghizza di l'elementu, lu signu, l'arrutunnamentu, l'alliniamentu e quali curzìi 'ntiragìscinu. Lu software àvi a prisirvari lu statu dî riggistri di l'ABI e usari n'ambienti d'esecuzzioni suppurtatu.

Zoccu la funziunalitati nun stabbilisci

MMX è SIMD a 'nteri, nun esecuzzioni ginirali a 64-bit o supportu x86-64. Nun signìfica SSE o estinzioni succissivi. Mancari la pulizzìa quannu si mmìscanu MMX e x87 pò causari prubbremi di currittizza chi nun c'entrano cu fattu chi la CPU supporta o menu l'istruzzioni.

Cumpatibbilitati e pristazzioni nnâ pràtica

Noma cchiù tardivi dâ famigghia SSE ànnu bit di carattirìstica siparati. Pi un binariu distribbuitu, esaminati lu gruppu mìnimu cumpretu di carattirìstichi, cumprisi li libbrirìi e lu còdici d'avviamèntu. Un fallback servi sulu si nudda istruzzioni nun suppurtata veni esiguita prima dû passu di silizzioni.

Na lista di virìfica pràtica

  1. Riggistra lu mudellu esattu dû prucissuri o dâ piattafurma e li virsioni di l'applicazzioni, dû SO e dû runtime cuinvorti. Manteni la formulazzioni di l'erruri o dû requisitu riali.
  2. Cuntrolla lu rifirimentu dû prudutturi pi ddu mudellu esattu, poi spizziona la capacitati effittiva e lu statu abbilitatu nta l'ambienti unni lu prugramma gira.
  3. Cunfrunta ogni requisitu dû binariu o dû backend silizziunatu. Na funziunalitati cû nomu sìmili, un pseudònimu o n'etichetta ticnulòggica ginèrica nun abbàstanu.
  4. Cunferma ca l'applicazzioni hà silizziunatu la mplimintazzioni privista. Usa la sò diagnòstica ducumintata e un fallback suppurtatu quannu li requisiti nun sunnu suddisfatti.
  5. Fai un canciamentu suppurtatu a la vota e ripeti lu stissu caricu di travagghiu. Manteni dispunìbbili la cunfigurazzioni urigginali e lu pircorsu di ricùp ситуаazzioni.

Si la funziunalitati e' ndicata ma lu software nun la po usari

Accumenza cû cumpunenti esattu ca fallisci. Un database d'hardware discrivi la capacitati riggistrata; lu sistema upirativu o l'hypervisor ponnu ammustrari n'ambienti effittivu diffirenti. N'erruri di struzzioni illigali addanna puru n'indàggini supra la struzzioni ca fallisci pi daveru e supra la build binaria, picchì la curruzzioni o na struzzioni nun currilata e nun suppurtata ponnu fari un sìntumu sìmili.

Installa la virsioni di l'applicazzioni, dû driver o dû runtime suppurtata pâ piattafurma esatta, e usa la build di basi o di fallback ducumintata dû prudutturi si n'hai bisognu. N'aggiurnamentu dû software nun po criari na struzzioni ca manca nnô prucissuri. Li canciamenti di firmware e di pulìtica di sicurizza avìssiru a sèquiri la prucidura dû prudutturi dû sistema e un pianu di ricùpiru mmeci d'un ricittariu d'uttimizzazzioni ginèricu.

Funti e scanciu di st'esplicazzioni

Intel 64 and IA-32 Architectures Software Developer's Manual · psABI x86-64: liveddi d'architittura e micrarchitittura dû prucissuri

Sti rifirimenti stabbilìscinu lu cumpurtamentu architittùnicu e li requisiti dû software. Nun virìficanu di manera ndipinnenti ogni valuri di funziunalitati nta na pàggina d'un mudellu hardware culligatu. Pû supportu dû mudellu, usa li provi dû prudutturi di dda pàggina e cuntrolla la cunfigurazzioni effittiva dû sistema. St'artìculu nun duna un benchmark, na cirtificazzioni o na data di rivisioni ndipinnenti.

Funti e virìfica

Titularità editoriali: Feex. Nudda data di rivisioni nnipinnenti è riggistrata. Comu facemu i ricerchi.

Fu ùtili st'artìculu?

Un sì o un no abbasta. Scegghi un mutivu si voi, o junci na nota curta.

Fu ùtili st'artìculu?