JPH01108636A - タグ付きデータ処理装置 - Google Patents
タグ付きデータ処理装置Info
- Publication number
- JPH01108636A JPH01108636A JP26562787A JP26562787A JPH01108636A JP H01108636 A JPH01108636 A JP H01108636A JP 26562787 A JP26562787 A JP 26562787A JP 26562787 A JP26562787 A JP 26562787A JP H01108636 A JPH01108636 A JP H01108636A
- Authority
- JP
- Japan
- Prior art keywords
- tag
- branch
- output
- register file
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 3
- 230000010365 information processing Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、情報処理装置に関し、特にタグ付きデータの
タグ・フィールドを解読する専用ハード択を高速化する
ことで、プロローグ(Prolog )ヤIJ スプ(
Li5p )等のプログラムを高速処理する情報処理装
置におけるタグ付データ処理装置に関するものである。
タグ・フィールドを解読する専用ハード択を高速化する
ことで、プロローグ(Prolog )ヤIJ スプ(
Li5p )等のプログラムを高速処理する情報処理装
置におけるタグ付データ処理装置に関するものである。
プロローグ、リスプ等の近年のプログラミング言語は、
プログラムの実行中に処理対象であるデータのデータタ
イプを検査し、実行する処理内容を決定する。この動的
なデータタイプの検査を高速処理するため、データタイ
プを示すタグ・フィールドとデータ値を示すバリュー・
フィールドからなるタグ付きデータを処理対象とするタ
グ・アーキテクチャがある。
プログラムの実行中に処理対象であるデータのデータタ
イプを検査し、実行する処理内容を決定する。この動的
なデータタイプの検査を高速処理するため、データタイ
プを示すタグ・フィールドとデータ値を示すバリュー・
フィールドからなるタグ付きデータを処理対象とするタ
グ・アーキテクチャがある。
従来のタグ・アーキテクチャ及びマイクロプログラム制
御技術は、多方向分岐と絶対番地分岐を独立した機能と
して扱っていた。このため、プロローグの基本処理であ
るユニフィケーション処理で冗長なマイクロプログラム
分岐が発生していた。
御技術は、多方向分岐と絶対番地分岐を独立した機能と
して扱っていた。このため、プロローグの基本処理であ
るユニフィケーション処理で冗長なマイクロプログラム
分岐が発生していた。
第2図は、プロローグのユニフィケーションの処理フロ
ーである。21が、タグ・フィールドの検査とバリー−
値の比較結果を使用した多方向分岐を行っているマイク
ロステップである。この多方向分岐機能をタグ分岐と呼
ぶ。22は、ユニフィケーションが失敗した場合に実行
する失敗処理マイクロルーチンである。23は、変数に
値を代入する場合に実行する代入処理マイクロルーチン
である。24は、ユニフィケーションが成功した場合に
実行するマイクロステップである。このマイクロステッ
プ24では、次に実行する機械語命令に分岐するための
絶対番地分岐を行っている。
ーである。21が、タグ・フィールドの検査とバリー−
値の比較結果を使用した多方向分岐を行っているマイク
ロステップである。この多方向分岐機能をタグ分岐と呼
ぶ。22は、ユニフィケーションが失敗した場合に実行
する失敗処理マイクロルーチンである。23は、変数に
値を代入する場合に実行する代入処理マイクロルーチン
である。24は、ユニフィケーションが成功した場合に
実行するマイクロステップである。このマイクロステッ
プ24では、次に実行する機械語命令に分岐するための
絶対番地分岐を行っている。
しかし、その他のマイクロ操作を行っていないため、マ
イクロステップ21で行っているタグ分岐で直接分岐で
きるとマイクロステップ数を少なくできる。
イクロステップ21で行っているタグ分岐で直接分岐で
きるとマイクロステップ数を少なくできる。
本発明の目的は、前記冗長なマイクロプログラム分岐を
タグ分岐機能と統合し、高速ガ情報処理装置を提供する
ことにある。
タグ分岐機能と統合し、高速ガ情報処理装置を提供する
ことにある。
前述の問題点を解決するために、本発明が提供するタグ
付きデータ処理装置は、マイクロプログラムに制御され
、データタイプを示すタグ・フィールドとデータ値を示
すバリュー・フィールドからなるタグ付きデータを処理
対象とし、バリュー・フィールドを格納するバリュー・
レジスタファイルと、前記バリュー・レジスタファイル
が出力する2つのバリー−値の大小比較を行う比較器と
、タグ・フィールドを格納するタグ・レジスタファイル
と、機械語命令コードを解読し、次に実行すルマイクロ
・ルーチンのマイクロ・アドレスを生成する機械語命令
解読器と、前記比較器が出力する比較結果信号と前記タ
グ・レジスタファイルが出力する2つのタグ値からマイ
クロプログラムの分岐タイプとマイクロ分岐アドレス番
号を出力するタグ分岐制御メモリと、前記タグ分岐制御
メモリが出力するマイクロ分岐アドレス番号からマイク
ロ分岐アドレスを出力するタグ分岐アドレスメモリと、
前記タグ分岐制御メモリが出力する分岐タイプを選択信
号とし、前記機械語命令解読器が出力するマイクロアド
レスと前記タグ分岐アドレ°“?\5− スメモリが出力するマイクロアドレスを入力とする選択
器と、マイクロプログラム・シーケンサからなシ、前記
タグ・レジスタファイルが出力する2つのタグ値と前記
比較器の比較結果信号から前記機械語命令解読器が出力
するマイクロ分岐アドレスまたは前記タグ分岐アドレス
メモリが出力するマイクロ分岐アドレスへ分岐する制御
を行うことを特徴とする。
付きデータ処理装置は、マイクロプログラムに制御され
、データタイプを示すタグ・フィールドとデータ値を示
すバリュー・フィールドからなるタグ付きデータを処理
対象とし、バリュー・フィールドを格納するバリュー・
レジスタファイルと、前記バリュー・レジスタファイル
が出力する2つのバリー−値の大小比較を行う比較器と
、タグ・フィールドを格納するタグ・レジスタファイル
と、機械語命令コードを解読し、次に実行すルマイクロ
・ルーチンのマイクロ・アドレスを生成する機械語命令
解読器と、前記比較器が出力する比較結果信号と前記タ
グ・レジスタファイルが出力する2つのタグ値からマイ
クロプログラムの分岐タイプとマイクロ分岐アドレス番
号を出力するタグ分岐制御メモリと、前記タグ分岐制御
メモリが出力するマイクロ分岐アドレス番号からマイク
ロ分岐アドレスを出力するタグ分岐アドレスメモリと、
前記タグ分岐制御メモリが出力する分岐タイプを選択信
号とし、前記機械語命令解読器が出力するマイクロアド
レスと前記タグ分岐アドレ°“?\5− スメモリが出力するマイクロアドレスを入力とする選択
器と、マイクロプログラム・シーケンサからなシ、前記
タグ・レジスタファイルが出力する2つのタグ値と前記
比較器の比較結果信号から前記機械語命令解読器が出力
するマイクロ分岐アドレスまたは前記タグ分岐アドレス
メモリが出力するマイクロ分岐アドレスへ分岐する制御
を行うことを特徴とする。
本発明のタグ付データ処理装置では、タグ分岐制御メモ
リがバリュー・レジスタファイルの出力する2つのバリ
ー−値の比較結果とタグ・レジスタファイルの出力する
2つのタグ値からマイクロプログラムの分岐タイプを決
定することで、タグ分岐操作のなかで、次の機械語命令
に分岐するための絶対番地分岐を行う事を可能にしてい
る。
リがバリュー・レジスタファイルの出力する2つのバリ
ー−値の比較結果とタグ・レジスタファイルの出力する
2つのタグ値からマイクロプログラムの分岐タイプを決
定することで、タグ分岐操作のなかで、次の機械語命令
に分岐するための絶対番地分岐を行う事を可能にしてい
る。
この結果、プロローグのユニフィケーション処理におい
て、ユニフィケーションが成功した場合のタグ分岐操作
の分岐先は、次に実行する機械語命令のマイクロルーチ
ンとな9、従来の処理方式よシマイクロステ、プ数を減
らすことが出来る。
て、ユニフィケーションが成功した場合のタグ分岐操作
の分岐先は、次に実行する機械語命令のマイクロルーチ
ンとな9、従来の処理方式よシマイクロステ、プ数を減
らすことが出来る。
本発明の実施例について、図面を参照して詳細に説明す
る。第1図は、本発明のタグ付きデータ処理装置の実施
例である。
る。第1図は、本発明のタグ付きデータ処理装置の実施
例である。
1は、バリュー・レジスタファイルである。2は、バリ
ュー・レジスタファイルが出力する2つのバリュー・フ
ィールドの大小比較を行う比較器である。3は、タグ・
フィールドを格納するタグ・レジスタファイルである。
ュー・レジスタファイルが出力する2つのバリュー・フ
ィールドの大小比較を行う比較器である。3は、タグ・
フィールドを格納するタグ・レジスタファイルである。
4は、次に実行する機械語命令を保持し、その機械語命
令コードを解読し、機械語命令のマイクロルーチンへ分
岐するためのマイクロアドレスを生成する機械語命令解
読器である。5は、比較器2の比較結果信号とタグ・レ
ジスタファイル3が出力する2つのタグ値を入力とし、
実行すべきマイクロ分岐タイプとタグ分岐の場合に分岐
すべきマイクロアドレスの指定するマイクロ分岐アドレ
ス番号を出力するタグ分岐制御メモリである。タグ分岐
制御メモリ5は、すで実現可能である。8は、タグ分岐
制御メモリ5が出力したマイクロ分岐アドレス番号から
マイクロ分岐アドレスを出力するマイクロ分岐アドレス
メモリである。6は、機械語命令解読器4が生成したマ
イクロアドレスとタグ分岐アドレスメモリ8が出力する
マイクロアドレスを入力とし、タグ分岐制御メモリ5が
出力する分岐タイプを選択信号とする選択器である。
令コードを解読し、機械語命令のマイクロルーチンへ分
岐するためのマイクロアドレスを生成する機械語命令解
読器である。5は、比較器2の比較結果信号とタグ・レ
ジスタファイル3が出力する2つのタグ値を入力とし、
実行すべきマイクロ分岐タイプとタグ分岐の場合に分岐
すべきマイクロアドレスの指定するマイクロ分岐アドレ
ス番号を出力するタグ分岐制御メモリである。タグ分岐
制御メモリ5は、すで実現可能である。8は、タグ分岐
制御メモリ5が出力したマイクロ分岐アドレス番号から
マイクロ分岐アドレスを出力するマイクロ分岐アドレス
メモリである。6は、機械語命令解読器4が生成したマ
イクロアドレスとタグ分岐アドレスメモリ8が出力する
マイクロアドレスを入力とし、タグ分岐制御メモリ5が
出力する分岐タイプを選択信号とする選択器である。
プロローグの例を使用して動作説明を行なう。
説明を簡単にする為、データタイプは4種類とする。4
種類のデータタイプとは、タグ値が10”の整数データ
、タグ値が″l“の変数データ、タグ値がゝ2“の文字
データ、タグ値がゝ3“のリスト・データとする。これ
らのデータタイプは、例えば、タグ部はタグ・レジスタ
・ファイル3、バリー一部ハパリーー・レジスタ・ファ
イルIIC格納するものとする。リスト・データは、リ
スト・セルへのポインタとする。各データタイプの構造
は、本発明のタグ付きデータ処理装置に直接開学データ
に対するユニフィケーション処理では、同じデータタイ
プで、かつ、バリー一部が等しい場合、処理が成功し、
次のデータの処理に進む。
種類のデータタイプとは、タグ値が10”の整数データ
、タグ値が″l“の変数データ、タグ値がゝ2“の文字
データ、タグ値がゝ3“のリスト・データとする。これ
らのデータタイプは、例えば、タグ部はタグ・レジスタ
・ファイル3、バリー一部ハパリーー・レジスタ・ファ
イルIIC格納するものとする。リスト・データは、リ
スト・セルへのポインタとする。各データタイプの構造
は、本発明のタグ付きデータ処理装置に直接開学データ
に対するユニフィケーション処理では、同じデータタイ
プで、かつ、バリー一部が等しい場合、処理が成功し、
次のデータの処理に進む。
変数データに対する処理では、変数データにもう一方の
データを代入する処理を行なう。リスト・データに対す
る処理では、同じデータタイプの場合、リストの要素の
処理に進む。各処理の内容は本発明のタグ付きデータ処
理装置に直接関係しないので説明を省略する。
データを代入する処理を行なう。リスト・データに対す
る処理では、同じデータタイプの場合、リストの要素の
処理に進む。各処理の内容は本発明のタグ付きデータ処
理装置に直接関係しないので説明を省略する。
上記例の場合、タグ値は2ビツトである。比較器2の出
力は一致検出の場合′″l”とする。例えば、タグ・レ
ジスタ・ファイル3の出力が共に整数データ、すなわち
“0“で、比較器2が一致を検出、すなわち、出力がV
″1“の場合、ユニフィケーション処理が成功するから
、タグ分岐制御メモリ5は選択器6が機械語命令解読器
4の出力するマイクロアドレスをマイクロプログラムシ
ーケンサ7に与える様に制御する。比較器2の出力が不
一致の場合は、タグ分岐制御メモリ5は、選択器6がタ
グ分岐アドレス・メモリ8の出力するマイクロアドレス
をマイクロプログラムシーケンサ7′に与える様に制御
する。タグ・レジスタ・ファイル3の出力が他の値でユ
ニフィケーション処理が成功する場合は、整数データで
ユニフィケーションが成功した時と同じ動作をする。他
の場合は、整数データで比較器2の出力が不一致の時と
同じ動作をする。
力は一致検出の場合′″l”とする。例えば、タグ・レ
ジスタ・ファイル3の出力が共に整数データ、すなわち
“0“で、比較器2が一致を検出、すなわち、出力がV
″1“の場合、ユニフィケーション処理が成功するから
、タグ分岐制御メモリ5は選択器6が機械語命令解読器
4の出力するマイクロアドレスをマイクロプログラムシ
ーケンサ7に与える様に制御する。比較器2の出力が不
一致の場合は、タグ分岐制御メモリ5は、選択器6がタ
グ分岐アドレス・メモリ8の出力するマイクロアドレス
をマイクロプログラムシーケンサ7′に与える様に制御
する。タグ・レジスタ・ファイル3の出力が他の値でユ
ニフィケーション処理が成功する場合は、整数データで
ユニフィケーションが成功した時と同じ動作をする。他
の場合は、整数データで比較器2の出力が不一致の時と
同じ動作をする。
本発明のタグ付きデータ処理装置は、タグ分岐制御メモ
リが、バリー−値の比較結果とタグ値の組合わせから、
マイクロ分岐のタイプを決定し、タグ分岐操作の中で、
次に実行する機械語命令のマイクロルーチンへ絶対番地
分岐することを特徴とする。さらに、タグ分岐マイクロ
アドレスをタグ分岐アドレスメモリに記憶させることで
、機械語命令解読器が出力するマイクロアドレスを使用
した絶対番地分岐を行う場合のタグ分岐制御メモリによ
る不要なタグ分岐アドレスの格納を解消している。この
結果、プロローグのユニフィケーション処理の例にみら
れるような冗長なマイクロブログラム分岐をタグ分岐と
統合でき、従来よシ少ないマイクロステップ数でプロロ
ーグやリスプのプログラムを実行できるタグ付きデータ
処理装置を実現している。
リが、バリー−値の比較結果とタグ値の組合わせから、
マイクロ分岐のタイプを決定し、タグ分岐操作の中で、
次に実行する機械語命令のマイクロルーチンへ絶対番地
分岐することを特徴とする。さらに、タグ分岐マイクロ
アドレスをタグ分岐アドレスメモリに記憶させることで
、機械語命令解読器が出力するマイクロアドレスを使用
した絶対番地分岐を行う場合のタグ分岐制御メモリによ
る不要なタグ分岐アドレスの格納を解消している。この
結果、プロローグのユニフィケーション処理の例にみら
れるような冗長なマイクロブログラム分岐をタグ分岐と
統合でき、従来よシ少ないマイクロステップ数でプロロ
ーグやリスプのプログラムを実行できるタグ付きデータ
処理装置を実現している。
第1図は本発明のタグ付きデータ処理装置の一実施例を
示すブロック図、第2図はプロローグのユニフィケーシ
ョン処理における処理フローを示す図である。 1・・・・・・バリュー・レジスタファイル、2・・・
・・・比較器、3・・・・・・タグ・レジスタファイル
、4・・・・・・機械命令解読器、5・・・・・・タグ
分岐制御メモリ、6・・・・・・選択器、7・−・・−
・マイクロプログラムシーケンサ、8・・・・・・タグ
分岐アドレスメモリ、21・・・・・・タグ分岐を行っ
ているマイクロステップ、22・・・・・・ユニフィケ
ーション失敗マイクロルーチン、23・・・・・・変数
への代入処理マイクロルーチン、24・・・・・・ユ箭
1図
示すブロック図、第2図はプロローグのユニフィケーシ
ョン処理における処理フローを示す図である。 1・・・・・・バリュー・レジスタファイル、2・・・
・・・比較器、3・・・・・・タグ・レジスタファイル
、4・・・・・・機械命令解読器、5・・・・・・タグ
分岐制御メモリ、6・・・・・・選択器、7・−・・−
・マイクロプログラムシーケンサ、8・・・・・・タグ
分岐アドレスメモリ、21・・・・・・タグ分岐を行っ
ているマイクロステップ、22・・・・・・ユニフィケ
ーション失敗マイクロルーチン、23・・・・・・変数
への代入処理マイクロルーチン、24・・・・・・ユ箭
1図
Claims (1)
- マイクロプログラムに制御され、データタイプを示すタ
グ・フィールドとデータ値を示すバリュー・フィールド
からなるタグ付きデータを処理対象とし、バリュー・フ
ィールドを格納するバリュー・レジスタファイルと、前
記バリュー・レジスタファイルが出力する2つのバリュ
ー値の大小比較を行う比較器と、タグ・フィールドを格
納するタグ・レジスタファイルと、機械語命令コードを
解読し、次に実行するマイクロ・ルーチンのマイクロ・
アドレスを生成する機械語命令解読器と、前記比較器が
出力する比較結果信号と前記タグ・レジスタファイルが
出力する2つのタグ値からマイクロプログラムの分岐タ
イプとマイクロ分岐アドレス番号を出力するタグ分岐制
御メモリと、前記タグ分岐制御メモリが出力するマイク
ロ分岐アドレス番号からマイクロ分岐アドレスを出力す
るタグ分岐アドレスメモリと、前記タグ分岐制御メモリ
が出力する分岐タイプを選択信号とし、前記機械語命令
解読器が出力するマイクロアドレスと前記タグ分岐アド
レスメモリが出力するマイクロアドレスを入力とする選
択器と、マイクロプログラム・シーケンサからなり、前
記タグ・レジスタファイルが出力する2つのタグ値と前
記比較器の比較結果信号から前記機械語命令解読器が出
力するマイクロ分岐アドレスまたは前記タグ分岐アドレ
スメモリが出力するマイクロ分岐アドレスへ分岐する制
御を行うことを特徴とするタグ付きデータ処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP26562787A JPH01108636A (ja) | 1987-10-20 | 1987-10-20 | タグ付きデータ処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP26562787A JPH01108636A (ja) | 1987-10-20 | 1987-10-20 | タグ付きデータ処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH01108636A true JPH01108636A (ja) | 1989-04-25 |
Family
ID=17419758
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP26562787A Pending JPH01108636A (ja) | 1987-10-20 | 1987-10-20 | タグ付きデータ処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH01108636A (ja) |
-
1987
- 1987-10-20 JP JP26562787A patent/JPH01108636A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5095426A (en) | Data processing system for effectively handling exceptions during execution of two different types of instructions | |
| EP0317473A2 (en) | Microcode branch based upon operand length and alignment | |
| US4656581A (en) | Vector mask control system | |
| US5390306A (en) | Pipeline processing system and microprocessor using the system | |
| JPH01108635A (ja) | タグ付きデータ処理装置 | |
| JPS58200349A (ja) | マイクロプログラム制御装置 | |
| JPS588011B2 (ja) | マイクロプログラムセイギヨホウシキ | |
| JPH05274341A (ja) | ベクトル命令処理装置 | |
| JPS6116334A (ja) | デ−タ処理装置 | |
| JPS5995646A (ja) | 演算制御装置 | |
| JPS6093555A (ja) | マイクロプログラム制御装置 | |
| JPS61208144A (ja) | 情報処理装置 | |
| JPS6143347A (ja) | ベクトル命令シミユレ−シヨン方法 | |
| JPH01140232A (ja) | マイクロプログラム制御方式 | |
| JPS5943444A (ja) | マイクロプログラム制御方法およびその装置 | |
| JPH0628034B2 (ja) | タグ付計算機 | |
| JPS61182137A (ja) | タグ付デ−タ処理装置 | |
| JPS62204340A (ja) | デ−タ処理装置 | |
| JPS62204339A (ja) | デ−タ処理装置 | |
| JPS62204341A (ja) | デ−タ処理装置 | |
| JPS63217433A (ja) | プログラム実行制御方式 | |
| JPS63153637A (ja) | デ−タ処理装置 | |
| JPH02128223A (ja) | 演算処理装置 | |
| JPS6278630A (ja) | 情報処理装置 | |
| JPH06168216A (ja) | コプロセッサ制御方法 |