JP3106060B2 - 信号プロセッサ - Google Patents
信号プロセッサInfo
- Publication number
- JP3106060B2 JP3106060B2 JP06155835A JP15583594A JP3106060B2 JP 3106060 B2 JP3106060 B2 JP 3106060B2 JP 06155835 A JP06155835 A JP 06155835A JP 15583594 A JP15583594 A JP 15583594A JP 3106060 B2 JP3106060 B2 JP 3106060B2
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- memory
- data
- address
- context register
- 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.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 claims description 61
- 238000012545 processing Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 4
- 230000001419 dependent effect Effects 0.000 claims 3
- 238000010586 diagram Methods 0.000 description 16
- 238000000034 method Methods 0.000 description 7
- 239000002699 waste material Substances 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000005476 size effect Effects 0.000 description 1
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
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30025—Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
-
- 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/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- 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/30181—Instruction operation extension or modification
-
- 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/30181—Instruction operation extension or modification
- G06F9/30192—Instruction operation extension or modification according to data descriptor, e.g. dynamic data typing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Executing Machine-Instructions (AREA)
- Memory System (AREA)
Description
長さを不当に長くすることなく、コンピュータ動作の柔
軟性を与えることが所望される場合にはどんなときでも
使用され得る。この発明はRISC CPUに特別の適
用性を有する。RISC CPUは固定された命令サイ
ズおよび制限された数の命令フォーマットを有し、その
ためこの発明が適用されなければ命令の機能性がより制
限されるであろう。この発明は分離され別々にされると
全く従来のものである構成要素から製造可能であるし、
従来のものではない類似物からも製造可能である。
アクセス機構に関し、特に、機構を起動する命令語を長
くすることなくその作業を行なう機構に関する。
中をどの様に進んでいくかを知っておく必要がある。た
とえばすべてのアドレスを使用したり、アドレスの一部
のみを使用して連結したり、ある条件下である数のアド
レスをスキップしたり、などである。CPUはまたそれ
が扱っている数の型、つまり符号付き、符号なし、固定
小数点、浮動小数点などを知る必要もある。これらの必
要な情報は、メモリが処理されているコンテキストと呼
ばれている。非常に長い行のソフトウェアが許容される
のであれば、コンテキストはラインごとに新たに指定す
ることができ、大きな柔軟性を与える。コンテキストの
変更に厳しい制限が課せられれば、ソフトウェアコード
行は非常に短くされ、動作は非常に単純になる。これら
を両方実現することはいままで可能ではなかった。
を与えることである。この目的は制限された数のコンテ
キストレジスタを与えることによって達成され、各コン
テキストレジスタの多量の内容はCPUから分離した2
つのハードウェア、つまりアドレス発生器およびデータ
型変換器を構成する。CPUはその発生器および変換器
を介して間接的にメモリを駆動する。コンテキストを変
更するには新しいコンテキストレジスタを指定しさえす
ればよく、その内容はずっと以前に、プログラムの開始
時に指定されていてもよい。「プログラム」という言葉
は、本明細書でも用いられているとおり、「サブプログ
ラム」を含む。数はコンテキストレジスタに1回だけロ
ードされればよく、その後何回も使用され得る。
れるなら、そのデータエレメントの長さはコンテキスト
レジスタ内に含まれ得る。
レメント長ごとに1つのグループとなる。これらのグル
ープはエレメント長の昇順で配列される。より大きなエ
レメント長を有するグループの個々のエレメントを特定
するインデックスは0(または1)で始まってはならな
い。その代わりに、使用される最も低いインデックス
は、より下位のインデックス付きエレメントで占有され
たであろうメモリ空間が、より小さいエレメント長のグ
ループによって代わりに占有され得るのに十分な程に大
きくなければならない。
は命令メモリ12から命令を受取る。CPU10はID
バス14を介してコンテキストIDを送り、それにより
コンテキストレジスタ16を選択する。CR1からCR
Nとして示されるN個のコンテキストレジスタ16が
ある。Nは比較的小さな数、恐らく僅か16である。I
Dバス14はしたがってかなり狭くてもよく、恐らく僅
か4ビット幅であってもよい。このように狭いことはI
Dバス14の下部のNARという表現により示されてい
る。
よりかなり広く、恐らく80ビットを含む。選択された
コンテキストレジスタ16からの80ビットすべてはコ
ンテキストバス18に読出される。このバス18は少な
くともレジスタ16と同じビット幅でなければならな
い。このようにバス18が広いことはその下部のBRD
という表現によって示されている。コンテキストレジス
タはROMに埋込むことによって永久的にロードされ得
るが、各プログラムの始めにロードすることによってそ
の内容をカスタマイズすることが好ましい。ループの始
めにレジスタをロードすることは特に効率的である。た
とえば有限インパルス応答フィルタにそのようにロード
することにより、その内部ループはループ当りより少な
い命令で実行され得る。
0およびデータ型変換器22を駆動する。アドレス発生
器20は、選択されたコンテキストレジスタ16の内容
によって適切に構成されたものであり、恐らくは僅か3
ビット幅の狭い(NAR)パラメータをCPU10から
パラメータ線24上で受取り、アドレス線26上で広い
(BRD)アドレスすべてをメモリ28に送る。たとえ
ば、アドレス発生器20はアクセスされた最後のアドレ
スを保持してもよい。1のパラメータは「最後のアドレ
スを増分するな」を示し、2のパラメータは「最後のア
ドレスをコンテキストレジスタのビット20−27に示
される量だけ増分せよ」を示し、さらに3のパラメータ
は「最後のアドレスをコンテキストレジスタのビット3
5−49に示された量だけ増分せよ」を示し得る。4か
ら7のパラメータはそれぞれ「1増分せよ」、「2増分
せよ」、「1減分せよ」、「2減分せよ」を示し得る。
各パラメータの意味は選択されたコンテキストレジスタ
16の内容によって決定される。
10がCPUデータ線30上でデータをリクエストまた
は生成するとき、CPUがそれを行なうCPUフォーマ
ットは、メモリ28によって使用されたフォーマットと
同じであってもよいし同じでなくてもよい。データ型変
換器22はしたがってCPU10とメモリ28との間に
置かれ、それらをCPUデータ線30およびメモリデー
タ線32によって接続する。データ線30および32は
どちらもかなり広い。(たとえば)符号付きの数を符号
なしの数に変換することによっても、実質的なデータ圧
縮は結局全く行なわれない。幾つかの状況では、データ
型変換器22はまたデータ圧縮器/伸長器として作用し
てもよく、それはたとえばCPU10は2進数で動作す
るが、メモリ28は2進化10進数で動作する場合、ま
たはCPU10は32ビット語で動作する一方で、デー
タは8ビットバイトとしてメモリ28にストアされてい
る場合などである。
る行はその最初の2、3のビット36に含まれるオペレ
ーションコードで始まる。このオペコードは通常ほんの
2、3ビットしか要求しない。その理由はオペコードは
通常「第1のソースオペランドを第2のソースオペラン
ドに加算して宛先オペランドを作成せよ」という程度の
オーダの複雑さしか有さないからである。第1のオペラ
ンドはIDバス14上に置かれるべきコンテキストID
を有し、このIDは行34の第2のフィールド38に含
まれる。このIDは上に記されたように、2、3ビット
幅しかない。
は第3のフィールド40に含まれる。これもまた2、3
ビットしかとらない。第4から第7のフィールド42−
48も同様に第2のソースオペランドおよび宛先オペラ
ンドのためのコンテキストIDおよびアドレスパラメー
タを指定するのに必要とされる少数のビットを含む。こ
のように、指定された情報をハードウェアにストアする
という方策によって、ソフトウェアの1本の短い行34
に非常に多くの量の情報が指定され得る。さらに、この
ハードウェアは各行で新しいコンテキストレジスタを指
定するという方策によって、ソフトウェア内の1行ごと
に変えることもできる。
ら修正を伴うことなく新しいプログラムで再使用できる
ことであり、これはたとえその新しいプログラムが全く
違っているときも、それが全く別の機械で実行されると
きも、アクセスされるべき次のメモリアドレスを選択す
るための全く異なった組のオフセットを持っていると
き、CPUが全く異なったフォーマットになっている数
字を処理する場合でも、メモリが全く異なったフォーマ
ットで数字を処理するときも、さらにはコンテキストレ
ジスタが全く異なった長さであるときも再使用可能であ
る。これらはすべて新しいプログラムの始めに正しい数
をコンテキストレジスタ16にロードすることによって
処理される。代わりに、数はプログラム内にロードされ
てもよいが、サブルーチンが呼出される前にロードされ
なければならない。どちらにしても、ロードは移植され
たコードのブロックに遭遇するよりずっと前に行なわれ
る。
則は古くからある問題を解決するために有効に適用され
得る。つまり我々はどのようにして任意に大きなサイズ
の可変長パック形式データにアドレスするかという問題
である。データのエレメントの長さ(または少なくとも
データエレメントの長さを示すインデックス)がコンテ
キストレジスタに含まれてもよい。これはデータエレメ
ントの長さが2の整数乗である場合には比較的単純であ
る。2の整数乗でない場合にはより複雑な構造を必要と
する。
乗ではない所望されたエレメント長として入力され得
る。しかしながら、このデータがストアされるべきメモ
リは2の整数乗のエレメント長を要求するかもしれな
い。これはべきが僅か2または3ビットでメモリに与え
られ得るという望ましい特徴を有する。これはまたメモ
リの多くが無駄にされるかもしれないという望ましくな
い特徴をも有する。この無駄は図3の先頭行に示される
ように必要ではないが、一般的なものであり、図3の一
番下の行に示されるように、50%に接近し得る。(す
べての無駄を表わすパーセント数字は理解を明瞭にする
ために整数パーセントに切り捨てられたものである)。
も部分的に軽減され得るかを示す。図4は乗算テーブル
であるが、先頭行には奇数しか示されず、左の列には2
の整数乗しか示されていない。線50は区分け線であ
り、左の列から所望される数を選択するために2ビット
しか必要とされないように引かれたものである。
け線50に屈曲部を入れ)、人がある頁を読むときのよ
うに上から下へ、左から右へ、読んだときに数字が大き
くなっていくように図4を書き直したものである。
れたエレメント長として図5の数字が利用可能な場合、
つまりメモリが2の整数乗であるエレメント長に制限さ
れない場合に得られる無駄の低減を示す。この無駄の低
減はエレメント長を指定するのに必要とされるビットの
数を増やすことなく達成される。図3では、左の列は5
つの要素を有し、所望される要素を指定するのに3ビッ
ト必要とする。図4および図5では、奇数を指定するた
めには1ビットしか必要とされず、2のべきを指定する
ためには2ビットしか必要とされない。
るものであるが、3×3の乗算テーブルを示す。図8で
は2つの屈曲部が区分け線52に現われているが、これ
は重要ではない。重要なのは奇数を指定するために必要
とされるビットの数が2倍になっているのに、利用可能
なエレメント長の数は8分の1しか増えていないことで
ある。
ブルに拡大したものである。図10は図9を書き直した
ものであり、必要に応じて列の順序を変え、区分け線5
4に逆の屈曲部を入れている。図8におけるように、区
分け線の形は重要ではない。重要なのは奇数を指定する
ために1つのビットを追加した代償として、利用可能な
エレメント長の数が2倍になったことである。図11は
メモリの無駄が応じて大幅に減ったことを示す。
れ得るかを示す。所望される奇数は第3の列に現われ、
それをコード化するインデックスXは第2の列に現われ
ている。インデックスXのための2進コードは第1の列
に現われ、奇数のための2進コードは第4の列に現われ
ている。
でコード化され、対応する2のべきもまた示される。
法の機構をブロック図で示す。インデックスX56は第
1のバレルシフタ58に送られ、このバレルシフタはイ
ンデックスX56を1つ左にシフトし最下位ビットが1
となるように結線されている。第2のバレルシフタ60
がSHコード62とともに第1のバレルシフタ58の出
力を受取り、その出力を左にSHビットだけバレルシフ
トし、それによってエレメント長64を発生する。
るために必要とされる4つのビットは選択されたコンテ
キストレジスタ16内に含まれる。アドレス発生器20
は図14の装置を含む。パラメータ線24上でCPU1
0からアドレス発生器20に与えられるパラメータは、
コンテキストレジスタ16に含まれるオフセットを選択
する。アドレス発生器20はこのオフセットにエレメン
ト長を掛け、メモリ28のアドレス当りのビットの数で
割り、その量だけアドレスを増分し、さらにこのアドレ
スをメモリ28に与える。
データ型変換器22は不必要なビットを取除き、所望さ
れるビットをCPU10に与える。もしエレメントがア
ドレス境界を越えれば、またはアドレス長より長けれ
ば、データ型変換器は必要な数の連続するアドレスで発
見されたデータを連結し、不必要なビットを取除き、再
び所望されるビットをCPUに与える。
クト指向プログラミング技術のサブセットであることが
このようにわかる。エレメント方式のアドレシングによ
りアセンブリ言語プログラマは処理するべき基本エレメ
ント(これが名前の由来である)としてデータのアレイ
にアクセスすることができる。アセンブリ言語プログラ
マは、データがメモリに特定のある長さを有するものと
してアクセスし、それからそのデータを操作してエレメ
ントとする必要はない。これにより何ら性能的なペナル
ティを課すことなく認識に関する負荷を低減する。実
際、性能はかえって高められるのである。すなわち無加
工のメモリデータをエレメントに変換するために必要な
操作をオンザフライで実行可能である。
タはメモリに効率的にストアされ得る。コードは再使用
可能である。つまり、同じ命令またはルーチンが異なる
長さのデータを処理できる。エレメント方式アドレシン
グはCPUアーキテクチャに組込まれ得る。エレメント
方式アドレシングは効率的にコード化される。これは完
全な浮動小数点ハードウェアで要求されるものよりも少
ないシフトおよび加算を使用する浮動小数点アドレシン
グスキームである。エレメント方式アドレシングハード
ウェアを与えるコストは、メモリ要求が低くなることに
よって生じるコスト削減とバランスがとれなくてはなら
ない。しかしながら、メモリが豊富で安価な場合でさ
え、エレメント方式のアドレシングの他の利点によりそ
れを使用することになるかもしれない。
は、比較的大きなメモリが比較的少数のビットを有する
アドレスを使用して完全にアクセスできるということで
ある。たとえばギガバイトサイズのメモリは、もしその
メモリ内のすべてのバイトが別個にアクセスされるとす
れば30ビットのアドレシングを必要とする。データが
ギガバイト領域のメモリから読出される、またはそれに
書込まれる場合には、データはキロバイトまたはそれよ
り大きいサイズさえ有するエレメントで読出しまたは書
込みが行なわれさえすればよい。
つことができる。メモリはギガバイトのメモリと見られ
る代わりに、より好便にメガエレメントメモリとして見
られる。このように、各バイトをアドレシングする代わ
りに、各データエレメントをアドレスするだけの方が都
合がよい。このメモリのすべてのエレメントがキロバイ
トのサイズであれば、20ビットのアドレシング(メガ
バイトサイズのメモリに典型的である)で十分である。
もしエレメントの多くがキロバイトより小さいサイズを
有するなら、20ビットより多少多いアドレシング(し
かし30ビットよりは実質的に少ない)が必要とされ
る。一方、キロバイト以下のエレメントのアドレスサイ
ズ効果より、キロバイト以上のサイズを有するエレメン
トの効果の方がずっと大きい。これによりアドレスで必
要とされるビットの数は一定のままか、または少なくな
ることさえある。最大サイズが最小サイズよりかなり大
きい場合でさえ、非常に多くのサイズのエレメントが単
一のメモリ内に収容され得ることはこの発明の重要な特
徴である。メモリが大きくなればなるほど、エレメント
方式アドレシングの利点は大きくなる。
未使用グループアドレシングとして都合よく説明され得
るデータ構造を開発した。未使用グループアドレシング
を使用してどんなメモリでも構造化され得るが、未使用
グループ構造化メモリはコンテキストとともに使用され
た場合非常に有効である。
ントを連続してまとめると好都合である。この場合その
グループ内の最下位データエレメントの最下位ビットの
物理アドレスがベースアドレスとなり、そこからグルー
プの各データエレメントの物理アドレスが決定され得
る。
各グループのベースアドレスのためにコンテキストレジ
スタ内にスペースを確保することを要求し、さらに物理
アドレスを得るために、発生されたアドレスをベースア
ドレスに加算する余分のステップを必要とする。このオ
ーバヘッドは未使用グループアドレシングによって排除
され得る。
5に示されるように、グループ1はA個のエレメントを
有し、各々の長さはLであり、グループ2はB個のエレ
メントを有し、各々の長さはMである。先頭のA×Lビ
ットはグループ1のため未使用である。もしこれがたま
たまMの整数倍であれば、それでよい。もし整数倍でな
ければ、第1のI×Mのエレメントをグループ1のため
に未使用とする。そこではIは整数であり、I×MはA
×Lより大きくそれに最も近いMの整数倍である。
クスを付ける際には、第1のIのエレメント、つまり0
からI−1のインデックスを有するエレメントを使用し
てはいけない。これらのインデックスはグループ1のた
めに未使用のままにしておく。代わりに、Iから始め
て、IからI+B−1までのインデックスを使用する。
これにより最も大きなインデックスを指定するために必
要とされるビットの数は増えるかもしれないが、この増
大は一般に最少限のものであり、全く発生しないかもし
れない。さらに、この僅かな欠点はオフセットアドレシ
ングによって課せられる欠点より通常小さなものであ
る。
トを有する第3のグループがあり、各々の長さはNであ
ると仮定する。第1の(I+B)×Mビットはグループ
2(グループ1を含む)のために未使用のままである。
Jが、J×Nが(I+B)×Mに等しいか、またはそれ
より大きくてかつそれに最も近いNの整数倍になる整数
であるとする。グループ3のデータエレメントにインデ
ックスを付ける際に、先頭のJ個のエレメント、つまり
0からJ−1のインデックスを有するエレメントを使用
してはいけない。代わりにJから始め、JからJ+C−
1までのインデックスを使用する。このプロセスは無限
に継続され得る。
してきたが、この発明の真の精神および範囲はそれに制
限されるものではなく、前掲の特許請求の範囲によって
のみ制限される。
ブロック図である。
どのくらいメモリが無駄にされるかを示すテーブルであ
る。
乗算テーブルを示す図である。
図である。
減を示す図である。
を使用する図である。
を使用する図である。
を使用する図である。
ルを使用する図である。
ルを使用する図である。
示す図である。
示す図である。
機械化のブロック図である。
プの先頭のデータエレメントのインデックスを付ける方
法を示す模式図である。
プの先頭のデータエレメントのインデックスを付ける方
法を示す模式図である。
Claims (4)
- 【請求項1】 (a) 中央処理装置(CPU)と、 (b) 前記CPUに接続された複数個のコンテキスト
レジスタとを含む信号プロセッサであって、前記コンテ
キストレジスタは、要求される各オペランドに対して、
いつでも、一度には正確に1つのコンテキストレジスタ
が前記CPUによって選択されるように接続されてお
り、さらに、 (c) メモリと、 (d) 前記CPUによって与えられたパラメータに応
答してアドレスを発生し、それを前記メモリに与えるた
めの、前記選択されたコンテキストレジスタの内容によ
って設定されるアドレス発生器とを含み、前記アドレス
は前記パラメータおよび前記選択されたコンテキストレ
ジスタの内容の両方に依存し、さらに、 (e) 前記選択されたコンテキストレジスタに接続さ
れるデータ型変換器を含み、前記変換器は前記選択され
たコンテキストレジスタの内容により設定され、データ
をCPUフォーマットとメモリフォーマットとの間で変
換し、前記変換器はデータをCPUへおよびCPUから
CPUフォーマットでのみ与えるように前記CPUに接
続され、さらにデータをメモリへおよびメモリからメモ
リフォーマットでのみ与えるように前記メモリに接続さ
れる、信号プロセッサ。 - 【請求項2】 (a) 中央処理装置(CPU)と、 (b) 前記CPUに接続された複数個のコンテキスト
レジスタとを含む信号プロセッサであって、前記コンテ
キストレジスタは、要求される各オペランドに対して、
いつでも、一度には正確に1つのコンテキストレジスタ
が前記CPUによって選択されるように接続されてお
り、さらに、 (c) メモリと、 (d) 前記CPUによって与えられたパラメータに応
答してアドレスを発生し、それを前記メモリに与えるた
めの、前記選択されたコンテキストレジスタの内容によ
って設定されるアドレス発生器とを含み、前記アドレス
は前記パラメータおよび前記選択されたコンテキストレ
ジスタの内容の両方に依存し、前記アドレス発生器は (1) 第1のフィールドおよび第2のフィールドを有
するコンテキストを受取るための手段を含み、前記第1
のフィールドは選択された奇数を示し、前記第2のフィ
ールドは選択された2のべきを示し、さらに (2) 前記奇数と前記2のべきとの積を生じるための
手段を含み、前記信号プロセッサはさらに、 (e) 前記選択されたコンテキストレジスタに接続さ
れるデータ型変換器を含み、前記変換器は前記選択され
たコンテキストレジスタの内容により設定され、データ
をCPUフォーマットとメモリフォーマットとの間で変
換し、前記変換器はデータをCPUへおよびCPUから
CPUフォーマットでのみ与えるように前記CPUに接
続され、さらにデータをメモリへおよびメモリからメモ
リフォーマットでのみ与えるように前記メモリに接続さ
れる、信号プロセッサ。 - 【請求項3】 前記奇数と前記2のべきとの積を生じる
ための前記手段は (a) 前記奇数のためのインデックスを1ビット左に
バレルシフトするように構成され、かつ最下位ビットを
1に結線するための手段を含み、それによって前記奇数
を発生する第1のバレルシフタと、さらに (b) 2のべきのためのインデックスによって示され
るのと同じ数のビットだけ前記奇数を左にバレルシフト
するように構成される第2のバレルシフタとを含む、請
求項2に記載の信号プロセッサ。 - 【請求項4】 (a) 中央処理装置(CPU)と、 (b) 前記CPUに接続された複数個のコンテキスト
レジスタとを含む信号プロセッサであって、前記コンテ
キストレジスタは、要求される各オペランドに対して、
いつでも、一度には正確に1つのコンテキストレジスタ
が前記CPUによって選択されるように接続されてお
り、さらに、 (c) メモリと、 (d) 前記CPUによって与えられたパラメータに応
答してアドレスを発生し、それを前記メモリに与えるた
めの、前記選択されたコンテキストレジスタの内容によ
って設定されるアドレス発生器とを含み、前記アドレス
は前記パラメータおよび前記選択されたコンテキストレ
ジスタの内容の両方に依存し、前記アドレス発生器は前
記選択されたコンテキストレジスタの内容によって設定
され、データエレメントアドレスを発生し、それをメモ
リに与え、このデータエレメントアドレスは、アドレス
されたデータエレメントの長さより短い長さを有するす
べてのデータエレメントが、アドレスされたデータエレ
メントの長さに等しい長さを有するデータエレメントに
よって使用されるうち最も小さいインデックスよりも小
さいインデックスによって決定されるメモリ場所にある
ことを可能にするように選択され、さらに、 (e) 前記選択されたコンテキストレジスタに接続さ
れるデータ型変換器を含み、前記変換器は前記選択され
たコンテキストレジスタの内容により設定され、データ
をCPUフォーマットとメモリフォーマットとの間で変
換し、前記変換器はデータをCPUへおよびCPUから
CPUフォーマットでのみ与えるように前記CPUに接
続され、さらにデータをメモリへおよびメモリからメモ
リフォーマットでのみ与えるように前記メモリに接続さ
れる、信号プロセッサ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/095,550 US5479626A (en) | 1993-07-26 | 1993-07-26 | Signal processor contexts with elemental and reserved group addressing |
US095550 | 1993-07-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0778080A JPH0778080A (ja) | 1995-03-20 |
JP3106060B2 true JP3106060B2 (ja) | 2000-11-06 |
Family
ID=22252529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP06155835A Expired - Fee Related JP3106060B2 (ja) | 1993-07-26 | 1994-07-07 | 信号プロセッサ |
Country Status (2)
Country | Link |
---|---|
US (1) | US5479626A (ja) |
JP (1) | JP3106060B2 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5659750A (en) * | 1995-05-15 | 1997-08-19 | Nvidia Corporation | Apparatus for context switching of input/output devices in responses to commands from unprivileged application programs |
US6189090B1 (en) * | 1997-09-17 | 2001-02-13 | Sony Corporation | Digital signal processor with variable width instructions |
US6112261A (en) * | 1998-05-04 | 2000-08-29 | Hewlett-Packard Company | Data transferring system reading and temporarily storing a record until a length of the record is different from a defined record length parameter value |
US6580150B1 (en) | 2000-11-13 | 2003-06-17 | Vram Technologies, Llc | Vertical junction field effect semiconductor diodes |
US6537921B2 (en) | 2001-05-23 | 2003-03-25 | Vram Technologies, Llc | Vertical metal oxide silicon field effect semiconductor diodes |
US6958275B2 (en) * | 2003-03-11 | 2005-10-25 | Integrated Discrete Devices, Llc | MOSFET power transistors and methods |
JP4446373B2 (ja) * | 2003-03-19 | 2010-04-07 | パナソニック株式会社 | プロセッサ、データ共有装置 |
US7899190B2 (en) | 2004-04-16 | 2011-03-01 | Research In Motion Limited | Security countermeasures for power analysis attacks |
US7848514B2 (en) | 2004-05-24 | 2010-12-07 | Research In Motion Limited | Table masking for resistance to power analysis attacks |
DE602005002632T2 (de) * | 2005-05-10 | 2008-01-31 | Research In Motion Ltd., Waterloo | Schlüsselmaskierung für kryptographische Prozesse mittels einer Kombination von Zufallsmaskenwerten |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4021655A (en) * | 1976-03-30 | 1977-05-03 | International Business Machines Corporation | Oversized data detection hardware for data processors which store data at variable length destinations |
JPH07120278B2 (ja) * | 1988-07-04 | 1995-12-20 | 三菱電機株式会社 | データ処理装置 |
JPH0810428B2 (ja) * | 1988-12-26 | 1996-01-31 | 三菱電機株式会社 | データ処理装置 |
US5062041A (en) * | 1988-12-29 | 1991-10-29 | Wang Laboratories, Inc. | Processor/coprocessor interface apparatus including microinstruction clock synchronization |
US5148528A (en) * | 1989-02-03 | 1992-09-15 | Digital Equipment Corporation | Method and apparatus for simultaneously decoding three operands in a variable length instruction when one of the operands is also of variable length |
JP2504847B2 (ja) * | 1989-10-27 | 1996-06-05 | 甲府日本電気株式会社 | 10進デ―タのチェック回路 |
US5276891A (en) * | 1990-01-11 | 1994-01-04 | Bull Hn Information Systems Inc. | Alignment of sign, data, edit byte operand results for storage in memory |
FR2666916A1 (fr) * | 1990-09-19 | 1992-03-20 | Alcatel Radiotelephone | Vanne regulatrice de debit. |
-
1993
- 1993-07-26 US US08/095,550 patent/US5479626A/en not_active Expired - Lifetime
-
1994
- 1994-07-07 JP JP06155835A patent/JP3106060B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US5479626A (en) | 1995-12-26 |
JPH0778080A (ja) | 1995-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7389404B2 (en) | Apparatus and method for matrix data processing | |
JP2616182B2 (ja) | データ処理装置 | |
KR100328162B1 (ko) | 정보처리회로와마이크로컴퓨터와전자기기 | |
JP3106060B2 (ja) | 信号プロセッサ | |
JP3729540B2 (ja) | 画像処理装置 | |
US5117488A (en) | Microprogram controlled microprocessor having a selectively expandable instruction code length including independent description of operand addressing and a type of operation for an operand by single instruction in a common coding scheme | |
US5666510A (en) | Data processing device having an expandable address space | |
US5590358A (en) | Processor with word-aligned branch target in a byte-oriented instruction set | |
US6687808B2 (en) | Data processor using indirect register addressing | |
JP2970821B2 (ja) | データ処理装置 | |
US6253305B1 (en) | Microprocessor for supporting reduction of program codes in size | |
JPH11272546A (ja) | 可変長レジスタ装置 | |
US6158046A (en) | Computer device and method for processing data utilizing pseudoinstruction words | |
EP0206653A2 (en) | Method and means for loading and storing data in a reduced instruction set computer | |
KR100277805B1 (ko) | 데이타처리장치 | |
JP2556182B2 (ja) | デ−タ処理装置 | |
US5799138A (en) | Apparatus for instruction-word-linK compression | |
JP3509134B2 (ja) | データプロセッサ | |
JPS62107339A (ja) | マイクロコンピユ−タの命令構成方法 | |
JP2875711B2 (ja) | プログラム変換装置およびプロセッサ | |
JP3539951B2 (ja) | データ処理装置 | |
JPH05173778A (ja) | データ処理装置 | |
JP3199604B2 (ja) | プロセッサ | |
JPS61250753A (ja) | アドレス拡張方式 | |
JPH11143710A (ja) | 処理対象値入力装置及びプログラム変換装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20000801 |
|
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 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080901 Year of fee payment: 8 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080901 Year of fee payment: 8 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |