專利名稱:圖形顯示對分式串行寄存器系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及圖形顯示系統(tǒng),尤其涉及這樣一種使用對分式串行寄存器(asplit-serial register)以控制數(shù)據(jù)傳送到圖形顯示器的系統(tǒng)。
在視頻圖形系統(tǒng)中,屏幕上的像素數(shù)和必須從顯示存儲器中讀出的點數(shù)是很重要的。使用顯示存儲器數(shù)量的多少對任何系統(tǒng)的經(jīng)濟利用是一個關鍵因素。在典型的系統(tǒng)中,顯示存儲器中存有一個必須在短時間間隔內(nèi)讀送到屏幕的數(shù)據(jù)行。上述過程由與存儲器相連接的一個串行寄存器來完成、該寄存器把整行數(shù)據(jù)從存儲器中移出并把該行傳送到屏幕上。
人們總是希望盡可能把存儲器存滿并使用整個存儲空間。也希望所設計的存儲器系統(tǒng)可適應不同的圖形需求和實際限制的變化。對于目前的存儲器系統(tǒng),通常使用每行長度具有512位的視頻隨機存取存儲器(VRAM)。這些存儲器有幾塊板,通常每個存儲器有四塊板,并且對于每個存儲器的讀周期,這種存儲器都安排得填滿總線。于是,對于32位總線,可使用8塊VRAM,每個VRAM有4塊板。
按照這種結構,每塊存儲器的每塊板的串行寄存器為512位長,因此,對于每個存儲器到串行寄存器的讀周期,將傳送16384位到顯示器。假定每個像素包含8位,則這些16384位代表了2048個顯示像素的數(shù)據(jù)。假設每根掃描僅需要1280個像素,則對于存儲器的每行而言,將有768個像素不能顯示。這些存儲單元也難用作其它用途,因此造成浪費。
一種考慮過的利用整個存儲器行的安排,是把這剩余的768個像素用于下一行。而根據(jù)這種設計,在信息送往屏幕期間,必須對寄存器重新裝載。除非使用特定的高速硬件,否則這種在一行的中間對寄存器重新裝載會使觀察者看得見而難以接受。
對這種安排的一個改進是使用一對并行的移位寄存器,使數(shù)據(jù)在其中交替讀出。這種安排也遇到剛剛討論過的困難,即在于移位寄存器的大小也取決于預期的屏幕的大小。
于是,在技術上需要這樣一種串行寄存器圖形重新裝載系統(tǒng),它允許在圖形顯示屏幕的一行上連續(xù)地裝填像素,而與屏幕行的長度無關,因而節(jié)省了存儲器和寄存器的空間。
在圖形處理系統(tǒng)中使用了一種對分式串行寄存器(a split-serial register)以控制屏幕傳送信息,使在每行輸出期間信息能連續(xù)地從該移位寄存器移出,從而不間斷地向屏幕提供數(shù)據(jù)流。這種系統(tǒng)允許在行的中間重新裝載而不會使觀看者察覺。
串行寄存器的兩半部分在水平消隱(行間回掃)屏幕刷新周期期間裝入數(shù)據(jù),與此同時把行的起始點的列地址提供給地址寄存器。當消隱期間結束并時鐘開始時,數(shù)據(jù)從相應于列地址的位開始串行地從數(shù)據(jù)寄存器的一半輸送到屏幕上。然后串行寄存器的地址進行邏輯計數(shù)與寄存器的數(shù)據(jù)移位一起進行),從起始地址變到全部1,再翻轉到全部為0。在零點上,數(shù)據(jù)移位自動地從另一半串行寄存器開始。這允許當前不用的半個寄存器用于接收與屏幕信息的下一部分相對應的數(shù)據(jù)。
先前未用的一半寄存器現(xiàn)在開始工作,重復執(zhí)行同樣的過程其地址寄存器的計數(shù)也是先到全部為1,再翻轉到全部為0。當?shù)刂吩俅芜_到零時,已重新裝載了的該行后續(xù)的新信息便從另一半寄存器開始移出它的數(shù)據(jù)。此時,新的數(shù)據(jù)又提供給串行寄存器的另一半。這種交替操作連續(xù)進行到該圖形行結束為止,把連續(xù)的信息流送到屏幕,即使在行中間進行更新也不會使用戶察覺到。
潛在的問題在于,如果新行的起始點超過串行寄存器的中點時,那么閑置的一半寄存器、即串行寄存器的第一半包含著與先前行末尾有關而與當前行的下面部分無關的信息。于是該第一半寄存器必須更新以保證在第二半寄存器卸載之后,使第一半包含下一組跟隨的數(shù)據(jù)點。這一問題的解決是在正常的水平消隱屏幕刷新之后,為對分式串行寄存器增加一個刷新周期,并立即產(chǎn)生下半行的地址。該刷新周期與用于行中間重新裝載的屏幕刷新周期類型相同、且僅裝載每個串行寄存器的一半。
使用對分式串行寄存器有效地產(chǎn)生到視頻屏幕的連續(xù)的數(shù)據(jù)流有著技術優(yōu)點。當寄存器的一部分向屏幕送數(shù)據(jù)時,寄存器的另一部分從存儲器接收數(shù)據(jù)。一個地址控制寄存器用來對與串行寄存器和屏幕有關的數(shù)據(jù)的存儲位置保持追蹤。
通過下面結合附圖進行的描述,很容易理解本發(fā)明的上述目的和其它目的,其中
圖1 表明根據(jù)本發(fā)明的原理構成的具有圖形處理能力的計算機的方框圖;
圖2 表明本發(fā)明圖形處理電路的較佳實施例的方框圖;
圖3 表示與對分式串行寄存器一起工作的視頻存儲器的擴大了的等效視圖以表示本發(fā)明的一個實施例;
圖4 表示用于說明目的的圖形顯示器;
圖5 表示用于說明目的的存儲陣列;
圖6、7和8表示在不同時間串行寄存器內(nèi)部各位的情況;
圖9和10(表示在第一張紙上)顯示兩種可能的對不同尺寸的存儲器的行地址和列地址的安排;
圖11、12和13表示按照不同的實際尋址結構對串行寄存器的分接點(tap point)進行控制掩蔽碼位;
圖14表示用于計算對串行寄存器的控制的算法和流程圖;和圖15-21表示與本發(fā)明的說明實例相一致的控制寄存器中的位分布。
在詳細討論本發(fā)明之前,參看圖1和圖2簡略地回顧一下與主機系統(tǒng)一起工作的圖形處理器的基本工作是有幫助的。至于它的詳細討論能從申請日為1989年4月27日的No.346,388專利申請(代理人道特(DOCKet)NOTI-9484B)中找到,并且已轉讓給該申請的受讓人。因此該申請可作為參考資料。這里一起作為參考的還有德克薩斯儀器公司的用戶指南TM S34010和TM S34020,以及說明書TM S34020/TM S34082和TM S44C251。所有這些資料目前都可以從德克薩斯儀器公司獲得。
為了方便和容易理解這里指出的本發(fā)明的概念,不打算表述每步操作及每個數(shù)據(jù)的流動,因為在一個系統(tǒng)中使用的本發(fā)明的實際實施例,在很大程度上取決于該系統(tǒng)實際操作,在這樣的系統(tǒng)中本發(fā)明的概念將被具體化。
圖1表示按照本發(fā)明的原理所構成的圖形計算機系統(tǒng)100的方框圖。圖形計算機系統(tǒng)100包含主機處理系統(tǒng)110、圖形處理器120、存儲器130、移位寄存器140、視頻調(diào)色板150、數(shù)字到視頻變換器160和視頻顯示170。
主機處理系統(tǒng)110給圖形計算機系統(tǒng)100提供主要的計算能力。主機處理系統(tǒng)110最好包含至少一個微處理器、只讀存儲器、隨機存取存儲器和各種外圍裝置以構成一完整的計算機系統(tǒng)。主機處理系統(tǒng)110最好也包含一些輸入裝置如鍵盤或鼠標器,和一些長期存儲裝置如盤驅動器等。主機處理系統(tǒng)110的詳細構成基本上是屬傳統(tǒng)的已知技術,因此本申請將不詳細敘述它的構成。就本發(fā)明而言,主機處理系統(tǒng)110的主要特征在于它確定要向用戶顯示的視頻顯示器的內(nèi)容。
根據(jù)本發(fā)明,圖形處理器120提供主要的數(shù)據(jù)處理,以產(chǎn)生要向用戶顯示的特定的視頻顯示。圖形處理器120經(jīng)主機總線115與主機處理系統(tǒng)110進行雙向耦連。按照本發(fā)明,圖形處理器120作為獨立于主機處理系統(tǒng)110的數(shù)據(jù)處理器而工作;然而,要求圖形處理器120能經(jīng)主機總線115響應來自主機處理系統(tǒng)110的請求。圖形處理器120進一步通過視頻存儲器總線125、122與存儲器130和視頻調(diào)色板150進行通信。圖形處理器120經(jīng)視頻存儲器總線125控制存儲器在視頻RAM132中的數(shù)據(jù)。另外,也可以通過存儲在視頻RAM132中或只讀存儲器134中的程序,對圖形處理器120進行控制。只讀存儲器134還可以包含各種類型的圖像數(shù)據(jù)、如常用的圖標符號,以及一種或多種字體的字母數(shù)字字符等。此外,圖形處理器120也控制存儲在視頻調(diào)色板150中的數(shù)據(jù)。最后,圖形處理器120經(jīng)視頻控制總線124控制數(shù)字到視頻變換器160。通過經(jīng)視頻控制總線124對數(shù)字變視頻變換器160進行的控制,圖形處理器120可以控制向用戶顯示的每幀視頻圖像的行數(shù)和行長。
視頻存儲器130包含經(jīng)視頻存儲器總線125雙向耦連到圖形處理器120的視頻RAM132和只讀存儲器134。如前所述,視頻RAM132包含控制向用戶顯示的視頻圖像的位映射圖形數(shù)據(jù)。這種視頻數(shù)據(jù)可通過視頻存儲器總線125由圖形處理器120進行處理。另外,與當前顯示屏相對應的視頻數(shù)據(jù)從視頻RAM132經(jīng)視頻輸出總線136輸出。視頻輸出總線136的數(shù)據(jù)與要向用戶顯示的像元相對應。在較佳實施例中,視頻RAM132由本發(fā)明的受讓人德克薩斯儀器公司可供應的多個動態(tài)隨機存取集成電路TM S44251 256 K×4組成。TM S44251集成電路含有雙端口,使顯示的刷新和修改不會互相干擾。
移位寄存器140接收視頻RAM132的視頻數(shù)據(jù)并把這些數(shù)據(jù)組成顯示器的位數(shù)據(jù)流(bit stream)。按照視頻隨機存取存儲器132的典型安排,這種存儲器是由幾個分開的隨機存取存儲器集成電路組成的一個存儲體,每個這種集成電路的典型輸出寬度只有一位或四位。因此有必要把多個這種電路的數(shù)據(jù)進行組合,以獲得足夠高的輸出速率來規(guī)定向用戶顯示的圖像。移位寄存器140以并行方式從視頻輸出總線136裝入數(shù)據(jù)。然后以串行方式從線145輸出。于是移位寄存器140組成顯示用的位數(shù)據(jù)流,由這數(shù)據(jù)流對光柵掃描視頻顯示中的各個像點提供速率足夠高的視頻數(shù)據(jù)。
視頻調(diào)色板150經(jīng)總線145接收來自移位寄存器140的高速視頻數(shù)據(jù)。視頻調(diào)色板150也經(jīng)視頻存儲器總線122接收圖形處理器120的數(shù)據(jù)。視頻調(diào)色板150把從總線145上接收到的數(shù)據(jù)變換成總線155上的視頻輸出電平。這種變換是用經(jīng)由視頻存儲器總線122傳送的在圖形處理器120中定義的一個查找表來完成的。視頻調(diào)色板150的輸出可包含每個像素的色調(diào)和飽和度,或可包含每個像素的紅、綠和蘭基色電平。從儲存在視頻存儲器132中的編碼到經(jīng)總線155輸出的數(shù)字數(shù)據(jù)電平的變換表、經(jīng)視頻存儲器總線122受圖形處理器120的控制。
數(shù)字變視頻的變換器160經(jīng)總線155接收視頻調(diào)色板150的數(shù)字視頻信息。數(shù)字變視頻的變換器160,經(jīng)視頻控制總線124、受圖形處理器120的控制。數(shù)字變視頻的變換器160把視頻調(diào)色板150的數(shù)字輸出變換為所需要的模擬電平,經(jīng)視頻輸出165用于視頻顯示器170。數(shù)字變視頻的變換器160,經(jīng)視頻控制器總線124,由圖形處理器120控制,例如用來規(guī)定每幀的行數(shù)和每水平行的像元數(shù)。圖形處理器120中的數(shù)據(jù)、通過數(shù)字變視頻的變換器160控制產(chǎn)生同步和消隱信號及回掃信號。這部分視頻信號不是由存儲在視頻存儲器132中的數(shù)據(jù)規(guī)定的,而是產(chǎn)生一組必要的控制信號,以規(guī)定所需的視頻輸出。
最后,視頻顯示器170經(jīng)視頻輸出線165、接收數(shù)字變視頻的變換器160的視頻輸出。視頻顯示器170通過圖形計算機系統(tǒng)100的操作者產(chǎn)生所規(guī)定的可視視頻圖像。應該注意視頻調(diào)色板150、數(shù)字變視頻的變換器160和視頻顯示170可按照兩種主要的視頻技術工作。第一種技術是對各個像素規(guī)定其彩色色調(diào)和飽和度的視頻數(shù)據(jù)。另一種技術是規(guī)定每個獨立像素的紅、綠、蘭的基色電平。根據(jù)所采用的是哪一種技術的設計選擇,使視頻調(diào)色板150、數(shù)字變視頻的變換器160和視頻顯示器170的構選適合于這種技術。然而,本發(fā)明的圖形處理器120的工作原理是不變的,不論視頻技術選擇哪種特定的設計。
圖2進一步詳細表示了圖形處理器120。圖形處理器120包含中央處理單元200、專用的圖形硬件210、寄存器文件220、指令高速緩沖存儲器230、主機接口240、存儲器接口250、輸入/輸出寄存器260和視頻顯示控制器270。
圖形處理器120的核心是中央處理單元200。中央處理單元200具有在通用的中央處理單元中常規(guī)具有的包括各種算術和邏輯運算操作在內(nèi)的通用數(shù)據(jù)處理能力。另外,中央處理單元200具有許多專用的圖形控制指令,這些指令可單獨應用或結合專用圖形硬件210應用。
圖形處理器120包含與圖形處理器120大多數(shù)部件包括中央處理單元200相連接的主總線205。中央處理單元200經(jīng)雙向寄存器總線202雙向耦連到一組包括許多數(shù)據(jù)寄存器的寄存器文件。寄存器文件220用作中央處理單元200的即時存取數(shù)據(jù)的貯存所。象下面將要詳細敘述的那樣,寄存器文件220除了包含中央處理單元可能用列的通用寄存器組外,還包含許多用于貯存圖形指令隱含操作數(shù)的數(shù)據(jù)寄存器。
中央處理單元200經(jīng)指令高速緩沖存儲器總線204與指令高速緩沖存儲器230相連。指令高速緩沖存儲器230進一步耦連到總線205,且可經(jīng)過視頻存儲器總線122和存儲器接口250從視頻存儲器132(圖1)裝入指令字。指令高速存儲器230的用途是加速執(zhí)行中央處理單元200的某些功能。凡經(jīng)常用于由中央處理單元200執(zhí)行的程序的特定部分中的重復功能可貯存在指令高速存儲器230中。經(jīng)指令高速存儲器總線204從指令高速存儲器230中存取比從視頻存儲器130中存取快得多。于是,由中央處理單元200執(zhí)行的程序,通過預先把重復或常用的指令序列存入指令高速存儲器230中可以提高處理速度。這些指令由于它們可快速取出從而使它們可快速執(zhí)行。指令高速存儲器230并非總是包含相同的指令步驟,但總是裝入在中央處理單元200所執(zhí)行的程序的特定部分中經(jīng)常會用到的一組特定指令。
主機接口240經(jīng)主機接口總線206耦連到中央處理單元200。主機接口240經(jīng)主機系統(tǒng)總線115進一步與主機處理系統(tǒng)110(圖1)相連接。主機接口240用來在主機處理系統(tǒng)110和圖形處理器120之間進行通信。主機接口240在主機處理系統(tǒng)110和圖形處理器120之間控制數(shù)據(jù)定時傳送。在這方面,主機接口240能使主機處理系統(tǒng)110中斷圖形處理器120,或反之亦然,能使圖形處理器120中斷主機處理系統(tǒng)110。另外,主機接口240被耦連到主總線205,而能使主機處理系統(tǒng)110直接控制存儲在存儲器130中的數(shù)據(jù)。通常,主機接口240可把主機處理系統(tǒng)110的圖形請求送到圖形處理器120,從而使主機系統(tǒng)能指定由視頻顯示器170產(chǎn)生的顯示類型,并且使圖形處理器120完成所需的圖形功能。
中央處理單元200經(jīng)圖形硬件總線208耦連到專用的圖形硬件210。專用的圖形硬件210進一步連接到主總線205。專用的圖形硬件210與中央處理單元200一起工作以執(zhí)行專門的圖形處理操作。中央處理單元200,除了它的通用數(shù)據(jù)處理功能外,還控制專用圖形硬件210的應用以便執(zhí)行專用的圖形指令。這些專用的圖形指令涉及對視頻RAM132的位映射部分中的數(shù)據(jù)進行處理。專用的圖形硬件210在中央處理單元200的控制下工作,以使得對于視頻RAM132中的數(shù)據(jù)能進行特定的有利的數(shù)據(jù)處理。
存儲器接口250被耦連到總線205,并進一步耦連到視頻存儲器總線122。存儲器接口250用于控制在圖形處理器120和存儲器130之間進行的數(shù)據(jù)和指令的通信。存儲器130包含將在視頻顯示器170上顯示的位映射數(shù)據(jù)以及控制圖形處理器120工作的必要數(shù)據(jù)和指令。這些功能包含存儲器存取的定時控制、和對數(shù)據(jù)及存儲器的多路傳輸控制。在較佳實施例中,視頻存儲器總線包含多路傳輸?shù)牡刂泛蛿?shù)據(jù)信息。存儲器接口250使圖形處理器120能在適當?shù)臅r刻在視頻存儲器總線122上提供特定的輸出,以對存儲器130進行存取操作。
最后,圖形處理器120包含輸入/輸出寄存器260和視頻顯示控制器270。輸入/輸出寄存器260雙向耦連到總線205,以便能在這些寄存器中進行讀寫。輸入/輸出寄存器260最好設在中央處理單元200的原有存儲空間中。輸入/輸出寄存器260包含用來指定視頻顯示控制器270的控制參數(shù)的數(shù)據(jù)。根據(jù)在輸入/輸出寄存器260中存儲的數(shù)據(jù),視頻顯示控制器270在視頻控制總線124上產(chǎn)生信號,為數(shù)字變視頻的變換器160提供所需控制。輸入/輸出寄存器260中的數(shù)據(jù)包含用于指定每個水平行中像素數(shù)目的數(shù)據(jù);用于指定水平同步和消隱間隔的數(shù)據(jù);用于指定每幀水平行行數(shù)的數(shù)據(jù);和用于指定垂直同步和消隱間隔的數(shù)據(jù)。輸入/輸出寄存器260也可包含用于指定幀的隔行掃描類型和用于指定其它視頻控制功能的數(shù)據(jù)。最后,輸入/輸出寄存器260也用來存儲其它特定種類的輸入和輸出參數(shù),這些參數(shù)在下面將更詳細敘述。
圖形處理器120以兩種不同尋址方式對存儲器130進行操作。這兩種尋址方式為xy尋址和線性尋址(linear addressing)。因為圖形處理器120同時對位映射數(shù)據(jù)和傳統(tǒng)的數(shù)據(jù)和指令進行操作,所以對存儲器130的不同部分可以不同的尋址方式最方便地進行存取。不論所選用的特定的尋址方式是何種方式,存儲器接口250總是對所要存取的數(shù)據(jù)產(chǎn)生適當?shù)奈锢淼刂?。在線性尋址中,一個區(qū)域的起始地址表現(xiàn)為單一的多位線地址形式。該區(qū)域的大小中由中央處理單元200中的狀態(tài)寄存器中的數(shù)據(jù)來確定。在xy尋址中,該起始地址表現(xiàn)為一對x和y的坐標值。該區(qū)域的大小等于像素的大小,即用于描述特定像素的特定數(shù)據(jù)所需要的位數(shù)。
現(xiàn)在轉到圖3,在對本發(fā)明實施例的功能作詳細描述之前,簡略地討論下典型的圖形存儲器系統(tǒng)的存儲器結構是有必要的。雖然有多種存儲器結構和系統(tǒng)可以使用,但如圖3中所示的一種結構更加典型,它使用8個VRAM(視頻隨機存取存儲器)存儲器130排成陣列。每個VRAM存儲器或單元具有四個部分(或稱為板)0、1、2和3。每板的結構是,只使用一根數(shù)據(jù)引線把信息寫入該板。在使用32位數(shù)據(jù)總線的系統(tǒng)中,例如數(shù)據(jù)總線122,將有8個VRAM存儲器(圖3中顯示了兩個),每個VRAM存儲器有四個數(shù)據(jù)引出線連接到輸入數(shù)據(jù)總線。
于是,對于32位數(shù)據(jù)總線,VRAM存儲器130用它的四根數(shù)據(jù)引線分別連接到數(shù)據(jù)總線0、1、2、3引出線。同樣,下一個VRAM存儲器的四根數(shù)據(jù)引線0、1、2、3分別連接到數(shù)據(jù)總線的4、5、6、7引出線。所有剩余的六個VRAM照此連接,直到最后的VRAM的四個數(shù)據(jù)引線連接到總線122的28、29、30、31引出線。
存儲器的排列,將使圖形顯示器的像素信息跨板依次貯存在相同的行中。假定系統(tǒng)的每個像素有四位,那末每個像素的這些位存貯在各自的VRAM存儲器中。在這種情況下,像素0在第一個VRAM中,而像素1在第二個VRAM中。像素2到7的存儲狀況圖中沒有顯示。像素8的像素信息存儲在第一個VRAM中,仍然在行0中但占據(jù)其第二列(列2)。像素信息這樣安排的理由,在了解信息且怎樣從存儲器中檢索出來的以后,就完全清楚了。
繼續(xù)參閱圖3,每個VRAM的板上一串行寄存器140,用于從存儲器行中移出信息。這些寄存器的輸出連接到總線145,其方式與數(shù)據(jù)輸入引線連接到輸入總線的方式相同。于是,存儲器行中的數(shù)據(jù),譬如說行0的數(shù)據(jù),將移入寄存器140中,這發(fā)生在8個存儲器陣列的每個板中。
當在某一時刻察看數(shù)據(jù)輸出總線145時,每個移位寄存器中的第一位會出現(xiàn)在總線上。于是,假定行0正在輸出到總線,那末存儲器130的行0的位A0(板0)會出現(xiàn)在總線的引線0上??偩€145的引線1有行0的位A0(板1),引線2有行0的位A0(板2),而引線3則有行0的位AO(板3)。這些位的后面是下一個VRAM的各個位。于是,在第一個時刻,數(shù)據(jù)總線145上有四個位形成像素0、隨后的四位形成像素1,再隨后的四位形成像素2。這樣繼續(xù)下去,直到在數(shù)據(jù)總線145連續(xù)的各個引線端上出現(xiàn)由32位形成的0-7的8個像素。把這些位提供給圖形顯示器,接著移位寄存器將全部移動一位以便給總線提供下一組8個像素的像素信息,即像素8到15。然后這種移位繼續(xù)進行,直到整個行被移出,之后又選擇新的一行送入輸出串行寄存器。
迄今為止,我們假定每個像素的信息位是4位。如果像素信息變?yōu)槠┤缯f是8位,那末對每個像素必須用兩個VRAM。也會稍微改變。也請注意,存儲器大小和結構可繼續(xù)變化,而且所示的大小和結構僅用作舉例說明,本發(fā)明能夠使用眾多的不同存儲器結構和不同的像素大小。
如前面所討論過的,每個存儲器的每塊板上的串行寄存器有512位長,因此對于每一個從存儲器到串行寄存器的讀出周期有16384位可傳輸?shù)斤@示器。這16384位,假如每個像素包含8位,可代表2048像素的數(shù)據(jù)。然而,假定每根掃描線僅需要1280個像素。于是在存儲器的每根線上,每行存儲器有268個像系不能得到顯示。這個存儲器,隨著我們這兒的深入討論將更清楚,要作別的用途是困難的,而且在效率上是浪費的。
為解決這一問題,可將這種串行輸出寄存器對半分開,并且每一半均用來輸出VRAM的數(shù)據(jù)。我們知道存儲器共使用了32個移位寄存器,但我們將集中討論存儲器的一個板,因為所有板的工作方式是相同的。寄存器的兩半稱作A半和B半。串行寄存器的目的,是從存儲器取出一個完整的屏幕(存儲器)行,并且將該行一個像素接一個像素平滑地顯示在屏幕上。
如上所討論,如果使用單一的非對分式的串聯(lián)寄存器,那末顯示器一個完整掃描行的信息必須從存儲器130移入串行寄存器,然后以屏幕時鐘速率移到屏幕上。這樣就要求存儲器的每一個僅僅包含屏幕信息的一行(或其整數(shù)倍)。若使用對分式的串行寄存器情況就不是這樣了,我們將看到在這種寄存器中,當A段的位位移到屏幕時,其它位可裝入B段;而當B段的位位移到屏幕時,其它位可裝入A段。
現(xiàn)有轉到圖4,它顯示了一個圖形屏幕401,在其表面的橫向上有40個像素,向下有若干行。必須清楚這兒所用的數(shù)字僅用作說明,與實際圖形屏幕的表面(橫向典型像素數(shù)為1280個毫無共同之處。實際的數(shù)目如此之高,以致如果引例中使用接近于通常系統(tǒng)中實際使用的數(shù)字的話,本發(fā)明的操作會變得十分累贅。這也適用于隨后要進行的存儲器501(見圖5)的討論,而且使用實際數(shù)目的系統(tǒng)安排只會使得討論含混不清。事實上,如所看到的那樣,作為討論用的存儲器501,在像素方面比屏幕401有較少的列容量(16)。但在實際中,典型的情況是恰恰相反。
暫時離開一下上述討論。一個典型的具有每行1280個像素和1024行的系統(tǒng),其畫面以每秒60次的速率刷新,所以每隔12.7ns必須顯示一個像素。使用8位的像素,即用兩個4位的VRAM提供每個像素的數(shù)據(jù),將有4組VRAM連接到32位總線上。要求VRAMS的時鐘每50.8ns出現(xiàn)一次,即頻率為19.6MHz。對于這樣高速的數(shù)據(jù)移動,任何小小的暫停(如對串行寄存器重新加載)都很容易被察覺。
現(xiàn)在回到圖5,圖中存儲器501具有4個板。假設每個像素有4位。為了說明問題,這兒我們也假設僅使用兩個這樣的存儲器單元,一個單元包含偶數(shù)像素,而另一個(未畫出)包含奇數(shù)像素。這導致使用8位或8條引出線的總線,每個存儲器單元對應4位。我們?nèi)匀患僭O這種存儲器僅有16列、標號0到15,于是0行是標號A0到A15,而1行是標號B0到B15。如果我們進一步簡化我們的討論、把討論限定在僅包含偶數(shù)像素的存儲器,那么可認為A0位代表0像素的數(shù)據(jù),而A1位代表2像素的數(shù)據(jù)。因此可推論在看不到的第二個VRAM中的A0位將包含1像數(shù)的信息。
遵照這一很不現(xiàn)實的但可作說明用的實施例,在A行中將產(chǎn)生像素0-30(偶數(shù))的信息,在B行中產(chǎn)生像素32-62(偶數(shù))的信息,如此等等。如圖5中所示那樣。
現(xiàn)在讓我們假設需要把代表屏幕第二行所必需的像素-第40-79屏幕像素(圖4)的信息送到屏幕上。
為完成上述任務,該系統(tǒng)將把對存儲器B行尋址的指令位送給存儲器,因為像素40-79的信息,如上面討論那樣,貯存在圖5的存儲器B行和C行中。
上述操作的結果是把B行的像素32-62的像素信息裝入串聯(lián)寄存器中。這表明在圖6中。然而,如果整個寄存器內(nèi)容移位到屏幕上,則B0位到B3位也被位移,因為這些位是屬于屏幕0行上的像素32-38(見圖4),則結果產(chǎn)生了麻煩。為避免這一問題,控制存儲器傳送的處理器(圖中未畫出),將對移位的正確開始位置保持追蹤,而且把這種追蹤信息作為前述指令的一部分提供給存儲器。這一位置稱為分接點(the tap point)。
為了控制對分式寄存器的操作狀況,必須知道應在何時對寄存器的第一部分重新裝入數(shù)據(jù),這個時間應該是當數(shù)據(jù)正在從第二部分移走并且數(shù)據(jù)已經(jīng)從第一部分移走時,或緊接在回掃間隔之后留在第一部分中的數(shù)據(jù)現(xiàn)在屬于屏幕的先前一行時。當然也必須知道何時應對寄存器的第二部分裝入數(shù)據(jù),它應該是在數(shù)據(jù)已從第二部分讀出之后,正從第一部分讀出時。為了完成上述功能,用一個計數(shù)器對在給定時刻上工作的串行寄存器的位置保持追蹤。為了計數(shù)器的正確運行,必須知道寄存器中移位的第一個數(shù)據(jù)的起始點(分接點)。這是很必要的,因為如上所討論的那樣,該起始點未必是存儲器行的起始點。必須采用若干步驟逐行地對計數(shù)器進行校準以控制串行寄存器的兩個半部的裝入和重裝入。
串行寄存器的控制是這樣的當寄存器的第一半完成數(shù)據(jù)發(fā)送時,它即被清除并且重新裝入,所以當數(shù)據(jù)位從寄存器的第二半被發(fā)送時,新的數(shù)據(jù)位便能裝入第一半寄存器。實際上如果首先要發(fā)送的位是處在第二半寄存器即B半中,那末A半將必須立即重新裝載。這一情況是必須確定的。這種確定是由提供給存儲器的尋址信息完成的,它取決于指定一個地址所必需的位的位置和位的數(shù)目。
作為上述情況的一個例子,讓我們看看圖9和圖10中的某些典型的尋址位的結構。圖9表示在3個存儲體選體位和5個混合(miscellaneous)尋址位之前有10位行地址和10位列地址。圖10表示在8位行地址和8位列地址之后僅有5個混合尋址位。
掩蔽碼由用戶建立以適應系統(tǒng)的尋址結構。圖11表示了適用于圖9尋址結構的一個掩蔽碼,而圖12表示適用于圖10結構的一個掩蔽碼。圖13表示適用于我們討論的系統(tǒng)的掩蔽碼,即在兩個選體位前有3個分接點位(16個可能的列,每半個移位寄存器對應8列)。加上這些選體位且為了便于討論。
圖14展示了怎樣使用這些掩蔽碼。圖15到20是我們的舉例說明。
圖15表示行與列的尋址位分別為存儲器的1行4列,應該記得,它就是所選的屏幕行中第一個像素40所在的地址。圖15中所描述的位字也包含其它尋址位0-4和存儲體選擇位5-6。分接點位裝入分接點寄存器91。分接點可以定義為在寄存器中第一個讀到總線上去的那個位的位置。該分接點可從圖15的尋址信息中計算出來。在我們的舉例中,第一個5位地址(0-4)不預考慮,因為就設計而言它們對所有尋址結構都是一樣的。接著的十三位地址被傳送給圖16的分接點寄存器91。
如圖17和18所示,象圖14所控制的那樣,由我們的舉例系統(tǒng)(圖13)產(chǎn)生的掩蔽碼93被復制到掩蔽碼移位寄存器92中。該掩蔽碼用于在選體碼的位數(shù)變化時調(diào)整分接點的位置。在我們的舉例中,有兩個選體位,于是該掩蔽碼的前兩位為0。然后時鐘將寄存器92和91向右進行移位,直到移位寄存器92(圖19)在最右面的位上出現(xiàn)1為止。這一操作用來把存儲選體位從分接點中移掉,于是分接點變成100,如圖20從寄存器91中看到的那樣。
然后這100裝入分接點計算器94(圖21)。由移過位的掩蔽碼92(圖19)確定在計數(shù)器94中哪些位是有意義的。這一分接點規(guī)定了串行寄存器中第一個應該讀到數(shù)據(jù)總線的位置,從圖6中看到,該分接點相應于由A半寄存器中的B4位所控制的像素40。因為圖15中列地址最左邊的位為0,所以選擇A寄存器而不選B寄存器。當列地址的最左面位置為1時,則選擇串行寄存器的B半。
一旦移位后的分接點被選中,則時鐘2001與存儲器移位時鐘一起工作,用來增加使分接點移位寄存器增值并從串行寄存器讀出數(shù)據(jù)。于是,當分接點寄存器包含全部111位時,則意味著圖6A半寄存器的111位置的數(shù)據(jù)將被讀到總線上。這對應于像素46、存儲器位B7。當移位B半寄存器開始時,則分接點計算器溢出到000,此時存儲器位置B8到B15將依次送到圖形顯示器,請注意剛才描述的寄存器操作并不控制實際數(shù)據(jù)的移出,而是控制把數(shù)據(jù)重新裝入串行寄存器。
此時,如圖7所示,A半寄存器被清另且存儲器位置C0到C7、即存儲器的下一行的信息裝入A半寄存器。這種交替操作繼續(xù)進行直到屏幕到達該行的末端、即像素79送到屏幕時為止。這種半行重新裝載需要一個地址,該地址指向要重新裝載的半行的第一位。這種地址來自“可增量復制的行地址”95。當寄存器91裝入寄存器90的內(nèi)容時,寄存器95也從寄存器90裝入。接著在列地址的最左位增加增量1以指向下一個半行。寄存器93用來確定增量位的位置(在最左一個1的左面)。當該地址輸出時,寄存器93也用來保證使該點以右的所有位為0(意味著分接頭地址為零,指向移位寄存器中的第一位)。每次計數(shù)器溢出時,這一寄存器中的地址開始輸出,之后再開始增量。
于是,當分接點時鐘再次達到111時,并當像素62、即存儲器位置B15低于像素79時,分接點計數(shù)器復位到000,并且如圖8所示,作為存儲器的C0到C7從A半寄存器輸送到總線。此時,B半寄存器裝入存儲器位C8到C15。而當時鐘再次達到111時,屏幕也達到了回掃期,寄存器便復位以便由處理器確定把下一個滿行讀到屏幕上。此時,上述過程將重復進行并計算出新的分接點。
如果新的分接點表明要讀出的第一位處在B半寄存器中(如果下一行是像素行80到119就會出現(xiàn)上述情況),那未8A半寄存器如圖8所示將在位置C8處顯現(xiàn)分接點。這意味著A半寄存器必須立即清零且裝入存儲器位D0到D7,以準備好讓分接點計數(shù)器再次達到111并且翻轉,借以追隨從第一半即A半寄存器中讀出的數(shù)據(jù)。
權利要求
1.一種圖形處理系統(tǒng)包含圖形顯示介質(a graphics presentation media);一行一行地傳送數(shù)據(jù)到所述介質的串行寄存器;所述寄存器包含輪換進行工作的第一和第二部分,每部分在另一部分傳送數(shù)據(jù)期間都可重新裝載;對傳送給所述介質的信息的存儲地址進行追蹤的監(jiān)控寄存器;和由所述監(jiān)控寄存器帶動的控制電路,用于控制把數(shù)據(jù)傳送給所述寄存器的所述第一和第二部分。
2.如權利要求1所述的圖形處理系統(tǒng),其特征在于所述監(jiān)控寄存器裝入介質行的新行中第一個數(shù)據(jù)位置的存儲地址,且其后在所述數(shù)據(jù)傳送給所述介質行期間,所述監(jiān)控寄存器增量計數(shù)到一個預先規(guī)定的計數(shù),由此交替控制所述寄存器的所述第一和第二部分。
3.如權利要求2所述的圖形處理系統(tǒng),其特征在于所述要傳送的數(shù)據(jù)包含在存儲器的行和列中,并且數(shù)據(jù)從所述存儲器的存儲單元傳送給所述串行寄存器,可采取一次送一整行的方式,此時所述串行寄存器的所述第一和第二部分分別包含來自給定行的第一半和第二半數(shù)據(jù),也可采用半行方式,所述寄存器的所述第一部分或所述第二部分分別包含來自相同行或不同行的第一半或第二半的數(shù)據(jù)。
4.如權利要求2所述的圖形處理系統(tǒng),其特征在于進一步包含規(guī)定的移位寄存器掩蔽碼;和分接點移位寄存器包含代表所述第一個數(shù)據(jù)位置的數(shù)位、所述分接點數(shù)位可通過將所述移位寄存器的掩蔽碼與表示包含所述存儲地址的行和列地址數(shù)據(jù)的數(shù)據(jù)位圖進行匹配來產(chǎn)生。
5.如權利要求4所述的圖形處理系統(tǒng),其特征在于進一步包含根據(jù)從所述串行寄存器傳送來的數(shù)據(jù)對所述監(jiān)控寄存器進行控制的增量電路。
6.如權利要求3所述的圖形處理系統(tǒng),其特征在于進一步包含;根據(jù)所述半行方式控制所述數(shù)據(jù)移入所述串行寄存器的行地址寄存器。
7.一種把數(shù)據(jù)從顯示存儲器(memory for presentation)移到總線的方法,所述數(shù)據(jù)可在行和列的基礎上尋址。通過把寄存器對分成兩部分,每一部分都可以從這部分傳送數(shù)據(jù),同時,允許向另一部分裝入數(shù)據(jù),所述方法包含步驟在所述存儲器的任一行中的任一列位置接受所述存儲器中的一個存儲單元地址以便從所述行把數(shù)據(jù)提供給所述總線;從所述行把所述數(shù)據(jù)傳送給所述對分式寄存器;控制數(shù)據(jù)從所述對分式寄存器一位一位地輸出傳送到所述總線上,所述控制部分地是通過對所述對分式寄存器中的數(shù)據(jù)的所述列位置進行計數(shù)進行的;在所述接受的存儲單元地址的所述列位置的基礎上,計算出在所述對分式寄存器中的起始位的位置;和從所述計算出的(起始)位位置開始并根據(jù)對所述計數(shù)的列位置的控制、交替地把所述對分式寄存器的這一部分或另一部分的數(shù)據(jù)傳送到所述的總線。
8.如權利要求7所述方法,其特征在于進一步包含步驟當屬于所述接受行的數(shù)據(jù)正在從所述對分式寄存器的第二部分送出時,從所述存儲器的下一個半行把數(shù)據(jù)傳送到所述對分式寄存器的第一部分。
9.如權利要求8所述方法,其特征在于所述總線上出現(xiàn)的所述數(shù)據(jù)將按照一個像素接一個像素的方式立即送到視頻顯示器,且所述的最后提到的向所述對分式寄存器進行的傳送是在所述視頻顯示器的回掃區(qū)間由把數(shù)據(jù)傳送到所述視頻顯示器期間完成的。
10.如權利要求7所述方法,其特征在于所述計算包含步驟設計一個掩蔽碼;產(chǎn)生代表所述起始位位置的分接點,通過把所述的掩蔽碼對包含所述行和列地址數(shù)據(jù)在內(nèi)的要顯示的數(shù)據(jù)的位圖相匹配來產(chǎn)生所述的分接點,且所述控制步驟包含;從與所述分接點相對應的所述對分式寄存器中的位置開始對所述對分式寄存器的位置進行計數(shù)。
11.如權利要求10所述方法,其特征在于進一步包含步驟把所述分接點的二進制值裝入計數(shù)器;和對所述計算器增量計數(shù),加上對所述對分式寄存器所述數(shù)位的檢索(indexing of said bits),共同控制所述傳送步驟。
12.圖形處理系統(tǒng)的工作方法,包含圖形顯示介質;和用于一行接一行地傳送數(shù)據(jù)到所述介質的串行寄存器;所述寄存器包含輪換操作的第一和第二部分,每一部分都可在另一部分向外傳送數(shù)據(jù)期間重新裝載;所述系統(tǒng)包含對送到所述介質的信息的存儲單元地址追蹤的步驟;和按照所述追蹤的存儲單元地址控制數(shù)據(jù)傳送到所述寄存器的所述第一和第二部分。
13.如權利要求12所述方法,其特征在于進一步包含步驟對介質的一個新行的第一個數(shù)據(jù)位置的存儲單元進行裝載;和在數(shù)據(jù)通過所述傳送到所述介質期間,增量到預定的計數(shù)值,由此對所述寄存器的所述第一和第二部分進行交替控制。
14.如權利要求13所述方法,其特征在于所述要傳送的數(shù)據(jù)包含在存儲器中的行和列中,數(shù)據(jù)以一行接一行的整行方式從所述存儲器的存儲單元傳送到所述串行寄存器,使所述串行寄存器的第一部分和第二部分分別包含所給定行的第一半和第二半,或根據(jù)半行方式,使所述寄存器的第一部分或是第二部分分別包含來自相同行或不同行的第一半或者第二半的數(shù)據(jù)。
全文摘要
一種與圖形顯示器的像素大小或每行上的像素數(shù)目無關的圖形數(shù)據(jù)顯示電路和方法。存儲器輸出的對分式串行寄存器與計數(shù)器一起用于維持對寄存器當前工作的輸出級進行計數(shù)。當寄存器的第一半已完成把它的數(shù)據(jù)傳送給顯示部分時,它被清零且用存儲器的下一行的第一半重新對它裝入。其第二半以上述同樣方式工作,并用上述存儲器行的第二半對其重新裝入。這種交替操作允許在不影響數(shù)據(jù)傳送性能的情況下在一行的中途對寄存器進行刷新。
文檔編號G09G5/00GK1049926SQ9010499
公開日1991年3月13日 申請日期1990年7月26日 優(yōu)先權日1989年7月28日
發(fā)明者尼古拉斯K·英格-西蒙斯, 伊恩C·羅伯遜 申請人:德克薩斯儀器股份有限公司