总线仲裁方法技术

技术编号:2918867 阅读:336 留言:0更新日期:2012-04-11 18:40
提供了一种总线仲裁方法,用于总线仲裁系统,该总线仲裁系统设置有第一优先级与第二优先级,其中,第一优先级高于第二优先级,当系统检测到一个第二优先级请求后紧跟着一个第一优先级请求时,系统把该第二优先级请求的优先级提升为第一优先级。通过利用本发明专利技术的总线仲裁方法,可防止高优先级请求被低优先级请求堵塞的情况。

【技术实现步骤摘要】

本专利技术涉及一种。
技术介绍
多媒体应用的普及对计算机系统内部数据传输的带宽(Bandwidth)以及实时性(Real-Time)有着越来越高的要求,这迫使设计者不断提升总线频率,同时提高总线效率。计算机系统包括多个单元(Unit),这些单元被分为主单元(Master)与从单元(Slave,一般为存储器,如SDRAM)两组,它们之间的数据交换通过总线(BUS)完成。当一个主单元要对一个从单元进行访问时,先向总线发出请求,总线仲裁器对收到的请求进行仲裁,选出优先权最高的请求,对应的主单元才能控制总线访问相应的从单元。传统的总线架构为一级仲裁,即所有主单元连接至一个总线仲裁器。从硬件实现的角度看,构成仲裁器的基本单元是二选一的多路选择器(MUX),当然还包括计算和控制电路。主单元的数量越多就意味着仲裁器所需的多路选择器越多,一个请求从仲裁器的输入端到输出端需要经过的多路选择器就越多,这个数据传输过程所需的时间也就越长;再者,主单元数量越多,仲裁器进行一次仲裁的计算量就越大,计算所需的时间也就越长,这两个因素尤其是前者严重抑制了总线频率的提升,影响了总线带宽的提高。另外,所有主单元都连接到一个仲裁器会导致芯片上该仲裁器周围的资源严重缺乏,为增强其驱动力就需要额外增加一些元件,例如在连线中增加两个倒相器(Inverter),但这样又进一步增加了电路的延时,成为另一个限制总线频率提升的原因;所有主单元都连接到一个仲裁器还会使芯片内部的连线过于复杂。最后,若采用传统的一级仲裁,要增加主单元数量就需要重新设计整个仲裁系统,其通用性不佳。为了解决上述问题,业界采用了分级总线仲裁架构(Hierarchical BUSArbitration)技术。分级仲裁是把主单元按一定数量N(N为大于1的整数)进行分组,每组N个主单元共享一个底层仲裁器,再把底层仲裁器按N分组,每组N个底层仲裁器共享一个次底层仲裁器,以此类推直到顶层仲裁器。在分级总线仲裁架构中,对于上一级仲裁器而言,所有非顶层仲裁器都被视为一个主单元参与竞争,根据需要也可以让主单元与非顶层仲裁器一起参加上一级仲裁。如此,整个仲裁被打断成为多级的树状仲裁架构,这样做有以下优点第一,仲裁架构成为流水线结构,一次完整的仲裁(一个请求从被主单元发出到被顶层仲裁器输出)平均花费的时间比传统的一级仲裁大幅减少;第二,每个仲裁器负责仲裁的主单元数量减少,其一次仲裁所需的计算时间得以缩短;第三,可根据主单元在芯片内的位置布置仲裁器,使芯片内的连线得以简化;第四,具有可插拔的特性,若主单元数量增加,只要相应增加仲裁器即可,无需重新设计仲裁架构,通用性好。总而言之,分级仲裁可有效提升频率、简化芯片内部连线以及提高总线仲裁架构的通用性。请参美国专利第6385678号图9,展示了一种多级仲裁的架构。众所周知,现今DRAM的读写大都采用突发(Burst)方式,为进一步提高数据传输效率,业界采用了串突发(Stream Burst)传输协议。这种协议规定,一个主单元与一个从单元之间多个特定的连续突发在通过一个仲裁器的过程中不被打断,且只需要对第一个突发进行仲裁即可,这些连续的突发就是一个串突发。串突发传输协议的采用大幅节省了总线仲裁的时间,对多级仲裁架构和数据吞吐量较大的系统而言效果尤为明显。为便于说明,假设系统处于理想状态(无堵塞),一次仲裁需要一个时钟周期,一个突发的输出需要一个时钟周期(一般而言仲裁计算和输出采样无法在一个时钟周期内完成)。在现有的串突发传输协议中,当存在两个连续的串突发时,总线要等前一个串突发传输完毕后才能进行新的仲裁以决定接下来选通哪一路输入,因为在前一串突发最后一个突发被输出之前,仲裁电路无法得到紧接着所述的最后一个突发的另一突发的仲裁所需的信息,因此,对于每一串突发而言,其第一个突发从开始仲裁到突发被采样输出需要两个时钟周期,其中,一个时钟周期用于仲裁,一个时钟周期用于第一个突发的传输,详述如后。为实现串突发传输,需要为每个突发设置一个突发标志,在现有的串突发传输机制中有两种突发标志,LAST表示串突发最后一个突发,SAME表示除最后一个突发外的其余突发(特别地,若一个串突发只包含一个突发,那该突发的突发标志为LAST),总线仲裁器正是根据突发标志来判断是否需要改变仲裁器的选通状态。下面对现有的串突发传输方式的一个实施例进行说明。参见图11,仲裁器200包括多路选择器MUX 201、多路选择器MUX 202、仲裁计算模块203以及寄存器204。多路选择器201的输入端口供请求输入;寄存器204控制多路选择器201的选通状态;多路选择器202有两个输入端口,其中,第一输入端口与多路选择器201的输出端耦合,第二输入端口为无效输入;仲裁计算模块203进行仲裁计算,寄存器204的值与使能信号以及多路选择器202的选通信号均由其提供。仲裁计算模块203是组合逻辑,每个时钟周期都会自动进行仲裁运算并且给出运算结果,但只有当寄存器204的使能信号为有效时,该运算结果才能在遇到一个时钟上升沿时被载入寄存器204,从而改变多路选择器201当前的选通状态。当一个串突发的第一个突发被一个仲裁器输出后,该仲裁器就会一直保持当前的选通状态,也就是说寄存器202的使能信号一直保持无效;当突发标志为LAST的突发被输出的同时,仲裁计算模块203控制多路选择器202选通其第二输入端口。如果存在另一个串突发紧接着所述突发标志为LAST的突发,那么,在所述突发标志为LAST的突发被输出后的第一个时钟周期,仲裁计算模块203发出有效的使能信号并控制多路选择器202选通第一输入端口,紧接着的一个时钟周期,多路选择器201将根据寄存器204的值改变选通状态。这样,在理想状态下,第二个串突发的第一个突发的输出就需要两个时钟周期。但是,对于现有技术多级仲裁架构而言,一个串突发从底层仲裁器到顶层仲裁器,其第一个突发每经过一个仲裁器所需的时间比其他突发多一个时钟周期,总线架构分级越多,串突发第一个突发由底层仲裁器到顶层仲裁器所需的额外时间就越多,这不利于总线效率的提高。为进一步提高总线效率,需要设计一种新的。在一个计算系统中,大致可将主单元分为两类,对延时要求高的主单元和对带宽要求高的主单元。对延时要求高的主单元发出的请求需要总线及时响应,否则可能导致系统出错,以数字电视解码芯片为例,中央处理器(CPU)、解复用模块(DEMUX)就是对延时要求高的主单元;对带宽要求高的主单元的数据吞吐量大,以数字电视解码芯片为例,视频解码模块就是对带宽要求高的主单元。为便于说明,以下称对延时要求高的主单元为第一类主单元,其请求为第一类请求,其突发为第一类突发,其串突发为第一类串突发,而对带宽要求高的主单元为第二类主单元,其请求为第二类请求,其突发为第二类突发,其串突发为第二类串突发。美国专利第6804738号,揭示了一种分配总线带宽的,该方法为请求设置了高与低两个优先级,请求默认以高优先级参与竞争,其中,时间轴按时间段T进行分段,对应时间段T对主单元设置一个限制响应次数N,当该主单元在某个时间段T内获得响应的次数等于N时,该时间段内,该主单元以后发出的请求的优先级将被降为低,以此限制该主单元对总线带宽的占用。如本文档来自技高网...

【技术保护点】
一种总线仲裁方法,用于总线仲裁系统,该总线仲裁系统设置有第一优先级与第二优先级,其中,第一优先级高于第二优先级,当系统检测到一个第二优先级请求后紧跟着一个第一优先级请求时,系统把该第二优先级请求的优先级提升为第一优先级。

【技术特征摘要】

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

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

1