- •5 Задача 44
- •1. Відкрита архітектура пеом
- •2. Функціональна схема базової моделі мікропроцесора. Схеми напівсуматора і суматора. Дії над двійковими та двійково-десятковими числами.
- •Додавання
- •Віднімання
- •3. Логічна структура мікропроцесора
- •Сегментные регистры
- •Регистры общего назначения
- •Флаги состояния
- •Флаг направления
- •Системные флаги
- •Регистр управления
- •4. Адресація пам’яті
- •Сегментная адресация памяти
- •Параграфы
- •Понятия команды и формата команды
- •5. Сторінкова організ оп пам’яті. Таблиці, дескриптори
- •Понятие о страничной модели памяти
- •6. Структура таблиц idt. Дескриптор шлюза.
- •Дескриптор шлюза
- •7. Формування фізичної адреси з логічної адреси для сегментної та сторінкової схем організації пам’яті Страничная организация
- •8. Принципи роботи vmm
- •Обзор Администратора виртуальной памяти (vmm)
- •9. Використання регістрів загального призначення
- •10. Організація стеку. Адресація стекової пам’яті
- •11. Архітектура регістру ознак (flags)
- •12. Апаратно-програмні засоби певм.
- •13. Механізм переривань
- •14. Апаратні переривання, їх призначення. Архітектура мікросхеми 8859. Обробка апаратних переривань.
- •15. Контролер apic
- •16. Принцип роботи сопроцесора
- •17. Загальні поняття про канали та порти
- •18. Мікросхема паралельного інтерфейсу
- •19. Структура cmos-memory
- •20. Архітектура мікросхеми таймера
- •1 Задача
- •2 Задача
- •Програма може бути якась така:
- •5 Задача
- •6 Задача
Регистр управления
Регистр управления eip/ip содержит информацию о состоянии программы, команды которой в данный момент загружены на конвейер.
eip/ip (Instraction Pointer register) — регистр-указатель команд.
Содержит смещение следующей подлежащей выполнению команды (относительно текущего сегмента кода).Регистр eip/ip имеет разрядность 32/16 бит.
!!! Этот регистр непосредственно недоступен программисту.
Загрузка и изменение его значения производятся различными командами условных и безусловных переходов, вызова процедур и возврата из процедур. Возникновение прерываний также приводит к модификации регистра eip/ip.
http://mf.grsu.by/UchProc/livak/b_org/oal_7.htm
4. Адресація пам’яті
Данные (элементы информации), участвующие в операции, определяются с помощью адресов, указанных в командах. Существует большое число способов представления адресов в командах и их определения (вычисления) с целью доступа к операндам (данным) на основе информации, указанной в команде.
Способ адресации – правило определения (вычисления) адреса операнда на основе информации, указанной в команде, т.е. способ адресации определяет порядок выполнения действий над адресной частью команды и содержимым одного или нескольких регистров ЦП ПК для вычисления исполнительного адреса Аисп, по которому хранится операнд в памяти.
Исполнительный адрес Аисп - адрес операнда в памяти (М) или в блоке РОНов (АХ, ВХ, СХ, DX и др.). Аисп - это целое двоичное число без знака, число разрядов n которого определяет возможное число ячеек памяти, к которым можно обращаться.
Способы прямой адресации:
регистровая - в АЧ команды задается номер регистра ЦП, в котором хранится операнд. Так, если это регистр СХ (рис. 3), то в поле (0¸2) бита АЧ указывается его адрес (код) 001, который и является Аисп.
Рис. 3. Регистровая адресация.
абсолютная (прямая) – Аисп задается в самой команде, обычно во 2-м или 3-м слове, операнд - в памяти. Структура определения Аисп приведена на рис. 4.
Рис. 4. Структура вычисления Аисп.
непосредственная – операнд-константа задается непосредственно в самой команде (рис. 5).
Рис. 5. Непосредственная адресация.
Сегментная адресация памяти
Сегментная адресация памяти — схема логической адресации памяти компьютера в архитектуре x86. Линейный адрес конкретной ячейки памяти, который в некоторых режимах работы процессора будет совпадать с физическим адресом, делится на две части: сегмент и смещение. Сегментом называется условно выделенная область адресного пространства определённого размера, а смещением — адрес ячейки памяти относительно начала сегмента. Базой сегмента называется линейный адрес (адрес относительно всего объёма памяти), который указывает на начало сегмента в адресном пространстве. В результате получается сегментный (логический) адрес, который соответствует линейному адресу база сегмента+смещение и который выставляется процессором на шину адреса.
Параграфы
Пара́граф— единица измерения объёма данных в информатике. Численно параграф равен 16 байтам. Чаще всего данная единица используется не для собственно измерения объёма блока данных, а для записи адреса/cмещения блока и для обозначения выравнивания. Если адрес какой-либо структуры кратен 16, он может быть выражен в параграфах целым числом. Говорят, что структура должна быть выравнена по границе параграфа, если по какой-то причине требуется, чтобы адрес/смещение начала структуры был кратен 16. Обычно за систему отсчёта берётся начало адресного пространства, но в некоторых случаях может быть взят произвольный адрес.
