CN115454897A - 一种改善处理器总线仲裁机制的方法 - Google Patents
一种改善处理器总线仲裁机制的方法 Download PDFInfo
- Publication number
- CN115454897A CN115454897A CN202211163791.0A CN202211163791A CN115454897A CN 115454897 A CN115454897 A CN 115454897A CN 202211163791 A CN202211163791 A CN 202211163791A CN 115454897 A CN115454897 A CN 115454897A
- Authority
- CN
- China
- Prior art keywords
- host
- bus
- module
- data packet
- authority
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/18—Handling requests for interconnection or transfer for access to memory bus based on priority control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/4031—Coupling between buses using bus bridges with arbitration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Bus Control (AREA)
Abstract
本发明公开一种改善处理器总线仲裁机制的方法,属于存储器访问控制领域,基于包括总线仲裁模块、数据包缓冲模块、主机选通模块、从机和若干个主机的总线权限控制单元;总线仲裁模块用于接收各主机的权限请求信号,根据接收的请求信号,动态分配总线权限;数据包缓冲模块用于缓存各主机的数据包,并根据总线仲裁模块所判定的权限,发送对应主机的数据包至主机多路选通模块;主机多路选通模块根据总线仲裁模块所判定的权限,接收来自数据包缓冲模块的对应主机的数据包,并发送至从机;接收来自从机的数据包,返回至对应的主机。本发明能够实现同优先级各主机请求权限的合理动态分配,并且不同优先级各主机请求权限,按优先级分配。
Description
技术领域
本发明涉及存储器访问控制技术领域,特别涉及一种改善处理器总线仲裁机制的方法。
背景技术
现在层次化存储中,常见使用AXI总线对DDR(Double-data-rate synchrousDynamicRandomaccessmemory,双速率同步动态随机存储器)存储器进行访问。AXI是一种总线协议,该协议是ARM公司提出的AMBA(AdvancedMicrocontrollerBusArchitecture,高级微控制器总线架构)中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线,满足超高性能和复杂的SoC(System-on-Chip)设计的需求。
通常为了节约空间与成本,AXI总线一般采用多主多从拓扑结构。然而多个主机涉及到权限仲裁问题,对于相同或不同优先级的多路主机,若不能合理分配权限,易造成某路主机堵塞、降低系统传输效率等问题。因此,保证对各主机请求权限的合理动态分配,是突破SoC性能瓶颈的重要组成部分。
发明内容
本发明的目的在于提供一种改善处理器总线仲裁机制的方法,以解决总线权限动态分配给相同优先级主机的问题。
为解决上述技术问题,本发明提供了一种改善处理器总线仲裁机制的方法,基于包括总线仲裁模块、数据包缓冲模块、主机选通模块、从机和若干个主机的总线权限控制单元;
所述总线仲裁模块的输入端与各主机的输出端连接,输出端同时连接所述数据包缓冲模块的输入端、所述主机选通模块的输入端;所述总线仲裁模块用于接收各主机的权限请求信号,根据接收的请求信号,动态分配总线权限;
所述数据包缓冲模块的输入端同时与各主机的输出端、所述总线仲裁模块的输出端连接,输出端与所述主机选通模块的输入端连接;所述数据包缓冲模块用于缓存各主机的数据包,并根据所述总线仲裁模块所判定的权限,发送对应主机的数据包至所述主机多路选通模块;
所述主机选通模块的输出端与从机互连,并且所述主机选通模块的输出端连接各主机的输入端;所述主机多路选通模块根据所述总线仲裁模块所判定的权限,接收来自所述数据包缓冲模块的对应主机的数据包,并发送至从机;接收来自所述从机的数据包,返回至对应的主机。
在一种实施方式中,所述总线仲裁模块对多个主机发出的请求进行调停,根据目前所有者的状态,按照优先状态机方式进行控制。
在一种实施方式中,所述总线仲裁模块针对总线使用权请求的调停,使用顺序轮询机制,按照请求顺序进行使用权分配,且平等对待同优先级主机。
在一种实施方式中,所述总线仲裁模块进行动态分配总线权限时,每当总线权限变化,总线权限分配顺序按环状变化,所有同优先级主机都会平等获得总线所有权。
在一种实施方式中,所述总线仲裁模块支持两级或两级以上级联,先对高优先级主机的权限进行分配,在高优先级主机释放总线权限后,再对次优先级的主机内进行权限分配。
在一种实施方式中,所述若干个主机为0号主机、1号主机和2号主机,且各主机的优先级相同。
在一种实施方式中,所述总线仲裁模块有3个跳转状态,分别是“0号主机拥有总线控制权”、“1号主机拥有总线控制权”和“2号主机拥有总线控制权”;当0号主机拥总线使用权时,总线请求优先级顺序为0号主机>1号主机>2号主机;当1号主机持有总线使用权时,优先级顺序为1号主机>2号主机>0号主机;当2号主机持有总线使用权时,优先级顺序为2号主机>0号主机>1号主机。
本发明提供的一种改善处理器总线仲裁机制的方法,具有以下有益效果:
(1)能够实现同优先级各主机请求权限的合理动态分配;
(2)不同优先级各主机请求权限,按优先级分配。
附图说明
图1为本发明提供的一种改善处理器总线仲裁机制的方法所基于总线权限控制单元的结构框图;
图2为本发明提供的一种改善处理器总线仲裁机制的方法中总线仲裁模块的总线权限状态跳转图。
具体实施方式
以下结合附图和具体实施例对本发明提出的一种改善处理器总线仲裁机制的方法作进一步详细说明。根据下面说明,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
为了能够更好地实现AXI总线权限的动态分配,本发明提供一种改善处理器总线仲裁机制的方法,可以合理的动态分配总线权限,降低硬件开销。
本发明的结构框图如图1所示,包括3个主机、总线仲裁模块104、数据包缓冲模块105和主机选通模块106。3个主机分别为0号主机101、1号主机102和2号主机103,这三个主机的优先级相同。
所述总线仲裁模块104用于对总线使用权进行调停;所述总线仲裁模块104分别与所述0号主机101、所述1号主机102和所述2号主机103相连,对这三个主机发出的请求进行调停,接收、应答主机的占用权限请求,并将使用权限赋予合适的主机。
所述总线仲裁模块104根据目前所有者的状态,按照优先状态机方式进行控制;针对总线使用权请求的调停,使用顺序轮询机制,按照请求顺序进行使用权分配,且平等对待同优先级主机。
所述总线仲裁模块104的跳转状态如图2所示,有3个状态,分别是“0号主机拥有总线控制权”、“1号主机拥有总线控制权”、“2号主机拥有总线控制权”。所述0号主机101拥总线使用权时,总线请求优先级顺序为“0号主机>1号主机>2号主机”。所述0号主机101如果要求继续使用总线,就会得到许可。
所述0号主机101释放总线,所述1号主机102请求总线时,无论所述2号主机103是否请求,都会将总线使用权赋予所述1号主机102。如果所述0号主机101释放总线,所述1号主机102没有请求使用总线,而所述2号主机103请求使用总线时,所述2号主机103就会获得总线使用权。如果所有主机都没有请求使用总线,则会保持当前状态。
同样,当所述1号主机102持有总线使用权时,优先级顺序为“1号主机>2号主机>0号主机”;当所述2号主机103持有总线使用权时,优先级顺序为“2号主机>0号主机>1号主机”。由于每当总线权限变化时,总线权限的优先级也会按环状变化,所有同优先级主机都会平等获得总线所有权。
三个主机和所述总线仲裁模块104均与所述数据包缓冲模块105相连,所述数据包缓冲模块105用于缓存各主机数据,根据所述总线仲裁模块104所判定的权限,发送对应主机的数据包至所述主机多路选通模块106。
所述主机多路选通模块106根据所述总线仲裁模块104所判定的权限,接收来自所述数据包缓冲模块105的对应主机的数据包,并发送至从机;接收来自从机的数据包,返回至对应的主机。
上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。
Claims (7)
1.一种改善处理器总线仲裁机制的方法,其特征在于,基于包括总线仲裁模块、数据包缓冲模块、主机选通模块、从机和若干个主机的总线权限控制单元;
所述总线仲裁模块的输入端与各主机的输出端连接,输出端同时连接所述数据包缓冲模块的输入端、所述主机选通模块的输入端;所述总线仲裁模块用于接收各主机的权限请求信号,根据接收的请求信号,动态分配总线权限;
所述数据包缓冲模块的输入端同时与各主机的输出端、所述总线仲裁模块的输出端连接,输出端与所述主机选通模块的输入端连接;所述数据包缓冲模块用于缓存各主机的数据包,并根据所述总线仲裁模块所判定的权限,发送对应主机的数据包至所述主机多路选通模块;
所述主机选通模块的输出端与从机互连,并且所述主机选通模块的输出端连接各主机的输入端;所述主机多路选通模块根据所述总线仲裁模块所判定的权限,接收来自所述数据包缓冲模块的对应主机的数据包,并发送至从机;接收来自所述从机的数据包,返回至对应的主机。
2.如权利要求1所述的改善处理器总线仲裁机制的方法,其特征在于,所述总线仲裁模块对多个主机发出的请求进行调停,根据目前所有者的状态,按照优先状态机方式进行控制。
3.如权利要求2所述的改善处理器总线仲裁机制的方法,其特征在于,所述总线仲裁模块针对总线使用权请求的调停,使用顺序轮询机制,按照请求顺序进行使用权分配,且平等对待同优先级主机。
4.如权利要求3所述的改善处理器总线仲裁机制的方法,其特征在于,所述总线仲裁模块进行动态分配总线权限时,每当总线权限变化,总线权限分配顺序按环状变化,所有同优先级主机都会平等获得总线所有权。
5.如权利要求4所述的改善处理器总线仲裁机制的方法,其特征在于,所述总线仲裁模块支持两级或两级以上级联,先对高优先级主机的权限进行分配,在高优先级主机释放总线权限后,再对次优先级的主机内进行权限分配。
6.如权利要求5所述的改善处理器总线仲裁机制的方法,其特征在于,所述若干个主机为0号主机、1号主机和2号主机,且各主机的优先级相同。
7.如权利要求6所述的改善处理器总线仲裁机制的方法,其特征在于,所述总线仲裁模块有3个跳转状态,分别是“0号主机拥有总线控制权”、“1号主机拥有总线控制权”和“2号主机拥有总线控制权”;当0号主机拥总线使用权时,总线请求优先级顺序为0号主机>1号主机>2号主机;当1号主机持有总线使用权时,优先级顺序为1号主机>2号主机>0号主机;当2号主机持有总线使用权时,优先级顺序为2号主机>0号主机>1号主机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211163791.0A CN115454897A (zh) | 2022-09-23 | 2022-09-23 | 一种改善处理器总线仲裁机制的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211163791.0A CN115454897A (zh) | 2022-09-23 | 2022-09-23 | 一种改善处理器总线仲裁机制的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115454897A true CN115454897A (zh) | 2022-12-09 |
Family
ID=84307234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211163791.0A Pending CN115454897A (zh) | 2022-09-23 | 2022-09-23 | 一种改善处理器总线仲裁机制的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115454897A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117009266A (zh) * | 2023-10-07 | 2023-11-07 | 芯动微电子科技(武汉)有限公司 | 一种握手协议总线仲裁模块及片上系统 |
CN117278356A (zh) * | 2023-11-22 | 2023-12-22 | 中电科申泰信息科技有限公司 | 一种可复用可拓展的chi链路层路由器 |
-
2022
- 2022-09-23 CN CN202211163791.0A patent/CN115454897A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117009266A (zh) * | 2023-10-07 | 2023-11-07 | 芯动微电子科技(武汉)有限公司 | 一种握手协议总线仲裁模块及片上系统 |
CN117278356A (zh) * | 2023-11-22 | 2023-12-22 | 中电科申泰信息科技有限公司 | 一种可复用可拓展的chi链路层路由器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0706137B1 (en) | Queued arbitration mechanism for data processing system | |
US7530068B2 (en) | Method of resource allocation using an access control mechanism | |
CN115454897A (zh) | 一种改善处理器总线仲裁机制的方法 | |
US6393506B1 (en) | Virtual channel bus and system architecture | |
US5572686A (en) | Bus arbitration scheme with priority switching and timer | |
US5996037A (en) | System and method for arbitrating multi-function access to a system bus | |
US6519666B1 (en) | Arbitration scheme for optimal performance | |
US7352741B2 (en) | Method and apparatus for speculative arbitration | |
US6996647B2 (en) | Token swapping for hot spot management | |
KR20080039499A (ko) | 전송 방향 및 소비되는 대역폭에 기초하는 가중된 버스중재 | |
CN112597075B (zh) | 用于路由器的缓存分配方法、片上网络及电子设备 | |
US6321284B1 (en) | Multiprocessor system with multiple memory buses for access to shared memories | |
CN112416851A (zh) | 一种可扩展的多核片上共享存储器 | |
EP1222551B1 (en) | Asynchronous centralized multi-channel dma controller | |
CN117716679A (zh) | 地址转换类型分组的传输 | |
Jun et al. | Slack-based bus arbitration scheme for soft real-time constrained embedded systems | |
KR100973419B1 (ko) | 버스 중재 방법 및 장치 | |
EP0886218B1 (en) | Time multiplexed scheme for deadlock resolution in distributed arbitration | |
KR100475438B1 (ko) | 데이터 버스 시스템 및 버스간 크로스 액세스 방법 | |
Doifode et al. | Dynamic lottery bus arbiter for shared bus system on chip: a design approach with VHDL | |
JP4097847B2 (ja) | バス・ブリッジのアービトレーション方法 | |
KR100501745B1 (ko) | 듀얼 이더넷 컨트롤러에서 요구한 버스의 중재방법 | |
KR100215572B1 (ko) | 인터페이스 버퍼 제어 방법 및 장치 | |
US20210279192A1 (en) | Distribution of interconnect bandwidth among master agents | |
CN117278356A (zh) | 一种可复用可拓展的chi链路层路由器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |