CN107329913B - 一种访问控制的方法及装置 - Google Patents
一种访问控制的方法及装置 Download PDFInfo
- Publication number
- CN107329913B CN107329913B CN201610272977.8A CN201610272977A CN107329913B CN 107329913 B CN107329913 B CN 107329913B CN 201610272977 A CN201610272977 A CN 201610272977A CN 107329913 B CN107329913 B CN 107329913B
- Authority
- CN
- China
- Prior art keywords
- access
- virtual storage
- storage block
- conflict
- remapping
- 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
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000009826 distribution Methods 0.000 claims description 4
- 238000003860 storage Methods 0.000 description 30
- 238000010586 diagram Methods 0.000 description 13
- 230000003068 static effect Effects 0.000 description 11
- 239000000523 sample Substances 0.000 description 10
- 238000004590 computer program Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 239000004744 fabric Substances 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
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
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Memory System (AREA)
Abstract
本发明实施例公开了一种访问控制的方法及装置;该方法可以包括:在预设的计数时间内,统计得到各访问源进行访问的访问次数以及各虚拟存储块的访问冲突次数;根据所述各访问源的访问次数以及各访问源的优先级特性获取各访问源对应的仲裁权权值;根据各虚拟存储块的访问冲突次数以及预设的冲突次数门限值,确定需进行重映射的虚拟存储块,并按照预设的重映射策略对所述需进行重映射的虚拟存储块进行重映射;按照所述各访问源对应的仲裁权权值在所述重映射之后的虚拟存储块上分配相应的仲裁周期。
Description
技术领域
本发明涉及存储器技术,尤其涉及一种访问控制的方法及装置。
背景技术
随着多核处理器广泛地应用于各个技术领域,多核处理器会对存储器进行共享,因此,对片上存储的性能提升也提出了更高的要求。当前多核处理器共享存储的方案普遍采用如图1所示的互联交换结构和共享存储方案,比如多个访问源如数字信号处理器(DSP,Digital Signal Processor),CPU,直接内存存取(DMA,Direct Memory Access)控制器,硬件加速器等通过互联交换结构仲裁争用一个共享存储器。该方案的缺陷是:同一时钟周期内共享存储只能被一个访问源使用,其他访问源则必须等待;慢速访问源长时间占用存储访问通道时,慢速设备的访问会阻塞高速设备的访问,从而降低了共享存储的访问效率。
针对这一缺陷,目前提出了采用多块可以独立访问的存储结构来替换原有的单块存储结构以及进一步优化仲裁器及访问控制机制的方案来提升访问效率。这些方案均要求特定访问源存在静态而非时间可变的访问特征,但是访问源的特性在不同时间段,不同应用场景下是动态变化的,在各个时间段呈现出不一致性。因此,目前共享存储的访问控制方案无法根据访问源时变性的访问特性进行访问控制。
发明内容
为解决上述技术问题,本发明实施例期望提供一种访问控制的方法及装置,能够根据访问源时变性的访问特性对共享存储的访问进行控制,相较于针对静态访问特性的访问源进行访问控制的方案降低了访问时延。
本发明的技术方案是这样实现的:
第一方面,本发明实施例提供了一种访问控制的方法,所述方法包括:
在预设的计数时间内,统计得到各访问源进行访问的访问次数以及各虚拟存储块的访问冲突次数;
根据所述各访问源的访问次数以及各访问源的优先级特性获取各访问源对应的仲裁权权值;
根据各虚拟存储块的访问冲突次数以及预设的冲突次数门限值,确定需进行重映射的虚拟存储块,并按照预设的重映射策略对所述需进行重映射的虚拟存储块进行重映射;
按照所述各访问源对应的仲裁权权值在所述重映射之后的虚拟存储块上分配相应的仲裁周期。
在上述方案中,所述根据所述各访问源的访问次数以及各访问源的优先级特性获取各访问源对应的仲裁权权值,具体包括:
根据预设的权值因子以及所述各访问源的访问次数获取得到各访问源对应的原始权值;
根据各访问源的原始权值以及各访问源的优先级获取各访问源对应的仲裁权权值。
在上述方案中,所述根据预设的权值因子以及所述各访问源的访问次数获取得到各访问源对应的原始权值,包括:
对所述各访问源的访问次数分别根据所述预设的权值因子进行移位运算,获得所述各访问源对应的原始权值。
在上述方案中,所述根据各虚拟存储块的访问冲突次数以及预设的冲突次数门限值,确定需进行重映射的虚拟存储块,具体包括:
当所述各虚拟存储块中的第一虚拟存储块的访问冲突次数小于第一冲突次数门限值,且所述各虚拟存储块中的第二虚拟存储块的访问冲突次数大于第二冲突次数门限值时,确定所述需进行重映射的虚拟存储块为所述第一虚拟存储块和所述第二虚拟存储块;
当所述各虚拟存储块的访问冲突次数均大于第一冲突次数门限值时,或者所述各虚拟存储块的访问冲突次数均小于第二冲突次数门限值时,确定所有虚拟存储块无需进行重映射;其中,所述第一冲突次数门限值小于所述第二冲突次数门限值。
在上述方案中,按照预设的重映射策略对所述需进行重映射的虚拟存储块进行重映射,具体包括:
将所述第一虚拟存储块的高地址虚拟存储子块与所述第二虚拟存储块的高地址虚拟存储子块进行交换,得到重映射后的第一虚拟存储块和重映射后的第二虚拟存储块。
第二方面,本发明实施例提供了一种访问控制的装置,所述装置包括:统计模块、仲裁模块、重映射模块和分配模块;其中,
所述统计模块,用于在预设的计数时间内,统计得到各访问源进行访问的访问次数以及各虚拟存储块的访问冲突次数;
所述仲裁模块,用于根据所述各访问源的访问次数以及各访问源的优先级特性获取各访问源对应的仲裁权权值;
所述重映射模块,用于根据各虚拟存储块的访问冲突次数以及预设的冲突次数门限值,确定需进行重映射的虚拟存储块,并按照预设的重映射策略对所述需进行重映射的虚拟存储块进行重映射;
所述分配模块,用于按照所述各访问源对应的仲裁权权值在所述重映射之后的虚拟存储块上分配相应的仲裁周期。
在上述方案中,所述仲裁模块,用于根据预设的权值因子以及所述各访问源的访问次数获取得到各访问源对应的原始权值;以及,
根据各访问源的原始权值以及各访问源的优先级获取各访问源对应的仲裁权权值。
在上述方案中,所述仲裁模块,用于对所述各访问源的访问次数分别根据所述预设的权值因子进行移位运算,获得所述各访问源对应的原始权值。
在上述方案中,所述重映射模块,用于当所述各虚拟存储块中的第一虚拟存储块的访问冲突次数小于第一冲突次数门限值,且所述各虚拟存储块中的第二虚拟存储块的访问冲突次数大于第二冲突次数门限值时,确定所述需进行重映射的虚拟存储块为所述第一虚拟存储块和所述第二虚拟存储块;以及,
当所述各虚拟存储块的访问冲突次数均大于第一冲突次数门限值时,或者所述各虚拟存储块的访问冲突次数均小于第二冲突次数门限值时,确定所有虚拟存储块无需进行重映射;其中,所述第一冲突次数门限值小于所述第二冲突次数门限值。
在上述方案中,所述重映射模块,用于将所述第一虚拟存储块的高地址虚拟存储子块与所述第二虚拟存储块的高地址虚拟存储子块进行交换,得到重映射后的第一虚拟存储块和重映射后的第二虚拟存储块。
本发明实施例提供了一种访问控制的方法及装置,根据预设时间段各访问源进行访问的次数获取各访问源对应的访问仲裁权权值,并根据各虚拟存储块出现访问冲突的次数来对虚拟存储块进行重映射;随后在重映射之后的虚拟存储块中,按照各访问源对应的访问仲裁权权值分配对应的仲裁周期,从而能够根据访问源时变性的访问特性对共享存储的访问进行控制,相较于针对静态访问特性的访问源进行访问控制的方案降低了访问时延。
附图说明
图1为现有技术中提出的一种共享存储的访问控制结构示意图;
图2为本发明实施例提供的一种访问控制的方法流程示意图;
图3为本发明实施例提供的一种获取访问源对应的仲裁权权值的流程示意图;
图4为本发明实施例提供的一种对虚拟存储块的重映射过程示意图;
图5为本发明实施例提供的一种访问控制的装置结构示意图;
图6为本发明实施例提供的一种访问控制的装置硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本发明实施例的基本思想是:根据预设时间段各访问源进行访问的次数获取各访问源对应的访问仲裁权权值,并根据各虚拟存储块出现访问冲突的次数来对虚拟存储块进行重映射;随后在重映射之后的虚拟存储块中,按照各访问源对应的访问仲裁权权值分配对应的仲裁周期。从而能够根据访问源时变性的访问特性对共享存储的访问进行控制,相较于针对静态访问特性的访问源进行访问控制的方案降低了访问时延。
实施例一
基于上述基本思想,参见图2,其示出了本发明实施例提供的一种访问控制的方法,该方法可以应用于具有多个虚拟存储块的共享存储装置中,本方法可以包括:
S201:在预设的计数时间内,统计得到各访问源进行访问的访问次数以及各虚拟存储块的访问冲突次数;
需要说明的是,本实施例中所述的预设的计数时间可以针对统计值的不同而有所区别。具体可以是:对于各访问源进行访问的访问次数,预设的计数时间可以为当任一访问源进行访问的访问次数到达或超过访问次数更新门限值时,将各访问源的访问次数进行清零并重新计数。对于各虚拟存储块的访问冲突次数,预设的计数时间可以为当任一虚拟存储块的访问冲突次数到达或超过访问冲突次数更新门限值时,将该到达或超过访问冲突次数的访问源所对应的访问冲突次数进行清零并重新计数。
在具体实现过程中,各访问源进行访问的访问次数可以通过对应的计数器进行计数,每个访问源发生读访问或写访问时均会使进行访问的访问源所对应的计数器以加一递增;各虚拟存储块的访问冲突次数也可以通过对应的计数器进行计数,每当多个访问源针对对应的虚拟存储块发生读访问或写访问冲突时均会使该虚拟存储块对应的计数器以加一递增;访问次数更新门限值和访问冲突次数更新门限值可以通过预设设置并保存在对应的寄存器中,
还需要说明的是,本发明实施例中预设的计数时间也可以是预设的更新周期时间,但是容易导致更新周期时间内,访问源访问次数较少而无法反映出各访问源的访问特性,本实施例不做赘述。
S202:根据各访问源的访问次数以及各访问源的优先级特性获取各访问源对应的仲裁权权值;
示例性地,参见图3,所述根据所述各访问源的访问次数以及各访问源的优先级特性获取各访问源对应的仲裁权权值,具体包括步骤S2021和S2022:
S2021:根据预设的权值因子以及各访问源的访问次数获取得到各访问源对应的原始权值;
优选地,根据预设的权值因子以及所述各访问源的访问次数获取得到各访问源对应的原始权值,可以包括:
对所述各访问源的访问次数分别根据所述预设的权值因子进行移位运算,获得所述各访问源对应的原始权值。
在具体实现过程中,以权值因子F=2,移位运算为右移运算,三个访问源的访问次数分别为:
cycle_accesss_source(0)=32'd1000(32'b0011_1110_1000),
cycle_accesss_source(1)=32'd123(32'b0000_0111_1011),
cycle_accesss_source(2)=32'd234(32'b0000_1110_1010);
其中,等式右边括号内为对应的二进制数,下同。
那么,三个访问源以权值因子F=2进行右移计算之后,得到的对应的原始权值为:
weight(0)=32'd250(32'b0011_1110_1000>>2),
weight(1)=32'd30(32'b0000_0111_1011>>2),
weight(2)=32'd58(32'b0000_1110_1010>>2);
其中,符号>>为右移运算。
S2022:根据各访问源的原始权值以及各访问源的优先级获取各访问源对应的仲裁权权值。
需要说明的是,在对于某些高级的访问源中,访问数据中可能嵌入有表征访问源当前优先级特性的信息以便能够优先给予仲裁权分配。例如,访问数据中的边带信息,比如服务质量(Qos,Quality of Service),优先级信息,读优先信息,物理层帧号等信息,这些都可以影响甚至提升访问源对应的仲裁权权值。可以理解地,当各访问源之间没有优先级时,则默认所有访问源的优先级一致,此时,各访问源对应的原始权值即为访问源对应的仲裁权权值。
还需要说明的是,各访问源对应的仲裁权权值代表各访问源对应的最长连续可以获得仲裁权的时钟周期数,因此仲裁权权值越高,获得仲裁权的机会就越多,因此访问延迟将会整体减少。
具体地,当上述三个访问源争用资源时,当访问源的权值是weight(0)时,该访问源可以连续获得weight(0)个时钟周期cycle的仲裁,这样保证该访问源的访问在weight(0)个cycle内保持连续而不被其他的访问源打断,从而保证了该访问源的数据访问带宽;经过weight(0)个cycle后轮询到下一个访问源,下一个访问源的权值是weight(1),则该访问源可以连续获得weight(1)个cycle的仲裁;依次类推,本实施例不做赘述。
S203:根据各虚拟存储块的访问冲突次数以及预设的冲突次数门限值,确定需进行重映射的虚拟存储块,并按照预设的重映射策略对需进行重映射的虚拟存储块进行重映射;
示例性地,所述根据各虚拟存储块的访问冲突次数以及预设的冲突次数门限值,确定需进行重映射的虚拟存储块,具体包括:
当所述各虚拟存储块中的第一虚拟存储块的访问冲突次数小于第一冲突次数门限值,且所述各虚拟存储块中的第二虚拟存储块的访问冲突次数大于第二冲突次数门限值时,确定所述需进行重映射的虚拟存储块为所述第一虚拟存储块和所述第二虚拟存储块;
当所述各虚拟存储块的访问冲突次数均大于第一冲突次数门限值时,或者所述各虚拟存储块的访问冲突次数均小于第二冲突次数门限值时,确定所有虚拟存储块无需进行重映射;其中,所述第一冲突次数门限值小于所述第二冲突次数门限值。
需要说明的是,第一冲突次数门限值与第二冲突次数门限值可以存储在冲突门限寄存器中,第一冲突次数门限值可以用于表征整个装置可以容忍的冲突值的下限;第二冲突次数门限值表征整个装置无法容忍的冲突值的下限,也就是可以容忍的冲突值的上限。
由上述针对第一冲突次数门限值与第二冲突次数门限值的说明,可以得知:
当所述各虚拟存储块中的第一虚拟存储块的访问冲突次数小于第一冲突次数门限值,且所述各虚拟存储块中的第二虚拟存储块的访问冲突次数大于第二冲突次数门限值时,则说明当前存在一块冲突过多的虚拟存储块而存在另一个块冲突非常小的虚拟存储块冲突,所以需要通过地址重映射来重新分配所有访问在这两个虚拟存储块中的带宽。
当所述各虚拟存储块的访问冲突次数均大于第一冲突次数门限值时,说明当前虚拟存储块均冲突过多,那么即使进行地址重映射也无法获得理想的重映射增益,所以所有的虚拟存储块均不执行地址重映射;而所述各虚拟存储块的访问冲突次数均小于第二冲突次数门限值时,说明当前所有虚拟存储块的冲突次数虽然较多,但是并没有到达无法忍受的程度,因此,所有的虚拟存储块也均不执行地址重映射。
进一步地,按照预设的重映射策略对所述需进行重映射的虚拟存储块进行重映射,具体包括:
将第一虚拟存储块的高地址虚拟存储子块与第二虚拟存储块的高地址虚拟存储子块进行交换,得到重映射后的第一虚拟存储块和重映射后的第二虚拟存储块。
需要说明的是,第一虚拟存储块表示冲突最不严重的虚拟存储块;第二虚拟存储块表示冲突最严重的虚拟存储块。在具体实现过程中,优选地,可以将第一虚拟存储块和第二虚拟存储块的地址进行二等分,得到2个独立的物理存储子块,根据地址划分为低半物理存储子块和高半物理存储子块,随后,将第一虚拟存储块的高半物理存储子块与第二存储块的高半物理存储子块进行交换,即为实现了虚拟存储块的重映射。
以图4为例,冲突最严重的block A,如十字填充方框所示的地址段为A1~A3,冲突最不严重的block B,如斜线交叉填充方框所示的地址段为B1~B3;block A等分为A1~A2与(A2+1)~A3,其中,A2=(A3-A1-1)/2;blockB等分为B1~B2与(B2+1)~B3;其中,B2=(B3-B1-1)/2。随后,将原有访问到(A2+1)~A3的地址变换到(B2+1)~B3,将原有访问到(B2+1)~B3的地址变换到(A2+1)~A3,从而实现了虚拟存储块的重映射,从较长的时间上看,block A的访问冲突将会降低,而block B的空闲资源得到了利用,并且由于访问block A和block B是可以并发访问的。因此,通过上述过程,流量带宽资源在不同访问路径间得到了有效的重新分配,从而带来了整体冲突减小和访问延迟减少的有益效果。
S204:按照各访问源对应的仲裁权权值在重映射之后的虚拟存储块上分配相应的仲裁周期。
针对步骤S204,在具体实现时,可以完成物理存储块对应的某个加权仲裁器对应的数据通路选通。具体举例如下:虚拟存储块A原始对应的发送地址为3’b000,对应的仲裁数据通路0;虚拟存储块B原始对应的发送地址为3’b001,对应的仲裁数据通路为1.那么,当虚拟存储块A和虚拟存储块B进行重映射后,
给虚拟存储块A的高半物理存储块对应的多路选择器发送3’b001,使其切换到仲裁器1的数据通路;
给虚拟存储块A的低半物理存储块对应的多路选择器发送3’b000,使其维持到仲裁器0的数据通路;
给虚拟存储块B的高半物理存储块对应的多路选择器发送3’b000,使其切换到仲裁器0的数据通路;
给虚拟存储块B的低半物理存储块对应的多路选择器发送3’b001,使其维持仲裁器1的数据通路;
因此,2个虚拟存储块的高半物理存储块所对应的数据通路将进行交换,而2个虚拟存储块的低半物理存储块所对应的数据通路不进行交换。与此同时,按照102所述的地址重映射步骤,访问2个虚拟存储块的高半段地址也已经进行了交换。因此原来冲突在加权仲裁器0上的访问将被划分到加权仲裁器0和加权仲裁器1的数据通路上,即不同访问源的访问带宽在2个虚拟存储块之间进行了重新分配。从较长的一个时间看,通过加权仲裁器0进行的访问冲突将会降低,而原有通过加权仲裁器1的大量空闲路径又得到了有效利用。并且由于访问存储块A和存储块B是可以并发访问的。因此,采用本发明所述的重映射和静态选通机制,流量带宽因在不同访问路径间得到了有效的重新分配而带来了整体冲突减小和访问延迟减少的有益效果;而且不同的时间段内依据探针单元的输出信息可以进行自适应调整,以有效适配实际的访问特性。
可以理解地,在本实施例中,访问源不仅可以是单个的CPU、DSP、DMA、硬件加速器等访问源设备,而且也可以是上述多个访问源设备的集合,多个访问源将分时复用占用同一个存储访问端口。当访问源为多个访问源设备的集合时,可以通过连续突发(burst)或随机单个(single)的传输类型来访问共享存储装置。其中,发起single类型传输即访问源发送的每个读/写的地址均对应一个数据,而发起burst类型传输即访问源发送的每个读/写地址对应一组数据的首地址,由接收设备自行计算出整组数据的每个地址。具体的实现为本领域技术人员的常规实现手段,本实施例对此不再赘述,在本实施例中,访问源的数量用K表示。
虚拟存储块可以是共享存储装置中独立且能够并行访问的存储单元,具体的,整个共享存储装置中的共享存储空间可以被分为N个独立的虚拟存储块,且整个共享存储空间中可访问的地址空间也被分为连续的N段,分别分配在N个独立的虚拟存储块中。一般来说N小于等于K。当K显著增多时,理论上N可以越大从而提供并行带宽越大,但由于考虑到芯片的功耗面积代价以及工程上的可实现性,N通常较小,比如优选取值为N小于等于8但大于等于2。所以,由于N相对于K的值较小的前提下,本发明实施例的技术方案能够通过访问次数及访问访问冲突次数这些访问特性来自适应的调整虚拟存储块的映射的访问仲裁权,从而有效地解决了访问冲突,并且提升了整体的数据吞吐量。
实施例二
基于前述实施例相同的技术构思,参见图5,其示出了本发明实施例提供的一种访问控制的装置50,该装置50可以包括:统计模块501、仲裁模块502、重映射模块503和分配模块504;其中,
所述统计模块501,用于在预设的计数时间内,统计得到各访问源进行访问的访问次数以及各虚拟存储块的访问冲突次数;
所述仲裁模块502,用于根据所述各访问源的访问次数以及各访问源的优先级特性获取各访问源对应的仲裁权权值;
所述重映射模块503,用于根据各虚拟存储块的访问冲突次数以及预设的冲突次数门限值,确定需进行重映射的虚拟存储块,并按照预设的重映射策略对所述需进行重映射的虚拟存储块进行重映射;
所述分配模块504,用于按照所述各访问源对应的仲裁权权值在所述重映射之后的虚拟存储块上分配相应的仲裁周期。
在上述方案中,所述仲裁模块502,用于根据预设的权值因子以及所述各访问源的访问次数获取得到各访问源对应的原始权值;以及,
根据各访问源的原始权值以及各访问源的优先级获取各访问源对应的仲裁权权值。
在上述方案中,所述仲裁模块502,用于对所述各访问源的访问次数分别根据所述预设的权值因子进行移位运算,获得所述各访问源对应的原始权值。
在上述方案中,所述重映射模块503,用于当所述各虚拟存储块中的第一虚拟存储块的访问冲突次数小于第一冲突次数门限值,且所述各虚拟存储块中的第二虚拟存储块的访问冲突次数大于第二冲突次数门限值时,确定所述需进行重映射的虚拟存储块为所述第一虚拟存储块和所述第二虚拟存储块;以及,
当所述各虚拟存储块的访问冲突次数均大于第一冲突次数门限值时,或者所述各虚拟存储块的访问冲突次数均小于第二冲突次数门限值时,确定所有虚拟存储块无需进行重映射;其中,所述第一冲突次数门限值小于所述第二冲突次数门限值。
在上述方案中,所述重映射模块503,用于将所述第一虚拟存储块的高地址虚拟存储子块与所述第二虚拟存储块的高地址虚拟存储子块进行交换,得到重映射后的第一虚拟存储块和重映射后的第二虚拟存储块。
实施例三
基于前述实施例所述的技术方案,结合图5所示的访问控制的装置结构,参见图6,为本发明实施例提供的与图5所示的装置结构对应的一种硬件实现结构示意图,在图6中,可以包括:探针仲裁单元、重映射交叉单元和多块存储单元。其中,探针仲裁单元的数量与多块存储单元中的虚拟存储块的数量一致,设为N,每个探针仲裁单元均对应一个虚拟存储块,每个探针仲裁单元均可以包括:探针子单元、权值调整控制子单元以及加权仲裁子单元;重映射交叉单元可以包括:重映射控制子单元、交叉子单元以及与访问源数量一致的地址重映射执行单元,其中,每个地址重映射执行子单元均对应一个访问源,访问源的数量为K;多块存储单元中包括N个虚拟存储块,每个虚拟存储块均等分为高半物理存储子块和低半物理存储子块,并且每个物理存储子块均对应有静态选通子单元。
对于探针仲裁单元,对应于图5所示的装置结构,每个探针子单元用于统计得到各访问源对自身对应的虚拟存储块进行访问的访问次数以及自身对应的虚拟存储块的访问冲突次数;并且将访问冲突次数传输至重映射控制子单元;
权值调整控制子单元,根据预设的权值因子以及各访问源的访问次数获取得到各访问源对应的原始权值;
加权仲裁子单元,则根据各访问源的原始权值以及各访问源的优先级获取各访问源对应的仲裁权权值,可以理解地,当各访问源之间没有优先级时,则默认所有访问源的优先级一致,此时,各访问源对应的原始权值即为访问源对应的仲裁权权值。
重映射交叉单元,对应于图5所示的装置结构,重映射控制子单元,则用于根据各虚拟存储块的访问冲突次数以及预设的冲突次数门限值,确定需进行重映射的虚拟存储块;
需进行重映射的虚拟存储块对应的重映射执行子单元,则用于按照预设的重映射策略对需进行重映射的虚拟存储块进行重映射。
交叉子单元,则根据重映射后的新地址或者原始地址,将对应访问源的发送地址发送到对应的探针仲裁单元,从而能够使得后续的访问控制流程在重映射完毕之后的虚拟存储块的基础上进行。
在多块存储单元中,虚拟存储块,则用于提供数据存储的子单元。具体的,整个共享存储被分为N个独立的虚拟存储块,且整个可访问的地址空间被分为连续的N段分配在N个独立的虚拟存储块中。一个虚拟存储块又分为2个独立的物理存储块,根据地址可以划分为低半物理存储子块和高半物理存储子块。每个物理存储子块对应有静态选通单元;
而静态选通单元,则用于按照各访问源对应的仲裁权权值在重映射之后的虚拟存储块上分配相应的仲裁周期。具体的,也就是完成物理存储块对应的某个加权仲裁子单元的数据通路选通。从而通过在重映射之后的虚拟存储块上所分配的仲裁周期来体现各访问源对应的仲裁权权值。
在具体实现时,通过静态选通单元完成物理存储块对应的某个加权仲裁器的数据通路选通。静态选通单元会从重映射控制单元接收到控制其选通的重映射判决比特信息。
具体举例如下:虚拟存储块A原始对应的发送地址为3’b000,对应的仲裁数据通路0;虚拟存储块B原始对应的发送地址为3’b001,对应的仲裁数据通路为1.那么,当虚拟存储块A和虚拟存储块B进行重映射后,
给虚拟存储块A的高半物理存储块对应的多路选择器发送3’b001,使其切换到仲裁器1的数据通路;
给虚拟存储块A的低半物理存储块对应的多路选择器发送3’b000,使其维持到仲裁器0的数据通路;
给虚拟存储块B的高半物理存储块对应的多路选择器发送3’b000,使其切换到仲裁器0的数据通路;
给虚拟存储块B的低半物理存储块对应的多路选择器发送3’b001,使其维持仲裁器1的数据通路;
因此,2个虚拟存储块的高半物理存储块所对应的数据通路将进行交换,而2个虚拟存储块的低半物理存储块所对应的数据通路不进行交换。与此同时,按照102所述的地址重映射步骤,访问2个虚拟存储块的高半段地址也已经进行了交换。因此原来冲突在加权仲裁器0上的访问将被划分到加权仲裁器0和加权仲裁器1的数据通路上,即不同访问源的访问带宽在2个虚拟存储块之间进行了重新分配。从较长的一个时间看,通过加权仲裁器0进行的访问冲突将会降低,而原有通过加权仲裁器1的大量空闲路径又得到了有效利用。并且由于访问存储块A和存储块B是可以并发访问的。因此,采用本发明所述的重映射和静态选通机制,流量带宽因在不同访问路径间得到了有效的重新分配而带来了整体冲突减小和访问延迟减少的有益效果;而且不同的时间段内依据探针单元的输出信息可以进行自适应调整,以有效适配实际的访问特性。
需要说明的是,图6中硬件结构的各组成单元及子单元可以实现图5中装置结构的对应模块,因此,图6的具体工作过程可以参见前述实施例的技术方案,本实施例对此不做赘述。
可以理解地,图6中的硬件结构仅用于表述实现技术方案的主要构成,相关的寄存器和比较器等器件不做赘述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (10)
1.一种访问控制的方法,其特征在于,所述方法包括:
在预设的计数时间内,统计得到各访问源进行访问的访问次数以及各虚拟存储块的访问冲突次数;
根据所述各访问源的访问次数以及各访问源的优先级特性获取各访问源对应的仲裁权权值;
根据各虚拟存储块的访问冲突次数以及预设的冲突次数门限值,确定需进行重映射的虚拟存储块,并按照预设的重映射策略对所述需进行重映射的虚拟存储块进行重映射;
按照所述各访问源对应的仲裁权权值在所述重映射之后的虚拟存储块上分配相应的仲裁周期;
其中,所述虚拟存储块是共享存储装置中独立且能够并行访问的存储单元。
2.根据权利要求1所述的方法,其特征在于,所述根据所述各访问源的访问次数以及各访问源的优先级特性获取各访问源对应的仲裁权权值,具体包括:
根据预设的权值因子以及所述各访问源的访问次数获取得到各访问源对应的原始权值;
根据各访问源的原始权值以及各访问源的优先级获取各访问源对应的仲裁权权值。
3.根据权利要求2所述的方法,其特征在于,所述根据预设的权值因子以及所述各访问源的访问次数获取得到各访问源对应的原始权值,包括:
对所述各访问源的访问次数分别根据所述预设的权值因子进行移位运算,获得所述各访问源对应的原始权值。
4.根据权利要求1所述的方法,其特征在于,所述根据各虚拟存储块的访问冲突次数以及预设的冲突次数门限值,确定需进行重映射的虚拟存储块,具体包括:
当所述各虚拟存储块中的第一虚拟存储块的访问冲突次数小于第一冲突次数门限值,且所述各虚拟存储块中的第二虚拟存储块的访问冲突次数大于第二冲突次数门限值时,确定所述需进行重映射的虚拟存储块为所述第一虚拟存储块和所述第二虚拟存储块;
当所述各虚拟存储块的访问冲突次数均大于第一冲突次数门限值时,或者所述各虚拟存储块的访问冲突次数均小于第二冲突次数门限值时,确定所有虚拟存储块无需进行重映射;其中,所述第一冲突次数门限值小于所述第二冲突次数门限值。
5.根据权利要求4所述的方法,其特征在于,按照预设的重映射策略对所述需进行重映射的虚拟存储块进行重映射,具体包括:
将所述第一虚拟存储块的高地址虚拟存储子块与所述第二虚拟存储块的高地址虚拟存储子块进行交换,得到重映射后的第一虚拟存储块和重映射后的第二虚拟存储块。
6.一种访问控制的装置,其特征在于,所述装置包括:统计模块、仲裁模块、重映射模块和分配模块;其中,
所述统计模块,用于在预设的计数时间内,统计得到各访问源进行访问的访问次数以及各虚拟存储块的访问冲突次数;
所述仲裁模块,用于根据所述各访问源的访问次数以及各访问源的优先级特性获取各访问源对应的仲裁权权值;
所述重映射模块,用于根据各虚拟存储块的访问冲突次数以及预设的冲突次数门限值,确定需进行重映射的虚拟存储块,并按照预设的重映射策略对所述需进行重映射的虚拟存储块进行重映射;
所述分配模块,用于按照所述各访问源对应的仲裁权权值在所述重映射之后的虚拟存储块上分配相应的仲裁周期;
其中,所述虚拟存储块是共享存储装置中独立且能够并行访问的存储单元。
7.根据权利要求6所述的装置,其特征在于,所述仲裁模块,用于根据预设的权值因子以及所述各访问源的访问次数获取得到各访问源对应的原始权值;以及,
根据各访问源的原始权值以及各访问源的优先级获取各访问源对应的仲裁权权值。
8.根据权利要求7所述的装置,其特征在于,所述仲裁模块,用于对所述各访问源的访问次数分别根据所述预设的权值因子进行移位运算,获得所述各访问源对应的原始权值。
9.根据权利要求6所述的装置,其特征在于,所述重映射模块,用于当所述各虚拟存储块中的第一虚拟存储块的访问冲突次数小于第一冲突次数门限值,且所述各虚拟存储块中的第二虚拟存储块的访问冲突次数大于第二冲突次数门限值时,确定所述需进行重映射的虚拟存储块为所述第一虚拟存储块和所述第二虚拟存储块;以及,
当所述各虚拟存储块的访问冲突次数均大于第一冲突次数门限值时,或者所述各虚拟存储块的访问冲突次数均小于第二冲突次数门限值时,确定所有虚拟存储块无需进行重映射;其中,所述第一冲突次数门限值小于所述第二冲突次数门限值。
10.根据权利要求9所述的装置,其特征在于,所述重映射模块,用于将所述第一虚拟存储块的高地址虚拟存储子块与所述第二虚拟存储块的高地址虚拟存储子块进行交换,得到重映射后的第一虚拟存储块和重映射后的第二虚拟存储块。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610272977.8A CN107329913B (zh) | 2016-04-28 | 2016-04-28 | 一种访问控制的方法及装置 |
PCT/CN2016/107770 WO2017185740A1 (zh) | 2016-04-28 | 2016-11-29 | 一种访问控制的方法及装置 |
EP16900245.8A EP3451178A4 (en) | 2016-04-28 | 2016-11-29 | ACCESS CONTROL METHOD AND DEVICE |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610272977.8A CN107329913B (zh) | 2016-04-28 | 2016-04-28 | 一种访问控制的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107329913A CN107329913A (zh) | 2017-11-07 |
CN107329913B true CN107329913B (zh) | 2019-12-13 |
Family
ID=60160664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610272977.8A Active CN107329913B (zh) | 2016-04-28 | 2016-04-28 | 一种访问控制的方法及装置 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3451178A4 (zh) |
CN (1) | CN107329913B (zh) |
WO (1) | WO2017185740A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021517750A (ja) * | 2018-02-13 | 2021-07-26 | オッポ広東移動通信有限公司Guangdong Oppo Mobile Telecommunications Corp., Ltd. | QoSフローの再マッピング方法および装置、コンピュータ記憶媒体 |
CN114585048B (zh) * | 2022-03-11 | 2023-12-08 | 可瑞尔科技(扬州)有限公司 | 一种多设备分时连入WiFi的控制方法、装置、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739372A (zh) * | 2008-11-05 | 2010-06-16 | 联发科技股份有限公司 | 共享资源的仲裁方法及装置 |
CN101739358A (zh) * | 2009-12-21 | 2010-06-16 | 东南大学 | 利用虚存机制对片上异构存储资源动态分配的方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7739437B2 (en) * | 2005-01-31 | 2010-06-15 | Panasonic Corporation | Access arbiter and arbitrable condition verification device |
US9170844B2 (en) * | 2009-01-02 | 2015-10-27 | International Business Machines Corporation | Prioritization for conflict arbitration in transactional memory management |
US8266408B2 (en) * | 2009-03-17 | 2012-09-11 | Memoir Systems, Inc. | System and method for storing data in a virtualized high speed memory system |
US8621160B2 (en) * | 2010-12-17 | 2013-12-31 | Futurewei Technologies, Inc. | System and method for contention-free memory access |
US9535860B2 (en) * | 2013-01-17 | 2017-01-03 | Intel Corporation | Arbitrating memory accesses via a shared memory fabric |
-
2016
- 2016-04-28 CN CN201610272977.8A patent/CN107329913B/zh active Active
- 2016-11-29 EP EP16900245.8A patent/EP3451178A4/en not_active Ceased
- 2016-11-29 WO PCT/CN2016/107770 patent/WO2017185740A1/zh unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739372A (zh) * | 2008-11-05 | 2010-06-16 | 联发科技股份有限公司 | 共享资源的仲裁方法及装置 |
CN101739358A (zh) * | 2009-12-21 | 2010-06-16 | 东南大学 | 利用虚存机制对片上异构存储资源动态分配的方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2017185740A1 (zh) | 2017-11-02 |
EP3451178A1 (en) | 2019-03-06 |
CN107329913A (zh) | 2017-11-07 |
EP3451178A4 (en) | 2019-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107003905B (zh) | 针对可配置计算资源的本地服务链而动态分配资源的技术 | |
Hassan et al. | A framework for scheduling DRAM memory accesses for multi-core mixed-time critical systems | |
US10353747B2 (en) | Shared memory controller and method of using same | |
CN108845960B (zh) | 一种存储器资源优化方法和装置 | |
JP4142068B2 (ja) | 情報処理装置およびアクセス制御方法 | |
CN112905503A (zh) | 用于在多芯片封装中管理热行为的方法和装置 | |
CN114185818B (zh) | 基于扩展页表的gpu访存自适应优化方法及装置 | |
US20210191765A1 (en) | Method for static scheduling of artificial neural networks for a processor | |
Valsan et al. | MEDUSA: a predictable and high-performance DRAM controller for multicore based embedded systems | |
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 | |
JP5975446B2 (ja) | アクセス制御装置、中継装置、アクセス制御方法、コンピュータプログラム | |
US7617344B2 (en) | Methods and apparatus for controlling access to resources in an information processing system | |
US10990562B2 (en) | System and method of asymmetric system description for optimized scheduling | |
JP2013545201A (ja) | マルチクライアントコンピューティングシステムに対するメモリデバイスの分割 | |
US20200026674A1 (en) | Arbitration circuitry | |
CN107329913B (zh) | 一种访问控制的方法及装置 | |
US20210042054A1 (en) | Memory controller for non-interfering accesses to nonvolatile memory by different masters, and related systems and methods | |
US9164903B2 (en) | Memory manager | |
US10705985B1 (en) | Integrated circuit with rate limiting | |
JP2022554137A (ja) | 重み付きメモリアクセス動作タイプを使用したメモリデバイスのサービスの品質 | |
US20120226863A1 (en) | Information processing device, memory access control device, and address generation method thereof | |
Wang et al. | A resource allocation model for hybrid storage systems | |
KR20220122521A (ko) | 데이터 프로세서 | |
US20150186053A1 (en) | Method and apparatus for on-the-fly learning traffic control scheme | |
Talebpour et al. | AAS: Address aware scheduler for enhancing the performance of NVMe SSDs in Iot applications |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210527 Address after: Room j4-02, block J, Zhongxing Industrial Park, No.10, Tangyan South Road, high tech Zone, Xi'an City, Shaanxi Province, 710065 Patentee after: Xi'an Chris Semiconductor Technology Co.,Ltd. Address before: No.1 Factory building, Dameisha, Yantian District, Shenzhen, Guangdong 518085 Patentee before: Sanechips Technology Co.,Ltd. |
|
TR01 | Transfer of patent right |