JPH06168117A - データプロセッサ - Google Patents

データプロセッサ

Info

Publication number
JPH06168117A
JPH06168117A JP5181319A JP18131993A JPH06168117A JP H06168117 A JPH06168117 A JP H06168117A JP 5181319 A JP5181319 A JP 5181319A JP 18131993 A JP18131993 A JP 18131993A JP H06168117 A JPH06168117 A JP H06168117A
Authority
JP
Japan
Prior art keywords
data
address
register
streamer
memory
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
JP5181319A
Other languages
English (en)
Other versions
JP3509134B2 (ja
Inventor
Keith M Bindloss
キース・エム・ビンドロス
Ricke W Clark
リッキー・ダブリュ・クラーク
Kenneth E Garey
ケネス・イー・ギャリー
A Watson George
ジョージ・エイ・ワトソン
Lawrence F Blank
ローレンス・エフ・ブランク
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.)
Boeing North American Inc
Original Assignee
Rockwell International 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 Rockwell International Corp filed Critical Rockwell International Corp
Publication of JPH06168117A publication Critical patent/JPH06168117A/ja
Application granted granted Critical
Publication of JP3509134B2 publication Critical patent/JP3509134B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/355Indexed addressing

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)
  • Advance Control (AREA)

Abstract

(57)【要約】 【目的】 RISC計算ユニットを常に動作中に保つた
めのストリーマを提供する。 【構成】 このストリーマによって、CPU46はデー
タレジスタ50を介してメモリ60とインターフェース
できる。正しいアドレスのプリフェッチとポストストア
は、コンテキストレジスタ52が定めたルールに従い、
アドレスジェネレータ58により定められる。このアド
レスを示すインデックスは、インデックスレジスタ54
にストアされる。データ、コンテキスト、およびインデ
ックスレジスタはストリーマ56を形成し、CPU46
とデータメモリ60との間にデータを流す。コンテキス
トレジスタ52のルールはまた、メモリとレジスタとの
フォーマット間でデータを変換するコンバータ62を駆
動する。RISC装置の速度と柔軟性が、DSPの集中
メモリアクセスと組合わされる。

Description

