基于片上多处理器系统的动态自适应总线仲裁器的制作方法

文档序号:6571813阅读:171来源:国知局

专利名称::基于片上多处理器系统的动态自适应总线仲裁器的制作方法
技术领域
:本发明涉及一种应用于总线架构的片上多处理器系统,尤其是一种应用于对处理器占用总线带宽比率有严格要求并且有实时性要求的高性能片上多处理器系统,具体地说是一种基于片上多处理器系统的动态自适应总线仲裁器。
背景技术
:近几年支持高速并行计算和多媒体应用的多处理器片上系统(MultiprocessorSystem-on-a-Chip,MPSoC)发展迅速。采用共享总线架构的MPSoC系统的性能很大程度上取决于仲裁机制的效率。仲裁器负责分配各个处理器访问共享资源的优先级,解决多个处理器共享资源引起的竞争,合理、高效地分配共享资源并且保证系统总体性能最优。基于AMBA高性能总线(AdvancedHigh-performanceBus,AHB)构成的系统主要由总线主设备、总线从设备、总线仲裁、译码器、多路选择器等构成,如附图1所示。其中总线地址信号为HADDR,读数据信号HRDATA,写数据信号为HWDATA。AMBA-AHB总线规定了仲裁的协议,但是仲裁事务可以根据应用需求具体设计。协议规定的仲裁信号如表1所示,其中x表示设备编号。表l<table>tableseeoriginaldocumentpage3</column></row><table>Lottery总线仲裁器是美国圣地亚哥加州分校于2001年提出的一种比较先进的仲裁机制。其核心思想是采用加权随机算法的"Lottery管理器"。总线上每个主设备固定分配一定数量的"彩票"(Ticket),"彩票"越多,该主设备被授权的概率越大。彩票"数目即为各处理器占据的总线带宽比率。如果仲裁器产生的随机数是某个主设备所持"彩票",则该设备就获得总线使用权。例如四个处理器系统,每个处理器所持的"彩票"数目分别是1、2、3和4,且它们都向总线发出了请求,则"彩票"总数为1+2+3+4=10张。此时随机数产生器输出的数为8,8在四号处理器所持"彩票"的区间[6,10)内,所以四号处理器获得总线使用权。各主设备获得总线授权的概率如公式(1)所示其中bt2...tn依次为主设备l,2…,n的"彩票"数,n,&..&是一系列布尔类型的变量,表示各个设备发出请求的情况。如有请求,r产l,否则r;为0。Lottery管理器用来分配和控制每个主设备占用的总线带宽。线性反馈移位寄存器(LFSR)用来产生要求范围之内的随机数,从而保证每个主设备都有一定的概率被授权,防止饥饿现象。该仲裁方法使得高优先级设备在不同的请求序列中响应延迟较小。一般改进型Lottery总线仲裁器提出了减小总线缓存大小或者提高总线带宽控制能力等的方法,但算法都较为复杂,增加了至少10个设计参数从而增加了设计电路的难度和仲裁器所消耗的硬件资源。Lottery总线仲裁是一种比较先进的仲裁机制,可以很好地控制各处理器所占用的通讯带宽而且给高优先级通讯提供了快速响应能力。但其性能取决于如何合理地为各处理器分配通讯带宽。由于高性能MPSoC中优先权设置较为复杂,难以预测。所以,有必要在MPSoC中各个处理器对于总线带宽需求不能预先确定的情况下,采用动态产生"彩票"数目的算法来满足各处理器的实际总线带宽需求。
发明内容为了克服现有技术存在的问题,本发明的目的是提供一种基于片上多处理器系统的动态自适应总线仲裁器,它提高了系统整体性能,降低了各处理器的总线等待时间,并且可以很好地控制各处理器占据的总线带宽。本发明的目的是通过以下技术方案来实现的一种基于片上多处理器系统的动态自适应总线仲裁器,其特征在于它包括接口控制模块、随机数产生模块、动态"彩票"数产生模块、定时器模块和Lottery总线仲裁模块;负责和总线通讯的接口控制模块将信号传送给随机数产生模块;随机数产生模块设有随机数范围值的接口信号,其输出随机数的范围配置成各处理器对总线申请要求下的"彩票"总数;动态"彩票"数产生模块存储每个处理器所持的初始"彩票"数目,并响应于定时器模块所产生的中断信号的激活,根据处理器的总线等待时间连续增加其所持"彩票"数目直至处理器得到总线响应;同时响应于定时器模块所产生的中断信号的激活,根据处理器占用总线时间连续减少其所持"彩票"数目直至处理器结束使用总线;Lottery总线仲裁模块接收动态"彩票"数产生模块的数据,并根据各个处理器所持的"彩票"数目,来控制系统总线的使用优先权。本发明中所述彩票"数目即为各处理器占据的总线带宽比率。动态"彩票"数产生模块设有"彩票"数上限和下限值,到达极限后,各处理器所持"彩票"数不再变化。接口控制模块符合AMBA-AHB总线标准。结果证明,本发明达到了预期目的。通过不断增加延迟较大处理器的总线授权概率和降低长期占用总线的处理器优先级的方法从而提高片上多处理器系统的整体性能,并且不需要通过大量的仿真来分析系统中各处理器实际所需占用的总线带宽比率。与传统的仲裁器相比,本发明降低了算法复杂度,降低了各处理器的总线等待时间并且能更好地控制各处理器占据的总线带宽,提高了系统性能。图1是基于AHB总线的系统连接图;图2是仲裁器信号图;图3是仲裁器授权信号时序图;图4是总线使用权移交时数据线时序图;图5是片上多处理器系统架构图;图6是总线桥传输状态转换图;图7是本发明的结构示意图;图8是随机数产生模块示意图。具体实施方式实施例1工作于四个处理器共享的AMBA-AHB总线上的一种本发明所述的基于片上多处理器系统的动态自适应总线仲裁器,见附图7,包含的模块有符合AMBA-AHB总线标准的接口控制模块1、随机数产生模块2、动态"彩票"数产生模块3、定时器模块4和Lottery总线仲裁模块5;接口控制模块1负责和总线的通讯,定时器模块4根据当前处理器等待总线情况发出中断请求给动态"彩票"数产生模块3,从而确定当前各主设备的"彩票"数目,随机数产生模块2产生符合范围要求的随机数,Lottery总线仲裁模块5根据以上模块的输出而产生获得总线使用权的处理器ID号。接口控制模块1带有AMBA-AHB总线接口,如果需要将该仲裁器移植到其它总线架构,只需改变AMBA-AHB总线标准的接口控制模块1。随机数产生模块2设有随机数范围值的接口信号,其输出随机数的范围可以配置成不同的处理器对总线申请要求下的"彩票"总数。动态"彩票"数产生模块3存储每个处理器初始的所占总线带宽比率即各处理器所持的初始"彩票"数目;响应于仲裁器内部定时器的中断信号的激活,而根据处理器的总线等待时间连续增加其所持"彩票"数目直至处理器得到总线响应;响应于仲裁器内部定时器4的中断信号的激活,而根据处理器占用总线时间连续减少其所持"彩票"数目直至处理器结束使用总线。动态"彩票"数产生模块3设有"彩票"数上限和下限值,到达极限后,各处理器所持"彩票"数不再变化。定时器模块4设有各处理器总线等待时间接口信号和与动态"彩票"数产生模块直接连接的中断信号,处理器总线等待时间到达上限和下限时,分别激活两种中断信号。第一种中断信号为高电平有效时,"彩票';数增加,反之,则减少,直至中断信号为低电平。Lottery总线仲裁模块5根据各个处理器所持的"彩票"数目即各处理器占据的总线带宽比率,来控制系统总线的使用优先权。实施例2一种包括共享系统总线和四个处理器作为主控器件的层次化总线系统,该系统包括:各处理器分别独立占用的四个第一层总线,用于对其私有存储器的访问;总线桥,用于第一层总线与第二层总线的连接,控制处理器对不同总线的访问;共享存储器,可以被四个处理器访问,用于不同处理器之间的同步和交换数据;和第二层总线即各处理器共享总线,其中包括动态自适应总线仲裁器,各处理器所持的"彩票"数目代表每个处理器所占总线带宽比率,釆用加权随机算法来控制处理器对系统总线的使用优先权,响应于仲裁器内部定时器的中断信号的激活,根据处理器的总线等待时间连续增加其所持"彩票"数目直至处理器得到总线响应,响应于仲裁器内部定时器的中断信号的激活,而根据处理器占用总线时间连续减少其所持"彩票"数目直至处理器结束使用总线,和通过动态变化的"彩票"数来动态调整处理器的优先级,从而达到降低处理器总线等待时间的目的;多路选择器,用于根据仲裁器的输出GRANT信号选择有效的一组AMBA-AHB总线信号返回给总线主设备或者从设备。动态自适应总线仲裁器的外部信号如图2所示。根据AMBA-AHB总线协议,每个处理器可能在任一时钟周期内发送有效的HBUSREQ信号向总线请求使用权。仲裁器在每个时钟上升沿都会采样请求信号,并根据内部的动态自适应仲裁算法决定下个可以访问总线的处理器。当前使用总线的处理器请求锁定访问时,HLOCK信号置为有效,仲裁器将不会授权给其它处理器直至当前传输结束。当一个处理器获得授权进行一个固定长度的burst传输时,HBUSREQ信号不会一直保持。仲裁器根据HBURST信号来判断处理器传输的数据长度。如果是一个不定长的burst传输,处理器的请求信号则保持有效直至传输结束。当没有处理器申请总线使用权的时候,仲裁器则会授权给默认处理器。仲裁器的时序图请见图3和图4。图3中当前传输结束后,即HREADY信号为高电平,处理器获得授权同时仲裁器更新HMASTER信号。数据线使用权的切换会晚于地址线使用权的切换。当HREADY信号为高电平标志着当前传输结束,当前获得授权的处理器可以使用地址线,但必须等到上一次传输结束才可以使用数据线,如图4所示。动态自适应总线仲裁器工作在一个层次化总线架构的片上多处理器系统上,系统架构如图5所示。四个处理器分别独立占用的第一层总线,用于访问其私有存储器;总线桥,用于第一层总线与第二层总线的连接,控制处理器对不同总线的访问,其状态机见图6;和第二层总线即各处理器共享总线,其中包括动态自适应仲裁器和多路选择器,用于根据仲裁器的输出GRANT信号选择有效的一组AMBA-AHB总线信号返回给总线主设备或者从设备。当处理器需要访问共享存储设备的时候,它向动态自适应总线仲裁器发出请求,仲裁器则返回授权信号给相应的处理器。本发明中动态"彩票"数产生模块3是关键部分。下面对这个模块作详细描述。动态"彩票"数产生模块负责根据各处理器的等待时间来自动调节各个处理器的优先级从而达到平衡处理器之间总线等待时间和优化系统性能的目的。模块功能包括存储每个处理器初始的所占总线带宽比率即各处理器所持的初始"彩票"数目,并且响应于仲裁器内部定时器的中断信号的激活,而根据处理器的总线等待时间连续增加其所持"彩票"数目直至处理器得到总线响应;响应于仲裁器内部定时器的中断信号的激活,而根据处理器占用总线时间连续减少其所持"彩票"数目直至处理器结束总线使用。动态自适应仲裁算法见公式(2),其中,下标i表示各处理器l,2...,n;Ti代表"彩票"数,它是随时间t(时钟周期)变化的量;ti为各处理器"彩票"数的初值;ri为请求信号,gi为授权信号,ri,gi都是布尔类型的变量。厶—g,W,f—f'-*Z'',^mi,,<,<f则x+(1一g,)GG一^ax),,^,咖x(2)该仲裁算法中,某处理器如果一直没有得到总线授权而且其等待时间到达总线延迟上限tmax,则定时器的中断信号被激活。动态"彩票"数产生模块响应此中断信号,每个时钟周期都会增加相应处理器的"彩票"数直至请求被响应。相反,如果等待时间小于总线延迟下限tmin,定时器会发出另外一种中断信号,则"彩票"数每个时钟周期都会被降低直到它不再使用总线或者重新开始等待总线响应。同时为了避免仲裁器占用大寄存器存放"彩票"数而导致性能下降,Ti设置了上限Tn^;而下限Tmin是为避免出现负的"彩票"数目而设置。以上四个参数tmax,tmin,Tmax,Tmin可以根据具体的应用程序和片上多处理器系统进行配置。通常Tmin为l,而Tmax可根据情况设置;tmin—般为l,Uax—般为一次多字节传输时间的2-3倍。通过对这两组参数的调整可进一步提高系统性能。随机数产生模块示意图见图8。它是一个线性反馈移位寄存器(LFSR),可以产生(21G-1)个不同随机数状态的伪随机数序列。根据当前处理器对总线的请求情况,仲裁器累加出当前的"彩票"总数作为随机数的最大值。Lottery总线仲裁模块的输入包括时钟信号、请求信号和"彩票"数信号,根据公式(1)所示算法,计算出当前优先级最高的处理器ID,输出相应的授权信号。本发明中的层次化总线架构的片上多处理器系统通过RTL级仿真,并基于AlteraStratixIIEP2S180器件布局布线,工作频率为50MHz,使用了50163个ALUT,其中动态自适应仲裁器仅占用1.5%。的面积。仿真结果显示动态自适应总线仲裁器与传统总线仲裁器相比,减少了68%的任务完成时间,縮短了78%的总线等待时间而且能更好地控制各处理器所占总线带宽。权利要求1、一种基于片上多处理器系统的动态自适应总线仲裁器,其特征在于它包括接口控制模块(1)、随机数产生模块(2)、动态"彩票"数产生模块(3)、定时器模块(4)和Lottery总线仲裁模块(5);负责和总线通讯的接口控制模块(1)将信号传送给随机数产生模块(2),随机数产生模块(2)设有随机数范围值的接口信号,其输出随机数的范围配置成各处理器对总线申请要求下的"彩票"总数;动态"彩票"数产生模块(3)存储每个处理器所持的初始"彩票"数目,并响应于定时器模块(4)所产生的中断信号的激活,根据处理器的总线等待时间连续增加其所持"彩票"数目直至处理器得到总线响应;同时根据处理器占用总线时间连续减少其所持"彩票"数目直至处理器结束使用总线;Lottery总线仲裁模块(5)接收动态"彩票"数产生模块(3)的数据,根据各个处理器所持的"彩票"数目,来控制系统总线的使用优先权。2、根据权利要求1所述的基于片上多处理器系统的动态自适应总线仲裁器,其特征在于所述"彩票"数目为各处理器占据的总线带宽比率。3、根据权利要求1所述的基于片上多处理器系统的动态自适应总线仲裁器,其特征在于动态"彩票"数产生模块(3)设有"彩票"数上限和下限值,到达极限后,各处理器所持"彩票"数不再变化。4、根据权利要求1所述的基于片上多处理器系统的动态自适应总线仲裁器,其特征在于接口控制模块(1)符合AMBA-AHB总线标准。全文摘要本发明公开了一种基于片上多处理器系统的动态自适应总线仲裁器,包括接口控制模块、随机数产生模块、动态“彩票”数产生模块、定时器模块和Lottery总线仲裁模块;随机数产生模块接收接口控制模块信号输出随机数的范围配置成各处理器对总线申请要求下的“彩票”总数;动态“彩票”数产生模块存储每个处理器所持的初始“彩票”数目,并响应于定时器模块所产生的中断信号的激活;Lottery总线仲裁模块根据各个处理器所持的“彩票”数目,来控制系统总线的使用优先权。本发明降低了算法复杂度,降低了各处理器的总线等待时间并且能更好地控制各处理器占据的总线带宽,提高了系统性能,对于片上多处理器系统的设计具有重要的参考价值。文档编号G06F13/362GK101145140SQ20071002507公开日2008年3月19日申请日期2007年7月11日优先权日2007年7月11日发明者何书专,冰张,张宇昂,懿徐,丽李,伟李,杨盛光,高明伦申请人:南京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1