專利名稱:在計算機(jī)顯示器上的圖象的硬件旋轉(zhuǎn)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖象顯示器,并且特別涉及用于按照更新存儲器來更新顯示裝置的系統(tǒng)。
陰極射線管(CRT)、液晶顯示器(LCD)、和其它類型的顯示器機(jī)構(gòu)采用周期性更新。就CRT顯示器而言,例如,一電子束以快速速率掃描顯示屏幕上的熒光體,以保持該圖象是可見的。為此,一個更新存儲器包含表示組成圖象的畫面單元的象素數(shù)據(jù)表示值,并且這些數(shù)據(jù)是從存儲器中以屏幕位置需要被"描畫的"次序而取得的。
特別是在某些小型的、手持顯示器的情況下,能夠改變圖象顯示器的方位是有價值的。其較長尺寸位于垂直方向的圖象被稱為具有"縱向"方位,而其較長尺寸位于水平方向的圖象被稱為具有"橫向"方位。
對于要顯示的一個典型的圖象,典型的顯示裝置具有的尺寸是長大于其他方向,并且在某些較小顯示器中,按照所使用的顯示裝置的特定的圖象,允許用戶在縱向或橫向方位進(jìn)行顯示是方便的。目前,從硬件觀點看,該顯示裝置按照在保留或安裝在該顯示裝置中的特定方位來改變其掃描是不切實際的。即,典型情況下,該顯示裝置沿著在顯示器的長度方向延伸的掃描線如此掃描連續(xù)的顯示位置,而不考慮其方向是水平的還是垂直的。
但是,從編程觀點看,可方便按照所需的圖象方位指出像素位置連續(xù)的地址應(yīng)該水平地增加,而不考慮該顯示裝置的掃描方向。即,能夠方便地沿著縱向圖像的水平方向順序地指出像素位置,即使該顯示裝置未以該順序從該存儲器中恢復(fù)圖象數(shù)據(jù)。這意味著支持的硬件應(yīng)該對顯示裝置掃描方向的變化進(jìn)行補(bǔ)償,以使他們對程序員來說是明晰的。
完成該目的的一種方法是提供將該程序員的軟件地址轉(zhuǎn)換成存儲器位置,其順序與該顯示裝置的掃描順序匹配,有些申請中的方法是所需的。但是,從硬件設(shè)計觀點看,有時最好是不需要實時地進(jìn)行這樣的轉(zhuǎn)換,這是由于更新地址以隨機(jī)次序發(fā)生,使該轉(zhuǎn)換過程變得復(fù)雜。
因此我設(shè)計了一種方法,它允許該更新數(shù)據(jù)儲存在更新存儲器位置,其順序與該正常的圖象掃描順序匹配,而不是該硬件裝置的掃描順序。為了取得更新數(shù)據(jù),我使用了一個地址發(fā)生器,當(dāng)沿著一個顯示行恢復(fù)連續(xù)的像素位置的數(shù)據(jù)時,它重復(fù)地以一個軟件地址行偏移量增加其輸出值。而且按照該數(shù)據(jù)被取得的特定的顯示行,在用他們來驅(qū)動該顯示裝置之前,我對從單個存儲器位置取得的這些比特重新排序。用這種方式,我能夠適當(dāng)?shù)仫@示該圖象數(shù)據(jù),即使一些數(shù)據(jù)的象素值已經(jīng)被儲存在每個存儲器位置。按照本發(fā)明的另一方面,我在不同的存儲器模塊的通常尋址位置儲存連續(xù)的圖象行,以使在一個給定顯示行中的多個顯示象素數(shù)據(jù)可以同時被獲取,即使那些數(shù)據(jù)代表不同的圖象行。
下面結(jié)合附圖描述本發(fā)明,其中
圖1是能采用本發(fā)明的顯示存儲器結(jié)構(gòu)的該類型的計算機(jī)系統(tǒng)的方塊圖;圖2是圖1的顯示控制器的更詳細(xì)的示意圖;圖3a和3b是描述橫向圖象的圖象空間和顯示掃描順序之間的相互關(guān)系的圖;圖4a和4b是類似于圖3a和3b的圖,但是圖示了縱向圖象的順序;圖5是圖2的地址發(fā)生器/存儲器接口模塊的存儲器接口部分的方塊圖;圖6是該模塊的地址產(chǎn)生電路的方塊圖;圖7a和7b分別是描述該系統(tǒng)的橫向和縱向方式的地址產(chǎn)生的時序圖;圖8描述了該圖示的實施例采用的縱向方式存儲器結(jié)構(gòu)的一種形式;圖9是該圖示的實施例的存儲器模塊和顯示線路的方塊圖;圖10是該圖9的顯示線路采用的奧米伽網(wǎng)絡(luò)的方塊圖;圖11是圖10的各個奧米伽網(wǎng)絡(luò)交換機(jī)的更詳細(xì)的方塊圖;圖12是描述奧米伽網(wǎng)絡(luò)選擇信號和掃描線之間相互關(guān)系的表,其中每個存儲器位置包含四個象素的數(shù)據(jù)值,該圖示的實施例以其縱向方式采用了它;圖13是由該圖示的實施例采用的一個類似的表,其中每個位置包含八個象素的數(shù)據(jù)值;圖14是一個類似的表,其中每一位置包含兩個像素的數(shù)據(jù)值;圖15是由本發(fā)明的其它實施例采用的存儲器模塊和顯示線路的方塊圖;圖16描述了圖15的實施例的存儲器結(jié)構(gòu);圖17是由圖15和16的其它實施例采用的地址轉(zhuǎn)換網(wǎng)絡(luò)的邏輯圖;和圖18描述了該實施例的存儲器芯片選擇電路。
圖1是典型的計算機(jī)系統(tǒng)的方塊圖。中央處理單元("CPU")10經(jīng)由總線14與其他總線設(shè)備12聯(lián)接,該總線又提供該CPU訪問顯示控制器16。該CPU發(fā)送顯示控制器圖象更新數(shù)據(jù)和相應(yīng)的地址,該地址告訴控制器16在圖象存儲器即靜態(tài)RAM18中的什么位置儲存該數(shù)據(jù)。同時,該顯示控制器16使用如此儲存的數(shù)據(jù),以提供更新顯示裝置20的數(shù)據(jù)。
圖2更詳細(xì)地描述了顯示控制器。時鐘電路30的工作用于提供整個顯示控制器的定時。主接口模塊34將響應(yīng)直接由中央處理單元來的總線信號提供到該顯示控制器。此類命令可以指示板上結(jié)構(gòu)寄存器36被裝入了指定的值,或者他們會使那些值被讀出,以使該主接口34可以在該總線14上傳送該值到該中央處理單元。
來自中央處理單元的其他信號可以使該主接口模塊34操作該地址發(fā)生器和存儲器接口模塊38中的接口電路,以加載該圖象存儲器18或從它那里取得數(shù)據(jù)。排序器40操作該地址發(fā)生器和存儲器接口38,以使它提供一個顯示線路41,以更新用于該顯示器的數(shù)據(jù)。典型地,該數(shù)據(jù)從一個包含查尋表42的調(diào)色板中指定選項,并且如此從該查尋表取得的數(shù)據(jù)由顯示接口模塊44轉(zhuǎn)換成為適合于驅(qū)動該顯示器的信號。
當(dāng)該中央處理單元"更新"該顯示存儲器18時,它發(fā)送給該存儲器的不只是該象素的值而且還有它在該圖象中的位置。圖3a和b圖示了用于橫向圖象的圖象方位更新順序的一個象征性的關(guān)聯(lián)。包含沿著圖象行的連續(xù)象素數(shù)據(jù)的位置地址值典型情況下是從左至右增加的。如果每一存儲器位置包含僅僅一個象素的數(shù)據(jù),則一個象素的該數(shù)據(jù)被包含在這樣一存儲器位置中,其地址大于包含在相同的圖象行中其左邊的象素數(shù)據(jù)的存儲器配置的地址。如果每一位置包含一個以上像素數(shù)據(jù),則該存儲器地址每n個像素遞增1,其中n是其數(shù)據(jù)包含在單個位置的像素的編號。
對于一個橫向圖像,該典型的顯示器件以基本上相同的順序在一個行內(nèi)從左至右重新繪制新的像素,并且自上而下相繼地掃描行。因此,應(yīng)該從其取數(shù)更新數(shù)據(jù)的地址的產(chǎn)生是相對簡單的。當(dāng)掃描一個行并且計算一個新的行開始地址時,順序的地址遞增1,所說新的行開始地址比如作為在每行開始的時候從先前的行開始地址的偏移。
然后該圖像具有縱向方位,那就是說,即,當(dāng)其垂直尺寸超過其水平尺寸時,當(dāng)從左到右增加該圖像的行時,通常仍然可方便地用一個給定圖象行中的所有地址來指定地址,所說所有地址大于在該圖象行下面的任何地址。可是,由于速率的考慮,對于實際顯示裝置最好是不在相同的方向掃描;正如圖4a和4b所示,圖象數(shù)據(jù)可以用圖4a描述的順序進(jìn)行的地址來指定,但是典型情況下用于呈現(xiàn)該圖像,顯示裝置將如圖4b指示的那樣被掃描,即在上面開始并且在垂直行中向下地從右至左地掃描。在這樣一個設(shè)備中,那里必須有一個成像位置到存儲器地址的更復(fù)雜的變換,或者更復(fù)雜地產(chǎn)生該更新地址序列。
現(xiàn)在將要描述的該顯示系統(tǒng)采用后種方法該存儲器地址序列概略地遵循常規(guī)圖象位置順序,并且再生地址的產(chǎn)生是在補(bǔ)償該顯示裝置的不同掃描方位的順序中完成的。那么做的方法將結(jié)合圖5和6討論,圖5和6分別是圖2的模塊38的存儲器接口和地址產(chǎn)生部分。
如圖5所示,該存儲器接口電路包括輸出鎖存器50,鎖存器50的輸出是顯示存儲器18的地址輸入。一個MEM_CLK信號快速脈沖激發(fā)鎖存器50,足以用中央處理器訪問來進(jìn)行顯示更新訪問。來自排序器的REFRESH_SLOT信號的電平確定鎖存器50是否是接收多路復(fù)用器52的下面的更新地址輸入或者是其上面的更新地址輸入。
在目前上下文中的最大的興趣是為更新顯示而提供的地址,并且它們是其它多路復(fù)用器54的輸出。對此,正如所進(jìn)行的討論,將變成透明的是多路復(fù)用器54應(yīng)用16比特GEN_ADDRESS信號的比特[140]或者[151],所說信號是以將要結(jié)合圖6說明的方式產(chǎn)生的。
我們首先考慮以橫向方式的地址產(chǎn)生。為產(chǎn)生存儲器地址,一個鎖存器60在多路復(fù)用器61的輸出中加載存儲器時鐘信號MEM_CLK的每一脈沖。多路復(fù)用器61通常在反饋鎖存器60的GEN_ADDRESS輸出與提供存儲器計算加法器62的輸出之間切換。正如圖7A所示,該存儲器時鐘信號MEM_CLK通常觸發(fā)REFRESH_SLOT,它限定了更新訪問周期。這更改了CPU周期,其中CPU更新該圖象存儲器或從它那里讀取數(shù)據(jù)。REFRESH_SLOT的頻率在橫向方式中等于象素時鐘除以每一存儲器位置的像素編號提供的頻率。
當(dāng)該顯示器正以橫向方式掃描一個行時,多路復(fù)用器66轉(zhuǎn)遞該當(dāng)前存儲器地址給加法器62的輸入端之一。其他輸入端通常接收從禁止的與門組件68通過多路復(fù)用器70傳來的零值,但是該加法器又接收來自門71的"1"值,以使該加法器的輸出值NEXT_ADDRESS(圖7A)大于當(dāng)前存儲器地址。當(dāng)多路復(fù)用器61傳送加法器62的輸出時,該地址發(fā)生器的輸出因此在每個第二個MEM_CLK脈沖時增加。
當(dāng)該顯示器到達(dá)一行的未端時,排序器40的LOAD_NEXT_ROW輸出允許與門組件68轉(zhuǎn)發(fā)寄存器的PIRCH_ADJUSTMENT輸出,它小于用于一顯示行的上一個象素值和下一顯示行的第一個象素值的地址之間的差值。當(dāng)一完整的儲存的成像正被顯示時,這個值典型情況下是零。但是該顯示圖象常常只是該儲存的圖象的一部分,對此,用戶可以掃換并且增加由該儲存的圖象的切斷部分而來的非零PITCH_ADJUSTMENT值給要顯示的部分的左邊和/或右邊。
以此方式繼續(xù)進(jìn)行地址的產(chǎn)生,直到該顯示器完成其未行顯示。當(dāng)它完成時,該地址值應(yīng)該返回到該圖象的開始地址,該CPU已經(jīng)裝載了寄存器36,以使作為其SOFTWARE_FRAME_START_ADDRASS輸出出現(xiàn)。在橫向方式中,一地址轉(zhuǎn)換電路72將未修改的地址作為幀開始地址(FRAME_START_ADDRESS)傳遞給多路復(fù)用器61,并且在一幀開始的時候,解碼器73暫時使多路復(fù)用器61傳送該值以代替加法器輸出。因此該輸出鎖存器最初提供的值正是地址發(fā)生器的輸出。然后繼續(xù)地址的產(chǎn)生,正如所描述的。
縱向方式的地址產(chǎn)生不同于上面描述的橫向方式的地址產(chǎn)生。這可以通過結(jié)合圖8來理解。該圖描述了分配給縱向方式圖象的存儲器空間。為了舉例,該圖象被弄成240像素寬乘320像素長。該象素數(shù)據(jù)表示從四色調(diào)色板中選擇,那么每一像素需要兩個比特,并且我們假定每一存儲器位置包含單個字節(jié),因此可以包含用于四像素的數(shù)據(jù)。
圖8描述了在(十六進(jìn)制表示的)位置2180開始的圖象數(shù)據(jù),該第一(縱向)行的數(shù)據(jù)終止于位置21BB。在該圖示的例子中,第二行在存儲器位置21CO處開始。因為該顯示裝置是在其長度方向掃描的,沿著順序的(橫向掃描)顯示列,該數(shù)據(jù)需要從順序的(縱向)圖象行位置提取。因此屏幕更新必須從位置21BB開始,該位置包含用于該縱向圖像的右上角的數(shù)據(jù),即使分配給該圖象數(shù)據(jù)的存儲器塊以縱向圖像的左上角數(shù)據(jù)在存儲器位置2180開始。
另外,相繼提取的象素數(shù)據(jù)的地址必須有一行偏移的差別,例如它是4016。為此,解碼器73使多路復(fù)用器70來自其它多路復(fù)用器74提取加法器62的較低的輸入,該解碼器正常是導(dǎo)致傳送該解碼器的ROW_OFFSET輸出。并且該解碼器再實施其INCREMENT_EN輸出,以使門71不再實施加法器的進(jìn)位輸入。當(dāng)該顯示器沿著橫向行顯示時,該加法器輸出因此在每個第二個MEM_CLK脈沖時遞增該縱向行偏移量,那么該輸出鎖存器60的GEN_ADDRESS輸出也遞增。
當(dāng)該顯示器開始一新的(橫向)行時,該解碼器73使多路復(fù)用器74向解碼器提供產(chǎn)生的"0"或"-1"值,作為多路復(fù)用器70傳送到加法器62的較低的輸入端口的輸入,并且它使多路復(fù)用器66從行開始透明的鎖存器76而不是該輸出鎖存器40提取加法器的較高的輸入。正如將要說明的,鎖存器76的輸出是該存儲器位置的地址,該存儲器位置包含用于剛剛完成的顯示行的開始的象素數(shù)據(jù)。
如果每一位置保存有一個以上像素值,則下一顯示行的第一個象素可以在與先前行的相同位置,在這種情況下,該解碼器73向多路復(fù)用器74提供"0"值,以使該新的顯示行的初始輸入從與先前行的相同存儲器位置提取。位置21BB,例如,包含用于四個順序的顯示器行(圖象列)的每個中的第一個象素的數(shù)據(jù),那么對于四個順序的顯示行掃描的每一個,數(shù)據(jù)的提取應(yīng)該在那里開始。當(dāng)開始第五行時,該解碼器向多路復(fù)用器74提供"-1",并且從而使下一行的初始輸入從在前面行的初始輸入被提取的位置之前提取。
在一顯示器行開始的時候,該排序器40主張LOAD_NEXT_ROW信號引起與門77向鎖存器78隨時地傳送該REFRESH_SLOT信號。通過該寄存器的激活,指示縱向信號的縱向方式,與門79又通過或門80向其它鎖存器81傳送該LOAD_NEXT_ROW信號。因此,在該下一個MEM_CLK脈沖上,鎖存器81的輸出設(shè)定這樣一個電平,它使得多路復(fù)用器82向透明的鎖存器76傳送其較高的輸入GEN_ADDRESS,而鎖存器78的輸出由或門83傳送,設(shè)定這樣一個電平,它切換該透明的鎖存器76到其透明的狀態(tài),其中它簡單地傳送該GEN_ADDRESS輸入。該REFRESH_SLOT脈沖然后結(jié)束禁止與門77,以使下一個MEM_CLK脈沖使得鎖存器78返回該透明的鎖存器76的輸出進(jìn)入其鎖存狀態(tài),其中它保持當(dāng)時流行的(then-prevailing)GEN_ADDRESS,即,包含用于在當(dāng)前顯示行開始像素的數(shù)據(jù)的位置的地址。
如上面提到的,當(dāng)0或-1被加到它上以確定用于下一顯示行的開始地址時,透明的鎖存器76通常保持此值一直到該顯示行掃描的末尾。可是,在一個新幀開始的時候,該排序器40立刻主張LOAD_FRAME_START通過或門83,以使該透明的鎖存器76立刻設(shè)定其透明的狀態(tài)。這出現(xiàn)在多路復(fù)用器82正轉(zhuǎn)發(fā)FRAME_START_ADDRESS信號之時,以使信號的值替換該未行的行開始值。
在該縱向方式中,該地址轉(zhuǎn)換電路72可以簡單地傳送代表該值的該軟件幀開始地址信號(SOFTWARE_FRAME_START_ADDRESS),該CPU加載該寄存器,以指示圖象數(shù)據(jù)重現(xiàn)應(yīng)該從哪開始。但是也可以改為轉(zhuǎn)換該開始地址以便適應(yīng)下面描述的存儲器結(jié)構(gòu),它降低了必要的存儲器時鐘頻率。
如上所述,各個存儲器位置可以包含一個以上像素的數(shù)據(jù),這就使得必需要地址發(fā)生器在縱向方式操作,以便對于順序的顯示器件行掃描進(jìn)行幾次重復(fù)一個順序的存儲器位置地址。這就意味著在每次地址發(fā)生器產(chǎn)生相同存儲序列時,該存儲器輸出代表相同的像素位置組的數(shù)據(jù),但是那些位置的具體比特應(yīng)該控制從掃描到掃描的顯示變化。對于一個給定掃描為了選擇適當(dāng)?shù)谋忍?,該顯示系統(tǒng)采用圖9的奧米伽(奧米伽)網(wǎng)絡(luò)90,它們是圖2的顯示線路41的一部分。
圖9描述了圖象存儲器18,實際上是用16比特位置組織起來的,而不是圖8建議的8比特位置。這是因為該系統(tǒng)的更新方面比如可以采用一個多路復(fù)用器92,以按照該MEM_ADDRESS信號最低有效位來在存儲器輸出的較高的兩個字節(jié)與其較低的兩個字節(jié)之間選擇。
圖10和11更詳細(xì)地描述了該奧米伽網(wǎng)絡(luò)。如圖10顯示的,該奧米伽網(wǎng)絡(luò)90是一個三級網(wǎng)路,包括三個開關(guān)網(wǎng)絡(luò)級94、96和98。每個級包括在圖11中描述的類型的四個開關(guān)網(wǎng)絡(luò)。每個轉(zhuǎn)換開關(guān)電路包括較高的和較低的輸入行100和102以及較高的和較低的輸出行104和106。每一個轉(zhuǎn)換電路要么傳送該較高的和較低的輸入行信號分別到該較高的和較低的輸出行,或者轉(zhuǎn)接該信號,以使該較低的輸出信號為較高的輸入信號,并且該較高的輸出信號為較低的輸入信號。按照在多路復(fù)用器控制器108(圖9)的三個選擇輸出中的對應(yīng)一個上的信號,來選擇是否傳送還是切換給定級。
如圖10所示,在該第一切換組件中的該頂端切換電路94a接收比特7和5,其中比特7是該最高有效位。該后者切換電路94b接收比特3和1,電路94c接收比特6和4,并且電路94d接收電路2和0。換言之,在一個給定級中的切換電路的上半部以降序接收奇數(shù)的比特,而較低的一個以降序接收偶數(shù)的比特。同樣地,如果考慮第一級的輸出為自上而下的降序編號,該第二級電路96a和96b以降序接收奇數(shù)的第一級輸出,而較低的兩個電路96c和96d類似地以降序地接收偶數(shù)的第一級輸出。該在組件98的切換電路以相同的方式接收組件96的輸出。
通過跟隨生成的信號通路,可以得知該輸出比特可以被如此重新排序,以允許選擇該適當(dāng)?shù)臄?shù)據(jù)用于給定的掃描。具體地,該多路復(fù)用器控制器108從該排序器40接收TOTAL_ROW_COUNT信號。該TOTAL_ROW_COUNT信號代表當(dāng)前顯示掃描行的編號,并且該多路復(fù)用器控制器108按照該計數(shù)的三個最低有效位來產(chǎn)生不同的切換組件的多路復(fù)用器選擇信號。
例如,如果在每個存儲器字節(jié)有數(shù)據(jù)的四個像素值,該多路復(fù)用器控制器108按照圖12的表產(chǎn)生其輸出。通過跟隨一直到圖10的生成的信號通路,可以得知在零掃描行期間,在奧米伽網(wǎng)絡(luò)的輸入比特行[10]上的信號出現(xiàn)在該奧米伽網(wǎng)絡(luò)的頂端兩個輸出行110和112。同樣地可以看出來自行[32]、[54]、和[76]的信號分別地出現(xiàn)在第一、第二和第三顯示器行掃描期間的那些輸出行上。如此,如果該查閱表被安排得使其輸出只是信賴于頂端兩個比特,一直排序到相同的存儲器位置的順序?qū)?dǎo)致該適當(dāng)?shù)南笏財?shù)據(jù)的選擇。
當(dāng)在每個位置中有一個、兩個、四個或八個像素數(shù)據(jù)值時,映象將顯示可以使用相同的網(wǎng)絡(luò)。如果每個位置包含單個像素的數(shù)據(jù)值,則所有切換的選擇輸入具有圖形呈現(xiàn)為零的值,并且圖13和14分別地給出用于每像素一個比特、每像素四比特的切換選項。
對于其成本壓力是特別嚴(yán)重的產(chǎn)品,較適宜的是以這樣的方式來修改設(shè)計,以便降低必需的存儲器速率。前面實施例的縱向方式操作的結(jié)論顯示該更新時隙必須以與顯示器像素被更新的速率相同的速率出現(xiàn)。他們的頻率必須等于象素時鐘的頻率。這意味著圖象存儲器18的時鐘必須是兩倍地快,如果存取要符合顯示裝置和主接口的話。圖15描述的所采用的結(jié)構(gòu)降低了速率的要求。
圖15顯示該圖象存儲器18實際上可以作為兩個分開的模塊120和122工作。如圖5所示,由主接口產(chǎn)生的UPDATE_ADDRESS信號由地址轉(zhuǎn)換電路124接收。主接口提供的該地址指定圖8描述的存儲器空間,但是該地址轉(zhuǎn)換電路124轉(zhuǎn)換那些地址值,以使他們導(dǎo)致在圖16中圖示的地址空間。
圖8的第一和第二行表示該存儲器位置,其中縱向模式圖象數(shù)據(jù)的開頭兩行被儲存。在圖16結(jié)構(gòu)中,相同的數(shù)據(jù)被儲存在分配給圖15的兩個模塊120和122的存儲器的各自的第一排。即,每個模塊接收每個第二行數(shù)據(jù)。因此,當(dāng)一個給定的存儲器地址被施加到模塊120和122時,在一個更新周期過程中,從兩個順序的圖象行中的相應(yīng)的圖象位置同時地提取數(shù)據(jù)。這意味著在相同顯示行中的兩個相鄰像素的數(shù)據(jù)被同時提取,因此對于每兩個顯示像素僅僅需要一個更新存儲器周期。
如圖15顯示的,當(dāng)多路復(fù)用器137將其較高的輸入作為其輸出傳送到鎖存器134時,各個奧米伽電路130和132接收該兩個存儲器模塊120和122的輸出,產(chǎn)生上述的比特命令并且將結(jié)果施加到各個鎖存器134和136。在該狀態(tài)下,MEM_CLK信號定時將各個奧米伽網(wǎng)絡(luò)值裝入鎖存器134和136,并且它還為另一個有線反饋鎖存器140提供定時,從而觸發(fā)鎖存器140的輸出,以使多路復(fù)用器137在下一個MEM_CLK期間傳送鎖存器136的如此鎖存的輸出到鎖存器134。
在該期間,它是一個更新時隙而不是一個顯示槽,施加到奧米伽網(wǎng)絡(luò)130和132的該信號不是顯示數(shù)據(jù),因此定時進(jìn)入鎖存器136的該數(shù)據(jù)在該期間的最后是無效的。但是鎖存器134的輸入是(有效)的數(shù)據(jù),鎖存器136將它作為前面的MEM_CLK脈沖儲存,因此鎖存器134響應(yīng)順序的時鐘脈沖順序地產(chǎn)生來自各個存儲器模塊120和122的輸出。由于鎖存器134在顯示槽和更新時隙期間結(jié)束產(chǎn)生有效的顯示數(shù)據(jù),該存儲器時鐘不必是該象素時鐘兩倍快,因此該存儲器可以是低成本的。
從編程觀點看,對于圖8的結(jié)構(gòu)而不是圖16的結(jié)構(gòu),指定存儲器地址是方便的。由于這個原因,圖5的地址轉(zhuǎn)換電路124從一個地址形式轉(zhuǎn)換到另外一個。圖17更詳細(xì)地描述圖5的地址轉(zhuǎn)換電路124。該地址轉(zhuǎn)換電路接收該UPDATE_ADDRESS信號,圖5的多路復(fù)用器138通常傳送到多路復(fù)用器52,以在更新時間時隙期間產(chǎn)生施加到存儲器模塊的下一MEM_ADDRESS信號。但是當(dāng)寄存器36指示該圖象為縱向并且該系統(tǒng)以虛擬地址方式運(yùn)轉(zhuǎn)時,與門139改為傳送地址轉(zhuǎn)換電路124從UPDATE_ADDRESS中產(chǎn)生的VIRTUAL_ADDRESS。
為了理解地址轉(zhuǎn)換電路的操作原理,要考慮在圖8是顯示的更新地址與圖16中描述的相應(yīng)的虛擬地址之間的相互關(guān)系。如上所述,該虛擬地址方案在替換的存儲器模塊中放置替換的圖象行。因此,包含十六進(jìn)制地址2180-21BB的圖8的首行處于第一個存儲器模塊的位置1OCO-1OFB處。來自圖8的第二行的更新地址,即,21CO-21FB,處于圖16的第二存儲器模塊中,但是對于虛擬地址,與圖8的第一行地址相同的虛擬地址被轉(zhuǎn)換。
現(xiàn)在,如果展開該十六進(jìn)制地址成為二進(jìn)制地址,就可得知在圖8的第一行中的地址僅僅在第七比特不同于圖8第二行中的相應(yīng)的地址,那就是說,由ROW_OFFSET信號表示表示的26的該比特,是連續(xù)的行中相應(yīng)的列地址之間的差別。從圖8的一個地址中除去該比特就產(chǎn)生圖16中的相應(yīng)的虛擬地址。對于該實際的尋址方案,該行偏移將總是被安排為2次方,那么這相互關(guān)系將總是獲知的。即,導(dǎo)致相同的虛擬地址的該兩個更新地址僅僅在單個比特中不同,并且該比特指示存儲該相關(guān)數(shù)據(jù)的存儲器模塊。
圖17顯示了實現(xiàn)該原理的地址轉(zhuǎn)換電路124。由于從該更新地址中可刪除單個比特,以產(chǎn)生該虛擬地址,UPDATE_ADDRESS[15O]被轉(zhuǎn)換到VIRTUAL_ADDRESS[14O]。并且,我們假定該行偏移不太可能大于27,即要被刪除的比特將不在高地址字節(jié)中,那么UPDATE_ADDRESS[158]變成VIRTUAL_ADDRESS[147],正如該圖指示的。
由于我們假定UPDATE_ADDRESS[7]可以是丟棄的比特,可是,VIRTUAL_ADDRESS[6]可以是UPDATE_ADDRESS[7]或UPDATE_ADDRESS[6],因此多路復(fù)用器142a按照ROW_OFFSET[7]的值在這兩個可能性中選擇。
同樣地多路復(fù)用器142b通過在UPDATE_ADDRESS[6]與UPDATE_ADDRESS[5]之間選擇來產(chǎn)生VIRTUAL_ADDRESS[5]。如果ROW_OFFSET[6]或者ROW_OFFSET[7]被認(rèn)定,那么多路復(fù)用器142b選擇UPDATE_ADDRESS[5]作為VIRTUAL_ADDRESS[5]的值,否則,它傳送UPDATE_ADDRESS[6]。多路復(fù)用器142c-f類似地工作。如果設(shè)置了相應(yīng)的ROW_OFFSET比特或者任何較高重要性的ROW_OFFSET比特,那么該VIRTUAL_ADDRESS比特與相應(yīng)的UPDATE_ADDRESS比特相同。否則,它與下一較小重要的ROW_OFFSET比特相同。在更新時,CPU常常給出單個地址用于其四個字節(jié)輸出,但是在任何單一CPU時隙期間中只有該輸出的兩個字節(jié)能寫入該適當(dāng)?shù)膬勺止?jié)寬度存儲器模塊。那么排序器輸出CYCLE_CONTROL使得多路復(fù)用器142g在連續(xù)的CPU時隙上在UPDATE_ADDRESS[O]與其補(bǔ)數(shù)之間交替,以在連續(xù)的位置中存儲兩個兩字節(jié)單詞。
正如剛剛說明的,為了產(chǎn)生虛擬地址而從更新地址中刪除的比特指定該兩個存儲器中的哪個接收該數(shù)據(jù)。圖18描述了按照該比特來產(chǎn)生該芯片選擇信號的電路。該電路包含多個多路復(fù)用器148a-f,每一個都獲得一個相應(yīng)的ROW_OFFSET比特作為其選項信號。如果認(rèn)定一個給定的ROW-OFFSET比特,該相應(yīng)的多路復(fù)用器148傳送UPDATE_ADDRESS的相應(yīng)的比特作為其輸出。否則,在它上面,它傳送該多路復(fù)用器的輸出。由于將要設(shè)置的的值只是其比特中的一個,ROW_OFFSET表示為2的次方,那么只有一個多路復(fù)用器將傳送其相應(yīng)的UPDATE_ADDRESS比特。除了多路復(fù)用器148a,所有的其他多路復(fù)用器將傳送上面的多路復(fù)用器的輸出到在下面的多路復(fù)用器。那么多路復(fù)用器148f的輸出是UPDATE_ADDRESS比特的值,該UPDATE_ADDRESS比特符合ROW_ADDRESS(唯一)認(rèn)定的比特。該兩個地址模塊分別地接收該值和其補(bǔ)數(shù)作為CHIP_SELECT_0和CHIP_SELECT_1。
前面的討論證明本發(fā)明可以在一個寬的實施例范圍內(nèi)實行,以提供簡單的編程和顯示靈活性。因此它構(gòu)成對該技術(shù)的重要進(jìn)步。
權(quán)利要求
1,一個計算機(jī)系統(tǒng),包含A)一個中央處理單元,用于產(chǎn)生更新數(shù)據(jù)信號,該更新數(shù)據(jù)信號代表排列在圖象象素行和列中的畫面單元的值;并且用于產(chǎn)生相應(yīng)的更新地址信號,它用于識別其值由更新數(shù)據(jù)信號表示的畫面單元的行和列;和B)顯示系統(tǒng),包含i)一個圖象存儲器,包括編號從O到N-1的N個分別可操作的存儲器模塊,它們一起提供以存儲器位置行和列構(gòu)成的存儲器位置,該第(n mod N)個存儲器模塊包含第n個存儲器位置行,該圖象存儲器響應(yīng)于表示以圖象象素行和列排列的畫面單元的值的更新數(shù)據(jù)信號,并且對應(yīng)于這樣的更新地址信號,它用于識別其值由更新數(shù)據(jù)信號表示的畫面單元的行和列,為了僅僅在一個模塊中一次儲存由存儲器位置行和列中的更新數(shù)據(jù)信號代表的值,該存儲器位置行和列由相應(yīng)的更新地址信號識別,該圖象存儲器更進(jìn)一步同時產(chǎn)生代表在所有存儲器模塊中的存儲器位置的內(nèi)容的存儲器輸出信號,該存儲器模塊由施加其上的更新地址信號識別;ii)一個更新地址發(fā)生器,用于產(chǎn)生并且應(yīng)用圖象存儲器更新地址信號,它順序地沿著多個相繼的掃描存儲器列中的每一個識別連續(xù)的存儲器行位置;和iii)一個顯示裝置,用于沿著各個顯示行在連續(xù)的顯示列位置顯示由存儲器輸出信號表示的象素值,該存儲器輸出信號是響應(yīng)更新地址信號而產(chǎn)生的,該更新地址信號沿著多個相繼的掃描存儲器列中的每一個識別連續(xù)的存儲器行位置。
2,按照權(quán)利要求1的一種計算機(jī)系統(tǒng),其中A)每個所說存儲器位置包含M個象素值;B)該存儲器更新地址信號,在沿著該下一存儲器列順序地識別連續(xù)的存儲器行位置之前,;M次連續(xù)地沿著多個掃描存儲器列中的每一個順序地識別連續(xù)的存儲器行位置;C)按照比特順序,該存儲器輸出信號表示每個所說存儲器位置的內(nèi)容;和D)該顯示系統(tǒng)更進(jìn)一步包含插入在圖象存儲器和顯示裝置之間的比特再排序網(wǎng)絡(luò),它按照一種再排序方案對比特序列進(jìn)行再排序,該方案不同于存儲器更新地址信號沿著一個給定的存儲器列順序地識別連續(xù)的存儲器行位置時M次中的每一個。
3,按照權(quán)利要求2的一種計算機(jī)系統(tǒng),其中該比特再排序網(wǎng)絡(luò)包括一個奧米伽網(wǎng)絡(luò)。
4,按照權(quán)利要求3的一個顯示系統(tǒng),其中該奧米伽網(wǎng)絡(luò)是一個三級奧米伽網(wǎng)絡(luò)。
5,按照權(quán)利要求1的一個計算機(jī)系統(tǒng),其中N=2。
6,一個計算機(jī)系統(tǒng),包含A)一個中央處理單元,用于產(chǎn)生更新數(shù)據(jù)信號,該更新數(shù)據(jù)信號代表排列在圖象象素行和列中的畫面單元的值;并且用于產(chǎn)生相應(yīng)的更新地址信號,它用于識別其值由更新數(shù)據(jù)信號表示的畫面單元的行和列;和B)一個顯示系統(tǒng),包含i)一個圖象存儲器,包括以存儲器位置行和列構(gòu)成的存儲器位置,并且對應(yīng)于代表以圖象象素行和列排列的畫面單元值的更新數(shù)據(jù)信號,并且對應(yīng)于這樣的更新地址信號,它用于識別其值由更新數(shù)據(jù)信號表示的畫面單元的行和列,用于儲存由存儲器位置行和列中的更新數(shù)據(jù)信號代表的值,該存儲器位置行和列由相應(yīng)的更新地址信號識別,每個所說存儲器位置包含M個象素值,該圖象存儲器更進(jìn)一步產(chǎn)生這樣的存儲器輸出信號,它按照各個比特序列表示由施加到其上的更新地址信號識別的存儲器位置的內(nèi)容;ii)一個更新地址發(fā)生器,用于產(chǎn)生并且應(yīng)用圖象存儲器更新地址信號,在沿著該下一存儲器列順序地識別連續(xù)的存儲器行位置之前;M次連續(xù)地,它順序地沿著多個相繼的掃描存儲器列中的每一個識別連續(xù)的存儲器行位置;iii)比特再排序網(wǎng)絡(luò),通過按照一種再排序方案對該比特序列再排序,它產(chǎn)生再排序的比特序列,該方案不同于存儲器更新地址信號沿著一個給定的存儲器列順序地識別連續(xù)的存儲器行時M次中的每一個,以及iv)一個顯示裝置,用于沿著各個顯示行在連續(xù)的顯示列位置顯示由再排序的比特序列的預(yù)定比特表示的象素值,該再排序的比特序列的預(yù)定比特是從響應(yīng)更新地址信號產(chǎn)生的存儲器輸出信號中產(chǎn)生的,該更新地址信號沿著多個相繼的掃描存儲器列中的每一個識別連續(xù)的存儲器行位置。
7,按照權(quán)利要求6的一種計算機(jī)系統(tǒng),其中該比特再排序網(wǎng)絡(luò)包括一個奧米伽網(wǎng)絡(luò)。
8,按照權(quán)利要求7的一個計算機(jī)系統(tǒng),其中該奧米伽網(wǎng)絡(luò)是一個三級奧米伽網(wǎng)絡(luò)。
9,一個顯示系統(tǒng),它包含A)一個圖象存儲器,包括編號從O到N-1的N個分別可操作的存儲器模塊,它們一起提供以存儲器位置行和列構(gòu)成的存儲器位置,該第(n mod N)個存儲器模塊包含第n個存儲器位置行,該圖象存儲器響應(yīng)于表示以圖象象素行和列排列的畫面單元的值的更新數(shù)據(jù)信號,并且對應(yīng)于這樣的更新地址信號,它用于識別其值由更新數(shù)據(jù)信號表示的畫面單元的行和列,為了僅僅在一個模塊中一次儲存由存儲器位置行和列中的更新數(shù)據(jù)信號代表的值,該存儲器位置行和列由相應(yīng)的更新地址信號識別,該圖象存儲器更進(jìn)一步同時產(chǎn)生代表在所有存儲器模塊中的存儲器位置的內(nèi)容的存儲器輸出信號,該存儲器模塊由施加在那的更新地址信號識別;B)一個更新地址發(fā)生器,用于產(chǎn)生并且應(yīng)用圖象存儲器更新地址信號,它順序地沿著多個相繼的掃描存儲器列中的每一個識別連續(xù)的存儲器行位置;和C)一個顯示裝置,用于沿著各個顯示行在連續(xù)的顯示列位置顯示由存儲器輸出信號表示的象素值,該存儲器輸出信號是響應(yīng)更新地址信號而產(chǎn)生的,該更新地址信號沿著多個相繼的掃描存儲器列中的每一個識別連續(xù)的存儲器行位置。
10,按照權(quán)利要求9的一種顯示系統(tǒng),其中A)每個所說存儲器位置包含M個象素值;B)該存儲器更新地址信號,在沿著該下一存儲器列順序地識別連續(xù)的存儲器行位置之前,M次連續(xù)地沿著多個掃描存儲器列中的每一個順序地識別連續(xù)的存儲器行位置;C)按照比特順序,該存儲器輸出信號表示每個所說存儲器位置的內(nèi)容;以及D)該顯示系統(tǒng)更進(jìn)一步包含插入在圖象存儲器和顯示裝置之間的比特再排序網(wǎng)絡(luò),它按照一種再排序方案對比特序列進(jìn)行再排序,該方案不同于存儲器更新地址信號沿著一個給定的存儲器列順序地識別連續(xù)的存儲器行時M次中的每一個。
11,按照權(quán)利要求10的一種顯示系統(tǒng),其中該比特再排序網(wǎng)絡(luò)包括一個奧米伽網(wǎng)絡(luò)。
12,按照權(quán)利要求11的一個顯示系統(tǒng),其中該奧米伽網(wǎng)絡(luò)是一個三級奧米伽網(wǎng)絡(luò)。
13,按照權(quán)利要求9的一個顯示系統(tǒng),其中N=2。
14,一個顯示系統(tǒng),它包含A)一個圖象存儲器,包括以存儲器位置行和列構(gòu)成的存儲器位置,并且對應(yīng)于代表以圖象象素行和列排列的畫面單元值的更新數(shù)據(jù)信號,并且對應(yīng)于這樣的更新地址信號,它用于識別其值由更新數(shù)據(jù)信號表示的畫面單元的行和列,用于儲存由存儲器位置行和列中的更新數(shù)據(jù)信號代表的值,該存儲器位置行和列由相應(yīng)的更新地址信號識別,每個所說存儲器位置包含M個象素值,該圖象存儲器更進(jìn)一步產(chǎn)生這樣的存儲器輸出信號,它按照各個比特序列表示由施加到其上的更新地址信號識別的存儲器位置的內(nèi)容;B)一個更新地址發(fā)生器,用于產(chǎn)生并且應(yīng)用圖象存儲器更新地址信號,在沿著該下一存儲器列順序地識別連續(xù)的存儲器行位置之前;M次連續(xù)地它順序地沿著多個相繼的掃描存儲器列中的每一個識別連續(xù)的存儲器行位置;C)比特再排序網(wǎng)絡(luò),通過按照一種再排序方案對該比特序列再排序,它產(chǎn)生再排序的比特序列,該方案不同于存儲器更新地址信號沿著一個給定的存儲器列順序地識別連續(xù)的存儲器行時M次中的每一個,以及D)一個顯示裝置,用于沿著各個顯示行在連續(xù)的顯示列位置顯示由再排序的比特序列的預(yù)定比特表示的象素值,該再排序的比特序列的預(yù)定比特是從響應(yīng)更新地址信號產(chǎn)生的存儲器輸出信號中產(chǎn)生的,該更新地址信號沿著多個相繼的掃描存儲器列中的每一個識別連續(xù)的存儲器行位置。
15,按照權(quán)利要求14的一種顯示系統(tǒng),其中該比特再排序網(wǎng)絡(luò)包括一個奧米伽網(wǎng)絡(luò)。
16,按照權(quán)利要求15的一個顯示系統(tǒng),其中該奧米伽網(wǎng)絡(luò)是個三級奧米伽網(wǎng)絡(luò)。
全文摘要
顯示控制器(16)的一個地址發(fā)生器(圖6)包括一個加法器(62),它重復(fù)地增加圖象行偏移值給該地址發(fā)生器的輸出,以使從更新存儲器(18)中順序取得的數(shù)據(jù)更新顯示器(20),適當(dāng)?shù)乇硎驹搱D象數(shù)據(jù),即使該顯示掃描與更新存儲器中圖象數(shù)據(jù)的順序是正交的。當(dāng)取得該數(shù)據(jù)時,奧米伽網(wǎng)絡(luò)(90)按照當(dāng)前顯示掃描在提取的數(shù)據(jù)字內(nèi)部對這些比特再排序,以使該顯示器接收適當(dāng)?shù)臄?shù)據(jù),即使每一個位置包含在正交方向圖象行中的多個像素數(shù)據(jù)。
文檔編號G09G5/393GK1253335SQ9912608
公開日2000年5月17日 申請日期1999年10月25日 優(yōu)先權(quán)日1998年10月26日
發(fā)明者陳勇齡 申請人:精工愛普生株式會社