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

データプロセッサ

Info

Publication number
JP2609552B2
JP2609552B2 JP2054799A JP5479990A JP2609552B2 JP 2609552 B2 JP2609552 B2 JP 2609552B2 JP 2054799 A JP2054799 A JP 2054799A JP 5479990 A JP5479990 A JP 5479990A JP 2609552 B2 JP2609552 B2 JP 2609552B2
Authority
JP
Japan
Prior art keywords
information
instruction
instructions
unit
calculating
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
Application number
JP2054799A
Other languages
English (en)
Other versions
JPH02272677A (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.)
Motors Liquidation Co
Original Assignee
Motors Liquidation Co
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 Motors Liquidation Co filed Critical Motors Liquidation Co
Publication of JPH02272677A publication Critical patent/JPH02272677A/ja
Application granted granted Critical
Publication of JP2609552B2 publication Critical patent/JP2609552B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • 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
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/17Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
    • 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/3001Arithmetic instructions
    • G06F9/30014Arithmetic instructions with variable precision
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30163Decoding the operand specifier, e.g. specifier format with implied specifier, e.g. top of stack

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、一般的には、単一の命令により、デーブル
ルックアップ(table look−up)および補間(interpol
ate)機能を実行できるデータプロセッサに関する。よ
り測定的には、本発明はその命令セット中にテーブルル
ックアップおよび補間命令を含む集積回路データプロセ
ッサに関する。
[従来の技術] 機械的システムを制御することを含むデータプロセッ
サの多くの普通の応用はテーブルルックアップ操作を含
む。1つの例はマイクロプロセッサを内燃機関における
燃料注入の制御のために用いる信号を発生するために使
用することである。該マイクロプロセッサには、エンジ
ン速度、負荷、吸入空気温度および圧力、のような数多
くの入力パラメータが与えられ、注入されるべき燃料の
適切な量および注入のタイミングを計算し、かつインジ
ェクタを付勢する制御信号を発生する。必要な計算を行
なう非常に効率的な方法は入力パラメータを使用して先
に計算されたテーブルにおけるロケーションを指示する
アドレスを発生しかつ該テーブルにおけるそのロケーシ
ョンから、マイクロプロセッサにとってアクセス可能な
メモリ内に格納される、適切な結果を引き出すことであ
る。
補間は大きなテーブルを必要とすることなくテーブル
から引き出された情報の精度を増大するためのよく知ら
れた技術である。補間は上に述べたようなデータプロセ
ッサを基礎とした制御システムに広く応用されてきた。
集積回路データプロセッサ、これはまたマイクロプロ
セッサあるいはマイクロコンピュータとも称される、の
分野においては、テーブルルックアップおよび補間操作
は該プロセッサにより実行される一連のより基本的な命
令によって行なわれてきた。
[発明が解決しようとする課題] この解決方法はシステム設計者に特定の応用に対する
最も適切なテーブルルックアップおよび補間アルゴリズ
ムを開発する上で広い柔軟性を許容するが、そのような
一連の命令は常に等化な単一の命令が成し得るよりも低
速である。その上、アルゴリズムを設計し、コーティン
グしかつ維持することはシステム設計者の資源にかなり
な負担を課すことになる。
従って、本発明の目的は、テーブルルックアップおよ
び補間命令を有する改良されたデータプロセッサを提供
することである。
[課題を解決するための手段] 本発明のこのおよび他の目的は、複数の命令の各々を
実行するための命令実行手段、該命令実行手段に結合さ
れてデータプロセッサに対しメモリに格納された情報を
提供するためのメモリインタフェース手段、そして前記
命令実行手段に結合され情報を格納しかつ提供するため
のレジスタ手段、を具備し、前記命令実行手段は、前記
メモリインタフェース手段を作動させて第1のユニット
の情報を提供し、前記メモリインタフェース手段を作動
させて第2のユニットの情報を提供し、前記第1および
第2のユニットの情報に対し補間操作を行ないかつ出力
を与えることにより、前記複数の命令の内の第1の特定
の1つの実行に応答するための手段を具備する、データ
プロセッサにより提供される。
[実施例] 本発明のこれらおよび他の見地は図面と共に以下の詳
細な説明からより明らかになるであろう。
第1図は、本発明の特定の実施例に係わる集積回路デ
ータプロセッサを示す。マイクロコンピュータ10は、中
央処理ユニット(CPU)11、モジュール(inter−modul
e)間バス(IMB)12、シリアル通信インタフェース13、
オンボードメモリ、タイマモジュール15、およびシステ
ム集積モジュール(SIM)16を具備する。複数のデー
タ、アドレスおよび制御信号線を具備する、モジュール
間バス12は、マイクロコンピュータ10の他の構成要素の
各々に結合されかつそれらの間の通信を提供する。シリ
アルインタフェース13はマイクロコンピュータ10と外部
装置およびシステムとの間の同期および/または非同期
シリアルデータ転送を幾つかのシリアルI/Oピンによっ
て提供する。メモリ14はマイクロコンピュータ10にとっ
て有用なソフトウェア命令および他のデータのための格
納スペースを提供する。タイマモジュール15は、入力捕
獲、出力比較等のような種々のタイミング機能を幾つか
のタイマピンにより提供しかつインタフェース17により
メモリ14に結合されている。SIM16はCPU11に外部メモリ
および他の周辺装置へのアクセスを提供する目的でIMB1
2および外部バス間のインタフェースを提供しかつまた
クロック信号発生および分配のようなある種のシステム
機能を与える。
第2図は、単純化された形式で、第1図のCPU11の内
部構造を示す。基本的には、CPU11はマイクロマシン2
0、実行ユニット21、レジスタのセット(組)21および
バスインタフェース23を具備する。マイクロマシン20は
インタフェース23および実行ユニット21に対し双方向的
に結合されている。レジスタ22および実行ユニット21は
ここでは図示されていない内部バス等の手段により互い
に結合されている。実行ユニット21はまた双方向的にイ
ンタフェース23に結合されている。インタフェース23は
IMB12を構成するアドレス、データおよび制御信号に結
合されている。
マイクロマシン20は命令が実行されるべきシーケンス
を決定し、命令がメモリ(メモリモジュール14または外
部メモリ)からフェッチされた後インタフェース23から
それらの命令を受信し、命令フェッチおよびオペランド
読み取りまたは書き込みサイクルを行なうためにインタ
フェース23に命令しかつ命令を実行ユニット21の制御に
使用するための複数の制御信号にデコードする任務を有
する。マイクロマシン20の命令シーケンス機能の一部と
して、それはIMB12からインタフェース23を介して受け
た割り込み要求を認めるか否かを決定する機能を含め、
例外処理を行なう。実行ユニット22はマイクロマシン20
により受信される命令にエンコードされている論理、演
算および他の機能の実際の実行の任務を有している。レ
ジスタ22は実行ユニット21への種々の入力および実行ユ
ニット21の動作結果を格納する。IMBインタフェース23
はIMB12へのマスタオンリ(master−only)インタフェ
ースである。即ち、それはIMB12の読み取りおよび書き
込みサイクルを開始でき、かつそれは他のマスタに対し
そのようなサイクルを開始することを許容できるが、そ
れは他のバスマスタにより開始されるIMB12の読み取り
または書き込みサイクルに応答することができない。
次に第3図を参照すると、第2図のレジスタ22が非常
に詳細に示されている。レジスタ22は、D0−D7で示され
ている8個の32ビットのデータレジスタ、A0−A6で示さ
れている7個の32ビットアドレスレジスタ、それぞれ
(ユーザスタックポインタについて)USPで示されかつ
(スーパーバイザ用スタックポインタに対し)SSPで示
される2個のスタックポインタ、PCで示される単一の32
ビットプログラムカウンタ、SRで示される1個の16ビッ
トステータレジスタ、それぞれ(ソース機能コードに対
し)SFCで示されかつ(デスティネーション機能コード
に対し)DFCで示される2個の3ビットの機能コードレ
ジスタ、そしてVBRで示される1個の32ビットベクトル
ベースレジスタを備えている。2個のスタックポインタ
はそれぞれA7およびA7′の表示によって交互に参照され
る。
また、レジスタ22はCPU11のプログラマーズモデルと
称されるものを備えている。ここに図示されたプログラ
マーズモデルはアメリカ合衆国テキサス州、オースティ
ンのモトローラ社から入手可能なマイクロプロセッサの
68000ファミリのマイクロプロセッサのいずれのユーザ
にもよく知られたものであろう。
第3図に示されるレジスタに加え、CPU11はそれぞれt
emp1およびtemp2と称される2個の一時レジスタ(tempo
rary registers)を含む。これらのレジスタはプログラ
マーズモデルの一部ではないが、その理由はこれら(本
発明に関係しないデバッグモードにおいてのみ利用でき
るある種の命令を除き)CPU11によって実行され得る命
令のいずれによってもユーザにアクセスされ得ないから
である。CPU11によって実行される種々の命令の中間結
果の格納のためにtemplおよびtemp2を用いるが、これに
ついては以下により詳細に説明する。
事実上いずれれのデータプロセッサについてもそうで
あるように、CPU11は固定されたセットの命令を実行で
きる。各命令のオブジェクトコード表現、すなわちメモ
リから実際にフェッチされかつCPU11により実行される
もの、はビットのつながりである。CPU11により実行可
能な各命令は所定数のビットを有する。多くの例におい
ては、命令は、イミディエットデータのような延長ワー
ドを含まずに、32ビットを有する。第4A図はCPU11によ
り実行可能な命令の1つのオブジェクトコードフォーマ
ットを示す。この命令フォーマットは2個の16ビットの
ワードとして示されているが、これはIMB12が一度には
最高16ビットを転送するからである。命令30の最初のワ
ードは5個のビットフィールドを有する。ビット12−15
がビットフィールドはオール1である。ビット9−11か
らなるビットフィールドはマルチプロセッサシステムに
おけるどのプロセッサがこの命令を実行すべきかを示
す。もしCPU11が命令を実行すべきであれば、このビッ
トフィールドはビット100を含むであろう。ビット6−
8からなるビットフィールドはオール0である。ビット
3−5からなるビットフィールドはこの命令を実行する
場合に用いられるべき実効アドレスモードを示す。ビッ
ト0−2からなるビットフィールドは7個のアドレスレ
ジスタの内どれがこの命令に対する実効アドレスを計算
するために使用されるべきかを示す。
この命令31の第2ワードは7個のビットフィールドを
有する。ビット15は0である。ビット12−14からなるビ
ットフィールドは8個のデータレジスタ、Dxと称され
る、のいずれが命令を実効する上で用いられるべきかを
示す。以下に詳細に説明するように、このデータレジス
タはオペランドのソースでありかつこの命令の結果のデ
スティネーションでもある。ビット11は0である。ビッ
ト10は丸めフラグデありかつ補間操作の結果が丸められ
ている(rounded)かあるいはそうでないかを判定する
ために使用される。ビット8−9からなるビットフィー
ルドはビットパターン01を含む。ビット6−7からなる
ビットフィールドは命令がバイト(8ビット)、ワード
(16ビット)あるいはロングワード(32ビット)のいず
れのオペランドを用いて実行されるべきかを示す。この
ビットフィールドはテーブルにおける個々のエントリー
および補間操作の結果の双方のサイズを特定する。最後
に、ビット0−5からなるビットフィールドはオール0
である。
CPU11が第4A図に示されるフォーマットの命令に遭遇
した時、それはデーブルルックアップおよび補間操作を
行なう。この命令の実行の詳細は第3A図を参照して説明
する。第4A図は命令のオブジェクトコード表現を示す。
アセンブリ言語においては、この命令の表現は次に示す
2つの基本的なバリアントを有している。
TABLE,<size> <ea>,Dx、および TABLENR,<size> <ea>,Dx. 前者は命令の丸めバリアントに関し、そして後者は非
丸めバリアントに関する。いずれの場合にも、<size>
アーギュメントは(バイト、ワードまたはロングワード
に対し)B,WまたはLであり、<ea>アーギュメントは
アドレスモードおよびアドレスレジスタの双方を表わ
し、かつDxアーギュメントはデータレジスタを示す。よ
く知られているように、アセンブラとして知られている
ソフトウェアは命令のアセンブリ言語表現をプロセッサ
により実行可能なオブジェクトコード表現に変換する。
第4B図は、CPU11により実行可能な他の命令のオブジ
ェクトコードフォーマットを示すこの命令は第4A図に示
された命令と非常によく似ており、従って相違点のみ説
明する。命令32の第1ワードは、第4A図の命令の第1ワ
ードより1個少ないビットフィールドを有している。実
効アドレスフィールド、即ちビット3−5は、オール0
である。ビット0−2を有するフィールドは、アドレス
レジスタを指示するために使用される代わりに、Dymと
称されるデータレジスタを指示するために使用される。
以下に詳細に説明するように、このデータレジスタはこ
の命令のオペランドのソースである。第2ワード33は第
4A図命令のの第2ワードとビット8および最下位3ビッ
トにおいてのみ異なる。第2ワード33のビット8は、1
ではなく、0である。また、最下位3ビットを有するビ
ットフィードはDynと称されるデータレジスタを指示す
るが、これもまたこの命令のためのオペランドのソース
である。アセンブリ言語においては、第4B図の命令の表
現は次のような2つの基本的なバリアントを有してい
る。
TABLE.<size> Dym:Dyn,Dx、および TABLENR.<size> Dym:Dyn,Dx 第5図は、第4A図の命令を実行する場合にCPU11によ
って行なわれるステップを示す。要約すると、この命令
は予めメモリに格納されていると仮定される符号付きバ
イト、ワードまたはロングワードの値のテーブルから2
つの隣接する値を調べる(ルックアップする。)このデ
ーブルはメモリ14あるいは外部のメモリのいずれにある
もよい。このテーブルは特定された実効アドレスモード
を用いて特定されるアドレスレジスタから計算されたア
ドレスにより特定される位置においてスタートするもの
と仮定する。ルックアップされる最初の値のアドレスは
特定されたデータレジスタにおけるオペランドのビット
8−15をテーブルのスタートアドレスからのオフセット
として用いることにより引き出される。第2の値のアド
レスは第1の値のアドレスを単に増分することにより引
き出されるが、この増分は命令のサイズフィールドに関
連する。メモリから2つのテーブル値がいったん引き出
されると、補間された結果の計算において、特定された
データレジスタにおけるオペランドと下位バイト(ビッ
ト0−7)を用いてリニアな補間が行なわれる。補間計
算の間、中間結果は命令のRビットにより決定されるよ
うに、丸められあるいは丸められない。補間操作の結果
は命令において特定されたデータレジスタに置かれる。
第4A図の命令の実行は実効アドレスを計算することに
より開始される。これはデータ処理技術においてはよく
知られた操作である。好ましい実施例において利用でき
る実効アドレスモードは、アドレスレジスタ・インダイ
レクト、ディスプレイスメントを有すルアドレスレジス
タ・インダイレクト、インデックスを有するアドレスレ
ジスタ・インダイレクト、絶対ショート、絶対ロング、
ディスプレイスメントを有するPC、そしてインデックス
を有するPCである。実効アドレスがテーブルがスタート
すると仮定されるメモリ内の位置を指示する。次に、テ
ーブルへのオフセットが<size>によりDxの内容のビッ
ト8−15を尺度変更(スケール)することにより計算さ
れる。言い変えれば、Dxのビット8−15がそこから最初
の値が引き出されるべきテーブルエントリーの番号を含
むものと仮定される。メモリアドレスに関する実際のオ
フセットはこの番号から各テーブルエントリーがいかに
多くのメモリロケーションを占有するかを示す、<size
>パラメータによってそれを乗算することにより計算さ
れなければならない。
次に、引き出されるべき最初のデーブルエントリーの
メモリアドレスがオフセットを実効アドレスに加算する
ことにより計算される。次に、(第2図の23の)バスイ
ンターフェースが丁度計算されたアドレスを用いて適切
なサイズのオペランド読み取りサイクルを実行するよう
に命令される。このバスサイクルの結果は、それが完了
すると、先に述べた中間結果レジスタであるtemp1に記
憶される。次に、引き出されるべき第2のテーブルエン
トリーのアドレスが<size>パラメータを第1のテーブ
ルエントリーのアドレスに加算することにより計算され
る。バスインターフェースが再びこの新しいアドレスを
用いてオペランド読み取りサイクルを実行するよう命令
されかつこのサイクルの結果はtemp2に記憶される。
次の3つのステップは実際の補間操作を行なう。最初
に、temp1の値がtemp2の値から減算され、その結果がte
mp2に置かれる。次に、temp2の値がDxの下位バイトを25
6で除算することにより計算される補間分数(interpola
tion fraction)により乗算される。Dxの下位バイトは
8個の2進ディジットを有するから、それは0から255
の範囲における10進数を表わすことができ、従って補間
分数の計算は先に述べた通りである。この操作の結果は
temp2に置かれかつ調整された差分として参照される。
次に、この中間結果がRビットの状態に応じて、丸めら
れあるいは丸められない。もしRビットが0であれば、
次のようにして丸めが行なわれる。もし調整された差分
の分数部分が(10進表示における)−1/2以下であれ
ば、調整された差分から1が減算されかつ整数部分が丸
められ、調整された差分として取られる。もし調整され
た差分の分数部分が−1/2より大きくかつ+1/2より小さ
ければ、整数部分が丸められ、調整された差分として取
られる。もし調整された差分の分数部分が+1/2以上で
あれば、調整された差分に1が加算されかつ整数部分が
丸められ、調整された差分として取られる。最後に、te
mp1の値がtemp2の値に加算されその結果がDxに記憶され
る。これは標準的なリニア補間操作と認られるであろ
う。勿論、適切な場合には任意の他の補間操作に置き変
えることは容易であろう。
丸められた(整数)結果に対しては、結果はオペラン
ドと同じサイズであり、即ち<size>パラメータにより
特定されたものと同じであり、かつDxに右揃え(right
justified)様式で記憶される。Dxの上位ビットは、バ
イトまたはワードのサイズであると仮定すると、影響を
受けない。丸められていない結果に対しては、Dxの下位
バイトは<size>パラメータが如何に係わらず、結果の
分数部分を含む。Dxの残余の部分は結果を含み、バイト
およびワードの結果はDxを満たすために符号延長(sign
−extendnd)されている。
第6図を参照すると、第4B図の命令を実行する場合に
おけるCPU11により行なわれるステップが示されてい
る。要約すると、この命令は補間されるべき値をメモリ
におけるテーブルからよりはむしろ命令内で特定された
レジスタから得る。この命令は3次元、あるいはサーフ
ェスルックアップおよび補間操作を行なう場合に有用で
ある。言い変えれば、第4A図の命令の2つの先の実行は
補間された結果をデータレジスタに記憶させるであろ
う。次に第4B図の命令の例はこれらの2つの結果の間の
補間をするために用いることができる。命令のDymフィ
ールドにより特定されるレジスタは第1の値のソースで
あり、かつDynフィールドにより特定されるレジスタは
第2の値のソースでもある。それ以外はこの命令の実行
は第4A図のものと同じである。
Dxを変えることに加え、上に述べた命令の双方ともス
テータスレジスタの条件コードビット(X,N,Z,Vおよび
C)の幾つかを変えることができる。両方共同様にして
そのようにする。X(extend)はけっして影響されな
い。C(carry)は常にクリアされる。N(negative)
は結果の最上位がビットがセットされればセットされか
つそれ以外はクリアされる。Z(zero)は結果が0であ
ればセットされかつそれ以外はクリアされる。V(over
flow)は丸められていないロングワードの結果の整数部
分が−223から223の範囲になければセットされかつそれ
以外はクリアされる。
上述のような様式でのDxの内容の利用は命令の幾らか
の制限を含む。Dxのフィールドの双方は1バイトの長さ
であるから、双方共255の最大10進値を有している。従
って、いずれのテーブルも、最大で、257のエントリー
を持つことができかつ補間操作の最大の分解能は2つの
連続するテーブルエントリーの間の距離の1/256であ
る。このことは開示された実施例のこれらの特徴を適切
な環境において変更できることを示唆する。例えば、も
しデータ処理システムの設計者ガが比較的少ないデータ
ポイントを有するテーブルを含む主要な応用を予見して
おりかつその場合高度の補間の分解能が有用であれば、
オペランドのより多くのビットを補間分数を計算するた
めに使用しかつより少ないビットをテーブルオフセット
を計算するために使用することが適当であろう。明らか
に、もし多くのエントリイを有するテーブルを含む主要
な応用が予見されかつより低い補間の分解能が許容でき
る場合には逆が正しいこととなる。また、柔軟性を最大
にするために各々の目的に対していかに多くのビットが
使用されるべきかを特定する可変ビットフィールドを命
令中に含ませることもできる。上述の実施例における、
他の明らかな変更はDxレジスタを下位16ビットのみを用
いることである。勿論、Dxのビットのこの数より多くあ
るいは少しを適切に用いることも可能である。さらに、
他の実施例においては、Dxそれ自体のサイズを32ビット
以外にすることができる。さらに他の可能な変更テーブ
ルそれ自体に格納されたデータにより特定されるべき
(オフセットを計算しかつ補間計算を行なう)2つの機
能のために使用されるDxのビット数を許容することであ
る。これはデーブルエントリーの数および補間の分解能
を命令それ自体にビットフィールドを付加することなく
テーブルからテーブルへと変え得ることを許容するであ
ろう。
明瞭化のため、上の説明は2つの別の命令の存在に言
及している。そこにおいては2つの命令をメモリからあ
るいはレジスタから補間値を得る選択を有する単一の命
令として言及することがまさに正確であろう。一方、多
数の関連する命令の存在を述べることもまた正確である
が、それはアドレシングのモード、丸めフラグの設定お
よび他の変数の順列が多く別のオブジェクトコードのビ
ットパターンを生成するからである。
説明された実施例に対するこれらおよび他の変更は当
業者には明らかでありかつ本発明の精神および範囲内に
あるものである。
【図面の簡単な説明】
第1図は、本発明の好ましい実施例に係わる集積回路デ
ータプロセッサを示すブロック図、 第2図は、第1図の装置の中央処理ユニットを示すブロ
ック図、 第3図は、第1図の装置の中央処理ユニットのレジスタ
セット、またはプログラマーズモデルを示す説明図、 第4A図および第4B図はそれぞれ、第1図および第2図の
装置により実行可能なテーブルルックアップおよび補間
命令の第1および第2のバリアントの命令フォーマット
を示す説明図、 第5図は、第4A図の命令を実行する場合における第1図
および第2図の装置により実行されるステップを示すフ
ローチャート、そして 第6図は、第4B図の命令を実行する場合における第1図
および第2図の装置により実行されるステップを示すフ
ローチャートである。 10:マイクロコンピュータ、 11:中央処理ユニット、 12:モジュール間バス(IMB)、 13:シリアル通信インタフェース、 14:オンボードメモリ、 15:タイマモジュール、 16:システム統合モジュール(SIM)、 17:インタフェース、 20:マイクロマシン、 21:実行ユニット、 22:レジスタ、 23:バスインタフェース。
フロントページの続き (72)発明者 ライト・シー・デイビッド アメリカ合衆国ミシガン州 48044、マ ウント・クレメンス、バリー・ドライブ 17648 (72)発明者 ダン・ジョン・フィリップ アメリカ合衆国テキサス州 78737、オ ースチン、グラナダ・ヒルズ・ドライブ 9206 (72)発明者 バグリカ・ジョン アメリカ合衆国テキサス州 78748、オ ースチン、クリークビュー・ドライグ 10622 (56)参考文献 特開 昭60−22878(JP,A)

