專利名稱:顯示處理器的制作方法
本發(fā)明是關于計算機顯示器的顯示處理器。
作為以信息系統為基礎的計算機的一個組成部分,通常希望為打印機或屏幕(例如陰極射線管(CRT))等輸出設備提供一個控制數據顯示的手段。為了使計算機系統更有效地工作,把幾個顯示器同時加在一塊屏幕上。每個顯示器被稱為一個“窗口”,一般,每個窗口分別顯示計算機執(zhí)行的不同程序。通常這些窗口在顯示屏上相互交迭著,只能完整地看到最前面的一個窗口。后面各重迭的窗口的某些部分看不到,但這些窗口部分里的數據仍保存在存儲器中。
以往,這些顯示器使用的窗口都要用幾個窗口緩沖器,每個緩沖器儲存一個窗口的數據。在顯示之前,窗口緩沖器的內容映射到位映像幀緩沖器中。然后閱讀(一般是以掃描的方式閱讀)位映像幀緩沖器中的內容,從而給出可見的顯示。窗口緩沖器向位映像幀緩沖器映射的順序由主顯示器窗口的順序決定。
上述產生窗口顯示方法的缺點是,每次更新窗口或改變窗口在顯示屏上的位置時,該變動區(qū)的幀緩沖器的數據需要進行位塊傳送。這個過程不僅浪費時間,而且需要附加的存儲空間。此外,后面那些窗口上的數據還必需儲存在窗口幀緩沖器中,這樣,對窗口映象系統來說既費時間,又要多占存儲空間。
因此,本發(fā)明的目的之一旨在提供一種顯示管理系統,這個系統對窗口存貯的更新最少,占用的存儲空間最小,便能把多個交迭窗口的內容顯示出來。
本發(fā)明的第二個目的旨在提供一種完全不需要位映像幀緩沖器的顯示管理系統。
本發(fā)明的第三個目的旨在提供一種使計算機的顯示屏能高效率地顯示多個窗口內容的顯示管理系統。
本發(fā)明的顯示管理系統使用了一個顯示處理器,這個處理器使用一些指示字和解釋符,便能使從窗口緩沖器中讀出的數據直接成為可見顯示,而不必先編輯到位映像幀緩沖器中。在本發(fā)明的最佳實施例中,將屏幕分割為許多水平窄帶,這些水平窄帶的寬度可以窄到一個象素的程度。每條窄帶又分割成一個或幾個矩形瓦塊。這些瓦塊與水平窄帶組合構成視見窗口。由于這些瓦塊的寬度可以窄到一個象素的程度,所以,視見窗口可以成為任意的形狀,譬如圓形或其他不規(guī)則的形狀。這些窄帶在存儲器中由解釋符定義。只有當顯示器上的視見窗口改變時,才更換這些解釋符。在產生顯示的過程中,顯示處理器閱讀解釋符,把每個瓦塊上的數據取出并顯示,不必經過把數據變成位映像形式而儲存的步驟。
圖1是計算機的顯示屏,幾個窗口在屏上相互交迭著。
圖2是定義顯示屏上的瓦塊和水平窄帶的解釋符。
圖3是本發(fā)明顯示處理器最佳實施例的程序塊。
圖4是計算機的顯示屏,屏上顯示著不規(guī)則形狀的窗口。
本發(fā)明用一個顯示處理器在顯示屏上顯示幾個窗口的內容,而無需經過中間的位映像幀緩沖器。為了掌握本發(fā)明的全貌,下面對許多具體細節(jié)分別作介紹,比如操作次數、每個解釋符的位數,等等。顯而易見,對于本領域內的熟練技術人員,不介紹這些具體細節(jié)也能實現本發(fā)明的程序。又譬如,為了使本發(fā)明更加清楚明確,對大家所熟知的線路就不作具體描述。
圖1是顯示屏10,其中窗口11、12和13在屏上相互交迭著。窗口11在最“前面”,能全部顯示。窗口12的一部分被窗口11擋著,窗口13的一部分被窗口11和窗口12擋著。如前所述,以往這些窗口的顯示是靠幾個窗口緩沖器儲存的各窗口的信息產生的。這些窗口緩沖器儲存的內容先變換為整個顯示屏的一幀位映像顯示數據。然后,用光柵方式將這幀位映像閱讀到顯示屏上,從而呈現出一幅圖像,如圖1所示。然而,這樣的過程對于顯示系統來說既費時,又要多占據存儲空間。
本發(fā)明的最佳實施例把屏幕分割為許多水平窄帶,譬如圖1所示的窄帶1到窄帶7。然后,再把每條窄帶進一步細分為許多瓦塊,例如窄帶4的放大圖14上所示的瓦塊1到瓦塊5。這些窄帶與瓦塊組合,就能構成具有一個或幾個窗口的顯示器,在另外實施例中,可在顯示器上定義非矩形面積,并組合起來構成窗口。
現在再看一下圖1,窄帶1僅包含一個瓦塊,它是顯示器的背景信息,窗口不開到窄帶1上。在沒有窗口的地方,顯示字段的背景顏色。背景顏色可由用戶選擇。由于數據只供窗口使用,不向背景傳送,所以,借助于對無窗口區(qū)使用的背景字段,就把系統帶寬的應用擴大到了最大限度。這一特征使顯示處理器的帶寬顯著地減小,從而允許與總線耦合的其他設備的系統帶寬增加。這一點遠遠優(yōu)于先有技術的顯示系統。如前所述,在先有技術的顯示系統中,所有的窗口都要映射到位映像幀緩沖器中。每次更換窗口或改變窗口的位置時,該變動區(qū)的位映像幀緩沖器中的信息(包括背景信息和字段信息)需要進行位塊傳送。另外,所有的數據在屏幕上都以每象素的相同的位速率(bit per pixel ratio)進行傳送,而不像本發(fā)明那樣是有選擇性地傳送。
窄帶4分割為五個瓦塊。瓦塊1代表背景顯示的信息。瓦塊2是窗口12擴展到窄帶4上的部分。瓦塊3是窗口11在窄帶4上的部分,瓦塊4是窗口13在窄帶4上的部分,瓦塊5是背景顯示的信息。
每條窄帶上的信息設置成一串解釋符。這些解釋符提供窄帶的信息。譬如,窄帶上的線數、窄帶內的瓦塊數、每個象素的位數以及用以得到瓦塊信息的存儲單元,等等。產生顯示時,顯示處理器對由解釋符指示的窗口緩沖器的存儲單元設置指示字。然后,閱讀這些存儲單元的數據并直接在特定的瓦塊上顯示。實際上,本發(fā)明采用的是移動式窗口。這種窗口的優(yōu)點是,不需要先有技術的顯示系統所采用的步驟,從而提高了顯示速度,并減少了顯示處理器所需要的存儲量。當屏幕上視見區(qū)的排列發(fā)生變化時,只要改變一下解釋符就行了。即使窗口內的信息發(fā)生變化,解釋符也仍然不變。解釋符從同一存儲單元檢索數據,但是,這些數據將反射發(fā)生在窗口內的變化。只有當屏幕上的窗口排列發(fā)生變化或者窗口向存儲器的映射發(fā)生變化時,才需要改變解釋符。因此,一旦窗口排列確定了,產生顯示遠遠比先有技術簡單得多。
解釋符的操作如圖2所示。顯示處理器利用地址指示字15指示顯示的第一個解釋符的地址。其中,地址指示字L是顯示的第一個解釋符,地址提示字U是解釋符中地址指示字的最后一個有效位(the most significant end)。在本發(fā)明的優(yōu)選實施例中,解釋符由顯示處理器讀取,一直達到屏幕的最下邊為止。
每條窄帶解釋符由后跟一個或幾個瓦塊解釋符的頭標構成,這些瓦塊解釋符全在存儲器的一個相鄰程序塊中。頭標由屬于整條窄帶的信息組成,譬如每條窄帶的線數和窄帶內的瓦塊數。在本發(fā)明的優(yōu)選實施例中,頭標可由窄帶上的幾條線和一條窄帶內的十六個瓦塊構成。一條窄帶在寬度方向可以是一個單獨的象素,也可以是整個屏幕的寬度。利用在長度方向為一個象素的多個窄帶,可使窗口成為非矩形的形狀。關于這一特征,下面結合圖4詳細介紹。
每條窄帶解釋符包含該窄帶內幾個瓦塊的信息。瓦塊信息包含窗口寬度、存儲器的開始地址、每個象素的位數、開始位、終止位、取計數(fetch count)、F代碼、WST、PC、Z代碼和PBLR。存儲器的開始地址給出窗口映像單元的開始地址,從這個地址開始取數據。這個地址與瓦塊(左上角)內位映像數據的第一個字的地址相一致。
每個象素的位數(BPP)視為被存取的窗口的分辨率。在本發(fā)明的最佳實施例中,每個象素的位數可以是一位、兩位、四位或八位,由用戶決定。
開頭的數字是瓦塊上顯示的第一個字的位數。由于瓦塊上的第一個字可以斷開,所以,開頭的數字就表示該瓦塊上實際出現的那個字的第一位。這個數字給出了存儲器內開始地址的位分辨率(和瓦塊上開始部分的象素分辨率)。
終止位是被顯示的窗口上最后一個字的位數。與開始位的情況類似,這一位表示窗口內實際出現的最后一個字的最后一位。這個位數給出了窗口寬度的象素分辨率。如果沒有開始位和終止位,就只能得到瓦塊寬度的字分辨率。由于瓦塊寬度的象素分辨率和窄帶寬度的象素分辨率相同,所以,利用本發(fā)明可以得到任意形狀的窗口。
取計數指示出當前窗口的瓦塊所取的位映象數據的字數。顯示背景信息時,不考慮取計數。
WST給出窗口的狀態(tài)。在本發(fā)明的最佳實施例中,它是兩位代碼,當顯示該窗口時,用戶可把它輸到窗口狀態(tài)的接線腳上。這個代碼可用來指示改變窗口顏色的調色板隨機存取存儲器(Pallette RAM),指示來自其他信號源的視頻數據的多路傳輸,或者指示用戶定義的某些適當的函數。
PC代碼表示被顯示的窗口是否來自以特殊格式產生的位映像。譬如,在本發(fā)明的最佳實施例中,PC代碼可以指示位映像是否以IBM的PC格式產生。通過激活這個代碼,顯示就可以由單窗口或“多窗口”構成,單窗口時,顯示計算機的某種類型的顯示格式,在“多窗口”情況,計算機格式的窗口顯示是伴隨著按顯示處理器格式而顯示的多個窗口的。雖然給出的例子采用的是IBM的PC格式,但是,顯而易見,本發(fā)明也可以應用其他顯示格式。
Z代碼指示窗口上的圖形是否經過圖形變比的程序。F代碼表示窗口是否背景字段。當字段的位設定時,顯示處理器不考慮取計數,并且,要顯示的字段象素數通常編在BPP、開始位和終止位字段的程序內。TBLR是邊界控制代碼。在本發(fā)明的最佳實施例中,每個窗口均可以具有上、下、左、右邊界、全部邊界或任何幾個邊界的某種組合。
如前所述,顯示處理器閱讀指示字,直到達到屏幕的下邊沿為止。圖1中窄帶1的指示字由字段信息構成。窄帶2的指示字由頭標信息和三個瓦塊構成。當瓦塊2內包含窗口12的信息時,瓦塊1和瓦塊3就是字段瓦塊。存儲器的開始地址把處理器指引到窗口12的數據的位映像19,窄帶2的頭標信息把處理器指引到窄帶3的解釋符,窄帶3的頭標把處理器指引到窄帶4的解釋符,窄帶4的細節(jié)如圖2所示。
窄帶4的解釋符18指明當屏幕上的窗口交迭時,解釋符應如何排列。窄帶4的瓦塊1是字段數據,瓦塊2存取窗口12的位映像存儲器19的數據,瓦塊3含有窗口11的信息,它存取窗口11的緩沖器20的數據。瓦塊4包含窗口13的一部分信息,它存取緩沖器21包含的那部分數據。瓦塊5是背景字段。
雖然圖1中的窗口11、12和13是矩形,但是,通過改變水平窄帶的寬度便能得到任意形狀的窗口,譬如,圖4表示如何得到邊沿彎曲的窗口28或三角形窗口29。每條水平窄帶只能分割成矩形瓦塊,但借助于把連續(xù)的窄帶分割得很窄,就能得到邊沿彎曲的窗口或三角形窗口。顯而易見,彎曲的邊線或三角形邊線的平滑程度取決于水平窄帶的寬度。窄帶越窄,彎曲的邊線或三角形邊線越平滑。如前所述,在本發(fā)明的最佳實施例中,水平窄帶可以窄到一個象素的程度,而瓦塊本身就具有這一寬度上的象素分辨率。因此,利用本發(fā)明可以定義單象素瓦塊。
本發(fā)明的顯示處理器的格式如圖3中的框圖所示。總線接口23提供與窗口緩沖器通信的手段,窗口緩沖器與總線相接。上述總線接口23通過導線26將地址發(fā)生器24與數據通路程序塊25相耦合。地址發(fā)生器24含有儲存解釋符的RAM。每個瓦塊的解釋符包括六個字(窗口寬度、存儲器的開始地址L、存儲器的開始地址U、每個象素的位數、取計數和字段信息),任意一條水平窄帶上最多可以定義16個瓦塊。在本發(fā)明的最佳實施例中,在顯示器的水平空白期間,單個水平窄帶的解釋符存儲在更新了信息的地址發(fā)生器中??偩€接口23按照存儲在地址發(fā)生器24中的解釋符的存儲器地址信息,從窗口緩沖器中取數據。這個數據與顯示控制位(例如開始位、終止位、每個象素的各位、圖形變比、字段和邊沿,等等)一起,被提供給數據通路程序塊25。
上述數據通路程序塊25包含控制邏輯,并與視頻數據輸出腳0~7連接。該程序塊還控制光標和窗口函數。數據通路程序塊包含FIFO,FIFO在系統總線(通過總線接口23)與視頻總線(通過視頻輸出腳0~7)之間起緩沖器的作用。因此,在顯示之前,可預先提取數據。視頻數據通過輸出腳0~7輸給顯示器。
CRT的控制器22產生CRT屏幕和空白控制器所需要的水平同步和垂直同步信息。在本發(fā)明的最佳實施例中,顯示器可采用非交錯同步、交錯同步(顯示第一幀的偶數行和第二幀的奇數行)或者隔行同步(奇數字段的顯示與偶數字段的顯示相同)。本發(fā)明的最佳實施例中使用的就是上述CRT的控制器。當采用非光柵掃描顯示器時,可能需要垂直和水平同步。
在每一幀的末尾,總線接口用來更新同步寄存器。在垂直空白期間,指令的執(zhí)行自動產生,這就意味著顯示格式的任何變化將自動地與顯示的更新相同步。于是,不需要像先有技術那樣進行更新時由用戶來決定。
如上所述,每個瓦塊解釋符包含每個象素信息位的信息。因此,在顯示屏上存在以每個象素1位、2位或4位的分辨率來顯示數據的窗口的同時,也可有以每個象素8位的分辨率來顯示數據的窗口。另外,數據只需按照在顯示時的每象素的位速率從存儲器中取出來。
雖然本發(fā)明的最佳實施例提供的是一個產生光柵掃描顯示的有效方法,但是,利用指示字來產生特定區(qū)域顯示的概念可以應用于其他顯示器,譬如打印機和非光柵掃描的屏幕。此外,雖然上述最佳實施例采用的是矩形瓦塊和窄帶,但本發(fā)明告訴我們也可以便利地使用其他形狀。
對于非光柵掃描顯示器的情況,要注意的是當打算改變顯示的特定區(qū)域時,需要采用只指示有效存儲范圍的解釋符。在這樣的實施例中,解釋符不需要定義窄帶和瓦塊,但可以用來描述顯示的區(qū)域。
以上描述了當顯示一個或多個窗口時不需要有位映像幀緩沖器的顯示處理器。
權利要求
1.一個在顯示器中控制數據顯示的設計,其特征在于包括接口裝置、地址發(fā)生器裝置和邏輯裝置。接口裝置用于實現數據源與上述顯示器的通信;地址發(fā)生器裝置與上述接口裝置耦合,用來產生和儲存幾個窄帶的解釋符,這些解釋符定義上述顯示器的數據程序塊;邏輯裝置與上敘地址發(fā)生器裝置耦合,用來定義上述顯示器上的窗口和選擇上述解釋符。
2.按權利要求
1所述的設計,還包含控制裝置,控制裝置與上述邏輯裝置耦合,為上述顯示器提供水平同步和垂直同步。
3.按權利要求
1所述的設計,其中每個上述窄帶解釋符用來定義上述顯示器上的一個水平窄帶。
4.按權利要求
3所述的設計,其中每條上述水平窄帶又細分為至少一個瓦塊。
5.按權利要求
4所述的方案,其中每個上述窄帶解釋符包括頭標和上述水平窄帶上每個瓦塊的瓦塊解釋符。
6.按權利要求
5所述的設計,其中多個瓦塊組合而在上述顯示器上形成至少一個窗口耦合。
7.按權利要求
6所述的設計,其中每個上述瓦塊解釋符定義存儲器的存儲單元,該存儲單元存有要在上述瓦塊上顯示的信息。
8.按權利要求
7所述的設計,其中上述頭標包括定義上述水平窄帶寬度的信息和上述窄帶內上述瓦塊數的信息。
9.按權利要求
8所述的設計,其中上述解釋符包括定義上述瓦塊長度、上述瓦塊顯示的數據的存儲地址單元的信息,并確定在上述顯示器上顯示的每個象素的位數。
10.一個在顯示器中顯示幾個窗口的數據的方法,其特征在于包括以下步驟,把上述顯示器分割為許多水平窄帶;把這些水平窄帶分割為至少一個瓦塊;確定一個窄帶解釋符,該窄帶解釋符確定上述多條水平窄帶中的一條,該窄帶解釋符包括頭標和瓦塊解釋符,從而確定上述水平窄帶內的每個瓦塊;上述每個瓦塊上顯示的數據由上述瓦塊解釋符決定;把上述瓦塊加以組合,在上述顯示屏上形成至少一個窗口。
11.按權利要求
10所述的方法,其中上述頭標確定上述窄帶的寬度和該窄帶內的瓦塊數。
12.按權利要求
11所述的方法,其中上述瓦塊解釋符包括瓦塊長度、上述瓦塊顯示的數據的存儲地址單元和瓦塊上顯示的每個象素的位數。
13.按權利要求
12所述的方法,其中上述顯示屏是一個陰極射線管(CRT)。
14.按權利要求
12所述的方法,其中上述顯示器包括打印機。
15.按權利要求
13所述的方法,其中上述窄帶解釋符儲存在緩沖存儲器中。
16.按權利要求
15所述的方法,其中在上述CRT的水平空白期間,上述緩沖器被更新。
17.按權利要求
16所述的方法,其中,每個象素具有的位數為第一種數的第一窗口,可以與每個象素具有的位數為第二種數的第二窗口同時顯示。
專利摘要
一部用于在顯示屏上顯示一個或幾個窗口數據 的顯示處理器,將顯示屏分割為許多水平窄帶,每條 窄帶又細分為幾個瓦塊。每個瓦塊描述屏幕上顯示 窗口的一部分,由瓦塊解釋符定義,瓦塊解釋符包括 該瓦塊上顯示的數據存儲地址單元。只有當窗口在 屏幕上的排列發(fā)生變化或某個窗口到位映像的映射 發(fā)生變化時,才需要改變解釋符。本發(fā)明的顯示處理 器在屏上顯示數據之前,不需使用位映像幀緩沖器。 每條水平窄帶的寬度可窄到一個象素的程度,因此, 可以得到任意形狀的窗口。
文檔編號G09G5/14GK87100869SQ87100869
公開日1987年8月19日 申請日期1987年2月7日
發(fā)明者馬丁·蘭德爾 申請人:英特爾公司導出引文BiBTeX, EndNote, RefMan