CN105404591B - 处理器系统及其存储器控制方法 - Google Patents

处理器系统及其存储器控制方法 Download PDF

Info

Publication number
CN105404591B
CN105404591B CN201510958859.8A CN201510958859A CN105404591B CN 105404591 B CN105404591 B CN 105404591B CN 201510958859 A CN201510958859 A CN 201510958859A CN 105404591 B CN105404591 B CN 105404591B
Authority
CN
China
Prior art keywords
processor
port
memory
line memory
selector
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.)
Active
Application number
CN201510958859.8A
Other languages
English (en)
Other versions
CN105404591A (zh
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.)
Hangzhou Silan Microelectronics Co Ltd
Original Assignee
Hangzhou Silan Microelectronics 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 Hangzhou Silan Microelectronics Co Ltd filed Critical Hangzhou Silan Microelectronics Co Ltd
Priority to CN201811479297.9A priority Critical patent/CN109656838A/zh
Priority to CN201510958859.8A priority patent/CN105404591B/zh
Publication of CN105404591A publication Critical patent/CN105404591A/zh
Application granted granted Critical
Publication of CN105404591B publication Critical patent/CN105404591B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • 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/1028Power efficiency
    • 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/31Providing disk cache in a specific location of a storage system
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

公开了处理器系统及其存储器控制方法。所述处理器系统,包括:第一选择器,包括第一至第三端口;分别与第一选择器的第一至第三端口连接嵌入式存储器、处理器和高速缓冲存储器,所述嵌入式存储器用于存储应用程序代码,其中,所述第一选择器提供控制信号的路由功能,使得第一端口与第二端口之间的第一信号路径、或者第一端口与第三端口之间的第二信号路径连通。所述处理器系统通过第一信号路径和第二信号路径的选择,在低功耗模式和高效访问模式之间切换,从而兼顾处理器的运行效率和功耗,并且降低芯片成本。

Description

