Инфоурок Информатика ПрезентацииПрезентация по дисциплине Архитектура аппаратных средств "Система управления вводом-выводом"

Презентация по дисциплине Архитектура аппаратных средств "Система управления вводом-выводом"

Скачать материал

Выберите документ из архива для просмотра:

Выбранный для просмотра документ Система управления вводом выводом.pdf

Система управления вводом-выводом

Физические принципы организации ввода-вывода

u   Общие сведения об архитектуре компьютера

В современных компьютерах выделяют как минимум три шины:

u   шину данных, состоящую из линий данных и служащую для передачи информации между процессором и памятью, процессором и устройствами ввода-вывода, памятью и внешними устройствами;

u   адресную шину, состоящую из линий адреса и служащую для задания адреса ячейки памяти или указания устройства вводавывода, участвующих в обмене информацией;

u   шину управления, состоящую из линий управления локальной магистралью и линий ее состояния, определяющих поведение локальной магистрали . В некоторых архитектурных решениях линии состояния выносятся из этой шины в отдельную шину состояния

Операции обмена информацией осуществляются при одновременном участии всех шин.

1.   На адресной шине процессор должен выставить сигналы, соответствующие адресу ячейки памяти, в которую будет осуществляться передача информации.

2.   На шину данных процессор должен выставить сигналы, соответствующие информации, которая должна быть записана в память.

3.   После выполнения действий 1 и 2 на шину управления выставляются сигналы, соответствующие операции записи и работе с памятью, что приведет к занесению необходимой информации по нужному адресу.

Внешние устройства разнесены пространственно и могут подключаться к локальной магистрали в одной точке или множестве точек, получивших название портов ввода-вывода .

порты ввода-вывода можно взаимно однозначно отобразить в другое адресное пространство – адресное пространство ввода-вывода

1.               На адресной шине процессор должен выставить сигналы, соответствующие адресу порта.

2.               На шину данных процессор должен выставить сигналы, соответствующие информации, которая должна быть передана в порт.

3.               На шину управления выставляются сигналы, соответствующие операции записи и работе с устройствами ввода-вывода (переключение адресных пространств!), что приведет к передаче необходимой информации в нужный порт.

Контроллер может непосредственно управлять отдельным устройством (например, контроллер диска), а может управлять несколькими устройствами, связываясь с их контроллерами посредством специальных шин ввода-вывода (шина IDE, шина SCSI и т. д.).

Устройства ввода-вывода подключаются к системе через порты.

Могут существовать два адресных пространства: пространство памяти и пространство вводавывода.

Структура контроллера устройства

                                    Регистр состояния                 Регистр управления

                                                    (read only)                               (write only)

                                             Бит занятости                      Бит кода команды

                           Бит готовности данных             Бит режима работы

                                                  Бит ошибки                   Бит готовности команды

Опрос устройств и прерывания. 

Исключительные ситуации и системные вызовы

1.     Процессор в цикле читает информацию из порта регистра состояний и проверяет значение бита занятости

2.     Процессор записывает код команды вывода в порт регистра управления.

3.     Процессор записывает данные в порт регистра входных данных.

4.     Процессор устанавливает бит готовности команды. В следующих шагах процессор не задействован.

5.     Когда контроллер замечает, что бит готовности команды установлен, он устанавливает бит занятости.

6.     Контроллер анализирует код команды в регистре управления и обнаруживает, что это команда вывода. Он берет данные из регистра входных данных и инициирует выполнение команды.

7.     После завершения операции контроллер обнуляет бит готовности команды.

8.     При успешном завершении операции контроллер обнуляет бит ошибки в регистре состояния, при неудачном завершении команды – устанавливает его.

9.     Контроллер сбрасывает бит занятости.

В простейшем случае для реализации механизма прерываний необходимо к имеющимся у нас шинам локальной магистрали добавить еще одну линию, соединяющую процессор и устройства ввода-вывода – линию прерываний.

контроллер прерываний

