异质多处理器芯片中的数据流核心设计
[09-12 17:57:25] 来源:http://www.88dzw.com 单片机学习 阅读:8654次
文章摘要:异质多处理器系统(Heterogeneous MultiProcessor)是将两种以上不同工作性质的处理器核心整合为一的处理器系统。它通常包含了一般用途处理器(General Purpose Processor)和特殊用途处理器(Specific Purpose Processor)。随着片上系统SoC(System on Chip)及相关技术的成熟,已经可以将不同的处理器整合到一个芯片里,成为多处理器芯片。以多媒体应用为例,比较著名的异质多处理芯片有德州仪器公司的TMS320DSC25、TMS320DM270和TMS320DM320。这些芯片都是由ARM微核心和DSP微核心组成。传统的多处
异质多处理器芯片中的数据流核心设计,标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.com异质多处理器系统(Heterogeneous MultiProcessor)是将两种以上不同工作性质的处理器核心整合为一的处理器系统。它通常包含了一般用途处理器(General Purpose Processor)和特殊用途处理器(Specific Purpose Processor)。随着片上系统SoC(System on Chip)及相关技术的成熟,已经可以将不同的处理器整合到一个芯片里,成为多处理器芯片。以多媒体应用为例,比较著名的异质多处理芯片有德州仪器公司的TMS320DSC25、TMS320DM270和TMS320DM320。这些芯片都是由ARM微核心和DSP微核心组成。传统的多处理器系统架构(如Intel SMP架构)是由多个处理芯片通过外部总线汇接而成,而多处理器片上系统架构是在单一芯片上包含了多个处理器核心。它能减少系统的功耗并使整个系统发挥最大的运算效能。
1 硬件平台
本设计采用的硬件平台是德州仪器公司的TMS320DM270,它由两个微处理器核心ARM7TDMI和TMS320C5409组成。采用主从式架构,前者为主动端,后者为被动端。ARM7T
双处理器之间必须有良好的通信和数据交换机制.才能使系统在多进程环境下有效合作。在DM270中,ARM端的DSP控制器控制数据传输,DSP端通过HPI[3](Host Post Interface)与ARM处理器沟通。两个微处理器使用HPIB(Host Port Interfaee Bridge)相互连接。ARM和DSP可向对方发出硬件中断,同时它们之间存在一段共享存储区。通过共享存储区映射机制和中断的搭配,双方可以传输信息和数据,并且可以在共享存储区存取双方共同定义的指令,使两端根据指令进行对应的动作。
2 ARM端的DSP管理者
为配合DSP的工作,在ARM端微核心(Micro Kernel)中设计了一个伺服进程,它负责ARM与DSP的沟通及协调运行。该进程称为DSP管理者(DSP Manager),如图1所示。
ARM端的进程并不知道DSP处理器的存在,只知道DSP管理者在运行。当ARM端的进程需要使用DSP进程所提供的数据处理服务时,只需向DSP管理者提出请求。DSP端的进程也不知道ARM处理器的存在,DSP管理者把ARM端的请求存放在共享存储区,由DSP的数据流核心读取这些请求,并交给相应的DSP进程。当请求被DSP进程接收后,DSP管理者还要负责把提出请求的ARM端进程的数据存放在共享存储区,以便DSP端进程的读取和处理。因此ARM与DSP沟通的效能取决于DSP管理者的执行效能。
DSP管理者接收ARM端进程的数据处理请求。请求信息应该包括提出请求的ARM端进程的ID、DSP端服务进程的ID、数据处理服务类型的lD以及相关参数。同时DSP管理者把这些请求信息打包封装为DSP端系统能识别的内容格式,再通过共享存储区交给DSP端的数据流核心。
由于真正维持系统运作的是ARM端系统,DSP只是附属的处理系统,所以ARM端的DSP管理者可以在系统正常工作的情况下更换DSP系统,以支持不同的DSP应用。
3 DSP端的数据流核心
DSP端的系统采用数据流核心(Dataflow Kernel)架构。传统系统核心架构中的进程切换由Timer Tick决定,但数据流核心中的进程却不受Timer Tick的影响,它们以数据驱动(Data Driven)的方式工作。
在DSP端的核心运行着多个不同类型的数据处理服务进程,这些进程在DSP启动时都被设为阻塞态(Sleep)。因为此时没有任何数据可以用来驱动DSP服务进程的执行。当ARM端开始传送数据处理请求到DSP端时,数据流核心会根据这些请求找到对应的DSP服务进程,并使其进入执行态(Busy)。当该服务进程的数据处理任务完成后,其返回结果可能是新的数据处理请求,该请求同样也可以进入数据流核心。驱动其他服务进程的执行。所以整个核心的运行是根据数据流(ARM端的数据和DSP进程自己产生的数据)的动向决定的。与基于Timer Tick的传统系统核心相比,只要某一服务进程不断地接收数据处理请求,并且所需的数据不断到达,该进程就可以一直拥有CPU的使用权,而无须进行时间片方式的进程切换,从而减少了系统资源的浪费,提高了DSP的处理效能。
- 上一篇:基于单片机的智能电话报警系统
《异质多处理器芯片中的数据流核心设计》相关文章
- › 异质多处理器芯片中的数据流核心设计
- 在百度中搜索相关文章:异质多处理器芯片中的数据流核心设计
- 在谷歌中搜索相关文章:异质多处理器芯片中的数据流核心设计
- 在soso中搜索相关文章:异质多处理器芯片中的数据流核心设计
- 在搜狗中搜索相关文章:异质多处理器芯片中的数据流核心设计