CN107272496A - 一种mcu存储系统及实现方法 - Google Patents

一种mcu存储系统及实现方法 Download PDF

Info

Publication number
CN107272496A
CN107272496A CN201710575869.2A CN201710575869A CN107272496A CN 107272496 A CN107272496 A CN 107272496A CN 201710575869 A CN201710575869 A CN 201710575869A CN 107272496 A CN107272496 A CN 107272496A
Authority
CN
China
Prior art keywords
piece
address
memory access
memory
access address
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
CN201710575869.2A
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.)
Guangdong Huaxin Weite integrated circuit Co., Ltd
Original Assignee
FOSHAN SYNWIT TECHNOLOGY 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 FOSHAN SYNWIT TECHNOLOGY Co Ltd filed Critical FOSHAN SYNWIT TECHNOLOGY Co Ltd
Priority to CN201710575869.2A priority Critical patent/CN107272496A/zh
Publication of CN107272496A publication Critical patent/CN107272496A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25257Microcontroller

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种MCU存储系统及实现方法,其中,该存储系统包括:微处理器,用于向存储系统控制电路发送访存地址,接收存储系统控制电路所读取有片外非易失性存储器上访存地址对应的程序数据;片外非易失性存储控制接口,用于读取片外非易失性存储器上与该访存地址相对应的程序数据;片外非易失性存储器;片内易失性存储器;存储系统控制电路,用于在地址映射表中查找该访存地址是否在片内易失性存储器中,若是,则将相应数据读取并发送给微处理器;若否,则读取片外非易失性存储器上与该访存地址相对应的程序数据。实施本发明,可以使MCU以接近片内易失性存储器的访问速度获得片外非易失性存储器容量的可执行程序空间。

Description

一种MCU存储系统及实现方法
技术领域
本发明涉及单片机技术领域,尤其涉及一种MCU存储系统及实现方法。
背景技术
微控制单元(MicroControllerUnit,MCU)系统中,可执行程序一般存储在片内易失性存储器,或者片内非易失性存储器(Nonvolatile Memory)中。微处理器可以随时直接地址访问存储在这两种设备上的信息,其中,每个地址对应一个字节,片内存储器的大小决定微处理器程序空间。
在MCU系统中,一般还具有一种片外非易失性存储器,包括但不仅限于片外NORFlash、片外NAND Flash等。该设备一般存储数据而非可执行程序。微处理器访问片外非易失性存储器时不能通过直接地址随机访问,而是通过对相应的控制模块访问接口进行操作,操作方式有很多种,一般地,可以通过读写命令包的方式通知控制模块需要完成何种操作,以及操作命令格式,非易失性性存储器的控制模块收到命令后,再将其转为符合片外非易失性存储器接口协议的命令,通过输入输出接口(例如SPI)发送给片外非易失性存储器,按照接口协议完成操作,最后将操作结果返回给微处理器。
片内易失性存储器和片内非易失性存储器容量都比较小(4KB-1MB),并且成本较高,随着32bits MCU的普及,可执行程序空间的大小逐渐成为MCU应用的瓶颈之一。
发明内容
本发明的目的在于克服现有技术的不足,本发明提供了一种MCU存储系统及实现方法,可以使MCU以接近片内易失性存储器的访问速度获得片外非易失性存储器容量的可执行程序空间。
为了解决上述问题,本发明提出了一种MCU存储系统,所述存储系统包括:
微处理器,用于向存储系统控制电路发送访存地址,接收存储系统控制电路所读取有片外非易失性存储器上访存地址对应的程序数据;
片外非易失性存储控制接口,用于读取片外非易失性存储器上与该访存地址相对应的程序数据;
片外非易失性存储器,用于存储可执行程序;
片内易失性存储器,用于存储高速缓存数据;
存储系统控制电路,用于接收微处理器所发送的访存地址,在地址映射表中查找该访存地址是否在片内易失性存储器中,若是,则将相应数据读取并发送给微处理器;若否,则通过片外非易失性存储控制接口读取片外非易失性存储器上与该访存地址相对应的程序数据。
优选地,所述存储系统控制电路包括:
地址映射电路,用于将微处理器发送的访存地址转化为缓存地址,查找该缓存地址是否在片内易失性存储器中;
缓存管理电路,用于将片内易失性存储器划分为缓存块;
数据读取电路,用于当微处理器发送的访存地址不在片内易失性存储器中时,通过片外非易失性存储控制接口读取片外非易失性存储器上访存地址对应的数据。
优选地,所述地址映射电路用于根据微处理器发送的访存地址中的映射表序号查找对应的映射表项,检查映射表的内容,将访存地址转化为缓存地址。
优选地,所述数据读取电路用于通过片外非易失性存储控制接口将访存地址发送给片外非易失性存储器,读取片外非易失性存储器上访存地址对应的数据,并将该数据发送给片内易失性存储器。
优选地,所述地址映射电路还用于更新地址映射表。
优选地,所述缓存管理电路还用于根据缓存策略替换缓存块的内容。
优选地,缓存管理电路还用于对缓存块的内容进行锁定。
相应地,本发明还提供一种MCU存储系统的实现方法,所述方法包括:
微处理器向存储系统控制电路发送访存地址;
存储系统控制电路接收微处理器所发送的访存地址,在地址映射表中查找该访存地址是否在片内易失性存储器中,若是,则将相应数据读取并发送给微处理器;若否,则通过片外非易失性存储控制接口读取片外非易失性存储器上与该访存地址相对应的程序数据;
微处理器接收存储系统控制电路所读取有片外非易失性存储器上访存地址对应的程序数据。
优选地,所述存储系统控制电路接收微处理器所发送的访存地址,在地址映射表中查找该访存地址是否在片内易失性存储器中的步骤,包括:
将微处理器发送的访存地址转化为缓存地址,查找该缓存地址是否在片内易失性存储器中。
优选地,所述将微处理器发送的访存地址转化为缓存地址的步骤,包括:
根据微处理器发送的访存地址中的映射表序号查找对应的映射表项,检查映射表的内容,将访存地址转化为缓存地址。
在本发明实施例中,将片内易失性作为高速数据缓存,通过片内存储系统控制电路实现地址转换、数据预取和缓存管理,片外易失性存储器存储所有程序信息,通过相应的片外非易失性存储器控制接口的控制电路进行控制,可以使MCU以接近片内易失性存储器的访问速度获得片外非易失性存储器容量的可执行程序空间,提高了访问速度以及降低了硬件成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例的MCU存储系统的结构组成示意图;
图2是本发明实施例中存储系统控制电路的结构组成示意图;
图3是本发明实施例的MCU存储系统的实现方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例的MCU存储系统的结构组成示意图,如图1所示,该存储系统包括:
微处理器1,用于向存储系统控制电路5发送访存地址,接收存储系统控制电路5所读取有片外非易失性存储器上访存地址对应的程序数据;
片外非易失性存储控制接口2,用于读取片外非易失性存储器3上与该访存地址相对应的程序数据;
片外非易失性存储器3,用于存储可执行程序;
片内易失性存储器4,用于存储高速缓存数据;
存储系统控制电路5,用于接收微处理器1所发送的访存地址,在地址映射表中查找该访存地址是否在片内易失性存储器4中,若是,则将相应数据读取并发送给微处理器1;若否,则通过片外非易失性存储控制接口读取片外非易失性存储器3上与该访存地址相对应的程序数据。
进一步地,如图2所示,存储系统控制电路5包括:
地址映射电路51,用于将微处理器1发送的访存地址转化为缓存地址,查找该缓存地址是否在片内易失性存储器4中;
缓存管理电路52,用于将片内易失性存储器4划分为缓存块;
数据读取电路53,用于当微处理器1发送的访存地址不在片内易失性存储器4中时,通过片外非易失性存储控制接口2读取片外非易失性存储器3上访存地址对应的数据。
具体实施中,缓存块的容量可以根据片内易失性存储器的容量、片外非易失性存储器的容量、以及系统程序空间大小选取最优值。缓存块的内容取自片外非易失性存储器的某一段连续地址空间,连续地址空间的大小与缓存块的容量相等。
具体地,地址映射电路51用于根据微处理器1发送的访存地址中的映射表序号查找对应的映射表项,检查映射表的内容,将访存地址转化为缓存地址。
数据读取电路53用于通过片外非易失性存储控制接口2将访存地址发送给片外非易失性存储器3,读取片外非易失性存储器3上访存地址对应的数据,并将该数据发送给片内易失性存储器4。
地址映射电路51还用于更新地址映射表。当读取片外非易失性存储器3上访存地址对应的数据,并将该数据发送给片内易失性存储器4时,该数据储存到片内易失性存储器4中,并由地址映射电路51更新地址映射表,返回给微处理器1。
缓存管理电路52还用于根据缓存策略替换缓存块的内容。具体地,根据LRU策略(Least Recently Used)替换缓存块的内容。进一步地,缓存管理电路52还用于对缓存块的内容进行锁定。当锁定缓存块的内容时,无法对该缓存块的内容进行替换或者更新。
在本发明实施例中,地址映射表可以存储于做任意片内存储器件。
相应地,本发明实施例还提供一种MCU存储系统的实现方法,如图3所示,该方法包括:
S1,微处理器向存储系统控制电路发送访存地址;
S2,存储系统控制电路接收微处理器所发送的访存地址,在地址映射表中查找该访存地址是否在片内易失性存储器中,若是则执行S3,若否则执行S4;
S3,将相应数据读取并发送给微处理器;
S4,通过片外非易失性存储控制接口读取片外非易失性存储器上与该访存地址相对应的程序数据;
S5,微处理器接收存储系统控制电路所读取有片外非易失性存储器上访存地址对应的程序数据。
在S2中,将微处理器发送的访存地址转化为缓存地址,查找该缓存地址是否在片内易失性存储器中。
其中,根据微处理器发送的访存地址中的映射表序号查找对应的映射表项,检查映射表的内容,将访存地址转化为缓存地址。
具体实施中,缓存块的容量可以根据片内易失性存储器的容量、片外非易失性存储器的容量、以及系统程序空间大小选取最优值。缓存块的内容取自片外非易失性存储器的某一段连续地址空间,连续地址空间的大小与缓存块的容量相等。
具体地,存储系统控制电路中的地址映射电路根据微处理器发送的访存地址中的映射表序号查找对应的映射表项,检查映射表的内容,将访存地址转化为缓存地址。
存储系统控制电路中的数据读取电路通过片外非易失性存储控制接口将访存地址发送给片外非易失性存储器,读取片外非易失性存储器上访存地址对应的数据,并将该数据发送给片内易失性存储器。
存储系统控制电路中的地址映射电路更新地址映射表。当读取片外非易失性存储器上访存地址对应的数据,并将该数据发送给片内易失性存储器时,该数据储存到片内易失性存储器中,并由地址映射电路更新地址映射表,返回给微处理器。
存储系统控制电路中的缓存管理电路根据缓存策略替换缓存块的内容。具体地,根据LRU策略替换缓存块的内容。进一步地,缓存管理电路对缓存块的内容进行锁定。当锁定缓存块的内容时,无法对该缓存块的内容进行替换或者更新。
本发明实施例中,地址映射表如下表所示:
地址映射电路将微处理器发出的访存地址分为3个部分:
块内偏移地址部分;
标签部分;
地址映射表序号部分。
根据映射算法不同,每个缓存块对应1个或多个地址映射表项。根据地址中的映射表序号部可以找到对应的映射表项,然后检查映射表的内容,完成地址映射。如果转化的缓存地址在片内易失性存储器中,则根据产生的缓存地址访问缓存(片内易失性存储器),并将所得到的数据返回给微处理器。如果否,则将相对应的访存请求发给片外非易失性存储器的控制接口,该控制接口将返回片外非易失性存储器与该地址对应的数据,该数据被存储到缓存中,并更新地址映射表,同时返回给微处理器。
在本发明实施例中,将片内易失性作为高速数据缓存,通过片内存储系统控制电路实现地址转换、数据预取和缓存管理,片外易失性存储器存储所有程序信息,通过相应的片外非易失性存储器控制接口的控制电路进行控制,可以使MCU以接近片内易失性存储器的访问速度获得片外非易失性存储器容量的可执行程序空间,提高了访问速度以及降低了硬件成本。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁盘或光盘等。
另外,以上对本发明实施例所提供的MCU存储系统及实现方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种MCU存储系统,其特征在于,所述存储系统包括:
微处理器,用于向存储系统控制电路发送访存地址,接收存储系统控制电路所读取有片外非易失性存储器上访存地址对应的程序数据;
片外非易失性存储控制接口,用于读取片外非易失性存储器上与该访存地址相对应的程序数据;
片外非易失性存储器,用于存储可执行程序;
片内易失性存储器,用于存储高速缓存数据;
存储系统控制电路,用于接收微处理器所发送的访存地址,在地址映射表中查找该访存地址是否在片内易失性存储器中,若是,则将相应数据读取并发送给微处理器;若否,则通过片外非易失性存储控制接口读取片外非易失性存储器上与该访存地址相对应的程序数据。
2.如权利要求1所述的MCU存储系统,其特征在于,所述存储系统控制电路包括:
地址映射电路,用于将微处理器发送的访存地址转化为缓存地址,查找该缓存地址是否在片内易失性存储器中;
缓存管理电路,用于将片内易失性存储器划分为缓存块;
数据读取电路,用于当微处理器发送的访存地址不在片内易失性存储器中时,通过片外非易失性存储控制接口读取片外非易失性存储器上访存地址对应的数据。
3.如权利要求2所述的MCU存储系统,其特征在于,所述地址映射电路用于根据微处理器发送的访存地址中的映射表序号查找对应的映射表项,检查映射表的内容,将访存地址转化为缓存地址。
4.如权利要求2所述的MCU存储系统,其特征在于,所述数据读取电路用于通过片外非易失性存储控制接口将访存地址发送给片外非易失性存储器,读取片外非易失性存储器上访存地址对应的数据,并将该数据发送给片内易失性存储器。
5.如权利要求3所述的MCU存储系统,其特征在于,所述地址映射电路还用于更新地址映射表。
6.如权利要求2所述的MCU存储系统,其特征在于,所述缓存管理电路还用于根据缓存策略替换缓存块的内容。
7.如权利要求6所述的MCU存储系统,其特征在于,缓存管理电路还用于对缓存块的内容进行锁定。
8.一种MCU存储系统的实现方法,其特征在于,所述方法包括:
微处理器向存储系统控制电路发送访存地址;
存储系统控制电路接收微处理器所发送的访存地址,在地址映射表中查找该访存地址是否在片内易失性存储器中,若是,则将相应数据读取并发送给微处理器;若否,则通过片外非易失性存储控制接口读取片外非易失性存储器上与该访存地址相对应的程序数据;
微处理器接收存储系统控制电路所读取有片外非易失性存储器上访存地址对应的程序数据。
9.如权利要求8所述的MCU存储系统的实现方法,其特征在于,所述存储系统控制电路接收微处理器所发送的访存地址,在地址映射表中查找该访存地址是否在片内易失性存储器中的步骤,包括:
将微处理器发送的访存地址转化为缓存地址,查找该缓存地址是否在片内易失性存储器中。
10.如权利要求9所述的MCU存储系统的实现方法,其特征在于,所述将微处理器发送的访存地址转化为缓存地址的步骤,包括:
根据微处理器发送的访存地址中的映射表序号查找对应的映射表项,检查映射表的内容,将访存地址转化为缓存地址。
CN201710575869.2A 2017-07-14 2017-07-14 一种mcu存储系统及实现方法 Pending CN107272496A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710575869.2A CN107272496A (zh) 2017-07-14 2017-07-14 一种mcu存储系统及实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710575869.2A CN107272496A (zh) 2017-07-14 2017-07-14 一种mcu存储系统及实现方法

Publications (1)

Publication Number Publication Date
CN107272496A true CN107272496A (zh) 2017-10-20

Family

ID=60072829

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710575869.2A Pending CN107272496A (zh) 2017-07-14 2017-07-14 一种mcu存储系统及实现方法

Country Status (1)

Country Link
CN (1) CN107272496A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111274186A (zh) * 2020-01-19 2020-06-12 北京中微芯成微电子科技有限公司 一种提高中央处理器执行效率的单片机

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102314321A (zh) * 2010-07-07 2012-01-11 深圳市朗科科技股份有限公司 存储系统、运用存储系统进行数据访问的方法和装置
CN202838325U (zh) * 2012-03-29 2013-03-27 佛山华芯微特科技有限公司 一种mcu芯片
CN104360825A (zh) * 2014-11-21 2015-02-18 浪潮(北京)电子信息产业有限公司 一种混合内存系统及其管理方法
CN105808452A (zh) * 2014-12-29 2016-07-27 北京兆易创新科技股份有限公司 微控制单元mcu的数据分级处理方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102314321A (zh) * 2010-07-07 2012-01-11 深圳市朗科科技股份有限公司 存储系统、运用存储系统进行数据访问的方法和装置
CN202838325U (zh) * 2012-03-29 2013-03-27 佛山华芯微特科技有限公司 一种mcu芯片
CN104360825A (zh) * 2014-11-21 2015-02-18 浪潮(北京)电子信息产业有限公司 一种混合内存系统及其管理方法
CN105808452A (zh) * 2014-12-29 2016-07-27 北京兆易创新科技股份有限公司 微控制单元mcu的数据分级处理方法和系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111274186A (zh) * 2020-01-19 2020-06-12 北京中微芯成微电子科技有限公司 一种提高中央处理器执行效率的单片机

