平码五不中公式规律
  • / 26
  • 下载费用:30 金币  

用于片上系统子系统外部访问检测和恢复的系统和方法.pdf

关 键 ?#21097;?/dt>
用于 系统 子系统 外部 访问 检测 恢复 方法
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
摘要
申请专利号:

CN201580048219.1

申请日:

2015.09.04

公开号:

CN106687884A

公开日:

2017.05.17

当前法律状态:

实审

有效性:

审中

法?#19978;?#24773;: 实质审查的生效IPC(主分类):G06F 1/32申请日:20150904|||公开
IPC分类号: G06F1/32 主分类号: G06F1/32
申请人: 高通股份有限公司
发明人: J·D·沙贝尔; P·小米勒; Z·赵; C·V·?#22266;?#37324;特; R·库尔卡尼
地址: 美国加利福尼亚
优?#28909;ǎ?/td> 2014.09.11 US 14/484,125
专利代理机构: 永新专利商标代理有限公司 72002 代理人: 张扬;王英
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201580048219.1

授权公告号:

|||

法律状态公告日:

2017.06.09|||2017.05.17

法律状态类型:

实质审查的生效|||公开

摘要

提出了用于便携式计算设备(PCD)中的片上系统(SoC)的子系统中的外部访问检测和恢复的系统和方法。在操作中,在SoC处于低功率状态(诸如非工作的或零功率状态或模式)?#29575;保琒oC的子系统在内部模式下独立于SoC地操作。该子系统包括处理器,该处理器与存储器、传感器和监控模块相通信。该监控模块检测该子系统的处理器?#38382;?#35831;求访问该子系统外部的组件。响应于该检测到的请求,使该SoC进入全功率状态或模式,并且使该子系统退出操作的内部模式。

权利要求书

1.?#24674;?#29992;于在便携式计算设备(PCD)中的片上系统(SoC)的子系统中进行外部访问检
测和恢复的方法,所述方法包括:
在所述SoC处于低功率状态?#29575;保?#22312;第一模式下独立于所述SoC地操作所述SoC的所述
子系统,所述子系统包括与存储器、传感器和监控模块相通信的处理器;
利用所述监控模块检测由所述处理器?#36816;?#36848;子系统外部的组件的访问请求;以及
响应于所检测到的?#36816;?#36848;子系统外部的所述组件的访问请求:
使所述SoC进入全功率状态,以及
使所述子系统在第二模式下操作。
2.如权利要求1所述的方法,其中,使所述SoC进入全功率状态还包括:
从所述子系统的所述监控模块向所述SoC的功率管理器发送用于激活所述功率管理器
的信号。
3.如权利要求1所述的方法,其中,所述监控模块包括与状态机相通信的硬件监控器,
并且其中,使所述子系统在所述第二模式下操作还包括所述监控模块激活所述状态机来禁
用所述子系统的隔离硬件。
4.如权利要求3所述的方法,其中,所述状态机在所述监控模块外部。
5.如权利要求1所述的方法,还包括:
响应于所检测到的由所述处理器?#36816;?#36848;子系统外部的所述组件的访问请求:
从所述子系统的所述监控模块向所述处理器发送用于向所述处理器通知所述组件在
所述子系统外部的通知信号。
6.如权利要求5所述的方法,还包括:
响应于所接收的来?#36816;?#36848;监控模块的通知信号,利用所述子系统的所述处理器发起错
误处理例程。
7.如权利要求1所述的方法,其中,在所述子系统外部的所述组件是存储器。
8.如权利要求1所述的方法,其中,所述传感器与所述PCD的加速计或陀螺仪中的至少
一个相通信。
9.?#24674;?#29992;于便携式计算设备(PCD)中的片上系统(SoC)的计算机系统,所述系统包括:
所述SoC的子系统,其被配置为在第一模式下独立地操作,所述子系统包括:
处理器,其与传感器和存储器相通信,以及
存储器监控器,其与所述处理器相通信,
其中,所述监控模块被配置为:
检测由所述处理器?#36816;?#36848;子系统外部的组件的访问请求,
响应于所检测到的访问请求,使所述SoC进入全功率状态,以及
响应于所检测到的访问请求,使所述子系统在第二模式下操作。
10.如权利要求9所述的系统,还包括与所述监控模块相通信的所述SoC的功率管理器,
其中:
所述监控模块被配置为:响应于所检测到的访问请求,向所述SoC的所述功率管理器发
送信号,以及
所述功率管理器被配置为使所述SoC进入所述全功率状态。
11.如权利要求9所述的系统,其中:
所述子系统还包括用于将所述子系统与所述SoC电隔离的隔离硬件;以及
所述监控模块包括:
硬件监控器,以及
状态机,其与所述硬件监控器和所述隔离硬件相通信,
其中,响应于所检测到的访问请求,所述硬件监控器激活所述状态机来禁用所述隔离
硬件。
12.如权利要求11所述的系统,其中,所述状态机位于所述监控模块外部。
13.如权利要求9所述的系统,其中,所述监控模块还被配置为:
响应于所检测到的访问请求,向所述处理器发送用于向所述处理器通知所述组件在所
述子系统外部的通知信号。
14.如权利要求13所述的系统,其中,所述处理器被配置为:响应于所接收的来?#36816;?#36848;
监控模块的通知信号,发起错误处理例程。
15.如权利要求9所述的系统,其中,在所述子系统外部的所述组件是存储器。
16.如权利要求9所述的系统,其中,所述传感器与所述PCD的加速计或陀螺仪中的至少
一个相通信。
17.?#24674;?#35745;算机程序产品,其包括非暂时性计算机可使用介?#21097;?#25152;述计算机可使用介质
具有被体现在其中的计算机可读程序代码,所述计算机可读程序代码适于?#24674;?#34892;以实现用
于在便携式计算设备(PCD)中的片上系统(SoC)的子系统中进行外部访问检测和恢复的方
法,所述方法包括:
在所述SoC处于低功率状态?#29575;保?#22312;第一模式下独立于所述SoC地操作所述SoC的所述
子系统,所述子系统包括与存储器、传感器和监控模块相通信的处理器;
利用所述监控模块检测由所述处理器?#36816;?#36848;子系统外部的组件的访问请求;以及
响应于所检测到的?#36816;?#36848;子系统外部的所述组件的访问请求:
使所述SoC进入全功率状态,以及
使所述子系统在第二模式下操作。
18.如权利要求17所述的计算机程序产品,其中,使所述SoC进入全功率状态还包括:
从所述子系统的所述监控模块向所述SoC的功率管理器发送用于激活所述功率管理器
的信号。
19.如权利要求17所述的计算机程序产品,其中,所述监控模块包括与状态机相通信的
硬件监控器,并且其中,使所述子系统在第二模式下操作还包括所述监控模块激活所述状
态机来禁用所述子系统的隔离硬件。
20.如权利要求17所述的计算机程序产品,还包括:
响应于所检测到的由所述处理器?#36816;?#36848;子系统外部的所述组件的访问请求:
从所述子系统的所述监控模块向所述处理器发送用于向所述处理器通知所述组件在
所述子系统外部的通知信号。
21.如权利要求20所述的计算机程序产品,还包括:
响应于所接收的来?#36816;?#36848;监控模块的通知信号,利用所述子系统的所述处理器发起错
误处理例程。
22.如权利要求17所述的计算机程序产品,其中,在所述子系统外部的所述组件是存储
器。
23.如权利要求17所述的计算机程序产品,其中,所述传感器与所述PCD的加速计或陀
螺仪中的至少一个相通信。
24.?#24674;?#29992;于在便携式计算设备(PCD)中的片上系统(SoC)的子系统中进行外部访问检
测和恢复的计算机系统,所述系统包括:
用于在所述SoC处于低功率状态?#29575;保?#22312;第一模式下独立于所述SoC地操作所述SoC的
所述子系统的单元,所述子系统包括与存储器和传感器相通信的处理器;
用于检测由所述处理器?#36816;?#36848;子系统外部的组件的访问请求的单元;以及
响应于所检测到的?#36816;?#36848;子系统外部的所述组件的访问请求:
用于使所述SoC进入全功率状态的单元,以及
用于使所述子系统在第二模式下操作的单元。
25.如权利要求24所述的系统,其中,所述用于使所述SoC进入全功率状态的单元还包
括:
用于从所述子系统向所述SoC的功率管理器发送用于激活所述功率管理器的信号的单
元。
26.如权利要求24所述的系统,其中,所述用于使所述子系统在所述第二模式下操作的
单元还包括用于禁用所述子系统的隔离硬件的单元。
27.如权利要求24所述的系统,还包括:
响应于所检测到的由所述处理器?#36816;?#36848;子系统外部的所述组件的访问请求:
用于向所述处理器发送用于向所述处理器通知所述组件在所述子系统外部的通知信
号的单元。
28.如权利要求27所述的系统,还包括:
用于响应于所接收的通知信号来发起错误处理例程的单元。
29.如权利要求24所述的系统,其中,在所述子系统外部的所述组件是存储器。
30.如权利要求24所述的系统,其中,所述传感器与所述PCD的加速计或陀螺仪中的至
少一个相通信。

