CN111026682B - 板卡芯片的数据访存方法、装置及计算机可读存储介质 - Google Patents
板卡芯片的数据访存方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111026682B CN111026682B CN201911367921.0A CN201911367921A CN111026682B CN 111026682 B CN111026682 B CN 111026682B CN 201911367921 A CN201911367921 A CN 201911367921A CN 111026682 B CN111026682 B CN 111026682B
- Authority
- CN
- China
- Prior art keywords
- data
- data block
- bandwidth memory
- access
- ddr
- 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 52
- 238000012545 processing Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 6
- 238000013500 data storage Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/781—On-chip cache; Off-chip memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请公开了一种板卡芯片的数据访存方法、装置及计算机可读存储介质。其中,方法应用于内置DDR和高带宽存储器的板卡芯片;板卡芯片执行方法如下:当接收到主机端下发的访存数据请求,若判定待访存数据存储在DDR的目标数据块,则更新高带宽存储器的各数据块的被访问频率,并利用DDR中的目标数据块及相邻多个数据块替换高带宽存储器中被访问频率低于预设频率阈值的数据块;若待访存数据存储在高带宽存储器,则在高带宽存储器中进行数据访存,并更新各数据块的被访问频率。本申请支持数据高并发随机访存,极大地降低了数据随机访存时间,提高了板卡芯片的数据访存效率。
Description
技术领域
本申请涉及数据读取技术领域,特别是涉及一种板卡芯片的数据访存方法、装置及计算机可读存储介质。
背景技术
随着板卡芯片的快速发展,例如FPGA板卡(Field-Programmable Gate Array,现场可编程门阵列)和GPU板卡(Graphics Processing Unit,图形处理器),用户对快速传输信息,也即带宽的要求也在不断提高。
相关板卡技术通常都是直接基于突发传输形式从DDR的数据块中访存数据,而由于DDR的位宽极为有限,能够支持同时并发随机访存的次数很少,导致访存数据的效率很低下。DDR(Double Data Rate,双倍速率)已经渐渐不能满足人们对带宽的需要,技术发展也已进入了瓶颈期。每秒增加1GB的带宽将会带来更多的功耗,这不论对于设计人员还是消费者来说都不是一个明智、高效或合算的选择。因此,DDR将会渐渐阻碍板卡芯片性能的持续增长。
鉴于此,如何提高板卡芯片的数据访存效率,支持数据并发随机访存,是本领域技术人员需要解决的技术问题。
发明内容
本申请提供了一种板卡芯片的数据访存方法、装置及计算机可读存储介质,支持数据高并发随机访存,极大地降低了数据随机访存时间,提高了板卡芯片的数据访存效率。
为解决上述技术问题,本发明实施例提供以下技术方案:
本发明实施例一方面提供了一种板卡芯片的数据访存方法,适用于内置DDR和高带宽存储器的板卡芯片,包括:
当接收到主机端下发的访存数据请求,判断待访存数据存储在所述高带宽存储器还是所述DDR中;
若所述待访存数据存储在所述DDR的目标数据块,则更新所述高带宽存储器的各数据块的被访问频率,并利用所述DDR中的目标数据块及相邻多个数据块替换所述高带宽存储器中被访问频率低于预设频率阈值的数据块;
若所述待访存数据存储在所述高带宽存储器,则在所述高带宽存储器中进行数据访存,并更新各数据块的被访问频率。
可选的,所述更新所述高带宽存储器的各数据块的被访问频率,并利用所述DDR中的目标数据块及相邻多个数据块替换所述高带宽存储器中被访问频率低于预设频率阈值的数据块包括:
将所述高带宽存储器中所有数据块的未命中次数均加1,所述未命中次数用于表示数据块被访问频率;
为所述高带宽存储器中未命中次数不低于预设次数阈值的数据块设置待替换标签;
利用所述DDR中的目标数据块及后续多个连续数据块依次替换设有所述待替换标签的数据块。
可选的,所述为所述高带宽存储器中未命中次数不低于预设次数阈值的数据块设置待替换标签包括:
预先设置多个次数阈值,各次数阈值对应不同优先级别的待替换标签;
基于所述高带宽存储器的当前数据块的未命中次数与各次数阈值之间的关系,为所述当前数据块设置相应优先级别的待替换标签;
相应的,所述利用所述DDR中的目标数据块及后续多个连续数据块依次替换设有所述待替换标签的数据块包括:
利用所述DDR中的目标数据块及后续多个连续数据块按照优先级从高到低依次替换设有所述待替换标签的数据块。
可选的,所述待访存数据存储在所述高带宽存储器的目的数据块,且以未命中次数表示数据块被访问频率,所述更新各数据块的访问次数包括:
将所述目的数据块的未命中次数清零,并利用计数器为所述高带宽存储器非所述目的数据块的其他数据块的未命中次数加1。
可选的,所述高带宽存储器为第二代高带宽存储器。
本发明实施例另一方面提供了一种板卡芯片的数据访存装置,内置DDR和高带宽存储器的板卡芯片包括:
数据存储位置判断模块,用于当接收到主机端下发的访存数据请求,判断待访存数据存储在所述高带宽存储器还是所述DDR中;
DDR数据处理模块,用于若所述待访存数据存储在所述DDR的目标数据块,则更新所述高带宽存储器的各数据块的被访问频率,并利用所述DDR中的目标数据块及相邻多个数据块替换所述高带宽存储器中被访问频率低于预设频率阈值的数据块;
高并发访存模块,用于若所述待访存数据存储在所述高带宽存储器,则在所述高带宽存储器中进行数据访存,并更新各数据块的被访问频率。
可选的,所述DDR数据处理模块包括:
更新子模块,用于将所述高带宽存储器中所有数据块的未命中次数均加1,所述未命中次数用于表示数据块被访问频率;
标签设置子模块,用于为所述高带宽存储器中未命中次数不低于预设次数阈值的数据块设置待替换标签;
替换子模块,用于利用所述DDR中的目标数据块及后续多个连续数据块依次替换设有所述待替换标签的数据块。
可选的,所述标签设置子模块具体用于基于所述高带宽存储器的当前数据块的未命中次数与各次数阈值之间的关系,为所述当前数据块设置相应优先级别的待替换标签;各次数阈值为预先设置且对应不同优先级别的待替换标签;
相应的,所述替换子模块用于利用所述DDR中的目标数据块及后续多个连续数据块按照优先级从高到低依次替换设有所述待替换标签的数据块。
本发明实施例还提供了一种板卡芯片的数据访存装置,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前任一项所述板卡芯片的数据访存方法的步骤。
本发明实施例最后还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有板卡芯片的数据访存程序,所述板卡芯片的数据访存程序被处理器执行时实现如前任一项所述板卡芯片的数据访存方法的步骤。
本申请提供的技术方案的优点在于,利用DDR存储当前待访存数据的数据块及与其相邻数据块替换高带宽存储器中访问次数较小的数据块,基于数据连贯性,下次访存数据存储在当前访存数据附近的概率极高,从而提高数据存储在高带宽存储器的概率,保证主机端下发的数据访存请求可以在高带宽存储器中随机访存该数据。由于高速带宽存储器容量少、位宽高,可支持数据高并发,高带宽存储器缓存数据可充分利用高带宽存储器的高带宽支持高并发特性,从而实现板卡芯片支持数据高并发随机访存,极大地降低了数据随机访存时间,提高了板卡芯片的数据访存效率,提高板卡芯片数据随机访存性能,从而可有效提升板卡芯片性能。
此外,本发明实施例还针对板卡芯片的数据访存方法提供了相应的实现装置及计算机可读存储介质,进一步使得所述方法更具有实用性,所述装置及计算机可读存储介质具有相应的优点。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
为了更清楚的说明本发明实施例或相关技术的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种板卡芯片的数据访存方法的流程示意图;
图2为本发明实施例提供的DDR和高带宽存储器的数据块替换示意图;
图3为本发明实施例提供的示意性例子的结构框架示意图;
图4为本发明实施例提供的另一种板卡芯片的数据访存方法的流程示意图;
图5为本发明实施例提供的板卡芯片的数据访存装置的一种具体实施方式结构图;
图6为本发明实施例提供的板卡芯片的数据访存装置的另一种具体实施方式结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。
首先参见图1,图1为本发明实施例提供的一种板卡芯片的数据访存方法的流程示意图,本申请应用于主机端和板卡芯片构成的异构计算平台,且板卡芯片中内置DDR和高带宽存储器,本申请技术方案的执行主语为板卡芯片,本发明实施例可包括以下内容:
S101:当接收到主机端下发的访存数据请求,判断待访存数据存储在高带宽存储器还是DDR中,若待访存数据存储在DDR中,则执行S102,若待访存数据存储在高带宽存储器中,则执行S103。
可以理解的是,主机要访问板卡芯片中存储的数据或是对板卡芯片中的数据进行读写操作,那么就会向板卡芯片下发请求以执行相应操作,例如主机访存板卡芯片数据,可向板卡芯片下发访存数据请求。板卡芯片接收到主机端发送的访存数据请求后,根据访存数据请求携带的待访存数据的相关信息,例如标识信息,在板卡芯片的存储数据区域中确定该待访存数据的存储位置。本申请的板卡芯片的存储数据区域为DDR或高带宽存储器,高带宽存储器基于存储器堆叠技术,将原本一维的存储器布局扩展到三维,大幅度提高了片上存储器的密度,使AI/深度学习完全放到片上成为可能,集成度提升的同时,使带宽不再受制于芯片引脚的互联数量,从而在一定程度上解决了IO瓶颈。为了提高高带宽存储器的存储性能,本申请的板卡芯片内置的高带宽存储器可为第二代高带宽存储器,也即HBM2。HBM2的最高位宽1024bit,如果在板卡上不停地将DDR中的burst块缓存到HBM2中,由于HBM2的高带宽优势,能够支持很高的同时并发随机访存次数,极大提升数据访存效率。
S102:若待访存数据存储在DDR的目标数据块,更新高带宽存储器的各数据块的被访问频率,并利用DDR中的目标数据块及相邻多个数据块替换高带宽存储器中被访问频率低于预设频率阈值的数据块。
在本申请中,被访问效率可用数据块未被命中次数来表征,也可采用该数据块在固定时间段内被访问的次数和这段时间内板卡芯片中所有数据块被访问总次数的比值来表示,本申请对此均不作任何限定。由于S101主机端下发的访存数据请求对应的待访存数据未存储在高带宽存储器中,所以高带宽存储器的所有数据块的被访问频率都降低,也即未被命中次数加1。
可以理解的是,由于数据连贯性,下次访存数据存储在当前访存数据附近的概率极高,所有为了提高数据存储在高带宽存储器的概率,保证主机端下发的数据访存请求可以在高带宽存储器中随机访存该数据,可以将DDR的目标数据块以及其后续的多个数据块来替换高带宽存储器长期未被命中的数据块,两个存储区域的数据块替换可如图2所示和图3所示。长期未被命中的数据块的个数决定DDR的目标数据块后续数据块的总个数,举例来说,高带宽存储器中长期未被命中的数据块有10块,那么在DDR中的目标数据块之后选择9个连续的数据块来替换高带宽存储器中那10个长期未被命中的数据块。
其中,预设频率阈值可根据实际应用场景和板卡芯片的硬件配置来确定,例如被访问频率用数据块未被命中次数来表征时,预设频率阈值可为数据块未被命中次数的最大值,数据块未被命中次数的最大值可为100次。
S103:在高带宽存储器中进行数据访存,并更新各数据块的被访问频率。
可以理解的是,高带宽存储器中有多个数据块,S101主机端下发的访存数据请求对应的待访存数据存储在高带宽存储器的目的数据块的被访问频率增加,其他数据块的被访问频率降低。由于高速带宽存储器容量少、位宽高,可支持数据高并发,当待访问数据存储在高带宽存储器中时,可充分利用高带宽存储器的高带宽支持高并发特性,降低数据访问时间。
在本发明实施例提供的技术方案中,利用DDR存储当前待访存数据的数据块及与其相邻数据块替换高带宽存储器中访问次数较小的数据块,基于数据连贯性,下次访存数据存储在当前访存数据附近的概率极高,从而提高数据存储在高带宽存储器的概率,保证主机端下发的数据访存请求可以在高带宽存储器中随机访存该数据。由于高速带宽存储器容量少、位宽高,可支持数据高并发,高带宽存储器缓存数据可充分利用高带宽存储器的高带宽支持高并发特性,从而实现板卡芯片支持数据高并发随机访存,极大地降低了数据随机访存时间,提高了板卡芯片的数据访存效率,提高板卡芯片数据随机访存性能,从而可有效提升板卡芯片性能。
在上述实施例中,对于如何执行步骤S102并不做限定,本实施例中给出一组具体的实现方法,如图4所示,S102可包括如下步骤:
S1021:将高带宽存储器中所有数据块的未命中次数均加1,未命中次数用于表示数据块被访问频率。
S1022:为高带宽存储器中未命中次数不低于预设次数阈值的数据块设置待替换标签。
其中,待替换标签为了使板卡芯片执行替换操作时快速定位待替换数据块而设置,可以以任何一种形式进行设置,这均不影响本申请的实现,例如可设置flag标识信息。
S1023:利用DDR中的目标数据块及后续多个连续数据块依次替换设有待替换标签的数据块。
可以理解的是,DDR和高带宽存储器的数据块替换会占用板卡芯片的一部分资源,若高带宽存储器中长期未被命中的数据块太多,那么占用大多数资源可能会影响板卡芯片的正常运行,为了兼顾数据块替换和占用资源,可以分批次多次进行数据块替换,也即S1022和S1023的实现过程可下所示:
预先设置多个次数阈值,各次数阈值对应不同优先级别的待替换标签;基于高带宽存储器的当前数据块的未命中次数与各次数阈值之间的关系,为当前数据块设置相应优先级别的待替换标签;
利用DDR中的目标数据块及后续多个连续数据块按照优先级从高到低依次替换设有待替换标签的数据块。
举例来说,可设置3个次数阈值,第一次数阈值为80次、第二次数阈值为100次,那么可将数据块未命中次数不高于80次的设置第一优先级的待替换标签,数据块未命中次数高于80次且不高于100次的设置第二优先级的待替换标签,数据块未命中次数高于100次及其以上的设置第三优先级的待替换标签,待替换标签的优先级别越高,越先对其进行替换,也就是说,利用目标数据块及后续多个连续数据块会实时替换第三优先级的待替换标签对应的数据块,而在板卡芯片闲时,可利用目标数据块及后续多个连续数据块会替换第二优先级和第一优先级的待替换标签对应的数据块。
作为一种可选的实施方式,待访存数据存储在高带宽存储器的目的数据块,若以未命中次数表示数据块被访问频率,更新各数据块的访问次数可包括:
将目的数据块的未命中次数清零,并利用计数器为高带宽存储器非目的数据块的其他数据块的未命中次数加1。
利用计数器可方便进行统计,节约整个流程操作,便于操作。且将次数清零,可以更方便后续数据处理。
需要说明的是,本申请中各步骤之间没有严格的先后执行顺序,只要符合逻辑上的顺序,则这些步骤可以同时执行,也可按照某种预设顺序执行,图1和图4只是一种示意方式,并不代表只能是这样的执行顺序。
本发明实施例还针对板卡芯片的数据访存方法提供了相应的装置,进一步使得所述方法更具有实用性。其中,装置可从功能模块的角度和硬件的角度分别说明。下面对本发明实施例提供的板卡芯片的数据访存装置进行介绍,下文描述的板卡芯片的数据访存装置与上文描述的板卡芯片的数据访存方法可相互对应参照。
基于功能模块的角度,参见图5,图5为本发明实施例提供的板卡芯片的数据访存装置在一种具体实施方式下的结构图,应用于主机端和板卡芯片构成的异构计算平台,且板卡芯片中内置DDR和高带宽存储器,板卡芯片例如可为FPGA板卡芯片或GPU板卡芯片,当然,也可为其他类型的板卡芯片,本申请对此不做任何限定,所述板卡芯片可包括:
数据存储位置判断模块501,用于当接收到主机端下发的访存数据请求,判断待访存数据存储在高带宽存储器还是DDR中。
DDR数据处理模块502,用于若待访存数据存储在DDR的目标数据块,则更新高带宽存储器的各数据块的被访问频率,并利用DDR中的目标数据块及相邻多个数据块替换高带宽存储器中被访问频率低于预设频率阈值的数据块。
高并发访存模块503,用于若待访存数据存储在高带宽存储器,则在高带宽存储器中进行数据访存,并更新各数据块的被访问频率。
可选的,在一种实施方式中,DDR数据处理模块502可包括:
更新子模块,用于将高带宽存储器中所有数据块的未命中次数均加1,未命中次数用于表示数据块被访问频率;
标签设置子模块,用于为高带宽存储器中未命中次数不低于预设次数阈值的数据块设置待替换标签;
替换子模块,用于利用DDR中的目标数据块及后续多个连续数据块依次替换设有待替换标签的数据块。
在本发明实施例的一些具体实施方式中,标签设置子模块具体用于基于高带宽存储器的当前数据块的未命中次数与各次数阈值之间的关系,为当前数据块设置相应优先级别的待替换标签;各次数阈值为预先设置且对应不同优先级别的待替换标签;相应的,替换子模块用于利用DDR中的目标数据块及后续多个连续数据块按照优先级从高到低依次替换设有待替换标签的数据块。
作为另一种可选的实施方式,所述高并发访存模块503例如还可以用于将目的数据块的未命中次数清零,并利用计数器为高带宽存储器非目的数据块的其他数据块的未命中次数加1。
本发明实施例所述板卡芯片的数据访存装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例支持数据高并发随机访存,极大地降低了数据随机访存时间,提高了板卡芯片的数据访存效率。
上文中提到的板卡芯片的数据访存装置是从功能模块的角度描述,进一步的,本申请还提供一种板卡芯片的数据访存装置,是从硬件角度描述。图6为本申请实施例提供的另一种板卡芯片的数据访存装置的结构图。如图6所示,该装置包括存储器60,用于存储计算机程序;
处理器61,用于执行计算机程序时实现如上述实施例提到的板卡芯片的数据访存方法的步骤。
其中,处理器61可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器61可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。在一些实施例中,处理器61可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器61还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器60可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器60还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器60至少用于存储以下计算机程序601,其中,该计算机程序被处理器61加载并执行之后,能够实现前述任一实施例公开的板卡芯片的数据访存方法的相关步骤。另外,存储器60所存储的资源还可以包括操作系统602和数据603等,存储方式可以是短暂存储或者永久存储。其中,操作系统602可以包括Windows、Unix、Linux等。数据603可以包括但不限于测试结果对应的数据等。
在一些实施例中,板卡芯片的数据访存装置还可包括有显示屏62、输入输出接口63、通信接口64、电源65以及通信总线66。
本领域技术人员可以理解,图6中示出的结构并不构成对板卡芯片的数据访存装置的限定,可以包括比图示更多或更少的组件,例如还可包括传感器67。
本发明实施例所述板卡芯片的数据访存装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例支持数据高并发随机访存,极大地降低了数据随机访存时间,提高了板卡芯片的数据访存效率。
可以理解的是,如果上述实施例中的板卡芯片的数据访存方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、磁碟或者光盘等各种可以存储程序代码的介质。
基于此,本发明实施例还提供了一种计算机可读存储介质,存储有板卡芯片的数据访存程序,所述板卡芯片的数据访存程序被处理器执行时如上任意一实施例所述板卡芯片的数据访存方法的步骤。
本发明实施例所述计算机可读存储介质的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例支持数据高并发随机访存,极大地降低了数据随机访存时间,提高了板卡芯片的数据访存效率。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本申请所提供的一种板卡芯片的数据访存方法、装置及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (8)
1.一种板卡芯片的数据访存方法,其特征在于,适用于内置DDR和高带宽存储器的板卡芯片,包括:
当接收到主机端下发的访存数据请求,判断待访存数据存储在所述高带宽存储器还是所述DDR中;
若所述待访存数据存储在所述DDR的目标数据块,则更新所述高带宽存储器的各数据块的被访问频率,并利用所述DDR中的目标数据块及相邻多个数据块替换所述高带宽存储器中被访问频率低于预设频率阈值的数据块;
若所述待访存数据存储在所述高带宽存储器,则在所述高带宽存储器中进行数据访存,并更新各数据块的被访问频率;
其中,所述更新所述高带宽存储器的各数据块的被访问频率,并利用所述DDR中的目标数据块及相邻多个数据块替换所述高带宽存储器中被访问频率低于预设频率阈值的数据块包括:
将所述高带宽存储器中所有数据块的未命中次数均加1,所述未命中次数用于表征数据块被访问频率;
为所述高带宽存储器中未命中次数不低于预设次数阈值的数据块设置待替换标签;
利用所述DDR中的目标数据块及后续多个连续数据块依次替换设有所述待替换标签的数据块。
2.根据权利要求1所述的板卡芯片的数据访存方法,其特征在于,所述为所述高带宽存储器中未命中次数不低于预设次数阈值的数据块设置待替换标签包括:
预先设置多个次数阈值,各次数阈值对应不同优先级别的待替换标签;
基于所述高带宽存储器的当前数据块的未命中次数与各次数阈值之间的关系,为所述当前数据块设置相应优先级别的待替换标签;
相应的,所述利用所述DDR中的目标数据块及后续多个连续数据块依次替换设有所述待替换标签的数据块包括:
利用所述DDR中的目标数据块及后续多个连续数据块按照优先级从高到低依次替换设有所述待替换标签的数据块。
3.根据权利要求1或2所述的板卡芯片的数据访存方法,其特征在于,所述待访存数据存储在所述高带宽存储器的目的数据块,且以未命中次数表示数据块被访问频率,所述更新各数据块的访问次数包括:
将所述目的数据块的未命中次数清零,并利用计数器为所述高带宽存储器非所述目的数据块的其他数据块的未命中次数加1。
4.根据权利要求3所述的板卡芯片的数据访存方法,其特征在于,所述高带宽存储器为第二代高带宽存储器。
5.一种板卡芯片的数据访存装置,其特征在于,内置DDR和高带宽存储器的板卡芯片包括:
数据存储位置判断模块,用于当接收到主机端下发的访存数据请求,判断待访存数据存储在所述高带宽存储器还是所述DDR中;
DDR数据处理模块,用于若所述待访存数据存储在所述DDR的目标数据块,则更新所述高带宽存储器的各数据块的被访问频率,并利用所述DDR中的目标数据块及相邻多个数据块替换所述高带宽存储器中被访问频率低于预设频率阈值的数据块;
高并发访存模块,用于若所述待访存数据存储在所述高带宽存储器,则在所述高带宽存储器中进行数据访存,并更新各数据块的被访问频率;
其中,所述DDR数据处理模块包括:
更新子模块,用于将所述高带宽存储器中所有数据块的未命中次数均加1,所述未命中次数用于表示数据块被访问频率;
标签设置子模块,用于为所述高带宽存储器中未命中次数不低于预设次数阈值的数据块设置待替换标签;
替换子模块,用于利用所述DDR中的目标数据块及后续多个连续数据块依次替换设有所述待替换标签的数据块。
6.根据权利要求5所述的板卡芯片的数据访存装置,其特征在于,所述标签设置子模块具体用于基于所述高带宽存储器的当前数据块的未命中次数与各次数阈值之间的关系,为所述当前数据块设置相应优先级别的待替换标签;各次数阈值为预先设置且对应不同优先级别的待替换标签;
相应的,所述替换子模块用于利用所述DDR中的目标数据块及后续多个连续数据块按照优先级从高到低依次替换设有所述待替换标签的数据块。
7.一种板卡芯片的数据访存装置,其特征在于,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至4任一项所述板卡芯片的数据访存方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有板卡芯片的数据访存程序,所述板卡芯片的数据访存程序被处理器执行时实现如权利要求1至4任一项所述板卡芯片的数据访存方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911367921.0A CN111026682B (zh) | 2019-12-26 | 2019-12-26 | 板卡芯片的数据访存方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911367921.0A CN111026682B (zh) | 2019-12-26 | 2019-12-26 | 板卡芯片的数据访存方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111026682A CN111026682A (zh) | 2020-04-17 |
CN111026682B true CN111026682B (zh) | 2022-03-08 |
Family
ID=70214709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911367921.0A Active CN111026682B (zh) | 2019-12-26 | 2019-12-26 | 板卡芯片的数据访存方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111026682B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112732343B (zh) * | 2020-12-31 | 2022-04-22 | 中国电子科技网络信息安全有限公司 | 一种堆叠设备中业务子母板卡加载的方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106970894A (zh) * | 2017-04-20 | 2017-07-21 | 广东浪潮大数据研究有限公司 | 一种基于Arria10的FPGA异构加速卡 |
CN108345548A (zh) * | 2017-01-25 | 2018-07-31 | 三星电子株式会社 | 替换高速缓存上的数据的方法和高速缓存管理器 |
CN109062858A (zh) * | 2018-08-01 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种基于Xilinx XCVU37P芯片的FPGA加速卡 |
CN109344097A (zh) * | 2018-09-13 | 2019-02-15 | 北京腾凌科技有限公司 | 数据传输方法及装置 |
CN110297787A (zh) * | 2018-03-22 | 2019-10-01 | 龙芯中科技术有限公司 | I/o设备访问内存的方法、装置及设备 |
CN110471872A (zh) * | 2019-07-12 | 2019-11-19 | 卡斯柯信号有限公司 | 一种基于zynq芯片实现m-lvds总线数据交互系统和方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107577530A (zh) * | 2016-07-04 | 2018-01-12 | 中兴通讯股份有限公司 | 均衡板卡内存利用率的板卡、方法和系统 |
US10713750B2 (en) * | 2017-04-01 | 2020-07-14 | Intel Corporation | Cache replacement mechanism |
CN107729268B (zh) * | 2017-09-20 | 2019-11-12 | 山东英特力数据技术有限公司 | 一种基于capi接口的内存扩展装置与方法 |
CN110166553A (zh) * | 2019-05-22 | 2019-08-23 | 苏州浪潮智能科技有限公司 | 一种数据访问方法、装置、设备及可读存储介质 |
-
2019
- 2019-12-26 CN CN201911367921.0A patent/CN111026682B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108345548A (zh) * | 2017-01-25 | 2018-07-31 | 三星电子株式会社 | 替换高速缓存上的数据的方法和高速缓存管理器 |
CN106970894A (zh) * | 2017-04-20 | 2017-07-21 | 广东浪潮大数据研究有限公司 | 一种基于Arria10的FPGA异构加速卡 |
CN110297787A (zh) * | 2018-03-22 | 2019-10-01 | 龙芯中科技术有限公司 | I/o设备访问内存的方法、装置及设备 |
CN109062858A (zh) * | 2018-08-01 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种基于Xilinx XCVU37P芯片的FPGA加速卡 |
CN109344097A (zh) * | 2018-09-13 | 2019-02-15 | 北京腾凌科技有限公司 | 数据传输方法及装置 |
CN110471872A (zh) * | 2019-07-12 | 2019-11-19 | 卡斯柯信号有限公司 | 一种基于zynq芯片实现m-lvds总线数据交互系统和方法 |
Non-Patent Citations (4)
Title |
---|
Experimental Design of Work Chunking for Graph Algorithms on High Bandwidth Memory Architectures;George M Slota. etc;《2018 IEEE International Parallel and Distributed Processing Symposium (IPDPS)》;20180806;第1-10页 * |
全球首款集成HBM2的FPGA AI加速卡发布;浪潮;《智能城市》;20181031;第1页 * |
基于PCIe总线的髙速数据传输技术研究;彭涛;《中国优秀硕士学位论文全文数据库(电子期刊)》;20160331;第I136-1109页 * |
高性能GPU系统结构的研究;李炳超;《中国博士学位论文全文数据库(电子期刊)》;20180430;第I137-2页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111026682A (zh) | 2020-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2010077770A1 (en) | Device and method for configuring the same | |
US9697111B2 (en) | Method of managing dynamic memory reallocation and device performing the method | |
CN105677580A (zh) | 访问缓存的方法和装置 | |
CN102810050A (zh) | 日志数据写入方法和日志系统 | |
CN102023843B (zh) | 函数的调用方法、装置及智能卡 | |
CN111111176B (zh) | 游戏中物体lod的管理方法、装置及电子设备 | |
CN112148665B (zh) | 缓存的分配方法及装置 | |
CN111813713A (zh) | 数据加速运算处理方法、装置及计算机可读存储介质 | |
CN113704301A (zh) | 异构计算平台的数据处理方法、装置、系统、设备及介质 | |
WO2024055571A1 (zh) | 一种namespace设置方法、装置及可读存储介质 | |
CN111026682B (zh) | 板卡芯片的数据访存方法、装置及计算机可读存储介质 | |
CN109634664A (zh) | 一种cpu给硬件电路下发命令描述符的方法及装置 | |
CN110908797B (zh) | 调用请求数据处理方法、装置、设备、存储介质及系统 | |
CN109783321A (zh) | 监控数据管理方法、装置、终端设备 | |
CN111061429A (zh) | 一种数据访问方法、装置、设备、介质 | |
CN110399219B (zh) | 内存访问方法、dmc及存储介质 | |
CN112000611A (zh) | 图数据划分方法、处理方法及电子设备 | |
CN114995770B (zh) | 一种数据处理方法、装置、设备、系统及可读存储介质 | |
CN111553847A (zh) | 图像处理方法及装置 | |
CN116521608A (zh) | 数据迁移方法及计算设备 | |
CN109710187A (zh) | NVMe SSD主控芯片的读命令加速方法、装置、计算机设备及存储介质 | |
CN113010454A (zh) | 数据读写方法、装置、终端及存储介质 | |
CN110162490B (zh) | 高速缓冲管理设备、系统和方法 | |
CN101963953A (zh) | 一种移动富媒体播放器的缓存优化方法 | |
CN112885402B (zh) | 固态硬盘坏块查询方法、装置及计算机可读存储介质 |
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 |