JPS595355A - 仮想スタツクのアクセス制御方式 - Google Patents

仮想スタツクのアクセス制御方式

Info

Publication number
JPS595355A
JPS595355A JP57114412A JP11441282A JPS595355A JP S595355 A JPS595355 A JP S595355A JP 57114412 A JP57114412 A JP 57114412A JP 11441282 A JP11441282 A JP 11441282A JP S595355 A JPS595355 A JP S595355A
Authority
JP
Japan
Prior art keywords
speed
pointer
memory
register
stack
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
JP57114412A
Other languages
English (en)
Inventor
Akira Hattori
彰 服部
Takeshi Shinoki
剛 篠木
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP57114412A priority Critical patent/JPS595355A/ja
Publication of JPS595355A publication Critical patent/JPS595355A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は、スタックを有する計算機においてそのアクセ
ス速度を速くする方式、特に高速メモリと低速メモリの
2階層メモリで構成された仮想スタックのアクセス制御
の方式に関するものである。
〔従来技術と問題点〕
一般に、スタフクーマシンはL I F O(Last
−In−First  −Ost )タイプのプッ¥1
ダウン・スタックを有している。スタックのアクセス・
アドレスはポインタ・レジスタに保持され、それ罠よっ
て指示され−る番地をリード又はライトする。
そのポインタには、スタックの一番最新の語(スタック
会トップ)を指示するスタック・トップ・ポインタ(以
下、STPという)と、それ以外にスタック内の情報を
アクセスするための作業用ポインタ(以下、swpとい
う)がある。つtC18TPはスタックの底からどこま
で有効な情報が詰まっているかを示すポインタである。
第1図はスタック・トップ・ポインタを説明するもので
ある〇 一方、スタック・マシンの場合、そのアクセス頻度が高
いのて、アクセス・タイムは非常に速い必要がある。そ
こで、スタックは高速メモリで構成されるととKなる。
しかし、スタックの深さく語数)は十分大きい必要があ
るので、高速大容量のスタックを実施するために、高速
小容量のメモリと低速大容量のメモリから構成される仮
想スタックを用いることになる。
第2図はスタックのポインタ装置の従来例を示すもので
あってSlはスタック、2はセレクタ、3はSTPレジ
スタ、4はSWPレジスタ、5はデコーダ、6は命令レ
ジスタをそれぞれ示している。セレクタ2は、デコーダ
5がらの信号に従ってSTPレジスタ3又はSWPレジ
スタ4の何れか一方を選択する。デコーダ5は、命令レ
ジスタ6の所定のフィールドの内容をデコードする。セ
レクタ2の出力は、アクセスすべきスタックlの番地を
示す。第2図のような従来方式においては、命令をデコ
ードしてセレクタ2を切替える時間のために、スタック
のアクセス・タイムが遅くなるという欠点が存在する。
本発明は、上記の考察に基づくものであって、高速メモ
リと低速メモリの2階層メモリで構成された仮想スタッ
クを1個のポインタ・レジスタを用いて高速でアクセス
できるよう圧した仮想スタックのアクセス制御方式を提
供することを目的としている。
〔発明の構成〕
そしてそのため、本発明の仮想スタックアクセス制御方
式は、高速メモリと低速メモリとで構成され、且つ複数
語からなるブロック単位で上記高速メモリと低速メモリ
の対応づけを行う仮想スタックにおいて、上記仮想スタ
ックをアクセスする几めのポインタのレジスタを1個と
すると共に。
機械命令又はマイクロ命令がそのポインタ・レジスタの
内容をスタック・トクプ・レジスタと見做すか或はそれ
以外の作業用ポインタと見做すかによってアクセスによ
り生じた事象に対する制御を変更する制御手段を設は次
ことを特徴とするものである。
第3図は本発明が適用される仮想スタックの概要を示す
ものである。第3図において、 10は高速小容量のメ
モIJ 、 11は低速大容量のメモリ、12はタグ部
、13i1ポインタ・レジスタ、BI、KIDは高速小
容量のメモリlOのブロックの識別子、BLKNOは低
速大容量のメモリ11のブロックの番号、■はバリクド
Φビットをそれぞれ示している。
ブロックが必要となった場合には、そのブロックが低速
大容量のメモリ11から高速小容量のメモリIOに移さ
れる。なお、各ブロックは、例えばlK語を格納するこ
とが出来る。タグ部12は、低速大容量のメモリllの
ブロックが高速小容量のメモIJ 10の何れのブロッ
クに格納されているかを示すものである。ポインタ・レ
ジスタ13には、BLKNOと、そのブロック内アドレ
スがセットされる。
このBLKNOとブロック内アドレスがスタック・アド
レスを構成する。
第4図は本発明のポインタ部分の構成の1実施例を示す
ものである。第4図において、 14は不一致回路、1
5はセレクタ、 16は加減算器、17はポインタ待避
レジスタをそれぞれ示している。不一致回路14は、ポ
インタ・レジスタ13に格納されているBLKNOと、
格納しようとしているスタック・アドレスのBLKNO
とを比較し、両者が不一致であれば信号BLKTJj?
vi+を論理「1」とする。
セレクタ15は、各部から送られて来るスタック・アド
レスを選択するものである。加減算器16は。
ポインタ・レジスタ13の内容を単位量だけ増加又は減
少するものである。ポインタ待避レジスタ17は、ポイ
ンタ・レジスタ13のデータを保存するためのものであ
る。ポインタ・レジスタ13はSTP用又はSWP用と
して使用されるものであるが。
STP用からSWP用にポインタ・レジスタ13を切替
える際、ポインタ・レジスタ13のデータはポインタ待
避レジスタ17に移される。
第5図は本発明におけるポインタ・レジスタ、スタック
、タグ部および置換回路の関係を示すものである。
第5図において、13′はポインタ・レジスタ13に対
するバリツド・フラグ、1夕はBLKIDレジスタ、 
18は更新回路、19はセレクタ、20はパリy)更新
回路をそれぞれ示している。高速小容量のメモリlOは
、ポインタ・レジスタ13のBLK内アドレスとBLK
IDレジスタ13’のBLKIDによってアクセスされ
る。バリッド令フラグ13′はポインタ・レジスタ13
の内容が有効であるか否かを示すものである。更新回路
18は、タグ部12の中にポインタ・レジスタ13の中
のBLKNOが存在しない場合、低速大容量メモI71
1から読出されたブロックを格納すべきメモリ10上の
ブロックのBLKIDを定めるものである。バリッド更
新回路20は。
信号BLKUMが論理「1」となった時、バリッド・フ
ラグ13’を論理「0」にするものである。
第6図はスタック・ブロックおよびポインタ・レジスタ
の関係を示すものである。
第6図(イ)はSTPをインクリメントしてブロック境
界をクロスした場合を示すものである0この場合には、
バリッド・フラグ13′をリセットするだけで良い。つ
まシ、高速小容量のメモリ10にブロックn + 1が
存在する保証はないので、ノ(リッド・7ラグ13’を
「0」にしておき、仁のポインタ・レジスタの値でスタ
ック中アクセスを行うと、スタック・フォルト割込みが
発生し、その割込み処理ルーチンでブロック界+1を高
速小容量のメモリIOにローディングし、ブロック格納
位置に対応するBLKIDをBLKIDレジスタ13’
にセットする。
第6図(ロ)はSTPをデクリメントしてブロック境界
をクロスした場合を示すものである。この場合も第6図
(イ)の場合と同様にクロス/、sが高速小容量のメモ
リIOに存在する保証はないので、バリッド・フラグ1
3’をリセットする必要が69.更に元いたブロックR
+1が消滅したので、タグ部12の対応するエントリの
バリッド拳ビットをリセットする必要がある。
一方、ポインタ・レジスタ13をSWPレジスタとして
使用する場合には、スタックの有効情報が伸縮するわけ
ではないので、ポインターレジメタ13がブロック境界
をクロスした場合、ポインタ・レジスタ13のバリッド
・フラグ13’をリセットするだけで良い。
上述の説明から判るように1機械命令(又はマイクロ命
令)がポインタのレジスタ13の内容をSWP<作業用
ポインタ)として使う場合、ポインターレジスタ13の
内容を更新してブロック境界をクロスしmときにはポイ
ンタ・レジスタ13のバリッド・フラグ13’をリセッ
トするだけである。一方、機械命令(又はマイクロ命令
)がポインタ・レジスタ13の内容をSTPとして使う
場合、殊にポインタ・レジスタ13の値を減少させてブ
ロック境界をクロスしたときには、ポインタ・レジスタ
13のバリッド・フラグをリセットすると共に1元い友
ブロックに対応するタグ部12のエントリのバリッドe
ビットもリセットする必要がある。
第7図はタグ部12のバリッド令ビットのリセット回路
の1実施例を示すものである。第7図において、24は
デコーダ、25ないし28はAND回路、29ないし3
2はフリップやフロップをそれぞれ示している。信号S
 HRI NKは、ポインタ書レジスタ13がSTPレ
