一种高位宽总线读写的方法及装置制造方法及图纸

技术编号:23890389 阅读:34 留言:0更新日期:2020-04-22 06:13
本发明专利技术涉及了一种高位宽总线读写的方法及装置,其中该方法包括:根据数据传输通道的数量将内存划分成多个分区;根据内存大小和数据传输通道的数量确定第一数据位宽和第二数据位宽;响应于接收到用户发出的基于高位宽总线协议的写指令,将单位时钟周期内以所述第一数据位宽接收的数据按照第二数据位宽分别写入多个分区;响应于接收到用户发出的基于高位宽总线协议的读指令,将单位时钟周期内以第二数据位宽从多个分区读取的数据以第一数据位宽输出。利用本发明专利技术的实施例在大大降低了用户设计和验证内存控制系统的复杂度的前提下,实现了同时读写多块子内存,减小算法在FPGA上实现硬件加速时,内存访问瓶颈。

【技术实现步骤摘要】
一种高位宽总线读写的方法及装置
本专利技术涉及计算机
本专利技术进一步涉及一种高位宽总线读写的方法及装置。
技术介绍
异构计算是指在一个计算系统中使用不同的计算芯片或者同种芯片采用不同的系统架构形式。传统的计算方式大多采用同构计算系统,例如在一个计算系统中采用CPU(CentralProcessingUnit,中央处理器)作为单一计算芯片,系统采用集中式的本地计算,就是传统的同构计算系统。当既采用CPU,又采用FPGA(FieldProgrammableGateArray,现场可编程与门阵列)加速器做计算时,这样的系统就属于异构计算系统。采用FPGA加速卡进行加速计算的异构计算系统,FPGA加速器通常以PCIe(PeripheralComponentInterfaceExpress,总线和接口标准)外设卡的形式存在,其系统架构如下图所示,FPGA具有天然的并行计算能力,特别适合大位宽的数据流水处理,弥补CPU并行计算的缺点,分担CPU的计算压力,提高整个计算系统的性能,降低系统功耗。采用FPGA作为异构计算系统的方案中,由于FPGA计算时的高并发数据读写访问内存系统的操作,系统的存储带宽通常是计算的性能瓶颈。DDR内存是一种双倍速率同步动态随机存储器,具有两倍于时钟速率的动态存储器,每片DDR内存具有独立的地址总线、控制总线和数据总线,根据内存不同大小,具有不同的地址位宽,每片内存需要独立的控制总线。由于每个内存颗粒的存储大小有限,当需要很大内存空间时,可以根据控制总线中的片选信号,设计多个DDR内存颗粒组成内存系统,这些内存颗粒共享地址和数据总线,一定程度上减小了多内存系统的信号控制复杂度。传统增加系统内存带宽的方法是采用多个存储颗粒或者DIMM(DualIn-lineMemoryModule,双列直插式存储模块)封装的内存条组成内存系统,将系统中每个颗粒的控制总线、数据总线和地址总线连接到FPGA通用硬件GPIO(GeneralPurposeInput/Output,通用输入输出)上,通过增加FPGA芯片与DDR引脚接口数量来增大容量和带宽。高带宽存储器(HighBandwidthMemory,HBM)是一种高内存带宽的存储器,采用3D堆叠技术将内存颗粒封装在芯片内部,从而增大系统带宽,降低系统访问内存的延时,减小硬件系统设计复杂度。通常具有HBM的内存系统接口比较复杂,需要设计多路读写通道,达到较大的内存带宽。例如XilinxVU37P系列FPGA,具有8G容量的HBM,分为两个内存stack,16个内存控制器和32个AXI3-slave内存访问通道(AXI3,高级可扩展接口3,AdvancedeXtensibleInterfacep3)。每两个通道公用一个内存控制器(MemoryController,MC),每个控制器可以单独访问正片8G的内存空间,也可以配置为仅能访问256MB的内存空间。用户并行使用HBM内存时,需要同时控制32路AXI3-master控制器,同时读写,如图1所示。对于第一种采用DDR组成内存系统的方法,硬件上需要设计多DDR颗粒的PCB(PrintedCircuitBoard,印刷电路板),不仅增加系统硬件材料成本,而且会增加系统PCB设计复杂度。对于FPGA芯片也有较高要求,需要有足够多的引脚支持高带宽DDR内存系统带来的消耗,同时增加系统PCB设计时的布线难度。第二种采用HBM技术的高带宽内存系统,降低了多内存颗粒在PCB板上设计时的硬件系统复杂度,减小了对FPGA硬件引脚高度占用的依赖,但在FPGA内使用HBM(HighBandwidthMemory,高带宽内存)内存系统的控制器时,用户需要同时控制32路AXI3-master通道才能获取较高带宽的性能,如果仅用1路AXI3-master通道方位整个8G的内存空间,其性能和采用片外多DDR颗粒内存系统差异不大,甚至不如片外多DDR颗粒内存系统。高带宽并行访问内存系统的操作复杂度大大限制了用户的开发使用。基于上述情况,需要提出一种简便通用的高带宽内存的读写方法,帮助用户回避复杂的高带宽并行访问内存系统的操作,让用户更专注算法加速应用本身,加速用户的设计开发,进一步提高异构计算的效率。
技术实现思路
一方面,本专利技术基于上述目的提出了一种高位宽总线读写的方法,其中该方法包括以下步骤:根据数据传输通道的数量将内存划分成多个分区;根据内存大小和数据传输通道的数量确定第一数据位宽和第二数据位宽;响应于接收到用户发出的基于高位宽总线协议的写指令,将单位时钟周期内以所述第一数据位宽接收的数据按照第二数据位宽分别写入多个分区;响应于接收到用户发出的基于高位宽总线协议的读指令,将单位时钟周期内以第二数据位宽从多个分区读取的数据以第一数据位宽输出。根据本专利技术的高位宽总线读写的方法的实施例,其中响应于接收到用户发出的基于高位宽总线协议的写指令,将单位时钟周期内以第一数据位宽接收的数据按照第二数据位宽分别写入多个分区进一步包括:响应于接收到用户发出的基于高位宽总线协议的写指令,在多个单位时钟周期内连续地以第一数据位宽接收数据,其中,在每个单位时钟周期内,将接收到的数据按照第二数据位宽分割并将分割的数据分别通过数据传输通道写入内存的相应的分区中。根据本专利技术的高位宽总线读写的方法的实施例,其中响应于接收到用户发出的基于高位宽总线协议的读指令,将单位时钟周期内以第二数据位宽从多个分区读取的数据以第一数据位宽输出:响应于接收到用户发出的基于高位宽总线协议的读指令,在多个单位时钟周期内连续地以第二数据位宽从多个分区分别读取相应的数据,其中,在每个单位时钟周期内通过相应的数据传输通道分别传输读取到的数据并将读取到的数据以第一数据位宽整合并输出。根据本专利技术的高位宽总线读写的方法的实施例,其中根据内存大小和数据传输通道的数量确定第一数据位宽和第二数据位宽进一步包括:根据内存大小确定第一数据位宽;根据内存大小和数据传输通道的数量确定第二数据位宽;其中,第二数据位宽与数据传输通道的数量的乘积等于第一数据位宽。根据本专利技术的高位宽总线读写的方法的实施例,其中高位宽总线协议包括用于写数据的请求信号、响应信号、有效信号、数据信号、数据类型信号和数据索引信号以及用于读数据的请求信号、响应信号、有效信号、数据信号、数据类型信号和数据索引信号。另一方面,本专利技术还提出了一种高位宽总线读写的装置,其中该装置包括:至少一个处理器;和存储器,该存储器存储有处理器可运行的程序指令,该程序指令在被处理器运行时执行以下步骤:根据数据传输通道的数量将内存划分成多个分区;根据内存大小和数据传输通道的数量确定第一数据位宽和第二数据位宽;响应于接收到用户发出的基于高位宽总线协议的写指令,将单位时钟周期内以所述第一数据位宽接收的数据按照第二数据位宽分别写入多个分区;响应于接收到用户发出的基于高位宽总线协议的读指令,将单位时本文档来自技高网
...

