CN111694402B - 单芯片异构系统的控制方法和可穿戴设备 - Google Patents
单芯片异构系统的控制方法和可穿戴设备 Download PDFInfo
- Publication number
- CN111694402B CN111694402B CN202010530078.XA CN202010530078A CN111694402B CN 111694402 B CN111694402 B CN 111694402B CN 202010530078 A CN202010530078 A CN 202010530078A CN 111694402 B CN111694402 B CN 111694402B
- Authority
- CN
- China
- Prior art keywords
- processor
- software
- subsystem
- class
- target 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 230000002093 peripheral effect Effects 0.000 claims abstract description 139
- 230000008569 process Effects 0.000 claims abstract description 20
- 238000012545 processing Methods 0.000 claims abstract description 17
- 238000011161 development Methods 0.000 claims description 10
- 230000001360 synchronised effect Effects 0.000 claims description 8
- 238000004806 packaging method and process Methods 0.000 claims description 7
- 230000003068 static effect Effects 0.000 claims description 6
- 238000004140 cleaning Methods 0.000 claims description 3
- 238000009826 distribution Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 10
- 230000004927 fusion Effects 0.000 description 9
- 230000003993 interaction Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 238000013508 migration Methods 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000002618 waking effect Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/163—Wearable computers, e.g. on a belt
-
- 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/3293—Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Stored Programmes (AREA)
Abstract
本公开实施例提供一种单芯片异构系统的控制方法和可穿戴设备,属于嵌入式系统技术领域。方法包括:加载目标应用软件;如果当前目标应用软件对应的软件逻辑属于第一类软件业务,唤醒第一子系统,第一子系统获取共享外设的控制权,使用共享外设处理第一类软件业务;在第一子系统处理完第一类软件业务后,如果需要执行第二类软件业务,第二子系统获取共享外设的控制权,使用共享外设,利用迁移的软件逻辑,继续处理第二类软件业务,且第一子系统放弃共享外设控制权,进入低功耗模式;如果当前目标应用软件对应的软件逻辑属于第二类软件业务,第二子系统使用共享外设处理所述第二类软件业务。保留高性能的处理能力,降低成本,节省功耗。
Description
技术领域
本公开涉及嵌入式系统技术领域,尤其涉及一种单芯片异构系统的控制方法和可穿戴设备。
背景技术
现有技术中,高性能手表等电子设备一般采用多核设计,在高性能工作状态的时候,多个处理器核心进入运行状态,从而提高足够的运算能力支撑复杂软件应用。当用户退出复杂软件应用的时候,则关闭部分核心,只留下若干核心继续运行简单的软件应用,例如刷新时间、播放音乐等。使用此技术,可以节约智能手表的功耗,延长待机时间。然而,多核的处理器为了能支撑复杂应用,其生产工艺一般是偏向于高性能高功耗,即便保留单个核心,其功耗也及其可观。
另一种现有方案是采用双芯片方案,即采用一个高性能多核芯片和一个低功耗芯片来设计智能手表。复杂软件应用由高性能多核芯片来承载,当用户退出复杂应用的时候,则彻底关闭高性能芯片,利用低功耗芯片来支持简单软件应用。此方案相比多核单芯片方案,将显著的提升续航时间,但是因为引入了双芯片,因此成本也相对提高。
可见,现有的多核处理方案存在功耗较大或者成本较高的技术问题。
发明内容
有鉴于此,本公开实施例提供一种单芯片异构系统控制方法和可穿戴设备,至少部分解决现有技术中存在的问题。
第一方面,本公开实施例提供了一种单芯片异构系统的控制方法,应用于单芯片异构系统,所述单芯片异构系统包括第一处理器、第二处理器和共享外设,所述第一处理器与所述共享外设连接形成第一子系统,所述第二处理器与所述共享外设连接形成第二子系统;目标应用软件包含运行于所述第一处理器的第一类软件业务和运行于所述第二处理器的第二类软件业务;所述第一类软件业务和所述第二类软件业务不能同时执行;
所述方法包括:
加载所述目标应用软件;
如果当前所述目标应用软件对应的软件逻辑属于所述第一类软件业务,唤醒所述第一子系统,所述第一子系统获取所述共享外设的控制权,使用所述共享外设处理所述第一类软件业务;
在所述第一子系统处理完所述第一类软件业务后,如果需要执行所述第二类软件业务,所述目标应用软件迁移软件逻辑至所述第二子系统,所述第二子系统获取所述共享外设的控制权,使用所述共享外设,利用迁移的所述软件逻辑,继续处理所述第二类软件业务,且所述第一子系统放弃所述共享外设控制权,进入低功耗模式;
如果当前所述目标应用软件对应的软件逻辑属于所述第二类软件业务,所述第二子系统获取所述共享外设的控制权,使用所述共享外设处理所述第二类软件业务。
根据本公开实施例的一种具体实现方式,所述共享外设包括显示模组和输入输出模组中的至少一种。
根据本公开实施例的一种具体实现方式,所述显示模组包括显示屏或者显示灯;和/或,
所述输入输出模组包括触摸屏、按键、麦克风、指纹采集器、虹膜采集器中的至少一种。
根据本公开实施例的一种具体实现方式,所述单芯片异构系统还包括硬件自旋锁,所述硬件自旋锁与所述第一处理器和所述第二处理器连接;
所述第一子系统获取所述共享外设的控制权的步骤,包括:
所述第一子系统的所述第一处理器向所述硬件自旋锁发起共享外设访问申请;
所述硬件自旋锁授权所述第一处理器访问所述共享外设;
所述第一处理器访问所述共享外设;或者,
所述第二子系统获取所述共享外设的控制权的步骤,包括:
所述第二子系统的所述第二处理器向所述硬件自旋锁发起共享外设访问请求;
所述硬件自旋锁授权所述第二处理器访问所述共享外设;
所述第二处理器访问所述共享外设。
第二方面,本发明实施例还提供了另一种单芯片异构系统的控制方法,应用于加载有软件集成开发环境的单芯片异构系统,所述单芯片异构系统包括第一处理器、第二处理器和共享外设,所述第一处理器与所述共享外设连接形成第一子系统,所述第二处理器与所述共享外设连接形成第二子系统;
所述方法包括:
接收目标应用软件的源代码;
根据预设分配规则以及所述目标应用软件的源代码,生成第一类软件业务对应的第一组二进制代码,以及第二类软件业务对应的第二组二进制代码;
将所述第一组二进制代码和所述第二组二进制代码打包成一个应用程序包并一起发布。
根据本公开实施例的一种具体实现方式,所述将所述第一组二进制代码和所述第二组二进制代码打包成一个应用程序包并一起发布的步骤之后,所述方法还包括:
在监测到对应所述目标应用程序的启动请求时,启动所述目标应用程序;
加载全部可执行代码至所述第一子系统的内存中;
执行所述第一处理器的可执行代码;
判断是否存在所述第二处理器的可执行代码;
若不存在所述第二处理器的可执行代码,则进入所述目标应用程序的业务流程,直至接收到所述目标应用程序的退出请求;
若存在所述第二处理器的可执行代码,则所述第一处理器加载所述第二处理器的可执行代码至所述第二子系统的内存中,执行所述第二处理器的可执行代码,并确认所述第一处理器和所述第二处理器握手同步完成。
根据本公开实施例的一种具体实现方式,所述接收到所述目标应用程序的退出请求的步骤之后,所述方法还包括:
判断是否存在所述第二处理器的可执行代码;
若不存在所述第二处理器的可执行代码,所述第一处理器关闭和清理所述目标应用程序;
若存在所述第二处理器的可执行代码,通知所述第二处理器所述目标应用程序关闭,所述第一处理器等待所述第二处理器完成所述目标应用程序的清理和关闭。
根据本公开实施例的一种具体实现方式,所述单芯片异构系统还包含第一模拟器和第二模拟器;
所述根据预设分配规则以及所述目标应用软件的源代码,生成第一类软件业务对应的第一组二进制代码,以及第二类软件业务对应的第二组二进制代码的步骤之后,所述方法还包括:
启动所述第一模拟器和所述第二模拟器;
等待所述第一模拟器和所述第二模拟器建立同步通道,完成信息共享;
将所述第一组二进制代码加载到所述第一模拟器;
将所述第二组二进制代码加载到所述第二模拟器;
在所述第一模拟器上运行所述第一组二进制代码,在所述第二模拟器上运行所述第二组二进制代码。
根据本公开实施例的一种具体实现方式,所述根据预设分配规则以及所述目标应用软件的源代码,生成第一类软件业务对应的第一组二进制代码,以及第二类软件业务对应的第二组二进制代码的步骤,包括:
接收用户输入的分配请求,其中,所述分配请求包括所请求分配的目标性能模式,其中,所述目标性能模式为低功耗模式和高性能模式中的任一种;
若所述目标性能模式为低功耗模式,则将目标应用软件中的第一数量的软件业务编译为第一组二进制代码,将所述目标应用软件中的第二数量的软件业务编译为第二组二进制代码,其中,第二数量大于第一预设值;
若所述目标性能模式为高性能模式,则将所述目标应用软件中的第一数量的软件业务编译为第一组二进制代码,将所述目标应用软件中的第二数量的软件业务编译为第二组二进制代码,其中,第二数量小于第二预设值。
第三方面,本公开实施例还提供了一种可穿戴设备,应用于第一方面和第二方面中任一项所述的方法;所述可穿戴设备包括设备本体以及单芯片异构系统,所述单芯片异构系统包括第一处理器、第二处理器和共享外设,所述第一处理器与所述共享外设连接形成第一子系统,所述第二处理器与所述共享外设连接形成第二子系统。
根据本公开实施例的一种具体实现方式,所述单芯片异构系统还包括第一外设和第二外设;
所述第一处理器与所述第一外设和所述共享外设均连接以形成所述第一子系统,所述第二处理器与所述第二外设和所述共享外设均连接以形成所述第二子系统。
根据本公开实施例的一种具体实现方式,所述第一外设包括多媒体硬件和双倍速率同步动态随机存取内存中的至少一种;和/或,
所述第二外设包括静态存储器和传感器中的至少一种。
根据本公开实施例的一种具体实现方式,所述第一处理器为ARM A系列处理器,所述第二处理器为ARM M系列处理器。
第四方面,本公开实施例还提供了一种计算机程序产品,该计算机程序产品包括存储在非暂态计算机可读存储介质上的计算程序,该计算机程序包括程序指令,当该程序指令被计算机执行时,使该计算机承载前述第一方面或第一方面的任一实现方式中的单芯片异构系统。
本公开实施例中的单芯片异构系统的控制方法和可穿戴设备,应用于单芯片异构系统,实现第一子系统和第二子系统均能够承载用户交互任务,同一目标软件业务可包括由不同子系统执行的软件业务,根据当前软件逻辑来唤醒对应的子系统执行软件业务,通过共享外设实现软件逻辑的迁移,可以使得第二子系统执行低功耗业务时第一子系统进入低功耗模式,在发挥低功耗处理器的工艺优势的同时,保留高性能的处理能力,同时可以节省共享的硬件外设模块,降低成本。
本发明还提供支持软件融合方案的集成开发环境,使得软件开发者可以在同一个开发环境中,完成不同系统的软件源代码的开发。同时在集成开发环境中,实现了第一模拟器和第二模拟器同时模拟两个系统。两个模拟器通过同步通道共享信息,从而支持模拟应用软件在两个系统间无缝切换的软件融合方案,为融合软件方案的调试提供了便利。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本公开实施例提供的一种单芯片异构系统的控制方法所应用的单芯片异构系统的结构示意图;
图2和图4为本公开实施例提供的单芯片异构系统的控制方法所应用的单芯片异构系统的另一种结构示意图;
图3为本公开实施例提供的单芯片异构系统的控制方法的流程示意图;
图5为本公开实施例提供的另一种单芯片异构系统的控制方法的流程示意图;
图6为本公开实施例提供的单芯片异构系统的控制方法所应用的编译器的结构示意图;
图7为本公开实施例提供的单芯片异构系统的控制方法的另一种流程示意图;
图8为本公开实施例提供的单芯片异构系统的控制方法所应用的模拟器的结构示意图。
附图标记汇总:
单芯片异构系统100;
第一处理器110,第二处理器120;
共享外设130,系统级芯片140,第一外设150,第二外设160。
具体实施方式
下面结合附图对本公开实施例进行详细描述。
以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本公开的基本构想,图式中仅显示与本公开中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。
本公开实施例提供了一种单芯片异构系统的控制方法及可穿戴设备,均涉及单芯片异构系统。如图1所示为所涉及的单芯片异构系统的结构示意图。所述单芯片异构系统100(以下简称所述系统)主要包括第一处理器110、第二处理器120和共享外设130,其中,所述第一处理器110与所述共享外设130连接以形成第一子系统,所述第二处理器120与所述共享外设130均连接以形成第二子系统。
所述第一处理器110可以通过获取所述共享外设130的控制权实现用户交互,所述第二处理器120可以通过获取所述共享外设130的控制权实现用户交互,二者不同时进行,在一个处理器获得共享外设130的控制权时,另一个处理器则需要放弃该共享外设130的控制权。
可选的,所述共享外设包括显示模组和输入输出模组中的至少一种。
具体的,所述显示模组包括显示屏或者显示灯;和/或,
所述输入输出模组包括触摸屏、按键、麦克风、指纹采集器、虹膜采集器中的至少一种。
在装配单芯片异构系统时,尽可能将所需求的外设设为共享外设,这样可以极大程度较少单芯片异构系统上的外设数量。
所提供的单芯片异构系统集成于系统级芯片(System On Chip,简称SOC芯片),也有称片上系统,意指它是一个产品,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容,采用的技术是正在工业现场大量使用的成熟技术,但又不是对现有技术的简单堆砌,是对众多实用技术进行封装、接口、集成,形成全新的一体化的控制器,可由一个控制器就可以完成作业。本实施例提供的方案,在一个系统级芯片140上集成两类不同工艺的多核处理器,第一处理器110和第二处理器120用于指代不同处理器,在同一个SOC芯片140上可以集成一个第一处理器110和一个第二处理器120,也可以集成两个及两个以上第一处理器110或者第二处理器120,不作限定。可选的,所述第一处理器为ARM A系列处理器,所述第二处理器为ARM M系列处理器。
另外,所述系统级芯片140上还设置有第一外设150和第二外设160,第一外设150为第一处理器110的专用外设,所述第一处理器110与所述第一外设150和所述共享外设130均连接以形成第一子系统,第二外设160为第二处理器120的专用外设,所述第二处理器120与所述第二外设160和所述共享外设130均连接以形成第二子系统。所述第一处理器110的功耗大于所述第二处理器120的功耗,所述第一外设150的功耗大于所述第二外设160的功耗,所述第一子系统对应处理的第一类软件业务的性能大于所述第二子系统对应处理的第二类软件业务的性能。
具体实施时,所述第一外设150包括多媒体硬件和双倍速率同步动态随机存取内存中的至少一种;和/或,
所述第二外设160包括静态存储器和传感器中的至少一种;和/或,
所述共享外设130包括显示模组和输入输出模组中的至少一种。
下面将结合一个具体示例进一步解释单芯片异构系统的实施方式。如图2所示,第一子系统由ARM A系列处理器为计算核心,具有足够的计算能力承载安卓Android之类的复杂软件系统。同时,多媒体硬件如摄像模块Camera、视频加速模块VPU、图形加速模块GPU,以及双倍速率同步动态随机存取内存(Double Data Rate SDRAM,简称DDR)模块则成为第一子系统的部分专用第一外设150。第二子系统由ARM M系列低功耗处理器为计算核心,配置有静态存储器SRAM作为存储单元。外设部分如辅助外设Peripheral、输入输出IO,以及显示部分如DP0-DSI和DS1-SPI,则由第一子系统和第二子系统共享,时分复用。此外,第二子系统还有额外的专用低功耗的第二外设,用于满足在低功耗场景的应用。
以显示控制器为例,双芯片方案需要至少安置两套显示控制器,并且需要外接两块显示屏才能完成两个子系统的同时显示。而单芯片方案只需要一个显示控制器和一个显示屏,就可以完成两个子系统同时显示。在两个子系统共用同一个显示器,可以分区同时显示来自两个子系统的内容,也可以同一个显示器分时显示来自两个子系统的内容,不作限定。
参见图3,为本公开实施例提供的一种单芯片异构系统的控制方法的流程示意图,应用于上述图1和图2所示的单芯片异构系统。如图1所示,所述方法主要包括以下步骤:
S301,加载所述目标应用软件;
定义单芯片异构系统处理的应用软件为目标应用软件,目标应用软件可以为常规使用的任意应用软件。所述目标应用软件可以包含运行于所述第一处理器的第一类软件业务和运行于所述第二处理器的第二类软件业务;所述第一类软件业务和所述第二类软件业务不能同时执行。通常地,第一类软件业务为高性能需求的软件业务,第二类软件业务则为性能需求相对较低的软件业务。需要说明的是,软件业务可以同时包含第一类软件业务和第二类软件,特殊情况下,也可以仅包括性能较高的第一类软件业务或者性能较低的第二类软件业务,不作限定。
可以预先定义好每个应用程序内的软件业务所属的业务类别,或者在设备重启后或者运行过程中根据一些运行状态参数来自定义分类,不作限定。
加载目标软件后,需要确定所述目标应用软件对应的当前软件逻辑是属于第一类软件业务还是第二类软件业务。若属于第一类软件业务,则直接执行步骤S302至S303,若属于第二类软件业务,则直接执行步骤S304。
S302,如果当前所述目标应用软件对应的软件逻辑属于所述第一类软件业务,唤醒所述第一子系统,所述第一子系统获取所述共享外设的控制权,使用所述共享外设处理所述第一类软件业务;
当前软件逻辑为第一类软件业务,需要由第一子系统来执行。此时,唤醒第一子系统,第一子系统先获取共享外设的控制权,访问共享外设,处理该第一类软件。
S303,在所述第一子系统处理完所述第一类软件业务后,如果需要执行所述第二类软件业务,所述目标应用软件迁移软件逻辑至所述第二子系统,所述第二子系统获取所述共享外设的控制权,使用所述共享外设,利用迁移的所述软件逻辑,继续处理所述第二类软件业务,且所述第一子系统放弃所述共享外设控制权,进入低功耗模式;
第一子系统处理完所述第一类软件业务,若当前目标应用软件还包括第二类软件业务,则需要先将目标应用软件的软件逻辑迁移至第二子系统继续处理。
第二子系统需要先获取共享外设的控制权,通过访问共享外设来继续处理第二类软件业务。此时,由于第一子系统已经处理完对应的第一类软件业务,第一子系统放弃共享外设的控制权并进入低功耗模式,直至下次需要处理新的目标应用软件的第一类软件业务时再唤醒,这样可以极大程度地节省非工作状态时的整体功耗。
S304,如果当前所述目标应用软件对应的软件逻辑属于所述第二类软件业务,所述第二子系统获取所述共享外设的控制权,使用所述共享外设处理所述第二类软件业务。
若直接确定的目标应用软件当前对应的软件逻辑属于第二类软件业务,需要由第二子系统来处理。第二子系统由于本身功耗较低,可以保持在工作状态不需要唤醒的动作。第二子系统先获取该共享外设的控制权,访问共享外设,处理对应的第二类软件业务。
上述本公开实施例提供的软件控制方法,实现应用于单芯片异构系统的软件融合方案,所包含的第一子系统和第二子系统均能够承载用户交互任务,仅在需要第一子系统执行对应的第一类软件业务时唤醒第一子系统,将软件逻辑迁移至第二子系统执行第二类软件业务时,第一子系统进入休眠模式,实现了软件融合方案本身的大小系统切换的无缝迁移能力,节约整体功耗。
在上述实施例的基础上,所述单芯片异构系统还包括硬件自旋锁,所述硬件自旋锁与所述第一处理器和所述第二处理器连接;
上述S301所述第一子系统获取所述共享外设的控制权的步骤,可以包括:
所述第一子系统的所述第一处理器向所述硬件自旋锁发起共享外设访问申请;
所述硬件自旋锁授权所述第一处理器访问所述共享外设;
所述第一处理器访问所述共享外设;或者,
所述第二子系统获取所述共享外设的控制权的步骤,包括:
所述第二子系统的所述第二处理器向所述硬件自旋锁发起共享外设访问请求;
所述硬件自旋锁授权所述第二处理器访问所述共享外设;
所述第二处理器访问所述共享外设。
本实施方式中,单芯片异构系统增设硬件自旋锁,实现对共享设备控制权的获取和转移。具体的,第一子系统或者第二子系统在需要获取共享外设的控制权时,需要先向硬件自旋锁发起共享外设访问请求,在收到硬件自旋锁的授权之后才能访问共享外设。
需要说明的是,第一子系统和第二子系统不能同时访问共享外设,共享外设仅能将共享外设的控制权授权给其中一个子系统,通常第一子系统的优先级高于第二子系统。在第一子系统放弃共享外设的控制权之后,硬件自旋锁才能再将共享外设的控制权授权给第二子系统。这样,既实现了共享外设的合理有序单一控制,又保证了第一子系统的优先使用权。
如图2和图4所示,具体解释下结合软件控制的融合方案。第一子系统运行复杂应用的时候,如果必须由第一子系统执行,比如需要第一子系统准备用户交互的图像的时候,第一子系统接管显示控制权。等第一子系统完成了必要的工作的之后,在第一子系统保持原有复杂应用开启的情况下,将软件计算工作移动到第二子系统端,继续执行。从软件逻辑上,复杂应用保持活跃,可以处理各种事务,但是在硬件角度,第一子系统可以进入休眠状态,即仅保持内部状态,从而达到休眠的目的。一旦软件业务进入到第二子系统的计算能力无法承载的时候,则从第二子系统切换回第一子系统,第一子系统从休眠模式恢复,继续承载业务。
如图4所示,第一子系统启动的时候,Activity 1被加载,并且调用硬件控制模块开始用户交互。等用户交互完成,复杂应用进入数据采集流程的时候,第一子系统Activity1将显示控制器0的控制权移交到低功耗Activity代理组件(Low Power,简称LP)ActivityProxy组件,并通过LP Activity Proxy向第二子系统低功耗实现ActivityImplementation组件移交显示控制器0的控制权,同时移交相应的数据采集业务。
第一处理器的Activity 1清理软件资源,不再访问显示控制器0;
第一处理器通过LP Activity Proxy组件,向硬件自旋锁释放显示控制器0的使用权;
硬件自旋锁标记显示控制器0为空闲;
第一处理器的Activity 1通过LP Activity Proxy组件,告知运行于第二处理器上的LP Activity Implementation组件,开始进行应用程序转移;
第二处理器上的LP Activity Implementation组件,向硬件自旋锁申请显示控制器0的使用权;
硬件自旋锁查询到显示控制器0状态为空闲,则授权第二处理器访问显示控制器0,且标记当前显示控制器0的状态为被占用;
第二处理器上的LP Activity Implementation组件,使用显示控制器0开始执行数据采集业务流程。
当采集业务完成,或者用户主动激活应用的时候,
第二子系统的LP Activity Implementation组件截获相关信息,唤醒第一子系统,并在唤醒之后,执行以下步骤:
第二处理器的LP Activity Implementation清理软件资源,不再访问显示控制器0;
第二处理器通过LP Activity Implementation组件,向硬件自旋锁释放显示控制器0的使用权;
硬件自旋锁标记显示控制器0为空闲;
第二处理器的LP Activity Implementation,告知运行于第一处理器上的LPActivity Proxy组件,开始进行应用程序转移;
第一处理器上的LP Activity Proxy组件,向硬件自旋锁申请显示控制器0的使用权;
硬件自旋锁查询到显示控制器0状态为空闲,则授权第一处理器访问显示控制器0,且标记当前显示控制器0的状态为被占用;
第一处理器上的LP Activity Proxy组件,进一步唤醒Activity 1组件;
Activity 1组件使用显示控制器0开始执行业务流程。
此外,软件的融合,是两个子系统的软件间可以做到无缝的切换。
1)对用户来说,显示系统的无缝切换,在显示的层面,让用户感觉不到第二子系统的切换。
2)对应用开发者来说,一个编译系统可以同时开发,调试运行在两个子系统上的组件,尽量减少两个子系统对开发者的影响。
为了充分发挥第二子系统低功耗的特性,还可以将用户交互UI也迁移到第二子系统上,从而使得第一子系统可以在更多的场景下可以关闭,从而达到节能的目的。为了使得第二子系统具有用户交互的能力,需要将UI相关的硬件模块如显示、键盘、触摸屏、按键、存储在两个子系统中共享,同时在软件层面上提供任务融合迁移的逻辑,使得一个应用程序的不同运行阶段可以根据事先确定的规则,在不同的子系统上切换运行。在两个子系统上,应用程序都可以直接和用户交互,任务的具体是运行在第一子系统上还是第二子系统上,取决于事先静态确定的规则。
上述本公开实施例提供的单芯片异构系统的控制方法,两个子系统集成在同一个SOC芯片上实现,可以只需要安置单份外设,供两个子系统完成不同的软件业务,从而节约了晶圆面积,降低了成本。异构的高性能多核处理器和低功耗多核处理器集成在同一个SOC上,利用低功耗多核处理器的工艺优势,可以使得整个系统的功耗表现远远好于单芯片多核高性能芯片的方案。
参见图5,为本公开实施例提供的另一种单芯片异构系统的控制方法的流程示意图,本实施例提供的单芯片异构系统的控制方法应用于上述图1所示的单芯片异构系统,主要涉及应用软件的开发环境,图6为所应用的编译器的结构框图。如图5和图6所示,所述方法主要包括以下步骤:
S501,接收目标应用软件的源代码;
本实施例提供的单芯片异构系统的控制方法,包含软件集成开发环境,能够基于该软件集成开发环境生成应用软件,例如上述图3所示的方法实施例中所涉及的目标应用软件。将目标应用软件划分为第一处理器能够加载的第一类软件业务,例如Java源代码+部分C源代码,和第二处理器能够加载的第二类软件业务,例如另一部分C源代码。首先,需要获取目标应用软件的源代码。
S502,根据预设分配规则以及所述目标应用软件的源代码,生成第一类软件业务对应的第一组二进制代码,以及第二类软件业务对应的第二组二进制代码;
系统预先存储有预设分配规则,即预先存储的模式配置文件,控制C编译器的行为。Java源代码只能在第一处理器上执行,因此不受模式配置文件的控制,用于根据应用软件内软件业务的性能要求,划分为其所对应的软件业务类别。具体的,根据所获取的应用软件的源代码,生成第一组二进制代码如Java字节码和部分C机器码,以及第二组二进制代码如另一部分C机器码,其中,第一组二进制代码对应第一类软件业务,第二组二进制代码对应第二类软件业务。
S503,利用打包工具,将全部Java字节码和C机器码打包成一个完整的可执行代码包。(应用程序包)
在依据上述步骤依据目标应用软件的源代码生成第一组二进制代码和第二组二进制代码,再将第一组二进制代码加载到第一处理器内,由第一处理器基于该第一组二进制代码执行对应的第一类软件业务,以及将第二组二进制代码加载到第二处理器内,由第二处理器基于该第二组二进制代码执行对应的第二类软件业务。
具体的,如图7所示,代码执行过程主要包括如下步骤:
所述将所述第一组二进制代码和所述第二组二进制代码打包成一个应用程序包并一起发布的步骤之后,所述方法还包括:
在监测到对应所述目标应用程序的启动请求时,启动所述目标应用程序;
加载全部可执行代码至所述第一子系统的内存中;
执行所述第一处理器的可执行代码;
判断是否存在所述第二处理器的可执行代码;
若不存在所述第二处理器的可执行代码,则进入所述目标应用程序的业务流程,直至接收到所述目标应用程序的退出请求;
若存在所述第二处理器的可执行代码,则所述第一处理器加载所述第二处理器的可执行代码至所述第二子系统的内存中,执行所述第二处理器的可执行代码,并确认所述第一处理器和所述第二处理器握手同步完成。
根据本公开实施例的一种具体实现方式,所述接收到所述目标应用程序的退出请求的步骤之后,所述方法还包括:
判断是否存在所述第二处理器的可执行代码;
若不存在所述第二处理器的可执行代码,所述第一处理器关闭和清理所述目标应用程序;
若存在所述第二处理器的可执行代码,通知所述第二处理器所述目标应用程序关闭,所述第一处理器等待所述第二处理器完成所述目标应用程序的清理和关闭。
进一步的,所述单芯片异构系统还包含第一模拟器和第二模拟器;
将所述第一组二进制代码加载到所述第一模拟器,以及,将所述第二组二进制代码加载到第二模拟器的步骤,包括:
启动所述第一模拟器和所述第二模拟器;
等待所述第一模拟器和所述第二模拟器建立同步通道,完成信息共享;
将所述第一组二进制代码加载到所述第一模拟器;
将所述第二组二进制代码加载到所述第二模拟器;
在所述第一模拟器上运行所述第一组二进制代码,在所述第二模拟器上运行所述第二组二进制代码。
在模拟器工作阶段,第一模拟器和第二模拟器通过同步通道共享信息,从而支持模拟应用软件在两个系统间无缝切换的软件融合方案,为融合软件方案的调试提供了便利。
根据本公开的另一种具体实施方式,上述S402所述的,根据预设分配规则以及所述目标应用软件的源代码,生成第一类软件业务对应的第一组二进制代码,以及第二类软件业务对应的第二组二进制代码的步骤,可以包括:
接收用户输入的分配请求,其中,所述分配请求包括所请求分配的目标性能模式,其中,所述目标性能模式为低功耗模式和高性能模式中的任一种;
若所述目标性能模式为低功耗模式,则将目标应用软件中的第一数量的软件业务编译为第一组二进制代码,将所述目标应用软件中的第二数量的软件业务编译为第二组二进制代码,其中,第二数量大于第一预设值;
若所述目标性能模式为高性能模式,则将所述目标应用软件中的第一数量的软件业务编译为第一组二进制代码,将所述目标应用软件中的第二数量的软件业务编译为第二组二进制代码,其中,第二数量小于第二预设值。
本实施方式中,限定系统可以根据用户的分配请求中所指示的目标性能模式提供不同的静态配置方案,即基于同一个目标应用软件的同一份源代码,在不同静态配置方案中可能生成不同的二进制代码。例如,在高性能方案中,目标软件的大多数逻辑都将被编译成第一处理器代码,少部分编译成第二处理器代码;在低功耗方案中,目标软件的大多数逻辑都将被编译成第二处理器代码,少部分编译成第一处理器代码。
需要说明的是,虽然限定第一数量与第二数量之间的大小关系,但不表示二者之间存在对应的大小关系即可。例如,在低功耗模式下,第一数量小于第二数量,或者限定第二数量大于第一预设值,此时优选第二数量尽可能的大,以便将更多的软件业务划分为低功耗的第二处理器处理的第二类软件业务。在高性能模式下,第一数量大于第二数量,或者限定第二数量小于第二预设值,此时优选第一数量尽可能的小,以便将更多的软件业务划分为高功耗的第一处理器处理的第一类软件业务。
上述本公开实施例提供的单芯片异构系统的控制方法,结合软件集成开发环境,能够基于应用软件的源代码生成对应不同性能处理器执行的软件业务,进一步优化了单芯片异构系统的配置方案和自动化程度。
此外,本公开实施例还提供了一种可穿戴设备,包括设备本体以及如上述实施例提供的单芯片异构,以实现可穿戴设备在不同软件业务下的功耗控制,尤其是智能手表类可穿戴设备,以满足可穿戴设备或者其他对功耗控制要求较高的电子设备。
可穿戴设备可以对应的执行上述单芯片异构系统及其控制方法对应的实施例中的内容,本实施例提供的可穿戴设备实施例中未详细描述的部分,参照上述方法实施例中记载的内容,在此不再赘述。
本公开实施例还提供了一种计算机程序产品,该计算机程序产品包括存储在非暂态计算机可读存储介质上的计算程序,该计算机程序包括程序指令,当该程序指令被计算机执行时,使该计算机执行前述方法实施例中的单芯片异构系统方法。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备能够实现上述方法实施例提供的方案。
或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备能够实现上述方法实施例提供的方案。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。
Claims (13)
1.一种单芯片异构系统的控制方法,其特征在于,应用于单芯片异构系统,所述单芯片异构系统集成于系统级芯片,所述单芯片异构系统包括第一处理器、第二处理器和共享外设,所述第一处理器与所述共享外设连接形成第一子系统,所述第二处理器与所述共享外设连接形成第二子系统;目标应用软件包含运行于所述第一处理器的第一类软件业务和运行于所述第二处理器的第二类软件业务;所述第一类软件业务和所述第二类软件业务不能同时执行;
所述方法包括:
加载所述目标应用软件;
如果当前所述目标应用软件对应的软件逻辑属于所述第一类软件业务,唤醒所述第一子系统,所述第一子系统获取所述共享外设的控制权,使用所述共享外设处理所述第一类软件业务;
在所述第一子系统处理完所述第一类软件业务后,如果需要执行所述第二类软件业务,所述目标应用软件迁移软件逻辑至所述第二子系统,所述第二子系统获取所述共享外设的控制权,使用所述共享外设,利用迁移的所述软件逻辑,继续处理所述第二类软件业务,且所述第一子系统放弃所述共享外设控制权,进入低功耗模式;
如果当前所述目标应用软件对应的软件逻辑属于所述第二类软件业务,所述第二子系统获取所述共享外设的控制权,使用所述共享外设处理所述第二类软件业务。
2.根据权利要求1所述的方法,其特征在于,所述共享外设包括显示模组和输入输出模组中的至少一种。
3.根据权利要求2所述的方法,其特征在于,所述显示模组包括显示屏或者显示灯;和/或,
所述输入输出模组包括触摸屏、按键、麦克风、指纹采集器、虹膜采集器中的至少一种。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述单芯片异构系统还包括硬件自旋锁,所述硬件自旋锁与所述第一处理器和所述第二处理器连接;
所述第一子系统获取所述共享外设的控制权的步骤,包括:
所述第一子系统的所述第一处理器向所述硬件自旋锁发起共享外设访问申请;
所述硬件自旋锁授权所述第一处理器访问所述共享外设;
所述第一处理器访问所述共享外设;或者,
所述第二子系统获取所述共享外设的控制权的步骤,包括:
所述第二子系统的所述第二处理器向所述硬件自旋锁发起共享外设访问请求;
所述硬件自旋锁授权所述第二处理器访问所述共享外设;
所述第二处理器访问所述共享外设。
5.一种单芯片异构系统的控制方法,其特征在于,应用于加载有软件集成开发环境的单芯片异构系统,所述单芯片异构系统集成于系统级芯片,所述单芯片异构系统包括第一处理器、第二处理器和共享外设,所述第一处理器与所述共享外设连接形成第一子系统,所述第二处理器与所述共享外设连接形成第二子系统;
所述方法包括:
接收目标应用软件的源代码;
根据预设分配规则以及所述目标应用软件的源代码,生成第一类软件业务对应的第一组二进制代码,以及第二类软件业务对应的第二组二进制代码,其中目标应用软件包含运行于所述第一处理器的第一类软件业务和运行于所述第二处理器的第二类软件业务,所述第一类软件业务和所述第二类软件业务不能同时执行;
将所述第一组二进制代码和所述第二组二进制代码打包成一个应用程序包并一起发布。
6.根据权利要求5所述的方法,其特征在于,所述将所述第一组二进制代码和所述第二组二进制代码打包成一个应用程序包并一起发布的步骤之后,所述方法还包括:
在监测到对应所述目标应用软件的启动请求时,启动所述目标应用软件;
加载全部可执行代码至所述第一子系统的内存中;
执行所述第一处理器的可执行代码;
判断是否存在所述第二处理器的可执行代码;
若不存在所述第二处理器的可执行代码,则进入所述目标应用软件的业务流程,直至接收到所述目标应用软件的退出请求;
若存在所述第二处理器的可执行代码,则所述第一处理器加载所述第二处理器的可执行代码至所述第二子系统的内存中,执行所述第二处理器的可执行代码,并确认所述第一处理器和所述第二处理器握手同步完成。
7.根据权利要求6所述的方法,其特征在于,所述接收到所述目标应用软件的退出请求的步骤之后,所述方法还包括:
判断是否存在所述第二处理器的可执行代码;
若不存在所述第二处理器的可执行代码,所述第一处理器关闭和清理所述目标应用软件;
若存在所述第二处理器的可执行代码,通知所述第二处理器所述目标应用软件关闭,所述第一处理器等待所述第二处理器完成所述目标应用软件的清理和关闭。
8.根据权利要求5所述的方法,其特征在于,所述单芯片异构系统还包含第一模拟器和第二模拟器;
所述根据预设分配规则以及所述目标应用软件的源代码,生成第一类软件业务对应的第一组二进制代码,以及第二类软件业务对应的第二组二进制代码的步骤之后,所述方法还包括:
启动所述第一模拟器和所述第二模拟器;
等待所述第一模拟器和所述第二模拟器建立同步通道,完成信息共享;
将所述第一组二进制代码加载到所述第一模拟器;
将所述第二组二进制代码加载到所述第二模拟器;
在所述第一模拟器上运行所述第一组二进制代码,在所述第二模拟器上运行所述第二组二进制代码。
9.根据权利要求5至8中任一项所述的方法,其特征在于,所述根据预设分配规则以及所述目标应用软件的源代码,生成第一类软件业务对应的第一组二进制代码,以及第二类软件业务对应的第二组二进制代码的步骤,包括:
接收用户输入的分配请求,其中,所述分配请求包括所请求分配的目标性能模式,其中,所述目标性能模式为低功耗模式和高性能模式中的任一种;
若所述目标性能模式为低功耗模式,则将目标应用软件中的第一数量的软件业务编译为第一组二进制代码,将所述目标应用软件中的第二数量的软件业务编译为第二组二进制代码,其中,第二数量大于第一预设值;
若所述目标性能模式为高性能模式,则将所述目标应用软件中的第一数量的软件业务编译为第一组二进制代码,将所述目标应用软件中的第二数量的软件业务编译为第二组二进制代码,其中,第二数量小于第二预设值。
10.一种可穿戴设备,其特征在于,应用于权利要求1至9中任一项所述的方法;所述可穿戴设备包括设备本体以及单芯片异构系统,所述单芯片异构系统集成于系统级芯片,所述单芯片异构系统包括第一处理器、第二处理器和共享外设,所述第一处理器与所述共享外设连接形成第一子系统,所述第二处理器与所述共享外设连接形成第二子系统。
11.根据权利要求10所述的可穿戴设备,其特征在于,所述单芯片异构系统还包括第一外设和第二外设;
所述第一处理器与所述第一外设和所述共享外设均连接以形成所述第一子系统,所述第二处理器与所述第二外设和所述共享外设均连接以形成所述第二子系统。
12.根据权利要求11所述的可穿戴设备,其特征在于,所述第一外设包括多媒体硬件和双倍速率同步动态随机存取内存中的至少一种;和/或,
所述第二外设包括静态存储器和传感器中的至少一种。
13.根据权利要求10至12中任一项所述的可穿戴设备,其特征在于,所述第一处理器为ARM A系列处理器,所述第二处理器为ARM M系列处理器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010530078.XA CN111694402B (zh) | 2020-06-11 | 2020-06-11 | 单芯片异构系统的控制方法和可穿戴设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010530078.XA CN111694402B (zh) | 2020-06-11 | 2020-06-11 | 单芯片异构系统的控制方法和可穿戴设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111694402A CN111694402A (zh) | 2020-09-22 |
CN111694402B true CN111694402B (zh) | 2021-10-01 |
Family
ID=72480327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010530078.XA Active CN111694402B (zh) | 2020-06-11 | 2020-06-11 | 单芯片异构系统的控制方法和可穿戴设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111694402B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112800715B (zh) * | 2021-01-14 | 2021-09-24 | 国家数字交换系统工程技术研究中心 | 软件定义晶上系统及数据交互方法和系统体系架构 |
CN115550891A (zh) * | 2021-06-29 | 2022-12-30 | 华为技术有限公司 | 业务数据传输方法及相关设备 |
CN114647610B (zh) * | 2022-02-17 | 2022-11-29 | 北京百度网讯科技有限公司 | 语音芯片实现方法、语音芯片及相关设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101790709A (zh) * | 2007-08-27 | 2010-07-28 | 马维尔国际贸易有限公司 | 动态核心切换 |
CN105824772A (zh) * | 2015-01-28 | 2016-08-03 | 三星电子株式会社 | 用于使用多个处理器来管理数据的方法和装置 |
CN109582310A (zh) * | 2018-11-30 | 2019-04-05 | 北京微播视界科技有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
CN109656538A (zh) * | 2017-10-11 | 2019-04-19 | 阿里巴巴集团控股有限公司 | 应用程序的生成方法、装置、系统、设备和介质 |
CN110347398A (zh) * | 2018-04-08 | 2019-10-18 | 阿里巴巴集团控股有限公司 | 一种应用程序的打包方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150044113A (ko) * | 2013-10-16 | 2015-04-24 | 한국전자통신연구원 | 멀티 태스크 할당 장치 및 그 방법 |
CN105793837B (zh) * | 2013-12-27 | 2020-10-20 | 英特尔公司 | 具有用于处理数据的两个处理器的电子设备 |
-
2020
- 2020-06-11 CN CN202010530078.XA patent/CN111694402B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101790709A (zh) * | 2007-08-27 | 2010-07-28 | 马维尔国际贸易有限公司 | 动态核心切换 |
CN105824772A (zh) * | 2015-01-28 | 2016-08-03 | 三星电子株式会社 | 用于使用多个处理器来管理数据的方法和装置 |
CN109656538A (zh) * | 2017-10-11 | 2019-04-19 | 阿里巴巴集团控股有限公司 | 应用程序的生成方法、装置、系统、设备和介质 |
CN110347398A (zh) * | 2018-04-08 | 2019-10-18 | 阿里巴巴集团控股有限公司 | 一种应用程序的打包方法和装置 |
CN109582310A (zh) * | 2018-11-30 | 2019-04-05 | 北京微播视界科技有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111694402A (zh) | 2020-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111694402B (zh) | 单芯片异构系统的控制方法和可穿戴设备 | |
JP7412438B2 (ja) | 外部メモリを機械学習アクセラレータにとってローカルとする仮想化 | |
EP2950211B1 (en) | Parallelism extraction method and method for making program | |
CN104520823A (zh) | 用于混合存储器管理的方法、系统和设备 | |
US20140040532A1 (en) | Stacked memory device with helper processor | |
CN109522087B (zh) | 基于国产申威处理器的虚拟机构建方法和系统 | |
EP2834744B1 (en) | System and method for memory management | |
US20230367722A1 (en) | Data processing device and method, and related products | |
US20140281610A1 (en) | Exploiting process variation in a multicore processor | |
TWI224728B (en) | Method and related apparatus for maintaining stored data of a dynamic random access memory | |
CN112199173B (zh) | 双核cpu实时操作系统数据处理方法 | |
CN103123589B (zh) | 一种移动终端的开机启动方法与装置 | |
CN109491934B (zh) | 一种集成计算功能的存储管理系统控制方法 | |
CN114490023A (zh) | 一种基于arm和fpga的高能物理可计算存储设备 | |
Ji et al. | Demand layering for real-time DNN inference with minimized memory usage | |
Meneses-Viveros et al. | Energy saving strategies in the design of mobile device applications | |
CN111694532B (zh) | 单芯片异构系统的显示控制方法和可穿戴设备 | |
US20150161062A1 (en) | Method, device and computer program for dynamic control of memory access distances in a numa type system | |
US6862675B1 (en) | Microprocessor and device including memory units with different physical addresses | |
CN113568734A (zh) | 基于多核处理器的虚拟化方法、系统、多核处理器和电子设备 | |
CN102542525B (zh) | 一种信息处理设备以及信息处理方法 | |
CN115617494A (zh) | 多cpu环境下的进程调度方法、装置、电子设备和介质 | |
JP5780296B2 (ja) | スレッド処理方法、およびスレッド処理システム | |
Alqudah et al. | Energy reduction through memory aware real-time scheduling on virtual machine in multi-cores server | |
JP2008243049A (ja) | 情報処理装置および同装置のメモリ制御方法 |
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 | ||
CB02 | Change of applicant information |
Address after: 8 / F, building 10, 399 Keyuan Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai 201203 (nominal Floor 9) Applicant after: Aojie Technology Co., Ltd Address before: 201203 Building 2, No. 399, Keyuan Road, free trade zone, Pudong New Area, Shanghai Applicant before: Aojie Technology (Shanghai) Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |