Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:MMX для чайников
.txt 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-а §ап¤лҐ
б«®ў б® § Є®¬.
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-а §ап¤лҐ
б«®ў б® § Є®¬.
Соседние файлы в предмете Микропроцессорные устройства систем управления