多任务处理环境中的机构允许异步访问图形适配器帧缓冲器物理存储器线性孔的制作方法

文档序号:2645246阅读:152来源:国知局
专利名称:多任务处理环境中的机构允许异步访问图形适配器帧缓冲器物理存储器线性孔的制作方法
技术领域
本发明一般涉及图形显示系统,尤其涉及将数据异步传输给图形显示系统。更具体地说,本发明涉及在进行产生帧缓冲器图形输出的其他过程的同时支持向图形显示系统的异步数据传输。
普通的个人计算机或工作站图形系统由以下部分组成图形适配器,它提供一帧缓冲器和图形加速硬件;和一软件设备驱动器,它提供图形适配硬件与操作系统之间的接口和/或在操作系统上运行的应用程序。这便于显示精心制作的图形,同时减轻图形处理的操作系统计算任务,提高整体性能。
可是,在一多任务处理环境中,对硬件设备如图形适配器的访问必须被串行化(serialize),从而可以为每个过程始终管理和维护硬件状态。这将一约束强加于从一视频源连续异步传输的数据,该视频源例如是一视频捕获设备(如“网眼”网络摄像机(“Webcam”))、数字电视信号源、来自网络设备的视频流等等。
尽管这种连续异步的数据传输应借助直接存储器存取(DMA)或其他手段直接传送给图形适配器帧缓冲器的物理存储器线性孔,可是,对于许多商用图形适配器来说,正缓冲器线性孔在使用图形加速硬件的同时是不可存取的。若当某个过程同时试图使用图形加速硬件(这使线性孔无法工作)时正在进行一异步数据传输,则在某个方式下该异步数据传输可能失败。该失败最多可能显现为该异步数据传输的显示中出现的一闪信号;最坏的情况下,该失败可能导致系统恶化和/或中止。
对于访问图形加速硬件来说,一种解决方案是串行化(即,时分多路传输)向帧缓冲器线性孔进行的数据传输操作。可是,这种串行化在多任务环境中其他过程的同时使数据传输操作的所需异步功能失效。
因此,希望提供一种机构,该机构在其他过程正常使用图形适配器加速硬件的同时支持向一帧缓冲器线性孔进行的异步数据传输,以产生帧缓冲器的图形输出。
因此,本发明的一个目的在于提供一种改进的图形显示系统。
本发明的另一个目的在于提供一种用来支持向图形显示系统进行的异步数据传输的方法和系统。
本发明的再一目的在于,在其他过程产生帧缓冲器的图形输出的同时,提供对向图形显示系统进行的异步数据传输的支持。
前述目的如下所述实现。一种模块介于一多任务操作系统与一图形适配器的设备驱动器之间,该图形适配器包括带有一线性孔的帧缓冲器,该线性孔用于连续的异步数据传输。介于中间的模块可以有选择地截取所有图形设备驱动器操作请求,或者简单地将这些指令传送给设备驱动器,并且提供一种机构,该机构用来在帧缓冲器中产生图形输出而不在图形适配器上采用图形加速硬件。介于中间的模块知道向帧缓冲器进行的异步数据传输的开始和停止。当异步数据传输开始时,介于中间的模块请求图形适配器设备驱动器访问帧缓冲线性孔,并且将其本身的内部状态设定为有效状态。当有效时,介于中间的模块截取所有图形设备驱动器请求,并且响应于这些请求用其本身的机构在帧缓冲器中产生图形输出,而不用图形加速硬件。由于不用图形加速硬件,所以帧缓冲线性孔一直保持激活状态(enabled)。当无效时,介于中间的模块简单地将所有图形设备驱动器请求传输给设备驱动器。介于中间的模块优选根据GRADD模型结构实现,用于产生图形输出的机构由VMAN和SOFTDRAW图形库提供。
在以下详细描写的说明中,本发明的以上和其他目的、特征与优点将变得很明显。
在所附的权利要求书中列出本发明特性所认为的新颖特征。不过,当结合看附图,通过参照以下对图示说明的实施例的详细描述,本发明本身及其优选的使用模式、其他目的和优点会受到最佳的理解,这些附图中

图1示出一数据处理系统的方框图,在该数据处理系统中可实现本发明的一个优选实施例;图2是一图形显示子系统方框图,根据本发明的一个优选实施例,在其他过程产生图形输出的同时,该系统支持向一帧缓冲器线性孔进行的异步数据传输;图3示出一过程的高级状态图(high level state diagram),根据本发明的一个优选实施例,在其他过程于帧缓冲器中产生图形输出时,该过程支持向一帧缓冲线性孔进行的异步数据传输。
参见附图,尤其参见图1,图中示出一数据处理系统的方框图,该系统中实现了本发明一优选实施例。数据处理系统100可以是可从International Business Machines Corporation(国际商用机器公司)of Armonk,New York买到的各种型号个人计算机中的一种。数据处理系统100包括处理器102,在该典型实施例中,该处理器102接至第二级(level two)(L2)超高速缓存104,该超高速缓存104又接至一系统总线106。
系统存储器108和输入/输出(I/O)总线桥(bus bridge)110也接至系统总线106。I/O总线桥110将I/O总线112耦合到系统总线106上,中继(relaying)和/或变换从一条总线到其他总线的数据处理。可以是一硬盘驱动器的外设如非易失性存储器114和可以包括一传统鼠标、一跟踪球或一数字转换垫(digitizer pad)的键盘/点击设备116都接至I/O总线112。
在一优选实施例中,数据处理系统100包括接至系统总线106的图形适配器118,如以下更详细描述的那样,该适配器118接收由处理器102提供的原始数据,并且为显示器120产生象素。图形适配器118包括一帧缓冲器和图形加速硬件,该硬件可以如以下更详细描述的那样同时受到使用。
数据处理系统100优选包括一个操作系统(图中未示)和一个应用程序,该操作系统支持多任务处理,而该应用程序用来接收用于显示器的异步数据传输,显示器例如是一视频流浏览器。用来接收异步数据传输的应用程序可以与其他过程在图形适配器118上同时工作。
图1所示的典型实施例只用来解释本发明,本领域的普通技术人员可知,在形式和功能方面可作各种变换。例如,数据处理系统100可以包括一CD-ROM和/或DVD驱动器,或者可以在图形适配器118与显示器120之间设置一查寻表和/或数-模转换器。所有这些变换都被认为是在本发明的实质与范围之内。
参见图2,图中示出根据本发明一优选实施例的图形显示子系统方框图,该子系统在其他过程产生图形输出的同时支持向一帧缓冲线性孔进行的异步数据传输。在本发明中,模块202介于操作系统和应用程序204与图形适配器118的设备驱动器206之间。介于中间的模块202可以有选择地截取所有图形设备驱动器操作请求,并且提供一机构,该机构用来在帧缓冲器中产生图形输出而不用图形适配器118上的图形加速硬件。另外,介于中间的模块202可以简单有选择地将图形设备驱动请求传送给设备驱动器206。
介于中间的模块202监视图形设备驱动器操作请求,知道向帧缓冲器进行的异步数据传输何时开始和停止。实际上,介于中间的模块202本身可以有选择地包括用来启动和中止异步数据传输机构。当异步数据传输开始时,介于中间的模块202请求图形适配器设备驱动器206访问帧缓冲线性孔,并且将其本身的内部状态设定为有效状态。介于中间的模块202可以用一DMA机构来将异步数据直接传输给图形适配器帧缓冲线性孔的物理地址,这与实际图形适配器设备驱动器206无关。
当介于中间的模块202的内部状态有效时,介于中间的模块202截取所有图形设备驱动器请求,并且响应于这些请求用其本身的机构在帧缓冲器中产生图形输出,而不用图形加速硬件。由于不用图形加速硬件,所以帧缓冲线性孔一直保持激活状态(enabled)。
当异步数据传输停止时,介于中间的模块202将其内部状态设置为无效。当无效时,介于中间的模块202简单地将所有图形设备驱动器请求传输到实际的图形设备驱动器上,该图形设备驱动器可任意使帧缓冲线性孔无效而没有不良影响。
介于中间的模块202优选根据图形适配器设备驱动器(GRADD)模型结构(architecture model)实现,该模型结构公开和描述于美国专利US5,715,459中,该专利题为“Advanced Graphics DriverArchitecture”,它在此引入以作参考。不过,介于中间的模块202优选不一定是一GRADD滤波器,而且用来在帧缓冲器中产生图形输出的机构由视频管理器(VMAN)和与该GRADD模型结构相关的SOFTDRAW图形库提供,该视频管理器和图形库可以从International BusinessMachines Corporation of Armonk,New York买到。
本发明可以例如实施于一视频捕获和显示系统中,该系统使用普通显示驱动器方案的GRADD模型。该视频捕获硬件可以用一DMA机构将数字视频流传输给物理存储器。本发明可以与图形芯片组一起使用,其中当各过程同时使用图形加速功能时,帧缓冲线性孔无效。
参见图3,图中示出根据本发明一优选实施例的过程的高级状态图,该过程用来支持其他过程在帧缓冲器中产生图形输出的同时向一帧缓冲线性孔进行的异步数据传输。该过程由上述的数据处理系统和图形显示子系统实现。
该过程从状态302开始,状态302示出启动的系统。该过程接着转至状态304,状态304示出位于一设备驱动器接口处的介于中间的模块,它只简单地将所有收到的图形设备驱动器操作请求传送给设备驱动器。该过程保持在状态304中,直到一个异步数据传输开始为止,这可以由介于中间的模块检测,而且可以如上所述导致在介于中间的模块内部状态中产生变化。只要没有开始任何异步数据传输,该过程就保持在状态304。
一旦一个异步数据传输开始,该过程首先转至状态306,这示出介于中间的模块请求设备驱动器访问用于异步数据传输的帧缓冲线性孔,接着转至状态308,这示出介于中间的模块用一机构截取和处理所有图形适配器设备驱动器操作请求,该机构用来如上所述处理介于中间的模块内的图形设备驱动器操作请求。这消除了在图形适配器上使用加速软件,防止帧缓冲线性孔受到无效处理。
只要异步数据传输正在进行,该过程就保持在状态308。可是,一旦异步数据传输终止,该过程就转回状态304,重新开始将所有图形设备驱动器操作请求传送给设备驱动器,再次伴随有介于中间的模块中的内部状态变化。该过程保持在状态304,直到随后的异步数据传输开始为止。
本发明提供一种普通的设备无关方法,该方法允许从一数字视频源向图形适配器帧缓冲器进行异步数据传输,同时其他过程在帧缓冲器中产生图形输出,而已知的实现方式要么与设备有关,要么采用时分多路传输技术。例如,一种视频捕获硬件的设备驱动器通常与图形显示硬件设备驱动器结合或紧紧耦合。可是,本发明将视频源驱动器从图形显示设备驱动器上解耦,提供一种降低成本的普通设备无关方案,还提供真正的异步同时操作,并且有可能提高性能。
重要的是,应注意,尽管本发明已经在一全功能设备的范围内得到了描述,可是本领域的普通技术人员可知,本发明的机构和/或其各方面能够受到分配,其形式为各种形式指令的计算机可用介质;还可知,不管用来实际执行分配的信号承载介质是否是特定类型,本发明都同等适用。计算机可用介质的实例包括非易失性硬编码(hard-coded)型介质,如只读存储器(ROMs)或电可编程只读存储器(EEPROMs);可记录型介质,如软盘、硬盘驱动器和CD-ROMs;传输型介质,如数字和模拟通信链路。
尽管已经参照一优选实施例具体表示和描述了本发明,可是本领域普通技术人员可理解的是,在不脱离本发明的实质与范围的情况下,可用于其中在形式与细节方面作各种变换。
权利要求
1.一种支持其他过程在一帧缓冲器中产生图形输出的同时进行异步数据传输的方法,包括确定是否有向一图形适配器的帧缓冲线性孔进行的异步数据传输;响应于确定没有向帧缓冲线性孔进行的异步数据传输,将一接收到的图形设备驱动器操作请求传送给图形适配器的设备驱动器;和响应于确定有向帧缓冲线性孔进行的异步数据传输,截取接收到的图形设备驱动器操作请求,并且处理接收到的图形设备驱动器指令而不用该图形适配器的加速硬件。
2.权利要求1的方法,其中确定是否有向一图形适配器的帧缓冲线性孔进行的异步数据传输步骤还包括检查介于一操作系统与图形适配器的设备驱动器之间一模块的内部状态。
3.权利要求1的方法,其中将一接收到的图形设备驱动器操作请求传送给图形适配器的设备驱动器步骤还包括在没有向帧缓冲线性孔进行的异步数据传输时,将所有接收到的图形设备驱动器操作请求传送给图形适配器的设备驱动器。
4.权利要求1的方法,其中截取接收到的图形设备驱动器操作请求,并且处理接收到的图形设备驱动器指令而不用该图形适配器的加速硬件步骤还包括在有向帧缓冲线性孔进行的异步数据传输时,截取所有传送给图形适配器设备驱动器的接收到的图形设备驱动器操作请求,并且处理截取的设备驱动器指令而不用该图形适配器的加速硬件。
5.权利要求1的方法,还包括将一模块置于一操作系统与图形适配器的设备驱动器之间,该介于中间的模块检查向帧缓冲线性孔进行的任何异步数据传输的开始。
6.权利要求5的方法,还包括请求带有介于中间的模块的图形适配器设备驱动器访问帧缓冲线性孔。
7.权利要求1的方法,还包括将一模块置于一操作系统与图形适配器的设备驱动器之间,该介于中间的模块检查向帧缓冲线性孔进行的任何异步数据传输的终止。
8.一种支持其他过程在一帧缓冲器中产生图形输出的同时进行异步数据传输的系统,包括一图形适配器的设备驱动器;一帧缓冲线性孔的异步数据或者该设备驱动器的图形设备驱动器操作请求的源;和介于该设备驱动器与该源之间的模块,该介于中间的模块确定是否有向一图形适配器的帧缓冲线性孔进行的异步数据传输;响应于确定没有向帧缓冲线性孔进行的异步数据传输,将一接收到的图形设备驱动器操作请求传送给图形适配器的设备驱动器;和响应于确定有向帧缓冲线性孔进行的异步数据传输,截取接收到的图形设备驱动器操作请求,并且处理接收到的图形设备驱动器指令而不用该图形适配器的加速硬件。
9.权利要求8的系统,其中介于中间的模块检查一内部状态,用以确定是否在进行异步数据传输。
10.权利要求8的系统,其中根据向帧缓冲线性孔进行的异步数据传输的开始,将介于中间的模块设定到第一内部状态。
11.权利要求10的系统,其中根据向帧缓冲线性孔进行的异步数据传输的终止,将介于中间的模块设定到第二内部状态。
12.权利要求8的系统,其中当没有向帧缓冲线性孔进行的异步数据传输时,介于中间的模块将所有图形设备驱动器操作请求传送给设备驱动器。
13.权利要求8的系统,其中当有向帧缓冲线性孔进行的异步数据传输时,介于中间的模块截取所有图形设备驱动器操作请求,并且处理截取的设备驱动器操作请求而不用图形适配器的加速硬件。
14.权利要求8的系统,其中在向帧缓冲线性孔进行的异步数据传输开始过程中,介于中间的模块请求图形适配器的设备驱动器访问帧缓冲线性孔。
15.一种支持其他过程在一帧缓冲器中产生图形输出的同时进行异步数据传输的计算机可使用介质中的计算机程序产品,包括用来确定是否有向一图形适配器的帧缓冲线性孔进行的异步数据传输的指令;响应于确定没有向帧缓冲线性孔进行的异步数据传输,将一接收到的图形设备驱动器操作请求传送给图形适配器的设备驱动器的指令;和响应于确定有向帧缓冲线性孔进行的异步数据传输,截取接收到的图形设备驱动器操作请求,并且处理接收到的图形设备驱动器指令而不用该图形适配器的加速硬件的指令。
16.权利要求15的计算机程序产品,其中用来确定是否有向一图形适配器的帧缓冲线性孔进行的异步数据传输的指令还包括用来检查介于一操作系统与图形适配器的设备驱动器之间一模块的内部状态的指令。
17.权利要求15的计算机程序产品,其中将一接收到的图形设备驱动器操作请求传送给图形适配器的设备驱动器的指令还包括在没有向帧缓冲线性孔进行的异步数据传输时,将所有接收到的图形设备驱动器操作请求传送给图形适配器的设备驱动器的指令。
18.权利要求15的计算机程序产品,其中截取接收到的图形设备驱动器操作请求,并且处理接收到的图形设备驱动器指令而不用该图形适配器的加速硬件的指令还包括在有向帧缓冲线性孔进行的异步数据传输时,截取所有传送给图形适配器设备驱动器的接收到的图形设备驱动器操作请求,并且处理截取的设备驱动器指令而不用该图形适配器的加速硬件的指令。
19.权利要求15的计算机程序产品,还包括在介于一操作系统与图形适配器的设备驱动器之间的模块处检查向帧缓冲线性孔进行的任何异步数据传输的开始的指令。
20.权利要求19的计算机程序产品,还包括根据向帧缓冲线性孔进行的异步数据传输的开始,请求带有介于中间的模块的图形适配器设备驱动器访问帧缓冲线性孔的指令。
全文摘要
一种介于多任务操作系统与图形适配器的设备驱动器之间的模块,该模块可以有选择地截取所有图形设备驱动器操作请求,提供一种机构,用来在帧缓冲器中产生图形输出而不在图形适配器上用图形加速硬件。介于中间的模块知道向帧缓冲器进行的异步数据传输的开始和停止。当有效时,该模块截取所有图形设备驱动器请求,并响应这些请求用其本身的机构在帧缓冲器中产生图形输出,而不用图形加速硬件。当无效时,该模块简单地将所有图形设备驱动器请求传输给设备驱动器。
文档编号G09G5/393GK1258039SQ99124760
公开日2000年6月28日 申请日期1999年12月9日 优先权日1998年12月18日
发明者R·B·卡佩利 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1