数据处理系统和数据处理方法与流程

文档序号:15019547发布日期:2018-07-25 00:22阅读:192来源:国知局

本发明涉及一种数据处理系统和一种数据处理方法,并且涉及例如,一种包括第一数据处理设备和第二数据处理设备的数据处理系统和数据处理方法。



背景技术:

近年来,诸如多种物体与互联网等进行通信的物联网(IoT)的系统已经变得普遍。例如,不仅在智能电话或者平板中,而且在诸如手表或者活动计量表等日常生活中的各种场景中,已经使用了感测装置。通过使用诸如蓝牙(注册商标)的通信功能来将由感测装置感测到的数据从感测装置发送至智能电话等,并且由互联网上的服务器或者云进一步处理该数据。

在如IoT的系统中,边缘计算已经得到关注,其中比在云计算中的处理更靠近装置来执行处理。因此,需要改进装置和安装在装置上的半导体器件的性能以及低功耗。作为相关技术,已知文献1:“日本未经审查专利申请公报第2004-280378号”和文献2:“ARM Limited,“big.LITTLE processing”,[online],Internet<URL:http://www.arm.com/ja/products/processors/technologies/biglittleprocessing.php>”。



技术实现要素:

然而,本发明人已经发现,在诸如前面提到的文献1和前面提到的文献2的技术中,当通过使用多个数据处理设备(例如,半导体器件)来执行数据处理以改进性能并且降低功耗时,在数据处理设备之间迁移数据处理变得困难。

相关技术的其它问题和本发明的新颖特点将通过对本说明书和附图的描述而显而易见。

一个实施例包括第一数据处理设备和第二数据处理设备。第一数据处理设备对输入数据执行第一处理。第二数据处理设备从第一数据处理设备迁移第一处理并且执行该第一处理。第二数据处理设备在迁移第一处理时窥探输入至第一数据处理设备的输入数据。

根据实施例,能够容易地执行数据处理的迁移。

附图说明

结合附图从对某些实施例的以下描述中上述内容和其它方面、优点以及特征将更加显而易见,在该附图中:

图1是示出了根据参考示例1的半导体器件的配置的配置图;

图2是示出了根据参考示例2的数据处理系统的配置的配置图;

图3是示出了根据实施例的数据处理系统的配置示例的配置图;

图4是示出了根据实施例的数据处理系统的另一配置示例的配置图;

图5是示出了根据第一实施例的感测系统的配置示例的配置图;

图6是示出了根据第一实施例的感测装置的硬件配置示例的配置图;

图7是示出了根据第一实施例的感测装置的功能配置示例的配置图;

图8是示出了根据第一实施例的感测装置的操作示例的流程图;

图9是用于描述根据第一实施例的感测装置的操作的说明图;

图10是用于描述根据第一实施例的感测装置的操作的说明图;

图11是示出了根据第二实施例的感测装置的功能配置示例的配置图;

图12是示出了根据第二实施例的感测装置的操作示例的流程图;以及

图13是用于描述根据第三实施例的感测装置的操作的说明图。

具体实施方式

为了使描述清楚,可以适当地省略或者简化以下描述和附图。进一步地,作为执行各种处理的功能块在附图中示出的各个元件可以由CPU、存储器、和硬件中的其它电路系统形成,并且可以通过在软件中加载在存储器中的程序来实施。因此,本领域的技术人员将明白,可以仅通过硬件、软件、或者其组合以各种方式来实施这些功能块,而没有任何限制。在整个附图中,相同的组件由相同的附图标记表示,并且适当地省略重复的描述。

(讨论实现实施例的方式)

在高精度的感测应用(例如,运动感测)中,需要详细掌握现实世界中的现象。为了掌握这些现象,需要以高速率对感测数据采样,并且需要以高精度执行感测,这增加了要处理的数据量。以有限的通信带宽将所有这些数据发送至外部装置并且在服务器中或者在云中处理所有这些数据使得实时性能降低。因此,需要提高尽可能靠近接收来自真实世界的感测数据的部分而安装的处理设备的性能以基本地在该设备中执行数据处理,并且仅在必要时向云端发送尽可能多的数据。

另一方面,为了在前面提到的情况下使用感测应用,需要感测装置具有较小的尺寸并且较轻的重量以在其被使用时不影响操作。为了使感测装置具有较小的尺寸并且较轻的重量,感测装置的电池需要较小。进一步地,由于感测应用需要被长时间使用,因此,需要长时间通过小型电池来使用感测应用。因此,降低系统中的功耗是重要的。

因此,在构成感测装置的半导体器件中,需要实现高处理能力和低功耗两者。

响应于这些需求,已经采用了诸如前面提到的文献1和前面提到的文献2的相关技术。在这些技术中,为了实现高处理能力和低功耗,在一个半导体装置(半导体芯片)中使用其性能和功耗彼此不同的多个CPU(处理设备)。在相关技术中,例如,还可以使用具有彼此不同的阈值的晶体管。

图1示出了根据应用相关技术的参考示例1的半导体器件的配置。如在图1中示出的,根据参考示例1的半导体器件900包括:CPU 901和902、高速缓冲存储器903和904、以及共享存储器905。CPU 901经由高速缓冲存储器903和内部总线906连接至共享存储器905,并且CPU 902经由高速缓冲存储器904和内部总线906连接至共享存储器905。例如,内部总线的位宽是64位,并且可以实现高速接入。在根据相关技术的半导体器件900中,使CPU 901的性能和功耗与CPU 902的性能和功耗不同,并且在最优CPU中执行数据处理,由此可以实现高处理能力和低功耗两者。

然而,由于在根据参考示例1的半导体器件900中一个半导体器件(半导体芯片)中实施多个CPU(处理设备),因此,需要通过相同的半导体工艺技术来制造半导体器件,这导致了存在对实现低功耗的限制的问题。即,为了提高处理性能,需要使用具有较大泄漏电流的半导体工艺技术和晶体管,这增加了功耗。另一方面,当使用具有较小泄漏电流的半导体工艺技术和晶体管时,无法提高处理能力。

为了解决上面提到的问题,例如,可以采用通过彼此不同的半导体工艺技术来在彼此不同的半导体器件上安装多个CPU(处理设备)。图2示出了根据应用本实施方式的参考示例2的数据处理系统的配置。如在图2中示出的,根据参考示例2的数据处理系统910包括:包括CPU 921的MCU 920;和包括CPU 931的MCU 930,并且CPU 921和CPU 931经由外部总线911彼此连接。例如,CPU 921具有高处理能力和高功耗,而CPU 931具有低处理能力和低功耗。

即,在参考示例2中,使用彼此不同的工艺。当需要高处理能力时,使用通过其泄漏电流较大的半导体工艺技术制造的CPU 921(处理设备)。另一方面,在不需要提高处理能力的情况下,使用通过其泄漏电流较小的半导体工艺技术制造的CPU 931(处理设备)以降低功耗,并且中断CPU 921(处理设备)的电力,从而进一步降低功耗。

但是,在如在参考示例2中公开的实施方式中,难以实现在多个CPU(处理设备)之间的任务协作和任务接管。即,当在如参考示例1的图1中示出的一个半导体器件上安装多个CPU(处理设备)时,可以经由具有宽带宽的内部总线来使多个CPU(处理设备)彼此连接。在这种情况下,可以容易地执行任务协作和任务接管。但是,在参考示例2中,在彼此不同的半导体器件上实施CPU(处理装置)。因此,由于半导体器件的IO引脚数目的限制,不可能通过具有宽带宽的总线来连接这些CPU。与半导体器件中的通信带宽相比较,在不同的半导体器件之间的通信带宽可以变为1/100或者更少,这取决于总线宽度与操作频率的差异。因此,需要执行使用窄通信路径的任务协作和任务接管。当然,花费的时间允许执行任务切换(迁移)。但是,这并不能实现系统所需要的高实时性能。

(实施例概述)

为了解决前面提到的问题,在以下实施例中,将采用数据窥探技术。

