Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPS6012658B2 - stack memory device - Google Patents
[go: Go Back, main page]

JPS6012658B2 - stack memory device - Google Patents

stack memory device

Info

Publication number
JPS6012658B2
JPS6012658B2 JP55182197A JP18219780A JPS6012658B2 JP S6012658 B2 JPS6012658 B2 JP S6012658B2 JP 55182197 A JP55182197 A JP 55182197A JP 18219780 A JP18219780 A JP 18219780A JP S6012658 B2 JPS6012658 B2 JP S6012658B2
Authority
JP
Japan
Prior art keywords
stack
block
memory
speed
data
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
Application number
JP55182197A
Other languages
Japanese (ja)
Other versions
JPS57105877A (en
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.)
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 JP55182197A priority Critical patent/JPS6012658B2/en
Publication of JPS57105877A publication Critical patent/JPS57105877A/en
Publication of JPS6012658B2 publication Critical patent/JPS6012658B2/en
Expired 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
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches

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)

Description

【発明の詳細な説明】 本発明は、低速メモリで構成された複数のスタツク・メ
モリと、それらの一部の写しを保持する高速バッファ・
メモリとを備える段層構造のスタック・メモリ装置に関
するものである。
DETAILED DESCRIPTION OF THE INVENTION The present invention comprises a plurality of stack memories composed of low-speed memories and a high-speed buffer that holds copies of some of them.
The present invention relates to a stacked memory device with a layered structure including a memory.

複数のプ。Multiple pu.

セス(タスク)が並行して処理される所謂マルチプロセ
ス処理においては、各プロセスの環境、即ち処理の中間
結果と状態を保持するためにそれぞれスタツクが用意さ
れる。スタツクは中央処理装置の処理の過程で頻繁にア
クセスされるため、従釆は複数のスタックのそれぞれを
高速メモリで実現していたが、全てのスタックを高速メ
モリで実現することはコスト的に問題がある。第1図は
、そのような従来のスタック・メモリ装置の概客を示す
。同図において1一1ないし1一nは高速バッファ・メ
モリ、2一1なし、し2一nは低速メモリから作成され
た低速メモリ・スタツクをそれぞれ示している。高速バ
ッファ・メモリ1−iと低速メモリ・スタツク2−iは
、プロセスiに対応するものであり、プロセスiで作成
された技新の環境情報は高速バッファ・メモリ1一iに
保持され、それ以外もしくは全体の環境情報は低速メモ
リ・スタック2−iに保持されている。高速バッファ・
メモリ1一iおよび低速メモリ・スタツク2一iのそれ
ぞれは、複数のブロック城に分割されている。ブロック
城の大きさは例えばIKワードであり、高速バッファ・
メモリ1−iと低速メモリ・スタツク2−i間のデータ
転送はブロック単位で行われる。プロセスが環境情報を
高速バッファ・メモリにプッシュするとき高速バッファ
・メモリ1一iに空きがなくなると高速バッファ・メモ
リの環境情報は低速メモリ・スタック2一iに移される
。また、プロセスが環境情報を高速バッファ・メモリ1
−iからポップ・アップするとき、高速バッファ・メモ
リ1−iに所望の環境情報がなくなると、低速メモリ・
スタック2−iの環境情報が高速バッファ・メモリ1−
iに移される。第1図に示すように、各スタック毎に高
速バッファ・メモリを設ける方法は、制御的に簡単にな
るが、高速バッファ・メモリを複数個設けることはコス
ト的に問題であり、また起動頻度の低いプロセスにも高
速バッファ・メモリが専用に存在することは資源の有効
利用という点から問題である。
In so-called multi-process processing in which processes (tasks) are processed in parallel, a stack is prepared for holding the environment of each process, that is, the intermediate results and state of the processing. Since stacks are frequently accessed during processing by the central processing unit, conventional methods have implemented multiple stacks using high-speed memory, but implementing all stacks using high-speed memory poses a cost problem. There is. FIG. 1 shows an overview of such a conventional stacked memory device. In the figure, 1-1 to 11n represent high-speed buffer memories, 2-1 does not exist, and 21n represents low-speed memory stacks created from low-speed memories, respectively. The high-speed buffer memory 1-i and the low-speed memory stack 2-i correspond to the process i, and the environment information of the technology created by the process i is held in the high-speed buffer memory 1-i and is stored in the high-speed buffer memory 1-i. Other or entire environmental information is held in the slow memory stack 2-i. High speed buffer
Each of memory 11i and slow memory stack 21i is divided into a plurality of blocks. The size of the block castle is, for example, an IK word, and a high-speed buffer
Data transfer between memory 1-i and low speed memory stack 2-i is performed in blocks. When a process pushes environment information to the fast buffer memory, when the fast buffer memory 11i becomes full, the environment information in the fast buffer memory is moved to the slow memory stack 21i. Processes also store environment information in high-speed buffer memory 1.
-i, if the desired environment information is no longer in the fast buffer memory 1-i, the slow memory
The environment information of stack 2-i is stored in high-speed buffer memory 1-
moved to i. As shown in Figure 1, the method of providing a high-speed buffer memory for each stack simplifies control, but providing multiple high-speed buffer memories poses a problem in terms of cost and also reduces the startup frequency. The existence of a dedicated high-speed buffer memory even for low-level processes is problematic from the point of view of effective resource utilization.