Номер прерывания обычно служит индексом в специальной таблице прерываний, хранящейся по адресу, задаваемому при инициализации вычислительной системы, и содержащей адреса программ обработки прерываний –векторы прерываний

линия немаскируемых прерываний (NMI – Non-Maskable Interrupt).

 

Для внешних прерываний характерны следующие особенности.

 

         Внешнее прерывание обнаруживается процессором между выполнением команд (или между итерациями в случае выполнения цепочечных команд).

         Процессор при переходе на обработку прерывания  сохраняет часть своего состояния перед выполнением следующей команды.

         Прерывания происходят асинхронно с работой процессора и непредсказуемо, программист никоим образом не может предугадать, в каком именно месте работы программы произойдет прерывание.

Для исключительных ситуаций характерно следующее.

 

         Исключительные ситуации обнаруживаются процессором во время выполнения команд.

         Процессор при переходе на выполнение обработки исключительной ситуации сохраняет часть своего состояния перед выполнением текущей команды.

         Исключительные ситуации возникают синхронно с работой процессора, но непредсказуемо для программиста, если только тот специально не заставил процессор делить некоторое число на ноль.

Программные прерывания имеют следующие свойства.

 

         Программное прерывание происходит в результате выполнения специальной команды.

         Процессор при выполнении программного прерывания сохраняет свое состояние перед выполнением следующей команды.

         Программные прерывания,    естественно, возникают синхронно с работой процессора и абсолютно    предсказуемы программистом.

Прямой доступ к памяти 

(Direct Memory Access – DMA)

1.     Скорость обмена информацией может варьироваться в диапазоне от нескольких байтов в секунду (клавиатура) до нескольких гигабайтов в секунду (сетевые карты).

2.     Одни устройства могут использоваться несколькими процессами параллельно (являются разделяемыми), в то время как другие требуют монопольного захвата процессом.

3.     Устройства могут запоминать выведенную информацию для ее последующего ввода или не обладать этой функцией.  обеспечивать к ней последовательный доступ в жестко заданном порядке 

уметь находить и передавать только необходимую порцию данных.

4.     Часть устройств умеет передавать данные только по одному байту последовательно (символьные устройства), а часть устройств умеет передавать блок байтов как  единое целое (блочные устройства).

5.     Устройства, предназначенные только для ввода информации, устройства, предназначенные только для вывода информации, и устройства, которые могут выполнять и ввод, и вывод.

Структура системы ввода-вывода

Систематизация внешних устройств и интерфейс между базовой подсистемой ввода-вывода и драйверами

Устройства обычно принято разделять по преобладающему типу интерфейса на следующие виды:

        символьные (клавиатура, модем, терминал и т. п.);

        блочные (магнитные и оптические диски и ленты, и т. д.);

        сетевые (сетевые карты);

        все остальные (таймеры, графические дисплеи, телевизионные устройства, видеокамеры и т. п.);

символьные устройства – это устройства, которые умеют передавать данные только последовательно, байт за байтом.

 

блочные устройства – это устройства, которые могут передавать блок байтов как единое целое.

По своей природе символьные устройства обычно умеют совершать две общие операции:  ввести символ (байт) и вывести символ (байт) – get и put .

 

Для блочных устройств, таких как магнитные и оптические диски, ленты и т. п. естественными являются операции 

 

чтения и записи блока информации – read и write , 

 

а также, для устройств прямого доступа,  операция поиска требуемого блока информации – seek .

Помимо функций read , write , seek (для блочных устройств ), get, put (для символьных устройств) и ioctl  в состав интерфейса обычно включают еще следующие функции.

       Функцию инициализации или повторной инициализации работы драйвера и устройства – open .

       Функцию временного завершения работы с устройством (может, например, вызывать отключение устройства) – close .

       Функцию опроса состояния устройства (если по каким-либо причинам работа с устройством производится методом опроса его состояния, например, в операционных системах Windows NT и Windows 9x так построена работа с принтерами через параллельный порт) – poll .

       Функцию остановки драйвера, которая вызывается при остановке операционной системы или выгрузке

       драйвера из памяти, halt .

