Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

MMX для чайников

.txt
Скачиваний:
24
Добавлен:
02.05.2014
Размер:
22.47 Кб
Скачать
MMX ¤«п вҐе, Єв® ® ­Ґ¬ ­ЁзҐЈ® ­Ґ §­ Ґв

1. ‚ўҐ¤Ґ­ЁҐ

’Ґе­®«®ЈЁп MMX а биЁапҐв дг­ЄжЁ®­ «м­лҐ ў®§¬®¦­®бвЁ Їа®жҐбб®а®ў  аеЁвҐЄвгал
Intel ЇаЁ Ї®«­®© б®ў¬ҐбвЁ¬®бвЁ б Їа®Ја ¬¬ ¬Ё ¤«п Їа®и«ле Ї®Є®«Ґ­Ё©
Їа®жҐбб®а®ў. ‚ᥠЇа®Ја ¬¬­®Ґ ®ЎҐбЇҐзҐ­ЁҐ, ᮧ¤ ­­®Ґ ¤«п а ­ҐҐ ўлЇг饭­ле
Їа®жҐбб®а®ў, ЎҐ§ ўбпЄЁе Ё§¬Ґ­Ґ­Ё© ¬®¦Ґв ўлЇ®«­пвмбп ­  Їа®жҐбб®а е б
вҐе­®«®ЈЁҐ© MMX. MMX-Є®¬ ­¤л "®Ўй овбп" б ®ЇҐа жЁ®­­®© бЁб⥬®© в®з­® в Є ¦Ґ,
Є Є Ё Є®¬ ­¤л б Ї« ў о饩 § Їпв®©. ЊҐе ­Ё§¬ б®еа ­Ґ­Ёп Ё ў®ббв ­®ў«Ґ­Ёп
б®бв®п­Ёп ўлзЁб«Ґ­Ё© б Ї« ў о饩 § Їпв®© ЇаЁ¬Ґ­Ё¬ Ё ¤«п б®еа ­Ґ­Ёп
(ў®ббв ­®ў«Ґ­Ёп) б®бв®п­Ёп Їа®Ја ¬¬л, ЁбЇ®«м§го饩 вҐе­®«®ЈЁо MMX.
” ЄвЁзҐбЄЁ вҐе­®«®ЈЁп MMX ­Ґ ®§­ з Ґв "­®ў®Ј®" ०Ё¬  а Ў®вл Їа®жҐбб®а®ў
 аеЁвҐЄвгал Intel.

2. ЋЎйҐҐ ®ЇЁб ­ЁҐ

‚ ®б­®ўҐ вҐе­®«®ЈЁЁ MMX «Ґ¦Ёв а биЁаҐ­ЁҐ ­ Ў®а  Є®¬ ­¤ Їа®жҐбб®а  б гзҐв®¬
Ї®вॡ­®б⥩ ᮢ६Ґ­­ле ¬г«мвЁ¬Ґ¤Ё -Їа®Ја ¬¬.
Љ®¬ ­¤л вҐе­®«®ЈЁЁ MMX а Ў®в ов б ­®ўл¬Ё вЁЇ ¬Ё ¤ ­­ле: 64-а §ап¤­л¬Ё
楫®зЁб«Ґ­­л¬Ё ¤ ­­л¬Ё,   в Є¦Ґ б ¤ ­­л¬Ё, гЇ Є®ў ­­л¬Ё ў ЈагЇЇл (ўҐЄв®ал)
®ЎйҐ© ¤«Ё­®© 64 ЎЁв .
MMX-Є®¬ ­¤л ЁбЇ®«м§гов ў®бҐ¬м 64-а §ап¤­ле ॣЁбва®ў. Љ ॣЁбва ¬
®ЎҐбЇҐзЁў Ґвбп Їаאַ© ¤®бвгЇ Ї® Ё¬Ґ­ ¬: MM0,..., MM7. ЌЁЄ ЄЁҐ ¤агЈЁҐ Є®¬ ­¤л
­Ґ ¬®Јгв ®Ўа й вмбп Є нвЁ¬ ॣЁбва ¬. "”Ё§ЁзҐбЄЁ" ॣЁбвал вҐе­®«®ЈЁЁ MMX
а §¬ҐйҐ­л ў ¬ ­вЁбб е ॣЁбва®ў б Ї« ў о饩 § Їпв®© (ЎЁвл 0-63). ’ ЄЁ¬
®Ўа §®¬, ЇаЁ § ЇЁбЁ «оЎ®Ј® §­ зҐ­Ёп ў MMX-ॣЁбва нв® §­ зҐ­ЁҐ Ї®Ї ¤ Ґв ў ®¤Ё­
Ё§ ॣЁбва®ў б Ї« ў о饩 § Їпв®©.
ЏаЁ ўлЇ®«­Ґ­ЁЁ MMX-Є®¬ ­¤
- ўбҐ ЎЁвл Ї®ап¤Є  Ё §­ Є®ўл© ЎЁв ў ᮮ⢥вбвўго饬 ॣЁбваҐ б Ї« ў о饩
§ Їпв®© § Ї®«­повбп Ґ¤Ё­Ёж ¬Ё (нв® ЎЁвл 64-79)
- ўбҐ б«®ў® б®бв®п­Ёп ॣЁбва®ў б Ї« ў о饩 § Їпв®© § Ї®«­пҐвбп ­г«п¬Ё.

MMX-Є®¬ ­¤л ЁбЇ®«­повбп ў ⮬ ¦Ґ ०Ё¬Ґ Їа®жҐбб®а , зв® Ё Є®¬ ­¤л б
Ї« ў о饩 § Їпв®©. Џ®н⮬㠯ਠЁбЇ®«­Ґ­ЁЁ ўбҐе MMX-Є®¬ ­¤ (Єа®¬Ґ EMMS)
"Ї®авЁвбп" б«®ў® б®бв®п­Ёп ॣЁбва®ў б Ї« ў о饩 § Їпв®©. Љ®¬ ­¤  EMMS
®ЎҐбЇҐзЁў Ґв ЇҐаҐе®¤ Їа®жҐбб®а  ®в ЁбЇ®«­Ґ­Ёп MMX-Є®¬ ­¤ Є ЁбЇ®«­Ґ­Ёо ®Ўлз­ле
Є®¬ ­¤ б Ї« ў о饩 § Їпв®©: ®­  гбв ­ ў«Ёў Ґв §­ зҐ­ЁҐ 1 ў® ўбҐе а §ап¤ е
б«®ў  б®бв®п­Ёп. ‡ Є ­зЁў ©вҐ Є®¬ ­¤®© EMMS «оЎ®© да Ј¬Ґ­в Їа®Ја ¬¬л, ў
Є®в®а®¬ Ґбвм MMX-Є®¬ ­¤л. …б«Ё нв®Ј® ­Ґ ¤Ґ« вм, в®
- ®ЇҐа жЁЁ б Ї« ў о饩 § Їпв®© Ўг¤гв ¤ ў вм ­ҐўҐа­лҐ १г«мв вл;
- Ё­®Ј¤  ў १г«мв вҐ ®ЇҐа жЁ© б Ї« ў о饩 § Їпв®© Ўг¤гв ЈҐ­ҐаЁа®ў вмбп
ЁбЄ«о祭Ёп вЁЇ  Stack overflow.

MMX-Є®¬ ­¤л ­ЁЄ®Ј¤  ­Ґ ЈҐ­ҐаЁагов  аЁд¬ҐвЁзҐбЄЁе ЁбЄ«о祭Ё©. Ho ў १г«мв вҐ
ўлЇ®«­Ґ­Ёп нвЁе Є®¬ ­¤ ¬®Јгв ЈҐ­ҐаЁа®ў вмбп ЇаҐалў ­Ёп  аЁд¬ҐвЁЄЁ б Ї« ў о饩
§ Їпв®©, Ґб«Ё ¤® ўлЇ®«­Ґ­Ёп MMX-Є®¬ ­¤л 㦥 Ўл«® бЈҐ­ҐаЁа®ў ­® ЁбЄ«о祭ЁҐ
"Ї« ў о饩"  аЁд¬ҐвЁЄЁ.
MMX-Є®¬ ­¤л ¬®Јгв ЈҐ­ҐаЁа®ў вм ЁбЄ«о祭Ёп Ї® ¤®бвгЇг Є Ї ¬пвЁ.

