多核编程指南(六)---进程间通信(三)

Multicore Navigator封装消息,包括在称为描述符的容器中包含数据的消息,并在硬件队列之间移动它们。每个目的地都有一个或多个专用的接收队列。Multicore Navigator允许接收方使用以下方法访问接收队列中的描述符

Non-blocking Polling

在这种方法中,接收方检查接收队列中是否有描述符在等待。如果没有描述符,则接收方继续执行

Blocking Polling

在这种方法中,接收方阻塞其执行,直到接收队列中有描述符,然后继续处理描述符

Interrupt-based Notification

在这个方法中,每当一个新的描述符被放入它的接收队列时,接收器就会得到一个中断。这种方法保证了对传入描述符的快速响应。当新描述符到达时,接收方执行上下文切换并开始处理新描述符

Delayed (Staggered) Interrupt Notification

当传入描述符的频率较高时,Navigator可以将中断配置为仅当队列中新描述符的数量达到可编程的watermark时,或在队列中第一个描述符到达后的某一时间后发送。该方法减少了接收机的上下文切换负载

QoS-based Notification

Multicore Navigator支持服务质量机制,以对外围模块的数据流流量进行优先级排序;该机制评估每个数据流,以便根据预定义的服务质量参数延迟或加速数据流。相同的机制可用于在核心之间传输不同重要的消息

服务质量(QoS)固件的主要任务是管理系统中的所有数据包流,并验证外围设备和主机CPU是否被数据包淹没。为了支持QoS,称为QoS PDSP的特殊处理器在队列之间监视和移动描述符

QoS系统功能的关键部分是分组队列的安排。有两组数据包队列:QoS入口队列和最终目的地队列。最后目的地队列进一步分为主机队列和外围出口队列。主机队列是在主机设备上终止并由主机实际接收的队列。出口队列是那些终止于物理出口外围设备的队列。定型流量时,只有QoS PDSP写入主机队列或出口队列。未定型的流量仅写入QoS入口队列

QoS PDSP的工作是将数据包从QoS入口队列移动到其最终目的队列,同时在该过程中执行适当的流量整形。系统中有一组指定的队列,这些队列馈送到QoS PDSP。这些称为QoS队列。QoS队列只是由PDSP上运行的固件控制的队列。队列没有固定的属性将它们固定到特定的目的。

扫描二维码关注公众号,回复: 13593870 查看本文章

参考文献:

  1. 《Muliticore Programming Guide》

猜你喜欢

转载自blog.csdn.net/Xiao_Jie123/article/details/119615787