首页> 中国专利> 一种支持混合写策略的数据缓冲存储器装置

一种支持混合写策略的数据缓冲存储器装置

摘要

本发明是一种支持混合写策略的数据缓冲存储器装置,该装置包括:存取缓冲嗅探器、数据缓存装置、内存块管理装置和总线屏蔽装置。本发明在实现数据缓存功能基础上,对写数据策略进行了优化设计,提高处理器向前端总线写数据的效率该数据缓存设计支持写通、写回、是否强调顺序等混合处理策略,还支持在不同策略下进行数据依赖性检查。

著录项

  • 公开/公告号CN113094297A

    专利类型发明专利

  • 公开/公告日2021-07-09

    原文格式PDF

  • 申请/专利权人 苏州芯启微电子科技有限公司;

    申请/专利号CN202110272921.3

  • 发明设计人 杨旭光;

    申请日2021-03-12

  • 分类号G06F12/0806(20160101);

  • 代理机构

  • 代理人

  • 地址 215024 江苏省苏州市苏州工业园区星湖街328号创意产业园8-301

  • 入库时间 2023-06-19 11:45:49

说明书

技术领域

本发明属于计算机硬件、微处理器、计算处理器设计领域,数字集成电路设计领域,具体涉及一种支持混合写策略的数据缓冲存储器的架构设计方法,及其装置。

背景技术

处理器芯片的内存体系包括片内缓存、片上或片外主存储器以及其他辅助存储。越靠近处理器核心的存储资源越快速,同时也越昂贵;而越远离处理器核心的存储资源越便宜,但访问延时也越来越大。

在现代处理器以往的设计中,数据先从大规模非易失性外部存储搬运到主存储器,由于主存有限,所以通常都需要内存块管理装置,用以记录内存的使用情况,同时允许处理器核心使用更大的虚拟内存空间。

缓存针对主存储器中的更小的区域进行,在以往的设计中,缓存的内存操作策略依赖于内存块管理装置中的记录。专利US6996676B2在一种内存页的替换策略中发明了“窗口列表”的管理方法,提升了缓存系统的整体命中率。但没有解决当没有内存块管理装置时如何进行内存一致性管理。

随着技术的进步,缓存中的数据页尺寸得以进一步扩大,然而对数据页的控制的颗粒度并没有进行过具体的细化,也没有专用的指令设计和方便的控制方法。

发明内容

本发明提供一种支持混合写策略的数据缓冲存储器装置,以解决下列问题:

对于处理器设计,当没有内存块管理装置时,缓存无法就内存操作的策略支持内存管理、缓存替换等功能的问题;

对于处理器设计,数据缓存装置控制内存页中更细颗粒度的数据替换的问题;

结合混合写策略,处理器对总线操作的优化问题。

为实现上述目的,本发明结合缓存设计,提供了一种支持混合写策略的数据缓冲存储器装置,该装置包括:

存取嗅探器,主要为存取操作的缓冲功能,保持在多处理器核心之间的数据一致性,同时提升处理器核心操作数据缓存的效率;

数据缓存装置,包括地址查找表和数据存储单元,通过专属的指令集,在缺少内存管理装置时,提供对内存管理策略的支持;

内存块管理装置,或内存块管理功能,该硬件装置并不是必须实现的,该功能支持内部虚拟地址到外部子系统物理地址的映射,还管理内存块的存储特性;

总线屏蔽装置,根据特定的策略实现,对写总线操作进行融合或调整,提升处理器核心操作前端总线的效率。

本发明的效果在于:

1、简化处理器内存系统设计复杂度

2、提高处理器通过总线访问内存系统的效率

3、适合在低成本嵌入式ASIC芯片上实现。

附图说明

图1为本发明一种支持混合写策略的数据缓冲存储器装置的结构图;

图2为本发明所述数据缓存装置的数据结构图;

图3为本发明所述数据缓存装置的设计结构图;

图4为本发明所属数据缓存装置中对数据页的可配置性策略设计方法图;

图5为本发明支持混合写策略的对存储指令执行的设计流程图;

附图标记说明

CPU-0 处理器顶层,包括但不限于单核架构和同构多核架构

CC CPU Core,处理器核心,即流水线架构核心

SCU Data coherence Snoop Control Unit,多核数据一致性嗅探及控制单元

SQ snoop queue,invalidation处理队列,执行数据屏蔽、数据同步的部分功能

MMU memory management,内存块控制单元

D$ L1 Data Cache,第一级数据缓存装置

BB Bus Barriar,总线屏蔽装置

Wbuf write buffer,写缓冲器

WBC write buffer controller,写缓冲控制器

WBR register file of Write Buffer,写缓冲寄存器

WBufRQ Write Buffer Write Bus request queue,写缓冲器的写请求队列

BusRQ read bus queue,总线读请求队列

BIU CPU front-end bus transaction interface,总线传输级接口

slot cache data slot,根据存储的基础架构而定,比如32 bit或64 bit的倍数

Dblk cache data block,由slot组成,组成为cache way

way cache data way,由Dblk组成,不同way而同索引位置的Dblk组成cache line

line cahce data line,即为一个缓存页

bank cache data bank,每个bank支持一路缓存地址-缓存读写数据接口。

具体实施方式

下面通过附图和实施例,对本发明进一步详细描述。

图1为一种支持混合写策略的数据缓冲存储器装置的结构图,上边为装置总体结构图,下边为其中本发明具体所述装置的结构图,将在下文描述说明。该数据缓冲存储器装置包括:

取缓冲嗅探器,主要为存取操作的缓冲功能,保持在多处理器核心之间的数据一致性,同时提升处理器核心操作数据缓存的效率;

数据缓存装置,包括地址查找表和数据存储单元,以一定的设计架构组合,利用数据的局域性,提升处理器核心操作前端总线的效率;如图1中L1 data cache即为本发明所述数据缓存装置,在一个实施例当中,数据缓存装置的具体组成结构图如图3和图4所示,将在下文具体描述;

内存块管理装置,或内存块管理功能,该硬件装置并不是必须实现的,该功能支持内部虚拟地址到外部子系统物理地址的映射,还管理内存块的存储特性;如图1中memorymanagement即为本发明所述内存块管理装置;

总线屏蔽装置,根据一定的策略对写总线操作进行融合或调整,提升处理器核心操作前端总线的效率。

内存块管理功能包括:

内存区域的属性管理;

对主存储数据的存储特性管理;

对虚拟地址和对应片内总线和主存物理地址之间的对应关系管理。

内存块管理功能其中的内存区域的属性包括:

不可缓存区域,其中又根据是否可缓冲的属性,分为强调顺序执行属性(strong-order)和可缓冲属性;

可缓存区域,其中又根据是否设置有写通策略,分为写通存储属性和带定位(allocation)的写回属性。

对于强调顺序执行的属性或策略,例如设备寄存器配置操作、对先进先出(FIFO)装置的操作等等,其顺序、数据结构均不能被改变。

对于可缓冲的属性或策略,例如对普通存储单元(normal memory)的读写操作,通过写缓冲装置,对这些总线操作进行简并的优化。“简并”优化包括的功能:对同一个地址的多次写,取消尚未发出的请求,只将最新的请求发出;对一段连续地址的写操作,合并为突发批处理操作(burst);对一笔总线操作数据(Beat)的不同部分(例如byte)进行的多个操作,合并为一笔多个部分同时进行的操作。

关于写通策略,当缓存装置发现命中(hit)了缓存过的数据时,既写入该缓存数据页中,同时也将该数据向总线屏蔽装置写出。最终,在缓存装置中的相关数据页状态是与主存中的数据一致的状态(clean)。

在写通策略下并且缓存装置发现没有命中缓存过的数据时(miss),则不对缓存继续操作,而直接将该数据向总线屏蔽装置写出。

在写通策略下,数据向总线屏蔽装置写出后,由后者再根据是否可缓冲的属性进行判断和处理。

对于带定位的写回策略,当缓存装置发现命中(hit)了缓存过的数据时,就将数据写入对应的数据页中。最终,在缓存装置中的相关数据页状态是与主存中的数据不一致的状态(dirty)。

对于带定位的写回策略,并且缓存装置发现没有命中缓存过的数据时(miss),缓存装置根据缓存页的使用情况进行分配或替换操作,先向总线屏蔽装置发出内存页的读请求或替换请求。在与当前数据相关的数据页就绪后,再将数据写入该数据页。最终,在缓存装置中的相关数据页状态是与主存中的数据不一致的状态(dirty)。

图5是一个实施例,根据上述设计方法,设计了一套存储指令的执行过程,这个实施例的硬件支持混合写策略。

当总线屏蔽装置在空闲的状态下,将自动对dirty状态的页进行清理。

本实施例中,设计一种专有指令,对每个缓存数据页,设置一个内存区域管理;设计一种专有指令,对每个内存区域设置存储属性及策略信息。

对于处理器设计,当没有内存块管理装置时,缓存就内存操作的策略进行选择的方法为:经过上述专有指令的初始化或改写,每一个缓存数据页都有对应的内存区域和属性与策略设定,依据这些设定,缓存装置仍可以支持完整的内存操作。

本实施例中,缓存数据页最小单元是slot,如图2所示。在其中另一个实施例中,128个slots组成一个cache page。本实施例中,对每一个page中的多个slots划分窗(windows),如图4所示。对本发明中涉及的内存属性,每个窗具有不同的设定。本实施例子中,设计一种专有指令,对每个窗,设置一套存储属性及策略信息。

在一个实施例中,128个slots分为两个windows(w0和w1),w0包括32个slots,设定为写通策略;w1包括96个slots,设定为写回策略。在这样一个实施例中,内存页由两种不同策略的数据组成,两种策略的不同数据在缓存装置中拥有共同的索引地址,以及不同的数据长度,这样的设计自动组成一个由不同写策略数据组成的数据结构。在某些专用场景中,这样的设计化简了存储系统的设计复杂度,提高了效率。

图3是一个本发明所述的缓存装置的实施例,从设计结构上,结合图2的架构,构成了一个支持双端口的缓存装置。每个端口都是多路组相连的缓存架构设计。除非两个端口的地址指向同一个bank、同一个line、同一个way、同一个sram,否则两个端口的缓存数据操作可以同时进行。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号