MMX-Є®¬ ­¤л Ё¬Ґов б«Ґ¤гойЁ© бЁ­в ЄбЁб:
instruction [dest,src]
‡¤Ґбм instruction - Ё¬п Є®¬ ­¤л, dest ®Ў®§­ з Ґв ўл室­®© ®ЇҐа ­¤, src -
ўе®¤­®© ®ЇҐа ­¤.
Ѓ®«миЁ­бвў® Є®¬ ­¤ Ё¬Ґов бгддЁЄб, Є®в®ал© ®ЇаҐ¤Ґ«пҐв вЁЇ ¤ ­­ле Ё
ЁбЇ®«м§гҐ¬го  аЁд¬ҐвЁЄг:
- US (unsigned saturation) -  аЁд¬ҐвЁЄ  б ­ бл饭ЁҐ¬, ¤ ­­лҐ ЎҐ§ §­ Є .
- S Ё«Ё SS (signed saturation) -  аЁд¬ҐвЁЄ  б ­ бл饭ЁҐ¬, ¤ ­­лҐ б® §­ Є®¬.
…б«Ё ў бгд䨪ᥠ­Ґв ­Ё S, ­Ё SS, ЁбЇ®«м§гҐвбп жЁЄ«ЁзҐбЄ п  аЁд¬ҐвЁЄ 
(wraparound).
- B, W, D, Q гЄ §лў ов вЁЇ ¤ ­­ле. …б«Ё ў бгд䨪ᥠҐбвм ¤ўҐ Ё§ нвЁе ЎгЄў,
ЇҐаў п ᮮ⢥вбвўгҐв ўе®¤­®¬г ®ЇҐа ­¤г,   ўв®а п - ўл室­®¬г.
Ќ ЇаЁ¬Ґа, MMX-Є®¬ ­¤  paddusw MM4,mem1 ўлЇ®«­пҐв б«®¦Ґ­ЁҐ б«®ў ЎҐ§ §­ Є .
ЏҐаўлҐ б« Ј Ґ¬лҐ ­ е®¤пвбп ў MMX-ॣЁбвॠMM4, ўв®алҐ - ў Ї ¬пвЁ Ї®  ¤аҐбг
mem1. ‘г¬¬л § ЇЁблў овбп ў ॣЁбва MM4.

MMX-Є®¬ ­¤л ЁбЇ®«м§гов ­®ўлҐ вЁЇл ¤ ­­ле: гЇ Є®ў ­­лҐ Ў ©вл (packed byte,
бгддЁЄб Є®¬ ­¤л b), гЇ Є®ў ­­лҐ б«®ў  (packed word, бгддЁЄб w), гЇ Є®ў ­­лҐ
¤ў®©­лҐ б«®ў  (packed doubleword, бгддЁЄб d) Ё 64-а §ап¤­лҐ б«®ў  (quadword,
бгддЁЄб q). Ћ¤­Ё Ё ⥠¦Ґ 64 ЎЁв  ¬®Јгв ва Єв®ў вмбп ®¤­®© MMX-Є®¬ ­¤®© Є Є 8
Ў ©в, ¤агЈ®© Є®¬ ­¤®© - Є Є 4 б«®ў , Ё в.¤. ’ЁЇ ¤ ­­ле ®ЇаҐ¤Ґ«пҐвбп бгд䨪ᮬ
Є®¬ ­¤л.

Ѓ®«миЁ­бвў® Є®¬ ­¤ вҐе­®«®ЈЁЁ MMX ®Ўа Ў влў ов ¤ ­­лҐ ў жЁЄ«ЁзҐбЄ®©
 аЁд¬ҐвЁЄҐ,   ­ҐЄ®в®алҐ Є®¬ ­¤л ЁбЇ®«м§гов  аЁд¬ҐвЁЄг б ­ бл饭ЁҐ¬.
–ЁЄ«ЁзҐбЄ п  аЁд¬ҐвЁЄ . Eб«Ё १г«мв в ®ЇҐа жЁЁ ўл室Ёв §  ЇаҐ¤Ґ«л
¤®ЇгбвЁ¬®Ј® ¤Ё Ї §®­ , в® "«Ёи­ЁҐ" бв аиЁҐ ЎЁвл १г«мв в  ®вЎа блў овбп.
Ќ ЇаЁ¬Ґа, б«®¦Ґ­ЁҐ Ў ©в®ў 01h Ё FFh ¤ Ґв 00h.
ЂаЁд¬ҐвЁЄ  б ­ бл饭ЁҐ¬. …б«Ё १г«мв в ®Є § «бп ў­Ґ ¤®ЇгбвЁ¬®Ј® ¤Ё Ї §®­ ,
в® ®­ бзЁв Ґвбп а ў­л¬ Ја ­Ёз­®¬г §­ зҐ­Ёо ¤Ё Ї §®­ . Ќ ЇаЁ¬Ґа, ЇаЁ б«®¦Ґ­ЁЁ
Ў ©в®ў ЎҐ§ §­ Є  б㬬  01h Ё FFh бзЁв Ґвбп а ў­®© FFh.

‚  аЁд¬ҐвЁЄҐ б ­ бл饭ЁҐ¬ MMX-Є®¬ ­¤л б«®¦Ґ­Ёп, ўлзЁв ­Ёп Ё гЇ Є®ўЄЁ ¤ ­­ле
¬®Јгв ®Ўа Ў влў вм зЁб«  б® §­ Є®¬ Ё«Ё ЎҐ§ §­ Є .
„ ­­лҐ б® §­ Є®¬ Ё ЎҐ§ §­ Є  Ё¬Ґов а §«Ёз­л© ¤®ЇгбвЁ¬л© ¤Ё Ї §®­.
‘«Ґ¤®ў вҐ«м­®, Ґб«Ё ЁбЇ®«м§гҐвбп  аЁд¬ҐвЁЄ  б ­ бл饭ЁҐ¬, в® ЇаЁ ўл室Ґ
१г«мв в  ®ЇҐа жЁЁ §  ЇаҐ¤Ґ«л ¤®ЇгбвЁ¬®Ј® ¤Ё Ї §®­  ў ўл室­®© ®ЇҐа ­¤ Ўг¤гв
§ ЇЁб ­л а §«Ёз­лҐ §­ зҐ­Ёп ў § ўЁбЁ¬®бвЁ ®в вЁЇ  ¤ ­­ле. Ќ ЇаЁ¬Ґа, Ґб«Ё
१г«мв в ЇаҐўлбЁ« 7FFFh, б«®ў® б® §­ Є®¬ Ўг¤Ґв бзЁв вмбп а ў­л¬ 7FFFh, a
б«®ў® ЎҐ§ §­ Є  - ­Ґв.


3. ЋЇЁб ­ЁҐ Є®¬ ­¤

MMX-Є®¬ ­¤л ба ў­Ґ­Ёп Ї®Ї а­® ба ў­Ёў ов н«Ґ¬Ґ­вл ¤ ­­ле (Ў ©вл, 16- Ё«Ё 32-
а §ап¤­лҐ б«®ў ) ўе®¤­®Ј® Ё ўл室­®Ј® ®ЇҐа ­¤®ў. ‚ § ўЁбЁ¬®бвЁ ®в १г«мв в 
ба ў­Ґ­Ёп ᮮ⢥вбвўгойЁ© н«Ґ¬Ґ­в ¤ ­­ле ўл室­®Ј® ®ЇҐа ­¤  § Ї®«­пҐвбп ­г«п¬Ё
«ЁЎ® Ґ¤Ё­Ёж ¬Ё. ќвЁ Є®¬ ­¤л, Є Є Ё ўбҐ ®бв «м­лҐ MMX-Є®¬ ­¤л, ­Ґ гбв ­ ў«Ёў ов
д« Ј®ў (ЇаЁ§­ Є®ў).

