位存储区块传输电路及其方法及颜色填充方法

文档序号:2543024阅读:258来源:国知局
专利名称:位存储区块传输电路及其方法及颜色填充方法
技术领域
本发明涉及一种存储区块传输电路,特别是涉及一种位对准(Bit Alignment)的位区块传输电路(Bit Block Transfer, Bitblt)。
背景技术
在现今时代中,存储区块传输技术已经存在。例如在显示器的视控调 整(On Screen Display, OSD)装置中,存储区块传输技术被应用来搬动非显 示存储器(Off Screen Memory)中储存的预设图形及菜单信息至帧緩沖器 (Frame B uffer)中,以经由显示器显示视控调整菜单。
在传统存储区块传输技术中,可执行操作的最小数据量单位为 一个字 节(Byte)。如此,即使仅欲对一个字节中的一个位数据进行搬动、修改或存 取操作,传统存储区块传输技术须对整个字节的数据进行上述操作。这样 一来,传统存储区块传输技术将占用较多的存储器传输频宽。
另外,在应用传统存储区块传输技术来设计位型(Bit-based)视控调整功 能(On Screen Display, OSD)模块的场合中,由于传统存储区块传输技术可 执行操作的最小数据量单元为一个字节, 一般设计一个像素对应显示至少8 个位的OSD数据,以使此位型OSD最小的影像修改及搬动单位为一个像 素。如此,将使得应用传统区块传输技术的OSD模块无法弹性地应用在一 个像素的像素数据量小于8个位的应用场合,例如是低阶视控调整装置上, 使传统存储区块传输技术具有较差的应用弹性。

发明内容
本发明涉及一种位存储区块传输(Bit Block Transfer, Bitblt)电路及其方 法,其可以一个位(Bit)为可执行操作的最小数据量单位。如此,本实施例的 位存储区块传输电路及其方法相较于传统存储区块传输技术具有可降低需 占用的存储器传输频宽、提升显示系统的显示效果及可弹性地应用在各像 素数据的数据量小于一个字节(Byte)的视控调整功能(On Screen Display,
7OSD)模块上的优点。
根据本发明提出一种位存储区块传输电路,包括读取寄存器、写入寄 存器、位搬动电路及溢位寄存器。读取寄存器,用以储存分解数据,其中 包括原始数据。位搬动电路用以搬动读取寄存器中的分解数据至写入寄存 器及搬动写入寄存器中的分解数据的位,使分解数据中原始数据的起始位 相对于写入寄存器的起始地址具有位位移量。溢位寄存器与写入寄存器耦 接,用以储存搬动写入寄存器中分解数据的位时原始数据超出写入寄存器 的存储长度的溢位数据。其中,写入寄存器输出并写入其中的分解数据至
第一存储器中的存储单元(Memory C:ell)中。
根据本发明提出一种位存储区块传输方法,包括下列步骤首先储存 分解数据于读取寄存器,分解数据包括原始数据;接着回应原始位位移量 搬动分解数据的位,使原始数据的起始位对齐读取寄存器的起始地址;然 后储存该分解数据至一写入寄存器;接着搬动写入寄存器中的分解数据的 位,使分解数据中原始数据的起始位相对于写入寄存器的起始位具有目标 位位移量;然后读取第一目标原始数据,并将其储存于写入寄存器中之前 目标位位移量个地址中,第 一 目标原始数据为储存于第 一存储器中存储单 元之前目标位位移量个位地址的数据;之后^诸存写入寄存器中的分解数据 至存储单元。
根据本发明提出一种颜色填充(ColorFilling)方法,包括下列步骤首先 储存填充数据至读取寄存器;接着储存分解数据至写入寄存器;然后搬动 写入寄存器中的填充数据的位,使填充数据的起始位相对于写入寄存器的 起始位具有目标位位移量;接着读取第一目标原始数据,并将其储存于写 入寄存器中之前目标位位移量个位存储空间中,第一目标原始数据储存于 第 一存储器中存储单元之前目标位位移量个位存储空间中;之后储存写入 寄存器中的填充数据至存储单元。
为使本发明的上述内容能更明显易懂,下文特举一较佳实施例,并结 合附图详细说明如下。