Claims (10)

    (57)【特許請求の範囲】
  1. 【請求項1】複数の命令の各々を実行するための命令実
    行手段(21)、 該命令実行手段(21)に結合されデータプロセッサにメ
    モリに記憶された情報を提供するためのメモリインタフ
    ェース手段(23)、そして 前記命令実行手段(21)に結合され情報を格納しかつ提
    供するためのレジスタ手段(22)、 を具備し、前記命令実行手段(21)はさらに、 前記メモリから第1のユニットの情報を提供するために
    前記メモリインタフェース手段(23)を作動させ、前記
    メモリから第2のユニットの情報を提供するために前記
    メモリインタフェース手段を作動させ、前記第1および
    第2のユニットの情報に対し補間操作を行ない、かつ第
    1の出力値を提供することにより前記複数の命令の内の
    第1の特定の命令(第4A図)の実行に応答するための第
    1の手段、そして 前記メモリにアクセスするために前記メモリインタフェ
    ース手段を作動させることなく前記第1のユニットの情
    報の、ユーザ入力を、前記データプロセッサによって実
    行されるべきプログラムを作成するユーザから、提供す
    るために前記レジスタ手段(22)を作動させ、前記レジ
    スタ手段を作動させて前記メモリにアクセスするために
    前記メモリインタフェース手段を作動させることなく前
    記第2のユニットの情報のユーザ入力を提供し、前記第
    1および第2のユニットの情報に対し補間操作を行な
    い、かつ第2の出力値を提供することにより、前記複数
    の命令の内の第2の特定の命令(第4B図)の実行に応答
    するための第2の手段、を具備することを特徴とするデ
    ータプロセッサ(10)。
  2. 【請求項2】前記命令実行手段はさらに、 前記補間操作の間選択的に丸め操作を行なうことにより
    前記複数の命令の内の前記第1の特定の命令の実行に応
    答するための丸め手段を具備し、かつ前記選択的丸めは
    前記複数の命令の内の前記第1の特定の命令の丸め部分
    により制御されることを特徴とする請求項1に記載のデ
    ータプロセッサ。
  3. 【請求項3】前記命令実行手段はさらに、 前記補間操作の間選択的に丸め操作を行なうことにより
    前記複数の命令の内の前記第1および第2の特定の実行
    に応答するための丸め手段を具備し、かつ前記選択的丸
    めは前記複数の命令の内の前記第1および第2の特定の
    命令の丸め部分により制御されることを特徴とする請求
    項1に記載のデータプロセッサ。
  4. 【請求項4】さらに、 前記メモリインタフェース手段に結合され、前記レジス
    タ手段を作動させて第3のユニットの情報を提供し、該
    第3のユニットの情報の尺度変更された第1の部分を前
    記アドレスに加算することにより前記第1のユニットの
    情報アドレスを計算することにより、前記複数の命令の
    内の前記第1の特定の命令の実効アドレス部分に応答し
    てアドレスを計算するためのアドレス計算手段、 を具備することを特徴とする請求項1に記載のデータプ
    ロセッサ。
  5. 【請求項5】前記命令実行手段はさらに、 前記第1および第2のユニットの情報の間の差を計算す
    るための手段、 前記第3のユニットの情報の第2の部分から補間分数を
    計算するための手段、前記第1および第2のユニットの
    情報の間の差と前記補間分数との積を計算するための手
    段、そして 前記第1のユニットの情報および前記第1および第2の
    ユニットの情報の間の差と前記補間分数との積の和を計
    算するための手段、 を具備することを特徴とする請求項4に記載のデータプ
    ロセッサ。
  6. 【請求項6】複数の命令の各々をデコードしかつ複数の
    制御信号を生成するための命令デコード手段、 該命令デコード手段に結合されかつ制御信号に応答して
    情報を格納しかつ提供するためのレジスタ手段、 前記命令デコード手段に結合されかつ制御信号に応答し
    てデータプロセッサに情報格納手段に格納された情報を
    提供するためのインタフェース手段、そして前記命令デ
    コード手段、レジスタ手段およびインタフェース手段に
    結合されかつ制御信号に応答して演算および論理的計算
    を行なうための計算手段、 を具備するデータプロセッサであって、 (1)前記インタフェース手段を作動させて前記情報格
    納手段における第1のロケーションから第1のユニット
    の情報を提供し、(2)前記インタフェース手段を作動
    させて前記情報格納手段における第2のロケーションか
    ら第2のユニットの情報を提供し、(3)前記計算手段
    を作動させて前記第1および第2のユニットの情報に対
    し補間計算を行ない、かつ(4)前記レジスタ手段を作
    動させて前記補間計算の結果を格納する、制御信号を発
    生することにより前記複数の命令の内の第1の特定の命
    令のデコードに応答する命令実行手段、 を具備し、該命令実効手段はさらに、(1)前記レジス
    タ手段を作動させて前記格納手段にアクセスするために
    前記インタフェース手段を作動させることなく第1のユ
    ニットの情報のユーザ入力を提供し、(2)前記レジス
    タ手段を作動させて前記格納手段にアクセスするために
    前記インタフェース手段を作動させることなく第2のユ
    ニットの情報のユーザ入力を提供し、(3)前記計算手
    段を作動させて前記第1および第2のユニットの情報に
    対し補間計算を行ないかつ(4)前記レジスタ手段を作
    動させて前記補間計算の結果を格納する、制御信号を発
    生することにより前記複数の命令の内の第2の特定の命
    令のデコードに応答することを特徴とするデータプロセ
    ッサ。
  7. 【請求項7】前記命令実行手段はさらに、 前記補間計算の間選択的に丸め操作を行なうことにより
    前記複数の命令の内の前記第1の特定の命令の実行に応
    答するための丸め手段を具備し、かつ前記選択的丸めは
    前記複数の命令の内の前記第1の特定の命令の一部によ
    り制御されることを特徴とする請求項6に記載のデータ
    プロセッサ。
  8. 【請求項8】前記命令実行手段はさらに、 前記補間計算の間選択的に丸め操作を行なうことにより
    前記複数の命令の内の前記第1および第2の特定の命令
    の実行に応答する丸め手段を具備し、かつ前記選択的丸
    めは前記複数の命令の内の前記第1および第2の特定の
    命令の一部により制御されることを特徴とする請求項6
    に記載のデータプロセッサ。
  9. 【請求項9】さらに、 前記命令実行手段は、(1)レジスタ手段を作動させて
    第3のユニットの情報を提供し、(2)前記計算手段を
    作動させて(a)前記複数の命令の内の前記第1の特定
    の命令の実効アドレス部分からアドレスを計算しかつ
    (b)前記第3のユニットの情報の尺度変更された第1
    の部分を前記アドレスに加算することにより前記情報格
    納手段における前記第1のロケーションを計算する、制
    御信号を発生することにより、前記複数の命令の内の前
    記第1の特定の命令の実行にさらに応答する、 ことを特徴とする請求項6に記載のデータプロセッサ。
  10. 【請求項10】さらに、 前記命令実行手段は、前記計算手段を作動させて、
    (1)前記第1および第2のユニットの情報の間の差を
    計算し、(2)前記第3のユニットの情報の第2の部分
    から補間分数を計算し、(3)前記第1および第2のユ
    ニットの情報の間の差と前記補間分数との積を計算し、
    かつ(4)前記第1および第2のユニットの情報の間の
    差と前記補間分数との積および前記第1のユニットの情
    報の和を計算することにより、前記複数の命令の内の前
    記第1の特定の命令の実行にさらに応答する、 ことを特徴とする請求項9に記載のデータプロセッサ。
JP2054799A 1989-03-06 1990-03-06 データプロセッサ Expired - Fee Related JP2609552B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/319,003 US5170475A (en) 1989-03-06 1989-03-06 Data processor having instructions for interpolating between memory-resident data values respectively
US319,003 1989-03-06

Publications (2)

Publication Number Publication Date
JPH02272677A JPH02272677A (ja) 1990-11-07
JP2609552B2 true JP2609552B2 (ja) 1997-05-14

Family

ID=23240476

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2054799A Expired - Fee Related JP2609552B2 (ja) 1989-03-06 1990-03-06 データプロセッサ

Country Status (4)

Country Link
US (1) US5170475A (ja)
EP (1) EP0387008A3 (ja)
JP (1) JP2609552B2 (ja)
KR (1) KR0143553B1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5764990A (en) * 1996-03-18 1998-06-09 Hewlett-Packard Company Compact encoding for storing integer multiplication Sequences
US5951625A (en) * 1997-06-30 1999-09-14 Truevision, Inc. Interpolated lookup table circuit
DE19819445A1 (de) * 1998-04-30 1999-11-04 Volkswagen Ag Verfahren zur Bestimmung von Kennfelddaten zur Kennfeldsteuerung eines Verbrennungsmotors sowie Verfahren zur Steuerung eines Verbrennungsmotors
EP0953897B1 (en) * 1998-05-01 2003-07-30 Hewlett-Packard Company, A Delaware Corporation Processing instruction using hashing
US7690111B2 (en) * 2005-04-14 2010-04-06 Mechanical Dynamics And Analysis, Llc Method and apparatus for repairing turbine rotor
US20170003966A1 (en) * 2015-06-30 2017-01-05 Microsoft Technology Licensing, Llc Processor with instruction for interpolating table lookup values
US10466967B2 (en) * 2016-07-29 2019-11-05 Qualcomm Incorporated System and method for piecewise linear approximation
US20240095180A1 (en) * 2022-06-06 2024-03-21 Advanced Micro Devices, Inc. Systems and methods for interpolating register-based lookup tables

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1036644A (en) * 1964-05-14 1966-07-20 Ibm Improvements in or relating to data processing machines
US3748447A (en) * 1971-11-18 1973-07-24 Sperry Rand Corp Apparatus for performing a linear interpolation algorithm
US3725794A (en) * 1972-02-07 1973-04-03 Gte Sylvania Inc Interpolating apparatus
JPS5434579B2 (ja) * 1974-06-25 1979-10-27
US4118776A (en) * 1975-07-17 1978-10-03 Nippon Electric Company, Ltd. Numerically controlled machine comprising a microprogrammable computer operable with microprograms for macroinstructions and for inherent functions of the machine
US4338675A (en) * 1980-02-13 1982-07-06 Intel Corporation Numeric data processor
US4313173A (en) * 1980-06-10 1982-01-26 Bell Telephone Laboratories, Incorporated Linear interpolator
US4402012A (en) * 1981-11-16 1983-08-30 General Electric Company Two-dimensional digital linear interpolation system
JPS6022878A (ja) * 1983-07-18 1985-02-05 Sony Corp デイジタル画像信号の補間方法
GB2191880B (en) * 1986-06-13 1990-08-15 Singer Link Miles Ltd Linear interpolator
JPS6453274A (en) * 1987-08-25 1989-03-01 Hitachi Ltd Interpolation device having line segment processing part running parallel with coordinate axis
US5020014A (en) * 1989-02-07 1991-05-28 Honeywell Inc. Generic interpolation pipeline processor

Also Published As

Publication number Publication date
US5170475A (en) 1992-12-08
JPH02272677A (ja) 1990-11-07
KR900015014A (ko) 1990-10-25
EP0387008A3 (en) 1992-12-30
EP0387008A2 (en) 1990-09-12
KR0143553B1 (ko) 1998-08-17

Similar Documents

Publication Publication Date Title
EP0525375B1 (en) Microcomputer
EP0198214B1 (en) Branch control in a three phase pipelined signal processor
Hajduk et al. Architecture of FPGA embedded multiprocessor programmable controller
US20040177211A1 (en) Microcontroller instruction set
US4539635A (en) Pipelined digital processor arranged for conditional operation
US5249280A (en) Microcomputer having a memory bank switching apparatus for accessing a selected memory bank in an external memory
JP2001092662A (ja) プロセッサコア及びこれを用いたプロセッサ
JP2609552B2 (ja) データプロセッサ
KR100272622B1 (ko) 데이타 처리장치
JP2006313561A (ja) データ処理装置
EP0745932B1 (en) Microprocessor supporting variable length instruction execution
JPH10207717A (ja) マイクロコンピュータ
US4598358A (en) Pipelined digital signal processor using a common data and control bus
Toong et al. An architectural comparison of contemporary 16-bit microprocessors
JPH07120284B2 (ja) データ処理装置
US4974157A (en) Data processing system
US5301338A (en) System including central processing unit
US5390306A (en) Pipeline processing system and microprocessor using the system
US5742842A (en) Data processing apparatus for executing a vector operation under control of a master processor
US4980821A (en) Stock-memory-based writable instruction set computer having a single data bus
JPH0651981A (ja) データ処理装置
JPH06222982A (ja) オフセット合計を計算するデータ処理システムとその方法
KR19980018071A (ko) 멀티미디어 신호 프로세서의 단일 명령 다중 데이터 처리
JP3786575B2 (ja) データ処理装置
US5596761A (en) Central processing unit with internal register initializing means

Legal Events

Date Code Title Description
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