ВСПОМОГАТЕЛЬНЫЕ ЗАПИСИ ПО КАНАЛУ АДРЕСА
AUXILIARY RECORDING OVER ADDRESS CHANNEL

РОДСТВЕННЫЕ ЗАЯВКИ
Настоящая заявка на выдачу патента испрашивает преимущество предварительной заявки № 60/776,517, озаглавленной "Auxiliary Writes Over Address Channel" ("Вспомогательные записи по каналу адреса"), поданной 24 февраля 2006 года и переданной правопреемнику и настоящим включенной в материалы настоящей заявки явным образом посредством ссылки.
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее раскрытие относится в целом к системам обработки данных, а более конкретно к системам и методикам выполнения вспомогательных записей по адресному каналу шины.
УРОВЕНЬ ТЕХНИКИ
В основе большинства современных систем обработки данных находится схема соединений, упоминаемая как шина. Шина позволяет перемещать информацию между различными единицами обработки в системе. Сегодня большинство архитектур шин должным образом стандартизированы. Эти стандартизированные архитектуры шин типично имеют независимые и раздельные каналы чтения, записи и адреса.
Такой тип архитектуры шины можно часто обнаружить в системе обработки данных с одним или более процессорами общего назначения, снабженных памятью. В таких системах память предоставляет носитель хранения, который хранит программы и данные, требуемые процессорами для выполнения их функций. Процессор может читать или записывать в память посредством помещения адреса в адресный канал и отправки соответствующего управляющего сигнала чтения/записи. В зависимости от состояния управляющего элемента чтения/записи процессор либо записывает в память по каналу записи или читает из памяти по каналу чтения. В этих типах систем обработки данных, так же как и во многих других, желательно уменьшить задержку записи и увеличить полосу пропускания канала записи.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Раскрыт один аспект системы обработки данных. Система обработки данных включает в себя: принимающее устройство, шину, имеющую первый, второй и третий каналы, и отправляющее устройство, сконфигурированное для адресации к принимающему устройству по первому каналу и чтения полезной нагрузки с принимающего устройства по второму каналу, причем отправляющее устройство, являющееся дополнительно сконфигурированным для выбора между первым и третьим каналами для записи полезной нагрузки на принимающее устройство.
Раскрыт другой аспект системы обработки данных. Система обработки данных включает в себя: принимающее устройство, шину, имеющую первый, второй, третий каналы, средство для адресации к принимающему устройству по первому каналу, средство для чтения полезной нагрузки с принимающего устройства по второму каналу и средство для выбора между первым и третьим каналами для записи полезной нагрузки на принимающее устройство.
Раскрыт аспект способа установления связи между отправляющим устройством и одним или более принимающими устройствами по шине. Шина включает первый, второй и третий каналы. Способ включает в себя адресацию к принимающему устройству по первому каналу, чтение полезной нагрузки из принимающего устройства по второму каналу и выбор между первым и третьим каналами для записи полезной нагрузки на принимающее устройство.
Раскрыт аспект устройства управления шины. Устройство управления шины включает в себя процессор и интерфейс шины, сконфигурированный для сопряжения процессора с шиной, имеющей первый, второй и третий каналы, причем интерфейс шины является дополнительно сконфигурированным для адресации к подчиненному устройству по первому каналу, приема полезной нагрузки от подчиненного устройства по второму каналу и выбора между первым и третьим каналами для отправки полезной нагрузки на подчиненное устройство.
Раскрыт другой аспект устройства управления шины. Устройство управления шины включает в себя процессор и средство для сопряжения процессора с шиной, имеющей первый, второй и третий каналы, средство для сопряжения процессора с шиной, содержащие средство для адресации к подчиненному устройству по первому каналу, средство для приема полезной нагрузки от подчиненного устройства по второму каналу и средство для выбора между первым и третьим каналами для отправки полезной нагрузки на подчиненное устройство.
Раскрыт аспект подчиненного устройства. Подчиненное устройство включает в себя память, интерфейс шины, сконфигурированный для сопряжения памяти с шиной, имеющей первый, второй и третий каналы, причем интерфейс шины является сконфигурированным для приема адреса памяти и первой полезной нагрузки от устройства управления шины на втором канале и отправки полезной нагрузки устройству управления шины на третьем канале.
Раскрыт другой аспект подчиненного устройства. Подчиненное устройство включает в себя память и средство для сопряжения памяти с шиной, имеющей первый, второй и третий каналы, средство для сопряжения памяти с шиной, содержащее средство для приема адреса памяти и первой полезной нагрузки от устройства управления шины по первому каналу, средство для приема второй полезной нагрузки от устройства управления шины по второму каналу и средство для отправки полезной нагрузки устройству управления шины по третьему каналу.
Понятно, что другие варианты осуществления настоящего изобретения станут легко очевидны специалисту в данной области техники из последующего описания осуществления изобретения, где показаны и описаны различные варианты осуществления изобретения в качестве иллюстрации. Как будет понято, изобретение допускает другие или отличные варианты осуществления и его отдельные элементы допускают модификацию в различных других отношениях, все без отхода от сущности и объема настоящего изобретения. Таким образом, чертежи и раздел осуществления изобретения должны рассматриваться по своему характеру в качестве иллюстрации, а не в качестве ограничения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Аспекты настоящего изобретения проиллюстрированы в качестве примера, а не в качестве ограничения, на прилагаемых чертежах, на которых:
Фиг. 1 - упрощенная структурная схема, иллюстрирующая пример двух устройств в системе обработки данных, соединяющихся по шине;
Фиг. 2 - иллюстрация, показывающая информацию, протекающую по каналам адреса и записи шины в системе обработки данных с Фиг. 1 с каналом адреса, предоставляющим обобщенный носитель для адресов и полезной нагрузки;
Фиг. 3 - временная диаграмма, показывающая три операции записи по шине в системе обработки данных с Фиг. 1;
Фиг. 4 - упрощенная структурная схема, иллюстрирующая отправляющее устройство, находящееся на связи с двумя принимающими устройствами в системе обработки данных;
Фиг.5 - иллюстрация, показывающая информацию, протекающую по каналам адреса и записи шины в системе обработки данных согласно Фиг. 4;
Фиг.6 - упрощенная структурная схема, иллюстрирующая пример двух устройств в системе обработки данных, соединяющихся по 4-канальной шине;
Фиг.7 - временная диаграмма, показывающая три операции записи по шине в системе обработки данных с фиг.6;
Фиг.8 - упрощенная структурная схема, иллюстрирующая отправляющее устройство, связывающееся с тремя принимающими устройствами в системе обработки данных;
Фиг.9 - иллюстрация, показывающая информацию, протекающую по каналам адреса чтения и записи и каналам записи шины в системе обработки данных на фиг.8.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Осуществление изобретения, изложенное ниже в соединении с прилагаемыми чертежами, подразумевается в качестве описания различных вариантов осуществления настоящего изобретения и не подразумевается для представления единственно возможных вариантов изобретения, которыми может быть осуществлено настоящее изобретение на практике. Осуществление изобретения включает конкретные детали для целей предоставления всестороннего понимания настоящего изобретения. Тем не менее, специалистам в данной области техники должно быть очевидно, что настоящее изобретение может быть осуществлено на практике без этих конкретных деталей. В некоторых случаях хорошо известные структуры и компоненты показаны в виде структурной схемы для того, чтобы избежать сокрытия концепций настоящего изобретения.
Фиг. 1 - упрощенная структурная схема, иллюстрирующая пример двух устройств в системе обработки данных, соединяющихся по шине. Система 100 обработки данных может быть сочетанием аппаратных устройств, которые функционируют совместно для выполнения одной или более функций обработки. Типичные применения системы 100 обработки данных включают в себя, но не ограничиваются настольными компьютерами, дорожными компьютерами, серверами, сотовыми телефонами, персональными цифровыми секретарями (PDA), игровыми консолями, пейджерами, модемами, аудиооборудованием, медицинскими устройствами, автомобильным, видеооборудованием, промышленным оборудованием или любыми другими машинами или устройствами, способными обрабатывать, извлекать и хранить информацию.
Система 100 обработки данных показана с отправляющим устройством 102, на связи с принимающим устройством 104 по шине 106. Шина включает в себя три канала: канал 106a адреса, канал 106b записи и канал 106c чтения. “Канал” определен как набор электрических проводников, используемых для передачи информации между двумя устройствами, и который имеет набор общих управляющих сигналов. Согласно этому примеру канал адреса имеет ширину 32 бита, а каналы чтения и записи имеют ширину 64 бита каждый. Типично, схема соединений шины (не показано) будет использоваться для установления связи двухточечного пути связи между отправляющим устройством 102 и принимающим устройством 104 по шине 106. В качестве альтернативы, шина 106 может быть выделенной шиной, общей шиной или любым другим типом пригодной архитектуры шин.
Отправляющее устройство 102 может быть любым типом устройства управления шины. В данном примере отправляющее устройство 102 включает в себя процессор 108 и интерфейс 110 шины. Процессор 108 может быть процессором общего назначения, таким как микропроцессор, процессор специального назначения, такой как процессор цифровой обработки сигналов (DSP), специализированная интегральная схема (ASIC), контроллер прямого доступа к памяти (DMA), мост, компонент с программируемой логикой или любым другим объектом, которому требуется доступ к шине 106. Интерфейс 110 шины используется для управления каналами 106a, 106b адреса и записи, так же как и предоставление соответствующих управляющих сигналов. Интерфейс 110 шины также служит в качестве приемника для канала 106c чтения.
Принимающее устройство 104 может быть любым типом подчиненного устройства. Принимающее устройство 104 может быть временной памятью, такой как синхронное динамическое ЗУ (SDRAM), динамическое ОЗУ (DRAM) или ОЗУ (RAM), или устройство хранения более длительного времени, такое как флэш-память, память ПЗУ (ROM), память СППЗУ (EPROM), память электронное СППЗУ (EEPROM), CD-ROM, DVD, магнитный диск, перезаписываемый оптический диск и тому подобное. В качестве альтернативы, принимающее устройство 104 может быть мостом или любым другим устройством, способным извлекать и хранить информацию. В данном примере принимающее устройство 104 включает в себя интерфейс шины 112 и память 114. Интерфейс 112 шины используется для управления каналом 106c чтения и соответствующими управляющими сигналами. Интерфейс 112 шины также служит в качестве приемника для каналов 106a, 106b адреса и чтения. Память 114 может быть любым устройством, к чьему содержимому может быть осуществлен доступ (т.е. на чтение и запись) произвольным образом.
В данной архитектуре шины отправляющее устройство 102 может осуществлять чтение или запись на принимающее устройство 104. Когда отправляющее устройство 102 выполняет операцию записи, оно отправляет адрес для принимающего устройства 104 по каналу 106a адреса с соответствующими управляющими сигналами. Полезная нагрузка может быть отправлена либо по каналу адреса 106a или по каналу 106b записи. Термин "полезная нагрузка" относится к данным, ассоциированным с отдельной операцией чтения или записи, а в данном случае к операции записи. Когда отправляющее устройство 102 выполняет операцию записи, оно отправляет адрес принимающему устройству 104 по каналу адреса 106a с соответствующими управляющими сигналами. В ответ принимающее устройство 104 отправляет полезную нагрузку в отправляющее устройство 102 по каналу 106с чтения.
Пример трех операций записи будет теперь описан со ссылкой на Фиг. 2. Фиг. 2 - иллюстрация, показывающая информацию, протекающую по каналам адреса и записи. В данном примере отправляющее устройство инициирует 32-битную операцию записи, за которой следуют две 8-битные операции записи.
Обращаясь к Фиг. 2, на первом периоде 202 тактовых импульсов, отправляющее устройство инициирует 32-битную операцию посредством отправки 4-битного адреса A1 принимающему устройству по каналу 106a адреса с соответствующими управляющими сигналами. Во время того же периода 202 тактовых импульсов отправляющее устройство также отправляет первые 8 байтов первой полезной нагрузки W1(1) принимающему устройству по каналу 106b записи.
Отправляющее устройство инициирует следующую операцию записи во время второго периода 204 тактовых импульсов посредством отправки 4-байтного адреса A2 принимающему устройству до завершения первой операции чтения по каналу 106a адреса с соответствующими управляющими сигналами. Отправляющее устройство продолжает передавать первую полезную нагрузку во время того же периода тактовых импульсов посредством отправки второго 8-байтного Wl(2) принимающему устройству по каналу 106b записи.
Отправляющее устройство затем использует следующие два периода тактовых импульсов 206 и 208 для оправки второй полезной нагрузки принимающему устройству по каналу 106a адреса, в то время как одновременно завершая передачу первой полезной нагрузки по каналу 106b записи. В частности, на третьем периоде 206 отсчета тактовых импульсов отправляющее устройство отправляет принимающему устройству первые 4 байта второй рабочей нагрузки W2(l) по каналу 106a адреса и третьи 8 байтов первой полезной нагрузки W1(3) по каналу 106b записи. На четвертом периоде 208 отсчета тактовых импульсов отправляющее устройство отправляет принимающему устройству последние 4 байта второй рабочей нагрузки W2(2) по каналу 106a адреса и последние 8 байтов первой полезной нагрузки W1(4) по каналу 106b записи.
Отправляющее устройство инициирует третью операцию записи на пятом периоде 210 отсчета тактовых импульсов посредством отправки 4-битного адреса A3 принимающему устройству по каналу 106a адреса с соответствующими управляющими сигналами. Во время того же периода 210 отсчета тактовых импульсов отправляющее устройство также отправляет третью полезную нагрузку W3 принимающему устройству по каналу 106b записи.
Два управляющих сигнала могут быть добавлены к каналу 106a адреса для создания носителя для поддержки передачи обоих адресов и полезной нагрузки. Первый управляющий сигнал, упоминаемый как сигнал Address/Data (“Адрес/Данные”) используется для указания, является ли информация, передаваемая по каналу 106a адреса, адресом или полезной нагрузкой. В данном примере, когда объявлен сигнал Address/Data, по каналу 106a адреса передается адрес. Напротив, когда сигнал Address/Data не объявлен, по каналу 106a адреса передается полезная нагрузка. Второй управляющий сигнал, упоминаемый как Transfer Attribute ("Атрибут передачи"), используется во время передачи адреса по каналу 106a адреса. Когда передается адрес, сигнал Transfer Attribute используется для указания, будет ли передаваться полезная нагрузка для данного адреса по каналу 106a адреса или по каналу 106b записи.
Пример, иллюстрирующий то, как эти управляющие сигналы могут использоваться, теперь будет описан со ссылкой на Фиг. 3. Протокол шины для каналов 106a, 106b адреса и записи показан ниже в таблице 1. Данный протокол шины используется для иллюстрации изобретательных аспектов системы обработки данных, с пониманием того, что такие изобретательные аспекты могут быть использованы с другими протоколами шины. Специалист в данной области техники легко сможет изменить и/или добавить сигналы к данному протоколу в фактической реализации архитектур шины, описанных в данном документе.
Таблица 1
Канал адреса
Сигнал
Определение
Приводится
Address (Адрес)
32-битный носитель для передачи адресов и полезной нагрузки.
Отправляющее устройство
Address/Data (Адрес/данные)
Указывает, является ли передаваемая информация на канале 106a адреса адресом или полезной нагрузкой.
Отправляющее устройство
AValid (Действительно для адреса)
Указывает, передается ли действительная информация по каналу адреса.
Отправляющее устройство
Transfer Attribute (Характеристика передачи)
Указывает, будет ли полезная нагрузка для текущего адреса передана по каналу адреса или каналу записи.
Отправляющее устройство
(Read/Write) Чтение/запись
Указывает, запрашивается ли операция чтения или записи.
Отправляющее устройство
(Payload Size) Размер полезной нагрузки
Указывает размер полезной нагрузки для текущего адреса.
Отправляющее устройство
Address Transfer Ack (Подтверждение передачи адреса)
Указывает, приняло ли принимающее устройство успешно информацию, переданную по каналу адреса.
Принимающее устройство
Канал записи
Сигнал
Определение
Приводится
Write (Запись)
64-битный носитель для передачи полезной нагрузки.
Отправляющее устройство
WValid (Действительно для записи)
Указывает, передается ли действительная информация по каналу записи.
Отправляющее устройство
Write Transfer Ack (Подтверждение передачи записи)
Указывает, приняло ли принимающее устройство успешно информацию, переданную по каналу записи.
Принимающее устройство
Фиг.3 - временная диаграмма, показывающая управляющую сигнализацию для тех же трех операций записи, описанных выше в связи с Фиг.2. Системный генератор 306 тактовых импульсов может быть использован для синхронизации связи между отправляющим и принимающим устройствами. Системный генератор 306 тактовых импульсов показан с пятью периодами отсчета тактовых импульсов, где каждый период отсчета последовательно пронумерован.
Операция записи может быть инициирована по каналу 106a адреса отправляющим устройством во время первого периода 301 отсчета тактовых импульсов. Данная операция может быть достигнута посредством передачи адреса А1 для первой операции записи на 32-битном носителе 308.
Одновременно отправляющее устройство объявляет сигналы 312, 313, 314 AValid, Address/Data и Transfer Attribute. Объявленный сигнал 312 AValid указывает, что действительная информация передается по каналу 106a адреса, объявленный сигнал 313 Address/Data указывает, что информация находится по адресу A1, а объявленный сигнал 314 Transfer Attribute указывает, что полезная нагрузка для адреса A1 будет передана по каналу 106b записи. Отправляющее устройство также отменяет объявление сигнала 316 чтения/записи для запроса операции записи. Сигнал 318 размера полезной нагрузки может быть использован для указания размера полезной нагрузки, который в данном случае равен 32 байтам.
Во время того же первого периода 301 отсчета тактовых импульсов отправляющее устройство использует среду 320 записи для передачи первых 8 байтов первой полезной нагрузки W1(1). Отправляющее устройство также объявляет сигнал 324 WValid для указания того, что действительная информация передается по каналу 106b записи.
В конце первого периода 301 отсчета тактовых импульсов отправляющее устройство проверяет объявленный сигнал 310 Address Transfer Ack для подтверждения успешной доставки адреса A1 по каналу 106a адреса принимающему устройству. Отправляющее устройство также проверяет объявленный сигнал 322 Write Transfer Ack для подтверждения успешной доставки первых 8 байт первой полезной нагрузки Wl(l) по каналу 106b записи принимающему устройству.
На втором периоде 302 тактовых импульсов отправляющее устройство передает адрес A2 для второй операции записи на 32-битный носитель 308 адреса до того, как закончится первая операция записи. Отправляющее устройство объявляет сигнал 312 AValid для указания того, что действительная информация передается по каналу 106a адреса. Отправляющее устройство также объявляет сигнал 313 Address/Data для указания того, что информацией является адрес A2. Transfer Attribute 314 снят для указания того, что полезная нагрузка для адреса A2 будет передана по каналу 106a адреса. Отправляющее устройство также отменяет сигнал 316 чтения/записи для запроса операции записи. Сигнал 318 размера полезной нагрузки может быть использован для указания размера полезной нагрузки, который в данном случае равен 8 байтам.
Во время того же второго периода 302 отсчета тактовых импульсов отправляющее устройство использует среду 320 записи для передачи вторых 8 байтов первой полезной нагрузки W1(2). Отправляющее устройство также объявляет сигнал 324 WValid для указания того, что действительная информация передается по каналу 106b записи.
В конце второго периода 302 отсчета тактовых импульсов отправляющее устройство проверяет объявленный сигнал 310 Address Transfer Ack для подтверждения успешной доставки адреса A2 по каналу 106a адреса принимающему устройству. Отправляющее устройство также проверяет объявленный сигнал 322 Write Transfer Ack signal для подтверждения успешной доставки вторых 8 байт первой полезной нагрузки W1(2) по каналу 106b записи принимающему устройству.
На третьем периоде 303 тактовых импульсов отправляющее устройство передает первые 4 байта второй полезной нагрузки W2(1) на 32-битном носителе 308 адреса. Отправляющее устройство объявляет сигнал 312 AValid для указания того, что действительная информация передается по каналу 106a адреса и отменяет сигнал 313 Address/Data для указания того, что информация является частью полезной нагрузки. Состояние сигнала 314 Transfer Attribute, сигнала 316 Read/Write и сигнала 318 Payload Size может игнорироваться во время этого периода отсчета тактовых импульсов. На Фиг. 3 состояния этих сигналов остаются неизменными, но могут быть установлены в любое состояние.
Во время того же третьего периода 303 отсчета тактовых импульсов отправляющее устройство использует среду 320 записи для передачи третьих 8 байтов первой полезной нагрузки W1(3). Отправляющее устройство также объявляет сигнал 324 WValid для указания того, что действительная информация передается по каналу 106b записи.
В конце третьего периода 303 отсчета тактовых импульсов отправляющее устройство проверяет объявленный сигнал 310 Address Transfer Ack первых 4-х байтов второй полезной нагрузки W2(1) по каналу 106a адреса принимающему устройству. Отправляющее устройство также проверяет объявленный сигнал 322 Write Transfer Ack для подтверждения успешной доставки третьих 8 байт первой полезной нагрузки W1(3) по каналу 106b записи принимающему устройству.
На четвертом периоде 304 тактовых импульсов отправляющее устройство передает последние 4 байта второй полезной нагрузки W2(2) на 32-битном носителе 308 адреса. Отправляющее устройство объявляет сигнал 312 AValid для указания того, что действительная информация передается по каналу 106a адреса и отменяет сигнал 313 Address/Data для указания того, что информация является частью полезной нагрузки. Состояние сигнала 314 Transfer Attribute, сигнала 316 Read/Write и сигнала 318 Payload Size может игнорироваться во время передачи полезной нагрузки.
Во время того же четвертого периода 304 отсчета тактовых импульсов отправляющее устройство использует среду 320 записи для передачи последних 8 байтов первой полезной нагрузки W1(4). Отправляющее устройство продолжает объявлять сигнал 324 WValid для указания того, что действительная информация передается по каналу 106b записи.
В конце четвертого периода 304 отсчета тактовых импульсов отправляющее устройство проверяет объявленный сигнал 310 Address Transfer Ack для подтверждения успешной доставки последних 4-х байтов второй полезной нагрузки W2(2) по каналу 106a адреса принимающему устройству. Отправляющее устройство также проверяет объявленный сигнал 322 Write Transfer Ack для подтверждения успешной доставки последних 8 байт первой полезной нагрузки W1(4) по каналу 106b записи принимающему устройству.
На пятом периоде 305 отсчета тактовых импульсов отправляющее устройство передает адрес A3 для третьей операции чтения по 32 носителю 308 адреса. Отправляющее устройство объявляет сигнал 312 AValid для указания того, что действительная информация передается по каналу 106a адреса. Отправляющее устройство также объявляет сигнал 313 Address/Data для указания того, что передающейся по каналу 106a адреса информацией является адрес A3. Сигнал 314 Transfer Attribute также объявляется отправляющим устройством для указания того, что полезная нагрузка для адреса A3 будет передана по каналу 106b записи. Сигнал 316 Read/Write остается отмененным для запроса операции записи. Сигнал 318 Payload Size может быть использован для указания размера полезной нагрузки, который в данном случае равен 8 байтам.
Во время того же пятого периода 305 отсчета тактовых импульсов отправляющее устройство использует носитель 320 записи для отправки полезной нагрузки W3. Отправляющее устройство также объявляет сигнал 324 WValid для указания того, что действительная информация передается по каналу 106b записи.
В конце пятого периода 305 отсчета тактовых импульсов отправляющее устройство проверяет объявленный сигнал 310 Address Transfer Ack для подтверждения успешной доставки адреса A2 по каналу 106a адреса принимающему устройству. Отправляющее устройство также проверяет объявленный сигнал 322 Write Transfer Ack для подтверждения успешной доставки третьей полезной нагрузки W13 по каналу 106b записи принимающему устройству.
1
2
1
2
1
2
Фиг. 4 - упрощенная структурная схема, иллюстрирующая отправляющее устройство 402, связывающееся с двумя принимающими устройствами 404a, 404b через схему 416 соединений шины в системе 400 обработки данных. В данном примере отправляющее устройство 402 может записывать на оба принимающих устройства 404a, 404b,одновременно используя 32-битный канал 406a адреса в качестве носителя для передачи адресов и полезной нагрузки схеме 416 соединений шины. Схема 416 соединений шины может затем использовать 32-битные каналы адреса 406a 406a для адресации к принимающим устройствам 404a, 404b и 64-битные каналы 406b, 406b для передачи полезной нагрузки. В случае когда схеме 416 соединений шины требуется выполнить несколько операций записи на одно или более принимающие устройства 404a, 404b, каналы адреса 406a 406а также могут быть использованы в качестве носителей для передачи и адресов, и нагрузки.
Теперь будет описан пример со ссылкой на Фиг. 5. Фиг. 5 - иллюстрация, показывающая информацию, протекающую по каналам адреса и записи. В данном примере схема 416 соединений шины будет предоставлять двухточечные соединения, которые позволяют каждой передаче от отправляющего устройства 402 достигать одного из принимающих устройств 404a, 404b в течение одного периода тактовых импульсов. На практике, тем не менее, схема 416 соединений шины может быть тактируемым устройством с буферизацией (см. Фиг. 4).
1
1
Обращаясь к Фиг. 5, отправляющее устройство инициирует 32-байтную операцию записи, за которой следует 8-байтная операция записи. В первом периоде 502 отсчета тактовых импульсов отправляющее устройство инициирует 32-байтную операцию записи посредством отправки адреса A1 схеме соединений на канале 406a адреса с соответствующими управляющими сигналами. Во время того же периода 502 тактовых импульсов отправляющее устройство также отправляет первые 8 байтов первой полезной нагрузки W1(1) принимающему устройству по каналу записи 406b. Схема соединений передает адрес A1 первому принимающему устройству 404a на канале 406a адреса первого принимающего устройства и передает первые 8 байтов первой полезной нагрузки W1(1) первому принимающему устройству 404a на первом канале 406bзаписи первого принимающего устройства.
2
1
Во втором периоде 504 отсчета тактовых импульсов отправляющее устройство инициирует следующую операцию записи посредством отправки адреса A2 схеме соединений на канале 406a адреса с соответствующими управляющими сигналами. Во время того же периода 504 тактовых импульсов отправляющее устройство также отправляет вторые 8 байтов первой полезной нагрузки W1(2) принимающему устройству по каналу записи 406b. Схема 416 соединений передает адрес A2 первому принимающему устройству 404b на канале 406a адреса второго принимающего устройства и передает вторые 8 байтов первой полезной нагрузки W1(2) первому принимающему устройству 404a на первом канале 406bзаписи первого принимающего устройства.
1
2
2
На третьем и четвертом периодах 506, 508 отсчета тактовых импульсов отправляющее устройство отправляет остаток первой полезной нагрузки Wl(3), Wl(4) через схему соединений шины первому принимающему устройству 404a по каналам 406b, 406b записи. Во время того же третьего и четвертого периодов 506, 508 отсчета тактовых импульсов отправляющее устройство передает вторую полезную нагрузку W2(l), W2(2) схеме соединений шины на канале 406a адреса. Вторая полезная нагрузка W2(l), W(2), являющаяся только 8-байтной, может быть передана во время третьего и четвертого периодов 506, 508 схемой соединений шины второму принимающему устройству по полубайтным линиям на канале 406b записи второго принимающего устройства. В качестве альтернативы, схема соединений шины может передать всю полезную нагрузку во время второго периода 508 отсчета тактовых импульсов по 64-битному каналу 406b записи для второго принимающего устройства, как показано.
Фиг. 6 - упрощенная структурная схема, иллюстрирующая пример двух устройств в системе 600 обработки данных, связывающихся по 4-канальной шине. Предусмотрен отдельный и независимый канал адреса для каждого из каналов записи и чтения. В данном примере каждый канал имеет ширину 32 бита, но может быть любой ширины на практике в зависимости от частного приложения и общих конструктивных ограничений. Операция записи по 4-канальной шине может быть выполнена тем же способом, что был описан ранее в отношении 3-канальной шины. То есть отправляющее устройство 602 передает адрес по каналу 606a адреса записи, а полезную нагрузку по каналу 606a адреса записи и каналу 606b записи. Разницей между двумя архитектурами шины является способ, которым выполняется операция чтения. Операция чтения по 4-канальной шине выполняется посредством отправки принимающему устройству 604 адреса по каналу 606d адреса чтения. В ответ принимающее устройство 604 отправляет полезную нагрузку отправляющему устройству 602 по каналу 606c чтения.
Теперь будет описан пример со ссылкой на Фиг. 7. Протокол шины для каналов адреса и записи 606a, 606b, 606d показан ниже в таблице 2. Данный протокол шины используется для иллюстрации изобретательных аспектов системы обработки данных, с пониманием того, что такие изобретательные аспекты могут быть использованы с другими протоколами шины. Специалист в данной области техники легко сможет изменить и/или добавить сигналы к данному протоколу в фактической реализации архитектур шины, описанных в данном документе.
Таблица 2
<b>Канал адреса записи</b>
<b>Сигнал</b>
<b>Определение</b>
<b>Приводится</b>
Write Address (Адрес записи)
32-битный носитель для передачи адресов записи и полезной нагрузки
Отправляющее устройство
Write Address/Data (Адрес/данные записи)
Указывает, является ли передаваемая информация на канале адреса записи адресом или полезной нагрузкой.
Отправляющее устройство
Transfer Attribute (Характеристика передачи)
Указывает, будет ли полезная нагрузка для текущего адреса передана по каналу адреса записи или каналу записи.
Отправляющее устройство
Write AValid (Действительно для адреса записи)
Указывает, передается ли действительная информация по каналу адреса записи.
Отправляющее устройство
Write Payload Size (Размер полезной нагрузки записи)
Указывает размер полезной нагрузки для текущего адреса записи.
Отправляющее устройство
Подтверждение передачи адреса записи
Указывает, приняло ли принимающее устройство успешно информацию, переданную по каналу адреса записи.
Принимающее устройство
Read Address (Адрес чтения)
32-битный носитель для передачи адресов и полезной нагрузки.
Отправляющее устройство
(Read Address/Data) Адрес/данные чтения
Указывает, является ли передаваемая информация на канале адреса чтения адресом или полезной нагрузкой.
Отправляющее устройство
Read AValid (Действительно для адреса чтения)
Указывает, передается ли действительная информация по каналу адреса чтения.
Read Payload Size (Размер полезной нагрузки чтения)
Указывает размер полезной нагрузки для текущего адреса чтения.
Отправляющее устройство
Read Address Transfer Ack (Подтверждение передачи адреса чтения)
Указывает, приняло ли принимающее устройство успешно информацию, переданную по каналу адреса чтения.
Принимающее устройство
Write (Запись)
32-битный носитель для передачи полезной нагрузки.
Отправляющее устройство
WValid (Действительно для записи)
Указывает, передается ли действительная информация по каналу записи.
Отправляющее устройство
Write Transfer Ack (Подтверждение передачи записи)
Указывает, приняло ли принимающее устройство успешно информацию, переданную по каналу записи.
Принимающее устройство
Протокол для сигнала Transfer Ack (Подтверждение передачи) на канале адреса записи показан ниже в таблице 3.
Таблица 3
Transfer Attribute (Характеристика передачи)
Определение
000
Полезная нагрузка для текущего адреса будет передана по каналу записи.
001
Полезная нагрузка для текущего адреса будет передана по каналу адреса записи.
010
Полезная нагрузка для текущего адреса будет передана по каналу адреса чтения.
011
Зарезервировано
Фиг. 7 - временная диаграмма, показывающая управляющую сигнализацию для 16-байтной операции записи, за которой следует 12-байтная операция записи, а затем 4-байтная операция записи. Системный генератор 706 тактовых импульсов может быть использован для синхронизации связи между отправляющим и принимающим устройствами. Системный генератор 706 тактовых импульсов показан с пятью периодами отсчета тактовых импульсов, где каждый период отсчета последовательно пронумерован.
Операция записи может быть инициирована по каналу 606a адреса отправляющим устройством во время первого периода 701 отсчета тактовых импульсов. Эта операция может быть выполнена передачей адреса A1 для первой операции записи на 32-битном носителе 708 адреса записи. Во время того же периода 701 отправляющее устройство объявляет сигнал 712 Write AValid для указания того, что действительная информация передается по каналу 606a адреса записи. Отправляющее устройство также объявляет сигнал 713 Write Address/Data для указания того, что информацией является адрес A1. Отправляющее устройство также устанавливает сигнал 714 Transfer Attribute в "000" для указания того, что полезная нагрузка для адреса A1 будет передана по каналу 606b записи. Сигнал 718 Payload Size может быть использован для указания размера полезной нагрузки, который в данном случае равен 16 байтам.
Во время того же первого периода 701 отсчета тактовых импульсов отправляющее устройство использует среду 720 записи для передачи первых 4 байтов первой полезной нагрузки W1(1). Отправляющее устройство также объявляет сигнал 724 WValid для указания того, что действительная информация передается по каналу 606b записи.
В конце первого периода 701 отсчета тактовых импульсов отправляющее устройство проверяет объявленный сигнал 710 Write Address Transfer Ack для подтверждения успешной доставки адреса A1 по каналу 606a адреса принимающему устройству. Отправляющее устройство также проверяет объявленный сигнал 722 Write Transfer Ack для подтверждения успешной доставки первых 4 байт первой полезной нагрузки W1(1) по каналу 606b записи принимающему устройству.
На втором периоде 702 тактовых импульсов отправляющее устройство передает адрес A2 для второй операции записи на 32-битный носитель 708 адреса до того, как закончится первая операция записи. Отправляющее устройство объявляет сигнал 712 Write AValid для отображения того, что действительная информация является переданной на канал 606а адреса записи.
Отправляющее устройство также объявляет сигнал 713 Address/Data для указания того, что информацией является адрес A2. Отправляющее устройство также устанавливает сигнал 714 Transfer Attribute в "010" для указания того, что полезная нагрузка для адреса A2 будет передана по каналу 606d адреса записи. Сигнал 718 Payload Size может быть использован для указания размера полезной нагрузки, который в данном случае равен 12 байтам.
Во время того же второго периода 702 отсчета тактовых импульсов отправляющее устройство использует носитель 720 записи для передачи вторых 4 байтов первой полезной нагрузки W1(2) и объявляет сигнал 724 WValid для указания того, что действительная информация передается по каналу 606b записи. Отправляющее устройство использует носитель 730 адреса чтения для отправки первых 4 байтов второй полезной нагрузки W2(1) и объявляет сигнал 728 Read AValid для указания того, что действительная информация передается по каналу 606d адреса чтения. Отправляющее устройство отменяет сигнал 729 Read Address/Data для указания того, что информация, передаваемая по каналу 606d, является данными полезной нагрузки.
В конце второго периода 702 отсчета тактовых импульсов отправляющее устройство проверяет объявленный сигнал 710 Write Address Transfer Ack для подтверждения успешной доставки адреса A2 по каналу 606a адреса принимающему устройству. Отправляющее устройство также проверяет объявленные сигналы 722, 726 Write Transfer Ack и Read Address Transfer Ack для подтверждения успешной доставки данных полезной нагрузки по каналам 606b, 606d адресов записи и чтения.
Во время того же третьего периода 703 отправляющее устройство объявляет сигнал 712 Write AValid для указания того, что действительная информация передается по каналу 606a адреса записи. Отправляющее устройство также объявляет сигнал 713 Address/Data для указания того, что информацией является адрес A3. Отправляющее устройство также устанавливает сигнал 714 Transfer Attribute в "001" для указания того, что полезная нагрузка для адреса A3 будет передана по каналу 606a адреса записи. Сигнал 718 Payload Size может быть использован для указания размера полезной нагрузки, который в данном случае равен 4 байтам.
Во время того же третьего периода 703 отсчета тактовых импульсов отправляющее устройство использует носитель 720 записи для передачи третьих 4 байтов первой полезной нагрузки W1(3) и объявляет сигнал 724 WValid для указания того, что действительная информация передается по каналу 606b записи. Отправляющее устройство использует носитель 730 адреса чтения для отправки первых 4 байтов второй полезной нагрузки W2(2) и объявляет сигнал 728 Read AValid для указания того, что действительная информация передается по каналу 606d адреса чтения. Отправляющее устройство отменяет сигнал 729 Read Address/Data для указания того, что информация, передаваемая по каналу 606d, является данными полезной нагрузки.
В конце третьего периода 703 отсчета тактовых импульсов отправляющее устройство проверяет объявленный сигнал 710 Write Address Transfer Ack для подтверждения успешной доставки адреса A3 по каналу 606a адреса принимающему устройству. Отправляющее устройство также проверяет объявленные сигналы 722, 726 Write Transfer Ack и Read Address Transfer Ack для подтверждения успешной доставки данных полезной нагрузки по каналам 606b, 606d адресов записи и чтения.
На четвертом периоде 704 отсчета тактовых импульсов отправляющее устройство использует носитель 720 записи для отправки последних 4 байтов первой полезной нагрузки Wl(4) и носитель 739 адреса чтения для отправки последних 4 байтов второй полезной нагрузки W2(3). Отправляющее устройство объявляет сигналы 724, 728 WValid и Read AValid для указания того, что действительная информация передается по каналам 606b, 606d адресов чтения и записи. Отправляющее устройство отменяет сигнал 729 Read Address/Data для указания того, что информация, передаваемая по каналу 606d является, данными полезной нагрузки.
Отправляющее устройство использует носитель 708 адреса записи для отправки третьей полезной нагрузки W3 и объявляет сигнал 712 Write AValid для указания того, что действительная информация отправляется по каналу 606a адреса записи. Отправляющее устройство отменяет сигнал 713 Address/Data для указания того, что информация, передаваемая по каналу 606d адреса записи, является данными полезной нагрузки. Состояния сигнала 714 Transfer Attribute и сигнала 718 Payload Size могут быть игнорированы.
1
2
3
1
2
3
1
2
3
1
2
3
Фиг. 8 - упрощенная структурная схема, иллюстрирующая отправляющее устройство 802, связывающееся с двумя принимающими устройствами 804a-804c через схему 816 соединений шины в системе 800 обработки данных. В данном примере отправляющее устройство 802 может записывать на все три принимающих устройства 804a-804c, одновременно используя каналы 806d, 806a адресов чтения и записи в качестве носителя для передачи адресов и полезной нагрузки. Схема 816 соединений шины может затем использовать каналы 806a, 806a, 806а адреса записи для адресации принимающих устройств 804a, 804b, 804c и каналы записи 806b, 806b, 806b для передачи рабочей нагрузки. В случае, где схема 816 соединений шины требует выполнять множество операций записи на одно или более принимающие устройства 804a, 804b, 804c, каналы 806d, 806d, 806d, 806a, 806a, 806a адресов чтения и записи могут также использоваться в качестве группового носителя для передачи адресов и полезной нагрузки.
Теперь будет описан пример со ссылкой на Фиг. 9. Фиг. 9 - иллюстрация, показывающая информацию, протекающую по каналам адреса и записи. В данном примере схема 816 соединений шины будет предоставлять двухточечные соединения, которые позволяют каждой передаче от отправляющего устройства 802 достигать одно из принимающих устройств 804a, 804b, 804c в течение одного периода тактовых импульсов. На практике, тем не менее, схема 816 соединений шины может быть тактируемым устройством с буферизацией (см. Фиг. 8).
1
1
Обращаясь к Фиг. 9, на первом периоде 902 отсчета тактовых импульсов отправляющее устройство инициирует 16-байтную операцию записи посредством отправки адреса A1 схеме соединений на канале 806a адреса с соответствующими управляющими сигналами. Во время того же периода 902 тактовых импульсов отправляющее устройство также отправляет первые 8 байтов первой полезной нагрузки W1(1) принимающему устройству по каналу записи 806b. Схема соединений передает адрес A1 первому принимающему устройству 804a на канале 806a адреса первого принимающего устройства и передает первые 4 байта первой полезной нагрузки W1(1) первому принимающему устройству 804a на первом канале 806bзаписи первого принимающего устройства.
2
1
2
Во втором периоде 904 отсчета тактовых импульсов отправляющее устройство инициирует следующую операцию записи посредством отправки адреса A2 схеме соединений шины на канале 806a адреса с соответствующими управляющими сигналами. Во время того же периода 904 отсчета тактовых импульсов отправляющее устройство также отправляет вторые 4 байта первой полезной нагрузки W1(2) схеме соединений шины по каналу 806b и первые 4 байта второй полезной нагрузки W2(1) схеме соединений шины по каналу 806d адреса чтения. Схема 816 соединений шины передает адрес A2 второму принимающему устройству 804b по каналу 806а адреса второго принимающего устройства, передает вторые 4 байта первой полезной нагрузки W1(2) по каналу 806b записи первого принимающего устройства и передает первые 4 байта второй полезной нагрузки W2(1) второму принимающему устройству 804b на канале 806b записи второго принимающего устройства.
3
1
2
На третьем периоде 906 отсчета тактовых импульсов отправляющее устройство инициирует следующую операцию записи посредством отправки адреса A3 схеме соединений шины на канале 806a адреса с соответствующими управляющими сигналами. Во время того же периода 904 отсчета тактовых импульсов отправляющее устройство также отправляет третьи 4 байта первой полезной нагрузки W1(3) схеме соединений шины по каналу 806b и вторые 4 байта второй полезной нагрузки W2(2) схеме соединений шины по каналу 806d адреса чтения. Схема 816 соединений шины передает адрес A3 третьему принимающему устройству 804c по каналу 806a адреса третьего принимающего устройства, передает третьи 4 байта первой полезной нагрузке W1(3) к первому принимающему устройству 804а на канале 806b записи первого принимающего устройства и передает вторые 4 байта второй полезной нагрузки W2(2) второму принимающему устройству 804b по каналу 806b записи второго принимающего устройства.
1
2
3
На четвертом цикле 908 отсчета тактовых импульсов отправляющее устройство отправляет последние 4 байта второй полезной нагрузки W1(4) схеме соединений шины по каналу 806b записи, последние 4 байта второй полезной нагрузки W2(3) схеме соединений шины по каналу 806d адреса чтения и третью полезную нагрузку W3 схеме соединений шины по каналу 806a адреса записи. Схема 816 соединений шины передает последние 4 байта первой полезной нагрузки W1(4) первому принимающему устройству 804a по каналу 806b записи первого принимающего устройства, передает последние 4 байта второй полезной нагрузки W2(3) второму принимающему устройству 804b по каналу 806b записи второго принимающего устройства и передает третью полезную нагрузку W3 третьему принимающему устройству 804c по каналу 806b записи третьего принимающего устройства.
Различные иллюстративные логические блоки, модули и контуры, описанные в связи с примерными вариантами осуществления, раскрытыми в данном документе, могут быть реализованы или выполнены с помощью процессора общего назначения, процессора цифровой обработки сигналов (DSP), специализированной интегральной схемы (ASIC), программируемой вентильной матрицы (FPGA) или другого программируемого логического компонента, логики дискретных вентилей или транзисторной логики, дискретных аппаратных компонентов или любого их сочетания, разработанного для выполнения функций, описанных в данном документе. Процессором общего применения может быть микропроцессор, но в альтернативном варианте процессор может быть любым традиционным процессором, контроллером, микроконтроллером или конечным автоматом. Процессор может также быть реализован как сочетание вычислительных компонент, например, сочетание DSP и микропроцессора, множества микропроцессоров, одного или более микропроцессоров в соединении с ядром DSP или любой другой подобной конфигурацией.
Способы или алгоритмы, описанные в соединении с вариантами осуществления, раскрытыми в данном документе, могут быть реализованы напрямую в аппаратном обеспечении, в программном модуле, выполняемом процессором, или в сочетании обоих. Программно реализованный модуль может находиться в памяти ОЗУ (оперативного запоминающего устройства, RAM), флэш-памяти, памяти ПЗУ (постоянного запоминающего устройства, ROM), памяти ЭСППЗУ (электрически стираемого и программируемого ПЗУ, EEPROM), регистрах, жестком диске, съемном диске, CD-ROM (ПЗУ на компакт диске) или любом другом виде запоминающего носителя, известном в данной области техники. Запоминающий носитель может быть присоединен к процессору так, что процессор может считывать информацию с и записывать информацию на запоминающий носитель. Процессор и запоминающий носитель может находиться в специализированной интегральной микросхеме (ASIC). ASIC может находиться в отправляющем и/или принимающем компоненте или в другом месте. В альтернативном варианте процессор и носитель хранения могут находиться как дискретные компоненты в отправляющем и/или принимающем компоненте или в другом месте.
Предшествующее описание раскрытых вариантов осуществления предоставлено, чтобы дать возможность любому специалисту в данной области техники создать или использовать настоящее изобретение. Различные модификации в этих вариантах осуществления будут с легкостью очевидны специалисту в данной области техники, а общие принципы, определенные в данном документе, могут быть применены к другим вариантам осуществления без отклонения от сущности и объема изобретения. Таким образом, настоящее изобретение не подразумевается ограниченным показанными в данном документе вариантами осуществления, но должно быть согласно самому широкому объему, согласующемуся с принципами и новыми признаками, раскрытыми в данном документе.