JPS629440A - デ−タ処理装置 - Google Patents

デ−タ処理装置

Info

Publication number
JPS629440A
JPS629440A JP14830185A JP14830185A JPS629440A JP S629440 A JPS629440 A JP S629440A JP 14830185 A JP14830185 A JP 14830185A JP 14830185 A JP14830185 A JP 14830185A JP S629440 A JPS629440 A JP S629440A
Authority
JP
Japan
Prior art keywords
tag
data
instruction
signal line
format
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
JP14830185A
Other languages
English (en)
Other versions
JPH0642198B2 (ja
Inventor
Shinichiro Yamaguchi
伸一朗 山口
Hidekazu Matsumoto
松本 秀和
Tadaaki Bando
忠秋 坂東
Hiroaki Nakanishi
宏明 中西
Kenji Hirose
広瀬 健二
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.)
Hitachi Engineering Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Engineering Co Ltd
Hitachi Ltd
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 Hitachi Engineering Co Ltd, Hitachi Ltd filed Critical Hitachi Engineering Co Ltd
Priority to JP60148301A priority Critical patent/JPH0642198B2/ja
Priority to US06/881,407 priority patent/US4896258A/en
Priority to EP86109096A priority patent/EP0207519B1/en
Priority to EP19930103937 priority patent/EP0552816A3/en
Priority to DE86109096T priority patent/DE3689389T2/de
Publication of JPS629440A publication Critical patent/JPS629440A/ja
Publication of JPH0642198B2 publication Critical patent/JPH0642198B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 【発明の利用分野〕 本発明はデータ型を示すタグを有するタグ付きデータ用
命令とタグ無しデータ用命令を解釈実行するデータ処理
装置に関する。
〔発明の背景〕
ノイマン型の警用のデータ処理装置(以下、計算機と称
す)は、その計算機固有のマクロ命令(以下命令と称す
)を持ち、命令は通常オペレーションの種類を示すオペ
コードとオペレーションの対象となるオペランドの所在
を示すオペランド指定子より成っている。そして、オペ
ランドの指定方法は、アドレッシングモードと呼ばれ、
様々な方法が提案されている。これらの計算機に共通な
特徴として、命令が扱うデータのデータ型は、オペコー
ドによって一意的に決められていることが挙げられる。
例えば、同じオペランドに存在するデータでも、固定小
数点用の命令であれば、それを整数と見なして演算し、
文字列用の命令であれば、それを文字コードと見なして
演算すると言った具合である。
これに対して、プロシーディング オブ ロジック プ
ログラミング コンファレンス′84−(Procaa
ding of Logic Programming
 Conference′84)の「パーソナル逐次型
推論マシンPSIのハードウェア開発」に述べられてい
るプロローグ専用計算機では、各データの特定のビット
をタグとして割り当てて、タグにそのデータのデータ型
の情報を持たせている。そして、演算時には、タグを調
べてデータ型を判定しながら、演算の種類を変更するよ
うになっている。このようなタグアーキテクチャは、記
号処理用言語を効率よく実行できるアーキテクチャであ
る。
以上述べた2種類の計算機アーキテクチャは、互いに独
立であり、摺入れないものであった。しかしながら、知
識工学等のアプリケーションでは前者が得意とする数値
処理と後者が得意とする非数値処理が共に必要であり1
両者を共に実行可能な計算機が必要とされている。
〔発明の目的〕
本発明の目的は、タグ無しデータ用命令とタグ付きデー
タ用命令を実行可能なデータ処理装置を提供することに
ある。
〔発明の概要〕
ダグ無しデータ用命令とタグ付きデータ用命令を同一計
算機内で解釈実行するには1両者を別モードの命令セッ
トとして、各命令セットには、他のモードへ移行する命
令を設けておく方法が考えられるが、モード移行が頻繁
になるとオーバーヘッドが無視できなくなる。そこで、
本発明では。
オペコード内にタグ付きデータを扱う命令かどうかを示
すビットを設け、命令デコーダにこれを判定する手段を
設けて1両者を区別できるようにしている。
また、同一計算機内でタグ無しデータとダグ付きデータ
を格納しようとすれば、両者の語長を合わせておく必要
があり1例えば、32ビツトマシンの場合には第4図に
示すような埋め込み型のデータ形式となる。この時、3
2ビツト長のデータは、第3図の(c)で示すようにポ
インタで外に引き出す必要があるがこのようなデータ形
式を定数として含むプログラムモジュールをリロケータ
ブルにするためには、ポインタの値を絶対アドレスでな
くPC(プログラム カウンタ)相対値あるいはペース
レジスタ相対値にしておかなければならない。
そこで、この様なデータ形式をイミデイエイトデータと
して持つタグ付きデータ用命令では、アドレス計算時に
、ポインタにPCあるいはペースレジスタの値を加算し
て、正しいポインタの値を算出してやれば良い。そのた
めに、本発明では、タグ付きデータ用命令だけに許され
る上記のようなアドレッシングモードを設ける。
〔実施例の説明〕
第1図は、本発明の一実施例を示すデータ処理装置の内
部構成のブロック図であり、詳しい説明は後述する。
第2図は、本実施例で説明するタグ付きデータ処理装置
(以下計算機と言う)内のレジスタの内で計算機のマク
ロ命令(以下、単に命令と言う)によってオペランドと
して指定可能なものを示している。各レジスタは32ビ
ツトの巾のものが33本あり、プログラムカウンタ(p
c)以外は。
いわゆる汎用レジスタと呼ばれるものである。レジスタ
の本数は本発明に本質的なものではないが、ここでは3
2本のレジスタがあるとして説明する。
第3図は、計算機で用いられるデータ形式を示したもの
であり基本語長は32ビツトである。
(a)は、タグ無しデータであり、通常の計算機で多く
使用されている。(b)は、第1のタグ付きデータであ
り、データの型を示すタグとデータが1ワード中に埋め
込まれている0本発明に於て、タグのビット長は1本質
的な問題ではないが、本実施例ではに=8として説明す
る。(C)は、第2のタグ付きデータであり、最初の3
2ビツト(以下ポインタワードと呼ぶ)中には、データ
本体のデータ型を示すタグとデータ本体のメモリアドレ
ス(ポインタ)が格納されている。そして、データはポ
インタで指示されるメモリ上に在る。
本発明に於て、前述のようにタグのビット長は本質的な
問題ではないが、本実施例ではfi=4として説明する
。また、ポインタで指示されるデータは、32ビツトで
ある必然性もなく64ビツトあるいはそれ以上でも本発
明は適用可能である。
(d)は、第3のタグ付きデータであり、ポインタワー
ドには、タグと第1又は第2又は第3のタグ付きデータ
へのポインタが格納されている。
第4図は、タグ付きデータの具体例を示したものである
。m1ll、 variable、 atom、 sh
ort−integerが第1のタグ付きデータの例で
あり、long−intagerbig−number
、 double−floatingが第2のタグ付き
データの例であり、raferanca、 5truc
ture。
1ist、 undafinaが第3のタグ付きデータ
の例である。前述したように、タグビット長は、増減し
てもかまわないので、新しいデータ型を導入することは
容易である。
第5図は、本実施例の計算機で実行可能な命令のフォー
マットを示している。命令は、16ビツトのオペレーシ
ョンワード50(略称opw)とオペレーションの対象
となるオペランドの所在を示す16ビツト以上のオペラ
ンド指定子51(略称ops)より成る。
○PW50には、少なくともオペレーションの種類を示
すフィールドとその命令がタグ付きデータを扱えるかど
うかを示すフィールドがある。本実施例では、0PW5
0の上位9ビツトが“111111100” である命
令が、タグ付きデータを扱うことが可能であり、その時
のオペレーションは、0PW50の下位7ビツトで示さ
れる。0PS51は、アドレッシングモードを示すモー
ド指定子EA52とアドレス計算で使用するディスプレ
ースメントdisp53より成る。
第6図は、EA52の詳細を示しており、各アドレッシ
ングモードでのオペランドアドレスの計算手順について
第7図と第8図を併用しながら説明する。
MOD55が“000”、”001”。
“010”のものは、いわゆるレジスタダイレクト及び
レジスタ間接と呼ばれるアドレッシングモードであり、
当業者には、周知のものである。
MOD55が“011”のものは、オートインクリメン
トと呼ばれるアドレッシングモードであり、第8図(d
)で示すように、5854がφの時には、REGNO5
6で示されるレジスタに2が加算され、S、54が1の
時には、REGNO56で示されるレジスタに4が加算
される。MOD55が“100”のものは、オートデク
リメントと呼ばれるアドレッシングモードであり、第8
図の(e)で示すようにオートインクリメントとは逆の
動作をする。
MOD55が“101”のものは、レジスタ相対と呼ば
れるアドレッシングモードであり、第8図(f)−で示
すように、5154がφの時には、DISP53が第7
図のdispタイプIの形式となり、これがREGNo
 56 で示されるレジスタに加算される。また8、5
