首页 / 专利库 / 资料储存系统 / 高速缓冲存储器 / 顶点缓存 / Stack cache and control system thereof

Stack cache and control system thereof

阅读:943发布:2021-01-31

专利汇可以提供Stack cache and control system thereof专利检索,专利查询,专利分析的服务。并且PURPOSE: To shorten time necessary for a PUSH/POP instruction and to prevent a cache from storing invalid data for popped software.
CONSTITUTION: In order to hold the combinations of addresses and data at the time of pushing a microcomputer 3, automatically push unpushed held data to a main memory 4 during the idle time of a bus cycle, output the data concerned to the microcomputer 3 at the time of popping the microcomputer 3, and substitute valid data for unnecessary data by automatic popping from the main memory 4 during the idle time of the bus cycle, a stack cache 20 is provided with a cache 10 having a means indicating whether respective data have been written in the main memory 4 or not, an active controller having a vertex pointer for an intra-cache stack, a bottom pointer for the intra-cache stack and a vertex pointer for cache outside stack and a bus control part 11 for arbitrating the external accesses of the microcomputer 3 and the active controller.
COPYRIGHT: (C)1993,JPO&Japio,下面是Stack cache and control system thereof专利的具体信息内容。

【特許請求の範囲】
  • 【請求項1】 主メモリ上のデータ構造として最後に入力したデータが最初に出力されるスタック構造をサポートし、スタックへのデータ入力をプッシュ、上記スタックからのデータ出力をポップとして、他のデータ書込み/読出しと区別してデータ処理を行なうマイクロコンピュータを備えたマイクロコンピュータシステムにおいて、上記マイクロコンピュータがプッシュするとき上記主メモリに代わって該当アドレスとデータの組を保持し、上記主メモリにプッシュされていない保持データを上記マイクロコンピュータが外部にアクセスしていないときに上記主メモリにプッシュし、上記マイクロコンピュータがポップするとき該当データを保持していれば上記主メモリに代わって該当データを上記マイクロコンピュータに出力し、上記マイクロコンピュータのポップで不要になったデータを後にポップされる可能性のあるスタック底部のデータに置き換えるため、上記マイクロコンピュータが外部にアクセスしていないときに上記主メモリからポップすることを特徴とするスタックキャッシュの制御方式。
  • 【請求項2】 書込み時にアドレスとデータの組を記憶し、読出し時に入力アドレスに対応するデータを出力し、各アドレスとデータの組が有効か否かを示す有効判定手段,及び各データを主メモリの該当アドレスに書込んだか否かを示す書込み判定手段を持ち上記各手段に従って書込みあるいは読出し動作をされるキャッシュと、
    このキャッシュ内部のスタックの頂点を示すポインタ,
    上記キャッシュ内部のスタックの底を示すポインタ,及び上記キャッシュ外部のスタックの頂点を示すポインタで構成され上記各ポインタに従って上記キャッシュ等を制御する能動制御器と、マイクロコンピュータと上記能動制御器の外部アクセスを調停するバス制御部とを備えたことを特徴とするスタックキャッシュ。
  • 说明书全文

    【発明の詳細な説明】

    【0001】

    【産業上の利用分野】この発明は、データ処理を行なうマイクロコンピュータシステムに関し、特に主メモリ上のデータ構造として、最後に入したデータが最初に出力されるスタック構造をサポートするマイクロコンピュータシステムにおけるスタックキャッシュに関するものである。

    【0002】

    【従来の技術】図3はキャッシュを持たない従来のマイクロコンピュータシステム(以下マイコンシステムと略す)の構成を示すブロック図であり、図中1はスタックポインタ(以下SPと略す)、2は8ビットインクリメンタ/デクリメンタ(以下ID8Bと略す)、3はSP
    1及びID8B2を含むマイクロコンピュータ(以下マイコンと略す)、4は主メモリである。 図4はキャッシュを持たない上記従来のマイコンシステムの動作を示すメモリマップである。 図5はキャッシュを持つ従来のマイコンシステムの構成を示すブロック図であり、図5中1〜4は図3と同様であり、5はセレクタ、6はデータ部、7はタグ部、8はデータが有効であることを示すV
    ビット、9は比較器である。 また、10はセレクタ5、
    データ部6、タグ部7、Vビット8、及び比較器9より構成されるキャッシュ、11はバス制御部である。 図6
    はキャッシュを持つ上記従来のマイコンシステムの動作を示すメモリマップである。 なお、図3及び図5における各構成要素の内容については以下の動作説明で述べる。

    【0003】図4を用いてキャッシュを持たない図3の従来のマイコンシステムの動作を説明する。 このマイコン3は主メモリ4上のデータ構造として、最後に入力したデータが最初に出力されるスタック構造をサポートし、スタックへのデータ入力をPUSH(プッシュ)、
    スタックからのデータ出力をPOP(ポップ)として、
    他のデータ書込み/読出しと区別する。 図4(a)ではマイコン3は主メモリ4のスタック領域にPUSHする。 図4(b)ではマイコン3は主メモリ4のスタック領域からPOPする。 ここでマイコン3にPOPされた主メモリ4上のデータは、値としてはそのまま残っているがソフトウエア的にはその値を再び読出して利用することはない。 他方、PUSHされたスタック内のデータは、POPされる前は、「スタックのPOP動作」以外の読出し/書込みの対象としてマイコン3から利用される。

    【0004】図3において説明すると、データをPUS
    Hするとき、マイコン3は現在のスタックの頂点を示すSP1の値をID8B2でデクリメント(−1)し、その値をアドレスとして主メモリ4に対して書込みを行なう。 その結果、データは主メモリ4上のスタックの新しい頂点に書込まれる。 データをPOPするとき、マイコン3は現在のスタックの頂点を示すSP1の値をアドレスとして主メモリ4から読込みを行ない、SP1をID
    8B2でインクリメント(+1)する。 その結果、データは主メモリ4上のスタックの頂点から取られ、SP1
    は新しい、1段低いスタックの頂点のアドレスを示す。

    【0005】次に図6を用いてキャッシュを持つ図5の従来のマイコンシステムの動作を説明する。 図6(a)
    ではマイコン3は主メモリ4のスタック領域にデータをPUSHする。 この時キャッシュ10にも同時にデータと該当するアドレスの組が登録される。 図6(b)ではマイコン3はキャッシュ10内のスタックからデータをPOPする。 該当データはキャッシュ10に登録されているのでデータはキャッシュ10から読出される。 先に述べたようにPOPされたスタック上の(キャッシュ1
    0内にある)データは、値としてはそのまま残っているが、ソフトウエア的にはその値を再び読出して利用することはない。 しかし、この従来例におけるキャッシュ1
    0内ではそのデータは有効データとして扱われる。 図6
    (c)ではPUSHされたデータがキャッシュ10に登録された後に大量の他のデータがキャッシュ10に登録されるとキャッシュ10内のPUSHされたデータは他のデータで上書きされる。 この時は該当データはキャッシュ10に登録されていないのでPOPするデータは主メモリ4から読み出される。 主メモリ4から読みだされたデータは同時にキャッシュ10に登録される。 先に述べたようにPOPされたスタック上の(キャッシュ10
    に新たに登録し直された)データは、値としてはそのまま残っているが、ソフトウエア的にはその値を再び読出して利用することはない。 しかし、キャッシュ10内ではそのデータは有効データとして扱われる。

    【0006】図5において説明すると、データをPUS
    Hするとき、マイコン3は現在のスタックの頂点を示すSP1の値をID8B2でデクリメント(−1)し、その値をアドレスとして書込みを行なう。 実際にはこのときバス制御部11がデータを主メモリ4上のスタックの新しい頂点と、キャッシュ10に書込む。 例えばアドレスが8ビットの2進数「01010101」で、データが8ビットの2進数「11101110」である場合のキャッシュ10内の動作を説明する。 キャッシュ10が図5に示すような8エントリの構成の場合アドレスの下位3ビット「101」がセレクタ5に与えられ、セレクタ5はタグ部7とVビット8とデータ部6の「101」
    に対応する部分を選択する。 タグ部7の「101」対応部分はアドレスの上位5ビット「01010」を記録し、Vビット8の「101」対応部分は「1」を記録し、データ部6の「101」対応部分はデータ「111
    01110」を記録する。

    【0007】データをPOPするとき、マイコン3は現在のスタックの頂点を示すSP1の値をアドレスとして読込みを行ない、SP1をID8B2でインクリメント(+1)する。 ここで、図6(b)のように該当データがキャッシュ10に登録されている場合をまず説明する。 マイコン3から読出しアドレスとして8ビットの2
    進数「01010101」が出力されると、バス制御部11はまずキャッシュ10に対してそのアドレスを通知する。 キャッシュ10内部でアドレスの下位3ビット「101」がセレクタ5に与えられ、セレクタ5はタグ部7とVビット8とデータ部6の「101」に対応する部分を選択する。 タグ部7の「101」対応部分は記録されていたアドレスの上位5ビット「01010」を比較器9に出力し、比較器9は入力アドレスの上位5ビット「01010」と、記録されていたアドレスの上位5
    ビット「01010」とを比較し一致していることを通知する。 Vビット8の「101」対応部分は「1」を出力し、キャッシュ10内の該当データが有効であることを示す。 アドレスの一致と該当データの有効が示されたので、データ部6の「101」対応部分はデータ「11
    101110」をマイコン3に出力する。

    【0008】次に図6(c)のように先にPUSHされたデータが他のデータで上書きされていた場合を説明する。 マイコン3から読出しアドレスとして8ビットの2
    進数「01010101」が出力されると、キャッシュ10内部でアドレスの下位3ビット「101」がセレクタ5に与えられ、セレクタ5はタグ部7とVビット8とデータ部6の「101」に対応する部分を選択する。 タグ部7の「101」対応部分は上書きされた他のデータのアドレスの上位5ビット「XXXXX」を比較器9に出力し、比較器9は入力アドレスの上位5ビット「01
    010」と、記録されていたアドレスの上位5ビット「XXXXX」とを比較し不一致であることを通知する。 Vビット8の「101」対応部分は「1」を出力し、キャッシュ10内の該当データが有効であることを示す。 アドレスの不一致が示されたのでデータ部6の「101」対応部分はデータを出力しない。 バス制御部11はキャッシュ10からアドレスの不一致を示されると、主メモリ4から該当アドレスのデータを読出し、マイコン3とキャッシュ10に与える。 マイコン3は読出しを完了し、キャッシュ10では先に述べたのと同様のアドレスとデータの組の登録動作が行なわれる。

    【0009】またマイコン3以外の図示しない手段によって主メモリ4のデータが書き換えられた場合などは、
    主メモリ4のデータとキャッシュ10のデータの整合が取れなくなるため、書き換えられた該当アドレスのVビット8、又はすべてのVビット8が図示しない手段で「0」にされる。 またマイコンシステムの起動直後もすべてのVビット8が「0」となっている。 Vビット8が「0」であれば読出し時にアドレスの不一致時と同様の動作をする。

    【0010】

    【発明が解決しようとする課題】スタックを操作するP
    USHやPOP命令はサブルーチンや割込処理ルーチンなど処理の流れが代わったときにデータの退避などに使われ、スタック上のデータは新旧ルーチン間でのデータの受渡などにも利用される。 しかし、キャッシュを持たない従来のマイコンシステムではPUSHやPOPの命令がマイコンに与えられる毎にマイコン自身が主メモリにアクセスする必要がありアクセス終了まで次の命令実行が待たされるという問題点があった。 また、キャッシュを持つ従来のマイコンシステムではPOP命令実行時にキャッシュに該当データが保持されていれば主メモリにアクセスする必要はない。 しかしPUSH命令実行時とPOP命令時にキャッシュに該当データが保持されていないときは主メモリにアクセスする必要がありアクセス終了まで次の命令実行が待たされるという問題点があった。 また、キャッシュを持つ従来のマイコンシステムではPOP命令実行後もソフトウエア上は無効となったデータを有効データとして保持しているため、実質上のキャッシュの効率が悪いという問題点があった。

    【0011】この発明は、上記のような問題点を解決するためになされたもので、スタックを操作するPUSH
    やPOP命令に必要な時間を減少させ、キャッシュ内に効率良くスタックデータを保持することができるスタックキャッシュの制御方式及びスタックキャッシュを提供することを目的とする。

    【0012】

    【課題を解決するための手段】この発明に係る請求項1
    のスタックキャッシュの制御方式は、マイコン3がPU
    SHするとき主メモリ4に代わって該当アドレスとデータの組を保持し、主メモリ4にPUSHされていない保持データをマイコン3が外部にアクセスしていないときに主メモリ4にPUSHし、マイコン3がPOPするとき該当データを保持していれば主メモリ4に代わって該当データをマイコン3に出力し、マイコン3のPOPで不要になったデータを後にPOPされる可能性のあるスタック底部のデータに置き換えるため、マイコン3が外部にアクセスしていないときに主メモリ4からPOPするものである。

    【0013】また、この発明に係る請求項2のスタックキャッシュは、上記の方式を実現するために、書込み時にアドレスとデータの組を記憶し、読出し時に入力アドレスに対応するデータを出力し、各アドレスとデータの組が有効か否かを示す有効判定手段(Vビット8),及び各データを主メモリ4の該当アドレスに書込んだか否かを示す書込み判定手段(Wビット12)を持ち上記各手段に従って書込みあるいは読出し動作をされるキャッシュ10と、キャッシュ10内部のスタックの頂点を示すポインタ(ITSP13),キャッシュ10内部のスタックの底を示すポインタ(IBSP14),及びキャッシュ10外部のスタックの頂点を示すポインタ(ET
    SP15)で構成され上記各ポインタに従ってキャッシュ10等を制御する能動制御器19と、マイコン3と能動制御器19の外部アクセスを調停するバス制御部11
    とを備えたものである。

    【0014】

    【作用】請求項1のスタックキャッシュの制御方式において、スタックキャッシュ20は、マイコン3がPUS
    Hするとき主メモリ4に代わって該当アドレスとデータの組を保持し、主メモリ4にPUSHされていない保持データをマイコン3が外部にアクセスしていないときに自動的に主メモリ4にPUSHし、マイコン3がPOP
    するとき該当データを保持していれば主メモリ4に代わって該当データをマイコン3に出力し、マイコン3のP
    OPで不要になったデータを後にPOPされる可能性のあるスタック底部のデータに置き換えるため、マイコン3が外部にアクセスしていないときに主メモリ4から自動的にPOPする方式をとるため、スタックを操作するPUSHやPOP命令に必要な時間が減少し、バスの使用が平均化し、キャッシュ10内に効率良くスタックデータが保持される。

    【0015】また、請求項2のスタックキャッシュにおいて、キャッシュ10は、書込み時にアドレスとデータの組を記憶し、読出し時に入力アドレスに対応するデータを出力し、各アドレスとデータの組が有効か否かを示す有効判定手段(Vビット8)、及び各データを主メモリ4の該当アドレスに書込んだか否かを示す書込み判定手段(Wビット12)を持ち、上記各手段に従って書込みあるいは読出し動作をされる。 能動制御器19は、キャッシュ10内部のスタックの頂点を示すポインタ(I
    TSP13)、キャッシュ10内部のスタックの底を示すポインタ(IBSP14)、及びキャッシュ10外部のスタックの頂点を示すポインタ(ETSP15)に従ってキャッシュ10等を制御する。 バス制御部11はマイコン3と能動制御器19の外部アクセスを調停する。
    このような構成要素を有するスタックキャッシュ20
    は、比較的小規模のハードウェアで実現され、請求項1
    の動作を可能にする。

    【0016】

    【実施例】図1はこの発明の一実施例に係るスタックキャッシュを持つマイコンシステムの構成を示すブロック図である。 図1において、図5に示す構成要素に対応するものには同一の符号を付し、その説明を省略する。 図1において、8は各アドレスとデータの組が有効か否かを示すVビット(有効判定手段)、12は各データを主メモリの該当アドレスに書込んだか否かを示すWビット(書込み判定手段)、10はセレクタ5、、データ部6、タグ部7、Vビット8、Wビット12、及び比較器9より構成されるキャッシュ、13はキャッシュ10内部のスタックの頂点を示すポインタ(以下ITSPと略す)、14はキャッシュ10内部のスタックの底を示すポインタ(以下IBSPと略す)、15はキャッシュ1
    0外部のスタックの頂点を示すポインタ(以下ETSP
    と略す)、16はキャッシュ10外部のスタックの底を示すポインタ(以下EBSPと略す)、17は3ビットインクリメンタ/デクリメンタ(以下ID3Bと略す)、18は8ビットインクリメンタ(以下I8Bと略す)、19はITSP13、IBSP14、ETSP1
    5、EBSP16、ID3B17、及びI8B18で構成された能動制御器、11は従来の機能にマイコン3とキャッシュ10のバス使用権を調停する機能の加わったバス制御部、20はキャッシュ10、能動制御部19、
    及びバス制御部11から構成されるスタックキャッシュである。 図2はこの発明の一実施例に係るスタックキャッシュを持つマイコンシステムの動作を示すメモリマップである。

    【0017】図2を用いて図1のスタックキャッシュを持つマイコンシステムの動作を説明する。 図2(a)ではマイコン3はスタックキャッシュ20のキャッシュ1
    0にデータをPUSHする。 図2(b)では主メモリ4
    にPUSHされていない保持データをマイコン3が外部にアクセスしていないときに自動的に主メモリ4の該当アドレスにPUSHする。 このように、適宜スタックキャッシュ20内のデータは主メモリ4に書込まれ、スタックキャッシュ20の容量を越えてPUSHしたデータはすでに主メモリ4にPUSHされているデータに上書きされる。 しかしスタックキャッシュ20から主メモリ4への書き込みが間に合わずキャッシュ10内のデータが全く主メモリ4に書き込まれていないときは、マイコン3からスタックキャッシュ20へのPUSHに先立ってスタックキャッシュ20から主メモリ4への書込みを行なってから上書きを行なう。

    【0018】図2(c)ではマイコン3はスタックキャッシュ20からデータをPOPする。 該当データはスタックキャッシュ20に登録されているのでスタックキャッシュ20から読み出される。 先に述べたようにPOP
    されたスタック上の(キャッシュ10内にある)データは、値としてはそのまま残っているが、ソフトウエア的にはその値を再び読出して利用することはない。 そのためバス制御部11はキャッシュ10のPOPされたデータを無効化する。 従って、スタックキャッシュ20内の有効データの頂点が常にスタックの頂点となる。 図2
    (d)ではマイコン3が外部にアクセスしないときマイコン3からの読み込みによって不要になったアドレスとデータの組に代わって、上書きによって消去されていたデータのうち一番最近に消去されていたデータから順に、主メモリ4に書込まれていたデータを読み込む。 このように、適宜上書きによって消去されていたデータが主メモリ4からPOPされ、スタックキャッシュ20の容量を越えてPOPしても常にスタックキャッシュ20
    内にマイコン3がPOPすべきデータが存在するが、主メモリ4からの読み込みが間に合わずキャッシュ10内に有効データが全くないときは、マイコン3はキャッシュ10からのPOPを行なわず、主メモリ4から直接P
    OPのみを行なう。 これはPOPされてソフトウエア的に無効になったデータをキャッシュ10に取り込まないためである。

    【0019】次に図1を用いてこの実施例のスタックキャッシュを持つマイコンシステムの動作を詳細に説明する。 あらかじめETSP15とEBSP16にSP1の初期値をマイコン3から書き込んでおく。 データをPU
    SHするとき、マイコン3は現在のスタックの頂点を示すSP1の値をID8B2でデクリメント(−1)し、
    その値をアドレスとして書込みを行なう。 実際にはこのときバス制御部11がデータをキャッシュ10に書込む。 アドレスが8ビットの2進数「0101010
    1」、データが8ビットの2進数「11101110」
    である場合のキャッシュ10内の動作を説明する。 キャッシュ10が図1に示すような8エントリの構成の場合、アドレスの下位3ビット「101」がITSP13
    とIBSP14の下位3ビットとセレクタ5に与えられ、セレクタ5はタグ部7とWビット12とVビット8
    とデータ部6の「101」に対応する部分を選択する。
    タグ部7の「101」対応部分は記録していたアドレスの上位5ビット「XXXXX」をIBSP14の上位5
    ビットに与える。 Wビット12の「101」対応部分は記録している値を出力し、Wビット12が「1」の場合はキャッシュ10の該当データはすでに主メモリ4に書込まれているので、バス制御部11が上書き動作を行ない、「0」の場合は後で述べる主メモリ4への書込みを行なってから上書き動作を行なう。 上書き動作として、
    タグ部7の「101」対応部分はアドレスの上位5ビット「01010」を記録し、Wビット12の「101」
    対応部分は「0」を記録し、Vビット8の「101」対応部分は「1」を記録し、データ部6の「101」対応部分はデータ「11101110」を記録する。

    【0020】データをPOPするとき、マイコン3は現在のスタックの頂点を示すSP1の値をアドレスとして読込みを行ない、SP1をID8B2でインクリメント(+1)する。 マイコン3から読出しアドレスとして8
    ビットの2進数「01010101」が出力されると、
    バス制御部11はまずキャッシュ10に対してそのアドレスを通知する。 キャッシュ10内部でアドレスの下位3ビット「101」がセレクタ5に与えられ、セレクタ5はタグ部7とWビット12とVビット8とデータ部6
    の「101」に対応する部分を選択する。 Vビット8の「101」対応部分は記録していた値を出力し、Vビット8が「1」の場合はキャッシュ10内の該当データが有効であるのでバス制御部11はキャッシュ10からP
    OP動作を行ない、「0」の場合は主メモリ4からの直接POPを行なう。 キャッシュ10からのPOP動作として、タグ部7の「101」対応部分は記録されていたアドレスの上位5ビット「01010」を比較器9に出力し、比較器9は入力アドレスの上位5ビット「010
    10」と、記録されていたアドレスの上位5ビット「0
    1010」とを比較し、一致していることを通知する。
    アドレスの一致と該当データの有効が示されたのでデータ部6の「101」対応部分はデータ「1110111
    0」をマイコン3に出力する。 Wビット12の「10
    1」対応部分に「1」を記録し、Vビット8の「10
    1」対応部分に「0」を記録する。 能動制御器19では、ETSP15の内容とITSP13の内容が等しければ、ETSP15とITSP13の両方の内容をID
    3B17でインクリメント(+1)し、等しくなければITSP13のみをインクリメント(+1)する。

    【0021】バス制御部11がマイコン3とキャッシュ10の外部にアクセスを調停し、マイコン3の外部アクセスがないときに、スタックキャッシュ20は自動的にPUSH又はPOPを行なう。 IBSP14の下位3ビットとITSP13のビットが等しくなければ、スタックキャッシュ20は自動的にPOPを行なう。 即ち能動制御器19がマイコン3からの読み込みによって不要になったアドレスとデータの組に代わって、上書きによって消去されていたデータのうち一番最近に消去されていたデータから順に、主メモリ4に書込まれていたデータをキャッシュ10に読み込む。 この時まず、能動制御器19はIBSP14とEBSP16を内容比較して、等しければすでに主メモリ4上のスタックの底までキャッシュ10がデータを読み込んでいることになるため、なにも行なわない。 そうでなければ、主メモリ4に対して、IBSP14の値をアドレスとして出力してデータを読出す。 また能動制御器19はIBSP14の下位3
    ビットをセレクタ5に与え、セレクタ5はタグ部7とW
    ビット12とVビット8とデータ部6の対応する部分を選択する。 読出したデータはデータ部6の対応部分に記録し、タグ部7の対応部分はIBSP14の上位5ビットを記録し、Vビット8の対応部分は「1」を記録し、
    Wビット12の対応部分は「1」を記録し、IBSP1
    4をI8B18でインクリメント(+1)してスタックキャッシュ20の自動的なPOPが完了する。

    【0022】IBSP14の下位3ビットとITSP1
    3のビットが等しくてETSP15とITSP13のビットが等しくないとき、スタックキャッシュ20は自動的にPUSHを行なう。 即ち、バス制御部11は、キャッシュ10のデータのうち主メモリ4に書込んでいないデータを古いものから主メモリ4の該当アドレスに書込む。 能動制御器19はETSP15をID3B17でデクリメント(−1)し、ETSP15の値をセレクタ5
    に与え、セレクタ5はタグ部7とWビット12とVビット8とデータ部6の対応する部分を選択する。 まず、バス制御部11は、Vビット8の対応部分から記録していた値を読みだし、「1」であれば、該当データは有効であるので書込みを行ない、「0」であれば、他のデバイスが該当アドレスを書き換えたことを示すので、書込みは行なわない。 書込み動作として、バス制御部11はタグ部7の対応部分から記録していたアドレスの上位5ビットを読出し、ETSP15の3ビットと合わせて書込みデータのアドレスとして主メモリ4に出力する。 そして、データ部6の対応部分から記録していたデータを読出して主メモリ4に書込む。 Wビット12の対応部分は「1」を記録してスタックキャッシュ20の自動的なP
    USHが完了する。 IBSP14の下位3ビットとIT
    SP13のビットが等しくてETSP15とITSP1
    3のビットが等しいときはスタックキャッシュ20はバス制御部11にアクセス要求を行なわない。

    【0023】尚、この実施例ではキャッシュ10の構成を図1のような単純な構成にしているが、アドレスとデータとVビットとWビットを一組にして登録できるものであればキャッシュの形式や容量を問わない。 キャッシュの容量とデータ幅(ビット数)とは、組み合わせるマイコンのレジスタ数とバス幅(ビット数)とに依存する。 例えば32ビットマイコンであればキャッシュのデータ幅を32ビット又は32×Nビットとし、キャッシュ容量はレジスタ数以上、実際的にはレジスタ数の3〜
    4倍以上の容量があれば効率的な使用が可能である。

    【0024】

    【発明の効果】以上のように請求項1の発明によれば、
    マイクロコンピュータがプッシュするとき主メモリに代わって該当アドレスとデータの組を保持し、上記主メモリにプッシュされていない保持データを上記マイクロコンピュータが外部にアクセスしていないときに上記主メモリにプッシュし、上記マイクロコンピュータがポップするとき該当データを保持していれば上記主メモリに代わって該当データを上記マイクロコンピュータに出力し、上記マイクロコンピュータのポップで不要になったデータを後にポップされる可能性のあるスタック底部のデータに置き換えるため、上記マイクロコンピュータが外部にアクセスしていないときに上記主メモリからポップするように制御するので、バスの使用が平均化し、スタックを操作するPUSHやPOP命令に必要な時間を減少させることができ、また、キャッシュ内にPOP後のソフトウエア上無効なデータが保持されるようなことがなくなり、したがってキャッシュ内に効率良くスタックデータを保持できるという効果が得られる。

    【0025】また、請求項2の発明によれば、書込み時にアドレスとデータの組を記憶し、読出し時に入力アドレスに対応するデータを出力し、各アドレスとデータの組が有効か否かを示す有効判定手段,及び各データを主メモリの該当アドレスに書込んだか否かを示す書込み判定手段を持ち上記各手段に従って書込みあるいは読出し動作をされるキャッシュと、このキャッシュ内部のスタックの頂点を示すポインタ,上記キャッシュ内部のスタックの底を示すポインタ,及び上記キャッシュ外部のスタックの頂点を示すポインタで構成され上記各ポインタに従って上記キャッシュ等を制御する能動制御器と、マイクロコンピュータと上記能動制御器の外部アクセスを調停するバス制御部とを備えて構成したので、上記請求項1の発明の動作を比較的小規模のハードウェアの追加で実現できるという効果が得られる。

    【図面の簡単な説明】

    【図1】この発明の一実施例に係るマイクロコンピュータシステムの構成を示すブロック図である。

    【図2】この実施例の動作を示すメモリマップである。

    【図3】キャッシュを持たない従来のマイクロコンピュータシステムの構成を示すブロック図である。

    【図4】図3の従来例の動作を示すメモリマップである。

    【図5】キャッシュを持つ従来のマイクロコンピュータシステムの構成を示すブロック図である。

    【図6】図5の従来例の動作を示すメモリマップである。

    【符号の説明】

    3 マイクロコンピュータ 4 主メモリ 8 Vビット(有効判定手段) 10 キャッシュ 11 バス制御部 12 Wビット(書込み判定手段) 13 ITSP(キャッシュ内部のスタックの頂点を示すポインタ) 14 IBSP(キャッシュ内部のスタックの底を示すポインタ) 15 ETSP(キャッシュ外部のスタックの頂点を示すポインタ) 19 能動制御器 20 スタックキャッシュ

    高效检索全球专利

    专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

    我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

    申请试用

    分析报告

    专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

    申请试用

    QQ群二维码
    意见反馈