Управление связной инфраструктурой, связанное с качеством обслуживания (qos)

Иллюстрации

Показать все

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

Реферат

ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ

Область техники, к которой относится изобретение

Это изобретение относится к области техники цифровых систем и, в частности, к взаимосвязи различных компонентов при помощи связной инфраструктуры.

Описание известного уровня техники

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

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

КРАТКОЕ ИЗЛОЖЕНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ

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

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

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

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

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

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

В изложенном ниже подробном описании приведены ссылки на сопроводительные чертежи, а здесь приведено их краткое описание.

На Фиг. 1 изображена высокоуровневая блок-схема системы, включающей в себя схемы инфраструктуры и схемы управления инфраструктурой.

На Фиг. 2 изображена блок-схема одного из вариантов осуществления схемы ограничителя инфраструктуры.

На Фиг. 3 изображен конечный автомат, иллюстрирующий функционирование одного из вариантов осуществления схемы ограничителя инфраструктуры, показанного на чертеже Фиг. 2.

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

На Фиг. 5 изображен конечный автомат, иллюстрирующий динамическое модифицирование ограничений в одном из вариантов осуществления схемы ограничителя инфраструктуры, показанном на чертеже Фиг. 2.

На Фиг. 6 изображена блок-схема другого варианта осуществления схемы ограничителя инфраструктуры.

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

На Фиг. 8 изображена блок-схема одного из вариантов осуществления схемы формирователя трафика записей.

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

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

На Фиг. 11 изображена блок-схема одного из вариантов осуществления программируемой схемы управления качеством обслуживания (QoS) в инфраструктуре.

На Фиг. 12 изображена блок-схема одного из вариантов осуществления схемы управления переопределением качества обслуживания (QoS) в инфраструктуре.

На Фиг. 13 изображена блок-схема, на которой проиллюстрирован один из вариантов осуществления динамического модифицирования параметров схемы управления инфраструктурой в ответ на параметры качества обслуживания (QoS).

На Фиг. 14 изображена схема последовательности операций, на которой проиллюстрировано функционирование одного из вариантов осуществления схем управления инфраструктурой, показанного на чертеже Фиг. 13.

На Фиг. 15 изображена блок-схема одного из вариантов осуществления схем управления инфраструктурой с иерархической структурой.

На Фиг. 16 изображена блок-схема одного из вариантов осуществления схем управления инфраструктурой с иерархической структурой для решения проблемы "узких мест".

На чертеже Фиг. 17 изображена блок-схема одного из вариантов осуществления системы.

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

Несмотря на то, что возможны различные видоизмененные и альтернативные варианты настоящего изобретения, в качестве примера на чертежах показаны конкретные варианты его осуществления, и здесь приведено их подробное описание. Однако, следует понимать следующее: подразумевают, что чертежи и их подробное описание не ограничивают изобретение его конкретным раскрытым вариантом, а, наоборот, подразумевают, что оно охватывает собой все модификации, эквиваленты и альтернативные варианты, не выходящие за пределы сущности и объема настоящего изобретения, определяемого прилагаемой формулой изобретения. Используемые здесь заголовки предназначены только лишь для организационных целей и подразумевают, что они не используются для ограничения объема описания. Используемое во всей этой заявке слово "может" используется в разрешающем смысле (то есть, оно означает "имеющий потенциальную возможность"), а не в обязательном смысле (то есть, когда оно означает "должен"). Аналогичным образом, слова "включать в себя", "включающий в себя" и "включает в себя" означают "включающий в себя что-либо, но не только это".

Различные блоки, схемы или иные компоненты могут быть описаны как "сконфигурированные для" выполнения задачи или задач. В таких контекстах фраза "сконфигурированный для" представляет собой расширенное перечисление структуры, которое обычно означает "имеющий схему, которая" выполняет задачу или задачи во время работы. По существу, блок/схема/компонент могут быть сконфигурированы для выполнения задачи даже тогда, когда блок/схема/компонент не являются включенными в текущий момент времени. В общем, схемы, которые образуют структуру, соответствующую словосочетанию "сконфигурированный для", могут включать в себя аппаратные схемы. Аналогичным образом, для удобства описания различные блоки/схемы/компоненты могут быть описаны как выполняющие задачу или задачи. Такие описания следует интерпретировать как включающие в себя фразу "сконфигурированный для". Подразумевают, что перечисление в явном виде блока/схемы/компонента как сконфигурированного для выполнения одной или большего количества задач не требует применения толкования шестого абзаца § 112 раздела 35 Кодекса законов США для этого блока/схемы/компонента.

ПОДРОБНОЕ ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ

Теперь переходя к рассмотрению чертежа Фиг. 1, на нем показана блок-схема одного из вариантов осуществления системы 10. В проиллюстрированном варианте осуществления изобретения система 10 включает в себя множество схем 12A-12D интерфейсов инфраструктуры, множество схем 14A-14I управления инфраструктурой и множество компонентов-источников и/или компонентов-адресатов (src/dest) 16A-16G. Схемы 12A-12D интерфейсов инфраструктуры могут образовывать связную инфраструктуру (или участок связной инфраструктуры) в системе 10, обеспечивая для компонентов 16A-16G возможность связи друг с другом и/или с другими компонентами системы (не показаны). Например, связная инфраструктура может обеспечивать доступ компонентов 16A-16G к запоминающей системе (на чертеже Фиг. 1 не показана). В частности, каждая схема 12A-12D интерфейса инфраструктуры может включать в себя множество портов (например, порты 18A-18M). Могут быть созданы соединения между этими портами и другими портами, и портами и компонентами, для формирования связной инфраструктуры. Схемы 14A-14I управления инфраструктурой могут быть сконфигурированы для управления одним или большим количеством аспектов передачи по связной инфраструктуре. Количество схем 12A-12D интерфейсов инфраструктуры, схем 14A-14I управления инфраструктурой и компонентов 16A-16G может быть различным в различных вариантах осуществления изобретения и может быть большим или меньшим, чем их количество, показанное на чертеже Фиг. 1. Кроме того, компоновка различных схем и компонентов может быть иной, чем показанная на чертеже Фиг. 1.

В проиллюстрированном варианте осуществления изобретения компонент 16A связан со схемой 14E управления инфраструктурой, которая связана с портом 18F схемы 12B интерфейса инфраструктуры. Несмотря на то, что схема 14E управления инфраструктурой показана как связанная со всем интерфейсом компонента 16A и со всем интерфейсом порта 18F, эта связь не обязательно должна быть такой же самой в различных вариантах осуществления изобретения. Например, в некоторых вариантах осуществления схемы 14E управления инфраструктурой она может быть связана с участком интерфейса с компонентом 16A (и с соответствующим участком интерфейса с портом 18F), а остальным участком интерфейса может являться непосредственная связь между компонентом 16A и портом 18F. То есть поток через остальной участок может не проходить через схему 14E управления инфраструктурой. То же самое утверждение также может быть справедливым и для других схем управления инфраструктурой, компонентов и портов в различных вариантах осуществления изобретения. Таким образом, компонент или порт могут быть связаны со схемой управления инфраструктурой и с портом даже несмотря на то, что для удобства схема управления инфраструктурой может быть показана на чертеже как связанная со всем интерфейсом. В одном из вариантов осуществления изобретения участок интерфейса, с которым связаны схемы управления инфраструктурой, может включать в себя один или большее количество управляющих сигналов в интерфейсе. Этот участок может включать в себя вплоть до всех управляющих сигналов в интерфейсе или любое желательное подмножество управляющих сигналов. В этих вариантах осуществления изобретения передачи адресов и данных, теги транзакций и т.д. могут являться частью остального участка интерфейса. Управление участком интерфейса, с которым связана схема управления инфраструктурой, может осуществлять схема управления инфраструктурой. То есть схема управления инфраструктурой может быть сконфигурирована для модифицирования сигналов, вводимых в схему управления инфраструктурой, для генерации соответствующего выходного сигнала из схемы управления инфраструктурой, подаваемого в принимающий порт/компонент. Схема управления инфраструктурой также может быть соединена для приема дополнительного участка интерфейса только лишь для осуществления текущего контроля (то есть схема управления инфраструктурой может не модифицировать дополнительный участок интерфейса). Таким образом, схема управления инфраструктурой может быть сконфигурирована для генерации управляющих сигналов от имени порта/компонента для управления работой интерфейса. То есть схема управления инфраструктурой может перехватывать сигналы и модифицировать их для подачи в приемник.

Некоторые компоненты-источники могут не иметь соответствующих схем управления инфраструктурой. Например, компонент 16B на чертеже Фиг. 1 связан с портом 18G без каких-либо схем управления инфраструктурой. Такие компоненты могут не требовать наличия схем управления инфраструктурой (например, их скорость генерации транзакции может быть достаточно низкой, вследствие чего схемы управления инфраструктурой не являются необходимыми, или компонент может быть выполнен так, что сам ограничивает генерацию его транзакции, вследствие чего внешнее управление не нужно). В альтернативном варианте, в вариантах осуществления изобретения с иерархической структурой, например, в варианте осуществления изобретения, показанном на чертеже Фиг. 1, достаточное управление транзакциями могут обеспечивать схемы управления инфраструктурой на ином уровне иерархии, например, схемы 14A-14B управления инфраструктурой на чертеже Фиг. 1 для компонента 16B.

Схема 12B интерфейса инфраструктуры может быть сконфигурирована так, что направляет транзакции, принятые в портах 18F и 18G, наружу через порт 18E, который может быть связан с интерфейсом, с которым связаны схемы 14A-14B управления инфраструктурой. Схемы 14A-14B управления инфраструктурой дополнительно связаны с портом 18A. Как упомянуто выше, в альтернативном варианте порты 18A и 18E могут быть непосредственно соединенными для остального участка интерфейса, за исключением того участка, с которым могут быть связаны схемы 14A-14B управления инфраструктурой для осуществления желательного управления транзакциями. Аналогичным образом, если один из компонентов 16A-16B или оба эти компонента могут являться адресатом транзакции (или подчиненным устройством), то схема интерфейса инфраструктуры может быть сконфигурирована для направления транзакций, принятых в порту 18E, в один из портов 18F-18G или в оба этих порта.

Аналогичным образом, на чертеже по Фиг. 1: компонент 16C связан с портом 18B, показанным на чертеже Фиг 1; порт 18C связан со схемой 14C управления инфраструктурой и с портом 18H; порт 18D связан со схемой 14D управления инфраструктурой и с компонентом 16G, порт 18H связан со схемой 14F управления инфраструктурой и с компонентом 16D, порт 18I связан со схемой 14G управления инфраструктурой и с портом 18K, порт 18L связан со схемой 14H управления инфраструктурой и с компонентом 16E, а порт 18M связан со схемой 14I управления инфраструктурой и с компонентом 16F.

Как правило, схемы 14A-14I управления инфраструктурой могут быть сконфигурированы для управления одним или большим количеством аспектов передачи транзакции по связной инфраструктуре посредством компонентов 16A-16G и/или портов 18A-18M, с которыми они связаны. Таким образом, схемы 14A-14I управления инфраструктурой могут модифицировать характер поведения трафика в связной инфраструктуре и могут обеспечивать возможность регулирования производительности системы в целом. Ниже приведено более подробное описание различных схем управления инфраструктурой. Кроме того, как проиллюстрировано, например, схемами 14A-14B управления инфраструктурой, в конкретном интерфейсе могут использоваться две или более схем управления инфраструктурой, и они могут функционировать совместно для управления связной инфраструктурой. В тех случаях, когда используются две или более схем управления инфраструктурой, может потребоваться, чтобы конкретная транзакция удовлетворяла условиям, предъявляемым средствами управления для каждой схемы управления инфраструктурой до продвижения этой транзакции. Например, одна схема управления инфраструктурой может ограничивать количество транзакций, ожидающих выполнения, а другая схема управления инфраструктурой может предотвращать выполнение новой операции записи до тех пор, пока не будут переданы данные предыдущей операции записи. Выполнение новой операции записи может предотвращать любая из схем управления инфраструктурой.

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

В одном из вариантов осуществления изобретения управляющие сигналы в интерфейсе включают в себя сигнал достоверности (V на чертеже Фиг. 1) из главного устройства, желающего выдать транзакцию в связную инфраструктуру, и сигнал готовности (Rdy на чертеже Фиг. 1) из подчиненного устройства в интерфейсе. Транзакция может быть инициирована при наличии обоих сигналов: сигнала достоверности и сигнала готовности. Соответственно, в одном из вариантов осуществления изобретения схемы 14A-14I управления инфраструктурой могут быть сконфигурированы для управления выдачей транзакции путем стробирования сигналов достоверности и/или сигналов готовности в интерфейсе. То есть схемы управления инфраструктурой могут модифицировать сигналы достоверности и/или сигналы готовности (например, гарантируя, что эти сигналы деактивированы) для управления выдачей транзакции. Аналогичным образом, сигналы достоверности и сигналы готовности могут быть связаны с интерфейсом передачи данных, и в каждом периоде тактовых импульсов, в котором имеются оба сигнала: сигнал готовности данных и сигнал достоверности данных, может быть передан такт передачи данных. Соответственно, в одном из вариантов осуществления изобретения схемы 14A-14I управления инфраструктурой могут быть сконфигурированы для управления передачей тактов данных в интерфейсе путем стробирования/модифицирования сигналов достоверности данных и/или сигналов готовности данных. Интерфейсы могут быть двунаправленными, где компонент или порт может функционировать как главное устройство для некоторых транзакций и как подчиненное устройство для других транзакций. В одном из вариантов осуществления изобретения в инфраструктуре связи могут иметься отдельные интерфейсы считывания и записи. Схемы 14A-14I управления инфраструктурой могут включать в себя оба варианта: интерфейсы считывания и интерфейсы записи, или некоторые из них могут применяться только для интерфейса считывания или только для интерфейса записи. Некоторые схемы 14A-14I управления инфраструктурой могут функционировать независимо в интерфейсах считывания и записи или могут функционировать совместно в этих интерфейсах.

В других вариантах осуществления изобретения схемы 14A-14I управления инфраструктурой могут быть сконфигурированы для модифицирования одного или большего количества атрибутов транзакции в транзакции. Например, в некоторых вариантах осуществления системы может обеспечиваться поддержка параметров качества обслуживания (QoS) для транзакций. Параметр качества обслуживания (QoS) может задавать уровень качества обслуживания (QoS), который может быть запрошен для транзакции, и уровни качества обслуживания (QoS) могут использоваться в системе для назначения приоритетов для трафика в попытке удовлетворения требованиям к качеству обслуживания (QoS) в системе в целом. Некоторые компоненты не могут быть спроектированы обеспечивающими параметры качества обслуживания (QoS) и могут быть предусмотрены схемы управления инфраструктурой, которые вводят запрограммированный параметр качества обслуживания (QoS) для таких компонентов. Другие схемы управления инфраструктурой могут быть сконфигурированы для переопределения параметров качества обслуживания (QoS), предоставленных компонентами, для определенных транзакций. Другие атрибуты транзакций могут быть модифицированы или вставлены аналогичным образом (например, способность кэширования, когерентность и т.д.).

Как упомянуто выше, схемы 12A-12D интерфейсов связной инфраструктуры могут включать в себя схемы, связывающие интерфейсы в каждом из портов друг с другом для создания связной инфраструктуры. Таким образом, схемы интерфейсов инфраструктуры могут включать в себя, например, буферизацию в каждом порту для приема транзакций, данных транзакций и т.д. и их буферизацию для передачи через другой порт. Схемы интерфейсов инфраструктуры могут дополнительно включать в себя межсоединение между портами, схему для управления межсоединением (например, схему арбитража). В одном из вариантов осуществления изобретения схемы 12A-12D интерфейсов инфраструктуры могут представлять собой заранее спроектированные схемы, купленные разработчиком системы 10 для включения их в состав системы 10. Схема 12A-12D интерфейса инфраструктуры может представлять собой физическую схему или может представлять собой блок, составляющий "интеллектуальную собственность" (IP), который может быть куплен у третьей стороны и включен в состав конструкции интегральной схемы, которая может быть изготовлена так, что включает в себя схемы интерфейсов инфраструктуры наряду с другими схемами. Поскольку схемы интерфейсов инфраструктуры предоставлены третьей стороной, то индивидуальная настройка и модифицирование могут быть ограниченными. Соответственно, схемы 14A-14I управления инфраструктурой могут обеспечивать дополнительную гибкость для настройки рабочих характеристик системы.

Как правило, порт может представлять собой пункт связи в схемах 12A-12D интерфейсов инфраструктуры. То есть порт может включать в себя схемы для связи по одному интерфейсу с одним или с большим количеством источников или адресатов транзакций (например, с компонентами или с другими портами). То есть интерфейс в одном порту может включать в себя полный механизм связи для передачи транзакций. Интерфейсом может являться шина, интерфейс пакетной связи, интерфейс двухточечной связи и т.д.

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

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

В одном из вариантов осуществления изобретения система 10 может быть объединена в одной интегральной микросхеме как конфигурация "система на микросхеме" (SOC). В других вариантах осуществления изобретения может быть реализована любая желательная степень интеграции и/или дискретная схема.

Ниже приведено более подробное описание различных вариантов осуществления схем управления инфраструктурой. В различных вариантах реализации систем могут использоваться комбинации различных вариантов осуществления изобретения, и/или в других вариантах реализации систем варианты осуществления изобретения могут использоваться поодиночке. В описанных ниже вариантах осуществления изобретения используются те же самые номера позиций, которые были использованы на чертеже Фиг. 1, но без буквенных индексов, поскольку в любой точке в системе 10 может использоваться любой желательный вариант осуществления схемы управления инфраструктурой. То есть упомянутые ниже схемы управления инфраструктурой именуют схемами 14 управления инфраструктурой, понимая, что ими являются любые из схем 14A-14I управления инфраструктурой. Аналогичным образом, может быть приведена ссылка на компонент 16, понимая, что может быть упомянут любой компонент 16A-16G в зависимости от того, на какую именно схему 14A-14I управления инфраструктурой приведена ссылка; и может быть приведена ссылка на порт 18, понимая, что может быть упомянут любой порт 18A-18M в зависимости от того, на какую именно схему 14A-14I управления инфраструктурой приведена ссылка.

Ограничители инфраструктуры

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

На чертеже по Фиг. 2 изображена блок-схема одного из вариантов осуществления схемы 14 управления инфраструктурой, которая реализует ограничитель транзакций. В проиллюстрированном варианте осуществления изобретения схема 14 управления инфраструктурой включает в себя блок 20 управления и набор регистров 22A-22E. Блок 20 управления связан с регистрами 22A-22E. Некоторые из регистров 22A-22E могут быть программируемыми для установления ограничений, реализуемых ограничителем транзакций. Другие регистры 22A-22E могут быть предусмотрены для сохранения состояния для блока 20 управления.

Как проиллюстрировано на чертеже Фиг. 2, ограничитель транзакций сконфигурирован для ограничения количества транзакций, ожидающих выполнения, из компонента 16 или порта 18, связанного с "нижней частью" блока управления, показанной на чертеже Фиг. 2. В этом варианте осуществления изобретения ограничитель транзакций может реализовывать ограничение по транзакциям путем управления сигналами достоверности и сигналами готовности для предотвращения выдачи новых транзакций управляемым компонентом 16/портом 18. Соответственно, сигнал достоверности из управляемого компонента 16/порта 18 может быть принят управляемым компонентом 16/портом 18 в качестве входного сигнала (Vin), и сигнал (Rdyout) готовности может быть выведен в управляемый компонент 16/порт 18. Может быть выведен сигнал (Vout) достоверности, подаваемый в порт 18, и сигнал (Rdyin) готовности, подаваемый в порт 18, который показан в "верхней части" чертежа Фиг. 2, может быть принят блоком 20 управления. Также с обеих сторон могут быть приняты ответные сигналы (Rsp), связанные с интерфейсом передачи данных. Например, для транзакций считывания может иметься сигнал готовности данных и сигнал достоверности данных, а для транзакций записи может иметься другая пара сигналов: сигнал готовности данных/сигнал достоверности данных, аналогичных сигналам готовности и достоверности для инициирования транзакции. Для транзакции считывания сигнал достоверности данных может быть предоставлен портом 18, а сигнал готовности данных может быть предоставлен управляемым компонентом 16/портом 18. Для транзакции записи сигнал достоверности данных может быть предоставлен управляемым компонентом 16/портом 18, а сигнал готовности данных может быть предоставлен портом 18. Следует отметить следующее: несмотря на то, что в этом примере ограничитель транзакций обеспечивает ограничение транзакций в одном направлении, в других вариантах осуществления изобретения может быть реализовано ограничение транзакций в обоих направлениях (или могут использоваться два ограничителя, по одному для каждого направления).

Предел по транзакциям, применяемый схемой 14 управления инфраструктурой, может быть запрограммирован в регистре 22A "предел". Как только количество транзакций, ожидающих выполнения, из управляемого компонента 16/порта 18 достигает или превышает этот предел, блок 20 управления может осуществлять стробирование выходных сигналов достоверности и готовности для предотвращения инициирования дополнительных транзакций. Когда одна или большее количество транзакций, ожидающих выполнения, завершены, блок 20 управления может обнаружить, что количество транзакций, ожидающих выполнения, уменьшилось, и может прекратить стробирование выходных сигналов. После этого управляемый компонент 16/порт 18 могут инициировать дополнительные транзакции. В проиллюстрированном варианте осуществления изобретения блок 20 управления может отслеживать количество транзакций, ожидающих выполнения, в регистре 22C "подсчет транзакций".

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