CN1126039C - 实现复盖路径的系统和方法 - Google Patents

实现复盖路径的系统和方法 Download PDF

Info

Publication number
CN1126039C
CN1126039C CN97110561A CN97110561A CN1126039C CN 1126039 C CN1126039 C CN 1126039C CN 97110561 A CN97110561 A CN 97110561A CN 97110561 A CN97110561 A CN 97110561A CN 1126039 C CN1126039 C CN 1126039C
Authority
CN
China
Prior art keywords
topped
fifo
video data
display
streamline
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN97110561A
Other languages
English (en)
Other versions
CN1173670A (zh
Inventor
L·P·奇
J·D·马尔文尼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Publication of CN1173670A publication Critical patent/CN1173670A/zh
Application granted granted Critical
Publication of CN1126039C publication Critical patent/CN1126039C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/001Arbitration of resources in a display system, e.g. control of access to frame buffer by video controller and/or main processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • G06F3/1431Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display using a single graphics controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • G06F3/1438Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display using more than one graphics controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/147Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/08Cursor circuits
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2310/00Command of the display device
    • G09G2310/02Addressing, scanning or driving the display screen or processing steps related thereto
    • G09G2310/0229De-interlacing
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2330/00Aspects of power supply; Aspects of display protection and defect management
    • G09G2330/02Details of power systems and of start or stop of display operation
    • G09G2330/021Power management, e.g. power saving
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/12Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/12Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
    • G09G2340/125Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels wherein one of the images is motion video
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/34Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source
    • G09G3/3406Control of illumination source
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
    • G09G5/397Arrangements specially adapted for transferring the contents of two or more bit-mapped memories to the screen simultaneously, e.g. for mixing or overlay

Abstract

处理覆盖显示数据的一个系统和方法。一个显示器FIFO流水线处理背景图形显示数据,一个单独的覆盖FIFO流水线处理在图形存储器的离屏部分存储的覆盖显示数据。该覆盖FIFO流水线对覆盖显示数据执行格式转换、插值和定标,并将其输出到一个覆盖多路转换器,覆盖多路转换器在处理每个扫描行的过程中,在显示器FIFO流水线和覆盖FIFO流水线的输出之间进行选择。

Description

实现复盖路径的系统和方法
本申请是流水号为08/486796(VP003)、申请日为1995年6月7日、题目为“具有显示不同图像的双重同步显示器的计算机系统”的未决申请(现为美国专利No.5694141)的部分继续申请。
本申请的主题与下述专利申请中公开的主题相关:美国专利申请No.08/487121(VP002),申请日为1995年6月7日,题目为“带有节能方式视频显示控制器的计算机系统”;美国专利申请No.08/487117(VP005),申请日为1995年6月7日,题目为“带有显示器的计算机系统”,现为美国专利No.5767866;美国专利申请No.08/485876(VP001),申请日为1995年6月7日,题目为“包括用于发出或消除DRAM存取请求的机制的显示器FIFO模块”,现为美国专利No.5673416;美国专利申请No.08/487120(VP004),申请日为1995年6月7日,题目为“带有双屏LCD显示器的计算机系统”,现为美国专利No.5724063。所有上述申请都与本申请在同一天提交,并转让给同一受让人。
本发明一般相关于图形系统,更详细地说,本发明针对图形复盖的处理。
常规的总线仲裁电路在1984年6月5日授予Ralph L.Adcock的美国专利No.4453214(下称214专利)中作了公开。根据214专利,总线仲裁器和存储管理器(BAMM)在计算机系统中相互竞争的操作单元之间建立优先级,该BAMM根据优先级对存储器存取请求进行分类,并允许具有最高优先级的设备在其它设备之前存取。看起来似乎一旦一个设备被许可存取存储器时,当来自具有较高优先级的另一个设备的存取请求由214专利的BAMM接收时,对前一设备的中断就不被允许。当已经具有存储器存取的一个设备完成了该存取时,它提供一个“结束”信号,从而使得BAMM允许提出了存取请求并具有最高优先级的设备进行存储器存取。
采用214专利公开的BAMM类型,可以想象一个计算机系统的显示器FIFO可以在显示器FIFO几乎或完全没有信息显示时被拒绝对DRAM的存取。因此,计算机系统的显示器的运行连续性可能被中断。可以理解的是,这类显示中断会引起计算机系统用户的关心和迷惑。
具有图形控制器和DRAM控制器的另一个传统的图形系统在1991年2月5日授予Jean-Michel Callemyn的美国专利No.4991112(下称112专利)中作了公开。根据112专利,DRAM控制器接收刷新请求和以突发串方式存取DRAM的请求,并在这些请求之间进行仲裁。在显示阶段,在一个准备读性之后,最高优先级被给予显示器FIFO。当FIFO满时可以中断对DRAM的突发串读操作。在这种情况下,优先级被给予一个可能的准备性读。在没有准备性读请求的情况下,CPU的请求将被兑现,并启动该CPU对DRAM的存取。然而,只要FIFO提出一个存取请求,CPU存取就被中断,先前中断的FIFO的突发串读将被恢复。在行返回阶段,对DRAM的存取设置不同的优先级。也就是说,刷新DRAM被给予最高优先级,其次是显示器FIFO的填充,第三优先级听从图形处理器的存取请求,然后评估CPU。然而,除了上面描述的中断外,一旦允许了对DRAM的一个存取,那么就不能相信112专利能许可对该存取的中断。另外,112专利允许的中断是阻止FIFO的数据由于FIFO满而被新数据重写所必须的内在中断。
具有总线仲裁机制的另一个常规的DRAM刷新控制器在1994年9月6日授予Tzoyao Chan和Milton Cheung的美国专利No.5345577(下称577专利)中做了公开。根据577专利,对一个超高速缓冲存储控制器提供突发串和隐刷新方式。在收到一定数量的刷新请求之前,只对请求计数,而不允许存储器存取。另一方面,当刷新进行时隐刷新同时进行,并且不向CPU发送保持信号。直到刷新结束允许本地存储器存取而非远程存储器存取。结果,在隐刷新期间CPU被拒绝存储器存取,并且也不能指望立即存取存储器,以便隐刷新不会干扰CPU运行。一次性许可存储器存取的中断并不是本发明的一个特征。
从一般情况考虑,在图形控制器中,如上面一般描述的VDC中,在系统的若干设备之间的仲裁DRAM接口(存取)是控制器的最关键部件。存取DRAM支配诸如位--BLT驱动、显示器FIFO和本地总线(即CPU)之类的设备如何以及何时对DRAM进行存取。CPU和位--BLT的存取请求是相互排斥的,不会同时发生。通常当对一个设备停止对DRAM的存取并对另一个设备允许存取时,必须存取DRAM的一个新的页面。也就是说,DRAM可以被设想为存储单元的一个两维阵列。这个存储器采用带有行指示字和列指示字的存储单元行和列。只要存储器存取是对存储器的单一一行进行,并且当数据从该行的地址位置写入或读出时列指示字仅仅沿该行移动时,启动对存储器的单页面存取,并且不需要页面中断。然而,当存储器的另一行(即另一页)必须被存取时,必须预先运行预加载序列以便存取存储单元的下一行。该预加载序列所花费的时间使得在这样一种存储器存取的时间间隔内就从存储器读出或写入的数据量而言,对存储器进行多页存取与单页存取不完全一样高效。
因此,就对时间的利用来说,对DRAM的页面方式存取比对DRAM的随机存取要有效得多,因为随机存取需要许多页面中断。当对DRAM不保持页面方式时,那么至少必须进行一次准备性预加载周期,以使得在向存储单元写入或从中读出数据所需要的时间间隔外还允许存取DRAM的另一个不同页面。当对位--BLT允许对DRAM存取时,这些存取通常是花费相当多时间的多页面存取,但对这一存取的请求并不需要许可对DRAM的立即存取。另一方面,对DRAM的CPU(本地总线)存取通常是单页面存取,比位--BLT存取花费的时间要少得多,并且也不需要请求导致立即的存取。然而,当需要CPU等待DRAM存取时,系统吞吐量减小,计算机系统的WINMARKS(工业标准运行基准)也减小。此外,图形控制器的显示器FIFO也请求DRAM存取,并且可以被看作是以均匀速率从底部排泄的储水(数据)罐,偶尔从顶部再充水。显示器FIFO存储要发送到显示设备(例如CRT或LCD)的图像信息。数据从显示器FIFO泄漏的速度取决于显示操作方式。如果显示器在每个象素需要四位的灰度方式下运行,那么显示器FIFO不会泄漏很快。另一方面,如果用户在彩色方式下操作显示器,那么显示器的每个象素可以要求8位或16位信息,或者多于16位,这时显示器FIFO相应泄漏较快。
当重新填充时,显示器FIFO的重新填充速度要比排泄速度快得多。但是,从新填充可以是间歇的,并且可以中断以允许进行存取DRAM所需要的其它活动。此外,必须理解的是,当FIFO被重新填充时,完整的数据双字必须从DRAM输入。如果在显示器FIFO的顶部没有足够的空间来接收在特定时间输入的所有的最后部分完整的数据双字,那么部分现有的数据就会重写或丢失。在传统的做法中,只要显示器FIFO在顶部至少有一个新数据双字的空间,而不会重写等待发送到显示设备的现有数据,显示器FIFO就将一个FIFOLO请求(要求DRAM存取的低优先级请求)发到DRAM控制器。
因此,响应FIFOLO请求可以许可显示器FIFO对DRAM进行一个或多个存取。在FIFO被充满之前该请求不会被清除。如果显示器FIFO没有响应FIFOLO请求充分地从新填充,那么在显示器FIFO开始向显示器写入其数据的最后双字时,就立即发出存取DRAM的一个FIFOHI请求。这一FIFOHI请求立即兑现。同样,在FIFO请求被完全充满之前,FIFOHI请求不会被清除。因此,在FIFOHI请求被发出之后,传统的DRAM控制器将同时清除FIFOLO与FIFOHI。同样,在FIFO没有完全填充新数据之前,这些DRAM存取请求通常不会被清除。
图1第一行的时序图示出了在显示器FIFO和位--BLT驱动之间交替的VDC对DRAM存取的理想次序。第二行也示出了显示器FIFO和CPU对DRAM存取的理想次序。这些理想的时序图示出BLT或CPU都不需要等待DRAM存取,DRAM没有空闲时间,并且对位--BLT许可的存取时间相对较长,以便可以完成多页存取。传统的计算机系统图形控制器不会取得这种这种理想的DRAM存取管理。
此外,在实际的计算机系统图形控制器(即VDC)中,请求存取DRAM的次序以及实际许可的DRAM存取并不是理想的。因此,假设的图2(指定为现有技术)示出了可能在实际的传统计算机系统图形控制器中出现的时序图。该图的三个时间行的第一行示出了来自CPU的DRAM存取请求,后两行示出了来自显示器FIFO的存取请求:首先,在低优先级基础下(FIFOLO)----指示显示器FIFO充分消耗显示信息,新信息的至少一个双字可以写入到这个FIFO而不必重写现有的数据;其次,在高优先级基础下(FIFOHI)----指示显示器FIFO正在使用它的最后双字信息,并且可能用尽将要采用显示设备(如CRT或LCD)提供给用户的信息。在显示器FIFO被许可DRAM存取以及FIFO完全填满数据之前,这些FIFOLO和FIFOHI请求不会被清除(即移去或中断)。在这种传统的图形控制器中,对于一个显示器FIFOHI请求允许以最高优先级访问DRAM,即使中断CPU或计算机系统的另一个设备已经许可的存取。
考虑图2,在时间间隔#1,CPU被许可DRAM存取并结束,在时间间隔#2,DRAM空闲,时间间隔#3的开始指示在显示器FIFO空的情况下显示器图形处理开始,以及同时发出FIFOLO和FIFOHI请求。FIFOHI请求被允准,但在显示器FIFO被完全填满数据之前这些请求(FIFOLO和FIFOHI)不会被清除。结果,时间间隔#4的开始指示来自CPU的一个DRAM存取请求,该请求直到FIFOHI请求被清除之后才被允准。时间间隔#4指示CPU的等待时间。时间间隔#4的结尾指示FIFOLO和FIFOHI的同时清除,以及CPU最终被许可DRAM存取的时间间隔#5的开始。时间间隔#9指示从显示器FIFO发出DRAM存取的FIFOLO请求。由于响应FIFOLO请求给显示器FIFO提供了不充足的数据,(另一个设备,如位--BLT,可以进行DRAM存取,以致FIFOLO请求不能充分允准,显示器FIFO在时间间隔#10的开始发出一个FIFOHI请求,该FIFOHI请求在时间间隔#10立即被允准。然而,也产生另一个时间间隔(时间间隔#10),在该时间间隔CPU被拒绝存取DRAM。在时间间隔#10的结尾FIFOLO和FIFOHI请求被同时清除,CPU被许可DRAM存取。
另外,图2示出了传统的仲裁机制导致DRAM有时空闲(时间间隔2、6、8)以及CPU或显示器FIFO等待存取DRAM(时间间隔4、9、10)。一旦提出FIFOHI请求,CPU就需要等待直到在可以许可CPU存取DRAM之前显示器FIFO被完全填满为止,即使显示器FIFO可能已经收到了足够的数据从而不再立刻有显示器用尽数据的危险。这种传统的图形控制器既不能对DRAM保持页面方式,也减小了计算机系统的吞吐率。
因此,人们认识到很有必要建立更有效的方式来仲裁图形控制器的DRAM存取。
另外,1992年8月11日授予Yuichi Tomiyasu的美国专利5138305(下称305专利)公开了一个传统的显示器控制器,该显示器控制器采用打算用于CRT的VGA格式信号驱动一个LCD。305专利似乎与同时驱动双显示器(每个具有不同图像)并不相关。
1992年9月22日授予Wayne F.Berry的美国专利5150109(下称109专利)公开了另一个传统的VGR控制器插件,该专利公开了IBM兼容计算机的总线安装VGA控制器插件,它允许驱动LCD或CRT或同时驱动LCD和CRT。然而,两个显示设备将显示同样的图像。109专利与同时驱动双显示器(每个具有不同图像)并不相关。
1994年3月8日授予Subas S.Patil等人的的美国专利5293474(下称474专利)公开了具有自动对中和图像压缩的光栅成像的另一个传统系统。474专利被认为与视频显示控制系统相关,在该系统中,不必采用存储器帧缓冲器,就可以对显示在显示器上的图像进行水平或垂直或两者同时对中,以及进行图像压缩以符合显示器大小。474专利与同时驱动双显示器(每个具有不同图像)并不相关。
本发明相关于一个图形控制器,它包括两个分别专用于背景图形显示数据和复盖显示数据的流水线。复盖显示数据由图形存储器的离屏(off-screen)部分中的一个或多个源来存储。由于复盖显示数据以始发源的原有格式存储,因此与格式转换、定标、插值和边界成形相关的CPU功能可以省去,此外可以省去CPU和图形存储器之间的本地总线通信。
为了补偿这种处理上的变化,在图形控制器中的一个复盖FIFO流水线被专用于处理复盖显示数据。该复盖FIFO流水线从图形存储器的离屏部分检索复盖显示数据,并执行必要的格式转换、插值、定标等等。被处理的复盖显示数据被传送到一个复盖多路转换器,该多路转换器在已处理的复盖显示数据和来自一个显示器FIFO流水线的背景图形数据之间进行选择。
当对多复盖采用硬件解决方式时,图形控制器为每个复盖指派一组寄存器。这些寄存器识别复盖的位置、复盖的没定标的尺寸、定标因子、复盖数据在存储器中的地址、原来格式以及启动位。根据复盖在显示屏上的预定位置指派这些寄存器组,可以定义复盖FIFO流水线读取并处理复盖数据的次序。另外,采用启动位定义互补的复盖存储器区域,使得图形控制器可以处理双缓冲复盖显示数据。最后,图形控制器中的优先逻辑采用分层方式仲裁对图形存储器的存取请求,这种分层方式允许上层存储器存取请求中断现有的低层存储器存取请求,从而改进系统的吞吐量。
下面将对附图中示出的本发明最佳实施例进行更详细的描述,由此可以更好地理解本发明前面所述的以及其他的特征和优点。在附图中,相同的参考号指示相同或功能类似的部件。另外,参考号最左边的数字代表该参考号第一次出现的附图号。
图1提供了由位块转移(位--BLT)驱动和由中央处理单元(CPU)理想化地存取一个动态随机存取存储器的图形表示。
图2示出了一个可能在具有传统图形控制器的现有技术计算机系统中发生的假设的时序图。
图3提供了一个计算机系统的图形表示,包括一个笔记本式计算机和一个电视机,前者有一个LCD显示器,显示第一图像,后者用作计算机系统10的显示设备,显示一个不同的第二图像。
图4是图3所示的计算机系统的功能方框图。
图5提供了前面附图所示的计算机系统的视频显示控制器(VDC)的功能方框图。
图6是前面附图中所示的计算机系统的一个先入先出显示器存储器的图形表示。
图7是本计算机系统的定序器与控制器(SEQC)的示意性功能方框图。
图8提供了用于存取本计算机系统的DRAM的一个两层优先仲裁机制的表。
图9提供了在对DRAM的存取进行仲裁时由本发明的显示器FIFO执行的两个同时运行流程图。
图10提供了用于存取本计算机系统的另一个实施例的DRAM的一个三层优先仲裁机制的表。
图11和12的时序图示出了由本计算机系统的SEQC执行DRAM存取仲裁的结果。
图13是一个传统计算机系统的功能方框图,该计算机系统能够驱动显示不同图像的两个显示设备,并且对从计算机系统的一个DRAM到显示设备的图像信息具有分开的处理通道。
图14提供了体现本发明的计算机系统的VDC的部分功能方框图。
图15是图14所示的VDC的部分功能方框图。
图16、17、18是图14和15中所示的VDC的部分功能方框图。
图19示出了处理复盖的软件解决方案。
图20示出了处理复盖的硬件解决方案。
图21示出了处理复盖的一个图形控制器的最佳实施例。
图22示出了在产生显示时使用的扫描线。
图23示出了赋予每个复盖的寄存器数值的含义。
图24A和24B示出了在执行双缓冲功能时对寄存器的分配。
图25示出了图形控制器控制部分的一个实施例。
图26示出了由水平和垂直计数器识别的非显示区域。
图27示出了控制器和复盖FIFO流水线之间的控制信号的时序图。
图28示出了复盖FIFO流水线的一个实施例。
参考图3,计算机系统10包括一个笔记本计算机12和经由电缆与笔记本计算机相连的另外一个显示装置14。在图中该另外的显示装置是传统的电视机。本领域的普通技术人员会认识到电视机接收NTSC制式信号并显示隔行图像。另外,计算机系统10可以采用RGB信号(及水平和垂直同步信号)与传统的CRT监视器接口并提供一个非隔行图像。笔记本计算机12包括各种输入装置,如键盘18、软盘驱动器20和跟踪球22。本领域的技术人员会认识到跟踪球实际上是静态的鼠标输入装置。计算机系统10可以包括另外的输入装置,如硬盘驱动器、CD-ROM和串行输入输出(I/O)端口。除液晶显示器24外,某些上述装置也可以作为计算机系统10的输出装置。如下面所述,显示器24被表示为双屏类型。如图所示,笔记本计算机被用于执行多任务操作。例如,笔记本计算机12可用于进行财务分析,其数据显示在LCD24上,其图表可显示在CRT14上。
图4提供了计算机系统10的示意方框图,其中输入装置都表示在方框26中。输入装置与微处理器28接口,后者也与包括动态随机存取存储器(DRAM)的存储设备30接口。数据总线32与微处理器28接口,并提供与包括LCD和CRT图像显示装置14和24的输出装置接口。计算机系统10的其它输出装置都表示在方框14中。为了便利与图像显示装置14和24的接口,计算机系统10包括与总线32接口的一个视频显示控制器(VDC)36,并为LCD24和CRT14提供驱动信号。VDC36具有与DRAM的接口,该DRAM在图4上用示意方框38表示。VDC36也与计算机系统10的电源管理设备40接口。一个专用的时钟42为VDC36提供参考时钟速率。
参考图5,VDC36包括一个被专用时钟42的时钟信号参考的内部时钟44,并为VDC的视频部分46提供时钟信号。由内部时钟44提供的时钟信号可以包括一个象素时钟(Pclk)和一个存储时钟(Mclk),其使用将在下面作进一步的解释。为了将视频部分46与总线32接口从而达到与微处理器28接口,视频部分包括一个程序设计主机接口48。可以对主机接口48进行编程以使得VDC36与若干传统的总线结构接口。例如,主机接口48可以设置成与传统的Intel486DX本地总线、VL总线和PCI接口总线接口。主机接口48用VDC36的VGA核心部分50与总线32接口。该VGA核心部分50包括一个定序器(下面将作进一步的描述)、一个阴极射线管控制器(CRTC)、一个图形控制器、一个属性控制器和一个传统的VGA电路。
为了使VGA核心50产生并控制文本、图形和其他将要显示在CRT和LCD上的视觉符号(如光标和图符),VGA核心与一个硬件光标产生器52、一个位-BLT驱动54和一个显示器FIF056接口。另外两个显示器FIFO 56′和56″也与VGA核心50接口。只支持一个单一显示装置(LCD或者CRT)的VDC36的另一个实施例只包括一个单一的显示器FIFO,对此下面会作进一步的介绍。支持两个显示装置(一个LCD和一个CRT)的另一个实施例包括两个显示器FIFO 56和56′,当然,这个实施例也支持LCD或CRT类型的一个单一显示装置。下面将要解释到,包括显示器56和另外两个显示器FIFO 56′和56″的实施例被用于支持计算机10的双显示器操作,该操作在参考图3时已做了解释,这时采用标准电视机作为第二显示器。
当提供隔行图像的一个显示装置被用于显示正常的非隔行计算机图形图像时,该图像通常包括许多闪烁。然而,计算机系统10(VDC36)包括两个额外的显示器FlFO 56′和56″,它们被用于存储非隔行图像的交替行以及将图像的这些交替行顺序提供给电视机24,以便在减少闪烁的情况下显示一个隔行图像。因此,此后每当引用显示器FIFO 56时,该引用也同样包括显示器FIFO 56′和56″。只具有一个单一显示器FIFO的本发明的另外的实施例在判断是否允许存取DRAM38时可以执行简化的判定机制,对此下面会作进一步的解释。
硬件光标产生器52有选择地提供变大的光标(如两倍于普通光标),使得光标在响应由运行在微处理机28中的软件提供的某个预先选定的光标移动速度的检测在显示屏上移动时,便于视觉上的跟踪。因此,当计算机系统10的用户采用鼠标或键盘键来移动程序的光标时,如果移动速度达到预定的阈值,那么光标增大一倍或更大。前面所述的位--BLT驱动在CRT和LCD屏14和24上提供图形和其他这类图像符号而产生的位提供块转移。
更详细地说,位--BLT驱动对代表这些字符、实心填充、目标变换和图形填充的位执行读、写和块转移功能。位--BLT在块转移字符的边界执行所有的数据对准和屏蔽,并执行文本扩展以加速单色图像的写入。如上所述,显示器FIFO以整数倍的双字大小为单位或级暂时存储信息位,等待这些位写入显示器14和24的象素。显示器FIFO 56最好是一个8级FIFO,存储显示信息的8个32位双字,以便发送到CRT和LCD14和24。
硬件光标产生器52、位--BLT 54和显示器56也与DRAM控制器58接口。该DRAM控制器58如下面将要继续解释的那样执行上面所述的DRAM控制器/定序器功能,以仲裁和执行计算机系统1O的各种功能单元,包括VDC36的其它部分,对DRAM的存取请求。如图5中所示,DRAM控制器50具有与DRAM38的接口。为了简化起见,DRAM38以单一功能块的形式示于图5。然而,本领域的技术人员会认识到这个DRAM可以包括一个或多个DRAM芯片。显示器FIFO 56与调色板控制器60和液晶显示器(LCD)接口控制器62有一个接口(经由VGA控制器50和DRAM控制器58)。调色板控制器60与数--模转换器(DAC)61相连。调色板控制器执行标准的256x18VGA调色,而LCD接口控制器以单色操作方式对64种灰度、和以彩色操作方式为全部256K颜色的64K红色、绿色和蓝色色调执行帧调制和高频振动。
为了对图4所示的结构作出解释,应该注意到VDC36包括一个降低功率控制器64,该控制器与降低功率寄存器65互连,后者在VDC36内有一个综合的互连,降低功率寄存器65的这种综合互连在图5中用离开寄存器65的若干箭头表示。降低功率寄存器的这种互连充满VDC36并使其适合各种操作方式和各种相应的降低功率方式。降低功率控制器64还与LCD 24相连,以便在由计算机系统10的用户设置的参数控制下,当LCD背光“熄灭”以及LCD显示器“关闭”时,便利节电功能。
参考图6,图中示出了显示器FIFO56的简化图形表示。该显示器FIFO56最好具有8个32位双字或等级的容量。这些等级由沿图6左侧的数字1--8指示。在不脱离本发明精神和范围的前提下显示器FIFO还可以采用其他存储器容量。从该显示器FIFO的底部开始,当显示器14或24有效时,数据以与方式相关的速度持续输送到显示单元,对此已在上面做了解释。
在上部,显示器FIFO以与DRAM38和VDC的存储器时钟的速度(以及计算机系统10的其它参数)相关的速率间歇地重新填充。显示器FIFO的重新填充是断续的,在DRAM38可用时发生,对此下面将作进一步的解释。沿图6的图形表示的右侧有两个可移动的指示字,一个(指示字66)指示FIFO中的数据水平何时下降到该指示字之下,然后对DRAM的另外数据发出一个FIFOLO请求,该指示字66有从4到7的一个允许位置;另一个指示字68指示对DRAM38的另外数据发出FIFOHI请求,指示字68有从0到7的一个允许位置。在每种情况下,FIFOLO或FIFOHI请求的发出都指示FIFO56可以接收至少一个另外的双字级数据。
指示字68沿FIFO56的位置依赖于显示器14和24的操作方式(指示FIFO56排放的速度)和可能填充这个FIFO的速度(由象素和VDC的存储器时钟的间隔、DRAM38的速度和VDC的其它互连间隔和数据传送间隔确定),从而FIFOHI请求可以在FIFO56中数据的早到第七级或晚到第零级的时间发出,以保证FIFO不会用完数据。如上所述,当发出FIFOHI时,对DRAM38的其它存取被中断。因此,如果显示器FIFO正缓慢排泄而计算机系统可以快速填充FIFO,那么指示字68可以被设置为零,而显示器仍然不会用完数据。
指示字66的位置依赖于显示器操作方式和计算机系统10的类似参数。该指示字将设置在4到7的范围内,以便一方面便利以最少的FIFOHI请求尽早填充FIFO56,另一方面使得计算机系统的其它装置可以更好地存取DRAM38。可以理解的是,对FIFOLO请求的设置点(指示字68)并不如FIFOHI请求关键,在后面可以看到,这个FIFOLO请求指示字的等级适合由DRAM控制器58执行的低层优先机制。然而,FIFOLO请求是在FIFO试图取得对DRAM的足够存取的级别上发出的,而不发出FIFOHI请求,或将FIFOHI请求之间的间隔最大化。
可以看出,一个地址状态机连续对输入FIFO56的新等级(双字)数据计数,当每个选定量数据级输入到FIFO时,就判定是否消除FIFOLO或FIFOHI请求。任何时候都不清除来自FIFO56的数据请求。为了清除FIFOLO或FIFOHI请求,显示器FIFO不需要完全填充。
参考图7,该图示出了DRAM控制器58和DRAM与计算机系统10的各种装置的互连的功能方框图。方框70指示一个DRAM刷新周期的可能请求,该请求由VDC38中的时钟以规则重复的时间间隔发出(在图5中指示为“DR CLOCK)。因此对这个请求的接收是肯定的。而这一请求与其它请求的时序是不确定的。与此类似,方框72指示由LCD控制器62(在图5中用标号62′表示)的半帧缓冲器发出的对DRAM的可能的存取请求,这个半帧缓冲器接收并在DRAM38中暂时存储写入LCD24的屏面的象素值。当象素值需要被刷新时,一个屏面经由LCD控制器62从其相关的显示器FIFO接收刷新的信息。另一屏面接收先前已由半帧缓冲器62′暂时存储在DRAM中的象素值的重复值。
LCD24的屏面交替地从显示器FIFO和从半帧缓冲器62′接收新的图像数据,并由半帧缓冲器在DRAM38中暂时存储新的象素值,用于刷新显示器24的特定屏面,与此同时两个屏面中另一个正接收新的图像数据。这个半帧缓冲器具有有限的内部存储器。因此,当对DRAM38进行存储器存取时,半帧缓冲器62′将接收足够的象素值来提供对显示器24上的几个象素的刷新。在与用于刷新LCD24的象素的半帧缓冲器的有限存储容量中保留的数据量相关的FRAMELO(低优先级)或FRAMEHI(高优先级)基础上,半帧缓冲器发出存取DRAM的请求。
方框74指示由CPU发出的存取DRAM38的可能的请求。方框76指示由位--BLT驱动54发出的存取DRAM38的可能的请求。方框78指示由FIFO56发出的寻求暂时保持以便发送到显示装置14或24的新数据的可能请求(FIFOLO或FIFOHI)。下面将要解释到,FIFO请求可以包括来自每个FIFO56、56′和56″并由其标识的一个FIFOLO或FIFOHI请求。请求一旦作出,就要一直持续到满足为止,或在FIFOLO和FIFOHI请求的情况下直到清除为止。
再参考图7,方框80指示从鼠标图像发生器电路(上面已作过介绍和解释)接收的存取DRAM38来绘制鼠标图像的可能请求。方框82代表一个地址发生器,通过响应对数据的请求产生用于从DRAM38向显示器FIFO读数据的地址来为显示器FIFO56(或FIFO56、56′、56″)服务。相关领域的技术人员会认识到具有多个显示器FIFO56、56′等等的实施例对每个显示器FIFO也会有单独的地址发生器82。一个DRAM地址多路转换器84为DRAM38提供产生的地址。该地址多路转换器也包括识别产生的地址何时在DRAM38中需要一个页面中断的设施,并提供一个页面中断信号(由箭头88指示)给SEQC86,后者被用于启动DRAM38中必须的预加载序列,以使得存储器的不同页面能够被存取。当新数据与输入DRAM38的最后一个先有数据具有不同的行地址时这个页面中断信号被指示。当新数据具有同样的行地址时,不发出页面中断信号,这时即使最后的先有数据与新数据来自计算机的不同装置,DRAM的页面方式操作也被保持,并且不损失预加载序列时间。也就是说,存取DRAM38的装置的改变并不一定在DRAM38中导致页面中断。
在REQC86内是一个优先逻辑单元,用于在未决的DRAM存取请求中实现逻辑选择过程,如图8和10所示。图8代表只具有一个单一显示器FIFO56的DRAM控制器的简化替代图,对此将首先予以考虑。参看图8,存取DRAM38的未决请求首先都被分配给两个层(较高层和较低层)中的一个。在较高层中,未决的请求按优先级次序安排(指示为1U至5U),类似地,在较低的层中,未决请求是以优先级次序分等的(标号为1L至3L)。在这一对DRAM38存取的分级的未决请求的逻辑结构中,每个较高层的请求可以中断现有的响应具有较低层的另一个较高层请求所许可的对DRAM的存取,也可以中断响应所有较低层请求所允许的存取。因此,如果响应FIFOLO请求(级别为1L)的显示器FIFO的DRAM存取正在进行,此时REQC收到一个刷新DRAM的请求(级别为4U),那么显示器FIFO被中断,DRAM被刷新。
然而,如果在刷新DRAM的时候收到存取DRAM的CPU请求(级别为5U),CPU必须等待对DRAM的存取,原因是SEQC不会允许即使较高的层中较低级别请求的中断。另一方面,如果在刷新DRAM38的过程中收到一个FIFOHI请求(级别为2U),则这一请求将以DRAM刷新的中断兑现,并由显示FIFO授予对DRAM的存取以接收显示用的新数据。在较低层的请求中,不允许中断现有的对DRAM38的存取。这些较低层的请求仅仅只允许按优先级次序存取DRAM并且可以由任何较高层的请求来中断。也就是说,响应一个位-BLT请求(级别为3L)许可的对DRAM38的存取不会被任何其它较低层的请求中断,但可以由任意一个较高层的请求中断。
更进一步,图9示出了由DRAM控制器58采用级别计数器92(见图7)执行的另外一个功能,记住显示器FIFO56和DRAM控制器58都位于VDC36内并且彼此相互接口。级别计数器92持续监控为存取DRAM38内的数据而产生的地址,该地址被用于将该数据写入显示器FIFO56。在每个第N级的数据处(N代表提供给显示器FIFO56的数据的整数倍级别),级别计数器92对SEQC86中的标志位或寄存器复位。如图9所示,DRAM控制器58同时并独立地测试两个相互独立的问题的结果。一个问题是,显示器FIFO56中的数据级别是否低于FIFOLO指示字。如果答案为否,该问题继续。如果答案为是,那么发出FIFOLO请求。每次向显示器FIFO56写入第N级数据(由上面解释的复位标志或寄存器指示)时,该问题被重问一次,如果答案为否,则清除FIFOLO请求,因此FIFOLO可以在显示器FIFO没有完全装满数据时被清除。
与此类似,另一个问题是,显示器FIFO56中的数据级别是否低于FIFOHI指示字。如果答案为否,该问题继续。如果答案为是,那么发出FIFOHI请求。如上所述,FIFOHI(级别为2U,参考图8)会对存取DRAM38的所有其它请求产生中断,除鼠标请求(级别为1U)外。因此,FIFOHI请求的发出会在极短的时间导致数据在DRAM38中被存取并写入显示器FIFO56。每次向显示器FIFO56写入第N级数据(由上面解释的复位标志或寄存器指示)时,该问题被重问一次,如果答案为否,则清除FIFOHI请求,因此FIFOHI也可以在显示器FIFO没有被完全装满或即使装到FIFOLO指示字级别时被清除。在完成向显示器FIFO写入N级数据时,显示器FIFO56只需要被装到FIFO指示字以上的一个级别。
N的值最好选择为4,对如上所述具有8个等级并且每个等级有32位的显示器FIFO来说,这个N值是很方便的。在某些VGA操作方式下,每个象素有4位,帧缓冲器每隔32个象素刷新LCD显示器,因此,在这种操作方式下,在帧刷新定序和向显示器FIFO写入N级数据之间有一种有利的相关性。当然,显示器FIFO并不一定需要有8个级别深度,N也并不一定要选择为4。N可以根据显示器FIFO的大小和数据可以被存取(DRAM速度)并写入该显示器FIFO的速度之间的相互关系、以及显示器FIFO耗尽数据的速率和对一个特定系统的其它装置存取DRAM的要求来选择。
参考图10,图中示出了在具有两个或多个显示器FIFO 56、56′、56″等等的DRAM控制器的更复杂的结构中由优先逻辑单元90执行的优先逻辑机制。从图10中可以看出未决的DRAM存取请求首先被全部分配给三层中的一个(较高层、中等层、较低层),对此下面将作进一步的表述。在较高层中,未决的请求按照优先级别次序排列(标号为1U至3U),注意到在一个次序级别上该层有几个同等的请求。在中层中,请求从1M到2M排列。与此类似,在较低层中,未决的请求按从1L到3L的优先级次序排列。在次序排列的存取DRAM38的未决请求的这个逻辑结构中,每个较高层请求被排列在该层中的请求队列中。
存取DRAM38的这些请求按照它们在队列中的位置次序来兑现。较高层的请求不可以中断现有的响应另一个较高层请求许可的对DRAM38的存取。注意在这些较高层的请求1U--3U中,级别2U包括几个同等的请求,也就是说,较高等级级别2U包括若干FIFOHIn请求,其中下角标“n”指示提出请求的几个FIFO 561-n中的一个。参考图5,可以看出FIFO 56、56′、56″分别带有识别号1--3,这个识别号被用于指示图10中FIFO存取请求的来源。另一方面,一个较高层的请求可以中断响应任何中层或较低层请求所许可的对DRAM的任何现有的存取。一个中层的请求不可以中断任何较高层的存取,只能中断响应具有较低排序的一个中层请求所许可的DRAM存取或响应较低层请求所许可的任何存取。较低层的请求不能中断任何其它对DRAM的存取,它们被放在相应的层列中起服务作用。注意到这些较低层的请求也有一个包括几个同等请求的级别(1L),也就是说,较低层级别1L包括若干FIFOLOn请求,其中下角标“n”类似地指示提出请求的几个FIFO561-n中的一个。
图11和12的时序图示出了(只是举例形式)由现有计算机系统的SEQC执行的对DRAM存取的两层仲裁结果。对图10所示的三层仲裁机制也可以得到类似的结果。参考图11,可以看出在时间间隔#1,位-BLT提出了一个存取DRAM的请求,并且该请求得到许可。在时间间隔#2的一开始,显示器FIFO提出了存取DRAM的请求。FIFOLO和FIFOHI被同时发出的事实表明显示器FIFO没有显示数据。在时间间隔#2,显示器FIFO取代位-BLT请求(参考图8的优先机制),并接收足够的显示数据以导致FIFOHI请求被删去(参考图9的流程图所作的测试)。在时间间隔#3,由于FIFOLO请求(仍然未决)比未决的位-BLT请求具有较高的优先级,显示器FIFO仍然由DRAM服务。
在时间间隔#4,FIFOLO请求被删去(并不表示FIFO已满,而是表示FIFO的水平高于FIFOLO指示字),位-BLT请求被许可。在时间间隔#5的开始,发出FIFOLO请求,但由于较低层的请求不能彼此中断(参考图9),位-BLT驱动保持对DRAM的存取。在时间间隔#6,发出FIFOHI请求,并中断位-BLT的存取。时间间隔#7指示FIFOHI已经被删去,但显示器FIFO保持对DRAM的存取,原因同样是因为未决的位-BLT请求是较低层的请求,不能中断仍然未决的FIFOLO请求。时间间隔#8指示当FIFOLO被删去时未决的位-BLT请求被许可。
图12示出了一个类似的仲裁过程,这次是在CPU和显示器FIFO之间进行SEQC仲裁。参考图12,时间间隔#1指示存取DRAM的一个CPU请求,这个请求被许可并且CPU结束。在时间间隔#2,DRAM空闲,时间间隔#3指示显示器FIFO提出了存取DRAM的请求。FIFOLO和FIFOHI被同时发出的事实同样表明显示器FIFO没有显示数据。在时间间隔#3,显示器FIFO取代CPU请求(参考图8的优先机制),并接收足够的显示数据以导致FIFOJI请求被删去(同样参考由图9的流程图进行的检测)。
在时间间隔#4,由于一个较高层的请求可以中断对任何较低层请求(FIFOLO是较低层请求)所许可的存取,因此CPU被许可存取DRAM。在时间间隔#5,CPU结束对DRAM的存取,FIFOLO请求被许可。时间间隔#6指示CPU提出了存取DRAM的请求,它中断显示器FIFO存取,因为只有FIFOLO未决。当CPU结束对DRAM的存取时(间隔#7),DRAM存取返回到显示器FIFO。在时间间隔#8的开始,FIFOHI请求被发出并许可,然而,这个间隔#8还包括一个存取DRAM的CPU请求,该请求没有被许可,原因是CPU不能中断排序较高的一个较高层请求。间隔#9指示对FIFOHI的清除和对CPU存取的许可,因为CPU可以中断基于未决的FIFOLO请求的显示器FIFO请求。
在考虑了SEQC86和显示器FIFO56的操作之后,现在请注意VDC36的结构,该结构使其能够为双显示装置提供驱动信号。如上所述,双显示装置可以包括一个或两个CRT、一个或两个LCD、或一个CRT与一个LCD的混合,每个示出不同的显示图像。另一方面,传统的电视机可以代替CRT,如上面在描述显示器FIFO56′和56″上解释的那样,它将处理隔行的事务,以便为电视机提供NTSC制式的信号。参考图13,图中示出了计算机系统94的一个传统结构。这个传统结构包括一个DRAM96,其中定义了一个虚拟存储器台式空间98。在台式空间98中定义了两个显示存储器空间100和102,一个标号为#1,另一个标号为#2,用于指示相应的存储空间被分配给两个显示器的哪一个。在台式存储空间98内,两个存储空间100和102可以四处移动,由计算机系统94的用户有选择地放置。存储空间100和102由用户分别指示每个存储空间的参考角落104和106位置有选择地放在台面98上。用户还需要指定每个显示器的大小--存储空间与相关的显示器具有同样的虚拟大小。
虚拟台面足够大,因此用户可以上下或左右地相对放置存储空间100和102。当这样放置时,如果用户将存储空间100和102的接近边沿处彼此靠紧,那么图像可以没有中断地从一个显示屏向另一个显示屏伸展,光标可以移经存储空间98,使得一个显示可以立即出现在另一个显示器上。然而,如果考虑一下传统的结构如何取得双显示功能的话,可以看出计算机系统包括一个许可对DRAM96存取、和将显示数据馈送到一对专用的显示器处理通道或流水线(参考标号为110和112)的定序器108。通常,每个显示器流水线可以包括一个相应的显示器FIFO114和一个相应的显示处理器116,每个馈送显示驱动信号到两个显示器的相应一个,显示器标号为118。
可以很容易地看到,计算机系统的这个传统结构需要重复计算机系统的大量电路和元件。例如,过去通常操作双显示屏计算机系统,并且有一个单独的视频控制器卡(单色或彩色),专用于由该特定卡驱动的特定显示装置。因此,可以看出改变计算机系统的结构并不容易实现。此外,如果计算机系统是具有单显示器(通常是LCD平面类型)的笔记本或手提式结构,那么很不容易实现计算机系统与正好在特点位置上可得到的任何类型的CRT、监控器或电视机的接口,以便利用计算机系统的双显示能力。
参考图14,图中示出了VDC的另一部分内部结构以及与计算机系统10的相关装置的互连。为了得到描述图14至图18结构时的参考号,与上面描述的结构同样的结构或具有等同功能的结构采用与上面相同的标号,当需要避免混淆时加上(′)。在这种情况下,两个显示装置被标上参考号14/24和14/24′,来指示每个显示装置可能是CRT或LCD。图14中所示的计算机系统的结构并不打算用于驱动替代一个CRT的传统电视机。然而,如上面解释的那样,SEQC可以包括三个(而不是仅仅两个)显示器FIFO56(即56′、56″),因此可以向传统的电视机提供一个隔行图像信号。此外,重复的部件采用与上面相同的标号,加上一个或两个“′”。因此,本领域的普通技术人员可以认识到,为了驱动传统的电视机,参考图14所描述的结构可以由另一个增量来扩展。
考虑图14,可以看出VDC36包括一对显示器FIFO(标号为56和56′),每个显示器FIFO有一个相关的显示器FIFO计数器92、92′,和一个相关的地址发生器82、82′。为了简化起见,主机接口48在图14中仅仅用虚线表示。在DRAM38内建立了一个虚拟台面,与上面参考图13所描述的一样。虚拟台面包括单独的存储空间100′和102′,分别分配给两个显示装置14/24。如上面根据DRAM控制器58的SEQC86所作的解释那样,这个SEQC仲裁存取DRAM38(包括存取虚拟台面和存储空间100′、102′)的请求。显示器FIFO56从存储空间100′存取显示数据,并将该数据发送到通常用标号120指示的显示器数据处理流水线(以后称为流水线),以便传送到相应的显示装置14/24。本领域的普通技术人员会认识到流水线120不是一个管子,而是一个复杂的显示器数据处理电路(DDPC),对此后面会作进一步的解释。与此类似,显示器FIFO56′存取存储空间102′的显示数据,以便经由同一处理流水线120发送到相关的显示装置14/24′。
处理流水线(DDPC)120接收从显示器FIFO56和56′的特定一个提供的显示数据,并提供驱动相应的显示器14/24和14/24′的信号。如上所述,由于VDC有不止一个显示器FIFO,SEQC86将采用上面解释的三层优先机制来仲裁对DRAM38的存取。然而,显示器FIFO56和56′将被允许对DRAM38进行足够的存取,使得FIFO不会用完来源于特定存储空间100′和102′的显示数据。因此,尽管每个显示器FIFO56和56′对DRAM38的存取是间歇的,每个显示器14/24、14/24′将同时被提供不同的显示数据。也就是说,计算机系统10的用户将在显示器14和24上同时看到不同的图像。为了控制显示器流水线120的部分可变结构,以便操作各种CRT,VDC36包括了一个阴极射线管计数器(CRTCNTR)122。根据与计算机系统10接口的特定CRT的能力,CRTCNTR122可能读出监控器能够提供的分辨行数。当与计算机10接口的监控器没有通信总线来提供对数据的读出时,用户必须输入该信息。
图15示出了显示器处理流水线(DDPC)120的一个高级功能方框图。虽然这个显示器处理流水线看上去有两个单独的处理通道,每个通道为显示器FIFO56或56′的一个服务,实际上该处理通道在功能上被定义为一个结构可变的复杂电路的共同部件。也就是说,处理流水线120可以在结构上发生变化,以便与运行方式的处理要求和与之接口的显示装置的类型相匹配。一般来说,显示器流水线120分别为每个显示器FIFO56和56′提供至少一对结构可变的专用数据译码和过扫描地点(DDOS)124或124′。
如上面根据显示器56的运行所描述的那样,显示器数据以32位双字为单位来提供。每个DDOS124接收32位双字数据,并将该数据处理成特定类型的显示装置14/24可以识别和接收的形式,此时显示装置正在显示每个相关存储空间100′和102′的图像,对此将作进一步的解释。例如,当一个显示装置14/24在16色方式下运行时,每个象素从DRAM38的显示器存储空间100′或102′要求4位数据。在这种情况下,每个32位双字数据将传送8个象素值,每个象素有4位。另一方面,如果显示器在256色方式下运行,那么每个象素需要8位显示数据。在这种情况下,每个32位双字数据将传送4个象素,每个象素为8位。对16和256色方式来说,象素数据值代表对彩色调色板的索引。因此,在将象素数据传送到显示器之前要对彩色调色板中的彩色值进行检索。
另一方面,在64K彩色方式下,每个象素需要18位(16加2),32位双字可以传送两个象素值,每个有16位。在64K(或32K)彩色方式下,象素值代表实际的彩色值,因此,不需要彩色调色板查询。对每个象素另加两位将在下面进行描述。
每个DDOS124或124′将象素值馈送到相应的触发器126或126′,然后在显示装置为LCD14时馈送到LCD接口62,在显示装置为CRT时馈送到DAC61。图16示出了流水线120内DDOS的另一个可能的可变结构124。在这个结构中,双字数据被输入到一个8通道多路分解器128的相应位置(在图16中标号为0-7)。从该多路分解器128经由触发器一次得到4位,从而作为一个8位字的4个最低有效位。剩下的4位(即最高有效位)由寄存器132全部加上零。这就是16色显示器运行方式所要求的位字格式,显示装置运行在16色方式下。因此,DDOS如上所述向LCD接口62′提供显示数据的8位字。计数器134跟踪多路分解器128的输入与输出关系,并且当显示数据的另外32位字可以从相关的显示器FIFO56或56′提供时,向请求发生器136提供信号。
图17提供了流水线120的DDOS的另一个可变结构124′的示意图。在这种情况下,显示装置在256色方式下运行,多路分解器128′具有4通道结构。因此,位值每次取8位经由触发器130′传送到显示装置。LCD接口62′同样接收8位字的显示数据,这次提供256色的操作方式。
最后,图18提供了流水线120内DDOS的另一个可变结构124″的功能方框图。在这种情况下,来自显示器FIFO56或56′的显示数据被译码为64K彩色方式图像。因此,每个象素值需要18位。16个最低有效位从一个双通道多路分解器128′的相应位置得到。寄存器132”对每个显示数据字提供所需要的最高有效位。该18位显示数据字被提供给DAC61′,由此提供给CRT。
根据上面所述,本领域的普通技术人员会认识到DDOS124、124′、124″具有许多相似性。在多路分解器128、128′、128″中采用的通道数是DDOS结构中差别最大的地方。根据多路分解器128中使用的通道数在每个计数器134、134′和134″中采用相应的计数值。因此,可以看出显示器流水线120的内部DDOS的结构根据特定显示装置的操作方式和显示装置的类型在结构细节上有所变化,但整体结构是相同的,如图16至18所示。这样,可以采用一个单一的可变结构显示处理流水线,相比于图13所示的专用显示流水线电路结构而言,这具有更大的灵活性和较低的花费。
前面描述了VDC36包括一对显示器FIFO,每个FIFO具有一个相关的显示器,下面将描述采用一对显示器FIFO在一个单一的显示装置14/24中显示复盖的实施例。通常复盖是在包含动画、录像之类的现有图形背景上的一个窗口。复盖数据源包括摄像机、CD-ROM、硬盘、网络、调制解调器等等,这些复盖数据可以定义为多种不同的格式,包括16位RBG、24位RGB、422YUV、MPEG等等。
支持单个或多个复盖的传统多媒体系统依赖于软件解决方案。图19示出了传统的软件解决方案的例子。在该软件解决方案中,由源1910产生一个视频流“A”,并初始存储在系统存储器1970中。为了将图像数据“A”1922放入背景显示数据“b”1962的格式中,CPU1930变换图像数据“A”1922,并将新的图像数据“a”写入系统存储器1970。在这种变换过程中,CPU1930也可以对图像数据“A”1922进行定标、插值和边界成形处理。
CPU1930随后从系统存储器1970检索图像数据“a”1924,并将其直接写入图形存储器1960。接着图像数据“a”1924被复盖到背景显示数据1962上。最后,图形控制器1950将图形存储器1960中的图像和背景显示数据的组合进行光栅处理后送到显示器14/24。
这种传统的软件解决方案的一个缺点在性能方面。由CPU1930执行的数据格式转换功能主要集中在处理器上,因此,在处理一个单一的复盖时,系统吞吐量减小到CPU不能支持电影所要求的30帧/秒的点。可以很容易地看出,由于由一个或多个源产生的多复盖的存在,系统吞吐量被进一步减小。
本发明通过减少软件解决方案所要求的CPU处理来改进系统的性能。详细地说,本发明是一个基于硬件的解决方案,它将一条路径(或流水线)专用于处理一个或多个复盖的显示数据。这条路径与专用于处理背景图形的显示数据的流水线完全不同。
图20提供了对系统操作的高级整体示意图。如图所示,源2002、2004和2006经由本地总线1920将复盖显示数据发送到图形控制器2050。图形控制器2050然后将复盖显示数据传送到图形存储器1960。另一方面,复盖数据可以通过一个集成到图形控制器2050中的直接视频端口(没有示出)绕过本地总线1920。
如图20进一步所示,复盖显示数据2062、2064、2066和2068以其原来格式存储在图形存储器2060的离屏部分。这个处理与在图形存储器1960的屏面部分存储变换的复盖显示数据1924完全不同。如下面将要详细描述的那样,复盖显示数据2062、2064、2066和2068由图形控制器2050中的一条复盖流水线进行检索和处理,最后光栅处理到显示器14/24。复盖流水线对复盖数据2062、2064、2066和2068进行所有定标、插值、边界成形和数据格式转换功能,从而分别产生显示的图像2072、2074、2076和2078。
通过在图形控制器2050中结合这些功能,CPU免除了所有复盖操作。此外,由于消除了源1910和系统存储器1970之间的通信,本地总线1920上的通信也有减少。这个额外的带宽容纳来自若干源2002、2004和2006的复盖数据。
本发明结构的另外优点是支持对复盖的硬件辅助双缓冲。1990年Addison-Wesley出版的“计算机图形学:原理与实践”(第二版,作者:J.D.Foley等人)详细描述了双缓冲,该文全文作为本发明的参考文献。双缓冲通常被广泛用于平缓动画是关键要求的地方。在这个过程中,在存储器的第一区域绘制(draw)一个应用,而具有相同大小的第二区域作为显示器的源。当该应用在存储器的第一区域完成了绘制过程时,图形控制器和应用交换存储位置。这时应用在存储器的第二区域绘制,第一区域作为显示器的新的源。下面详细描述这个双缓冲特征的实现。
前面描述了一般功能,下面的图21提供了对图形控制器2050更详细的示意。如上所述的那样,图形控制器2050采用分开的流水线将复盖数据和背景数据从图形存储器1960传送到显示器14/24。图形控制器2050包括存储控制器2102、显示器FIFO流水线2104。复盖FIFO流水线2106、CRTC2108和复盖多路转换器2110。存储控制器2102是与图形存储器1960的接口,它接收存储器存取请求,包括图7中描述的那些请求。在最佳实施例中,图10中识别的优先机制被用于仲裁可以从多个FIFO接收的请求(即显示器FIFO流水线2104和复盖FIFO流水线2106)。
如上所述,显示器FIFO流水线2104是一个传统的流水线,它从图形存储器1960的背景部分(没有示出)读入图形背景数据,并以TV显示器2140的格式(即24位RGB)输出背景显示数据。如图21所示,显示器FIFO流水线2104经由存储控制器2102和路径2104从图形存储器1960检索背景显示数据。该背景显示数据经由路径2128从显示器FIFO流水线2104输出到复盖多路转换器2110。
另一方面,复盖FIFO流水线2106是专用于复盖数据的流水线。复盖FIFO流水线2106经由存储控制器2102和路径2122从图形存储器1960检索复盖显示数据,该复盖显示数据经由路径2126从复盖FIFO流水线2106输出到复盖多路转换器2110。
复盖FIFO流水线2106的一个实施例示于图28。复盖FIFO2802从离屏图形存储器读入复盖数据(没有示出),并以显示器的格式输出该复盖数据。由于复盖数据以其原来格式存储,格式转换器2804负责执行所要求的任何格式转换。如上所述,复盖FIFO流水线2106也负责执行要求的定标和插值。这些功能由定标和插值单元2806执行。对复盖FIFO流水线2106的输入/输出信号的功能与定义将参考CRTC2108进行描述。
复盖多路转换器2110分别经由路径2128和2126从显示器FIFO流水线2104和复盖FIFO流水线2106接收数据流,并选择要输出到显示器的数据流。根据来自CRTC2108的控制信号(没有示出)来选择适当的数据流。CRTC2108也控制数据在显示器FIFO2104和复盖FIFO流水线2106之内的进展。
在图21所示的实施例中,复盖多路转换器2110输出不隔行的显示数据到TV转换器2130。TV转换器2130的功能包括(1)将不隔行的显示数据转换为隔行的显示数据;(2)将RGB数据彩色转换为YIQ(NTSC标准)或YUV(PAL标准)数据。然后将被转换的数据输出到TV显示器2410。在另一个实施例中,复盖多路转换器2110可以分别经由DAC61′和LCDI/F62′发送显示数据到CRT14或LCD24。
下面参考图22描述复盖多路转换器2110的运行情况。图22示出了用于产生显示2200的扫描线2220。扫描线2220由复盖多路转换器2110产生,包括与背景显示2202、“a”复盖数据2204和“d”复盖数据2208相关的显示数据。在通常运行中,来自显示器FIFO流水线2104的数据流被用于以光栅形式绘制背景显示2202(即一个扫描行接一个扫描行)。该数据流由显示器FIFO流水线2104产生,并起源于图形存储器1960的背景部分1962。
然而,当CRTC2108确定在当前的扫描行中存在一个或多个复盖带2232、2234时,CRTC2108指示复盖FIFO流水线2106从图形存储器1960下载复盖数据。在扫描行2220的上下文中,CRTC2108指示复盖FIFO流水线2106首先从图形存储器1960下载“A”复盖显示数据2062。在格式转换和相关的处理(如定标)之后,产生“a”复盖带2232的数据,并经由路径2126发送到复盖多路转换器2110。“a”复盖带2232的数据由复盖多路转换器2110在到达扫描行2220的点2222时选择。当到达扫描行2220的点2224时,复盖多路转换器2110重新开始将背景显示数据传送到显示器14/24的正常程序。
如图22进一步所示,扫描行2220也包括“d”复盖带2234。采用类似的方式,CRTC2108指示复盖FIFO流水线2106从图形存储器1960下载“D”复盖显示数据2068。在格式转换之后,产生“d”复盖带2234的数据,并经由路径2126发送到复盖多路转换器2110。“d”复盖带2234的数据由复盖多路转换器2110在到达扫描行2220的点2226时选定。当到达点2228时,复盖多路转换器2110重新开始将背景显示数据传送到显示器14/24。在背景显示数据2202和复盖显示数据2204、2206、2208或2210之间进行选择的过程对显示器2200中的每个扫描行2220重复进行。
如图22的示例显示器所示,本发明支持多复盖。可能的复盖数是依赖于实现的。通常,在本发明的硬件结构中,每个复盖被指派一组复盖寄存器。表1中定义的复盖寄存器将参考图23来进行描述。
如图23所示,寄存器RegOf<#>Height和RegOf<#>Width包括由源2002,2004,2006和2008的其中一个输出的未定标复盖图像2302的尺寸。当未定标复盖图像2302的数据被下载到复盖FIFO流水线2106后,插值和定标单元2806可以根据寄存器RegOf<#>ScaleX和RegOf<#>ScaleY的值调节未定标复盖图像2302的尺寸。详细地说,显示器14/24的定标复盖图像2304的尺寸由未定标复盖图像2302的尺寸乘以定标因子ScaleX和ScaleY来产生。进一步说,定标复盖图像2304在显示器14/24上的位置由原点(即左上角)来定义。这个原点的X、Y坐标由寄存器RegOf<#>StartX和RegOf<#>StartY定义。
RegOf<#>En 当设置为1时,这个位指示复盖要被显示
RegOf<#>Height 以象素为单位的未定标复盖的高度
RegOf<#>Width 以象素为单位的未定标复盖的宽度
RegOf<#>StartAdr 定位复盖在图形存储器中的起点的存储器地址
RegOf<#>Offset 定义复盖行之间的地址偏移。复盖的第n行的第1象素的地址<#>=RegOf<#>StartAdr+(n*RegOf<#>Offset)
RegOf<#>StartX 定义在显示器中复盖的原点的水平位置的X坐标
RegOf<#>StartY 定义在显示器中复盖的原点的垂直位置的Y坐标
RegOf<#>ScaleX 用于在水平方向伸展显示器上的复盖图象的定标因子ScaleX*Width确定总的显示宽度,零值与值为1同等对待。
RegOf<#>ScaleY 用于在垂直方向伸展显示器上的复盖图象的定标因子,ScaleY*Height确定总的显示高度,零值与值为1同等对待。
RegOf<#>ClrFmt 定义显示器的本机格式(即MPEG、YUV等等)
“#”=寄存器号
“*”=乘法                     表1
最后,未定标复盖图像2302的数据在图形存储器1960中的定位由寄存器RegOf<#>StartAdr中的起始地址定义。寄存器RegOf<#>Offset定义未定标复盖图像2302的行之间的地址偏移。详细地说,复盖<#>的第n行的第一个象素的地址等于RegOf<#>StartAdr+(n*RegOf<#>Offset)。通过这些计算,复盖FIFO流水线2106得知对一个特定扫描行下载哪个数据。
通过使用表1中定义的寄存器,本发明可以很容易支持双缓冲功能。如上所述,双缓冲包括采用存储器的两个区域来显示一个单一的复盖。在这一过程中,一个应用交替地在存储器的第一和第二区域绘图,而图形控制器交替地采用存储器的第一和第二区域作为显示器的源。图24A和24B示出了支持这一功能的一个示例性寄存器分配。
图24A示出了将寄存器分配给复盖的标准方式。详细地说,来源于源2402、2404中的其中一个的四个复盖2422、2424、2426、2428各被分配一个单一寄存器组(即<#>=0,1,2或3)。表2示出了这个特定寄存器分配的可能的寄存器值。
  <#>     En   StartXStartY  StartAdr   ScaleXWidth   ScaleYHeight
    0     1   X1Y1     A   SX1W1   SY1H1
    1     1   X2Y2     B   SX2W2   SY2H2
    2     1   X3Y3     C   SX3W3   SY3H3
3 1 X4Y4 D SX4W4 SY4H4
                                  表2
如表2所示,每个启用的寄存器组为存储在存储区域2412、2414、2416和2418中的复盖数据定义一个唯一的X,Y起始坐标、起始地址、高度、宽度和定标因子。图形存储器1960中的复盖数据2412、2414、2416和2418与显示器14/24上的复盖2422、2424、2426和2428分别具有一一对应性。
另一方面,图24B示出了支持双缓冲特性的寄存器分配的例子。这时,存储区域2412和2414与复盖2432对应,而存储区域2416和2418与复盖2434对应。通过这种双重分配,源2402和2404可以交替地将显示数据写入与一个单一复盖相关的两个存储区域。例如,源2402交替地写入存储区域2412和2414,存储区域2412和2414又交替地作为复盖2432的一个源。表3示出了这个双缓冲寄存器分配的可能的寄存器值。
   <#>    En   StartYStartY  StartAdr   ScaleXWidth   ScaleYHeight
    0   ~a   X1Y1     A   SX1W1   SY1H1
    1     a   X1Y1     B   SX1W1   SY1H1
    2     b   X2Y2     C   SX2W2   SY2H2
    3   ~b   X2Y2     D   SX2W2   SY2H2
                                  表3
如表3所示,两个互补存储区域具有相同的尺寸,如由X、Y起始坐标、高度、宽度和定标因子的相同寄存器值所指示的那样,由于两个存储区域是不同的,因此每个具有唯一的起始地址。对启用寄存器中的位来说,一次只能设置两个互补存储区域中的一个。换句话说,在任何特定时间,仅仅只有一个存储区域可以作为显示器的源。
进一步就寄存器分配而言,本发明的一个实施例根据显示器上复盖的相邻性对复盖分配寄存器。详细地说,如果显示两个或多个复盖,最左边的复盖被编程进最低的复盖寄存器组。例如,如果显示四个复盖,最左边的复盖被分配寄存器组0,中间偏左的复盖被分配寄存器组1,中间偏右的复盖被分配寄存器组2,最右边的复盖被分配寄存器组3。这些分配可以以每个复盖的寄存器RegOf<#>StartX的值为基础。
通常这种分配方法可以减少CRTC2108硬件处理量,该处理被要求来确定对特定的扫描行应该将哪个复盖数据下载到复盖FIFO流水线2106。例如,考虑一下不允许复盖重叠的方案,在这个方案中,CRTC2108首先确定在一个特定的扫描行存在哪些复盖,该确定仅仅基于Y坐标、高度和定标因子。对在这个特定的扫描行上存在的复盖组来说,CRTC2108确定复盖数据被下载到复盖FIFO流水线2106的次序,该次序仅仅基于寄存器编号的次序。
例如,在参考图22,显示器2200中的扫描行2220包括“a”和“d”复盖2204、2208。根据X起始坐标的最左边定位,“a”复盖2204被分配寄存器0,“d”复盖2208被分配寄存器2,仅仅根据该寄存器次序,CRTC2108得知“a”复盖2204应该在“d”复盖之前处理。
可以很容易理解,如果允许重叠的复盖,CRTC2108需要另外的软件处理来确定复盖FIFO流水线2106下载复盖数据的次序。特别是相关领域的普通技术人员公知,根据指示屏面相对区域的所有权的优先机制可以区分重叠的复盖(或窗口)。屏面所有权的考虑将对CRTC坐标寄存器数据的使用起到补充作用。
一般来说,如上所述,CRTC2108是图形控制器2050的协调程序。CRTC2108协调显示器FIFO流水线2104和复盖FIFO流水线2106的功能。详细地说,CRTC2108的功能包括(1)当显示器FIFO流水线2104和复盖FIFO流水线2106应该分别读取背景和复盖数据时,(2)当显示器FIFO流水线2104和复盖FIFO流水线2106应该开始处理下载数据时,进行协调。CRTC2108的功能也包括对复盖多路转换器2110选择什么显示数据(背景或复盖)进行协调。
图25示出了CRTC2108的控制部分的高级功能方框图。CRTC2108的基础是两个计数器,即在每个新显示帧的开始触发的水平计数器2502和垂直计数器2504。计数器2502和2504的值代表显示器的坐标。这些坐标是参考原点(即左上角)产生的。
如图26所示,水平计数器2502和垂直计数器2504也识别非显示区域的坐标。这些非显示区域被称作水平非显示周期(HNDP)和垂直非显示周期(VNDP)。由此水平计数器2502在每一行从零开始计数,并对每个相继的象素增1,直到到达显示器宽度加HNDP边界为止。同样,垂直计数器2504对第一扫描行从零开始计数,并对每个相继的扫描行增1,直到到达显示器高度加VNDP边界为止。
一般说来,在VNDP之外的任意行开始之前,CRTC2108指示显示器FIFO2104开始读入背景图形数据。当水平计数器2502不在HNDP中时,CRTC2108指示显示器FIFO流水线2104处理背景图形数据。CRTC2108必须为显示器FIFO流水线2104提供足够的时间,以便在处理发生之前装入背景数据。
对复盖FIFO流水线2106采用类似的原理。在显示一个特定的复盖之前,CRTC2108必须指示复盖FIFO流水线2106读取特定的复盖数据。此后,CRTC2108很快指示复盖FIFO流水线2106开始为最终的显示准备复盖数据。在图22的扫描行2220的上下文中,CRTC首先指示复盖FIFO流水线2106为复盖“a”2204读数据。在复盖FIFO流水线2106通知CRTC2108复盖扫描行被全部读完之前,CRTC2108不能指示复盖FIFO流水线2106为复盖“d”2208读数据。在一个最佳实施例中,通过双向信号交换来便利多复盖处理之间的协调。详细地说,复盖FIFO流水线2106向CRTC2108发送一个OfMemLoadDone信号,指示复盖FIFO流水线2106完成了对整行复盖行的读取,准备接收一个请求,以便开始读取下一复盖行。
双向信号交换也能用于提供复盖FIFO流水线2106的复盖定标特征。例如,假定复盖FIFO流水线2106有需要水平增大的复盖数据,由于定标是在复盖FIFO流水线2106内进行的,CRTC2108不能事先确定最后复盖图像的尺寸,因此,在每个复盖行绘制结束时,复盖FIFO流水线2106向CRTC2108提供一个VpCTCDone信号,指示复盖行中最后一个象素的处理已经完成。与此类似,对垂直增大来说,复盖FIFO流水线2106向CRTC2108提供VpCTCNewLine信号,指示下一次绘制复盖时究竟需要未定标复盖图像的同一复盖行还是需要一个新的复盖行。
如图25所示,交换信号OfMemLoadDone、VpCTCDone、VpCTCNewLine被作为输入提供给CRTC2108。下面描述CRTC2108的其余控制部分的操作。
如上所述,CtcVCounter2504为一个特定的扫描行提供垂直坐标,这个垂直坐标被提供给CtcOfvde2506。CtcOfvde2506对每个复盖产生一个垂直显示允许信号。详细地说,提供给CtcOfSel2508的信号CtcOf<#>VDE当高态有效时,指示复盖<#>在当前绘制的扫描行是可以看见的。在图22的扫描行2220的例子中,CtcOf<0>VDE和CtcOf<2>VDE是高态有效,CtcOf<1>VDE和CtcOf<3>VDE是低态无效。
当接收到CtcOf<#>VDE信号时,CtcOfSel2508确定要装入复盖FIFO流水线2106的复盖次序。如果不允许重叠复盖,那么这种确定仅仅是被允许复盖的数字次序。对扫描行2220来说,首先装入复盖″0″,然后装入复盖“2”。如上所述,如果允许重叠复盖,那么这种确定可能需要更复杂的硬件处理来考虑扫描行上屏面所有权的相对优先级。
为了便利双向信号交换,CtcOfSel2508输出信号CtcOfMemLoad和CtcOfSel。CtcOfMemLoad指示复盖FIFO流水线2106开始从存储器读取复盖数据。CtcOfSel定义复盖FIFO流水线2106从存储器读取的特定复盖。另外,CtcOfLoadAdr2512输出CtcOfLoadAdr,后者定义将要从存储器读取的复盖的起始地址。
根据要处理的复盖的次序,CtcOfHDE确定复盖FIFO流水线何时应该开始为最后的显示准备复盖数据。根据CtcHCounter2502的输入,CtcOfHDE2510输出CtcOfHde,通知复盖FIFO流水线2106何时开始处理复盖数据。CtcOfFDE2510也输出OtcDpOfSel,定义目前正在准备的复盖。
如上所述,CtcOfMemLoad、CtcOfSel、CtcOfLoadAdr和OfMemLoadDone都是与从存储器向复盖FIFO流水线2108读取数据相关的信号。另一方面,CtcOfHde、CtcDpOfSel、VpCtcDone和VpCtcNewLine都是与复盖数据的处理相关的信号。这些信号交互作用的例子示于图27的时序图中。
一般来说,对CtcOfMemLoad的断言在CtcOfHde的上升沿之前发生。换句话说,复盖数据在处理之前被装入。在图27中,在时间t1的上升沿2702和时间t2的上升沿2710之间的时间延迟以及在时间t6的上升沿2704和时间t7的上升沿2712之间的时间延迟具有足够的时间,能够允许复盖FIFO流水线2106从图形存储器1960读取指定复盖的第一数据。
如CtcOfSel所示,第一装入的指定复盖是复盖“0”,第二装入的指定复盖是复盖“2”。起始地址由CtcOfLoadAdr分别指定为ADR0和ADR2。
如上所述,复盖数据的处理从对CtcOfHde的断言开始。对复盖“0”,处理从时间t2的上升沿2710开始,对复盖“2”处理从时间t7的上升沿2712开始。还要注意到,VpCtcDone通常在OfMemLoadDone之后发生。详细地说,时间t5的上升沿2714在时间t3的上升沿2706之后发生。如果上升沿2714在上升沿2706之前发生,最后的复盖象素可能在复盖FIFO流水线2106读取全部的复盖行之前已经绘制,从而可能出现灾难性的FIFO下溢情况。
以上参考最佳实施例对本发明进行了示意和描述,对本领域的普通技术人员来说,在不脱离本发明精神和范围的基础上可以进行各种形式和细节上的改变。

Claims (15)

1、在具有存储背景图形显示数据和复盖数据的图形存储器的计算机系统中,一个图形控制器包括:
从图形存储器读取背景图形显示数据的显示器FIFO流水线;
从所述图形存储器读取复盖显示数据的复盖FIFO流水线,其中复盖显示数据以产生复盖显示数据的一个源的原来格式存储在图形存储器的离屏部分;
为当前扫描行有选择地向显示器输出背景图形数据显示和复盖显示数据中的一个的复盖多路转换器;
一个垂直计数器;
耦合到所述垂直计数器的一个垂直显示启动单元,所述垂直显示启动单元确定复盖的一个子集是否在所述当前扫描行可见;
耦合到所述垂直显示启动单元的一个复盖选择单元,所述复盖选择单元确定复盖的所述子集的覆盖数据被写入所述复盖FIFO流水线的次序,所述复盖选择单元发送存储器装载、复盖选择和起始地址信号到所述复盖FIFO流水线;以及
耦合到所述复盖选择单元的一个水平显示启动单元,所述水平显示启动单元耦合到所述复盖选择单元,所述水平显示启动单元指示所述复盖FIFO流水线何时开始处理所述复盖显示数据。
2、如权利要求1所述的控制器,其特征在于所述复盖FIFO流水线包括:
从所述图形存储器的离屏部分接收复盖显示数据的FIFO;以及
将复盖显示数据从产生复盖显示数据的所述源的原来格式转换为能够由所述显示器显示的格式的格式转换器。
3、根据权利要求2所述的控制器,其特征在于所述复盖FIFO流水线进一步包括与所述格式转换器相连的定标复盖显示数据的一个单元。
4、根据权利要求2所述的控制器,其特征在于所述复盖FIFO流水线进一步包括与所述格式转换器相连的插值复盖显示数据的一个单元。
5、根据权利要求1所述的控制器,其特征在于进一步包括一个优先级逻辑单元,采用多层方式仲裁对所述图形存储器的存储器存取请求,其中较高层的存储器存取请求可以中断现存的较低层的存储器存取请求。
6、处理复盖显示数据的方法,包括以下步骤:
(1)将复盖显示数据存储在图形存储器的离屏部分,其中所述复盖显示数据以至少一个源的原来格式存储;
(2)由显示器FIFO流水线从所述图形存储器的屏面部分检索背景图形显示数据;
(3)由复盖FIFO流水线检索一个源的复盖显示数据;
(4)由所述复盖FIFO流水线将所述检索的复盖显示数据转换为能够由显示器显示的格式;
(5)由复盖多路转换器向所述显示器发送所述背景图形显示数据和所述已转换的复盖显示数据之一;
(6)确定在当前扫描行那些复盖显示数据是可见的;
(7)确定所述复盖FIFO流水线从所述图形存储器读出复盖显示数据的次序;以及
其中所述步骤(7)包括根据寄存器的相对分配确定所述次序的步骤。
7、处理双缓冲复盖显示数据的方法,包括以下步骤:
(1)在图形存储器的两个离屏部分之一中交替地存储复盖显示数据,其中所述复盖显示数据以一个源的原来格式存储;以及
(2)由复盖FIFO流水线交替地从所述图形存储器的所述两个离屏部分之一检索所述复盖显示数据,其中所述交替检索步骤基于与所述图形存储器的所述两个离屏部分相关的启动位寄存器的互补关系。
8、一个计算机系统,包括:
一个微处理器;
一条与所述微处理器耦合的数据总线;
一个存储背景图形显示数据和复盖数据的图形存储器,其中所述复盖显示数据以产生所述复盖显示数据的源的原来格式存储在所述图形存储器的一个离屏部分;以及
一个与所述数据总线耦合的图形控制器,所述图形控制器包括:
从所述图形存储器读取所述背景图形显示数据的一个显示FIFO流水线;
从所述图形存储器读取所述复盖显示数据的一个复盖FIFO流水线;以及
一个复盖多路转换器,它对一个当前扫描行有选择地输出所述背景图形显示数据和所述复盖显示数据的一个,由显示器使用;以及
一个控制单元,所述控制单元包括:
一个垂直计数器;
与所述垂直计数器耦合的一个垂直显示启动单元,所述垂直显示启动单元确定在所述当前扫描行上复盖的一个子集是否可见;
与所述垂直显示启动单元耦合的一个复盖选择单元,所述复盖选择单元确定所述复盖子集的复盖数据被写入所述复盖FIFO流水线的次序,所述复盖选择单元向所述复盖FIFO流水线发送存储器装载、复盖选择和起始地址信号;以及
与所述复盖选择单元耦合的一个水平显示启动单元,所述水平显示启动单元指示所述复盖FIFO流水线何时开始处理所述复盖显示数据。
9、根据权利要求8所述的计算机系统,其特征在于所述复盖FIFO流水线包括:
从图形存储器的所述离屏部分接收复盖显示数据的一个FIFO;以及
将复盖显示数据从产生复盖显示数据的所述源的原来格式转换为能够由所述显示器显示的格式的一个格式转换器。
10、根据权利要求9所述的计算机系统,其特征在于所述复盖FIFO流水线进一步包括与所述格式转换器耦合的定标复盖显示数据的一个单元。
11、根据权利要求9所述的计算机系统,其特征在于所述复盖FIFO流水线进一步包括与所述格式转换器耦合的插值复盖显示数据的一个单元。
12、根据权利要求8所述的计算机系统,进一步包括一个采用多层方法仲裁对所述图形存储器的存储器存取请求的优先逻辑单元,其中较高层的存取请求可以中断现存的较低层的存储器存取请求。
13、根据权利要求8所述的计算机系统,其特征在于所述复盖多路转换器输出显示数据到一个TV转换器,所述TV转换器与所述显示器耦合。
14、根据权利要求8所述的计算机系统,其特征在于所述复盖多路转换器输出显示数据到一个LCD接口,所述LCD接口与所述显示器耦合。
15、根据权利要求8所述的计算机系统,其特征在于所述复盖多路转换器输出显示数据到一个数/模转换器,所述数/模转换器与所述显示器耦合。
CN97110561A 1996-04-19 1997-04-18 实现复盖路径的系统和方法 Expired - Fee Related CN1126039C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US632543 1996-04-19
US08/632,543 US5877741A (en) 1995-06-07 1996-04-19 System and method for implementing an overlay pathway

Publications (2)

Publication Number Publication Date
CN1173670A CN1173670A (zh) 1998-02-18
CN1126039C true CN1126039C (zh) 2003-10-29

Family

ID=24535928

Family Applications (1)

Application Number Title Priority Date Filing Date
CN97110561A Expired - Fee Related CN1126039C (zh) 1996-04-19 1997-04-18 实现复盖路径的系统和方法

Country Status (6)

Country Link
US (1) US5877741A (zh)
EP (1) EP0802519B1 (zh)
JP (1) JPH1049125A (zh)
KR (1) KR970071254A (zh)
CN (1) CN1126039C (zh)
DE (1) DE69735975T2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI397899B (zh) * 2007-04-30 2013-06-01 Mstar Semiconductor Inc 多視窗顯示控制器及相關方法

Families Citing this family (105)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6098084A (en) * 1996-11-12 2000-08-01 Sun Microsystem, Inc. Method and apparatus for visually indicating status of a dataset when presenting portions of the dataset
US5991799A (en) 1996-12-20 1999-11-23 Liberate Technologies Information retrieval system using an internet multiplexer to focus user selection
US6604242B1 (en) 1998-05-18 2003-08-05 Liberate Technologies Combining television broadcast and personalized/interactive information
US6381741B1 (en) 1998-05-18 2002-04-30 Liberate Technologies Secure data downloading, recovery and upgrading
US6441812B1 (en) * 1997-03-31 2002-08-27 Compaq Information Techniques Group, L.P. Hardware system for genlocking
US6400371B1 (en) 1997-05-16 2002-06-04 Liberate Technologies Television signal chrominance adjustment
US6326970B1 (en) 1997-05-16 2001-12-04 Liberate Technologies TV centric layout
US7631188B2 (en) * 1997-05-16 2009-12-08 Tvworks, Llc Hierarchical open security information delegation and acquisition
US6513116B1 (en) 1997-05-16 2003-01-28 Liberate Technologies Security information acquisition
US6075545A (en) * 1997-10-29 2000-06-13 Microsoft Corporation Methods and apparatus for storing, accessing and processing images through the use of row and column pointers
US6177946B1 (en) * 1997-11-14 2001-01-23 Ati Technologies, Inc. Method and apparatus for processing video data and graphics data by a graphic controller
DE69825393T2 (de) * 1997-11-19 2005-08-11 Sharp K.K. Schaltung zum simultanen Ansteuern eines Flüssigkristall-Bildschirms und eines Fernsehbildschirms
US6091431A (en) * 1997-12-18 2000-07-18 Intel Corporation Method and apparatus for improving processor to graphics device local memory performance
US6192428B1 (en) * 1998-02-13 2001-02-20 Intel Corporation Method/apparatus for dynamically changing FIFO draining priority through asynchronous or isochronous DMA engines in response to packet type and predetermined high watermark being reached
TW475140B (en) * 1998-04-29 2002-02-01 Samsung Electronics Co Ltd Analog/digital display adapter and a computer system having the same
EP0954171A1 (en) * 1998-04-29 1999-11-03 CANAL+ Société Anonyme Receiver/decoder and method of processing video data
US6577351B1 (en) 1998-05-18 2003-06-10 Liberate Technologies Anti-aliasing television signals for display
US6563506B1 (en) * 1998-12-14 2003-05-13 Ati International Srl Method and apparatus for memory bandwith allocation and control in a video graphics system
US6621499B1 (en) * 1999-01-04 2003-09-16 Ati International Srl Video processor with multiple overlay generators and/or flexible bidirectional video data port
GB2345988B (en) * 1999-01-21 2000-12-20 John Quentin Phillipps Portable electronic apparatus
AU3712300A (en) 1999-06-11 2001-01-02 Liberate Technologies Hierarchical open security information delegation and acquisition
US8434113B1 (en) 1999-10-06 2013-04-30 Tvworks, Llc Electronic commerce using streaming media
US6618048B1 (en) 1999-10-28 2003-09-09 Nintendo Co., Ltd. 3D graphics rendering system for performing Z value clamping in near-Z range to maximize scene resolution of visually important Z components
US6717577B1 (en) 1999-10-28 2004-04-06 Nintendo Co., Ltd. Vertex cache for 3D computer graphics
US7441014B1 (en) 2000-02-09 2008-10-21 Tvworks, Llc Broadcast distribution using low-level objects and locator tables
JP2001255862A (ja) * 2000-03-10 2001-09-21 Seiko Epson Corp オーバレイ画像処理装置およびオーバレイ画像表示装置
US6774912B1 (en) * 2000-03-16 2004-08-10 Matrox Graphics Inc. Multiple display device display controller with video overlay and full screen video outputs
JP2001282218A (ja) * 2000-03-31 2001-10-12 Pioneer Electronic Corp 画像処理装置
US6897874B1 (en) * 2000-03-31 2005-05-24 Nvidia Corporation Method and apparatus for providing overlay images
US6811489B1 (en) 2000-08-23 2004-11-02 Nintendo Co., Ltd. Controller interface for a graphics system
JP4683760B2 (ja) * 2000-08-23 2011-05-18 任天堂株式会社 再構成可能なピクセルフォーマットを有する組み込みフレームバッファを有するグラフィックスシステム
US7576748B2 (en) * 2000-11-28 2009-08-18 Nintendo Co. Ltd. Graphics system with embedded frame butter having reconfigurable pixel formats
US7196710B1 (en) * 2000-08-23 2007-03-27 Nintendo Co., Ltd. Method and apparatus for buffering graphics data in a graphics system
US6980218B1 (en) * 2000-08-23 2005-12-27 Nintendo Co., Ltd. Method and apparatus for efficient generation of texture coordinate displacements for implementing emboss-style bump mapping in a graphics rendering system
US7538772B1 (en) * 2000-08-23 2009-05-26 Nintendo Co., Ltd. Graphics processing system with enhanced memory controller
US6700586B1 (en) 2000-08-23 2004-03-02 Nintendo Co., Ltd. Low cost graphics with stitching processing hardware support for skeletal animation
EP1182617A3 (en) * 2000-08-23 2004-01-02 Nintendo Co., Limited Graphics system with reconfigurable embedded frame buffer and copy out conversions between embedded frame buffer and main memory
US6707458B1 (en) 2000-08-23 2004-03-16 Nintendo Co., Ltd. Method and apparatus for texture tiling in a graphics system
US6937245B1 (en) 2000-08-23 2005-08-30 Nintendo Co., Ltd. Graphics system with embedded frame buffer having reconfigurable pixel formats
US6636214B1 (en) 2000-08-23 2003-10-21 Nintendo Co., Ltd. Method and apparatus for dynamically reconfiguring the order of hidden surface processing based on rendering mode
FR2820925A1 (fr) * 2001-02-13 2002-08-16 Koninkl Philips Electronics Nv Systeme de traitement de motifs graphiques
EP1415295A4 (en) * 2001-06-07 2008-04-16 Genoa Color Technologies Ltd DEVICE, SYSTEM AND METHOD FOR DISPLAYING GRAPHICS IN MIXED FORMATS ON A MONITOR
EP1288891A1 (en) 2001-08-27 2003-03-05 Hewlett-Packard Company Process and apparatus for displaying data in a specific area of the display in a computer or in an interactive terminal under control of the LAN card and independently on the operating system
US20030189581A1 (en) * 2002-04-08 2003-10-09 Nasoff David G. Content based window filtering for simultaneous display of multiple high-quality video and graphics windows
JP2004070148A (ja) * 2002-08-08 2004-03-04 Oki Electric Ind Co Ltd 液晶表示制御装置
US20040160384A1 (en) * 2003-02-18 2004-08-19 Eric Jeffrey Hardware method for arranging dual-STN display data in a single memory bank to eliminate a half frame buffer
US7681112B1 (en) 2003-05-30 2010-03-16 Adobe Systems Incorporated Embedded reuse meta information
US7852405B1 (en) * 2003-06-27 2010-12-14 Zoran Corporation Method and apparatus for high definition capture
US8159440B2 (en) 2003-06-30 2012-04-17 Advanced Micro Devices, Inc. Controller driver and display apparatus using the same
US20050030319A1 (en) * 2003-08-06 2005-02-10 Rai Barinder Singh Method and apparatus for reducing the transmission requirements of a system for transmitting image data to a display device
JP4046078B2 (ja) * 2003-12-10 2008-02-13 ソニー株式会社 入力装置及び入力方法、並びに電子機器
US7102645B2 (en) * 2003-12-15 2006-09-05 Seiko Epson Corporation Graphics display controller providing enhanced read/write efficiency for interfacing with a RAM-integrated graphics display device
US7221407B2 (en) * 2004-01-06 2007-05-22 Sharp Laboratories Of America, Inc. Television having a java engine and a removable device port
US7746357B2 (en) * 2004-01-06 2010-06-29 Sharp Laboratories Of America, Inc. Dual-plane graphics
US8134561B2 (en) 2004-04-16 2012-03-13 Apple Inc. System for optimizing graphics operations
US7847800B2 (en) * 2004-04-16 2010-12-07 Apple Inc. System for emulating graphics operations
US7248265B2 (en) * 2004-04-16 2007-07-24 Apple Inc. System and method for processing graphics operations with graphics processing unit
US8704837B2 (en) * 2004-04-16 2014-04-22 Apple Inc. High-level program interface for graphics operations
US7231632B2 (en) 2004-04-16 2007-06-12 Apple Computer, Inc. System for reducing the number of programs necessary to render an image
US8068103B2 (en) * 2004-06-24 2011-11-29 Apple Inc. User-interface design
US8130237B2 (en) * 2004-06-24 2012-03-06 Apple Inc. Resolution independent user interface design
US7490295B2 (en) * 2004-06-25 2009-02-10 Apple Inc. Layer for accessing user interface elements
US20050285866A1 (en) * 2004-06-25 2005-12-29 Apple Computer, Inc. Display-wide visual effects for a windowing system using a programmable graphics processing unit
US7761800B2 (en) * 2004-06-25 2010-07-20 Apple Inc. Unified interest layer for user interface
US7546543B2 (en) 2004-06-25 2009-06-09 Apple Inc. Widget authoring and editing environment
US8302020B2 (en) * 2004-06-25 2012-10-30 Apple Inc. Widget authoring and editing environment
US8453065B2 (en) * 2004-06-25 2013-05-28 Apple Inc. Preview and installation of user interface elements in a display environment
US8239749B2 (en) 2004-06-25 2012-08-07 Apple Inc. Procedurally expressing graphic objects for web pages
US7652678B2 (en) * 2004-06-25 2010-01-26 Apple Inc. Partial display updates in a windowing system using a programmable graphics processing unit
US8566732B2 (en) * 2004-06-25 2013-10-22 Apple Inc. Synchronization of widgets and dashboards
US20060044328A1 (en) * 2004-08-26 2006-03-02 Rai Barinder S Overlay control circuit and method
US8140975B2 (en) * 2005-01-07 2012-03-20 Apple Inc. Slide show navigation
US8773328B2 (en) * 2005-02-12 2014-07-08 Broadcom Corporation Intelligent DMA in a mobile multimedia processor supporting multiple display formats
WO2006100532A1 (en) * 2005-03-22 2006-09-28 Nokia Corporation Processing device, system and method for multi-processor implementation with common content visualization
US8543931B2 (en) 2005-06-07 2013-09-24 Apple Inc. Preview including theme based installation of user interface elements in a display environment
TWI285837B (en) * 2005-09-21 2007-08-21 Quanta Comp Inc Display controller capable of reducing cache memory and frame adjusting method thereof
US20070080971A1 (en) * 2005-10-06 2007-04-12 Sung Chih-Ta S Method and apparatus of image buffer compression for display device
JP4845475B2 (ja) 2005-10-20 2011-12-28 富士通セミコンダクター株式会社 画像表示装置およびその制御方法
US20070101279A1 (en) * 2005-10-27 2007-05-03 Chaudhri Imran A Selection of user interface elements for unified display in a display environment
US7743336B2 (en) * 2005-10-27 2010-06-22 Apple Inc. Widget security
US8543824B2 (en) * 2005-10-27 2013-09-24 Apple Inc. Safe distribution and use of content
US7752556B2 (en) 2005-10-27 2010-07-06 Apple Inc. Workflow widgets
US9104294B2 (en) * 2005-10-27 2015-08-11 Apple Inc. Linked widgets
US7954064B2 (en) 2005-10-27 2011-05-31 Apple Inc. Multiple dashboards
US7707514B2 (en) 2005-11-18 2010-04-27 Apple Inc. Management of user interface elements in a display environment
US7492371B2 (en) * 2005-12-02 2009-02-17 Seiko Epson Corporation Hardware animation of a bouncing image
US20070162850A1 (en) * 2006-01-06 2007-07-12 Darin Adler Sports-related widgets
US8155682B2 (en) * 2006-05-05 2012-04-10 Research In Motion Limited Handheld electronic device including automatic mobile phone number management, and associated method
US8869027B2 (en) * 2006-08-04 2014-10-21 Apple Inc. Management and generation of dashboards
US20100033502A1 (en) * 2006-10-13 2010-02-11 Freescale Semiconductor, Inc. Image processing apparatus for superimposing windows displaying video data having different frame rates
US20080168367A1 (en) * 2007-01-07 2008-07-10 Chaudhri Imran A Dashboards, Widgets and Devices
US20090005071A1 (en) * 2007-06-28 2009-01-01 Apple Inc. Event Triggered Content Presentation
US8954871B2 (en) * 2007-07-18 2015-02-10 Apple Inc. User-centric widgets and dashboards
US20090021486A1 (en) * 2007-07-19 2009-01-22 Apple Inc. Dashboard Surfaces
US8667415B2 (en) * 2007-08-06 2014-03-04 Apple Inc. Web widgets
US8156467B2 (en) * 2007-08-27 2012-04-10 Adobe Systems Incorporated Reusing components in a running application
US8176466B2 (en) 2007-10-01 2012-05-08 Adobe Systems Incorporated System and method for generating an application fragment
US9619304B2 (en) 2008-02-05 2017-04-11 Adobe Systems Incorporated Automatic connections between application components
US8656293B1 (en) 2008-07-29 2014-02-18 Adobe Systems Incorporated Configuring mobile devices
US8698823B2 (en) * 2009-04-08 2014-04-15 Nvidia Corporation System and method for deadlock-free pipelining
US8356071B2 (en) * 2010-05-14 2013-01-15 Mitel Networks Corporation Presentational system and method for IP telephones and other devices
US9256316B2 (en) * 2013-05-04 2016-02-09 Nvidia Corporation Power gating a display of a data processing device during cloning thereof across an external display while retaining touch-sensibility thereof
JP6843581B2 (ja) * 2016-10-24 2021-03-17 キヤノン株式会社 画像形成装置、その制御方法及びプログラム
US20220254321A1 (en) * 2019-08-01 2022-08-11 Sony Interactive Entertainment Inc. Display control apparatus, display control method, and program
US11662798B2 (en) * 2021-07-30 2023-05-30 Advanced Micro Devices, Inc. Technique for extended idle duration for display to improve power consumption

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4009470A (en) * 1975-02-18 1977-02-22 Sperry Rand Corporation Pre-emptive, rotational priority system
US4317114A (en) * 1980-05-12 1982-02-23 Cromemco Inc. Composite display device for combining image data and method
GB2130855B (en) * 1982-11-03 1986-06-04 Ferranti Plc Information display system
JPS6061794A (ja) * 1983-09-14 1985-04-09 シャープ株式会社 画面分割表示装置
JPS61213896A (ja) * 1985-03-19 1986-09-22 株式会社 アスキ− デイスプレイコントロ−ラ
JPH0736104B2 (ja) * 1985-03-27 1995-04-19 株式会社アスキ− デイスプレイコントロ−ラ
JP2557828B2 (ja) * 1985-09-11 1996-11-27 株式会社東芝 画像処理システム
JPS62276673A (ja) * 1986-05-26 1987-12-01 Toshiba Corp マルチウインドウ表示装置
FR2610160B1 (fr) * 1987-01-27 1989-03-24 Radiotechnique Compelec Dispositif synthetiseur d'images
US4933877A (en) * 1987-03-30 1990-06-12 Kabushiki Kaisha Toshiba Bit map image processing apparatus having hardware window function
EP0295689B1 (en) * 1987-06-19 1995-03-29 Kabushiki Kaisha Toshiba Display controller for CRT/plasma display apparatus
JPS6410322A (en) * 1987-07-03 1989-01-13 Sharp Kk Display device for picture information
JPS6459426A (en) * 1987-08-31 1989-03-07 Toshiba Corp Bit map display device
US4907086A (en) * 1987-09-04 1990-03-06 Texas Instruments Incorporated Method and apparatus for overlaying a displayable image with a second image
JPH01248185A (ja) * 1988-03-30 1989-10-03 Toshiba Corp ディスプレィコントローラ
US4954970A (en) * 1988-04-08 1990-09-04 Walker James T Video overlay image processing apparatus
US5216413A (en) * 1988-06-13 1993-06-01 Digital Equipment Corporation Apparatus and method for specifying windows with priority ordered rectangles in a computer video graphics system
US5001469A (en) * 1988-06-29 1991-03-19 Digital Equipment Corporation Window-dependent buffer selection
US5293485A (en) * 1988-09-13 1994-03-08 Kabushiki Kaisha Toshiba Display control apparatus for converting color/monochromatic CRT gradation into flat panel display gradation
US5222212A (en) * 1988-09-16 1993-06-22 Chips And Technologies, Inc. Fakeout method and circuitry for displays
US5043923A (en) * 1988-10-07 1991-08-27 Sun Microsystems, Inc. Apparatus for rapidly switching between frames to be presented on a computer output display
US5150109A (en) * 1989-02-13 1992-09-22 Touchstone Computers, Inc. VGA controller card
US5293474A (en) * 1989-04-10 1994-03-08 Cirrus Logic, Inc. System for raster imaging with automatic centering and image compression
US5091717A (en) * 1989-05-01 1992-02-25 Sun Microsystems, Inc. Apparatus for selecting mode of output in a computer system
JPH07105914B2 (ja) * 1990-05-23 1995-11-13 三菱電機株式会社 画像出力制御装置
US5327156A (en) * 1990-11-09 1994-07-05 Fuji Photo Film Co., Ltd. Apparatus for processing signals representative of a computer graphics image and a real image including storing processed signals back into internal memory
DE69126962D1 (de) * 1991-05-16 1997-09-04 Ibm Speicheranordnung
US5406306A (en) * 1993-02-05 1995-04-11 Brooktree Corporation System for, and method of displaying information from a graphics memory and a video memory on a display monitor
US5463422A (en) * 1993-10-13 1995-10-31 Auravision Corporation Data processing technique for limiting the bandwidth of data to be stored in a buffer
EP0675478B1 (en) * 1994-03-16 2000-09-13 Brooktree Corporation Multimedia graphics systems with continuous high clock rate
US5598525A (en) * 1995-01-23 1997-01-28 Cirrus Logic, Inc. Apparatus, systems and methods for controlling graphics and video data in multimedia data processing and display systems
US5767866A (en) * 1995-06-07 1998-06-16 Seiko Epson Corporation Computer system with efficient DRAM access

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI397899B (zh) * 2007-04-30 2013-06-01 Mstar Semiconductor Inc 多視窗顯示控制器及相關方法

Also Published As

Publication number Publication date
KR970071254A (ko) 1997-11-07
CN1173670A (zh) 1998-02-18
EP0802519B1 (en) 2006-05-31
JPH1049125A (ja) 1998-02-20
EP0802519A1 (en) 1997-10-22
DE69735975D1 (de) 2006-07-06
DE69735975T2 (de) 2006-10-26
US5877741A (en) 1999-03-02

Similar Documents

Publication Publication Date Title
CN1126039C (zh) 实现复盖路径的系统和方法
JP3728754B2 (ja) 異なった画像を表示する2台の同時表示装置を持つコンピュータ・システム
US8707191B2 (en) Multi-screen synthesizing display apparatus and method
US5025249A (en) Pixel lookup in multiple variably-sized hardware virtual colormaps in a computer video graphics system
US6911983B2 (en) Double-buffering of pixel data using copy-on-write semantics
KR960012990B1 (ko) 비트 맵 영상 데이타를 블럭 전송하기 위한 퍼스널 컴퓨터 시스템 및 그 사용 방법
EP0995154B1 (en) Virtual address access to tiled surfaces
US20020085013A1 (en) Scan synchronized dual frame buffer graphics subsystem
US7460136B2 (en) Efficient scaling of image data in graphics display systems
JP3557619B2 (ja) ディスプレイを有するコンピュータシステム
US5216413A (en) Apparatus and method for specifying windows with priority ordered rectangles in a computer video graphics system
JPH11167378A (ja) 画像をスケーリングする方法
JPH09245179A (ja) コンピュータグラフィックス装置
US6204864B1 (en) Apparatus and method having improved memory controller request handler
US5754170A (en) Transparent blocking of CRT refresh fetches during video overlay using dummy fetches
US6693644B1 (en) Graphic accelerator reducing and processing graphics data
US6967661B2 (en) Computer system which scans lines in tiled blocks of a display area
CN111045623B (zh) 一种多gpu拼接环境下图形命令的处理方法
JPH1069548A (ja) コンピュータ・グラフィックス・システム
CN1172232C (zh) 用于电脑系统的显示器
JPH09222874A (ja) 画像表示処理装置
US20050030319A1 (en) Method and apparatus for reducing the transmission requirements of a system for transmitting image data to a display device
JP2000035778A (ja) メモリ制御システム、メモリ制御方法及びメモリ制御装置
JP2000276113A (ja) 表示制御装置およびそのプログラム記録媒体
US6385566B1 (en) System and method for determining chip performance capabilities by simulation

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1020164

Country of ref document: HK

C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20031029

Termination date: 20130418