- •Розподіл часу
- •Оцінювання результатів навчання
- •Основна література
- •Додаткова література
- •Методичні вказівки
- •Эволюция аппаратных средств Аппаратная платформа компьютера
- •Персональный компьютер
- •Семейство компьютеров ibm pc
- •Концепция построения компьютера архитектуры ibm pc at
- •Состав системной платы pc-совместимого компьютера
- •Структурная схема пэвм Сompaq Deskpro 386/16
- •Конвертер-согласователь шин
- •Cтруктурная схема контроллера 82c206
- •Архитектура pc-совместимого компьютера как фактор совместимости
- •Время создания и производительность процессоров семейства m68к
- •Микропроцессоры семейства x86, производимые компанией Intel
- •Современные разработки Intel
- •Базовая архитектура и организация 16-разрядных микропроцессоров Структурная схема микропроцессора i8086
- •Формирование физического адреса памяти
- •Программная модель пользователя микропроцессора mc68000
- •Организация и режимы работы процессора mc68000
- •Укрупненная структурная схема микропроцессора i80286
- •Архитектура прикладного уровня 32-разрядных микропроцессоров
- •Строковые типы данных и битовые поля
- •Система команд. Общий формат команд микропроцессоров x86
- •Префиксы команд микропроцессоров x86
- •Префиксы rex
- •Определение разрядности операнда и адреса
- •Формирование физического адреса операнда в памяти для 32-битного режима
- •Блок вычислений с плавающей точкой (fpu) процессоров x86 Общие сведения о блоке fpu x87
- •Система команд fpu x87
- •Принцип работы fpu x87
- •Организация регистрового стека fpu x87
- •Операнды fpu x87
- •Особые случаи представления вещественных чисел в fpu
- •Ожидание
- •Особенности выполнения бинарных операций
- •Пример функционирования регистрового стека fpu x87
- •Регистр состояния (sr, Status Register) fpu x87
- •Формат регистра состояния fpu x87
- •Приоритеты особых случаев fpu
- •Действия, предпринимаемые обработчиком особых случаев fpu
- •Коды условия fpu x87
- •Регистр управления (cr, Control Register) fpu x87
- •Управление округлением и точностью представления вещественных чисел в fpu
- •Регистр тегов (tr) fpu x86
- •Контекст fpu x86 для 16-битного режима
- •Контекст fpu x86 для 32-битного режима
- •Сохранение и восстановление контекста fpu
- •Интерфейсы периферийного уровня
- •Взаимодействие программ, выполняемых cpu, с периферийными устройствами
- •Программный обмен
- •Прямой доступ к памяти
- •Прерывания (Interrupts)
- •Подсистема прерываний компьютера ibm pc at
- •Аппаратные прерывания
- •Исключения
- •Вектор прерывания
- •Способы указания номера вектора прерывания
- •Порядок проверки условий обслуживания прерываний
- •Действия процессора при возникновении прерывания или исключения
- •Особенности обслуживания немаскируемых аппаратных прерываний
- •Особенности обслуживания маскируемых аппаратных прерываний
- •Обслуживание маскируемых аппаратных прерываний в компьютере ibm pc at
Строковые типы данных и битовые поля
Строка (String) – непрерывная последовательность бит, байт, слов или двойных слов:
___________ строка может начинаться в любой позиции любого байта и содержать до 232–1 бит;
____________ строка может содержать байты слова, двойные слова в объеме до 232–1 байт (4 ГБ).
Битовое поле (bitfield) – непрерывная последовательность бит, начинающаяся в ________ ________ и содержащая до __ _____.
Директивы объявления данных
db 'a',0x55 ; ASCII-код символа и байт
___ 'hello',13,10,'$' ; строка символов с кодами
; управляющих символов «ВК», «ПС» и символом-
; ограничителем
dw 'a' ; 0x41 0x00
___ 'ab' ; 0x41 0x42
___ 'abc' ; 0x41 0x42 0x43 0x00 (строка)
Система команд. Общий формат команд микропроцессоров x86
Группы команд:
общего назначения;
блока FPU x87;
управления состоянием блоков FPU x87 и SIMD;
технологии MMX;
расширений SSE, SSE2, SSE3, SSSE3, SSE4, Intel AVX;
системного управления;
режима IA-32e (64-битные команды)
AESNI и PCLMULQDQ;
VMX (virtual-machine extension);
SMX (safer mode extension).
Общий формат двухоперандной команды микропроцессоров семейства x86
Префиксы команд микропроцессоров x86
Группа 1:
Префиксы _______________ и _______________:
F0h — LOCK
F2h — REPNE/REPNZ*
F3h — REP или REPE/REPZ*
Группа 2:
Префиксы _________ ____________:
2Eh — CS
36h — SS
3Eh — DS
26h — ES
64h — FS
65h — GS
Префиксы анализа ______________ (Branch hints):
2Eh — Branch not taken
3Eh — Branch taken
Группа 3:
Префикс изменения разрядности ____________:
66h*
Группа 4:
Префикс изменения разрядности _________:
67h
*Префиксы 0F2h, 0F3h, 66h имеют особое назначение для некоторых команд.
Префиксы rex
Используются в _____________ режиме.
Определяют:
регистры GPR и SSE;
64-битный размер операнда;
регистры расширенного управления.
Определение разрядности операнда и адреса
Бит D дескриптора сегмента кода |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
Префикс 66h (разрядность ____________) |
- |
- |
+ |
+ |
- |
- |
+ |
+ |
Префикс 67h (разрядность _________) |
- |
+ |
- |
+ |
- |
+ |
- |
+ |
Эффективный размер операнда |
16 |
16 |
32 |
32 |
32 |
32 |
16 |
16 |
Эффективный размер адреса |
16 |
32 |
16 |
32 |
32 |
16 |
32 |
16 |
Формирование физического адреса операнда в памяти для 32-битного режима
32-разрядная адресация с использованием байта ModR/M команды
r/m |
mod |
|||||||
00 |
01 |
10 |
11 |
|||||
000 |
[EAX] |
[EAX]+disp8 |
[EAX]+disp32 |
_____ |
AX |
AL |
MM0 |
XMM0 |
001 |
[ECX] |
[ECX]+disp8 |
[ECX]+disp32 |
_____ |
CX |
CL |
MM1 |
XMM1 |
010 |
[EDX] |
[EDX]+disp8 |
[EDX]+disp32 |
_____ |
DX |
DL |
MM2 |
XMM2 |
011 |
[EBX] |
[EBX]+disp8 |
[EBX]+disp32 |
_____ |
BX |
BL |
MM3 |
XMM3 |
100 |
SIB |
SIB+disp8 |
SIB+disp32 |
_____ |
SP |
AH |
MM4 |
XMM4 |
101 |
disp32 |
[EBP]+disp8 |
[EBP]+disp32 |
_____ |
BP |
CH |
MM5 |
XMM5 |
110 |
[ESI] |
[ESI]+disp8 |
[ESI]+disp32 |
_____ |
SI |
DH |
MM6 |
XMM6 |
111 |
[EDI] |
[EDI]+disp8 |
[EDI]+disp32 |
_____ |
DI |
BH |
MM7 |
XMM7 |
32-разрядная адресация с использованием байта SIB команды
index |
scale |
|||
00 |
01 |
10 |
11 |
|
000 |
[EAX] |
[EAX*2] |
[EAX*4] |
[EAX*8] |
001 |
[ECX] |
[ECX*2] |
[ECX*4] |
[ECX*8] |
010 |
[EDX] |
[EDX*2] |
[EDX*4] |
[EDX*8] |
011 |
[EBX] |
[EBX*2] |
[EBX*4] |
[EBX*8] |
100 |
- |
- |
- |
- |
101 |
[EBP] |
[EBP*2] |
[EBP*4] |
[EBP*8] |
110 |
[ESI] |
[ESI*2] |
[ESI*4] |
[ESI*8] |
111 |
[EDI] |
[EDI*2] |
[EDI*4] |
[EDI*8] |
Адресация в 64-битном режиме
16-разрядная адресация с использованием байта ModR/M команды
r/m |
mod |
|||||||
00 |
01 |
10 |
11 |
|||||
000 |
[BX+SI] |
[BX+SI]+disp8 |
[BX+SI]+disp16 |
EAX |
AX |
AL |
MM0 |
XMM0 |
001 |
[BX+DI] |
[BX+DI]+disp8 |
[BX+DI]+disp16 |
ECX |
CX |
CL |
MM1 |
XMM1 |
010 |
[BP+SI] |
[BP+SI]+disp8 |
[BP+SI]+disp16 |
EDX |
DX |
DL |
MM2 |
XMM2 |
011 |
[BP+DI] |
[BP+DI]+disp8 |
[BP+DI]+disp16 |
EBX |
BX |
BL |
MM3 |
XMM3 |
100 |
[SI] |
[SI]+disp8 |
[SI]+disp16 |
ESP |
SP |
AH |
MM4 |
XMM4 |
101 |
[DI] |
[DI]+disp8 |
[DI]+disp16 |
EBP |
BP |
CH |
MM5 |
XMM5 |
110 |
disp16 |
[BP]+disp8 |
[BP]+disp16 |
ESI |
SI |
DH |
MM6 |
XMM6 |
111 |
[BX] |
[BX]+disp8 |
[BX]+disp16 |
EDI |
DI |
BH |
MM7 |
XMM7 |