CN114756491B - 一种基于群体决策算法的总线仲裁器及其实现方法 - Google Patents
一种基于群体决策算法的总线仲裁器及其实现方法 Download PDFInfo
- Publication number
- CN114756491B CN114756491B CN202210413310.0A CN202210413310A CN114756491B CN 114756491 B CN114756491 B CN 114756491B CN 202210413310 A CN202210413310 A CN 202210413310A CN 114756491 B CN114756491 B CN 114756491B
- Authority
- CN
- China
- Prior art keywords
- bus
- arbiter
- host
- algorithm
- group decision
- 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/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/368—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明具体涉及一种基于群体决策算法的总线仲裁器及其实现方法,具有仲裁公平性好、总线利用率高的特点,属于总线仲裁器和仲裁方法领域。通信架构正在成为多主机互连系统的瓶颈,高效的仲裁器能够解决互连总线系统中由于多个主机同时请求访问而引起的争用现象。本发明引入Borda数的概念,将多种仲裁机制的优势结合,得出新的优先级序列。相较于固定优先级仲裁,它可以快速满足经常需要占用总线主机的响应。相较于轮询仲裁,它可以减少常访问总线的主机一半的等待时间,以避免多主机环境中的饥饿问题。与经典的总线仲裁算法相比,群体决策算法不仅考虑了多种优先级的综合优势,还保证了一定的公平性和更合理的总线利用率,具有一定的优越性。
Description
技术领域
本发明涉及一种总线仲裁器及其实现方法,基于群体决策算法实现,具有仲裁公平性好、总线利用率高的特点,属于总线仲裁器和仲裁方法领域。
背景技术
计算机总线是一种连接计算机各组件的硬件电路,它提供数据传输和控制的逻辑方式,并能规范化进行数据交换。计算机中主要有三种类型的总线:数据线、地址线和控制线。数据线允许数据在设备之间流动;地址线则告诉设备数据的来源和去处;而控制总线协调各种设备之间的活动,以防止出现数据冲突。本发明提出了一种新的总线仲裁器实现方法。并以目前广泛应用的AHB总线作为范例进行了验证。该发明同样适用于需要仲裁的其它通用计算机总线。
AMBA总线协议定义了片上通信的标准,是开发高性能嵌入式系统的有效工具。由于ARM的AMBA总线简单,吸引了众多IP设计者,AMBA总线的良好架构也适用于低功耗嵌入式系统。AMBA规范定义了三种不同的总线拓扑结构:高级高性能总线(AHB)、高级系统总线(ASB)和高级外设总线(APB)。
AHB协议是一种单时钟沿协议,最早的AMBA总线由ASB和APB构成,而在第二个版本AMBA 2中增加了AHB协议。作为高性能、高时钟频率的系统模块,AHB为主要的研究对象,其支持处理器、片上存储器和片外存储器接口之间的高效连接。
目前常用的总线仲裁算法包括:固定优先级算法、轮询算法、混和优先级算法和彩票仲裁算法等。其中固定优先级算法是按照特定序列响应请求;轮询算法是根据主机响应时间先后而重新依次排序的机制;混合优先级算法是将前面一部分主机,按固定优先级响应,其后的主机按轮询算法响应;彩票仲裁器是利用总线占用概率计算公式,拥有随机数号码的主机有最高优先级,被授予总线。
在AHB总线协议中,AHB总线最多支持16个主机数量,且仲裁器确保一次只允许一个总线主设备发起数据传输。图2中AHB总线可以主要分解为以下几个模块:一个仲裁器20、一个解码器24、地址和控制信号21和一些用于读写操作的复用逻辑22和23。
发明内容
本发明结合常用的总线仲裁方法,针对应用广泛的AMBA AHB总线,提出并实现了一种新的AHB总线仲裁器,它基于群体决策的数学机理,并引入Borda数的概念,将多种仲裁机制的优势结合,得出新的优先级序列。
本发明的具体实现步骤1和步骤2如图1所示,在函数表示方面为S10,在算法实现方面为S11,具体内容包括:
S101,基于Python的Pandas数据分析运算库,搭建库的运算环境,对群体决策算法进行了表示。
根据若干人对某些对象的决策结果,综合出这个群体的决策结果的过程称为群体决策。把根据每个人对评选对象所做的排序来确定这个群体对评选对象排序的决策过程,描述为一次选举。有若干选民和若干候选人,每个选民的一次投票是其按照一定的标准对各候选人优劣顺序的一次排序,而群体决策算法要根据所有选民的排序来确定选举结果,即一种最优排序。
S102,确定算法的固定系统参数,主要包括的主机个数和判决条件数等。用I=(1,2,…,n)表示选民,即判决条件集合,由m个字母构成的A=(x,y,u,v,…)表示候选人,即主机设备集合,选举要求每个选民i∈I对全体候选人的投票,即对A的一个排序,记作pi。所谓群体决策是根据pi(i=1,2,…,n)确定选举结果,即群体对A的排序,记作p。
S103,群体决策算法引入Borda数的概念:设Bi(x)为排序pi中劣于x的候选人数目,定义为x在选举中所得的分数,即Borda数。群体决策规则规定,当且仅当B(x)>B(y)时,x>y成立,~和<关系同理。用Borda数公式得出各主机在排序中所得分数,获得一个新的排列顺序。
S111,用Verilog实现仲裁器电路,使仲裁器负责根据当前总线仲裁机制与主机请求情况分配总线许可。
结合群体决策算法,图2中仲裁器20的结构如图3所示。本模块采用有限状态机设计,其中的初始化模块201使有限状态机进入初始状态。然后是状态控制模块203,其根据当前总线上16个主机的请求信号、主机是否准备好、当前优先级状态和当前授权访问总线HGRANT信号切换下一状态。最后是状态机模块202,其具体结构如图3所示。
在状态机模块中,仲裁器初始化后进入ST_READY状态41,当总线上request信号不为0,即至少有一个主机请求总线的情况下,状态切换至ST_STAY状态42;在42状态下,若当前有主机发送访问请求但不是当前占用总线的主机,则保持当前42状态,若当前总线上主机无访问请求则切换为41状态。在41状态与42状态,若主机发送请求,根据当前优先级情况对相应主机进行授权。
S112,地址和控制复用器21负责根据仲裁器20分配的总线许可情况选定从机28或29进行读写操作。
S113,写数据复用器22根据仲裁器20分配的总线许可情况确定写数据驱动的从机。
S114,读数据复用器23和解码器24中的解码器根据地址总线确定主机ID完成从机读数据到主机25、26或27的传输。
S115,用VCS编译仿真,Verdi查看波形,利用Design Compiler完成综合。本发明群体决策算法与固定优先级和轮询算法相比较的总线利用率条形图如图5所示,可见本发明具有仲裁公平性好、总线利用率高的特点。
本发明的优点主要包括:
在这个新的仲裁器中,将固定优先级、轮询和混合优先级仲裁器算法这三者优势相结合,得出了新的优先级序列;
它可以快速满足经常需要占用总线主机的响应,且可以减少常访问总线的主机一半的等待时间,以避免多主机SoC环境中的饥饿问题;
群体决策机制以面积和功耗为代价,实现了仲裁机制中多主机请求获得总线可以在一定时间内获得响应的功能,即多主机请求的情况下不会总是响应某一优先级的请求,使得其余主机无法获得总线处理数据完成请求;
与经典的总线仲裁算法相比,群体决策算法不仅考虑了多种优先级的综合优势,还保证了一定的公平性和更合理的总线占用率,具有一定的优越性;
本发明基于常用的Pandas库实现,具有良好通用性;
本发明方法不仅在软件上对底层算法进行实现,易于更改,而且在硬件实现上有可实现性;
附图说明
图1为本发明基于群体决策算法的总线仲裁器实现步骤;
图2为AHB总线结构图;
图3为本发明群体决策总线仲裁器电路图;
图4为本发明群体决策总线仲裁器状态机模块图;
图5为本发明群体决策算法与固定优先级和轮询算法相比较的总线利用率条形图。
具体实施方式
以下结合附图对本发明的整体运算和硬件实现进行详细说明:
运算方面:1)首先,具体有如下的一次选举:I=(1,2,3),A=(x,y,u,v),投票结果为p1:x>y>u~v,p2:y>x>u>v,p3:x~u>v>y;
2)然后,在给出的投票结果中B1(x)=3,B2(x)=2,B3(x)=2,B(x)=7;同样可得B(y)=5,B(u)=3,B(v)=1。于是按群体决策GD规则得到的选举结果为p:x>y>u>v;
3)将现有固定优先级算法FP、轮询算法RR和混合优先级算法MP视为三次投票结果,即选民集合为I=(FP,RR,MP),三次投票结果为pFP,pRR和pMP;
4)假设主机个数为n,即候选人集合为n个元素的A=(x,y,u,v,…)。在当前占用主机为M0时,统计求和后的投票结果B(0)(x),B(0)(y),B(0)(u),B(0)(v),…,并按数值大小的降序排序后得到新的序列p(0);
5)同理在当前占用主机为Mn时,统计投票结果,在排序后得到新的序列p(n)。当主机数为8、6、4、2时,采用群体决策算法,分别得到的新的优先级序列如表1所示。
表1
硬件实现方面:以16个主机的AHB总线为例,使用Verilog语言实现群体决策AHB总线仲裁器如图3所示。其初始化后进入ST_READY状态,当总线上至少有一个主机请求总线的情况下,状态切换至ST_STAY。主机优先级变化规律如图4中ST_STAY状态所示。可见群体仲裁优先级按照类似轮询的方式递进变化,但是高低优先级交错排序,尽可能使发送请求的主机获得及时响应。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述提出的方法和技术内容对本发明技术方案做出一些可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
Claims (5)
1.一种基于群体决策算法总线仲裁器的实现方法,其特征在于,包括如下软件获取排序的步骤:
1)在Pycharm平台下搭建适合Pandas数据分析运算库运算的环境;
2)算法的运算基于固定的系统参数,包括有主机个数,判决条件个数及Borda数;
3)首先计算固定优先级,其序列pFP按固定的顺序排序;
4)其次计算轮询优先级,其序列pRR按照长时间未得到响应者先响应的规则循环排序;
5)再者计算混合优先级pMP,将首个主机作为固定最优响应,其余主机按轮询序列排序;
2.按照权利要求1所述的一种基于群体决策算法总线仲裁器的实现方法,其特征在于,采用的群体决策算法中的判决条件可根据实际需求增添或删减。
3.按照权利要求1所述的一种基于群体决策算法总线仲裁器的实现方法,其特征在于,所述的仲裁器采用AMBAAHB接口标准,AHB总线最多支持16个主机数量,且仲裁器确保一次只允许一个总线主设备发起数据传输。
4.一种根据权利要求1所述的一种基于群体决策算法总线仲裁器的实现方法,其特征在于,包括如下硬件电路实现步骤:
1)用Verilog实现仲裁器电路,使仲裁器负责根据当前总线仲裁机制与主机请求情况分配总线许可;
2)地址和控制复用器负责根据仲裁器分配的总线许可情况选定从机进行读写操作;
3)写数据复用器根据仲裁器分配的总线许可情况确定写数据驱动的从机;
4)读数据复用器和译码器中的译码器根据地址总线确定主机ID完成从机读数据到主机的传输;
5)用VCS编译仿真,Verdi查看波形,利用Design Compiler完成综合。
5.根据权利要求4所述的一种基于群体决策算法总线仲裁器的实现方法,其特征在于:其算法理论是群体决策理论,其内部采用了基于群体决策的AHB总线仲裁电路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210413310.0A CN114756491B (zh) | 2022-04-20 | 2022-04-20 | 一种基于群体决策算法的总线仲裁器及其实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210413310.0A CN114756491B (zh) | 2022-04-20 | 2022-04-20 | 一种基于群体决策算法的总线仲裁器及其实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114756491A CN114756491A (zh) | 2022-07-15 |
CN114756491B true CN114756491B (zh) | 2023-06-20 |
Family
ID=82332053
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210413310.0A Active CN114756491B (zh) | 2022-04-20 | 2022-04-20 | 一种基于群体决策算法的总线仲裁器及其实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114756491B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115129645B (zh) * | 2022-08-31 | 2023-01-24 | 苏州浪潮智能科技有限公司 | 一种基于总线的事务处理方法、系统、存储介质及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101206626A (zh) * | 2006-12-18 | 2008-06-25 | 奇梦达北美公司 | 对共用总线进行控制的方法和设备 |
CN109658257A (zh) * | 2018-10-25 | 2019-04-19 | 平安科技(深圳)有限公司 | 仲裁判决的处理方法、装置、设备及可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103077141B (zh) * | 2012-12-26 | 2015-08-26 | 西安交通大学 | 一种基于amba总线的自适应实时加权优先仲裁方法及仲裁器 |
US11531975B2 (en) * | 2018-04-13 | 2022-12-20 | International Business Machines Corporation | Network node management on a blockchain |
US10740269B2 (en) * | 2018-07-17 | 2020-08-11 | Arm Limited | Arbitration circuitry |
-
2022
- 2022-04-20 CN CN202210413310.0A patent/CN114756491B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101206626A (zh) * | 2006-12-18 | 2008-06-25 | 奇梦达北美公司 | 对共用总线进行控制的方法和设备 |
CN109658257A (zh) * | 2018-10-25 | 2019-04-19 | 平安科技(深圳)有限公司 | 仲裁判决的处理方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114756491A (zh) | 2022-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5621897A (en) | Method and apparatus for arbitrating for a bus to enable split transaction bus protocols | |
EP0450233B1 (en) | Bus access for digital computer system | |
KR960012357B1 (ko) | 자원의 이용가능도에 의거한 아비트레이션 방법 및 장치 | |
EP0706137B1 (en) | Queued arbitration mechanism for data processing system | |
EP0159592B1 (en) | Distributed arbitration for multiple processors | |
US5996037A (en) | System and method for arbitrating multi-function access to a system bus | |
US6976108B2 (en) | System on a chip having a system bus, an external bus, and a bus arbiter with programmable priorities for both buses, software, and method for assigning programmable priorities | |
EP1851641B1 (en) | Switch matrix system with plural bus arbitrations per cycle via higher-frequency arbiter | |
US20020161978A1 (en) | Multi-service system-on-chip including on-chip memory with multiple access path | |
US20070038791A1 (en) | Non-blocking address switch with shallow per agent queues | |
EP0676699A2 (en) | Method of managing resources shared by multiple processing units | |
US20080288689A1 (en) | Opportunistic granting arbitration scheme for fixed priority grant counter based arbiter | |
GB2216368A (en) | Bus arbitration method and apparatus | |
US6996684B2 (en) | Multiple-grant controller with parallel arbitration mechanism and related method | |
EP0358716A1 (en) | NODE FOR SUPPORTING INTERRUPTION REQUEST MESSAGES ON A BUS ON HOLD. | |
US6628662B1 (en) | Method and system for multilevel arbitration in a non-blocking crossbar switch | |
US7065594B2 (en) | Method and apparatus of allocating minimum and maximum bandwidths on a bus-based communication system | |
Shrivastava et al. | Various arbitration algorithm for on-chip (AMBA) shared bus multi-processor SoC | |
CN114756491B (zh) | 一种基于群体决策算法的总线仲裁器及其实现方法 | |
JPH0635729A (ja) | データ処理システムでの複数ユーザによる資源アクセスを管理する方法および装置 | |
US20040267992A1 (en) | Look ahead split release for a data bus | |
US7065595B2 (en) | Method and apparatus for bus access allocation | |
US20030229743A1 (en) | Methods and structure for improved fairness bus arbitration | |
US6430640B1 (en) | Self-arbitrating, self-granting resource access | |
US5822549A (en) | Computer system and bus controller for controlling access to a computer bus |
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 |