CN117951061A - 一种多通道数据总线的仲裁方法 - Google Patents

一种多通道数据总线的仲裁方法 Download PDF

Info

Publication number
CN117951061A
CN117951061A CN202410144232.8A CN202410144232A CN117951061A CN 117951061 A CN117951061 A CN 117951061A CN 202410144232 A CN202410144232 A CN 202410144232A CN 117951061 A CN117951061 A CN 117951061A
Authority
CN
China
Prior art keywords
host
data
channel
arbitration
data channel
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
Application number
CN202410144232.8A
Other languages
English (en)
Inventor
胡绍刚
储磊
刘益安
周莆钧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing Institute Of Microelectronics Industry Technology University Of Electronic Science And Technology
Chongqing University of Post and Telecommunications
Original Assignee
Chongqing Institute Of Microelectronics Industry Technology University Of Electronic Science And Technology
Chongqing University of Post and Telecommunications
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 Chongqing Institute Of Microelectronics Industry Technology University Of Electronic Science And Technology, Chongqing University of Post and Telecommunications filed Critical Chongqing Institute Of Microelectronics Industry Technology University Of Electronic Science And Technology
Priority to CN202410144232.8A priority Critical patent/CN117951061A/zh
Publication of CN117951061A publication Critical patent/CN117951061A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

本发明属于片上总线技术领域,具体涉及一种多通道数据总线的仲裁方法,总线系统采用共享型总线互联桥接主机与从机,读写数据通道由多个双向数据通道组成,当两个主机同时发起数据传输请求时需要进行数据仲裁,进行数据仲裁的过程包括:利用仲裁器对发起请求信号的主机进行仲裁,确定每个主机的优先级;为优先级最高的主机所需数据带宽为该主机分配双向数据通道,并在分配的数据通道上进行数据传输;在下一个时刻,判断剩余的双向数据通道是否满足次高优先级的主机所需数据带宽,若满足则为该主机分配所需数据通道,并在分配的数据通道上进行数据传输,否则等待最高优先级的主机完成数据传输并释放占据的双向数据通道后,再根据该主机数据带宽为该主机分配所需数据通道;本发明结合传统仲裁算法,设计了数据通道仲裁,能够高效地完成数据通道仲裁。

Description

