首页> 中国专利> 用于将通过快速外围组件接口(PCIE)耦合的设备展示给可运行在便携式计算设备(PCD)上的操作系统的方法和便携式计算设备

用于将通过快速外围组件接口(PCIE)耦合的设备展示给可运行在便携式计算设备(PCD)上的操作系统的方法和便携式计算设备

摘要

在具有片上系统(SoC)的基于Acorn RISC机器(ARM)的资源体系结构的便携式计算设备中,快速外围组件互连(PCIe)总线被用于在缺少PCIe驱动程序的情况下将PCIe设备存储器插入到系统存储器中。在PCIe初始化其间,PCIe基本地址寄存器(BAR)的内容被映射或以其它方式更新以与高级配置与电源接口(ACPI)表中分配给PCIe设备的值相一致。

著录项

  • 公开/公告号CN103975304A

    专利类型发明专利

  • 公开/公告日2014-08-06

    原文格式PDF

  • 申请/专利权人 高通股份有限公司;

    申请/专利号CN201280059694.5

  • 申请日2012-11-08

  • 分类号G06F9/44;

  • 代理机构上海专利商标事务所有限公司;

  • 代理人蔡悦

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-17 01:44:27

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-07-21

    授权

    授权

  • 2014-10-29

    实质审查的生效 IPC(主分类):G06F9/44 申请日:20121108

    实质审查的生效

  • 2014-08-06

    公开

    公开

说明书

相关申请的交叉引用

基于35U.S.C.§119(e)请求题为“Method and a Portable Computing Device (PCD)For Exposing A Peripheral Component Interface Express(PCIE)Coupled Device To An Operating System Operable On The PCD(用于将通过快速外围组 件接口(PCIE)耦合的设备展示给可运行在便携式计算设备(PCD)上的操作 系统的方法和便携式计算设备)”、于2011年12月6日提交、并且被转让的申 请序列号61/567,425的美国临时申请的优先权,其全部内容通过引用合并于此。

相关技术描述

更便宜、更小并且能力更强的集成电路的开发已使得能够开发以更小的设 计但同时保留相对复杂功能为特色的便携式计算系统。这些计算系统主要指的 是膝上型计算机、上网本以及平板电脑,但也包括智能电话、便携式音频设备、 便携式视频设备以及便携式视频游戏控制台。然而,随着近期的使便携式计算 系统微型化的趋势的继续,可用于容纳这些设计的硬件的空间日渐缩小。因此, 对硬件设计和体系结构的优化已变得头等重要。

传统的便携式计算设备至少包括由微处理器或中央处理单元(CPU)、存 储器、配备芯片组的主板(例如,中央印刷电路板)、以及用于生成到显示器 的视频输出的至少一个图形处理单元构成的整合。在一些传统的主板设计中, 芯片组被布置成两个分开的组件中枢。根据第一控制器来工作的第一中枢通常 处理CPU、随机存取存储器(RAM)、视频输出接口、以及第二控制器间的通 信。在许多当下的便携式计算设备实现中,视频输出接口被实现为集成的图形 处理单元。第二控制器支持CPU和/或RAM与外围组件(诸如输入/输出设备 以及大容量存储设备)之间的通信。在许多实现中,第二控制器还可包括集成 的外围设备,诸如音频控制器、网络接口卡、通用串行总线(USB)以及快速 PCI(PCIe)连接等。

通常,上网本和膝上型计算机已使用诸如耦合到第一控制器的集成图形处 理单元(GPU)之类的集成图形方案。集成图形处理单元是使用计算机的系统 存储器的一部分而不具有其自身专用存储器的图形处理器。一般来说,集成 GPU比专用或“分立式”GPU实施起来更便宜,并且提供相对改善的电池寿命以 及更低的功率使用,但这却是以相对于分立式GPU而言降低的能力和性能水 平为代价。有利地是,上网本和膝上型计算机的制造商已开始通过提供除了集 成图形处理器以外还包括附加的分立式图形处理单元的计算机系统来提供具 有更高图形处理能力的配置。

