CN107229576A - 一种降低片上***运行功耗的装置和方法 - Google Patents

一种降低片上***运行功耗的装置和方法 Download PDF

Info

Publication number
CN107229576A
CN107229576A CN201610172027.8A CN201610172027A CN107229576A CN 107229576 A CN107229576 A CN 107229576A CN 201610172027 A CN201610172027 A CN 201610172027A CN 107229576 A CN107229576 A CN 107229576A
Authority
CN
China
Prior art keywords
piece
data
memory
internally cached
cache controller
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.)
Pending
Application number
CN201610172027.8A
Other languages
English (en)
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.)
Shanghai Fudan Microelectronics Group Co Ltd
Original Assignee
Shanghai Fudan Microelectronics Group Co Ltd
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 Shanghai Fudan Microelectronics Group Co Ltd filed Critical Shanghai Fudan Microelectronics Group Co Ltd
Priority to CN201610172027.8A priority Critical patent/CN107229576A/zh
Publication of CN107229576A publication Critical patent/CN107229576A/zh
Pending legal-status Critical Current

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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/781On-chip cache; Off-chip memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/17Embedded application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • 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)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

一种降低片上***运行功耗的装置和方法,缓存控制器接收微控处理器发起的访问存储器请求,如果访存地址是否命中片内高速缓存,则缓存控制器读取片内高速缓存中的数据提供给微处理器,如果访存地址未命中片内高速缓存,则进一步判断访存地址是否命中预取控制与保存模块,如果命中,则将预取控制与保存模块中的数据提供给微处理器,同时将该数据写入片内高速缓存,如果未命中,则缓存控制器读取片内非易失性存储器中的数据写入预取控制与保存模块。本发明降低了片上***运行过程中读取片内非易失性存储器的次数,同时降低了片内非易失性存储器的工作频率,从而降低了片上***的运行功耗。

Description

一种降低片上***运行功耗的装置和方法
技术领域
本发明涉及片上***设计领域,尤其涉及一种降低基于片内非易失性存储器的片上***运行功耗的装置和方法。
背景技术
近年来,随着对高性能、多功能、便携式的电子设备的应用需求越来越广泛,其中将微处理器(MCU)、存储器、数字IP核、模拟IP核等集成在一块芯片上的SOC***(System OnChip,简称SOC芯片)的速度越来越快、智能化程度越来越高,这必然导致芯片的功耗呈指数级增加,这就使得低功耗设计逐渐成为与芯片面积和时序同样重要的设计目标。
嵌入式SOC芯片执行应用程序的过程是,微处理器读取保存在片内非易失性存储器中的指令,由微处理器进行译码和处理,执行过程中微处理器需要不断从片内非易失性存储器(NVM:Non-Volatile memory)中读取指令和数据,因此SOC芯片的运行能耗除了微处理器执行程序消耗的能耗之外,有很大一部分消耗在读取片内非易失性存储器上,尤其是在嵌入式SOC的应用环境中,例如移动式手持设备和各类非接触式IC卡芯片,由于其供电方式的限制,功耗指标尤为重要,对该类芯片的低功耗设计目标实际上是降低给定时间内的能量消耗。
目前在片上***的低功耗设计中,常用的技术手段有:
1、降低芯片供电电压,由于芯片功耗与供电电压呈平方正比的关系,降低芯片供电电压是降低芯片功耗最直接的方法;
2、多供电电压技术,将芯片划分成多个电源域,对于不同性能要求的电路模块,分别使用不同的尽可能低的工作电压;
3、电源关断技术,对芯片内部空闲部分电路断电,最大限度降低芯片空闲状态下的静态功耗。
降低芯片的供电电压是降低SOC芯片功耗的最直接方法,但是降低电源电压的同时,芯片的性能也会同时大幅降低;电源关断技术可以降低SOC芯片整体或部分在不工作时的静态功耗,但是对于其运行过程中的动态功耗没有作用;多供电电压技术可以降低芯片工作时的动态功耗,但是由于芯片在工作时,消耗功耗最大的部分往往是要求工作性能最高的部分,该技术对于降低动态功耗作用有限。
发明内容
本发明提供一种降低片上***运行功耗的装置和方法,降低了片上***运行过程中读取片内非易失性存储器的次数,同时降低了片内非易失性存储器的工作频率,从而降低了片上***的运行功耗。
为了达到上述目的,本发明提供一种降低片上***运行功耗的装置,包含:
微处理器,其用于读取片内高速缓存或片内非易失性存储器中的指令和数据,并运行应用程序;
片内非易失性存储器,其用于保存应用程序的指令和数据;
片内高速缓存,其用于保存片内非易失性存储器中的指令和数据;
缓存控制器,其电性连接微处理器、片内非易失性存储器和片内高速缓存,用于处理微控处理器发起的访问存储器请求,如果访存地址命中片内高速缓存,则缓存控制器读取片内高速缓存中的数据提供给微处理器,如果访存地址没有命中片内高速缓存,则缓存控制器读取片内非易失性存储器中的数据提供给微处理器,并将读取的片内非易失性存储器中的数据写入片内高速缓存。
所述的缓存控制器包含:
主控模块,其电性连接微处理器,用于处理微控处理器发起的访问存储器请求,并控制其他模块的工作;
预取控制与保存模块,其电性连接主控模块,用于暂时存储片内非易失性存储器中的数据;
非易失性存储器接口,其电性连接预取控制与保存模块和片内非易失性存储器,用于实现缓存控制器和片内非易失性存储器之间的数据交换;
高速缓存接口,其电性连接主控模块和片内高速缓存,用于实现缓存控制器和片内高速缓存之间的数据交换。
本发明还提供一种降低片上***运行功耗的方法,包含以下步骤:
步骤S1、缓存控制器接收微控处理器发起的访问存储器请求,判断访存地址是否命中片内高速缓存,如果命中,则进行步骤S2,如果未命中,则进行步骤S3;
步骤S2、缓存控制器读取片内高速缓存中的数据提供给微处理器,返回步骤S1;
步骤S3、缓存控制器判断访存地址是否命中预取控制与保存模块,如果命中,则进行步骤S4,如果未命中,则进行步骤S5;
步骤S4、缓存控制器将预取控制与保存模块中的数据提供给微处理器,同时将该数据写入片内高速缓存,返回步骤S1;
步骤S5、缓存控制器读取片内非易失性存储器中的数据写入预取控制与保存模块,返回步骤S1。
本发明降低了片上***运行过程中读取片内非易失性存储器的次数,同时降低了片内非易失性存储器的工作频率,从而降低了片上***的运行功耗。
附图说明
图1是本发明提供的一种降低片上***运行功耗的装置的电路框图。
图2是缓存控制器的电路框图。
图3是本发明提供的一种降低片上***运行功耗的方法的流程图。
图4是本发明一个实施例中提供的降低片上***运行功耗的装置的电路框图。
图5是运行ZIP测试程序得到的时间图。
图6是运行ZIP测试程序得到的总能耗图。
图7是运行SHA测试程序得到的时间图。
图8是运行SHA测试程序得到的总能耗图。
具体实施方式
以下根据图1~图8,具体说明本发明的较佳实施例。
如图1所示,本发明提供一种降低片上***运行功耗的装置,包含:
微处理器1,其用于读取片内高速缓存或片内非易失性存储器中的指令和数据,并运行应用程序;
片内非易失性存储器4,其用于保存应用程序的指令和数据;
片内高速缓存3,其用于保存片内非易失性存储器4中的指令和数据;
缓存控制器2,其电性连接微处理器1、片内非易失性存储器4和片内高速缓存3,用于处理微控处理器1发起的访问存储器请求,如果访存地址命中片内高速缓存3,则缓存控制器2读取片内高速缓存3中的数据提供给微处理器1,如果访存地址没有命中片内高速缓存3,则缓存控制器2读取片内非易失性存储器4中的数据提供给微处理器1,并将读取的片内非易失性存储器4中的数据写入片内高速缓存3。
所述的片内非易失性存储器4通常包含闪存(Flash)或电可擦只读存储器(EEPROM),具有掉电数据不丢失的特性。
所述的片内高速缓存3通常包含静态随机存储器(SRAM),其与片内非易失性存储器相比,存储速度更快,功耗更低。
如图2所示,所述的缓存控制器2包含:
主控模块201,其电性连接微处理器1,用于处理微控处理器1发起的访问存储器请求,并控制其他模块的工作;
预取控制与保存模块202,其电性连接主控模块201,用于暂时存储片内非易失性存储器4中的数据;
非易失性存储器接口203,其电性连接预取控制与保存模块202和片内非易失性存储器4,用于实现缓存控制器2和片内非易失性存储器4之间的数据交换;
高速缓存接口204,其电性连接主控模块201和片内高速缓存3,用于实现缓存控制器2和片内高速缓存3之间的数据交换。
如图3所示,本发明还提供一种降低片上***运行功耗的方法,包含以下步骤:
步骤S1、缓存控制器接收微控处理器发起的访问存储器请求,判断访存地址是否命中片内高速缓存,如果命中,则进行步骤S2,如果未命中,则进行步骤S3;
步骤S2、缓存控制器读取片内高速缓存中的数据提供给微处理器,返回步骤S1;
步骤S3、缓存控制器判断访存地址是否命中预取控制与保存模块,如果命中,则进行步骤S4,如果未命中,则进行步骤S5;
步骤S4、缓存控制器将预取控制与保存模块中的数据提供给微处理器,同时将该数据写入片内高速缓存,返回步骤S1;
步骤S5、缓存控制器读取片内非易失性存储器中的数据写入预取控制与保存模块,本次写入的数据会覆盖之前的数据,返回步骤S1。
本发明中,片内高速缓存中保存的内容是片内非易失性存储器中保存内容的一个子集,微处理器发起的大部分访存请求都可以在片内高速缓存中命中,所以在芯片运行过程中,不需要频繁读取片内非易失性存储器,大部分微处理器访问存储器的请求都可以由片内高速缓存提供,由于片内高速缓存由寄存器和SRAM构成,其读写功耗要远远低于片内非易失性存储器的读取功耗,因此SOC芯片运行的功耗可以大大降低,另一方面,由于片内高速缓存的存在,在保持微处理器工作频率不变的条件下,片内非易失性存储器的工作频率可以降低,对于整体芯片运行性能没有太大的影响,从而进一步降低片上***的运行功耗。
以下具体说明本发明的一个较佳实施例,在该实施例中,实现了一种片内高速缓存的结构,并且在该SOC***上运行了SHA、ZIP两个测试程序,得到了相应的功耗和性能数据,证明了本发明提出的降低SOC芯片运行能耗方法的可行性和有效性。
如图4所示,本实施例中,提供一种降低片上***运行功耗的装置,其中,微处理器1采用MCU,作为***中的主设备,发起访问存储器的请求,片内高速缓存3包含静态随机存储器SRAM,SRAM用于保存地址标志tag和片内非易失性存储器中的数据data,静态随机存储器SRAM包含地址存储器301和数据存储器302,片内非易失性存储器4采用位宽为72比特的Flash存储器,缓存控制器2中的主控模块201用于处理MCU发起的访存请求,并控制其他模块工作,地址缓存接口205电性连接主控模块201和地址存储器301,地址缓存接口205中包含有效位寄存器2051,用于保存片内高速缓存3的有效位valid_bit,数据缓存接口206电性连接主控模块201和数据存储器302,预取控制与保存模块202电性连接主控模块201,该预取控制与保存模块202采用寄存器实现,用于保存地址标示和数据,非易失性存储器接口203电性连接预取控制与保存模块202和片内非易失性存储器4,主控模块201、地址缓存接口205和数据缓存接口206中还分别包含状态控制寄存器(图中未显示)。
所述的地址存储器301采用宽度9bit,深度128的SRAM,用于存储地址tag信息,数据存储器302采用宽度72bit,深度256的SRAM,用于存储指令data信息。
所述的微处理器1的访存地址按照片内高速缓存3的组织结构分成三部分:mcu_addr={tag,index,offset},其中,offset表示片内非易失性存储器4中每一条缓存块cacheline的大小,在本实施例中缓存块cacheline的大小是16byte,因此offset共4位,一条缓存块cacheline就是片内非易失性存储器4中16byte的连续数据,index用于对地址存储器301和数据存储器302寻址,在本实施例中,片内高速缓存3采用直接映射(主存中的地址只能唯一映射到片内高速缓存中的一个位置)的结构,位宽为72比特的Flash存储器中的缓存块cacheline共有128条,因此index共7位,tag是访存地址mcu_addr中剩下的高位地址,存储在地址存储器301中,用于判断是否在片内高速缓存中命中,在本实施例中tag是9位,因此地址存储器301中保存的是128条9bit tag信息,对应128条缓存块cacheline,表示为9bit x 128,数据存储器302中保存的是128条16byte data信息,表示数据存储器302的位宽是72bit,因此一条缓存块cacheline所需的data信息在数据存储器302中分成两个地址存放,多出来的比特数是校验位,有效位寄存器2051用于保存128条缓存块cacheline的有效位valid、预取控制与保存模块202用于保存{tag,index}信息和数据data信息。
在不同结构的片内高速缓存中,寄存器和SRAM的作用可能不同,例如本实施例中,SRAM用于地址存储器301(保存地址标志tag)和数据存储器302(保存NVM数据data),寄存器用于保存有效位valid和预取控制与保存模块202的信息,其他的实施例也可以将有效位valid用SRAM实现,或者不使用预取控制与保存模块202。
利用本实施例中提供的一种降低片上***运行功耗的装置来降低片上***SOC的运行功耗,包含以下步骤:
步骤1、微处理器发起一条访存地址mcu_addr,记为{Tag,Index,Offset};
步骤2、主控模块根据Index搜索数据存储器中对应的内容,如果有一条相等,并且相应的有效位valid有效,说明当前访存的地址在片内高速缓存中命中,读取数据存储器,如果访存地址没有命中片内高速缓存,则进行步骤3;
步骤3、主控模块比较{Tag,Index}与预取控制与保存模块中保存的值是否相等,如果相等,表示当前访存地址片内高速缓存中缺失,在预取控制与保存模块中命中,则进行地址存储器的替换,将预取控制与保存模块中的数据写入片内高速缓存中的数据存储器,并同时将该数据提供给微处理器,然后根据当前预取控制与保存模块中保存的块地址,顺序加1进行指令预取,如果{Tag,Index}与预取控制与保存模块中保存的值不相等,表示当前访存地址在片内高速缓存中缺失,在预取控制与保存模块中缺失,则进行步骤4;
步骤4、主控模块取消不命中的指令预取,并读取片内非易失性存储器,将读到的数据写入预取控制与保存模块,当下一次微处理器访存命中预取控制与保存模块时,再将数据写入片内高速缓存中的数据存储器。
本实施例中,片内高速缓存的结构是直接映射,因此替换只需要用当前微处理器发起的访存中的index对地址存储器进行寻址,用预取控制与保存模块中保存的tag替换地址存储器中地址等于index的单元即可。
指令预取发生在当前访存地址mcu_addr中的{tag,index}与预取控制与保存模块中保存的值相等的情况下,此时缓存控制器将预取控制与保存模块中保存的数据提供给微处理器,同时向片内非易失性存储器发起地址为{{tag,index}+1,4’h0}的读取请求(4’h0表示4个比特位宽的全0数据,即4位二进制数0000),由于该次片内非易失性存储器读取请求实际上发生在微处理器需要该片内非易失性存储器地址的数据之前,并且所取的地址是预取控制与保存模块的下一个顺序地址,因此叫做顺序指令预取。
在本实施例中,主要的能耗来源是读写地址存储器tag_ram能耗、读写数据存储器data_ram能耗、读片内非易失性存储器Flash能耗,其他数字电路的能耗可以忽略,同时,在以下的比较中微处理器MCU的工作频率相同并且运行相同的应用程序,因此微处理器MCU的能耗影响也忽略。
对于存储器,其能耗的计算方式如下:
存储器能耗=访问存储器次数*存储器访问功耗*存储器访问时间=访问存储器次数*存储器访问功耗/存储器工作频率。
下表列出了本实施例中地址存储器tag_ram、数据存储器data_ram、片内非易失性存储器flash的存储器访问功耗/存储器工作频率数据。
在本实施例的SOC***上,运行测试程序ZIP和SHA,得到tag_ram、data_ram、flash的存储器访问次数,并与一个没有高速缓存的***(Flash位宽为36比特)做对比。由于本实施例中的Flash工作频率最高为30Mhz,因此设定处理器的工作频率为30Mhz,RAM的工作频率为30Mhz。
图5是对比***、本实施例***在30MhzFlash频率下,运行ZIP测试程序所需要的时间图。
图6是对比***、本实施例***在30MhzFlash频率下,运行ZIP测试程序的总能耗图。
可以看出,加入高速缓存之后,程序运行速度基本不变(6516.9uS→6588.6uS),程序的能耗降低了66.36%(54.78uJ→18.428uJ)。证明本发明提出的方法,可以保证应用程序性能不变的前提下,降低SOC芯片的能耗。
图7是对比***、本实施例***在30MhzFlash频率下,运行SHA测试程序所需要的时间图。
图8是对比***、本实施例***在30MhzFlash频率下,运行SHA测试程序的总能耗图。
可以看出,加入高速缓存之后,程序运行速度基本不变(432.2uS→441.7uS),程序的能耗降低了41.55%(3.389uJ→1.981uJ)。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。

