判优器及其总线系统的制作方法

文档序号:6653356阅读:265来源:国知局
专利名称:判优器及其总线系统的制作方法
技术领域
本发明涉及判优器(arbiter)以及采用该判优器的总线系统,更具体讲,涉及一种用优先权变换器(priority mapper)判定优先权的判优器以及采用该判优器的总线系统。
在多个主机设备共享公共数据总线的总线系统当中,判优器用作恰当地对在同一时间由多个装置提出的多个访问总线的请求进行判优。为此,典型的判优方法是优先权判定。按照优先权判定,给每个主机设备指定一个优先级并且根据优先权方案将总线访问或控制授予主机设备。这种优先权判定分为两种类型一个是优先权固定方案(scheme),其中给每个装置指定一个固定的优先权,另一个是优先权选定方案,当需要的时候,其中的优先级可以改变。采用优先权固定方案的判优器容易设计,但是,如果在总线系统运行期间需要修改被指定的优先级时,不能使用这种判优器。优先权选定方案有利于支持需要频繁通过总线发送和接收数据的主机设备。为此,优先级被动态地指定给每个主机设备,并且最初将总线访问授予具有最高优先权的主机设备。
可是,优先权选定方案有一个问题,即与优先权固定方案相比,其硬件既庞大又复杂。更具体来说,通过比较从每个主机设备输入到每个输入端口的总线请求,以寻找具有最高优先权的输入端口,从而进行优先权选定。因此,举例来说,如果输入端口的数量是3或4,则所需比较器的数量是三或六。即,对于N个输入端口来说,所需比较器的数量为nC2。比较器的数量随主机设备的数量按指数规律增加,这会导致庞大的判优器电路和缓慢的判优速度。因此,若要获得尺寸合适且判优速度高的判优器,就会限制主机设备的数量。
为解决上述问题,本发明的一个目的是提供一种具有可以用简单电路实现的优先权选定方案的判优器以及采用该判优器的总线系统。
本发明的另一个目的是提供一种具有优先权选定方案并且不限制主机设备数量的判优器以及采用该判优器的总线系统。
因此,为达到上述目的,本发明提供了一种判优器,该判优器包括总线请求接收器,连接到多个主机设备,用于接收来自主机设备的总线请求输入;优先级提取器,如果通过总线请求接收器输入总线请求,则该优先级提取器输出表示对应主机设备的预定优先级的优先级信号,并且根据输出的优先级信号生成表示所有总线请求优先级的优先级合成信号(priority levelsummation singal);优先权输出单元,用于根据由优先级提取器生成的优先级合成信号,按照优先权降低的顺序输出优先级;优先权变换器,包含主机设备标识符输出单元,该单元用于根据优先级信号提取提出总线请求的主机设备的标识符,并且根据从优先权输出单元输出的优先级顺序输出被提取的主机设备标识符;判优电路,用于将总线访问授予具有从优先权变换器输出的标识符的主机设备。
最好,总线请求接收器包含连接到多个主机设备的用于从主机设备接收总线请求输入的多个输入端口,和在输入端口中提供的用于存储为输入端口指定的优先级的多个寄存器。优先级信号用与优先级相同的位数表示。
最好,优先权输出单元对一个或多个优先级信号逐位进行“或”运算,从而生成以与优先级信号相同的位数表示的优先级合成信号。
最好,主机设备标识符输出单元包括标识符提取器和标识符输出单元。标识符提取器从由优先级信号构成的矩阵中提取位列(bit column),从而生成标识符信号,所述位列包含表示所请求的优先级的位,同时,标识符提取器根据生成的标识符信号提取对应的主机设备标识符并且包含用于接收输入标识符信号从而提取对应主机设备标识符的解码器。
最好,在由标识符提取器提取的标识符中,标识符输出单元输出具有从优先权输出单元输出的优先级的主机设备的标识符。
总线系统还提供总线请求接收器,连接到多个主机设备,用于接收来自主机设备的总线请求输入;优先级提取器,如果通过总线请求接收器输入总线请求,则该优先级提取器输出表示对应于主机设备的预定的优先级的优先级信号,并且根据输出的优先级信号生成表示所有总线请求优先级的优先级合成信号;优先权输出单元,用于根据由优先级提取器生成的优先级合成信号,按照优先权降低的顺序输出优先级;优先权变换器,包含主机设备标识符输出单元,该单元用于提取提出总线请求的主机设备标识符,从而对应于从优先权输出单元输出的优先级而输出被提取的主机设备标识符;以及,判优电路,用于将总线访问授予具有从优先权变换器输出的标识符的主机设备。
总线请求接收器包含连接到多个主机设备的用于从主机设备接收总线请求输入的多个输入端口,和在输入端口中配备的用于存储为输入端口指定的优先级的多个寄存器。优先级信号用与优先级相同的位数来表示。
最好,优先权输出单元对一个或多个优先级信号逐位进行“或”运算,从而生成以与优先级信号相同的位数表示的优先级合成信号。
最好,主机设备标识符输出单元包括标识符提取器和标识符输出单元。标识符提取器从由优先级信号构成的矩阵中提取位列,从而生成标识符信号,所述位列包含表示所请求的优先级的位,同时,标识符提取器根据生成的标识符信号提取对应的主机设备标识符并且包含用于接收输入标识符信号从而提取对应主机设备标识符的解码器。
在由标识符提取器提取的标识符中,标识符输出单元输出具有从优先权输出单元输出的优先级的主机设备的标识符。
通过参考附图对本发明的优选实施例进行详细描述,本发明的上述目的和优点将会变得更加清楚,其中