处理器系统及其存储器控制方法
技术领域
本发明属于计算机技术,更具体地,涉及嵌入存储器控制方法及其处理器系统。
背景技术
在处理器系统中,程序存储器用于保存应用程序代码(指令),还可以用于保存程序执行时用到的数据(例如操作数、查找表信息)。对于大型的片上系统(SoC),程序存储器可以采用外部的同步动态随机存储器(SDRAM),然后,通过高速缓冲(Cache),以匹配高速的处理器(CPU)与外部存储器之间的访问速度的差异。在小型的片上芯片(SoC)中,由于成本限制未采用外部存储器。
在小型的SoC系统中,采用嵌入式存储器(例如,eFlash、OTP、MTP),然后,通过指令预取来匹配高速的处理器(CPU)与嵌入式存储器之间的访问速度的差异,在硬件上只需要增加一组缓冲寄存器。
然而,尽管嵌入式存储器和缓冲寄存器相结合的方法可以降低芯片成本,然而,该方法仅适用于处理器的工作频率与嵌入式存储器频率相差不超过几倍的情况。如果处理器的频率太高,处理器可能不能及时地从嵌入式存储器获取相应的指令和/操作数。结果,处理器经常处于等待状态,导致系统效率降低。
发明内容
本发明的目的在于提供根据系统时钟频率选择存储器的访问路径的处理器系统及其存储器控制方法。
根据本发明的一方面,提供一种处理器系统,包括:第一选择器,包括第一至第三端口;分别与第一选择器的第一至第三端口连接嵌入式存储器、处理器和高速缓冲存储器,所述嵌入式存储器用于存储应用程序代码,其中,所述第一选择器提供控制信号的路由功能,使得第一端口与第二端口之间的第一信号路径、或者第一端口与第三端口之间的第二信号路径连通。
优选地,所述第一选择器还包括第一选择端口,所述第一选择器根据第一选择端口提供的第一选择信号,选择第一信号路径和第二信号路径之一连通。
优选地,所述处理器提供所述第一选择信号,当处理器的频率小于第一阈值时,所述第一选择信号使得第一信号路径连通,当处理器的频率大于等于第一阈值时,所述第一选择信号使得第二信号路径连通。
优选地,在第一信号路径连通时,所述嵌入式存储器工作于低功耗模式,其中,处理器直接从嵌入式存储器读取数据,在第二信号路径连通时,所述嵌入式存储器工作于高效访问模式,其中,在高速缓冲存储器与嵌入式存储器之间进行数据缓存。
优选地,所述处理器获取的数据为指令和/或操作数。
优选地,所述处理器系统还包括:第二选择器,包括第四至第六端口;程序存储器,用于存储应用程序代码;以及接口控制器,所述接口控制器将所述程序存储器与所述第二选择器的第五端口相连接,其中,所述嵌入式存储器和所述第一选择器分别连接至所述第二选择器的第四端口和第六端口,所述第二选择器提供控制信号的路由功能,使得第四端口与第六端口之间的第三信号路径、或者第五端口与第六端口之间的第四信号路径连通。
优选地,所述程序存储器为SPI FLASH存储器,并且所述接口控制器为SPI接口控制器。
优选地,所述第二选择器还包括第二选择端口,所述第二选择器根据第二选择端口提供的第二选择信号,选择第三信号路径和第四信号路径之一连通。
优选地,所述处理器提供所述第二选择信号由,当嵌入式存储器的空间大于第二阈值时,所述第二选择信号使得第三信号路径连通;当嵌入式存储器的空间小于第二阈值时,所述第二选择信号使得第四信号路径连通。
优选地,当第三信号路径连通时,所述处理器系统处于正常工作模式,其中在处理器与嵌入式存储器之间自动进行数据缓存,当第四信号路径连通时,所述处理器系统处于程序扩展模式,其中在处理器与程序存储器之间自动进行数据缓存。
优选地,所述处理器系统还包括:连接在处理器与接口控制器之间的控制寄存器,所述控制寄存器提供附加的寄存器控制模式,其中,处理器对程序存储器进行读、写和擦除操作中的至少一种操作。
优选地,接口控制器可编程复用。
优选地,所述处理器系统还包括:连接在处理器和嵌入式存储器之间的嵌入式存储器控制寄存器;所述嵌入式存储器控制寄存器提供附加的寄存器控制模式,其中,处理器对嵌入式存储器进行读、写和擦除操作中的至少一种操作。
根据本发明的另一方面,提供一种用于处理器系统的存储器控制方法,包括:将处理器的频率与第一阈值进行比较;当处理器的频率小于第一阈值时,嵌入式存储器工作于低功耗模式;以及当处理器的频率大于等于第一阈值时,嵌入式存储器工作于高速访问模式,其中,在高速访问模式中,处理器经由高速缓冲存储器从嵌入式存储器获取指令和/或操作数;在低功耗模式中,处理器直接从嵌入式存储器获取指令和/或操作数。
优选地,通过第一选择器提供控制信号的路由功能,使得嵌入式存储器工作于低功耗模式和高速访问模式之一。
优选地,第一选择器包括分别与嵌入式存储器、处理器和高速缓冲存储器相连的第一至第三端口,并且第一选择器根据第一选择信号,使得在第一端口与第二端口之间的第一信号路径、第一端口与第三端口之间的第二信号路径连通。
优选地,在第一信号路径连通时,所述嵌入式存储器工作于低功耗模式,在第二信号路径连通时,所述嵌入式存储器工作于高效访问模式。
优选地,所述方法还包括:将应用程序与嵌入式存储器的容量进行比较;当应用程序小于嵌入式存储器的容量时,处理器系统工作于正常工作模式;以及当应用程序大于等于嵌入式存储器的容量时,处理器系统工作于程序扩展模式,其中,在正常工作模式中,处理器从嵌入式存储器获取指令和/或操作数;在程序扩展模式中,处理器从程序存储器获取指令和/或操作数。
优选地,通过第二选择器提供控制信号的路由功能,使得处理器系统工作于正常工作模式和程序扩展模式之一。
优选地,所述第二选择器包括分别与嵌入式存储器、第一选择器、接口控制器相连的第四至第六端口,并且第二选择器根据第二选择信号,使得第四端口与第六端口之间的第三信号路径、或者第五端口与第六端口之间的第四信号路径连通。
优选地,在第三信号路径连通时,所述处理器系统处于正常工作模式,在第四信号路径连通时,所述处理器系统处于程序扩展模式。
优选地,所述方法还包括,采用控制寄存器对程序存储器的接口控制器进行编程复用,其中,处理器对程序存储器进行读、写和擦除操作中的至少一种操作。
优选地,通过对程序存储器的写操作来升级应用程序。
优选地,所述方法还包括,采用嵌入式存储器控制寄存器对嵌入式存储器进行编程复用,其中,处理器对嵌入式存储器进行读、写和擦除操作中的至少一种操作。
优选地,通过对嵌入式存储器的写操作来升级应用程序。
根据本发明的实施例的处理器系统,在处理器与嵌入式存储器之间引入高速缓冲存储器以及选择器。所述处理器系统通过第一信号路径和第二信号路径的选择,在低功耗模式和高效访问模式之间切换。所述处理器系统例如根据系统时钟频率选择嵌入式存储器的访问路径。例如,在处理器频率较高时,处理器从高速缓冲存储器获取指令和/或操作数,在处理器频率较低时,处理器从嵌入式存储器直接获取指令和/或操作数。因而,该处理器系统可以兼顾处理器的运行效率和功耗,并且降低芯片成本。
附图说明
通过以下参照附图对本发明实施例的描述,本发明的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示出根据本发明的第一实施例的处理器系统的示意性框图;
图2示出根据本发明的第二实施例的处理器系统的示意性框图;
图3示出根据本发明的第三实施例的处理器系统的示意性框图;
图4示出根据本发明的第四实施例的访问嵌入式存储器的方法的流程图;
图5示出根据本发明的第五实施例的存储器扩展方法的流程图;
图6示出根据本发明的第六实施例的程序升级方法的流程图;
图7示出图6中升级文件写入操作的流程图;以及
图8至10示出在程序升级方法的不同步骤中的存储器操作示意性框图。
具体实施方式
以下将参照附图更详细地描述本发明的各种实施例。在各个附图中,相同的元件采用相同或类似的附图标记来表示。为了清楚起见,附图中的各个部分没有按比例绘制。
本发明可以各种形式呈现,以下将描述其中一些示例。
图1示出根据本发明的第一实施例的处理器系统的示意性框图。该处理器系统包括片上系统(SoC)100。所述片上系统100包括中央处理器(CPU)101、高速缓冲存储器(CACHE)102、第一选择器103和嵌入式存储器104(例如,可编程存储器,即OTP或MTP)。
在处理器系统中,中央处理器101用于执行指令。高速缓冲存储器102与中央处理器101连接,用于缓存中央处理器101所需的指令和/或操作数。高速缓冲存储器102经由第一选择器103连接至嵌入式存储器104。
第一选择器103,包括分别与嵌入式存储器104、中央处理器101、高速缓冲存储器102相连的第一至第三端口;例如,第一选择器103与嵌入式存储器104之间经由第一端口传送控制信号,第一选择器103与中央处理器101经由第二端口传送控制信号;第一选择器103与高速缓冲存储器102之间经由第三端口传送控制信号。
第一选择器103提供控制信号的路由功能。在该实施例中,控制信号例如是嵌入式存储器的读写信号。从图1可以看出,第一选择器103可以选择嵌入式存储器104与中央处理器101之间的第一信号路径。此外,第一选择器103还可以选择高速缓冲存储器102与中央处理器101的第二信号路径。
第一选择器103还包括第一选择端口,所述第一选择器根据第一选择端口提供的第一选择信号,使得第二端口和第三端口之一与第一端口连通,从而选择第一信号路径和第二信号路径之一。其中,第一选择信号由中央处理器101提供,当中央处理器101的频率大于等于第一阈值时,所述第一选择信号使得第一信号路径连通;当中央处理器101的频率小于第一阈值时,所述第一选择信号使得第二信号路径连通。
中央处理器101采用第一选择器103选择系统的工作模式,使系统处于以下第一和第二模式之一。第一模式即低功耗模式,中央处理器101直接从嵌入式存储器104获取指令和/或操作数。第二模式即高速访问模式,其中,中央处理器101经由高速缓冲存储器102从嵌入式存储器104获取指令和/或操作数。
采用该架构的处理器系统可以使得系统在CPU频率处于高频或低频时嵌入式存储器均能与中央处理器匹配。该方案可以提高系统的工作效率。
图2示出了根据本发明的第二实施例的处理器系统的示意性框图。与图1所述的处理器系统不同,在根据本发明的实施例的处理器系统中,处理器系统还包括SPI FLASH存储器200,片上系统还包括第二选择器105和SPI FLASH接口控制器106。
在处理器系统中,高速缓冲存储器经由第一选择器103、第二选择器105以及SPIFLASH接口控制器106连接至SPI FLASH存储器200。
第二选择器105包括分别与嵌入式存储器104、SPI FLASH接口控制器106、第一选择器103的第一端口相连的第四至第六端口。例如,第二选择器105与嵌入式存储器104之间,经由第四端口传输控制信号。第二选择器105与SPI FLASH接口控制器106之间,经由第五端口传送控制信号。第二选择器105与第一选择器103的第一端口之间,经由第六端口传送控制信号。
第二选择器105提供控制信号的路由功能。在该实施例中,控制信号例如是嵌入式存储器或SPI FLASH存储器的读写信号。从图2可以看出,第二选择器105可以选择嵌入式存储器104与中央处理器101之间的第三信号路径。此外,第二选择器105还可以选择SPIFLASH存储器200与中央处理器101的第四信号路径。
第二选择器105还包括第二选择端口,所述第二选择器根据第二选择端口提供的第二选择信号,使得第四端口与第六端口之间的第三信号路径、或者第五端口与第六端口之间的第四信号路径连通。其中,第二选择信号由中央处理器101提供,当嵌入式存储器的空间大于第二阈值时,所述第二选择信号使得第三信号路径连通;当嵌入式存储器的空间小于第二阈值时,所述第二选择信号使得第四信号路径连通。
采用该架构的处理器系统,可以使系统存储更复杂的应用程序代码。该方案可以提供系统的容量。
图3示出根据本发明的第三实施例的处理器系统的示意性框图。与图2所述的处理器不同,在本发明的第三实施例的处理器系统中,片上系统还包括SPI FLASH控制寄存器107和内存108(例如,随机存储器,即RAM)。例如,外设设备300存储升级文件。在将外设设备300连接至片上系统100之后,将升级文件从外设设备300读入至内存108。
SPI FLASH控制寄存器107连接在中央处理器101与SPI FLASH接口控制器之间。其中,SPI FLASH控制寄存器107与中央处理器101之间经由寄存器读写总线相连。SPI FLASH控制寄存器107与SPI FLASH接口控制器之间传输控制信号和数据信号。
SPI FLASH控制寄存器107提供控制信号的路由功能,在该实施例中,控制信号例如是SPI FLASH存储器200的读写信号,数据信号例如是中央处理器101执行程序操作所需的指令和/或操作数。从图3可以看出,SPI FLASH控制寄存器107可以选择SPI FLASH接口控制器106与高速缓冲存储器102之间的第五信号路径。此外,SPI FLASH控制寄存器107还可以选择中央处理器101与SPI FLASH接口控制器106之间的第六信号路径连通。中央处理器101采用SPI FLASH控制寄存器107执行SPI FLASH接口控制器106的模式切换操作,使得SPIFLASH接口控制器106可以处于以下第五和第六种模式之一。第五模式即锁定模式,其中,在高速缓冲存储器102与SPI FLASH存储器200之间,自动进行数据缓存。第六模式即寄存器控制模式,其中中央处理器101可以对SPI FLASH存储器200进行读、写和擦除操作。例如,在第六模式中,中央处理器101读取内存108,获得升级文件并将其写入SPI FLASH存储器200,从而实现SPI FLASH存储器200的升级。
中央处理器101不仅可以经由高速缓冲存储器102和SPI FLASH接口控制器106访问SPI FLASH存储器200,还可以经由SPI FLASH控制寄存器107以及SPI FLASH接口控制器106访问SPI FLASH存储器200。
采用该架构的处理器系统可以使得系统的SPI FLASH存储器接口除了指令之外,还能够支持到SPI FLASH存储器升级。该方案可以兼容原有的处理器系统,并且低成本地提供新增功能。
在优选的实施例中,SPI FLASH存储器200的接口为可编程复用的接口。因此,SPIFLASH存储器200可复用为数据存储器。SPI FLASH存储器能够复用为数据存储器,SPIFLASH存储器接口能够复用为某些标准的控制总线,使得系统的应用灵活性增加。
在优选的实施例中,上述处理器系统还包括嵌入式存储器控制寄存器109,连接在中央处理器101和嵌入式存储器104之间;所述嵌入式存储器控制寄存器109提供附加的寄存器控制模式,其中,中央处理器101对嵌入式存储器104进行读、写和擦除操作中的至少一种操作。
图4是根据本发明的第四实施例的访问嵌入式存储器的方法的流程图。所述嵌入式存储器的高效访问方法包括以下步骤。
在步骤S100中,将中央处理器101的频率与第一阈值进行比较。
由于中央处理器的工作频率与嵌入式存储器的工作频率达不到匹配时,会影响中央处理器的工作。因此,需要根据中央处理器的工作频率选择相应的工作模式。
在步骤S200中,当中央处理器101的频率小于第一阈值时,嵌入式存储器104工作于第一模式。第一模式即低功耗模式,中央处理器101直接从嵌入式存储器104获取指令和/或操作数。
在步骤S300中,当中央处理器101的频率大于等于第一阈值时,嵌入式存储器工作于高速访问模式。第二模式即高速访问模式,中央处理器101经由高速缓冲存储器102从嵌入式存储器104获取指令和/或操作数。
如上所述,在中央处理器的工作频率较高时,在高效访问模式下,由于高速缓冲存储器会预先存储近期要使用的指令,会提高中央处理器获取指令的速度,否则会由于嵌入式存储器的速度会跟不上中央处理器的速度,造成中央处理器经常处于等待状态。
图5是根据本发明的第五实施例的存储器扩展方法的流程图。所述嵌入式存储器的扩展方法包括以下步骤。
在步骤S400中,将应用程序与嵌入式存储器的容量进行比较。
由于嵌入式存储器的容量一般比较小,如果应用程序过大的话,嵌入式存储器的容量不够存储时则需要对嵌入式存储器进行扩展以便存储应用程序。
在步骤S500中,当应用程序的数据小于嵌入式存储器的容量时,处理器系统工作于正常工作模式,第三模式为处理器的正常工作模式,处理器从嵌入式存储器获取指令和/或操作数。
在步骤S600中,当应用程序的数据大于嵌入式存储器的容量时,处理器从第三模式切换至第四模式,第四模式为处理器的程序扩展模式,处理器从外部SPI FLASH存储器获取指令和/或操作数。
如上所述,当应用程序过大时,嵌入式存储器不足以存储时,需要在片上系统外增加SPI FLASH存储器,中央处理器通过高速缓冲存储器从外部的SPI FLASH存储器获取指令和/或操作数。系统利用外部的SPI FLASH存储器来扩展程序。
图6是根据本发明的第六实施例的程序升级方法的流程图,图8至10示出在程序升级方法的不同步骤中的存储器操作示意性框图。所述SPI FLASH存储器升级方法包括以下多个步骤。
SPI FLASH存储器200的存储区可以分为不同的区域,即程序区和保留区。程序区是中央处理器101的寻址空间,根据功能可示意性的分为A、B、C三块,如图8所示。在SPIFLASH存储器200的区域A、B、C中分别存储第一复制程序、升级驱动程序和第二复制程序。
在步骤S700中,在SPI FLASH接口控制器的第五模式,将升级驱动程序复制到高速缓冲存储器中。第五模式即SPI FLASH接口控制器的锁定模式,其中在高速缓冲存储器102与SPI FLASH存储器200之间,自动进行数据缓存。
升级驱动程序用于执行升级时针对SPI FLASH接口控制器103的各种操作,例如包括接口状态切换程序和读写擦除等控制程序。在优选的实施例中,在复制升级驱动程序之后进行地址锁定,使得升级驱动程序处于高速缓冲存储器锁定的地址空间中。
图8示出步骤S700的存储器操作示意性框图,其中,用于执行升级驱动程序复制操作的第一复制程序表示为A程序,而升级驱动程序自身表示为B程序。
在步骤S800中,中央处理器301执行接口状态切换程序,将SPI FLASH接口控制器从第五模式切换至第六模式。第六模式即SPI FLASH接口控制器的寄存器控制模式。
如上所述,只有当SPI FLASH存储器200的SPI FLASH接口控制器103被切换为寄存器控制模式,才能对接口进行读写和擦除等操作,否则会与中央处理器101接口冲突。
在步骤S900中,在SPI FLASH接口控制器的第六模式,将升级文件写入SPI FLASH存储器200。如果数据存储器不能一次性读取升级文件的情况时,则分块读取升级文件。该升级文件写入步骤将结合图7进一步详细说明。
在优选的实施例中,在步骤S900之后,系统重新上电,或者在高速缓冲存储器中运行复位程序,使得系统将执行新升级的程序。
图7示出图6中升级文件写入步骤的流程图。为了执行图6中的步骤S900,可以执行以下多个步骤。
在步骤S901中,中央处理器301执行高速缓冲存储器102中的升级驱动程序,对SPIFLASH存储器200进行擦除操作,从而擦除SPI FLASH存储器200的保留区,准备下一步升级文件数据的写入。
在步骤S902中,判断升级文件是否大于内存空间。
如果升级文件小于内存空间,则执行步骤S903至S905。
在步骤S903中,中央处理器301执行SPI FLASH存储器200中的第二复制程序,将外设设备内的升级文件全部读入到内存。
在步骤S904中,中央处理器301执行高速缓冲存储器102中的升级驱动程序,对SPIFLASH存储器200进行擦除操作,从而擦除SPI FLASH存储器的程序区。
在步骤S905中,中央处理器301执行高速缓冲存储器102中的升级驱动程序,对SPIFLASH存储器200进行写入操作,从而将内存数据写入到SPI FLASH存储器的程序区。
如果升级文件大于内存空间,则执行步骤S906至S311。
在步骤S906中,中央处理器301执行SPI FLASH存储器200中的第二复制程序,将外设设备内的升级文件的一部分读入到内存。
在步骤S907中,中央处理器301执行高速缓冲存储器102中的升级驱动程序,对SPIFLASH存储器200进行写入操作,从而将内存数据写入到SPI FLASH存储器的保留区。
在步骤S908中,判断是否已经复制全部升级文件。如果未复制全部升级文件,则重复步骤S906至S908。通过多次循环,直至将全部升级文件复制到SPI FLASH存储器的保留区,进一步执行步骤S909至311。
图9示出步骤S906至S908的存储器操作示意性框图,其中,用于执行升级文件复制操作的第二复制程序表示为C程序,而升级驱动程序自身表示为B程序。
在步骤S909中,中央处理器301执行高速缓冲存储器102中的升级驱动程序,对SPIFLASH存储器200进行擦除操作,从而擦除SPI FLASH存储器200的程序区。该步骤擦除了SPIFLASH存储器200的区域A、B、C,这样系统代码生命就此终止。
在步骤S910中,中央处理器301执行高速缓冲存储器102中的升级驱动程序,对SPIFLASH存储器200进行读取和写入操作,将SPI FLASH存储器200的保留区内容复制至程序区。
图10示出步骤S909至S910的存储器操作示意性框图,其中,升级驱动程序自身表示为B程序。
由于可以在系统的运行状态切换SPI FLASH接口控制器的工作模式,上述处理器系统的应用灵活性增加,不仅限于提供可升级的系统,而且可以提供存储器扩展功能。例如,将存储存储器复用为数据存储器,从而扩展系统的数据区。
在本发明实施例中,嵌入式存储器的升级方法与程序存储器的升级方法一样,嵌入式存储器切换至控制寄存器模式,处理器对嵌入式存储器进行读、写或删除操作中的至少一种,进而实现对嵌入式存储器的程序升级。
依照本发明的实施例如上文所述,这些实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施例。显然,根据以上描述,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地利用本发明以及在本发明基础上的修改使用。本发明的保护范围应当以本发明权利要求所界定的范围为准。

Claims (25)

1.一种处理器系统,包括:
第一选择器,包括第一至第三端口;
分别与第一选择器的第一至第三端口连接嵌入式存储器、处理器和高速缓冲存储器,所述嵌入式存储器用于存储应用程序代码,
第二选择器,包括第四至第六端口;
程序存储器,用于存储应用程序代码;以及
接口控制器,所述接口控制器将所述程序存储器与所述第二选择器的第五端口相连接,
其中,所述第一选择器根据处理器的频率提供控制信号的路由功能,使得第一端口与第二端口之间的第一信号路径、或者第一端口与第三端口之间的第二信号路径连通;
在第一信号路径连通时,所述嵌入式存储器工作于低功耗模式,其中,处理器直接从嵌入式存储器读取数据,
在第二信号路径连通时,所述嵌入式存储器工作于高效访问模式,其中,在高速缓冲存储器与嵌入式存储器之间进行数据缓存;
所述嵌入式存储器和所述第一选择器分别连接至所述第二选择器的第四端口和第六端口,
所述第二选择器提供控制信号的路由功能,使得第四端口与第六端口之间的第三信号路径、或者第五端口与第六端口之间的第四信号路径连通。
2.根据权利要求1所述的处理器系统,其中,所述第一选择器还包括第一选择端口,所述第一选择器根据第一选择端口提供的第一选择信号,选择第一信号路径和第二信号路径之一连通。
3.根据权利要求2所述的处理器系统,其中,所述处理器提供所述第一选择信号,当处理器的频率小于第一阈值时,所述第一选择信号使得第一信号路径连通,当处理器的频率大于等于第一阈值时,所述第一选择信号使得第二信号路径连通。
4.根据权利要求1所述的处理器系统,其中,所述处理器获取的数据为指令和/或操作数。
5.根据权利要求1所述的处理器系统,其中所述程序存储器为SPI FLASH存储器,并且所述接口控制器为SPI接口控制器。
6.根据权利要求1所述的处理器系统,其中,所述第二选择器还包括第二选择端口,所述第二选择器根据第二选择端口提供的第二选择信号,选择第三信号路径和第四信号路径之一连通。
7.根据权利要求6所述的处理器系统,其中,所述处理器提供所述第二选择信号,当嵌入式存储器的空间大于第二阈值时,所述第二选择信号使得第三信号路径连通;当嵌入式存储器的空间小于第二阈值时,所述第二选择信号使得第四信号路径连通。
8.根据权利要求1所述的处理器系统,其中,当第三信号路径连通时,所述处理器系统处于正常工作模式,其中在处理器与嵌入式存储器之间自动进行数据缓存,当第四信号路径连通时,所述处理器系统处于程序扩展模式,其中在处理器与程序存储器之间自动进行数据缓存。
9.根据权利要求1所述的处理器系统,还包括:
连接在处理器与接口控制器之间的第一控制寄存器,
所述第一控制寄存器提供附加的第一寄存器控制模式,其中,处理器对程序存储器进行读、写和擦除操作中的至少一种操作。
10.根据权利要求9所述的处理器系统,其中,接口控制器可编程复用。
11.根据权利要求9所述的处理器系统,还包括:
连接在处理器和嵌入式存储器之间的第二控制寄存器;
所述第二控制寄存器提供附加的第二寄存器控制模式,其中,处理器对嵌入式存储器进行读、写和擦除操作中的至少一种操作。
12.根据权利要求11所述的处理器系统,还包括内存,所述内存连接在处理器和外设设备之间,用于存储从外设设备读取的数据,其中,在第一寄存器控制模式中,处理器读取内存的数据,并且经由第一控制寄存器和接口控制器写入程序存储器;在第二寄存器控制模式中,处理器读取内存的数据,并且经由第二控制寄存器写入嵌入式存储器。
13.根据权利要求12所述的处理器系统,其中内存的数据是升级文件的至少一部分。
14.根据权利要求12所述的处理器系统,其中高速缓冲存储器具有地址锁定功能,在预先将驱动程序复制到高速缓冲存储器中并锁定之后,才执行高速缓冲存储器中的驱动程序,切换接口控制器的工作模式。
15.一种用于处理器系统的存储器控制方法,包括:
将处理器的频率与第一阈值进行比较;
当处理器的频率小于第一阈值时,嵌入式存储器工作于低功耗模式;以及
当处理器的频率大于等于第一阈值时,嵌入式存储器工作于高速访问模式,其中,在高速访问模式中,处理器经由高速缓冲存储器从嵌入式存储器获取指令和/或操作数;
在低功耗模式中,处理器直接从嵌入式存储器获取指令和/或操作数;
将应用程序与嵌入式存储器的容量进行比较;
当应用程序小于嵌入式存储器的容量时,处理器系统工作于正常工作模式;以及
当应用程序大于等于嵌入式存储器的容量时,处理器系统工作于程序扩展模式,
其中,在正常工作模式中,处理器从嵌入式存储器获取指令和/或操作数;
在程序扩展模式中,处理器从程序存储器获取指令和/或操作数。
16.根据权利要求15所述的方法,其中,通过第一选择器提供控制信号的路由功能,使得嵌入式存储器工作于低功耗模式和高速访问模式之一。
17.根据权利要求16所述的方法,其中,第一选择器包括分别与嵌入式存储器、处理器和高速缓冲存储器相连的第一至第三端口,并且第一选择器根据第一选择信号,使得在第一端口与第二端口之间的第一信号路径、第一端口与第三端口之间的第二信号路径连通。
18.根据权利要求17所述的方法,其中,
在第一信号路径连通时,所述嵌入式存储器工作于低功耗模式,
在第二信号路径连通时,所述嵌入式存储器工作于高效访问模式。
19.根据权利要求15所述的方法,其中,通过第二选择器提供控制信号的路由功能,使得处理器系统工作于正常工作模式和程序扩展模式之一。
20.根据权利要求19所述的方法,其中,所述第二选择器包括分别与嵌入式存储器、第一选择器、接口控制器相连的第四至第六端口,并且第二选择器根据第二选择信号,使得第四端口与第六端口之间的第三信号路径、或者第五端口与第六端口之间的第四信号路径连通。
21.根据权利要求20所述的方法,其中,
在第三信号路径连通时,所述处理器系统处于正常工作模式,
在第四信号路径连通时,所述处理器系统处于程序扩展模式。
22.根据权利要求15所述的方法,还包括,
采用第一控制寄存器对程序存储器的接口控制器进行编程复用,其中,处理器对程序存储器进行读、写和擦除操作中的至少一种操作。
23.根据权利要求22所述的方法,其中通过对程序存储器的写操作来升级应用程序。
24.根据权利要求15所述的方法,还包括,
采用第二控制寄存器对嵌入式存储器进行编程复用,其中,处理器对嵌入式存储器进行读、写和擦除操作中的至少一种操作。
25.根据权利要求24所述的方法,其中,通过对嵌入式存储器的写操作来升级应用程序。
CN201510958859.8A 2015-12-18 2015-12-18 处理器系统及其存储器控制方法 Active CN105404591B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811479297.9A CN109656838A (zh) 2015-12-18 2015-12-18 处理器系统及其存储器控制方法
CN201510958859.8A CN105404591B (zh) 2015-12-18 2015-12-18 处理器系统及其存储器控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510958859.8A CN105404591B (zh) 2015-12-18 2015-12-18 处理器系统及其存储器控制方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201811479297.9A Division CN109656838A (zh) 2015-12-18 2015-12-18 处理器系统及其存储器控制方法

Publications (2)

Publication Number Publication Date
CN105404591A CN105404591A (zh) 2016-03-16
CN105404591B true CN105404591B (zh) 2019-02-26

Family

ID=55470088

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201510958859.8A Active CN105404591B (zh) 2015-12-18 2015-12-18 处理器系统及其存储器控制方法
CN201811479297.9A Pending CN109656838A (zh) 2015-12-18 2015-12-18 处理器系统及其存储器控制方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201811479297.9A Pending CN109656838A (zh) 2015-12-18 2015-12-18 处理器系统及其存储器控制方法

Country Status (1)

Country Link
CN (2) CN105404591B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105404591B (zh) * 2015-12-18 2019-02-26 杭州士兰微电子股份有限公司 处理器系统及其存储器控制方法
CN109933293B (zh) * 2019-03-25 2022-06-07 深圳忆联信息系统有限公司 基于SpiFlash的数据写入方法、装置和计算机设备
CN112051772A (zh) * 2020-09-04 2020-12-08 上海博泰悦臻网络技术服务有限公司 一种具有报警提示的车机系统及车辆

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101236526A (zh) * 2007-01-30 2008-08-06 扬智科技股份有限公司 连接于非易失性存储装置的高速缓存系统的计算机系统
CN101349996A (zh) * 2007-07-20 2009-01-21 英特尔公司 在低功耗模式下保留被缓存的信息的技术
CN101673254A (zh) * 2008-08-15 2010-03-17 北京北大众志微系统科技有限责任公司 嵌入式x86处理器应用于通用片上总线的方法、系统芯片

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100595738C (zh) * 2008-09-28 2010-03-24 东南大学 一种面向嵌入式应用的软件可控Cache的实现方法
US8412971B2 (en) * 2010-05-11 2013-04-02 Advanced Micro Devices, Inc. Method and apparatus for cache control
CN103218205B (zh) * 2013-03-26 2015-09-09 中国科学院声学研究所 一种循环缓冲装置以及循环缓冲方法
CN105404591B (zh) * 2015-12-18 2019-02-26 杭州士兰微电子股份有限公司 处理器系统及其存储器控制方法
CN205281482U (zh) * 2015-12-18 2016-06-01 杭州士兰微电子股份有限公司 处理器系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101236526A (zh) * 2007-01-30 2008-08-06 扬智科技股份有限公司 连接于非易失性存储装置的高速缓存系统的计算机系统
CN101349996A (zh) * 2007-07-20 2009-01-21 英特尔公司 在低功耗模式下保留被缓存的信息的技术
CN101673254A (zh) * 2008-08-15 2010-03-17 北京北大众志微系统科技有限责任公司 嵌入式x86处理器应用于通用片上总线的方法、系统芯片

