Э. Таненбаум - Архитектура компьютера (1127755), страница 63
Текст из файла (страница 63)
Следующие пакеты кадра могут передаваться в том же направлении, а могут и в противоположном (от устройства к хабу). На рис. 3.55 показаны четыре последовательных кадра. Время,мс — — ~ Ожидание Кадр О кадр т Кадр 2 Кадр 3 Пакеты от корневого хаба Пакеты от корневою хаба ЗОР СОТ ВАТА АСК т От устройства Пакетданных от устройства Рис. 3 бб. Корневой хаб шины ОЗВ передает кадры каждую миллисекунду В кадрах 0 и 2 не происходит никаких действий, поэтому в них содержится только пакет БОР (Ягагг о( Ргаше — начало кадра). Этот пакет всегда посылается всем устройствам.
Кадр 1 — упорядоченный запрос (например, сканеру посылается запрос на передачу битов сканированного им изображения). Кадр 3 состоит из данных, передаваемых какому-нибудь устройству (например, принтеру). Шина (ЛВ поддерживает 4 типа кадров; кадры управления, изохронные кадры, кадры передачи больших массивов данных и кадры прерывания. Кадры управления используются для конфигурирования устройств, передачи устройствам команд и запросов об их состоянии. Изохронные кадры предназначены для устройств реального времени (микрофонов, акустических систем и телефонов), которые должны принимать и посылать данные через равные временные интервалы. Задержки хорошо прогнозируются, но в случае ошибки такие устройства не производят повторной передачи.
Кадры следующего типа используются для передач большого объема от устройств и к устройствам (например, принтерам) Примеры шин 251 без требований, характерных для устройств реального времени. Наконец, кадры последнего типа нужны потому, что шина ВВВ не поддерживает прерываний.
Например, чтобы не вызывать прерывание всякий раз, когда нажимается клавиша, операционная система может вызывать прерывания каждые 50 мс и «собирать» все задержанные данные о нажатии клавиш. Кадр состоит из одного или нескольких пакетов. Пакеты могут посылаться в обоих направлениях. Существугт четыре типа пакетов: маркеры, пакеты данных, пакеты квитирования и специальные пакеты. Маркеры передаются от концентратора к устройству и предназначены для управления системой. Пакеты БОГ, 1М и ОПТ на рис. 3.55 — маркеры. Пакет 5ОР (8гагг о1 Егаще — начало кадра) является первым в любом кадре, он идентифицирует начало кадра.
Если никаких действий выполнять не нужно, пакет 8Оà — единственный в кадре. Пакет 1Н вЂ” это запрос. Этот пакет требует, чтобы устройство выдало определенные данные. Поля в пакете 1Х содержат информацию о том, какой именно канал запрашивается, и по этой информации устройство определяет, какие именно данные выдавать (если оно манипулирует несколькими потоками данных).
Пакет О11Т объявляет, что далее последует передача данных для устройства. Последний тип маркера, 5ЕТ(1Р (он не показан на рисунке), используется при конфигурировании. Помимо маркеров существугт еще три типа пакетов. Это пакеты данных (используются для передачи 64 байт информации в обоих направлениях), пакеты квитирования и специальнгяе пакеты. Формат пакета данных (ВАТА) показан на рис.
3.55. Он состоит из 8-разрядного поля синхронизации, 8-разрядного идентификатора типа пакета (Р1В), полезной нагрузки и 16-разрядного СКС-кода для обнаружения ошибок. Есть три типа пакетов квитирования: АСК (предыдущий пакет данных принят правильно), НАС (найдена ошибка СКС-кода) и ЯТА1Л. (устройство занято, ждите,). А теперь давайте снова посмотрим на рис. 3.55. Корневой хаб должен отсылать по кадру каждую миллисекунду, даже если не происходит никаких действий.
Кадры 0 и 2 содержат только один пакет БОР, который говорит о том, что ничего не происходит. Кадр 1 реализует опрос, поэтому начинается с пакетов КОЕ и 1Х, которые передаются от компьютера к устройству ввода-вывода, затем следует пакет ВАТА от устройства к компьютеру. Пакет АСК сообщает устройству, что данные были получены без ошибок. В случае ошибки устройство получает пакет ЫАСК, после чего данные передаются заново (отметим, что изохронные данные повторно не передаются). Кадр 3 похож по структуре на кадр 1, но в нем поток данных направлен от компьютера к устройству.
После того как в 1998 году стандарт ВВВ был окончательно утвержден, разработчики приступили к созданию следующей, высокоскоростной версии ВВВ, названной 1)ЯВ 2.0. Этот стандарт во многом аналогичен ВВВ 1.1 и совместим с ним, однако к двум прежним скоростям в нем добавляется новая — 480 Мбайт/с. Все прочие изменения, включая реализацию нового интерфейса между корневым хабом и контроллером, не так существенны. В стандарте ВВВ Е1 было предусмотрено два интерфейса 11НС1 и ОНС1. Интерфейс 1)НС1 (()п1чегза1 Нозт Сопгго11ег 1пгег1асе — универсальный интерфейс хост-контроллера) разработала компания 1пге1, переложив большую часть забот на программистов (читай— 252 Глава 3.
Цифровой логический уровень на М1сгозо(г). Программисты вернули должок и выпустили интерфейс ОНС1 (Орел Нозг Сопггойег 1пгег1асе — открытый интерфейс хост-контроллера), взвалив основную работу на разработчиков аппаратуры (читай — 1пге1). В процессе разработки стандарта ПВВ 2.0 стороны пришли к взаимоприемлемому решению, выпустив новый интерфейс под названием ЕНС1 (ЕпЬапсед Нозг Сопгго!!ег 1пгег(асе — усовершенствованный интерфейс хост-контроллера).
Поскольку шина ПВВ теперь передает данные со скоростью 480 Мбайт/с, она становится серьезным конкурентом последовательной шины 1ЕЕЕ 1394 (Р1геЪУ1ге), работающей на скорости 400 Мбайт/с. Хотя почти все современные системы на базе Репйцщ оснащены шиной ПВВ 2.0, стандарту 1394, который пользуется поддержкой производителей бытовой электроники, ничто не угрожает. Видеокамеры, гзЪ'гз-проигрыватели и прочие электронные устройства, судя по всему, еще долго будут поддерживать интерфейс 1394. Связано это с тем, что их производители не желают тратить значительные средства лишь для того, чтобы перейти стандарт, преимущества которого по сравнению с прежним стандартом весьма сомнительны.
С ними солидарны конечные потребители, которые тоже не любят менять стандарты. Интерфейсы Обычная компьютерная система малого или среднего размера состоит из микросхемы процессора, микросхем памяти и нескольких контроллеров ввода-вывода. Все зги микросхемы соединены шиной. Мы уже рассмотрели память, центральные процессоры и шины. Теперь настало время изучить микросхемы ввода-вывода.
Именно через эти микросхемы компьютер обменивается информацией с внешними устройствами. Микросхемы ввода-вывода В настоягцее время существует множество различных микросхем ввода-вывода. Новые микросхемы появляются постоянно. Из наиболее распространенных можно назвать ()АКТ, ПВАКТ, контроллеры СКТ, дисковые контроллеры и Р10.
1)АКТ (Упгкегза1 АзупсЬгопопз Кесептег Тгапяпйгег — универсальный асинхронный приемопередатчик) — это микросхема, которая может считать байт из шины данных н побитно передать этот байт в линию последовательной передачи к терминалу или от терминала. Скорость работы микросхем 1)АКТ различна: от 50 до 19 200 бит/с; ширина символа от 5 до 8 бит; 1, 1,5 или 2 стоповых бита. Микросхема может обеспечивать проверку на четность или на нечетность, проверка может также отсутствовать, все управляется программно. Микросхема 1)ЯАКТ (Пшуегза1 БупсЬгопоцз АзупсЬгопооз Кесе(уег Тгапзш1ггег — универсальный синхронно-асиихронньп1 приемопередатчик) может осуществлять синхронную передачу, используя ряд протоколов. Она также поддерживает все функции микросхемы ПАКТ.
Теперь в качестве примера микросхемы ввода-вывода рассмотрим параллельный интерфейс Р10. Интерфейсы 253 Микросхемы Р!О Типичным примером микросхемы интерфейса Р1О (Рага!!е! 1прцг/Оцгрцг — параллельный ввод-вывод) является микросхема 1псе! 8255А (рис. 3.56). Она содержит 24 линии ввода-вывода и может сопрягаться с любыми устройствами, совместимыми с ТТ1.-схемами (например, клавиатурами, переключателями, индикаторами, принтерами). Программа центрального процессора может записать 0 или ! на любую линию или считать входное состояние любой линии, обеспечивая высокую гибкость. Микросхема Р10 часто заменяет целую плату с микросхемами МИС и СИС (особенно во встроенных системах).
Порт А Ао-Ат уун Порт В Переустановка Порт С по-пт Рис. 3.66. Микросхема 8255А Центральный процессор может конфигурировать микросхему 8255А различными способами, загружая регистры состояния микросхемы; мы остановимся на некоторых наиболее простых режимах работы. Можно представить данную микросхему в виде трех 8-разрядных портов: А, В и С. С каждым портом связан 8-разрядный регистр.
Чтобы настроить линии на порт, центральный процессор записывает 8-разрядное число в соответствующий регистр, и зто 8-разрядное число появляется на выходных линиях и остается там до тех пор, пока регистр не будет перезаписан. Чтобы использовать порт для ввода, центральный процессор просто считывает соответствующий регистр. Другие режимы работы предусматривают квитирование связи с внешними устройствами. Например, чтобы передать данные устройству, микросхема 8255А может передать данные в порт вывода и подождать, пока устройство не выдаст сигнал о том, что данные получены и можно посылать еще.
В микросхему включены необходимые логические схемы для фиксации таких сигналов и передачи их центральному процессору. Мы видим на рис. 3.56, что помимо 24 выводов для трех портов микросхема 8255А содержит восемь линий, непосредственно связанных с шиной данных, линию выбора злемента памяти, линии чтения и записи, две адресные линии и линию для переустановки микросхемы. Две адресные линии позволяют выбрать один из четырех внутренних регистров, три из которых соответствуют портам А, В и С. Четвертый регистр — регистр состояния.
Он определяет, какие порты используются для ввода, а какие — для вывода, а также выполняет некоторые другие функции. Обычно две адресные линии соединяются с двумя младшими битами адресной шины. 254 Глава 3. Цифровой логический уровень Декодирование адреса До настоящего момента мы не останавливались подробно на том, как происходит выбор микросхемы памяти или устройства ввода-вывода. Рассмотрим простой 16-разрядный встроенный компьютер, состоящий из центрального процессора, памяти ЕРШОМ объемом 2 К х 8 байт для хранения программы, ОЗУ объемом 2 К х 8 байт для хранения данных и микросхемы Р10.
Такая небольшая система может встраиваться в дешевую игрушку или простой прибор. Вместо ЕРВОМ может использоваться обычное ПЗУ. К микросхеме Р10 можно обратиться одним из двух способов: как к устройству ввода-вывода или как к части памяти. Если микросхема нам нужна в качестве устройства ввода-вывода, мы должны обратиться к ней, использовав внешнюю линию шины. Другой подход называется вводом-выводом с отображением на память (тешогу-шаррег1 1/0). В этом случае микросхеме требуется назначить 4 байта памяти для трех портов и регистра управления. Наш выбор в какой-то степени произволен.