异构多核微处理器局部空间共享存储方法

文档序号:6526080阅读:126来源:国知局
专利名称:异构多核微处理器局部空间共享存储方法
技术领域
本发明涉及大规模集成电路设计中多核微处理器的共享存储方法。
背景技术
随着问题规模的增大和对实时性要求的提高,单核微处理器的处理能力已难以满足需求。微电子工艺的进步使得在一个芯片上集成多个微处理器成为可能。多核微处理器内部包含多个处理器,在操作系统调度下可以将任务分配给各个处理器,提供更强大的处理能力和更高的并行性。
根据内含处理器核的种类,多核微处理器可以分为两种同构多核微处理器和异构多核微处理器。同构多核微处理器内含的处理器核类型相同,在多核微处理器中处于对等的地位。异构多核微处理器内含不同类型的处理器核,并且不同类型的处理器核在多核微处理器内部担当不同角色。
目前,异构多核微处理器通常包含两种类型的处理器1个控制处理器(MP,master process)核和N个并行处理器(PP,Parallel Processor)核。N与多核微处理器所面向的应用领域有关,通常N≤4。控制处理器核处理前端请求,并协调并行处理器核的工作。并行处理器核接收控制处理器核的命令,执行数据的并行计算,并且通知控制处理器核并行计算的执行结果。
共享存储是多核微处理器中常用的交换共享数据的方法。在基于共享存储方法的多核微处理器中,处理器核通过访问共享存储器来实现共享数据的交换。
目前,多核微处理器的共享存储方法根据共享的存储层次不同可以分为以下三种共享一级Cache(高速缓存)、共享二级Cache和共享主存储器。这些共享存储方法的特点是整个存储空间统一编址,多核微处理器内含的各个处理器核对共享存储器的访问具有相同的优先级。
但这三种方法具有如下的缺点1)由于共享数据可能在Cache中存在多个备份,必须增加维护Cache一致性的硬件开销。2)维护Cache一致性增加了通信开销,增加了共享数据的传输延迟,尤其当计算/通信比减小时,性能下降明显。3)由于多核微处理器内含的各个处理器核对存储器的访问具有相同的优先级,发生访存冲突的可能性大,导致访存的延迟增加。4)因为存储空间统一编址,使用处理器核原始的编译器编译出来的程序可能会发生地址冲突,因此使用这些共享存储方法的多核微处理器必须重新设计并行编译器,延长了开发周期。
因此,集成电路领域亟需一种能减小硬件开销、减小数据传输延迟,能够支持现有编程语言和编译器的多核微处理器的共享存储方法。

发明内容
本发明要解决的技术问题是为多核微处理器提供一种硬件开销小,共享数据的传输延迟小的共享存储方法,在支持原有的编译器和编程语言的条件下,减少多核微处理器中各个处理器核的流水线的停顿时间,充分发挥多核微处理器中各个处理器核的处理能力。
本发明的技术方案是采用异构多核微处理器的体系结构,将并行处理器核的一部分存储空间定义为片内共享存储空间,其他存储空间保持不变并定义为私有存储空间。片内共享存储空间的地址对于所有并行处理器核是相同的,所有并行处理器核都可访问,但控制处理器核不能访问;将片内共享存储空间组织成一个包含多个存储体的共享存储池,并设计一个共享存储池仲裁器对片内共享存储池的访问进行仲裁。在访问共享存储空间之前,并行处理器核必须获得共享存储池中某个存储体的访问权,方法是该并行处理器核向控制处理器核发出请求,控制处理器核收到该请求后,如果允许,发送一个确认信息给并行处理器核,并将并行处理器核的编号及请求的存储体编号发送给共享存储池仲裁器,共享存储池仲裁器根据该信息修改控制寄存器的内容;否则控制处理器核发送一个拒绝信息给并行处理器核。若并行处理器核收到从控制处理器核发来的确认信息,则判断访存地址是否在片内共享存储空间的地址区间上,若在,则并行处理器核向共享存储池仲裁器提交对共享存储池的访问请求;否则并行处理器核访问私有存储空间即一级Cache或二级Cache或主存储器。完成对存储体的访问之后,并行处理器核通知控制处理器核访问完成,交回存储体的访问权,供其他并行处理器核使用。
片内共享存储空间大小用M表示,M的选择与具体的应用有关,如果多核微处理器面向的是计算密集型的应用,那么M应较大,32KB~64KB是一个合适的范围。如果多核微处理器面向的是一般性的应用,那么M可相应减小。
片内共享存储空间的存储体的个数用K表示,存储体的容量用P表示。K的选择与并行处理器核的个数N有关,N≤4时,可选择K=N(N-1)/2,如果N>4,可选择K=2N。P与片内共享存储空间的大小和存储体的个数有关,P=M/K。与Cache不同,共享存储池只保存中间数据,没有回写通路,也就是说共享存储池与主存储器之间不存在存储通路。
共享存储池仲裁器由一个控制寄存器和一个N×K交叉开关组成。控制寄存器由控制处理器核配置,共享存储池中的每个存储体对应控制寄存器中的T个控制位,T=Log2N,这T个控制位表示拥有该存储体访问权的并行处理器核的编号。没有访问权的并行处理器核访问存储体将返回无效数据。N×K交叉开关根据控制寄存器中存储体对应的控制位来控制对某个存储体的访问。在忙信号为“空闲“时,并行处理器核可以访问共享存储池,N×K交叉开关接收来自N个并行处理器核的访问共享存储池的请求,并将接收到的请求的忙信号置为“忙”。如果请求是针对具有访问权的存储体进行,则可以进行正确的访问,如果访问请求为写请求,则将数据写入存储体,并将忙信号置为“空闲”,如果访问请求为读请求,则返回访问数据,并将读Ready(完成)信号置为“有效”,将忙信号置为“空闲”。如果请求是针对无访问权的存储体进行,那么写请求将被丢弃,并且将忙信号置为“空闲”,读请求将返回无效数据,并且将读Ready信号置为“有效”,忙信号置为“空闲”。
采用本发明可以得到以下技术效果1.共享存储池中的数据只存在一个备份,因此不需要维护Cache一致性,省掉了维护Cache一致性的硬件开销和通信开销,从而降低了共享数据交换的传输延迟。
2.通过配置共享存储池仲裁器的控制寄存器来改变存储体的访问权,只有获得存储体访问权的并行处理器核才能访问该存储体,并获得有效数据,这样减少了并行处理器核对共享数据的访问冲突,从而减少了平均访问延迟,提高了并行处理器核的执行速度。
3.除了片内共享存储池是全部并行处理器核都可以访问之外,每个并行处理器核保留了自己私有的、其他处理器核不可访问的存储器。并行处理器核的非共享数据和程序放在这些私有的存储器中,而在程序中通过显示的地址访问来访问共享存储池中的共享数据。这样,原有的并行处理器核的编译器不修改即可以完成单个并行处理器核程序的编译,不会发生地址冲突。
4.由于并行处理器核的大部分访存都是针对其私有的存储空间,在访问这部分存储空间时,不会发生访问冲突,因此相对于存储器统一编址的多核微处理器而言,本发明的共享存储方法可以获得更快的访存速度。


图1是目前两种多核微处理器的结构图(a)同构多核微处理器;(b)异构多核微处理器。
图2是目前基于不同存储层次的三种共享存储方法(a)共享一级Cache;(b)共享二级Cache;(c)共享主存储器。
图3是采用本发明共享存储方法的多核微处理器结构图。
图4是本发明共享存储池仲裁器和共享存储池的结构图。
具体实施例方式
图1是目前两种多核微处理器的结构图(a)为同构多核微处理器;(b)为异构多核微处理器。同构多核微处理器包含多个相同的处理器核。异构多核微处理器包含不同的处理器核,通常是一个控制处理器核和多个并行处理器核。控制处理器核和并行处理器核之间存在请求或命令等控制信息的交换。
图2是目前基于不同存储层次的三种共享存储方法(a)为共享一级Cache;(b)为共享二级Cache;(c)为共享主存储器。整个存储空间统一编址,每个处理器核的CPU(中央处理器)对存储空间的访问具有同样的优先权。在处理器之间的数据交换频率较大时,共享一级Cache和共享二级Cache的性能相差不大,但是明显优于共享主存储器。在处理器之间的数据交换频率较小时,共享一级Cache和共享二级Cache的性能仍稍稍优于共享主存储器。
图3是采用本发明共享存储方法的多核微处理器结构图。这种多核微处理器由一个控制处理器核、N个并行处理器核(编号为1,2,......N)、一个共享存储池仲裁器和一个共享存储池组成。并行处理器核中有CPU、一级Cache和二级Cache。在访问共享存储空间之前,并行处理器核必须获得共享存储池中某个存储体的访问权,方法是该并行处理器核向控制处理器核发出请求,控制处理器核收到该请求后,如果允许,发送一个确认信息给并行处理器核,并将并行处理器核的编号及请求的存储体编号发送给共享存储池仲裁器,共享存储池仲裁器根据该信息修改控制寄存器的内容;否则控制处理器核发送一个拒绝信息给并行处理器核;若并行处理器核收到从控制处理器核发来的确认信息,则判断访存地址是否在片内共享存储空间的地址区间上,若在,则并行处理器核向共享存储池仲裁器提交对共享存储池的访问请求;否则并行处理器核访问私有存储空间即一级Cache或二级Cache或主存储器;完成对存储体的访问之后,并行处理器核通知控制处理器核访问完成,交回存储体的访问权,供其他并行处理器核使用。
图4是本发明共享存储池仲裁器和共享存储池的结构图。共享存储池仲裁器包括一个控制寄存器和一个N×K交叉开关。共享存储池由K个存储体(编号为1,2,......K)组成。控制寄存器由控制处理器核配置,即当控制处理器核允许某个并行处理器核对某个存储体进行访问时,控制处理器核将并行处理器核的编号及请求的存储体编号发送给共享存储池仲裁器,共享存储池仲裁器根据该信息修改控制寄存器;共享存储池中的每个存储体对应控制寄存器中的T个控制位,T=Log2N,由这T个控制位存储拥有该存储体访问权的并行处理器核的编号。没有访问权的并行处理器核访问存储体将返回无效数据。N×K交叉开关根据控制寄存器中存储体对应的控制位来控制对某个存储体的访问。在忙信号为“空闲“时,并行处理器核可以访问共享存储池,N×K交叉开关接收来自N个并行处理器核的访问共享存储池的请求,并将接收到的请求的忙信号置为“忙”。如果请求是针对具有访问权的的存储体进行,那么可以进行正确的访问,如果访问请求为写请求,则将数据写入存储体,并将忙信号置为“空闲”,如果访问请求为读请求,则返回访问数据,并将读Ready(完成)信号置为“有效”,将忙信号置为“空闲”。如果请求是针对无访问权的存储体进行,那么写请求将被丢弃,并且将忙信号置为“空闲”,读请求将返回无效数据,并且将读Ready信号置为“有效”,忙信号置为“空闲”。
权利要求
1.一种异构多核微处理器局部空间共享存储方法,其特征在于采用异构多核微处理器的体系结构,将并行处理器核的一部分存储空间定义为片内共享存储空间,其他存储空间保持不变并定义为私有存储空间;片内共享存储空间的地址对于所有并行处理器核是相同的,所有并行处理器核都可访问,但控制处理器核不能访问;将片内共享存储空间组织成一个包含多个存储体的共享存储池,并设计一个共享存储池仲裁器对片内共享存储池的访问进行仲裁;在访问共享存储空间之前,并行处理器核必须获得共享存储池中某个存储体的访问权,方法是该并行处理器核向控制处理器核发出请求,控制处理器核收到该请求后,如果允许,发送一个确认信息给并行处理器核,并将并行处理器核的编号及请求的存储体编号发送给共享存储池仲裁器,共享存储池仲裁器根据该信息修改控制寄存器的内容;否则控制处理器核发送一个拒绝信息给并行处理器核;若并行处理器核收到从控制处理器核发来的确认信息,则判断访存地址是否在片内共享存储空间的地址区间上,若在,则并行处理器核向共享存储池仲裁器提交对共享存储池的访问请求;否则并行处理器核访问私有存储空间即一级Cache或二级Cache或主存储器;完成对存储体的访问之后,并行处理器核通知控制处理器核访问完成,交回存储体的访问权,供其他并行处理器核使用。
2.如权利要求1所述的异构多核微处理器局部空间共享存储方法,其特征在于片内共享存储空间大小用M表示,M的选择与具体的应用有关,如果多核微处理器面向的是计算密集型的应用,那么M应较大,32KB~64KB是一个合适的范围;如果多核微处理器面向的是一般性的应用,那么M可相应减小。
3.如权利要求1所述的异构多核微处理器局部空间共享存储方法,其特征在于片内共享存储空间的存储体的个数用K表示,存储体的容量用P表示,K的选择与并行处理器核的个数N有关,N≤4时,可选择K=N(N-1)/2,如果N>4,可选择K=2N;P与片内共享存储空间的大小和存储体的个数有关,P=M/K;与Cache不同,共享存储池只保存中间数据,没有回写通路,也就是说共享存储池与主存储器之间不存在存储通路。
4.如权利要求1所述的异构多核微处理器局部空间共享存储方法,其特征在于共享存储池仲裁器由一个控制寄存器和一个N×K交叉开关组成,控制寄存器由控制处理器核配置,共享存储池中的每个存储体对应控制寄存器中的T个控制位,T=Log2N,这T个控制位表示拥有该存储体访问权的并行处理器核的编号,没有访问权的并行处理器核访问存储体将返回无效数据;N×K交叉开关根据控制寄存器中存储体对应的控制位来控制对某个存储体的访问在忙信号为“空闲“时,并行处理器核可以访问共享存储池,N×K交叉开关接收来自N个并行处理器核的访问共享存储池的请求,并将接收到的请求的忙信号置为“忙”;如果请求是针对具有访问权的存储体进行,则可以进行正确的访问,如果访问请求为写请求,则将数据写入存储体,并将忙信号置为“空闲”,如果访问请求为读请求,则返回访问数据,并将读Ready即完成信号置为“有效”,将忙信号置为“空闲”;如果请求是针对无访问权的存储体进行,那么写请求将被丢弃,并且将忙信号置为“空闲”,读请求将返回无效数据,并且将读Ready信号置为“有效”,忙信号置为“空闲”。
全文摘要
本发明公开了一种异构多核微处理器局部空间共享存储方法,目的是为多核微处理器提供一种硬件开销小,共享数据的传输延迟小的共享存储方法。技术方案是采用异构多核微处理器体系结构,将并行处理器核的一部分存储空间定义为片内共享存储空间,其他存储空间保持不变;片内共享存储空间的地址对于所有并行处理器核相同,所有并行处理器核都可访问,但控制处理器核不能访问;将片内共享存储空间组织成一个包含多个存储体的共享存储池,并设计一个共享存储池仲裁器对共享存储池的访问进行仲裁。采用本发明可降低共享数据交换的传输延迟,提高并行处理器核的执行速度,且原有的并行处理器核的编译器不需修改,可以获得更快的访存速度。
文档编号G06F15/16GK1758229SQ200510032308
公开日2006年4月12日 申请日期2005年10月28日 优先权日2005年10月28日
发明者方兴, 陈书明, 郭阳, 马鹏勇, 汪东, 扈啸 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1