JP2009531987A - Viterbiパック命令 - Google Patents

Viterbiパック命令 Download PDF

Info

Publication number
JP2009531987A
JP2009531987A JP2009503182A JP2009503182A JP2009531987A JP 2009531987 A JP2009531987 A JP 2009531987A JP 2009503182 A JP2009503182 A JP 2009503182A JP 2009503182 A JP2009503182 A JP 2009503182A JP 2009531987 A JP2009531987 A JP 2009531987A
Authority
JP
Japan
Prior art keywords
predicate register
masking
masked data
register
masking value
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
JP2009503182A
Other languages
English (en)
Other versions
JP5180186B2 (ja
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.)
Qualcomm Inc
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 JP2009531987A publication Critical patent/JP2009531987A/ja
Application granted granted Critical
Publication of JP5180186B2 publication Critical patent/JP5180186B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4107Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing add, compare, select [ACS] operations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4161Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management
    • H03M13/4169Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management using traceback
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • H03M13/6505Memory efficient implementations

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

第1のマスキング値を用いて第1のプレディケートレジスタのコンテンツをマスクし、第2のマスキング値を用いて第2のプレディケートレジスタのコンテンツをマスクするViterbiパック命令が開示される。その結果生じるマスクされたデータは、目的レジスタへ書き込まれる。Viterbiパック命令は、ハードウェア、ファームウェア、ソフトウェア、又はこれらの任意の組み合わせにおいて実現されうる。

Description

本開示は、一般にViterbiパック命令に関する。特に、複数のプレディケートレジスタから単一の目的レジスタへビットをパックするViterbiパック命令に関する。
Viterbiアルゴリズムは、通信において便利なアルゴリズムである。Viterbiアルゴリズムは、無線通信システムにおいて、重畳コードを復号するために用いられることができる。このようなコードは、単なる一例として、符号分割多元接続(CDMA)、CDMA2000、広帯域符号分割多元接続(WCDMA)、時分割同期符号分割多元接続(TD−SCDMA)、及びグローバル・システム・フォー・モバイル・コミュニケーション(GSM)のような多数の形式の無線通信において用いられる。Viterbiアルゴリズムはまた、802.11無線ローカルアクセスネットワーク(WLAN)において、音声認識における誤り補正スキームとしても用いられ、その他多数の目的のために用いられることができる。
Viterbiアルゴリズムを用いると、各状態へ導く複数のパスを伴う複数の状態が存在する状態のトレリスの中に、(しばしばViterbiパスと称される)最もありそうな隠蔽状態のシーケンスが見られる。状態間のどの遷移が(しばしば残存パスと称される)最もありそうな遷移かを決定するために、異なる遷移の可能性を比較することができる。残存パスは、トレリスにわたって、関連する状態遷移期間の各々に関して決定されることができる。Viterbiデコーダでは、例えばトレースバックが、出力ビットを生成するために残存パスとともに後に実行される。
Viterbiアルゴリズムを実行する場合、一般的に、異なる遷移の可能性を表すパスメトリックを生成し比較する。フラグビットは、このような比較の出力を表すことができる。この出力は、例えば後でトレースバックを実行する時に用いられるために、メモリ内に格納されうる。別々のレジスタからメモリ内へ書き込まれたいくつかの比較の結果を有することは、より多くのメモリを占有する。
例えばWCDMA及びCDMA2000のような3G無線通信システムにおいて、もし2つのパスメトリックの比較の出力を表すフラグの各々が、メモリの別々のバイトに格納されれば、268x256バイト=68キロバイトのメモリが必要である。しかし、もしこれらのビットがバイトではなくビットとして格納されることができれば、268x256/8=8キロバイトのメモリで済む。
より多くのセーブ動作が必要とされることによって、速度に悪影響がもたらされる。これは、キャッシュミスの可能性を高くする。加えて、もしフラグが自然な順番で格納されなければ、トレースバックを実行するためにより多くのサイクルが必要である。
Viterbiアルゴリズムは、例えば多数の無線通信システムで用いられる重畳コードを復号するために不可欠であるので、アルゴリズムの実行の速度は、例えば無線通信システムの実行に直接的に影響する。
従って、処理時間を短縮しメモリスペースをセーブするために、複数のプレディケートレジスタ内のビットを単一の目的レジスタ内へパックするViterbiパック命令を提供することが有利であろう。
発明の概要
Viterbiパック命令が開示される。Viterbiパック命令は、1つのプレディケートレジスタの選択されたビットと別のプレディケートレジスタの選択されたビットとを、単一の目的レジスタ内へパックすることを含む。
特定の実施形態において、Viterbiパック命令は、第1のマスキング値を用いて第1のプレディケートレジスタのコンテンツをマスクし、第2のマスキング値を用いて第2のプレディケートレジスタのコンテンツをマスクする。その結果生じるマスクされたデータは、目的レジスタへ書き込まれる。別の特定の実施形態において、第1のマスキング値は16進法の55であり、第2のマスキング値は16進法のAAである。更なる特定の実施形態において、結果として生じるマスクされたデータは、目的レジスタへ書き込まれる前に、論理和をとられる。
別の特定の実施形態において、Viterbiパック命令は、Viterbiパック回路を備える。Viterbiパック回路は、第1及び第2のプレディケートレジスタと、目的レジスタと、メモリと、第1及び第2のANDゲートと、ORゲートとを備える。
また別の特定の実施形態において、Viterbiパック命令を動作させるデジタル信号プロセッサが開示される。別の特定の実施形態において、Viterbiパック命令を備える無線通信デバイスが開示される。
本明細書に開示される1つ又は複数の実施形態の利点は、Viterbiアルゴリズムを実行する時間を低減することを含むことができる。
本明細書に開示される1つ又は複数の実施形態の利点は、メモリスペースをセーブすることを含むことができる。
別の利点は、無線通信システムにおける例えばセルラー電話のような無線通信デバイスに関するより短い取得時間を含むことができる。
本開示のその他の局面、利点、及び特徴が、特許請求の範囲、詳細な説明、及び図面の簡単な説明を含む本出願全体を精査した後で明らかになるであろう。
詳細な説明
本明細書に記載される実施形態の局面及びそれに伴う利点が、添付の図面と関連して考慮される場合、以下の詳細な説明の参照によってより容易に明らかになるであろう。
図1は、例えばViterbiアルゴリズムに関連するような状態のトレリスの例を示す。この例において、16の起こりうる状態(0乃至15)が示される。図示されるように、右側の状態0乃至7の各々は、左側の異なる2つの状態から到達されることができる。例えば状態0は、状態0又は状態8の何れかから到達されることができる。
図2は、図1に示す状態間の起こりうる遷移を示すベクトル図である。この例において、4つのベクトルA乃至Dが示される。ベクトルAは、状態0、1、2及び3から状態0、2、4及び6への遷移を表す。ベクトルBは、状態8、9、10及び11から状態0、2、4及び6への遷移を表す。ベクトルCは、状態0、1、2及び3から状態1、3、5及び7への遷移を表す。ベクトルDは、状態8、9、10及び11から状態1、3、5及び7への遷移を表す。
上述したように、Viterbiアルゴリズムでは、最もありそうなパスが決定される。どのパスが最もありそうかを決定するために、異なる遷移ベクトルの可能性を比較するベクトル比較が用いられうる。
レジスタのコンテンツを比較することができる比較命令を有することが望ましい。汎用的な比較命令は、バイト比較、16ビットハーフワード比較、ワード比較、及び長ワード比較を実行することができるので、様々な状況でアルゴリズムを用いることができる。このような比較命令を用いて、長ワードと他との比較によって、例えば、どの長ワードがより大きいかを示す単一ビットの出力を生成することができる。2つのワードと他の2つのワードとの比較によって、各々がワード比較のうちの1つの結果を表す2ビットの出力を生成することができる。同様に、4つのハーフワード比較によって4ビットを生成し、8バイト比較によって8ビットを生成することができる。結果の格納を簡略化するために、各比較結果は、目的レジスタ内のデータのバイトへ書き込まれることができ、長ワード比較によって、結果ビットは、ただ1つのビットではなく目的レジスタ内のバイトの全てのビット内へ書き込まれることができる。ワード比較に関して、第1の結果ビットはバイトの最初の4ビットへ書き込まれ、第2の結果ビットは残りの4ビットへ書き込まれることができる。ハーフワード比較に関して、第1の結果ビットは最初の2ビットへ書き込まれ、第2の結果ビットは次の2ビットへ書き込まれ、と続くことができる。
図3は、例えばViterbi復号中のように、Viterbiアルゴリズムとともに用いるのに便利な汎用ベクトル比較命令100の機能を示す。
Viterbi復号で用いられるベクトル比較命令100において、例えば、レジスタ101に格納されたAベクトルとレジスタ102に格納されたBベクトルとが比較され、その結果がプレディケートレジスタ110に格納される。ベクトル及びレジスタは、任意の適切なサイズであることができる。例えば、Aベクトル及びBベクトルの両者は、各ハーフワードが、図1及び図2に示す例えば状態0から状態0のような状態遷移うちの1つのパスメトリックを表す4つの16ビットハーフワード101w乃至101z及び102w乃至102zからなることができる。Aベクトルは64ビットのレジスタ101に格納され、Bベクトルは64ビットのレジスタ102に格納されることができる。レジスタ101及びレジスタ102は、代わりに複数のレジスタとして実現されうる。例えば、一方又は両方のレジスタが、それぞれ2つの分離したレジスタから成ることができる。
図示されるように、各々がハーフワード101w乃至101zとハーフワード102w乃至102zとをそれぞれ比較する103乃至106を比較されたい。上述したように、汎用ベクトル比較命令は、プレディケートレジスタ110内の隣接する2つのビットに、比較103乃至106の各々に関する結果ビットを簡単に格納することができる。従って、比較103の結果であるビットdは、プレディケートレジスタ110のビット7及び6の両方へ書き込まれうる。同様に、ビットc、b及びaはそれぞれ、プレディケートレジスタ110の2つのビットへ書き込まれることができる。
図4は、典型的なViterbiパック命令150の機能を示す。この限定的でない例において、プレディケートレジスタ110はベクトル比較命令100の結果を含み、プレディケートレジスタ120は、例えば他のベクトルC及びDを比較させるベクトル比較命令の結果を含む。Viterbiパック命令150では、2つのベクトル比較命令の結果を2つのレジスタ内に残さず、これらの結果は目的レジスタ130内へパックされる。目的レジスタ130は、例えば長さ8ビット又はそれより大きいサイズのような任意の適切なサイズであることができる。Viterbiパック命令150は、ソフトウェア、ファームウェア、ハードウェア、又はこれらの任意の組み合わせによって実現されることができる。
限定的でない実施形態において、Viterbiパック命令150は、以下のように表されることができる。
=(P&0x55)|(P&0xAA)
ここでRは目的レジスタ130であり、Pは第1のプレディケートレジスタ110であり、Pは第2のプレディケートレジスタ120である。
このViterbiパック命令150の限定的でない実施形態の実行中、プレディケートレジスタ110の偶数ビット(d、c、b及びa)は、目的レジスタ130の偶数ビット(ビット6、4、2及び0)内へ書き込まれる。加えて、プレディケートレジスタ120の奇数ビット(h、g、f及びe)は、目的レジスタ130の奇数ビット(ビット7、5、3及び1)内へ書き込まれる。従って、目的レジスタ130内のビットは、2つのプレディケートレジスタ110及び120内に格納されたビットを交互にする。このようにして、目的レジスタ130内のビットは、処理速度を上げるために、より自然な順番に配置される。
長ワード又はワードを比較するベクトル比較に関して、8つ又は4つのプレディケートレジスタが、各レジスタからのビットを交互にすることによって、目的レジスタ内の単一のバイトへパックされうることが留意されるべきである。
図5は、Viterbiパック方法を示す。方法300の限定的でない実施形態に従うと、ステップ310において、第1のマスキング値が第1のプレディケートレジスタ110のコンテンツに適用され、第2のマスキング値が第2のプレディケートレジスタ120のコンテンツに適用されることができる。例えば、第1のマスキング値は16進法の55であり、第2のマスキング値は16進法のAAでありうる。例えば長ワード比較又はワード比較が実行される場合のように、2つより多くのレジスタをパックするために、他の異なる16進法のマスキング値が用いられるであろう。
ステップ320において、2つのマスキングの結果生じるマスクされたデータは、両者の論理和をとられる。その後ステップ330において、論理和をとられたデータは、目的レジスタ130へ書き込まれる。これらのステップは、もし望まれれば、異なるビットに関して同時に起こるステップを伴ってビットワイズベースで起こることができる。
図6は、Viterbiパック回路400の限定的でない実施形態を示す。第1のプレディケートレジスタ110のコンテンツはANDゲート401へ送られ、例えばメモリ405に格納されうる16進法の55との論理積をとられる。第2のプレディケートレジスタ120のコンテンツはANDゲート402へ送られ、例えばメモリ406に格納されうる16進法のAAとの論理積をとられる。2つより多くのレジスタをパックするために、他の適切な16進法の値が用いられるであろう。メモリ405及びメモリ406は、単一のメモリ要素であるか、任意の適切なタイプの別々のメモリ要素であることができる。ANDゲート401及び402は、ORゲート410の入力に接続されている。ORゲート410の出力は、目的レジスタ130へ送られる。
図7は、一般的に設計された無線通信デバイス520の限定的でなく典型的な実施形態を示す。無線通信デバイスは、デジタル信号プロセッサ524を含むシステム522を含む。ディスプレイコントローラ526は、デジタル信号プロセッサ524及びディスプレイ528に接続されている。更に、入力デバイス530は、デジタル信号プロセッサ524に接続されている。図示するように、メモリ532は、デジタル信号プロセッサ524に接続されている。加えて、符号器/復号器(CODEC)534が、デジタル信号プロセッサ524に接続されることができる。スピーカ536及びマイクロホン538は、CODEC530に接続されている。デジタル信号プロセッサ524は、図4乃至6で提供された任意のタイプの例であるViterbiパック命令550を実行できるハードウェア又はファームウェアを含むか、又はソフトウェアを実行することができる。もしViterbiパック命令550がソフトウェア形式であれば、ソフトウェアは代わりにメモリ532内に格納され、単にデジタル信号プロセッサ524で実行されることができる。
図7はまた、無線コントローラ540が、デジタル信号プロセッサ524及び無線アンテナ542に接続されうることも示す。特定の実施形態において、システム522に、電源544が接続されている。ディスプレイ528、入力デバイス530、スピーカ536、マイクロホン538、無線アンテナ542、及び電源544は、システム522に外付けでありうる。しかし、各々はシステム522の構成要素に接続されている。
当業者は更に、本明細書に開示された実施形態に関連して記載された、実例となる様々な論理ブロック、構成、モジュール、回路、及びアルゴリズムステップが、ハードウェア、ファームウェア、ソフトウェア、又はこれらの組み合わせとして実現されうることをよく理解するであろう。当業者は、各特定のアプリケーションのために上述した機能を様々な方法で実装することができるが、このような実現の決定は、本開示の範囲から逸脱させるものとして解釈されてはならない。
本明細書で開示された実施形態に関連して記述された方法やアルゴリズムのステップは、ハードウェアによって直接的に、ファームウェアによって、プロセッサによって実行されるソフトウェアモジュールによって、又は、これらの組み合わせによって具現化される。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、PROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD−ROM、あるいは当該技術で知られているその他の形式の記憶媒体に収納されうる。典型的な記憶媒体は、プロセッサがそこから情報を読み取り、またそこに情報を書き込むことができるようにプロセッサに結合されうる。プロセッサ及び記憶媒体は、ASIC内に存在することができる。ASICは、計算デバイス又はユーザ端末内に存在することができる。あるいはプロセッサ及び記憶媒体は、計算デバイス又はユーザ端末内のディスクリート部品として存在することができる。
開示された実施形態における上記記載は、当業者をして、本開示の製造又は利用を可能とするために提供される。これらの実施形態への様々な変形例もまた、当業者に対しては明らかであって、本明細書で定義された一般原理は、本開示の主旨又は範囲から逸脱することなくその他の実施形態にも適用されうる。従って、本開示は、本明細書に開示された実施形態に限定することは意図されておらず、請求項によって定義されたような原理及び新規特徴と整合が取れた最も広い範囲と一致するように意図されている。
図1は、Viterbiアルゴリズムに関する典型的な状態図である。 図2は、図1の状態図に基づくベクトル図である。 図3は、ベクトル比較命令を示す機能図である。 図4は、Viterbiパック命令を示す機能図である。 図5は、Viterbiパック命令の方法を示すフローチャートである。 図6は、Viterbiパック命令回路を示す論理図である。 図7は、図4乃至6の任意のViterbiパック命令を組み込む無線通信デバイスの図である。

Claims (24)

  1. Viterbiパック方法であって、
    第1のマスクされたデータを生成するために、第1のマスキング値を用いて第1のプレディケートレジスタのコンテンツをマスクし、第2のマスクされたデータを生成するために、第2のマスキング値を用いて第2のプレディケートレジスタのコンテンツをマスクすることと、
    前記第1のマスクされたデータと前記第2のマスクされたデータとを目的レジスタ内へ書き込むことと
    を備える方法。
  2. 前記第1のマスクされたデータは、前記第1のプレディケートレジスタのコンテンツの偶数ビットと、前記第2のプレディケートレジスタのコンテンツの奇数ビットとを備える請求項1に記載のViterbiパック方法。
  3. 前記書き込むことの前に、前記第1のマスクされたデータと前記第2のマスクされたデータとの論理和をとることを更に備える請求項1に記載のViterbiパック方法。
  4. 前記第1のプレディケートレジスタのコンテンツをマスクすることは、前記第1のプレディケートレジスタのコンテンツと前記第1のマスキング値との論理積をとることを備え、前記第2のプレディケートレジスタのコンテンツをマスクすることは、前記第2のプレディケートレジスタのコンテンツと前記第2のマスキング値との論理積をとることを備える請求項1に記載のViterbiパック方法。
  5. 前記第1のマスキング値は16進法の55を備え、前記第2のマスキング値は16進法のAAを備える請求項4に記載のViterbiパック方法。
  6. ビットワイズ方式で動作する請求項1に記載のViterbiパック方法。
  7. Viterbiパック回路を有するデバイスであって、前記Viterbiパック回路が、
    第1のプレディケートレジスタと、
    第2のプレディケートレジスタと、
    目的レジスタと、
    少なくとも1つのメモリと、
    前記第1のプレディケートレジスタに接続された第1の入力と、前記少なくとも1つのメモリに接続された第2の入力と、出力とを有する第1のANDゲートと、
    前記第2のプレディケートレジスタに接続された第1の入力と、前記少なくとも1つのメモリに接続された第2の入力と、出力とを有する第2のANDゲートと、
    前記第1のANDゲートの出力に接続された第1の入力と、前記第2のANDゲートの出力に接続された第2の入力と、前記目的レジスタに接続された出力とを有するORゲートと
    を備えるデバイス。
  8. 前記少なくとも1つのメモリが、第1のマスキング値と第2のマスキング値とを格納する請求項7に記載のデバイス。
  9. 前記第1のマスキング値は16進法の55を備え、前記第2のマスキング値は16進法のAAを備える請求項8に記載のデバイス。
  10. デジタル信号プロセッサを更に備える請求項7に記載のデバイス。
  11. 無線通信デバイスを更に備える請求項7に記載のデバイス。
  12. Viterbiパックを実行するように構成されたデバイスであって、
    第1のマスクされたデータを生成するために、第1のマスキング値を用いて第1のプレディケートレジスタのコンテンツをマスクし、第2のマスクされたデータを生成するために、第2のマスキング値を用いて第2のプレディケートレジスタのコンテンツをマスクする手段と、
    前記第1のマスクされたデータと前記第2のマスクされたデータとを目的レジスタ内へ書き込む手段と
    を備えるデバイス。
  13. 前記第1のマスクされたデータは、前記第1のプレディケートレジスタのコンテンツの偶数ビットと、前記第2のプレディケートレジスタのコンテンツの奇数ビットとを備える請求項12に記載のデバイス。
  14. 前記第1のマスクされたデータと前記第2のマスクされたデータとの論理和をとる手段を更に備える請求項12に記載のデバイス。
  15. 前記第1のプレディケートレジスタのコンテンツと前記第1のマスキング値との論理積をとる手段と、
    前記第2のプレディケートレジスタのコンテンツと前記第2のマスキング値との論理積をとる手段と
    を更に備える請求項12に記載のデバイス。
  16. 前記第1のマスキング値は16進法の55を備え、前記第2のマスキング値は16進法のAAを備える請求項15に記載のデバイス。
  17. デジタル信号プロセッサを更に備える請求項12に記載のデバイス。
  18. 無線通信デバイスを更に備える請求項12に記載のデバイス。
  19. Viterbiパック方法の各ステップを実行するために機械によって実行可能な命令のプログラムを組み込んだ、前記機械によって読取可能なプログラム記憶媒体であって、前記方法は、
    第1のマスクされたデータを生成するために、第1のマスキング値を用いて第1のプレディケートレジスタのコンテンツをマスクし、第2のマスクされたデータを生成するために、第2のマスキング値を用いて第2のプレディケートレジスタのコンテンツをマスクすることと、
    前記第1のマスクされたデータと前記第2のマスクされたデータとを目的レジスタ内へ書き込むことと
    を備えるプログラム記憶媒体。
  20. 前記第1のマスクされたデータは、前記第1のプレディケートレジスタのコンテンツの偶数ビットと、前記第2のプレディケートレジスタのコンテンツの奇数ビットとを備える請求項19に記載のプログラム記憶媒体。
  21. 前記方法は、前記書き込むことの前に、前記第1のマスクされたデータと前記第2のマスクされたデータとの論理和をとることを更に備える請求項19に記載のプログラム記憶媒体。
  22. 前記第1のプレディケートレジスタのコンテンツをマスクすることは、前記第1のプレディケートレジスタのコンテンツと前記第1のマスキング値との論理積をとることを備え、前記第2のプレディケートレジスタのコンテンツをマスクすることは、前記第2のプレディケートレジスタのコンテンツと前記第2のマスキング値との論理積をとることを備える請求項19に記載のプログラム記憶媒体。
  23. 前記第1のマスキング値は16進法の55を備え、前記第2のマスキング値は16進法のAAを備える請求項22に記載のプログラム記憶媒体。
  24. 前記方法がビットワイズ方式で動作する請求項19に記載のプログラム記憶媒体。
JP2009503182A 2006-03-23 2007-03-23 Viterbiパック命令 Expired - Fee Related JP5180186B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/389,443 US8290095B2 (en) 2006-03-23 2006-03-23 Viterbi pack instruction
US11/389,443 2006-03-23
PCT/US2007/064816 WO2007109793A2 (en) 2006-03-23 2007-03-23 Viterbi pack instruction

Publications (2)

Publication Number Publication Date
JP2009531987A true JP2009531987A (ja) 2009-09-03
JP5180186B2 JP5180186B2 (ja) 2013-04-10

Family

ID=38523331

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009503182A Expired - Fee Related JP5180186B2 (ja) 2006-03-23 2007-03-23 Viterbiパック命令

Country Status (11)

Country Link
US (1) US8290095B2 (ja)
EP (1) EP1997229A2 (ja)
JP (1) JP5180186B2 (ja)
KR (3) KR101585492B1 (ja)
CN (1) CN101405945B (ja)
BR (1) BRPI0708809A2 (ja)
CA (1) CA2643940A1 (ja)
IN (1) IN266883B (ja)
MX (1) MX2008011985A (ja)
RU (1) RU2008141908A (ja)
WO (1) WO2007109793A2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9354877B2 (en) * 2011-12-23 2016-05-31 Intel Corporation Systems, apparatuses, and methods for performing mask bit compression
US9367309B2 (en) 2013-09-24 2016-06-14 Apple Inc. Predicate attribute tracker
US9390058B2 (en) * 2013-09-24 2016-07-12 Apple Inc. Dynamic attribute inference
US9552205B2 (en) * 2013-09-27 2017-01-24 Intel Corporation Vector indexed memory access plus arithmetic and/or logical operation processors, methods, systems, and instructions
US11681531B2 (en) 2015-09-19 2023-06-20 Microsoft Technology Licensing, Llc Generation and use of memory access instruction order encodings
US10180840B2 (en) * 2015-09-19 2019-01-15 Microsoft Technology Licensing, Llc Dynamic generation of null instructions
US10198263B2 (en) 2015-09-19 2019-02-05 Microsoft Technology Licensing, Llc Write nullification
US10061584B2 (en) 2015-09-19 2018-08-28 Microsoft Technology Licensing, Llc Store nullification in the target field
US10031756B2 (en) 2015-09-19 2018-07-24 Microsoft Technology Licensing, Llc Multi-nullification

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4012722A (en) * 1975-09-20 1977-03-15 Burroughs Corporation High speed modular mask generator
JP2002521907A (ja) * 1998-07-22 2002-07-16 テレフオンアクチーボラゲット エル エム エリクソン(パブル) ビタビ復号器のための高速メトリック計算

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4128880A (en) * 1976-06-30 1978-12-05 Cray Research, Inc. Computer vector register processing
US5752001A (en) * 1995-06-01 1998-05-12 Intel Corporation Method and apparatus employing Viterbi scoring using SIMD instructions for data recognition
US5621674A (en) 1996-02-15 1997-04-15 Intel Corporation Computer implemented method for compressing 24 bit pixels to 16 bit pixels
US6782035B1 (en) 1997-04-17 2004-08-24 Ntt Docomo Inc. Base station apparatus of mobile communication system
US6798736B1 (en) 1998-09-22 2004-09-28 Qualcomm Incorporated Method and apparatus for transmitting and receiving variable rate data
US20020002666A1 (en) * 1998-10-12 2002-01-03 Carole Dulong Conditional operand selection using mask operations
US6115808A (en) * 1998-12-30 2000-09-05 Intel Corporation Method and apparatus for performing predicate hazard detection
US6333954B1 (en) * 1999-10-21 2001-12-25 Qualcomm Incorporated High-speed ACS for Viterbi decoder implementations
US6654878B1 (en) 2000-09-07 2003-11-25 International Business Machines Corporation Register bit scanning
GB2367650B (en) 2000-10-04 2004-10-27 Advanced Risc Mach Ltd Single instruction multiple data processing
US20040054877A1 (en) 2001-10-29 2004-03-18 Macy William W. Method and apparatus for shuffling data
US6826663B2 (en) * 2003-01-13 2004-11-30 Rambus Inc. Coded write masking
KR20040085545A (ko) 2003-03-31 2004-10-08 삼성전자주식회사 통신 시스템에서 오류 정정 부호의 복호 장치 및 방법
US20050149701A1 (en) * 2003-12-24 2005-07-07 Inching Chen Method, apparatus and system for pair-wise minimum and minimum mask instructions

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4012722A (en) * 1975-09-20 1977-03-15 Burroughs Corporation High speed modular mask generator
JP2002521907A (ja) * 1998-07-22 2002-07-16 テレフオンアクチーボラゲット エル エム エリクソン(パブル) ビタビ復号器のための高速メトリック計算