Љ®¬ ­¤л pcmpeq
Љ®¬ ­¤л pcmpeq Ї®Ї а­® ба ў­Ёў ов н«Ґ¬Ґ­вл ¤ ­­ле (Ў ©вл, 16- Ё«Ё
32-а §ап¤­лҐ б«®ў ) ўе®¤­®Ј® Ё ўл室­®Ј® ®ЇҐа ­¤®ў. …б«Ё н«Ґ¬Ґ­в ¤ ­­ле
ўл室­®Ј® ®ЇҐа ­¤  а ўҐ­ ᮮ⢥вбвўго饬г н«Ґ¬Ґ­в㠢室­®Ј®, в Є®© н«Ґ¬Ґ­в
ўл室­®Ј® ®ЇҐа ­¤  § Ї®«­пҐвбп Ґ¤Ё­Ёж ¬Ё. …б«Ё а ўҐ­бвў  ­Ґв, ®­ § Ї®«­пҐвбп
­г«п¬Ё. ‚室­®© ®ЇҐа ­¤ ¬®¦Ґв ­ е®¤Ёвмбп ў MMX-ॣЁбвॠЁ«Ё ў Ї ¬пвЁ; ўл室­®©
®ЇҐа ­¤ ¤®«¦Ґ­ ­ е®¤Ёвмбп ў MMX-ॣЁбваҐ.
Џ®¤¤Ґа¦Ёў овбп Є®¬ ­¤л: pcmpeqb, pcmpeqw, pcmpeqd.

Љ®¬ ­¤л pcmpgt
Љ®¬ ­¤л pcmpgt Ї®Ї а­® ба ў­Ёў ов н«Ґ¬Ґ­вл ¤ ­­ле (Ў ©вл, 16- Ё«Ё
32-а §ап¤­лҐ б«®ў  б® §­ Є®¬) ўе®¤­®Ј® Ё ўл室­®Ј® ®ЇҐа ­¤®ў. …б«Ё н«Ґ¬Ґ­в
¤ ­­ле ўл室­®Ј® ®ЇҐа ­¤  Ў®«миҐ б®®вўҐвбвўго饣® н«Ґ¬Ґ­в  ўе®¤­®Ј®, в Є®©
н«Ґ¬Ґ­в ўл室­®Ј® ®ЇҐа ­¤  § Ї®«­пҐвбп Ґ¤Ё­Ёж ¬Ё; eб«Ё ¦Ґ ®­ ­Ґ Ў®«миҐ
ўе®¤­®Ј®, в® ®­ § Ї®«­пҐвбп ­г«п¬Ё. ‚室­®© ®ЇҐа ­¤ ¬®¦Ґв ­ е®¤Ёвмбп ў
MMX-ॣЁбвॠЁ«Ё ў Ї ¬пвЁ; ўл室­®© ®ЇҐа ­¤ ¤®«¦Ґ­ ­ е®¤Ёвмбп ў MMX-ॣЁбваҐ.
Џ®¤¤Ґа¦Ёў овбп Є®¬ ­¤л: pcmpgtb, pcmpgtw, pcmpgtd.

MMX-Є®¬ ­¤л ЇҐаҐ¤ зЁ ¤ ­­ле movd Ё movq ўлЇ®«­пов Є®ЇЁа®ў ­ЁҐ:
- Ё§ ®¤­®Ј® MMX-ॣЁбва  ў ¤агЈ®©,
- Ё§ MMX-ॣЁбва  ў Ї ¬пвм Ё ®Ўа в­®,
- Ё§ MMX-ॣЁбва  ў 楫®зЁб«Ґ­­л© ॣЁбва Ё ®Ўа в­® (в®«мЄ® Є®¬ ­¤  movd).
‘।Ё ўбҐе MMX-Є®¬ ­¤ в®«мЄ® movd Ё movq ¬®Јгв Ё¬Ґвм ўл室­®© ®ЇҐа ­¤ ў
Ї ¬пвЁ; movd - Ґ¤Ё­б⢥­­ п Є®¬ ­¤ , г Є®в®а®© ®ЇҐа ­¤ ¬®¦Ґв Ўлвм ў
楫®зЁб«Ґ­­®¬ ॣЁбваҐ.

Љ®¬ ­¤  movd
Љ®¬ ­¤  movd Є®ЇЁагҐв 32 ЎЁв :
- Ё§ ¬« ¤иЁе а §а冷ў ®¤­®Ј® MMX-ॣЁбва  ў ¬« ¤иЁҐ а §ап¤л ¤агЈ®Ј® (бв аиЁҐ
а §ап¤л § Ї®«­повбп ­г«п¬Ё)
- Ё§ Ї ¬пвЁ «ЁЎ® Ё§ 楫®зЁб«Ґ­­®Ј® ॣЁбва  ў ¬« ¤иЁҐ 32 а §ап¤ 
MMX-ॣЁбва  (бв аиЁҐ а §ап¤л § Ї®«­повбп ­г«п¬Ё)
- Ё§ ¬« ¤иЁе а §а冷ў MMX-ॣЁбва  ў Ї ¬пвм «ЁЎ® ў 楫®зЁб«Ґ­­л© ॣЁбва.

Љ®¬ ­¤  movq
Љ®¬ ­¤  movq Є®ЇЁагҐв 64 ЎЁв :
- Ё§ ®¤­®Ј® MMX-ॣЁбва  ў ¤агЈ®©;
- Ё§ Ї ¬пвЁ ў MMX-ॣЁбва;
- Ё§ MMX-ॣЁбва  ў Ї ¬пвм.

MMX-Є®¬ ­¤л б«®¦Ґ­Ёп Ё ўлзЁв ­Ёп а Ў®в ов б гЇ Є®ў ­­л¬Ё Ў ©в ¬Ё Ё б«®ў ¬Ё
б® §­ Є®¬ Ё ЎҐ§ §­ Є ,   в Є¦Ґ б гЇ Є®ў ­­л¬Ё ¤ў®©­л¬Ё б«®ў ¬Ё б® §­ Є®¬. Ћ­Ё
¬®Јгв ЁбЇ®«м§®ў вм Є Є жЁЄ«ЁзҐбЄго  аЁд¬ҐвЁЄг, в Є Ё  аЁд¬ҐвЁЄг б ­ бл饭ЁҐ¬.

Љ®¬ ­¤л padd (жЁЄ«ЁзҐбЄ п  аЁд¬ҐвЁЄ )
Љ®¬ ­¤л padd бЄ« ¤лў ов н«Ґ¬Ґ­вл ¤ ­­ле (Ў ©вл, б«®ў  Ё«Ё ¤ў®©­лҐ б«®ў )
ўе®¤­®Ј® Ё ўл室­®Ј® ®ЇҐа ­¤ . …б«Ё б㬬  ўл室Ёв §  Ја ­Ёжг ¤®ЇгбвЁ¬®Ј®
¤Ё Ї §®­ , в® Ї® Їа ўЁ« ¬ жЁЄ«ЁзҐбЄ®©  аЁд¬ҐвЁЄЁ Ё§Ўлв®Є ®вбзЁвлў Ґвбп ®в
¤агЈ®© Ја ­Ёжл ¤Ё Ї §®­ . "ЏҐаҐ­®б " Ґ¤Ё­Ёжл Ё§ ®¤­®Ј® н«Ґ¬Ґ­в  ¤ ­­ле ў
¤агЈ®© ­Ґ Їа®Ёб室Ёв. ‚室­®© ®ЇҐа ­¤ ¬®¦Ґв ­ е®¤Ёвмбп ў MMX-ॣЁбвॠЁ«Ё ў
Ї ¬пвЁ; ўл室­®© ®ЇҐа ­¤ ¤®«¦Ґ­ ­ е®¤Ёвмбп ў MMX-ॣЁбваҐ.
Џ®¤¤Ґа¦Ёў овбп Є®¬ ­¤л: paddb, paddw, paddd.

Љ®¬ ­¤л padds ( аЁд¬ҐвЁЄ  б ­ бл饭ЁҐ¬, ¤ ­­лҐ б® §­ Є®¬)
Љ®¬ ­¤л padds бЄ« ¤лў ов н«Ґ¬Ґ­вл ¤ ­­ле (Ў ©вл Ё«Ё б«®ў ) ўе®¤­®Ј® Ё
ўл室­®Ј® ®ЇҐа ­¤ . …б«Ё б㬬  ўл室Ёв §  Ја ­Ёз­®Ґ §­ зҐ­ЁҐ ¤®ЇгбвЁ¬®Ј®
¤Ё Ї §®­ , ⮠१г«мв в®¬ бзЁв Ґвбп нв® Ја ­Ёз­®Ґ §­ зҐ­ЁҐ. ‚室­®© ®ЇҐа ­¤
¬®¦Ґв ­ е®¤Ёвмбп ў MMX-ॣЁбвॠЁ«Ё ў Ї ¬пвЁ; ўл室­®© ®ЇҐа ­¤ ¤®«¦Ґ­
­ е®¤Ёвмбп ў MMX-ॣЁбваҐ.
Џ®¤¤Ґа¦Ёў овбп Є®¬ ­¤л: paddsb, paddsw.

Љ®¬ ­¤л paddus ( аЁд¬ҐвЁЄ  б ­ бл饭ЁҐ¬, ¤ ­­лҐ ЎҐ§ §­ Є )
Љ®¬ ­¤л paddus бЄ« ¤лў ов н«Ґ¬Ґ­вл ¤ ­­ле (Ў ©вл Ё«Ё б«®ў ) ўе®¤­®Ј® Ё
ўл室­®Ј® ®ЇҐа ­¤ . …б«Ё б㬬  ўл室Ёв §  Ја ­Ёз­®Ґ §­ зҐ­ЁҐ ¤®ЇгбвЁ¬®Ј®
¤Ё Ї §®­ , ⮠१г«мв в®¬ бзЁв Ґвбп нв® Ја ­Ёз­®Ґ §­ зҐ­ЁҐ. ‚室­®© ®ЇҐа ­¤
¬®¦Ґв ­ е®¤Ёвмбп ў MMX-ॣЁбвॠЁ«Ё ў Ї ¬пвЁ; ўл室­®© ®ЇҐа ­¤ ¤®«¦Ґ­
­ е®¤Ёвмбп ў MMX-ॣЁбваҐ.
Џ®¤¤Ґа¦Ёў овбп Є®¬ ­¤л: paddusb, paddusw.

Љ®¬ ­¤л psub (жЁЄ«ЁзҐбЄ п  аЁд¬ҐвЁЄ )
Љ®¬ ­¤л psub ўлзЁв ов н«Ґ¬Ґ­вл ¤ ­­ле (Ў ©вл, б«®ў  Ё«Ё ¤ў®©­лҐ б«®ў )
ўе®¤­®Ј® ®ЇҐа ­¤  Ё§ н«Ґ¬Ґ­в®ў ¤ ­­ле ўл室­®Ј® ®ЇҐа ­¤ . …б«Ё १г«мв в
ўл室Ёв §  Ја ­Ёжг ¤®ЇгбвЁ¬®Ј® ¤Ё Ї §®­ , в® Ї® Їа ўЁ« ¬ жЁЄ«ЁзҐбЄ®©
 аЁд¬ҐвЁЄЁ ᮮ⢥вбвўго饥 зЁб«® Ґ¤Ё­Ёж ®вбзЁвлў Ґвбп ®в ¤агЈ®© Ја ­Ёжл
¤Ё Ї §®­ . "ЏҐаҐ­®б " Ґ¤Ё­Ёжл Ё§ ®¤­®Ј® н«Ґ¬Ґ­в  ¤ ­­ле ў ¤агЈ®© ­Ґ
Їа®Ёб室Ёв. ‚室­®© ®ЇҐа ­¤ ¬®¦Ґв ­ е®¤Ёвмбп ў MMX-ॣЁбвॠЁ«Ё ў Ї ¬пвЁ;
ўл室­®© ®ЇҐа ­¤ ¤®«¦Ґ­ ­ е®¤Ёвмбп ў MMX-ॣЁбваҐ.
Џ®¤¤Ґа¦Ёў овбп Є®¬ ­¤л: psubb, psubw, psubd.

Љ®¬ ­¤л psubs ( аЁд¬ҐвЁЄ  б ­ бл饭ЁҐ¬, ¤ ­­лҐ б® §­ Є®¬)
Љ®¬ ­¤л psubs ўлзЁв ов н«Ґ¬Ґ­вл ¤ ­­ле (Ў ©вл Ё«Ё б«®ў ) ўе®¤­®Ј® ®ЇҐа ­¤ 
Ё§ н«Ґ¬Ґ­в®ў ¤ ­­ле ўл室­®Ј® ®ЇҐа ­¤ . …б«Ё а §­®бвм ўл室Ёв §  Ја ­Ёз­®Ґ
§­ зҐ­ЁҐ ¤®ЇгбвЁ¬®Ј® ¤Ё Ї §®­ , ⮠१г«мв в®¬ бзЁв Ґвбп нв® Ја ­Ёз­®Ґ
§­ зҐ­ЁҐ. ‚室­®© ®ЇҐа ­¤ ¬®¦Ґв ­ е®¤Ёвмбп ў MMX-ॣЁбвॠЁ«Ё ў Ї ¬пвЁ;
ўл室­®© ®ЇҐа ­¤ ¤®«¦Ґ­ ­ е®¤Ёвмбп ў MMX-ॣЁбваҐ.
Џ®¤¤Ґа¦Ёў овбп Є®¬ ­¤л: psubsb, psubsw.

Љ®¬ ­¤л psubus ( аЁд¬ҐвЁЄ  б ­ бл饭ЁҐ¬, ¤ ­­лҐ ЎҐ§ §­ Є )
Љ®¬ ­¤л psubus ўлзЁв ов н«Ґ¬Ґ­вл ¤ ­­ле ўе®¤­®Ј® ®ЇҐа ­¤  Ё§ н«Ґ¬Ґ­в®ў
¤ ­­ле ўл室­®Ј® ®ЇҐа ­¤ . …б«Ё а §­®бвм ўл室Ёв §  Ја ­Ёз­®Ґ §­ зҐ­ЁҐ
¤®ЇгбвЁ¬®Ј® ¤Ё Ї §®­ , ⮠१г«мв в®¬ бзЁв Ґвбп нв® Ја ­Ёз­®Ґ §­ зҐ­ЁҐ.
‚室­®© ®ЇҐа ­¤ ¬®¦Ґв ­ е®¤Ёвмбп ў MMX-ॣЁбвॠЁ«Ё ў Ї ¬пвЁ; ўл室­®© ®ЇҐа ­¤
¤®«¦Ґ­ ­ е®¤Ёвмбп ў MMX-ॣЁбваҐ.
Џ®¤¤Ґа¦Ёў овбп Є®¬ ­¤л: psubusb, psubusw.

MMX-Є®¬ ­¤л г¬­®¦Ґ­Ёп Ї®Ї а­® ЇҐаҐ¬­®¦ ов 16-а §ап¤­лҐ б«®ў  ®ЇҐа ­¤®ў, зв®
¤ Ґв зҐвлॠ32-а §ап¤­ле Їа®Ё§ўҐ¤Ґ­Ёп. Љ®¬ ­¤  pmaddwd бЄ« ¤лў Ґв ЇҐаў®Ґ
Їа®Ё§ўҐ¤Ґ­ЁҐ б® ўв®ал¬,   ваҐвмҐ б зҐвўҐавл¬. ‘г¬¬л § ЇЁблў овбп ў
32-а §ап¤­лҐ б«®ў  ўл室­®Ј® ®ЇҐа ­¤ . Љ®¬ ­¤  pmulhw § ЇЁблў Ґв ў
16-а §ап¤­лҐ б«®ў  ўл室­®Ј® ®ЇҐа ­¤  бв аиЁҐ а §ап¤л Є ¦¤®Ј® Ё§ зҐвлаҐе
Їа®Ё§ўҐ¤Ґ­Ё©,   pmullw - ¬« ¤иЁҐ а §ап¤л Їа®Ё§ўҐ¤Ґ­Ё©.