【発明の詳細な説明】
【0001】
【発明の背景】縮小命令セットコンピュータ(RIS
C)は、中央処理装置(CPU)に、メモリアドレスで
はなくレジスタにデータを受取り、一時的にストアし、
出力させることによって、改良されたスループットを享
受する。レジスタは、メモリよりも、CPUに物理的に
近く置くことができ、またより速く動作する。メモリと
の相互作用で唯一許されているのは、(メモリからのレ
ジスタへのデータの)ロードおよび(レジスタからメモ
リへのデータの)ストアである。RISCという名のい
われは、この命令の数が大きく縮小された点にある。
【0002】多くのアプリケーション、特にデジタル信
号処理(DSP)は、メモリへの集中アクセスを要求す
る。MAC(積和演算、すなわち2つの数を合わせて乗
算し、その積を第3の数に加える)等の典型的な命令
は、いくつかのメモリアクセスを要求し得る。先行技術
のRISC技術は、被乗数を第1のレジスタにロードし
(1クロックサイクル)、乗数を第2のレジスタにロー
ドし(第2のクロックサイクル)、その2つの数をとも
に乗じ、その積を第3のレジスタの内容に加え、その和
を第3のレジスタに戻す(第3のクロックサイクル)も
のであった。この計算すべては、メモリから単一の数を
得るのに必要であったのと同じ量の時間内で行なえる。
この不均衡が、本来のRISCアーキテクチャの効率を
さらに向上させている。
【0003】データがそこからロードされるべきアドレ
スが数サイクル前にわかれば、プリフェッチにより、M
AC装置を、その時間の単に3分の1にだけではなく、
常に動作中に保つことができる。長く連続するアドレス
がアクセスされるのであれば、アドレスごとにアクセス
されるか、または1アドレスおきに(または3アドレス
ごとに)しかアクセスされないか等に関わらず、最初の
アドレスを特定するのに比較的少しのサイクルしかかか
らない。しかしながら、短いアドレスの一続きを多数ア
クセスするときは、その一続きの各々を設定するのに関
わるオーバーヘッドは大変なものになり得る。複数の実
行ユニットを備えたプロセッサは、MAC装置を常に動
作中に保てるが、しかし複数のユニット(または一層悪
く、複数のプロセッサ)はその分だけ高くなる。MAC
以外の計算ユニットでも同様の問題を有する。この発明
は、計算ユニットを動作中に保つ問題に対するコストの
低い代替物を提供する。
【0004】
【発明の概要】この発明は、レジスタが同一である必要
はなく、かつ一般的に同一ではないという事実を利用す
る。レジスタの中には、CPUとメモリとの間でデータ
をやりとりするために用いられるもの(「データレジス
タ」)もあり、またあるレジスタは中間結果をストアす
るために用いられ、またあるものは他の目的を有する。
この発明は、データレジスタの各々が、以下インデック
スレジスタおよびコンテキストレジスタと称する2つの
他の非データレジスタと関連されることを企図する。デ
ータレジスタ、インデックスレジスタ、およびコンテキ
ストレジスタの組は、メモリに、およびメモリからデー
タを流すため、「ストリーマ」と称される。支援ロジッ
クも含まれなくてはならない。所望であれば、望ましく
はないが、たとえばインデックスおよびコンテキスト
は、単一のレジスタ内の別々のフィールドであってもよ
いし、別々のコンテキストフィールドは、別々のレジス
タ内に位置されてもよい。ここで用いられる「レジス
タ」は、したがって「フィールド」を含む。
【0005】ストリーマは、CPUがデータレジスタか
らデータを要求すると、3つのことが起こるように構成
される。第1に、データ(すなわちデータレジスタの内
容)がCPUに与えられる。第2に、インデックス(す
なわちインデックスレジスタの内容)が用いられて、ア
ドレスを発生する。その最も単純な形態では、インデッ
クスはアドレスそのものであり、メモリに直接渡され
る。しかしながら、所望であれば、インデックスはRO
Mまたは他のデバイスを駆動してもよく、これが今度は
アドレスをメモリに渡す。どちらの方法でも、メモリは
そのアドレスにあるデータをデータレジスタにロードす
る。このデータは、CPUが次にデータレジスタからデ
ータを要求するときに、CPUに対して一般に準備がで
きている。第3に、コンテキスト(すなわちコンテキス
トレジスタの内容)がアドレスジェネレータに渡され
る。このアドレスジェネレータは、上述のROMまたは
他の装置とは別個であり、ROM/他の装置が全く存在
しなくても、存在しなくてはならない。アドレスジェネ
レータはまた、現在インデックスレジスタ内にあるイン
デックスを受ける。これはコンテキストおよびインデッ
クスを用いて、インデックスを更新する。
【0006】コンテキストレジスタは、多重タスクコン
ピュータにおける「コンテキスト切換」という言い回し
から、そのように称される。コンピュータは、各々がそ
の独自のタスクを持つ、幾人かのユーザの役に立ち得
る。あるタスクを行なうのを止めて、別のものに取りか
かる時間が来れば、コンピュータはまず、すべてのレジ
スタの内容をセーブする。この内容の順序集合はコンテ
キストと称される。というのも、あるレジスタの内容
を、そのコンテキスト、すなわちコンピュータがどのタ
スクを行なっていたか、それがコードのどのラインを扱
っていたか、これまでどの中間結果を計算したか等を特
定することなく論じるのは無意味だからである。
【0007】同様に、コンテキストレジスタにおいて、
次のインデックス(アドレス)がどのように計算される
べきかを特定することなく、インデックスレジスタの内
容を論じるのは無意味である。最も単純な状況において
は、考慮されるべき次のアドレスは、アドレスの単一の
ブロック内の、数として次のアドレスであろう。しかし
ながら、図1に、より複雑な状況が図示される。方形の
メモリ10は、先頭アドレス12を有し、先頭行14が
左から右に走査されるにつれて、先頭行14の右端に達
するまで、アドレスは増す。次のより高いアドレスは、
第2行20の左端のアドレス18である。サブメモリ2
2のみが走査される必要があると仮定する。それは左端
のアドレス26および右端のアドレス28を備えた先頭
のサブ行24を有するが、第2サブ行32の左端のアド
レス30は、左端のアドレス16および右端のアドレス
18の様に、数としてインクリメントされたアドレスで
はない。
【0008】さらに複雑な状況は、図2に図示されるよ
うに、2つの同心の楕円の間の環がスクリーン上に表示
され、画素の各々はメモリ内のアドレスに関連付けさ
れ、環内の点のみを取り扱うときである。この状況で
は、スクリーン上の各々の行を走査するには、各々の走
査行の点を4個も計算し、適切な点の間のアドレスのみ
にアクセスすることが必要である。上述の単純なおよび
複雑な例の両方を扱うには、かなり洗練されたアドレス
ジェネレータが要求される。
【0009】差し当たり、特定のCPUが、それに関連
するストリーマを2つしか(すなわち、データレジス
タ、インデックスレジスタ、およびコンテキストレジス
タの組を2つしか)持たないと仮定する。というのもい
かなるときにおいても、1度にアクセスされる必要のあ
るデータレジスタは2つだけだからである。ストリーマ
の各々(ストリーマAまたはストリーマB)は、それに
関連するアドレスジェネレータ(ジェネレータAまたは
ジェネレータB)を持たなくてはならず、これはいくつ
かのルールのうちの何らかに従ってそのインデックスレ
ジスタを更新することができ、そのルールはそのコンテ
キストレジスタによって識別される。CPUがいずれか
のデータレジスタを読出すとき、それは同時に、(a)
対応するアドレスジェネレータを活性化して、コンテ
キストレジスタにおいて指定されたルールに従って、イ
ンデックスレジスタ内のインデックスの変更を開始さ
せ、(b) メモリに信号を送り、現在(長時間ではな
いが)インデックスレジスタで特定されているアドレス
にロードされているデータのデータレジスタへのロード
を開始させ、さらに(c) コンバータを活性化し、こ
れはコンテキストレジスタで指定されたルールを用い
て、データをメモリにストアされた形から、データレジ
スタにおいて最も有用な形へと変換する。
【0010】CPUが1度に2つのデータレジスタしか
アクセスできないなら、最大のスループットを維持する
のに、2つのアドレスジェネレータしか与える必要がな
い。よりコストを低く実現するために、単一のジェネレ
ータを共有してもよいが、性能が犠牲になるかもしれな
い。より多くの(またはより少ない)データレジスタが
同時にアクセスされるなら、より多くの(またはより少
ない)アドレスジェネレータが与えられるべきである。
ほとんどのアプリケーションにおいて、ジェネレータは
2つが最も適切である。しかしながら、ストリーマの数
は、アドレスジェネレータの数によって制限されない。
2つのアドレスジェネレータしか用いられないときでさ
え、いくつかの組の、多分16組の、ストリーマレジス
タを与えることが好都合であり得る。
【0011】アドレスジェネレータ(各々のデータレジ
スタにつき1つ)によって処理されている2つのデータ
レジスタの各々は、単一のコンテキストレジスタおよび
単一のインデックスレジスタを有する単一のストリーマ
の一部である。いかなるサイクルにおいても、2つのデ
ータレジスタしか読出されないので、いかなるサイクル
においても、2つのインデックスレジスタしか(2つの
コンテキストレジスタにおけるルールに従って)更新さ
れる必要がない。アドレスジェネレータは、全くメモリ
を備えないで構成され得る。したがって、アドレスジェ
ネレータの各々は、専ら関連するコンテキストレジスタ
内のコンテキストによって規定されるルールに従って、
関連するインデックスレジスタ内のインデックスを変更
する。アドレスジェネレータは、前のサイクルの間にア
クセスされるストリーマのコンテキストが効果を持たな
いように構成され得て、これは、同じストリーマが続け
て2度アクセスされたかどうか、または異なるストリー
マが連続してアクセスされたかどうかに関わらず、行な
われ得る。
【0012】この発明のある好都合な実施例において、
物理的に同一のストリーマデータレジスタは、3つの別
個のアドレスを与えられ、ストリーマのインデックスレ
ジスタすなわちIR、およびコンテキストレジスタすな
わちCRを用いる3つの異なる方法を特定し、ストリー
マのデータレジスタすなわちDRへの(またはDRから
の)データをアクセスする。この実施例におけるストリ
ーマは、「複数アドレスストリーマ」と称される。複数
アドレスストリーマおよび単一のアドレスストリーマ
が、同じデータプロセッサ内に混在し得る。
【0013】第1のDRアドレス(またはそのビットの
いくつか)は、プリフェッチコマンドを不能化するよう
にコンテキスト(またはそのビットのいくつか)と組合
わせるように構成される。このストリーマのアドレス
は、特定のメモリアドレスにあるデータが繰返しアクセ
スされる必要があるとき、適宜アクセスされる。
【0014】第2のDRアドレスがアクセスされると、
それ(またはそのビットのいくつか)は、コンテキスト
(またはそのビットのいくつか)と組合わされて、第1
の変位だけインデックスがインクリメントされるべきで
あることを示す。この第1の変位は、CRの別の部分に
便宜に位置され得るが、所望であれば、その代わりに全
く別個のレジスタに位置され得る。これは、サブメモリ
内の内部(端部でない)アドレスがアクセスされている
ときに所望されるように、たとえば「1だけのインクリ
メント」というように、全く暗黙の前提としてもよい。
【0015】第3のDRアドレスにアクセスすると、同
様に、アクセスされるべき第2の変位が起こる。これ
は、走査されているサブメモリの走査サブ行の右端で適
宜行なわれる。サブメモリ22が方形であれば(図
1)、この第3の変位は一定である。これはCRの所定
の部分に簡単にストアされ得て、それによって走査され
るべきサブメモリの選択の際の柔軟性を与えるが、別個
のレジスタは要求しない。このような別個のレジスタ
は、たとえば図2に図示される二重楕円のサブメモリ3
4において望ましい。CPUが環の内部を走査している
間、別個のコプロセッサが、次のサブ行の左端にジャン
プするのに必要な変位を計算していてもよい。これは、
全体として見ると、メモリ10の同じ走査行上にある
(サブ行36、38)かもしれないし、またはない(サ
ブ行40、42)かもしれない。
【0016】データレジスタは、拡張されたデータレジ
スタに拡張され得て、本来のデータレジスタと、その左
へのデータ拡張レジスタとを含む。CPUは、半語(1
6ビット)のペアを処理でき、データは語(32ビッ
ト)を境界としてメモリからアクセスされる。半語およ
び語のサイズにはそれぞれ16および32ビットが好ま
しいが、所望されれば他のサイズが用いられてもよい。
しかし、半語(HW)のペアは、奇数のHWアドレスに
位置されることがあり、したがって2つの語にまたがる
ことがある。HWペアの単一のアクセスはしたがって、
2語のアクセスを要求することがある。しかしながら、
奇数のHWアドレス上のN個の連続するHWペアの一連
のアクセスは、拡張されたデータレジスタを用いて、N
+1語のアクセスにより達成され得る。HWペアのオペ
ランドの各々は、メモリアクセスtの上位のHWおよび
メモリアクセスt+1の下位のHWを用いる。
【0017】ストリーマの初期化および更新 ストリーマの初期化は、IS命令を用いることによって
達成され、まずストリーマのインデックスおよび/また
はコンテキストレジスタの初期化を参照し、次に随意に
これらのレジスタを用いて、メモリからのオペランドに
アクセスし、拡張されたデータレジスタを初期化する。
オペランドの修飾子は、ソースオペランドが、もしあれ
ば、インデックスおよび/またはコンテキストレジスタ
の初期化の際にどのように与えられるかを示す。
【0018】データレジスタの初期化は、ストリーマが
ソースオペランドのために用いられるべきときに、有用
である。宛先オペランドのために用いられるのに、デー
タレジスタは初期化を要求しない。
【0019】宛先修飾子は、データレジスタが初期化さ
れるかどうかを制御し、もしされるなら、インデックス
を変更するのにどの変位を用いるかを制御する。省略値
は、非プリフェッチ宛先修飾子、NPFであり、これは
データレジスタへのメモリアクセスまたは変更なしに命
令を完了する。プリフェッチ修飾子、PFとは、インデ
ックスレジスタへのさらなる変更なしに、メモリからデ
ータレジスタにロードすることを意味する。変位1/2
を有するプリフェッチ修飾子PFD1およびPFD2と
は、データおよびデータ拡張レジスタをメモリから初期
化し、インデックスレジスタを事後変更することを意味
する。最上位端上に拡張されるデータレジスタの組合わ
せを、データ拡張レジスタによって拡張されたデータレ
ジスタと呼ぶことが便利であろう。
【0020】データレジスタの初期化はまた、コンテキ
ストレジスタが初期化された後のストリーマのモードに
依存し、以下に詳細に説明される。
【0021】標準モードでのデータレジスタの初期化 標準モードでIS命令を実行するとき、インデックスお
よび/またはコンテキストレジスタがソースオペランド
によって初期化された後、次のステップは新しいインデ
ックス/コンテキストの値を用いて、拡張されたデータ
レジスタを初期化することである。宛先修飾子がNPF
であれば、拡張されたデータレジスタは初期化されず、
命令は実行を完了している。修飾子がPFであれば、イ
ンデックスレジスタは、コンテキストレジスタによって
特定されたデータタイプの変換に従って、メモリアドレ
スとして用いられ、メモリからのデータは、データタイ
プの変換の後、データレジスタに入れられる。インデッ
クスレジスタに対して付加的な変更は行なわれず、命令
は実行を完了している。
【0022】宛先修飾子がPFD1またはPFD2であ
れば、命令の実行は、インデックスレジスタのアドレス
がオンバウンダリであるかどうかに依存する。インデッ
クスレジスタは、コンテキストレジスタ内で特定された
データタイプの変換に依存するエレメントタイプに従っ
て、伸縮される。メモリから単一のエレメントを読出す
すべてのデータタイプの変換に関して、インデックスレ
ジスタのアドレスは常にオンバウンダリである。しか
し、半語のペアを読出す変換に関しては、エレメントの
サイズは半語であり、バイト対を読出す変換に関して
は、エレメントのサイズはバイトである。したがって、
これらの変換に関して、インデックスレジスタのアドレ
スはオンバウンダリでもオフバウンダリでもあり得る。
オンバウンダリとは、ペアの両者がメモリ内の同じ対ア
ドレスを共有するという意味であり、したがって同じメ
モリアクセスにおいてフェッチされ得る。すなわち、半
語ペアの半語の両方は、1語として合わせてアクセスさ
れ得て、バイト対のバイトの両方は、同じメモリの半語
からアクセスされ得る。オフバウンダリとは、エレメン
トの対のエレメントの両方を得るために2つのメモリア
クセスが要求されることを示唆する。
【0023】オンバウンダリであれば、インデックスレ
ジスタはメモリからのエレメント対またはエレメントに
アクセスするためのメモリアドレスとして用いられ、こ
れはデータタイプ変換されてデータレジスタに書込まれ
る。インデックスレジスタはさらに、PFD1またはP
FD2によって選択された、それぞれ変位1または変位
2で更新され、実行は完了する。
【0024】オフバウンダリであれば、拡張されたデー
タレジスタを初期化するのに2つのメモリアクセスが要
求される。第1のアクセスに関しては、インデックスレ
ジスタは、最下位ビットを落とすことによってエレメン
ト対のアドレスに変換される。メモリからのエレメント
対は、データタイプ変換されて半語のペアを形成する。
そして最下位の半語がデータレジスタの上位の半語を占
め、最上位の半語がデータ拡張レジスタの下位の半語を
占めるように、拡張されたデータレジスタにロードされ
る。PFD1またはPFD2によって選択された、それ
ぞれ変位1または変位2は、インデックスレジスタに加
えられる。
【0025】次に、第2のアクセスに関しては、更新さ
れたインデックスレジスタは、最下位ビットを落とすこ
とによってエレメント対のアドレスに変換される。メモ
リからのエレメント対は、データタイプ変換されて半語
のペアを形成する。そして拡張されたデータレジスタの
第1のアクセスと同じビット位置にロードされる。一方
拡張レジスタの下位の半語はデータレジスタの下位の半
語へとシフトされる。この場合もまた、PFD1または
PFD2によって選択された、それぞれ変位1または変
位2がインデックスレジスタに加えられる。
【0026】標準モードでのデータレジスタの更新 標準モードのストリーマデータレジスタがソースオペラ
ンドとして参照されるとき、データレジスタが利用可能
とされた後、次のステップが起こる。下位冗長アドレス
(A)が用いられて、データレジスタを参照すれば、メ
モリアクセスは起こらず、インデックスレジスタは変更
されない。中位(B)または上位(C)冗長アドレスが
用いられれば、実行はインデックスがオンバウンダリで
あるかどうかに依存する。
【0027】オンバウンダリであれば、インデックスレ
ジスタはメモリアドレスとして用いられて、メモリから
のエレメント対またはエレメントにアクセスし、これは
データタイプ変換されてデータレジスタに書込まれる。
インデックスレジスタは次に、中位(B)または上位
(C)冗長アドレスによって選択された、それぞれ変位
1または変位2で更新され、更新は完了する。
【0028】オフバウンダリであれば、インデックスレ
ジスタは、最下位ビットを落とすことによってエレメン
ト対のアドレスに変換される。メモリからのエレメント
対は、データタイプ変換されて半語のペアを形成する。
さらに、最下位の半語がデータレジスタの上位の半語を
占め、かつ最上位半語がデータ拡張レジスタの下位の半
語を占めるように拡張されたデータレジスタにロードさ
れる。一方拡張レジスタの下位の半語は、データレジス
タの下位の半語にシフトされる。やはり、中位(B)ま
たは上位(C)冗長アドレスによってそれぞれ選択され
た、変位1または変位2がインデックスレジスタに加え
られる。
【0029】標準モードストリーマデータレジスタが、
宛先オペランドとして参照されるとき、命令結果はデー
タレジスタに書込まれ、次のステップが起こる。データ
レジスタを参照するのに下位冗長アドレス(A)が用い
られれば、メモリアクセスは起こらず、インデックスレ
ジスタは変更されない。他の冗長アドレスが用いられれ
ば、インデックスレジスタが宛先オペランドをストアす
るためのメモリアドレスを与えるのに用いられる後、中
位(B)または上位(C)冗長アドレスによってそれぞ
れ選択された変位1または変位2が、インデックスレジ
スタに加えられる。
【0030】スタックモードのデータレジスタ初期化 スタックが空であれば、データレジスタの初期化は、ス
タックモードでは要求されない。したがって、IS命令
の終結時にコンテキストレジスタがスタックモードをさ
していれば、規定された唯一の宛先修飾子はNPFであ
り、データレジスタが初期化されないことを意味する。
スタックが空でなければ、レジスタの内容はセーブされ
て、再ロードされなくてはならない。データレジスタ
は、その内容をセーブさせ、他のレジスタと同様に復元
させるかもしれないし、またはデータをメモリへとプッ
シュし、インデックスおよびコンテキストがストアされ
るかもしれない。これに続いて、インデックスおよびコ
ンテキストの復元、ならびにデータのポップが行なわれ
るだろう。
【0031】スタックモードのデータレジスタの更新 スタックモードのストリーマがソースオペランドとして
参照されるとき、データレジスタが与えられ、下位の冗
長アドレス(A)が用いられれば他には何も起こらな
い。別の冗長アドレスが用いられれば、データレジスタ
が与えられ、インデックスレジスタは、コンテキストレ
ジスタ内で特定されたデータタイプの変換に従ってメモ
リアドレスとして用いられ、メモリがアクセスされ、読
出されるデータはデータタイプ変換され、その結果がデ
ータレジスタに戻されて、書込まれる。さらに、インデ
ックスレジスタは、中位(B)または上位(C)冗長ア
ドレスが用いられるかどうかに依存して、それぞれ1ま
たは2だけデクリメントされる。
【0032】ストリーマが宛先オペランドとして参照さ
れると、宛先オペランドはデータレジスタに書込まれ、
下位冗長アドレス(A)が用いられれば、他には何も起
こらない。別の冗長アドレスが用いられれば、インデッ
クスレジスタは、中位(B)または上位(C)冗長アド
レスのいずれが用いられるかに依存して、それぞれ1ま
たは2だけインクリメントされる。データレジスタは、
データタイプ変換されて、更新されたインデックスレジ
スタによって特定されたメモリ位置にストアされ、宛先
オペランドはデータレジスタに書込まれる。
【0033】 ビットフィールドモードのデータレジスタの初期化 IS命令をビットフィールドモードで実行するとき、イ
ンデックスおよび/またはコンテキストレジスタがソー
スオペランドによって初期化された後、次のステップ
は、新しいインデックス/コンテキストの値を用いて、
拡張されたデータレジスタを初期化することである。こ
のモードでは、インデックスレジスタはビットアドレス
に伸縮される。宛先修飾子がNPFであれば、延長され
たデータレジスタは初期化されず、命令は実行を完了す
る。PF修飾子は、ビットフィールドのためには規定さ
れない。
【0034】他の修飾子、FPD1およびFPD2に関
しては、目標は、インデックスレジスタによってアドレ
スされたメモリ内のビットがデータレジスタの下位の半
語に現われるように、メモリの1または2語を延長され
たデータレジスタにロードすることである。実行は、両
方の修飾子に対して同じである。
【0035】これは次の方法で実現される。インデック
スレジスタが、語の最下位半語内のビットを指せば(イ
ンデックスレジスタの5番目のビットはゼロである)、
1つのアクセスしか要求されない。インデックスレジス
タの下位5ビットを落とすことによって得られる語アド
レスがメモリにアクセスするために用いられて、メモリ
の内容はデータレジスタに書込まれる。次にインデック
スレジスタは整定数48だけ増加される。
【0036】しかしながら、インデックスレジスタが語
の最上位半語内のビットを指せば(インデックスレジス
タの5番目のビットは1である)、2つのメモリアクセ
スが要求される。第1のアクセスに関して、インデック
スレジスタの下位5ビットを落とすことによって形成さ
れる語アドレスを用いてメモリにアクセスし、メモリの
内容はデータレジスタに書込まれる。同時に、インデッ
クスレジスタは整定数16だけ増加され、これによって
語アドレスがインクリメントされる。第2のフェッチは
この新しい語アドレスを用い、データレジスタの上位半
語をデータレジスタの下位半語にシフトした後、メモリ
から読出されたデータ語をデータレジスタの上位半語お
よびデータ拡張レジスタの下位半語に入れる。第2のア
クセスの間、整定数32がインデックスレジスタに加え
られる。
【0037】インデックスレジスタの5番目のビット
は、メモリからのデータが拡張レジスタの下位半語に保
持されているかどうかを示す。ビットがゼロなら、デー
タは保持されており、ビットが1なら、データレジスタ
のみがメモリからの有用なデータを有する。
【0038】 ビットフィールドモードでのデータレジスタの更新 ビットフィールドモードでストリーマがソースオペラン
ドとして用いられると、データレジスタが与えられる。
下位冗長アドレス(A)が用いられれば、それ以上のこ
とは起こらない。上位冗長アドレス(C)はビットフィ
ールドモードのためには規定されない。中位冗長アドレ
ス(B)が用いられれば、即値オペランドによって与え
られるビットフィールドの幅が、インデックスレジスタ
に加えられ、それをポインタとしてそのビットフィール
ド分だけ動かす。ポインタが半語の境界を超えなければ
(すなわち、半語アドレスビットが変わらなければ)、
それ以上のことは起こらない。しかしながら、もし超え
るなら(半語アドレスがインクリメントされたなら)、
延長されたデータレジスタは右に16ビット位置だけシ
フトされる。さらに、ポインタが語の境界を超えれば
(すなわち、語アドレスビットが変われば)、語は、更
新される前のインデックスレジスタの語アドレスを用い
て、メモリから読出される。この語は、データレジスタ
の上位半語およびデータ拡張レジスタの下位半語にロー
ドされる。
【0039】ソースオペランドとして、インデックスレ
ジスタはデータレジスタにおけるビットフィールドの始
点の48ビット位置前を指す。
【0040】宛先オペランドとして用いられると、デー
タレジスタは通常、ソースオペランドとして与えられ、
挿入するべきビットフィールドと組合わされてストリー
マデータレジスタにストアされる。下位冗長アドレス
(A)が用いられれば、それ以上は何も起こらない。上
位冗長アドレス(C)は、ビットフィールドのためには
規定されない。中位冗長アドレス(B)が用いられれ
ば、即値オペランドによって与えられたビットフィール
ドの幅がインデックスレジスタに加えられ、それをポイ
ンタとしてビットフィールド分だけ動かす。ポインタが
半語の境界を超えなければ(すなわち、半語アドレスビ
ットが変わらなければ)、それ以上は何も起こらない。
しかしながら、もし超えれば(半語アドレスがインクリ
メントされれば)、データレジスタの下位半語は、更新
される前のインデックスレジスタの半語アドレスを用い
てメモリ内にストアされ、データレジスタは右に16ビ
ット位置だけシフトされる。
【0041】宛先オペランドとして、インデックスレジ
スタはデータがストアされるメモリ位置を指す。
【0042】 ミクストモードでのデータレジスタの初期化 IS命令をミクストモードで実行するとき、インデック
スおよび/またはコンテキストレジスタがソースオペラ
ンドによって初期化された後、次のステップは、新しい
インデックス/コンテキストの値を用いて、拡張された
データレジスタを初期化することである。宛先修飾子が
NPFであれば、拡張されたデータレジスタは初期化さ
れず、命令は実行を完了する。PF宛先修飾子は、ミク
ストモードのためには規定されない。PFD1およびP
FD2修飾子の両方とも同じく、以下に説明する拡張さ
れたデータレジスタの初期化を起こす。
【0043】インデックスレジスタの内容はバイトアド
レスを特定する。この初期化の目標は、最終的にそのバ
イトアドレスからのメモリの内容をデータレジスタの最
下位バイトにして、メモリからの昇順バイトを、拡張さ
れたデータレジスタのより上位のバイトに格納すること
である。
【0044】メモリからデータを得る際、語の境界に基
づく語アクセスが行なわれ、インデックスアドレスより
小さいバイトアドレスからのバイトのみが捨てられる。
インデックスレジスタより高位のアドレスからのバイト
は、拡張されたデータレジスタ内に、昇順に保持され
る。さらに、インデックスアドレスが語アドレスの最下
位バイトを指さなければ、メモリからのデータの少なく
とも4バイトが最終的には拡張されたデータレジスタ内
にあるようにするために、2つのメモリアクセスが要求
される。1または2のメモリアクセスの後、インデック
スレジスタの内容は7だけ増加されている。
【0045】ハードウェアはこれを以下のように実現す
る。インデックスレジスタから読出されたバイトアドレ
スは、まず下位2ビットを落とすことによって語アドレ
スに変換される。この語アドレスは第1のメモリアクセ
スのために用いられて、32ビットのデータ語がデータ
レジスタに入れられる。
【0046】第1のアクセスの間、整定数がインデック
スレジスタに加えられる。インデックスがオンバウンダ
リであったなら、つまり2つの最下位ビットがゼロであ
ったなら、整定数は7である。7がインデックスレジス
タに加えられた後、初期化命令の実行は完了する。
【0047】しかしながら、インデックスレジスタがオ
フバウンダリであったなら、つまり下位2ビットがゼロ
でなかったならば、インデックスは整定数3だけ増加さ
れ、第2のメモリアクセスが要求される。更新されたイ
ンデックスレジスタからのバイトアドレスは、下位2ビ
ットを落とすことによって語アドレスに変換され、語ア
ドレスは第2のメモリアクセスのために用いられる。第
2のメモリアクセスの間、整定数4がインデックスレジ
スタに加えられる。
【0048】メモリから読出される第2の語は、データ
レジスタの内容の最上位端上に連結される。これらの2
つの語は、次に1、2または3バイトだけ右にシフトさ
れ、拡張されたデータレジスタにロードされる。最下位
端からシフトオフされたビットは失われ、最上位端にゼ
ロが満たされる。シフトされるバイトの数は、更新され
たインデックスレジスタの下位2ビットから定められ
る。2(10)であれば、3バイトだけ右にシフトさ
れ、1(01)であれば、2バイトだけ右にシフトさ
れ、0(00)であれば、1バイトだけ右にシフトさ
れ、3(11)は不可能なはずである。インデックスレ
ジスタの命令の実行は、これで完了した。
【0049】インデックスレジスタ内の下位2ビット
は、メモリからの何バイトのデータが最下位端に位置調
整されて、拡張されたデータレジスタに残っているかを
示す。もし3であれば、4バイトが残っており、もし2
であれば、5バイトが残っており、1であれば、6バイ
トが残っており、もし0であれば、7バイトが残ってい
る。
【0050】ミクストモードでのデータレジスタの更新 ミクストモードにおけるストリーマが、ソースオペラン
ドとしてアクセスされるときは常に、以下のステップ
が、拡張されたデータレジスタを更新するために実現さ
れる。まず、データレジスタからアクセスされたバイト
数が、データレジスタのために用いられる冗長アドレス
によって定められる。下位冗長アドレス(A)は1バイ
トを特定し、中位冗長アドレス(B)は2バイト(1半
語)を特定し、上位冗長アドレス(C)は4バイト(1
語)を特定する。これらのバイトがデータレジスタから
読出された後、拡張されたデータレジスタは、アクセス
されたバイト数だけ右にシフトされる。次にインデック
スレジスタは、データレジスタからアクセスされたバイ
ト数だけ増加される。もしこれによってインデックスレ
ジスタの語アドレスの部分がインクリメントすれば(す
なわち、第2のビット位置からの桁上げを引起こされれ
ば)、メモリアクセスが要求される。メモリアクセスの
ために用いられるアドレスは、更新される前のインデッ
クスレジスタの値であり、下位2ビットが落とされて、
語アドレスを形成する。メモリから読出されたデータ語
は、データレジスタの以前の内容と連結されるように、
拡張されたデータレジスタにロードされる。更新された
インデックスレジスタの下位2ビットは、メモリデータ
をどこにロードすべきかを示す。もし3(11)であれ
ば、最下位バイトがデータレジスタの最下位バイトを占
めるように、メモリ語をロードする。もし2(10)で
あれば、最下位バイトがデータレジスタの第2のバイト
を占めるように、メモリ語をロードする。同様に、もし
1(01)であれば、第3のバイトを占めるべきであ
り、もし0(00)であれば、最上位バイトを占めるべ
きである。メモリからのその他すべてのバイトは、拡張
されたデータレジスタ内に、昇順に、所定の位置に置か
れる。
【0051】ミクストモードのソースオペランドフェッ
チのための更新動作は、これで完了した。ミクストモー
ドにおけるストリーマは、宛先オペランドのためには用
いられない。
【0052】各々のサイクルでコンテキストレジスタを
更新せず、単にCPUの実行の開始時にロードすること
が好ましい。変更の代わりに、複数のアドレスを有する
単一のストリーマを用いる方がより便利であり、それに
よって変更の不利益を除去しながら、その利益が保たれ
る。たとえば、インデックスが3つの変位のうちの1つ
だけ変化され得るように、コンテキストレジスタにおけ
るコンテキストが3つの値のうちの1つを取ることが必
要であると仮定する。このインデックスの変更は、コン
テキストに1つの値だけを取らせるが、インデックスへ
の変化が、コンテキストのみではなくコンテキストとア
ドレスとの両方に依存するように、(単一の)コンテキ
ストと(複数の)アドレスとの間に相互作用を与えるこ
とによって達成され得る。たとえば、(単一の)コンテ
キストは3つの別個の変位を含み得て、インデックスに
加えられるべき変位の選択はアドレスによって行なわれ
得る。しかしながら、もし所望であれば、インデックス
レジスタとコンテキストレジスタとを両方更新するよう
にアドレスジェネレータを変更することもできる。
【0053】上述のように、コンテキストレジスタは読
出されるべき次のアドレスを定めるためのルールを与え
るのみならず、そのアドレスにあるデータを、メモリ内
に記憶するのに最も便利なフォーマットから、データレ
ジスタ内における、CPUからのアクセスに最も便利な
フォーマットに変換するルールをも与える。したがっ
て、利用中のデータレジスタとメモリとの間のデータ経
路に適切な装置が与えられ、このような装置は利用中の
コンテキストレジスタによって駆動される。レジスタの
フォーマットがメモリのフォーマットと同じであれば、
この装置は省かれてもよい。その場合には、コンテキス
トレジスタは、アドレス生成の支援専用であり、さらに
フォーマットの変換までサポートする必要はない。
【0054】前述の説明は、メモリからのデータを、そ
れが必要とされるときにCPUに対し利用可能であるよ
うなフォーマットで、かつそのような時間に抽出する問
題を扱う。同じ装置、または類似の装置を、この逆の問
題、すなわちCPUがはるか後に他のことを行なってい
るときに、適切なフォーマットでデータをメモリに挿入
することを扱うために、用いることもできる。したがっ
て、CPUはデータレジスタに書込むとき、(a) 対
応するアドレスジェネレータを活性化して、コンテキス
トレジスタ内で指定されたルールに従って、インデック
スレジスタ内のインデックスを変更し始めさせ、(b)
メモリに信号を送って、現在(長時間ではないが)イ
ンデックスレジスタ内で特定されるアドレスに、データ
レジスタ内にストアされたデータのストアを始めさせ、
(c) コンバータを活性化し、これはコンテキトレジ
スタ内で指定されたルールを用いて、データを、データ
レジスタ内でストアされたフォーマットから、メモリに
とって最も便利なフォーマットへとデータを変換するこ
とを同時に行なう。したがって、読出しサイクルのプリ
フェッチステップは、書込みサイクルの同時に行なわれ
るポストストアステップと一致する。
【0055】コンテキストレジスタ内のコンテキスト
は、部分的にまたは完全に反射的であり得る。読出しサ
イクルの間にデータをメモリのフォーマットからレジス
タのフォーマットに変換するコンテキストがまた、書込
みサイクルの間にレジスタのフォーマットからメモリの
フォーマットにデータを変換する場合に、それは部分的
に反射的である。読出しサイクルの間にデータを正しい
メモリアドレスからプリフェッチするコンテキストがま
た、書込みサイクルの間に正しいメモリアドレスにデー
タをポストストアする場合にも、それは部分的に反射的
である。コンテキストが両方の条件を満たす場合には、
コンテキストは完全に反射的である。コンテキストが完
全に反射的でなければ、読出しストリーマとは別個であ
る書込みストリーマが用いられなくてはならない。この
選択のため、複数のストリーマがより魅力あるものとな
る。もちろん、この状況では付加的なアドレスジェネレ
ータが必要となり得る。あるいはこれに代えて、これは
好ましくはないが、コンテキストレジスタ内のコンテキ
ストを変えてもよい。
【0056】上述の説明は、デジタル信号を処理するた
めに用いられているRISCを表す。同等に、これはメ
モリアクセスを扱っていないときにRISCが持つ柔軟
性を持ったDSPとみなしてもよい、すなわちこれはメ
モリと疎結合されたDSPとみなしてもよい。この発明
はしたがって、RISC上およびDSP上で用いられる
ソフトウェアの融合であるソフトウェアを動作すること
ができる。
【0057】
【好ましい実施例の詳細な説明】図3において、CPU
46はセレクタ48および複数個のデータレジスタ50
を駆動する。16個のデータレジスタ(DR0ないしD
R15)が図示されるが、より多いまたは少ないレジス
タが、必要に応じて用いられてもよい。セレクタ48
は、どのデータレジスタ50がアクセスされる(そこか
ら読出されるまたはそこに書込まれる)べきかを定め
る。CPU46が十分に精巧であれば、1度に2つ以上
のデータレジスタ50が選択され得る。
【0058】データレジスタ50の各々は、それに関連
して、コンテキストレジスタ(CR)52およびインデ
ックスレジスタ(IR)54を有し、これらはあわせて
ストリーマ56を形成する。選択されたストリーマ56
のコンテキストレジスタ52およびインデックスレジス
タ54は、複数個のアドレスジェネレータ(AG)58
のうち1つ、セレクタ48によって定められる特定のジ
ェネレータ(または複数のジェネレータ)58を駆動す
る。3つのジェネレータ58(AG0ないしAG2)が
図示されるが、1つまたはそれより多くが用いられても
よい。ジェネレータ58は、そこからロードされる、ま
たはそこにストアされるべきデータメモリ60内のアド
レスを生成し、選択されたストリーマ56のインデック
スレジスタ54を更新する。所望であれば、これはまた
コンテキストレジスタ52を更新してもよいが、これは
好ましくはない。
【0059】データメモリ60は、選択されたデータレ
ジスタ50に直接ロードする、またはそこからストアす
ることができるが、好ましくはない。代わりに、これは
複数個のコンバータ62(コンバータ0ないしコンバー
タ2)の1つを駆動する(ロードしているとき)、また
はこれによって駆動される(ストアしているとき)。ア
ドレスジェネレータ58と同様に、特定のコンバータ
(または複数のコンバータ)62が、セレクタ48によ
って定められる。3つのコンバータ62が図示されてい
るが、1つまたはより多くが用いられてもよい。コンバ
ータ62は、データメモリ60内のデータを、メモリの
フォーマットからレジスタのフォーマットに変換する
(ロードしているとき)かまたは、選択されたデータレ
ジスタ50内のデータを、レジスタのフォーマットから
メモリのフォーマット(ストアしているとき)に選択さ
れたコンテキストレジスタ52によって定められたルー
ルに従って変換する。
【0060】
【産業上の応用】この発明は、産業上利用ができ、デジ
タル信号プロセッサの集中メモリアクセスを、縮小命令
セットコンピュータの速度および柔軟性と組合わせるた
めに用いることが望まれるときに使用することができ
る。それは、個々にみた場合には、全く従来の構成要素
から作成できるし、または従来はなかったそれらの類似
物から作成することもできる。
【0061】この発明の特定の実施例を、ある詳細にわ
たって説明してきたが、この真の精神および範囲はそれ
に制限されるのではなく、前掲の特許請求の範囲によっ
てのみ制限される。
【図面の簡単な説明】
【図1】この発明によって扱われる問題の簡単な形を示
す図である。
【図2】図1の問題のより複雑な形を示す図である。
【図3】この発明のブロック形式の図である。
【符号の説明】
46 中央処理装置 48 セレクタ 50 データレジスタ 52 コンテキストレジスタ 54 インデックスレジスタ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 リッキー・ダブリュ・クラーク アメリカ合衆国、92714 カリフォルニア 州、アーバイン、ディアーウッド・イース ト、18 (72)発明者 ケネス・イー・ギャリー アメリカ合衆国、92714 カリフォルニア 州、アーバイン、フレンド・コート、 17531 (72)発明者 ジョージ・エイ・ワトソン アメリカ合衆国、92635 カリフォルニア 州、フラートン、トリービュー・プレイ ス、2952 (72)発明者 ローレンス・エフ・ブランク アメリカ合衆国、92663 カリフォルニア 州、ニューポート・ビーチ、ビア・エボ リ、212

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 (a) 中央処理装置(CPU)と、 (b) データメモリと、 (c) CPUからストリーマへのREADまたはWR
    ITE信号に応答して、アドレスジェネレータを選択
    し、データメモリにアクセスする際にストリーマを支援
    するためのセレクタと、 (d) 少なくとも1つのストリーマとを含み、ストリ
    ーマの各々は、 (i) CPUからのREAD信号に応答して、ストリ
    ーマからCPUにデータを読出させ、かつCPUからの
    WRITE信号に応答して、ストリーマにCPUからデ
    ータを書込ませるためのデータレジスタ(DR)、 (ii) コンテキストレジスタ(CR)、および (iii) インデックスレジスタ(IR)を含み、 さらに (e) セレクタによってストリーマを支援するように
    選択されているのに応答して、 (i) 支援されるストリーマのCRからコンテキスト
    を、および支援されるストリーマのIRからインデック
    スを受取り、 (ii) コンテキストおよびインデックスから、デー
    タメモリのためのアドレスを発生し、かつ (iii) コンテキストおよびインデックスから、支
    援されるストリーマのIRのために新しいインデックス
    を生成するように構成される少なくとも1つのアドレス
    ジェネレータを含む、データプロセッサ。
  2. 【請求項2】 セレクタによってストリーマを支援する
    ように選択されているのに応答して、 (a) 支援されるストリーマのCRからコンテキスト
    を受取り、 (b) CPUからのREAD信号に応答して、 (i) データメモリ内の、ストリーマを支援するアド
    レスジェネレータによって特定されるアドレスからデー
    タをロードし、 (ii) コンテキストに従って、データをメモリのフ
    ォーマットからレジスタのフォーマットに変換し、かつ (iii) 変換されたデータを、支援されるストリー
    マのDRに置き、さらに (c) CPUからのWRITE信号に応答して、 (i) 支援されるストリーマのDRからデータを受取
    り、 (ii) コンテキストに従って、データをレジスタの
    フォーマットからメモリのフォーマットに変換し、かつ (iii) データメモリ内の、ストリーマを支援する
    アドレスジェネレータによって特定されるアドレスに、
    変換されたデータをストアするように構成される少なく
    とも1つのデータコンバータをさらに含む、請求項1に
    記載のデータプロセッサ。
  3. 【請求項3】 セレクタによってストリーマを支援する
    ように選択されているのに応答して、コンテキストおよ
    びインデックスから、支援されるストリーマのCRのた
    めに新しいコンテキストを生成するようにさらに構成さ
    れる、請求項1に記載のデータプロセッサ。
  4. 【請求項4】 (a) 少なくとも1つのストリーマ
    が、複数個のアドレスによってアクセスされるように構
    成され、かつ(b) このようなストリーマの各々のC
    RおよびIRの組合わせが、このようなアドレスの各々
    と、他のそうした各アドレスとの相互作用の態様とは異
    なる態様で相互作用するように構成される、請求項1に
    記載のデータプロセッサ。
  5. 【請求項5】 (a) このようなストリーマの各々
    が、第1、第2、および第3のアドレスによってアクセ
    スされるように構成され、 (b) CRおよびIRの組合わせが、対象アドレスと
    異なるアドレスにあるデータメモリからのいかなるロー
    ド、またはこれへのいかなるストアをも避けるような態
    様で、第1のアドレスと相互作用するように構成され、 (c) CRおよびIRの組合わせが、対象アドレスか
    ら第1のプリロードされた変位だけ異なるアドレスにあ
    るデータメモリからのロード、またはこれへのストアを
    発生するような態様で、第2のアドレスと相互作用する
    ように構成され、かつ (d) CRおよびIRの組合わせが、対象アドレスか
    ら第2のプリロードされた変位だけ異なるアドレスにあ
    るデータメモリからのロード、またはこれへのストアを
    発生するような態様で、第3のアドレスと相互作用する
    ように構成される、請求項4に記載のデータプロセッ
    サ。
  6. 【請求項6】 (a) DRの左側にデータ拡張レジス
    タ(DER)をさらに含み、DERおよびDRはあわせ
    て拡張されたデータレジスタ(EDR)を形成し、さら
    に (b) EDR内のビットをバレルシフトするように構
    成されるバレルシフタを含み、 DRおよびDERの両方が、データメモリと交信してお
    り、DRはCPUと交信している、請求項1に記載のデ
    ータプロセッサ。
  7. 【請求項7】 (a) DRの下位半語からビットフィ
    ールドを読出すための手段と、 (b) ビットフィールドが半語の境界を超える場合
    に、EDRを半語右にバレルシフトするための手段と、 (c) ビットフィールドが語の境界を超える場合に、
    DERの下位半語およびDRの上位半語からなるEDR
    の部分に、データメモリから語をロードするための手段
    と、 (d) ビットフィールドが語の境界を超える場合に、
    EDRを半語右にバレルシフトするための手段とをさら
    に含む、請求項6に記載のデータプロセッサ。
  8. 【請求項8】 (a) DRの下位半語に、CPUから
    ビットフィールドを書込むための手段と、 (b) ビットフィールドが半語の境界を超える場合
    に、EDRを半語左にバレルシフトするための手段と、 (c) ビットフィールドが語の境界を超える場合に、
    EDRを半語左にバレルシフトするための手段と、 (d) ビットフィールドが語の境界を超える場合に、
    DERの下位半語およびDRの上位半語からなるEDR
    の部分から、データメモリに語をストアするための手段
    とをさらに含む、請求項6に記載のデータプロセッサ。
  9. 【請求項9】 ストリーマがCRおよびIRの組合わせ
    を含み、それが、 (a) データメモリの増分をストリーマのDRにロー
    ドするように構成され、増分はある長さを有し、さらに
    (b) 増分をDRの前の内容と連結し、かつ(c)
    DRの連結された内容をその長さだけCPUにバレルシ
    フトするように構成される、請求項1に記載のデータプ
    ロセッサ。
  10. 【請求項10】 ストリーマがCRおよびIRの組合わ
    せを含み、それが、 (a) データの増分で、ストリーマのDRに書込むよ
    うに構成され、増分はある長さを有し、さらに(b)
    増分をDRの前の内容と連結し、かつ(c) DRの連
    結された内容をその長さだけデータメモリにバレルシフ
    トするように構成される、請求項1に記載のデータプロ
    セッサ。