Similar Documents

Publication Publication Date Title
KR102036769B1 (ko) 데이터 캐싱 방법, 캐시 및 컴퓨터 시스템
EP2472412B1 (en) Explicitly regioned memory organization in a network element
CN105740164A (zh) 支持缓存一致性的多核处理器、读写方法、装置及设备
KR102575913B1 (ko) 비대칭 세트 결합된 캐시
US8185692B2 (en) Unified cache structure that facilitates accessing translation table entries
US11226904B2 (en) Cache data location system
US9740613B2 (en) Cache memory system and processor system
US20140047175A1 (en) Implementing efficient cache tag lookup in very large cache systems
CN109815165A (zh) 用于存储和处理高效压缩高速缓存行的系统和方法
US10423534B2 (en) Cache memory
US6625694B2 (en) System and method for allocating a directory entry for use in multiprocessor-node data processing systems
JPH08235052A (ja) ディレクトリ内にアドレス・タグを記憶するためのシステムおよび方法
US7925857B2 (en) Method for increasing cache directory associativity classes via efficient tag bit reclaimation
US11126573B1 (en) Systems and methods for managing variable size load units
CN108694133A (zh) 用于即时高速缓存关联性的装置、方法和系统
US10884925B2 (en) Systems and methods for tag-less buffer implementation
CN107272496A (zh) 一种mcu存储系统及实现方法
CN110727610B (zh) 高速缓存存储器、存储系统和高速缓存存储器的逐出方法
CN112148639A (zh) 一种高效小容量高速缓冲存储器替换方法及系统
US20220398198A1 (en) Tags and data for caches
CN206991079U (zh) 一种mcu存储系统
CN115617709A (zh) 缓存管理方法及装置、缓存装置、电子装置和介质
EP4116829A1 (en) Systems and methods for managing variable size load units
US11726920B2 (en) Tag processing for external caches
JPH06250926A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20191118

Address after: Room 303a, 3 / F, west block, phase II, design city, No.1, Sanle Road North, Beijiao Town, Shunde District, Foshan City, Guangdong Province 528300

Applicant after: Guangdong Huaxin Weite integrated circuit Co., Ltd

Address before: 528225, Guangdong Province, Nanhai District, Foshan City, 501 East Taoyuan Road 99 force science and technology industry center 10

Applicant before: Foshan Synwit Technology Co., Ltd.