- •Введение
- •Организация кэш-памяти
- •1. Где может размещаться блок в кэш-памяти?
- •2. Как найти блок, находящийся в кэш-памяти?
- •3. Какой блок кэш-памяти должен быть замещен при промахе?
- •4. Что происходит во время записи?
- •Принципы организации основной памяти в современных компьютерах Общие положения
- •Увеличение разрядности основной памяти
- •Память с расслоением
- •Использование специфических свойств динамических зупв
- •Виртуальная память и организация защиты памяти Концепция виртуальной памяти
- •Страничная организация памяти
- •Сегментация памяти
- •Управление вводом-выводом
- •Физическая организация устройств ввода-вывода
- •Организация программного обеспечения ввода-вывода
- •Обработка прерываний
- •Драйверы устройств
- •Независимый от устройств слой операционной системы
- •Пользовательский слой программного обеспечения
- •Системы ввода вывода Организация ввода - вывода микропроцессорного устройства
- •Ввод вывод в режиме прямого доступа к памяти
- •Ввод вывод
- •Защищенный режим
- •Дескрипторы
- •Привилегии
- •Переключение задач
- •Страничное управление памятью
- •Режим виртуального 86 (v86)
- •Характеристика системы команд процессора
- •Простые типы данных. Операции над простыми данными.
- •Машинные форматы данных.
- •Слово. Полуслово. Двойное слово.
- •Числа с плавающей запятой
- •Представление простых типов данных языков программирования
- •Вместо заключения
- •2.2 Типы данных
- •Логическое устройство компьютеров
- •1. Принцип программного управления. Из него следует, что программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в определенной последовательности.
- •3. Принцип адресности. Структурно основная память состоит из перенумерованных ячеек; процессору в произвольный момент времени доступна любая ячейка.
- •Основные принципы функционирования компьютеров
- •Принципы Неймана
- •Общее устройство компьютеров
- •Арифметические основы компьютера
- •Перевод чисел в десятичную систему счисления
- •Перевод чисел из десятичной системы в двоичную, восьмеричную и шестнадцатиричную
- •Перевод чисел из двоичной системы счисления в восьмеричную и шестнадцатиричную и обратно
- •Арифметические операции в позиционных системах счисления
- •Сложение
- •Вычитание
- •Триггер
- •Сумматор
- •Принципы организации основной памяти в современных компьютерах Общие положения
- •Увеличение разрядности основной памяти
- •Память с расслоением
- •Использование специфических свойств динамических зупв
- •Виртуальная память и организация защиты памяти Концепция виртуальной памяти
- •Страничная организация памяти
- •Сегментация памяти
- •Глава 5 Управление памятью
- •Глава 1. Общие принципы организации памяти эвм
Ввод вывод в режиме прямого доступа к памяти
Ввод вывод в режим прямого доступа к памяти используют канал прямого доступа к памяти по которому массивы данных передаются непосредственно между периферийным устройством и АЗУ, минуя микропроцессор. Это позволяет достичь наибольшей скорости передачи, но требует специального контроллера прямого доступа к памяти. Периферийное устройство посылает в контроллер прямого доступа к памяти запрос, который транслируется контроллером в микропроцессор, на что микропроцессор отвечает сигналом подтверждения. При этом микропроцессор прекращает работу по выполнению текущей программы, переводит свои буферные регистры, подключенные к шине адреса и шине данных, в высоко эмпедансное состояние и прекращает выработку управляющих сигналов. В контроллер прямого доступа к памяти в его счетчики заносится адрес ячейки АЗУ с которой начинается массив данных и число слов в нем, а также взводится триггер прямого доступа к памяти. Адрес ячейки выдается затем на шину адреса и начинается обмен. При передаче каждого слова содержимое счетчиков в контроллере изменяется на единицу и обмен данными производиться автоматически пока триггер прямого доступа к памяти не сбросится сигналом переполнения или обнуления счетчика. Запрос снимается и микропроцессор возобновляет приостановленную программу.
Ввод вывод
Как в 86 32 разрядные микропроцессоры позволяют адресовать до 64К однобайтных или 32К двухбайтных регистров в пространстве отдельным от памяти. Дополнительно имеется возможность обращения к 32 битным портам. При операциях ввода вывода линии А16-А31 не используются в шине адреса. Адрес устройства задается либо в команде (только младший байт), либо берется из регистра DX (16 бит). Команды ввода вывода вызывают шинные циклы с активными сигналами OWRD, строковые команды обеспечивают блочный ввод вывод со скоростью превышающей аналогичные операции со стандартным контроллером DMA. В адресном пространстве ввода вывода область 0F8-0FF зарезервирована для использования сопроцессором. В защищенном режиме инструкции ввода вывода являются привилегированными это означает, что они могут исполняться задачами только с определенным уровнем привилегий определяемым полем IOPL, регистром флагов или битовой картой разрешения ввода вывода хранящейся в TSS. Несанкционированная попытка выполнения этих инструкций вызывает исключение 13.
Защищенный режим
Защищенный режим позволяет адресовать до 4 Гбайт физической памяти, через которые при использовании механизма страничной адресации могут отображаться до 64 Кбайт виртуальной памяти каждой задачи. Режим виртуального 86 является особым состоянием задачи защищенного режима, в котором микропроцессор функционирует как 86, но с возможностью использования 32 разрядных адресов и операндов. Защищенный режим предназначен для обеспечения независимости выполнения нескольких задач, что подразумевает защиту ресурсов одной задачи от возможного воздействия другой. Основным защищаемым ресурсом является память, в которой хранятся коды, данные, и различные системные таблицы. Защищать требуется и совместно используемую аппаратуру обращение, к которой обычно происходит через операцию ввода вывода и прерывания. Защита памяти основана на использовании сегментации. Сегмент _ это блок адресного пространства памяти определенного назначения. К элементам сегмента возможно обращение с помощью различных инструкций использующих разные режимы адресации для формирования адреса в пределах сегмента. Сегменты выделяются операционной системой, но в реальном режиме любая задача может переопределить значение сегментных регистров, задающих положение сегмента в пространстве памяти. В защищенном режиме прикладная программа может использовать только разрешенное для нее сегменты, выбирая их с помощью селекторов через предварительно сформулированные таблицы дескрипторов сегментов. Селекторы _ это 16 битные указатели, загруженные в сегментные регистры. Дескрипторы _ это структуры данных используемые для определения свойств программных элементов (сегментов, вентилей и таблиц). Дескриптор определяет положение в памяти размер занимаемой им области элемента (лимит), его назначение и характеристики защиты. Защита памяти с помощью сегментации не позволяет:
использовать сегменты не по назначению;
нарушать права доступа;
адресоваться к элементам выходящим за лимит сегмента;
изменять содержимое таблиц дескрипторов, т.е. параметров сегмента задачам без достаточных привилегий.
Защищенный режим предоставляет средства переключения задач состояния каждой задачи, т.е. значения всех связей с ней регистров может быть сохранено в специальном сегменте состояния задачи (TSS) на который указывает селектор в регистре задачи. При переключении задач достаточно загрузить новый селектор в TR и состояние предусматривающей задачи автоматически сохраняется в ее TSS. А в процессор загружается состояние новой, возможно и ранее прерванной задачи, и начнется ее выполнение. 4 уровневая иерархическая система привилегий предназначена для управления использованием привилегированных инструкций и доступом к дескрипторам. Нулевой уровень соответствует неограниченным возможностям доступа и отводится для ядра операционной системы. Уровень 3 имеет самые ограниченные права и предоставляется прикладным задачам. Сервисы, предоставляемые задачам могут находиться на разных уровнях привилегий. Передача управления между задачами контролируется вентилями, проверяющими правильность использования уровня привилегий. Через вентили задачи могут получить доступ только к разрешенным им сервисам других сегментов. Уровни привилегий относятся к дескрипторам, селекторам и задачам. Кроме того, в регистре флагов имеется поле привилегий ввода вывода, с помощью которого обеспечивается управление доступом к инструкциям ввода вывода и управление флагом прерываний. Дескрипторы и привилегии являются основой системы защиты. Дескрипторы определяют структуры элементов без, которых невозможно их использование, а привилегии определяют возможность доступа к дескрипторам и выполнение привилегированных инструкций. Любое нарушение защиты приводит к возникновению специальных исключений обрабатываемых ядром операционной системы. Механизм виртуальной памяти позволяет любой задаче использовать логическое адресное пространство размером до 16К сегментов по 4 Гбайта. Для этого каждый сегмент в своем дескрипторе имеет специальный бит, который указывает на присутствие данного сегмента в оперативной памяти в текущий момент времени. Не используемый сегмент может быть выгружен из оперативной во внешнюю память, о чем делается пометка в его дескрипторе. На освободившееся место из внешней памяти может восстановиться содержимое другого сегмента и в его дескрипторе делается пометка о присутствии. При обращении задачи к отсутствующему сегменту микропроцессор вырабатывает соответствующее исключение обработчик, которого и заведует виртуальной памятью в операционной системе. После свопинга страницы или сегмента выполнение задачи продолжается. Поэтому виртуализация памяти для прикладных задач прозрачна.