图1示出了依照本发明实施例的显示系统的方块图。
图2示出了图1中非显示存储器14的存储空间的示意图。图3示出了图1中帧寄存器16的存储空间的示意图。 图4示出了本发明第一实施例的位存储区块传输电路的电路图。
图5示出了图4中的位搬动电路24的方块图。 图6示出了图4中处理器28所执行的状态机图。
图7A示出了依照本发明第一实施例的位存储区块传输方法的部分流 程图。
图7B示出了依照本发明第一实施例的位存储区块传输方法的部分流程图。
图7C示出了依照本发明第一实施例的位存储区块传输方法的部分流程图。
图8示出了依照本发明第二实施例的颜色填充方法的流程图。
附图符号说明10显示系统
12处理器
14非显示存储器
16帧寄存器
18显示面板
20位存储区块传输电路
21系统总线
22读取寄存器
24位搬动电路
26写入寄存器
28处理器
30溢位寄存器
mux 1 mux3: 多路复用器 dmuxl dmux3:解多路复用器 IB1、 IB2:输入寄存器 OB:输出寄存器 SW1 SW3:开关单元
具体实施例方式
本发明实施例的位存储区块传输(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来对其中的存储空 间进4亍寻址。地址dst—ba例如满足才各式dst—ba={dst—cell,dst—bit}, dst—cell 及dst一bit分别为地址及位位移量。地址dst_cell包括8个位,用以对存储单 元寻址,而地址dst_cell例如以十六进位制表示。位位移量dst》it例如包括 5个位,用以记录存储单元中各位数据相对于存储单元的起始位地址的位位 移量,而位位移量dst—bit例如以二进位制表示。举例来i兌,地址 dst—cell=OxAO 对应至存储单元 dst—OxAO , 而地址 dst—ba-(OxAO,OOOOO卜(0xAO,llllU对应至存储单元dst—OxAO的第1个至第 32个位。如此,地址dst一ba可对存储单元中的各个位进行寻址。
非显示存储器14用以储存预定数据,非显示存储器14包括256个存 储单元,各存储单元包括4个字节。非显示存储器14中的数据以地址scr》a 表示,其中包括地址scr—cell及位位移量scr—bit。地址sci'_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)6。前述数据data—scr_OxBO~data—scr—0xB4例如用以做为系统 输入数据data—SI输入至位存储区块传输电路20。
搬移数据SC例如包括128个位,而原始地址例如包括地址 scr_ba={0xB0,00001} {0xB4,00000},即在起始状况下,搬移数据SC储存 在存储单元scr一OxBO scr—OxB4中,且搬移数据SC的起始位相对于存储单 元scr—OxBO的起始地址具有原始位位移量scr—lclp=(00001)2。更详细的说, 搬移数据SC包括数据data—scr—OxBO中的第2个至第32个位、数据 data—scr—OxBl data—scr—0xB3中的全部数据及数据data—scr—OxB4中的第1 个位,而其的数值等于(lllllll 11111 111 10888888888888888)l6。
请参照图3,其示出了图1中帧寄存器16的存储空间的示意图。目标 地址例如包括地址dst—ba={0xA0,00100}~{0xA4,00011},换言之,当搬移数 据SC搬动至目标地址后搬移数据SC的起始位相对于存储单元dst_OxAO的 起始地址具有目标位位移量dst_lclp,其的数值例如等于(00100)2。存储单元 dst—OxAO dst—OxA4 于起始状态时例如分另'j储存数据 data_dst—OxAO~data__dst—0xA4 , 其例如分另'J等于(10101010)16 、 (OAOBOCOD)16-、 (A0B0C0D0)l6、 (0A0B0C0D)16及(OFOFOFOF^。当搬移数 据SC搬动至目标地址后,数据data—dstJ)xAO及data—dst—0xA4中部分的数 据被搬移数据SC覆盖,而部分的数据被保留。数据data一dst—OxAO及 data—dst一0xA4中被保留的数据分别为目标原始数据ST—P及ST—A。目标原 始数据ST—P包括储存在地址dst—ba^OxAO,00000卜(OxAO,OOOU)中的数 据,其的数值例如等于(0000)2。目标原始数据ST—A包括储存在地址dst—ba={0xA4,00100}~{0xA4,lllll}中的数据,其的数值例如等于
请参照图4,其示出了本实施例的位存储区块传输电路的电路图。位存 储区块传输电路20包括读取寄存器(Read Buffer)22、位搬动电路24、写 入寄存器(Write Buffer)26、处理器28、溢位寄存器30、多路复用器 (Multiplexer)muxl mux3及角罕多路复用器(De-multiplexer) dmuxl dmux3。读 取寄存器22包括存储单元Prl Pm,用以储存系统输入数据data—SI, n为 自然数。其中存储单元Prl Prn的存卩诸空间例如为32个位,n例如等于2。 如此,读取寄存器22的存储空间例如等于64(2x32)个位,其小于系统输入 数据data—SI的数据总量。读取寄存器22以其存储空间来依序地储存系统 输入数据data—SI,每一次读取寄存器22的存储空间存满数据时,其时储存 于其中的数据例如被切割为 一个数据分部。例如系统输入数据data—SI被分 为首部(Head)数据data—H、体部(Body)数据data—B及尾部(Tail)数据data—T, 其分别包括数据data—scr—OxBO与data—scr—OxBl 、数据data—scr—OxB2与 data—scr—OxB3及数据data—scr_0xB4。位存储区块传输电路20分别对这些 分部的数据进行搬动操作。
读取寄存器22依序储存首部、体部及尾部数据data_H、 data_B及 data一T,如此,位存储区块传输电路20可依序地对系统输入数据data—SI 进行位位置的搬移操作。其中,读取寄存器22用以将前述首部、体部及尾 部数据data—H、 data—B及data—T中的前32位及后32位由次幂低到高依序 地排列在存储单元Prl及Pr2中由下到上的32个位存储空间中。例如在储 存首部数据data_H时,首部数据data—H中前32个位及后32个位
Pi-2中由下到上的32个位存储空间中。
写入寄存器26中包括存储单元PwbPwm, m为自然数。各存储单元 Pwl Pwm的长度例如等于32个位,而m例如等于2。写入寄存器26用以 输出得到的系统输出数据data一SO。溢位寄存器30的长度例如等于32个位' 其例如为写入寄存器26的第3个存储单元,用以储存存储单元Pw2中的数 据因搬动而超出存储单元Pw2的存储空间的数据。
多路复用器muxl回应于选择讯号mux—sel输出存储单元Prl及Pr2其
分别依序地储存在存储单元Prl及
12中之一储存的数据,多路复用器mux2回应于选择讯号mux一se2输出存储单元Pwl 、 Pw2及溢位寄存器30其中之一储存的数据。多路复用器mux3接收多路复用器muxl及mux2输出的数据,并回应于选4奪讯号mux—se3来以多路复用器muxl及mux2其中之一输出的数据做为输入数据datajn输出。
解多路复用器dmuxl回应于选择讯号dmux—sel来提供输出数据data—out至解多路复用器dmux2与dmux3其中之一 。解多路复用器dmux2用以回应选择讯号dmux—se2提供输出数据data_out至存储单元Prl及Pr2其中之一,以储存输出数据data—out于存储单元Prl及Pr2其中之一,解多路复用器dmux3用以回应于选择讯号dmux—se3提供输出数据data—out至存储单元Pwl 、 Pw2及溢位寄存器30其中之一,以储存输出数据data—out于存储单元Pwl、 Pw2及溢位寄存器30其中之一。
请参照图5,其示出了图4中的位搬动电路24的方块图。位搬动电路24包括输入寄存器IB1、 IB2、输出寄存器OB及开关单元SW1 SW3。开关单元SW1接收输入数据datajn,并回应于选^^讯号SW—sel来提供输入数据data—in至输入寄存器IB1与IB2其中之一。输入寄存器IB1及IB2受到处理器2 8的控制分别分为上半部IB1 —H与下半部IB 1 —L及上半部IB2一H与下半部IB2一L。处理器28用以决定输入寄存器IB1的上半部IB1_H及下半部IB1—L的长度,并用以决定输入寄存器IB2的上半部IB2—H及下半部IB2—L的长度。输入寄存器IB1及IB2例如以触发器(Flip-flop)电路来实现。
开关单元SW2用以回应于选4奪讯号SW_se2来选择并输出上半部IBlJi及下半部IB]JL其中之一中的数据至输出寄存器0B。开关单元SW3用以回应于选择讯号SW一se3来选纟f并输出上半部IB2—H及下半部IB2—L其中之一中的数据至输出寄存器OB。输出寄存器OB接收并合并开关单元SW2及SW3提供的数据来得到输出数据data—out。输入寄存器IB1、 ffi2及输出寄存器0B的长度例如等于读取寄存器22中存储单元Prl及Pr2的长度,即例如输入寄存器IB1、 IB2及输出寄存器OB的长度等于32个位。
处理器28还用以被编程来执行状态机(State Machine),以控制位存储区块传输电路20的操作,此状态机如图6所示。处理器28包括来源读取状态SR、来源搬动状态SR—SHIFT、读写传输状态CALC、目标搬动状态DW_SHIFT、目标读取状态DR、目标合并状态DR—MGE及目标写出状态DW等状态。处理器28根据前述的状态及控制讯号CMD来产生选^^讯号mux—sel mux一se3、 dmux—sel dmux一se3及S^V—sel SW一se3, 以4空制前述多路复用器muxl 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_0xB 1在存储单元Prl及Pr2中。
接着处理器28进入来源搬动状态SR—SHIFT,此时位搬动电路24被驱动来回应于原始位位移量sci^lclp搬动读取寄存器22中存储单元Prl及Pr2的数据的储存位置。于搬动存储单元Prl中的数据时,处理器28提供对应的选择讯号mux—sel、 mux_se3及SW—sel来控制多路复用器muxl、 mux3及开关单元SW1以分别提供存储单元Prl及Pr2中的数据至输入寄存器IB1及IB2。
此时寄存器IB1及IB2分别被分为上半部IB1_H与下半部IB1_L及上半部IB2—H与下半部IB2—L。上半部IBl—H的长度等于scrjclp—bar个位以储存存储单元Prl中后scr_ldp—bar个位,参数scr—lclp_bar等于非显示存储器22的存储单元的总位数与原始位位移量scr—lclp的差,即参数scr—lclp—bar等于 31(32-1), 上半部 IB]—H 包括数 据
个位以储存存储单元Prl中前scr— 一ldp个位,即存储单元Prl中的第1个位(1)2。由于数据data—scr_0xB0与data—scr_0xB 1具有实质上相同的数据,上半部IB2_H与下半部IB2—L分别具有与上半部IBl—H与下半部IBl—L实质上相同的数据内容。
输出寄存器OB被分为上半部OB—H及下半部OB—L,上半部OB—H及下半部OBJ^的长度分别等于scrjclp个及scr—lclpj ar个位。开关单元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个位。解多路复用器dmuxl及dmux2分别回应于选择讯号dmux一sel及dmux—se2来将输出数据data—out输出至存储单元Pr 1,如此,以搬动存储单元Pr 1中的数据。
于搬动存储单元Pr2中的数据时,位存储区块传输电路20执行与前述搬动存储单元Prl中的数据实质上相同的操作,以使存储单元Pr2储存数据
然后处理器28进入读写传输状态CALC,以搬动读取寄存器22中的数据至写入寄存器26中。其中,在读写传输状态CALC中,读取寄存器22、位搬动电路24及多路复用器muxl及mux3被控制来执行与上述搬动读取寄存器22中的数据实质上相同的步骤以产生相同的输出数据data—out;而解多路复用器dmuxl及dmux3分别回应于选择数据dmux—sel及dmux—se3提供输出数据data—out至存储单元Pwl及Pw2。如此,以分别搬动存储单元Prl及Pr2中的数据至存储单元Pwl及Pw2中。此时存储单元Pwl及Pw2分别储存数据(88888888)16及(08888888)16。
接着处理器28进入目标搬动状态DW_SHIFT,此时位搬动电路24被驱动来回应于目标位位移量dst—lclp搬动存储单元Pwl及Pw2的数据的储存位置。于搬动存储单元Pwl中的数据时,处理器28提供对应的选择讯号mux_se2、 mux—se3及SW—sel来分别控制多路复用器imix2、 mux3及开关单元SW1提供存储单元Pwl中的数据至输入寄存器IB2。输入寄存器IB1中的数据为起始数值,例如是(00000000)16。开关单元SW2及SW3分别选择存储单元IB1的前dst—lclp个位(0000)2及IB2的前dstjclp—bar个位
半部OB—L。如此,以得到数据(88888880)-16,并将其做为输出数据data—out输出。解多路复用器dmuxl及dmux3分别回应于选择讯号dmux—sel及dmux_se3来将输出数据data_out输出至存储单元Pwl,如此,以搬动存储单元Pwl中的数据。
于搬动存储单元Pw2中的数据时,处理器28提供对应的选择讯号mux—se2、 mux—se3及SW—sel来控制多路复用器mux2、 mux3及开关单元
,其为搬移数据SC中的第33个位至第64个位。
,并将其分别储存于上半部OB—H与下SW1来分别提供存储单元Pwl及Pw2中的数据至输入寄存器IB1及IB2。位搬动电路24选择输入寄存器IB1的后dst—lclp个位(1000)2及输入寄存器IB2的前dst—ldp—bar个位(l000100010001000100010001000)2并将其分别储存于上半部OBJH与下半部OB_L。如此,以得到数据(88888888)2,并将其做为输出数据data—out输出,而输出数据data—out被输出至存储单元Pw2,如此,以达到搬动存储单元Pw2中的数据的操作。
此时,原存储单元Pw2中倒数第4至倒数第2个位,即(000)-2...因前述搬动读取及写入寄存器22及26中数据产生的溢位数据dataJLe是储存在溢位寄存器30中。更详细的说,于搬动存储单元Pw2的数据时,输入寄存器IB2中后dstjclp个位,即是-溢位数据(000)-2被搬移至溢位寄存器30的前3个位空间中。之后当读取寄存器22读取体部数据data一B而位存储区块传输电路20执行对体部数据data一B对应数据搬移操作时,溢位数据data—Le被搬动至写入寄存器26中对应的存储位置中。
然后处理器28进入目标读取状态DR,此时读取寄存器22被驱动来读取数据data—dst—OxAl ,并将其储存在存储单元Prl中。其中数据.data—dst—OxAl中具有目标原始数据ST—P。
接着处理器28进入目标合并状态DR一MGE,此时位搬动电路24被驱动来合并存储单元Prl中的目标原始数据ST_P至存储单元Pw]中。于合并前述目标原始数据ST—P至存储单元Pwl时,处理器28提供对应的控制讯号mux—se2、 mux一se3及SW—sel来分别控制多路复用器mux2、 mux3及开关单元SWl提供存储单元Pwl中的数据至输入寄存器IB2中;处理器28并提供控制讯号mux_sel 、mux—se3及SW_sel来分别控制多路复用器muxl 、mux3及SWl提供存储单元Prl中的数据至输入寄存器IB1。位搬动电路24选择输入寄存器IBl的前dst_lclp个位(00()0)2及输入寄存器IB2的后
于上半部OB一H及下半部OB—L。如此,以合并得到数据(88888880)|6,并将其做为输出数据data—out输出,而输出数据data—out被输出至存储单元Pwl,如此,以合并目标原始^:据ST—P至存储单元Pwl中的前4个位存储空间中。
之后处理器28进入目标写出状态DW,此时写入寄存器26将存储单元Pwl及Pw2中的数据做为系统输出数据data一SO输出,而存储单元Pwl及
16Pw2中的数据分别被写入存储单元dst—0xA0及dst_0xAl 。如此,以完成搬动首部数据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分别储存在存储单元Prl及Pr2中。
接着处理器28进入读写传输状态CALC,此时位存储区块传输电路20执行与前述搬动首部数据data一H中处理器28进入读写传输状态CALC中实质上相同的操作来分别传输寄存器Prl及Pr2中的数据至寄存器Pwl及Pw2中。
然后处理器28进入目标搬动状态DW—SHIFT,此时位搬动电路24被驱动来回应于综合位位移量dw一rest搬动存储单元Pwl及Pw2的数据的储存位置,并搬动溢位寄存器30储存的溢位数据data—Le到写入寄存器26的前dw—rest中。其中综合位位移量dw—rest等于原始位位移量sci'Jclp与目标位位移量dstjclp的差,即dw—rest = dstJclp - scr—lclp,在本实施例中综合位位移量dw_rest等于3。
于搬动搬动存储单元Pwl中的数据时,处理器28提供对应的选择讯号mux—se2、 mux—se3及SW_sel分别控制多路复用器mux2、 mux3及开关单元SW1提供存储单元Pwl中的数据至输入寄存器IB2,并提供溢位寄存器30中的溢位数据dataJLe至输入寄存器IB1 ,其中溢位寄存器data—Le储存在输入寄存器IB1的前dw—rest个位中。位搬动电路24选择输入寄存器IB1的前dw—rest个位(000)2及输入寄存器IB2的前dw—rest—bar个位,并分别将其储存在下半部OB_H及下半部OB—L。其中参数dw一rest一bar等于存储单元Pwl的总位数与综合位位移量dw—rest的差,即参数dw—lclp—bar等于29(32-3),下半部OB—L包括数据(00010001000100010001000100010)2。如此,以合并到数据(11111110)16,并将其做为输出数据data_out输出,而输出数据data—out被输出至存储单元Pwl,如此,以搬动存储单元Pwl中的
17数据,并将溢位数据dataJLe储存在存储单元Pwl的前dw_rest个位。
于搬动存储单元Pw2中的数据时,处理器28提供对应的选择讯号mux—se2、 mux_se3及SW—sel来控制多路复用器mux2、 mux3及开关单元SW1分别提供存储单元Pwl及Pw2中的数据至输入寄存器IB1及IB2。接着,位搬动电路24选择输入寄存器.的后dw一rest个位(001)2及输入寄存器IB2的前dw—rest—bar个位(OOO 10001000100010001000100010)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分别将存储单元Pwl及Pw2中的数据做为系统输出数据data—SO输出,而存储单元Pwl及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并将其储存于存储单元Prl、搬动存储单元Prl中的数据至存储单元Pwl、回应于综合位位移量dw—rest来将溢位数据data_Le,即数据(001)-2合并至存储单元Pwl中的数据的前dw—rest个位、读取数据data—dst—0xA4并将其储存在存储单元Prl中、摔存储单元Prl中的后dw—restx—bar个位储存至存储单元Pwl的后dw—restx—bar个位及将存储单元Pwl中的数据做为系统输出数据data—SO输出,而存储单元Pwl中的数据被写入存储单元dst_0xA4。
参数dw—restx—bar等于存储单元Pwl的位数与参数dw—restx的差;参数dw—restx等于参凄t dst—lclp与参数width」'c]p的和;参数width—rclp实质上等于搬移数据SC相对于读取寄存器22的位存储空间进行同余运算(Modulo Operation) 4寻到的参凄丈,前述参H width一rclp 、 dw—restx及dw一restx一bar满足方程式
wi她一rclp = BN—SC mod BN—RB = 128 mod 64 = 0<j dw一restx 二 dst_lclp + width一rclp = 4 + 0 = 0dw一restx—bar = BN—Pwl - dw一restx = 32 - 4 = 28
由上述方程式可知,参数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—OxB 1分别于存储单元Prl及Pr2中。然后如步骤(b),位搬动电路24回应于原始位位移量scrjdp来搬动存储单元Prl及Pr2中的数据,使数据data—scr—0xB0与data—scr—OxB 1包含的搬移数据SC的起始位对齐存储单元Prl的起始地址。此时,存储单元Prl及Pr2分别储存数据(88888888)16及(08888888)16,即是搬移数据SC的前64个位。
接着如步骤(c),位搬动电路24搬动读取寄存器22中存储单元Prl及Pr2的数据分别至写入寄存器26中的存储单元Pwl及Pw2。然后如步骤(d),位招定动电路24回应于目标位位移量(ist一lclp搬动存Y诸单元Pw及Pw2中的数据,使得其中的搬移数据SC的起始位相对于写入寄存器26的起始位地址具有目标位位移量dst_lclp。此时存储单元Pwl及Pw2分别包括数据(88888880)16及(88888888)16。其中,在步骤(d)的操作中存储单元Pw2中倒数第4个至倒数第2个位(000)2例如形成溢位数据data_Le,溢位数据data—Le被储存在溢位寄存器30中。
接着如步骤(e),读取寄存器22读取帧寄存器16中包括目标原始数据ST—P的数据data一dst一OxAO,而位搬动电路24搬动目标原始数据ST_P以储存其在存储单元Pwl中对应的储存空间。其中,目标原始数据ST一P储存在存储单元Pwl的前dst_lclp个位存储空间中,此时,存储单元Pwl包括数据(88888880)-16。之后如步骤(f),写入寄存器26将存储单元Pwl及Pw2中的数据做为系统输出数据data—SO输出,而其被写入帧寄存器16中对应的存储单元dst—OxAO及dst_OxAl中。如此,以搬动首部数据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—OxB3并分别将其储存在存储单元Prl及Pr2中。接着依序地执行步骤(c)、 (d,)、 (g,)及(f'):位搬动电路24分别将存储单元Prl及Pr2中的数据储存至存储单元Pwl及Pw2中、位搬动电路24回应于综合位位移量chv_rest来4般动存储单元Pwl与Pw2中的数据并将溢位数据data_Le,即数据(000)2储存至存储单元Pwl的前dw_rest个位存储空间,此时存储单元Pwl及Pw2分别包括数据(l 1111110)16及(11111111)16、溢位寄存器30储存搬动写入寄存器26中数据的位时其超出写入寄存器26存储空间的溢位数据,即是数据(001)—2及写入寄存器26将存储单元Pwi与Pw2中的数据做为系统输出数据data—SO输出,而其被写入帧寄存器16中对应的存储单元dst—0xA2及dstJ)xA3中。如此,以搬动体部数据data一B至帧寄存器16中对应的地址。
请参照图7C,其示出了依照本发明第一实施例的位存储区块传输方法的部分流程图。而于前述步骤(f,)之后,本实施例的位存储区块传输方法例如执行步骤(h,,),读取寄存器22将系统输入数据data—SI中后32个位分解为尾部数据data—T。接下来执行步骤(a"),以读取尾部数据data—T中的数据data—scr—0xB4以将其储存在存储单元Prl中。接着依序执行步骤(c')、 (d")、(e,)及(f,)位搬动电路24将存储单元Prl中的数据储存至存储单元Pwl中、位搬动电路24回应于综合位位移量dw—rest来搬动存储单元Pwl中的数据并将溢位数据data_Le储存至存储单元Pwl的前dw_rest个位存储空间,此时存储单元Pwl包括数据(A0B0C0D1)2、读取寄存器22读取帧寄存器16中包括目标原始数据ST—A的数据data_dst_0xA4,并将目标原始数据ST—P储存其在存储单元Pwl的后dw_restx—bar个位中,此时存储单元Pwl包括数据(0F0F0F0;h6及写入寄存器26将存储单元Pwl中的数据做为系统输出数据data—SO输出,而其被写入帧寄存器16中对应的存储单元dst一0xA4中。如此,以搬动尾部数据data_T至帧寄存器16中对应的地址。
在本实施例中虽仅以搬移数据SC被分成首部、体部及尾部数据data—H、 data—B及data—T的情形为例作说明,然,在原始地址、目标地址及搬移数据SC的数据量改变时,搬移数据SC可能不完全地包括首部、体部及尾部数据。然而,无论搬移数据SC包括何种情形的数据,其搬移操作均可通过与前述操作实质上相近的操作来实现。例如,搬移数据为存储单元scr_OxBO中第2个位至第20个位的数据,此时,可将此搬移数据视为同时为首部及尾部数据,并经由上述操作中与搬动首部数据实质上相近的步骤及尾部数据的目标合并操作可完成搬动此搬移数据的操作。
在本实施例中虽仅以位搬动电路24中包括开关SW1 SW3、输入寄存器IB1、 IB2及输出寄存器OB来同时进行回应于原始位位移量scr—lclp来搬动读取寄存器22中数据的储存位置、回应于目标位位移量dstjclp来搬动写入寄存器26中数据的储存位置及搬动目标原始数据ST—P与ST—A至写入寄存器26中对应的储存地址,然而,位搬动电路24的电路结构并不局限于本实施例中所提及的电路结构,而还可进行若干更动。
在本实施例中虽仅以欲进行搬动的搬移数据SC的数据跨越两个存储单元scr—OxBO及scr—0xB2,即需储存在读取寄存器22中的数据包括64个位,其数据量等于读取及写入寄存器22及26的存储空间(2x32)的情形为例做说明,然而,本实施例的位存储区块传输电路20及其方法可搬动的数据并不局限于跨越两个存储单元,且于数据搬动操作时需储存在读取寄存器22中的数据长度亦不局限于等于读取及写入寄存器22及26的存储空间。
在本实施例中虽仅以搬动非显示存储器14中的搬移数据SC至帧寄存器16的操作为例来对位存储区块传输电路20作说明,然而,本实施例的位存储区块传输电路20并不局限于用以搬动非显示存储器14中的数据至帧寄存器16中,而还可广义地应用在任何需要进行存储器数据存取的应用场合的中。
本实施例的位存储区块传输电路及其方法可以 一个位为可执行操作的最小数据量单位。如此,本实施例的位存储区块传输电路及其方法相较于
21传统存储区块传输技术具有可降低需占用的存储器传输频宽、提升显示系统的显示效果及可弹性地应用在各像素数据的数据量小于一个字节的低阶视控调整电路上的优点。
第二实施例
本实施例的位存储区块传输电路20用以接收系统输入数据data一SI,并以对应的显示数据data—DP做为系统输出数据data—SO输出至帧寄存器]6中的目标地址。如此,以根据显示数据data—DP来对显示面板18上对应显
示区域进行颜色填充(Color Fillhig)。位存储区块传输电路20在本实施例中的操作与其在第一实施例中的操作不同之处在于其不需执行相关于读取及
对非存储单元边缘对齐的数据进行搬移以得到存储单元边缘对齐的数据的操作,而可直接将显示数据写入帧寄存器16中的目标地址。
显示数据data—DP例如包括 19个位,储存于地址scr—ba-(0xA0,00000卜(0xA0,10010〉其的数据等于(0001101100011011000)2。本实施例的目标地址例如包括地址dst_ba={0xB0,O0001} {0xB0,10011}。而本实施例的位存储区块传输电路20与第 一 实施例中的的位存储区块传输电路具有实质上相近的电路结构及操作,然而,其不同之处在于此时处理器28执行的状态机图不具有来源搬动状态DW_SHIFT,而于来源读取状态SR之后直接执行读写传输状态CALC 。
对应的颜色填充方法的流程图如图8所示。由于显示数据data_DP的位数量小于1个存储单元的位存储空间且其中各位均落在存储单元scr一OxOA中,因此于本实施例的颜色填充方法中除了不具有第一实施例中位存储区块传输方法中的步骤(b)之外,其不同之处还在于步骤(h)中得到首部暨尾部数据data_HT、于步骤(d)之后不具有步骤(g)及于步骤(e)中分别将目标原始数据ST—P,及ST—A,写入存储单元Pwl中前dst—lclp个位及后dw—restx—bar个位存储空间中。
如此,本实施例的位存储区块传输电路20可有效地达到将显示数据data_DP写入目标地址中。这样一来,本实施例的位存储区块传输电路及其方法相较于传统存储区块传输技术具有可降低需占用的存储器传输频宽、提升显示系统的显示效果及可弹性地应用在各像素数据的数据量小于一个字节的低阶视控调整装置上的优点。综上所述,虽然本发明已以一较佳实施例揭示如上,然其并非用以限 定本发明。本领域的技术人员在不脱离本发明的精神和范围的前途下可作 各种的更动与润饰。因此,本发明的保护范围以本发明的权利要求为准。
权利要求
1. 一种位存储区块传输电路,包括一读取寄存器,用以储存一分解数据,该分解数据包括一原始数据;一写入寄存器;一位搬动电路,用以搬动该读取寄存器中的该分解数据至该写入寄存器及搬动该写入寄存器中的该分解数据的位,使该分解数据中该原始数据的起始位相对于该写入寄存器的起始地址具有一位位移量;以及一溢位寄存器,与该写入寄存器耦接,用以储存搬动该写入寄存器中该分解数据的位时该原始数据超出该写入寄存器的位存储空间的一溢位数据;其中,该写入寄存器输出并写入其中的该分解数据至一第一存储器中的一存储单元中。
2. 如权利要求1所述的位存储区块传输电路,其中该位搬动电路还用 以于处理下一个分解数据时储存该溢位数据于该写入寄存器中对应的前N 个位的存储空间,之后该写入寄存器储存此时的下一个分解数据至第一存 储器,N等于一原始位位移量。
3. 如权利要求1所述的位存储区块传输电路,其中该读取及该写入寄 存器分别包括多个第一存储单元及多个第二存储单元,该位存储区块传输 电^各包括一第一多路复用器,回应于一第一选择讯号将储存于所述第一存储单 元其中之一储存的数据输出;及一第二多路复用器,回应于一第二选择讯号将储存于所述第二存储单 元其中之一储存的数据输出。一第三多路复用器,回应一第三控制讯号的第一电平及第二电平分别 输出该第 一及该第二多路复用器输出的数据至该位搬动电路;一第一解多路复用器,用以回应一第四控制讯号的第一电平及第二电 平分别提供该位搬动电路产生的数据至该读取寄存器及该写入寄存器;一第二解多路复用器,用以回应 一第五控制讯号选择并储存该位搬动 电路产生的数据至所述第一存储单元其中之一;及一第三解多路复用器,用以回应一第六控制讯号选择并储存该位搬动电路产生的数据至所述第二存储单元其中之一。
4. 如权利要求3所述的位存储区块传输电路,其中该位搬动电路包括 一第一输入寄存器及一第二输入寄存器;一第一开关单元,回应一第七选择讯号的第一电平及第二电平分别提 供该第三多路复用器输出的数据至该第 一及该第二输入寄存器其中一;一第二开关单元及一第三开关单元,分别回应一第八选择讯号及一第 九选择讯号选择并输出该第一及该第二输入寄存器中部分的该分解数据; 及一输出寄存器,用以储存该第二及该第三开关单元输出的部分的该分 解数据,以产生并输出一输出数据。
5. 如权利要求4所述的位存储区块传输电路,还包括一处理器,用以提供该第一至该第九选择讯号,该处理器还用以执行 一状态机,以驱动该读取、该写入寄存器及该位存储区块传输电路的操作。
6. 如权利要求1所述的位存储区块传输电路,其中该读取寄存器用以 读取一第二存储器中的一系统输入数据,将其分解为多个分部数据,其中 第 一 个分部数据为 一 首部数据,最后 一个分部数据为 一尾部数据;其中,该读取寄存器用以依序地以所述分部数据做为该分解数据并储 存该分解数据。
7. 如权利要求6所述的位存储区块传输电路,其中当该分解数据为该 首部数据时,该位搬动电路于搬动该读取寄存器中的该分解数据至该写入 寄存器之前还回应一原始位位移量搬动该读取寄存器中的该分解数据的 位,使该原始数据的起始位对齐该读取寄存器的起始地址。
8. 如权利要求6所述的位存储区块传输电路,其中当该分解数据为该 首部数据时,该位位移量为一目标位位移量;其中,该读取寄存器还于该位搬动电路搬动该读取寄存器中的该分解 数据至该写入寄存器之后读取一第 一 目标原始数据,该第 一 目标原始数据 为储存于该存储单元中之前该目标位位移量个位地址的数据;其中,该位搬动电路还于该写入寄存器输出该分解数据至该存储单元 之前储存该第一目标原始数据于该写入寄存器中之前该目标位位移量个地 址中。
9. 如权利要求6所述的位存储区块传输电路,其中当该分解数据为该尾部数据时,该位位移量为一综合位位移量,该综合位位移量等于一原始 位位移量与一 目标位位移量的差;其中,该位搬动电路还用以搬动该溢位寄存器中储存的该溢位数据至 该写入寄存器之前该综合位位移量个位存储空间中。
10. 如权利要求6所述的位存储区块传输电路,其中当该分解数据为该尾部数据时,该读取寄存器还于该位搬动电路搬动该读取寄存器中的该分解数据至该写入寄存器之后读取一第二目标原始数据;其中,该位搬动电路还于该写入寄存器输出该分解数据至该存储单元 之前储存该第二目标原始数据于该写入寄存器中之后该k个位地址中;其中,该第二目标原始数据为储存于该存储单元中的后k个地址的数 据,其中K满足方程式K = BN—SC画[dst—lclp + (BN—SC mod BN—RB)]BN一RB为该读取寄存器的存储容量,BN—SC为该原始数据的位数,dst—lclp 为该目标位位移量,mod为同余运算指令。
11. 如权利要求6所述的位存储区块传输电路,其中所述分部数据中介 于该首部及该尾部数据间的至少一分部数据等于至少 一体部数据。
12. 如权利要求11所述的位存储区块传输电路,其中当该分解数据等 于该至少一体部数据时,该位位移量为一综合位位移量,该综合位位移量 等于 一原始位位移量与 一 目标位位移量的差;其中,该位搬动电路还用以搬动该溢位寄存器中储存的该溢位数据至 该写入寄存器之前该综合位位移量个位存储空间中。
13. —种位存储区块传输方法,包括(a) 储存一分解数据于一读取寄存器,该分解数据包括一原始数据;(b) 回应一原始位位移量搬动该分解数据的位,使该原始数据的起始位 对齐该读取寄存器的起始地址;(c) 储存该分解数据至一写入寄存器;(d) 搬动该写入寄存器中的该分解数据的位,使该分解数据中该原始数据的起始位相对于该写入寄存器的起始位具有一目标位位移量;(e)读取一第一目标原始数据,并将其储存于该写入寄存器中之前该目 标位位移量个地址中,该第 一 目标原始数据储存于一第 一存储器中 一存储 单元之前该目标位位移量个位地址中;以及(f) 储存该写入寄存器中的该分解数据至该存储单元。
14. 如权利要求13所述的位存储区块传输方法,其中还包括(g) 储存搬动该写入寄存器中该分解数据的位时该分解数据超出该写 入寄存器存储空间的 一溢位数据。
15. 如权利要求13所述的位存储区块传输方法,还包括(h) 读取一第二存储器中的一系统输入数据,并将其分解为多个分部数 据,其中第一个分部数据为一首部数据,最后一个分部数据为一尾部数据;其中,所述分部数据依序地做为该分解数据储存于该读取寄存器中; 其中,当该分解数据等于该首部数据时经由步骤(a) (f)来进行对应的数 据处理。
16. 如权利要求15所述的位存储区块传输方法,其中当该分解数据等 于该尾部数据时执行步骤(c)储存该分解数据至一写入寄存器;(d,)搬动该写入寄存器中的该分解数据的位,使该分解数据中该原始 数据的起始位相对于该写入寄存器的起始位具有一综合位位移量,其中该 综合位位移量等于该原始位位移量与该目标位位移量的差;(e,)读取一第二目标原始数据,并将其储存于该写入寄存器中的后K 个位地址中,该第二目标原始数据为储存于该存储单元之后K个位地址的 数据;及(f)储存该写入寄存器中的该分解数据至该存储单元。
17. 如权利要求16所述的位存储区块传输方法,其中K满足方程式 K = BN—SC - [dst一lclp + (BN—SC mod BN—RB)]BN_RB为该读取寄存器的存储容量,BN—SC为该原始数据的位数,dst—ldp 为该目标位位移量,mod为同余运算指令。
18. 如权利要求16所述的位存储区块传输方法,其中于步骤(d,)中还包括(dl)储存一溢位数据于该写入寄存器中前N个位的存储空间,其中N 等于该综合位位移量。
19. 如权利要求15所述的位存储区块传输方法,其中所述分部数据中 介于该首部及该尾部数据间的至少 一 分部数据等于至少 一体部数据。
20. 如权利要求19所述的位存储区块传输方法,其中当该分解数据等于该至少一体部数据时执行步骤(c)储存该分解数据至一写入寄存器;(d,)搬动该写入寄存器中的该分解数据的位,使该分解数据中该原始 数据的起始位相对于该写入寄存器的起始位具有一综合位位移量,其中该 综合位位移量等于该原始位位移量与该目标位位移量的差;及(f) 储存该写入寄存器中的该分解数据至该第一存储器。
21. 如权利要求20所述的位存储区块传输方法,其中于步骤(d,)中还包括(dl,)储存一溢位数据于该写入寄存器中前该综合位位移量个位的存 储空间。
22. 如权利要求20所述的位存储区块传输方法,其中还包括(g) 储存搬动该写入寄存器中该分解数据的位时该分解数据超出该写 入寄存器存储空间的 一溢位数据。
23. —种颜色填充方法,包^":(a) 储存一填充数据至一读取寄存器;(b) 储存该分解数据至一写入寄存器;(c) 搬动该写入寄存器中的该填充数据的位,使该填充数据的起始位相 对于该写入寄存器的起始位具有一目标位位移量;(d) 读取一第一目标原始数据,并将其储存于该写入寄存器中之前该目 标位位移量个地址中,该第 一 目标原始数据为储存于一第 一存储器中 一存 储单元之前该目标位位移量个位地址的数据;以及(e) 储存该写入寄存器中的该填充数据至该存储单元。
24. 如权利要求23所述的颜色填充方法,其中还包括(f) 储存搬动该写入寄存器中该填充数据的位时该填充数据超出该写 入寄存器存储空间的 一溢位数据。
25. 如权利要求24所述的颜色填充方法,其中于对下一个填充数据进 行处理时该颜色填充方法还包括(g) 储存一溢位数据于该写入寄存器中前该综合位位移量个位的存储 空间。
全文摘要
一种位存储区块传输(Bit Block Transfer,Bitblt)电路及其方法及颜色填充方法。该位存储区块传输电路,包括读取寄存器、写入寄存器、位搬动电路及溢位寄存器。读取寄存器,用以储存分解数据,其中包括原始数据。位搬动电路用以搬动读取寄存器中的分解数据至写入寄存器及搬动写入寄存器中的分解数据的位,使分解数据中原始数据的起始位相对于写入寄存器的起始地址具有位位移量。溢位寄存器与写入寄存器耦接,用以储存搬动写入寄存器中分解数据的位时原始数据超出写入寄存器的存储长度的溢位数据。其中,写入寄存器输出并写入其中的分解数据至第一存储器中的存储单元(Memory Cell)中。
文档编号G09G5/39GK101465117SQ20081014439
公开日2009年6月24日 申请日期2008年8月4日 优先权日2007年12月20日
发明者王宗仁, 蔡周良 申请人:奇景光电股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1