4が1の時には、dispタイプ■が加算されてメモリ
上のオペランドアドレスが算出される。
MOD55が” 111 ″でREGNO56が“oo
oo”のものは、アブソリュートと呼ばれるアドレッシ
ングモードであり、第8図の(g)で示すように、8.
54がφの時には、DISP53が第7図のdigpタ
イプIの形式となり、これがそのままメモリ上のオペラ
ンドアドレスとなる。また8、54が1の時には、di
spタイプ■がそのままメモリ上のオペランドアドレス
となる。
MOD55が“111”テ、 REGNO56が“00
01”のものは、イミデイエイトと呼ばれるアドレッシ
ングモードであり、第8図の(h)で示すように、8.
54がφの時には、DISP53が第7図のdispタ
イプ■の形式となり、これがそのままオペランドとなる
。また8、54が1の時には、 dispタイプ■がそ
のままオペランドとなる。
MOD55が“111”テ、 Rt!GNO56が“0
101”のものは、プログラムカウンタ相対と呼ばれる
アドレッシングモードであり、第8図の(i)で示すよ
うにレジスタ相対アドレッシングモードと同様なオペラ
ンドアドレスの算出手順をとる。
MOD55が“111”で、 REGNO56が“01
11”のものは、本発明から導かれる特有のアドレッシ
ングモードであり1本実施例では、タグ付きイミデイエ
イトアドレッシングモードと呼ぶ、タグ付きイミデイエ
イトアドレッシングモードでは、第8図の(j)で示す
ように、DISP53が第7図のdigpタイプ■、即
ち4ビツトのタグと28ビツトのポインタである形式と
なり、プログラムカウンタの値にこのポインタを加算し
た値をポインタとして持つ第3図で示すところの第2の
オペランド形式が、オペランドとなる。
本実施例では、タグ付きイミデイエイトアドレッシング
モードで使用するレジスタをプログラムカウンタのみに
限って説明しているが、前述の汎用レジスタ、あるいは
本実施例で述べていない他のレジスタでも使用可能なこ
とは明白である。
第9(!Iは、前述したタグ付きデータ用命令とタフ無
しデータ用命令を共に実行可能な計算機の全体構成を示
している。100は、命令実行装置(略称BPU)であ
り、上記の命令を解釈実行する。800は、メモリ装置
(略称MM)であり、上記の命令、あるいはデータを格
納する。500は、32ビツト中のメモリアドレスバス
(略称ADRBUS)、 600は32ピツト中のメモ
リデータバス(略称DATBUS) テある0本発明ハ
、BPUlooに適用されるものなので、以下BPU1
00の内部について詳しく説明する。
第1図は、BPUlooの内部構成を示すブロック図で
ある。
110は、命令バッファ(IBR)であり、DATBU
S600を介してMM800よりフェッチした命令が格
納される。120は、I BRI 10内の命令から、
0PW50.EA52.DISP53を切り出すアライ
ナ(A L N)であり、0PW50が信号線350に
出力され、EA52が信号線355に出力され、DIS
P53が信号線34oにそれぞれ出力される。
130は、命令デコーダ(INSDEC)であり、信号
線355と、信号線350より入力される情報に従って
、アドレス計算用のエントリアドレスと命令実行用のエ
ントリアドレスを生成し、各々信号線360と460に
出力する。140は、アドレス計算のため制御回路(A
−CTL)であり、タグ付きイミデイエイトアドレッシ
ングモードの時に信号線370を“1”とする機能を持
つ、A−CTL14<)は、信号線370の他にもレジ
スタファイル180 (ARP)やアドレス計算用演算
器190 (A−ALU)等の制御信号の生成も行うが
、本発明の理解には不要なので省略しである。
150は、disp53に含まれるタグの長さを判定す
るタグ長検出回路(T L)であり、8ビツト長タグの
時に信号線155が“1”となる。
160は、信号$340中のディスプレースメントから
タグとポインタを分離する分離回路(S E P)であ
り、信号線370と155が共に“1”の時に、タグを
信号線380に出力し、ボインタ部を信号線400に出
力する。また、それ以外の時には、信号線340のデー
タが信号線400にそのまま出力される。
170は、プログラムカウンタ(pc)である。
180は、レジスタファイル(ARP)であり、第2図
のARO〜AR15が物理的レジスタとして存在してい
る。190は、アドレス計算で使用する演算器(A−A
LU)である。
200は、5EP160により切り出されたタグを保持
するレジスタ(TAG)であり、タグ付きイミデイエイ
トアドレッシング±−ド時のオペランドのタグが格納さ
れる。
210は、タグ付きイミダイエイトアドレッシングモー
ド時に、5EP160で切り出されたポインタとPC1
70を加算して得られる新たなポインタが格納されるレ
ジスタ(IMR)である。
また、イミデイエイトの時にはイミデイエイトデータが
格納される0本実施例によれば、タグ付きイミダイエイ
トアドレッシングモード時のオペランドは、TAG 2
00とIMR210の組で物理的に存在することになる
220は、レジスタファイル(E RF)であり、第2
図のERO−EH11が物理的レジスタとして存在して
いる。
230は、演算器(E−ALU)であり、通常の・算術
・論理演算の他に、信号線465が“1″の場合には、
信号線430から入力されるタグの長さをTL150に
よって判定し、信号線158の値に従ってタグと、信号
線445から入力されるデータに埋め込んでタグ付きデ
ータを生成する機能を持つ。
240は、信号線475が“1”の場合に、ESAB4
40からの入力されるタグ付きデータから。
タグ長検出回路TL 151の判定結果によりタグをマ
スクして、データ部を信号線445に出力するデータ切
り出し回路(M S K)である。
250は、ESBB430から入力されるタグ付きデー
タから、TL150によって判定されたタグだけを切り
出す回路(TAG−EXT)であり、タグを251に出
力する。TAG−EXT250によって切り出されたタ
グは、信号線455が“01′の時、タグレジスタ26
0 (TAGR)へ格納され、信号線455が“1″の
時、タグレジスタ270 (TAGR)に格納される。
280は、セレクタ(S E L)であり、信号線47
0に従ってTAGR260又はTAGR270又はE−
CTL290から出力されるタグから1つを選択してE
SBB430の上位8ビツトに出力する・290は、命
令実行のための制御回路(E −CTL)であり、マイ
クロプログラム制御方式によって、制御信号の生成を行
う。
300は、BPUlooの状態を示すステータスフラグ
(RMB)であり、「0」の時リードモードを示し、r
lJの時ライトモードを示している。
310は、メモリのアドレスを保持するメモリアドレス
レジスタ(MAR)であり、アドレス計算によって算出
されたオペランドアドレスが格納される。また、タグ付
きイミデイエイトアドレッシングモードの時には、ポイ
ンタワードのポインタが格納される。
320は、MM800へ書き込むデータを保持するメモ
リライトデータレジスタ(MWR)である、330は1
MM880から読み出したデータを保持するオペランド
バッファレジスタ(OBR)である。
以下本発明の理解に必要な各ブロックの詳細な説明を行
う。
lN5DEC130は1例えば第10図に示す構成をと
り、少なくとも命令がタグ付きデータを持つかどうかの
検出を行う手段を持っている。エントリアドレス生成回
路131は、タグ付きデータ用命令検出回路133の出
力134によって、タグ無しデータ用命令とタグ付きデ
ータ用命令では、異なったエントリアドレスを信号線4
60に出力する。またA−CTL用エフェントリアドレ
ス生成回路132命令中のEA52に従ってアドレス計
算用のエントリアドレスを生成するが、信号線134が
rQJの時には、タグ付きイミデイエイトアドレッシン
グモードは、使用不可能なアドレツシングモードとして
、エントリアドレスは生成されない。
エントリアドレス生成回路131,132は。
リードオンリメモリ(ROM)、プログラマブルロジッ
クアレイ(PLA)等を用いれば、当業者にとって容易
に構成できる。また、タグ付きデータ用命令検出回路1
33は、本実施例の場合第11図に示すような回路によ
って構成できる。第11図に於て、信号線352は、命
令中の0PS50の16ビツト中の上位9ビツトであり
、信号線351は、それ以外のビットである。1330
と1331はNOT論理であり、1332はAND論理
である。信号線134は、タグ付きデータ用命令の時「
1」となり、それ以外の命令ではrO」となる。
タグとポインタの分離回路5EP160は、第12図の
ような構成をとり、A−CTL140からの制御信号3
70が「1」の時に信号線340上のディスプレースメ
ントからタグとポインタを分離して、それぞれ信号線3
80,390上に出力する。
ここで、タグ切り出し回路161は、本実施例の場合第
13図に示すような回路によって構成できる。第13図
に於て、信号線344は、信号線340の上位8ビツト
が出力されており、信号線370が「1」の時に信号線
380には、タグが出力される。
また、ポインタ切り出し回路162は、本実施例の場合
第14図に示すような回路によって構成できる。第14
図に於て、信号線343は、信号線340の下位24ビ
ツトが出力されており、信号線346,347にはそれ
ぞれ信号線340の28ビツト目と24ビツト目が出力
されている。
ポインタ切り出し回路162は、信号線370が「1」
の時、TL153の出力が「1」、即ち8ビツトダグで
あれば、24ビツトポインタの符号拡張データをASB
B400に出力し、TL153の出力がrOJであれば
28ビツトポインタの符号拡張データをASBB400
に出力する。また、信号線370が「0」であれば、信
号線340の値をそのままASBB400に出力する。
ダグ長検出回路TL153は、タグ付きデータに含まれ
るタグが8ビツトか4ビツトかを検出する回路であり、
本実施例の場合第15図に示すような回路によって構成
できる。第15図に於て、信号線344は、信号線34
0の上位4ビツトが出力されており、151はこれらの
論理積をとるAND論理である。TL153は第4図に
示すタグ付きデータの内、8ビットタグ即ち、上位4ビ
ツトが“1111”の時に出力信号線159が「1」と
なり、4ビツトタグの時には、「0」となる。
本実施例に於て、タグ長検出回路は、TL153の他に
TL150.TL151.TL152があるがいずれも
、機能・内部構成ともに同一である。
タグ切り出し回路TAG−EXT250は、本実施例の
場合第16図に示すような回路によって構成できる。第
16図に於て、信号線434は、ESBB430の上位
8ビツトが出力されており、8ビツトタグ、即ち信号線
156が「1」の時には信号線434がタグとして信号
線251に出力される。また、4ビツトタグ、即ち信号
線156がrOJの時には、信号線251には上位4ビ
ツトがoooo”で、下位4ビツトにタグが出力される
データ切り出し回路MSK240は、本実施例の場合第
17図に示すような回路で構成できる。
第17図に於て、信号線442は、ESAB440の上
位8ビツトが出力されており、E−CTL290からデ
ータ切り出しの制御信号475がtrueのとき、TL
151の出力157が[1」、即ち8ビツトタグであれ
ば、信号線445には、上位8ビツトがマスクされたデ
ータ部のみが出力される。
また、この時TL151の出力157が「0」ならば、
出力445には、上位4ビツトのみがマスクされた28
ビツトのデータ部が出力される。また信号線475が「
o」であれば、ESAB440上のデータがそのまま信
号線445に出力される。
タグ埋め込み回路は、演算器E−ALU230の1つの
ファンクションとして位置付けられ1本実施例では、E
−ALU230内に第18図で示されているような回路
を設けることにより実現できる。第18図に於て、信号
線445にはタグが埋め込まれるデータが出力されてお
り、信号線447には、信号線445の上位4ビツトが
出力されており、信号線448には下位24ビツトが出
力されており、信号線446には、それ以外のビットが
出力されている。信号線432には、埋め込むタグが出
力されており、E−CTL290からのタグ埋め込み制
御信号465が「1」のとき、TL152の出力158
が「1」、即ち8ビツトタグであれば、出力450の下
位24ビツトには、信号線445の下位24ビツトが出
力され。
出力450の上位8ビツトには、信号8432が出力さ
れる。またこの時、TL152の出力15gが「0」で
あれば、出力450の下位28ビツトには、信号線44
5の下位28ビツトが出力され、出力450の上位4ビ
ツトには、信号線432の下位4ビツトが出力される。
またタグ埋め込み制御信号465がrOJであれば、出
力450はすべて「O」となる。
第19図に制御回路290の内部構成を示す。
E−CTL290は命令実行のために各種の制御信号を
生成するマイクロプログラム制御方式の制御回路である
。制御回路は一般に第19図に示したよりも多くの構成
要素、信号線を有するが、本発明に直接関係のないもの
は省略しである。第19図に於て、296は、制御メモ
リ(CS、)であり、マイクロプログラムを格納する。
295は、C8296から読み出されたマイクロプログ
ラムを保持するマイクロ命令レジスタ(MID)である
、マイクロプログラムアドレス・セレクタ297は、次
に読み出す制御メモリのアドレスを信号線289に従ッ
テ、信4t4299,301,303゜305の中から
選択する。エントリ修飾回路291は、RMB 300
(7)値によッi”E−CTL290のエントリアドレ
ス460を修飾する回路であり、本実施例では、第20
図に示すような回路によって構成できる。第20図に於
て、信号線461には、エントリアドレス460の最下
位ビットが出力されており、信号#I462にはそれ以
外のビットが出力されている。 lN5DEC130に
よって、RMB300の値で修飾すべき命令のエントリ
アドレスが生成されると、これをスケルトン命令検出回
路2910によって検出し、信号線2911が「1」と
なり、C8296から最初に読み出すアドレス299の
最下位ビットは、RMB300の出力496となる。ま
たスケルトン命令検出回路2910の出力がrOJの時
には、アドレス299は、エントリアドレス460その
ままとなる0本実施例では、最下位ビットを修飾したが
、他のビットでも可能なことは明白である。
タグ判定回路293は、マイクロプログラムで指定され
るテストパターン304に従って、タグレジスタの出力
490と495の組み合わせにより、マイクロプログラ
ムのジャンプアドレス303を修飾するオフセット30
2を生成する0本実施例では、第21図(1)〜(3)
に示すような機能を持つ論理によって構成できる。第2
1図に示すような論理は、ROM、RAM、PLA等を
用いれば容易に実現可能である。
ジャンプ先修飾回路292は、マイクロプログラムによ
って指定されるジャンプアドレス303をベースとして
、オフセット302で示される分だけ離れたジャンプア
ドレスを生成する回路であり、いわゆるマルチウェイジ
ャンプを行うものである0本実施例に於ては、第22図
に示すような回路により構成することができる。第22
図に於て、信号線3031は、ジャンプアドレス303
の下位4ビツトを示しており、信号線3032はそれ以
外のビットを示している。出力のジャンプアドレス30
1の下位4ビツトには、3031とオフセット302の
論理和が出力される。
次に、タグ無しデータ用命令とタグ付きデータ用命令を
実行するときの動作例について説明する。
(1)タグ無しデータ用命令の実行例 タグ無しデータ用命令の例として、ロード命令を取り上
げて説明する。第23図の(a)に示すLoad命令は
、オペランド指定子1で指定されるオペランドにあるデ
ータをオペランド指定子2で指定されるオペランドに転
送する命令であり、オペコードは第24図の(a)に示
す通りである。本実施例ではオペランド指定子1の7ド
レツシングモードを32ピツトイミゾイエイトとし、オ
ペランド指定子2の7ドレツシングモードをレジスタダ
イレクトとする。
Load命令は、MM800より読み出され、第25図
の(a)に示すような形でI BRI 10内に格納さ
れる。そして、アライナ120によりオペコードとモー
ド指定子が信号線350に出力され(第25図(b))
、命令デコーダlN5DEC13Gに入力される。オペ
コードの上位9ビツトは、タグ付きデータ用命令検出回
路133に入力され。
タグ無しデータ用命令であることが判明し、信号線13
4は「0」となる、これを受けて、E−CTL用エフェ
ントリアドレス生成回路131タグ無しデータ用命令L
oadのエントリアドレスを信号線460に出力する。
これと並行して、A−CTL用エフェントリアドレス生
成回路14032ビツトのイミテイエイトアドレッシン
グモードであることを解読し、イミデイエイトアドレッ
シングモード用のエントリアドレスを信号線360に出
力する。
A−CTL140は、5EP160の制御用信号370
を「0」とし1図には示してないアドレス計算に必要な
制御信号を出力する。
この時信号線340には、ALN120によって32ピ
ツトイミゾイエイトデータが出力さ、れている(第25
図(c))、タグとポインタの分離回路5EP160は
、このイミデイエイトデータを入力とするが、信号線3
70が[0」であるために、そのままのデータを信号線
400上に出力する。信号線400上のイミデイエイト
データは、A−ALU190をスルー状態で通過し、I
MR210に格納され、イミデイエイトアドレッシング
モードのアドレス計算が終了する。
一方、E−CTL290は、信号線460を介して入力
されるLoad命令のエントリアドレスに従って、制御
メモリC8296からマイクロプログラムを読み出して
、命令実行用の制御信号を生成するが、Load命令が
タグ無しデータ用命令であるため、タグ付きデータ用の
各回路の制御線470・480.455,475,46
5は「0」となる・そして、IMR210内のイミデイ
エイトデータは、データ切り出し回路MSK240をス
ルーして、更にE−ALU230を:X、)Ll−シテ
、ERF220に格納され、Load命令は完結する。
(2)タグ付きデータ用命令の実行例 タグ付きデータ用命令の例として、ロードコンスタント
命令を取り上げて説明する。第23図の(b)に示すL
cstp命令は、オペランド指定子1で指定されるオペ
ランドにあるタグ付きデータ。
オペランド指定子2で指定されるオペランドに転送する
命令であり、オペコードは第24図の(b)に示す通り
であるa Lcstp命令では、タグ付きデータの形式
が、第3図の(C)又は(d)である時には、最初のワ
ードだけが転送される0本実施例では、オペランド指定
子1のアドレッシングモードを拡張イミデイエイトとし
、オペランド指定子2のアドレッシングモードをレジス
タダイレクトとする。
Lest命令は、MM800より読み出され、第26図
の(a)に示すような形でIBRIIO内に格納される
。そして、アライナ120によりオペコードとモード指
定子が信号線350に出力され(第26図(b))、命
令デコーダlN5DRC130に入力される。オペコー
ドの上位9ビツトは、タグ付きデータ用命令検出回路1
33に入力され、タグ付きデータ用命令であることが判
明し、信号線134はrlJとなる。これを受けて、E
−CTLエントリアドレス生成回路131は、タグ付き
データ用命令Lcstpのエントリアドレスを信号線4
60に出力する。これと並行して、A−CTL用エフェ
ントリアドレス生成回路140拡張イミデイエイトアド
レッシングモードであることを解読し、信号線134が
「1」であることから、正しいアドレッシングモードで
あると判定し、拡張イミデイエイトアドレッシングモー
ド用のエントリアドレスを信号線360に出力する。A
 −CTL140は、信号線360上のエントリアドレ
スに従って、5EP160用制御信号370を「1」と
する。
この時信号線340には、ALN120によって32ビ
ツトのタグ付きデータが出力されている(第26図(c
))、タグとポインタの分離回路5EP160は、この
タグ付きデータを入力とし、信号線370が「1」であ
ることから、タグを信号線380へ出力し、符号拡張し
たポインタを信号線400へ出力する。
このポインタは、図示してないA−CTLからの制御信
号により、PCI70とA−AI、U190で加算され
て、IMR210及びMAR310に格納されて、拡張
イミデイエイトアドレス計算が終了する。
一方、E−CTL290は、信号線460を介して入力
されるLcstp命令エントリアドレスに従って、制御
メモリC8296からマイクロプログラムを読み出して
、命令実行用の制御信号を生成する。Lest命令では
、TAG 200中のタグとIMR210中のポインタ
を合成してタグ付きデータとして、ERF220に格納
する必要があるので、タグ埋め込み制御信号465が「
1」となり、E−ALU230で、タグが埋め込まれて
ERFに格納されLcstp命令は完結する。
第27図は、プロローグ等の論理型プログラミング言語
で記述されたプログラムを高速処理するのに適する計算
機構成の一例である。
プロローグで書かれたプログラミングは、並列性を多く
含んでおり、これらを多くの計算機で並列処理すること
により、高速処理が可能になると言われている。プロロ
ーグを並列処理する方法には、大きく分けてAND並列
と呼ばれるものとOR並列と呼ばれるものがある。第2
8図に。
AND並列とOR並列を示す、(1)〜(7)は、プロ
ローグの各ステートメント(以下クローズと呼ぶ)であ
る、プロローグでは、′ニー”の右辺(以下ヘッドと呼
ぶ)は、左辺(以下ボディと呼ぶ)が真であるための条
件になっており、ボディの各項(以下ゴールと呼ぶ)は
AND条件となっている。このボディのゴールが真かど
うかを同時に調べるのが、AND並列である。第28図
では、ゴールB、C,Dが真かどうかを調べれば良い。
一方、ボディの各ゴールが真となる可能性は複数個存在
するのが一般的である。第28図では、クローズ(2)
、(3)、(4)のいずれかが真になれば、(1)のボ
ディのゴールBが真になる。
この様にゴールが真になりかどうかを調べるのがOR並
列である。
第27図は、本発明を含むデータの処理装置20.30
,31,32を中心として、OR並列を行うデータ処理
システムを示している。 HeapMemlOは、ワー
クメモリである。Code Hem50は、命令を格納
するメモリであり、プロローグのプログラムは、クロー
ズ単位にコンパイルされて、Code Mem、50に
格納される。I、P2Oは、CodeMem50に格納
されている命令の内、ゴール部分の命令を実行するデー
タ処理装置であり、ゴールの引数をUP内のレジスタに
セットして、UPを起動する。UPφ−30,UPI−
31,UP2−32はそれぞれCode Hem50に
格納されている命令の内、ヘッド部分の命令を実行する
データ処理装置であり、LP20によってレジスタ40
゜41.42 (LMφ、LMI、LM2)にセットさ
れたゴールの引数とヘッドの引数のユニフィケーション
を行い、結果をReturn Bus60を介してLP
20に返す。
次に1本実施例を用いて、第28図に示すプロローグを
実行した時の動作を説明する。
OR並列を行うためには、同じヘッドを持つクローズの
最大数だけUPが必要であるが、本実施例では、同一ヘ
ッドBが3けしかないので、UPO〜2の3UP (3
0,31,32)Lか示してない。
LP20は、ゴールBの引数をHeap Hem 10
より読み出して、UPφ、UPI、UP2 (30〜3
2)の引数レジスタ(40〜42)に同時にセットする
。即ち、ゴール側の引数を、UPに均等に分配する。そ
して、UPφ30にはクローズ(2)のベッドのアドレ
スを渡し、UPI、2にはそれぞれクローズ(3)、(
4)のヘッドのアドレスを渡して、各UPにReque
st Bus 70を介して起動をかける。UPφ、U
PI、UF4(30〜32)は、同時に独立して、ユニ
フィケーションを開始して、その結果をReturn 
Bus60を介してLP20に報告する。LP20は、
プログラム上で最初に書かれてクローズからの応答を最
優先にして、そのクローズ(第28図では(2)に相当
)のユニフィケーションが成功したならば。
評価すべきゴールをそのクローズの第1ゴール(第28
図では、B1に相当)として、ゴール側の引数のセット
とUP30〜32の起動を繰り返すことにより、OR並
列が実現でき、プロローグを高速に実行することが可能
となる。
〔発明の効果〕
本発明によれば、タグ無しデータとタグ付きデータが同
じ語長をとる計算機に於て、タグ無しデータ用命令とダ
ク付きデータ用命令を同じ命令セットとして実行できる
と共に、タグ付きデータ用命令に対しても、タグ無しデ
ータ用命令と同等のアドレッシングモードを提供するこ
とが可能となる。これは、タグ付きデータ用命令で記述
されたプログラムでも、再配置可能であることを意味し
ており、タグ無しデータ用命令とタグ付きデータ用命令
を混在して使用する知識工学向きのプログラムを、より
実用的なものとする効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例を示すデータ処理装置の内部
構成のブロック図、第2図は本発明に用いられる汎用レ
ジスタの説明図、第3図は、本発明に用いられるデータ
形式を示す図、第4図はタグ付きデータの具体例を示す
図、第5図は本発明で実行可能な命令のフォーマットを
示す図、第6図は第5図の説明に用いられるアドレッシ
ングモードの詳細を示す図、第7図は第5図に示すディ
スプレースメント(disp)の形式を示す図、第8図
はオペランドの詳細を示す図、第9図は本発明が適用さ
れる計算機の全体構成を示す図、第10図は第1図に示
される命令デコーダの一実施例構成図、第11図は第1
0図に示すタグ付きデータ用命令検出回路133の一実
施例回路図、第12図は第1図に示すタグとポインタの
分離回路の一具体例回路図、第13図は第12図に示す
タグ切り出し回路の一具体例回路図、第14図は第12
図に示すポインタ切り出し回路の一具体例回路図、第1
5図は第1図に示すタグ長検出回路の一具体例回路図、
第16図は第1図に示すタグ切出し回路の一具体例回路
図、第17図は第1図に示すデータ切出し回路の一具体
例回路図、第18図は第1図に示す演算器の一具体例回
路図、第19図は第1図に示す制御回路の内部構成を示
す図、第20図は第1図に示すエントリ修飾回路の一具
体例回路図、第21図は第1図に示すタグ判定回路の動
作説明に用いられる論理図、第22図は第1図に示すジ
ャンプ先修飾回路の内部構成を示す図、第23図は命令
の具体的な実行例を示す図、第24図は本発明に用いら
れる命令のオペコードの具体的な実施例を示す図、第2
5図は本発明によるタグ無しデータ用命令の実行例を説
明するのに用いられる各部のデータを示す図、第26図
は本発明によるタグ付きデータ用命令の実行例を説明す
るのに用いられる各部のデータを示す図、第27図は本
発明の応用例を示す図、第28図は第27図の動作説明
に用いられるプロローグの一例である。 130・・・命令デコーダ、160・・・タグとポイン
タの分離回路、200・・・タグレジスタ、210・・
・ポインタ及びイミデイエイトレジスタ、370・・・
タグとポインタの分離回路の制御信号。

Claims (1)

  1. 【特許請求の範囲】 1、命令と該命令のオペランドとなる基本語長nビット
    (n≧16)のデータを格納するメモリ装置と、プログ
    ラムカウンタで指示される該メモリ装置のアドレスから
    命令を読み出して、該命令を実行する処理装置であって
    、該データの内部形式として、nビットのデータ中にデ
    ータ型を示すフィールド(以下、タグと称す)を持たな
    い第1の形式と、nビットのデータ中にkビット(k<
    n)のタグを持ち、該タグによって示される型のデータ
    が、タグを除く(n−k)ビットで表現されている第2
    のデータ形式と、nビットのデータ中にlビット(l≦
    k)のタグを持ち、該タグを除く(n−l)ビットがア
    ドレスである第3のデータ形式を有し、該命令の形式と
    して、第2或いは第3のデータ形式を処理する命令であ
    ることを示すオペコードとlビットのタグと(n−l)
    ビットのアドレス部から成る第1の命令形式と、第2或
    いは第3のデータ形式を処理する命令であることを示す
    オペコードと、kビットのタグと(n−k)ビットのデ
    ータ部から成る第2の命令形式が含まれているデータ処
    理装置において、 オペコードをデコードして第1又は第2の命令形式であ
    ることを検出する第1のデコード手段と、該第1のデコ
    ード手段によって第1又は第2の命令形式が検出された
    場合に、タグとタグ以外の部分を分離する手段と、分離
    されたタグを格納するタグ格納手段と、第1と第2の命
    令形式を区別する第2のデコード手段と、該第2のデコ
    ード手段によって第2の命令形式が検出された場合、タ
    グ以外のデータ部分をアドレス計算用として使用するア
    ドレス計算手段を設け、該タグ格納手段に格納されたタ
    グの値に従って命令を実行するようにしたことを特徴と
    するデータ処理装置。 2、特許請求の範囲第1項記載の第2のデコード手段は
    、タグをデコードすることによって第1と第2の命令形
    式を区別するようにしたことを特徴とするデータ処理装
    置。 3、特許請求の範囲第1項記載のタグとタグ以外の分離
    手段は、タグの長さを計算し、この結果に基づきタグと
    タグ以外の部分を切り出すようにしたことを特徴とする
    データ処理装置。
JP60148301A 1985-07-04 1985-07-08 デ−タ処理装置 Expired - Lifetime JPH0642198B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP60148301A JPH0642198B2 (ja) 1985-07-08 1985-07-08 デ−タ処理装置
US06/881,407 US4896258A (en) 1985-07-04 1986-07-02 Data processor provided with instructions which refer to both tagged and tagless data
EP86109096A EP0207519B1 (en) 1985-07-04 1986-07-03 Data processor
EP19930103937 EP0552816A3 (en) 1985-07-04 1986-07-03 Processor to process tagged and untagged data
DE86109096T DE3689389T2 (de) 1985-07-04 1986-07-03 Datenverarbeitungsprozessor.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60148301A JPH0642198B2 (ja) 1985-07-08 1985-07-08 デ−タ処理装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP1242255A Division JPH0652501B2 (ja) 1989-09-20 1989-09-20 データ処理装置

Publications (2)

Publication Number Publication Date
JPS629440A true JPS629440A (ja) 1987-01-17
JPH0642198B2 JPH0642198B2 (ja) 1994-06-01

Family

ID=15449718

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60148301A Expired - Lifetime JPH0642198B2 (ja) 1985-07-04 1985-07-08 デ−タ処理装置

Country Status (1)

Country Link
JP (1) JPH0642198B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6341933A (ja) * 1986-08-08 1988-02-23 Agency Of Ind Science & Technol 推論計算機
JPS6461823A (en) * 1987-09-01 1989-03-08 Toshiba Corp Logical information processor
JPH01207828A (ja) * 1988-02-16 1989-08-21 Agency Of Ind Science & Technol 内蔵型タグ付きデータ処理装置
JPH02146628A (ja) * 1989-09-20 1990-06-05 Hitachi Ltd データ処理装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58161042A (ja) * 1981-12-01 1983-09-24 ハネウエル・インフオメ−シヨン・システムズ・インコ−ポレ−テツド デ−タ処理システム
JPS60110056A (ja) * 1983-10-31 1985-06-15 Nec Corp デ−タ処理システムにおけるメモリのアドレス生成を動的に変更する方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58161042A (ja) * 1981-12-01 1983-09-24 ハネウエル・インフオメ−シヨン・システムズ・インコ−ポレ−テツド デ−タ処理システム
JPS60110056A (ja) * 1983-10-31 1985-06-15 Nec Corp デ−タ処理システムにおけるメモリのアドレス生成を動的に変更する方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6341933A (ja) * 1986-08-08 1988-02-23 Agency Of Ind Science & Technol 推論計算機
JPH065507B2 (ja) * 1986-08-08 1994-01-19 工業技術院長 推論計算機
JPS6461823A (en) * 1987-09-01 1989-03-08 Toshiba Corp Logical information processor
JPH01207828A (ja) * 1988-02-16 1989-08-21 Agency Of Ind Science & Technol 内蔵型タグ付きデータ処理装置
JPH02146628A (ja) * 1989-09-20 1990-06-05 Hitachi Ltd データ処理装置
JPH0652501B2 (ja) * 1989-09-20 1994-07-06 株式会社日立製作所 データ処理装置

Also Published As

Publication number Publication date
JPH0642198B2 (ja) 1994-06-01

Similar Documents

Publication Publication Date Title
US4896258A (en) Data processor provided with instructions which refer to both tagged and tagless data
US7685403B1 (en) Pipeline replay support for multi-cycle operations
US5201056A (en) RISC microprocessor architecture with multi-bit tag extended instructions for selectively attaching tag from either instruction or input data to arithmetic operation output
AU686358B2 (en) Computer system
US5416912A (en) System for handling exceptions occurring during parallel execution of microinstructions
US6738892B1 (en) Use of enable bits to control execution of selected instructions
US4897787A (en) Data processing system
KR100900364B1 (ko) 인스트럭션 실행 디바이스, 인스트럭션 실행 방법 및 컴퓨터 판독가능 메모리 매체
JP2902402B2 (ja) データ処理装置
US5381531A (en) Data processor for selective simultaneous execution of a delay slot instruction and a second subsequent instruction the pair following a conditional branch instruction
JPH0429093B2 (ja)
JPH02173823A (ja) データ処理装置
JP3004108B2 (ja) 情報処理装置
JPS623335A (ja) コンピュータ
US6728865B1 (en) Pipeline replay support for unaligned memory operations
KR0163179B1 (ko) 데이타 프로세서
US5742801A (en) Microprocessor to which additional instructions are added and instructions addition method thereof
JPH04260927A (ja) データ処理装置
JPS629440A (ja) デ−タ処理装置
US6209080B1 (en) Constant reconstruction processor that supports reductions in code size and processing time
JPH04260929A (ja) データ処理装置
US6408380B1 (en) Execution of an instruction to load two independently selected registers in a single cycle
US7346763B2 (en) Processor instruction with repeated execution code
US5187782A (en) Data processing system
KR20010050812A (ko) 컴퓨터 시스템 명령들의 소스 연산수들을 선택하고사용하기 위한 방법 및 시스템