К. Хамахер, З. Вранешич, С. Заки - Организация ЭВМ - 5-е издание (2003) (1114649), страница 64
Текст из файла (страница 64)
На этом операция пересылки данных по шине заканчивается, и хозяин шины может отправить по ней новый адрес, чтобы на такте 4 начать другую операцию пересылки. Сигнал 5?аче-геабу — это направляемое подчиненным устройством хозяину шины сообщение, говорящее о том, что им отправлены правильные данные. В нашем примере подчиненное устройство отвечает во время такта 3.
Другое устройство может ответить раньше или позже. Таким образом, сигнал 5?аче-геабу позволяет изменять длительность операции пересылки данных в соответствии с возможностями конкретного устройства. Если адресуемое устройство не отвечает, хозяин шины ждет в течение заранее определенного количества тактов, а затем отменяет операцию. Отсутствие ответа может быть результатом отправки неверного адреса или некорректного функционирования устройства.
Обратите внимание, что для тактирования шины не всегда используется тот же сигнал, что и для тактирования процессора. Последний обычно имеет значительно более высокую частоту, поскольку управляет внутренним функционированием микросхемы процессора. Задержки на распространение сигналов внутри процессора гораздо меньше, чем задержки на шине, связывающей, в частности, микросхемы на печатных платах.
То, какая тактовая частота может использоваться в конкретном компьютере, зависит от технологии его производства. Для современных процессорных микросхем типична тактовая частота свыше 500 МГц, для памяти и шин ввода-вывода может использоваться частота от 50 до 150 МГц. Многие компьютерные шины, в том числе шины процессоров Репг?пш и АКМ, основаны на схемах, подобных показанной на рис. 4.25. Очень похож на эту схему и стандарт архитектуры шины РС?, описанный в разделе 4.7.1.
Далее мы рассмотрим иной подход к созданию шин, когда тактовый сигнал вообще не используется. 4.5. Шины 273 — Р Время Тактовый сигнал Адрес Команда Данные 51ате-геабу Рис. 4.25. Пересылка данных с использованием нескольких тактов 4.5.2. Асинхронные шины Альтернативная схема управления пересылкой данных по шине основывается на механизме квитирования, то есть подтверждения связи, между хозяином шины и подчиненным устройством.
Концепция квитирования является обобщением идеи использования сигнала Я!ауе-геаду, проиллюстрированной на рис. 4.25. В схеме с квитированием тактовая линия заменяется двумя управляющими линиями синхронизации: Мззгег-геаоу и о1аче-геаоу. Первая принадлежит хозяину шины, который передает по ней сигнал готовности к транзакции, а по второй отвечает подчиненное устройство.
Пересылка данных, управление которой осуществляется посредством протокола с квитированием, выполняется следующим образом. Хозяин шины помещает на нее адрес и информацию о команде. Затем по линии Мазгег-геас1у он сообщает об этом всем устройствам. В ответ подключенные к шине устройства декодируют адрес. То устройство, для которого предназначена команда, выполняет таковую и информирует об этом хозяина шины по линии 31аче-геаг1у. Хозяин дожидается этого сигнала и только после этого удаляет с шины свои сигналы. В случае операции чтения он стробирует данные в свой входной буфер.
274 Глава 4. Ввод-вывод — е Время Адрес и команда Мазтет-театру Б)ате-геас1у Данные икл шины Рис. 4.26. Пересылка входных данных по шине с использованием квитированив Пример выполнения операции пересылки входных данных с использованием квитирования проиллюстрирован на рис. 4.26, отражающем следующую последовательность событий.
го — хозяин шины помешает на нее адрес н команду, и все устройства на шине начинают декодировать эту информацию. г, — хозяин шины активизирует линию Маз~ег-геаду, чтобы проинформировать устройства ввода-вывода о том, что адрес и команда поданы на шину. Задержка, равная г1 — го, формируется на тот случай, если на шине произойдет сдвиг сигналов. Сдвигом называется неодновременное прибытие в точку назначения двух сигналов, одновременно выданных источником.
Причиной такого сдвига может стать разное время распространения сигнала по различным линиям шины. Для того чтобы иметь гарантию, что сигнал Мазтег-геабу не достигнет какого-либо устройства раньше адреса и команды, нужно задержать его на время ~, — го, которое бодьше времени максимально возможного сдвига. (В случае синхронной шины сдвиг на шине тоже учитывается — он является составной частью максимальной задержки на распространение сигнала.) Когда адресная информация достигает очередного устройства, она декодируется его интерфейсной схемой. На декодирование тоже уходит какое-то время, которое следует включить в период г1 — 1с. 1з — после декодирования адреса и команды подчиненное устройство выполняет операцию ввода то есть перемещает информацию из своего регистра данных 4.5. Шины 2'75 на линии данных.
Одновременно оно активизирует сигнал 51аче-геаг1у. Если интерфейсная схема помещает данные на шину с некоторой задержкой, подчиненное устройство должно соответственно задержать и выдачу сигнала 51аче-геайу. Длительность промежутка времени 1г — 1~ зависит от расстояния между хозяином шины и подчиненным устройством, а также от задержек в схеме подчиненного устройства.
Именно потому, что указанный промежуток времени имеет разную длительность, схема получается асинхронной. гз — сигнал Яаче-геайу достигает хозяина шины и сообщает ему, что на шине имеются данные. Однако поскольку предполагается, что интерфейс устройства помещает на шину сигнал $1аче-геабу одновременно с данными, хозяин шины должен выдержать небольшую паузу на случай сдвига сигналов. Кроме того, он должен учесть время установки собственного входного буфера. После задержки, равной сумме времени максимального сдвига сигналов на шине и минимального времени установки буфера, хозяин шины стробирует данные в свой входной буфер. Одновременно он удаляет с шины сигнал Мазсег-геабу, сообщая тем самым о получении данных.
Гх — хозяин шины удаляет с шины адрес и команду. Задержка между моментами времени 1з и 1~ производится на случай сдвига на шине. Если адрес, который видит какое-либо из устройств, начнет изменяться, пока сигнал Мазгег-геабу равен 1, адресация будет выполнена неточно. 1з — когда интерфейс устройства фиксирует переход сигнала Мазгег-геабу из 1 в 0, он удаляет с шины данные и сигнал Я1аче-геабу. На этом пересылка входных данных завершается. Процесс выполнения операции вывода (рис. 4.27) почти ничем не отличается от процесса выполнения операции ввода. Правда, в первом случае хозяин шины одновременно с адресом и командой помещает на линии данных выходную информацию. Получив сигнал Мазсег-геаг1у, подчиненное устройство стробирует данные в свой входной буфер и сообщает об этом установкой сигнала 31аче-геаг1у з 1. Дальше все происходит точно так, как при вводе данных.
При построении временных диаграмм, приведенных на рис. 4.26 и 4.27, предполагалось, что хозяин шины компенсирует сдвиг на шине и задержку на декодирование адреса. Для этой цели предназначены задержки г, — гз и гх — гз. Если длительность задержки достаточна для декодирования адреса интерфейсом устройства ввода-вывода, интерфейсная схема может использовать сигнал Мазгег-геас1у для пропуска других сигналов на шину и с шины.
Сказанное станет понятнее, когда мы рассмотрим примеры интерфейсных схем, приведенные далее в этой главе. Сигналы квитирования в приведенных нами схемах взаимосвязаны таким обрззом, что за изменением одного сигнала следует изменение другого. Поэтому тахзя схема, называемая полным квитированием, обладает исключительной гибкостью и надежностью.
276 Глава 4. Ввод-вывод — ~ Время Адрес и команда Данные Мазсег-геас1у 51аке-теас1у Рно. 4. 27. Пересылка выходных данных по шине с использованием квнтнровання 4.5.3. Заключитеяьные эамечаниа В современных компьютерах реализовано множество разновидностей рассмотренных нами технологий. Например, шина семейства процессоров 68000 может работать в двух режимах:синхронном и асинхронном. Выбирая архитектурушины, следует учитывать такие факторы: + простоту интерфейса устройства; + способность работать с интерфейсами устройств, имеющими разное вре- мя задержки; + общее время, уходящее на пересылку данных по шине; + способность обнаруживать ошибки, происходящие в результате адресации несуществующего устройства или неверного функционирования интерфейса устройства.
Важнейшим преимуществом асинхронной шины является то, что процесс квитирования избавляет конструктора от необходимости синхронизации тактовых сигналов отправителя и получателя, что значительно упрощает разработку. Никакие задержки, связанные с распространением сигнала по шине или с интерфейсными схемами, не отражаются на работе системы. Когда величина таких задержек изменяется, например, из-за изменения нагрузки при добавлении или удалении интерфейсной схемы, автоматически изменяется и время передачи данных.
Для синхронных шин схемы тактирования должны разрабатываться очень тщательно, что обеспечит правильную синхронизацию, а задержки не должны превышать строго рассчитанный предел. 4.6. Интерфейсные схемы 277 Скорость передачи данных по асинхронной шине, управляемой посредством механизма полного квитирования, несколько снижается из-за того, что каждая такая операция выполняется с четырьмя задержками, по две в каждую сторону. Это хорошо видно на рис.