CN117312199B - 多端口访问仲裁方法、装置、设备及存储介质 - Google Patents
多端口访问仲裁方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117312199B CN117312199B CN202311619261.7A CN202311619261A CN117312199B CN 117312199 B CN117312199 B CN 117312199B CN 202311619261 A CN202311619261 A CN 202311619261A CN 117312199 B CN117312199 B CN 117312199B
- Authority
- CN
- China
- Prior art keywords
- access
- arbitration
- virtual waiting
- waiting queue
- queue
- 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 63
- 230000015654 memory Effects 0.000 claims abstract description 126
- 230000032683 aging Effects 0.000 claims description 135
- 238000012545 processing Methods 0.000 claims description 25
- 230000014759 maintenance of location Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 11
- 238000013461 design Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000009191 jumping Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000013144 data compression Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006837 decompression Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000002699 waste material Substances 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/1642—Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
本发明涉及计算机技术领域,公开了一种多端口访问仲裁方法、装置、设备及存储介质,该方法包括:在多个处理器通过多个访问端口同时访问存储器时,通过多个访问端口接收访问请求,将各个访问端口接收到的访问请求按照请求紧急程度的不同送入不同的虚拟等待队列,根据各个虚拟等待队列的仲裁参考信息对各个虚拟等待队列中的访问请求进行仲裁,获得仲裁结果;由于本发明在多个处理器通过多个访问端口同时访问存储器时,将各个访问端口接收到的不同访问请求,按照紧急程度分到不同的虚拟等待队列进行仲裁,从而能够差异化的应对单个端口中不同访问紧急程度的访问请求,防止紧急程度不高的访问获得超过需求的仲裁资源,进而有助于提升总体访存效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种多端口访问仲裁方法、装置、设备及存储介质。
背景技术
先进的计算机系统往往包含多个处理器,多个处理器协同工作完成一个或多个任务。多个处理器存在共享存储空间的情况。在该情况下,存在多个处理器需要同时访问同一个存储器的需求。但是,存储器,例如动态随机访问存储器(Dynamic Random AccessMemory,DRAM),一般在一个时刻仅能响应一个访问需求,无法同时响应多个访问需求。此时,存储器往往是以时分复用的形式响应多个处理器的访问需求的。即在某个时刻,仲裁器在多个访问中选择出某个访问,让存储器响应该访问。在较长的一段时间内,仲裁器让每个处理器都获得了访问存储器的机会,保证每个处理器的处理任务的执行。
相关技术在多个处理器需要同时访问某个存储器的情况下,通常通过合理的仲裁机制,平衡多个处理器访问需求,优化整体访问效率。例如,一种用于多端口可访问设备的仲裁器,该仲裁器被配置为执行以下处理:如果仅在一个端口处具有待发送的访问请求,则将该访问请求确定为候选访问请求;或者如果在多个端口处具有相应的多个待发送的访问请求,则根据设备访问类型以及各个访问请求的访问类型和紧急程度,从多个待发送的访问请求中确定至少一个优先访问请求,以及从优先访问请求中确定候选访问请求。
相关技术通常根据各个访问端口的紧急程度对各个访问端口进行排序来决定仲裁结果,以平衡多个处理器访问需求,但是,在实际应用中,可能存在某个端口中访问请求的紧急程度不同的情况,从而存在无法差异化的应对单个端口中不同访问紧急程度的访问请求,总体访存效率低的技术问题。
发明内容
本发明的主要目的在于提供一种多端口访问仲裁方法、装置、设备及存储介质,旨在解决相关技术根据各个访问端口的紧急程度对各个访问端口进行排序来决定仲裁结果,无法差异化的应对单个端口中不同访问紧急程度的访问请求,总体访存效率低的技术问题。
为实现上述目的,本发明提供一种多端口访问仲裁方法,所述多端口访问仲裁方法包括:
在多个处理器通过多个访问端口同时访问存储器时,通过多个访问端口接收访问请求,所述多个处理器为不同类型的处理器,不同类型的处理器对应不同的访问端口;
将各个访问端口接收到的访问请求按照请求紧急程度的不同送入不同的虚拟等待队列;
获取各个虚拟等待队列的仲裁参考信息,并根据所述仲裁参考信息对各个虚拟等待队列中的访问请求进行仲裁,获得仲裁结果,所述仲裁参考信息用于确定仲裁通过的目标虚拟等待队列,并将所述目标虚拟等待队列中的待出队访问请求作为仲裁结果。
可选地,所述仲裁参考信息包括:老化计数值和/或仲裁保持信息;所述获取各个虚拟等待队列的仲裁参考信息,并根据所述仲裁参考信息对各个虚拟等待队列中的访问请求进行仲裁,获得仲裁结果,包括:
根据当前时间计算各个虚拟等待队列的老化计数值,和/或,根据各个访问端口接收到的访问请求的携带信息判断是否生成各个虚拟等待队列对应的仲裁保持信息;
根据所述老化计数值和/或所述仲裁保持信息对各个虚拟等待队列中的访问请求进行仲裁,获得仲裁结果。
可选地,所述根据当前时间计算各个虚拟等待队列的老化计数值,包括:
获取各个虚拟等待队列对应的老化曲线,所述老化曲线的绝对最小值相同,所述绝对最小值对应最高仲裁优先级;
将当前时间代入所述老化曲线分别计算各个虚拟等待队列的老化计数值。
可选地,所述根据各个访问端口接收到的访问请求的携带信息判断是否生成各个虚拟等待队列对应的仲裁保持信息,包括:
获取各个访问端口接收到的访问请求的携带信息和存储器的访问效率特性;
根据所述携带信息和所述访问效率特性判断是否生成各个虚拟等待队列对应的仲裁保持信息。
可选地,所述根据所述携带信息和所述访问效率特性判断是否生成各个虚拟等待队列对应的仲裁保持信息,包括:
根据所述携带信息获取各个虚拟等待队列中的待出队访问请求和上一出队访问请求;
根据所述访问效率特性生成保持判别依据;
根据所述待出队访问请求与所述上一出队访问请求的访问信息是否满足所述保持判别依据判断是否生成各个虚拟等待队列对应的仲裁保持信息。
可选地,所述根据所述老化计数值对各个虚拟等待队列中的访问请求进行仲裁,获得仲裁结果,包括:
比较各个虚拟等待队列的老化计数值,获得比较结果;
根据比较结果选取老化计数值最小的虚拟等待队列作为仲裁通过的目标虚拟等待队列,并将所述目标虚拟等待队列中的待出队访问请求作为仲裁结果。
可选地,所述根据所述仲裁保持信息对各个虚拟等待队列中的访问请求进行仲裁,获得仲裁结果,包括:
在存在输出仲裁保持信息的虚拟等待队列时,将输出仲裁保持信息的虚拟等待队列作为仲裁通过的目标虚拟等待队列,并将所述目标虚拟等待队列中的待出队访问请求作为仲裁结果。
可选地,所述根据所述老化计数值和所述仲裁保持信息对各个虚拟等待队列中的访问请求进行仲裁,获得仲裁结果,包括:
检测是否存在老化计数值为绝对最小值的虚拟等待队列;
在存在老化计数值为绝对最小值的虚拟等待队列时,将老化计数值为绝对最小值的虚拟等待队列作为仲裁通过的目标虚拟等待队列,并将所述目标虚拟等待队列中的待出队访问请求作为仲裁结果;
在不存在老化计数值为绝对最小值的虚拟等待队列时,检测是否存在输出仲裁保持信息的虚拟等待队列;
在存在输出仲裁保持信息的虚拟等待队列时,将输出仲裁保持信息的虚拟等待队列作为仲裁通过的目标虚拟等待队列,并将所述目标虚拟等待队列中的待出队访问请求作为仲裁结果。
可选地,所述在不存在老化计数值为绝对最小值的虚拟等待队列时,检测是否存在输出仲裁保持信息的虚拟等待队列之后,还包括:
在不存在输出仲裁保持信息的虚拟等待队列时,比较各个虚拟等待队列的老化计数值,并根据比较结果选取老化计数值最小的虚拟等待队列作为仲裁通过的目标虚拟等待队列,并将所述目标虚拟等待队列中的待出队访问请求作为仲裁结果。
可选地,所述将所述目标虚拟等待队列中的待出队访问请求作为仲裁结果,包括:
在所述目标虚拟等待队列为多个时,对所述目标虚拟等待队列进行轮询;
将每次轮询到的目标虚拟等待队列中的待出队访问请求作为仲裁结果。
可选地,所述将各个访问端口接收到的访问请求按照请求紧急程度的不同送入不同的虚拟等待队列,包括:
根据各个访问端口接收到的访问请求的携带信息确定所述访问请求的紧急程度;
根据所述紧急程度对所述访问请求进行分类,并根据分类结果将所述访问请求送入对应的虚拟等待队列。
可选地,所述在多个处理器通过多个访问端口同时访问存储器时,通过多个访问端口接收访问请求之后,还包括:
根据各个访问端口接收到的访问请求的携带信息,将访问请求送入第一级虚拟等待队列;
对各个第一级虚拟等待队列中的访问请求进行仲裁,获得仲裁结果;
按照下一级虚拟等待队列对应的队列要求将仲裁结果送入所述下一级虚拟等待队列;
对各个下一级虚拟等待队列中的访问请求进行仲裁,获得仲裁结果,并返回所述按照下一级虚拟等待队列对应的队列要求将仲裁结果送入所述下一级虚拟等待队列的步骤,直至仲裁级数等于预设级别,并输出最终仲裁结果。
可选地,所述存储器为内部存储器组,用于缓存访问请求,所述内部存储器组的存储器数量预先配置,所述存储器组根据配置信息映射为多个虚拟等待队列,每个虚拟等待队列由多个存储器组成。
此外,为实现上述目的,本发明还提出一种多端口访问仲裁装置,所述多端口访问仲裁装置包括:
接收模块,用于在多个处理器通过多个访问端口同时访问存储器时,通过多个访问端口接收访问请求,所述多个处理器为不同类型的处理器,不同类型的处理器对应不同的访问端口;
处理模块,用于将各个访问端口接收到的访问请求按照请求紧急程度的不同送入不同的虚拟等待队列;
仲裁模块,用于获取各个虚拟等待队列的仲裁参考信息,并根据所述仲裁参考信息对各个虚拟等待队列中的访问请求进行仲裁,获得仲裁结果,所述仲裁参考信息用于确定仲裁通过的目标虚拟等待队列,并将所述目标虚拟等待队列中的待出队访问请求作为仲裁结果。
此外,为实现上述目的,本发明还提出一种多端口访问仲裁设备,所述多端口访问仲裁设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的多端口访问仲裁程序,所述多端口访问仲裁程序配置为实现如上文所述的多端口访问仲裁方法。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有多端口访问仲裁程序,所述多端口访问仲裁程序被处理器执行时实现如上文所述的多端口访问仲裁方法。
在本发明中,公开了在多个处理器通过多个访问端口同时访问存储器时,通过多个访问端口接收访问请求,多个处理器为不同类型的处理器,不同类型的处理器对应不同的访问端口,将各个访问端口接收到的访问请求按照请求紧急程度的不同送入不同的虚拟等待队列,获取各个虚拟等待队列的仲裁参考信息,并根据仲裁参考信息对各个虚拟等待队列中的访问请求进行仲裁,获得仲裁结果,仲裁参考信息用于确定仲裁通过的目标虚拟等待队列,并将目标虚拟等待队列中的待出队访问请求作为仲裁结果;由于本发明在多个处理器通过多个访问端口同时访问存储器时,将各个访问端口接收到的不同访问请求,按照紧急程度分到不同的虚拟等待队列进行仲裁,从而能够差异化的应对单个端口中不同访问紧急程度的访问请求,防止紧急程度不高的访问获得超过需求的仲裁资源,进而有助于提升总体访存效率。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的多端口访问仲裁设备的结构示意图;
图2为本发明多端口访问仲裁方法第一实施例的流程示意图;
图3为多个处理器通过多个访问端口同时访问存储器的具体示意图;
图4为多个处理器通过多个访问端口同时访问存储器的场景示意图;
图5为本发明多端口访问仲裁方法第二实施例的流程示意图;
图6为本发明多端口访问仲裁方法一实施例的仲裁流程图;
图7为本发明多端口访问仲裁方法第三实施例的流程示意图;
图8为本发明多端口访问仲裁方法一实施例的多级仲裁结构示意图;
图9为请求等待队列模块结构示意图;
图10为本发明多端口访问仲裁装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的多端口访问仲裁设备结构示意图。
如图1所示,该多端口访问仲裁设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display),可选用户接口1003还可以包括标准的有线接口、无线接口,对于用户接口1003的有线接口在本发明中可为USB接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fidelity,Wi-Fi)接口)。存储器1005可以是高速的随机存取存储器(Random Access Memory,RAM),也可以是稳定的存储器(Non-volatileMemory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对多端口访问仲裁设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,认定为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及多端口访问仲裁程序。
在图1所示的多端口访问仲裁设备中,网络接口1004主要用于连接后台服务器,与所述后台服务器进行数据通信;用户接口1003主要用于连接用户设备;所述多端口访问仲裁设备通过处理器1001调用存储器1005中存储的多端口访问仲裁程序,并执行本发明实施例提供的多端口访问仲裁方法。
基于上述硬件结构,提出本发明多端口访问仲裁方法的实施例。
参照图2,图2为本发明多端口访问仲裁方法第一实施例的流程示意图,提出本发明多端口访问仲裁方法第一实施例。
应当理解的是,先进的计算机系统往往包含多个处理器,多个处理器协同工作完成一个或多个任务。多个处理器存在共享存储空间的情况。在该情况下,存在多个处理器需要同时访问同一个存储器的需求。但是,存储器,例如动态随机访问存储器(DynamicRandom Access Memory,DRAM),一般在一个时刻仅能响应一个访问需求,无法同时响应多个访问需求。此时,存储器往往是以时分复用的形式响应多个处理器的访问需求的。即在某个时刻,仲裁器在多个访问中选择出某个访问,让存储器响应该访问。在较长的一段时间内,仲裁器让每个处理器都获得了访问存储器的机会,保证每个处理器的处理任务的执行。
随着处理器处理性能的不断提升,存储器带宽逐渐成为制约计算机系统整体处理性能的瓶颈之一,因此平衡多个处理器的访问需求,提升整体的访问效率对于提升计算机系统整体性能十分关键。
相关技术在多个处理器需要同时访问某个存储器的情况下,通常通过合理的仲裁机制,平衡多个处理器访问需求,优化整体访问效率。
例如,一种用于多端口可访问设备的仲裁器,该仲裁器被配置为执行以下处理:如果仅在一个端口处具有待发送的访问请求,则将该访问请求确定为候选访问请求;或者如果在多个端口处具有相应的多个待发送的访问请求,则根据设备访问类型以及各个访问请求的访问类型和紧急程度,从多个待发送的访问请求中确定至少一个优先访问请求,以及从优先访问请求中确定候选访问请求。其具体方案表述如下:
1、如果在多个端口处具有相应的多个待发送的访问请求,则根据设备访问类型以及各个访问请求的访问类型和紧急程度,从多个待发送的访问请求中确定当前优先级最高的至少一个优先访问请求,以及从至少一个优先访问请求中确定候选访问请求;
2、老化单元,被配置为根据等待时间的增加来递减待发送的访问请求的排序计数,以获得表示紧急程度的更新排序计数,直至更新排序计数达到绝对最小排序计数;排序计数的初始化值被设置为正整数;老化模块每次将排序计数递减1;
3、使用从预设初始排序计数根据等待时间的增加而递减直至达到绝对最小排序计数的更新排序计数来表示紧急程度,如果所述多个待发送的访问请求均具有大于绝对最小排序计数的更新排序计数但具有不同的访问类型,则计算具有相对最小排序计数的第一访问类型的访问请求的更新排序计数与具有相对最小排序计数的第二访问类型的访问请求的更新排序计数的差值,并根据所述差值与切换阈值的比较结果确定优先访问请求。
在上述相关技术中,根据各个访问端口的紧急程度对各个访问端口进行排序来决定仲裁结果,以平衡多个处理器访问需求,但是,在实际应用中,可能存在某个端口中访问请求的紧急程度不同的情况,从而存在无法差异化的应对单个端口中不同访问紧急程度的访问请求,总体访存效率低的技术问题。
为了便于理解,参考图3进行说明,但并不对本发明进行限定。图3为多个处理器通过多个访问端口同时访问存储器的具体示意图,图中,假设某计算机系统是一台网络摄像机,该系统集成了CPU、数字信号处理器(Digital Signal Processor,DSP)、神经网络处理器(Neural Processing Unit,NPU)等多个处理器和1个DRAM。其中,DSP同时负责处理图像降噪和音频回声消除任务,分别将其称为任务1和任务2,两个任务间插进行。其中,任务1的输出数据是用于通过网络上传到云端进行保存的,该任务的紧急程度要求并不高;任务2的输出数据是用于人和摄像机的语音对讲,如果紧急程度不满足要求,将出现掉帧的情况影响对讲的连续性体验。而这两种任务的处理过程中,DSP是通过同一个端口向DRAM控制器发起数据访问的。相关的“每个端口对应一个紧急程度”的仲裁机制设计,无法差异化的应对以上两种任务的访存紧急程度差异。若按照任务1的紧急程度来设置该端口的紧急程度,则可能出现任务2的紧急程度需求没有满足的情况;若按照任务2的紧急程度设置该端口的紧急程度,则可能导致任务1享受了超过任务需求紧急程度的响应,影响其他高紧急程度需求访问的响应速度。
以上举例在现实中是容易出现的,这是因为现在的处理器设计往往考虑了较多的灵活性,在有限的资源下承担多种同时的任务是一种趋势。此外,并非只有图像处理/音频处理这种区分颗粒度比较大的任务差异,才会出现“某个端口的不同访问的紧急程度不同”的需求。单个音频处理任务或者图像处理任务,在处理过程中往往需要多次访问存储单元,每次的紧急程度都有可能相互差异。这是因为,一个大的处理任务又往往可以拆分成多个小的任务,不同的小任务间插进行或者并行进行,在访问存储时很可能出现不同的紧急程度需求,这里不再一一举例。
此外,还需要考虑一点,如果某个处理器的访问存储紧急程度不同,是否可以考虑为该处理器预留更多的访问端口来解决以上问题。需要说明的是,在计算机系统设计中,为了更好的解耦处理器和存储器设计,处理器和存储器的通信链路一般是由BUS完成的,标准的BUS互联往往需要较多的信号个数。每增加1个访问端口,相应的需要增加1组信号连接该端口,这会带来较大的布局布线资源消耗和难度。
因此,为了克服上述缺陷,本实施例在多个处理器通过多个访问端口同时访问存储器时,将各个访问端口接收到的不同访问请求,按照紧急程度分到不同的虚拟等待队列进行仲裁,从而能够差异化的应对单个端口中不同访问紧急程度的访问请求,防止紧急程度不高的访问获得超过需求的仲裁资源,进而有助于提升总体访存效率。
在第一实施例中,所述多端口访问仲裁方法包括:
步骤S10:在多个处理器通过多个访问端口同时访问存储器时,通过多个访问端口接收访问请求,所述多个处理器为不同类型的处理器,不同类型的处理器对应不同的访问端口。
可以理解的是,本实施例的执行主体可以是具有数据处理、网络通信以及程序运行功能的多端口访问仲裁设备,例如,总线仲裁设备等,或者是其他能够实现相同或相似功能的电子设备,本实施例对此不加限制。
为了便于理解,参考图4进行说明,但并不对本发明进行限定。图4为多个处理器通过多个访问端口同时访问存储器的场景示意图,图中,总线仲裁设备通过多个访问端口分别接收各个处理器发送的访问请求,其中,处理器可以是用于处理数据的计算组件,包括但不限于CPU、GPU、DSP以及NPU等,不同类型的处理器对应不同的访问端口,处理器通过访问端口访问存储器;在具体实现中,总线仲裁设备可以用于多个处理器通过多个访问端口同时访问存储器的场景,通过合理的仲裁机制,平衡多个处理器访问需求,其中,总线是指计算机组件间规范化的交换数据的方式,即以一种通用的方式为各组件提供数据传送和控制逻辑,总线上,可以承载一对一的数据交换,也可以承载多对多的数据交换;存储器包括但不限于DRAM颗粒、Flash颗粒、静态随机访问存储器(Static Random Access Memory,SRAM)以及寄存器组等。
步骤S20:将各个访问端口接收到的访问请求按照请求紧急程度的不同送入不同的虚拟等待队列。
应当理解的是,将各个访问端口接收到的访问请求按照请求紧急程度的不同送入不同的虚拟等待队列的具体步骤可以为:将各个访问端口接收到的访问请求按照请求紧急程度的不同分为若干种类,种类个数与虚拟等待队列个数相等,相同紧急程度的访问请求分为一类,并根据分类结果将访问请求送入各个紧急程度对应的虚拟等待队列。例如,高紧急程度对应第一个虚拟等待队列,中紧急程度对应第二个虚拟等待队列,低紧急程度对应第三个虚拟等待队列,根据紧急程度对访问请求进行分类后,将紧急程度为高的访问请求送入第一个虚拟等待队列,将紧急程度为中的访问请求送入第二个虚拟等待队列,将紧急程度为低的访问请求送入第三个虚拟等待队列。
步骤S30:获取各个虚拟等待队列的仲裁参考信息,并根据所述仲裁参考信息对各个虚拟等待队列中的访问请求进行仲裁,获得仲裁结果,所述仲裁参考信息用于确定仲裁通过的目标虚拟等待队列,并将所述目标虚拟等待队列中的待出队访问请求作为仲裁结果。
需要说明的是,仲裁参考信息包括但不限于老化计数值、仲裁保持信息等,本实施例对此不加以限制,待出队访问请求可以是目标虚拟等待队列中等待执行的访问请求。
应当理解的是,根据仲裁参考信息对各个虚拟等待队列中的访问请求进行仲裁可以是根据仲裁参考信息对各个虚拟等待队列中的访问请求进行仲裁,以确定仲裁通过的目标虚拟等待队列,并将目标虚拟等待队列中的待出队访问请求作为仲裁结果;在获得仲裁结果(即待出队访问请求)后,可以将仲裁结果传递至存储器,以便处理器根据待出队访问请求通过访问端口访问存储器。
在本实施例中,公开了在多个处理器通过多个访问端口同时访问存储器时,通过多个访问端口接收访问请求,多个处理器为不同类型的处理器,不同类型的处理器对应不同的访问端口,将各个访问端口接收到的访问请求按照请求紧急程度的不同送入不同的虚拟等待队列,获取各个虚拟等待队列的仲裁参考信息,并根据仲裁参考信息对各个虚拟等待队列中的访问请求进行仲裁,获得仲裁结果,仲裁参考信息用于确定仲裁通过的目标虚拟等待队列,并将目标虚拟等待队列中的待出队访问请求作为仲裁结果;由于本实施例在多个处理器通过多个访问端口同时访问存储器时,将各个访问端口接收到的不同访问请求,按照紧急程度分到不同的虚拟等待队列进行仲裁,从而能够差异化的应对单个端口中不同访问紧急程度的访问请求,防止紧急程度不高的访问获得超过需求的仲裁资源,进而有助于提升总体访存效率。
参照图5,图5为本发明多端口访问仲裁方法第二实施例的流程示意图,基于上述图2所示的第一实施例,提出本发明多端口访问仲裁方法的第二实施例。
在第二实施例中,所述步骤S20,包括:
步骤S201:根据各个访问端口接收到的访问请求的携带信息确定所述访问请求的紧急程度。
应当理解的是,本实施例中,将各个访问端口接收到的访问请求按照请求紧急程度的不同送入不同的虚拟等待队列的具体步骤可以为:根据各个访问端口接收到的访问请求的携带信息确定访问请求的紧急程度,根据紧急程度对访问请求进行分类,并根据分类结果将访问请求送入对应的虚拟等待队列;由于本实施例中先基于访问请求的携带信息确定访问请求的紧急程度,然后根据访问请求的紧急程度将访问请求送入对应的虚拟等待队列,从而能够提高访问请求分队列处理的准确性,进而能够提高总体访存效率。
需要说明的是,携带信息基于总线协议的不同可以对应不同的信息,携带信息包括但不限于访问地址、访问源ID、访问服务质量需求信息等,本实施例对此不加以限制。
可以理解的是,根据各个访问端口接收到的访问请求的携带信息确定访问请求的紧急程度可以根据各个访问端口接收到的访问请求的携带信息对访问请求进行紧急程度分析,并根据紧急程度分析结果确定访问请求的紧急程度,其中,根据各个访问端口接收到的访问请求的携带信息对访问请求进行紧急程度分析具体可以是根据各个访问端口接收到的访问请求的携带信息通过预设紧急程度分析模型对访问请求进行紧急程度分析,预设紧急程度分析模型可以是预先设置的神经网络模型;也可以是根据各个访问端口接收到的访问请求的携带信息通过预设映射关系表对访问请求进行紧急程度分析,预设映射关系表中包括访问请求的携带信息与紧急程度的对应关系,对应关系可以预先设置,本实施例对此不加以限制。
步骤S202:根据所述紧急程度对所述访问请求进行分类,并根据分类结果将所述访问请求送入对应的虚拟等待队列。
应当理解的是,根据紧急程度对访问请求进行分类,并根据分类结果将访问请求送入对应的虚拟等待队列的具体步骤可以为:将访问请求分为若干种类,种类个数与虚拟等待队列个数相等,相同紧急程度的访问请求分为一类,并根据分类结果将访问请求送入各个紧急程度对应的虚拟等待队列。例如,高紧急程度对应第一个虚拟等待队列,中紧急程度对应第二个虚拟等待队列,低紧急程度对应第三个虚拟等待队列,根据紧急程度对访问请求进行分类后,将紧急程度为高的访问请求送入第一个虚拟等待队列,同理,将紧急程度为中的访问请求送入第二个虚拟等待队列,将紧急程度为低的访问请求送入第三个虚拟等待队列,本实施例对此加以限制。
本实施例中先基于访问请求的携带信息确定访问请求的紧急程度,然后根据访问请求的紧急程度将访问请求送入对应的虚拟等待队列,从而能够提高访问请求分队列处理的准确性,进而能够提高总体访存效率。
在第二实施例中,所述仲裁参考信息包括:老化计数值和/或仲裁保持信息,所述步骤S30,包括:
步骤S301:根据当前时间计算各个虚拟等待队列的老化计数值,和/或,根据各个访问端口接收到的访问请求的携带信息判断是否生成各个虚拟等待队列对应的仲裁保持信息。
应当理解的是,本实施例中,仲裁参考信息可以包括老化计数值,老化计数值用于衡量虚拟等待队列的等待时间,根据老化计数值对各个虚拟等待队列中的访问请求进行仲裁,从而能够避免虚拟等待队列中的待出队访问请求等待时间过长,进而能够平衡多个处理器访问需求,其中,老化计数值用于表示虚拟等待队列的等待时间,老化计数值与等待时间负相关,等待时间越长,老化计数值越小,老化计数值存在绝对最小值,绝对最小值意味着最高的仲裁优先级。
本实施例中,仲裁参考信息可以包括仲裁保持信息,仲裁保持信息用于确保待出队访问请求与上一出队访问请求保持持续访问,根据仲裁保持信息对各个虚拟等待队列中的访问请求进行仲裁,从而能够避免打断连续访问,提升总体访存效率,其中,待出队访问请求与上一出队访问请求访问同一存储资源。
当然,本实施例中,仲裁参考信息还可以包括老化计数值和仲裁保持信息,根据老化计数值和仲裁保持信息对各个虚拟等待队列中的访问请求进行仲裁,从而能够同时实现上述两种效果,进而能够进一步提升总体访存效率。
应当理解的是,根据当前时间计算各个虚拟等待队列的老化计数值可以是将当前时间代入预设递减函数计算各个虚拟等待队列的老化计数值,其中,预设递减函数可以预先设置;根据各个访问端口接收到的访问请求的携带信息判断是否生成各个虚拟等待队列对应的仲裁保持信息可以是对各个访问端口接收到的访问请求的携带信息进行分析,并根据分析结果判断各个虚拟等待队列中的待出队访问请求是否需要与上一出队访问请求保持持续访问,若需要,则生成各个虚拟等待队列对应的仲裁保持信息;若不需要,则不生成各个虚拟等待队列对应的仲裁保持信息。
可以理解的是,本实施例中,步骤S301之前,还包括:检测各个虚拟等待队列中是否存在待出队访问请求;若所有虚拟等待队列中都不存在待出队访问请求,则不需要进行仲裁,无仲裁结果输出;若至少一个虚拟等待队列中存在待出队访问请求,则执行步骤S301,本实施例中在进行仲裁之前先检测是否存在等待执行的访问请求,从而能够避免不必要的资源浪费。
进一步地,为了减少存储器的转身损耗,提升总体访存效率,所述根据当前时间计算各个虚拟等待队列的老化计数值,包括:获取各个虚拟等待队列对应的老化曲线,所述老化曲线的绝对最小值相同,所述绝对最小值对应最高仲裁优先级;将当前时间代入所述老化曲线分别计算各个虚拟等待队列的老化计数值。
应当理解的是,相关技术中老化计数值的确定方式为每次将排序计数递减1,该方案相当于一种线性且斜率为1的老化曲线。与之相对比,非线性的老化曲线可能带来总效率的进一步提升。
为了便于理解,本实施例中进行如下说明:存储器,其工作原理导致存在响应不同访问时耗时不同的情况,例如,Row buffer hit和Empty row buffer两种情况的差异,其中,Row buffer hit是指一条访存指令发到内存控制器,它的访存延时是存在不同的可能性的,row buffer hit 就是说数据已经在row buffer中,这时延时主要来自于从rowbuffer到把数据放在数据总线上的时延;Empty row buffer即row buffer是空的,访存延时除了从row buffer到数据总线时间,还包括从电容到sense amplifier再到row buffer的时间。因此,为了提升访问存储器的总效率,应尽量减少打断连续访问(例如1个Row的访问,1个Row可能代表2KB的地址空间),减少因为切换访问地址带来Turn-around时间损耗。
假设时间为x,老化计数值为y,老化曲线描述为y=f(x),则现有技术的老化曲线可以描述为y=A-x,其中A为预设的初始值,考虑一个未被响应的访问,非凸函数对应的老化曲线比直线更好的表征了访问请求在“前期”紧急程度不高,“后期”紧急程度越来越高的需求描述,从而在“前期”有助于减少对其他端口的连续访问的打断,减少Turn-around损耗,其中,凸函数是一个定义在某个向量空间的凸集C(区间)上的实值函数f。设f为定义在区间I上的函数,若对I上的任意两点x1<x2和任意的实数λ∈(0,1),总有f[λx1+(1-λ)x2]≤λf(x1)+(1-λ)f(x2), 则f称为I上的凸函数;非凸函数即凸函数的反义词,具体指一个定义在某个向量空间的凸集C(区间)上的实值函数f。设f为定义在区间I上的函数,若对I上的任意两点x1<x2和任意的实数λ∈(0,1),总有f[λx1+(1-λ)x2]>λf(x1)+(1-λ)f(x2), 则f称为I上的非凸函数。
因此,为了克服上述缺陷,本实施例中,老化计数值通过可配置的老化曲线进行计算,相比于线性老化计数,有利于减少存储器的转身损耗,有助于提升总体访存效率。
需要说明的是,各个虚拟等待队列对应的老化曲线可以根据老化计数值(y,因变量)-时间(x,自变量)递减函数配置(例如,如果3个参数则可以配置为二次幂递减函数y=a*x^2+b*x+c,其中a,b,c为老化计数器配置参数;以此类推。)所有老化计数器具有相同的绝对最小值,绝对最小值意味着最高的仲裁优先级。
应当理解的是,由于老化曲线中未知数只有时间和老化计数值,因此,将当前时间代入老化曲线可以计算出各个虚拟等待队列的老化计数值。
在本实施例中,老化计数值通过可配置的老化曲线进行计算,相比于线性老化计数,有利于减少存储器的转身损耗,有助于提升总体访存效率。
进一步地,为了确保虚拟等待队列中访问同一存储资源的待出队访问请求与上一出队访问请求保持持续访问,减少存储器的转身损耗,提升总体访存效率,所述根据各个访问端口接收到的访问请求的携带信息判断是否生成各个虚拟等待队列对应的仲裁保持信息,包括:获取各个访问端口接收到的访问请求的携带信息和存储器的访问效率特性;根据所述携带信息和所述访问效率特性判断是否生成各个虚拟等待队列对应的仲裁保持信息。
可以理解的是,访问效率特性与存储器的类型相关,根据携带信息和访问效率特性判断各个虚拟等待队列是否生成仲裁保持信息可以是将携带信息和访问效率特性输入预设生成的判别模型,以判断各个虚拟等待队列是否生成仲裁保持信息,其中,判别模型可以预先训练,判别模型可以是神经网络模型,本实施例对此不加以限制。
在本实施例中,根据各个虚拟等待队列中访问请求的携带信息和存储器的访问效率特性判断各个虚拟等待队列是否生成仲裁保持信息,从而能够确保虚拟等待队列中访问同一存储资源的待出队访问请求与上一出队访问请求保持持续访问,进而能够减少存储器的转身损耗,提升总体访存效率
进一步地,为了提高仲裁保持信息生成的准确性,所述根据所述携带信息和所述访问效率特性判断是否生成各个虚拟等待队列对应的仲裁保持信息,包括:根据所述携带信息获取各个虚拟等待队列中的待出队访问请求和上一出队访问请求;根据所述访问效率特性生成保持判别依据;根据所述待出队访问请求与所述上一出队访问请求的访问信息是否满足所述保持判别依据判断是否生成各个虚拟等待队列对应的仲裁保持信息。
在一个例子中,以DRAM为例,考虑Row buffer hit现象,若队列中最靠前的待出队访问请求与上一出队访问请求,两者的访问地址空间为DRAM的相同Row,则为该队列生成仲裁保持信息。
步骤S302:根据所述老化计数值和/或所述仲裁保持信息对各个虚拟等待队列中的访问请求进行仲裁,获得仲裁结果。
应当理解的是,为了避免虚拟等待队列中的待出队访问请求等待时间过长,平衡多个处理器访问需求,步骤S302可以是根据所述老化计数值对各个虚拟等待队列中的访问请求进行仲裁,获得仲裁结果;为了避免打断连续访问,提升总体访存效率,步骤S302也可以是根据所述仲裁保持信息对各个虚拟等待队列中的访问请求进行仲裁,获得仲裁结果;当然,为了同时实现上述两种效果,进一步提升总体访存效率,步骤S302还可以是根据老化计数值和仲裁保持信息对各个虚拟等待队列中的访问请求进行仲裁,获得仲裁结果。
进一步地,为了避免虚拟等待队列中的待出队访问请求等待时间过长,平衡多个处理器访问需求,所述根据所述老化计数值对各个虚拟等待队列中的访问请求进行仲裁,获得仲裁结果,包括:比较各个虚拟等待队列的老化计数值,获得比较结果;根据比较结果选取老化计数值最小的虚拟等待队列作为仲裁通过的目标虚拟等待队列,并将所述目标虚拟等待队列中的待出队访问请求作为仲裁结果。
应当理解的是,本实施例中,老化计数值用于衡量虚拟等待队列的等待时间,根据老化计数值对各个虚拟等待队列中的访问请求进行仲裁,从而能够避免虚拟等待队列中的待出队访问请求等待时间过长,进而能够平衡多个处理器访问需求,其中,老化计数值用于表示虚拟等待队列的等待时间,老化计数值与等待时间负相关,等待时间越长,老化计数值越小,老化计数值存在绝对最小值,绝对最小值意味着最高的仲裁优先级。因此,根据老化计数值对各个虚拟等待队列中的访问请求进行仲裁,获得仲裁结果具体可以是选取老化计数值最小的虚拟等待队列作为仲裁通过的目标虚拟等待队列,并将所述目标虚拟等待队列中的待出队访问请求作为仲裁结果。
进一步地,为了避免打断连续访问,提升总体访存效率,所述根据所述仲裁保持信息对各个虚拟等待队列中的访问请求进行仲裁,获得仲裁结果,包括:在存在输出仲裁保持信息的虚拟等待队列时,将输出仲裁保持信息的虚拟等待队列作为仲裁通过的目标虚拟等待队列,并将所述目标虚拟等待队列中的待出队访问请求作为仲裁结果。
应当理解的是,在存在输出仲裁保持信息的虚拟等待队列时,说明存在待出队访问请求需要与上一出队访问请求保持持续访问,因此,将输出仲裁保持信息的虚拟等待队列作为仲裁通过的目标虚拟等待队列,并将目标虚拟等待队列中的待出队访问请求作为仲裁结果。
进一步地,为了在多个处理器需要同时访问某个存储器的情况下,平衡多个处理器访问需求,优化整体访问效率,所述根据所述老化计数值和所述仲裁保持信息对各个虚拟等待队列中的访问请求进行仲裁,获得仲裁结果,包括:检测是否存在老化计数值为绝对最小值的虚拟等待队列;在存在老化计数值为绝对最小值的虚拟等待队列时,将老化计数值为绝对最小值的虚拟等待队列作为仲裁通过的目标虚拟等待队列,并将所述目标虚拟等待队列中的待出队访问请求作为仲裁结果;在不存在老化计数值为绝对最小值的虚拟等待队列时,检测是否存在输出仲裁保持信息的虚拟等待队列;在存在输出仲裁保持信息的虚拟等待队列时,将输出仲裁保持信息的虚拟等待队列作为仲裁通过的目标虚拟等待队列,并将所述目标虚拟等待队列中的待出队访问请求作为仲裁结果。
可以理解的是,老化计数值用于表示虚拟等待队列的等待时间,老化计数值与等待时间负相关,等待时间越长,老化计数值越小,老化计数值存在绝对最小值,绝对最小值意味着最高的仲裁优先级。因此,本实施例中,需要先检测是否存在老化计数值为绝对最小值的虚拟等待队列,即先检测是否存在最高的仲裁优先级的虚拟等待队列,若存在,则将老化计数值为绝对最小值的虚拟等待队列作为仲裁通过的目标虚拟等待队列;若不存在,则执行后续检测步骤,即检测是否存在输出仲裁保持信息的虚拟等待队列。
进一步地,所述在不存在老化计数值为绝对最小值的虚拟等待队列时,检测是否存在输出仲裁保持信息的虚拟等待队列之后,还包括:在不存在输出仲裁保持信息的虚拟等待队列时,比较各个虚拟等待队列的老化计数值,并根据比较结果选取老化计数值最小的虚拟等待队列作为仲裁通过的目标虚拟等待队列,并将所述目标虚拟等待队列中的待出队访问请求作为仲裁结果。
在本实施例中,基于虚拟等待队列的老化计数值和仲裁保持信息设置了合理的仲裁流程,从而能够在多个处理器需要同时访问某个存储器的情况下,平衡多个处理器访问需求,优化整体访问效率。
进一步地,本实施例中,在目标虚拟等待队列为多个时,采用轮询调度的方式进行仲裁,以避免遗漏目标虚拟等待队列,所述将所述目标虚拟等待队列中的待出队访问请求作为仲裁结果,包括:在所述目标虚拟等待队列为多个时,对所述目标虚拟等待队列进行轮询;将每次轮询到的目标虚拟等待队列中的待出队访问请求作为仲裁结果。
需要说明的是,轮询调度算法的原理是从1开始,依次对目标虚拟等待队列进行仲裁,直到N(目标虚拟等待队列个数),然后重新开始循环。
为了便于理解,参考图6进行说明,但并不对本发明进行限定。图6为本发明多端口访问仲裁方法一实施例的仲裁流程图,图中,将虚拟等待队列简称为虚拟队列,仲裁流程包括以下步骤:
步骤1:开始;
步骤2:判断是否存在一个或多个虚拟队列,队列中存在等待的访问请求;若是,则跳转到步骤3;若否,则跳转到步骤7;
步骤3:判断是否存在一个或多个虚拟队列,队列的老化计数值为绝对最小值;若是,则跳转到步骤4;若否,则跳转到步骤8;
步骤4:判断老化计数值为绝对最小值的虚拟队列个数是否唯一;若是,则跳转到步骤5;若否,则跳转到步骤6;
步骤5:将唯一的老化计数值等于绝对最小值的虚拟队列确定为仲裁通过的虚拟队列;
步骤6:在存在老化计数值等于绝对最小值的虚拟队列中进行轮询调度;
步骤7:无仲裁结果输出;
步骤8:是否存在某个虚拟队列输出了仲裁保持信息;
步骤9:将上次仲裁结果作为本次仲裁结果;
步骤10:比较各虚拟队列的老化计数值,找出相对最小值;
步骤11:老化计数值等于相对最小值的虚拟队列个数是否唯一;
步骤12:将唯一的老化计数值等于相对最小值的虚拟队列确定为仲裁通过的虚拟队列;
步骤13:在老化计数值等于相对最小值的虚拟队列中进行轮询调度;
步骤14:结束。
参照图7,图7为本发明多端口访问仲裁方法第三实施例的流程示意图,基于上述各实施例,提出本发明多端口访问仲裁方法的第三实施例。
在第三实施例中,所述步骤S10之后,还包括:
步骤S20':根据各个访问端口接收到的访问请求的携带信息,将访问请求送入第一级虚拟等待队列。
应当理解的是,相关技术考虑到了减少访问类型的切换以节省带宽成本,这是Turn-around损耗的组成部分之一。但未考虑相同访问类型,由于访问地址的不同,依然会出现Turn-around损耗,相关技术未有针对该问题的相应措施,总访问效率有进一步提升空间。
不同端口可能存在相同的访问类型,或者存在相同或相似的紧急程度,将其称之为“相似访问”。假设仲裁级数只有1级,那么需要“相似访问”在每个端口都需要在第一级的虚拟等待队列分配一定的存储空间。而采用多级仲裁可以让不同端口的“相似访问”在复用后级的虚拟等待队列中的缓存资源,有利于整合“相似访问”所需的缓存资源,有利于降低总线仲裁装置的总体缓存资源消耗。同时,多级仲裁资源分配提供了更大的资源分配配置调整空间(即可配置更多个紧急程度信息产生单元),有助于提升总体访存效率。
步骤S30':对各个第一级虚拟等待队列中的访问请求进行仲裁,获得仲裁结果。
应当理解的是,对各个第一级虚拟等待队列中的访问请求进行仲裁的具体步骤与上述实施例相同,在此不再赘述;当然,本实施例中,也可以根据实际需求对仲裁流程进行调整,本实施例对此不加以限制。
步骤S40':按照下一级虚拟等待队列对应的队列要求将仲裁结果送入所述下一级虚拟等待队列。
可以理解的是,队列要求可以预先设置,例如,队列要求可以是按照操作类型的不同将仲裁结果送入所述下一级虚拟等待队列,例如,按照将读操作送入一虚拟等待队列,将写操作送入另一虚拟等待队列,以实现更细维度的仲裁。
步骤S50':对各个下一级虚拟等待队列中的访问请求进行仲裁,获得仲裁结果,并返回所述按照下一级虚拟等待队列对应的队列要求将仲裁结果送入所述下一级虚拟等待队列的步骤,直至仲裁级数等于预设级别,并输出最终仲裁结果。
应当理解的是,对各个下一级虚拟等待队列中的访问请求进行仲裁的具体步骤与上述实施例相同,在此不再赘述;当然,本实施例中,也可以根据实际需求对仲裁流程进行调整,本实施例对此不加以限制。
为了便于理解,参考图8进行说明,但并不对本发明进行限定。图8为本发明多端口访问仲裁方法一实施例的多级仲裁结构示意图,本发明多端口访问仲裁方法通过图中各模块和单元实现,图中,总线仲裁设备被配置为A个访问请求接收端口,持续的接收访问请求,经过若干级的等待队列和仲裁,最终将仲裁结果传递至存储器。由如下2种模块构成:
1、请求等待队列模块101:用于完成访问请求的缓存、老化计数值更新计算和访问请求保持计算,并在合适的时机,将访问请求、老化计数值、访问请求保持等信息重新打包,传递给仲裁模块;
2、仲裁模块102:根据老化信息、访问请求保持信息,完成仲裁选择,向后级传递仲裁结果。
为了便于理解,还参考图9进行说明,但并不对本发明进行限定。图9为请求等待队列模块结构示意图,图中,请求等待队列模块101的组成结构如下:
1)请求转发单元201:根据配置,将访问请求分为若干种类,种类个数与请求缓存池单元202的虚拟等待队列个数相等。在每个访问请求进入时,根据访问请求携带的信息(该信息对应不同的Bus协议可对应不同的信息,例如访问地址、访问源ID、访问服务质量需求信息等),将该请求访问分类,并根据分类将该请求送入相应的虚拟等待队列;
2)请求缓存池单元202:可配置存储器个数的内部存储器组,用于缓存访问请求。根据配置,可将该存储器组映射为多个虚拟的等待队列,每个虚拟等待队列由多个存储器组成。每个虚拟队列中的访问请求按照先进先出的方式入队和出队。举例说明如下:假设请求缓存池单元202被配置为100个存储器,1~10号存储器配置为第一个虚拟等待队列,11~40号存储器配置为第二个虚拟等待队列,41~100号存储器配置为第三个虚拟等待队列;
3)紧急程度信息产生单元203:包含老化信息产生单元2031和仲裁保持信息产生单元2032:
a)老化信息产生单元2031:可配置老化计数器个数的老化计数器组。根据配置,为请求缓存池单元202的每个虚拟等待队列,更新老化值。每个老化计数器的老化值更新过程所对应的老化值(y,因变量)-时间(x,自变量)递减函数可独立配置。(例如,如果2个参数则配置为线性递减函数y=a*x+b,其中a,b为老化计数器配置参数;如果3个参数则可以配置为二次幂递减函数y=a*x^2+b*x+c,其中a,b,c为老化计数器配置参数;以此类推。)所有老化计数器具有相同的绝对最小值,绝对最小值意味着最高的仲裁优先级;
b)仲裁保持信息产生单元2032:可配置请求保持计算器个数的请求保持计算器组。根据配置,为请求缓存池单元202的每个虚拟等待队列,根据队列中访问请求的携带信息和存储器的访问效率特性,计算出当前虚拟等待队列是否需要产生仲裁保持信息。上述的访问效率特性,与存储器类型相关,以DRAM为例,考虑Row buffer hit现象,若队列中最靠前的访问请求与上次出队的访问请求,两者的访问地址空间在DRAM的相同Row,则为该队列请求产生仲裁保持信息;
4)输出端口单元204:可配置数目的输出端口组。根据配置,每个输出端口的功能为:为请求缓存池单元202的每个虚拟等待队列,将队列中最靠前的访问请求、该队列对应的老化信息、该队列对应的仲裁保持信息重新打包,供相应的仲裁模块使用。
应当理解的是,对于需要达到既定功能/性能的产品,无论是云、边、端的设备,带宽都是一种宝贵的资源,设备的技术方案设计过程中经常遇到带宽不足的问题。在带宽不足的情况下,典型的解决办法包括增加存储器的个数(也即增加数据位宽),使用更高等级的存储器接口(例如从DDR3更换到DDR4/LPDDR4,或者HBM等),使用存储数据压缩技术。以上典型做法可能导致设备竞争力大幅下降,具体体现在以下几个方面:
1、物料成本上升:使用更多存储器个数或更换更高等级的存储器接口;
2、小型化设计难度增加:更多的存储器个数,以及更高等级的存储器接口带来的PCB设计复杂度上升,都影响PCB的小型化设计;
3、计算机系统成本上升:使用更多的存储器个数代表要增加存储器控制器的位宽,从而增加计算机系统硬件实现面积成本。升级存储器接口类型将导致存储器控制器设计复杂度上升,也可能导致封装成本进一步上升。增加存储数据压缩技术意味着增加独立的数据压缩和解压缩硬件,即增加了计算机系统的设计复杂度,又增加了相关压缩解压缩硬件带来的面积成本。
相比以上带宽不足情况下的典型解决办法,本发明提出的方案可以在不增加产品成本的基础上,有效提升计算机系统的有效可用带宽。
此外,参照图10,本发明实施例还提出一种多端口访问仲裁装置,所述多端口访问仲裁装置包括:
接收模块10,用于在多个处理器通过多个访问端口同时访问存储器时,通过多个访问端口接收访问请求,所述多个处理器为不同类型的处理器,不同类型的处理器对应不同的访问端口;
处理模块20,用于将各个访问端口接收到的访问请求按照请求紧急程度的不同送入不同的虚拟等待队列;
仲裁模块30,用于获取各个虚拟等待队列的仲裁参考信息,并根据所述仲裁参考信息对各个虚拟等待队列中的访问请求进行仲裁,获得仲裁结果,所述仲裁参考信息用于确定仲裁通过的目标虚拟等待队列,并将所述目标虚拟等待队列中的待出队访问请求作为仲裁结果。
在本实施例中,公开了在多个处理器通过多个访问端口同时访问存储器时,通过多个访问端口接收访问请求,多个处理器为不同类型的处理器,不同类型的处理器对应不同的访问端口,将各个访问端口接收到的访问请求按照请求紧急程度的不同送入不同的虚拟等待队列,获取各个虚拟等待队列的仲裁参考信息,并根据仲裁参考信息对各个虚拟等待队列中的访问请求进行仲裁,获得仲裁结果,仲裁参考信息用于确定仲裁通过的目标虚拟等待队列,并将目标虚拟等待队列中的待出队访问请求作为仲裁结果;由于本实施例在多个处理器通过多个访问端口同时访问存储器时,将各个访问端口接收到的不同访问请求,按照紧急程度分到不同的虚拟等待队列进行仲裁,从而能够差异化的应对单个端口中不同访问紧急程度的访问请求,防止紧急程度不高的访问获得超过需求的仲裁资源,进而有助于提升总体访存效率。
在一实施例中,所述仲裁参考信息包括:老化计数值和/或仲裁保持信息;所述仲裁模块30,还用于根据当前时间计算各个虚拟等待队列的老化计数值,和/或,根据各个访问端口接收到的访问请求的携带信息判断是否生成各个虚拟等待队列对应的仲裁保持信息;根据所述老化计数值和/或所述仲裁保持信息对各个虚拟等待队列中的访问请求进行仲裁,获得仲裁结果。
在一实施例中,所述仲裁模块30,还用于获取各个虚拟等待队列对应的老化曲线,所述老化曲线的绝对最小值相同,所述绝对最小值对应最高仲裁优先级;将当前时间代入所述老化曲线分别计算各个虚拟等待队列的老化计数值。
在一实施例中,所述仲裁模块30,还用于获取各个访问端口接收到的访问请求的携带信息和存储器的访问效率特性;根据所述携带信息和所述访问效率特性判断是否生成各个虚拟等待队列对应的仲裁保持信息。
在一实施例中,所述仲裁模块30,还用于根据所述携带信息获取各个虚拟等待队列中的待出队访问请求和上一出队访问请求;根据所述访问效率特性生成保持判别依据;根据所述待出队访问请求与所述上一出队访问请求的访问信息是否满足所述保持判别依据判断是否生成各个虚拟等待队列对应的仲裁保持信息。
在一实施例中,所述仲裁模块30,还用于比较各个虚拟等待队列的老化计数值,获得比较结果;根据比较结果选取老化计数值最小的虚拟等待队列作为仲裁通过的目标虚拟等待队列,并将所述目标虚拟等待队列中的待出队访问请求作为仲裁结果。
在一实施例中,所述仲裁模块30,还用于在存在输出仲裁保持信息的虚拟等待队列时,将输出仲裁保持信息的虚拟等待队列作为仲裁通过的目标虚拟等待队列,并将所述目标虚拟等待队列中的待出队访问请求作为仲裁结果。
在一实施例中,所述仲裁模块30,还用于检测是否存在老化计数值为绝对最小值的虚拟等待队列;在存在老化计数值为绝对最小值的虚拟等待队列时,将老化计数值为绝对最小值的虚拟等待队列作为仲裁通过的目标虚拟等待队列,并将所述目标虚拟等待队列中的待出队访问请求作为仲裁结果;在不存在老化计数值为绝对最小值的虚拟等待队列时,检测是否存在输出仲裁保持信息的虚拟等待队列;在存在输出仲裁保持信息的虚拟等待队列时,将输出仲裁保持信息的虚拟等待队列作为仲裁通过的目标虚拟等待队列,并将所述目标虚拟等待队列中的待出队访问请求作为仲裁结果。
在一实施例中,所述仲裁模块30,还用于在不存在输出仲裁保持信息的虚拟等待队列时,比较各个虚拟等待队列的老化计数值,并根据比较结果选取老化计数值最小的虚拟等待队列作为仲裁通过的目标虚拟等待队列,并将所述目标虚拟等待队列中的待出队访问请求作为仲裁结果。
在一实施例中,所述仲裁模块30,还用于在所述目标虚拟等待队列为多个时,对所述目标虚拟等待队列进行轮询;将每次轮询到的目标虚拟等待队列中的待出队访问请求作为仲裁结果。
在一实施例中,所述处理模块20,还用于根据各个访问端口接收到的访问请求的携带信息确定所述访问请求的紧急程度;根据所述紧急程度对所述访问请求进行分类,并根据分类结果将所述访问请求送入对应的虚拟等待队列。
在一实施例中,所述多端口访问仲裁装置还包括:
多级处理模块,用于根据各个访问端口接收到的访问请求的携带信息,将访问请求送入第一级虚拟等待队列;对各个第一级虚拟等待队列中的访问请求进行仲裁,获得仲裁结果;按照下一级虚拟等待队列对应的队列要求将仲裁结果送入所述下一级虚拟等待队列;对各个下一级虚拟等待队列中的访问请求进行仲裁,获得仲裁结果,并返回所述按照下一级虚拟等待队列对应的队列要求将仲裁结果送入所述下一级虚拟等待队列的步骤,直至仲裁级数等于预设级别,并输出最终仲裁结果。
在一实施例中,所述存储器为内部存储器组,用于缓存访问请求,所述内部存储器组的存储器数量预先配置,所述存储器组根据配置信息映射为多个虚拟等待队列,每个虚拟等待队列由多个存储器组成。
本发明所述多端口访问仲裁装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有多端口访问仲裁程序,所述多端口访问仲裁程序被处理器执行时实现如上文所述的多端口访问仲裁方法。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器镜像(Read Only Memory image,ROM)/随机存取存储器(Random AccessMemory,RAM)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (13)
1.一种多端口访问仲裁方法,其特征在于,所述多端口访问仲裁方法包括:
在多个处理器通过多个访问端口同时访问存储器时,通过多个访问端口接收访问请求,所述多个处理器为不同类型的处理器,不同类型的处理器对应不同的访问端口;
将各个访问端口接收到的访问请求按照请求紧急程度的不同送入不同的虚拟等待队列;
获取各个虚拟等待队列的仲裁参考信息,并根据所述仲裁参考信息对各个虚拟等待队列中的访问请求进行仲裁,获得仲裁结果,所述仲裁参考信息用于确定仲裁通过的目标虚拟等待队列,并将所述目标虚拟等待队列中的待出队访问请求作为仲裁结果;
其中,所述仲裁参考信息包括:老化计数值和/或仲裁保持信息;所述获取各个虚拟等待队列的仲裁参考信息,并根据所述仲裁参考信息对各个虚拟等待队列中的访问请求进行仲裁,获得仲裁结果,包括:
根据当前时间计算各个虚拟等待队列的老化计数值,和/或,根据各个访问端口接收到的访问请求的携带信息判断是否生成各个虚拟等待队列对应的仲裁保持信息;
根据所述老化计数值和/或所述仲裁保持信息对各个虚拟等待队列中的访问请求进行仲裁,获得仲裁结果;
所述根据各个访问端口接收到的访问请求的携带信息判断是否生成各个虚拟等待队列对应的仲裁保持信息,包括:
获取各个访问端口接收到的访问请求的携带信息和存储器的访问效率特性;
根据所述携带信息和所述访问效率特性判断是否生成各个虚拟等待队列对应的仲裁保持信息;
所述在多个处理器通过多个访问端口同时访问存储器时,通过多个访问端口接收访问请求之后,还包括:
根据各个访问端口接收到的访问请求的携带信息,将访问请求送入第一级虚拟等待队列;
对各个第一级虚拟等待队列中的访问请求进行仲裁,获得仲裁结果;
按照下一级虚拟等待队列对应的队列要求将仲裁结果送入所述下一级虚拟等待队列;
对各个下一级虚拟等待队列中的访问请求进行仲裁,获得仲裁结果,并返回所述按照下一级虚拟等待队列对应的队列要求将仲裁结果送入所述下一级虚拟等待队列的步骤,直至仲裁级数等于预设级别,并输出最终仲裁结果。
2.如权利要求1所述的多端口访问仲裁方法,其特征在于,所述根据当前时间计算各个虚拟等待队列的老化计数值,包括:
获取各个虚拟等待队列对应的老化曲线,所述老化曲线的绝对最小值相同,所述绝对最小值对应最高仲裁优先级;
将当前时间代入所述老化曲线分别计算各个虚拟等待队列的老化计数值。
3.如权利要求1所述的多端口访问仲裁方法,其特征在于,所述根据所述携带信息和所述访问效率特性判断是否生成各个虚拟等待队列对应的仲裁保持信息,包括:
根据所述携带信息获取各个虚拟等待队列中的待出队访问请求和上一出队访问请求;
根据所述访问效率特性生成保持判别依据;
根据所述待出队访问请求与所述上一出队访问请求的访问信息是否满足所述保持判别依据判断是否生成各个虚拟等待队列对应的仲裁保持信息。
4.如权利要求1所述的多端口访问仲裁方法,其特征在于,所述根据所述老化计数值对各个虚拟等待队列中的访问请求进行仲裁,获得仲裁结果,包括:
比较各个虚拟等待队列的老化计数值,获得比较结果;
根据比较结果选取老化计数值最小的虚拟等待队列作为仲裁通过的目标虚拟等待队列,并将所述目标虚拟等待队列中的待出队访问请求作为仲裁结果。
5.如权利要求1所述的多端口访问仲裁方法,其特征在于,所述根据所述仲裁保持信息对各个虚拟等待队列中的访问请求进行仲裁,获得仲裁结果,包括:
在存在输出仲裁保持信息的虚拟等待队列时,将输出仲裁保持信息的虚拟等待队列作为仲裁通过的目标虚拟等待队列,并将所述目标虚拟等待队列中的待出队访问请求作为仲裁结果。
6.如权利要求1所述的多端口访问仲裁方法,其特征在于,所述根据所述老化计数值和所述仲裁保持信息对各个虚拟等待队列中的访问请求进行仲裁,获得仲裁结果,包括:
检测是否存在老化计数值为绝对最小值的虚拟等待队列;
在存在老化计数值为绝对最小值的虚拟等待队列时,将老化计数值为绝对最小值的虚拟等待队列作为仲裁通过的目标虚拟等待队列,并将所述目标虚拟等待队列中的待出队访问请求作为仲裁结果;
在不存在老化计数值为绝对最小值的虚拟等待队列时,检测是否存在输出仲裁保持信息的虚拟等待队列;
在存在输出仲裁保持信息的虚拟等待队列时,将输出仲裁保持信息的虚拟等待队列作为仲裁通过的目标虚拟等待队列,并将所述目标虚拟等待队列中的待出队访问请求作为仲裁结果。
7.如权利要求6所述的多端口访问仲裁方法,其特征在于,所述在不存在老化计数值为绝对最小值的虚拟等待队列时,检测是否存在输出仲裁保持信息的虚拟等待队列之后,还包括:
在不存在输出仲裁保持信息的虚拟等待队列时,比较各个虚拟等待队列的老化计数值,并根据比较结果选取老化计数值最小的虚拟等待队列作为仲裁通过的目标虚拟等待队列,并将所述目标虚拟等待队列中的待出队访问请求作为仲裁结果。
8.如权利要求4至7中任一项所述的多端口访问仲裁方法,其特征在于,所述将所述目标虚拟等待队列中的待出队访问请求作为仲裁结果,包括:
在所述目标虚拟等待队列为多个时,对所述目标虚拟等待队列进行轮询;
将每次轮询到的目标虚拟等待队列中的待出队访问请求作为仲裁结果。
9.如权利要求1至7中任一项所述的多端口访问仲裁方法,其特征在于,所述将各个访问端口接收到的访问请求按照请求紧急程度的不同送入不同的虚拟等待队列,包括:
根据各个访问端口接收到的访问请求的携带信息确定所述访问请求的紧急程度;
根据所述紧急程度对所述访问请求进行分类,并根据分类结果将所述访问请求送入对应的虚拟等待队列。
10.如权利要求1至7中任一项所述的多端口访问仲裁方法,其特征在于,所述存储器为内部存储器组,用于缓存访问请求,所述内部存储器组的存储器数量预先配置,所述存储器组根据配置信息映射为多个虚拟等待队列,每个虚拟等待队列由多个存储器组成。
11.一种多端口访问仲裁装置,其特征在于,所述多端口访问仲裁装置包括:
接收模块,用于在多个处理器通过多个访问端口同时访问存储器时,通过多个访问端口接收访问请求,所述多个处理器为不同类型的处理器,不同类型的处理器对应不同的访问端口;
处理模块,用于将各个访问端口接收到的访问请求按照请求紧急程度的不同送入不同的虚拟等待队列;
仲裁模块,用于获取各个虚拟等待队列的仲裁参考信息,并根据所述仲裁参考信息对各个虚拟等待队列中的访问请求进行仲裁,获得仲裁结果,所述仲裁参考信息用于确定仲裁通过的目标虚拟等待队列,并将所述目标虚拟等待队列中的待出队访问请求作为仲裁结果;
其中,所述仲裁参考信息包括:老化计数值和/或仲裁保持信息;所述仲裁模块,还用于根据当前时间计算各个虚拟等待队列的老化计数值,和/或,根据各个访问端口接收到的访问请求的携带信息判断是否生成各个虚拟等待队列对应的仲裁保持信息;根据所述老化计数值和/或所述仲裁保持信息对各个虚拟等待队列中的访问请求进行仲裁,获得仲裁结果;
所述仲裁模块,还用于获取各个访问端口接收到的访问请求的携带信息和存储器的访问效率特性;根据所述携带信息和所述访问效率特性判断是否生成各个虚拟等待队列对应的仲裁保持信息;
所述多端口访问仲裁装置还包括:
多级处理模块,用于根据各个访问端口接收到的访问请求的携带信息,将访问请求送入第一级虚拟等待队列;对各个第一级虚拟等待队列中的访问请求进行仲裁,获得仲裁结果;按照下一级虚拟等待队列对应的队列要求将仲裁结果送入所述下一级虚拟等待队列;对各个下一级虚拟等待队列中的访问请求进行仲裁,获得仲裁结果,并返回所述按照下一级虚拟等待队列对应的队列要求将仲裁结果送入所述下一级虚拟等待队列的步骤,直至仲裁级数等于预设级别,并输出最终仲裁结果。
12.一种多端口访问仲裁设备,其特征在于,所述多端口访问仲裁设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的多端口访问仲裁程序,所述多端口访问仲裁程序被所述处理器执行时实现如权利要求1至10中任一项所述的多端口访问仲裁方法。
13.一种存储介质,其特征在于,所述存储介质上存储有多端口访问仲裁程序,所述多端口访问仲裁程序被处理器执行时实现如权利要求1至10中任一项所述的多端口访问仲裁方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311619261.7A CN117312199B (zh) | 2023-11-30 | 2023-11-30 | 多端口访问仲裁方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311619261.7A CN117312199B (zh) | 2023-11-30 | 2023-11-30 | 多端口访问仲裁方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117312199A CN117312199A (zh) | 2023-12-29 |
CN117312199B true CN117312199B (zh) | 2024-03-08 |
Family
ID=89281612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311619261.7A Active CN117312199B (zh) | 2023-11-30 | 2023-11-30 | 多端口访问仲裁方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117312199B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117891758B (zh) * | 2024-03-12 | 2024-05-17 | 成都登临科技有限公司 | 一种基于仲裁的存储访问系统、处理器及计算设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102750257A (zh) * | 2012-06-21 | 2012-10-24 | 西安电子科技大学 | 基于访问信息调度的片上多核共享存储控制器 |
CN102866957A (zh) * | 2012-07-31 | 2013-01-09 | 中国人民解放军国防科学技术大学 | 面向多核多线程微处理器的虚拟活跃页缓冲方法及装置 |
CN106547492A (zh) * | 2016-12-08 | 2017-03-29 | 北京得瑞领新科技有限公司 | 一种nand闪存设备的操作指令调度方法及装置 |
CN107609785A (zh) * | 2017-09-26 | 2018-01-19 | 广东电网有限责任公司信息中心 | 基于机器学习的企业公共信息模型扩展方法及系统 |
CN113791892A (zh) * | 2021-07-30 | 2021-12-14 | 北京智芯微电子科技有限公司 | 数据通路仲裁方法、数据通路仲裁装置及芯片 |
CN114185823A (zh) * | 2022-02-17 | 2022-03-15 | 深圳比特微电子科技有限公司 | 仲裁器、仲裁方法、控制器和芯片 |
CN114819124A (zh) * | 2022-04-13 | 2022-07-29 | 北京交通大学 | 一种深度神经网络推断处理器的访存性能提升方法 |
CN115357377A (zh) * | 2022-07-25 | 2022-11-18 | 芯来智融半导体科技(上海)有限公司 | 内存控制调度方法、装置、计算机设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI256555B (en) * | 2003-12-12 | 2006-06-11 | Via Tech Inc | An apparatus and a method of request priority queue arbitration |
-
2023
- 2023-11-30 CN CN202311619261.7A patent/CN117312199B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102750257A (zh) * | 2012-06-21 | 2012-10-24 | 西安电子科技大学 | 基于访问信息调度的片上多核共享存储控制器 |
CN102866957A (zh) * | 2012-07-31 | 2013-01-09 | 中国人民解放军国防科学技术大学 | 面向多核多线程微处理器的虚拟活跃页缓冲方法及装置 |
CN106547492A (zh) * | 2016-12-08 | 2017-03-29 | 北京得瑞领新科技有限公司 | 一种nand闪存设备的操作指令调度方法及装置 |
CN107609785A (zh) * | 2017-09-26 | 2018-01-19 | 广东电网有限责任公司信息中心 | 基于机器学习的企业公共信息模型扩展方法及系统 |
CN113791892A (zh) * | 2021-07-30 | 2021-12-14 | 北京智芯微电子科技有限公司 | 数据通路仲裁方法、数据通路仲裁装置及芯片 |
CN114185823A (zh) * | 2022-02-17 | 2022-03-15 | 深圳比特微电子科技有限公司 | 仲裁器、仲裁方法、控制器和芯片 |
CN114819124A (zh) * | 2022-04-13 | 2022-07-29 | 北京交通大学 | 一种深度神经网络推断处理器的访存性能提升方法 |
CN115357377A (zh) * | 2022-07-25 | 2022-11-18 | 芯来智融半导体科技(上海)有限公司 | 内存控制调度方法、装置、计算机设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
多端口存储器控制器IP核的研究;马秦生;曹阳;杨;张宁;;西安电子科技大学学报(第01期);全文 * |
马秦生 ; 曹阳 ; 杨珺 ; 张宁 ; .多端口存储器控制器IP核的研究.西安电子科技大学学报.2010,(第01期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN117312199A (zh) | 2023-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117312199B (zh) | 多端口访问仲裁方法、装置、设备及存储介质 | |
US20220224657A1 (en) | Technologies for accelerating edge device workloads | |
US9342366B2 (en) | Intrusion detection apparatus and method using load balancer responsive to traffic conditions between central processing unit and graphics processing unit | |
US8745335B2 (en) | Memory arbiter with latency guarantees for multiple ports | |
US20210073086A1 (en) | Fault management in nvme systems | |
US20190044892A1 (en) | Technologies for using a hardware queue manager as a virtual guest to host networking interface | |
CN115904671B (zh) | 一种边缘计算环境下的任务调度方法、装置、设备及介质 | |
CN114265800A (zh) | 中断消息处理方法、装置、电子设备及可读存储介质 | |
CN115361336B (zh) | 具有缓存的路由器、路由交换网络系统、芯片及路由方法 | |
CN113760473A (zh) | 优先级处理方法、处理器、处理芯片、电路板及电子设备 | |
CN115348222B (zh) | 一种消息分发方法、装置、服务端及存储介质 | |
CN115964319A (zh) | 远程直接内存访问的数据处理方法及相关产品 | |
CN107483405B (zh) | 一种支持变长信元的调度方法和调度系统 | |
CN116664377A (zh) | 数据传输方法及相关装置 | |
CN117806851B (zh) | 多主机共享的内存系统、内存访问方法、设备和存储介质 | |
US11042394B2 (en) | Method for processing input and output on multi kernel system and apparatus for the same | |
CN113268442B (zh) | 数据处理设备及其操作方法 | |
CN116150082A (zh) | 访问方法、装置、芯片、电子设备和存储介质 | |
CN114827151B (zh) | 一种异构服务器集群以及数据转发方法、装置和设备 | |
US10284501B2 (en) | Technologies for multi-core wireless network data transmission | |
CN112631757B (zh) | 一种ddr4多用户访问的调度方法和设备 | |
CN109710411B (zh) | Tlp字段资源管理方法、装置、计算机设备及存储介质 | |
CN111858019B (zh) | 任务调度方法、装置及计算机可读存储介质 | |
CN112416826A (zh) | 专用计算芯片、dma数据传输系统及方法 | |
JP2021144324A (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 |