Linux Kernel (Ядро линукса) (часть 2)


Заказные интерфейсы ввода/вывода

Чтобы читатель получил представление о том, насколько разнообразны специализированные интерфейсы ввода/вывода (а следовательно, и устройства, установленные в компьютерах), мы перечислим самые распространенные:
- Интерфейс клавиатуры — соединен с контроллером клавиатуры, который содержит специализированный микропроцессор. Этот микропроцессор декодирует комбинацию нажатых клавиш, генерирует прерывание и заносит соответствующий скан-код во входной регистр.
- Графический интерфейс— установлен вместе с соответствующим контроллером на графической карте, имеющей собственный фрейм-буфер, а также специализированный процессор и некоторый программный код, записанный на чип постоянного запоминающего устройства. Фрейм- буфер — это память карты, хранящая описание текущего содержимого экрана.
- Дисковый интерфейс — соединен кабелем с контроллером диска, который обычно интегрирован с самим диском. Например, интерфейс IDE соединен при помощи 40-жильного плоского кабеля с интеллектуальным контроллером, встроенным в накопитель.
- Шинный интерфейс мыши — соединен кабелем с соответствующим контроллером, встроенным в мышь.
- Сетевой интерфейс — установлен вместе с соответствующим контроллером на сетевой карте, которая служит для приема или передачи сетевых пакетов. Хотя существует несколько признанных сетевых стандартов, Ethemer (IEEE 802.3) является самым распространенным.

Интерфейсы ввода/вывода общего назначения

В современных компьютерах имеется несколько интерфейсов общего назначения, которые соединяются с широким кругом внешних устройств. Приведем самые распространенные интерфейсы:
- Параллельный порт — традиционно служит для соединения с принтерами, но может быть использован и для подключения съемных дисководов, сканеров, устройств резервного копирования и других компьютеров. Данные пересылаются порциями в 1 байт (8 битов).
- Последовательный порт — аналогичен параллельному, но данные пересылаются по одному биту. Включает в себя чип UART (Universal Asynchronous Receiver and Transmitter, Универсальное асинхронное приемопередающее устройство) для разбиения передаваемых байтов на биты и сборки принятых битов в байты. Будучи по природе своей медленнее параллельного порта, этот интерфейс используется, главным образом, для
соединения с внешними устройствами, не работающими на больших скоростях, такими как модемы, мыши и принтеры.
- Интерфейс PCMCIA — применяется, в основном, в портативных компьютерах. Внешнее устройство, по виду напоминающее кредитную карточку, может быть вставлено в слот и вынуто без перезагрузки системы. Самыми распространенными устройствами PCMCIA являются дисководы, модемы, сетевые карты и расширения памяти.
- Интерфейс SCSI (Small Computer System Interface, Интерфейс малых компьютерных систем)— это электронное устройство, которое соединяет главную шину компьютера со вспомогательной, называемой SCSI-шиной. Шина SCSI-2 позволяет объединить до восьми компьютеров и внешних устройств, таких как жесткие диски, сканеры, пишущие приводы и т. д. Широкие интерфейсы SCSI-2 и SCSI-3 позволяют подсоединить 16 и более устройств, если имеются дополнительные интерфейсы. Стандарт SCSI— это коммуникационный протокол, применяемый для соединения устройств с помощью SCSI-шины.
- USB (Universal Serial Bus, Универсальная последовательная шина)— это высокоскоростной интерфейс ввода/вывода общего назначения, который может служить для соединения с устройствами, традиционно подключаемыми к параллельному порту, последовательному порту и интерфейсу SCSI.
Контроллеры устройств
Для управления сложным устройством может потребоваться контроллер устройства. По сути, контроллер используется в двух целях:
- он интерпретирует команды высокого уровня, принятые от интерфейса ввода/вывода, и заставляет устройство выполнять специфические действия, посылая ему последовательности электрических сигналов;
□ он преобразует и соответствующим образом интерпретирует электрические сигналы, принятые от устройства, и изменяет (посредством интерфейса ввода/вывода) значение регистра состояния.

Типичным контроллером устройства является контроллер диска, который принимает команды высокого уровня (например, "записать этот блок данных”) от микропроцессора при посредстве интерфейса ввода/вывода и преобразует их в дисковые операции низкого уровня (например, расположить магнитную головку над соответствующей дорожкой” и записать данные на эту дорожку”). Современные контроллеры дисков очень сложны, поскольку они умеют хранить данные диска во встроенных дисковых кэшах и переупорядочивать высокоуровневые запросы от ЦП, чтобы оптимизировать их под геометрию конкретного диска.

У простых устройств нет контроллеров. Примерами являются программируемый контроллер прерываний и программируемый таймер интервалов
Некоторые аппаратные устройства имеют собственную память, которая часто называется совместно используемой памятью ввода/вывода. Например, во всех современных графических картах есть фрейм-буфер с памятью объемом в десятки мегабайт, в котором хранятся экранные изображения, подлежащие выводу на монитор. Мы обсудим совместно используемую память ввода/вывода далее в этой главе.

Предыдущая страница | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | Следующая страница




Возможно, Вас также заинтересует:

ОС Knoppix - это Linux без про...

ВведениеЕсли вы цените свое время, умеете считать деньги и знаете стоимость информации, то эта книга...

Linux Kernel (Ядро линукса) (ч...

Спин-блокировкаСпин-блокировка необходима в многопроцессорной системе, потому что могут возникнуть...

Linux Kernel (Ядро линукса) (ч...

Копирование при записи В системах Unix первых поколений создание процесса было реализовано довольно...

Linux Kernel (Ядро линукса) (ч...

Буферы блоков и головы буферовУ каждого буфера есть дескриптор голова буфера, имеющий тип buffer...