Вспомогательные записи по каналу адреса
Иллюстрации
Показать всеИзобретение относится к системам и методикам обработки данных. Техническим результатом является расширение функциональных возможностей за счет выполнения вспомогательных записей по адресному каналу шины. Система обработки данных включает в себя принимающее устройство, шину, содержащую первый, второй и третий каналы, и отправляющее устройство, сконфигурированное для адресации к принимающему устройству по первому каналу, и чтения полезной нагрузки от принимающего устройства по второму каналу, причем отправляющее устройство дополнительно конфигурируется для выбора между первым и третьим каналами для записи полезной нагрузки на принимающее устройство. 7 н. и 30 з.п. ф-лы, 3 табл., 9 ил.
Реферат
РОДСТВЕННЫЕ ЗАЯВКИ
Настоящая заявка на выдачу патента испрашивает преимущество предварительной заявки № 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 записи принимающему устройству.
Фиг. 4 - упрощенная структурная схема, иллюстрирующая отправляющее устройство 402, связывающееся с двумя принимающими устройствами 404a, 404b через схему 416 соединений шины в системе 400 обработки данных. В данном примере отправляющее устройство 402 может записывать на оба принимающих устройства 404a, 404b,одновременно используя 32-битный канал 406a адреса в качестве носителя для передачи адресов и полезной нагрузки схеме 416 соединений шины. Схема 416 соединений шины может затем использовать 32-битные каналы адреса 406a1 406a2 для адресации к принимающим устройствам 404a, 404b и 64-битные каналы 406b1, 406b2 для передачи полезной нагрузки. В случае когда схеме 416 соединений шины требуется выполнить несколько операций записи на одно или более принимающие устройства 404a, 404b, каналы адреса 406a1 406а2 также могут быть использованы в качестве носителей для передачи и адресов, и нагрузки.
Теперь будет описан пример со ссылкой на Фиг. 5. Фиг. 5 - иллюстрация, показывающая информацию, протекающую по каналам адреса и записи. В данном примере схема 416 соединений шины будет предоставлять двухточечные соединения, которые позволяют каждой передаче от отправляющего устройства 402 достигать одного из принимающих устройств 404a, 404b в течение одного периода тактовых импульсов. На практике, тем не менее, схема 416 соединений шины может быть тактируемым устройством с буферизацией (см. Фиг. 4).
Обращаясь к Фиг. 5, отправляющее устройство инициирует 32-байтную операцию записи, за которой следует 8-байтная операция записи. В первом периоде 502 отсчета тактовых импульсов отправляющее устройство инициирует 32-байтную операцию записи посредством отправки адреса A1 схеме соединений на канале 406a адреса с соответствующими управляющими сигналами. Во время того же периода 502 тактовых импульсов отправляющее устройство также отправляет первые 8 байтов первой полезной нагрузки W1(1) принимающему устройству по каналу записи 406b. Схема соединений передает адрес A1 первому принимающему устройству 404a на канале 406a1 адреса первого принимающего устройства и передает первые 8 байтов первой полезной нагрузки W1(1) первому принимающему устройству 404a на первом канале 406b1 записи первого принимающего устройства.
Во втором периоде 504 отсчета тактовых импульсов отправляющее устройство инициирует следующую операцию записи посредством отправки адреса A2 схеме соединений на канале 406a адреса с соответствующими управляющими сигналами. Во время того же периода 504 тактовых импульсов отправляющее устройство также отправляет вторые 8 байтов первой полезной нагрузки W1(2) принимающему устройству по каналу записи 406b. Схема 416 соединений передает адрес A2 первому принимающему устройству 404b на канале 406a2 адреса второго принимающего устройства и передает вторые 8 байтов первой полезной нагрузки W1(2) первому принимающему устройству 404a на первом канале 406b1 записи первого принимающего устройства.
На третьем и четвертом периодах 506, 508 отсчета тактовых импульсов отправляющее устройство отправляет остаток первой полезной нагрузки Wl(3), Wl(4) через схему соединений шины первому принимающему устройству 404a по каналам 406b, 406b1 записи. Во время того же третьего и четвертого периодов 506, 508 отсчета тактовых импульсов отправляющее устройство передает вторую полезную нагрузку W2(l), W2(2) схеме соединений шины на канале 406a адреса. Вторая полезная нагрузка W2(l), W(2), являющаяся только 8-байтной, может быть передана во время третьего и четвертого периодов 506, 508 схемой соединений шины второму принимающему устройству по полубайтным линиям на канале 406b2 записи второго принимающего устройства. В качестве альтернативы, схема соединений шины может передать всю полезную нагрузку во время второго периода 508 отсчета тактовых импульсов по 64-битному каналу 406b2 записи для второго принимающего устройства, как показано.
Фиг. 6 - упрощенная структурная схема, иллюстрирующая пример двух устройств в системе 600 обработки данных, связывающихся по 4-канальной шине. Предусмотрен отдельный и независимый канал адреса для каждого из каналов записи и чтения. В данном примере каждый канал имеет ширину 32 бита, но может быть любой ширины на практике в зависимости от частного приложения и общих конструктивных ограничений. Операция записи по 4-канальной шине может быть выполнена тем же способом, что был описан ранее в отношении 3-канальной шины. То есть отправляющее устройство 602 передает адрес по каналу 606a адреса записи, а полезную нагрузку по каналу 606a адреса записи и каналу 606b записи. Разницей между двумя архитектурами шины является способ, которым выполняется операция чтения. Операция чтения по 4-канальной шине выполняется посредством отправки принимающему устройству 604 адреса по каналу 606d адреса чтения. В ответ принимающее устройство 604 отправляет полезную нагрузку отправляющему устройству 602 по каналу 606c чтения.
Теперь будет описан пример со ссылкой на Фиг. 7. Протокол шины для каналов адреса и записи 606a, 606b, 606d показан ниже в таблице 2. Данный протокол шины используется для иллюстрации изобретательных аспектов системы обработки данных, с пониманием того, что такие изобретательные аспекты могут быть использованы с другими протоколами шины. Специалист в данной области техники легко сможет изменить и/или добавить сигналы к данному протоколу в фактической реализации архитектур шины, описанных в данном документе.
Таблица 2 | ||
Канал адреса записи | ||
Сигнал | Определение | Приводится |
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 адреса до того, как