异质多处理器芯片中的数据流核心设计_第1页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、异质多处理器芯片中的数据流核心设计异质多处理器系统(heterogeneous multiprocessor)是将两种以上不同工作性质的处理器核心整合为一的处理器系统。它通常包含了普通用途处理器(general purpose processor)和特别用途处理器(specific purpose processor)。随着片上系统(system on chip)及相关技术的成熟,已经可以将不同的处理器整合到一个芯片里,成为多处理器芯片。以多媒体应用为例,比较闻名的异质多处理芯片有公司的tms320dsc25、tms320dm270和tms320dm320。这些芯片都是由微核心和微核心组成。传

2、统的多处理器系统架构(如intel smp架构)是由多个处理芯片通过外部汇接而成,而多处理器片上系统架构是在单一芯片上包含了多个处理器核心。它能削减系统的功耗并使囫囵系统发挥最大的运算效能。1 硬件平台本设计采纳的硬件平台是德州仪器公司的tms320dm270,它由两个微处理器核心arm7tdmi和tms320c5409组成。采纳主从式架构,前者为主动端,后者为被动端。arm7tdmi是32位的普通用途处理器,负责dm270系统的整体运作和全部周边设备的控制。tms320c5409为16位的数字信号处理器,主要负责多媒体信号处理如音视频的编解码运算等。arm可以经由dsp控制器重置或唤醒,还可

3、对dsp发出不行屏蔽式的中断(non-masked interrupt)。双处理器之间必需有良好的通信和数据交换机制才干使系统在多进程环境下有效合作。在dm270中,arm端的dsp控制器控制数据传输,dsp端通过hpi3(host post interface)与arm处理器交流。两个微处理器用法hpib(host port interfaee bridge)互相衔接。arm和dsp可向对方发出硬件中断,同时它们之间存在一段分享存储区。通过分享存储区映射机制和中断的搭配,双方可以传输信息和数据,并且可以在分享存储区存取双方共同定义的命令,使两端按照命令举行对应的动作。2 arm端的dsp管理

4、者为协作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端进程的读取

5、和处理。因此arm与dsp交流的效能取决于dsp管理者的执行效能。dsp管理者接收arm端进程的数据处理哀求。哀求信息应当包括提出哀求的arm端进程的id、dsp端服务进程的id、数据处理服务类型的ld以及相关参数。同时dsp管理者把这些哀求信息打包封装为dsp端系统能识别的内容格式,再通过分享存储区交给dsp端的数据流核心。因为真正维持系统运作的是arm端系统,dsp只是附属的处理系统,所以arm端的dsp管理者可以在系统正常工作的状况下更换dsp系统,以支持不同的dsp应用。3 dsp端的数据流核心dsp端的系统采纳数据流核心(dataflow kernel)架构。传统系统核心架构中的进程

6、切换由timer tick打算,但数据流核心中的进程却不受timer tick的影响,它们以数据驱动(data driven)的方式工作。在dsp端的核心运行着多个不同类型的数据处理服务进程,这些进程在dsp启动时都被设为堵塞态(sleep)。由于此时没有任何数据可以用来驱动dsp服务进程的执行。当arm端开头传送数据处理哀求到dsp端时,数据流核心会按照这些哀求找到对应的dsp服务进程,并使其进入执行态(busy)。当该服务进程的数据处理任务完成后,其返回结果可能是新的数据处理哀求,该哀求同样也可以进入数据流核心。驱动其他服务进程的执行。所以囫囵核心的运行是按照数据流(arm端的数据和dsp

7、进程自己产生的数据)的动向打算的。与基于timer tick的传统系统核心相比,只要某一服务进程不断地接收数据处理哀求,并且所需的数据不断到达,该进程就可以向来拥有cpu的用法权,而无须举行时光片方式的进程切换,从而削减了系统资源的铺张,提高了dsp的处理效能。dsp端的进程有执行和堵塞两种状态。进程的状态转移2所示。当cpu用法权切换给某个进程时,该进程的状态将被核心设定为busy并开头处理数据。当数据处理完后,数据流核心从数据哀求队列drq(data request queue)中取出下一个哀求。假如哀求信息中指定的dsp服务进程与目前进程相同,则该进程的状态依然为busy否则核心便将目前

8、进程的状态设定为sleep,同时开头进程切换,将哀求信息中所指定的服务进程设定为busy。点击看原图31 进程队列状态寄存器arm端系统和dsp端系统在分享存储区共同定义了16位的进程队列状态寄存器(process oueue status register),每一位代表dsp端一个进程的状态,所以dsp端最多有16个数据处理服务进程。若dsp端的数据流核心将寄存器的某一位设为o,则表示与该位对应的dsp进程有能力处理新的数据处理哀求;若设为1,则表示与该位对应的dsp进程没有能力处理新的哀求。dsp管理者通过查看该寄存器,可以知道dsp端的某些进程已不能接收新的数据处理哀求,它就会使arm端

9、的相关进程停止向这些dsp进程发出哀求。这样可以充分利用dsp的资源,降低dsp端的系统负担。32 数据流核心的进程调度策略核心中的进程调度策略是按照数据流架构上进程运行状态变幻的逻辑设计的。其工作方式是将arm端对dsp端的数据处理哀求利用环行队列(circular queue)的架构以fifo的方式排序,并存入drq中。该策略的特点是dsp端的每一个进程都预先指定最多可以拥有drq空间的数目,等级越高的进程拥有drq用法空间就越多,证实其可以处理更多的数据哀求。该策略将传统系统核心中进程优先级(priority)的概念转化为进程可以处理数据哀求的多少。进程等级越高,能处理的数据哀求也越多,

10、同时占用cpu的执行时光也较长。lde(local data element)是dsp端每一个进程都有的参数,它表示dsp进程在执行过程中还可以接收多少个数据处理哀求。lde的初始值由系统定义。囫囵drq空问的大小由全部dsp进程的lde预设最大值的总和打算。当dsp端的数据流核心取得arm端的数据处理哀求时,按照哀求我到指定的dsp端进程,把该进程的lde减1,然后举行相应的数据处理。假如lde被减至0,则dsp端数据流核心把该dsp进程在进程队列状态寄存器中所对应的状态位设为1以通知dsp管理者该进程不能再接收新的哀求,分配给该进程的全部drq空间都已被用法。此后,随着drq中的数据哀求逐

11、渐被处理,使得该进程的drq空问再浮现剩余时,数据流核心会把进程队列状态寄存器中所对应的状态位设为0,通知dsp管理者可以再次向该dsp进程发送数据处理哀求。3所示,drq是环行队列结构,存储全部的哀求信息。drq有两个指针:tail指向drq没有被用法的空间;head指向drq中将被处理的哀求。lde有三个元素ea、eb、ec,代表dsp的进程a、b、c分离可用法的drq个数。数据流核心接收哀求rb后,调度算法将eb减1,并且通过tail指针将哀求rb加入drq中。当系统需要处理哀求时,调度算法由head指针取出哀求并交由适当的dsp进程处理。点击看原图4 分享存储区管理本设计将dm270系

12、统平台中的一段32kb大小的存储区作为arm和dsp的分享存储区。该存储区由dsp管理者负责管理。因为tms320c5409的存储单位是字节,所以规定它所拜访的分享存储区地址为oxs0000xbfff;而arm7tdmi的存储单位是字,所以规定它能拜访的分享存储区地址为0x500000x57fff,分享存储区别配4所示。分享存储区别为32个存储块,每块大小为1024b。前两个字节为分享存储块的状态标记位,其值为0代表此存储块闲置,1代表此存储块已被用法。存储块中剩下的1022b用来存放数据。dsp管理者将全部arm端需要dsp处理的数据都存储到这32个存储块上。当32个存储块所有被用法或者数据

13、处理哀求中所指定的dsp进程的lde为0时,dsp管理者向arm端提出该哀求的进程堵塞,防止因不断地提出哀求而造成系统资源的铺张。当所指定的dsp进程数据处理结束后,dsp端的数据流核心将该进程堵塞,并对drq空间和进程队列状态寄存器作相应调节,然后主动释放该dsp进程用法的分享存储块,同时向arm端发出中断信号。dsp管理者接收到此中断信号后,按照进程队列状态寄存器推断出哀求所指定的dsp进程已经可以开头处理数据了,让刚才在arm端被堵塞的进程继续运行并把数据写入分享存储块,以便dsp进程读取和处理。当存在闲置的存储块并且数据处理哀求所指定的dsp进程的lde不为0时,dsp管理者可挺直将a

14、rm端进程的数据写到分享存储块,以便相应的dsp进程读取和处理。5 dsp端系统的热抽换dsp系统的更换技术对多媒体应用而言十分重要。假如dsp端需要播放不同格式的影片,则必需把囫囵dsp端系统更换以支持不同格式的。因此在系统设计中用法了热抽换技术。传统热抽换技术的定义是动态地把系统中的核心层部分更换,在不重新开机的状况下,进程还可以正常工作。而本设计的热抽换是更换囫囵dsp端的系统,同时维持arm端进程的正常工作。为了实现热抽换,必需在某段静态存储区存放多个版本的dsp系统程序。本设计中,这些程序被存放到dm270的flash memory中,arm端的档案系统负责维护和管理这部分内容。dsp系统的热抽换过程如下:dsp端要把那些因为没有举行数据处理而陷入堵塞的dsp进程所有释放,否则当dsp端系统更新后,这些进程会由于永久不能再得到相应的数据,而造成永远堵塞,形成系统资源铺张;arm端的dsp管理者会清空全部的分享存储区,同时堵塞arm端的全部用户进程;arm端的档案系统将从flash memory中读取所需的dsp系统档案并将它加载到dsp的内存;dsp端系统启动,dsp管理者唤醒arm端全部被堵塞的进程,为更新后的dsp系统服务。arm端的系统负责囫囵系统的正常运

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论