一种多通道数据总线的仲裁方法
技术领域
本发明属于片上总线技术领域,具体涉及一种多通道数据总线的仲裁方法。
背景技术
在片上总线技术中,包含总线协议,总线互联和总线仲裁。总线协议对总线的信号、时序、传输方式等进行定义,常见的总线协议有AMBA协议、CoreConnect协议、Wishbone协议等。不同的总线协议对地址和数据通道有不同的定义方式,在同一套总线协议下,各个模块接口统一,模块间采用同一套通信标准,降低了设计复杂度,缩短了整个SoC的设计周期。总线互联对主从机的连接方式进行定义,常见的总线互联有点对点型互联、crossbar型互联、共享型互联等,不同的互联方式在片上总线系统中有着不同的传输效率和资源占用。总线仲裁对主从机访问顺序进行划分,在大型片上总线系统中,往往存在众多主机和从机,同时每一个主机和从机都存在多种的传输模式,总线仲裁保证了各个主从机有序地进行数据传输和总线带宽的最大化利用。好的仲裁算法需要兼具公平性和优先性,仅考虑一方面会造成总线带宽的浪费和总线传输效率的降低。在整个片上总线系统中,总线仲裁起着至关重要的作用。
传统的总线仲裁方式有以下几种:
1.固定优先级仲裁算法:固定优先级仲裁算法是最基础的一种仲裁算法,该算法对每个主机分配一个固定的优先级,仲裁器根据优先级顺序进行仲裁,高优先级的主机先进行数据传输,低优先级的主机需要等待高优先级主机传输完成后,再进行数据传输。这种优先级算法体现了仲裁算法中的优先性,但是不能体现公平性,能容易造成最低优先级的设备“饿死”。
2.轮询仲裁算法:该仲裁算法通过不断地依次询问各个主机是否有请求,如果有请求就处理该请求,如果没有请求就跳转到下一个主机继续询问,该算法可以很好地满足主设备之间地公平性,防止某些主设备“饿死”,但该仲裁算法没有考虑到仲裁算法中的优先性,对于一些传输快速的主机,该仲裁算法不能很好地进行仲裁,这大大影响了整个片上总线系统的传输效率。
3.彩票仲裁算法:彩票仲裁算法的目标是让主机占用总线的带宽比和需求的带宽比一致,通过调节彩票分配比来调节总线占用带宽比。该仲裁算法从带宽比的角度对主机进行仲裁,能够很好地兼顾公平性和优先性,但该算法所耗费的硬件资源更大,在紧凑化和低功耗系统中发展受限。
传统的总线仲裁算法只针对设备进行仲裁,设备默认占用去全部数据通道,但在多数据通道的总线系统中,需要根据设备的数据位宽进行数据通道分配,传统的仲裁算法无法实现数据通道的仲裁。
发明内容
为了在多数据通道总线系统中完成仲裁,本发明提出一种多通道数据总线的仲裁方法,总线系统采用共享型总线互联桥接主机与从机,读写数据通道由多个双向数据通道组成,当两个主机同时发起数据传输请求时需要进行数据仲裁,进行数据仲裁的过程包括:
利用仲裁器对发起请求信号的主机进行仲裁,确定每个主机的优先级;
为优先级最高的主机所需数据带宽为该主机分配双向数据通道,并在分配的数据通道上进行数据传输;
在下一个时刻,判断剩余的双向数据通道是否满足次高优先级的主机所需数据带宽,若满足则为该主机分配所需数据通道,并在分配的数据通道上进行数据传输,否则等待最高优先级的主机完成数据传输并释放占据的双向数据通道后,再根据该主机数据带宽为该主机分配所需数据通道。
进一步的,读写数据通道包括N个独立的Mbits双向数据通道,Mbits数据通道之间进行任意整合传输,实现最大N×Mbits的数据传输。
作为一种可选的实施方式,读写数据通道包括8个独立的4bits双向数据通道,4bits数据通道之间进行任意整合传输,实现最大32bits的数据传输。
进一步的,主机i在向仲裁器发起仲裁请求时,同时发送数据传输宽度信息,仲裁器为主机i分配双向数据通道,并将双向数据通道分配信息发送给主机i。
进一步的,双向数据通道分配信息为N位二进制信息,每一位表示一个双向数据通道,当该位为1时表示将对应的双向数据通道处于忙碌状态,当该位为0时表示将对应的双向数据通道处于空闲状态。
进一步的,采用固定优先级算法、轮询仲裁算法或者彩票仲裁算法对发起请求信号的主机进行仲裁,确定每个主机的优先级。
进一步的,总线系统中包括多个主机及其对应的主机转换器、多个从机及其对应的从机转换器、互联模块以及仲裁器,其中:主机转换器用于桥接主机和互联模块,并根据仲裁器发送的仲裁信息控制主机发送信息时数据通道的选择;互联模块用于桥接主机转换器和从机转换器;从机转换模块用于桥接互联模块与从机;仲裁器连接所有主机转接器,用于仲裁各个主机转接器的仲裁请求,包括仲裁主机的优先级以及主机数据传输所占用的数据通道。
进一步的,总线系统中主机和从机通过互联模块实现数据传输,互联模块除了读写数据通道外还包括地址通道、控制信息通道和响应通道,其中地址通道、控制信息通道用于主机向从机发送地址信息和控制信息,响应通道用于从机向主机反馈响应信息。
进一步的,地址通道传输带宽为32bit、控制信息通道传输带宽为32bit和响应通道传输带宽为4bit。
本发明结合传统仲裁算法,设计了数据通道仲裁,能够高效地完成数据通道仲裁,传统的总线仲裁算法只针对设备进行仲裁,设备默认占用去全部数据通道,但在多数据通道的总线系统中,需要根据设备的数据位宽进行数据通道分配,传统的仲裁算法无法实现数据通道的仲裁。
附图说明
图1为现有技术中AXI总线架构;
图2为本发明提出的多数据通道的总线系统;
图3为本发明提出的多数据通道总线系统的仲裁示意图;
图4为本发明一种多通道数据总线的仲裁方法的一种实施方式;
图5为本发明一种多通道数据总线的仲裁方法的另一种实施方式。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提出一种多通道数据总线的仲裁方法,总线系统采用共享型总线互联桥接主机与从机,读写数据通道由多个双向数据通道组成,当两个主机同时发起数据传输请求时需要进行数据仲裁,进行数据仲裁的过程包括:
利用仲裁器对发起请求信号的主机进行仲裁,确定每个主机的优先级;
为优先级最高的主机所需数据带宽为该主机分配双向数据通道,并在分配的数据通道上进行数据传输;
在下一个时刻,判断剩余的双向数据通道是否满足次高优先级的主机所需数据带宽,若满足则为该主机分配所需数据通道,并在分配的数据通道上进行数据传输,否则等待最高优先级的主机完成数据传输并释放占据的双向数据通道后,再根据该主机数据带宽为该主机分配所需数据通道。
如图1,在传统的AXI总线架构中主机(Master interface)和从机(Slaveinterface)之间设置有5个数据通道,分别为读地址通道(Read address channel)、读数据通道(Read data channel)、写地址通道(Write address channel)、写数据通道(Writedata channel)、响应通道(Response channel),五个通道彼此独立,能够实现主机的全双工通信,其中读写数据通道在使用时是作为一个整体分配给相应主机,当主机进行窄传输时,没有传输数据的数据通道将会被占用,造成资源的浪费。
针对现有技术中的问题,本发明提出如图2所示的总线系统,该总线系统采用共享型总线互联桥接主机与从机,总线系统中包括多个主机及其对应的主机转换器、多个从机及其对应的从机转换器、互联模块以及仲裁器,其中:
主机转换器用于桥接主机和互联模块,并根据仲裁器发送的仲裁信息控制主机发送信息时数据通道的选择;在实施过程中,主机转接器根据实际主机的控制信息以及仲裁器返回的仲裁信息对实际主机发送的Nbits数据进行数据通道分配,同时该主机转接器模块通过简单的握手协议与实际主机进行通信,简化总线时序,减少其他模块接口时序的开发难度;
互联模块用于桥接主机转换器和从机转换器;互联模块采用共享型的互联结构构建总线系统中的32bits双向数据传输通道(由8个4bits的双向数据通道组成,8个之间可以任意组合实现最大32bits的数据传输)、32bits地址传输通道、32bits控制信息传输通道以及8bits响应传输通道
从机转换模块用于桥接互联模块与从机,从机转接器根据控制信息对相应的数据通道上的数据进行接收以及发送,同时采用简单的握手协议实现实际从机与从机转接器的交互,简化总线时序,减少其他模块接收时序的开发难度;
仲裁器连接所有主机转接器,用于仲裁各个主机转接器的仲裁请求,由于传统仲裁方式只能以通道为整体进行授权,即当主机要进行8bits数据传输时,仲裁器会将32bits的数据通道整个授权给某个主机,照成了数据通道带宽的浪费,本发明将传统的32bits的数据通道拆分为8个,可以通过8个4bits的数据通道进行组合实现最大32bits位宽的数据通道,所以仲裁器除了根据优先级完成主机的仲裁,还需要对8个数据通道进行仲裁。
其中读写数据通道采用双向数据通道构成,同时将传统的32bits的数据通道拆分成8个4bits的双向数据通道用于数据传输,每个独立的4bits数据通道之间可以任意整合传输,实现最大32bits的数据传输,仲裁器对所有的4bits数据通道进行仲裁,同时对主机传输顺序进行仲裁。
在如图2所示的总线系统中,本发明提出如图3所示的仲裁方法,在此方法下,主机的仲裁请求首先经过传统仲裁算法进行主机仲裁,选取优先级高的主机进入下一步仲裁,在接下来的仲裁过程中,仲裁器根据主机的数据传输位宽和数据通道的状态为主机动态分配数据传输通道,最后仲裁器返回仲裁结果给对应主机,完成整个仲裁过程。
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明最终在VCS平台上进行仿真验证,仲裁器对主机m0和主机m1进行仲裁,同时根据主机的数据宽度对8条4bits的数据通道进行仲裁。
如图3,本发明在传统仲裁器仲裁处主机之间的优先级之后,仲裁器根据当前通道状态,以及主机的优先级从高到低依次为主机分配数据传输通道,若高优先级分配完成后的剩余通道可以满足低优先级主机的需求,则在高优先级完成分配后的下一实际将数据通道分配给低优先级主机,否则低优先级主机需要等高优先级主机完成数据传输并释放占用的数据通道后,由仲裁器为其分配数据传输的通道。
实施例1
在本实施例中,双向数据通道由8条4bits双向数据通道(总共32bits)的数据通道不能同时满足主机m0和主机m1的传输请求,并且主机m0的优先级高于主机m1,即优先级低的主机m1需要等待优先级高的主机m0先完成数据传输,再进行数据通道仲裁分配,在本实施例中,clk为时钟信号,rst_n为复位信号,mi_req为主机mi发送的仲裁请求信号,mi_data_size为主机mi发送的其所需的数据位宽信息,mi_grant为仲裁信息,即仲裁器为主机mi分配的通道数据,该仲裁信息为一个与通道数匹配的二进制信息,当第i位为1时表示将第i个数据通道分配给收到信息的主机,mi_grant_valid为授权信息有效的标志位,当该信号被拉高的时候表示当前发送的仲裁信息有效,且当该标志位经过一次拉高再被拉低后,表示完成仲裁请求,当完成冲裁时仲裁请求标志位被拉低,mi_state为主机mi的通道状态,收到仲裁信息后,主机mi开始进行数据传输,数据传输时通道状态为data trans,如图4,具体包括以下步骤:
在T2时刻,主机m0和主机m1同时向仲裁器发起仲裁请求,拉高m0_req和m1_req,同时向仲裁器发送主机m0的数据传输宽度信息(m0_data_size)和主机m1的数据传输宽度信息(m1_data_size),如图4,本实施例中当拉高m0_req和m1_req表示主机发送仲裁请求信息,主机m0请求的数据通道的size为16bit,在本实施例中,一个数据通道的位宽为4bit,因此需要为主机m0分配4个数据通道;
仲裁器接收到仲裁请求和数据传输宽度信息后,根据传统仲裁算法确定主机m0和主机m1设备的优先级顺序,在此实施例中,主机m0的设备优先级顺序大于主机m1的设备优先级顺序;
在T3时刻,由于8个4bits的数据通道都处于空闲状态,所以仲裁器为主机m0分配数据总线资源,将4个4bits的数据通道分配给主机m0,并在此时刻拉高m0_grant_valid信号,返回m0_grant(00001111)信号,代表0-3号数据通道分配给主机m0使用,在T4时刻完成主机m0主机仲裁信息返回,主机m0拉低m0_req和m0_data_size;
此时系统中剩余的4个4bits的数据通道无法匹配主机m1的传输位宽,主机m1的仲裁请求(mi_req)将一直拉高,主机m1的数据传输位宽信息将一直保持,在T15时刻时,主机m0完成了数据传输,并将原本的4个4bits的数据通道释放,此时,仲裁器开始对主机m1的传输请求进行仲裁,将8个4bits的数据通道全部分配给主机m1进行传输,并拉高m1_grant_valid信号,返回m0_grant(11111111)信号,代表0-7号数据通道分配给主机m1使用;
主机m1在T22时刻完成数据传输,释放0-7号数据通道。
实施例2
在本实施例中,双向数据通道由8条4bits双向数据通道(总共32bits)的数据通道能同时满足主机m0和主机m1的传输请求,并且主机m0的优先级高于主机m1,仲裁器完成高优先级的主机的数据通道分配后,下一个时钟便可以完成低优先级主机的数据通道分配,高优先级主机和低优先级主机在数据通道上并行传输,如图5,具体包括以下步骤:
在T2时刻,主机m0和主机m1同时向仲裁器发起仲裁请求,拉高m0_req和m1_req,同时向仲裁器发送主机m0的数据传输宽度信息(m0_data_size)和主机m1的数据传输宽度信息(m1_data_size);
仲裁器接收到仲裁请求和数据传输宽度信息后,根据传统仲裁算法确定主机m0和m1设备的优先级顺序,在此实施例中,主机m0的设备优先级顺序大于主机m1的设备优先级顺序;
在T3时刻,由于8个4bits的数据通道都处于空闲状态,所以仲裁器为主机m0分配数据总线资源,将4个4bits的数据通道分配给主机m0,并在此时刻拉高m0_grant_valid信号,返回m0_grant(00001111)信号,代表0-3号数据通道分配给主机m0使用;
在T4时刻,由于4个4bits的数据通道能够满足主机m1的传输请求,所以仲裁器为主机m1分配数据总线资源,将4个4bits的数据通道分配给主机m1,并在此时拉高m1_grant_valid信号,返回m1_grant(11110000)信号,代表4-7号数据通道分配给主机m1使用;
在T15时刻,主机m0完成数据传输,释放0-3号数据通道;
在T16时刻,主机m1完成数据传输,释放4-7号数据通道。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (9)

1.一种多通道数据总线的仲裁方法,其特征在于,总线系统采用共享型总线互联桥接主机与从机,读写数据通道由多个双向数据通道组成,当两个主机同时发起数据传输请求时需要进行数据仲裁,对多个数据总线通道进行仲裁,进行数据仲裁的过程包括:
利用仲裁器对发起请求信号的主机进行仲裁,确定每个主机的优先级;
为优先级最高的主机所需数据带宽分配双向数据通道,并在分配的数据通道上进行数据传输;
在下一个时刻,判断剩余的双向数据通道带宽是否满足次高优先级的主机所需数据带宽,若满足则为该主机分配所需数据通道,并在分配的数据通道上进行数据传输,否则等待最高优先级的主机完成数据传输并释放占据的双向数据通道后,再根据该主机数据带宽为该主机分配所需数据通道。
2.根据权利要求1所述的一种多通道数据总线的仲裁方法,其特征在于,读写数据通道包括N个独立的Mbits双向数据通道,Mbits数据通道之间进行任意整合传输,实现最大N×Mbits的数据传输。
3.根据权利要求2所述的一种多通道数据总线的仲裁方法,其特征在于,读写数据通道包括8个独立的4bits双向数据通道,4bits数据通道之间进行任意整合传输,实现最大32bits的数据传输。
4.根据权利要求1所述的一种多通道数据总线的仲裁方法,其特征在于,主机i在向仲裁器发起仲裁请求时,同时发送数据传输宽度信息,仲裁器为主机i分配双向数据通道,并将双向数据通道分配信息发送给主机i。
5.根据权利要求4所述的一种多通道数据总线的仲裁方法,其特征在于,双向数据通道分配信息为N位二进制信息,每一位表示一个双向数据通道,当该位为1时表示将对应的双向数据通道处于忙碌状态,当该位为0时表示将对应的双向数据通道处于空闲状态。
6.根据权利要求1所述的一种多通道数据总线的仲裁方法,其特征在于,采用固定优先级算法、轮询仲裁算法或者彩票仲裁算法对发起请求信号的主机进行仲裁,确定每个主机的优先级。
7.根据权利要求1所述的一种多通道数据总线的仲裁方法,其特征在于,总线系统中包括多个主机及其对应的主机转换器、多个从机及其对应的从机转换器、互联模块以及仲裁器,其中:主机转换器用于桥接主机和互联模块,并根据仲裁器发送的仲裁信息控制主机发送信息时数据通道的选择;互联模块用于桥接主机转换器和从机转换器;从机转换模块用于桥接互联模块与从机;仲裁器连接所有主机转接器,用于仲裁各个主机转接器的仲裁请求,包括仲裁主机的优先级以及主机数据传输所占用的数据通道。
8.根据权利要求7所述的一种多通道数据总线的仲裁方法,其特征在于,总线系统中主机和从机通过互联模块实现数据传输,互联模块除了读写数据通道外还包括地址通道、控制信息通道和响应通道,其中地址通道、控制信息通道用于主机向从机发送地址信息和控制信息,响应通道用于从机向主机反馈响应信息。
9.根据权利要求8所述的一种多通道数据总线的仲裁方法,其特征在于,地址通道传输带宽为32bit、控制信息通道传输带宽为32bit和响应通道传输带宽为4bit。
CN202410144232.8A 2024-01-31 2024-01-31 一种多通道数据总线的仲裁方法 Pending CN117951061A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410144232.8A CN117951061A (zh) 2024-01-31 2024-01-31 一种多通道数据总线的仲裁方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410144232.8A CN117951061A (zh) 2024-01-31 2024-01-31 一种多通道数据总线的仲裁方法

Publications (1)

Publication Number Publication Date
CN117951061A true CN117951061A (zh) 2024-04-30

Family

ID=90802710

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410144232.8A Pending CN117951061A (zh) 2024-01-31 2024-01-31 一种多通道数据总线的仲裁方法

Country Status (1)

Country Link
CN (1) CN117951061A (zh)

Similar Documents

Publication Publication Date Title
US5623672A (en) Arrangement and method of arbitration for a resource with shared user request signals and dynamic priority assignment
EP0706137B1 (en) Queued arbitration mechanism for data processing system
CN100595744C (zh) 芯片上系统集成电路、电子系统及在其内传送数据的方法
US7305510B2 (en) Multiple master buses and slave buses transmitting simultaneously
RU2370807C2 (ru) Система матричных переключателей с множественными арбитражами шины в каждом цикле посредством устройства арбитража с повышенной частотой
US7275119B2 (en) Early detection and grant, an arbitration scheme for single transfers on AMBA advanced high-performance bus
EP1027657A1 (en) A fully-pipelined fixed-latency communications system with a real-time dynamic bandwidth allocation
KR20050082834A (ko) 복수의 마스터들을 포함하는 서브 시스템을 개방형 코어프로토콜을 기반으로 하는 버스에 연결하기 위한 버스시스템
US20030156597A1 (en) Method and apparatus for speculative arbitration
EP1653370B1 (en) Bus controller
US20050060455A1 (en) Arbiter having programmable arbitration points for undefined length burst accesses and method
CA2527428A1 (en) System for allocating minimum and maximum bandwidths
CN115454897A (zh) 一种改善处理器总线仲裁机制的方法
CN116028413A (zh) 一种总线仲裁器、总线仲裁的方法、装置及介质
US6430640B1 (en) Self-arbitrating, self-granting resource access
US20080195782A1 (en) Bus system and control method thereof
CN117951061A (zh) 一种多通道数据总线的仲裁方法
KR100973419B1 (ko) 버스 중재 방법 및 장치
CN115269467B (zh) 一种总线仲裁的方法、装置、存储介质及电子设备
KR20220102160A (ko) 패킷 전송을 위한 스위치, 그것을 갖는 네트워크 온 칩, 및 그것의 동작 방법
KR100487218B1 (ko) 칩 내장형 버스를 인터페이스하기 위한 장치 및 방법
CN117806999A (zh) 一种位宽和通道可调的片上总线
JP4089126B2 (ja) 多重バス制御装置
CN115640245A (zh) 一种基于axi总线协议的dsp片上可扩展ebiu的方法和装置
KR100581196B1 (ko) 다중 채널을 제공하는 에스오씨 버스 구조

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination