CN102404183B - 仲裁方法和仲裁器 - Google Patents
仲裁方法和仲裁器 Download PDFInfo
- Publication number
- CN102404183B CN102404183B CN201010275873.5A CN201010275873A CN102404183B CN 102404183 B CN102404183 B CN 102404183B CN 201010275873 A CN201010275873 A CN 201010275873A CN 102404183 B CN102404183 B CN 102404183B
- Authority
- CN
- China
- Prior art keywords
- request
- read
- fifo interface
- multiplexing
- requests
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
本发明揭示了一种仲裁方法和仲裁器,该方法包括:判断先入先出队列FIFO接口的非空状态;按预设的请求优先级响应一预设数量的非空FIFO接口的请求,所述请求为读或写请求;对所述响应的请求进行复用,并线性输出;将复用后的请求进行解复用,并发送至对应的接收端口。本发明提出的仲裁方法和仲裁器,同时响应多个读或写请求,再通过数据解复用将响应的多个读或写请求分发到各对应的接收端口,充分利用芯片带宽,避免了硬件资源的浪费。
Description
技术领域
本发明涉及到通信领域,特别涉及到一种仲裁方法和仲裁器。
背景技术
随着通讯技术的发展,交换机等通讯设备的容量越来越大,通讯设备支持的业务越来越多,同时芯片的集成化也越来越高,导致芯片关键路径的数据吞吐量也越来越大,对传统仲裁器的性能提出了较高要求。现有的仲裁器通常是一个时钟周期只响应一个读或写请求,均未提出如何通过仲裁器对所有请求进行调度来实现同时响应多个读或写请求的方法,从而导致仲裁器满负荷工作而芯片带宽部分空闲的情况,造成硬件资源的浪费。
发明内容
本发明的主要目的为提供一种仲裁方法和仲裁器,同时响应多个读或写请求,充分利用芯片带宽,避免硬件资源的浪费。
本发明提出一种仲裁方法,包括:
判断先入先出队列FIFO接口的非空状态;
按预设的请求优先级响应一预设数量的非空FIFO接口的请求,所述请求为读或写请求;
对所述响应的请求进行复用,并线性输出;
将复用后的请求进行解复用,并发送至对应的接收端口。
优选地,所述按预设的请求优先级响应一预设数量的非空FIFO接口的请求包括:
按请求优先级高低,向预设数量的非空FIFO接口发送确认信号;
接收所述FIFO接口根据确认信号发出的请求。
优选地,所述将复用后的请求进行解复用包括:
将复用后的请求分解为对应各接收端口的请求。
优选地,在执行所述判断FIFO接口的非空状态之前,包括:
根据请求侧带宽与总线带宽的比例,计算响应的请求数量。
优选地,在执行所述按预设的请求优先级响应一预设数量的非空FIFO接口的请求之后,包括:当响应的请求为多个读请求时,记录读请求的序列号;
以及在执行所述将复用后的请求进行解复用,并发送至对应的接收端口之后,包括:根据所述读请求的序列号,接收反馈的读数据并分发到各对应的请求源。
本发明还提出一种仲裁器,包括先入先出队列FIFO接口、仲裁单元和解复用单元,所述仲裁单元用于判断FIFO接口的非空状态,以及按预设的请求优先级响应一预设数量的非空FIFO接口的请求,所述请求为读或写请求,对所述响应的请求进行复用,并线性输出;所述解复用单元用于将复用后的请求进行解复用,并发送至对应的接收端口。
优选地,所述仲裁单元具体用于按请求优先级高低,向预设数量的非空FIFO接口发送确认信号,以及接收所述FIFO接口根据确认信号发出的请求。
优选地,所述解复用单元具体用于将复用后的请求分解为对应各接收端口的请求。
优选地,所述仲裁器还包括计算单元,用于根据请求侧带宽与总线带宽的比例,计算响应的请求数量。
优选地,所述仲裁单元还用于当响应的请求为多个读请求时,记录所述读请求的序列号;所述仲裁器还包括读数据分发单元,用于根据所述读请求的序列号,接收反馈的读数据并分发到各对应的请求源。
本发明提出的一种仲裁方法和仲裁器,同时响应多个读或写请求,再通过数据解复用将响应的多个读或写请求分发到各对应的接收端口。进一步地,对于响应的读请求,根据响应时的读请求序列号分发到各对应的请求源。上述仲裁方法和仲裁器,有效地对全部请求进行调度,充分利用芯片带宽。
附图说明
图1为本发明仲裁方法一实施例的流程示意图;
图2为本发明仲裁方法一实施例中响应请求的流程示意图;
图3为本发明仲裁方法又一实施例的流程示意图;
图4为本发明仲裁器一实施例的流程示意图;
图5为本发明仲裁器又一实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
本发明提出的一种仲裁方法和仲裁器,同时响应多个读或写请求,再通过数据解复用将响应的多个读或写请求分发到各对应的接收端口。进一步地,对于响应的读请求,根据响应时的读请求序列号分发到各对应的请求源。
参照图1,提出本发明仲裁方法一实施例,包括:
步骤S101,判断先入先出队列FIFO接口的非空状态。
以存储器的读写为例,说明本实施例的仲裁方法,在一个存储器的时钟周期内,判断FIFO接口是否非空,即是否存在读或写请求。本实施例假设仲裁器有M个FIFO接口,M为大于或等于1的数值。
步骤S102,按预设的请求优先级响应一预设数量的非空FIFO接口的请求,该请求为读或写请求。
当M个FIFO接口中存在N个FIFO接口非空时,仲裁器根据预设的请求优先级对一预设数量的非空FIFO接口的请求进行响应。N为小于或等于M的值,而请求优先级和同时响应的FIFO接口的请求数量为预先设置的。同时响应的FIFO接口的请求数量越大,带宽的利用率越高。但应同时兼顾带宽负载情况而防止数据丢失。
步骤S103,对响应的请求进行复用,并线性输出。
仲裁器对同时响应的请求进行数据拼接,复用成一组位宽是存储器数据位宽数倍的数据,具体倍数为同时响应的请求数量。复用后的数据线性输出。
步骤S104,将复用后的请求进行解复用,并发送至对应的接收端口。
仲裁器对复用后的请求进行解复用。当同时响应的为多个读请求时,仲裁器将多个读请求解复用为对应各个接收端口的单个读请求,每个读请求包括读地址和读有效等。当同时响应的为多个写请求时,仲裁器将多个写请求解复用为对应各个接收端口的单个写请求,每个写请求包括写地址、写数据和写有效等。解复用后的数据被发送到存储器对应的接收端口。
本发明提出的仲裁方法,同时响应多个读或写请求,再通过数据解复用将响应的多个读或写请求分发到各对应的接收端口。上述仲裁方法有效地对全部读或写请求进行调度,充分利用芯片带宽。
参照图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,提出本发明仲裁方法的又一实施例,在上述实施例中,在执行步骤S101之前,包括:
步骤S100,根据请求侧带宽与总线带宽的比例,计算响应的请求数量;
根据每个请求占用的带宽以及存储器总线带宽,可计算出一次响应的读请求数量或写请求数量。计算公式为:读请求侧带宽/总线带宽,或者写请求侧带宽/总线带宽,该计算公式决定了每一存储器时钟周期可以同时响应的读请求数量或写请求数量。
在执行步骤S102之后,包括:
步骤S1023,当响应的请求为多个读请求时,记录读请求的序列号;
在执行步骤S103之后,包括:
步骤S1031,根据读请求的序列号,接收反馈的读数据并分发到各对应的请求源。
仲裁器响应多个读请求时,同时记录并存储得到响应的读请求序列号。当返回读数据时,仲裁器将读数据一次进行组合复用,由于存储器总线串行传输,复用后读数据与读请求序列号一一对应,仲裁器可根据读请求序列号在一个时钟周期内将复用的读数据解复用,并分发到各个读请求源。仲裁器还可在对读请求解复用时记录并存储得到响应的读请求的数量,用作在对反馈的读数据复用时进行计数。
本发明的仲裁方法不仅仅适用于存储器,还可以适用于其它集成电路的读写。
本发明提出的一种仲裁方法,同时响应多个读或写请求,再通过数据解复用将响应的多个读或写请求分发到各对应的接收端口。进一步地,对于同时响应的读请求,根据响应时的读请求序列号分发到各对应的请求源。上述仲裁方法有效地对全部请求进行调度,充分利用芯片带宽。
参照图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需要将该组合数据分解为对应各接收端口的请求,以便发送。如为多个读请求,则分解为单个的读地址和读有效等,如为多个写请求,则分解为单个的写地址、写数据和写有效等,以便发送到对应的存储器的接收端口。
参照图5,提出本发明仲裁器的又一实施例,在上述仲裁器的实施例中,还包括计算单元40,用于根据请求侧带宽与总线带宽的比例,计算响应的请求数量。
计算单元40根据每个请求占用的带宽以及存储器总线带宽,可计算出一次响应的读请求数量或写请求数量。计算公式为:读请求侧带宽/总线带宽,或者写请求侧带宽/总线带宽,该计算公式决定了每一存储器时钟周期可以同时响应的读请求数量或写请求数量。
仲裁单元20还用于当响应的请求为多个读请求时,记录读请求的序列号;仲裁器还包括读数据分发单元50,用于根据读请求的序列号,接收反馈的读数据并分发到各对应的请求源。
仲裁单元20响应多个读请求时,同时记录并存储得到响应的读请求序列号。当返回读数据时,将读数据一次进行复用,由于存储器总线串行传输,复用后读数据与读请求序列号一一对应,读数据分发单元50可根据读请求序列号在一个时钟周期内将复用的读数据解复用,并分发到各个读请求源。解复用单元30还可在对读请求解复用时记录并存储得到响应的读请求的数量,用作读数据分发单元50在对反馈的读数据复用时进行计数。
本发明的仲裁器不仅仅适用于存储器,还可以适用于其它集成电路的读写。
本发明提出的仲裁器,同时响应多个读或写请求,再通过数据解复用将响应的多个读或写请求分发到各对应的接收端口。进一步地,对于同时响应的读请求,根据响应时的读请求序列号分发到各对应的请求源。该仲裁器有效地对全部请求进行调度,充分利用芯片带宽。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (6)
1.一种仲裁方法,其特征在于,包括:
判断先入先出队列FIFO接口的非空状态;
按预设的请求优先级响应一预设数量的非空FIFO接口的请求,所述请求为读或写请求;当响应的请求为多个读请求时,记录读请求的序列号;
对所述响应的请求进行复用,并线性输出;
将复用后的请求进行解复用,并发送至对应的接收端口;
当所述响应的请求为多个读请求时,根据所述读请求的序列号,接收反馈的读数据并分发到各对应的请求源;
其中,所述按预设的请求优先级响应一预设数量的非空FIFO接口的请求包括:
按请求优先级高低,向所述预设数量的非空FIFO接口发送确认信号;
接收所述FIFO接口根据确认信号发出的请求。
2.如权利要求1所述的仲裁方法,其特征在于,所述将复用后的请求进行解复用包括:
将复用后的请求分解为对应各接收端口的请求。
3.如权利要求1所述的仲裁方法,其特征在于,在执行所述判断FIFO接口的非空状态之前,包括:
根据请求侧带宽与总线带宽的比例,计算响应的请求数量。
4.一种仲裁器,其特征在于,包括先入先出队列FIFO接口、仲裁单元、解复用单元和读数据分发单元,所述仲裁单元用于判断FIFO接口的非空状态,以及按预设的请求优先级响应一预设数量的非空FIFO接口的请求,所述请求为读或写请求,对所述响应的请求进行复用,并线性输出,所述仲裁单元还用于当响应的请求为多个读请求时,记录所述读请求的序列号;所述解复用单元用于将复用后的请求进行解复用,并发送至对应的接收端口;所述读数据分发单元用于根据所述读请求的序列号,接收反馈的读数据并分发到各对应的请求源;其中,所述仲裁单元具体用于按请求优先级高低,向所述预设数量的非空FIFO接口发送确认信号,以及接收所述FIFO接口根据确认信号发出的请求。
5.如权利要求4所述的仲裁器,其特征在于,所述解复用单元具体用于将复用后的请求分解为对应各接收端口的请求。
6.如权利要求4所述的仲裁器,其特征在于,还包括计算单元,用于根据请求侧带宽与总线带宽的比例,计算响应的请求数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010275873.5A CN102404183B (zh) | 2010-09-07 | 2010-09-07 | 仲裁方法和仲裁器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010275873.5A CN102404183B (zh) | 2010-09-07 | 2010-09-07 | 仲裁方法和仲裁器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102404183A CN102404183A (zh) | 2012-04-04 |
CN102404183B true CN102404183B (zh) | 2015-04-01 |
Family
ID=45885994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010275873.5A Active CN102404183B (zh) | 2010-09-07 | 2010-09-07 | 仲裁方法和仲裁器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102404183B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103761065B (zh) * | 2014-01-27 | 2017-04-12 | 华为技术有限公司 | 一种数据输出方法及装置 |
CN107844442A (zh) * | 2016-09-19 | 2018-03-27 | 深圳市中兴微电子技术有限公司 | 请求源响应的仲裁方法及装置 |
CN111949470A (zh) * | 2020-08-24 | 2020-11-17 | 海光信息技术有限公司 | 一种芯片验证方法、装置、电子设备及存储介质 |
CN112579503B (zh) * | 2020-12-24 | 2022-04-08 | 广州五舟科技股份有限公司 | 一种多核异构cpu总线仲裁方法、总线仲裁器及系统 |
CN115617732B (zh) * | 2022-11-14 | 2023-03-31 | 南京芯驰半导体科技有限公司 | Apb总线结构、片上系统、车辆及访问方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1929471A (zh) * | 2005-09-05 | 2007-03-14 | 中兴通讯股份有限公司 | 一种调度和仲裁的装置 |
CN1965302A (zh) * | 2004-03-18 | 2007-05-16 | 米克伦技术公司 | 利用存储器集线器存储器模块组织数据传送的系统和方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003186820A (ja) * | 2001-12-14 | 2003-07-04 | Canon Inc | 情報処理装置 |
-
2010
- 2010-09-07 CN CN201010275873.5A patent/CN102404183B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1965302A (zh) * | 2004-03-18 | 2007-05-16 | 米克伦技术公司 | 利用存储器集线器存储器模块组织数据传送的系统和方法 |
CN1929471A (zh) * | 2005-09-05 | 2007-03-14 | 中兴通讯股份有限公司 | 一种调度和仲裁的装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102404183A (zh) | 2012-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109271335B (zh) | 一种多通道数据源ddr缓存的fpga实现方法 | |
CN102404183B (zh) | 仲裁方法和仲裁器 | |
CN110134365B (zh) | 一种多通道并行读出fifo的方法及装置 | |
CN102622192B (zh) | 一种弱相关多端口并行存储控制器 | |
CN103714038B (zh) | 一种数据处理方法和装置 | |
CN102866971A (zh) | 传输数据的装置、系统及方法 | |
CN102073611B (zh) | 一种i2c总线控制系统及方法 | |
CN104765701A (zh) | 数据访问方法及设备 | |
CN105573922A (zh) | 一种实现数据格式转换的方法和装置 | |
CN103106177B (zh) | 多核网络处理器的片上互联结构及其方法 | |
CN102419739A (zh) | 多主总线仲裁共享装置以及仲裁方法 | |
CN102143053B (zh) | 传输数据的方法、装置和系统 | |
KR20110134465A (ko) | 데이터 전송 시스템 및 그 데이터 판독 방법 | |
EP2899644A1 (en) | Device and method for inter-core communication in multi-core processor | |
CN102170401B (zh) | 一种数据的处理方法和设备 | |
CN104460857A (zh) | 一种高速外设部件互连标准卡及其使用方法和装置 | |
CN115543862B (zh) | 内存管理方法及相关装置 | |
CN102521180B (zh) | 一种多通道实时直读存储器结构 | |
CN102857443B (zh) | 一种数据写入的方法、装置及系统 | |
CN110851393B (zh) | 一种带有Aurora接口的USB转换控制板卡及方法 | |
CN209514612U (zh) | 一种通信系统 | |
CN209248518U (zh) | 一种固态硬盘扩展板卡及服务器 | |
CN103268278B (zh) | 支持多核处理器的sram控制器及其跟踪信息处理方法 | |
CN102033808B (zh) | Dsp中的数据存储方法和存储控制装置 | |
CN102403008A (zh) | 音频播放中数据流断点续接的方法和系统、fifo控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20151112 Address after: 518057 Nanshan District Guangdong high tech Industrial Park, South Road, science and technology, ZTE building, Ministry of Justice Patentee after: ZTE Corporation Patentee after: SHENZHEN ZTE MICROELECTRONICS TECHNOLOGY CO., LTD. Address before: 518057 Nanshan District Guangdong high tech Industrial Park, South Road, science and technology, ZTE building, Ministry of Justice Patentee before: ZTE Corporation |