TW201025126A - System and method to execute a linear feedback-shift instruction - Google Patents

System and method to execute a linear feedback-shift instruction Download PDF

Info

Publication number
TW201025126A
TW201025126A TW098132142A TW98132142A TW201025126A TW 201025126 A TW201025126 A TW 201025126A TW 098132142 A TW098132142 A TW 098132142A TW 98132142 A TW98132142 A TW 98132142A TW 201025126 A TW201025126 A TW 201025126A
Authority
TW
Taiwan
Prior art keywords
data
processor
source
instruction
source data
Prior art date
Application number
TW098132142A
Other languages
English (en)
Inventor
Erich Plondke
Lucian Codrescu
Remi Gurski
Shankar Krithivasan
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of TW201025126A publication Critical patent/TW201025126A/zh

Links

Classifications

    • 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
    • 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
    • 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
    • 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/30032Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • G06F7/584Pseudo-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)

Description

201025126 六、發明說明: 【發明所屬之技術領域】 本發明大體上係關於用以執行線性回饋移位指令的系統 及方法。 【先前技術】 技術之進展已產生體積更小且功能更強大之計算裝置。 舉例而言,當前存在多種攜帶型個人計算裝置,包括無線 計异裝置’諸如體積小、重量輕且易於由使用者攜帶之攜 帶型無線電話、個人數位助理(PDA)及傳呼裝置》更特定 言之,諸如蜂巢式電話及網際網路協定(IP)電話之攜帶型 無線電話可在無線網路上傳達語音及資料封包。另外,許 多該等無線電話包括併入其中之其他類型的裝置。舉例而 言,無線電話亦可包括數位相機、數位攝影機、數位記錄 器及音訊檔案播放器。又,該等無線電話可處理可執行之 指令,包括軟體應用程式,諸如可用以存取網際網路之網 頁瀏覽Is應用程式。因而,此等無線電話可包括顯著之計 算能力。 ° 在將資料傳輸至無線f話及自無線t話傳輸f料中,諸 如循環冗餘檢雜RC)之所計算數量可有助於驗證資料完 整性。對諸如循環冗餘檢查(CRC)之數量的計算可涉及多 個算術私v,其可為處理時間密集的(P咖如time_ intensive)。為了以時間高效的方式執行該等計算,可使用 專用硬體。然:而’ $等專用硬體可為昂貴的且可消耗額 外功率。能夠使用現存處理硬體以時間高效及能量高效之 143467.doc 201025126 方式计算諸如CRC之數量將為有利的。 【發明内容】 揭示-種處理資料之方法。可藉由對輸入資料及參考資 料執行-逐位元邏輯運算,產生中間資料;判定該 料之-同位值;及自該同位值及源資料之選定資料位元形 成該所得資料來判定所得資料。該所得資料可展現 一特定實例中,該所得資料可用以產生偽隨機數 ❹ 序列。在另-特定實例中,該所得資料可促進計算_些錯 誤偵測碼,諸如,循環冗餘檢查(CRC)。 曰 在一特定實施财,揭示—種處理資料之方法。該方法 包括在一處理器處執行單一線性回饋移位指令。該方法包 :接收源資料;對源資料及參考資料執行一逐位元邏輯 以產生中間貧料;判定該令間資料之一同位 :::移;將對應於該中間資料之該同位的-資料值鍵: 至S亥經移位之源資料的—杳 广的資枓欄位中,以產生所得資料。 該方法進一步包括輸出該所得資料。 ❹ 執=一=定實施例中,揭示—種系統。該系統包括用以 饋移位指令的—處理器。㈣統包括:- 器描其可操作以提供源資料;及一參考暫存器,其 了操作以▲供參考資料。該系缔、仓 八 行以下動作的執行單元:對兮’包括一可操作以進 逐位元邏輯運算以產生中間;:貧:㈣參考資料執行- 位;在執行該逐位元邏輯運算後移疋該中間資料之一同 移位的源資料;及將對資料以產生經 及將對應於該中間資料之該同位的一資料 143467.doc -4- 201025126 值鍵入至該經移位之源資料 + J貝枓攔位中,以產生所得 資料;及輸出該所得資料。 ^另#疋實施例中’揭示一種電腦可讀媒體。該電腦 Z儲t —可執行線性回饋移位指令,當該可執行線 回饋移位指令經執行時一 便處理器:接收源資料;對 該源資料及對參考資料鈾# ^ 科執订—逐位元邏輯運算以產生中間 資料;判定該中間資料之一 同位,移位該源資料以產生經 移位的源資料:及蔣料痛 及將對應於該巾卩m該同位的-資料 值鍵入至經移位之第一資料 ^負料襴位中,以產生一结 果。 、 在另一特定實施例中,掘+ __^ ^ 揭不一種可由一處理器執行之處 理器指令。該處理器指今白 4t 7匕括一扣令名稱、用以識別源資 料之帛攔位,及用以識別參考資料之一第二棚位。在 該處理器指令之執行期間,該處理器對該源資料及該參考 ❹ 資料執行:逐位元邏輯運算以產生中間資料,判定該中間 資料之-同位’移位該源資料,及將對應於該中間資料之 該同位的—資料值鍵人至經移位之源資料的-資料欄位 中’以產生一結果。 在另-特定實施例中,揭示一種處理器。該處理器包 括··邏輯電路’其用以對源資料及對參考資料執行一逐位 兀邏輯運算以產生中間資料;同位電路其用以判定該中 1資料之同位,位兀移位器電路,其用以移位該源資 料’置放電路’其用以將對應於該中間資料之該同位的一 ㈣值置於該經移㈣源資料中以產生所得資料;及用於 143467.doc 201025126 輸出該所得資料的構件。 由:供線:回饋移位指令之系統及方法之所揭示實施例 2的至)、-者所提供的—特定優勢為藉由平行或在單4 ”=行線性回饋移位指令之多個步驟而導致的增大㈣ 二;°執行作為由交錯式多執行緒處理器執行之單一指 绪處二::移位心令的一優勢為,由於該交錯式多執行 tr 納複雜算術指令之相對長的執行管線,因 此在執行期間實質上不弓丨入額外潛時。 在審閱整個申請案之後,本發明之其他態樣、優點及特 徵將變得顯而易見,整個申請案包括 說明、實施方式及申請專利範圍。 圖式簡単 【實施方式】 參看圖1,其描緣經組態以執行線性回饋移位指令之交 錯式多執行緒處理H之特定說明性實施例的方塊圖且該交 錯式多執行緒處理器大體上指定為⑽。交錯式多執行緒 處理器_可經由諸如第—執行緒1G4、第二執行緒ι〇6及 第三執行緒108之複數個執行緒執行指令。每—執行緒 106及108可包括在執行循環(亦稱為執行緒循環)1! 〇 内執行的複數個管線級(pipeline stage)。在所展示之特定 說明性實例中,執行緒1〇4、1〇6及1〇8中之每一者於執行 緒循環中包括六個管線級。舉例而言,第一管線級Μ ιΐ2 可為提取待處理之指令的提取級。第二管線級α2 ιΐ4可為 解碼經提取指令的解碼級。管線級A3 116、a4 118及& 120可為執行級。管線級八6 122可為寫回級。多執行緒處 I43467.doc -6- 201025126 理器⑽之執行緒1G4、1G6h咐的每—者可具有相似管 線級,從而允許實現複數個經提取指令之並行處理。 在一特定說明性實施例中,線性回饋移位指令102可由 交錯式多執行緒處理器100提取以於第一執行緒1〇4中處 理。線性回饋移位指令1G2為可與多執行緒處理器⑽之其 他^行緒中的其他指令的執行並行地以交錯方式加以處理 之單一指令,因此利用處理器計算效率。
參看圖2,描緣包括經組態以執行指令以執行線性回饋 移位和令之-處理器214的系統2GG之特定說明性實施例的 方塊圖。舉例而言,處理器214可為管線化處理器。處理 器214包括耗接至一第一執行單元224及一第二執行單元 226之一暫存器檔案216。第二執行單元226包括逐位元及 (AND)電路228、同位電路23〇、移位器(也_)232,及同 位值置放及填充電路(parity value 仙
CirCUitry)234。來自第二執行單元以之輸出可輸入至暫存 器槽案216中之暫存器。舉例而言,同位計算之結果可輸 入至同位暫存器222。雖然為了說明之簡易起見而在圖2中 展示兩個執行單元224、226,但處理器214可包括兩個以 上執行單元。 處理器214經調適以自諸如指令快取記憶體或暫存器之 電腦可讀媒體202提取線性回饋移位指令2〇4。處理器214 可將計算之結果輸出至可儲存該結果的記憶體24〇。處理 器214可使用諸如輸出匯流排238之輸出構件來將經計算結 果自處理器214輸出至記憶體240。在另一說明性實施例 143467.doc 201025126 中,可使用用於自處理器214輸出資料的另一構件。 線性回馈移位指令204可包括-指令名稱2〇8、識別源資 料(Rss)210之一第一欄位、識別參考資料(^幻之之一第二 攔位,且可產生輸出育料(R〇ut)2〇6。線性回饋移位指令 2〇4當經執行時可使電腦:執行源資料(Rss)2i〇及參考 OW2U之逐位元「及」運算’以產生中間資料;判定該 中間資料之同位值⑺;移位該源資料;及將該同位值 插入至一騰空的(vacated)資料欄位中,以產生輸出資料 (Rout)2〇6。可將輸出資料(R〇ut)2〇6寫入至記憶體作為記憶 體240内的所得資料244。所得資料244可為偽隨機資料、 循環冗餘檢查(CRC)資料,或另一類型之資料。在一特定 說明性實施例中,將偽隨機資料用於密碼編譯編碼或解碼 中。在另一特定說明性實施例t,將偽隨機資料用於統計 應用中。在-特定說明性實施例中,CRC㈣可用作總和 檢查碼以在資料傳輸或資料儲存期間偵測資料的更改或錯 誤。 /曰 在操作中,處理器214可自電腦可讀媒體2〇2提取線性回 饋移位指令204。處理器214可自記憶體24〇擷取由Rss 21〇 所識別的源資料246及由Rref 212所識別的參考資料248。 源資料246(展示為資料位元51至88)可置於源暫存器218 中’且參考資料248(展示為資料位元尺丨至!^)可置於暫存 器檔案216之參考資料暫存器22〇中。 在一特定說明性實施例中,處理器214如下執行作為管 線化處理器中之單一指令的單一線性回饋移位指令204 : 143467.doc 201025126 逐位元及電路228執行源暫存器218之内容與參考資料暫存 器220之内容的逐位元「及」運算,以產生中間資料227。 處理器214經由同位電路230判定中間資料227的同位值 (Y)231。同位值(Y)231為對應於中間資料227之同位的資 料值。由同位電路230所判定之同位值(υ)231暫時儲存於 同位暫存器222中。處理器214使用移位器232將來自源暫 存器21 8之源資料向右移位一位元’且去棄最低有效位 元。處理器214經由同位值置放及填充電路234將同位值 參 (Υ)23 1鍵入至最咼有效位元(MSB)欄位250中。處理器214 經由輸出匯流排238輸出輸出資料(R〇ut)2〇6,儲存於記憶 體240中作為所得資料244。所得資料244包括經向右移位 的源資料242及同位值(γ)231,該同位值(γ)231已置於由 於向右移位源資料而騰空的MSB欄位250中。在一特定說 明性實施例中’所得資料244包括偽隨機資料。舉例而 s ’偽隨機資料可為一序列數目中之近似於隨機數 參 (random number)之屬性的一數目。偽隨機數可用於密碼編 譯編碼或解碼中或統計應用中。在另一特定說明性實施例 中’所得資料244包括CRC資料。舉例而言,CRC資料可 用作總和檢查碼以在資料傳輸或資料儲存期間偵測資料的 更改或錯誤。 執行作為交錯式多執行緒處理器(諸如,處理器214)中 之單一指令的線性回饋移位指令2〇4的一優勢為,該處理 器通常使得多個複雜算術運算能夠在單一指令中執行,而 不引入由於相對長的執行管線引起之額外計算負擔 143467.doc 201025126 二—因此,藉由使用交錯式多執行緒處理器,不 執行時間中入由於在單—指令尹執行線性回饋 移位私令204之多個運算引起的額外潛時。 在一特定說明性實施例中,線性回饋移位指令綱可在 輸出輸出資料娜及㈣為所得資料冰之前經反覆 複數次。在一特定說明性實例令,執 杳Μση⑽心 丁弟一反覆·以輸出 資科206開始,該輪出資料施在第_反覆期間產生且可暫 時储存於源資料暫存器218中;藉由參考㈣⑽執行逐位 ί二=以產生第二反覆之中間資料此判定中間 六、5 *⑺231,向右移位源資料暫存器218之當前 内容以騰空MSB棚位;及以同位 1位(Y)23 1回填騰空的MSB攔 位’從而產生第二反覆之給ψ 復之輸出Rout 206。可多次重複以上 反覆過程。 2 一特定說明性實施例中,處理器214為交錯式多執行 緒處理器,諸如圖1中所% 圆中所說明的處理器。處理器214可呈有 一處理器執行緒循環’且可經組態以輸入源資料,產生中 間資料’判定該中間資料的同位值,移位該源資料及產 生所得資料,在不超過該處理器執行緒循環之-處理時間 週期期間執行所有此等步驟。如將參考圖5論述一 收發器可經耦接以將無線資料提供至處理器214。在Γ特 疋說月14實施例中,無線資料可為源資料⑽及/或參考資 料248 無線收發器可經輕接以經由天線接收無線資 料。 八展不執行實施為管線化處理器中之單一指 143467.doc 201025126
7之線)·生回饋移位指令之方法之特定說明性實施例的資料 OIL程圖且該方法大體上指定為3〇〇。在一特定實例中,方 法300可由圖2中所描緣之處理器214實施。方法則包括對 源資料302及參考資料3〇4執行逐位元「及」運算3〇6。源 資料302可包括複數個資料位元。在一說明性實例中,源 資料包括資料位元aiJ_a8。參考資料3。4包括與源資料3〇2 :同數目個資料位元。在一說明性實例中,參考資料包括 資料位兀bjb8。在一說明性實例中,中間資料包括資料 位源資料3〇2及參考資料m可自暫存器或自電 腦記憶體提供’且可經由一可經耦接以經由無線天線接收 無線資料的無線收發器接收。在另—特定說明性實施例 (未圖示)中,可執行「反及(NAND)」運算而非逐位元 「及」運算306。 在計算中間資料308之後,執行同位計算31〇,從而產生 同位值(Y)312,其為對應於中間資料3〇8之同位的值。同 位„十算31G包括.#定中間資料3()8之資料位元值的算術 和;及當該算術和為奇數時將邏輯i值n給同位值 (Y)3 12 ’ i當該算術和為偶數時將邏輯〇值指派給同 (Y)312 〇 執行實施為管線化處理器(諸如,圖i之交錯式多執行緒 處理器100)中之單一指令之線性回饋移位指令之方法的資 料流程圖300藉由(諸如)經由圖2中所描缚之移位器232對源 貢料302執行移位運算315,產生經移位的源資料314,及 騰空源資料302之資料攔位316而進行。冑由同纟電路(諸 143467.doc 11 201025126 如,圖2之同位電路222)計算之同位值(γ)3ΐ2鍵入至經移 位的源資料314的資料攔位316中,已由於移位運算⑴而 騰空該資料糊位316。產生包括經移位的源資料及同位值 ⑺312的所得資料318,其中同位值⑺312佔據資料棚位 316。在-敎說明性實施例中,移位運算315向右移位源 資料302,且資_位316為最高有效位元(msb)。
在-特;t說明性實施例中,執行實施為管線化處理器中 之單一指令之線性回饋移位指令的方法可執行複數次。每 當調用線性回饋移位指令時,自所得資料輸人源資料,該 所得資料係由線性回饋移位指令之前一次執行輸出。因 此在右干反覆之過程甲,可複數次向右移位原始源資 料其中备别騰空的最高有效位元由當前同位值312回 填,該當前同位值3 12由最近的同位計算31〇判定。
參看圖4,一種執行作為管線化處理器中之單一指令之 線性回饋移位指令之方法之另m明性實施例的流程 圖大體上扎疋為4〇〇。在區塊4〇2處,接收到源資料。進行 至區塊404,接收到參考資料。在一特定說明性實施例 中,參考資料可包括多項式資料。移至區塊4〇6,對源資 料及參考資料執行逐位元邏輯運算(諸如,「及」運算或 「反及」運算)以產生中間資料。進行至區塊4〇8,判定中 間資料之同位值。前進至區塊41〇,將源資料移位一位 元從而騰空一位元。在一特定說明性實施例中,將源資 料向右移位一位元,從而騰空一最高有效位元(MSB)。進 行至區塊412 ’將中間資料之同位值(亦即,指示奇同位或 143467.doc 12 201025126 偶同位之單-位元)鍵入至經移位的源資料之騰空的位元 中從而產生所得資料。移至區塊414,儲存所得資料。 前進至決策區塊416,做出是否執行另-反覆的判定。 在執行另反覆之情況下,該方法返回至區塊4〇2,在區 塊402處該方法藉由來自指令之前—次反覆的所得資料再 次,線性回饋移位指令;藉由參考資料執行逐位元邏輯 運异以產生當前中間資料;#定當前中間資料之同位值; 移位當前中間資料以產生當前經移位的中間資料;將當前 中間貝料之同位值鍵入至當前經移位的資料之騰空的資料 棚位中以產生當前輸出資料;及儲存當前輸出資料。在不 執行另&覆之情況下,該方法進行至區塊418,且將輸 出資料作為所得資料輸出。該方法終止於420處。所得資 料取決於所接收參考資料。在—特定說明性實例中,所得 資料包括偽隨機資料,其可用於密碼編譯編瑪或解碼中或 統"十應用中。在另—特定說明性實例中所得資料包括 CRC資料,其可用於偵測資料傳輸錯誤。 參看圖5,#描緣包括經組態以執行作為單一指令之線 性回饋移位指令的一管線化處理器之一無線裝置的方塊圖 且該無線裝置大體上指定為·。裝置则包括—處理器, 諸如經組態以執行線性回饋移位指令59〇之數位信號處理 器(DSP)510。DSP 510搞接至一記憶體532。在一特定實施 例中,線性回饋移位指令別可在Dsp 51〇及記憶體说處 執行’且可使用參看以上W1至圖4所描述之系統及方法而 實施。 143467.doc -13- 201025126 圖5亦展示一顯示器控制器526,其耦接至數位信號處理 器510及一顯示器528。一編碼器/解碼器((:〇1^匸)534亦可 耦接至數位信號處理器(DSP)51〇。一揚聲器536及一麥克 風538可轉接至CODEC 534。 圖5亦指示’一數據機540可耦接至數位信號處理器51〇 及一收發器546,該收發器546耦接至一無線天線542。在 一特定說明性實施例中,收發器546(本文中亦稱為「無線 收發器」)可經耦接以經由無線天線542接收無線資料,且 收發器546可進一步經由數據機54〇耦接以將無線資料提供 至DSP 510。在一特定實施例中,Dsp 51〇、顯示器控制器 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之一組件,諸如 一介面或一控制器。 熟習此項技術者將進一步瞭解,可將結合本文中所揭示 之實施例而描述之各種說明性邏輯區塊、組態、模組、電 路及演算法步驟實施為電子硬體、電腦軟體或兩者之組 合。為了明確地說明硬體與軟體之此可互換性,各種說明 143467.doc 14· 201025126 性組件、區塊、組態、模組、電路及步驟已在上文大體上 在其功能性方面得到了描述^該功能性係實施為硬體還是 軟體取決於特定應用及強加於整個系統之設計約束。熟習 此項技術者可針對每一特定應用以不同方式實施所描述之 功能性,但該等實施決策不應解譯為會引起脫離本揭示案 之範。 結合本文中所揭示之實施例所描述之方法或演算法的步 驟可直接體現於硬體、由處理器所執行之軟體模組,或硬 體與軟體模組之組合中。一軟體模組可駐留於隨機存取記 憶體(RAM)、快閃記憶體、唯讀記憶體(R〇M)、可程式化 唯讀記憶體(PROM)、可抹除可程式化唯讀記憶體 (EPROM)、電可抹除可程式化唯讀記憶體(EEpR〇M)、暫 存器、硬碟、抽取式碟片、壓縮光碟唯讀記憶體(CD_ ROM) ’或此項技術中已知之任何其他形式的儲存媒體 中。例示性儲存媒體耦接至處理器,以使得處理器可自儲 馨存媒體讀取資訊且將資訊寫入至儲存媒體。在替代例中, 儲存媒體可與處理器成一整體。處理器及儲存媒體可駐留 於一特殊應用積體電路(ASIC)中。ASIC可駐留於計算装置 或使用者終端機中。在替代例中,處理器及儲存媒體可作 為離散組件而駐留於計算裝置或使用者終端機中。 提供所揭示實施例之先前描述以使任何熟習此項技術者 能夠進行或使用所揭示實施例。對於熟習此項技術者,對 此等實施例之各種修改將顯而易見,且本文中所界定之原 理可在不脫離本發明之範疇的情況下應用於其他實施例。 143467.doc 15 201025126 因此,本發明不欲限於本文中所展示之實施例,而是將符 合與如由以下申請專利範圍所界定之原理及新穎特徵— 的可能最廣範疇。 & 【圖式簡單說明】 圖1為經組態以執行線性回饋移位指令之交錯式多執— 緒處理器之特定說明性實施例的方塊圖; 行 圖2為經組態以處理指令以執行隸回饋移位指令 理器之特定說明性實施例的方塊圖丨 "爽 程圖圖3為線性回饋移位指令之特定說明性實施例的資料流❹ 圖4為執行線性回饋移位指令之 施例的流程圖;及 一方法之特定說 明性實 之一處理器
回饋移位指令 【主要元件符號說明】 圖5為包括經組態以執行線性 之一無線裝置的方塊圖。 100 交錯式多執行緒處 102 線性回饋移位指令 104 第一執行緒 106 第二執行緒 108 第三執行緒 110 執行循環 112 第一管線級Aj 114 第二管線級a2 116 管線級a3 理器 143467.doc •16- 201025126 118 管線級a4 120 管線級a5 122 管線級a6 200 系統 202 電腦可讀媒體 204 線性回饋移位指令 - 206 輸出資料(R。^) 208 指令名稱 210 源貧料(Rss) 212 參考資料(Rref) 214 處理器 216 暫存器檔案 218 源資料暫存器 220 參考資料暫存器 222 同位暫存器/同位電路 224 第一執行單元 226 第二執行單元 227 中間資料 228 逐位元及(AND)電路 230 同位電路 231 同位值(Y) 232 移位器 234 同位值置放及填充電路 238 輸出匯流排 143467.doc 201025126 240 242 244 246 248 250 300 302 304 306 308 310 312 314 315 316 318 400 500 510 522 記憶體 源資料 所得資料 源資料 參考資料 最高有效位元(MSB)欄位 執行實施為管線化處理器中之單一指令之線性 回饋移位指令之方法 源資料 參考資料 逐位元「及」運算 中間資料 同位計算 同位值(Y) 源資料 移位運算 資料欄位 所得資料 執行作為管線化處理器中之單一指令之線性回 饋移位指令之方法 裝置 數位信號處理器(DSP) 系統級封裝或晶片上系統裝置 顯示器控制器 143467.doc -18· 526 201025126 528 顯示器 530 輸入裝置 532 記憶體 534 編碼器/解碼器(CODEC) 536 揚聲器 538 麥克風 540 數據機 542 無線天線 ® 544 電源供應器 546 收發器 590 線性回饋移位指令 143467.doc -19-

Claims (1)

  1. 201025126 七、申請專利範圍: 1. 一種處理資料之方法,該方法包含: 藉由以下動作在一處理器處執行一指令: 接收源資料; 對該源資料及對參考資料鈾 貝τ叶執仃一逐位元邏輯運算以 產生中間資料; 判定該中間資料之一同位; 移位該源資料; 將對應於該中間資料之哕 ^ 义该冋位的—值鍵入至該經移 位之源資料的一資料攔位 τ 以產生所得資料;及 輸出該所得資料。 2. 如請求項1之方法,其中該{羅妞 、 茨邏輯運算為一「及,運复, 且進一步包含儲存該所得資料。 3. 如請求項〗之方法,盆 ^ 貝枓攔位包括該經移位之源 資枓的最高有效位元(MSB)。 〈氣 4. 如請求項〖之方法, 5 -種“ * 其中自—源暫存器接收該源資料。 禋系統,其包含: 一處理器,其包含: — '、暫存器,其可操作以提供源資料; -執存盗其可刼作以提供參考資料;及 轉元,其可操作以執行—指令以: ^資料及對該參考資料執行—逐位 异以產生中間資料; 铒運 列定該中間資料之一同位; 143467.doc 201025126 6. 7. 8. 9. 10. 在執行該逐位元邏輯運算之後移位該源資料以產 生經移位的源資料; 將對應於該中間資料之該同位的一值鍵入至該經 移位之源資料的一資料欄位中,以產生所得資 料;及 輸出該所得資料。 > 3青求項5之系統’其中該源資料係自該源暫存器擷 取’且該參考資料係自該參考暫存器擷取。 如叫求項5之系統’其中對應於該中間資料之該同位的 該值經鍵入至該經移位之源資料的一最高有效位元資料 棚位中。 如明求項5之系統,其進一步包含經耦接以經由一天線 接收無線資料的一無線收發器,該無線收發器進一步經 柄接以將該無線資料提供至該處理器。 種電腦可讀媒體,其儲存一可執行指令,當該可執行 才曰7經執行時使一處理器: 接收源資料; 對忒源資料及對參考資料執行一逐位元邏輯運算以產 生中間資料; 判定該中間資料之一同位; 移位該源資料以產生經移位的源資料;及 將對應於該中間資料之該同位的一值鍵入至該經移位 之源資料的—資料欄位中,以產生一結果。 如請求項9之電腦可讀媒體其中該移位為一向右移 143467.doc 201025126 位 比如請求項9之電腦可讀媒體’其中對應於該中間資料之 =位的該值經鍵入至該經移位之源資料的一騰空的位 置中。 12. —種處理器指令,其 .A 處理器執行,該處理器指令 包含: 一指令名稱; ❹ 第-攔位’其中該第—欄位識別源資料;及 一第二棚位,其中該第二欄位識別參考資料; 其中在該處理器指令之執杆如 矾仃期間,該處理器對該源資 料及對該參考資料執行一逐 、位70邏輯運算以產生中間資 料;判定該中間資料之一回办.a , 门位,移位該源資料;及將對 應於該中間資料之該同位的一 俚鍵入至該經移位之源資 料的一攔位中,以產生一結果。 J 13. 如請求項12之處理器指令,其中該邏輯運算為_ 運算。 14. 如清求項12之處理涔指人 q理’其中該邏輯運 — 及J運算。 汉 15. 如請求項12之處理器指令, 共〒在該處理器指令之執行 期間,該處理器輸出該結果。 矾仃 16. -種用以執行_指令的處理器,該處理器包含: 邏輯電路,其用以對源資料及 元邏輯運算以產生中間資料; Μ執仃—逐位 同位電路,其用以判定該中間資料之一同位值; 143467.doc 201025126 位元移位器電路,其用以移位«㈣. 置放電路’其用以將該中間資料 移位的源資料中以產生所得資料;及 值置於該愈 用於輸出該所得資料的構件。 17:請求項16之處理器’…參考資料包含多項式資 18.如請求項】7之處理考 檢查值。 纟中該所得資料包含-循環冗餘 機資 料 Ή求項16之處理器’其t該所得f料包含偽隨 20.如凊求項;I6之處理器 行緒處理器。 ,其令該處理器包含一 交錯式多執 處理器具有-處理器執行 緒循環,且其中產生該中間資料、判定該中間資料之今 同位值、移位該源資料及產生該所得資料係在不超過^ 處理器執行緒循環之一處理時間週期期間執行。^ 22.t請求項16之處㈣,其中該處理器包括於-無線裝置 中’其中該無線裝置包含: 一記憶體,其耦接至該處理器; 一顯示器控制器’其耦接至該處理器;及 一編碼器/解碼器,其耦接至該處理器。 143467.doc -4-
TW098132142A 2008-09-23 2009-09-23 System and method to execute a linear feedback-shift instruction TW201025126A (en)

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
TW201025126A true TW201025126A (en) 2010-07-01

Family

ID=41666808

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098132142A TW201025126A (en) 2008-09-23 2009-09-23 System and method to execute a linear feedback-shift instruction

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)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
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
CN104199635B (zh) * 2014-09-23 2017-11-07 无锡华大国奇科技有限公司 集成crc校验电路的伪随机数发生器
US9916159B2 (en) * 2016-01-14 2018-03-13 International Business Machines Corporation Programmable linear feedback shift register
US10108487B2 (en) * 2016-06-24 2018-10-23 Qualcomm Incorporated Parity for instruction packets
US10466967B2 (en) * 2016-07-29 2019-11-05 Qualcomm Incorporated System and method for piecewise linear approximation

Family Cites Families (21)

* Cited by examiner, † Cited by third party
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
DE3750721T2 (de) * 1987-02-24 1995-03-16 Texas Instruments Inc Computersystem mit Durchführung von vermischten Makro- und Mikrocodebefehlen.
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
US5467297A (en) * 1993-11-04 1995-11-14 Cirrus Logic, Inc. Finite field inversion
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
JP2006215824A (ja) * 2005-02-03 2006-08-17 Sanyo Electric Co Ltd 乱数生成回路
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

Also Published As

Publication number Publication date
US8281111B2 (en) 2012-10-02
JP2012503829A (ja) 2012-02-09
CN102160031A (zh) 2011-08-17
KR20110074878A (ko) 2011-07-04
KR101290493B1 (ko) 2013-07-26
US20100077187A1 (en) 2010-03-25
JP5341194B2 (ja) 2013-11-13
EP2350814A1 (en) 2011-08-03
WO2010039457A1 (en) 2010-04-08

Similar Documents

Publication Publication Date Title
TW201025126A (en) System and method to execute a linear feedback-shift instruction
CN106575346B (zh) 存储器中的加密完整性校验
KR102242872B1 (ko) 비휘발성 메모리 내의 복구 알고리즘
JP5917592B2 (ja) ループ制御システムおよび方法
US9619324B2 (en) Error correction in non—volatile memory
KR101697548B1 (ko) Fifo 로드 명령
JP2011526045A5 (zh)
TWI438777B (zh) 一種快閃記憶體控制器之資料傳輸保護裝置
TW201106258A (en) Parallel processing and internal processors
CN108028665A (zh) 用于使用硬件和软件进行压缩的系统、方法和装置
US8843730B2 (en) Executing instruction packet with multiple instructions with same destination by performing logical operation on results of instructions and storing the result to the destination
US20120017067A1 (en) On-demand predicate registers
TWI242122B (en) Method and apparatus for generating addresses for variable-width instructions in a pipeline and signal processing system
CN109313594B (zh) 用于指令包的奇偶校验
TWI249129B (en) Trace buffer circuit, pipelined processor, method for assigning instruction addresses of a trace buffer and associated apparatus
WO2023000577A1 (zh) 一种数据压缩方法、装置及电子设备和存储介质
EP2542963B1 (en) System and method of processing hierarchical very long instruction packets
WO2017148096A1 (zh) 循环冗余校验码的生成方法和装置
Yang et al. An MPCN-based BCH codec architecture with arbitrary error correcting capability
Subbiah A Flexible BCH decoder for Flash Memory Systems using Cascaded BCH codes
JP2010140132A (ja) メモリシステム及びメモリコントローラ
JPS62150425A (ja) 演算lsi
JP2002185337A (ja) 基地局装置