Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
7-53.docx
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
2 Мб
Скачать
☆

48 Методы повышения эффективности шин

Пакетный режим пересылки информации. Эффективность как выделенных, так и мультиплексируемых шин может быть улучшена, если они функционируют в блочном или пакетном режиме (burst mode), когда одиночный адресный цикл сопровождается множественными, но не чередую­щимися циклами чтения или записи данных. Это означает, что пакет данных передается без указания текущего адреса внутри пакета.

При записи в память последовательные элементы блока данных заносятся в соседние ячейки. Так как в пакетном режиме передается адрес только первой ячейки, все последующие адреса генерируются уже в самой памяти путем последовательного увеличения этого начального адреса. Скорость передачи данных в пакетном режиме увеличивается естественным образом за счет уменьшения числа передаваемых адресов. Внутри пакета очередные данные могут передаваться в каждом тактовом периоде шины, длина пакета может достигать 1024 байта. Наиболее частый вариант – пакеты, состоящие из четырех байтов.

Концепцию адресации в пакетном режиме на примере пакета, состоящего из четырех элементов данных, иллюстрирует рис. 2.84. По шине адреса передается только адрес ячейки i, а для ячеек i + 1, i + 2 и i + 3 адреса не указываются.

Рис. 2.84. Пакетный режим передачи данных

В асинхронных системах пакетный режим позволяет достичь дополнительного эффекта, благодаря сокращению времени, затрачиваемого на прохождение слова от отправителя к приемнику и процедуру подтверждения, а также на внутренние задержки в ведущем и ведомом устройствах и линиях шины.

Конвейеризация транзакций. Одним из способов повышения скорости передачи данных по шине является конвейеризация транзакций. Очередной элемент данных может быть отправлен устройством А до того, как устройство В завершит считывание предыдущего элемента. Идею конвейеризации транзакций иллюстрирует рис. 2.85. На рисунке tзд – задержка между моментом выставления данных устройством А и моментом их появления на шине; tpc – задержка распространения сигнала от устройства А до устройства В; tст – время, в течение которого данные на входе устройства В должны стабилизироваться, с тем чтобы их можно было однозначно распознать; tуд – интервал, в течение которого информация должна оставаться на шине данных после того, как они были зафиксированы устройством В.

Рис. 2.85. Конвейеризация транзакций чтения

Данные на шине должны оставаться стабильными в течение времени . Только после этого возможна смена элемента данных. Максимальная скорость передачи при конвейеризации определяется выражением .

Протокол с расщеплением транзакций. Для увеличения эффективной полосы пропускания шины во многих современных шинах используется протокол с расщеплением транзакций (split transaction), известный также как протокол соединения/разъединения (connect/disconnect) или протокол с коммутацией пакетов (packet-switched). Этот протокол обычно обеспечивает преимущество на транзакциях чтения.

В классическом варианте любая транзакция на шине неразрывна, то есть новая транзакция может начаться только после завершения предыдущей, причем в течение всего периода транзакции шина остается занятой. Протокол с расщеплением транзакций допускает совмещение во времени сразу нескольких транзакций.

В шине с расщеплением транзакций линии адреса и данных обязаны быть независимыми. Каждая транзакция чтения разделяется на две части: адресную транзакцию и транзакцию данных. Считывание данных из памяти начинается с адресной транзакции: выставления ведущим на адресную шину адреса ячейки. С приходом адреса память приступает к относительно длительному процессу поиска и извлечения затребованных данных. По завершении чтения память становится ведущим устройством, запрашивает доступ к шине и направляет считанные данные по шине данных. Фактически, от момента поступления запроса до момента формирования отклика шина остается незанятой и может быть востребована для выполнения других транзакций. В этом и состоит главная идея протокола расщепления транзакций.

Таким образом, на шине с расщеплением транзакции имеют место поток запросов и поток откликов. Часто в системах с расщеплением транзакций контроллер памяти проектируется так, чтобы обеспечить буферизацию множественных запросов.

Случай, когда затребованные данные возвращаются в той же последовательности, в которой поступали запросы представляет собой рассмотренную выше конвейеризацию. Шина с расщеплением транзакций зачастую может обеспечивать вариант, при котором ответы на запросы поступают в произвольной последовательности (рис. 2.86). Чтобы не спутать, какому из запросов соответствует информация на шине данных, ее необходимо снабдить признаком (тегом).

Хотя протокол с расщеплением транзакций и позволяет более эффективно использовать полосу пропускания шины по сравнению с протоколами, удерживающими шину в течение всей транзакции, он обычно вносит дополнительную задержку из-за необходимости получать два подтверждения – при запросе и при отклике. Кроме того, реализация протокола связана с дополнительными затратами, так как требует, чтобы транзакции были тегированы (помечены) и отслеживались каждым устройством.

Рис. 2.86. Расщепление транзакций

Для любой шины с расщеплением транзакций существует предельное значение числа одновременно обслуживаемых запросов.

Ускорение транзакций. Для сокращения времени транзакций, помимо расщепления транзакций, проектировщики обычно прибегают к следующим приемам, связанным с арбитражем шины:

 арбитражу с перекрытием;

 арбитражу с удержанием шины.

Арбитраж с перекрытием (overlapped arbitration) заключается в том, что одновременно с выполнением текущей транзакции производится арбитраж следующее транзакции.

При арбитраже с удержанием шины (bus parking) ведущий может удерживать шину и выполнять множество транзакций, пока отсутствуют запросы от других потенциальных ведущих.

В современных шинах обычно сочетаются все вышеперечисленные способы ускорения транзакций.

Увеличение полосы пропускания шины. Совершенствование транзакций – не единственный способ расширения полосы пропускания шины. Среди других вариантов основными, пожалуй, можно считать:

 отказ от мультиплексирования шин адреса и данных;

 увеличение ширины шины данных;

 повышение тактовой частоты шины.

Замена мультиплексируемой шины адреса/данных и переход к выделенным шинам адреса и данных делает возможной одновременную пересылку как адреса, так и данных, то есть позволяют реализовать более эффективные варианты транзакций. Такое решение, однако, является более дорогостоящим из-за необходимости иметь большее число сигнальных линий.

Полоса пропускания шины по своему определению непосредственно зависит от количества параллельно пересылаемой информации – практически прямо пропорциональна ширине шины данных. Несмотря на то, что данный способ требует увеличения числа сигнальных линий, многие разработчики ВМ используют в своих машинах достаточно широкие шины данных, например 128 битов.

И наконец, еще один очевидный способ увеличения полосы пропускания, которым широко пользуются проектировщики, – это наращивание тактовой частоты.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]