程序存储器的控制方法、控制装置及其处理器系统的制作方法
【技术领域】
[0001]本发明属于计算机技术,更具体地,涉及程序存储器的控制方法、控制装置及其处理器系统。
【背景技术】
[0002]在处理器系统中,程序存储器用于保存应用程序代码(指令),同时还可以用于保存程序执行时用到的数据(例如操作数、查找表信息)。对于那些只有一个程序存储器的处理器系统,CPU往往会有指令缓存。当所需指令不在缓存中时就要读取程序存储器上的指令。所以,当处理器系统程序运行起来时,CPU和程序存储器的接口不断地进行通信。此时程序存储器接口的控制权是交给CHJ的,因此无法对程序存储器进行可编程的读写操作。
[0003]图1示出根据现有技术的处理器系统的示意性框图。处理器系统包括片上系统(SoC) 100和程序存储器200。片上系统100包括中央处理器(CPU) 101、高速缓冲存储器(CACHE) 102和接口控制器103。尽管未在图中示出,片上系统100还可以包括内存(RAM)。接口控制器103负责控制程序存储器200,将程序存储器200的一部分数据自动调入高速缓冲存储器102中。CPU的指令和操作数或者通过高速缓冲存储器102来获得,或者经由接口控制器103从程序存储器200来获得。
[0004]在工作状态下,中央处理器101根据当前指令和操作数内容,从程序存储器200的下一个目标地址获取新的指令和操作数,反复执行上述操作。因此,在工作状态下CPU独占程序存储器200的接口。
[0005]由于该处理器架构的限制,使得在实现某些应用时显不方便。例如,在程序升级时,就要使用外部调试设备先让系统进入调试模式,再进行程序升级,或者需要将程序存储器件从电路板上焊下,烧录好新程序后,再将程序存储器件焊上机器。
[0006]然而,期望能够在工作状态下,通过外设设备(比如内置升级文件的U盘)与系统通信来完成程序的升级。
【发明内容】
[0007]本发明的目的在于提供一种可以在工作状态下对程序存储器进行外部操作的程序存储器的控制方法、控制装置及其处理器系统。
[0008]根据本发明的一方面,提供一种程序存储器控制装置,包括:第一端口,用于与处理器相连;第二端口,用于与高速缓冲存储器相连;以及第三端口,用于与接口控制器相连,其中,所述程序存储器控制装置提供控制信号的路由功能,使得第二端口与第三端口之间的第一控制信号路径、或者第一端口与第三端口之间的第二控制信号路径连通。
[0009]优选地,所述第三端口包括第三控制端口和第三数据端口,所述程序存储器控制装置还包括:控制寄存器,分别经由第一端口与处理器相连,以及经由第三数据端口与接口控制器相连;以及选择器,分别经由第二端口与高速缓冲存储器相连,经由内部的第四端口与控制寄存器相连,以及经由第三控制端口与接口控制器相连,其中,所述选择器还包括选择端口,所述控制寄存器向所述选择器的选择端口提供选择信号,使得第二端口和第四端口之一与第三控制端口连通,从而选择第一控制信号路径和第二控制信号路径之一。
[0010]根据本发明的另一方面,提供一种处理器系统,包括:程序存储器,用于存储程序数据;接口控制器,与程序存储器连接,并且管理针对程序存储器的访问;高速缓冲存储器,与接口控制器连接,用于经由接口控制器从程序存储器获取程序数据,以提供处理器所需的指令和操作数;处理器,与高速缓冲存储器连接,用于从高速缓冲存储器获取指令和操作数;以及程序存储器控制装置,包括第一端口,用于与处理器相连;第二端口,用于与高速缓冲存储器相连;以及第三端口,用于与接口控制器相连,其中,所述程序存储器控制装置提供控制信号的路由功能,使得第二端口与第三端口之间的第一控制信号路径、或者第一端口与第三端口之间的第二控制信号路径连通,在第一控制信号路径连通时,所述接口控制器工作于CPU控制模式,其中,在高速缓冲存储器与程序存储器之间自动进行数据缓存,在第二控制信号路径连通时,所述接口控制器工作于寄存器控制模式,其中处理器对程序存储器进行读、写和擦除操作中的至少一种操作。
[0011 ]优选地,所述第三端口包括第三控制端口和第三数据端口,所述程序存储器控制装置还包括:控制寄存器,分别经由第一端口与处理器相连,以及经由第三数据端口与接口控制器相连;以及选择器,分别经由第二端口与高速缓冲存储器相连,经由内部的第四端口与控制寄存器相连,以及经由第三控制端口与接口控制器相连,其中,所述选择器还包括选择端口,所述控制寄存器向所述选择器的选择端口提供选择信号,使得第二端口和第四端口之一与第三控制端口连通,从而选择第一控制信号路径和第二控制信号路径之一。优选地,处理器为片上系统中的内部处理器。
[0012]优选地,在CPU控制模式中,处理器经由高速缓冲存储器和接口控制器,从程序存储器中获取指令和/或操作数。
[0013]优选地,所述处理器系统还包括内存,所述内存连接在处理器和外设设备之间,用于存储从外设设备读取的数据,其中,在寄存器控制模式中,处理器读取内存的数据,并且经由程序存储器控制装置和接口控制器写入程序存储器。
[0014]优选地,内存的数据是升级文件的至少一部分。
[0015]优选地,高速缓冲存储器具有地址锁定功能,在预先将驱动程序复制到高速缓冲存储器中并锁定之后,才执行高速缓冲存储器中的驱动程序,切换接口控制器的工作模式。
[0016]优选地,程序存储器的接口为可编程复用的接口。
[0017]优选地,所述程序存储器为SPI FLASH,并且,所述处理器系统还包括SPI接口设备,所述SPI FLASH和所述SPI设备经由公共的SPI总线连接至接口控制器。
[0018]优选地,通过片选信号的分时控制,实现SPIFLASH和SPI接口设备的复用控制。
[0019]根据本发明的又一方面,提供一种程序存储器的控制方法,包括:在接口控制器的第一模式,将驱动程序复制到高速缓冲存储器中;将接口控制器从第一模式切换至第二模式;以及在接口控制器的第二模式,将数据从内存写入程序存储器,其中,第一模式为接口控制器的CPU控制模式,其中在高速缓冲存储器与程序存储器之间自动进行数据缓存,第二模式为接口控制器的寄存器控制模式,其中处理器对程序存储器进行读、写和擦除操作中的至少一种操作。
[0020]优选地,所述程序存储器包括程序区和保留区,其中,程序区存储第一复制程序、升级驱动程序以及第二复制程序。
[0021]优选地,将驱动程序复制到高速缓冲存储器中的步骤包括:执行第一复制程序将驱动程序复制到高速缓冲存储器中,其中,在预先将驱动程序复制到高速缓冲存储器中并锁定之后,才执行高速缓冲存储器中的驱动程序,切换接口控制器的工作模式,所述高速缓冲存储器具有地址锁定功能。
[0022]优选地,将数据从内存写入程序存储器的步骤之前还包括:执行第二复制程序将外设设备内的文件读入内存。
[0023]优选地,通过程序存储器控制装置提供控制信号的路由功能,使得接口控制器工作于第一模式和第二模式之一。
[0024]优选地,程序存储器控制装置包括分别与处理器、高速缓冲存储器、接口控制器相连的第一至第三端口,并且程序存储器控制装置根据选择信号,使得第二端口与第三端口之间的第一控制信号路径、或者第一端口与第三端口之间的第二控制信号路径连通。
[0025]优选地,将数据从内存写入程序存储器包括:擦除程序存储器的保留区;判断外部数据是否大于内存空间;以及根据判断结果,将外部数据一次性写入程序存储器,或者分块写入程序存储器,其中,如果外部数据小于或等于内存空间,则将外部数据一次性写入程序存储器中,如果外部数据大于内存空间,则将外部数据分块写入程序存储器中。
[0026]优选地,在将外部数据一次性写入程序存储器之前,还包括:将外部数据全部读入内存中;以及擦除程序存储器的程序区。
[0027]优选地,将外部数据分块写入程序存储器包括:将外部数据分块复制到程序存储器的保留区;擦除程序存储器的程序区;以及将程序
存储器的保留区内容复制至程序区。
[0028]优选地,将外部数据分块复制到程序存储器的保留区包括:将外部数据的一部分读入到内存;将内存中的数据复制到程序存储器的保留区;以及重复读入步骤和复制步骤,直至外部数据全部复制到程序存储器的保留区。
[0029]优选地,在将数据从内存写入程序存储器之后,还包括:系统重新上电,或者在高速缓冲存储器中运行复位程序,使得系统将执行新升级的程序。
[0030]优选地,所述内存中的数据为升级文件的至少一部分,并且,所述驱动程序为升级驱动程序。
[0031]根据上述实施例的处理器系统,其中采用存储器控制装置配置接口控制器的工作模式,在CPU控制模式中,高速缓冲存储器与程序存储器之间自动进行数据缓存,在寄存器控制模式中,中央处理器可以对程序存储器进行读、写和擦除操作。
[0032]由于处理器系统的程序存储器接口能够实现可编程控制,从而处理器系统的应用灵活性增加,不仅限于提供可升级的系统,而且可以提供存储器扩展功能。
[0033]根据上述实施例的处理器系统,增加硬件通路,使得程序存储器的控制通路增加了,实现了程序运行过程中自由切换通道,使得能够实现程序升级的功能。
[0034]在优选的实施例中,接口控制器先工作于CPU控制模式,通过执行第一复制程序,使得驱动程序能够搬运到高速缓存中。然后锁定驱动程序,运行驱动程序,使得接口控制器工作于寄存器控制模式,将待升级的数据写入到保留区。
[0035]该优选的实施例具有以下优点:
[0036]在寄存器控制模式中,执行驱动程序,将高速缓存的一部分区域作为升级程序的载体来使用,即将升级程序放在高速缓存锁定区域,共享了程序存储器资源,节约了硬件资源。
[0037]该处理器系统是一种可编程的自升级系统。在程序存储器的程序区存储第一复制程序、升级驱动程序以及第二复制程序,利用自身程序即可实现升级。与之相反,在现有技术的升级方案中,外设设备的升级文件需要提供第一复制程序和升级驱动程序,否则升级就无法实现。本发明的不用另外开辟新升级存储区,节省内存空间。由于处理器系统自身包括升级程序,因此可以改善升级程序的兼容性。
【附图说明】
[0038]通过以下参照附图对本发明实施例的描述,本发明的上述以及其他目的、特征和优点将更为清楚,在附图中:
[0039]图1示出根据现有技术的处理器系统的示意性框图;
[0040]图2示出根据本发明的第一实施例的处理器系统的示意性框图;
[0041 ]图3示出图2中程序存储器控制装置的示意性框图;
[0042]图4示出根据本发明的第二实施例的处理器系统的示意性框图;
[0043]图5示出根据本发明的第三实施例的处理器系统程序升级的流程图;
[0044]图6示出图5中升级文件写入操作的流程图;
[0045]图7至9示出不同步骤的存储器操作示意性框图;以及
[0046]图10示出程序存储器和数据存储器复用的存储器操作的示意性框图。
【具体实施方式】
[0047]以下将参照附图更详细地描述本发明的各种实施例。在各个附图中,相同的元件采用相同或类似的附图标记来表示。为了清楚起见,附图中的各个部分没有按比例绘制。
[0048]本发明可以各种形式呈现,以下将描述其中一些示例。
[0049]图2示出根据本发明的第一实施例的处理器系统的示意性框图。该处理器系统包括片上系统(SoC) 100和程序存储器200。所述片上系统100包括中央处理器(CPU) 101、高速缓冲存储器(CACHE)102、接口控制器103和内存105(例如,只读存储器,即RAM)。
[0050]在处理器系统中,中央处理器101用于执行指令。高速缓冲存储器102与中央处理器101连接,用于缓存中央处理器101所需的指令和/或操作数。高速缓冲存储器102经由接口控制器103连接至程序存储器200。例如,外设设备300存储升级文件。在将外设设备300连接至片上系统100之后,将升级文件从外设设备300读入至内存105。
[0051 ]在系统的工作状态,接口控制器103将程序存储器200的一部分数据调入高速缓冲存储器102中。CPU的指令和操作数或者通过高速缓冲存储器102来获得,或者经由接口控制器103从程序存储器200来获得。当高速缓冲存储器102存储有中央处理器101所需的数据且能够可靠地访问情况下,中央处理器101可直接从高速缓冲存储器102中获取相应的数据,将该情况称作高速缓冲命中(CACHE HIT)。与此相对,当高速缓冲存储器102中没有存储被访问请求的地址的数据的情况称作高速缓冲未命中(CACHE MISS)。在该情况下,需要将被请求访问的数据从程序存储器200经由接口控制器103传输到高速缓冲存储器102。
[0052]与图1所述的现有技术的处理器系统不同,在根据本发明的实施例的处理器系统中,片上系统100还包括程序存储器控制装置104。
[0053]程序存储器控制装置104包括分别与中央处理器101、高速缓冲存储器102、接口控制器103相连接的第一至第三端口。例如,程序存储器控制装置104与中央处理器101之间,经由第一端口采用寄存器读写总线相连接。程序存储器控制装置104与高速缓冲存储器102之间,经由第二端口传送控制信号。程序存储器控制装置104的第三端口分为第三控制端口和第三数据端口。程序存储器控制装置104与接口控制器103之间,经由第三控制端口传送控制信号,以及经由第三数据端口传送数据信号。
[0054]程序存储器控制装置104提供控制信号的路由功能。在该实施例中,控制信号例如是程序存储器200的读写信号,数据信号例如是中央处理器101执行程序操作所需的指令和/或操作数。从图2可以看出,高速缓冲存储器102与接口控制器103之间的直接控制信号路径,已经修改为经由程序存储器控制装置104选择的第一控制信号路径。此外,程序存储器控制装置104还可以选择中央处理器101与接口控制器103之间的第二控制信号路径。
[0055]中央处理器101采用程序存储器控制装置104执行接口控制器103的模式切换操作,使得接口控制器103可以处于以下第一和第二种模式之一。第一模式即CPU控制模式,其中在高速缓冲存储器102与程序存储器200之间,自动进行数据缓存。第二模式即寄存器控制模式,其中中央处理器101可以对程序存储器200进行读、写和擦除操作。例如,在第二模式中,中央处理器101读取内存105,获得升级文件并将其写入程序存储器200,从而实现程序存储器200的升级。
[0056]中央处理器101不仅可以经由高速缓冲存储器102和接口控制器103访问程序存储器200,还可以经由程序存储器控制装置104以及接口控制器103访问程序存储器200。
[0057]采用该架构的处理器系统可以使得系统的程序存储器接口除了指令之外,还能够支持到程序存储器升级。该方案可以兼容原有的处理器系统,并且低成本地提供新增功能。
[0058]在优选的实施例中,程序存储器200的接口为可编程复用的接口。因此,程序存储器200可复用为数据存储器。程序存储器能够复用为数据存储器,程序存储器接口能够复用为某些标准的控制总线,使得系统的应用灵活性增加。
[0059]图3示出根据本发明的一个实施例的程序存储器控制装置的示意性框图,其中采用虚线框表示程序存储器控制装置外部的模块,以便于描述程序存储器控制装置与外部模块之间的关系。程序存储器控制装置104包括控制寄存器1041和选择器1042。
[0060]控制寄存器1041包括总线端口和数据端口,分别作为程序存储器控制装置104的第一端口和第三数据端口,与中央处理器101和接口控制器103相连接。例如,控制寄存器1041的总线端口与标准的寄存器读写总线相连接。控制寄存器1041还包括选择端口,与选择器1042的选择端口相连接,从而向后者提供选择信号。
[0061]选择器1042还包
括第一至第三控制端口。选择器1042的第一控制端口作为程序存储器控制装置104的第二端口,与高速缓冲存储器102相连接。选择器1042的第二控制端口与控制寄存器1041相连接。选择器1042的第三控制端口作为程序存储器控制装置104的第三控制端口,与接口控制器103相连接。
[0062]根据控制寄存器1041的选择端口的选择信号Spimux,选择器1042将第一和第二控制端口之一与第三控制端口相连接,选择上述的第一控制信号路径和第二控制信号路径之一,从而实现控制信号的路由功能。在选择第一信号路径时,接口控制器103为CPU控制模式。在选择第二信号路径时,接口控制器103为寄存器控制模式。
[0063]由于控制寄存器1041的数据端口与接口控制器103相连接,因此,在寄存器控制模式中,中央处理器101可以经由控制寄存器1041的数据端口传送升级文件,从而在接口控制器103的控制下,将升级文件写入程序存储器200。
[0064]图4示出根据本发明的第二实施例的处理器系统的示意性框图。根据第二实施例的片上系统包括片上系统(SoC)100、SPI FLASH 210和SPI接口设备220。在第二实施例中采用的片上系统100与在第一实施例中采用的片上系统100的结构相同,因而省略其细节。
[0065]片上系统100与SPI FLASH 210和SPI接口设备220之间的接口采用公共的SPI(Serial Peripheral Interface,即串行外设接口)总线系统。该总线系统是一种同步串行外设接口,使得处理器可以与各种外围设备以串行方式进行通信以交换信息。
[0066]在第二实施例中,程序存储器的实例是SPIFLASH 210。由于片上系统100与程序存储器之间采用SPI总线连接,因此,该处理器系统可以兼容SPI接口设备220。通过片选信号CS1和CS2的分时控制,来实现SPI FLASH 210和SPI接口设备220的复用控制。
[0067]图5是根据本发明的实施例的程序存储器升级方法的流程图,图7至9示出不同步骤的存储器操作示意性框图。所述程序存储器升级方法包括以下多个步骤。
[0068]程序存储器200的存储区可以分为不同的区域,即程序区和保留区。程序区是中央处理器101的寻址空间,根据功能可示意性的分为A、B、C三块,如图7所示。在程序存储器200的区域A、B、C中分别存储第一复制程序、升级驱动程序和第二复制程序。
[0069]在步骤S100中,在接口控制器的第一模式,将升级驱动程序复制到高速缓冲存储器中。第一模式即接口控制器的CHJ控制模式,其中在高速缓冲存储器102与程序存储器200之间,自动进行数据缓存。
[0070]升级驱动程序用于执行升级时针对接口控制器103的各种操作,例如包括接口状态切换程序和读写擦除等控制程序。在优选的实施例中,在复制升级驱动程序之后进行地址锁定,使得升级驱动程序处于高速缓冲存储器锁定的地址空间中。
[0071]图7示出步骤S100的存储器操作示意性框图,其中,用于执行升级驱动程序复制操作的第一复制程序表示为A程序,而升级驱动程序自身表示为B程序。
[0072]在步骤S200中,中央处理器101执行接口状态切换程序,将接口控制器从第一模式切换至第二模式。第二模式即接口控制器的寄存器控制模式。
[0073]如上所述,只有当程序存储器200的接口控制器103被切换为寄存器控制模式,才能对接口进行读写和擦除等操作,否则会与中央处理器101接口冲突。
[0074]在步骤S300中,在接口控制器的第二模式,将升级文件写入程序存储器200。如果数据存储器不能一次性读取升级文件的情况时,则分块读取升级文件。该升级文件写入步骤将结合图6进一步详细说明。
[0075]在优选的实施例中,在步骤S300之后,系统重新上电,或者在高速缓冲存储器中运行复位程序,使得系统将执行新升级的程序。
[0076]图6示出图5中升级文件写入步骤的流程图。为了执行图5中的步骤S300,可以执行以下多个步骤。
[0077]在步骤S301中,中央处理器101执行高速缓冲存储器102中的升级驱动程序,对程序存储器200进行擦除操作,从而擦除程序存储器200的保留区,准备下一步升级文件数据的写入。
[0078]在步骤S302中,判断升级文件是否大于内存空间。
[0079]如果升级文件小于内存空间,则执行步骤S303至S305。
[0080]在步骤S303中,中央处理器101执行程序存储器200中的第二复制程序,将外设设备内的升级文件全部读入到内存。
[0081]在步骤S304中,中央处理器101执行高速缓冲存储器102中的升级驱动程序,对程序存储器200进行擦除操作,从而擦除程序存储器的程序区。
[0082]在步骤S305中,中央处理器101执行高速缓冲存储器102中的升级驱动程序,对程序存储器200进行写入操作,从而将内存数据写入到程序存储器的程序区。
[0083]如果升级文件大于内存空间,则执行步骤S306至S311。
[0084]在步骤S306中,中央处理器101执行程序存储器200中的第二复制程序,将外设设备内的升级文件的一部分读入到内存。
[0085]在步骤S307中,中央处理器101执行高速缓冲存储器102中的升级驱动程序,对程序存储器200进行写入操作,从而将内存数据写入到程序存储器的保留区。
[0086]在步骤S308中,判断是否已经复制全部升级文件。如果未复制全部升级文件,则重复步骤S306至S308。通过多次循环,直至将全部升级文件复制到程序存储器的保留区,进一步执行步骤S309至311。
[0087]图8示出步骤S306至S308的存储器操作示意性框图,其中,C程序包括用于执行升级文件复制操作的第二复制程序,而升级驱动程序自身表示为B程序。
[0088]在步骤S309中,中央处理器101执行高速缓冲存储器102中的升级驱动程序,对程序存储器200进行擦除操作,从而擦除程序存储器200的程序区。该步骤擦除了程序存储器200的区域A、B、C,这样系统代码生命就此终止。
[0089]在步骤S310中,中央处理器101执行高速缓冲存储器102中的升级驱动程序,对程序存储器200进行读取和写入操作,将程序存储器200的保留区内容复制至程序区。
[0090]图9示出步骤S309至S310的存储器操作示意性框图,其中,升级驱动程序自身表示为B程序。
[0091]图10示出程序存储器和数据存储器复用的存储器操作的示意性框图。如图10所示,可以将保留区当作数据存储器来使用。可以扩展系统的数据区,保留区可以存放一些固定的数据,当系统需要使用时,在高速缓冲存储器锁定地址运行驱动程序,对保留区进行读写操作实现数据从内存105到程序存储器200的保留区的通信。
[0092]根据上述实施例的处理器系统,其中采用存储器控制装置配置接口控制器的工作模式,在CPU控制模式中,高速缓冲存储器与程序存储器之间自动进行数据缓存,在寄存器控制模式中,中央处理器可以对程序存储器进行读、写和擦除操作。
[0093]在优选的实施例中,高速缓冲存储器具有地址锁定功能,在预先将驱动程序复制到高速缓冲存储器中并锁定之后,才切换接口控制器的工作模式。
[0094]上述处理器系统的优点是升级方便,适用于任何方式的通信接口,有线或者无线都可以。由于升级驱动程序被搬入到高速缓冲存储器内运行,由于高速缓冲存储器是系统必不可少的模块,所以没有额外增加硬件资源,节约成本。利用程序存储器的保留区将升级文件暂时保存,使得系统只要开辟一个比较小的内存即可,对于低成本方案有参考意义。
[0095]由于可以在系统的运行状态切换接口控制器的工作模式,上述处理器系统的应用灵活性增加,不仅限于提供可升级的系统,而且可以提供存储器扩展功能。例如,将存储存储器复用为数据存储器,从而扩展系统的数据区。
[0096]依照本
发明的实施例如上文所述,这些实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施例。显然,根据以上描述,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地利用本发明以及在本发明基础上的修改使用。本发明的保护范围应当以本发明权利要求所界定的范围为准。
【主权项】
1.一种程序存储器控制装置,包括: 第一端口,用于与处理器相连; 第二端口,用于与高速缓冲存储器相连;以及 第三端口,用于与接口控制器相连, 其中,所述程序存储器控制装置提供控制信号的路由功能,使得第二端口与第三端口之间的第一控制信号路径、或者第一端口与第三端口之间的第二控制信号路径连通。2.根据权利要求1所述的程序存储器控制装置,其中所述第三端口包括第三控制端口和第三数据端口,所述程序存储器控制装置还包括: 控制寄存器,分别经由第一端口与处理器相连,以及经由第三数据端口与接口控制器相连;以及 选择器,分别经由第二端口与高速缓冲存储器相连,经由内部的第四端口与控制寄存器相连,以及经由第三控制端口与接口控制器相连, 其中,所述选择器还包括选择端口,所述控制寄存器向所述选择器的选择端口提供选择信号,使得第二端口和第四端口之一与第三控制端口连通,从而选择第一控制信号路径和第二控制信号路径之一。3.—种处理器系统,包括: 程序存储器,用于存储程序数据; 接口控制器,与程序存储器连接,并且管理针对程序存储器的访问; 高速缓冲存储器,与接口控制器连接,用于经由接口控制器从程序存储器获取程序数据,以提供处理器所需的指令和操作数;处理器,与高速缓冲存储器连接,用于从高速缓冲存储器获取指令和操作数;以及 程序存储器控制装置,包括第一端口,用于与处理器相连;第二端口,用于与高速缓冲存储器相连;以及第三端口,用于与接口控制器相连, 其中,所述程序存储器控制装置提供控制信号的路由功能,使得第二端口与第三端口之间的第一控制信号路径、或者第一端口与第三端口之间的第二控制信号路径连通, 在第一控制信号路径连通时,所述接口控制器工作于CPU控制模式,其中,在高速缓冲存储器与程序存储器之间自动进行数据缓存, 在第二控制信号路径连通时,所述接口控制器工作于寄存器控制模式,其中处理器对程序存储器进行读、写和擦除操作中的至少一种操作。4.根据权利要求3所述的处理器系统,其中所述第三端口包括第三控制端口和第三数据端口,所述程序存储器控制装置还包括: 控制寄存器,分别经由第一端口与处理器相连,以及经由第三数据端口与接口控制器相连;以及 选择器,分别经由第二端口与高速缓冲存储器相连,经由内部的第四端口与控制寄存器相连,以及经由第三控制端口与接口控制器相连, 其中,所述选择器还包括选择端口,所述控制寄存器向所述选择器的选择端口提供选择信号,使得第二端口和第四端口之一与第三控制端口连通,从而选择第一控制信号路径和第二控制信号路径之一。5.根据权利要求3所述的处理器系统,其中处理器为片上系统中的内部处理器。6.根据权利要求3所述的处理器系统,其中在CHJ控制模式中,处理器经由高速缓冲存储器和接口控制器,从程序存储器中获取指令和/或操作数。7.根据权利要求3所述的处理器系统,还包括内存,所述内存连接在处理器和外设设备之间,用于存储从外设设备读取的数据,其中,在寄存器控制模式中,处理器读取内存的数据,并且经由程序存储器控制装置和接口控制器写入程序存储器。8.根据权利要求7所述的处理器系统,其中内存的数据是升级文件的至少一部分。9.根据权利要求3所述的处理器系统,其中高速缓冲存储器具有地址锁定功能,在预先将驱动程序复制到高速缓冲存储器中并锁定之后,才执行高速缓冲存储器中的驱动程序,切换接口控制器的工作模式。10.根据权利要求3所述的处理器系统,其中程序存储器的接口为可编程复用的接口。11.根据权利要求3所述的处理器系统,所述程序存储器为SPIFLASH,并且,所述处理器系统还包括SPI接口设备,所述SPI FLASH和所述SPI设备经由公共的SPI总线连接至接口控制器。12.根据权利要求11所述的处理器系统,其中,通过片选信号的分时控制,实现SPIFLASH和SPI接口设备的复用控制。13.一种程序存储器的控制方法,包括: 在接口控制器的第一模式,将驱动程序复制到高速缓冲存储器中; 将接口控制器从第一模式切换至第二模式;以及 在接口控制器的第二模式,采用驱动程序将数据从内存写入程序存储器, 其中,第一模式为接口控制器的CPU控制模式,其中在高速缓冲存储器与程序存储器之间自动进行数据缓存, 第二模式为接口控制器的寄存器控制模式,其中处理器对程序存储器进行读、写和擦除操作中的至少一种操作。14.根据权利要求13所述的控制方法,其中,所述程序存储器包括程序区和保留区,其中,程序区存储第一复制程序、升级驱动程序以及第二复制程序。15.根据权利要求14所述的控制方法,其中,将驱动程序复制到高速缓冲存储器中的步骤包括:执行第一复制程序将驱动程序复制到高速缓冲存储器中, 其中,在预先将驱动程序复制到高速缓冲存储器中并锁定之后,才执行高速缓冲存储器中的驱动程序,切换接口控制器的工作模式,所述高速缓冲存储器具有地址锁定功能。16.根据权利要求14所述的控制方法,其中,将数据从内存写入程序存储器的步骤之前还包括:执行第二复制程序将外设设备内的文件读入内存。17.根据权利要求13所述的控制方法,其中,通过程序存储器控制装置提供控制信号的路由功能,使得接口控制器工作于第一模式和第二模式之一。18.根据权利要求17所述的控制方法,其中,程序存储器控制装置包括分别与处理器、高速缓冲存储器、接口控制器相连的第一至第三端口,并且程序存储器控制装置根据选择信号,使得第二端口与第三端口之间的第一控制信号路径、或者第一端口与第三端口之间的第二控制信号路径连通。19.根据权利要求13所述的控制方法,其中,将数据从内存写入程序存储器包括: 擦除程序存储器的保留区; 判断外部数据是否大于内存空间;以及 根据判断结果,将外部数据一次性写入程序存储器,或者分块写入程序存储器, 其中,如果外部数据小于或等于内存空间,则将外部数据一次性写入程序存储器中,如果外部数据大于内存空间,则将外部数据分块写入程序存储器中。20.根据权利要求19所述的控制方法,其中,在将外部数据一次性写入程序存储器之前,还包括: 将外部数据全部读入内存中;以及 擦除程序存储器的程序区。21.根据权利要求20所述的控制方法,其中,将外部数据分块写入程序存储器包括: 将外部数据分块复制到程序存储器的保留区; 擦除程序存储器的程序区;以及 将程序存储器的保留区内容复制至程序区。22.根据权利要求21所述的控制方法,其中,将外部数据分块复制到程序存储器的保留区包括: 将外部数据的一部分读入到内存; 将内存中的数据复制到程序存储器的保留区;以及 重复读入步骤和复制步骤,直至外部数据全部复制到程序存储器的保留区。23.根据权利要求13所述的控制方法,在将数据从内存写入程序存储器之后,还包括: 系统重新上电,或者在高速缓冲存储器中运行复位程序,使得系统将执行新升级的程序。24.根据权利要求13所述的控制方法,其中所述内存中的数据为升级文件的至少一部分,并且,所述驱动程序为升级驱动程序。
【专利摘要】公开了程序存储器的控制方法、控制装置及其处理器系统。所述程序存储器控制装置,包括:第一端口,用于与处理器相连;第二端口,用于与高速缓冲存储器相连;以及第三端口,用于与接口控制器相连,其中,所述程序存储器控制装置提供控制信号的路由功能,使得第二端口与第三端口之间的第一控制信号路径、或者第一端口与第三端口之间的第二控制信号路径连通。该控制方法使得处理器系统的程序存储器接口能够实现可编程控制,从而实现程序存储器的在线升级和数据存储器的扩展。
【IPC分类】G06F9/44
【公开号】CN105487875
【申请号】CN201510967558
【发明人】张和平, 周如愿, 徐国柱
【申请人】杭州士兰微电子股份有限公司
【公开日】2016年4月13日
【申请日】2015年12月18日