光栅操作设备的制作方法

文档序号:6407353阅读:257来源:国知局
专利名称:光栅操作设备的制作方法
技术领域
本发明涉及一种用于在信息处理设备的显示器上以高速绘制显示数据的光栅操作设备,尤其涉及一种用于当综合并显示窗口等时以高速执行绘制算术运算的光栅操作设备。
迄今为止,在信息处理设备的CRT显示器的窗口综合显示等中,设置有光栅操作设备,用以产生关于两个显示数据的重叠部分的新的显示数据。如

图1左侧所示,现假设源窗口202和目的窗口204存储于帧存储器200中。如图1右侧所示,将源窗口202移至目的窗口204的位置并与之综合时,必须产生关于这两个窗口的重叠区域206的新数据。由具有图2的硬件结构的光栅操作设备执行用于该目的的一种算术运算。
帧存储器200存储由地址(X,Y)指明的象素数据。在黑白显示的情形下,因为每个象素足以用一位构成,所以一个象素数据对应于一位。另一方面,在彩色显示的情形下,每个象素数据由24位的数据构成,例如,R、G和B数据的每一个由8位组成。为解释简便,现假设进行黑白显示,并且每个象素对应一位作为示例。
图2中,光栅操作设备包括一个具有源寄存器210-1和210-2的源数据存储部分;一个移位器212;一个位操作部分215;一个目的寄存器216;以及选择器208和214。移位器212从源寄存器210-1和210-2并行接收源数据,并且对源数据仅循环移位指定的位数,因而按照源数据单元产生移位输出S1和S2。具有地说,移位器212由一个门开关网络构成,该门开关网络在输入位串和输出位串之间按照位单元执行切换控制,并起到一种多种转换器的作用。位操作部分214利用诸如与、或、异或等类似的位算术运算将源数据重叠到目的数据上,因而产生新的目的数据。源寄存器210-1和210-2以及目的寄存器216都是16位宽。移位器宽度为32位。每个移位输出S1和S2是16位宽。因此,具有32位宽度的移位器212的0至15位作为移位器212的移位输出S1,16至31位作为移位输出S2。
图3示出了图2中的光栅操作设备的操作。现在请注意源窗口202的首区域。在该部分中,源数据D1、E1、F1和G1分别按照边界单元存储,边界单元作为帧存储器200的物理存储单元。一个边界单元的宽度为16位。注意目的窗口204的首区域,目的数据D2、E2、F2和G2同样按照边界单元存储。
现在考虑将首源数据D1重叠到目的数据D2的光栅操作。图4示出了源数据D1被原样移动并重叠到目的数据D2时的一种状态。因为该情形下的数据处理是按照边界单元执行的,所以存在一种可能性使得在源数据D1和目的数据D2之间的16位宽的边界中存在位偏差。在图4情形中,存在7位的偏差。于是,在光栅操作中,需要通过将图4中的源数据D1仅向右移7位产生图5所示的移位数据S1,从而使位位置与目的数据D2匹配。这样的位移位过程由图2中的移位器212执行。
图6示出了当源数据如图5所示移位7位时移位器212的一种功能。输入位串218总宽32位,包括来源寄存器210-1的16位宽的输出数据以及来自源寄存器210-2的16位宽的输出数据。输入位串218由一组内部门开关的切换连接操作右移7位而成为输出位串220。即,输入位串218中来自源寄存器210-1的0-15位被移位到输出位串220中的7-22位。同时,输入位串218中的来自源寄存器210-2的0-5位中的9个位被移位到输出位串220的23-31位,并且其余6位循环到输出位串220的左侧成为0-6位。如果在移位器212中事先识别到7位移位的这样一种切换连接状态,则仅仅通过将源数据顺序存储到源寄存器210-1和210-2,即可以硬件方式获得经过7位移位的源数据。
图7至10示出了当源数据D1、E1、F1和G1从图3的帧存储器200中的源窗口202中顺序读出并送至图6中已设置到7位移位状态的移位器212的情形下的移位操作。在图2的光栅操作设备中,当选择器208已被切换到源寄存器210-1侧,并且源数据D1在第一周期中从帧存储器200中首先读出,则源数据D1通过选择器208存储到源寄存器210-1。在第二周期中,目的数据D2从帧存储器200中读出并存储到目的寄存器216。在第三周期中,如图7所示,存储于源寄存器210-1的源数据D1经过移位器212,以便形成经过7位移位的输出位串。该例中,选择器214选择移位输出S1,位操作部分215获取移位数据S1和目的数据D2并执行预定的位算术运算以产生新的目的数据D3。在同一第三周期中,来自位操作部分215的目的数据D3被写入帧存储器200中的目的数据D2的位置。
选择器208相继被切换到源寄存器210-2侧,从帧存储器200读取源数据E1并存储。然后,将目的数据E2存储到目的寄存器216。该情形下,移位器212对源数据E1进行移位,如图8所示,选择器214选择移位数据S2,位操作部分215利用目的数据E2执行位算术运算,形成新的目的数据E3,并将之写入帧存储器200。
然后,选择器208被切换到源寄存器210-1侧,从帧存储器200读取源数据F1并存储。接着,将目的数据G2存储到目的寄存器216。该情形下,移位器212对源数据F1进行移位,如图9所示。移位器214选择移位数据S1。位操作部分215利用目的数据F2执行位算术运算,形成新的目的数据F3,并将之写入帧存储器200。
再者,选择器208被切换到源寄存器210-2侧,从帧存储器200中读取源数据G1并存储。然后,将目的数据G2存储到目的寄存器216。该情形下,移位器212对源数据G1进行移位,如图10所示。选择器214选择移位数据S2。位操作部分215利用目的数据G2执行位算术运算,形成新的目的数据G3,并将之写入帧存储器200。
除了综合源数据和目的数据的方式之外,图2中的光栅操作设备还具有一种仅仅在存储器中移动源数据位置的方式。每一种方式都可通过OP代码(操作代码)任意指定。在仅移动源数据的方式下,用于从帧存储器200读取目的数据并存储到目的寄存器216的周期被忽略了,通过允许源寄存器210-1或210-2的源数据通过移位器212,对源数据进行移位,移位位数相应于在移动目的侧的位偏差,位操作部分215执行位算术运算,用于照原样产生或转换已移位的源数据,并作为新的目的数据而产生。
图11的时序图示出了在帧存储器200中仅移动源数据D1、E1、F1和G1而没有任何目的数据的情形。首先,在T1周期读源数据D1。在T2周期得到源寄存器210-1的输出。在T2周期中,由选择器214提供移位数据S1并送到位操作部分215。位操作部分215不利用任何目的数据执行位算术运算,产生新的目的数据D3,并写入帧存储器200。在下一周期T3中,读取已写入帧存储器200的新目的数据D3,并在CRT上显示。
在T3周期中,读取下一源数据E1。在T4周期中,得到新的目的数据E3,作为位操作部分215的输出,并写入帧存储器200。以与上述相同的方式,对源数据F1和G1执行如T5至T9周期所示的处理。
然而,在这样一种常规光栅操作设备的操作中,完成了位算术运算之后,在例如每个T2、T4、T6和T8周期(其间新的目的数据正被写入存储器)中读取下一边界的源数据时,来自移位器212的正确移位输出被中断。这样,中断了正被写入存储器的新的目的数据。因此,在完成在每个T2、T4、T6和T8周期中,在存储器访问中产生一个空闲状态222,并且因为该空闲状态的产生而使处理速度变慢,以致不能高速执行光栅操作。
根据本发明的光栅操作设备能够高速执行光栅操作,而在光栅操作期间不在存储器访问中产生空闲状态。本发明的光栅操作设备将存储于用于传送的帧存储器中的窗口等的源数据移动至存储于用于显示的帧存储器中的窗口等的目的数据的位置处,并与之综合。本发明还包括在用于传送的帧存储器或用于显示的帧存储器中,在移动目的侧将源数据综合到目的数据的情形。
数据从帧存储器读出或写入帧存储器,此时利用了预定的存储区,该区是由物理分割帧存储器,意即分界为一个处理单元而获得的。例如,在与位相应的黑白象素数据的情形中,一个边界的宽度为16位。在RGB彩色象素数据的情形中,一个象素数据由24位组成,一个边界宽度为16个象素,以位表示则为384位宽。现假设源数据的存储区设为第一存储区,目的数据的存储区设为第二存储区。
光栅操作设备包括一个第一寄存器部分、一个第二寄存器部分、一个移位部分、两个位算术运算部分以及一个控制部分。第一寄存器部分接收并保持至少四个边界的源数据,它们是从第一存储区按照边界单元顺序读出的。第二寄存器部分接收并保持至少两个边界的目的数据,它们是从第二存储区按照边界单元顺序读出的。移位部分并行接收保持在第一寄存器部分每个边界的源数据,并对源数据进行移位以使之与目的数据的边界的起始位置一致,并按照边界单元并行产生移位后的数据。两个位操作部分轮流获取从移位部分产生的特定边界的源数据以及对应于源数据的在第二寄存器部分的目的数据,执行预定的位算术运算并产生新的目的数据。与将源数据输入并保持在第一寄存器部分的操作以及将目的数据输入并保持在第二寄存器部分的操作相并行的是,控制部分允许两个位操作部分通过从移位部分获取源数据以及从第二寄存器部分获取目的数据而交替地执行位算术运算。
更详细地说,第一寄存器部分具有第一至第四寄存器,能够顺序接收和保持4个单元源数据D1、E1、F1和G1。第二寄存器部分具有第一和第二目的寄存器,能够顺序接收和保持两单元目的数据D2和E2以及两单元目的数据F2和G2。再者,控制部分在初始阶段处理之后执行其后的第一至第四阶段处理。在初始阶段处理中,提供第一源数据D1并将之保持在第一源寄存器中,提供第一目的数据D2并将之保持在第一目的寄存器中。
在第一阶段处理中,当第一源寄存器的源数据D1由移位部分移位,并从其产生移位输出,以及由两个位操作部分之一将以上移位输出同第一目的寄存器的目的数据D2一起进行位操作时,并行于位算术运算,提供源数据E1并将之保持在第二源寄存器中,以及提供目的数据E2并将之保持在第二目的寄存器中。
在第二阶段处理中,当第二源寄存器的源数据E1由移位部分移位,并从其产生移位输出,以及由另一位操作部分将以上移位输出同第二目的寄存器的目的数据E2一起进行位操作时,并行于位算术运算,提供第三源数据F1并将之保持在第三源寄存器中,以及提供第三目的数据F2并将之保持在第一目的寄存器中。
在第三阶段处理中,当第三源寄存器的源数据F1由移位部分移位,并从其产生移位输出,以及由两个位操作部分之一将上述移位输出同第二目的寄存器的目的数据F2一起进行位操作时,并行于位算术运算,提供第四源数据G1并将之保持在第四源寄存器中,以及提供第四目的数据G2并将之保持在第一目的寄存器中。
在第四阶段处理中,当第四源寄存器的源数据G1由移位部分移位,并从其产生移位输出,以及由两个位操作部分之一将上述移位输出进行位操作时,并行于位算术运算,提供第五源数据D1并保持在第四源寄存器中,以及提供第五目的数据D2并保持在第一目的寄存器中。此后重复上述第一至第四阶段处理。
移位部分分别在两级中移位并产生源数据。为此,移位部分具有第一移位部分、第一移位部分和移位控制部分。现假定由源数据的一个边界的数据个数所决定的最大移位量设为(m+n),则第一移位部分在对输入的源数据每0,1…,(m-1)个数据的数据位置进行循环时选择并产生每一个移位后的数据串。第二移位部分接收自第一移位部分选择并提供的数据串,并且在按照一个m单元每0,(1×m),…,{(n-1)×m}个数据对输入的源数据的数据位置进行循环时,选择并产生每一个移位后的数据串。移位控制部分按照源数据的移位量对每个第一和第二移位部分的数据串的选择操作进行控制。
例如,在一个边界的数据量(=16)所确定的最大移位量(m+n)=16被分为两级(m=4且n=4)且对源数据进行移位时,第一移位部分在对输入的64个源数据的数据串每0,1,2和3个数据对输入的64个源数据的数据位置进行循环时,选择并产生每一个移位后的数据串。第二移位部分在对由第一移位部分选择并提供的64个数据串按照4数据单元对每0,4,8和12个数据的数据位置进行循环时,选择并产生每一个移位后的数据串。
再者,假设源数据的移位量的二进制数指示设为(A3,A2,A1,A0)时,则移位控制部分级对四位的二进制数进行解码,并获得十进制数的移位量0,1,2和3的每一个的第一解码输出指示,以及移位量0、4、8和12的每一个的第二解码输出指示。移位控制部分允许第一移位部分利用第一解码输出选择相应于移位量的数据串,并且允许第二移位部分利用第二解码输出选择相应于移位量的数据串。
在彩色显示情形下,由帧存储器的边界单元决定的源数据和目的数据的一个处理单元是由预定数目的象素数据构成的。该情形下的一个象素数据是由指示色彩成分的多个位构成。例如,一个象素数据由24位构成,其中每8位代表R、G、B之一。另一方面,在黑白显示情形下,因为一个象素对应一位,则源数据和目的数据的一个处理单元被设为预定的位宽,例如16位。
位操作部分执行每一个源数据和目的数据的“与”、“与非”“或”、“或非”、“异或”和“异或非”运算。另外,也能够利用对每一个源数据和目的数据做“非”运算而获得的值执行“与”和“或”的算术运算。由位操作部分计算出的新的目的数据被写入第二存储区。由位操作部分计算出的位串也能够作为读数据提供并由CRT显示。
如上所述,本发明的光栅操作设备甚至在完成位算术运算之后的存储器写操作期间也能够并行读取源数据,并在存储器访问中不出现空闲状态。因此,光栅操作能够高速执行,显示数据能够高速绘制,并且信息处理设备的性能得以改进。
本发明的上述以及其他目的,特征和优点在以下结合附图的详细说明之后将会更加明显。
图1是利用常规光栅操作在帧存储器中综合窗口的解释图;
图2的框图示出了常规的光栅操作设备;
图3的解释图示出了源数据、目的数据以及作为帧存储器处理单元的边界之间的关系;
图4是在按照边界单元读出的源数据被原样综合到目的数据的情形下的解释图;
图5是在按照边界单元读出的源数据经过移位之后而综合到目的数据的情形下的解释图;
图6的解释图示出了已建立了对源数据进行行7位移位的连接状态的移位器的功能;
图7的解释图示出了第一源数据的输入及其移位输出;
图8的解释图示出了第二源数据的输入及其移位输出;
图9的解释图示出了第三源数据的输入及其移位输出;
图10的解释图示出了第四源数据的输入及其移位输出;
图11的时序图示出了在仅移动源数据的情形下的常规光栅操作;
图12是应用本发明的三维图形绘制设备的框图;
图13的框图详细示出了图12的绘制运算机制;
图14是三维帧存储器的解释图;
图15是彩色象素数据的解释图;
图16是应用本发明的另一三维图形绘制设备的框图;
图17的框图示出了本发明的光栅操作设备的一个实施例;
图18A、18B、18C和18D是根据本发明的处理方式的解释图;
图19的框图示出了本发明的移位器的一个实施例;
图20的线路框图示了图19中的移位控制部分的一个实施例;
图21的线路框图示出了图19中的第一和第二移位部分的细节;
图22的线路框图示出了图19中第一级的“与”电路的细节;
图23的解释图示出了用于对第一和第二移位部分的控制信号进行组合的移位量;
图24的解释图示出了移位量,4位移位量信号和64位串之间的关系;
图25的解释图示出了位操作部分的一个操作方式;
图26的时序图示出了在不存在目的数据时从用于传送的帧存储器发送源数据至用于显示的帧存储器的情形下的操作;
图27的时序图示出了源数据从用于传送的帧存储器发送至用于显示的帧存储器并综合到目的数据的情形下的操作;
图28的时序图示出了在不存在目的数据时源数据在用于显示的帧存储器中移动的情形下的操作;
图29的时序图示出了源数据在用于显示的帧存储器中移动并综合到目的数据的情形下的操作。
图12的框图示出了在二维绘制机制中利用本发明的光栅操作设备的情形下的一个三维绘制系统的一个单元的结构。必要时设置多个这样的单元。CPU11和主存储单元12设置在整体控制部分10。整体控制部分10经过主机适配器14连接到主计算机。三维物体的绘制命令和图形数据指示由主计算机经过主机适配器14送至整体控制部分10。在整体控制部分10之后,经过数据输入部分13连接有绘制处理机制18。绘制处理机制18在其内具有例如32个数字信号处理器并构成8条并行的流水线或一个5维超立方体,并行执行绘制处理算述运算。意即,绘制处理机制18的8条流水线为图形数据设置视点和光源作为构成三维模型的象素集,并执行诸如坐标计算、剪取、色彩计算及类似计算的几何变换,以及利用基于软件的程序控制设置线段信息作为绘制的预处理,并发展为每个象素线段数据。绘制处理机制18的8个算术运算结果经过并行数据分布机制20发送至三维绘制机制22。利用FIFO存储器的数据传送设备设置在并行数据分布机制20中,分布由绘制处理机制18的并行流水线异步产生的绘制数据并将之传送至下一级的三维绘制机制22。
三维绘制机制22接收已经形成为每多边形线段数据的绘制数据并获得象素(这些象素可以通过插值计算而填充起始点和结束点之间的区间),以及将象素数据映射到三维帧存储器中。三维绘制机制22还执行对每个象素的混合、隐含图象擦除或类似操作,并将处理过的象素数据映射到三维帧存储器中。绘于三维绘制机制22的三维帧存储器中的数据经过深度数据控制机制24传送到二维绘制机制30,并作为二维图象数据显示到彩色显示器32上。如下文明显解释的,本发明的光栅操作设备用于二维绘制机制22。另外,绘制处理机制18、三维绘制机制22以及二维绘制机制26通过系统总线16连接到整体控制部分10,并由整体控制部分10而受绘制数据的管理。除了绘制数据的管理之外,整体控制部分10的CPU11通过系统总线16直接访问二维绘制机制26,因而执行窗口控制。在窗口控制中,本发明的光栅操作设备起作用。
图13示出了图12中的三维绘制机制和二维绘制机制。为三维绘制机制22设置了8个绘制处理单元32-1至32-8以及一个三维帧存储器34。在绘制数据(已形成为构成象素的线段并由数据分布机制20发送)的基础上,绘制处理单元32-1至32-8并行执行对能够填充线段的起点和终点之间间隔的象素的插值计算。与多个图象平面一样多的存储区准备作为一个三维帧存储器34。例如,为RGB象素数据准备了两个存储区,为二缓冲区准备了两个存储区,并且为一个处理模式的存储和处理准备了8个存储区。由绘制处理单元32-1至332-8进行插值计算而得的象素数据通过显示坐标值(X,Y)的地址目的绘制到三维帧存储器34内的RGB区。同时,每象素的深度坐标值Z被存储到帧存储器34内的Z缓冲区。
如图14所示,绘制处理单元32-1至32-8同时访问帧存储器34中的矩形区域35-1到35-n内的任意位置,每个矩形区域包括横向的16个象素X纵向的8个象素,从而同时绘制128个象素的数据。图15表示绘制于图14的帧存储器34中的象素数据45。在一个象素数据45中,例如R、G和B数据的每一个都可以用四位数据表示,并且在RGB空间中可以表示共区4096种颜色。此外,还提供了作为附加信息的四位透光度α。在三维帧存储器的情况下,深度坐标值Z存入作为分开提供的Z缓冲器的存储区中。
再次参看图13,三维绘制机制22的三维帧存储器34中绘制的三维图象数据以彩色显示器28的一显示帧速率被传送至二维绘制机制26。二维绘制机制26具有用于存储从三维绘制机制22传送来的图象数据的传送帧存储器36;以及用于允许通过显示控制部分40在彩色显示器28上显示帧内容的显示帧存储器38。此外,还为传送帧存储器36和显示帧存储器38提供了根据来自整体控制部分10的窗口控制而执行光栅操作的光栅操作单元42。光栅操作单元42受整体控制部分10的控制,并将窗口作为源数据存入传送帧存储器36。当窗口由彩色显示器28显示时,窗口通过光栅操作被写入显示帧存储器38,并且读出写入显示帧存储器38的数据,并由彩色显示器28显示。与图14所示的三维帧存储器34的方式类似,对传送帧存储器36和显示帧存储器38而言,作为从帧存储器读出数据或向其写入数据的物理访问单元,X地址方向上的16个象素被置入一个处理单元,即一个边界单元,并且进行读或写操作。因此,光栅操作单元42也按照边界单元即16象素单元从传送帧存储器36读出数据或向其写入数据。在彩色显示中,光栅操作单元42处理R、G和B数据的总共24位数据,每种数据由作为一个象素数据的8位构成。然而,在本发明的光栅操作设备的实施例中(该实施例将于下文详述),为简便起见,以黑白显示为例予以说明。在黑白显示中,由于一个象素可以用一位表示,所以1象素=1位。因此,图14所示的帧存储器的一个物理处理单元被设置为在X地址方向上具有16位宽的边界单元。
当存储在三维帧存储器34中的图象数据与来自另一单元的图象数据综合,并且综合的数据传送给二维绘制机制26时,深度数据控制机制24根据每一图象数据的深度坐标值(Z)进行组合处理。
图16表示应用本发明的光栅操作设备的三维图形绘制设备的另一侧。在三维图形绘制设备中,,由CPU44通过程序处理对每个象素执行图12的设备中的绘制处理机制18的处理过程。针对一个象素得到的一组线段数据被传送至三维绘制机制50。三维绘制机制50具有图13所示的绘制处理单元32-1至32-8中之一的功能,并且根据CPU44给出的线段数据做插值计算,从而对内置三维帧存储器做映象处理。其中已经存有程序等的ROM46和可重写DRAM48与CPU44的总线52相连。与图13的情形相似,三维绘制机制50之后的二维绘制机制26包括用于传送的帧存储器36,用于显示的帧存储器38,显示控制部分40,以及光栅操作单元42。图16所示的三维图形绘制设备是一个简化的设备,具有图12所示的8个并行处理功能的设备的一个系统的处理性能。
图17表示在图13和16中的二维绘制机制内提供的光栅操作单元42。本实施例以黑白象素数据为例作为象素数据,存储于传送帧存储器36和显示帧存储器38,并且一个象素对应一位。因此,作为帧存储器36和38的一个物理处理单元的边界单元,在X地址方向上被设置为16位宽。
光栅操作设备在选择器54之后还有构成第一寄存器部分56的四个源寄存器56-1,56-2,56-3和56-4。每个源寄存器56-1至56-4具有16位宽。第一寄存器部分56之后是移位器60。移位器60接收16位的并行输出,即来自第一寄存器部分56中的四个源寄存器56-1至56-4的总共64位并行输出。移位器60仅通过移位量对输入的64位源数据循环移位,以便使位起始位置与当前目的数据匹配,并根据每个移位串(S1)、(S2)、(S3)和(S4)的16位单元产生经移位的数据。在移位器60之后,经过选择器62和64提供具有两个位操作单元66-1和66-2的位操作部分66。
另一方面,提供了用于读出和保持作为源数据的综合目的侧的目的数据的第二寄存器部分70。第二寄存器部分70具有两个目的寄存器70-1和70-2。每个目的寄存器70-1和70-2具有16位宽,与已经存有目的数据的帧存储器的边界单元相对应。
选择器62交替地选择移位输出S1和S3,S1是移位器60的(00)至(15)位,S3是(32)至(47)位,并将它们送至位操作单元66-1。选择器64交替地选择移位输出S2和S4,S2是移位器60的(16)至(31)位,S4是(48)至(63)位,并将它们送至另一位操作单元66-2。目的寄存器70-1的输出送至位操作单元66-1,并且与通过选择器62得到的移位输出S1或S3一起进行位算述运算。另一位操作单元66-2对通过选择器64得到的移位输出S2或S4以及来自目的寄存器70-2的目的数据进行位算术运算。
由选择器72选择位操作单元66-1和66-2的一个输出,产生新的目的数据,并且写入传送目的侧的帧存器或直接在CRT上显示。
整体时序控制或光栅操作设备是由控制部分55来实现控制的。控制部分55访问帧存储器,并根据与光栅操作关联的窗口控制,通过作为主设备的整体控制部分10控制选择器、寄存器和位操作单元。在光栅操作中,控制部分55得到以下控制数据Ⅰ.源窗口的起始地址(Xss,Yss)Ⅱ.源数据区的大小(Lx,Ly)Ⅲ.目的窗口的起始地址(Xds,Yds)Ⅳ.设置窗口传送模式1至4Ⅴ.设置位操作模式1至16光栅操作中的传送模式1至4如图18A至18D所示。图18A表示传送模式1,其中传送帧存储器36中的源窗口74被传送到显示帧存储器38中的相对不同位置,并作为新的目的窗口76予以存储。在传送模式1中,作为传送目的侧的显示帧存储器中没有目的窗口存在。图18B表示传送模式2,其中传送帧存储器36中的源窗口74作为新的目的窗口76,以类似于图18A的方式被传送至显示帧存储器38,在这种情况下,目的窗口82存在于传送目的侧的显示帧存储器38中的窗口传送目的侧。图18C表示传送模式3,在这种情况下,源窗口86仅在显示帧存储器38中移动,从而得到新的目的窗口88。在本例中,不存在目的数据。此外,图18D表示传送模式4,其中源窗口86同样在显示帧存储器38中移动,从而得到新的目的窗口。然而,在这种情况下传送目的侧存在目的窗口94。除了图18C和18D所表示的传送模式3和4之外,也能够仅在传送帧存储器36中移动窗口,并且根据有无目的窗口而增加模式5或6。
在图17中,根据所得到的控制数据中的源窗口起始地址(Xss,Yss)和目的窗口起始地址(Xds,Yds),控制部分55产生4位移位量数据(A,A2,A1,A0)的移位量△X,并送至移位器60,从而建立一种移位变换状态。如图18A和18C的传送模式1和3所示,两个源窗口74和86以及目的窗口76和88都是矩形窗口,因此足以无条件地从源窗口的起始点78和90以及目的窗口的起始点80和92确定位移量△X,并将之置入移位器60。然而如图18B和18D所示,在这种情况下,例如源窗口74和86是矩形窗口而目的窗口82和94是圆形窗口,目的窗口82和94侧的位起始位置在每条水平线上都是不同的,因此每次都要计算位移量△X,并将其置入移位器60。
图19表示图17中的移位器60的一个实施例。移位器60通过第二移位器部分98进行第一级移位,通过第二移位器部分100进行第二级移位,从而实现最大宽度为16位的移位。第一和第二移位器部分98和100的移位量受移位器控制部分102的控制。以16位宽为单位从第二移位器部分100产生移位输出S1至S4,并通过选择器62和64送至位操作单元66-1和66-2。64位串作为前级的四个源寄存器56-1至65-4的并行输出送至第一移位器部分98。根据来自移位器控制部分102的每一个移位控制信号B1、B2和B3(它们大于B0),第一移位器部分98有选择地产生并行输入的64位串的0位移位、1位移位、2位移位和3位移位。第二移位器部分100接收来自第一移位器部分98的64位串,并根据来自移位器控制部分102的移位控制信号B00、B04、B08和B12中的每一个产生0位移位、4位移位、8位移位和12位移位之一。四位的移位量数据(A3至A0)送至移位器控制部分102。
图20表示图19中的移位器控制部分102的细节。作为移位量数据(A3至A0)的较低两位(A1,A0)的解码结果得到第一移位器部分98的移位控制信号(B0至B3)。即,将移位量数据的较低两位(A1,A0)变成送至第一移位器部分的移位控制信号(B0至B3)的解码过程是通过由反相电路104和106以及“与”电路112、114、116和118构成的解码电路实现的。这就是说,当(A1,A0)=(0,0)时,移位控制信号(B0)有效。当(A1,A0)=(0,1)时,移位控制信号(B1)有效。当(A1,A0)=(1,0)时,移位控制信号(B2)有效。当(A1,A0)=(1,1)时,移位控制信号(B3)有效。换句话说,移位控制信号(B0)表示所选的移位量为0。移位控制信号(B1)表示所选的移位量为1。移位控制信号(B2)表示所选的移位量为2。移位控制信号(B3)表示所选的移位量为3。另一方面,通过对移位量数据(A3至A0)的较高两位(A3,A2)解码得到送至第二移位器部分100的移位控制信号(B00),(B04),(B08)和(B12)。解码电路包括反相器108和110以及“与”电路120、122、124和126。这就是说,当(A3,A2)=(0,0)时,表示移位量为0的移位控制信号(B00)有效。当(A3,A2)=(0,1)时,表示移位量为4的移位控制信号(B04)有效。当(A3,A2)=(1,0)时,表示移位量为8的移位控制信号(B08)有效。当(A3,A2)=(1,1)时,表示移位量为12的移位控制信号(B12)有效。
图21表示图19所示的第一和第二移位器部分98和100的细节。首先,第一移位器部分98包括“与”电路128、130、132和134以及“或”电路136。每个电路方框中的数字“64”表示实际设置的“与”门或“或”门的数目。例如,在“与”电路128中,实际的电路具有64个“与”门128-1至128-64,如图22所示。
具有作为前级四个源寄存器的并行输出的(63)至(00)位数组的64位数据直接作为位串数据D1送至第一移位器部分98的“与”电路128。当表示移位量为0的移位控制信号(B0)有效时,位串数据D1直接经“或”电路136送至第二移位器部分100。
向较低位方向偏移一位的64位位串数据(D2)送至并行的下一个“与”电路130。即通过向较低位侧移动一位数据而使最有效位设置为(00)位。接下来,具有(63)至(01)位数组的64位位串数据(D2)送至“与”电路130。向较低位侧移动两位的位串数据(D3)送至下一个“与”电路132。各位是按照从高位计起的次序(01),(00)以及(63)至(02)顺序排列的。向较低位方向移动三位的位串数据(D4)送至“与”电路134。在这种情况下,从高位侧计起的64位的排列顺序是(02)至(00)以及(63)至(03)。当移位控制信号B1、B2或B3有效时,“与”电路130、132或134分别将经过输入连接移位的位串数据D2、D3或D4通过“或”电路136送至下一级中的第二移位器部分100。
第二移位器部分100根据移位输出(S1)至(S4)分为四组,每组的结构与第一移位器部分98的结构基本相同。即对最高移位输出(S4)来说,该组是由“与”电路138、140、142和144以及“或”电路170构成的。对第二移位输出(S3)来说,该组是由“与”电路146、148、150和152以及“或”电路172构成的。对第三移位输出(S2)来说,该组是由“与”电路154、156、158和160以及“或”电路174构成的。对第四移位输出(S1)来说,该组是由“与”电路162、164、166和168以及“或”电路176构成的。如框中的数字16所示,第二移位器电路100中的“与”电路和“或”电路实际上是由16个“与”和16个“或”门构成的。
现在说明按移位输出(S1)至(S4)分组的每个电路部分。请注意根据最低的移位输出(S1)提供的四个“与”电路162、164、166和168以及“或”电路176。“或”电路176的移位输出(S1)具有输出位串的(15)至(00)的16位的宽度。首先由表示移位量为0的移位控制信号(B00)使第一“与”电路162的门打开。来自第一移位器部分98的输入位串(15)至(00)直接送至第一“与”电路162。由表示移位量为4的移位控制信号(B04)使下一个“与”电路164的门打开。输入位串的输出位串(“或”电路136)中的(19)至(04)(它们向较低位方向移动了四位)被送至“与”电路164。由表示移位量为8的移位控制信号(B08)使第三个“与”电路166的门打开。对于64位位串向较低位方向移动了八位的位位置(23)至(08)被送至“与”电路166。此外,由表示移位量为12的移位控制信号(B12)使第四个“与”电路168的门打开。在64位的输入位串中向较低位方向移动十二位的位位置(27)至(12)被送至“与”电路168。
对应于其余移位输出(S2)至(S4)的电路部分的结构与上述结构基本相同。对应于(16)至(31)位、(32)至(47)位以及(48)至(63)位的数组的输入位串设置的移位量为0。顺序移动4位、8位和12位的输入位串送至相应的“与”电路。在最有效的移位输出(S4)的“与”电路138、140、142和144中,向较低位方向移动0、4、8和12位的输入位串的地方形成了空位部分。然而,在移位输出(S1)侧由移位处理溢出的位被循环送至空位部分。第二移位器部分100之后是实现选择器64的多路转换器178,与图7中实现选择器62的多路转换器180类似。多路转换器178有选择地产生每一个移位输出(S1)至(S4),这些移位输出在其移位后都有16位宽。
图23表示图21的第一和第二移位器部分98和100的移位控制信号之间的关系,以及通过两级移位处理实现的移位量。即最终的移位量可以通过第一移位器部分的每个控制信号(B0至B3)和第二移位器部分的每个控制信号(B00,B04,B08,B12)的组合来实现。例如,当第一级的移位控制信号(B0)有效时,表示移位量为O。在第二移位器部分,当同样表示移位量为0的控制信号(B00)有效时,两个移位量相加(0+0=0),因此得到移位量为0。当第一移位器部分的控制信号(B1)有效以及第二移位器部分的控制信号(B08)有效时,由于第一移位部分的移位量为1,第二移位器部分的移位量为8,所以实现的移位量为(1+8=9)。这样,通过第一和第二移位器部分的控制信号的组合,就可以实现对应于作为帧存帧器的边界单元的16位宽的0至15的移位量。
图24表示移位量、4位移位量数据(A3至A0)以及64位串之间的关系,64位串是根据这些数据由移位器60移位而产生的。如上所述,作为64位串移位处理的结果,在较低侧实际确定的位置上的具有16位宽的数据作为移位输出(S1)至(S4)被有选择地取出。
图25表示由图17的位操作单元66-1和66-2执行的16种位算术运算。任一种位操作模式都可以由四位操作码(0000)至(1111)随意指定。当目的数据假定为(D)而源数据假定为(S)时,位算术运算的内容主要可分为“或”运算,“与”运算和“异或”运算。“非”运算也包括在每种逻辑运算中。此外,关于“与”和“或”,还有用到D或S的反相值的情况。另外也有这样的模式,即源数据S或目的数据D直接产生或经反相后产生。在操作码为(0000)的情况下,所有的输出数据都置0。在操作码为(1111)的情况下,所有的输出数据都置1。在本例中,由于存储器操作设置为写操作(W),所以所有的0数据或所有的1数据被写入存储器。此外,关于16种操作模式,对帧存储器的每一种写入操作W或读出操作R都可以如右端所示那样来指定。
图26中的时序图表示图18A所示传送模式1的光栅操作。即传送模式1是指这样一种情况,虽然源数据从传送帧存储器向显示帧存储器传送,但是在移动的目的侧不存在目的数据。首先,在T1周期,从传送帧存储器读出第一源数据(D1),并将其存入源寄存器56-1。在下一周期T2,选择选择器62和位操作部分66-1的输出,并且来自寄存器56-1的源数据(D1)经过移位器移位,之后,通过选择器62向位操作部分66-1输送作为移位数据(S1)的经移位的数据。在这种情况下,由于不存在目的数据,所以对源数据仅执行预定的位操作,并且产生作为位操作部分66-1的输出值的新的目的数据(D3),并将其写入传送移动目的侧的显示存储器。当新的目的数据(D3)正被写入存储器时,在T2的后半周期读出下一个源数据(E1)。与上述方式相类似,对第二源数据(E1)、第三源数据(F1)和第四源数据(G1)进行类似的处理。从T3周期开始,顺序读出写入显示存储区的新的目的数据(D3)、(E3)、(S3)和(G3),并在CRT上显示。
在本发明光栅操作中,当通过位操作部分获得的新的目的数据正在被写入存储器时,下一个处理的源数据可以被并行读出。在存储器访问中没有空闲周期。
图27的时序图表示图18B所示传送模式2的光栅操作。在这种情况下,传送移动目的侧的显示帧存储器中存在目的数据。首先,在T1周期,第一源数据(D1)送至源寄存器56-1。在下一个周期T2,从显示帧存储器中读出对应于源数据(D1)的目的数据(D2),并将其存入目的寄存器70-1。在T2周期,还从传送帧存储器读出第二源数据(E1),并将其存入源寄存器56-2。在T2周期,选择器62还选择源寄存器56-1的源数据,并通过移位器产生移位数据(S1)。
在T3周期,来自选择器62的移位数据(S1)和来自目的寄存器70-1的目的数据(D2)被送至位操作部分66-1,进行预定的位算术运算,产生新的目的数据(D3),并将其写入显示帧存储器。在T3周期,当新的目的数据(D3)正在写入帧存储器时,从显示帧存储器中读出第二目的数据(E2),并将其写入目的寄存器70-2。此外,在T3周期,保持在源寄存器56-2中的源数据(E1)被选择器64选出,并通过移位器60,因此产生移位数据(S2)。
在T4周期,来自选择器64的移位数据(S2)和来自目的寄存器70-2的目的数据(E2)被送至位操作部分66-2,产生新的目的数据(E3),并将其写入显示帧存储器。在T4周期,由于新的目的数据(D3)已经写入显示帧存储器,所以将其从显示帧存储器中读出并在CRT上显示。在下一个周期T5,将已经在T4周期中写入存储器的新的目的数据(E3)从存储器中读出,并在CRT上显示。在T5周期的后半部分,从传送帧存储器中读出第三源数据(F1),并将其存入源寄存器56-3。在T6周期和随后的周期,根据源数据(F1)和(G1)以及目的数据(F2)和E2),通过利用源寄存器56-3和56-4,对存储器进行写和读操作。在这种情况下,选择器62和64、目的寄存器70-1和70-2以及位操作部分66-1和66-2的处理过程与T2至T5周期基本相同。
图28的时序图表示图18C所示传送模式3的显示帧存储器中的光栅操作,其中不存在目的数据。首先,在T1周期,读出源数据(D1)并将其存入源寄存器56-1。在下一个周期T2,通过选择器62产生经移位器60移位数据(S1)。在T2周期的后半部分,读出下一个源数据(E1)并将其存入源寄存器56-2。在T3周期,由于不存在目的数据,所以通过仅利用选择器62的移位数据(S1)的位算术运算就可从位操作部分66-1产生新的目的数据(D3),并将其写入存储器。在T3周期,源寄存器56-2的源数据(E1)经过移位器,并通过选择器64产生移位数据(S2)。在T4周期,来自选择器64的移位数据(S2)被送至位操作部分66-2,通过预定的位算术运算产生新的目的数据(E3),并将其写入存储器。在T4周期,将在所有周期存储的新的目的数据(D3)读出,并在CRT上显示。在周期T7至T11,针对第三源数据(F1)和第四源数据(G1)进行光栅操作,其处理过程与T1至T5周期基本相同。
图29的时序图表示图18D所示传送模式4的光栅操作。在这种情况下,虽然光栅操作是在显示帧区域中进行的,但是存在目的数据。在周期T1至T3,数据(D1)和(E1)的读操作和移位输出与图28中的基本相同。在周期T4至T7中,目的数据(D2)和(E2)被顺序读出,然后与来自选择器62和64的移位数据(S1和S2)一起顺序进行位算术运算,得到新的目的数据(D3)和(E3),并写入存储器。它们被写入存储器之后,从中读出新的目的数据(D3)和F3),并在CRT上显示。在周期T8之后的T9至T15,读出源数据(F1)和(G1)以及目的数据(F2)和(G2),然后进行位算术运算,从存储器中读出结果数据或将其写入存储器。相同的系统与周期T1至T7的处理过程基本相同,除了产生从源寄存器56-3和56-4读出的源数据(F1和G1)以及产生从目的寄存器70-1和70-2读出的目的数据(F2和G2)之外。新的目的数据(F3和G3)写入存储器,并且从中读出,在CRT上显示。
在图21所示的第一和第二移位器部分98和100的实施例中,已经说明了在这种情况下的电路结构,即存于帧存储器中的象素数据设置为黑白1位数据,并且作为帧存储器的物理处理单元的一个边界单元设置为16位宽。如图14和15所示,假如处理RGB彩色象素数据,由于一个象素包括24位,所以作为帧存储器的物理处理单元的一个边界作为16个象素的宽度来处理。如上所述,在帧存储器的边界单元设置为16个象素的宽度时,由于RGB彩色象素数据包括24位,所以帧存储器的一个边界具有384位宽。在通过16个象素的宽度处理24位象素数据时,具有图21中的64位宽和16位宽的数据行被放大24倍,并且构成“与”电路和“或”电路的门的数目也扩大24倍。这样,在考虑图21中的一位被设置为24位结构的一字节时,就足以构成电路了。
本发明不限于上述实施例,而是可以做许多的改变和修改。本发明也不受实施例中所示的数值的限制。
权利要求
1.一种光栅操作设备包括第一存储区,其中已经存储了存储装置的源数据,在利用一个预定存储区(存储区被物理于分成一个处理单元)的同时,数据写入存储装置或从存储装置读出;第二存储区,其中已经存储了存储装置的目的数据,在利用一个预定存储区(存储区被物理地分成一个处理单元)的同时,数据写入存储装置或从存储装置读出;第一寄存器装置,它接收并保持至少四个单元的源数据,这些数据是从所述第一存储区每个所述处理单元中顺序读出的;第二寄存器装置,它接收并保持至少两个单元的目的数据,这些数据是从所述第二存储区每个所述处理单元中顺序读出的,并与所述源数据综合;移位装置,用于并行接收保持在所述第一寄存器装置中的源数据,并对收到的源数据进行移位以便使其与所述目的数据的处理单元中的数据起始位置一致,以及按照每个处理单元并行产生移位后的数据;至少两个位操作装置,用于获取从所述移位装置产生的特定处理单元的源数据以及对应于所述源数据的在第二寄存器装置的目的数据,执行预定的位算术运算并产生新的目的数据;以及控制装置,用于允许所述的两个位操作装置通过从所述移位装置获取源数据以及从所述第二寄存器装置获取目的数据而交替地执行位算术运算,其并行于将源数据输入并保持在所述第一寄存器装置的操作以及将目的数据输入并保持在所述第二寄存器装置的操作。
2.根据权利要求1的设备,其中所述的第一寄存器装置具有第一至第四存储位置,在这些位置可以顺序接收并保持四个单元的源数据(D1,E1,F1和G1),所述第二寄存器装置具有第一和第二存储位置,在这些位置可以接收并保持两个单元的目的数据(D2,E2;F2,G2),并且所述控制装置包括初始阶段处理装置,用于允许第一源数据(D1)并将其提供并保持到所述第一寄存器装置的第一存储位置中,以及用于允许第一目的数据(D2)并将其提供并保持到所述第二寄存器装置的第一存储位置中;第一阶段处理装置,它是以这种方式构造的,当寄存器装置的第一源数据(D1)由所述移位装置移位并产生移位输出,以及由所述位操作装置之一与所述第二寄存器装置的第一目的数据(D2)一起进行位算术运算时,并行于所述位运算,提供第二源数据(E1)并将其保持在所述第一寄存器装置的第二存储位置中,以及提供第二目的数据(E2)并将其保持在所述第二寄存总装置的第二存储位置中;第二阶段处理装置,它是以这种方式构造的,当寄存器装置的第二源数据(E1)由所述移位装置移位并产生移位输出,以及由所述操作装置中的另一个与所述第二寄存器装置的第二目的数据(F2)一起进行位算术运算时,并行于所述位运算,提供第三源数据(F1)并将其保持在所述第一寄存器装置的第三存储位置中,以及提供第三目的数据(F2)并将其保持在所述第二寄存器装置的第一存储位置中;第三阶段处理装置,它是以这种方式构造的,当所述寄存器装置的第三源数据(F1)由所述移位装置移位并产生移位输出,以及由所述位操作装置之一与所述第二寄存器装置的第三目的数据(F2)一起进行位算术运算时,并行于所述位运算,提供第四源数据(G1)并将其保持在所述第一寄存器装置的第四存储位置中,以及提供第四目的数据(G2)并将其保持在所述第二寄存器装置的第二存储位置中;以及第四阶段处理装置,它是以这种方式构造的,当寄存器装置的第四源数据(G1)由所述移位装置移位并产生移位输出,以及由所述位操作装置之一与所述第二寄存器装置的第四目的数据(G2)一起进行位算术运算时,并行于所述运算,提供第五源数据(D1)并将其保持在所述第一寄存器装置的第一存储位置中,以及提供第五目的数据(D2)并将其保持在所述第二寄存器装置的第一存储位置中,并且其中重复进行所述第一至第四阶段处理装置的处理过程。
3.根据权利要求1的设备,其中所述移位装置在两级分别对源数据移位并产生移位输出。
4.根据权利要求3的设备,其中当假设由源数据的一个处理单元的数据个数所决定的最大移位量被设为(m+n)时,所述移位装置包括第一移位装置,用于在对输入的源数据每0,1,…,(m-1)个数据串的数据位置进行位置循环时有选择地产生每一个移位后的数据串;第二移位装置,用于接收由所述第一移位装置选择并产生的数据串,按照所述(m)单元每0,(1×m),…,{(n-1)×m}个数据串对数据进行循环,并且有选择地产生每一个移位后的数据串;以及移位控制部分,用于按照所述源数据的移位量对所述第一和第二移位装置的数据串的选择操作进行控制。
5.根据权利要求4的设备,其中在由所述源数据的数据量(16)确定的最大移位量(m+n)=16通过设定m=4和n=4而被分为两个移位量并通过两级移位时,所述第一移位装置对所接收的64个源数据的数据串每0,1,2和3个数据串进行循环,并有选择地产生每一个移位后的数据串;所述第二移位装置对由第一移位装置选择并产生的64个数据串;所述第二移位装置对由第一移位装置选择并产生的64个数据串按照所述4单元对每0,4,8和12个数据串进行循环,并有选择地产生每一个移位后的数据串。
6.根据权利要求5的设备,其中当源数据的移位量的二进制数据指示设为(A3,A2,A1,A0)时,则所述移位控制装置对所述二进制数进行解码,并获得十进制数的移位量0、1、2和3的每一个的第一解码输出指示,以及移位量0、4、8和12的每一个的第二解码输出指示,移位控制装置允许第一移位装置利用所述第一解码输出选择相应的移位量的数据串,并且允许第二移位装置利用所述第二解码输出选择相应的移位量的数据串。
7.根据权利要求1至6的任何一个的设备,其中所述源数据和目的数据的一个处理单元设定为象素数据的一个预定数目。
8.根据权利要求7的设备,其中所述象素数据是由指示一个色彩成分的多个位构成。
9.根据权利要求1至6的任何一个的设备,其中所述源数据和目的数据的一个处理单元设定为预定数目的位的数据。
10.根据权利要求1的设备,其中所述第一存储区是用于传送的帧存储器中的一个区域,所述第二存储区是用于显示的帧存储器中的一个区域。
11.根据权利要求1的设备,其中所述第一和第二存储区都是用于传送的帧存储器中的区域。
12.根据权利要求1的设备,其中所述第一和第二存储区都是用于显示的帧存储器中的区域。
13.根据权利要求1的设备,其中所述位操作装置执行每一个所述源数据和所述目的数据的“与”、“与非”、“或”、“或非”、“异或”和“异或非”运算。
14.根据权利要求13的设备,其中所述位操作装置利用对每一个所述源数据和所述目的数据做“非”运算而获得的值对所述源数据和所述目的数据执行“与”和“或”的算术运算。
15.根据权利要求13或14的设备,其中所述位操作装置将计算出的位串写入所述第二存储区。
16.根据权利要求13或14的设备,其中所述位操作装置产生作为读数据的计算后的位串。
全文摘要
当在不同的或同一帧存储器中综合窗口等时,读出移位侧的源数据和移位目的侧的目的数据。源数据移位因而与数据位置匹配之后,在移位的源数据和目的数据之间进行位算术运算。提供四个源数据寄存器,两个目的寄存器和两个位操作部分。存储在某源寄存器中的源数据移位并在移位的源数据和目的数据之间进行位算术运算。与之并行,从帧存储器读出下次将处理的源数据并存入源寄存器。在对源数据的存储器访问中不出现空闲状态。
文档编号G06T1/60GK1086328SQ9311815
公开日1994年5月4日 申请日期1993年9月27日 优先权日1992年9月28日
发明者齐藤秀树 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1