JPH08328953A - 計算機システム - Google Patents
計算機システムInfo
- Publication number
- JPH08328953A JPH08328953A JP7130457A JP13045795A JPH08328953A JP H08328953 A JPH08328953 A JP H08328953A JP 7130457 A JP7130457 A JP 7130457A JP 13045795 A JP13045795 A JP 13045795A JP H08328953 A JPH08328953 A JP H08328953A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- cache
- access
- address
- cpu
- 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
- Advance Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【目的】より短時間でアクセス可能にするキャッシュ機
能付計算機を得る。 【構成】キャッシュメモリ(CM)3を有し、主メモリ(MM)
4の保持情報の一部を保持させることによりCPU1のMMに
対するアクセスに際しMMの代行をさせた計算機におい
て、CPU1として間接アドレッシング命令実行時に、第一
のメモリアクセス実施の際にそれを知らせる報知信号を
発生する機能を備えたCPU と、該CPU からMMに対するア
クセス制御指令が出ると、該アクセス対象のアドレス(A
DR) の保持内容がCMに保持されていれば該CMに対してア
クセスし保持されてなければMMから読込んで前記アクセ
スに応ずるようにしそのアクセスしたADR の保持内容に
変更があった時はMMに対しての書戻し対象として管理制
御し報知信号を受けると第一のメモリアクセスの対象の
ADR 情報を保持し、このADR に対する内容の書替えにつ
いてはMMへの書戻しの対象外とすべくCMを制御する手段
2とを具備する。
能付計算機を得る。 【構成】キャッシュメモリ(CM)3を有し、主メモリ(MM)
4の保持情報の一部を保持させることによりCPU1のMMに
対するアクセスに際しMMの代行をさせた計算機におい
て、CPU1として間接アドレッシング命令実行時に、第一
のメモリアクセス実施の際にそれを知らせる報知信号を
発生する機能を備えたCPU と、該CPU からMMに対するア
クセス制御指令が出ると、該アクセス対象のアドレス(A
DR) の保持内容がCMに保持されていれば該CMに対してア
クセスし保持されてなければMMから読込んで前記アクセ
スに応ずるようにしそのアクセスしたADR の保持内容に
変更があった時はMMに対しての書戻し対象として管理制
御し報知信号を受けると第一のメモリアクセスの対象の
ADR 情報を保持し、このADR に対する内容の書替えにつ
いてはMMへの書戻しの対象外とすべくCMを制御する手段
2とを具備する。
Description
【0001】
【産業上の利用分野】この発明は、キャッシュシステム
を搭載した計算機システムにおいて、特にメモリアクセ
スに要する時間を効果的に短縮することができて、動作
速度の実質的なスピードアップを図ることができるよう
にする計算機システムに関する。
を搭載した計算機システムにおいて、特にメモリアクセ
スに要する時間を効果的に短縮することができて、動作
速度の実質的なスピードアップを図ることができるよう
にする計算機システムに関する。
【0002】
【従来の技術】計算機システムにおいては、膨大なメイ
ン・メモリ(主記憶装置)のアクセスを実質的に高速化
するために、あるいは、計算機システム内のCPUとし
て動作速度が速いものを使用している場合に、実質的な
動作速度の高速化を図るために、キャッシュの技術を適
用することが行なわれている。
ン・メモリ(主記憶装置)のアクセスを実質的に高速化
するために、あるいは、計算機システム内のCPUとし
て動作速度が速いものを使用している場合に、実質的な
動作速度の高速化を図るために、キャッシュの技術を適
用することが行なわれている。
【0003】ここで、キャッシュとは周知の通り、メイ
ン・メモリに格納されているデータやプログラムの一部
を一時的に保持して、CPUのメモリアクセスに際して
メイン・メモリの代行をする高速メモリ装置であり、C
PUがメイン・メモリのあるアドレスにアクセスすると
そのアドレスを含む近傍のアドレス領域の記憶内容をま
とめてキャッシュ・メモリに取り込み、それ以後、CP
Uがメインメモリのアクセスを行なう際に、そのアクセ
スしようとするアドレスがキャッシュ・メモリに取り込
んだアドレス領域に該当するアドレスである場合には、
キャッシュ・メモリに対してアクセスすることにより、
メイン・メモリに対するアクセスを避けるようにするも
のである。
ン・メモリに格納されているデータやプログラムの一部
を一時的に保持して、CPUのメモリアクセスに際して
メイン・メモリの代行をする高速メモリ装置であり、C
PUがメイン・メモリのあるアドレスにアクセスすると
そのアドレスを含む近傍のアドレス領域の記憶内容をま
とめてキャッシュ・メモリに取り込み、それ以後、CP
Uがメインメモリのアクセスを行なう際に、そのアクセ
スしようとするアドレスがキャッシュ・メモリに取り込
んだアドレス領域に該当するアドレスである場合には、
キャッシュ・メモリに対してアクセスすることにより、
メイン・メモリに対するアクセスを避けるようにするも
のである。
【0004】これによって通常の主記憶アクセスが、主
記憶(メイン・メモリ)より高速なキャッシュ・メモリ
へのアクセスに置き換えられるので、実行すべき命令や
参照すべきデータがキャッシュ・メモリ内に存在する確
率(ヒット率)が高いほど、高速処理の効果が期待でき
る技術である。
記憶(メイン・メモリ)より高速なキャッシュ・メモリ
へのアクセスに置き換えられるので、実行すべき命令や
参照すべきデータがキャッシュ・メモリ内に存在する確
率(ヒット率)が高いほど、高速処理の効果が期待でき
る技術である。
【0005】ところで、従来、キャッシュはCPU(プ
ロセッサ)一つに1システム構成とするか、2システム
構成とするようにしていた。ここで、上記2システム構
成とは、CPUが命令フェッチのためのメモリアクセス
と、データアクセスのためのメモリアクセスを区別する
情報を出し、この情報をキャッシュ側が利用して二つの
アクセスを別々のキャッシュシステムで区別して管理す
る方式の構成であり、また、上記1システム構成はキャ
ッシュシステムの最もシンプルで一般的なシステム構成
であり、CPUがメモリアクセスするにあたって上述の
ような区別をしないで運用する構成である。
ロセッサ)一つに1システム構成とするか、2システム
構成とするようにしていた。ここで、上記2システム構
成とは、CPUが命令フェッチのためのメモリアクセス
と、データアクセスのためのメモリアクセスを区別する
情報を出し、この情報をキャッシュ側が利用して二つの
アクセスを別々のキャッシュシステムで区別して管理す
る方式の構成であり、また、上記1システム構成はキャ
ッシュシステムの最もシンプルで一般的なシステム構成
であり、CPUがメモリアクセスするにあたって上述の
ような区別をしないで運用する構成である。
【0006】
【発明が解決しようとする課題】キャッシュは、高速な
キャッシュ・メモリを設けてCPUがメイン・メモリを
アクセスする際、そのアクセス対象のアドレスを中心
に、その近傍のアドレス領域の内容を、メイン・メモリ
からこのキャッシュ・メモリに読み込み、つぎのこの領
域内のアドレスについてアクセスするときは、このキャ
ッシュ・メモリに読み込んだ内容を用いるようにするこ
とにより、メイン・メモリのアクセス速度の遅さをこの
キャッシュ・メモリによりカバーして、計算機システム
をできるだけ高速動作化できるようにする技術である。
キャッシュ・メモリを設けてCPUがメイン・メモリを
アクセスする際、そのアクセス対象のアドレスを中心
に、その近傍のアドレス領域の内容を、メイン・メモリ
からこのキャッシュ・メモリに読み込み、つぎのこの領
域内のアドレスについてアクセスするときは、このキャ
ッシュ・メモリに読み込んだ内容を用いるようにするこ
とにより、メイン・メモリのアクセス速度の遅さをこの
キャッシュ・メモリによりカバーして、計算機システム
をできるだけ高速動作化できるようにする技術である。
【0007】このキャッシュの技術は、メイン・メモリ
の或る決まったアドレス領域について頻繁にアクセスす
るようなプログラムを実行する際に特に有効であり、こ
の場合はヒット率が高いので際立った実行速度の高速化
が図れる。
の或る決まったアドレス領域について頻繁にアクセスす
るようなプログラムを実行する際に特に有効であり、こ
の場合はヒット率が高いので際立った実行速度の高速化
が図れる。
【0008】これに対して、メイン・メモリのあちらこ
ちらのアドレスをアクセスする場合には、メイン・メモ
リから毎回のようにキャッシュ・メモリに新たな別のア
ドレス領域の内容を取り込むかたちとなり、また、デー
タの内容が書き替えられて変更になっていれば、その前
にキャッシュ・メモリよりメイン・メモリに書き戻しを
する必要があるなど、これらの作業時間がまるまるロス
タイムとなることから、この場合はむしろキャッシュ・
メモリがあることがあしかせとなって、メイン・メモリ
のみの構成とした場合より実行速度が遅くなってしま
い、意味をなさなくなる。
ちらのアドレスをアクセスする場合には、メイン・メモ
リから毎回のようにキャッシュ・メモリに新たな別のア
ドレス領域の内容を取り込むかたちとなり、また、デー
タの内容が書き替えられて変更になっていれば、その前
にキャッシュ・メモリよりメイン・メモリに書き戻しを
する必要があるなど、これらの作業時間がまるまるロス
タイムとなることから、この場合はむしろキャッシュ・
メモリがあることがあしかせとなって、メイン・メモリ
のみの構成とした場合より実行速度が遅くなってしま
い、意味をなさなくなる。
【0009】これはメイン・メモリより高速なメモリを
使用する関係でコスト的にも十分なメモリ容量を確保し
にくいというキャッシュ・メモリの制約に関係があり、
従って、キャッシュ・メモリに取り込めるアドレス領域
の大きさに制限ができるからであり、そのため、メイン
・メモリのアクセスにあたり、キャッシュ・メモリに取
り込んでないアドレス領域のアドレスのアクセスにあた
っては、該当するアドレスとその近傍のアドレス領域の
内容をメイン・メモリからキャッシュ・メモリに読み込
み、その後に、キャッシュ・メモリから該当アドレスの
内容を読み込むといった制御を行ったり、キャッシュ・
メモリから追い出すことになるデータについて、データ
内容に変更のあった場合には、メイン・メモリに書き戻
すといった制御を行うことになるので当然のことではあ
る。
使用する関係でコスト的にも十分なメモリ容量を確保し
にくいというキャッシュ・メモリの制約に関係があり、
従って、キャッシュ・メモリに取り込めるアドレス領域
の大きさに制限ができるからであり、そのため、メイン
・メモリのアクセスにあたり、キャッシュ・メモリに取
り込んでないアドレス領域のアドレスのアクセスにあた
っては、該当するアドレスとその近傍のアドレス領域の
内容をメイン・メモリからキャッシュ・メモリに読み込
み、その後に、キャッシュ・メモリから該当アドレスの
内容を読み込むといった制御を行ったり、キャッシュ・
メモリから追い出すことになるデータについて、データ
内容に変更のあった場合には、メイン・メモリに書き戻
すといった制御を行うことになるので当然のことではあ
る。
【0010】このようにキャッシュ・メモリを設けて
も、ヒット率が悪ければ、その高速動作化する効果は薄
れてしまう。しかし、このヒット率の問題以上に問題な
のは、実行するアドレッシング方式である。すなわち、
CPUはプログラムを実行するにあたり、プログラムの
流れに従ってアクセスすべきアドレスを定めてゆくが、
特定のアドレスに対して内容を参照したり、書き込んだ
りするために、CPUの持つ様々なアドレッシング方式
(アドレス指定方式)の各種命令をプログラマはプログ
ラム上で使い分ける。
も、ヒット率が悪ければ、その高速動作化する効果は薄
れてしまう。しかし、このヒット率の問題以上に問題な
のは、実行するアドレッシング方式である。すなわち、
CPUはプログラムを実行するにあたり、プログラムの
流れに従ってアクセスすべきアドレスを定めてゆくが、
特定のアドレスに対して内容を参照したり、書き込んだ
りするために、CPUの持つ様々なアドレッシング方式
(アドレス指定方式)の各種命令をプログラマはプログ
ラム上で使い分ける。
【0011】アドレッシングがからむ命令(メモリ参照
命令)においては、その命令のオペランド部が、直接、
メインメモリ内のデータの所在地(実効アドレス)を示
す直接アドレス指定方式や、指定量だけ相対的にずれた
位置をアクセス対象とする相対アドレス指定方式、そし
て、命令のオペランド部に示すアドレスを参照アドレス
とし、この参照アドレスに格納されるデータを最終の目
指すアドレスとして該アドレスが目的のアクセス対象と
なるといったような具合の間接アドレス指定方式などが
ある。
命令)においては、その命令のオペランド部が、直接、
メインメモリ内のデータの所在地(実効アドレス)を示
す直接アドレス指定方式や、指定量だけ相対的にずれた
位置をアクセス対象とする相対アドレス指定方式、そし
て、命令のオペランド部に示すアドレスを参照アドレス
とし、この参照アドレスに格納されるデータを最終の目
指すアドレスとして該アドレスが目的のアクセス対象と
なるといったような具合の間接アドレス指定方式などが
ある。
【0012】このように直接アドレス指定方式や相対ア
ドレス指定方式と、間接アドレス指定方式ではメモリへ
のアクセスの意味が異なる。そして、これはメモリへの
アクセスの頻度やアクセスの生じ方が異なるということ
であり、従来のシステムでは、この違いを考慮せずに一
様に管理するようにしていたことから、キャッシュ・メ
モリの無駄な動作を頻繁に起こす結果を招き、高速化の
足を引っ張る大きな原因の一つにもなっていた。
ドレス指定方式と、間接アドレス指定方式ではメモリへ
のアクセスの意味が異なる。そして、これはメモリへの
アクセスの頻度やアクセスの生じ方が異なるということ
であり、従来のシステムでは、この違いを考慮せずに一
様に管理するようにしていたことから、キャッシュ・メ
モリの無駄な動作を頻繁に起こす結果を招き、高速化の
足を引っ張る大きな原因の一つにもなっていた。
【0013】例えば、間接アドレッシングの場合は、そ
の命令実行後の第一のメモリデータアクセスは参照アド
レスを引き出すためのアクセスであり、プログラムが目
指す処理内容にもよるが、データ検索や画像処理等のよ
うに、次々に近隣のアドレスに移してゆく必要のある処
理等の場合はこの参照アドレスは内容が次々に変更され
てゆく。このように間接アドレッシングの場合は、その
参照アドレスは近い将来、変更される可能性大きいが、
これは変更の都度、メイン・メモリに書き戻す必要はな
い性質のものである。
の命令実行後の第一のメモリデータアクセスは参照アド
レスを引き出すためのアクセスであり、プログラムが目
指す処理内容にもよるが、データ検索や画像処理等のよ
うに、次々に近隣のアドレスに移してゆく必要のある処
理等の場合はこの参照アドレスは内容が次々に変更され
てゆく。このように間接アドレッシングの場合は、その
参照アドレスは近い将来、変更される可能性大きいが、
これは変更の都度、メイン・メモリに書き戻す必要はな
い性質のものである。
【0014】従って、上述のような一様な管理を行う
と、これは区別しないからデータ内容に変更があるとキ
ャッシュシステムはデータ内容に変更のあったものにつ
いては書き戻しの対象として管理することになり、無駄
な書き戻し操作を頻発して、キャッシュシステムの存在
意義を低くする原因の一つにもなる。
と、これは区別しないからデータ内容に変更があるとキ
ャッシュシステムはデータ内容に変更のあったものにつ
いては書き戻しの対象として管理することになり、無駄
な書き戻し操作を頻発して、キャッシュシステムの存在
意義を低くする原因の一つにもなる。
【0015】そこで、この発明の目的とするところは、
複雑なアドレッシングモードを持つ計算機で、キャッシ
ュを介したメモリアクセス時間がより短くなるようにし
てキャッシュの効果を最大限に引き出すことができるよ
うにした計算機システムを提供することにある。
複雑なアドレッシングモードを持つ計算機で、キャッシ
ュを介したメモリアクセス時間がより短くなるようにし
てキャッシュの効果を最大限に引き出すことができるよ
うにした計算機システムを提供することにある。
【0016】
【課題を解決するための手段】上記目的を達成するた
め、本発明は次のように構成する。すなわち、キャッシ
ュ・メモリを有し、これにメイン・メモリの保持情報の
一部を保持させて、CPUのメイン・メモリに対するア
クセスに際し、メイン・メモリの代行をさせることによ
り、メモリアクセスを高速化する計算機システムにおい
て、前記CPUとして、間接アドレッシング命令の実行
時に、第一のメモリデータアクセスの実施の際にそれを
知らせる報知信号を発生する機能を備えたCPUと、こ
のCPUからメイン・メモリに対するアクセス制御指令
が出されると、そのアクセス対象のアドレスの保持内容
がキャッシュ・メモリに保持されている場合はこのキャ
ッシュ・メモリに対してアクセスし、保持されていない
ときはメイン・メモリから読み込んで前記アクセスに応
ずると共に、また、そのアクセスしたアドレスの保持内
容に変更があった時はメイン・メモリに対しての書き戻
し対象として管理制御し、このCPUからの第一の報知
信号を受けると前記第一のメモリデータアクセスの対象
のアドレス情報を保持し、このアドレスに対する内容の
書き替えについてはメイン・メモリへの書き戻しの対象
としないように制御するキャッシュ制御手段とを具備す
る。
め、本発明は次のように構成する。すなわち、キャッシ
ュ・メモリを有し、これにメイン・メモリの保持情報の
一部を保持させて、CPUのメイン・メモリに対するア
クセスに際し、メイン・メモリの代行をさせることによ
り、メモリアクセスを高速化する計算機システムにおい
て、前記CPUとして、間接アドレッシング命令の実行
時に、第一のメモリデータアクセスの実施の際にそれを
知らせる報知信号を発生する機能を備えたCPUと、こ
のCPUからメイン・メモリに対するアクセス制御指令
が出されると、そのアクセス対象のアドレスの保持内容
がキャッシュ・メモリに保持されている場合はこのキャ
ッシュ・メモリに対してアクセスし、保持されていない
ときはメイン・メモリから読み込んで前記アクセスに応
ずると共に、また、そのアクセスしたアドレスの保持内
容に変更があった時はメイン・メモリに対しての書き戻
し対象として管理制御し、このCPUからの第一の報知
信号を受けると前記第一のメモリデータアクセスの対象
のアドレス情報を保持し、このアドレスに対する内容の
書き替えについてはメイン・メモリへの書き戻しの対象
としないように制御するキャッシュ制御手段とを具備す
る。
【0017】また、CPUには、キャッシュ制御手段の
管理制御機能の設定変更指令機能を持たせると共に、キ
ャッシュ制御手段にはこの設定変更指令により管理制御
内容を変更する管理制御機能の外部設定変更機能を持た
せる構成とする。
管理制御機能の設定変更指令機能を持たせると共に、キ
ャッシュ制御手段にはこの設定変更指令により管理制御
内容を変更する管理制御機能の外部設定変更機能を持た
せる構成とする。
【0018】
【作用】このような構成において、CPUには、間接ア
ドレッシング命令の実行時に、第一のメモリデータアク
セスの実施の際にそれを知らせる第一の報知信号を発生
する機能がある。キャッシュ制御手段は通常はこのCP
Uからメイン・メモリに対するアクセス制御指令が出さ
れると、そのアクセス対象のアドレスの保持内容がキャ
ッシュ・メモリに保持されている場合はこのキャッシュ
・メモリに対してアクセスし、保持されていないときは
メイン・メモリから読み込んで前記アクセスに応ずると
共に、また、そのアクセスしたアドレスの保持内容に変
更があった時はメイン・メモリに対しての書き戻し対象
として管理制御する。そのため、CPUによりアクセス
したアドレスの保持内容に変更があった時は、キャッシ
ュ・メモリにおいて保持内容が変更されるが、必要に応
じてメイン・メモリにも書き戻されることになる。
ドレッシング命令の実行時に、第一のメモリデータアク
セスの実施の際にそれを知らせる第一の報知信号を発生
する機能がある。キャッシュ制御手段は通常はこのCP
Uからメイン・メモリに対するアクセス制御指令が出さ
れると、そのアクセス対象のアドレスの保持内容がキャ
ッシュ・メモリに保持されている場合はこのキャッシュ
・メモリに対してアクセスし、保持されていないときは
メイン・メモリから読み込んで前記アクセスに応ずると
共に、また、そのアクセスしたアドレスの保持内容に変
更があった時はメイン・メモリに対しての書き戻し対象
として管理制御する。そのため、CPUによりアクセス
したアドレスの保持内容に変更があった時は、キャッシ
ュ・メモリにおいて保持内容が変更されるが、必要に応
じてメイン・メモリにも書き戻されることになる。
【0019】一方、キャッシュ制御手段はCPUから報
知信号を受けると前記第一のメモリデータアクセスの対
象のアドレス情報を保持し、このアドレスに対する内容
の書き替えについてはメイン・メモリへの書き戻しの対
象としないように制御する。その結果、間接アドレッシ
ング命令実行の際には、目的のアドレスの情報を格納し
たアドレス(参照アドレス)を拾い出すためのメモリデ
ータアクセスである第一のメモリデータアクセスに際し
てはその後の当該アクセス対象となったアドレスについ
ての内容変更が生じたとしても、キャッシュ制御手段は
これについてはメイン・メモリに対する書き戻しの対象
としないことから、不要な書き戻し操作が行われない
分、メモリアクセスの実質的な処理時間が短縮できるよ
うになる。
知信号を受けると前記第一のメモリデータアクセスの対
象のアドレス情報を保持し、このアドレスに対する内容
の書き替えについてはメイン・メモリへの書き戻しの対
象としないように制御する。その結果、間接アドレッシ
ング命令実行の際には、目的のアドレスの情報を格納し
たアドレス(参照アドレス)を拾い出すためのメモリデ
ータアクセスである第一のメモリデータアクセスに際し
てはその後の当該アクセス対象となったアドレスについ
ての内容変更が生じたとしても、キャッシュ制御手段は
これについてはメイン・メモリに対する書き戻しの対象
としないことから、不要な書き戻し操作が行われない
分、メモリアクセスの実質的な処理時間が短縮できるよ
うになる。
【0020】また、CPUに、キャッシュ制御手段の管
理制御機能の設定変更指令機能を持たせると共に、この
設定変更指令によりキャッシュ制御手段は管理制御内容
を変更する管理制御機能の外部設定変更機能を持たせる
構成とすると、キャッシュ制御手段はCPUの制御によ
り外から管理制御機能を任意に変えることができるよう
になる。
理制御機能の設定変更指令機能を持たせると共に、この
設定変更指令によりキャッシュ制御手段は管理制御内容
を変更する管理制御機能の外部設定変更機能を持たせる
構成とすると、キャッシュ制御手段はCPUの制御によ
り外から管理制御機能を任意に変えることができるよう
になる。
【0021】従って、例えば、設定変更指令によりキャ
ッシュ制御手段に書き戻し対象から外したアドレスの内
容を、メイン・メモリへの書き戻し対象として管理制御
するように設定変更することで、プロセススイッチによ
り新たな別のプログラムの実行に移った際等において、
今までのプログラム実行において変更のあった内容につ
いては、書き戻しの対象となるように管理でき、情報の
保全ができると共に、新しいプログラムの実行による間
接アドレッシング命令に基づく第一のデータアクセスに
おいては、そのアクセスされたアドレスのデータ変更に
伴う書き戻しを抑制して、キャッシュシステム利用によ
るメモリアクセスの時間短縮効果を維持することができ
るようなる。
ッシュ制御手段に書き戻し対象から外したアドレスの内
容を、メイン・メモリへの書き戻し対象として管理制御
するように設定変更することで、プロセススイッチによ
り新たな別のプログラムの実行に移った際等において、
今までのプログラム実行において変更のあった内容につ
いては、書き戻しの対象となるように管理でき、情報の
保全ができると共に、新しいプログラムの実行による間
接アドレッシング命令に基づく第一のデータアクセスに
おいては、そのアクセスされたアドレスのデータ変更に
伴う書き戻しを抑制して、キャッシュシステム利用によ
るメモリアクセスの時間短縮効果を維持することができ
るようなる。
【0022】CPUは、チップ外に端子として引き出さ
れているか否かにかかわりなく、一般に命令アクセスか
データアクセスかを外部に知らせる専用の信号線を持
つ。これを利用して、間接アドレッシング命令実行の際
の第一のメモリデータアクセスであることを外部に伝え
る機能を実現する。
れているか否かにかかわりなく、一般に命令アクセスか
データアクセスかを外部に知らせる専用の信号線を持
つ。これを利用して、間接アドレッシング命令実行の際
の第一のメモリデータアクセスであることを外部に伝え
る機能を実現する。
【0023】通常、間接アドレッシング命令において
は、第一に命令により指定されたアドレスにアクセスを
行ない、第二に第一のアクセスで得られたデータをアド
レスとしてメモリに再びアクセスする。本発明において
第一のメモリデータアクセスとはこの第一のアクセスを
指す。
は、第一に命令により指定されたアドレスにアクセスを
行ない、第二に第一のアクセスで得られたデータをアド
レスとしてメモリに再びアクセスする。本発明において
第一のメモリデータアクセスとはこの第一のアクセスを
指す。
【0024】上述したCPUから外部に伝える信号があ
れば、キャッシュは間接アドレッシングにおける第一の
メモリデータアクセスと、そうでないメモリデータアク
セスとを区別することが出来る。
れば、キャッシュは間接アドレッシングにおける第一の
メモリデータアクセスと、そうでないメモリデータアク
セスとを区別することが出来る。
【0025】アドレッシングを伴う命令系の場合、特に
それが間接アドレッシングを伴う命令においては、その
命令の実行により最初に指定される第一のメモリアドレ
スA1は目的の情報を納めたアドレス位置の情報格納用
に使用されており、第一のメモリアドレスA1のアドレ
ス位置に格納した情報が目的のアドレスA2を指してい
る。従って、第一のメモリアドレスA1は間接アドレッ
シングを実行する度に、同じアドレス位置が指定される
ことになるのに対し、間接アドレッシングを伴わない命
令系の命令においては、その命令の実行に伴うメモリデ
ータアクセスは、実行のたびに指定されるメモリアドレ
スの内容が変化する可能性があるので、同じアドレス位
置を指定することになる可能性は低い。
それが間接アドレッシングを伴う命令においては、その
命令の実行により最初に指定される第一のメモリアドレ
スA1は目的の情報を納めたアドレス位置の情報格納用
に使用されており、第一のメモリアドレスA1のアドレ
ス位置に格納した情報が目的のアドレスA2を指してい
る。従って、第一のメモリアドレスA1は間接アドレッ
シングを実行する度に、同じアドレス位置が指定される
ことになるのに対し、間接アドレッシングを伴わない命
令系の命令においては、その命令の実行に伴うメモリデ
ータアクセスは、実行のたびに指定されるメモリアドレ
スの内容が変化する可能性があるので、同じアドレス位
置を指定することになる可能性は低い。
【0026】そこで、例えば、間接アドレッシングを実
行する命令の場合に、第一のメモリアクセスのデータは
ライトワンス(キャッシュのみ、書き込み操作する)で
管理し、そうでないメモリデータアクセス、すなわち、
間接アドレッシングを伴わないメモリ書き込み命令系に
おいて、その命令の実行に伴うメモリデータアクセスに
対しては、ライトスルー(キャッシュ・メモリとメイン
・メモリを共に書き込み操作する)で管理することによ
り、キャッシュを介したメモリアクセスに掛かる時間を
短くすることが出来る。
行する命令の場合に、第一のメモリアクセスのデータは
ライトワンス(キャッシュのみ、書き込み操作する)で
管理し、そうでないメモリデータアクセス、すなわち、
間接アドレッシングを伴わないメモリ書き込み命令系に
おいて、その命令の実行に伴うメモリデータアクセスに
対しては、ライトスルー(キャッシュ・メモリとメイン
・メモリを共に書き込み操作する)で管理することによ
り、キャッシュを介したメモリアクセスに掛かる時間を
短くすることが出来る。
【0027】また、CPUの間接アドレッシング命令で
は、その命令において実施される第一のメモリアクセス
の段階で得られるデータは、次のメモリアクセスの対象
となるアドレスを決定するために使われる。従って、例
えば、一連のデータを順次書き替えたり、保存したり、
あるいは取り込んだりするなどの処理を行うにあたっ
て、間接アドレッシングの命令系を使用するような場合
を考えてみると、間接アドレッシングの命令系実行にお
ける第一のメモリアクセスの段階でのアクセス対象とな
ったアドレス位置に格納されたデータ内容は、間接アド
レッシング命令が実行された後の直近の未来に変更され
る可能性が高い。そして、このデータ内容の変更のため
のメモリデータアクセスは、間接アドレッシングのため
のアドレスを得る第一のメモリデータアクセスではな
い。このデータ内容の変更のためのメモリデータアクセ
スは、通常の演算命令やストア命令で行われるか、もし
くは間接アドレッシング命令自身に当該番地の内容を変
更する機能が含まれており、それによって変更のための
メモリデータアクセスがなされる。
は、その命令において実施される第一のメモリアクセス
の段階で得られるデータは、次のメモリアクセスの対象
となるアドレスを決定するために使われる。従って、例
えば、一連のデータを順次書き替えたり、保存したり、
あるいは取り込んだりするなどの処理を行うにあたっ
て、間接アドレッシングの命令系を使用するような場合
を考えてみると、間接アドレッシングの命令系実行にお
ける第一のメモリアクセスの段階でのアクセス対象とな
ったアドレス位置に格納されたデータ内容は、間接アド
レッシング命令が実行された後の直近の未来に変更され
る可能性が高い。そして、このデータ内容の変更のため
のメモリデータアクセスは、間接アドレッシングのため
のアドレスを得る第一のメモリデータアクセスではな
い。このデータ内容の変更のためのメモリデータアクセ
スは、通常の演算命令やストア命令で行われるか、もし
くは間接アドレッシング命令自身に当該番地の内容を変
更する機能が含まれており、それによって変更のための
メモリデータアクセスがなされる。
【0028】そこでキャッシュ・システム側が間接アド
レッシングにおける第一のメモリデータアクセスのアド
レスを覚えておけば、変更される際のアクセスも、通常
のメモリデータアクセスと区別して管理することが出来
るようになり、キャッシュ・メモリを介したメモリアク
セス全体に掛かる時間を更に短縮出来るようになること
を利用した。
レッシングにおける第一のメモリデータアクセスのアド
レスを覚えておけば、変更される際のアクセスも、通常
のメモリデータアクセスと区別して管理することが出来
るようになり、キャッシュ・メモリを介したメモリアク
セス全体に掛かる時間を更に短縮出来るようになること
を利用した。
【0029】また、命令の実行により、プロセススイッ
チが発生した場合には、全く別の処理に移る可能性があ
り、この場合、間接アドレッシングにおける第一のメモ
リデータアクセス対象のアドレスの内容は使用されなく
なる可能性が高い。
チが発生した場合には、全く別の処理に移る可能性があ
り、この場合、間接アドレッシングにおける第一のメモ
リデータアクセス対象のアドレスの内容は使用されなく
なる可能性が高い。
【0030】そこで、本発明では、このアドレスへのア
クセスを管理しているキャッシュ制御手段は、間接アド
レッシングのために参照する第一のメモリデータアクセ
ス対象のアドレスの格納データに内容変更があっても、
普段はこれをメイン・メモリに対して全く書き戻し(ラ
イトバック)しない状態にしておき、プロセススイッチ
の発生時点で、将来もしキャッシュから溢れたらキャッ
シュ・メモリからデータをメイン・メモリに対してライ
トバック可能な制御状態に切替えておけば、間接アドレ
ッシングのために参照する第一のメモリデータアクセス
対象の番地の格納データに変更があっても、いちいちメ
イン・メモリに対して書き戻ししないので、メイン・メ
モリに対する余計なアクセスがなくなり、その分、キャ
ッシュ・メモリを介したメモリアクセス全体に掛かる時
間の短縮に寄与することになることを本発明は利用し
た。
クセスを管理しているキャッシュ制御手段は、間接アド
レッシングのために参照する第一のメモリデータアクセ
ス対象のアドレスの格納データに内容変更があっても、
普段はこれをメイン・メモリに対して全く書き戻し(ラ
イトバック)しない状態にしておき、プロセススイッチ
の発生時点で、将来もしキャッシュから溢れたらキャッ
シュ・メモリからデータをメイン・メモリに対してライ
トバック可能な制御状態に切替えておけば、間接アドレ
ッシングのために参照する第一のメモリデータアクセス
対象の番地の格納データに変更があっても、いちいちメ
イン・メモリに対して書き戻ししないので、メイン・メ
モリに対する余計なアクセスがなくなり、その分、キャ
ッシュ・メモリを介したメモリアクセス全体に掛かる時
間の短縮に寄与することになることを本発明は利用し
た。
【0031】また、プロセススイッチはプログラムにし
か判らないので、キャッシュ制御手段におけるキャッシ
ュ管理の状態をCPUによりプログラムで変更できるよ
うにしておけば、プロセススイッチ時に状態を変更する
ことが出来る。
か判らないので、キャッシュ制御手段におけるキャッシ
ュ管理の状態をCPUによりプログラムで変更できるよ
うにしておけば、プロセススイッチ時に状態を変更する
ことが出来る。
【0032】また、このプロセススイッチ発生の際に、
間接アドレッシングにおける第一のメモリデータアクセ
ス対象のアドレスであることをキャッシュの制御情報か
ら消すことによっても、そのキャッシュの制御を変える
ことが出来る。
間接アドレッシングにおける第一のメモリデータアクセ
ス対象のアドレスであることをキャッシュの制御情報か
ら消すことによっても、そのキャッシュの制御を変える
ことが出来る。
【0033】さらに、プログラムによりキャッシュのラ
イトバック(キャッシュ・メモリからメイン・メモリへ
の書き戻し)を実行できるようにしてあるならば、プロ
セススイッチの時に、必要に応じて先にキャッシュから
メインメモリへ該当アドレスの格納データを書き戻すこ
とにより、新しいプログラムの性質に合わせてキャッシ
ュからまとめて書き出したり、実行に応じて書き出した
りする制御が可能となり、メイン・メモリに対する無用
なアクセスを抑制して効果的にキャッシュ・メモリを運
用することが可能になる。
イトバック(キャッシュ・メモリからメイン・メモリへ
の書き戻し)を実行できるようにしてあるならば、プロ
セススイッチの時に、必要に応じて先にキャッシュから
メインメモリへ該当アドレスの格納データを書き戻すこ
とにより、新しいプログラムの性質に合わせてキャッシ
ュからまとめて書き出したり、実行に応じて書き出した
りする制御が可能となり、メイン・メモリに対する無用
なアクセスを抑制して効果的にキャッシュ・メモリを運
用することが可能になる。
【0034】ゆえに、CPUの僅かな変更とキャッシュ
の制御方法の変更だけで、即ち、大きく回路量を増やす
ことなく、キャッシュ・メモリを介したメモリアクセス
に掛かる時間を短くすることが出来るようになる。
の制御方法の変更だけで、即ち、大きく回路量を増やす
ことなく、キャッシュ・メモリを介したメモリアクセス
に掛かる時間を短くすることが出来るようになる。
【0035】
【実施例】以下、本発明の一実施例について、図面を参
照して説明する。図1は本発明による計算機システムの
構成例を示すブロック図である。図中、1はCPU(プ
ロセッサ)、2はキャッシュ制御回路、3はキャッシュ
・メモリ、4はメイン・メモリ、5はCPU1とキャッ
シュ・メモリ3との間のアドレス信号、6はCPU1と
キャッシュ・メモリ3との間のデータ信号、7はメイン
・メモリ4とキャッシュ・メモリとの間のアドレス信
号、8はメイン・メモリ4とキャッシュ・メモリとの間
のデータ信号、9はCPU1からキャッシュ制御回路2
への信号線であり、CPU1が発生する命令アクセスと
データアクセスを区別する命令/データアクセス種別信
号C0を伝達するための信号線である。
照して説明する。図1は本発明による計算機システムの
構成例を示すブロック図である。図中、1はCPU(プ
ロセッサ)、2はキャッシュ制御回路、3はキャッシュ
・メモリ、4はメイン・メモリ、5はCPU1とキャッ
シュ・メモリ3との間のアドレス信号、6はCPU1と
キャッシュ・メモリ3との間のデータ信号、7はメイン
・メモリ4とキャッシュ・メモリとの間のアドレス信
号、8はメイン・メモリ4とキャッシュ・メモリとの間
のデータ信号、9はCPU1からキャッシュ制御回路2
への信号線であり、CPU1が発生する命令アクセスと
データアクセスを区別する命令/データアクセス種別信
号C0を伝達するための信号線である。
【0036】10はCPU1からキャッシュ制御回路2
への信号線であり、CPU1が発生する間接アドレッシ
ング時の第一のメモリデータアクセス(すなわち、参照
アドレス取り込みのためのメモリデータアクセスで、最
終的にアクセスすべきアドレスを持つメモリアドレスの
情報を格納してあるアドレスへのアクセス)であるかを
区別するデータアクセス識別信号C1を伝達するための
信号線である。また、11はキャッシュ制御回路2とキ
ャッシュ・メモリ3との間で、制御したり情報を得たり
するのに用いる制御信号C2の授受のための信号線であ
る。
への信号線であり、CPU1が発生する間接アドレッシ
ング時の第一のメモリデータアクセス(すなわち、参照
アドレス取り込みのためのメモリデータアクセスで、最
終的にアクセスすべきアドレスを持つメモリアドレスの
情報を格納してあるアドレスへのアクセス)であるかを
区別するデータアクセス識別信号C1を伝達するための
信号線である。また、11はキャッシュ制御回路2とキ
ャッシュ・メモリ3との間で、制御したり情報を得たり
するのに用いる制御信号C2の授受のための信号線であ
る。
【0037】CPU1は、メイン・メモリ4内に格納さ
れたプログラムを実行して演算処理や制御を実施するプ
ロセッサであり、制御の中枢を担うものであって、ここ
で使用する当該CPU1は、間接アドレッシング命令の
実行の時に第一のメモリデータアクセスであること、す
なわち、最終的にアクセスすべきアドレスを持つメモリ
へのアクセスであることを外部に伝える機能を具備する
構成としてある。
れたプログラムを実行して演算処理や制御を実施するプ
ロセッサであり、制御の中枢を担うものであって、ここ
で使用する当該CPU1は、間接アドレッシング命令の
実行の時に第一のメモリデータアクセスであること、す
なわち、最終的にアクセスすべきアドレスを持つメモリ
へのアクセスであることを外部に伝える機能を具備する
構成としてある。
【0038】また、キャッシュ・メモリ3は、メイン・
メモリ4とCPU1との間に介在されて、これらの間の
データ授受の橋渡しをするキャッシュとしての機能を果
たすものであり、メイン・メモリ4はCPU1の実行す
るプログラムや、データの格納、作業領域等になる主メ
モリである。
メモリ4とCPU1との間に介在されて、これらの間の
データ授受の橋渡しをするキャッシュとしての機能を果
たすものであり、メイン・メモリ4はCPU1の実行す
るプログラムや、データの格納、作業領域等になる主メ
モリである。
【0039】また、キャッシュ制御回路2はCPU1か
らの制御情報、アドレス情報やデータ等に基づき、ある
いはキャッシュ・メモリ3からの情報に基づき、キャッ
シュ・メモリ3のリード/ライト制御や管理をしたり、
メイン・メモリ4のリード/ライト制御およびアドレス
制御をしたりする回路であって、間接アドレッシングに
よるメモリデータアクセスとそうでないメモリデータア
クセスとを区別して管理をする機能を有する。
らの制御情報、アドレス情報やデータ等に基づき、ある
いはキャッシュ・メモリ3からの情報に基づき、キャッ
シュ・メモリ3のリード/ライト制御や管理をしたり、
メイン・メモリ4のリード/ライト制御およびアドレス
制御をしたりする回路であって、間接アドレッシングに
よるメモリデータアクセスとそうでないメモリデータア
クセスとを区別して管理をする機能を有する。
【0040】CPUは命令を解読し、実行する装置であ
ることから、フェッチした命令コード(取り込んだイン
ストラクションコード)により、どのような処理を実施
することになるかを知っている。そのため、命令コード
の実行にあたってのアクセスが、現時点では命令アクセ
スであるのかデータアクセスであるのかがわかっている
ことから、そのいずれの状態にあるかを知らせる信号を
発生している。この信号はCPUのLSIチップ内にお
いて存在しており、インサーキット・エミュレータ(I
CE)などのようなシステム開発ツールにおいて使用さ
れる場合もあるが、多くはCPUのLSIチップ内にあ
るだけで、外部に信号端子として引き出されているケー
スは少ない。
ることから、フェッチした命令コード(取り込んだイン
ストラクションコード)により、どのような処理を実施
することになるかを知っている。そのため、命令コード
の実行にあたってのアクセスが、現時点では命令アクセ
スであるのかデータアクセスであるのかがわかっている
ことから、そのいずれの状態にあるかを知らせる信号を
発生している。この信号はCPUのLSIチップ内にお
いて存在しており、インサーキット・エミュレータ(I
CE)などのようなシステム開発ツールにおいて使用さ
れる場合もあるが、多くはCPUのLSIチップ内にあ
るだけで、外部に信号端子として引き出されているケー
スは少ない。
【0041】また、CPU1が現在、命令実行のための
アクセス状態であるのか、データをアクセスしている状
態であるのかを知らせるための信号C0も内部での制御
上、CPUの内部回路に存在しており、また、プロセッ
サによっては外部回路の制御上、端子を設けてこの信号
を外部で利用できるようにしてあるものもある。
アクセス状態であるのか、データをアクセスしている状
態であるのかを知らせるための信号C0も内部での制御
上、CPUの内部回路に存在しており、また、プロセッ
サによっては外部回路の制御上、端子を設けてこの信号
を外部で利用できるようにしてあるものもある。
【0042】このようにCPUは、チップ外に端子とし
て引き出されているか否かにかかわりなく、一般に命令
アクセスかデータアクセスかを知らせる専用の信号C1
や現在、命令を読み込んでいるか、データをアクセスし
ているかの区別のための信号C0を発生するようになっ
ているか、あるいはCPUの内部回路構成上、これらの
信号を容易に得ることができる。
て引き出されているか否かにかかわりなく、一般に命令
アクセスかデータアクセスかを知らせる専用の信号C1
や現在、命令を読み込んでいるか、データをアクセスし
ているかの区別のための信号C0を発生するようになっ
ているか、あるいはCPUの内部回路構成上、これらの
信号を容易に得ることができる。
【0043】従って、本発明ではこれら信号C0,C1
を、CPU外に引き出して、これら信号C0,C1によ
り、間接アドレッシングを伴う命令においてCPUが間
接アドレッシングにかかわる命令の実行の際の第一のメ
モリデータアクセスのタイミングであることや、データ
アクセスの状態にあるタイミングを外部に伝えることが
できる構成とする。
を、CPU外に引き出して、これら信号C0,C1によ
り、間接アドレッシングを伴う命令においてCPUが間
接アドレッシングにかかわる命令の実行の際の第一のメ
モリデータアクセスのタイミングであることや、データ
アクセスの状態にあるタイミングを外部に伝えることが
できる構成とする。
【0044】上述したように、これら信号C0,C1の
うち、信号C0は信号線9によって間接アドレッシング
にかかわる命令の実行の際の第一のメモリデータアクセ
スのタイミングであることを知らせるアクセス種別信号
としてCPU1から供給できる構成としてあることによ
り、キャッシュシステムを構成するキャッシュ制御回路
2は第一のメモリデータアクセスと、そうでないメモリ
データアクセスとを区別して対処でき、また、データア
クセスの状態にあるタイミングを知ってつぎのような制
御ができる構成にすることを可能ならしめている。
うち、信号C0は信号線9によって間接アドレッシング
にかかわる命令の実行の際の第一のメモリデータアクセ
スのタイミングであることを知らせるアクセス種別信号
としてCPU1から供給できる構成としてあることによ
り、キャッシュシステムを構成するキャッシュ制御回路
2は第一のメモリデータアクセスと、そうでないメモリ
データアクセスとを区別して対処でき、また、データア
クセスの状態にあるタイミングを知ってつぎのような制
御ができる構成にすることを可能ならしめている。
【0045】すなわち、キャッシュ制御回路2はCPU
1が間接アドレッシングを使用した命令を実行する場合
に、第一のメモリデータアクセスの対象となったアドレ
スに対するデータ内容の変更はライトワンス(キャッシ
ュのみ、書き込み操作する)で管理し、そうでないメモ
リデータアクセス、つまり、間接アドレッシングを伴わ
ないメモリ書き込み命令系において、その命令の実行に
伴うメモリデータアクセスに対しては、ライトスルー
(キャッシュ・メモリとメイン・メモリを共に書き込み
操作する)で管理する構成としてある。
1が間接アドレッシングを使用した命令を実行する場合
に、第一のメモリデータアクセスの対象となったアドレ
スに対するデータ内容の変更はライトワンス(キャッシ
ュのみ、書き込み操作する)で管理し、そうでないメモ
リデータアクセス、つまり、間接アドレッシングを伴わ
ないメモリ書き込み命令系において、その命令の実行に
伴うメモリデータアクセスに対しては、ライトスルー
(キャッシュ・メモリとメイン・メモリを共に書き込み
操作する)で管理する構成としてある。
【0046】従って、キャッシュ制御回路2には、間接
アドレッシングにおける第一のメモリデータアクセスの
実行時における当該第一のメモリデータアクセスの対象
となるアドレスの情報を保持する機能を持たせてあり、
この保持したアドレスに対するメモリデータアクセスに
対しては、ライトワンスで管理すると共に、キャッシュ
・メモリ3が溢れた場合か、プログラムを終了させる場
合にのみ、内容をメイン・メモリ4にライトバックする
構成としてある。
アドレッシングにおける第一のメモリデータアクセスの
実行時における当該第一のメモリデータアクセスの対象
となるアドレスの情報を保持する機能を持たせてあり、
この保持したアドレスに対するメモリデータアクセスに
対しては、ライトワンスで管理すると共に、キャッシュ
・メモリ3が溢れた場合か、プログラムを終了させる場
合にのみ、内容をメイン・メモリ4にライトバックする
構成としてある。
【0047】さらにまた、キャッシュ制御回路2は、自
己の管理状態を外部より変更することができるように構
成されており、信号線6を介してCPU1からそのため
のデータを与えることができる構成となっているので、
信号線6を通してプログラムでキャッシュ制御回路2に
管理情報のデータを書き込むことにより、キャッシュ制
御回路2の状態を変更することが出来る。
己の管理状態を外部より変更することができるように構
成されており、信号線6を介してCPU1からそのため
のデータを与えることができる構成となっているので、
信号線6を通してプログラムでキャッシュ制御回路2に
管理情報のデータを書き込むことにより、キャッシュ制
御回路2の状態を変更することが出来る。
【0048】キャッシュ制御回路2に持たせる管理情報
としては、キャッシングのために必要なキャッシングし
たアドレス領域を示す情報、キャッシュ・メモリ3のど
こにどのアドレス領域のデータが格納されているかを示
す情報、書き替えられたデータがどれであるかを示す情
報、間接アドレッシング命令の第一のメモリデータアク
セスを受けたことがあるか否かを示す情報、間接アドレ
ッシング時の第一のメモリアクセスの対象となったアド
レスの情報、キャッシュから追い出す時はライトバック
するか否かを示す情報等である。
としては、キャッシングのために必要なキャッシングし
たアドレス領域を示す情報、キャッシュ・メモリ3のど
こにどのアドレス領域のデータが格納されているかを示
す情報、書き替えられたデータがどれであるかを示す情
報、間接アドレッシング命令の第一のメモリデータアク
セスを受けたことがあるか否かを示す情報、間接アドレ
ッシング時の第一のメモリアクセスの対象となったアド
レスの情報、キャッシュから追い出す時はライトバック
するか否かを示す情報等である。
【0049】つぎにこのような構成の本装置の作用を説
明する。ここでは、計算機で、キャッシュのデータ管理
情報をCPU1での命令実行により変更できる機能も具
備するキャッシュ・システムを実現する例を説明する。
明する。ここでは、計算機で、キャッシュのデータ管理
情報をCPU1での命令実行により変更できる機能も具
備するキャッシュ・システムを実現する例を説明する。
【0050】本システムでは、CPU1が命令を読み込
んでいる状態にあるのか、データをアクセスしている状
態であるのかの区別のための信号である命令/データア
クセス種別信号C0が信号線9を介して当該CPU1か
ら出力され、キャッシュ制御回路2に与えられるため、
キャッシュ制御回路2はこの命令/データアクセス種別
信号C0から現在、CPU1がどの状態にあるかを識別
できる。
んでいる状態にあるのか、データをアクセスしている状
態であるのかの区別のための信号である命令/データア
クセス種別信号C0が信号線9を介して当該CPU1か
ら出力され、キャッシュ制御回路2に与えられるため、
キャッシュ制御回路2はこの命令/データアクセス種別
信号C0から現在、CPU1がどの状態にあるかを識別
できる。
【0051】そして、命令アクセスの状態ではキャッシ
ュ制御回路2はメイン・メモリ4よりキャッシュ・メモ
リ3にキャッシュ制御回路2がキャッシングしたもの
は、ライトバックの対象としないように管理制御し、一
方、データアクセスによりキャッシングしたものはライ
トバックの対象とするように管理制御する。ここではラ
イトスルーと仮定して説明する。
ュ制御回路2はメイン・メモリ4よりキャッシュ・メモ
リ3にキャッシュ制御回路2がキャッシングしたもの
は、ライトバックの対象としないように管理制御し、一
方、データアクセスによりキャッシングしたものはライ
トバックの対象とするように管理制御する。ここではラ
イトスルーと仮定して説明する。
【0052】ライトスルーの場合、CPU1がデータを
メモリに書き込み制御する時には、CPU1からの書き
込みデータはデータ用の信号線6を通ってキャッシュ・
メモリ3に供給され、キャッシュ制御回路2の制御によ
りここに書き込まれるだけでなく、同時に信号線8を通
ってメイン・メモリ4にも供給され、ここにも書き込み
制御されることになる。
メモリに書き込み制御する時には、CPU1からの書き
込みデータはデータ用の信号線6を通ってキャッシュ・
メモリ3に供給され、キャッシュ制御回路2の制御によ
りここに書き込まれるだけでなく、同時に信号線8を通
ってメイン・メモリ4にも供給され、ここにも書き込み
制御されることになる。
【0053】今、CPU1が発生するデータアクセス識
別信号C1を信号線10を介して受け取ったキャッシュ
制御回路2は、この信号から間接アドレッシング命令の
ための第一のデータアクセスであると知ったとする。
別信号C1を信号線10を介して受け取ったキャッシュ
制御回路2は、この信号から間接アドレッシング命令の
ための第一のデータアクセスであると知ったとする。
【0054】これにより、キャッシュ制御回路2はCP
U1から与えられるメモリアクセスすべき対象のアドレ
ス情報に基づき、そのアドレスを含む近傍のアドレス領
域のデータをメインメモリ4よりキャッシュ・メモリ3
にキャッシングする。そして、キャッシュ制御回路2は
このキャッシュ・メモリ3にキャッシングされたデータ
の中からCPU1の要求するアドレス位置該当のデータ
を読出し、CPU1に与える。
U1から与えられるメモリアクセスすべき対象のアドレ
ス情報に基づき、そのアドレスを含む近傍のアドレス領
域のデータをメインメモリ4よりキャッシュ・メモリ3
にキャッシングする。そして、キャッシュ制御回路2は
このキャッシュ・メモリ3にキャッシングされたデータ
の中からCPU1の要求するアドレス位置該当のデータ
を読出し、CPU1に与える。
【0055】もちろん、このキャッシングは当該アドレ
スの領域が既にキャッシュ・メモリ3に取り込まれてい
るときは、このキャッシュ・メモリ3の既取り込みデー
タのうちから、データアクセス対応アドレスに相当する
位置のデータを読出し、これをCPU1に与えるように
し、メイン・メモリ4のアクセスはしない。
スの領域が既にキャッシュ・メモリ3に取り込まれてい
るときは、このキャッシュ・メモリ3の既取り込みデー
タのうちから、データアクセス対応アドレスに相当する
位置のデータを読出し、これをCPU1に与えるように
し、メイン・メモリ4のアクセスはしない。
【0056】また、キャッシュ制御回路2はCPU1に
よる間接アドレッシング命令の第一のメモリデータアク
セスの段階でこの第一のメモリデータアクセスの対象と
なるアドレスの情報を“間接アドレッシング命令の第一
のメモリアクセス対象アドレス”として管理情報に取り
込み、かつ、「間接アドレッシング命令の第一のメモリ
データアクセスを受けたことがある」という情報を管理
情報にセットすると共に、ライトワンスの管理を行い、
以後のライトバック制御の除外対象として管理する。但
し、このアドレスの書き込みデータが、キャッシュ・メ
モリ3の溢れ発生により、あるいはプログラム終了等の
際に、まとめてメイン・メモリ4の該当アドレスにライ
トバックする。
よる間接アドレッシング命令の第一のメモリデータアク
セスの段階でこの第一のメモリデータアクセスの対象と
なるアドレスの情報を“間接アドレッシング命令の第一
のメモリアクセス対象アドレス”として管理情報に取り
込み、かつ、「間接アドレッシング命令の第一のメモリ
データアクセスを受けたことがある」という情報を管理
情報にセットすると共に、ライトワンスの管理を行い、
以後のライトバック制御の除外対象として管理する。但
し、このアドレスの書き込みデータが、キャッシュ・メ
モリ3の溢れ発生により、あるいはプログラム終了等の
際に、まとめてメイン・メモリ4の該当アドレスにライ
トバックする。
【0057】CPU1のつぎの処理がデータの読出しで
あり、その読出しの対象となるアドレスがキャッシュ・
メモリ3にキャッシングされたアドレス領域内に該当す
るものであれば、キャッシュ・メモリ3にあるデータの
うち、その読出し対象となるアドレス該当のもののデー
タを読出し、CPU1に与えるようにキャッシュ制御回
路2は制御動作する。一方、その読出しの対象となるア
ドレスがキャッシュ・メモリ3にキャッシングされてい
ないアドレス領域に該当するものであれば、メイン・メ
モリ4をアクセスしてキャッシュ・メモリ3にキャッシ
ングし、そのうちの該当のもののデータをCPU1に与
えるようにキャッシュ制御回路2は制御動作する。
あり、その読出しの対象となるアドレスがキャッシュ・
メモリ3にキャッシングされたアドレス領域内に該当す
るものであれば、キャッシュ・メモリ3にあるデータの
うち、その読出し対象となるアドレス該当のもののデー
タを読出し、CPU1に与えるようにキャッシュ制御回
路2は制御動作する。一方、その読出しの対象となるア
ドレスがキャッシュ・メモリ3にキャッシングされてい
ないアドレス領域に該当するものであれば、メイン・メ
モリ4をアクセスしてキャッシュ・メモリ3にキャッシ
ングし、そのうちの該当のもののデータをCPU1に与
えるようにキャッシュ制御回路2は制御動作する。
【0058】また、CPU1がメイン・メモリ4のある
アドレスに書き込みを行う処理に入ったとする。この対
象のアドレスがキャッシュ・メモリ3にキャッシングさ
れたアドレス領域内に該当するアドレスであれば、キャ
ッシュ制御回路2はキャッシュ・メモリ3にあるデータ
のうち、当該アクセス対象アドレス該当の位置のデータ
を書き替えることにより書き込み処理を実行する。
アドレスに書き込みを行う処理に入ったとする。この対
象のアドレスがキャッシュ・メモリ3にキャッシングさ
れたアドレス領域内に該当するアドレスであれば、キャ
ッシュ制御回路2はキャッシュ・メモリ3にあるデータ
のうち、当該アクセス対象アドレス該当の位置のデータ
を書き替えることにより書き込み処理を実行する。
【0059】但し、当該アクセス対象アドレスが間接ア
ドレッシング命令実行時における第一のメモリデータア
クセス対象アドレスであった時は、キャッシュ制御回路
2は管理情報からこれを検知し、ライトバックしない。
また、このデータはキャッシュから追い出されないよう
に、キャッシュ制御回路2は制御する。
ドレッシング命令実行時における第一のメモリデータア
クセス対象アドレスであった時は、キャッシュ制御回路
2は管理情報からこれを検知し、ライトバックしない。
また、このデータはキャッシュから追い出されないよう
に、キャッシュ制御回路2は制御する。
【0060】信号線6を介してCPU1から与えられる
データはキャッシュ・メモリ3だけでなく、キャッシュ
制御回路2にも与えることができる。従って、信号線6
を通してCPU1によりプログラムでキャッシュ制御回
路2に管理情報データを書き込むことにより、キャッシ
ュ制御回路2の状態を変更することが出来る。
データはキャッシュ・メモリ3だけでなく、キャッシュ
制御回路2にも与えることができる。従って、信号線6
を通してCPU1によりプログラムでキャッシュ制御回
路2に管理情報データを書き込むことにより、キャッシ
ュ制御回路2の状態を変更することが出来る。
【0061】例えば、条件分岐等によりプログラムの実
行位置が全く変わってしまうようなプロセススイッチの
時には、プログラムでキャッシュ制御回路2に対して、
「間接アドレッシング命令の第一のメモリデータアクセ
スを受けたことがある」という管理情報を「キャッシュ
から追い出す時はライトバックする」という情報に変更
させるように、予めプログラムを組んでおく。このよう
にすれば、プロセススイッチの時には、ライトバックの
除外対象としていた当該番地のデータもキャッシュ・メ
モリからの追い出しの対象とするように管理情報が書き
変わるので、ライトバックの除外対象という規制条件が
解除されることになる。
行位置が全く変わってしまうようなプロセススイッチの
時には、プログラムでキャッシュ制御回路2に対して、
「間接アドレッシング命令の第一のメモリデータアクセ
スを受けたことがある」という管理情報を「キャッシュ
から追い出す時はライトバックする」という情報に変更
させるように、予めプログラムを組んでおく。このよう
にすれば、プロセススイッチの時には、ライトバックの
除外対象としていた当該番地のデータもキャッシュ・メ
モリからの追い出しの対象とするように管理情報が書き
変わるので、ライトバックの除外対象という規制条件が
解除されることになる。
【0062】これにより、キャッシュ・メモリ3の記憶
データが溢れたときに、当該番地のデータもキャッシュ
からの追い出しの対象となり、新しいプロセスの実行が
進むにつれ、順次キャッシュから追い出され、その際に
はメイン・メモリ4にライトバックされることになる。
データが溢れたときに、当該番地のデータもキャッシュ
からの追い出しの対象となり、新しいプロセスの実行が
進むにつれ、順次キャッシュから追い出され、その際に
はメイン・メモリ4にライトバックされることになる。
【0063】一方、新しいプロセスの実行により、間接
アドレッシング命令の第一のメモリデータアクセスが発
生すれば、キャッシュ制御回路2は当該新しいプロセス
に対するキャッシングの対象になったアドレス領域につ
いての管理情報に、「間接アドレッシング命令の第一の
メモリデータアクセスを受けたことがある」という情報
を新たに蓄え、ライトバック禁止の管理制御を当該アド
レスのデータについて実施して、当該アドレスのデータ
は他のアドレス領域のデータと異なる管理を受けるよう
になる。つまり、管理上報によりライトバック禁止とな
っていない他のアドレス領域のデータについては、その
アドレス領域内のデータが変更になれば、ライトスルー
の管理を受けるか、あるいは、キャッシュの溢れの際に
メイン・メモリ4にライトバックされることになる。
アドレッシング命令の第一のメモリデータアクセスが発
生すれば、キャッシュ制御回路2は当該新しいプロセス
に対するキャッシングの対象になったアドレス領域につ
いての管理情報に、「間接アドレッシング命令の第一の
メモリデータアクセスを受けたことがある」という情報
を新たに蓄え、ライトバック禁止の管理制御を当該アド
レスのデータについて実施して、当該アドレスのデータ
は他のアドレス領域のデータと異なる管理を受けるよう
になる。つまり、管理上報によりライトバック禁止とな
っていない他のアドレス領域のデータについては、その
アドレス領域内のデータが変更になれば、ライトスルー
の管理を受けるか、あるいは、キャッシュの溢れの際に
メイン・メモリ4にライトバックされることになる。
【0064】要するに本システムは、キャッシュ機能を
備えた計算機システムにおいて、データ変更の頻発によ
るキャッシュ機能を持たせた本来の効果が得られない欠
点を、データ変更があってもそれが間接アドレッシング
に伴う参照アドレスのデータの格納情報であればキャッ
シュ・メモリ内の書き替えのみにとどめ、メイン・メモ
リに対するライトバックを行わないようにして、メイン
・メモリに対するアクセスを減らし、キャッシュによる
アクセス時間短縮効果を確保するようにしたものであ
る。
備えた計算機システムにおいて、データ変更の頻発によ
るキャッシュ機能を持たせた本来の効果が得られない欠
点を、データ変更があってもそれが間接アドレッシング
に伴う参照アドレスのデータの格納情報であればキャッ
シュ・メモリ内の書き替えのみにとどめ、メイン・メモ
リに対するライトバックを行わないようにして、メイン
・メモリに対するアクセスを減らし、キャッシュによる
アクセス時間短縮効果を確保するようにしたものであ
る。
【0065】キャッシュ・メモリは、CPUのメイン・
メモリに対するアクセスに対して、一度、アクセスの対
象となったアドレスを含むその近傍のアドレス領域の内
容を、予めキャッシュ・メモリに取り込んでおき、この
取り込んだ領域の該当アドレスをアクセスする場合に
は、メイン・メモリをアクセスする代わりにキャッシュ
・メモリをアクセスして必要なデータを得ることで、メ
イン・メモリがアクセス速度の遅いものであっても、キ
ャッシュ・メモリとして高速動作のものを使用すれば、
システムの動作速度が実質的に高速化できるようにした
ものであるが、書き替えや、アクセス領域変更が頻繁に
生じると、メイン・メモリに対するがアクセスも増えて
キャッシュによるメモリアクセスの時間短縮効果が失わ
れる。
メモリに対するアクセスに対して、一度、アクセスの対
象となったアドレスを含むその近傍のアドレス領域の内
容を、予めキャッシュ・メモリに取り込んでおき、この
取り込んだ領域の該当アドレスをアクセスする場合に
は、メイン・メモリをアクセスする代わりにキャッシュ
・メモリをアクセスして必要なデータを得ることで、メ
イン・メモリがアクセス速度の遅いものであっても、キ
ャッシュ・メモリとして高速動作のものを使用すれば、
システムの動作速度が実質的に高速化できるようにした
ものであるが、書き替えや、アクセス領域変更が頻繁に
生じると、メイン・メモリに対するがアクセスも増えて
キャッシュによるメモリアクセスの時間短縮効果が失わ
れる。
【0066】そこで、本発明では、第一には、CPUが
チップ外に端子として引き出されているか否かにかかわ
りなく、一般に命令アクセスかデータアクセスかを外部
に知らせる専用の信号線を持つことに着目し、この信号
を使用して間接アドレッシング命令実行の際の第一のメ
モリデータアクセスであることを外部に伝える機能を確
保するようにした。
チップ外に端子として引き出されているか否かにかかわ
りなく、一般に命令アクセスかデータアクセスかを外部
に知らせる専用の信号線を持つことに着目し、この信号
を使用して間接アドレッシング命令実行の際の第一のメ
モリデータアクセスであることを外部に伝える機能を確
保するようにした。
【0067】通常、間接アドレッシング命令において
は、第一に命令により指定されたアドレスにアクセスを
行ない、第二に第一のアクセスで得られたデータをアド
レスとしてメイン・メモリを再びアクセスするように機
能する。本発明において第一のメモリデータアクセスと
はこの第一のアクセスを指す。
は、第一に命令により指定されたアドレスにアクセスを
行ない、第二に第一のアクセスで得られたデータをアド
レスとしてメイン・メモリを再びアクセスするように機
能する。本発明において第一のメモリデータアクセスと
はこの第一のアクセスを指す。
【0068】上述したCPUから外部に伝える信号があ
れば、キャッシュは間接アドレッシングにおける第一の
メモリデータアクセスと、そうでないメモリデータアク
セスとを区別することが出来る。
れば、キャッシュは間接アドレッシングにおける第一の
メモリデータアクセスと、そうでないメモリデータアク
セスとを区別することが出来る。
【0069】アドレッシングを伴う命令系の場合、特に
それが間接アドレッシングを伴う命令においては、その
命令の実行により最初に指定される第一のメモリアドレ
スA1は目的の情報を納めたアドレス位置の情報格納用
に使用されており、第一のメモリアドレスA1のアドレ
ス位置に格納した情報が目的のアドレスA2を指してい
る。従って、第一のメモリアドレスA1は間接アドレッ
シングを実行する度に、同じアドレス位置が指定される
ことになるのに対し、間接アドレッシングを伴わない命
令系の命令においては、その命令の実行に伴うメモリデ
ータアクセスは、実行のたびに指定されるメモリアドレ
スの内容が変化する可能性があるので、同じアドレス位
置を指定することになる可能性は低い。
それが間接アドレッシングを伴う命令においては、その
命令の実行により最初に指定される第一のメモリアドレ
スA1は目的の情報を納めたアドレス位置の情報格納用
に使用されており、第一のメモリアドレスA1のアドレ
ス位置に格納した情報が目的のアドレスA2を指してい
る。従って、第一のメモリアドレスA1は間接アドレッ
シングを実行する度に、同じアドレス位置が指定される
ことになるのに対し、間接アドレッシングを伴わない命
令系の命令においては、その命令の実行に伴うメモリデ
ータアクセスは、実行のたびに指定されるメモリアドレ
スの内容が変化する可能性があるので、同じアドレス位
置を指定することになる可能性は低い。
【0070】そこで、例えば、間接アドレッシングを実
行する命令の場合に、第一のメモリデータアクセスの対
象アドレスのデータはライトワンス(キャッシュのみ、
書き込み操作する)で管理し、そうでないメモリデータ
アクセス、すなわち、間接アドレッシングを伴わないメ
モリ書き込み命令系において、その命令の実行に伴うメ
モリデータアクセスに対しては、ライトスルー(キャッ
シュ・メモリとメイン・メモリを共に書き込み操作す
る)で管理するようにした。
行する命令の場合に、第一のメモリデータアクセスの対
象アドレスのデータはライトワンス(キャッシュのみ、
書き込み操作する)で管理し、そうでないメモリデータ
アクセス、すなわち、間接アドレッシングを伴わないメ
モリ書き込み命令系において、その命令の実行に伴うメ
モリデータアクセスに対しては、ライトスルー(キャッ
シュ・メモリとメイン・メモリを共に書き込み操作す
る)で管理するようにした。
【0071】そして、キャッシュ・メモリに対するこの
ような管理制御により、キャッシュを介したメモリアク
セスに掛かる時間を短くすることが出来るようになる。
第二には、間接アドレッシングにおける第一のメモリデ
ータアクセスがあったとき、その対象のアドレス情報を
保持して、その該当アドレスのデータが変更される場合
においても、メイン・メモリへのライトスルーやライト
バックは行わないようにした。また、この場合、上記該
当アドレスのデータはキャッシュから追い出しされない
ように管理するようにした。
ような管理制御により、キャッシュを介したメモリアク
セスに掛かる時間を短くすることが出来るようになる。
第二には、間接アドレッシングにおける第一のメモリデ
ータアクセスがあったとき、その対象のアドレス情報を
保持して、その該当アドレスのデータが変更される場合
においても、メイン・メモリへのライトスルーやライト
バックは行わないようにした。また、この場合、上記該
当アドレスのデータはキャッシュから追い出しされない
ように管理するようにした。
【0072】CPUの間接アドレッシング命令では、そ
の命令において実施される第一のメモリデータアクセス
の段階で得られるデータは、次のメモリアクセスの対象
となるアドレスを決定するために使われる。
の命令において実施される第一のメモリデータアクセス
の段階で得られるデータは、次のメモリアクセスの対象
となるアドレスを決定するために使われる。
【0073】従って、例えば、一連のデータを順次書き
替えたり、保存したり、あるいは取り込んだりするなど
の処理を行うにあたって、間接アドレッシングの命令系
を使用するような場合を考えてみると、間接アドレッシ
ングの命令系実行における第一のメモリデータアクセス
の段階でのアクセス対象となったアドレス位置に格納さ
れたデータ内容は、間接アドレッシング命令が実行され
た後の直近の未来に変更される可能性が高い。そして、
このデータ内容の変更のためのメモリデータアクセス
は、間接アドレッシングのためのアドレスを得る第一の
メモリデータアクセスではない。
替えたり、保存したり、あるいは取り込んだりするなど
の処理を行うにあたって、間接アドレッシングの命令系
を使用するような場合を考えてみると、間接アドレッシ
ングの命令系実行における第一のメモリデータアクセス
の段階でのアクセス対象となったアドレス位置に格納さ
れたデータ内容は、間接アドレッシング命令が実行され
た後の直近の未来に変更される可能性が高い。そして、
このデータ内容の変更のためのメモリデータアクセス
は、間接アドレッシングのためのアドレスを得る第一の
メモリデータアクセスではない。
【0074】このデータ内容の変更のためのメモリデー
タアクセスは、通常の演算命令やストア命令で行われる
か、もしくは間接アドレッシング命令自身に当該番地の
内容を変更する機能が含まれており、それによって変更
のためのメモリデータアクセスがなされる。
タアクセスは、通常の演算命令やストア命令で行われる
か、もしくは間接アドレッシング命令自身に当該番地の
内容を変更する機能が含まれており、それによって変更
のためのメモリデータアクセスがなされる。
【0075】そこで、キャッシュシステム側が間接アド
レッシングにおける第一のメモリデータアクセスのアド
レスを覚えておけば、その該当アドレスのデータが変更
される際のアクセスも、通常のメモリデータアクセスと
区別して管理することが出来るようになり、キャッシュ
を介したメモリアクセス全体に掛かる時間を更に短くす
ることが出来る。
レッシングにおける第一のメモリデータアクセスのアド
レスを覚えておけば、その該当アドレスのデータが変更
される際のアクセスも、通常のメモリデータアクセスと
区別して管理することが出来るようになり、キャッシュ
を介したメモリアクセス全体に掛かる時間を更に短くす
ることが出来る。
【0076】本システムでは、間接アドレッシングにお
ける第一のメモリデータアクセスがあったとき、その対
象のアドレス情報を保持して、その該当アドレスのデー
タが変更される場合においても、メイン・メモリへのラ
イトスルーやライトバックは行わないようにしたことか
ら、間接アドレッシングにおける第一のメモリデータア
クセスにおけるデータ内容の変更はキャッシュ・メモリ
内にのみとどめることで、間接アドレッシングにおける
第一のメモリデータアクセスにおけるデータ内容の変更
の都度、メイン・メモリへのライトスルーを行う場合
や、ライトバックを行うことによるメモリデータアクセ
スの時間の実質的な長時間化の問題を解消して、時間短
縮できるようになる。
ける第一のメモリデータアクセスがあったとき、その対
象のアドレス情報を保持して、その該当アドレスのデー
タが変更される場合においても、メイン・メモリへのラ
イトスルーやライトバックは行わないようにしたことか
ら、間接アドレッシングにおける第一のメモリデータア
クセスにおけるデータ内容の変更はキャッシュ・メモリ
内にのみとどめることで、間接アドレッシングにおける
第一のメモリデータアクセスにおけるデータ内容の変更
の都度、メイン・メモリへのライトスルーを行う場合
や、ライトバックを行うことによるメモリデータアクセ
スの時間の実質的な長時間化の問題を解消して、時間短
縮できるようになる。
【0077】また、第三には、間接アドレッシングにお
ける第一のメモリデータアクセスがあったとき、その対
象のアドレス情報を保持して、その該当アドレスのデー
タが変更される場合においても、メイン・メモリへのラ
イトスルーやライトバックは行わないように管理し、プ
ロセススイッチの発生時点で、それをメイン・メモリに
対してライトバック可能な制御状態に切替えるようにし
た。
ける第一のメモリデータアクセスがあったとき、その対
象のアドレス情報を保持して、その該当アドレスのデー
タが変更される場合においても、メイン・メモリへのラ
イトスルーやライトバックは行わないように管理し、プ
ロセススイッチの発生時点で、それをメイン・メモリに
対してライトバック可能な制御状態に切替えるようにし
た。
【0078】命令の実行により、プロセススイッチが発
生した場合には、全く別の処理に移る可能性があり、こ
の場合、間接アドレッシングにおける第一のメモリデー
タアクセス対象の番地は使用されなくなる可能性が高
い。
生した場合には、全く別の処理に移る可能性があり、こ
の場合、間接アドレッシングにおける第一のメモリデー
タアクセス対象の番地は使用されなくなる可能性が高
い。
【0079】そこで、本発明では、この番地へのアクセ
スを管理しているキャッシュは、間接アドレッシングの
ために参照する第一のメモリデータアクセス対象の番地
の格納データに変更があっても、普段はこれをメイン・
メモリに対して全くライトバックしない状態にしてお
き、プロセススイッチの発生時点で、将来もしキャッシ
ュから溢れたらキャッシュ・メモリからデータをメイン
・メモリに対してライトバック可能な制御状態に切替え
ておけば、間接アドレッシングのために参照する第一の
メモリデータアクセス対象のアドレス位置の格納データ
に変更があっても、いちいちメイン・メモリに対してラ
イトバックしないので、メイン・メモリに対する余計な
アクセスがなくなり、その分、キャッシュ・メモリを介
したメモリアクセス全体に掛かる時間の短縮に寄与する
ことになる。
スを管理しているキャッシュは、間接アドレッシングの
ために参照する第一のメモリデータアクセス対象の番地
の格納データに変更があっても、普段はこれをメイン・
メモリに対して全くライトバックしない状態にしてお
き、プロセススイッチの発生時点で、将来もしキャッシ
ュから溢れたらキャッシュ・メモリからデータをメイン
・メモリに対してライトバック可能な制御状態に切替え
ておけば、間接アドレッシングのために参照する第一の
メモリデータアクセス対象のアドレス位置の格納データ
に変更があっても、いちいちメイン・メモリに対してラ
イトバックしないので、メイン・メモリに対する余計な
アクセスがなくなり、その分、キャッシュ・メモリを介
したメモリアクセス全体に掛かる時間の短縮に寄与する
ことになる。
【0080】プロセススイッチはプログラムにしか判ら
ないので、キャッシュ管理の状態をプログラムで変更で
きるようにしておけば、プロセススイッチ時に状態を変
更することが出来る。
ないので、キャッシュ管理の状態をプログラムで変更で
きるようにしておけば、プロセススイッチ時に状態を変
更することが出来る。
【0081】また、このプロセススイッチ発生の際に、
間接アドレッシングにおける第一のメモリデータアクセ
ス対象の番地であることをキャッシュの制御情報から消
すことによっても、そのキャッシュの制御を変えること
が出来る。
間接アドレッシングにおける第一のメモリデータアクセ
ス対象の番地であることをキャッシュの制御情報から消
すことによっても、そのキャッシュの制御を変えること
が出来る。
【0082】また第四には、本システムにおいてはキャ
ッシュ制御回路は外部より管理情報の内容の書き替えを
できるように構成した。外部より管理情報の内容の書き
替えが可能にキャッシュ制御回路を構成しておくと、C
PUからプログラムによりキャッシュ制御回路に管理情
報を書き替え操作することができるようになる。そし
て、プログラムによりキャッシュ・メモリの内容のライ
トバック(キャッシュからメインメモリへの書き戻し)
を実行できるようになれば、プロセススイッチが発生し
たときに、必要に応じて先にキャッシュ・メモリからメ
イン・メモリへ該当アドレス位置のデータが書き戻され
るようになり、新しいプログラムの性質に合わせてキャ
ッシュ・メモリからメイン・メモリへまとめて書き出し
たり、実行に応じて書き出したりする制御が可能とな
り、キャッシュ・メモリ上の必要なデータはメイン・メ
モリに戻すことができると共に、当該新しいプログラム
の実行による間接アドレッシング命令に基づく第一のデ
ータアクセスにおいては、そのアクセスされたアドレス
のデータ変更に伴うライトバックやライトスルーを抑制
して、キャッシュシステム利用によるメモリアクセスの
時間短縮効果を維持することができるようなる。
ッシュ制御回路は外部より管理情報の内容の書き替えを
できるように構成した。外部より管理情報の内容の書き
替えが可能にキャッシュ制御回路を構成しておくと、C
PUからプログラムによりキャッシュ制御回路に管理情
報を書き替え操作することができるようになる。そし
て、プログラムによりキャッシュ・メモリの内容のライ
トバック(キャッシュからメインメモリへの書き戻し)
を実行できるようになれば、プロセススイッチが発生し
たときに、必要に応じて先にキャッシュ・メモリからメ
イン・メモリへ該当アドレス位置のデータが書き戻され
るようになり、新しいプログラムの性質に合わせてキャ
ッシュ・メモリからメイン・メモリへまとめて書き出し
たり、実行に応じて書き出したりする制御が可能とな
り、キャッシュ・メモリ上の必要なデータはメイン・メ
モリに戻すことができると共に、当該新しいプログラム
の実行による間接アドレッシング命令に基づく第一のデ
ータアクセスにおいては、そのアクセスされたアドレス
のデータ変更に伴うライトバックやライトスルーを抑制
して、キャッシュシステム利用によるメモリアクセスの
時間短縮効果を維持することができるようなる。
【0083】この結果、CPUの僅かな変更とキャッシ
ュシステムの制御方法の変更だけで、大きく回路量を増
やすことなく、キャッシュを介したメモリアクセスに掛
かる時間を短くすることが出来る効率的な計算機システ
ムを得ることができるようになる。
ュシステムの制御方法の変更だけで、大きく回路量を増
やすことなく、キャッシュを介したメモリアクセスに掛
かる時間を短くすることが出来る効率的な計算機システ
ムを得ることができるようになる。
【0084】なお、本発明は上述した実施例に限定され
るものではなく、種々変形して実施可能である。また、
例えば、キャッシュ制御装置には間接アドレシングによ
る第一のメモリデータアクセスがどのアドレスに対する
ものであるかを記憶し、そのアドレスに対しての全ての
データアクセスは、その他のアドレスへのデータアクセ
スと区別して管理する機能を具備すると共に、キャッシ
ュのデータ管理情報をCPUでの命令実行により変更で
きる機能を持たせ、キャッシュ・メモリの中身の任意の
一部をメイン・メモリへ仕舞うことがCPUでの命令実
行により出来るようにするといった機能を持たせるよう
にすることもできる。
るものではなく、種々変形して実施可能である。また、
例えば、キャッシュ制御装置には間接アドレシングによ
る第一のメモリデータアクセスがどのアドレスに対する
ものであるかを記憶し、そのアドレスに対しての全ての
データアクセスは、その他のアドレスへのデータアクセ
スと区別して管理する機能を具備すると共に、キャッシ
ュのデータ管理情報をCPUでの命令実行により変更で
きる機能を持たせ、キャッシュ・メモリの中身の任意の
一部をメイン・メモリへ仕舞うことがCPUでの命令実
行により出来るようにするといった機能を持たせるよう
にすることもできる。
【0085】
【発明の効果】以上、詳述したように、本発明によれ
ば、キャッシュシステムを介したメモリアクセスに掛か
る時間を短くすることが出来、メモリアクセスを効率的
に実施できる計算機システムを提供できる。
ば、キャッシュシステムを介したメモリアクセスに掛か
る時間を短くすることが出来、メモリアクセスを効率的
に実施できる計算機システムを提供できる。
【図1】本発明の実施例を説明するための図であって、
本発明の一実施例の全体構成を示すブロック図。
本発明の一実施例の全体構成を示すブロック図。
【符号の説明】 1…CPU(プロセッサ) 2…キャッシュ制御回路、 3…キャッシュ・メモリ 4…メイン・メモリ、 5…CPU1とキャッシュ・メモリ3との間のアドレス
信号、 6…CPU1とキャッシュ・メモリ3との間のデータ信
号、 7…メイン・メモリ4とキャッシュ・メモリとの間のア
ドレス信号、 8…メイン・メモリ4とキャッシュ・メモリとの間のデ
ータ信号、 9,10,11…信号線、 C0…命令アクセスとデータアクセスを区別する命令/
データアクセス種別信号、 C1…間接アドレッシング時の第一のメモリデータアク
セスを識別するためのデータアクセス識別信号、 C2…キャッシュ制御回路2とキャッシュ・メモリ3と
の間での制御や情報獲得に用いる制御信号。
信号、 6…CPU1とキャッシュ・メモリ3との間のデータ信
号、 7…メイン・メモリ4とキャッシュ・メモリとの間のア
ドレス信号、 8…メイン・メモリ4とキャッシュ・メモリとの間のデ
ータ信号、 9,10,11…信号線、 C0…命令アクセスとデータアクセスを区別する命令/
データアクセス種別信号、 C1…間接アドレッシング時の第一のメモリデータアク
セスを識別するためのデータアクセス識別信号、 C2…キャッシュ制御回路2とキャッシュ・メモリ3と
の間での制御や情報獲得に用いる制御信号。
Claims (3)
- 【請求項1】 キャッシュ・メモリを有し、これにメイ
ン・メモリの保持情報の一部を保持させて、CPUのメ
イン・メモリに対するアクセスに際し、メイン・メモリ
の代行をさせることにより、メモリアクセスを高速化す
る計算機システムにおいて、 前記CPUとして、間接アドレッシング命令の実行時
に、第一のメモリデータアクセスの実施の際にそれを知
らせる報知信号を発生する機能を備えたCPUと、 このCPUからメイン・メモリに対するアクセス制御指
令が出されると、そのアクセス対象のアドレスの保持内
容がキャッシュ・メモリに保持されている場合はこのキ
ャッシュ・メモリに対してアクセスし、保持されていな
いときはメイン・メモリから読み込んで前記アクセスに
応ずると共に、また、そのアクセスしたアドレスの保持
内容に変更があった時はメイン・メモリに対しての書き
戻し対象として管理制御し、このCPUからの第一の報
知信号を受けると前記第一のメモリデータアクセスの対
象のアドレス情報を保持し、このアドレスに対する内容
の書き替えについてはメイン・メモリへの書き戻しの対
象としないようにキャッシュ・メモリを制御するキャッ
シュ制御手段と、を具備することを特徴とする計算機シ
ステム。 - 【請求項2】 CPUには、キャッシュ制御手段の管理
制御機能の設定変更指令機能を持たせると共に、キャッ
シュ制御手段にはこの設定変更指令により管理制御内容
を変更する管理制御機能の外部設定変更機能を持たせた
ことを特徴とする請求項1記載の計算機システム。 - 【請求項3】 CPUには、キャッシュ制御手段の管理
制御機能の設定変更指令機能を持たせると共に、キャッ
シュ制御手段にはこの設定変更指令により書き戻し対象
から外したアドレスの内容を、メイン・メモリへの書き
戻し対象として管理制御する管理制御機能の外部設定変
更機能を持たせたことを特徴とする請求項1記載の計算
機システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7130457A JPH08328953A (ja) | 1995-05-29 | 1995-05-29 | 計算機システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7130457A JPH08328953A (ja) | 1995-05-29 | 1995-05-29 | 計算機システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH08328953A true JPH08328953A (ja) | 1996-12-13 |
Family
ID=15034702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7130457A Pending JPH08328953A (ja) | 1995-05-29 | 1995-05-29 | 計算機システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH08328953A (ja) |
-
1995
- 1995-05-29 JP JP7130457A patent/JPH08328953A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4870565A (en) | Parallel transfer type director means | |
US7493452B2 (en) | Method to efficiently prefetch and batch compiler-assisted software cache accesses | |
EP1399823B1 (en) | Using an l2 directory to facilitate speculative loads in a multiprocessor system | |
JP3289661B2 (ja) | キャッシュメモリシステム | |
JP4298800B2 (ja) | キャッシュメモリにおけるプリフェッチ管理 | |
JP2902976B2 (ja) | キャッシュフラッシュ装置 | |
US6718839B2 (en) | Method and apparatus for facilitating speculative loads in a multiprocessor system | |
US20050086435A1 (en) | Cache memory controlling apparatus, information processing apparatus and method for control of cache memory | |
US8499123B1 (en) | Multi-stage pipeline for cache access | |
JPH0863393A (ja) | 多レベル・キャッシュ内のキャッシュ・ミス発生に伴う新しいワード・フラグメントの書き込み方法 | |
JPH06348595A (ja) | キャッシュ装置 | |
JPH06243039A (ja) | キャッシュメモリシステムおよびマイクロプロセッサ内の命令を操作するための方法 | |
JP3236287B2 (ja) | マルチプロセッサシステム | |
KR100710922B1 (ko) | 캐시 관리 방법 | |
JP3973129B2 (ja) | キャッシュメモリ装置及びそれを用いた中央演算処理装置 | |
JPH04336641A (ja) | 処理システムにおける使用のためのデータキャッシュおよび方法 | |
US6934810B1 (en) | Delayed leaky write system and method for a cache memory | |
US8214597B2 (en) | Cache tentative read buffer | |
JPH08328953A (ja) | 計算機システム | |
JPH08328959A (ja) | ディスクキャッシュ制御装置 | |
US6401173B1 (en) | Method and apparatus for optimizing bcache tag performance by inferring bcache tag state from internal processor state | |
US6694468B1 (en) | Method and apparatus to test memory | |
US20020010837A1 (en) | Cache memory system and method of controlling cache memory | |
JPH0210450A (ja) | キヤツシユメモリの先行フエツチ制御方式 | |
JPH0628258A (ja) | マイクロプロセッサ |