本発明は、上記の考察に基づくものであって、高速処理
が可能であり、しかも低コストのスタック・メモリ装置
を提供することを目的としている。
The present invention is based on the above consideration, and aims to provide a stack memory device that is capable of high-speed processing and is low in cost.

そしてそのため、本発明のスタツク・メモリ装置は、そ
れぞれが複数のプロセスのそれぞれに対応する複数の低
速メモリ・スタツク並びに複数のブロック域を有し、且
つ複数のプロセスによって共用される高速バッファ・メ
モリを備え、上記各低速メモリ・スタツクと上記高速バ
ッファ・メモリとの間のデータ転送がブロック単位で行
われるスタック・メモリ装置であって、アクセスすべき
スタックの番号およびスタック内アドレスが格納される
スタツク・ポィンタ・レジスタ、上記高速バッファのブ
ロック域ごとに当該ブロック城のデータが有効か否かを
示す有効表示フラグ、いずれのスタツクに割当てられて
いるかを示すスタツク番号およびスタツク内のいずれの
ブロックに割当てられているかを示すブロック番号が格
納されるタグ機構、並びに上記スタック・ポィンタ・レ
ジスタ内のスタツク番号およびスタツク内アドレスの上
位桁で指定されるブロック番号が上記タグ機構内に登録
されているか杏かを検出する検出機構とを備え、上記検
出機構が登録されていなかったことを示す信号を出力し
た場合には、リプレィスすべきブロック城を選択し、対
応する有効プラグがオンであることを条件として選択さ
れたブロック域のデータを該当する低速メモリ・スタッ
クに転送すると共に、選択されたブロック城の内容を、
上記スタック・ポイントのスタツク番号およびブロック
番号で特定される低速メモリ・スタックのブロック域の
内容と等しくすることに構成されたことを特徴とするも
のである。以下、本発明を図面に参照しつつ説明する。
第2図は本発明のスタック・メモリ装置の概要を示す図
、第3図は本発明で使用される高速バッファ・メモリの
第1実施例のブロック図、第4図は本発明で使用される
高速バッファ・メモリの第2実施例のブロック図である
Therefore, the stack memory device of the present invention has a plurality of low-speed memory stacks and a plurality of block areas, each corresponding to a plurality of processes, and a high-speed buffer memory shared by the plurality of processes. a stack memory device in which data transfer between each of the low-speed memory stacks and the high-speed buffer memory is performed in units of blocks; A pointer register, a valid display flag indicating whether the data in the block is valid or not for each block area of the high-speed buffer, a stack number indicating which stack it is assigned to, and a stack number indicating which block within the stack it is assigned to. A tag mechanism in which a block number indicating whether the stack is stored, and a block number specified by the stack number in the stack pointer register and the upper digits of the stack address are registered in the tag mechanism. If the detection mechanism outputs a signal indicating that it was not registered, select the block castle to be replaced, and select it on the condition that the corresponding valid plug is on. The data of the selected block area is transferred to the corresponding low-speed memory stack, and the contents of the selected block area are transferred to the corresponding low-speed memory stack.
It is characterized in that the content is made equal to the contents of the block area of the low-speed memory stack specified by the stack number and block number of the stack point. The present invention will be described below with reference to the drawings.
FIG. 2 is a diagram showing an overview of the stacked memory device of the present invention, FIG. 3 is a block diagram of a first embodiment of the high-speed buffer memory used in the present invention, and FIG. 4 is a diagram showing the first embodiment of the high-speed buffer memory used in the present invention. FIG. 3 is a block diagram of a second embodiment of a high speed buffer memory.

第2図において、3−1ないし3−nはスタツク内アド
レス保持レジスタ、4はスタック・ポィンタ・レジスタ
、BIないしB3は高速バッファ・メモリ1内のブロッ
ク城、EIないしE3は管理情報ェントリ、Vは有効表
示フラグ、STKNOはスタツク識別番号、BLKNO
はブロック識別番号を示している。
In FIG. 2, 3-1 to 3-n are stack address holding registers, 4 is a stack pointer register, BI to B3 are block castles in the high-speed buffer memory 1, EI to E3 are management information entries, and V is the valid display flag, STKNO is the stack identification number, BLKNO
indicates the block identification number.

第2図に示すように、本発明のスタック・メモリ装置は
、1個の高速バッファ・メモリ1とn個の低速メモリ・
スタック2−1なし、し2一nを有しており、この高速
バッファ・メモリーが第1図の複数の高速バッファ・メ
モリ1−1ないし1一nの代りとして使用される。
As shown in FIG. 2, the stack memory device of the present invention includes one high-speed buffer memory 1 and n low-speed buffer memories.
The stack 2-1 does not have a stack 2-1 to 21n, and this high-speed buffer memory is used in place of the plurality of high-speed buffer memories 1-1 to 11n shown in FIG.

ブロック域BIないしB3はデータ部を構成しており、
管理情報ェントリEIないしE3はタグ部を構成してい
る。スタツク・ボインタ・レジスタ4は、アクセスすべ
きスタツクおよびデータをプッシュ・ダウンもしくはポ
ップ・アップするスタツク内のアドレスを示している。
管理情報ェントリEIはブロック城81に、管理情報ェ
ントリE2はブロック城B2に、管理情報ェントリE3
はブロック城B3に対応する。各管理情報ェントリには
、対応するブロックが有効であるか否かを示す有効表示
フラグV、対応するブロックが何れのスタックに属して
いるかを示すスタツク識別番号および対応するブロック
が第幾番目のものかを示すブロック番号が書込まれてい
る。ブロック番号は、スタック内アドレスの上位桁部分
と等しい。スタツク内アドレス保持レジスタ3−1なし
、し3−nのそれぞれには、対応するプロセスが休止さ
れた時のアドレスが格納される。そして、プロセスが起
動されると、そのプロセスに対応するスタック内アドレ
ス保持レジスタの内容がスタツク・ポインタ・レジスタ
4に格納される。低速メモリ・スタック2−1なし、し
2一nは主メモリ内に形成されても良く、主メモリとは
別の低速メモリ装置の中に形成されてもよい。高速バッ
ファ・メモリは、所謂キャッシュ・メモリとは別体に設
けられている。高速バッファ・メモリ1と低速メモリ・
スタツク2一1,2−2,………2一nとの間のデータ
転送は、ブロック単位で行われる。環境情報の議出し又
は書込み要求された場合、スタック・ポィンタ・レジス
タ4で定められているブロックが高速バッファ・メモリ
1の中に存在するか否かが調べられる。スタツク・ポイ
ンタ・レジスタ4で定められるブロックと一致するもの
が高速バッファ・メモリ1内に存在しない場合、ブロッ
ク城BIないしB3のいずれかがスタツク・ポインタ・
レジスタ4で定められるブロックに対して割当てられる
。第3図は本発明で使用される高速バッファ・メモリの
1実施例のブロック図である。
Block areas BI to B3 constitute the data section,
Management information entries EI to E3 constitute a tag section. Stack pointer register 4 indicates the stack to be accessed and the address within the stack to push down or pop up data.
The management information entry EI is in the block castle 81, the management information entry E2 is in the block castle B2, and the management information entry E3 is in the block castle B2.
corresponds to block castle B3. Each management information entry includes a valid display flag V indicating whether the corresponding block is valid or not, a stack identification number indicating which stack the corresponding block belongs to, and the number of stacks to which the corresponding block belongs. A block number is written to indicate the The block number is equal to the upper digit part of the address in the stack. Each of the intra-stack address holding registers 3-1 and 3-n stores the address at which the corresponding process was suspended. When a process is started, the contents of the stack address holding register corresponding to the process are stored in the stack pointer register 4. The low speed memory stacks 2-1 and 21n may be formed within main memory or may be formed within a low speed memory device separate from main memory. The high-speed buffer memory is provided separately from a so-called cache memory. High-speed buffer memory 1 and low-speed memory
Data transfer between the stacks 2-1, 2-2, . . . 2-n is performed in block units. When a request is made to issue or write environment information, it is checked whether the block defined by the stack pointer register 4 exists in the high speed buffer memory 1 or not. If there is no block in fast buffer memory 1 that matches the block defined by stack pointer register 4, then either block BI or B3 is set to the stack pointer register.
Allocated to the block defined by register 4. FIG. 3 is a block diagram of one embodiment of a high speed buffer memory used in the present invention.

第3図においては、5はデータ部、6はタグ部、7はセ
レクタ、8−1なし、し8−3は比較回路、9はOR回
路をそれぞれ示している。データ部5はブロック域BI
ないしB3で構成されるものであり、タグ部6は管理情
報ェントリE1ないしE3から構成されるものである。
スタツクからデータを読出す場合、スタツク・ポィンタ
・レジスタ4のスタツク番号およびブロック番号によっ
てタグ部6がサーチされ、データ部5はスタツク・ポィ
ンタ・レジスタ内のブロック内アドレスによってアクセ
スされる。例えば比較回路8一1が一致を示す場合には
、セレクタ7はブロックBIからの謙出データを選択す
る。比較回路8ーーないし8−3のいずれかが一致を示
す場合には、OR回路は「1」のFOUND信号を出力
する。書込む場合には、先ずタグ部6がサーチされ、一
致を示す比較回路が存在すると、一致を示した比較回路
に対応するブロック域Bi(iは1、2、3のいずれか
)にデータが書込まれる。スタツク・ポインタ・レジス
タ4のスタツク番号、ブロック番号と一致するものがタ
グ部6に存在しない場合には、高速バッファ・メモリー
の中の適当なブロック域、例えばLRU回路などのりプ
レィス回路で指定されるブロック域Biを置換対象ブロ
ック域Bj(iは1、2、3のいずれか)の有効表示フ
ラグVが論理「01であれば、置換対象ブロック域をク
リアしてからスタック・ポインタ・レジスタ4で指定さ
れるデータ・ブロックを低速メモリ・スタックから続出
して置換対象ブロック域Biに格納する。また、置換対
象ブロック城Biの有効表示フラグVが論理「1」の場
合には、置換対象ブロック域Biのデータ・ブロックを
低速メモリ・スタツクに移し終え、ブロック域Biをク
リアしてからスタック・ポィンタ4で定められるデータ
・ブロックを低速メモリ・スタックから議出して置換対
象ブロック城Bjに格納する。ブッシュ・ダウンの場合
にも同様な処理が行われる。なお、ブロック域B1,B
2又はB3のデ−夕が全てポップ・アップされ、空にな
った場合には、対応する有効表示フラグVが「0」とさ
れる。第4図は本発明で使用される高速バッファ・メモ
リの他の実施例を示すものである。
In FIG. 3, 5 is a data section, 6 is a tag section, 7 is a selector, 8-1 is not provided, 8-3 is a comparison circuit, and 9 is an OR circuit. Data section 5 is block area BI
The tag section 6 is composed of management information entries E1 to E3.
When reading data from the stack, the tag section 6 is searched by the stack number and block number in the stack pointer register 4, and the data section 5 is accessed by the intra-block address in the stack pointer register. For example, if the comparison circuit 8-1 indicates a match, the selector 7 selects the extracted data from the block BI. If any of the comparison circuits 8--8-3 indicates a match, the OR circuit outputs a FOUND signal of "1". When writing, the tag section 6 is first searched, and if there is a comparison circuit that shows a match, the data is stored in the block area Bi (i is either 1, 2, or 3) corresponding to the comparison circuit that shows a match. written. If the stack number and block number matching the stack pointer register 4 do not exist in the tag section 6, they are specified in an appropriate block area in the high-speed buffer memory, for example, in a paste-place circuit such as an LRU circuit. If the valid display flag V of the block area Bi to be replaced Bj (i is one of 1, 2, or 3) is logical "01," clear the block area to be replaced and then use the stack pointer register 4. The specified data block is successively extracted from the low-speed memory stack and stored in the replacement target block area Bi.In addition, if the valid display flag V of the replacement target block Bi is logical "1", the replacement target block area Bi is stored in the replacement target block area Bi. After moving the data block Bi to the low-speed memory stack and clearing the block area Bi, the data block specified by the stack pointer 4 is taken out from the low-speed memory stack and stored in the replacement target block Bj. Similar processing is performed in the case of bush down. In addition, block areas B1, B
When all the data of 2 or B3 are popped up and become empty, the corresponding valid display flag V is set to "0". FIG. 4 shows another embodiment of the high speed buffer memory used in the present invention.

