ppu端程序:
解释:
int spe_in_mbox_status(spe_context_ptr_t spe):如果入站邮箱已满,返回值为0。返回值为可以写入的信息个数。入站邮箱是大小为4的先进先出队列。
int spe_in_mbox_write(spe_context_ptr_t spe, unsigned int *mbox_data, int count, unsigned int behavior):向spe指定的SPE入站邮箱写入最多count个信息,mbox_data指向数据源,由behavior指定该函数是否是阻塞的。
behavior有3种取值:SPE_MBOX_ALL_BLOCKING(所有count条邮箱消息被写,然后调用阻塞), SPE_MBOX_ANY_BLOCKING(至少一条邮箱消息被写,然后调用阻塞), SPE_MBOX_ANY_NONBLOCKING(写入count条数据没有阻塞)。
int spe_out_mbox_status(spe_context_ptr_t spe):返回值为邮箱中未读出的信息个数。
int spe_out_mbox_read(spe_context_ptr_t spe, unsigned int *mbox_data, int count):读出至多count条可用信息,返回值是读出的信息个数。
spu端程序:
解释:
spu_atat_in_mbox():返回邮箱中未被读出的信息的个数。
spu_read_in_mbox():读出下一个数据信息。
spu_stat_out_mbox():返回邮箱中可接收的信息数目。
spu_write_out_mbox(unsigned int data):将数据发送到出站邮箱。
总结:ppu端的邮箱函数是非阻塞的,spu端的邮箱函数是阻塞的。