用于显示输出的可选择图形控制器的制造方法

文档序号:6498743阅读:212来源:国知局
用于显示输出的可选择图形控制器的制造方法
【专利摘要】一种计算系统包括多个图形控制器、保留内存区、影子内存区、以及系统基本输入输出系统(BIOS)。所述保留内存区用于存储多个视频基本输入输出系统(BIOS)图像。所述影子内存区用于存储与所选择的图形控制器对应的所选择的视频BIOS图像,使得所选择的图形控制器响应于对视频BIOS服务的服务请求显示输出,而不使用图形驱动器。所述系统BIOS使能够基于将视频BIOS图像从所述保留内存区复制到所述影子内存区,来改变所选择的图形控制器。
【专利说明】用于显示输出的可选择图形控制器

【背景技术】
[0001] 计算系统可包括多个图形控制器,例如,具有集成图形处理单元(GPU)和分离GPU 的可切换图形计算系统或混合图形计算系统。图形控制器可连接至显示器并且与视频驱动 器关联。在启动与图形控制器关联的视频驱动器之前,或者当视频驱动器不可用时,视频基 本输入输出系统(BIOS)服务可用于向连接到关联的图形控制器的显示器输出图像。

【专利附图】

【附图说明】
[0002] 图1是根据示例的包括多个图形控制器的计算系统的框图。
[0003] 图2是根据示例的包括多个图形控制器的计算系统的框图。
[0004] 图3是根据示例的包括多个图形控制器的计算系统的框图。
[0005] 图4是根据示例的包括多个图形控制器的计算系统的框图。
[0006] 图5是根据示例的基于存储多个视频BIOS图像的流程图。
[0007] 图6是根据示例的基于分派所选择的视频BIOS的流程图。
[0008] 图7是根据示例的基于分派所选择的视频BIOS的流程图。
[0009] 图8是根据示例的基于响应于系统引导分派所选择的视频BIOS的流程图。
[0010] 图9是根据示例的基于响应于显示器状态改变复制所选择的视频BIOS的流程图。

【具体实施方式】
[0011] 具有多个图形控制器(即,图形处理单元(GPU))的计算系统可使用视频驱动器向 连接至图形控制器的显示器提供输出。一种示例可切换(即混合)图形系统可具有与计算 系统的中央处理单元(CPU)集成的一个GPU,称作集成GPU(iGPU)。计算系统可具有另一 GPU(例如,联接至高速总线),称作分离GPU(dGPU)。在可替代的示例中,除了这里提到的两 个之外,计算系统可包括多个图形控制器。显示器可附接至该GPU中的任一个。但是,在引 导期间或在启动操作系统(OS)和/或dGPU的软件视频驱动器之前,附接至dGPU的显示器 可能不可用。例如,可为视频服务初始化iGPU,而OS启动之前dGPU不可用。甚至在OS启 动之后,如果图形驱动器不可用,或如果已禁用,则dGPU显示器可能不可用。因此,在具有 多个图形控制器的情况下,显示器和/或图形控制器可能不可用于视频BIOS服务,如果计 算系统在视频驱动器未被加载的模式下(例如,在启动操作系统之前输入密码期间)操作, 这引起用户的挫折感和困惑。
[0012] 当视频驱动器不可用时,计算系统会依赖视频基本输入输出系统(BIOS)服务。视 频BIOS可提供与视频相关的服务,该服务可由系统使用来访问视频控制器的视频硬件,这 使与计算系统关联的软件和与视频控制器关联的硬件之间的接口成为可能。视频BIOS服 务可使已分派的(对于视频BIOS服务是启用的)图形控制器的输出成为可能。在计算系 统中,一个图形控制器被分派且可用于视频BIOS服务。在具有内部面板显示器的示例笔记 本计算系统中,iGTO可驱动该内部面板显示器和视频图形阵列(VGA)输出。因此,对应于 iGPU的视频BIOS可被分派用于提供内部面板显示器和/或VGA输出的视频BIOS服务。但 是,在缺少用于dGPU的视频驱动器的情况下,这样的示例系统不支持到附接至分离图形控 制器(dGPU)的显示器的输出。
[0013] 因此,在上述的示例混合系统中,当期望显示器输出且显示器驱动器不可用时,除 了不能使用iGPU,也不能使用图形控制器。该问题随着图形控制器数量的增加(例如,在用 于显示股票市场信息、狂热游戏的多显示器计算系统上、或者利用多个图形控制器和多个 显示器的其他应用上)而增加。
[0014] 在显示器驱动器未激活时,视频BIOS服务可用于显示图形控制器的输出。但是, 除了委派(posting)/分派一个主图形控制器,具有多个图形控制器的示例计算系统可委 派不只一个(例如,全部)图形控制器的视频BIOS。待使用的图形控制器可在运行时切换 到内存区中,以用于视频BIOS服务。从OS和/或应用的角度,视频BIOS服务正被提供。从 正在使用主图形控制器的角度,视频BIOS服务可被提供,即使多个图形控制器可被支持。 视频BIOS服务可被提供给OS/应用,而无需将OS/应用定制化为与底层的低级技术交互, 使对多个图形控制器的支持成为可能涉及该技术。因此,示例计算系统可在各种分派的视 频BIOS之间来回交换,以支持多个图形控制器及连接的显示器,同时从提供视频BIOS服务 的角度,支持OS/应用对主图形控制器的调用。
[0015]图1是根据示例的包括多个图形控制器110的计算系统100的框图。计算系统 100还包括系统基本输入输出系统(BIOS) 102、影子内存区106、以及保留内存区108。影子 内存区106与对应于所选择的图形控制器112的所选择的视频BI0S122关联。保留内存区 108与多个视频BIOS120关联。所选择的图形控制器112将例如响应于服务请求104提供 输出114。
[0016] 当视频驱动器不可用时,计算系统100可提供来自多个图形控制器110的输出 114,例如来自可切换/混合图形系统上的分离图形的输出。保留内存区108用于存储多个 视频BIOS图像120,并且影子内存区106用于存储与所选择的图形控制器112对应的所选 择的视频BIOS图像122,使得所选择的图形控制器112响应于对视频BIOS服务的服务请求 显示输出114,而不使用图形驱动器。系统BIOS102使能够基于将视频BIOS图像从保留内 存区108复制到影子内存区106,而改变从多个图形控制器110中选择的图形控制器112。 如本文所提出的,术语"视频BIOS"以及"视频BIOS图像"交换使用。此外,对BIOS的引用 可被解释为通常指软件和硬件之间的接口、操作系统和平台固件之间的接口、以及其他接 口,且可包括引导固件或其他示例,例如统一可扩展固件接口(UEFI)。
[0017] 在示例中,在系统引导时,用于图形控制器的视频BIOS可被分派,并被复制到保 留内存区108中。因此,多个视频BIOS120可包含在保留内存区108中。可连续分派每个 视频BIOS,使系统BIOS102能够在其分派期间识别视频BIOS的各种其它方面(例如,在 分派每个视频BIOS时,识别关联的中断偏移)。在可替代的示例中,可并行分派多个视频 BIOS120。计算系统100可最后分派所选择的视频BIOS122,使得所选择的视频BIOS122 能够保留在影子内存区106中。在可替代的示例中,独立于如何分派多个视频BIOS120(例 如,以特定顺序、并行等)外,计算系统100可将所选择的视频BIOS122交换到影子内存区 106中。示例计算系统100可响应于系统引导,将所选择的视频BIOS122放置在影子内存 区106中。示例计算系统100还可响应于显示器连接状态改变和/或在处理对视频BIOS 服务的请求时,将所选择的视频BIOS122放置在影子内存区106中。例如,用于输出114 的第一显示器可与所选择的图形控制器112断开,并且第二显示器可连接至多个图形控制 器110中的另一个。然后,计算系统100可用多个视频BIOS120中对应于正被连接的图形 控制器的另一视频BIOS120替换影子内存区106中的所选择的视频BIOS122。系统BIOS 102可使计算系统100能够解释显示器改变以及图形控制器和/或视频BIOS的选择,而且 独立于被加载的OS启用其他系统功能。
[0018] 分派(也可称为POST(上电自检))可用于将所选择的视频BIOS122放置到影子 内存区106中。来自图形供应商的视频BIOS图像以压缩格式可用,例如存储在图形控制器 的非易失性存储器中。分派可取得该图像并将其解压缩到临时位置。计算系统1〇〇(例如, 系统BIOS102)可执行解压缩的视频BIOS图像中的代码,以建立对应于特定视频BIOS的 图形硬件。作为分派过程的部分,所执行的图像可将其自身重写到影子内存区域106中作 为视频BIOS(例如,所选择的视频BIOS122)的完整后图像(postimage)。分派还可涉及 初始化与视频BIOS对应的视频控制器硬件。
[0019] 在执行/委派/分派所选择的视频BIOS122之后,所选择的视频BIOS122可驻 留在与服务请求104关联的特定位置中。例如,分派所选择的视频BIOS122可引起所选择 的视频BIOS122驻留在与内存位置C0000的偏移位置处。因此,根据视频BIOS使用视频 资源的请求(例如,服务请求104)可基于与C0000内存位置的偏移被导向视频BIOS122 的所存储位置,以执行代码。在示例计算系统中,与影子内存区106关联的内存位置可保留 一个视频BIOS图像。
[0020] 计算系统100可通过为每个图形控制器建立POST图像(S卩,分派)并且将所分派 的视频BIOS图像复制到保留内存区108,来分派多个图形控制器110 (对每个视频BIOS重 复),以获得存储在保留内存区108中的多个视频BIOS120。因此,影子内存区106和保留 内存区108可被建立,以允许在运行时将视频BIOS图像中的被存储在影子内存区106中的 那一个切换作为所选择的视频BIOS122。
[0021] 使用所分派的视频BIOS中的哪个可基于显示器能力,并且可基于策略决定(例 如,基于与图形控制器的输出端口关联的优先级)做出。例如,如果一个可用于输出114的 显示器附接至分离图形控制器(dGPU),则计算系统100 (例如,在系统BIOS102的控制下) 可将所分派的存储在保留内存区108中的视频BIOS复制到影子内存区106(例如,C0000 位置)。因此,服务请求104实际上将在与其关联的所选择的视频BIOS122的指导下调用 分离的图形控制器,这导致输出114朝着附接至分离的图形控制器的显示器。如果可利用 的显示器连接至另一个(例如,集成的)图形控制器,则计算系统100可将对应的集成图形 控制器视频BIOS复制到影子内存区中。该技术可扩展到多个图形控制器110中的所有图 形控制器110及其关联的多个视频BIOS120。计算系统100可在后台交换所选择的视频 BI0S122,使得计算系统100的其他功能(例如,OS)不需要知道该交换,或不需要定制以实 现该交换。
[0022] 因此,计算系统100可在显示器驱动器不可用的期望情况下显示输出114。这 样的情况可包括:引导进入微软^Windows7?安全模式;利用来自独立于OS的硬件视 频图形适配器(IHVG)的基本图形视频器;在计算系统的POST期间;引导到Windows时 (例如,笔记本盖闭合且外部数字显示器连接到dGPU时);在停止视频驱动器和显示器的 Windowsu中故障(所谓的"蓝屏"(BSOD))期间;使用标准VGA驱动器;或在显示器驱动 器对于运行使用视频BIOS服务的OS(例如,Windows7K以及更早的OS)的个人计算机 (PC)架构未激活时,利用其它基本限制。
[0023] 系统BIOS102可使计算系统100能够执行各种功能。系统BIOS102可提供控制 以启动视频BIOS图像的执行,例如,跳转到该视频BIOS的特定偏移。系统BIOS102可使得 视频BIOS能够被执行以需要多少内存空间。例如,假设将要(例如,在解压缩之后)执行 的视频BIOS是92千字节(Kb)大小。系统BIOS102能够执行视频BIOS,并且确定对于初 始执行将分配临时空间以匹配该视频BIOS。在执行完成之后(与分派所涉及的其他过程一 起),系统BIOS102可分配影子内存区106来容纳视频BIOS122以及任意关联的信息(例 如,用于所选择的视频BIOS122的中断偏移)。例如,分派的所选择的视频BIOS122可占 用50Kb作为其最终大小。系统BIOS102可识别最大的大小以容纳多个视频BIOS120中 的每个,并且分配合适的内存空间以分派多个视频BIOS120中的每个。类似地,系统BIOS 102能够分配保留内存区108或计算系统100中的其他内存区(例如,临时内存区,未示出) 中的空间。系统BIOS102还可涉及初始化图形控制器硬件。
[0024] 视频BIOS可基于从计算系统100中的一个内存位置复制到另一个内存位置的技 术(例如,中央处理单元(CPU)内存管理)被复制/交换。例如,CPU可将视频BIOS复制 到一兆字节以下的内存区用于代码执行。
[0025] 在另一个示例计算系统100中,多个图形控制器110可包括英特尔φ集成图形控 制器以及NVidia8:分离图形控制器。英特尔@集成图形控制器的视频BIOS可被分派并且 影子内存区106会被更新,以具有所选择的英特尔视频BIOS122的最终图像。中断偏移 (例如,从影子内存区106的C0000位置的位置偏移)可被更新,使得能够响应于服务请求 1〇4(例如,跳转到所选择的视频BIOS122并开始执行其代码的中断请求)执行所选择的 视频BIOS122中的代码。在建立分派的所选择的视频BIOS122及关联的中断偏移之后, 该信息可保存到保留内存区108。在针对英特尔?集成图形控制器分派和保存视频BIOS122后,可对分离的NVidiau图形控制器执行类似的过程,使得作为分派的结果,所选择的 视频BIOS122对应于NVidia?图形控制器,而不特别需要从保留内存区复制它。
[0026] 因此,保留内存区108包含所分派的视频BIOS122及关联信息(中断偏移等)的 所谓"快照"。保留内存区108可被保护/保留用于存储多个视频BIOS120,使得防止保留 内存区108被在计算系统100上操作的OS重写。保留内存区108可被分配为具有任意大 小,且其最终大小可基于多个视频BIOS120的组合大小被分配。保留内存区108可改变大 小以包含非活动的视频BIOS。
[0027] 活动的和非活动的视频BIOS可基于系统引导、显示器状态改变、以及显示器附接 至什么或与什么断开连接来选择。在示例中,在系统引导时,系统BIOS102可按顺序为多 个图形控制器110分派多个视频BIOS120中的每个。在每个视频BIOS完成其分派之后, 影子内存区106中的所分派的视频BIOS图像与关联的中断偏移一起被保存到保留内存区 108。响应于显示器连接状态(例如,显示器连接状态的改变),系统BIOS102可确定多个视 频BIOS120中的哪个将被选择用于处理服务请求104。所选择的视频BIOS被加载到影子 内存区106中且计算系统100针对对应的中断偏移被更新,以访问所选择的视频BIOS122。
[0028] 图2是根据示例的包括多个图形控制器210的计算系统200的框图。计算系统200 还包括系统BIOS202、影子内存区206、保留内存区208、以及中断向量表224。系统BIOS 202用于识别与多个图形控制器210关联的显示器连接状态228。影子内存区206与所选择 的视频BIOS222关联、对应于所选择的图形控制器212。保留内存区208与多个视频BIOS 220关联,且对应于多个中断偏移221。中断向量表224包括所选择的中断偏移226、对应于 影子内存区206中的所选择的视频BIOS222。所选择的图形控制器212用于例如响应于中 断服务请求204向显示器216提供输出214。
[0029] 所选择的视频BIOS222可被分派或从保留内存区208被复制到影子内存区206。 影子内存区206 (也称为活动的视频BIOS区)用于存储所选择的视频BI0S222。系统BIOS 202可以C0000内存位置开始动态分配及保留影子内存区206。所分配的空间可改变大小 以等于所分派的对应于多个视频BIOS220的最大视频BIOS大小。
[0030] 在示例计算系统200中,内存位置C0000是与影子内存区206关联的、视频BIOS 图像可存在的一般位置。影子内存区206可扩展至其他内存区,例如,与内存位置D0000关 联的内存区,等等。
[0031] 中断偏移226可以是与影子内存区206的C0000位置的偏移。每个视频BIOS的 特定偏移值可不同,且不同的偏移(多个中断偏移221)可存储在保留内存区208中、对应 于多个视频BIOS220。与计算系统200关联的应用或OS可基于INT10中断服务请求204 例程请求使用视频BIOS服务。中断偏移226允许计算系统200 (例如,系统BIOS202)知 道为了开始执行所选择的视频BIOS222的视频BIOS服务,控制应跳转到哪。
[0032] 中断偏移226可以是中断向量表224中的单个条目,且可与给定的视频BIOS的一 系列子功能关联。中断偏移226的值和/或关联的子功能对于每个显示器可不同,且可针 对每个显示器被存储及更新,包括存在显示器状态改变或影响中断偏移226或关联功能/ 信息的其他改变时。
[0033] 中断向量表224可被更新作为分派过程的部分,例如用于存储关联的中断偏移 226 (例如,将INT10偏移存储到中断向量表224中)。分派所选择的视频BI0S222可涉 及将该选择的视频BIOS222的INT10偏移写入中断向量表224中。因此,如果多个视频 BIOS被分派,则中断向量表224可因此被更新(例如,中断偏移226的序列可被存储在中断 向量表224中以对应于分派的序列)。系统BIOS202或其他硬件(例如,图形控制器)可 更新存储在中断向量表224中的中断偏移226。所选择的视频BIOS222还可直接更新中断 偏移226。
[0034] 中断向量表224可实现中断映射。中断映射为计算系统200提供灵活性,使得系 统BIOS202或计算系统200的其他方面能够在制定关于如何在其他图形控制器中选择和 /或优先考虑图形控制器的策略决定时具有灵活性。示例计算系统可利用各种形式的中断 映射(包括系统BIOS202中的表),这提供根据需要实现改变的灵活性,并且为不同的示例 计算系统200提供不同的策略。
[0035] 交换所选择的视频BIOS222 (例如,用多个视频BIOS220中的一个替换)的决定 可基于哪些显示器附接至多个图形控制器210中的哪个。计算系统200的硬件可用于收集 信息,以使得能够知道哪些显示器被附接,且可向系统BIOS202提供该信息。例如,称作显 示器热插拔检测(HPD)的技术使像图形控制器这样的硬件能够硬件检测显示器是否是连 接的和/或断开的。系统BIOS202能够从硬件获得HPD检测信息(例如,作为显示器连接 状态228),且基于该信息,计算系统200 (例如,系统BIOS202)可进行关于将使用哪个视频 BIOS的决定(例如,通过将所选择的视频BIOS复制到影子内存区206的C0000位置,和/ 或通过在引导期间最后分派所选择的视频BIOS,使得其保留在影子内存区206中)。
[0036] 显示器连接状态228可通过对当前显示器状态实施检查来检测,和/或可基于识 别显示器状态改变来检测,例如通过接收基于硬件的中断来检测。例如,将显示器插入图形 控制器可触发显示器连接中断,系统BIOS202 (或计算系统200的其他部分)可接收该显 示器连接中断。计算系统200的硬件和系统BIOS202可跟踪哪些显示器被连接和/或被 断开,并跟踪显示器状态何时改变。当存在显示器改变时,计算系统200可将多个视频BIOS 220中的对应一个从保留内存区220复制到影子内存区206的C0000位置。类似地,计算系 统200可通过将来自多个中断偏移221的对应中断偏移复制到中断向量表224,来更新存储 在中断向量表224中的中断偏移226。因此,基于所更新的对应中断偏移226,视频BIOS服 务的INT10中断服务请求204将正确地跳转到对应于所连接的显示器216的所选择的视 频BIOS222。如果多个显示器连接到多个图形控制器210,计算系统200可实现策略,以例 如利用各种不同的图形控制器210及与图形控制器210关联的可用输出214中的优先级确 定选择哪个视频BIOS。所连接的显示器的状态可例如通过以下来读取:经由用于数字显示 器的HH)指示显示器连接状态的通用输入/输出(GPIO)、用于内部面板的盖状态、附接至用 于VGA显示器的接地电缆的GPI0、表示显示器连接状态的内部图形控制器寄存器、或用于 获得显示器连接状态和/或改变的其他技术。
[0037] 计算系统200 (例如,系统BIOS202)可形成可连接显示器216的映射。显示器映 射可与负责向那些显示器中的每个输出图像的对应的视频BIOS和/或图形控制器关联。显 示器映射可包括多个视频BIOS220中的每个的信息。显示器映射可被创建并被存储在系 统BIOS202中。显示器映射可由系统BIOS202用于确定将选择哪个视频BIOS来处理视 频BIOS服务的INT10中断服务请求204。显示器映射可在系统BIOS202中预定义、创建 及存储。例如,笔记本电脑可包括各自具有各种显示器输出的集成图形控制器和分离图形 控制器。笔记本电脑可具有包括显示器映射的系统BIOS,以确定在显示器连接时图形控制 器的各个输出中的哪个优先。
[0038] 因此,响应于显示器状态改变(例如基于显示器连接状态228,显示器正被连接或 断开),硬件可检测该改变并发送用于系统BIOS202的中断以进行处理。系统BIOS202可 读取各显示器的状态,并基于该数据确定应选择哪个视频BIOS。如果所选择的视频BIOS还 未在影子内存区中(例如,基于分派所选择的视频BIOS),系统BIOS202可将所选择的视频 BIOS复制到影子内存区206作为所选择的视频BIOS222。系统BIOS202还可用所选择的 中断偏移226更新中断向量表224,以通过使用所选择的视频BIOS222处理对视频服务的 INT10请求。
[0039] 图3是根据示例的包括多个图形控制器310的计算系统300的框图。计算系统300 还包括系统BIOS302、影子内存区306、保留内存区308、以及中断向量表324。系统BIOS 302用于识别与多个图形控制器310关联的显示器连接状态328。影子内存区306与对应 于所选择的图形控制器312的所选择的视频BIOS322关联。影子内存区306还与所选择 的视频BIOS偏移323关联,视频BIOS偏移323指向所选择的视频BIOS322。保留内存区 308与多个视频BIOS320关联,且对应于多个中断偏移321。中断向量表324包括中断偏 移326,中断偏移326指向影子内存区306中的所选择的视频BIOS偏移323。所选择的图 形控制器312用于例如响应于中断服务请求304向显示器316提供输出314。
[0040]系统内存(例如,影子内存区306)中的所选择的视频BIOS偏移323指向所选择的 视频BIOS322。系统BIOS302可使得能够基于将对应的中断偏移321从保留内存区308 复制到所选择的视频BIOS偏移323来改变所选择的图形控制器312。所选择的视频BIOS 偏移323可转而指向所选择的视频BIOS322,以提供视频服务。因此,所选择的图形控制器 312可通过可因此被更新的所选择的视频BIOS偏移323,来响应用于视频BIOS服务的中断 服务请求304,而无需更新中断向量表324中的中断偏移326 (例如,不改变INT10偏移)。 因此,计算系统300可利用同样的INT10偏移且不修改中断向量表324,同时使得能够对选 择哪个视频BI0S322及关联的图形控制器312做出改变。
[0041] 所选择的视频BIOS偏移323可被实现为跳转命令(例如,JMP)或其他技术,以将 中断偏移326请求重定向到当前选择的视频BIOS322。因此,可对所选择的视频BIOS偏 移323做出改变以引起重定向,而无需改变中断向量表324或其中断偏移326。在示例中, 计算系统300 (例如,系统BIOS302)可初始(例如,在引导时/期间/之后)修改中断偏 移326,以指向所选择的视频BIOS偏移323。因此,例如在加载操作系统(OS)时,中断偏移 326可保持指向所选择的视频BIOS偏移323。但是,所选择的视频BIOS偏移323可被动态 更新以引用所选择的视频BI0S322,这跟踪已选择的和/或改变的对应图形控制器312的改 变。中断偏移326可指向影子内存区306的最早偏移,例如,内存位置C0000。(例如,为了 避免在重写所选择的视频BIOS322时重写其他视频BIOS的任意部分)可加载视频BIOS, 使得最大的视频BIOS对应于内存位置C0000,而其他更小的视频BIOS加载到更高的内存 区。
[0042] 因此,图3的示例可兼容中断偏移326(例如,中断向量表324)未改变的操作系 统。例如,在操作系统施加中断以成为静止的情况下,可使用计算系统300。在中断偏移可 被改变以及例如操作系统未加载时的其他情况下,也可在操作系统中使用计算系统300。
[0043] 图4是根据示例的包括多个图形控制器410的计算系统400的框图。多个图形控 制器410与多个视频BIOS420关联,且可利用像外围组件互联Express(PCIe) 407这样的 互联来通信。图形控制器可与视频随机存取存储器(VRAM)409和/或其他硬件(未示出) 关联。多个图形控制器410用于与多个显示器416接合。
[0044] 上电期间,计算系统400可分派对应于多个图形控制器410的多个视频BI0S420。 所分派的视频BIOS420与其对应的中断偏移一起可保存到保留内存。一个视频BIOS可以 是驻留在标准/活动的视频BIOS内存区(例如,C0000 ;影子内存区)中的"活动的"(例 如,选择的)视频BIOS,在中断向量表中具有对应的中断偏移,用于处理对视频BIOS服务的 请求。多个视频BIOS420中的哪个将是活动的/选择的视频BIOS的决定可基于显示器状 态,且可由计算系统(例如,由系统BIOS)处理。
[0045] 多个显示器416可连接至多个图形控制器410,且因此,通过选择对应的图形控制 器(一个图形控制器/视频BIOS可与多个显示器交互)关于启用哪个/哪些显示器做出选 择。该选择可基于计算系统400中的策略决定(尽管可使用其他技术,例如手动选择、预编 程优先级列表、以及其他)。在示例中,超过两个的显示器可连接至每个图形控制器,因此, 即便存在多个显示器,策略决定可启用期望的显示器来激活。显示器可包括模拟的或数字 的,包括基于视频图形阵列(VGA)、高清晰度多媒体接口(HDMI)、显示端口(DP)、数字视频 接口(DVI)、雷电(Thunderbolt)κ (TB)、及其他的显示器。图形控制器410的每个显示器 接口可与检测连接和/或断开的能力(例如,模拟的接地电平或数字的HH)信号等等)关 联。
[0046] 选择策略可在具有多个图形控制器410 (包括集成GPU和分离GPU)的示例笔记本 计算系统400中如下操作。如果显示器状态指示DP显示器连接到分离GPU,并且笔记本电 脑的内置显示器面板盖闭合,那么所选择的视频BIOS对应于分离GPU。如果显示器状态指 示笔记本电脑的显示器面板盖打开或没有DP显示器被连接,那么活动的视频BIOS将对应 于集成GPU。
[0047] 图形控制器、图形控制器输出和/或显示器可与优先级关联。例如,在具有内置显 示器面板和各种可连接的显示器的计算系统中,可如下为第一计算系统分配优先级:内置 面板具有最高优先级,DP/HDMI/DVI/TB具有中间优先级,并且VGA具有最低优先级。针对 第二计算系统,可如下分配优先级:内置面板具有最高优先级,DP/HDMI/DVI具有第二最高 优先级,系统DP具有第三最高优先级,并且VGA具有最低优先级。因此,当多个显示器在系 统上可用时,可基于可用显示器中的最高优先级选择/激活显示器。显示器可与图形控制 器及关联的视频BIOS关联,由此对活动的视频BIOS的选择分配优先级(例如,基于可连接 显示器的映射)。
[0048] 考虑到设计限制,可尽可能最好地优化优先级。例如,计算系统400的硬件限制可 能意味着VGA和系统DP显示器不能经由GPIO信号检测,但可使用地信号检测或其他检测 技术。GPIO信号可用于驱动上述显示器优先级行为。例如,可由系统BIOS基于读取显示器 状态的GPIO状态并选择合适的"活动的"视频BIOS来选择优先级。GPI09为通用中断,用 于例如在分离GPU(dGPU)关闭时,为了热插拔显示器(HPD)与计算系统400的中断芯片组 交互。
[0049] 下列表阐明响应于显示器状态优先考虑选择和/或激活哪个视频BIOS的示例优 先级方案。iGTO代表集成图形处理单元(第一图形控制器),并且dGPU代表分离图形处理 单元(第二图形控制器)。机制可扩展到附加的图形控制器和/或显示器。L指正生效的 HPD(例如,至少一个数字显示器连接到dGPU)。H意味着没有HPD(没有连接到dGPU的数字 显示器)。
[0050]

