К. Хамахер, З. Вранешич, С. Заки - Организация ЭВМ - 5-е издание (2003) (1114649), страница 63
Текст из файла (страница 63)
Обычно для этой цели используется линия К/%'. Значение 1 на этой линии соответствует операции чтения, а значение 0 — операции записи. Когда команда допускает использование операндов разных размеров, например, байтов, слов и длинных слов, размер данных также указывается на управляющих линиях. Сигналы управления шиной также используются для тактирования операций. Они определяют, в какой момент процессор и устройства ввода-вывода могут поместить данные на шину или прочитать их с таковой. Для тактирования пересылки данных по шине разработано множество схем, которые можно разделить на два основных типа: синхронные и асинхроннъге. Как уже было отмечено выше, в любой операции пересылки данных по шине одно из устройств играет роль хозяина шины. Это устройство инициирует пересылку даггных с помощью команд чтения или записи.
Поэтому его можно назвать инициатором. Обычно хозяином шины является процессор, но эту роль могут выполнять и другие устройства, поддерживающие функцию прямого доступа к памяти. Устройство, к которому обращается хозяин шины, называется подчиненным или целевым. 4.5. Шины 269 4.5.1. Синхронная шина В случае синхронной шины все устройства получают синхронизирующую информацию по общей тактовой линии. На эту линию подаются тактовые импульсы со строго фиксированной частотой. Промежуток времени между последовательными тактовыми импульсами в простейшей синхронной шине составляет цикл шины, в течение которого выполняется одна операция пересылки данных.
Такая схема показана на рис. 4.23. На этом и следующих рисунках на линиях адреса и данных показаны сигналы и низкого и высокого уровня. Это стандартный прием, обозначающий, что на одних из этих линий уровень сигнала низкий, а на других, наоборот, высокий и что все зависит от конкретных значений адреса и данных. Точки пересечения линий на рисунке соответствуют моментам изменения этих значений. Сигнальная линия в неопределенном, или высокоимпедансном, состоянии представлена промежуточным уровнем, находящимся посередине между высоким и низким.
— е Время Тактовый сигнал шины Адрес н команда Данны Рис. 4.23. Временная диаграмма операции пересылки по синхронной шине при вводе данных Далее будет рассмотрена последовательность событий, происходящих при выполнении операции ввода (чтения) данных. В момент времени го хозяин шины помещает на адресные линии адрес устройства и отсылает по управляющим линиям необходимую команду. В этой команде определяется операция ввода и, если нужно, зздается длина считываемого операнда. Информация передается по шине со скоростью, определяемой ее физическими и электрическими характеристиками. Длительность тактового импульса гг — го должна быть болыпе максимального времени задержки на распространение сигнала между двумя соединенными с шиной устройствами.
Причем она должна быть достаточно большой, так как все устройства 270 Глава 4. Ввод-вывод должны успеть декодировать адрес и управляющие сигналы, с тем чтобы адресуемое (подчиненное) устройство могло ответить на команду в момент времени 1ь В течение промежутка времени от сз до с~ информация на шине ненадежна, поскольку состояние сигналов изменяется. В момент времени ~~ адресуемое подчиненное устройство помещает запрошенные входные данные на линии данных. В конце тактового цикла, то есть в момент времени ~э хозяин шины строби)л~- ет данные на линиях данных в свой входной буфер. Слово «стробировать» в используемом контексте означает снять значения с линий данных в указанный момент времени и сохранить их в буфере.
Для того чтобы данные правильно загружались в любое устройство хранения, в том числе в регистр на основе триггеров, они должны находиться на его входе в течение времени, достаточного для их сохранения (см. приложение А). Поэтому период времени тз — т~ должен быль больше максимального времени распространения сигнала по шине в сумме со временем установки входного буферного регистра хозяина шины. Похожая процедура выполняется и при выводе данных. Хозяин шины помещает на линии данных выходные сведения, а на линии адреса и управляющие линии — адрес и команду, В момент времени тт адресуемое устройство стробирует линии данных и загружает информацию в свой буфер данных. На временной диаграмме, приведенной на рис.
4.23, происходящее на линиях шины показано в очень упрощенном виде. На самом деле из-за задержек на распространение сигналов по проводам шины и в схемах устройств точные моменты изменения сигналов несколько не соответствуют указанным на рисунке. Временная диаграмма на рис. 4.24 более реалистична. Каждый сигнал, за исключением тактового, показан здесь в двух вариантах. Поскольку на передачу сигнала от одного устройства к другому уходит некоторое время, разные устройства видят изменения этого сигнала в разные моменты. Одно представление соответствует тому, как данный сигнал видит хозяин шины, а другое — тому, как его видит подчиненное устройство. При этом предполагается, что изменения тактового сигнала все подключенные к шине устройства замечают одновременно. Конструкторами систем прилагаются огромные усилия для того, чтобы тактовый сигнал удовлетворял этому требованию.
В начале такта 1 (тз), на переднем фронте тактового сигнала, хозяин шины передает по ней сигналы адреса и команды. Однако до момента времени ~ам эти ситналы не появляются на шине, прежде всего из-за задержки в схеме управления шиной. Какое-то время спустя, в момент таз, сигналы достигают подчиненного устройства. Последнее декодирует адрес и в момент времени т~ отсылает запрошенные данные. И опять эти сигналы не появляются на шине сразу, а задерживаются до момента спз.
К хозяину шины они прибывают в момент времени спм. Далее, в момент времени сь хозяин загружает данные в свой входной буфер. Промежуток тз — тпм является временем установки его входного буфера. После момента времени 1з данные должны оставаться неизменными в течение всего периода их хранения в буфере. В литературе обычно приводятся упрощенные временные диаграммы, как на рис. 4.23, дающие концептуальное представление о процессе пересылки данных. Но реальные сигналы всегда распространяются с задержками (рис. 4.24). 4.5. Шины 271 ~ Время Тактовый сигнал шины Для хозяина ши Адрес и команда Данные Для подчиненного устройства Адрес и команда Данные Рис. 4.24.
Подробная временная диаграмма для операции пересылки входных данных, показанной на рис. 4.23 Пересылка данных за несколько тактов Описанная выше схема пересылки данных упрощает разработку интерфейса устройств, но она имеет ряд ограничений. Поскольку пересылка данных, согласно этой схеме, выполняется за один такт, период гз — гс должен выбираться таким образом, чтобы вместить и наиболее долгие задержки на шине, и задержки самого медленного интерфейса устройств. В результате все устройства будут работать со скоростью самого медленного из них. Кроме того, у процессора нет возможности определить, какое из адресуемых устройств на самом деле ответило на запрос. Он просто предполагает, что в момент времени Гз выходные данные получены устройством ввода-вывода или что входные данные имеются на линиях данных.
Если же по какой-либо причине устройство не ответит, процессор даже не обнаружит ошибку. Для преодоления этих ограничений в большинство шин включают поддержку управляющих сигналов, передаваемых в качестве ответа устройства. Эти сигналы 2'72 Глава 4. Ввод-вывод информируют хозяина шины о том, что подчиненное устройства распознало адрес и готово участвовать в операции пересылки данных.
Кроме того, они позволяют откорректировать длительность периода пересылки данных в соответствии с требованиями участвующих в операции устройств. Для упрощения этой задачи используется тактовый сигнал высокой частоты, при котором цикл пересылки занимает несколько тактов. Таким образом, количество тактов, затрачиваемых на операцию пересылки данных, зависит от конкретной пары устройств. Пример реализации такого подхода приведен на рис. 4.25. В течение такта 1 хозяин шины пересылает адрес и информацию о команде, запрашивая операцию чтения. Подчиненное устройство получает и декодирует эту информацию.
По следующему переднему фронту тактового сигнала, то есть в начале такта 2, устройство принимает решение ответить на запрос и начинает процедуру доступа к запрошенным данным. Как известно, на извлечение данных требуется некоторое время, поэтому подчиненное устройство не может ответить немедленно. На третьем такте данные готовы и помещаются на шину. В то же время подчиненное устройство выдает управляющий сигнал, называемый 5?аче-геайу (подчиненный готов). Хозяин шины, ожидавший этого сигнала, стробирует данные в свой входной буфер в конце такта 3.