JPH01204151A - 連想レジスタファイル - Google Patents

連想レジスタファイル

Info

Publication number
JPH01204151A
JPH01204151A JP2947988A JP2947988A JPH01204151A JP H01204151 A JPH01204151 A JP H01204151A JP 2947988 A JP2947988 A JP 2947988A JP 2947988 A JP2947988 A JP 2947988A JP H01204151 A JPH01204151 A JP H01204151A
Authority
JP
Japan
Prior art keywords
data
register
registers
output
match
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
JP2947988A
Other languages
English (en)
Inventor
Shinichi Habata
幅田 伸一
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
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2947988A priority Critical patent/JPH01204151A/ja
Publication of JPH01204151A publication Critical patent/JPH01204151A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は連想レジスタファイルに関し、特に各レジスタ
に一致検出器と一致フラグを備えることで、データ読み
出し時に、読み出しデータと同じ値のデータを保持する
レジスタを検出し、読み出しデータと同じ値を保持して
いた全てのレジスタに対する書き込みを、1回の書き込
み操作で実現することで、特定のデータを他の値に書き
換える操作を高速実行する連想レジスタファイルに関す
るものである。
〔技術的背景〕
近年の高級プログラミング言語は処理するデータの構造
が複雑で、ポインタの使用頻度が高い。
例えば、知識情報処理の分野で注目されているプログラ
ミング言語プロローグ(PROLOG)がそうである。
プロローグのプログラム記述の基本要素は術語である。
術語は術語名と複数の引数とからなる。5個の引数を持
つ術語名Pの術語の例は以下の様になる。
P(”a”、X、“b”、X、X) “a”′と“b”はアトムと呼ばれる記号を表現するデ
ータである。Xは変数を表す。代表的なプロローグ言語
処理方式として、術語の引数レジスタと呼ぶ複数のレジ
スタ群に格納する方式がある。
従来は、引数レジスタを汎用のレジスタファイルで実現
していた 先の術語Pの引数を引数レジスタに格納する場合、アト
ム“a′”と°“b ”は、直接、引数レジスタに格納
できるが、変数Xはメモリ上の変数セルへのポインタを
格納する。第2図は術語Pの引数を引数レジスタに格納
した状態を示す説明図である。200が引数レジスタ群
を構成するレジスタファイル、201が第1引数“a“
′を格納する引数レジスタである。変数Xはメモリ上の
セル206をデータの格納領域として使用する。引数レ
ジスタ202は第2引数が変数Xなので、メモリ上の変
数セル206へのポインタを格納する。
〔従来技術の課題〕
従来の汎用レジスタファイルを使用した引数レジスタで
は、変数データを直接格納できなかった。
この為、変数データのアクセスは必ずポインタを辿る必
要があり、アトムデータより処理に必要な時間が長くな
る傾向があった。変数データを直接格納できない理由を
、先の術語Pを使用して説明する。
第3図が術語Pの5個の引数を直接引数レジスタに格納
した時の状態を示す説明図である。302から305の
3個の引数レジスタに変数Xが格納される。第2引数の
処理が変数Xにアトム°“c ”を代入すると仮定する
。第4図が第2引数の処理終了後の状態を示す説明図で
ある。引数レジスタ402はアトム“C”を格納する。
しかし、引数レジスタ404,405は変数Xを格納し
たままである。ここで、第4引数の処理が変数Xにアト
ム“d 11を代入すると仮定する。第5図が第4引数
の処理終了後の状態を示す説明図である。引数レジスタ
502はアトム“C”を格納し、引数レジスタ504は
アトム”d″を格納し、1つの変数に2つのデータが代
入されるという矛盾が生じている。
この矛盾発生を回避するためには、第2引数の処理で変
数Xにアトム“C”を代入する時に、全ての引数レジス
タが保持するデータを調べ、保持データが変数Xである
レジスタにアトム゛c ”を書き込む必要がある。しか
し、全ての引数レジスタを調べる為に必要な処理時間は
、変数アクセスでポインタを辿る処理時間よりはるかに
長いため、汎用のレジスタファイルで実現した引数レジ
スタの場合、変数データを直接格納しない方が優れてい
る。
本発明の目的は、各レジスタに読みだしデータとレジス
タの保持データを比較する一致検出回路と比較の結果を
記憶する一致フラグ保持器を備え、一致フラグ保持器の
フラグがセットされている全てのレジスタに対するデー
タの書き込みを可能とすることで、汎用レジスタファイ
ルでは実現できなかった変数データを直接格納できる引
数レジスタの実現を可能にする連想レジスタファイルを
提供することにある。
〔課題を解決するための手段〕
前述の問題を解決する為に、本発明が提供する連想レジ
スタファイルは、複数のレジスタから成るレジスタファ
イルにおいて、任意の前記レジスタの保持データを外部
に出力する出力バッファと、前記レジスタ毎に用意した
前記出力バッファの出力と前記レジスタの保持データと
を比較する一致検出回路と、前記一致検出回路毎に用意
した前記一致検出回路の出力を保持する一致フラグ保持
器と、レジスタファイル実現に必要なレジスタ番号解読
器とを備えて成り、データ読み出し操作時に前記一致検
出回路が読み出しデータと前記レジスタの保持データと
を比較し、読み出しデータと前記レジスタの保持データ
が等しい場合に前記一致フラグ保持器のフラグをセット
することと、データ書き込み操作の1つとして前記一致
フラグ保持器の出力を前記レジスタの書き込み許可信号
として使用し、前記一致フラグ保持器のフラグがセット
されている全ての前記レジスタに、1回のデータ書き込
み操作で、データの書き込みを行うことを備えて構成さ
れる。
〔作用〕
本発明の連想レジスタファイルは、各レジスタ・セルを
レジスタと、レジスタ出力用トライステート・バッファ
と、読み出しデータとレジスタの保持データの比較を行
う一致検出回路と、−数構出回路の出力を記憶する一致
フラグ保持器で構成する。
レジスタ数8個の例を使用して、本発明の連想レジスタ
ファイルの動作説明を行う。データ読み出し操作時の本
発明の連想レジスタファイルの状態を第6図に示す。6
01から608がレジスタである。1゛、“3′、“、
“5”、“1”、” 3 ”、5″、“1′′はそれぞ
れレジスタ601〜608の保持データである。データ
読み出し操作によりレジスタ605の保持デーラダ“1
°′が出力されるとする。レジスタの出力用トライステ
ート・バッファ635が、レジスタ605の保持データ
を出力する。−数構出回路611から618は読み出し
データ゛1”と各レジスタの保持データを比較する。比
較の結果、−数構出回路611,613,615,61
8が一致を検出する。−数構出回路の出力は、一致フラ
グ保持器621から628に送られる。一致フラグ保持
器が一致検出回路の出力を記憶した後の状態が第7図に
示される。
一致フラグ保持器721,723.735,728のフ
ラグがセットされている。この状態で一致フラグがセッ
トされているレジスタにデータ“7″を書き込む操作を
行った時の状態が第8図に示される。この書き込み操作
では、一致フラグ保持器の出力を書き込み許可信号とし
て使用する。
入力用バッファ820から書き込みデータ“7”が入力
され、一致フラグがセットされている一致フラグ保持器
821,823,825.828がレジスタ801,8
03,805,808に書き込み許可信号を出力する。
データ書き込み操作終了後の状態が第9図に示される。
一致フラグ保持器921,923,925,928が書
き込み許可信号を出力していたレジスタ901,903
゜905.908に書き込みデータ“7゛°が書き込ま
れている。
この結果、本発明の連想レジスタファイルは1回のデー
タ書き込み操作で、書き込み操作以前に実行したデータ
読み出し操作で読み出したデータと同じ値のデータを保
持する全てのレジスタに対するデータの書き込みを実行
できる。
〔実施例〕
本発明の実施例について、図面を参照して詳細に説明す
る。第1図は、レジスタ数8個の場合の本発明の連想レ
ジスタファイルの実施例である。
100が外部から送られて来るレジスタ番号を解読し、
データ読み出し操作及びデータ書き込み操作の為の制御
信号を生成するレジスタ番号解読器である。レジスタ番
号“3′°のレジスタに対するデータ読み出し操作では
、レジスタ番号解読器100が読み出しレジスタ番号か
ら制御信号を生成し、レジスタの出力用トライステート
・バッファ131から138を制御し、レジスタ101
から108の8個のレジスタの中からレジスタ103を
選択し、レジスタ103の保持データを出力用トライス
テート・バッファ133を介して出力バッファ110に
送る。この時、−数構出回路111から118は出力用
トライステート・バッファ133の出力とレジスタ10
1から108の保持データを比較し、比較結果を一致フ
ラグ保持器121から128に送る。
レジスタ番号“5″に対するデータの書き込み操作では
、レジスタ番号解読器100が書き込み許可信号を生成
する。書き込み許可信号は書き込み許可信号選択器14
1から148を通りレジスタ101から108に送られ
る。この場合、書き込み許可信号選択器145を通りレ
ジスタ105に書き込み許可信号が送られ、入カバッフ
ァ120から送られて来る書き込みデータがレジスタ1
05に書き込まれる。
読み出しデータと同じ値のデータを保持するレジスタに
対する書き込み操作は、一致フラグ保持器121から1
28の出力が書き込み許可信号選択器141から148
を通りレジスタ101から108に送られる。この結果
、一致フラグがセットされている一致フラグ保持器の出
力が書き込み許可信号となり、一致フラグがセットされ
ている複数のレジスタに入カバッファエ20から送られ
て来る書き込みデータが書き込まれる。
〔発明の効果〕
本発明の連想レジスタファイルは、各レジスタ・セルを
レジスタと、出力用トライステート・バッファと、読み
出しデータと保持データを比較する一致検出回路と、−
数構出回路の出力を記憶する一致フラグ保持器とで構成
し、データ読み出し操作時に読み出しデータとレジスタ
の保持データを比較し、読み出しデータと同じ値のデー
タを保持するレジスタを検出しておき、1回の書き込み
操作で読み出しデータと同じ値のデータを保持する全て
のレジスタにデータを書き込む操作を可能にした。この
結果、特定のデータの書換えを高速に実行することを可
能にしたという効果がある。
【図面の簡単な説明】
第1図はレジスタ数8個の場合の本発明の連想レジスタ
ファイルの一実施例のブロック図、第2図は術語Pの引
数を引数レジスタに格納した状態を示す説明図、第3図
は引数レジスタに、直接、変数Xを格納した状態を示す
説明図、第4図は第2引数の処理終了後の状態を示す説
明図、第5図は第4引数の処理が終了した状態を示す説
明図、第6図はデータ読み出し操作中の本発明の連想レ
ジスタファイルの状態を示すブロック図、第7図はデー
タ読み出し操作が終了した状態を示すブロック図、第8
図はデータ書き込み操作中の状態を示すブロック図、第
9図はデータ書き込み操作終了後の状態を示すブロック
図。 100はレジスタ番号解読器、101から108はレジ
スタ、1°10は出力バッファ、111から118は一
致検出回路、121から128は一致フラグ保持器、1
20は入力バッファ、131から138はレジスタ出力
用トライステート・バッファ、141から148はレジ
スタの書き込み許可信号選択器。