分立式或“专用”GPU与集成GPU的区别在于具有更高的性能并且还具有 专供GPU使用的、GPU不与底层的计算机系统共享的本地存储器。普遍来说, 分立式GPU被实现在被称为“视频卡”的分立式电路板上,“视频卡”尤其是包括 如下组件:GPU、本地存储器、通信总线以及各种输出端子。在传统应用中, 这些视频卡通常通过PCIe接口与计算系统的主电路板(例如,主板)对接, 视频卡可被安装在PCIe接口上。一般来说,分立式GPU与集成GPU相比具有 明显更高的性能水平,但与集成图形方案相比通常需要和消耗更高等级的功 率。同时具有集成和分立式图形处理方案的便携式计算设备常常提供一种使用 户能够在具体方案间交替使用的机制或过程,以便根据情景需要或者所期望的 性能水平来管理性能和电池寿命。

如上所提到的,在典型的上网本和膝上型计算机中,PCIe接口是从控制器 的组件。然而,与在诸如台式计算机之类的其它计算系统中的PCIe接口不同, 便携式计算设备的PCIe接口常常具有缩减的大小,并且因此具有缩减的能力。 对于一些同时关注紧凑设计和电池寿命的便携式计算设备设计而言,可能不存 在对于PCIe接口的操作系统支持。这样的操作系统不会预先配置有PCI或PCIe 驱动程序。然而,尽管在操作系统中缺少PCI和PCIe驱动程序,仍然可能存 在与PCIe设备通信的需要。例如,在外围设备是已知的、不可移除的、并且 在操作系统的初始化或“引导”之前已连接,并且便携式计算设备没有被配置成 支持这样的外围设备的自动配置的情况下,可能存在与这样的设备通信的需 要。

概述

本概述以简化形式介绍了将在以下的详细描述中进一步描述的一些概念 的选集。本概述并不旨在标识出所要求保护的主题内容的关键特征或必要特 征,也不旨在用于以任何方式限定所要求保护的主题的范围。

要求保护的主题的各个实施例涉及用于在不使用PCI或PCIe驱动程序的 情况下将PCIe兼容设备展示给便携式计算设备上的操作系统的系统和方法。 在一示例实施例中,一种用于将快速外围组件互连(PCIe)兼容设备展示给便携 式计算设备上的操作系统的方法包括以下步骤:确定描述PCIe兼容设备的一组 PCIe基本地址寄存器的内容,将所述一组PCIe基本地址寄存器的内容整合到高级 配置电源接口(ACPI),以及使用固件通过与整合到ACPI的所述一组PCIe基本 地址寄存器的内容相匹配来对耦合于所述便携式计算设备的PCIe设备进行初始 化。使用固件来对PCIe总线进行初始化包括使用统一可扩展固件接口(UEFI)。

在另一示例实施例中,一种便携式计算设备(PCD)将快速外围组件互连 (PCIe)兼容设备展示给可运行在PCD上的操作系统。PCD包括:耦合于存储 器元件的处理器,所述存储器元件中存储有操作系统和高级配置与电源接口 (ACPI);经由PCIe总线耦合到所述处理器的可扩展主控制器接口(xHCI);以 及经由第一总线耦合到所述处理器和所述存储器元件的固件元件。所述固件元件包 括PCIe基本地址存储器集存储,其具有多个可寻址存储器元件,每个所述可寻址 存储器元件都存储有与所述ACPI中的表中的一个或多个表中的信息所描述的资源 相匹配的相应内容。转发给所述操作系统的内容将其中所标识的设备展示给所 述操作系统。

在又一示例实施例中,一种便携式计算设备在不使用驱动程序的情况下将 快速外围组件互连(PCIe)兼容设备展示给操作系统。所述便携式计算设备包 括用于将内容提供给描述PCIe兼容设备的一组PCIe基本地址寄存器的装置,用于 提供其中具有所述一组PCIe基本地址寄存器的内容的高级配置电源接口(ACPI) 的装置,以及用于对所述便携式计算设备内的PCIe设备进行初始化以与所述ACPI 中所包含的所述一组PCIe基本地址寄存器的内容相匹配的装置。

