开始执行SPU代码。
SPU处理一号缓冲区。
SPU处理二号缓冲区。
Direct systems calls from an spu.
从SPU中直接进行系统调用。
The SPU waits for the buffer to fill up.
SPU等待缓冲区被填充。
The SPU waits for buffer #2 to finish filling.
SPU等待二号缓冲区被填充。
Debugging SPU programs creates a new set of problems.
调试s PU程序会出现一些新的问题。
Every directory in spufs refers to a logical spu context.
spufs中的每个目录都是指一个逻辑的spu上下文。
The SPU waits for the buffer to finish being transmitted.
SPU等待缓冲区完成传输。
The SPU queues a DMA PUT to transmit the buffer back to main memory.
SPU对DMA PUT进行排队,从而将缓冲区传输回主内存。
A signal might need to be delivered to a thread that is executing SPU code.
我们可能需要将信号发送给正在执行SPU代码的线程。
SPU code is compiled separately from the PPC code and gets loaded at run time.
SPU代码与PPC代码分开进行编译,并在运行时进行加载。
I did not do a "less than" comparison, because they aren't available on the SPU!
我并没有做“小于”比较,因为它们在SPU尚不可用!
Also, exceptions resulting from executed code aren't reported to the SPU itself.
而且,执行代码产生的异常结果也不会向SPU进行汇报。
Instead, the SPU can access any 128-bit word in the local store at L1 cache speed.
相反,SPU可以以L1缓存的速度来访问本地存储器中的任何128位的字。
It turns out that several SPU instructions deal with only one of the register's values.
几个SPU指令只能处理这些寄存器值中的一个。
An SPU resembles a cross between a simple CPU design and a digital signal processor.
SPU就像是简单的CPU设计与数字信号处理器之间的交叉。
Branch hinting is necessary on the SPU because mispredicted branches come at a high cost.
分支提示之所以在SPU是必需的是因为预测错误的分支可能会带来高耗费。
The SPU actually loads two instructions at a time from a doubleword-aligned boundary.
SPU实际上会从一个双字对齐的边界开始一次加载两条指令。
Remember that the SPU registers are 128 bits wide, but our value is only 32 bits long.
SPU寄存器均为128位宽,但我们的值只有32位长。
The SPU queues a DMA GET to pull a portion of the problem data set from main memory to a buffer.
SPU对DMA GET进行排队,从而将涉及的数据集的一部分从主内存传输到一个缓冲区。
This requires changes to the OProfile kernel code to sample the SPU instruction Pointers regularly.
这需要修改oprofile的内核代码来周期性地对SPU指令指针进行采样。
However, with the SPU, the results are stored in a general-purpose register -- register 4 in this case.
但,如果是SPU,结果会存储在一种通用的寄存器内 —— 在本例中就是寄存器4。
Other challenges are the integration of SPU program execution into existing tools like GDB or OProfile.
其他挑战还有 SPU程序执行与现有工具(例如GDB和OProfile)的集成。
The two transmission steps do not involve the SPU at all, but only the MFC (which is part of the larger SPE).
两个传输步骤根本没有涉及SPU,只涉及MFC(这是比较大的SPE的一部分)。
In the code written so far, the SPU has simply waited for the MFC to finish before processing anything else.
在目前编写的代码中,SPU仅仅等待MF C完成传输,然后才能处理其他东西。
It has three mailbox registers for each SPU, and each of those accesses one of the three SPU mailbox channels.
每个SPU具有三个邮箱寄存器,每个都可以访问这三个SPU邮箱通道。
When the PPE writes a data word to that address, the SPU can read from its corresponding mailbox read channels.
当PPE将一个数据字写入这个地址时,SPU就可以从对应的邮箱读通道中读取这个数据字的内容。
If a serious error occurs, for example, an invalid opcode, the SPU is stopped and an interrupt is delivered to the ppe.
如果发生了一个非常严重的错误,例如一个无效的操作码,那么SPU就会停止,并向PPE发送一个中断。
The SPU is built to deal with data in batches, so moving to a buffer-at-a-time model will make the enhancements easier.
SPU的设计就是用来批量处理数据,因此转到“一次处理一个缓冲区”的模型可以简化这种改进。
应用推荐