Цю статтю потрібно повністю переписати відповідно до Вікіпедії. (серпень 2019) |
Ця стаття містить , але походження тверджень у ній через практично повну відсутність . (серпень 2019) |
MMX (Multimedia Extensions — мультимедійні розширення) — комерційна назва додаткового набору інструкцій, що виконують характерні для процесів кодування / декодування потокових аудіо / відео даних дії за одну . Вперше з'явився в процесорах Pentium MMX. Розроблений у першій половині 1990-х.
Регістри MMX
Розширення MMX включає в себе вісім 64-бітних регістрів загального користування MM0-MM7. Для сумісності зі способами збереження стану процесора в наявних операційних системах Intel була змушена об'єднати в програмній моделі процесора вісім регістрів MMX з мантисами восьми регістрів математичного співпроцесора (FPU). Апаратно це можуть бути різні пристрої, але з точки зору програміста — це одні й ті ж регістри. Таким чином, не можна одночасно користуватися командами математичного співпроцесора і MMX.
Типи даних MMX
Команди технології MMX працюють з 64-бітними цілочисельними даними, а також з даними, упакованими в групи (вектори) загальною довжиною 64 біта. Такі дані можуть перебувати в пам'яті або у восьми MMX-регістрах.
Команди технології MMX працюють з такими типами даних:
Синтаксис
MMX - команди мають такий синтаксис: instruction [dest, src]
Тут instruction — ім'я команди, dest позначає вихідний операнд, src — вхідний операнд.
У систему команд введено 57 додаткових інструкцій для одночасної обробки декількох одиниць даних. Більшість команд мають суфікс, який визначає тип даних і використану арифметику:
- US (unsigned saturation) — [en], дані без знака.
- S або SS (signed saturation) — арифметика з насиченням, дані зі знаком. Якщо у суфіксі немає ні S, ні SS, використовується циклічна арифметика (wraparound).
- B, W, D, Q вказують тип даних. Якщо у суфіксі є дві з цих букв, перша відповідає вхідному операнду, а друга — вихідно.
Нові інструкції включають такі групи:
- Команди пересилання даних (Data Transfer Instructions) між регістрами MMX і цілочисельними регістрами і пам'яттю;
- Команди перетворення типів
- Арифметичні операції (Arithmetic Instructions), що включають додавання і віднімання в різних режимах, множення і комбінацію множення і складання;
- Команди порівняння (Comparison Instructions) елементів даних на рівність чи за величиною;
- Логічні операції (Logical Instructions) — І, І-НЕ, АБО і виключне АБО, що виконуються над 64 бітними операндами;
- Зсувні операції (Shift Instructions) логічні і арифметичні;
- Команди управління станом (Empty MMX State) очищення MMX — установка ознак порожніх регістрів в слові тегів.
Інструкції MMX не впливають на прапорці умов. Регістри MMX, на відміну від регістрів FPU, адресуються фізично, а не відносно . Будь-яка інструкція MMX обнуляє поле TOS регістра стану FPU. Інструкції MMX доступні з будь-якого режиму процесора.
Див. також
Література
- Зубков С. В. Assembler для DOS, Windows, UNIX. 3-тє вид., Стер. — М.: ДМК Прес; СПб. : Питер, 2004. — 608 с.
Посилання
- (англ.) , Див. розділ 8 про програмування MMX
- Codenet.ru [ 4 вересня 2019 у Wayback Machine.] (рос.) , Стаття про програмування ММХ
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Cyu stattyu potribno povnistyu perepisati vidpovidno do standartiv yakosti Vikipediyi Vi mozhete dopomogti pererobivshi yiyi Mozhlivo mistit zauvazhennya shodo potribnih zmin serpen 2019 Cya stattya mistit perelik posilan ale pohodzhennya tverdzhen u nij zalishayetsya nezrozumilim cherez praktichno povnu vidsutnist vnutrishnotekstovih dzherel vinosok Bud laska dopomozhit polipshiti cyu stattyu peretvorivshi dzherela z pereliku posilan na dzherela vinoski u samomu teksti statti serpen 2019 MMX Multimedia Extensions multimedijni rozshirennya komercijna nazva dodatkovogo naboru instrukcij sho vikonuyut harakterni dlya procesiv koduvannya dekoduvannya potokovih audio video danih diyi za odnu Vpershe z yavivsya v procesorah Pentium MMX Rozroblenij u pershij polovini 1990 h Registri MMXRozshirennya MMX vklyuchaye v sebe visim 64 bitnih registriv zagalnogo koristuvannya MM0 MM7 Dlya sumisnosti zi sposobami zberezhennya stanu procesora v nayavnih operacijnih sistemah Intel bula zmushena ob yednati v programnij modeli procesora visim registriv MMX z mantisami vosmi registriv matematichnogo spivprocesora FPU Aparatno ce mozhut buti rizni pristroyi ale z tochki zoru programista ce odni j ti zh registri Takim chinom ne mozhna odnochasno koristuvatisya komandami matematichnogo spivprocesora i MMX Tipi danih MMXKomandi tehnologiyi MMX pracyuyut z 64 bitnimi cilochiselnimi danimi a takozh z danimi upakovanimi v grupi vektori zagalnoyu dovzhinoyu 64 bita Taki dani mozhut perebuvati v pam yati abo u vosmi MMX registrah Komandi tehnologiyi MMX pracyuyut z takimi tipami danih Upakovani bajti visim bajtiv v odnomu 64 rozryadnomu registri angl packed byte upakovani slova chotiri 16 rozryadnih slova v 64 rozryadnomu registri packed word Upakovani podvijni slova dva 32 rozryadnih slova v 64 rozryadnomu registri packed doubleword 64 rozryadni slova quadword SintaksisMMX komandi mayut takij sintaksis instruction dest src Tut instruction im ya komandi dest poznachaye vihidnij operand src vhidnij operand U sistemu komand vvedeno 57 dodatkovih instrukcij dlya odnochasnoyi obrobki dekilkoh odinic danih Bilshist komand mayut sufiks yakij viznachaye tip danih i vikoristanu arifmetiku US unsigned saturation en dani bez znaka S abo SS signed saturation arifmetika z nasichennyam dani zi znakom Yaksho u sufiksi nemaye ni S ni SS vikoristovuyetsya ciklichna arifmetika wraparound B W D Q vkazuyut tip danih Yaksho u sufiksi ye dvi z cih bukv persha vidpovidaye vhidnomu operandu a druga vihidno Novi instrukciyi vklyuchayut taki grupi Komandi peresilannya danih Data Transfer Instructions mizh registrami MMX i cilochiselnimi registrami i pam yattyu Komandi peretvorennya tipiv Arifmetichni operaciyi Arithmetic Instructions sho vklyuchayut dodavannya i vidnimannya v riznih rezhimah mnozhennya i kombinaciyu mnozhennya i skladannya Komandi porivnyannya Comparison Instructions elementiv danih na rivnist chi za velichinoyu Logichni operaciyi Logical Instructions I I NE ABO i viklyuchne ABO sho vikonuyutsya nad 64 bitnimi operandami Zsuvni operaciyi Shift Instructions logichni i arifmetichni Komandi upravlinnya stanom Empty MMX State ochishennya MMX ustanovka oznak porozhnih registriv v slovi tegiv Instrukciyi MMX ne vplivayut na praporci umov Registri MMX na vidminu vid registriv FPU adresuyutsya fizichno a ne vidnosno Bud yaka instrukciya MMX obnulyaye pole TOS registra stanu FPU Instrukciyi MMX dostupni z bud yakogo rezhimu procesora Div takozhExtended MMX SSE SSE2 SSE3LiteraturaZubkov S V Assembler dlya DOS Windows UNIX 3 tye vid Ster M DMK Pres SPb Piter 2004 608 s Posilannya angl Div rozdil 8 pro programuvannya MMX Codenet ru 4 veresnya 2019 u Wayback Machine ros Stattya pro programuvannya MMH