JPH0527142B2 - - Google Patents

Info

Publication number
JPH0527142B2
JPH0527142B2 JP58214536A JP21453683A JPH0527142B2 JP H0527142 B2 JPH0527142 B2 JP H0527142B2 JP 58214536 A JP58214536 A JP 58214536A JP 21453683 A JP21453683 A JP 21453683A JP H0527142 B2 JPH0527142 B2 JP H0527142B2
Authority
JP
Japan
Prior art keywords
data
value
instruction
address
register
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.)
Expired - Lifetime
Application number
JP58214536A
Other languages
English (en)
Other versions
JPS60107137A (ja
Inventor
Yoshinari Nakasaki
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.)
NEC Corp
Original Assignee
Nippon Electric Co 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP58214536A priority Critical patent/JPS60107137A/ja
Publication of JPS60107137A publication Critical patent/JPS60107137A/ja
Publication of JPH0527142B2 publication Critical patent/JPH0527142B2/ja
Granted legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】 本発明は、属性を表示するダク領域と値そのも
のを表示する領域で構成されるタグ付データを処
理対象にするプログラムを効率よく実行できるデ
ータ処理装置に関し、特にタグ形式で表現される
データの解釈を高性能に実行するデータ処理装置
に関する。
タグ付データを計算機の内部表現として備える
ことにより、データとプログラムコード部との独
立性を高めることができる。この結果、プログラ
ムからデータを操作する際のアクセス権のチエツ
クを容易に行うことができる。さらに、同一の命
令であつても、データ属性によつて異なる操作を
容易に処理することができる。
従来の計算機において、前記のタグ付データを
解釈、実行する場合、 (1) タグ付データを記憶装置から読み出し、計算
機の内部レジスタに格納する。
(2) 前記内部レジスタ中のタグ領域の値を取出
す。
(3) タグ領域の値に対応する処理を行うために分
岐する。
(4) 前記タグ付データの値領域の値を取出して、
前記(3)で分岐した後に必要なデータの値に対す
る操作に備える。
このような4つの機械語命令の列へ変換された
後、この4つの機械語命令を遂次実行することに
よつてタグ付データの解析と値の取り出しを行
う。
しかしながら、従来の機械語命令の列を遂次実
行する装置では、各機械語命令の機能は低く、複
数の機械語命令で重複して主記憶中の同一データ
を参照すること、複数の機械語命令で重複して同
一レジスタを指定することが必要である。
前記の従来の計算機ではタグ付データを処理す
るためには4つの機械語命令を取り出す必要があ
る。これに対して、4つの機械語命令で実現する
前記の機能を1つの機械語命令で実現できれば、
機械語命令の取り出し回数が減少する。4機械語
命令でタグ付データの処理をする従来の計算機で
は、1機械語命令でタグ付データを処理する場合
に比べ、命令列を主記憶から取り出すために多く
のメモリアクセスが必要である。さらに、従来の
計算機では、各機械語命令の間で共通に利用する
レジスタおよび主記憶アドレスを、機械語命令毎
に繰り返し指定することとなり処理が重複するた
め処理効果が低下する。
本発明の目的は効率よくタグ付データを処理す
るために機能の高い機械語命令を備えるデータ処
理装置を提供することにある。
本発明の他の目的はタグ付データを処理するた
めの機械語命令を専用ハードウエアを用いて高性
能に実行できるデータ処理装置を提供することに
ある。
本発明のタグ付データ処理装置はデータの属性
を示すタグ領域とこの属性における値を示す値領
域とが1対となつているタグ付きデータでデータ
が表現されるタグ付きデータ処理装置において、
前記タグ付きデータのアドレスを第1のフイール
ドとして持ち分岐先アドレスを複数個格納するテ
ーブルのアドレスを命令語の第2のフイールドと
して持つ命令及び前記タグ付きデータを保存する
主記憶と、実行される前記命令の主記憶における
記憶位置を貯えるプログラムカウンタと、前記主
記憶から出力された前記命令を保存するためのレ
ジスタと、前記命令の第1のフイールドによつて
指示される前記タグ付きデータのタグ領域の値と
前記テーブルへのアドレスによつて前記テーブル
の構成要素である分岐先アドレスの前記主記憶内
貯蔵位置を計算する番地作成回路と、前記データ
のタグ領域の値によつて決定されるマスクパター
ンによつてマスクされた前記値領域の値を出力す
るマスク回路と、前記値マスク部の出力を格納す
るレジスタと、前記命令で規定される処理を制御
する制御回路とから構成され、前記命令の第1の
フイールドで指示される前記タグ付きデータを前
記主記憶から読みだし、このデータのタグ領域の
値と前記テーブルを指示する第2のフイールドの
アドレス値からテーブル内の分岐先アドレスを読
みだしそのアドレスへ分岐すると共に前記タグ付
きデータの値領域の値を前記マスク回路を介して
前記レジスタに格納することを特徴とする。
本発明で実行される機械語命令は、タグ付デー
タを操作するための基本的な命令でり、タグ領域
の値に応じて分岐先を決定し、タグ領域の値に応
じた処理を可能にするとともに、データの値領域
の値を計算機の内部レジスタに格納する。この命
令によつて、タグ領域の値の解釈と値領域の値の
読み出しを同時に実行できる。
次に図面を参照して本発明の一実施例について
詳細に説明する。
第1図は本発明に用いられるタグ解釈命令の一
実施例の構成を示す図である。タグ解釈命令は命
令コード部OPC、第1オペランド部OPRND−
1、第2オペランド部OPRND−2の3つのフイ
ールドから成る。命令コードOPCは8ビツト長
であり、16ビツト長のフイールドOPRND−1は
データdの記憶位置を示す。16ビツト長のフイー
ルドOPRND−2は各々が16ビツト長である16個
の分岐先が保存されている記憶位置を指してい
る。
このタグ解釈命令のフイールドOPRND−1が
指すデータdは32ビツト長で表現され、4ビツト
のタグ領域tと28ビツトの値領域vで構成され
る。
次に、前記タグ解釈命令の役割について説明す
る。命令のOPRND−1フイールドが指すデータ
dのタグ領域tの4ビツトで示される0から15の
値に対応する分岐先btへ分岐する。この分岐処理
とともにデータdの値領域vの内容をタグ領域t
で示される表現形式で内部レジスタに取り出す。
例えば、タグの値に応じて、2進数表現、文字表
現、複数の要素データから構成されるベクトル属
性表現(構造体)データの要素数を示す値など値
領域vの内容を取り出す。構造体データはプロロ
ーグ言語、一部の関数型言語などで使われる。こ
こでのデータ表現としてはデータ属性を示すタグ
の値として構造体を示すようにして、値領域で構
造体を構成する要素の数を示す値を格納する。
第2図は本発明の一実施例を示すブロツク図で
ある。第2図に示す本発明のデータ処理装置は、
命令およびデータなどを保存する主記憶1と、次
に実行すべき命令の記憶番地を貯えるプログラム
カウンタ2と、命令レジスタ3と、データレジス
タ4と、データのタグ領域の値に応じて値領域の
値の内容をマスクして出力するマスク回路5と、
マスク回路5で得られた結果を格納し、以後の処
理に備える値レジスタ8と、デーのタグ領域の値
に対応する分岐先を決定するための番地演算回路
6と、命令の取出し、命令コードの判定およびタ
グ解釈命令で規定される処理を制御する制御回路
7とから構成されている。
主記憶1は通常の半導体メモリで構成され、16
ビツトのアドレス情報によつて主記憶1に格納さ
れている機械語プログラムおよびデータへのアク
セスが行われる。プログラムカウンタ2は通常の
16ビツト長のレジスタから成つておりかつ命令を
連続して取り出せるようにするためのインクリメ
ント機能と主記憶1から取り出されたデータをデ
ータ線50を介してプログラムカウンタ2自身に
セツトする機能とを備えている。命令レジスタ3
は通常の40ビツト長のレジスタからなつておりか
つプログラムカウンタ2に従つて主記憶1から取
り出された命令を一時保存する。データレジスタ
4は32ビツト長の通常のレジスタであり、前記タ
グ解釈命令がOPRND−1フイールドで指定する
データを一時的に保存する。このデータレジスタ
4の内容は前記タグ解釈命令を実行するためにデ
ータのタグおよび値領域の値をデータ線51を介
してマスク回路5に送られるとともにデータのタ
グの値をデータ線52を介して番地演算回路6に
送られる。
マスク回路5では、データのタグの値に対応し
て値領域の内容をマスクすることによりデータの
値領域から必要なデータを取り出し、取り出した
結果を値レジスタ8に送る。
第3図はマスク回路5の詳細な構成を示すブロ
ツク図である。マスク情報を保持するために
ROM(Read Only Memory)で実現されるマス
ク記憶10と、データの値領域の各ビツト毎にマ
スク情報を用いて必要な値を得るためのアンドゲ
ート群11とで構成される。
マスク記憶10は16種のタグに対応してマスク
情報を保持するために16語で構成され、タグ領域
の4ビツトをアドレスとしてアクセスされる。マ
スク記憶10のマスク情報は値領域の各ビツトに
対応して“0”と“1”で表現される。マスク情
報のビツト情報が“0”のときには対応する値領
域のビツト情報は無効にされ、強制的に“0”に
される。マスク情報のビツト情報が“1”のとき
には対応する値領域のビツト情報は有効であり、
そのままマスク回路の出力となる。値領域のビツ
ト情報を有効あるいは無効にする処理はアンドゲ
ート群11の各アンドゲートで行う。
番地演算回路6は、第2図の命令レジスタ3の
OPRND−2フイールドとデータレジスタ4のタ
グ領域をそれぞれデータ線53,52を介して入
力し、加算する回路である。番地演算回路6の出
力は第1図で示したb0,b1…b15の分岐先の中で
タグ領域の値に対応する分岐先が保存されている
主記憶1上の記憶位置のアドレスである。
制御回路7は通常のマイクロプログラムにより
実現し、命令レジスタ3の命令コード情報がタグ
解釈命令であることを検出して、データレジスタ
4へのデータ転送、プログラムカウンタ2の更新
さらに新たな命令を命令レジスタ3に読み出す処
理を行う。
次に本発明にもとづく具体的な処理を第1図、
第2図、第3図、第4図を参照して説明する。
第4図はデータの例として2進数データ、文字
データの例を示した図である。各データは32ビツ
トで表現され、2進数データ、文字データのタグ
領域の値はそれぞれビツト表現で“0110”,
“0111”であり、値領域の値はそれぞれ28ビツト、
右側8ビツトで表現される。第4図の2進数デー
タを解釈する処理例を以下に示す。
第1図のタグ解釈命令では、命令のオペレーシ
ヨンコードはタグ解釈命令であることを示す。
OPRND−1ではデータdを示し、この例では第
4図に示した2進数データが主記憶1に格納され
ている位置を示す。OPRND−2はタグに対応し
た分岐先を示すテーブルが主記憶1に格納されて
いる位置を示し、このテーブルの6番目(0110)
の語にデータが2進数であつた場合の分岐先アド
レスが格納されている。
このタグ解釈命令を実行するときには、第2図
のプログラムカウンタ2にタグ解釈命令の主記憶
1上でのアドレスが格納されている。以下、第2
図を用いて説明した本発明の処理に従い、命令レ
ジスタ3に前記のタグ解釈命令が格納され、デー
タレジスタ4には第4図に示す2進数データが格
納される。
データレジスタ4の内容は分岐先の決定とマス
ク処理により必要な値を値レジスタに格納する処
理に利用される。はじめに分岐先を決定する処理
を示す。データレジスタ4のタグ領域の値は2進
数データのビツトパターンが“0110”であること
から10進“6”である。この値はデータ線52を
介して番地演算回路6に送られる。命令レジスタ
3に格納されているOPRND−2フイールドが番
地演算回路6にデータ線53を介して送られる、
この結果、番地演算回路6の出力は第1図の分岐
先を示すテーブルの“b6”が格納されている語の
アドレスとなり、アドレス線54を介して、主記
憶1の上に格納されている“b6”を取り出す。こ
の“b6”をデータ線50を介してプログラムカウ
ンタ2に格納することにより、このタグ解釈命令
の次に実行する命令のアドレスを得て、分岐処理
を完了する。
次に、データレジスタ4の内容により、マスク
処理を施してデータの値を値レジスタ8に格納す
る処理を示す。第3図に示すようにマスク記憶1
0の6番地には2進数データのマスク情報として
“111……111”のビツトパターンが格納されてい
る。データレジスタ4に格納されているタグ領域
の値10進“6”をマスク記憶10のアドレスとす
ることにより、ビツトパターン“111…111”がマ
スク記憶10の出力となる。この出力はデータの
値領域の各ビツト毎に設けられた2入力のアンド
ゲート群11の一方の入力となる。この結果、デ
ータレジスタ4の値領域のデータはそのままアン
ドゲート群11の出力となり、データの値領域2
8ビツト長の情報が値レジスタ8に格納される。
他方、タグ解釈命令のOPRND−1が第4図の
文字データを示す場合の処理を以下に示す。前記
の2進数データ処理と異る点はデータレジスタ4
に文字データが格納されることである。文字デー
タのタグのビツトパターンは“0111”であるの
で、番地演算回路6の出力は第1図の分岐先を示
すテーブルの“b7”が格納されている語のアドレ
スを出力する。この結果、プログラムカウンタ2
には’b7'が格納され、次に実行対象となる命令
は’b7'で指示される命令となる。
第3図のマスク記憶10の7番地には右8ビツ
トが“1”で、他の20ビツトが“0”であるビツ
トパターンが格納されている。文字データの場合
には、タグの値10進“7”をアドレスとして、こ
のマスク記憶10が参照されることにより、前記
のビツトパターンが出力される。この結果、アン
ドゲート群11の出力は、左20ビツトが“0”と
なり、右8ビツトにはデータレジスタ4の右8ビ
ツトの値が出力され、値レジスタ8に格納された
値は、8ビツトで示される文字の値と一致する。
以上、実施例を用いて本発明を詳細に説明し
た。本発明を用いたデータ処理装置を用いると、
タグ形式で表現されたデータを解釈してタグの値
に応じた処理への分岐と、タグの値に応じたデー
タの値を取り出す処理を効率よく実行することが
できる。
本発明における前記の一実施例において、タグ
付データの値領域の28ビツトが、複数の領域に分
割されている場合のハードウエア構成も本発明に
おける一実施例である。この実施例は第2図の一
個のマスク回路と一個の値レジスタに換え、分割
された領域の個数に応じた個数のマスク回路と値
レジスタを備えることによつて、複数の領域の値
を同時に各値レジスタに読み出すことができるも
のである。
【図面の簡単な説明】
第1図は本発明に用いられるタグ付データを処
理するための機械語命令の構成図、第2図は本発
明の一実施例を示すブロツク図、第3図はマスク
回路の構成図、第4図はタグ付データの例を示す
図である。 図中、1は主記憶、2はプログラムカウンタ、
3は命令レジスタ、4はデータレジスタ、5はマ
スク回路、6は番地演算回路、7は制御部、8は
値レジスタである。

Claims (1)

    【特許請求の範囲】
  1. 1 データの属性を示すタグ領域とこの属性にお
    ける値を示す値領域とが1対となつているタグ付
    きデータでデータが表現されるタグ付きデータ処
    理装置において、前記タグ付きデータのアドレス
    を第1のフイールドとして持ち分岐先アドレスを
    複数個格納するテーブルのアドレスを命令語の第
    2のフイールドとして持つ命令及び前記タグ付き
    データを保存する主記憶と、実行される前記命令
    の主記憶における記憶位置を貯えるプログラムカ
    ウンタと、前記主記憶から出力された前記命令を
    保存するためのレジスタと、前記命令の第1のフ
    イールドによつて指示される前記タグ付きデータ
    のタグ領域の値と前記テーブルへのアドレスによ
    つて前記テーブルの構成要素である分岐先アドレ
    スの前記主記憶内貯蔵位置を計算する番地作成回
    路と、前記データのタグ領域の値によつて決定さ
    れるマスクパターンによつてマスクされた前記値
    領域の値を出力するマスク回路と、前記マスク回
    路の出力を格納するレジスタと、前記命令で規定
    される処理を制御する制御回路とから構成され、
    前記命令の第1のフイールドで指示される前記タ
    グ付きデータを前記主記憶から読みだし、このデ
    ータのタグ領域の値と前記テーブルを指示する第
    2のフイールドのアドレス値からテーブル内の分
    岐先アドレスを読みだしそのアドレスへ分岐する
    と共に前記タグ付きデータの値領域の値を前記マ
    スク回路を介して前記レジスタに格納することを
    特徴とするタグ付データ処理装置。
JP58214536A 1983-11-15 1983-11-15 タグ付デ−タ処理装置 Granted JPS60107137A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58214536A JPS60107137A (ja) 1983-11-15 1983-11-15 タグ付デ−タ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58214536A JPS60107137A (ja) 1983-11-15 1983-11-15 タグ付デ−タ処理装置

Publications (2)

Publication Number Publication Date
JPS60107137A JPS60107137A (ja) 1985-06-12
JPH0527142B2 true JPH0527142B2 (ja) 1993-04-20

Family

ID=16657353

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58214536A Granted JPS60107137A (ja) 1983-11-15 1983-11-15 タグ付デ−タ処理装置

Country Status (1)

Country Link
JP (1) JPS60107137A (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0619714B2 (ja) * 1985-09-30 1994-03-16 株式会社日立製作所 プロローグ処理方法
JPS62204341A (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 デ−タ処理装置
JPS62204340A (ja) * 1986-03-05 1987-09-09 Agency Of Ind Science & Technol デ−タ処理装置
JPH0658632B2 (ja) * 1986-07-21 1994-08-03 株式会社日立製作所 デ−タ処理装置
JPH065507B2 (ja) * 1986-08-08 1994-01-19 工業技術院長 推論計算機
JP2752081B2 (ja) * 1988-03-15 1998-05-18 株式会社東芝 電子計算機

Also Published As

Publication number Publication date
JPS60107137A (ja) 1985-06-12

Similar Documents

Publication Publication Date Title
US5907842A (en) Method of sorting numbers to obtain maxima/minima values with ordering
KR940009094B1 (ko) 데이타처리 시스템
US6036350A (en) Method of sorting signed numbers and solving absolute differences using packed instructions
US4670836A (en) Device for detecting an overlap of operands to be accessed
JPS63261449A (ja) デ−タ処理装置
JPH0527142B2 (ja)
JPS6124729B2 (ja)
JPS6212529B2 (ja)
JPS60136832A (ja) タグ付きデ−タを扱う論理型デ−タ処理装置
JP2520882B2 (ja) デ−タ処理装置およびデ−タ処理方法
US5819081A (en) Method of executing a branch instruction of jumping to a subroutine in a pipeline control system
JPH0552539B2 (ja)
JPS6319040A (ja) 情報処理装置
JPH065507B2 (ja) 推論計算機
JPS628231A (ja) 論理型デ−タ処理装置
JP2657947B2 (ja) データ処理装置
JPS61145643A (ja) 可変語長命令処理方式
JPH03119424A (ja) 情報処理方式及び装置
JPS62182931A (ja) デ−タ分離方式
JPS5936838A (ja) インタフエ−ス制御方式
JPS619775A (ja) 画像処理装置
JPS61148536A (ja) 情報処理システム
JPS6113345A (ja) タグ付デ−タ処理装置
JPS60220468A (ja) ベクトル演算制御方式
JPH0259829A (ja) マイクロコンピュータ