- •1. Регистровая модель мп i8086/88. Назначение регистров
- •3. Принцип адресации памяти мп i8086: размер адресного пространства, понятие сегмента,
- •2. Регистр флагов мп i8086/88. Назначение регистра, флаги состояние, флаги управления
- •4. Логические сегменты программы. Адресация сегментов
- •5. Сегмент стека. Адресация стека, команды работы со стеком, изменение состояния стека.
- •11. Внешние (аппаратные) прерывания.
- •6. Режимы адресации мп i8086.
- •7. Формат команды мп i8086.
- •8. Формат двухоперандной команды (см 7)
- •10. Механизм обработки прерываний в вычислительных системах на базе мп i8086.
- •12. Логическая структура контроллера прерываний.
- •13. Управление вводом-выводом.
- •1 2. Особенности программ в сом-формате. Структура, хранение на диске, загрузка в память, варианты завершения.
- •15. Особенности программ в ехе-формате. Структура, хранение на диске, загрузка в память,
- •16. Распределение адресного пространства (карта памяти)
- •17. Управление памятью в реальном режиме
- •13(Пример) Организация взаимодействия мп i8086 с клавиатурой.
- •19. Организация текстового видеобуфера. Пример работы с текстовым видеобуфером.
- •20, 21. Особенности мп i80386. Виды организации логического адресного пространства
- •22. Регистровая модель мп i80386
- •26. Общий формат селектора и дескриптора в архитектуре мп i80386.
- •24. Общая структура кода команды мп 80386
- •27. Таблица дескрипторов сегментов. Адресация таблиц. Поиск дескриптора в таблицах
- •23. Pегистp флaгoв мп 80386.
- •35. Поддержка многозадачности в арх. Ia32. Смена задачи.
- •37. Таблица дискрипторов прерываний а арх. Ia32. Обработка прерываний.
- •36. Виды прерываний и особых ситуаций в архитектуре ia 32.
- •39. Способы организации кэш-памяти.
- •1. Где может размещаться блок в кэш-памяти?
- •2. Как найти блок, находящийся в кэш-памяти?
- •3. Какой блок кэш-памяти должен быть замещен при промахе?
- •4. Что происходит во время записи?
- •40. Принцип конвейерной обработки.
- •41. Конфликты в конвейере команд.
- •42. Суперконвейерные и суперскалярные процессоры.
- •43. Организация внешней памяти. Raid-массивы
4. Логические сегменты программы. Адресация сегментов
4 типа сегментов:
Сегмент кода – в нем находятся машинные инструкции, кот. составляют текст программы;
Сегмент данных – хранит определенные в программе константы и переменные;
Сегмент стека – хранит промежуточные данные, а также адреса возврата из подпрограммы в точку вызова;
Сегмент дополнительных данных – используется для размещения динамически определяемых переменных. Логические сегменты задаются программистом, так же как порядок расположения их памяти.
5. Сегмент стека. Адресация стека, команды работы со стеком, изменение состояния стека.
Стек задается программно или определяется системно. Программный стек организован по принципу LIFO. Регистр SS содержит базовый адрес текущего сегмента стека, а регистр SP указывает на вершину стека. Стековые команды осуществляют «проталкивание» (PUSH) в стек или «выталкивание» (POP) из стека. Причем, в отличие от обычной памяти, стек растет в область младших адресов, т.е. при
выполнении команды PUSH значение регистра SP аппаратно уменьшается на 2. Помещать в стек и извлекать из него можно только 16-разрядные операнды. т.е. слова. Это значит, что двойное слово, например дальний адрес, помещается и извлекает из стека в два приема, а для помещения в стек одного байта необходимо дополнять его до слова фиктивным байтом.
11. Внешние (аппаратные) прерывания.
С
игналы
внешних прерываний возникают в
устройствах, поступают в МП через
контроллер, т.е. обработка аппаратных
прерываний включает в себя процедуру
управления контроллером.
К 8 входным линиям контроллера IRQ0..IRQ7 подключены выводы внешних устройств, на которых возникают сигналы прерываний. Контроллер направляет сигналы от устройств в МП, на вход IntR и передает по линиям данных номер вектора, через который должна быть вызвана процедура обработки прерывания. N вектора образуется в контроллере путем сложения базового вектора в одном из регистров контроллера и номера линии IRQ. Базовый вектор для одного контроллера =8, следовательно номера векторов соответствующих прерываний лежат в диапазоне 08h..0Fh.
Для обслуживания большого кол-ва устройств, контроллеры объединяются в веерообразную структуру. Один из контроллеров ведущий, второй - ведомый. Соединение производится через канал ввода-вывода. Базовый вектор для ведомого контроллера =70h порт A0h A1h, для ведущего =8h порт 20h 21h.
6. Режимы адресации мп i8086.
Режим |
Формат операнда |
Сегм |
Регистровый |
Регистр |
------ |
Непосредств. |
данное(число) |
CS |
Прямой |
Смещение(метка) |
DS |
Косвенный |
[BX],[DI],[SI],[BP] |
DS SS |
Базовый |
[BX]+смещение [BP]+смещение |
DS SS |
Прямой с инде-ем |
[DI]+ смещение [SI]+ смещение |
DS DS |
По базе с инде-ем |
[BX],[SI]+смещ [BX],[DI]+смещ [BP][SI]+смещ [BP],[DI]+смещ |
DS DS SS SS |
адрес операнда задан одним из сегментных регистров (явно или по умолчанию), а команда определяет
исполнительный (эффективный) адрес операнда. ЕА = смещение в указанном сегменте.
Операнды: регистры (данные находятся в определенном регистре) и операнды памяти (данные в
памяти). I8086- 24 режима адресации.
1. mov AX,BX-данные должны быть совместимы по типу (берется из регистра в регистр)
2. mov AX,02F1h – в качестве источника можно указывать 16- ил 8-битное значение константы, которые можно представлять в десятичном виде со знаком и без, а также в двоичном или шестнадцатеричном.
3. Указывается непосредственно значение смещения, исполнительный адрес является составной частью команды. Применяется, если операндом служит идентификатор переменной: mov AX, [106], mov Al,var1
4. Исполнительный адрес операнда хранится в регистрах BX, BP, SI, DI. Косвенные регистровые операнды помещаются в скобки. Смещение может быть помещено в регистр при помощи OFFSET.mov AX,[BX]-пересылает В регистр AX 2b из сегмента данных по
мещению =BX.mov[DI],Al- записывается в сегмент данных по значению DI 1b из регистра Al.
5. данный метод адресации используется для доступа к структурным данным, BX помещается в
начальный адрес структуры, указывается сдвиг нужной записи.
mov AX,[BX]+2- значение[DX]+2 в AX:DS
mov [BP]4,AX –в памяти из AX:SS
6.Исполнительный адрес вычисляется как сумма начального адреса и сдвига, помещенного в один из
индексных регистров. Метод используется к доступу к элементам одномерных массивов.
Mov AX,table [DI]
7. Исполнительный адрес ЕА вычисляется как сумма значений базового, индексного регистра и
смещения. Mov AX, table [BP][SI] -для доступа к элементам двумерного массива.