说明书

用于片上系统子系统外部访问检测和恢复的系统和方法

相关技术领域

具有处理器的通过包括无线信号的各种各样的通信介质与其它设备通信的设备
是普遍存在的。包括便携式计算设备(PCD)的移动设备可以被用来经由无线的、模拟的、数
字的和其它的方式与各种各样的其它设备通信。这些移动设备可以包括移动电话、便携式
数?#31181;?#29702;(PDA)、便携式游戏操纵台、掌上计算机、平板计算机和其它便携式电子设备。

除了主要功能之外,PCD还可以用于下载并玩游戏;下载并播放音乐;下载并观看
视频;全球定位系统(GPS)导航,网络浏览,并运行诸如日历和地址应用、电子钱包软件等等
的应用。

为了适应这些?#25214;?#22686;长的用途和对更高性能的需求,现代PCD通常包括片上系统
(SoC),该SoC包括用于控制或执行该PCD的不同功能的一个或多个子系统或内核(例如,中
央处理单元、图形处理单元等)。但是,操作每个内核/CPU和该SoC本身增加该PCD上的功耗、
减少电池寿命、增加该PCD的触摸温度、降低服务质量等。

已经实现了各种低功率或降低功率模式策略,以降低由该SoC和/或其子系统或内
核消耗的功率。例如,当PCD没有?#24674;?#31471;用户活动地使用时,一些SoC在降低的或?#31995;?#30340;功率
模式下操作,该降低的或?#31995;?#30340;功率模式可以包括关闭该SoC的时段。

在这样的降低的或?#31995;?#30340;功率模式下,该SoC可以定期地加电或“唤?#36873;币?#20415;确定
该PCD和/或该SoC的各种功能的状态。但是,根据该SoC需要检查或确定什么功能的状态,对
整个SoC加电可能仍然引发明显的功率代价。另外,如果SoC的部?#20013;?#35201;访问该SoC的其它的
掉电的部分,则尝试只操作SoC的该部分以便节省功率可能导致该部分操作停止和/或变为
挂起。

因此,存在针对用以允许SoC内的子系统在该SoC的主要部分掉电和/或处于低功
率或降低功率模式?#29575;?#26377;效地操作的改进的系统和方法的需求。

发明内容

公开了用于允许由便携式计算设备(PCD)中的片上系统(SoC)的子系统进行外部
访问检测和恢复的系统和方法。在操作中,在SoC处于低功率状态(诸如非工作的或零功率
状态或模式)?#29575;保琒oC的子系统在内部模式下独立于SoC地操作。该子系统包括处理器,该
处理器与存储器、传感器和监控模块相通信。监控模块检测该子系统的处理器?#38382;?#35831;求访
问该子系统外部的组件。响应于该检测到的请求,使SoC进入全功率状态或模式,并且使该
子系统退出操作的内部模式。

一个示例性实施例?#19988;恢?#29992;于便携式计算设备(PCD)中的片上系统(SoC)的计算
机系统,所述系统包括:被配置为在内部模式下独立地操作的SoC的子系统,所述子系统包
括:与传感器和存储器相通信的处理器,以及与所述处理器相通信的存储器监控器,其中,
所述监控模块被配置为:检测由所述处理器?#36816;?#36848;子系统外部的组件的访问请求,响应于
所检测到的访问请求,使所述SoC进入全功率状态,以及响应于所检测到的访问请求,使所
述子系统退出所述内部模式。

另一个示例性实施例?#19988;恢?#35745;算机程序产品,其包括非暂时性计算机可使用介
?#21097;?#25152;述计算机可使用介质具有被体现在其中的计算机可读程序代码,所述计算机可读程
序代码适于?#24674;?#34892;以在便携式计算设备(PCD)中的片上系统(SoC)的子系统中实现外部访
问检测和恢复的方法,所述方法包括:在SoC处于低功率状态?#29575;保?#22312;内部模式下独立于所
述SoC地操作所述SoC的子系统,所述子系统包括处理器,所述处理器与存储器、传感器和监
控模块相通信;利用所述监控模块检测所述处理器?#36816;?#36848;子系统外部的组件的访问请求;
以及响应于所检测到的?#36816;?#36848;子系统外部的组件的访问请求:使所述SoC进入全功率状态,
并且使所述子系统退出所述内部模式。

附图说明

在附图中,除非另外指示,否则相似的参考标号贯穿各幅图?#22797;?#30456;似的部件。对于
具有诸如“102A”或“102B”的字母?#22336;?#21517;称的参考标号,该字母?#22336;?#21517;称可以区分存在于同
一幅图中的两个相似的部件或元件。在参考标号旨在涵盖所有附图中具有该相同参考标号
的所有部件时,参考标号的字母?#22336;?#21517;称可以被省略。类似地,对于具有‘名称,诸如102’的
参考标号,该‘名称可以指定具有相同参考标号(但是没有‘名称)的基础元件的替代实施
例。

图1是可以在其中实现本发明的便携式计算设备(PCD)的示例性实施例的框图;

图2A是示出了用于由PCD(诸如图1中示出的PCD实施例)中的SoC的子系统进行外
部访问检测和恢复的系统的示例性实施例的框图;

图2B是示出了图2A的示例性系统的方面的框图;

图3是示出了用于由PCD(诸如图1中示出的PCD实施例)中的SoC的子系统进行外部
访问检测和恢复的系统的另一个示例性实施例的框图;

图4A是描述用于实现PCD中的SoC的子系统的方法的示例性实施例的方面的流程
图;

图4B示出了能?#24674;?#34892;图4A中示出的方法的方面的示例性组件;

图5A是描述用于由SoC的子系统提供外部访问检测和恢复的方法的示例性实施例
的方面的流程图;以及

图5B示出了能?#24674;?#34892;图5A中示出的方法的方面的示例性组件。

具体实施方式

本文使用词语“示例性的”来意指“充当示例、实例或说明”。本文被描述为“示例性
的”任何方面不必然地被解释为优选的或比其它方面有优势。

在该描述中,术语“应用”还可以包括具有可执行内容的文件,例如:对象代码、脚
本、?#32440;?#20195;码、标记语言文件和补丁。另外,本文提及的“应用”还可以包括本质上不可执行
的文件,例如,可能需要被打开的文档或需要被访问的其它数据文件。

术语“内容”还可以包括具有可执行内容的文件,例如:对象代码、脚本、?#32440;?#20195;码、
标记语言文件和补丁。另外,本文提及的“内容”还可以包括本质上不可执行的文件,例如,
可能需要被打开的文档或需要被访问的其它数据文件或数据值。

如在该描述中使用的,术语“组件”、“数据库”、“模块”、“系统”等等旨在?#22797;?#35745;算
机相关实体,硬件、固件、硬件和软件的组合、软件或执行的软件。例如,组件可以是但不限
于运行在处理器上的进程、处理器、对象、可执行文件、执行的线程、程序和/或计算机。通过
说明的方式,运行在计算设备上的应用和该计算设备二者可以是组件。一个或多个组件可
以存在于进程和/或执行的线程内,并且组件可以被集中在一个计算机上和/或分布在两个
或更多计算机之间。另外,这些组件可?#28304;?#20855;有被存储在其上的各种数据结构的各种计算
机可读介质执行。组件可以诸如根据具有一个或多个数据分组(例如,来自与本地系统、分
布式系统和/或跨越例如互联网的网络中的另一个组件进行交互、通过信号的方式与其它
系统进行交互的一个组件的数据)的信号,通过本地和/或远程进程进行通信。

在该描述中,术语“便携式计算设备”(“PCD”)被用来描述工作在有限容量可充电
电源(例如,电池和/或电容器)上的任何设备。虽然具有可充电电源的PCD已经使用了数十
年,但是随着第三代(“3G”)和第四代(“4G”)无线技术出现的可充电电池的技术发展已经实
现具有多种能力的大量PCD。因此,PCD可以是蜂窝电话、卫星电话、寻呼机、PDA、智能电话、
导航设备、智能本或阅读器、媒体播放器、上述设备的组合、具有无线连接的膝上型或平板
计算机等等。

在该描述中,术语“中央处理单元(“CPU”)”、“数?#20013;?#21495;处理器(“DSP”)”、“图形处
理单元(“GPU”)”、“芯片”、“视频编解码器”、“系统总线”、“图像处理器”和“媒体显示处理器
(“MDP”)”是可以在SoC上实现的处理组件的非限制性示例。除了当另外指出时,用于处理组
件的这些术语可以可互换地使用。此外,如下面?#33268;?#30340;,上面的任何一个或其等效物可以被
实现在本文通常被称为“内核”和/或“子内核”的一个或多个不同的处理组件中,或由它们
组成。

在该描述中,术语“工作负载”、“进程负载”、“进程工作负载”和“图形工作负载”可
以可互换地使用并且通常是针对处理负担,或者处理负担的百分比的,其与给定实施例中
的给定处理组件相关联或者?#24674;?#27966;给该给定组件。另外,相关术语“框架”、“代码块”和“一
块代码”可以可互换地使用来?#22797;?#32473;定工作负载的一部分或片段。进一步针对上面所定义
的,“处理组件”等等可以是但不限于中央处理单元、图形处理单元、内核、主内核、子内核、
处理区域、硬件引擎等等,或者便携式计算设备内的集成电路内驻留的或在其外部的任何
组件。

本领域普通技术人员将认识到的是,术语“MIPS”表示处理器按照给定工?#30340;?#22815;处
理的每秒数百万指令的数量。在该描述中,该术语被用作用于在示例性实施例中指示处理
器性能的相对级别的一般测量单位,并且将不被解释为建议落在本公开内容?#27573;?#20869;的任何
给定实施例必须包括或必须不包括具有任何特定测试程序评级或处理能力的处理器。另
外,如将由本领域普通技术人员理解的是,处理器的MIPS设置直接与被提供给该处理器的
功率、频率或工作频率有关。

用于由PCD中的SoC的子系统进行外部访问检测和恢复的本系统和方法提供了一
种用?#35789;?#29616;该SoC的子系统的高性价比方式。该子系统被配置为在内部模式下独立于该SoC
的剩余部分地操作,包括?#22791;肧oC的剩余部分处于低功率模式时,例如,非工作的、休眠或零
功率状态或模式。该子系统包括:与传感器和存储器相通信的处理器,以及与该处理器相通
信的存储器监控器。监控模块被配置为检测由该处理器对该子系统外部的组件的访问请
求。响应于检测到对外部组件的访问请求,该监控模块除了其它动作可以使该SoC进入全功
率状态,使该子系统退出该内部模式。

在本系统和方法中,一旦该SoC进入低功率模式,该子系统就开?#35745;?#19982;该SoC电隔
离的独立操作。在“内部模式”下的该操作期间,从该子系统的处理器发送的信号或通信被
该子系统监控模块监控。如果该处理器尝试(正确地或错误地)访问诸如该子系统之外的存
储器之类的任何组件,则该监控模块检测所尝试的访问。

响应于该检测,该监控模块可以向该SoC的功率管理器发送通信以使该SoC“唤?#36873;?br />进入完全操作模式。该监控模块还可以使该子系统进入其能够与该SoC的剩余部分通信/重
新加入的状态或模式。该监控模块还可以向该子系统处理器发送通信,通知该处理器所尝
试的访问是针对外部组件的。如果对于该外部组件的访问是错误,则该处理器可以发起或
执行错误处理例程或代码以尝试并且从该错误恢复。

本系统和方法考虑到该SoC的子系统独立于该SoC的剩余部分的稳健的和灵活的
操作,例如,针对SoC传感器的例行检查,无需保持该SoC完全操作和/或无需促使该SoC从低
功率/降低功率模式或状态唤?#36873;?#26412;系统和方法使得这样的子系统独立地操作,并且从在这
样的独立的和隔离的子系统尝试访问该子系统外部的组件时造成的错误恢复。

这样的外部访问可能是正确的,例如,该子系统的处理器响应于来自该传感器的
输入而动作。在这些情况下,本系统和方法通过唤醒该SoC并促使该子系统离开内部/独立
模式以为该子系统提供用于访问该外部组件的路?#29420;?#36991;免错误消息、该子系统的?#35272;?#25110;其
它问题。这样的外部访问另一方面可能是由于该子系统的一些代码的错误。在这些情况下,
通知该子系统所尝试的外部访问可以允许错误处理例程被实现以尝试并?#21202;?#35813;错误,并且
允许该子系统继续操作,避免处理器或子系统停止或“挂起”。

在一个实施例中,该监控模块可以利用由至少一个监控器和状态机组成的单个硬
件设备?#35789;?#29616;,或者可以是包括与状态机相通信的至少一个监控器的单独的组件或设备。
通过在这些实施例中使用硬件设备用于该监控模块,在检测到该处理器所尝试的外部访问
时,即使这样尝试的外部访问已经使子系统处理器在等待该访问完成时停止或变为挂起,
?#37096;?#20197;发送中断信号。在其它实施例中,该监控模块可以只部分地用硬件或用固件?#35789;?#29616;。
在SoC处于低功率模式?#29575;保?#33258;动检测并且从由该隔离子系统对访问外部组件的尝试中恢
复的能力允许改进的SoC上的这样的子系统操作,以高性价比的方式从该SoC的减少操作提
供功?#24335;?#30465;。

用于提供由本文描述的PCD中的SoC的子系统进行外部访问检测和恢复的系统,或
者该系统的部分可以用硬件或软件?#35789;?#29616;。如果用硬件?#35789;?#29616;,则该设备可以包括本领域
中均公知的以下技术中的任何?#24674;?#25110;其组合:分立电子组件、集成电路、具有适当配置的半
导体器件和电阻元件的专用集成电路等等。这些硬件设备中的任何一个(无论单独动作还
是与其它设备或者诸如存储器之类的其它组件一起动作)还可以构成或包括用于执行所公
开的方法的各种操作或步骤的组件或单元。

当本文描述的PCD或其它系统用软件?#35789;?#29616;或部分地实现时,该软件部分可以被
用来执行本文描述的方法的各个步骤。在表示各个要素时使用的软件和数据可以被存储在
存储器中并且由合适的指令执行系统(微处理器)来执行。该软件可以包括用于实现逻辑功
能的可执行指令的有序列表,并且能够被体现在任何“处理器可读介质”中,用于由指令执
行系统、装置或设备(例如,单核或多核处理器或处理器包含系统)来使用或与之结合使用。
这样的系统通常将访问来自指令执行系统、装置或设备的指令并执行所述指令。

