CN111158753A - 具有数据预取功能的Flash控制器结构及其实现方法 - Google Patents

具有数据预取功能的Flash控制器结构及其实现方法 Download PDF

Info

Publication number
CN111158753A
CN111158753A CN201911404111.8A CN201911404111A CN111158753A CN 111158753 A CN111158753 A CN 111158753A CN 201911404111 A CN201911404111 A CN 201911404111A CN 111158753 A CN111158753 A CN 111158753A
Authority
CN
China
Prior art keywords
flash
data
flash controller
address
processor
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
CN201911404111.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.)
No47 Institute Of China Electronics Technology Group Corp
Original Assignee
No47 Institute Of China Electronics Technology Group 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 No47 Institute Of China Electronics Technology Group Corp filed Critical No47 Institute Of China Electronics Technology Group Corp
Priority to CN201911404111.8A priority Critical patent/CN111158753A/zh
Publication of CN111158753A publication Critical patent/CN111158753A/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

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控制器结构及其实现方法,按照控制器系统中的指令与数据大部分顺序执行的原则,根据控制器中的处理器访问的地址要求,判断数据或指令是否已经预取完成,利用单个处理器读取资源,完成双数据或指令读取和预取,设计实现一种带有指令预取功能的Flash控制器结构,可以在不改变处理器性能的前提下,提高微控制器系统处理速度,提高系统效率。满足嵌入式微控制器设计领域的高性能与低功耗的要求。

Description

