低功率集线器上的gnss服务的制作方法

文档序号:6242245阅读:216来源:国知局
低功率集线器上的gnss服务的制作方法
【专利摘要】低功率集线器上的GNSS服务。在一个实施例中,控制器包括逻辑,其至少部分地包括硬件逻辑,被配置成从位置测量设备接收位置数据,将位置数据缓存在本地存储器中,并响应于一个或多个触发条件而将位置数据从本地存储器释放到远程处理器。可描述其他实施例。
【专利说明】低功率集线器上的GNSS服务

【背景技术】
[0001]本文中的主题一般地涉及电子设备领域且更特别地涉及电子设备中的低功率集线器上的全球导航卫星系统(GNSS)服务。
[0002]基于位置的服务和地理防护技术一般地依赖于基于网络的定位服务,例如全球定位系统(GPS)定位服务,以确定移动计算设备的位置。此类基于网络的定位服务要求消耗相当大量的功率。相应地,用于提供基于GNSS服务的附加系统和技术可具有实用性。

【专利附图】

【附图说明】
[0003]参考附图来描述本详细描述。
[0004]图1一2是根据某些实施例的可适合于在低功率集线器上实现GNSS服务的示例性电子设备的不意图。
[0005]图3是根据某些实施例的将在低功率集线器上实现GNSS服务的示例性架构的高级示意图。
[0006]图4是图示出根据某些实施例的将在低功率集线器上实现GNSS服务的方法中的操作的流程图。
[0007]图5是根据某些实施例的用于将在低功率集线器上实现GNSS服务的方法的时序图。
[0008]图6 —10是根据某些实施例的可适合于在低功率集线器上实现GNSS服务的示例性电子设备的示意图。

【具体实施方式】
[0009]本文所述的是将在电子设备中的低功率集线器上实现GNSS服务的示例性系统和方法。在以下描述中,产生了许多特定细节以提供各种实施例的透彻理解。然而,本领域的技术人员将理解的是可在没有特定细节的情况下实施各种实施例。在其他情况下,未图示出或详细地描述众所周知的方法、程序、部件以及电路以免使特定实施例含糊难懂。
[0010]本文所述的各种实施例使得各种移动电子设备、例如智能电话、膝上型计算机、平板计算机、电子读取器等能够在低功率集线器上实现GNSS服务,从而减少电子设备的功率消耗。举例来说,在本文所述的某些示例中,电子设备适合于将GNSS数据缓冲功能卸载到可结合到电子设备中的低功率控制器,从而延长用于设备的一个或多个主处理器能够保持在低功率状态、例如睡眠状态等的持续时间。在某些示例中,可将来自诸如GNSS设备之类的位置测量设备的GNSS数据传递至低功率控制器,其将GNSS数据缓存在一个或多个存储器缓冲器中。当低功率控制器检测到触发条件时,可将该GNSS数据释放到电子设备的一个或多个主处理器。还可将来自其他定位设备、例如WiFi网络设备或蜂窝式网络设备的位置数据缓存在低功率控制器中。
[0011]在本文所述的某些实施例中,低功率控制器可包括在本文中称为位置服务管理器的逻辑以管理数据缓冲过程。可将该位置服务管理器实现为在低功率控制器上或其一个或多个部件上操作的逻辑,例如硬件、软件、固件或其组合。将参考附图来描述其他方面。
[0012]图1是根据某些实施例的可适合于在低功率控制器上实现GNSS服务的电子设备100的不意图。在一个实施例中,电子设备100包括一个或多个所附输入/输出(I/O)设备,其包括具有屏幕104的显示器102、一个或多个扬声器106、键盘110、一个或多个其他I/O设备112以及鼠标114。一个或多个其他I/O设备112可包括触摸屏、语音激活输入设备、轨迹球以及允许电子设备100从用户接收输入的任何/或其他设备。
[0013]在各种示例中,可将电子设备100体现为个人计算机、膝上型计算机、个人数字助理、移动电话、娱乐设备或另一计算设备。电子设备100包括系统硬件120和存储器130,其可实现为随机存取存储器和/或只读存储器。可将文件存储器180通信耦合到电子设备100。文件存储器180可在计算设备108内部,诸如,例如一个或多个硬盘驱动器、CD-ROM驱动器、DVD-ROM驱动器或其他类型的存储设备。文件存储器180也可在计算机108外部,诸如,例如一个或多个外部硬盘驱动器、网络附着储存器或单独存储网络。
[0014]系统硬件120可包括一个或多个处理器122、图形处理器124、网络接口 126以及总线结构128。在一个实施例中,可将处理器122体现为可从美国加利福尼亚州圣克拉拉市的英特尔公司获得的Intel ? Core2 Duo?处理器。本文所使用的术语“处理器”意指任何类型的计算元件,诸如但不限于微处理器、微控制器、复杂指令集计算(CISC)微处理器、精简指令集(RISC)微处理器、超长指令字(VLIW)微处理器或任何其他类型的处理器或处理电路。
[0015]一个或多个图像处理器124可充当管理图形和/或视频操作的附属处理器。可将一个或多个处理器124集成到一个或多个处理器122的封装中、计算系统100的母板上,或者可经由扩展槽而耦合在母板上。
[0016]在一个实施例中,网络接口 126可以是有线接口,诸如以太网接口(参见例如电气和电子工程师学会/UEEE 802.3-2002)或无线接口,诸如IEEE 802.lla、b或g依从的接口(参见例如用于系统之间的IT电信和信息交换的IEEE标准LAN/MAN——第II部分:无线LAN媒体接入控制(MAC)和物理层(PHY)规范修订4:2.4GHz波段中的进一步较高数据速率扩展,802.11G-2003)。无线接口的另一示例将是一般分组无线电服务(GPRS)接口(参见例如GPRS手机要求指南、全球移动通信系统/GSM协会2002年12月3.0.1版)。
[0017]总线结构128连接系统硬件128的各种部件。在一个实施例中,总线结构128可以是多个类型的一个或多个总线结构中的一个或多个,包括存储器总线、外围总线或外部总线和/或使用任何种类的可用总线架构的本地总线,包括但不限于11位总线、工业标准结构(ISA)、微通道架构(MSA)、扩展ISA (EISA)、智能驱动电子设备(ISA)、VESA本地总线(VLB)、外围部件互连(PCI)、通用串行总线(USB)、高级图形端口(AGP)、个人计算机存储器卡国际协会总线(PCMCIA)以及小型计算机系统接口(SCSI)。
[0018]存储器130可包括用于管理计算设备108的操作的操作系统140。在一个实施例中,操作系统140包括提供到系统硬件120的接口的硬件接口模块154。另外,操作系统140可包括管理在计算设备108的操作中使用的文件的文件系统150和管理在电子设备100上执行的过程的过程控制子系统152。
[0019]操作系统140可包括(或管理)可结合系统硬件120进行操作以从远程源收发数据分组和/或数据流的一个或多个通信接口。操作系统140还可包括提供操作系统140与常驻于存储器130中的一个或多个应用模块之间的接口的系统调用接口模块142。可将操作系统140体现为UNIX操作系统或其任何衍生物(例如Linux、Solaris等)或者作为Windows?牌操作系统或其他操作系统。
[0020]存储器130可包括在一个或多个处理器122上执行的一个或多个应用程序。该应用程序在未被电子设备100使用时可存储在诸如文件存储器180之类的永久性存储器中。在使用中,可将应用程序拷贝到存储器130以便执行。在图1中所描述的实施例中,该应用程序包括一个或多个应用程序160。
[0021]在某些实施例中,电子设备100可包括低功率控制器170。可将控制器170实现为位于电子设备100的母板上或被耦合到该母板的独立集成电路。在图1中所描述的实施例中,控制器170包括处理器172、存储器174、I/O模块176和位置服务管理器178。
[0022]在某些实施例中,存储器模块174可包括持久性闪速存储器模块且I / O模块176可包括串行I/o模块或并行I/O模块。由于控制器170在物理上与系统硬件120和操作系统140分离,所以附属控制器170可以在系统硬件120保持在低功率消耗状态、例如睡眠状态的同时而独立地操作。此外,低功率控制器170在低功率控制器170对于通过操作系统140的黑客操作不可访问的意义上可以是安全的。
[0023]图2是可适合于在低功率控制器上实现GNSS服务的电子设备200的另一示例的示意图。在某些方面,可将电子设备200体现为移动电话、平板计算设备、个人数字助理(PDA)、笔记本计算机等。电子设备200可包括RF收发机220以收发RF信号和信号处理模块222以处理由RF收发机220接收到的信号。
[0024]RF收发机220可经由协议来实现本地无线连接,诸如,例如蓝牙或802.11X.1EEE802.lla、b or g依从接口(参见例如用于系统之间的IT电信和信息交换的IEEE标准LAN/MAN—第II部分:无线LAN媒体接入控制(MAC)和物理层(PHY)规范修订4:2.4GHz波段中的进一步较高数据速率扩展,802.11G-2003)。无线接口的另一示例将是一般分组无线电服务(GPRS)接口(参见例如GPRS手机要求指南、全球移动通信系统/GSM协会2002年12月3.0.1 版)。
[0025]电子设备200还可包括一个或多个处理器224和存储器模块240。本文所使用的术语“处理器”意指任何类型的计算元件,诸如但不限于微处理器、微控制器、复杂指令集计算(Cl SC )微处理器、精简指令集(RI SC )微处理器、超长指令字(VLIW )微处理器或任何其他类型的处理器或处理电路。在某些实施例中,处理器224可以是可从加利福尼亚州圣克拉拉市的Intel?公司获得的Intel? PXA27x处理器系列中的一个或多个处理器。替换地,可使用其他处理器,诸如英特尔的Itanium?、XEON?、ATOM?和Celeron?处理器。并且,可利用来自其他制造商的一个或多个处理器。此外,该处理器可具有单核或多核设计。
[0026]在某些实施例中,存储器模块240包括随机存取存储器(RAM);然而,可使用诸如动态RAM (DRAM)、同步DRAM (SDRAM)等其他存储器类型来实现存储器模块240。存储器240可包括在一个或多个处理器222上执行的一个或多个应用程序242。
[0027]电子设备200还可包括一个或多个输入/输出接口,诸如,例如键区226和一个或多个显示器228。在某些实施例中,电子设备200包括一个或多个照相机模块230和图像信号处理器232以及扬声器234。
[0028]在某些实施例中,电子设备200可包括低功率控制器270,其可以类似于上述控制器170的方式来实现。在图2中描述的实施例中,控制器270包括一个或多个处理器272、存储器模块274、I/O模块276以及位置服务管理器278。在某些实施例中,存储器模块274可包括持久性闪速存储器模块,并且可将认证模块276实现为在持久性存储器模块、例如固件或软件中编码的逻辑指令。I/O模块276可包括串行I/O模块或并行I/O模块。再次地,由于附属控制器270在物理上与一个或多个主处理器224分离,所以辅助控制器270能够在一个或多个处理器224保持在低功率消耗状态、例如睡眠状态的同时独立地操作。此夕卜,低功率控制器270在低功率控制器270对于通过操作系统140的黑客操作不可访问的意义上可以是安全的。
[0029]图3是将在低功率控制器上实现GNSS服务的示例性架构300的高级示意图。参考图3,低功率控制器320经由适当通信总线而被通信耦合到处理器310。控制器320可包括用以管理GNSS数据缓冲操作及其他定位服务的位置服务管理器330和本地存储器340。如上所述,在某些示例中,可将位置服务管理器330实现为在控制器320上可执行的逻辑指令,例如作为软件或固件,或者可缩减成硬接线逻辑电路。可使用易失性和/或非易失性存储器来实现本地存储器340,并且其可包括一个或多个存储器缓冲器342、344。
[0030]可将控制器320通信耦合到一个或多个本地定位设备350,其提供指示电子设备是否在运动中或其他环境条件下的信号。例如,本地定位服务350可包括加速度计352、磁强计358、接近检测器356、定向传感器358、陀螺仪360或和气压计362。
[0031]还可将控制器320通信耦合到一个或多个位置测量设备370,其可包括GNSS设备372、WiFi设备374和蜂窝式网络设备376。GNSS设备372可使用诸如全球定位系统(GPS)等卫星网络来生成位置测量结果。WiFi设备374可基于WiFi网络接入点的位置而生成位置测量结果。同样地,小区ID设备可基于相应蜂窝式基站的地理坐标而生成位置测量结果O
[0032]已描述了将在电子设备中的低功率集线器上实现GNSS服务的系统的各种结构,将参考图4来解释系统的操作方面,其为图示出将在电子设备中的低功率集线器上实现GNSS服务的方法中的操作的流程图。可用位置服务管理器330来实现图4的流程图中所描述的操作。
[0033]参考图4,在操作410处,位置服务管理器330从一个或多个位置测量服务370中的一个或多个接收位置数据。在某些示例中,位置服务管理器330从GNSS设备372接收GNSS测量数据并将该GNSS测量数据存储在本地存储器340中。例如,可将GNSS测量数据存储(操作415)在存储器缓冲器342、344中的一者或两者中。
[0034]如果在操作420处未满足一个或多个触发条件,则控制返回到操作410且位置服务管理器330继续接收并存储从一个或多个位置测量设备370接收到的数据。相比之下,如果在操作420处,满足一个或多个触发条件,则控制转到操作425,并且位置服务管理器330将位置数据释放到一个或多个处理器310,并且如果需要的话在此类时间唤醒主处理器。
[0035]触发条件的一个示例可以是经历预定时间段。例如,可将位置服务管理器330配置成以诸如每1000至5000毫秒的预定时间间隔释放存储在本地存储器340中的GNSS测量数据。
[0036]替换地或另外,可将位置服务管理器330配置成响应于从GNSS 372接收到的数据值(测量结果)而释放存储在本地存储器340中的GNSS测量数据。
[0037]替换地或另外,可将位置服务管理器330配置成响应于来自本地定位设备350中的一个或多个的信号而释放存储在本地存储器340中的GNSS测量数据,该信号指示控制器320被结合到其中的电子设备是否在运动中、已改变其定向,或者响应于如气压计362的输出的改变所指示的环境的改变。
[0038]替换地或另外,可将位置服务管理器330配置成响应于用于已更新位置信息的请求而释放存储在本地存储器340中的GNSS测量数据。该请求可源自于电子设备的用户或者在处理器310上执行的应用程序。
[0039]替换地或另外,可将位置服务管理器330配置成响应于本地存储器已消耗预定量的存储容量的确定而释放存储在本地存储器340中的GNSS测量数据。例如,可将位置服务管理器330配置成响应于一个或多个数据缓冲器342、344处于其存储容量的95%的确定而释放GNSS测量数据。在替换示例中,可将位置服务管理器330配置成将从位置测量设备370接收到的位置测量数据以交替方式写入缓冲器342、344中。例如,可将该测量数据首先存储到缓冲器342,并且当缓冲器342填充时,可释放缓冲器342中的数据,并且可将新数据存储在缓冲器344中。
[0040]在操作430处,位置服务管理器330针对从位置测量设备370接收到的新的位置测量数据而将本地存储器340中的缓冲器指针重置。控制然后返回到操作410且位置服务管理器继续从一个或多个位置测量设备370接收位置数据。
[0041 ] 因此,图4中所描述的操作使得位置服务管理器330能够缓冲从位置测量设备370接收到的位置测量数据,并响应于一个或多个触发条件而周期性地将位置测量数据释放到电子设备中的一个或多个主处理器310。这使得一个或多个主处理器310能够保持在睡眠状态达延长的时间段,从而减少电子设备中的功率消耗。
[0042]图5是根据某些实施例的用于将在低功率集线器上实现GNSS服务的方法的时序图。如图5中所示,GNSS设备372周期性地激活以向控制器320发送位置测量数据,并且控制器320激活以从GNSS设备372接收数据并将该数据存储在本地存储器340中。一个或多个处理器310响应于满足触发条件而被周期性地激活。如从图5显而易见的,将位置测量数据缓存在控制器320中明显地增加一个或多个处理器310能够花费在低功率状态的时间量。
[0043]如上所述,在某些实施例中,可将电子设备体现为计算机系统。图6图示出根据本发明的实施例的计算系统600的框图。计算系统600可包括一个或多个中央处理单元(CPU)602或处理器,其经由互连网络(或总线)604进行通信。处理器602可包括通用处理器、网络处理器(处理通过计算机网络603传送的数据)或其他类型的处理器(包括精简指令集计算机(RISC)处理器或复杂指令集计算机(CISC))。此外,处理器602可具有单核或多核设计。具有多核设计的处理器602可将不同类型的处理器核集成在同一集成电路(IC)管芯上。并且,可将具有多核设计的处理器602实现为对称或不对称多处理器。在实施例中,处理器602中的一个或多个可与图1的处理器102相同或类似。例如,处理器602中的一个或多个可包括参考图1一4所讨论的控制单元120。并且,可由系统600的一个或多个部件来执行参考图3— 5所讨论的操作。
[0044]芯片组至I/O复合体606也可与互连网络604通信。芯片组至I/O复合体606可包括图形存储器控制集线器(GMCH) 608。GMCH 608可包括与存储器612 (其可与图1的存储器130相同或类似)通信的存储器控制器610。存储器412可存储可由处理器602或包括在计算系统600中的任何其他设备执行的数据,包括指令序列。在本发明的一个实施例中,存储器612可包括一个或多个易失性储存(或存储)设备,诸如随机存取存储器(RAM)、动态RAM (DRAM)、同步DRAM (SDRAM)、静态RAM (SRAM)或其他类型的存储设备。还可利用易失性存储器,诸如硬盘。附加设备可经由互连网络604进行通信,诸如多处理器和/或多系统存储器。
[0045]GMCH 608还可包括与显示设备616通信的图形接口 614。在本发明的一个实施例中,图形接口 614可经由加速图形端口(AGP)与显示设备616通信。在本发明的实施例中,显示器616 (诸如平板显示器)可通过例如信号转换器与图形接口 614通信,该信号转换器将存储在诸如视频存储器或系统存储器之类的存储设备中的图像的数字表示转换成由显示器616解释和显示的显示信号。由显示设备产生的显示信号可在被解释器616显示且随后显示在其上面之前通过各种控制设备。
[0046]集线器接口 618可允许MCH 608和输入/输出控制集线器(ICH) 620进行通信。ICH 620可提供与计算系统600通信的一个或多个接口 I/O设备。ICH 620可通过外围桥(或控制器)624与总线622通信,诸如外围部件互连(PCI)桥、通用串行总线)USB)控制器或其他类型的外围桥或控制器。桥624可提供处理器602与外围设备之间的数据路径。可利用其他类型的拓扑结构。并且,多个总线可例如通过多个桥或控制器与ICH 620通信。此外,与ICH 620通信的其他外围设备在本发明的各种实施例中可包括一个或多个集成驱动器电子电路(IDE)或小型计算机系统接口(SCSI)硬盘驱动器、一个或多个USB端口、键盘、鼠标、一个或多个并行端口、一个或多个串行端口、一个或多个软盘驱动器、数字输出支持(例如数字视频接口(DVI))或其他设备。
[0047]总线622可与音频设备626、一个或多个磁盘驱动器628以及网络接口设备630(其与计算机网络603通信)通信。其他设备可经由总线622进行通信。并且,各种部件(诸如网络接口设备630)在本发明的某些实施例中可与MCH 608通信。另外,可将处理器602和本文所讨论的一个或多个其他部件组合而形成单个芯片(例如以提供芯片上系统(S0C))。此外,在本发明的其他实施例中可在MCH 608内包括图形加速器616。
[0048]此外,计算系统600可包括易失性和/或非易失性存储器(或储存器)。例如,非易失性存储器可包括以下各项中的一个或多个:只读存储器(ROM)、可编程ROM (PR0M)、可擦PROMCEPROM),电EPROM (EEPR0M)、磁盘驱动器(例如628)、软盘、紧凑式磁盘ROM (CD-ROM)、数字多功能磁盘(DVD)、闪速存储器、磁光磁盘或能够存储电子数据(例如,包括指令)的其他类型的非易失性机器可读介质。
[0049]图7图示出根据本发明的实施例的计算系统700的框图。系统700可包括一个或多个处理器702-1至702-N (在本文中一般地称为“多个处理器702”或“处理器702”)。处理器702可经由互连网络或总线704进行通信。每个处理器可包括各种部件,为了明了起见仅参考处理器702-1讨论了其中的某些。相应地,其余处理器702-2至702-N中的每一个可包括参考处理器702-1所讨论的相同或类似部件。
[0050]在实施例中,处理器702-1可包括一个或多个处理器核706-1至706-M(在本文中称为“多个核706”或者更一般地为“核706”)、共享高速缓存器708、路由器710和/或处理机控制逻辑或单元720。可在单个集成电路(IC)芯片上实现处理器核706。此外,芯片可包括一个或多个共享和/或私用高速缓存器(诸如高速缓存器708)、总线或互连(诸如总线或互连网络712)、存储器控制器或其他部件。
[0051]在一个实施例中,路由器710可用来在处理器702-1和/或系统700的各种部件之间进行通信。此外,处理器702-1可包括超过一个路由器710。此外,大量路由器710可进行通信以使得能够实现在处理器702-1内部或外部的各种部件之间的数据路由。
[0052]共享高速缓存器708可存储被处理器702-1的一个或多个部件、诸如核706利用的数据(例如,包括指令)。例如,共享高速缓存器708可本地地高速缓存存储在存储器714中的数据以用于处理器702的部件的更快速访问。在实施例中,高速缓存器708可包括中级高速缓存器(诸如2级(L2)、3级(L3)、4级(L4)或其他层级的高速缓存器)、末级高速缓存器(LLC)和/或其组合。此外,处理器702-1的各种部件可直接地、通过总线(例如,总线712)和/或存储器控制器或集线器与共享高速缓存器708进行通信。如图7中所示,在某些实施例中,核706中的一个或多个可包括I级(LI)高速缓存器716-1 (在本文中一般地称为“LI高速缓存器716”)。在一个实施例中,控制单元720可包括将实现上文参考图2中的存储器控制器122所述的操作的逻辑。
[0053]图8图示出根据本发明的实施例的计算系统的处理器核706的各部分及其他部件的框图。在一个实施例中,图8中所示的箭头图示出指令通过核706的流动方向。可在诸如参考图7所讨论的单个集成电路芯片(或管芯)上实现一个或多个处理器核(诸如处理器核706)。此外,芯片可包括一个或多个共享和/或私用高速缓存器(例如图7的高速缓存器708)、互连(例如图7的互连704和/或112)、控制单元、存储器控制器或其他部件。
[0054]如图8中所示,处理器核706可包括将获取指令(包括具有条件分支的指令)以便由核706执行的获取单元802。该指令可从诸如存储器714之类的任何存储设备获取。核706还可包括将对已获取指令进行解码的解码器单元804。例如,解码器单元804可将已获取指令解码成多个UOP (微操作)。
[0055]另外,核706可包括调度单元806。调度单元806可执行与存储已解码指令(例如,从解码单元804接收到)相关联的各种操作直至该指令准备好派送为止,例如直至已解码指令的所有源值变得可用为止。在一个实施例中,调度单元806可调度和/或向执行单元808发布(或派送)已解码指令以用于执行。执行单元808可在派送指令被解码(例如,由解码单元804)并派送(例如,由调度单元806)指令执行该派送指令。在实施例中,执行单元808可包括超过一个执行单元。执行单元808还可执行各种算术运算,诸如加法、减法、乘法和/或除法,并且可包括一个或多个算术逻辑单元(ALU)。在实施例中,协处理器(未示出)可结合执行单元808而执行各种算术运算。
[0056]此外,执行单元808可无序地执行指令。因此,在一个实施例中,处理器核706可以是无序处理器。核706还可包括撤消单元810。撤消单元810可在已执行指令被提交之后将其撤消。在实施例中,已执行指令的撤消可导致处理器状态从指令的执行调拨、,由指令所使用的物理存储器被解除分配等。
[0057]核706还可包括将使得能够经由一个或多个总线(例如总线804和/或812)来实现处理器核706的各部件与其他部件(诸如参考图8所讨论的部件)之间的通信的总线单元714。核706还可包括将存储被核706的各种部件访问的数据(诸如与功率消耗状态设置有关的值)的一个或多个寄存器816。
[0058]此外,即使图7图示出控制单元720将经由互连812被耦合到核706,但在各种实施例中,控制单元720可位于别处,诸如核706内部、经由总线704而耦合到核等。
[0059]在某些实施例中,可以将本文所讨论的部件中的一个或多个体现为芯片上系统(SOC)器件。图9图示出根据实施例的SOC封装的框图。如图9中所示,SOC 902包括一个或多个处理器核920、一个或多个图像处理器核930、输入/输出(I/O)接口 940以及存储器控制器942。可将SOC封装902的各种部件耦合到诸如在本文中参考其他图所讨论的互连或总线。并且,SOC封装902可包括更多或更少的部件,诸如在本文中参考其他图所讨论的那些。此外,SOC封装902的每个部件可包括一个或多个其他部件,例如,参考本文中的其他图所讨论的。在一个实施例中,在被封装到单个半导体器件中的一个或多个集成电路(IC)管芯上提供SOC封装902 (及其部件)。
[0060]如图9中所示,SOC封装902经由存储器控制器942被耦合到存储器960 (其可与在本文中参考其他图所讨论的存储器类似或相同)。在实施例中,可以将存储器960 (或其一部分)集成在SOC封装902上。
[0061]可经由诸如在本文中参考其他图所讨论的互连和/或总线将I/O接口 940耦合到一个或多个I/o设备970、一个或多个I/O设备970可包括键盘、鼠标、触控板、显不器、图像/视频捕捉设备(诸如照相机或录像摄像机/电视记录仪)、触摸屏、扬声器等中的一个或多个。
[0062]SOC封装902可与音频设备926、一个或多个磁盘驱动器928以及网络接口设备930 (其与网络903通信)通信。其他设备可经由总线922进行通信。并且,各种部件(诸如网络接口设备930)在本发明的某些实施例中可与MCH 608通信。
[0063]可将位置服务管理器178实现为在SOC封装902上执行的逻辑。
[0064]图10图示出根据本发明的实施例的以点到点(PtP)配置布置的计算系统1000。特别地,图10示出了其中用许多点到点接口来互连处理器、存储器和/或输入/输出设备的系统。可由系统1000的一个或多个部件来执行参考图2所讨论的操作。
[0065]如图10中所示,系统1000可包括多个处理器,为了明了起见仅示出了其中的两个,处理器1002和1004。处理器1002和1004每个可包括将使得能够实现与存储器1010和1012的通信的本地存储器控制器集线器(MCH)1006和1008。在某些实施例中,MCH 1006和1008可包括图1的存储器控制器120和/或逻辑125。
[0066]在实施例中,处理器1002和1004可以是参考图7所讨论的处理器702中的一个。处理器1002和1004可分别地使用接口电路1016和1018经由点到点(PtP)接口 1014来交换数据。并且,处理器1002和1004每个可使用点到点接口电路1026、1028、1030和1032经由单独PtP接口 1022和1024与芯片组1020来交换数据。芯片组1020还可例如使用PtP接口电路1037经由高性能图形接口 1036与高性能图形电路104交换数据。
[0067]如图10中所示,图1的核106和/或高速缓存器108中的一个或多个可位于处理器1004内。然而,在图10的系统1000内的其他电路、逻辑单元或器件中可存在本发明的其他实施例。此外,本发明的其他实施例可遍布于图10中所示的多个电路、逻辑单元或器件。
[0068]芯片组1020可使用PtP接口电路1041与总线1040通信。总线1040可具有与之通信的一个或多个设备,诸如总线桥1042和/或I/O设备1043。经由总线1044,总线桥1043可经与如键盘/鼠标1045、通信设备1046 (诸如调制解调器、网络接口设备或可与计算机网络1003通信的其他通信设备)、音频I/O设备和/或数据存储设备1048之类的其他设备进行通信。数据存储设备1048 (其可以是硬盘驱动器或NAND闪速固态驱动器)可存储可由处理器1004执行的代码1049。
[0069]以下示例涉及其他实施例。
[0070]示例I是包括逻辑的控制器,至少部分地包括硬件逻辑,被配置成从位置测量设备接收位置数据,将位置数据缓存在本地存储器中,并响应于一个或多个触发条件而将位置数据从本地存储器释放到远程处理器。
[0071]在示例2中,示例I的位置数据可以可选地包括来自全球导航卫星系统(GNSS)设备的测量数据或来自网络接入点设备的位置数据中的至少一个。
[0072]在示例3中,示例I一2中的任一项的主题可以可选地包括被配置成将位置数据写入本地存储器中的交替存储器缓冲器中的逻辑。
[0073]在示例4中,示例I一3中的任一项的主题可以可选地包括进一步被配置成确定触发条件的逻辑。
[0074]在示例5中,示例I一4中的任一项的主题可以可选地包括触发条件,其包括经历预定时间段、接收指示控制已移动的信号、接收请求位置更新的信号或确定本地存储器已消耗预定量的存储容量中的至少一个。
[0075]在示例6中,示例I一6中的任一项的主题可以可选地包括进一步被配置成将本地存储器中的缓冲器指针重置的逻辑。
[0076]示例7是包括存储在非临时计算机可读介质中的逻辑指令的计算机程序产品,该逻辑指令在被控制器执行时将控制器配置成从位置测量设备接收位置数据,将位置数据缓存在本地存储器中,并响应于一个或多个触发条件而将位置数据从本地存储器释放到远程处理器。
[0077]在示例8中,示例7的位置数据可以可选地包括来自全球导航卫星系统(GNSS)设备的测量数据或来自网络接入点设备的位置数据中的至少一个。
[0078]在示例9中,示例I一2中的任一项的主题可以可选地包括存储在非临时计算机可读介质中的逻辑指令,其在被控制器执行时将控制器配置成将位置数据写入本地存储器中的交替存储器缓冲器中。
[0079]在示例10中,示例7—9中的任一项的主题可以可选地包括存储在非临时计算机可读介质中的逻辑指令,其在被控制器执行时将控制器配置成确定触发条件。
[0080]在示例11中,示例7 —10中的任何一个的主题可以可选地包括触发条件,其包括经历预定时间段、接收指示控制已移动的信号、接收请求位置更新的信号或确定本地存储器已消耗预定量的存储容量中的至少一个。
[0081]在示例12中,示例7 —111中的任一项的主题可以可选地包括存储在非临时计算机可读介质中的逻辑指令,其在被控制器执行时将控制器配置成将本机存储器中的缓冲器指针重置。
[0082]示例13是电子设备,包括本地定位设备和包括逻辑的控制器,至少部分地包括硬件逻辑,其被配置成从位置测量设备接收位置数据,将位置数据缓存在本地存储器中,并响应于一个或多个触发条件而将位置数据从本地存储器释放到远程处理器。
[0083]在示例14中,示例13的位置数据可以可选地包括来自全球导航卫星系统(GNSS)设备的测量数据或来自网络接入点设备的位置数据中的至少一个。
[0084]在示例15中,示例13 —14中的任何一个的主题可以可选地包括被配置成将位置数据写入本地存储器中的交替存储器缓冲器中的逻辑。
[0085]在示例16中,示例13 —15中的任何一个的主题可以可选地包括进一步被配置成确定触发条件的逻辑。
[0086]在示例17中,示例13 —16中的任何一个的主题可以可选地包括触发条件,其包括经历预定时间段、接收指示控制已移动的信号、接收请求位置更新的信号或确定本地存储器已消耗预定量的存储容量中的至少一个。
[0087]在示例18中,示例13 —17中的任何一个的主题可以可选地包括进一步被配置成将本地存储器中的缓冲器指针重置的逻辑。
[0088]在示例19中,示例13 —18中的任一项的主题可以可选地包括进一步被配置成从控制器接收位置数据并根据该位置数据来确定电子设备的位置的逻辑。
[0089]示例20是一种方法,包括在控制器中从位置测量设备接收位置数据,将位置数据缓存在本地存储器中,并响应于一个或多个触发条件而将位置数据从本地存储器释放到远程处理器。
[0090]在示例21中,示例20的位置数据可以可选地包括来自全球导航卫星系统(GNSS)设备的测量数据或来自网络接入点设备的位置数据中的至少一个。
[0091]在示例22中,示例20 — 21中的任何一个的主题可以可选地包括被配置成将位置数据写入本地存储器中的交替存储器缓冲器中的逻辑。
[0092]在示例23中,示例20— 22中的任何一个的主题可以可选地包括还被配置成确定触发条件的逻辑。
[0093]在示例24中,示例20—23中的任何一个的主题可以可选地包括触发条件,其包括经历预定时间段、接收指示控制已移动的信号、接收请求位置更新的信号或确定本地存储器已消耗预定量的存储容量中的至少一个。
[0094]在示例25中,示例20— 24中的任何一个的主题可以可选地包括还被配置成将本地存储器中的缓冲器指针重置的逻辑。
[0095]在本文中提及的术语“逻辑指令”涉及可被一个或多个机器理解以便执行一个或多个逻辑操作的表达方式。例如,逻辑指令可包括可被处理器编译程序执行以便对一个或多个数据对象执行一个或多个操作的指令。然而,这仅仅是机器可读指令的示例且实施例在这方面不受限制。
[0096]在本文中提及的术语“计算机可读介质”涉及能够保持可被一个或多个机器感知的表达方式的介质。例如,计算机可读介质可包括用于存储计算机可读指令或数据的一个或多个存储设备。此类存储设备可包括存储介质,诸如,例如光、磁或半导体存储介质。然而,这仅仅是计算机可读介质的示例且实施例在这方面不受限制。
[0097]在本文中提及的术语“逻辑”涉及用于执行一个或多个逻辑操作的结构。例如,逻辑可包括基于一个或多个输入信号而提供一个或多个输出信号的电路。此类电路可接收数字输入并提供数字输出的包括有限状态机或响应于一个或多个模拟输入信号而提供一个或多个模拟输出信号的电路。可在专用集成电路(ASIC))或现场可编程门阵列(FPGA)中提供此类电路。并且,逻辑可包括与处理电路相组合地存储在存储器中以执行机器可读指令的此类机器可读指令。然而,这些仅仅是可提供逻辑的结构的示例且实施例在这方面不受限制。
[0098]可将本文所述的某些方法体现为计算机可读介质上的逻辑指令。当在处理器上执行时,逻辑指令促使处理器被编程为实现所述方法的专用机器。该处理器在被逻辑指令配置成执行本文所述方法时组成用于执行所述方法的结构。替换地,可将本文所述方法缩减成例如现场可编程门阵列(FPGA)、专用集成电路(ASIC)等上面的逻辑。
[0099]在本描述和权利要求中,可使用术语耦合和连接以及其派生词。在特定实施例中,可使用连接来指示两个或更多元件相互处于直接物理或电接触。耦合可意指两个或更多元件处于直接物理或电接触。然而,耦合也可意指两个或更多元件可能相互未处于直接接触,但是仍可相互合作或相交互。
[0100]在本说明书中对“一个实施例”或“某些实施例”的参考意指结合实施例所述的特定特征、结构或特性被包括在至少一个实施方式中。短语“在一个实施例中”在本说明书中的不同位置上的出现可全部参考同一实施例也可并非如此。
[0101]虽然已经用结构特征和/或方法动作所特定的语言描述了实施例,但应理解的是要求保护的主题可不限于所述的特定特征或动作。相反,上述特定特征和动作是作为实现要求保护的主题的示例形式而公开的。
【权利要求】
1.一种控制器,包括: 逻辑,至少部分地包括硬件逻辑,被配置成: 从位置测量设备接收位置数据; 将该位置数据缓存在本地存储器中;以及 响应于一个或多个触发条件而将来自本地存储器的位置数据释放到远程处理器。
2.权利要求1的控制器,其中,所述位置数据包括以下各项中的至少一个: 来自全球导航卫星系统(GNSS)设备的测量数据;或者 来自网络接入点设备的位置数据。
3.权利要求1的控制器,其中,该逻辑还被配置成将位置数据写入本地存储器中的交替存储器缓冲器中。
4.权利要求1的控制器,其中,所述逻辑还被配置成确定触发条件。
5.权利要求4的控制器,其中,所述触发条件包括以下各项中的至少一个: 经历预定时间段; 接收指示控制器已移动的信号; 接收请求位置更新的信号;或者 确定本地存储器已消耗预定量的存储容量。
6.权利要求1的控制器,其中,所述逻辑进一步被配置成: 将本地存储器中的缓冲器指针重置。
7.一种包括存储在非临时计算机可读介质中的逻辑指令的计算机程序产品,该逻辑指令在被控制器执行时将控制器配置成: 从位置测量设备接收位置数据; 将该位置数据缓存在本地存储器中;以及 响应于一个或多个触发条件而将来自本地存储器的位置数据释放到远程处理器。
8.权利要求7的计算机程序产品,其中,所述位置数据包括以下各项中的至少一个: 来自全球导航卫星系统(GNSS)设备的测量数据;或者 来自网络接入点设备的位置数据。
9.权利要求7的计算机程序产品,还包括存储在非临时计算机可读介质中的逻辑指令,其在被控制器执行时将控制器配置成将位置数据写入本地存储器中的交替存储器缓冲器中。
10.权利要求7的计算机程序产品,还包括存储在非临时计算机可读介质中的逻辑指令,其在被控制器执行时将控制器配置成确定触发条件。
11.权利要求10的计算机程序产品,其中,所述触发条件包括以下各项中的至少一个: 经历预定时间段; 接收指示控制器已移动的信号; 接收请求位置更新的信号;或者 确定本地存储器已消耗预定量的存储容量。
12.权利要求7的计算机程序产品,还包括存储在非临时计算机可读介质中的逻辑指令,其在被控制器执行时将控制器配置成将本机存储器中的缓冲器指针重置。
13.—种电子设备,包括: 本地定位设备;以及 控制器,包括: 逻辑,至少部分地包括硬件逻辑,被配置成: 从位置测量设备接收位置数据; 将该位置数据缓存在本地存储器中;以及 响应于一个或多个触发条件而将来自本地存储器的位置数据释放到远程处理器。
14.权利要求13的电子设备,其中,所述位置数据包括以下各项中的至少一个: 来自全球导航卫星系统(GNSS)设备的测量数据;或者 来自网络接入点设备的位置数据。
15.权利要求13的电子设备,其中,该逻辑还被配置成将位置数据写入本地存储器中的交替存储器缓冲器中。
16.权利要求13的电子设备,其中,所述逻辑还被配置成确定触发条件。
17.权利要求16的电子设备,其中,所述触发条件包括以下各项中的至少一个: 经历预定时间段; 接收指示控制器已移动的信号; 接收请求位置更新的信号;或者 确定本地存储器已消耗预定量的存储容量。
18.权利要求13的电子设备,其中,所述逻辑进一步被配置成: 将本地存储器中的缓冲器指针重置。
19.权利要求13的电子设备,其中,所述处理器进一步被配置成: 从控制器接收位置数据;以及 根据该位置数据来确定电子设备的位置。
20.—种方法,包括: 在控制器中从位置测量设备接收位置数据; 将该位置数据缓存在本地存储器中;以及 响应于一个或多个触发条件而将来自本地存储器的位置数据释放到远程处理器。
21.权利要求20的方法,其中,所述位置数据包括以下各项中的至少一个: 来自全球导航卫星系统(GNSS)设备的测量数据;或者 来自网络接入点设备的位置数据。
22.权利要求20的方法,还包括将位置数据写入本地存储器中的交替存储器缓冲器中。
23.权利要求20的方法,还包括确定触发条件。
24.权利要求23的方法,其中,所述触发条件包括以下各项中的至少一个: 经历预定时间段; 接收指示控制器已移动的信号; 接收请求位置更新的信号;或者 确定本地存储器已消耗预定量的存储容量。
25.权利要求20的方法,还包括:
将本地存储器中的缓冲器指针重置。
【文档编号】G01C21/00GK104516476SQ201410500944
【公开日】2015年4月15日 申请日期:2014年9月26日 优先权日:2013年9月26日
【发明者】M.荣卡, 苏钧, 何宓, M.贝维拉夸 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1