Also Published As

Publication number Publication date
US20070223629A1 (en) 2007-09-27
IN266883B (ja) 2015-06-11
JP5180186B2 (ja) 2013-04-10
CN101405945A (zh) 2009-04-08
KR20150038630A (ko) 2015-04-08
US8290095B2 (en) 2012-10-16
WO2007109793A3 (en) 2007-12-27
CN101405945B (zh) 2013-03-27
KR20120116500A (ko) 2012-10-22
CA2643940A1 (en) 2007-09-27
EP1997229A2 (en) 2008-12-03
KR101585492B1 (ko) 2016-01-22
MX2008011985A (es) 2008-10-03
RU2008141908A (ru) 2010-04-27
BRPI0708809A2 (pt) 2011-06-14
WO2007109793A2 (en) 2007-09-27
KR20080112311A (ko) 2008-12-24

Similar Documents

Publication Publication Date Title
JP5180186B2 (ja) Viterbiパック命令
US8732548B2 (en) Instruction-set architecture for programmable cyclic redundancy check (CRC) computations
JP5318873B2 (ja) マルチステージデータ処理パイプラインにおける命令実行システム及び方法
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
EP3475823B1 (en) Parity for instruction packets
JP2011503758A (ja) テーブル内のエレメントのアドレスを決定するシステムおよび方法
KR101746681B1 (ko) 가산-비교-선택 명령
US8401126B2 (en) Viterbi decoding apparatus
JP2009516254A (ja) 命令を実行するための処理システムおよび方法
US9678754B2 (en) System and method of processing hierarchical very long instruction packets
US7171609B2 (en) Processor and method for convolutional decoding
US7454601B2 (en) N-wide add-compare-select instruction
JP2002217747A (ja) ビタビ復号処理装置
JP2011135163A (ja) 復号方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110726

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120417

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120717

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120724

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120815

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121211

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130110

R150 Certificate of patent or registration of utility model

Ref document number: 5180186

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees