JPS595481A - スタツクメモリ制御フラグコントロ−ル方式 - Google Patents

スタツクメモリ制御フラグコントロ−ル方式

Info

Publication number
JPS595481A
JPS595481A JP57113562A JP11356282A JPS595481A JP S595481 A JPS595481 A JP S595481A JP 57113562 A JP57113562 A JP 57113562A JP 11356282 A JP11356282 A JP 11356282A JP S595481 A JPS595481 A JP S595481A
Authority
JP
Japan
Prior art keywords
stack
block
flag
speed buffer
memory
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
JP57113562A
Other languages
English (en)
Inventor
Takeshi Shinoki
剛 篠木
Akira Hattori
彰 服部
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 JP57113562A priority Critical patent/JPS595481A/ja
Publication of JPS595481A publication Critical patent/JPS595481A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems

Landscapes

  • Engineering & Computer Science (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

【発明の詳細な説明】 〔発明の技術分野〕 本発明はハードウェア・スタックを備えるスタック計算
機に係り1%にその高速バッファ・メモリの使用状態全
管理するフラグ?設は高速バッファ・メモリにおける空
きブロックの存在を簡単な構成により指示できるように
したものに関する。
〔技術の背景〕
スタック計算機では、第1図に示す如く、中央処理装置
内にスタックといわれるメモリS’I’−0・・・S 
T −n ftプロセス毎に設け、複数個のプロセス(
タスク)を並行処理している。このようなマルチプロセ
ス処理では各プロセスの環境(処理の中間結果と状態)
を保持するために前記スタックが用意され、その一番上
にセットされたデータを使用して各プロセスに対するデ
ータ処理が遂行されることになる。このようにすること
により中央処理装置は當にスタックの上部位置にセット
されているデータのみ全アクセスしてデータ処理全実行
すればよく、制御が容易になるっ このように各スタックは中央処理装置におけるデータ処
理の過程で頻紫にアクセスされるため高速メモリで構成
したいが、全スタック容量を高速メモリで実現すること
は高価なものとなりコスト的に問題である。そこでスタ
ックの先端部分(最近作られたデータのセットされた部
分)のみ高速バッファが保持し、それ以外を低速メモリ
で実現するか、あるいは全スタックを低速メモリで実現
する方法がコストパフォーマンス的にすぐれている。
一方、前記のマルチプロセス処理においては、複数個の
スタックが存在する。各スタック毎に高速バッファメモ
’J ffi設ける方法は制御的には簡単であるが、コ
スト的に問題であり、また、起動頻度の低いプロセスに
も、高速バッファが専用にあるのは資源の有効利用とい
う点から問題である。
そこで、第2図に示す如く、各スタック(プロセス)S
T−0・・・S T −n f低速メモリで構成してこ
れらに共通して、複数のブロックBo−Bsf有する1
つの高速バッファBi設け、いわゆるキャッシュ・メモ
リのように最近頻繁に起動されたプロセスに高速バッフ
ァを割幽てる方法がコストパフォーマンス的にすぐれて
いるので使用されている。
この方式を実現するために高速バッファ・メモリBi複
数個のブロックBO〜B3に分割するとともに、第3図
に示す如く、各ブロックBO〜B3毎にその有効表示フ
ラグV、所属スタック番号5T−i(i−0〜n)、ス
タック内位置情報(ブロック番号又はアドレス)b全保
持するタグ・メモリ(ディレクトリ)TO又はタグレジ
スタを設け、またハードウェアスタックNO・・・Nn
 fアクセス−t−ルためのアドレスを提供するノ1−
ドウエア・スタック・ポインタH8T=i設けてこれに
スタック内のブロック番号J(i=0〜m)、ブロック
内アドレスbad及ヒハツファ・ブロック番号Bi (
i = 0〜3)を記入するようにし、とのノ・−ドウ
エア・スタック・ポインタHATに現在実行中のプロセ
スのスタックポインタとして、前記bi、 、 bad
 +Bi等全等大記入おく。また各スタックにはスタッ
ク・トップ・ポインタ8TPが設けられ、最近使用され
たフロック内アトVスbad (又はブロック番号とア
ドレス)が記入される。
この第3図において前記スタック・トップ・ポインタS
TPは最近使用された、つまりプロセスが休止したとき
はその休止したときのスタック内アドレスが格納されて
いるので、あるプロセスが起動されると当該スタックの
スタックポインタがハードウェア・スタック・ポインタ
H8T中にロードされる。そしてタグTGが祠らべられ
、そのアドレスbad f含むブロックBiが高速バッ
ファBに存在すればそのブロックBi(i=o〜3)上
で処理が始まる。もし存在しなければ高速ノ(ソファ内
の適当なブロック(例えばLRU回路等が指定するブロ
ック)全調べ、そのブロックの有効フラグV−0ならば
、当該スタックから対応するブロックを読込む。またL
RU回路等が指定した高速バッファ内のブロックの有効
フラグV−1ならばそのブロックを低速メモリのスタッ
クに移転してから対応するブロック全読込む。そしてそ
のブロックの処理が始まる。
このプロセスの起動後、実行が進行する過程で処理が例
えばブロック境界金越えたときを考える。
この場合、ブロックBlでスタックS’l”−Qのブロ
ックb1−0に関して処理が行われたものとする。
スタック5T=Qのプロセスの進行にともなってスタッ
クが伸びる方向に進行するとき、つまジブロックb1−
0よりブロックb2−o に処理が進行するときには、
次のバッファ上ブロックの■−1ならばそれをリプレー
スしてタグ全登録し処理奮進める。
しかしスタックが縮む方向のときには、つま)ブロック
b1−0よりす。−0の方向に処理が進行するときには
、そのブロックb。−〇を高速バッファのブロックBl
に転送する前にまずブロックBtの有効フラグViリセ
ットしてV−0として、それから必要なブロックb。−
〇全転送しなければならない、 〔従来技術と問題点〕 このようにスタックが縮む方向のときに有効フラグ金リ
セットするため、従来は第4図に示す如き回路全必要と
した。第4図において11〜14は高速バッファBのタ
グにおける有効フラグV。
〜■3であり、これ全リセットするためにアンド回路7
〜10よりリセット信号k。−kak出力させることが
必要である・ 前記の如く、高速バッファBのブロックB1において、
第3図のスタック5T−0のブロックI)□1−0が転
送されこれについてプロセスが進行するとき、この進行
に必要なオペv−7ヨン・コードは、第4図のオペ7−
/ヨン・コード・レジスタ1にセットされる。このオペ
レーション・コード・レジスタ1にセットされたオペレ
ーション・コートハオペレーション・コード・デコーダ
2により解読され、スタックが縮む方向の場合には信号
11が「1」となる。またこの解読によりマルチプレク
サ3が選択制御され、これにより処理に必要なアドレス
信号が選択される。そしてこのアドレスがブロックの境
界金越えたとき、比較器4はそれまでのハードウェア・
スタック・ポインタH8Tにおける論理ブロック番号P
l(第3図H8Tのbiに相当)とマルチプレクサ3か
ら伝達されるアドレスの論理ブロック番号とを比較し、
このブロック境界金越えたとき比較器4はその境界変更
検出信号j2ヲ出力する。これによりアンド回路6はス
タックの縮む方向に進行中のプロセスによりブロック境
界が越えたことを示す信号l。−rlJを出力する。こ
のとき、エンコーダ5はその・・−ドウエア・スタック
・ポインタH8Tのバッファ・ブロック番号Pa (第
3図H8TのBiに相当)を解読してB+であること全
認識し、アンド回路8    ゛に[lJf:出力し、
アンド回路7.9.10には「0」を出力している。し
たがって、アンド回路6より前記の信号l。−「1」が
出力されたとき、アンド回路8は有効フラグ■1ヲ落す
ためのVlリセット信号ki全出力し、これによりvl
−0になり、有効フラグVlがリセットされることにな
る。
このようにしてスタックが縮む方向でブロック境界が越
えられたとき、旧ブロックのタグの有効フラグを第4図
に示す如きハードウェアによりリセットしていたので、
高速バッファのブロック数(第4図では4個)が多くな
るとそれに比例して各ブロック対応のタグの有効フラグ
をリセットするためのハード址が増大することになると
いう問題がある。
〔発明の目的〕
本発明の目的は高速バッファのブロック数が増大しても
各ブロック毎の有効フラグをリセットするだめのハード
量が増大せずにすむスタックメモリ制御フラグコントロ
ール方式全提供するものである、 〔発明の構成〕 この目的全遂行するために本発明のスタックメモリ制御
フラグコントロール方式では、複数個のプロセスに応じ
てそれぞれ設けられた低速メモリスタックと複数のブロ
ック部分に区分された高速バッファメモリと前記高速バ
ッファメモリのブロック部分毎に設けられ有効フラグを
有するタグ部全有するスタックメモリにおいて、プロセ
スがスタックの縮む方向に進行することを示す第1の信
号発生手段と、ブロック境界を越えたこと全検出するブ
ロック境界オーバ検出手段と、スタックの縮む方向にブ
ロック境界が越えられたことを示すシュリンク表示手段
′t−具備し、シュリンク表示手段に表示信号がセット
されたとぎそのブロック部分を読出して当該ブロック部
分のタグにおける前記有効フラグ全無効化することを%
徴とする。
〔発明の実施例〕
本発明の一実施例全第5図にもとづき説明1−る。
本発明では1個のシュリンクフラグSを設ける。
このシュリンクフラグSは高速バッファBの各ブロック
Bo −H3のブロック対応に設けられるのではなく、
唯1つのみ設けられている。そしてこのシュリンクフラ
グSはスタックの縮む方向でブロック境界が越えられた
ときセットされるものである。
第5図において、オペレーション・コード・レジスタ1
にオペレーションコードがセットされると、これがオペ
レーション・コード・デコーダ2により解読され、スタ
ックが縮む方向のときl、=「IJとなる。−またこの
デコーダ2の出力によシマルチプンクサ3が選択制御さ
れ、これにより処理に必要なアドレス店号が選択される
。そしてこのアドンスがブロックの境界上越えたとき、
比較器4は、第4図の場合と同様に境界変更検出信号1
2奮出力する。これによp′アンド回路6は、スタック
の縮む方向に進行中のグロセスによりブロック境界が越
えられたことを示す信号l。−1−1」全出力し、これ
によりシュリンクンラグSはセットされ、r lj全出
力する。
これによりプロセッサ15に対しては割込み信号が出力
されることになるっプロセッサ151は、これにより、
有効でないスタックポインタでスタックをアクセスした
ことを原因とする割込み処理ルーチン内でこのシュリン
クフラグS音調らべる。
そしてこのシュリンクフラグSがセットされていたとき
、ハードウェア・スタック・ポインタH8Tのバッファ
・ブロック番号P3(つまシBi )を調らべ、これに
よりその旧ブロックのタグの有効ピットVをリセットす
る。
このようにすれば非常に簡単な構成によシヌタックが縮
む方向のときにブロックの境界変更があってもその有効
フラグを簡単に落すことができる。
しかも高速バッファのブロック数が更に増加してもシュ
リンクフラグSは1個ですむのでハードウェア量の増大
を防止することができる。
このシュリンクフラグSは、第6図のように、ハードウ
ェア・スタック・ポインタHS T’部分に設けてもよ
い。
〔発明の効果〕
本発明によればシュリンクフラグ′ft1個設けるのみ
でスタックが縮む方向でブロック境界を越えたときの制
御に対処することができるので、そのハード構成を簡単
にすることができる。しかも高速バッファのブロック数
を増大してもハード量を増大する必要はない。
【図面の簡単な説明】
第1図はスタック計算機の説明図、第2図は高速バッフ
ァとスタックの説明図、第3図は高速バッファとタグ、
ハードウェア・スタック・ポインタ等の説明図、第4図
は従来のスタックメモリ制御フラグコントロール方式、
第5図は本発明の一実施例構成図、第6図はシュリンク
フラグの設置部の1例を示す。 図中、lidオペレーション・コード・Vジスタ、2は
オペ7−シヨン・コード・デコーf、3/riマルチプ
レクサ、4は比較回路、15・はプロセッサを示す。 特許出願人  富士通株式会社 代理人弁理士  山 谷 晧 榮 才1fil

Claims (1)

    【特許請求の範囲】
  1. (1)  複e 個のプロセスに応じてそれぞれ設けら
    れた低速メモリスタックと複数のブロック部分に区分さ
    れた高速バッファメモリと前記高速バッファメモリのブ
    ロック部分毎に設けられ有効フラグを有するタグ部を有
    するスタックメモリにおいて、プロセスがスタックの縮
    む方向に進行することを示′を第1の信号発生手段と、
    ブロック境界を越えたこと全検出するブロック境界オー
    バ検出手段と、スタックの縮む方向にブロック境界が越
    えられたことを示1シュリンク表示手段を具備し、シュ
    リンク表示手段に表示信号がセットされたときそのブロ
    ック部分を読出して尚該ブロック部分のタグにおける前
    記有効フラグ全無効化するCとを特徴とするスタックメ
    モリ制御フラグコントロール方式0
JP57113562A 1982-06-30 1982-06-30 スタツクメモリ制御フラグコントロ−ル方式 Pending JPS595481A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57113562A JPS595481A (ja) 1982-06-30 1982-06-30 スタツクメモリ制御フラグコントロ−ル方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57113562A JPS595481A (ja) 1982-06-30 1982-06-30 スタツクメモリ制御フラグコントロ−ル方式

Publications (1)

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

Family

ID=14615412

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57113562A Pending JPS595481A (ja) 1982-06-30 1982-06-30 スタツクメモリ制御フラグコントロ−ル方式

Country Status (1)

Country Link
JP (1) JPS595481A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4926385A (en) * 1987-08-05 1990-05-15 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device with cache memory addressable by block within each column

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4926385A (en) * 1987-08-05 1990-05-15 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device with cache memory addressable by block within each column

Similar Documents

Publication Publication Date Title
US3979726A (en) Apparatus for selectively clearing a cache store in a processor having segmentation and paging
US3588839A (en) Hierarchical memory updating system
US5740406A (en) Method and apparatus for providing fifo buffer input to an input/output device used in a computer system
JPS61107434A (ja) デ−タ処理装置
US5638535A (en) Method and apparatus for providing flow control with lying for input/output operations in a computer system
JPS58212694A (ja) メモリシステム
US5924126A (en) Method and apparatus for providing address translations for input/output operations in a computer system
US5805930A (en) System for FIFO informing the availability of stages to store commands which include data and virtual address sent directly from application programs
US5696990A (en) Method and apparatus for providing improved flow control for input/output operations in a computer system having a FIFO circuit and an overflow storage area
US10642740B2 (en) Methods for performing a memory resource retry
EP0730228A1 (en) ECC protected memory organization with pipelined read-modify-write accesses
EP0386719A2 (en) Partial store control circuit
US6938118B1 (en) Controlling access to a primary memory
JPS595481A (ja) スタツクメモリ制御フラグコントロ−ル方式
US5933856A (en) System and method for processing of memory data and communication system comprising such system
JPH01173241A (ja) キャッシュメモリ装置
JPH05282208A (ja) キャッシュメモリ制御方式
JPS6032220B2 (ja) 情報処理装置
JPS59112479A (ja) キヤツシユメモリの高速アクセス方式
JP2850340B2 (ja) キャッシュメモリ制御回路
KR930002324B1 (ko) 기억버퍼를 갖는 마이크로 프로세서
JPS61217834A (ja) デ−タ処理装置
JP2972451B2 (ja) ハードウェア制御ソフトウェアによるキャッシュメモリ制御方式
JPH0728990A (ja) グラフィックスメモリアクセス回路
JPH01125638A (ja) キャッシュメモリ装置