帧缓冲器存储器的制作方法

文档序号:98627阅读:680来源:国知局
专利名称:帧缓冲器存储器的制作方法
本发明涉及到光栅显示用的帧缓冲器存储器系统,更具体地涉及到一种很容易使光栅显示沿垂直方向或水平方向快速卷绕的设备。
随着半导体存储器价格的日益降低,光栅扫描帧缓冲显示已经成为越来越大众化了。被显示的图象可在大型存储器内表示出来,大型存储器可使屏幕上免去亮度和(或)色彩或每个图象元或象素的数字式表示方法。依靠将数据适当地记录在存储器内,就能显示任何一种图象,而使显示硬件对图象的信息不敏感。帧缓冲存储器配上硬件后,能产生使显示更新的视频信号;同时配上存储器端口后,就可以在要求改变被显示的图象时,变更主计算机或显示处理器的帧缓冲存储器。
在相互作用的图影应用中,要求快速改变帧缓冲器存储器。虽然主显示处理器的速度对高性能至关重要,但同样也与存储器系统的特性、特别是更时新的带宽、主处理器或数据处理器对帧缓冲器存储器的存取速率是至关重要的。对已有的存储器技术而言,帧缓冲器存储器存取的隐几何结构也影响这个速率。
图象卷绕过程或者在屏幕图象一部份的卷绕过程包括从帧缓冲器存储器的一个区域内读出象素数据,並将它写入另一个区域内。在先有技术中,帧缓冲器存储器是这样编排的,以致使各扫描线上的象素组均可存入按顺序编址的存储器位置。通过为存储若干迅速从这种顺序存储器地址中读出的象素数据字配备先入先出(FIFO)缓冲器,就可改进卷绕速度;此时各地址的较低位是由计数器而不是由主机显示控制器来很快地增加的。存储在先入先出缓冲器内的数据随后以新的地址顺序再写回到存储器内,新地址顺序也是利用计数器使地址快速增加的。虽然本方法可改进卷绕速度,但还可要求进一步改进卷绕速度。
按照本发明的一个方面的内容,帧缓冲器存储器有一个随机存取存储器(RAM),用它存储各组组内的象素数据,包含象素数据的每一个组是与显示的水平光栅线上的好几个象素的单个集相对应的。每个组是单独地编址的。随机存取存储器构成瓦面状,每个瓦面组成一个象素数据组的行和列组成的阵列,象素数据组行和列是与水平及垂直相邻的显示象素的单独矩形子集对应的。随机存取存储器是通过顺序加上的行和列的地址来编址的。列地址的第一子集确定在每个瓦面内那一个象素组行被编址,而列地址的第二子集则确定在每个瓦面内那一个象素组列被编址。行和列地址的所有其他位则确定那一个瓦面被编址。在这种编排中,在随机存取存储器内共用一个公共的行地址而具有多个差异列地址的各位置均能以较高的速率顺序存取,其存取速率比具有差异行地址的位置的速率高。按照本发明的第二个方面的内容,先入先出缓冲器(由它存储从随机存取存储器读出的数据顺序)也包括一个园筒式移位器,它将按上述方法所存的数据组的位的位置进行移动,以便在水平卷绕操作时使其更容易和象素恰当地对准。
按照本发明的第三方面的内容,提供一种方法,以有选择性地增加或减少列地址的第一和第二子集而不会改变任何其他地址的位,这就能使所选瓦面的行或列之内的象素组可以按任意次序依次编址。这样就得到对显示象素的相邻行或列对应的象素数据的顺序进行快速编址的方法,同时很容易使显示窗口沿任何垂直或水平方向快速卷绕。
按照本发明最后一个方面的内容,提供一种可快速地改变从随机存取存储器读出的数据顺序的逻辑电路,並在重新将数据写入到随机存取存储器之前存储在缓冲器内,用这种方式可以快速变换象素属性。
本发明的一个目的是提供一种改进的帧缓冲器存储器系统,它可以快速地进行水平和垂直卷绕,並可变更象素数据。
本发明的主题是由这个说明书的结论部份中专门指出並提出明确的权项。但是,操作的组织和方法,以及它们的进一步优点和宗旨,都可参见下面的介绍,並参考附图就能很好地掌握。在附图中,类似的参考字母表示类似的元部件。
图1是使用本发明的帧缓冲器存储器系统的方框图。
图2是存储器瓦面编址图,图3是图1的数据控制器的方框图,图4是图3的光栅输出组合逻辑电路方框图,图5是图2的先入先出控制电路的方框图,图6是在图5中只读存储器的输入和输出关系的表格。
参见图1,用方框图形式表示的帧缓冲存储器系统10是适合于在阴极射线管(CRT)12上产生图象的,阴极射线管上的图象是根据由主计算机或显示处理系统一类的控制装置送来的由16位数据总线14所传送的数据产生的。阴极射线管12上的图象是由象素组成的,每个象素的颜色和其他属性受对应的八位象素数据字的状态控制。帧缓冲存储器10包括一个随机存取存储器(RAM)阵列16,用它存储象素数据;一组八个数据控制器,用它控制随机存取存储器阵列16和数据总线14之间的数据流;一个I/O控制器18,用它控制随机存取存储器阵列16的编址;以及一个普通的视频输出电路22,用它产生合宜的阴极射线管12的更新信号,以便根据随机存取存储器阵列16内存储的象素数据而达到所要求的显示。
随机存取存储器阵列16包含一组128个64K×1位的随机存取存储器芯片,这组芯片排列成8行(平面)和16列的阵列。每个RAM芯片由16位字编址,但只有8个地址总线终端接到8位地址总线25上。因此,在阵列16内的每个随机存取存储器芯片是属于在芯片内编址分两步出现的类型。首先将8位行地址放在随机存取存储器地址总线25上,同时将行地址选通脉冲(RAS)加到随机存取存储器芯片内,以对行地址选通。然后将8位列地址加在随机存取存储器的地址总线25上,同时将列地址选通脉冲(CAS)加在随机存取存储器芯片内,以对列地址选通。按照控制线26上承载的外加读出/写入(R/W)控制信号的状态,数据可在行和列地址上的随机存取存储器上读出或写入到随机存取存储器内。单根列地址选通线共同加到阵列16的每个随机存取存储器芯片上,而标有RASO-RAS15的单个行地址选通线共同加到阵列16的16个列的每列内的随机存取存储器的8个芯片的每片上。
每个随机存取存储器芯片均有数据输入/输出终端,通过输入/输出终端可在随机存取存储器上读出或写入单个数据位。每个阵列平面的所有16个随机存取存储器的数据输入/输出终端,通过16线的数据总线60连到相应的数据控制器20上,以便在存储器写入或存储器读出操作中,每个数据控制器20就能向或能从给定平面的16个随机存取存储器发送或接收数据的16位。每个阵列平面的数据总线60还接到视频输出电路22上,使屏幕更新的数据能从阵列16传送到视频输出电路内。
每个象素的第1位被存储在阵列16的平面0内。每个象素的第2位以相同于象素的第1位的随机存取存储器地址存入平面1内,同时存入相同于第1位的随机存取存储器阵列16的同一列内。每个象素的一些后续象素位可用同样的方法存储在后续的一些平面内,结果,每个象素的第8位是存在平面7内的。因为阵列16的每个随机存取存储器芯片有64K个存贮位置,又因为在阵列16的每个平面中有16个随机存取存贮器芯片,所以总数为64K×16或1024K个8位象素可以存在阵列内,该阵列在每个阵列地址上存有16个象素,可以允许(例如)1,024×1,024象素显示。
在存储器写入周期内,每个数据控制器20,通过有关的平面数据总线60,将一个16位字发送到相应的平面随机存取存贮器16上,每一位是被加到存贮器阵列16的平面内的16个同样编址的存贮器单元的每一个上的。在阵列16内所选的随机存取存储器列以相同的时间经过行地址选通,再让每个随机存取存贮器进行列地址选通,於是由数据控制器20来的数据就能写入到对应阵列16的各个平面的经行地址选通后的随机存取存贮器内。因此,在一个写入周期内,从1至16的同样编址的象素均可改变。
在存贮器读出周期内,在阵列内的每个随机存取存贮器先经行地址选通,然后经列地址选通,以便数据可从每个随机存取存贮器阵列16的平面读出,並发送到有关的数据控制器20上。因此在一个读出周期内,可以读出16个同样编址的象素中一个以上的对应位。
输入/输出控制器18包括计数器30及34、寄存器32和36、更新电路40及多路器38。在读出或写入存取周期内,当时的16位存贮器地址,被从显示控制器经地址总线24送到输入/输出控制器18上。当时地址的地址位A00和A01被存贮在X计数器30内,地址位A02-A05被存贮在X寄存器32内,地址位A06-A07被存贮在Y计数器34内,而地址位A08-A15被存贮在Y寄存器36内。一旦在计数器30和32内存贮了两位数据值,那么当通过控制线26收到由显示处理器来的CNTX或CNTY脉冲时,两种计数器中的无论那一种就使其所存的计数增加或减少。计数方向(向上或向下)可由控制线26同时传送到X和Y计数器的单位INC/DEC指示信号的状态所决定。存贮在计数器30和34以及存贮在寄存器中32和36中的数据均被加到32/8位多路器38的A和B输入端,同时将地址位A02-A05和A08-A11加到多路器38的A输入端,而将地址位A00,A01,A06,A07和A12-A15加到B输入端。在存贮器读出或写入存取期间,多路器38在行地址选通之前被这样地用开关转换,以使其输入A被传送到它的输出,即接到随机存取存贮器阵列16的地址线25。因此,加在多路器38的输入端A的8位包括阵列的行地址。那么,在列地址选通之前,多路器38就被转换而将出现在B输入端的8位送到地址总线25上。因此,在B输入端上的8位包括阵列的列地址。
8位的行和列地址也由电路40内的一般的更新计数器产生,並被加在多路器38的C和D输入端。在屏幕更新操作期间,多路器38交变地把C和D的输入送到随机存取存贮器阵列地址总线上;该时刻,在更新电路内的内计数器产生行和列地址的所有可能的组合。更新操作是由显示处理器送来的、在控制线26上的一位信号REF所触发。多路器38的开关位置也由REF信号和在控制线26上的一位RAS/CAS信号控制。
象素数据字均被存入4096个存贮块内的存贮器阵列16的每个平面或(“瓦面”)内;每个瓦面有4行,每行有4个16位的数据字(如图2所示)。在图2中,大方块表示一个瓦面,而在大方块内的小方块表示一个16位象素字。64个象素的瓦面的四个每行16位数据字和阴极射线管12的一条显示光栅线的64个连续象素相对应,而每个瓦面的四行则和显示上的四个相邻光栅线相对应。当阵列被编址时,在每个瓦面内正在被编址的16个字中的某一个由相同的四个地址位A00、A01、A06和A07确定,每个地址位都进行列地址选通。瓦面的每个字的4位地址(A07、A06、A01、A00)在图2中由相应的小方块表示。16位存储器阵列地址的其他12位确定在阵列16的4096个瓦面中那一个正在被存取。
在卷绕操作中,当准备将一个显示段移动到屏幕的另一部份的区域时,数据被从存贮器阵列16的一个区域内读出,並重新写入到另一个区域内。在本发明中,通过单个行地址选通脉冲,可以快速连续地读出或写入所选择的瓦面的行或列的4个字;该单个行地址选通脉冲是紧跟在一串4个列地址选通脉冲之后而在所有RASO-RAS15线上产生的,同时在列地址选通之前,在4个瓦面地址位中是有2个合适的位正被图1中的X计数器30或Y计数器34所增加或减少的。例如,当进行显示的水平卷绕时,某一瓦面的12位地址,和所选择的瓦面行内第一字的4位地址一起都可以由显示处理器产生。这些16位字地址位都被放在地址总线24上,同时被传送到显示缓冲器10上,如前所述,它们在此处都被存贮在计数器30和34及寄存器32和36内,然后再加到多路器38上。最初A01和A00二者都是0。A07或A06可以是由被选择的那个瓦面行确定的任一种组合。那么所选瓦面行的第一数据字被读出,並在第一行地址选通脉冲和列地址选通脉冲之后送到数据控制器20上。X计数器30由CNTX信号触发,而INC/DEC信号是处在指示递增计数状态,故使A00增加到逻辑1。第二行地址选通脉冲被加到阵列16上,而且不会妨碍行地址选通脉冲,这就使所选瓦面行的第二字被进行列编址,並且被进行读出,然后送到数据控制器20上。由于在瓦面行中的所有字的行地址均相同,故另外一个行地址选通脉冲就不必要了。X计数器30进一步使2位A01、A00字第二次增加,那么A01就被设置到逻辑1,而A00就被设置到逻辑0,然后第三个列地址选通脉冲被加到阵列16上,以对行的第三个字编址。2位地址再一次增加后,使A01和A00两者都是逻辑1,同时第四列地址选通脉冲在此之后被加到随机存取存储器阵列16上,使所选的瓦面行中的第四数据字被读出,並被传送到数据控制器20上。故从每个平面读出的4个字均被存储在有关的数据控制器20上,而且可在以后用相同的方法写入到阵列的不同的瓦面内,这个方法就是使用后面跟有4个列地址选通脉冲的行地址选通脉冲。
垂直卷绕时的数据读出或写入操作也会使用相同的方法,所不同的是,Y计数器34使数据位A07和A06增加或减少,这样就使所选择的瓦面列的4个字都使用一个行地址选通脉冲后随4个列地址选通脉冲而被相继读出或写入。对向上卷绕来说,瓦面列的数据字被从顶到底读出和写入。因此,在每个列地址选通脉冲之后Y计数器34增加。对向下卷绕来说,在每个列地址选通脉冲信号之后Y计数器34减少。当垂直卷绕后的窗口的右缘或左缘与数据字的首位或末位不重合时,存储窗口边界之外的象素的随机存取存贮器芯片,都未被行地址选通。因此,在垂直卷绕操作中,只有和窗口区内的象素相对应的那些边界字的数据集才能读出和写入。
因此本发明的瓦面编排允许在单个存贮器读出或写入周期中对4个连续的存贮器字进行存取。因为所存取的4个存贮器字与显示器22上的垂直相邻或水平相邻的象素相对应,同时还因为计数器30和34可以增加或减少地址,故4个数据字可以从左至右、从右至左、从顶到底或从底到顶地读出。这样就能在任何四个方向上进行快速卷绕。
图1中的平面0的数据控制器20的更详细的方框图如图3所示。和随机存取存贮器的平面1-7有关的其他每个数据控制器的布局和操作亦与此类似。在存贮器读出周期内,从任何一个平面的16个随机存取存储器的每一个RAM读出的单位数据均通过数据总线60,再通过缓冲器62和32/16位多路器64,最后送到数据寄存器66内。多路器64的开关位置可由读出/写入指示信号R/W控制,指示信号R/W则由显示处理器发出,通过一根控制线26传送。一旦在数据寄存器66内存有数据,则从平面送来的16位数据字可通过缓冲器68並以数据线14送到显示处理器内。
在存贮器的写入周期内,被写入平面0的随机存取存贮器内的数据最初被存在数据寄存器66内,然后通过缓冲器70和以平面0的数据总线60,再传送到随机存取存贮器内。在存入寄存器66之前,在进行存贮器写入操作准备中,被写入存贮器的数据就在光栅输出组合逻辑电路82的输出端D上产生,並被加到多路器64的第二个16位输入端上。逻辑电路82有三个16位的输入端A、B和C,並适合于产生16位的输出字D,输出字D的每一位均是与三个输入端A、B和C对应的位作某种选择的布尔逻辑组合。由逻辑电路82所形成的输入的特殊的逻辑组合是可以选择的,选择时只要在法则寄存器86内预先加上8位字的负载,然后将8位字加到输入逻辑电路82上。这个8位数据字被加载到法则寄存器86,其方法是从显示处理器发出,通过数据总线14,並经缓冲器76及锁存电路78进行8位数据字传送。
参见图4,逻辑电路82的最佳实施例用方框图形式表示,它包括一组16个8/1的多路器96(用Muxo-Mux15表示)、8条数据线(R0-R7),由法则字存器86存贮的每个1位的法则数据均被加到每个多路器96的8个输入端上。逻辑电路82的A、B和C输入端上出现的每一个16位字的第一位(Ao、Bo和Co)加到Muxo的三个控制输入端的相应端上。同样,逻辑电路82的A、B、和C以后的各位均加到后继的多路器96的控制输入端。每个多路器82的单一位的输出端Do-D15包括逻辑电路82的16位输出端D的单独位。
每个多路器96将法则寄存器86输出线Ro-R7中的1个上所载的数据位(0或1)传送到相应的多路器输出线D0-D15上,此时R0-R7线正按照多路器控制端上出现的三个位码A0-A15、B0-B15、C0-C15进行选择。因此,每个多路器96都可以被编程,以便在相应的A0-A15、B0-B15、C0-C15输入状态出现任一组合时产生一个输出D0-D15状态,编程方法是可以简单地将相称的8位数据存贮到法则寄存器86内以便相称地设置R0-R7线的状态。
再参见图3,16位数据字可从显示控制器传送,即从数据总线开始,通过缓冲器76、锁存电路78和32/16位多路器80而进入到光栅输出组合逻辑电路82的输入端C。多路器80的开关位置被由显示处理器来的、在控制线26上所载的控制位(SCR)所决定。因此,由显示控制器传送到逻辑电路82的输入端C的16位字於是就可被修改,(如果逻辑电路82需要修改时),並将数据字经过输出端D和多路器64送到数据寄存器66,在寄存器内存储后,再依次写入平面O的随机存取存贮器芯片的所选地址内。
在逻辑电路82的输入端A上的16位数据字可以从平面O的随机存取存储器读出,並通过缓冲器62和32/16位多路器92及锁存电路94,传送到端A,多路器92的开关状态受控(于在控制)多路器64的开关状态的控制线上的同一个R/W控制信号的控制,换言之,在存贮器写入操作期间,逻辑电路82的端A上出现的数据将从外部控制系统传送到端A,传送是通过数据总线14,再通过缓冲器76、锁存电路78、多路器92和锁存电路94。存贮在数据寄存器66内的16位数据字将逐个出现在逻辑电路82的输入端B。
寄存器和锁存电路66、70、86和92的加载受选通信号的控制,选通信号是由地址解码器95根据地址总线24上出现的寄存器地址产生的。
在卷绕操作中,由阵16读出的数据被存贮在先入先出(FIFO)卷绕缓冲器100内,该缓冲器包括一组八个16位的锁存电路102(锁存电路1-锁存电路8)、圆筒移位器104及先入先出控制电路106。锁存电路是串联在缓冲器62的输出端和圆筒移位器104的一个输入端之间。锁存电路4的输出也被加在圆筒移位器104的另一个输入端上。锁存电路6-8被串联在圆筒移位器104的输出端和多路器80的一个输入端之间。先入先出控制电路106有选择性地使锁存电路1-8接通控制线E1-E8而与它连接。由于锁存电路的动作,出现在其输入端的数据也可在其输出端上出现,这样就使锁存电路对输入数据呈透明性。当控制输入信号未被接通时,有关的锁存电路就可“锁存”,使锁存电路输出固定在其最后状态,並且不受锁存电路输入变化的影响。
在卷绕操作中,由阵列16读出的数据字在先入先出缓冲器100中的锁存电路之间传递。锁存电路4的16位输出字和锁存电路5的16位输出字包括一个送到圆筒移位器104的32位循环输入字。圆筒移位器104产生16位的输出字,该输出字是由32位循环输入字中任选其中一个连贯的16位组成。圆筒移位器104的输出成为送至锁存电路6的输入。在32位循环字中,有30种不同的连贯的16位的集,同时由圆筒移位器所选择並输出的某个集是由一个5位的数据字SB确定的,5位数据字SB被加在圆筒移位器104的移位控制输入端。这个字被最初存在方式寄存器84内,在存入之前已由显示处理器产生,並通过数据线14、缓冲器76和锁存电路78传送到寄存器84内。然后SB字从方式寄存器84开始,通过先入先出控制电路106,送到圆筒移位器104上。
在垂直卷绕操作中,瓦面列的四个象素数据字组成的集被依次从阵列16中读出,如前所述,读出时要采用行地址选通脉冲后随的四个列地址选通脉冲,列地址选通脉冲信号被承载在控制线26上而送到先入先出控制电路106内。系统的时钟信号也通过控制线26加到先入先出控制电路106上。最初,所有的先入先出缓冲器锁存电路102均未锁存,而使它们对输入数据都具有透明性。当每个数据字被读出时,就把它加到先入先出缓冲器100的锁存电路1的输入端。在第一系统时钟信号跟在第一个列地址选通信号时,先入先出控制电路106就切断通向锁存电路1的信号线EI,使锁存电路1进行锁存。由于所有其他锁存电路尚未锁存,故通过缓冲器使第一数据字落在锁存电路5的输出端。对垂直卷绕操作而言,加到圆筒移位器104上的数据SB被设置得使圆筒移位器不能“移位”,或者换句话说,在锁存电路5的输出端上的16位数据被一直通到锁存电路6,而在锁存电路4内的16位则不受筒移位器104而不予考虑。
所有商业用的圆筒移位器在通过数据时,都比数据通过锁存电路时要慢。所以在第一系统时钟脉冲周期内,第一数据字可能没有时间来穿过圆筒移位器104。在下一个系统时钟脉冲周期内,控制电路106使锁存电路5锁存,而使锁存电路1不锁存。因此,当下一个数据字被跟在第二列地址选通脉冲之后读出、並送到先入先出缓冲器时,它就穿过锁存电路1-4,但不穿过锁存电路5。在此期间,第一数据字穿过圆筒移位器並至少穿过锁存电路6。在第一时钟脉冲周期上,由于跟随着第二列地址选通脉冲,故控制电路106就对锁存电路6和锁存电路1锁存,而对锁存电路5不锁存。第一数据字通到锁存电路8的输出端,而第二数据字在通过缓冲器的进程就在锁存电路5的输出端终止。在下一个时钟脉冲周期内,锁存电路1和6不被锁存而锁存电路5和8被锁存。如果第三数据字在出现第三列地址选通信号时被读出,它就通过锁存电路1。在第三列地址选通信号之后的第一时钟脉冲周期内,锁存电路1和6被锁存而锁存电路5不被锁存。锁存电路8保留锁存状态。此时,第一数据字就在锁存电路8的输出端上出现,第二数据字被停留在锁存电路8的输入端,而第三数据字则在锁存电路6的输入端上被阻住。在下一个时钟脉冲周期内,锁存电路1和6未锁存,而锁存电路5和7锁存。此时,第一数据字就出现在锁存电路8的输出端,第二数据字出现在锁存电路7的输出端,而第三数据字出现在锁存电路5的输出端。
如果第四数据字在第四列地址选通脉冲之后被读出,它就传送到锁存电路1。那么锁存电路1和6就锁存而锁存电路5不锁存,这就使第四数据字一直通到锁存电路5的输出端。利用类似的方法,从存贮器阵列16读出的第五、第六、第七和第八数据字就被对应地替代到锁存电路5、4、3和2的输入端的先入先出缓冲器100内。当缓冲器被载满8个字时,所有的锁存电路就保持在锁存状态。
在第一数据字被读出並存入先入先出缓冲器100之后的任何时刻,第一数据字和其后的任一存贮数据字均可顺序地从缓冲器通过,並经多路器80,送到光栅输出组合逻辑电路82的输入端。如果按这样编程,逻辑电路82就可以通过某种方法修改数据,然后把修改的或未修改的象素数据从逻辑电路82的输出端D开始传递,经多路器64而送到寄存器66内。如果数据未经光栅输出组合电路82修改,则将它重新写入到显示较高的或较低的位置对应的存储器阵列16的其他某些地址上,从而进行显示的垂直卷绕。
换句话说,逻辑电路82可以用某种方法修改数据,例如用改变控制象素亮度的位或某些其他特征数据,然后可将这些数据重新写入到同一个或另一个存贮器位置。因此,使用逻辑电路82,再与先入先出缓冲器100及瓦面形排列的存贮器阵列16组合在一起,可使显示方框或窗口的所选择的特征被非常快地变换,或瞬时快速更换並使显示窗口卷绕。
当数据准备从先入先出缓冲器100内卸载而写入到存贮器阵列16内时,多路器80被转换到能通过在锁存电路8的输出端上出现的数据,並在控制线26的一根线上有控制位(SCR)信号时将上述数据送到逻辑电路80的输出端C,然后可将这个数据修改,並按上述方法写回到存贮器内。控制线26的另外一条线上载有卷绕先入先出卸载(SFu)信号,将它加在先入先出控制电路106上。在缓冲器100卸载操作期间这个信号在每个列地址选通信号出现时产生。当列地址选通信号出现时,表示锁存电路8的输出端上出现的数据已经被传递到寄存器66,並被写回到存贮器阵列16内,这个卷绕先入先出卸载信号就暂时变为低值。在下一个时钟脉冲信号中,锁存电路8不锁存,使其输入端的数据能被送到它的输出端。在下一个后续的时钟脉冲周期内,锁存电路8被锁存,而锁存电路7不锁存,使锁存电路7的输入端的数据通向锁存电路8的输入端。每来一个时钟脉冲周期,这一过就程连续一次,一直到缓冲器106内所存的所有数据都已经移动了一个锁存电路时为止。在此期间,一旦锁存电路8已经锁存,其输出端就出现第二数据字,而且该数据也可被送到寄存器66,同时被写入到由下一个列地址选通脉冲所选通的存储器内。每当前一数据已被移位时,先入先出控制电路连续地将数据就被逐个地从一个锁存电路移到另一个锁存电路。
圆筒移位器104前面的五个锁存电路至少能容许五个数据字被快速地逐个读出,而且不管圆筒移位器的速度多大,均可将这五个数据存在缓冲器100内。与此类似,跟在圆筒移位器104后面的三个锁存电路能使四个数据字从缓冲器中卸载,並且只要在该四个字的集被写入存储内一定的时间间隔内,圆筒移位器104能处理第四个字,就能把这四个字逐个地快速写入存储器内。
一般,四个数据字通过较慢的圆筒移位器所需要的时间对其他目的也是必要的,例如,屏幕更新操作,因此是不受限制的,此时假定圆筒移位器位于缓冲器的中部,而不是在两端。
在水平卷绕操作期间,圆筒移位器104由方式寄存器84中的SB数据置位,从而选择锁存器电路4和锁存电路5的输出端上出现的数据的一个16位子集作为它的16位输出。因为两个输入字的32位对应于显示上的水平相邻的32个象素,而且因为象素数据是被以16象素字块读出和写入的,所以在象素数据被读出之后但在它被重新写回到存储器阵列16之前,必须将一个字内的每个象素的位置移动某些位数。如果水平移位的距离不是16的倍数,就需要这种位移。位移的大小要对应于出现在锁存电路4的输出端的数据字的位数,这些数据字被插入到出现在圆筒移位器104输出端的数据字中,並受输入到圆筒移位器上的SB的控制。位移的方向,根据相应象素显示的相对位置取决于锁存电路4里的数据实际上究竟是在锁存电路5内的数据的左边还是右边。
在有位移的水平卷绕操作期间,先入先出缓冲器100的加载一般类似于不要求有位移的情况下的缓冲器加载,所不同的是锁存电路5保持锁存状态直到锁存电路4锁存为止;而锁存电路6保持不锁存状态直到锁存电路4锁存之后为止,这样就在圆筒移位器的有输出被锁存在锁存电路6中之前,就可保证两个顺序读出的数据字出现在锁存电路4和5的输出端,即圆筒移位器104的输入端上。
当从左到右地水平卷绕时,在瓦面行里的四个数据字被从右到左顺序地读出,並被装入缓冲器。因此在每个列地址选通信号之后,X计数器30是减少的。如果从左到右的水平卷绕包括位移,该位移不是16个象素的偶数倍时,那么圆筒移位器就被设置到产生数据字,在该数据字中的高顺序位(最右的)中包含有锁存电路5内的字的适当数目的低顺序位,而低顺序位包含有锁存电路4中的高顺序位。
当从右到左地水平卷绕时,瓦面行里的四个数据字以左到右的顺序读出,並装入缓冲器。这样在每个列地址选通信号之后,X计数器30是增加的。如果卷绕包括位移,且位移不是16个象素的偶数倍,则圆筒移位器就被设置到产生数据字,在该数据字中,高顺序位中包含有锁存电路4里的字的适当数目的低顺序位,而低顺序位中含有锁存电路5内的字的高顺序位。
图5是图3的先入先出控制电路106实施例的方框图。控制电路106包括一组8个D-型触发器,即FF1到FF8,每个都有一个Q输出端(触发器FF1到FF8的分别以Q1到Q8表示)通过缓冲器耦合到相应的控制导线E1~E8上,而接到先入先出缓冲器100的相应锁存电路102上。控制电路106还包括有8根数据输出线的只读存储器(ROM)112,每个都被连到相应的触发器110的D输入端上。触发器的各个D输入端分别标示为D1到D8。8个触发器的8个Q输出也被耦合到只读存储器112的8个地址线输入端上。来自显示处理器的一组4个控制线26也连到只读存储器112的另外4个地址线输入端上,从显示处理器来的4线组控制线26也被加到ROM112的其他4个输入端,它包括列地址选通线,卷绕先入先出加载(SEL)线,卷绕先入先出外加载(SFU)线和卷绕先入先出清除(SFC)线。来自方式寄存器84的5个SB位被加在或门114的输入端上,而或门的输出端仍然加到只读存储器112的另一个地址线输入端上,另一个控制线26上的时钟信号CK共用于全部触发器110的时钟脉冲输入端上。
每个触发器110的Q输出端改变它的状态是为了每当触发器由CLK脉冲选通时可匹配于D输入端的现时状态。只读存储器112与触发器110组合在一起,在该组成中包括一种状态机器;在该机器中的每个触发器D输入端的现时状态可以分成为高状态和低状态,这要依赖于所有触发器110的Q输出的全部集合状态连同其他输入到只读存储器的编址输入的状态。在只读存储器各输入端和输出端之间的对应法则可通过存储在ROM的数据而建立。图6的表格表示了ROM的D1~D8各输出及其所有输入之间的关系。对于每个输出D1~D8,列成的布尔公式表明在那个输入条件下,D输出将是高值。当公式是真值(逻辑1),相应的D输出将是真值,而当公式是假值,D输出将是低值。如果ROM112的数据被校准而实现这些公式,则先入先出缓冲器100的加载和非加载将象前面描述那样运行。
为了从缓冲器上清除数据,所传送的卷绕先入先出清除(SFC)信号是低值。在所有其他时间,SFC信号是高值。低的SFC信号使Q2、Q3、Q4、Q5和Q8在下一个时钟脉冲周期里进入高值。於是,在第二个CK周期里,Q1和Q6进入高值。由于所有Q的输出是高值,则对于全部缓冲器100的锁存电路的E控制输入端均进入高值,结果它们全部是透明的。最初,当没有数据存储在先入先出缓冲器100里时,触发器110的全部Q输出是高值,使所有的锁存电路是透明的。在D1的公式中,利用列地址选通信号使锁存电路1在每个列地址选通信号之后进行锁存。除了当显示控制器需要把数据装入缓冲器100里时外,SFL信号一般是低值。在这种情况下,在与CAS信号的同一时间,SFL传送高值信号,其后,在高值上停留一个CK周期。如果SB位的任何一个是高值,则来自图5的或门114的ZSN信号也是高值,则表明圆筒移位器正在把经过它的数据的象素位的位置进行移位。ZSN信号被用于D5和D6的公式中,从而阻止锁存电路6锁存或阻止锁存电路5不锁存,直到锁存电路4锁存为止。除了当显示控制器已从缓冲器读出数据时外,SFU信号是高值。然后,SFU信号在一个CK周期内进入低值,从而使数据通过缓冲器启动移位。所以,SFU信号被用于D8的公式中,当SFU转向低值时,使D8转向高值而使下一个CK周期期间Q转向高值,使锁存电路8不锁存。
当先入先出缓冲器100能异步工作时,从而将数据通过逐个锁存器而与系统时钟脉冲无关,本发明的同步先入先出缓冲器要求同系统时钟脉冲时一致地进行锁存。因此,显示控制器可以在任何已知瞬间跟上当数据是在FIFO缓冲器中时的进程,並且能在不需要异步控制信号,例如在输入准备或输出准备的情况下,对缓冲器存取。
当对本发明的最佳实施例已被说明和描述时,在没有超出本发明的更大范围的情况下,可以进行改变和改进,这对那些技术行家是很清楚的。因此,附后的权利要求
被打算把包括所有诸如此类的变化和改进都作为属于本发明的实质和范围。
权利要求
1.一种用来存储和改进由行和列象素组成的荧光屏图象的装置,每一个这样的象素都是有根据所存储的相应象素数据而控制的属性。上述装置特征在于包括用来存储象素数据的随机存取存储器,上述象素以字的形式被存储在上述随机存取存储器里,每个上述字包括与若干水平相邻象素的分离集相对应的象素数据,而每个字被单独地编址,上述字被以瓦面形式排列,每个瓦面包括与水平和垂直相邻象素的分离矩形子集相对应的象素数据字行和列的阵列;以及通过顺序地运用第一,然后第二地址位的集,对上述RAM进行编址的装置,上述第二地址的位集的第一子集可确定每个瓦面里的那一个象素字行已被编址,和上述第二个地址位集的第二个子集可确定每个瓦面里的那一个象素字列已被编址,上述第一和第二地址位的其他位可确定那一个瓦面正被编址。
2.正如权利要求
1中所述的一种装置,其特征还在于包括一种在不改变任何其他地址位的情况下,有选择地增加或减少地址位的上述第二集的上述第一子集的装置;这样,在所选择的瓦面行里的象素字就被依次编址;以及一种在不改变任何其他地址位的情况下,有选择地增加或减少地址位的上述第二集的上述第二子集的装置;这样,在所选择的瓦面列里,象素字就被依次地编址。
3.正如权利要求
1中所述的一种装置,其特征还在于包括一种装置,当上述象素数据字被编址时,它能读出上述象素数据字;以及一种装置,它能依次存储被读出的象素数据字,并在读出时,能以同一顺序输出上述象素数据字。
4.正如权利要求
3中所述的一种装置,其中利用上述存储装置,上述象素数据字的上述存储和输出可与系统时钟信号同步。
5.正如权利要求
1中所述的一种装置,其特征还在包括一种装置,它能在上述象素数据字被编址后可读出上述象素数据字;以及一种装置,它能依次地存储被读出的象素数据字,並输出有位移的象素数据字。
6.正如权利要求
5中所述的一种装置,其中上述存储装置包括第一种装置,它可用来接收和存储第一数据字序列,並按它被接收时的同一顺序输出上述第一数据字序列;一种可存储由上述第一装置输出的从第二个到最后一个数据字的装置;一种可输出第二数据字序列的装置,它的每个字包括上述最后一个数据输出字中和上述第二个到最后一个数据输出字中的所选择的位数;以及用来接收和存储数据字的上述第二序列,並输出所接收的序列的第二装置。
7.正如权利要求
3中所述的一种装置,还包括一种产生所修改的数据字的装置,它的每个位的状态由按照所选择的法则数据字的许多所加的输入字的相应位的集合状态所控制,上述装置为存储现时输出字被作为一个上述输入数据字而加到上述生产装置中。
8.正如权利要求
7中所述的一种装置,其中上述产生装置包括许多多路器,每个多路器输出所修改数据字的单个位,对每个所加的输入数据字的相应位具有单个开关控制输入,並具有法则数据字输入,上述相应输入字位的集合状态可确定由上述法则数据字中的哪一位来控制多路器的输出位的状态。
9.一种用来存储和修改由象素行和列组成的屏幕图象的装置,每个这样的象素具有按照所存储的相应象素数据而被控制的特征,上述装置的特征在于包括一种随机存取存储器(RAM),用于存储象素数据,上述象素数据被以字的形式存储在上述随机存取存储器里,每个上述字包括和许多水平相邻象素的集对应的象素数据,而每个字被单独地编址,上述字被排成瓦面形,每个瓦面包括一个与水平和垂直相邻象素的单个矩形子集对应的象素数据字的行和列阵列,上述随机存储取存储器的编址采用地址位的第一和第二集,上述第二地址位集的第一子集来确定每个瓦面里哪个象素字行已被编址,以及采用上述第二地址位集的第二子集来确定每个瓦面里的哪个象素字列已被编址,上述第一和第二地址位的其他位可确定哪个瓦面正被编址;一种有选择性地增加或减少地址位的上述第二集的上述第一子集,而不会改变任何其他地址位的装置,这样,在所选择的瓦面行里的字就被依次地编址;一种有选择地增加或减少地址位的上述第二集的上述第二个子集而不会改变任何其他地址位的装置,这样,在选择的瓦面列里的字就被依次地编址;一种当上述象素数据字已被编址时将其读出的装置;以及一种依次存储所读出的象素数据字,並输出上述象素数据字的装置。
10.正如权利要求
9中所述的一种装置,其中由上述存储装置输出的上述象素数据字被与系统时钟脉冲信号所同步。
11.正如权利要求
9中所述的一种装置,还包括一种产生所修改的数据字的装置,按照所选择的法则数据字,它的每位的状态由若干所加的输入字的相应位的集合状态所控制,为存储上述装置的现时输出字就被作为一个上述输入数据字而加到一个上述产生装置中。
12.正如权利要求
9中所述的一种装置,其中上述产生装置包括许多多路器,每个多路器输出所修改的数据字的单个位,对每个所加的输入数据字的相应位均有单个开关控制输入,並具有法则数据字输入,上述相应输入字位的集合状态可确定由上述法则数据字中的哪一位来控制多路器输出位的状态。
13.用以控制由象素行和列组成的图象的一种装置,每个这种象素具有按照相应的象素数据而进行控制的特征,上述装置包括用来存储象素数据的随机存取存储器,上述象素数据以字的形式存储在上述随机存取存贮器里,每个上述字包括相应于许多水平相邻象素的单个集的象素数据,而每个字被单独地编址,上述字被排列成瓦面形,每个瓦面包括相应于水平和垂直相邻象素的单个矩形子集的象素数据字行和列的阵列,上述随机存取存储器通过顺序地应用地址位的第一集,然后是其第二集依次编址,上述第二地址位集的第一子集可确定每个瓦面里哪一个象素字行已被编址,而上述第二地址位集的第二子集可确定每个瓦面里的那个象素字列已被编址,上述第一和第二地址位的全部其他位可确定那个瓦面正被编址;一种有选择地增加或减少地址位的上述第二集的上述第一子集的而不改变任何其他编址位的装置,这样,在所选择的瓦面行里的字就被依次编址;一种有选择地增加或减少地址位的上述第二集的上述第二子集而不改变任何其他地址位的装置,这样,在选择瓦面列里的字逐次被编址;一种当上述象素数据字被编址时,读出上述象素数据字的装置;以及一种存储被相继地读出的象素数据字,並输出所移位的象素数据字的装置。
14.正如权利要求
13所述的一种装置,其中上述存储装置包括用以接收和存储数据字的第一序列的第一装置,並以所接收时的同一顺序输出上述第一数据字序列;存储由上述第一装置输出的第二个到最后一个的数据字的装置;一种输出第二数据字序列的装置,它的每个字包括上述最后一个数据输出字和上述第二个到最后一个数据输出字所选择的位数;一种接收和存储数据字的上述第二序列的装置,並在被接收后输出。
15.用来存储和修改由象素行和列组成的屏幕图象的装置,每个如此的象素具有按照相应的象素数据进行控制的特征,上述装置的特征在于包括用于存储象素数据的随机存取存储器,上述象素数据被以字的形式存储在上述随机存取存贮器里,每个上述字包括相应于水平相邻象素的单个集的象素数据,而每个字均被分别编址,上述字被排列在各瓦面里,每个瓦面包括相应于水平和垂直相邻象素的单个矩形子集的象素数据字行和列的阵列,上述随机存取存贮器由顺序应用地址位的第一和第二集编址,上述第二地址位集的第一子集可确定每个瓦面里的哪个象素字已被编址,以及上述第二地址位集的第二个子集可确定每个瓦面里的哪个象素字列已被编址,上述第一和第二地址位的全部其他位可确定哪个瓦面正在被编址;一种当上述象素数据被编址时,能读出上述象素数据字的装置;一种存储依次地读出象素数据字,並输出所移位的象素数据字的装置;一种产生所修改的数据字的装置,它的每个位的状态由按照所选择的法则数据字的许多所加的输入字的相应位的集合状态所控制,上述装置为存贮现时输出字被作为一个上述输入数据字而加到上述产生装置中。
16.正如权利要求
15中所述的一种装置,其中上述产生装置包括许多多路器,每个这种多路器输出修改的数据字的单个位,对于和每个所加的输入数据字对应的位具有单个的开关控制输入,並且还有一个法则数据字输入,上述对应输入字位的集合状态可确定上述法则数据字的哪一位可控制多路器输出位的状态。
17.一种对数据字序列进行存储和移位的装置,它包括第一装置,用于接收和存储数据字的第一序列,並按它所接收时的顺序,输出上述第一数据字序列一种存储由上述第一装置输出的第二个到最后一个数据字的装置,一种输出第二数据字序列的装置,它的每个字包括上述最后数据输出字和上述第二个到最后一个数据输出字的所选位数的装置;第二种用来接收和存储数据字的上述第二序列,並以相同于接收时的顺序输出上述第二数据字序列。
18.正如权利要求
17中所述的一种装置,在那里,由上述第一装置对上述第一序列数据字进行上述存贮和上述输出,上述第二装置对上述最后一个数据字的上述存储和上述存储的上述输出以及上述第二数据序列均被与系统时钟脉冲所同步。
19.一种用来存储和修改由象素行和列组成的屏幕图象的装置,每个这种象素具有按照相应的象素数据控制的特征,上述装置包括用于存储象素数据的随机存取存储器(RAM),上述象素数据以字的形式存储在上述随机存取存储器里,每个上述字包括对应于多个水平相邻象素的单个集的象素数据,而每个字被单独地编址,上述字被排列在瓦面内,每个瓦面包括对应于水平和垂直相邻象素的单个矩形子集的象素数据字行和列的阵列,上述随机存取存贮器按顺序通过顺序地应用地址位的第一然后第二集而编址,上述第二地址位集的第一子集可确定每个瓦面里的哪个象素字行已被编址,上述第二地址位集的第二子集可确定每个瓦面里的哪个象素字已被编址,上述第一和第二地址位的所有其他位可确定哪个瓦面正在被编址;一种在不改变任何其他地址位的情况下,有选择地增加或减少地址位的上述第二集的上述第二子集,这样就使所选择的瓦面列里的字被依次编址;用来接收和存储数据字的第一序列的第一装置,並以相同于接收时的顺序输出上述第一数据字序列;存储由上述第一装置输出的第二个到最后一个数据字的装置;一种输出第二数据字序列的装置,它的每个字包括上述最后一个数据输出字和上述第二个到最后一个数据输出字的所选位数;用来接收和存储数据字的上述第二序列的第二装置,並以相同于接收时的顺序输出上述第二数据字序列;以及一种产生修改数据字的装置,它的每个位的状态,受和所选择的法则数据字对应的多个所加的输入字的对应位的集合状态所控制,为存贮上述装置的现时输出字,作为一个上述输入数据字而加在上述产生装置上。
20.正如权利要求
19中所述的一种装置,其中上述产生装置包括许多多路器,每个此种多路器可输出修改数据字的单个位,对和每个所加的输入数据字对应的位,具有单个开关控制输入,並且有法则数据字输入,上述对应输入字位的集合状态可确定上述法则数据字的哪一位可控制多路器输出位的状态。
21.正如权利要求
19中所述的一种装置,在那里由上述第一装置对数据字的上述第一序列的存储和上述输出,上述最后一个数据字的上述存储和上述存储的上述输出以及由上述第二装置的上述第二数据序列均被与系统时钟脉冲所同步。
22.一种存储和修改由象素行和列组成的屏幕图象的方法,每个这种象素具有按照相应随机存取存储器(RAM)所有的象素数据控制的特征,上述随机存取存储器通过地址的第一和第二集而被编址,上述方法的特征在于包括如下步骤a、把上述象素数据排列成字,每个上述字包括和若干水平相邻象素的单个集相对应的象素数据;b、把上述字排成瓦面,每个上述瓦面包括与水平和垂直相邻象素的单个矩形子集对应的字的行和列的阵列;以及c、把上述象素数据瓦面存储在随机存取存储器内,而使上述第二地址位集的第一个子集可确定在每个瓦面里的哪个象素字行已被编址,这样就使上述第二地址位集的第二子集可确定每个瓦面里的哪个象素字列已被编址,以及使上述第一和第二地址位集的其他位可确定哪个瓦面正被编址。
23.正如权利要求
22中所述的一种方法还包括如下步骤d、把地址位的上述第一集加在上述随机存取存储器内;e、为了存取所选择的字,把地址位的上述第二集加在上述随机存取存储器内;f、修改各地址位的上述第二集的上述第一或上述第二子集;g、为了存取同一行或列的下一个字作为上述选择字,在不改变各地址位的上述第一集的情况下,把各地址位的上述所修改的第二集重新加在上述随机存取存储器内。
24.正如权利要求
23中所述的一种方法,其中通过增加或减少来修改上述第一或上述第二子集。
25.正如权利要求
23中所述的一种方法还包括如下步骤h、当对上述所选择的字和上述下一个字存取时,就把它们读出;以及i、以读出的顺序来存储上述所选择的字和上述下一些字。
26.正如权利要求
25中所述的一种方法还包括如下步骤j、重新把地址位的另一个第一集和另一个第二集加在上述随机存取存储器内,而使上述RAM被以一个除从上述所选字被读出的地址以外的地址来存取;k、把上述所存储的选择字写入到上述其他的地址;l、修改地址位的上述第二集的上述第一或上述第二子集;m、为了在同一行或列里存取新的下一个字的地址作为上述选择字的上述其他地址,在不改变地址位的上述第一集的情况下,重新把地址位的上述修改的第二集加在上述随机存取存储器内;n、把上述存储的下一个字写入到上述新的下一个字的地址上。
27.正如权利要求
25中所述的一种方法还包括如下步骤j、修改上述所存储的选择字;k、重新把地址位的另一个第一集和另一个第二集加在上述随机存取存储器内,而使上述RAM被以一个除从上述所选字被读出的地址以外的地址来存取;l、把上述修改的选择字写入上述其他地址上;m、修改上述存储的下一个字;n、修改地址位的上述第二集的上述第一或上述第二子集;o、为了在同一行或列里存取新的下一个字地址作为上述选择字的上述其他地址,在不改变地址位的上述第一集的情况下,重新把地址位的上述修改的第二集加在上述随机存取存储内;p、把上述存储的下一个字写入上述新的下一个字的地址上。
28.正如权利要求
27中所述的一种方法,其中上述修改的选择字包括来自上述选择字和上述下一个字的位。
专利摘要
帧缓冲存贮器具有一种随机存取存贮器(RAM)用以存储对应于屏幕显示的水平光栅线上许多象素的单个的数据字。该RAM被排成瓦面形,每个瓦面是由编上地址的象素数据字的行和列的阵列所组成,以便快速读出和写入对应于显示象素相邻行或列的象素数据序列。该RAM由行到地址来寻址。列地址的第一子集确定哪一个象素字行被编址。而第二子集确定哪一个象素字列被编址。行列地址的其余位确定哪一个瓦面被编址。通过增加到地址的子集,RAM允许相应于象素的连续行列进行顺序的快速读写。
文档编号G06T3/00GK86102358SQ86102358
公开日1986年10月1日 申请日期1986年4月5日
发明者戴维·L·尼里姆 申请人:特克特朗尼克公司导出引文BiBTeX, EndNote, RefMan
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1