Протокол шины 181
гие — предварительно должны пройти через аппаратуру преобразования адресов процессора в адреса шины. Кроме того, отличия есть и в характеристиках отдель­ных сигнальных линий, драйверов и приемников. Рассмотренная ситуация, как уже отмечалось, называется перекосом сигналов. Прежде чем реагировать на по­ступивший адрес, все ведомые должны знать, с какого момента его можно считать достоверным.
Ситуация с передачей данных еще сложнее, так как данные могут пересылаться в обоих направлениях. В транзакции чтения имеет место задержка на время, пока ведомое устройство ищет затребованные данные, и ведомый должен каким-то об­разом известить о моменте, когда данные можно считать достоверными. Система должна предусматривать возможный перекос данных.
Метод, выбираемый проектировщиками шин для информирования о достовер­ности адреса, данных, управляющей информации и информации состояния, назы­вается протоколом шины. Используются два основных класса протоколов — син­хронный и асинхронный. В синхронном протоколе все сигналы -«привязаны» к импульсам единого генератора тактовых импульсов (ГТИ). В асинхронном про­токоле для каждой группы линий шины формируется свой сигнал подтверждения достоверности. Хотя в каждом из протоколов можно найти как синхронные, так и асинхронные аспекты, различия все же весьма существенны.
Синхронный протокол
В синхронных шинах имеется центральный генератор тактовых импульсов (ГТИ), к импульсам которого «привязаны» все события на шине. Тактовые импульсы (ТИ) распространяются по специальной сигнальной линии и представляют собой регу­лярную последовательность чередующихся единиц и нулей. Один период такой последовательности называется тактовым периодом шины. Именно он определяет минимальный квант времени на шине (временной слот). Все подключенные к шине устройства могут считывать состояние тактовой линии, и все события на шине отсчитываются от начала тактового периода. Изменение управляющих сигналов на шине обычно совпадает с передним или задним фронтом тактового импульса, иными словами, момент смены состояния на синхронной шине известен заранее и определяется тактовыми импульсами.
На рис. 4.17 показана транзакция чтения с использованием простого синхрон­ного протокола шины NuBus, применяемой в персональных компьютерах Macintosh
182 Глава 4. Организация шин
(буквой «М» обозначены сигналы ведущего, а буквой «S» — ведомого). Моменты изменения сигналов на шине определяет нарастающий фронт тактового импульса. Задний фронт ТИ служит для указания момента, когда сигналы можно считать достоверными. Это не обязательное условие для любых синхронных шин — во многих шинах для указания достоверности данных просто отсчитывается опреде­ленная задержка от фронта ТИ. Рассматриваемая imiHaNuBus имеет две особен­ности: тактовые импульсы асимметричны, а для передачи адреса и данных исполь­зуются одни и те же сигнальные линии.
Стартовый сигнал отмечает присутствие на линиях шины адресной или управ­ляющей информации. Когда ведомое устройство распознает свой адрес и находит затребованные данные, оно помещает эти данные и информацию о состоянии на шину и сигнализирует об их присутствии на шине сигналом подтверждения.
Операция записи выглядит сходно. Отличие состоит в том, что данные выда­ются ведущим в тактовом периоде, следующем за периодом выставления адреса, и остаются на шине до отправки ведомым сигнала подтверждения и информации состояния.
Отметим, что в каждой транзакции присутствуют элементы чтения и записи, и для каждого направления пересылки имеется свой сигнал подтверждения дос­товерности информации на шине. Сигналы управления и адрес всегда перемеща­ются от ведущего. Информация состояния всегда поступает от ведомого. Данные могут перемещаться в обоих направлениях.
Хотя скорость распространения сигналов в синхронном протоколе явно не фи­гурирует, она должна учитываться при проектировании шины. ТИ обычно рас­пространяются вдоль шины с обычной скоростью прохождения сигналов, и за счет определенных усилий и затрат можно добиться практически одновременной до­ставки ТИ к каждому разъему шины. Выбираться тактовая частота должна таким образом, чтобы сигнал от любой точки на шине мог достичь любой другой точки несколько раньше, чем завершится тактовый период, то есть шина должна допус­кать расхождение в моментах поступления тактовых импульсов. Ясно, что более короткие шины могут быть спроектированы на более высокую тактовую частоту.
Синхронные протоколы требуют меньше сигнальных линий, проще для пони­мания, реализации и тестирования. Поскольку для реализации синхронного про­токола практически не требуется дополнительной логики, эти шины могут быть быстрыми и дешевыми. С другой стороны, они менее гибки, поскольку привязаны к конкретной максимальной тактовой частоте и, следовательно, к конкретному уровню технологии. По этой причине существующие шины часто не в состоянии реализовать потенциал производительности подключаемых к себе новых устройств. Кроме того, из-за проблемы перекоса синхросигналов синхронные шины не могут быть длинными.
По синхронному протоколу обычно работают шины «процессор-память».
Асинхронный протокол
Синхронная передача быстра, но в ряде ситуаций не подходит для использования. В частности, в синхронном протоколе ведущий не знает, корректно ли ответил ве­домый, — возможно, он был не в состоянии удовлетворить запрос на нужные дан-
Hosted by uCoz