Принципы компоновки компьютера - интерфейс ввода/вывода

  • Метод запроса программы

  • прервать
    • Источники прерывания: различные факторы, которые вызывают запросы прерывания к ЦП.
    • Прямой доступ к памяти (DMA): существует прямой путь данных между вводом-выводом и основной памятью.
    • Канальный режим: имеет свои собственные канальные инструкции, но управляется ЦП.

    • периферийный процессор

  • Состав интерфейса ввода/вывода и принцип работы

    • Функции интерфейса: идентификация адреса и выбор устройства, получение и сохранение команд управления вводом-выводом ЦП, отображение рабочего состояния периферийных устройств, преобразование сигналов, формат данных, преобразование системы кодов, обнаружение/исправление ошибок данных, передача данных, прерывание
    • Состав: он состоит из регистра буфера данных DBR, регистра состояния, регистра команд, декодирования адреса порта, логики управления и логики прерывания.
      • Перспективный порт пользователя: порт данных DBR, порт управления (регистр команд), порт состояния (регистр состояния)
      • Адресация:
        • Унифицированная адресация Ввод-вывод и память адресуются одинаково
        • Независимая адресация: ввод-вывод и память имеют свои собственные независимые адресные пространства.
      • Тип интерфейса:
        • Метод передачи: параллельный, последовательный
        • Гибкость выбора: программируемый, непрограммируемый
        • Универсальность: общий интерфейс, специальный интерфейс
        • Способ управления передачей данных: прерывание, DMA
    • Команда ввода-вывода: 80x86 использует независимую адресацию ввода-вывода: входная команда IN, выходная команда OUT
      • Длинный формат: IN AX/AL PORT, OUT PORT AX/AL
      • Краткая форма: IN AX/AL DX, OUT DX AX/AL
      • Инструкция длинного формата имеет короткое время интерпретации и высокую скорость ввода-вывода, а короткий формат может получить доступ к большему количеству портов.
    • Способ управления передачей данных
      • Режим ввода-вывода с программным запросом: ЦП активно опрашивает периферийные устройства и последовательно работает с вводом-выводом.
  • Прерывание: Происходит случайным образом. Перед завершением выполнения инструкции с фиксированным временем ЦП отправляет сигнал запроса прерывания на интерфейс для получения запроса на прерывание ввода-вывода. Установите INTR на 1, и ЦП выполняет программу обслуживания прерывания в конец выполнения каждой инструкции.
    • В каждый момент времени может быть обслужен только один запрос источника прерывания.
    • Система прерываний: аппаратное и программное обеспечение, реализующее прерывания.
      • ЦП: INTR, который принимает сигнал запроса прерывания, INTA, который отправляет сигнал ответа на прерывание, триггер состояния прерывания INT, флаг состояния разрешения прерывания EINT, команда открытия прерывания STI, которая устанавливает ENIT в 1, команда закрытия CLI прерывания, которая сбрасывает ENIT в 0, инструкция возврата прерывания IRET, которая возвращает точку останова программы обратно на ПК и т. д.
      • Интерфейс прерывания: триггер запроса прерывания INTR, триггер маски прерывания IM
      • Основная память: подпрограммы обслуживания прерываний, которые обрабатывают различные запросы на прерывание.
    • процесс
      • запрос на прерывание
      • прерывать арбитраж
      • Ответ на прерывание: если EINT равен 1, ЦП сканирует вывод INTR в конце выполнения каждой инструкции.Если есть запрос, ЦП устанавливает INT в 1 и входит в цикл прерывания для выполнения неявной инструкции прерывания.
        • Неявная инструкция прерывания: поместите в стек точку останова программы (текущее значение ПК) и флаговый регистр FR; отключите прерывание (сбросьте EINT в 0) и отправьте первый адрес обработчика прерывания на ПК
      • Служба прерывания: защита сцены (защита точки прерывания, защита содержимого регистра ЦП), служба прерывания, восстановление сцены
        • Адрес записи прерывания формы: метод программного запроса, метод аппаратного вектора
        • может быть отправлен для прерывания вложения

      • Возврат по прерыванию: выполните команду прерывания STI и команду возврата по прерыванию IRET.
    • Маска прерывания: слово маски прерывания записывается в регистр маски прерывания IMR, который может временно регулировать последовательность обслуживания прерывания во время работы (самый высокий приоритет - все 1)

    • Система прерываний микропроцессора 8086
      • аппаратное прерывание
        • НМИ
        • маскируемое прерывание
      • Программное прерывание (внутреннее прерывание): ошибка деления, переполнение сложения с фиксированной точкой, прерывание по точке останова, одношаговое прерывание, инструкция прерывания INTn
        • За исключением одношаговых прерываний, внутренние прерывания не могут быть отключены программно.
      • Маскирование прерываний через регистр флагов позволяет реализовать флаг IF. Процессор сканирует вывод INTR в конце выполнения каждой инструкции, обнаруживает IF проверки сигнала запроса (STI и CLI активны)
      • Цикл прерывания: посылаем сигнал ответа на прерывание INTA, помещаем в стек флаговый регистр FR, очищаем IF и TF, помещаем в стек регистр CS\IP, находим адрес входа обработчика прерывания по номеру типа прерывания, записываем в КС и ИП
      • Инструкция прерывания INTn: найти адрес входа обработчика прерывания по номеру типа n
      • Инструкция возврата прерывания IRET: 3 слова последовательно извлекаются из стека и отправляются в IP\CS\FR
      • Приоритет прерывания: программное прерывание (делитель на 0, инструкция прерывания, прерывание переполнения), немаскируемое прерывание, маскируемое прерывание, одношаговое прерывание

      • Функции прерывания: макропараллельное, микронет
  • DMA: прямой доступ к памяти. прямая реализация, косвенная реализация

    • Состав контроллера DMA DMAC: регистр адреса основной памяти, счетчик слов, регистр адреса устройства, логика прерывания, логика управления/состояния
    • Предварительная обработка -> Передача данных -> Постобработка
    • Режим передачи данных: одно слово, группа, запрос
      • Ввод/вывод отправляет сигнал запроса DMA DREQ в DMAC, DMAC отправляет запрос занятости шины в CPU, CPU решает, следует ли отказаться от управления шиной, сигнал разрешения шины, ответный сигнал DMA DACK, обмен данными с вводом/выводом, AR, увеличение WC на 1, DMAC отменяет сигнал HOLD, чтобы освободить шину
    • CPU и DMAC совместно используют основную память/системную шину
      • Остановить ЦП от использования шины: ЦП задерживается

      • Cycle Stealing: передача циклов кражи, когда ЦП не использует шину.
        • Когда ЦП не занимает шину для доступа к памяти: ЦП немедленно отказывается от шины
        • ЦП, занимающий доступ к памяти шины: отказаться от шины после окончания текущего цикла
        • Запрос ЦП на шину/неизбежный доступ к памяти: приоритет DMA выше
      • Альтернативное использование: раздельное использование в цикле
    • пример

Supongo que te gusta

Origin blog.csdn.net/qq_56061892/article/details/126139128
Recomendado
Clasificación