- •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 Задача
7. Формування фізичної адреси з логічної адреси для сегментної та сторінкової схем організації пам’яті Страничная организация
Страничная организация (paging) – стратегия управления памятью, при которой:
логическая память делится на страницы – смежные области одинаковой длины, обычно – степень 2 (например, 512 слов);
физическая память, соответственно, делится на фреймы такого же размера;
распределение логической памяти происходит с точностью до страницы;
физическая память процесса может не быть непрерывной;
связь между логической и физической памятью процесса осуществляется с помощью таблицы страниц – системной структуры, выделяемой процессу для трансляции его логических адресов в физические.
При страничной организации ОС хранит информацию обо всех свободных фреймах. Поскольку память выделяется с точностью до страницы, возможна внутренняя фрагментация. Цели страничной организации – обеспечить возможность не смежного распределения физической памяти для процессов, а также расширить пространство логической памяти. При страничной организации логический адрес обрабатывается системой особым образом – как структура (p, d): его старшие разряды обозначают номер страницы, младшие – смещение внутри страницы. Номер страницы (p) трактуется как индекс в таблице страниц, соответствующий элемент которой содержит базовый адрес начала страницы в физической памяти. Смещение внутри страницы (d) добавляется к ее базовому адресу. В результате формируется физический адрес, передаваемый в устройство управления памятью.
Сегментная
организация
Сегментная организация памяти (segmentation) - схема распределения памяти в виде сегментов переменной длины, соответствующая пользовательской трактовке распределения памяти, т.е. логической структуре программ и данных. С точки зрения пользователя (разработчика программы), программа – это набор модулей кода и данных, каждому из которых должен соответствовать свой сегмент в памяти. Сегмент – логическая единица распределения памяти, предназначенная для размещения в памяти одного модуля программного кода или данных.
Логический адрес (s, d), где s – номер сегмента, d – смещение внутри сегмента, обрабатывается следующим образом. По номеру сегмента s происходит обращение в таблицу сегментов, и определяется база сегмента – его начальный адрес в основной памяти. Смещение d сравнивается с длиной (границей) сегмента. Если оно меньше, то оно складывается с базой, и в результате получается физический адрес, по которому и происходит обращение в память. Если смещение больше или равно базе, происходит прерывание – ошибка адресации. На схеме не показана еще одна проверка – для номера сегмента s проверяется, что он не превосходит значения регистра длины таблицы сегментов, иначе – прерывание.
Ссылки:
http://gendocs.ru/v31765/?cc=8
http://gendocs.ru/v31765/?cc=7
8. Принципи роботи vmm
VMM (англ. Virtual Machine Manager) — ядро операционной системы Windows версий 2.1/386, 3.x, 95, 98 и Me.
Архитектура
32 - разрядное, никак не совместимое с процессорами младше 386, ядро операционной системы. Поддерживало страничную виртуальную память с использованием таблиц страниц и прерывания page fault (появилось в 386). Поддерживало вытесняющую многозадачность между процессами («виртуальными машинами», ибо первоначально каждый процесс был экземпляром виртуальной машины DOS, кроме того, в одном из процессов VMM выполнялись все приложения Windows).
Внутри себя ядро не использовало вытесняющую многозадачность.
Реализовано на ассемблере, который также предлагался и как язык разработки дополнительных модулей (так называемые VxD). Написание VxD на C требовало массивных оберток.
Обеспечивало ряд функций для VxD:
богатый набор функций по работе со страничной памятью, в том числе возможность отобразить принадлежащий VxD блок памяти в адресное пространство виртуальной машины DOS (эмуляция видеопамяти и так далее).
низкоуровневые примитивы синхронизации — ожидание/пробуждение, нечто вроде condvar
установка перехватов на обращения к портам — при исполнении машинных команд IN/OUT в виртуальной машине управление передавалось в определенную процедуру одного из VxD.
установка точек останова — при попадании исполнения в виртуальной машине на точку останова управление передавалось в определенную процедуру одного из VxD.
http://ru.wikipedia.org/wiki/VMM
http://www.regatta.cs.msu.su/doc/usr/share/man/info/ru_RU/a_doc_lib/aixbman/admnconc/vmm_overview.htm