Also Published As

Publication number Publication date
CN105404591A (zh) 2016-03-16
CN109656838A (zh) 2019-04-19

Similar Documents

Publication Publication Date Title
CN103034617B (zh) 用于实现可重构系统配置信息存储的缓存结构和管理方法
CN102508784B (zh) 视频监控设备中闪存卡的数据存储方法及其系统
CN109085997A (zh) 用于非易失性存储器的存储器高效持续键值储存
CN109669888A (zh) 一种可配置且高效的嵌入式Nor-Flash控制器及控制方法
CN101308698A (zh) 存储装置
CN102279818B (zh) 支持有限共享的向量数据访存控制方法及向量存储器
CN101154190A (zh) 映射信息管理设备和方法
CN101593161A (zh) 确保微处理器的快取存储器层级数据一致性的装置与方法
CN108496161A (zh) 数据缓存装置及控制方法、数据处理芯片、数据处理系统
CN105404591B (zh) 处理器系统及其存储器控制方法
CN101770437A (zh) 实现同步双端口存储器ip的并行读写的结构及方法
CN107391400A (zh) 一种支持复杂访存指令的内存扩展方法和系统
CN103413569B (zh) 一读且一写静态随机存储器
CN105389134B (zh) 一种闪存接口控制方法及装置
CN113626353A (zh) 处理加速器架构
CN100508604C (zh) 算术编码电路和算术编码控制方法
CN103064749B (zh) 一种进程间通信方法
CN103488585B (zh) 用于实现可重构系统中配置信息缓存更新的控制器
CN108647278B (zh) 一种文件管理方法及系统
CN106598548A (zh) 存储单元读写冲突的解决方法及装置
CN117608856A (zh) NVMe加速卡内存扩展方法、系统、终端及存储介质
CN103514140A (zh) 用于实现可重构系统中配置信息多发射的重构控制器
CN109710547B (zh) 一种工业物联网中的缓冲内存管理设计与实现方法
CN105487875B (zh) 程序存储器的控制方法、控制装置及其处理器系统
CN100449498C (zh) 数据储存装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant