CN100428200C - 一种片上指令cache的实现方法 - Google Patents

一种片上指令cache的实现方法 Download PDF

Info

Publication number
CN100428200C
CN100428200C CNB2006101697244A CN200610169724A CN100428200C CN 100428200 C CN100428200 C CN 100428200C CN B2006101697244 A CNB2006101697244 A CN B2006101697244A CN 200610169724 A CN200610169724 A CN 200610169724A CN 100428200 C CN100428200 C CN 100428200C
Authority
CN
China
Prior art keywords
cache
output
storehouse
lru
instruction
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
CNB2006101697244A
Other languages
English (en)
Other versions
CN1996268A (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.)
Beijing times people core technology Co., Ltd.
China Aerospace Modern Electronic Company 772nd Institute
Original Assignee
Mxtronics Corp
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 Mxtronics Corp filed Critical Mxtronics Corp
Priority to CNB2006101697244A priority Critical patent/CN100428200C/zh
Publication of CN1996268A publication Critical patent/CN1996268A/zh
Application granted granted Critical
Publication of CN100428200C publication Critical patent/CN100428200C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

一种片上指令cache的实现方法,指令cache的结构由cache控制寄存器、cache段起始地址寄存器、匹配标志P位、cache段字存储器以及LRU替换堆栈等组成。本发明特点在于,片上指令cache结构简单,面积小,功耗低,便于在芯片上实现,根据本发明的片上指令cache的结构而设计的工作流程简单,与其它功能部件的时序配合容易,提高了指令cache工作的可靠性,采用硬件替换堆栈选择替换段号,避免了软件判断,提高了指令cache的工作速度。

Description

一种片上指令cache的实现方法
技术领域
本发明属于计算机技术领域,涉及高性能信号处理器的设计和制造,特别涉及到一种片上指令cache控制系统的硬件实现方法。
背景技术
自计算机发明以来,计算速度和I/O速度不匹配的矛盾就存在,cache技术就是解决此矛盾的技术之一。传统的cache控制系统通常是由软件完成,如PC机的操作系统就负责完成cache的控制管理,整个cache的存储状态、数据调度、替换策略、异常处理等都是由操作系统中的软件程序负责完成。随着微电子制造工艺的进步,计算机系统可在一个芯片上实现,cache也被集成在片上,如何对片上的cache进行有效的控制管理,是高性能处理芯片设计中的重要内容。
目前国内外的有关指令cache的实现方法主要是采用硬件和软件相结合的方法,通过大型计算机硬件和软件操作系统来实现。这种方法实现cache指令的控制具有功耗较大、取指令的时间较长和可靠性差的缺点。
发明内容
本发明的技术解决问题:克服现有技术的不足,提供一种片上指令cache的实现方法,采用该方法提高了指令cache的工作速度,同时结构简单,面积小,功耗低,便于在芯片上实现,且可靠性高。
本发明的技术解决方案:一种片上指令cache的实现方法,其特点在于:指令cache的结构由一cache控制寄存器、cache段起始地址寄存器、匹配标志P位、cache段字存储器以及硬件LRU替换堆栈构成,cache控制寄存器用于控制或表示cache的状态,cache段起始地址寄存器用于存储指令地址的段地址,匹配标志P位用于标识是否有一个段内字已经对准,cache段字存储器用于存储指令,硬件LRU替换堆栈用于记录cache段替换的顺序;当请求外部存储器给出指令字时,会出现两种情况,cache命中或cache未命中,如果cache命中,从cache段字存储器中读出指令,将该cache段字存储器的分段号压入硬件LRU替换堆栈的顶部,配置相应的匹配标志P位;如果cache未命中,存在两种情况:第一种情况是cache段起始地址寄存器与该指令地址相匹配,但没有设置相应的匹配标志P位,此时同时进行如下操作:从外部存储器中读出指令并拷贝到cache段字存储器,将该cache段字存储器的分段号压入硬件LRU替换堆栈的顶部,配置相应的匹配标志P位;第二种情况是cache段起始地址寄存器与指令地址不匹配,此时同时进行如下操作:从硬件LRU替换堆栈中选择将被替换的分段号,该段中的所有匹配标志P位清除,将指令的地址的相应位宽的值载到替换的分段的cache段起始地址寄存器中,取得指令并拷贝到cache并将匹配标志P位置位,将替换的分段号压入硬件LRU替换堆栈的栈顶。
本发明与现有技术相比的优点在于:
(1)本发明的片上cache指令结构,具有结构简单,面积小,功耗低,便于在芯片上实现。
(2)根据本发明的片上指令cache的结构而设计的工作流程简单,提高了指令cache工作的可靠性。
(3)采用硬件替换堆栈选择替换段号,避免了现有技术的软件判断,提高了指令cache的工作速度。
附图说明
图1为本发明的一种片上指令cache的结构示意图;
图2为本发明的一种片上指令cache的工作流程;
图3为本发明的LRU替换堆栈的结构图。
具体实施方式
如图1所示,在SMDSP信号处理器中,指令cache容量为64×32位字,将其分为两个32字段,一个19位的段起始地址寄存器和每一段相关联。cache中的每个字,都有相应的匹配标志P位,P为1表示cache中字有效,反之则无效。
指令cache的结构由一cache控制寄存器、cache段起始地址寄存器、匹配标志P位、cache段字存储器以及硬件LRU替换堆栈构成,cache控制寄存器用于控制或表示cache的状态,cache段起始地址寄存器用于存储指令地址的段地址,匹配标志P位用于标识是否有一个段内字已经对准,cache段字存储器用于存储指令,硬件LRU替换堆栈用于记录cache段替换的顺序。
如图2所示,当请求外部存储器给出指令字时,会出现两种情况,cache命中或cache未命中,如果cache命中,从cache段字存储器中读出指令,将该cache段字存储器的分段号压入硬件LRU替换堆栈的顶部,配置相应的匹配标志P位;如果cache未命中,存在两种情况:第一种情况是cache段起始地址寄存器与该指令地址相匹配,但没有设置相应的匹配标志P位,此时同时进行如下操作:从外部存储器中读出指令并拷贝到cache段字存储器,将该cache段字存储器的分段号压入硬件LRU替换堆栈的顶部,配置相应的匹配标志P位;第二种情况是cache段起始地址寄存器与指令地址不匹配,此时同时进行如下操作:从硬件LRU替换堆栈中选择将被替换的分段号,该段中的所有匹配标志P位清除,将指令的地址的相应位宽的值载到替换的分段的cache段起始地址寄存器中,取得指令并拷贝到cache并将匹配标志P位置位,将替换的分段号压入硬件LRU替换堆栈的栈顶。
LRU替换堆栈用于确定两段中的哪段是最近最少使用。每次访问一段时,分段号离开LRU堆栈并被推进到LRU替换堆栈的顶部。因此,堆栈顶部的序号是最近最多使用的分段号,堆栈底部的序号是最近最少使用的分段号,复位时,LRU堆栈用0初始化顶部和用1初始化底部。
如图3所示,本发明的硬件LRU替换堆栈的结构:有效位CE(cacheenable)和读信号位R(Read)经过与门And_1,输出与复位Reset或非,经或非门NOR_2,输出到传输门T1的控制端,NOR_2的输出经反向器INV_1连接到T1的互补控制端,时钟CLK1经T1后连接到与门And_2的一个输入端,Reset和SSA0(段0)经或门or_1的输出与Reset和SSA1(段1)经或非门Nor_1的输出连接到与非门Nand_1,输出连到与门And_2,与门And_2的输出连接到反向器INV_2,INV_2的输出连接到反向器INV_3和传输门T3。反向器INV_3的输出为MRU_SN(近期使用最多的段号),同时连接传输门T2。传输门T2的输出连接到反向器INV_2;传输门T3的输出为LRU_SN(近期使用最少的段号),传输门T2和T3的高电位控制端接时钟CLK2,T2和T3的低电位控制端接CLK2经反向器INV_1的输出端。
cache控制寄存器有3位:(1)清cache位CC,当CC=1,使Cache中的所有通道无效。写入cache后此位被置为0,复位时该位置为0。(2)cache有效位CE,当CE=1,使能cache,允许依照LRU算法使用cache;当CE=0,禁止cache,可以防止cache被更新修改;复位时该位置0。(3)冻结Cache位CF,当CF=1冻结cache和LRU替换堆栈的操作。如果出现CE=1并且CF=1时,允许从cache中读取但不允许修改cache。当CF=1或0时,允许cache清除,置CC=1,复位时CF位设为0。
当请求外部存储器给出指令时,指令cache的工作流程如图2所示,即当请求外部存储器给出指令字时,会出现两种情况,cache命中或cache未命中。如果cache命中,从cache段字存储器中读出指令;将该cache段字存储器的分段号压入硬件LRU替换堆栈的顶部;配置相应的匹配标志P位。如果cache未命中,存在两种情况:第一种情况,是cache段起始地址寄存器与指令地址相匹配,但没有设置相应的匹配标志P位,此时同时进行3个操作,从外部存储器中读出指令并拷贝到cache段字存储器,将该cache段字存储器的分段号压入硬件LRU替换堆栈的顶部,配置相应的匹配标志P位;第二种情况,是cache段起始地址寄存器与指令地址不匹配,此时同时进行4个操作,从LRU替换堆栈中选择将被替换的分段号,该段中的32个匹配标志P位清除,将请求指令的19位高地址载到LRU替换堆栈的LRU_SN信号表示的分段的cache段起始地址寄存器中,取得指令并拷贝到cache并将匹配标志P位置位,将替换的分段号压入LRU替换堆栈的栈顶。

Claims (3)

1、一种片上指令cache的实现方法,其特征在于:指令cache的结构由一cache控制寄存器、cache段起始地址寄存器、匹配标志P位、cache段字存储器以及硬件LRU替换堆栈构成,cache控制寄存器用于控制或表示cache的状态,cache段起始地址寄存器用于存储指令地址的段地址,匹配标志P位用于标识是否有一个段内字已经对准,cache段字存储器用于存储指令,硬件LRU替换堆栈用于记录cache段替换的顺序;当请求外部存储器给出指令字时,会出现两种情况,cache命中或cache未命中,如果cache命中,从cache段字存储器中读出指令,将该cache段字存储器的分段号压入硬件LRU替换堆栈的顶部,配置相应的匹配标志P位;如果cache未命中,存在两种情况:第一种情况是cache段起始地址寄存器与该指令地址相匹配,但没有设置相应的匹配标志P位,此时同时进行如下操作:从外部存储器中读出指令并拷贝到cache段字存储器,将该cache段字存储器的分段号压入硬件LRU替换堆栈的顶部,配置相应的匹配标志P位;第二种情况是cache段起始地址寄存器与指令地址不匹配,此时同时进行如下操作:从硬件LRU替换堆栈中选择将被替换的分段号,该段中的所有匹配标志P位清除,将指令的地址的相应位宽的值载到替换的分段的cache段起始地址寄存器中,取得指令并拷贝到cache并将匹配标志P位置位,将替换的分段号压入硬件LRU替换堆栈的栈顶。
2、根据权利要求1所述的一种片上指令cache的实现方法,其特征在于:所述硬件LRU替换堆栈的结构:cache的有效位CE和读信号位R经过与门And_1,输出与复位Reset或非,经或非门NOR_2,输出到传输门T1的控制端,NOR_2的输出经反向器INV_1连接到T1的互补控制端,CLK1经T1后连接到与门And_2的一个输入端,Reset和段起始地址寄存器SSA0经或门or_1的输出与Reset和段起始地址寄存器SSA1经或非门Nor_1的输出连接到与非门Nand_1,输出连到与门And_2,与门And_2的输出连接到反向器INV_2,INV_2的输出连接到反向器INV_3和传输门T3,反向器INV_3的输出为近期使用最多的段号MRU_SN,同时连接传输门T2,传输门T2的输出连接到反向器INV_2,传输门T3的输出为近期使用最少的段号LRU_SN,传输门T2和T3的高电位控制端接时钟CLK2,T2和T3的低电位控制端接CLK2经反向器INV_1的输出端。
3、根据权利要求1所述的一种片上指令cache的实现方法,其特征在于:所述的cache控制寄存器有3位,(1)清cache位CC,当CC=1,使cache中的所有通道无效,写入cache后此位被置为0,复位时该位置为0;(2)cache有效位CE,当CE=1,使能cache,允许依照LRU算法使用cache,当CE=0,禁止cache,防止cache被更新修改,复位时该位置0;(3)冻结cache位CF,当CF=1冻结cache和硬件LRU替换堆栈的操作,如果出现CE=1,且CF=1时,允许从cache中读取但不允许修改cache;当CF=1或0时,允许cache清除,置CC=1,复位时CF位设为0。
CNB2006101697244A 2006-12-28 2006-12-28 一种片上指令cache的实现方法 Expired - Fee Related CN100428200C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006101697244A CN100428200C (zh) 2006-12-28 2006-12-28 一种片上指令cache的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006101697244A CN100428200C (zh) 2006-12-28 2006-12-28 一种片上指令cache的实现方法

Publications (2)

Publication Number Publication Date
CN1996268A CN1996268A (zh) 2007-07-11
CN100428200C true CN100428200C (zh) 2008-10-22

Family

ID=38251365

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101697244A Expired - Fee Related CN100428200C (zh) 2006-12-28 2006-12-28 一种片上指令cache的实现方法

Country Status (1)

Country Link
CN (1) CN100428200C (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102624331B (zh) * 2012-04-01 2015-09-23 钜泉光电科技(上海)股份有限公司 实时时钟的温度补偿电路及其方法
CN104699574B (zh) * 2013-12-09 2018-04-20 华为技术有限公司 一种建立处理器Cache检查点的方法、装置及系统
CN107451071A (zh) * 2017-08-04 2017-12-08 郑州云海信息技术有限公司 一种缓存置换方法及系统
CN107729263B (zh) * 2017-09-18 2020-02-07 暨南大学 高速Cache中一种树状结构的改进型LRU算法的替换策略

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08339331A (ja) * 1995-06-12 1996-12-24 Alps Lsi Technol Kk キャッシュメモリー
CN1164706A (zh) * 1997-04-25 1997-11-12 清华大学 采用虚拟寄存器结构设计java处理机的方法
CN1206150A (zh) * 1996-12-24 1999-01-27 国际商业机器公司 改良的高速缓存系统
US6643742B1 (en) * 2000-03-20 2003-11-04 Intel Corporation Method and system for efficient cache memory updating with a least recently used (LRU) protocol
US6745291B1 (en) * 2000-08-08 2004-06-01 Unisys Corporation High speed LRU line replacement system for cache memories
CN1598790A (zh) * 2004-09-17 2005-03-23 中国人民解放军国防科学技术大学 高速缓存控制器伪最近最少使用均匀替换方法
CN1619511A (zh) * 2004-01-16 2005-05-25 智慧第一公司 执行快速推测式加载运算的微处理器及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08339331A (ja) * 1995-06-12 1996-12-24 Alps Lsi Technol Kk キャッシュメモリー
CN1206150A (zh) * 1996-12-24 1999-01-27 国际商业机器公司 改良的高速缓存系统
CN1164706A (zh) * 1997-04-25 1997-11-12 清华大学 采用虚拟寄存器结构设计java处理机的方法
US6643742B1 (en) * 2000-03-20 2003-11-04 Intel Corporation Method and system for efficient cache memory updating with a least recently used (LRU) protocol
US6745291B1 (en) * 2000-08-08 2004-06-01 Unisys Corporation High speed LRU line replacement system for cache memories
CN1619511A (zh) * 2004-01-16 2005-05-25 智慧第一公司 执行快速推测式加载运算的微处理器及装置
CN1598790A (zh) * 2004-09-17 2005-03-23 中国人民解放军国防科学技术大学 高速缓存控制器伪最近最少使用均匀替换方法

Also Published As

Publication number Publication date
CN1996268A (zh) 2007-07-11

Similar Documents

Publication Publication Date Title
CN101694613B (zh) 不对准存储器存取预测
US8904112B2 (en) Method and apparatus for saving power by efficiently disabling ways for a set-associative cache
JP4486750B2 (ja) テンポラリ命令及び非テンポラリ命令用の共用キャッシュ構造
JP6009589B2 (ja) マルチレベルのキャッシュ階層におけるキャストアウトを低減するための装置および方法
CN104252425B (zh) 一种指令缓存的管理方法和处理器
US20100153646A1 (en) Memory hierarchy with non-volatile filter and victim caches
US7475192B2 (en) Cache organization for power optimized memory access
TWI709854B (zh) 資料儲存裝置及用於存取邏輯至物理位址映射表之方法
CN104166634A (zh) 一种固态盘系统中的映射表缓存管理方法
US11847058B2 (en) Using a second content-addressable memory to manage memory burst accesses in memory sub-systems
KR20000052480A (ko) 캐시 프로세스용 시스템 및 방법
Yang et al. NV-Tree: A consistent and workload-adaptive tree structure for non-volatile memory
Li et al. Exploiting set-level write non-uniformity for energy-efficient NVM-based hybrid cache
CN104834483B (zh) 一种提升嵌入式mcu性能的实现方法
CN100377117C (zh) 用于虚实地址变换及读写高速缓冲存储器的方法及装置
Quan et al. Prediction table based management policy for STT-RAM and SRAM hybrid cache
CN106569960A (zh) 一种混合主存的末级缓存管理方法
CN100428200C (zh) 一种片上指令cache的实现方法
US6240489B1 (en) Method for implementing a pseudo least recent used (LRU) mechanism in a four-way cache memory within a data processing system
Kim et al. Low-energy data cache using sign compression and cache line bisection
CN104679681A (zh) Ahb总线访问片上sram的高速桥装置及其工作方法
Asadi et al. WIPE: Wearout informed pattern elimination to improve the endurance of NVM-based caches
CN111736900B (zh) 一种并行双通道的cache设计方法和装置
CN102360339A (zh) 一种提高tlb利用效率的方法
Komalan et al. Feasibility exploration of NVM based I-cache through MSHR enhancements

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
ASS Succession or assignment of patent right

Owner name: BEIJING TIMES MINXIN TECHNOLOGY CO., LTD.; CHINA

Free format text: FORMER OWNER: BEIJING TIMES MINXIN TECHNOLOGY CO., LTD.

Effective date: 20081017

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20081017

Address after: Beijing city Fengtai District Donggaodi four camp gate road 2 ZIP Code: 100076

Co-patentee after: China Aerospace Modern Electronic Company 772nd Institute

Patentee after: Beijing times people core technology Co., Ltd.

Address before: Beijing city Fengtai District Donggaodi four camp gate road 2 ZIP Code: 100076

Patentee before: BeiJing Times Minxin Technology Co., Ltd.

EE01 Entry into force of recordation of patent licensing contract

Assignee: Space Klc Holdings Ltd

Assignor: BeiJing Times Minxin Technology Co., Ltd.|China Aerospace Modern Electronic Company 772nd Institute

Contract fulfillment period: 2009.8.18 to 2017.8.18

Contract record no.: 2009990001271

Denomination of invention: Method for implementing on-chip command cache

Granted publication date: 20081022

License type: Exclusive license

Record date: 20091116

LIC Patent licence contract for exploitation submitted for record

Free format text: EXCLUSIVE LICENSE; TIME LIMIT OF IMPLEMENTING CONTACT: 2009.8.18 TO 2017.8.18; CHANGE OF CONTRACT

Name of requester: AEROSPACE CAPITAL HOLDING CO. LTD.

Effective date: 20091116

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

Granted publication date: 20081022

Termination date: 20181228

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