Therefore, they cannot be accessed directly, but must be moved in through DMA.
因而,它们不能被直接访问,而必须通过DMA 移进来。
The third copy happens as the DMA engine passes the data from the kernel socket buffers to the protocol engine.
数据的第三次复制发生在dma引擎将数据从内核套接字缓冲区传到协议引擎时。
It takes a tag as its only parameter, converts it to a tag mask, requests a DMA status, and then reads the status.
它接受标签作为惟一一个参数,将它转换为标签掩码、请求dma状态然后再读取状态。
In some cases, the data passed in as arguments will have more addresses that are, in turn, DMA-ed over in whole or in part.
在某些情况下,作为参数传递进来的数据会有更多地址,它们可能是采用dma方式一起或部分传入的。
All DMA commands issued with the same tag are considered a single group, and status updates and sequencing operations apply to the group as a whole.
所有用相同的标签发出的dma命令被认为是单一一个组,并且状态更新和排序操作都会作用于整个组。
In this application, you will only have one DMA command active at a time, so all of your operations will use 0 as the DMA tag.
在这个应用程序中,一次只有一个dma命令是激活的,所以所有的操作都将使用0作为DMA标签。
The real power of mailboxes comes when a program combines the mailbox and the DMA approach.
当程序组合使用了邮箱和DMA方法时,才会显出邮箱的真正实力。
Moreover, the chip includes all the necessary plumbing to move bite-size chunks of DMA data around without any additional hardware design effort on your part.
另外,芯片还包括了所有必需的管道技术以便随意移动少量的dma数据而且无需设计任何其他硬件。
These all need to be quadword aligned, so that you can copy it into your main program and use the values with DMA transfers.
而且它们都是按四字节对齐的以便能够将其复制进您的主程序并在DMA 传输时使用值。
The SPE can't hold that much data at once in the 256kb local store, but it can DMA over one chunk at a time for processing.
SPE不能在256kb本地存储中一次保存这么多数据,但是它可以采用dma方式一次获取一部分数据进行处理。
Remember that DMA transfers of 16 bytes or more must be in 16-byte multiples and aligned to 16-byte boundaries on both the SPE and the PPE.
记住,传输16字节或更多字节的dma在spe和PPE上必须是16字节的整数倍,并按照16字节边界进行对齐。
So, instead of catching and emulating access to physical devices below the hypervisor, new processors provide DMA address translation and permissions checking for efficient device passthrough.
因此,新的处理器提供DMA地址转换和权限检查以实现有效的设备透传,而不是捕获并模拟对管理程序下的物理设备的访问。
Whether it's an argument passed in or an address gotten some other way, the DMA targets must be aligned on cache lines (16 bytes).
不管是传入的参数还是通过其他方式获得的地址,DMA的目标地址必须要与缓存线路(16字节)进行对齐。
When the command is written, the DMA request is enqueued into the MFC provided it has available slots -- yours certainly does as you are not doing any other concurrent DMA requests.
当命令被写入时,DMA请求会被排队放入MFC,条件是 MFC具有可用的槽 —— 本例中自然如此,原因是本例没有进行任何并发的 DMA 请求。
The problem is that there are unusually strict alignment requirements on data that will be transferred through DMA.
这个问题由于通常通过dma方式传递数据时,会有严格的对齐要求。
The SPU queues a DMA GET to pull a portion of the problem data set from main memory to a buffer.
SPU对DMA GET进行排队,从而将涉及的数据集的一部分从主内存传输到一个缓冲区。
Queue a DMA GETB to refill the buffer with more data after the existing data is stored back.
对DMAGETB进行排队,从而在将现有数据存储回去之后,用更多数据重新填充缓冲区。
By mapping multiple SPUs into a single process, it becomes possible to use DMA to transfer data between the local store of two SPUs directly.
通过将多个SPU映射到一个进程中,就可以使用DMA来在两个SPU的本地存储之间直接传输数据。
The ppe does this through memory-mapped register access from kernel mode, while the SPE writes to its DMA channels from code running on the SPU.
PPE可以通过在内核模式中使用内存映射寄存器来发起dma传输,而SPE则可以使用在SPU上运行的代码来写入dma通道。
Note that all of the declared variables which will be copied using DMA are aligned on quadword boundaries and are multiples of quadwords.
注意所有声明的变量(使用DMA复制的)都是按四字边界对齐的且都是四字的整数倍。
Finally, all DMA command names have a _cmd suffix.
最后,所有的dma命令名都有一个_ CMD后缀。
A DMA request always involves moving data between the SPE local store and a virtual address space on the PPE side.
dma请求通常会涉及数据在SPE本地存储与ppe端虚拟地址空间之间进行移动。
Before getting into the details of the main program, I'll explore the DMA utility functions.
在深入介绍主程序细节之前,我要先来探讨一下dma实用函数。
Next, it performs a DMA transfer to copy in the parameter structure from the PPE.
接下来,执行dma传输以在参数结构内从ppe复制。
As you may have guessed, most of the interesting parts of the program are taking place on the SPE, including all of the DMA transfers.
正如您所猜测的那样,程序大多数有趣的部分都发生在SPE,包括所有的dma传输。
While DMA to and from the SPE is adequate for moving blocks of data, there's often a need for the ability to send smaller messages faster.
尽管对于向SPE中传递数据或从SPE中读取数据来说,DMA已经足以用来移动数据了,但是通常会需要具有可以快速发送更小的消息的能力。
For instance, one of the problems with the original code is that it is limited to the size of a DMA transfer.
举例来说,原来代码的一个问题是一次dma传输的大小有限制。
The SPU queues a DMA PUT to transmit the buffer back to main memory.
SPU对DMA PUT进行排队,从而将缓冲区传输回主内存。
DMA transfers are almost always done by the SPEs rather than by the PPE because they can handle much more data and many more active DMA operations than the PPE.
dma传输基本上总由spe而非ppe完成,原因是SPE较P pe而言可以处理更多的数据和更多的当前dma操作。
You use the same DMA parameters as for the last transfer, but this time it is an MFC_PUT_CMD command.
使用相同的dma参数作最后的传输,但这次使用的是MFC_PUT _ CMD命令。
应用推荐