Claims (3)

1.一种降低片上***运行功耗的装置,其特征在于,包含:
微处理器(1),其用于读取片内高速缓存或片内非易失性存储器中的指令和数据,并运行应用程序;
片内非易失性存储器(4),其用于保存应用程序的指令和数据;
片内高速缓存(3),其用于保存片内非易失性存储器(4)中的指令和数据;
缓存控制器(2),其电性连接微处理器(1)、片内非易失性存储器(4)和片内高速缓存(3),用于处理微控处理器(1)发起的访问存储器请求,如果访存地址命中片内高速缓存(3),则缓存控制器(2)读取片内高速缓存(3)中的数据提供给微处理器(1),如果访存地址没有命中片内高速缓存(3),则缓存控制器(2)读取片内非易失性存储器(4)中的数据提供给微处理器(1),并将读取的片内非易失性存储器(4)中的数据写入片内高速缓存(3)。
2.如权利要求1所述的降低片上***运行功耗的装置,其特征在于,所述的缓存控制器(2)包含:
主控模块(201),其电性连接微处理器(1),用于处理微控处理器(1)发起的访问存储器请求,并控制其他模块的工作;
预取控制与保存模块(202),其电性连接主控模块(201),用于暂时存储片内非易失性存储器(4)中的数据;
非易失性存储器接口(203),其电性连接预取控制与保存模块(202)和片内非易失性存储器(4),用于实现缓存控制器(2)和片内非易失性存储器(4)之间的数据交换;
高速缓存接口(204),其电性连接主控模块(201)和片内高速缓存(3),用于实现缓存控制器(2)和片内高速缓存(3)之间的数据交换。
3.利用如权利要求1或2所述的降低片上***运行功耗的装置进行降低片上***运行功耗的方法,其特征在于,包含以下步骤:
步骤S1、缓存控制器接收微控处理器发起的访问存储器请求,判断访存地址是否命中片内高速缓存,如果命中,则进行步骤S2,如果未命中,则进行步骤S3;
步骤S2、缓存控制器读取片内高速缓存中的数据提供给微处理器,返回步骤S1;
步骤S3、缓存控制器判断访存地址是否命中预取控制与保存模块,如果命中,则进行步骤S4,如果未命中,则进行步骤S5;
步骤S4、缓存控制器将预取控制与保存模块中的数据提供给微处理器,同时将该数据写入片内高速缓存,返回步骤S1;
步骤S5、缓存控制器读取片内非易失性存储器中的数据写入预取控制与保存模块,返回步骤S1。
CN201610172027.8A 2016-03-24 2016-03-24 一种降低片上***运行功耗的装置和方法 Pending CN107229576A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610172027.8A CN107229576A (zh) 2016-03-24 2016-03-24 一种降低片上***运行功耗的装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610172027.8A CN107229576A (zh) 2016-03-24 2016-03-24 一种降低片上***运行功耗的装置和方法

Publications (1)

Publication Number Publication Date
CN107229576A true CN107229576A (zh) 2017-10-03

Family

ID=59932143

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610172027.8A Pending CN107229576A (zh) 2016-03-24 2016-03-24 一种降低片上***运行功耗的装置和方法

Country Status (1)

Country Link
CN (1) CN107229576A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108399146A (zh) * 2018-02-26 2018-08-14 上海东软载波微电子有限公司 Flash控制器、取指令方法及计算机可读存储介质
CN108572932A (zh) * 2017-12-29 2018-09-25 贵阳忆芯科技有限公司 多平面nvm命令融合方法与装置
CN110297784A (zh) * 2019-06-04 2019-10-01 上海新储集成电路有限公司 一种虚拟权重存储器***及数据处理方法
CN110427332A (zh) * 2019-08-05 2019-11-08 上海兆芯集成电路有限公司 数据预取装置、数据预取方法及微处理器
CN113918508A (zh) * 2021-12-15 2022-01-11 苏州浪潮智能科技有限公司 一种缓存加速方法、装置、设备及可读存储介质
CN113986001A (zh) * 2021-10-29 2022-01-28 深圳市航顺芯片技术研发有限公司 芯片及控制方法
CN114281570A (zh) * 2021-12-23 2022-04-05 合肥市芯海电子科技有限公司 嵌入式控制电路、控制方法、装置及芯片

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060047915A1 (en) * 2004-09-01 2006-03-02 Janik Kenneth J Method and apparatus for prefetching data to a lower level cache memory
CN104461957A (zh) * 2014-08-28 2015-03-25 浪潮(北京)电子信息产业有限公司 一种异构多核cpu共享片上高速缓存的方法及装置
CN104834483A (zh) * 2015-05-11 2015-08-12 江苏宏云技术有限公司 一种提升嵌入式mcu性能的实现方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060047915A1 (en) * 2004-09-01 2006-03-02 Janik Kenneth J Method and apparatus for prefetching data to a lower level cache memory
CN104461957A (zh) * 2014-08-28 2015-03-25 浪潮(北京)电子信息产业有限公司 一种异构多核cpu共享片上高速缓存的方法及装置
CN104834483A (zh) * 2015-05-11 2015-08-12 江苏宏云技术有限公司 一种提升嵌入式mcu性能的实现方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108572932A (zh) * 2017-12-29 2018-09-25 贵阳忆芯科技有限公司 多平面nvm命令融合方法与装置
CN108572932B (zh) * 2017-12-29 2020-05-19 贵阳忆芯科技有限公司 多平面nvm命令融合方法与装置
CN108399146B (zh) * 2018-02-26 2021-11-23 上海东软载波微电子有限公司 Flash控制器、取指令方法及计算机可读存储介质
CN108399146A (zh) * 2018-02-26 2018-08-14 上海东软载波微电子有限公司 Flash控制器、取指令方法及计算机可读存储介质
CN110297784A (zh) * 2019-06-04 2019-10-01 上海新储集成电路有限公司 一种虚拟权重存储器***及数据处理方法
CN110297784B (zh) * 2019-06-04 2023-11-07 上海新储集成电路有限公司 一种虚拟权重存储器***及数据处理方法
CN110427332A (zh) * 2019-08-05 2019-11-08 上海兆芯集成电路有限公司 数据预取装置、数据预取方法及微处理器
US11301250B2 (en) 2019-08-05 2022-04-12 Shanghai Zhaoxin Semiconductor Co., Ltd. Data prefetching auxiliary circuit, data prefetching method, and microprocessor
CN110427332B (zh) * 2019-08-05 2021-08-20 上海兆芯集成电路有限公司 数据预取装置、数据预取方法及微处理器
CN113986001A (zh) * 2021-10-29 2022-01-28 深圳市航顺芯片技术研发有限公司 芯片及控制方法
CN113918508A (zh) * 2021-12-15 2022-01-11 苏州浪潮智能科技有限公司 一种缓存加速方法、装置、设备及可读存储介质
CN114281570A (zh) * 2021-12-23 2022-04-05 合肥市芯海电子科技有限公司 嵌入式控制电路、控制方法、装置及芯片
WO2023116093A1 (zh) * 2021-12-23 2023-06-29 合肥市芯海电子科技有限公司 嵌入式控制电路、控制方法、装置及芯片
CN114281570B (zh) * 2021-12-23 2024-05-03 合肥市芯海电子科技有限公司 嵌入式控制电路、控制方法、装置及芯片

Similar Documents

Publication Publication Date Title
CN107229576A (zh) 一种降低片上***运行功耗的装置和方法
US20210374069A1 (en) Method, system, and apparatus for page sizing extension
EP3722959A1 (en) Scalable application-customized memory compression
CN108804350B (zh) 一种内存访问方法及计算机***
US9436606B2 (en) System and method to defragment a memory
US7636810B2 (en) Method, system, and apparatus for memory compression with flexible in-memory cache
CN104461964B (zh) 一种存储装置
US8583874B2 (en) Method and apparatus for caching prefetched data
CN107818052B (zh) 内存访问方法及装置
CN112631961B (zh) 一种内存管理单元、地址转译方法以及处理器
CN104252425B (zh) 一种指令缓存的管理方法和处理器
US20150378948A1 (en) Auxiliary Interface for Non-Volatile Memory System
US20170060434A1 (en) Transaction-based hybrid memory module
US6944714B2 (en) Method and apparatus for saving microprocessor power when sequentially accessing the microprocessor's instruction cache
US20140047175A1 (en) Implementing efficient cache tag lookup in very large cache systems
TWI787129B (zh) 記憶體請求之快取串流
EP3382558B1 (en) Apparatus, method and system for just-in-time cache associativity
US20220398198A1 (en) Tags and data for caches
US20080114940A1 (en) Data Processor
CN114063934A (zh) 数据更新装置、方法及电子设备
US7761661B2 (en) Physically-tagged cache with virtual fill buffers
CN103207844B (zh) 缓存***及缓存访问方法
WO2019205454A1 (zh) 一种超过寻址空间大容量的管理方法
WO2023064609A1 (en) Translation tagging for address translation caching
Mittal et al. Cache performance improvement using software-based approach

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20171003

WD01 Invention patent application deemed withdrawn after publication