图1为示出了对应本发明优选实施例的总线系统的原理图;图2为图1表示的判优器的框图;图3为图2表示的优先权变换器的详细框图;图4为表示总线判优方法的流程图。
参见图1,对应本发明优选实施例的总线系统100包含多个主机设备10-17、从机设备20-24以及判优器3。多个主机设备10-17与多个从机设备20-24通过地址/控制总线50和数据总线51相互连接。在这里,地址/控制总线50和数据总线51可以以单系统总线的形式构成。数据总线51可以包含以不同传送速度运行的主数据总线和本地数据总线。
主机设备10-17一般是指处理器或直接存储器存取(DMA)器件,而从机设备20-24比如RAM、ROM或SDRAM等的存储器、I/O器件或其他外围设备。根据优先权选定方案,在提出访问总线请求的主机设备10-17之中,判优器3准予具有最高优先权的主机设备10,11,…,或17访问地址/控制总线50和数据总线51。
参见图2,判优器3包括优先权变换器31和判优电路32。如果输入的总线请求来自一个或多个主机设备10-17,在输入的总线请求中,对应预定的优先级,优先权变换器31输出表明具有最高总线请求优先权的主机设备10,11,…,或17的标识符。判优电路32将总线授予具有从优先权变换器31输出的标识符的主机设备10,11,…,或17。
参见图3,优先权变换器31包括总线请求接收器300、优先级提取器301、优先权输出单元302、标识符提取器303和标识符输出单元304。总线请求接收器300包含多个分别连接到主机设备10-17的输入端口,输入端口可以被指定优先权并且接收来自主机设备10-17的总线请求。此外,如果通过输入端口输入总线请求,总线请求接收器300输出优先级信号,优先级信号表明输入总线请求的对应输入端口的被指定的优先级。为对应输入端口指定的优先级存储在对应的寄存器中。根据从总线请求接收器300输出的优先级信号,优先级提取器301输出优先级合成信号,优先级合成信号表示输入总线请求的输入端口的所有优先级。
由于对应本实施例的总线系统100包含八个主机设备10-17,在总线请求接收器300中有8个输入端口和8个寄存器0-7。此外,由于本实施例的优先权被划分成16个优先级,因而,一个优先级信号用16位来表示,并且,为了对优先级信号的每一位进行“或”运算,在优先级提取器301中有16个或运算器0-15。
根据从优先级提取器301输出的优先级合成信号,优先权输出单元302以降低优先权的顺序输出优先级。根据从总线请求接收器300输出的优先级信号,标识符提取器303生成标识符信号,并对生成的标识符信号进行解码以提取对应的主机设备标识符,标识符信号表示对应优先级信号所表示的优先级的主机设备标识符。为了对标识符信号进行解码,在标识符提取器303中有16个解码器0-15,每个解码器对应一个优先级。在由标识符提取器303提取的主机设备标识符中,标识符输出单元304输出具有由优先级输出单元302输出的优先级的主机设备标识符。
例如,如果主机设备10的优先级是4并且主机设备11的优先级是6,从总线请求接收器300输出的优先级信号分别为1110111111111111和1111101111111111。则,由优先级提取器301逐位对两个优先级信号进行“或”运算,输出的优先级合成信号标志(Flag)0,…,标志15为1110101111111111。当从最高有效位(MSB)开始进行检验时,第四和第六位为“0”,这表示出现优先级为4和6的总线请求。如果在优先级越低时,总线请求具有的优先权越高,输入了优先级合成信号的优先权输出单元302开始输出4,然后输出6。一个8*16的矩阵以如下方式构成,即,对应主机设备10的优先级信号为一个行向量1110111111111111,对应主机设备11的优先级信号为一个行向量1111101111111111,对应没有提出总线请求的其他主机设备12-17的行向量为1111111111111111。该矩阵如下11101111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111在矩阵中,总线请求的优先级为4和6,并因此标识符提取器303生成由位于与对应的优先级位置相同的位列组成的标识符信号01111111和10111111,分别由解码器4和解码器6对生成的标识符信号进行解码,提取对应的主机设备标识符。标识符信号用8位表示,按照由MSB开始的顺序,每一位对应一个主机设备10-17。因此,这可以看成是分别由主机设备10和主机设备11提出优先级为4和6的总线请求。然后,标识符提取器303提取主机设备10和主机设备11的标识符并将被提取的标识符输出到标识符输出单元304。在从标识符提取器303输入的主机设备10和主机设备11的两个标识符中,根据从优先权输出单元302输出的优先级顺序,标识符输出单元304首先输出主机设备11的标识符,然后输出主机设备10的标识符。
更一般地,这些关系可以用C语言写成的表达式来描述。首先,主机设备10可以有存储在寄存器0中、大小在0至15之间的优先级,则优先级信号0可以是下列十六种情况之一。Case(优先权0)0优先级信号0=0b1111111111111110;1优先级信号0=0b1111111111111101;2优先级信号0=0b1111111111111011;3优先级信号0=0b1111111111110111;
4优先级信号0=0b1111111111101111;5优先级信号0=0b1111111111011111;6优先级信号0=0b1111111110111111;7优先级信号0=0b1111111101111111;8优先级信号0=0b1111111011111111;9优先级信号0=0b1111110111111111;10优先级信号0=0b1111101111111111;11优先级信号0=0b1111011111111111;12优先级信号0=0b1110111111111111;13优先级信号0=0b1101111111111111;14优先级信号0=0b1011111111111111;15优先级信号0=0b0111111111111111;endcase其中0b表示二进制数。
主机设备11-17的优先级信号也可以用相同的方式表示。优先级合成信号表示总线请求有哪些优先级,并且组成优先级合成信号的标志0,…,标志15按如下方式构成标志0=优先级信号0
或优先级信号1
或优先级信号2
或优先级信号3
或优先级信号4
或优先级信号5
或优先级信号6
或优先级信号7
或优先级信号8
或优先级信号9
或优先级信号10
或优先级信号11
或优先级信号12
或优先级信号13
或优先级信号14
或优先级信号15
通过提取优先级信号的每一位并将被提取的位重新排列成位串,来生成标识符信号0-7。Case(标识符信号0)0bddddddd01d0<=0;0bdddddd011d0<=1;
0bddddd0111d0<=2;0bdddd01111d0<=3;0bddd011111d0<=4;0bdd0111111d0<=5;0bd01111111d0<=6;0b011111111d0<=7;endcase其中d表示“任意(don’t care)”。其余的标识符信号1-7以同样的方式构成。
根据上述排列方法,按照本发明优选实施例,由判优器3进行的总线判优方法将参照图4进行详细描述。参照图4,该图示出了总线判优方法流程图,判优器3通过总线请求接收器300接收总线请求(步骤401)。接着,根据在总线请求接收器300中提供的对应输入端口的指定优先级生成优先级信号(步骤402)。然后,优先权提取器301逐位对生成的优先级信号进行“或”运算从而生成优先级合成信号(步骤403)。根据从优先权提取器301输入的优先级合成信号,优先权输出单元302以优先权降低的顺序输出优先级(步骤404)。
同时,标识符提取器303根据在步骤402中生成的优先级信号生成标识符信号并对生成的标识符信号进行解码从而提取提出总线请求的主机设备的标识符(步骤403’)。然后,标识符输出单元304输出具有由优先权输出单元302提供的优先级的主机设备的标识符(步骤405)。
判优电路32将总线授予输出的主机设备标识符。判优电路32将总线授予具有从优先权变换器31输出的标识符的主机设备,并且判优电路32具有可以在常规的判优器中广泛采用的电路结构。
由于按照本发明的判优器3将在输入端口指定的优先级存储在相应的寄存器中,通过改变存储在寄存器中的值可以动态地选定优先级。
此外,虽然按照有8个主机设备10-17和16个优先级的情况,已经对本发明的实施例进行了描述,但是,主机设备和优先级的数量可以有多种变化。
如上所述,本发明提供了一种具有优先权选定方案的判优器以及采用该判优器的总线系统,其中优先权选定方案用结构简单且没有比较器的电路来实现。因此,本发明使得一个系统在设计中不受主机设备数量的限制,用简单的电路结构即可进行高速判优并且可以改变对优先权的指定。
权利要求
1.一种判优器,包括一个总线请求接收器,连接到多个主机设备,用于接收来自主机设备的总线请求输入;一个优先级提取器,如果通过总线请求接收器输入总线请求,则该优先级提取器用于输出表示对应于主机设备的预定的优先级的优先级信号,并且根据输出的优先级信号生成表示所有总线请求的优先级的优先级合成信号;一个优先权输出单元,用于根据由优先级提取器生成的优先级合成信号,并按照优先权降低的顺序输出优先级;一个优先权变换器,包含主机设备标识符输出单元,该输出单元用于根据优先级信号提取提出总线请求的主机设备的标识符,并且根据从优先权输出单元输出的优先级顺序输出被提取的主机设备标识符;一个判优电路,用于将总线访问授予具有从优先权变换器输出的标识符的主机设备。
2.如权利要求1所述的判优器,其中,总线请求接收器包含连接到多个主机设备用于从主机设备接收总线请求输入的多个输入端口,以及在输入端口中提供的用于存储对输入端口的选定优先级的多个寄存器。
3.如权利要求2所述的判优器,其中,优先级信号用与优先级相同的位数来表示。
4.如权利要求3所述的判优器,其中,优先权输出单元逐位对一个或多个优先级信号进行“或”运算,从而生成以与优先级信号相同的位数表示的优先级合成信号。
5.如权利要求1所述的判优器,其中,主机设备标识符输出单元包含标识符提取器和标识符输出单元,其中,标识符提取器从由优先级信号构成的矩阵中提取一个位列,该位列包含表示请求的优先级的位,从而生成标识符信号,并且根据生成的标识符信号提取对应的主机设备标识符;并且其中,在由标识符提取器提取的标识符中,标识符输出单元输出具有从优先权输出单元输出的优先级的主机设备的标识符。
6.如权利要求5所述的判优器,其中,标识符提取器包含用于接收输入的标识符信号从而提取对应的主机设备标识符的解码器。
7.一种总线系统,包括一个总线请求接收器,连接到多个主机设备,用于接收来自主机设备的总线请求输入;一个优先级提取器,如果通过总线请求接收器输入总线请求,则该优先级提取器用于输出表示对应于主机设备的预定的优先级的优先级信号,并且根据输出的优先级信号生成表示所有总线请求的优先级的优先级合成信号;一个优先权输出单元,用于根据由优先级提取器生成的优先级合成信号,并按照优先权降低的顺序输出优先级;一个优先权变换器,包含主机设备标识符输出单元,该输出单元用于提取提出总线请求的主机设备的标识符,以输出被提取的对应于从优先权输出单元输出的优先级的主机设备标识符;和一个判优电路,用于将总线访问授予具有从优先权变换器输出的标识符的主机设备。
8.如权利要求7所述的总线系统,其中,总线请求接收器包含连接到多个主机设备用于从主机设备接收总线请求输入的多个输入端口,以及在输入端口中提供的用于存储为输入端口指定的优先级的多个寄存器。
9.如权利要求8所述的总线系统,其中,优先级信号用与优先级相同的位数来表示。
10.如权利要求9所述的总线系统,其中,优先权输出单元逐位对一个或多个优先级信号进行“或”运算,从而生成以与优先级信号相同的位数表示的优先级合成信号。
11.如权利要求7所述的总线系统,其中,主机设备标识符输出单元包含标识符提取器和标识符输出单元,其中,标识符提取器从由优先级信号构成的矩阵中提取一个位列,该位列包含表示请求的优先级的位,从而生成标识符信号,并且根据生成的标识符信号提取对应的主机设备标识符;并且其中,在由标识符提取器提取的标识符中,标识符输出单元输出具有从优先权输出单元输出的优先级的主机设备的标识符。
12.如权利要求11所述的总线系统,其中,标识符提取器包含用于接收输入的标识符信号从而提取对应的主机设备标识符的解码器。
全文摘要
一种判优器和采用该判优器的总线系统,该系统包括:总线请求接收器,连接到多个主机设备并从中接收总线请求输入;优先级提取器,若输入了总线请求,输出对应主机设备的预定优先级的优先级信号,生成表示所有总线请求优先级的优先级合成信号;优先权输出单元,根据合成信号按优先权降低的顺序输出优先级;优先权变换器,包含提取提出总线请求的主机设备的标识符以输出被提取的对应于优先级的主机设备标识符的主机设备标识符输出单元;判优电路,将总线访问授予具有从优先权变换器输出的标识符的主机设备。
文档编号G06F13/362GK1335562SQ0110479
公开日2002年2月13日 申请日期2001年2月27日 优先权日2000年7月27日
发明者金镇守 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1