图3示出了根据实施例的数据处理系统的示意性配置。如在图3中示出的,根据本实施例的数据处理系统1包括数据处理设备2和3。数据处理设备2(第一数据处理设备,例如,诸如MCU的半导体器件)对输入数据执行处理(第一处理,诸如,任务),并且数据处理设备3(第二数据处理设备)从数据处理设备2迁移(接管)对输入数据的处理,并且执行该处理。进一步地,数据处理设备3的主要特征在于:在其从数据处理设备2迁移处理时窥探输入至数据处理装置2的输入数据。

可替代地,根据本实施例的数据处理系统可以由在图4中示出的配置构成。在图4中示出的示例中,数据处理系统10包括半导体器件20和30。半导体器件20(第一半导体器件)包括对输入数据执行处理(第一处理)的处理器21(例如,CPU)。半导体器件30(第二半导体器件)包括处理器31(例如,CPU)和窥探单元32。该窥探单元32窥探输入至半导体器件20的输入数据,并且处理器31基于由窥探单元32窥探到的输入数据从半导体器件20迁移(接管)对输入数据的处理,并且执行已经被迁移的处理。例如,半导体器件20和30可以是分别包括用于执行数据处理的处理器和存储器(易失性存储器和非易失性存储器)的MCU。

如上所述,即使在由彼此不同的数据处理设备(半导体器件)来执行数据处理的情况下,也可以通过一个数据处理设备窥探另一数据处理设备的数据来容易地执行数据处理(任务)的接管(协作)。例如,通过使一个数据处理设备的处理能力和功耗与另一数据处理设备的处理能力和功耗不同,可以实现高处理能力和长等待时间,由此该系统可以应用于宽范围的应用。

(第一实施例)

在下文中,参照附图,将说明第一实施例。

<系统配置>

作为根据第一实施例的系统,此处将说明感测系统。感测系统是其中器件中包括多个MCU(半导体器件)的系统的一个示例,并且本实施例可以应用于其它系统。

图5示出了根据本实施例的感测系统的一个示例。如在图5中示出的,根据本实施例的感测系统400包括感测装置100和终端设备300。虽然该感测装置100和终端设备300可以使用例如蓝牙通过无线电来彼此通信,但是它们也可以使用另一系统通过无线电来彼此通信或者可以使用另一期望的系统通过线来彼此通信。

感测装置100例如是,诸如智能手表的手表或者活动计量表,并且是通过无线电来将感测到的数据发送至终端设备300的无线电通信设备。感测装置100主要包括:MCU 110和120、传感器130、和电源电路140。

传感器130检测感测装置需要的信息,生成感测数据,并且将生成的数据输出至MCU 110和120。例如,当传感器130是检测加速度、角速度、地磁的传感器时,传感器130可以是另一传感器。传感器130可以例如是,感测温度、湿度、气压、脉搏、压力、光、声音、烟雾的传感器,或者可以是诸如照相机、红外光传感器、键盘、或者鼠标的传感器,并且可以根据这些期望的传感器的检测结果按照下面描述的方式来迁移MCU的任务。

MCU(微型计算机)110和120是处理由传感器130生成的感测数据的数据处理设备。MCU 110和120是分别包括CPU(处理器)和存储器的半导体器件。进一步地,MCU中的一个MCU与终端设备300进行通信。例如,MCU 110使用蓝牙通过无线电来与终端设备进行通信。MCU 110将由MCU 110或者MCU 120处理的感测数据发送至终端设备300。

电源电路140例如是,可充电电池,并且向MCU 110和MCU 120供电。通过控制一个MCU并且导通/关断另一MCU的电力来控制来自电源电路140的电力供应。

终端设备300例如是,智能电话、平板、或者个人计算机(PC)。终端设备300是从感测装置100接收感测数据并且执行数据处理的数据处理终端(无线电通信设备)。终端设备300可以处理感测数据,并且进一步将处理过的数据发送至在互联网上的服务器或者云。

<感测装置的硬件配置>

图6示出了根据在图5中示出的本实施例的感测装置100的硬件的配置示例。

如在图6中示出的,根据本实施例的感测装置100包括:MCU 110(以下称为系统MCU)、MCU 120(以下称为加速MCU)、传感器130(以下称为9D传感器)、和蓝牙低能量(BLE)天线150。

虽然在本实施例中感测装置包括一个系统MCU和一个加速MCU,但是该配置仅仅是一个示例,并且感测装置可以包括一个系统MCU和多个加速MCU。当将任务从系统MCU迁移到加速MCU时,如果确定一个加速MCU不够,则可以增加待启动的加速MCU的数量。启动多个加速MCU的方法与稍后描述的启动一个加速MCU的方法类似。

通过130nm制造工艺来制造系统MCU110(第一MCU),并且(CPU 114的)最大操作频率为32MHz。在系统MCU 110处于待机模式时消耗的电流为0.20μA,这非常小。通过40nm制造工艺来制造加速MCU120(第二MCU),并且(CPU 124的)最大操作频率为200MHz。即,由于制造工艺与操作频率的差异,系统MCU 110的处理能力和功耗低于加速MCU 120的处理能力和功耗,并且加速MCU 120的处理能力和功耗高于系统MCU 110的处理能力和功耗。

虽然系统MCU 110的性能与加速MCU 120的性能不同,但是它们具有基本相似的配置并且能够执行相同的数据处理。例如,系统MCU 110和加速MCU 120是由相同的指令集架构组成的MCU。在这种情况下,可以使用相同的软件,由此可以容易地执行任务迁移。系统MCU 110和加速MCU 120可以由彼此不同的指令集架构组成。例如,MCU 110(CPU 114)可以是执行简单的指令集的精简指令集计算机(RISC),并且MCU 120(CPU 124)可以是执行复杂的指令集的复杂指令集计算机(CICS)。在这种情况下,可以有效地实现高处理能力和长等待时间。

系统MCU 110包括非易失性存储器111、易失性存储器112、电力控制电路(电力管理单元)113、CPU 114、中断控制电路(MCU间中断)115、通用异步收发器(UART)接口电路116、I2C接口电路117、和定时器118,并且加速MCU 120包括非易失性存储器121、易失性存储器122、电力控制电路(电力管理单元)123、CPU 124、中断控制电路(MCU间中断)125、通用异步收发器(UART)接口电路126、I2C接口电路127、和定时器128。系统MCU 110进一步包括BLE RF电路119。系统MCU 110中的组件经由内部总线110a彼此连接,并且加速MCU 120中的组件经由内部总线120a彼此连接。

易失性存储器112和122存储用于在CPU 114和124中执行的操作的中间数据等。易失性存储器112和122中的每一个例如是,动态随机存取存储器(DRAM)或者静态随机存取存储器(SRAM),并且是在电力被关断时丢失存储在其中的数据的存储器。因此,当MCU的电力被关断(或者处于待机模式)时,易失性存储器112和122无法保留中间数据等。

非易失性存储器111和121存储有关由CPU 114和124执行的程序的指令代码、以及由感测应用程序使用的各种类型的数据和参数(例如,进行采样的触发和间隔)的信息。非易失性存储器111和121中的每一个例如是,闪速存储器,并且是即使在电力被关断之后(或者处于待机模式)仍然保持存储在其中的数据的存储器。因此,即使在MCU的电力被断开之后,非易失性存储器111和121也能够保留指令代码、参数等。

CPU 114和124是被配置为控制在系统MCU 110和加速MCU 120中的操作的控制器。CPU 114和124基于存储在非易失性存储器111和121中的指令代码、参数等来在将中间数据存储在易失性存储器112和122中的同时执行感测应用(数据处理)。

电力控制电路113和123根据来自CPU 114和124的指令来控制来自电源电路140的电力供应,并且导通或者关断对系统MCU 110或者加速MCU 120的电力供应。中断控制电路115和125经由中断总线102彼此连接并且控制在CPU 114和124之间的中断。

UART接口电路116和126经由UART总线103彼此连接,并且使能在MCU(CPU)之间的数据输入/输出。I2C接口电路117和127经由I2C总线101连接至9D传感器130,并且使能在I2C接口电路117和127与9D传感器130之间的数据输入/输出。

定时器118和128根据来自CPU 114和124的指令来进行操作。例如,定时器118和128对感测应用从传感器获取感测数据的间隔进行计数。BLE RF电路系统119连接至BLE天线150,并且根据BLE标准来通过无线电与终端设备300等进行通信。通过使用BLE作为通信系统,可以低功耗地执行无线电通信。经由BLE天线150来将由感测装置100处理的数据发送至终端设备300(PC、智能电话、平板等)(在加速MCU 120中的数据经由系统MCU 110来发送),并且终端设备300进一步处理这些数据。

9D传感器130包括加速度传感器131、角速度传感器132、地磁传感器133、和I2C接口电路134。加速度传感器131、角速度传感器132、和地磁传感器133分别相对于三轴(XYZ轴)方向检测加速度、角速度、和地磁。因此,9D传感器130的感测数据包括九种数据,该九种数据包括三个轴的加速度数据、三个轴的角速度数据、和三个轴的地磁数据。虽然加速度传感器131、角速度传感器132、和地磁传感器133例如是,被配置为输出数字信号作为感测数据的数字传感器,但是它们也可以是被配置为输出模拟信号的模拟传感器。I2C接口电路134经由I2C总线101连接至系统MCU 110和加速MCU 120两者。I2C接口电路134根据来自系统MCU 110或者加速MCU 120的请求来将加速度传感器131、角速度传感器132、和地磁传感器133中的一个或者全部感测数据发送至I2C总线101。

<MCU的功能块配置>

图7示出了根据在图6中示出的本实施例的系统MCU 110和加速MCU 120的功能块的配置示例。可以通过在图6中示出的硬件来实现这些块,或者可以通过硬件执行软件来实现。图7是用于实现本实施例的功能块的一个示例,并且可以由其它功能块形成,只要可以执行以下操作。

如在图7中示出的,系统MCU 110包括执行数据存储单元201、中间数据存储单元202、电源控制器203、任务205、任务管理单元206、传感器输入输出单元207、和MCU间输入/输出单元208,并且加速MCU 120包括执行数据存储单元221、中间数据存储单元222、电源控制器223、任务225、任务管理单元226、传感器输入/输出单元227、和MCU间输入/输出单元228。系统MCU 110进一步包括任务迁移确定单元204和无线电通信单元211。加速MCU 120进一步包括窥探单元230。

执行数据存储单元201和221是存储指令代码、参数等并且与例如非易失性存储器111和121对应的存储单元,指令代码、参数是执行数据处理所必须的执行数据。中间数据存储单元202和222是存储待在应用的操作中使用的中间数据并且与例如易失性存储器112和122对应的存储单元。

任务205和225是分别执行应用(感测应用程序)209和229的处理单元,并且例如,通过执行程序的CPU 114和124来实现。虽然在本实施例中说明了执行感测应用的示例,但是也可以采用两个MCU处理输入数据并且输出处理过的数据的另一应用。进一步地,虽然在本实施方式中将由应用进行的数据处理的单元描述为任务,但是也可以按照进程和线程单元来执行数据处理。任务管理单元206和226是控制任务205和225的执行和迁移的管理单元(控制器),并且例如,通过执行程序的CPU 114和124来实现。系统MCU 110的任务管理单元206根据在任务迁移确定单元204中的确定结果来控制任务205的迁移。

传感器输入/输出单元207和227是从9D传感器130接收感测数据或者向9D传感器130输出感测数据并且与例如I2C接口电路117和127对应的输入/输出单元。MCU间输入/输出单元208和228是在MCU之间交换数据并且与例如UART接口电路116和126对应的输入/输出单元。

任务迁移确定单元204是确定是否在MCU之间执行任务迁移的确定单元,并且通过执行程序的CPU 114和124来实现。在本实施例中,确定从系统MCU 110到加速MCU 120的任务迁移。无线电通信单元211是通过无线电来将任务205和任务225的处理结果发送至终端设备300并且与例如BLE RF电路119对应的通信单元。

窥探单元230在进行任务迁移时窥探从9D传感器130输出至系统MCU 110的感测数据。例如,通过执行程序的CPU 124来实现该窥探。

<任务迁移操作>

在感测应用中,等待时间长于操作时间。因此,处于待机模式或者当CPU的负载较轻时,关断加速MCU 120的电力,并且仅在系统MCU 110中执行操作,从而降低功耗。另一方面,当需要CPU进行重负载处理时,导通加速MCU 120的电力,并且将处理从系统MCU 110迁移到加速MCU。

图8是示出了从系统MCU 110到加速MCU 120的任务迁移操作的流程图。

在本实施例中,系统MCU 110领导任务迁移。因此,系统MCU 110(例如,任务迁移确定单元204)首先确定是否由任何因子触发任务迁移(S100)。可以通过感测应用来确定对于任务迁移的触发。例如,可以从9D传感器130周期性地获取输入数据,并且可以在基于已经获得的输入数据(加速度数据等)识别到感测装置100已经从静止状态转换到移动状态、或者识别到感测装置100已经从低速移动转换到高速移动并且确定需要增加采样率(该采样率高于预定采样率)时,触发任务迁移。

可以由其它状况触发任务迁移。例如,要使用的传感器的数量增加可以触发任务迁移。具体地,当应用确定状态已经从仅使用加速度传感器131的状态改变到使用加速度传感器131、角速度传感器132、和地磁传感器133中的全部的状态时,将任务从系统MCU 110迁移到加速MCU 120。进一步地,可以由CPU的工作负载(负载)触发任务迁移。具体地,可以周期性地测量系统MCU 110的CPU 114的工作负载,并且当工作负载达到预定水平(例如,80%)或者更大时,可以将任务从系统MCU 110迁移到加速MCU 120。进一步地,可以包括温度传感器,并且可以由来自温度传感器的输入触发任务迁移。具体地,温度传感器可以周期性地测量系统MCU 110的温度,并且当系统MCU 110的温度达到预定水平(例如,30℃)或者更高时,可以将任务从系统MCU 110迁移到加速MCU 120。即,例如,当需要提高处理能力时,确定应该迁移任务。因此,可以根据处理等来以高性能执行处理。

当不由任何因子触发任务迁移时(未满足迁移条件),系统MCU 110重复对用于任务迁移的触发进行确定。另一方面,当由任何因子触发任务迁移时(满足迁移条件),系统MCU 110(例如,任务管理单元206)将中断注入到加速MCU 120中以启动加速MCU 120(S101)。然后,加速MCU 120(例如,窥探单元230)窥探要输入至系统MCU 110的感测数据,并且开始对加速MCU 120的中间数据的验证(中间数据存储单元222)(S102)。

接下来,加速MCU 120(例如,任务管理单元226)确定是否已经完成对所有中间数据的验证以作为窥探的结果(S103)。当尚未完成对所有中间数据的验证时,加速MCU 120继续进行窥探,直到完成对所有中间数据的验证。

当完成对所有中间数据的验证时,加速MCU 120(例如,任务管理单元226)将中断注入到系统MCU 110中,并且系统MCU 110(例如,任务管理单元206)中断已经执行的处理(任务205)(S104)。进一步地,加速MCU 120自己单独开始进行处理(任务225)(S105)。

图9示意性地示出了从系统MCU 110到加速MCU 120的任务迁移操作,并且图10示出了在进行任务迁移时的数据窥探操作。

在图9中,在步骤1中,负载较轻。因此,加速MCU 120的电源关闭,并且系统MCU 110处于激活状态。然后,当系统MCU 110确定应该迁移任务时,系统MCU 110将对加速MCU 120注入中断断以启动加速MCU 120。

应该保留在易失性存储器(SRAM)122中的中间数据和缓存数据在加速MCU 120启动之后立即失效。因此,不可能接管系统MCU 110的处理。因此,在步骤2中,执行数据窥探以接管从系统MCU 110到加速MCU 120的处理。

例如,如在图10中示出,系统MCU 110和加速MCU 120经由I2C控制线101a和I2C数据线101b连接至9D传感器130。在连接至I2C总线的两个MCU中,只有系统MCU 110向I2C控制线101a发出指令,而加速MCU 120不发出任何指令。然后,9D传感器130将感测数据输出至I2C数据线101b。系统MCU 110以根据采样率的间隔发出指令,并且9D传感器130按照该间隔来输出感测数据。按照该间隔输出的在I2C数据线101b上的感测数据由系统MCU 110接收,并且还由加速MCU 120接收(窥探)。即,加速MCU 120以根据与系统MCU 110中的采样率相同的采样率的间隔来监测I2C数据线101b以获取与系统MCU 110已经获得的采样数据相同的采样数据。在该窥探中,在加速MCU 120启动之后,在系统MCU 110中继续数据处理以便进行几项采样操作。同时,加速MCU 120窥探感测数据并且执行与在系统MCU 110中执行的数据处理相同的数据处理,从而验证中间数据。

当加速MCU 120通过该窥探确定所有中间数据已经变为有效时,如在图9中的步骤3中示出的,加速MCU 120将中断注入到系统MCU110中,从而中断在系统MCU 110中的处理并且仅在加速MCU 120中开始处理。当在系统MCU 110中的处理并非必需时,可以将系统MCU 110切换到待机模式。

<第三实施例的效果>

如上所述,根据本实施例,可以在不中断系统MCU中的处理的情况下验证加速MCU的中间数据。因此,可以实现对处理的平稳(不断的和持续的)接管。

进一步地,通过将数据窥探技术应用于感测应用,可以在预定时段内完成任务迁移。感测应用的特征如下:

(1)数据在一个方向上流动。具体地,由MCU来处理从传感器输入的数据。通过使用通信功能来将处理结果输出至外部装置。因此,通过仅窥探来自传感器的读取数据,就可以验证MCU中的中间数据。

(2)可以通过有限次数的周期性窥探来验证中间数据。具体地,在感测应用中使用的滤波处理的情况下,通过多次执行采样来设置数据。因此,可以通过使用少量的数据——即,在较短的迁移时间内——来完成任务迁移。

如上所述,在本实施例中,感测应用的特征,即,感测应用使得能够通过多次获取感测数据来生成中间数据,由此可以通过甚至以较小的数据带宽多次窥探感测数据来执行任务接管。

(第二实施例)

在下文中,参照附图,将说明第二实施例。虽然已经在第一实施例中描述了执行从系统MCU到加速MCU的任务迁移的示例,但是将在第二实施例中说明执行从加速MCU到系统MCU的任务迁移的示例。注意,根据本实施例的感测装置的硬件配置与第一实施例中的感测装置的硬件配置类似。

图11示出了根据本实施例的系统MCU 110和加速MCU 120的功能块的配置示例。在本实施例中,除了第一实施例的配置之外,系统MCU 110还包括窥探单元210,并且除了第一实施例的配置之外,加速MCU 120还包括任务迁移确定单元224。

即,在本实施例中,为了实现从加速MCU 120到系统MCU 110的任务迁移,与系统MCU 110的任务迁移确定单元204类似,加速MCU 120的任务迁移确定单元224确定是否在MCU之间执行任务迁移。进一步地,与加速MCU 120的窥探单元230类似,系统MCU 110的窥探单元210在进行任务迁移时窥探从9D传感器130输出至加速MCU 120的感测数据。

图12是示出了从加速MCU 120到系统MCU 110的任务迁移操作的流程图。

在本实施例中,加速MCU 110领导任务迁移。首先,加速MCU 120确定是否由任何因子触发任务迁移(S110)。与第一实施例类似,可以通过应用来确定对于任务迁移的触发。具体地,例如,可以在根据从9D传感器130输入的信息而识别到感测装置100已经从移动状态转换到静止状态、或者识别到感测装置100已经从高速移动转换到低速移动并且确定可以降低采样率(该采样率低于预定采样率)以及可以降低功耗时,触发任务迁移。进一步地,与第一实施例类似,可以由要使用的传感器的数量减少或者CPU的工作负载减少而触发任务迁移。即,例如,当可以执行低功耗的处理(低处理能力)时,确定应该迁移任务。因此,可以根据处理等来以低功耗执行处理。

当加速MCU 120确定任务迁移时,加速MCU 120将中断注入到系统MCU 110中以启动系统MCU 110(S111)。然后,与第一实施例类似,为了接管从加速MCU 120到系统MCU 110的处理,系统MCU 110窥探加速MCU 120的数据并且开始对系统MCU 110的中间数据进行验证(S112)。

接下来,当系统MCU 110确定所有中间数据已经变为有效时,系统MCU 110将对加速MCU 120进行中断以中断在加速MCU 120中的处理(S114)。进一步地,系统MCU 110关断加速MCU 120,并且仅在系统MCU 110中开始处理(S115)。

如上所述,即使在将根据第一实施例的任务迁移方法应用于从加速MCU到系统MCU的任务迁移的情况下,也可以按照与在第一实施例中的方式类似的方式来容易地执行任务迁移。进一步地,当在加速MCU中执行处理时,可以根据情况来将任务迁移到系统MCU,并且可以关断加速MCU的电力,由此可以降低功耗。

(第三实施例)

在下文中,参照附图,将说明第三实施例。在前面提到的第一实施例中,已经描述了将正在系统MCU中操作的一个任务迁移到加速MCU的情况。同时,在本实施例中,将说明将正在系统MCU中操作的两个任务中的一个任务迁移到加速MCU的示例。本实施例还可以应用于如在第二实施例中描述的将任务从加速MCU迁移到系统MCU的情况。

硬件配置、功能块配置、和基本任务迁移操作与第一实施例中的硬件配置、功能块配置、和基本任务迁移操作类似。即,有关要迁移的任务的操作与第一实施例中的操作相同。另一方面,不迁移不需要迁移的任务,并且将该任务保持为在系统MCU上操作。

图13示出了根据本实施例的任务迁移操作的一个示例。在图13中,在步骤1中在任务迁移之前,在系统MCU 110中执行两个任务A和B。接下来,当在步骤2中迁移任务时,仅将任务A从系统MCU 110迁移到加速MCU 120。例如,作为用于任务迁移的触发,确定是否基于负载来迁移任务中的一些任务。接下来,在步骤3中在完成任务迁移之后,加速MCU 120仅执行任务A,并且系统MCU 110仅执行任务B。

如上所述,通过在进行任务迁移时迁移任务(处理)中的一些任务,可以根据MCU的性能和对任务的处理来仅迁移必要的任务,从而能够最佳地执行任务迁移。

可以存储上面描述的(多个)程序((多个)应用)并且通过使用任何类型的非暂时性计算机可读介质来将其提供至计算机。非暂时性计算机可读介质包括任何类型的有形存储介质。非暂时性计算机可读介质的示例包括:磁存储介质(诸如,软盘、磁带、硬盘驱动器等)、光学磁存储介质(例如,磁光盘)、光盘只读存储器(CD-ROM)、CD-R、CD-R/W、和半导体存储器(诸如,掩模ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、闪速ROM、随机存取存储器(RAM)等)。可以通过使用任何类型的暂时计算机可读介质来将(多个)程序提供至计算机。暂时计算机可读介质的示例包括:电信号、光信号、和电磁波。暂时计算机可读介质可以经由有线通信线路(例如,电线、和光纤)或者无线通信线路来将程序提供至计算机。

虽然上面已经基于实施例描述了本发明人所进行的发明,但是毫无疑问的是,本发明不限于已经在上面陈述的实施例,并且在不脱离本发明的精神的情况下,可以按照各种方式来改变本发明。

本领域的普通技术人员可以根据需要组合第一至第三实施例。

虽然已经针对若干实施例描述了本发明,但是本领域的技术人员要认识到,可以在随附权利要求书的精神和范围内利用各种修改来实践本发明,并且本发明不限于上面描述的示例。

进一步地,权利要求书的范围不受上面描述的实施例的限制。

此外,应该注意,申请人的意图是囊括所有权利要求元素的等效物,即使稍后在起诉期间进行修改。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1