Галерея диаграмм связей Глава 7 Система ввода и вывода
Это интеллектуальная карта главы 7. Система ввода-вывода. Основная задача системы ввода-вывода — получение внешней входной информации и преобразование этой информации в форму, которая может быть обработана внутри компьютера.
Отредактировано в 2024-01-16 15:51:57Глава 7 Система ввода/вывода
система ввода/вывода
Основные понятия системы ввода-вывода
Режим управления вводом/выводом
В основном используется для внешних устройств с низкой скоростью передачи данных.
Метод запроса программы
Режим прерывания программы
В основном используется для устройств с высокой скоростью передачи данных.
режим DMA
режим канала
внешнее устройство
Устройство ввода
устройство вывода
Внешняя память (дополнительная память)
Интерфейс ввода-вывода
Функции интерфейса ввода/вывода
Выполнить декодирование адреса и выбор устройства
Реализуйте контроль связи между хостом и периферийными устройствами.
Реализуйте буферизацию данных (интерфейс должен настроить регистр буфера данных для временного хранения данных, чтобы избежать потери данных из-за несогласованной скорости).
Преобразование формата сигнала
Передача команд управления и информации о состоянии
Базовая структура интерфейса ввода/вывода
Регистр буфера данных (DBR): используется для буферизации данных в соответствии с разницей в скорости между процессором и внешними устройствами.
Регистр состояния устройства (DSR): используется для обратной связи о состоянии устройства, общей информации о состоянии, такой как устройство занято, устройство готово, ошибка устройства и т. д. В режиме программного запроса ЦП определяет состояние устройства путем чтения регистра состояния.
Регистр команд устройства (DCR): используется для получения команд управления устройством, отправленных ЦП, таких как сброс устройства, идентификация устройства, управление чтением и записью и т. д. Различные устройства могут поддерживать разные команды. Простые устройства даже не имеют регистров команд, такие как устройства простого ввода с клавиатуры и вывода символов. Иногда регистры состояния и команд объединяются в один.
Регистр состояния и регистр управления (команды) расположены противоположно в направлении передачи.
По шине данных данные передаются между регистром буфера данных и регистром памяти или ЦП. В то же время информация о состоянии интерфейса и устройства записывается в регистр состояния, и информация о состоянии отправляется в ЦП через линию данных. Команды управления ЦП для периферийных устройств также передаются по линии данных, обычно в регистр управления интерфейса ввода-вывода.
Адресная строка в интерфейсе используется для указания адреса регистра в интерфейсе ввода-вывода, к которому осуществляется доступ. Он отправляется в компонент логики управления интерфейса ввода-вывода вместе с сигналами управления чтением и записью.
Сигналы чтения и записи, передаваемые через линию управления, подтверждают, следует ли читать регистр или записывать его. Кроме того, линия управления также передает некоторые сигналы арбитража и сигналы установления связи.
Операции доступа к регистру буфера данных и регистру контроля состояния выполняются с помощью соответствующих инструкций, которые обычно называются инструкциями ввода-вывода.
Тип интерфейса ввода/вывода
Метод управления доступом к устройствам ввода-вывода со стороны хоста
Интерфейс запроса программы
Интерфейс прерываний
DMA-интерфейс
Порты ввода/вывода и их адресация
Порты ввода-вывода относятся к регистрам в схеме интерфейса, к которым может напрямую обращаться ЦП.
порт данных
статус порта
порт управления
Адресация
Единая адресация
Нет необходимости настраивать специальные инструкции ввода-вывода. Доступ к внешним устройствам можно получить с помощью инструкций загрузки/сохранения. Конкретное устройство, к которому осуществляется доступ, зависит от адреса.
Независимая адресация
Для доступа к внешним устройствам необходимо использовать специальные инструкции ввода-вывода.
Различные инструкции генерируют разные сигналы управления шиной, чтобы определить, является ли адрес на адресной шине адресом основной памяти или адресом ввода-вывода.
Компьютерная система включает в себя несколько устройств ввода-вывода, все из которых подключены к шине через «интерфейс ввода-вывода (интерфейс шины)». ЦП использует адрес устройства для связи с интерфейсом ввода-вывода через шину для доступа. устройства ввода-вывода. Интерфейс ввода-вывода — это физический и логический интерфейс, который соединяет шину и устройства ввода-вывода, включая как физические схемы подключения, так и логические интерфейсы для взаимодействия программного обеспечения.
Режим ввода-вывода
Метод запроса программы
Управление обменом информацией полностью осуществляется исполнительной программой ЦП.
Существует две основные стратегии голосования.
занят ожиданием
ЦП не может выполнять другие задачи, и это называется состоянием ожидания занятости.
Как только устройство будет готово, ЦП может запросить смысл.
Регулярное голосование
Запустите запланированное прерывание.
Режим прерывания программы
ЦП организует в программе запуск определенного периферийного устройства в определенное время, а затем ЦП продолжает выполнять текущую программу, не дожидаясь готовности периферийного устройства, как в методе запроса.
Сохраняйте точки останова. Чтобы гарантировать, что исходная программа может быть корректно возвращена после выполнения процедуры обработки прерывания, точка останова исходной программы (содержимое PC и PSW, которое не может быть непосредственно прочитано командой) должна быть сохранена в стеке или определенный регистр.
Выйдите из процедуры обслуживания прерываний. Определите источник прерывания и отправьте соответствующий адрес записи сервисной программы на ПК счетчика программ.
Сохраняйте сцены и маски и устанавливайте новые маски. После входа в процедуру обслуживания прерывания необходимо сначала сохранить сцену и слово маски прерывания. Информация о сцене относится к содержимому видимого пользователю рабочего регистра, в котором сохраняется текущее значение выполнения программы до точки останова.
Прерывание происходит каждый раз при передаче данных.
Типичная структура процедуры обслуживания прерываний
Различие между реакцией на прерывание и процедурой обслуживания прерывания.
Поток управления вводом/выводом в режиме программного прерывания
Процедура обработки прерывания
режим DMA
Простой контроллер DMA
счетчик адресов основной памяти
Счетчик длины передачи
регистр буфера данных
Когда DMAC является подчиненным устройством, его можно использовать для приема данных, передаваемых ЦП. Когда DMAC является ведущим устройством, его можно использовать для временного хранения переданных данных. Конечно, если обмен данными между устройством и памятью будет реализован напрямую через шину данных, минуя этот регистр, производительность будет лучше.
Триггер запроса DMA
Логика «Управление/Состояние»
Механизм прерывания
Во время процесса передачи DMA контроллер DMA возьмет на себя адресную шину, шину данных и шину управления ЦП, а использование сигнала управления основной памятью ЦП запрещено.
Данные не должны передаваться через регистры ЦП.
Процесс передачи DMA
Проблема конкуренции за память (метод передачи DMA)
Запретить процессору доступ к памяти
Непрерывно занимают несколько циклов шины для передачи данных.
В этом методе передачи, когда необходимо передать пакет данных, интерфейс DMA выдает запрос на использование шины (HRQ) ЦП. После того как ЦП отказывается от прав управления шиной (представленных HLDA), интерфейс DMA управляет. шина для передачи данных до тех пор, пока все передачи данных не будут завершены. Когда управление шиной будет отключено.
DMAC и CPU поочередно обращаются к памяти
Этот метод делит цикл доступа к памяти (машинный цикл) на два сегмента: один сегмент посвящен доступу DMAC к памяти, а другой сегмент посвящен доступу ЦП к памяти.
Разделите цикл ЦП на два цикла, C1 и C2, где C1 предназначен исключительно для доступа к памяти DMA, а C2 предназначен исключительно для доступа к памяти ЦП.
Интерфейсу DMA не нужно подавать заявку на получение и освобождать права на использование шины, а эффективность передачи высока. ЦП не нужно приостанавливать выполнение программы, а эффективность работы очень высока.
циклическое ассигнование
Только когда DMAC требуется доступ к памяти, ЦП приостанавливает цикл хранения, чтобы DMAC мог получить доступ к основной памяти. После завершения передачи данных (слова или машинного слова) управление шиной возвращается в ЦП.
Когда периферийное устройство готово, интерфейс DMA отправляет запрос на использование шины ЦП. После того, как ЦП отказывается от управления шиной, интерфейс DMA управляет шиной для передачи данных и освобождает управление шиной после каждой передачи данных.
Ответ на запрос DMA может произойти в конце любого машинного цикла (после выборки инструкции, косвенного адреса или цикла выполнения).