CN111858396B - 一种存储器自适应地址映射方法及系统 - Google Patents

一种存储器自适应地址映射方法及系统 Download PDF

Info

Publication number
CN111858396B
CN111858396B CN202010729563.XA CN202010729563A CN111858396B CN 111858396 B CN111858396 B CN 111858396B CN 202010729563 A CN202010729563 A CN 202010729563A CN 111858396 B CN111858396 B CN 111858396B
Authority
CN
China
Prior art keywords
access
memory
row
mapping
address
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.)
Active
Application number
CN202010729563.XA
Other languages
English (en)
Other versions
CN111858396A (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.)
Fuzhou University
Original Assignee
Fuzhou University
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 Fuzhou University filed Critical Fuzhou University
Priority to CN202010729563.XA priority Critical patent/CN111858396B/zh
Publication of CN111858396A publication Critical patent/CN111858396A/zh
Application granted granted Critical
Publication of CN111858396B publication Critical patent/CN111858396B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/063Address space extension for I/O modules, e.g. memory mapped I/O
    • 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)
  • Memory System (AREA)
  • Dram (AREA)

Abstract

本发明涉及一种存储器自适应地址映射方法及系统。该方法包括:存储器获取来自不同线程的访问请求,将这些访问请求存放于请求队列中;存储控制器根据请求队列中的地址序列获知线程的访问模式;根据获知的访问模式,从中提取访问的时间空间局部性信息;依照时间和空间局部性信息为存储控制器配置最优的映射算法,该映射算法将最大化存储器的并行化访问,以提高存储器的访问带宽。本发明方法通过为存储器前端增加一自适应地址映射模块,利用不同应用场合下存储器的具有不同的访问行为特征,针对这些特征进行个性化地址映射配置,可以有效增大化访问带宽。

Description

一种存储器自适应地址映射方法及系统
技术领域
本发明涉及现代存储控制器的设计领域,具体涉及一种存储器自适应地址映射方法及系统。
背景技术
由于DRAM容量大、可多次擦写等优点,现在的电子系统常常将采用DRAM作为内存。DRAM的地址空间主要有Bank、Row、Column三个维度,每个Bank都是一个Row与Column构成的阵列。每个Bank都有一个独立的Row Buffer,用来缓存相应Bank中某一行的数据。存储控制器主要通过三个操作指令发起内存访问,分别为行激活指令、预充电指令和列访问指令。其中,行激活指令会将一整行的数据放入对应的Row Buffer中,预充电指令会关闭RowBuffer并将其中的数据写回相应行。
DRAM的访问存在Row Buffer Hit和Row Buffer Miss两种情况。
(1)Row Buffer Hit:内存访问的目标行与Row Buffer中当前缓存的行相同,此时不需进行行激活,直接发送读写指令和Column地址就可以进行访问,此情况下的读写延迟和功耗最小。
(2)Row Buffer Miss:内存访问的目标行与Row Buffer中当前缓存的行不同,此时需要先发送预充电指令关闭Row Buffer,再发送行激活指令打开目标行,最后发送读写指令和Column地址。此情况下的读写延迟和功耗最大。
可以发现,当线程具有较小的时间空间局部性时,将会引发多次Row BufferMiss,导致严重的存储器带宽损失。
为了解决上述问题,现有的基于XOR的页交互模式策略通过把连续访问的同Bank不同Row的地址映射到不同Bank中,利用多Bank并行访问的特点,掩盖Row Buffer Miss带来的预充电指令延时、行激活延时,有效提高存储器带宽。对CPU线程来说,该策略在很大程度上增大访问的Bank级并行性。由于GPU线程与CPU线程访问模式存在本质差异,由于CPU线程和GPU线程的访问模式不同,CPU线程通常是对一段的地址进行循环访问,而GPU线程往往是对一段地址要进行一次性连续读取,两类线程呈现不同的比特熵分布,这种固定的映射策略未考虑这种差异,对GPU线程来说增益效果有限。
为此,现有的基于二进制随机可逆矩阵BIM的地址映射策略充分考虑了GPU线程的比特熵分布特点,通过BIM和一系列异或树结构实现针对GPU线程的Bank级并行性最大化。但硬件实现随机BIM的方法较为复杂,其硬件开销和功耗开销较大。
发明内容
本发明的目的在于提供一种存储器自适应地址映射方法及系统,根据线程的访问行为特征为线程配置个性化的地址映射方案,最大化Bank级的访问并行性,提高内存带宽,克服了页交互模式对GPU线程的不兼容性,降低了BIM方法硬件开销成本高等问题。
为实现上述目的,本发明的技术方案是:一种存储器自适应地址映射方法,包括如下步骤:
步骤S1、存储器获取来自不同线程的访问请求,将这些访问请求存放于请求队列中,若访问来自单线程,则按先进先出原则存放访问请求,若访问来自多线程,则交替存放访问请求;
步骤S2、存储控制器根据请求队列中访问请求的地址序列获知对应线程的访问模式,通过在存储器前端添加硬件计数器来获取访问特征,根据获取的访问特征,从中提取访问的时间空间局部性特征;
步骤S3、依照时间空间局部性特征信息配置最优的映射算法,以最大化存储器的并行化访问,以提高存储器的访问带宽。
在本发明一实施例中,步骤S2中,所述访问的时间空间局部性特征包括访问密集度和行比特位熵分布。
在本发明一实施例中,步骤S2中,存储控制器在存储器前端为每个行比特位配置一个硬件计数器,在一个时间窗口内采集访问密集度并显示行比特位熵分布,其中行比特位的切换率与该行比特位的熵值成线性关系,熵值越高的行比特位意味着在接下来的内存访问中该行比特位的翻转率越高。
在本发明一实施例中,步骤S3中,存储控制器根据测量得到的行比特位熵分布结果配置最优的映射算法,该映射算法将熵值最高的三个行比特位与三个bank地址位分别异或,得到新的bank地址位,从而将连续访问的同bank不同row的地址最大化地映射到不同bank中,利用存储器的并行性访问来提高总线带宽。
本发明还提供了一种存储器自适应地址映射系统,包括:
访问监控模块,用于从请求队列的访问请求的地址序列中获知对应线程的访问模式,并通过在存储器前端添加硬件计数器来获取访问特征,并根据获取的访问特征,从中提取访问的时间空间局部性特征;
映射选择模块,用于从访问监控模块中得到的时间空间局部性信息分析出应用于地址映射的最佳行比特位,以配置最优的映射算法;
地址映射模块,依照映射选择模块的结果实现物理地址映射,最大化存储器的并行化访问,以提高存储器的访问带宽。
在本发明一实施例中,所述访问的时间空间局部性特征包括访问密集度和行比特位熵分布。
在本发明一实施例中,所述请求队列的访问请求存放方式为:若访问来自单线程,则按先进先出原则存放访问请求,若访问来自多线程,则交替存放访问请求。
在本发明一实施例中,所述在存储器前端添加硬件计数器来获取访问特征,具体是在存储器前端为每个行比特位配置一个硬件计数器,在一个时间窗口内采集访问密集度并显示行比特位熵分布,其中行比特位的切换率与该行比特位的熵值成线性关系,熵值越高的行比特位意味着在接下来的内存访问中该行比特位的翻转率越高。
在本发明一实施例中,所述最优的映射算法,即:将熵值最高的三个行比特位与三个bank地址位分别异或,得到新的bank地址位,从而将连续访问的同bank不同row的地址最大化地映射到不同bank中,利用存储器的并行性访问来提高总线带宽。
相较于现有技术,本发明具有以下有益效果:
1、本发明采用速度较快的并行全比较算法作为映射选择模块的选择算法,提高了熵值分析的速度,解决了传统的冒泡算法实时性差的问题。
2、本发明,相比传统的页交互模式策略,将地址映射和访问模式关联,考虑不同线程具有不同的行比特位熵分布,通过设置硬件端访问监控模块实现对访问特征的测量,为该访问模式个性化配置最优的地址映射算法。
3、本发明,相比BIM地址映射策略,硬件实现更加简单,资源开销更小,在实现地址映射配置的同时降低了系统的面积与功耗。
附图说明
图1是本发明地址映射系统框图;
图2是线程比特位熵分布图;
图3是存储器地址映射原理图;
图4是本发明系统工作流程图。
具体实施方式
下面结合附图,对本发明的技术方案进行具体说明。
本发明提供了一种存储器自适应地址映射方法,包括如下步骤:
步骤S1、存储器获取来自不同线程的访问请求,将这些访问请求存放于请求队列中,若访问来自单线程,则按先进先出原则存放访问请求,若访问来自多线程,则交替存放访问请求;
步骤S2、存储控制器根据请求队列中访问请求的地址序列获知对应线程的访问模式,通过在存储器前端添加硬件计数器来获取访问特征,根据获取的访问特征,从中提取访问的时间空间局部性特征;
步骤S3、依照时间空间局部性特征信息配置最优的映射算法,以最大化存储器的并行化访问,以提高存储器的访问带宽。
本发明还提供了一种存储器自适应地址映射系统,包括:
访问监控模块,用于从请求队列的访问请求的地址序列中获知对应线程的访问模式,并通过在存储器前端添加硬件计数器来获取访问特征,并根据获取的访问特征,从中提取访问的时间空间局部性特征;
映射选择模块,用于从访问监控模块中得到的时间空间局部性信息分析出应用于地址映射的最佳行比特位,以配置最优的映射算法;
地址映射模块,依照映射选择模块的结果实现物理地址映射,最大化存储器的并行化访问,以提高存储器的访问带宽。
所述访问的时间空间局部性特征包括访问密集度和行比特位熵分布。
所述在存储器前端添加硬件计数器来获取访问特征,具体是在存储器前端为每个行比特位配置一个硬件计数器,在一个时间窗口内采集访问密集度并显示行比特位熵分布,其中行比特位的切换率与该行比特位的熵值成线性关系,熵值越高的行比特位意味着在接下来的内存访问中该行比特位的翻转率越高。
所述最优的映射算法,即:将熵值最高的三个行比特位与三个bank地址位分别异或,得到新的bank地址位,从而将连续访问的同bank不同row的地址最大化地映射到不同bank中,利用存储器的并行性访问来提高总线带宽。
以下为本发明一具体实例。
请参照图1,本发明提供一种存储器自适应地址系统,所述系统包括访问监控模块、映射选择模块、地址映射模块、存储单元;所述访问监控模块、映射选择模块、地址映射模块、存储单元通过地址总线依次连接,所述访问监控模块通过请求队列获取处理器的访问模式。
本实施例中,8Bank/Rank,地址总线位宽32bit,采用Row:Bank:Column模式,其中Address{3:0}表示地址偏移量,Address{31:17}表示Row,Address{16:14}表示Bank,Address{13}表示Rank,Address{12:3}表示Column。
本实施例中,访问监控模块从请求队列中获知下一阶段的访问,在一个时间周期内,用一个地址缓存器存储上一个访问的地址,同时配备了十五个行比特翻转计数器,若当前的访问地址与上一个访问的地址在某个行比特位上发生了翻转,则计数器数值加一,否则计数器数值保持不变;所述的访问监控模块监控在一个时间窗口内的访问密集度M和每个行比特位的翻转次数N,用行比特位熵S来定义每个行比特位上的N/M的比值;参照图2,整个行比特熵分布直观反映了线程访问模式的特点。
本实施例中,映射选择模块在时间窗口结束后对访问监控模块采集得到的行比特位熵分布做出分析,基于排序算法选择出熵值最高的三个行比特位,作为用于该访问模式地址映射的最优的行比特位。
在实施例中,为了解决冒泡算法耗时长、实时性差的缺点,排序算法采用并行全比较算法;一组数组两两比较,每两个数比较得到一个二值比较结果,存放在一个二维数组中,该二维数组作为积分表,求和得到每个数的位置优先级;这样就通过比较、求和、排序、输出是个步骤得到排序结果,只需要四个时钟就能完成冒泡法一百多个时钟才能完成的功能。
本实施例中,参照图3,地址映射模块根据映射选择模块发送的信号,将Bank位和三个熵值最高的行比特位进行XOR,得到新的Bank位,从而将访问请求中同Bank不同Row的地址映射到不同Bank中,实现该访问模式下的Bank级并行访问的最大化。
参照图4,本实施例中,一种存储器自适应地址系统的自适应地址映射方法,包括以下步骤:
步骤S1:所述访问监控模块通过请求队列获取下一阶段的访问请求;
步骤S2:所述访问监控模块通过地址缓存器和硬件计数器监控访问地址序列的访问密集度和行比特位翻转率;
步骤S3:所述映射选择模块将访问监控模块发送来的熵值分布信息进行重排,确定该访问模式下应用于地址映射的最佳三位行比特;
步骤S4:所述地址映射模块将根据映射选择的结果进行物理地址映射,得到最大化的Bank级并行性。
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。

