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

Микропроцессоры. Учебник

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
Ɋɟɝɢɫɬɪ ɫr0 ɫɨɞɟɪɠɢɬ ɫɢɫɬɟɦɧɵɟ ɮɥɚɝɢ, ɭɩɪɚɜɥɹɸɳɢɟ ɪɟɠɢɦɚɦɢ ɪɚ-
ɛɨɬɵ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪɚ ɢ ɨɬɪɚɠɚɸɳɢɟ ɟɝɨ ɫɨɫɬɨɹɧɢɟ ɝɥɨɛɚɥɶɧɨ, ɧɟɡɚɜɢɫɢ­ɦɨ ɨɬ ɤɨɧɤɪɟɬɧɨ ɜɵɩɨɥɧɹɸɳɢɯɫɹ ɡɚɞɚɱ. ɇɚɡɧɚɱɟɧɢɟ ɫɢɫɬɟɦɧɵɯ ɮɥɚɝɨɜ:
–
ɪe – ɪɚɡɪɟɲɟɧɢɟ ɡɚɳɢɳɟɧɧɨɝɨ ɪɟɠɢɦɚ ɪɚɛɨɬɵ. ɋɨɫɬɨɹɧɢɟ ɷɬɨɝɨ ɮɥɚɝɚ ɩɨɤɚɡɵɜɚɟɬ, ɜ ɤɚɤɨɦ ɢɡ ɞɜɭɯ ɪɟɠɢɦɨɜ – ɪɟɚɥɶɧɨɦ (ɪe = 0) ɢɥɢ ɡɚ- ɳɢɳɟɧɧɨɦ (ɪe = 1) ɪɚɛɨɬɚɟɬ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪ ɜ ɞɚɧɧɵɣ ɦɨɦɟɧɬ;
–
mɪ – ɧɚɥɢɱɢɟ ɫɨɩɪɨɰɟɫɫɨɪɚ (ɪɚɜɟɧ 1);
–
ts – ɩɟɪɟɤɥɸɱɟɧɢɟ ɡɚɞɚɱ. ɉɪɨɰɟɫɫɨɪ ɚɜɬɨɦɚɬɢɱɟɫɤɢ ɭɫɬɚɧɚɜɥɢɜɚɟɬ ɷɬɨɬ ɛɢɬ ɩɪɢ ɩɟɪɟɤɥɸɱɟɧɢɢ ɧɚ ɜɵɩɨɥɧɟɧɢɟ ɞɪɭɝɨɣ ɡɚɞɚɱɢ;
–
ɚm – ɦɚɫɤɚ ɜɵɪɚɜɧɢɜɚɧɢɹ, ɪɚɡɪɟɲɚɟɬ (ɚm = 1) ɢɥɢ ɡɚɩɪɟɳɚɟɬ (ɚm =
0) ɤɨɧɬɪɨɥɶ ɜɵɪɚɜɧɢɜɚɧɢɹ;
–
ɫd – ɡɚɩɪɟɳɟɧɢɟ ɤɷɲ-ɩɚɦɹɬɢ. ɋ ɩɨɦɨɳɶɸ ɷɬɨɝɨ ɛɢɬɚ ɦɨɠɧɨ ɡɚɩɪɟ- ɬɢɬɶ ɢɥɢ ɪɚɡɪɟɲɢɬɶ ɢɫɩɨɥɶɡɨɜɚɧɢɟ ɤɷɲ-ɩɚɦɹɬɢ ɩɟɪɜɨɝɨ ɭɪɨɜɧɹ;
–
ɪg – ɪɚɡɪɟɲɟɧɢɟ (ɪg = 1) ɢɥɢ ɡɚɩɪɟɬ (ɪg = 0) ɫɬɪɚɧɢɱɧɨɝɨ ɩɪɟɨɛɪɚ- ɡɨɜɚɧɢɹ.
Ɋɟɝɢɫɬɪ ɫr2 ɢɫɩɨɥɶɡɭɟɬɫɹ ɩɪɢ ɫɬɪɚɧɢɱɧɨɣ ɨɪɝɚɧɢɡɚɰɢɢ ɨɩɟɪɚɬɢɜɧɨɣ
ɩɚɦɹɬɢ ɞɥɹ ɪɟɝɢɫɬɪɚɰɢɢ ɫɢɬɭɚɰɢɢ, ɤɨɝɞɚ ɬɟɤɭɳɚɹ ɤɨɦɚɧɞɚ ɨɛɪɚɬɢɥɚɫɶ ɩɨ ɚɞɪɟɫɭ, ɫɨɞɟɪɠɚɳɟɦɭɫɹ ɜ ɫɬɪɚɧɢɰɟ ɩɚɦɹɬɢ, ɨɬɫɭɬɫɬɜɭɸɳɟɣ ɜ ɷɬɨɬ ɦɨɦɟɧɬ. ȼ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪɟ ɜɨɡɧɢɤɚɟɬ ɢɫɤɥɸɱɢɬɟɥɶɧɚɹ ɫɢɬɭɚɰɢɹ ɢ ɥɢɧɟɣɧɵɣ 32-ɛɢɬɧɵɣ ɚɞɪɟɫ ɤɨɦɚɧɞɵ, ɜɵɡɜɚɜɲɟɣ ɷɬɨ ɢɫɤɥɸɱɟɧɢɟ, ɡɚɩɢɫɵɜɚɟɬɫɹ ɜ ɪɟ­ɝɢɫɬɪ ɫr2. Ɉɛɪɚɛɨɬɱɢɤ ɢɫɤɥɸɱɟɧɢɹ, ɢɦɟɹ ɷɬɭ ɢɧɮɨɪɦɚɰɢɸ, ɨɩɪɟɞɟɥɹɟɬ ɧɭɠɧɭɸ ɫɬɪɚɧɢɰɭ, ɨɫɭɳɟɫɬɜɥɹɟɬ ɟɟ «ɩɨɞɤɚɱɤɭ» ɜ ɩɚɦɹɬɶ ɢ ɜɨɡɨɛɧɨɜɥɹɟɬ ɧɨɪɦɚɥɶɧɭɸ ɪɚɛɨɬɭ ɩɪɨɝɪɚɦɦɵ.
Ɋɟɝɢɫɬɪ ɫr3 ɬɚɤɠɟ ɢɫɩɨɥɶɡɭɟɬɫɹ ɩɪɢ ɫɬɪɚɧɢɱɧɨɣ ɨɪɝɚɧɢɡɚɰɢɢ ɩɚɦɹɬɢ.
ɗɬɨ ɬɚɤ ɧɚɡɵɜɚɟɦɵɣ ɪɟɝɢɫɬɪ ɤɚɬɚɥɨɝɚ ɫɬɪɚɧɢɰ ɩɟɪɜɨɝɨ ɭɪɨɜɧɹ. Ɉɧ ɫɨɞɟɪ­ɠɢɬ 20-ɛɢɬɧɵɣ ɮɢɡɢɱɟɫɤɢɣ ɛɚɡɨɜɵɣ ɚɞɪɟɫ ɤɚɬɚɥɨɝɚ ɫɬɪɚɧɢɰ ɬɟɤɭɳɟɣ ɡɚ­ɞɚɱɢ.
Ɋɟɝɢɫɬɪ ɫr4 ɫɨɞɟɪɠɢɬ ɩɪɢɡɧɚɤɢ, ɜ ɨɫɧɨɜɧɨɦ ɪɚɡɪɟɲɢɬɟɥɶɧɨɝɨ ɧɚɩɪɚɜ-
ɥɟɧɢɹ, ɤɨɬɨɪɵɟ
ɯɚɪɚɤɬɟɪɢɡɭɸɬ ɬɟ ɢɥɢ ɢɧɵɟ ɚɪɯɢɬɟɤɬɭɪɧɵɟ ɷɥɟɦɟɧɬɵ.
ɍɫɬɚɧɚɜɥɟɧɢɟɦ ɬɟɯ ɢɥɢ ɢɧɵɯ ɛɢɬɨɜ ɜ ɪɟɝɢɫɬɪɟ ɫr4 ɦɨɠɧɨ ɜɤɥɸɱɚɬɶ ɢ ɨɬ­ɤɥɸɱɚɬɶ ɩɨɞɞɟɪɠɤɭ ɷɬɢɯ ɫɜɨɣɫɬɜ.
Ɋɟɝɢɫɬɪɵ ɫɢɫɬɟɦɧɵɯ ɚɞɪɟɫɨɜ
ɗɬɢ ɪɟɝɢɫɬɪɵ ɧɚɡɵɜɚɸɬ ɪɟɝɢɫɬɪɚɦɢ ɭɩɪɚɜɥɟɧɢɹ ɩɚɦɹɬɶɸ. Ɉɧɢ ɩɪɟɞ­ɧɚɡɧɚɱɟɧɵ ɞɥɹ ɡɚɳɢɬɵ ɩɪɨɝɪɚɦɦ ɢ ɞɚɧɧɵɯ ɜ ɦɭɥɶɬɢɡɚɞɚɱɧɨɦ ɪɟɠɢɦɟ ɪɚ­ɛɨɬɵ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪɚ. ɉɪɢ ɪɚɛɨɬɟ ɜ ɡɚɳɢɳɟɧɧɨɦ ɪɟɠɢɦɟ ɚɞɪɟɫɧɨɟ ɩɪɨ­ɫɬɪɚɧɫɬɜɨ ɞɟɥɢɬɫɹ ɧɚ:
–
ɝɥɨɛɚɥɶɧɨɟ – ɨɛɳɟɟ ɞɥɹ ɜɫɟɯ ɡɚɞɚɱ;
–
ɥɨɤɚɥɶɧɨɟ – ɨɬɞɟɥɶɧɨɟ ɞɥɹ ɤɚɠɞɨɣ ɡɚɞɚɱɢ.
ȼ ɡɚɳɢɳɟɧɧɨɦ ɪɟɠɢɦɟ ɥɸɛɨɣ ɡɚɩɪɨɫ ɤ ɩɚɦɹɬɢ ɨɩɟɪɚɰɢɨɧɧɨɣ ɫɢɫɬɟ­ɦɵ ɢ ɩɪɢɤɥɚɞɧɵɯ ɩɪɨɝɪɚɦɦ ɞɨɥɠɟɧ ɛɵɬɶ ɫɚɧɤɰɢɨɧɢɪɨɜɚɧ. Ɇɢɤɪɨɩɪɨɰɟɫ-
71
ɫɨɪ ɚɩɩɚɪɚɬɧɨ ɤɨɧɬɪɨɥɢɪɭɟɬ ɞɨɫɬɭɩ ɩɪɨɝɪɚɦɦ ɤ ɥɸɛɨɦɭ ɚɞɪɟɫɭ ɜ ɨɩɟɪɚ­ɬɢɜɧɨɣ ɩɚɦɹɬɢ. ɋ ɰɟɥɶɸ ɩɨɥɭɱɟɧɢɹ ɞɨɫɬɭɩɚ ɰɟɥɟɜɨɣ ɚɞɪɟɫ, ɤ ɤɨɬɨɪɨɦɭ ɫɬɪɟɦɢɬɫɹ ɩɨɥɭɱɢɬɶ ɞɨɫɬɭɩ ɩɪɨɝɪɚɦɦɚ, ɞɨɥɠɟɧ ɛɵɬɶ ɨɩɢɫɚɧ ɞɥɹ ɩɪɨɝɪɚɦ­ɦɵ. ɗɬɨ ɨɡɧɚɱɚɟɬ, ɱɬɨ ɭɱɚɫɬɨɤ ɮɢɡɢɱɟɫɤɨɣ ɩɚɦɹɬɢ, ɫɨɞɟɪɠɚɳɢɣ ɧɟɨɛɯɨ­ɞɢɦɵɣ ɚɞɪɟɫ, ɞɨɥɠɟɧ ɛɵɬɶ ɨɩɢɫɚɧ ɫ ɩɨɦɨɳɶɸ ɧɟɤɨɬɨɪɨɝɨ ɞɟɫɤɪɢɩɬɨɪɚ ɫɟɝɦɟɧɬɚ.
ɉɪɨɝɪɚɦɦɟ, ɜ ɤɨɬɨɪɨɣ
ɞɨɥɠɟɧ ɛɵɬɶ ɢɫɩɨɥɶɡɨɜɚɧ ɞɚɧɧɵɣ ɭɱɚɫɬɨɤ ɩɚ­ɦɹɬɢ, ɞɨɥɠɟɧ ɛɵɬɶ ɫɨɨɛɳɟɧ ɭɤɚɡɚɬɟɥɶ ɧɚ ɫɨɨɬɜɟɬɫɬɜɭɸɳɢɣ ɞɟɫɤɪɢɩɬɨɪ ɜ ɨɞɧɨɣ ɢɡ ɞɟɫɤɪɢɩɬɨɪɧɵɯ ɬɚɛɥɢɰ. ȼ ɡɚɳɢɳɟɧɧɨɦ ɪɟɠɢɦɟ ɦɟɧɹɟɬɫɹ ɪɨɥɶ ɫɟɝɦɟɧɬɧɨɝɨ ɪɟɝɢɫɬɪɚ – ɨɧ ɫɨɞɟɪɠɢɬ ɧɟ ɚɞɪɟɫ, ɚ ɢɧɞɟɤɫ ɜ ɬɚɛɥɢɰɟ ɞɟɫɤɪɢɩ­ɬɨɪɨɜ ɫɟɝɦɟɧɬɨɜ. ɇɚɡɧɚɱɟɧɢɟ ɫɟɝɦɟɧɬɧɵɯ ɪɟɝɢɫɬɪɨɜ ɧɟ ɢɡɦɟɧɹɟɬɫɹ, ɨɧɢ ɩɨ-ɩɪɟɠɧɟɦɭ ɭɤɚɡɵɜɚɸɬ ɧɚ ɫɟɝɦɟɧɬɵ ɤɨɦɚɧɞ, ɞɚɧɧɵɯ
ɢ ɫɬɟɤɚ, ɧɨ ɫ ɢɫ-
ɩɨɥɶɡɨɜɚɧɢɟɦ ɩɪɢɧɰɢɩɢɚɥɶɧɨ ɞɪɭɝɢɯ ɦɟɯɚɧɢɡɦɨɜ.
Ɋɚɡɦɟɪ ɫɟɝɦɟɧɬɚ ɜ ɡɚɳɢɳɟɧɧɨɦ ɪɟɠɢɦɟ ɦɨɠɟɬ ɞɨɫɬɢɝɚɬɶ ɱɟɬɵɪɟɯ ɝɢ­ɝɚɛɚɣɬ, ɬɨ ɟɫɬɶ ɡɚɧɢɦɚɬɶ ɜɫɟ ɜɨɡɦɨɠɧɨɟ ɮɢɡɢɱɟɫɤɨɟ ɩɪɨɫɬɪɚɧɫɬɜɨ ɩɚɦɹɬɢ. ȼɵɜɟɞɟɧɢɟ ɢɧɮɨɪɦɚɰɢɢ ɨ ɛɚɡɨɜɨɦ ɚɞɪɟɫɟ ɫɟɝɦɟɧɬɚ ɢ ɟɝɨ ɪɚɡɦɟɪɟ ɧɚ ɭɪɨ­ɜɟɧɶ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪɚ ɩɨɡɜɨɥɹɟɬ ɚɩɩɚɪɚɬɧɨ ɤɨɧɬɪɨɥɢɪɨɜɚɬɶ ɪɚɛɨɬɭ ɩɪɨ­ɝɪɚɦɦ ɫ ɩɚɦɹɬɶɸ ɢ ɩɪɟɞɨɬɜɪɚɳɚɬɶ ɨɛɪɚɳɟɧɢɹ ɩɨ ɧɟɫɭɳɟɫɬɜɭɸɳɢɦ ɚɞɪɟ­ɫɚɦ, ɥɢɛɨ ɚɞɪɟɫɚɦ, ɧɚɯɨɞɹɳɢɦɫɹ ɜɧɟ ɩɪɟɞɟɥɚ, ɪɚɡɪɟɲɟɧɧɨɝɨ ɩɨɥɟɦ ɪɚɡɦɟ­ɪɚ ɫɟɝɦɟɧɬɚ limit.
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\fpu.inc
include \masm32\include\msvcrt.inc
include \masm32\include\user32.inc
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\msvcrt.lib
includelib \masm32\lib\fpu.lib
include \ masm32 \ include \ windows.inc
include \ masm32 \ include \ kernel32.inc
include \ masm32 \ include \ fpu.inc
include \ masm32 \ include \ user32.inc
include \ masm32 \ include \ msvcrt.inc
includelib \ masm32 \ lib \ user32.lib
includelib \ masm32 \ lib \ kernel32.lib
includelib \ masm32 \ lib \ msvcrt.lib
includelib \ masm32 \ lib \ fpu.lib
72
. Data ;ɞɢɪɟɤɬɢɜɚ ɨɩɪɟɞɟɥɟɧɢɹ ɞɚɧɧɵɯ
frmt db "% d",0
buf db 30 dup (0)
buf2 db 20 dup (0)
stdout DWORD?
stdin DWORD?
const dd 10
temp1 dd 0.0
temp2 dd 0.5
temp3 dd 0.5
temp4 dd 0.5
identif1 dd 1
identif2 dd 1
st1 db "Vvedyte a",0
st2 db "Vvedyte b",0
st3 db "Ɋɟɡɭɥɶɬɚɬ ɜɵɱɢɫɥɟɧɢɹ a + b",
st4 db "a + b ="
. Code; ɞɢɪɟɤɬɢɜɚ ɧɚɱɚɥɚ ɤɨɞɚ
_start:
invoke GetStdHandle,STD_OUTPUT_HANDLE
mov stdout,eax
invoke GetStdHandle,STD_INPUT_HANDLE
mov stdin,eax
invoke WriteConsoleA, stdout, ADDR st1, 11, NULL,NULL; VIVOD ST1
invoke ReadConsole, stdin, ADDR buf, 20, ADDR cRead,ULL ; ɱɬɟɧɢɹ ɱɢɫɥɚ ɤɚɤ ɫɢɦɜɨɥ
invoke crt_atoi, ADDR buf ; ɩɪɟɨɛɪɚɡɨɜɚɬɶ ɫɢɦɜɨɥ ɜ ɱɢɫɥɨ
mov temp1, eax
lea edi, buf
mov ecx, 30
m1:
mov al, '.'
mov bl, [edi]
xor al, bl
jz m2
inc edi
loop m1
m2:
lea esi, buf2
73
mov ecx, 20
m3:
inc edi
mov ebx, [edi]
mov [esi], ebx
inc esi
loop m3
invoke crt_atoi, ADDR buf2 ;ɩɪɟɨɛɪɚɡɨɜɚɬɶ ɫɢɦɜɨɥ ɜ ɱɢɫɥɨ
mov temp2, eax
id1:
mov eax, identif1
mov ebx, const
mul ebx
SHL edx, 16; ɞɟɥɚɟɦ ɫɞɜɢɝ ɧɚ 16
mov dx, ax
mov identif1, edx
mov ecx, temp2
sub ecx, edx
jc id_end1
jmp id1
id_end1:
invoke GetStdHandle, STD_OUTPUT_HANDLE
mov stdout, eax
invoke GetStdHandle, STD_INPUT_HANDLE
mov stdin, eax
invoke WriteConsoleA, stdout, ADDR st2, 11, NULL, NULL; VIVOD ST1
invoke ReadConsole, stdin, ADDR buf, 20, ADDR cRead, NULL; ɱɬɟɧɢɹ ɱɢɫɥɚ ɤɚɤ ɫɢɦɜɨɥ
invoke crt_atoi, ADDR buf; ɩɪɟɨɛɪɚɡɨɜɚɬɶ ɫɢɦɜɨɥ ɜ ɱɢɫɥɨ
mov temp3, eax
lea edi, buf
mov ecx, 30
m4:
mov al, '.'
mov bl, [edi]
xor al, bl
jz m5
inc edi
74
loop m4
m5:
lea esi, buf2
mov ecx, 20
m6:
inc edi
mov ebx, [edi]
mov [esi], ebx
inc esi
loop m6
invoke crt_atoi, ADDR buf2; ɩɪɟɨɛɪɚɡɨɜɚɬɶ ɫɢɦɜɨɥ ɜ ɱɢɫɥɨ
mov temp4, eax
id2:
mov eax, identif2
mov ebx, const
mul ebx
SHL edx, 16;ɞɟɥɚɟɦ ɫɞɜɢɝ ɧɚ 16
mov dx, ax
mov identif2, edx
mov ecx, temp4
sub ecx, edx
jc id_end2
jmp id2
id_end2:
finit
fild temp1
fiadd temp3
fild temp2
fidiv identif1
fadd st (0), st (1)
fild temp4
fidiv identif2
fadd st (0), st (1)
invoke FpuFLtoA, 0, 10, ADDR st4, SRC1_FPU or SRC2_DIMM
invoke MessageBox, NULL, addr st4, addr st3, MB_OK
invoke ExitProcess, NULL ;ɜɨɡɜɪɚɬ ɭɩɪɚɜɥɟɧɢɹ Windows
; ɂ ɨɫɜɨɛɨɠɞɟɧɢɹ ɪɟɫɭɪɫɨɜ
end _start; ɞɢɪɟɤɬɢɜɚ ɨɤɨɧɱɚɧɢɹ ɩɪɨɝɪɚɦɦɵ ɫ ɢɦɟɧɟɦ start
75
ɋɟɝɦɟɧɬɵ ɧɟɪɚɜɧɨɩɪɚɜɧɵ ɜ ɩɪɚɜɚɯ ɞɨɫɬɭɩɚ ɤ ɧɢɦ. Ɍɪɢ ɚɩɩɚɪɚɬɧɨ ɩɨɞɞɟɪɠɢɜɚɟɦɵɟ ɞɟɫɤɪɢɩɬɨɪɧɵɟ ɬɚɛɥɢɰɵ:
1. GDT – ɝɥɨɛɚɥɶɧɚɹ ɞɟɫɤɪɢɩɬɨɪɧɚɹ ɬɚɛɥɢɰɚ. ɗɬɨ ɨɫɧɨɜɧɚɹ ɨɛɳɟɫɢ-
ɫɬɟɦɧɚɹ ɬɚɛɥɢɰɚ, ɤ ɤɨɬɨɪɨɣ ɞɨɩɭɫɤɚɟɬɫɹ ɨɛɪɚɳɟɧɢɟ ɫɨ ɫɬɨɪɨɧɵ ɩɪɨɝɪɚɦɦ, ɨɛɥɚɞɚɸɳɢɯ ɞɨɫɬɚɬɨɱɧɵɦɢ ɩɪɢɜɢɥɟɝɢɹɦɢ. Ɋɚɫɩɨɥɨɠɟɧɢɟ ɬɚɛɥɢɰɵ ɜ ɩɚ­ɦɹɬɢ ɩɪɨɢɡɜɨɥɶɧɨ. ȼ ɬɚɛɥɢɰɟ ɦɨɝɭɬ ɫɨɞɟɪɠɚɬɶɫɹ ɫɥɟɞɭɸɳɢɟ ɬɢɩɵ ɞɟ­ɫɤɪɢɩɬɨɪɨɜ:
–
ɞɟɫɤɪɢɩɬɨɪɵ ɫɟɝɦɟɧɬɨɜ ɤɨɞɨɜ ɩɪɨɝɪɚɦɦ;
–
ɞɟɫɤɪɢɩɬɨɪɵ ɫɟɝɦɟɧɬɨɜ ɞɚɧɧɵɯ ɩɪɨɝɪɚɦɦ;
–
ɞɟɫɤɪɢɩɬɨɪɵ ɫɬɟɤɨɜɵɯ ɫɟɝɦɟɧɬɨɜ ɩɪɨɝɪɚɦɦ;
–
ɞɟɫɤɪɢɩɬɨɪɵ TSS – ɫɟɝɦɟɧɬɵ ɫɨɫɬɨɹɧɢɹ ɡɚɞɚɱ;
–
ɞɟɫɤɪɢɩɬɨɪɵ ɞɥɹ ɬɚɛɥɢɰ LDT;
–
ɲɥɸɡɵ ɜɵɡɨɜɚ;
–
ɲɥɸɡɵ ɡɚɞɚɱ.
2. Ɍɚɛɥɢɰɚ LDT – ɥɨɤɚɥɶɧɚɹ ɞɟɫɤɪɢɩɬɨɪɧɚɹ ɬɚɛɥɢɰɚ. Ⱦɥɹ ɥɸɛɨɣ ɡɚ-
ɞɚɱɢ ɜ ɫɢɫɬɟɦɟ ɦɨɠɟɬ ɛɵɬɶ ɫɨɡɞɚɧɚ ɫɜɨɹ ɞɟɫɤɪɢɩɬɨɪɧɚɹ ɬɚɛɥɢɰɚ. Ɍɟɦ ɫɚ­ɦɵɦ ɚɞɪɟɫɧɨɟ ɩɪɨɫɬɪɚɧɫɬɜɨ ɡɚɞɚɱɢ ɥɨɤɚɥɢɡɭɟɬɫɹ ɜ ɩɪɟɞɟɥɚɯ ɭɫɬɚɧɨɜɥɟɧ­ɧɵɯ ɧɚɛɨɪɨɦ ɞɟɫɤɪɢɩɬɨɪɨɜ ɬɚɛɥɢɰɵ, ɪɚɫɩɨɥɨɠɟɧɢɟ ɤɨɬɨɪɨɣ ɜ ɩɚɦɹɬɢ ɬɚɤɠɟ ɩɪɨɢɡɜɨɥɶɧɨ. ȼ ɬɚɛɥɢɰɟ ɦɨɝɭɬ ɫɨɞɟɪɠɚɬɶɫɹ ɫɥɟɞɭɸɳɢɟ ɬɢɩɵ ɞɟ­ɫɤɪɢɩɬɨɪɨɜ:
–
ɞɟɫɤɪɢɩɬɨɪɵ ɫɟɝɦɟɧɬɨɜ ɤɨɞɨɜ ɩɪɨɝɪɚɦɦ;
–
ɞɟɫɤɪɢɩɬɨɪɵ ɫɟɝɦɟɧɬɨɜ ɞɚɧɧɵɯ ɩɪɨɝɪɚɦɦ;
–
ɞɟɫɤɪɢɩɬɨɪɵ ɫɬɟɤɨɜɵɯ ɫɟɝɦɟɧɬɨɜ ɩɪɨɝɪɚɦɦ;
–
ɲɥɸɡɵ ɜɵɡɨɜɚ;
–
ɲɥɸɡɵ ɡɚɞɚɱ.
3. Ɍɚɛɥɢɰɚ IDT – ɞɟɫɤɪɢɩɬɨɪɧɚɹ ɬɚɛɥɢɰɚ ɩɪɟɪɵɜɚɧɢɣ. Ɉɧɚ ɫɨɞɟɪɠɢɬ
ɞɟɫɤɪɢɩɬɨɪɵ ɫɩɟɰɢɚɥɶɧɨɝɨ ɬɢɩɚ, ɤɨɬɨɪɵɟ ɨɩɪɟɞɟɥɹɸɬ ɦɟɫɬɨɩɨɥɨɠɟɧɢɟ ɩɪɨɝɪɚɦɦ – ɨɛɪɚɛɨɬɱɢɤɨɜ ɜɫɟɯ ɜɢɞɨɜ ɩɪɟɪɵɜɚɧɢɣ. ɗɥɟɦɟɧɬɵ ɷɬɨɣ ɬɚɛɥɢ­ɰɵ ɧɚɡɵɜɚɸɬɫɹ ɲɥɸɡɚɦɢ ɬɪɟɯ ɬɢɩɨɜ – ɡɚɞɚɱ, ɩɪɟɪɵɜɚɧɢɣ, ɥɨɜɭɲɟɤ.
16. Ɉɛɪɚɛɨɬɤɚ ɩɪɟɪɵɜɚɧɢɣ ɜ ɡɚɳɢɳɟɧɧɨɦ ɪɟɠɢɦɟ
Ɉɛɪɚɛɨɬɤɚ ɩɪɟɪɵɜɚɧɢɣ ɜ ɡɚɳɢɳɟɧɧɨɦ ɪɟɠɢɦɟ ɨɬɥɢɱɚɟɬɫɹ ɨɬ ɨɛɪɚ­ɛɨɬɤɢ ɜ ɪɟɚɥɶɧɨɦ ɪɟɠɢɦɟ ɬɚɤ ɠɟ ɫɭɳɟɫɬɜɟɧɧɨ, ɤɚɤ ɢ ɫɚɦ ɡɚɳɢɳɟɧɧɵɣ ɪɟ­ɠɢɦ ɨɬɥɢɱɚɟɬɫɹ ɨɬ ɪɟɚɥɶɧɨɝɨ ɪɚɫɩɪɟɞɟɥɟɧɢɟɦ ɧɨɦɟɪɨɜ ɜɟɤɬɨɪɨɜ ɩɪɟɪɵɜɚ­ɧɢɣ ɢ ɩɪɢɧɰɢɩɢɚɥɶɧɨ ɞɪɭɝɢɦ ɦɟɯɚɧɢɡɦɨɦ ɨɛɪɚɛɨɬɤɢ.
ɋɢɫɬɟɦɧɵɟ ɨɛɪɚɛɨɬɱɢɤɢ ɩɪɟɪɵɜɚɧɢɣ ɞɥɹ ɩɪɟɞɨɬɜɪɚɳɟɧɢɹ ɤɨɧɮɥɢɤ­ɬɨɜ ɜɵɩɨɥɧɹɸɬ ɞɟɣɫɬɜɢɹ ɩɨ ɢɞɟɧɬɢɮɢɤɚɰɢɢ ɢɫɬɨɱɧɢɤɚ ɩɪɟɪɵɜɚɧɢɹ ɢ ɥɢɲɶ ɡɚɬɟɦ ɧɟɩɨɫɪɟɞɫɬɜɟɧɧɨ ɩɨ ɢɯ ɨɛɪɚɛɨɬɤɟ.
Ʉɥɸɱɟɜɵɦɢ ɤɨɦɩɨɧɟɧɬɚɦɢ ɜ ɫɯɟɦɟ ɨɛɪɚɛɨɬɤɢ ɩɪɟɪɵɜɚɧɢɣ ɹɜɥɹɸɬɫɹ ɞɟɫɤɪɢɩɬɨɪɧɚɹ ɬɚɛɥɢɰɚ ɩɪɟɪɵɜɚɧɢɣ IDT ɢ ɫɢɫɬɟɦɧɵɣ ɪɟɝɢɫɬɪ idtr. ɉɪɢ
76
ɜɨɡɧɢɤɧɨɜɟɧɢɢ ɩɪɟɪɵɜɚɧɢɹ ɨɬ ɢɫɬɨɱɧɢɤɚ ɫ ɧɨɦɟɪɨɦ N ɦɢɤɪɨɩɪɨɰɟɫɫɨɪ, ɧɚɯɨɞɹɫɶ ɜ ɡɚɳɢɳɟɧɧɨɦ ɪɟɠɢɦɟ, ɜɵɩɨɥɧɹɟɬ ɫɥɟɞɭɸɳɢɟ ɞɟɣɫɬɜɢɹ:
–
ɨɩɪɟɞɟɥɹɟɬ ɦɟɫɬɨɧɚɯɨɠɞɟɧɢɟ ɬɚɛɥɢɰɵ IDT, ɚɞɪɟɫ ɢ ɪɚɡɦɟɪ ɤɨɬɨɪɨɣ
ɫɨɞɟɪɠɚɬɫɹ ɜ ɪɟɝɢɫɬɪɟ idtr;
–
ɫɤɥɚɞɵɜɚɟɬ ɡɧɚɱɟɧɢɟ ɚɞɪɟɫɚ, ɩɨ ɤɨɬɨɪɨɦɭ ɪɚɡɦɟɳɟɧɚ IDT, ɢ ɡɧɚɱɟ-
ɧɢɟ n
x 8. ɉɨ ɷɬɨɦɭ ɫɦɟɳɟɧɢɸ ɜ ɬɚɛɥɢɰɟ IDT ɞɨɥɠɟɧ ɧɚɯɨɞɢɬɶɫɹ
8-ɛɚɣɬɨɜɵɣ ɞɟɫɤɪɢɩɬɨɪ, ɨɩɪɟɞɟɥɹɸɳɢɣ ɦɟɫɬɨɩɨɥɨɠɟɧɢɟ ɩɪɨɰɟɞɭɪɵ ɨɛɪɚ­ɛɨɬɤɢ ɩɪɟɪɵɜɚɧɢɹ;
–
ɩɟɪɟɤɥɸɱɚɟɬɫɹ ɧɚ ɩɪɨɰɟɞɭɪɭ ɨɛɪɚɛɨɬɤɢ ɩɪɟɪɵɜɚɧɢɹ.
ɉɪɟɪɵɜɚɧɢɹ ɢ ɢɫɤɥɸɱɟɧɢɹ ɦɨɠɧɨ ɪɚɡɞɟɥɢɬɶ ɧɚ ɧɟɫɤɨɥɶɤɨ ɝɪɭɩɩ:
–
ɫɛɨɣ;
–
ɥɨɜɭɲɤɚ;
–
ɚɜɚɪɢɣɧɨɟ ɡɚɜɟɪɲɟɧɢɟ.
ɋɛɨɣ (ɨɲɢɛɤɚ) – ɩɪɟɪɵɜɚɧɢɟ ɢɥɢ ɢɫɤɥɸɱɟɧɢɟ, ɩɪɢ ɜɨɡɧɢɤɧɨɜɟɧɢɢ ɤɨ­ɬɨɪɨɝɨ ɜ ɫɬɟɤ ɡɚɩɢɫɵɜɚɸɬɫɹ ɡɧɚɱɟɧɢɹ ɪɟɝɢɫɬɪɨɜ ɫs:iɪ, ɭɤɚɡɵɜɚɸɳɢɟ ɧɚ ɤɨɦɚɧɞɭ, ɜɵɡɜɚɜɲɭɸ ɷɬɨ ɩɪɟɪɵɜɚɧɢɟ. ɗɬɨ ɩɨɡɜɨɥɹɟɬ, ɩɨɥɭɱɢɜ ɞɨɫɬɭɩ ɤ ɫɟɝɦɟɧɬɭ ɤɨɞɚ, ɢɫɩɪɚɜɢɬɶ ɨɲɢɛɨɱɧɭɸ ɤɨɦɚɧɞɭ ɜ ɨɛɪɚɛɨɬɱɢɤɟ ɩɪɟɪɵɜɚɧɢɹ ɢ, ɜɟɪɧɭɜ ɭɩɪɚɜɥɟɧɢɟ ɩɪɨɝɪɚɦɦɟ, ɮɚɤɬɢɱɟɫɤɢ ɨɫɭɳɟɫɬɜɢɬɶ ɟɟ ɪɟɫɬɚɪɬ.
Ʌɨɜɭɲɤɚ – ɩɪɟɪɵɜɚɧɢɟ ɢɥɢ ɢɫɤɥɸɱɟɧɢɟ, ɩɪɢ ɜɨɡɧɢɤɧɨɜɟɧɢɢ ɤɨɬɨɪɨɝɨ ɜ ɫɬɟɤ ɡɚɩɢɫɵɜɚɸɬɫɹ ɡɧɚɱɟɧɢɹ ɪɟɝɢɫɬɪɨɜ ɫs:iɪ, ɭɤɚɡɵɜɚɸɳɢɟ ɧɚ ɤɨɦɚɧɞɭ, ɫɥɟɞɭɸɳɭɸ ɡɚ ɤɨɦɚɧɞɨɣ, ɜɵɡɜɚɜɲɟɣ ɷɬɨ ɩɪɟɪɵɜɚɧɢɟ. Ʉɚɤ ɢ ɜ ɫɥɭɱɚɟ ɨɲɢ­ɛɨɤ, ɜɨɡɦɨɠɟɧ ɪɟɫɬɚɪɬ ɩɪɨɝɪɚɦɦɵ. Ⱦɥɹ ɷɬɨɝɨ ɧɟɨɛɯɨɞɢɦɨ ɢɫɩɪɚɜɢɬɶ ɜ ɨɛ­ɪɚɛɨɬɱɢɤɟ ɩɪɟɪɵɜɚɧɢɹ ɫɨɨɬɜɟɬɫɬɜɭɸɳɢɟ ɤɨɞ ɢɥɢ ɞɚɧɧɵɟ, ɩɨɫɥɭɠɢɜɲɢɟ ɢɫɬɨɱɧɢɤɨɦ ɨɲɢɛɤɢ. ɉɨɫɥɟ ɷɬɨɝɨ ɩɟɪɟɞ ɜɨɡɜɪɚɬɨɦ ɭɩɪɚɜɥɟɧɢɹ ɧɟɨɛɯɨɞɢ­ɦɨ ɫɤɨɪɪɟɤɬɢɪɨɜɚɬɶ ɡɧɚɱɟɧɢɟ iɪ
ɜ ɫɬɟɤɟ ɧɚ ɞɥɢɧɭ ɤɨɦɚɧɞɵ, ɜɵɡɜɚɜɲɟɣ
ɞɚɧɧɨɟ ɩɪɟɪɵɜɚɧɢɟ.
Ⱥɜɚɪɢɣɧɨɟ ɡɚɜɟɪɲɟɧɢɟ – ɩɪɟɪɵɜɚɧɢɟ, ɩɪɢ ɤɨɬɨɪɨɦ ɢɧɮɨɪɦɚɰɢɹ ɨ ɦɟ­ɫɬɟ ɟɝɨ ɜɨɡɧɢɤɧɨɜɟɧɢɹ ɧɟɞɨɫɬɭɩɧɚ ɢɥɢ ɧɟɩɨɥɧɚ, ɢ ɩɨɷɬɨɦɭ ɪɟɫɬɚɪɬ ɩɪɚɤ­ɬɢɱɟɫɤɢ ɧɟɜɨɡɦɨɠɟɧ, ɟɫɥɢ ɬɨɥɶɤɨ ɷɬɚ ɫɢɬɭɚɰɢɹ ɧɟ ɛɵɥɚ ɡɚɩɥɚɧɢɪɨɜɚɧɚ ɡɚ­ɪɚɧɟɟ.
Ɇɢɤɪɨɩɪɨɰɟɫɫɨɪ ɨɞɧɨɡɧɚɱɧɨ ɨɩɪɟɞɟɥɹɟɬ, ɤɚɤɢɟ ɩɪɟɪɵɜɚɧɢɹ ɹɜɥɹɸɬɫɹ ɫɛɨɹɦɢ, ɤɚɤɢɟ ɥɨɜɭɲɤɚɦɢ, ɚ ɤɚɤɢɟ ɚɜɚɪɢɣɧɵɦ ɡɚɜɟɪɲɟɧɢɟɦ,
ɩɨɬɨɦɭ ɱɬɨ
ɚɥɝɨɪɢɬɦɵ ɩɪɨɝɪɚɦɦ-ɨɛɪɚɛɨɬɱɢɤɨɜ ɫɭɳɟɫɬɜɟɧɧɨ ɪɚɡɥɢɱɚɸɬɫɹ.
ɒɥɸɡ – ɞɟɫɤɪɢɩɬɨɪ ɜ ɬɚɛɥɢɰɟ ɩɪɟɪɵɜɚɧɢɣ IDT ɩɪɟɞɧɚɡɧɚɱɟɧ ɞɥɹ ɭɤɚ­ɡɚɧɢɹ ɬɨɱɤɢ ɜɯɨɞɚ ɜ ɩɪɨɝɪɚɦɦɭ ɨɛɪɚɛɨɬɤɢ ɩɪɟɪɵɜɚɧɢɹ. ȼ ɞɟɫɤɪɢɩɬɨɪɧɨɣ ɬɚɛɥɢɰɟ ɩɪɟɪɵɜɚɧɢɣ IDT ɦɨɝɭɬ ɫɨɞɟɪɠɚɬɶɫɹ ɲɥɸɡɵ ɬɪɟɯ ɬɢɩɨɜ:
–
ɥɨɜɭɲɤɢ;
–
ɩɪɟɪɵɜɚɧɢɹ;
–
ɡɚɞɚɱɢ.
77
Ɏɢɡɢɱɟɫɤɢ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪ ɨɬɥɢɱɚɟɬ ɢɯ ɩɨ ɡɧɚɱɟɧɢɸ ɜ ɩɨɥɟ ɬɢɩɚ ɢ ɫɨɞɟɪɠɢɦɨɦɭ ɨɫɬɚɥɶɧɵɯ ɩɨɥɟɣ.
Ⱦɥɹ ɬɨɝɨ ɱɬɨɛɵ ɫɞɟɥɚɬɶ ɜɨɡɦɨɠɧɵɦ ɨɛɪɚɛɨɬɤɭ ɩɪɟɪɵɜɚɧɢɣ ɜ ɡɚɳɢ­ɳɟɧɧɨɦ ɪɟɠɢɦɟ, ɧɟɨɛɯɨɞɢɦɨ ɜɵɩɨɥɧɢɬɶ ɫɥɟɞɭɸɳɢɟ ɞɟɣɫɬɜɢɹ:
–
ɢɧɢɰɢɚɥɢɡɢɪɨɜɚɬɶ ɬɚɛɥɢɰɭ IDT;
–
ɫɨɫɬɚɜɢɬɶ ɩɪɨɰɟɞɭɪɵ ɨɛɪɚɛɨɬɱɢɤɨɜ ɩɪɟɪɵɜɚɧɢɣ;
–
ɡɚɩɪɟɬɢɬɶ ɚɩɩɚɪɚɬɧɵɟ ɩɪɟɪɵɜɚɧɢɹ;
–
ɩɟɪɟɩɪɨɝɪɚɦɦɢɪɨɜɚɬɶ ɤɨɧɬɪɨɥɥɟɪ ɩɪɟɪɵɜɚɧɢɣ i8259Ⱥ;
–
ɡɚɝɪɭɡɢɬɶ ɪɟɝɢɫɬɪ IDTR ɚɞɪɟɫɨɦ ɢ ɪɚɡɦɟɪɨɦ ɬɚɛɥɢɰɵ IDT;
–
ɩɟɪɟɣɬɢ ɜ ɡɚɳɢɳɟɧɧɵɣ ɪɟɠɢɦ;
–
ɪɚɡɪɟɲɢɬɶ ɨɛɪɚɛɨɬɤɭ ɩɪɟɪɵɜɚɧɢɣ.
17. Multimedia extensions-ɬɟɯɧɨɥɨɝɢɹ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪɨɜ
Ɉɫɧɨɜɭ ɦɨɞɟɥɢ ɰɟɥɨɱɢɫɥɟɧɧɨɝɨ ɆɆɏ-ɪɚɫɲɢɪɟɧɢɹ ɫɨɫɬɚɜɥɹɸɬ ɞɜɟ ɤɨɦɩɨɧɟɧɬɵ: ɩɪɨɝɪɚɦɦɧɚɹ ɢ ɚɩɩɚɪɚɬɧɚɹ. ɉɪɨɝɪɚɦɦɧɚɹ ɤɨɦɩɨɧɟɧɬɚ – ɫɢ­ɫɬɟɦɚ ɤɨɦɚɧɞ ɆɆɏ-ɪɚɫɲɢɪɟɧɢɹ (ɩɹɬɶɞɟɫɹɬ ɫɟɦɶ ɤɨɦɚɧɞ) ɢ ɱɟɬɵɪɟ ɧɨɜɵɯ ɬɢɩɚ ɞɚɧɧɵɯ.
ɆɆɏ-ɤɨɦɚɧɞɵ ɹɜɥɹɸɬɫɹ ɟɫɬɟɫɬɜɟɧɧɵɦ ɞɨɩɨɥɧɟɧɢɟɦ ɨɫɧɨɜɧɨɣ ɫɢ­ɫɬɟɦɵ ɤɨɦɚɧɞ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪɚ. Ɉɫɧɨɜɧɵɦ ɩɪɢɧɰɢɩɨɦ ɢɯ ɪɚɛɨɬɵ ɹɜɥɹɟɬ­ɫɹ ɨɞɧɨɜɪɟɦɟɧɧɚɹ ɨɛɪɚɛɨɬɤɚ ɧɟɫɤɨɥɶɤɢɯ ɟɞɢɧɢɰ ɨɞɧɨɬɢɩɧɵɯ ɞɚɧɧɵɯ ɨɞ­ɧɨɣ ɤɨɦɚɧɞɨɣ
– Single Instruɫtiɨn Multiɪle Dɚtɚ (SIMD).
Ⱥɩɩɚɪɚɬɧɚɹ ɤɨɦɩɨɧɟɧɬɚ – ɜɨɫɟɦɶ ɪɟɝɢɫɬɪɨɜ ɫɨɩɪɨɰɟɫɫɨɪɚ ɫɬɟɤɚ, ɢɦɟ­ɸɳɢɯ ɪɚɡɦɟɪɧɨɫɬɶ ɜɨɫɟɦɶɞɟɫɹɬ ɛɢɬ ɢ ɢɝɪɚɸɳɢɯ ɪɨɥɶ ɆɆɏ-ɪɟɝɢɫɬɪɨɜ, ɩɪɢ ɷɬɨɦ ɞɨɫɬɭɩɧɵɦɢ ɢɡ ɧɢɯ ɹɜɥɹɸɬɫɹ ɦɥɚɞɲɢɟ ɲɟɫɬɶɞɟɫɹɬ ɱɟɬɵɪɟ ɛɢɬɚ. ɉɪɢ ɪɚɛɨɬɟ ɫɬɟɤɚ ɫɨɩɪɨɰɟɫɫɨɪɚ ɜ ɪɟɠɢɦɟ ɆɆɏ-ɪɚɫɲɢɪɟɧɢɹ ɨɧ ɪɚɫɫɦɚɬ­ɪɢɜɚɟɬɫɹ ɧɟ ɤɚɤ ɫɬɟɤ, ɚ ɤɚɤ ɨɛɵɱɧɵɣ
ɪɟɝɢɫɬɪɨɜɵɣ ɦɚɫɫɢɜ ɫ ɩɪɨɢɡɜɨɥɶɧɵɦ
ɞɨɫɬɭɩɨɦ. Ɋɟɝɢɫɬɪɨɜɵɣ ɫɬɟɤ ɫɨɩɪɨɰɟɫɫɨɪɚ ɧɟ ɦɨɠɟɬ ɨɞɧɨɜɪɟɦɟɧɧɨ ɢɫ­ɩɨɥɶɡɨɜɚɬɶɫɹ ɩɨ ɫɜɨɟɦɭ ɩɪɹɦɨɦɭ ɧɚɡɧɚɱɟɧɢɸ ɢ ɤɚɤ ɆɆɏ-ɪɚɫɲɢɪɟɧɢɟ.
ȼɚɠɧɨɟ ɨɬɥɢɱɢɟ ɆɆɏ-ɤɨɦɚɧɞ ɨɬ ɨɛɵɱɧɵɯ ɤɨɦɚɧɞ ɩɪɨɰɟɫɫɨɪɚ ɡɚ­ɤɥɸɱɚɟɬɫɹ ɜ ɬɨɦ, ɤɚɤ ɨɧɢ ɪɟɚɝɢɪɭɸɬ ɧɚ ɫɢɬɭɚɰɢɢ ɩɟɪɟɧɨɫɚ ɢ ɡɚɣɦɚ. ȼ ɫɥɭ­ɱɚɟ ɜɵɯɨɞɚ ɡɧɚɱɟɧɢɹ ɪɟɡɭɥɶɬɚɬɚ ɡɚ ɩɪɟɞɟɥɵ ɨɩɟɪɚɧɞɚ ɜ
ɧɟɦ ɮɢɤɫɢɪɭɟɬɫɹ ɦɚɤɫɢɦɚɥɶɧɨɟ ɢɥɢ ɦɢɧɢɦɚɥɶɧɨɟ ɡɧɚɱɟɧɢɟ. Ɍɚɤɨɣ ɩɪɢɧɰɢɩ ɮɨɪɦɢɪɨɜɚɧɢɹ ɪɟɡɭɥɶɬɚɬɚ ɧɚɡɵɜɚɟɬɫɹ «ɚɪɢɮɦɟɬɢɤɨɣ ɫ ɧɚɫɵɳɟɧɢɟɦ».
ɇɟ ɜɫɟ ɬɪɚɧɫɥɹɬɨɪɵ ɚɫɫɟɦɛɥɟɪɚ ɩɨɞɞɟɪɠɢɜɚɸɬ ɆɆɏ-ɤɨɦɚɧɞɵ. ȼ ɷɬɨɦ ɫɥɭɱɚɟ ɧɟɨɛɯɨɞɢɦɨ ɩɨɞɤɥɸɱɢɬɶ ɮɚɣɥ iɚmmx.inɫ. ȼɤɥɸɱɟɧɢɟɦ ɷɬɨɝɨ ɮɚɣɥɚ ɞɢɪɟɤɬɢɜɨɣ inɫlude ɜ ɧɚɱɚɥɨ ɩɪɨɝɪɚɦɦɵ ɦɨɠɧɨ ɢɫɩɨɥɶɡɨɜɚɬɶ ɜɫɟ
ɆɆɏ-ɤɨɦɚɧɞɵ ɜ ɨɩɪɟɞɟɥɟɧɧɨɦ ɮɨɪɦɚɬɟ (ɬɚɛɥɢɰɚ 5).
MMX-ɤɨɦɚɧɞɵ ɢɫɩɨɥɧɹɸɬɫɹ
ɜ ɬɨɦ ɠɟ ɪɟɠɢɦɟ ɩɪɨɰɟɫɫɨɪɚ, ɱɬɨ ɢ ɤɨ-
ɦɚɧɞɵ ɫ ɩɥɚɜɚɸɳɟɣ ɡɚɩɹɬɨɣ. ɉɨɷɬɨɦɭ ɩɪɢ ɢɯ ɢɫɩɨɥɧɟɧɢɢ (ɤɪɨɦɟ EMMS)
«ɩɨɪɬɢɬɫɹ» ɫɥɨɜɨ ɫɨɫɬɨɹɧɢɹ ɪɟɝɢɫɬɪɨɜ ɫ ɩɥɚɜɚɸɳɟɣ ɡɚɩɹɬɨɣ. Ⱦɨɫɬɭɩɧɵ
78
ɫɥɟɞɭɸɳɢɟ MMX-ɤɨɦɚɧɞɵ (ɨɛɨɡɧɚɱɟɧɢɹ: mm – MMX – ɪɟɝɢɫɬɪ; m32, m64 – ɩɚɦɹɬɶ ɨɛɴɟɦɚ ɬɪɢɞɰɚɬɶ ɞɜɚ ɢ ɲɟɫɬɶɞɟɫɹɬ ɱɟɬɵɪɟ ɛɢɬɚ, ɫɨɨɬɜɟɬ-
ɫɬɜɟɧɧɨ; imm – ɧɟɩɨɫɪɟɞɫɬɜɟɧɧɵɣ ɨɩɟɪɚɧɞ; ir32 – ɰɟɥɨɱɢɫɥɟɧɧɵɣ ɪɟ­ɝɢɫɬɪ):
EMMS
Ɍɚɛɥɢɰɚ 5 – Ɋɚɡɦɟɪɧɨɫɬɶ ɬɢɩɨɜ ɆɆɏ-ɞɚɧɧɵɯ
Ɍɢɩɵ ɆɆɏ-ɞɚɧɧɵɯ Ⱦɢɚɩɚɡɨɧ ɝɪɚɧɢɱɧɵɯ ɡɧɚɱɟɧɢɣ
Ȼɚɣɬ ɛɟɡ ɡɧɚɤɚ 0…255
ɋɥɨɜɨ ɛɟɡ ɡɧɚɤɚ 0…65535
Ⱦɜɨɣɧɨɟ ɫɥɨɜɨ ɛɟɡ ɡɧɚɤɚ 0…4294967295
Ȼɚɣɬ ɫɨ ɡɧɚɤɨɦ –128…127
ɋɥɨɜɨ ɫɨ ɡɧɚɤɨɦ –32768…32767
Ⱦɜɨɣɧɨɟ ɫɥɨɜɨ ɫɨ ɡɧɚɤɨɦ –2147483648…2147483647
Ʉɨɦɚɧɞɚ ɨɛɟɫɩɟɱɢɜɚɟɬ ɩɟɪɟɯɨɞ ɩɪɨɰɟɫɫɨɪɚ ɨɬ ɢɫɩɨɥɧɟɧɢɹ MMX- ɤɨɦɚɧɞ ɤ ɢɫɩɨɥɧɟɧɢɸ ɨɛɵɱɧɵɯ ɤɨɦɚɧɞ ɫ ɩɥɚɜɚɸɳɟɣ ɡɚɩɹɬɨɣ: ɨɧɚ ɭɫɬɚ­ɧɚɜɥɢɜɚɟɬ ɡɧɚɱɟɧɢɟ 1 ɜɨ ɜɫɟɯ ɪɚɡɪɹɞɚɯ ɫɥɨɜɚ ɫɨɫɬɨɹɧɢɹ.
ɊȺDDB mm, mm/m64
ɊȺDDW mm, mm/m64
ɊȺDDD mm, mm/m64
Ʉɨɦɚɧɞɵ ɫɤɥɚɞɵɜɚɸɬ ɷɥɟɦɟɧɬɵ ɞɚɧɧɵɯ (ɛɚɣɬɵ, ɫɥɨɜɚ ɢɥɢ ɞɜɨɣɧɵɟ ɫɥɨɜɚ) ɜɯɨɞɧɨɝɨ ɢ ɜɵɯɨɞɧɨɝɨ ɨɩɟɪɚɧɞɚ. ȿɫɥɢ ɫɭɦɦɚ ɷɥɟɦɟɧɬɨɜ ɞɚɧɧɵɯ ɜɵɯɨɞɢɬ ɡɚ ɝɪɚɧɢɰɭ ɞɨɩɭɫɬɢɦɨɝɨ ɞɢɚɩɚɡɨɧɚ, ɬɨ ɩɨ
ɩɪɚɜɢɥɚɦ ɰɢɤɥɢɱɟɫɤɨɣ ɚɪɢɮɦɟɬɢɤɢ ɢɡɛɵɬɨɤ ɨɬɫɱɢɬɵɜɚɟɬɫɹ ɨɬ ɞɪɭɝɨɣ ɝɪɚɧɢɰɵ ɞɢɚɩɚɡɨɧɚ. ɉɟɪɟ­ɧɨɫɚ ɟɞɢɧɢɰɵ ɢɡ ɨɞɧɨɝɨ ɷɥɟɦɟɧɬɚ ɞɚɧɧɵɯ ɜ ɞɪɭɝɨɣ ɧɟ ɩɪɨɢɫɯɨɞɢɬ.
ɊȺDDSB mm, mm/m64 ɊȺDDSW mm, mm/m64
Ʉɨɦɚɧɞɵ ɫɤɥɚɞɵɜɚɸɬ ɷɥɟɦɟɧɬɵ ɞɚɧɧɵɯ (ɛɚɣɬɵ ɢɥɢ ɫɥɨɜɚ) ɜɯɨɞɧɨɝɨ ɢ ɜɵɯɨɞɧɨɝɨ ɨɩɟɪɚɧɞɨɜ. ȿɫɥɢ ɫɭɦɦɚ ɜɵɯɨɞɢɬ ɡɚ ɝɪɚɧɢɱɧɨɟ ɡɧɚɱɟɧɢɟ ɞɨɩɭ­ɫɬɢɦɨɝɨ ɞɢɚɩɚɡɨɧɚ, ɬɨ ɨɧɨ ɫɱɢɬɚɟɬɫɹ ɟɝɨ ɪɟɡɭɥɶɬɚɬɨɦ.
ɊȺDDUSB mm, mm/m64
ɊȺDDUSW mm, mm/m64
Ʉɨɦɚɧɞɵ
ɫɤɥɚɞɵɜɚɸɬ ɷɥɟɦɟɧɬɵ ɞɚɧɧɵɯ (ɛɚɣɬɵ ɢɥɢ ɫɥɨɜɚ) ɜɯɨɞɧɨɝɨ ɢ ɜɵɯɨɞɧɨɝɨ ɨɩɟɪɚɧɞɨɜ. ȿɫɥɢ ɫɭɦɦɚ ɜɵɯɨɞɢɬ ɡɚ ɝɪɚɧɢɱɧɨɟ ɡɧɚɱɟɧɢɟ ɞɨɩɭ­ɫɬɢɦɨɝɨ ɞɢɚɩɚɡɨɧɚ, ɬɨ ɨɧɨ ɫɱɢɬɚɟɬɫɹ ɟɝɨ ɪɟɡɭɥɶɬɚɬɨɦ.
79
ɊSUBB mm, mm/m64 ɊSUBW mm, mm/m64 ɊSUBD mm, mm/m64
Ʉɨɦɚɧɞɵ ɜɵɱɢɬɚɸɬ ɷɥɟɦɟɧɬɵ ɞɚɧɧɵɯ (ɛɚɣɬɵ, ɫɥɨɜɚ ɢɥɢ ɞɜɨɣɧɵɟ ɫɥɨɜɚ) ɜɯɨɞɧɨɝɨ ɨɩɟɪɚɧɞɚ ɢɡ ɷɥɟɦɟɧɬɨɜ ɞɚɧɧɵɯ ɜɵɯɨɞɧɨɝɨ ɨɩɟɪɚɧɞɚ. ȿɫɥɢ ɪɟ­ɡɭɥɶɬɚɬ ɜɵɯɨɞɢɬ ɡɚ ɝɪɚɧɢɰɭ ɞɨɩɭɫɬɢɦɨɝɨ ɞɢɚɩɚɡɨɧɚ, ɬɨ ɩɨ ɩɪɚɜɢɥɚɦ ɰɢɤ­ɥɢɱɟɫɤɨɣ ɚɪɢɮɦɟɬɢɤɢ ɫɨɨɬɜɟɬɫɬɜɭɸɳɟɟ ɱɢɫɥɨ ɟɞɢɧɢɰ ɨɬɫɱɢɬɵɜɚɟɬɫɹ ɨɬ ɞɪɭɝɨɣ ɝɪɚɧɢɰɵ ɞɢɚɩɚɡɨɧɚ. ɉɟɪɟɧɨɫɚ ɟɞɢɧɢɰɵ ɢɡ ɨɞɧɨɝɨ ɷɥɟɦɟɧɬɚ ɞɚɧɧɵɯ ɜ ɞɪɭɝɨɣ ɧɟ ɩɪɨɢɫɯɨɞɢɬ
.
ɊSUBSB mm, mm/m64
ɊSUBSW mm, mm/m64
Ʉɨɦɚɧɞɵ ɜɵɱɢɬɚɸɬ ɷɥɟɦɟɧɬɵ ɞɚɧɧɵɯ (ɛɚɣɬɵ ɢɥɢ ɫɥɨɜɚ) ɜɯɨɞɧɨɝɨ ɨɩɟɪɚɧɞɚ ɢɡ ɷɥɟɦɟɧɬɨɜ ɞɚɧɧɵɯ ɜɵɯɨɞɧɨɝɨ ɨɩɟɪɚɧɞɚ. ȿɫɥɢ ɪɚɡɧɨɫɬɶ ɜɵɯɨ­ɞɢɬ ɡɚ ɝɪɚɧɢɱɧɨɟ ɡɧɚɱɟɧɢɟ ɞɨɩɭɫɬɢɦɨɝɨ ɞɢɚɩɚɡɨɧɚ, ɬɨ ɨɧɨ ɫɱɢɬɚɟɬɫɹ ɟɝɨ ɪɟɡɭɥɶɬɚɬɨɦ.
ɊSUBUSB mm, mm/m64
ɊSUBUSW mm, mm/m64
Ʉɨɦɚɧɞɵ ɜɵɱɢɬɚɸɬ ɷɥɟɦɟɧɬɵ ɞɚɧɧɵɯ ɜɯɨɞɧɨɝɨ ɨɩɟɪɚɧɞɚ ɢɡ ɷɥɟɦɟɧ­ɬɨɜ ɞɚɧɧɵɯ ɜɵɯɨɞɧɨɝɨ ɨɩɟɪɚɧɞɚ. ȿɫɥɢ ɪɚɡɧɨɫɬɶ ɜɵɯɨɞɢɬ ɡɚ ɝɪɚɧɢɱɧɨɟ ɡɧɚɱɟɧɢɟ
ɞɨɩɭɫɬɢɦɨɝɨ ɞɢɚɩɚɡɨɧɚ, ɬɨ ɨɧɨ ɫɱɢɬɚɟɬɫɹ ɟɝɨ ɪɟɡɭɥɶɬɚɬɨɦ.
ɊSLLW mm, mm/m64/imm
ɊSLLD mm, mm/m64/imm
ɊSLLQ mm, mm/m64/imm
Ʉɨɦɚɧɞɵ ɜɵɩɨɥɧɹɸɬ ɫɞɜɢɝ ɷɥɟɦɟɧɬɨɜ ɞɚɧɧɵɯ (16-, 32- ɢɥɢ 64-ɪɚɡɪɹɞɧɵɯ ɫɥɨɜ) ɜ ɜɵɯɨɞɧɨɦ ɨɩɟɪɚɧɞɟ ɧɚ ɱɢɫɥɨ ɛɢɬ, ɡɚɞɚɜɚɟɦɨɟ ɜɯɨɞɧɵɦ ɨɩɟɪɚɧɞɨɦ. Ɉɫɜɨɛɨɞɢɜɲɢɟɫɹ ɦɥɚɞɲɢɟ ɪɚɡɪɹɞɵ ɡɚɩɨɥɧɹɸɬɫɹ ɧɭɥɹɦɢ.
ɊSRȺW mm, mm/m64/imm
ɊSRȺD mm, mm/m64/imm
Ʉɨɦɚɧɞɵ ɜɵɩɨɥɧɹɸɬ ɫɞɜɢɝ ɷɥɟɦɟɧɬɨɜ ɞɚɧɧɵɯ (16-, 32- ɢɥɢ 64-ɪɚɡɪɹɞɧɵɯ ɫɥɨɜ) ɜ ɜɵɯɨɞɧɨɦ ɨɩɟɪɚɧɞɟ ɧɚ ɱɢɫɥɨ ɛɢɬ, ɡɚɞɚɜɚɟɦɨɟ ɜɯɨɞɧɵɦ ɨɩɟɪɚɧɞɨɦ. ȿɫɥɢ ɫɞɜɢɝɚɟɬɫɹ ɩɨɥɨɠɢɬɟɥɶɧɨɟ ɱɢɫɥɨ, ɬɨ ɨɫɜɨɛɨɞɢɜɲɢɟɫɹ ɫɬɚɪɲɢɟ ɪɚɡ­ɪɹɞɵ ɡɚɩɨɥɧɹɸɬɫɹ ɧɭɥɹɦɢ, ɚ ɟɫɥɢ ɨɬɪɢɰɚɬɟɥɶɧɨɟ, ɬɨ ɟɞɢɧɢɰɚɦɢ.
ɊSRLW mm, mm/m64/imm
ɊSRLD mm, mm/m64/imm
ɊSRLQ mm, mm/m64/imm
Ʉɨɦɚɧɞɵ ɜɵɩɨɥɧɹɸɬ ɫɞɜɢɝ ɷɥɟɦɟɧɬɨɜ ɞɚɧɧɵɯ (16-, 32- ɢɥɢ 64-ɪɚɡɪɹɞɧɵɯ ɫɥɨɜ) ɜ ɜɵɯɨɞɧɨɦ ɨɩɟɪɚɧɞɟ ɧɚ ɱɢɫɥɨ ɛɢɬ, ɡɚɞɚɜɚɟɦɨɟ ɜɯɨɞɧɵɦ ɨɩɟɪɚɧɞɨɦ. Ɉɫɜɨɛɨɞɢɜɲɢɟɫɹ ɫɬɚɪɲɢɟ ɪɚɡɪɹɞɵ ɡɚɩɨɥɧɹɸɬɫɹ ɧɭɥɹɦɢ.
ɊȺND mm, mm/m64
Ʉɨɦɚɧɞɚ ɜɵɱɢɫɥɹɟɬ ɩɨɪɚɡɪɹɞɧɨɟ ɥɨɝɢɱɟɫɤɨɟ «ɂ» ɫɜɨɢɯ ɨɩɟɪɚɧɞɨɜ.
80
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]