Љ®¬ ­¤  pmaddwd (жЁЄ«ЁзҐбЄ п  аЁд¬ҐвЁЄ )
Љ®¬ ­¤  pmaddwd Ї®Ї а­® ЇҐаҐ¬­®¦ Ґв 16-а §ап¤­лҐ б«®ў  б® §­ Є®¬ ўе®¤­®Ј® Ё
ўл室­®Ј® ®ЇҐа ­¤®ў. ќв® ¤ Ґв зҐвлॠ32-а §ап¤­ле Їа®Ё§ўҐ¤Ґ­Ёп. ‡ вҐ¬ ЇҐаў®Ґ
Їа®Ё§ўҐ¤Ґ­ЁҐ бЄ« ¤лў Ґвбп б® ўв®ал¬,   ваҐвмҐ б зҐвўҐавл¬. ‘г¬¬л § ЇЁблў овбп
ў 32- а §ап¤­лҐ б«®ў  ўл室­®Ј® ®ЇҐа ­¤ . …б«Ё ўбҐ б«®ў  ­  ўе®¤Ґ а ў­л 8000h,
१г«мв в®¬ Ўг¤Ґв 80000000h (нв® Ґ¤Ё­б⢥­­л© б«гз ©, Є®Ј¤  ЇҐаҐ¬­®¦Ґ­ЁҐ
®ваЁж вҐ«м­ле зЁбҐ« ¤ Ґв ®ваЁж вҐ«м­л© १г«мв в). ‚室­®© ®ЇҐа ­¤ ¬®¦Ґв
­ е®¤Ёвмбп ў MMX-ॣЁбвॠЁ«Ё ў Ї ¬пвЁ; ўл室­®© ®ЇҐа ­¤ ¤®«¦Ґ­ ­ е®¤Ёвмбп ў
MMX-ॣЁбваҐ.

Љ®¬ ­¤  pmulhw (жЁЄ«ЁзҐбЄ п  аЁд¬ҐвЁЄ )
Љ®¬ ­¤  pmulhw Ї®Ї а­® ЇҐаҐ¬­®¦ Ґв 16-а §ап¤­лҐ б«®ў  б® §­ Є®¬ ўе®¤­®Ј® Ё
ўл室­®Ј® ®ЇҐа ­¤®ў, зв® ¤ Ґв зҐвлॠ32-а §ап¤­ле Їа®Ё§ўҐ¤Ґ­Ёп. ‘в аиЁҐ
а §ап¤л Їа®Ё§ўҐ¤Ґ­Ё© § ЇЁблў овбп ў 16-а §ап¤­лҐ б«®ў  ўл室­®Ј® ®ЇҐа ­¤ .
Њ« ¤иЁҐ а §ап¤л Їа®Ё§ўҐ¤Ґ­Ё© вҐаповбп. ‚室­®© ®ЇҐа ­¤ ¬®¦Ґв ­ е®¤Ёвмбп ў
MMX-ॣЁбвॠЁ«Ё ў Ї ¬пвЁ; ўл室­®© ®ЇҐа ­¤ ¤®«¦Ґ­ ­ е®¤Ёвмбп ў MMX-ॣЁбваҐ.

Љ®¬ ­¤  pmullw (жЁЄ«ЁзҐбЄ п  аЁд¬ҐвЁЄ )
Љ®¬ ­¤  pmullw Ї®Ї а­® ЇҐаҐ¬­®¦ Ґв 16-а §ап¤­лҐ б«®ў  б® §­ Є®¬ ўе®¤­®Ј® Ё
ўл室­®Ј® ®ЇҐа ­¤®ў, зв® ¤ Ґв зҐвлॠ32-а §ап¤­ле Їа®Ё§ўҐ¤Ґ­Ёп. Њ« ¤иЁҐ
а §ап¤л Їа®Ё§ўҐ¤Ґ­Ё© § ЇЁблў овбп ў 16-а §ап¤­лҐ б«®ў  ўл室­®Ј® ®ЇҐа ­¤ .
‘в аиЁҐ а §ап¤л Їа®Ё§ўҐ¤Ґ­Ё© вҐаповбп. ‚室­®© ®ЇҐа ­¤ ¬®¦Ґв ­ е®¤Ёвмбп ў
MMX-ॣЁбвॠЁ«Ё ў Ї ¬пвЁ; ўл室­®© ®ЇҐа ­¤ ¤®«¦Ґ­ ­ е®¤Ёвмбп ў MMX-ॣЁбваҐ.

MMX-Є®¬ ­¤л гЇ Є®ўЄЁ ЇаҐ®Ўа §гов ¤«Ё­­лҐ н«Ґ¬Ґ­вл ¤ ­­ле (16- Ё 32-а §ап¤­лҐ
б«®ў ) ў Ў®«ҐҐ Є®а®вЄЁҐ. …б«Ё Ёб室­®Ґ §­ зҐ­ЁҐ "­Ґ Ї®¬Ґй Ґвбп" ў Є®а®вЄ®¬
н«Ґ¬Ґ­вҐ ¤ ­­ле, в® Їа®Ёб室Ёв "­ бл饭ЁҐ" - १г«мв в®¬ бзЁв Ґвбп Ја ­Ёз­®Ґ
§­ зҐ­ЁҐ ¤®ЇгбвЁ¬®Ј® ¤Ё Ї §®­  ўл室­®Ј® вЁЇ  ¤ ­­ле. Љ®¬ ­¤л а бЇ Є®ўЄЁ
Ї®Ї а­® ®ЎкҐ¤Ё­пов н«Ґ¬Ґ­вл ¤ ­­ле Ё§ ®Ў®Ёе ®ЇҐа ­¤®ў ў Ў®«ҐҐ ¤«Ё­­лҐ н«Ґ¬Ґ­вл
ўл室­®Ј® ®ЇҐа ­¤ . ќвЁ¬Ё Є®¬ ­¤ ¬Ё ¬®¦­® Ї®«м§®ў вмбп ¤«п Ї®ўл襭Ёп зЁб« 
§­ з йЁе а §а冷ў ЇаЁ ўлзЁб«Ґ­Ёпе.

Љ®¬ ­¤л packss
Љ®¬ ­¤л packss ЇаҐ®Ўа §гов ¤«Ё­­лҐ н«Ґ¬Ґ­вл ¤ ­­ле (16- Ё 32-а §ап¤­лҐ б«®ў 
б® §­ Є®¬) ў Ў®«ҐҐ Є®а®вЄЁҐ (Ў ©вл Ё«Ё 16-а §ап¤­лҐ б«®ў  б® §­ Є®¬). …б«Ё
Ёб室­®Ґ §­ зҐ­ЁҐ Ўл«® §  ЇаҐ¤Ґ« ¬Ё ¤®ЇгбвЁ¬®Ј® ¤Ё Ї §®­  ¤«п ўл室­®Ј® вЁЇ 
¤ ­­ле, ⮠१г«мв в®¬ гЇ Є®ўЄЁ бзЁв Ґвбп Ў«Ё¦ ©иҐҐ Ја ­Ёз­®Ґ §­ зҐ­ЁҐ
¤Ё Ї §®­ . ‚室­®© ®ЇҐа ­¤ ¬®¦Ґв ­ е®¤Ёвмбп ў MMX-ॣЁбвॠЁ«Ё ў Ї ¬пвЁ;
ўл室­®© ®ЇҐа ­¤ ¤®«¦Ґ­ ­ е®¤Ёвмбп ў MMX-ॣЁбваҐ.
Џ®¤¤Ґа¦Ёў овбп Є®¬ ­¤л: packsswb, packssdw.

Љ®¬ ­¤  packuswb
Љ®¬ ­¤  packuswb ЇаҐ®Ўа §гҐв 16-а §ап¤­лҐ б«®ў  б® §­ Є®¬ Ё§ ®Ў®Ёе ®ЇҐа ­¤®ў
ў Ў ©вл ЎҐ§ §­ Є  Ё § ЇЁблў Ґв Ёе ў ўл室­®© ®ЇҐа ­¤. …б«Ё Ёб室­®Ґ б«®ў® б®
§­ Є®¬ Ўл«® Ў®«миҐ FFh, १г«мв в®¬ ЇаҐ®Ўа §®ў ­Ёп бзЁв Ґвбп FFh. …б«Ё
Ёб室­®Ґ б«®ў® б® §­ Є®¬ ®ваЁж вҐ«м­®, १г«мв в®¬ ЇаҐ®Ўа §®ў ­Ёп бзЁв Ґвбп
00h. ‚室­®© ®ЇҐа ­¤ ¬®¦Ґв ­ е®¤Ёвмбп ў MMX-ॣЁбвॠЁ«Ё ў Ї ¬пвЁ; ўл室­®©
®ЇҐа ­¤ ¤®«¦Ґ­ ­ е®¤Ёвмбп ў MMX-ॣЁбваҐ.

Љ®¬ ­¤л punpckh
Љ®¬ ­¤л punpckh Ї®Ї а­® ®ЎкҐ¤Ё­пов Ёб室­лҐ н«Ґ¬Ґ­вл ¤ ­­ле (Ў ©вл, 16- Ё«Ё
32- а §ап¤­лҐ б«®ў ), ­ е®¤ЁўиЁҐбп ў бв аиЁе 32 а §ап¤ е ®Ў®Ёе ®ЇҐа ­¤®ў.
Џ®«г祭­лҐ ў १г«мв вҐ Ў®«ҐҐ ¤«Ё­­лҐ н«Ґ¬Ґ­вл ¤ ­­ле § ЇЁблў овбп ў ўл室­®©
®ЇҐа ­¤. €б室­лҐ §­ зҐ­Ёп ¬« ¤иЁе а §а冷ў ®ЇҐа ­¤®ў ­  १г«мв в ­Ґ ў«Ёпов.
‚室­®© ®ЇҐа ­¤ ¬®¦Ґв ­ е®¤Ёвмбп ў MMX-ॣЁбвॠЁ«Ё ў Ї ¬пвЁ; ўл室­®© ®ЇҐа ­¤
¤®«¦Ґ­ ­ е®¤Ёвмбп ў MMX-ॣЁбваҐ.
Џ®¤¤Ґа¦Ёў овбп Є®¬ ­¤л: punpckhbw, punpckhwd, punpckhdq.

Љ®¬ ­¤л punpckl
Љ®¬ ­¤л punpckl Ї®Ї а­® ®ЎкҐ¤Ё­пов Ёб室­лҐ н«Ґ¬Ґ­вл ¤ ­­ле (Ў ©вл, 16- Ё«Ё
32- а §ап¤­лҐ б«®ў ), ­ е®¤ЁўиЁҐбп ў ¬« ¤иЁе 32 а §ап¤ е ®Ў®Ёе ®ЇҐа ­¤®ў.
Џ®«г祭­лҐ ў १г«мв вҐ Ў®«ҐҐ ¤«Ё­­лҐ н«Ґ¬Ґ­вл ¤ ­­ле § ЇЁблў овбп ў ўл室­®©
®ЇҐа ­¤. €б室­лҐ §­ зҐ­Ёп бв аиЁе а §а冷ў ®ЇҐа ­¤®ў ­  १г«мв в ­Ґ ў«Ёпов.
‚室­®© ®ЇҐа ­¤ ¬®¦Ґв ­ е®¤Ёвмбп ў MMX-ॣЁбвॠЁ«Ё ў Ї ¬пвЁ; ўл室­®© ®ЇҐа ­¤
¤®«¦Ґ­ ­ е®¤Ёвмбп ў MMX-ॣЁбваҐ.
Џ®¤¤Ґа¦Ёў овбп Є®¬ ­¤л: punpcklbw, punpcklwd, punpckldq.

MMX-Є®¬ ­¤л б¤ўЁЈ  ўлЇ®«­пов б¤ўЁЈ Є ¦¤®Ј® н«Ґ¬Ґ­в  ¤ ­­ле (16-, 32- Ё«Ё 64-
а §ап¤­®Ј® б«®ў ) ў ўл室­®¬ ®ЇҐа ­¤Ґ ­  ўҐ«ЁзЁ­г, § ¤ ў Ґ¬го ўе®¤­л¬
®ЇҐа ­¤®¬.

Љ®¬ ­¤л psll («®ЈЁзҐбЄЁ© б¤ўЁЈ ­ «Ґў®)
Љ®¬ ­¤л psll ўлЇ®«­пов б¤ўЁЈ н«Ґ¬Ґ­в®ў ¤ ­­ле (16-, 32- Ё«Ё 64-а §ап¤­ле
б«®ў) ў ўл室­®¬ ®ЇҐа ­¤Ґ ­  зЁб«® ЎЁв, § ¤ ў Ґ¬®Ґ ўе®¤­л¬ ®ЇҐа ­¤®¬.
Ћбў®Ў®¤ЁўиЁҐбп ¬« ¤иЁҐ а §ап¤л § Ї®«­повбп ­г«п¬Ё. ‚室­®© ®ЇҐа ­¤ ¬®¦Ґв Ўлвм
­ҐЇ®б।б⢥­­л¬ ®ЇҐа ­¤®¬ «ЁЎ® ­ е®¤Ёвмбп ў MMX- ॣЁбвॠЁ«Ё ў Ї ¬пвЁ.
‚л室­®© ®ЇҐа ­¤ ¤®«¦Ґ­ ­ е®¤Ёвмбп ў MMX-ॣЁбваҐ.
Џ®¤¤Ґа¦Ёў овбп Є®¬ ­¤л: psllw, pslld, psllq.

Љ®¬ ­¤л psra ( аЁд¬ҐвЁзҐбЄЁ© б¤ўЁЈ ­ Їа ў®)
Љ®¬ ­¤л psra ўлЇ®«­пов б¤ўЁЈ н«Ґ¬Ґ­в®ў ¤ ­­ле (16- Ё«Ё 32-а §ап¤­ле б«®ў) ў
ўл室­®¬ ®ЇҐа ­¤Ґ ­  зЁб«® ЎЁв, § ¤ ў Ґ¬®Ґ ўе®¤­л¬ ®ЇҐа ­¤®¬. …б«Ё б¤ўЁЈ Ґвбп
Ї®«®¦ЁвҐ«м­®Ґ зЁб«®, в® ®бў®Ў®¤ЁўиЁҐбп бв аиЁҐ а §ап¤л § Ї®«­повбп ­г«п¬Ё,  
Ґб«Ё ®ваЁж вҐ«м­®Ґ, в® Ґ¤Ё­Ёж ¬Ё. ‚室­®© ®ЇҐа ­¤ ¬®¦Ґв Ўлвм ­ҐЇ®б।б⢥­­л¬
®ЇҐа ­¤®¬ «ЁЎ® ­ е®¤Ёвмбп ў MMX- ॣЁбвॠЁ«Ё ў Ї ¬пвЁ. ‚л室­®© ®ЇҐа ­¤
¤®«¦Ґ­ ­ е®¤Ёвмбп ў MMX-ॣЁбваҐ.
Џ®¤¤Ґа¦Ёў овбп Є®¬ ­¤л: psraw, psrad.

Љ®¬ ­¤л psrl («®ЈЁзҐбЄЁ© б¤ўЁЈ ­ Їа ў®)
Љ®¬ ­¤л psrl ўлЇ®«­пов б¤ўЁЈ н«Ґ¬Ґ­в®ў ¤ ­­ле (16-, 32- Ё«Ё 64-а §ап¤­ле
б«®ў) ў ўл室­®¬ ®ЇҐа ­¤Ґ ­  зЁб«® ЎЁв, § ¤ ў Ґ¬®Ґ ўе®¤­л¬ ®ЇҐа ­¤®¬.
Ћбў®Ў®¤ЁўиЁҐбп бв аиЁҐ а §ап¤л § Ї®«­повбп ­г«п¬Ё. ‚室­®© ®ЇҐа ­¤ ¬®¦Ґв Ўлвм
­ҐЇ®б।б⢥­­л¬ ®ЇҐа ­¤®¬ «ЁЎ® ­ е®¤Ёвмбп ў MMX- ॣЁбвॠЁ«Ё ў Ї ¬пвЁ.
‚л室­®© ®ЇҐа ­¤ ¤®«¦Ґ­ ­ е®¤Ёвмбп ў MMX-ॣЁбваҐ.
Џ®¤¤Ґа¦Ёў овбп Є®¬ ­¤л: psrlw, psrld, psrlq.