ジスタとして使用されていることおよびポインタ・レジ
スタ13が減少してブロック境界をクロスし足ことを条
件として論理「1」の値をとるものである。この信号5
HRFNKが論理「1」になると、BLKIDに対応し
次タグ部12のエントリのバリッド・ビットカ1リセッ
トされるO 本発明で使用されるマイクロ命令は、スタック制御フィ
ールドを有している。このスタック制御フィールドの値
は下記のような意味を有していもなお、左端の数値はこ
のフィールドの値を示している0 1、 5TACK (STP)− 8TPで間接リードし、STPをデクリメントする。
2、 5TACK  (STP) STPで間接リードする。
3、 5TACK (SWAP) 十 SWA’Pで間接リードし、SWPをインクリメントす
る0 4、 5TACK  (SWAP)− S W I)で間接リードし、s、wpをデクリメント
する。
5、 5TACK  (SWP) SWPで間接リードする。
6、PTR ポインタ・レジスタをリードする。
7、 P ’r RS ポインタ待避レジスタをリードする。
以上工ないし7は、スタック部をソースとして指定する
場合に用いられるものである。
8、 5TACK (STP)+ STPで間接ライトし、STPをインクリメントする。
9、 5TACK (STP) STPで間接ライトする。
10.5TACK (swP)+ SWPで間接ライトし、swpをインクリメントする。
11.5TACK (SWP)− 8WPで間接ライトし、swpをデクリメントする。
12.5TACK  (SWP) SWPで間接ライトする。
13.5TP− ポインタ・レジスタをSTPと見做し、現在より小さい
値をロードする。
14、ポインタ骨レジスタをSWPと見做し、値をロー
ドする。
以上の8ないし14は、スタック部をデスティネーシぢ
ンとして指定する場合に使用されるものである。上記の
例の場合、1.4.11.のオペレージロンでブロック
境界をクロスすると暑1元いたブロックに対応するタグ
部のエントリのバリッド・ビットをリセットしなければ
ならない。
〔発明の効果〕
以上の説明から明らかなように1本発明圧よれば、高速
メモリと低速メモリの2階層メモリで構成された仮想ス
タックを高速でアクセスすることが可能となる。
【図面の簡単な説明】
第1図はスタック・トップ・ポインタを説明する図、第
2図はスタック・ポインタ装置の従来例を示す図、第3
図は本発明が適用される仮想スタックの概要を示す図、
第4図は本発明のポインタ部分の構成の1実施例を示す
図、第5図は本発明におけるポインタ・レジスタ、スタ
ック、タグ部および置換回路の関係を示す図、第6図は
スタック、ブロックおよびポインタ・レジスタの関係を
示す図、第7図はタグ部のバリッド−ビットのリセット
回路の1実施例を示す図である。 lO・・・高速小容量のメモ!Lll・・・低速大容量
のメモリ、12・・・タグ部、 13・・・ポインタe
レジスタ、BLKID・・・高速小容量のメモI) 1
0のブロックの識別子、BLKNO・・・低速大容量の
メモリllのブロック番号%V・・・バリッド−ビット
、14・・・不一致回路、15・・・セレクタ、16・
・・加減算器、 17・・・ポインタ待避レジスタ、’
 13’・・・ポインタ・レジスタ13に対するバリッ
ド・フラグ、 13’・・・BL、KIDレジスタ。 18・・・更新回路、 19・・・セレクタ、20・・
・バリッド更新回路。 特許出願人 富士通株式会社 代理人弁理士 京 谷 四 部

Claims (1)

  1. 【特許請求の範囲】 高速メモリと低速メモリとで構成され、且つ複数語から
    なるブロック単位で上記高速メモリと低速メモリの対応
    づけを行う仮想スタックにおいて。 上記仮想スタックをアクセスするためのポインタ・レジ
    スタを1個とすると共に1機械命令又はマイクロ命令が
    そのポインタ・レジスタの内容をスタック・トップ・レ
    ジスタと見做すか或はそれ以外の作業用ポインタと見做
    すかによってアクセスによシ生じ次事象に対する制御を
    変更する制御手段を設は几ことを特徴とする仮想スタッ
    クのアクセス制御方式。
JP57114412A 1982-06-30 1982-06-30 仮想スタツクのアクセス制御方式 Pending JPS595355A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57114412A JPS595355A (ja) 1982-06-30 1982-06-30 仮想スタツクのアクセス制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57114412A JPS595355A (ja) 1982-06-30 1982-06-30 仮想スタツクのアクセス制御方式

Publications (1)

Publication Number Publication Date
JPS595355A true JPS595355A (ja) 1984-01-12

