一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于总线的仲裁方法、系统、存储介质及设备与流程

2022-02-19 02:27:52 来源:中国专利 TAG:


1.本发明涉及集成电路技术领域,尤其涉及一种基于总线的仲裁方法、系统、存储介质及设备。


背景技术:

2.随着集成电路的不断发展,对soc芯片(系统级芯片)的处理速度性能的要求越来越高。系统总线作为连接各个模块的中枢桥梁,对soc系统的性能起到重要影响,特别是在多个主设备和多个从设备的系统中,总线的仲裁机制将影响多路数据的读写效率,进而影响soc芯片的性能。
3.axi总线是arm公司提出的amba(advanced microcontroller bus architecture,高级微控制器总线架构)3.0协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线,可以满足新一代的soc系统对于多用户高性能低功耗的需求,目前已经得到了广泛的应用。
4.目前,axi总线的多用户仲裁方法主要包括以下几种方式:
5.(1)固定优先级,即各个主模块优先级的高低是确定的,不会随着系统的运行而改变。当多个主模块同时请求使用总线资源的时候,仲裁器会根据主模块优先级的高低而分配总线使用权。这种方法设计简单,但当高优先级的主模块一直在使用总线的时候,低优先级的主模块会得不到总线资源,从而造成低优先级的主模块指令无法生效。
6.(2)时分复用法,其主要是基于时间片的切换,其为每一个主设备占用总线资源指定固定长度的时间,当时间结束时将总线资源分配给另一个主设备。这种方法对时间片的划分要求很高,同时会存在较为严重的浪费,这是因为无论主设备是否发起请求,都必须在各自的时间片中等待固定的时间。


技术实现要素:

7.有鉴于此,本发明的目的在于提出一种基于总线的仲裁方法、系统、存储介质及设备,用以解决现有技术中总线使用权的分配机制不合理的问题。
8.基于上述目的,本发明提供了一种基于总线的仲裁方法,包括以下步骤:
9.将与总线连接的每个主设备和每个从设备之间分别形成传输通道,并基于预设的总仲裁权重为各传输通道分配初始仲裁权重;
10.响应于总线接收到一个传输通道的读或写的操作请求,将操作状态表中该传输通道的请求状态做标记,并响应于操作请求携带的保护信号为锁定信号或独占信号,在操作状态表中为与锁定信号对应的锁定状态或与独占信号对应的独占状态做标记;
11.查询操作状态表中是否存在具有标记的锁定状态或具有标记的独占状态;
12.响应于不存在具有该标记的锁定状态且不存在具有标记的独占状态,基于操作状态表中具有标记的请求状态对应的传输通道的初始仲裁权重以及总仲裁权重计算其仲裁权重范围;
13.采集与总线关联的随机数产生器产生的随机数,为随机数的值所在的仲裁权重范围对应的传输通道分配总线使用权,以使操作请求在对应的传输通道中传输。
14.在一些实施例中,方法还包括:
15.响应于操作状态表中存在具有标记的独占状态,为操作请求分配标记的独占状态对应的传输通道,以使操作请求在对应的传输通道中传输;
16.响应于操作请求在对应的传输通道中传输完成,将对应的独占状态的标记删除。
17.在一些实施例中,方法还包括:
18.响应于操作请求为读操作请求且操作状态表中存在用于记录读操作状态的具有标记的锁定状态,为读操作请求分配标记的锁定状态对应的传输通道,以使读操作请求在对应的传输通道中传输;
19.响应于读操作请求在对应的传输通道中传输完成,将对应的锁定状态的标记删除。
20.在一些实施例中,方法还包括:
21.响应于操作请求为写操作请求且操作状态表中存在用于记录读操作状态的具有标记的锁定状态,暂停对写操作请求的总线使用权分配。
22.在一些实施例中,基于操作状态表中具有标记的请求状态对应的传输通道的初始仲裁权重以及总仲裁权重计算其仲裁权重范围包括:
23.基于操作状态表中具有标记的请求状态对应的传输通道的初始仲裁权重计算实际总仲裁权重;
24.基于对应的传输通道的初始仲裁权重以及实际总仲裁权重和总仲裁权重计算其仲裁权重范围。
25.在一些实施例中,方法还包括:
26.响应于操作请求在对应的传输通道中传输完成,将操作状态表中对应的传输通道的请求状态的标记删除。
27.在一些实施例中,基于预设的总仲裁权重为各传输通道分配初始仲裁权重包括:
28.根据总线的使用环境中各传输通道的数据流量大小且基于预设的总仲裁权重为各传输通道分配初始仲裁权重。
29.本发明的另一方面,还提供了一种基于总线的仲裁系统,包括:
30.仲裁权重分配模块,配置用于将与总线连接的每个主设备和每个从设备之间分别形成传输通道,并基于预设的总仲裁权重为各传输通道分配初始仲裁权重;
31.标记模块,配置用于响应于总线接收到一个传输通道的读或写的操作请求,将操作状态表中传输通道的请求状态做标记,并响应于操作请求携带的保护信号为锁定信号或独占信号,在操作状态表中为与锁定信号对应的锁定状态或与独占信号对应的独占状态做标记;
32.查询模块,配置用于查询操作状态表中是否存在具有标记的锁定状态或具有标记的独占状态;
33.计算模块,配置用于响应于不存在具有标记的锁定状态且不存在具有标记的独占状态,基于操作状态表中具有标记的请求状态对应的传输通道的初始仲裁权重以及总仲裁权重计算其仲裁权重范围;以及
34.总线使用权分配模块,配置用于采集与总线关联的随机数产生器产生的随机数,为随机数的值所在的仲裁权重范围对应的传输通道分配总线使用权,以使操作请求在对应的传输通道中传输。
35.本发明的又一方面,还提供了一种计算机可读存储介质,存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述方法。
36.本发明的再一方面,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该计算机程序被处理器执行时执行上述方法。
37.本发明至少具有以下有益技术效果:
38.本发明通过构造亚稳态电路得到真随机数,根据实际的每个主设备的总线使用请求而动态分配仲裁权重范围,并且支持锁定(locked access)传输和独占传输(exclusive access),最终实现高效的基于总线使用权的仲裁机制,提高系统总线的利用率,进而提高整个soc芯片的性能。
附图说明
39.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
40.图1为根据本发明实施例提供的基于总线的仲裁方法的示意图;
41.图2为根据本发明实施例提供的总线连接两个主设备和从设备的结构示意图;
42.图3为根据本发明实施例提供的基于总线的仲裁系统的示意图;
43.图4为根据本发明实施例提供的实现基于总线的仲裁方法的计算机可读存储介质的示意图;
44.图5为根据本发明实施例提供的执行基于总线的仲裁方法的计算机设备的硬件结构示意图。
具体实施方式
45.为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
46.需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称的非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备固有的其他步骤或单元。
47.基于上述目的,本发明实施例的第一个方面,提出了一种基于总线的仲裁方法的实施例。图1示出的是本发明提供的基于总线的仲裁方法的实施例的示意图。如图1所示,本发明实施例包括如下步骤:
48.步骤s10、将与总线连接的每个主设备和每个从设备之间分别形成传输通道,并基于预设的总仲裁权重为各传输通道分配初始仲裁权重;
49.步骤s20、响应于总线接收到一个传输通道的读或写的操作请求,将操作状态表中该传输通道的请求状态做标记,并响应于操作请求携带的保护信号为锁定信号或独占信号,在操作状态表中为与锁定信号对应的锁定状态或与独占信号对应的独占状态做标记;
50.步骤s30、查询操作状态表中是否存在具有标记的锁定状态或具有标记的独占状态;
51.步骤s40、响应于不存在具有该标记的锁定状态且不存在具有标记的独占状态,基于操作状态表中具有标记的请求状态对应的传输通道的初始仲裁权重以及总仲裁权重计算其仲裁权重范围;
52.步骤s50、采集与总线关联的随机数产生器产生的随机数,为随机数的值所在的仲裁权重范围对应的传输通道分配总线使用权,以使操作请求在对应的传输通道中传输。
53.本发明实施例通过构造亚稳态电路得到真随机数,根据实际的每个主设备的总线使用请求而动态分配仲裁权重范围,并且支持锁定(locked access)传输和独占传输(exclusive access),最终实现高效的基于总线使用权的仲裁机制,提高系统总线的利用率,进而提高整个soc芯片的性能。
54.在一些实施例中,方法还包括:响应于操作状态表中存在具有标记的独占状态,为操作请求分配标记的独占状态对应的传输通道,以使操作请求在对应的传输通道中传输;响应于操作请求在对应的传输通道中传输完成,将对应的独占状态的标记删除。
55.在一些实施例中,方法还包括:响应于操作请求为读操作请求且操作状态表中存在用于记录读操作状态的具有标记的锁定状态,为读操作请求分配标记的锁定状态对应的传输通道,以使读操作请求在对应的传输通道中传输;响应于读操作请求在对应的传输通道中传输完成,将对应的锁定状态的标记删除。
56.在一些实施例中,方法还包括:响应于操作请求为写操作请求且操作状态表中存在用于记录读操作状态的具有标记的锁定状态,暂停对写操作请求的总线使用权分配。
57.在一些实施例中,基于操作状态表中具有标记的请求状态对应的传输通道的初始仲裁权重以及总仲裁权重计算其仲裁权重范围包括:基于操作状态表中具有标记的请求状态对应的传输通道的初始仲裁权重计算实际总仲裁权重;基于对应的传输通道的初始仲裁权重以及实际总仲裁权重和总仲裁权重计算其仲裁权重范围。
58.在一些实施例中,方法还包括:响应于操作请求在对应的传输通道中传输完成,将操作状态表中对应的传输通道的请求状态的标记删除。
59.在一些实施例中,基于预设的总仲裁权重为各传输通道分配初始仲裁权重包括:根据总线的使用环境中各传输通道的数据流量大小且基于预设的总仲裁权重为各传输通道分配初始仲裁权重。
60.本发明一示例性实施例的基于总线的仲裁方法如下:
61.图2示出了总线连接两个主设备和从设备的结构示意图。如图2所示,该结构包括主设备(master_0和master_1)、从设备(slave_0和slave_1)以及总线互联部分(interconnect),为多主多从结构。其中,总线可以是axi总线。axi(advanced extensible interface)是一种总线协议,该协议是arm公司提出的amba3.0协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。
62.本示例性实施例的具体实现过程如下:
63.1)构造真随机数
64.真随机数是指通过随机的物理现象产生的,是无法预测的真正意义上的随机数。真随机数发生器通常是将这些不确定事件中的随机性提取出来并将其数字化来产生随机数序列。
65.数字电路的亚稳态是指触发器无法在某个规定时间段内达到一个可确认的状态。当一个触发器进入亚稳态时,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平上。本质上,亚稳态可以认为是一种数字电路的噪声。
66.产生数字电路亚稳态的原因有很多,本实施例中提出了一种基于异步时钟的亚稳态电路,具体过程如下:
67.a.使用外接晶振时钟产生一个自加1的8位加法器;
68.b.使用axi总线时钟上升沿采集a中的8位加法器数值;
69.c.将b中采集到的数据记为随机数random_0;
70.上述过程中使用的外接晶振时钟和axi总线时钟为异步时钟,因此采集得到的值可认为是真随机数。
71.2)总线状态存储表更新
72.总线状态使用操作状态表(包括写操作状态表和读操作状态表)进行记录和更新。
73.下表1为写操作状态表,下表2为读操作状态表。表1和表2中的locked表示锁定状态,exclusive表示独占状态,request表示请求状态,其数值根据实际的读写操作可以取1或0,其中用1表示本实施例中的标记。
74.表1.写操作状态表
75.写操作传输通道lockedexclusiverequest仲裁权重m0_s0_w00request_w_00m0_s0_w_wm0_s1_w10request_w_01m0_s1_w_wm1_s0_w00request_w_10m1_s0_w_wm1_s1_w00request_w_11m1_s1_w_w
76.表1中的写操作传输通道m0_s0_w表示主设备master_0向从设备slave_0发起写操作(write),m0_s1_w表示主设备master_0向从设备slave_1发起写操作,m1_s0_w和m1_s1_w也类似。
77.当主设备向从设备发起写操作请求时,即当前主设备的写地址通道的写地址有效信号(axi_awvalid)拉高时,此时其request改写为1,若其写保护信号axi_awprot为2’b01时,exclusive改写为1;若其写保护信号axi_awprot为2’b10时,locked改写为1。
78.当发起申请的主设备获得总线使用权时,其写准备axi_awready信号被置为1,与axi_awvalid完成握手,表明此次写操作发送完成,将其对应的通道的请求信号request信号置为0。
79.表2.读操作状态表
80.读操作传输通道lockedexclusiverequest仲裁权重m0_s0_r00request_r_00m0_s0_r_wm0_s1_r00request_r_01m0_s1_r_wm1_s0_r00request_r_10m1_s0_r_w
m1_s1_r01request_r_11m1_s1_r_w
81.表2中的读操作传输通道m0_s0_r表示主设备master_0向从设备slave_0发起读操作(read),m0_s1_r表示主设备master_0向从设备slave_1发起读操作,m1_s0_r和m1_s1_r也类似。
82.当主设备向从设备发起读操作请求时,即当前主设备的读地址通道的读地址有效信号(axi_arvalid)拉高时,此时其request改写为1,若其读保护信号axi_arprot为2’b01时,exclusive改写为1;若其读保护信号axi_arprot为2’b10时,locked改写为1。
83.当发起申请的主设备获得总线使用权时,其读准备axi_arready信号被置为1,与axi_arvalid完成握手,表明此次读操作发送完成,将其对应的通道的请求信号request信号置为0。
84.3)预设仲裁权重
85.根据实际的使用环境预先设定每个通道的初始仲裁权重,按照预设数据流量大的通道仲裁权重高,预设数据流量小的通道仲裁权重低的原则进行分配。但需要满足所有初始仲裁权重和为256(28),即总仲裁权重。
86.m0_s0_w_w m1_s0_w_w m0_s1_w_w m1_s1_w_w=256
87.m0_s0_r_w m1_s0_r_w m0_s1_r_w m1_s1_r_w=256
88.4)仲裁权重动态调整
89.a)首先判断读写操作请求是否有locked传输,即查询读写操作状态表中是否存在locked为1的请求,若读和写操作中只有一个通道为locked传输,则将下次总线使用权给予此传输通道,直至此次locked操作完成后将操作状态表中的locked改写为0,没有locked操作的读或写通道暂时不分配总线仲裁权限。例如在写操作状态表中m0_s1_w的locked为1,则下次的写操作仲裁权限给予此通道,读操作暂时不分配总线权限给任何读操作通道直至写操作的locked传输完成。
90.b)判断读写操作请求是否有exclusive传输,前面已经指明locked传输和exclusive传输均是通过读写保护信号进行判断,因此存在互斥性,即一个操作不可能同时为locked传输和exclusive传输。
91.若读或写操作中存在某个通道为exclusive传输,则将下次总线权限给予此传输通道,直至此次exclusive操作完成后将状态表中的exclusive改写为0。相比于locked传输其不需要暂停另一个读或写操作的仲裁分配。
92.当不存在locked和exclusive传输时,进入后续的步骤。后续的步骤中读和写操作完全独立且并行执行。
93.c)计算仲裁范围
94.以m0_s0_w_w=64,m0_s1_w_w=32,m1_s0_w_w=64,m1_s1_w_w=96,且request_w_00=1,request_w_01=0,request_w_10=1,request_w_11=0为例:
95.sum_w=m0_s0_w_w*request_w_00 m0_s1_w_w*request_w_01 m1_s0_w_w*request_w_10 m1_s1_w_w*request_w_11
96.其中,sum_w表示实际总仲裁权重;
97.此时sum_w=128;
98.m0_s0_w传输通道的仲裁权重范围:0至m0_s0_w_w*request_w_00*256/sum_w

1,
即0至127(若为小数则取整);
99.m0_s1_w传输通道的仲裁权重范围为0,因为其并没有申请总线使用权;
100.m1_s0_w传输通道的仲裁权重范围:m0_s0_w_w*request_w_00*256/sum_w至m0_s0_w_w*request_w_00*256/sum_w m1_s0_w_w*request_w_10*256/sum_w

1,即128至255;
101.m1_s1_w传输通道的仲裁权重范围为0,因为其并没有申请总线权限。
102.d)根据构造的真随机数random_0判断其值位于哪一个传输通道的仲裁范围,则哪一个传输通道获得总线使用权;
103.e)完成此次读或写操作后将读写操作状态表中对应通道的request信号置为0,并返回步骤a进行下一次的仲裁操作。
104.本发明实施例的第二个方面,还提供了一种基于总线的仲裁系统。图3示出的是本发明提供的基于总线的仲裁系统的实施例的示意图。如图3所示,一种基于总线的仲裁系统包括:仲裁权重分配模块10,配置用于将与总线连接的每个主设备和每个从设备之间分别形成传输通道,并基于预设的总仲裁权重为各传输通道分配初始仲裁权重;标记模块20,配置用于响应于总线接收到一个传输通道的读或写的操作请求,将操作状态表中传输通道的请求状态做标记,并响应于操作请求携带的保护信号为锁定信号或独占信号,在操作状态表中为与锁定信号对应的锁定状态或与独占信号对应的独占状态做标记;查询模块30,配置用于查询操作状态表中是否存在具有标记的锁定状态或具有标记的独占状态;计算模块40,配置用于响应于不存在具有标记的锁定状态且不存在具有标记的独占状态,基于操作状态表中具有标记的请求状态对应的传输通道的初始仲裁权重以及总仲裁权重计算其仲裁权重范围;以及总线使用权分配模块50,配置用于采集与总线关联的随机数产生器产生的随机数,为随机数的值所在的仲裁权重范围对应的传输通道分配总线使用权,以使操作请求在对应的传输通道中传输。
105.本发明实施例的第三个方面,还提供了一种计算机可读存储介质,图4示出了根据本发明实施例提供的实现基于总线的仲裁方法的计算机可读存储介质的示意图。如图4所示,计算机可读存储介质3存储有计算机程序指令31。该计算机程序指令31被处理器执行时实现上述任意一项实施例的方法。
106.应当理解,在相互不冲突的情况下,以上针对根据本发明的基于总线的仲裁方法阐述的所有实施方式、特征和优势同样地适用于根据本发明的基于总线的仲裁系统和存储介质。
107.本发明实施例的第四个方面,还提供了一种计算机设备,包括如图5所示的存储器402和处理器401,该存储器402中存储有计算机程序,该计算机程序被该处理器401执行时实现上述任意一项实施例的方法。
108.如图5所示,为本发明提供的执行基于总线的仲裁方法的计算机设备的一个实施例的硬件结构示意图。以如图5所示的计算机设备为例,在该计算机设备中包括一个处理器401以及一个存储器402,并还可以包括:输入装置403和输出装置404。处理器401、存储器402、输入装置403和输出装置404可以通过总线或者其他方式连接,图5中以通过总线连接为例。输入装置403可接收输入的数字或字符信息,以及产生与基于总线的仲裁系统的用户设置以及功能控制有关的键信号输入。输出装置404可包括显示屏等显示设备。
109.存储器402作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程
序、非易失性计算机可执行程序以及模块,如本技术实施例中的基于总线的仲裁方法对应的程序指令/模块。存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储基于总线的仲裁方法的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
110.处理器401通过运行存储在存储器402中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的基于总线的仲裁方法。
111.最后需要说明的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦写可编程rom(eeprom)或快闪存储器。易失性存储器可以包括随机存取存储器(ram),该ram可以充当外部高速缓存存储器。作为例子而非限制性的,ram可以以多种形式获得,比如同步ram(dram)、动态ram(dram)、同步dram(sdram)、双数据速率sdram(ddr sdram)、增强sdram(esdram)、同步链路dram(sldram)、以及直接rambus ram(drram)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。
112.本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
113.以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
114.应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
115.所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献