СИСТЕМА МАТРИЧНЫХ ПЕРЕКЛЮЧАТЕЛЕЙ С МНОЖЕСТВЕННЫМИ АРБИТРАЖАМИ ШИНЫ В КАЖДОМ ЦИКЛЕ ПОСРЕДСТВОМ УСТРОЙСТВА АРБИТРАЖА С ПОВЫШЕННОЙ ЧАСТОТОЙ
SYSTEM OF MATRIX SWITCHES WITH MULTIPLE BUS ARBITRATIONS IN EACH CYCLE BY MEANS OF ARBITRATION DEVICE WITH INCREASED FREQUENCY

УРОВЕНЬ ТЕХНИКИ
Настоящее изобретение в целом имеет отношение к области электронной обработки данных и, в частности, к системе и способу высокоэффективного арбитража шины.
Передача данных между функциональными модулями является обычной операцией в вычислительных системах. Передача программы с диска в память для обрабатывающего устройства; отправка данных от графической подсистемы в кадровый буфер для видеокарты; и отправка входных данных с клавиатуры или манипулятора "мышь" на обрабатывающее устройство - все это является обычными примерами передачи данных в пределах вычислительной системы.
Фиг.1 изображает упрощенную схему шинной архитектуры системы, обозначенной в целом позицией 10. Системная шина 12, которая может быть разделена на адресный канал, канал данных, канал управления и т.п., связывает системные модули. Ведущие устройства, такие как центральный процессор 14 или подсистема 16 ПДП (прямого доступа к памяти), инициализируют передачи данных через шину 12, именуемые в настоящем описании как шинные транзакции, на подчиненные устройства, такие как память 18 и входные/выходные схемы 20, или от них. Когда два или более независимых ведущих устройств 14, 16 соединены с шиной 12, их доступом к шине управляет устройство 22 арбитража.
Как известно для данной области техники, одно или более ведущих устройств 14, 16 предъявляют запрос доступа к шине устройству 22 арбитража. Устройство 22 арбитража отслеживает активность шины 12, и когда шина 12 становится доступной, отправляет разрешение на передачу по шине одному из сделавших запрос ведущих устройств 14, 16. Затем допущенное ведущее устройство 14, 16 может инициализировать транзакции через шину 12, такие как циклы чтения или записи, направленные одному или более подчиненным устройствам 18, 20.
Несмотря на то, что системная шина 10 хорошо работает при соединении нескольких ведущих устройств 14, 16 с множеством подчиненных устройств 18, 20, она накладывает ограничение, что только одно ведущее устройство 14, 16 может иметь доступ к подчиненному устройству 18, 20 в каждый период времени. Для высокопроизводительных обрабатывающих устройств часто возникают ситуации, когда два или более ведущих устройства 14, 16 могут пожелать получения независимого доступа к одному или более подчиненным устройствам 18, 20.
Фиг.2 изображает высокопроизводительную систему передачи данных, обозначенную в целом номером 30. Матричный переключатель 32, также известный как перекрестный переключатель, связывает множество ведущих устройств 34 с множеством подчиненных устройств 36, в наиболее общем случае при этом любое ведущее устройство имеет доступ к любому подчиненному устройству. Например, Фиг.2 изображает Ведущее Устройство 1, имеющее доступ к Подчиненному Устройству 1, и одновременно Ведущее Устройство 2, имеющее доступ к Подчиненному Устройству 0. В некоторых реализациях одно или более подчиненных устройств 36 могут включать в себя две или более адресные шины, давая возможность одновременного доступа со стороны более чем одного ведущего устройства 34.
n
n·m
n
m
m
m
m
Для магистральной системы 30, содержащей  ведущих устройств 34 и единственное подчиненное устройство 36, необходимо только одно устройство арбитража в матричном переключателе 32 для арбитража конкурирующего доступа к подчиненному устройству 36. Для  системы 30 магистральных шин, с  ведущими устройствами 34 и  подчиненными устройствами 36, могут быть реализованы от одного до  устройств арбитража. Наиболее высокая производительность будет достигнута с  устройствами арбитража, при этом каждое устройство арбитража назначено подчиненному устройству 36. При наличии менее чем  устройств арбитража, то есть в случае, по меньшей мере, одного устройства арбитража, выполняющего арбитраж для двух или более подчиненных устройств 36, производительность будет снижаться, поскольку каждое устройство арбитража может осуществлять арбитраж только для одного подчиненного устройства 36 одновременно или в пределах любого данного шинного цикла. Однако создание многих экземпляров устройств арбитража расходует площадь кристалла, усложняет трассировку и увеличивает потребляемую мощность.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Согласно одному или более вариантам осуществления устройство арбитража в шине осуществляет арбитраж множества запросов на шинные транзакции в отдельном цикле тактовой частоты шины, работая на частоте устройства арбитража, большей, чем шинная частота.
В одном варианте осуществления система включает в себя шину, работающую на шинной частоте. По меньшей мере, одно ведущее устройство соединяется с шиной и участвует в шинных транзакциях. По меньшей мере, одно подчиненное устройство соединяется с шиной и участвует в шинных транзакциях. Устройство арбитража осуществляет арбитраж более чем одного запроса на транзакцию в отдельном цикле тактовой частоты шины, работая на частоте устройства организации доступа, большей, чем шинная частота.
В другом варианте осуществления, способ арбитража множественных запросов на шинные транзакции в шине, работающей на шинной частоте, содержит этапы, на которых эксплуатируют устройство арбитража на частоте устройства арбитража, большей, чем шинная частота, и осуществляют арбитраж множественных запросов на шинные транзакции в одном цикле тактовой частоты шины.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1 является функциональной схемой компьютерной шины предшествующего уровня техники.
Фиг.2 является функциональной схемой перекрестной шины.
Фиг.3 является временной диаграммой цикла арбитража перекрестной шины.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Фиг.3 изображает временную диаграмму типичных запросов на шинные транзакции и арбитража в системе 30 с перекрестной матрицей. В этом примере, шина работает на шинной частоте 100 МГц, при тактовом цикле 10 нс, и два подчиненных устройства A и B совместно используют единственное устройство арбитража. Два ведущих устройства M0, M1 одновременно подают запросы на шинные транзакции, направленные двум подчиненным устройствам, A и B, в шинном цикле 1.
В системе 30, обладающей традиционным устройством арбитража, арбитраж для подчиненного устройства A должен происходить в шинном цикле 2, а для подчиненного устройства B в шинном цикле 3, как обозначено пунктирными линиями. Устройство арбитража должно подать запрос на подчиненное устройство A в шинном цикле 3 и на подчиненное устройство B в шинном цикле 4, как обозначено пунктирными линиями. Подчиненные устройства должны подтвердить прием в шинных циклах 4 и 5 соответственно, и ведущие устройства M0 и M1 могут продолжать шинную транзакцию после приема каждого соответствующего подтверждения от подчиненного устройства.
В одном или более вариантах осуществления множественные циклы арбитража выполняются в одном цикле тактовой частоты шины, вследствие работы устройства арбитража на частоте устройства арбитража, большей, чем шинная частота. Как изображено сплошными линиями на Фиг.3, устройство арбитража выполняет арбитраж для обоих подчиненных устройств A и B в шинном цикле 2, вследствие функционирования (в этом варианте осуществления) на частоте устройства арбитража, вдвое большей, чем шинная частота. Таким образом, устройство арбитража имеет возможность подавать запросы на оба подчиненных устройства A и B в шинном цикле 3, и оба подчиненных устройства A и B могут подтверждать прием в шинном цикле 4. И M0 и M1 могут начать шинные транзакции в шинном цикле 5, который в случае M1 является предшествующим полным циклом по сравнению со случаем, описанным выше, и изображенным на Фиг.3 пунктирными линиями, когда устройство арбитража работает на шинной частоте. Аналогично, при функционировании устройства арбитража на частоте 3x, 4x или с другим множителем по отношению к шинной частоте, может осуществляться арбитраж запросов, направленных трем, четырем или большему числу подчиненных устройств, в отдельном цикле тактовой частоты шины, предоставляя возможность параллельного выполнения соответствующих шинных транзакций.
В этих вариантах осуществления, единственный экземпляр устройства арбитража может параллельно осуществлять арбитраж множественных запросов на шинные транзакции для множественных подчиненных устройств, не требуя дублирования экземпляров арбитражной логической схемы. Используемый в настоящем описании единственный экземпляр устройства арбитража содержит логическую информацию и информацию о конфигурации, необходимую для выполнения арбитража одного или более запросов на шинные транзакции, направленных подчиненному устройству 36. При работе устройства арбитража на частоте устройства арбитража, большей, чем шинная частота, арбитраж множественных запросов на шинные транзакции может осуществляться в отдельном цикле тактовой частоты шины, используя только один экземпляр арбитражной логической схемы, в отличие от дублирования арбитражной логической схемы для каждого подчиненного устройства 36. Это сберегает площадь кремниевого кристалла, уменьшает сложность трассировки и сберегает энергию, за счет генерирования и маршрутизации, по меньшей мере, двух тактовых сигналов на различных частотах.
n
В большинстве вариантов осуществления частота устройства арбитража будет некоторой кратной частотой по отношению к шинной частоте, хотя необязательно с множителем 2 (например, частота устройства арбитража может быть 3x или 5x по отношению к шинной частоте). Это дает возможность максимизировать время, которое будет отведено на каждую операцию арбитража. Однако частота устройства арбитража, являющаяся точным кратным значением шинной частоты, не является ограничением вариантов осуществления, раскрытых в настоящем описании. Вообще говоря, частота устройства арбитража может просто быть достаточно большей, чем шинная частота, чтобы позволить осуществлять арбитраж, по меньшей мере, двух запросов на шинные транзакции в отдельном цикле тактовой частоты шины.
Временная диаграмма на Фиг.3 изображает два ведущих устройства M0, M1, одновременно выдающие запросы на шинные транзакции, направленные двум различным подчиненным устройствам 36, совместно использующим единственное устройство арбитража, обладающее признаками настоящего изобретения. Такая же временная зависимость возникает, если отдельное ведущее устройство 34 одновременно выдает запросы, направленные двум различным подчиненным устройствам 36, совместно использующим устройство арбитража. Например, ведущее устройство 34 может направить транзакцию чтения одному подчиненному устройству 36 и транзакцию записи другому. В качестве альтернативы ведущее устройство 34 может знать, что подчиненные устройства 36 обладают различным временем срабатывания, и что одновременные запросы для схожих шинных транзакций не приведут к конфликтам в шине при осуществлении транзакций.
В другом варианте осуществления два или более ведущих устройства 34 могут одновременно запрашивать шинные транзакции, направленные одному и тому же подчиненному устройству 36. Если подчиненное устройство 36 имеет достаточную пропускную способность адресной шины, оно может иметь возможность участвовать в двух или более шинных транзакциях в одно время. Примером высокой пропускной способности адресной шины является шинная структура с совместно используемыми каналами. Для сбережения площади кремниевого кристалла и уменьшения сложности трассировки функциональные возможности адресного канала шины 30 могут быть объединены с каналом передачи данных. Например, адресная шина может использовать канал совместно с шиной записи данных. Если система имеет реальные (аппаратные) 32-разрядное адресное пространство и 128-разрядную шину записи данных, уплотнение функциональных средств адресных данных и данных записи в единый, 128-разрядный, шинный канал позволяет передавать до четырех отдельных адресов в течение одного цикла передачи адресов. При этом до четырех ведущих устройств 34 (или меньше, если одно или более ведущих устройств 34 подают множественные запросы на доступ к шине) могут запрашивать шинные транзакции и передавать адреса в процессе одного и того же цикла, причем два или более из адресов направлены одному и тому же подчиненному устройству 36. Если подчиненное устройство 36 обладает такой возможностью, оно может принять все запросы и участвовать во множественных одновременных шинных транзакциях. В этом варианте осуществления единственное устройство арбитража может осуществлять арбитраж всего множества запросов на шинные транзакции, направленных одному и тому же подчиненному устройству 36, в отдельном цикле тактовой частоты шины, работая на частоте устройства арбитража, большей, чем шинная частота.
В одном или более вариантах осуществления частота устройства арбитража может быть переменной. Когда только один запрос на шинную транзакцию ожидает выполнения, частота устройства арбитража может быть равна шинной частоте. В этом варианте осуществления устройство арбитража имеет сходство с традиционным устройством арбитража, выполняя один арбитраж в каждом цикле тактовой частоты шины. Это сберегает энергию по сравнению с работой устройства арбитража на более высокой частоте, чем шина, в тех случаях, когда такой режим не обеспечивает никакого преимущества в производительности.
n
В одном варианте осуществления частота устройства арбитража предварительно вычисляется. Предварительное вычисление может основываться, например, на недавно происходившей шинной активности. В течение периодов, когда одно или более ведущих устройств 34 выдают множественные запросы на шинные транзакции, частота устройства арбитража может быть увеличена в зависимости от вероятности множественных арбитражей (от различных ведущих устройств 34 к одному и тому же подчиненному устройству 36 или к различным подчиненным устройствам 36, которые совместно используют устройство арбитража). Например, в одном варианте осуществления ряд запросов на шинные транзакции, рассматриваемых во время предыдущих  шинных циклов, может сохраняться и анализироваться для прогнозирования частоты устройства арбитража для одного или более последующих шинных циклов. В другом варианте осуществления факт множественных ожидающих запросов на шинные транзакции может увеличивать счетчик с насыщением, хорошо известный в реализациях обрабатывающего устройства с предсказанием переходов. Протяженные периоды без множественных ожидающих запросов на шинные транзакции могут понижать счетчик. Старший двоичный разряд счетчика может использоваться для прогнозирования, должна ли применяться более высокая частота устройства арбитража. Специалистам в данной области техники будет понятно, что может применяться широкое разнообразие технологий для прогнозирования частоты устройства арбитража.
В одном варианте осуществления устройство арбитража может воспользоваться периодичностью последовательных арбитражей, чтобы повысить "разумность" последующих арбитражей, учитывая исходы предыдущих арбитражей. Например, если первая операция арбитража удовлетворяет запрос на запись от ведущего устройства 34 к подчиненному устройству 36, следующая операция арбитража, выполняемая во время того же цикла тактовой частоты шины, может отклонить запрос на запись к тому же подчиненному устройству 36 от другого ведущего устройства 34, который в противном случае был бы удовлетворен, чтобы предотвратить конфликт при записи данных на подчиненном устройстве 36.
В одном варианте осуществления устройство арбитража может включать в себя регистр состояния ожидания шины, например назначая бит каждой возможной комбинации транзакций чтения и записи от каждого ведущего устройства 34 к каждому подчиненному устройству 36. Заблаговременные арбитражные решения с помощью устройства арбитража могут устанавливать соответствующие биты состояния ожидания шины, а логическая схема в устройстве арбитража может использовать результаты этих арбитражных решений, например обновленное состояние ожидания шины, для более разумного принятия последующих арбитражных решений в пределах одного и того же цикла тактовой частоты шины. Это может дать в результате более высокую производительность (помимо улучшения производительности за счет множественных арбитражей в каждом цикле тактовой частоты шины) благодаря оптимизации рабочей нагрузки шины и предотвращению конфликтов и узких мест.
Выполнение множественных арбитражей запросов на шинные транзакции в единственном цикле тактовой частоты шины с помощью функционирования устройства арбитража на частоте устройства арбитража, большей, чем шинная частота, повышает производительность вследствие предоставления возможности параллельного арбитража, без затрат на множественные экземпляры логической схемы устройства арбитража. Периодичность множественных арбитражей дает возможность для более разумных арбитражных решений, поскольку более поздние операции арбитража пользуются результатами предшествующих арбитражных решений в качестве входных данных. Для сбережения энергии частота устройства арбитража может сбрасываться обратно до шинной частоты, когда не ожидают выполнения множественные запросы. Для уравновешивания сбережения энергии во время незначительной загруженности шины и улучшенной производительности во время высокой загруженности шины частота устройства арбитража может вычисляться заранее.
Не смотря на то, что настоящее изобретение было описано в настоящем описании в отношении его конкретных признаков, аспектов и вариантов осуществления, очевидно, что возможны многочисленные изменения, модификации и другие варианты осуществления в пределах общего объема настоящего изобретения, и соответственно все изменения, модификации, и варианты осуществления должны рассматриваться, как находящиеся в пределах объема настоящего изобретения. Следовательно, настоящие варианты осуществления должны толковаться во всех аспектах как иллюстративные и не ограничивающие, и все изменения, происходящие в пределах смысла и области эквивалентов прилагаемой формулы изобретения, предполагаются охваченными этой формулой изобретения.