CN115633098A - 众核系统的存储管理方法、装置和集成电路 - Google Patents
众核系统的存储管理方法、装置和集成电路 Download PDFInfo
- Publication number
- CN115633098A CN115633098A CN202211533104.XA CN202211533104A CN115633098A CN 115633098 A CN115633098 A CN 115633098A CN 202211533104 A CN202211533104 A CN 202211533104A CN 115633098 A CN115633098 A CN 115633098A
- Authority
- CN
- China
- Prior art keywords
- message
- module
- internal standard
- unit
- protocol
- 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.)
- Granted
Links
- 238000003860 storage Methods 0.000 title claims abstract description 97
- 238000007726 management method Methods 0.000 title claims description 53
- 239000011159 matrix material Substances 0.000 claims abstract description 57
- 238000012545 processing Methods 0.000 claims abstract description 48
- 230000015654 memory Effects 0.000 claims abstract description 47
- 238000004364 calculation method Methods 0.000 claims abstract description 40
- 230000006978 adaptation Effects 0.000 claims abstract description 36
- 238000006243 chemical reaction Methods 0.000 claims abstract description 14
- 238000013507 mapping Methods 0.000 claims description 39
- 230000004044 response Effects 0.000 claims description 27
- 230000005540 biological transmission Effects 0.000 claims description 21
- 238000013503 de-identification Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 4
- 238000013500 data storage Methods 0.000 claims description 3
- 238000001914 filtration Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 12
- 238000000034 method Methods 0.000 description 9
- 230000032683 aging Effects 0.000 description 8
- 238000013461 design Methods 0.000 description 7
- 230000007812 deficiency Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 238000010606 normalization Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 102100035964 Gastrokine-2 Human genes 0.000 description 1
- 101001075215 Homo sapiens Gastrokine-2 Proteins 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- 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)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Bus Control (AREA)
- Communication Control (AREA)
Abstract
本申请涉及集成电路设计技领域,公开了一种众核系统的存储管理方法、装置、集成电路、可读存储介质,该装置包括四个模块,分别是协议适配模块、矩阵计算模块、存储控制器模块和接口控制器模块,其中,协议适配模块用于报文在不同内部协议与内部标准协议之间的转换;矩阵计算模块用于将内部标准报文按照端口路由模式由源端口交换至目的端口;存储控制器模块包括用于报文数据上行处理的上行子模块和用于报文数据下行处理的下行子模块;接口控制器模块用于实现目标外部存储器与存储控制器模块之间的数据转换等。该装置可以实现众核系统中的高性能、多功能存储管理装置需求,还可降低整个众核系统实现的复杂度等。
Description
技术领域
本申请涉及集成电路设计技术领域,尤其涉及一种众核系统的存储管理方法、装置和集成电路。
背景技术
对于目前市场上较为先进的处理器系统,无论是CPU(中央处理器)还是GPU(图形处理器),一般都会支持存储管理装置;在目前的技术发展趋势下,对算力和集成度的需求也越来越高,CPU/GPU芯片都包含大量独立内核和紧密耦合的内存管理装置,并通过高速片上网络 (NOC) 基础设施互连,这种架构正在成为主流。
在现代众核架构体系下,对存储管理装置提出了很高的要求,比如要求多种控制器适配,具有多个内部宽度可变接口,延时尽量短而且波动小,但是现有的存储管理装置并不能完全符合以上需求,会存在各种各样的功能缺失或者设计缺陷。
发明内容
有鉴于此,本申请实施例提供一种众核系统的存储管理方法、装置和集成电路,可以有效解决现有的存储管理装置适用场景小且不满足相应需求的问题。
第一方面,本申请实施例提供一种众核系统的存储管理装置,包括:
协议适配模块,用于连接不同内部协议总线,以将目标报文在相应内部协议与内部标准协议之间进行转换,以得到内部标准报文或发送至相应内部协议总线的报文数据;
矩阵计算模块,用于根据读写请求将所述内部标准报文按照端口路由模式由源端口交换至目的端口;
存储控制器模块,包括上行子模块和下行子模块,所述上行子模块用于将来自所述矩阵计算模块的所述内部标准报文通过标识及映射处理并发送至目标接口控制器;所述下行子模块用于将从目标接口控制器返回的报文数据转换为所述内部标准报文并通过解映射及解标识处理后发送至所述矩阵计算模块;
接口控制器模块,用于连接不同接口类型的外部存储器,以将从目标外部存储器中读取的数据发送至所述目标接口控制器,或将从所述目标接口控制器中获取的数据存储至目标外部存储器中。
在一些实施例中,所述内部标准协议根据总线类型定义有第一传输通道和第二传输通道,其中,所述第一传输通道用于传输下发的请求,所述第二传输通道用于传输返回的响应消息;
所述协议适配模块用于将目标报文在相应内部协议与内部标准协议之间进行转换,以得到内部标准报文,包括:
所述协议适配模块用于对相应内部协议总线发送的目标报文进行解析,得到相应的数据和地址内容,并对所述数据和地址内容进行通道数据合并,得到格式统一的报文体,然后添加预设格式的报文头,得到内部标准报文,然后通过所述第一传输通道将所述内部标准报文发送至类型报文队列中,等待发送至所述矩阵计算模块。
在一些实施例中,所述协议适配模块用于将目标报文在相应内部协议与内部标准协议之间进行转换,以得到相应内部协议总线的报文数据,包括:
所述协议适配模块还用于将来自所述矩阵计算模块的所述内部标准报文通过所述第二传输通道送入回应消息队列中,之后对所述内部标准报文去掉所述报文头及将得到的相应报文体按照所述相应内部协议进行格式转换,以得到所需响应消息并通过所述相应内部协议总线发送出去。
在一些实施例中,所述预设格式的报文头包括三个组成部分,其中,第一组成部分用于描述所述请求或响应消息的唯一标识符;第二组成部分用于描述所述请求或响应消息的类型;第三组成部分用于描述所述请求或响应消息的处理优先级。
在一些实施例中,所述读写请求中包含所述目标报文的源端口和目的端口的信息;所述矩阵计算模块用于根据读写请求将所述内部标准报文按照端口路由模式由源端口交换至目的端口,包括:
所述矩阵计算模块用于通过路由单元根据预设配置信息获取全局地址映射表,并根据所述全局地址映射表确定由所述源端口到达所述目的端口的路由资源及路径,进而基于所述路由资源及路径发送所述内部标准报文;其中,所述全局地址映射表包括物理地址映射表或共享虚拟地址映射表。
在一些实施例中,所述上行子模块包括第一队列单元、标识单元和映射单元;
所述第一队列单元用于将来自所述矩阵计算模块的所述内部标准报文按照第一预设规则进行排队,所述标识单元用于记录出队报文的标识符并存储于标识符表中,所述映射单元用于将所述内部标准报文转换为对应于目标接口控制器的接口时序并通过流控消息形式发送至目标接口控制器;
所述下行子模块包括解映射单元、解标识单元和第二队列单元;
所述解映射单元用于将从目标接口控制器返回的报文数据转换为所述内部标准报文,所述解标识单元用于查找入队报文的标识符,并将属于同一目的端口的报文对齐,所述第二队列单元用于将所述解映射单元输出的所述内部标准报文按照第二预设规则进行排队以发送至所述矩阵计算模块。
在一些实施例中,所述上行子模块还包括存算单元、编码单元和加扰单元中的一种或多种组合;
所述存算单元、所述编码单元和所述加扰单元分别用于根据相应配置信息对所述映射单元中的相应报文数据进行计算处理、编码处理和添加干扰处理;
所述下行子模块还包括存算单元、解码单元和解扰单元中的一种或多种组合;
所述存算单元、所述解码单元和所述解扰单元分别用于根据相应配置信息对所述解映射单元中的相应报文数据进行计算处理、解码处理和滤队干扰处理。
第二方面,本申请实施例提供一种众核系统的存储管理方法,包括:
通过协议适配模块将目标报文在相应内部协议与内部标准协议之间进行转换,以得到内部标准报文或发送至相应内部协议总线的报文数据;
通过矩阵计算模块根据读写请求将所述内部标准报文按照端口路由模式由源端口交换至目的端口;
通过存储控制器模块中的上行子模块将来自所述矩阵计算模块的所述内部标准报文通过标识及映射处理并发送至目标接口控制器;以及通过存储控制器模块中的下行子模块将从目标接口控制器返回的报文数据转换为所述内部标准报文并通过解映射及解标识处理后发送至所述矩阵计算模块;
通过接口控制器模块将从目标外部存储器中读取的数据发送至所述目标接口控制器,或将从所述目标接口控制器中获取的数据存储至目标外部存储器中。
第三方面,本申请实施例提供一种集成电路,所述集成电路包括多个处理器、多个存储器,其中,所述集成电路采用上述的众核系统的存储管理装置来实现所述多个处理器与所述多个存储器之间的数据存储管理。
第四方面,本申请实施例提供一种可读存储介质,其存储有计算机程序,所述计算机程序在处理器上执行时,实施所述的众核系统的存储管理装置中各个模块的功能。
本申请的实施例具有如下有益效果:
本申请实施例提出的众核系统的存储管理装置通过设计一种架构,该架构主要包括四个模块,分别是协议适配模块、矩阵计算模块、存储控制器模块和接口控制器模块,其中,协议适配模块主要用于实现报文在不同内部协议与内部标准协议之间的转换;矩阵计算模块作为核心交换模块,主要用于实现将内部标准报文按照端口路由模式由源端口交换至目的端口;存储控制器模块包括用于上行子模块和下行子模块,分别用于对上行报文数据和下行报文数据进行相应处理;接口控制器模块主要用于实现目标外部存储器与存储控制器模块之间的数据转换,以满足存储接口的协议及电路要求等。该存储管理装置通过协议适配模块和接口控制器可以适配不同接口或协议的多种类型控制器及存储器等,以及通过矩阵计算模块进行数据交接以实现延时尽量短且波动小,此外,在存储控制器模块还可以设置一体化存算逻辑等功能,可以实现众核系统中的高性能、多功能存储管理装置需求,还可降低整个众核系统实现的复杂度等。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例众核系统的存储管理装置的整体框架图;
图2示出了本申请实施例众核系统的存储管理装置中协议适配模块的第一传输通道的一种应用示意图;
图3示出了本申请实施例众核系统的存储管理装置中协议适配模块的第二传输通道的一种应用示意图;
图4示出了本申请实施例众核系统的存储管理装置中矩阵计算模块的一种应用示意图;
图5示出了本申请实施例众核系统的存储管理装置中上行子模块的一种流程示意图;
图6示出了本申请实施例众核系统的存储管理装置中下行子模块的一种流程示意图;
图7示出了本申请实施例众核系统的存储管理方法的一种流程图。
主要元件符号说明:
110-协议适配模块;120-矩阵计算模块;130-存储控制器模块;140-接口控制器模块。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。
通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在下文中,可在本申请的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
除非另有限定,否则这里使用的所有术语(包括技术术语和科学术语)具有与本申请的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本申请的各种实施例中被清楚地限定。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互结合。
在现有的众核架构体系下,存储管理装置并不能完全符合以上需求,会存在各种各样的功能缺失或者设计缺陷,例如,可包括但不限于包括,不支持地址、控制、数据分离的控制交互流程,简单使用RAW(原始数据)并行数据接口,导致容易死锁;不支持多个内部接口之间的排序,QOS(服务质量)功能;不支持Chiplet模式,无法满足处理器系统的扩展需求;不支持快速加密和解密功能,无法满足系统安全需求;不支持多种不同种类的外部接口;不支持延时隐藏技术,固定延时受限于带宽和控制器架构,无法提高效率等中的一种或多种组合。为此,本申请提出一种新的存储管理装置,可以对应现有众核(CPU/GPU)系统中的高性能、多功能存储管理需求。下面结合一些具体的实施例来对该众核系统的存储管理装置进行说明。
图1示出了本申请实施例的众核系统的存储管理装置的一种架构图。
示范性地,该众核系统的存储管理装置包括四大模块,分别是协议适配模块110、矩阵计算模块(简称为Matrix模块)120、存储控制器模块130和接口控制器模块140,其中,协议适配模块110用于连接不同的内部协议总线,主要负载报文的协议适配;Matrix模块120主要负责报文数据在不同端口之间的路由交换;存储控制器模块130主要负责将报文数据进行汇聚及相应数据处理,接口控制器模块140则用于连接不同接口类型的外部存储器,主要负责对应存储器接口的数据转换等。可以理解,这四个模块各自负责相应的功能,通过协同合作可以实现众核系统的各种存储管理需求。
本实施例中,协议适配模块110主要用于协议适配,具体而言,用于将目标报文在不同的内部协议与内部标准协议之间进行转换,以得到内部标准报文或发送至相应内部协议总线的报文数据。可以理解,协议适配模块110位于该存储管理装置的输入/输出侧,用于负责和多种内部协议总线进行交互,并且将多种不同的内部协议统一转换为内部标准报文,以便在存储管理装置中进行相应处理。例如,对于上述的内部协议总线可包括但不限于包括AXI3、AXI4、AHB、CXS、HBI、Interlaken、RAW等中的多种组合,具体可以根据实际需求来进行配置,由此可以使该存储管理装置可以对接各种不同协议及接口类型的器件。
其中,上述的内部标准协议也称为HighLink协议,该协议专门为连接多个CPU,多个协处理器在SOC系统(片上系统)中集成和通讯使用而设计的,具有低延时和高带宽的特点。本实施例中,内部标准协议中根据总线类型定义有第一传输通道(记为A通道)和第二传输通道(记为D通道),其中,第一传输通道主要用于传输下发的请求,可以传输对指定地址范围执行操作、访问或缓存数据的请求;第二传输通道主要用于传输返回的响应/消息,可以传输向原始请求者发送数据响应或确认消息。
并且,该内部标准协议还通过添加一种预设格式的报文头(OverHead),以此来提供多种功能的支持,进而减少了Matrix模块120的端口和连线数量,从而降低协议适配模块110及装置的设计难度。本实施例中,OverHead的设计包括三个组成部分,其中,第一组成部分用于描述相应请求或响应消息的唯一标识符;第二组成部分用于描述该请求或响应消息的类型;第三组成部分用于描述该请求或响应消息的处理优先级。
例如,在一种实施方式中,OverHead的格式可以如下表1所示,其中,第一组成部分采用了8位来描述,第二组成部分采用了5位来描述,而第三组成部分采用了2位来描述。可以理解的是,每个组成部分的描述位数不作限定,这里仅为一种示例,具体可以根据实际需求来适应性调整。
表1 OverHead的格式
| 标签字段 | 含义 | 描述 |
| ID[7:0] | 该消息或请求的ID | 标识这个数据段的标识符,用于排序和操作匹配 |
| Type [4:0] | 该消息或请求的类型 | 提供消息的类型,包括: 1. 读 / 写请求; 2 . 多Transactions 请求; 3 . 原子操作; 4. Cache 的 Hint 消息;5. Cache 的 Transfer 操作; 6. Ready / Valid 消息; |
| Priority[1:0] | 该消息或请求的优先级 | 提供消息的优先级,消息按类型和优先级排序,避免死锁 |
基于上述的内部标准协议,在一种实施例中,协议适配模块110将目标报文在相应内部协议与内部标准协议之间进行转换,以得到内部标准报文,包括:协议适配模块110用于对相应内部协议总线发送的目标报文进行解析,得到相应的数据和地址内容,并对该数据和地址内容进行通道数据合并,得到格式统一的报文体,然后添加预设格式的报文头,得到内部标准报文,最后通过第一传输通道(即A通道)将该内部标准报文发送至类型报文队列(Type队列)中,等待发送至Matrix模块120。可以理解,通过转换为该内部标准协议,实质是将其他各种总线协议的数据进行了归一化处理,以便后续统一处理。
同理,对于协议适配模块110将目标报文在相应内部协议与内部标准协议之间进行转换,以得到相应内部协议总线的报文数据,包括:该协议适配模块110还用于将来自该Matrix模块120的内部标准报文通过第二传输通道(即D通道)送入回应消息队列中,之后对该内部标准报文去掉上述预设格式的报文头及将得到的相应报文体按照相应内部协议进行格式转换,以得到所需响应消息并通过相应内部协议总线发送出去。可以理解,报文在各内部协议与内部标准协议之间的转换操作,实质是一个正向处理和反向处理的过程。
为方便进一步理解,这里以AXI4协议总线为例,该协议适配模块110的整体框图和操作流程如下:
如图2所示,当需要处理请求时,首先对基于AXI4协议发送的消息或命令进行解析,得到对应的数据和地址(如图2所示的WADDR、WDATA、RADDR信号),然后进行归一化操作,也即将得到的这些数据和地址通过通道数据合并,以此得到格式统一的报文体,再按照上述表中的格式添加相应Overhead,其中包括设置唯一的ID以作为该请求操作的标识符,将不同的协议类型映射为不同的Type类型;以及转换AXI4协议携带的Qos信息等。最后,将合并的报文头和报文体作为转换得到的内部标准报文,再根据Type类型送入Type队列中等待处理。当出队判决完成后,经转换得到的该内部标准报文就发送到Matrix接口,以使Matrix模块120进行下一步处理。
其中,上述的Type队列将使用两级判决来确定不同优先级的报文处理顺序,具体地,其第一优先级处理满足:Ready/Valid消息>消息>请求;其第二优先级处理遵守报文头中Priority字段:3 > 2 > 1 > 0。进一步可选地,每个Type队列还支持Aging(衰老)功能,支持优先级翻转功能,即当队列头Aging超时后,优先级自动翻转,需要首先处理Aging超时的报文,从而避免死锁。
如图3所示,对于返回的响应/消息,协议适配模块110从Matrix接口接收来自Matrix模块120的内部标准报文,再将其通过D通道送入回应消息队列中等待处理;其中,回应消息队列根据回应消息的Type类型和Qos信息进行排队,其与A通道的优先级处理机制(和Aging功能)一致,同样经过两级优先级判决后交给下一级模块完成协议转换。具体地,将D通道的内部标准报文先去掉OverHead,并根据报文头完成Type类型到AXI4协议的映射及Priority到Qos信息的映射,然后,将余下的格式统一的报文体按照AXI4接口对应的协议格式对内部包含经过合并处理的数据和地址等内容进行格式转换及通道分离,以此得到符合AXI4接口传输的所需响应消息(如图3所示的WRESP、RDATA消息);最后,通过AXI4接口向外发送出去。
Matrix模块120作为报文数据的核心交换模块,用于根据读写请求将内部标准报文按照端口路由模式由源端口交换至目的端口,通常地,读写请求中通常包含需要处理的报文数据的源端口和目的端口等信息。
其中,内部标准协议中定义了Master和Slave两种角色,考虑到Master和Slave端口的数量通常是不对等的,Master类型端口远多于Slave类型端口,如图4所示,故Matrix模块120将采用多级灵活的路由交叉模式来实现不同端口之间的数据交互。
在一种实施方式中,对于Matrix模块用于根据读写请求将内部标准报文按照端口路由模式由源端口交换至目的端口,包括:
通过路由单元根据预设配置信息获取全局地址映射表,并根据全局地址映射表确定由源端口到达目的端口的路由资源及路径,进而基于路由资源及路径发送内部标准报文。其中,该全局地址映射表可以是各个外部存储器的物理地址映射表,也可以是共享虚拟地址映射表,例如,若查找的是物理地址,可直接进行查找到路由出口;若查找的是共享虚拟地址,则需要先查找虚拟地址转换表(TLB),然后根据查找结果再对应到路由出口。
可以明白的是,Matrix模块120中的路由单元与下一级交叉路由节点的连接数是可配置的,系统地址映射和端口映射也会在设计之初确定,这样每一级交叉路由节点的数量和连接方式都通过配置动态生成,由此可以实现路由资源和路由路径的最大程度优化。作为一种优选的方案,报文数据将通过最多三级交叉路由节点由Matrix的输入端口发送到Matrix的输出端口,以确保提供低延时和高带宽的数据流量。
可以理解,由于现有众核系统中的CPU/GPU、协处理器和DMA等模块众多,故通过该Matrix模块120来处理多个端口之间的数据交互, 以提供低延时和高带宽的数据流量。
存储控制器模块130主要完成对齐、Transaction(事务)转换、乱序处理、Qos选择等功能,从而确保存储操作能够发送到对应的存储接口。在一种实施方式中,该存储控制器模块130包括上行子模块和下行子模块,其中,上行子模块用于将来自Matrix模块120的内部标准报文通过标识及映射处理并发送至目标接口控制器;下行子模块用于将从目标接口控制器返回的报文数据转换为内部标准报文并通过解映射及解标识处理后发送至Matrix模块120;
在一种实施方式中,如图5所示,上行子模块包括第一队列单元、标识(Tagging)单元和映射(Mapping)单元,其中,第一队列单元用于将来自Matrix模块120的内部标准报文按照第一预设规则进行排队;Tagging单元用于记录出队报文的标识符并存储于标识符表(Tagging表)中,进而用于下行对齐操作和Reorder(重排)功能;Mapping单元用于将内部标准报文转换为对应于目标接口控制器的接口时序并通过流控(FlowControl)消息形式发送至目标接口控制器。
在一种可选的方案中,对于第一队列单元中的第一预设规则,可分别按照分别按源端口、Type类型和Qos信息这三重属性进行排队,如图5所示的源端口队列、Type队列及Qos队列,其中,该队列单元的出队判决原则是:(1)QOS队列按高低顺序;(2)Type队列按Ready/Valid消息>消息>请求的顺序;(3)源端口队列按Cache > SRAM > CPU > DMA > 其它的顺序,其中,若支持Aging功能,当Aging超时后可以支持优先级翻转,从而优先出队,以避免死锁。
作为另一种可选的方案,该Tagging单元还可以侧挂存算单元,例如,如果报文中确定对报文中的数据要求计算,则可以在该存储控制器模块130中完成计算操作后再传输到下一部分,例如,该存算单元可包括但不限于进行如累加、位计算等运算操作,具体可根据实际需求来设定。此外,该Mapping单元同样还可以侧挂如编码单元和/或加扰单元等,用以支持对数据提供简单的ECC(校验)功能,如对Parity检验等;以及按相应配置信息来对数据进行编码、和/或添加干扰等处理。例如,在一些需要对存储的数据进行加密存储时,可以通过该编码单元进行如汉明码编码等处理,其中,汉明码可以用于纠正1bit的错误,提供高速内存接口一定的读写增益,以及数据完整性和可靠性。
在一种实施方式中,如图6所示,下行子模块包括解映射(Unmapping)单元、解标识(UnTagging)单元和第二队列单元;其中,Unmapping单元用于将从目标接口控制器返回的报文数据转换为内部标准报文;UnTagging单元用于查找入队报文的标识符(ID)以及类型,以便根据该ID及类型,将属于同一目的端口的报文对齐和Reorder等,拼装成一次完整操作等;而第二队列单元用于将解映射单元输出的内部标准报文按照第二预设规则进行排队以发送至Matrix模块120。
在一种可选的方案中,对于第二队列单元中的第二预设规则,可分别按照分别按目的端口、Type类型和Qos信息这三重属性进行排队,如图6所示的目的端口队列、Type队列及Qos队列,其中,该队列单元的出队判决原则是:(1)QOS队列按高低顺序;(2)Type队列按Ready/Valid消息>消息>请求的顺序;(3)目的端口队列按Cache > SRAM > CPU > DMA >其它的顺序,其中,若支持Aging功能,当Aging超时后可以支持优先级翻转,从而优先出队。可以理解,该第二队列单元与上述的第一队列单元的出队判决原则基本一致,区别仅在于上行子模块中是基于源端口,而下行子模块是基于目的端口。
作为另一种可选的方案,该Unmapping单元可以侧挂如解码单元和/或解扰单元等,其中,该解码单元与上述的编码单元是相对应的,而且加扰单元和解扰单元是相对应的,例如,若采用了汉明码编码等处理,则这里可以进行解码处理;若增加了干扰,则可以通过该解扰单元进行滤队干扰等处理。此外,该Tagging单元还可以侧挂存算单元等,若报文中确定该数据要求计算,那么在这里完成计算操作后再传输到下一部分。
可以理解的是,通过在存储控制器模块130中设置存算单元,即在靠近存储控制器最近的地方,完成频繁读写内存的计算,这样可以有效降低CPU/GPU的执行指令、Cache(缓存)的刷新操作、SRAM(静态随机存储器)的读写操作,从而提高处理器核的执行效率,减少Cache的Miss操作,带来降低延时和提高运行带宽的收益。
接口控制器模块140主要负责针对不同的外部存储类型的接口模块,将存储控制器的数据转换位不同外部存储接口的协议和电路要求。具体地,该接口控制器模块140用于以将从目标外部存储器中读取的数据发送至目标接口控制器,或将从目标接口控制器中获取的数据存储至目标外部存储器中。例如,该外部存储器的类型,可包括但不限于包括HBM(用于显卡中的内存,即显存)、DDR(双倍速率同步动态随机存储器)、GDDR(用于显卡中的DDR)等。相应地,支持的内部存储接口可包括但不限于包括SRAM、Cache等,具体均可以根据实际需求来设定,这里不作限定。
本申请实施例的众核系统的存储管理装置通过设计由上述协议适配模块110、Matrix模块120、存储控制器模块130和接口控制器模块140这四大模块构成的架构,可以适配不同接口或协议的多种类型控制器及存储器等,实现延时尽量短且波动小,此外,还可以设置存算、编解码等功能,快速加密和解密功能;支持地址、控制、数据分离的控制交互流程,避免死锁和提高时序;以及,支持可配置的存算一体化逻辑,支持加法、乘法和逻辑位计算操作等,可以实现众核系统中的高性能、多功能存储管理装置需求,还可降低整个众核系统实现的复杂度等。
本申请实施例还提出一种众核系统的存储管理方法,应用于众核系统的存储管理装置,所述装置包括协议适配模块110、矩阵计算模块120、存储控制器模块130和接口控制器模块140,其中,所述协议适配模块110用于连接不同内部协议总线,所述接口控制器模块140用于连接不同接口类型的外部存储器。
如图7所示,示范性地,该众核系统的存储管理方法包括:
步骤S110,通过协议适配模块110将目标报文在相应内部协议与内部标准协议之间进行转换,以得到内部标准报文或发送至相应内部协议总线的报文数据。
步骤S120,通过矩阵计算模块120根据读写请求将内部标准报文按照端口路由模式由源端口交换至目的端口。
步骤S130,通过存储控制器模块130中的上行子模块将来自矩阵计算模块的内部标准报文通过标识及映射处理并发送至目标接口控制器;以及通过存储控制器模块130中的下行子模块将从目标接口控制器返回的报文数据转换为内部标准报文并通过解映射及解标识处理后发送至矩阵计算模块。
步骤S140,通过接口控制器模块140从目标外部存储器中读取的数据发送至目标接口控制器,或将从目标接口控制器中获取的数据存储至目标外部存储器中。
可以理解,本实施例的方法步骤对应于上述实施例的装置中各个模块的功能,上述实施例中的可选项同样适用于本实施例,故在此不再重复描述。
本申请还提供了一种集成电路,例如,可以是片上系统(SOC)等,示范性地,该集成电路包括多个处理器、多个存储器,其中,该集成电路采用上述实施例中的众核系统的存储管理装置来实现多个处理器与多个存储器之间的数据存储管理。
其中,处理器可以是一种具有信号的处理能力的集成电路芯片。处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、图形处理器(GraphicsProcessing Unit,GPU)及网络处理器(Network Processor,NP)、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件中的至少一种。存储器可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable ProgrammableRead-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable ProgrammableRead-Only Memory,EEPROM)等。
本申请还提供了一种可读存储介质,存储有计算机程序,所述计算机程序在处理器上执行时,实施上述实施例的众核系统的存储管理装置中各个模块的功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
Claims (10)
1.一种众核系统的存储管理装置,其特征在于,包括:
协议适配模块,用于连接不同内部协议总线,以将目标报文在相应内部协议与内部标准协议之间进行转换,得到内部标准报文或发送至相应内部协议总线的报文数据;
矩阵计算模块,用于根据读写请求将所述内部标准报文按照端口路由模式由源端口交换至目的端口;
存储控制器模块,包括上行子模块和下行子模块,所述上行子模块用于将来自所述矩阵计算模块的所述内部标准报文通过标识及映射处理并发送至目标接口控制器;所述下行子模块用于将从目标接口控制器返回的报文数据转换为所述内部标准报文并通过解映射及解标识处理后发送至所述矩阵计算模块;
接口控制器模块,用于连接不同接口类型的外部存储器,以将从目标外部存储器中读取的数据发送至所述目标接口控制器,或将从所述目标接口控制器中获取的数据存储至目标外部存储器中。
2.根据权利要求1所述的众核系统的存储管理装置,其特征在于,所述内部标准协议根据总线类型定义有第一传输通道和第二传输通道,其中,所述第一传输通道用于传输下发的请求,所述第二传输通道用于传输返回的响应消息;
所述协议适配模块用于将目标报文在相应内部协议与内部标准协议之间进行转换,以得到内部标准报文,包括:
所述协议适配模块用于对相应内部协议总线发送的目标报文进行解析,得到相应的数据和地址内容,并对所述数据和地址内容进行通道数据合并,得到格式统一的报文体,然后添加预设格式的报文头,得到内部标准报文,然后通过所述第一传输通道将所述内部标准报文发送至类型报文队列中,等待发送至所述矩阵计算模块。
3.根据权利要求2所述的众核系统的存储管理装置,其特征在于,所述协议适配模块用于将目标报文在相应内部协议与内部标准协议之间进行转换,以得到相应内部协议总线的报文数据,包括:
所述协议适配模块还用于将来自所述矩阵计算模块的所述内部标准报文通过所述第二传输通道送入回应消息队列中,之后对所述内部标准报文去掉所述报文头及将得到的相应报文体按照所述相应内部协议进行格式转换,以得到所需响应消息并通过所述相应内部协议总线发送出去。
4.根据权利要求2或3所述的众核系统的存储管理装置,其特征在于,所述预设格式的报文头包括三个组成部分,其中,第一组成部分用于描述所述请求或响应消息的唯一标识符;第二组成部分用于描述所述请求或响应消息的类型;第三组成部分用于描述所述请求或响应消息的处理优先级。
5.根据权利要求1所述的众核系统的存储管理装置,其特征在于,所述读写请求中包含所述目标报文的源端口和目的端口的信息;所述矩阵计算模块用于根据读写请求将所述内部标准报文按照端口路由模式由源端口交换至目的端口,包括:
所述矩阵计算模块用于通过路由单元根据预设配置信息获取全局地址映射表,并根据所述全局地址映射表确定由所述源端口到达所述目的端口的路由资源及路径,进而基于所述路由资源及路径发送所述内部标准报文;其中,所述全局地址映射表包括物理地址映射表或共享虚拟地址映射表。
6.根据权利要求1所述的众核系统的存储管理装置,其特征在于,所述上行子模块包括第一队列单元、标识单元和映射单元;
所述第一队列单元用于将来自所述矩阵计算模块的所述内部标准报文按照第一预设规则进行排队,所述标识单元用于记录出队报文的标识符并存储于标识符表中,所述映射单元用于将所述内部标准报文转换为对应于目标接口控制器的接口时序并通过流控消息形式发送至目标接口控制器;
所述下行子模块包括解映射单元、解标识单元和第二队列单元;
所述解映射单元用于将从目标接口控制器返回的报文数据转换为所述内部标准报文,所述解标识单元用于查找入队报文的标识符,并将属于同一目的端口的报文对齐,所述第二队列单元用于将所述解映射单元输出的所述内部标准报文按照第二预设规则进行排队以发送至所述矩阵计算模块。
7.根据权利要求6所述的众核系统的存储管理装置,其特征在于,所述上行子模块还包括存算单元、编码单元和加扰单元中的一种或多种组合;
所述存算单元、所述编码单元和所述加扰单元分别用于根据相应配置信息对所述映射单元中的相应报文数据进行计算处理、编码处理和添加干扰处理;
所述下行子模块还包括存算单元、解码单元和解扰单元中的一种或多种组合;
所述存算单元、所述解码单元和所述解扰单元分别用于根据相应配置信息对所述解映射单元中的相应报文数据进行计算处理、解码处理和滤队干扰处理。
8.一种众核系统的存储管理方法,其特征在于,包括:
通过协议适配模块将目标报文在相应内部协议与内部标准协议之间进行转换,以得到内部标准报文或发送至相应内部协议总线的报文数据;
通过矩阵计算模块根据读写请求将所述内部标准报文按照端口路由模式由源端口交换至目的端口;
通过存储控制器模块中的上行子模块将来自所述矩阵计算模块的所述内部标准报文通过标识及映射处理并发送至目标接口控制器;以及通过存储控制器模块中的下行子模块将从目标接口控制器返回的报文数据转换为所述内部标准报文并通过解映射及解标识处理后发送至所述矩阵计算模块;
通过接口控制器模块将从目标外部存储器中读取的数据发送至所述目标接口控制器,或将从所述目标接口控制器中获取的数据存储至目标外部存储器中。
9.一种集成电路,其特征在于,所述集成电路包括多个处理器、多个存储器,其中,所述集成电路采用如权利要求1至7中任一项所述的众核系统的存储管理装置来实现所述多个处理器与所述多个存储器之间的数据存储管理。
10.一种可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序在处理器上执行时,实施根据权利要求1-7中任一项所述的众核系统的存储管理装置中各个模块的功能。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211533104.XA CN115633098B (zh) | 2022-12-02 | 2022-12-02 | 众核系统的存储管理方法、装置和集成电路 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211533104.XA CN115633098B (zh) | 2022-12-02 | 2022-12-02 | 众核系统的存储管理方法、装置和集成电路 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN115633098A true CN115633098A (zh) | 2023-01-20 |
| CN115633098B CN115633098B (zh) | 2023-03-31 |
Family
ID=84910304
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202211533104.XA Active CN115633098B (zh) | 2022-12-02 | 2022-12-02 | 众核系统的存储管理方法、装置和集成电路 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN115633098B (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118567883A (zh) * | 2024-08-02 | 2024-08-30 | 北京开源芯片研究院 | 验证环境中的组件通信方法、装置、设备及存储介质 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103441573A (zh) * | 2013-08-01 | 2013-12-11 | 国家电网公司 | 一种基于iec61850标准的网络处理器 |
| CN104317770A (zh) * | 2014-10-28 | 2015-01-28 | 天津大学 | 用于众核处理系统的数据存储结构及数据访问方法 |
| WO2016165421A1 (zh) * | 2015-09-21 | 2016-10-20 | 中兴通讯股份有限公司 | 不同接口协议报文转化处理的方法和装置 |
| CN110380970A (zh) * | 2019-07-22 | 2019-10-25 | 北京邮电大学 | 一种适用于异构网络的自适应数据报文转发方法及装置 |
| WO2020119430A1 (zh) * | 2018-12-14 | 2020-06-18 | 深圳壹账通智能科技有限公司 | 协议接口测试方法、装置、计算机设备和存储介质 |
-
2022
- 2022-12-02 CN CN202211533104.XA patent/CN115633098B/zh active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103441573A (zh) * | 2013-08-01 | 2013-12-11 | 国家电网公司 | 一种基于iec61850标准的网络处理器 |
| CN104317770A (zh) * | 2014-10-28 | 2015-01-28 | 天津大学 | 用于众核处理系统的数据存储结构及数据访问方法 |
| WO2016165421A1 (zh) * | 2015-09-21 | 2016-10-20 | 中兴通讯股份有限公司 | 不同接口协议报文转化处理的方法和装置 |
| WO2020119430A1 (zh) * | 2018-12-14 | 2020-06-18 | 深圳壹账通智能科技有限公司 | 协议接口测试方法、装置、计算机设备和存储介质 |
| CN110380970A (zh) * | 2019-07-22 | 2019-10-25 | 北京邮电大学 | 一种适用于异构网络的自适应数据报文转发方法及装置 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118567883A (zh) * | 2024-08-02 | 2024-08-30 | 北京开源芯片研究院 | 验证环境中的组件通信方法、装置、设备及存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN115633098B (zh) | 2023-03-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7797467B2 (en) | Systems for implementing SDRAM controllers, and buses adapted to include advanced high performance bus features | |
| US10802995B2 (en) | Unified address space for multiple hardware accelerators using dedicated low latency links | |
| US8913616B2 (en) | System-on-chip-based network protocol in consideration of network efficiency | |
| US10146468B2 (en) | Addressless merge command with data item identifier | |
| CN110297797B (zh) | 异构协议转换装置和方法 | |
| US20110153875A1 (en) | Opportunistic dma header insertion | |
| US20240143392A1 (en) | Task scheduling method, chip, and electronic device | |
| CN115633098B (zh) | 众核系统的存储管理方法、装置和集成电路 | |
| JP2022510803A (ja) | バス上のメモリ要求チェーン | |
| CN119938551A (zh) | 一种基于纵向扩展组网的内存访问系统 | |
| CN113791892B (zh) | 数据通路仲裁方法、数据通路仲裁装置及芯片 | |
| US9846662B2 (en) | Chained CPP command | |
| US6466993B1 (en) | Method and apparatus for performing transactions rendering between host processors and I/O devices using concurrent non-blocking queuing techniques and I/O bus write operations | |
| GB2377138A (en) | Ring Bus Structure For System On Chip Integrated Circuits | |
| CN112882986A (zh) | 一种带有超节点以及超节点控制器的众核处理器 | |
| US9665519B2 (en) | Using a credits available value in determining whether to issue a PPI allocation request to a packet engine | |
| CN101625671B (zh) | Ahb互连矩阵接口及其数据处理方法 | |
| CN114443530B (zh) | 基于TileLink的芯片互联电路及数据传输方法 | |
| JPH08212178A (ja) | 並列計算機 | |
| WO2024174122A9 (zh) | 一种缓存路由结构、方法和芯片 | |
| US20040193830A1 (en) | Method and apparatus for address translation pre-fetch | |
| CN210038775U (zh) | 片上系统 | |
| JP2005062940A (ja) | 入出力制御装置 | |
| US9548947B2 (en) | PPI de-allocate CPP bus command | |
| US20240220104A1 (en) | Memory control system and memory control method |
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 |