Claims (2)

1.一种存储器自适应地址映射方法,其特征在于,包括如下步骤:
步骤S1、存储器获取来自不同线程的访问请求,将这些访问请求存放于请求队列中,若访问来自单线程,则按先进先出原则存放访问请求,若访问来自多线程,则交替存放访问请求;
步骤S2、存储控制器根据请求队列中访问请求的地址序列获知对应线程的访问模式,通过在存储器前端添加硬件计数器来获取访问特征,根据获取的访问特征,从中提取访问的时间空间局部性特征;
步骤S3、依照时间空间局部性特征信息配置最优的映射算法,以最大化存储器的并行化访问,以提高存储器的访问带宽;
步骤S2中,所述访问的时间空间局部性特征包括访问密集度和行比特位熵分布;
步骤S2中,存储控制器在存储器前端为每个行比特位配置一个硬件计数器,在一个时间窗口内采集访问密集度并显示行比特位熵分布,其中行比特位的切换率与该行比特位的熵值成线性关系,熵值越高的行比特位意味着在接下来的内存访问中该行比特位的翻转率越高;
步骤S3中,存储控制器根据测量得到的行比特位熵分布结果配置最优的映射算法,该映射算法将熵值最高的三个行比特位与三个bank地址位分别异或,得到新的bank地址位,从而将连续访问的同bank不同行的地址最大化地映射到不同bank中,利用存储器的并行性访问来提高总线带宽。
2.一种存储器自适应地址映射系统,其特征在于,包括:
访问监控模块,用于从请求队列的访问请求的地址序列中获知对应线程的访问模式,并通过在存储器前端添加硬件计数器来获取访问特征,并根据获取的访问特征,从中提取访问的时间空间局部性特征;
映射选择模块,用于从访问监控模块中得到的时间空间局部性信息分析出应用于地址映射的最佳行比特位,以配置最优的映射算法;
地址映射模块,依照映射选择模块的结果实现物理地址映射,最大化存储器的并行化访问,以提高存储器的访问带宽;
所述访问的时间空间局部性特征包括访问密集度和行比特位熵分布;
所述请求队列的访问请求存放方式为:若访问来自单线程,则按先进先出原则存放访问请求,若访问来自多线程,则交替存放访问请求;
所述在存储器前端添加硬件计数器来获取访问特征,具体是在存储器前端为每个行比特位配置一个硬件计数器,在一个时间窗口内采集访问密集度并显示行比特位熵分布,其中行比特位的切换率与该行比特位的熵值成线性关系,熵值越高的行比特位意味着在接下来的内存访问中该行比特位的翻转率越高;
所述最优的映射算法,即:将熵值最高的三个行比特位与三个bank地址位分别异或,得到新的bank地址位,从而将连续访问的同bank不同行的地址最大化地映射到不同bank中,利用存储器的并行性访问来提高总线带宽。
CN202010729563.XA 2020-07-27 2020-07-27 一种存储器自适应地址映射方法及系统 Active CN111858396B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010729563.XA CN111858396B (zh) 2020-07-27 2020-07-27 一种存储器自适应地址映射方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010729563.XA CN111858396B (zh) 2020-07-27 2020-07-27 一种存储器自适应地址映射方法及系统