Функции базовой подсистемы ввода-вывода

Все системные вызовы, связанные с осуществлением операций ввода-вывода, можно разбить на три группы по способам реализации взаимодействия процесса и устройства ввода-вывода.

Блокирующиеся системные вызовы,  применение такого вызова приводит к блокировке инициировавшего его процесса, т. е. процесс переводится операционной системой из состояния исполнение в состояние ожидание

 

Неблокирующиеся системные вызовы простейшем случае процесс, применивший неблокирующийся вызов, не переводится в состояние ожидание вообще

 

Асинхронные системные вызовы, использовавший асинхронный системный вызов, никогда в нем не блокируется. Системный вызов инициирует выполнение необходимых операций ввода-вывода и немедленно возвращается, после чего процесс продолжает свою регулярную деятельность. 

Буферизация и кэширование

Существует три причины, приводящие к использованию буферов в базовой подсистеме ввода-вывода.

 

       Первая причина буферизации – это разные скорости приема и передачи информации, которыми обладают участники обмена. 

 

       Вторая причина буферизации – это разные объемы данных, которые могут быть приняты или получены участниками обмена единовременно

 

       Третья причина буферизации связана с необходимостью копирования информации из приложений, осуществляющих ввод-вывод, в буфер ядра операционной системы и обратно. 

Под словом кэш (cache – "тайник, запас"), этимологию которого мы не будем здесь рассматривать, обычно понимают область быстрой памяти, содержащую копию данных, расположенных где-либо в более медленной памяти, предназначенную для ускорения работы вычислительной системы.

Spooling и захват устройств

Под словом spool мы подразумеваем буфер, содержащий входные или выходные данные для устройства, на котором следует избегать чередования его использования различными процессами. Правда, в современных вычислительных системах spool для ввода данных практически не используется, а в основном предназначен для накопления выходной информации.

В некоторых операционных системах вместо использования spooling для устранения race condition применяется механизм монопольного захвата устройств процессами. Если устройство свободно, то один из процессов может получить его в монопольное распоряжение. 

Обеспечение spooling и механизма захвата устройств является прерогативой базовой подсистемы ввода-вывода.

Обработка прерываний и ошибок

1.     Выявление устройства

2.     Выявление процесса

3.     Проверка бита ошибки в регистре состояния устройства 4. Если компенсация ошибки невозможна, то операционная система впоследствии известит об этом процесс, запросивший выполнение операции.

5.               Если этот процесс был заблокирован до выполнения завершившейся операции, то операционная система переводит его в состояние готовность. 

6.               При наличии других неудовлетворенных запросов к освободившемуся устройству операционная система может инициировать выполнение следующего запроса,  одновременно известив устройство, что прерывание обработано. 

Планирование запросов

При использовании неблокирующегося системного вызова может оказаться, что нужное устройство уже занято выполнением некоторых операций.  

 

В этом случае неблокирующийся вызов может немедленно вернуться, не выполнив запрошенных команд. При  организации запроса на совершение операций ввода- вывода с помощью блокирующегося или асинхронного вызова занятость устройства приводит к необходимости постановки запроса в очередь к данному устройству. 

 

В результате с каждым устройством оказывается связан список неудовлетворенных запросов процессов, находящихся в состоянии ожидания, и запросов, выполняющихся в асинхронном режиме. Состояние ожидание расщепляется на набор очередей процессов, дожидающихся различных устройств ввода-вывода.

Алгоритмы планирования запросов к жесткому диску

Схема жесткого диска

Алгоритм First Come First Served (FCFS)

Пусть у нас на диске из 100 цилиндров (от 0 до 99) есть следующая очередь запросов: 

 

23, 67, 55, 14, 31, 7, 84, 10 

 

и головки в начальный момент находятся на 63-м цилиндре. 

 

Тогда положение головок будет меняться следующим образом:

 

63->23->67->55->14->31->7->84->10

Алгоритм Short Seek Time First (SSTF)

Алгоритм Short Seek Time First (SSTF) 

– короткое время поиска первым – как раз и исходит из этой позиции. 

 

Для очередного обслуживания будем выбирать запрос, данные для которого лежат наиболее близко к текущему положению магнитных головок. 

 

Естественно, что при наличии равноудаленных запросов решение о выборе между ними может приниматься исходя из различных соображений, например по алгоритму FCFS. 

 

Для предыдущего      примера       алгоритм      даст такую последовательность положений головок:

 

63->67->55->31->23->14->10->7->84

Алгоритмы сканирования (SCAN, C-SCAN, LOOK, C-LOOK)

В простейшем из алгоритмов сканирования – SCAN – головки постоянно перемещаются от одного края диска до другого, по ходу дела  обслуживая все встречающиеся запросы. По достижении другого края направление движения меняется, и все повторяется снова.

63->55->31->23->14->10->7->0->67->84

 

и всего головки переместятся на 147 цилиндров.

Если мы знаем, что обслужили последний попутный запрос в направлении движения головок, то мы можем не доходить до края диска, а сразу изменить направление движения на обратное:

 

63->55->31->23->14->10->7->67->84

 

и всего головки переместятся на 133 цилиндра. Полученная модификация алгоритма SCAN получила название LOOK.

Для сокращения времени ожидания запросов применяется другая модификация алгоритма SCAN – циклическое сканирование. Когда головка достигает одного из краев диска, она без чтения попутных запросов (иногда существенно быстрее, чем при выполнении обычного поиска цилиндра) перемещается на другой край, откуда вновь начинает движение в прежнем направлении. 

 

Для этого алгоритма, получившего название CSCAN, последовательность перемещений будет выглядеть так:

 

63->55->31->23->14->10->7->0->99->84->67

 

По аналогии с алгоритмом LOOK для алгоритма SCAN можно предложить и алгоритм C-LOOK для алгоритма C-SCAN:

 

63->55->31->23->14->10->7->84->67

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Презентация по дисциплине Архитектура аппаратных средств "Система управления вводом-выводом""

Методические разработки к Вашему уроку:

Получите новую специальность за 2 месяца

Логист

Получите профессию

Интернет-маркетолог

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Получите профессию

HR-менеджер

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 671 873 материала в базе

Скачать материал

Другие материалы

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 10.10.2020 393
    • RAR 530.8 кбайт
    • 11 скачиваний
    • Оцените материал:
  • Настоящий материал опубликован пользователем Русинова Елена Сергеевна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Русинова Елена Сергеевна
    Русинова Елена Сергеевна
    • На сайте: 4 года и 6 месяцев
    • Подписчики: 2
    • Всего просмотров: 71263
    • Всего материалов: 39

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Бухгалтер

Бухгалтер

500/1000 ч.

Подать заявку О курсе
  • Сейчас обучается 29 человек из 22 регионов

Курс повышения квалификации

Использование нейросетей в учебной и научной работе: ChatGPT, DALL-E 2, Midjourney

36/72 ч.

от 1700 руб. от 850 руб.
Подать заявку О курсе
  • Сейчас обучается 616 человек из 77 регионов
  • Этот курс уже прошли 985 человек

Курс профессиональной переподготовки

Педагогическая деятельность по проектированию и реализации образовательного процесса в общеобразовательных организациях (предмет "Информатика")

Учитель информатики

300 ч. — 1200 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Этот курс уже прошли 20 человек

Курс повышения квалификации

Организация преподавания информационных систем и технологий в профессиональном образовании

36 ч. — 180 ч.

от 1700 руб. от 850 руб.
Подать заявку О курсе
  • Сейчас обучается 21 человек из 14 регионов
  • Этот курс уже прошли 76 человек

Мини-курс

Маркетплейсы: организационные, правовые и экономические аспекты

4 ч.

780 руб. 390 руб.
Подать заявку О курсе

Мини-курс

Фитнес: теория и практика

5 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Этот курс уже прошли 14 человек

Мини-курс

Инвестиционная деятельность и проектный менеджмен

3 ч.

780 руб. 390 руб.
Подать заявку О курсе