‹®ЈЁзҐбЄЁҐ MMX-Є®¬ ­¤л ўлЇ®«­пов Ї®а §ап¤­лҐ «®ЈЁзҐбЄЁҐ ®ЇҐа жЁЁ ­ ¤ ўбҐ¬Ё
64 ЎЁв ¬Ё бў®Ёе ®ЇҐа ­¤®ў.

Љ®¬ ­¤  pand («®ЈЁзҐбЄoe €)
Љ®¬ ­¤  pand ўлзЁб«пҐв Ї®а §ап¤­®Ґ «®ЈЁзҐбЄ®Ґ € бў®Ёе ®ЇҐа ­¤®ў. ‚室­®©
®ЇҐа ­¤ ¬®¦Ґв ­ е®¤Ёвмбп ў MMX-ॣЁбвॠЁ«Ё ў Ї ¬пвЁ. ‚л室­®© ®ЇҐа ­¤ ¤®«¦Ґ­
­ е®¤Ёвмбп ў MMX-ॣЁбваҐ.

Љ®¬ ­¤  pandn («®ЈЁзҐбЄoe Ќ…-€)
Љ®¬ ­¤  pandn ўлзЁб«пҐв ®Ўа йҐ­ЁҐ (Ї®а §ап¤­®Ґ Ќ…) ўл室­®Ј® ®ЇҐа ­¤ ,  
§ вҐ¬ Ї®а §ап¤­®Ґ «®ЈЁзҐбЄ®Ґ € ¬Ґ¦¤г ўе®¤­л¬ ®ЇҐа ­¤®¬ Ё ®Ўа йҐ­­л¬ §­ зҐ­ЁҐ¬
ўл室­®Ј®. ‚室­®© ®ЇҐа ­¤ ¬®¦Ґв ­ е®¤Ёвмбп ў MMX-ॣЁбвॠЁ«Ё ў Ї ¬пвЁ.
‚л室­®© ®ЇҐа ­¤ ¤®«¦Ґ­ ­ е®¤Ёвмбп ў MMX-ॣЁбваҐ.

Љ®¬ ­¤  por («®ЈЁзҐбЄoe €‹€)
Љ®¬ ­¤  por ўлзЁб«пҐв Ї®а §ап¤­®Ґ «®ЈЁзҐбЄ®Ґ €‹€ бў®Ёе ®ЇҐа ­¤®ў. ‚室­®©
®ЇҐа ­¤ ¬®¦Ґв ­ е®¤Ёвмбп ў MMX-ॣЁбвॠЁ«Ё ў Ї ¬пвЁ. ‚л室­®© ®ЇҐа ­¤ ¤®«¦Ґ­
­ е®¤Ёвмбп ў MMX-ॣЁбваҐ.

Љ®¬ ­¤  pxor (ЁбЄ«оз о饥 €‹€)
Љ®¬ ­¤  pxor ўлзЁб«пҐв Ї®а §ап¤­®Ґ «®ЈЁзҐбЄ®Ґ ЁбЄ«оз о饥 €‹€ бў®Ёе
®ЇҐа ­¤®ў. ‚室­®© ®ЇҐа ­¤ ¬®¦Ґв ­ е®¤Ёвмбп ў MMX-ॣЁбвॠЁ«Ё ў Ї ¬пвЁ.
‚л室­®© ®ЇҐа ­¤ ¤®«¦Ґ­ ­ е®¤Ёвмбп ў MMX-ॣЁбваҐ.


4. ЏаЁ¬Ґал ЁбЇ®«м§®ў ­Ёп MMX-Є®¬ ­¤.

Џђ€Њ…ђ 1: ЂЎб®«ов­лҐ ўҐ«ЁзЁ­л а §­®б⥩

ЂЎб®«ов­лҐ ўҐ«ЁзЁ­л а §­®б⥩ зЁбҐ« ЁбЇ®«м§говбп ў  «Ј®аЁв¬ е а бЇ®§­ ў ­Ёп
Ё б¦ вЁп ў Є зҐб⢥ ¬ҐваЁЄЁ - ¬Ґал "а ббв®п­Ёп" ¬Ґ¦¤г зЁб« ¬Ё.
€¤Ґп Їа®Ја ¬¬л Їа®бв :
1. ‘Є®ЇЁа®ў вм н«Ґ¬Ґ­вл Ёб室­ле ўҐЄв®а®ў Ё§ Ї ¬пвЁ ў MMX-ॣЁбвал Є®¬ ­¤®©
movq.
2. ‚лзҐбвм н«Ґ¬Ґ­вл ўв®а®Ј® ўҐЄв®а  Ё§ н«Ґ¬Ґ­в®ў ЇҐаў®Ј® ў  аЁд¬ҐвЁЄҐ б
­ бл饭ЁҐ¬, а бб¬ ваЁў п Ёе Є Є зЁб«  ЎҐ§ §­ Є . …б«Ё а §­®бвм ®ваЁж вҐ«м­ ,
ᮮ⢥вбвўгойЁ© н«Ґ¬Ґ­в ўл室­®Ј® ®ЇҐа ­¤  бв ­Ґв а ў­л¬ ­г«о; Ґб«Ё а §­®бвм
Ї®«®¦ЁвҐ«м­ , ®­  Ї®Ї ¤Ґв ў ўл室­®© ®ЇҐа ­¤.
3. ’ ЄЁ¬ ¦Ґ ®Ўа §®¬ ўлзҐбвм н«Ґ¬Ґ­вл ЇҐаў®Ј® ўҐЄв®а  Ё§ н«Ґ¬Ґ­в®ў ўв®а®Ј®.
’ ¬, Ј¤Ґ ў ЇаҐ¤л¤г饬 б«гз Ґ Ї®«гзЁ«Ёбм ­г«Ё, ⥯Ґам Ўг¤гв ­Ґ®ваЁж вҐ«м­лҐ
а §­®бвЁ.
4. ‚лзЁб«Ёвм Ї®а §ап¤­®Ґ «®ЈЁзҐбЄ®Ґ €‹€ ®в १г«мв в®ў и Ј®ў 2 Ё 3. ЏаЁ н⮬
Ё§ Є ¦¤®© Ї ал н«Ґ¬Ґ­в®ў ¤ ­­ле ­  ўе®¤Ґ €‹€ ў ўл室­®© ®ЇҐа ­¤ Ї®Ї ¤Ґв в®в,
Є®в®ал© ­Ґ а ўҐ­ ­г«о. ќв® Ё вॡ®ў «®бм.

Џђ€Њ…ђ 2: ‘Є «па­®Ґ Їа®Ё§ўҐ¤Ґ­ЁҐ ўҐЄв®а®ў

ќв  ®ЇҐа жЁп з бв® ЁбЇ®«м§гҐвбп ў ЇаЁ«®¦Ґ­Ёпе «Ё­Ґ©­®©  «ЈҐЎал Ё жЁда®ў®©
®Ўа Ў®вЄЁ бЁЈ­ «®ў.
‘Є «па­®Ґ Їа®Ё§ўҐ¤Ґ­ЁҐ aъb ўҐЄв®а®ў ak Ё bk (k = 1,..., n) ўлзЁб«пҐвбп в Є:
aъb = a1b1 + a2b2 + ... + anbn
Џгбвм ўҐЄв®ал б®бв®пв Ё§ 16-а §ап¤­ле б«®ў Ё ­ е®¤пвбп ў Ї ¬пвЁ Ї®  ¤аҐб ¬
a_vector Ё b_vector. Џа®Ја ¬¬  Ўг¤Ґв ўлЇ®«­пвм б«Ґ¤гойЁҐ и ЈЁ:
1. ‘Є®ЇЁа®ў вм 4 б«®ў  ЇҐаў®Ј® ўҐЄв®а  ў MMX-ॣЁбва Є®¬ ­¤®© movq.
2. ‘Є®ЇЁа®ў вм 4 б«®ў  ўв®а®Ј® ўҐЄв®а  ў MMX-ॣЁбва.
3. Џ®Ї а­® ЇҐаҐ¬­®¦Ёвм б«®ў  Ё б«®¦Ёвм ЇҐаў®Ґ Їа®Ё§ўҐ¤Ґ­ЁҐ б® ўв®ал¬,  
ваҐвмҐ б зҐвўҐавл¬, Ї®«м§гпбм Є®¬ ­¤®© pmaddwd.
4. „®Ў ўЁвм १г«мв вл и Ј  3 Є а ­ҐҐ ­ Є®Ї«Ґ­­л¬ б㬬 ¬ Є®¬ ­¤®© paddd