Publications (2)

Publication Number Publication Date
CN111858396A CN111858396A (zh) 2020-10-30
CN111858396B true CN111858396B (zh) 2023-07-28

Family

ID=72947168

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010729563.XA Active CN111858396B (zh) 2020-07-27 2020-07-27 一种存储器自适应地址映射方法及系统

Country Status (1)

Country Link
CN (1) CN111858396B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113312277A (zh) * 2021-06-29 2021-08-27 合肥忆芯电子科技有限公司 存储体地址映射装置、方法及电子设备
CN113568845B (zh) * 2021-07-29 2023-07-25 北京大学 一种基于强化学习的内存地址映射方法
CN114185818B (zh) * 2022-02-15 2022-08-02 摩尔线程智能科技(北京)有限责任公司 基于扩展页表的gpu访存自适应优化方法及装置
CN114942895A (zh) * 2022-06-22 2022-08-26 福州大学 一种基于强化学习的地址映射策略设计方法
CN117827702A (zh) * 2022-09-28 2024-04-05 深圳市中兴微电子技术有限公司 存储器访问方法及系统、电子设备和计算机可读存储介质
CN115374022B (zh) * 2022-10-27 2023-02-07 北京象帝先计算技术有限公司 内存访问方法、装置、系统及电子设备
CN117724992A (zh) * 2024-02-09 2024-03-19 深圳鲲云信息科技有限公司 用于访问存储器的方法和数据存储架构及计算设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104699424A (zh) * 2015-03-26 2015-06-10 华中科技大学 一种基于页面热度的异构内存管理方法
CN104850501A (zh) * 2015-04-29 2015-08-19 中国人民解放军国防科学技术大学 一种ddr存储器访存地址映射方法及访存地址映射单元
CN105068940A (zh) * 2015-07-28 2015-11-18 北京工业大学 一种基于Bank划分的自适应页策略确定方法
CN108959105A (zh) * 2017-05-17 2018-12-07 深圳市中兴微电子技术有限公司 一种实现地址映射的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104699424A (zh) * 2015-03-26 2015-06-10 华中科技大学 一种基于页面热度的异构内存管理方法
CN104850501A (zh) * 2015-04-29 2015-08-19 中国人民解放军国防科学技术大学 一种ddr存储器访存地址映射方法及访存地址映射单元
CN105068940A (zh) * 2015-07-28 2015-11-18 北京工业大学 一种基于Bank划分的自适应页策略确定方法
CN108959105A (zh) * 2017-05-17 2018-12-07 深圳市中兴微电子技术有限公司 一种实现地址映射的方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
多核系统共享内存资源分配和管理研究;高珂;陈荔城;范东睿;刘志勇;;计算机学报(第05期);全文 *
田杭沛 ; 高德远 ; 樊晓桠 ; 朱怡安 ; .面向实时流处理的多核多线程处理器访存队列.计算机研究与发展.2009,(第10期),全文. *
面向实时流处理的多核多线程处理器访存队列;田杭沛;高德远;樊晓桠;朱怡安;;计算机研究与发展(第10期);全文 *

