总线架构、服务器、内存数据读写方法及可读存储介质与流程

文档序号:18409582发布日期:2019-08-10 00:51阅读:387来源:国知局
总线架构、服务器、内存数据读写方法及可读存储介质与流程

本发明涉及计算机技术领域,特别涉及一种总线架构、一种服务器、一种内存数据读写方法及一种计算机可读存储介质。



背景技术:

总线(bus)是计算机各种功能部件之间传送信息的公共通信干线,总线可以包括数据总线、地址总线和控制总线。总线是一种内部结构,它是cpu、内存、输入、输出设备传递信息的公用通道,主机的各个部件通过总线相连接,外部设备通过相应的接口电路再与总线相连接,从而形成了计算机硬件系统。

相关技术中,服务器的总线结构(即总线架构)都是以cpu为中心来实现的,例如qpi总线、pcie总线。这些都是cpu为中心的总线。内存挂在cpu下面,其他device(设备)通过各种总线与cpu互联。但是在计算机体系结构中,大量的数据计算和存储是通过内存的,所以存在大量的对内存的读写操作。而相关技术中的总线都是挂在cpu下面,所有对内存读写的操作都要通过cpu,导致总线架构对内存读写能力受到cpu的限制。

因此,如何提高总线架构的内存读写能力是本领域技术人员目前需要解决的技术问题。



技术实现要素:

本申请的目的是提供一种总线架构、一种服务器、一种内存数据读写方法及一种计算机可读存储介质,能够提高总线架构的内存读写能力。

为解决上述技术问题,本申请提供一种总线架构,该总线架构包括:

通过总线与总线控制器连接的目标硬件设备;

设置有所述总线控制器的内存模块,用于根据所述目标硬件设备向所述总线控制器发送的数据读写指令执行相应的内存数据读写操作。

可选的,所述硬件设备包括cpu、gpu、fpga和switch组件中的任一种或任几种组合。

可选的,所述switch组件用于连接扩展硬件设备;其中,所述扩展硬件设备包括fpga和/或gpu。

本申请还提供了一种服务器,包括上述任意一种总线架构。

本申请还提供了一种内存数据读写方法,应用于上述任意一种总线架构,该内存数据读写方法包括:

接收目标硬件装置通过总线发送的数据读写指令;

在内存模块中执行所述数据读写指令对应的内存数据读写操作。

可选的,当所述数据读写指令为内存数据读指令时,在内存模块中执行所述数据读写指令的内存数据读写操作包括:

查询所述内存模块中与所述内存数据读指令对应的目标读写数据,并将所述目标读写数据通过所述总线传输至所述目标硬件装置。

可选的,还包括:

检测所述目标读写数据的传输状态;

当所述传输状态异常时,生成报警信息。

本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序执行时实现上述内存数据读写方法执行的步骤。

本申请提供了一种总线架构,包括通过总线与总线控制器连接的目标硬件设备;设置有所述总线控制器的内存模块,用于根据所述目标硬件设备向所述总线控制器发送的数据读写指令执行相应的内存数据读写操作。

本申请通过在内存模块中设置总线控制器,所有的目标硬件设备均通过总线与内存模块中的总线控制器连接,实现以内存为中心的总线架构设计。由于本申请提供的总线结构以cpu为中心,因此目标设备发送的数据读写指令无需经过cpu即可直接到达内存模块,以便内存模块执行相应的内存数据读写操作。本申请提供了以内存为中心的总线框架,因此能够避免cpu对内存读写能力的限制,提高总线架构的内存读写能力。本申请同时还提供了一种服务器、一种内存数据读写方法及一种计算机可读存储介质,具有上述有益效果,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例所提供的一种总线架构的结构示意图;

图2为内存模块结构示意图;

图3为本申请实施例所提供的一种内存数据读写方法的流程图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

下面请参见图1,图1为本申请实施例所提供的一种总线架构的结构示意图,具体结构可以包括:

通过总线300与总线控制器101连接的目标硬件设备200;

设置有所述总线控制器101的内存模块100,用于根据所述目标硬件设备200向所述总线控制器101发送的数据读写指令执行相应的内存数据读写操作。

请参见图2,图2为内存模块结构示意图,图2中ddr为内存,ddrphy为内存的端口物理层,ddrcontroller为内存控制逻辑层,bus为总线,arbiter为总线仲裁。本实施例相当于将原设置于cpu中的总线控制器移至内存模块100中,目标设备对内存读写的时候就可以直接与总线控制模块通信。因为总线控制模块101设置于内存模块上,因此就相当于目标设备直接和内存模块通信,不再间接通过cpu通信。内存模块与总线控制器之间的连接关系类似于普通的内存颗粒或者内存条直接挂在总线控制器下面,接口就是普通的内存接口。

如图1所示内存模块100直接和总线300连接,内存模块100作为主动器件,其他器件(即硬件设备200)作为从设备连接在总线上。内存模块100上有总线控制器,负责总线的调度,以及内存一致性控制。

作为一种可行的实施方式,上述目标硬件设备200可以包括cpu、gpu、fpga和switch组件中的任一种或任几种组合。其中,switch组件可以用于连接扩展硬件设备;该扩展硬件设备包括fpga和/或gpu,以实现硬件设备可连接数量的额外扩展。本实施例不限定目标硬件设备的种类和数量,本领域的技术人员可以根据实际应用情况灵活选择。

下面通过fpga读写内存的过程说明本实施例所提供的总线结构的实现方式:当fpga需要对内存进行读写时,通过总线直接将内存读写指令发送至内存模块的总线控制器,内存模块中执行内存读写指令对应的内存数据读写操作,并将读写操作结果通过总线直接返回至fpga。而在以cpu为中心的总线架构中,fpga需要对内存进行读写的时候,首先将读写请求发送给cpu,cpu根据读写请求的内容将其翻译为cpu对内存的读写控制,当cpu从内存上获得数据之后再转发给fpga。由此可见,本实施例中总线架构不再以cpu为中心,其他硬件设备读写内存的时候不再通过cpu,可以不受制于cpu的性能。

本实施例通过在内存模块中设置总线控制器,所有的目标硬件设备均通过总线与内存模块中的总线控制器连接,实现以内存为中心的总线架构设计。内存直接挂在总线控制器下面,总线控制器成为内存模块的一部分。由于本实施例提供的总线结构以cpu为中心,因此目标设备发送的数据读写指令无需经过cpu即可直接到达内存模块,以便内存模块执行相应的内存数据读写操作。本实施例提供了以内存为中心的总线框架,因此能够避免cpu对内存读写能力的限制,提高总线架构的内存读写能力。

本申请还提供了一种服务器,可以包括上述实施例中任意一种总线架构。当然该服务器还可以包括各种网络接口,电源等组件。

下面请参见图3,图3为本申请实施例所提供的一种内存数据读写方法的流程图,本实施例可以应用于如上述实施例中任意一种总线架构,具体步骤可以包括:

s1:接收目标硬件装置通过总线发送的数据读写指令;

s2:在内存模块中执行所述数据读写指令对应的内存数据读写操作。

本实施例是基于图1对应的实施例所描述的总线架构实现的,本实施例的执行主体为内存模块,目标硬件装置通过总线发送的数据读写指令可以为目标硬件装置直接与内存模块之间的信息传递,在内存模块接收到数据读写指令后,内存模块根据数据读写执行相应的内存数据读写操作,以便将数据读写执行对应的读写操作结果返回至相应的目标硬件设备。在本实施例中不限定目标硬件设备的种类与数量,目标硬件设备可以包括cpu、gpu、fpga和switch组件。

具体的,当上述实施例中数据读写指令为内存数据读指令时,s2中在内存模块中执行所述数据读写指令的内存数据读写操作可以具体为:查询所述内存模块中与所述内存数据读指令对应的目标读写数据,并将所述目标读写数据通过所述总线传输至所述目标硬件装置。进一步的,还可以按照预设周期检测目标读写数据的传输状态;当检测到所述传输状态异常时,生成报警信息。

本实施例基于图1对应的总线架构来实现,该总线架构通过在内存模块中设置总线控制器,所有的目标硬件设备均通过总线与内存模块中的总线控制器连接,实现以内存为中心的总线架构设计。由于该总线结构以cpu为中心,因此目标设备发送的数据读写指令无需经过cpu即可直接到达内存模块,以便内存模块执行相应的内存数据读写操作。本实施例提供了以内存为中心的总线框架的内存数据读写方案,因此能够避免cpu对内存读写能力的限制,提高总线架构的内存读写能力。

本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1