在又一实施例中,一种计算机程序产品包括计算机可使用介质,所述计算机 可使用介质具有实施于其中的计算机可读程序代码。所述计算机可读程序代码适配 成被执行以实现用于配置具有多个资源的便携式计算设备的方法。所述方法包括 以下步骤:确定描述PCIe兼容设备的一组PCIe基本地址寄存器的内容,将所述 一组PCIe基本地址寄存器的内容与高级配置电源接口(ACPI)作比较,并且当所 述一组PCIe基本地址寄存器的内容与ACPI中的信息标识PCIe设备时使用固件来 对耦合于所述便携式计算设备和所述PCIe设备的PCIe总线进行初始化。

附图简述

在附图中,除非另行指出,否则相似的附图标记贯穿各视图指示相似的部 分。对于带有字母字符名称的参考标号(诸如,“102A”或“102B”),该字母字 符名称可区分同一附图中存在的两个相似部件或元素。在意图使一参考标号涵 盖所有附图中具有相同参考标号的所有部件时,可略去参考标号的字母字符名 称。

图1是解说便携式计算设备(“PCD”)示例性元件的功能框图。

图2是解说PCD的一替换实施例的示例性元件的功能框图。

图3是解说PCD的一替换实施例的示例性元件的功能框图。

图4是解说用于在不使用驱动程序的情况下将PCIe兼容设备展示给操作 系统的方法的流程图。

图5是解说用于在不使用驱动程序的情况下将PCIe兼容设备展示给操作 系统的替代方法的流程图。

图6是解说用于在不使用驱动程序的情况下将PCIe兼容设备展示给操作 系统的替代方法的流程图。

具体实施方式

措辞“示例性”在本文中用于表示“用作示例、实例或解说”。本文中描述为 “示例性”的任何方面不必被解释为优于或胜过其他方面。

在本描述中,术语“应用”还可包括具有可执行内容(诸如对象代码、脚本、 字节码、标记语言文件和补丁)的文件。此外,本文中引述的“应用”还可包括 本质上不可执行的文件,诸如可能需要打开的文档或需要被访问的其他数据文 件。

术语“内容”描述数据或信息,并且也可包括具有可执行内容(诸如对象代 码、脚本、字节码、标记语言文件和补丁)的文件。此外,本文中引述的“内容” 也可包括本质上不可执行的文件,诸如可能需要打开的文档或需要访问的其他 数据文件。

如在本描述中所使用的,术语“组件”、“数据库”、“模块”、“系统”和类似 术语旨在引述计算机相关实体,任其是硬件、固件、硬件与软件的组合、软件, 还是执行中的软件。例如,组件可以是但不限于在处理器上运行的进程、处理 器、对象、可执行件、执行的线程、程序、和/或计算机。作为解说,计算设备 上运行的应用和计算设备两者都可以是组件。一个或多个组件可驻留在进程和 /或执行的线程内,并且组件可局部化在一台计算机上和/或分布在两台或更多 台计算机之间。另外,这些组件可从其上存储有各种数据结构的各种计算机可 读介质来执行。各组件可借助于本地和/或远程进程来通信,诸如根据具有一个 或多个数据分组的信号(例如,来自借助于该信号与本地系统、分布式系统中 的另一组件交互、和/或跨诸如因特网等网络与其它系统交互的一个组件的数 据)。

在本描述中,术语“通信设备”、“无线设备”、“无线电话”、“无线通信设备” 和“无线手持机”被可互换地使用。随着第三代(“3G”)和第四代(“4G”)无线 技术的到来,更大的带宽可用性已经使得能够实现具有更多样化的无线能力的 更便携的计算设备。

在本描述中,术语“便携式计算设备”(“PCD”)用于描述基于有限容量的 电源(诸如电池)进行操作的任何设备。尽管电池运行的PCD已经被使用了数 十年,但可充电电池方面的技术进步结合第三代(“3G”)和第四代(“4G”)无 线技术的到来,已经使得能够实现具有多种能力的多种PCD。因此,PCD尤其 可以是蜂窝电话、卫星电话、寻呼机、便携式数字助理(“PDA”)、智能电话、 导航设备、智能本或阅读器、媒体播放器、上述设备的组合、具有无线连接的 平板计算机、以及具有无线连接的膝上型计算机等。

图1是无线电话形式的PCD100的示例性非限制性方面的功能框图,该无 线电话用来实现用于将PCIe兼容设备展示给可运行在便携式计算设备上的操 作系统的方法和系统。如所示出的,PCD100包括片上系统102,该片上系统 102包括多核中央处理单元(“CPU”)110、图形处理器111、以及模拟信号处 理器126。如本领域普通技术人员已知的,这些处理器110、111、126可被一 起耦合在一个或多个系统总线或另一互连体系结构上。

如本领域普通技术人员可理解的,CPU110、图形处理器111和模拟喜欢 处理器126可包括第零核、第一核到第N核(未全部示出)。在替代实施例中, 如本领域普通技术人员可理解的,也可使用一个或多个数字信号处理器 (“DSP”)来替代CPU110和图形处理器111。此外,在替代实施例中,可包 括两个或更多个多核处理器。

如图1中所示,存储器元件112以及可编程只读存储器(PROM)114被 耦合到中央处理单元110。PROM114包括固定的程序和数据结构,其用于支 持和允许PCD100的各个硬件元件间的控制。存储器元件112包括可适配程序、 数据结构和操作系统。

如图1中所解说的,显示器控制器128和触摸屏控制器130耦合至多核 CPU110。片上系统102外部的触摸屏显示器132被耦合至显示控制器128和 触摸屏控制器130。PCD100还包括视频编码器/解码器(“codec”)134,例如 逐行倒相制(“PAL”)编码器、顺序传送彩色与存储(“SECAM”)编码器、国 家电视系统委员会(“NTSC”)编码器或耦合到多核中央处理单元(“CPU”)110 的任何其他类型的视频编码器134。视频放大器136耦合至视频编码器134和 触摸屏显示器132。视频端口138被耦合至视频放大器136。如图1中所描绘 的,通用串行总线(“USB”)控制器140被耦合至CPU110。而且,USB端口 142被耦合至USB控制器140。订户身份模块(SIM)卡146也可耦合至CPU110。 此外,如图1中所示,数字相机148可被耦合至CPU110。在示例性方面,数 字相机148是电荷耦合器件(“CCD”)相机或互补金属氧化物半导体(“CMOS”) 相机。

如图1中进一步解说的,立体声音频编解码器150可被耦合至模拟信号处 理器126。此外,音频放大器152可被耦合至立体声音频编解码器150。在示 例性方面中,第一立体声扬声器154和第二立体声扬声器156被耦合至音频放 大器152。图1示出了话筒放大器158也可被耦合至立体声音频编解码器150。 另外,话筒160可被耦合至话筒放大器158。在特定方面中,调频(“FM”)无 线电调谐器162可被耦合至立体声音频编解码器150。而且,FM天线164被耦 合至FM无线电调谐器162。此外,立体声头戴式受话机166可被耦合至立体 声音频编解码器150。

图1进一步指示了射频(“RF”)收发机168可被耦合至模拟信号处理器126。 RF开关170可被耦合至RF收发机168和RF天线172。如图1中所示,按键 板174可被耦合至模拟信号处理器126。而且,带话筒的单声道头戴式送受话 器176可被耦合至模拟信号处理器126。此外,振动器设备178可被耦合至模 拟信号处理器126。图1还示出了电源180(例如电池)被耦合至片上系统102。 在一特定方面,电源180包括可再充电电池或来源于连接到交流(“AC”)电源 的AC-DC变换器的直流(“DC”)供电电源。

PCD100的上述元件中的某些可包括硬件,而另一些可包括软件,并且 还有一些可包括硬件和软件的组合。术语“资源”在本文被用来指代可由处理器 控制的任何这样的元素,而不管是硬件、软件或其组合。资源可在一个方面被 定义为这种元件的功能性的包封。除非另行指出,术语“处理器”在本文被用来 指代处理器,诸如CPU110、图形处理器111、模拟信号处理器126、或在软件、 固件或类似控制逻辑的控制下操作的任何其他处理器、控制器或类似元件。对 于两个或更多个“处理实体”的提及包括不同芯片上的处理器、同一处理器芯片 上的不同处理核、同一核上的多个执行线程、或者其间存在数据传输惩罚或低 效的任何其它处理实体。

如下文更详细地描述的,资源的一示例是在处理器上执行的软件元件。在 处理器上执行的线程(诸如举例而言与正在执行的应用程序有关的线程)可通 过致使对资源发出“请求”来访问资源。如以下所描述的,资源请求是通过在本 公开中被称为“框架”的基于软件的系统来处理的。术语“客户机”在本公开中被 广泛用来指对请求资源的功能产生影响的元件。因此,如本文中使用这些术语, 线程可创建或使用客户机以发出资源请求。应当注意,在一些实例中,资源可 创建或使用客户机,使得资源可引发针对另一资源而发出的资源请求。如以下 将进一步详细描述的,由于发起请求的资源和被请求的资源之间的依赖关系, 这样的其它资源可在本文中被称为“依赖性”资源。资源和客户机可通过存储器 中的数据结构来表示。由于资源受多处理器PCD100中的特定处理器的控制, 因此并不是PCD100中的每个处理器都能够访问PCD100中的每个资源。

如本领域中已知的,存储器元件112包括操作系统(O/S)以及高级配置 和电源接口(ACPI)(未示出)。操作系统是管理PCD100中的所有其它程序 的程序或程序集。其它程序或应用通过经由定义的接口作出对服务的请求来使 用操作系统。另外,PCD的用户可通过用户界面(诸如命令语言、图形用户界 面等等)与操作系统交互。操作系统管理多个应用之间的存储器资源共享以及 执行的优先级,以及去往和来自附连的硬件设备的输入和输出。在工作时,ACPI 被O/S用于硬件发现、配置、电源管理和监视。

如以下将结合图2和图3中解说的实施例更详细描述的,PROM114包括 描述耦合到PCD100的PCIe兼容资源的内容(即数据和/或数据结构)。当被 执行时,存储在存储器112中的应用程序或操作系统引导中央处理单元110或 处理器访问该内容(即与PCIe基本地址寄存器相关联的值)并将其递送给操 作系统,该内容可被存储在只读存储器元件(例如,PROM114)或存储器112 内的其它位置。当内容可用于在中央处理单元110或处理器上执行的操作系统 并且该内容描述并且与ACPI表(同样对操作系统可用)中被分配的值一致时, PCIe兼容资源被展示并且可供使用。要注意的是,这一展示以及名义上的可供 PCD100使用的可用性是在缺少PCI或PCIe驱动程序的支持的情况下实现的。

因此,将PCIe兼容设备展示给可运行在PCD100上的操作系统的方法包 括以下步骤:确定描述PCIe兼容设备的一组PCIe基本地址寄存器的内容、将 这组PCIe基本地址寄存器的内容整合在存储于PCD100上的ACPI中、以及初 始化PCD100上的PCIe总线以与整合在ACPI中的这组PCIe基本地址寄存器 的内容相匹配。在一个实例中,由软件访问系统固件(诸如存储在PROM114 中的固件)以在运行时读取ACPI表以确定合适的PCIe内容到ACPI AML的 映射。在另一实例中,软件在编译时确定合适的PCIe内容到ACPI AML的映 射。无论选择哪种方法,PCIe初始化将对PCIe基本地址寄存器进行配置以与 ACPI表中分配的值相一致。由于PCIe是存储器映射的点对点总线,因此对于 所期望的操作,存储器映射操作应当与APCI中定义的系统硬件描述相匹配。

图2是解说PCD210的一替换实施例的示例性元件的功能框图。图2中的 功能框图包括解说请求保护的发明的示例体系结构和操作的组件和互连。应当 理解,如果希望的话,PCD210可包括额外的功能元件(未示出)。这些额外 的功能元件中的一些而非全部在结合图1描述的实施例中曾被介绍。

如图2中解说的,便携式计算设备210包括处理器/SoC(片上系统)220、 可扩展主控制器接口(xHCI)230、通用串行总线3.0连接器240、存储器元件 250以及固件元件260。存储器元件250和固件元件260通过第一总线221耦 合到处理器/SoC220。在一些实施例中使用基于Acorn RISC机器(ARM)的 资源体系结构来构造的处理器/SoC220通过PCIe兼容总线225耦合到xHCI 230。xHCI230通过总线235将高速差分信号提供给USB3.0连接器240。USB 3.0连接器240经由连接245将电力和数据提供给便携式计算设备210中的USB 3.0兼容外围设备270a。或者,USB3.0连接器240经由连接245将电力和数据 提供给与便携式计算设备210分开的USB3.0兼容外围设备270a。

如本领域中已知的,存储器元件250包括操作系统(O/S)252以及高级配 置和电源接口(ACPI)254。在工作时,ACPI254被O/S252用于硬件发现、 配置、电源管理和监视。ACPI254定义硬件寄存器以及基本输入输出系统接口, 包括经解释的可执行功能接口、配置表、以及主板设备枚举和配置。另外,ACPI 定义系统和设备电源状态和热模型。以上的全部可经由独立于操作系统的应用 编程接口传递到在PCD210上执行的一个或多个应用程序。

如图2中进一步解说的,固件元件260包括PCIe基本地址寄存器集存储 265,其具有多个可寻址存储器元件267a-267z,其中存储了相应内容。该内 容描述了与资源(例如,USB3.0外围设备270a或USB3.0外围设备270b)相 匹配的资源(例如,PCIe兼容设备),如ACPI254中的表254a-254n中的一 个或多个表中的信息所描述的。当多个可寻址存储器元件267a-267z中的内容 从固件元件260传递到处理器/SoC220时,该内容将PCIe兼容设备270a、270b 展示给操作系统252以及在操作系统252下执行的应用程序。

图3是解说PCD310的一替换实施例的示例性元件的功能框图。图3中的 功能框图包括解说请求保护的发明的示例体系结构和操作的组件和互连。除了 之前结合图2中所示的PCD210介绍的那些元件外,PCD310还包括PCIe开 关226、PCIe至以太网转换器236以及以太网连接器244。应当理解,如果希 望的话,PCD310可包括额外的功能元件(未示出)。这些额外的功能元件中 的一些而非全部在结合图1描述的实施例中曾被介绍。

如图3中解说的,便携式计算设备310包括处理器/SoC(片上系统)220、 可扩展主控制器接口(xHCI)230、通用串行总线3.0连接器240、存储器元件 250以及固件元件260。存储器元件250和固件元件260通过第一总线221耦 合到处理器/SoC220。在一些实施例中使用基于Acorn RISC机器(ARM)的 资源体系结构来构造的处理器/SoC220通过PCIe开关226以及PCIe兼容总线 225耦合到xHCI230以及PCIe至以太网转换器236。xHCI230和PCIe至以太 网转换器236耦合到总线227上的PCIe开关226。xHCI230通过总线235将高 速差分信号提供给USB3.0连接器240。USB3.0连接器240经由连接245将电 力和数据提供给USB3.0兼容外围设备270。在解说的实施例中,USB3.0外围 设备270与PCD310分开。然而,在一些实施例中,USB3.0外围设备270可 以与便携式计算设备310为一体的(即,在同一外壳内)。PCIe至以太网转换 器236通过总线237将信号提供给以太网连接器244。以太网连接器244可用 于经由以太网电缆(未示出)中的双绞线对将电力和数据提供给以太网兼容设 备。

存储器元件250包括操作系统(O/S)252以及高级配置和电源接口(ACPI) 254。在工作时,ACPI254被O/S252用于硬件发现、配置、电源管理和监视。 ACPI254定义硬件寄存器以及基本输入输出系统接口,包括经解释的可执行功 能接口、配置表、以及主板设备枚举和配置。另外,ACPI定义系统和设备电 源状态和热模型。以上的全部可经由独立于操作系统的应用编程接口传递到在 PCD310上执行的一个或多个应用程序。

如图3中进一步解说的,固件元件260包括PCIe基本地址寄存器集存储 器265,其具有多个可寻址存储器元件267a-267z,其中存储了相应内容。该 内容描述了与资源(例如,PCIe至以太网转换器236)相匹配的资源(例如, PCIe兼容设备),如ACPI254中的表254a-254n中的一个或多个表中的信息 所描述的。当多个可寻址存储器元件267a-267z中的内容从固件元件260传递 到处理器/SoC220时,该内容将PCIe至以太网转换器236展示给操作系统252 以及在操作系统252下执行的应用程序。