第4図の実施例では、スタツク・ポインタ・レジスタ4
のブロック番号の下位桁によって、スタック・ポインタ
・レジスタ4で定められるブロックに割当てられるブロ
ック城B1,B2,B3が一義的に定められるものであ
る。データのポップ・アップを行う場合、スタック・ポ
インタ・レジスタ4におけるブロック番号の下位桁によ
ってタグ部6が謙出され、タグ部4から謙出されたデー
タとスタック・ポィンタ・レジスタ4のスタツク番号、
ブロック番号とが一致すれば、一致回路8は「1」のF
OUND信号を出力する。
In the embodiment of FIG. 4, stack pointer register 4
The block castles B1, B2, and B3 allocated to the block defined by the stack pointer register 4 are uniquely determined by the lower digits of the block number. When pop-up of data is performed, the tag part 6 is extracted by the lower digit of the block number in the stack pointer register 4, and the data extracted from the tag part 4 and the stack number of the stack pointer register 4,
If the block numbers match, the matching circuit 8
Outputs the OUND signal.

データ部5のブロック域BIないしB3は、スタツク・
ボインタ・レジスタ4のブロック内アドレスでアクセス
され謙出されたデータはセレクタ7に入力される。セレ
クタ7は、スタツク・ボィンタ・レジスタ4のブロック
番号の下位桁に基づいて1個の読出データを選択して出
力する。FOUND信号が「1」のときには、セレクタ
7から出力される議出しデータは有効なものとされ、要
求元へ送られる。FOUND信号が「0」の場合にはス
タック・ポインタ・レジスタ4のブロック番号の下位桁
で定まるブロック城Bi(iは1、2、3のいずれか)
の有効表示フラグVを調べ、有効表示フラグVが「1」
のときには、ブロック城Biのデータ・ブロックを低速
メモリ・スタックに移し、移し終ったあとスタック・ポ
インタ・レジスタ4で定められるデータ・ブロックを低
速メモリ・スタックから議出してブロック城Biに格納
する。ブロック域Biの有効表示フラグVが「0」のと
きには、スタツク・ポインタ・レジスタ4で定められる
データ・ブロックを低速メモリ・スタックから議出して
ブロック域Biに格納する。プッシュ・ダウンの場合に
は、先ずタグ部6がサーチされ、タグ部6の中にスタツ
ク・ポインタ・レジスタ4のスタツク番号、ブロック番
号と一致するものが存在し、FOUND信号が「1」の
場合にはスタツク・ポインタ・レジスタ4のブロック番
号の下位桁で定まるブロック城Biにデー夕が書込まれ
る。
Block areas BI to B3 of the data section 5 are stack
Data accessed and retrieved using the intra-block address of the pointer register 4 is input to the selector 7. The selector 7 selects and outputs one piece of read data based on the lower digit of the block number of the stack pointer register 4. When the FOUND signal is "1", the proposal data output from the selector 7 is considered valid and is sent to the request source. When the FOUND signal is "0", the block castle Bi determined by the lower digits of the block number of stack pointer register 4 (i is either 1, 2, or 3)
Check the valid display flag V of , and find that the valid display flag V is "1"
When , the data block of the block Bi is moved to the low-speed memory stack, and after the transfer is completed, the data block specified by the stack pointer register 4 is taken out from the low-speed memory stack and stored in the block Bi. When the valid display flag V of the block area Bi is "0", the data block defined by the stack pointer register 4 is retrieved from the low-speed memory stack and stored in the block area Bi. In the case of push down, the tag section 6 is first searched, and if there is a tag in the tag section 6 that matches the stack number and block number of the stack pointer register 4, and the FOUND signal is "1". Data is written to the block location Bi determined by the lower digits of the block number of the stack pointer register 4.

FOUND信号が「0」のときには「ブロック城Biの
有効表示フラグVを調べる。有効表示フラグVが「1」
のときには、ブロック域Biのデータ。ブロックを低速
メモリ・スタックに移し終えた後にブロック城Biをク
リアし「低速メモリ・スタツクから読出したデータ・ブ
ロックをブロック城Biに格納し、管理情報ェントリE
iに新しい管理情報を登録して処理を進める。ブロック
城Biの有効表示フラグVが「0」の場合には、ブロッ
ク城Biをクリアし、低速メモリ・スタックから議出し
たデータ・ブロックをブロック城Biに格納し、管理情
報ェントリEiに新しい管理情報を登録して処理を進め
る。上述の制御方式では、高速バッファ。メモリに所望
のブロックが存在しない場合、低速メモリ・スタツクか
らデータ・ブ。ツクを議出して高速バッファに書込んで
いるが、このような制御方法では、空のデータ・ブロッ
クを高速バッファ・メモリに格納するという無駄な処理
を行う場合がある。例えば、低速メモリ・スタック3−
1の第1番目のブロックに対してブロック域を割当てプ
ッシュ・ダウン処理を行っている場合、スタツク内アド
レスがブロック境界を越えると、上述の制御方法では低
速メモリ・スタック3一1の第2番目のブロック城から
データ・ブロックを読出して高速バッファ・メモリに格
納する。低速メモリ・スタック3一1の第2番目のブロ
ック域は空であるので、低速メモリ・スタック3−1か
ら高速バッファ・メモリ1へのデータ転送は全く無駄で
ある。このような無駄な処理をなくすためには、次のよ
うな制御を行えば良い。いま、低速メモリ・スタックの
第2番目のブロックに対してブロック域B2が割当てら
れたと仮定する。ブロック域B2が選択されたあと、ブ
ロック域B2の有効表示フラグVを調べ、この有効表示
フラグVが「1」であれば、ブロック城B2のデータ・
ブロックを対応する低速メモリ・スタツクに移し、ブロ
ック城B2をクリアし、しかる後に低速メモリ・スタツ
ク3−1の第2番目のブロックの管理情報を管理情報ェ
ントリE2に登録する。ブロック城B2の有効表示フラ
グVが「01の場合には、ブロック域B2をクリアし、
低速メモリ・スタツク3一1の第2番目のブロックの管
理情報を管理情報ェントリE2に登録する。また、第3
図および第4図の実施例ではプッシュ・ダウンもしくは
ポップ・アップが行なわれる度に、タグ部6が参照され
るが、第1回目のプッシュ・ダウンもしくはポップ・ア
ップ時およびアドレスがブロック境界を越える時にのみ
タグ部を参照するようにしても良い。
When the FOUND signal is "0", check the valid display flag V of block castle Bi.The valid display flag V is "1".
When , data in block area Bi. After moving the block to the low-speed memory stack, clear the block Bi, store the data block read from the low-speed memory stack in the block Bi, and enter the management information entry E.
Register new management information in i and proceed with the process. When the valid display flag V of the block castle Bi is "0", the block castle Bi is cleared, the data block retrieved from the low-speed memory stack is stored in the block castle Bi, and a new management information entry Ei is written. Register your information and proceed with the process. In the control scheme described above, a fast buffer. If the desired block is not present in memory, the data block is removed from the slow memory stack. However, such a control method may wastefully store empty data blocks in the high speed buffer memory. For example, slow memory stack 3-
When a block area is allocated and push down processing is performed for the first block of 1, if the address in the stack crosses the block boundary, the above control method A block of data is read from the block castle and stored in a high speed buffer memory. Since the second block area of the slow memory stack 3-1 is empty, the data transfer from the slow memory stack 3-1 to the fast buffer memory 1 is completely wasteful. In order to eliminate such wasteful processing, the following control may be performed. Assume now that block area B2 has been allocated for the second block of the slow memory stack. After block area B2 is selected, check the valid display flag V of block area B2, and if this valid display flag V is "1", the data of block castle B2
The block is moved to the corresponding low-speed memory stack, the block castle B2 is cleared, and the management information of the second block of the low-speed memory stack 3-1 is then registered in the management information entry E2. If the valid display flag V of block castle B2 is "01," clear the block area B2,
The management information of the second block of the low-speed memory stack 3-1 is registered in the management information entry E2. Also, the third
In the embodiments shown in FIG. 4 and FIG. 4, the tag section 6 is referenced every time a push down or pop up is performed. The tag part may be referenced only occasionally.

以上の説明から明らかなように、本発明のスタック・メ
モリ装置は、1個の高速バッファ・メモリの複数の低速
スタック・メモリとから構成されているので、高速処理
が可能であり、しかも低コストであるという利点を有し
ている。
As is clear from the above description, the stack memory device of the present invention is composed of one high-speed buffer memory and a plurality of low-speed stack memories, so that high-speed processing is possible and the cost is low. It has the advantage of being

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は従釆のスタック・メモリ装置の概要を示す図、
第2図は本発明のスタック・メモリ装置の概要を示す図
、第3図は本発明で使用される高速バッファ・メモリの
第1実施例のブロック図、第4図は本発明で使用される
高速バッファ・メモリの第2実施例のブロック図である
。 3一1ないし3一n……スタツク内アドレス保持レジス
タ、4……スタツク・ポインタ・レジスタ、BIないし
B3・…・・高速バッファ・メモリ1内のブロック域、
EIないしE3・・・・・・管理情報ェントリ、V・・
・・・・有効表示フラグ、STKN○・・・・・・スタ
ツク識別番号、BLKN○・・・・・・フロツク識別番
号、5……データ部、6……タグ部、7……セレクタ部
、8−1なし、し8一3・・・・・・比較回路、9・・
・・・・OR回路。 次 ー 区a 外z図 」オ3図 次4図
FIG. 1 is a diagram showing an overview of a subordinate stack memory device;
FIG. 2 is a diagram showing an overview of the stacked memory device of the present invention, FIG. 3 is a block diagram of a first embodiment of the high-speed buffer memory used in the present invention, and FIG. 4 is a diagram showing the first embodiment of the high-speed buffer memory used in the present invention. FIG. 3 is a block diagram of a second embodiment of a high speed buffer memory. 3-1 to 31n...Internal address holding register, 4...Stack pointer register, BI to B3...Block area in high-speed buffer memory 1,
EI or E3... Management information entry, V...
...Valid display flag, STKN○...Stack identification number, BLKN○...Flock identification number, 5...Data section, 6...Tag section, 7...Selector section, 8-1 None, 8-3... Comparison circuit, 9...
...OR circuit. Next - ward a outside z figure'' o 3 figure next 4 figure

Claims (1)

【特許請求の範囲】[Claims] 1 それぞれが複数のプロセスのそれぞれに対応する複
数の低速メモリ・スタツク並びに複数のブロツク域を有
し、且つ複数のプロセスによって共用される高速バツフ
ア・メモリを備え、上記各低速メモリ・スタツクと上記
高速バツフア・メモリとの間のデータ転送がブロツク単
位で行われるスタツク・メモリ装置であって、アクセス
すべきスタツクの番号およびスタツク内アドレスが格納
されるスタツク・ポインタレジスタ、上記高速バツフア
・メモリのブロツク域ごとに当該ブロツク域のデータが
有効か否かを示す有効表示フラグ、いずれのスタツクに
割当てられているかを示すスタツク番号およびスタツク
内のいずれのブロツクに割当てられているかを示すブロ
ツク番号が格納されるタグ機構、並びに上記スタツク・
ポインタ・レジスタ内のスタツク番号およびスタツク内
アドレスの上位桁で指定されるブロツク番号が上記タグ
機構内に登録されているか否かを検出する検出機構とを
備え、上記検出機構が登録されていなかったことを示す
信号を出力した場合には、リプレイスすべきブロツク域
を選択し、対応する有効フラグがオンであることを条件
として選択されたブロツク域のデータを該当する低速メ
モリ・スタツクに転送すると共に、選択されたブロツク
域の内容を、上記スタツク・ポインタのスタツク番号お
よびブロツク番号で特定される低速メモリ・スタツクの
ブロツク域の内容と等しくなるように構成されたことを
特徴とするスタツク・メモリ装置。
1 each having a plurality of low-speed memory stacks and a plurality of block areas corresponding to each of the plurality of processes, and comprising a high-speed buffer memory shared by the plurality of processes, each of the above-mentioned low-speed memory stacks and the above-mentioned high-speed buffer memory A stack memory device in which data is transferred to and from a buffer memory in units of blocks, including a stack pointer register in which the number of the stack to be accessed and an address within the stack are stored, and a block area of the high-speed buffer memory. For each block area, a valid display flag indicating whether the data in the block area is valid or not, a stack number indicating which stack it is assigned to, and a block number indicating which block within the stack it is assigned to are stored. The tag mechanism and the above stack
and a detection mechanism for detecting whether or not the stack number in the pointer register and the block number specified by the upper digits of the stack address are registered in the tag mechanism, and the detection mechanism is not registered. If a signal indicating this is output, the block area to be replaced is selected, and the data in the selected block area is transferred to the corresponding low-speed memory stack, provided that the corresponding valid flag is on. , a stack memory device configured such that the content of the selected block area is equal to the content of the block area of the low-speed memory stack specified by the stack number of the stack pointer and the block number. .
JP55182197A 1980-12-22 1980-12-22 stack memory device Expired JPS6012658B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP55182197A JPS6012658B2 (en) 1980-12-22 1980-12-22 stack memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP55182197A JPS6012658B2 (en) 1980-12-22 1980-12-22 stack memory device

Publications (2)

Publication Number Publication Date
JPS57105877A JPS57105877A (en) 1982-07-01
JPS6012658B2 true JPS6012658B2 (en) 1985-04-02

Family

ID=16114039

Family Applications (1)

Application Number Title Priority Date Filing Date
JP55182197A Expired JPS6012658B2 (en) 1980-12-22 1980-12-22 stack memory device

Country Status (1)

Country Link
JP (1) JPS6012658B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58103043A (en) * 1981-12-15 1983-06-18 Matsushita Electric Ind Co Ltd Stack forming method
JPS608961A (en) * 1983-06-29 1985-01-17 Fujitsu Ltd Pointer circuit
JPS6160153A (en) * 1984-08-31 1986-03-27 Fujitsu Ltd Access system for buffer memory
JPS62267835A (en) * 1986-05-15 1987-11-20 Fujitsu Ltd Control system for allocation of physical block
US20070282928A1 (en) * 2006-06-06 2007-12-06 Guofang Jiao Processor core stack extension

Also Published As

Publication number Publication date
JPS57105877A (en) 1982-07-01

Similar Documents

Publication Publication Date Title
US5226133A (en) Two-level translation look-aside buffer using partial addresses for enhanced speed
US4493026A (en) Set associative sector cache
EP0179811B1 (en) Interleaved set-associative memory
US3740723A (en) Integral hierarchical binary storage element
US6848023B2 (en) Cache directory configuration method and information processing device
EP0708404A2 (en) Interleaved data cache array having multiple content addressable fields per cache line
CN115168248A (en) Cache memory supporting SIMT architecture and corresponding processor
US20050268028A1 (en) Programmable parallel lookup memory
AU612515B2 (en) Data processing apparatus
US5761714A (en) Single-cycle multi-accessible interleaved cache
JPS6111865A (en) Memory access control method
JPH0532775B2 (en)
US5749087A (en) Method and apparatus for maintaining n-way associative directories utilizing a content addressable memory
EP0706132A2 (en) Method and system for miss sequence handling in a data cache array having multiple content addressable fields per cache line
JPS60124754A (en) Buffer storage control system
JPS6012658B2 (en) stack memory device
CN108519858A (en) Storage chip hardware hits method
US4424564A (en) Data processing system providing dual storage of reference bits
JP3006204B2 (en) Information processing device
JPS60701B2 (en) data processing equipment
JPS60163147A (en) Replacement system
KR920005296B1 (en) Information processing device
JP2636485B2 (en) Cache storage
JPS5922315B2 (en) Buffer memory control method
JP2001051898A (en) Hierarchical cache memory data reference method, and data processing apparatus including hierarchical cache memory