Also Published As

Publication number Publication date
CN111858396A (zh) 2020-10-30

Similar Documents

Publication Publication Date Title
CN111858396B (zh) 一种存储器自适应地址映射方法及系统
EP3091439B1 (en) Multi-bank memory with multiple read ports and multiple write ports per cycle
US9361236B2 (en) Handling write requests for a data array
CN105068940B (zh) 一种基于Bank划分的自适应页策略确定方法
CN101719105B (zh) 一种多核系统中对内存访问的优化方法和系统
WO2015188732A1 (zh) 动态随机存取存储器dram的刷新方法、设备以及系统
CN102831088A (zh) 基于混合存储器的数据迁移方法和装置
CN110705702A (zh) 一种动态可扩展的卷积神经网络加速器
CN113641603A (zh) 一种基于axi协议的ddr仲裁与调度方法及系统
CN112506823B (zh) 一种fpga数据读写方法、装置、设备及可读存储介质
CN109359729A (zh) 一种在fpga上实现缓存数据的系统及方法
WO2019022837A1 (en) MINIMAL REDUCTION IN PERFORMANCE DEGRADATION DUE TO REFRESH OPERATIONS IN MEMORY SUBSYSTEMS
CN105487988B (zh) 基于存储空间复用提高sdram总线有效访问速率的方法
CN108537719B (zh) 一种提高通用图形处理器性能的系统及方法
CN101930357B (zh) 采用可配置的片上存储装置实现访存操作的系统及方法
CN112286844A (zh) 一种可适配业务地址映射的ddr4控制方法及装置
CN116257191B (zh) 存储器的控制器、组件、电子设备及命令调度方法
CN108717395A (zh) 一种降低动态块映射信息占用内存的方法及装置
CN108509151B (zh) 一种基于dram内存控制器的行缓存方法和系统
CN109165171B (zh) 自适应的快速数字波形成像方法
CN107193487B (zh) 一种随机访问识别方法及系统
CN107066208B (zh) 一种外存设备的非对称读写方法及nvm外存设备
Gulur et al. Row-buffer reorganization: simultaneously improving performance and reducing energy in drams
CN115826882B (zh) 一种存储方法、装置、设备及存储介质
CN103914262A (zh) 用于车辆监控系统的数据管理系统及数据管理方法

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