JP2917384B2 - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JP2917384B2
JP2917384B2 JP8270590A JP8270590A JP2917384B2 JP 2917384 B2 JP2917384 B2 JP 2917384B2 JP 8270590 A JP8270590 A JP 8270590A JP 8270590 A JP8270590 A JP 8270590A JP 2917384 B2 JP2917384 B2 JP 2917384B2
Authority
JP
Japan
Prior art keywords
instruction
segment
address
register
operand
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
JP8270590A
Other languages
English (en)
Other versions
JPH03282622A (ja
Inventor
則彰 境
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 JP8270590A priority Critical patent/JP2917384B2/ja
Publication of JPH03282622A publication Critical patent/JPH03282622A/ja
Application granted granted Critical
Publication of JP2917384B2 publication Critical patent/JP2917384B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、情報処理装置に関する。
〔従来の技術〕
情報処理装置の記憶管理の手法の一つにセグメンテー
ションがある。セグメンテーションによると、記憶はセ
グメントと呼ばれる単位で管理される。セグメントはセ
グメント記述子と呼ばれる記述子で規定される。
第3図にセグメント記述子の一例を示す。この例では
セグメント記述子はフラグ、リミット、ベースの3つの
フィールドで構成される。フラグ部はこのセグメント記
述子が規定するセグメントの属性が与えられる(読み出
し可、書き込み可、実行可等)。リセット部はセグメン
トのサイズを示す。ベース部はセグメントのベースアド
レスを示している。
セグメントに対するアクセスは、そのセグメントを規
定するセグメント記述子をセグメントレジスタと呼ばれ
るレジスタにロードした後、命令により生成されるアド
レス(実行アドレスと称す。)をセグメントレジスタに
ロードされたセグメント記述子のベース部に加算するこ
とでおこなわれる。このときの命令とオペランドの関係
は第4図に示される。
セグメント記述子はパラメータセグメント,アーギュ
メントセグメント,リンケージセグメント等の制御プロ
グラムが管理するセグメントに格納されている。各セグ
メントのセグメント記述子はパラメータセグメントレジ
スタ,アーギュメントセグメントレジスタ,リンケージ
セグメントレジスタと呼ばれるレジスタに格納されてい
て制御プログラムにより管理されている。
ロードポインタ命令は、あるセグメントに格納されて
いるオペランドをアクセスするために、そのセグメント
を規定するセグメント記述子とセグメント内のアドレス
を、それぞれセグメントレジスタとアドレスレジスタに
ロードする。
第5図にロードポインタ命令の動作の概略が示されて
いる。
ロードポインタ命令ではアドレス生成した後、そのア
ドレスを直接オペランドとするかまたはそのアドレスを
もとにメモリアクセスすることでオペランドを得る(ア
ドレス修飾部によって決まる)。オペランドは図に示さ
れるようにAR,S.Dと呼ばれる3つのフィールドに分割さ
れる。AR部はそのままアドレスレジスタにロードされ
る。S部,D部はセグメント記述子のID情報である。S部
はセグメント記述子がどのセグメントに格納されている
かを示している。D部はセグメント内のディスプレース
メントアドレス情報を示している。このID情報で指定さ
れるセグメント記述子がセグメントレジスタにロードさ
れる。
〔発明が解決しようとする課題〕
上述したように、従来の情報処理装置においては、ロ
ードポインタ命令は異なるセグメントに格納されている
オペランドをアクセスするときに出現する比較的出現頻
度の高い命令であるが、オペランドの読み出しとセグメ
ント記述子の読み出しの2回のメモリアクセスが必要で
あり、高速化が困難であった。
また、パイプライン化された情報処理装置において
は、この2回のメモリアクセスはパイプライン化されな
い為、特に処理時間が長くなるという問題があった。
〔課題を解決するための手段〕
本発明の装置は、セグメンテーションにより記憶管理
をおこなう情報処理装置において、 過去の命令の履歴におけるあらかじめ定められたロー
ドポインタ命令の命令アドレス情報と該ロードポインタ
命令のオペランドとして指定されるセグメント記述子の
ID情報とを対にして複数対記憶するヒストリテーブル手
段と、 命令先取りにおいて、先取りされるべきロードポイン
タ命令のアドレス情報が前記ヒストリテーブル手段に登
録されているか否かを調べ、該ロードポインタ命令の登
録の判明に応答して前記ヒストリテーブル手段から応答
するID情報を読み出す手段と、 該読出し手段により読み出されたセグメント記述子の
ID情報に従ってセグメント記述子の読み出し動作を実施
するセグメント記述子読み出し手段とを具備することを
特徴とする。
〔実施例〕
次に、本発明の実施例について図面を参照して説明す
る。
第1図は本発明の情報処理装置の一実施例を示す構成
図、第2図は第1図のアドレスヒストリテーブル106の
詳細を示す構成図である。
先行制御装置1は命令読出しのための仮想アドレスを
出力し、読出しされた命令を入力し、入力した命令のオ
ペランド読出しのための仮想アドレスを出力し、オペラ
ンドを読み出す。
命令キャッシュ2は先行制御装置1から命令読出しの
ための仮想アドレスを入力し、入力した仮想アドレスに
対応して記憶されている命令を出力する。
オペランドキャッシュ3は先行制御装置1からオペラ
ンド読出しのための仮想アドレスを入力し、入力した仮
想アドレスに対応して記憶されているオペランドを先行
制御装置1と演算実行装置(図示省略)とに出力する。
次に本実施例の動作について説明する。
先行制御装置1の命令先取り用IC101が、命令先取り
動作毎に命令セグメントレジスタ103に格納されている
命令セグメントのベース部と加算器104で加算され、命
令仮想アドレスレジスタ105に設定される。命令仮想ア
ドレスレジスタ105の出力は命令読出しのための仮想ア
ドレスとして命令キャッシュ2に送出されるとともに、
先行制御装置1のアドレスヒストリテーブル106にも送
出される。ヒストリテーブル106には入力した命令先取
りアドレスに該当するアドレスが記録されていないもの
とする。
命令キャッシュ2は、入力した命令先取りアドレスを
アドレス変換機構204によりアドレス変換することで対
応する物理アドレスを生成する。この物理アドレスをも
とに命令キャッシュのアドレス部205とデータ部203を索
引することで命令が読み出される。読み出された命令
は、先行制御装置1の命令レジスタ114に設定される。
デコード・制御装置118は命令レジスタ114に設定され
た命令をデコードして命令の種類を判定する。また、命
令レジスタ114に設定された命令の所定のビット位置の
指定をもとにアドレスレジスタファイル116,インデック
スレジスタファイル117,セグメントレジスタファイル11
5よりアドレスレジスタ,インデックスレジスタ,セグ
メントレジスタの内容が読出される。命令レジスタ114
に設定された命令のディスプレースメント及び、アドレ
スレジスタ,インデックスレジスタ,セグメントレジス
タの内容がそれぞれデコード・制御装置118により制御
されるセレクタ119,120,121,122を介してレジスタ126,1
24,125,123にそれぞれ設定される。アドレス加算器127
はレジスタ126,124,125,123の出力を加算してオペラン
ドアドレスを求め、その結果は仮想アドレスレジスタ12
8に設定される。仮想アドレスレジスタ128の出力は、オ
ペランド読み出しのための仮想アドレスとしてオペラン
ドキャッシュ3に送出される。
オペランドキャッシュ3は入力したオペランドアドレ
スをアドレス変換機構301によりアドレス変換すること
で対応する物理アドレスを生成する。この物理アドレス
をもとに、オペランドキャッシュのアドレス部306とデ
ータ部303を索引することでオペランドが読み出され
る。読み出されたオペランドは演算実行装置(図示省
略)と先行制御装置1のアドレスヒストリテーブル106
とセレクタ109とに送られる。
処理中の命令がロードポインタ命令のときは、オペラ
ンドキャッシュより送られたオペランドはセレクタ109
を介してレジスタ112に設定される。レジスタ112に設定
されたオペランドは第5図で示されるように、AR部,S
部,D部より構成される。S部をもとにしてセグメントレ
ジスタファイル115よりセグメント記述子が格納されて
いるセグメントのセグメント記述子が読み出されセレク
タ119を介してレジスタ123に設定される。同時にD部は
セレクタ122を介してレジスタ126に設定される。このと
き、レジスタ124,125には‘0'が設定される。レジスタ1
23〜126の値はアドレス加算器127により加算され、仮想
アドレスとしてオペランドキャッシュ3に送られる。こ
の仮想アドレスに対応したアドレスに格納されているセ
グメント記述子が読み出され、演算実行装置に送られ
る。
演算実行装置は最初に読み出したオペランドのAR部と
次に読み出したセグメント記述子をアドレスレジスタフ
ァイル116,セグメントレジスタファイル115に格納して
ロードポインタ命令の処理は終了する(パスは不図
示)。
第2図には第1図におけるアドレスヒストリテーブル
106の詳細が示されている。ヒストリテーブル106はCAM
構造になっている。本実施例では、4ワードのフルアソ
シアティブ構成になっているが、ワード数は問わない。
またセットアソシアティブ構成でも良い。
ヒストリテーブル106のタグ部11にはロードポインタ
の命令の格納されていたアドレスがその実行の履歴とし
て設定される。このアドレスは、アドレス計算用IC110
の出力が使用され、デコード・制御装置118がロードポ
インタ命令を検出したときタグ部11に格納される。デー
タ部にはオペランドキャッシュ3により送られたロード
ポインタ命令のオペランドのID情報S,D部が格納され、
タグ部11に格納されたアドレス情報と対になる。アドレ
ス計算用IC110は相対分岐命令等で使用されるもので命
令レジスタ114に設定される命令が格納されていたアド
レスを保持し、命令レジスタ114には1命令語ずつ設定
されるのでインクリメントは1番地ずつ行なわれる。
同じ番地のロードポインタ命令が再び処理されるとき
は、ヒストリテーブル106に格納された履歴として使用
される。命令読み出し仮想アドレスがレジスタ105より
送られると比較回路13によりタグ部11の値と比較され
る。ここで一致がみられると、一致したタグ部11と対に
なったデータ部がセレクタ15を介してレジスタ107に設
定される。また一致を示す情報がオアゲート14で生成さ
れフリップフロップ108に設定される。
レジスタ107とフリップフロップ108の値はそれぞれレ
ジスタ112,フィリップフロップ113に設定される。ロー
ドポインタ命令が命令キャッシュ2より命令レジスタ11
4に読み出されたとき、デコーダ・制御装置118はフリッ
プフロップ113の値によりレジスタ112にそのロードポイ
ンタ命令のS,D部が読み出されていると判定し、オペラ
ンドの読み出しとセグメント記述子の読み出しを連続し
ておこなえる。
〔発明の効果〕
以上説明したように本発明は、ロードポインタ命令が
格納されているアドレスをタグ部に保持し、該命令のセ
グメント記述子のID情報をデータに保持するヒストリテ
ーブル手段を用いて、ロードポインタ命令の先取りに応
じて上記ヒストリテーブル手段を索引することにより得
られる上記データ部出力よりID情報を得ることにより、
命令先取りとID情報読出しを並列しておこなうことがで
きるため、オペランドに含まれるID情報によりセグメン
ト記述子を読み出す処理に比べ、オペランドとセグメン
ト記述子を連続して読み出せるため、ハイプライン処理
の乱れを減少させるという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例を示す情報処理装置の概略ブ
ロック図、第2図はヒストリバッファの概略ブロック
図、第3図はセグメントとセグメント記述子の関係を示
す図、第4図はセグメンテーションにより記憶管理方式
のセグメントとオペランドの関係を示す図、第5図はロ
ードポインタ命令の処理を示す図である。 1……先行制御装置、2……命令キャッシュ、 3……オペランドキャッシュ。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】セグメンテーションにより記憶管理をおこ
    なう情報処理装置において、 過去の命令の履歴におけるあらかじめ定められたゼグメ
    ント記述子とセグメント内のアドレスをそれぞれセグメ
    ントレジスタとアドレスレジスタにロードする命令の命
    令アドレス情報と該命令のオペランドとして指定される
    セグメント記述子のID情報とを対にして複数対記憶する
    ヒストリテーブル手段と、 命令先取りにおいて、先取りされるべき前記命令のアド
    レス情報が前記ヒストリテーブル手段に登録されている
    か否かを調べ、該命令の登録の判明に応答して前記ヒス
    トリテーブル手段から応答するID情報を読み出す手段
    と、 該読出し手段により読み出されたセグメント記述子のID
    情報に従ってセグメント記述子の読み出し動作を実施す
    るセグメント記述子読み出し手段とを具備することを特
    徴とする情報処理装置。
JP8270590A 1990-03-29 1990-03-29 情報処理装置 Expired - Lifetime JP2917384B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8270590A JP2917384B2 (ja) 1990-03-29 1990-03-29 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8270590A JP2917384B2 (ja) 1990-03-29 1990-03-29 情報処理装置

Publications (2)

Publication Number Publication Date
JPH03282622A JPH03282622A (ja) 1991-12-12
JP2917384B2 true JP2917384B2 (ja) 1999-07-12

Family

ID=13781820

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8270590A Expired - Lifetime JP2917384B2 (ja) 1990-03-29 1990-03-29 情報処理装置

Country Status (1)

Country Link
JP (1) JP2917384B2 (ja)

Also Published As

Publication number Publication date
JPH03282622A (ja) 1991-12-12

Similar Documents

Publication Publication Date Title
US5408626A (en) One clock address pipelining in segmentation unit
KR0185988B1 (ko) 멀티프로세서 또는 파이프 라인식 프로세서 시스템에서 데이타의 보존을 확실히 하는 방법
KR100218572B1 (ko) 고성능 프로세서의 번역버퍼에 대해 세분성 힌트를 이용하는 프로세서 동작 방법 및 장치
KR100190252B1 (ko) 고속 프로세서에서의 브랜치 처리 방법 및 장치
US4679140A (en) Data processor with control of the significant bit lengths of general purpose registers
KR100309615B1 (ko) 고속프로그램가능로직컨트롤러(plc)
JPH06119166A (ja) 簡略命令セットプロセッサでレジスタ内データ操作を行なう方法
JPS6217252B2 (ja)
US6687808B2 (en) Data processor using indirect register addressing
JP2917384B2 (ja) 情報処理装置
US5864877A (en) Apparatus and method for fast forwarding of table index (TI) bit for descriptor table selection
US5822607A (en) Method for fast validation checking for code and data segment descriptor loads
US5815729A (en) Method and apparatus for on the fly descriptor validation
JPH0552539B2 (ja)
JP2540959B2 (ja) 情報処理装置
KR930002324B1 (ko) 기억버퍼를 갖는 마이크로 프로세서
JP3147884B2 (ja) 記憶装置及び情報処理装置
JPH0471219B2 (ja)
JPS61145643A (ja) 可変語長命令処理方式
JP2878526B2 (ja) プリフェッチ制御方式
JPH0282331A (ja) キヤツシュメモリ制御方式
JPH03185539A (ja) データ処理装置
JPH06332701A (ja) 情報処理装置
JPH07271580A (ja) 分岐先予測処理機能を有するデータ処理装置
JPH024011B2 (ja)