Автор: Пользователь скрыл имя, 11 Декабря 2011 в 20:34, курс лекций
Рассмотренные в предыдущем разделе физические механизмы взаимодействия устройств ввода-вывода с вычислительной системой позволяют понять, почему разнообразные внешние устройства легко могут быть добавлены в существующие компьютеры. Все, что необходимо сделать пользователю при подключении нового устройства - это отобразить порты устройства в соответствующее адресное пространство, определить какой номер будет соответствовать прерыванию, генерируемому устройством, и, если нужно, закрепить за устройством некоторый канал DMA.
Лекция 16. Структура системы ввода-вывода. Функции базовой подсистемы ввода-вывода. 1
Логические принципы организации ввода-вывода 1
Структура системы ввода-вывода 1
Функции базовой подсистемы ввода-вывода 4
Буферизация и кэширование 5
Spooling и захват устройств. 6
Обработка прерываний и ошибок 6
Планирование запросов 7
Лекция 15. Система управления вводом-выводом. Физические принципы организации ввода-вывода. Общие сведения об архитектуре компьютера. Структура контроллера устройства. Опрос устройств и прерывания. 8
Физические принципы организации ввода-вывода 8
Общие сведения об архитектуре компьютера 8
Структура контроллера устройства 10
Опрос устройств и прерывания. Исключительные ситуации и системные вызовы 11
Для внешних прерываний характерны следующие особенности: 13
Прямой доступ к памяти (Direct Memory Access – DMA) 14
Лекция 14. Загрузка программ. Абсолютная загрузка. Относительная загрузка. Позиционно-независимый код. Загрузка ОС. Сборка программ. 15
Загрузка программ 15
Абсолютная загрузка 15
Абсолютная загрузка используется, например, в системе UNIX на 32-разрядных машинах. 16
Относительная загрузка 16
Позиционно-независимый код 17
Загрузка ОС 17
Пример: Загрузка системы MS-DOS. 20
Сборка программ 21
Объектный модуль 21
Библиотеки объектных модулей 22
Варианты построения загрузчиков 23
Лекция 13. Кэширование данных. Иерархия запоминающих устройств. Кэш память. Принцип действия кэш-памяти. Проблемы согласования данных. Проблемы отображения основной памяти в кэш. 25
Иерархия запоминающих устройств 25
Кэш-память 25
Принцип действия кэш-памяти 26
Проблема согласования данных 28
Способы отображения основной памяти на кэш 28
Схемы выполнения запросов в системах с кэш-памятью 29
Наличие в
компьютере двух копий данных
— в основной памяти и в
кэше — порождает проблему
согласования данных. Если происходит
запись в основную память по
некоторому адресу, а содержимое
этой ячейки находится в кэше,
то в результате
Сквозная запись (write through).
При каждом запросе
к основной памяти, в том числе
и при записи, просматривается
кэш. Если данные по запрашиваемому адресу
отсутствуют, то запись выполняется
только в основную память. Если же данные,
к которым выполняется
Обратная запись (write back). Аналогично при возникновении запроса к памяти выполняется просмотр кэша, и если запрашиваемых данных там нет, то запись выполняется только в основную память. В противном же случае запись производится только в кэш-память, при этом в описателе данных делается специальная отметка (признак модификации), которая указывает на то, что при вытеснении этих данных из кэша необходимо переписать их в основную память, чтобы актуализировать устаревшее содержимое основной памяти.
В некоторых
алгоритмах замещения
Алгоритм поиска
и алгоритм замещения данных в
кэше непосредственно зависят от
того, каким образом основная память
отображается на кэш-память. Принцип
прозрачности требует, чтобы правило
отображения основной памяти на кэш-память
не зависело от работы программ и пользователей.
При кэшировании данных из оперативной
памяти широко используются две основные
схемы отображения: случайное отображение
и детерминированное
При случайном
отображении элемент
Для кэшей
со случайным отображением
В кэшах,
построенных на основе
Если же произошел
кэш-промах, то данные считываются из
оперативной памяти и копируются
в кэш. Если строка кэш-памяти, в которую
должен быть скопирован элемент данных
из оперативной памяти, содержит другие
данные, то последние вытесняются
из кэша. Заметим, что процесс замещения
данных в кэш-памяти на основе прямого
отображения существенно
Во многих
современных процессорах кэш-
При промахе
данные копируются по любому свободному
адресу из однозначно заданной группы.
Если свободных адресов в группе
нет, то выполняется вытеснение данных.
Поскольку кандидатов на выгрузку несколько
— все записи из данной группы —
алгоритм замещения может учесть
интенсивность обращений к
На рис. 5.29 приведена
обобщенная схема работы кэш-памяти.
Большая часть ветвей этой схемы
уже была подробно рассмотрена выше,
поэтому остановимся здесь
.Из схемы
видно, что когда выполняется
запись, кэш просматривается только
с целью согласования
В соответствии с описанной логикой работы кэш-памяти следует, что при возникновении запроса сначала просматривается кэш, а затем, если произошел промах, выполняется обращение к основной памяти. Однако часто реализуется и другая схема работы кэша: поиск в кэше и в основной памяти начинается одновременно, а затем, в зависимости от результата просмотра кэша, операци в основной памяти либо продолжается, либо прерывается.
При выполнении
запросов к оперативной памяти
во многих вычислительных
На рис. 5.31 показана схема выполнения запроса на чтение в системе с двухуровневым кэшем. Сначала делается попытка обнаружить данные в кэше первого уровня. Если произошел промах, поиск продолжается в кэше второго уровня. Если же нужные данные отсутствуют и здесь, тогда происходит считывание данных из основной памяти. Понятно, что время доступа к данным оказывается минимальным, когда кэш-попадание происходит уже на первом уровне, несколько большим — при обнаружении данных на втором уровне и обычным временем доступа к оперативной памяти, если нужных данных нет ни в том, ни в другом кэше. При считывании данных из оперативной памяти происходит их копирование в кэш второго уровня, а если данные считываются из кэша второго уровня, то они копируются в кэш первого уровня.
При работе
такой иерархической
На рис. 5.32 приведена схема выполнения запроса на запись в такой системе. При модификации данных необходимо убедиться, что они отсутствуют в кэшах. В этом случае выполняется запись только в оперативную память.
Если данные
обнаружены в кэше первого
уровня, то вступает в силу
алгоритм сквозной записи: выполняется
запись в кэш первого уровня
и передается запрос на запись
в кэш второго уровня, играющий
в данном случае роль основной
памяти. Запись в кэш второго
уровня в соответствии с
Если данные найдены в кэше второго уровня, то, так же как и в предыдущем случае, выполняется запись в этот кэш и устанавливается признак модификации.
Рассмотренные
в данном разделе проблемы
кэширования охватывают только
такой класс систем
Оглавление
Лекция 16. Структура системы ввода-вывода. Функции базовой подсистемы ввода-вывода. 1
Логические принципы организации ввода-вывода 1
Структура системы ввода-вывода 1
Функции базовой подсистемы ввода-вывода 4
Буферизация и кэширование 5
Spooling и захват устройств. 6
Обработка прерываний и ошибок 6
Планирование запросов 7
Лекция 15. Система управления вводом-выводом. Физические принципы организации ввода-вывода. Общие сведения об архитектуре компьютера. Структура контроллера устройства. Опрос устройств и прерывания. 8
Физические принципы организации ввода-вывода 8
Общие сведения об архитектуре компьютера 8
Структура контроллера устройства 10
Опрос устройств и прерывания. Исключительные ситуации и системные вызовы 11
Для внешних прерываний характерны следующие особенности: 13
Прямой доступ к памяти (Direct Memory Access – DMA) 14
Лекция 14. Загрузка программ. Абсолютная загрузка. Относительная загрузка. Позиционно-независимый код. Загрузка ОС. Сборка программ. 15
Загрузка программ 15
Абсолютная загрузка 15
Абсолютная загрузка используется, например, в системе UNIX на 32-разрядных машинах. 16
Относительная загрузка 16
Позиционно-независимый код 17
Загрузка ОС 17
Пример: Загрузка системы MS-DOS. 20
Сборка программ 21
Объектный модуль 21