JPH0348540B2 - - Google Patents
Info
- Publication number
- JPH0348540B2 JPH0348540B2 JP1040435A JP4043589A JPH0348540B2 JP H0348540 B2 JPH0348540 B2 JP H0348540B2 JP 1040435 A JP1040435 A JP 1040435A JP 4043589 A JP4043589 A JP 4043589A JP H0348540 B2 JPH0348540 B2 JP H0348540B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- data
- line
- storage
- instruction
- 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 - Lifetime
Links
- 238000012545 processing Methods 0.000 claims description 9
- 238000000034 method Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 16
- 238000007726 management method Methods 0.000 description 13
- 230000007246 mechanism Effects 0.000 description 13
- 238000012546 transfer Methods 0.000 description 13
- 230000008859 change Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 102100027152 Dihydrolipoyllysine-residue acetyltransferase component of pyruvate dehydrogenase complex, mitochondrial Human genes 0.000 description 3
- 101001122360 Homo sapiens Dihydrolipoyllysine-residue acetyltransferase component of pyruvate dehydrogenase complex, mitochondrial Proteins 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000010926 purge Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】
A 技術分野
本発明は、それぞれ命令記憶用およびデータ記
憶用の別個のキヤツシユを有する、独特のキヤツ
シユ・アーキテクチヤを用いた階層記憶構成に関
するものである。この階層記憶構成は、メモリ・
アクセスによるCPUの待ち時間をできるだけ減
らすことが特に望まれる、高速電子計算システム
用に特に適している。
憶用の別個のキヤツシユを有する、独特のキヤツ
シユ・アーキテクチヤを用いた階層記憶構成に関
するものである。この階層記憶構成は、メモリ・
アクセスによるCPUの待ち時間をできるだけ減
らすことが特に望まれる、高速電子計算システム
用に特に適している。
B 背景技術
現代の高速電子データ処理システムは、処理装
置あるいはCPUと階層記憶システムとから構成
されることが多い。後者は、サイクル・タイムが
処理装置のサイクル・タイムよりも、ずつと長い
相対的に大容量で低速のメモリと、通常はキヤツ
シユと呼ばれているサイクル・タイムが処理装置
のサイクル・タイムに匹敵する、相対的にはるか
に小容量で高速のメモリとを含んでいる。合理的
なコストで実効メモリ・アクセス時間を減らすた
めのこのようなキヤツシユ・メモリ・システム
は、当技術分野でよく知られている。CPUが情
報を必要とする時、情報は主記憶装置から読取ら
れ、処理装置に与えられ、キヤツシユ記憶に書込
まれる。その後に同じ情報を処理装置が必要とす
る場合には、その情報がキヤツシユから直接読取
られて、普通なら主記憶装置を読取る際に生じる
はずの時間遅延を避けることができる。
置あるいはCPUと階層記憶システムとから構成
されることが多い。後者は、サイクル・タイムが
処理装置のサイクル・タイムよりも、ずつと長い
相対的に大容量で低速のメモリと、通常はキヤツ
シユと呼ばれているサイクル・タイムが処理装置
のサイクル・タイムに匹敵する、相対的にはるか
に小容量で高速のメモリとを含んでいる。合理的
なコストで実効メモリ・アクセス時間を減らすた
めのこのようなキヤツシユ・メモリ・システム
は、当技術分野でよく知られている。CPUが情
報を必要とする時、情報は主記憶装置から読取ら
れ、処理装置に与えられ、キヤツシユ記憶に書込
まれる。その後に同じ情報を処理装置が必要とす
る場合には、その情報がキヤツシユから直接読取
られて、普通なら主記憶装置を読取る際に生じる
はずの時間遅延を避けることができる。
しかし、キヤツシユ記憶装置が一杯の場合に
は、必要な情報は主記憶装置から得なければなら
ず、この新しい情報を記憶するためのキヤツシユ
中の記憶位置が識別されなければならない。しか
しながら、古い記憶位置が新しいデータの記憶に
使用できるようになる前に、現在キヤツシユ中に
あるデータがプログラムによつて変更されている
かどうかの判定が行われなければならず、変更さ
れている場合には、(必要ならば)主記憶装置が
現在のデータの状態を適切に反映するように、デ
ータが主記憶装置に書戻されなければならない。
現在の大部分のキヤツシユ・アーキテクチヤは、
そのような書戻しを必要としているが、その変更
された形のデータが再びプログラムによつて必要
とされることがない場合には、あるいはデータが
決して変更されない場合には、この書戻し機能を
削除すれば、明らかに有利であろう。
は、必要な情報は主記憶装置から得なければなら
ず、この新しい情報を記憶するためのキヤツシユ
中の記憶位置が識別されなければならない。しか
しながら、古い記憶位置が新しいデータの記憶に
使用できるようになる前に、現在キヤツシユ中に
あるデータがプログラムによつて変更されている
かどうかの判定が行われなければならず、変更さ
れている場合には、(必要ならば)主記憶装置が
現在のデータの状態を適切に反映するように、デ
ータが主記憶装置に書戻されなければならない。
現在の大部分のキヤツシユ・アーキテクチヤは、
そのような書戻しを必要としているが、その変更
された形のデータが再びプログラムによつて必要
とされることがない場合には、あるいはデータが
決して変更されない場合には、この書戻し機能を
削除すれば、明らかに有利であろう。
既存の多くのキヤツシユ・アーキテクチヤにみ
られるもう1つの共通な特徴は、それらがシステ
ム・ソフトウエアに対して基本的に透明なことで
ある。即ち、コンパイラ、オペレーテイング・シ
ステム等を含めたシステム・ソフトウエアは、キ
ヤツシユが存在しないかのようにメモリの取出し
および記憶の動作を行う。このようなシステムで
は、キヤツシユのハードウエアが本質的にCPU
と主記憶装置との間に介在する。かかるシステム
では、キヤツシユの存在によつて実効メモリ・ア
クセス時間が大幅にスピード・アツプされるが、
かかる高速の記憶装置から得られるはずの利益の
多くは、使用されるアーキテクチヤおよび規約の
せいで失われる。
られるもう1つの共通な特徴は、それらがシステ
ム・ソフトウエアに対して基本的に透明なことで
ある。即ち、コンパイラ、オペレーテイング・シ
ステム等を含めたシステム・ソフトウエアは、キ
ヤツシユが存在しないかのようにメモリの取出し
および記憶の動作を行う。このようなシステムで
は、キヤツシユのハードウエアが本質的にCPU
と主記憶装置との間に介在する。かかるシステム
では、キヤツシユの存在によつて実効メモリ・ア
クセス時間が大幅にスピード・アツプされるが、
かかる高速の記憶装置から得られるはずの利益の
多くは、使用されるアーキテクチヤおよび規約の
せいで失われる。
ACM SIGPLAN Notice、Vol.17、No.4、
April 1982、pp.39〜47所載のGeorge Radinによ
る“The801Minicomputer”と題する論文は、本
発明の技術思想を利用した、命令用およびデータ
用の別個のキヤツシユ記憶を含む階層記憶構成を
組込んだ実験的なミニコンピユータの概説であ
る。
April 1982、pp.39〜47所載のGeorge Radinによ
る“The801Minicomputer”と題する論文は、本
発明の技術思想を利用した、命令用およびデータ
用の別個のキヤツシユ記憶を含む階層記憶構成を
組込んだ実験的なミニコンピユータの概説であ
る。
米国特許第4142234号、およびIBM Technical
Disclosure Bullietin、Vol.18 No.12、May1976、
および米国特許第4056844号は、一般にキヤツシ
ユ記憶を含む階層記憶構成を開示しているが、そ
れらのキヤツシユは別個のデータ部および命令部
に分割されてもいなければ、メモリ・システムの
動作を制御するためのプログラムにアクセス可能
な特別の制御フイールドを含んでもいない。
Disclosure Bullietin、Vol.18 No.12、May1976、
および米国特許第4056844号は、一般にキヤツシ
ユ記憶を含む階層記憶構成を開示しているが、そ
れらのキヤツシユは別個のデータ部および命令部
に分割されてもいなければ、メモリ・システムの
動作を制御するためのプログラムにアクセス可能
な特別の制御フイールドを含んでもいない。
米国特許第4161024号および第4195342号は、当
技術分野で一般に知られているように、CPUか
らキヤツシユへの直接のインターフエースを含む
EDPシステムを記載している。
技術分野で一般に知られているように、CPUか
らキヤツシユへの直接のインターフエースを含む
EDPシステムを記載している。
米国特許第4070706号は、キヤツシユがデータ
部とアドレス部(デイレクトリではない)に分割
されたキヤツシユ記憶システムを開示している
が、このキヤツシユはデータ部と命令部には分割
されていない。
部とアドレス部(デイレクトリではない)に分割
されたキヤツシユ記憶システムを開示している
が、このキヤツシユはデータ部と命令部には分割
されていない。
米国特許第4245304号は動作を2つの半サイク
ルに分け、キヤツシユからの命令のアクセスまた
はキヤツシユへのデータの書込みが同じ半サイク
ル中に行えるようにした、スプリツト・キヤツシ
ユ・システムについて記載ている。この特許は、
キヤツシユ/主記憶装置の動作を制御するための
キヤツシユ・デイレクトリ中の特殊な制御ビツト
については開示も示唆もしていない。
ルに分け、キヤツシユからの命令のアクセスまた
はキヤツシユへのデータの書込みが同じ半サイク
ル中に行えるようにした、スプリツト・キヤツシ
ユ・システムについて記載ている。この特許は、
キヤツシユ/主記憶装置の動作を制御するための
キヤツシユ・デイレクトリ中の特殊な制御ビツト
については開示も示唆もしていない。
米国特許第4075686号は、メモリ・アクセス動
作の際に特定の命令ビツトのコーデイングに従つ
てキヤツシユを選択的にバイパスし、それによつ
てある種類の動作の実行時間を短縮する、キヤツ
シユ記憶システムについて記載している。
作の際に特定の命令ビツトのコーデイングに従つ
てキヤツシユを選択的にバイパスし、それによつ
てある種類の動作の実行時間を短縮する、キヤツ
シユ記憶システムについて記載している。
米国特許第4142234号は、キヤツシユ・デイレ
クトリの特定の質問を除去して、スペツクのサイ
ズを減少させた、キヤツシユ・システムを開示し
ている。
クトリの特定の質問を除去して、スペツクのサイ
ズを減少させた、キヤツシユ・システムを開示し
ている。
米国特許第3618041号およびIBM Technical
Disclosure Bulletin、Vol.22 No.11、April
1980、p.5183は、キヤツシユ・サブシステムを別
個の命令部とデータ部に分割し、2つの別個のキ
ヤツシユのオーバーラツプ動作のために、複雑な
オペレーテイング・システムのサポートを与え
る、基本的な概念を大まかに開示している。
Disclosure Bulletin、Vol.22 No.11、April
1980、p.5183は、キヤツシユ・サブシステムを別
個の命令部とデータ部に分割し、2つの別個のキ
ヤツシユのオーバーラツプ動作のために、複雑な
オペレーテイング・システムのサポートを与え
る、基本的な概念を大まかに開示している。
米国特許第4197580号は、特殊な有効ビツトお
よびある種の読取り−書込み動作制御用の「タ
グ」を用いた、単一キヤツシユ・サブシステムを
大まかに開示している。このビツトは、不必要な
主記憶サイクルではなく、不必要なキヤツシユ・
サイクルを避けるために使われるが、本発明は不
要な主記憶サイクルを避けることを意図したもの
である。
よびある種の読取り−書込み動作制御用の「タ
グ」を用いた、単一キヤツシユ・サブシステムを
大まかに開示している。このビツトは、不必要な
主記憶サイクルではなく、不必要なキヤツシユ・
サイクルを避けるために使われるが、本発明は不
要な主記憶サイクルを避けることを意図したもの
である。
C 発明の目的および概要
本発明の目的は大容量の主記憶装置ならびに、
それぞれデータおよび命令の記憶専用の2つの別
個の部分に分割された小容量のキヤツシユ記憶装
置を有する、改良された階層記憶構成を提供する
ことである。
それぞれデータおよび命令の記憶専用の2つの別
個の部分に分割された小容量のキヤツシユ記憶装
置を有する、改良された階層記憶構成を提供する
ことである。
本発明によれば、かかるキヤツシユ記憶構成は
キヤツシユ・デイレクトリ中に各ラインについて
キヤツシユの動作に影響を与える少なくとも1つ
の特殊な制御ビツトを有する。
キヤツシユ・デイレクトリ中に各ラインについて
キヤツシユの動作に影響を与える少なくとも1つ
の特殊な制御ビツトを有する。
本発明によれば、かかるキヤツシユ記憶装置
は、キヤツシユ・ライン置き換え過程において用
いられる少なくとも1つの特殊な制御ビツトを有
する。
は、キヤツシユ・ライン置き換え過程において用
いられる少なくとも1つの特殊な制御ビツトを有
する。
本発明によれば、かかるキヤツシユ記憶システ
ムは、データ・キヤツシユ中のラインが当初そこ
に記憶されて以来、変更されたかどうかを制御ビ
ツトが指示する。
ムは、データ・キヤツシユ中のラインが当初そこ
に記憶されて以来、変更されたかどうかを制御ビ
ツトが指示する。
本発明によれば、所定のキヤツシユ・ラインが
有効か否かを指示するような制御ビツトが提供さ
れる。
有効か否かを指示するような制御ビツトが提供さ
れる。
本発明によれば、主記憶に対する照会を必要と
することなく、スクラツチ・パツド記憶等のため
に一時的データ記憶スペースが与えられるような
キヤツシユ・サブシステムが提供される。
することなく、スクラツチ・パツド記憶等のため
に一時的データ記憶スペースが与えられるような
キヤツシユ・サブシステムが提供される。
本発明によれば、全てのマス制御がシステム・
ソフトウエアによつて制御され、データ・キヤツ
シユに記憶されたデータに対して変更が加えられ
たときに命令キヤツシユに通報するための制御装
置が必要でないようなキヤツシユ・サブシステム
が提供される。
ソフトウエアによつて制御され、データ・キヤツ
シユに記憶されたデータに対して変更が加えられ
たときに命令キヤツシユに通報するための制御装
置が必要でないようなキヤツシユ・サブシステム
が提供される。
本発明の目的は、一般に大容量で比較的低速の
主記憶装置および遥かに小容量で高速のキヤツシ
ユ記憶装置を含む、高速データ処理装置と共に用
いられる階層記憶システムによつて達成される。
キヤツシユ記憶装置は、それぞれデータおよび命
令の記憶専用の2つの別個の部分から成る。各部
分は、上記キヤツシユに記憶された各ラインに関
する記憶位置を有する1つのキヤツシユ・デイレ
クトリを備えている。両デイレクトリのそれぞれ
の上記位置は、各々のキヤツシユ・ラインに記憶
されているデータの主記憶アドレスの高位ビツト
を記憶するための手段、および特定のラインへの
メモリ・アクセスが要求される度に、上記キヤツ
シユ記憶装置の動作を制御するたのシステムによ
つてセツト可能な、特殊制御ビツトを記憶するた
めの手段を有する。上記のどちらのキヤツシユ・
デイレクトリも、キヤツシユ・ミスが生じた時に
複数のキヤツシユ・サブセツト・ラインのどれが
置き換えられるべきかを指示するための制御ビツ
トを各デイレクトリ・エントリに含んでいる。ま
た、上記のどちらのデイレクトリも特定のキヤツ
シユ・デイレクトリ記憶位置によつて指定される
所定のキヤツシユ・ラインが無効である事を示す
ための、複数の制御ビツトを各記憶位置に含んで
いる。また、データ・キヤツシユのためのキヤツ
シユ・デイレクトリの各記憶位置は、記憶位置に
記憶された特定のアドレスによつて指定される所
定のキヤツシユ・ラインが、以前のCPU動作に
よつて変更されたこと、およびキヤツシユ中の特
定のラインが置き換えできるようになる前に、主
記憶中の対応するラインが「書き戻し」動作によ
つて更新されなければならないことを示すための
複数のビツトをも含んでいる。
主記憶装置および遥かに小容量で高速のキヤツシ
ユ記憶装置を含む、高速データ処理装置と共に用
いられる階層記憶システムによつて達成される。
キヤツシユ記憶装置は、それぞれデータおよび命
令の記憶専用の2つの別個の部分から成る。各部
分は、上記キヤツシユに記憶された各ラインに関
する記憶位置を有する1つのキヤツシユ・デイレ
クトリを備えている。両デイレクトリのそれぞれ
の上記位置は、各々のキヤツシユ・ラインに記憶
されているデータの主記憶アドレスの高位ビツト
を記憶するための手段、および特定のラインへの
メモリ・アクセスが要求される度に、上記キヤツ
シユ記憶装置の動作を制御するたのシステムによ
つてセツト可能な、特殊制御ビツトを記憶するた
めの手段を有する。上記のどちらのキヤツシユ・
デイレクトリも、キヤツシユ・ミスが生じた時に
複数のキヤツシユ・サブセツト・ラインのどれが
置き換えられるべきかを指示するための制御ビツ
トを各デイレクトリ・エントリに含んでいる。ま
た、上記のどちらのデイレクトリも特定のキヤツ
シユ・デイレクトリ記憶位置によつて指定される
所定のキヤツシユ・ラインが無効である事を示す
ための、複数の制御ビツトを各記憶位置に含んで
いる。また、データ・キヤツシユのためのキヤツ
シユ・デイレクトリの各記憶位置は、記憶位置に
記憶された特定のアドレスによつて指定される所
定のキヤツシユ・ラインが、以前のCPU動作に
よつて変更されたこと、およびキヤツシユ中の特
定のラインが置き換えできるようになる前に、主
記憶中の対応するラインが「書き戻し」動作によ
つて更新されなければならないことを示すための
複数のビツトをも含んでいる。
また、キヤツシユ・デイレクトリ中に種々の制
御ビツトをセツトするための手段ならびにCPU
によるメモリ・アクセス動作とは独立に主記憶装
置から特定のキヤツシユ・ラインをロードして記
憶し、またその逆の動作を行うための手段がキヤ
ツシユ制御システムに設けられている。
御ビツトをセツトするための手段ならびにCPU
によるメモリ・アクセス動作とは独立に主記憶装
置から特定のキヤツシユ・ラインをロードして記
憶し、またその逆の動作を行うための手段がキヤ
ツシユ制御システムに設けられている。
D 発明を実施するための最良の形態
(a) 記憶階層の一般的説明
きわめて高速に動作するシステム(CPU)の
性能は、記憶サブシステムの性能に大きく依存す
る。現在の技術によれば、アクセス・タイムが60
ナノ秒のキヤツシユおよびアクセス・タイムが約
1/5の速さの即ち約300ナノ秒のバツキング記憶装
置を製造することが可能である。記憶サブシステ
ムの性能の改善は、システム全体の性能の点で非
常に良好な結果を与える。
性能は、記憶サブシステムの性能に大きく依存す
る。現在の技術によれば、アクセス・タイムが60
ナノ秒のキヤツシユおよびアクセス・タイムが約
1/5の速さの即ち約300ナノ秒のバツキング記憶装
置を製造することが可能である。記憶サブシステ
ムの性能の改善は、システム全体の性能の点で非
常に良好な結果を与える。
本発明は、2つの領域の動作においてキヤツシ
ユ・サブシステムの性能を改善することを目標と
する。その第1はキヤツシユ・ヒツト率を改善す
ること、即ちキヤツシユ中に見い出され、従つて
主記憶装置へのアクセスおよびそれに伴う遅延を
要しない記憶装置参照のパーセンテージを増加さ
せることである。第2はキヤツシユ参照が失敗し
たときに、バツキング記憶装置からラインをアク
セスする時間を改善することである。
ユ・サブシステムの性能を改善することを目標と
する。その第1はキヤツシユ・ヒツト率を改善す
ること、即ちキヤツシユ中に見い出され、従つて
主記憶装置へのアクセスおよびそれに伴う遅延を
要しない記憶装置参照のパーセンテージを増加さ
せることである。第2はキヤツシユ参照が失敗し
たときに、バツキング記憶装置からラインをアク
セスする時間を改善することである。
第1の目的について考えると、バツキング記憶
装置への頻繁なアクセスは、プログラムの正しい
実行にとつて必ずしも必要でないことがわかる。
バツキング記憶装置への頻繁なアクセスが行われ
るのは、ハードウエアがソフトウエアの意味を推
測できないためである。一般にこの不必要な参照
は2つの類に分けられる。
装置への頻繁なアクセスは、プログラムの正しい
実行にとつて必ずしも必要でないことがわかる。
バツキング記憶装置への頻繁なアクセスが行われ
るのは、ハードウエアがソフトウエアの意味を推
測できないためである。一般にこの不必要な参照
は2つの類に分けられる。
第1はプログラムが新たな記憶のブロツクを望
むことである。これはプロシージヤが呼び出され
一時的な(即ちAUTOMATICの)記憶域を必要
とするとき、第1レベル割込みハンドラがレジス
タ保存領域を必要とするとき、アクセス方式がバ
ツフアを必要とするとき、またはプログラムが
GETMAIN要求を出すとき等に起こり得る。こ
れら全ての場合に類似しているのは、プログラム
が、記憶位置の古い内容に対して関心を持たない
事である。プログラムは、ただ、若干の記憶域を
望んでいるだけである。しかし、現行の大多数の
記憶サブシステムは、かかる記憶装置の最初の参
照が起きたとき、バツキング記憶装置からキヤツ
シユへ古いラインを取り出す。そのようにするの
は、(CPUとキヤツシユとの間のアクセスの単位
はワードなので)最初の参照がせいぜいライン中
の1つのワードに対するものであり、そして後続
する要求はライン中の他のワードを更新するまで
はそれらを必要としないという事をサブシステム
が知ることができないためである。
むことである。これはプロシージヤが呼び出され
一時的な(即ちAUTOMATICの)記憶域を必要
とするとき、第1レベル割込みハンドラがレジス
タ保存領域を必要とするとき、アクセス方式がバ
ツフアを必要とするとき、またはプログラムが
GETMAIN要求を出すとき等に起こり得る。こ
れら全ての場合に類似しているのは、プログラム
が、記憶位置の古い内容に対して関心を持たない
事である。プログラムは、ただ、若干の記憶域を
望んでいるだけである。しかし、現行の大多数の
記憶サブシステムは、かかる記憶装置の最初の参
照が起きたとき、バツキング記憶装置からキヤツ
シユへ古いラインを取り出す。そのようにするの
は、(CPUとキヤツシユとの間のアクセスの単位
はワードなので)最初の参照がせいぜいライン中
の1つのワードに対するものであり、そして後続
する要求はライン中の他のワードを更新するまで
はそれらを必要としないという事をサブシステム
が知ることができないためである。
第2の場合は、その内容が変更されていたとし
てもプログラムがもはや記憶装置のブロツクを必
要としない場合である。これはプロシージヤから
のリターン時に一時的記憶域が解放されるとき、
バツフアが解放されるとき、一般にプログラムが
FREE MAINを出すとき等に起こり得る。変更
されたラインのかかる書き戻しが不必要であると
判定するための機構を有する現在利用可能な記憶
サブシステムは当技術分野で知られていない。
てもプログラムがもはや記憶装置のブロツクを必
要としない場合である。これはプロシージヤから
のリターン時に一時的記憶域が解放されるとき、
バツフアが解放されるとき、一般にプログラムが
FREE MAINを出すとき等に起こり得る。変更
されたラインのかかる書き戻しが不必要であると
判定するための機構を有する現在利用可能な記憶
サブシステムは当技術分野で知られていない。
従つて、ソフトウエアがそのような情報をハー
ドウエア即ちキヤツシユ制御機構に与えるために
用いることのできる(命令の形の)ハードウエア
の基本的機構をCPUが提供すると有利である。
より具体的には、一般にキヤツシユ動作のかかる
ソフトウエア制御を可能にする、キヤツシユ制御
ハードウエアによつて実行される2つの命令が定
義される。それらは次のように定義される。
ドウエア即ちキヤツシユ制御機構に与えるために
用いることのできる(命令の形の)ハードウエア
の基本的機構をCPUが提供すると有利である。
より具体的には、一般にキヤツシユ動作のかかる
ソフトウエア制御を可能にする、キヤツシユ制御
ハードウエアによつて実行される2つの命令が定
義される。それらは次のように定義される。
(1) データ・キヤツシユ・ライン・セツト
(2) データ・キヤツシユ・ライン無効化
これらの命令は制御プログラムによつて出さ
れ、コンパイラによつて適用業務プログラムのた
めに生成される。これらの命令は、かかる不必要
なバツキング記憶アクセスが起きないことを保証
する。事実、プロシージヤによつて必要とされる
一時的記憶域はスタツクで管理され、またスーパ
ーバイザ呼び出しさえも要求に応じて呼び出され
るので、デイスパツチされたプロセス・データが
持続的(即ちSRATIC的)であるか、またはス
タツクの深さがキヤツシユ・サイズと比較して大
きくならない限り、デイスパツチされたプロセ
ス・データに対してバツキング記憶装置がアクセ
スされることはない。従つてバツキング記憶は、
2次記憶装置(即ちフアイル空間およびページン
グ領域)によつて演じられる役割に類似した役割
を演じ始める。かかる戦略を用いれば、割り込み
時のCPUのアクテイビイテイは「優先レベル割
り込み」システムがそのハイ・エンドで実施する
アクテイビイテイ以上ではない。この「優先レベ
ル割り込み」システムも、その内部レジスタを高
速メモリ(即ちレジスタ空間)に記憶しなければ
ならない。前述のCPU構成の相違点は、それが
高速メモリをこの目的専用にしないこと、従つて
費用を節約できることである。かかるアーキテク
チヤのCPUは「再デイスパツチ」時にキヤツシ
ユ・ミスを見つけることができるが、それは経路
の応答クリテイカル部分にはない。
れ、コンパイラによつて適用業務プログラムのた
めに生成される。これらの命令は、かかる不必要
なバツキング記憶アクセスが起きないことを保証
する。事実、プロシージヤによつて必要とされる
一時的記憶域はスタツクで管理され、またスーパ
ーバイザ呼び出しさえも要求に応じて呼び出され
るので、デイスパツチされたプロセス・データが
持続的(即ちSRATIC的)であるか、またはス
タツクの深さがキヤツシユ・サイズと比較して大
きくならない限り、デイスパツチされたプロセ
ス・データに対してバツキング記憶装置がアクセ
スされることはない。従つてバツキング記憶は、
2次記憶装置(即ちフアイル空間およびページン
グ領域)によつて演じられる役割に類似した役割
を演じ始める。かかる戦略を用いれば、割り込み
時のCPUのアクテイビイテイは「優先レベル割
り込み」システムがそのハイ・エンドで実施する
アクテイビイテイ以上ではない。この「優先レベ
ル割り込み」システムも、その内部レジスタを高
速メモリ(即ちレジスタ空間)に記憶しなければ
ならない。前述のCPU構成の相違点は、それが
高速メモリをこの目的専用にしないこと、従つて
費用を節約できることである。かかるアーキテク
チヤのCPUは「再デイスパツチ」時にキヤツシ
ユ・ミスを見つけることができるが、それは経路
の応答クリテイカル部分にはない。
大部分のシステムの場合と同様に、CPUは命
令の実行を見越してキヤツシユから命令を取出
す。CPUは「事前取出しバツフア」「ここで開示
するシステムでは3ワードのバツフアが想定され
ている)を有し、CPUはそれを一杯に保つよう
に試みる。このバツフアを一杯にするとキヤツシ
ユ・ミスが生じて、バツキング記憶装置からの命
令取出しを開始させることがある。しかし取出さ
れる命令の前に、既にバツフア中に存在するがま
だ実行されていない分岐命令があることがあり得
る。本発明のアーキテクチヤにおいては、CPU
の事前取出し機構がOPコードを走査し、かかる
不必要なバツキング記憶装置の取出しを禁止する
ことが想定されている。実際、この目的のために
OPコードを走査する間に、NOOP(ノー・オペ
レーシヨン)を認識して削除することもでき、従
つてその実行時間はゼロになる。
令の実行を見越してキヤツシユから命令を取出
す。CPUは「事前取出しバツフア」「ここで開示
するシステムでは3ワードのバツフアが想定され
ている)を有し、CPUはそれを一杯に保つよう
に試みる。このバツフアを一杯にするとキヤツシ
ユ・ミスが生じて、バツキング記憶装置からの命
令取出しを開始させることがある。しかし取出さ
れる命令の前に、既にバツフア中に存在するがま
だ実行されていない分岐命令があることがあり得
る。本発明のアーキテクチヤにおいては、CPU
の事前取出し機構がOPコードを走査し、かかる
不必要なバツキング記憶装置の取出しを禁止する
ことが想定されている。実際、この目的のために
OPコードを走査する間に、NOOP(ノー・オペ
レーシヨン)を認識して削除することもでき、従
つてその実行時間はゼロになる。
本発明の教示にもとづいて記憶サブシステムの
性能を改善する第2の方法は、バツキング記憶装
置のアクセスをより高速にすることに関係するも
のである。
性能を改善する第2の方法は、バツキング記憶装
置のアクセスをより高速にすることに関係するも
のである。
データであれ命令であれキヤツシユ・ミスを生
じるワードが記憶サブシステムから要求される
時、要求されたワードで始まる必要なラインを求
めてバツキング記憶装置がアクセスされる。次に
このワードはキヤツシユをバイパスして直接
CPUに送られ、CPUが命令の実行を続ける間、
ラインがキヤツシユに記憶される。従つて、例え
ばキヤツシユ・ミスを生じるロード命令を完了す
るのに340ナノ秒(から命令がロードとオーバー
ラツプできる分を差し引いたもの)しかかからな
い。
じるワードが記憶サブシステムから要求される
時、要求されたワードで始まる必要なラインを求
めてバツキング記憶装置がアクセスされる。次に
このワードはキヤツシユをバイパスして直接
CPUに送られ、CPUが命令の実行を続ける間、
ラインがキヤツシユに記憶される。従つて、例え
ばキヤツシユ・ミスを生じるロード命令を完了す
るのに340ナノ秒(から命令がロードとオーバー
ラツプできる分を差し引いたもの)しかかからな
い。
命令の事前取出し機構は本質的にデータ取出し
機構に対して非同期的なので、キヤツシユを命令
用とデータ用の2つの別個の部分に分離すると有
利なことが判明した。その結果、各キヤツシユに
よつてバツキング記憶装置を独立的にそしてオバ
ーラツプ方式でアクセスすることが可能となる。
この特徴は、実行中の特定の命令ストリームが許
す場合、アクセス速度を事実上2倍にすることが
できる。かかる全体的キヤツシユ・サブシステ
ム・アーキテクチヤを用いれば、他の利点も可能
である。
機構に対して非同期的なので、キヤツシユを命令
用とデータ用の2つの別個の部分に分離すると有
利なことが判明した。その結果、各キヤツシユに
よつてバツキング記憶装置を独立的にそしてオバ
ーラツプ方式でアクセスすることが可能となる。
この特徴は、実行中の特定の命令ストリームが許
す場合、アクセス速度を事実上2倍にすることが
できる。かかる全体的キヤツシユ・サブシステ
ム・アーキテクチヤを用いれば、他の利点も可能
である。
このキヤツシユ・サブシステムは、命令キヤツ
シユ中の命令の変更が許されないように構成され
定義されている。従つて命令ラインの取出しは決
して書き戻しを必要とせず、命令キヤツシユ・ミ
ス時の遅延を伴わない。
シユ中の命令の変更が許されないように構成され
定義されている。従つて命令ラインの取出しは決
して書き戻しを必要とせず、命令キヤツシユ・ミ
ス時の遅延を伴わない。
各キヤツシユ部分(命令部およびデータ部)は
2ウエイ・セツト・アソシアテイブ方式に設計さ
れる。従つて4ウエイ・セツト・アソシアテイブ
方式の利点の一部が費用を要することなしに、得
られる。以後LRU(least recently used)ビツト
と呼び特殊な制御ビツトまたはフイールドはミス
の後にキヤツシユののアドレスされた領域におい
て、2つのラインのどちらが置き換えられるべき
かを判定する通常の置換手続きを、現在の2ウエ
イ・セツト・アソシアテイブ・キヤツシユがもつ
ことを可能にする。
2ウエイ・セツト・アソシアテイブ方式に設計さ
れる。従つて4ウエイ・セツト・アソシアテイブ
方式の利点の一部が費用を要することなしに、得
られる。以後LRU(least recently used)ビツト
と呼び特殊な制御ビツトまたはフイールドはミス
の後にキヤツシユののアドレスされた領域におい
て、2つのラインのどちらが置き換えられるべき
かを判定する通常の置換手続きを、現在の2ウエ
イ・セツト・アソシアテイブ・キヤツシユがもつ
ことを可能にする。
全体の寸法、深さ、ラインの寸法およびその他
の物理的パラメータ等の各キヤツシユ特性は、キ
ヤツシユが意図している特定の目的に即ち命令ま
たはデータに適合するように選択することができ
る。同様に別々の置換アルゴリズムを使用して命
令とデータとの間のアクセス特性またはアクセ
ス・パターンの相違を利用することができる。本
システムの原型で、両方のキヤツシユに類似の置
換アルゴリズムを用いて満足な結果が得られた
が、アルゴリズムを特定のキヤツシユに適合させ
ると一定の改善が生じるはずである。
の物理的パラメータ等の各キヤツシユ特性は、キ
ヤツシユが意図している特定の目的に即ち命令ま
たはデータに適合するように選択することができ
る。同様に別々の置換アルゴリズムを使用して命
令とデータとの間のアクセス特性またはアクセ
ス・パターンの相違を利用することができる。本
システムの原型で、両方のキヤツシユに類似の置
換アルゴリズムを用いて満足な結果が得られた
が、アルゴリズムを特定のキヤツシユに適合させ
ると一定の改善が生じるはずである。
「背景技術」の章で述べたように、スプリツ
ト・キヤツシユは当技術分野で数年前から知られ
ているが、従来のアーキテクチヤを用いてそれを
実施すると、深刻な問題が生じていた。命令はデ
ータ・キヤツシユで合法的に変更でき、その後そ
こに分岐できるので、全ての変更は命令キヤツシ
ユに通知されなければならず、またそれが、変更
されたラインを無効化することを保証しなければ
ならない。しかし実際は、今日ののより洗練され
たシステムでは命令は殆んど変更されない。従つ
てこの機能、即ち命令の変更は、データの変更が
起きる度にこの機能を反復して実行するための機
構をハードウエアに設けるよりも(必要な時に)
ソフトウエアで実行する方がずつと効率的なもの
であると判断された。
ト・キヤツシユは当技術分野で数年前から知られ
ているが、従来のアーキテクチヤを用いてそれを
実施すると、深刻な問題が生じていた。命令はデ
ータ・キヤツシユで合法的に変更でき、その後そ
こに分岐できるので、全ての変更は命令キヤツシ
ユに通知されなければならず、またそれが、変更
されたラインを無効化することを保証しなければ
ならない。しかし実際は、今日ののより洗練され
たシステムでは命令は殆んど変更されない。従つ
てこの機能、即ち命令の変更は、データの変更が
起きる度にこの機能を反復して実行するための機
構をハードウエアに設けるよりも(必要な時に)
ソフトウエアで実行する方がずつと効率的なもの
であると判断された。
先に述べたように、このシステムでは変更が必
要な時には命令をデータ・キヤツシユに入れ、そ
れをデータとして扱うためのソフトウエアが設け
られていると想定する。明らかにこれは容易に行
うことができる。しかし、データ・キヤツシユは
変更されたラインを命令キヤツシユに知らせな
い。従つてそれらの変更は、変更された命令への
次に分岐中には反映されない。かかる制御を達成
するために、ここで開示するスプリツト・キヤツ
シユ・サブシステム・アーキテクチヤは「命令キ
ヤツシユ・ライン無効化」と呼ばれる命令を提供
する。ソフトウエアは古い命令を掃き出すため
に、この命令を出さなければならない。また上記
アーキテクチヤは「データ・キヤツシユ・ライン
記憶」と呼ばれる命令を提供する。この命令は変
更された命令がバツキング記憶装置中に反映され
ることを保証する。最もありふれた場合である
が、デイスクからのロードによりプログラムの変
更が生じるとき、最初の命令のみが出されなけれ
ばならない。
要な時には命令をデータ・キヤツシユに入れ、そ
れをデータとして扱うためのソフトウエアが設け
られていると想定する。明らかにこれは容易に行
うことができる。しかし、データ・キヤツシユは
変更されたラインを命令キヤツシユに知らせな
い。従つてそれらの変更は、変更された命令への
次に分岐中には反映されない。かかる制御を達成
するために、ここで開示するスプリツト・キヤツ
シユ・サブシステム・アーキテクチヤは「命令キ
ヤツシユ・ライン無効化」と呼ばれる命令を提供
する。ソフトウエアは古い命令を掃き出すため
に、この命令を出さなければならない。また上記
アーキテクチヤは「データ・キヤツシユ・ライン
記憶」と呼ばれる命令を提供する。この命令は変
更された命令がバツキング記憶装置中に反映され
ることを保証する。最もありふれた場合である
が、デイスクからのロードによりプログラムの変
更が生じるとき、最初の命令のみが出されなけれ
ばならない。
このキヤツシユ・サブシステム・アーキテクチ
ヤの追加的な利点は、別個に独立して動作するキ
ヤツシユにより、命令用およびデータ用の別個の
仮想記憶装置を自然にサポートできることであ
る。従つて例えばAPLインタープリタの単一の
再入可能コピーが反復的なメモリ動作によつて、
最小限のバス時間で多くの異なつたユーザー領域
のために実行できるような、ソフトウエア・スト
ラテジーが可能になる。
ヤの追加的な利点は、別個に独立して動作するキ
ヤツシユにより、命令用およびデータ用の別個の
仮想記憶装置を自然にサポートできることであ
る。従つて例えばAPLインタープリタの単一の
再入可能コピーが反復的なメモリ動作によつて、
最小限のバス時間で多くの異なつたユーザー領域
のために実行できるような、ソフトウエア・スト
ラテジーが可能になる。
このアーキテクチヤは仮想記憶装置間でのペー
ジの共有が可能でない。この制限はハードウエア
およびソフトウエアのどちらの観点からも、大き
な単純化をもたらす。第1にそれはキヤツシユが
仮想モードで動作することを可能にする。言い換
えると実アドレスではなく仮想アドレスを用いて
キヤツシユにアクセスすることができる。明らか
に、ラインがキヤツシユ中に(90%以上の時間)
見い出される時、再配置アルゴリズムを実行する
ことによる時間損失や品質低下は全く生じない。
ジの共有が可能でない。この制限はハードウエア
およびソフトウエアのどちらの観点からも、大き
な単純化をもたらす。第1にそれはキヤツシユが
仮想モードで動作することを可能にする。言い換
えると実アドレスではなく仮想アドレスを用いて
キヤツシユにアクセスすることができる。明らか
に、ラインがキヤツシユ中に(90%以上の時間)
見い出される時、再配置アルゴリズムを実行する
ことによる時間損失や品質低下は全く生じない。
従来の再配置システムはかなりの量の高速記憶
装置をページ・テーブル上のルツク・アサイド・
テーブル(DLAT)専用にしている。記憶装置
は一般にキヤツシユと同じ技術であり、従つて非
常に高価である。このアーキテクチヤではペー
ジ・テーブルは通常はキヤツシユを通してアクセ
スすることができ、その期待される使用頻度が高
いために、一般にキヤツシユ・ヒツトの確率が非
常に高くなる。従つて追加的な費用なしで、性能
DLATを近似することが可能である。従つてシ
ステムの性能に大幅に影響を与えることなしに、
異常のDLATへの投資をキヤツシユ・サイズの
増大に適切に振り向けることもまた全く削除する
こともできる。
装置をページ・テーブル上のルツク・アサイド・
テーブル(DLAT)専用にしている。記憶装置
は一般にキヤツシユと同じ技術であり、従つて非
常に高価である。このアーキテクチヤではペー
ジ・テーブルは通常はキヤツシユを通してアクセ
スすることができ、その期待される使用頻度が高
いために、一般にキヤツシユ・ヒツトの確率が非
常に高くなる。従つて追加的な費用なしで、性能
DLATを近似することが可能である。従つてシ
ステムの性能に大幅に影響を与えることなしに、
異常のDLATへの投資をキヤツシユ・サイズの
増大に適切に振り向けることもまた全く削除する
こともできる。
ハードウエアの実施例、与えられる特殊なハー
ドウエア命令、およびこのキヤツシユ・サブシス
テム内で実行できる各種の動作についての詳細な
説明を始める前に、次の図面の簡単な説明とその
相互の関係を述べる。
ドウエア命令、およびこのキヤツシユ・サブシス
テム内で実行できる各種の動作についての詳細な
説明を始める前に、次の図面の簡単な説明とその
相互の関係を述べる。
第一図は、CPU、命令キヤツシユ、データ・
キヤツシユおよび主記憶装置の関係をはつきりと
示した、階層記憶構成の全体構成図である。直接
記憶アダプタ(DMA)も主記憶装置に直接接続
されたものとして示されている。先に述べたよう
に、キヤツシユをベースとする大部分のシステム
では、入出力はキヤツシユ・サブシステムを通過
して、主記憶装置に記憶され、システム・スルー
プツトの低下を伴う。本システムでは、入出力が
キヤツシユを通過することを禁じられており、実
際にも大部分は直接DMAを通過する。事実、後
述のように入出力動作がキヤツシユによつて開始
される記憶と読取りを中断することを防止するた
めの措置がとられている。キヤツシユにより開始
される記憶と読取りは「ストア・スルー型」動作
を伴うキヤツシユ・ミスが起こつた場合に生じ
る。また後で図面を参照する際に指摘するが、デ
ータ・キヤツシユから主記憶装置へのデータの流
れのラインはあるが、命令キヤツシユから主記憶
装置への流れのラインは存在しない。キヤツシユ
の命令部を「ストア・スルー」する必要はないた
め、命令キヤツシユ中での命令の変更は許されな
いので、このことは銘記しておくべきである。
キヤツシユおよび主記憶装置の関係をはつきりと
示した、階層記憶構成の全体構成図である。直接
記憶アダプタ(DMA)も主記憶装置に直接接続
されたものとして示されている。先に述べたよう
に、キヤツシユをベースとする大部分のシステム
では、入出力はキヤツシユ・サブシステムを通過
して、主記憶装置に記憶され、システム・スルー
プツトの低下を伴う。本システムでは、入出力が
キヤツシユを通過することを禁じられており、実
際にも大部分は直接DMAを通過する。事実、後
述のように入出力動作がキヤツシユによつて開始
される記憶と読取りを中断することを防止するた
めの措置がとられている。キヤツシユにより開始
される記憶と読取りは「ストア・スルー型」動作
を伴うキヤツシユ・ミスが起こつた場合に生じ
る。また後で図面を参照する際に指摘するが、デ
ータ・キヤツシユから主記憶装置へのデータの流
れのラインはあるが、命令キヤツシユから主記憶
装置への流れのラインは存在しない。キヤツシユ
の命令部を「ストア・スルー」する必要はないた
め、命令キヤツシユ中での命令の変更は許されな
いので、このことは銘記しておくべきである。
第2図(第2.1図および第2.2図)は、主
記憶装置、キヤツシユおよびCPUの間のデータ
経路をより詳しく示した、第1図の拡張である。
図のマルチプレクサ(MUX)は、このハードウ
エア実施例で設けられている各種のデータ転送の
ためのゲート機能を実行する、通常の論理回路で
ある。データ1バイト当たり1つのパリテイー・
ビツドが入出力、主記憶装置および両キヤツシユ
中を通つて運ばれるが、パリテイー・ビツトは
CPUに転送されたり、CPUから受け取られるこ
とはないことに注意する。
記憶装置、キヤツシユおよびCPUの間のデータ
経路をより詳しく示した、第1図の拡張である。
図のマルチプレクサ(MUX)は、このハードウ
エア実施例で設けられている各種のデータ転送の
ためのゲート機能を実行する、通常の論理回路で
ある。データ1バイト当たり1つのパリテイー・
ビツドが入出力、主記憶装置および両キヤツシユ
中を通つて運ばれるが、パリテイー・ビツトは
CPUに転送されたり、CPUから受け取られるこ
とはないことに注意する。
第2図は、主記憶装置からCPUへの4バイト
の目的データ・ワードに直接データ経路を与え
る、ワード・バイパス機構を図示したものであ
る。キヤツシユと主記憶装置の間のデータ転送の
基本サイズは、32バイトのラインである。このデ
ータは、主記憶装置からそれぞれ8バイトからな
る一連の4個の二重ワードして受け取られ、この
記憶アーキテクチヤによつて受け取られた最初の
二重ワードが必ず目的ワードを含むことが保証さ
れる。目的ワードはキヤツシユに記憶されるのと
同時に、CPUにバイパスされる。キヤツシユか
ら主記憶装置へのデータ書戻し経路は、書き戻し
マルチプレクサを通るそれぞれ4バイトからなる
一連の8個のワードとしてデータ・キヤツシユの
みに設けられていることに注意すること。
の目的データ・ワードに直接データ経路を与え
る、ワード・バイパス機構を図示したものであ
る。キヤツシユと主記憶装置の間のデータ転送の
基本サイズは、32バイトのラインである。このデ
ータは、主記憶装置からそれぞれ8バイトからな
る一連の4個の二重ワードして受け取られ、この
記憶アーキテクチヤによつて受け取られた最初の
二重ワードが必ず目的ワードを含むことが保証さ
れる。目的ワードはキヤツシユに記憶されるのと
同時に、CPUにバイパスされる。キヤツシユか
ら主記憶装置へのデータ書戻し経路は、書き戻し
マルチプレクサを通るそれぞれ4バイトからなる
一連の8個のワードとしてデータ・キヤツシユの
みに設けられていることに注意すること。
第2図の命令キヤツシユとデータ・キヤツシユ
を参照すると、2つのサブセツトAとBの存在が
示されていることに気づく。先に述べたように、
この2つのサブセツトの存在はアドレツシング・
アーキテクチヤの2ウエイ・セツト・アソシアテ
イブの要件である。
を参照すると、2つのサブセツトAとBの存在が
示されていることに気づく。先に述べたように、
この2つのサブセツトの存在はアドレツシング・
アーキテクチヤの2ウエイ・セツト・アソシアテ
イブの要件である。
次に第2図のデータ流れ図について簡単に説明
する。図を参照する際、データ流れの方向は基本
的に図の上方から下方に向かつている。命令キヤ
ツシユ10とデータ・キヤツシユ12は、ともに
主記憶装置14からデータを受取ることができ
る。しかし、CPUからデータを受取ることがで
きるのはデータ・キヤツシユだけである。このこ
とは先に述べた。これはこのアーキテクチヤでは
命令キヤツシユでの命令の変更が可能でなく、従
つて命令キヤツシユの出力はCPUに向かうだけ
であるためである。同様に、そのキヤツシユ中の
命令は直接CPUによつて変更できないので、命
令キヤツシユはローデイングのために取出しラツ
チ20と、入力マルチプレクサ22を経て主記憶
装置14に接続しさえすればよい。従つて、命令
キヤツシユ10に命令を記憶するため、命令デー
タのラインが取出しラツチ20を経て、最終的に
は命令キヤツシユの選択されたセクシヨン(ライ
ン)に転送させられる。同様に、命令キヤツシユ
からCPUに命令を転送するため、データ・ワー
ドが命令キヤツシユの選択されたセクシヨンから
読取られて、出力マルチプレクサ16、およびバ
イパス・マルチプレクサ18に送られる。
する。図を参照する際、データ流れの方向は基本
的に図の上方から下方に向かつている。命令キヤ
ツシユ10とデータ・キヤツシユ12は、ともに
主記憶装置14からデータを受取ることができ
る。しかし、CPUからデータを受取ることがで
きるのはデータ・キヤツシユだけである。このこ
とは先に述べた。これはこのアーキテクチヤでは
命令キヤツシユでの命令の変更が可能でなく、従
つて命令キヤツシユの出力はCPUに向かうだけ
であるためである。同様に、そのキヤツシユ中の
命令は直接CPUによつて変更できないので、命
令キヤツシユはローデイングのために取出しラツ
チ20と、入力マルチプレクサ22を経て主記憶
装置14に接続しさえすればよい。従つて、命令
キヤツシユ10に命令を記憶するため、命令デー
タのラインが取出しラツチ20を経て、最終的に
は命令キヤツシユの選択されたセクシヨン(ライ
ン)に転送させられる。同様に、命令キヤツシユ
からCPUに命令を転送するため、データ・ワー
ドが命令キヤツシユの選択されたセクシヨンから
読取られて、出力マルチプレクサ16、およびバ
イパス・マルチプレクサ18に送られる。
それぞれ命令キヤツシユ10とデータ・キヤツ
シユ12用の連関されたデイレクトリ11と13
(第3図(第3.1図と第3.2図)に詳しく示
す)が、キヤツシユに(機能的に)接続されたも
のとして示されている。これらのデイレクトリは
キヤツシユ・データ流れ経路に含まれているので
はなく、物理的にキヤツシユの動作と密接に関連
づけられていることを理解すべきである。後でさ
らに詳しく説明するように、所与のキヤツシユ・
アクセスの場合、アドレスのDフイールドに対し
て決定された同じラインによつて、両キヤツシ
ユ・サブセツトの同じラインおよび連関されたデ
イレクトリ項目が並列にアクセスされる。さら
に、このアクセスによつて、両キヤツシユ・サブ
セツトAおよびBのデータがシステムにとつて使
用可能となる。
シユ12用の連関されたデイレクトリ11と13
(第3図(第3.1図と第3.2図)に詳しく示
す)が、キヤツシユに(機能的に)接続されたも
のとして示されている。これらのデイレクトリは
キヤツシユ・データ流れ経路に含まれているので
はなく、物理的にキヤツシユの動作と密接に関連
づけられていることを理解すべきである。後でさ
らに詳しく説明するように、所与のキヤツシユ・
アクセスの場合、アドレスのDフイールドに対し
て決定された同じラインによつて、両キヤツシ
ユ・サブセツトの同じラインおよび連関されたデ
イレクトリ項目が並列にアクセスされる。さら
に、このアクセスによつて、両キヤツシユ・サブ
セツトAおよびBのデータがシステムにとつて使
用可能となる。
これらのデイレクトリは、通常はエミツタ結合
論理回路など適当な高速回路フアミリー中の別個
の極めて速い記憶装置として作られる。ここに開
示する実施例では、キヤツシユのアクセス時間が
30ナノ秒であるのに対して、デイレクトリのアク
セス時間は約12ナノ秒であつた。これはキヤツシ
ユから2つのデータ・サブセツトが使用可能なと
き、デイレクトリ項目にもとづいて行うべき論理
判断を可能にするためである。
論理回路など適当な高速回路フアミリー中の別個
の極めて速い記憶装置として作られる。ここに開
示する実施例では、キヤツシユのアクセス時間が
30ナノ秒であるのに対して、デイレクトリのアク
セス時間は約12ナノ秒であつた。これはキヤツシ
ユから2つのデータ・サブセツトが使用可能なと
き、デイレクトリ項目にもとづいて行うべき論理
判断を可能にするためである。
先に述べたように、データ・キヤツシユは主記
憶装置14からもCPU30からもロードできる。
データ・ラインを主記憶装置14から記憶すべき
場合、データ流れは両キヤツシユ共用の取出しラ
ツチ20を通り、次いでデータ・キヤツシユ用の
バイト入力マルチプレクサ48を通つてデータ・
キヤツシユ12自体に入る。データ・ラインを
CPU30から転送すべき場合、データ経路は図
に示すようにバイト入力マルチプレクサ48を通
つて、次にデータ・キヤツシユ12に入る。デー
タ・キヤツシユ12からCPUにデータを転送す
るには、データは出力マルチプレクサ32、バイ
パス・マルチプレクサ34を通つてCPUのデー
タ・レジスタに入る。
憶装置14からもCPU30からもロードできる。
データ・ラインを主記憶装置14から記憶すべき
場合、データ流れは両キヤツシユ共用の取出しラ
ツチ20を通り、次いでデータ・キヤツシユ用の
バイト入力マルチプレクサ48を通つてデータ・
キヤツシユ12自体に入る。データ・ラインを
CPU30から転送すべき場合、データ経路は図
に示すようにバイト入力マルチプレクサ48を通
つて、次にデータ・キヤツシユ12に入る。デー
タ・キヤツシユ12からCPUにデータを転送す
るには、データは出力マルチプレクサ32、バイ
パス・マルチプレクサ34を通つてCPUのデー
タ・レジスタに入る。
データ・キヤツシユのミスが起こつた場合、そ
のラインが有効であり、かつ変更を示すと仮定す
ると、新しいデータ・ラインをデータ・キヤツシ
ユのその特定ラインにロードできるようになる前
に、データ・キヤツシユ中のこのデータ・ライン
を記憶装置14に書き戻さなければならない。こ
のために書き戻しラツチ/マルチプレクサ52が
付勢される。
のラインが有効であり、かつ変更を示すと仮定す
ると、新しいデータ・ラインをデータ・キヤツシ
ユのその特定ラインにロードできるようになる前
に、データ・キヤツシユ中のこのデータ・ライン
を記憶装置14に書き戻さなければならない。こ
のために書き戻しラツチ/マルチプレクサ52が
付勢される。
バイト選択機構49およびバイト書込みゲート
50は、データ・キヤツシユへのデータの記憶を
制御する。
50は、データ・キヤツシユへのデータの記憶を
制御する。
デイレクトリ・ミスを伴うCPUロードOPのと
き、バイト選択機構49は主記憶データの二重ワ
ードのみがバイト入力マルチプレクサ48を通る
ようにゲートし、すべてのイト書込みゲート50
が活動化される。
き、バイト選択機構49は主記憶データの二重ワ
ードのみがバイト入力マルチプレクサ48を通る
ようにゲートし、すべてのイト書込みゲート50
が活動化される。
デイレクトリ・ヒツトを伴うCPU記憶OPのと
き、バイト選択機構49は、CPUデータ・ワー
ドのみがバイト入力マルチプレクサ48を通るよ
うにゲートし、書込みゲート50は、データ・キ
ヤツシユのサブセツト中に記憶されるバイト数を
制御するのに使用される。このCPUアーキテク
チヤは、1,2または3バイトのデータを記憶す
ることができる。
き、バイト選択機構49は、CPUデータ・ワー
ドのみがバイト入力マルチプレクサ48を通るよ
うにゲートし、書込みゲート50は、データ・キ
ヤツシユのサブセツト中に記憶されるバイト数を
制御するのに使用される。このCPUアーキテク
チヤは、1,2または3バイトのデータを記憶す
ることができる。
デイレクトリ・ミスを伴うCPU記憶OPのと
き、バイト選択機構49は1,2または3バイト
のCPUデータを主記憶装置からの最初のミス二
重ワードに組み合わせ、バイト入力マルチプレク
サ48を通過させる。すべての4バイト書込みゲ
ート50が活動化される。ミスを生じたラインの
残りの3つの二重ワードについては、バイト選択
機構49は主記憶装置の二重ワードのみがバイト
入力マルチプレクサ48を通過できるようにす
る。
き、バイト選択機構49は1,2または3バイト
のCPUデータを主記憶装置からの最初のミス二
重ワードに組み合わせ、バイト入力マルチプレク
サ48を通過させる。すべての4バイト書込みゲ
ート50が活動化される。ミスを生じたラインの
残りの3つの二重ワードについては、バイト選択
機構49は主記憶装置の二重ワードのみがバイト
入力マルチプレクサ48を通過できるようにす
る。
どちらのキヤツシユもバイパス機構を備えてお
り、どちらかのキヤツシユに対してキヤツシユ・
ミスを生じる取出し要求があつたとき、データが
主記憶装置から使用可能になつている場合、それ
ぞれ命令キヤツシユおよびデータ・キヤツシユに
ついてワード選択マルチプレクサ38または40
を通して、そのデータをキヤツシユおよびCPU
に同時に送ることができる。こうしてデータ(ま
たは命令)がまずキヤツシユに完全に記憶される
のを待つ間、CPUが停止する必要はない。
り、どちらかのキヤツシユに対してキヤツシユ・
ミスを生じる取出し要求があつたとき、データが
主記憶装置から使用可能になつている場合、それ
ぞれ命令キヤツシユおよびデータ・キヤツシユに
ついてワード選択マルチプレクサ38または40
を通して、そのデータをキヤツシユおよびCPU
に同時に送ることができる。こうしてデータ(ま
たは命令)がまずキヤツシユに完全に記憶される
のを待つ間、CPUが停止する必要はない。
後でさらに詳しく述べるように、命令またはデ
ータ・ラインの目的ワードのみが直接CPUにバ
イパスされる。
ータ・ラインの目的ワードのみが直接CPUにバ
イパスされる。
従つて、本スプリツト・キヤツシユ・サブシス
テムの全体アーキテクチヤは、基本的に通常の性
格のものであることがわかる。すなわち、主記憶
装置から命令キヤツシユおよびデータ・キヤツシ
ユをロードするためのデータ経路が設けられてい
る。追加手段がCPUからデータ・キヤツシユを
ロードする。同様に両方のキヤツシユがそれぞれ
命令とデータをCPUに転送することができ、デ
ータ・キヤツシユはまたデータを主記憶装置に書
戻すことができなければならない。最後に、どち
らのキヤツシユにもバイパス機構が備えられてお
り、それによつてライン中のアドレス中のアドレ
スされたワードが直ちにCPUに送られ、そのラ
インはCPU遅延を最小にするため、同時にキヤ
ツシユに記憶される。従つて、本スプリツト・キ
ヤツシユ・サブシステムの実際のハードウエア構
成は、全く簡明であることが認められる。ここに
開示するキヤツシユ・サブシステムの改善された
機能をもたらすのは、キヤツシユの実際の使い方
およびキヤツシユ・デイレクトリとその中に設け
られた特殊な制御ビツトの独特の構成である。
テムの全体アーキテクチヤは、基本的に通常の性
格のものであることがわかる。すなわち、主記憶
装置から命令キヤツシユおよびデータ・キヤツシ
ユをロードするためのデータ経路が設けられてい
る。追加手段がCPUからデータ・キヤツシユを
ロードする。同様に両方のキヤツシユがそれぞれ
命令とデータをCPUに転送することができ、デ
ータ・キヤツシユはまたデータを主記憶装置に書
戻すことができなければならない。最後に、どち
らのキヤツシユにもバイパス機構が備えられてお
り、それによつてライン中のアドレス中のアドレ
スされたワードが直ちにCPUに送られ、そのラ
インはCPU遅延を最小にするため、同時にキヤ
ツシユに記憶される。従つて、本スプリツト・キ
ヤツシユ・サブシステムの実際のハードウエア構
成は、全く簡明であることが認められる。ここに
開示するキヤツシユ・サブシステムの改善された
機能をもたらすのは、キヤツシユの実際の使い方
およびキヤツシユ・デイレクトリとその中に設け
られた特殊な制御ビツトの独特の構成である。
ちよつと第2図に戻ると、どちらのキヤツシユ
も図のような別個のライン選択機構によつて2つ
のサブセクシヨンAとBに分けられていることが
気付かれる。このことは後の説明でさらにはつき
り認められるはずである。このキヤツシユ・サブ
システムは、2ウエイ・セツト・アソシアテイブ
である。キヤツシユ・デイレクトリ中の所与のラ
インがアドレスされると、2つのデータ・ライン
の各々からキヤツシユ内で異なる2つのページ
(AとB)に属する1ワードが実際にアドレスさ
れる。最終的に選択れるラインは後で説明するよ
うに、目的ページ・アドレスPtとキヤツシユ・
デイレクトリに含まれる2つのページ参照PAお
よびPBとの比較によつて決定される。選択され
たラインからアドレスされたワードは、出力マル
チプレクサ16または32によつてCPUにゲー
トされる。
も図のような別個のライン選択機構によつて2つ
のサブセクシヨンAとBに分けられていることが
気付かれる。このことは後の説明でさらにはつき
り認められるはずである。このキヤツシユ・サブ
システムは、2ウエイ・セツト・アソシアテイブ
である。キヤツシユ・デイレクトリ中の所与のラ
インがアドレスされると、2つのデータ・ライン
の各々からキヤツシユ内で異なる2つのページ
(AとB)に属する1ワードが実際にアドレスさ
れる。最終的に選択れるラインは後で説明するよ
うに、目的ページ・アドレスPtとキヤツシユ・
デイレクトリに含まれる2つのページ参照PAお
よびPBとの比較によつて決定される。選択され
たラインからアドレスされたワードは、出力マル
チプレクサ16または32によつてCPUにゲー
トされる。
また、第2図を参照すると、キヤツシユ・サブ
システムの各ユニツトを接続する各種の多重ビツ
ト・ケーブルは32または36ビツトを含むものとし
て示されていることが気付かれる。32ビツト・ケ
ーブルと36ビツト・ケーブルの違いは、この実施
例の範囲内では36ビツト・ケーブルは32個のデー
タ・ビツトと4個のパリテイ・ビツトを含むとい
うことである。一般に4パリテイ・ビツトは、キ
ヤツシユ・サブシステムからCPUにデータ(ま
たは命令)を転送する際に除去ないし削除され
る。また、主記憶装置14と取出しラツチ20の
間のケーブルが72ビツトを含むことも気付かれ
る。すぐ認められるように、主記憶装置は二重ワ
ードを読出して転送するように編成されているの
で、このケーブルは2つの36ビツト・ワードを含
むだけである。
システムの各ユニツトを接続する各種の多重ビツ
ト・ケーブルは32または36ビツトを含むものとし
て示されていることが気付かれる。32ビツト・ケ
ーブルと36ビツト・ケーブルの違いは、この実施
例の範囲内では36ビツト・ケーブルは32個のデー
タ・ビツトと4個のパリテイ・ビツトを含むとい
うことである。一般に4パリテイ・ビツトは、キ
ヤツシユ・サブシステムからCPUにデータ(ま
たは命令)を転送する際に除去ないし削除され
る。また、主記憶装置14と取出しラツチ20の
間のケーブルが72ビツトを含むことも気付かれ
る。すぐ認められるように、主記憶装置は二重ワ
ードを読出して転送するように編成されているの
で、このケーブルは2つの36ビツト・ワードを含
むだけである。
これで、スプリツト・キヤツシユ・サブシステ
ム・ハードウエア全体の一般的説明は終わる。こ
のハードウエアの一般的構成および動作は単純明
解であり、当技術では周知のものであると考えら
れる。
ム・ハードウエア全体の一般的説明は終わる。こ
のハードウエアの一般的構成および動作は単純明
解であり、当技術では周知のものであると考えら
れる。
第3図(3.1図および第3.2図)を参照す
ると、16Kバイトのデータ・キヤツシユ・デイレ
クトリとそれに関連する論理および制御回路の詳
細な機能ブロツク図が示されている。ここで開示
される実施例では、24ビツトのCPUアドレスが
レジスタ60に配置されていると仮定されてい
る。この24ビツト・アドレス全体のうちで、左側
の11ビツト(Pt)は記憶参照のページ・アドレ
スを含んでいる。8ビツトからなるDフイールド
は、指定されたページ内の特定の記憶参照のライ
ン・アドレスを含んでいる。このアドレスはキヤ
ツシユ・デイレクトリの(従つてまたキヤツシユ
自身の内部の)256個のラインの1つを実際にア
ドレスするのに利用されることが指摘される。最
後に右側5ビツトのWフイールドは32バイトのラ
イン全体の中のワードまたはバイト・オフセツト
である。そのアドレスすなわちセグメントは、全
体アドレスによつて指示される所期のバイトをア
ドレスするのに実際に利用される。
ると、16Kバイトのデータ・キヤツシユ・デイレ
クトリとそれに関連する論理および制御回路の詳
細な機能ブロツク図が示されている。ここで開示
される実施例では、24ビツトのCPUアドレスが
レジスタ60に配置されていると仮定されてい
る。この24ビツト・アドレス全体のうちで、左側
の11ビツト(Pt)は記憶参照のページ・アドレ
スを含んでいる。8ビツトからなるDフイールド
は、指定されたページ内の特定の記憶参照のライ
ン・アドレスを含んでいる。このアドレスはキヤ
ツシユ・デイレクトリの(従つてまたキヤツシユ
自身の内部の)256個のラインの1つを実際にア
ドレスするのに利用されることが指摘される。最
後に右側5ビツトのWフイールドは32バイトのラ
イン全体の中のワードまたはバイト・オフセツト
である。そのアドレスすなわちセグメントは、全
体アドレスによつて指示される所期のバイトをア
ドレスするのに実際に利用される。
図からはつきりわかるように、キヤツシユ・デ
イレクトリは256の項目を含んでおり、(0〜255)
の各項目は全体で7つの情報フイールドPA、
PB、VA、VB、MA、MB、LRUを含んでいる。
後でさらに詳しく説明するように、PA、VAお
よよびMAは、サブセツトAに属するキヤツシユ
内の各ラインを指し、要素PB、VBおよびMBは
サブセツトBに関係している。LRUビツトは2
つのサブセツト・ラインのどちらが最も最近にア
クセスされたかを示し、従つてキヤツシユ内の
(サブセツトAまたはB中の)特定ラインの置換
を制御する。
イレクトリは256の項目を含んでおり、(0〜255)
の各項目は全体で7つの情報フイールドPA、
PB、VA、VB、MA、MB、LRUを含んでいる。
後でさらに詳しく説明するように、PA、VAお
よよびMAは、サブセツトAに属するキヤツシユ
内の各ラインを指し、要素PB、VBおよびMBは
サブセツトBに関係している。LRUビツトは2
つのサブセツト・ラインのどちらが最も最近にア
クセスされたかを示し、従つてキヤツシユ内の
(サブセツトAまたはB中の)特定ラインの置換
を制御する。
動作の際には、キヤツシユ・アクセスを行う場
合、CPUアドレスのDフイールドによつて指示
される特定のラインが、デイレクトリ内の256の
項目の1つをアクセスさせる。次にページPAと
PBのどちらがCPUアドレス中の目的ページ・ア
ドレスPtと一致するかを決定しなければならな
い。この比較は、2つの比較回路62と64で実
行される。ページ・アドレスPAとPBのどちらか
がPtと一致する場合、「ヒツト=A」ラインまた
は「ヒツト=B」ラインが活動化される。次にア
クセスが継続できるかどうか知るため、当該の妥
当性ビツトVまたは変更ビツトMが問い合わせら
れる。この動作の詳細については、後でより詳し
く述べる。2つのページ・アドレスPAまたはPB
のどちらもPtと一致したい場合、NAND回路6
6が「ミス」ラインを活動化させ、デイレクトリ
更新論理回路68がシステムに、「ミス」が生じ、
新しいデータ・ラインをキヤツシユ・システムに
持ち込まなければならないことを示す。2つのサ
ブセツト・ラインのどちらが置換されるかは、
LRUビツトによつて決定される。「書込みストロ
ーブ」として示されている7ビツド・ラインは後
で詳しく説明するように、新しいデータを選択さ
れたフイールドないしキヤツシユ・デイレクトリ
の特定項目のビツト位置に入力できるようにす
る。もちろんどのビツトが変更され、いつ新しい
ページ・アドレスがPAまたはPBフイールドに挿
入されるかはCPU命令解読機構70によつて解
読される特定の命令によつて決定される。
合、CPUアドレスのDフイールドによつて指示
される特定のラインが、デイレクトリ内の256の
項目の1つをアクセスさせる。次にページPAと
PBのどちらがCPUアドレス中の目的ページ・ア
ドレスPtと一致するかを決定しなければならな
い。この比較は、2つの比較回路62と64で実
行される。ページ・アドレスPAとPBのどちらか
がPtと一致する場合、「ヒツト=A」ラインまた
は「ヒツト=B」ラインが活動化される。次にア
クセスが継続できるかどうか知るため、当該の妥
当性ビツトVまたは変更ビツトMが問い合わせら
れる。この動作の詳細については、後でより詳し
く述べる。2つのページ・アドレスPAまたはPB
のどちらもPtと一致したい場合、NAND回路6
6が「ミス」ラインを活動化させ、デイレクトリ
更新論理回路68がシステムに、「ミス」が生じ、
新しいデータ・ラインをキヤツシユ・システムに
持ち込まなければならないことを示す。2つのサ
ブセツト・ラインのどちらが置換されるかは、
LRUビツトによつて決定される。「書込みストロ
ーブ」として示されている7ビツド・ラインは後
で詳しく説明するように、新しいデータを選択さ
れたフイールドないしキヤツシユ・デイレクトリ
の特定項目のビツト位置に入力できるようにす
る。もちろんどのビツトが変更され、いつ新しい
ページ・アドレスがPAまたはPBフイールドに挿
入されるかはCPU命令解読機構70によつて解
読される特定の命令によつて決定される。
キヤツシユ・デイレクトリおよびそれに関連す
る制御装置の動作および構成は、単純明解である
と考えられ、ここに開示される機能説明とブロツ
ク図を与えられれば、コンピユータ技術の専門家
が容易に実現できるものである。
る制御装置の動作および構成は、単純明解である
と考えられ、ここに開示される機能説明とブロツ
ク図を与えられれば、コンピユータ技術の専門家
が容易に実現できるものである。
第4図はキヤツシユ・サブシステムのアドレツ
シングおよび構造を図示した一連の表を含んでい
る。それに加えて、この図はキヤツシユ・サブシ
ステムのサイズのアドレツシング・フイールドな
どの各種のパラメータに対する影響を示してい
る。要するに、異なる3種のキヤツシユ・サイズ
を4K、8Kおよび16Kと仮定すると、デイレクト
リ項目は2つのページ識別子PaおよびPbと5つ
の特殊制御ビツトVa,Vb,Ma,Mb,LRUを
含むことが気付かれる。これらの特別制御ビツト
が利用される特殊な方法については、後で詳しく
説明する。
シングおよび構造を図示した一連の表を含んでい
る。それに加えて、この図はキヤツシユ・サブシ
ステムのサイズのアドレツシング・フイールドな
どの各種のパラメータに対する影響を示してい
る。要するに、異なる3種のキヤツシユ・サイズ
を4K、8Kおよび16Kと仮定すると、デイレクト
リ項目は2つのページ識別子PaおよびPbと5つ
の特殊制御ビツトVa,Vb,Ma,Mb,LRUを
含むことが気付かれる。これらの特別制御ビツト
が利用される特殊な方法については、後で詳しく
説明する。
キヤツシユ中のデイレクトリのアドレツシング
は、図の上部にもはつきり示されている。ここで
24ビツトのCPU目的アドレスは、P(ページ)、
D(ライン)、およびW(バイト)の3つのフイー
ルドを含んでいる。図から明らかなように、キヤ
ツシユ自体はDフイールドとWフイールドを用い
てアドレスされるが、デイレクトリはかかる2ウ
エイ・セツト・アソシアテイブ式キヤツシユでは
Dフイールドのみを利用してアドレスされる。当
該技術の専門家なら理解できるように、デイレク
トリがアクセスされ、次に目的アドレスのPフイ
ールドがデイレクトリ項目PaまたはPbのどちら
かと一致するかどうか決定される。この図につい
ては後でより詳しく説明する。
は、図の上部にもはつきり示されている。ここで
24ビツトのCPU目的アドレスは、P(ページ)、
D(ライン)、およびW(バイト)の3つのフイー
ルドを含んでいる。図から明らかなように、キヤ
ツシユ自体はDフイールドとWフイールドを用い
てアドレスされるが、デイレクトリはかかる2ウ
エイ・セツト・アソシアテイブ式キヤツシユでは
Dフイールドのみを利用してアドレスされる。当
該技術の専門家なら理解できるように、デイレク
トリがアクセスされ、次に目的アドレスのPフイ
ールドがデイレクトリ項目PaまたはPbのどちら
かと一致するかどうか決定される。この図につい
ては後でより詳しく説明する。
第5図から第11図までは、それぞれ特定のハ
ードウエア動作の結果としてキヤツシユ・サブシ
ステムのハードウエア内部で起こる動作を表の形
でまとめたものである。「ハードウエア・プロシ
ージヤ」の表現はキヤツシユ・サブシステム・ハ
ードウエアの動作の結果としてシステムで起こる
ことをリストにしたものという意味である。
ードウエア動作の結果としてキヤツシユ・サブシ
ステムのハードウエア内部で起こる動作を表の形
でまとめたものである。「ハードウエア・プロシ
ージヤ」の表現はキヤツシユ・サブシステム・ハ
ードウエアの動作の結果としてシステムで起こる
ことをリストにしたものという意味である。
第12図から第18図まではすべて流れ図であ
り、各図につけたラベルで示されるような第5図
ないし第11図に記される各種のキヤツシユ・サ
ブシステム動作と密接に関係している。言い換え
れば、列挙された各ハードウエア・プロシージヤ
に対する流れ図があり、例えば第6図のデータ・
キヤツシユ取出しハードウエア・プロシージヤは
第14図にずつと詳しく示されている。このよう
にこれらの流れ図では、詳しいテスト操作および
分岐操作および様々な分岐に沿つて進むとき、列
挙された様々なブロツクで起こる特定の操作が明
確に記載されている。これらの操作については後
でさらに詳しく説明るが、基本的にキヤツシユ・
サブシステムの動作を半ば説明すると考えられて
いる。
り、各図につけたラベルで示されるような第5図
ないし第11図に記される各種のキヤツシユ・サ
ブシステム動作と密接に関係している。言い換え
れば、列挙された各ハードウエア・プロシージヤ
に対する流れ図があり、例えば第6図のデータ・
キヤツシユ取出しハードウエア・プロシージヤは
第14図にずつと詳しく示されている。このよう
にこれらの流れ図では、詳しいテスト操作および
分岐操作および様々な分岐に沿つて進むとき、列
挙された様々なブロツクで起こる特定の操作が明
確に記載されている。これらの操作については後
でさらに詳しく説明るが、基本的にキヤツシユ・
サブシステムの動作を半ば説明すると考えられて
いる。
かかるキヤツシユ・サブシステムでおこる事
象、ならびに第2図と第3図で特別に示したすべ
てのハードウエア構成要素の機能と目的は、当技
術で周知のものであると考えられる。当技術の専
門家なら、第2図と第3図および詳細な流れ図に
記載された全体キヤツシユ・サブシステム構成を
用いて、本発明のキヤツシユ・サブシステムを作
成するのに困難はないはずである。
象、ならびに第2図と第3図で特別に示したすべ
てのハードウエア構成要素の機能と目的は、当技
術で周知のものであると考えられる。当技術の専
門家なら、第2図と第3図および詳細な流れ図に
記載された全体キヤツシユ・サブシステム構成を
用いて、本発明のキヤツシユ・サブシステムを作
成するのに困難はないはずである。
(b) 記憶階層の動作の詳細な説明
以下の説明は、本発明の階層記憶が特に有用な
ミニコンピユータのあるバージヨンに適用され
る。これは、16メガバイトまでの実主記憶装置を
含む。該階層記憶システムへの24ビツトのアドレ
ツシングを実現する。24ビツトの主CPUアーキ
テクチヤは、ここで詳しく述べる適正な記憶命令
を供給しなければならないこと以外は、本発明に
とつて決定的条件ではない。
ミニコンピユータのあるバージヨンに適用され
る。これは、16メガバイトまでの実主記憶装置を
含む。該階層記憶システムへの24ビツトのアドレ
ツシングを実現する。24ビツトの主CPUアーキ
テクチヤは、ここで詳しく述べる適正な記憶命令
を供給しなければならないこと以外は、本発明に
とつて決定的条件ではない。
ここに開示する記憶階層の実施例は、CPU速
度で動作するキヤツシユ・サブシステムおよび
CPU速度の1/5の速度で動作する最大16メガバイ
トのFET主記憶装置からなる。
度で動作するキヤツシユ・サブシステムおよび
CPU速度の1/5の速度で動作する最大16メガバイ
トのFET主記憶装置からなる。
CPUは、キヤツシユ・サブシステムと直接に
連絡し、一方、後者は主記憶装置と連絡する(第
1図を参照する)。入出力データは、直接記憶ア
ダプタ(DMA)を介して主記憶装置に送ること
ができるが、キヤツシユ・サブシステムに直接連
絡することはできない。
連絡し、一方、後者は主記憶装置と連絡する(第
1図を参照する)。入出力データは、直接記憶ア
ダプタ(DMA)を介して主記憶装置に送ること
ができるが、キヤツシユ・サブシステムに直接連
絡することはできない。
CPUとキヤツシユ・サブシステムの間のデー
タ転送の単位は、4バイト・ワードである。主記
憶装置とキヤツシユ・サブシステムの間の転送単
位は、32バイト・ラインである。ライン転送は、
主記憶装置から4つの8バイト2重ワードを経
て、また主記憶装置へ8つの4バイト・ワードを
経て行われる(第1図を参照のこと)。主記憶装
置からまたはそこへの入出力データ転送は、
DMAアダプタの制御下で4バイト・ワードを介
して行われる。
タ転送の単位は、4バイト・ワードである。主記
憶装置とキヤツシユ・サブシステムの間の転送単
位は、32バイト・ラインである。ライン転送は、
主記憶装置から4つの8バイト2重ワードを経
て、また主記憶装置へ8つの4バイト・ワードを
経て行われる(第1図を参照のこと)。主記憶装
置からまたはそこへの入出力データ転送は、
DMAアダプタの制御下で4バイト・ワードを介
して行われる。
データ・バイト当り1つのパリテイ・ビツト
が、記憶階層中を運ばれることに注意すること。
パリテイ・ビツトは、CPUへまたはCPUからは
転送されない。
が、記憶階層中を運ばれることに注意すること。
パリテイ・ビツトは、CPUへまたはCPUからは
転送されない。
(c) キヤツシユ管理
ここに開示される階層記憶サブシステムは、記
憶階層への参照によつて生じるCPU遊休時間を
最小限に抑えるように設計された、システム・ア
ーキテクチヤを基礎にしている。この記憶アーキ
テクチヤは、サイクル毎に新しい命令を利用でき
るCPU用に設計されているので、CPU速度に合
致する別個の命令キヤツシユは、命令の取出しが
記憶階層中でのデータ取出しとは独立に進行でき
るようにする。また、このアーキテクチヤは、キ
ヤツシユ・サブシステムとの直接の入出力通信を
禁止し、従つて入出力妨害雑音によつてCPUが
ロツクアウトされる可能性を除外する。同様に、
主記憶装置に対する過剰の参照によるパフオーマ
ンスの低下を避けるため、すべての記憶は、デー
タ・キヤツシユに向けられ、主記憶装置に自動的
に「ストア・スルー」されることはない。
憶階層への参照によつて生じるCPU遊休時間を
最小限に抑えるように設計された、システム・ア
ーキテクチヤを基礎にしている。この記憶アーキ
テクチヤは、サイクル毎に新しい命令を利用でき
るCPU用に設計されているので、CPU速度に合
致する別個の命令キヤツシユは、命令の取出しが
記憶階層中でのデータ取出しとは独立に進行でき
るようにする。また、このアーキテクチヤは、キ
ヤツシユ・サブシステムとの直接の入出力通信を
禁止し、従つて入出力妨害雑音によつてCPUが
ロツクアウトされる可能性を除外する。同様に、
主記憶装置に対する過剰の参照によるパフオーマ
ンスの低下を避けるため、すべての記憶は、デー
タ・キヤツシユに向けられ、主記憶装置に自動的
に「ストア・スルー」されることはない。
このアーキテクチヤ型式のために、入出力操作
による主記憶装置の内容の変更がCPUに直ちに
知られることはなく、また、CPUによつて実施
されたデータ・キヤツシユの内容の変更が入出力
または命令キヤツシユに直ちに知られることはな
いかもしれない。
による主記憶装置の内容の変更がCPUに直ちに
知られることはなく、また、CPUによつて実施
されたデータ・キヤツシユの内容の変更が入出力
または命令キヤツシユに直ちに知られることはな
いかもしれない。
しかし、この上位システム・アーキテクチヤ
は、プログラムが主記憶装置とキヤツシユ・サブ
システムの内容の間の関係を制御することを可能
にする、限られた組のキヤツシユ管理命令を供給
する。これらの管理命令は、32バイトのキヤツシ
ユ・ラインのみを扱い、システムがより低速の主
記憶装置に対する不必要なキヤツシユ参照を避け
ることを可能にする。例えば、一時記憶域が、も
はや必要でなくなつたとき、キヤツシユ中のライ
ンが以前のCPU記憶によつて変更されていた場
合でも、データ・キヤツシユ・ライン無効化命令
の使用が、主記憶装置に対する不必要な書戻しを
防止する。
は、プログラムが主記憶装置とキヤツシユ・サブ
システムの内容の間の関係を制御することを可能
にする、限られた組のキヤツシユ管理命令を供給
する。これらの管理命令は、32バイトのキヤツシ
ユ・ラインのみを扱い、システムがより低速の主
記憶装置に対する不必要なキヤツシユ参照を避け
ることを可能にする。例えば、一時記憶域が、も
はや必要でなくなつたとき、キヤツシユ中のライ
ンが以前のCPU記憶によつて変更されていた場
合でも、データ・キヤツシユ・ライン無効化命令
の使用が、主記憶装置に対する不必要な書戻しを
防止する。
(d) キヤツシユ・サブシステム
キヤツシユ・サブシステムは、16Kの命令キヤ
ツシユと16Kのデータ・キヤツシユから構成され
る。各キヤツシユは、2ウエイ・セツト・アソシ
アテイブとして編成されている。従つて、各キヤ
ツシユは、8KのサブセツトAと8Kのサブセツト
Bから構成される。一つのキヤツシユは、最大限
32バイトのラインを512本含むことができる。サ
ブセツトA中のライン256本とサブセツトB中の
ライン256本である。
ツシユと16Kのデータ・キヤツシユから構成され
る。各キヤツシユは、2ウエイ・セツト・アソシ
アテイブとして編成されている。従つて、各キヤ
ツシユは、8KのサブセツトAと8Kのサブセツト
Bから構成される。一つのキヤツシユは、最大限
32バイトのラインを512本含むことができる。サ
ブセツトA中のライン256本とサブセツトB中の
ライン256本である。
(e) デイレクトリ
各キヤツシユは、連関するデイレクトリを備え
ている。このデイレクトリは、アクセス時間が全
キヤツシユ・サイクル時間の約1/5の超高速バイ
ポーラ・ランダム・アクセス記憶装置に含まれて
いる。
ている。このデイレクトリは、アクセス時間が全
キヤツシユ・サイクル時間の約1/5の超高速バイ
ポーラ・ランダム・アクセス記憶装置に含まれて
いる。
デイレクトリ中の各項目は、各連関サブセツト
中に一つずつ、2つの可能なキヤツシユ・ライン
の存在および状況を記載する。従つて、このデイ
レクトリは、1つのキヤツシユ・サブセツト中に
物理的に存在できる最大ライン数と同じ項目を含
めるだけの大きさでなければならない。各キヤツ
シユ・サブセツトは、256本までのラインを含む
ことができるので、デイレクトリは256の項目を
含まなければならない。この構造は、第2.1図
にはつきりと示されている。
中に一つずつ、2つの可能なキヤツシユ・ライン
の存在および状況を記載する。従つて、このデイ
レクトリは、1つのキヤツシユ・サブセツト中に
物理的に存在できる最大ライン数と同じ項目を含
めるだけの大きさでなければならない。各キヤツ
シユ・サブセツトは、256本までのラインを含む
ことができるので、デイレクトリは256の項目を
含まなければならない。この構造は、第2.1図
にはつきりと示されている。
(e−1) アドレス・フイールド
本実施例に関しては、上位システムは24ビツ
ト・アドレスを利用することが仮定される。概念
的には、アドレスはページ・アドレス、ページ中
のラインのアドレスおよびライン中のバイトのア
ドレスの3つのフイールドに再分割できる。これ
らのサブフイールドは、ここではそれぞれP、D
およびWと呼ぶことにする。この構成は、第3図
に詳しく記れている。第3図のテーブルは、キヤ
ツシユ・サイズ範囲(4K→16K)およびキヤツ
シユおよびデイレクトリの各種パラメータに対す
るサイズの影響をも示している。
ト・アドレスを利用することが仮定される。概念
的には、アドレスはページ・アドレス、ページ中
のラインのアドレスおよびライン中のバイトのア
ドレスの3つのフイールドに再分割できる。これ
らのサブフイールドは、ここではそれぞれP、D
およびWと呼ぶことにする。この構成は、第3図
に詳しく記れている。第3図のテーブルは、キヤ
ツシユ・サイズ範囲(4K→16K)およびキヤツ
シユおよびデイレクトリの各種パラメータに対す
るサイズの影響をも示している。
各デイレクトリ項目は、2つのキヤツシユ・サ
ブセツト(PAおよびPB)に記憶されているライ
ンのページ・アドレスを含む2つのアドレス・フ
イールドと、処理されているキヤツシユ命令のた
めのハードウエア・アルゴリズムに指令する制御
ビツト・フイールドを持つている。デイレクトリ
は、目的アドレスのライン・アドレス・サブフイ
ールドによつてアドレスされる。キヤツシユ・サ
イズが小さくなるとライン・アドレス・サブフイ
ールドのサイズが減少するが、ページ・アドレ
ス・サブフイールドのサイズは増大する。(第3
図を参照)事実、この時、サイズのより小さい
(1ページ当りのラインの数がより少ない)ペー
ジがより多く形成される。
ブセツト(PAおよびPB)に記憶されているライ
ンのページ・アドレスを含む2つのアドレス・フ
イールドと、処理されているキヤツシユ命令のた
めのハードウエア・アルゴリズムに指令する制御
ビツト・フイールドを持つている。デイレクトリ
は、目的アドレスのライン・アドレス・サブフイ
ールドによつてアドレスされる。キヤツシユ・サ
イズが小さくなるとライン・アドレス・サブフイ
ールドのサイズが減少するが、ページ・アドレ
ス・サブフイールドのサイズは増大する。(第3
図を参照)事実、この時、サイズのより小さい
(1ページ当りのラインの数がより少ない)ペー
ジがより多く形成される。
(e−2) 制御ビツト・フイールド
命令キヤツシユ・デイレクトリは、各項目毎に
3つの制御ビツトを含み、データ・キヤツシユ・
デイレクトリは5つの制御ビツトを含む。どちら
のキヤツシユ・デイレクトリもその各項目が各サ
ブセツトについて1つずつ、合計2つの有効ビツ
ト(VAおよびVB)ならびに1つのLRUビツト
を含む。その上、データ・キヤツシユ・デイレク
トリは各サブセツトについて1つずつ、合計2つ
の変更ビツト(MAおよびMB)を含む(第3図
を参照のこと)。
3つの制御ビツトを含み、データ・キヤツシユ・
デイレクトリは5つの制御ビツトを含む。どちら
のキヤツシユ・デイレクトリもその各項目が各サ
ブセツトについて1つずつ、合計2つの有効ビツ
ト(VAおよびVB)ならびに1つのLRUビツト
を含む。その上、データ・キヤツシユ・デイレク
トリは各サブセツトについて1つずつ、合計2つ
の変更ビツト(MAおよびMB)を含む(第3図
を参照のこと)。
有効ビツトは、キヤツシユと主記憶装置の内容
の間の関係を制御するために使用される。それら
は、キヤツシユのラインが現在主記憶装置に常駐
するバージヨンによつて置換されたとき、「1」
にセツトされる。あるラインに対する有効なビツ
トは、プロセツサからのキヤツシユ管理命令によ
つてターンオフすることができる。無効化された
(V=0)ラインをプログラムが参照すると、無
効ラインは主記憶装置中に存在するその現バージ
ヨンによつて置換させられる。
の間の関係を制御するために使用される。それら
は、キヤツシユのラインが現在主記憶装置に常駐
するバージヨンによつて置換されたとき、「1」
にセツトされる。あるラインに対する有効なビツ
トは、プロセツサからのキヤツシユ管理命令によ
つてターンオフすることができる。無効化された
(V=0)ラインをプログラムが参照すると、無
効ラインは主記憶装置中に存在するその現バージ
ヨンによつて置換させられる。
LRUビツトは、どちらのサブセツトが主記憶
装置から置換ラインを受取るかを決定する。
LRUビツトの状態は、キヤツシユ・ハードウエ
ア・プロシージヤによつて制御され、プロセツサ
がプログラム制御下で管理することはできない。
LRU置換プロシージヤは、キヤツシユのあるラ
インを主記憶装置からの新しいラインで置換する
ことが必要になつたとき、従うべき有効な戦略
は、最近もつとも使われなかつたアソシアテイ
ブ・セツト中のラインを置換することであるとい
う前提条件にもとづいている。キヤツシユは、正
に2ウエイ・セツト・アソシアテイブであるの
で、単一制御ビツトを開いてこの判断を下すこと
ができ、最近もつとも使用されなかつたものは最
近にもつとも使用されたものになる。
装置から置換ラインを受取るかを決定する。
LRUビツトの状態は、キヤツシユ・ハードウエ
ア・プロシージヤによつて制御され、プロセツサ
がプログラム制御下で管理することはできない。
LRU置換プロシージヤは、キヤツシユのあるラ
インを主記憶装置からの新しいラインで置換する
ことが必要になつたとき、従うべき有効な戦略
は、最近もつとも使われなかつたアソシアテイ
ブ・セツト中のラインを置換することであるとい
う前提条件にもとづいている。キヤツシユは、正
に2ウエイ・セツト・アソシアテイブであるの
で、単一制御ビツトを開いてこの判断を下すこと
ができ、最近もつとも使用されなかつたものは最
近にもつとも使用されたものになる。
データ・キヤツシユ・デイレクトリ中の変更ビ
ツトは、プロセツサ記憶命令が生じたとき、「1」
にセツトされる。これは、キヤツシユ中のライン
のバージヨンが更新済みであることをキヤツシユ
制御ハードウエアに指示し、このラインを置換す
べき場合は主記憶装置にそれを書戻さなければな
らない。しかし、ラインが無効化(V=0)され
た場合には、書戻しは禁止される。命令キヤツシ
ユでは、可能でないことを再度指摘しておく。
ツトは、プロセツサ記憶命令が生じたとき、「1」
にセツトされる。これは、キヤツシユ中のライン
のバージヨンが更新済みであることをキヤツシユ
制御ハードウエアに指示し、このラインを置換す
べき場合は主記憶装置にそれを書戻さなければな
らない。しかし、ラインが無効化(V=0)され
た場合には、書戻しは禁止される。命令キヤツシ
ユでは、可能でないことを再度指摘しておく。
(f) プロトタイプの実現
上記の記憶階層を、プロトタイプとして実現し
た。主記憶装置は、サイクル時間が300ナノ秒の
1.0メガバイトのFET記憶装置を用いて設計した。
2重キヤツシユは、それぞれサイクル時間が
CPUのサイクル時間と符号する60ナノ秒の16Kバ
イトのバイポーラ記憶装置を用いて設計した。各
キヤツシユは、2つのアソシアテイブ・セツトそ
れぞれに256本のライン、すなわち最大限512本の
ラインを含んでいる。その上、各キヤツシユの最
大サイズを手動で8Kまたは4Kバイトに減らすこ
とができ、それによつて全体内容をそれぞれ256
本または128本のラインに減らすことができる
(第3図を参照のこと)。
た。主記憶装置は、サイクル時間が300ナノ秒の
1.0メガバイトのFET記憶装置を用いて設計した。
2重キヤツシユは、それぞれサイクル時間が
CPUのサイクル時間と符号する60ナノ秒の16Kバ
イトのバイポーラ記憶装置を用いて設計した。各
キヤツシユは、2つのアソシアテイブ・セツトそ
れぞれに256本のライン、すなわち最大限512本の
ラインを含んでいる。その上、各キヤツシユの最
大サイズを手動で8Kまたは4Kバイトに減らすこ
とができ、それによつて全体内容をそれぞれ256
本または128本のラインに減らすことができる
(第3図を参照のこと)。
(f−1) 物理パツケージ
命令キヤツシユでもデータ・キヤツシユでもキ
ヤツシユ・アレイはバイポーラ・トランジスタ記
憶技術を利用して、4枚のカードにパツケージし
た。各カードは2K×18ビツトを含み、1キヤツ
シユ当りのカードは4枚であつた。ここで述べる
実施例は例示のためだけのものである。かかるキ
ヤツシユの一般構造は当技術の専門家なら、ここ
に記載するアーキテクチヤ定義・制御機能および
命令書式から充分にわかると考えられる。
ヤツシユ・アレイはバイポーラ・トランジスタ記
憶技術を利用して、4枚のカードにパツケージし
た。各カードは2K×18ビツトを含み、1キヤツ
シユ当りのカードは4枚であつた。ここで述べる
実施例は例示のためだけのものである。かかるキ
ヤツシユの一般構造は当技術の専門家なら、ここ
に記載するアーキテクチヤ定義・制御機能および
命令書式から充分にわかると考えられる。
(g) キヤツシユ編成
CPUに対するキヤツシユ・インターフエース
は、幅32ビツト(1ワード)であり、主記憶装置
に対するインターフエースは取出し用で幅72ビツ
ト(パリテイを含めた二重ワード)または記憶用
で36ビツトである。初期取出しには目的アドレス
でAおよびBサブセツトに同時にアクセスできる
ことが望ましい。目的アドレスのワードを両方の
アソシアテイブ・サブセツトから同時に読取れる
と仮定すれば、様々なキヤツシユ記憶編成が可能
である。
は、幅32ビツト(1ワード)であり、主記憶装置
に対するインターフエースは取出し用で幅72ビツ
ト(パリテイを含めた二重ワード)または記憶用
で36ビツトである。初期取出しには目的アドレス
でAおよびBサブセツトに同時にアクセスできる
ことが望ましい。目的アドレスのワードを両方の
アソシアテイブ・サブセツトから同時に読取れる
と仮定すれば、様々なキヤツシユ記憶編成が可能
である。
そうするのは、キヤツシユ・サイクル中の後の
方でデイレクトリ・アクセスによつてその情報が
与えられるまでは、目的物が存在するサブセツト
がわからないためである。この理由から、また時
間を節約するためにデイレクトリとキヤツシユは
同時にアクセスされる。
方でデイレクトリ・アクセスによつてその情報が
与えられるまでは、目的物が存在するサブセツト
がわからないためである。この理由から、また時
間を節約するためにデイレクトリとキヤツシユは
同時にアクセスされる。
デイレクトリ・アクセスでAとBのどちらのサ
ブセツトにも目的物が存在しないこと(ミス)が
示された場合、キヤツシユ・アクセスからのデー
タは無視され、目的データを含むラインを求めて
主記憶装置がアクセスされる。データ・キヤツシ
ユ・ミスの場合、現在キヤツシユ中に存在するラ
インを主記憶装置からの新しいラインで置換する
前に書戻することが必要になる場合もある。
ブセツトにも目的物が存在しないこと(ミス)が
示された場合、キヤツシユ・アクセスからのデー
タは無視され、目的データを含むラインを求めて
主記憶装置がアクセスされる。データ・キヤツシ
ユ・ミスの場合、現在キヤツシユ中に存在するラ
インを主記憶装置からの新しいラインで置換する
前に書戻することが必要になる場合もある。
目的ページ・アドレスがAまたはBのサブセツ
トに対するデイレクトリ項目と符号する(ヒツ
ト)場合、正しいサブセツトが直ちに知られ、キ
ヤツシユからの目的データをヒツト・サブセツト
からCPUに直接ゲートすることができる。この
戦略を用いると、データをCPUに送るのに必要
な合計時間が最小限に抑えられる。
トに対するデイレクトリ項目と符号する(ヒツ
ト)場合、正しいサブセツトが直ちに知られ、キ
ヤツシユからの目的データをヒツト・サブセツト
からCPUに直接ゲートすることができる。この
戦略を用いると、データをCPUに送るのに必要
な合計時間が最小限に抑えられる。
キヤツシユ・ミスによる主記憶装置へのアクセ
スは、32バイトのラインを生成し、そのラインが
連続する4つの二重ワードとしてキヤツシユに多
重化される。この記憶システム・アーキテクチヤ
はキヤツシユ・ミスの場合に目的ワードを含む二
重ワードが、まず記憶制御装置によつて返送され
ることを指定している。残りの3つの二重ワード
は、そのラインに含まれる4つの二重ワードがす
べて返送されるまで、目的アドレスを二重ワード
ずつ増分することによつて生成される、順次隣接
するアドレスから返送される。
スは、32バイトのラインを生成し、そのラインが
連続する4つの二重ワードとしてキヤツシユに多
重化される。この記憶システム・アーキテクチヤ
はキヤツシユ・ミスの場合に目的ワードを含む二
重ワードが、まず記憶制御装置によつて返送され
ることを指定している。残りの3つの二重ワード
は、そのラインに含まれる4つの二重ワードがす
べて返送されるまで、目的アドレスを二重ワード
ずつ増分することによつて生成される、順次隣接
するアドレスから返送される。
この最初の二重ワードが常に目的ワードを含む
ので、データ・キヤツシユ中ではCPUデータを
主記憶装置からの再初の二重ワードに組み合わせ
ることによつて記憶ミスが処理される。
ので、データ・キヤツシユ中ではCPUデータを
主記憶装置からの再初の二重ワードに組み合わせ
ることによつて記憶ミスが処理される。
(h) 命令キヤツシユの取出し
命令キヤツシユ取出しハードウエア操作順序の
流れ図が第13図に示され、第5図に表にしてま
とめられている。両キヤツシユのデータ流れのブ
ロツク・ダイアグラムが第2.1図に示されてい
る。
流れ図が第13図に示され、第5図に表にしてま
とめられている。両キヤツシユのデータ流れのブ
ロツク・ダイアグラムが第2.1図に示されてい
る。
命令キヤツシユ取出し要求がキヤツシユ・アレ
イとデイレクトリへのアクセスを開始する。デイ
レクトリ・アクセスはキヤツシユ・アクセスとオ
ーバラツプされている。両キヤツシユは取出しの
目的ワードがAとBのどちらのサブセツトからも
同時にアクセスされるように編成されている。
イとデイレクトリへのアクセスを開始する。デイ
レクトリ・アクセスはキヤツシユ・アクセスとオ
ーバラツプされている。両キヤツシユは取出しの
目的ワードがAとBのどちらのサブセツトからも
同時にアクセスされるように編成されている。
これはどちらのサブセツトに目的データが存在
するかを知らずに、あるいは目的物がどちらのサ
ブセツトにも全く存在しない場合にも行われる。
するかを知らずに、あるいは目的物がどちらのサ
ブセツトにも全く存在しない場合にも行われる。
(h−1) ヒツト
目的アドレスがAまたはBのサブセツトのデイ
レクトリ項目と符号する場合そのデイレクトリへ
のアクセスはヒツトとなる。正しいサブセツトが
直ちに知られ、そのラインが有効な場合には目的
データをヒツト・サブセツトからCPUにゲート
できる。キヤツシユ・アレイへのアクセスに追加
的時間は不要である。そのデイレクトリ項目に対
するLRUビツトは、次に逆のサブセツトに切り
替えられる。もちろんLRUが以前の操作の結果
として既に逆のサブセツトを示していることもあ
る。
レクトリ項目と符号する場合そのデイレクトリへ
のアクセスはヒツトとなる。正しいサブセツトが
直ちに知られ、そのラインが有効な場合には目的
データをヒツト・サブセツトからCPUにゲート
できる。キヤツシユ・アレイへのアクセスに追加
的時間は不要である。そのデイレクトリ項目に対
するLRUビツトは、次に逆のサブセツトに切り
替えられる。もちろんLRUが以前の操作の結果
として既に逆のサブセツトを示していることもあ
る。
(h−2) ミスまたは無効ヒツト
目的アドレスがAとBのどちらのサブセツトの
デイレクトリ項目とも符号しない場合、そのデイ
レクトリへのアクセスはミスとなる。キヤツシ
ユ・アレイからアクセスされたデータは無視さ
れ、取出要求が(目的アドレスと一緒に)主記憶
装置へ転送され、主記憶装置が32バイトのライン
を4つの8バイト二重ワードとして返送する。返
送される最初の二重ワードは(前述のように)目
的アドレスによつて指示された特定の4バイト・
ワードを必ず含む。速度を上げるため、このワー
ドは二重ワードがキヤツシユに記憶される間に同
時にCPUへバイパスされる。このデータ経路が
第2.1図にはつきり示されている。次の3つの
二重ワードは順次主記憶装置から返送され、致着
するとキヤツシユに記憶される。
デイレクトリ項目とも符号しない場合、そのデイ
レクトリへのアクセスはミスとなる。キヤツシ
ユ・アレイからアクセスされたデータは無視さ
れ、取出要求が(目的アドレスと一緒に)主記憶
装置へ転送され、主記憶装置が32バイトのライン
を4つの8バイト二重ワードとして返送する。返
送される最初の二重ワードは(前述のように)目
的アドレスによつて指示された特定の4バイト・
ワードを必ず含む。速度を上げるため、このワー
ドは二重ワードがキヤツシユに記憶される間に同
時にCPUへバイパスされる。このデータ経路が
第2.1図にはつきり示されている。次の3つの
二重ワードは順次主記憶装置から返送され、致着
するとキヤツシユに記憶される。
主記憶装置によつて返送される、目的物を含む
最初の二重ワードが実際にはそのラインの最後の
二重ワードであることがあり得る。この場合、そ
のラインの残りの3つの二重ワードも、やはり順
次返送されるが、ラインの始めから始まる。この
ようにどの二重ワードが最初に到着するかにかか
わらず、他の3つの二重ワードが順次受取られ
る。
最初の二重ワードが実際にはそのラインの最後の
二重ワードであることがあり得る。この場合、そ
のラインの残りの3つの二重ワードも、やはり順
次返送されるが、ラインの始めから始まる。この
ようにどの二重ワードが最初に到着するかにかか
わらず、他の3つの二重ワードが順次受取られ
る。
また、主記憶装置から取出されるラインが
CPUに対する一連の命令をデータとして含んで
いることにも注意すべきである。CPUは深さ4
レベルの事前取出スタツクを含んでいると仮定さ
れる。この事前取出しスタツクは、自身を充填さ
れた状態を保とうと試みて絶えず取出し要求を命
令キヤツシユに送り、それによつて各機械サイク
ル毎に全CPUアーキテクチヤの要件にもとづい
て新しい命令を与える。命令キヤツシユ・ミスの
場合は、この事前取出レベルが2つ以上空になる
こともあり得る。新しいラインが主記憶装置から
到着したとき、キヤツシユ・ラインの最後に達す
るまで、またはCPU事前取出し機構が一杯にな
つてバイパス・アクシヨンを停止するまで、キヤ
ツシユはデータをCPUにバイパスし続ける。こ
うしてCPUにバイパスされるワード数は、最低
1ワードから最高でそのライン中の8ワードすべ
てまでのどんな数となることもありうる。
CPUに対する一連の命令をデータとして含んで
いることにも注意すべきである。CPUは深さ4
レベルの事前取出スタツクを含んでいると仮定さ
れる。この事前取出しスタツクは、自身を充填さ
れた状態を保とうと試みて絶えず取出し要求を命
令キヤツシユに送り、それによつて各機械サイク
ル毎に全CPUアーキテクチヤの要件にもとづい
て新しい命令を与える。命令キヤツシユ・ミスの
場合は、この事前取出レベルが2つ以上空になる
こともあり得る。新しいラインが主記憶装置から
到着したとき、キヤツシユ・ラインの最後に達す
るまで、またはCPU事前取出し機構が一杯にな
つてバイパス・アクシヨンを停止するまで、キヤ
ツシユはデータをCPUにバイパスし続ける。こ
うしてCPUにバイパスされるワード数は、最低
1ワードから最高でそのライン中の8ワードすべ
てまでのどんな数となることもありうる。
(h−3) デイレクトリの更新
ミスの後、デイレクトリは新しい目的アドレス
(Pt)で更新され、新しいラインが記憶されたサ
ブセツトに対する有効ビツトが「1」にセツトさ
れ、LRUビツトは逆のサブセツトに切り替えら
れられる。
(Pt)で更新され、新しいラインが記憶されたサ
ブセツトに対する有効ビツトが「1」にセツトさ
れ、LRUビツトは逆のサブセツトに切り替えら
れられる。
目的アドレスが無効な(V=0)デイレクトリ
項目と符号した場合、その結果は、無効ヒツトで
あり、ハードウエア・アクシヨンは下記の2点を
除いてはミスが発生した場合と同じである。第1
にLRUビツトの状態とはかかわりなく、新しい
ラインが符号したサブセツトに入り、第2にデイ
レクトリ中のアドレスは更新されない。これはア
ドレスは有効符号を生じたが、データは無効で置
換しなければならないからである。新しいライン
のロードに続いて、デイレクトリLRUビツドは
逆のサブセツトに切り替えられ、記憶されたサブ
セツトに対する有効ビツトが(「1」に)セツト
オンされる。この場合も、「有効」ビツト(VA
またはVB)がゼロになり得る唯一の経路は、
「命令キヤツシユ・ライン無効化」命令を用いて
CPUを介するものであることに注意すべきであ
る。
項目と符号した場合、その結果は、無効ヒツトで
あり、ハードウエア・アクシヨンは下記の2点を
除いてはミスが発生した場合と同じである。第1
にLRUビツトの状態とはかかわりなく、新しい
ラインが符号したサブセツトに入り、第2にデイ
レクトリ中のアドレスは更新されない。これはア
ドレスは有効符号を生じたが、データは無効で置
換しなければならないからである。新しいライン
のロードに続いて、デイレクトリLRUビツドは
逆のサブセツトに切り替えられ、記憶されたサブ
セツトに対する有効ビツトが(「1」に)セツト
オンされる。この場合も、「有効」ビツト(VA
またはVB)がゼロになり得る唯一の経路は、
「命令キヤツシユ・ライン無効化」命令を用いて
CPUを介するものであることに注意すべきであ
る。
第5図は上述のこの命令キヤツシユ取出しハー
ドウエア順序をまとめたものである。
ドウエア順序をまとめたものである。
(i) データ・キヤツシユ取出し
データ・キヤツシユ取出しハードウエアの操作
順序が第14図に示され、第6図ににまとめられ
ている。全体のデータ流れ図は第2.1図に出て
いる。
順序が第14図に示され、第6図ににまとめられ
ている。全体のデータ流れ図は第2.1図に出て
いる。
(i−1) ヒツト
有効ヒツトに対するデータ・キヤツシユ取出し
プロシージヤは、上記命令キヤツシユ取出しプロ
シージヤと同一であり、繰返す必要はない。
プロシージヤは、上記命令キヤツシユ取出しプロ
シージヤと同一であり、繰返す必要はない。
(i−2) ミスまたは無効ヒツト
ミスまたは無効ヒツトの場合のデータ・キヤツ
シユ取出し操作順序は、2つの例外を除いては上
記の命令キヤツシユ取出し順序と類似している。
シユ取出し操作順序は、2つの例外を除いては上
記の命令キヤツシユ取出し順序と類似している。
第1にミスのとき、CPU記憶装置によつて変
更されている有効ラインをそれが置換される前に
主記憶装置に書き戻さなければならない。第2に
ミスが生じると、8つまでのワードをCPU事前
取出しスタツクにバイパスできる命令キヤツシユ
とは違つて、データ・キヤツシユはミスのとき1
ワードしかCPUにバイパスしない。
更されている有効ラインをそれが置換される前に
主記憶装置に書き戻さなければならない。第2に
ミスが生じると、8つまでのワードをCPU事前
取出しスタツクにバイパスできる命令キヤツシユ
とは違つて、データ・キヤツシユはミスのとき1
ワードしかCPUにバイパスしない。
取出しミスが起こつたとき、変更ビツトおよび
有効ビツトについて置換すべきラインがチエツク
される。AとBのどちらのサブセツトを置換すべ
きかは、LRUビツトによつて決定される。その
ラインが無効または変更されていない場合には、
書戻しは起こらず、目的ラインに対する取出し要
求が主記憶装置に送られる。主記憶装置によよつ
て返送されたラインの最初の二重ワードは、目的
ワードを含み、最初の二重ワードがキヤツシユに
記憶されている間に同時にキヤツシユ・ハードウ
エアがこのワードをストリツプアウトして、それ
をCPUに直接バイパスする。新しいラインの記
憶に続いて、命令キヤツシユ取出しについて説明
したようにデイレクトリは更新される。
有効ビツトについて置換すべきラインがチエツク
される。AとBのどちらのサブセツトを置換すべ
きかは、LRUビツトによつて決定される。その
ラインが無効または変更されていない場合には、
書戻しは起こらず、目的ラインに対する取出し要
求が主記憶装置に送られる。主記憶装置によよつ
て返送されたラインの最初の二重ワードは、目的
ワードを含み、最初の二重ワードがキヤツシユに
記憶されている間に同時にキヤツシユ・ハードウ
エアがこのワードをストリツプアウトして、それ
をCPUに直接バイパスする。新しいラインの記
憶に続いて、命令キヤツシユ取出しについて説明
したようにデイレクトリは更新される。
(i−3) 書戻し
置換すべきラインが有効でかつ変更済みの場
合、その置換ラインについて取出し要求が出され
る前にそれを主記憶装置に書戻さなければならな
い。書戻すべきラインのページ・アドレスはデイ
レクトリ項目に含まれ、そのアドレスが書戻しの
ため主記憶装置に供給される。キヤツシユは書戻
しラインの4つの二重ワードを読出すのに4サイ
クルかかり、マルチプレクサ52がそれらを一連
の8ワードに分けて主記憶装置の記憶入力レジス
タ(SIR)に転送する(第2.1図を参照のこ
と)。
合、その置換ラインについて取出し要求が出され
る前にそれを主記憶装置に書戻さなければならな
い。書戻すべきラインのページ・アドレスはデイ
レクトリ項目に含まれ、そのアドレスが書戻しの
ため主記憶装置に供給される。キヤツシユは書戻
しラインの4つの二重ワードを読出すのに4サイ
クルかかり、マルチプレクサ52がそれらを一連
の8ワードに分けて主記憶装置の記憶入力レジス
タ(SIR)に転送する(第2.1図を参照のこ
と)。
通常の場合、入出力が書戻しと新しいラインに
対する取出し要求の発行との間に主記憶装置に対
するアクセスを得、それによつて入出力操作時に
データ・キヤツシユを停止させることが起こり得
る。これが起こることを防止するため、特に書戻
しを伴うデータ・キヤツシユ・ミスの場合には、
データ・キヤツシユから特に高い優先順位の取出
し要求を主記憶装置に出すことができる。この高
い優先順位の要求の効果は、旧(書戻し)ライン
をSIR中にロードしながら主記憶装置に新しいラ
インの自動取出しを開示させることである。これ
によつてデータ・キヤツシユ専用のバツク・ツ
ー・バツク主記憶装置サイクルがもたらされ、旧
ラインの記憶前に主記憶装置の新しいラインに対
する取出しが起こることができるようになる。旧
ラインは一時的にSIRに保管される。
対する取出し要求の発行との間に主記憶装置に対
するアクセスを得、それによつて入出力操作時に
データ・キヤツシユを停止させることが起こり得
る。これが起こることを防止するため、特に書戻
しを伴うデータ・キヤツシユ・ミスの場合には、
データ・キヤツシユから特に高い優先順位の取出
し要求を主記憶装置に出すことができる。この高
い優先順位の要求の効果は、旧(書戻し)ライン
をSIR中にロードしながら主記憶装置に新しいラ
インの自動取出しを開示させることである。これ
によつてデータ・キヤツシユ専用のバツク・ツ
ー・バツク主記憶装置サイクルがもたらされ、旧
ラインの記憶前に主記憶装置の新しいラインに対
する取出しが起こることができるようになる。旧
ラインは一時的にSIRに保管される。
この戦略を具体化するため、データ・キヤツシ
ユが書戻すべきラインの最初の二重ワードについ
てアクセスされ、データ・キヤツシユ制御装置に
書戻しアドレス、最初の書戻しワードおよび高い
優先順位の要求を送る。主記憶装置が要求の受取
りを認めると、データ・キヤツシユはただちに旧
ラインの残りの3つの二重ワードの取出しを始
め、主記憶装置へのアドレスを旧(書戻し)アド
レスから新(目的)アドレスに変更する。書戻し
ラインは一度に1ワードずつ主記憶装置SIRに転
送される。主記憶装置が新しいライン・データを
返送すると、新しいラインが記憶されている間に
データ・キヤツシユで一連の4つの二重ワードの
記憶が開始され、目的データがCPUにバイパス
される。次に、デイレクトリ情報が更新される。
ユが書戻すべきラインの最初の二重ワードについ
てアクセスされ、データ・キヤツシユ制御装置に
書戻しアドレス、最初の書戻しワードおよび高い
優先順位の要求を送る。主記憶装置が要求の受取
りを認めると、データ・キヤツシユはただちに旧
ラインの残りの3つの二重ワードの取出しを始
め、主記憶装置へのアドレスを旧(書戻し)アド
レスから新(目的)アドレスに変更する。書戻し
ラインは一度に1ワードずつ主記憶装置SIRに転
送される。主記憶装置が新しいライン・データを
返送すると、新しいラインが記憶されている間に
データ・キヤツシユで一連の4つの二重ワードの
記憶が開始され、目的データがCPUにバイパス
される。次に、デイレクトリ情報が更新される。
第6図は先に述べたようにデータ・キヤツシユ
取出しハードウエアの操作順序をまとめたもので
あり、第14図は操作の順次的詳細を流れ図の形
で示したものである。
取出しハードウエアの操作順序をまとめたもので
あり、第14図は操作の順次的詳細を流れ図の形
で示したものである。
(j) データ・キヤツシユ記憶
データ・キヤツシユ記憶ハードウエアの操作順
序の流れ図が第15図に示してあり、第7図にま
とめてある。データ流れ図については、やはり第
2.1図を参照すべきである。
序の流れ図が第15図に示してあり、第7図にま
とめてある。データ流れ図については、やはり第
2.1図を参照すべきである。
第14図と第15図の流れ図をちよつと比較し
てみると、データ・キヤツシユ取出し、記憶アル
ゴリズムは全く類似していることがわかる。主な
違いは、単にCPUとキヤツシユの間のデータ流
れの方向である。下記の記憶プロセスについての
議論は、取出しプロセスをよく知つていることを
前提にしたもので、この2つの違いを重点に置い
ている。
てみると、データ・キヤツシユ取出し、記憶アル
ゴリズムは全く類似していることがわかる。主な
違いは、単にCPUとキヤツシユの間のデータ流
れの方向である。下記の記憶プロセスについての
議論は、取出しプロセスをよく知つていることを
前提にしたもので、この2つの違いを重点に置い
ている。
取出し要求とは違つて、データ・キヤツシユに
対する記憶要求はキヤツシユ・アレイのアクセス
を自動的には開始しない。キヤツシユ・アレイの
両サブセツトは取出し操作から同時に読取ること
ができるが、記憶操作の場合は1つのサブセツト
しか書込めない。従つてデイレクトリ・アクセス
の結果が、目的物がキヤツシユ中に存在するか否
か、および存在する場合はどのサブセツトに存在
するかを示すまで記憶操作は開始できない。キヤ
ツシユ・アレイへのアクセスは、取出し操作の場
合のようにデイレクトリへのアクセスとオーバー
ラツプできないので、すべての記憶操作にはキヤ
ツシユ・サイクルを拡大することが必要である。
必要とされるデイレクトリおよびキヤツシユ・ア
レイへの順次アクセスを収容するには、記憶サイ
クルを50%だけ拡大しなければならない。
対する記憶要求はキヤツシユ・アレイのアクセス
を自動的には開始しない。キヤツシユ・アレイの
両サブセツトは取出し操作から同時に読取ること
ができるが、記憶操作の場合は1つのサブセツト
しか書込めない。従つてデイレクトリ・アクセス
の結果が、目的物がキヤツシユ中に存在するか否
か、および存在する場合はどのサブセツトに存在
するかを示すまで記憶操作は開始できない。キヤ
ツシユ・アレイへのアクセスは、取出し操作の場
合のようにデイレクトリへのアクセスとオーバー
ラツプできないので、すべての記憶操作にはキヤ
ツシユ・サイクルを拡大することが必要である。
必要とされるデイレクトリおよびキヤツシユ・ア
レイへの順次アクセスを収容するには、記憶サイ
クルを50%だけ拡大しなければならない。
記憶装置は32ビツト・ワードの列として編成さ
れる。各ワードは2つの16ビツト半ワードまたは
4つの8ビツト文字に再分割できる。プロセツサ
記憶命令は、1,2または3文字のエンテイテイ
に対して働く。この3種のプロセツサ記憶は、キ
ヤツシユ・ハードウエアによつて記憶8(1バイ
ト)、記憶16(2バイト)および記憶24(3バイト)
の3つの異なる記憶指令として区別される。第1
4図のデータ・キヤツシユ記憶の流れ図は、この
3つの記憶指令のすべてに適用される。CPUは
各記憶指令と共に32ビツトのデータ・ワードを供
給し、書込むべきバイトをワード内で事前位置合
わせする。記憶目的アドレスの最下位2ビツト+
特定型式の記憶指令が4つのバイト書込みゲート
(第2.1図の50)W0〜W3のうちのどれが活
動化するかを決定するのに充分な情報をデータ・
キヤツシユ制御ハードウエアに与える。
れる。各ワードは2つの16ビツト半ワードまたは
4つの8ビツト文字に再分割できる。プロセツサ
記憶命令は、1,2または3文字のエンテイテイ
に対して働く。この3種のプロセツサ記憶は、キ
ヤツシユ・ハードウエアによつて記憶8(1バイ
ト)、記憶16(2バイト)および記憶24(3バイト)
の3つの異なる記憶指令として区別される。第1
4図のデータ・キヤツシユ記憶の流れ図は、この
3つの記憶指令のすべてに適用される。CPUは
各記憶指令と共に32ビツトのデータ・ワードを供
給し、書込むべきバイトをワード内で事前位置合
わせする。記憶目的アドレスの最下位2ビツト+
特定型式の記憶指令が4つのバイト書込みゲート
(第2.1図の50)W0〜W3のうちのどれが活
動化するかを決定するのに充分な情報をデータ・
キヤツシユ制御ハードウエアに与える。
(j−1) ヒツト
記憶目的アドレスがデイレクトリに存在する場
合、書込むべきサブセツトが識別され、キヤツシ
ユ・サイクルがその記憶を収容できるように拡大
される。32ビツトの記憶データ・ワード+生成さ
れたパリテイ(4ビツト)が、全てのアレイ・カ
ードに同時に印加される。バイト書込みゲードの
サブセツト選択交差が、どのバイトが書込まれる
かを決定する。記憶に続いて、ヒツト・ラインに
対する変更ビツトをターンオンしLRUビツトを
逆のサブセツトに切替えることによつてデイレク
トリが更新される。
合、書込むべきサブセツトが識別され、キヤツシ
ユ・サイクルがその記憶を収容できるように拡大
される。32ビツトの記憶データ・ワード+生成さ
れたパリテイ(4ビツト)が、全てのアレイ・カ
ードに同時に印加される。バイト書込みゲードの
サブセツト選択交差が、どのバイトが書込まれる
かを決定する。記憶に続いて、ヒツト・ラインに
対する変更ビツトをターンオンしLRUビツトを
逆のサブセツトに切替えることによつてデイレク
トリが更新される。
(j−2) ミスまたは無効ヒツト
記憶目的ラインが無効またはキヤツシユ中にな
い場合、キヤツシユ・サイクルは拡大されず、そ
のラインを主記憶装置から検索しなければならな
い。置換すべきラインが有効でかつ変更済みの場
合、書戻しが必要であり、データ・キヤツシユ取
出しについて説明したのと全く同様に書戻し機構
が動作する。
い場合、キヤツシユ・サイクルは拡大されず、そ
のラインを主記憶装置から検索しなければならな
い。置換すべきラインが有効でかつ変更済みの場
合、書戻しが必要であり、データ・キヤツシユ取
出しについて説明したのと全く同様に書戻し機構
が動作する。
データ・キヤツシユは8バイト二重ワードのど
こにでもバイトを挿入できる、入力バイトマルチ
プレクサ48(第2.1図を参照のこと)を備え
ている。ミスがあるとこのマルチプレクサがセツ
トアツプされて、CPUからのデータを主記憶装
置によつて返送された取出しデータに組合わせ
る。この記憶の目的物は、主記憶装置によつてて
返送されるライン・データの最初の二重ワードに
含まれるので、CPUデータの組合わせは4つの
二重ワードのうちの最初のものがキヤツシユに記
憶されたときしか起こらない。後の3つの二重ワ
ードおよびCPUによつて選択されなかつた最初
の二重ワードのすべてのバイトは、入力マルチプ
レクサによつて主記憶装置取出しデータ経路に切
り換えられる。4つの二重ワード記憶中にすべて
のバイト書込みゲートはターンオンされ、1つの
サブセツトが選択される。従つてこの記憶によつ
て変更されるバイトは専ら入力マルチプレクサと
サブセツト選択によつて制御される。
こにでもバイトを挿入できる、入力バイトマルチ
プレクサ48(第2.1図を参照のこと)を備え
ている。ミスがあるとこのマルチプレクサがセツ
トアツプされて、CPUからのデータを主記憶装
置によつて返送された取出しデータに組合わせ
る。この記憶の目的物は、主記憶装置によつてて
返送されるライン・データの最初の二重ワードに
含まれるので、CPUデータの組合わせは4つの
二重ワードのうちの最初のものがキヤツシユに記
憶されたときしか起こらない。後の3つの二重ワ
ードおよびCPUによつて選択されなかつた最初
の二重ワードのすべてのバイトは、入力マルチプ
レクサによつて主記憶装置取出しデータ経路に切
り換えられる。4つの二重ワード記憶中にすべて
のバイト書込みゲートはターンオンされ、1つの
サブセツトが選択される。従つてこの記憶によつ
て変更されるバイトは専ら入力マルチプレクサと
サブセツト選択によつて制御される。
記憶ミス(または無効ヒツト)に続いて置換ラ
インがその記憶を受取つた場合に変更ビツトがタ
ーンオンされる点に除いては、命令キヤツシユ取
出しやデータ・キヤツシユ取出しの場合と同様
に、デイレクトリが更新される。
インがその記憶を受取つた場合に変更ビツトがタ
ーンオンされる点に除いては、命令キヤツシユ取
出しやデータ・キヤツシユ取出しの場合と同様
に、デイレクトリが更新される。
第7図はデータ・キヤツシユ記憶ハードウエ
ア・プロシージヤをまとめたものである。
ア・プロシージヤをまとめたものである。
(k) キヤツシユ・ライン無効化
両方のキヤツシユに適用されるハードウエア無
効化操作順序の流れ図は、第12図にみられ、第
8図にまとめられている。
効化操作順序の流れ図は、第12図にみられ、第
8図にまとめられている。
(第2.1図および第2.2図に示す)命令キ
ヤツシユ制御ハードウエアは、プロセツサからの
1つのキヤツシユ管理命令に応答するように設計
されている。この命令は、命令キヤツシユ・ライ
ン無効化(INICL)と呼ばれ、その目的はデイレ
クトリの有効ビツトを目的アドレスによつて識別
されるラインに対してゼロにセツトすることであ
る。命令が主記憶装置中で変更された場合、更新
された情報を求めてキヤツシユが主記憶装置にア
クセスするように、ラインを無効化しなければな
らない。データ・キヤツシユは、同じやり方でデ
ータ・キヤツシユ・ライン無効化(INDCI)キ
ヤツシユ管理命令に応答する。この管理命令に関
係するのはデイレクトリだけなので、キヤツシ
ユ・アレイはアクセスされない。
ヤツシユ制御ハードウエアは、プロセツサからの
1つのキヤツシユ管理命令に応答するように設計
されている。この命令は、命令キヤツシユ・ライ
ン無効化(INICL)と呼ばれ、その目的はデイレ
クトリの有効ビツトを目的アドレスによつて識別
されるラインに対してゼロにセツトすることであ
る。命令が主記憶装置中で変更された場合、更新
された情報を求めてキヤツシユが主記憶装置にア
クセスするように、ラインを無効化しなければな
らない。データ・キヤツシユは、同じやり方でデ
ータ・キヤツシユ・ライン無効化(INDCI)キ
ヤツシユ管理命令に応答する。この管理命令に関
係するのはデイレクトリだけなので、キヤツシ
ユ・アレイはアクセスされない。
目的アドレスは、キヤツシユ・サブセツトAま
たはBのどちらかに存在し得るが、両方に存在す
ることはない、単一ラインのみを識別することに
注意すべきである。従つて、目的アドレスに対す
るデイレクトリ項目の2つの有効ビツトのうちの
1つのみが影響を受ける。すなわち、Vaまたは
Vbが影響を受ける。
たはBのどちらかに存在し得るが、両方に存在す
ることはない、単一ラインのみを識別することに
注意すべきである。従つて、目的アドレスに対す
るデイレクトリ項目の2つの有効ビツトのうちの
1つのみが影響を受ける。すなわち、Vaまたは
Vbが影響を受ける。
無効化命令は、プログラムがキヤツシユ中のラ
インを主記憶装置からの最も最近のバージヨンで
置換できるようにする。LRUビツトは、ハード
ウエアによつて無効化ラインを含むサブセツトと
指すように強いられ、従つて、置換ラインがその
キヤツシユ位置に入る。
インを主記憶装置からの最も最近のバージヨンで
置換できるようにする。LRUビツトは、ハード
ウエアによつて無効化ラインを含むサブセツトと
指すように強いられ、従つて、置換ラインがその
キヤツシユ位置に入る。
目的物のページ・アドレス・サブフイールド
が、キヤツシユ・サブセツトAとBのいずれに関
するデイレクトリにも存在しないことがあり得
る。これは、キヤツシユ・ミスとして定義されハ
ードウエア・プロシージヤによつて扱われなけれ
ばならない。どちらかの(データまたは命令)キ
ヤツシユ・ライン無効化命令の場合、ミスは、有
効ビツトを変更する必要をなくし、ハードウエア
は単に何もしないだけである。
が、キヤツシユ・サブセツトAとBのいずれに関
するデイレクトリにも存在しないことがあり得
る。これは、キヤツシユ・ミスとして定義されハ
ードウエア・プロシージヤによつて扱われなけれ
ばならない。どちらかの(データまたは命令)キ
ヤツシユ・ライン無効化命令の場合、ミスは、有
効ビツトを変更する必要をなくし、ハードウエア
は単に何もしないだけである。
第8図は、INICLおよびINDCLハートウエア
操作順序をまとめたものである。
操作順序をまとめたものである。
(l) データ・キヤツシユ・ライン・ロード
データ・キヤツシユ・ライン・ロード
(LDCL)キヤツシユ管理命令の流れ図は、第1
6図にみることができ、第9図にまとめられてい
る。この命令の目的は、単に、あるラインがキヤ
ツシユ中にまだない場合には、それを主記憶装置
からキヤツシユにロードすることである。
(LDCL)キヤツシユ管理命令の流れ図は、第1
6図にみることができ、第9図にまとめられてい
る。この命令の目的は、単に、あるラインがキヤ
ツシユ中にまだない場合には、それを主記憶装置
からキヤツシユにロードすることである。
(l−1) ヒツト
そのラインがすでにキヤツシユ中にあり有効な
場合、ロードは起こらず、デイレクトリのLRU
ビツトが逆のサブセツトに切替えられる。
場合、ロードは起こらず、デイレクトリのLRU
ビツトが逆のサブセツトに切替えられる。
(l−2) ミスまたは無効ヒツト
ミスないし無効ヒツトの場合、この命令はデー
タ・キヤツシユ取出しについて先に述べたのと同
様の挙動を示す。不在ラインに対する取出し要求
が、主記憶装置に転送される。ミスがあり、置換
すべきラインが有効でかつ変更済みである場合、
最初に書戻しが起こる。主記憶装置から返送され
たラインはキヤツシユ中にロードされるが、デー
タがCPUにバイパスされることはない。新しい
ラインのロードに続いて、記憶されたサブセツト
に対する有効ビツトが「オン」に(すなわち
「0」に)セツトされ、LRUビツトが逆のサブセ
ツトに切替えられる。新しいラインがミスのため
にロードされた場合、デイレクトリも新しいライ
ンのページ・アドレスで更新される。
タ・キヤツシユ取出しについて先に述べたのと同
様の挙動を示す。不在ラインに対する取出し要求
が、主記憶装置に転送される。ミスがあり、置換
すべきラインが有効でかつ変更済みである場合、
最初に書戻しが起こる。主記憶装置から返送され
たラインはキヤツシユ中にロードされるが、デー
タがCPUにバイパスされることはない。新しい
ラインのロードに続いて、記憶されたサブセツト
に対する有効ビツトが「オン」に(すなわち
「0」に)セツトされ、LRUビツトが逆のサブセ
ツトに切替えられる。新しいラインがミスのため
にロードされた場合、デイレクトリも新しいライ
ンのページ・アドレスで更新される。
第9図は、データ・キヤツシユ・ライン・ロー
ドのハードウエア・プロシージヤをまとめたもの
である。
ドのハードウエア・プロシージヤをまとめたもの
である。
(m) データ・キヤツシユ・ライン・セツト
データ・キヤツシユ・ライン・セツト
(SETDCL)キヤツシユ管理命令は、第17図に
みることができ、第10図にまとめられている。
この命令の目的は、ラインに対するデイレクトリ
項目がまだそこにない場合、それを確立すること
であり、そのラインを主記憶装置からキヤツシユ
中にロードすることはない。これは、ラインをそ
の後の記憶によつて変更すべき場合に、主記憶装
置からの不必要な取出しを防止するために使用で
きる。
(SETDCL)キヤツシユ管理命令は、第17図に
みることができ、第10図にまとめられている。
この命令の目的は、ラインに対するデイレクトリ
項目がまだそこにない場合、それを確立すること
であり、そのラインを主記憶装置からキヤツシユ
中にロードすることはない。これは、ラインをそ
の後の記憶によつて変更すべき場合に、主記憶装
置からの不必要な取出しを防止するために使用で
きる。
(m−1) ヒツト
ラインがキヤツシユ中に既に存在する場合、有
効ビツトを「オン」にセツトし、変更ビツトを
「オフ」にセツトすることによつて、そのデイレ
クトリ項目が更新される。
効ビツトを「オン」にセツトし、変更ビツトを
「オフ」にセツトすることによつて、そのデイレ
クトリ項目が更新される。
(m−2) ミス
ミスのとき、現在存在するラインが有効でかつ
変更済みである場合、この命令は書戻しを強い
る。(書戻しを伴うまたは伴わない)ミスに続い
て、デイレクトリは新しい目的ページ・アドレス
で更新され、有効ビツトがオンにセツトされ、変
更ビツトはオフにセツトされ、LRUビツトは逆
のサブセツトに切替えられる。書戻しが必要でな
い限り、データ転送は起こらない。
変更済みである場合、この命令は書戻しを強い
る。(書戻しを伴うまたは伴わない)ミスに続い
て、デイレクトリは新しい目的ページ・アドレス
で更新され、有効ビツトがオンにセツトされ、変
更ビツトはオフにセツトされ、LRUビツトは逆
のサブセツトに切替えられる。書戻しが必要でな
い限り、データ転送は起こらない。
第10図はデータ・キヤツシユ・ライン・セツ
トのハードウエア操作順序をまとめたものであ
る。
トのハードウエア操作順序をまとめたものであ
る。
(n) データ・キヤツシユ・ライン記憶
データ・キヤツシユ・ライン記憶(STDCL)
キヤツシユ管理命令の流れ図は、第18図に詳し
くみることができ、第11図にまとめられてい
る。この命令の目的は、有効でかつ変更済みであ
るラインを書戻させて、主記憶装置がラインの最
初のバージヨンを反映するようにすることであ
る。明らかなように、データ・キヤツシユ・ライ
ンのこの記憶は、正常な「取出し」または「記
憶」操作の結果ではない。
キヤツシユ管理命令の流れ図は、第18図に詳し
くみることができ、第11図にまとめられてい
る。この命令の目的は、有効でかつ変更済みであ
るラインを書戻させて、主記憶装置がラインの最
初のバージヨンを反映するようにすることであ
る。明らかなように、データ・キヤツシユ・ライ
ンのこの記憶は、正常な「取出し」または「記
憶」操作の結果ではない。
(n−1) ヒツト
ラインがキヤツシユ中にあり、有効でかつ変更
済みである場合、書戻しが起こり、変更ビツトを
オフにすることによつてデイレクトリは更新され
る。ラインは将来使用できるようになおキヤツシ
ユに保持される。
済みである場合、書戻しが起こり、変更ビツトを
オフにすることによつてデイレクトリは更新され
る。ラインは将来使用できるようになおキヤツシ
ユに保持される。
(n−2) ミスまたは無効ヒツト
ラインがキヤツシユ中にない場合、またはキヤ
ツシユ中に存在するが有効でないかまたは変更済
みでない場合、ハードウエアは書戻しを実施せ
ず、プロシージヤから出る。
ツシユ中に存在するが有効でないかまたは変更済
みでない場合、ハードウエアは書戻しを実施せ
ず、プロシージヤから出る。
この命令は、主記憶装置に書戻されるライン
が、次の入出力命令または命令キヤツシユ・ミス
に使用できる時間には完了できないことに注意す
ること。この命令の特別の同期バージヨンがこの
目的に使用できるが、それについては後述する。
が、次の入出力命令または命令キヤツシユ・ミス
に使用できる時間には完了できないことに注意す
ること。この命令の特別の同期バージヨンがこの
目的に使用できるが、それについては後述する。
第11図は、データ・キヤツシユ・ライン記憶
ハードウエア操作順序をまとめたものである。
ハードウエア操作順序をまとめたものである。
(o)データ・キヤツシユ・ライン記憶・同期化
この命令(STSDCL)は、キヤツシユ中で上
述のデータ・キヤツシユ・ライン記憶
(STDCL)と全く同様に動作する。しかし、プ
ロセツサは、命令ストリームに進む前に、この命
令が完了するまで待つ。従つて、この命令の実行
後に起こる入出力活動または命令キヤツシユ活動
は主記憶装置で利用可能なラインの最新バージヨ
ンをもつことになる。
述のデータ・キヤツシユ・ライン記憶
(STDCL)と全く同様に動作する。しかし、プ
ロセツサは、命令ストリームに進む前に、この命
令が完了するまで待つ。従つて、この命令の実行
後に起こる入出力活動または命令キヤツシユ活動
は主記憶装置で利用可能なラインの最新バージヨ
ンをもつことになる。
E 結論
以上要約すると、ここで開示したキヤツシユ・
サブシステム・アーキテクチヤは、記憶装置への
参照によつて生じるCPU遊休時間を最小限に抑
えることができるので、ユニークである。多数の
特殊なキヤツシユ管理命令とキヤツシユ・デイレ
クトリ中のいくつかの特別な制御ビツトとを独特
のやり方で使用してかかる主記憶装置への参照を
最小限にすることができるのが新規な点である。
サブシステム・アーキテクチヤは、記憶装置への
参照によつて生じるCPU遊休時間を最小限に抑
えることができるので、ユニークである。多数の
特殊なキヤツシユ管理命令とキヤツシユ・デイレ
クトリ中のいくつかの特別な制御ビツトとを独特
のやり方で使用してかかる主記憶装置への参照を
最小限にすることができるのが新規な点である。
これらのキヤツシユ管理命令およびデイレクト
リ制御ビツトは、ソフトウエアがキヤツシユ・サ
ブシステムの内容と主記憶装置の内容の関係を制
御できるようにする。この能力のため、有効キヤ
ツシユ・ヒツト率が改善され、それによつてシス
テムがより低速の主記憶装置を不必要に参照する
ことを避けることができる。
リ制御ビツトは、ソフトウエアがキヤツシユ・サ
ブシステムの内容と主記憶装置の内容の関係を制
御できるようにする。この能力のため、有効キヤ
ツシユ・ヒツト率が改善され、それによつてシス
テムがより低速の主記憶装置を不必要に参照する
ことを避けることができる。
その上、このキヤツシユ・サブシステムのアー
キテクチヤは、主記憶装置への参照が避けられな
い場合にアクセス時間を改善できる点が新規であ
る。この能力は、命令とデータに対して、独立に
オーバーラツプして、主記憶にアクセスできる別
個のキヤツシユを使用するという独特のやり方お
よび主記憶装置からCPUへの目的情報の流れを
スピードアツプするためのキヤツシユ・バイパス
機構の使用によつて生じたものである。
キテクチヤは、主記憶装置への参照が避けられな
い場合にアクセス時間を改善できる点が新規であ
る。この能力は、命令とデータに対して、独立に
オーバーラツプして、主記憶にアクセスできる別
個のキヤツシユを使用するという独特のやり方お
よび主記憶装置からCPUへの目的情報の流れを
スピードアツプするためのキヤツシユ・バイパス
機構の使用によつて生じたものである。
命令取出しを記憶階層中でデータ取出しとは独
立に進行させることが可能なこと、CPUから主
記憶装置への自動的「ストア・スルー」を禁止し
たこと、およびキヤツシユ・ハードウエアによつ
て処理される特別のキヤツシユ管理命令のソフト
ウエアを使用することがあいまつて、ハードウエ
アとソフトウエアの機能が新規なやり方で調和し
て相互作用できるようにすることによつて、シス
テムのパフオーマンスが改善される。
立に進行させることが可能なこと、CPUから主
記憶装置への自動的「ストア・スルー」を禁止し
たこと、およびキヤツシユ・ハードウエアによつ
て処理される特別のキヤツシユ管理命令のソフト
ウエアを使用することがあいまつて、ハードウエ
アとソフトウエアの機能が新規なやり方で調和し
て相互作用できるようにすることによつて、シス
テムのパフオーマンスが改善される。
第1図は、本階層記憶構成の高レベル組織図で
ある。第2.1図および第2.2図は、データの
流れおよび機能的ハードウエア構成の詳細を示
す、第1図に記した記憶階層の機能ブロツク図で
ある。第3.1図および第3.2図は、キヤツシ
ユ・デイレクトリの基本要素およびそれに付随す
る制御要素を示す、データ・キヤツシユ・アドレ
ツシングの細部の機能ブロツク図である。第4図
は、異なる3種のキヤツシユ・サイズ(4K,8k、
および16K)の場合の、キヤツシユ・アドレツシ
ング、デイレクトリ項目およびキヤツシユ・パラ
メータの図である。第5図は、命令キヤツシユ取
出しハードウエアの動作中にキヤツシユ・サブシ
ステムで行われる動作をまとめたものである。第
6図は、データ・キヤツシユ取出しハードウエア
の動作中にキヤツシユ・サブシステムで行われる
動作をまとめたものである。第7図は、データ・
キヤツシユ記憶ハードウエアの動作中にキヤツシ
ユ・サブシステムで行われる動作をまとめたもの
である。第8図は、命令またはデータ・キヤツシ
ユ・ライン無効化の動作中にキヤツシユ・サブシ
ステム・ハードウエアで行われる動作をまとめた
ものである。第9図は、データ・キヤツシユ・ラ
イン・ロードの動作中にキヤツシユ・サブシステ
ム・ハードウエアで行われる動作をまとめたもの
である。第10図は、データ・キヤツシユ・ライ
ン・セツトの動作中にキヤツシユ・サブシステ
ム・ハードウエアで行われる動作をまとめたもの
である。第11図は、データ・キヤツシユ・ライ
ン記憶の動作中にキヤツシユ・サブシステム・ハ
ードウエアで行われる動作をまとめたものであ
る。第12図は、「キヤツシユ・ライン無効化」
命令の実施例中にキヤツシユ・サブシステム・ハ
ードウエアで行われる動作の詳細な流れ図であ
る。第13図は、「命令キヤツシユ取出し」命令
の実施中にキヤツシユ・サブシステム・ハードウ
エアで行われる動作の詳細な流れ図である。第1
4図は、「データ・キヤツシユ取出し」命令の実
施中にキヤツシユ・サブシステム・ハードウエア
で行われる動作の詳細な流れ図である。第15図
は、「データ・キヤツシユ記憶」命令の実施中に
キヤツシユ・サブシステム・ハードウエアで行わ
れる動作の詳細な流れ図である。第16図は、
「データ・キヤツシユ・ライン・ロード」命令の
実施中にキヤツシユ・サブシステム・ハードウエ
アで行われる動作の詳細な流れ図である。第17
図は、「データ・キヤツシユ・ライン・セツト」
命令の実施中にキヤツシユ・サブシステム・ハー
ドウエアで行われる動作の詳細な流れ図である。
第18図は、「データ・キヤツシユ・ライン記憶」
命令の実施中にキヤツシユ・サブシステム・ハー
ドウエアで行われる動作の詳細な流れ図である。
ある。第2.1図および第2.2図は、データの
流れおよび機能的ハードウエア構成の詳細を示
す、第1図に記した記憶階層の機能ブロツク図で
ある。第3.1図および第3.2図は、キヤツシ
ユ・デイレクトリの基本要素およびそれに付随す
る制御要素を示す、データ・キヤツシユ・アドレ
ツシングの細部の機能ブロツク図である。第4図
は、異なる3種のキヤツシユ・サイズ(4K,8k、
および16K)の場合の、キヤツシユ・アドレツシ
ング、デイレクトリ項目およびキヤツシユ・パラ
メータの図である。第5図は、命令キヤツシユ取
出しハードウエアの動作中にキヤツシユ・サブシ
ステムで行われる動作をまとめたものである。第
6図は、データ・キヤツシユ取出しハードウエア
の動作中にキヤツシユ・サブシステムで行われる
動作をまとめたものである。第7図は、データ・
キヤツシユ記憶ハードウエアの動作中にキヤツシ
ユ・サブシステムで行われる動作をまとめたもの
である。第8図は、命令またはデータ・キヤツシ
ユ・ライン無効化の動作中にキヤツシユ・サブシ
ステム・ハードウエアで行われる動作をまとめた
ものである。第9図は、データ・キヤツシユ・ラ
イン・ロードの動作中にキヤツシユ・サブシステ
ム・ハードウエアで行われる動作をまとめたもの
である。第10図は、データ・キヤツシユ・ライ
ン・セツトの動作中にキヤツシユ・サブシステ
ム・ハードウエアで行われる動作をまとめたもの
である。第11図は、データ・キヤツシユ・ライ
ン記憶の動作中にキヤツシユ・サブシステム・ハ
ードウエアで行われる動作をまとめたものであ
る。第12図は、「キヤツシユ・ライン無効化」
命令の実施例中にキヤツシユ・サブシステム・ハ
ードウエアで行われる動作の詳細な流れ図であ
る。第13図は、「命令キヤツシユ取出し」命令
の実施中にキヤツシユ・サブシステム・ハードウ
エアで行われる動作の詳細な流れ図である。第1
4図は、「データ・キヤツシユ取出し」命令の実
施中にキヤツシユ・サブシステム・ハードウエア
で行われる動作の詳細な流れ図である。第15図
は、「データ・キヤツシユ記憶」命令の実施中に
キヤツシユ・サブシステム・ハードウエアで行わ
れる動作の詳細な流れ図である。第16図は、
「データ・キヤツシユ・ライン・ロード」命令の
実施中にキヤツシユ・サブシステム・ハードウエ
アで行われる動作の詳細な流れ図である。第17
図は、「データ・キヤツシユ・ライン・セツト」
命令の実施中にキヤツシユ・サブシステム・ハー
ドウエアで行われる動作の詳細な流れ図である。
第18図は、「データ・キヤツシユ・ライン記憶」
命令の実施中にキヤツシユ・サブシステム・ハー
ドウエアで行われる動作の詳細な流れ図である。
Claims (1)
- 【特許請求の範囲】 1 主記憶装置とストア・イン方式のキヤツシユ
記憶装置とを含むデータ処理装置において、 上記キヤツシユ記憶装置の命令用キヤツシユ部
分と、 上記キヤツシユ記憶装置のデータ用キヤツシユ
部分と、 上記キヤツシユ記憶装置の各記憶位置ライン毎
に、記憶されたデータの主記憶装置アドレスの高
位ビツト及び上記ラインの状態を示す制御ビツト
を記憶するキヤツシユ・デイレクトリと、 上記データ用キヤツシユ中に読みこまれ且つ変
更された命令を上記主記憶装置に書き戻す手段
と、 上記命令用キヤツシユ中にある上記変更された
命令に対応するラインを無効化する手段とを備
え、 上記命令用キヤツシユには上記主記憶装置から
のみ書込み経路が設けられたデータ処理システ
ム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1040435A JPH02197940A (ja) | 1989-02-22 | 1989-02-22 | データ及び命令を記憶するために別個のキヤツシユ記憶を含む階層記憶システム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1040435A JPH02197940A (ja) | 1989-02-22 | 1989-02-22 | データ及び命令を記憶するために別個のキヤツシユ記憶を含む階層記憶システム |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP58500671 Division |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02197940A JPH02197940A (ja) | 1990-08-06 |
| JPH0348540B2 true JPH0348540B2 (ja) | 1991-07-24 |
Family
ID=12580561
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1040435A Granted JPH02197940A (ja) | 1989-02-22 | 1989-02-22 | データ及び命令を記憶するために別個のキヤツシユ記憶を含む階層記憶システム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH02197940A (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06195264A (ja) * | 1992-12-22 | 1994-07-15 | Nec Corp | キャッシュ一致処理装置 |
| US6178484B1 (en) | 1998-02-17 | 2001-01-23 | International Business Machines Corporation | DCBST with ICBI mechanism to maintain coherency of bifurcated data and instruction caches |
-
1989
- 1989-02-22 JP JP1040435A patent/JPH02197940A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPH02197940A (ja) | 1990-08-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0347540B2 (ja) | ||
| EP0604139B1 (en) | Computer system including a prefetch cache | |
| EP0667580B1 (en) | Cache System for a memory | |
| US5826052A (en) | Method and apparatus for concurrent access to multiple physical caches | |
| US5091851A (en) | Fast multiple-word accesses from a multi-way set-associative cache memory | |
| EP0695996B1 (en) | Multi-level cache system | |
| US5499355A (en) | Prefetching into a cache to minimize main memory access time and cache size in a computer system | |
| US6185660B1 (en) | Pending access queue for providing data to a target register during an intermediate pipeline phase after a computer cache miss | |
| US20140237174A1 (en) | Highly Efficient Design of Storage Array Utilizing Multiple Cache Lines for Use in First and Second Cache Spaces and Memory Subsystems | |
| US5715427A (en) | Semi-associative cache with MRU/LRU replacement | |
| JPH08272682A (ja) | ロード・バッファを備えたロード/ストア・ユニット内にて切り離されたタグ及びデータ・アレイへのアクセス方法及びそのアレイを有する装置 | |
| JPH06318177A (ja) | キャッシュ・ミス・ペナルティを減少させる方法、装置及びコンピュータ・システム | |
| JP2001195303A (ja) | 機能が並列に分散された変換索引バッファ | |
| JP3431878B2 (ja) | マルチスレッド・プロセッサの命令キャッシュ | |
| US6202128B1 (en) | Method and system for pre-fetch cache interrogation using snoop port | |
| EP0470739B1 (en) | Method for managing a cache memory system | |
| US5367657A (en) | Method and apparatus for efficient read prefetching of instruction code data in computer memory subsystems | |
| US5926841A (en) | Segment descriptor cache for a processor | |
| EP0470736B1 (en) | Cache memory system | |
| JPH08314802A (ja) | キャッシュシステム、キャッシュメモリアドレスユニット、およびキャッシュメモリを動作させる方法 | |
| US5619673A (en) | Virtual access cache protection bits handling method and apparatus | |
| EP0474356A1 (en) | Cache memory and operating method | |
| EP0470735B1 (en) | Computer memory system | |
| JPH0756808A (ja) | データキャッシュバッファ及び記憶方法 | |
| JPH0348540B2 (ja) |