Claims (1)

    【特許請求の範囲】
  1. 複数のレジスタから成るレジスタファイルにおいて、任
    意の前記レジスタの保持データを外部に出力する出力バ
    ッファと、前記レジスタ毎に用意した前記出力バッファ
    の出力と前記レジスタの保持データとを比較する一致検
    出回路と、前記一致検出回路毎に用意した前記一致検出
    回路の出力を保持する一致フラグ保持器と、レジスタフ
    ァイル実現に必要なレジスタ番号解読器とを備えて成り
    、データ読み出し操作時に前記一致検出回路が読み出し
    データと前記レジスタの保持データとを比較し、読み出
    しデータと前記レジスタの保持データが等しい場合に前
    記一致フラグ保持器のフラグをセットすることと、デー
    タ書き込み操作の1つとして前記一致フラグ保持器の出
    力を前記レジスタの書き込み許可信号として使用し、前
    記一致フラグ保持器のフラグがセットされている全ての
    前記レジスタに、1回のデータ書き込み操作で、データ
    の書き込みを行うことを備えて成ることを特徴とする連
    想レジスタファイル。
JP2947988A 1988-02-09 1988-02-09 連想レジスタファイル Pending JPH01204151A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2947988A JPH01204151A (ja) 1988-02-09 1988-02-09 連想レジスタファイル

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2947988A JPH01204151A (ja) 1988-02-09 1988-02-09 連想レジスタファイル

Publications (1)

Publication Number Publication Date
JPH01204151A true JPH01204151A (ja) 1989-08-16

Family

ID=12277222

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2947988A Pending JPH01204151A (ja) 1988-02-09 1988-02-09 連想レジスタファイル

Country Status (1)

Country Link
JP (1) JPH01204151A (ja)

Similar Documents

Publication Publication Date Title
EP0241946B1 (en) Information processing system
EP0042422B1 (en) Diagnostic circuitry in a data processor
JPS61276031A (ja) デ−タ処理装置
JPS6298440A (ja) プログラマブルアクセスメモリ
JPS63291134A (ja) 論理集積回路
JPH0414385B2 (ja)
JPH01204151A (ja) 連想レジスタファイル
JPH01211122A (ja) 2読み出しポート連想レジスタファイル
JPH01273132A (ja) マイクロプロセッサ
JPH01204150A (ja) 情報処理装置
KR960016401B1 (ko) 레지스터 페이지 포인터를 이용한 레지스터 페이지간의 페이지 선택회로
JPH02287732A (ja) レジスタアドレス生成装置
JPS6391756A (ja) 記憶装置の部分書き込み命令処理方式
JPH0385636A (ja) 命令先行制御装置
JPS6214919B2 (ja)
JPS60218146A (ja) 記憶装置アドレス制御方式
JP2989962B2 (ja) ベクトル処理装置
JP2576589B2 (ja) 仮想記憶アクセス制御方式
JPS62196746A (ja) メモリ集積回路
JPS62184561A (ja) 入出力バツフア制御装置
JPH02114344A (ja) ガーベジコレクション処理装置
JPS6310245A (ja) スキヤンアクセス方式
JPH0635844A (ja) ダイレクトメモリアクセス装置
JPS5837885A (ja) マイクロプロセツサ装置
JPH01283635A (ja) バッファ制御回路