1990年IBM公司首次向世界宣布XGA(Extended Graphics Array)高性能视频子系统的标准,1991年英国一家公司首先把它商品化,设计了两个专用芯片:IMS G200XGA显示控制器和具有D/A变换器串行调色板的IMS G190XGA。这两个芯片使XGA卡具有真彩色功能,提高了像素分辨率,同时使XGA卡还能向下与VGA卡兼容。最早的XGA与PS/2系列机配套使用,PS/2采用的是微通道总线(MCB-Micor Channel Bus),为了使XGA芯片能够扩大应用领域,SGS-Thomson集团又设计了IMS G010XGA AT-Bus外围接口芯片。1992年SGS-Thomson公司又重新设计了IMS G191XGA,它具有D/A变换器串行调色板,但是由于XGA功能齐全,逻辑复杂,所以研制费用及器件成本较高,市场销售困难,竞争力弱。为了解决上述问题,美国IIT公司(Integrated Information Technology)于1993年推出了新的AGX图形控制器,它与XGA标准兼容,又去掉了一些多余的功能,成本低,具有较好的竞争力。
  1.XGA系统特性
  XGA有三个主要特性:
  (1) XGA与VGA的兼容性
  当XGA工作在VGA方式时,XGA的寄存器集与VGA的寄存器集兼容,能够实现VGA卡的全部功能,保证使用VGA卡的各种软件正常运行。同时提供16位或是32位总线的视频动态存储器接口和内部显示数据的快速缓存(Caching),因此可大大提高其性能指标:在VGA卡工作的XGA卡,可比在DOS环境下工作的VGA卡快90%,比起在OS/2 PM(Presentation Manager)环境下工作的VGA卡快50%。
  (2) XGA可工作在132列的文本方式
  XGA卡工作在132列文本方式时,它扩展了VGA卡典型的文本工作方式,它支持每行132个字符,每个字符水平方向可由8个像素组成。
  (3) 扩展的图形功能
  XGA卡在扩展的图形方式时,与VGA卡相比提供了如下优点:
  ① 支持高分辨率屏幕方式。在高分辨率屏幕方式时允许在屏幕上显示更多的窗口以及更清晰的字符,当然这和VGA卡VRAM的容量有关。XGA卡可安装1MB的VRAM,此时可提供1024×768的分辨率,同时显示256种颜色。
  ② 16位的真彩色工作方式。XGA卡引进了新的像素16位字长真彩色的工作方式,它允许在屏幕分辨率为640×480的情况下,在屏幕上同时显示65536种颜色,真彩色时不需要伪彩色查找表(Color Look-up Table)即调色板(Palette),每个像素16位的分配是:5位红色,6位绿色以及5位蓝色。允许直接从摄像机、录像机及CD-ROM输入彩色图像,经XGA在彩色监视器的屏幕上显示出真彩色,这是XGA卡非常突出的优点,使用户感到非常实用,灵活和方便。
  ③ 像素组的工作方式。XGA在像素组的工作方式时,它能够在执行一次操作命令时,完成对视频存储器进行成组的读写,因此可大大提高工作效率。
  ④ 硬件"游标"(Sprite)。硬件游标能够在屏幕上显示稳定的图形游标,而不影响视频存储器的内容,因此不需要用软件检测存储器中的冲突。硬件"游标"由64×64个像素组成,当允许时,它可以叠加到正在显示的画面上。
  ⑤ 扩展的图形能力。XGA比VGA增加了画专用线、填充区域、像素块传送、裁剪以及映射屏蔽等功能,加速和改善了修改屏幕的速度。通过图形协处理器执行上述图形操作,这些操作是与主处理器并行操作的。
  图形协处理器可以处理像素图中的像素,像素图是一个以定义宽度、高度和像素格式的给定地址的存储器区域,XGA允许最多为4096×4096个像素的任意尺寸的像素图。图形协处理器使用x、y坐标编程,在存取实际存储器之前,它能自动地将x、y坐标转换成线性存储器地址,编程时一次只能定义4个像素图,A、B、C三个是通用的,第四个只能作为屏蔽图。由于采用图形协处理器,XGA大大增强了图形能力。
  2.XGA的简单工作原理
  XGA的原理方框图如图2.31所示,它主要由下述几部分组成:
  (1) XGA显示控制器。XGA显示控制器是由IBM公司根据XGA标准自行设计的,由英国INMOS公司生产制造的专芯片。它的型号是IMS G200,如图3.31所示。它主要由三个部分组成:系统总线接口,图形协处理器以及VRAM和显示器的控制器。
  图3.31 XGA总体工作原理框图
  
  (2) 具有D/A转换功能的串行调色板。由IBM公司根据XGA标准自行设计,由英国INMOS公司生产制造的专用芯片。它的型号是IMS G190,主要由以下几部分组成:VRAM和显示控制器接口寄存器,视频特性总线接口,图形像素输入通道,"硬件游标"和字体属性控制器,调色板和RGB D/A转换器。上述两个芯片是XGA的核心部件,将在下面详细介绍。
  (3)视频存储器。XGA卡采用双通道视频存储器,其容量可为512KB或1MB,它所支持的分辨率和颜色种类如表3.3所示。
  表3.3 不同容量的VRAM所支持的屏幕分辨率和颜色的数量 (高教P66)
  
  (4) 总线接口双向驱动器。微通道总线和XGA的接口逻辑,数据总线36位,地址总线32位以及各种控制信号的双向驱动逻辑。
  3.XGA显示控制器
  XGA显示控制器原理框图如图3.32所示。
  图3.32 XGA显示控制器原理框图 (点击查看大图)
  
  它由以下三个功能模块组成:
  (1) 系统总线接口逻辑。
  XGA显示控制器的系统总线接口部分提供了在XGA视频显示子系统与微处理机系统之间的接口逻辑,它为XGA的I/O寄存器以及图形协处理器存储器地址进行译码。它也提供总线控制功能,决定数据总线的宽度是16位还是32位。系统总线接口适合微通道总线,它提供缓冲控制器和高电流驱动能力。和其他系统总线接口相似的还有:
  地址总线:微通道的地址总线是32位,还有地址允许、地址码锁存以及地址选中信号。
  总线仲裁信号:微通道总线有4位仲裁输入信号和4位仲裁输出信号,它反映了微通道总线仲裁的优先级别,同时还有同意仲裁信号。
  数据总线:微通道有32位数据总线,它们可以直接接到VRAM的随机数据通道。此外,还有数据可用信号,数据传送方向信号,I/O读写,存储器读写以及表示16位传送还是32位传送的数据长度信息。
  此外还有中断请求信号,系统复位,存储器刷新以及时钟信号等。系统总线接口与微通道总线具体的连接如图3.33所示。
  图3.33 显示控制器系统总线接口具体连接图 (点击查看大图)
  
  (2) VRAM接口以及IMS G190的接口。
  XGA显示控制器控制所有的对VRAM的操作。在随机通道,它控制执行刷新周期、串行化传送周期、系统读/写周期以及协处理器读/写周期。在串行通道,它提供串行的移位周期。XGA显示控制器支持16位或32位字长的VRAM的存取操作。数据总线(Data0~31)由VRAM和系统总线共享,为了允许两者的使用需要独立的缓冲器。VRAM的数据也可用来与IMS G190串行调色板、外部寄存器和ROM交换信息。
  图3.34给出了XGA显示控制器与VRAM的具体连接。
  
  XGA显示控制器有很多寄存器直接控制IMS G190具有D/A变换的串行调色板,传送数据通过数据总线Data0~7,地址是VAdd0~6提供,地址线VAdd8是作为写允许信号。XGA显示控制器产生数据选通信号作为IMS G190的打入脉冲。CRT控制器和存储器需要的时序脉冲,都是从CRTCLKIN1和CRTCLKIN2得到,如图3.35所示,它们是由IMSG200和IMSG190共同产生的。IMSG200和   IMSG190的具体连接如图3.35所示。
  图3.35 IMSG200和IMSG190的具体连接
  
  (3) 图形协处理器。
  XGA显示处理器的图形协处理器提供了硬件辅助的绘图功能,它能调动视频存储器和系统存储器中的数据。图形协处理器可以不依靠主机CPU,独立的修改存储器。虚拟存储器的特性允许图形协处理器执行物理地址的线性变换,这和80386页操作一样,编写一组存储器到寄存器的映射指令,然后协处理器执行绘图功能。
  图形协处理器的功能概括如下:
  ① 像素块的传递:该功能可将一幅整个位映射图或部分位映射图从某一位置传送到另一位置。这种传送可能发生在视频寄存器内部、系统存储器内部或系统和视频存储器之间。
  ② 画线:用编程的形式在视频存储器或系统存储器内得到画线的位映射图。
  ③ 填充区域:用可编程的模式填充轮廓线的区域,它能在视频存储器和系统存储器中轮廓线的区域内执行。
  ④ 像素的算术和逻辑操作:该功能提供对视频存储器和系统存储器中的像素数据进行算数和逻辑操作。
  ⑤ 剪切功能:它可提供矩形屏蔽功能,也可由屏蔽图代替。
  ⑥ x、y寻址:该功能允许在像素图中由x、y坐标规定的像素,用它的存储器的线性地址代替。
  图形协处理器几种具体操作过程如下:
  ① 像素、像素图和x、y寻址。图形协处理器绘图时处理的是像素图案中的像素,像素图案是一个已定义宽度、长度和像素格式的给定地址的存储器区域。像素字长可能是1、2、4或8位,XGA允许任意尺寸的像素图,最多是4096×4096个像素。协处理器使用x、y坐标编程在存取实际存储器之前,它能够自动地使用定义的宽度和像素的尺寸,把x、y坐标转换成线性存储器地址。用户一次最多可定义4个像素图,在绘图制作时,用户要告诉协处理器哪个是源,使用那种模式,哪个是目的像素图。
  ② 系统存储器中的像素图。在视频存储器中非显示部分是可用的存储空间,它常常被用来存放字体属性和脱屏的像素图。图形用户接口可以扩展使用脱屏的像素图存放推拉式菜单以及字体属性,由于字体属性太大常常会填满脱屏的视频存储器。此时,图形用户接口设备驱动器也能够使用通常的系统存储器,和其它适配器一样,它通常借用系统处理器处理像素,当然这会比专用的协处理器慢一些,但是它也可以和专用的协处理器一起,准备下一个绘图操作。
  XGA在微通道总线中使用总线控制权就能够解决上述问题,在系统和视频存储器任何地方的像素数据,绘图协处理器都能方便地使用。XGA和80386或80486一样使用相同方式的页表,XGA能使用由协处理器使用的或由设备驱动器及其应用程序建立的主页表。
  ③ 像素块传送。像素块传送有三种工作方式:源,模式和目的。源传送可能从像素图拷贝数据,或者从彩色寄存器到目的形成特殊颜色。模式传送数据可由像素图来,或间接从源来,或被屏蔽。
  对于每个像素,通过每个像素的第1位,选择混合功能,它能把源和目的结合在一起。如果模式是0,它能选择背景选择;如果模式是1,它能选择前景混合。像素块传送支持OS/2和光栅扫描窗口环境下所有的混合的逻辑操作和算术操作。同时,它还支持快速字符绘制,这是窗口环境及其它交互式应用的关键问题。
  ④ 划线。协处理器使用Bresenham划线算法划线。当划多条线时第一条或最后一条有可能丢失。在使用块传送时,模式和源的x、y坐标在图形的边缘可能产生卷曲,而划线是不同的。当目的图x、y坐标沿着需要的方向移动时,在源和模式中的坐标是沿着水平方向移动,而且只能从左向右,具体如图3.36所示。
  图3.36 模式图和目的图在划线时的关系
  
  ⑤ 区域填充。XGA协处理器允许快速填充任意区域,该区域通过绘制1位像素轮廓图来定义。也可使用特殊的划线功能(短划线)绘制轮廓线。当划完了轮廓线后,用块传送方式填充轮廓线中的区域。当然也可以进行部分区域填充,也可采用不同模式进行区域填充。
  ⑥ 剪切和图形屏蔽。在程序控制下,协处理器能够自动地剪切像素,这也是一种试图画规定区域外部图的一种方法,这个区域可能是一个矩形,也可能是由像素图定义的更复杂的形状。当需要画一个背景窗口,使另一个窗口变模糊时,就可以使用这个功能。
  ⑦ 状态存储和恢复。在多任务环境中,系统处理器从一个时间到另一个时间必须改变任务。当改变任务时,当前任务的状态必须存储,同时要能恢复和在下一次使用。协处理器的状态也能迅速的存储和恢复,这样就可能做多任务的操作。
  图形协处理器在任何时候都能够被挂起,而在晚些时候又可恢复。一旦挂起,协处理器的整个状态,包括在地址空间不可见的内部寄存器,都要重复的通过两个32位I/O通道读到存储器中存储。80×86串行输入指令可用来做这件事,使用存储器输出指令可以恢复上述状态,一旦恢复了,操作可精确地从挂起点继续运行。
  4.具有D/A变换器的串行调色板。
  具有D/A变换器的串行调色板。IMS G190,它的原理方框图如图3.37所示。图上有6个功能块,我们把它分成5个部分简述如下:
  图3.37 IMS G190原理方框图 (点击查看大图)
  
  部分提供IMS G190与IMS G200、VRAM和微通道总线的接口。主机和IM(1) 串并变换器和调色板。串并变换器的输入数据可以是16位,也可以是32位。这取决于视频存储器的安装容量。输出到调色板的数据可以是8位或16位。通常调色板有256个地址,字长是18位,输出伪彩色的红、绿和蓝信号,每个颜色字长是6位,送给D/A变换器。
  XGA一个突出的特点是可以在16位真彩色的方式下工作,此时它们可以不使用调色板,直接给出16位彩色数字信号到D/A变换器,正如前面所说,它们的分配是:红是5位,绿是6位以及蓝是5位。因此和其它视频源(如摄像机、录像机或激光盘)不需要编程转换就能连接。
  (2) D/A变换器。IMS G190中的D/A变换器是三路D/A变换器,分别是红、绿和蓝三路D/A变换器,变换精度是6位,由它输出模拟的RGB信号给彩色监视器。彩色监视器需要的水平和垂直同步信号,是由IMS G200显示控制器提供。和其它D/A变换器一样,IMS G190 D/A变换器也需要外界提供电压参考信号。
  (3) 视频总线接口。和VGA卡一样,XGA卡也有一个视频特性总线接口。因此,XGA卡能够很方便地和其他视频信号源以视频速度交换数据。如果没有视频特性总线接口,要交换信息时,必须通过系统总线,这样速度就会慢很多,同时也不能对视频信号进行实时处理。视频总线接口包括:视频总线控制信号,视频数据以及视频同步信号。
  (4) "硬件游标"(Sprite)和字体属性缓冲控制器。"硬件游标"是一个存储在XGA"Sprite"缓冲区中,由64×64个像素组成的图形,它可以生成任意形状的彩色图形。它可作为硬件游标使用,当显示时,它可覆盖正在显示的画面。
  "硬件游标"控制器能够控制"游标"位置、颜色和图形。
  字体属性控制器是和字体属性存储器、"游标"存储器以及CRT控制器一起工作的,用它控制132列文本工作方式时字符的产生和颜色的选择。
  (5) 寄存器接口。寄存器接口S G200,通过读写IMS G190这些状态和控制寄存器,实现对IMS G190的编程控制。这些寄存器向下和VGA卡的寄存器是兼容的。例如调色板的数据寄存器以及调色板地址寄存器是用来读写调色板的内容,从而检查和改变伪彩色的函数值,这一点XGA卡向下与VGA卡兼容。