【技术保护点】
1.一种高位宽总线读写的方法,其特征在于,所述方法包括以下步骤:/n根据数据传输通道的数量将内存划分成多个分区;/n根据内存大小和所述数据传输通道的数量确定第一数据位宽和第二数据位宽;/n响应于接收到用户发出的基于高位宽总线协议的写指令,将单位时钟周期内以所述第一数据位宽接收的数据按照所述第二数据位宽分别写入所述多个分区;/n响应于接收到用户发出的基于高位宽总线协议的读指令,将所述单位时钟周期内以所述第二数据位宽从所述多个分区读取的数据以所述第一数据位宽输出。/n

【技术特征摘要】
1.一种高位宽总线读写的方法,其特征在于,所述方法包括以下步骤:
根据数据传输通道的数量将内存划分成多个分区;
根据内存大小和所述数据传输通道的数量确定第一数据位宽和第二数据位宽;
响应于接收到用户发出的基于高位宽总线协议的写指令,将单位时钟周期内以所述第一数据位宽接收的数据按照所述第二数据位宽分别写入所述多个分区;
响应于接收到用户发出的基于高位宽总线协议的读指令,将所述单位时钟周期内以所述第二数据位宽从所述多个分区读取的数据以所述第一数据位宽输出。


2.根据权利要求1所述的方法,其特征在于,所述响应于接收到用户发出的基于高位宽总线协议的写指令,将单位时钟周期内以所述第一数据位宽接收的数据按照所述第二数据位宽分别写入所述多个分区进一步包括:
响应于接收到用户发出的基于高位宽总线协议的写指令,在多个单位时钟周期内连续地以所述第一数据位宽接收数据,其中,在每个单位时钟周期内,将接收到的所述数据按照所述第二数据位宽分割并分别通过所述数据传输通道写入所述内存的相应的分区中。


3.根据权利要求1所述的方法,其特征在于,所述响应于接收到用户发出的基于高位宽总线协议的读指令,将所述单位时钟周期内以所述第二数据位宽从所述多个分区读取的数据以所述第一数据位宽输出:
响应于接收到用户发出的基于高位宽总线协议的读指令,在多个单位时钟周期内连续地以所述第二数据位宽从所述多个分区分别读取相应的数据,其中,在每个单位时钟周期内,通过相应的所述数据传输通道分别传输读取到的数据并将所述读取到的数据以所述第一数据位宽整合并输出。


4.根据权利要求1所述的方法,其特征在于,所述根据内存大小和所述数据传输通道的数量确定第一数据位宽和第二数据位宽进一步包括:
根据所述内存大小确定所述第一数据位宽;
根据所述内存大小和所述数据传输通道的数量确定所述第二数据位宽;
其中,所述第二数据位宽与所述数据传输通道的数量的乘积等于所述第一数据位宽。


5.根据权利要求1所述的方法,其特征在于,所述高位宽总线协议包括用于写数据的请求信号、响应信号、有效信号、数据信号、数据类型信号和数据索引信号以及用于读数据的请求信号、响应信号、有效信号、数据信号、数据类型信号和数据索引信号。


6.一种高位宽总线读写的装置,其特征在于,所述装置包括...

【专利技术属性】
技术研发人员:张静东王江为梅国强
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1