CN110196737A - 一种异构多核处理系统 - Google Patents
一种异构多核处理系统 Download PDFInfo
- Publication number
- CN110196737A CN110196737A CN201910317366.4A CN201910317366A CN110196737A CN 110196737 A CN110196737 A CN 110196737A CN 201910317366 A CN201910317366 A CN 201910317366A CN 110196737 A CN110196737 A CN 110196737A
- Authority
- CN
- China
- Prior art keywords
- processor
- real
- data
- general
- application
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Power Sources (AREA)
Abstract
本申请实施例提供一种异构多核处理系统,包括至少一个实时处理器、至少一个应用处理器和通用运算处理器,其中,每个实时处理器分别连接所有应用处理器和通用运算处理器,每个实时处理器的处理能力小于通用运算处理器的处理能力,通用运算处理器的处理能力小于每个应用处理器;异构多核处理系统启动后,至少一个实时处理器一直处于激活状态;异构多核处理系统启动时,至少一个应用处理器和通用运算处理器均进入睡眠状态;至少一个应用处理器和通用运算处理器由至少一个实时处理器根据所接收或检测的数据的数据量大小唤醒,通过控制应用处理器和通用运算处理器的睡眠和唤醒,可以降低整个系统的功耗。
Description
技术领域
本申请实施例涉及电路领域,尤其涉及一种异构多核处理系统。
背景技术
目前物联网应用都是基于已有芯片构建实际系统,只能从芯片、板级电路设计、系统软件、底层驱动软件等层面进行电源控制来优化功耗。
随着智能硬件的应用场景越来越趋于复杂化,对智能硬件的主控处理器性能要求越来越高,从而芯片的运行功耗也越来越高——处理器功耗已经成为智能硬件相关应用的功耗主要来源。尤其对于性能优良的主控处理器而言,其接口都会大而全,这样往往会造成大量接口在实际系统中用不上,这部分接口电路也是处理器芯片功耗高的一个重要来源。因此,如何从物联网具体使用场景的特点出发,对所需处理器的芯片进行定制开发和系统优化,构建低功耗、高性能的处理器SOC(System On Chip)片上系统,是摆在当前技术领域的一个重要的工程技术问题。
发明内容
本申请实施例提供异构多核处理系统,通过控制应用处理器和通用运算处理器的睡眠和唤醒,可以降低整个系统的功耗,另外还有控制不同的业务由不同的处理器进行处理,充分利用资源,提高系统性能。
本申请的一方面提供一种异构多核处理系统,所述异构多核处理系统包括至少一个实时处理器、至少一个应用处理器和通用运算处理器,其中,每个实时处理器分别连接所有所述应用处理器和所述通用运算处理器,每个所述实时处理器的处理能力小于所述通用运算处理器的处理能力,所述通用运算处理器的处理能力小于每个所述应用处理器;
所述异构多核处理系统启动后,所述至少一个实时处理器一直处于激活状态;所述异构多核处理系统启动时,所述至少一个应用处理器和所述通用运算处理器均进入睡眠状态;
所述至少一个应用处理器和所述通用运算处理器由所述至少一个实时处理器根据所接收或检测的数据的数据量大小唤醒。
可选地,每个所述实时处理器的处理能力、每个所述应用处理器的处理能力和所述通用运算处理器的处理能力对应各自能处理数据的最大数据量。
可选地,所述至少一个应用处理器的数量为两个或两个以上时,每个应用处理器的处理能力均相同或互不相同。
可选地,如果所述数据的数据量小于或等于所述至少一个实时处理器处理数据量的最大值,所述数据由所述至少一个实时处理器处理;或,如果所述数据的数据量大于所述至少一个实时处理器处理数据量的最大值但小于或等于所述通用运算处理器处理数据量的最大值,所述通用运算处理器由所述至少一个实时处理器唤醒以处理所述数据;或,如果所述数据的数据量大于所述通用运算处理器处理数据量的最大值,所述至少一个应用处理器中处理能力大于所述数据的数据量的一个应用处理器由所述至少一个实时处理器唤醒以处理所述数据。
可选地,每个所述应用处理器和所述通用运算处理器在处理完所述数据后根据预设设置再次进入睡眠状态。
可选地,所述至少一个实时处理器还连接高级外围总线APB,所述至少一个应用处理器还连接先进可扩展接口AXI总线,所述APB总线和所述AXI总线通过桥接方式连接。
可选地,所述APB总线用于与如下至少之一的设备连接:串行外设接口SPI设备、通用输入/输出GPIO设备、内部整合电路I2C设备、通用异步收发传输器UART设备和实时时钟RTC设备,所述AXI总线用于与如下至少之一的设备连接:直接内存存取DMA设备、摄像设备、联合测试工作组JTAG协议设备、可信计算机模块TCM设备、安全数字输入输出SDIO设备、嵌入式多媒体卡EMMC设备、通用串行总线USB设备和双倍速率DDR控制器。
可选地,所述AXI总线还连接神经网络加速单元。
可选地,所述神经网络加速单元与如下至少一个装置的采集模块或采集单元连接:语音识别装置、人脸识别装置、视网膜识别装置、指纹识别装置、视频处理装置和图像处理装置。
可选地,每个所述实时处理器与每个所述应用处理器之间采用如下至少之一方式通信:中断方式、邮箱Mailbox方式和存储器数据共享方式。
上述描述的异构多核处理系统,通过控制应用处理器和通用运算处理器的睡眠和唤醒,可以降低整个系统的功耗,另外还有控制不同的业务由不同的处理器进行处理,充分利用资源,提高系统性能。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例的一种异构多核处理系统的结构示意图;
图2为本申请一实施例的一种异构多核处理系统的工作流程示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。另外,本文中术语“系统”和“网络”在本文中常被可互换使用。
本申请的多个实施例描述的异构多核处理系统为一种包括系统级芯片(SystemOn Chip,SOC)的系统,本文中,芯片(chip)和处理器(processor)在本文中常被可互换使用,但实质上芯片和处理器表示相同的元件。本文中,SoC系统是指将微处理器、模拟IP核、数字IP核和存储器(或片外存储控制接口)集成在单一芯片上。
如1所示,为本申请一实施例的一种异构多核处理系统的结构示意图,为一种物联网的芯片系统,所述异构多核处理系统包括通讯连接的至少一个实时处理器(Real-TimeProcessor Unit,RTU)11和至少一个应用处理器(Application Processor Unit,APU)12和通用运算处理器(General Computing Elements Unit,GCEU)13,例如,所述异构多核处理系统包括通讯连接的一个、两个或两个以上实时处理器11和一个、两个或两个以上应用处理器12。
在本申请的另一实施例中,所述通用运算处理器13可以由数字信号处理器(Digital Signal Processing,DSP)替代,所述DSP可以单独处理数据,不需要所述实时处理器11的配合。
在本申请的另一实施例中,可以同时存在所述通用运算处理器13和所述DSP。
所述异构多核处理系统启动后,所述实时处理器11一直处于激活状态(或称上电状态),所述异构多核处理系统启动时,所述应用处理器12和所述通用运算处理器13和/或所述DSP就进入睡眠状态,所述应用处理器12和所述通用运算处理器13和/或所述DSP均在启动时就进入睡眠状态由所述实时处理器11设置或者本身设置。本实施例中,所述异构多核处理系统启动可以是所述异构多核处理系统通电启动或开机启动,也可以是重启,本实施例并不限定。
但为描述简洁,后续实施例以所述通用运算处理器13为了进行描述。
每个实时处理器11分别连接所有所述应用处理器12和所述通用运算处理器13,每个所述实时处理器11的处理能力小于所述通用运算处理器13的处理能力,所述通用运算处理器13的处理能力小于每个所述应用处理器12。每个所述实时处理器11的处理能力、每个所述应用处理器12的处理能力和所述通用运算处理器13的处理能力对应各自能处理数据的最大数据量。所述至少一个应用处理器12的数量为两个或两个以上时,每个应用处理器12的处理能力均相同或互不相同。
例如,为最大程度降低所述应用处理器12的功耗,从而根本上降低了整个SOC系统的功耗,所述应用处理器12的数量可以为两个或两个以上,根据不同的性能需求,可以选择不同型号的处理器,例如选用至少一个32位处理器和至少一个64位处理器进行组合,具体在使用过程中,由用户来根据具体的应用场景选择要使用的具体应用处理器。
所述至少一个实时处理器11用于当接收或检测到任何任务数据或采集的到数据时,根据所接收或检测数据的数据量大小判断是自己处理所述数据还是唤醒所述通用运算处理器或唤醒所述至少一个应用处理器中的哪一个应用处理器处理所述数据。
例如,如果所述数据的数据量小于或等于所述至少一个实时处理器11处理数据量的最大值,所述至少一个实时处理器11处理所述数据。
再例如,所述至少一个实时处理器11用于判断所述数据的数据量大于所述至少一个实时处理器11处理数据量的最大值但小于或等于所述通用运算处理器13处理数据量的最大值时,唤醒所述通用运算处理器13处理所述数据,例如,所述至少一个实时处理器11用于向所述通用运算处理器13发送中断信号,所述中断信号用于唤醒所述通用运算处理器13,在所述通用运算处理器13被唤醒后,所述至少一个实时处理器11将当前所收到的所述数据发送给所述通用运算处理器13。所述通用运算处理器13需要受所述实时处理器11控制,在所述实时处理器11控制下处理所述数据。
当同时存在所述通用运算处理器13和所述DSP时,所述实时处理器11根据所述通用运算处理器13的处理能力和所述DSP的处理能力,将不同的业务发送给所述通用运算处理器13或所述DSP进行处理,其中,所述通用运算处理器13需要受所述实时处理器11控制,在所述实时处理器11控制下处理所述数据,所述DSP可以单独处理数据,不需要所述实时处理器11的配合。
再例如,所述至少一个实时处理器11用于判断所述数据的数据量大于所述通用运算处理器13处理数据量的最大值时,唤醒所述至少一个应用处理器12中处理能力大于所述数据的数据量的一个应用处理器处理所述数据,如果所述至少一个应用处理器12中有两个或两个以上的应用处理器的处理能力大于所述数据的数据量,则所述至少一个实时处理器11用于选择处理能力最大的应用服务器,并向所述处理能力最大的应用服务器发送中断信号,所述中断信号用于唤醒所述处理能力最大的应用服务器,当所述处理能力最大的应用服务器被唤醒后,所述至少一个实时处理器11将当前所收到的所述数据发送给所述处理能力最大的应用服务器。
但为描述方便,下述实施例以一个实时处理器11和一个应用处理器12为例进行说明。
所述实时处理器11针对需要实时管理和处理的相关任务,例如针对各种传感器的数字信号或者模拟信号的采样和处理、中断请求等;在所述实时处理器11上直接运行实时操作系统(Real-Time Operation System,RTOS),从而保证所述实时处理器11优异的实时性能,确保响应速度。所述实时处理器11处理能力最小,例如CPU大小最小,启动后为一直上电状态,其余应用处理器12在应用中可根据实际任务进行上电及下电操作,确保极低功耗。
所述通用运算处理器13用于处理部分外设或者传感器进来的且所述实时处理器11不能处理的数据。这样就有更多的任务来由小规模的所述实时处理器11和所述通用运算处理器13来完成,进一步降低了应用处理器12被唤醒的次数,从而降低系统功耗。
所述应用处理器12针对实时需求不高,较复杂的相关应用,例如,针对基于神经网络加速器的人脸识别、指纹识别等生物特征识别应用。所述应用处理器12的特点是不需要每时每刻在后台运行,只需要在特定的阶段启动应用,完成相关识别后又可以部分下电进入深度睡眠,以节省系统功耗。所述应用处理器12的电源管理可以由所述实时处理器11根据任务的情况来进行管理。
例如,所述实时处理器11和所述应用处理器12的类型可以采用经过授权的高级精简指令集计算机设备(Advanced Reduced Instruction Set Computer(RISC)Machines,ARM)处理器系列,亦可采用业界开源的RISCV或者LEON处理器系列。
再例如,所述实时处理器11和所述应用处理器12可以是中央处理单元(CentralProcessing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门器件或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器,例如单片机等。
所述至少一个实时处理器11还连接高级外围总线(Advanced Peripheral Bus,APB),所述至少一个应用处理器12还连接先进可扩展接口(Advanced eXtensibleInterface,AXI)总线,所述APB总线和所述AXI总线通过桥接方式连接。
所述APB总线用于与如下至少之一的设备连接:SPI设备、通用输入/输(PurposeInput Output、GPIO)设备、内部整合电路(Inter-Integrated Circuit,I2C)设备、通用异步收发传输器(Universal Asynchronous Receiver/Transmitter、UART)设备和实时时钟(Real-Time Clock、RTC)设备,所述AXI总线用于与如下至少之一的设备连接:直接内存存取(Direct Memory Access,DMA)设备、摄像设备、联合测试工作组(Joint Test ActionGroup、JTAG)协议设备、可信计算机模块(Trusted Computing Module,TCM)设备、安全数字输入输出(Secure Digital Input and Output、SDIO)设备、嵌入式多媒体卡(EmbeddedMulti Media Card,EMMC)设备、USB设备和双倍速率(Double Data Rate,DDR)控制器,其中,所述DDR控制器用于连接外部存储器。
在本申请的另一实施例,所述AXI总线还连接神经网络加速单元。
在本申请的另一实施例,所述神经网络加速单元与如下至少一个装置的采集模块或采集单元连接:语音识别装置、人脸识别装置、视网膜识别装置、指纹识别装置、视频处理装置和图像处理装置。在本申请的另一实施例,所述神经网络加速单元还设置一个本地缓存器(未图示)。所述神经网络加速单元还与一个存储器连接或自己包括一个缓存器,所述神经网络加速单元受所述APP处理器控制,例如,上述各个装置的采集模块或采集单元,将从对应装置所采集的数据发送给所述神经网络加速单元连接的所述存储器或所述神经网络加速单元的所述缓存器,当所述APP处理器要处理器数据时,通过所述神经网络加速单元从所述神经网络加速单元连接的存储器或其本身的存储器中获取数据。
通过所述神经网络加速单元可以有效处理复杂算法,例如处理人脸识别过程中的特征点计算、视频图像的索贝尔Sobel算法等。为了提高运算的效率,可以减少所述应用处理器12的参与频率,设计所述应用处理器12的矢量命令处理单元做运算阵列的运算控制。同时,为了减少频繁的访存次数,在所述神经网络加速单元内部设立本地缓存。
所述实时处理器11还与如下之一通信相连:静态随机存取存储器(Static RandomAccess Memory,SRAM)、根只读存储器(Boot Read-Only Memory、Boot ROM)和内随机存取存储器(internal-Random Access Memory,IRAM)。
每个所述实时处理器与每个所述应用处理器之间采用如下至少之一方式通信:中断方式、邮箱Mailbox方式和存储器数据共享方式。例如,所述实时处理器发送的控制信号(即中断)包括控制字,收到控制信号的应用处理器根据所述控制字到mailbox查询,根据mailbox查询的结果到存储器查询相应的数据,具体如下所述。
中断:中断用于所述实时处理器11和所述应用处理器12之间的时间信息传递。当所述实时处理器11接收到外部设备的数据后,根据所述数据先判断自己是否能处理,如果不能处理,再判断所述通用运算处理器13能否能处理,如果不能,再确定是否需要唤醒所述应用处理器12,如需要,则打开相关的所述应用处理器12的电源和时钟控制,并向所述应用处理器12发送中断。在所述应用处理器12完成相关处理后,也会回发中断给所述实时处理器11。所述实时处理器11根据应用任务情况决定是否让应用处理器进入睡眠状态。
Mailbox:Mailbox用于所述实时处理器11和所述应用处理器12之间的控制信息传递。在所述实时处理器11给所述应用处理器12发送中断前,会先将需要通知给所述应用处理器12的信息编码放入Mailbox。所述应用处理器12被唤醒后回来读取相关的控制信息,然后根据控制来决定接下来的数据操作。Mailbox也会用于所述应用处理器12回发实时处理器的控制信息传递。
存储器数据共享:所述应用处理器12和所述实时处理器11之间设置一个存储器(未图示),所述存储器数据共享用于所述应用处理器12和所述实时处理器11的数据传递。在所述实时处理器11将相关需要被处理的数据收集好之后,先存入所述存储器,并将所述存储器的相关信息通过Mailbox发给所述应用处理器12。所述应用处理器12获取相关信息后会从所述存储器读走相关待处理的数据进行处理。
在本申请的另一实施例中,每个所述实时处理器与DSP之间采用如下至少之一方式通信:中断方式、邮箱Mailbox方式和存储器数据共享方式,具体参考前述所述内容。
在本申请的另一实施例中,系统主存为外部DDR,需要所述神经网络处理的数据以及所述应用处理器12的程序和数据均需要存储到外部DDR,为了提高每个应用处理器12的CPU的执行效率,每个应用处理器12的CPU采用了高速缓存(Cache)。
所述实时处理器11因为要一直开启,所以所述实时处理器11有本地的指令和数据存储,同时还需要ROM用来存储系统的启动代码,例如,所述实时处理器11还连接本地存储器,例如SRAM、boot Rom和/或内部动态随机存取存储器(internal Dynamic RandomAccess Memory,IRAM)。
综上所述,通过所述实时处理器11和所述应用处理器12的交互配合机制,可以实现采用低功耗、低时钟频率的所述实时处理器11完成物联网应用需求中需要时刻和外部环境保持感知的功能,同时在数据累积到一定的量后,视任务需求来决定是否由所述实时处理器11在必要的通用运算处理器13的配合下进行数据的处理,还是有必要根据预先的任务评估来唤醒部分或者全部所述应用处理器12,再由所述应用处理器12连接的相关专用加速器单元强大的计算能力进行计算并反馈最终结果。一旦所述应用处理器12的相关任务完成,所述应用处理器12及相关专用加速器单元又全部或者部分进入睡眠状态。利用所述应用处理器12的全部或者部分的唤醒和睡眠机制,可以最大程度降低所述应用处理器12部分的功耗,从而根本上降低了整个SOC系统的功耗。如前所述,对于所述至少一个应用处理器12,可以根据不同的性能需求,选用具体的应用处理器组合,具体在使用过程中,由用户来根据具体的应用场景选择要使用的具体应用处理器。
如图2所述,为本申请另一实施例的一种异构多核处理系统的工作流程示意图,所述异构多核处理系统在工作流程可以如下所述。
步骤201,所述异构多核处理系统上电。
步骤202,实时处理器对所有应用处理器进行程序下载以及完成系统初始配置。
步骤203,完成外设设备和/或传感器的状态配置。
其中,本文中“外设设备和/或传感器”是指:只存在外设设备,只存在传感器,和同时存在外设设备和传感器。例如,所述实时处理器完成外设设备和/或传感器的状态配置,例如,所述外设设备包括如下至少之一:DMA设备、摄像设备、JTAG协议设备、TCM设备、SDIO设备、EMMC设备、USB设备和DDR控制器、SPI设备、GPIO设备、I2C设备、UART设备和RTC设备,所述传感器包括如下至少之一:语音识别装置、人脸识别装置、视网膜识别装置、指纹识别装置。
步骤204,配置通用运算处理器和/或DSP和所有应用处理器进入睡眠模式。
其中,本文中“通用运算处理器和/或DSP”是指:只存在通用运算处理器、只存在DSP,和同时存在通用运算处理器和DSP。例如,所述实时处理器配置通用运算处理器和/或DSP和所有应用处理器进入睡眠模式。或者,所述通用运算处理器和/或DSP根据其本身配置自动进入睡眠模式,每个应用处理器根据其本身配置自动进入睡眠模式。
步骤205,实时处理器监控外设设备和/或传感器。
例如,所述实时处理器监控外设设备和/或传感器的中断信号或者数据输入。
步骤206、外设设备和/或传感器是否有中断。
例如,所述实时处理器判断外设设备和/或传感器是否有中断信号或者数据输入。如果有,从步骤207开始执行,如果没有,返回到步骤205,继续监控。
步骤207,所述实时处理器收集外设设备和/或传感器的数据。
步骤208,是否唤醒通用运算处理器和/或DSP。
例如,所述实时处理器根据收集数据的数据量大小,判断是否唤醒通用运算处理器和/或DSP。
例如,如果所述数据的数据量大于所述实时处理器处理数据量的最大值但小于或等于所述通用运算处理器处理数据量的最大值,所述实时处理器唤醒所述通用运算处理器和/或DSP,执行步骤212-213。
例如,如果所述数据的数据量大于所述通用运算处理器和/或DSP处理数据量的最大值,所述实时处理器确定不唤醒所述通用运算处理器和/或DSP,执行步骤209-211。
步骤209,是否唤醒应用处理器。
例如,如果所述实时处理器判断所述收集数据的数据量大于所述通用运算处理器处理数据量的最大值,所述实时处理器唤醒所述应用处理器处理所述数据,再执行步骤210。
在本申请的另一实施例中,如果应用处理器有两个或两个以上,所述实时处理器唤醒所述两个或两个以上应用处理器中处理能力大于所述数据的数据量的一个应用处理器处理所述数据,再执行步骤210。
步骤210,所述应用处理器进行数据处理。
步骤211,所述应用处理器返回中断,进入步骤204。
步骤212,通用运算处理器进行数据处理和/或DSP。
其中,所述通用运算处理器处理数据需要在所述实时处理器的控制下进行处理,所述DSP可以自己单独处理数据,不需要所述实时处理器的配合。
步骤213,通用运算处理器和/或DSP返回中断,进入步骤204。
上面描述的各个存储器,可以用于存储程序代码或指令,所述程序代码包括计算机操作指令,所述实时处理器11和所述应用处理器12用于执行各自存储器存储的程序代码或指令,实现上述实施例描述的所述异构多核处理系统各个工作过程或功能。所述存储器可能包含易失性存储器,例如,随机存取存储器(random access memory,RAM),所述RAM可以包括SRAM或DRAM。所述存储器也可能包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,PROM)、可编程只读存储器(programmable read-onlymemory,PROM)、可擦写可编程只读存储器(erasable programmable read-only memory,EPROM)、电可擦写可编程只读存储器(electrically erasable programmable read-onlymemory,EEPROM)或闪存(flash memory)。所述存储器还可能是外部闪存、至少一个磁盘存储器或缓存器。
本领域普通技术人员将会理解,本申请的各个方面、或各个方面的可能实现方式可以被具体实施为系统、方法或者计算机程序产品。因此,本申请的各方面、或各个方面的可能实现方式可以采用完全硬件实施例、完全软件实施例(包括固件、驻留软件等等),或者组合软件和硬件方面的实施例的形式,在这里都统称为"电路"、"模块"或者"系统"。此外,本申请的各方面、或各个方面的可能实现方式可以采用计算机程序产品的形式,计算机程序产品是指存储在计算机可读存储介质中的计算机可读程序代码。
计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质包含但不限于电子、磁性、光学、电磁、红外或半导体系统、设备或者装置,或者前述的任意适当组合,如随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或者快闪存储器)、光纤、便携式只读存储器(CD-ROM)。
计算机中的处理器读取存储在计算机可读存储介质中的计算机可读程序代码,使得处理器能够执行在流程图中每个步骤、或各步骤的组合中规定的功能动作;生成实施在框图的每一块、或各块的组合中规定的功能动作的装置。
计算机可读程序代码可以完全在用户的计算机上执行、部分在用户的计算机上执行、作为单独的软件包、部分在用户的计算机上并且部分在远程计算机上,或者完全在远程计算机或者服务器上执行。也应该注意,在某些替代实施方案中,在流程图中各步骤、或框图中各块所注明的功能可能不按图中注明的顺序发生。例如,依赖于所涉及的功能,接连示出的两个步骤、或两个块实际上可能被大致同时执行,或者这些块有时候可能被以相反顺序执行。
例如,本申请的另一实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储用于实时处理器执行的程序代码,所述程序代码包括用于执行所述实时处理器上面描述的功能和过程。
例如,本申请的另一实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储用于应用处理器、通用运算处理器和/或DSP执行的程序代码,所述程序代码包括用于执行所述应用处理器、通用运算处理器和/或DSP上面描述的功能和过程。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种异构多核处理系统,其特征在于,所述异构多核处理系统包括至少一个实时处理器、至少一个应用处理器和通用运算处理器,其中,每个实时处理器分别连接所有所述应用处理器和所述通用运算处理器,每个所述实时处理器的处理能力小于所述通用运算处理器的处理能力,所述通用运算处理器的处理能力小于每个所述应用处理器;
所述异构多核处理系统启动后,所述至少一个实时处理器一直处于激活状态;所述异构多核处理系统启动时,所述至少一个应用处理器和所述通用运算处理器均进入睡眠状态;
所述至少一个应用处理器和所述通用运算处理器由所述至少一个实时处理器根据所接收或检测的数据的数据量大小唤醒。
2.如权利要求1所述的系统,其特征在于,每个所述实时处理器的处理能力、每个所述应用处理器的处理能力和所述通用运算处理器的处理能力对应各自能处理数据的最大数据量。
3.如权利要求1所述的系统,其特征在于,所述至少一个应用处理器的数量为两个或两个以上时,每个应用处理器的处理能力均相同或互不相同。
4.如权利要求1-3任意一项所述的系统,其特征在于,
如果所述数据的数据量小于或等于所述至少一个实时处理器处理数据量的最大值,所述数据由所述至少一个实时处理器处理;或,
如果所述数据的数据量大于所述至少一个实时处理器处理数据量的最大值但小于或等于所述通用运算处理器处理数据量的最大值,所述通用运算处理器由所述至少一个实时处理器唤醒以处理所述数据;或,
如果所述数据的数据量大于所述通用运算处理器处理数据量的最大值,所述至少一个应用处理器中处理能力大于所述数据的数据量的一个应用处理器由所述至少一个实时处理器唤醒以处理所述数据。
5.如权利要求1-3任意一项所述的系统,其特征在于,每个所述应用处理器和所述通用运算处理器在处理完所述数据后根据预设设置再次进入睡眠状态。
6.如权利要求1-3任意一项所述的系统,其特征在于,所述至少一个实时处理器还连接高级外围总线APB,所述至少一个应用处理器还连接先进可扩展接口AXI总线,所述APB总线和所述AXI总线通过桥接方式连接。
7.如权利要求6所述的系统,其特征在于,所述APB总线用于与如下至少之一的设备连接:串行外设接口SPI设备、通用输入/输出GPIO设备、内部整合电路I2C设备、通用异步收发传输器UART设备和实时时钟RTC设备,所述AXI总线用于与如下至少之一的设备连接:直接内存存取DMA设备、摄像设备、联合测试工作组JTAG协议设备、可信计算机模块TCM设备、安全数字输入输出SDIO设备、嵌入式多媒体卡EMMC设备、通用串行总线USB设备和双倍速率DDR控制器。
8.如权利要求6所述的系统,其特征在于,所述AXI总线还连接神经网络加速单元。
9.如权利要求8的系统,其特征在于,所述神经网络加速单元与如下至少一个装置的采集模块或采集单元连接:语音识别装置、人脸识别装置、视网膜识别装置、指纹识别装置、视频处理装置和图像处理装置。
10.如权利要求1-3任意一项所述的系统,其特征在于,每个所述实时处理器与每个所述应用处理器之间采用如下至少之一方式通信:中断方式、邮箱Mailbox方式和存储器数据共享方式。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2018113459004 | 2018-11-13 | ||
CN201811345900 | 2018-11-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110196737A true CN110196737A (zh) | 2019-09-03 |
Family
ID=67752132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910317366.4A Pending CN110196737A (zh) | 2018-11-13 | 2019-04-19 | 一种异构多核处理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110196737A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110602667A (zh) * | 2019-08-14 | 2019-12-20 | 北京中科晶上科技股份有限公司 | 一种低功耗物联网连接性芯片 |
CN111427836A (zh) * | 2020-06-11 | 2020-07-17 | 杭州万高科技股份有限公司 | 一种总线资源配置调整的异构多核处理器 |
CN111722559A (zh) * | 2020-05-18 | 2020-09-29 | 四川九洲电器集团有限责任公司 | 一种基于dsp和fpga架构的低功耗处理方法 |
CN112347015A (zh) * | 2021-01-08 | 2021-02-09 | 南京芯驰半导体科技有限公司 | 芯片片上系统异构多处理器间的通信装置及方法 |
CN112597724A (zh) * | 2021-03-04 | 2021-04-02 | 长沙海格北斗信息技术有限公司 | 基于risc-v的芯片设计方法、导航芯片及接收机 |
CN113645281A (zh) * | 2021-07-29 | 2021-11-12 | 上海熠知电子科技有限公司 | 一种面向深度学习的分布式服务器及服务器集群 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101299194A (zh) * | 2008-06-26 | 2008-11-05 | 上海交通大学 | 基于可配置处理器的异构多核系统线程级动态调度方法 |
CN102622079A (zh) * | 2012-02-25 | 2012-08-01 | 华为终端有限公司 | 一种休眠方法、唤醒方法和移动终端设备 |
CN102929713A (zh) * | 2012-10-08 | 2013-02-13 | 清华大学 | 支持多操作系统并行的松散耦合异质多核处理系统 |
CN104021042A (zh) * | 2014-06-18 | 2014-09-03 | 哈尔滨工业大学 | 基于arm、dsp及fpga的异构多核处理器及任务调度方法 |
CN104598426A (zh) * | 2013-10-30 | 2015-05-06 | 联发科技股份有限公司 | 用于异构多核处理器系统的任务调度方法 |
CN104794100A (zh) * | 2015-05-06 | 2015-07-22 | 西安电子科技大学 | 基于片上网络的异构多核处理系统 |
CN105260237A (zh) * | 2015-09-29 | 2016-01-20 | 中南大学 | 异构多核平台的任务调度系统及其调度方法 |
-
2019
- 2019-04-19 CN CN201910317366.4A patent/CN110196737A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101299194A (zh) * | 2008-06-26 | 2008-11-05 | 上海交通大学 | 基于可配置处理器的异构多核系统线程级动态调度方法 |
CN102622079A (zh) * | 2012-02-25 | 2012-08-01 | 华为终端有限公司 | 一种休眠方法、唤醒方法和移动终端设备 |
CN102929713A (zh) * | 2012-10-08 | 2013-02-13 | 清华大学 | 支持多操作系统并行的松散耦合异质多核处理系统 |
CN104598426A (zh) * | 2013-10-30 | 2015-05-06 | 联发科技股份有限公司 | 用于异构多核处理器系统的任务调度方法 |
CN104021042A (zh) * | 2014-06-18 | 2014-09-03 | 哈尔滨工业大学 | 基于arm、dsp及fpga的异构多核处理器及任务调度方法 |
CN104794100A (zh) * | 2015-05-06 | 2015-07-22 | 西安电子科技大学 | 基于片上网络的异构多核处理系统 |
CN105260237A (zh) * | 2015-09-29 | 2016-01-20 | 中南大学 | 异构多核平台的任务调度系统及其调度方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110602667A (zh) * | 2019-08-14 | 2019-12-20 | 北京中科晶上科技股份有限公司 | 一种低功耗物联网连接性芯片 |
CN111722559A (zh) * | 2020-05-18 | 2020-09-29 | 四川九洲电器集团有限责任公司 | 一种基于dsp和fpga架构的低功耗处理方法 |
CN111427836A (zh) * | 2020-06-11 | 2020-07-17 | 杭州万高科技股份有限公司 | 一种总线资源配置调整的异构多核处理器 |
CN112347015A (zh) * | 2021-01-08 | 2021-02-09 | 南京芯驰半导体科技有限公司 | 芯片片上系统异构多处理器间的通信装置及方法 |
CN112597724A (zh) * | 2021-03-04 | 2021-04-02 | 长沙海格北斗信息技术有限公司 | 基于risc-v的芯片设计方法、导航芯片及接收机 |
CN112597724B (zh) * | 2021-03-04 | 2021-05-25 | 长沙海格北斗信息技术有限公司 | 基于risc-v的芯片设计方法、导航芯片及接收机 |
CN113645281A (zh) * | 2021-07-29 | 2021-11-12 | 上海熠知电子科技有限公司 | 一种面向深度学习的分布式服务器及服务器集群 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110196737A (zh) | 一种异构多核处理系统 | |
US20160266929A1 (en) | Cpu scheduling method, terminal device and processing device | |
TWI233545B (en) | Mechanism for processor power state aware distribution of lowest priority interrupts | |
TWI544323B (zh) | 用於增加感測器控制器之能源效率的設備、電腦可讀媒體、方法和系統 | |
CN104380221B (zh) | 处理器频率和系统休眠状态的联合优化 | |
CN109478172A (zh) | 用于总线主控的转换功能的方法、装置和系统 | |
US20140189388A1 (en) | Peer assisted mobile device battery extension system | |
CN107113730A (zh) | 能量高效的无线数据传递 | |
JP2013508885A5 (zh) | ||
US9430028B2 (en) | Systems and method for providing hierarchical computing in wearable processing units | |
CN104798056A (zh) | 将触摸处理卸载到图形处理器 | |
Zhang et al. | Edgebatch: Towards ai-empowered optimal task batching in intelligent edge systems | |
KR20150090788A (ko) | 태스크 스케줄링 방법 및 장치 | |
CN111159093B (zh) | 异构智能计算系统 | |
CN104969190B (zh) | 多核心二进制转换任务处理 | |
KR20170057668A (ko) | 전자 시스템 및 전자 장치 | |
JP2014106840A (ja) | データ処理装置、データ処理方法、及び、プログラム | |
US20140259022A1 (en) | Apparatus and method for managing heterogeneous multi-core processor system | |
CN111225434B (zh) | 一种应用程序响应方法、系统、存储介质及通信模块 | |
CN116541227A (zh) | 故障诊断方法、装置、存储介质、电子装置及bmc芯片 | |
CN210072612U (zh) | 一种物联网芯片系统 | |
US20180120926A1 (en) | Controlling transitions of devices between normal state and quiescent state | |
CN109993875B (zh) | 医疗排号方法、系统及电子设备 | |
Wang et al. | An energy-efficient system on a programmable chip platform for cloud applications | |
CN106843890B (zh) | 基于智能决策的传感器网络、节点及其运行方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |