JPH02146628A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPH02146628A
JPH02146628A JP1242255A JP24225589A JPH02146628A JP H02146628 A JPH02146628 A JP H02146628A JP 1242255 A JP1242255 A JP 1242255A JP 24225589 A JP24225589 A JP 24225589A JP H02146628 A JPH02146628 A JP H02146628A
Authority
JP
Japan
Prior art keywords
data
instruction
tag
operand
tagged
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
JP1242255A
Other languages
English (en)
Other versions
JPH0652501B2 (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 Ltd
Hitachi Industry and Control Solutions Co Ltd
Original Assignee
Hitachi Engineering Co Ltd Ibaraki
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 Ibaraki, Hitachi Ltd filed Critical Hitachi Engineering Co Ltd Ibaraki
Priority to JP1242255A priority Critical patent/JPH0652501B2/ja
Publication of JPH02146628A publication Critical patent/JPH02146628A/ja
Publication of JPH0652501B2 publication Critical patent/JPH0652501B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明はデータ型を示すタグを有するタグ付きデータ用
命令とタグ無しデータ用命令を解釈実行するデータ処理
装置に関する。
〔発明の背景〕
ノイマン型の汎用のデータ処理装置(以下、計算機と称
す)は、その計算機固有のマクロ命令(以下命令と称す
)を持ち、命令は通常オペレーションの種類を示すオペ
コー1くとオペレーションの対象となるオペランドの所
在を示すオペランド指定子より成っている。そして、オ
ペランドの指定方法は、アドレッシングモードと呼ばれ
、様々な方法が提案されている。これらの計算機に共通
な特徴として、命令が扱うデータのデータ型は、オペコ
ー1〜によって一義的に決められていることが挙げられ
る。例えば、同しオペラン1−に存在するデータでも、
固定小数点用の命令であれば、それを整数と見なして演
算し、文字列用の命令であれば、それを文字コードと見
なして演算すると言3一 つた見合である。
これに対して、プロシーテイングオブロシック プログ
ラミング コンファレンス’84(Pr。
ceedjB of I+ogec Progranv
jngConference ’84)の「パーソナル
逐次型推論マシンPSIのハードウェア開発」あるいは
インターナショナル・シンポジウム・オン・ロジック・
プログラミング′84(Internatjona] 
Symposium on Log]c Progra
mming)の「トワーズ・ア・パイプライン・プロロ
ーグ・プロセッサJ  (”Towards a P]
peljncd PrologProcessor”)
 、更には、ニス・アール・アイ・インターナショナル
・アーティフィシャル・インテリジェンス・センター・
テクニカルレボ−1−1983(Tech−Repor
t 309 + Artifj、cj、alInl;e
l、1igence  Center、SRI  In
ternatj、onal、  1983)の[アブス
1〜ラクト・プロローグ・インストラクションセラh 
J (”An Abstrucl; Prol、ogT
nstructj、on Set″′)に述べられてい
るプロローグ専用計算機では、各データの特定のビット
をタグとして割り当てて、タグにそのデータのデータ型
の情報を持たせている。そして、演算時には、タグを調
べてデータ型を判定しながら、演算の種類を変更するよ
うになっている。このようなタグアーキテクチャは、リ
スプやプロローグと言った記号処理用言語を効率よく実
行できるアーキテクチャである。
以上述へた2種類の計算機アーキテクチャは、互いに独
立であり、札入れないものであった。しかしながら、知
識工学等のアプリケーションでは前者が得意とする数値
処理と後者が得意とする非数値処理(記号処理)が共に
必要であり、両者、即ちタグ無しデータ用命令とタグ付
きデータ用命令を共に実行可能な計算機が必要である。
タグ無しデータ用命令とタグ付きデータ用命令を同一計
算機内で解釈実行するには、両者を別モードの命令セラ
1−とじて、各命令セラ!−には、他のモードへ移行す
る命令を設けておく方法が考えられるが、モー1く移行
が頻繁になるとオーバーヘラ1くが無視できなくなる。
また別の方法として、プロシーディング オブ第11回
インターナルショナルシンポジウムオンコンピュータア
キテクチャ(Proceedjng ofl 1、 t
h Internationa]、 Symposi、
um 011 ComputerArchjtectu
re、june、  1984 )の「アーキテクチャ
オブ5OARニスモール1〜−クオンR]:5CJ(A
rchj、tecture  of  S  OA R
:  Sma]、]、ta1.k  on  aRIS
C)に述べられている様に、命令内に両命令を区別する
モードビットを設けて、各命令に対してタグ無しデータ
を扱うモートとタグ付きデータとして扱うモートを設け
る方法がある。この方法は実現の容易性を言う面では優
れているが、命令長が1ビット増えてしまう欠点があり
、またタグの有無によってオペレーションを変える必要
の無い命令(例えば、データの転送命令は、タグの有無
にかかわらすオペラン1−指定子によって示されたデー
タを転送すれば良い。)に対しては、モードビットが無
駄になってしまう問題点がある。
これらの問題点は、商業化の上で重大な欠点となる。即
ち、命令長の変化は、従来ソフ1へウェア資産との命令
語に於ける互換性をそこね、またモートビットの無駄は
、できる限り小さくすべきオブジェクトコード容量を逆
に増大させてしまう。
更に前記公知例では、タグのビット数が1ビツトに制限
される為、表現できるデータ型が2つになってしまい、
多様なデータ型を扱うプロローグやリスプには対応しに
くいと言う欠点がある。また、フローティングデータを
扱う命令が無い為に例えば、プラント制御等の応用シス
テムには適用しにくいと言う欠点がある。
本発明は、上述の問題点に鑑みて、行われたものである
〔発明の目的〕
本発明の目的は、タグ無しデータ用命令とタグ付きデー
タ用命令を実行可能な汎用のデータ処理装置を提供する
ことにある。
〔発明の概要〕
タグ無データ用命令(所謂汎用命令)は、長い間また広
範囲に使用されている命令であり、(11純な転送命令
からフローティング命令まで命令種も多い。これに対し
てタグ付きデータ用命令は、これらを使用するリスプや
プロローグと言った言語が、また広範囲に使用されてい
ない事もあって、命令種自体が少ない。
そこで、タグ無しデータ用命令体系の中にタグ付きデー
タ用命令を取り込む事によって、全体の命令体系を変え
る事なく両方の命令を同一計算機の命令体系とする。つ
まり、オペコード内の一部をタグ無しデータ用命令に割
当てて、一部をタグ付きデータ用命令に割り当てる。
データ処理装置には、オペコー1〜を解釈して、タグ無
しデータ用命令かタグ付きデータ用命令かを検出するデ
コード手段を設け、とのデコード手段の出力に従って、
タグ付きデータ用命令の時には、オペランド指定子で指
定されるオペランドをタグ付きデータとして、タグを評
価しながら処理を行う。またタグ無しデータ用命令の時
には、タグに当たる部分もデータとして扱い命令を実行
する。
〔発明の実施例〕
第1図は、本発明の一実施例を示すデータ処理装置の内
部構成のブロック図であり、詳しい説明は後述する。
第2図は、本実施例で説明するタグ付きデータ処理装置
(以下計算機と言う)内のレジスタの内で計算機のマク
ロ命令(以下、単に命令と言う)によってオペランドと
して指定可能なものを示している。各レジスタは32ビ
ツトの幅のものが33本あり、プロクラムカウンタ(p
c)以外は、いわゆる汎用レジスタと呼ばれるものであ
る。レジスタの本数は本発明に本質的なものではないが
、ここでは32本の汎用レジスタがあるとして説明する
第3図は、計算機で用いられるデータ形式を示したもの
であり基本語長は32ビットである。
(a)は、タグ無しデータであり、通常の計算機で多く
使用されている。つまり、符号付き16ビツト加算命令
はビット15からビット0を符号付き整数と見なし、3
2ビットフローティング加算命令はピッ1へ31からピ
ッ1〜0を単精度のフローティングデータと見なして演
算する(b)は、第1のタグ付きデータであり、データ
の型を示すタグとデータが1ワード中に埋め込まれてい
る。本発明に於て、タグのビット長及びタグのビット位
置は、本質的な問題ではないが、本実施例でばに=8で
ありMSB側にタグ゛があるものとして説明する。(c
)は、第2のタグ付きデータであり、最初の32ビツト
(以下ポインタワードと呼ぶ)中には、データ本体のデ
ータ型を示すタグとデータ本体のメモリアドレス(ポイ
ンタ)が格納されている。そして、データはポインタで
指定されるメモリ上に在る。本発明に於て、前述のよう
にタグのビット長は本質的な問題ではないが、本実施例
ではQ=4として説明する。また、ポインタで指示され
るデータは、32ビツトである必然性もなく64ビット
あるいはそれ以」二でも本発明は適用可能である。
(d)は、第3のタグ付きデータであり、ポインタワー
ドには、タグと第1又は第2又は第3のタグ付きデータ
へのポインタが格納されている。
上記(b)〜(d)のデータに於て、命令のオペランド
として指定されるのは、(b)では、タグ付きデータそ
のものであり、(c)、(d)ではポインタを含む4バ
イトである。即ちタグ無しデータはバイ1〜単位にアド
レッシングできるか。
タグ付きデータは4バイト(基本語長)単位にしたアド
レッシングできない。
第4図は、タグ付きデータの具体例を示したものである
。n1ll、variable、atom、short
−jntegerが第1のタグ付きデータの例であり、
J、ong−integerbj g−number 
、 double−f loatingが第2のタグ付
きデータの例であり、reference、5truc
ture、1ist。
undefjneが第3のタグ付きデータの例である。
前述したように、タグピッ1〜長は、増減してもかまわ
ないので、新しいデータ型を導入することは容易である
。例えば、使用頻度の高い整数が16ビツトより大きな
場合、これをLong−integerて表現すれば、
参照毎に2回のメモリアクセスが生じてしまう。そコテ
、TAG(7)”1000”に、28ビット長のmid
dle−integerを追加して、比較的大きな整数
も1回のメモリアクセスで、参照できる様にする事が可
能である。
第5図は、本実施例の計算機で実行可能な命令のフォー
マツ1〜を示している。命令は、16ビツトのオペレー
ションワードSO(略称○PW)とオペレーションの対
象となるオペランドの所在を示す16ビツト以上のオペ
ランド指定子51(略称ops)より成る。
○PW50は、オペレーションの種類とその命令がタグ
付きデータを扱えるかどうかを示す。本実施例では、0
PW50の上位9ピツ1〜が“11111.1100”
である命令が、タグ付きデータを扱うことが可能であり
、その時のオペレーションは、0PW50の下位7ビツ
1−で示される。
ここでは、命令デコーダの構成を容易にする為に、上記
のビット割り付けを行ったが、○PWをすべてデコード
するならば、任意のコードをタグ付きデータを扱う命令
に割り付ける事が可能である。
本実施例ではタグ無しデータ用命令として、米国モトロ
ーラ社の32ビットマイクロプロセッサMC68020
にフローティング命令を追加した上位互換の命令を備え
ており、タグ付きデータ用命令として、プロローグ命令
セットを備える。ここでプロローグ命令セットは、ニス
・アール アイ インターナションルアーティフィシャ
ル インテリジェンスセンターテクニカル レボ−I・
309、1983 (Tech、Repor 309.
Artifjcial Intelligence C
enter、 S RI Internatjona1
1983)の「アブストラクトプロローグ インス1−
ラクションセットJ (”An Abstract P
rologInstruction Set” )に記
載されているプロローグ命令セット(以下WAMと略す
)と上位互換である。WAMについては、上記文献に詳
しく述べであるので、ここでは本発明の理解に必要な部
分を簡単に述べる。WAMは、大きく4つのカテゴリー
から成っており、それぞれ、put系命令、 get系
命令、 unify系命令、 Control系命令と
呼ぶ。
プロローグで記述されたプログラムは、コンパイラによ
り上記命令に変換される。put系命令は、引数を引数
レジスタにロードする命令であり、get系命令は引数
レジスタ内のデータと別の引数のパターンマツチングを
行う命令である。unify系命令は、引数が構造を持
っている時(例えば、リスト・構造体)に、各要素毎の
パターンマツチングを行う命令である。
ここでunify系命令は先行するget系命令の実行
結果(リードモード又はライトモー1へ)により、動作
を完全に変えなければならない。このモードは、データ
処理装置のステータスフラグRMB(後述)に反映され
る。○PS51は、アドレッシングモードを示すモード
指定子EA52とアドレス計算で使用するディスプレー
スメントdisp53より成る。
第6図は、EA52の詳細を示しており、各アドレッシ
ングモードでのオペランドアドレスの計算手順について
第7図と第8図を併用しながら説明する。
M OD 5.5が”000”  ”001”  ”0
10”のものは、いわゆるレジスタダイレクト及びレジ
スタ間接と呼ばれるアドレッシングモードであり、当業
者には、周知のものである。MOD55が”Oll”の
ものは、オー1〜インクリメントと呼ばれるアドレッシ
ングモードであり、第8図(d)で示すように、525
4がOの時には、REGN056で示されるレジスタに
2が加算され、8.54が1の時には、REGNO56
で示されるレジスタに4が加算される。MOD55が“
100”のものは、オートデクリメントと呼ばれるアド
レッシングモードであり、第8図の(e)で示すように
オートインゲリメントとは逆の動作をする。
MOD55が” 101”のものは、レジスタ相対と呼
ばれるアドレッシングモードであり、第8図(f)で示
すように、5254がOの時には、DISP53が第7
図のdispタイプIの形式となり、これがREGNO
56で示されるレジスタに加算される。また5254が
1の時には、dispタイプ■が加算されてメモリ上の
オペランドアドレスが算出される。
MOD55が” 111 ”でREGNO56が”oo
oo”のものは、アブソリュートと呼ばれるアトレッジ
ングモードであり、第8図の(g)で示すように、52
54が0の時には、DISP53が第7図のdispタ
イプ■の形式となり、これがそのままメモリ上のオペラ
ンドアドレスとなる。また5254が1の時には、di
spタイプ■がそのままメモリ上にオペランドアドレス
となる。
MOD55が“111”で、REGN056が”000
1”のものは、イミデイエイトと呼ばれるアドレッシン
グモードであり、第8図の(h)で示すように、525
4が○の時には、DISP53が第7図のdispタイ
プlの形式となり、これがそのままオペランドとなる。
また5254が1の時には、dispタイプ■がそのま
まオペランドとなる。
MOD55が“111”で、REGNO56が”010
1”のものは、プログラムカウンタ相対と呼ばれるアド
レッシングモートであり、第8図の(i)で示すように
レジスタ相対アドレッシングモードと同4fi ナオペ
ラントアドレスの算出手順をとる。
MOD55が” 111 ”で、REGNO56が” 
0111 ”のものは、タグ付きイミデイエイトアドレ
ッシングモートと呼ぶ。タグ付きイミデイエイ1へアド
レッシングモードでは、第8図の(j)で示すように、
DISP53が第7図のdispタイプ■、即ち4ビツ
トのタグと28ビツトのポインタである形式となり、プ
ログラムカウンタの値にこのポインタを加算した値のポ
インタとして持つ第3図で示すところの第2のオペラン
ド形式が、オペランドとなる。
本実施例では、タグ付きイミデイエイトアドレッシング
モードで使用す幣レジスタをプログラムカウンタのみに
限った説明しているが、前述の汎用レジスタ、あるいは
本実施例で述べていない他のレジスタでも使用可能なこ
とは明白である。
第9図は、前述したタグ付きデータ用命令とタグ無しデ
ータ用命令を共に実行可能な計算機の全体構成を示して
いる。100は、命令実行装置(略称BPU)であり、
上記の命令を解釈実行する。800は、メモリ装置(略
称MM)であり、上記の命令、あるいはデータを格納す
る。500は、32ピッ1〜幅のメモリアドレスバス(
略称ADRBUS) 、 600は32ピツ1へ幅のメ
モリデータバス(略称DATBUS)である。本発明は
、Bl)tllooに適用されるものなのて、以下BP
U100の内部について詳しく説明する。
第1図は、BPUlooの内部構造を示すブロック図で
ある。
110は、命令バッファ(TBR)であり、DATBU
S600を介してMM800よりフェッチした命令が格
納される。120は、113R11,0内の命令から、
○PW50.EA52,1)ISP53を切り出すアラ
イナ(ALN)であり、○PW50が信号線350に出
力され、EA52が信号線355に出力され、DISP
53が信号線340にそれぞれ出力される。
130は、命令テコーダ(INSDIEC)てあり、信
号線355と、信号線350より入力される情報に従っ
て、アドレス計算用のエンI−リアドレスと命令実行用
のエンドリア1くレスを生成し、各々信号線360と4
60に出力する。140は、アドレス計算のため制御回
路(A−CTL)であり、タグ付きイミデイエイトア1
へレッシングモードの時に信号線370をII I I
Iとする機能を持つ。ACT L 14. Oは、信号
線370の他にもレジスタファイル1.80(ARF)
やアI−レス計算用演算器190 (A−ALU)等の
制御信号の生成も行うが、本発明の理解には不要なので
省略しである。
]−53はdisp53に含まれるタグの長さを判定す
るタグ長検出回路(TL)であり、8ピツI〜長タクの
時に信号線159かII I IIとなる。
160は、信号線340中のディスプレースメントから
タグとポインタを分離する分離回路(S E P)であ
り、信号線370と159がJLにII I IIの時
に、タグを信号線380に出力し、ポインタ部を信号線
400に出力する。また、それ以外の時には、信号線3
40のデータが信号線4、 OOにそのまま出力される
170は、プログラムカウンタ(pc)である。
180は、レジスタファイル(ARri”)であり、第
2図のARO−AR15に相当する。190は、アドレ
ス計算で使用する演算器(A−ALU)である。
200は、5EP160により切り出されたタグを保持
するレジスタ(TAG)であり、タグ付きイミデイエイ
トアドレッシングモー1−時のオペランドのタグが格納
される。
210は、タグ付きイミデイエイトアドレツシンクモー
ト時に、SEP]60で切り出されたポインタとPC1
70を加算して得られる新たなポインタが格納されるレ
ジスタ(IMR)である。
また、イミデイエイ1−アドレッシングモードの時には
、イミデイエイトデータが格納される。本実施例によれ
ば、タグ付きイミデイエイ1〜アドレッシングモー1へ
の時のオペランドは、TAG 200とIMR200の
組で存在することになる。
220は、レジスタファイル(E RF)であり、第2
図のERO−ER]、5に相当する。
230は、演算器(E−ALU)であり、通常の算術・
論理演算の他に、信号線465がII I IIの場合
には、信号線4.30から入力されるデータに含まれる
タグの長さをT L 1.52によって判定し、信号線
158の値に従って信号線430からのタグ信号線44
5から入力されるデータに埋め込んでタグ付きデータを
生成する機能柘持つ。
240は、信号線475がri i nの場合に、ES
AB440からの入力されるタグ付きデータから、タグ
長検出回路TL151の判定結果によりタグをマスクし
て、データ部を信号線445に出力するデータを切り出
し回路(MSK)である。
250は、ESBB430から入力されるタグ付きデー
タから、TL150によって判定されたタグだけを切り
出す回路(TAG−EXT)であり、タグを251に出
力する。TAG−EX、T250によって切り出された
タグは、信号線455がLL OIIの時、タグレジス
タ260(TAGR)へ格納され、信号線455が1”
の時、タグレジスタ270(TAGR)に格納される。
280は、セレクタ(SEL)であり、信号線4−70
 ニ従ってTAGR26o又はA T G R270又
