JPH0192837A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH0192837A
JPH0192837A JP24930287A JP24930287A JPH0192837A JP H0192837 A JPH0192837 A JP H0192837A JP 24930287 A JP24930287 A JP 24930287A JP 24930287 A JP24930287 A JP 24930287A JP H0192837 A JPH0192837 A JP H0192837A
Authority
JP
Japan
Prior art keywords
tag
register
instruction
processing
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
JP24930287A
Other languages
English (en)
Inventor
Mitsuru Nagasaka
充 長坂
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
Original Assignee
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 Ltd filed Critical Hitachi Ltd
Priority to JP24930287A priority Critical patent/JPH0192837A/ja
Publication of JPH0192837A publication Critical patent/JPH0192837A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、自分自身の属性をタグとして持つデータを処
理する電子計算機等の情報処理装置に関し,特に、汎用
性がある機械語命令により、データの属性を判定する処
理,および、その判定結果による各処理への分岐を高速
に実行することが可能な情報処理装置に関する。
〔従来技術〕
電子計算機による非数値処理、および記号処理の分野で
は、LISP言語が多く用いられる。
このLISP言語では、データやプログラム等の情報を
第9図のような2進木リスト構造により記す。
つまり、2進水リスト構造は,セル11〜16と呼ばれ
るポインタの組、アトム31〜34と呼ばれる末端デー
タ,および、NIL35と呼ばれ。
リスト構造の終了を示すデータから構成される。
このセル11〜16は、左ポインタ(CAR部21)と
右ポインタ(CD R部22)とからII!!成され、
さらに、CAR部21、およびCDR部22は、それぞ
れタグ部25.27とポインタ部26゜28とから、構
成される。
また、それぞれのポインタは他のセルか、アトムか、あ
るいはNILを指し示し、各ポインタが他のセル、アト
ム、およびNILの何れを指し示しているかは、ポイン
タに付随するタグにより識別される。なお、このタグは
アトムの種類を識別するためにも用いられる。
また、アトムの種類としては、シンボルと呼ばれる変数
の他、一般に、固定小数数値、浮動小数数値、文字列等
があり、LISP言語処理系によって種類が異なる。ま
た、同じアトムの種類に対してもLISP言語処理系に
よってタグの値、および長さが異なる。
このようなLISP言語によるプログラムにおいては、
データの属性を示すタグを判定することにより、以後の
処理を分けて行うことがしばしば行われる。
従って、使用頻度が高いタグの比較判定・分岐処理を高
速化することは、LISP言語の処理を高速化する上で
極めて重要である。
例えば、既存の個別命令により、タグの比較判定・分岐
処理を実現する過程については、第10図のように1判
定したいデータのタグがタグ1〜6に等しいか否かを順
次調ムで(101,103゜105.107,109.
111)、等しい場合に対応する処理を行い(102,
104,106゜108.110,112)、何れのタ
グとも等しくない場合には異常終了する。
この場合、各判定部分(101,103,105゜10
7.109,111)は比較命令と分岐命令から構成さ
れている。このため、タグ1に等しい場合の処理は早い
が、タグ6に等しい場合には、多くの比較・分岐命令の
処理を行う必要があり、処理の開始が遅い。
従って、判定するタグがより多くなると、さらに大きな
問題が生じる。また、複数のデータの組合わせにより、
それぞれの処理を行う場合には、各データのタグの判定
を複数回操り返す必要がある。
なお、この種の処理方法として関連するものには1例え
ば、”LISP入門、黒用利明著、培風館、第147頁
”に記載されている方法が挙げられる。
〔発明が解決しようとする問題点〕
上記従来技術では、LISP言語のプログラムにおいて
、タグの比較判定・分岐処理が多く行われる。
しかし、既存の個別命令の組合わせにより処理を行う場
合、多くのステップ数が必要であり、また、分岐命令が
連続するため、多大な時間を要するという問題があった
さらに、この問題の対策として、言語処理系に依存した
タグの値を用いる手段を設けて高速化することも考えら
れるが、特定の言語処理系でしか使用できず、゛汎用性
に欠けるという問題がある。
本発明の目的は、このような問題点を改善し、汎用性を
有し、かつ、言語処理系に依存することなく、タグの比
較判定・分岐処理を高速化することができる情報処理装
置を提供することにある。
〔問題を解決するための手段〕
上記目的を達成するため1本発明の情報処理装置は、自
身の属性を示すタグを持つデータを扱い。
該タグと各処理に対応したタグとを比較判定し、該判定
の結果、等しいタグに対応した処理に分岐する情報処理
装置において、上記各処理に対応したタグとそのタグに
対する連想値とをペアとして保持する手段(タグ連想レ
ジスタ)、汎用性がある機械語命令により、保持された
タグの中から指定されたタグと、指定された上記データ
のタグとの1全価性を比較判定する手段(タグ判定回路
)、および、その比較判定の結果、等価であるタグに対
応する連想値により、そのタグに対応する処理に分岐す
る手段(タグ判定制御回路)を備えたことに特徴がある
また、上記タグ連想レジスタに保持されたタグの中から
、指定された複数のタグを同時に読み出す手段を備え、
複数のタグと上記指定データのタグとの等価性を並列に
比較判定することに特徴がある。
〔作用〕
本発明においては、汎用性をもたせた機械語命令(タグ
判定処理命令)を設け、また、言語処理系に依存するタ
グ、および、そのタグに対応する連想値(インデクス、
あるいは各処理へのアドレス)は予め設定する。
このタグ判定処理命令のオペランドR2で指し示すもの
が判定したいタグであり、その命令で指定されたタグセ
ットの中のタグとの等価性を判定する。
このため1判定対象となるタグセットの中のタグは言語
処理系により自由に設定することができ、言語処理系に
依存しない。
また、判定結果により等価であるタグに対応する連想値
を命令のオペランドR1に結果として格納する。この場
合、各タグに対応する処理ルーチンへのアドレスのテー
ブルは、ソフトウェアによリスモリ上に作成する。
従って、従来命令の組合わせにより、テーブルの先頭ア
ドレスとオペランドR1に格納された連想値を加算した
アドレスに格納されたデータをアドレスとして分岐する
ことにより、各タグに対応する処理ルーチンへの分岐処
理を高速に実行することができる。
また、テーブルの先頭アドレスを命令のオペランドR1
で指定し、ハードウェアで連想値を加算したアドレスに
格納されたデータをアドレスとして分岐することにより
、各タグに対応する処理ルーチンへの分岐処理をさらに
高速に行うことができる。
また、各処理へのアドレスを連想値として設定すること
により、アドレス計算をすることなく。
各タグに対応する処理ルーチンへの分岐処理をさらに高
速に行うこともできる。
さらに、連想値を返す代わりに、指定されたタグセット
の中にあったか否かを条件コードに反映するか、あるい
は、指定されたタグセットの中に無かった場合に割込み
を行うことにより、タグの判定のみを高速に行うことも
可能である。
〔実施例〕
以下、本発明の一実施例を図面により説明する。
第5図は、本発明の一実施例におけるデータの形式側図
である。
本実施例のデータ形式では、(a)のように、セルが1
6バイトから構成される場合、それぞれ8バイトのCA
R部、およびCDR部に分かれる。
また、CAR部、およびCDR部は、それぞれ4バイト
のタグと4バイ1−のアドレスとから構成される。
また、(b)のように、セルが8バイトから構成される
場合、それぞれ4バイトのCAR部、およびCDR部に
分かれる。また、CAR部、およびCDR部は、それぞ
れ1バイトのタグと3バイトのアドレスとから構成され
る。
第6図は1本発明の一実施例におけるタグ判定処理命令
の形式説明図である。
本実施例において設定するタグ判定処理命令は。
命令コードQP、タグの判定時に使用するマスクM、判
定に使用するタグ連想レジスタに保持されたタグのセッ
トの番号S、判定結果の連想値を格納する汎用レジスタ
の番号、あるいは各タグに対応する処理へのアドレステ
ーブルの先頭アドレスが格納されている汎用レジスタの
番号R1、および、判定対象のタグが格納されている汎
用レジスタの番号R2から構成される。
第1図は、本発明の第1の実施例における情報処理装置
の構成図である。
本実施例の情報処理装置は、命令レジスタ301、命令
解読回路310、汎用レジスタファイル(C,R)32
0、データレジスタ(BR)330、アドレス加算器(
AA)335、アドレスレジスタ350(IA)、メモ
リ(MEM)355、演算レジスタ(WBR)360、
割り込み制御回路370、条件コード生成回路375、
演算制御回路380、演算器(ALU)385、条件コ
ードレジスタ(CC)395.タグ連想レジスタ400
、タグ判定回路500、タグ判定制御回路600、オア
ゲート(OR)369.およびセレクタ340,345
゜390,450を備える。
本実施例では、命令レジスタ301に命令が格納される
と、命令解読回路310は命令コード302を解読する
。その結果、第6図にのようなタグ判定処理命令を認識
すると、命令解読回路310は起動信号311を発行し
て、タグ判定制御回路600を起動する。
また、その命令のオペランドフィールド306が示す番
号の汎用レジスタの内容を汎用レジスタファイル320
から読み出し、タグ判定回路500に送る。
さらに、命令のオペランドフィールド304が示す番号
のセットのタグレジスタ16本の内容をタグ連想レジス
タ400から読み出してタグ判定回路500に送ると同
時に連想レジスタ16本の内容を読み出す。
さらに、命令のオペランドフィールド303がタグ判定
回路500に送られ、タグの判定時にマスクとして使用
される。
なお、命令レジスタ301、および汎用レジスタファイ
ル320の部分は、従来の計算機と同様である。また、
命令解読回路310についても、従来の機能にタグ判定
処理命令の認識機能が加わったのみである。
タグ判定回路500は、読み出されたタグレジスタ16
本の内容と、オペランドフィールド306が示す番号の
汎用レジスタの内容とを、マスクの下でそれぞれ比較判
定する。
その結果1等しいタグがある場合、その判定結果に従い
、タグ判定制御回路600はセレクタ450に対して演
算レジスタセレクト信号689を送出し、タグ連想レジ
スタ406内の等価であるタグに対応する連想レジスタ
の内容を演算レジスタ360にセットする。
また、タグ判定制御回路600はタグ判定処理命令の命
令コードに従い、各分岐処理の制御を行う。
例えば、演算制御回路380に対して、起動信号311
に従った制御信号686を送出し、レジスタのセットを
指示する。この場合には、演算レジスタ360の値は、
演算器385、線386を経由して、汎用レジスタファ
イル320内の命令のオペランドフィールド305が示
す番号の汎用レジスタに格納される。
また、割り込み制御回路370に対して、起動信号31
1に従った制御信号684を送出し1割込みを発生させ
る場合がある。この場合には、制御信号684は従来の
割込み制御信号700と共に、オアゲート369に接続
され、オアゲート369の出力が割り込み制御回路37
0に送られる。
また、条件コード生成回路375に対して、起動信号3
11に従った制御信号685を送出し。
条件コードレジスタ395にセレクタ390を経由して
指定された条件コードの値を設定させる場合がある。
また、起動信号311により演算レジスタ360の内容
がセレクタ340,345を経由して送られる場合には
、アドレスレジスタ350にセットされたデータをアド
レスとしてメモリ355が起動され、メモリ355から
読み出したデータは信号線356を経由して命令レジス
タ301に送られる。こうして、アドレスレジスタ35
0にセットされたアドレスへの分岐が行われる。
さらに、起動信号311により演算レジスタ360の内
容と命令のオペランドフィールド305が示す番号の汎
用レジスタの内容がセットされたデータレジスタ330
の内容とがアドレス加算器335で加算され、セレクタ
340,345を経由してアドレスレジスタ350にセ
ットされ、メモリ355が起動される場合がある。
この場合には、メモリ355から読み出したデータはセ
レクタ345を経由して、再度、アドレスレジスタ35
0にセットされる。さらに、アドレスレジスタ350に
セットされたデータをアドレスとしてメモリ355が起
動され、メモリ355から読み出されたデータは信号線
356を経由して命令レジスタ301に送られる。こう
して、アドレスレジスタ350にセットされたアドレス
への分岐が行われる。
なお、アドレス加算器335、アドレスレジスタ350
、割り込み制御回路370、条件コード生成回M375
、演算器385、および、その周辺部分は従来の計算機
と同様である。
第2図は、本発明の第1の実施例におけるタグ連想レジ
スタの構成図である。
本実施例のタグ連想レジスタ400は、タグレジスタフ
ァイル430と連想レジスタファイル440とから構成
され、また、それぞれセット番号0〜15、およびレジ
スタ番号O〜15の256本のレジスタから構成される
このようなタグ連想レジスタ400では、タグ判定制御
回路600からのレジスタリード信号682により、命
令のオペランドフィールド304で示される番号のセン
ト、例えば、セット番号9のセットに含まれる16本の
タグレジスタの内容が、同時に信号線410a”pに゛
出力され、同様にして16本の連想レジスタの内容が同
時に信号線420a=pに出力される。
なお、判定対象となるタグは言語処理系によりタグレジ
スタファイル430に自由に設定することができるため
、言語処理系に依存しないタグ判定処理が可能である。
第3図は1本発明の第1の実施例におけるタグ判定回路
の構成図である。
本実施例のタグ判定回路500は、データレジスタ51
0 、520 、530 a = p 、比較器(C○
MP)540a”p、オアゲート(OR)550゜およ
びインバータ(N) 560を備える。
このような構成のタグ判定回路500では、オペランド
フィールド303の内容が入力されてデータレジスタ5
10にセットされ、オペランドフィールド306が示す
番号の汎用レジスタの内容が信号線321を経由して入
力されて、データレジスタ520にセットされ、オペラ
ンドフィールド304が示す番号のセットのタグレジス
タ16本の内容が信号g410a”pを経由して入力さ
れて、データレジスタ530 a ” Pにセットされ
る。
さらに、データレジスタ520の内容とデータレジスタ
530 a = Pの内容とが、そ九ぞれ比較器540
 a = Pにてデータレジスタ510の内容をマスク
