JPH01251248A - スタックデータ構造用キャッシュ制御方式 - Google Patents
スタックデータ構造用キャッシュ制御方式Info
- Publication number
- JPH01251248A JPH01251248A JP63078837A JP7883788A JPH01251248A JP H01251248 A JPH01251248 A JP H01251248A JP 63078837 A JP63078837 A JP 63078837A JP 7883788 A JP7883788 A JP 7883788A JP H01251248 A JPH01251248 A JP H01251248A
- Authority
- JP
- Japan
- Prior art keywords
- stack
- block
- memory
- valid
- 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.)
- Pending
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
、[発明の目的]
(産業上の利用分野)
この発明は、主記憶に確保されたスタックを直接アクセ
スすることなくスタックアクセスが実現可能なタックデ
ータ構造用キャッシュメモリ制御方式に関する。
スすることなくスタックアクセスが実現可能なタックデ
ータ構造用キャッシュメモリ制御方式に関する。
(従来の技術)
主記憶内に確保したスタックを利用する情報処理装置で
は、通常のメモリスペースとスタック用のメモリスペー
スとを区別せず、したがってキャッシュメモリも共通に
使用するのが一般的である。このような情報処理装置に
おけるキャッシュメモリの構成には、離散的なメモリア
クセスに対してヒツト率の高い連想記憶方式を用い、マ
ルチプロセッサ、入出力等を考慮してライトスル一方式
(即ち書込み時には主記憶にも書込みを行ってキャッシ
ュメモリの書込み内容と主メモリの対応領域の内容とを
一致させる方式)が適用される。
は、通常のメモリスペースとスタック用のメモリスペー
スとを区別せず、したがってキャッシュメモリも共通に
使用するのが一般的である。このような情報処理装置に
おけるキャッシュメモリの構成には、離散的なメモリア
クセスに対してヒツト率の高い連想記憶方式を用い、マ
ルチプロセッサ、入出力等を考慮してライトスル一方式
(即ち書込み時には主記憶にも書込みを行ってキャッシ
ュメモリの書込み内容と主メモリの対応領域の内容とを
一致させる方式)が適用される。
一方、スタックに対するメモリアクセスには、−度書込
んだデータはその直後に読出されることが多いという特
徴がある。このため、スタックアクセスにおいて通常メ
モリアクセスと共通のキャッシュメモリを用いる従来方
式では、上記ライトスル一方式による主記憶書込みのバ
スサイクル終了まで次の読出しアクセスが行えず、性能
が低下する問題があった。また、スタックアクセスでキ
ャッシュメモリに格納されたデータが、通常メモリアク
セスでキャッシュメモリから追出され、ヒツト率が低下
する問題もあった。
んだデータはその直後に読出されることが多いという特
徴がある。このため、スタックアクセスにおいて通常メ
モリアクセスと共通のキャッシュメモリを用いる従来方
式では、上記ライトスル一方式による主記憶書込みのバ
スサイクル終了まで次の読出しアクセスが行えず、性能
が低下する問題があった。また、スタックアクセスでキ
ャッシュメモリに格納されたデータが、通常メモリアク
セスでキャッシュメモリから追出され、ヒツト率が低下
する問題もあった。
(発明が解決しようとする課8)
上記したように従来は、スタックアクセスにおいても通
常のメモリアクセスと同様に共通のキャッシュメモリを
利用していたため、キャツシュヒツト率の低下、更には
スタックアクセスのオーバヘッドの増加等を招く問題が
あった。
常のメモリアクセスと同様に共通のキャッシュメモリを
利用していたため、キャツシュヒツト率の低下、更には
スタックアクセスのオーバヘッドの増加等を招く問題が
あった。
したがってこの発明は、スタックアクセスの特徴を最大
限生かすことが可能な新規なスタックデータ構造専用の
キャッシュメモリ(ブロックメモリ)により通常最も頻
繁に発生するスタックアクセスの高速化が図れるように
することを解決すべき課題とする。
限生かすことが可能な新規なスタックデータ構造専用の
キャッシュメモリ(ブロックメモリ)により通常最も頻
繁に発生するスタックアクセスの高速化が図れるように
することを解決すべき課題とする。
〔発明の構成]
(課題を解決するための手段)
この発明は、主記憶に確保されたスタックのスタックフ
レームと対応付けられる複数ブロックから成る循環バッ
ファ方式のブロックメモリをスタックデータ構造専用の
キャッシュメモリとして設け、スタック書込み要求され
た場合にはブロックメモリ内の最新の有効ブロックの次
のブロックを対象にデータ書込みを行い、この書込みに
よりブロックメモリ内の有効ブロック数が第1の所定数
に達した場合にはブロックメモリ内の最も古い有効ブロ
ックのデータをスタックに転送し、スタック読出しが要
求された場合にはブロックメモリ内の最新の有効ブロッ
クを対象にデータ読出しを行い、この読出しによってブ
ロックメモリ内の有効ブロック数が第2の所定数を下回
り、且つスタックに有効スタックフレームが存在する場
合には、最新の有効スタックフレームの内容をブロック
メモリ内の最も古い有効ブロックの直前のブロックに転
送するようにしたことを特徴とする。
レームと対応付けられる複数ブロックから成る循環バッ
ファ方式のブロックメモリをスタックデータ構造専用の
キャッシュメモリとして設け、スタック書込み要求され
た場合にはブロックメモリ内の最新の有効ブロックの次
のブロックを対象にデータ書込みを行い、この書込みに
よりブロックメモリ内の有効ブロック数が第1の所定数
に達した場合にはブロックメモリ内の最も古い有効ブロ
ックのデータをスタックに転送し、スタック読出しが要
求された場合にはブロックメモリ内の最新の有効ブロッ
クを対象にデータ読出しを行い、この読出しによってブ
ロックメモリ内の有効ブロック数が第2の所定数を下回
り、且つスタックに有効スタックフレームが存在する場
合には、最新の有効スタックフレームの内容をブロック
メモリ内の最も古い有効ブロックの直前のブロックに転
送するようにしたことを特徴とする。
(作用)
スタックに対するメモリアクセスには、前記した
■−度書込んだデータはその直後に読出されることが多
い。
い。
という特徴の他に、
■スタックポインタの指すアドレス近傍にアクセスが集
中する。
中する。
■書込み時には何ワードかまとめて書込み、その書込み
タイミングをさほど気にしない。即ち、ライトスル一方
式を適用する必要がない。
タイミングをさほど気にしない。即ち、ライトスル一方
式を適用する必要がない。
という特徴がある。上記の構成は、この特徴を利用した
もので、新しい有効ブロックはど先に読出すことが可能
な構造となっており、−度ブロックメモリに書込んだ後
は必ず同ブロックメモリから高速に読出すことができる
。また、主記憶への追出しは最も古い有効ブロックから
行われるので、このブロックのデータの転送中に同デー
タを参照するスタックアクセスが発生する虞は(上記■
。
もので、新しい有効ブロックはど先に読出すことが可能
な構造となっており、−度ブロックメモリに書込んだ後
は必ず同ブロックメモリから高速に読出すことができる
。また、主記憶への追出しは最も古い有効ブロックから
行われるので、このブロックのデータの転送中に同デー
タを参照するスタックアクセスが発生する虞は(上記■
。
■のスタックアクセスの特徴から明らかなように)なく
、したがって上記ブロック転送をバスの空き時間を利用
してタイミングを気にせずに行うことができ、スタック
アクセス(特に書込み直後の読出しアクセス)のオーバ
ヘッドを低下することができる。
、したがって上記ブロック転送をバスの空き時間を利用
してタイミングを気にせずに行うことができ、スタック
アクセス(特に書込み直後の読出しアクセス)のオーバ
ヘッドを低下することができる。
(実施例)
第1図はこの発明を適用する情報処理装置のこの発明に
直接関係する部分の一実施例を示すブロック構成図であ
る。同図において、10はCPU。
直接関係する部分の一実施例を示すブロック構成図であ
る。同図において、10はCPU。
20は各種プログラムデータ等が格納される主記憶であ
る。この主記憶20には、レジスタ退避等に供されるス
タック(スタック領域)21が必要に応じて確保される
。CPUl0には、スタック21等を管理するためのス
タック管理機構11.およびスタック21のスタックフ
レームと対応付けられる複数ブロックから成る循環バッ
ファ方式のブロックメモリ(以下、BMと称する)12
が設けられる。8M12はスタックデータ構造専用のキ
ャッシュメモリとして設けられたもので、スタックに格
納すべきデータを同スタックに代えて格納するように構
成される。
る。この主記憶20には、レジスタ退避等に供されるス
タック(スタック領域)21が必要に応じて確保される
。CPUl0には、スタック21等を管理するためのス
タック管理機構11.およびスタック21のスタックフ
レームと対応付けられる複数ブロックから成る循環バッ
ファ方式のブロックメモリ(以下、BMと称する)12
が設けられる。8M12はスタックデータ構造専用のキ
ャッシュメモリとして設けられたもので、スタックに格
納すべきデータを同スタックに代えて格納するように構
成される。
スタック管理機構11には、スタック書込み要求に対し
てスタック21に代えて書込むべき8M12内ブロツク
(の位置)を指定するためのブロックメモリポインタB
MPを設定するブロックメモリポインタレジスタ(以下
、BMPレジスタと称する) 13と、8M12が存在
しない(従来例の)場合であればスタック書込み要求に
対する書込み先となるスタック21内スタツクフレーム
(の位置)を指定するための周知のスタックポインタS
PIを設定するスタックポインタレジスタ(以下、SP
I レジスタと称する)14と、スタックポインタSP
2を設定するスタックポインタレジスタ(以下、SP2
レジスタと称する)15とが設けられる。このスタック
ポインタSP2は、8M12において有効なデータが格
納されている最も古いブロック(最も古い有効ブロック
)をスタック21に追出す際の追出し先(スタック21
内スタツクフレーム)を指定するのに用いられる。ここ
で、ブロックメモリポインタBMPの初期値は8M12
の先頭ブロックを示ず0、スタックポインタspi。
てスタック21に代えて書込むべき8M12内ブロツク
(の位置)を指定するためのブロックメモリポインタB
MPを設定するブロックメモリポインタレジスタ(以下
、BMPレジスタと称する) 13と、8M12が存在
しない(従来例の)場合であればスタック書込み要求に
対する書込み先となるスタック21内スタツクフレーム
(の位置)を指定するための周知のスタックポインタS
PIを設定するスタックポインタレジスタ(以下、SP
I レジスタと称する)14と、スタックポインタSP
2を設定するスタックポインタレジスタ(以下、SP2
レジスタと称する)15とが設けられる。このスタック
ポインタSP2は、8M12において有効なデータが格
納されている最も古いブロック(最も古い有効ブロック
)をスタック21に追出す際の追出し先(スタック21
内スタツクフレーム)を指定するのに用いられる。ここ
で、ブロックメモリポインタBMPの初期値は8M12
の先頭ブロックを示ず0、スタックポインタspi。
SF3の初期値は上記ta20内スタック21の先頭ス
タックフレームを示すSPorgである。なお、8M1
2内ブロツクおよびスタック21内スタツクフレームは
複数エントリから構成されており、したがってそのエン
トリを指定するためには、オフセット(オフセットアド
レス)も必要であるが、ブロック(スタックフレーム)
を指定する情報とオフセットにより目的エントリをアク
セスする技術は周知であることから、オフセットについ
ては説明を省略する。
タックフレームを示すSPorgである。なお、8M1
2内ブロツクおよびスタック21内スタツクフレームは
複数エントリから構成されており、したがってそのエン
トリを指定するためには、オフセット(オフセットアド
レス)も必要であるが、ブロック(スタックフレーム)
を指定する情報とオフセットにより目的エントリをアク
セスする技術は周知であることから、オフセットについ
ては説明を省略する。
次に、第1図の構成の動作を第2図のフローチャートを
参照して説明する。まず、CPUl0においてスタック
アクセス要求(命令)が発せられると、スタック管理機
構11は同要求が(スタック21への)書込み要求であ
るか否(読出し要求である)かを調べ(ステップS1)
、書込み要求であればBMPレジスタ13に設定されて
いるブロックメモリポインタBMPの指すBML2内ブ
ロツブロックとして、従来であればスタック21へ格納
すべきデータの書込みを行う(ステップS2)。ここで
はSPI レジスタ14に設定されているスタックポイ
ンタSPIの指すスタック21内スタツクフレームへの
書込みが行われないことに注意されたい。
参照して説明する。まず、CPUl0においてスタック
アクセス要求(命令)が発せられると、スタック管理機
構11は同要求が(スタック21への)書込み要求であ
るか否(読出し要求である)かを調べ(ステップS1)
、書込み要求であればBMPレジスタ13に設定されて
いるブロックメモリポインタBMPの指すBML2内ブ
ロツブロックとして、従来であればスタック21へ格納
すべきデータの書込みを行う(ステップS2)。ここで
はSPI レジスタ14に設定されているスタックポイ
ンタSPIの指すスタック21内スタツクフレームへの
書込みが行われないことに注意されたい。
スタック管理機構11は、ステップS2を終了するとB
MPレジスタ13のブロックメモリポインタBMPを次
のブロックを指定するように進め、SPI レジスタ1
4のスタックポインタSP1を次のスタックフレームを
指定するように進める(ステップ83〜S6)。ここで
、上記した“次のブロック“とは、現BMPが8M12
内最終ブロツクを指すBMPmaxに一致していなけれ
ばBMP 十1で示されるブロックであり、B M P
l1axに一致しているならば0で示されるブロック
(先頭ブロック)である。即ち、8M12は、循環バッ
ファ方式で用いられる。明らかなように、ステップs3
〜S6実行後のポインタBMPの指定するスタック管理
機構ll内ブロックの直前のブロックは、最新の有効ブ
ロックとなっている。
MPレジスタ13のブロックメモリポインタBMPを次
のブロックを指定するように進め、SPI レジスタ1
4のスタックポインタSP1を次のスタックフレームを
指定するように進める(ステップ83〜S6)。ここで
、上記した“次のブロック“とは、現BMPが8M12
内最終ブロツクを指すBMPmaxに一致していなけれ
ばBMP 十1で示されるブロックであり、B M P
l1axに一致しているならば0で示されるブロック
(先頭ブロック)である。即ち、8M12は、循環バッ
ファ方式で用いられる。明らかなように、ステップs3
〜S6実行後のポインタBMPの指定するスタック管理
機構ll内ブロックの直前のブロックは、最新の有効ブ
ロックとなっている。
スタック管理機構11は、ステップ83〜s6を終了す
ると、8M12内の有効ブロック数が第1の所定数(例
えば8M12が持つブロック数)に達したか否かをSP
Iレジスタ14のスタックポインタSPIをもとに(例
えばSPIがSPorg+B M P a+axより大
きいか否かにより)判定する(ステップS7)。もしス
テップS7の判定がYESであれば(ここでは、8M1
2がFULL状態になったことが判定されたならば)、
スタック管理機構11は空きブロック(無効ブロック)
を確保する(ここではBMPの指す8M12内ブロツク
を空きブロックとする)ために、BMPレジスタ13の
ブロックメモリポインタBMPの指す8M12内ブロツ
クの内容をSP2レジスタ15のスタックポインタSP
2の示すスタック21内スタツクフレームへ転送し、し
かる後にスタックポインタSP2を次のスタックフレー
ムを指すように進めてスタックアクセス(書込み)要求
に対する処理を終了する(ステップS8.39)。これ
に対して、ステップS7の判定がNOであれば(ここで
は、8M12がFULL状態になければ)、スタック管
理機構11はそのままスタックアクセス(書込み)要求
に対する処理を終了する。なおSF3>SPOrg場合
には、S Porg −8P2−1で示される各スタッ
クフレームが有効スタックフレームとなっていることは
明らかである。
ると、8M12内の有効ブロック数が第1の所定数(例
えば8M12が持つブロック数)に達したか否かをSP
Iレジスタ14のスタックポインタSPIをもとに(例
えばSPIがSPorg+B M P a+axより大
きいか否かにより)判定する(ステップS7)。もしス
テップS7の判定がYESであれば(ここでは、8M1
2がFULL状態になったことが判定されたならば)、
スタック管理機構11は空きブロック(無効ブロック)
を確保する(ここではBMPの指す8M12内ブロツク
を空きブロックとする)ために、BMPレジスタ13の
ブロックメモリポインタBMPの指す8M12内ブロツ
クの内容をSP2レジスタ15のスタックポインタSP
2の示すスタック21内スタツクフレームへ転送し、し
かる後にスタックポインタSP2を次のスタックフレー
ムを指すように進めてスタックアクセス(書込み)要求
に対する処理を終了する(ステップS8.39)。これ
に対して、ステップS7の判定がNOであれば(ここで
は、8M12がFULL状態になければ)、スタック管
理機構11はそのままスタックアクセス(書込み)要求
に対する処理を終了する。なおSF3>SPOrg場合
には、S Porg −8P2−1で示される各スタッ
クフレームが有効スタックフレームとなっていることは
明らかである。
次に、スタックアクセス要求が(スタック21からの)
読出し要求である場合について説明する。
読出し要求である場合について説明する。
この場合、スタック管理機構11はSPIレジスタ14
のスタックポインタSPIを直前のスタックフレームを
指定するように戻し、且つBMPレジスタ13のブロッ
クメモリポインタBMPを旧BMP(ポインタBMPo
ld)として内部保持する(ステップSIO,5ll)
。次にスタック管理機構11は、BMPレジスタ13の
ポインタBMPを直前のブロックを指定するように戻し
くステップS12〜514)、このブロック(即ち、最
新の有効ブロック)からの(従来であればキャッシュメ
モリまたはスタック21から読出すべき)データの読出
しを行う(ステップ515)。なお、上記した“直前の
ブロック″とは、ステップ812〜S14実行前のBM
P (BMPold )がBML2内先頭ブロックを指
す0に一致していなければBMP−1で示されるブロッ
クであ、す、一致しているならばB M P IaXで
示されるブロック(最終ブロック)である。
のスタックポインタSPIを直前のスタックフレームを
指定するように戻し、且つBMPレジスタ13のブロッ
クメモリポインタBMPを旧BMP(ポインタBMPo
ld)として内部保持する(ステップSIO,5ll)
。次にスタック管理機構11は、BMPレジスタ13の
ポインタBMPを直前のブロックを指定するように戻し
くステップS12〜514)、このブロック(即ち、最
新の有効ブロック)からの(従来であればキャッシュメ
モリまたはスタック21から読出すべき)データの読出
しを行う(ステップ515)。なお、上記した“直前の
ブロック″とは、ステップ812〜S14実行前のBM
P (BMPold )がBML2内先頭ブロックを指
す0に一致していなければBMP−1で示されるブロッ
クであ、す、一致しているならばB M P IaXで
示されるブロック(最終ブロック)である。
スタック管理機構11は、ステップS15を終了す゛る
と、8M12内の有効ブロック数が第2の所定数を下回
り、且つスタック2■に有効スタックフレームが存在す
るか否かを判定する。ここでは、上記の第2の所定数は
8M12が持つブロック数であり、したがってステップ
315を行えば必ず第2の所定数を下回ることから、こ
の点に関する判定は不要である。そこでここでは、上記
2種の判定のうち、スタック21に有効スタックフレー
ムが存在するか否かの判定だけが、例えばSP2レジス
タ15のスタックポインタSP2がSPorgより大き
いか否かをもとに行われる(ステップ816)。もし、
SF3がSPorgより大きい場合、即ちスタック21
に有効スタックフレームが存在する場合、スタック管理
機構11はスタック21内の最新の有効スタックフレー
ムを指定するためにSP2レジスタ15のスタックポイ
ンタSP2を戻した後、この新たなSF3の指すスタッ
ク2■内のスタックフレーム(最新の有効スタックフレ
ーム)の内容をステップSllで内部保持しておいたB
M P old (旧BMP)の指す8M12内ブ
ロツクへ転送し、スタックアクセス(読出し)要求に対
する処理を終了する(ステップS 17. S 18
)。これに対して、ステップS1Bの判定がNoであれ
ば(スタック21に有効なスタックフレームが存在しな
ければ)、スタック管理機構11はそのままスタックア
クセス(読出し)要求に対する処理を終了する。
と、8M12内の有効ブロック数が第2の所定数を下回
り、且つスタック2■に有効スタックフレームが存在す
るか否かを判定する。ここでは、上記の第2の所定数は
8M12が持つブロック数であり、したがってステップ
315を行えば必ず第2の所定数を下回ることから、こ
の点に関する判定は不要である。そこでここでは、上記
2種の判定のうち、スタック21に有効スタックフレー
ムが存在するか否かの判定だけが、例えばSP2レジス
タ15のスタックポインタSP2がSPorgより大き
いか否かをもとに行われる(ステップ816)。もし、
SF3がSPorgより大きい場合、即ちスタック21
に有効スタックフレームが存在する場合、スタック管理
機構11はスタック21内の最新の有効スタックフレー
ムを指定するためにSP2レジスタ15のスタックポイ
ンタSP2を戻した後、この新たなSF3の指すスタッ
ク2■内のスタックフレーム(最新の有効スタックフレ
ーム)の内容をステップSllで内部保持しておいたB
M P old (旧BMP)の指す8M12内ブ
ロツクへ転送し、スタックアクセス(読出し)要求に対
する処理を終了する(ステップS 17. S 18
)。これに対して、ステップS1Bの判定がNoであれ
ば(スタック21に有効なスタックフレームが存在しな
ければ)、スタック管理機構11はそのままスタックア
クセス(読出し)要求に対する処理を終了する。
以上は、1つのスタックアクセス要求を実行する毎にス
タックポインタSPI、 ブロックメモリポインタB
MPが更新される場合について説明したが、ローカル変
数処理などのように1つのスタックフレームを対象とし
て書込み/読出しが繰返される場合にも、応用できる。
タックポインタSPI、 ブロックメモリポインタB
MPが更新される場合について説明したが、ローカル変
数処理などのように1つのスタックフレームを対象とし
て書込み/読出しが繰返される場合にも、応用できる。
また、前記実施例では、前記のスタック管理に用いられ
るスタックポインタSPIの他に、スタックポインタS
P2およびブロックメモリポインタBMPを設けて、ス
タックデータ構造専用のキャッシュメモリ制御を行うも
のとして説明したが、SF3゜BMPを用意しなくても
SF3.BMPに要求される機能はSPlと8M12の
ブロック数をもとに実現することは可能である。
るスタックポインタSPIの他に、スタックポインタS
P2およびブロックメモリポインタBMPを設けて、ス
タックデータ構造専用のキャッシュメモリ制御を行うも
のとして説明したが、SF3゜BMPを用意しなくても
SF3.BMPに要求される機能はSPlと8M12の
ブロック数をもとに実現することは可能である。
[発明の効果]
以上詳述したようにこの発明によれば、次に列挙する作
用効果を奏することができる。
用効果を奏することができる。
■ スタックアクセスの特徴を最大限生かすことが可能
な新規なスタックデータ構造専用のギャッシュメモリ(
ブロックメモリ)を対象としてスタックアクセスが行わ
れるため、処理速度が向上する。
な新規なスタックデータ構造専用のギャッシュメモリ(
ブロックメモリ)を対象としてスタックアクセスが行わ
れるため、処理速度が向上する。
■ スタック書込みアクセスにおいて、主記憶への書込
みのためのバスアクセスが生じないため、特にスタック
書込みアクセスの直後にスタック読出しアクセスを行お
うとした場合のオーバヘッドが解消される。
みのためのバスアクセスが生じないため、特にスタック
書込みアクセスの直後にスタック読出しアクセスを行お
うとした場合のオーバヘッドが解消される。
■ ブロックメモリから主記憶への転送(追出し)対象
となるブロックは、その時点で最も古い有効ブロックで
あるため、このブロックのデータの転送中に同データを
参照するためのスタ・ツクアクセスが発生ずる虞はなく
、シたがって上記の転送はバスの空き時間に行えばよく
、この転送に起因するメモリアクセスのオーバヘッドは
殆どない。
となるブロックは、その時点で最も古い有効ブロックで
あるため、このブロックのデータの転送中に同データを
参照するためのスタ・ツクアクセスが発生ずる虞はなく
、シたがって上記の転送はバスの空き時間に行えばよく
、この転送に起因するメモリアクセスのオーバヘッドは
殆どない。
■ ブロックメモリから主記憶へ転送された(追出され
た)ブロックデータは、同データが参照されるまでには
ブロックメモリに戻され、データ参照時には最新のブロ
ックデータとなるため、ブロックメモリを対象とするデ
ータ参照が行える。
た)ブロックデータは、同データが参照されるまでには
ブロックメモリに戻され、データ参照時には最新のブロ
ックデータとなるため、ブロックメモリを対象とするデ
ータ参照が行える。
第1図はこの発明の一実施例を示すブロック構成図、第
2図は動作を説明するためのフローチャートである。 ■1・・・スタック管理機構、12・・・ブロックメモ
リ(BM) 、13・・・ブロックメモリポインタレジ
スタ(BMPレジスタ)、14・・・スタックポインタ
レジスタ(S Pi レジスタ)、15・・・スタック
ポインタレジスタ(S P2レジスタ)、20・・・主
記憶、21・・・スタック。 出願人代理人 弁理士 鈴江武彦 第1図 第2図
2図は動作を説明するためのフローチャートである。 ■1・・・スタック管理機構、12・・・ブロックメモ
リ(BM) 、13・・・ブロックメモリポインタレジ
スタ(BMPレジスタ)、14・・・スタックポインタ
レジスタ(S Pi レジスタ)、15・・・スタック
ポインタレジスタ(S P2レジスタ)、20・・・主
記憶、21・・・スタック。 出願人代理人 弁理士 鈴江武彦 第1図 第2図
Claims (1)
- 主記憶に確保されたスタックに格納すべきデータを同ス
タックに代えて格納するための上記スタックのスタック
フレームと対応付けられる複数ブロックから成る循環バ
ッファ方式のブロックメモリと、スタック書込み要求に
応じ上記ブロックメモリ内の最新の有効ブロックの次の
ブロックを対象にデータ書込みを行うブロックメモリ書
込み手段と、このブロックメモリ書込み手段の書込みに
より上記ブロックメモリ内の有効ブロック数が第1の所
定数に達した場合に上記ブロックメモリ内の最も古い有
効ブロックの内容を上記主記憶に転送して上記スタック
に積む第1転送手段と、スタック読出し要求に応じ上記
ブロックメモリ内の最新の有効ブロックを対象にデータ
読出しを行うブロックメモリ読出し手段と、このブロッ
クメモリ読出し手段の読出しによって上記ブロックメモ
リ内の有効ブロック数が第2の所定数を下回り、且つ上
記スタックに有効スタックフレームが存在する場合には
、最新の有効スタックフレームの内容を上記ブロックメ
モリに転送し、同メモリ内の最も古い有効ブロックの直
前のブロックに書込む第2転送手段とを具備し、上記ス
タック書込みまたは読出し要求に応じて上記ブロックメ
モリをキャッシュメモリとしてアクセスするようにした
ことを特徴とするスタックデータ構造用キャッシュ制御
方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63078837A JPH01251248A (ja) | 1988-03-31 | 1988-03-31 | スタックデータ構造用キャッシュ制御方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63078837A JPH01251248A (ja) | 1988-03-31 | 1988-03-31 | スタックデータ構造用キャッシュ制御方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH01251248A true JPH01251248A (ja) | 1989-10-06 |
Family
ID=13672941
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63078837A Pending JPH01251248A (ja) | 1988-03-31 | 1988-03-31 | スタックデータ構造用キャッシュ制御方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH01251248A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6606743B1 (en) | 1996-11-13 | 2003-08-12 | Razim Technology, Inc. | Real time program language accelerator |
| JP2004303232A (ja) * | 2003-03-20 | 2004-10-28 | Matsushita Electric Ind Co Ltd | データメモリキャッシュ装置及びデータメモリキャッシュシステム |
| US6948034B2 (en) | 2001-11-30 | 2005-09-20 | Nec Corporation | Method for use of stack |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS573285A (en) * | 1980-06-09 | 1982-01-08 | Fuji Electric Co Ltd | Buffer storage control system |
| JPS593772A (ja) * | 1982-06-29 | 1984-01-10 | Fujitsu Ltd | 2階層スタツクの制御方式 |
| JPS59146344A (ja) * | 1983-02-10 | 1984-08-22 | Fujitsu Ltd | 仮想スタツク先行制御方式 |
-
1988
- 1988-03-31 JP JP63078837A patent/JPH01251248A/ja active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS573285A (en) * | 1980-06-09 | 1982-01-08 | Fuji Electric Co Ltd | Buffer storage control system |
| JPS593772A (ja) * | 1982-06-29 | 1984-01-10 | Fujitsu Ltd | 2階層スタツクの制御方式 |
| JPS59146344A (ja) * | 1983-02-10 | 1984-08-22 | Fujitsu Ltd | 仮想スタツク先行制御方式 |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6606743B1 (en) | 1996-11-13 | 2003-08-12 | Razim Technology, Inc. | Real time program language accelerator |
| US6948034B2 (en) | 2001-11-30 | 2005-09-20 | Nec Corporation | Method for use of stack |
| JP2004303232A (ja) * | 2003-03-20 | 2004-10-28 | Matsushita Electric Ind Co Ltd | データメモリキャッシュ装置及びデータメモリキャッシュシステム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4648033A (en) | Look-aside buffer LRU marker controller | |
| JPS62102344A (ja) | バツフア・メモリ制御方式 | |
| JPS5829187A (ja) | キヤツシユメモリ制御装置 | |
| JP3006204B2 (ja) | 情報処理装置 | |
| JPS6022376B2 (ja) | キャッシュメモリ制御装置 | |
| JP2703255B2 (ja) | キャッシュメモリ書込み装置 | |
| JPH0526216B2 (ja) | ||
| JPH05100926A (ja) | 入出力管理方式 | |
| JPS6135583B2 (ja) | ||
| JPS6410858B2 (ja) | ||
| JPH02101552A (ja) | アドレス変換バッファ処理方式 | |
| JPS5894182A (ja) | バツフアメモリ管理方式 | |
| JPH02259945A (ja) | ストア処理方式 | |
| JPS63259749A (ja) | 仮想記憶制御方式 | |
| JPS5842546B2 (ja) | ストア制御方式 | |
| JP3161422B2 (ja) | マイクロコンピュータ | |
| JPH0612363A (ja) | メモリ制御装置およびマルチプロセッサシステム | |
| JPS59195753A (ja) | デイスク・キヤツシユメモリの制御方式 | |
| JPS63311548A (ja) | キャッシュメモリ制御回路 | |
| JPS62226348A (ja) | 主記憶装置兼主記憶制御装置 | |
| JPH0387949A (ja) | キャッシュメモリ制御装置 | |
| JPS62127943A (ja) | 命令バツフア制御方式 | |
| JPH04264641A (ja) | キャッシュメモリ方式 | |
| JPH08161228A (ja) | マルチプロセッサシステム | |
| JPH03154140A (ja) | 仮想記憶制御方式および情報処理装置 |