Family

ID=14637039

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57114412A Pending JPS595355A (ja) 1982-06-30 1982-06-30 仮想スタツクのアクセス制御方式

Country Status (1)

Country Link
JP (1) JPS595355A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0733977A1 (fr) * 1995-03-23 1996-09-25 CSEM Centre Suisse d'Electronique et de Microtechnique Système informatique avec mémoires hiérarchisées

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0733977A1 (fr) * 1995-03-23 1996-09-25 CSEM Centre Suisse d'Electronique et de Microtechnique Système informatique avec mémoires hiérarchisées

Similar Documents

Publication Publication Date Title
US5640582A (en) Register stacking in a computer system
EP0148478B1 (en) A data processor with control of the significant bit lenghts of general purpose registers
US7143271B2 (en) Automatic register backup/restore system and method
US4057850A (en) Processing link control device for a data processing system processing data by executing a main routine and a sub-routine
JPH0454652A (ja) マイクロコンピュータ
JPS6122817B2 (ja)
JPS595355A (ja) 仮想スタツクのアクセス制御方式
US5491826A (en) Microprocessor having register bank and using a general purpose register as a stack pointer
US6886159B2 (en) Computer system, virtual machine, runtime representation of object, storage media and program transmission apparatus
US4816992A (en) Method of operating a data processing system in response to an interrupt
EP0234187A2 (en) Programmably controlled shifting mechanism in a programmable unit having variable data path widths
JPS60134937A (ja) アドレス拡張装置
JPS6065342A (ja) マイクロコンピユ−タ
JPH0259560B2 (ja)
EP1251431A2 (en) Reduction of bank switching instructions in main memory of data processing apparatus having main memory and plural memory banks
KR830000265B1 (ko) 정보처리 장치
JPH0731608B2 (ja) 情報処理装置
KR830000821B1 (ko) 데이타 처리 시스템
JPH0256029A (ja) 汎用レジスタ切換方式
JPS592938B2 (ja) メモリ ワ−クスペ−ス アンドレツシングホウホウオヨビソウチ
JP2531206B2 (ja) チャネル装置
JPH10240525A (ja) 情報処理装置
JPH1063608A (ja) データ転送制御回路
JP2001166916A (ja) リングバッファ制御方法
JPS603656B2 (ja) 計算機のメモリ拡張方式