WO2014169876A1 - 一种总线仲裁方法及装置、存储介质 - Google Patents

一种总线仲裁方法及装置、存储介质 Download PDF

Info

Publication number
WO2014169876A1
WO2014169876A1 PCT/CN2014/077835 CN2014077835W WO2014169876A1 WO 2014169876 A1 WO2014169876 A1 WO 2014169876A1 CN 2014077835 W CN2014077835 W CN 2014077835W WO 2014169876 A1 WO2014169876 A1 WO 2014169876A1
Authority
WO
WIPO (PCT)
Prior art keywords
arbitration
access request
bus access
external device
bus
Prior art date
Application number
PCT/CN2014/077835
Other languages
English (en)
French (fr)
Inventor
林文琼
李爱军
张永胜
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2014169876A1 publication Critical patent/WO2014169876A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control

Definitions

  • the present invention relates to a processor arbitration technique in the field of chips, and in particular, to a bus arbitration method and apparatus, and a storage medium. Background technique
  • arbitration is divided into two categories: centralized arbitration and distributed arbitration. Among them, distributed arbitration has good scalability, but arbitration efficiency is low. The independent arbitration method in centralized arbitration has high arbitration efficiency and can be completed in one clock cycle. A request for arbitration, which is suitable as a bus arbitration method inside the chip.
  • a common implementation of a bus arbitration component based on an independent request mode is: At a certain clock cycle, the arbitration component receives a request from each active module on the bus, by configurable priority or fixed priority or After the arbitration is conducted by other arbitration methods, an arbitration response signal carrying the request is returned to one of the active modules. After each active module receives the arbitration response signal, usually the arbitration response signal is represented by grant or aready; if the arbitration response signal is high, a new request can be swiped in the next clock cycle; if the arbitration response signal is low Flat, the current request is buffered until the arbitration acknowledgement signal is high, and the request is sent to the bus.
  • FIG. 1 is a timing diagram of a general arbitration implementation scheme in the prior art.
  • the arbitration efficiency of the general arbitration implementation scheme in the prior art is high, since the grant signal returned to the active module passes through the arbitration logic, there is a long delay, and In the processor design, the grant signal also controls the root clock switch of the entire pipeline. Since the leaf clock used by the circuit is behind the root clock time and the timing requirements are more stringent, such schemes are not suitable for high-speed interconnect design, processor design, and A design that requests more modules and requests a long arbitration delay.
  • FIG. 2 is a block diagram of an improved arbitration implementation scheme in the prior art, which is a general arbitration implementation scheme.
  • the improvement scheme by using the register to beat the grant signal, outputs the beat grant signal to the active module, thereby supporting high-speed interconnection, supporting the processor switching clock, and supporting a large number of active modules; however, the scheme It takes two clock cycles to complete a request transmission, and the transmission efficiency is low. Summary of the invention
  • an embodiment of the present invention provides a bus arbitration method and apparatus, and a storage medium, which can improve the transmission efficiency and circuit frequency of the bus, and can meet the requirements of high-speed interconnection.
  • the embodiment of the invention provides a bus arbitration method, the method comprising:
  • the stored arbitration result is executed and a corresponding arbitration response signal is sent to the external device that is currently transmitting the bus access request and/or transmitting the stored bus access request.
  • the arbitration result is: only one bus access request is allowed; and the corresponding arbitration response signal is sent to the external device that sends the bus access request and/or sends the stored bus access request, including:
  • the request to the bus access is not allowed to send an arbitration disallowed signal to the external device.
  • the method further includes:
  • the performing the stored arbitration result includes:
  • the method before the arbitrating the bus access request and/or the stored bus access request sent by the currently received external device according to the arbitration criterion, the method further includes:
  • the arbitration response signal to the external device is pre-configured as an arbitration permission signal
  • the arbitration acknowledgement signal is changed from the arbitration permission signal to the arbitration disallowed signal, and the external device corresponding to the bus access request is no longer allowed to input new Bus access request until the bus access request is allowed.
  • the method further includes:
  • the bus access request corresponding to the counter is output to the bus.
  • the method further includes:
  • an external device Determining that an external device continues to obtain an arbitration permission signal for a preset period of time and stores a bus access request of another external device, and then issues an arbitration disallowed signal to the external device that continuously obtains the arbitration permission signal, while other external devices
  • the arbitration permission signal is sent to the highest priority external device.
  • the embodiment of the present invention further provides a bus arbitration device, which includes an arbitration module, a first storage module, and an execution module;
  • the arbitration module is configured to arbitrate a bus access request and/or a stored bus access request sent by the currently received external device according to an arbitration criterion
  • a first storage module configured to store an arbitration result of the arbitration module; the execution module configured to execute the stored arbitration result and send a bus access request to the current and/or send an externally stored bus access request The device sends the corresponding arbitration response letter number.
  • the arbitration result when the arbitration module performs arbitration is: only one bus access request is allowed;
  • the execution module is further configured to:
  • the request to the bus access is not allowed to send an arbitration disallowed signal to the external device.
  • the apparatus further includes a second storage module configured to store a bus access request sent by the currently received external device.
  • the execution module further includes a selection module, an output module, and a control module, where
  • the selection module is configured to generate a selection signal according to the arbitration response signal; and select a bus access request outputted to the bus in the stored bus access request according to the selection signal; the output module is configured to output to the bus Determining a bus access request selected by the module;
  • the control module is configured to control an update of a state of the external device output bus access request according to the arbitration acknowledgement signal.
  • the device further includes a configuration module configured to pre-configure an arbitration response signal of the external device as an arbitration permission signal;
  • the arbitration acknowledgement signal is changed from the arbitration permission signal to the arbitration disallowed signal, and the external device corresponding to the bus access request is no longer allowed to input new Bus access request until the bus access request is allowed.
  • the configuration module is further configured to:
  • the execution module is further configured to:
  • the bus access request corresponding to the counter is output to the bus.
  • the arbitration module is further configured to:
  • an external device Determining that an external device continues to obtain an arbitration permission signal for a preset period of time and stores a bus access request of another external device, and then issues an arbitration disallowed signal to the external device that continuously obtains the arbitration permission signal, while other external devices
  • the arbitration permission signal is sent to the highest priority external device.
  • a storage medium having stored therein a computer program, the computer program being configured to perform the aforementioned bus arbitration method.
  • the bus arbitration method and apparatus provided by the embodiment of the present invention arbitrate the bus access request and/or the stored bus access request sent by the currently received external device according to the arbitration criterion, and store the arbitration result; execute the stored Arbitration result, and sending a corresponding arbitration response signal to the external device that currently sends the bus access request and/or sends the stored bus access request, and the arbitration response signal stores the one-shot arbitration for the original response signal generated by the arbitration.
  • the response signal as such, the embodiment of the present invention is capable of completing one request per clock cycle, improving the transmission efficiency and circuit frequency of the bus while satisfying the requirements for high speed interconnection.
  • the main reason why the circuit frequency can be improved in the embodiment of the present invention is that: the arbitration response signal returned to each external device is an arbitration response signal after one beat is stored; the arbitration circuit is not in the same clock cycle as the circuit that performs arbitration.
  • the reasons why the technical solution of the present invention can support one request per clock cycle is to set the initial value of the arbitration acknowledgement signal of each external device to the permission request.
  • the embodiment of the present invention optimizes the bus transmission efficiency and frequency during arbitration implementation under the premise of ensuring the arbitration function, improves the transmission efficiency of the bus, and improves the circuit frequency, which is a fundamental improvement and has a wide range. Practical value.
  • the technical solution of the present invention is especially Application scenarios for high-speed interconnect buses are suitable for use inside chips with high bus throughput.
  • FIG. 3 is a schematic flowchart of an implementation process of a bus arbitration method according to an embodiment of the present invention.
  • FIG. 4 is a schematic structural diagram of a bus arbitration apparatus according to an embodiment of the present invention.
  • FIG. 5 is a block diagram of a bus arbitration implementation scheme according to an embodiment of the present invention.
  • FIG. 6 is a block diagram of a hierarchical arbitration implementation scheme based on the present invention.
  • FIG. 7 is a timing diagram of requests for a bus arbitration implementation scheme according to an embodiment of the present invention. detailed description
  • FIG. 3 is a schematic flowchart of a bus arbitration method according to an embodiment of the present invention. As shown in FIG. 3, the method includes the following steps:
  • Step 301 Arbitrate the bus access request and/or the stored bus access request sent by the currently received external device according to the arbitration criterion, and store the arbitration result;
  • the method further includes:
  • the arbitration result is: only one bus access request is allowed
  • the performing the stored arbitration result includes:
  • An update of the state of the external device output bus access request is controlled according to the arbitration response signal. Specifically, before the arbitrating the bus access request and/or the stored bus access request sent by the currently received external device according to the arbitration criterion, the method further includes:
  • the arbitration response signal to the external device is pre-configured as an arbitration permission signal
  • the arbitration acknowledgement signal is changed from the arbitration permission signal to the arbitration disallowed signal, and the external device corresponding to the bus access request is no longer allowed to input new Bus access request until the bus access request is allowed.
  • the arbitration criteria include:
  • Arbitrate according to the fixed priority of the bus access request or arbitrate according to the configurable priority of the bus access request, or arbitrate according to the polling method.
  • arbitration criterion may also be other criteria, and details are not described herein again.
  • Step 302 Execute the stored arbitration result, and send a corresponding arbitration response signal to the external device that currently sends the bus access request and/or sends the stored bus access request.
  • the sending, by the external device that sends the bus access request and/or the stored bus access request, the corresponding arbitration response signal includes:
  • the request to the bus access is not allowed to send an arbitration disallowed signal to the external device.
  • the method further includes:
  • the bus access request corresponding to the counter is output to the bus.
  • the method further includes:
  • the device includes an arbitration module 41, a first storage module 42, and an execution module 43.
  • the arbitration module 41 is configured to arbitrate a bus access request and/or a stored bus access request sent by the currently received external device according to an arbitration criterion;
  • a first storage module 42 configured to store an arbitration result of the arbitration module; the execution module 43 configured to execute the stored arbitration result and send a bus access request to the current and/or send a stored bus access request The external device sends a corresponding arbitration response signal.
  • the arbitration result when the arbitration module 41 performs arbitration is: only one bus access request is allowed;
  • the execution module 43 is further configured to:
  • the request to the bus access is not allowed to send an arbitration disallowed signal to the external device.
  • the apparatus further includes a second storage module 44 configured to store a bus access request sent by the currently received external device.
  • execution module 43 further includes a selection module 431, an output module 432, and a control module 433, where
  • the selection module 431 is configured to generate a selection signal according to the arbitration response signal; and select, according to the selection signal, a bus access request outputted to the bus in the stored bus access request;
  • the output module 432 is configured to output a bus access request selected by the selection module to the bus;
  • the control module 433 is configured to control the total output of the external device according to the arbitration acknowledgement signal. Update of the status of the line access request.
  • control module 433 is further configured to control an update of the bus access request status stored by the second storage module 44 according to the arbitration response signal.
  • the device further includes a configuration module 45 configured to pre-configure an arbitration response signal of the external device as an arbitration permission signal;
  • the arbitration acknowledgement signal is changed from the arbitration permission signal to the arbitration disallowed signal, and the external device corresponding to the bus access request is no longer allowed to input new Bus access request until the bus access request is allowed.
  • the configuration module 45 is further configured to:
  • the execution module 43 is further configured to:
  • the bus access request corresponding to the counter is output to the bus.
  • the arbitration module 41 is further configured to:
  • an external device Determining that an external device continues to obtain an arbitration permission signal for a preset period of time and stores a bus access request of another external device, and then issues an arbitration disallowed signal to the external device that continuously obtains the arbitration permission signal, while other external devices
  • the arbitration permission signal is sent to the highest priority external device.
  • the arbitration criteria applied by the apparatus include arbitration according to a fixed priority of the bus access request, arbitration based on a configurable priority of the bus access request, arbitration according to a polling manner, and the like.
  • the device can be built into the chip.
  • the device may be implemented by a combinational logic arbitration circuit, the combination logic arbitration
  • the path may follow a variety of arbitration algorithms for arbitrating the received request and the currently stored request in accordance with the arbitration criteria, but only one external device request is allowed per arbitration.
  • the first storage module 42 and the second storage module 44 may each be implemented by a register.
  • the arbitration module 41, the execution module 43, and the configuration module 45 may be implemented by a central processing unit (CPU), a microprocessor (MPU), a digital signal processor (DSP), or a field programmable gate array (FPGA).
  • CPU central processing unit
  • MPU microprocessor
  • DSP digital signal processor
  • FPGA field programmable gate array
  • FIG. 5 is a block diagram of a bus arbitration implementation scheme according to an embodiment of the present invention.
  • a first register (REG1) and a second register (REG1) are equivalent to an external device, and the combined logical unit is equivalent to an arbitration module;
  • the third register (REG3) and the fourth register (REG4) are equivalent to the second storage module, configured to buffer an external request;
  • the fifth register (REG5) and the sixth register ( REG6) is equivalent to the first storage module and is configured to buffer the response signal generated by the arbitration.
  • Figure 5 shows the arbitration of the requests for the two external devices when two external device initiated requests are received.
  • REG1 and REG2 respectively issue request 1 and request 2, wherein the request 1 and the request 2 respectively carry respective enable signal information (Req), address information (addr), and data information ( Data ), for example:
  • Request 1 is represented by "Reql addrl datal”
  • request 2 is represented by "Req2 addr2 data2”.
  • Request 1 and request 2 are sent to REG3 and REG4 respectively for the beat cache, and the requested 1 and 2 after the beat are denoted as “Reql_d addrl_d datal_d”, “eq2_d addr2_d data2_d”, respectively; “Reql_d addrl_d datal-d”, “eq2_d addr2_d data2_d” is sent to the selector for the selector to select the output and output the selected request to the bus.
  • the combinatorial logic unit arbitrates Request 1 and Request 2 it can follow a variety of arbitration criteria for arbitration.
  • the beat is the same as the beat in the prior art, and details are not described herein again.
  • request 1 is represented by reql
  • request 2 is represented by req2
  • request after tapping 1 Reql-d is used, and the request 2 after the beat is represented by req2-d
  • the arbitration result of request 1 is represented by Aready2reql-raw
  • the arbitration result of request 2 is represented by Aready2req2-raw
  • the arbitration response of request 1 after the beat The signal is indicated by aready2reql
  • the arbitration response signal of request 2 after the beat is indicated by aready2req2.
  • ADDR_WIDTH indicates the bit width of the address
  • DATA_WIDTH indicates the bit width of the data
  • arbitrating reql/reql_d and req2/req2_d in the input combinational logic unit includes:
  • the combinatorial logic unit can be arbitrated by the following logical expression:
  • Aready2req2 ⁇ aready2req2_raw_d &aready2peri;
  • Aready2req2_raw_d ⁇ aready2req2—raw.
  • the combinatorial logic unit can be arbitrated by the following logical expression:
  • Eql exist ( reql & aready2reql
  • Req2— exist ( req2 & aready2req2
  • Aready2req 1 raw ⁇ ( ( Req2 — exist && ( req2_priority > reql_priority )
  • Aready2req2_raw ⁇ ( ( eql exist && ( reql_priority > req2_priority ) && Req2 — exist );
  • reql_priority and req2_priority are priority parameter registers, which can be configured by software; Reql_exist and Req2_exist respectively represent requests selected for reql/reql_d and req2/req2_d during arbitration.
  • a counter is added for each request to accumulate the number of clock cycles it is blocked.
  • the combinatorial logic unit can be arbitrated with the following logical expression:
  • Block_num_reql, Block_num_req2 and ll indicate the number of times reql and req2 are blocked.
  • arbitration logic in Figure 5 is not only the three arbitration methods mentioned above, but also supports other arbitration methods, such as: LRU, Least Recently Used, Time Division Multiplexing, Random Contention, etc. Arbitration algorithm.
  • the main reason why the circuit frequency can be improved in the embodiment of the present invention is: returning the arbitration response signal of each external device is to store the arbitration response signal after one beat; the arbitration circuit and the circuit for performing arbitration (ie, the selector in FIG. 5) Not in the same clock cycle.
  • One of the reasons why the present invention can support one request per clock cycle is: set the initial value of the arbitration response signal of each external device to 1, that is, the initial arbitration request is an allowable request; as shown in Figure 5, REG3 and REG4 Is the register used to cache requests.
  • Figure 7 shows a request timing diagram for the bus arbitration implementation shown in Figure 5.
  • the present invention can support continuous request transmission, and thus has higher transmission efficiency and can meet the request efficiency requirement.
  • the arbitration response signal aready recorded by the register has good timing characteristics. , can improve the overall operating frequency of the bus, thus supporting on-chip high-speed interconnection, to meet the needs of high-speed interconnection.
  • the bus arbitration technique of the present invention supports one request per clock; and, since the arbitration response signal is a beat output and the timing is good, since the arbitration logic is separated from the execution logic, it is not completed in the same clock cycle, and supports high speed.
  • the on-chip bus supports processor request arbitration and supports many modules requesting arbitration.
  • the bus arbitration technology of the present invention supports various arbitration criteria, compatibility Good, suitable for a variety of on-chip bus arbitration structures.
  • the embodiment of the invention further describes a storage medium, wherein the storage medium stores a computer program, and the computer program is configured as the bus arbitration method of the foregoing embodiment.
  • the invention arbitrates the bus access request and/or the stored bus access request sent by the currently received external device according to the arbitration criterion, and stores the arbitration result; executes the stored arbitration result, and sends a bus access request to the current one. And/or sending an external arbitration response signal to the external device that has sent the stored bus access request, and the arbitration response signal stores a post-beat arbitration response signal for the original acknowledgement generated by the arbitration; thus, capable of being clocked every clock cycle Completing a request increases the bus's transmission efficiency and circuit frequency while meeting high-speed interconnect requirements.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

公开了一种总线仲裁方法,包括:根据仲裁准则对当前接收到的外部设备发送的总线访问请求和/或已存储的总线访问请求进行仲裁,并对仲裁结果进行存储;执行所存储的仲裁结果,并向当前发送总线访问请求和/或发送已存储总线访问请求的外部设备发送相应的仲裁应答信号。还同时公开了一种总线仲裁装置及存储介质。采用所述方法及装置,提高了总线的传输效率和电路频率,能满足高速互连需求,适合在总线吞吐率较高的芯片内部使用。

Description

一种总线仲裁方法及装置、 存储介质 技术领域
本发明涉及芯片领域的处理器仲裁技术, 尤其涉及一种总线仲裁方法 及装置、 存储介质。 背景技术
目前, 仲裁分为集中式仲裁和分布式仲裁两大类, 其中, 分布式仲裁 的扩展性好, 但是仲裁效率低; 集中式仲裁中的独立请求方式的仲裁效率 高, 能在一个时钟周期完成一个请求仲裁, 该独立请求方式适合作为芯片 内部的总线仲裁方式。
为了高效地响应外部请求, 基于独立请求方式的总线仲裁部件的常用 的实现方案是: 在某个时钟周期, 仲裁部件接收到总线上各主动模块的请 求, 按可配置优先级或固定优先级或其他仲裁方式进行仲裁后, 向其中一 个主动模块返回携带有请求被允许的仲裁应答信号。 各主动模块收到仲裁 应答信号后, 通常所述仲裁应答信号用 grant或 aready表示; 若仲裁应答信 号为高电平, 则可在下个时钟周期刷入新的请求; 若仲裁应答信号为低电 平, 则緩存当前请求直至仲裁应答信号为高电平时将该请求发送至总线上。
图 1 为现有技术中一般仲裁实现方案时序图, 虽然现有技术中一般仲 裁实现方案的仲裁效率高, 但是因为返回给主动模块的 grant信号经过仲裁 逻辑时有很长的延时, 而且在处理器设计中 grant信号还会去控制整个流水 线的根时钟开关, 由于电路使用的叶子时钟比根时钟时间落后, 对时序要 求更加严格, 所以此类方案不适合高速互连设计、 处理器设计以及请求模 块多且请求仲裁延时长的设计。
图 2 为现有技术中改进的仲裁实现方案框图, 是对一般仲裁实现方案 的改进方案, 通过用寄存器对 grant信号进行打拍, 将打拍后的 grant信号 输出至主动模块, 进而能够支持高速互连、 支持处理器开关时钟、 支持数 量大的主动模块; 但是, 该方案需要两个时钟周期才能完成一个请求发送, 传输效率较低。 发明内容
为解决上述技术问题, 本发明实施例提供一种总线仲裁方法及装置、 存储介质, 能提高总线的传输效率和电路频率, 能满足高速互连需求。
本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种总线仲裁方法, 该方法包括:
根据仲裁准则对当前接收到的外部设备发送的总线访问请求和 /或已存 储的总线访问请求进行仲裁, 并对仲裁结果进行存储;
执行所存储的仲裁结果, 并向当前发送总线访问请求和 /或发送已存储 总线访问请求的外部设备发送相应的仲裁应答信号。
上述方案中, 所述仲裁结果为: 仅一个总线访问请求被允许; 所述向当前发送总线访问请求和 /或发送已存储总线访问请求的外部设 备发送相应的仲裁应答信号, 包括:
向总线访问请求被允许的外部设备发送仲裁允许信号;
向总线访问请求不被允许外部设备发送仲裁不允许信号。
上述方案中, 该方法还包括:
对所述当前接收到的外部设备发送的总线访问请求进行存储。
上述方案中, 所述执行所存储的仲裁结果, 包括:
根据仲裁应答信号产生选择信号;
根据所述选择信号在所存储的总线访问请求中选择输出到总线上的总 线访问请求, 并向总线输出该总线访问请求;
根据所述仲裁应答信号控制外部设备输出总线访问请求的状态的更 新。
上述方案中, 所述根据仲裁准则对当前接收到的外部设备发送的总线 访问请求和 /或已存储的总线访问请求进行仲裁之前, 该方法还包括:
对外部设备的仲裁应答信号预先配置为仲裁允许信号;
当外部设备有总线访问请求, 且仲裁结果为不被允许时, 将所述仲裁 应答信号由仲裁允许信号变为仲裁不允许信号, 同时, 与该总线访问请求 对应的外部设备不再允许输入新的总线访问请求, 直至该总线访问请求被 允许。
上述方案中, 所述方法还包括:
为每个总线访问请求配置用于累计所述每个总线访问请求被阻塞的时 钟周期数的计数器;
当某计数器的值超出设定阈值时, 向总线输出所述某计数器对应的总 线访问请求。
上述方案中, 所述方法还包括:
确定某外部设备在预设的时间周期内持续获得仲裁允许信号且存储有 其他外部设备的总线访问请求时, 则对该持续获得仲裁允许信号的外部设 备发出仲裁不允许信号, 同时在其他外部设备中, 向优先级最高的外部设 备发出仲裁允许信号。
本发明实施例还提供了一种总线仲裁装置, 该装置包括仲裁模块、 第 一存储模块和执行模块; 其中,
所述仲裁模块, 配置为根据仲裁准则对当前接收到的外部设备发送的 总线访问请求和 /或已存储的总线访问请求进行仲裁;
第一存储模块, 配置为对所述仲裁模块的仲裁结果进行存储; 所述执行模块, 配置为执行所存储的仲裁结果, 并向当前发送总线访 问请求和 /或发送已存储总线访问请求的外部设备发送相应的仲裁应答信 号。
上述方案中, 所述仲裁模块进行仲裁时的仲裁结果为: 仅一个总线访 问请求被允许;
所述执行模块, 还配置为:
向总线访问请求被允许的外部设备发送仲裁允许信号;
向总线访问请求不被允许外部设备发送仲裁不允许信号。
上述方案中, 所述装置还包括第二存储模块, 配置为对当前接收到的 外部设备发送的总线访问请求进行存储。
上述方案中, 所述执行模块还包括选择模块、 输出模块和控制模块, 其中,
所述选择模块, 配置为根据仲裁应答信号产生选择信号; 并根据所述 选择信号在所存储的总线访问请求中选择输出到总线上的总线访问请求; 所述输出模块, 配置为向总线输出所述选择模块所选择的总线访问请 求;
所述控制模块, 配置为根据所述仲裁应答信号控制外部设备输出总线 访问请求的状态的更新。
上述方案中, 所述装置还包括配置模块, 配置为对外部设备的仲裁应 答信号预先配置为仲裁允许信号;
当外部设备有总线访问请求, 且仲裁结果为不被允许时, 将所述仲裁 应答信号由仲裁允许信号变为仲裁不允许信号, 同时, 与该总线访问请求 对应的外部设备不再允许输入新的总线访问请求, 直至该总线访问请求被 允许。
上述方案中, 所述配置模块, 还配置为:
为每个总线访问请求配置用于累计所述每个总线访问请求被阻塞的时 钟周期数的计数器; 所述执行模块, 还配置为:
当某计数器的值超出设定阈值时, 向总线输出所述某计数器对应的总 线访问请求。
上述方案中, 所述仲裁模块, 还配置为:
确定某外部设备在预设的时间周期内持续获得仲裁允许信号且存储有 其他外部设备的总线访问请求时, 则对该持续获得仲裁允许信号的外部设 备发出仲裁不允许信号, 同时在其他外部设备中, 向优先级最高的外部设 备发出仲裁允许信号。
一种存储介质, 所述存储介质中存储有计算机程序, 所述计算机程序 配置为执行前述的总线仲裁方法。
通过本发明实施例提供的总线仲裁方法及装置, 根据仲裁准则对当前 接收到的外部设备发送的总线访问请求和 /或已存储的总线访问请求进行仲 裁, 并对仲裁结果进行存储; 执行所存储的仲裁结果, 并向当前发送总线 访问请求和 /或发送已存储总线访问请求的外部设备发送相应的仲裁应答信 号, 并且, 所述仲裁应答信号为仲裁产生的原始应答信号存储一拍后的仲 裁应答信号; 如此, 本发明实施例能够在每个时钟周期完成一个请求, 提 高了总线的传输效率和电路频率, 同时满足了高速互连需求。
具体地, 本发明实施例能提高电路频率主要原因在于: 返回各外部设 备的仲裁应答信号是存储一拍后的仲裁应答信号; 仲裁电路与执行仲裁的 电路不在同一时钟周期。 具体地, 本发明技术方案能支持每个时钟周期完 成一个请求的原因之一在于: 将各外部设备的仲裁应答信号的初始值均设 为允许请求。
具体地, 本发明实施例在保证仲裁功能的前提下, 对仲裁实现时的总 线传输效率和频率进行了优化, 提高了总线的传输效率, 提升了电路频率, 属于基础性的改进, 具有很广泛的实用价值。 此外, 本发明技术方案尤其 适用于高速互连总线的应用场景, 适合在总线吞吐率较高的芯片内部使用。 附图说明
图 1为现有技术中一般仲裁实现方案时序图;
图 2为现有技术中改进的仲裁实现方案框图;
图 3为本发明实施例总线仲裁方法的实现流程示意图;
图 4为本发明实施例总线仲裁装置的组成结构示意图;
图 5为本发明实施例总线仲裁实现方案框图;
图 6为基于本发明的分层次仲裁实现方案框图;
图 7为本发明实施例总线仲裁实现方案的请求时序图。 具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
图 3为本发明实施例总线仲裁方法的实现流程示意图, 如图 3所示, 该方法包括以下步骤:
步骤 301 :根据仲裁准则对当前接收到的外部设备发送的总线访问请求 和 /或已存储的总线访问请求进行仲裁, 并对仲裁结果进行存储;
进一步地, 该方法还包括:
对所述当前接收到的外部设备发送的总线访问请求进行存储。
具体地, 所述仲裁结果为: 仅一个总线访问请求被允许;
具体地, 所述执行所存储的仲裁结果, 包括:
根据仲裁应答信号产生选择信号;
根据所述选择信号在所存储的总线访问请求中选择输出到总线上的总 线访问请求, 并向总线输出该总线访问请求;
根据所述仲裁应答信号控制外部设备输出总线访问请求的状态的更 新。 具体地, 所述根据仲裁准则对当前接收到的外部设备发送的总线访问 请求和 /或已存储的总线访问请求进行仲裁之前, 该方法还包括:
对外部设备的仲裁应答信号预先配置为仲裁允许信号;
当外部设备有总线访问请求, 且仲裁结果为不被允许时, 将所述仲裁 应答信号由仲裁允许信号变为仲裁不允许信号, 同时, 与该总线访问请求 对应的外部设备不再允许输入新的总线访问请求, 直至该总线访问请求被 允许。
这里, 所述仲裁准则包括:
根据总线访问请求的固定优先级进行仲裁、 或根据总线访问请求的可 配置优先级进行仲裁、 或根据轮询方式进行仲裁。
当然, 所述仲裁准则还可为其他准则, 在此不再赘述。
步骤 302: 执行所存储的仲裁结果, 并向当前发送总线访问请求和 /或 发送已存储总线访问请求的外部设备发送相应的仲裁应答信号。
具体地, 所述向当前发送总线访问请求和 /或发送已存储总线访问请求 的外部设备发送相应的仲裁应答信号, 包括:
向总线访问请求被允许的外部设备发送仲裁允许信号;
向总线访问请求不被允许外部设备发送仲裁不允许信号。
进一步地, 所述方法还包括:
为每个总线访问请求配置用于累计所述每个总线访问请求被阻塞的时 钟周期数的计数器;
当某计数器的值超出设定阈值时, 向总线输出所述某计数器对应的总 线访问请求。
进一步地, 所述方法还包括:
确定某外部设备在预设的时间周期内持续获得仲裁允许信号且存储有 其他外部设备的总线访问请求时, 则对该持续获得仲裁允许信号的外部设 备发出仲裁不允许信号, 同时在其他外部设备中, 向优先级最高的外部设 备发出仲裁允许信号。
图 4为本发明实施例总线仲裁装置的组成结构示意图, 如图 4所示, 该装置包括仲裁模块 41、 第一存储模块 42和执行模块 43 ; 其中,
所述仲裁模块 41, 配置为根据仲裁准则对当前接收到的外部设备发送 的总线访问请求和 /或已存储的总线访问请求进行仲裁;
第一存储模块 42, 配置为对所述仲裁模块的仲裁结果进行存储; 所述执行模块 43, 配置为执行所存储的仲裁结果, 并向当前发送总线 访问请求和 /或发送已存储总线访问请求的外部设备发送相应的仲裁应答信 号。
具体地, 所述仲裁模块 41进行仲裁时的仲裁结果为: 仅一个总线访问 请求被允许;
所述执行模块 43, 还配置为:
向总线访问请求被允许的外部设备发送仲裁允许信号;
向总线访问请求不被允许外部设备发送仲裁不允许信号。
进一步地, 所述装置还包括第二存储模块 44, 配置为对当前接收到的 外部设备发送的总线访问请求进行存储。
进一步地, 所述执行模块 43还包括选择模块 431、 输出模块 432和控 制模块 433, 其中,
所述选择模块 431, 配置为根据仲裁应答信号产生选择信号; 并根据所 述选择信号在所存储的总线访问请求中选择输出到总线上的总线访问请 求;
所述输出模块 432,配置为向总线输出所述选择模块所选择的总线访问 请求;
所述控制模块 433,配置为根据所述仲裁应答信号控制外部设备输出总 线访问请求的状态的更新。
这里, 所述控制模块 433,还配置为根据所述仲裁应答信号控制第二存 储模块 44所存储的总线访问请求状态的更新。
进一步地, 所述装置还包括配置模块 45, 配置为对外部设备的仲裁应 答信号预先配置为仲裁允许信号;
当外部设备有总线访问请求, 且仲裁结果为不被允许时, 将所述仲裁 应答信号由仲裁允许信号变为仲裁不允许信号, 同时, 与该总线访问请求 对应的外部设备不再允许输入新的总线访问请求, 直至该总线访问请求被 允许。
具体地, 所述配置模块 45, 还配置为:
为每个总线访问请求配置用于累计所述每个总线访问请求被阻塞的时 钟周期数的计数器;
所述执行模块 43, 还配置为:
当某计数器的值超出设定阈值时, 向总线输出所述某计数器对应的总 线访问请求。
具体地, 所述仲裁模块 41, 还配置为:
确定某外部设备在预设的时间周期内持续获得仲裁允许信号且存储有 其他外部设备的总线访问请求时, 则对该持续获得仲裁允许信号的外部设 备发出仲裁不允许信号, 同时在其他外部设备中, 向优先级最高的外部设 备发出仲裁允许信号。
这里, 所述装置所应用的仲裁准则包括根据总线访问请求的固定优先 级进行仲裁、 或根据总线访问请求的可配置优先级进行仲裁、 或根据轮询 方式进行仲裁等。
所述装置可以内置在芯片中。
这里, 所述装置可由组合逻辑仲裁电路来实现, 所述组合逻辑仲裁电 路可以遵循多种仲裁算法, 用于根据仲裁准则对所述接收到的请求以及当 前所存储的请求进行仲裁, 但每次仲裁只允许一个外部设备的请求。
这里, 所述第一存储模块 42和第二存储模块 44均可由寄存器实现。 仲裁模块 41、 执行模块 43、 配置模块 45可由中央处理器(CPU ) 、 微处理器 ( MPU )、数字信号处理器( DSP )、或现场可编程门阵列 ( FPGA ) 实现。
图 5为本发明实施例总线仲裁实现方案框图, 在图 5中, 第一寄存器 ( REG1 )和第二寄存器 (REG1 )相当于外部设备, 所述组合逻辑单元相 当于仲裁模块; 所述选择器相当于执行模块中的选择模块, 所述第三寄存 器 (REG3 )和第四寄存器 (REG4 )相当于第二存储模块, 配置为緩存外 部请求; 所述第五寄存器 (REG5 )和第六寄存器 (REG6 )相当于第一存 储模块, 配置为緩存仲裁产生的应答信号。
图 5 示出了当接收到两个外部设备发起的请求时, 对所述两个外部设 备的请求的仲裁。 如图 5所示, REG1和 REG2分别发出请求 1和请求 2, 其中, 所述请求 1和所述请求 2分别携带有各自的使能信号信息 (Req )、 地址信息 (addr )和数据信息 (data ), 比如: 请求 1用 "Reql addrl datal " 表示、 请求 2用 "Req2 addr2 data2" 表示。 当然, 请求中还可以包含读写 ( wr )信息 (wr =l为写, wr =0为读), 外部设备 ID或其他控制信息。
将请求 1和请求 2分别发送至 REG3和 REG4进行打拍緩存, 打拍后 的请求 1和请求 2分别表示为 "Reql— d addrl— d datal— d"、 " eq2_d addr2_d data2_d" ; 将所述 "Reql— d addrl— d datal— d"、 " eq2_d addr2_d data2_d"发 送至选择器, 以待选择器进行选择输出, 将所选择的请求输出到总线上。 组合逻辑单元对请求 1和请求 2进行仲裁时, 可以遵循多种仲裁准则进行 仲裁。 这里, 所述打拍和现有技术中的打拍相同, 在此不再赘述。
为方便描述, 请求 1用 reql表示、 请求 2用 req2表示; 打拍后的请求 1用 reql— d表示、 打拍后的请求 2用 req2— d表示; 请求 1 的仲裁结果用 Aready2reql— raw表示、 请求 2的仲裁结果用 Aready2req2— raw表示; 打拍 后的请求 1的仲裁应答信号用 aready2reql表示、 打拍后的请求 2的仲裁应 答信号用 aready2req2表示。
具体地,对输入组合逻辑单元中的 reql/reql— d和 req2/req2— d进行仲裁; 并将仲裁结果分别输出至 REG5和 REG6进行打拍緩存, 然后将仲裁应答 信号发送至选择器, 同时, 将所述仲裁应答信号发送给相应的请求模块, 也就是说, 将请求 1的仲裁应答信号发送给 REG1、请求 2的仲裁应答信号 发送给 REG2, 以阻塞输入相应的输出请求的 REG1和 REG2的更新、 以及 相应的执行打拍緩存的寄存器 REG3 和 REG4 的更新; 选择器利用 aready2reql和 aready2req2产生选择信号,根据该选择信号选择需要的请求 到总线上。
具体地, 选择器进行选择时所依据的逻辑关系表达式为:
eq = ( reql— d & aready2req2 ) | ( aready2reql & req2— d );
Addr = ( {ADD _WIDTH{reql_d & aready2reql } }& addrl ) |
( {ADD _WIDTH{req2_d & aready2req2 & addr2 );
data = ( {DATA— WIDTH{reql— d & aready2reql } }& datal ) |
( {DATA— WIDTH{req2— d & aready2req2} } & data2 );
其中, ADDR— WIDTH表示地址的位宽, DATA— WIDTH表示数据的位 宽。
具体地, aready2req2=l且 req2— d=l时,选择 req2的请求地址和请求数 据到总线上; aready2reql=l且 reql— d=l时,选择 reql的请求地址和请求数 据到总线上。
下面, 先以请求 1 ( reql ) 的优先级高于请求 2 ( req2 ) 时的固定优先 级仲裁为例, 来说明本发明实施例的仲裁过程。 假设将 aready2reql 和 aready2req2 的初始值均配置为 1, 表示 aready2reql和 aready2req2均为高电平信号, 即允许请求 1和请求 2输出到 总线上。
具体地,对输入组合逻辑单元中的 reql/reql— d和 req2/req2— d进行仲裁, 具体包括:
( 1 )、 根据访问请求的固定优先级进行仲裁时, 组合逻辑单元可用如 下逻辑表达式进行仲裁:
aready2req 1 raw = 1 ; aready2req2_raw = ~ ( ( reql & aready2reql | reql d & ~aready2reql ) & ( req2 & aready2req2 | req2_d & ~aready2req2 ) );
aready2reql <= ready2reql_raw;
aready2req2 <= ready2req2_raw;
上式中 "<=" 表示打 1拍后赋值, 即緩存 1拍后输出。
当 aready2reql为 0, 选择 reql— d进行仲裁, 否则选择 reql进行仲裁; 同理, 当 aready2req2为 0,选择 req2— d进行仲裁,否则选择 req2进行仲裁。
也就是说, 在进行仲裁时, 若当前有緩存的请求时, 先对该緩存的请 求进行仲裁。
这里, 由于 reql 优先级高, 当 reql 有效, 且 req2 有效时, aready2req2_raw=00 当 aready2req2=0时, 阻止 req2和 req2_d更新, 即请 求 2被保持在 REG4中。 而由于 reql有最高优先级, reql的寄存器 REG 1 和 reql— d的寄存器 REG3总是允许被更新。
在分层次仲裁时, 当前所选择出的请求后还会与后面其他请求进行仲 裁; 此时后面的仲裁会送一个公共应答信号给 reql 和 req2, 可以表示为 aready2peri。 图 6示出了基于本发明的分层次仲裁实现方案框图, 选择器 1 选择输出的请求再与第七寄存器(REG7 )输出的请求 3进行仲裁, 具体仲 裁方式与图 5所示的仲裁方式相同。 那么, 此时, 组合逻辑单元可用如下逻辑表达式进行仲裁: aready2reql<= aready2req 1 raw d & aready2peri;
aready2req2<= aready2req2_raw_d & aready2peri;
ready2reql— raw— d <= aready2reql raw;
aready2req2_raw_d<= aready2req2— raw。
( 2 )、 根据访问请求的可配置优先级进行仲裁时, 组合逻辑单元可用 如下逻辑表达式进行仲裁:
eql exist = ( reql & aready2reql | reql d & ~aready2reql );
Req2— exist = ( req2 & aready2req2 | req2_d & ~aready2req2 );
aready2req 1 raw =〜 ( ( Req2— exist && ( req2_priority > reql_priority )
&& Reql— exist );
aready2req2_raw =〜 ( ( eql exist && ( reql_priority > req2_priority ) && Req2— exist );
这里, reql_priority和 req2_priority均为优先级参数寄存器, 可以由软 件配置; Reql— exist、 Req2— exist 分别表示进行仲裁时对 reql/reql— d 和 req2/req2_d选择出的请求。
根据上述组合逻辑单元的逻辑关系表达式进行仲裁时, 会存在以下缺 点: 在高优先级模块连续请求总线时, 低优先级模块一直被阻塞, 造成饥 饿。
( 3 )、 如需要考虑对总线的公平占有, 需要先来先响应机制, 可通过 下述方式来实现。
具体地, 为每个请求分别增加一个计数器, 累计其被阻塞的时钟周期 数。
组合逻辑单元可用如下逻辑表达式进行仲裁:
aready2req 1 raw =
- ( ( Req2— exist && ( Block— num—req2 + ( req2_priority > reql_priority ) > Block— num—reql ) && Reql— exist );
aready2req2_raw =
〜 ( ( Reql exist && ( Block— num—reql + ( reql_priority > req2_priority ) > Block— num—req2 ) && Req2— exist );
其中, Block— num—reql, Block— num—req2分另 ll表示 reql和 req2被阻塞 的次数。
应用上述逻辑关系表达式, 既能支持可配置优先级, 又能支持先来先 请求。
当然图 5 中的仲裁逻辑部分实现方式并不仅为以上所举的三种仲裁方 式,还可以支持其他仲裁方式,比如:最少使用( LRU, Least Recently Used )、 时分复用、 随机争用等常用的仲裁算法。
由此可见, 本发明实施例能提高电路频率主要原因在于: 返回各外部 设备的仲裁应答信号是存储一拍后的仲裁应答信号; 仲裁电路与执行仲裁 的电路(即图 5 中的选择器) 不在同一时钟周期。 本发明能支持每个时钟 周期完成一个请求的原因之一在于: 将各外部设备的仲裁应答信号的初始 值均设为 1, 即初始仲裁请求都是允许请求; 如图 5中的 REG3和 REG4是 用于緩存请求的寄存器。
图 7示出了图 5 中所示的总线仲裁实现方案的请求时序图。 显然, 从 图 7 可以看出, 本发明能够支持连续的请求发射, 进而具备了较高的传输 效率,能满足请求效率要求;同时,经寄存器打拍出来的仲裁应答信号 aready 具有好的时序特性, 能够提高总线的总体运行频率, 从而支持片上高速互 连, 能满足高速互连需求。
综上所述可见, 本发明的总线仲裁技术, 支持每时钟 1个请求; 并且, 由于仲裁应答信号为打拍输出且时序好, 由于仲裁逻辑与执行逻辑分开, 不在同一时钟周期完成, 支持高速片上总线, 支持处理器的请求仲裁, 支 持很多模块请求仲裁。 本发明的总线仲裁技术支持各种仲裁准则, 兼容性 好, 适合各种片内总线仲裁结构。
本发明实施例还记载了一种存储介质, 所述存储介质中存储有计算机 程序, 所述计算机程序配置为前述实施例的总线仲裁方法。
以上所述, 仅为本发明的较佳实施例而已, 并非用于限定本发明的保 护范围。 凡在本发明的精神和范围之内所作的任何修改、 等同替换和改进 等, 均包含在本发明的保护范围之内。
工业实用性
本发明根据仲裁准则对当前接收到的外部设备发送的总线访问请求和 / 或已存储的总线访问请求进行仲裁, 并对仲裁结果进行存储; 执行所存储 的仲裁结果, 并向当前发送总线访问请求和 /或发送已存储总线访问请求的 外部设备发送相应的仲裁应答信号, 并且, 所述仲裁应答信号为仲裁产生 的原始应答信号存储一拍后的仲裁应答信号; 如此, 能够在每个时钟周期 完成一个请求, 提高了总线的传输效率和电路频率, 同时满足了高速互连 需求。

Claims

权利要求书
1、 一种总线仲裁方法, 包括:
根据仲裁准则对当前接收到的外部设备发送的总线访问请求和 /或已存 储的总线访问请求进行仲裁, 并对仲裁结果进行存储;
执行所存储的仲裁结果, 并向当前发送总线访问请求和 /或发送已存储 总线访问请求的外部设备发送相应的仲裁应答信号。
2、 根据权利要求 1所述的方法, 其中, 所述仲裁结果为: 仅一个总线 访问请求被允许;
所述向当前发送总线访问请求和 /或发送已存储总线访问请求的外部设 备发送相应的仲裁应答信号, 包括:
向总线访问请求被允许的外部设备发送仲裁允许信号;
向总线访问请求不被允许外部设备发送仲裁不允许信号。
3、 根据权利要求 1所述的方法, 其中, 该方法还包括:
对所述当前接收到的外部设备发送的总线访问请求进行存储。
4、 根据权利要求 1所述的方法, 其中, 所述执行所存储的仲裁结果, 包括:
根据仲裁应答信号产生选择信号;
根据所述选择信号在所存储的总线访问请求中选择输出到总线上的总 线访问请求, 并向总线输出该总线访问请求;
根据所述仲裁应答信号控制外部设备输出总线访问请求的状态的更 新。
5、 根据权利要求 1所述的方法, 其中, 所述根据仲裁准则对当前接收 到的外部设备发送的总线访问请求和 /或已存储的总线访问请求进行仲裁之 前, 该方法还包括: 对外部设备的仲裁应答信号预先配置为仲裁允许信号;
当外部设备有总线访问请求, 且仲裁结果为不被允许时, 将所述仲裁 应答信号由仲裁允许信号变为仲裁不允许信号, 同时, 与该总线访问请求 对应的外部设备不再允许输入新的总线访问请求, 直至该总线访问请求被 允许。
6、 根据权利要求 1所述的方法, 其中, 所述方法还包括:
为每个总线访问请求配置用于累计所述每个总线访问请求被阻塞的时 钟周期数的计数器;
当某计数器的值超出设定阈值时, 向总线输出所述某计数器对应的总 线访问请求。
7、 根据权利要求 1所述的方法, 其中, 所述方法还包括:
确定某外部设备在预设的时间周期内持续获得仲裁允许信号且存储有 其他外部设备的总线访问请求时, 则对该持续获得仲裁允许信号的外部设 备发出仲裁不允许信号, 同时在其他外部设备中, 向优先级最高的外部设 备发出仲裁允许信号。
8、 一种总线仲裁装置, 包括仲裁模块、 第一存储模块和执行模块; 其 中,
所述仲裁模块, 配置为根据仲裁准则对当前接收到的外部设备发送的 总线访问请求和 /或已存储的总线访问请求进行仲裁;
第一存储模块, 配置为对所述仲裁模块的仲裁结果进行存储; 所述执行模块, 配置为执行所存储的仲裁结果, 并向当前发送总线访 问请求和 /或发送已存储总线访问请求的外部设备发送相应的仲裁应答信 号。
9、 根据权利要求 8所述的装置, 其中, 所述仲裁模块进行仲裁时的仲 裁结果为: 仅一个总线访问请求被允许; 所述执行模块, 还配置为:
向总线访问请求被允许的外部设备发送仲裁允许信号;
向总线访问请求不被允许外部设备发送仲裁不允许信号。
10、 根据权利要求 8所述的装置, 其中, 所述装置还包括第二存储模 块, 配置为对当前接收到的外部设备发送的总线访问请求进行存储。
11、 根据权利要求 8 所述的装置, 其中, 所述执行模块还包括选择模 块、 输出模块和控制模块, 其中,
所述选择模块, 配置为根据仲裁应答信号产生选择信号; 并根据所述 选择信号在所存储的总线访问请求中选择输出到总线上的总线访问请求; 所述输出模块, 配置为向总线输出所述选择模块所选择的总线访问请 求;
所述控制模块, 配置为根据所述仲裁应答信号控制外部设备输出总线 访问请求的状态的更新。
12、 根据权利要求 8所述的装置, 其中, 所述装置还包括配置模块, 配置为对外部设备的仲裁应答信号预先配置为仲裁允许信号;
当外部设备有总线访问请求, 且仲裁结果为不被允许时, 将所述仲裁 应答信号由仲裁允许信号变为仲裁不允许信号, 同时, 与该总线访问请求 对应的外部设备不再允许输入新的总线访问请求, 直至该总线访问请求被 允许。
13、 根据权利要求 8所述的装置, 其中, 所述配置模块, 还配置为: 为每个总线访问请求配置用于累计所述每个总线访问请求被阻塞的时 钟周期数的计数器;
所述执行模块, 还配置为:
当某计数器的值超出设定阈值时, 向总线输出所述某计数器对应的总 线访问请求。
14、 根据权利要求 8所述的装置, 其中, 所述仲裁模块, 还配置为: 确定某外部设备在预设的时间周期内持续获得仲裁允许信号且存储有 其他外部设备的总线访问请求时, 则对该持续获得仲裁允许信号的外部设 备发出仲裁不允许信号, 同时在其他外部设备中, 向优先级最高的外部设 备发出仲裁允许信号。
15、 一种存储介质, 所述存储介质中存储有计算机程序, 所述计算机 程序配置为执行权利要求 1至 7任一项所述的总线仲裁方法。
PCT/CN2014/077835 2013-08-08 2014-05-19 一种总线仲裁方法及装置、存储介质 WO2014169876A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310343969.4A CN104346303A (zh) 2013-08-08 2013-08-08 一种总线仲裁方法及装置
CN201310343969.4 2013-08-08

Publications (1)

Publication Number Publication Date
WO2014169876A1 true WO2014169876A1 (zh) 2014-10-23

Family

ID=51730835

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/077835 WO2014169876A1 (zh) 2013-08-08 2014-05-19 一种总线仲裁方法及装置、存储介质

Country Status (2)

Country Link
CN (1) CN104346303A (zh)
WO (1) WO2014169876A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112491680A (zh) * 2020-12-10 2021-03-12 上海镭隆科技发展有限公司 一种新型中间层fpga总线仲裁机制及其实施方法
CN117290272A (zh) * 2023-11-23 2023-12-26 井芯微电子技术(天津)有限公司 PCIe Switch及其配置通路的实现方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106155971A (zh) * 2016-07-04 2016-11-23 锐捷网络股份有限公司 I2c总线的仲裁方法及装置
CN107844442A (zh) * 2016-09-19 2018-03-27 深圳市中兴微电子技术有限公司 请求源响应的仲裁方法及装置
DE102019128651A1 (de) 2019-10-23 2021-04-29 Infineon Technologies Ag Vorrichtung für einen digitalen Eindraht-Bus, Master-Vorrichtung, Sensor und Verfahren zum Zuweisen von Adressen an mehrere Vorrichtungen auf einem digitalen Eindraht-Bus
CN115080482B (zh) * 2022-06-01 2023-04-11 海光信息技术股份有限公司 独立式仲裁方法及相关装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1366240A (zh) * 2001-01-18 2002-08-28 深圳市中兴集成电路设计有限责任公司 实现多总线到一总线进行不间断流水切换的方法和装置
US6629177B1 (en) * 1999-12-27 2003-09-30 Intel Corporation Arbitrating requests on computer buses
CN1694085A (zh) * 2004-06-25 2005-11-09 威盛电子股份有限公司 内部总线系统
CN102736997A (zh) * 2011-04-01 2012-10-17 中兴通讯股份有限公司 一种片上互联总线的仲裁方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101344871A (zh) * 2008-08-20 2009-01-14 北京中星微电子有限公司 一种保证访问先后顺序的总线仲裁单元及其实现方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6629177B1 (en) * 1999-12-27 2003-09-30 Intel Corporation Arbitrating requests on computer buses
CN1366240A (zh) * 2001-01-18 2002-08-28 深圳市中兴集成电路设计有限责任公司 实现多总线到一总线进行不间断流水切换的方法和装置
CN1694085A (zh) * 2004-06-25 2005-11-09 威盛电子股份有限公司 内部总线系统
CN102736997A (zh) * 2011-04-01 2012-10-17 中兴通讯股份有限公司 一种片上互联总线的仲裁方法和系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112491680A (zh) * 2020-12-10 2021-03-12 上海镭隆科技发展有限公司 一种新型中间层fpga总线仲裁机制及其实施方法
CN117290272A (zh) * 2023-11-23 2023-12-26 井芯微电子技术(天津)有限公司 PCIe Switch及其配置通路的实现方法
CN117290272B (zh) * 2023-11-23 2024-02-23 井芯微电子技术(天津)有限公司 PCIe Switch及其配置通路的实现方法

Also Published As

Publication number Publication date
CN104346303A (zh) 2015-02-11

Similar Documents

Publication Publication Date Title
WO2014169876A1 (zh) 一种总线仲裁方法及装置、存储介质
US7143221B2 (en) Method of arbitrating between a plurality of transfers to be routed over a corresponding plurality of paths provided by an interconnect circuit of a data processing apparatus
JP5621041B2 (ja) 適応予測によるクリティカルワードの転送
US7269709B2 (en) Memory controller configurable to allow bandwidth/latency tradeoff
JP5629819B2 (ja) 通信ポートに可変クロックゲーティングヒステリシスを使用する装置および方法
JP4696024B2 (ja) データ処理装置用相互接続論理
US9372818B2 (en) Proactive quality of service in multi-matrix system bus
US9529751B2 (en) Requests and data handling in a bus architecture
Daneshtalab et al. Memory-efficient on-chip network with adaptive interfaces
TW201202939A (en) Bus arbitration techniques to reduce access latency
JP2010282405A (ja) データ処理システム
WO2012048327A1 (en) Memory controllers, systems, and methods for applying page management policies based on stream transaction information
CN108228498A (zh) 一种dma控制装置和图像处理器
JP5662585B2 (ja) ストリームトランザクションに関連する情報に基づくストリームトランザクションのアービトレーション
US8867533B2 (en) Multi-tier switch interface unit arbiter
WO2008023219A1 (en) Pipelined device and a method for executing transactions in a pipelined device
US7673091B2 (en) Method to hide or reduce access latency of a slow peripheral in a pipelined direct memory access system
US20080126642A1 (en) Memory Interface Circuit and Method
Hwang et al. Implementation of a self-motivated arbitration scheme for the multilayer AHB busmatrix
JP2008503823A (ja) データ処理システム及びインターコネクト・アービトレーション方法
Kim et al. A cost-effective latency-aware memory bus for symmetric multiprocessor systems
KR20100137326A (ko) 버스 시스템 및 그 제어 장치
CN113435148A (zh) 一种参数化缓存数字电路微架构及其设计方法
KR101041477B1 (ko) 버스 시스템의 버스 중재 장치 및 방법
PRIYADHARSHINI et al. DESIGN OF NOCs TO AVOID DEADLOCK PROBLEM IN ON-CHIP BUSES

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14785254

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 24.06.2016)

122 Ep: pct application non-entry in european phase

Ref document number: 14785254

Country of ref document: EP

Kind code of ref document: A1