具有数据预取功能的Flash控制器结构及其实现方法
技术领域
本发明属于嵌入式微控制器领域,提出了一种可以实现数据预取的Flash控制器架构设计。
背景技术
在嵌入式系统的应用中,进行主从机通信和从机自身任务处理时,需要经常与从机MCU进行运行数据的存取。过去传统的方法是在MCU上外挂存储器以存取数据。这种方法需要增加MCU与存储器的读写接口,增加了MCU的管脚负担,减慢了数据的读写速度的同时还增加了功耗。
随着智能化的普及及物联网的兴起,内置嵌入式Flash的微控制器(MCU:MicroControl Unit)在工业控制以及消费电子类市场得到了越来越广泛的使用。针对这种低功耗、低成本、高性能的应用环境,本文涉及并实现了一款具有数据预取功能的Flash控制器结构。
发明内容
本发明目的是采用组相连Flash结构,设计一种嵌入式微控制器内置的具有数据预取功能的高性能、低功耗的Flash控制器。在不提升系统时钟的情况下,完成带有数据预取功能的嵌入式异步Flash的数据存取,从而达到提升系统性能的目的,由于提升的性能在原有的系统时钟下实现,也最大程度的控制了高性能微控制器的系统功耗。满足嵌入式微处理器应用领域的高性能与低功耗的要求。
本发明为实现上述目的所采用的技术方案是:带有数据预取功能的Flash控制器结构,包括:
地址译码器,用于完成对处理器地址的译码,形成片选和控制信号发给Flash控制器和特殊功能寄存器单元;
Flash控制器,用于根据片选和控制信号完成从处理器到组相连Flash结构之间的时序转换、数据读取和预取数据的保存;
特殊功能寄存器单元,用于根据Flash控制器的工作方式和对Flash存储器的控制方式进行参数配置并保存;
组相连Flash结构,用于从各自存储区反馈数据给Flash控制器,当前访问地址的数据同时反馈给处理器总线,其余数据缓存在Flash控制器的缓冲存储器中。
所述Flash控制器,对处理器发出的相同地址,从各个Flash Seg中同时读出对应地址的数据,反馈给Flash控制器进行处理和缓存。
组相连Flash结构中各个Seg的选择由处理器发出的地址通过译码得出:低位地址用于字节、半字和字选择;中段地址用于Flash Seg选择;高位地址用于同一Seg中的地址偏移选择。
所述Flash控制器中设有对应组相连Flash结构的Seg数减1的缓冲存储器,用于存放预取出的指令或数据。
组相连Flash结构包括多个Seg,Seg数根据实际设计需求设计大于等于2个Seg的组相连结构Flash。
采用组相连Flash结构和带有数据预取功能的Flash控制器,在不提高系统时钟频率的基础上,通过对处理器发出的统一地址,从组相连Flash结构中同时读回多个数据,存放在Flash控制器的缓冲存储器中,实现Flash指令和数据的预取。
带有数据预取功能的Flash控制器的实现方法,包括以下步骤:
地址译码器完成对处理器地址的译码,形成片选和控制信号发给Flash控制器和特殊功能寄存器单元;
通过处理器总线对特殊功能寄存器进行配置,完成对Flash控制器行为的控制;
Flash控制器完成从处理器到组相连Flash结构之间的时序转换;
组相连Flash结构从各自存储区反馈数据给Flash控制器,当前访问地址的数据同时反馈给处理器总线,其余数据缓存在Flash控制器的缓冲存储器中。
本发明具有以下有益效果及优点:
1.本发明采用组相连Flash结构,Flash为异步工作模式。设计说明中实例中列举的是2路组相连结构,实现1级访问和1级预取。在实际设计中,可根据本发明的设计思想,依据系统设计实际需求,设计预取深度更大的多级组相连Flash结构。
2.本发明设计的具有数据预取功能的Flash控制器,在维持现有系统时钟频率的基础上,减少了微控制器系统对相同程序和数据的存取时间,实现了系统性能的提升。
3.本发明设计的具有数据预取功能的Flash控制器结构,取代了通常设计中的控制器多次发送访问地址和控制信号实现指令和数据的预取功能,实现起来更加简便,从而减少了设计实现的单元数量,使设计面积更小,实现成本更低。
附图说明
图1为本发明的带有数据预取功能的Flash控制器结构图。
图2为本发明应用在内嵌Flash的微控制器系统中的应用实例示意图。
具体实施方式
下面根据附图对本发明进行详细说明。
具有数据预取功能的Flash控制器的设计思想是如图1所示:
地址译码器(Decode)对微控制器中处理器将要访问到Flash中的总线地址进行译码操作,若要访问的地址空间落在Flash存储区域,则S1片选有效,将写数据和控制信号传输给Flash控制单元S1,或者将从Flash存储器中读取的指令或数据返回到处理器单元的总线接口中;若要访问的地址空间落在Flash控制器的特殊功能寄存器区域,则S2片选有效,将写数据和控制信号传输给Flash控制器特殊功能寄存器单元S2,或者将从Flash控制器特殊功能寄存器中读取的数据返回到处理器单元的总线接口中。
Flash控制器(S1)将收到的处理器地址和控制信号进行时序转换,转成Flash存储器可接受的时序,传输到组相连结构的Flash存储器接口中。按照Flash存储器访问位宽由发给Flash存储器的地址中的一位或几位确定组相连Flash中各个Flash Seg的片选信号,例如Flash位宽为32位,Flash Seg的片选信号由发送给Flash存储器的地址的第二位Addr[2]确定,当Addr[2]为0时访问的是组相连Flash的Seg0,Addr[2]为1时访问的是组相连Flash的Seg1。也可以由Flash控制器S1发送控制信号同时选中组相连Flash中的各个Seg,然后从多个组相连的Seg中读回多个数据进行缓存,从而达到指令和数据预取的功能。
组相连Flash存储器(Seg1、Seg2)为并列连接的存储器单元,当接收到Flash控制器发送来的地址和控制信号后,将接收到的写数据写入对应Flash单元或者从对应的Flash单元读出指令或数据返回给Flash控制器S1。访问的存储器深度由地址Addr[31:3]决定,访问的位宽由Addr[1]决定。
Flash控制器特殊功能寄存器(S2)将微控制器系统启动时的配置信息从Flash存储器中读出后保存在此处;对Flash控制器进行配置和控制从而产生预期的Flash控制行为;保存Flash存储器访问过程中的各项状态,供处理器对相应状态进行处理。
本发明中,组相连结构的Flash存储器结构可以采用不同的路数进行设计,具体实施例中设计了一种2路组相连结构的Flash控制器,本发明所涉及的方法不限于此种实施例。图2为本发明应用于内置Flash的微控制器系统具体实施例,其中处理器(CPU)和直接存储器存期(DMA)可以作为主控单元对Flash进行读写控制,处理器(CPU)可以提供指令访问总线(Ibus)、数据访问总线(Dbus)和系统访问总线(Sbus),其中数据访问总线(Dbus)和系统访问总线(Sbus)与DMA总线(DMAbus)一起,经过总线仲裁模块(BusMatrix)后,选择出一组占用当前的数据访问总线,之后数据访问总线和指令访问总线一起,经过Flash统一接口的仲裁选择后,选择出一组当前访问Flash的处理器访问Flash总线,最后将这组总线连接到本发明中。
图2本发明应用在内嵌Flash的微控制器系统中的应用实例。
在嵌入式微控制器系统中,Flash通常是异步工作,当系统从本发明的带有数据预取功能的Flash控制器中读回指令或数据时,同时从组相连的Flash结构中预取出相邻地址的指令和数据,将其保存在指令或数据缓冲存储器中。根据处理器程序执行特点,由于指令或数据的访问大部分时间都是顺序访问的,当预取出一部分指令或数据后,系统下次访问的指令和数据可以以系统频率从缓冲存储器中读回,而不必再次访问异步Flash,所以此种带有预取功能的Flash控制器的设计能够在不提高系统频率的基础上,大幅度提升系统的运行效率。

Claims (7)

1.带有数据预取功能的Flash控制器结构,其特征在于,包括:
地址译码器,用于完成对处理器地址的译码,形成片选和控制信号发给Flash控制器和特殊功能寄存器单元;
Flash控制器,用于根据片选和控制信号完成从处理器到组相连Flash结构之间的时序转换、数据读取和预取数据的保存;
特殊功能寄存器单元,用于根据Flash控制器的工作方式和对Flash存储器的控制方式进行参数配置并保存;
组相连Flash结构,用于从各自存储区反馈数据给Flash控制器,当前访问地址的数据同时反馈给处理器总线,其余数据缓存在Flash控制器的缓冲存储器中。
2.根据权利要求1所述带有数据预取功能的Flash控制器结构,其特征在于,所述Flash控制器,对处理器发出的相同地址,从各个Flash Seg中同时读出对应地址的数据,反馈给Flash控制器进行处理和缓存。
3.根据权利要求1所述带有数据预取功能的Flash控制器结构,其特征在于,组相连Flash结构中各个Seg的选择由处理器发出的地址通过译码得出:低位地址用于字节、半字和字选择;中段地址用于Flash Seg选择;高位地址用于同一Seg中的地址偏移选择。
4.根据权利要求1所述带有数据预取功能的Flash控制器结构设计,其特征在于,所述Flash控制器中设有对应组相连Flash结构的Seg数减1的缓冲存储器,用于存放预取出的指令或数据。
5.根据权利要求1所述带有数据预取功能的Flash控制器结构,其特征在于,组相连Flash结构包括多个Seg,Seg数根据实际设计需求设计大于等于2个Seg的组相连结构Flash。
6.带有数据预取功能的Flash控制器的实现方法,其特征在于,采用组相连Flash结构和带有数据预取功能的Flash控制器,在不提高系统时钟频率的基础上,通过对处理器发出的统一地址,从组相连Flash结构中同时读回多个数据,存放在Flash控制器的缓冲存储器中,实现Flash指令和数据的预取。
7.根据权利要求6所述的带有数据预取功能的Flash控制器的实现方法,其特征在于,包括以下步骤:
地址译码器完成对处理器地址的译码,形成片选和控制信号发给Flash控制器和特殊功能寄存器单元;
通过处理器总线对特殊功能寄存器进行配置,完成对Flash控制器行为的控制;
Flash控制器完成从处理器到组相连Flash结构之间的时序转换;
组相连Flash结构从各自存储区反馈数据给Flash控制器,当前访问地址的数据同时反馈给处理器总线,其余数据缓存在Flash控制器的缓冲存储器中。
CN201911404111.8A 2019-12-31 2019-12-31 具有数据预取功能的Flash控制器结构及其实现方法 Pending CN111158753A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911404111.8A CN111158753A (zh) 2019-12-31 2019-12-31 具有数据预取功能的Flash控制器结构及其实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911404111.8A CN111158753A (zh) 2019-12-31 2019-12-31 具有数据预取功能的Flash控制器结构及其实现方法

Publications (1)

Publication Number Publication Date
CN111158753A true CN111158753A (zh) 2020-05-15

Family

ID=70559539

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911404111.8A Pending CN111158753A (zh) 2019-12-31 2019-12-31 具有数据预取功能的Flash控制器结构及其实现方法

