CN112463665A - 一种用于多通道显存交织模式的切换方法及装置 - Google Patents

一种用于多通道显存交织模式的切换方法及装置 Download PDF

Info

Publication number
CN112463665A
CN112463665A CN202011185837.XA CN202011185837A CN112463665A CN 112463665 A CN112463665 A CN 112463665A CN 202011185837 A CN202011185837 A CN 202011185837A CN 112463665 A CN112463665 A CN 112463665A
Authority
CN
China
Prior art keywords
address
interleaving
memory access
video memory
module
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
Application number
CN202011185837.XA
Other languages
English (en)
Other versions
CN112463665B (zh
Inventor
呙涛
熊庭刚
程振洪
黄怡康
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Lingjiu Microelectronics Co ltd
709th Research Institute of CSSC
Original Assignee
709th Research Institute of CSIC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 709th Research Institute of CSIC filed Critical 709th Research Institute of CSIC
Priority to CN202011185837.XA priority Critical patent/CN112463665B/zh
Publication of CN112463665A publication Critical patent/CN112463665A/zh
Application granted granted Critical
Publication of CN112463665B publication Critical patent/CN112463665B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Memory System (AREA)

Abstract

本发明公开了一种用于多通道显存交织模式的切换方法,包括:1、统计图形处理器访问显存的带宽需求;2、配置片上网络上的各个主模块的显存交织地址映射表;3、需要切换显存的交织模式时,关闭图形处理器中除直接存储器访问模块以外的访存操作;4、将直接存储器访问模块切换到显存搬移模式;5、设置片上网络上各个主模块的访存地址映射表,恢复图形处理器的访存操作,完成多通道交织模式的切换。本发明还公开了一种用于多通道显存交织模式的切换装置,包括:统计系统;两级地址映射系统;交织模式启动系统:交织模式搬移系统:交织模式工作系统。本发明能够提高显存带宽的利用率,降低显存控制器和颗粒的功耗,可以广泛应用于显存控制器领域。

Description

一种用于多通道显存交织模式的切换方法及装置
技术领域
本发明涉及显存控制器领域,特别是涉及一种用于多通道显存交织模式的切换方法及装置。
背景技术
随着人工智能和高性能计算对处理器核心的访问带宽需求的增加,在图形处理器中一般集成多个显存控制器使其能具备更大的存储带宽,同时图形处理器也集成了更多的显存颗粒,使得显存容量得到提升。目前主流的显存控制器通常采用GDDR5或者DDR4,控制器内部将总线地址映射到显存颗粒中的BG、BA、ROW和COL上,在单个控制器中做bank的交织。多通道的显存控制器在总线上做地址交织,将处理器核心的访存地址打散到多个DDR中,从而提升整个系统的访存带宽。
多通道显存虽然可以提升整体带宽,但是不同时间不同应用对外存带宽的需求也会不一样,如果采用固定的多通道显存分配方式会导致带宽的浪费,也增加了系统的功耗。一般采用DDR4方案的显存颗粒容量比较大,为了提升带宽往往集成超过4路的DDR4颗粒,而显卡应用一般不超过4GB空间,导致大量的显存容量被浪费。当系统中发现一路DDR通道存在物理链路问题时,需要灵活的多通道显存交织切换方案来屏蔽该路通道。
显存交织方案通常在系统初始化时完成,如果需要切换时,传统的方案是通过PCIE总线将显存中的数据保存在主存中,然后将各个模块的地址映射切换,再将主存中的数据导回显存中。该方案只能保存可见显存的数据,无法访问不可见显存,并且通过PCIE方式来恢复显存数据时间很长,也占用了主存的容量和处理器的资源。
发明内容
本发明的目的是为了克服上述背景技术的不足,提供一种用于多通道显存交织模式的切换方法及装置,使其能够省去显存与主存之间的数据交换过程,减少了显存交织模式切换的时间,避免主存和主处理器对资源大量的占用,提高了显存带宽的利用率,降低了显存控制器和颗粒的功耗。
本发明提供的一种用于多通道显存交织模式的切换方法,包括如下阶段:阶段1、统计图形处理器访问显存的带宽利用率,记录下显存占用的地址段,并统计各种应用下的带宽需求;阶段2、采用片上网络和显存控制器两级地址映射的方式,配置片上网络上的各个主模块的显存交织地址映射表,设置多通道显存控制器的地址映射,将片上网络的高位访存地址映射为交织通道,按照物理地址不变的原则对显存控制器做第二级地址映射;阶段3、当显存带宽利用率过低或过高、需要切换显存的交织模式时,关闭图形处理器中除直接存储器访问模块以外的访存操作;阶段4、将直接存储器访问模块的总线地址空间扩大一倍,使直接存储器访问模块能访问各种交织模式下的显存物理地址,将直接存储器访问模块切换到显存搬移模式,然后根据记录下的显存占用地址段,来搬移各种交织模式下的显存数据;阶段5、设置片上网络上各个主模块的访存地址映射表,使各个主模块能在新的显存交织模式下工作,关闭或打开对应模式下的显存控制器和颗粒,恢复图形处理器的访存操作,完成多通道交织模式的切换。
在上述技术方案中,所述阶段4和阶段5的具体过程如下:步骤4.1、读取显存占用的地址段、可用的交织模式列表和直接存储器访问模块数量这些信息,对需要搬移的显存数据段长度进行片段,如果地址长度小于256byte的交织粒度,并且已经处于将要切换的显存颗粒时,则跳转到步骤5.1;步骤4.2、首先将直接存储器访问模块的总线地址空间扩大一倍,低4GB地址空间为目前的交织模式,高4GB地址空间为要切换的交织模式,然后将需要搬移的源地址段按照256Byte的交织粒度进行划分;步骤4.3、按照256byte的交织粒度来设置直接存储器访问模块,如果源地址已经在要切换的通道上,则无需搬移,将源地址的首地址增加256byte;如果源地址不在要切换的通道上,则需要搬移,对剩余的地址段长度进行判断:如果小于256byte,则设置直接存储器访问模块的源地址和目的地址,所述直接存储器访问模块的数据位宽为128bit,burst长度根据地址段计算;如果大于或者等于256byte,则设置burst长度为16,让直接存储器访问模块直接搬移256byte的数据段;如果图形处理器中包含了多个直接存储器访问模块,则可以将任务并行划分到每个直接存储器访问模块中;步骤4.4、当将所有需要复制的地址划分完毕后,设置好两级地址映射表,将直接存储器访问模块的程序下载到图形处理器中,启动直接存储器访问模块开始搬移显存,等待直接存储器访问模块完成;当直接存储器访问模块完成所有地址的搬移后,跳转到步骤5.1;步骤5.1、设置片上网络上各个主模块到新的显存交织模式下,关闭或打开对应模式下的显存控制器和颗粒,恢复图形处理器的访存操作,完成显存交织模式切换。
在上述技术方案中,所述阶段2中还包括:通过屏蔽掉扩大地址空间后的最高位,使显存颗粒的物理地址在各种交织模式下保持一致。
在上述技术方案中,所述阶段1中,所述片上网络设有访存带宽利用率监测模块,所述访存带宽利用率监测模块统计图形处理器访问显存的带宽利用率,每隔一段时间访存带宽利用率监测模块将带宽利用率传送给主处理器,所述主处理器判断是否进行显存交织模式切换。
在上述技术方案中,所述图形处理器包括如下主模块:PCIE3.0模块、图形处理器核心模块、视频编解码模块、显示控制器模块、直接访存储器访问模块0、直接访存储器访问模块1;所述图形处理器还包括8路32bit的DDR控制器即DDRC0-7和物理层即PHY0-7;所述主模块和8路DDRC之间通过片上网络互联,所述图形处理器核心模块为4路128bit的AXI通道,所述直接访存储器访问模块0和直接访存储器访问模块1分别为1路128bit的AXI通道,所述每个DDR控制器为4路128bit的AXI通道;所述图形处理器通过PCIE3.0模块与主处理器互联,所述图形处理器通过HDMI2.0协议在显示屏上显示,所述每个DDR控制器的物理层与2个16bit的颗粒连接,所述主存空间和显存空间分别被限制在256MB。
在上述技术方案中,所述阶段2的具体过程如下:所述图形处理器中片上网络和显存控制器的两级地址映射,包括3个片上网络地址映射表即NMap0-2和3个显存控制器地址映射表即DMap0-2,其中,当NMap0为0-4GB空间时,按照8路DDR交织,交织通道为3;当NMap1为0-4GB空间时,按照2路DDR交织,交织通道为1;当NMap2为0-4GB空间时,按照8路DDR交织,交织通道为3,当NMap2为4-8GB空间时,按照2路DDR交织,交织通道为1;当DMap0为8路DDR交织时,DDRC_0和DDRC_1的地址映射;当DMap1为8路DDR交织时,DDRC_0和DDRC_1的地址映射;当DMap2为8路DDR交织时,DDRC_2到DDRC_7的地址映射;当处于8路交织时,片上网络总线地址映射采用NMAP0,DDRC_0和DDRC_1采用DMap0;当需要切换到2路DDR交织时,将DMA0和DMA1设置为NMap2,DDRC_0和DDRC_1设置为DMap1,保持DDRC_2到DDRC_7的地址映射表仍然为DMap2;相应的第一级地址为oA2和oA1,DDR_0颗粒的物理地址为{BG2,BA2,Row2,Col2},DDR_4颗粒的物理地址为{BG3,BA3,Row3,Col3}。其中DDR_0、DDR_1、DDR_2、DDR_3颗粒的容量为8Gb,DDR_4到DDR_15颗粒的容量为4Gb。
本发明还提供了一种用于多通道显存交织模式的切换装置,包括如下部分:统计系统:统计图形处理器访问显存的带宽利用率,记录下显存占用的地址段,并统计各种应用下的带宽需求;两级地址映射系统:采用片上网络和显存控制器两级地址映射的方式,配置片上网络上的各个主模块的显存交织地址映射表,设置多通道显存控制器的地址映射,将片上网络的高位访存地址映射为交织通道,按照物理地址不变的原则对显存控制器做第二级地址映射;交织模式启动系统:当显存带宽利用率过低或过高、需要切换显存的交织模式时,关闭图形处理器中除直接存储器访问模块以外的访存操作;交织模式搬移系统:将直接存储器访问模块的总线地址空间扩大一倍,使直接存储器访问模块能访问各种交织模式下的显存物理地址,将直接存储器访问模块切换到显存搬移模式,然后根据记录下的显存占用地址段,来搬移各种交织模式下的显存数据;交织模式工作系统:设置片上网络上各个主模块的访存地址映射表,使各个主模块能在新的显存交织模式下工作,关闭或打开对应模式下的显存控制器和颗粒,恢复图形处理器的访存操作,完成多通道交织模式的切换。
在上述技术方案中,所述交织模式搬移系统包括以下部分:预备单元:读取显存占用的地址段、可用的交织模式列表和直接存储器访问模块数量这些信息,对需要搬移的显存数据段长度进行片段,如果地址长度小于256byte的交织粒度,并且已经处于将要切换的显存颗粒时,则跳转到交织模式工作系统;划分单元:首先将直接存储器访问模块的总线地址空间扩大一倍,低4GB地址空间为目前的交织模式,高4GB地址空间为要切换的交织模式,然后将需要搬移的源地址段按照256Byte的交织粒度进行划分;判断单元:按照256byte的交织粒度来设置直接存储器访问模块,如果源地址已经在要切换的通道上,则无需搬移,将源地址的首地址增加256byte;如果源地址不在要切换的通道上,则需要搬移,对剩余的地址段长度进行判断:如果小于256byte,则设置直接存储器访问模块的源地址和目的地址,所述直接存储器访问模块的数据位宽为128bit,burst长度根据地址段计算;如果大于或者等于256byte,则设置burst长度为16,让直接存储器访问模块直接搬移256byte的数据段;如果图形处理器中包含了多个直接存储器访问模块,则可以将任务并行划分到每个直接存储器访问模块中;搬移单元:当将所有需要复制的地址划分完毕后,设置好两级地址映射表,将直接存储器访问模块的程序下载到图形处理器中,启动直接存储器访问模块开始搬移显存,等待直接存储器访问模块完成;当直接存储器访问模块完成所有地址的搬移后,跳转到交织模式工作系统。
本发明用于多通道显存交织模式的切换方法及装置,具有以下有益效果:
1、本发明能够省去显存与主存之间的数据交换过程;
2、本发明能减少显存交织模式切换的时间;
3、本发明能减少主存占用的容量和主处理器的资源;
4、本发明能提高显存带宽的利用率;
5、本发明能减少显存控制器和颗粒的功耗。
附图说明
图1为本发明用于多通道显存交织模式的切换方法的整体流程示意图;
图2为本发明用于多通道显存交织模式的切换方法实施例中具有多通道显存的图形处理器系统结构示意图;
图3为本发明用于多通道显存交织模式的切换方法中阶段4和阶段5披露的直接访存储器访问模块数据搬移的具体流程示意图;
图4为本发明用于多通道显存交织模式的切换方法实施例中从8路交织切换到2路交织模式的数据搬移示意图;
图5为本发明用于多通道显存交织模式的切换方法实施例中各种交织模式下的两级地址映射示意图;
图6为本发明用于多通道显存交织模式的切换装置的结构示意图;
图7为本发明用于多通道显存交织模式的切换装置中交织模式搬移系统的结构示意图。
具体实施方式
下面结合附图及实施例对本发明作进一步的详细描述,但该实施例不应理解为对本发明的限制。
本发明针对多通道显存交织模式切换的目的,设计了一种通过内部总线搬移不同交织模式的显存数据,通过片上网络和显存控制器两级地址映射的方式,来保证总线和物理地址一致,省去显存与主存之间的数据交换,减少显存交织模式切换的时间,减少主存占用的容量和主处理器的资源,提高显存带宽的利用率,减少显存控制器和颗粒的功耗。本发明实施例提出了图1所示的用于多通道显存交织模式的切换方法示意图,这是一个分阶段的实施流程,分阶段流程如下:
阶段一:统计图形处理器访问显存的带宽利用率,记录下显存占用的地址段,并统计各种应用下的带宽需求。
阶段二:采用片上网络和显存控制器两级地址映射的方式,配置片上网络上的各个主模块的显存交织地址映射表,设置多通道显存控制器的地址映射,将片上网络的高位访存地址映射为交织通道,按照物理地址不变的原则对显存控制器做第二级地址映射。通过屏蔽掉扩大地址空间后的最高位,使显存颗粒的物理地址在各种交织模式下保持一致。
阶段三:当显存带宽利用率过低或过高时,需要切换显存的交织模式时,关闭图形处理器中除直接存储器访问模块以外的访存操作。
阶段四:将直接存储器访问模块(DMA)的总线地址空间扩大一倍,使直接存储器访问模块能访问各种交织模式下的显存物理地址,将直接存储器访问模块切换到显存搬移模式,然后根据记录下的显存占用地址段,来搬移各种交织模式下的显存数据。
阶段五:设置片上网络上各个主模块的访存地址映射表,使各个主模块能在新的显存交织模式下工作,关闭或打开对应模式下的显存控制器和颗粒,恢复图形处理器的访存操作,完成多通道交织模式的切换。
本发明具体实施例中的一种具有多通道显存的图形处理器系统结构如图2所示。图形处理器(GPU)中包含了一系列的主模块:PCIE3.0模块、图形处理器核心模块(3D)、视频编解码模块(VPU)、显示控制器模块(VGA)、直接访存储器访问模块0(DMA_0)和直接访存储器访问模块1(DMA_1);所述图形处理器还包括8路32bit的DDR控制器(DDRC0-7)和物理层(PHY0-7);所述主模块和8路DDRC之间通过片上网络(NOC)互联,所述图形处理器核心模块为4路128bit的AXI通道,所述直接访存储器访问模块0(DMA_0)和直接访存储器访问模块1(DMA_1)分别为1路128bit的AXI通道,所述每个DDRC为4路128bit的AXI通道。所述图形处理器通过PCIE总线与主处理器互联,所述图形处理器通过HDMI2.0协议在显示屏上显示,每个DDR的PHY与2个16bit的颗粒连接。主存空间和显存空间分布在主处理器和图形处理器上,两边通过操作系统分配的PCIE可见显存空间(BAR0)来交换数据,其空间限制在256MB。片上网络集成有访存带宽利用率监测模块,统计图形处理器访问显存的带宽利用率,每隔一段时间访存带宽利用率监测模块将带宽利用率传送给主处理器,所述主处理器判断是否进行显存交织模式切换。
GPU中采用片上网络和显存控制器的两级地址映射,包括3个片上网络地址映射表(NMap0-2)和3个显存控制器地址映射表(DMap0-2)。其中,当NMap0为0-4GB空间时,按照8路DDR交织,交织通道(CH)为3;当NMap1为0-4GB空间时,按照2路DDR交织,CH为1;当NMap2为0-4GB空间时,按照8路DDR交织,CH为3,当NMap2为4-8GB空间时,按照2路DDR交织,CH为1。当DMap0为8路DDR交织时,DDRC_0和DDRC_1的地址映射;当DMap1为8路DDR交织时,DDRC_0和DDRC_1的地址映射;当DMap2为8路DDR交织时,DDRC_2到DDRC_7的地址映射。
当处于8路交织时,NOC总线地址映射采用NMAP0,DDRC_0和DDRC_1采用DMap0。当需要切换到2路DDR交织时,将DMA0和DMA1设置为NMap2,DDRC_0和DDRC_1设置为DMap1,保持DDRC_2到DDRC_7的地址映射表仍然为DMap2。相应的第一级地址为oA2和oA1,DDR_0颗粒的物理地址为{BG2,BA2,Row2,Col2},DDR_4颗粒的物理地址为{BG3,BA3,Row3,Col3}。其中DDR_0、DDR_1、DDR_2、DDR_3颗粒的容量为8Gb,DDR_4到DDR_15颗粒的容量为4Gb。
实施例中的显存交织模式中DMA搬移的具体流程如图3所示。当主处理器统计完图形处理器访问显存的带宽利用率,发现利用率过低时,需要进行显存交织模式切换。主要包括五个步骤,具体如下所示:
(1)读取显存占用的地址段、可用的交织模式列表和DMA模块的数量等信息,对需要搬移的显存数据段长度进行片段,如果地址长度小于256byte的交织粒度,并且已经处于将要切换的显存颗粒时,则跳转到步骤(5)。
(2)首先将DMA模块的总线地址空间扩大一倍,低4GB地址空间为目前的交织模式,高4GB地址空间为要切换的交织模式,具体见NMAP2所示。然后将需要搬移的源地址段按照256Byte的交织粒度进行划分。
(3)DMA的设置过程是按照256byte的交织粒度来进行,如果源地址已经在要切换的通道上,则无需搬移,将源地址的首地址增加256byte。如果源地址不在要切换的通道上,则需要搬移,对剩余的地址段长度进行判断,如果小于256byte,则设置DMA的源地址和目的地址,DMA的数据位宽为128bit,burst长度根据地址段计算;如果大于或者等于256byte,则设置burst长度为16,让DMA直接搬移256byte的数据段。如果GPU中包含了多个DMA模块,则可以将任务并行划分到每个DMA中。
(4)当将所有需要复制的地址划分完毕后,设置好两级地址映射表,将DMA的程序下载到GPU中,启动DMA开始搬移显存,等待DMA完成。当DMA完成所有地址的搬移后,跳转到步骤(5)。
(5)设置片上网络上的各个主模块到新的显存交织模式下,关闭或打开对应模式下的显存控制器和颗粒,恢复图形处理器的访存操作,完成显存交织模式切换。
具体实施例中的从8路交织切换到2路交织模式的数据搬移如图4所示。8个DDR4交织时,源地址inA对应的物理地址均匀分布在8个颗粒上,比如DDR4_0上就分布了A段地址,DDR4_2分布了C段地址。当采用2个DDR4交织时,可以看到DDR4_2、DDR4_4和DDR4_6的数据分到了DDR4_0上。由于A1,A2,A3,A4上的数据已经在DDR4_0上,B1,B2,B3,B4上的数据已经在DDR4_1上,所以不做搬移。只对C-H段的数据进行搬移。通过增加目的地址inA的高位,并通过DDRC内的第二级地址映射,来保证两种交织模式下的物理地址一致,使得原来DDR4_0和DDR4_1上的数据不被更改。GPU中存在两个DMA模块的话,则可以按照下面的方式来编写DMA程序代码。
DMA0的程序代码(搬移C1的数据)
·设置DMA0总线的配置,burst length=16,burst size=4
·设置DMA0的源地址为0x00000200
·设置DMA0的目的地址为0x100000200
DMA1的程序代码(搬移D1的数据)
·设置DMA1总线的配置,burst length=16,burst size=4
·设置DMA1的源地址为0x00000300
·设置DMA1的目的地址为0x100000300
DMA0的程序代码(搬移G4的数据)
·设置DMA0总线的配置,burst length=16,burst size=4
·设置DMA0的源地址为0xFFFFFE00
·设置DMA0的目的地址为0x1FFFFFE00
DMA1的程序代码(搬移H4的数据)
·设置DMA1总线的配置,burst length=16,burst size=4
·设置DMA1的源地址为0xFFFFFF00
·设置DMA1的目的地址为0x1FFFFFF00
实施例中的不同交织模式下的两级地址映射如图5所示。当8个DDR交织时,NMap0的地址映射将3位的交织通道CH[2:0]地址映射到最高位oA1[31:29],这样对于在2个DDR交织模式时要关闭的DDRC_2模块,可以采用容量较少的颗粒。当2个DDR交织时,NMap1将1为的交织通道CH[0]地址映射到最高位oA2[31]。
不同交织模式下,总线地址映射不一样,并且DDR颗粒的大小也不一样。为了保证在不同模式下,NOC总线上的模块访问总线地址inA和与DDR颗粒的物理地址一致,所以需要DDRC_0的物理地址映射做切换,由原来的DMap0切换到DMap1,具体的地址映射如图5所示。因为在2个DDR交织模式下不使用DDRC_2模块,所以在切换时候保持使用DMap。
本发明用于多通道显存交织模式的切换装置,如图6所示,包括如下部分:
统计系统:统计图形处理器访问显存的带宽利用率,记录下显存占用的地址段,并统计各种应用下的带宽需求;
两级地址映射系统:采用片上网络和显存控制器两级地址映射的方式,配置片上网络上的各个主模块的显存交织地址映射表,设置多通道显存控制器的地址映射,将片上网络的高位访存地址映射为交织通道,按照物理地址不变的原则对显存控制器做第二级地址映射;
交织模式启动系统:当显存带宽利用率过低或过高、需要切换显存的交织模式时,关闭图形处理器中除直接存储器访问模块以外的访存操作;
交织模式搬移系统:将直接存储器访问模块的总线地址空间扩大一倍,使直接存储器访问模块能访问各种交织模式下的显存物理地址,将直接存储器访问模块切换到显存搬移模式,然后根据记录下的显存占用地址段,来搬移各种交织模式下的显存数据;
交织模式工作系统:设置片上网络上各个主模块的访存地址映射表,使各个主模块能在新的显存交织模式下工作,关闭或打开对应模式下的显存控制器和颗粒,恢复图形处理器的访存操作,完成多通道交织模式的切换。
所述交织模式搬移系统如图7所示,包括以下部分:
预备单元:读取显存占用的地址段、可用的交织模式列表和直接存储器访问模块数量这些信息,对需要搬移的显存数据段长度进行片段,如果地址长度小于256byte的交织粒度,并且已经处于将要切换的显存颗粒时,则跳转到交织模式工作系统;
划分单元:首先将直接存储器访问模块的总线地址空间扩大一倍,低4GB地址空间为目前的交织模式,高4GB地址空间为要切换的交织模式,然后将需要搬移的源地址段按照256Byte的交织粒度进行划分;
判断单元:按照256byte的交织粒度来设置直接存储器访问模块,如果源地址已经在要切换的通道上,则无需搬移,将源地址的首地址增加256byte;如果源地址不在要切换的通道上,则需要搬移,对剩余的地址段长度进行判断:如果小于256byte,则设置直接存储器访问模块的源地址和目的地址,所述直接存储器访问模块的数据位宽为128bit,burst长度根据地址段计算;如果大于或者等于256byte,则设置burst长度为16,让直接存储器访问模块直接搬移256byte的数据段;如果图形处理器中包含了多个直接存储器访问模块,则可以将任务并行划分到每个直接存储器访问模块中;
搬移单元:当将所有需要复制的地址划分完毕后,设置好两级地址映射表,将直接存储器访问模块的程序下载到图形处理器中,启动直接存储器访问模块开始搬移显存,等待直接存储器访问模块完成;当直接存储器访问模块完成所有地址的搬移后,跳转到交织模式工作系统。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (8)

1.一种用于多通道显存交织模式的切换方法,其特征在于:包括如下阶段:
阶段1、统计图形处理器访问显存的带宽利用率,记录下显存占用的地址段,并统计各种应用下的带宽需求;
阶段2、采用片上网络和显存控制器两级地址映射的方式,配置片上网络上的各个主模块的显存交织地址映射表,设置多通道显存控制器的地址映射,将片上网络的高位访存地址映射为交织通道,按照物理地址不变的原则对显存控制器做第二级地址映射;
阶段3、当显存带宽利用率过低或过高、需要切换显存的交织模式时,关闭图形处理器中除直接存储器访问模块以外的访存操作;
阶段4、将直接存储器访问模块的总线地址空间扩大一倍,使直接存储器访问模块能访问各种交织模式下的显存物理地址,将直接存储器访问模块切换到显存搬移模式,然后根据记录下的显存占用地址段,来搬移各种交织模式下的显存数据;
阶段5、设置片上网络上各个主模块的访存地址映射表,使各个主模块能在新的显存交织模式下工作,关闭或打开对应模式下的显存控制器和颗粒,恢复图形处理器的访存操作,完成多通道交织模式的切换。
2.根据权利要求1所述的用于多通道显存交织模式的切换方法,其特征在于:所述阶段4和阶段5的具体过程如下:
步骤4.1、读取显存占用的地址段、可用的交织模式列表和直接存储器访问模块数量这些信息,对需要搬移的显存数据段长度进行片段,如果地址长度小于256byte的交织粒度,并且已经处于将要切换的显存颗粒时,则跳转到步骤5.1;
步骤4.2、首先将直接存储器访问模块的总线地址空间扩大一倍,低4GB地址空间为目前的交织模式,高4GB地址空间为要切换的交织模式,然后将需要搬移的源地址段按照256Byte的交织粒度进行划分;
步骤4.3、按照256byte的交织粒度来设置直接存储器访问模块,如果源地址已经在要切换的通道上,则无需搬移,将源地址的首地址增加256byte;如果源地址不在要切换的通道上,则需要搬移,对剩余的地址段长度进行判断:如果小于256byte,则设置直接存储器访问模块的源地址和目的地址,所述直接存储器访问模块的数据位宽为128bit,burst长度根据地址段计算;如果大于或者等于256byte,则设置burst长度为16,让直接存储器访问模块直接搬移256byte的数据段;如果图形处理器中包含了多个直接存储器访问模块,则可以将任务并行划分到每个直接存储器访问模块中;
步骤4.4、当将所有需要复制的地址划分完毕后,设置好两级地址映射表,将直接存储器访问模块的程序下载到图形处理器中,启动直接存储器访问模块开始搬移显存,等待直接存储器访问模块完成;当直接存储器访问模块完成所有地址的搬移后,跳转到步骤5.1;
步骤5.1、设置片上网络上各个主模块到新的显存交织模式下,关闭或打开对应模式下的显存控制器和颗粒,恢复图形处理器的访存操作,完成显存交织模式切换。
3.根据权利要求2所述的用于多通道显存交织模式的切换方法,其特征在于:所述阶段2中还包括:通过屏蔽掉扩大地址空间后的最高位,使显存颗粒的物理地址在各种交织模式下保持一致。
4.根据权利要求3所述的用于多通道显存交织模式的切换方法,其特征在于:所述阶段1中,所述片上网络设有访存带宽利用率监测模块,所述访存带宽利用率监测模块统计图形处理器访问显存的带宽利用率,每隔一段时间访存带宽利用率监测模块将带宽利用率传送给主处理器,所述主处理器判断是否进行显存交织模式切换。
5.根据权利要求4所述的用于多通道显存交织模式的切换方法,其特征在于:所述图形处理器包括如下主模块:PCIE3.0模块、图形处理器核心模块、视频编解码模块、显示控制器模块、直接访存储器访问模块0、直接访存储器访问模块1;所述图形处理器还包括8路32bit的DDR控制器即DDRC0-7和物理层即PHY0-7;所述主模块和8路DDRC之间通过片上网络互联,所述图形处理器核心模块为4路128bit的AXI通道,所述直接访存储器访问模块0和直接访存储器访问模块1分别为1路128bit的AXI通道,所述每个DDR控制器为4路128bit的AXI通道;所述图形处理器通过PCIE3.0模块与主处理器互联,所述图形处理器通过HDMI2.0协议在显示屏上显示,所述每个DDR控制器的物理层与2个16bit的颗粒连接,所述主存空间和显存空间分别被限制在256MB。
6.根据权利要求5所述的用于多通道显存交织模式的切换方法,其特征在于:所述阶段2的具体过程如下:
所述图形处理器中片上网络和显存控制器的两级地址映射,包括3个片上网络地址映射表即NMap0-2和3个显存控制器地址映射表即DMap0-2,其中,当NMap0为0-4GB空间时,按照8路DDR交织,交织通道为3;当NMap1为0-4GB空间时,按照2路DDR交织,交织通道为1;当NMap2为0-4GB空间时,按照8路DDR交织,交织通道为3,当NMap2为4-8GB空间时,按照2路DDR交织,交织通道为1;当DMap0为8路DDR交织时,DDRC_0和DDRC_1的地址映射;当DMap1为8路DDR交织时,DDRC_0和DDRC_1的地址映射;当DMap2为8路DDR交织时,DDRC_2到DDRC_7的地址映射;
当处于8路交织时,片上网络总线地址映射采用NMAP0,DDRC_0和DDRC_1采用DMap0;当需要切换到2路DDR交织时,将DMA0和DMA1设置为NMap2,DDRC_0和DDRC_1设置为DMap1,保持DDRC_2到DDRC_7的地址映射表仍然为DMap2;相应的第一级地址为oA2和oA1,DDR_0颗粒的物理地址为{BG2,BA2,Row2,Col2},DDR_4颗粒的物理地址为{BG3,BA3,Row3,Col3}。其中DDR_0、DDR_1、DDR_2、DDR_3颗粒的容量为8Gb,DDR_4到DDR_15颗粒的容量为4Gb。
7.一种用于多通道显存交织模式的切换装置,其特征在于:包括如下部分:
统计系统:统计图形处理器访问显存的带宽利用率,记录下显存占用的地址段,并统计各种应用下的带宽需求;
两级地址映射系统:采用片上网络和显存控制器两级地址映射的方式,配置片上网络上的各个主模块的显存交织地址映射表,设置多通道显存控制器的地址映射,将片上网络的高位访存地址映射为交织通道,按照物理地址不变的原则对显存控制器做第二级地址映射;
交织模式启动系统:当显存带宽利用率过低或过高、需要切换显存的交织模式时,关闭图形处理器中除直接存储器访问模块以外的访存操作;
交织模式搬移系统:将直接存储器访问模块的总线地址空间扩大一倍,使直接存储器访问模块能访问各种交织模式下的显存物理地址,将直接存储器访问模块切换到显存搬移模式,然后根据记录下的显存占用地址段,来搬移各种交织模式下的显存数据;
交织模式工作系统:设置片上网络上各个主模块的访存地址映射表,使各个主模块能在新的显存交织模式下工作,关闭或打开对应模式下的显存控制器和颗粒,恢复图形处理器的访存操作,完成多通道交织模式的切换。
8.根据权利要求7所述的用于多通道显存交织模式的切换装置,其特征在于:所述交织模式搬移系统包括以下部分:
预备单元:读取显存占用的地址段、可用的交织模式列表和直接存储器访问模块数量这些信息,对需要搬移的显存数据段长度进行片段,如果地址长度小于256byte的交织粒度,并且已经处于将要切换的显存颗粒时,则跳转到交织模式工作系统;
划分单元:首先将直接存储器访问模块的总线地址空间扩大一倍,低4GB地址空间为目前的交织模式,高4GB地址空间为要切换的交织模式,然后将需要搬移的源地址段按照256Byte的交织粒度进行划分;
判断单元:按照256byte的交织粒度来设置直接存储器访问模块,如果源地址已经在要切换的通道上,则无需搬移,将源地址的首地址增加256byte;如果源地址不在要切换的通道上,则需要搬移,对剩余的地址段长度进行判断:如果小于256byte,则设置直接存储器访问模块的源地址和目的地址,所述直接存储器访问模块的数据位宽为128bit,burst长度根据地址段计算;如果大于或者等于256byte,则设置burst长度为16,让直接存储器访问模块直接搬移256byte的数据段;如果图形处理器中包含了多个直接存储器访问模块,则可以将任务并行划分到每个直接存储器访问模块中;
搬移单元:当将所有需要复制的地址划分完毕后,设置好两级地址映射表,将直接存储器访问模块的程序下载到图形处理器中,启动直接存储器访问模块开始搬移显存,等待直接存储器访问模块完成;当直接存储器访问模块完成所有地址的搬移后,跳转到交织模式工作系统。
CN202011185837.XA 2020-10-30 2020-10-30 一种用于多通道显存交织模式的切换方法及装置 Active CN112463665B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011185837.XA CN112463665B (zh) 2020-10-30 2020-10-30 一种用于多通道显存交织模式的切换方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011185837.XA CN112463665B (zh) 2020-10-30 2020-10-30 一种用于多通道显存交织模式的切换方法及装置

Publications (2)

Publication Number Publication Date
CN112463665A true CN112463665A (zh) 2021-03-09
CN112463665B CN112463665B (zh) 2022-07-26

Family

ID=74836006

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011185837.XA Active CN112463665B (zh) 2020-10-30 2020-10-30 一种用于多通道显存交织模式的切换方法及装置

Country Status (1)

Country Link
CN (1) CN112463665B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114443523A (zh) * 2022-01-21 2022-05-06 中国船舶重工集团公司第七0九研究所 一种适用于gpu的地址动态切割交织方法及系统
CN114489541A (zh) * 2022-01-14 2022-05-13 山东云海国创云计算装备产业创新中心有限公司 一种基于fpga的vga显存带宽调控方法及相关组件
CN115687196A (zh) * 2022-12-30 2023-02-03 摩尔线程智能科技(北京)有限责任公司 用于对多通道存储器进行控制的方法和装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104112102A (zh) * 2014-06-30 2014-10-22 中国人民解放军国防科学技术大学 支持地址交叉方案配置的多ddr访问控制方法及装置
CN104850501A (zh) * 2015-04-29 2015-08-19 中国人民解放军国防科学技术大学 一种ddr存储器访存地址映射方法及访存地址映射单元
CN105426324A (zh) * 2014-05-29 2016-03-23 展讯通信(上海)有限公司 终端设备的内存访问控制方法与装置
CN105446911A (zh) * 2014-05-29 2016-03-30 展讯通信(上海)有限公司 终端设备的内存访问控制方法与装置
CN105760310A (zh) * 2016-02-05 2016-07-13 华为技术有限公司 地址分配方法及ddr控制器
US9916256B1 (en) * 2016-09-12 2018-03-13 Toshiba Memory Corporation DDR storage adapter
CN110928695A (zh) * 2020-02-12 2020-03-27 南京芯瞳半导体技术有限公司 一种关于显存的管理方法、装置及计算机存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105426324A (zh) * 2014-05-29 2016-03-23 展讯通信(上海)有限公司 终端设备的内存访问控制方法与装置
CN105446911A (zh) * 2014-05-29 2016-03-30 展讯通信(上海)有限公司 终端设备的内存访问控制方法与装置
CN104112102A (zh) * 2014-06-30 2014-10-22 中国人民解放军国防科学技术大学 支持地址交叉方案配置的多ddr访问控制方法及装置
CN104850501A (zh) * 2015-04-29 2015-08-19 中国人民解放军国防科学技术大学 一种ddr存储器访存地址映射方法及访存地址映射单元
CN105760310A (zh) * 2016-02-05 2016-07-13 华为技术有限公司 地址分配方法及ddr控制器
US9916256B1 (en) * 2016-09-12 2018-03-13 Toshiba Memory Corporation DDR storage adapter
CN110928695A (zh) * 2020-02-12 2020-03-27 南京芯瞳半导体技术有限公司 一种关于显存的管理方法、装置及计算机存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114489541A (zh) * 2022-01-14 2022-05-13 山东云海国创云计算装备产业创新中心有限公司 一种基于fpga的vga显存带宽调控方法及相关组件
CN114489541B (zh) * 2022-01-14 2024-05-10 山东云海国创云计算装备产业创新中心有限公司 一种基于fpga的vga显存带宽调控方法及相关组件
CN114443523A (zh) * 2022-01-21 2022-05-06 中国船舶重工集团公司第七0九研究所 一种适用于gpu的地址动态切割交织方法及系统
CN114443523B (zh) * 2022-01-21 2023-05-09 中国船舶重工集团公司第七0九研究所 一种适用于gpu的地址动态切割交织方法及系统
CN115687196A (zh) * 2022-12-30 2023-02-03 摩尔线程智能科技(北京)有限责任公司 用于对多通道存储器进行控制的方法和装置

Also Published As

Publication number Publication date
CN112463665B (zh) 2022-07-26

Similar Documents

Publication Publication Date Title
CN112463665B (zh) 一种用于多通道显存交织模式的切换方法及装置
US8892825B2 (en) Method and system for improving serial port memory communication latency and reliability
US7043611B2 (en) Reconfigurable memory controller
EP1474747B1 (en) Address space, bus system, memory controller and device system
KR101467623B1 (ko) 메모리 모듈 및 메모리 모듈 제어 방법
CN105183662B (zh) 一种无cache一致性协议的分布式共享片上存储架构
CN102681946B (zh) 内存访问方法和装置
CN107077882B (zh) 一种dram刷新方法、装置和系统
CN101836194B (zh) 控制数据信道的优化解决方案
CN106775477B (zh) Ssd主控数据传输管理装置及方法
CN114442908B (zh) 一种用于数据处理的硬件加速系统及芯片
EP2911062A1 (en) Method and device for adjusting cache block length of cache memory
CN100536021C (zh) 大容量高速缓冲存储器
US20150074343A1 (en) Logic device
CN110413234B (zh) 一种固态硬盘
JP5204777B2 (ja) メモリ装置及びその制御方法
CN210155649U (zh) 一种固态硬盘
US8035647B1 (en) Raster operations unit with interleaving of read and write requests using PCI express
CN111241007B (zh) 数据读写方法及装置、动态随机存储器
CN110413233A (zh) 一种固态硬盘控制器
CN105373491A (zh) 多通道存储器
WO2022160321A1 (zh) 一种访问内存的方法和装置
JP3164848B2 (ja) メモリアクセス回路
CN112835513A (zh) 控制数据读写装置与方法
JPS58195956A (ja) デ−タ・バツフアの系列別可変メモリエリア管理方式

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
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: No.1, zanlong North Road, Fenghuang Industrial Park, Donghu New Technology Development Zone, Wuhan City, Hubei Province

Patentee after: No. 709 Research Institute of China Shipbuilding Corp.

Address before: No.1, zanlong North Road, Fenghuang Industrial Park, Donghu New Technology Development Zone, Wuhan City, Hubei Province

Patentee before: NO.709 RESEARCH INSTITUTE OF CHINA SHIPBUILDING INDUSTRY Corp.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220812

Address after: 430000 No. 1 Baihe Road, Guandong Industrial Park, Donghu New Technology Development Zone, Wuhan City, Hubei Province

Patentee after: Wuhan lingjiu Microelectronics Co.,Ltd.

Address before: No.1, zanlong North Road, Fenghuang Industrial Park, Donghu New Technology Development Zone, Wuhan City, Hubei Province

Patentee before: No. 709 Research Institute of China Shipbuilding Corp.