はE−CTL290から出力されるタグから1つを選択
してE S B 84.30の」三位8ビットに出力す
る。
290は、命令実行のための制御回路(E −CT1.
、)であり、マイクロプログラム制御方式によって、制
御信号の生成を行う。
300は、B P U i OOの状態を示すステータ
スフラグ(、RM B )であり、「0」の時リードモ
ードを示し、「1」の時ライトモートを示している。
310は、メモリのアドレスを保持するメモリア1−レ
スレジスタ(MAR)であり、アドレスi1算によって
算出されたオペランドアドレスが格納される。また、タ
グ付きイミデイエイ1〜7トレスシンクモートの時には
、ポインタワードのポインタが格納される。
320は、MM800へ書き込むデータを保持するメモ
リライトデータレジスタ (MWR)である。330は
、MM880から読み出したデータを保持するオペラン
ドバッファレジスタ(OBR)である。
以下本発明の理解に必要な各ブロックの詳細な説明を行
う。
lN5DIEC130は、例えば第10図に示す構成を
とり、少なくとも命令がタグ付きデータを扱うかどうか
の検出を行う手段」33を持っている。エントリアドレ
ス生成回路131は、タグ付きデータ用命令検出回路]
33の出力134によって、タグ無しデータ用命令とタ
グ付きデータ用命令では、異なったエン1−リアドレス
を信号線460に出力する。。またA−CTL用エフェ
ン1アドレス生成回路1r32は、命令中のEA52に
従ってアドレスM4算用のエントリアドレスを生成する
が、信号線134がrOJ即ち、タグ無しデータ用命令
の時には、タグ付きイミデイエイ1〜ア1くレツシンク
モードは、使用不可能なアドレッシングモー1くとして
、エン1ヘリア1ヘレスは生成されない。
エン1〜リアドレス生成回路131,132は、リー1
−オンリメモリ (ROM)、プログラマブルロジック
アレイ(PLA)等を用いれば、当業者にとって容易に
構成できる。また、タグ付きデ夕月命令検出回路133
は、本実施例の場合第11図に示すような回路によって
構成できる。第11図に於て、信号線352は、命令中
の0PS50の16ビン1〜中の上位9ビツトであり、
信号線351は、それ以外のビットである。1330と
1331はNOT論理であり、1332はAND論理で
ある。信号線134は、タグ付きデータ用命令の時「1
」となり、それ以外の命令では「O」となる。
また、オペレーションワード(○PW)が、規則性の高
いものであれば、命令デコーダ130全体を、ROMあ
るいはPLAあるいはラング110シツクを用いて、1
つのデコーダとして実現する事は可能である。
タグとポインタの分離回路S E P 1.60は、第
12図のような構成をとり、A −CT L 14. 
Oからの制御信号370が「1」の時に信号線340」
二のディスプレースメントからタグとポインタを分離し
て、それぞれ信号線380,390上に出力する。
ここで、タグ切り出し回路161は、本実施例の場合第
13図に示すような回路によって構成できる。第13図
に於て、信号線344は、信号線34、0の上位8ビツ
トが出力されており、信号線370が「1」の時に信号
線380には、タグか出力される。
また、ポインタ切り出し回路162は、本実施例の場合
第14図に示すような回路によって構成できる。第14
図に於て、信号線343は、信号線340の下位24ピ
ツ1へが出力されており、信号線34.6,347には
それぞ九信号線340の28ピツ1〜目と24ビット目
が出力されている。
ポインタ切り出し回路162は、信号線370が「1」
の時、TL153の出力が「」」、即ち8ビツトタクで
あれば、24ビットポインタの符号拡張データをA S
 B B 400に出力し、TL153の出力が「0」
であれば28ビツトポインタの符号拡張データをA S
 B B 400に出力する。
また、信号線370が「OJてあれば、信号線340の
値をそのままASBB400に出力する。
タグ長検出回路TL153は、タグ付きデータに含まれ
るタグが8ビツトか4ピツ1へかを検出する回路であり
、本実施例の場合第15図に示すような回路によって構
成できる。第15図に於て、信号線344は、信号線3
40の」三位4ピッ!・が出力されており、151はこ
れらの論理積をとるAND論理である。TE153は第
4図に示すタグ付きデータの内、8ビットタグ即ち、上
位4ビツトが” 1111 ”の時に出力信号線159
が「1」となり、4ビツトタグの時には、「O」となる
本実施例に於て、タグ長検出回路は、TE153の他に
TE150.TE101.TE152があるがいずれも
、機能・内部構成ともに同一である。
タグ切り出し回路TAG−EXT250は、本実施例の
場合第16図に示すような回路によって構成できる。第
16図に於て、信号線434は、ESBB430の上位
8ビツトが出力されており、8ビツトタグ、即ち信号線
156が「1」の時には信号線434がタグとして信号
線251に出力される。また、4ビツトタグ、即ち信号
線156が「0」の時には、信号線251には上位4ビ
ツトが” o o o o”で、下位4ビットにタグが
出力される。
データ切り出し回路MSK240は、本実施例の場合第
17図に示すような回路で構成できる。
第17図に於て、信号線442は、ESAB440の上
位8ビットが出力されており、E−CTL290からデ
ータ切り出しの制御信号475がtrueのとき、TE
101の出力157が「1」、即ち8ビツトタグであれ
ば、信号線445には、」二記8ビットがマスタされた
データ部のみが出力される。
また、コノ時TL151(7)出力157がrOJなら
ば、出力445には、上位4ビツトのみがマスタされた
28ビツトのデータ部が出力される。また信号線475
が「0」であれば、ESAB440上のデータがそのま
ま信号線445に出力される。
タグ埋め込み回路は、演算器E −A L tJ 23
0の1つのファンクションとして位置付けられ、本実施
例では、E−ALU230内に第18図で示されている
ような回路を設けることにより実現できる。第18図に
於て、信号線445にはタグが埋め込まれるデータが出
力されており、信号線447には、信号線445の上位
4ビツトが出力されており、信号線448には下位24
ビツトが出力されており、信号線446には、それ以外
のビットが出力されている。信号線432には、埋め込
むタグが出力されており、E−CTL290からのタグ
埋め込み制御信号465が「IJのとき、TE152の
出力158が「1」、即ち8ビツトタグであれば、出力
450の下位24ピツ1〜には、信号線445の下位2
4ビツトが出力され、出力450の上位8ビツトには、
信号線432が出力される。またこの時、TE152の
出力158がrOJであれば、出力450の下位28ビ
ツトには、信号線445の下位28ビツトが出力され、
出力450の上位4ビツトには、信号線432の下位4
ピツ1〜が出力される。またタグ埋め込み制御信号46
5が「0」であれば、出力450はすべて「0」となる
第19図に制御回路290の内部構成を示す。
E−CTL290は命令実行のために各種の制御信号を
生成するマイクロプログラム制御方式の制御回路である
尚、本実施例では、マイクロプログラム制御方式を用い
ているが、高速な制御を実現する場合や、あまり複雑で
ない命令を実行する場合には、ワイヤードロジックによ
る制御方式を用いる事も可能である。制御回路は一般に
第19図に示したよりも多くの構成要素、信号線を有す
るが、本発明に直接関係のないものは省略しである。第
19図に於て、296は、制御メモリ(CS)であり、
マイクロプログラムを格納する。295は、C5296
から読み出されたマイクロプログラムを保持するマイク
ロ命令レジスタ(MIR)である。マイクロプログラム
アドレス・セレクタ297は、次に読み出す制御メモリ
のアドレスを信号線289に従ッテ、信号線299,3
01,303,305の中から選択する。エントリ修飾
回路291は、RM300の値によってE −CT T
、 290のエントリア1ヘレス460を修飾する回路
であり、本実施例では、第20図に示すような回路によ
って構成できる。第20図に於て、信号線461には、
エントリアドレス460の最下位ピッ1へが出力されて
おり、信号線462にはそれ以外のビン1〜が出力され
ている。lN5DEC130によって、RMB300の
値で修飾すべき命令のエントリアドレスが生成されると
、これをユニファイ命令検出回路2910によって検出
し、信号線2911が「1」となり、C8296から最
初に読み出すアドレス299の最下位ピッ)・は、RM
、B500の出力469となる。またユニファイ命令検
出回路2910の出力が「O」の時には、ア1−レス2
99は、エントリアドレス る。本実施例では、最下位ビットを修飾したが、他のビ
ットでも可能なことは明白である。
タグ判定回路293は、マイクロプログラムで指定され
るテストパターン304に従って、タグレジスタの出力
4. 9 0と495の組み合わせにより、マイクロプ
ログラムのジャンプアドレス303を修飾するオフセラ
I− 3 0 2を生成する。本実施例では、第21図
(1)〜(3)に示すような機能を持つ論理によって構
成できる。第21図に示すような論理は、ROM,RA
M,PLA等を用いれば容易に実現可能である。
ジャンプ先修飾回路292は、マイクロプログラムによ
って指定されるジャンプアドレス303をベースとして
、オフセラ1〜302で示される分だけ離れたジャンプ
アドレスを生成する回路であり、いわゆるマルチウェイ
ジャンプを行うものである。本実施例に於ては、第22
図に示すような回路により構成することができる。第2
2図に於て、信号線3031は、ジャンプアドレス30
3の下位4ビットを示しており、信号線3032はそれ
以外のビットを示している。出力のジャンプアドレス3
01の下位4ビツトには、3031とオフセット302
の論理和が出力される。
次に、タグ無しデータ用命令とタグ付きデータ用命令を
実行するときの動作例について説明する。
(1)タグ無しデータ用命令の実行例 タグ無しデータ用命令の例として、ロード命令を取り上
げて説明する。第23図の(a)に示すLoad命令は
、オペランド指定子1で指定されるオペランドにあるデ
ータをオペランド指定子2で指定されるオペランドに転
送する命令であり、オペコードは第24図の(a)に示
す通りである。本実施例ではオペランド指定子1のアド
レッシングモードを32ピッ1〜イミデイエイトとじ、
オペランド指定子2のアドレッシングモードをレジスタ
ダイレクトする。
Load命令は、MM800より読み出され、第25図
の(a)に示すような形でIBRIIO内に格納される
。そして、アライナ120によりオペコードとモード指
定子がそれぞれ信号線350と355に出力され(第2
5図(b 1) 、 (b 2))、命令デコーダIN
SDEC130に入力される。オペコードの上位9ビツ
トは、タグ付きデータ用命令検出回路133に入力され
、タグ無しデータ用命令であることが判明し、信号線1
34は「0」となる。
これを受けて、E−CTL用エントリアドレス生成回路
131は、タグ無しデータ用命令Loadのエントリア
ドレスを信号線460に出力する。これと並行して、A
−CTL用エジエントリアドレス生成回路140ソース
オペランドが32ビツトのイミデイエイトアドレッシン
グモードであることを解読し、ゴミデイエイ1〜フトレ
ツシングモー1〜用のエントリアドレスを信号線360
に出力する。
A−CTL140は、SEP160(7)制御用信号3
70を[0」とし、図には示してない71−レス計算に
必要な制御信号を出力する。
この時信号線340には、ALN120によって32ピ
ットイミゾイエイトデータが出方されている(第25図
(C))。タグとポインタの分離回路SEP160は、
このイミディエイトデータを入力とするが、信号線37
0がrOJであるために、そのままのデータを信号線4
00上に出方する(第25図(d))。信号線400上
のイミディエイ1ーデータは、A−ALU190をスル
ー状態で通過し、IMR210に格納され、イミテイエ
イトアドレッシングモー1くのアドレス計算が終了する
一方、E−CTL290は信号線460を介して入力さ
れるLoad命令のエントリアドレスに従って、制御メ
モリC8296からマイクロプログラムを読み出して、
命令実行用の制御信号を生成するが、Load命令がタ
グ無しデータ用命令であるため、タグ付きデータ用の各
回路の制御線470゜480 、455 、475 、
465は「O」となる。
そして、IMR210内のイミテイエイトデータは、デ
ータ切り出し回路M S K 24.0をスルーして、
更にE−ALU230をスルーして、EIIF220に
格納され、Load命令は完結する。
(2)タグ付きデータ用命令の実行例 タグ付きデータ用命令の例として、グツ1−コンスタン
ト命令を取り上げて説明する。第23図の(b)に示す
Put −Con5tant命令は、オペランド指定子
1で指定されるオペランドにあるタグ付きデータをオペ
ランド指定子2で指定されるオペランドに転送する命令
であり、オペコードは第24図の(b)に示す通りであ
る。
ここでは、オペランド指定子1のアドレッシングモード
をタグ付きイミデイエイトアドレツシングモードとし、
オペランド指定子2のアドレッシングモードをレジスタ
ダイレクトとする。
Put −Con5tant命令は、MMsooより読
み出され、第26図の(a)に示すような形でIBRI
IO内に格納される。そして、アライナ120によりオ
ペコー1くとモード指定子が信号線350に出力され(
第26図(b))、命令デコーダ1NsDl’EC13
0に入力される。オペコードの」1位9ピッ1へは、タ
グ付きデータ用命令検出回路133に入力され、タグ付
きデータ用命令であることが判明し、信号線134.r
lJとなる。これを受けて、E −CTLエントリアド
レス生成回路131は、タグ付きデータ用命令Lcst
pのエントリアドレスを信号線4、60に出力する。こ
れと並行して、A −CT L用エン1−リアドレス生
成回路140は、タグ付きイミデイエイトアドレッシン
グモードであることを解読し、信号線134が「1」で
あることから、正しいアドレッシングモードであると判
定し、夕グ付きイミデイエイ1−アドレツシンクモード
用のエントリアドレスを信号線360に出力する。
A−CTL140は、信号線360」二のエン1〜リア
トレスに従って、5EP160用制御信号370を「1
」とする。
この時信号線340には、A L N 1.20によっ
て32ビットのタグ付きデータが出力されている(第2
6図(C))。タグとポインタの分離回路5EP160
は、このタグ付きデータを入力とし、信号線370が「
1」であることから、タグを信号線380へ出力し、符
号拡張したポインタを信号線4.00へ出力する。
このポインタは、図示していないA−CTLからの制御
信号により、PC170とA−ALU190で加算され
て、IMR210及びMAR310に格納されて、タグ
付きイミデイエイトアドレス計算が終了する。
一方、E−CTL290は、信号線4.60を介して入
力されるPut−Con5tant命令エントリアドレ
スに従って、制御メモリC8296からマイクロ 0プログラムを読み出して、命令実行用の制御信号を生
成する。Put −Con5tant命令では、TAG
200中のタグとIMR210中のポインタを合成して
タグ付きデータとして、ERF220に格納する必要が
あるので、タグ埋め込み制御信号465が「1」となり
、E−ALU230で、タグが埋め込まれてERFに格
納されPut −Con5tant命令は完結する。
別のタグ付きデータ用命令の実行例として、加算命令を
取り」二げて説明する。タグ無しデータ用命令の加算で
は、周知の如くデータの型は命令によって一義的に決ま
る。つまり同一の32ピツ1へ列でも、整数の加算命令
ならば、32ビツト整数として演算し、フローティング
の加算命令ならば、32ビツトを指数部と仮数部に分け
て演算する。
これに対して、タグ付きデータ用命令の加算では、命令
の実行時にデータの型をタグによって判定し、それに従
って、演算を変えたり、例外検出を行ったりする。例え
ば、第5図に示す命令でオペレーションとして、タグ付
きデータの加算が指定され、2つのオペランドがオペラ
ン1〜指定子によってEROとERIレジスタに指定さ
れ、EROレジスタ内のタグが第4図に示すwordで
ありERIレジスタ内のタグが、Longであったとす
る。命令実行のための制御回路290は、各オペランド
のタグを第21図(その3)のテストパターンに従って
判定し、この場合オフセラ1へ5で指定される処理によ
ってEROの16ビツト整数を32ビツトに拡張する。
そしてERIのポインタで示される32ビツト整数と加
算後、結果を同じ<ERIのポインタで示される所へ格
納して命令は完結する。
また別の場合として、指定されたオペランドのタグが加
算に適さないデータ型(str、 Lst等々)の時に
は、第21図(その3)のデス1〜パターンによってオ
フセット]1が指定されて、演算例外が発生し、命令実
行のための制御回路290は、図示していない特定のア
ドレスへ例外ジャンプを行う様にPCI70を設定する
。以後の処理は、タグ無し命令に於ける演算例外と同等
であり、当業者周知の手順に従って、ソフトウェアによ
り例外処理が行われる。
本実施例では、タグ無しデータ用命令体系として、モ1
ヘローラ社の32ビツトマイクロプロセツサMC680
20と上位互換を採用しているが、本発明はこの命令体
系を前提としているものでない事は明らかであり、他の
命令体系に対しても適用可能である。
〔発明の効果〕
本発狸によれば、タグ無しデータとタグ付きブタが同し
語長をとる剖算機に於て、タグ無しデータ用命令とタグ
付きデータ用命令を同じ命令セットとして実行できる為
タグ無しデータ用命令とタグ付きデータ用命令を混在し
て使用する知識工学向きのプロクラムを、より実用的な
ものとする効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例を示すデータ処理装置の内部
構成のブロック図、第2図は本発明に用いられる汎用レ
ジスタの説明図、第3図は、本発明に用いられるデータ
形式を示す図、第4図はタグ付きデータの具体例を示す
図、第5図は本発明で実行可能な命令のフォーマットを
示す図、第6図は第5図の説明に用いられるアドレッシ
ングモードの詳細を示す図、第7図は第5図に示すディ
スプレースメント(disp)の形式を示す図、第8図
はオペラン1(の詳細を示す図、第9図は本発明が適用
されるM1算機の全体構成を示す図、第10図は第1図
に示される命令デコーダの一実施例構成図、第11図は
第10図に示すタグ付きデータ用命令検出回路133の
一実施例回路図、第12図は第1図に示すタグとポイン
タの分離回路の一具体例回路図、第13図は第12図に
示すタグ切り出し回路の一具体例回路図、第14図は第
12図に示すポインタ切り出し回路−具体例回路図、第
15図は第1図に示すタグ長検出回路の一具体例回路図
、第16図は第1図に示すタグ切出し回路の一具体例回
路図、第17図は第1図に示すデータ切出し回路の一具
体例回路図、第18図は第1図に示す演算器の一具体例
回路図、第」9図は第1図に示す制御回路の内部構成を
示す図、第20図は第1図に示すエン1−り修飾回路の
一具体例回路図、第21図は第1図に示すタグ判定回路
の動作説明に用いられる論理図、第22図は第1図に示
すジャンプ先修飾回路の内部構成を示す図、第23図は
命令の具体的な実行例を示す図、第24図は本発明に用
いられる命令のオペコー1への具体的に実施例を示す図
、第25図は本発明によるタグ無しデータ用の命令の実
行例を説明するのに用いられる各部のデータを示す図、
第26図は本発明によるタグ付きデータ用命令の実行例
を説明するのに用いられる各部のデータを示す図である
。 130・・命令デコーダ、160 ・タグとポインタの
分離回路、200・・タグレジスタ、210 ポインタ
及びイミデイエイ1〜レジスタ、370 夕第 図 m−−2澗− 第 図 第 図 第 図 第 図 第 図 第 図 第 図 第 図 第 図 第21図 第21図 第 図 IBRIIO内のデ IBRIIO内のデ タ 信号線350上のデ 信号線350上のデ タ 信号線355上のデ 信号線355上のデ タ 信号線340上のデ 信号線340上のデ タ 信号線400上のデ 信号線350上のデータ

Claims (1)

  1. 【特許請求の範囲】 1、基本語長のデータ中にデータの型を指定するタグを
    有するタグ付きデータと基本語長のデータ中にタグを有
    しないタグ無しデータを含むオペランドと、オペレーシ
    ョンの対象となるオペランドがタグ付きデータであるか
    否かを指定しかつオペレーションの種類を指定するオペ
    コードとオペレーションの対象となるオペランドの所在
    を指定するオペランド指定子を含む命令とを記憶するメ
    モリ装置から読み出された命令のオペコードをデコード
    して当該命令がタグ付きデータ用命令であるか否かを検
    出する第1の手段と、該第1の手段に応答してオペラン
    ド指定子によつて指定されたオペランドをタグ付きデー
    タ或いはタグ無しデータとして処理する第2の手段を設
    け、命令に応答してオペランドを処理するデータ処理装
    置。 2、タグは複数ビットで構成される特許請求の範囲第1
    項記憶のデータ処理装置。 3、オペランドの所在を指定するオペランド指定子は、
    オペランドが記憶されているメモリ装置のアドレス或い
    はオペランドが記憶されているレジスタ或いはオペラン
    ドそのものを指定するようになつている特許請求の範囲
    第1項記載のデータ処理装置。 4、少なくとも1つのタグ無しデータは浮動小数点デー
    タである特許請求の範囲第1項記憶のデータ処理装置。 5、少なくとも1つのタグ無しデータ用命令は浮動小数
    点命令である特許請求の範囲第1項記載のデータ処理装
    置。 6、第2の手段は、第1の手段の出力に応答して、タグ
    を切り出し、タグ以外のビットとは異なつた演算を行な
    うようになつている特許請求の範囲第1項記載のデータ
    処理装置。 7、第2の手段は、オペランド指定子がオペランドを指
    定する際に、タグ付きデータに対して、予め許されたア
    ドレッシング以外のアドレッシングを指定した場合、例
    外信号を発生させるようになつている特許請求の範囲第
    1項記載のデータ処理装置。 8、基本語重のデータ中にデータの型を指定するタグを
    有するタグ付きデータと基本語長のデータ中にタグを有
    しないタグ無しデータを含むオペランドと、オペレーシ
    ョンの対象となるオペランドがタグ付きデータであるか
    否かを指定しかつオペレーションの種類を指定するオペ
    コードとオペレーションの対象となるオペランドの所在
    を指定するオペランド指定子を含む命令とを記憶するメ
    モリ装置と、メモリ装置から読み出された命令のオペコ
    ードをデコードして当該命令がタグ付きデータ用命令で
    あるか否かを検出する第1の手段と、該第1の手段に応
    答してオペランド指定子によつて指定されたオペランド
    をタグ付きデータ或いはタグ無しデータとして処理する
    第2の手段を設け、命令に応答してオペランドを処理す
    るデータ処理装置。
JP1242255A 1989-09-20 1989-09-20 データ処理装置 Expired - Lifetime JPH0652501B2 (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Related Parent Applications (1)

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

Publications (2)

Publication Number Publication Date
JPH02146628A true JPH02146628A (ja) 1990-06-05
JPH0652501B2 JPH0652501B2 (ja) 1994-07-06

Family

ID=17086550

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JPH0652501B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03136137A (ja) * 1989-08-14 1991-06-10 Internatl Business Mach Corp <Ibm> オブジェクト・ワード処理方法及び装置
US8749718B2 (en) 2011-04-21 2014-06-10 Kabushiki Kaisha Toshiba Video display apparatus and video display method
CN118210552A (zh) * 2022-12-15 2024-06-18 寒武纪(西安)集成电路有限公司 指令生成方法、装置及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3015217U (ja) * 1995-02-28 1995-08-29 丸五工業株式会社 軽量縫付安全地下足袋

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS629440A (ja) * 1985-07-08 1987-01-17 Hitachi Ltd デ−タ処理装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS629440A (ja) * 1985-07-08 1987-01-17 Hitachi Ltd デ−タ処理装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03136137A (ja) * 1989-08-14 1991-06-10 Internatl Business Mach Corp <Ibm> オブジェクト・ワード処理方法及び装置
US8749718B2 (en) 2011-04-21 2014-06-10 Kabushiki Kaisha Toshiba Video display apparatus and video display method
CN118210552A (zh) * 2022-12-15 2024-06-18 寒武纪(西安)集成电路有限公司 指令生成方法、装置及存储介质

Also Published As

Publication number Publication date
JPH0652501B2 (ja) 1994-07-06

Similar Documents

Publication Publication Date Title
KR100327777B1 (ko) 다중명령 세트를 이용한 데이터 프로세싱 장치
JP5646656B2 (ja) 複数の命令セットにより使用されるレジスタ間のマッピング
CN102792265B (zh) 基于机器状态的指令破解
CA1324671C (en) Decoding multiple specifiers in a variable length instruction architecture
US4954943A (en) Data processing system
JPH0926878A (ja) データ処理装置
EP0405495A2 (en) Instruction unit logic management apparatus included in a pipelined processing unit
US4896258A (en) Data processor provided with instructions which refer to both tagged and tagless data
CN108885551A (zh) 存储器复制指令、处理器、方法和系统
JPH04260927A (ja) データ処理装置
JP3004108B2 (ja) 情報処理装置
JP2000137611A (ja) 特殊ミリコ―ド命令によって条件の設定およびテストを行う方法
JPH02146628A (ja) データ処理装置
JPS62165242A (ja) プロセツサ
JP3322202B2 (ja) 命令を処理するための方法およびシステム
JPS6160459B2 (ja)
JPS623336A (ja) 条件付きブランチ方式
JPH0642198B2 (ja) デ−タ処理装置
JPH04260926A (ja) ビット検索回路及びそれを備えたデータ処理装置
JPH01183736A (ja) 情報処理装置
US20180173546A1 (en) System and method for translating a guest instruction of a guest architecture into at least one host instruction of a host architecture
CN100578442C (zh) 选择性地控制结果回写的装置及方法
JPH1196001A (ja) プログラム実行装置及びプログラム変換方法
JPS6149692B2 (ja)
JPH01217633A (ja) データ処理装置