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

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

Info

Publication number
CN103207843B
CN103207843B CN201310129658.8A CN201310129658A CN103207843B CN 103207843 B CN103207843 B CN 103207843B CN 201310129658 A CN201310129658 A CN 201310129658A CN 103207843 B CN103207843 B CN 103207843B
Authority
CN
China
Prior art keywords
data line
cache
line width
select
cache data
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.)
Expired - Fee Related
Application number
CN201310129658.8A
Other languages
English (en)
Other versions
CN103207843A (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

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 (1)

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传输大小寄存器;
所述步骤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 CN103207843A (zh) 2013-07-17
CN103207843B true 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)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 郑州云海信息技术有限公司 一种数据同步方法及装置
CN113778912B (zh) * 2021-08-25 2024-05-07 深圳市中科蓝讯科技股份有限公司 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设计;张毅等;《计算机工程与应用》;20040831;第2004年卷(第8期);第94-96,232页 *

Also Published As

Publication number Publication date
CN103207843A (zh) 2013-07-17

Similar Documents

Publication Publication Date Title
CN103207843B (zh) 一种数据行宽度可动态配置的cache结构设计方法
CN101387988B (zh) 具有闪速存储器的计算机和运行闪速存储器的方法
CN103631633A (zh) 虚拟机全系统在线迁移方法、装置与系统
CN102629240A (zh) 一种串口通信方法与装置
CN102004675A (zh) 跨进程数据传输方法、装置及网络设备
CN103080918A (zh) 功率优化的中断传递
CN102122256B (zh) 一种用于进程间通信的管道式通信方法及系统
CN109542814A (zh) 通过pci-express的p2p连接在存储设备之间传输数据的方法和系统
CN104932996A (zh) 用于控制链路接口的未使用硬件的功率消耗的方法、装置和系统
CN201639589U (zh) 基于arm的嵌入式双冗余网卡
CN103236989A (zh) 一种内容分发网络中的缓存控制方法、设备及系统
CN103222286B (zh) 路由交换装置、网络交换系统和路由交换方法
CN101504632A (zh) 一种dma数据传输方法、系统及一种dma控制器
CN104408069A (zh) 一种基于布隆过滤器思想的一致性目录设计方法
CN101710309A (zh) 一种基于海量数据传输的dma控制器
CN102184141A (zh) 检查点数据的存储方法和装置
CN102759980A (zh) 多核心电子系统及其速率调节装置
CN103338156A (zh) 一种基于线程池的命名管道服务器并发通信方法
US20230144038A1 (en) Memory pooling bandwidth multiplier using final level cache system
US9582462B2 (en) Computer system and method for sharing computer memory
CN102541808A (zh) Soc芯片系统及实现Soc芯片中可配置缓冲器的方法
CN101639814B (zh) 面向多核平台和网络化操作系统的输入输出系统及方法
JP5294449B2 (ja) ネットワークシステムおよびネットワークシステムにおける電源制御方法
CN103477330A (zh) 存储器系统中的通道深度调整
CN105630400A (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160203

Termination date: 20170415