JP18131993A 1992-07-23 1993-07-22 データプロセッサ Expired - Lifetime JP3509134B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US91787292A 1992-07-23 1992-07-23
US917872 1992-07-23

Publications (2)

Publication Number Publication Date
JPH06168117A true JPH06168117A (ja) 1994-06-14
JP3509134B2 JP3509134B2 (ja) 2004-03-22

Family

ID=25439448

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18131993A Expired - Lifetime JP3509134B2 (ja) 1992-07-23 1993-07-22 データプロセッサ

Country Status (4)

Country Link
US (1) US5586284A (ja)
EP (1) EP0580109B1 (ja)
JP (1) JP3509134B2 (ja)
DE (1) DE69315630T2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6944747B2 (en) * 2002-12-09 2005-09-13 Gemtech Systems, Llc Apparatus and method for matrix data processing
US7805589B2 (en) * 2006-08-31 2010-09-28 Qualcomm Incorporated Relative address generation

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3454932A (en) * 1966-06-27 1969-07-08 Gen Electric Data processing system employing indirect addressing apparatus
US4131940A (en) * 1977-07-25 1978-12-26 International Business Machines Corporation Channel data buffer apparatus for a digital data processing system
US4550368A (en) * 1982-07-02 1985-10-29 Sun Microsystems, Inc. High-speed memory and memory management system
JPS61177540A (ja) * 1985-02-01 1986-08-09 Nec Corp ストリングデ−タ制御回路
EP0206653B1 (en) * 1985-06-28 1992-10-21 Hewlett-Packard Company Method and means for loading and storing data in a reduced instruction set computer
EP0227900B1 (en) * 1985-12-02 1993-03-31 International Business Machines Corporation Three address instruction data processing apparatus
EP0551932B1 (en) * 1987-06-05 1998-07-15 Mitsubishi Denki Kabushiki Kaisha Digital signal processor processing multi-point conditional branch operations in a pipeline mode
US5218674A (en) * 1990-09-14 1993-06-08 Hughes Aircraft Company Hardware bit block transfer operator in a graphics rendering processor
US5222222A (en) * 1990-12-18 1993-06-22 Sun Microsystems, Inc. Apparatus and method for a space saving translation lookaside buffer for content addressable memory
JPH04257939A (ja) * 1991-02-13 1992-09-14 Tokyo Electric Co Ltd データ処理装置

Also Published As

Publication number Publication date
DE69315630D1 (de) 1998-01-22
JP3509134B2 (ja) 2004-03-22
EP0580109A3 (ja) 1994-04-06
EP0580109B1 (en) 1997-12-10
US5586284A (en) 1996-12-17
EP0580109A2 (en) 1994-01-26
DE69315630T2 (de) 1998-07-16

Similar Documents

Publication Publication Date Title
US4814976A (en) RISC computer with unaligned reference handling and method for the same
US5638524A (en) Digital signal processor and method for executing DSP and RISC class instructions defining identical data processing or data transfer operations
JP2571757B2 (ja) 信号処理装置及び該装置を使用する
US4298927A (en) Computer instruction prefetch circuit
US5386531A (en) Computer system accelerator for multi-word cross-boundary storage access
JPS59117666A (ja) ベクトル処理装置
KR19980069869A (ko) 벡터 프로세서용 로드 및 저장 유니트
JPH02149156A (ja) 通信プロセッサ装置
US5832258A (en) Digital signal processor and associated method for conditional data operation with no condition code update
JPS589454B2 (ja) プログラマブル制御ラツチ機構
EP1003094B1 (en) Central processing unit having a data extension instruction
JPH05197545A (ja) マイクロコンピュータ
US4611278A (en) Wraparound buffer for repetitive decimal numeric operations
JP3106060B2 (ja) 信号プロセッサ
JP3509134B2 (ja) データプロセッサ
US4430708A (en) Digital computer for executing instructions in three time-multiplexed portions
EP0206653B1 (en) Method and means for loading and storing data in a reduced instruction set computer
US5867696A (en) Saving a program counter value as the return address in an arbitrary general purpose register
US4608633A (en) Method for decreasing execution time of numeric instructions
JPH07239780A (ja) 1クロック可変長命令実行処理型命令読み込み電子計 算機
US7284113B2 (en) Synchronous periodical orthogonal data converter
JP4384828B2 (ja) コプロセッサ装置およびデータ転送を容易にするための方法
JPH07129399A (ja) 命令属性レジスターを使用して多機能命令を実行する マイクロコンピュータ
JPH07110769A (ja) Vliw型計算機
JP3199604B2 (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: 20031202

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20031222

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: 20080109

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090109

Year of fee payment: 5

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: 20090109

Year of fee payment: 5

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090109

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100109

Year of fee payment: 6

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: 20100109

Year of fee payment: 6

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100109

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110109

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110109

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120109

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130109

Year of fee payment: 9

EXPY Cancellation because of completion of term