Подсистема ввода-вывода

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

 Чтобы внешнее устройство могло общаться с компьютером, с процессором, каждый контроллер имеет несколько управляющих регистров. Посылая информацию в эти регистры, вы можете сообщить контроллеру, например, включить внешнее устройство, выключить его, принять/послать данные от этого устройства. Также в контроллере помимо управляющих регистров обычно имеются буферные регистры. Они используются для получения или принятия информации от внешнего устройства, через них мы можем считывать или записывать информацию от данного устройства. Видеопамять например является своеобразным буфером для монитора. Управляющие регистры подключаются к компьютеру при помощи портов. Порт – это аппаратура сопряжения периферийного устройства с компьютером. Порты могут быть входными или выходными, и обеспечивающие передачу в обоих управлениях, или универсальные. Например принцип работы порта выходного очень прост: на прошлой лекции мы изучали триггеры, выходной порт содержит столько триггеров, сколько разрядов он имеет, то есть каждый разряд реализован на таком триггере. Задача порта – зафиксировать те данные, которые ему передает шина данных. На шине данных эта информация очень быстро исчезнет, она там держится ограниченное время, а порт эту информацию фиксирует на длительное время, на то время, которое нужно устройству, чтобы эту информацию получить или принять. Мы уже рисовали схему компьютера, теперь мы нарисуем ее с другой точки зрения, как систему с шиной, к которой подключены другие устройства, в том числе и процессор. Здесь буквой А обозначена шина адреса, буквой Dшина данных, и M/IO обозначает выбор между памятью и УВВ. За каждым устройством закреплены адреса, и некоторые адреса оперативной памяти пересекаются с адресами УВВ, то есть дублируют их. Например за клавиатурой закреплены адреса 60-61, и естественно в оперативной памяти есть ячейки с такими адресами.

Существует несколько способов адресации периферийных устройств:

  1. Отдельное адресное пространство ввода-вывода. На рисунке изображена общая схема. У компьютера существует два разных адресных пространства – память и порты ввода-вывода. Пространство ввода-вывода, например у процессоров pentium состоит из  портов ввода-вывода, 8 битных ячеек, и также как для памяти, можно два соседних порта рассматривать как один 16-битный порт, или 4 порта как 32-битный порт. У каждого такого порта есть свой адрес от 0 до .
  2. Общее пространство памяти и ввода-вывода. На рисунке изображено одно адресное пространство, поделенное на две части. Впервые такая схема памяти реализована на мини ЭВМ pdp 11, при этом все управляющие регистры УВВ отображаются на адресное пространство, обычно на вершину адресного пространства, то есть адреса управляющих регистров начинаются с нулевого адреса оперативной памяти.
Ссылка на основную публикацию
Adblock detector