CN102160031A - 用以执行线性反馈移位指令的系统及方法 - Google Patents
用以执行线性反馈移位指令的系统及方法 Download PDFInfo
- Publication number
- CN102160031A CN102160031A CN2009801368234A CN200980136823A CN102160031A CN 102160031 A CN102160031 A CN 102160031A CN 2009801368234 A CN2009801368234 A CN 2009801368234A CN 200980136823 A CN200980136823 A CN 200980136823A CN 102160031 A CN102160031 A CN 102160031A
- Authority
- CN
- China
- Prior art keywords
- data
- processor
- source data
- instruction
- source
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000006073 displacement reaction Methods 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 7
- 125000004122 cyclic group Chemical group 0.000 claims description 5
- 230000009471 action Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 230000008878 coupling Effects 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 5
- 238000005859 coupling reaction Methods 0.000 description 5
- 241001269238 Data Species 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30018—Bit or string instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
- G06F7/584—Pseudo-random number generators using finite field arithmetic, e.g. using a linear feedback shift register
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明揭示一种用以执行线性反馈移位指令的系统及方法。在特定实施例中,所述方法包括通过以下动作在处理器处执行指令:接收源数据;及对所述源数据及对参考数据执行逐位逻辑运算以产生中间数据。所述方法进一步包括:确定所述中间数据的奇偶校验值;对所述源数据进行移位;及将所述中间数据的所述奇偶校验值输入到所述经移位的源数据的数据字段中,以产生所得数据。
Description
技术领域
本发明大体上涉及用以执行线性反馈移位指令的系统及方法。
背景技术
技术的进展已产生体积更小且功能更强大的计算装置。举例来说,当前存在多种便携型个人计算装置,包括无线计算装置,例如体积小、重量轻且易于由用户携带的便携型无线电话、个人数字助理(PDA)及寻呼装置。更具体地说,例如蜂窝式电话及因特网协议(IP)电话的便携型无线电话可在无线网络上传达语音及数据包。另外,许多所述无线电话包括并入到其中的其它类型的装置。举例来说,无线电话还可包括数字相机、数字摄像机、数字记录器及音频文件播放器。又,所述无线电话可处理可执行的指令,包括软件应用程序,例如可用以接入因特网的网络浏览器应用程序。因而,这些无线电话可包括显著的计算能力。
在将数据传输到无线电话及从无线电话传输数据的过程中,例如循环冗余校验(CRC)的所计算的量可有助于验证数据完整性。对例如循环冗余校验(CRC)的量的计算可涉及多个算术指令,其可为处理时间密集的(processing time-intensive)。为了以时间高效的方式执行所述计算,可使用专用硬件。然而,所述专用硬件可能比较昂贵,且可能会消耗额外功率。能够使用现存处理硬件以时间高效及能量高效的方式计算例如CRC的量将为有利的。
发明内容
揭示一种处理数据的方法。可通过对输入数据及参考数据执行逐位逻辑运算,产生中间数据;确定所述中间数据的奇偶校验值;及从所述奇偶校验值及源数据的选定数据位形成所得数据来确定所述所得数据。所述所得数据可展现有用的属性。在特定实例中,所述所得数据可用以产生伪随机数序列。在另一特定实例中,所述所得数据可促进计算一些错误检测码,例如,循环冗余校验(CRC)。
在特定实施例中,揭示一种处理数据的方法。所述方法包括在处理器处执行单个线性反馈移位指令。所述方法包括:接收源数据;对源数据及参考数据执行逐位逻辑运算以产生中间数据;确定所述中间数据的奇偶校验;对所述源数据进行移位;及将对应于所述中间数据的奇偶校验的数据值输入到所述经移位的源数据的数据字段中,以产生所得数据。所述方法进一步包括输出所述所得数据。
在另一特定实施例中,揭示一种系统。所述系统包括用以执行单个线性反馈移位指令的处理器。所述系统包括:源寄存器,其操作以提供源数据;及参考寄存器,其操作以提供参考数据。所述系统进一步包括操作以进行以下动作的执行单元:对所述源数据及所述参考数据执行逐位逻辑运算以产生中间数据;确定所述中间数据的奇偶校验;在执行所述逐位逻辑运算之后对所述源数据进行移位以产生经移位的源数据;及将对应于所述中间数据的奇偶校验的数据值输入到所述经移位的源数据的数据字段中,以产生所得数据;及输出所述所得数据。
在另一特定实施例中,揭示一种计算机可读媒体。所述计算机可读媒体存储可执行线性反馈移位指令,当所述可执行线性反馈移位指令被执行时,使处理器:接收源数据;对所述源数据及对参考数据执行逐位逻辑运算以产生中间数据;确定所述中间数据的奇偶校验;对所述源数据进行移位以产生经移位的源数据;及将对应于所述中间数据的奇偶校验的数据值输入到经移位的第一数据的数据字段中,以产生结果。
在另一特定实施例中,揭示一种可由处理器执行的处理器指令。所述处理器指令包括指令名称、用以识别源数据的第一字段,及用以识别参考数据的第二字段。在所述处理器指令的执行期间,所述处理器对所述源数据及所述参考数据执行逐位逻辑运算以产生中间数据,确定所述中间数据的奇偶校验,对所述源数据进行移位,及将对应于所述中间数据的奇偶校验的数据值输入到经移位的源数据的数据字段中,以产生结果。
在另一特定实施例中,揭示一种处理器。所述处理器包括:逻辑电路,其用以对源数据及对参考数据执行逐位逻辑运算以产生中间数据;奇偶校验电路,其用以确定所述中间数据的奇偶校验;位移位器电路,其用以对所述源数据进行移位;放置电路,其用以将对应于所述中间数据的奇偶校验的数据值放置到所述经移位的源数据中以产生所得数据;及用于输出所述所得数据的装置。
由提供线性反馈移位指令的系统及方法的所揭示实施例中的至少一者所提供的一个特定优点为通过平行或在单个指令中执行线性反馈移位指令的多个步骤而使得时间效率提高。作为由交错式多线程处理器执行的单个指令来执行线性反馈移位指令的优点为,由于所述交错式多线程处理器允许容纳复杂算术指令的相对长的执行管线,因此在执行期间基本上不引入额外等待时间。
在审阅整个申请案之后,本发明的其它方面、优点及特征将变得显而易见,整个申请案包括以下章节:附图说明、具体实施方式及权利要求书。
附图说明
图1为经配置以执行线性反馈移位指令的交错式多线程处理器的特定说明性实施例的框图;
图2为经配置以处理指令以执行线性反馈移位指令的处理器的特定说明性实施例的框图;
图3为线性反馈移位指令的特定说明性实施例的数据流程图;
图4为执行线性反馈移位指令的方法的特定说明性实施例的流程图;及
图5为包括经配置以执行线性反馈移位指令的处理器的无线装置的框图。
具体实施方式
参看图1,其描绘经配置以执行线性反馈移位指令的交错式多线程处理器的特定说明性实施例的框图且所述交错式多线程处理器大体上指定为100。交错式多线程处理器100可经由例如第一线程104、第二线程106及第三线程108的多个线程执行指令。每一线程104、106及108可包括在执行循环110(也称为线程循环)内执行的多个管线级(pipeline stage)。在所展示的特定说明性实例中,线程104、106及108中的每一者在线程循环中包括六个管线级。举例来说,第一管线级A1112可为提取待处理的指令的提取级。第二管线级A2114可为对经提取指令进行解码的解码级。管线级A3116、A4118及A5120可为执行级。管线级A6122可为回写级。多线程处理器100的线程104、106及108中的每一者可具有相似管线级,从而允许实现多个经提取指令的并行处理。
在特定说明性实施例中,线性反馈移位指令102可由交错式多线程处理器100提取以在第一线程104中处理。线性反馈移位指令102为可与多线程处理器100的其它线程中的其它指令的执行并行地以交错方式加以处理的单个指令,因此利用处理器计算效率。
参看图2,其是包括经配置以执行指令以执行线性反馈移位指令的处理器214的系统200的特定说明性实施例的框图。举例来说,处理器214可为管线化处理器。处理器214包括耦合到第一执行单元224及第二执行单元226的寄存器堆216。第二执行单元226包括逐位AND电路228、奇偶校验电路230、移位器(shifter)232,及奇偶校验值放置及填充电路(parity value placement and fill circuitry)234。来自第二执行单元226的输出可输入到寄存器堆216中的寄存器。举例来说,奇偶校验计算的结果可输入到奇偶校验寄存器222。虽然为了说明的简易起见而在图2中展示两个执行单元224、226,但处理器214可包括两个以上执行单元。
处理器214适于从例如指令高速缓存或寄存器的计算机可读媒体202提取线性反馈移位指令204。处理器214可将计算的结果输出到可存储所述结果的存储器240。处理器214可使用例如输出总线238的输出装置来将所计算的结果从处理器214输出到存储器240。在另一说明性实施例中,可使用用于从处理器214输出数据的另一装置。
线性反馈移位指令204可包括指令名称208、识别源数据(Rss)210的第一字段、识别参考数据(Rref)212的第二字段,且可产生输出数据(Rout)206。线性反馈移位指令204当被执行时可使计算机:执行源数据(Rss)210及参考数据(Rref)212的逐位AND,以产生中间数据;确定所述中间数据的奇偶校验值(Y);对所述源数据进行移位;及将所述奇偶校验值(Y)插入到腾空的(vacated)数据字段中,以产生输出数据(Rout)206。可将输出数据(Rout)206写入到存储器作为存储器240内的所得数据244。所得数据244可为伪随机数据、循环冗余校验(CRC)数据或另一类型的数据。在特定说明性实施例中,将伪随机数据用于密码编码或解码。在另一特定说明性实施例中,将伪随机数据用于统计应用。在特定说明性实施例中,CRC数据可用作校验和以在数据传输或数据存储期间检测数据的更改或错误。
在操作中,处理器214可从计算机可读媒体202提取线性反馈移位指令204。处理器214可从存储器240检索由Rss 210所识别的源数据246及由Rref 212所识别的参考数据248。源数据246(展示为数据位S1到S8)可放置在源寄存器218中,且参考数据248(展示为数据位R1到R8)可放置在寄存器堆216的参考数据寄存器220中。
在特定说明性实施例中,处理器214如下在管线化处理器中作为单个指令来执行单个线性反馈移位指令204:逐位AND电路228执行源寄存器218的内容与参考数据寄存器220的内容的逐位AND,以产生中间数据227。处理器214经由奇偶校验电路230确定中间数据227的奇偶校验值(Y)231。奇偶校验值(Y)231为对应于中间数据227的奇偶校验的数据值。由奇偶校验电路230所确定的奇偶校验值(Y)231暂时存储于奇偶校验寄存器222中。处理器214使用移位器232将来自源寄存器218的源数据向右移位一位,且丢弃最低有效位。处理器214经由奇偶校验值放置及填充电路234将奇偶校验值(Y)231输入到最高有效位(MSB)字段250中。处理器214经由输出总线238输出输出数据(Rout)206,作为所得数据244存储于存储器240中。所得数据244包括经向右移位的源数据242及奇偶校验值(Y)231,所述奇偶校验值(Y)231已放置在由于将源数据向右移位而腾空的MSB字段250中。在特定说明性实施例中,所得数据244包括伪随机数据。举例来说,伪随机数据可为一序列数字中的近似于随机数(random number)的属性的一个数字。伪随机数可用于密码编码或解码或统计应用。在另一特定说明性实施例中,所得数据244包括CRC数据。举例来说,CRC数据可用作校验和以在数据传输或数据存储期间检测数据的更改或错误。
在交错式多线程处理器(例如,处理器214)中作为单个指令来执行线性反馈移位指令204的优点为,所述处理器通常使得多个复杂算术运算能够在单个指令中执行,而不引入由于相对长的执行管线引起的额外计算开销(overhead)。因此,通过使用交错式多线程处理器,因在单个指令中执行线性反馈移位指令204的多个运算所以不会在处理器执行时间中引入额外等待时间。
在特定说明性实施例中,线性反馈移位指令204可在输出输出数据(Rout)206及存储为所得数据244之前被迭代多次。在特定说明性实例中,执行第二迭代:从输出数据206开始,所述输出数据206在第一迭代期间产生且可暂时存储于源数据寄存器218中;通过参考数据248执行逐位AND运算以产生第二迭代的中间数据227;确定中间数据227的奇偶校验(Y)231;将源数据寄存器218的当前内容向右移位以腾空MSB字段;及用奇偶校验(Y)231回填腾空的MSB字段,从而产生第二迭代的输出Rout206。可多次重复以上迭代过程。
在特定说明性实施例中,处理器214为交错式多线程处理器,例如图1中所说明的处理器。处理器214可具有处理器线程循环,且可经配置以输入源数据,产生中间数据,确定所述中间数据的奇偶校验值,对所述源数据进行移位,及产生所得数据,在不超过所述处理器线程循环的处理时间周期期间执行所有这些步骤。如将参考图5论述,无线收发器可经耦合以将无线数据提供到处理器214。在特定说明性实施例中,无线数据可为源数据246及/或参考数据248,且无线收发器可经耦合以经由天线接收无线数据。
参看图3,其展示执行实施为管线化处理器中的单个指令的线性反馈移位指令的方法的特定说明性实施例的数据流程图且所述方法大体上被指定为300。在特定实例中,方法300可由图2中所描绘的处理器214实施。方法300包括对源数据302及参考数据304执行逐位AND运算306以产生中间数据308。源数据302可包括多个数据位。在说明性实例中,源数据包括数据位a1到a8。参考数据304包括与源数据302相同数目个数据位。在说明性实例中,参考数据包括数据位b1到b8。在说明性实例中,中间数据包括数据位c1到c8。源数据302及参考数据304可从寄存器或从计算机存储器提供,且可经由可经耦合以经由无线天线接收无线数据的无线收发器接收。在另一特定说明性实施例(未图示)中,可执行NAND运算而非逐位AND运算306。
在计算中间数据308之后,执行奇偶校验计算310,从而产生奇偶校验值(Y)312,其为对应于中间数据308的奇偶校验的值。奇偶校验计算310包括:确定中间数据308的数据位值的算术和;及当所述算术和为奇数时将逻辑一值指派给奇偶校验值(Y)312,且当所述算术和为偶数时将逻辑零值指派给奇偶校验值(Y)312。
执行实施为管线化处理器(例如,图1的交错式多线程处理器100)中的单个指令的线性反馈移位指令的方法的数据流程图300通过(例如)经由图2中所描绘的移位器232对源数据302执行移位运算315、产生经移位的源数据314及腾空源数据302的数据字段316而继续。将由奇偶校验电路(例如,图2的奇偶校验电路222)计算出的奇偶校验值(Y)312输入到经移位的源数据314的数据字段316中,所述数据字段316由于移位运算315而已被腾空。产生包括经移位的源数据及奇偶校验值(Y)312的所得数据318,其中奇偶校验值(Y)312占据数据字段316。在特定说明性实施例中,移位运算315将源数据302向右移位,且数据字段316为最高有效位(MSB)。
在特定说明性实施例中,执行实施为管线化处理器中的单个指令的线性反馈移位指令的方法可执行多次。每当调用线性反馈移位指令时,便从所得数据输入源数据,所述所得数据是从线性反馈移位指令的前一次执行输出。因此,在若干迭代的过程中,可多次向右移位原始源数据,其中当前腾空的最高有效位由当前奇偶校验值312回填,所述当前奇偶校验值312由最近的奇偶校验计算310确定。
参看图4,一种在管线化处理器中作为单个指令来执行线性反馈移位指令的方法的另一特定说明性实施例的流程图大体上指定为400。在框402处,接收到源数据。前进到框404,接收到参考数据。在特定说明性实施例中,参考数据可包括多项式数据。继续前进到框406,对源数据及参考数据执行逐位逻辑运算(例如,AND运算或NAND运算)以产生中间数据。前进到框408,确定中间数据的奇偶校验值。前进到框410,将源数据移位一位,从而腾空一位。在特定说明性实施例中,将源数据向右移位一位,从而腾空最高有效位(MSB)。前进到框412,将中间数据的奇偶校验值(即,指示奇校验或偶校验的单个位)输入到经移位的源数据的腾空的位中,从而产生所得数据。继续前进到框414,存储所得数据。
前进到决策框416,做出是否执行另一迭代的决定。在执行另一迭代的情况下,所述方法返回到框402,在框402处所述方法用来自指令的前一次迭代的所得数据再次执行线性反馈移位指令;用参考数据执行逐位逻辑运算以产生当前中间数据;确定当前中间数据的奇偶校验值;对当前中间数据进行移位以产生当前经移位的中间数据;将当前中间数据的奇偶校验值输入到当前经移位的数据的腾空的数据字段中以产生当前输出数据;及存储当前输出数据。在不执行另一迭代的情况下,所述方法前进到框418,且将输出数据作为所得数据输出。所述方法终止于420处。所得数据取决于所接收参考数据。在特定说明性实例中,所得数据包括伪随机数据,其可用于密码编码或解码或统计应用。在另一特定说明性实例中,所得数据包括CRC数据,其可用于检测数据传输错误。
参看图5,其描绘包括经配置以作为单个指令来执行线性反馈移位指令的管线化处理器的无线装置的框图且所述无线装置大体上指定为500。装置500包括处理器,例如经配置以执行线性反馈移位指令590的数字信号处理器(DSP)510。DSP 510耦合到存储器532。在特定实施例中,线性反馈移位指令590可在DSP 510及存储器532处执行,且可使用参看以上图1到图4所描述的系统及方法而实施。
图5还展示显示器控制器526,其耦合到数字信号处理器510及显示器528。编码器/解码器(CODEC)534也可耦合到数字信号处理器(DSP)510。扬声器536及麦克风538可耦合到CODEC 534。
图5还指示,调制解调器540可耦合到数字信号处理器510及收发器546,所述收发器546耦合到无线天线542。在特定说明性实施例中,收发器546(本文中也称为“无线收发器”)可经耦合以经由无线天线542接收无线数据,且收发器546可进一步经由调制解调器540耦合以将无线数据提供到DSP 510。在特定实施例中,DSP 510、显示器控制器526、存储器532、CODEC 534及调制解调器540包括于系统级封装(system-in-package)或芯片上系统(system-on-chip)装置522中。在特定实施例中,输入装置530及电源供应器544耦合到芯片上系统装置522。此外,在特定实施例中,如图5中所说明,显示器528、输入装置530、扬声器536、麦克风538、无线天线542及电源供应器544在芯片上系统装置522外部。然而,显示器528、输入装置530、扬声器536、麦克风538、无线天线542及电源供应器544中的每一者可耦合到芯片上系统装置522的一组件,例如接口或控制器。
所属领域的技术人员将进一步了解,可将结合本文中所揭示的实施例而描述的各种说明性逻辑块、配置、模块、电路及算法步骤实施为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件与软件的此可互换性,已在上文大体上在其功能性方面描述了各种说明性组件、块、配置、模块、电路及步骤。所述功能性是实施为硬件还是软件取决于特定应用及强加于整个系统的设计约束。所属领域的技术人员可针对每一特定应用以不同方式实施所描述的功能性,但所述实施决策不应被解释为会导致脱离本发明的范围。
结合本文中所揭示的实施例所描述的方法或算法的步骤可直接体现于硬件、由处理器执行的软件模块或硬件与软件模块的组合中。软件模块可驻存于随机存取存储器(RAM)、快闪存储器、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、寄存器、硬盘、可装卸盘、压缩光盘只读存储器(CD-ROM)或此项技术中已知的任何其它形式的存储媒体中。示范性存储媒体耦合到处理器,使得处理器可从存储媒体读取信息且将信息写入到存储媒体。在替代方案中,存储媒体可与处理器形成一体。处理器及存储媒体可驻留于专用集成电路(ASIC)中。ASIC可驻留于计算装置或用户终端中。在替代方案中,处理器及存储媒体可作为离散组件而驻留于计算装置或用户终端中。
提供所揭示实施例的先前描述旨在使任何所属领域的技术人员能够制作或使用所揭示实施例。对于所属领域的技术人员,对这些实施例的各种修改将显而易见,且本文中所界定的原理可在不脱离本发明的范围的情况下应用于其它实施例。因此,本发明并不意在被局限于本文中所展示的实施例,而是将被赋予与所附权利要求书所界定的原理及新颖特征一致的可能的最广泛范围。
Claims (22)
1.一种处理数据的方法,所述方法包含:
通过以下动作在处理器处执行指令:
接收源数据;
对所述源数据及对参考数据执行逐位逻辑运算以产生中间数据;
确定所述中间数据的奇偶校验;
对所述源数据进行移位;
将对应于所述中间数据的所述奇偶校验的值输入到所述经移位的源数据的数据字段中,以产生所得数据;以及
输出所述所得数据。
2.根据权利要求1所述的方法,其中所述逻辑运算为AND运算,且进一步包含存储所述所得数据。
3.根据权利要求1所述的方法,其中所述数据字段包括所述经移位的源数据的最高有效位(MSB)。
4.根据权利要求1所述的方法,其中从源寄存器接收所述源数据。
5.一种系统,其包含:
处理器,其包含:
源寄存器,其操作以提供源数据;
参考寄存器,其操作以提供参考数据;以及
执行单元,其操作以执行指令以:
对所述源数据及对所述参考数据执行逐位逻辑运算以产生中间数据;
确定所述中间数据的奇偶校验;
在执行所述逐位逻辑运算之后对所述源数据进行移位以产生经移位的源数据;
将对应于所述中间数据的所述奇偶校验的值输入到所述经移位的源数据的数据字段中,以产生所得数据;以及
输出所述所得数据。
6.根据权利要求5所述的系统,其中所述源数据是从所述源寄存器检索,且所述参考数据是从所述参考寄存器检索。
7.根据权利要求5所述的系统,其中对应于所述中间数据的所述奇偶校验的所述值被输入到所述经移位的源数据的最高有效位数据字段中。
8.根据权利要求5所述的系统,其进一步包含经耦合以经由天线接收无线数据的无线收发器,所述无线收发器进一步经耦合以将所述无线数据提供到所述处理器。
9.一种计算机可读媒体,其存储可执行指令,当所述可执行指令被执行时使处理器:
接收源数据;
对所述源数据及对参考数据执行逐位逻辑运算以产生中间数据;
确定所述中间数据的奇偶校验;
对所述源数据进行移位以产生经移位的源数据;以及
将对应于所述中间数据的所述奇偶校验的值输入到所述经移位的源数据的数据字段中,以产生结果。
10.根据权利要求9所述的计算机可读媒体,其中所述移位为向右移位。
11.根据权利要求9所述的计算机可读媒体,其中对应于所述中间数据的所述奇偶校验的所述值被输入到所述经移位的源数据的腾空的位置中。
12.一种处理器指令,其可由处理器执行,所述处理器指令包含:
指令名称;
第一字段,其中所述第一字段识别源数据;以及
第二字段,其中所述第二字段识别参考数据;
其中在所述处理器指令的执行期间,所述处理器对所述源数据及对所述参考数据执行逐位逻辑运算以产生中间数据;确定所述中间数据的奇偶校验;对所述源数据进行移位;以及将对应于所述中间数据的所述奇偶校验的值输入到所述经移位的源数据的字段中,以产生结果。
13.根据权利要求12所述的处理器指令,其中所述逻辑运算为AND运算。
14.根据权利要求12所述的处理器指令,其中所述逻辑运算为NAND运算。
15.根据权利要求12所述的处理器指令,其中在所述处理器指令的执行期间,所述处理器输出所述结果。
16.一种用以执行指令的处理器,所述处理器包含:
逻辑电路,其用以对源数据及对参考数据执行逐位逻辑运算以产生中间数据;
奇偶校验电路,其用以确定所述中间数据的奇偶校验值;
位移位器电路,其用以对所述源数据进行移位;
放置电路,其用以将所述中间数据的所述奇偶校验值放置到所述经移位的源数据中以产生所得数据;以及
用于输出所述所得数据的装置。
17.根据权利要求16所述的处理器,其中所述参考数据包含多项式数据。
18.根据权利要求17所述的处理器,其中所述所得数据包含循环冗余校验值。
19.根据权利要求16所述的处理器,其中所述所得数据包含伪随机数据。
20.根据权利要求16所述的处理器,其中所述处理器包含交错式多线程处理器。
21.根据权利要求16所述的处理器,其中所述处理器具有处理器线程循环,且其中产生所述中间数据、确定所述中间数据的所述奇偶校验值、对所述源数据进行移位及产生所述所得数据是在不超过所述处理器线程循环的处理时间周期期间执行。
22.根据权利要求16所述的处理器,其中所述处理器被包括于无线装置中,其中所述无线装置包含:
存储器,其耦合到所述处理器;
显示器控制器,其耦合到所述处理器;以及
编码器/解码器,其耦合到所述处理器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/236,067 US8281111B2 (en) | 2008-09-23 | 2008-09-23 | System and method to execute a linear feedback-shift instruction |
US12/236,067 | 2008-09-23 | ||
PCT/US2009/057453 WO2010039457A1 (en) | 2008-09-23 | 2009-09-18 | System and method to execute a linear feedback-shift instruction |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102160031A true CN102160031A (zh) | 2011-08-17 |
Family
ID=41666808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009801368234A Pending CN102160031A (zh) | 2008-09-23 | 2009-09-18 | 用以执行线性反馈移位指令的系统及方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8281111B2 (zh) |
EP (1) | EP2350814A1 (zh) |
JP (1) | JP5341194B2 (zh) |
KR (1) | KR101290493B1 (zh) |
CN (1) | CN102160031A (zh) |
TW (1) | TW201025126A (zh) |
WO (1) | WO2010039457A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104199635A (zh) * | 2014-09-23 | 2014-12-10 | 无锡华大国奇科技有限公司 | 集成crc校验电路的伪随机数发生器 |
CN109313594A (zh) * | 2016-06-24 | 2019-02-05 | 高通股份有限公司 | 用于指令包的奇偶校验 |
CN109478199A (zh) * | 2016-07-29 | 2019-03-15 | 高通股份有限公司 | 分段线性逼近的系统及方法 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110123117A1 (en) * | 2009-11-23 | 2011-05-26 | Johnson Brian D | Searching and Extracting Digital Images From Digital Video Files |
US9092213B2 (en) * | 2010-09-24 | 2015-07-28 | Intel Corporation | Functional unit for vector leading zeroes, vector trailing zeroes, vector operand 1s count and vector parity calculation |
US8918442B2 (en) * | 2012-08-22 | 2014-12-23 | International Business Machines Corporation | Reducing bias in hardware generated random numbers |
US9471310B2 (en) * | 2012-11-26 | 2016-10-18 | Nvidia Corporation | Method, computer program product, and system for a multi-input bitwise logical operation |
US9916159B2 (en) * | 2016-01-14 | 2018-03-13 | International Business Machines Corporation | Programmable linear feedback shift register |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0279953A2 (en) * | 1987-02-24 | 1988-08-31 | Texas Instruments Incorporated | Computer system having mixed macrocode and microcode instruction execution |
CN1815527A (zh) * | 2005-02-03 | 2006-08-09 | 三洋电机株式会社 | 随机数生成电路 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4195293A (en) * | 1978-05-18 | 1980-03-25 | Jed Margolin | Random dot generator for raster scan video displays |
US4771429A (en) * | 1986-09-18 | 1988-09-13 | Abbott Laboratories | Circuit combining functions of cyclic redundancy check code and pseudo-random number generators |
US5235686A (en) * | 1987-02-24 | 1993-08-10 | Texas Instruments Incorporated | Computer system having mixed macrocode and microcode |
US5230020A (en) * | 1991-10-16 | 1993-07-20 | Motorola, Inc. | Algorithm independent cryptographic key management |
JPH09507110A (ja) * | 1993-11-04 | 1997-07-15 | シーラス ロジック, インコーポレイテッド | 有限体反転 |
GB2304941B (en) | 1995-06-24 | 1999-09-08 | Motorola Ltd | Feedback and shift unit |
DE19627010C1 (de) * | 1996-07-04 | 1997-12-11 | Madeira Garnfabrik Rudolf Schm | Verfahren zum Herstellen eines schrumpfarmen Garns |
US6195780B1 (en) * | 1997-12-10 | 2001-02-27 | Lucent Technologies Inc. | Method and apparatus for generating cyclical redundancy code |
JP4127581B2 (ja) * | 1999-03-01 | 2008-07-30 | 株式会社東芝 | スペクトラム拡散無線通信装置 |
US20030002677A1 (en) * | 2001-06-28 | 2003-01-02 | Amit Dagan | Software implementations of input independent LFSR-based algorithms |
JP4002151B2 (ja) * | 2002-07-31 | 2007-10-31 | 富士通株式会社 | 情報処理装置 |
FI20021869A0 (fi) * | 2002-10-18 | 2002-10-18 | Nokia Corp | Menetelmä ja laite pakettidatan siirtämiseksi langattomassa pakettidataverkossa |
US7949856B2 (en) * | 2004-03-31 | 2011-05-24 | Icera Inc. | Method and apparatus for separate control processing and data path processing in a dual path processor with a shared load/store unit |
TW200629192A (en) | 2005-02-03 | 2006-08-16 | Sanyo Electric Co | Random number generating circuit |
JP2006215825A (ja) * | 2005-02-03 | 2006-08-17 | Sanyo Electric Co Ltd | 乱数生成回路 |
US7681014B2 (en) * | 2005-02-04 | 2010-03-16 | Mips Technologies, Inc. | Multithreading instruction scheduler employing thread group priorities |
KR100686579B1 (ko) * | 2005-11-09 | 2007-02-26 | 삼성전자주식회사 | 휴대용 무선단말기에서 메시지의 수신알림을 제어하기 위한방법 |
KR20080033582A (ko) * | 2006-10-12 | 2008-04-17 | 삼성전자주식회사 | 휴대용 단말기의 전력 소모를 방지하기 위한 장치 및 방법 |
US7984269B2 (en) * | 2007-06-12 | 2011-07-19 | Arm Limited | Data processing apparatus and method for reducing issue circuitry responsibility by using a predetermined pipeline stage to schedule a next operation in a sequence of operations defined by a complex instruction |
-
2008
- 2008-09-23 US US12/236,067 patent/US8281111B2/en not_active Expired - Fee Related
-
2009
- 2009-09-18 EP EP09792703A patent/EP2350814A1/en not_active Withdrawn
- 2009-09-18 KR KR1020117009286A patent/KR101290493B1/ko not_active IP Right Cessation
- 2009-09-18 WO PCT/US2009/057453 patent/WO2010039457A1/en active Application Filing
- 2009-09-18 JP JP2011529125A patent/JP5341194B2/ja not_active Expired - Fee Related
- 2009-09-18 CN CN2009801368234A patent/CN102160031A/zh active Pending
- 2009-09-23 TW TW098132142A patent/TW201025126A/zh unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0279953A2 (en) * | 1987-02-24 | 1988-08-31 | Texas Instruments Incorporated | Computer system having mixed macrocode and microcode instruction execution |
CN1815527A (zh) * | 2005-02-03 | 2006-08-09 | 三洋电机株式会社 | 随机数生成电路 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104199635A (zh) * | 2014-09-23 | 2014-12-10 | 无锡华大国奇科技有限公司 | 集成crc校验电路的伪随机数发生器 |
CN104199635B (zh) * | 2014-09-23 | 2017-11-07 | 无锡华大国奇科技有限公司 | 集成crc校验电路的伪随机数发生器 |
CN109313594A (zh) * | 2016-06-24 | 2019-02-05 | 高通股份有限公司 | 用于指令包的奇偶校验 |
CN109313594B (zh) * | 2016-06-24 | 2022-06-17 | 高通股份有限公司 | 用于指令包的奇偶校验 |
CN109478199A (zh) * | 2016-07-29 | 2019-03-15 | 高通股份有限公司 | 分段线性逼近的系统及方法 |
CN109478199B (zh) * | 2016-07-29 | 2023-09-29 | 高通股份有限公司 | 分段线性逼近的系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2010039457A1 (en) | 2010-04-08 |
JP2012503829A (ja) | 2012-02-09 |
JP5341194B2 (ja) | 2013-11-13 |
US8281111B2 (en) | 2012-10-02 |
US20100077187A1 (en) | 2010-03-25 |
KR20110074878A (ko) | 2011-07-04 |
EP2350814A1 (en) | 2011-08-03 |
KR101290493B1 (ko) | 2013-07-26 |
TW201025126A (en) | 2010-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102160031A (zh) | 用以执行线性反馈移位指令的系统及方法 | |
US7313583B2 (en) | Galois field arithmetic unit for use within a processor | |
CN101814922B (zh) | 基于bch码的多位错纠错方法和装置以及存储系统 | |
US7343472B2 (en) | Processor having a finite field arithmetic unit utilizing an array of multipliers and adders | |
CN109257140B (zh) | 一种极化信道可靠度排序的方法、极化码编码方法及装置 | |
CN112039535B (zh) | 一种基于准循环生成矩阵的码率兼容ldpc编码器 | |
US7403964B2 (en) | Galois field multiplier array for use within a finite field arithmetic unit | |
US8700971B2 (en) | Parallel residue arithmetic operation unit and parallel residue arithmetic operating method | |
CN112306741B (zh) | 一种crc校验方法及相关装置 | |
CN102970049B (zh) | 基于钱搜索算法和福尼算法的并行电路及rs译码电路 | |
CN101317355A (zh) | 同步帧检错、纠错方法和装置 | |
CN101296053A (zh) | 计算循环冗余校验码之方法及系统 | |
CN102354535A (zh) | 逻辑单元复用系统 | |
CN106537787A (zh) | 译码方法和译码器 | |
CN101001089B (zh) | 一种纠错码解码中的钱搜索方法及装置 | |
CN103916138B (zh) | 一种钱搜索电路及基于该钱搜索电路的ecc解码装置及方法 | |
JP2007174312A (ja) | 符号化回路およびデジタル信号処理回路 | |
KR101449732B1 (ko) | 계층적인 매우 긴 명령 패킷들을 프로세싱하는 시스템 및 방법 | |
Wang et al. | An area-efficient hybrid polar decoder with pipelined architecture | |
US10067821B2 (en) | Apparatus and method for cyclic redundancy check | |
CN104714754B (zh) | 一种电子设备及信息处理的方法 | |
CN111224741B (zh) | 卫星导航用bch码译码方法、译码器及卫星导航接收机 | |
CN102594370A (zh) | 一种高效低延时并行钱搜索方法和装置 | |
CN101321035A (zh) | 差值上限获取方法、定点方法及装置 | |
Zhong et al. | Hybrid SC-SCL Decoder for Polar Codes with Low Latency |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110817 |