專利名稱:用于圖形處理器的字塊移位裝置的制作方法
本發(fā)明涉及處理貯存在存儲器里的數(shù)據(jù)這一技術領域:
,更確卻地說,是涉及存貯在存儲器里的數(shù)據(jù)塊移位技術。
關于圖形數(shù)據(jù)處理,以前已有好多種圖形處理器。圖形處理器不僅必須能夠生成數(shù)據(jù),而且還必須能夠處理這些數(shù)據(jù),其兩種典型的操作是視頻顯示的旋轉和移位。
通常,視頻顯示是由光柵線組成的,而每條光柵線上有大量的象點。一組諸如16×16正方的象點組合在顯示屏幕上可以表示為一個字符或者一幅圖象。每一個象點信息是用一位(在黑白顯示中)或幾位(在彩色顯示中)來表示的。
旋轉操作允許字符在顯示屏幕上旋轉。當幾何圖形需要旋轉時,這種字符旋轉操作是有用的。先有技術中,處理的方法是使用字形表,表中備有全部可用的字符。該先有技術方法,是把一個字符的任何被轉動的字符視圖作為分開的單獨字符來處理的。因此,為了提供同一個字符的90度,180度和270度旋轉視圖,在字符表中對每一個字符就必須備有四種字形。
移位操作允許字符在顯示屏幕上從一個位置移動到另一個新的位置。當一條線或甚至一組線需要移動到新的位置時,這種移位變換是有用的。先有技術方法使用一種桶形移位技術,把所有的位都移動所希望的間隔。
本發(fā)明描述一種移位裝置,這種裝置能夠同時迅速實現(xiàn)旋轉和移位兩種操作。而且,本發(fā)明還提供了單個字和多個字的數(shù)據(jù)塊的處理功能。
本發(fā)明描述一種改進的圖形數(shù)據(jù)操作方案,以便對字符塊和位塊進行轉移。字符塊的轉移可以使表示一個字符的象點塊的所有位同時旋轉。因為全部旋轉視圖都可以借助字符塊的轉移來實現(xiàn),所以在字形表里,每一個字符只需存有一種字形。
第二種轉移,即位塊轉移,可以使矩形位塊同時移位。因此,數(shù)據(jù)塊能夠更迅速地被移動到所希望的位置上去。
本發(fā)明保證了存儲器中數(shù)字數(shù)據(jù)的移位。一種貯存來自存儲器數(shù)據(jù)的存儲裝置配置成矩陣化的寄存器陣列。這種數(shù)字數(shù)據(jù)移位裝置使得寄存器陣列在旋轉移位的同時可水平地和垂直地移動這些位,從而使存貯在陣列中的那些位能夠互換位置。然后,借助于數(shù)據(jù)轉移裝置,經過處理的數(shù)據(jù)塊就被返回到存儲器。字符旋轉是通過把表示字符的位裝入字塊移位裝置,并經過一系列由旋轉算法所規(guī)定的移位操作來實現(xiàn)的。位塊轉移是通過把各連續(xù)的位裝入、然后再移動這些位到轉移目的地之前的各相應位的位置來完成的。
本發(fā)明是目的在于開發(fā)一種具有全部圖形處理能力的單片半導體集成電路芯片。這種芯片上裝有一個圖形處理器,其中基本部件是字塊移位裝置。芯片上還包含一個顯示處理器,這一顯示處理器是在1986年2月10日提交、申請?zhí)枮?28,626的尚待批準的專利申請書中所描述的;以及一個接口總線單元,用以在16位總線上處理32位數(shù)據(jù)轉移,這一接口總線單元是在1986年1月17日提交、申請?zhí)枮?19,726的尚待批準的申請中所描述的,上述兩個申請已轉讓給本發(fā)明的受讓人。
附圖1是一個方框圖,說明本發(fā)明的字塊移位裝置與裝在圖形處理器中其它的單元相關的全部功能。
附圖2表示一個字符的四種旋轉視圖。
附圖3是一個運用16×16矩陣陣列的字塊移位裝置的功能配置圖。
附圖4是說明位塊轉移示意圖。
附圖5是本發(fā)明運用8×32矩陣陣列最佳實施例的示意圖。
這里公開了處理多字數(shù)據(jù)塊的位塊和字塊移位裝置。字塊移位裝置是用來加快圖形處理器中的圖形數(shù)據(jù)處理。字塊移位裝置是作為8×32位RAM陣列,并利用多路16位總線來實現(xiàn)的。雖然一種特殊的8×32矩陣被用來處理16×16字符顯示,但是對于一個技術熟練的人說來,可以用其它形式的矩陣來處理不同的字符顯示,這是顯而易見的。并且,實施本發(fā)明的最佳實施例也不需要某些詳細的專門說明。再者,為了使本發(fā)明不至于被不必要的詳細描述所掩蓋,這里也不對那些眾所周知的結構和電路作詳盡的敘述。
附圖1是圖形處理器(GP)10的基本框圖。X-Y發(fā)生器11是一種包含有形狀算法的可編程序邏輯陣列狀態(tài)裝置,為了用于產生線、園等圖形而提供一他位置(△X和△Y)信息。與X-Y發(fā)生器11相連接的是地址發(fā)生器11,用來為下一個位置信息△X和△Y提供在存儲器中的相應地址。
與地址發(fā)生器12連接的是數(shù)據(jù)發(fā)生器13,其功能是生成并處理數(shù)據(jù)。數(shù)據(jù)發(fā)生器13確定什么數(shù)據(jù)需要生成或修改,進而達到特殊的更改。
16位數(shù)據(jù)總線17提供了圖形發(fā)生器GP10與其它部件如外存儲器(未畫出)之間的接口。總線17是一種能進行32位字轉換的多路總線??偩€接口16接受最高16位有效位和最低16位有效位,以便在內部總線18上提供一個32位字。
字塊移位裝置15接收總線18上源數(shù)據(jù)的32位字序列,并提供字塊移位和位塊移位。然后,經過移位的數(shù)據(jù)被傳送到數(shù)據(jù)發(fā)生器13進行處理。當塊移位裝置15對源數(shù)據(jù)進行操作處理,目標堆棧14接收總線18上的目標信息。然后,該數(shù)據(jù)傳送到數(shù)據(jù)發(fā)生器13,以便同已經移位的源數(shù)據(jù)一起完成操作處理。數(shù)據(jù)發(fā)生器13和地址發(fā)生器12向目標堆棧14提供新數(shù)據(jù)及相應的地址。目標堆棧14再將數(shù)據(jù)和地址信息送到總線接口16,以便在數(shù)據(jù)總線17和地址總線36上發(fā)送。
當需要時,數(shù)據(jù)發(fā)生器13也能提供一個從16個中選擇的源數(shù)據(jù)和目標數(shù)據(jù)的布爾(Boolean)函數(shù)。例如,當一位從一個源地址傳送到一個新的目標地址時,數(shù)據(jù)發(fā)生器13就從目標堆棧14接收目標數(shù)據(jù),并從字塊移位裝置15接收經過移位的數(shù)據(jù)。數(shù)據(jù)發(fā)生器13提供源數(shù)據(jù)和目標數(shù)據(jù)的布爾函數(shù),并將比較后的結果傳送到目標堆棧14,作為新的目的數(shù)據(jù),以便經過總線17傳送到存儲器。內部線路19將單元11、12、13、14、15和16連接到管理單元20,以提供內部控制和這些單元之間的通信聯(lián)系。圖形處理器GP10的微指令可駐留在管理單元20之內,其微指令的作用在于初始起動GP10。
本發(fā)明的技巧在于字塊移位裝置15內部。字塊移位裝置15對于輸入到它的字塊進行必要的移位操作。字塊移位裝置15對顯示屏幕上的字符旋轉提供字符塊轉移,對顯示屏幕上的字移到新的位置提供位塊轉移。
圖2是一個字符(例如字母或圖象)在顯示屏幕上旋轉顯示的實例。每個字符由16×16象點矩陣來確定,即由16個16位字來表示。圖2中示出原來的16×16字符60被旋轉90度、180度或270度的情況。能使16×16字符旋轉的字塊移位裝置15的基本功能可利用附圖3來說明。
參閱圖3,該圖示出字塊移位裝置基本操作的功能方框圖。圖中編號為0-15的16行寄存器70是作為堆棧來安排的,每行都有一個象70那樣的十六位寄存器。寄存器70的每一位都與該寄存器的下一有效位相連接(例如第13位連接到第14位),并且與緊挨著的下一行的相同位相連接(例如1行的第13位與0行的第13位相連接)。0行寄存器71的各位繞回到15行寄存器72的各相應位。各行的第15位連接到該行的第0位,并且連接緊挨著的下一行的第0位。鎖存器行由十六位寄存器75所組成,并從存儲器那里接受十六位字。鎖存寄存器75同樣地被連接到行寄存器70,以使各個位可水平和垂直地轉移,也使其第15位轉移到本身的第0位以及15行的寄存器72的第0位。
字塊移位裝置73是作為一種先入、先出(FIFO)的堆棧來運用的。字塊移位裝置73將第一字裝入鎖存寄存器75。當各相繼的字被輸入到鎖存器行時,這些位就往下傳遞,這種情況連續(xù)進行下去,直至16個十六位字全部被裝入字塊移位裝置73的第0行至第15行為止。字塊移位裝置73是從其能夠同時實現(xiàn)對字塊操作的能力而得其名的。一旦數(shù)據(jù)塊被裝入字塊移位裝置73,則當字塊移位裝置73處理所存入的數(shù)據(jù)時,總線就可自由地提供其他的功能。
字符旋轉是借助按預先安排的算法所確定的水平地和垂直地移動各個位來提供的。一旦完成了旋轉操作,則表示經旋轉的字符的位模式按順序的字序從橫向輸出77或縱向輸出78取出。
圖4表示一個在起始位置41的特定數(shù)據(jù)被轉移到目標位置42或者52時的移位操作。兩種類型的轉移可能發(fā)生。假設顯示屏幕43有幾個字長,縱向轉移44僅僅導致地址轉移到位置42。源地址45的第n位將轉移到目標地址46的相同位的位置(第n位)。全字長的水平轉移導致同樣的地址轉移。所以,這類從源到目標的轉移中,位的位置并沒有改變,只是將源數(shù)據(jù)寫入到新地址而已。
但是,轉移到位置52的第二種類型的轉移涉及部分字長的水平轉移47。這種部分字長的轉移要求n個位在源地址45和目標地址48之間移位。再者,移位50可能使位51延伸到下一個地址49中。為了適當?shù)剡M行這種類型的由源到目標的轉移,可以執(zhí)行位塊轉移。
再參見附圖3,一個十六個字的字塊被裝入字塊移位裝置73。這十六個字表示顯示的鄰接部分。字塊移位裝置73保證每行的第15位都連接到緊挨著的下一行的第0位(如第一行的第15位連接到第0行的第0位)。字塊中第十六個字在裝入鎖存器行79之后就不再向下堆進,以致使鎖存寄存器75中保存這第十六個字并使底下第80行處于開路狀態(tài)。然后,字塊移位裝置73,通過水平移位并依次將最高有效位移到緊挨著的下一行的最低有效位的位置上而提供必要的移位50(圖4中的)當進行移位時,被移的若干位將進入開路的底部第80行,這是顯然的。經過適當?shù)囊莆?0,這個十六字塊就被傳送至目標地址。在一系列數(shù)據(jù)轉移中,當已經移位的字由字塊移位裝置15的底部第80行取走時,接續(xù)的一些字可以輸入到字塊移位裝置15中。
雖然是利用16×16矩陣陣列來說明的,但是這僅僅是為了容易理解。而實際上,最佳實施例是運用8×32矩陣,在那里可將兩個互相并排的十六位字排成一個32位的字。
圖5是最佳實施例中應用圖1中的字塊移位裝置15電路圖。數(shù)據(jù)總線17傳送由存儲器來的最低有效字(LSW)21和最高有效字(MSW)22。在總線接口16(圖1中的)上的多路轉換器(MUX)23提供了一個32位字24而傳送到字塊移位裝置39。字塊移位裝置39是由九行寄存器25組成,每行都有象25那樣的32位寄存器。八行組成8×32矩陣,用以處理16×16的字符數(shù)據(jù)。上面的一行是用于位塊移位的鎖存器行。每一位都連接到下一個有效位,并連接到下一行寄存器25的相同位置的位上。第0個字的寄存器26的各個位被連接輸出到MUX27,并且連接到第8個字的相同位置的位上,因此,第0字寄存器26繞回到第8個字寄存器28。
在每一行中,第15位通過MUX37和30連接到本身的第0位,并通過MUX29連接到本身的第16位;第31位通過MUX29連接到第16位,并通過MUX37和30連接到第0位。因此,每一個16位半字(MSW22或LSW21)可以自身繞回或者可以32位整字自身繞回。MUX37的輸出還連接到下一行的MUX30,以便使第31位的順次移位到下一行的第0位上。
所以,每一位都可以垂直向下地或者水平地轉移到下一個有效位位置上。同時,可以發(fā)生帶有附加的1個或半個字(LSW,MSW)水平繞回能力的垂直和水平繞回。此外,還可能出現(xiàn)順序的移位,其中,一個位可以繼續(xù)進行一系列移位而移到緊挨著的下一行。
因為字塊移位裝置39是8×32陣列,所以一個16位線上的16×16的字符,是作為一個16位半個字來存貯在字塊移位裝置39中的。這就是說,字符的第一條線作為第0個字的MSW來存貯的,而第二條線作為第0個字的LSW來存貯的。為了對水平陣列(8×32),而不是對堆棧(16×16)進行補償,就要提供一個旋轉一次的電路33。旋轉一次的電路33與各行的31位相連接,以便使每行的MSW和LSW可以互相交換位置,從而提供各半個字移位的功能。先有技術中的任何一種存貯和移位電路都可以提供這種旋轉功能。
在這種字符旋轉功能中,或者從塊移位裝置39的橫向輸出端(每一行的31位)或者從縱向輸出端(第0個字)可以取出16位的輸出。MUX27將從最后最一行寄存器35輸出的32位字轉換為兩個16位字。MUX30對縱向16位輸出還是橫向16位輸出進行選擇。為了具體字符的旋轉,旋轉算法要求其模式能夠完全反向,以便使最高有效位變成最低有效位或者反之。這種反向過程是由翻轉電路31實現(xiàn)的,翻轉電路將使來自MUX30輸出的16位翻轉,而MUX32則對翻轉數(shù)據(jù)還是非翻轉數(shù)據(jù)進行取舍。然后,MUX32的輸出被連接到圖1中的數(shù)據(jù)發(fā)生器13。
上面已經描述了一種能夠提供字符塊轉移和位塊轉移的改進的圖形數(shù)據(jù)操作方案。本發(fā)明的新穎性在于可對字塊移位裝置中的數(shù)據(jù)進行快速多字(塊)的處理。字塊移位裝置的獨立運行可在字塊移位裝置運行過程中不會使圖形外理器的其它單元運行,從而提供了更快的圖形處理能力。
權利要求
1.在計算機數(shù)據(jù)處理系統(tǒng)中,一種對存儲器中的數(shù)字數(shù)據(jù)進行移位的裝置,其特征在于它包括-存貯裝置,用于存貯從所述存儲器和由寄存器矩陣陣列構成的存貯裝置中選出多個位;-移位裝置,該移位裝置與所述存貯裝置相連接以便通過對所述矩陣內的所述各位進行垂直地與水平地移位而互相交換位置;-轉移裝置,該裝置與所述存貯裝置和所述存儲器相連接,以便轉移所述各位;從而,所述存儲器中的數(shù)據(jù)塊移位得以實現(xiàn)。
2.如權利要求
1中所規(guī)定的裝置,其特征在于其中所述陣列的所述寄存器被按多行互相堆疊的方式構成而使所述陣列的各行寄存器存貯一個來自所述存儲器的字,并且對該字進行水平移位。
3.如權利要求
2中所規(guī)定的裝置,其特征在于其中各個所述的字在所述陣列的第一行進入,而經過移位后的字從所述陣列的最后一行輸出。
4.如權利要求
3中所規(guī)定的裝置,其特征在于其中所述各行寄存器連接到緊挨著的下一行寄存器,以使每一行的各所述位垂直地轉移到緊挨著的下一行的各相同位置的位。
5.如權利要求
4中所規(guī)定的裝置,其特征在于其中所述最后一行寄存器還被連接到所述第一行寄存器,以使所述最后一行的各所述位轉移到所述第一行的相同位的位置上。
6.如權利要求
5中所規(guī)定的裝置,其特征在于其中每行寄存器的最高有效位被連接到它的最低有效位的位置上,以使每行的各位可以按水平循環(huán)方式轉移。
7.如權利要求
6中所規(guī)定的裝置,其特征在于其中各行寄存器的最高有效位還被連接到緊挨著的下一行寄存器的最低有效位,以使所述的各位能夠順序地通過所述陣列而轉移。
8.如權利要求
7中所規(guī)定的裝置,其特征在于其中所述陣列有16行寄存器,各寄存器存貯一個16位的字。
9.如權利要求
7中所規(guī)定的裝置,其特征在于其中所述陣列有8行32位字長的寄存器,每個寄存器存貯兩個16位字長的字。
10.如權利要求
9中所規(guī)定的裝置,其特征還在于它包括多路轉換裝置,它與所述各行相連接,其中各所述多路轉換裝置可以在所述各行上對每個上述16位字進行水平循環(huán)和對所述每行全部32位進行水平循環(huán)之間作出選擇。
11.如權利要求
10所規(guī)定的裝置,其特征在于其中所述陣列擁有從所述各行的最高有效位引出的16位橫向輸出,和從所述最后行引出的兩個16位縱向輸出。
12.在計算機數(shù)據(jù)處理系統(tǒng)中,一種用于對存儲器中的數(shù)字數(shù)據(jù)進行移位的裝置,其特征在于它包括-鎖存裝置,用于從所述存儲器接受所述數(shù)據(jù);-寄存器陣列,該陣列按行和列的矩陳排列,包含一寄存器的各行存貯一個來自所述存儲器的字,所述陣列與所述鎖存裝置相連接;-控制裝置,該裝置與所述陣列相連接,用于對所述陣列中的數(shù)據(jù)進行移位;-輸出裝置,該裝置與所述陣列相連接,用于將所述陣列的輸出轉移給所述存儲器;借此,可以更迅速地實現(xiàn)字符塊和位塊的轉移。
13.如權利要求
12中所規(guī)定的移位裝置,其特征在于其中所述的陣列擁有與所述鎖存裝置相連接的第一行,與所述輸出裝置相連接的最后一行,以使所述數(shù)據(jù)在所述第一行進入,而在所述最后一行輸出已經移過位的數(shù)據(jù)。
14.如權利要求
13中所規(guī)定的移位裝置,其特征在于其中所述各行寄存器被連接到所述緊接著的下一行寄存器,而所述最后一行寄存器被連接到所述第++的寄存器,以使所述各列中的位按垂直循環(huán)方式進行移位。
15.如權利要求
14中所規(guī)定的移位裝置,其特征在于其中每一行寄存器的最高有效位被連接到它的最低有效位,以使各所述行中的各位按水平循環(huán)方式進行移位。
16.如權利要求
15中所規(guī)定的移位裝置,其特征在于其中各行寄存器的所述最高有效位還被連接到其緊挨著的下一行的最低有效位,以使所述的若干位能夠順序地通過所述的陣列而轉移。
17.如權利要求
16中所規(guī)定的移位裝置,其特征在于其中所述鎖存裝置還包括一行鎖存寄存器,所述鎖存寄存器行與所述第一行寄存器的相同位置的位相連接,以便將所述各位在所述列中垂直地向下轉移,所述鎖存寄存器行也將其最高有效位連接到它本身的最低有效位,再連接到所述第一行的最低有效位,以使鎖存器行中的所述各個位不僅能垂直地也能水平地順序轉移。
18.如權利要求
17中所規(guī)定的移位裝置,其特征在于其中所述陣列擁有八個32位長的行,以便存貯兩個16位字長的字。
19.如權利要求
18中所規(guī)定的移位裝置,其特征在于它包括第一個多路轉換裝置與各所述行相連接,其中所述各多路轉換裝置,用來選擇各所述行是進行16位字水平循環(huán)還是進行32位字的水平循環(huán)。
20.如權利要求
19中所規(guī)定的移位裝置,其特征在于其中所述鎖存裝置還包括第二個多路轉換裝置,以便接收兩個16位長的字,并向所述鎖存寄存器行提供一個32位長的字。
21.如權利要求
20中所定義的移位裝置,其特征在于其中所述輸出裝置還提供了取自各所述行的最高有效位的橫向輸出和取自所述最后一行的兩個16位字的縱向輸出,以及第三多路轉換裝置,以便對所述兩種輸出作選擇。
22.如權利要求
21中所定義的移位裝置,其特征還在于它包括一個翻轉電路,該電路與所述輸出裝置相連接,以便反轉所述輸出的位模式。
23.如權利要求
17中所規(guī)定的移位裝置,其特征在于其中所述陣列具有16行,每行有16位。
專利摘要
一種改進的移位裝置,用于圖形處理中的數(shù)據(jù)塊移位。該移位裝置允許多字、數(shù)據(jù)塊移位。其移位過程是與其它圖形功能同時實現(xiàn)而且是以獨立于其它圖形功能的方式來達到的。該移位裝置提供了字符塊的轉移,以便旋轉顯示屏幕上的字符。該移位裝置還提供了位塊轉移,以便將數(shù)據(jù)從源地址移到目標地址。
文檔編號G06F12/02GK86107983SQ86107983
公開日1987年8月12日 申請日期1986年11月28日
發(fā)明者蘇尼爾·南達 申請人:英特爾公司導出引文BiBTeX, EndNote, RefMan