• 北大核心期刊(《中文核心期刊要目总览》2017版)
  • 中国科技核心期刊(中国科技论文统计源期刊)
  • JST 日本科学技术振兴机构数据库(日)收录期刊

留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

嵌入式Flash读取加速技术研究

杨祎巍 杜俊慧 黄开天 匡晓云 王轲

杨祎巍, 杜俊慧, 黄开天, 匡晓云, 王轲. 嵌入式Flash读取加速技术研究[J]. 微电子学与计算机, 2022, 39(8): 107-118. doi: 10.19304/J.ISSN1000-7180.2021.0948
引用本文: 杨祎巍, 杜俊慧, 黄开天, 匡晓云, 王轲. 嵌入式Flash读取加速技术研究[J]. 微电子学与计算机, 2022, 39(8): 107-118. doi: 10.19304/J.ISSN1000-7180.2021.0948
YANG Yiwei, DU Junhui, HUANG Kaitian, KUANG Xiaoyun, WANG Ke. Research on reading acceleration technology of embedded flash[J]. Microelectronics & Computer, 2022, 39(8): 107-118. doi: 10.19304/J.ISSN1000-7180.2021.0948
Citation: YANG Yiwei, DU Junhui, HUANG Kaitian, KUANG Xiaoyun, WANG Ke. Research on reading acceleration technology of embedded flash[J]. Microelectronics & Computer, 2022, 39(8): 107-118. doi: 10.19304/J.ISSN1000-7180.2021.0948

嵌入式Flash读取加速技术研究

doi: 10.19304/J.ISSN1000-7180.2021.0948
基金项目: 

国家重点研发计划资助项目 2018YFB0904900

国家重点研发计划资助项目 2018YFB0904902

详细信息
    作者简介:

    杨祎巍  男,(1982-),博士,高级工程师.研究方向为网络安全技术及密码应用技术

    杜俊慧  女,(1996-),硕士研究生.研究方向为通用MCU设计

    黄开天  男,(1992-),硕士,工程师.研究方向为电力物联网通信与传感器应用安全

    匡晓云  男,(1975-),硕士,高级工程师.研究方向为电力网络安全与信息管理

    通讯作者:

    王轲(通讯作者)  男,(1988-),博士,助理研究员.研究方向包括多核处理器任务调度、共享高速缓存分配、通用MCU设计、SoC安全.E-mail: coolwind@zju.edu.cn

  • 中图分类号: TN40

Research on reading acceleration technology of embedded flash

  • 摘要:

    嵌入式Flash由于成本、存储密度等优势日益成为微控制器中重要的程序、数据存储器.然而嵌入式Flash相对较慢的读取速度, 制约着微控制器的整体性能, 因而提升Flash中指令和数据的读取性能十分重要.为了提升微控制器中嵌入式Flash的读取性能,提出了一种基于缓存和预取的Flash控制器,并对当前缓存和预取的不足进行优化.针对现有缓存适配性差的问题,提出缓存行长自适应技术进行优化.针对传统方式访问组相联缓存时缺失代价和功耗高的问题,提出路命中预测技术进行优化.针对现有预取技术准确性低的问题,提出跨步预取技术进行优化.最后, 设计并实现了一款嵌入式Flash控制器, 并集成到SoC系统中, 搭建了验证平台进行功能仿真和FPGA验证.实验结果表明,采用缓存行长自适应技术后,处理器读取嵌入式Flash的性能得到明显提升(103%);采用路命中预测技术后,处理器读取嵌入式Flash的性能得到进一步提升(2%).采用跨步预取技术后,DMA读取嵌入式Flash的性能得到明显提升(50%).

     

  • 图 1  PF64AK64EI30B读操作时序

    Figure 1.  PF64AK64EI30B read operation timings

    图 2  普通低频读取时序

    Figure 2.  Common low frequency reading sequence

    图 3  低频读取优化技术的读时序

    Figure 3.  Read timing of low frequency read optimization technology

    图 4  缓存行长重构

    Figure 4.  Cache reconfiguration

    图 5  缓存标记域与数据域对应关系

    Figure 5.  Corresponding relationship between cache mark field and data field

    图 6  传统方式访问过程

    Figure 6.  Traditional access process

    图 7  传统访问过程缺失时序图

    Figure 7.  Missing sequence diagram of traditional access

    图 8  预比较命中时的访问过程

    Figure 8.  Access procedure when pre comparison hits

    图 9  预比较缺失时序图

    Figure 9.  Missing sequence diagram of pre comparison

    图 10  路预测表预测的访问过程

    Figure 10.  Access process of path prediction table prediction

    图 11  顺序预取时序图

    Figure 11.  Sequential prefetching sequence diagram

    图 12  跨步预取时序图

    Figure 12.  Step prefetching sequence diagram

    图 13  嵌入式Flash控制器硬件架构

    Figure 13.  Hardware architecture of embedded flash controller

    图 14  缓存模块

    Figure 14.  Cache module

    图 15  预取模块

    Figure 15.  Prefetch module

    图 16  低频读取性能

    Figure 16.  Low frequency read performance

    图 17  高频读取性能

    Figure 17.  High frequency reading performance

    图 18  不同缓存配置下控制器的性能对比

    Figure 18.  Performance comparison of controllers with different cache configurations

    图 19  跨步预取性能

    Figure 19.  Step prefetching performance

    图 20  不同模式功耗对比

    Figure 20.  Comparison of power consumption in different modes

    图 21  不同容量缓存的控制器功耗对比

    Figure 21.  Power consumption comparison of controller with different cache capacities

    表  1  PF64AK64EI30B时序参数表

    Table  1.   PF64AK64EI30B timing parameters table

    参数 min max 单位
    tAS 0 - ns
    tAH 5 - ns
    tAEL 10 - ns
    tAE 10 - ns
    tAAD 30 - ns
    tOE - 10 ns
    下载: 导出CSV

    表  2  嵌入式Flash加速控制器综合性能对比

    Table  2.   Comprehensive Performance Comparison of Embedded Flash Accelerated Controllers

    性能 功耗(mW) 面积
    (mm2)
    Dhrystone
    (DMIPS/MHz)
    MD5
    (MIPS/MHz)
    COREMARK
    (CoreMark/MHz)
    Dhrystone MD5 COREMARK
    不加速 0.621 5 0.553 5 1.434 6 10.8 13.1 10.2 0.160
    跨步预取 0.624 9 0.561 8 1.482 1 11.7 13.9 11.4 0.165
    行大小为2个字的传统缓存 0.880 3 0.603 6 2.246 6 9.4 12.2 8.5 0.262
    行大小为4个字的传统缓存 0.828 9 0.592 0 2.142 1 9.7 12.3 8.8 0.262
    行长自适应缓存 0.917 3 0.627 3 2.290 6 9.5 12.4 8.3 0.275
    行长自适应缓存+路命中预测 0.932 4 0.645 0 2.308 4 9.1 12.3 7.9 0.281
    行长自适应缓存+路命中预测+
    跨步预取
    0.926 1 0.636 0 2.295 6 9.2 12.5 7.9 0.287
    下载: 导出CSV
  • [1] HATANAKA M, HIDAKA H. Value creation in SOC/MCU applications by embedded non-volatile memory evolutions[C]//2007 IEEE Asian Solid-state Circuits Conference. Jeju, Korea (South): IEEE, 2007. DOI: 10.1109/ASSCC.2007.4425790.
    [2] JEON C, WOO J, YEOM K, et al. High-speed and Ultra-low power IoT one-chip (MCU + Connectivity-chip) on a robust 28-nm embedded flash process[C]//2019 Symposium on VLSI Technology. Kyoto, Japan: IEEE, 2019. DOI: 10.23919/VLSIT.2019.8776557.
    [3] 胡亚红, 朱正东, 张天乐. 计算机系统结构[M]. 4版. 北京: 科学出版社, 2015.

    HU Y H, ZHU Z D, ZHANG T L. Computer System Architecture[M]. The fourth Edition. Beijing: Science Press, 2015.
    [4] MITTAL S. A survey of recent prefetching techniques for processor caches[J]. ACM Computing Surveys, 2017, 49(2): 35. DOI: 10.1145/2907071.
    [5] 王钰博, 黄凯, 陈辰, 等. 嵌入式Flash读取加速技术及实现[J]. 浙江大学学报(工学版), 2014, 48(8): 1570-1579. DOI: 10.3785/j.issn.1008-973X.2014.09.005.

    WANG Y B, HUANG K, CHEN C, et al. Embedded Flash data fetching acceleration techniques and implementation[J]. Journal of Zhejiang University (Engineering Science), 2014, 48(8): 1570-1579. DOI: 10.3785/j.issn.1008-973X.2014.09.005.
    [6] STM32F407xx advanced Arm-based 32-bit MCU Reference manual[EB/OL]. [2019-02-25]. https://www.st.com/resource/en/reference_manual/rm0090-stm32f405415-stm32f407417-stm32f427437-and-stm32f429439-advanced-armbased-32bit-mcus-stmicroelectronics.pdf.
    [7] 蒋进松, 黄凯, 陈辰, 等. 基于预取和缓存原理的片上Flash加速控制器设计[J]. 计算机工程与科学, 2016, 38(12): 2381-2391. DOI: 10.3969/j.issn.1007-130X.2016.12.002.

    JIANG J S, HUANG K, CHEN C, et al. A high efficient E-Flash accelerator based on pre-fetch and cache principles[J]. Computer Engineering and Science, 2016, 38(12): 2381-2391. DOI: 10.3969/j.issn.1007-130X.2016.12.002.
    [8] Texas Instruments. TivaTM 4C129ENCZAD Microcontroller data sheet[EB/OL]. (2014-06-18). http://www.ti.com/lit/ds/symlink/tm4c129enczad.pdf.
    [9] Advanced RISC Machines. AMBA specification[EB/OL]. [2014-12]. [2022-04-19]. https://developer.arm.com/documentation/ihi0011/a/.
    [10] PANDA P, PATIL G, RAVEENDRAN B. A survey on replacement strategies in Cache memory for embedded systems[C]//2016 IEEE Distributed Computing, VLSI, Electrical Circuits and Robotics. Mangalore, India: IEEE, 2017: 12-17. DOI: 10.1109/DISCOVER.2016.780621.
    [11] PUZAK T R. Analysis of cache replacement-algorithms[D]. Massachusetts: University of Massachusetts Amherst, 1985.
    [12] YIU J. The definitive guide to arm cortex-M3 and cortex-M4 processors[M]. 3rd ed. Washington St. Newton, MA, USA: Newnes, Imprint of Butterworth-Heinemann Ltd., 2013.
    [13] 郭炜, 郭筝, 谢憬. SoC设计方法与实现[M]. 北京: 电子工业出版社, 2007.

    GUO W, GUO Z, XIE J, et al. Design Methodology and Implementation of SoC[M]. Beijing: Publishing House of Electronics Industry, 2017.
    [14] K32L3A reference manual[EB/OL]. [2019-09]. https://www.nxp.com/webapp/sps/download/preDownload.jsp?render=true.
    [15] 连汉丽, 陈亚南, 焦继业, 等. 一种基于Cache机制的低功耗Flash控制器设计[J]. 西安邮电大学学报2018, 23(1): 70-73. DOI: 10.13682/j.issn.2095-6533.2018.01.011.

    LIAN H L, CHEN Y N, JIAO J Y, et al. A low power flash controller design based on cache mechanism[J]. Journal of Xi'an University of Posts and Telecommunications, 2018, 23(1): 70-73. DOI: 10.13682/j.issn.2095-6533.2018.01.011.
    [16] 李翀, 王沁, 王磊, 等. 一种基于龙芯一号CPU的高效Flash控制器[J]. 小型微型计算机系统, 2009, 30(9): 1885-1889. https://www.cnki.com.cn/Article/CJFDTOTAL-XXWX200909042.htm

    LI C, WANG Q, WANG L, et al. High efficient flash controller based on godson-Ⅰ CPU[J]. Journal of Chinese Computer Systems, 2009, 30(9): 1885-1889. https://www.cnki.com.cn/Article/CJFDTOTAL-XXWX200909042.htm
    [17] 曹健, 李凌浩, 黄雅东, 等. 一种基于Cache机制的嵌入式Flash控制器设计[J]. 计算机应用与软件, 2016, 33(8): 238-241. doi: 10.3969/j.issn.1000-386x.2016.08.053.

    CAO J, LI L H, HUANG Y D, et al. Design of an embedded flash controller based on cache mechanism[J]. Computer Applications and Software, 2016, 33(8): 238-241. DOI: 10.3969/j.issn.1000-386x.2016.08.053.
  • 加载中
图(21) / 表(2)
计量
  • 文章访问数:  69
  • HTML全文浏览量:  44
  • PDF下载量:  12
  • 被引次数: 0
出版历程
  • 收稿日期:  2021-07-09
  • 修回日期:  2022-02-20
  • 网络出版日期:  2022-08-15

目录

    /

    返回文章
    返回