掌桥专利:专业的专利平台
掌桥专利
首页

数据搬运系统及方法

文献发布时间:2023-06-19 16:06:26



技术领域

本公开涉及计算机技术领域,特别涉及一种数据搬运系统及方法。

背景技术

传统的微控制单元(Microcontroller Unit,MCU)架构通常是将指令(Instruction)和数据堆栈(Data Stack)均存储至系统内存(System Memory)。由于系统内存通常会连接多个不同的主控端,因此,传统的MCU架构会产生仲裁优先权的问题。

现有技术中,MCU架构通常将指令总线(Instruction Bus)、数据总线(Data Bus)、系统总线(System Bus)、直接内存存取(Direct Memory Access,DMA)控制器等具有主控功能的设备直接通过总线与系统内存和外接设备进行数据传输。由于从设备通常会连接多个主设备,某些时刻该从设备可能正在与其中一个主设备进行数据交换,因此,其它主设备只能在该从设备完成与当前主设备的数据交换后,才能与该从设备进行数据交换。然而,这将使得MCU无法在第一时间与该从设备进行数据交换,整个MCU系统将产生不必要的时间延迟,从而降低系统执行效率。

发明内容

本公开旨在至少解决现有技术中存在的问题之一,提供一种数据搬运系统及方法。

本公开的一个方面,提供了一种数据搬运系统,数据搬运系统包括微控制单元、系统内存、缓存、第一总线和第二总线,其中:

微控制单元通过第一总线与缓存通信连接,以及,

微控制单元还通过第二总线与系统内存通信连接。

可选的,数据搬运系统还包括缓存控制器;

微控制单元通过第一总线与缓存控制器通信连接;

缓存控制器通过第二总线与系统内存通信连接。

可选的,数据搬运系统还包括直接内存存取控制器;

直接内存存取控制器通过第一总线与缓存通信连接;以及,

直接内存存取控制器还通过第二总线与系统内存通信连接。

可选的,数据搬运系统还包括外接设备;

微控制单元通过第二总线与外接设备通信连接。

可选的,缓存包括指令内存、数据内存和高速缓存中的至少一者。

本公开的另一个方面,提供了一种数据搬运方法,应用于前文记载的数据搬运系统,数据搬运方法包括:

微控制单元通过第二总线从系统内存中获取数据,并将获取到的数据通过第一总线存入缓存。

可选的,在数据搬运系统还包括缓存控制器时,数据搬运方法还包括:

缓存控制器通过第二总线从系统内存中获取数据,并将获取到的数据存入缓存;

微控制单元通过第一总线从缓存中获取数据。

可选的,在微控制单元通过第二总线从系统内存中获取目标数据之前,数据搬运方法还包括:

微控制单元判断缓存中是否存在目标数据,若存在,则微控制单元通过第一总线从缓存中获取目标数据。

可选的,在数据搬运系统还包括直接内存存取控制器时,数据搬运方法还包括:

直接内存存取控制器通过第一总线从缓存中获取数据,或通过第二总线从系统内存中获取数据。

可选的,在数据搬运系统还包括外接设备时,数据搬运方法还包括:

微控制单元通过第二总线将数据传输至外接设备。

本公开相对于现有技术而言,微控制单元可以利用不同的总线分别与缓存和系统内存进行直接通信,且微控制单元与缓存和系统内存中的一者的通信不受微控制单元与另一者的通信的影响,实现了将微控制单元与缓存和系统内存的通信分开进行,改善了MCU系统在读取指令和执行资料交互时的效能,降低了系统的时延。

附图说明

一个或多个实施方式通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施方式的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。

图1为现有技术中一种MCU架构的结构示意图;

图2为本公开一实施方式提供的数据搬运系统的结构示意图。

具体实施方式

为使本公开实施方式的目的、技术方案和优点更加清楚,下面将结合附图对本公开的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本公开各实施方式中,为了使读者更好地理解本公开而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本公开所要求保护的技术方案。以下各个实施方式的划分是为了描述方便,不应对本公开的具体实现方式构成任何限定,各个实施方式在不矛盾的前提下可以相互结合相互引用。

如图1所示,现有技术涉及的MCU架构中,MCU通常将指令总线、数据总线、系统总线和直接内存存取控制器等具有主控功能的设备直接通过总线与从设备如指令内存、数据内存、系统内存、外接设备等进行数据传输,使得该MCU架构将产生仲裁优先权的问题,MCU可能无法在第一时间与某一从设备进行数据传输,从而导致整个系统产生不必要的时间延迟而降低系统执行效率。

因此,本公开提供一种数据搬运系统及方法,以至少解决上述现有技术所存在的问题之一。

本公开的一个实施方式涉及一种数据搬运系统,如图2所示,该数据搬运系统包括微控制单元、系统内存、缓存、第一总线和第二总线,其中:

微控制单元通过第一总线与缓存通信连接,以及,微控制单元还通过第二总线与系统内存通信连接。

具体的,为了提高系统的整体效能,可以将应用程序主要配置在系统内存中,而将部分常用的子程序配置在缓存中,使得MCU可以直接通过缓存与常用的子程序进行数据交换。如图2所示,微控制单元可以将数据总线通过第一总线与缓存进行数据传输,并将数据总线通过第二总线与系统内存进行数据传输,从而实现分别与缓存和系统内存进行通信。

本公开实施方式相对于现有技术而言,通过设置第一总线和第二总线,并利用第一总线将微控制单元和缓存通信连接,利用第二总线将微控制单元和系统内存通信连接,使得微控制单元可以利用不同的总线分别与缓存和系统内存进行直接通信,且微控制单元与缓存和系统内存中的一者的通信不受微控制单元与另一者的通信的影响,实现了将微控制单元与缓存和系统内存的通信分开进行,改善了MCU系统在读取指令和执行资料交互时的整体效能,降低了系统的时延。

示例性的,缓存包括指令内存、数据内存和高速缓存中的至少一者。

例如,如图2所示,微控制单元可以同时包括指令内存、数据内存和高速缓存。指令内存可以存储常用的指令数据,数据内存可以存储指令数据之外的其他常用数据,高速缓存可以在微控制单元的控制下存储由系统内存调入的指令与数据。微控制单元可以将不同的数据总线通过第一总线分别与指令内存和数据内存进行数据传输,从而实现通过专门的线路分别与指令内存和数据内存进行通信,避免微控制单元与指令内存和数据内存中的一者通信时受到另一者通信的影响,进一步改善系统的整体效能,降低系统时延。

示例性的,数据搬运系统还包括缓存控制器;微控制单元通过第一总线与缓存控制器通信连接;缓存控制器通过第二总线与系统内存通信连接。

例如,如图2所示,在数据搬运系统包括高速缓存时,缓存控制器可以是高速缓存控制器。微控制单元可以将指令总线通过第一总线与高速缓存控制器进行数据传输,高速缓存控制器可以将指令总线通过第二总线与系统内存进行数据传输。

通过设置缓存控制器,并分别通过第一总线和第二总线将缓存控制器与微控制单元和系统内存通信连接,使得微处理单元与缓存控制器的通信不会受到缓存控制器与系统内存进行通信的影响,从而进一步改善了系统的整体性能,降低了系统的时延。

示例性的,数据搬运系统还包括直接内存存取控制器;直接内存存取控制器通过第一总线与缓存通信连接;以及,直接内存存取控制器还通过第二总线与系统内存通信连接。

例如,如图2所示,直接内存存取控制器可以将数据总线通过第一总线与缓存如指令内存、数据内存进行数据传输,并将数据总线通过第二总线与系统内存进行数据传输,从而实现通过专门的线路分别与缓存和系统内存进行直接通信,避免直接内存存取控制器与缓存和系统内存中的一者通信时受到另一者通信的影响,进一步改善整体效能,降低系统时延。

示例性的,数据搬运系统还包括外接设备;微控制单元通过第二总线与外接设备通信连接。

例如,如图2所示,微控制单元可以利用系统总线通过第二总线与外接设备进行直接通信,从而避免该通信受到微控制单元与缓存、系统内存等设备进行通信的影响,进一步改善系统整体效能,降低系统时延。

本公开的另一个实施方式涉及一种数据搬运方法,应用于前文记载的数据搬运系统,数据搬运方法包括:

微控制单元通过第二总线从系统内存中获取数据,并将获取到的数据通过第一总线存入缓存。

例如,如图2所示,缓存可以包括指令内存和数据内存,微控制单元可以利用数据总线通过第二总线从系统内存中获取数据,并将获取到的数据利用数据总线通过第一总线存入指令内存和/或数据内存。或者,微控制单元还可以利用数据总线通过第一总线从指令内存和/或数据内存中获取数据,并将获取到的数据利用数据总线通过第二总线存入系统内存。

本公开实施方式相对于现有技术而言,微控制单元分别通过第一总线和第二总线与缓存和系统内存进行通信,使得微控制单元与缓存和系统内存中的一者的通信不受微控制单元与另一者的通信的影响,改善了系统的整体效能,降低了系统时延。

示例性的,在数据搬运系统还包括缓存控制器时,数据搬运方法还包括:

缓存控制器通过第二总线从系统内存中获取数据,并将获取到的数据存入缓存;微控制单元通过第一总线从缓存中获取数据。

例如,如图2所示,在缓存包括高速缓存时,缓存控制器可以是高速缓存控制器。高速缓存控制器可以在微控制单元的控制下,利用指令总线通过第二总线从系统内存中获取数据,并将获取到的数据存入高速缓存。微控制单元也可以利用指令总线通过第一总线从高速缓存中获取数据。

在数据搬运系统还包括缓存控制器时,通过将缓存控制器通过第二总线从系统内存中获取数据,将微控制单元通过第一总线从缓存中获取数据,使得微控制单元与缓存的通信不会受到缓存控制器与系统内存通信的影响,从而进一步改善了系统的整体性能,降低了系统的时延。

示例性的,在微控制单元通过第二总线从系统内存中获取目标数据之前,数据搬运方法还包括:

微控制单元判断缓存中是否存在目标数据,若存在,则微控制单元通过第一总线从缓存中获取目标数据。

例如,如图2所示,在微控制单元利用高速缓存控制器通过第二总线从系统内存中获取目标数据之前,微控制单元可以首先判断高速缓存中是否存在目标数据,若存在,则微控制单元可以利用指令总线通过第一总线直接从高速缓存中获取目标数据。若高速缓存中不存在目标数据,则微控制单元可以利用高速缓存控制器通过第二总线从系统内存中获取目标数据。或者,在微控制单元利用数据总线通过第二总线从系统内存中获取目标数据之前,微控制单元可以首先判断指令内存或数据内存中是否存在目标数据,若存在,则微控制单元可以利用数据总线通过第一总线直接从指令内存或数据内存中获取目标数据。若指令内存或数据内存中不存在目标数据,则微控制单元可以利用数据总线通过第二总线从系统内存中获取目标数据。

在微控制单元通过第二总线从系统内存中获取目标数据之前,通过判断缓存中是否存在目标数据并在缓存中存在目标数据时使微控制单元通过第一总线从缓存中获取目标数据,进一步改善了系统的整体效能,降低了系统时延。

示例性的,在数据搬运系统还包括直接内存存取控制器时,数据搬运方法还包括:

直接内存存取控制器通过第一总线从缓存中获取数据,或通过第二总线从系统内存中获取数据。

例如,如图2所示,直接内存存取控制器可以利用数据总线通过第一总线从指令内存、数据内存等缓存中获取数据,也可以利用数据总线通过第二总线从系统内存中获取数据。直接内存存取控制器还可以利用数据总线通过第一总线将数据写入指令内存、数据内存等缓存中。或者,直接内存存取控制器还可以利用数据总线通过第二总线将数据写入系统内存中。

通过使直接内存存取控制器通过第一总线和第二总线分别从缓存和系统内存中获取数据,使得直接内存存取控制器可以通过专门的线路分别与缓存和系统内存进行数据交换,进一步改善了系统的整体效能,降低了系统时延。

示例性的,在数据搬运系统还包括外接设备时,数据搬运方法还包括:

微控制单元通过第二总线将数据传输至外接设备。

例如,如图2所示,微控制单元可以利用系统总线通过第二总线将数据传输至外接设备,外接设备也可以利用系统总线通过第二总线将数据传输至微控制单元,使得微控制单元与外接设备可以通过第二总线直接进行数据交换,从而进一步改善了系统的整体效能,降低了系统时延。

本领域的普通技术人员可以理解,上述各实施方式是实现本公开的具体实施方式,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本公开的精神和范围。

技术分类

06120114701591