TWI394140B - 位元記憶區塊傳輸電路及其方法及顏色填充方法 - Google Patents
位元記憶區塊傳輸電路及其方法及顏色填充方法 Download PDFInfo
- Publication number
- TWI394140B TWI394140B TW097103170A TW97103170A TWI394140B TW I394140 B TWI394140 B TW I394140B TW 097103170 A TW097103170 A TW 097103170A TW 97103170 A TW97103170 A TW 97103170A TW I394140 B TWI394140 B TW I394140B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- bit
- register
- memory
- decomposed
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/393—Arrangements for updating the contents of the bit-mapped memory
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Input (AREA)
- Dram (AREA)
- Static Random-Access Memory (AREA)
Description
本發明是有關於一種記憶區塊傳輸電路,且特別是一種位元對準(Bit Alignment)之位元區塊傳輸電路(Bit Block Transfer,Bitblt)。
在現今時代中,記憶區塊傳輸技術係以存在。例如在顯示器之視控調整(On Screen Display,OSD)裝置中,記憶區塊傳輸技術被應用來搬動非顯示記憶體(Off Screen Memory)中儲存之預設圖形及選單資訊至圖框緩衝器(Frame Buffer)中,以經由顯示器顯示視控調整選單。
在傳統記憶區塊傳輸技術中,可執行操作之最小資料量單位為一個位元組(Byte)。如此,即使僅欲對一個位元組中之一個位元資料進行搬動、修改或存取操作,傳統記憶區塊傳輸技術須對整個位元組之資料進行上述操作。這樣一來,傳統記憶區塊傳輸技術將佔用較多之記憶體傳輸頻寬。
另外,在應用傳統記憶區塊傳輸技術來設計位元型(Bit-based)視控調整功能(On Screen Display,OSD)模組之場合中,由於傳統記憶區塊傳輸技術可執行操作之最小資料量單元為一個位元組,一般設計一個畫素對應顯示至少8個位元之OSD資料,以使此位元型OSD最小之影像修改及搬動單位為一個畫素。如此,將使得應用傳統區塊傳
輸技術之OSD模組無法彈性地應用在一個畫素之畫素資料量小於8個位元之應用場合,例如是低階視控調整裝置上,使傳統記憶區塊傳輸技術具有較差之應用彈性。
本發明有關於一種位元記憶區塊傳輸(Bit Block Transfer,Bitblt)電路及其方法,其可以一個位元(Bit)為可執行操作之最小資料量單位。如此,本實施例之位元記憶區塊傳輸電路及其方法相較於傳統記憶區塊傳輸技術具有可降低需佔用之記憶體傳輸頻寬、提升顯示系統之顯示效果及可彈性地應用在各畫素資料之資料量小於一個位元組(Byte)之視控調整功能(On Screen Display,OSD)模組上之優點。
根據本發明提出一種位元記憶區塊傳輸電路,包括讀取暫存器、寫入暫存器、位元搬動電路及溢位暫存器。讀取暫存器,用以儲存分解資料,其中包括原始資料。位元搬動電路用以搬動讀取暫存器中之分解資料至寫入暫存器及搬動寫入暫存器中之分解資料之位元,使分解資料中原始資料之起始位元相對於寫入暫存器之起始位址具有位元位移量。溢位暫存器與寫入暫存器耦接,用以儲存搬動寫入暫存器中分解資料之位元時原始資料超出寫入暫存器之記憶長度的溢位資料。其中,寫入暫存器輸出並寫入其中之分解資料至第一記憶體中之記憶胞(Memory Cell)中。
根據本發明提出一種位元記憶區塊傳輸方法,包括下列步驟:首先儲存分解資料於讀取暫存器,分解資料包括原始資料;接著回應原始位元位移量搬動分解資料之位元,使原始資料之起始位元對齊讀取暫存器之起始位址;然後儲存該分解資料至一寫入暫存器;接著搬動寫入暫存器中之分解資料之位元,使分解資料中原始資料之起始位元相對於寫入暫存器之起始位元具有目標位元位移量;然後讀取第一目標原始資料,並將其儲存於寫入暫存器中之前目標位元位移量個位址中,第一目標原始資料為儲存於第一記憶體中記憶胞之前目標位元位移量個位元位址之資料;之後儲存寫入暫存器中之分解資料至記憶胞。
根據本發明提出一種顏色填充(Color Filling)方法,包括下列步驟:首先儲存填充資料至讀取暫存器;接著儲存分解資料至寫入暫存器;然後搬動寫入暫存器中之填充資料之位元,使填充資料之起始位元相對於寫入暫存器之起始位元具有目標位元位移量;接著讀取第一目標原始資料,並將其儲存於寫入暫存器中之前目標位元位移量個位元記憶空間中,第一目標原始資料儲存於第一記憶體中記憶胞之前目標位元位移量個位元記憶空間中;之後儲存寫入暫存器中之填充資料至記憶胞。
為讓本發明之上述內容能更明顯易懂,下文特舉一較佳實施例,並配合所附圖式,作詳細說明如下:
本發明實施例之位元記憶區塊傳輸(Bit Block Transfer,Bitblt)電路可以一個位元(Bit)做為記憶體中可執行操作之最小資料量單位,並對其進行諸如位置搬動或資料填入之操作。
本發明實施例之位元記憶區塊傳輸電路例如應用在顯示系統中。請參照第1圖,其繪示依照本發明實施例之顯示系統的方塊圖。顯示系統10包括處理器12、非顯示(Off Screen)記憶體14、圖框(Frame)暫存器16、顯示面板18及位元記憶區塊傳輸電路20。顯示面板18與圖框暫存器16相連接,處理器12、非顯示記憶體14、圖框暫存器16及位元記憶區塊傳輸電路20透過系統匯流排(Bus)21相連接。
圖框暫存器16用以提供圖框資料至顯示面板18以驅動其顯示對應之資料畫面。圖框暫存器16例如包括256個記憶胞(Memory Cell),而各記憶胞包括4個位元組(Byte)。圖框暫存器16例如透過位址dst_ba來對其中之記憶空間進行定址。位址dst_ba例如滿足格式:dst_ba={dst_cell,dst_bit},dst_cell及dst_bit分別為位址及位元位移量。位址dst_cell包括8個位元,用以對記憶胞定址,而位址dst_cell例如以十六進位制表示。位元位移量dst_bit例如包括5個位元,用以記錄記憶胞中各位元資料相對於記憶胞之起始位元位址的位元位移量,而位元位移量dst_bit例如以二進位制表示。舉例來說,位址dst_cell=0xA0對應至記憶胞dst_0xA0,而位址
dst_ba={0xA0,00000}~{0xA0,11111}對應至記憶胞dst_0xA0之第1個至第32個位元。如此,位址dst_ba可對記憶胞中之各個位元進行定址。
非顯示記憶體14用以儲存預定資料,非顯示記憶體14包括256個記憶胞,各記憶胞包括4個位元組。非顯示記憶體14中之資料以位址scr_ba表示,其中包括位址scr_cell及位元位移量scr_bit。位址scr_cell及位元位移量scr_bit分別與位址dst_cell及位元位移量dst_bit具有實質上相近之定義,以對非顯示記憶體14之記憶空間進行定址。
處理器12用以回應於外界之觸發事件來提供控制指令CMD驅動位元記憶區塊傳輸電路20執行對應之操作以執行若干種資料搬動或資料設定操作。記憶區塊傳輸電路20係接收系統輸入資料data_SI,並回應於指令CMD來對其進行位元搬動操作,之後輸出對應之系統輸出資料data_SO。系統輸入資料data_SI可以為非顯示記憶體14、圖框暫存器16或任何可經由系統匯流排21提供資料之電路,而系統輸出資料data_SO可亦可被輸出至非顯示記憶體14、圖框暫存器16或任何可經由系統匯流排21接收資料之電路。接下來舉例來對本實施例之位元記憶區塊傳輸電路20之操作做說明。
本實施例之位元記憶區塊傳輸電路20及其方法用以
搬動非顯示記憶體14中位於原始位址之搬移資料SC至圖框暫存器16中之目標位址。請參照第2圖,其繪示乃第1圖中非顯示記憶體14之記憶空間的示意圖。記憶胞scr_0xB0~scr_0xB4例如分別儲存資料data_scr_0xB0~data_scr_0xB4,其分別等於(11111111)16、(11111111)16、(22222222)16、(22222222)16及(A0B0C0D0)16。前述資料data_scr_0xB0~data_scr_0xB4例如用以做為系統輸入資料data_SI輸入至位元記憶區塊傳輸電路20。
搬移資料SC例如包括128個位元,而原始位址例如包括位址scr_ba={0xB0,00001}~{0xB4,00000},即在起始狀況下,搬移資料SC儲存在記憶胞scr_0xB0~scr_0xB4中,且搬移資料SC之起始位元相對於記憶胞scr_0xB0之起始位址具有原始位元位移量scr_lclp=(00001)2。更詳細的說,搬移資料SC包括資料data_scr_0xB0中之第2個至第32個位元、資料data_scr_0xB1~data_scr_0xB3中之全部資料及資料data_scr_0xB4中之第1個位元,而其之數值等於(11111111111111110888888888888888)16。
請參照第3圖,其繪示乃第1圖中圖框暫存器16之記憶空間的示意圖。目標位址例如包括位址dst_ba={0xA0,00100}~{0xA4,00011},換言之,當搬移資料SC搬動至目標位址後搬移資料SC之起始位元相對於記憶胞dst_0xA0之起始位址具有目標位元位移量dst_lclp,其之數值例如等於(00100)2。記憶胞dst_0xA0~dst_0xA4於起始狀態時例如分別儲存資料
data_dst_0xA0~data_dst_0xA4,其例如分別等於(10101010)16、(0A0B0C0D)16、(A0B0C0D0)16、(0A0B0C0D)16及(0F0F0F0F)16。當搬移資料SC搬動至目標位址後,資料data_dst_0xA0及data_dst_0xA4中部分之資料被搬移資料SC覆蓋,而部分之資料被保留。資料data_dst_0xA0及data_dst_0xA4中被保留之資料分別為目標原始資料ST_P及ST_A。目標原始資料ST_P包括儲存在位址dst_ba={0xA0,00000}~{0xA0,00011}中之資料,其之數值例如等於(0000)2。目標原始資料ST_A包括儲存在位址dst_ba={0xA4,00100}~{0xA4,11111}中之資料,其之數值例如等於(0000111100001111000011110000)2。
請參照第4圖,其繪示乃本實施例之位元記憶區塊傳輸電路的電路圖。位元記憶區塊傳輸電路20包括:讀取暫存器(Read Buffer)22、位元搬動電路24、寫入暫存器(Write Buffer)26、處理器28、溢位暫存器30、多工器(Multiplexer)mux1~mux3及解多工器(De-multiplexer)dmux1~dmux3。讀取暫存器22包括記憶胞Pr1~Prn,用以儲存系統輸入資料data_SI,n為自然數。其中記憶胞Pr1~Prn之記憶空間例如為32個位元,n例如等於2。如此,讀取暫存器22之記憶空間例如等於64(2×32)個位元,其小於系統輸入資料data_SI之資料總量。讀取暫存器22以其記憶空間來依序地儲存系統輸入資料data_SI,每一次讀取暫存器22之記憶空間存滿資料時,其時儲存於其中之資料例如被切割為一個資料分部。例如系統輸入資料
data_SI被分為首部(Head)資料data_H、體部(Body)資料data_B及尾部(Tail)資料data_T,其分別包括資料data_scr_0xB0與data_scr_0xB1、資料data_scr_0xB2與data_scr_0xB3及資料data_scr_0xB4。位元記憶區塊傳輸電路20分別對此些分部之資料進行搬動操作。
讀取暫存器22依序儲存首部、體部及尾部資料data_H、data_B及data_T,如此,位元記憶區塊傳輸電路20可依序地對系統輸入資料data_SI進行位元位置之搬移操作。其中,讀取暫存器22用以將前述首部、體部及尾部資料data_H、data_B及data_T中的前32位元及後32位元由次冪低到高依序地排列在記憶胞Pr1及Pr2中由下到上的32個位元記憶空間中。例如在儲存首部資料data_H時,首部資料data_H中前32個位元及後32個位元(00100010001000100001000100010001)2及(00100010001000100001000100010001)2分別依序地儲存在記憶胞Pr1及Pr2中由下到上之32個位元記憶空間中。
寫入暫存器26中包括記憶胞Pw1~Pwm,m為自然數。各記憶胞Pw1~Pwm之長度例如等於32個位元,而m例如等於2。寫入暫存器26用以輸出得到之系統輸出資料data_SO。溢位暫存器30之長度例如等於32個位元,其例如為寫入暫存器26的第3個記憶胞,用以儲存記憶胞Pw2中之資料因搬動而超出記憶胞Pw2之記憶空間的資料。
多工器mux1回應於選擇訊號mux_se1輸出記憶胞Pr1
及Pr2其中之一儲存之資料,多工器mux2回應於選擇訊號mux_se2輸出記憶胞Pw1、Pw2及溢位暫存器30其中之一儲存之資料。多工器mux3接收多工器mux1及mux2輸出之資料,並回應於選擇訊號mux_se3來以多工器mux1及mux2其中之一輸出之資料做為輸入資料data_in輸出。
解多工器dmux1回應於選擇訊號dmux_se1來提供輸出資料data_out至解多工器dmux2與dmux3其中之一。解多工器dmux2用以回應選擇訊號dmux_se2提供輸出資料data_out至記憶胞Pr1及Pr2其中之一,以儲存輸出資料data_out於記憶胞Pr1及Pr2其中之一,解多工器dmux3用以回應於選擇訊號dmux_se3提供輸出資料data_out至記憶胞Pw1、Pw2及溢位暫存器30其中之一,以儲存輸出資料data_out於記憶胞Pw1、Pw2及溢位暫存器30其中之一。
請參照第5圖,其繪示乃第4圖中之位元搬動電路24的方塊圖。位元搬動電路24包括輸入暫存器IB1、IB2、輸出暫存器OB及開關單元SW1~SW3。開關單元SW1接收輸入資料data_in,並回應於選擇訊號SW_se1來提供輸入資料data_in至輸入暫存器IB1與IB2其中之一。輸入暫存器IB1及IB2受到處理器28之控制分別分為上半部IB1_H與下半部IB1_L及上半部IB2_H與下半部IB2_L。處理器28係用以決定輸入暫存器IB1之上半部IB1_H及下半部IB1_L的長度,並用以決定輸入暫存器IB2之上半部IB2_H及下半部IB2_L的長度。輸入暫存器IB1及IB2
例如以正反器(Flip-flop)電路來實現。
開關單元SW2用以回應於選擇訊號SW_se2來選擇並輸出上半部IB1_H及下半部IB1_L其中之一中之資料至輸出暫存器OB。開關單元SW3用以回應於選擇訊號SW_se3來選擇並輸出上半部IB2_H及下半部IB2_L其中之一中之資料至輸出暫存器OB。輸出暫存器OB接收並合併開關單元SW2及SW3提供之資料來得到輸出資料data_out。輸入暫存器IB1、IB2及輸出暫存器OB之長度例如等於讀取暫存器22中記憶胞Pr1及Pr2的長度,即例如輸入暫存器IB1、IB2及輸出暫存器OB之長度等於32個位元。
處理器28更用以被程式化來執行狀態機(State Machine),以控制位元記憶區塊傳輸電路20的操作,此狀態機如第6圖所示。處理器28包括:來源讀取狀態SR、來源搬動狀態SR_SHIFT、讀寫傳輸狀態CALC、目標搬動狀態DW_SHIFT、目標讀取狀態DR、目標合併狀態DR_MGE及目標寫出狀態DW等狀態。處理器28根據前述之狀態及控制訊號CMD來產生選擇訊號mux_se1~mux_se3、dmux_se1~dmux_se3及SW_se1~SW_se3,以控制前述多工器mux1~mux3、解多工器dmux_1~dmux_3及開關SW1~SW3之操作。而處理器28並根據其所處之狀態來控制位元搬動電路24之操作。接下來,對處理器28處於各個狀態時位元記憶區塊傳輸電路20之操作做進行進一步說明。
處理器28首先先搬動首部資料data_H至圖框暫存器
16中對應之目標位址,在搬動首部資料data_H的操作中,處理器28依序進入源讀取狀態SR、來源搬動狀態SR_SHIFT、讀寫傳輸狀態CALC、目標搬動狀態DW_SHIFT、目標讀取狀態DR、目標合併狀態DR_MGE及目標寫出狀態DW。首先,處理器28進入來源讀取狀態SR,此時讀取暫存器22讀取首部資料data_H,並分別儲存其中之資料data_scr_0xB0及data_scr_0xB1在記憶胞Pr1及Pr2中。
接著處理器28進入來源搬動狀態SR_SHIFT,此時位元搬動電路24被驅動來回應於原始位元位移量scr_lclp搬動讀取暫存器22中記憶胞Pr1及Pr2之資料的儲存位置。於搬動記憶胞Pr1中之資料時,處理器28提供對應之選擇訊號mux_se1、mux_se3及SW_se1來控制多工器mux1、mux3及開關單元SW1以分別提供記憶胞Pr1及Pr2中之資料至輸入暫存器IB1及IB2。
此時暫存器IB1及IB2分別被分為上半部IB1_H與下半部IB1_L及上半部IB2_H與下半部IB2_L。上半部IB1_H的長度等於scr_lclp_bar個位元以儲存記憶胞Pr1中後scr_lclp_bar個位元,參數scr_lclp_bar等於非顯示記憶體22之記憶胞之總位元數與原始位元位移量scr_lclp之差,即參數scr_lclp_bar等於31(32-1),上半部IB1_H包括資料(0001000100010001000100010001000)2;下半部IB1_L的長度等於scr_lclp個位元以儲存記憶胞Pr1中前scr_lclp個位元,即記憶胞Pr1中的第1個位元(1)2。由於資料
data_scr_0xB0與data_scr_0xB1具有實質上相同之資料,上半部IB2_H與下半部IB2_L分別具有與上半部IB1_H與下半部IB1_L實質上相同的資料內容。
輸出暫存器OB被分為上半部OB_H及下半部OB_L,上半部OB_H及下半部OB_L的長度分別等於scr_lclp個及scr_lclp_bar個位元。開關單元SW2及SW3分別回應於選擇訊號SW_se2及SW_se3來選擇下半部IB2_L及上半部IB1_H之資料,並將其分別儲存於上半部OB_H與下半部OB_L。接著,輸出暫存器OB合併上半部OB_H與下半部OB_H及OB_L之資料得到資料(88888888)16,並將其做為輸出資料data_out輸出,前述資料實質上等於搬移資料SC的前32個位元。解多工器dmux1及dmux2分別回應於選擇訊號dmux_se1及dmux_se2來將輸出資料data_out輸出至記憶胞Pr1,如此,以搬動記憶胞Pr1中之資料。
於搬動記憶胞Pr2中之資料時,位元記憶區塊傳輸電路20執行與前述搬動記憶胞Pr1中之資料實質上相同的操作,以使記憶胞Pr2儲存資料(08888888)16,其為搬移資料SC中的第33個位元至第64個位元。
然後處理器28進入讀寫傳輸狀態CALC,以搬動讀取暫存器22中之資料至寫入暫存器26中。其中,在讀寫傳輸狀態CALC中,讀取暫存器22、位元搬動電路24及多工器mux1及mux3被控制來執行與上述搬動讀取暫存器22中之資料實質上相同的步驟以產生相同之輸出資料
data_out;而解多工器dmux1及dmux3分別回應於選擇資料dmux_se1及dmux_se3提供輸出資料data_out至記憶胞Pw1及Pw2。如此,以分別搬動記憶胞Pr1及Pr2中之資料至記憶胞Pw1及Pw2中。此時記憶胞Pw1及Pw2分別儲存資料(88888888)16及(08888888)16。
接著處理器28進入目標搬動狀態DW_SHIFT,此時位元搬動電路24被驅動來回應於目標位元位移量dst_lclp搬動記憶胞Pw1及Pw2之資料的儲存位置。於搬動記憶胞Pw1中之資料時,處理器28提供對應之選擇訊號mux_se2、mux_se3及SW_se1來分別控制多工器mux2、mux3及開關單元SW1提供記憶胞Pw1中之資料至輸入暫存器IB2。輸入暫存器IB1中之資料為起始數值,例如是(00000000)16。開關單元SW2及SW3分別選擇記憶胞IB1的前dst_lclp個位元(0000)2及IB2的前dst_lclp_bar個位元(1000100010001000100010001000)2,並將其分別儲存於上半部OB_H與下半部OB_L。如此,以得到資料(88888880)16,並將其做為輸出資料data_out輸出。解多工器dmux1及dmux3分別回應於選擇訊號dmux_se1及dmux_se3來將輸出資料data_out輸出至記憶胞Pw1,如此,以搬動記憶胞Pw1中之資料。
於搬動記憶胞Pw2中之資料時,處理器28提供對應之選擇訊號mux_se2、mux_se3及SW_se1來控制多工器mux2、mux3及開關單元SW1來分別提供記憶胞Pw1及Pw2中之資料至輸入暫存器IB1及IB2。位元搬動電路24
選擇輸入暫存器IB1的後dst_lclp個位元(1000)2及輸入暫存器IB2的前dst_lclp_bar個位元(1000100010001000100010001000)2並將其分別儲存於上半部OB_H與下半部OB_L。如此,以得到資料(88888888)2,並將其做為輸出資料data_out輸出,而輸出資料data_out被輸出至輸出至記憶胞Pw2,如此,以達到搬動記憶胞Pw2中之資料的操作。
此時,原記憶胞Pw2中倒數第4至倒數第2個位元,即(000)2因前述搬動讀取及寫入暫存器22及26中資料產生之溢位資料data_Le係儲存在溢位暫存器30中。更詳細的說,於搬動記憶胞Pw2之資料時,輸入暫存器IB2中後dst_lclp個位元,即是溢位資料(000)2被搬移至溢位暫存器30的前3個位元空間中。之後當讀取暫存器22讀取體部資料data_B而位元記憶區塊傳輸電路20執行對體部資料data_B對應資料搬移操作時,溢位資料data_Le係被搬動至寫入暫存器26中對應之記憶位置中。
然後處理器28進入目標讀取狀態DR,此時讀取暫存器22係被驅動來讀取資料data_dst_0xA1,並將其儲存在記憶胞Pr1中。其中資料data_dst_0xA1中具有目標原始資料ST_P。
接著處理器28進入目標合併狀態DR_MGE,此時位元搬動電路24被驅動來合併記憶胞Pr1中之目標原始資料ST_P至記憶胞Pw1中。於合併前述目標原始資料ST_P至記憶胞Pw1時,處理器28提供對應之控制訊號
mux_se2、mux_se3及SW_se1來分別控制多工器mux2、mux3及開關單元SW1提供記憶胞Pw1中之資料至輸入暫存器IB2中;處理器28並提供控制訊號mux_se1、mux_se3及SW_se1來分別控制多工器mux1、mux3及SW1提供記憶胞Pr1中之資料至輸入暫存器IB1。位元搬動電路24選擇輸入暫存器IB1的前dst_lclp個位元(0000)2及輸入暫存器IB2的後dst_lclp_bar個位元(10001000100010001000100010000000)2,並將其分別儲存於上半部OB_H及下半部OB_L。如此,以合併得到資料(88888880)16,並將其做為輸出資料data_out輸出,而輸出資料data_out被輸出至輸出至記憶胞Pw1,如此,以合併目標原始資料ST_P至記憶胞Pw1中的前4個位元記憶空間中。
之後處理器28進入目標寫出狀態DW,此時寫入暫存器26將記憶胞Pw1及Pw2中之資料做為系統輸出資料data_SO輸出,而記憶胞Pw1及Pw2中之資料分別被寫入記憶胞dst_0xA0及dst_0xA1。如此,以完成搬動首部資料data_H中包含之部分之搬移資料SC至圖框暫存器16中之目標位址的操作。
於執行完搬動首部資料data_H之操作後,處理器28接著搬動體部資料data_B至圖框暫存器16中對應之目標位址。在搬動體部資料data_B的操作中與前述搬動首部資料data_H的操作不同之處在於處理器28依序執行源頭讀取狀態SR、讀寫傳輸狀態CALC、目標搬動狀態
DW_SHIFT及目標讀取及目標寫出狀態DW。處理器28首先進入來源讀取狀態SR,此時讀取暫存器22讀取體部資料data_B,並將其中之資料data_scr_0xB2及data_scr_0xB3分別儲存在記憶胞Pr1及Pr2中。
接著處理器28進入讀寫傳輸狀態CALC,此時位元記憶區塊傳輸電路20執行與前述搬動首部資料data_H中處理器28進入讀寫傳輸狀態CALC中實質上相同的操作來分別傳輸暫存器Pr1及Pr2中之資料至暫存器Pw1及Pw2中。
然後處理器28進入目標搬動狀態DW_SHIFT,此時位元搬動電路24被驅動來回應於綜合位元位移量dw_rest搬動記憶胞Pw1及Pw2之資料的儲存位置,並搬動溢位暫存器30儲存之溢位資料data_Le到寫入暫存器26的前dw_rest中。其中綜合位元位移量dw_rest等於原始位元位移量scr_lclp與目標位元位移量dst_lclp的差,即:dw_rest=dst_lclp-scr_lclp在本實施例中綜合位元位移量dw_rest等於3。
於搬動搬動記憶胞Pw1中之資料時,處理器28提供對應之選擇訊號mux_se2、mux_se3及SW_se1分別控制多工器mux2、mux3及開關單元SW1提供記憶胞Pw1中之資料至輸入暫存器IB2,並提供溢位暫存器30中之溢位資料data_Le至輸入暫存器IB1,其中溢位暫存器data_Le係儲存在輸入暫存器IB1的前dw_rest個位元中。位元搬動電路24選擇輸入暫存器IB1的前dw_rest個位元(000)2
及輸入暫存器IB2的前dw_rest_bar個位元,並分別將其儲存在下半部OB_H及下半部OB_L。其中參數dw_rest_bar等於記憶胞Pw1之總位元數與綜合位元位移量dw_rest之差,即參數dw_lclp_bar等於29(32-3),下半部OB_L包括資料(00010001000100010001000100010)2。如此,以合併到資料(11111110)16,並將其做為輸出資料data_out輸出,而輸出資料data_out被輸出至輸出至記憶胞Pw1,如此,以搬動記憶胞Pw1中之資料,並將溢位資料data_Le儲存在記憶胞Pw1的前dw_rest個位元。
於搬動記憶胞Pw2中之資料時,處理器28提供對應之選擇訊號mux_se2、mux_se3及SW_se1來控制多工器mux2、mux3及開關單元SW1分別提供記憶胞Pw1及Pw2中之資料至輸入暫存器IB1及IB2。接著,位元搬動電路24選擇輸入暫存器IB1的後dw_rest個位元(001)2及輸入暫存器IB2的前dw_rest_bar個位元(00010001000100010001000100010)2,並分別將其儲存於上半部OB_H與下半部OB_L。如此,以合併得到資料(11111111)16,並將其做為輸出資料data_out輸出,而輸出資料data_out被輸出至輸出至記憶胞Pw2,如此,以達到搬動記憶胞Pw2中之資料的操作。此時,原記憶胞Pw2的後3個位元,及(001)2因前述搬動讀取及寫入暫存器22及26中資料產生之溢位資料data_Le被儲存在溢位暫存器30中。
之後,處理器28進入目標寫出狀態DW,此時寫入暫
存器26分別將記憶胞Pw1及Pw2中之資料做為系統輸出資料data_SO輸出,而記憶胞Pw1及Pw2中之資料非別被寫入記憶胞dst_0xA2及dst_0xA3。如此,以完成搬動體部資料data_B中包含之部分之搬移資料SC至圖框暫存器16中之目標位址的操作。
於執行完搬動體部資料data_B之操作後,處理器28接著搬動尾部資料data_T至圖框暫存器16中對應之目標位址。在搬動尾部資料data_T的操作中,位元記憶區塊傳輸電路20依序進入來源讀取狀態SR、在讀寫傳輸狀態CALC、目標搬動狀態DW_SHIFT、目標讀取狀態DR、目標合併狀態DR_MGE及目標寫出狀態DW,以分別讀取資料data_scr_0xB4並將其儲存於記憶胞Pr1、搬動記憶胞Pr1中之資料至記憶胞Pw1、回應於綜合位元位移量dw_rest來將溢位資料data_Le,即資料(001)2合併至記憶胞Pw1中之資料的前dw_rest個位元、讀取資料data_dst_0xA4並將其儲存在記憶胞Pr1中、將記憶胞Pr1中的後dw_restx_bar個位元儲存至記憶胞Pw1的後dw_restx_bar個位元及將記憶胞Pw1中之資料做為系統輸出資料data_SO輸出,而記憶胞Pw1中之資料被寫入記憶胞dst_0xA4。
參數dw_restx_bar等於記憶胞Pw1之位元數與參數dw_restx之差;參數dw_restx等於參數dst_lclp與參數width_rclp之和;參數width_rclp實質上等於搬移資料SC相對於讀取暫存器22之位元記憶空間進行同餘運算
(Modulo Operation)得到之參數,前述參數width_rclp、dw_restx及dw_restx_bar滿足方程式:
由上述方程式可知,參數width_rclp、dw_restx及dw_restx_bar分別等於0、4及28。
其中,處理器28例如用以判斷接收到之資料屬於首部、體部及尾部資料data_H、data_B及data_T,並於接收到不同之資料時執行不同的狀態機步驟來分別對不同的資料進行對應之操作。
請參照第7A圖,其繪示依照本發明第一實施例之位元記憶區塊傳輸方法的部分流程圖。首先如步驟(a),讀取暫存器22儲存首部資料data_H中之資料data_scr_0xB0及data_scr_0xB1分別於記憶胞Pr1及Pr2中。然後如步驟(b),位元搬動電路24回應於原始位元位移量scr_lclp來搬動記憶胞Pr1及Pr2中之資料,使資料data_scr_0xB0與data_scr_0xB1包含之搬移資料SC的起始位元對齊記憶胞Pr1之起始位址。此時,記憶胞Pr1及Pr2分別儲存資料(88888888)16及(08888888)16,即是搬移資料SC的前64個位元。
接著如步驟(c),位元搬動電路24搬動讀取暫存器22中記憶胞Pr1及Pr2之資料分別至寫入暫存器26中之記憶胞Pw1及Pw2。然後如步驟(d),位元搬動電路24回應於目標位元位移量dst_lclp搬動記憶胞Pw1及Pw2中之資
料,使得其中之搬移資料SC之起始位元相對於寫入暫存器26之起始位元位址具有目標位元位移量dst_lclp。此時記憶胞Pw1及Pw2分別包括資料(88888880)16及(88888888)16。其中,在步驟(d)的操作中記憶胞Pw2中倒數第4個至倒數第2個位元(000)2例如形成溢位資料data_Le,溢位資料data_Le被儲存在溢位暫存器30中。
接著如步驟(e),讀取暫存器22讀取圖框暫存器16中包括目標原始資料ST_P之資料data_dst_0xA0,而位元搬動電路24搬動目標原始資料ST_P以儲存其在記憶胞Pw1中對應之儲存空間。其中,目標原始資料ST_P儲存在記憶胞Pw1的前dst_lclp個位元記憶空間中,此時,記憶胞Pw1包括資料(88888880)16。之後如步驟(f),寫入暫存器26將記憶胞Pw1及Pw2中之資料做為系統輸出資料data_SO輸出,而其係被寫入圖框暫存器16中對應之記憶胞dst_0xA0及dst_0xA1中。如此,以搬動首部資料data_H至圖框暫存器16中對應之位址。
其中,於步驟(d)之後更包括步驟(g),溢位暫存器30儲存搬動寫入暫存器26中資料之位元時其超出寫入暫存器26記憶空間的溢位資料,即是資料(000)2。於步驟(a)之前更包括步驟(h),讀取暫存器22讀取非顯示記憶體14中之系統輸入資料data_SI,並將其前64個位元分解為首部資料data_H,接下來執行步驟(a)來對首部資料data_H進行搬動操作。
請參照第7B圖,其繪示依照本發明第一實施例之位
元記憶區塊傳輸方法的部分流程圖。而於步驟(f)之後,本實施例之位元記憶區塊傳輸方法例如執行步驟(h’),讀取暫存器22將系統輸入資料data_SI中第65個位元至第128個位元分解為體部資料data_B。接下來執行步驟(a’)讀取暫存器22以讀取體部資料data_B中之資料data_scr_0xB2及data_scr_0xB3並分別將其儲存在記憶胞Pr1及Pr2中。接著依序地執行步驟(c’)、(d’)、(g’)及(f’):位元搬動電路24分別將記憶胞Pr1及Pr2中之資料儲存至記憶胞Pw1及Pw2中、位元搬動電路24回應於綜合位元位移量dw_rest來搬動記憶胞Pw1與Pw2中之資料並將溢位資料data_Le,即資料(000)2儲存至記憶胞Pw1的前dw_rest個位元記憶空間,此時記憶胞Pw1及Pw2分別包括資料(11111110)16及(11111111)16、溢位暫存器30儲存搬動寫入暫存器26中資料之位元時其超出寫入暫存器26記憶空間的溢位資料,即是資料(001)2及寫入暫存器26將記憶胞Pw1與Pw2中之資料做為系統輸出資料data_SO輸出,而其係被寫入圖框暫存器16中對應之記憶胞dst_0xA2及dst_0xA3中。如此,以搬動體部資料data_B至圖框暫存器16中對應之位址。
請參照第7C圖,其繪示依照本發明第一實施例之位元記憶區塊傳輸方法的部分流程圖。而於前述步驟(f’)之後,本實施例之位元記憶區塊傳輸方法例如執行步驟(h”),讀取暫存器22將系統輸入資料data_SI中後32個位元分解為尾部資料data_T。接下來執行步驟(a”),以讀取
尾部資料data_T中之資料data_scr_0xB4以將其儲存在記憶胞Pr1中。接著依序執行步驟(c’)、(d”)、(e’)及(f”):位元搬動電路24將記憶胞Pr1中之資料儲存至記憶胞Pw1中、位元搬動電路24回應於綜合位元位移量dw_rest來搬動記憶胞Pw1中之資料並將溢位資料data_Le儲存至記憶胞Pw1的前dw_rest個位元記憶空間,此時記憶胞Pw1包括資料(A0B0C0D1)2、讀取暫存器22讀取圖框暫存器16中包括目標原始資料ST_A之資料data_dst_0xA4,並將目標原始資料ST_P儲存其在記憶胞Pw1的後dw_restx_bar個位元中,此時記憶胞Pw1包括資料(0F0F0F0)16及寫入暫存器26將記憶胞Pw1中之資料做為系統輸出資料data_SO輸出,而其係被寫入圖框暫存器16中對應之記憶胞dst_0xA4中。如此,以搬動尾部資料data_T至圖框暫存器16中對應之位址。
在本實施例中雖僅以搬移資料SC被分成首部、體部及尾部資料data_H、data_B及data_T的情形為例作說明,然,在原始位址、目標位址及搬移資料SC之資料量改變時,搬移資料SC可能不完全地包括首部、體部及尾部資料。然,無論搬移資料SC包括何種情形之資料,其之搬移操作均可透過與前述操作實質上相近的操作來達成。例如,搬移資料為記憶胞scr_0xB0中第2個位元至第20個位元之資料,此時,係可將此搬移資料視為同時為首部及尾部資料,並經由上述操作中與搬動首部資料實質上相近的步驟及尾部資料的目標合併操作可完成搬動此搬移資
料的操作。
在本實施例中雖僅以位元搬動電路24中包括開關SW1~SW3、輸入暫存器IB1、IB2及輸出暫存器OB來同時進行回應於原始位元位移量scr_lclp來搬動讀取暫存器22中資料之儲存位置、回應於目標位元位移量dst_lclp來搬動寫入暫存器26中資料之儲存位置及搬動目標原始資料ST_P與ST_A至寫入暫存器26中對應之儲存位址,然,位元搬動電路24的電路界夠並不侷限於本實施例中所提及的電路結構,而更可進行若干更動。
在本實施例中雖僅以欲進行搬動之搬移資料SC之資料跨越兩個記憶胞scr_0xB0及scr_0xB2,即需儲存在讀取暫存器22中之資料包括64個位元,其之資料量等於讀取及寫入暫存器22及26的記憶空間(2×32)的情形為例做說明,然,本實施例之位元記憶區塊傳輸電路20及其方法可搬動之資料並不侷限於跨越兩個記憶胞,且於資料搬動操作時需儲存在讀取暫存器22中之資料長度亦不侷限於等於讀取及寫入暫存器22及26的記憶空間。
在本實施例中雖僅以搬動非顯示記憶體14中之搬移資料SC至圖框暫存器16的操作為例來對位元記憶區塊傳輸電路20作說明,然,本實施例之位元記憶區塊傳輸電路20並不侷限於用以搬動非顯示記體14中之資料至圖框暫存器16中,而更可廣義地應用在任何需要進行記憶體資料存取的應用場合之中。
本實施例之位元記憶區塊傳輸電路及其方法可以一
個位元為可執行操作之最小資料量單位。如此,本實施例之位元記憶區塊傳輸電路及其方法相較於傳統記憶區塊傳輸技術具有可降低需佔用之記憶體傳輸頻寬、提升顯示系統之顯示效果及可彈性地應用在各畫素資料之資料量小於一個位元組之低階視控調整電路上之優點。
本實施例之位元記憶區塊傳輸電路20用以接收系統輸入資料data_SI,並以對應之顯示資料data_DP做為系統輸出資料data_SO輸出至圖框暫存器16中之目標位址。如此,以根據顯示資料data_DP來對顯示面板18上對應顯示區域進行顏色填充(Color Filling)。位元記憶區塊傳輸電路20在本實施例中之操作與其在第一實施例中之操作不同之處在於其不需執行相關於讀取及對非記憶胞邊緣對齊之資料進行搬移以得到記憶胞邊緣對齊之資料的操作,而可直接將顯示資料寫入圖框暫存器16中之目標位址。
顯示資料data_DP例如包括19個位元,儲存於位址scr_ba={0xA0,00000}~{0xA0,10010}其之資料等於(0001101100011011000)2。本實施例之目標位址例如包括位址dst_ba={0xB0,00001}~{0xB0,10011}。而本實施例之位元記憶區塊傳輸電路20與第一實施例中之之位元記憶區塊傳輸電路具有實質上相近的電路結構及操作,然而,其不同之處在於此時處理器28執行之狀態機圖不具有來
源搬動狀態DW_SHIFT,而於來源讀取狀態SR之後直接執行讀寫傳輸狀態CALC。
對應之顏色填充方法的流程圖如第8圖所示。由於顯示資料data_DP之位元數量小於1個記憶胞的位元記憶空間且其中各位元均落在記憶胞scr_0x0A中,因此於本實施例之顏色填充方法中除了不具有第一實施例中位元記憶區塊傳輸方法中之步驟(b)之外,其不同之處更在於:步驟(h)中係得到首部暨尾部資料data_HT、於步驟(d)之後不具有步驟(g)及於步驟(e)中係分別將目標原始資料ST_P’及ST_A’寫入記憶胞Pw1中前dst_lclp個位元及後dw_restx_bar個位元記憶空間中。
如此,本實施例之位元記憶區塊傳輸電路20可有效地達到將顯示資料data_DP寫入目標位址中。這樣一來,本實施例之位元記憶區塊傳輸電路及其方法相較於傳統記憶區塊傳輸技術具有可降低需佔用之記憶體傳輸頻寬、提升顯示系統之顯示效果及可彈性地應用在各畫素資料之資料量小於一個位元組之低階視控調整裝置上之優點。
綜上所述,雖然本發明已以一較佳實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
10‧‧‧顯示系統
12‧‧‧處理器
14‧‧‧非顯示記憶體
16‧‧‧圖框暫存器
18‧‧‧顯示面板
20‧‧‧位元記憶區塊傳輸電路
21‧‧‧系統匯流排
22‧‧‧讀取暫存器
24‧‧‧位元搬動電路
26‧‧‧寫入暫存器
28‧‧‧處理器
30‧‧‧溢位暫存器
mux1~mux3‧‧‧多工器
dmux1~dmux3‧‧‧解多工器
IB1、IB2‧‧‧輸入暫存器
OB‧‧‧輸出暫存器
SW1~SW3‧‧‧開關單元
第1圖繪示依照本發明實施例之顯示系統的方塊圖。
第2圖繪示乃第1圖中非顯示記憶體14之記憶空間的示意圖。
第3圖繪示乃第1圖中圖框暫存器16之記憶空間的示意圖。
第4圖繪示乃本發明第一實施例之位元記憶區塊傳輸電路的電路圖。
第5圖繪示乃第4圖中之位元搬動電路24的方塊圖。
第6圖繪示乃第4圖中處理器28所執行之狀態機圖。
第7A圖繪示依照本發明第一實施例之位元記憶區塊傳輸方法的部分流程圖。
第7B圖繪示依照本發明第一實施例之位元記憶區塊傳輸方法的部分流程圖。
第7C圖繪示依照本發明第一實施例之位元記憶區塊傳輸方法的部分流程圖。
第8圖繪示依照本發明第二實施例之顏色填充方法的流程圖。
20‧‧‧位元記憶區塊傳輸電路
21‧‧‧系統匯流排
22‧‧‧讀取暫存器
24‧‧‧位元搬動電路
26‧‧‧寫入暫存器
28‧‧‧處理器
30‧‧‧溢位暫存器
mux1~mux3‧‧‧多工器
dmux1~dmux3‧‧‧解多工器
Claims (18)
- 一種位元記憶區塊傳輸(Bit Block Transfer,Bitblt)電路,包括:一讀取暫存器,用以儲存一分解資料,該分解資料包括一原始資料;一寫入暫存器;一位元搬動電路,用以搬動該讀取暫存器中之該分解資料至該寫入暫存器及搬動該寫入暫存器中之該分解資料之位元,使該分解資料中該原始資料之起始位元相對於該寫入暫存器之起始位址具有一位元位移量;以及一溢位暫存器,與該寫入暫存器耦接,用以儲存搬動該寫入暫存器中該分解資料之位元時該原始資料超出該寫入暫存器之位元記憶空間的一溢位資料;其中,該寫入暫存器輸出並寫入其中之該分解資料至一第一記憶體中之一記憶胞(Memory Cell)中,其中該讀取及該寫入暫存器分別包括複數個第一記憶胞(Memory Cell)及複數個第二記憶胞,該位元記憶區塊傳輸電路包括:一第一多工器(Mux),回應於一第一選擇訊號將儲存於該些第一記憶胞其中之一儲存之資料輸出;及一第二多工器,回應於一第二選擇訊號將儲存於該些第二記憶胞其中之一儲存之資料輸出。一第三多工器,回應一第三控制訊號之第一位準及第二位準分別輸出該第一及該第二多工器輸出之資料 至該位元搬動電路;一第一解多工器(Demux),用以回應一第四控制訊號之第一位準及第二位準分別提供該位元搬動電路產生之資料至該讀取暫存器及該寫入暫存器;一第二解多工器,用以回應一第五控制訊號選擇並儲存該位元搬動電路產生之資料至該些第一記憶胞其中之一;及一第三解多工器,用以回應一第六控制訊號選擇並儲存該位元搬動電路產生之資料至該些第二記憶胞其中之一。
- 如申請專利範圍第1項所述之位元記憶區塊傳輸電路,其中該位元搬動電路更用以於處理下一個分解資料時儲存該溢位資料於該寫入暫存器中對應之前N個位元之記憶空間,之後該寫入暫存器儲存此時之下一個分解資料至第一記憶體,N等於一原始位元位移量。
- 如申請專利範圍第1項所述之位元記憶區塊傳輸電路,其中該位元搬動電路包括:一第一輸入暫存器及一第二輸入暫存器;一第一開關單元,回應一第七選擇訊號之第一位準及第二位準分別提供該第三多工器輸出之資料至該第一及該第二輸入暫存器其中一;一第二開關單元及一第三開關單元,分別回應一第八選擇訊號及一第九選擇訊號選擇並輸出該第一及該第二輸入暫存器中部分之該分解資料;及 一輸出暫存器,用以儲存該第二及該第三開關單元輸出之部分之該分解資料,以產生並輸出一輸出資料。
- 如申請專利範圍第3項所述之位元記憶區塊傳輸電路,更包括:一處理器,用以提供該第一至該第九選擇訊號,該處理器更用以執行一狀態機(State Machine),以驅動該讀取、該寫入暫存器及該位元記憶區塊傳輸電路之操作。
- 如申請專利範圍第1項所述之位元記憶區塊傳輸電路,其中該讀取暫存器用以讀取一第二記憶體中之一系統輸入資料,將其分解為複數個分部資料,其中第一個分部資料為一首部資料,最後一個分部資料為一尾部資料;其中,該讀取暫存器用以依序地以該些分部資料做為該分解資料並儲存該分解資料。
- 如申請專利範圍第5項所述之位元記憶區塊傳輸電路,其中當該分解資料為該首部資料時,該位元搬動電路於搬動該讀取暫存器中之該分解資料至該寫入暫存器之前更回應一原始位元位移量搬動該讀取暫存器中之該分解資料之位元,使該原始資料之起始位元對齊該讀取暫存器之起始位址。
- 如申請專利範圍第5項所述之位元記憶區塊傳輸電路,其中當該分解資料為該首部資料時,該位元位移量為一目標位元位移量;其中,該讀取暫存器更於該位元搬動電路搬動該讀取暫存器中之該分解資料至該寫入暫存器之後讀取一第一 目標原始資料,該第一目標原始資料為儲存於該記憶胞中之前該目標位元位移量個位元位址之資料;其中,該位元搬動電路更於該寫入暫存器輸出該分解資料至該記憶胞之前儲存該第一目標原始資料於該寫入暫存器中之前該目標位元位移量個位址中。
- 如申請專利範圍第5項所述之位元記憶區塊傳輸電路,其中當該分解資料為該尾部資料時,該位元位移量為一綜合位元位移量,該綜合位元位移量等於一原始位元位移量與一目標位元位移量之差;其中,該位元搬動電路更用以搬動該溢位暫存器中儲存之該溢位資料至該寫入暫存器之前該綜合位元位移量個位元記憶空間中。
- 如申請專利範圍第5項所述之位元記憶區塊傳輸電路,其中當該分解資料為該尾部資料時,該讀取暫存器更於該位元搬動電路搬動該讀取暫存器中之該分解資料至該寫入暫存器之後讀取一第二目標原始資料;其中,該位元搬動電路更於該寫入暫存器輸出該分解資料至該記憶胞之前儲存該第二目標原始資料於該寫入暫存器中之後該k個位元位址中;其中,該第二目標原始資料為儲存於該記憶胞中之後k個位址之資料,其中K滿足方程式:K=BN_SC-[dst_lclp+(BN_SC mod BN_RB)]BN_RB為該讀取暫存器的記憶容量,BN_SC為該原始資料之位元數,dst_lclp為該目標位元位移量,mod為同餘 運算(Modulo)指令。
- 如申請專利範圍第5項所述之位元記憶區塊傳輸電路,其中該些分部資料中介於該首部及該尾部資料間之至少一分部資料等於至少一體部資料。
- 如申請專利範圍第10項所述之位元記憶區塊傳輸電路,其中當該分解資料等於該至少一體部資料時,該位元位移量為一綜合位元位移量,該綜合位元位移量等於一原始位元位移量與一目標位元位移量之差;其中,該位元搬動電路更用以搬動該溢位暫存器中儲存之該溢位資料至該寫入暫存器之前該綜合位元位移量個位元記憶空間中。
- 一種位元記憶區塊傳輸(Bit Block Transfer,Bitblt)方法,包括:(a)儲存一分解資料於一讀取暫存器,該分解資料包括一原始資料;(b)回應一原始位元位移量搬動該分解資料之位元,使該原始資料之起始位元對齊該讀取暫存器之起始位址;(c)儲存該分解資料至一寫入暫存器;(d)搬動該寫入暫存器中之該分解資料之位元,使該分解資料中該原始資料之起始位元相對於該寫入暫存器之起始位元具有一目標位元位移量;(e)讀取一第一目標原始資料,並將其儲存於該寫入暫存器中之前該目標位元位移量個位址中,該第一目標原始資料儲存於一第一記憶體中一記憶胞(Memory Cell)之 前該目標位元位移量個位元位址中;以及(f)儲存該寫入暫存器中之該分解資料至該記憶胞。(h)讀取一第二記憶體中之一系統輸入資料,並將其分解為複數個分部資料,其中第一個分部資料為一首部資料,最後一個分部資料為一尾部資料;其中,該些分部資料係依序地做為該分解資料儲存於該讀取暫存器中;其中,當該分解資料等於該首部資料時係經由步驟(a)~(f)來進行對應之資料處理,當該分解資料等於該尾部資料時執行步驟:(c)儲存該分解資料至一寫入暫存器;(d’)搬動該寫入暫存器中之該分解資料之位元,使該分解資料中該原始資料之起始位元相對於該寫入暫存器之起始位元具有一綜合位元位移量,其中該綜合位元位移量等於該原始位元位移量與該目標位元位移量之差;(e’)讀取一第二目標原始資料,並將其儲存於該寫入暫存器中之後K個位元位址中,該第二目標原始資料為儲存於該記憶胞之後K個位元位址之資料;及(f)儲存該寫入暫存器中之該分解資料至該記憶胞。其中K滿足方程式:K=BN_SC-[dst_lclp+(BN_SC mod BN_RB)]BN_RB為該讀取暫存器的記憶容量,BN_SC為該原始資料之位元數,dst_lclp為該目標位元位移量,mod為同餘運算(Modulo)指令。
- 如申請專利範圍第12項所述之位元記憶區塊傳輸方法,其中更包括:(g)儲存搬動該寫入暫存器中該分解資料之位元時該分解資料超出該寫入暫存器記憶空間的一溢位資料。
- 如申請專利範圍第12項所述之位元記憶區塊傳輸法,其中於步驟(d’)中更包括:(d1)儲存一溢位資料於該寫入暫存器中前N個位元之記憶空間,其中N等於該綜合位元位移量。
- 如申請專利範圍第12項所述之位元記憶區塊傳輸方法,其中該些分部資料中介於該首部及該尾部資料間之至少一分部資料等於至少一體部資料。
- 如申請專利範圍第15項所述之位元記憶區塊傳輸方法,其中當該分解資料等於該至少一體部資料時執行步驟:(c)儲存該分解資料至一寫入暫存器;(d’)搬動該寫入暫存器中之該分解資料之位元,使該分解資料中該原始資料之起始位元相對於該寫入暫存器之起始位元具有一綜合位元位移量,其中該綜合位元位移量等於該原始位元位移量與該目標位元位移量之差;及(f)儲存該寫入暫存器中之該分解資料至該第一記憶體。
- 如申請專利範圍第16項所述之位元記憶區塊傳輸方法,其中於步驟(d’)中更包括: (d1’)儲存一溢位資料於該寫入暫存器中前該綜合位元位移量個位元之記憶空間。
- 如申請專利範圍第16項所述之位元記憶區塊傳輸方法,其中更包括:(g)儲存搬動該寫入暫存器中該分解資料之位元時該分解資料超出該寫入暫存器記憶空間的一溢位資料。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/003,170 US8169444B2 (en) | 2007-12-20 | 2007-12-20 | Bit block transfer circuit and method thereof and color filling method |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200929166A TW200929166A (en) | 2009-07-01 |
TWI394140B true TWI394140B (zh) | 2013-04-21 |
Family
ID=40790019
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW097103170A TWI394140B (zh) | 2007-12-20 | 2008-01-28 | 位元記憶區塊傳輸電路及其方法及顏色填充方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8169444B2 (zh) |
CN (1) | CN101465117B (zh) |
TW (1) | TWI394140B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI421517B (zh) * | 2010-08-02 | 2014-01-01 | Macronix Int Co Ltd | 積體電路測試系統和方法 |
TWI498869B (zh) * | 2013-08-19 | 2015-09-01 | Sitronix Technology Corp | A data access device for a display device |
US12014673B2 (en) | 2022-02-07 | 2024-06-18 | Creeled, Inc. | Light-emitting diodes with mixed clock domain signaling |
US12014677B1 (en) | 2023-04-10 | 2024-06-18 | Creeled, Inc. | Light-emitting diode packages with transformation and shifting of pulse width modulation signals and related methods |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5218674A (en) * | 1990-09-14 | 1993-06-08 | Hughes Aircraft Company | Hardware bit block transfer operator in a graphics rendering processor |
US5353403A (en) * | 1991-03-22 | 1994-10-04 | Hitachi Chubu Software, Ltd. | Graphic display processing apparatus and method for improving the speed and efficiency of a window system |
TW548556B (en) * | 2000-08-09 | 2003-08-21 | Silicon Integrated Sys Corp | Balance of loading on geometry engine and rendering engine |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5077678A (en) * | 1989-11-21 | 1991-12-31 | Texas Instruments Incorporated | Graphics data processor with window checking for determining whether a point is within a window |
US4823286A (en) * | 1987-02-12 | 1989-04-18 | International Business Machines Corporation | Pixel data path for high performance raster displays with all-point-addressable frame buffers |
CA2155177C (en) * | 1995-05-08 | 2000-09-19 | Sanford S. Lum | General pattern blit source type |
US20070279439A1 (en) * | 2006-06-06 | 2007-12-06 | Chou-Liang Tsai | Method and device for region-based bitblt with clipping-in or clipping-out |
-
2007
- 2007-12-20 US US12/003,170 patent/US8169444B2/en not_active Expired - Fee Related
-
2008
- 2008-01-28 TW TW097103170A patent/TWI394140B/zh not_active IP Right Cessation
- 2008-08-04 CN CN2008101443923A patent/CN101465117B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5218674A (en) * | 1990-09-14 | 1993-06-08 | Hughes Aircraft Company | Hardware bit block transfer operator in a graphics rendering processor |
US5353403A (en) * | 1991-03-22 | 1994-10-04 | Hitachi Chubu Software, Ltd. | Graphic display processing apparatus and method for improving the speed and efficiency of a window system |
TW548556B (en) * | 2000-08-09 | 2003-08-21 | Silicon Integrated Sys Corp | Balance of loading on geometry engine and rendering engine |
Also Published As
Publication number | Publication date |
---|---|
TW200929166A (en) | 2009-07-01 |
CN101465117A (zh) | 2009-06-24 |
CN101465117B (zh) | 2011-06-15 |
US8169444B2 (en) | 2012-05-01 |
US20090164713A1 (en) | 2009-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101601084B (zh) | 图像显示装置以及图像显示方法 | |
JPH04106594A (ja) | 画像表示装置およびそれに用いる外部記憶装置 | |
JP3428192B2 (ja) | ウインドウ表示処理装置 | |
JPS61159686A (ja) | 画像表示装置 | |
TWI394140B (zh) | 位元記憶區塊傳輸電路及其方法及顏色填充方法 | |
US20060187354A1 (en) | Video composition circuit | |
JPH08505255A (ja) | ウィンドウ動作用フレーム・バッファ・システム | |
US8558840B2 (en) | Integrated circuit device and electronic device | |
US5774108A (en) | Processing system with display screen scrolling | |
JP2008305030A (ja) | 合成画像生成装置 | |
US7064764B2 (en) | Liquid crystal display control device | |
JP4807910B2 (ja) | オンスクリーンディスプレイ装置 | |
KR100608766B1 (ko) | 이동 통신 단말기의 표시 장치 및 방법 | |
US5917506A (en) | Fast data alignment display queue structure for image block transfer | |
EP2637164A1 (en) | Drawing device and drawing method | |
JPS62127790A (ja) | マルチウインドウ表示制御方式 | |
JP2922519B2 (ja) | ビデオ合成装置 | |
JP4695422B2 (ja) | 画像合成装置 | |
JP2000172242A (ja) | 画像表示制御装置 | |
JPS63245716A (ja) | マルチウインドウ表示装置 | |
JP3431925B2 (ja) | 画像表示制御装置及びその方法 | |
JPS61264381A (ja) | 記憶回路 | |
JPH08129368A (ja) | グラフィックスサブシステムおよびその制御方法 | |
JPS60209786A (ja) | カラ−デイスプレイ装置 | |
JPH043094A (ja) | 表示装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |