CN112148366A - 一种芯片降低功耗提升性能的flash加速方法 - Google Patents

一种芯片降低功耗提升性能的flash加速方法 Download PDF

Info

Publication number
CN112148366A
CN112148366A CN202010958159.XA CN202010958159A CN112148366A CN 112148366 A CN112148366 A CN 112148366A CN 202010958159 A CN202010958159 A CN 202010958159A CN 112148366 A CN112148366 A CN 112148366A
Authority
CN
China
Prior art keywords
data
flash
module
fetching
prefetching
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
CN202010958159.XA
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 Huahong Integrated Circuit Co Ltd
Beijing CEC Huada Electronic Design Co Ltd
Original Assignee
Shanghai Huahong Integrated Circuit Co Ltd
Beijing CEC Huada Electronic Design 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 Huahong Integrated Circuit Co Ltd, Beijing CEC Huada Electronic Design Co Ltd filed Critical Shanghai Huahong Integrated Circuit Co Ltd
Priority to CN202010958159.XA priority Critical patent/CN112148366A/zh
Publication of CN112148366A publication Critical patent/CN112148366A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/28Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3814Implementation provisions of instruction buffers, e.g. prefetch buffer; banks

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明提出Flash加速控制器的设计,采用数据预取缓存、指令现场保存和替换算法可控加速方案。通过软件配置或自适应动态切换,来选择加速方案,实现嵌入式应用中不同场景需求下的***性能提升。本文工作的主要创新点如下:1)Flash预取操作:对于顺序预取数据,综合使用预取操作,实现读取加速;对于非顺序预取数据,提出指令缓存技术和最近最少使用算法替换数据原则,降低预取缺失代价;2)高频指令缓存操作:可单独控制使能,减少对取指操作影响,提高性能。3)通过软件控制流程单独实现取指和取数独立加速方案。

Description

一种芯片降低功耗提升性能的FLASH加速方法
技术领域
本发明属于低功耗芯片的技术领域。特别涉及一种芯片降低功耗提升性能的FLASH加速方法。
背景技术
在低功耗、低成本的嵌入式芯片SoC(System on Chip)设计领域片上Flash作为指令和数据的非易失性存储模块正得到愈加广泛的应用。在嵌入式芯片中,处理器负责控制、操作***平台和般的信号处理等任务,Flash用来存储指令和数据。处理器需要访问Flash以获得所需要的指令和数据,才能完成相应的任务操作。通常片上Flash的大部分空间用来存储指令,处理器对于指令的访问更加频繁。相对于处理器可以通过指令级并行、超标量设计和大量使用寄存器来提高性能,Flash性能的提升只能依赖于工艺改良等不多的办法。因此,随着处理器性能的提升,Flash的取指速度逐渐成为***性能的瓶颈。换而言之,Flash取指速度的快慢会直接影响和制约着嵌入式***芯片SoC的整体性能。因此,研究如何提高Flash的读取速度对于提高***的整体性能有着重要意义。
发明内容
本发明要解决的技术问题是对现有技术进行改进,提出的Flash加速控制器的设计,采用预取缓存、指令现场保存和存储算法加速方案。通过软件配置或自适应动态切换,来选择加速方案,实现嵌入式应用中不同场景需求下的***性能提升。
为了解决上述问题,本发明的降低功耗提升性能的FLASH加速方法包括五个步骤:
步骤1:高频指令由软件在将数据写入flash之前或者预读一遍flash数据来统计,并将其存放在高频指令缓存区。
步骤2:根据最近最少用算法LRU(least-recently used),加速缓存控制器将预取的flash数据存放在预取数据模块中。预取数据模块分两部分:顺序预取模块,LRU替换模块。加速缓存控制器预取数据模块有空值时会自动从flash取数,并存放在预取数据模块的空闲位置。
步骤3:CPU访问flash数据时优先从预取数据模块中读取。对于CPU访问顺序预取模块和LRU替换模块没有优先级区别。。
步骤4:当CPU访问的数据不在预取数据模块中时,保存当前跳转指令,同时重新从flash读取数据。由于需要重新从flash读取数据并且flash访问速度较慢,所以CPU访问要***等待周期。
步骤5:根据最近最少使用算法将从flash读取的数据存入预取数据模块中,从flash读取的数据先存放在顺序预取模块,同事根据存储算法算法用顺序预取模块的数据替换掉LRU替换模块的数据。循环步骤2~5。
附图说明
图1降低功耗提升性能的flash加速方法方框图;
图2一般flash读时序图;
图3flash加速读时序图
具体实施方式
下面结合附图与具体实施方式对本发明作进一步详细的说明:
本发明的降低功耗提升性能的flash加速方法方框图如图1所示,包括flash、数据流控制模块、加速缓存控制器、flash控制、总线接口、擦写模块等模块。
降低功耗提升性能的flash加速方法时序图如图2、图3所示,其中图2有延时的flash读时序图,图3flash加速时序图。
通过下面五个步骤实现:
步骤1:高频指令由软件在将数据写入flash之前或者预读一遍flash数据来统计,并将其存放在高频指令缓存区。
步骤2:根据最近最少用算法LRU(least-recently used),加速缓存控制器将预取的flash数据存放在预取数据模块中。预取数据模块分两部分:顺序预取模块,LRU替换模块。加速缓存控制器预取数据模块有空值时会自动从flash取数,并存放在预取数据模块的空闲位置。
步骤3:CPU访问flash数据时优先从预取数据模块中读取。对于CPU访问顺序预取模块和LRU替换模块没有优先级区别。。
步骤4:当CPU访问的数据不在预取数据模块中时,保存当前跳转指令,同时重新从flash读取数据。由于需要重新从flash读取数据并且flash访问速度较慢,所以CPU访问要***等待周期。
步骤5:根据最近最少使用算法将从flash读取的数据存入预取数据模块中,从flash读取的数据先存放在顺序预取模块,同时根据存储算法算法用顺序预取模块的数据替换掉LRU替换模块的数据。循环步骤2~5。

Claims (6)

1.一种芯片降低功耗提升性能的FLASH加速方法,其特征在于,主要包括步骤:
步骤1、加速缓存控制器将flash中高频使用到的指令存放在高频指令缓存区;
步骤2、根据最近最少用算法LRU(least-recently used),加速缓存控制器将预取的flash数据存放在预取数据模块中;
步骤3、CPU访问flash数据时优先从预取数据模块的buffer中读取;
步骤4、当CPU访问的数据不在预取数据模块中时,保存当前跳转指令,同时重新从flash读取数据;
步骤5、根据最近最少使用算法将从flash读取的数据存入预取数据模块中,循环步骤2~5。
2.根据权利要求1所述的一种芯片降低功耗提升性能的FLASH加速方法,其特征在于,所述步骤1:在加速缓存控制器将flash中高频使用到的指令存放在高频指令缓存区:
其中,高频指令由软件在将数据写入flash之前或者预读一遍flash数据来统计,并将其存放在高频指令缓存区。
3.根据权利要求1所述的一种芯片降低功耗提升性能的FLASH加速方法,其特征在于,所述步骤2:根据最近最少用算法LRU(least-recently used),加速缓存控制器将预取的flash数据存放在预取数据模块中:
其中,预取数据模块分两部分:顺序预取模块、LRU替换模块,加速缓存控制器预取数据模块有空值时会自动从flash取数,并存放在预取数据模块的空闲位置。
4.根据权利要求1和3所述的一种芯片降低功耗提升性能的FLASH加速方法,其特征在于,所述步骤3:CPU访问flash数据时优先从预取数据模块中读取:
其中,对于CPU访问顺序预取模块和LRU替换模块没有优先级区别。
5.根据权利要求1所述的一种芯片降低功耗提升性能的FLASH加速方法,其特征在于,所述步骤4:当CPU访问的数据不在预取数据模块中时,保存当前跳转指令,同时重新从flash读取数据:
其中,由于需要重新从flash读取数据并且flash访问速度较慢,所以CPU访问要***等待周期。
6.根据权利要求1和3所述的一种芯片降低功耗提升性能的FLASH加速方法,其特征在于,所述步骤5:根据最近最少使用算法将从flash读取的数据存入预取数据模块中,循环步骤2~5:
其中,从flash读取的数据先存放在顺序预取模块,同时根据存储算法算法用顺序预取模块的数据替换掉LRU替换模块的数据。
CN202010958159.XA 2020-09-14 2020-09-14 一种芯片降低功耗提升性能的flash加速方法 Pending CN112148366A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010958159.XA CN112148366A (zh) 2020-09-14 2020-09-14 一种芯片降低功耗提升性能的flash加速方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010958159.XA CN112148366A (zh) 2020-09-14 2020-09-14 一种芯片降低功耗提升性能的flash加速方法

Publications (1)

Publication Number Publication Date
CN112148366A true CN112148366A (zh) 2020-12-29

Family

ID=73889655

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010958159.XA Pending CN112148366A (zh) 2020-09-14 2020-09-14 一种芯片降低功耗提升性能的flash加速方法

Country Status (1)

Country Link
CN (1) CN112148366A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114281570A (zh) * 2021-12-23 2022-04-05 合肥市芯海电子科技有限公司 嵌入式控制电路、控制方法、装置及芯片
CN116896606A (zh) * 2022-12-31 2023-10-17 苏州精源创智能科技有限公司 一种嵌入式应用场景中的图片的压缩和读取方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102566978A (zh) * 2010-09-30 2012-07-11 Nxp股份有限公司 存储器加速器缓冲器置换方法及***
CN105373338A (zh) * 2014-08-20 2016-03-02 深圳市中兴微电子技术有限公司 一种flash的控制方法和控制器
WO2017211240A1 (zh) * 2016-06-07 2017-12-14 华为技术有限公司 一种处理器芯片以及指令缓存的预取方法
CN108874685A (zh) * 2018-06-21 2018-11-23 郑州云海信息技术有限公司 固态硬盘的数据处理方法以及固态硬盘
CN110888600A (zh) * 2019-11-13 2020-03-17 西安交通大学 一种面向nand闪存的缓冲区管理方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102566978A (zh) * 2010-09-30 2012-07-11 Nxp股份有限公司 存储器加速器缓冲器置换方法及***
CN105373338A (zh) * 2014-08-20 2016-03-02 深圳市中兴微电子技术有限公司 一种flash的控制方法和控制器
WO2017211240A1 (zh) * 2016-06-07 2017-12-14 华为技术有限公司 一种处理器芯片以及指令缓存的预取方法
CN107479860A (zh) * 2016-06-07 2017-12-15 华为技术有限公司 一种处理器芯片以及指令缓存的预取方法
CN108874685A (zh) * 2018-06-21 2018-11-23 郑州云海信息技术有限公司 固态硬盘的数据处理方法以及固态硬盘
CN110888600A (zh) * 2019-11-13 2020-03-17 西安交通大学 一种面向nand闪存的缓冲区管理方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
蒋进松等: ""基于预取和缓存原理的片上Flash 加速控制器设计"", 《计算机工程与科学》, vol. 38, no. 12, pages 2381 - 2391 *
钟锐;方文楷;: "嵌入式***的高速缓存管理", 电脑知识与技术, no. 12 *
陆政;范长军;江云飞;: "基于OpenSSD的闪存转换算法优化", 计算机***应用, no. 05 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114281570A (zh) * 2021-12-23 2022-04-05 合肥市芯海电子科技有限公司 嵌入式控制电路、控制方法、装置及芯片
WO2023116093A1 (zh) * 2021-12-23 2023-06-29 合肥市芯海电子科技有限公司 嵌入式控制电路、控制方法、装置及芯片
CN114281570B (zh) * 2021-12-23 2024-05-03 合肥市芯海电子科技有限公司 嵌入式控制电路、控制方法、装置及芯片
CN116896606A (zh) * 2022-12-31 2023-10-17 苏州精源创智能科技有限公司 一种嵌入式应用场景中的图片的压缩和读取方法
CN116896606B (zh) * 2022-12-31 2024-02-06 苏州精源创智能科技有限公司 一种嵌入式应用场景中的图片的压缩和读取方法

Similar Documents

Publication Publication Date Title
US9396117B2 (en) Instruction cache power reduction
US6978350B2 (en) Methods and apparatus for improving throughput of cache-based embedded processors
JP3739491B2 (ja) プリフェッチ命令を用いるハーバードアーキテクチャキャッシュメモリの調和したソフトウェア制御
US6564313B1 (en) System and method for efficient instruction prefetching based on loop periods
EP1110151A1 (en) Buffering system bus for external-memory accesses
KR102594288B1 (ko) 성능 또는 에너지 소모 특성이 상이한 제1 및 제2 처리 모드를 갖는 처리 파이프라인
CN109461113B (zh) 一种面向数据结构的图形处理器数据预取方法及装置
US6282706B1 (en) Cache optimization for programming loops
CN112148366A (zh) 一种芯片降低功耗提升性能的flash加速方法
US20090177842A1 (en) Data processing system and method for prefetching data and/or instructions
WO2023129386A1 (en) Leveraging processing-in-memory (pim) resources to expedite non-pim instructions executed on a host
CN116149554A (zh) 一种基于risc-v及其扩展指令的数据存储处理***及其方法
US11449428B2 (en) Enhanced read-ahead capability for storage devices
US9645825B2 (en) Instruction cache with access locking
CN112395000B (zh) 一种数据预加载方法和指令处理装置
CN111639042A (zh) 一种预取buffer数据一致性的处理方法及装置
CN105786758A (zh) 一种具有数据缓存功能的处理器装置及其数据读写方法
JP2008015668A (ja) タスク管理装置
JP5116275B2 (ja) 演算処理装置、情報処理装置及び演算処理装置の制御方法
JP2007193433A (ja) 情報処理装置
CN116700794A (zh) 一种获取待执行指令的方法及***
CN111475203B (zh) 一种用于处理器的指令读取方法以及相应的处理器
CN116627335A (zh) 一种低功耗eFlash的读取加速***
JP2008052518A (ja) Cpuシステム
JPH0651982A (ja) 演算処理装置

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: 20201229

WD01 Invention patent application deemed withdrawn after publication