Читайте также:
|
|
Физические принципы ввода-вывода:
Локальная магистраль компьютера формируется шинами.
Шина – это набор линий одинакового назначения.
Линия – это электрическое соединение.
Количество линий в шине определяет её разрядность.
Все устройства системы подключены к локальной магистрали, включающей:
1) Шину данных – предназначена для передачи данных.
2) Шину адреса – предназначена для установки адреса ячейки или порта ввода-вывода.
3) Шину управления – предназначена для установки команды.
Запись процессору в ячейку памяти происходит следующим образом:
1) Процессор устанавливает на шине данных записываемое значение
2) Процессор устанавливает на шине адреса адрес ячейки, в которую надо писать.
3) Процессор устанавливает на шине управления команду «запись в память».
4) Увидев эту команду на шине управления, микросхема памяти помещает значение из шины данных в ячейку по адресу по шине адреса.
Ввод-вывод в память производится процессором почти мгновенно.
Порт ввода-вывода – это точка сопряжения устройства ввода-вывода с вычислительной системой. Набор номеров портов ввода-вывода формирует адресное пространство ввода-вывода системы. Т.к. все устройства различаются, то для унификации физического взаимодействия с системой, устройства взаимодействуют с системой не напрямую, а через контроллеры – промежуточные устройства. Контроллеры имеют стандартизированные интерфейсы подключения к системе и адресуются несколькими портами ввода-вывода.
Вывод значения на устройство ввода-вывода:
1) Процессор в цикле опрашивает порт состояния контроллера, ожидая сброшенного бита занятости устройства.
Для этого на шине адреса устанавливается номер порта состояния контроллера устройства ввода-вывода. На шине управления устанавливается команда чтения из порта ввода-вывода. Увидев данную команду и свой номер, контроллер записывает в шину данных байт состояния.
2) Если бит занятости сброшен, то процессор устанавливает на шине адреса номер порта вывода контроллера устройства, на шине данных – выводимое значение, на шине управления – команду «вывод устройства ввода-вывода». Контроллер устройства, увидев команду и свой номер, считывает значение с шины данных и инициирует начало процесса вывода данного значения устройством. При этом устанавливает бит занятости устройства. Если процессор хочет проконтролировать результат вывода, то ему придется в цикле опрашивать бит занятости до его сброса, после чего проверить бит ошибки.
Главное отличие ввода-вывода устройства от ввода-вывода в память – длительность процесса.
Прямой доступ к памяти (DMA) – это механизм в памяти позволяющий перемещать большие объемы данных между устройствами ввода-вывода и памятью без использования процессора. Для этого контроллер прямого доступа к памяти берет управление локальными магистралями на себя, договариваясь с устройством и памятью об адресах и объемах ввода-вывода и начинает процесс. Процессор в
это время может производить вычисления не связанные с памятью.
Структура системы ввода-вывода (см. рисунок у Миши):
Система ввода-вывода включает уровни:
На аппаратном уровне – устройства и их контроллеры, которые обеспечивают унификацию физического интерфейса. С контроллерами взаимодействуют драйверы – программы управления устройствами, которые обеспечивают унификацию логического интерфейса. С драйверами единообразно взаимодействует базовая подсистема ввода-вывода, к задачам которой относятся:
- обработка ошибок.
- спулинг (организация очереди)
- буферизация и кэширование
- т.д.
Все запросы на ввод-вывод от процессов направляются ОС к базовой подсистеме ввода-вывода.
Классификация устройств ввода-вывода:
I:
1) Устройства ввода
2) Устройства вывода
3) Устройства ввода-вывода
II:
1) Разделяемые устройства
2) Устройства монопольного доступа
III:
1) Символьные (передают по 1 байту)
2) Блочные устройства (блоками байт)
IV:
1) Локальные
2) Сетевые
Дата добавления: 2014-12-19; просмотров: 115 | Поможем написать вашу работу | Нарушение авторских прав |