图1是可以以能够与一个或多个无线通信系统通信的无线电话的?#38382;?#23454;现本系统
和方法的PCD 100的示例性、非限制性方面的框图。这样的无线通信系统可以是宽带无线通
信系统,包括长期演进(LTE)系统、码分多址(CDMA)系统、频分多址(FDMA)系统、全球移动通
信(GSM)系统、无线局域网(WLAN)系统、?#25345;?#20854;它无线系统或这些中的任何的组合。CDMA系
统可以实现宽带CDMA(WCDMA)、CDMA 1X、演进型数据优化(EVDO)、时分同步CDMA(TD-SCDMA)
或?#25345;?#20854;它版本的CDMA。

如图所示,PCD 100包括片上系统(或SoC)102,其包括被耦合在一起的异构多核中
央处理单元(“CPU”)110和模拟信号处理器126。CPU 110可以包括如由本领域普通技术人员
理解的第零内核120、第一内核122、第二内核123和第N内核124。此外,代替CPU 110,如由本
领域普通技术人员理解的,还可以使用数?#20013;?#21495;处理器(“DSP”)。此外,如在异构多核处理
器的领域中理解的,内核120、122、123、124中的每个内核可以在相似的操作状况下以不同
效率处理工作负载。内核120、122、123、124中的每个内核可以控制PCD 100的一个或多个功
能。例如,第一内核120可以是用于控制PCD 100中的图形的图形处理单元(GPU)。这样的
GPU/第一内核120还可以包括控制PCD 100中的图形(包括控制GPU内核120和存储器112(包
括缓冲器)之间的通信)所需的驱动器和/或其它组件。举另一个示例,诸如第N内核124之类
的不同的内核可以运行PCD操作系统,例如,高级操作系统(HLOS)。这样的第N/HLOS内核124
还可以包括运行HLOS(包括内核230和存储器112(其可以包括闪存)之间的通信)所需的驱
动器、硬件接口和/或其它组件。

内核120、122、123、124中的任何一个可以是诸如CPU或数?#20013;?#21495;处理器之类的单
独的处理器。另外,这些内核中的每个内核在功能上可以与其它组件(诸如存储器112、传感
器或PCD 100的其它硬件)分组到一起以构?#19978;?#38754;描述的子系统。可以实现这样的子系统以
便执行PCD的?#25345;?#21151;能,例如,音频子系统、GPS子系统、传感器子系统等等。这样的子系统中
的一个或多个子系统还可以被配置为独立于SoC 102地操作,以诸如当SoC 102已经?#24674;?#20110;
低功率或降低功率状态或模式(包括?#31995;?#29366;态或模式)时继续操作。

如图1中示出的,显示控制器128和触摸屏控制器130被耦?#31995;?#22810;核CPU 110。?#26469;?br />的,在片上系统102外部的显示器/触摸屏132被耦?#31995;较允?#22120;控制器128和触摸屏控制器
130。数字照相机148?#37096;?#20197;被耦?#31995;?#22810;核CPU 110。在这样的实施例中,数字照相机148可以
受到多核CPU 110的内核中的一个内核的控制。在示例性方面中,数字照相机148是电荷耦
合设备(CCD)照相机或互补金属氧化物半导体(CMOS)照相机。

图1的PCD 100还可以包括视频编码器134,例如,被耦?#31995;?#22810;核CPU 110的逐?#26800;?br />相(PAL)编码器、顺序彩色和存储(SECAM)编码器、或者美国国?#19994;?#35270;系统委?#34987;?NTSC)编
码器或任何其它类型的视?#21040;?#30721;器134。此外,视频放大器136被耦?#31995;?#35270;频编码器134和显
示器/触摸屏132。视频端口138被耦?#31995;?#35270;频放大器136。如图1中描绘的,通用串行总线
(USB)控制器140被耦?#31995;?#22810;核CPU 110。此外,USB端口142被耦?#31995;経SB控制器140。存储器
112还被示出为被耦?#31995;?#22810;核CPU 110。这样的存储器112可以是例如随机存取存储器
(RAM)、只读存储器(ROM)、闪存或其任何组合。用户识别模块(SIM)卡146?#37096;?#20197;被耦?#31995;?#22810;
核CPU 110。在其它实施例中,可以实现多SIM卡146。

如图1中进一步示出的,立体声音频编解码器150可以被耦?#31995;?#22810;核CPU 110。此
外,音频放大器152可以被耦?#31995;?#31435;体声音频编解码器150。在示例性方面中,第一立体声扬
声器154和第二立体声扬声器156被耦?#31995;?#38899;频放大器152。图1示出了麦克风放大器158也
可以被耦?#31995;?#31435;体声音频编解码器150。另外,麦克风160可以被耦?#31995;?#40614;克风放大器158。
在特定方面中,调频(FM)无线电调谐器162可以被耦?#31995;?#31435;体声音频编解码器150。此外,FM
天线164被耦?#31995;紽M无线电调谐器162。此外,立体声耳机166可以被耦?#31995;?#31435;体声音频编解
码器150。

图1还指?#38236;?#21046;解调器设备/射频(“RF”)收发机168可以被耦?#31995;?#22810;核CPU 110。调
制解调器设备168可以支持无线通信协议中的一个或多个,例如GSM、CDMA、W-CDMA、
TDSCDMA、LTE和LTE的变型(例如但不限于,FDB/LTE和PDD/LTE无线协议)。另外,可以有多个
调制解调器设备168,并且在这样的实施例中,不同的调制解调器设备168可以支持上面列
出的无线通信协议和/或技术中的一些或全部。

在一些实现方式中,调制解调器设备168还可以包括各种组件,包括单独的处理
器、存储器和/或RF收发机。在其它实现方式中,调制解调器设备168可以仅仅是RF收发机。
此外,调制解调器设备168可以被并入到集成电路中。也就是说,包括调制解调器设备168的
组件可以是芯片中的完整解决方?#31119;?#24182;且包括可以由本文描述的系统和方法监控的它自己
的处理器和/或内核。替代地,包括调制解调器设备168的各个组件可以被耦?#31995;?#22810;核CPU
110并受到CPU 110的内核120、122、124中的一个内核的控制。RF开关170可以被耦?#31995;降?#21046;
解调器设备168和RF天线172。在各个实施例中,可以有多个RF天线172,并且每个这样的RF
天线172可以通过RF开关170被耦?#31995;降?#21046;解调器设备168。

如图1中示出的,键盘174可以直接地或通过模拟信号处理器126被耦?#31995;?#22810;核CPU
110。此外,具有麦克风的单声道耳机176可以被耦?#31995;?#22810;核CPU 110或模拟信号处理器126。
此外,振动器设备178?#37096;?#20197;被耦?#31995;?#22810;核CPU 110和/或模拟信号处理器126。图1还示出了
电源188可以被耦?#31995;?#29255;上系统102,并且在一些实现方式中,电源188经由USB控制器140来
耦合。在特定方面中,电源188是直流(DC)电源,其为PCD 100的需要电力的各个组件提供电
力。此外,在特定方面中,电源188可以是可充电DC电池或DC电源,其是源自于被连接到交流
(AC)电源的AC至DC转换器的。

多核CPU 110还可以被耦?#31995;?#19968;个或多个内部的、片上热传感器157A以及一个或
多个外部的、片外热传感器157B。片上热传感器157A可以包括一个或多个绝对温度成比例
(“PTAT”)温度传感器,其基于垂直PNP结构并且通常专用于互补金属氧化物半导体
(“CMOS”)超大规模集成(“VLSI”)电路。片外热传感器157B可以包括一个或多个热敏电阻。
热传感器157可以产生电压降,其利用模拟数字转换器(“ADC”)控制器103转换为数?#20013;?#21495;。
但是,在不背离本公开内容的?#27573;?#30340;情况下可以使用其它类型的热传感器157。

图1还指示PCD 110还可以包括网卡114,其可以被用来接入数据网络,例如,局域
网、个域网或任何其它网络。网卡114可以是蓝牙网卡、WiFi网卡、个域网(PAN)卡或本领域
公知的任何其它网卡。此外,网卡114可以被并入到集成电路中。也就是说,网卡114可以是
芯片中的完整解决方?#31119;?#24182;且可以不是单独的网卡114。

如图1中描绘的,显示器/触摸屏132、视频端口138、USB端口142、照相机148、第一
立体声扬声器154、第二立体声扬声器156、麦克风160、FM天线164、立体声耳机166、RF开关
170、RF天线172、键盘174、单声道耳机176、振动器178和电源180在SoC 102外部。

SoC 102还可以包括各种总线控制器(未示出)。例如,第一示例可以是对将CPU
110通信地耦?#31995;?#22810;媒体子系统的组件(包括视频编码器134)的总线接口中的信号的响应。
应该理解的是,?#25105;?#25968;量的类似配置的总线控制器可以被安排用来监控在片上系统102中
排列的总线接口。替代地,单个总线控制器可以被配备有输入,该输入被安排用来监控在
CPU 110和如可能想要的PCD 100的各个子系统之间传送信号的两个或更多总线接口。

在特定方面中,本文描述的方法步骤中的一个或多个可以经由被存储在存储器
112和/或位于CPU 110上的存储器中的数据和处理器指令的组合?#35789;?#29616;。这些指令可以由
多核CPU 110中的一个或多个内核120、122、123、124和/或SoC 102的子系统来执行,以便执
行本文描述的方法。此外,多核CPU 110、内核120、122、123、124中的一个或多个内核、存储
器122、PCD 100的其它组件或其组合可以充当用于执行本文描述的方法步骤中的一个或多
个的单元,以便由SoC 102的子系统实现外部访问检测和恢复。

图2A和2B是示出了用于由PCD(诸如图1中示出的PCD实施例)中的SoC的子系统进
行外部访问检测和恢复的系统的示例性实施例的框图。图2A和2B示出了如下?#33268;?#30340;不同操
作状态下的示例性系统200/200’的相同实施例。图2A示出了当SoC 202处于非工作的/低功
率或零功率模式或状态下并且子系统A 220正在独立地操作时的示例性系统200。图2B示出
了当SoC 202是全工作的/供电时的示例性系统200’。

从图2A开始,示例性系统200包括片上系统(SoC)集成电路202,其可以被实现在
PCD(类似于图1中的SoC 102)中。图2A的SoC 202包括均被连接到SoC 202的互连或总线250
的子系统A 220、子系统B 230和子系统C 240。SoC 202的互连/总线250可以是任何期望类
型的总线或互连,其可以取决于SoC 202的架构和/或SoC 202或PCD想要用于的用途。

SoC 202还包括与互连/总线250相通信并且还与SoC 202外部的存储器DDR 280相
通信的存储器控制器260。存储器控制器260可以控制对SoC 202的各个存储器的访问,并且
还可以在SoC 202被加电和/或处于工作的状态或模式?#29575;?#20801;许SoC 202的各个组件(包括
子系统A 220、子系统B 230和子系统C 240)访问外部DDR 280存储器。

SoC 202还包括具有内部逻辑272的功率管理器270,该内部逻辑272使得SoC 202
能够进入并退出各种功率模式或状态,包括工作的/全功率模式和状态以及非工作的低功
率模式和状态。?#36824;躍oC 202的工作的状态如何,功率管理器270总是被打开/供电并且能够
根据该PCD的要求按需对SoC 202唤醒或掉电。

在图2A中示出的实施例中,子系统A 220被配置为能够独立于SoC 202的其它部分
操作,包括当SoC 202处于低功率和/或非工作的模式或状态?#29575;?#25805;作。相比之下,所示出的
实施例中的子系统B 230和子系统C 240不被配置为独立于SoC 202的其它部分操作。因此,
当SoC 202处于低功率和/或非工作的模式或状态?#29575;保?#23376;系统B 230和C 240将是非工作
的。

子系统A 220包括处理器CPU 222,其可以被实现为图1的内核120、122、123、124中
的一个内核。在一些实施例中,CPU 222可以被实现为通用处理单元,而在其它实施例中,
CPU 222可以被实现为专用处理器,诸如DSP。子系统A 220的CPU 222与存储器228和传感器
229相通信,其也是独立于SoC 202的其它部分工作和操作的,包括在SoC 202处于低功率
和/或非工作模式或状态?#29575;?#25805;作。

在各个实施例中,子系统A 220可以包括比图2A中示出的更多或更少的组件。另
外,在一些实施例中,子系统A 220的组件物理上可以在SoC 202上位于彼此附近,构成SoC
202的物理子系统。在其它实施例中,子系统A 220的组件物理上可以在SoC 202上?#29420;?#24444;
此,使得图2A中示出的子系统A 220表示包括位于SoC 202上不同?#24674;?#30340;组件的子系统。另
外,为了允许在SoC 202的剩余部分处于低功率或零功率状态或模式?#29575;?#25805;作,子系统A
220还可以包括本地电源轨(未示出)和/或本地数据总线(利用子系统A 220的组件之间的
连接器线路部分地示出)。

图2A中示出的传感器229在一些实施例中可以与PCD的加速计和/或陀螺仪有关。
在其它实施例中,传感器229根据需要可以与该PCD的音频、无线、GPS或其它功能有关。另
外,子系统A 220可以包括比图2A中示出的单个传感器229更多的传感器。例如,子系统A
220可以包括两个或更多传感器,包括不同类型的或与SoC 202和/或PCD的不同功能有关的
传感器。

图2A中示出的存储器228可以是任何期望类型的存储器,但是通常将不是?#20102;?#25110;
其它代码密集类型的存储器。如下面?#33268;?#30340;,存储器228充当子系统A 220的本地存储器。因
此,既当SoC 202在全工作时也当SoC 202处于低功率或零功率模式或状态时,CPU 222可以
从存储器228读取数据和向其写入数据。在各个实施例中,子系统A 220可以包括比图2A中
示出的单个存储器228更多的存储器。例如,子系统A 220可以包括两个或更多存储器,并且
每个这样的存储器根据需要可以是相同类型的或不同类型的(或者其任何组合)。

如图2A中示出的,子系统A 220包括与CPU 222相通信的、用于监控来自CPU 222的
信号/通信的监控模块224。所示出的监控模块224是用硬件?#35789;?#29616;的,并且包括硬件监控器
和状态机225。在各个实施例中,监控模块224和状态机225可以是单独的组件而不是图2A中
示出的单个组件。例如,监控模块224和状态机225可以是与彼此和/或与CPU 222通信的单
独的硬件组件。监控模块224和/或状态机225用来在如下面?#33268;?#30340;子系统A 220独立于SoC
202的剩余部分操作时提供外部访问检测和恢复。

子系统A 220还包括用图2A中的隔离HW框226表示的各种隔离硬件。该隔离HW 226
用来将子系统A 220与SoC 202的剩余部分隔离,使得子系统A能够在SoC 202进入低功率或
零功率模式或状态时继续操作。例如,如图2A中示出的,当SoC 202处于非工作的/低功率模
式或状态?#29575;保?#38548;离HW 226能够用来通过隔离与互连/总线250的连?#27704;?#20351;子系统A 220(及
其组件)与SoC 202的剩余部分电隔离。隔离HW 226可以包括实现与SoC 202的剩余部分隔
离(包括与SoC 202的互连/总线250、电源轨等等隔离)所需的箝位电路(clamp)和其它硬件
组件。

在操作中,SoC 202可以进入非工作的和/或低功率或零功率模式或状态,诸如分
开功?#24335;?#30465;例程。子系统A 220的隔离HW 226致力于将子系统A 220与SoC 202的剩余部分
进?#26800;?#30340;或其它方式的隔离,允许子系统A 220继续独立于SoC 202的剩余部分操作。例如,
SoC 202可能由于该PCD的不活动已经进入休眠或非工作模式。

但是,可能期望或者需要SoC 202定期地检查传感器(诸如与无线连接、GPS连接或
定位有关的传感器)、该PCD的加速计或陀螺?#19988;?#30830;定用户正在移动/操作该PCD,定期地检
查音频传感器以检测诸如来自该PCD的用户的唤醒声音或命令等等。子系统A 220能够在
SoC 202处于休眠、降低功率或非工作模式?#29575;保?#22312;与SoC 202的剩余部分电隔离的“孤岛模
式”或“内部模式”下继续独立地操作,而不是定期地唤醒整个SoC 202来执行这样的检查。
当在这样的孤岛模式下操作时,子系统A 220或子系统A的诸如CPU 222之类的处理器可以
根据需要监控本地传感器229(和任何另外的传感器)和/或访问本地存储器228。针对子系
统A 220的该孤岛操作模式允许在检查传感器229之前以比?#20013;?#22320;唤醒SoC 202低的多的功
率代价/开销来对传感器229进行期望的或必要的检查。

在SoC 202的子系统A 220正在该孤岛模式下操作时,监控模块224监控去往和来
自CPU 222的通信/信号。如果CPU 222基于例如来自传感器229的信号尝试访问子系统A
220外部的组件,监控模块224检测所尝试的访问。例如,如果CPU 222在子系统A 220正在孤
岛模式?#29575;?#23581;试访问诸如DDR 280之类的外部存储器,则监控模块224将检测所尝试的访
问。然后,监控模块224将向SoC功率管理器270发送诸如中断或其它通信之类的信号,告诉
SoC功率管理器270开始唤醒SoC 202以允许CPU 222访问DDR 280。

SoC功率管理器270可以包括允许SoC功率管理器270解释来自监控模块224的信号
或通信的逻辑272。在一些实施例中,在接收到该信号时,SoC功率管理器270可以用来仅仅
使由CPU 220完成该访问所需的SoC 202的部分变为?#36824;?#30005;/可操作。在这些实施例中,来自
监控模块224的信号或通信可以包括SoC功率管理器270诸如使用逻辑272来解释以确定完
成该访问所需的SoC 202的组件的信息。在其它实施例中,在接收到来自监控模块224的信
号时,SoC功率管理器270用来使整个SoC 202恢复到工作的和/或供电的状态或模式。

监控模块224还可?#28304;?#21457;状态机225将子系统A 220转变到非孤岛/常规工作的模
式,使得子系统A 220能够与SoC 202的剩余部分通信。在监控模块224和状态机225是单独
组件的实施例中,监控模块224可以发送诸如中?#29616;?#31867;的信号来触发状态机225。在状态机
225是监控模块224的一部分的实施例中,监控模块224可以直接控制状态机225的操作。

继续上面的CPU 222正在尝试访问DDR 280的示例,监控模块224可?#28304;?#21457;状态机
225使隔离HW 226重?#29575;?#33021;与互连/总线250的通信,以使得CPU 220能够完成到外部存储器
DDR 280的访问。其它示例可以包括使其它硬件将子系统A 220重新连接到SoC 202电源轨
以支持子系统A 220和/或子系统A 220的组件(诸如CPU 222)的增加的活动的状态机225。

总之,在上面的示例中,监控模块224检测CPU 222对子系统A 220外部的组件(诸
如DDR 280)的访问的尝试。监控模块224或者自身或者结合状态机225使用该检测到的尝试
的访问作为用来唤醒SoC 202的剩余部分以提供到CPU 222正在尝试访问的组件的路径和/
或唤醒该组件的触发。监控模块224再次地或者自身或者结合状态机225,还使子系统A 220
进入子系统A(及其组件,诸如CPU 22)的状态,并且进入其能够与SoC 202的剩余部分通信
和/或交互的状态或模式。

在另一个示例中,SoC 202是非工作的/处于低功率或零功率模式,并且子系统A
220继续在诸如孤岛模式或内部模式下操作。在该示例中,CPU 222可以由于来自传感器229
的信号或由于由CPU 222执行的一些代码或例程的错误而尝试访问子系统A 220外部的组
件(诸如DDR 280)。如上所述在检测到子系统A 220外部的尝试访问之后,监控模块224还能
够向CPU 222发送用于通知CPU 222所尝试的访问(在该示例中是DDR 280的访问)是在子系
统A 220外部的信号。

在各个实施例中,监控模块224可以在执行上面描述的各种“唤?#36873;?#21151;能之前、之后
或替代它而向CPU 222发送该信号/通信。从监控模块224到CPU 222的信号或通信可以具有
任何期望的?#38382;劍?#35832;如对CPU 222的中断。在一些实施例中,监控模块224可以总是向CPU
222发送信号/通信而不考虑CPU 222尝试的外部访问是正确的还是错误的。在这样的实施
例中,在接收到来自监控模块224的信号时,如果CPU 222确定所尝试的访问不是错误的,则
CPU 222可以忽略该信号,或者如果所尝试的外部访问是错误的,则CPU 222可以发起或开
始一个或多个错误处理例程或代码。

对于这些实施例,通过用硬件?#35789;?#29616;监控模块224,通过使得对外部组件的访问能
够完成,并且还通过利用该外部访问的通知向CPU 222发送中断,监控模块224允许更大的
或改进的机会供CPU 222和/或子系统A 220从任何错误恢复,该错误可能是由于CPU 222在
子系统A 220在(或进入或退出)?#29420;隨oC 202的剩余部分的孤岛模式下操作时尝试访问外
部组件而发生的。

在各个实施例中,对于监控模块224可能优选的是在监控模块224执行针对SoC
202和/或子系统A 220的其它“唤?#36873;?#21151;能之前向CPU 222发送信号/中断。在其它实施例中,
对于该监控模块224可能优选的是?#24674;?#34892;“唤?#36873;?#21151;能,直到CPU 222已经接收到该信号/中
断并且向监控模块224响应为止。

转向图2B,示出了在SoC 202’已经被唤醒和/或以全功率操作之后的系统200’。如
图2B中示出的,子系统A 220’和SoC 202’之间的连?#27704;?#22914;已经通过禁用隔离HW 226’被恢
复。所恢复的SoC 202’和子系统A 220’之间的连接包括CPU 222’和互连/总线250’之间的
通信,其允许有供CPU 222’访问子系统A 220’外部的组件(诸如外部存储器DDR 280’)的路
?#19969;?br />

在一些实施例中,当SoC 202’已经返回到全功率/工作的状态时,监控模块224’可
以诸如根据来自以下的信号或确认被禁用:SoC 202’的SoC功率管理器270’或其它组件的
或来自监控模块224’内部的用来在监控模块224’向SoC功率管理器270’发送“唤?#36873;?#20449;号/
通信时禁用监控模块224’的触发器或逻辑。

在其它实施例中,监控模块224’可以在SoC 202’已经返回到全功率/工作的状态
时继续监控CPU 222’。在这样的实施例中,监控模块224’可以在检测到CPU 222’尝试访问
子系统A 220’外部的诸如DDR 280’之类的组件时不再采取任何动作。例如,监控模块224’
可以不再向SoC功率管理器器270’发送“唤?#36873;?#20449;号/通信和/或不再向CPU 222’发送用于警
告CPU 222’关于所尝试的对子系统A 220’外部的组件的访问的信号/通信。

图3是示出了用于由PCD(诸如图1中示出的PCD实施例)中的SoC的子系统进行外部
访问检测和恢复的系统的第二示例性实施例的框图。与图2A和2B中示出的实施例类似,图3
的系统300包括SoC 302,其具有均被连接到SoC 302的互连或总线350的子系统A 320、子系
统B 330和子系统C 340。图3的实施例还包括也被连接到该互连/总线350的子系统D 390。
SoC 302的互连/总线250可以是任何期望类型的总线或互连,其可以取决于SoC 302的架构
和/或SoC 302或PCD意在用于的用途。

SoC 302还包括与互连/总线350相通信并且还与SoC 302外部的存储器DDR 380相
通信的存储器控制器360。存储器控制器360可以控制对SoC 302的各个存储器的访问,并且
还可以允许SoC 302的各个组件(包括子系统A 320、B 330、C 340和D 390)在SoC 302被加
电和/或处于工作的状态或模式?#29575;?#35775;问外部DDR 380存储器。SoC 302还包括功率管理器
370,其类似于上面关于图2A-2B?#33268;?#30340;SoC功率管理器270来操作。

在图3中示出的实施例中,子系统A 320和子系统D 390均被配置为能够独立于SoC
302的其它部分(并且彼此独立地)操作,包括在SoC 302处于低功率和/或非工作的模式或
状态?#29575;?#25805;作。相比之下,所示出的实施例中的子系统B 330和子系统C 340不被配置为独
立于SoC 302的其它部分操作。因此,子系统B 330和C 340在SoC 302处于低功率和/或非工
作的模式或状态?#29575;?#23558;是非工作的。

与上面在图2A-2B中?#33268;?#30340;子系统A 220相似,图3的子系统A 320包括处理器CPU
322,其可以被实现为图1的内核120、122、123、124中的一个内核。在一些实施例中,CPU 322
可以被实现为通用处理单元,而在其它实施例中,CPU 322可以被实现为专用处理器。子系
统A 320的CPU 322与存储器328和传感器329相通信,它?#19988;?#26159;独立于SoC 302的其它部分
工作和操作的,包括在SoC 302处于低功率和/或非工作的模式或状态?#29575;?#25805;作。如上面讨
论的,虽然在图3中只示出一个存储器328和一个传感器329,但是子系统A 320可以包括多
个并且不同类型的存储器和/或传感器。

子系统A 320包括用图3中的隔离HW框326表示的各种隔离硬件。隔离HW 326用来
将子系统A 320与SoC 302的剩余部分隔离,使得如上面?#33268;?#30340;,子系统A 320能够在SoC
302进入低功率或零功率模式或状态时继续操作。隔离HW 326可以包括实现与SoC 302的剩
余部分隔离(包括与SoC 302的互连/总线350、电源轨等等的隔离)所需的箝位电路和其它
硬件组件。

如图3中示出的,子系统A 320还包括与CPU 322相通信的、用于监控来自CPU 322
的信号/通信的监控模块324。所示出的监控模块324用硬件?#35789;?#29616;,并且包括硬件监控器以
及状态机(未示出)。在各个实施例中,监控模块324和状态机可以是单独的组件而不是图3
中示出的单个组件。监控模块324和/或状态机用来如上面?#33268;?#30340;在子系统A 320正在独立
于SoC 302的剩余部分操作时提供外部访问检测和恢复。

图3的实施例包括子系统D 390,其也被配置为独立于SoC 302的剩余部分(包括子
系统A)诸如在上面?#33268;?#30340;孤岛模式下操作。除了子系统D 390将DSP 392实现为处理单元,
子系统D 390类似于子系统A 320。子系统D 390的各个其它组件(包括隔离HW 396、监控模
块394、存储器398和传感器399)是类似于上面针对子系统A 320?#33268;?#30340;组件。

注意到的是,针对子系统A 320和子系统D 390二者示出的组件是说明性的。子系
统A 320和/或子系统D 390中的每个子系统可以包括另外的或不同的组件。例如,子系统A
320和/或子系统D 390中的每个子系统可以包括局部通信总线、局部电源轨等等,以允许相
应的子系统独立于SoC 302的剩余部分操作。类似地,系统300除了图3中示出的子系统A
320和子系统D 390还可以包括被配置为独立于SoC 302的剩余部分操作的另外的子系统。

虽然示出的具有与彼此类似的组件,但是子系统A 320可以具有与子系统D不同的
组件和不同配置的组件。例如,子系统A 320可以包括除了所示出的传感器329之外的多个
传感器,而子系统D 390可以只包括一个传感器399。类似地,与子系统D 390的传感器399相
比,子系统A 320的传感器329可以是不同种类的传感器和/或与PCD的不同功能领域有关。
例如,如上面?#33268;?#30340;,子系统A 320的传感器329可以与音频功能有关,并且可以用来感测来
自该PCD的用户的“唤?#36873;?#21629;令或声音,而子系统D 390的传感器399可以与该PCD的加速计
和/或陀螺仪有关。其它配置和/或类型的传感器?#37096;?#20197;被实现在所示出的子系统中的?#25105;?br />者或两者中。

操作地,子系统A 320和子系统D 390中的每个子系统将如上面关于图2A-2B的子
系统A 220?#33268;?#22320;来操作。因此,子系统A 320或子系统D 390中的?#25105;?#32773;或两者可以在SoC
302处于非工作的和/或低功率或零功率模式或状态?#29575;?#22312;孤岛模式下操作。每个子系统的
监控模块324和394将用来检测它们相应的CPU 322或DSP 392对访问它们相应的子系统外
部的SoC 302的组件的尝试。如果检测到这样的外部访问,则每个监控模块324或394可以针
对其相应的子系统采取上面针对图2A-2B的监控模块200?#33268;?#30340;动作中的一个或多个动作。
?#28304;?#26041;式,当SoC 302处于非工作的状态?#29575;保?#20854;可以具有继续在包括上面?#33268;?#30340;孤岛模式
下操作的多个子系统,如上面?#33268;?#30340;,每个子系统执行其自己?#24674;?#27966;的功能并且每个子系
统具有唤醒SoC 302的能力。

图4A是描述用于实现PCD中的SoC的子系统的方法400的示例性实施例的方面的流
程图。在框410中,诸如图2A-2B的SoC 202或图3的SoC 302之类的SoC进入低功率模式,诸如
降低功率或零功率状态或模式。例如,?#22791;肞CD没有?#24674;?#31471;用户活动地操作时,SoC可以进入
?#31995;?#21151;率模式,作为该SoC或该PCD的功?#24335;?#30465;例程或程序的一部分。

该SoC包括至少一个子系统,例如,上面?#33268;?#30340;子系统A 220/320,其被配置为独立
于该SoC的剩余部分操作。在框420处,该子系统的隔离硬件(诸如上面?#33268;?#30340;子系统A 320/
330的隔离HW 220/320)致力于将该子系统与SoC的剩余部分进?#26800;?#30340;和其它方式的隔离。

该子系统的子系统监控器在方法400的框430处被启用。该子系统监控器可以包括
上面针对图2A-2B和3?#33268;?#30340;子系统A 220/320的监控模块224/324。如下面在图5A-5B中描
述的,该子系统监控器用来监控来自处理器的通信/信号并执行针对该子系统的外部访问
检测和恢复。

转向图5A,示出了描述用于由SoC的子系统提供外部访问检测和恢复的方法500的
示例性实施例的流程图。方法500可以被实现为上面?#33268;?#30340;方法400的子系统监控器框430。
方法500开始于框510,在框510处检测到来自子系统处理器的信号。该子系统能够并且正在
独立于该SoC的剩余部分操作,诸如例如,图2A的子系统A 220。将子系统A 220用作示例,在
来自该处理器的操作信号或通信期间,由可以包括硬件监控器的监控模块224对CPU 222进
行监控和/或检测。