ќвЁ и ЈЁ б«Ґ¤гҐв Ї®ўв®аЁвм ¤«п ўбҐе б«®ў Ёб室­ле ўҐЄв®а®ў (б¬. Їа®Ја ¬¬г).

1 loop mowq MM0,[a_vector]
2 movq MM1,[b_vector]
3 pmaddwd MM0,MM1
4 paddd MM7,MM0
5 add [a_vector],8
6 add [b_vector],8
7 sub [count],4
8 jnz loop
9 movq MM0,MM7
10 psrlq MM7,32
11 paddd MM7,MM0
12 movd mem_vdp,MM7

Љ®¬ ­¤л 1-4 ॠ«Ё§гов и ЈЁ 1-4
Љ®¬ ­¤л 5-8 ®аЈ ­Ё§гов жЁЄ« Ї® ўбҐ¬ н«Ґ¬Ґ­в ¬ ўҐЄв®а®ў.
Љ®¬ ­¤л 9-11 бЄ« ¤лў ов з бвЁз­лҐ б㬬л, ­ Є®Ї«Ґ­­лҐ ў жЁЄ«Ґ ў бв аиЁе Ё
¬« ¤иЁе а §ап¤ е ॣЁбва  MM7.
Љ®¬ ­¤  12 ЇҐаҐбл« Ґв १г«мв в ў Ї ¬пвм.

Џђ€Њ…ђ 3: “б«®ў­л© ўлЎ®а да Ј¬Ґ­в  Ё§®Ўа ¦Ґ­Ёп

MMX-Є®¬ ­¤л Ї®¬®Ј ов а §а Ў влў вм Ў®«ҐҐ нд䥪⨢­лҐ Їа®Ја ¬¬л Є®¬ЇмовҐа­®©
Ја дЁЄЁ Ё ®Ўа Ў®вЄЁ ўЁ¤Ґ®Ё§®Ўа ¦Ґ­Ё©, ў® ¬­®ЈЁе б«гз пе Ї®§ў®«пп Ё§ЎҐ¦ вм
гб«®ў­ле ЇҐаҐе®¤®ў. Ќ ЇаЁ¬Ґа, ¤«п ўл¤Ґ«Ґ­Ёп Ја дЁзҐбЄ®Ј® ®ЎкҐЄв  Ё ­ «®¦Ґ­Ёп
ҐЈ® ­  ­Ґ®¤­®а®¤­л© д®­ ¬®¦­® ў®бЇ®«м§®ў вмбп б«Ґ¤гойЁ¬Ё Є®¬ ­¤ ¬Ё:
1. ‘д®а¬Ёа®ў вм ¬ бЄг ба ў­Ґ­ЁҐ¬ жўҐв  в®зҐЄ ўҐае­Ґ© Є авЁ­ЄЁ б бЁ­Ё¬ 梥⮬
Є®¬ ­¤®© pcmpeqb.
2. Љ®¬ ­¤®© pand ЇаЁбў®Ёвм §­ зҐ­ЁҐ 0 ўбҐ¬ в®зЄ ¬ б業л, ­  Є®в®алҐ Ўг¤Ґв
­ «®¦Ґ­ ®ЎкҐЄв "ѓҐа®©".
3. Љ®¬ ­¤®© pandn ЇаЁбў®Ёвм §­ зҐ­ЁҐ 0 ўбҐ¬ бЁ­Ё¬ в®зЄ ¬ Ёб室­®© Є авЁ­ЄЁ б
"ЈҐа®Ґ¬".
4. ‚лЇ®«­Ёвм ­ «®¦Ґ­ЁҐ в®зҐЄ ®ЎкҐЄв  ­  д®­ Є®¬ ­¤®© por.

1 pcmpeqb MM1,MM3
2 pand MM4,MM3
3 pandn MM1,MM3
4 por MM4,MM1

ќв®в да Ј¬Ґ­в Їа®Ја ¬¬л ®Ўа Ў влў Ґв ў®бҐ¬м в®зҐЄ ў Є ¦¤®¬ Ё§®Ўа ¦Ґ­ЁЁ. „«п
­ «®¦Ґ­Ёп ўбҐЈ® ®ЎкҐЄв  ­  д®­ ¤ ­­л© да Ј¬Ґ­в ­ ¤® ўлЇ®«­Ёвм ў жЁЄ«Ґ ¤«п ўбҐе
в®зҐЄ Ё§®Ўа ¦Ґ­Ёп.
1. Љ®¬ ­¤  pcmpeqb д®а¬ЁагҐв ¬ бЄг: в®зЄЁ, ᮮ⢥вбвўгойЁҐ "ЈҐа®о"
§ Ї®«­повбп ­г«п¬Ё,   ®Єаг¦ ойЁҐ в®зЄЁ - Ґ¤Ё­Ёж ¬Ё.
2. Љ®¬ ­¤  pand ЇаЁбў Ёў Ґв §­ зҐ­ЁҐ 0 ўбҐ¬ в®зЄ ¬ д®­ , ­  Є®в®алҐ Ї®Ї ¤Ґв
"ЈҐа®©".
3. Љ®¬ ­¤  pandn ЇаЁбў Ёў Ґв §­ зҐ­ЁҐ 0 ўбҐ¬ бЁ­Ё¬ в®зЄ ¬ Є авЁ­ЄЁ б
"ЈҐа®Ґ¬".
4. Љ®¬ ­¤  por ўлЇ®­пҐв ­ «®¦Ґ­ЁҐ "ЈҐа®п" ­  д®­.

Џђ€Њ…ђ 4: ђ бЇ Є®ўЄ  б "а §¬­®¦Ґ­ЁҐ¬" §­ Є 

— бв® Ўлў Ґв ­г¦­® ЇаҐ®Ўа §®ў вм Є®а®вЄЁҐ ¤ ­­лҐ ў Ў®«ҐҐ ¤«Ё­­лҐ. …б«Ё нв®
б«®ў  ЎҐ§ §­ Є , ¬®¦­® ў®бЇ®«м§®ў вмбп ®¤­®© Ё§ Є®¬ ­¤ ЈагЇЇл punpck,
Ї®§ Ў®вЁўиЁбм, зв®Ўл ў бв аиЁҐ а §ап¤л १г«мв в®ў ба §г Ї®Ї «Ё ­г«Ё.
…б«Ё ¦Ґ ­ ¤® Ї®ўлбЁвм а §ап¤­®бвм б«®ў б® §­ Є®¬, ¬®¦­® ¤Ґ©бвў®ў вм
б«Ґ¤гойЁ¬ ®Ўа §®¬:
1. ђ бЇ Є®ў вм б«®ў  Ё§ ¬« ¤иЁе 32 а §а冷ў Є®¬ ­¤®© punpcklwd, в Є, зв®Ўл
§­ Є®ўл© ЎЁв Ї®Ї « ў б ¬л© бв аиЁ© а §ап¤ ¤ў®©­®Ј® б«®ў -१г«мв в .
2. ђ бЇ Є®ў вм б«®ў  Ё§ бв аиЁе 32 а §а冷ў Є®¬ ­¤®© punpckhwd (ў ¤агЈ®©
ॣЁбва).
3. ‚лЇ®«­Ёвм  аЁд¬ҐвЁзҐбЄЁ© б¤ўЁЈ Ї®«г祭­ле ¤ў®©­ле б«®ў ­ Їа ў® Є®¬ ­¤®©
psrad. ЏаЁ н⮬ §­ Є®ўл© ЎЁв ў Є ¦¤®¬ б«®ўҐ а §¬­®¦Ёвбп, Ё 32-а §ап¤­лҐ б«®ў 
б® §­ Є®¬ Ўг¤гв Ё¬Ґвм ⥠¦Ґ зЁб«Ґ­­лҐ §­ зҐ­Ёп, зв® Ё Ёб室­лҐ 16-а §ап¤­лҐ
б«®ў  б® §­ Є®¬.