Country Status (1)

Country Link
CN (1) CN111158753A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112685344A (zh) * 2020-12-30 2021-04-20 合肥市芯海电子科技有限公司 Dma编程电路及基于dma编程电路的编程方法
US20220164137A1 (en) * 2020-11-24 2022-05-26 Arm Limited Memory for an Artificial Neural Network Accelerator

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101727311A (zh) * 2009-12-03 2010-06-09 浙江大学 用于降低指令缓存功耗的分支序列缓冲器
US20140281248A1 (en) * 2013-03-16 2014-09-18 Intel Corporation Read-write partitioning of cache memory
CN104778130A (zh) * 2015-04-28 2015-07-15 杭州中天微系统有限公司 一种支持容量与组相联度灵活可配的核外高速缓存装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101727311A (zh) * 2009-12-03 2010-06-09 浙江大学 用于降低指令缓存功耗的分支序列缓冲器
US20140281248A1 (en) * 2013-03-16 2014-09-18 Intel Corporation Read-write partitioning of cache memory
CN104778130A (zh) * 2015-04-28 2015-07-15 杭州中天微系统有限公司 一种支持容量与组相联度灵活可配的核外高速缓存装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
冯海英;范学仕;: "基于MCU的Flash预取加速控制器设计与实现", 电子与封装 *
曹健;李凌浩;黄雅东;吴中海;张兴;: "一种基于Cache机制的嵌入式Flash控制器设计", 计算机应用与软件 *
李伟立;于立新;: "应用预取策略的行缓冲指令Cache设计", 微电子学与计算机 *
蒋进松;黄凯;陈辰;王钰博;严晓浪;: "基于预取和缓存原理的片上Flash加速控制器设计", 计算机工程与科学 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220164137A1 (en) * 2020-11-24 2022-05-26 Arm Limited Memory for an Artificial Neural Network Accelerator
US11526305B2 (en) * 2020-11-24 2022-12-13 Arm Limited Memory for an artificial neural network accelerator
CN112685344A (zh) * 2020-12-30 2021-04-20 合肥市芯海电子科技有限公司 Dma编程电路及基于dma编程电路的编程方法
CN112685344B (zh) * 2020-12-30 2024-05-14 合肥市芯海电子科技有限公司 Dma编程电路及基于dma编程电路的编程方法

Similar Documents

Publication Publication Date Title
TWI454909B (zh) 減少記憶體裝置之功率消耗之記憶體裝置、方法及系統
KR101532289B1 (ko) 메모리 내 cpu 캐시 아키텍처
CN114974374B (zh) 具有芯片内执行能力的串行与非门快闪存储器
US20080270707A1 (en) Data processor
JPH10187533A (ja) キャッシュシステム、プロセッサ及びプロセッサを動作させる方法
CN108139994B (zh) 内存访问方法及内存控制器
CN103377154A (zh) 存储器的访存控制装置及方法、处理器及北桥芯片
CN111459857B (zh) 一种tcm控制器及数据缓存读取方法
CN111158753A (zh) 具有数据预取功能的Flash控制器结构及其实现方法
US8914612B2 (en) Data processing with time-based memory access
US6647464B2 (en) System and method utilizing speculative cache access for improved performance
EP3588312A1 (en) Apparatus, method, and system for enhanced data prefetching based on non-uniform memory access (numa) characteristics
CN102722451A (zh) 采用物理地址预测访问高速缓存的装置
CN102591823A (zh) 一种具有指令队列功能的Nandflash控制器
CN112565474B (zh) 面向分布式共享spm的批量数据传输方法
US7047363B2 (en) Cache memory and control method thereof
CN107807888B (zh) 一种用于soc架构的数据预取系统及其方法
CN1490732A (zh) 主机与从属设备之间的接口
CN112540937A (zh) 一种缓存、数据访问方法和指令处理装置
CN116010310B (zh) 一种sdr-sdram控制器及其控制方法
CN116450570B (zh) 基于fpga的32位risc-v处理器及电子设备
JPH10111832A (ja) メモリシステム
CN114637709B (zh) 一种通过spi控制接口直接执行串行flash程序的方法及模块
US11704258B2 (en) Latency reduction in SPI flash memory devices
US20230091974A1 (en) Techniques associated with mapping system memory physical addresses to proximity domains

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200515