如上面?#33268;?#30340;,来自CPU 222的这样的信号或通信可以包括访问子系统A 220的诸
如存储器228或传感器229之类的各个组件或其它组件的尝试。一旦检测到来自CPU 222的
信号/通信,在框512处,作出关于被访问的组件是否是本地的,或者CPU 222是否正在尝试
访问该子系统外部的组件的确定。例如,CPU 222可能正在尝试访问子系统A 220外部的SoC
202上的另一个组件,或者CPU 222可能正在尝试访问SoC 202外部的诸如DDR 280的组件。

如果CPU 222访问的组件是本地的,即是独立于该SoC的剩余部分操作的子系统A
220的一部分,则CPU 222在框514中访问该组件并且方法500返回,这可以包括返回到监控
来自CPU 222的信号/通信。

如果在框512中确定CPU 222想要访问的组件不是子系统A 220本地的,则在框516
中发起唤?#36873;?#32487;续图2A的监控模块224的示例,框516的唤醒可以包括使SoC 202如上所述的
唤醒/进入工作的状态或模式。在一个实施例中,框516的唤醒可以通过监控模块224向SoC
202的总是开启的SoC功率管理器270发送信号或通信(诸如中断)来完成。然后,SoC功率管
理器270可以根据所接收的信号/通信或中断来动作,以使SoC 202的部分或整个SoC 202加
电和/或变为工作的,以便创建由CPU 222期望的访问路?#19969;?br />

框516的唤醒可以替代或另外包括使子系统A220自身进入其能够与SoC 202的剩
余部分通信或交互的状态或模式。例如,在一个实施例中,该子系统A 202的框516的唤醒部
分可以通过监控模块224向状态机225(其根据需要可以与监控模块224分离或被并入到监
控模块224中)发送信号或通信来完成。然后,状态机225可以例如通过禁用隔离HW 226和/
或在SoC 202的互连/总线250和CPU 202之间建立通信来使子系统A 220退出孤岛模式,使
得其再次与SoC 202的剩余部分一起操作。在各个实施例中,框516可以使子系统A 220?#24674;?br />入其能够与SoC 202通信/交互的状态或模式,以便根据需要与SoC 202的唤醒同时、在其之
前或之后发生。

在该方法的框518中,外部访问信号被发?#36879;?#35797;图访问外部组件的子系统处理器。
再次继续使用图2A的系统200的示例,框518的信号在实施例中可以是诸如从监控模块224
到CPU 222的中?#29616;?#31867;的信号或通信。该信号通知或警告CPU 222其正在尝试访问子系统A
220外部的诸如存储器之类的组件。

然后,该方法将在框520中确定该外部访问尝试是否错误。例如,在接收到来自监
控模块224的信号或中断时,CPU 222可以确定访问外部组件的尝试是CPU 222上或子系统A
320中运行的代码或例程的错误的结果。如果该外部访问不是错误,则该CPU可以作出该确
定或仅仅忽略来自监控模块224的信号/中断并且在框514中访问外部组件,并且方法500在
SoC 202已经被唤醒/返回到工作状态或模式并且子系统A 220不再在孤岛模式下和/或独
立于SoC 202操作时结束。

如果该外部访问尝试?#19988;?#20123;错误的结果,则该方法可以尝试执行错误清理以?#21202;?br />该错误。这样的错误清理可以包括如上面?#33268;?#30340;,在上面的示例中CPU 222操作或发起错误
处理例程/代码以尝试并解决造成该外部访问的错误。然后,方法500将返回。

如将由本领域普通技术人员理解的,图4A和5A仅仅描述所公开的方法400和500的
一个示例性实施例。在其它实施例中,另外的框或步骤可以被添加到图4A中示出的方法400
或图5A中示出的方法500。类似地,在一些实施例中,图4A或5A中示出的各个框或步骤可以
被组合或省略。方法400或500的这样的变型在本公开内容的?#27573;?#20869;。

另外,该说明书(包括图4A或5A)中描述的过程或过程流程中的某些步骤,可以自
然地优先于本发明的其它步骤以便在如描述的实施例中起作用。但是,本公开内容不限于
描述的步骤的顺序,如果这样的顺序或次序不改变本发明的功能的话。此外,认识到的是,
在不背离本公开内容的?#27573;?#30340;情况下,一些步骤可以在其它步骤之前、之后或与之并行(基
本上同时地)执行。例如,如上面?#33268;?#30340;,在图5A中,并不是必须在框516中发起的唤醒中的
任何或全部唤?#35759;?#22312;框518的发送该外部访问信号之前执行。相反,框516的唤醒中的一些
或全部唤醒可以在框518的发送该外部访问信号之后执行,或者在各个实施例中若需要的
话甚至在执行框522的错误清理之后执行。

另外,在一些情况下,在不背离本发明的情况下某些步骤可以被省略或?#24674;?#34892;。方
法400和500的这样的变型在本公开内容的?#27573;?#20869;。此外,诸如“其后”、“然后”、“接下来”、
“随后”等等之类的词语并旨在限制步骤的顺序。这些词语仅仅被用来引导读者逐个浏览示
例性方法的描述。

上面针对方法400和500二者描述的各种操作、方法或功能可以由各种硬件和/或
软件组件/模块来执行。这样的组件和/或模块可以提供用于执行各个描述的操作、方法或
功能的单元。一般来讲,在附图中示出的方法具有相应的对应的功能单元附图的情况下,操
作框与具有相似编号的功能单元框相对应。例如,图4A中示出的框410-430与图4B中示出的
功能单元框410’-430’相对应。类似地,图5A中示出的框510-522对与图5B中示出的功能单
元框510’-522’相对应。

另外,基于例如本说明书中的流程图和相关联的描述,编程领域的普通技术人员
能够毫不费力地编写计算机代码或识别适当的硬件和/或电路?#35789;?#29616;所公开的发明。因此,
认为特定程序代码指令集或详细的硬件设备的公开内容对于充分理解如?#38382;?#29616;和使用本
发明不是必须的。在上面的描述中并且结合附图(其可以示出各个过程流程)更详细地解释
了所声明的处理器实现的过程的发明的功能。

在如上面指示的一个或多个示例性方面中,所描述的功能可以用硬件、软件、固件
或其任何组合?#35789;?#29616;。如果用软件?#35789;?#29616;,则所述功能可以被存储在计算机可读介质(诸如
非暂时性处理器可读介质)上或作为计算机可读介质上的一个或多个指令或代码来传输。
计算机可读介质包括数据存储介质和通信介质二者,通信介质包括有助于程序从一个?#24674;?br />到另一个?#24674;?#30340;传送的任何介质。

存储介质可以是可以由计算机或处理器存取的任何可用介质。通过示例而非限制
的方式,这样的计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存
储或其它磁存储设备,或可以被用来携带或存储具有指令或数据结构?#38382;?#30340;期望的程序代
码并且可以由计算机存取的任何其它介质。如本文使用的,磁盘或光盘包括压缩光盘
(“CD”)、激光光盘、光盘、数字多功能光盘(“DVD”)、软盘和蓝光光盘,其中硬盘通常磁性地
复制数据,而光盘则利用激光来光学地复制数据。上述组合也应该被包括在非暂时性计算
机可读介质的?#27573;?#20869;。

虽然已经详细地示出并描述了选择的方面,但是应该理解的是,可以在不背离如
由所附权利要求定义的本发明的情况下,在本文做出各种替代和修改。

关于本文
本文标题:用于片上系统子系统外部访问检测和恢复的系统和方法.pdf
链接地址:http://www.pqiex.tw/p-6091566.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

[email protected] 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
平码五不中公式规律 pk10牛牛棋牌游戏官网 上海福彩投注平台 微信彩票官方网站 酒鬼酒股票 重庆百变王牌还有吗 足彩开奖结果与奖金是几点出来 股票行情手机 在线股票行情 福彩3d出号走势图彩宝 福彩3d跨度走势图500