1.本发明涉及计算机技术领域,更具体地说,涉及一种访存接口模块、计算设备及数据传输方法。
背景技术:
2.随着处理器技术的不断发展,可用于访存的处理器接口标准越来越多样化,如cxl(compute express link,互联协议)、ccix(缓存一致互联协议)、opencapi(open coherent accelerator processor interface,开放式一致性加速器接口)等。risc-v指令集架构是一种新型的处理器架构,目前发展迅速,有望在未来成为主流处理器架构。risc-v处理器内部系统总线通常采用开源的tilelink协议,tilelink协议是专为risc-v设计,具有低延迟和高吞吐率的特点。tilelink协议规范支持一致性的存储器映射方式,可以访问其他存储器和设备。tilelink采用的是moesi一致性协议标准(其中,m为modified状态,e为exclusive状态,s为shared状态,i为invalid状态,o为owned状态)。tilelink定义了支持缓存的工作模式(tilelink cached,tl-c)。基于该模式可以实现多处理器间的缓存以及处理器与各类存储器间的一致性互连。
3.但是,目前tilelink仅仅定义了协议层,主要用于片内核间互连,尚无基于tilelink协议的片间互连方案,因此,如何使处理器等计算设备基于tilelink协议实现片间互连,是本领域技术人员需要解决的问题。
技术实现要素:
4.本发明的目的在于提供一种访存接口模块、计算设备及数据传输方法,以使处理器等计算设备基于tilelink协议实现片间互连。
5.为实现上述目的,本发明提供一种访存接口模块,该访存接口模块包括:
6.tilelink处理模块、报文转换模块及pcie处理模块;
7.所述报文转换模块用于:将所述tilelink处理模块发送的tilelink协议报文按照pcie协议进行重新组包,将生成的pcie协议报文发送至所述pcie处理模块;将所述pcie处理模块发送的pcie协议报文按照tilelink协议进行重新组包,将生成的tilelink协议报文发送至所述tilelink处理模块。
8.其中,所述报文转换模块包括:
9.发送单元,用于将所述tilelink处理模块发送的tilelink协议报文按照pcie协议进行重新组包,将生成的pcie协议报文发送至所述pcie处理模块;
10.接收单元,用于将所述pcie处理模块发送的pcie协议报文按照tilelink协议进行重新组包,将生成的tilelink协议报文发送至所述tilelink处理模块。
11.其中,所述tilelink处理模块包括:tilelink协议层。
12.其中,所述pcie处理模块包括:pcie物理层、pcie链路层和pcie传输层。
13.为实现上述目的,本发明进一步提供一种计算设备,所述计算设备包括如上述的
访存接口模块。
14.其中,所述计算设备用于通过所述访存接口模块,实现与其他计算设备间的互连及访存功能。
15.其中,所述计算设备中的访存接口模块的数量,与所述其他计算设备的数量相同。
16.其中,所述计算设备为risc-v处理器。
17.其中,所述计算设备为pcie加速卡。
18.为实现上述目的,本发明进一步提供一种基于访存接口模块的数据传输方法,所述访存接口模块包括:tilelink处理模块、报文转换模块及pcie处理模块,所述数据传输方法包括:
19.所述报文转换模块将tilelink处理模块发送的tilelink协议报文按照pcie协议进行重新组包,将生成的pcie协议报文发送至所述pcie处理模块;
20.所述报文转换模块将所述pcie处理模块发送的pcie协议报文按照tilelink协议进行重新组包,将生成的tilelink协议报文发送至所述tilelink处理模块。
21.通过以上方案可知,本发明实施例提供的一种访存接口模块、计算设备及数据传输方法,该访存接口模块中的报文转换模块用于将tilelink处理模块发送的tilelink协议报文按照pcie协议进行重新组包,将生成的pcie协议报文发送至pcie处理模块;将pcie处理模块发送的pcie协议报文按照tilelink协议进行重新组包,将生成的tilelink协议报文发送至tilelink处理模块。可见,本方案中的访存接口模块,为整合tilelink协议与pcie协议的复合型访存接口模块,该访存接口模块可实现tilelink协议与pcie协议之间的报文转换,可应用在访存场景下的各种计算设备,实现各计算设备间的互连及访存功能,解决了当前risc-v生态下,没有片间互连或者提供访存功能的接口问题,为risc-v未来的生态建设提供和有效的互连方案。
附图说明
22.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
23.图1为本发明实施例公开的一种访存接口模块结构示意图;
24.图2为本发明实施例公开的一种报文转换模块结构示意图;
25.图3为本发明实施例公开的访存接口模块整体结构示意图;
26.图4为本发明实施例公开的一种risc-v处理器结构示意图。
具体实施方式
27.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
28.本发明实施例公开了一种访存接口模块、计算设备及数据传输方法,以使处理器
等计算设备基于tilelink协议实现片间互连。
29.参见图1,本发明实施例提供的一种访存接口模块结构示意图,该访存接口模块包括:
30.tilelink处理模块11、报文转换模块12及pcie(peripheral component interconnect express,高速串行计算机扩展总线标准)处理模块13;
31.其中,报文转换模块12用于:将tilelink处理模块11发送的tilelink协议报文按照pcie协议进行重新组包,将生成的pcie协议报文发送至pcie处理模块13;将pcie处理模块13发送的pcie协议报文按照tilelink协议进行重新组包,将生成的tilelink协议报文发送至tilelink处理模块11。
32.需要说明的是,在本实施例中,该tilelink处理模块11主要用于利用tilelink协议对数据进行处理,如:访存接口模块应用于risc-v处理器时,访存接口模块中的tilelink处理模块11利用tilelink协议对risc-v处理器发送的数据进行处理,生成tilelink协议报文后发送至报文转换模块12,以便报文转换模块12转换为pcie协议报文后通过pcie处理模块13发送至其他计算设备。其中,本实施例中的tilelink处理模块只要能利用tilelink协议处理数据即可,并不限定其具体结构,如:该tilelink处理模块可以仅包括tilelink协议层,或者该tilelink处理模块可包括tilelink协议层及tilelink链路层等等,在此并不进行具体限定。
33.参见图2,为本发明实施例提供的一种报文转换模块结构示意图,其中,图2中的tilelink to pcie为报文转换模块,报文转换模块左侧的channela~channele为tilelink协议的五个通道,由于访存接口模块需要实现两个计算设备之间的互联及访存操作,因此报文转换模块共有两个channela~channele,并且,两个channela~channele在发送和接收数据时,分别需要通过发送单元(transport,tx)和接收单元(receive,rx)实现,其中,发送单元用于将tilelink处理模块发送的tilelink协议报文按照pcie协议进行重新组包,将生成的pcie协议报文发送至pcie处理模块;接收单元用于将pcie处理模块发送的pcie协议报文按照tilelink协议进行重新组包,将生成的tilelink协议报文发送至tilelink处理模块。
34.在本实施例中,pcie处理模块13用于将报文转换模块转换生成的pcie协议报文发送至其他计算设备,并将其他计算设备发送的pcie协议报文发送至tilelink处理模块11,以便协议转换后生成tilelink协议报文发送至报文转换模块12。因此在本方案中,只要pcie处理模块13能实现pcie协议报文的发送及接收功能即可,并不限定其具体结构,例如:该pcie处理模块可以包括:pcie物理层、pcie链路层和pcie传输层,当然,该pcie处理模块还可以仅包括pcie链路层和pcie传输层等等,在此并不具体限定。如图2所示,报文转换模块右侧连接的pcie处理模块13即包括pcie trans layer(pcie传输层)、pcie link layer(pcie链路层)及pcie phy layer(pcie物理层)。
35.可以理解的是,本方案中的访存接口模块属于接口体系结构上的改进,只要tilelink处理模块11、报文转换模块12及pcie处理模块13能实现对应的功能即可,参见图3,为本发明实施例提供的访存接口模块整体结构示意图,在图3中,仅以访存接口模块包括:tilelink协议层11、报文转换模块12及pcie传输层131、pcie链路层132、pcie物理层133这五层结构为例进行说明,也就是说,只要采用tilelink协议和pcie协议和规范设计的复
合型访存接口模块,均在本发明的保护范围内。
36.综上可以看出,在本方案中,通过基于pcie的物理层、链路层、传输层,以及tilelink协议层,可实现一种新型的tilelink over pcie的访存接口模块,该访存接口模块通过对pcie的链路层和物理层报文格式进行适配,使其符合tilelink协议的报文格式和规范,对报文的组包形式进行调整,实现tilelink报文在pcie的物理层、链路层、传输层通道中的传输。该访存接口模块可以应用于risc-v处理器、pcie加速卡等设备上,为risc-v未来的生态建设提供和有效的互连方案。
37.基于上述实施例,在本实施例中,还公开了一种计算设备,该计算设备包括上述任意实施例所述的访存接口模块;该计算设备用于通过该访存接口模块实现与其他计算设备间的互连及访存功能。
38.在本实施例中,该计算设备可以为risc-v处理器。
39.其中,本方案中的访存接口模块中,接口的物理层、链路层、传输层设计均采用pcie的物理层和链路层规范,主要目的是为了从物理接口和电气特性上,兼容目前最为主流的接口,对于现有的访存设备可以通过最小化改动进行兼容支持。并且,该访存接口模块主要是面向risc-v指令集的处理器,因此,协议层采用tilelink协议,以支持对risc-v处理器缓存/内存的访问,实现对cache line状态的完全兼容。
40.具体来说,本方案将访存接口模块应用在risc-v处理器内部实现时,具体应用方式如下:
41.步骤1:针对risc-v处理器设计tilelink over pcie访存接口。访存接口设计方法可按照如图3所述的五层结构确定,设计相应的pcie物理层(serdes)、pcie链路层和pcie传输层,并设计tilelink协议到pcie协议的报文转换模块,按照tilelink协议设计实现tilelink协议层。
42.步骤2:在处理器中实现tilelink over pcie访存接口。将设计的访存接口按照处理器的实际需求数量,在处理器设计中进行例化,随处理器进行工程实现。
43.通过如上两步,便可实现带有tilelink over pcie访存接口的risc-v处理器。
44.需要说明的是,在本实施例中,不同计算设备的访存接口模块间是通过点对点的方式互连,因此,若计算设备需要与多个其他计算设备互连,则该计算设备需要设置多个访存接口,也就是说:计算设备中的访存接口模块的数量与需要连接的其他计算设备的数量相同。参见图4,为本发明实施例公开的一种risc-v处理器结构示意图,其中,control为控制模块,execute为执行模块,tilelink over pcie为访存接口模块,d-cache/i-cache为risc-v处理器的两个高速缓存,risc-v处理器中各模块与缓存之间通过总线互联。
45.进一步,在本实施例中,仅以访存接口模块应用在risc-v处理器为例进行说明,在实际使用时,该访存接口模块还可应用在其他需要访存的计算设备上,例如:该计算设备可以为pcie加速卡,还可以为gpu(graphics processing unit,图形处理器)等等。
46.综上可以看出,在本实施例中的计算设备中,具有基于tilelink协议及复用pcie物理层、链路层和传输层设计的访存接口,该访存接口可面向risc-v新型处理器架构,并兼顾pcie接口兼容性高的特点,可以广泛应用于risc-v处理器、pcie加速卡等计算设备以及高速信号传输等场景中。通过该方式,可解决当前risc-v生态下,没有片间互连或者提供访存功能的接口问题,为risc-v未来的生态建设提供和有效的互连方案。
47.基于上述实施例,在本实施例中,公开了一种基于访存接口模块的数据传输方法,该访存接口模块包括:tilelink处理模块、报文转换模块及pcie处理模块;该数据传输方法包括:
48.报文转换模块将tilelink处理模块发送的tilelink协议报文按照pcie协议进行重新组包,将生成的pcie协议报文发送至pcie处理模块;
49.报文转换模块将pcie处理模块发送的pcie协议报文按照tilelink协议进行重新组包,将生成的tilelink协议报文发送至tilelink处理模块。
50.其中,本实施例中tilelink处理模块可包括:tilelink协议层,该pcie处理模块可包括:pcie物理层、pcie链路层和pcie传输层。
51.综上可见,在本方案中,公开了了一种整合tilelink协议与pcie协议的复合型访存接口模块,该访存接口模块可实现tilelink协议与pcie协议之间的报文转换,可应用在访存场景下的各种计算设备,实现各计算设备间的互连及访存功能。本方案可解决当前risc-v生态下,没有片间互连或者提供访存功能的接口问题,为risc-v未来的生态建设提供和有效的互连方案。
52.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
53.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
技术特征:
1.一种访存接口模块,其特征在于,所述访存接口模块包括:tilelink处理模块、报文转换模块及pcie处理模块;所述报文转换模块用于:将所述tilelink处理模块发送的tilelink协议报文按照pcie协议进行重新组包,将生成的pcie协议报文发送至所述pcie处理模块;将所述pcie处理模块发送的pcie协议报文按照tilelink协议进行重新组包,将生成的tilelink协议报文发送至所述tilelink处理模块。2.根据权利要求1所述的访存接口模块,其特征在于,所述报文转换模块包括:发送单元,用于将所述tilelink处理模块发送的tilelink协议报文按照pcie协议进行重新组包,将生成的pcie协议报文发送至所述pcie处理模块;接收单元,用于将所述pcie处理模块发送的pcie协议报文按照tilelink协议进行重新组包,将生成的tilelink协议报文发送至所述tilelink处理模块。3.根据权利要求2所述的访存接口模块,其特征在于,所述tilelink处理模块包括:tilelink协议层。4.根据权利要求3所述的访存接口模块,其特征在于,所述pcie处理模块包括:pcie物理层、pcie链路层和pcie传输层。5.一种计算设备,其特征在于,所述计算设备包括如权利要求1至4中任意一项所述的访存接口模块。6.根据权利要求5所述的计算设备,其特征在于,所述计算设备用于通过所述访存接口模块,实现与其他计算设备间的互连及访存功能。7.根据权利要求6所述的计算设备,其特征在于,所述计算设备中的访存接口模块的数量,与所述其他计算设备的数量相同。8.根据权利要求5所述的计算设备,其特征在于,所述计算设备为risc-v处理器。9.根据权利要求5所述的计算设备,其特征在于,所述计算设备为pcie加速卡。10.一种基于访存接口模块的数据传输方法,其特征在于,所述访存接口模块包括:tilelink处理模块、报文转换模块及pcie处理模块,所述数据传输方法包括:所述报文转换模块将所述tilelink处理模块发送的tilelink协议报文按照pcie协议进行重新组包,将生成的pcie协议报文发送至所述pcie处理模块;所述报文转换模块将所述pcie处理模块发送的pcie协议报文按照tilelink协议进行重新组包,将生成的tilelink协议报文发送至所述tilelink处理模块。
技术总结
本发明公开了一种访存接口模块、计算设备及数据传输方法,该访存接口模块中的报文转换模块用于将TileLink处理模块发送的TileLink协议报文按照PCIe协议进行重新组包,将生成的PCIe协议报文发送至PCIe处理模块;将PCIe处理模块发送的PCIe协议报文按照TileLink协议进行重新组包,将生成的TileLink协议报文发送至TileLink处理模块。可见,本方案中的访存接口模块,为整合TileLink协议与PCIe协议的复合型访存接口模块,该访存接口模块可实现TileLink协议与PCIe协议之间的报文转换,可应用在访存场景下的各种计算设备,实现各计算设备间的互连及访存功能。连及访存功能。连及访存功能。
技术研发人员:邹晓峰
受保护的技术使用者:山东云海国创云计算装备产业创新中心有限公司
技术研发日:2021.11.26
技术公布日:2022/3/8