数据存取***、方法
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据存取***、方法。
背景技术
为了解决CPU(Central Processing Unit,中央处理器)、MCU(Micro ControllerUnit,微控制单元)等***的运算速度与内部存储器的读写速度不匹配的矛盾,比较常见的做法是在CPU、MCU等***与内部存储器之间增设cache(高速缓冲存储器),内部存储器中的数据临时存储到cache中,CPU、MCU等***无需访问内部存储器,而直接访问cache以加快CPU、MCU等***读取数据的速度。
然而,尽管利用cache能够加快CPU、MCU等***读取程序或数据的速度,但是cache的容量比内部存储器小的多,针对用户需要CPU、MCU等***的运算性能要求高的应用场景,增设cache的方式能够满足用户的需求;针对用户需要CPU、MCU等***能够应对海量的运算量的应用场景,小容量的cache无法满足用户的需求。因此,一种数据存取***成为亟待解决的技术问题。
发明内容
本发明的目的旨在至少在一定程度上解决上述的技术问题之一。
为此,本发明的第一个目的在于提出一种数据存取***,该***通过通路控制器控制第一通路导通以实现外部***可以与cache存储器进行数据存取操作以实现外部***快速地读取cache存储器中缓存的数据,进而满足用户需要CPU、MCU等***的运算性能要求高的要求;该***通过通路控制器控制第二通路导通以实现外部***可以与内部存储器进行数据存取操作进而实现外部***读取内部存储中海量的存储数据,满足用户需要CPU、MCU等***能够应对海量的运算量的要求;本发明实施例提供的数据存储***具有很好的通用性,能够满足不同的应用需求。
本发明的第二个目的在于提出一种数据存取方法。
本发明的第三个目的在于提出一种计算机设备。
本发明的第四个目的在于提出一种计算机程序产品。
本发明的第五个目的在于提出一种非临时性计算机可读存储介质。
为了实现上述目的,本发明第一方面实施例的数据存取***,包括:内部存储器、总线、通路控制器、cache,所述cache包括cache控制器和cache存储器;所述内部存储器经所述cache控制器、第一逻辑开关、所述cache存储器与所述总线连接以形成第一通路;所述内部存储器经第二逻辑开关与所述总线连接以形成第二通路;所述通路控制器用于根据用户需求信息生成通路配置信息,并根据所述通路配置信息控制第一逻辑开关、第二逻辑开关的闭合或断开以控制第一通路导通或第二通路导通;在所述第一通路导通时,外部***与所述cache存储器进行数据存取操作以及所述cache存储器用于在所述cache控制器的控制下缓存所述内部存储器的数据;在所述第二通路导通时,所述外部***与所述内部存储器进行数据存取操作。
根据本发明实施例提供的数据存取***,该***通过通路控制器控制第一通路导通以实现外部***可以与cache存储器进行数据存取操作以实现外部***快速地读取cache存储器中缓存的数据,进而满足用户需要CPU、MCU等***的运算性能要求高的要求;该***通过通路控制器控制第二通路导通以实现外部***可以与内部存储器进行数据存取操作进而实现外部***读取内部存储中海量的存储数据,满足用户需要CPU、MCU等***能够应对海量的运算量的要求;本发明实施例提供的数据存储***具有很好的通用性,能够满足不同的应用需求。
进一步地,在所述用户需求信息指示所述cache的工作模式为数据缓存模式时,所述通路配置信息为所述第一通路导通的通路配置信息;所述根据所述通路配置信息控制第一逻辑开关、第二逻辑开关的闭合或断开为:根据所述第一通路导通的通路配置信息控制第一逻辑开关闭合、控制所述第二逻辑开关断开以使第一通路导通和第二通路关闭;或者,在所述用户需求信息指示所述cache的工作模式为数据存储模式时,所述通路配置信息为所述第二通路导通的通路配置信息;所述根据所述通路配置信息控制第一逻辑开关、第二逻辑开关的闭合或断开为:根据所述第二通路导通的通路配置信息控制第一逻辑开关断开、控制所述第二逻辑开关闭合以使第一通路关闭和第二通路导通。
进一步地,所述***还包括:***固定缓存器、缓存功能控制器;所述缓存功能控制器的第一连接端与所述***固定缓存器连接,所述缓存功能控制器的第二连接端与所述总线连接;所述***固定缓存器、所述缓存功能控制器、所述总线形成第三通路;所述缓存功能控制器用于根据通路配置信息控制所述第三通路的导通以使所述外部***与所述***固定缓存器进行数据存取操作。
进一步地,所述缓存功能控制器的第三连接端经第三逻辑开关与所述cache存储器连接;在所述缓存功能控制器用于根据通路配置信息控制所述第三通路的导通以使所述外部***与所述***固定缓存器进行数据存取操作之前:所述通路控制器还用于根据所述通路配置信息控制第三逻辑开关的闭合或断开以实现所述缓存功能控制器与所述cache存储器的连接通路的导通或关闭。
进一步地,所述通路控制器还用于根据所述通路配置信息控制第三逻辑开关的闭合或断开以实现所述缓存功能控制器与所述cache存储器的连接通路的导通或关闭,包括:
在所述通路配置信息为所述第一通路导通的通路配置信息时,根据所述第一通路导通的通路配置信息控制所述第三逻辑开关断开以实现所述缓存功能控制器与所述cache存储器的连接通路的关闭;或者,在所述通路配置信息为所述第二通路导通的通路配置信息时,根据所述第二通路导通的通路配置信息控制所述第三逻辑开关闭合以实现所述缓存功能控制器与所述cache存储器的连接通路的导通。
进一步地,在所述缓存功能控制器与所述cache存储器的连接通路的导通时,所述缓存功能控制器用于将cache存储器的地址空间增加到所述***固定缓存器中以扩展所述***固定缓存器的存储空间。
进一步地,所述外部***与所述***固定缓存器进行数据存取操作为:
所述外部***与扩展后的所述***固定缓存器进行数据存取操作。
进一步地,所述cache控制器用于根据所述用户需求信息控制所述cache存储器的工作模式;在所述cache存储器的工作模式为数据缓存模式时,执行所述cache存储器在所述cache控制器的控制下缓存所述内部存储器的数据的操作;或者,在所述cache存储器的工作模式为数据存储模式,执行将所述cache存储器的地址空间增加到所述***固定缓存器中以扩展所述***固定缓存器的存储空间的操作。
为了实现上述目的,本发明第二方面实施例的数据存取方法,包括:内部存储器、总线、通路控制器、cache,所述cache包括cache控制器和cache存储器;所述内部存储器经所述cache控制器、第一逻辑开关、所述cache存储器与所述总线连接以形成第一通路;所述内部存储器经第二逻辑开关与所述总线连接以形成第二通路;所述通路控制器根据用户需求信息生成通路配置信息,并根据所述通路配置信息控制第一逻辑开关、第二逻辑开关的闭合或断开以控制第一通路导通或第二通路导通;在所述第一通路导通时,外部***与所述cache存储器进行数据存取操作以及所述cache存储器在所述cache控制器的控制下缓存所述内部存储器的数据;在所述第二通路导通时,所述外部***与所述内部存储器进行数据存取操作。
根据本发明实施例提供的数据存取方法,通过通路控制器控制第一通路导通以实现外部***可以与cache存储器进行数据存取操作以实现外部***快速地读取cache存储器中缓存的数据,进而满足用户需要CPU、MCU等***的运算性能要求高的要求;通过通路控制器控制第二通路导通以实现外部***可以与内部存储器进行数据存取操作进而实现外部***读取内部存储中海量的存储数据,满足用户需要CPU、MCU等***能够应对海量的运算量的要求;本发明实施例提供的数据存储方法具有很好的通用性,能够满足不同的应用需求。
进一步地,在所述用户需求信息指示所述cache的工作模式为数据缓存模式时,所述通路配置信息为所述第一通路导通的通路配置信息;所述根据所述通路配置信息控制第一逻辑开关、第二逻辑开关的闭合或断开为:根据所述第一通路导通的通路配置信息控制第一逻辑开关闭合、控制所述第二逻辑开关断开以使第一通路导通和第二通路关闭;或者,在所述用户需求信息指示所述cache的工作模式为数据存储模式时,所述通路配置信息为所述第二通路导通的通路配置信息;所述根据所述通路配置信息控制第一逻辑开关、第二逻辑开关的闭合或断开为:根据所述第二通路导通的通路配置信息控制第一逻辑开关断开、控制所述第二逻辑开关闭合以使第一通路关闭和第二通路导通。
进一步地,所述方法还包括:***固定缓存器、缓存功能控制器;所述缓存功能控制器的第一连接端与所述***固定缓存器连接,所述缓存功能控制器的第二连接端与所述总线连接;所述***固定缓存器、所述缓存功能控制器、所述总线形成第三通路;所述缓存功能控制器根据通路配置信息控制所述第三通路的导通以使所述外部***与所述***固定缓存器进行数据存取操作。
进一步地,所述缓存功能控制器的第三连接端经第三逻辑开关与所述cache存储器连接;在所述缓存功能控制器根据通路配置信息控制所述第三通路的导通以使所述外部***与所述***固定缓存器进行数据存取操作之前:
所述通路控制器还根据所述通路配置信息控制第三逻辑开关的闭合或断开以实现所述缓存功能控制器与所述cache存储器的连接通路的导通或关闭。
进一步地,所述通路控制器还根据所述通路配置信息控制第三逻辑开关的闭合或断开以实现所述缓存功能控制器与所述cache存储器的连接通路的导通或关闭,包括:
在所述通路配置信息为所述第一通路导通的通路配置信息时,根据所述第一通路导通的通路配置信息控制所述第三逻辑开关断开以实现所述缓存功能控制器与所述cache存储器的连接通路的关闭;或者,在所述通路配置信息为所述第二通路导通的通路配置信息时,根据所述第二通路导通的通路配置信息控制所述第三逻辑开关闭合以实现所述缓存功能控制器与所述cache存储器的连接通路的导通。
进一步地,在所述缓存功能控制器与所述cache存储器的连接通路的导通时,所述缓存功能控制器将cache存储器的地址空间增加到所述***固定缓存器中以扩展所述***固定缓存器的存储空间。
进一步地,所述外部***与所述***固定缓存器进行数据存取操作为:
所述外部***与扩展后的所述***固定缓存器进行数据存取操作。
进一步地,所述cache控制器根据所述用户需求信息控制所述cache存储器的工作模式;在所述cache存储器的工作模式为数据缓存模式时,执行所述cache存储器在所述cache控制器的控制下缓存所述内部存储器的数据的操作;或者,在所述cache存储器的工作模式为数据存储模式,执行将所述cache存储器的地址空间增加到所述***固定缓存器中以扩展所述***固定缓存器的存储空间的操作。
为达上述目的,本发明第三方面实施例提出了一种计算机设备,包括:存储器和处理器其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如本发明实施例第二方面所述的数据存取方法。
为达上述目的,本发明第四方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行如第二方面实施例所述的数据存取方法。
为达上述目的,本发明第五方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,当计算机程序被处理器执行时实现如第二方面实施例所述的数据存取方法。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,
图1是本发明一实施例提供的数据存取***的结构示意图。
图2是本发明又一实施例提供的数据存取***的结构示意图。
图3是本发明一实施例提供的数据存取方法的流程示意图。
图4是本发明又一实施例提供的数据存取方法的流程示意图。
图5示出了适于用来实现本发明实施方式的示例性计算机设备的框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的数据存取***、方法。
图1是本发明一实施例提供的数据存取***的结构示意图。参见图1,本实施例提供的数据存取***,包括:内部存储器1、总线3、通路控制器4、cache,所述cache包括cache控制器202和cache存储器201。
具体地,内部存储器1可以是俗称的内存(Memory),比如是ROM(只读存储器,ReadOnly Memory)、RAM(随机存储器,Random Access Memory),但并以此为限,可以是任何形式的能够海量存储数据的存储器件。
具体地,cache(高速缓冲存储器)可以是SRAM(Static Random Access Memory)存储器、DRAM(Dynamic Random Access Memory)存储器,但并不以此为限。更为具体地,cache包括cache控制器202和cache存储器201。当外部***需要与cache存储器201进行数据存取操作时,cache控制器202会控制cache存储器201的工作模式为数据缓存模式,当cache存储器201处于该数据缓存模式时,cache存储器201从内部存储器1中调取数据,后续外部***只需从cache存储器201读取数据即可。当外部***需要与内部存储器1进行数据存取操作时,cache控制器202会控制cache存储器201的工作模式为数据存储模式,此时cache存储器201相当于一存储器件,这时cache存储器201不会从内部存储器1中调取数据进行缓存。
具体地,总线3(BUS)可以是计算机各种功能部件之间传送信息的常规形式的公共通信干线,但并未以此为限。在本实施例中,除数据存储***与外部***通过总线3进行数据传输之外,数据存储***的各个组成也通过总线3进行数据传输。
具体地,通路控制器4可以是以硬件、软件、软件与硬件的结合的形式存在,只要通路控制器4能够实现根据用户需求信息生成通路配置信息,以及根据通路配置信息实现对第一逻辑开关01、第二逻辑开关02等的控制。同样地,第一逻辑开关01、第二逻辑开关02可以是以硬件、软件、软件与硬件的结合的形式存在,只要第一逻辑开关01、第二逻辑开关02能够满足在通路控制器4的控制下导通或切断所在的通路。
需要说明的是,本实施例中的外部***可以是集成在CPU、MCU等***中的数据处理***,该***处理***可以对本实施例中的数据存储***的数据进行读取或向本实施例中的数据存储***进行写入数据,当然本实施例中的外部***也可以是独立于CPU、MCU等***中的数据处理***之外的数据处理***,本实施例不做具体限制。
具体地,所述内部存储器1经所述cache控制器202、第一逻辑开关01、所述cache存储器201与所述总线3连接以形成第一通路;在所述第一通路导通时,外部***与所述cache存储器201进行数据存取操作以及所述cache存储器201用于在所述cache控制器202的控制下缓存所述内部存储器1的数据。举例来说,当用户需要运算性能要求高的***时,第一逻辑开关01闭合,内部存储器1的数据先缓存到cache存储器201中,接着外部***通过总线3快速读取cache存储器201中缓存的数据。
具体地,所述内部存储器1经第二逻辑开关02与所述总线3连接以形成第二通路,在所述第二通路导通时,所述外部***与所述内部存储器1进行数据存取操作。举例来说,当用户需要CPU、MCU等***能够应对海量的运算量的要求时,第二逻辑开关02闭合,外部***通过总线3读取内部存储器1中海量的数据。
具体地,所述通路控制器4用于根据用户需求信息生成通路配置信息,并根据所述通路配置信息控制第一逻辑开关01、第二逻辑开关02的闭合和/或断开以控制第一通路导通或第二通路导通。在一种可能的实现方式中,在所述用户需求信息指示所述cache的工作模式为数据缓存模式时,所述通路配置信息为所述第一通路导通的通路配置信息;根据所述第一通路导通的通路配置信息控制第一逻辑开关01闭合、控制所述第二逻辑开关02断开以使第一通路导通和第二通路关闭。在又一种可能的实现方式中,在所述用户需求信息指示所述cache的工作模式为数据存储模式时,所述通路配置信息为所述第二通路导通的通路配置信息;根据所述第二通路导通的通路配置信息控制第一逻辑开关01断开、控制所述第二逻辑开关02闭合以使第一通路关闭和第二通路导通。
需要说明的是,当用户的需求不同时,cache的工作模式不同,cache的工作模式与用户的需求相关联。本实施例通过解析用户需求信息,获取cache的工作模式,可以生成更为准确的通路配置信息。具体地,当cache的工作模式为数据缓存模式,可以视cache存储器201为一种缓存器件,cache存储器201可以用来缓存内部存储器1中数据。当cache的工作模式为数据存储模式,可以视cache存储器201为一种存储器件,即cache存储器201同内部存储器1一样用来存储数据,这时cache存储器201不执行从内部存储器1中读取数据进行缓存。举例来说,在cache的工作模式为数据缓存模式时,表明cache存储器201可以用来缓存内部存储器1中数据,这时再生成第一通路导通的通路配置信息,当第一通路导通时,内部存储器1中的数据可顺利被读取到cache存储器201中进行缓存。而如若不先确定cache的工作模式,即很可能出现逻辑开关闭合,通路依然无法导通的情形,举例来说,当cache的工作模式未处于数据缓存模式时,即使是第一逻辑开关01闭合,第一通路依然无法导通,即内部存储器1的数据无法缓存到cache存储器201中,外部***也无法从cache存储器201中读取到数据。
本实施例提供的数据存储***,通过通路控制器4控制第一通路导通以实现外部***可以与cache存储器201进行数据存取操作以实现外部***快速地读取cache存储器201中缓存的数据,进而满足用户需要CPU、MCU等***的运算性能要求高的要求;本实施例通过通路控制器4控制第二通路导通以实现外部***可以与内部存储器1进行数据存取操作以实现外部***读取内部存储中海量的存储数据,满足用户需要CPU、MCU等***能够应对海量的运算量的要求,进而使得本实施例提供的数据存储***具有很好的通用性,能够满足不同的应用需求。
图2是本发明又一实施例提供的数据存取***的结构示意图。参见图2,在图1所示的数据存取***,本实施例提供的数据存取***,还包括:***固定缓存器6、缓存功能控制器5。
其中,所述缓存功能控制器5的第一连接端与所述***固定缓存器6连接,所述缓存功能控制器5的第二连接端与所述总线3连接;所述***固定缓存器6、所述缓存功能控制器5、所述总线3形成第三通路;所述缓存功能控制器5用于根据通路配置信息控制所述第三通路的导通以使所述外部***与所述***固定缓存器6进行数据存取操作。
具体地,为了尽可能地使CPU、MCU等***的运算性能更好,本实施例增设了***固定缓存器6,***固定缓存器6可以存储CPU、MCU等***中频繁使用的数据。可选地,***固定缓存器6可以是读写速度比较快的ROM(只读存储器,Read Only Memory)、RAM(随机存储器,Random Access Memory),但并以此为限。本实施例通过将频繁使用的数据存储到读写速度比较快的***固定缓存器6中,当CPU、MCU等***访问本实施例中的数据存储***时,可以快速地从***固定缓存器6读取频繁使用的数据,尽可能地降低***的运算速度与内部存储器1的读写速度不匹配的矛盾带来的运算性能差的影响,进而尽可能地使CPU、MCU等***的运算性能更好。
进一步地,所述缓存功能控制器5的第三连接端经第三逻辑开关03与所述cache存储器201连接;在所述缓存功能控制器5用于根据通路配置信息控制所述第三通路的导通以使所述外部***与所述***固定缓存器6进行数据存取操作之前:所述通路控制器4还用于根据所述通路配置信息控制第三逻辑开关03的闭合和/或断开以实现所述缓存功能控制器5与所述cache存储器201的连接通路的导通或关闭。
在一种可能的实现方式中,在所述通路配置信息为所述第一通路导通的通路配置信息时,根据所述第一通路导通的通路配置信息控制所述第三逻辑开关03断开以实现所述缓存功能控制器5与所述cache存储器201的连接通路的关闭。
在又一种可能的实现方式中,在所述通路配置信息为所述第二通路导通的通路配置信息时,根据所述第二通路导通的通路配置信息控制所述第三逻辑开关03闭合以实现所述缓存功能控制器5与所述cache存储器201的连接通路的导通。
具体地,本实施例根据通路控制器4的通路配置信息,确定缓存功能控制器5与所述cache存储器201的连接通路的导通或关闭,进而实现cache存储器201的多种用途。举例来说,当用户需要CPU、MCU等***的运算性能要求高的要求时,这时通路配置信息为第一通路导通的通路配置信息,利用cache存储器201相比内部存储器1所具有的快速读取数据的优势,将cache存储器201作为本实施例的数据存储***中的缓存器件;当用户需要CPU、MCU等***能够应对海量的运算量的要求,这时通路配置信息为第二通路导通的通路配置信息,这时,为了充分利用cache存储器201,将cache存储器201作为本实施例的数据存储***中的存储器件,利用cache存储器201来存储一部分的数据,同样地由于cache存储器201相比内部存储器1所具有的快速读取数据的优势,利用cache存储器201来存储一部分的数据的方式,在一定程度上能够实现使CPU、MCU等***的运算性能更好。
优选地,在所述缓存功能控制器5与所述cache存储器201的连接通路的导通时,所述缓存功能控制器5用于将cache存储器201的地址空间增加到所述***固定缓存器6中以扩展所述***固定缓存器6的存储容量。需要说明的是,扩展后的***固定缓存器6的存储容量是扩展前的***固定缓存器6的存储容量和cache存储器201的存储容量之和,扩展后的***固定缓存器6能够存储更多的频繁使用的数据。当然,外部***与扩展后的***固定缓存器6进行数据存取操作,可以快速地从扩展后的***固定缓存器6读取更多频繁使用的数据,尽可能地降低***的运算速度与内部存储器1的读写速度不匹配的矛盾带来的运算性能差的影响,进而尽可能地使CPU、MCU等***的运算性能更好。
需要说明的是,所述cache控制器202用于根据所述用户需求信息控制所述cache存储器201的工作模式;在所述cache存储器201的工作模式为数据缓存模式时,执行所述cache存储器201在所述cache控制器202的控制下缓存所述内部存储器1的数据的操作;或者,在所述cache存储器201的工作模式为数据存储模式,执行将所述cache存储器201的地址空间增加到所述***固定缓存器6中以扩展所述***固定缓存器6的存储空间的操作。本实施例为了实外部***更好地与内部存储器1进行数据存取操作或更好地与***固定缓存器6进行操作,通过cache控制器202根据用户需求信息控制cache存储器201的工作模式。
本实施例提供的数据存取***,通过增设读写速度比较快的***固定缓存器6能够尽可能地使CPU、MCU等***的运算性能更好,缓存功能控制器5还能将cache存储器201的地址空间增加到***固定缓存器6中以扩展***固定缓存器6的存储容量,这样当用户需要CPU、MCU等***能够应对海量的运算量,更多的频繁使用的数据存储到读写速度比较快的***固定缓存器6中,当CPU、MCU等***访问本实施例中的数据存储***时,可以快速地从***固定缓存器6读取更多频繁使用的数据,尽可能地降低***的运算速度与内部存储器1的读写速度不匹配的矛盾带来的运算性能差的影响,进而尽可能地使CPU、MCU等***的运算性能更好。
结合图2,对CPU、MCU等***访问本实施例的数据存取***的进行示例性的详细说明,但并不限于此,可以按照前述多个实施例组合本实施例的数据存取***。
示例性的数据存取***共有三条通路,每条通路都是双向通路。设置在第一通路上的器件依次为:内部存储器1、cache控制器202、第一逻辑开关01、cache存储器201、总线3。设置在第二通路上的器件依次为:内部存储器1、第二逻辑开关02、总线3。设置在第三通路上的器件依次为:***固定缓存器6、缓存功能控制器5、总线3。为了实现充分地利用cache存储器201,在缓存功能控制器5与cache存储器201之间设置了第三逻辑开关03,当第三逻辑开关03闭合时,在缓存功能控制器5的控制下cache存储器201的地址空间增加到***固定缓存器6中,进而实现扩展***固定缓存器6的存储容量。通路控制器4用于控制第一逻辑开关01、第二逻辑开关02、第三逻辑开关03闭合与断开。内部存储器1具有较大的存储容量的优势,但存在读写速度欠佳的优势。cache存储器201具有读写速度快速的优势,但存储容量比较小。***固定缓存器6的存储容量虽然和内部存储器1存在差距,但***固定缓存器6的读写速度相比内部存储器1具有优势。
当用户需要CPU、MCU等***的运算性能要求高的要求时,外部***经第一通路与本实施例中的cache存储器201执行数据存取操作,外部***经第三通路与本实施例中的***固定缓存器6进行数据存取操作。具体地:通路控制器4根据用户需求信息生成第一通路导通的通路配置信息,通路控制器4根据第一通路导通的通路配置信息控制第一逻辑开关01闭合、控制所述第二逻辑开关02断开以使第一通路导通和第二通路关闭,同时根据用户需求信息指示cache的工作模式为数据缓存模式,cache控制器202控制cache存储器201的工作模式为数据缓存模式。紧接着,内部存储器1将存储的数据缓存到cache存储器201中,外部***经总线3与cache存储器201中缓存的数据进行数据存取操作。同时,通路控制器4控制第三逻辑开关03断开,在缓存功能控制器5的控制下,第三通路导通,外部***与***固定缓存器6进行数据存取操作。本实施例通过利用cache的读写速度快速的优势,外部***可以高速地与cache存储器201中缓存的数据进行数据存取操作,满足用户需要CPU、MCU等***的运算性能要求高的要求;同时,利用读写速度较快、存储容量较大的***固定缓存器6存储频繁使用的数据,当CPU、MCU等***访问本实施例中的数据存储***时,可以快速地从***固定缓存器6读取频繁使用的数据,进一步地提高CPU、MCU等***的运算性能。
当用户需要CPU、MCU等***能够应对海量的运算量时,外部***经第二通路与本实施例中的内部存储器1执行数据存取操作,外部***经第三通路与本实施例中的扩展后的***固定缓存器6进行数据存取操作。具体地:通路控制器4根据用户需求信息生成第二通路导通的通路配置信息,通路控制器4根据第二通路导通的通路配置信息控制第一逻辑开关01断开、控制所述第二逻辑开关02闭合以使第一通路关闭和第二通路导通。这时,外部***与内部存储器1进行数据存取操作。同时根据用户需求信息指示cache的工作模式为数据存储模式,cache控制器202控制cache存储器201的工作模式为数据存储模式。此外,通路控制器4控制第三逻辑开关03闭合,缓存功能控制器5与cache存储器201的连接通路的导通,在缓存功能控制器5的控制下,cache存储器201的地址空间增加到***固定缓存器6中以扩展***固定缓存器6的存储容量;以及在缓存功能控制器5的控制下第三通路导通,外部***与扩展后的***固定缓存器6进行数据存取操作。本实施例通过利用内部存储器1的存储容量大的优势,外部***与内部存取器进行数据存取操作以用户需要CPU、MCU等***能够应对海量的运算量的需求。同时,充分利用cache存储器201,将cache存储器201的地址空间扩展到***固定缓存器6中以增加***固定缓存器6的存储容量,接着通过将频繁使用的数据存储到扩展后的***固定缓存器6中,基于***固定缓存器6所具有的读写速度较快、存储容量较大的优势,当CPU、MCU等***访问本实施例中的数据存储***时,可以快速地从扩展后的***固定缓存器6读取频繁使用的数据,进一步地提高CPU、MCU等***的运算性能。
图3是本发明一实施例提供的数据存取方法的流程示意图。参见图3,本实施例提供的数据存取方法,包括:
步骤S101、所述通路控制器4根据用户需求信息生成通路配置信息,并根据所述通路配置信息控制第一逻辑开关01、第二逻辑开关02的闭合或断开以控制第一通路导通或第二通路导通,在所述第一通路导通时,执行步骤S102,在所述第二通路导通时,执行步骤S103。
步骤S102、外部***与所述cache存储器201进行数据存取操作以及所述cache存储器201在所述cache控制器202的控制下缓存所述内部存储器1的数据。
步骤S103、所述外部***与所述内部存储器1进行数据存取操作。
其中,所述cache包括cache控制器202和cache存储器201;所述内部存储器1经所述cache控制器202、第一逻辑开关01、所述cache存储器201与所述总线3连接以形成第一通路;所述内部存储器1经第二逻辑开关02与所述总线3连接以形成第二通路。
进一步地,步骤S101的具体的实现方式为:在所述用户需求信息指示所述cache的工作模式为数据缓存模式时,所述通路配置信息为所述第一通路导通的通路配置信息;所述根据所述通路配置信息控制第一逻辑开关01、第二逻辑开关02的闭合或断开为:根据所述第一通路导通的通路配置信息控制第一逻辑开关01闭合、控制所述第二逻辑开关02断开以使第一通路导通和第二通路关闭;
或者,在所述用户需求信息指示所述cache的工作模式为数据存储模式时,所述通路配置信息为所述第二通路导通的通路配置信息;
所述根据所述通路配置信息控制第一逻辑开关01、第二逻辑开关02的闭合或断开为:根据所述第二通路导通的通路配置信息控制第一逻辑开关01断开、控制所述第二逻辑开关02闭合以使第一通路关闭和第二通路导通。
本发明实施例提供的数据存取方法,通过通路控制器4控制第一通路导通以实现外部***可以与cache存储器201进行数据存取操作以实现外部***快速地读取cache存储器201中缓存的数据,进而满足用户需要CPU、MCU等***的运算性能要求高的要求;通过通路控制器4控制第二通路导通以实现外部***可以与内部存储器1进行数据存取操作以实现外部***读取内部存储中海量的存储数据,满足用户需要CPU、MCU等***能够应对海量的运算量的要求;本发明实施例提供的数据存取方法具有很好的通用性,能够满足不同的应用需求。
图4是本发明又一实施例提供的数据存取方法的流程示意图。本实施例主要是对外部***与***固定缓存器6进行数据存取操作进行说明,通过缓存功能控制器5根据通路配置信息控制第三通路的导通以使外部***与***固定缓存器6进行数据存取操作。其中,所述缓存功能控制器5的第一连接端与所述***固定缓存器6连接,所述缓存功能控制器5的第二连接端与所述总线3连接;所述***固定缓存器6、所述缓存功能控制器5、所述总线3形成第三通路。参见图4,本实施例提供的数据存取方法,包括:
步骤S201、所述通路控制器4还根据所述通路配置信息控制第三逻辑开关03的闭合或断开以实现所述缓存功能控制器5与所述cache存储器201的连接通路的导通或关闭,在所述缓存功能控制器5与所述cache存储器201的连接通路的导通时,执行步骤S202,在所述缓存功能控制器5与所述cache存储器201的连接通路的关闭时,执行步骤S204。
其中,所述缓存功能控制器5的第三连接端经第三逻辑开关03与所述cache存储器201连接。
进一步地,步骤S201的具体的实现方式为:在所述通路配置信息为所述第一通路导通的通路配置信息时,根据所述第一通路导通的通路配置信息控制所述第三逻辑开关03断开以实现所述缓存功能控制器5与所述cache存储器201的连接通路的关闭;
或者,在所述通路配置信息为所述第二通路导通的通路配置信息时,根据所述第二通路导通的通路配置信息控制所述第三逻辑开关03闭合以实现所述缓存功能控制器5与所述cache存储器201的连接通路的导通。
步骤S202、在所述缓存功能控制器5与所述cache存储器201的连接通路的导通时,所述缓存功能控制器5将cache存储器201的地址空间增加到所述***固定缓存器6中以扩展所述***固定缓存器6的存储空间,执行步骤S203。
步骤S203、所述外部***与扩展后的所述***固定缓存器6进行数据存取操作。
步骤S204、在所述缓存功能控制器5与所述cache存储器201的连接通路的关闭时,所述外部***与所述***固定缓存器6进行数据存取操作。
需要说明的是,所述cache控制器202根据所述用户需求信息控制所述cache存储器201的工作模式;在所述cache存储器201的工作模式为数据缓存模式时,执行所述cache存储器201在所述cache控制器202的控制下缓存所述内部存储器1的数据的操作;或者,在所述cache存储器201的工作模式为数据存储模式,执行将所述cache存储器201的地址空间增加到所述***固定缓存器6中以扩展所述***固定缓存器6的存储空间的操作。
本实施例提供的数据存取方法,通过增设读写速度比较快的***固定缓存器6能够尽可能地使CPU、MCU等***的运算性能更好,缓存功能控制器5还能将cache存储器201的地址空间增加到***固定缓存器6中以扩展***固定缓存器6的存储容量,这样用户需要CPU、MCU等***能够应对海量的运算量,更多的频繁使用的数据存储到读写速度比较快的***固定缓存器6中,当CPU、MCU等***访问本实施例中的数据存储***时,可以快速地从***固定缓存器6读取更多频繁使用的数据,尽可能地降低***的运算速度与内部存储器1的读写速度不匹配的矛盾带来的运算性能差的影响,进而尽可能地使CPU、MCU等***的运算性能更好。
图5示出了适于用来实现本发明实施方式的示例性计算机设备20的框图。图5显示的计算机设备20仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,计算机设备20以通用计算设备的形式表现。计算机设备20的组件可以包括但不限于:一个或者多个处理器或者处理单元21,***存储器22,连接不同***组件(包括***存储器22和处理单元21)的总线23。
总线23表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics StandardsAssociation;以下简称:VESA)局域总线以及***组件互连(Peripheral ComponentInterconnection;以下简称:PCI)总线。
计算机设备20典型地包括多种计算机***可读介质。这些介质可以是任何能够被计算机设备20访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
***存储器22可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)30和/或高速缓存存储器32。计算机设备可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***34可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(Compact Disc Read OnlyMemory;以下简称:CD-ROM)、数字多功能只读光盘(Digital Video Disc Read OnlyMemory;以下简称:DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线23相连。存储器22可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器22中,这样的程序模块42包括但不限于操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备20也可以与一个或多个外部设备50(例如键盘、指向设备、显示器60等)通信,还可与一个或者多个使得用户能与该计算机设备20交互的设备通信,和/或与使得该计算机设备20能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口24进行。并且,计算机设备20还可以通过网络适配器25与一个或者多个网络(例如局域网(Local Area Network;以下简称:LAN),广域网(Wide Area Network;以下简称:WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器25通过总线23与计算机设备20的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备20使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
处理单元21通过运行存储在***存储器22中的程序,从而执行各种功能应用以及数据处理,例如实现图3-图4所示的数据存取方法。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(Read Only Memory;以下简称:ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory;以下简称:EPROM)或闪存、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络包括局域网(Local AreaNetwork;以下简称:LAN)或广域网(Wide Area Network;以下简称:WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
为了实现上述实施例,本发明还提出一种计算机程序产品,当计算机程序产品中的指令由处理器执行时,执行如前述实施例所述的数据存取方法。
为了实现上述实施例,本发明还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,当该计算机程序被处理器执行时能够实现如前述实施例所述的数据存取方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。