Способы ускорения транзакций по шине

Способы повышения эффективности шин

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

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

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

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

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

Читайте также:  Способы применения масла кокоса

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

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

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

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

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

Об эффективном влиянии на полосу пропускания шины пакетных (блочных) тран­закций уже было сказано выше. Данный способ требует некоторого усложнения аппа­ратуры, но одновременно позволяет сократить время обслуживания запроса.

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

Сущность расщепления транзакций была рассмотрена выше.

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

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

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

Источник

Ускорение транзакций

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

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

• арбитражу с удержанием шины;

Сущность расщепления транзакций была рассмотрена ранее. Кратко поясним остальные два метода.

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

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

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

Повышение эффективности шин с множеством ведущих

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

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

Читайте также:  Социальное неравенство способы измерения

реализована в виде блочных пересылок, что ведет практически к удвоению пропускной способности. Однако, в зависимости от числа процессоров и природы приложения, шина может стать и «узким местом». Фактически, если шина в течении значительной части времени не свободна, процессоры могут значительную долю времени провести в состоянии ожидания. Система с пересылкой сообщений начинает функционировать скорее как сеть, чем как простая шина ввода/вывода. Одно из решений проблемы пропускной способности — увеличение количества с несколькими процессорами на каждой. Этот подход применен в шине Fastbus, где общее адресное пространство совместно используется нескольким отдельными шинами, называемыми сегментами. Сегменты функционируют независимо, но автоматически объединяются нужным образом, если ведущий из одного сегмента обращается к ведомому из другого сегмента. Это автоматическое объединение выра­жается во вмешательстве в трафик всех промежуточных сегментов, поэтому, чтобы не возникало заторов, применяться оно должно осторожно. Разумное использование узлов с промежуточным хранением совместно с сетевым протоколом передачи сооб­щений могут еще более сократить перегрузку путем сглаживания нагрузки, разре­шая одновременное объединение как двух, так и нескольких сегментов.

Источник

5.4. Способы повышения эффективности шин

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

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

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

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

Читайте также:  Техника для добычи угля открытым способом

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

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

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

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

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

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

Об эффективном влиянии на полосу пропускания шины пакетных (блочных) тран­закций уже было сказано выше. Данный способ требует некоторого усложнения аппа­ратуры, но одновременно позволяет сократить время обслуживания запроса.

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

Сущность расщепления транзакций была рассмотрена выше.

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

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

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

Источник

Оцените статью
Разные способы