DSP Link驱动是CE中的一个模块,负责ARM与DSP的通信,整个通信机制建立在RPC(Remote Procedure Call Protocol)的基础上。一个RPC是在一台处理器上产生但运行在另一个不同的处理器上的命令。
如上图,在RPC技术中,产生命令的处理器叫客户端,而执行命令的处理器叫服务器。客户端通过物理通信媒介发送命令和它的参数到服务器,可能也会用到一些通信协议或栈。一旦服务器完成了命令的执行,它就通过物理媒介(IPC)给客户端回送一个消息,并提供过程的返回值。对于不同的计算机,这是一个典型的IP网络。而对于嵌入式处理器则有更多的选择,比如PCI,串并口,或共享内存。建立在Davinci技术基础上的TMS320DM644x处理器都是使用了共享内存作为IPC层,同时还使用到了一个通信协议叫DSP线路(DSP Link)。RPC有同步与异步通信之分。从客户端发出一个RPC请求到服务器(Time.a)到它接收到来自服务器的完成消息(Time.d)是有大量的时间间隔的。发出一个RPC请求后,如果客户端应用程序在没有收到RPC完成消息前一直等待,这种就是同步操作。如果客户应用程序不是等待而是继续执行其它函数,这种就叫异步操作。异步调用降低了等待时间因为它们允许客户端同服务器并发的执行操作。异步调用的缺点就是它们对于应用程序的编写者来说比较复杂,因为程序员必须要管理系统的时间安排。CE架构只实现了同步过程调用。因此,此架构已经将系统时间隐式安排了。