Главная страница
Навигация по странице:

  • Обмен данными: • записями фиксированного размера – блоками

  • Последовательного доступа

  • Магнитная лента Чтобы добраться до определенной записи, нужно пройти все предыдущие. 3.6.1.2 Устройства прямого доступа Магнитные диски

  • Магнито-электронные ВЗУ прямого доступа 3.6.2 Организация потоков данных при обмене с внешними устройствами Обмен данных осуществляется через центральный процессор.

  • Обмен с использованием прямого доступа к памяти (direct memory access – DMA) .

  • 1. Непосредственное управление

  • Асинхронное

  • Асинхронная работа с ВУ

  • БИЛЕТ 11 Иерархия памяти

  • БИЛЕТ 12 Мультипрограммный режим

  • БИЛЕТ 13 Организация регистровой памяти (регистровые окна, стек)

  • БИЛЕТ 14 Виртуальная оперативная память

  • Организация страничной памяти

  • БИЛЕТ 15 Пример организации страничной виртуальной памяти

  • Околения компьютеров


    Скачать 1.67 Mb.
    НазваниеОколения компьютеров
    Дата18.04.2022
    Размер1.67 Mb.
    Формат файлаpdf
    Имя файлаOS_Graur.pdf
    ТипДокументы
    #481658
    страница4 из 20
    1   2   3   4   5   6   7   8   9   ...   20
    Билет №10 Основы архитектуры компьютера. Внешние
    устройства. Организация управления и потоков данных
    при обмене с внешними устройствами
    3.6.1 Внешние запоминающие устройства (ВЗУ).
    Обмен данными:
    • записями фиксированного размера – блоками
    •записями произвольного размера
    Доступ к данным:
    • операции чтения и записи (жесткий диск, CDRW).
    • только операции чтения (CDROM, DVDROM, …).
    Последовательного доступа:
    Магнитная лента
    Прямого доступа:
    • Магнитные диски
    • Магнитный барабан
    • Магнито - электронные ВЗУ прямого доступа
    3.6.1.1 Устройство последовательного доступа
    Магнитная лента

    Чтобы добраться до определенной записи, нужно пройти все предыдущие.
    3.6.1.2 Устройства прямого доступа
    Магнитные диски
    Блок может перемещаться от края к центру.
    Каждое устройство характеризуется фиксированным числом цилиндров. Дорожки относящиеся к одному цилиндру также пронумерованы.
    Дорожки образуют концентрические окружности.
    Все дорожки разделены на сектора. Начала одноименных секторов лежат в одной плоскости. Для задания координат определенного сектора в управляющее устройства необходимо передать:
    1) номер цилиндра, где расположен сектор
    2) номер дорожки на которой находится сектор
    3)номер сектора
    Магнитный барабан
    Предназначен больших вычислительных комплексов. Представляет из себя большой цилиндр длиной до метра, в диаметре 30 – 40 см. Поверхность покрыта особым веществом, над поверхностью штанга с головками над треками. Скорость доступа достаточно большая. Механическая составляющая только вращение барабана.
    Магнито-электронные ВЗУ прямого доступа

    3.6.2 Организация потоков данных при обмене с внешними устройствами
    Обмен данных осуществляется через центральный процессор.
    Например, при чтении и получении данных из внешнего устройства они попадают на специальные регистры процессора и далее в память.
    Обмен с использованием прямого доступа к памяти (direct memory access –
    DMA).
    Нет необходимости для организации обмена использовать оперативную память. Но этот объем данных ограничен. Когда данные кончаются процессор выполняет дополнительную работу.
    3.6.4 Организация управления внешними устройствами
    1. Непосредственное управление внешними устройствами центральным процессором.
    2. Синхронное управление внешними устройствами с использованием контроллеров внешних устройств.
    3. Асинхронное управление внешними устройствами с использованием контроллеров внешних устройств.

    4.
    Использование контроллера прямого доступа к памяти (DMA) при обмене.
    Управление внешними устройствами с использованием процессора или канала
    ввода/вывода.
    Прерывания: организация работы внешних устройств.
    Одно из основных достижений прерываний – возможность организации асинхронной работы с внешними устройствами. Вернемся к ее рассмотрению.
    Пусть в системе имеется прерывание “обращение к системе”. Оно используется для организации доступа к функциям ОС.
    Синхронная работа с ВУ
    При синхронной организации обмена программа будет приостановлена с момента обращения к ВУ до момента завершения обмена. Дисбаланс между скоростью выполнения машинных команд и скоростью работы ВУ колоссальный. Поэтому задержки при синхронной работе крайне и крайне ощутимы.
    Асинхронная работа с ВУ
    Последовательность действий следующая
    1. Программа инициирует прерывание “обращение к системе”, тем самым передается заказ на выполнение обмена, (параметры заказа могут быть переданы через специальные регистры, стек и т.п.) Происходит обработка прерывания (при этом программа (процесс) находится в ожидании). При обработке прерывания конкретному драйверу устройства передается заказ на выполнение обмена (который поступает в очередь).
    2. После завершения обработки прерывания “обращение к системе” программа продолжает свое выполнение до завершения обмена (на самом деле это не всегда так, почему – ответ позднее).
    3. Выполнение программы приостанавливается по причине возникнове6ния прерывания – завершение обмена с конкретным устройством. После обработки прерывания выполнение будет продолжено.
    Очевидно, что асинхронная схема обработки обращений к ВУ позволяет сглаживать системный дисбаланс в скорости выполнения машинных команд и скоростью доступа к ВУ. Это еще одно из решений объявленной в начале курса проблемы.
    Представленная выше схема организации обмена является достаточно упрощенной. Она не затрагивает случаев синхронизации доступа к областям памяти, участвующим в обмене. Проблема состоит в том, что, например, записывая некую область данных на ВЗУ, после обработки заказа на обмен, но до завершения обмена, программа может попытаться обновить содержимое области, что является некорректным. Поэтому в реальных системах для синхронизации работы с областями памяти, находящимися в обмене, используется возможность ее аппаратного закрытия на чтение и/или запись. То есть при попытке обмена с закрытой областью памяти произойдет прерывание. Это позволяет остановить
    выполнение программы до завершения обмена, если программа попытается выполнить некорректные операции с областью памяти, находящейся в обмене
    (попытка чтения при незавершенной операции чтения с ВУ или записи при незавершенной операции записи данной области на ВУ).

    БИЛЕТ 11
    Иерархия памяти
    4.4. Иерархия памяти.
    1. В центральном процессоре наиболее быстрые и наиболее дорогостоящие – регистры общего назначения и кэш-буфер.
    2. Оперативное запоминающее устройство: кэш-устройства (вне центрального процессора – между оперативной памятью и центральным процессором).
    3. Внешние устройства – для организации оперативного доступа к данным.
    4. Устройства прямого доступа без кэш-буферизации.
    5. Устройства для долговременного массового хранения данных.

    БИЛЕТ 12
    Мультипрограммный режим
    Итак, выше мы выяснили, что, несмотря на возможность асинхронной работы с
    ВУ, имеют место периоды ожидания программой завершения обмена. Если система обрабатывает единственную программу, то в это время ЦП не производит никакой полезной работы, то есть простаивает (на самом деле термин простой достаточно условный, так как при этом работает операционная система).
    Программа
    Простой ЦП - ожидание завершения обмена
    Программа
    Решением проблемы простоя ЦП в этом случае является использование ВС в
    мультипрограммном режиме, в режиме при котором возможна организация переключения выполнения с одной программы на другую в ремя пр о
    це с
    сы t
    1
    t
    2
    t
    2
    t
    2
    программа
    1
    программа
    2
    программа
    3
    программа
    4
    программа
    1
    На рисунке изображена подобная мультипрограммная система, обрабатывающая одновременно 4 программы (процесса). t
    1
    – момент времени в который программа
    1
    будет остановлена для ожидания завершения обмена (до момента времени t
    4
    ). В момент времени t
    1
    система запускает выполнение программы
    2
    , которая
    выполняется до момента времени t
    2
    . С t
    2
    программа
    2
    также начинает ждать завершения своего обмена и т.д.
    Для корректной организации мультипрограммной обработки необходима аппаратная поддержка ЭВМ. Как минимум аппаратура ЭВМ должна поддерживать следующие функции.
    1. Аппарат защиты памяти. Аппаратная возможность ассоциирования некоторых областей ОЗУ с одним из выполняющихся процессов/программ.
    Настройка аппарата защиты памяти происходит аппаратно, то есть назначение программе/процессу области памяти происходит программно
    (т.е., в общем случае операционная система устанавливает соответствующую информацию в специальных регистрах), а контроль за доступом – автоматически.
    При этом при попытке другим процессом/программой обратиться к этим областям ОЗУ происходит прерывание “Защита памяти”
    2. Наличие специального режима
    операционной
    системы
    (привилегированный режимом или режим супервизора) ЦП. Суть заключается в следующем: все множество машинных команд разбивается на
    2 группы. Первая группа – команды, которые могут исполняться всегда
    (пользовательские команды). Вторая группа – команды, которые могут исполняться только в том случае, если ЦП работает в режиме ОС. Если ЦП работает в режиме пользователя, то попытка выполнения специализированной команды вызовет прерывание – "Запрещенная команда”. Какова необходимость наличия такого режима выполнения команд? Простой пример – управление аппаратом защиты памяти. Для корректного функционирования этого аппарата необходимо обеспечить централизованный доступ к командам настройки аппарата защиты памяти.
    То есть эта возможность должна быть доступна не всем программам.
    3. Необходимо наличие аппарата прерываний. Как минимум в машине должно быть прерывание по таймеру, что позволит избежать “зависания“ всей системы при зацикливании одной из программ.

    БИЛЕТ 13
    Организация регистровой памяти (регистровые окна,
    стек)
    Регистровые окна. Компьютер поддерживает аппарат виртуальных регистров. Команды программы могут оперировать с регистрами общего назначения.
    Одно из решений – регистровые окна. В компьютере есть фиксированный набор физических регистров с номерами 0, …, к-1. В программе доступна нумерация виртуальных регистров 0, …,k-1, где l<к.
    Аппарат позволяет привязать регистровые окна к множеству физических регистров. Окна перемещаются дискретно. Окно состоит из трех частей: входные, выходные регистры; локальные (внутренние) регистры. Аппаратура обеспечивает существование фиксированного количества окон. Окна расположены циклическим образом. Этот аппарат позволяет активизировать вложенные программы.
    В каждый момент времени программа может использовать множество регистров общего назначения. Каждое регистровое окно состоит из трех частей: двух номеров регистров для приема и передачи информации. Средняя часть – для локализации подпрограммы.
    Обращение к подпрограмме: параметры, которые должны быть переданы, размещаются в третьей части окна. Осуществляется смена указателя на текущее окно.
    Микропроцессоры SPARK используют такую архитектуру.
    Два регистра: указатель текущего окна и указатель сохраненного окна.
    Возникает необходимость сохранения регистровых окон в память. Регистр SWP указывает на сохраненное окно.
    Схема работы:
    При обращении к функции: программно увеличиваем указатель на текущее окно на 1 по модулю N. Проверяется содержимое этого указателя и указателя на
    сохраненное окно. Если они совпадают, то происходит прерывание. Если же совпадения нет, то мы работаем с новым окном.
    При выходе из функции: уменьшаем указатель текущего окна, сравниваем с указателем сохраненного окна.
    5.2. Модель организации регистровой памяти в Intel Itanium.
    Эта модель более совершенная. Регистры, доступные для программы, представляют собой множество из 128 регистров. Первые 32 из них – статические регистры (общие для всех случаев, они никак не меняются). После статических регистров располагаются динамические регистры, которые располагаются с 32 регистра до 127 (всего 96 регистров). Есть возможность при обращении к подпрограммам изменять регистровые окна.
    Отличие от предыдущей модели: размер окна при переключении окон может варьироваться от 96 до 1 регистра.

    БИЛЕТ 14
    Виртуальная оперативная память
    Аппарат виртуальной памяти
    Рассмотрим некоторые проблемы организации адресации в программах/процессах и связанные с ними проблемы использования ОЗУ в целом.
    В общем случае схема получения исполняемого кода программы следующая:
    Исходный текст программы на ЯП
    Транслятор
    Объектный модуль
    Редактор внешних связей, библиотека объектных модулей
    Исполняемый модуль
    Данная схема достаточно очевидна, так как она связана с привычным для нас процессами трансляции. Остановимся подробней на исполняемом модуле. Данный модуль представляет собой готовую к выполнению программу в машинных кодах.
    При этом внутри программы к моменту образования исполняемого модуля используется модель организации адресного пространства программы (эта модель, в общем случае не связана с теми ресурсами ОЗУ, которые предполагается использовать позднее). Для простоты будем считать, что данная модель представляет собой непрерывный фрагмент адресного пространства в пределах которого размещены данные и команды программы. Будем называть подобную организацию адресации в
    программе
    программной
    адресацией
    или
    логической/виртуальной адресацией.
    Итак, повторяем, на уровне исполняемого кода имеется программа в машинных кодах, использующая адреса данных и команд. Эти адреса в общем случае не являются адресами конкретных физических ячеек памяти, в которых размещены эти данные, более того, в последствии мы увидим, что виртуальным (или программным) адресам могут ставиться в соответствие произвольные физические адреса памяти. То есть при реальном исполнении программы далеко не всегда виртуальная адресация, используемая в программе совпадает с физической адресацией, используемой ЦП при выполнении данной программы.
    Элементарное программно-аппаратное решение – использование возможности
    базирования адресов. Суть его состоит в следующем: пусть имеется исполняемый
    программный модуль. Виртуальное адресное пространство этого модуля лежит в диапазоне [0, A
    кон
    ]. В ЭВМ выделяется специальный регистр базирования R
    баз.
    , который содержит физический адрес начала области памяти, в которой будет размещен код данного исполняемого модуля. При этом исполняемые адреса, используемые в модуле будут автоматически преобразовываться в адреса физического размещения данных путем их сложения с регистром R
    баз.
    . Таким образом код используемого модуля может перемещаться по пространству физического ОЗУ. Эта схема является элементарным решением организации простейшего аппарата виртуальной памяти. То есть аппарата, позволяющего автоматически преобразовывать виртуальные адреса программы в адреса физической памяти.
    Рассмотрим более сложные механизмы организации виртуальной памяти.
    0
    A
    исп
    Программа i
    ОС
    Программа j
    Программа k
    Свободные фрагменты
    ОЗУ
    Пусть имеется вычислительная система, функционирующая в мультипрограммном режиме. То есть одновременно в системе обрабатываются несколько программ/процессов. Один из них занимает ресурсы ЦП. Другие ждут завершения операций обмена, третьи – готовы к исполнению и ожидают предоставления ресурсов ЦП. При этом происходит завершение выполнявшихся процессов и ввод новых, это приводит к возникновению проблемы фрагментации ОЗУ. Суть ее следующая. При размещении новых программ/процессов в ОЗУ ЭВМ (для их мультипрограммной обработки) образуются свободные фрагменты ОЗУ между программами/процессами. Суммарный объем свободных фрагментов может быть достаточно большим, но, в то же время, размер самого большого свободного фрагмента недостаточно для размещения в нем новой программы/процесса. В этой ситуации возможна деградация системы – в системе имеются незанятые ресурсы
    ОЗУ, но они не могут быть использованы. Путь решения этой проблемы – использование более развитых механизмов организации ОЗУ и виртуальной памяти, позволяющие отображать виртуальное адресное пространство программы/процесса не в одну непрерывную область физической памяти, а в некоторую совокупность областей.

    Организация страничной памяти
    Страничная организация памяти предполагает разделение всего пространства ОЗУ на блоки одинакового размера – страницы. Обычно размер страницы равен 2
    k
    . В этом случае адрес, используемый в данной ЭВМ, будет иметь следующую структуру:
    0
    я страница
    1
    я страница
    0 2
    k
    -1 2
    k
    2
    k+1
    Номер страницы
    Номер в странице
    0
    k-1
    k

    БИЛЕТ 15
    Пример организации страничной виртуальной памяти
    Взять 14 билет.
    Модельная (упрощенная) схема организации функционирования страничной памяти ЭВМ следующая: Пусть одна система команд ЭВМ позволяет адресовать и использовать m страниц размером 2
    k каждая. То есть виртуальное адресное пространство программы/процесса может использовать для адресации команд и данных до m страниц.
    Физическое адресное пространство, в общем случае может иметь произвольное число физических страниц (их может быть больше m, а может быть и меньше).
    Соответственно структура исполнительного физического адреса будет отличаться от структуры исполнительного виртуального адреса за счет размера поля ”номер страницы”.
    В виртуальном адресе размер поля определяется максимальным числом виртуальных страниц – m.
    В физическом адресе – максимально возможным количеством физических страниц, которые могут быть подключены к данной ЭВМ (это также фиксированная аппаратная характеристика ЭВМ).
    В ЦП ЭВМ имеется аппаратная таблица страниц (иногда таблица приписки) следующей структуры:
    0 1
    2 3
    i m-1 0

    1

    3

    2

    i

    1

    m

    Таблица содержит m строк. Содержимое таблицы определяет соответствие виртуальной памяти физической для выполняющейся в данный момент программы/процесса. Соответствие определяется следующим образом: i-я строка таблицы соответствует i-й виртуальной странице.
    Содержимое строки α
    i определяет, чему соответствует i-я виртуальная страница программы/процесса. Если α
    i
    ≥ 0, то это означает, что α
    i есть номер физической страницы, которая соответствует виртуальной странице программы/процесса. Если
    α
    i
    = -1, то это означает, что для i-й виртуальной страницы нет соответствия физической странице ОЗУ (обработка этой ситуации ниже).
    Итак, рассмотрим последовательность действий при использовании аппарата виртуальной страничной памяти.
    1. При выполнении очередной команды схемы управления ЦП вычисляют некоторый адрес операнда (операндов) A
    исп
    . Это виртуальный исполнительный адрес.

    2. Из A
    исп.
    Выделяются значимые поля номер страницы (номер виртуальной страницы). По этому значению происходит индексация и доступ к соответствующей строке таблицы страниц.
    3. Если значение строки ≥ 0, то происходит замена содержимого поля номер страницы на соответствующее значение строки таблицы, таким образом, получается физический адрес. И далее ЦП осуществляет работу с физическим адресом.
    4. Если значение строки таблицы равно –1 это означает, что полученный виртуальный адрес не размещен в ОЗУ. Причины такой ситуации? Их две.
    Первая – данная виртуальная страница отсутствует в перечне станиц, доступных для программы/процесса, то есть имеет место попытка обращения в “ чужую”, не легитимную память. Вторая ситуация, когда операционная система в целях оптимизации использования ОЗУ, откачала некоторые страницы программы/процесса в ВЗУ(свопинг, при действиях ОС при свопинге позднее). Что происходит в системе, если значение строки таблицы страниц –1, и мы обратились к этой строке? Происходит прерывание “ защита памяти”, управление передается операционной системе
    (по стандартной схеме обработки прерывания и далее происходит программная обработка ситуации (обращаем внимание, что все, что выполнялось до сих пор – пункт 1, 2, 3 и 4 – это действия аппаратуры, без какого-либо участия программного обеспечения).
    ОС по содержимому внутренних данных определяет конечную причину данного прерывания: или это действительно защита памяти, или мы пытались обратиться к странице ОЗУ, которая временно размещена во внешней памяти.
    Таким образом, предложенная модель организации виртуальной памяти позволяет решить проблему фрагментации ОЗУ. На самом деле, некоторая фрагментация остается (если в странице занят хотя бы 1 байт, то занята вся страница), но она является контролируемой и не оказывает значительного влияния на производительность системы.
    Далее, данная схема позволяет простыми средствами организовать защиту памяти, а также своппирование страниц.
    Предложенная модель организации виртуальной памяти позволяет иметь отображение виртуального адресного пространства программы/процесса в произвольные физические адреса, также позволяет выполнять в системе программы/процессы, размещенные в ОЗУ частично (оставшаяся часть может быть размещена во внешней памяти).
    Недостаток – необходимость наличия в ЦП аппаратной таблицы значительных размеров.
    Итак мы рассмотрели модельный, упрощенный вариант организации виртуальной памяти. Реальные решения используемые в различных архитектурах ЭВМ могут быть гораздо сложнее, но основные идеи остаются неизменными.

    1   2   3   4   5   6   7   8   9   ...   20


    написать администратору сайта