【权利要求】
1. 一种计算系统,包括: 多个图形控制器; 保留内存区,用于存储多个视频基本输入输出系统(BIOS)图像; 影子内存区,用于存储与所选择的图形控制器对应的所选择的视频BIOS图像,使得所 选择的图形控制器响应于对视频BIOS服务的服务请求显示输出,而不使用图形驱动器;以 及 系统基本输入输出系统(BIOS),用于使能够基于将视频BIOS图像从所述保留内存区 复制到所述影子内存区,来改变所选择的图形控制器。
2. 根据权利要求1所述的计算系统,进一步包括中断向量表,其中所述保留内存区存 储分别与所述多个视频BIOS图像对应的多个中断偏移,且所述系统BIOS使能够基于将对 应的中断偏移从所述保留内存区复制到所述中断向量表,来改变所选择的图形控制器,使 得所选择的图形控制器响应对视频BIOS服务的中断服务请求。
3. 根据权利要求1所述的计算系统,进一步包括指向系统内存中所选择的视频BIOS偏 移的中断向量表,所选择的视频BIOS偏移指向所选择的视频BIOS,其中所述保留内存区存 储分别与所述多个视频BIOS图像对应的多个中断偏移,且所述系统BIOS使能够基于将对 应的中断偏移从所述保留内存区复制到所选择的视频BIOS偏移,来改变所选择的图形控 制器,使得所选择的图形控制器响应对视频BIOS服务的中断服务请求。
4. 根据权利要求1所述的计算系统,其中,一旦所述计算系统引导,所述系统BIOS将所 述多个视频BIOS图像中的每个分派到所述影子内存区中,并且将所述多个视频BIOS图像 中的每个复制到所述保留内存区。
5. 根据权利要求1所述的计算系统,其中,一旦所述计算系统引导,所述系统BIOS在分 派和复制未选择的图形控制器的所述多个视频BIOS图像之后,将所选择的视频BIOS图像 分派到所述影子内存区中,并且将所选择的视频BIOS图像复制到所述保留内存区。
6. 根据权利要求1所述的计算系统,其中,一旦所述计算系统的显示器连接状态改 变,所述系统BIOS从所述多个图形控制器中识别能显示的图形控制器,并且将对应的视频 BIOS图像复制到所述影子内存区中。
7. 根据权利要求1所述的计算系统,其中所选择的图形控制器响应于INT10中断服务 请求显示输出。
8. 根据权利要求1所述的计算系统,其中所述影子内存区与C0000内存位置关联。
9. 一种方法,包括: 识别从与计算系统关联的多个可用图形控制器中选择的第一图形控制器,其中所选择 的第一图形控制器基于所选择的第一视频基本输入输出系统(BIOS)显示输出; 将与所述多个可用图形控制器中的第二图形控制器关联的第二视频BIOS分派到所述 计算系统的影子内存区; 将所分派的第二视频BIOS保存到所述计算系统的保留内存区; 将与所选择的第一图形控制器关联的所选择的第一视频BIOS分派到所述影子内存 区,使得所选择的第一图形控制器响应于对视频BIOS服务的服务请求显示输出,而不使用 图形驱动器。
10. 根据权利要求9所述的方法,进一步包括将分派的所选择的第一视频BIOS以及与 分派的所选择的第一视频BIOS关联的所选择的第一中断偏移保存到所述保留内存区。
11. 根据权利要求9所述的方法,其中分派所选择的第一视频BIOS进一步包括:通过 将与分派的所选择的第一视频BIOS对应的中断偏移加载到中断向量表中,来更新所述中 断向量表。
12. 根据权利要求9所述的方法,进一步包括:基于分派的最大视频BIOS大小,来动态 分配和保留所述影子内存区。
13. -种非暂时性机器可读存储介质,利用可由计算系统执行的指令编码,所述指令在 被执行时引起所述计算系统: 将与多个图形控制器对应的多个视频基本输入输出系统(BIOS)图像存储在保留内存 区中; 将与所选择的图形控制器对应的所选择的视频BIOS图像存储在影子内存区中,使得 所选择的图形控制器响应于对视频BIOS服务的服务请求显示输出,而不使用图形驱动器; 以及 利用系统基本输入输出系统(BIOS),将视频BIOS图像从所述保留内存区复制到所述 影子内存区,以改变所选择的图形控制器。
14. 根据权利要求13所述的存储介质,进一步包括指令,所述指令引起所述计算系统 基于以下中的至少之一读取所连接的显示器的状态,以识别所选择的图形控制器:经由用 于数字显示器的热插拔检测(HPD)指示显示器连接状态的通用输入/输出(GPI0)、用于内 部显示器面板的盖状态、附接至用于VGA显示器的接地电缆的GPI0、以及表示显示器连接 状态的内部图形控制器寄存器。
15. 根据权利要求13所述的存储介质,进一步包括指令,所述指令引起所述计算系统: 基于与连接到所选择的图形控制器的显示器关联的优先级,识别所选择的图形控制器。
【文档编号】G06F9/48GK104508589SQ201280075039
【公开日】2015年4月8日 申请日期:2012年9月28日 优先权日:2012年9月28日
【发明者】通·塞恩, 巴拉尼德哈兰·安巴扎甘 申请人:惠普发展公司,有限责任合伙企业
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1