Добавил:
ИВТ Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
экз ответы.docx
Скачиваний:
17
Добавлен:
15.01.2024
Размер:
15.08 Mб
Скачать

Отдельная шина системы ввода-вывода

Система ввода-вывода имеет отдельную от памяти шину управления, но совместную шину адреса и данных

Система ввода-вывода с отдельной шиной

управления.

  • Плюсы: специализация под систему ввода-вывода (т.к. управление осуществляется по другой линии), используются отдельные инструкции для работы с вводом-выводом.

Архитектура x86 использует данный тип подсистемы ввода-вывода.

Система ввода-вывода имеет единую шину с основной памятью.

  • Плюсы: в случае совместного адресного пространства мы имеем гибкий размер системы ввода-вывода (то есть мы можем уменьшить количество памяти и увеличить количество систем ввода-вывода или наоборот).

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

Архитектуры RISC-V и MIPS используют данный тип подсистемы ввода-вывода.

Единая шина для системы ввода-вывода и памяти.

Совмещенное и выделенное адресное пространство.

Адресное пространство — совокупность всех допустимых адресов каких-либо объектов вычислительной системы.

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

В выделенном адресном пространстве ячейки памяти отделены от модулей ввода-вывода. То есть процессор имеет 2 шины. Одна направлена для памяти, другая для ввода-вывода.

Системы с совмещенным (совместным) адресным пространством

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

При выделенном адресном пространстве можно разрабатывать систему ввода-вывода отдельно от памяти. В случае совместного этого не получится потому, что система ввода-вывода и память должны удовлетворять одним и тем же требованиям по связи (т.е. передачи информации).

Способы подключений периферийных устройств.

Все периферийные устройства можно свести к трём категориям:

  • Для общения с пользователем (принтеры, мониторы и др.)

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

  • Для связи с удаленными устройствами (передача информации на большие расстояния)

  • Обобщенно любое периферийное устройство можно представить в виде:

Буферная память и логика управления связана с модулями ввода-вывода условными сигналами (условные так как для связи с модулями ввода-вывода используется 'малый' интерфейс).

Модули ввода-вывода

Основные функции модулей ввода-вывода:

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

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

  • Обмен информацией

○ Распознавание команд

○ Пересылка данных (от периферии в процессор либо в память и обратно)

○ Извещение о состоянии (извещение процессора о состоянии периферийных устройств)

○ Буферизация данных

  • Обнаружение ошибок (и извещение об этом процессора)

Ввод-вывод с опросом

  • Плюсы: простота.

  • Минусы: процессор постоянно занимает шину; процессор не делает ничего полезного, он занят ожиданием устройства ввода, которое может генерировать информацию миллионы тактов процессора.

Ввод-вывод с прерываниями

  • Плюсы: процессор не ждет периферия сгенерирует новую информации.

  • Минусы: процессору приходится перекидывать информацию в основную память через себя.

Метод состоит из двух частей:

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

  • Обработка прерывания (процесс просыпается и начинает читать из регистра состояний модули ввода-вывода).

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

(ПДП или Direct Memory Access — DMA)

  • Плюсы: процессор не занимается пересылкой данных.

  • Минусы: сложность реализации в высокопроизводительных системах с виртуальной и кэш памятью

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

Получение доступа к шине КПДП:

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

  2. КПДП формирует сигнал Запрос ПДП, который отправляется в центральный процессор.

  3. ЦП видит запрос прямого доступа к памяти, отключается от системной шины и формирует сигнал Подтверждения ПДП

  4. КПДП выполняет пересылку данных.

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

Передача данных из периферийного устройства в основную память:

  1. КПДП запрашивает данные у периферийного устройства;

  2. Периферийное устройство передает информацию в регистр данных;

  3. КПДП выставляет адрес основной памяти;

  4. КПДП передает информацию из регистра данных в основную память;

  5. Уменьшается значение счетчика данных;

  6. Увеличивается адрес;

  7. Пока не закончился счетчик к пункту 1.

В одном устройстве может быть несколько DMA, если есть несколько шин.

DMA могут работать в разных режимах (режимы отличаются тем, насколько долго захватывают шину, то есть останавливают передачу информации между другими блоками системы):

  • Взрывной режим (Burst mod) — контроллер захватывает шину пока не закончит свои дела;

  • Прозрачный режим — контроллер осуществляет пересылку информации только тогда, когда никто другой не занимает шину; ● Делать по одно посылке за раз и отпускать шину на арбитраж.