图4是解说用于将PCIe兼容设备展示给可运行在PCD(诸如PCD210(图 2)或PCD310(图3))上的操作系统的方法400的流程图。方法开始于框410, 在框410,确定描述PCIe设备的一组PCIe基本寄存器的内容。可定义数个PCIe 设备中的任何PCIe设备。例如,可收集定义图形处理器、数据存储设备、其 它USB2.0和USB3.0兼容设备(包括但不限于集成在PCD中的设备)、通信 端口或与这些及其它通信标准兼容的连接器中的一者或多者的内容。

在框420,这组PCIe基本寄存器的内容被整合在ACPI中、传递给ACPI 或以其它方式在ACPI中确认。ACPI是一种工业标准接口,其用于允许移动、 台式、以及服务器计算平台的由操作系统引导的配置、电源管理、以及热管理。 ACPI替代了由基本输入/输出系统(BIOS)中的电源管理、针对电源管理的应 用编程接口、针对即插即用BIOS的应用编程接口、以及多处理器规范信息构 成的整合。ACPI设备以ACPI源语言来描述,该语言随后被编译成ACPI机器 语言(AML)。操作系统读取AML以发现或枚举ACPI设备。

在框430,PCD中的固件被用于对PCIe总线进行初始化,以与用AML描 述的信息(例如,表254a到254n中的信息)相匹配。例如,并且如结合便携 式计算设备210(图2)以及便携式计算设备310(图3)所描述的,存储在固 件260的存储265中的内容267在适当时间被传递给处理器220和存储器250 中的一者或两者,以在建立处理器220和一个或多个定义的PCIe兼容设备之 间的PCIe连接时支持这些元件。如上面所指示的,使用软件来对PCIe总线进 行初始化,以与ACPI AML表中描述的资源相匹配。如以上进一步指出的,软 件可在运行时引导ACPI表的读取操作以确定适当的ACPI到PCIe的映射。或 者,ACPI到PCIe的映射可在编译时确定。无论该时序如何,PCIe初始化对 PCIe基本地址寄存器进行配置以与ACPI表中分配的值相一致。

图5是解说用于配置PCD(诸如PCD210(图2)或PCD310(图3)) 以将PCIe兼容设备展示给可运行在PCD上的操作系统的方法500的流程图。 方法500开始于框510,在框510,将内容提供给描述PCIe设备的一组PCIe 基本寄存器。在示例实施例中,内容被提供给固件元件260。可定义数个PCIe 设备中的任何PCIe设备。例如,可提供定义图形处理器、数据存储设备、其 它USB2.0和USB3.0兼容设备(包括但不限于集成在PCD中的设备)、通信 端口或与这些及其它通信标准兼容的连接器中的一者或多者的内容。

在框520,提供包括与框510中提供的该组PCIe基本寄存器的内容相匹配 的AML的ACPI。ACPI是一种工业标准接口,其用于允许移动、台式、以及 服务器计算平台的由操作系统引导的配置、电源管理、以及热管理。ACPI设 备以ACPI源语言来描述,该语言随后被编译成ACPI机器语言(AML)。如 以上指示的,可运行在PCD上的操作系统读取AML以发现或枚举ACPI设备。

在框530,用与AML描述的信息(例如表254a到254n中的信息)相匹配 的内容来初始化PCD上的PCIe总线。例如,并且如结合便携式计算设备210 (图2)以及便携式计算设备310(图3)所描述的,存储在固件260的存储器 265中的内容267在适当时间被传递给处理器220和存储器250中的一者或两 者,以在建立处理器220和一个或多个定义的PCIe兼容设备之间的PCIe连接 时支持这些元件。如所指示的,使用软件来对PCIe总线进行初始化,以与ACPI AML表中描述的资源相匹配。如以上还指出的,软件可在运行时引导ACPI表 的读取操作以确定适当的ACPI到PCIe的映射。或者,ACPI到PCIe的映射可 在编译时确定。无论该时序如何,PCIe初始化对PCIe基本地址寄存器进行配 置以与ACPI表中分配的值相一致。

图6是解说可由其中实现有计算机可读程序代码的计算机程序产品来启用 的方法600的流程图,所述计算机可读程序代码被适配成由处理器220执行以 配置PCD来将一个或多个PCIe兼容资源展示给可在PCD上运行的操作系统。 方法600开始于框610,在框610,确定描述PCIe兼容设备的一组PCIe基本 寄存器的内容。可定义数个PCIe兼容设备中的任何PCIe兼容设备。例如,可 确定定义图形处理器、数据存储设备、其它USB2.0和USB3.0兼容设备(包 括但不限于集成在PCD中的设备)、通信端口或与这些及其它通信标准兼容的 连接器中的一者或多者的内容。

在判定框620,执行判断或比较以验证框610中确定的内容是否同与耦合 到PCD的定义的PCIe兼容设备有关的ACPI信息相匹配。当确定内容与AML 不匹配时,如出自判定框620的标记为“否”的流程控制箭头所指示的,方法600 在框630处继续,在框630,AML或内容中的一者被调整以定义PCIe兼容设 备。否则,当内容与以AML来描述的信息相匹配时,如出自判定框620的标 记为“是”的流程控制箭头所指示的,方法600在框640处继续,在框640,PCD 中的固件被用于对PCIe总线进行初始化,以与AML中的信息(例如,表254a 到254n中的信息)相匹配。例如,并且如结合便携式计算设备210(图2)以 及便携式计算设备310(图3)所描述的,存储在固件260的存储器265中的 内容267在适当时间被传递给处理器220和存储器250中的一者或两者,以在 建立处理器220和一个或多个定义的PCIe兼容设备之间的PCIe连接时支持这 些元件。如所指示的,使用软件来对PCIe总线进行初始化,以与ACPI AML 表中描述的资源相匹配。如以上进一步指出的,软件可在运行时引导ACPI表 的读取操作以确定适当的ACPI到PCIe的映射。或者,ACPI到PCIe映射可在 编译时确定。无论在何时进行,PCIe初始化对PCIe基本地址寄存器进行配置 以与ACPI表中分配的值相一致。

鉴于以上的公开,本领域的普通技术人员能够写出计算机代码或者标识适 当的硬件和/或其它逻辑或电路,用于将经由PCIe总线耦合到处理器的PCIe兼 容设备展示给操作系统而无需使用软件驱动程序。本领域的技术人员能够没有 任何困难地基于本说明书中的流程图和相关描述来标识合适的硬件和/或软件 以例如传递合适的基本地址寄存器内容传递以标识PCIe设备。因此,并不认 为对特定程序代码指令集或详细硬件设备的公开是充分理解如何作出并使用 所描述的便携式计算设备、系统和/或方法所必需的。所要求保护的计算机实现 的过程的发明性的功能性在以上描述中结合可解说各种过程流程的附图更为 详细地进行了解释。此外,处理器110、220等与存储器112、250及其中存储 的指令可用作用于执行本文中所描述的方法步骤中的一个或多个的装置。

在一个或多个示例性方面中,所描述的功能可在硬件、软件、固件或其任 何组合中实现。如果在软件中实现,则各功能可以作为一条或多条指令或代码 存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介 质和通信介质两者,这些介质包括促成计算机程序从一地向另一地转移的任何 介质。存储介质可以是能被计算机访问的任何可用介质。以示例而非限定的方 式,此类计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它 光盘存储、磁盘存储或其它磁存储设备、或者可用以携带或者存储指令或数据 结构形式的期望程序代码且可由计算机访问的任何其它介质。本文中所使用的 术语“盘”包括但不限于压缩盘(“CD”)、镭射盘、光盘、数字多功能盘(“DVD”)、 软盘以及蓝光盘。以上的组合也应被包括在计算机可读介质的范围内。

尽管已详细解说和描述了所选择的一些方面,但是将理解到,可在其中作 出各种替换和变更而不会脱离本公开如所附权利要求所定义的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号