总线仲裁方法技术

技术编号:2918868 阅读:230 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种总线仲裁方法,用于总线仲裁器,该总线仲裁方法设置有第一优先级与第二优先级,其中,第二优先级高于第一优先级,该方法包括以下步骤:赋予第一优先级的请求一个生命周期;对所述的生命周期进行倒计时;当所述的生命周期结束时,把所述的请求的优先级提升为第二优先级;其中,所述的生命周期随着请求被传递。通过利用本发明专利技术的总线仲裁方法,可较为精确地控制请求的被响应时间,保证请求在规定的时间内获得响应。

【技术实现步骤摘要】

本专利技术涉及一种。
技术介绍
计算机系统包括主单元(MASTER)与从单元(SLAVE),主单元与从单元之间的数据交换都是通过总线(BUS)完成的。当一个主单元要对一个从单元进行访问时,先向总线发出请求,总线仲裁器对收到的请求进行仲裁,选出优先秩序最高的请求,该优先秩序最高的请求所对应的主单元才能控制总线访问相应的从单元。各主单元对总线带宽(Bandwidth)和延时(Latency)有一定的要求,比如,中央处理器(CPU)对延时要求较高,而视频处理模块对带宽要求较高。一般而言,对延时要求高的主单元发出的请求会被赋予高优先级,而对带宽要求高的主单元会被赋予低优先级,这样,对延时要求高的主单元发出的请求就能尽早获得总线响应,从而防止系统发生错误。但是,对带宽要求高的主单元的请求对延时也有一定的要求,若这一类请求在相当长的一段时间内得不到总线的响应,也会造成系统错误,为了防止这种错误的发生,现有技术采用了提升优先级的方法。请参美国专利第6385678号说明书第5栏第28行至第6栏第63行,其揭示了如下解决方案。在带宽分配控制模块1002中根据对应主单元对延时的要求设置一个时间段T,带宽分配控制模块1002控制对应的仲裁器,当该仲裁器收到对应主单元所发出的请求时对所述的时间段T进行倒计时,若时间段T倒计时完毕而该请求仍然未获得该仲裁器的响应,那么提升该请求的优先级,以保证该请求在规定的时间内得到响应。但上述的方案仍然存在以下不足之处第一,芯片布线难度高;第二,组件化程度不高;第三,对被响应时间的控制不够精确,详述如后。因为现有技术是通过带宽分配控制模块1002控制仲裁器进行优先级提升,为提高可配置性,带宽分配控制模块1002需要与所有的仲裁器连接,以便根据具体需求对相应的仲裁器进行控制。但如此一来就会造成芯片布线过于复杂,使分级仲裁(Hierarchical)失去其原本在布线上的优势,而且,若要增加仲裁架构的级数就要重新设计布线以及带宽分配控制模块1002,因此其组件化程度不高,通用性不佳。请求的被响应时间是指请求从发出到获得顶层仲裁器响应的这段时间,现有技术是通过在某一个仲裁器根据需求提升请求的优先级对请求的被响应时间进行控制。如果通过较低层的仲裁器对请求进行优先级提升,那么可能出现请求较顺利地获得该仲裁器的响应(未提升优先级)但被堵塞在较高层的仲裁器的情况,无法保证其在规定延时内获得顶层仲裁器的响应;如果通过较高层的仲裁器对请求进行优先级提升,那么可能出现请求在较低层仲裁器被堵塞的时间已经超过规定的最长延时,也无法保证其在规定延时内获得顶层仲裁器的响应,现有技术显然无法精确控制请求的被响应时间。有鉴于现有技术存在的以上缺陷,亟需设计一种新的,以克服现有技术存在的上述缺陷,减少因此而产生的系统错误。
技术实现思路
有鉴于现有技术存在的以上缺陷,亟需设计一种新的,以克服现有技术存在的上述缺陷。本专利技术提供一种,用于总线仲裁器,该设有第一优先级与第二优先级,其中,第二优先级高于第一优先级,所述方法包括以下步骤赋予第一优先级的请求一个生命周期;对所述的生命周期进行倒计时;当所述生命周期结束时,把所述的请求的优先级提升为第二优先级;其中,所述的生命周期随着请求被传递。如上所述的,其特征在于,该用于多级总线仲裁系统,该多级总线仲裁系统包括一个以上仲裁器和一个以上缓存,仲裁器与主单元之间以及仲裁器之间以缓存耦合,所述步骤在缓存中进行。如上所述的,其特征在于,所述缓存具有用于存储优先级信号的第一寄存器和存储第一优先级生命周期的第二寄存器。如上所述的,其特征在于,若第一寄存器中存储的优先级信号为第二优先级,表示请求没有第一优先级生命周期,或者请求的第一优先级生命周期无效,此时无需进行优先级提升,也无需对第一优先级生命周期进行倒计时。如上所述的,其特征在于,若第一寄存器中存储的优先级信号为第一优先级,且第二寄存器没有第一优先级生命周期,那么,对请求进行第一优先级生命周期的初始化赋值。如上所述的,其特征在于,若第一寄存器中存储的优先级信号为第一优先级,且第二寄存器中有第一优先级生命周期,那么,暂时保持该请求的优先级信号不变,对第一优先级生命周期进行倒计时。如上所述的,其特征在于,若第一寄存器中存储的优先级信号为第一优先级,且第二寄存器中的第一优先级生命周期为0,此时第一优先级生命周期结束,需要提升该请求的优先级为第二优先级。通过利用本专利技术的,可较为精确地控制请求的被响应时间。附图说明图1为本专利技术总线仲裁装置的结构简图。图2为本专利技术缓存的功能模块图。图3为本专利技术优先级提升模块的功能模块图。具体实施例方式在一个计算系统中,大致可将主单元分为两类,对延时要求高的主单元和对带宽要求高的主单元。对延时要求高的主单元发出的请求需要总线及时响应,否则可能导致系统出错,以数字电视解码芯片为例,中央处理器(CPU)、解复用模块(DEMUX)就是对延时要求高的主单元;对带宽要求高的主单元的数据吞吐量大,以数字电视解码芯片为例,视频解码模块就是对带宽要求高的主单元。为便于说明,以下称对延时要求高的主单元为第一类主单元,其请求为第一类请求,其突发(Burst)为第一类突发,其串突发(Stream Burst)为第一类串突发,而对带宽要求高的主单元为第二类主单元,其请求为第二类请求,其突发为第二类突发,其串突发为第二类串突发。系统设计时,SDRAM被划分成若干个部分,分配给对应的主单元作为专用的存储空间。为提高数据传输效率,把分配给前述两种主单元的存储空间尽量安排在不同的逻辑存储库(BANK)中,因为在本实施例中,第一类串突发打断第二类串突发的频率较高,这样分配可使不同的主单元对SDRAM的访问尽量在逻辑存储库之间进行切换,以节省行预充电的时间。本实施例把第一类主单元和第二类主单元进行分组分级仲裁,以便较为精确地控制两种主单元占用总线的时间。为避免两个连续的对SDRAM的操作在相同的逻辑存储库的不同行之间进行切换而引发的效率降低,同时也为简化设计,本实施例规定了以下仲裁原则组内串突发不得相互打断;在顶层仲裁器中第一类串突发可打断第二类串突发,第二类串突发不得打断第一类串突发。本实施例分配给第一类请求两种优先级,分别为HCREQ和LCREQ,分配给第二类请求两种优先级,分别为HREQ和LREQ,这四种优先级的优先级秩序为HCREQ>HREQ>LREQ>LCREQ。其中,第一类请求默认以HCREQ的优先级参与竞争,而第二类请求默认以LREQ的优先级参与竞争。仲裁级数取决于主单元的数量、仲裁器的仲裁接口数量以及耦接方式,为便于进行说明,本实施例的所有非顶层仲裁器的仲裁接口数量均为2,当然这个数量可根据具体需求而改变,比如设置4个仲裁接口。请参图1,本实施例中共有7个主单元,其中,主单元130、主单元131及主单元132是第一类主单元,而主单元133、主单元134、主单元135以及主单元136是第二类主单元。本实施例的仲裁装置包括一个顶层仲裁器100,耦接于该顶层仲裁器100的缓存102和缓存104;耦接于缓存102的第一仲裁器101,耦接于第一仲裁器101的缓存106和缓存108;耦接于缓存106的第一仲裁器105,耦接于第一仲裁器105的缓存1本文档来自技高网
...

【技术保护点】
一种总线仲裁方法,该总线仲裁方法设置有第一优先级与第二优先级,其中,第二优先级高于第一优先级,其特征在于,该方法包括以下步骤:赋予第一优先级的请求一个生命周期;对所述的生命周期进行倒计时;当所述的生命周期结束时,把所 述的请求的优先级提升为第二优先级;其中,所述的生命周期随着请求被传递。

【技术特征摘要】

【专利技术属性】
技术研发人员:张亚林邓良策
申请(专利权)人:上海奇码数字信息有限公司
类型:发明
国别省市:31[中国|上海]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1