仲裁方法和仲裁器的制作方法

文档序号:6331618阅读:348来源:国知局
专利名称:仲裁方法和仲裁器的制作方法
技术领域
本发明涉及到通信领域,特别涉及到一种仲裁方法和仲裁器。
背景技术
随着通讯技术的发展,交换机等通讯设备的容量越来越大,通讯设备支持的业务越来越多,同时芯片的集成化也越来越高,导致芯片关键路径的数据吞吐量也越来越大,对传统仲裁器的性能提出了较高要求。现有的仲裁器通常是一个时钟周期只响应一个读或写请求,均未提出如何通过仲裁器对所有请求进行调度来实现同时响应多个读或写请求的方法,从而导致仲裁器满负荷工作而芯片带宽部分空闲的情况,造成硬件资源的浪费。

发明内容
本发明的主要目的为提供一种仲裁方法和仲裁器,同时响应多个读或写请求,充分利用芯片带宽,避免硬件资源的浪费。本发明提出一种仲裁方法,包括判断先入先出队列FIFO接口的非空状态;按预设的请求优先级响应一预设数量的非空FIFO接口的请求,所述请求为读或写请求;对所述响应的请求进行复用,并线性输出;将复用后的请求进行解复用,并发送至对应的接收端口。优选地,所述按预设的请求优先级响应一预设数量的非空FIFO接口的请求包括按请求优先级高低,向预设数量的非空FIFO接口发送确认信号;接收所述FIFO接口根据确认信号发出的请求。优选地,所述将复用后的请求进行解复用包括将复用后的请求分解为对应各接收端口的请求。优选地,在执行所述判断FIFO接口的非空状态之前,包括根据请求侧带宽与总线带宽的比例,计算响应的请求数量。优选地,在执行所述按预设的请求优先级响应一预设数量的非空FIFO接口的请求之后,包括当响应的请求为多个读请求时,记录读请求的序列号;以及在执行所述将复用后的请求进行解复用,并发送至对应的接收端口之后,包括根据所述读请求的序列号,接收反馈的读数据并分发到各对应的请求源。本发明还提出一种仲裁器,包括先入先出队列FIFO接口、仲裁单元和解复用单元,所述仲裁单元用于判断FIFO接口的非空状态,以及按预设的请求优先级响应一预设数量的非空FIFO接口的请求,所述请求为读或写请求,对所述响应的请求进行复用,并线性输出;所述解复用单元用于将复用后的请求进行解复用,并发送至对应的接收端口。优选地,所述仲裁单元具体用于按请求优先级高低,向预设数量的非空FIFO接口发送确认信号,以及接收所述FIFO接口根据确认信号发出的请求。
3
优选地,所述解复用单元具体用于将复用后的请求分解为对应各接收端口的请求。优选地,所述仲裁器还包括计算单元,用于根据请求侧带宽与总线带宽的比例,计算响应的请求数量。优选地,所述仲裁单元还用于当响应的请求为多个读请求时,记录所述读请求的序列号;所述仲裁器还包括读数据分发单元,用于根据所述读请求的序列号,接收反馈的读数据并分发到各对应的请求源。本发明提出的一种仲裁方法和仲裁器,同时响应多个读或写请求,再通过数据解复用将响应的多个读或写请求分发到各对应的接收端口。进一步地,对于响应的读请求,根据响应时的读请求序列号分发到各对应的请求源。上述仲裁方法和仲裁器,有效地对全部请求进行调度,充分利用芯片带宽。


图1为本发明仲裁方法一实施例的流程示意图;图2为本发明仲裁方法一实施例中响应请求的流程示意图;图3为本发明仲裁方法又一实施例的流程示意图;图4为本发明仲裁器一实施例的流程示意图;图5为本发明仲裁器又一实施例的流程示意图。本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施例方式本发明提出的一种仲裁方法和仲裁器,同时响应多个读或写请求,再通过数据解复用将响应的多个读或写请求分发到各对应的接收端口。进一步地,对于响应的读请求,根据响应时的读请求序列号分发到各对应的请求源。参照图1,提出本发明仲裁方法一实施例,包括步骤SlOl,判断先入先出队列FIFO接口的非空状态。以存储器的读写为例,说明本实施例的仲裁方法,在一个存储器的时钟周期内,判断FIFO接口是否非空,即是否存在读或写请求。本实施例假设仲裁器有M个FIFO接口,M 为大于或等于1的数值。步骤S102,按预设的请求优先级响应一预设数量的非空FIFO接口的请求,该请求为读或写请求。当M个FIFO接口中存在N个FIFO接口非空时,仲裁器根据预设的请求优先级对一预设数量的非空FIFO接口的请求进行响应。N为小于或等于M的值,而请求优先级和同时响应的FIFO接口的请求数量为预先设置的。同时响应的FIFO接口的请求数量越大,带宽的利用率越高。但应同时兼顾带宽负载情况而防止数据丢失。步骤S103,对响应的请求进行复用,并线性输出。仲裁器对同时响应的请求进行数据拼接,复用成一组位宽是存储器数据位宽数倍的数据,具体倍数为同时响应的请求数量。复用后的数据线性输出。步骤S104,将复用后的请求进行解复用,并发送至对应的接收端口。
4
仲裁器对复用后的请求进行解复用。当同时响应的为多个读请求时,仲裁器将多个读请求解复用为对应各个接收端口的单个读请求,每个读请求包括读地址和读有效等。 当同时响应的为多个写请求时,仲裁器将多个写请求解复用为对应各个接收端口的单个写请求,每个写请求包括写地址、写数据和写有效等。解复用后的数据被发送到存储器对应的接收端口。本发明提出的仲裁方法,同时响应多个读或写请求,再通过数据解复用将响应的多个读或写请求分发到各对应的接收端口。上述仲裁方法有效地对全部读或写请求进行调度,充分利用芯片带宽。参照图2,在一实施例中,步骤S102可包括步骤S1021,按请求优先级高低,向预设数量的非空FIFO接口发送确认信号;步骤S1022,接收FIFO接口根据确认信号发出的请求。按照请求优先级由高到低顺序,向预设数量的非空FIFO接口发送确认信号。对于 N个非空FIFO接口,假设N为10,上述预设数量为5,请求优先级为A的请求有4个,请求优先级为B和C的分别为3个,则在同时响应的非空FIFO接口的请求中,有4个A优先级的请求和1个B优先级的请求。仲裁器可在时钟的上升沿对得到响应的请求进行组合,当优先级高的请求数量不足预设的响应数量时,则将下一个优先级的请求进行补充。上述得到确认信号的FIFO接口发出本端口的请求。在一实施例中,步骤S103可包括将复用后的请求分解为对应各接收端口的请求。复用后的请求为一组合数据,仲裁器需要将该组合数据分解为对应各接收端口的请求,以便发送。如为多个读请求,则分解为单个的读地址和读有效等,如为多个写请求,则分解为单个的写地址、写数据和写有效等,以便发送到对应的存储器的接收端口。参照图3,提出本发明仲裁方法的又一实施例,在上述实施例中,在执行步骤SlOl 之前,包括步骤S100,根据请求侧带宽与总线带宽的比例,计算响应的请求数量;根据每个请求占用的带宽以及存储器总线带宽,可计算出一次响应的读请求数量或写请求数量。计算公式为读请求侧带宽/总线带宽,或者写请求侧带宽/总线带宽,该计算公式决定了每一存储器时钟周期可以同时响应的读请求数量或写请求数量。在执行步骤S102之后,包括步骤S1023,当响应的请求为多个读请求时,记录读请求的序列号;在执行步骤S103之后,包括步骤S1031,根据读请求的序列号,接收反馈的读数据并分发到各对应的请求源。仲裁器响应多个读请求时,同时记录并存储得到响应的读请求序列号。当返回读数据时,仲裁器将读数据一次进行组合复用,由于存储器总线串行传输,复用后读数据与读请求序列号一一对应,仲裁器可根据读请求序列号在一个时钟周期内将复用的读数据解复用,并分发到各个读请求源。仲裁器还可在对读请求解复用时记录并存储得到响应的读请求的数量,用作在对反馈的读数据复用时进行计数。本发明的仲裁方法不仅仅适用于存储器,还可以适用于其它集成电路的读写。本发明提出的一种仲裁方法,同时响应多个读或写请求,再通过数据解复用将响
5应的多个读或写请求分发到各对应的接收端口。进一步地,对于同时响应的读请求,根据响应时的读请求序列号分发到各对应的请求源。上述仲裁方法有效地对全部请求进行调度, 充分利用芯片带宽。参照图4,提出本发明仲裁器一实施例,包括FIFO接口 10、仲裁单元20和解复用单元30,仲裁单元20用于判断FIFO接口 10的非空状态,以及按预设的请求优先级响应一预设数量的非空FIFO接口 10的请求,该请求为读或写请求,对响应的请求进行复用,并线性输出;解复用单元30用于将复用后的请求进行解复用,并发送至对应的接收端口。以存储器的读写为例,说明本实施例的仲裁器,在一个存储器的时钟周期内,仲裁单元20判断FIFO接口 10是否非空,即是否存在读或写请求。本实施例假设仲裁器有M个 FIFO接口 10,M为大于或等于1的数值。当M个FIFO接口 10中存在N个FIFO接口 10非空时,仲裁单元20根据预设的请求优先级对一预设数量的非空FIFO接口 10的请求进行响应。N为小于或等于M的值,而请求优先级和同时响应的FIFO接口 10的请求数量为预先设置的。请求优选级同时响应的 FIFO接口 10的请求数量越大,带宽的利用率越高。但应同时兼顾带宽负载情况而防止数据丢失。仲裁单元20对同时响应的请求进行数据拼接,复用成一组位宽是存储器数据位宽数倍的数据,具体倍数为同时响应的请求数量。复用后的数据线性输出。解复用单元30对仲裁单元20输出的组合数据进行解复用。当同时响应的为多个读请求时,解复用单元30将多个读请求解复用为对应各个接收端口的单个读请求,每个读请求包括读地址和读有效等。当同时响应的为多个写请求时,解复用单元30将多个写请求解复用为对应各个接收端口的单个写请求,每个写请求包括写地址、写数据和写有效等。解复用后的数据被发送到存储器对应的接收端口。本发明提出的仲裁器,同时响应多个读或写请求,再通过数据解复用将响应的多个读或写请求分发到各对应的接收端口。该仲裁器有效地对全部请求进行调度,充分利用芯片带宽。在一实施例的仲裁器中,仲裁单元20可具体用于按请求优先级高低,向预设数量的非空FIFO接口 10发送确认信号,以及接收FIFO接口 10根据确认信号发出的请求。按照请求优先级由高到低顺序,向预设数量的非空FIFO接口 10发送确认信号。对于N个非空FIFO接口 10,假设N为10,上述预设数量为5,请求优先级为A的请求有4个, 请求优先级为B和C的分别为3个,则在同时响应的非空FIFO接口 10的请求中,有4个A 优先级的请求和1个B优先级的请求。仲裁单元20可在时钟的上升沿对得到响应的请求进行组合,当优先级高的请求数量不足预设的响应数量时,则将下一个优先级的请求进行补充。上述得到确认信号的FIFO接口 10发出本端口的请求。在一实施例的仲裁器中,解复用单元30可具体用于将复用后的请求分解为对应各接收端口的请求。复用后的请求为一组合数据,解复用单元30需要将该组合数据分解为对应各接收端口的请求,以便发送。如为多个读请求,则分解为单个的读地址和读有效等,如为多个写请求,则分解为单个的写地址、写数据和写有效等,以便发送到对应的存储器的接收端
6
参照图5,提出本发明仲裁器的又一实施例,在上述仲裁器的实施例中,还包括计算单元40,用于根据请求侧带宽与总线带宽的比例,计算响应的请求数量。计算单元40根据每个请求占用的带宽以及存储器总线带宽,可计算出一次响应的读请求数量或写请求数量。计算公式为读请求侧带宽/总线带宽,或者写请求侧带宽/ 总线带宽,该计算公式决定了每一存储器时钟周期可以同时响应的读请求数量或写请求数量。仲裁单元20还用于当响应的请求为多个读请求时,记录读请求的序列号;仲裁器还包括读数据分发单元50,用于根据读请求的序列号,接收反馈的读数据并分发到各对应的请求源。仲裁单元20响应多个读请求时,同时记录并存储得到响应的读请求序列号。当返回读数据时,将读数据一次进行复用,由于存储器总线串行传输,复用后读数据与读请求序列号一一对应,读数据分发单元50可根据读请求序列号在一个时钟周期内将复用的读数据解复用,并分发到各个读请求源。解复用单元30还可在对读请求解复用时记录并存储得到响应的读请求的数量,用作读数据分发单元50在对反馈的读数据复用时进行计数。本发明的仲裁器不仅仅适用于存储器,还可以适用于其它集成电路的读写。本发明提出的仲裁器,同时响应多个读或写请求,再通过数据解复用将响应的多个读或写请求分发到各对应的接收端口。进一步地,对于同时响应的读请求,根据响应时的读请求序列号分发到各对应的请求源。该仲裁器有效地对全部请求进行调度,充分利用芯片带宽。以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
权利要求
1.一种仲裁方法,其特征在于,包括 判断先入先出队列FIFO接口的非空状态;按预设的请求优先级响应一预设数量的非空FIFO接口的请求,所述请求为读或写请求;对所述响应的请求进行复用,并线性输出;将复用后的请求进行解复用,并发送至对应的接收端口。
2.如权利要求1所述的仲裁方法,其特征在于,所述按预设的请求优先级响应一预设数量的非空FIFO接口的请求包括按请求优先级高低,向所述预设数量的非空FIFO接口发送确认信号; 接收所述FIFO接口根据确认信号发出的请求。
3.如权利要求1或2所述的仲裁方法,其特征在于,所述将复用后的请求进行解复用包括将复用后的请求分解为对应各接收端口的请求。
4.如权利要求1或2所述的仲裁方法,其特征在于,在执行所述判断FIFO接口的非空状态之前,包括根据请求侧带宽与总线带宽的比例,计算响应的请求数量。
5.如权利要求1或2所述的仲裁方法,其特征在于,在执行所述按预设的请求优先级响应一预设数量的非空FIFO接口的请求之后,包括当响应的请求为多个读请求时,记录读请求的序列号;以及在执行所述将复用后的请求进行解复用,并发送至对应的接收端口之后,包括根据所述读请求的序列号,接收反馈的读数据并分发到各对应的请求源。
6.一种仲裁器,其特征在于,包括先入先出队列FIFO接口、仲裁单元和解复用单元,所述仲裁单元用于判断FIFO接口的非空状态,以及按预设的请求优先级响应一预设数量的非空FIFO接口的请求,所述请求为读或写请求,对所述响应的请求进行复用,并线性输出; 所述解复用单元用于将复用后的请求进行解复用,并发送至对应的接收端口。
7.如权利要求6所述的仲裁器,其特征在于,所述仲裁单元具体用于按请求优先级高低,向所述预设数量的非空FIFO接口发送确认信号,以及接收所述FIFO接口根据确认信号发出的请求。
8.如权利要求6或7所述的仲裁器,其特征在于,所述解复用单元具体用于将复用后的请求分解为对应各接收端口的请求。
9.如权利要求6或7所述的仲裁器,其特征在于,还包括计算单元,用于根据请求侧带宽与总线带宽的比例,计算响应的请求数量。
10.如权利要求6或7所述的仲裁器,其特征在于,所述仲裁单元还用于当响应的请求为多个读请求时,记录所述读请求的序列号;还包括读数据分发单元,用于根据所述读请求的序列号,接收反馈的读数据并分发到各对应的请求源。
全文摘要
本发明揭示了一种仲裁方法和仲裁器,该方法包括判断先入先出队列FIFO接口的非空状态;按预设的请求优先级响应一预设数量的非空FIFO接口的请求,所述请求为读或写请求;对所述响应的请求进行复用,并线性输出;将复用后的请求进行解复用,并发送至对应的接收端口。本发明提出的仲裁方法和仲裁器,同时响应多个读或写请求,再通过数据解复用将响应的多个读或写请求分发到各对应的接收端口,充分利用芯片带宽,避免了硬件资源的浪费。
文档编号G06F9/46GK102404183SQ20101027587
公开日2012年4月4日 申请日期2010年9月7日 优先权日2010年9月7日
发明者周来平, 朱泽奇 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1