として比較され、出力590 a ” pとなる。
この出力590a−pはまとめて出力590となり、タ
グ判定制御回路600に送られる。また。
出力590a=pはオアゲート550にも接続され、オ
アゲート55oの出力は、一方で出力591aとなり、
他方でインバータ560を経由して出力591bとなる
この場合、出力591aはタグのセットの中に判定対象
のタグと等しいものがあったことを示し、出力591b
はタグのセットの中に判定対象のタグと等しいものが無
かったことを示す。なお、これらの出力はまとめて出力
591となり、タグ判定制御回路600に送られる。
第4図は、本発明の第1の実施例におけるタグ判定制御
回路の構成図である。
本実施例のタグ判定制御回路600は、状態レジスタ6
01〜611、アンドゲート(AND)、オアゲート(
OR)、およびインバータ(N)を備える。
また、各状態レジスタ601〜611は、命令解読回路
310からの起動信号311を、起動信号311a=e
として受け、現在装置がどの状態かを識別する。この中
で、状態レジスタ601〜603、GO5,609は同
時に“l”となる可能性があり、また、状態レジスタ6
04,606は同時に“1″となる可能性がある。
この起動信号311aが送られると、レジスタリード信
号682とタグ判定回路500内のデータレジスタ51
0 、520 、530 a = pのセット信号68
1が出力される。これにより、タグ判定回路500内の
データレジスタ510に命令のオペランドフィールド3
03(タグ判定時のマスク)がセットされ、命令のオペ
ランドフィールド306により指定された汎用レジスタ
の内容が信号線321を経由してデータレジスタ520
にセットされる。
また、命令のオペランドフィールド304で指定された
番号のセットであるタグレジスタの内容が信号線410
a”pを経由してデータレジスタ530 a ” pに
セットされ、指定された番号のセットである連想レジス
タの内容が読み出される。
次のサイクルでは、状態レジスタ601がII I I
tとなって、第1の状態となる。このサイクルではタグ
判定回路500からの出力590を参照する。
この出力590は出力590 a = pから構成され
、何れか1個の出力がtt 1 nとなっているか、あ
るいは、全てが110 Elとなっている。
また1等しいタグがある場合、演算レジスタセレクト信
号689が出力されて、演算レジスタセット信号688
が出力される。これにより、等しいタグに対応する連想
レジスタの内容が信号[420a ” p 、セレクタ
450、および信号線451を経由して演算レジスタ3
60にセットされる。
さらに、起動信号311c、311dが送られず、かつ
、等価であるタグがあることを示すタグ判定回路500
からの出力591aが送られた場合には、このサイクル
で制御信号686が出力される。
この制御信号686は、演算制御回路380に対して汎
用レジスタの更新を指示する。すなわち。
演算レジスタ360の内容を、そのまま、命令のオペラ
ンドフィールド305の番号で指定された汎用レジスタ
にセットする。
また、起動信号311bが送られると1次のサイクルで
状態レジスタ602が“1″となって、第2の状態とな
る。このサイクルではタグ判定回路500からの出力5
91を参照する。
この出力591は出力591a、591bから構成され
、何れが1方が1”となっている。等しいタグがある場
合、°出力591aが“1″となり、制御信号685a
が出力される。また、等しいタグが無い場合、出力59
1bがIt I IFとなり、制御信号685bが出力
される。これらの制御信号685a、685bはまとめ
て制御信号685となり、条件コード生成回路375に
送られる。
この制御信号685は1条件コード生成回路375に対
して条件コードレジスタ395の設定を指示する。すな
わち、制御信号685a、685bは、それぞれ条件コ
ードレジスタ395をOlおよび3に設定することを指
示する。
また、このサイクルでは1条件コードレジスタセレクト
信号687が出力され、条件コード生成回路375の出
力を条件コードレジスタ395にセットすることを指示
する。
また、起動信号311Cが送られると、次のサイクルで
状態レジスタ603が“1”となって。
第3の状態となる。このサイクルでは制御信号686の
出力を抑止する。
さらに、次のサイクルで状態レジスタ604が“1″と
なって、第4の状態となる。このサイクルではアドレス
レジスタセット信号691と命令レジスタセレクト信号
693が出力される。これにより、演算レジスタ360
の内容がセレクタ340.345を経由してアドレスレ
ジスタ350にセットされる。また、このサイクルでは
起動信号311dで起動された動作を抑止する。
さらに、次のサイクルで状態レジスタ605が1′1”
となって、第5の状態となる。このサイクルではメモリ
読み出し信号690が出力されて、メモリ355が起動
される。
さらに、次のサイクルで状態レジスタ606が1′1”
となって、第6の状態となる。このサイクルでは命令レ
ジスタセット信号683が出力される。これにより、メ
モリ355から読み出されたデータが命令レジスタ30
1にセットされる。
また、起動信号311dが送られると、データレジスタ
セット信号694が出力され、これにより、データレジ
スタ330に命令のオペランドフィールド305が指定
する番号の汎用レジスタの。
内容がセットされる。
さらに、次のサイクルで状態レジスタ607が“1″と
なって、第7の状態となる。このサイクルでは制御信号
686の出力を抑止する。
さらに、次のサイクルで状態レジスタ608がEl I
 IIとなって、第8の状態となる。このサイクルでは
、起動信号311Cが送られない場合、アドレスレジス
タセット信号691が出力される。
これにより、レジスタ330の内容と演算レジスタ36
0の内容とがアドレス加算器335で加算され、セレク
タ340,345を経由してアドレスレジスタ350に
セットされる。
また、起動信号311cが送られない場合には、次のサ
イクルで状態レジスタ609が“1”となって、第9の
状態となる。このサイクルではメモリ読み出し信号69
0が出力され、メモリ355が起動される。
さらに、次のサイクルで状態レジスタ610がII 1
19となって、第10の状態となる。このサイクルでは
アドレスレジスタセレクト信号692と、アドレスレジ
スタセット信号691が出力される。
これにより、メモリから読み出されるデータをセレクタ
345を経由してアドレスレジスタ350にセットする
ことを指示する。
さらに1次のサイクルで状態レジスタ605が“1”と
なって、第5の状態となる。このサイクルではメモリ読
み出し信号690が出力され、メモリ355が起動され
る。
さらに1次のサイクルで状態レジスタ606が1”とな
って、第6の状態となる。このサイクルでは命令レジス
タセット信号683が出力される。これにより、メモリ
355から読み出されたデータが命令レジスタ301に
セットされる。
また、起動信号311eが送られると、次のサイクルで
状態レジスタ611が“1″となって、第11の状態と
なる。このサイクルではタグ判定回路からの出力591
bを参照する。
その結果、等しいタグが無い場合、出力591bがIg
 111となっているため、制御信号684が出力され
る。また、制御信号684は、オアゲート369に従来
の割り込み制御信号700と共に接続され、オアゲート
369の出力が割り込み制御回路370に対して割り込
みを起こすことを指示する。
なお、本実施例では、起動信号311aは指定する必要
があり、また、起動信号311b=eは任意の組合わせ
で指定可能である。
また、タグのセット内のそれぞれのタグは、言語処理系
によりタグ連想レジスタ400に格納し、そのタグとの
間でタグ判定を行うことにより、言語処理系に依存しな
いタグ判定処理を実現できる。
さらに、タグ判定処理命令で指定するマスクの下でタグ
の判定を行うことにより、第5図(a)。
(b)のように、何れのデータ形式のタグでも判定可能
である。
また1本実施例では、判定を行いたいデータのタグが汎
用レジスタファイル320に格納されているが、メモリ
355上にある場合にも、同様の方法によりタグの比較
判定・分岐処理を実現することができる。
第8図は、本発明の第2の実施例における情報処理装置
の構成図である。
本実施例の情報処理装置は、命令レジスタ301、命令
解読回路310、汎用レジスタファイル(GR)320
、データレジスタ(B R)330、アドレス加算器(
AA)335.アドレスレジスタ350(IA)、メモ
リ(MEM)355、演算レジスタ(WBR)360、
割り込み制御回路370、条件コード生成回路375、
演算制御回路380、演算器(ALU)385、条件コ
ードレジスタ(CC)395.タグ連想レジスタ400
、タグ判定回路500、タグ判定制御回路600、オア
ゲート(OR)369、およびセレクタ340,345
゜390を備え、第1の実施例からセレクタ450を除
いた構成としている。
従って、タグ連想レジスタ400から読み出した連想レ
ジスタの内容は直接、演算レジスタ360に送出される
また、タグ連想レジスタ400は第1の実施例と同様に
タグレジスタファイルと連想レジスタファイルとから構
成される。
このような構成により、タグ連想レジスタ400からタ
グ判定処理命令のオペランドフィールド304が示す番
号のセットのタグレジスタ、および連想レジスタの内容
を読み出してタグ判定回路500に送る場合、同時に複
数のレジスタの内容を読み出さず、オペランドフィール
ド304が示す番号のセットのタグレジスタ1本の内容
のみを読み出し、1サイクル後、そのタグレジスタに対
応した連想レジスタ1本の内容を読み出すという操作を
、タグセット内のレジスタについて、サイクル毎にレジ
スタ番号順に行う。
さらに、タグ判定回路500は、そのタグレジスタ1本
の内容と、その命令のオペランドフィールド306が示
す番号の汎用レジスタの内容とを、オペランドフィール
ド303のマスクの下で比較判定し1等しい場合には出
力591により、判定したいタグと等しい旨をタグ判定
制御回路600に伝える。
タグ判定制御回路600では、その判定結果に従い、演
算レジスタ360に対して演算レジスタセット信号68
8を送出し、等しいタグに対応した連想レジスタの内容
を演算レジスタ360にセットする。
本実施例では、第1の実施例と異なり、タグ連想レジス
タ400に格納されたタグ、および、そのタグに対応す
る連想値をシリアルに読み出しているが、言語処理系に
依存することなく、汎用性をもだせた機械語命令により
、タグの比較判定・分岐処理を実現する点について、同
様の効果を得ることができる。
第7図は、本発明の一実施例における情報処理装置のタ
グの比較判定・分岐処理を示すフローチャートである。
以上のように、本実施例では第6図のような汎用性があ
る機械語命令(タグ判定処理命令)により、タグの比較
判定・分岐処理を行い(20’O)、例えば、判定した
いタグ1〜6に対する処理(702。
704.706,708,710,712)  を実行
する。これにより、従来の処理(第10図参照)におけ
る各判定部分(101,io3,105゜107.10
9,111)を高速化することができる。
〔発明の効果〕
本発明によれば、言語処理系に依存することなく、汎用
性をもたせた機械語命令により、タグの比較判定・分岐
処理を高速に実行するため、LISP言語の処理を高速
化することができる。
【図面の簡単な説明】
第1図は本発明の第1の実施例における情報処理装置の
構成図、第2図は本発明の第1の実施例におけるタグ連
想レジスタの構成図、第3図は本発明の第1の実施例に
おけるタグ判定回路の構成図、第4図は本発明の第1の
実施例におけるタグ判定制御回路の構成図、第5図は本
発明の一実施例におけるデータの形式側図、第6図は本
発明の一実施例におけるタグ判定処理命令の形式説明図
。 第7図は本発明の一実施例における情報処理装置のタグ
の比較判定・分岐処理を示すフローチャート、第8図は
本発明の第2の実施例における情報処理装置の構成図、
第9図はLISP言語のデータ構造の説明図、第10図
は従来の情報処理装置におけるタグの比較判定・分岐処
理を示すフローチャートである。 1:リスト構造へのポインタ、11〜16:セル、21
:CAR部、22 :CDR部、25,27:タグ部、
26.28:ポインタ部、31〜34ニアトム、35:
NIL、301:命令レジスタ。 302:命令コード、303〜306:オヘランドフイ
ールド、310:命令解読回路、320:汎用レジスタ
ファイル(GR)、321,322゜356 、361
 、386 、410 a = p 、 420 。 420a”p、451 :信号線、311,311a〜
e:起動信号、330:データレジスタ(BR)。 335ニアドレス加算器(AA)、340,345゜3
90.450:セレクタ、350ニアドレスレジスタ(
I A)、355 :メモリ(MEM)、360 :演
算レジスタ(WBR)、370:割込み制御回路。 375:条件コード生成回路、380:演算制御回路、
385:演算器(ALU)、 395 :条件コードレ
ジスタ(CC)、 400 :タグ連想レジスタ。 430:タグレジスタファイル、440:連想レジスタ
ファイル、500:タグ判定回路、510゜520.5
30a”P:タグ判定回路のデータレジスタ、 540
a”p :比較器(COMP)、550 ニオアゲート
(OR)、560:インバータ(N)、590゜590
a−p:比較結果の出力、591,591a。 591b:タグ判定回路からの出力y600:りグ判定
制御回路、601〜611:状態レジスタ。 681:セット信号、682:レジスタリード信号、6
83:命令レジスタセット信号、684゜685.68
5a、685b、686 :制御信号。 687:条件コードレジスタセレクト信号、688:演
算レジスタセット信号、689:演算レジスタセレクト
信号、690:メモリ読み出し信号、691アドレスレ
ジスタセット信号、692ニアドレスレジスタセレクト
信号、693:命令レジスタセレクト信号、694:デ
ータレジスタセット信号。 700:割り込み制御信号、AND:アンドゲート、O
R=オアゲート、N:インバータ、○P:命令コード、
M:タグの判定時に使用するマスク。 S:タグのセットの番号、R1:判定結果の連想値を格
納する汎用レジスタの番号、あるいは、各タグに対応す
る処理へのアドレステーブルの先頭アドレスが格納され
た汎用レジスタの番号、R2:判定対象のタグが格納さ
れた汎用レジスタの番号6第   2   図 第   5   図 (a) 16バイト (b) 8バイト 第   6   図 OP     命令コード M    タグの判定時に使用するマスクS     
タグのセットの番号 R1結果の連想値を格納する汎用レジ スタの番号 (各タグに対応する処理へのアド レステーブルの先頭アドレスが格 納された汎用レジスタの番号) R2判定を行いたいタグが@納さnて いる汎用レジスタの番号

Claims (1)

  1. 【特許請求の範囲】 1、自身の属性を示すタグを持つデータを扱い、該タグ
    と各処理に対応したタグとを比較判定し、該判定の結果
    、等しいタグに対応した処理に分岐する情報処理装置に
    おいて、上記各処理に対応したタグと該タグに対する連
    想値とをペアとして保持する手段、機械語命令により、
    該保持されたタグの中から指定されたタグと、指定され
    た上記データのタグとの等価性を比較判定する手段、お
    よび、該比較判定の結果、等価であるタグに対応する連
    想値により、該タグに対応する処理に分岐する手段を備
    えたことを特徴とする情報処理装置。 2、上記保持手段に保持されたタグの中から、指定され
    た複数のタグを同時に読み出す手段を備え、該複数のタ
    グと上記指定データのタグとの等価性を並列に比較判定
    することを特徴とする上記特許請求範囲第1項記載の情
    報処理装置。
JP24930287A 1987-10-02 1987-10-02 情報処理装置 Pending JPH0192837A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24930287A JPH0192837A (ja) 1987-10-02 1987-10-02 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24930287A JPH0192837A (ja) 1987-10-02 1987-10-02 情報処理装置

Publications (1)

Publication Number Publication Date
JPH0192837A true JPH0192837A (ja) 1989-04-12

Family

ID=17190958

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24930287A Pending JPH0192837A (ja) 1987-10-02 1987-10-02 情報処理装置

Country Status (1)

Country Link
JP (1) JPH0192837A (ja)

Similar Documents

Publication Publication Date Title
JP2559399B2 (ja) 情報処理装置
US4179731A (en) Microprogrammed control system
JPS6217252B2 (ja)
KR940009095B1 (ko) 데이터 처리시스템
US4933847A (en) Microcode branch based upon operand length and alignment
JP3004108B2 (ja) 情報処理装置
US4954947A (en) Instruction processor for processing branch instruction at high speed
JPH0192837A (ja) 情報処理装置
JP2793357B2 (ja) 並列演算装置
KR880000817B1 (ko) 데이터 처리장치 및 그 방법
JPS6327746B2 (ja)
JPH0628034B2 (ja) タグ付計算機
KR900002601B1 (ko) 마이크로 프로그램 제어방식
JPH02148140A (ja) 情報処理装置における条件分岐制御方式
JP2917384B2 (ja) 情報処理装置
JPS6052449B2 (ja) 割込み処理方式
JPH0679272B2 (ja) 命令フェッチ制御装置
JPS6389930A (ja) マイクロプログラム制御装置
JPS59223846A (ja) 演算処理装置
JPS628231A (ja) 論理型デ−タ処理装置
JPS62204340A (ja) デ−タ処理装置
JPS599758A (ja) マイクロプログラム制御デ−タ処理装置
JPH06332698A (ja) 情報処理装置
JPS6275736A (ja) プロローグ処理方法
JPS62204339A (ja) デ−タ処理装置