PCI load/store operations and DMA operations are implemented via work queue
pairs in a message-passing, queue-oriented bus architecture. PCI address
space is divided into segments and, each segment, in turn, is divided into
regions. A separate work queue is assigned to each segment. A first
portion of a PCI address is matched against the address ranges represented
by the segments and used to select a memory segment and its corresponding
work queue. An entry in the work queue holds a second portion of the PCI
address which specifies a region within the selected segment that is
assigned to a specific PCI device. In one embodiment, PIO load/store
operations are implemented by selecting a work queue assigned to PIO
operations and creating a work queue entry with the PCI address of a
register on a PCI device and a pointer to the PIO data. The work queue
entry is sent to a PCI bridge where the PCI address is extracted and used
to program the appropriate device register with the data using the data
pointer. DMA transfers are also implemented by selecting a work queue by
means comparing a portion of the PCI address generated by the PCI device
to an address range table and selecting a work queue that services the
address range. A work queue entry is created with the remainder of the PCI
address and a pointer to the DMA data. An RDMA operation is used to
perform the DMA transfer. The page and region data is used in connection
with a translation protection table in the host channel adapter to access
physical memory and perform the DMA transfer.
Деятельности pci load/store и деятельности dma снабжены через пары в сообщени-proxodit6, кос-orientirovannoe зодчество косы работы шины. Место для адреса pci разделено в этапы и, каждый этап, в свою очередь, разделен в зоны. Отдельно коса работы задана к каждому этапу. Первая часть адреса pci сопрягана против рядов адреса представленных этапами и использованных для того чтобы выбрать этап памяти и свою соответствуя косу работы. Вход в косу работы держит вторую часть адреса pci определяет зону в пределах выбранного этапа задан к специфически приспособлению pci. В одном воплощении, деятельности pio load/store снабжены путем выбирать косу работы заданную к деятельностям pio и создавать вход косы работы с адресом pci регистра на приспособлении pci и указателя к данным по pio. Вход косы работы послан к мосту pci где адрес pci извлечен и использован для того чтобы запрограммировать регистр соответствующие устройства с данными использующ указатель данных. Переходы dma также снабжены путем выбирать косу работы серединами сравнивая часть адреса pci произведенного приспособлением pci к таблице ряда адреса и выбирая косу работы обслуживает ряд адреса. Вход косы работы создан с остатком адреса pci и указателем к данным по dma. Деятельность RDMA использована для того чтобы выполнить переход dma. Страница и данные по зоны использованы в связи с таблицей предохранения от перевода в переходнике канала хозяина для того чтобы достигнуть физической памяти и выполнить перехода dma.