JPS60136832A - タグ付きデ−タを扱う論理型デ−タ処理装置 - Google Patents

タグ付きデ−タを扱う論理型デ−タ処理装置

Info

Publication number
JPS60136832A
JPS60136832A JP58249708A JP24970883A JPS60136832A JP S60136832 A JPS60136832 A JP S60136832A JP 58249708 A JP58249708 A JP 58249708A JP 24970883 A JP24970883 A JP 24970883A JP S60136832 A JPS60136832 A JP S60136832A
Authority
JP
Japan
Prior art keywords
data
tag
bits
tag part
address
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
Application number
JP58249708A
Other languages
English (en)
Inventor
Hidekazu Matsumoto
松本 秀和
Tadaaki Bando
忠秋 坂東
Shinichiro Yamaguchi
伸一朗 山口
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 JP58249708A priority Critical patent/JPS60136832A/ja
Publication of JPS60136832A publication Critical patent/JPS60136832A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明はpro l ogのような述語論理型言語の実
行に適したデータ処理装置に係わシ、特に実行に際して
データの属性を識別するために該データに付随して付け
られるタグ(Tag)部の処理に適した論理型データ処
理装置に関する。
〔発明の背景〕
FORTRANに代表される手続きを主体とする言語系
ではプロシ?ヤとデータが分離しているが、prolo
gのような論理型言語ではデータの評価によって処理が
行われる。このため、このような論理型言語を効率良く
実行するためには、全てのデータについて該データの属
性(例えば、変数、定数、構造体など)を表わすための
フィールド、即ちタグ(Tag )部を付加することが
行われる。タグ部にデータの属性を集中させることによ
シ、言語処理系はタグ部のみを評価することによって処
理を行うことが可能になシ前述した論理型言語の処理効
率を向上させることができる。
しかし、タグ部をデータを表現する部分に付加するため
、データの語長がデータのみを表現する語長より長くな
るのが一般的であった。最近の電子計算機では基本的な
データの長さを32ビツトとするものが多い。このデー
タを表現するビット長を維持しつつタグを付加しようと
すると基本語長は32ビツトよシも長くなるのが常であ
った。
例えば、新世代コンピュータ技術開発機構(略称IC0
T)から発表されたマシンψ10シックブロクラミング
′83 コンファレンスレコード7.2(1983)”
では32ビツトのデータ部と8ビツトのタグ部(一部は
ゴミ集め用のピットとして使用)から−語を形成してい
る。したがってψでは、データ部は32ビツトであるが
一語長は40ビツトである。このように語長がデータの
ビット長と異なる場合、従来の32ビツトを基本語長と
するアーキテクチャとの混在が難しくなる。また、FO
RTRANやpa6calなどの言語とノリンケーシモ
困難もしくは不可能となる。したがって、論理型言語専
用のマシンの用途ではデータ長が一語長と異なっても支
障がなかったが、他の言語とリンクして使用する用途に
対して適さない面があった。
〔発明の目的〕
本発明は以上の欠点に鑑み発明されたもので、その目的
とするところは、記憶効率の改善とメモリアクセスの低
減化を図るとともに他言語とのリンケージを容易化する
論理屋データ処理装置を提供することにある。
〔発明の概要〕
本発明の特徴は、メモリの基本語長を従来の汎用マシン
と同一の32ビツトとしながら、基本語長内にタグ部を
含めて、基本的なデータに関しては一語でタグとデータ
を表現することを可能とし、32ビツト以上のデータの
場合にはある語のタグ部によってデータ型式を示し、該
語のデータ部によって真のデータが存在するアドレスを
指示し、該アドレス上の語はタグ部分を含まずデータ部
だけからなることにある。
〔発明の実施例〕
以下、図面を参照し本発明の詳細な説明する。
prolog言語については’W、F、 C1ocks
in 。
C,S、Mellish共著、 Programmin
g in Prolog。
8pringer −’5ler lag Ber l
 in Heidell)erg Ge −rmaHy
 (1981)″に詳しく述べられている。
pro logの実行はUnificationと13
acktrack ingを基本メカニズムトスル。 
′ 第1図は本発明を実施する際の実行環境を示している。
prologの文(clause)は図示しないコンパ
イラによってテーブル形式に変換され、CodeAr 
e aに格納される。5tack Area及びCop
yAr eaはprologの実行時に必要なWork
 Areaである。、9iaCk Area内には実行
に必要な各種の5tackが形成される。C0Py A
reaはprolog実行時に(’oae Area内
の構造体をコピーする領域として使われる。本発明の一
実施例では構造体の評価用としてCopy方式を採って
いるが、他に■deArea内の構造体を共有する5t
ructure Sharing方式があシ、もちろん
本発明は該方式の場合でも適用できる。C0py At
eaには本発明の実施例では、32ビツト以上の整数、
浮動小数点数をも格納する。
第2図は第1図で説明したCode Atea 、5t
ackArea 、 Copy Area及びi、1t
erpreterの関係を示している。pro log
のclauseはコンパイラによってテーブル形式に変
換される。プロシジャへラドテーブル(PUT)にはプ
ログラム中の全てのhead goalのfuHcto
r名が与えられ、各clauseは、claue毎にC
1ause ’I’al)le (CT>に変換される
。head goa lのfuHctOr名が同じcl
auseはまとめられる。構造体を有するclause
場合にはテーブル形式に変換された構造体表現(ST)
に対してCTからポインタがはられる。
5tack Area内には変数を格納するI、o(a
lStack (LS) 、制御情報を格納するCon
trolB(ack (C8)及び13acklra(
k時にb ind済の変数をunbindするためにb
ind した変数のアドレスを保持する’l’rail
 5tack (TS)が含まれる。
もちろん、5tackの分割方法は他にも有シ、その場
合にも本発明を適用できることはもちろんである。
CopyAreaにはCopyされた構造体表現(ST
)、32ビット以上の整数、浮動小数点数。
リスト、その他が置かれる。それらはポインタによって
LSに結びつけられる。
Prologの実行はIn1erprelerによって
行われる。l1jerpreierは与えられたgoa
+に対してCode Atea を参照して、マツチン
グするCI−au3eを探し、5tack Area及
びCopyAreaを用いてUnification処
理を行う。前記インターブリータはマイクロ命令で記述
される。もちろんマイクロ命令でなく、機械語もしくは
高級言語で記述されてもよい。
第3図は、Tagの形式を説明する図である。タグ部は
可変長で、本発明では4ビツトの場合と8ビツトの場合
゛を示しているが、もちろん、それ以外のビット長でも
本発明は適用可能である。データ部分が24ビツト以下
の場合には、タグ部を8ビツトとすることによってタグ
の種類を増やすことができる。8ビツト長のタグを持つ
データ型式%式%) (sin)などがある。メモリアドレスを直接指すPo
1rrterの場合、データ部分は大きくする必要があ
るため、タグ部は4ビツト型式とする。4ピツト長のタ
グを持つデータ型式としては、integer (32
ビツト) (int) 、 integerdoubl
e C64ビット:) (din) 、 floati
ng(fit) 、 reference (ref)
、 5tructure(str)などがある。これら
は全て28ビツト長のポインタを持つ。第3図以外にも
各種のデータ型式があることはもちろんである。
第4図は、[,0cal 5tack (LS )とC
opy Areaの関係を示している。Unifica
tion実行前にLS上に積まれた変数セルに対して、
Unification処理によって値がbindされ
ると前記変数セルはbindする値に応じて次のように
変更される。
(1) Atom タグ部をajmとし、データ部にアトム番号を書き込む
(2) 5hort −integerタグ部をsin
とし、データ部に整数データを書き込む。
(3) integer l integerdoub
le 、 floatingタグ部を対応するタグに変
更し、データ部に実際にデータが書き込まれるアドレス
を書き込み、CopyArea上の前記アドレス上に対
応するデータを書き込む。
(4) 5tructure タグ部を5irに変更し、bindしたBiruCtu
reのアドレスをデータ部に書き込む。
b indされるデータ型式は他にも有るが本発明の理
解には必要がないので省略する。bindされる値が5
)loft −integer 、 integer 
、 integerdouble r floatin
gの場合に、値そのものがC0de Ateaに予め存
在する場合には、LS上の変数セルのタグ部はrefに
変更され、データ部はCode Area上の対応する
データがある部分のアドレスが書き込まれる。
上述した処理は前述した工Qierpreierによっ
て遂行される。
第5図は前述した■fiierprejerが走るデー
タ処理装置のハードウェア構成を示している。該処理装
置はメモリ(MEM)101.リードデータvシ、x、
p (RDR) 102 、メモリアドレスレジスタ(
MAR)103.ライトデータレジスタ(WDR) 1
04 、タグエンコーダ(ENC)108、タグマスク
回路(MARK) 107.マイクロプログラムコント
ローラ’(MPc)106゜演算器及びレジスタファイ
ル回路(B、ALU ) 105 。
バス(BUD)109を主な構成要素として構成される
。MEMIolにはCode Area 、 5tac
kArea 、 C0I)yArea 、その他の記憶
エリヤが確保され、実行に供される。R,DR102は
MEMlolから読出したデータを格納するレジスタ、
WDR104はMEMIOlに書き込むデータを保持す
るレジスタ、MAR103はアドレスを指示するための
レジスタ、ENC108は4ビツト又は8ビツトのタグ
ピットを圧縮する回路、MASK107はタグ部を取シ
除くための回路、RALU105は演算を実行し結果を
記憶するレジスタファイルを含む回路である。
第6図はMPC106の詳細を示しておシ、マイクロプ
ログラムを記憶しているメモリ(WCS )601、W
C8601から読出されたマイクロ命令を記憶するマイ
クロ命令レジスタ(MIR)602、次に読み出すべき
マイクロ命令のアドレスを選択するセレクタ(SEL)
604、タグ判定による多分岐を行うためにアドレスを
合成する回路(CON)605、インクリメンタ(IN
C)603を主な構成要素とする。5EL604の出力
フォーマットは第7図に示すようにType1〜’r)
’pe 3の3種の形式に分類される。Type 1は
マイクロ命令による直接指定、Type 2はアドレス
インクリメントによる指定、Type3はマイクロ命令
の分岐アドレスの一部とENC108の出力50bを合
成する回路(CON)605の出力60bをアドレスと
する場合であシ、タグ判定による多分岐を実現する。タ
グを判定して、該タグの内容に応じて対応する処理へマ
イクロプログラムが分岐する様子を第8図に示す。タグ
判定のだめの多分岐は、5EL604の出力60dが第
7図ノType3の出力形式を採るようなマイクロ命令
800を発行することによって行われる。前記マイクロ
命令がWC8601から読出されてMIR602にセッ
トされると、5EL604を制御する信号線60cによ
ってタグ判定による多分岐がI41われる。
マイクロ命令800が実行されると該命令の実行時のタ
グの内容に応じて対応するマイクロプログラム801〜
816に分岐する。ENC108の出力50bのビット
巾4に対して、前記多分岐では2’=16のマイクロプ
ログラムに分岐するが、必要に応じて分岐先のマイクロ
プログラムを統合して扱うことはもちろん可能である。
前述したタグ判定による多分岐後の処理として16ビツ
ト整数の取込みと32ビツト整数の取込みの処理フロー
を第9図、第10図によって説明する。第9図は16ピ
ツト整数の処理フローを示している。処理910でRD
R102の上位8ビツトにあるタグ部を除去後、処理9
20で11.ALU105に取込む。処理910はMI
Rにセットした出力50cを介してマイクロ命令によっ
てMA8に107に対してRDR102の出力の上位8
ビツトを0”とすることを指示することによってMAR
K107の出力50dに対して、タグ部を除去したデー
タが得られるため、処理91o。
920は1マイクロ命令で実行される。第10図は32
ビツト整数の処理フローを示している。゛処理930で
R,DR102の上位4ビット部分のタグ部を除去後処
理940でMAR103に実際に32ビツト整数がある
アドレスを設定し、処理950でメモリアクセスして前
記32ビツト整数を几り几102に読込み後、処理96
0で前記32ビツト整数をRALU105に転送する。
処理930では、処理910と同様に信号線50cによ
ってタグの除去がMASKIo 7に指示されて、MA
8に107は几り几102の上位4ビツトを0″として
出力する。処理960では几DR102にはタグ部は含
まれないので信号50cはRDR102の出力をMAS
KI 07がそのまま出力するように指示する。
第11図はMA8K 107の出力50dの形式を示し
たもので、Type Iはタグを含まないデータを取出
す形式、Type ■は4ビツトのタグを取り除いてデ
ータを取出す形式、Type l[は8ビツトのタグを
取シ除いてデータを取出す形式を示している。TYpe
 1〜■の選択は、マイクロ命令の出力信号50cによ
って行われる。
第12図はENC108の入力50aと出力50bの関
係を示している。入力はタグ部分が格納されているRD
R,102の上位8ビツトとし、4ビツトに圧縮して出
力する。第12図では9桶のパターンを示しているが、
もちろん全てではない。尚、表現”RDR(X=y)”
に於いてX。
yは各々ビット位置を示し、上記の表現はRDRのXピ
ットからyビットまでの値を示している。
〔発明の効果〕
本発明によれば、従来の汎用マシンと基本語長を同一と
しながら基本的なデータ型式についてはタグ部とデータ
部を一部で表現することが可能となるため、汎用マシン
でサポートされている手続き型言語との接続が容易とな
シ、メモリの利用効率も向上させることが可能となシ、
基本的なデータ型式の場合、1回のメモリアクセスで済
むため処理速度を向上させることが可能となる。
【図面の簡単な説明】
第1図、第2図はPro l ogの実行環境を表す概
念図、第3図はタグのフォーマット図、第4図はスタッ
クとコピー領域を表す概念図、第5図は本発明を実施す
るハードウェアの一実施例ブロック図、第6図は第5図
を補足説明する図、第7図。 第8図は第6図の補足説明図、第9図、第10図は動作
説明を行うフローチャート、第11図、第12図は第5
図の補足説明図である。 101・・・メモリ、102,103,104,602
・・・レジスタ、604・・・セレクタ、108・・・
エンコーダ、107・・・タグ部除去回路、601・・
・マイクロプログラムメモリ、106・・・マイクロプ
ログラムコントローラ。 革 l 図 第2図 第 3 図 第 4− 図 LS 第5図 第6(支) 第7図 第3図 第9図 第10図 第11図 第12図 XLtdon’す core 第1頁の続き @発明者中西 未明 @発明者広瀬 健二 日立重大みか町5丁目2番1号 株式会社日立製作所大
みか工場内 日立市幸町3丁目2番1号 日立エンジニアリング株式
会社内

Claims (1)

    【特許請求の範囲】
  1. 1、データの属性を表わすタグ部を評価しデータ処理を
    行う論理型データ処理装置において、基本語長がnビッ
    トで、−語が、kピットのタグ部と(n−k)ビットの
    データ部からなる第1のデータ型式と、nビット全てが
    データ部となる第2のデータ型式を設け、該処理装置は
    、タグ部を判定してデータ型式を判定する手段と、判定
    の結果、タグ部が第4のデータ型式を示した場合、胎内
    に含まれるタグ部を除去して残シをデータ生して扱う手
    段と、タグ部が第2のデータ型式を示した場合、胎内の
    データ部が真のデータの存在するアドレスを指示し、当
    該アドレス上の語はタグ部を含まないデータとして扱う
    手段を有し、基本語長が同一で、タグ部を含む第1のデ
    ータ型式とタグ部を含まない第2のデータ型式の処理を
    行うようにしたことを特徴とするタグ付きデータを扱う
    論理型データ処理装置。
JP58249708A 1983-12-26 1983-12-26 タグ付きデ−タを扱う論理型デ−タ処理装置 Pending JPS60136832A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58249708A JPS60136832A (ja) 1983-12-26 1983-12-26 タグ付きデ−タを扱う論理型デ−タ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58249708A JPS60136832A (ja) 1983-12-26 1983-12-26 タグ付きデ−タを扱う論理型デ−タ処理装置

Publications (1)

Publication Number Publication Date
JPS60136832A true JPS60136832A (ja) 1985-07-20

Family

ID=17197016

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58249708A Pending JPS60136832A (ja) 1983-12-26 1983-12-26 タグ付きデ−タを扱う論理型デ−タ処理装置

Country Status (1)

Country Link
JP (1) JPS60136832A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6275736A (ja) * 1985-09-30 1987-04-07 Hitachi Ltd プロローグ処理方法
JPS62204340A (ja) * 1986-03-05 1987-09-09 Agency Of Ind Science & Technol デ−タ処理装置
JPS62204339A (ja) * 1986-03-05 1987-09-09 Agency Of Ind Science & Technol デ−タ処理装置
JPS62204341A (ja) * 1986-03-05 1987-09-09 Agency Of Ind Science & Technol デ−タ処理装置
JPS62237528A (ja) * 1986-04-09 1987-10-17 Hitachi Ltd タグ付きデ−タ処理装置
JPS62278640A (ja) * 1986-05-27 1987-12-03 Fujitsu Ltd デ−タ検索方式
JPS6488628A (en) * 1987-09-29 1989-04-03 Nec Corp Exception processor
EP0365186A2 (en) * 1988-10-19 1990-04-25 Hewlett-Packard Company Apparatus for enhanced tagged data processing in a generalized computer execution unit
EP0552816A2 (en) * 1985-07-04 1993-07-28 Hitachi, Ltd. Processor to process tagged and untagged data

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0552816A2 (en) * 1985-07-04 1993-07-28 Hitachi, Ltd. Processor to process tagged and untagged data
JPS6275736A (ja) * 1985-09-30 1987-04-07 Hitachi Ltd プロローグ処理方法
JPS62204340A (ja) * 1986-03-05 1987-09-09 Agency Of Ind Science & Technol デ−タ処理装置
JPS62204339A (ja) * 1986-03-05 1987-09-09 Agency Of Ind Science & Technol デ−タ処理装置
JPS62204341A (ja) * 1986-03-05 1987-09-09 Agency Of Ind Science & Technol デ−タ処理装置
JPS62237528A (ja) * 1986-04-09 1987-10-17 Hitachi Ltd タグ付きデ−タ処理装置
JPH0658634B2 (ja) * 1986-04-09 1994-08-03 株式会社日立製作所 タグ付きデ−タ処理装置
JPS62278640A (ja) * 1986-05-27 1987-12-03 Fujitsu Ltd デ−タ検索方式
JPS6488628A (en) * 1987-09-29 1989-04-03 Nec Corp Exception processor
EP0365186A2 (en) * 1988-10-19 1990-04-25 Hewlett-Packard Company Apparatus for enhanced tagged data processing in a generalized computer execution unit

Similar Documents

Publication Publication Date Title
EP0148478A2 (en) A data processor with control of the significant bit lenghts of general purpose registers
JPS59501684A (ja) 目的命令ストリ−ムへ殆んど実時間で插入するためのソ−スおよび目的命令ストリ−ムの外部における加速式命令写像
PT100206B (pt) Metodo para operar um computador digital e sistema de computador digital
JPS6313215B2 (ja)
JPH0248931B2 (ja)
JPS60136832A (ja) タグ付きデ−タを扱う論理型デ−タ処理装置
JPS6212529B2 (ja)
CN115480871B (zh) 一种通用的tms320c3x处理器指令集虚拟化仿真方法
JPH034936B2 (ja)
CN115421863B (zh) 一种通用的mips64处理器指令集虚拟化仿真方法
JPH0619713B2 (ja) 論理型デ−タ処理装置
JP2000112754A (ja) データ処理装置
JPS6042968B2 (ja) 情報処理装置
JPH11143710A (ja) 処理対象値入力装置及びプログラム変換装置
JPS6113615B2 (ja)
JPS63216134A (ja) 中央処理装置
JP3523407B2 (ja) 情報処理装置
CN113760236A (zh) 重定位方法、装置、链接器及编译系统
JPS6184735A (ja) 汎用レジスタの有効長拡張装置
JPH0427575B2 (ja)
JPS61283937A (ja) 命令トレ−ス方式
JPS6286442A (ja) デ−タ処理装置
JPH01196639A (ja) 情報処理装置
JPH06332701A (ja) 情報処理装置
Chalk et al. Fetching and Executing Instructions