CN112506821B - 一种系统总线接口请求仲裁方法及相关组件 - Google Patents
一种系统总线接口请求仲裁方法及相关组件 Download PDFInfo
- Publication number
- CN112506821B CN112506821B CN202011033819.XA CN202011033819A CN112506821B CN 112506821 B CN112506821 B CN 112506821B CN 202011033819 A CN202011033819 A CN 202011033819A CN 112506821 B CN112506821 B CN 112506821B
- Authority
- CN
- China
- Prior art keywords
- arbitration
- interface
- slave
- address space
- priority
- 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
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
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
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)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Bus Control (AREA)
Abstract
本申请公开了一种系统总线接口请求仲裁方法中,采用多级仲裁模块处理各主接口访问请求,将具有相同地址空间的从接口按照优先级由高到低的顺序分配至各仲裁模块,并将相同地址空间作为仲裁对象,则每个仲裁模块只需处理相同的访问地址空间的访问请求,既简化了仲裁模块的业务处理逻辑,同时又可以提升系统整体的业务处理效率;同时仲裁模块依照从接口的优先级分级设置,各仲裁模块间逐级递进,由高到低逐级响应访问请求,即可以保障高访问级别的接口可以实现快速仲裁,又可以保障不同类型的请求的区分性仲裁手段的配置,从而提升整体的仲裁响应速度。本申请还提供了一种系统总线接口请求仲裁装置、设备及一种可读存储介质,具有上述有益效果。
Description
技术领域
本申请涉及计算机软件技术领域,特别涉及一种系统总线接口请求仲裁 方法、装置、设备及一种可读存储介质。
背景技术
系统总线是SOC(System on Chip片上系统)芯片中重要组成部分,用于 连接芯片内各功能模块,完成各模块间的数据传输,保障各功能模块互联起 来协同运行。随着SOC芯片规模不断增大,系统总线需要连接的接口模块也 随之增多,通常会包含多个从接口(从接口)及多个master接口(主接口), 同时各从接口对下游master接口访问权限及优先级也是多样化的,有的master 接口会有多个从接口同时去竞争访问,有的master接口只会有一个或两个从 接口需要访问,有的从接口需要访问全部的master接口,有的从接口只访问部分的master接口,这对于系统总线内仲裁逻辑的设计提出了挑战。
传统方法中对于系统总线的仲裁逻辑处理通常是由一个仲裁模块处理满 足上述所有应用场景,覆盖到各类需要仲裁的情况,每个从接口发起的访问 请求都需要同其他从接口的请求进行仲裁,而从接口发起的请求访问同master 接口随机性较大,对于每个从接口发起的访问请求都需要单独进行仲裁吗, 这样显然会使得仲裁算法复杂且效率不高,从而影响芯片性能。
因此,如何提升云平台运行的安全性以及稳定性,是本领域技术人员急 需解决的问题。
发明内容
本申请的目的是提供系统总线接口请求仲裁方法,该方法可以解决目前 前端微服务方案中存在的构建复杂性问题,保证优良的子应用管理效率;本 申请的另一目的是提供系统总线接口请求仲裁装置、设备及一种可读存储介 质。
为解决上述技术问题,本申请提供一种系统总线接口请求仲裁方法,包 括:
确定系统总线内各从接口可访问的地址空间以及优先级;
将具有相同地址空间的从接口按照优先级由高到低的顺序分配至各仲裁 模块,并将所述相同地址空间作为仲裁对象;其中,优先级高的所述从接口 对应的所述仲裁模块的级别高;
接收到从接口的访问请求后,确定发起访问请求的从接口对应的仲裁模 块,作为目标仲裁模块;
调用所述目标仲裁模块根据对应的仲裁对象按照所述优先级分级响应所 述访问请求。
可选地,所述将具有相同地址空间的从接口按照优先级由高到低的顺序 分配至各仲裁模块,并将所述相同地址空间作为仲裁对象,包括:
将各所述从接口与对应的可访问的地址空间按照优先级由高到低进行排 列,得到接口统计数据;
逐一遍历所述接口统计数据中从接口中相同的可访问的地址空间,并将 具有相同地址空间的优先级别最接近的从接口划分至同一仲裁模块,将所述 相同地址空间作为仲裁对象。
可选地,所述逐一遍历所述接口统计数据中从接口中相同的可访问的地 址空间,并将具有相同地址空间的优先级别最接近的从接口划分至同一仲裁 模块,将所述相同地址空间作为仲裁对象,包括:
判断第一从接口和第二从接口间是否具有相同的地址空间;其中,所述 第一从接口为优先级最高的未分配的从接口,所述第二从接口为与所述第一 从接口优先级别最接近的从接口;
若所述第一从接口和所述第二从接口间具有相同的地址空间,将所述第 一从接口和所述第二从接口间相同的地址空间作为第一仲裁空间;
确定与所述第二从接口优先级别最接近的从接口,作为第三从接口;
判断所述第三从接口是否具有所述第一仲裁空间;
若所述第三从接口不具有所述第一仲裁空间,将具有所述第一仲裁空间 的从接口划分至第一仲裁模块,并将所述第一仲裁空间作为所述第一仲裁模 块的仲裁对象;其中,所述第一仲裁模块为级别最高的未分配的仲裁模块;
若所述第三从接口具有所述第一仲裁空间,将与所述第三从接口优先级 别最接近的从接口作为所述第三从接口,并执行判断所述第三从接口是否具 有所述第一仲裁空间的步骤。
可选地,调用所述目标仲裁模块根据对应的仲裁对象按照所述优先级分 级响应所述访问请求,包括:
若接收到单个从接口的访问请求,所述目标仲裁模块判断待访问的主接 口是否属于所述目标仲裁模块对应的仲裁对象;
若属于,根据预设规则处理所述访问请求;
若不属于,将所述访问请求发送至下一级仲裁模块;
若同时接收到多个从接口的访问请求,所述目标仲裁模块按照所述访问 请求对应的从接口的优先级别逐一处理。
可选地,所述目标仲裁模块按照所述访问请求对应的从接口的优先级别 逐一处理,包括:
所述目标仲裁模块确定接收到的各所述访问请求中从接口的优先级别最 高的访问请求,作为待处理访问请求;
判断所述待处理访问请求的数量是否为1;
若是,执行所述判断待访问的主接口是否属于所述目标仲裁模块对应的 仲裁对象的步骤;
若否,按照预定筛选机制从若干所述待处理访问请求中确定当前待执行 的待处理访问请求;
执行所述判断待访问的主接口是否属于所述目标仲裁模块对应的仲裁对 象的步骤。
可选地,所述按照预定筛选机制从若干所述待处理访问请求中确定当前 待执行的待处理访问请求,包括:
确定若干所述待处理访问请求中没有获得仲裁权时间最长的接口,作为 当前待执行的待处理访问请求。
本申请还提供了一种系统总线接口请求仲裁装置,该装置包括:
信息确定单元,用于确定系统总线内各从接口可访问的地址空间以及优 先级;
从接口分配单元,用于将具有相同地址空间的从接口按照优先级由高到 低的顺序分配至各仲裁模块,并将所述相同地址空间作为仲裁对象;其中, 优先级高的所述从接口对应的所述仲裁模块的级别高;
模块确定单元,用于接收到从接口的访问请求后,确定发起访问请求的 从接口对应的仲裁模块,作为目标仲裁模块;
模块响应单元,用于调用所述目标仲裁模块根据对应的仲裁对象按照所 述优先级分级响应所述访问请求。
可选地,所述从接口分配单元包括:
排列子单元,用于将各所述从接口与对应的可访问的地址空间按照优先 级由高到低进行排列,得到接口统计数据;
遍历子单元,用于逐一遍历所述接口统计数据中从接口中相同的可访问 的地址空间,并将具有相同地址空间的优先级别最接近的从接口划分至同一 仲裁模块,将所述相同地址空间作为仲裁对象。
本申请还提供了一种系统总线接口请求仲裁设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现所述的系统总线接口请求仲裁 方法的步骤。
本申请还提供了一种可读存储介质,所述可读存储介质上存储有程序, 所述程序被处理器执行时实现所述的系统总线接口请求仲裁方法的步骤。
本申请所提供的系统总线接口请求仲裁方法中,采用多级仲裁模块处理 各slave接口访问请求,将具有相同地址空间的从接口按照优先级由高到低的 顺序分配至各仲裁模块,并将相同地址空间作为仲裁对象,则每个仲裁模块 只需处理相同的访问地址空间的访问请求,既简化了仲裁模块的业务处理逻 辑,同时又可以提升系统整体的业务处理效率;同时仲裁模块依照从接口的 优先级分级设置,各仲裁模块间逐级递进,由高到低逐级响应访问请求,即 可以保障高访问级别的接口可以实现快速仲裁,又可以保障不同类型的请求 的区分性仲裁手段的配置,从而提升整体的仲裁响应速度。
本申请还提供了一种系统总线接口请求仲裁装置、设备及一种可读存储 介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面 描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不 付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种系统总线接口请求仲裁方法的流程图;
图2为本申请实施例提供的一种多请求下的多模块分级处理过程示意图;
图3为本申请实施例提供的一种系统总线接口请求仲裁装置的结构框图;
图4为本申请实施例提供的一种系统总线接口请求仲裁设备的结构示意 图。
具体实施方式
本申请的核心是提供系统总线接口请求仲裁方法,该方法可以解决目前 前端微服务方案中存在的构建复杂性问题,保证优良的子应用管理效率;本 申请的另一核心是提供系统总线接口请求仲裁装置、设备及一种可读存储介 质。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申 请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述, 显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于 本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获 得的所有其他实施例,都属于本申请保护的范围。
请参考图1,图1为本实施例提供的一种系统总线接口请求仲裁方法的流 程图,该方法主要包括以下步骤:
步骤s110、确定系统总线内各从接口可访问的地址空间以及优先级;
系统总线内每个从接口(slave接口)都有对应的访问权限以及优先级, 且各从接口的访问权限(即可访问的地址空间)以及优先级是多样化的,比 如slave接口1能访问master接口1、2、3、4、5及6,优先级为1(优先级 的数值越小,优先级越高);slave接口3能访问master接口3、4、5及6, 优先级为3。
本实施例中需要统计系统总线内所有从接口可访问的地址空间以及优先 级,以便根据不同的访问情况进行区分性仲裁处理,提高系统总线内部的仲 裁效率。
步骤s120、将具有相同地址空间的从接口按照优先级由高到低的顺序分 配至各仲裁模块,并将相同地址空间作为仲裁对象;其中,优先级高的从接 口对应的仲裁模块的级别高;
本申请中将需要访问相同地址空间(即主接口master)的从接口分配至 相同的仲裁模块,则该仲裁模块可以对于相同的主接口实现访问处理,既简 化了仲裁模块的业务处理逻辑,同时又可以提升系统整体的业务处理效率, 而且本申请中划分多级仲裁模块,仲裁模块的级别与接口访问级别相对应, 优先级高的从接口对应的仲裁模块的级别高,既可以保障接口的仲裁响应速 度与访问级别相关联,高访问级别的接口可以实现快速仲裁,又可以保障不 同类型的请求的区分性仲裁手段的配置,从而提升整体的仲裁响应速度。
本实施例中既要保障高优先级的从接口分配至高级别的仲裁模块中,又 要保障各仲裁模块可以用于仲裁具有相同地址空间的从接口,因此需要将具 有相同地址空间的从接口按照优先级由高到低的顺序分配至各仲裁模块,而 本实施例中对于该步骤下的具体实现方式不做限定,同时仲裁模块的数量应 与从接口的划分方式相匹配,由于对于从接口的具体划分方式不做限定,相 应地,本实施例中对于仲裁模块的划分数量也不做限定。
为加深理解,本实施例中介绍两种从接口划分方式以及响应的仲裁模块 的数量以及仲裁对象的设定。将具有相同地址空间的从接口按照优先级由高 到低的顺序分配至各仲裁模块,并将相同地址空间作为仲裁对象的过程具体 可以首先筛选出所有从接口中的相同地址空间,再根据对应的从接口的优先 级别对相同地址空间进行级别的划分,比如经过筛选得到slave接口3和接口 4有访问相同地址空间master接口3和master接口4,slave接口1和slave接 口2有访问相同地址空间master接口1和master接口2,然后分别确定slave 接口3和接口4、slave接口1和slave接口2的有限级别,得到slave接口1 和slave接口2的优先级别为1和2,slave接口3和接口4的优先级别为3和 4,且优先级的数值越小,优先级越高,则可以将slave接口1和slave接口2 划分至第一仲裁模块,同时master接口1和master接口2作为仲裁对象,将slave接口3和slave接口4划分至第二仲裁模块,同时master接口3和master 接口4作为仲裁对象;也可以首先对从接口的有限级别进行配需,再依序逐 一确定各级别的从接口之间的相同地址空间,比如首先确定slave接口1能访 问master接口1、2、3、4、5及6,优先级为1;slave接口2能访问master 接口1和master接口2,优先级为2;slave接口3能访问master接口3、4、5 及6,优先级为3;slave接口4能访问master接口3和master接口4,优先级 为3;则经过逐一确定各级别的从接口之间的相同地址空间发现,slave接口1 和slave接口2有访问相同地址空间master接口1和master接口2,故划分到 仲裁模块1,同时master接口1和master接口2作为仲裁对象。slave接口3 和接口4有访问相同地址空间master接口3和master接口4,划分到仲裁模 块2,同时master接口3和master接口4作为仲裁对象。本实施例中仅以上 述两种实现方式为例进行从接口分配的过程,其他可以实现将具有相同地址 空间的从接口按照优先级由高到低的顺序分配至各仲裁模块的步骤均可参照 本实施例的介绍,在此不再赘述。
需要说明的是,各仲裁模块内分配的若干具有相同地址空间的从接口之 间的优先级别差距不宜过大,可以为同级别或临近级别,差异尽量不要超过 整体从接口级别数的一半,以避免不同级别的仲裁模块间对于不同响应级别 的从接口的响应混乱。
步骤s130、接收到从接口的访问请求后,确定发起访问请求的从接口对 应的仲裁模块,作为目标仲裁模块;
从接口的级别与仲裁模块的级别相匹配,高级别的从接口分配至高级别 的仲裁模块,低级别的从接口分配至低级别的仲裁模块,而仲裁模块由高到 低依次处理,即高级别的仲裁模块首先响应,响应速度快,低级别的仲裁模 块需要等待高级别的仲裁模块处理完成后再响应。
接收到从接口的访问请求后,需要首先确定发起访问请求的从接口对应 的仲裁模块,以便按照优先级由高到低的顺序依次响应各从接口的响应。
步骤s140、调用目标仲裁模块根据对应的仲裁对象按照优先级分级响应 访问请求。
仲裁模块接收到分配的响应请求后对其进行处理,需要说明的是,每个 仲裁模块都有预先划分的仲裁对象,每个仲裁模块只实现对于设定的仲裁对 象的仲裁处理,从而简化多级仲裁模块的实现逻辑以及响应速度,而若接收 到不属于其仲裁对象的请求,则将该请求下发至下一级的仲裁模块实现仲裁 模块的分级响应,直至请求获得仲裁权。
比如仲裁模块1主要用于实现对于master接口1和master接口2的访问 处理,但是若slave接口1发起对于master接口3的访问请求,首先根据发起 请求的slave接口首先将该请求分配至仲裁模块1,仲裁模块1接收到该请求 后发现其只具备对于master接口1和master接口2的处理能力,不具备对于 master接口3的处理能力,此时仲裁模块1需要将该请求传递至下一级仲裁 模块进行逐级的判定,当传输到仲裁模块2后,由于仲裁模块2可以实现对 于master接口3和master接口4的访问处理,则仲裁模块2需要对该请求进 行处理,而若同时仲裁模块2还接收到其他的处理请求(slave接口3和slave 接口4的请求)时,则在一个仲裁模块内需要按照发起请求的从接口的级别 逐级进行处理,由于slave接口1的级别高于slave接口3和slave接口4,则 仲裁模块2需要首先对高级别的slave接口1的请求进行处理,从而保障高级 别接口请求的高速仲裁;而若两请求对应的从接口级别相同时,本实施例中 对于该种情况下的处理顺序不做限定,比如可以随机处理,也可以首先对最 近一次没有获得仲裁权的slave接口的请求进行处理,可以根据实际使用的需 要进行设定,在此不再赘述。
基于上述介绍,本实施例提供的系统总线接口请求仲裁方法中,采用多 级仲裁模块处理各slave接口访问请求,将具有相同地址空间的从接口按照优 先级由高到低的顺序分配至各仲裁模块,并将相同地址空间作为仲裁对象, 则每个仲裁模块只需处理相同的访问地址空间的访问请求,既简化了仲裁模 块的业务处理逻辑,同时又可以提升系统整体的业务处理效率;同时仲裁模 块依照从接口的优先级分级设置,各仲裁模块间逐级递进,由高到低逐级响 应访问请求,即可以保障高访问级别的接口可以实现快速仲裁,又可以保障不同类型的请求的区分性仲裁手段的配置,从而提升整体的仲裁响应速度。
上述实施例中对于将具有相同地址空间的从接口按照优先级由高到低的 顺序分配至各仲裁模块,并将相同地址空间作为仲裁对象的具体实现方式不 做限定,本实施例中主要介绍一种实现方式,实现步骤如下所示:
(1)将各从接口与对应的可访问的地址空间按照优先级由高到低进行排 列,得到接口统计数据;
将从接口按照优先级由高到低进行排列,并为各从接口添加对应的可访 问的地址空间,即具有访问权限的主接口。一种接口统计数据例如:
slave接口1能访问master接口1、2、3、4、5及6,优先级为1(优先 级的数值越小,优先级越高);
slave接口2能访问master接口1和master接口2,优先级为2;
slave接口3能访问master接口3、4、5及6,优先级为3;
slave接口4能访问master接口3和master接口4,优先级为3;
slave接口5能访问master接口5和master接口6,优先级为4;
salve接口6能访问master接口5和master接口6,优先级为5。
本实施例中仅以上述接口访问权限以及优先级为例进行介绍,其它设置 下的实现方式均可参照本实施例的介绍,在此不再赘述。
(2)逐一遍历接口统计数据中从接口中相同的可访问的地址空间,并将 具有相同地址空间的优先级别最接近的从接口划分至同一仲裁模块,将相同 地址空间作为仲裁对象。
将从接口按照优先级排布好后,按照优先级的顺序逐一遍历与其具有相 同地址空间的优先级别最接近的从接口,并将具有相同地址空间的优先级别 最接近的从接口划分至同一仲裁模块,比如slave接口1和slave接口2有访 问相同地址空间master接口1和master接口2,故划分到仲裁模块1。以此类 推,slave接口3和接口4有访问相同地址空间master接口3和master接口4, 划分到仲裁模块2;slave接口5和接口6有访问相同地址空间master接口5 和master接口6,划分到仲裁模块3。
本实施例中对于步骤(2)中的具体遍历比对相同的地址空间的具体实现 方式不做限定,可选地,步骤(2)具体可以按照以下步骤来执行:
(2.1)判断第一从接口和第二从接口间是否具有相同的地址空间;其中, 第一从接口为优先级最高的未分配的从接口,第二从接口为与第一从接口优 先级别最接近的从接口;
第一从接口比如slave接口1,第二从接口比如slave接口2。
(2.2)若第一从接口和第二从接口间具有相同的地址空间,将第一从接 口和第二从接口间相同的地址空间作为第一仲裁空间;
比如判断slave接口1和slave接口2间是否具有相同的地址空间,发现 slave接口1和slave接口2有访问相同地址空间master接口1和master接口 2,则将master接口1和master接口2作为第一仲裁空间。
(2.3)确定与第二从接口优先级别最接近的从接口,作为第三从接口;
从接口统计数据中找到临近第二从接口的从接口,比如slave接口2临近 的接口为slave接口3,则将slave接口3作为第三从接口。
(2.4)判断第三从接口是否具有第一仲裁空间;
判断slave接口3可访问的地址空间中是否包括master接口1和master 接口2。
(2.5)若第三从接口不具有第一仲裁空间,将具有第一仲裁空间的从接 口划分至第一仲裁模块,并将第一仲裁空间作为第一仲裁模块的仲裁对象; 其中,第一仲裁模块为级别最高的未分配的仲裁模块;
当前slave接口3可访问的地址空间中不包括master接口1和master接口 2,为了避免第一仲裁模块中的从接口优先级跨度大容易导致的优先级执行顺 序混乱等问题,本实施例中在相邻优先级不包含相同的访问地址空间后则不 继续向后遍历,以保障请求处理的有序性。
则此时,将slave接口1和slave接口2划分至第一仲裁模块,master接 口1和master接口2作为第一仲裁模块的仲裁对象。第一仲裁模块为级别最 高的仲裁模块,即最先被执行的仲裁模块,若存在高级别的仲裁模块运行时, 低级别的仲裁模块将等待高级别的仲裁模块仲裁结束后再根据接收到的任务 执行仲裁。
需要说明的是,本申请中对于仲裁模块中具体对于访问请求执行的仲裁 过程不做具体限定,可以参照相关技术的实现,在此不再赘述。
(2.6)若第三从接口具有第一仲裁空间,将与第三从接口优先级别最接 近的从接口作为第三从接口,并执行判断第三从接口是否具有第一仲裁空间 的步骤。
若第三从接口具有第一仲裁空间,则可以继续向下遍历临近优先级别的 从接口,直至从接口中不包含第一仲裁空间,则统计相邻的具有第一仲裁空 间的从接口,并将其划分至第一仲裁空间,排除划分至第一仲裁空间的从接 口后,继续按照优先级由大到小的顺序遍历从接口的访问地址空间,实现对 于第二仲裁模块以及后续低级别仲裁模块的划分,在此不再赘述。
本实施例介绍的仲裁划分方式,可以保障不同优先级的从接口访问请求 的顺序处理,提升高优先级的请求的处理效率。
上述实施例中对于调用目标仲裁模块根据对应的仲裁对象按照优先级分 级响应访问请求的具体实现步骤不做限定,可选地,一种实现步骤如下:
(1)若接收到单个从接口的访问请求,目标仲裁模块判断待访问的主接 口是否属于目标仲裁模块对应的仲裁对象;
比如仲裁模块1负责处理slave接口1和slave接口2的请求,仲裁对象 为master接口1或者master接口2,当slave接口1发起对于master接口3 的请求后,slave接口1对应的仲裁模块1首先判断slave接口1请求访问的 master接口3是否属于本模块预设的仲裁对象。
(2)若属于,根据预设规则处理访问请求;
具体的按照预设规则处理访问请求的过程可以参照相关技术的介绍,本 实施例中不做限定。
(3)若不属于,将访问请求发送至下一级仲裁模块;
若不属于本模块预设的仲裁对象范围,则将访问请求发送至下一级仲裁 模块,调用下一级仲裁模块进行请求处理。
(4)若同时接收到多个从接口的访问请求,目标仲裁模块按照访问请求 对应的从接口的优先级别逐一处理。
若同时接收到多个从接口的访问请求,为保证高优先级的访问请求的快 速处理,本实施例中按照访问请求对应的从接口的优先级别逐一处理,即高 优先级的请求先处理,低优先级的请求后处理。而具体的实现步骤本实施例 中不做限定,可选地,一种实现步骤如下:
(4.1)目标仲裁模块确定接收到的各访问请求中从接口的优先级别最高 的访问请求,作为待处理访问请求;
(4.2)判断待处理访问请求的数量是否为1;
确定是否有若干同级别的访问请求,若是,则需要针对同级别的访问请 求设定一定的处理先后顺序,若没有,则可以直接处理该请求。
(4.3)若是,执行判断待访问的主接口是否属于目标仲裁模块对应的仲 裁对象的步骤;
(4.4)若否,按照预定筛选机制从若干待处理访问请求中确定当前待执 行的待处理访问请求;
本实施例中对于预定筛选机制不做限定,可以根据实际使用需求进行规 则的设定,可选地,一种按照预定筛选机制从若干待处理访问请求中确定当 前待执行的待处理访问请求的实现方式如下:确定若干待处理访问请求中没 有获得仲裁权时间最长的接口,作为当前待执行的待处理访问请求。
将最近没有获得仲裁权的从接口作为当前待执行的待处理访问请求可以 避免请求长时间无响应的情况,提升用户体验。本实施例中仅以上述筛选机 制进行详细描述,其它筛选机制下的实现方式均可参照本实施例的介绍,在 此不再赘述。
(4.5)执行判断待访问的主接口是否属于目标仲裁模块对应的仲裁对象 的步骤。
本实施例中将请求处理过程划分为单请求处理过程以及多请求处理过 程,在多请求处理过程中依据优先级逐一处理各请求,提升了请求处理的有 序性。
为加深理解,在此介绍一种基于上述处理方式下的多请求下的多模块分 级处理过程,如图2所示为一种处理过程示意图。
仲裁模块1负责处理slave接口1和slave接口2的访问请求。当slave接 口1和接口2同时发起的请求都包含master接口1或者master接口2的地址 时,按照预设优先级,slave接口1将获得仲裁权,此时包含slave接口1此条 访问请求唯一ID号命令及数据将可以在系统总线上进行传输,完成此次请求 的全部传输将释放总线控制权;当slave接口1发出请求的地址空间是master 接口3、4、5或6时,仲裁模块1将把此请求传递给下级仲裁模块2。没有赢 得本次仲裁的请求,将等待下一轮仲裁,直至获得仲裁权。
仲裁模块2负责处理slave接口3、slave接口4及仲裁模块1传递过来的 访问请求。当此三种访问请求都包含master接口3或者master接口4的地址 时,按照预设优先级,slave接口1将获得仲裁权;当仲裁模块1发来的请求 地址空间是master接口5或6,而slave接口3和4访问请求地址是master接 口3或4时,由于slave接口3和4的优先级相同,此时将采用轮询机制,即 最近一次没有获得仲裁权的slave接口将获得仲裁权,同时仲裁模块2将把包 含地址空间为master接口5或6的请求传递给下级仲裁模块3;当仲裁模块1 发来的请求地址空间及salve接口3请求地址空间是master接口5或6时,由 于slave接口1优先级高于slave接口3,则仲裁模块2将slave接口1的请求 传递给下级仲裁模块3。
仲裁模块3负责处理slave接口5、slave接口6及仲裁模块2传递过来的 访问请求。当此三种请求都包含master接口5或者master接口6的地址时, 按照预设优先级,优先级高的slave接口将获得仲裁权,slave接口优先级相同 时,将采用轮询机制,即最近一次没有获得仲裁权的slave接口将获得仲裁权。
即slave接口1需要访问master接口3、4、5及6时,则需要经过多级冲 裁模块才能完成仲裁。同理,salve接口3需要访问master接口5和6时也需 要经过仲裁模块2和仲裁模块3才能完成仲裁。
请参考图3,图3为本实施例提供的系统总线接口请求仲裁装置的结构框 图;该装置主要包括:信息确定单元110、从接口分配单元120、模块确定单 元130以及模块响应单元140。本实施例提供的系统总线接口请求仲裁装置可 与上述系统总线接口请求仲裁方法相互对照。
其中,信息确定单元110主要用于确定系统总线内各从接口可访问的地 址空间以及优先级;
从接口分配单元120主要用于将具有相同地址空间的从接口按照优先级 由高到低的顺序分配至各仲裁模块,并将相同地址空间作为仲裁对象;其中, 优先级高的从接口对应的仲裁模块的级别高;
模块确定单元130主要用于接收到从接口的访问请求后,确定发起访问 请求的从接口对应的仲裁模块,作为目标仲裁模块;
模块响应单元140主要用于调用目标仲裁模块根据对应的仲裁对象按照 优先级分级响应访问请求。
可选地,从接口分配单元具体可以包括:
排列子单元,用于将各从接口与对应的可访问的地址空间按照优先级由 高到低进行排列,得到接口统计数据;
遍历子单元,用于逐一遍历接口统计数据中从接口中相同的可访问的地 址空间,并将具有相同地址空间的优先级别最接近的从接口划分至同一仲裁 模块,将相同地址空间作为仲裁对象。
本实施例提供一种系统总线接口请求仲裁设备,主要包括:存储器以及 处理器。
其中,存储器用于存储程序;
处理器用于执行程序时实现如上述实施例介绍的系统总线接口请求仲裁 方法的步骤,具体可参照上述系统总线接口请求仲裁方法的介绍。
请参考图4,为本实施例提供的系统总线接口请求仲裁设备的结构示意 图,该系统总线接口请求仲裁设备可因配置或性能不同而产生比较大的差异, 可以包括一个或一个以上处理器(central processing units,CPU)322(例如, 一个或一个以上处理器)和存储器332,存储器332存储有一个或一个以上的 计算机应用程序342或数据344。其中,存储器332可以是短暂存储或持久存储。 存储在存储器332的程序可以包括一个或一个以上模块(图示没标出),每个 模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理 器322可以设置为与存储器332通信,在系统总线接口请求仲裁设备301上执行存储介质330中的一系列指令操作。
系统总线接口请求仲裁设备301还可以包括一个或一个以上电源326,一 个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358, 和/或,一个或一个以上操作系统341,例如Windows ServerTM,Mac OS XTM, UnixTM,LinuxTM,FreeBSDTM等等。
上面图1所描述的系统总线接口请求仲裁方法中的步骤可以由本实施例 介绍的系统总线接口请求仲裁设备的结构实现。
本实施例公开一种可读存储介质,其上存储有程序,程序被处理器执行 时实现如上述实施例介绍的系统总线接口请求仲裁方法的步骤,具体可参照 上述实施例中对系统总线接口请求仲裁方法的介绍。
该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁 碟或者光盘等各种可存储程序代码的可读存储介质。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是 与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对 于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的 比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示 例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现, 为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性 地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行, 取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定 的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本 申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、 处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存 储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编 程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任 意其它形式的存储介质中。
以上对本申请所提供的系统总线接口请求仲裁方法、装置、设备及可读 存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方 式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心 思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原 理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入 本申请权利要求的保护范围内。
Claims (8)
1.一种系统总线接口请求仲裁方法,其特征在于,该方法包括:
确定系统总线内各从接口可访问的地址空间以及优先级;
将具有相同所述地址空间的从接口按照优先级由高到低的顺序分配至各仲裁模块,并将相同地址空间作为仲裁对象;其中,优先级高的所述从接口对应的所述仲裁模块的级别高;
接收到从接口的访问请求后,确定发起访问请求的从接口对应的仲裁模块,作为目标仲裁模块;
调用所述目标仲裁模块根据对应的仲裁对象按照所述优先级分级响应所述访问请求;
其中,所述将具有相同所述地址空间的从接口按照优先级由高到低的顺序分配至各仲裁模块,并将所述相同地址空间作为仲裁对象,包括:
将各所述从接口与对应的可访问的地址空间按照优先级由高到低进行排列,得到接口统计数据;
逐一遍历所述接口统计数据中从接口中相同的可访问的地址空间,并将具有相同所述地址空间的优先级别最接近的从接口划分至同一仲裁模块,将所述相同地址空间作为仲裁对象。
2.如权利要求1所述的系统总线接口请求仲裁方法,其特征在于,所述逐一遍历所述接口统计数据中从接口中相同的可访问的地址空间,并将具有相同所述地址空间的优先级别最接近的从接口划分至同一仲裁模块,将所述相同地址空间作为仲裁对象,包括:
判断第一从接口和第二从接口间是否具有相同的地址空间;其中,所述第一从接口为优先级最高的未分配的从接口,所述第二从接口为与所述第一从接口优先级别最接近的从接口;
若所述第一从接口和所述第二从接口间具有相同的地址空间,将所述第一从接口和所述第二从接口间相同的地址空间作为第一仲裁空间;
确定与所述第二从接口优先级别最接近的从接口,作为第三从接口;
判断所述第三从接口是否具有所述第一仲裁空间;
若所述第三从接口不具有所述第一仲裁空间,将具有所述第一仲裁空间的从接口划分至第一仲裁模块,并将所述第一仲裁空间作为所述第一仲裁模块的仲裁对象;其中,所述第一仲裁模块为级别最高的未分配的仲裁模块;
若所述第三从接口具有所述第一仲裁空间,将与所述第三从接口优先级别最接近的从接口作为所述第三从接口,并执行判断所述第三从接口是否具有所述第一仲裁空间的步骤。
3.如权利要求1所述的系统总线接口请求仲裁方法,其特征在于,调用所述目标仲裁模块根据对应的仲裁对象按照所述优先级分级响应所述访问请求,包括:
若接收到单个从接口的访问请求,所述目标仲裁模块判断待访问的主接口是否属于所述目标仲裁模块对应的仲裁对象;
若属于,根据预设规则处理所述访问请求;
若不属于,将所述访问请求发送至下一级仲裁模块;
若同时接收到多个从接口的访问请求,所述目标仲裁模块按照所述访问请求对应的从接口的优先级别逐一处理。
4.如权利要求3所述的系统总线接口请求仲裁方法,其特征在于,所述目标仲裁模块按照所述访问请求对应的从接口的优先级别逐一处理,包括:
所述目标仲裁模块确定接收到的各所述访问请求中从接口的优先级别最高的访问请求,作为待处理访问请求;
判断所述待处理访问请求的数量是否为1;
若是,执行所述判断待访问的主接口是否属于所述目标仲裁模块对应的仲裁对象的步骤;
若否,按照预定筛选机制从若干所述待处理访问请求中确定当前待执行的待处理访问请求;
执行所述判断待访问的主接口是否属于所述目标仲裁模块对应的仲裁对象的步骤。
5.如权利要求4所述的系统总线接口请求仲裁方法,其特征在于,所述按照预定筛选机制从若干所述待处理访问请求中确定当前待执行的待处理访问请求,包括:
确定若干所述待处理访问请求中没有获得仲裁权时间最长的接口,作为当前待执行的待处理访问请求。
6.一种系统总线接口请求仲裁装置,其特征在于,该装置包括:
信息确定单元,用于确定系统总线内各从接口可访问的地址空间以及优先级;
从接口分配单元,用于将具有相同所述地址空间的从接口按照优先级由高到低的顺序分配至各仲裁模块,并将相同地址空间作为仲裁对象;其中,优先级高的所述从接口对应的所述仲裁模块的级别高;
模块确定单元,用于接收到从接口的访问请求后,确定发起访问请求的从接口对应的仲裁模块,作为目标仲裁模块;
模块响应单元,用于调用所述目标仲裁模块根据对应的仲裁对象按照所述优先级分级响应所述访问请求;
其中,所述从接口分配单元包括:
排列子单元,用于将各所述从接口与对应的可访问的地址空间按照优先级由高到低进行排列,得到接口统计数据;
遍历子单元,用于逐一遍历所述接口统计数据中从接口中相同的可访问的地址空间,并将具有相同所述地址空间的优先级别最接近的从接口划分至同一仲裁模块,将所述相同地址空间作为仲裁对象。
7.一种系统总线接口请求仲裁设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述的系统总线接口请求仲裁方法的步骤。
8.一种可读存储介质,其特征在于,所述可读存储介质上存储有程序,所述程序被处理器执行时实现如权利要求1至5任一项所述的系统总线接口请求仲裁方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011033819.XA CN112506821B (zh) | 2020-09-27 | 2020-09-27 | 一种系统总线接口请求仲裁方法及相关组件 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011033819.XA CN112506821B (zh) | 2020-09-27 | 2020-09-27 | 一种系统总线接口请求仲裁方法及相关组件 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112506821A CN112506821A (zh) | 2021-03-16 |
CN112506821B true CN112506821B (zh) | 2023-02-28 |
Family
ID=74953716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011033819.XA Active CN112506821B (zh) | 2020-09-27 | 2020-09-27 | 一种系统总线接口请求仲裁方法及相关组件 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112506821B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114741341A (zh) * | 2022-03-01 | 2022-07-12 | 西安电子科技大学 | 一种实现Crossbar结构仲裁的方法、系统及存储介质 |
CN116185915B (zh) * | 2023-04-21 | 2023-08-04 | 山东云海国创云计算装备产业创新中心有限公司 | 总线调度方法、装置及设备、介质和基板管理控制芯片 |
CN117520252B (zh) * | 2024-01-08 | 2024-04-16 | 芯瞳半导体技术(山东)有限公司 | 一种通信控制方法、系统级芯片、电子设备及存储介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030095783A1 (en) * | 2001-11-21 | 2003-05-22 | Broadbus Technologies, Inc. | Methods and apparatus for generating multiple network streams from a large scale memory buffer |
CN100472494C (zh) * | 2007-02-05 | 2009-03-25 | 北京中星微电子有限公司 | 支持多总线多类型存储器的内存仲裁实现系统和方法 |
CN105068951B (zh) * | 2015-07-27 | 2018-05-08 | 中国科学院自动化研究所 | 一种具有非等时传输结构的片上系统总线 |
CN110908938B (zh) * | 2016-07-01 | 2021-08-31 | 北京忆芯科技有限公司 | Sram控制器及控制方法 |
US10649813B2 (en) * | 2018-03-29 | 2020-05-12 | Intel Corporation | Arbitration across shared memory pools of disaggregated memory devices |
CN110109847B (zh) * | 2019-04-25 | 2021-09-24 | 豪威触控与显示科技(深圳)有限公司 | Apb总线多个主设备的仲裁方法、系统及存储介质 |
CN110532062B (zh) * | 2019-08-13 | 2022-05-20 | 南京芯驰半导体科技有限公司 | 一种虚拟化SoC总线系统及配置方法 |
CN111143257A (zh) * | 2019-12-02 | 2020-05-12 | 深圳市奥拓电子股份有限公司 | Ddr仲裁控制器、视频缓存装置及视频处理系统 |
CN110875867B (zh) * | 2020-01-20 | 2020-05-01 | 南京凌鸥创芯电子有限公司 | 一种总线访问仲裁装置及方法 |
CN111478840A (zh) * | 2020-04-15 | 2020-07-31 | 联合华芯电子有限公司 | 用于总线系统的双速率仲裁中继设备 |
CN111666239A (zh) * | 2020-07-10 | 2020-09-15 | 深圳开立生物医疗科技股份有限公司 | 一种主从设备互联系统和主从设备访问请求处理方法 |
-
2020
- 2020-09-27 CN CN202011033819.XA patent/CN112506821B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112506821A (zh) | 2021-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112506821B (zh) | 一种系统总线接口请求仲裁方法及相关组件 | |
US20190324819A1 (en) | Distributed-system task assignment method and apparatus | |
CN110647394B (zh) | 一种资源分配方法、装置及设备 | |
US8364874B1 (en) | Prioritized polling for virtual network interfaces | |
CN108268317B (zh) | 一种资源分配方法及装置 | |
JP5463437B2 (ja) | システムリソースの再割当てを管理するための方法および装置 | |
US20220156115A1 (en) | Resource Allocation Method And Resource Borrowing Method | |
US8095700B2 (en) | Controller and method for statistical allocation of multichannel direct memory access bandwidth | |
US20180095800A1 (en) | Method and device for allocating core resources of a multi-core cpu | |
JP2005536791A (ja) | 動的多重レベルタスク管理方法及び装置 | |
US8918791B1 (en) | Method and system for queuing a request by a processor to access a shared resource and granting access in accordance with an embedded lock ID | |
CN113238848A (zh) | 一种任务调度方法、装置、计算机设备和存储介质 | |
US8213461B2 (en) | Method of designating slots in a transmission frame for controlling transmission of data over an interconnect coupling a plurality of master units with a plurality of slave units | |
CN113535634B (zh) | 电子装置及用于频宽分配的方法 | |
US20130042252A1 (en) | Processing resource allocation within an integrated circuit | |
US7065595B2 (en) | Method and apparatus for bus access allocation | |
US7363407B2 (en) | Concurrent arbitration of multidimensional requests for interrupt resources | |
CN111597034B (zh) | 处理器资源调度方法、装置、终端设备及计算机存储介质 | |
KR100973419B1 (ko) | 버스 중재 방법 및 장치 | |
CN109101443B (zh) | 一种权重分时的仲裁装置及方法 | |
US20210081251A1 (en) | Method for accessing shared resources of a computer platform, associated computer program and computer platform | |
CN109062702B (zh) | 一种计算资源分配方法、相关装置及可读存储介质 | |
CN107370691B (zh) | 一种资源访问方法和终端 | |
CN117708008A (zh) | 基于计数器的轮询仲裁方法及装置 | |
JP2013041361A (ja) | リソース調停システム及び調停方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |