CN103207843A - 一种数据行宽度可动态配置的cache结构设计方法 - Google Patents

一种数据行宽度可动态配置的cache结构设计方法 Download PDF

Info

Publication number
CN103207843A
CN103207843A CN2013101296588A CN201310129658A CN103207843A CN 103207843 A CN103207843 A CN 103207843A CN 2013101296588 A CN2013101296588 A CN 2013101296588A CN 201310129658 A CN201310129658 A CN 201310129658A CN 103207843 A CN103207843 A CN 103207843A
Authority
CN
China
Prior art keywords
cache
data line
line width
select
transmission
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
CN2013101296588A
Other languages
English (en)
Other versions
CN103207843B (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.)
Shandong University
Original Assignee
Shandong 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 Shandong University filed Critical Shandong University
Priority to CN201310129658.8A priority Critical patent/CN103207843B/zh
Publication of CN103207843A publication Critical patent/CN103207843A/zh
Application granted granted Critical
Publication of CN103207843B publication Critical patent/CN103207843B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种数据行宽度可动态配置的cache结构设计方法,属于集成电路存储器层次结构设计领域。包括以下步骤:1)将一个大小为M字节的cache数据行均分为N个分块,分别标号为BB0,BB1,BB2……BBN-1,每个分块大小为K字节,则有M=N*K其中,M、K、N均为2的整数次幂,即有2^i=K,2^j=N,M=2^(i+j),i,j为整数。2)增加cache数据行宽度选择位Select,共m位。3)根据程序对cache数据行宽度的需求,给出cache控制命令,通过改变选择位Select的大小动态的选择cache数据行的宽度,同时修改burst传输大小寄存器。

Description

一种数据行宽度可动态配置的cache结构设计方法
技术领域
本发明涉及一种数据行宽度可动态配置的cache结构设计方法,属于集成电路存储器层次结构设计技术领域。
背景技术
CPU性能每年以55%的速度增长,而存储器性能每年以7%的速度增长。CPU与存储器性能提升速度之间的巨大差距严重影响了计算机系统性能的提升速度。程序对存储空间的需求不断增大,且较快的存储器造价较高。
依据程序访问的局部性原理和内存技术的性价比所提出的存储器层次化结构解决了以上问题。上层存储器相对下层存储器具有较小的存储容量,更快的存取速度以及更高的每字节制造价格。这种组织结构利用最小的制造价格使系统读取达到与最快的一层存储器速度。
Cache位于处理器与主存之间,将处理器近期用到的数据以数据行的形式从主存调入cache内,减少了CPU与主存之间的数据通信次数,极大提高了系统运行速度。Cache与片外的数据交换通过burst方式传输,而不同程序应用对cache数据行的大小具有不同的要求。例如:
1)对于图像传输,往往每次要求传输的数据长度大,因此启动cache宽数据行的数据传输能够更有效的利用片外存储器传输效率和传输带宽;
2)对于指令数据传输,往往长度较短且在地址空间上并不连续,其需要的cache数据传输的数据宽度较短,这种情况下使用较长的数据传输会造成片外存储器数据传输效率和传输带宽的浪费。
因此对cache数据行宽度实施动态控制,根据不同应用程序控制给出cache数据行的burst传输长度,同时兼顾不同应用长须对cache数据传输长度的不同需求,提高cache与片外存储器数据传输效率,避免固定cache数据行宽度传输所带来的数据传输效率和传输带宽的浪费,提高系统存储性能。
发明内容
针对不同程序对cache数据行宽度要求不同,在处理器cache寻址类型为指令或者某些临时数据时,由于数据较短且地址不连续,较大的数据行在与片外存储进行数据传输时会造成传输时间浪费,无法实现系统性能最优化等问题,本发明提供一种数据行宽度可动态配置的cache结构设计方法。
本发明采用如下技术手段实现发明目的:
一种数据行宽度可动态配置的cache结构设计方法,其特征在于,包括以下步骤:
1)将一个大小为M字节的cache数据行均分为N个分块,分别标号为BB0,BB1,BB2……BBN-1,每个分块大小为K字节,则有
M=N*K
其中,M、K、N均为2的整数次幂,即有2^i=K,2^j=N,M=2^(i+j),i,j为整数。
2)增加cache数据行宽度选择位Select,共m位;
3)根据程序对cache数据行宽度的需求,给出cache控制命令,通过改变选择位Select的大小动态的选择cache数据行的宽度,同时修改burst传输大小寄存器。
作为对本技术方案的进一步限定,所述步骤(3)包括如下步骤:
(1)判断程序对cache数据行宽度的需求,当处理器cache寻址内容为较长且存地址连续的数据类型发生缺失需与片外存储进行数据传输时,转步骤(2);当处理器cache寻址类型为较短且为存储地址不连续的指令或临时数据缺失发生需与片外存储进行数据传输时,转步骤(3);
(2)程序给出cache控制命令,通过改变Select位选择较大的cache数据行宽度,同时修改burst传输大小寄存器,以提高burst传输效率;
(3)程序给出cache控制命令,通过改变Select位选择较小的cache数据行宽度,同时修改burst传输大小寄存器内容,以减少无效传输时间。
与现有技术相比,本发明的优点和积极效果是:当处理器cache寻址内容为较长且存地址连续的数据类型发生缺失需与片外存储进行数据传输时,由程序给出cache控制命令,通过改变Select位选择较大的cache数据行宽度,同时修改burst传输大小寄存器,以提高burst传输效率;当处理器cache寻址类型为较短且存储地址不连续的指令或临时数据且缺失发生需与片外存储进行数据传输时,由程序给出cache控制命令,通过改变Select位选择较小的cache数据行宽度,同时修改burst传输大小寄存器内容,以减少无效传输时间。保留了较大的数据行及较小数据行在传输效率上的优势,使系统存储性能达到最优化。本发明通过增加cache数据行宽度选择位,可以根据控制命令动态选择cache数据行的宽度,解决了传统cache数据行宽度固定无法实现cache性能最优化等问题,为存储器层次结构设计提供新的解决方案。
附图说明
图1是本发明的设计结构图。
图2是本发明的控制结构图。
其中,1、Select,2、Tag,3、Index,4、Offset,5、BB,6、Select置为0,7、Select置为1,8、Select置为2^m,9、数据行宽度为K个字节,10、数据行宽度为2K个字节,11、数据行宽度为(2^m)K个字节。
具体实施方式
下面结合附图和优选实施例对本发明进一步说明。
参见图1和图2,一种数据行宽度可动态配置的cache结构设计方法,包括以下步骤:
1)将一个大小为M字节的cache数据行均分为N个分块,分别标号为
BB0,BB1,BB2……BBN-1,每个分块大小为K字节,则有
M=N*K
其中,M、K、N均为2的整数次幂,即有2^i=K,2^j=N,M=2^(i+j),i,j为整数。
2)增加cache数据行宽度选择位Select,共m位;
3)根据程序对cache数据行宽度的需求,给出cache控制命令,通过改变选择位Select的大小动态的选择cache数据行的宽度,同时修改burst传输大小寄存器。
所述步骤(3)包括如下步骤:
(1)判断程序对cache数据行宽度的需求,当处理器cache寻址内容为较长且存地址连续的数据类型发生缺失需与片外存储进行数据传输时,转步骤(2);当处理器cache寻址类型为较短且为存储地址不连续的指令或临时数据缺失发生需与片外存储进行数据传输时,转步骤(3);
(2)程序给出cache控制命令,通过改变Select位选择较大的cache数据行宽度,同时修改burst传输大小寄存器,以提高burst传输效率;
(3)程序给出cache控制命令,通过改变Select位选择较小的cache数据行宽度,同时修改burst传输大小寄存器内容,以减少无效传输时间。
当然,上述说明并非对本发明的限制,本发明也不仅限于上述举例,本技术领域的普通技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也属于本发明的保护范围。

Claims (2)

1.一种数据行宽度可动态配置的cache结构设计方法,其特征在于,包括以下步骤:
1)将一个大小为M字节的cache数据行均分为N个分块,分别标号为BB0,BB1,BB2……BBN-1,每个分块大小为K字节,则有
M=N*K
其中,M、K、N均为2的整数次幂,即有2^i=K,2^j=N,M=2^(i+j),i,j为整数。
2)增加cache数据行宽度选择位Select,共m位;
3)根据程序对cache数据行宽度的需求,给出cache控制命令,通过改变选择位Select的大小动态的选择cache数据行的宽度,同时修改burst传输大小寄存器。
2.根据权利要求1所述数据行宽度可动态配置的cache结构设计方法,其特征在于,所述步骤(3)包括如下步骤:
(1)判断程序对cache数据行宽度的需求,当处理器cache寻址内容为较长且存地址连续的数据类型发生缺失需与片外存储进行数据传输时,转步骤(2);当处理器cache寻址类型为较短且为存储地址不连续的指令或临时数据缺失发生需与片外存储进行数据传输时,转步骤(3);
(2)程序给出cache控制命令,通过改变Select位选择较大的cache数据行宽度,同时修改burst传输大小寄存器,以提高burst传输效率;
(3)程序给出cache控制命令,通过改变Select位选择较小的cache数据行宽度,同时修改burst传输大小寄存器内容,以减少无效传输时间。
CN201310129658.8A 2013-04-15 2013-04-15 一种数据行宽度可动态配置的cache结构设计方法 Expired - Fee Related CN103207843B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310129658.8A CN103207843B (zh) 2013-04-15 2013-04-15 一种数据行宽度可动态配置的cache结构设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310129658.8A CN103207843B (zh) 2013-04-15 2013-04-15 一种数据行宽度可动态配置的cache结构设计方法

Publications (2)

Publication Number Publication Date
CN103207843A true CN103207843A (zh) 2013-07-17
CN103207843B CN103207843B (zh) 2016-02-03

Family

ID=48755070

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310129658.8A Expired - Fee Related CN103207843B (zh) 2013-04-15 2013-04-15 一种数据行宽度可动态配置的cache结构设计方法

Country Status (1)

Country Link
CN (1) CN103207843B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103500107A (zh) * 2013-09-29 2014-01-08 中国船舶重工集团公司第七0九研究所 一种cpu的硬件优化方法
CN108363766A (zh) * 2018-02-06 2018-08-03 福建星瑞格软件有限公司 一种均匀切分数据库表数据的方法及计算机设备
CN109271457A (zh) * 2018-11-19 2019-01-25 郑州云海信息技术有限公司 一种数据同步方法及装置
CN113778912A (zh) * 2021-08-25 2021-12-10 深圳市中科蓝讯科技股份有限公司 cache映射架构动态调整方法及cache控制器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1714347A (zh) * 2002-12-17 2005-12-28 国际商业机器公司 选择性可变行宽存储器
CN101520751A (zh) * 2009-03-26 2009-09-02 浙江大学 Cache的自适应插入策略的实现方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1714347A (zh) * 2002-12-17 2005-12-28 国际商业机器公司 选择性可变行宽存储器
CN101520751A (zh) * 2009-03-26 2009-09-02 浙江大学 Cache的自适应插入策略的实现方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张毅等: "一种嵌入式处理器的动态可重构Cache设计", 《计算机工程与应用》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103500107A (zh) * 2013-09-29 2014-01-08 中国船舶重工集团公司第七0九研究所 一种cpu的硬件优化方法
CN103500107B (zh) * 2013-09-29 2017-05-17 中国船舶重工集团公司第七0九研究所 一种cpu的硬件优化方法
CN108363766A (zh) * 2018-02-06 2018-08-03 福建星瑞格软件有限公司 一种均匀切分数据库表数据的方法及计算机设备
CN109271457A (zh) * 2018-11-19 2019-01-25 郑州云海信息技术有限公司 一种数据同步方法及装置
CN113778912A (zh) * 2021-08-25 2021-12-10 深圳市中科蓝讯科技股份有限公司 cache映射架构动态调整方法及cache控制器
CN113778912B (zh) * 2021-08-25 2024-05-07 深圳市中科蓝讯科技股份有限公司 cache映射架构动态调整方法及cache控制器

Also Published As

Publication number Publication date
CN103207843B (zh) 2016-02-03

Similar Documents

Publication Publication Date Title
US10409723B2 (en) Multi-core processor supporting cache consistency, method, apparatus and system for data reading and writing by use thereof
US20210374056A1 (en) Systems and methods for scalable and coherent memory devices
US8035650B2 (en) Tiled cache for multiple software programs
CN102968390B (zh) 基于预先解码分析的配置信息缓存管理方法及系统
CN107209716B (zh) 内存管理装置和方法
CN103999057B (zh) 具有开关的相变存储器(pcms)的元数据管理和支持
CN103080918A (zh) 功率优化的中断传递
CN102629240A (zh) 一种串口通信方法与装置
US9569381B2 (en) Scheduler for memory
CN105095099A (zh) 一种基于内存页位图变更的大内存页整合方法
CN103207843A (zh) 一种数据行宽度可动态配置的cache结构设计方法
CN102279753A (zh) 可重构系统配置管理的方法及用于可重构系统的配置管理单元
CN101504632B (zh) 一种dma数据传输方法、系统及一种dma控制器
CN102122256A (zh) 一种用于进程间通信的管道式通信方法及系统
CN104932996A (zh) 用于控制链路接口的未使用硬件的功率消耗的方法、装置和系统
US20230409198A1 (en) Memory sharing control method and device, computer device, and system
CN101710309B (zh) 一种基于海量数据传输的dma控制器
CN104572498A (zh) 报文的缓存管理方法和装置
CN104536816A (zh) 提高虚拟机迁移效率的方法
CN104317754B (zh) 面向异构计算系统的跨步数据传输优化方法
CN104408069A (zh) 一种基于布隆过滤器思想的一致性目录设计方法
US20230144038A1 (en) Memory pooling bandwidth multiplier using final level cache system
CN101976229A (zh) 一种系统中外部设备的数据读取方法、系统及装置
CN103488597A (zh) 一种先进先出缓存器及其读写数据的方法
CN106776394B (zh) 一种数据转换的硬件系统和存储器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160203

Termination date: 20170415

CF01 Termination of patent right due to non-payment of annual fee