К. Хамахер, З. Вранешич, С. Заки - Организация ЭВМ - 5-е издание (2003) (1114649), страница 66
Текст из файла (страница 66)
282 Глава 4. Ввод-вывод Процессор может записать в регистр 00К 8-разрядную маску. Если некоторый разряд этого регистра содержит значение 1, линия данных функционирует как выходная; в противном случае — как входная. ПАТАОПТ Р7 ПО 1т!! е Ъ'а!!г! 5!ауегеаггу КггФ Мавгеггеат!у АЗ1 А1 АО Рис. 4.32. Схема интерфейса выходного устройства 4.6. Интерфейсные схемы 283 Шина 177 РА7 17АТА1Х П1 170 РАО Состояние ввода РВ7 ЭАТАО17Т РВО БО1ЛТ Управление СВ1 квитированием СВ2 51ауегеаг1у Маатеггеаоу к,% Му-аг1 г1геаа Декодер адреса КЯ1 А1 АО Рнс.
4.ЗЗ. Обобщенная схема интерфейса устройства ввода-вывода 284 Глава 4. Ввод-вывод Две линии, С1 и С2, управляют взаимодействием интерфейсной схемы и подключенного к ней устройства ввода-вывода. Эти линии также являются программируемыми. Двунаправленная линия С2 поддерживает несколько сигнальных режимов, включая и режим квитирования. Представленная на рис. 4.34 схема недостаточно подробна, тем не менее ее нетрудно сопоставить со схемой, которую вы видите на рис. 4.33. Р7 07 РО РО Му-аоотезз КБ2 й31 ЮО К/Ж Кеат1у Ассерт С2 Рис. 4.34. Универсальный 8-разрядный лараллельный интерфейс 4.6.
Интерфейсные схемы 286 Линии Ксану и Ассерг используются для квитирования со стороны процессора, и их можно соединить с линиями Мазгег-геайу и 51аче-геену. Входной сигнал Му-аоогезз должен быть соединен с выходом декодера, который распознает адрес, назначенный данному интерфейсу. Существует три линии выбора регистра, позволяющие адресовать до восьми регистров интерфейса: регистры входных и выходных данных, регистр направления данных, управляющий регистр и регистр состояния для различных режимов функционирования схемы.
Кроме того, имеется выход запроса прерывания 11чТК, который должен быть соединен с линией запроса прерывания шины компьютера. Схемы параллельного интерфейса, подобные показанной выше, встречаются довально часто. Пример их применения во встроенной системе описан в главе 9. Вместо одного порта для подключения устройства ввода-вывода такая схема может включать два и более портов.
Теперь давайте посмотрим, как можно изменить интерфейсные схемы, представленные на рис. 4.28 — 4.34, для работы с синхронным шинным протоколом (рис. 4.25) Модифицированная интерфейсная схема с рис. 4.32 приведена на рис. 4.35. Мы добавили в нее тактовый логический блок, генерирующий сигналы 1.оао-сага и Кем-згагпз. В нижней части рисунка приведена диаграмма состояний этого блока. Сначала схема находится в состоянии Ы1е. Когда на выходе декодера адреса, обозначенном как Му-аоогезз, появляется сигнал, означающий, что данный интерфейс адресован другим устройством, состояние схемы меняется на Кезрош). В результате она выдает сигнал Со, в ответ на который генерируется сигнал 1.оао-сага или Кеаг)-зсагиз, что зависит от значения адресного разряда АО и состояния линии К/Ж.
Временная диаграмма операции вывода данных приведена на рис. 4.36. На такте 1 процессор одновременно помещает на шину данные и адрес. В начале такта 2 тактовый логический блок устанавливает сигнал бо в 1 и на переднем фронте этого сигнала выходные данные загружаются в регистр 1)АТА01)Т. Операция ввода, считывающая значение регистра состояния, выполняется аналогично. Тактовый логический блок переходит из состояния 141е в состояние Кезропб, поскольку запрошенные данные помещены в регистр и могут быть немедленно переданы устройству. В результате пересылка данных выполняется на один такт быстрее, чем показано на рис. 4.25.
В ситуации, когда данные становятся доступными через какое-то время, схема должна сначала перейти в состояние ожидания, и только дождавшись готовности данных — в состояние Кезропо. Эавершая обсуждение примеров интерфейсных схем, следует отметить, что иы использовали упрощенные представления некоторых сигналов. На практике для сигнала 51аче-геаду, скорее всего, будет использоваться выход с открытым ,н ы %: ту,— *ж р „« рмтк Эта линия должна включать нагрузочный резистор, на тот случай, если она не будет установлена каким-либо устройством в 1 (для чего ее напряжение необходимо понизить), то чтобы всегда находилась в состоянии логического О (которое требует высокого напряжения). 286 Глава 4. 8вод-вывод ЭАТАОСТ ПО ПО 1г11е Ъ'а1Ы В.,гФ Яаюегеаду А31 А1 АО С!ос1т Му-аг1г1гекк Рис.
4.35. Интерфейс параллельного порта для шины, показанной на рис. 4.25, и диаграмма состояния тактового логического блока 4.б. Интерфейсные схемы 287 — а Время ! 1 С1оск Адрес Данньге Тате-геаг1у Рис. 4.33. Временная диаграмма интерфейсной схемы, приведенной на рис. 4.35 4.6.2. Последовательный порт Последовательный порт используется для соединения процессора с устройствами ввода-вывода„которые передают данные по одному биту за раз. Важной особенностью интерфейсной схемы последовательного порта является то, что она способна передавать данные в последовательном режиме со стороны устройства и в параллельном режиме со стороны шины.
Взаимопреобразование последовательных и параллельных форматов данных выполняется при помощи сдвиговых регистров, обладающих функцией параллельного доступа. На рис. 4.37 приведена блок-схема типичного последовательного интерфейса, включающая хорошо знакомые вам регистры РАТАСЫ и РАТАОСТ.
Входной сдвиговый регистр принимает от устройства ввода-вывода последовательные биты. После получения всех 8 бит данных содержимое етого регистра в параллельном режиме загружается в регистр РАТА1Х. Аналогичным образом выходные данные из регистра ПАТАОПТ загружаются в выходной сдвиговый регистр, откуда биты по очереди отправляются устройству ввода-вывода. 288 Глава 4. Ввод-вывод Послеловательный вход Р7 РО Му- Последовательный выход ние приема ПМТК ние передачи Рис.
4.37. Последовательный интерфейс Та часть интерфейсной схемы, которая взаимодействует с шиной, мало чем отличается от описанного выше параллельного интерфейса. Флаги 81й1 и БООТ выполняют сходные функции. Флаг 811ь1 устанавливается в 1, когда новые данные загружаются в регистр ЭАТАЩ а когда процессор считывает содержимое этого регистра, значение флага 8ГХ сбрасывается в О.
Как только данные пересылаются из входного сдвигового регистра в ОАТА1Х, сдвиговый регистр может начать прием от устройства ввода-вывода следутощего 8-битового символа. Флаг 8011Т указывает, доступен ли выходной буфер для записи. Когда процессор записывает в ОАТА011Т новые данные, этот флаг очищается, а когда данные из ЭАТА011Т перемещаются в сдвиговый регистр, 8011Т устанавливается в 1.
Двойная буферизация данных на входе и выходе играет очень важную роль. Можно было бы упростить интерфейс, превратив буферы Т)АТА1Х и ОАТАООТ 4.7. Стандартные интерфейсы ввода-вывода 289 в сдвиговые регистры и вовсе удалив исходные сдвиговые регистры, показанные на рис. 4.37. Однако тем самым мы наложили бы на функционирование устройства ввода-вывода неприемлемые ограничения. Так, после отправки одного символа устройство ввода не могло бы начать отправку следующего символа до тех пор, пока процессор не прочитал бы содержимое регистра 17АТА1Х.
А для того чтобы процессор мог читать входные данные, между двумя символами была бы необходима пауза. Если же буферы дублируются, пересылка второго символа может начитаться сразу же после загрузки первого символа из сдвигового регистра в регистр РАТА1Х. Если процессор считывает содержимое регистра 17АТА1Х до завершения последовательной пересылки второго символа, интерфейс может принимать непрерывный поток входных данных. Аналогичный процесс происходит и на выходе интерфейса.
Поскольку для последовательной передачи данных требуется меньшее количество проводов, она удобна для применения в устройствах, которые физически находятся на значительном расстоянии от компьютера. Скорость пересылки данных, часто измеряемая в битах, зависит от конкретного устройства. Для того чтобы последовательный интерфейс мог работать с различными устройствами, он должен поддерживать разную тактовую частоту.
Большой гибкостью, в частности, обладает схема, приведенная на рис. 4.37. Объясняется зто тем, что она позволяет использовать для операций ввода и вывода раздельные тактовые сигналы. Поскольку последовательный интерфейс используется для подключения к компьютерам огромного количества устройств ввода-вывода, для него разработано несколько популярных стандартов. Схема такого типа, как на рис.
4.37, известна под названием ПАВТ (Уп1чегза1 АзупсЬгопопз КесеЬ'ег Тгапзш111ег — универсальный асинхронный приемопередатчик). Она предназначена для использования асинхронного стартстопного режима, о котором рассказывается в главе 10. Для коммуникационных соединений разработан другой популярный стандарт, называемый КЗ-232-С.
О нем мы поговорим также в главе 10. 4.7. Стандартные интерфейсы ввода-вывода В предыдущих разделах упоминалось о существовании нескольких альтернативных конструкций шины компьютера. Поэтому устройства ввода-вывода, подходящие для интерфейсной схемы одного компьютера, могут не подойти другому. Если бы разработчики компьютеров пошли по пути создания специального интерфейса для каждой новой пары, состоящей из внешнего устройства и компьютера, получилось бы невероятное количество разных интерфейсов.
Вот почему разрабатываются стандартные интерфейсы, сигналы и протоколы, позволяющие подключать одни и те же внешние устройства к самым разным компьютерам. Здесь очень важно понимать, что собой представляет компьютерная система и как соединяются между собой ее компоненты. Например, необходимо знать, что типичньш персональный компьютер состоит из большой печатной платы, называемой материнской.
На ней располагается микросхема процессора, основная память, несколько интерфейсов ввода-вывода, а также имеется несколько разъемов для подключения дополнительных интерфейсов. 290 Глава 4. Ввод-вывод Шина процессора — это шина, управляемая теми же сигналами, что и микросхема процессора. К ней могут быть подключены устройства, которым требуется очень высокая скорость взаимодействия с процессором, и в частности основная память. Из-за некоторых ограничений электрической природы с процессором может быть соединено лишь несколько устройств.