CN101739239A - 连续提取和包装比特数据流的方法及相关装置 - Google Patents

连续提取和包装比特数据流的方法及相关装置 Download PDF

Info

Publication number
CN101739239A
CN101739239A CN200910001434.2A CN200910001434A CN101739239A CN 101739239 A CN101739239 A CN 101739239A CN 200910001434 A CN200910001434 A CN 200910001434A CN 101739239 A CN101739239 A CN 101739239A
Authority
CN
China
Prior art keywords
bit
predetermined
length
register
start position
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200910001434.2A
Other languages
English (en)
Other versions
CN101739239B (zh
Inventor
张传华
苏泓萌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Andes Technology Corp
Original Assignee
Andes Technology Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Andes Technology Corp filed Critical Andes Technology Corp
Publication of CN101739239A publication Critical patent/CN101739239A/zh
Application granted granted Critical
Publication of CN101739239B publication Critical patent/CN101739239B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K21/00Details of pulse counters or frequency dividers
    • H03K21/38Starting, stopping or resetting the counter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30018Bit or string instructions

Abstract

连续提取和包装比特数据流的方法及相关装置。为了在边界条件时有效地处理比特数据流的提取,当一数据欠位标志已被设定时,从一比特数据流寄存器的一最高有效位开始提取一预定数目的比特。预定数目的值等于前一次提取的一预定提取长度减去一前一次起始位置的值。提取出的比特会被存入一目标寄存器的一低位部分,并清除数据欠位标志。

Description

连续提取和包装比特数据流的方法及相关装置
技术领域
本发明涉及一种处理比特数据流的方法及相关装置,尤其涉及一种有效提取和包装比特数据流的方法及相关装置。
背景技术
比特数据流(bitstream)可被应用于许多不同种类的领域,例如多媒体文件串流(multimedia file streaming)或网络串流(network streaming)。比特数据流的传统操作包含提取(extraction)和包装(packing)。举例来说,比特数据流提取可用来播放一串流声音文件,而比特数据流包装可用来编码串流声音文件。
如果要从一存储器内的一比特数据流中连续地提取比特,需要依据提取条件来执行一系列的操作/指令。欲提取的比特存储于一比特数据流存储寄存器(bitstream storage register,BSR),提取后的比特则存储于一目标寄存器(destination register,DR)。一旦比特数据流存储寄存器BSR中所有比特已被提取,存储器将会将新的比特(例如32个位)写入比特数据流存储寄存器BSR内腾空的空间。位置寄存器(position register)内存的起始位置(starting position,SP)标示出比特提取的开始点,而长度寄存器(lengthregister)内存的提取长度(length of extraction,LE)则标示出从BSR所提取出的比特数目。举例来说,起始位置SP的值可介于1~32,而提取长度LE的值可介于1~32。依据起始位置SP和提取长度LE之间的大小关系,会有出现三种不同情形:“SP>LE”、“SP=LE”和“SP<LE”。
图13说明了先前技术在第一种情形“SP>LE”时提取比特的方式。当起始位置SP大于提取长度LE时,此时比特数据流存储寄存器BSR内包含所有欲提取的比特,且在提取后比特数据流存储寄存器BSR内仍存有未提取的比特。在此种情形下,比特数据流存储寄存器BSR会被向左平移(32-SP)个比特,并将过程中结果暂时存入目标寄存器DR。接着,目标寄存器DR内存的过程中结果会被向右平移(32-LE)个比特,并将最终提取结果写入目标寄存器DR。最后,位置寄存器的值会被更新为起始位置SP减去提取长度LE的值(SP-LE)。图13所示的范例指令程序1300说明了在“SP>LE”时的运作情形。
图14说明了先前技术在第二种情形“SP=LE”时提取比特的方式。当起始位置SP等于提取长度LE时,此时比特数据流存储寄存器BSR内包含所有欲提取的比特,且在提取后比特数据流存储寄存器BSR内并无其它未提取的比特数据。在此种情形下,比特数据流存储寄存器BSR会被向左平移(32-SP)个比特,并将过程中结果暂时存入目标寄存器DR。接着,目标寄存器DR内存的过程中结果会被向右平移(32-SP)个比特,并将最终结果写入目标寄存器DR。同时,位置寄存器的值会被更新至32。由于比特数据流存储寄存器BSR内的比特已全部被提取,存储器将会将新的32个位写入比特数据流存储寄存器BSR。图14所示的范例指令程序1400在“SP=LE”时的运作情形。
图15说明了先前技术在第三种情形“SP<LE”时提取比特的方式。当起始位置SP小于提取长度LE时,此时比特数据流存储寄存器BSR内并未包含所有欲提取的比特。此种边界条件称为「数据欠位」(underflow)。在此种情形下,比特数据流存储寄存器BSR会被向左平移(32-SP)个比特,并将过程中结果暂时存入目标寄存器DR。接着,目标寄存器DR内存的过程中结果会被平移(32-LE)个比特,并将新的过程中结果暂时存入目标寄存器DR。同时,位置寄存器的值会被更新至32,而位置寄存器的值会被更新为提取长度LE减去起始位置SP的值(LE-SP)。由于寄存器BSR内的比特已全部被提取,存储器将会将新的32个位写入比特数据流存储寄存器BSR内。接着,剩余的比特会被提取至一临时寄存器TR。在对目标寄存器DR和临时寄存器TR内存的数据执行逻辑或(logic OR)运算后,最终提取结果会被写入目标寄存器DR。图15所示的范例指示程序1500说明了在“SP<LE”时的运作情形。
如果要将比特连续地包装至一存储器内的一比特数据流中,需要依据包装条件来执行一系列的操作/指令。一来源寄存器(source register,SR)的包装数据纪录于一比特数据流存储寄存器BSR,当比特数据流存储寄存器BSR的空间已满,比特数据流存储寄存器BSR其内存数据会被存入存储器内。位置寄存器(position register)内存有一起始位置SP,而长度寄存器内存有一包装长度(length of packing,LE)。举例来说,起始位置SP的值可介于1~32,而包装长度LE的值可介于1~32。依据起始位置SP和包装长度LE之间的大小关系,会有出现三种不同情形:“SP>LE”、“SP=LE”和“SP<LE”。
图16说明了先前技术在第一种情形“SP>LE”时包装比特数据流的方式。当起始位置SP大于包装长度LE时,此时比特数据流存储寄存器BSR内可包含所有欲包装的比特,且在包装后比特数据流存储寄存器BSR内仍可包装其它更多比特。在此种情形下,来源寄存器SR会被向左平移(SP-LE)个比特,并将过程中结果暂时存入来源寄存器SR。接着,在对比特数据流存储寄存器BSR和来源寄存器SR内存的数据执行逻辑或运算后,最终包装结果会被写入比特数据流存储寄存器BSR。另一方面,位置寄存器的值会被更新为起始位置SP减去包装长度LE的值(SP-LE)。图16所示的范例指令程序1600说明了在“SP>LE”时的运作情形。
图17说明了先前技术在第二种情形“SP=LE”时包装比特数据流的方式。当起始位置SP等于包装长度LE时,此时比特数据流存储寄存器BSR内可包含所有欲包装的比特,而且在包装后比特数据流存储寄存器BSR内并无多出的位置可以再包装。在此种情形下,首先对比特数据流存储寄存器BSR和来源寄存器SR内存的数据执行逻辑或运算后,再将最终包装结果写入比特数据流存储寄存器BSR。另一方面,位置寄存器的值会被更新至32。在将比特数据流存储寄存器BSR的数据存入存储器后,比特数据流存储寄存器BSR的值会被更新为0以为后续包装作准备。图17所示的范例指示程序1700说明了在“SP=LE”时的运作情形。
图18说明了先前技术在第三种情形“SP<LE”时包装比特数据流的方式。当起始位置SP小于包装长度LE时,此时比特数据流存储寄存器BSR内并未有足够的空间可以包含所有欲包装的比特,因此包装过程需要分成两阶段来进行,此种边界条件称为「数据溢位」(overflow)。在此种情形下,来源寄存器SR会被向右平移(LE-SP)个比特,并将过程中结果暂时存入一临时寄存器(temporary register,TR)。接着对比特数据流存储寄存器BSR和临时寄存器TR内存的数据执行逻辑或运算后,再将最终结果写入比特数据流存储寄存器BSR。在比特数据流存储寄存器BSR的数据被存入存储器后,来源寄存器SR会被向右平移(32-LE+SP)个比特,再将最终结果写入比特数据流存储寄存器BSR。另一方面,位置寄存器的值会被更新至(32-LE+SP)。图18所示的范例指令程序1800说明了在“SP<LE”时的运作情形。
如图8所示,一MIPS DSP特定应用延伸技术提供从一64比特的寄存器内提取1~32个位的指令,但却未提供当提取数据的比特数超过64比特时的处理方式。另一方面,美国专利号7,334,116 B2(在后述内容简称为116前案)使用一64比特的缓冲器和个别左向/右向平移的操作,以从一存储器内的一比特数据流中提取一特定数目的比特。然而,116前案无法有效地处理「数据欠位」和「数据溢位」等边界条件,而且缓冲器的比特长度需要大于存储器的位置边界长度。先前技术无法有效地处理比特数据流提取/包装的「数据欠位」和「数据溢位」等边界条件,因此会降低系统效率。
发明内容
本发明提供一种从一比特数据流寄存器中提取比特的方法,其包含当一预定起始位置大于一预定提取长度时,从该比特数据流寄存器中的该预定起始位置开始提取一预定数目的比特,其中该预定数目和该预定提取长度具相同值;将这些比特存入一目标寄存器内的一最低位部分;当未数据欠位时,将该目标寄存器内未存储比特的一高位部分设为一预定值;清除一空标志及一数据欠位标志的设定;以及使用该预定起始位置减去该预定数目的值来更新该预定起始位置。
本发明还提供一种从一比特数据流寄存器中提取比特的方法,其包含当一预定起始位置等于一预定提取长度时,从该比特数据流寄存器中的该预定起始位置开始提取一预定数目的比特,其中该预定数目和该预定提取长度具相同值;将这些比特存入一目标寄存器内的一最低位部分;当未数据欠位时,将该目标寄存器内未存储比特的一高位部分设为一预定值;设定一空标志以标示该比特数据流寄存器内所有比特数据已被提取,并清除一数据欠位标志;以及将该预定起始位置更新为该比特数据流寄存器内的一预定比特以为下次提取作准备。
本发明还提供一种从一比特数据流寄存器中提取比特的方法,其包含当一预定起始位置小于一预定提取长度时,从该比特数据流寄存器中的该预定起始位置开始提取一预定数目的比特,其中该预定数目和该预定起始位置具相同值;在从该比特数据流寄存器中所提取的这些比特后加入一预定数目的多个缓冲比特以增加至该预定提取长度的比特数;从和该预定提取长度相同的一位置开始,将这些比特存入一目标寄存器内的一最低位部分;当一数据欠位标志未被设定时,将该目标寄存器内未存储比特的一高位部分设为一预定值;将该预定起始位置更新为该比特数据流寄存器内的一预定比特以为下次提取作准备;使用该预定提取长度减去该预定起始位置的值来更新该预定提取长度;以及设定该数据欠位标志和一空标志。
本发明还提供一种从一比特数据流寄存器中提取比特的方法,其包含当一数据欠位标志已被设定时,从该比特数据流寄存器中的一最高有效位开始提取一预定数目的比特,其中该预定数目的值等于前次提取该先前预定提取长度减去一先前起始位置的值;将这些比特存入一目标寄存器内的一最低位部分;以及清除该数据欠位标志及一空标志的设定。
本发明还提供一种从一比特数据流寄存器中提取比特的方法,其包含当一预定起始位置大于一预定提取长度时,从该比特数据流寄存器中的该预定起始位置开始提取一预定数目的比特,其中该预定数目和该预定提取长度具相同值;将这些比特存入一目标寄存器内的一最低位部分;当未数据欠位时,将该目标寄存器内未存储比特的一高位部分设为一预定值;清除一空标志及一数据欠位标志的设定;使用该预定起始位置减去该预定数目的值来更新该预定起始位置;当该预定起始位置等于该预定提取长度时,从该比特数据流寄存器中的该预定起始位置开始提取该预定数目的比特,其中该预定数目和该预定提取长度具相同值;将这些比特存入该目标寄存器内的该最低位部分;当未数据欠位时,将该目标寄存器内未存储比特的该高位部分设为该预定值;设定一空标志以标示该比特数据流寄存器内所有比特数据已被提取,并清除一数据欠位标志;将该预定起始位置更新为该比特数据流寄存器内的一预定比特以为下次提取作准备;当该预定起始位置小于该预定提取长度时,从该比特数据流寄存器中的该预定起始位置开始提取一预定数目的比特,其中该预定数目和该预定起始位置具相同值;在从该比特数据流寄存器中所提取的这些比特后加入一预定数目的多个缓冲比特以增加至该预定提取长度的比特数;从和该预定提取长度相同的一位置开始,将这些比特存入该目标寄存器内的该最低位部分;当一数据欠位标志未被设定时,将该目标寄存器内未存储比特的该高位部分设为该预定值;将该预定起始位置更新为该比特数据流寄存器内的该预定比特以为下次提取作准备;使用该预定提取长度减去该预定起始位置的值来更新该预定提取长度;设定一空标志以及该数据欠位标志;当该数据欠位标志已被设定时,从该比特数据流寄存器中的一最高有效位开始提取该预定数目的比特,其中该预定数目的值等于前次提取该先前预定提取减去一先前起始位置的值;将这些比特存入该目标寄存器内的该最低位部分;以及清除该数据欠位标志及一空标志的设定。
本发明还提供一种将比特包装至一比特数据流寄存器内的方法,其包含当一预定起始位置大于一预定包装长度时,从一来源寄存器的一最低位部分开始包装一预定数目的比特,其中该预定数目和该预定包装长度具相同值;从该预定起始位置开始,将这些比特存入该比特数据流寄存器内;清除一满标志和一数据溢位标志;以及使用该预定起始位置减去该预定包装长度的值来更新该预定起始位置。
本发明还提供一种将比特包装至一比特数据流寄存器内的方法,其包含当一预定起始位置等于一预定包装长度时,从一来源寄存器的一最低位部分开始包装一预定数目的比特,其中该预定数目和该预定包装长度具相同值;从该预定起始位置开始,将这些比特存入该比特数据流寄存器内;设定一满标志以及清除一数据溢位标志;以及将该预定起始位置更新为该比特数据流寄存器的一最高有效位。
本发明还提供一种将比特包装至一比特数据流寄存器内的方法,其包含当一预定起始位置小于一预定包装长度时,从一来源寄存器的一最低位部分开始包装一预定数目的比特,其中该预定数目和该预定起始位置具相同值;从该预定起始位置开始,将这些比特存入该比特数据流寄存器内;设定一满标志和一数据溢位标志;将该预定起始位置更新为该比特数据流寄存器的一最高有效位;以及使用该预定包装长度减去该预定起始位置的值来更新该预定包装长度。
本发明还提供一种将比特包装至一比特数据流寄存器内的方法,其包含当一预定起始位置大于一预定包装长度时,从一来源寄存器的一最低位部分开始包装一预定数目的比特,其中该预定数目和该预定包装长度具相同值;从该预定起始位置开始,将这些比特存入该比特数据流寄存器内;清除一满标志和一数据溢位标志;使用该预定起始位置减去该预定包装长度的值来更新该预定起始位置;当该预定起始位置等于该预定包装长度时,从该来源寄存器的一最低位部分开始包装该预定数目的比特,其中该预定数目和该预定包装长度具相同值;从该预定起始位置开始,将这些比特存入该比特数据流寄存器内;设定该满标志以及清除该数据溢位标志;将该预定起始位置更新为该比特数据流寄存器的一最高有效位;当该预定起始位置小于该预定包装长度时,从该来源寄存器的该最低位部分开始包装该预定数目的比特,其中该预定数目和该预定起始位置具相同值;从该预定起始位置开始,将这些比特存入该比特数据流寄存器内;设定该满标志和该数据溢位标志;将该预定起始位置更新为该比特数据流寄存器的该最高有效位;以及使用该预定包装长度减去该预定起始位置的值来更新该预定包装长度。
本发明还提供一种比特数据流提取装置,其包含一比特数据流寄存器,用来存储提取数据;一移位器,会依据一差异结果来对从该比特数据流寄存器提取出的数据进行移位处理;一目标寄存器,用来存储被该移位器移位后的数据;一起始位置寄存器,用来存储一起始位置;一提取长度寄存器,用来存储一提取长度;一算术逻辑单元,用来比较该起始位置和该提取长度以产生一比较结果,以及用来依据该起始位置和该提取长度来产生该差异结果;以及一控制逻辑,用来依据该比较结果来更新该起始位置、更新该提取长度,以及控制该移位器的左向/右向移位方向。
本发明还提供一种比特数据流包装装置,其包含一来源寄存器,用来存储包装数据;一移位器,会依据一差异结果来对从该来源寄存器包装出的数据进行移位处理;一比特数据流寄存器,用来存储被该移位器移位后的数据;一起始位置寄存器,用来存储一起始位置;一包装长度寄存器,用来存储一包装长度;一算术逻辑单元,用来比较该起始位置和该包装长度以产生一比较结果,以及用来依据该起始位置和该包装长度来产生该差异结果;以及一控制逻辑,用来依据该比较结果来更新该包装长度、更新该起始位置,以及控制该移位器的左向/右向移位方向。
附图说明
图1~4为本发明第一实施例中从一比特数据流寄存器中提取比特方法的示意图。
图5~7为本发明第二实施例中将比特从一来源寄存器包装至一比特数据流寄存器方法的示意图。
图8为先前技术中一提取比特方法的示意图。
图9为本发明第一实施例中从一比特数据流寄存器中提取比特方法的流程图。
图10为本发明第二实施例中将比特从一来源寄存器包装至一比特数据流寄存器方法的流程图。
图11为本发明实施例中一比特数据流提取装置的示意图。
图12为本发明实施例中一比特数据流包装装置的示意图。
图13~15为先前技术中一提取比特方法的示意图。
图16~18为先前技术中一包装比特数据流方法的示意图。
【主要元件符号说明】
11~23触发器(寄存器)    31~39    多工器
41    控制逻辑          43        ALU/比较器
45    遮罩产生器        49、57    移位器
1300~1800                        范例指令程序
Ra、Rb、Rt                        寄存器
具体实施方式
图1~4和图9说明了本发明第一实施例中从一比特数据流寄存器(BSR)Ra中提取比特的方法。如图1~4所示,比特数据流寄存器Ra可包含32位,如0~31。比特数据流寄存器Ra的位可被提取且存储至一目标寄存器(DR)Rt。一结构寄存器(configuration register)Rb可将一预定提取长度(LE)存入Rb(4,0)、将一预定起始位置(SP)存入Rb(9,5)、将一空标志(empty flag)存入Rb(13),以及将一数据欠位标志(underflow flag)存入Rb(31)。当然,预定提取长度LE、预定起始位置SP、空标志和数据欠位标志可存入结构寄存器Rb内其它位置,甚至存入其它寄存器。图9的流程图说明了本发明第一实施例中从一比特数据流寄存器Ra中提取比特的方法。
在图9中,如果起始位置SP大于提取长度LE,会从比特数据流寄存器Ra中提取LE个比特至目标寄存器Rt。SP>LE时提取比特的过程如图1所示,从比特数据流寄存器Ra中提取出的LE个比特(例如BSR(SP-1,SP-LE))会被存入目标寄存器Rt的最低位部分(例如DR(LE-1,0))。由于起始位置SP大于提取长度LE,提取后比特数据流寄存器Ra内仍存有一些比特,因此不会造成「数据欠位」的情形。此时,目标寄存器Rt的较高位部分(例如DR(31,LE))会依数据欠位标志的初始设定写入一预定值(例如0)或维持不变,再将起始位置SP的值更新为(SP-LE)。如果空标志已有初始设定,此时会清除空标志的值。如果数据欠位标志已有初始设定,会将提取长度LE的值回复至前一提取长度LE的值,然后再清除数据欠位标志的值。
再次参考图9,如果起始位置SP等于提取长度LE,此时候会产生空乏情形,因此会设定空标志,并将目标寄存器Rt的DR(MSB,LE)设为0。接着,从比特数据流寄存器Ra中提取LE个比特至目标寄存器Rt。SP=LE时提取比特的过程如图2所示,从比特数据流寄存器Ra中提取出的LE个比特(例如BSR(LE-1,0))会被存入目标寄存器Rt的最低部分(例如DR(LE-1,0))。由于起始位置SP等于提取长度LE,因此不会造成「数据欠位」的情形,此时目标寄存器Rt的较高位部分(例如DR(31,LE))会存入一预定值(例如0),再清除数据欠位标志的值。起始位置SP的值会被更新为比特数据流寄存器Ra的最高有效位(例如32),以为后续比特提取来作准备。
如果起始位置SP小于提取长度LE,此时亦会因为空乏情形而设定空标志,并将目标寄存器Rt的DR(MSB,LE)设为0。接着,从比特数据流寄存器Ra中提取SP个比特(例如BSR(SP-1,0))至目标寄存器Rt中从位置LE-1开始的最低位部分(例如DR(LE-1,LE-SP))。SP<LE时提取比特的过程如图3所示,此时会加入对应于起始位置SP和提取长度LE差值(SP-LE)的缓冲比特,以增加至提取长度LE的比特数目。由于起始位置SP小于提取长度LE,此时会造成「数据欠位」的情形,因此会设定Rb(31)内的数据欠位标志(例如Rb(31)=1),并将目标寄存器Rt的较高部分设为预定值(例如DR(32,LE)=0)。起始位置SP的值会被更新为比特数据流寄存器Ra的最高有效位(例如32)以为后续比特提取来作准备,而提取长度LE的值会更新为(LE-SP)。在更新提取长度LE之前,原始提取长度LE的值会存入一先前提取长度寄存器prev_LE。
请参考图4,图4说明了在执行图3的比特提取运作后从比特数据流寄存器Ra中提取比特的方法,亦即在设定Rb(31)的数据欠位标志后从比特数据流寄存器Ra中提取比特的方法。此时,欲提取的比特数目等于前一次提取后的剩余比特数目,亦即等于前一次比特提取的提取长度LE减去前一次比特提取的起始位置SP的值。换而言之,在前一次提取中进行一完整提取长度的比特提取后,未完成的部分即为此次欲提取的比特。这些欲提取的比特会被存入目标寄存器Rt的最低位部分(例如DR(LE-SP-1,0)),也就是在前一次提取中增加缓冲比特的位置。由于Rb(31)中的数据欠位标志已被设定,目标寄存器Rt的高位部分维持不变,因此能保留从前一次提取中所得到的SP个比特。因此,在起始位置SP小于提取长度LE时,通过数据欠位标志和图2和图3中所述的实施例,本发明可有效率地提取全部LE个比特。
图5~7和图10说明了本发明第二实施例中将比特从一来源寄存器(SR)Ra包装至一比特数据流寄存器Rt的方法。如图5~7所示,比特数据流寄存器Rt可包含32个位,如0~31。来源寄存器Ra的比特可被包装且存储至比特数据流寄存器Rt。一结构寄存器Rb可将一预定包装长度(LE)存入Rb(4,0)、将一预定起始位置(SP)存入Rb(9,5)、将一满标志(full flag)存入Rb(13),以及将一数据溢位标志(overflow flag)存入Rb(31)。当然,预定包装长度LE、预定起始位置SP、满标志和数据溢位标志可存入结构寄存器Rb内其它位置,甚至存入其它寄存器。图10的流程图说明了本发明第二实施例中将比特从来源寄存器Ra包装至比特数据流寄存器Rt的方法。
在图10中,如果起始位置SP大于包装长度LE,此时会从来源寄存器Ra中包装LE个比特至比特数据流寄存器Rt。SP>LE时包装比特数据流的过程如图5所示,从来源寄存器Ra中包装的LE个比特(例如SR(LE-1,0))会被存入比特数据流寄存器Rt中从位置(SP-1)开始的最低位部分(例如BSR(SP-1,SP-LE))。起始位置SP的值会被更新为(SP-LE),并清除满标志的值。如果数据溢位标志已有初始设定(例如Rb(31)=1),此时会清除数据溢位标志的值,并将包装长度LE的值回复至前一包装长度的值prev_LE。
再次参考图10,如果起始位置SP等于包装长度LE,此时候会设定满标志的值,并从来源寄存器Ra中包装LE个比特至比特数据流寄存器Rt。SP=LE时包装比特数据流的过程如图6所示,来源寄存器Ra内LE个最低位(例如SR(LE-1,0))会被包装且从位置(LE-1)开始存入比特数据流寄存器Rt中(例如BSR(LE-1,0))。由于起始位置SP等于包装长度LE,所以不会造成「数据溢位」的情形,因此会清除数据溢位标志的值且不加以设定。起始位置SP的值会被更新为比特数据流寄存器Rt的最高有效位(例如32),以为后续比特包装来作准备。
如果起始位置SP小于包装长度LE,此时会设定满标志和数据溢位标志的值,并从来源寄存器Ra中包装SP个比特至比特数据流寄存器Rt。SP<LE时包装比特数据流的过程如图7所示,来源寄存器Ra内从LE位置开始往下SP个最低位(例如SR(LE-1,LE-SP))会被包装且从位置(SP-1)开始存入比特数据流寄存器Rt中(例如BSR(SP-1,0))。存储包装长度LE的寄存器首先存入一先前包装长度寄存器previous_LE,然后再更新为(LE-SP),而起始位置SP的值会被更新为比特数据流寄存器Rt的最高有效位(例如32)。先前包装长度寄存器previous_LE可纪录更新前的原始包装长度LE,在数据溢位时进行第二次包装程序后,可用来回复原始包装长度LE的值。
值得注意的是,本发明可分别使用图1~4所示的方法来提取比特,或是将图1~4所示的方法部分/全部整合至比特提取软件或硬件。同理,本发明也可分别使用图5~7所示的方法来包装比特数据流,或是将图5~7所示的方法部分/全部整合至比特包装软件或硬件。
请参考图11和图12,图11为本发明实施例中一比特数据流提取(BSE)装置的示意图,可用来实现图9所示的比特数据流提取方法;而图12为本发明实施例中一比特数据流包装(BSP)装置的示意图,可用来实现图10所示的比特数据流包装方法。首先说明图11所示的BSE装置,BSE装置包含多个触发器(flip-flop,FF,也可称寄存器)11、13、15、17、19、21和23,一用来产生选择控制信号的控制逻辑41,多个能依据选择控制信号来选择输入信号的多工器(multiplexer)31、33、35、37和39,一算术逻辑单元(arithmetic logic unit,ALU)/比较器43,以及一遮罩产生器(mask generator)45。多个触发器11~23包含一空标志(e_f)11、一数据欠位标志(u_f)13、用来存储起始位置的一起始位置寄存器(SP)15、用来存储先前提取长度的一先前提取长度寄存器(Prev_LE)17、一用来存储提取长度的提取长度寄存器(LE)19、用来存储提取数据的一比特数据流寄存器(BSR)21,以及一目标寄存器(DR)23。在多个多工器31~39中,空标志多工器31耦接至空标志11、数据欠位标志多工器33耦接至数据欠位标志13、起始位置多工器35耦接至起始位置寄存器15和ALU/比较器43、先前提取长度多工器37耦接至先前提取长度寄存器17和提取长度寄存器19,而提取长度标志多工器39耦接至提取长度触发器19和ALU/比较器43。BSE装置还包含一左向/右向移位器49,可依据ALU/比较器43所产生的差异结果|A-B|的值来对从比特数据流寄存器21中提取出的数据进行移位处理。在图11中,信号值51、53和55仅用来说明本实施例,并不限定本发明的范围。
在运作时,ALU/比较器43接收起始位置触发器15和提取长度触发器19,并将比较结果(例如“SP>LE”、“SP=LE”或“SP<LE”)传送至控制逻辑41。依据起始位置和提取长度,算术逻辑单元43也可产生差异结果|A-B|。依据比较结果,控制逻辑41可输出控制信号至多工器31和33以分别设定或清除空标志和数据欠位标志的值,同时也可输出控制信号至多工器35、37和39以分别更新起始位置触发器15、先前提取长度触发器17和提取长度触发器19的值。在依据控制逻辑41传送的控制信号来决定移位方向,以及依据ALU/比较器43所产生的|A-B|来决定移位量后,左向/右向移位器49可对从比特数据流寄存器21中提取出的数据进行移位处理,再将移位后的数据传送至目标寄存器23。遮罩产生器45可产生一遮罩信号,用来将目标寄存器23的高位部分设为一预定值,例如将DR(32,LE)设为0。遮罩产生器45、左向/右向移位器49和目标寄存器23可耦接至一第一逻辑单元63,如此能对遮罩信号和移位后的数据执行逻辑与(logic AND)运算。
综上所述,图11所示的BSE装置的控制逻辑41可实现:
(1)更新提取长度;
(2)更新起始位置;
(3)控制左向/右向移位器49的移位方向;
(4)控制起始位置多工器以从最高有效位和差异结果中选取起始位置;
(5)控制数据欠位标志多工器以设定或清除数据欠位标志的值;
(6)控制先前提取长度多工器以选择维持先前提取长度或更新先前提取长度的值;
(7)控制提取长度多工器以选择维持提取长度,或将提取长度的值更新为先前提取长度寄存器的值或差异结果;以及
(8)控制空标志多工器以依据比较结果设定或清除空标志的值。
图12所示的BSE装置,BSP装置包含多个触发器(也可称为寄存器)11、13、15、17、19、21和23,一用来产生选择控制信号的控制逻辑41,多个能依据选择控制信号来选择输入信号的多工器31、33、35、37和39,一ALU/比较器43、一遮罩产生器45、一第一左向/右向移位器49,以及一第二左向/右向移位器57。在多个触发器11~23中,满标志(f_f)11可存储满标志的值、数据溢位标志(o_f)13可存储数据溢位标志的值、起始位置寄存器(SP)可存储起始位置的值、先前包装长度寄存器(Prev_LE)17可存储先前包装长度的值、包装长度寄存器(LE)19可来存储包装长度的值、来源寄存器(SR)21可存储包装数据,以及一目标比特数据流寄存器(BSR)23。在多个多工器31~39中,满标志多工器31耦接至控制逻辑41和满标志11,数据溢位标志多工器33耦接至控制逻辑41和数据溢位标志13、起始位置多工器35耦接至起始位置寄存器15、ALU/比较器43和控制逻辑41,先前包装长度多工器37耦接至控制逻辑41、先前包装长度触发器17和包装长度触发器19,而包装长度多工器39耦接至ALU/比较器43、提取长度触发器19、先前包装长度触发器17和控制逻辑41。在图12中,信号值51、53和55仅用来说明本实施例,并不限定本发明的范围。
在运作时,ALU/比较器43接收起始位置触发器15和包装长度触发器19,并将比较结果(例如“SP>LE”、“SP=LE”或“SP<LE”)传送至控制逻辑41。依据起始位置和提取长度,算术逻辑单元43也可产生差异结果|A-B|。依据比较结果,控制逻辑41可输出控制信号至多工器31和33以分别设定或清除满标志和数据溢位标志的值,同时也可输出控制信号至多工器35、37和39以分别更新起始位置触发器15、先前包装长度触发器17和包装长度触发器19的值。在依据控制逻辑41传送的控制信号来决定移位方向,以及依据ALU/比较器43所产生的|A-B|来决定移位量后,左向/右向移位器49和57可对从来源寄存器21中提取出的数据和遮罩产生器45所产生的遮罩信号53进行移位处理,再将移位后的数据传送至目标比特数据流寄存器23,以及将移位后的遮罩信号53传送至一逻辑与门单元61。遮罩产生器45可产生遮罩信号,在比特包装前后,遮罩信号可保持目标比特数据流寄存器23的高位部分的原始值。
综上所述,图12所示的BSP装置的控制逻辑41可实现:
(1)更新包装长度;
(2)更新起始位置;
(3)控制左向/右向移位器49和57的移位方向;
(4)控制起始位置多工器以从最高有效位和差异结果中选取起始位置;
(5)控制数据溢位标志多工器以设定或清除数据溢位标志的值;
(6)控制先前包装长度多工器以选择维持先前包装长度或更新先前包装长度的值;
(7)控制包装长度多工器以选择维持包装长度,或将包装长度的值更新为先前包装长度寄存器的值或差异结果;以及
(8)控制满标志多工器以依据比较结果设定或清除满标志的值。
在前述提取和包装比特数据流方法的实施例以及BSE/BSP装置中,当连续提取或包装比特数据流时,本发明使用空标志、满标志、数据欠位标志和数据溢位标志来处理「数据欠位」和「数据溢位」等边界条件。在「数据欠位」进行提取时,本发明会自动地调整比特数据流来源寄存器的起始位置和配置寄存器内的提取长度,进而连续执行两次提取运作,而在第二次提取时并不改变目标寄存器的高位,因此能更有效率地处理在「数据欠位」时的提取运作。在「数据溢位」进行包装时,本发明会自动地调整比特数据流目标寄存器的起始位置和配置寄存器内的包装长度,进而连续执行两次包装运作,因此能更有效率地处理在「数据溢位」时的包装运作。综上所述,本发明使用起始位置自动更新,提取/包装长度自动更新与回复,来增加工作的平行度,因此会提高系统效率。
以上所述仅为本发明的优选实施例,凡依本发明权利要求书所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (34)

1.一种从一比特数据流寄存器中提取比特的方法,其包含:
当一预定起始位置大于一预定提取长度时,从该比特数据流寄存器中的该预定起始位置开始提取一预定数目的比特,其中该预定数目和该预定提取长度具相同值;
将这些比特存入一目标寄存器内的一最低位部分;
当未数据欠位时,将该目标寄存器内未存储比特的一高位部分设为一预定值;
清除一空标志及一数据欠位标志的设定;以及
使用该预定起始位置减去该预定数目的值来更新该预定起始位置。
2.如权利要求1所述的方法,其中将该目标寄存器内未存储比特的该高位部分设为该预定值是将该目标寄存器内未存储比特的该高位部分设为零。
3.一种从一比特数据流寄存器中提取比特的方法,其包含:
当一预定起始位置等于一预定提取长度时,从该比特数据流寄存器中的该预定起始位置开始提取一预定数目的比特,其中该预定数目和该预定提取长度具相同值;
将这些比特存入一目标寄存器内的一最低位部分;
当未数据欠位时,将该目标寄存器内未存储比特的一高位部分设为一预定值;
设定一空标志以标示该比特数据流寄存器内所有比特数据已被提取,并清除一数据欠位标志;以及
将该预定起始位置更新为该比特数据流寄存器内的一预定比特以为下次提取作准备。
4.如权利要求3所述的方法,其中将该目标寄存器内未存储比特的该高位部分设为该预定值是将该目标寄存器内未存储比特的该高位部分设为零。
5.如权利要求3所述的方法,其中将该预定起始位置更新为该比特数据流寄存器内的该预定比特以为下次提取作准备是将该预定起始位置更新为该比特数据流寄存器内的一最高有效位以为下次提取作准备。
6.一种从一比特数据流寄存器中提取比特的方法,其包含:
当一预定起始位置小于一预定提取长度时,从该比特数据流寄存器中的该预定起始位置开始提取一预定数目的比特,其中该预定数目和该预定起始位置具相同值;
在从该比特数据流寄存器中所提取的这些比特后加入一预定数目的多个缓冲比特以增加至该预定提取长度的比特数;
从和该预定提取长度相同的一位置开始,将这些比特存入一目标寄存器内的一最低位部分;
当一数据欠位标志未被设定时,将该目标寄存器内未存储比特的一高位部分设为一预定值;
将该预定起始位置更新为该比特数据流寄存器内的一预定比特以为下次提取作准备;
使用该预定提取长度减去该预定起始位置的值来更新该预定提取长度;以及
设定该数据欠位标志和一空标志。
7.如权利要求6所述的方法,其中在从该比特数据流寄存器中所提取的这些比特后加入该预定数目的多个缓冲比特以增加至该预定提取长度的比特数系在从该比特数据流寄存器中所提取的这些比特后加入多个零以增加至该预定提取长度的比特数。
8.如权利要求6所述的方法,其中将该目标寄存器内未存储比特的该高位部分设为该预定值是将该目标寄存器内未存储比特的该高位部分设为零。
9.如权利要求6所述的方法,其中将该预定起始位置更新为该比特数据流寄存器内的该预定比特以为下次提取作准备是将该预定起始位置更新为该比特数据流寄存器内的一最高有效位以为下次提取作准备。
10.一种从一比特数据流寄存器中提取比特的方法,其包含:
当一数据欠位标志已被设定时,从该比特数据流寄存器中的一最高有效位开始提取一预定数目的比特,其中该预定数目的值等于前次提取该前次预定提取长度减去一前次起始位置的值;
将这些比特存入一目标寄存器内的一最低位部分;以及
清除该数据欠位标志及一空标志的设定。
11.一种从一比特数据流寄存器中提取比特的方法,其包含:
当一预定起始位置大于一预定提取长度时,从该比特数据流寄存器中的该预定起始位置开始提取一预定数目的比特,其中该预定数目和该预定提取长度具相同值;
将这些比特存入一目标寄存器内的一最低位部分;
当未数据欠位时,将该目标寄存器内未存储比特的一高位部分设为一预定值;
清除一空标志及一数据欠位标志的设定;
使用该预定起始位置减去该预定数目的值来更新该预定起始位置;
当该预定起始位置等于该预定提取长度时,从该比特数据流寄存器中的该预定起始位置开始提取该预定数目的比特,其中该预定数目和该预定提取长度具相同值;
将这些比特存入该目标寄存器内的该最低位部分;
当未数据欠位时,将该目标寄存器内未存储比特的该高位部分设为该预定值;
设定一空标志以标示该比特数据流寄存器内所有比特数据已被提取,并清除一数据欠位标志;
将该预定起始位置更新为该比特数据流寄存器内的一预定比特以为下次提取作准备;
当该预定起始位置小于该预定提取长度时,从该比特数据流寄存器中的该预定起始位置开始提取一预定数目的比特,其中该预定数目和该预定起始位置具相同值;
在从该比特数据流寄存器中所提取的这些比特后加入一预定数目的多个缓冲比特以增加至该预定提取长度的比特数;
从和该预定提取长度相同的一位置开始,将这些比特存入该目标寄存器内的该最低位部分;
当一数据欠位标志未被设定时,将该目标寄存器内未存储比特的该高位部分设为该预定值;
将该预定起始位置更新为该比特数据流寄存器内的该预定比特以为下次提取作准备;
使用该预定提取长度减去该预定起始位置的值来更新该预定提取长度;
设定该数据欠位标志和一空标志;
当该数据欠位标志已被设定时,从该比特数据流寄存器中的一最高有效位开始提取该预定数目的比特,其中该预定数目的值等于前次提取该前次预定提取长度减去一前次起始位置的值;
将这些比特存入该目标寄存器内的该最低位部分;以及
清除该数据欠位标志及一空标志的设定。
12.如权利要求11所述的方法,其中将该目标寄存器内未存储比特的该高位部分设为该预定值是将该目标寄存器内未存储比特的该高位部分设为零。
13.如权利要求11所述的方法,其中将该预定起始位置更新为该比特数据流寄存器内的该预定比特以为下次提取作准备是将该预定起始位置更新为该比特数据流寄存器内的一最高有效位以为下次提取作准备。
14.如权利要求11所述的方法,其中在从该比特数据流寄存器中所提取的这些比特后加入该预定数目的多个缓冲比特以增加至该预定提取长度的比特数系在从该比特数据流寄存器中所提取的这些比特后加入多个零以增加至该预定提取长度的比特数。
15.一种将比特包装至一比特数据流寄存器内的方法,其包含:
当一预定起始位置大于一预定包装长度时,从一来源寄存器的一最低位部分开始包装一预定数目的比特,其中该预定数目和该预定包装长度具相同值;
从该预定起始位置开始,将这些比特存入该比特数据流寄存器内分;
清除一满标志和一数据溢位标志;以及
使用该预定起始位置减去该预定包装长度的值来更新该预定起始位置。
16.一种将比特包装至一比特数据流寄存器内的方法,其包含:
当一预定起始位置等于一预定包装长度时,从一来源寄存器的一最低位部分开始包装一预定数目的比特,其中该预定数目和该预定包装长度具相同值;
从该预定起始位置开始,将这些比特存入该比特数据流寄存器内;
设定一满标志以及清除一数据溢位标志;以及
将该预定起始位置更新为该比特数据流寄存器的一最高有效位。
17.一种将比特包装至一比特数据流寄存器内的方法,其包含:
当一预定起始位置小于一预定包装长度时,从一来源寄存器的一最低位部分开始包装一预定数目的比特,其中该预定数目和该预定起始位置具相同值;
从该预定起始位置开始,将这些比特存入该比特数据流寄存器内;
设定一满标志和一数据溢位标志;
将该预定起始位置更新为该比特数据流寄存器的一最高有效位;以及
使用该预定包装长度减去该预定起始位置的值来更新该预定包装长度。
18.一种将比特包装至一比特数据流寄存器内的方法,其包含:
当一预定起始位置大于一预定包装长度时,从一来源寄存器的一最低位部分开始包装一预定数目的比特,其中该预定数目和该预定包装长度具相同值;
从该预定起始位置开始,将这些比特存入该比特数据流寄存器内;
清除一满标志和一数据溢位标志;
使用该预定起始位置减去该预定包装长度的值来更新该预定起始位置;
当该预定起始位置等于该预定包装长度时,从该来源寄存器的一最低位部分开始包装该预定数目的比特,其中该预定数目和该预定包装长度具相同值;
从该预定起始位置开始,将这些比特存入该比特数据流寄存器内;
设定该满标志以及清除该数据溢位标志;
将该预定起始位置更新为该比特数据流寄存器的一最高有效位;
当该预定起始位置小于该预定包装长度时,从该来源寄存器的该最低位部分开始包装该预定数目的比特,其中该预定数目和该预定起始位置具相同值;
从该预定起始位置开始,将这些比特存入该比特数据流寄存器内;
设定该满标志和该数据溢位标志;
将该预定起始位置更新为该比特数据流寄存器的该最高有效位;以及
使用该预定包装长度减去该预定起始位置的值来更新该预定包装长度。
19.一种比特数据流提取装置,其包含:
一比特数据流寄存器,用来存储提取数据;
一移位器,会依据一差异结果来对从该比特数据流寄存器提取出的数据进行移位处理;
一目标寄存器,用来存储被该移位器移位后的数据;
一起始位置寄存器,用来存储一起始位置;
一提取长度寄存器,用来存储一提取长度;
一算术逻辑单元,用来比较该起始位置和该提取长度以产生一比较结果,以及用来依据该起始位置和该提取长度来产生该差异结果;以及
一控制逻辑,用来依据该比较结果来更新该起始位置、更新该提取长度,以及控制该移位器的左向/右向移位方向。
20.如权利要求19所述的比特数据流提取装置,其还包含:
一遮罩产生器,用来在未发生数据欠位时,依据该提取长度来将该目标寄存器内未存储比特的一高位部分设为一预定值。
21.如权利要求20所述的比特数据流提取装置,其还包含:
一第一逻辑单元,用来对该遮罩信号和被该移位器移位后的数据执行一逻辑与运算以产生遮罩数据,其中该遮罩数据系存储于该目标寄存器内。
22.如权利要求19所述的比特数据流提取装置,其还包含:
一起始位置多工器,耦接于该起始位置寄存器、该算术逻辑单元和该控制逻辑,其中该控制逻辑还控制该起始位置多工器以依据该比较结果来从一最高有效位和该差异结果中选取该起始位置。
23.如权利要求19所述的比特数据流提取装置,其还包含:
一数据欠位标志寄存器,耦接于该控制逻辑;以及
一数据欠位标志多工器,耦接于该控制逻辑和该数据欠位标志寄存器,其中该控制逻辑还控制该数据欠位标志多工器以依据该比较结果来选择设定该数据欠位标志或清除该数据欠位标志。
24.如权利要求23所述的比特数据流提取装置,其还包含:
一先前提取长度寄存器,用来存储一先前提取长度;以及
一先前提取长度多工器,耦接于该控制逻辑、该先前提取长度寄存器和该提取长度寄存器,其中该控制逻辑还控制该先前提取长度多工器,进而依据该比较结果来选择维持该先前提取长度或更新该先前提取长度。
25.如权利要求24所述的比特数据流提取装置,其还包含:
一提取长度多工器,耦接于该算术逻辑单元、该提取长度寄存器、该先前提取长度寄存器和该控制逻辑,其中该控制逻辑还控制该提取长度多工器,进而依据该比较结果来选择维持该先前提取长度,或选择将该提取长度更新为该先前提取长度或该差异结果。
26.如权利要求19所述的比特数据流提取装置,其还包含:
一空标志寄存器,用来存储一空标志;以及
一空标志多工器,耦接于该控制逻辑和该空标志寄存器,其中该控制逻辑还控制该空标志多工器,进而依据该比较结果来选择设定该空标志或清除该空标志。
27.一种比特数据流包装装置,其包含:
一来源寄存器,用来存储包装数据;
一移位器,会依据一差异结果来对从该来源寄存器包装出的数据进行移位处理;
一目标比特数据流寄存器,用来存储被该移位器移位后的数据;
一起始位置寄存器,用来存储一起始位置;
一包装长度寄存器,用来存储一包装长度;
一算术逻辑单元,用来比较该起始位置和该包装长度以产生一比较结果,以及用来依据该起始位置和该包装长度来产生该差异结果;以及
一控制逻辑,用来依据该比较结果来更新该包装长度、更新该起始位置,以及控制该移位器的左向/右向移位方向。
28.如权利要求27所述的比特数据流包装装置,其还包含:
一遮罩产生器,用来产生一遮罩信号以将该目标比特数据流寄存器内未存储现有包装数据的一高位部分维持在先前已包装的值。
29.如权利要求28所述的比特数据流包装装置,其还包含:
一第二移位器,耦接于该算术逻辑单元、该遮罩产生器和该控制逻辑,用来依据该差异结果来对该遮罩信号进行移位处理以产生一移位遮罩信号;以及
一第二逻辑单元,用来对该移位遮罩信号和存储于该目标比特数据流寄存器内的数据执行一逻辑与运算,其中该控制逻辑还控制该第二移位器的移位方向。
30.如权利要求27所述的比特数据流包装装置,其还包含:
一起始位置多工器,耦接于该起始位置寄存器、该算术逻辑单元和该控制逻辑,其中该控制逻辑还控制该起始位置多工器以依据该比较结果来从一最高有效位和该差异结果中选取该起始位置。
31.如权利要求27所述的比特数据流包装装置,其还包含:
一数据溢位标志寄存器,耦接于该控制逻辑,用来输出一数据溢位标志;以及
一数据溢位标志多工器,耦接于该控制逻辑和该数据溢位标志寄存器,其中该控制逻辑还控制该数据溢位标志多工器以依据该比较结果来选择设定该数据溢位标志或清除该数据溢位标志。
32.如权利要求31所述的比特数据流包装装置,其还包含:
一先前包装长度寄存器,用来存储一先前包装长度;以及
一先前包装长度多工器,耦接于该控制逻辑、该先前包装长度寄存器和该包装长度寄存器,其中该控制逻辑还控制该先前包装长度多工器,进而依据该比较结果来选择维持该先前包装长度或更新该先前包装长度。
33.如权利要求32所述的比特数据流包装装置,其还包含:
一包装长度多工器,耦接于该算术逻辑单元、该包装长度寄存器、该先前包装长度寄存器和该控制逻辑,其中该控制逻辑还控制该包装长度多工器,进而依据该比较结果来选择维持该先前包装长度,或选择将该包装长度更新为该先前包装长度或该差异结果。
34.如权利要求27所述的比特数据流包装装置,其还包含:
一满标志寄存器,用来存储一满标志;以及
一满标志多工器,耦接于该控制逻辑和该满标志寄存器,其中该控制逻辑还控制该满标志多工器,进而依据该比较结果来选择设定该满标志或清除该满标志。
CN200910001434.2A 2008-11-16 2009-01-05 连续提取和包装比特数据流的方法及相关装置 Active CN101739239B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/271,924 US8171188B2 (en) 2008-11-16 2008-11-16 Method of handling successive bitstream extraction and packing and related device
US12/271,924 2008-11-16

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201210285568.3A Division CN102882515B (zh) 2008-11-16 2009-01-05 连续提取和包装比特数据流的装置

Publications (2)

Publication Number Publication Date
CN101739239A true CN101739239A (zh) 2010-06-16
CN101739239B CN101739239B (zh) 2014-06-18

Family

ID=42172077

Family Applications (2)

Application Number Title Priority Date Filing Date
CN200910001434.2A Active CN101739239B (zh) 2008-11-16 2009-01-05 连续提取和包装比特数据流的方法及相关装置
CN201210285568.3A Active CN102882515B (zh) 2008-11-16 2009-01-05 连续提取和包装比特数据流的装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201210285568.3A Active CN102882515B (zh) 2008-11-16 2009-01-05 连续提取和包装比特数据流的装置

Country Status (2)

Country Link
US (1) US8171188B2 (zh)
CN (2) CN101739239B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103247344B (zh) * 2012-02-08 2016-03-16 晨星软件研发(深圳)有限公司 数据包装装置及数据包装方法
US9823925B2 (en) * 2014-03-28 2017-11-21 Intel Corporation Instruction and logic for a logical move in an out-of-order processor
US10740098B2 (en) * 2018-02-06 2020-08-11 International Business Machines Corporation Aligning most significant bits of different sized elements in comparison result vectors
US10579375B2 (en) 2018-02-06 2020-03-03 International Business Machines Corporation Method to build reconfigurable variable length comparators

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960008470B1 (en) * 1994-01-18 1996-06-26 Daewoo Electronics Co Ltd Apparatus for transferring bit stream data adaptively in the moving picture
US20020053015A1 (en) * 1998-07-14 2002-05-02 Sony Corporation And Sony Electronics Inc. Digital signal processor particularly suited for decoding digital audio
KR100335138B1 (ko) * 1998-12-30 2002-11-27 엘지정보통신주식회사 비디오코더의가변부호화기및이를이용한코딩방법
AU1780301A (en) * 1999-11-18 2001-05-30 Sun Microsystems, Inc. Decompression bit processing with a general purpose alignment tool
JP3772976B2 (ja) * 2002-05-22 2006-05-10 ソニー株式会社 プロセッサ、エンコーダ、デコーダ及び電子機器
JP4484630B2 (ja) * 2004-01-29 2010-06-16 パナソニック株式会社 可変長復号化装置および可変長復号化方法および再生システム
US20060018633A1 (en) * 2004-07-22 2006-01-26 Ching-Yu Tsai Digital video storage system and related method of storing digital video data
US7315937B2 (en) * 2004-10-01 2008-01-01 Mips Technologies, Inc. Microprocessor instructions for efficient bit stream extractions
US7627743B2 (en) * 2007-01-12 2009-12-01 Andes Technology Corporation Method and circuit implementation for multiple-word transfer into/from memory subsystems

Also Published As

Publication number Publication date
US20100124308A1 (en) 2010-05-20
US8171188B2 (en) 2012-05-01
CN102882515B (zh) 2015-06-17
CN101739239B (zh) 2014-06-18
CN102882515A (zh) 2013-01-16

Similar Documents

Publication Publication Date Title
AU2010332057B2 (en) Lockless queues
CN103250131B (zh) 包括用于早期远分支预测的影子缓存的单周期多分支预测
CN101739239B (zh) 连续提取和包装比特数据流的方法及相关装置
CN104040490B (zh) 用于多引擎微处理器的加速的代码优化器
CN100538628C (zh) 用于在simd结构中处理线程组的系统和方法
CN109284132A (zh) 改进的返回堆栈缓存
CN102566976B (zh) 管理重命名寄存器的寄存器重命名系统和方法
CN103392169B (zh) 排序方法和系统
WO2009002750A2 (en) Order preservation in data parallel operations
JP2004030277A (ja) ループ制御回路及びループ制御方法
CN1926511A (zh) 在数据字内插入比特
US20240036921A1 (en) Cascading of Graph Streaming Processors
CN1795442A (zh) 用于在主存储器和存储装置之间传送数据的方法和设备
US20020042872A1 (en) Renaming apparatus and processor
EP3752912B1 (en) Systems and methods for low latency hardware memory management
CN105263023B (zh) 基于高速解码平台的网络码流实时接收方法
CN111160558B (zh) 量子芯片控制器、量子计算处理系统和电子设备
US20060095675A1 (en) Three stage hybrid stack model
CN104268013B (zh) 一种快速的全系统模拟器确定性回放方法
CN1972168A (zh) 可编程变长比特流处理器
CN105892993B (zh) 基于提取插入操作的重组方法、装置及微处理器
WO2020114155A1 (zh) 一种路基压实施工数据高效处理系统
CN103268219A (zh) 基于流水线架构的海量文件指导型预取并行处理加速方法
US11513845B2 (en) Configurable scheduler with pre-fetch and invalidate threads in a graph stream processing system
CN100359471C (zh) 二进制翻译中的库函数调用处理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant