JPS60191333A - デ−タ処理装置 - Google Patents
デ−タ処理装置Info
- Publication number
- JPS60191333A JPS60191333A JP4765484A JP4765484A JPS60191333A JP S60191333 A JPS60191333 A JP S60191333A JP 4765484 A JP4765484 A JP 4765484A JP 4765484 A JP4765484 A JP 4765484A JP S60191333 A JPS60191333 A JP S60191333A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- register
- processing unit
- processor
- fpu
- 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.)
- Pending
Links
Landscapes
- Advance Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明は、データ処理装置に係り、特にマイクロコンピ
ュータ等の汎用データ処理装置における入力バス等に付
加され、特殊な演算を高速に実行するのに好適なデータ
処理装置に関する。
ュータ等の汎用データ処理装置における入力バス等に付
加され、特殊な演算を高速に実行するのに好適なデータ
処理装置に関する。
最近、マイクロコンピュータ分野を中心として国際標準
化されたバスに、プロセッサ、主記憶装置、および入出
力機器を接続し、各種の要求に応じた柔軟なシステム構
成を採用する傾向がある。
化されたバスに、プロセッサ、主記憶装置、および入出
力機器を接続し、各種の要求に応じた柔軟なシステム構
成を採用する傾向がある。
一般に、この糧のシステムではバスを標準化しているた
め、種々のメーカーのボードを選択することができ、最
新の機器の接続が容易である。このようなシステムにお
いて、通常の演y処理の他に浮動小数点演算や関数演算
を高速で行いたい場合には、汎用マイクロプロセッサを
基本プロセッサ(BPU)に使用し、これとは別に特殊
プロセッサをバスに追加実装することにより、入力デー
タをその特殊プロセッサにバス経由で転送し、演算終了
後、結果を再びバス経由で取シ出すようにした、いわゆ
る付加プロセッサ方式がとられることが多い。
め、種々のメーカーのボードを選択することができ、最
新の機器の接続が容易である。このようなシステムにお
いて、通常の演y処理の他に浮動小数点演算や関数演算
を高速で行いたい場合には、汎用マイクロプロセッサを
基本プロセッサ(BPU)に使用し、これとは別に特殊
プロセッサをバスに追加実装することにより、入力デー
タをその特殊プロセッサにバス経由で転送し、演算終了
後、結果を再びバス経由で取シ出すようにした、いわゆ
る付加プロセッサ方式がとられることが多い。
ここで、付加プロセッサ方式のシステムの一例を第1図
に示す。基本プロセッサ(BPU)1、主記憶装置(M
S )2、付加処理装置としての浮動小数点プロセッサ
(FPU)3、磁気記憶装置(例えば、フロッピーディ
スク装置(F/D))5が全てシステムバス8に接続さ
れている。基本プロセッサ(BPU)1は主d田意装置
(MS)2内のプログラムを続出して解読し、主記憶装
置(MS’)2内のデータの加工や磁気記憶装置5との
データ転送、浮動小数点プロセッサ(FPU)3とのデ
ータ転送を行う。このようなシステムを自動化技術や特
性シミュレーション分野に使おうとする場合に、近似計
算に多用される多項式の計算を浮動小数点プロセッサ(
FPU)3によって高速に実行したいという要求がある
。多項式とは例えば、 y=ao+x(a1+x(a2+x(a3+x(a4+
・、+xaa))))の如くである。ここに、a(、X
allは定数、Xは入力変数、yは結果である。iil
oxilmは定数であるが、プログラム毎に種々の値を
設定する必要がある。したがって、浮動小数点プロセッ
サ(FPU)3の多項式演算命令を起動するには、入力
変数Xのみでなく、係数a Q −aゎも、基本プロセ
ッサ(BPU)1から浮動小数点プロセッサ(FPU)
3に与える必要がある。しかし、多項式演算命令のたび
に係数a(1−a、を与えるのは高速処理の妨げとなる
。係数3ox3.の値は、応用分野により数種に限定さ
れることが多く、応用分野毎に数種の係数固定多項式が
あればよい。これに対処する方法として、従来では、浮
動小数点プロセッサ(FPU)30制御記憶を書替え可
能とするために、書込可能な制御記憶装置(以F1制#
記憶という。)(WO2)を用い、システム立上げ時に
磁気記憶装置5内にあらかじめ記憶しておいたFPU用
マイクロプログラムのパターンを制御記憶(WO2)に
ローディングし、このパターンを応用分野毎に変えるこ
とにより、応用分野に必要な固定係数の多項式命令を準
備することが知られている。
に示す。基本プロセッサ(BPU)1、主記憶装置(M
S )2、付加処理装置としての浮動小数点プロセッサ
(FPU)3、磁気記憶装置(例えば、フロッピーディ
スク装置(F/D))5が全てシステムバス8に接続さ
れている。基本プロセッサ(BPU)1は主d田意装置
(MS)2内のプログラムを続出して解読し、主記憶装
置(MS’)2内のデータの加工や磁気記憶装置5との
データ転送、浮動小数点プロセッサ(FPU)3とのデ
ータ転送を行う。このようなシステムを自動化技術や特
性シミュレーション分野に使おうとする場合に、近似計
算に多用される多項式の計算を浮動小数点プロセッサ(
FPU)3によって高速に実行したいという要求がある
。多項式とは例えば、 y=ao+x(a1+x(a2+x(a3+x(a4+
・、+xaa))))の如くである。ここに、a(、X
allは定数、Xは入力変数、yは結果である。iil
oxilmは定数であるが、プログラム毎に種々の値を
設定する必要がある。したがって、浮動小数点プロセッ
サ(FPU)3の多項式演算命令を起動するには、入力
変数Xのみでなく、係数a Q −aゎも、基本プロセ
ッサ(BPU)1から浮動小数点プロセッサ(FPU)
3に与える必要がある。しかし、多項式演算命令のたび
に係数a(1−a、を与えるのは高速処理の妨げとなる
。係数3ox3.の値は、応用分野により数種に限定さ
れることが多く、応用分野毎に数種の係数固定多項式が
あればよい。これに対処する方法として、従来では、浮
動小数点プロセッサ(FPU)30制御記憶を書替え可
能とするために、書込可能な制御記憶装置(以F1制#
記憶という。)(WO2)を用い、システム立上げ時に
磁気記憶装置5内にあらかじめ記憶しておいたFPU用
マイクロプログラムのパターンを制御記憶(WO2)に
ローディングし、このパターンを応用分野毎に変えるこ
とにより、応用分野に必要な固定係数の多項式命令を準
備することが知られている。
しかし、この方式では、固定係数が変わると、磁気記憶
装置5に記憶しておくパターンをその都度変えなければ
ならず、ダイナミックな変更をやろうとすると、磁気記
憶装置5内に同一容量の別のパターンを準備しておく必
要があるので、不経済なものとなる、また、応用分野サ
イドのプログラマからのさまざまの要求に従って、浮動
小数点プロセッサ(FPU)3は新たにマイクロプログ
ラムのパターンを設計しなければならず、煩雑となるた
め実運用は困難である。
装置5に記憶しておくパターンをその都度変えなければ
ならず、ダイナミックな変更をやろうとすると、磁気記
憶装置5内に同一容量の別のパターンを準備しておく必
要があるので、不経済なものとなる、また、応用分野サ
イドのプログラマからのさまざまの要求に従って、浮動
小数点プロセッサ(FPU)3は新たにマイクロプログ
ラムのパターンを設計しなければならず、煩雑となるた
め実運用は困難である。
一方、基本プロセッサ(BPU)1の外部レジスタ変更
命令で浮動小数点プロセッサ(FPU)3の制御記憶(
WO2)の特定アドレスに主メモ!j(MS)2内のテ
ーブルの内容を誓込むようにしてユーザサイドのプログ
ラマが自分の処理に適したマイクロプログラムを構築し
て使用することが考えられる。しかし、マイクロプログ
ラムの設計には、ハードウェアを熟知していなければな
らず、ユーザサイドのプログラマがマイクロプログラム
の変更を行うことは困難である。また、浮動小数点プロ
セッサ(FPU)3側の都合によりマイクロプログラム
の変更が行われたとき、マイクロプログラムのアドレス
がずれると、制御記憶(WO2)に書込みを行っている
ソフトウェアプログラムの変更も必要となる欠点がある
。
命令で浮動小数点プロセッサ(FPU)3の制御記憶(
WO2)の特定アドレスに主メモ!j(MS)2内のテ
ーブルの内容を誓込むようにしてユーザサイドのプログ
ラマが自分の処理に適したマイクロプログラムを構築し
て使用することが考えられる。しかし、マイクロプログ
ラムの設計には、ハードウェアを熟知していなければな
らず、ユーザサイドのプログラマがマイクロプログラム
の変更を行うことは困難である。また、浮動小数点プロ
セッサ(FPU)3側の都合によりマイクロプログラム
の変更が行われたとき、マイクロプログラムのアドレス
がずれると、制御記憶(WO2)に書込みを行っている
ソフトウェアプログラムの変更も必要となる欠点がある
。
さらに、浮動小数点プロセッサ(FPU)3内の多項式
命令のだめのローカルメモリを設け、基本プロセッサ(
BPU)1の外部レジスタ変更命令でローカルメモリ内
の予め定められた番地に次数nと係数aQ”−a、をセ
ットする方式がある。
命令のだめのローカルメモリを設け、基本プロセッサ(
BPU)1の外部レジスタ変更命令でローカルメモリ内
の予め定められた番地に次数nと係数aQ”−a、をセ
ットする方式がある。
この方式の欠点は、ローカルメモリを別に設けるためハ
ードウェアの増加が犬きくなることである。
ードウェアの増加が犬きくなることである。
一般に、浮動小数点プロセッサ(FPU)3の内蔵ワー
クレジスタは数本であり、係数aQ−yaaを記憶する
には数十本のワークレジスタを必要とすることとなり、
ハードウェアの増加の割合は大きい。また、次数nをロ
ーカルメモリに記憶すると、多項式演算のマイクロプロ
グラムフローチャートは第2図のようにな如、次数nの
デクリメントのステップ104、次数n=Qかどうかの
判定ステップ105が必要になり、スピードがその分遅
くなるという欠点を有している。
クレジスタは数本であり、係数aQ−yaaを記憶する
には数十本のワークレジスタを必要とすることとなり、
ハードウェアの増加の割合は大きい。また、次数nをロ
ーカルメモリに記憶すると、多項式演算のマイクロプロ
グラムフローチャートは第2図のようにな如、次数nの
デクリメントのステップ104、次数n=Qかどうかの
判定ステップ105が必要になり、スピードがその分遅
くなるという欠点を有している。
本発明は、一つの命令によって応用分野のプログラマが
自己の所望の用途に適した多項式演算等の特殊な演算命
令をマイクロプログラムあるいはハードウェアの知識を
必要とすることなく容易に作り、それによって特殊演算
を実行しうるデータ処理装置を提供することを目的とす
る。
自己の所望の用途に適した多項式演算等の特殊な演算命
令をマイクロプログラムあるいはハードウェアの知識を
必要とすることなく容易に作り、それによって特殊演算
を実行しうるデータ処理装置を提供することを目的とす
る。
本発明は、付加処理装置(FPU)の命令群の一つに、
特定命令(例えは多項式命令)の定義命令を追加し、二
つの定#砧令を付加処理装置に実行させることにより、
付加処理装置が前記定義命令のオペランドとして与えら
れた特定命令の仕様(係数1次数等)に基づいて、前記
特定命令のマイクロプログラムに対応する書込可能な制
御記憶装置の内容を書替えるようにしたことを特徴とす
るものである。
特定命令(例えは多項式命令)の定義命令を追加し、二
つの定#砧令を付加処理装置に実行させることにより、
付加処理装置が前記定義命令のオペランドとして与えら
れた特定命令の仕様(係数1次数等)に基づいて、前記
特定命令のマイクロプログラムに対応する書込可能な制
御記憶装置の内容を書替えるようにしたことを特徴とす
るものである。
次に、本発明によるデータ処理装置の一実施例を図面に
基づいて説明する。
基づいて説明する。
データ処理装置の概要
まず、本発明によるデータ処理装置の概要構成について
説明する。システムの形態としては、第1図に示す場合
と同様である。すなわち、同一ノ(ス8に主処理装置と
しての基本プロセッサ(BPU)1、主メモ!J(MS
)2、付加処理装置としての浮動小数点プロセッサ(F
PU)3、磁気記憶装置(F/D)5が接続されている
。ただし、後述するように浮動小数点プロセッサ(FP
U)3は従来とは異なっている。この浮動小数点プロセ
ッサ(F’PU)3は基本プロセッサ(BPU)1の起
動命令により起動され、転送された命令コードと入力デ
ータに基づいて特定の演算を実行する。
説明する。システムの形態としては、第1図に示す場合
と同様である。すなわち、同一ノ(ス8に主処理装置と
しての基本プロセッサ(BPU)1、主メモ!J(MS
)2、付加処理装置としての浮動小数点プロセッサ(F
PU)3、磁気記憶装置(F/D)5が接続されている
。ただし、後述するように浮動小数点プロセッサ(FP
U)3は従来とは異なっている。この浮動小数点プロセ
ッサ(F’PU)3は基本プロセッサ(BPU)1の起
動命令により起動され、転送された命令コードと入力デ
ータに基づいて特定の演算を実行する。
浮動小数点プロセッサ(FPU)3の特定演算命令
浮動小数点プロセッサ(FPU)3の特定演算命令とし
て、先に示した多項式の演算命令(以下POLY命令と
いう。)、すなわち、 Y”ao+X(a l+X(a2+X (a3+X (
a4+ −・” + X an))))・・・・・・・
・・(1) の演算を行うものとする。
て、先に示した多項式の演算命令(以下POLY命令と
いう。)、すなわち、 Y”ao+X(a l+X(a2+X (a3+X (
a4+ −・” + X an))))・・・・・・・
・・(1) の演算を行うものとする。
第3図にPOLY命令のフォーマットを示す。
第3図において、オペレーションコード(以下、オペコ
ード(OPCODE)という。)はPOLY命令にあた
ることを示す特定の(以下、ユニークという。)コード
パターンを有するものであり、第1オペランド(OPR
ANDI) は入力データである入力変数Xを示す。以
上のオペコードを浮動小数点プロセッサ(FPU)3の
オペコードレジスタ(OPCR)11 (第11図)に
、次に第1オペランドをデータレジスタ(WDR)6
(第11図)に基本プロセッサ(BPU)1の外部レジ
スタ書替え命令(変更命令)に基づいて転送すると浮動
小数点プロセッサ(FPU)3が起動され、その演算結
果データがデータレジスタ(RDR)13にセットされ
る。そして基本プロセッサ(BPU)1が外部レジスタ
読出し命令を出力するとデータレジスタ(RDR)48
の内容がバス8を通じて基本プロセッサ(BPU)1に
取込まれる。以上のPOLY命令は第4図のフローに従
って実行さrQ) れる。第4図の各ブロック右上の数字はマイクロプログ
ラムのアドレスを示しており、例えば”、’202″″
の′/”は16進数を示すものである。これらのアドレ
スのうち1202番地の命令のJUMP先アドレスや、
7211〜7219番地のリテラル値は後述するDEF
INE命令によって変更される部分である。リテラル値
は前述の多項式(1)における係数ao−fiaのこと
である。第4図において、AR,32はアキュムレータ
レジスタ(Aレジスタともいう。)、ERatはエグゼ
キュートレジスタを示している(第11図参照)。
ード(OPCODE)という。)はPOLY命令にあた
ることを示す特定の(以下、ユニークという。)コード
パターンを有するものであり、第1オペランド(OPR
ANDI) は入力データである入力変数Xを示す。以
上のオペコードを浮動小数点プロセッサ(FPU)3の
オペコードレジスタ(OPCR)11 (第11図)に
、次に第1オペランドをデータレジスタ(WDR)6
(第11図)に基本プロセッサ(BPU)1の外部レジ
スタ書替え命令(変更命令)に基づいて転送すると浮動
小数点プロセッサ(FPU)3が起動され、その演算結
果データがデータレジスタ(RDR)13にセットされ
る。そして基本プロセッサ(BPU)1が外部レジスタ
読出し命令を出力するとデータレジスタ(RDR)48
の内容がバス8を通じて基本プロセッサ(BPU)1に
取込まれる。以上のPOLY命令は第4図のフローに従
って実行さrQ) れる。第4図の各ブロック右上の数字はマイクロプログ
ラムのアドレスを示しており、例えば”、’202″″
の′/”は16進数を示すものである。これらのアドレ
スのうち1202番地の命令のJUMP先アドレスや、
7211〜7219番地のリテラル値は後述するDEF
INE命令によって変更される部分である。リテラル値
は前述の多項式(1)における係数ao−fiaのこと
である。第4図において、AR,32はアキュムレータ
レジスタ(Aレジスタともいう。)、ERatはエグゼ
キュートレジスタを示している(第11図参照)。
第5図は、次数n=2の実行後のPOLY命令フローの
例であり、第2図の場合に比べ、ステップ短縮されてい
ることがわかる。
例であり、第2図の場合に比べ、ステップ短縮されてい
ることがわかる。
浮動小数点プロセッサ(FPU)3の定義命令POLY
命令はその内容を定義する命令(以下、DEFINE命
令という。)を有しており、そのフォーマットを第6図
に示す。第6図において、オペコードはDEFINE命
令であることを示すユニークなコードパターンであシ、
第1オペランドは(10) POLY命令の次数n1第2〜第9オペランドはPOL
Y命令の係数ao−ayを示す。基本プロセッサ(BP
U)1の外部レジスタ書替え命令により、上記オペコー
ドが浮動小数点プロセッサ(FPU)3のオペコードレ
ジスタ(OPCR)11に、次に第1〜第9オペランド
を順次データレジスタに転送すると、浮動小数点プロセ
ッサ(FPU)3が起動されて第1〜第9オペランドの
内容に基づいてP OL Y命令のマイクロプログラム
中の係a a o ” a mのパターンや分岐先フィ
ールドのパターンが変更される。このように、係数のパ
ターンを変更するだけでなく、マイクロプログラムの分
岐先フィールドのパターンを変更することにより、特定
命令を実行しようとするときにマイクロプログラムのル
ートが最適となるように制御記憶(WC8)4を書替え
ることにより処理の高速化を図ることができる。
命令はその内容を定義する命令(以下、DEFINE命
令という。)を有しており、そのフォーマットを第6図
に示す。第6図において、オペコードはDEFINE命
令であることを示すユニークなコードパターンであシ、
第1オペランドは(10) POLY命令の次数n1第2〜第9オペランドはPOL
Y命令の係数ao−ayを示す。基本プロセッサ(BP
U)1の外部レジスタ書替え命令により、上記オペコー
ドが浮動小数点プロセッサ(FPU)3のオペコードレ
ジスタ(OPCR)11に、次に第1〜第9オペランド
を順次データレジスタに転送すると、浮動小数点プロセ
ッサ(FPU)3が起動されて第1〜第9オペランドの
内容に基づいてP OL Y命令のマイクロプログラム
中の係a a o ” a mのパターンや分岐先フィ
ールドのパターンが変更される。このように、係数のパ
ターンを変更するだけでなく、マイクロプログラムの分
岐先フィールドのパターンを変更することにより、特定
命令を実行しようとするときにマイクロプログラムのル
ートが最適となるように制御記憶(WC8)4を書替え
ることにより処理の高速化を図ることができる。
ここで第7図および第8図にDEFINE命令のマイク
ロフローを示しておく。7302番地〜7319番地ま
では7202番地のJUMP先ア(11) ドレスのピットパターンを書込み、7320番地〜73
37番地までは7211番地〜/218番地までのマイ
クロ命令中のリテラル値を書込む。
ロフローを示しておく。7302番地〜7319番地ま
では7202番地のJUMP先ア(11) ドレスのピットパターンを書込み、7320番地〜73
37番地までは7211番地〜/218番地までのマイ
クロ命令中のリテラル値を書込む。
第9図は、DEFINE命令実行前のPOLY命令の格
納されているアドレスの1llJ御記憶(WCS)4の
内容を示す。×××は内容が不安定であることを示す。
納されているアドレスの1llJ御記憶(WCS)4の
内容を示す。×××は内容が不安定であることを示す。
第10図は、DEFINE命令実行後のPOLY命令の
格納されているアドレスの制御記憶(WC8)4の内容
を示す。使用する部分のみ内容が確定している。
格納されているアドレスの制御記憶(WC8)4の内容
を示す。使用する部分のみ内容が確定している。
浮動小数点プロセッサ(FPU)3
第11図に浮動小数点プロセッサ(F’PU) 3のハ
ードウェアを示す。基本プロセッサ(BPU)1から転
送される命令のオペコードはオペコードレジスタ(OP
CR)11にセットされ、ジャンプ先テーブルメモリ(
JMP ROM)12によりマイクロプログラムの先頭
アドレスが生成される。
ードウェアを示す。基本プロセッサ(BPU)1から転
送される命令のオペコードはオペコードレジスタ(OP
CR)11にセットされ、ジャンプ先テーブルメモリ(
JMP ROM)12によりマイクロプログラムの先頭
アドレスが生成される。
また転送データは書込みデータレジスタ(WDR’)6
に格納される。
に格納される。
ジャンプ先テーブルメモリ(JMP ROM)12(1
2) への入力が1)EFINE命令(第5図)のパターンで
ある場合1.DEFIN)i: k5令のマイクロプロ
グラムが制御記憶(WC8)4から順次読出され、必要
なデータがWCSアドレスレジスタ(WcsAa)44
、WC8入カレジスタ(WC8IR)41、およびマイ
クロ命令レジスタ(IV IR)42のデニタ格納用の
ブロック(第8図420,421.422)を指定する
ブロック指定レジスタ(BLOCK)47にセットされ
た後、WC8書込みモードフリップフロップ(F’F)
200がセットされ、制御記憶(Wcs)4への誉込み
が行われる。この動作は制御記憶(WC8)4に設けら
れた書込制御部(WC)4によって制御される。
2) への入力が1)EFINE命令(第5図)のパターンで
ある場合1.DEFIN)i: k5令のマイクロプロ
グラムが制御記憶(WC8)4から順次読出され、必要
なデータがWCSアドレスレジスタ(WcsAa)44
、WC8入カレジスタ(WC8IR)41、およびマイ
クロ命令レジスタ(IV IR)42のデニタ格納用の
ブロック(第8図420,421.422)を指定する
ブロック指定レジスタ(BLOCK)47にセットされ
た後、WC8書込みモードフリップフロップ(F’F)
200がセットされ、制御記憶(Wcs)4への誉込み
が行われる。この動作は制御記憶(WC8)4に設けら
れた書込制御部(WC)4によって制御される。
なお、81はアドレスバス、82は命令データバスであ
る。
る。
書込制御部(WC)
第12図に制御記憶(WC8)とその書込制御部(WC
)を示す。この書込制御部(WC)はデコーダ470、
ライトイネーブルゲート471〜474、およびWC8
人カゲート410、WC8(13) 出力ゲート411よ多構成きれる。そして書込制御部(
WC)はマイクロプログラムにより動作するが、マイク
ロ命令レジスタ(lV[IR)42におけるマイクロ命
令のビットフィールドは第13図に示すように4つのブ
ロック420,421゜422.423に分けられてお
り、これらのブロックに対応してライトイネーブルゲー
トが471〜474の4つ設けられている。すなわち、
ブロック420はライトイネーブルゲート471〜47
4の開閉や演算部(エクゼキュートレジスタ(ER)3
1、アキュムレータレジスタ(AR)32、ALU33
)の制御ビットを格納するフィールドである。ブロッ
ク421はリテラル値(多項式の係数aQ−a、)ビッ
トを格納するフィールドである。このように、マイクロ
プログラム中に係数a6−a、を埋込むようにしたこと
により、従来のように処理の高速化を目的とした特別の
定数テーブルを格納するレジスタをもたなくても処理で
きるという利点がある。
)を示す。この書込制御部(WC)はデコーダ470、
ライトイネーブルゲート471〜474、およびWC8
人カゲート410、WC8(13) 出力ゲート411よ多構成きれる。そして書込制御部(
WC)はマイクロプログラムにより動作するが、マイク
ロ命令レジスタ(lV[IR)42におけるマイクロ命
令のビットフィールドは第13図に示すように4つのブ
ロック420,421゜422.423に分けられてお
り、これらのブロックに対応してライトイネーブルゲー
トが471〜474の4つ設けられている。すなわち、
ブロック420はライトイネーブルゲート471〜47
4の開閉や演算部(エクゼキュートレジスタ(ER)3
1、アキュムレータレジスタ(AR)32、ALU33
)の制御ビットを格納するフィールドである。ブロッ
ク421はリテラル値(多項式の係数aQ−a、)ビッ
トを格納するフィールドである。このように、マイクロ
プログラム中に係数a6−a、を埋込むようにしたこと
により、従来のように処理の高速化を目的とした特別の
定数テーブルを格納するレジスタをもたなくても処理で
きるという利点がある。
ブロック422は次のアドレス(NEXT ADDR)
(14) を格納するフィールド、423は条件9分岐。
(14) を格納するフィールド、423は条件9分岐。
JUMP先アドレスを格納するフィールドである。
次に、第14図の書込みマイクロプログラムサブルーチ
ンのフローチャートに従って、書込制御動作を説明する
。まず、曹替えるべきマイクロ命令の制御記憶(WC8
)4におけるアドレスをWCSアドレスレジスタ(WC
!5AI() 44にセットする。次に、そのビットフ
ィールドをブロック指定レジスタ(BLOCK)47に
セットする。ブロック指定レジスタ(BLOCK)47
の出力はデコーダ(DEC)470に接続され、その出
力はライトイネーブルゲート471〜474に接続され
ている。
ンのフローチャートに従って、書込制御動作を説明する
。まず、曹替えるべきマイクロ命令の制御記憶(WC8
)4におけるアドレスをWCSアドレスレジスタ(WC
!5AI() 44にセットする。次に、そのビットフ
ィールドをブロック指定レジスタ(BLOCK)47に
セットする。ブロック指定レジスタ(BLOCK)47
の出力はデコーダ(DEC)470に接続され、その出
力はライトイネーブルゲート471〜474に接続され
ている。
次に、書替えるビットパターンをWC8入カレシスタ(
WC8IR)41にセットし、次のステップで書込みモ
ードフリップ70ツブ(FF)200をセットする。こ
のステップでマイクロ命令レジスタ(MIR)42の出
力をデコーダ(DEC)43によシブコードすると、ラ
イトイネーブル信号400がONとなり、書込みモード
フリップフ(15) ロッゾ(FF)200がクロック信号100によってセ
ットされる。セット信号201および202はWC8入
カゲート410を開き、WC8出力グー)411を閉じ
、WCSアドレスセレクタ(SEL)45をWCSアド
レスレジスタ(WC8AR)44側にする。また、WC
Sライトイネーブルゲー)471,472,473,4
74を開く。このようにして、制御記憶(WC8)4へ
の書込みが行われる。書込みモードフリップフロップ(
FF)200は1マシンサイクルで反転し、WC8入力
ゲート410を閉じ、WC8出力ゲート411を開き、
ライトイネーブルゲート471.472,473,47
4を閉じ、セレクタ(SEL)45をマイクロ命令レジ
スタ(MIR)42出力側にして、次のサイクルでマイ
クロ命令レジスタ(MIR)420次のアドレスに対応
するアドレスの制御記憶(WC8)4の内容を読出す。
WC8IR)41にセットし、次のステップで書込みモ
ードフリップ70ツブ(FF)200をセットする。こ
のステップでマイクロ命令レジスタ(MIR)42の出
力をデコーダ(DEC)43によシブコードすると、ラ
イトイネーブル信号400がONとなり、書込みモード
フリップフ(15) ロッゾ(FF)200がクロック信号100によってセ
ットされる。セット信号201および202はWC8入
カゲート410を開き、WC8出力グー)411を閉じ
、WCSアドレスセレクタ(SEL)45をWCSアド
レスレジスタ(WC8AR)44側にする。また、WC
Sライトイネーブルゲー)471,472,473,4
74を開く。このようにして、制御記憶(WC8)4へ
の書込みが行われる。書込みモードフリップフロップ(
FF)200は1マシンサイクルで反転し、WC8入力
ゲート410を閉じ、WC8出力ゲート411を開き、
ライトイネーブルゲート471.472,473,47
4を閉じ、セレクタ(SEL)45をマイクロ命令レジ
スタ(MIR)42出力側にして、次のサイクルでマイ
クロ命令レジスタ(MIR)420次のアドレスに対応
するアドレスの制御記憶(WC8)4の内容を読出す。
以上述べた如く、本発明によれば、付加処理装(16)
置が自己の命令群のうち少なくとも一つの命令に書込可
能な制御記憶装置に格納されているマイクロ命令の一部
または全部を変更する命令を含んでおシ、変更命令が出
されたとき書込制御装置の制御によりマイクロ命令が書
替えられるため、応用分野のプログラマがマイクロプロ
グラムあるいはハードウェアの知識を有していなくとも
、自己の用途に最適な多項式命令等の特殊演算命令を容
易に作ることができ、その命令によってデータの処理が
可能となる。
能な制御記憶装置に格納されているマイクロ命令の一部
または全部を変更する命令を含んでおシ、変更命令が出
されたとき書込制御装置の制御によりマイクロ命令が書
替えられるため、応用分野のプログラマがマイクロプロ
グラムあるいはハードウェアの知識を有していなくとも
、自己の用途に最適な多項式命令等の特殊演算命令を容
易に作ることができ、その命令によってデータの処理が
可能となる。
第1図は追加プロセッサ方式のデータ処理装置の概要を
示すブロック図、第2図はローカルメモリを用いた場合
のマイクロプログラムのフローチャート、第3図は本発
明において用いられるPOLY命令のフォーマットを示
す説明図、第4図はPOLY命令のフローチャート、第
5図は変更命令実行後のPOLY命令のフローチャート
、第6図はDEFINE命令のフォーマットを示す説明
図、第7図はDEFINE命令のマイクロフロー(17
) を示すフローチャート、第8図は第7図につづくマイク
ロフローを示すフローチャート、第9図はf)EFIN
E命令実行前のPOLY命令に関する制御記憶の内存を
示す説明図、第10図はその命令実行後の説明図、第1
1図は浮動小数点プロセッサ(FPU)のハードウェア
を示すブロック図、第12図はWC8書込制御部(WC
)を示すブロック図、第13図はMIRのブロックを示
す説明図、第14図は書込みマイクロプログラムサブル
ーチンのフローチャートである。 1・・・基本プロセッサ(BPU)、3・・・浮動小数
点プロセッサ(FPU)、4・・・書込可能な制御記憶
装置(WC8)、8・・・バス、42・・・マイクロ命
令レジスタ(MIR)、410・・・WCSCSデカゲ
ート11・・・WC8出力ゲート、470・・・デコー
ダ、471〜474・・・ライトイネーブルゲート。 代理人 弁理士 鵜沼辰之 (18) 茅1 図 / 第2 目 茅3 目 茅5 月 $4 固
示すブロック図、第2図はローカルメモリを用いた場合
のマイクロプログラムのフローチャート、第3図は本発
明において用いられるPOLY命令のフォーマットを示
す説明図、第4図はPOLY命令のフローチャート、第
5図は変更命令実行後のPOLY命令のフローチャート
、第6図はDEFINE命令のフォーマットを示す説明
図、第7図はDEFINE命令のマイクロフロー(17
) を示すフローチャート、第8図は第7図につづくマイク
ロフローを示すフローチャート、第9図はf)EFIN
E命令実行前のPOLY命令に関する制御記憶の内存を
示す説明図、第10図はその命令実行後の説明図、第1
1図は浮動小数点プロセッサ(FPU)のハードウェア
を示すブロック図、第12図はWC8書込制御部(WC
)を示すブロック図、第13図はMIRのブロックを示
す説明図、第14図は書込みマイクロプログラムサブル
ーチンのフローチャートである。 1・・・基本プロセッサ(BPU)、3・・・浮動小数
点プロセッサ(FPU)、4・・・書込可能な制御記憶
装置(WC8)、8・・・バス、42・・・マイクロ命
令レジスタ(MIR)、410・・・WCSCSデカゲ
ート11・・・WC8出力ゲート、470・・・デコー
ダ、471〜474・・・ライトイネーブルゲート。 代理人 弁理士 鵜沼辰之 (18) 茅1 図 / 第2 目 茅3 目 茅5 月 $4 固
Claims (1)
- 1、命令コードと入力データをバスを通じて転送する主
処理装置と、書込可能な制御記憶装置を有して前記転送
された命令コードと入力データに基づいて前記主処理装
置とは異なる特定の演算を行ない、その演算結果データ
を前記バスを通じて主処理装置に転送する付加処理装置
とを備え、前記付加処理装置は自己の命令群のうちの少
なくとも一つの命令に前記書込可能な制御記憶装置に格
納されているマイクロ命令の一部または全部を変更する
命令を含み、前記主処理装置からの命令が前記変更命令
である場合に前記マイクロ命令の一部または全部を変更
する命令を出力して前記マイクロ命令を書替える書込制
御装置を備えたことを特徴とするデータ処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4765484A JPS60191333A (ja) | 1984-03-13 | 1984-03-13 | デ−タ処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4765484A JPS60191333A (ja) | 1984-03-13 | 1984-03-13 | デ−タ処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS60191333A true JPS60191333A (ja) | 1985-09-28 |
Family
ID=12781236
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4765484A Pending JPS60191333A (ja) | 1984-03-13 | 1984-03-13 | デ−タ処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS60191333A (ja) |
-
1984
- 1984-03-13 JP JP4765484A patent/JPS60191333A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4450519A (en) | Psuedo-microprogramming in microprocessor in single-chip microprocessor with alternate IR loading from internal or external program memories | |
| JPH06332792A (ja) | データ処理装置及びそのデータ読み出し制御回路,データ書き込み制御回路 | |
| US4434462A (en) | Off-chip access for psuedo-microprogramming in microprocessor | |
| JPS62197830A (ja) | デ−タ処理システム | |
| JPH0827716B2 (ja) | データ処理装置及びデータ処理方法 | |
| JPH0241053B2 (ja) | ||
| JPH04233640A (ja) | メモリ拡張スキームを切り替える疑似直線バンクを有するマイクロコントローラ | |
| JPS604491B2 (ja) | デ−タ処理システム | |
| JPH0248931B2 (ja) | ||
| JP3776732B2 (ja) | プロセッサ装置 | |
| US3958221A (en) | Method and apparatus for locating effective operand of an instruction | |
| JPS645330B2 (ja) | ||
| JPS59116855A (ja) | 制御メモリ機構 | |
| JPH034936B2 (ja) | ||
| JPH027097B2 (ja) | ||
| JPS60191333A (ja) | デ−タ処理装置 | |
| JP2520882B2 (ja) | デ−タ処理装置およびデ−タ処理方法 | |
| US4262330A (en) | I-phase controls for a computer | |
| JPS6355635A (ja) | デ−タ処理システム | |
| JP2731618B2 (ja) | エミュレータ | |
| JP2543589B2 (ja) | デ―タ処理装置 | |
| JPS6155731A (ja) | コンデイシヨンコ−ド判定機能を備えるプロセツサ | |
| JPS6113612B2 (ja) | ||
| JP2002132499A (ja) | データ処理装置及び記録媒体 | |
| JPS6250854B2 (ja) |