JPS61275946A - キャッシュメモリ管理装置 - Google Patents
キャッシュメモリ管理装置Info
- Publication number
- JPS61275946A JPS61275946A JP61038127A JP3812786A JPS61275946A JP S61275946 A JPS61275946 A JP S61275946A JP 61038127 A JP61038127 A JP 61038127A JP 3812786 A JP3812786 A JP 3812786A JP S61275946 A JPS61275946 A JP S61275946A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- memory
- bus
- address
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3814—Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
- G06F12/0848—Partitioned cache, e.g. separate instruction and operand caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1045—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
- G06F12/1054—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently physically addressed
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
本発明は、コンピュータシステムアーキテクチャ−に関
するものであって、更に詳細には、キャッシュメモリ管
理システムアーキテクチャ−であって、高速システムバ
スに接続されたシステム要素間で高速通信を行う為にシ
ステム要素を接続する為の高速システムバスを持ってお
り、且つ非常に高速のマイクロプロセサインターフェー
スと、直接アドレス変換ユニットと、アドレス変換ユニ
ットとを持っているキャッシュメモリ管理システムアー
キテクチャ−に関するものである。
するものであって、更に詳細には、キャッシュメモリ管
理システムアーキテクチャ−であって、高速システムバ
スに接続されたシステム要素間で高速通信を行う為にシ
ステム要素を接続する為の高速システムバスを持ってお
り、且つ非常に高速のマイクロプロセサインターフェー
スと、直接アドレス変換ユニットと、アドレス変換ユニ
ットとを持っているキャッシュメモリ管理システムアー
キテクチャ−に関するものである。
従来のキャッシュメモリコントローラ及びメモリ管理シ
ステムは多数の区分線に沿って開発されていた。従来技
術のシステムはキャッシュコントローラと、キャッシュ
メモリと、メモリ管理ユニットと、変換論理とを使用し
ており、その各々はシステムアーキテクチャ−の別々に
区分されたユニットとして使用されていた。これらのシ
ステムにおいて、中央処理制御装置CPUは、そのアド
レスに対しての対応するデータを要求するアドレスする
か、又は該出力アドレスに対応するアドレスに対して同
様のデータを準備する。別のキャッシュメモリに関連し
且つ別のメモリテーブルにも関連することのあるキャッ
シュコントローラは、その出力アドレスがキャッシュメ
モリ内にストアされている位置に対応するか否かを解決
する。対応する場合には、当りが宣言され、且つキャッ
シュコントローラはキャッシュコントローラを介してキ
ャッシュメモリへのデータの一読取又は書込を調整する
。データが存在しない場合には、キャッシュコントロー
ラははずれ信号をCPUへ送る。
ステムは多数の区分線に沿って開発されていた。従来技
術のシステムはキャッシュコントローラと、キャッシュ
メモリと、メモリ管理ユニットと、変換論理とを使用し
ており、その各々はシステムアーキテクチャ−の別々に
区分されたユニットとして使用されていた。これらのシ
ステムにおいて、中央処理制御装置CPUは、そのアド
レスに対しての対応するデータを要求するアドレスする
か、又は該出力アドレスに対応するアドレスに対して同
様のデータを準備する。別のキャッシュメモリに関連し
且つ別のメモリテーブルにも関連することのあるキャッ
シュコントローラは、その出力アドレスがキャッシュメ
モリ内にストアされている位置に対応するか否かを解決
する。対応する場合には、当りが宣言され、且つキャッ
シュコントローラはキャッシュコントローラを介してキ
ャッシュメモリへのデータの一読取又は書込を調整する
。データが存在しない場合には、キャッシュコントロー
ラははずれ信号をCPUへ送る。
この場合に、従来のシステムでは、CPUに対してメイ
ンメモリアクセスを調整して要求されたアドレス位置デ
ータを得させるか、又はCPUはメモリ管理ユニットに
対して要求を出して要求された位置のデータを供給する
ことの何れかを行うことが可能である。メモリ管理を使
用する場合には、従来のシステムでは、CPU内、メモ
リ管理ユニット内、又はメインメモリ内において、仮想
アドレスから物理的アドレスへの変換の変換プロセスを
助ける為のレジスタ記憶が制限されている。
ンメモリアクセスを調整して要求されたアドレス位置デ
ータを得させるか、又はCPUはメモリ管理ユニットに
対して要求を出して要求された位置のデータを供給する
ことの何れかを行うことが可能である。メモリ管理を使
用する場合には、従来のシステムでは、CPU内、メモ
リ管理ユニット内、又はメインメモリ内において、仮想
アドレスから物理的アドレスへの変換の変換プロセスを
助ける為のレジスタ記憶が制限されている。
これらの従来のシステムは多くの欠点を蒙っていた。第
1に、区分化から発生する物理的分離に起因して、全体
的なデータ処理速度は減少されており、その理由として
は、バスのローディング。
1に、区分化から発生する物理的分離に起因して、全体
的なデータ処理速度は減少されており、その理由として
は、バスのローディング。
バス遅延、及びキャッシュコントローラを介してキャッ
シュメモリへのアクセスの為の複数個の開始点等があり
、又キャッシュコントローラを介してキャッシュメモリ
のCPUへ戻り、メモリ管理ユニットへの及びメインメ
モリへのはずれ等がある。第2に、これらのシステムは
キャッシュはずれの場合にはCPUに負担をかけていた
。更に、キャッシュコントローラとキャッシュメモリと
の間のバス遅延におけるキャッシュコントローラ回路を
補償する為に、一層高価な一層高速のキャッシュメモリ
は、キャッシュコントローラ及びバス遅延時間の為に遅
延されることのないキャッシュアクセスサイクル時間を
得ることを必要とする。
シュメモリへのアクセスの為の複数個の開始点等があり
、又キャッシュコントローラを介してキャッシュメモリ
のCPUへ戻り、メモリ管理ユニットへの及びメインメ
モリへのはずれ等がある。第2に、これらのシステムは
キャッシュはずれの場合にはCPUに負担をかけていた
。更に、キャッシュコントローラとキャッシュメモリと
の間のバス遅延におけるキャッシュコントローラ回路を
補償する為に、一層高価な一層高速のキャッシュメモリ
は、キャッシュコントローラ及びバス遅延時間の為に遅
延されることのないキャッシュアクセスサイクル時間を
得ることを必要とする。
本発明は以上の点に鑑みなされたものであって。
上述した如き従来技術の欠点を解消し、改良したキャッ
シュ及びメモリ管理システムアーキテクチャ−及びそれ
と関連するプロトコールを提供することを目的とする。
シュ及びメモリ管理システムアーキテクチャ−及びそれ
と関連するプロトコールを提供することを目的とする。
本キャッシュ及びメモリ管理システムは、2方向セツト
連想メモリキヤツシユサブシステムと。
連想メモリキヤツシユサブシステムと。
2方向セツト連想変換論理メモリサブシステムと、ハー
ドワイアードページ変換と、選択可能アクセスモード論
理と、選択的にイネーブル可能命令先取りモード操作論
理と、から構成されている。本キャッシュ及びメモリ管
理システムは、システムインターフェース及びプロセサ
/キャッシュ・バスインターフェースとを有している。
ドワイアードページ変換と、選択可能アクセスモード論
理と、選択的にイネーブル可能命令先取りモード操作論
理と、から構成されている。本キャッシュ及びメモリ管
理システムは、システムインターフェース及びプロセサ
/キャッシュ・バスインターフェースとを有している。
該システムインターフェースは、メインメモリが接続さ
れているシステムバスへ接続する為の手段を与えている
。該プロセサ/キャッシュ・バスインターフェースは、
外部CPUへ接続する為の手段を与えている。該キャッ
シュメモリ管理システムは、命令キャッシュ又はデータ
キャッシュの、何れかとして機能することが可能である
。該命令キャッシュシステムは、命令先取りとオンチッ
ププログラムカウンタ能力を与えている。データキャッ
シュは、CPUからのアドレスを受け取る為のアドレス
レジスタを与えており、アドレスレジスタにストアされ
ているアドレスから開始してデータの所望数のワードを
転送を行う。
れているシステムバスへ接続する為の手段を与えている
。該プロセサ/キャッシュ・バスインターフェースは、
外部CPUへ接続する為の手段を与えている。該キャッ
シュメモリ管理システムは、命令キャッシュ又はデータ
キャッシュの、何れかとして機能することが可能である
。該命令キャッシュシステムは、命令先取りとオンチッ
ププログラムカウンタ能力を与えている。データキャッ
シュは、CPUからのアドレスを受け取る為のアドレス
レジスタを与えており、アドレスレジスタにストアされ
ているアドレスから開始してデータの所望数のワードを
転送を行う。
別の本発明の特徴は、カッド語(quad−word)
境界レジスタ、カッド語ラインレジスタ、及びカッド語
境界検知サブシステムである。これはカッド語境界内の
データのアクセスを加速させ、且つキャッシュメモリサ
ブシステムからストアされている命令又はデータの順次
昇順位置の効果的な先取りを与える。
境界レジスタ、カッド語ラインレジスタ、及びカッド語
境界検知サブシステムである。これはカッド語境界内の
データのアクセスを加速させ、且つキャッシュメモリサ
ブシステムからストアされている命令又はデータの順次
昇順位置の効果的な先取りを与える。
本キャッシュメモリ管理システムは、仮想アドレスから
物理的アドレスへの2方向セツト連想アドレス変換を与
えるのみならず、キャッシュメモリ機能、及びストアさ
れた2方向セツト連想変換論理メモリサブシステムと連
合したページアクセス保護機能を与える一体的なアーキ
テクチャ−を提供している。
物理的アドレスへの2方向セツト連想アドレス変換を与
えるのみならず、キャッシュメモリ機能、及びストアさ
れた2方向セツト連想変換論理メモリサブシステムと連
合したページアクセス保護機能を与える一体的なアーキ
テクチャ−を提供している。
本キャッシュメモリ管理システムは選択可能なアクセス
モードを提供する。従って、種々のモードを表す為に、
キャッシュメモリ管理システムに接続されているCPU
のシステムステータスワード出力によって特定のアドレ
スを定義することが可能である。これらのモードは、マ
ツプした/マツプしてない、スーパーバイザ/ユーザの
空間アクセス等を包含する。該選択可能アクセスモード
に関する付加的な特徴は、メインメモリ内のページテー
ブルからのデータと共に、−キャッシュメモリサブシス
テムのローディング時にメインメモリページテーブルか
らキャッシュメモリ管理システムの変換論理メモリサブ
システム内へロードされるページテーブルエントリーに
よって定義される。
モードを提供する。従って、種々のモードを表す為に、
キャッシュメモリ管理システムに接続されているCPU
のシステムステータスワード出力によって特定のアドレ
スを定義することが可能である。これらのモードは、マ
ツプした/マツプしてない、スーパーバイザ/ユーザの
空間アクセス等を包含する。該選択可能アクセスモード
に関する付加的な特徴は、メインメモリ内のページテー
ブルからのデータと共に、−キャッシュメモリサブシス
テムのローディング時にメインメモリページテーブルか
らキャッシュメモリ管理システムの変換論理メモリサブ
システム内へロードされるページテーブルエントリーに
よって定義される。
これらのページテーブルを定義する選択可能アクセスモ
ードは、キャッシュ可能/キャッシュ不能、ライトスル
ー(vrita−through) /コピーバック等
を包含している。
ードは、キャッシュ可能/キャッシュ不能、ライトスル
ー(vrita−through) /コピーバック等
を包含している。
更に別の特徴としては、ハードワイアード(固定結線)
ページ変換システムである。これは臨界的なシステム及
びユーザが定義したアドレスに対しての保証されたアク
セスを提供する。その例としては、ベクトルページ、オ
ペレーティングシステム及び/又はユーザ使用用に予約
したページ、マルチプルI10ページ、及びブートペー
ジ(b。
ページ変換システムである。これは臨界的なシステム及
びユーザが定義したアドレスに対しての保証されたアク
セスを提供する。その例としては、ベクトルページ、オ
ペレーティングシステム及び/又はユーザ使用用に予約
したページ、マルチプルI10ページ、及びブートペー
ジ(b。
ot page)等を包含する。
キャッシュメモリ管理システムは各々プロセサキャッシ
ュバスを介して受け取られたCPUからの工/○コマン
ドに応答する。これらのコマンドは、TLB変換論理メ
モリサブシステム内のスーパーバイザページの無効化、
変換論理メモリサブシステム内のユーザページの無効化
、変換論理メモリサブシステム内のよごれており且つ参
照されたビットのリセット、変換論理メモリサブシステ
ム全体のアクセス、キャッシュメモリサブシステム全体
の無効化、等を包含する。マルチ−キャッシュ又はマル
チ−プロセサシステムアーキテクチャiにおいて、キャ
ッシュはシステムバスからアクセスされてI10書込又
は共用書込に関してキャッシュメモリサブシステム内の
ラインを無効化することが可能である。キャッシュは、
I10読取でシステムバスへよごれたデータを変換する
。
ュバスを介して受け取られたCPUからの工/○コマン
ドに応答する。これらのコマンドは、TLB変換論理メ
モリサブシステム内のスーパーバイザページの無効化、
変換論理メモリサブシステム内のユーザページの無効化
、変換論理メモリサブシステム内のよごれており且つ参
照されたビットのリセット、変換論理メモリサブシステ
ム全体のアクセス、キャッシュメモリサブシステム全体
の無効化、等を包含する。マルチ−キャッシュ又はマル
チ−プロセサシステムアーキテクチャiにおいて、キャ
ッシュはシステムバスからアクセスされてI10書込又
は共用書込に関してキャッシュメモリサブシステム内の
ラインを無効化することが可能である。キャッシュは、
I10読取でシステムバスへよごれたデータを変換する
。
本キャッシュ管理システム乃至方式は、命令又はデータ
の何れかのキャッシュメモリ管理システムとして構成す
ることが可能である。開示する如く、本システムアーキ
テクチャ−乃至構成では。
の何れかのキャッシュメモリ管理システムとして構成す
ることが可能である。開示する如く、本システムアーキ
テクチャ−乃至構成では。
別々の命令及びデータキャッシュインターフェースを持
ったプロセサを有している。非常に高速の命令バスがプ
ロセサ命令インターフェースからの命令キャッシュメモ
リ管理システムへ接続する。
ったプロセサを有している。非常に高速の命令バスがプ
ロセサ命令インターフェースからの命令キャッシュメモ
リ管理システムへ接続する。
非常に高速のデータバスが、データキャッシュメモリ管
理システムをプロセサデータインターフェースへ接続さ
せる。各キャッシュメモリ管理システムは、システムイ
ンターフェースを介してシステムバスへ接続し、且つそ
こからメインメモリへ接続する。
理システムをプロセサデータインターフェースへ接続さ
せる。各キャッシュメモリ管理システムは、システムイ
ンターフェースを介してシステムバスへ接続し、且つそ
こからメインメモリへ接続する。
複数個の要素がシステムバスへ接続されると、バスアー
ビトレーション(調整)システム要素がシステムバス調
整及び衝突回避管理を与える。バス要求/バス許可手順
及び支持アーキテクチャ−はキャッシュメモリ管理シス
テムと関連して使用するものとして開示しである。
ビトレーション(調整)システム要素がシステムバス調
整及び衝突回避管理を与える。バス要求/バス許可手順
及び支持アーキテクチャ−はキャッシュメモリ管理シス
テムと関連して使用するものとして開示しである。
以下、添付の図面を参考に、本発明の具体的実施の態様
に付いて詳細に説明する。第1図を参照すると5本発明
のシステム実施例を図示しである。
に付いて詳細に説明する。第1図を参照すると5本発明
のシステム実施例を図示しである。
中央処理装置110は別々の独立した非常に高速のキャ
ッシュ/プロセサバスである命令バス121及びデータ
バス131を介して接続されており、それらのバスは夫
々命令キャッシュメモリ管理ユニット120及びデータ
キャッシュメモリ管理ユニット130へ接続している。
ッシュ/プロセサバスである命令バス121及びデータ
バス131を介して接続されており、それらのバスは夫
々命令キャッシュメモリ管理ユニット120及びデータ
キャッシュメモリ管理ユニット130へ接続している。
更に、システムステータスバス115がCPU110か
ら命令キャッシュメモリ管理ユニット120及びデータ
キャッシュメモリ管理ユニット130の各々へ接続され
ている。命令キャッシュメモリ管理ユニット及びデータ
キャッシュメモリ管理ユニット130の各々はシステム
バス141へ接続する為の別々のインターフェースを持
っている。メインメモリ140は本システム用の主コア
記憶装置を包含しており、且つダイナミックRAM、ス
タティックRAM、又は高速読取−書込メモリに対する
その他の媒体で構成することが可能である。キャッシュ
120及び130は各々システムバス141を介してメ
インメモリ140へ接続している。
ら命令キャッシュメモリ管理ユニット120及びデータ
キャッシュメモリ管理ユニット130の各々へ接続され
ている。命令キャッシュメモリ管理ユニット及びデータ
キャッシュメモリ管理ユニット130の各々はシステム
バス141へ接続する為の別々のインターフェースを持
っている。メインメモリ140は本システム用の主コア
記憶装置を包含しており、且つダイナミックRAM、ス
タティックRAM、又は高速読取−書込メモリに対する
その他の媒体で構成することが可能である。キャッシュ
120及び130は各々システムバス141を介してメ
インメモリ140へ接続している。
更に、その他のシステム要素をシステムバス141へ接
続させることが可能であり、例えばI10処理ユニット
l0P150は夫々の工○P150に対するシステムバ
ス141をI10バス151へ接続させている。I10
バス151は、イーサネット(Ethernet)、ユ
ニバス(UJlibus)、プイエムイバス(VMEb
us)、マルチパス(Multibus)等の標準バス
インターフェースとするか、又はI10バス151は二
次記憶装置又はその他の周辺装置、例えばハードディス
ク、フロッピィディスク、プリンタ等へ接続することが
可能である。複数個のIOPをシステムバス141へ接
続させることが可能である。工○P150はシステムバ
ス141を介してメインメモリ140と通信することが
可能である。
続させることが可能であり、例えばI10処理ユニット
l0P150は夫々の工○P150に対するシステムバ
ス141をI10バス151へ接続させている。I10
バス151は、イーサネット(Ethernet)、ユ
ニバス(UJlibus)、プイエムイバス(VMEb
us)、マルチパス(Multibus)等の標準バス
インターフェースとするか、又はI10バス151は二
次記憶装置又はその他の周辺装置、例えばハードディス
ク、フロッピィディスク、プリンタ等へ接続することが
可能である。複数個のIOPをシステムバス141へ接
続させることが可能である。工○P150はシステムバ
ス141を介してメインメモリ140と通信することが
可能である。
CPU110は又インタラブドライン111を介してイ
ンタラブドコントローラ170へ接続されている。該C
PUに対してインタラブドの優先性を争うユニット(装
置)の各々はインタラブドコントローラ170に接続さ
れている別のインタラブドラインを持っている。第1図
に示した如く、メインメモリ140はインタラブド出カ
ニ1,145を持っており、且つl0P150はI2で
示したインタラブド出力155を持っている。これらの
インタラブドIf、145.及びI2,155はインタ
ラブドコントローラ170に接続されており、該インタ
ラブドコントローラ170はCPU110に対してのイ
ンタラブド要求の優先付けを行い且つその優先性を調整
する。CPUll0は複数個の並列CPUで構成するこ
とが可能であり、又単−のCPUとすることも可能であ
る。
ンタラブドコントローラ170へ接続されている。該C
PUに対してインタラブドの優先性を争うユニット(装
置)の各々はインタラブドコントローラ170に接続さ
れている別のインタラブドラインを持っている。第1図
に示した如く、メインメモリ140はインタラブド出カ
ニ1,145を持っており、且つl0P150はI2で
示したインタラブド出力155を持っている。これらの
インタラブドIf、145.及びI2,155はインタ
ラブドコントローラ170に接続されており、該インタ
ラブドコントローラ170はCPU110に対してのイ
ンタラブド要求の優先付けを行い且つその優先性を調整
する。CPUll0は複数個の並列CPUで構成するこ
とが可能であり、又単−のCPUとすることも可能であ
る。
複数個のCPUとする場合には、インタラブド要求の優
先付は及び解決は、CPUll0からインタラブドコン
トローラ170への信号制御ライン111と関連してイ
ンタラブドコントローラ170によって処理される。
先付は及び解決は、CPUll0からインタラブドコン
トローラ170への信号制御ライン111と関連してイ
ンタラブドコントローラ170によって処理される。
システムクロック160はCPUll0命令キヤツシユ
メモリ管理ユニツト120及びデータキャッシュメモリ
管理ユニット130ヘマスタクロツクMCLKを供給し
、その中での内部動作及びそれらの間の動作の同期を取
る。更に、システムクロック160からのバスクロック
BCLK出力はシステムバス141を介しての転送用の
バス同期信号を供給し、且つシステムバス141に接続
されている全てのシステム要素に接続されている。
メモリ管理ユニツト120及びデータキャッシュメモリ
管理ユニット130ヘマスタクロツクMCLKを供給し
、その中での内部動作及びそれらの間の動作の同期を取
る。更に、システムクロック160からのバスクロック
BCLK出力はシステムバス141を介しての転送用の
バス同期信号を供給し、且つシステムバス141に接続
されている全てのシステム要素に接続されている。
これは、命令キャッシュMMU120.データキャッシ
ュMMU 130、メインメモリ140、工0P150
、及びシステムバス141に接続するその他のシステム
要素を包含する。複数個の装置が同時にシステムバス1
41へのアクセスを要求する場合、バス調整ユニット1
80がシステムバス141に接続されている装置に接続
される。該パスアービタ即ちバス調整装置は、システム
バス141に接続する潜在的なバスマスタの各々への別
々のカップリングを持っている。バスアービタ180は
ハンドシェーク手順を使用しており、且つシステムバス
141へのアクセスの優先付けを行う、バス調整ユニッ
ト180はシステムバス141を制御しその上での衝突
を回避し、且つ通常システムバス141の使用を調整す
る。
ュMMU 130、メインメモリ140、工0P150
、及びシステムバス141に接続するその他のシステム
要素を包含する。複数個の装置が同時にシステムバス1
41へのアクセスを要求する場合、バス調整ユニット1
80がシステムバス141に接続されている装置に接続
される。該パスアービタ即ちバス調整装置は、システム
バス141に接続する潜在的なバスマスタの各々への別
々のカップリングを持っている。バスアービタ180は
ハンドシェーク手順を使用しており、且つシステムバス
141へのアクセスの優先付けを行う、バス調整ユニッ
ト180はシステムバス141を制御しその上での衝突
を回避し、且つ通常システムバス141の使用を調整す
る。
プロセサ110はキャッシュインターフェースを有して
おり、それはバス121へ接続されている命令インター
フェース及びバス131へ接続されているデータインタ
ーフェースを有する相互に排他的で且つ独立的に動作可
能な二重キャッシュインターフェースシステムを与えて
いる。命令インターフェースは外部命令キャッシュMM
U120との通信を制御し、且つ命令キャッシュMMU
120からプロセサ110への命令のカップリングを与
える。データインターフェースは、外部データキャッシ
ュMMU130との通信の制御を与えると共に、プロセ
サ110とデータキャッシュMMU 130との間のデ
ータの双方向通信を制御する。該プロセサの実行ユニッ
トは命令インターフェース及びプロセサのデータインタ
ーフェースへ接続されている。該実行ユニットは、命令
キャッシュMMU 120から受け取られたぞれぞれ1
つ又はそれ以上の命令をデコードし且つ実行することに
応答してデータキャッシュMMUから受け取られたデー
タの選択的処理を与える。命令インターフェースは非常
に高速の命令キャッシュMMUバス121を介して命令
キャッシュMMU120へ接続する。該データインター
フェースは非常に高速のデータバス131を介してデー
タキャッシュMMU 130へ接続する。該命令インタ
ーフェース及びデータインターフェースは、命令キャッ
シュMMU 120からプロセサ110への命令の非常
に高速の転送、及びデータキャッシュMMU130とプ
ロセサ110との間のデータの同時的独立的転送に対す
る能力を与えている。
おり、それはバス121へ接続されている命令インター
フェース及びバス131へ接続されているデータインタ
ーフェースを有する相互に排他的で且つ独立的に動作可
能な二重キャッシュインターフェースシステムを与えて
いる。命令インターフェースは外部命令キャッシュMM
U120との通信を制御し、且つ命令キャッシュMMU
120からプロセサ110への命令のカップリングを与
える。データインターフェースは、外部データキャッシ
ュMMU130との通信の制御を与えると共に、プロセ
サ110とデータキャッシュMMU 130との間のデ
ータの双方向通信を制御する。該プロセサの実行ユニッ
トは命令インターフェース及びプロセサのデータインタ
ーフェースへ接続されている。該実行ユニットは、命令
キャッシュMMU 120から受け取られたぞれぞれ1
つ又はそれ以上の命令をデコードし且つ実行することに
応答してデータキャッシュMMUから受け取られたデー
タの選択的処理を与える。命令インターフェースは非常
に高速の命令キャッシュMMUバス121を介して命令
キャッシュMMU120へ接続する。該データインター
フェースは非常に高速のデータバス131を介してデー
タキャッシュMMU 130へ接続する。該命令インタ
ーフェース及びデータインターフェースは、命令キャッ
シュMMU 120からプロセサ110への命令の非常
に高速の転送、及びデータキャッシュMMU130とプ
ロセサ110との間のデータの同時的独立的転送に対す
る能力を与えている。
データキャッシュMMU 130及び命令キャッシュM
MU 120は各々、非常に大型で比較的遅いメモリで
あるメインメモリ145へ接続する為にメインシステム
バス141へ接続する為の第2バスインターフエースを
夫々持って、いる、システムバス141は比較的高速で
あるが、データバス131又は命令バス121と比較す
ると遅い、システムバス141は又その他の回路及び周
辺装置を本マイクロプロセサシステムアーキテクチャ−
に接続する為の手段を与えている。
MU 120は各々、非常に大型で比較的遅いメモリで
あるメインメモリ145へ接続する為にメインシステム
バス141へ接続する為の第2バスインターフエースを
夫々持って、いる、システムバス141は比較的高速で
あるが、データバス131又は命令バス121と比較す
ると遅い、システムバス141は又その他の回路及び周
辺装置を本マイクロプロセサシステムアーキテクチャ−
に接続する為の手段を与えている。
プロセサ110の命令及びデータインターフェースは、
プロセサ110と夫々のキャッシュ120及び130と
の間のインターフェース及びデータ転送プロセスを完全
に制御する為に必要な制御、タイミング、及びバッファ
動作用論理を与えている。同様に、命令キャッシュMM
U120及びデータキャッシュMMU 130は、夫々
の命令インターフェース及びデータインターフェースを
介してプロセサ110へのインターフェースを可能とす
る為に必要な制御及びバッファ回路を持っている。命令
キャッシュMMU 120及びデータキャッシュMMU
130は又各々が、システムバス141を介してメイ
ンメモリ140とのインターフェース及びそのメモリ管
理を提供する為に必要な制御及びバッファ回路を持って
いる0機能的には、命令キャッシュMMU 120及び
命令インターフェースは、データキャッシュMMU l
30及びデータインターフェースから別々で独立した
サブシステムを与えている。命令キャッシュMMU12
0はメインメモリ140に直接的にアクセスし、且つデ
ータキャッシュMMU130動作から間接的にアクセス
し、その逆も又真である。
プロセサ110と夫々のキャッシュ120及び130と
の間のインターフェース及びデータ転送プロセスを完全
に制御する為に必要な制御、タイミング、及びバッファ
動作用論理を与えている。同様に、命令キャッシュMM
U120及びデータキャッシュMMU 130は、夫々
の命令インターフェース及びデータインターフェースを
介してプロセサ110へのインターフェースを可能とす
る為に必要な制御及びバッファ回路を持っている。命令
キャッシュMMU 120及びデータキャッシュMMU
130は又各々が、システムバス141を介してメイ
ンメモリ140とのインターフェース及びそのメモリ管
理を提供する為に必要な制御及びバッファ回路を持って
いる0機能的には、命令キャッシュMMU 120及び
命令インターフェースは、データキャッシュMMU l
30及びデータインターフェースから別々で独立した
サブシステムを与えている。命令キャッシュMMU12
0はメインメモリ140に直接的にアクセスし、且つデ
ータキャッシュMMU130動作から間接的にアクセス
し、その逆も又真である。
第2図を参照すると、第1図のプロセサ110を更に詳
細に示しである。第2図に示した如く、プロセサ110
は更に命令レジスタ112、命令デコーダ113、及び
実行ユニット114から構成されている。命令レジスタ
112は、命令バス121を介して命令キャッシュMM
U 120から受け取られた命令をストアし且つプロセ
サ110の命令インターフェースへ出力する為の手段を
与えている。命令レジスタ112からの出力は命令デコ
ーダ113へ接続されている。命令デコーダ113は、
命令レジスタ112から受け取られた命令出力のデコー
ド動作に応答して動作選択信号を出力する手段を与えて
いる。命令デコーダ113からの出力動作選択信号は実
行ユニット114へ供給される。実行ユニット114は
、命令デコーダ113から受け取られた動作選択信号に
応答して、プロセサ110及びデータバス131のデー
タインターフェースを介してデータキャッシュMMU
130から受け取られた選択データを処理する為の手段
を与えている。
細に示しである。第2図に示した如く、プロセサ110
は更に命令レジスタ112、命令デコーダ113、及び
実行ユニット114から構成されている。命令レジスタ
112は、命令バス121を介して命令キャッシュMM
U 120から受け取られた命令をストアし且つプロセ
サ110の命令インターフェースへ出力する為の手段を
与えている。命令レジスタ112からの出力は命令デコ
ーダ113へ接続されている。命令デコーダ113は、
命令レジスタ112から受け取られた命令出力のデコー
ド動作に応答して動作選択信号を出力する手段を与えて
いる。命令デコーダ113からの出力動作選択信号は実
行ユニット114へ供給される。実行ユニット114は
、命令デコーダ113から受け取られた動作選択信号に
応答して、プロセサ110及びデータバス131のデー
タインターフェースを介してデータキャッシュMMU
130から受け取られた選択データを処理する為の手段
を与えている。
好適実施例においては、プロセサ110はパイプライン
動作を与える。第2図に示した如く、命令レジスタ11
2と、命令デコーダ113内の段Cと、実行ユニ7ト1
14内の夫々の段り、E。
動作を与える。第2図に示した如く、命令レジスタ11
2と、命令デコーダ113内の段Cと、実行ユニ7ト1
14内の夫々の段り、E。
Fとの5段のパイプライン動作が存在している。
従って、複数個の動作は複数個の命令に応答して同時的
に達成することが可能である。
に達成することが可能である。
第2図に示した実施例において、実行ユニット114は
更にインターフェース115を有しており、それは選択
したデータの処理から得られる出力をプロセサ110の
データインターフェースへ供給してその結果得られるデ
ータをそこからデータキャッシュMMU130へ出力さ
せる為の手段を与えている。インターフェース115は
、実行ユニット114とプロセサ110のデータインタ
ーフェースとの間でデータの双方向結合を与え、そこか
らデータバス131を介してデータキャッシュMMU
130へ供給させる。
更にインターフェース115を有しており、それは選択
したデータの処理から得られる出力をプロセサ110の
データインターフェースへ供給してその結果得られるデ
ータをそこからデータキャッシュMMU130へ出力さ
せる為の手段を与えている。インターフェース115は
、実行ユニット114とプロセサ110のデータインタ
ーフェースとの間でデータの双方向結合を与え、そこか
らデータバス131を介してデータキャッシュMMU
130へ供給させる。
第3図を参照すると、第2図の命令デコーダ113の実
施の1例を更に詳細に示しである。第3図に示した如く
、命令デコーダ113は逐次状態装置116を有してお
り、それは命令レジスタ113から受け取られた命令を
デコードし且つ命令レジスタ112の命令出力に応答ル
で動作コード信号を与える。逐次状態装W116からの
動作コード信号はタイミング・制御回路117へ供給さ
れ、それは逐次状態装置116からの動作コード出力に
応答して、命令実行の逐次乃至はシーケンス動作を制御
する為の動作選択信号を出力して実行ユニット114へ
供給する為の手段を与えている。
施の1例を更に詳細に示しである。第3図に示した如く
、命令デコーダ113は逐次状態装置116を有してお
り、それは命令レジスタ113から受け取られた命令を
デコードし且つ命令レジスタ112の命令出力に応答ル
で動作コード信号を与える。逐次状態装W116からの
動作コード信号はタイミング・制御回路117へ供給さ
れ、それは逐次状態装置116からの動作コード出力に
応答して、命令実行の逐次乃至はシーケンス動作を制御
する為の動作選択信号を出力して実行ユニット114へ
供給する為の手段を与えている。
好適実施例においては、各マイクロプロセサは単一チッ
プの集積回路である。然し乍ら、複数個のチップの実施
形態も設計条件に従って使用することが可能である。
プの集積回路である。然し乍ら、複数個のチップの実施
形態も設計条件に従って使用することが可能である。
プロセサ110の命令インターフェースは更に多段命令
バッファを有しており、それは、各段如く1つづつの命
令で複数個の命令を逐次ストアする手段を与えると共に
、更にストアした命令を実行手段100へ選択的に出力
する為の手段を与えている。キャッシュ前進信号は、命
令インターフェースが自由空間を持っているので、それ
によって駆動される。キャッシュ前進(Cache A
DVance)はニーキャッシュ−MMUアクセスを制
御する。
バッファを有しており、それは、各段如く1つづつの命
令で複数個の命令を逐次ストアする手段を与えると共に
、更にストアした命令を実行手段100へ選択的に出力
する為の手段を与えている。キャッシュ前進信号は、命
令インターフェースが自由空間を持っているので、それ
によって駆動される。キャッシュ前進(Cache A
DVance)はニーキャッシュ−MMUアクセスを制
御する。
従って、命令インターフェースは、命令バス121を介
しての命令キャッシュMMU120からの直列ストリー
ム状の出力として複数個の命令ワードを供給し且つスト
アする為の多段命令バッファを与えている。この多段命
令バッファは、増加する命令処理速度を与えており、且
つプロセサ110のパイプライン動作の為に使用するこ
とが可能である。外部システムクロック160は、プロ
セサ110内及びそれと関連する同期動作に対するクロ
ック信号を与える。
しての命令キャッシュMMU120からの直列ストリー
ム状の出力として複数個の命令ワードを供給し且つスト
アする為の多段命令バッファを与えている。この多段命
令バッファは、増加する命令処理速度を与えており、且
つプロセサ110のパイプライン動作の為に使用するこ
とが可能である。外部システムクロック160は、プロ
セサ110内及びそれと関連する同期動作に対するクロ
ック信号を与える。
プロセサ110の命令インターフェースは更に。
マイクロプロセサシステムの動作におけるコンチクスト
(文脈)スイッチ(context 5w1tch)又
はブランチ(分岐)が発生することに応答して命令キャ
ッシュMMU l 20プログラムカウンタ内にストア
する為に初期命令アドレスを選択的に出力する為のアド
レス発生器を有している。コンチクストスイッチは、ト
ラップ、インタラブド、又は一連の命令に対しての新た
な開始点を示す為に命令キャッシュ120プログラムカ
ウンタの初期値化を必要とする何れかのプログラムの初
期値化を包含している。命令インターフェースは、キャ
ッシュ前進信号出力を与え、それは、コンチクストスイ
ッチ又はブランチの間を除いて、命令キャッシュMMU
プログラムカウンタを選択的にインクリメントする。コ
ンチクストスイッチ又はブランチが発生すると、命令キ
ャッシュMMU 120プログラムカウンタは、プロセ
サ110の命令インターフェースのアドレス発生器から
新たな値がロードされる。システムクロック160はマ
イクロプロセサ110の命令インターフェースへクロッ
ク信号を与える。
(文脈)スイッチ(context 5w1tch)又
はブランチ(分岐)が発生することに応答して命令キャ
ッシュMMU l 20プログラムカウンタ内にストア
する為に初期命令アドレスを選択的に出力する為のアド
レス発生器を有している。コンチクストスイッチは、ト
ラップ、インタラブド、又は一連の命令に対しての新た
な開始点を示す為に命令キャッシュ120プログラムカ
ウンタの初期値化を必要とする何れかのプログラムの初
期値化を包含している。命令インターフェースは、キャ
ッシュ前進信号出力を与え、それは、コンチクストスイ
ッチ又はブランチの間を除いて、命令キャッシュMMU
プログラムカウンタを選択的にインクリメントする。コ
ンチクストスイッチ又はブランチが発生すると、命令キ
ャッシュMMU 120プログラムカウンタは、プロセ
サ110の命令インターフェースのアドレス発生器から
新たな値がロードされる。システムクロック160はマ
イクロプロセサ110の命令インターフェースへクロッ
ク信号を与える。
本システムの初期値化がされると、又はコンチクストス
イッチ又はブランチの間に、プロセサ110の命令イン
ターフェースアドレス発生器は、命令キャッシュ120
プログラムカウンタのローディングを行わせる。その後
、キャッシュ前進信号によってイネーブルされると、命
令キャッシュMMU120は複数個の命令(例えば、カ
ッド語)をプロセサ110の命令インターフェースへ供
給する即ち接続する為に出力させる。その後、命令キャ
ッシュMMU120へのプロセサ110の命令インター
フェースからのその他のアドレス出力とは独立的且つ排
他的に、命令キャッシュMMU120プログラムカウン
タの出力に応答して命令が逐次的に出力される。
イッチ又はブランチの間に、プロセサ110の命令イン
ターフェースアドレス発生器は、命令キャッシュ120
プログラムカウンタのローディングを行わせる。その後
、キャッシュ前進信号によってイネーブルされると、命
令キャッシュMMU120は複数個の命令(例えば、カ
ッド語)をプロセサ110の命令インターフェースへ供
給する即ち接続する為に出力させる。その後、命令キャ
ッシュMMU120へのプロセサ110の命令インター
フェースからのその他のアドレス出力とは独立的且つ排
他的に、命令キャッシュMMU120プログラムカウン
タの出力に応答して命令が逐次的に出力される。
図示した如く、プロセサ110のデータインターフェー
スは更にアドレス発生器及びインターフェースを有して
おり、それは外部データキャッシュMMU503のアド
レスレジスタ505へ接続する即ち供給する為のデータ
アドレスを出力する。
スは更にアドレス発生器及びインターフェースを有して
おり、それは外部データキャッシュMMU503のアド
レスレジスタ505へ接続する即ち供給する為のデータ
アドレスを出力する。
システムクロック160のMCLKはデータキャッシュ
MMU130へ供給され、データキャッシュMMU13
0とプロセサ110のデータインターフェースとの間で
のデータ転送の同期を取る。
MMU130へ供給され、データキャッシュMMU13
0とプロセサ110のデータインターフェースとの間で
のデータ転送の同期を取る。
好適実施例においては、アドレスインターフェース32
4からの何れかの中間的なアドレス出力と独立的且つ排
他的なデータインターフェース302からの各アドレス
出力に対して、データキャッシュMMU503とマイク
ロプロセサ12のデータインターフェース302との間
で定義した数のデータワードを接続する為の手段が設け
られている。
4からの何れかの中間的なアドレス出力と独立的且つ排
他的なデータインターフェース302からの各アドレス
出力に対して、データキャッシュMMU503とマイク
ロプロセサ12のデータインターフェース302との間
で定義した数のデータワードを接続する為の手段が設け
られている。
プロセサ110の命令インターフェース及び命令キャッ
シュMMU 120は、命令インターフェースのアドレ
ス発生器からの信号初期アドレス出力及びアクティブキ
ャッシュ前進信号出力のみに応答して、命令キャッシュ
MMU 120からプロセサ110の命令インターフェ
ースへ予め定義していない長さの命令列乃至はストリー
ムの連続的な出力を与え、それはブランチ又はコンチク
ストスイッチが発生する迄継続する。
シュMMU 120は、命令インターフェースのアドレ
ス発生器からの信号初期アドレス出力及びアクティブキ
ャッシュ前進信号出力のみに応答して、命令キャッシュ
MMU 120からプロセサ110の命令インターフェ
ースへ予め定義していない長さの命令列乃至はストリー
ムの連続的な出力を与え、それはブランチ又はコンチク
ストスイッチが発生する迄継続する。
プロセサ110データインターフエース及びデータキャ
ッシュMMU 130の動作は、両者間において、プロ
セサ110からデータキャッシュMMUへの各アドレス
出力に対して、1つ又はそれ以上の定義した数のデータ
ワードの転送を与える。
ッシュMMU 130の動作は、両者間において、プロ
セサ110からデータキャッシュMMUへの各アドレス
出力に対して、1つ又はそれ以上の定義した数のデータ
ワードの転送を与える。
この様な定義した複数個のワードの最初のワードは、プ
ロセサ110からのアドレスに応答して出力される。そ
の他のワードは本システムがレディ即ち準備が整うや否
や転送される。この定義された数のワードの転送が完了
すると、プロセサ11OからデータキャッシュMMU
130のアドレスレジスタ内に新たなアドレスがロード
されねばならない。データキャッシュMMU130とプ
ロセサ110のデータインターフェースとの間の全ての
データ転送は、プロセサ110データインターフエース
からデータキャッシュMMU 130のアドレスレジス
タ内への新たなアドレスのローディングを必要とする。
ロセサ110からのアドレスに応答して出力される。そ
の他のワードは本システムがレディ即ち準備が整うや否
や転送される。この定義された数のワードの転送が完了
すると、プロセサ11OからデータキャッシュMMU
130のアドレスレジスタ内に新たなアドレスがロード
されねばならない。データキャッシュMMU130とプ
ロセサ110のデータインターフェースとの間の全ての
データ転送は、プロセサ110データインターフエース
からデータキャッシュMMU 130のアドレスレジス
タ内への新たなアドレスのローディングを必要とする。
この転送は単−又は複数ワードとすることが可能である
が、ワード数は転送の開始時に固定され且つ定義されて
おり、且つ各転送は別の新たなアドレスをロードするこ
とを必要とする。
が、ワード数は転送の開始時に固定され且つ定義されて
おり、且つ各転送は別の新たなアドレスをロードするこ
とを必要とする。
メインメモリ即ち主メモリ140はシステムバス141
へ接続されており、該システムバス141へはデータキ
ャッシュMMU130及び命令キャッシュMMU 12
0も接続されている。メインメモリ140はアドレス可
能な読取−書込メモリからのデジタル情報を選択的にス
トアし且つ出力する。
へ接続されており、該システムバス141へはデータキ
ャッシュMMU130及び命令キャッシュMMU 12
0も接続されている。メインメモリ140はアドレス可
能な読取−書込メモリからのデジタル情報を選択的にス
トアし且つ出力する。
命令キャッシュMMU120は、システムバス141を
介してメインメモリ140へ接続されており、メインメ
モリ140への選択的アクセスを管理してメインメモリ
140とデータキャッシュMMU 130との間でのデ
ータのストア即ち記憶を行うと共に検索を行う、データ
キャッシュMMU130は更に、非常に高速のデータバ
ス131を介してプロセサ110への又それからデータ
を選択的にストアすると共に出力し、又はシステムバス
141を介してメインメモリ140への又はそれからの
データを選択的にストアすると共に出力する為の手段を
有している。データキャッシュMMU 130は、それ
のアドレス可能な非常に高速の読取−書込メモリからの
データの選択的ストア及び出力を与える。
介してメインメモリ140へ接続されており、メインメ
モリ140への選択的アクセスを管理してメインメモリ
140とデータキャッシュMMU 130との間でのデ
ータのストア即ち記憶を行うと共に検索を行う、データ
キャッシュMMU130は更に、非常に高速のデータバ
ス131を介してプロセサ110への又それからデータ
を選択的にストアすると共に出力し、又はシステムバス
141を介してメインメモリ140への又はそれからの
データを選択的にストアすると共に出力する為の手段を
有している。データキャッシュMMU 130は、それ
のアドレス可能な非常に高速の読取−書込メモリからの
データの選択的ストア及び出力を与える。
プロセサ110は、命令バス121を介して命令キャッ
シュMMU 120へ、及びデータバス131を介して
データキャッシュMMU 130へ独立的に接続されて
いる。プロセサ110は、命令キャッシュMMU120
から受け取られた命令の夫々のデコード及び実行に応答
して、データキャッシュMMU130から受け取られた
データを処理する。処理は、演算的、論理的、関係を基
礎にしたもの等とすることが可能である。
シュMMU 120へ、及びデータバス131を介して
データキャッシュMMU 130へ独立的に接続されて
いる。プロセサ110は、命令キャッシュMMU120
から受け取られた命令の夫々のデコード及び実行に応答
して、データキャッシュMMU130から受け取られた
データを処理する。処理は、演算的、論理的、関係を基
礎にしたもの等とすることが可能である。
上述した如く、命令キャッシュMMU120のプログラ
ムカウンタは、ブランチ及びコンチクストスイッチの間
のみアドレスがロードされる。そうでない場合には、命
令キャッシュMMUは連続的ストリーム出力モードで動
作する。従って、命令キャッシュMMU120のプログ
ラムカウンタが開始アドレスでロードされ且つキャッシ
ュ前進信号が活性状態とされると、夫々アドレスされた
位置のデータが命令キャッシュMMU 120メモリか
らプロセサ110へ出力され、且つ爾後の命令は一度に
1つの命令を直列的にストリーム状でプロセサ110へ
転送される。何等付加的なアドレス転送の必要性無しに
転送された各爾後の命令ワード又は一群の命令ワードは
、コンチクストスイッチ又はブランチが必要とされ−る
時以外に、プ、 ロセサ110と命令キャッシュMMU
120プログラムカウンタとの間で転送される。
ムカウンタは、ブランチ及びコンチクストスイッチの間
のみアドレスがロードされる。そうでない場合には、命
令キャッシュMMUは連続的ストリーム出力モードで動
作する。従って、命令キャッシュMMU120のプログ
ラムカウンタが開始アドレスでロードされ且つキャッシ
ュ前進信号が活性状態とされると、夫々アドレスされた
位置のデータが命令キャッシュMMU 120メモリか
らプロセサ110へ出力され、且つ爾後の命令は一度に
1つの命令を直列的にストリーム状でプロセサ110へ
転送される。何等付加的なアドレス転送の必要性無しに
転送された各爾後の命令ワード又は一群の命令ワードは
、コンチクストスイッチ又はブランチが必要とされ−る
時以外に、プ、 ロセサ110と命令キャッシュMMU
120プログラムカウンタとの間で転送される。
MCLKは全メインクロック、例えば33MH2、論理
に対するクロックである。BCLKはシステムバスクロ
ックであり、好適にはMCLKの1/2又は1/4の何
れかである。
に対するクロックである。BCLKはシステムバスクロ
ックであり、好適にはMCLKの1/2又は1/4の何
れかである。
システムバス141同期に対して、BCLKはシステム
バス上の全てのユニット、即ちCPU、IPO、バスア
ービタ、キャッシュ、インタラブドコントローラ、MP
等へ、供給される。全ての信号はバス上に発生されねば
ならず、且つBCLKの上昇端でサンプルされねばなら
ない。該信号の伝播遅れは、バス動作の同期モードを保
証する為に、BCLKの1サイクル内でなければならな
い、BCLKとMCLKとの間の位相関係は厳格に特定
されている。1実施例において、BCLKはMCLKの
サイクル時間の2倍又は4倍の50%デユーティサイク
ルクロックであり、それはシステムバス141の物理的
寸法及び負荷に依存している。
バス上の全てのユニット、即ちCPU、IPO、バスア
ービタ、キャッシュ、インタラブドコントローラ、MP
等へ、供給される。全ての信号はバス上に発生されねば
ならず、且つBCLKの上昇端でサンプルされねばなら
ない。該信号の伝播遅れは、バス動作の同期モードを保
証する為に、BCLKの1サイクル内でなければならな
い、BCLKとMCLKとの間の位相関係は厳格に特定
されている。1実施例において、BCLKはMCLKの
サイクル時間の2倍又は4倍の50%デユーティサイク
ルクロックであり、それはシステムバス141の物理的
寸法及び負荷に依存している。
図示した如く、命令の転送は命令キャッシュMMU12
0からプロセサ110へ行われる。デー夕転送はデータ
キャッシュMMU 130とプロセサ110との間で双
方向性である。命令キャッシュMMU 120とメイン
メモリ140との間のインターフェースは、命令キャッ
シュMMU120のメモリ管理ユニットに応答してメイ
ンメモリ140から命令キャッシュMMU120への命
令である。これは、ICACHE−MMU120のキャ
ッシュメモリ内に存在していない命令が要求される場合
に、発生する。データキャッシュMMU130とメイン
メモリ140との間のデータ転送は双方向性である。命
令キャッシュMMU 120及びデータキャッシュMM
U130のメモリ管理ユニットは、全てのメモリ管理、
保護、及び仮想アドレスから物理的アドレスへの変換を
行う。
0からプロセサ110へ行われる。デー夕転送はデータ
キャッシュMMU 130とプロセサ110との間で双
方向性である。命令キャッシュMMU 120とメイン
メモリ140との間のインターフェースは、命令キャッ
シュMMU120のメモリ管理ユニットに応答してメイ
ンメモリ140から命令キャッシュMMU120への命
令である。これは、ICACHE−MMU120のキャ
ッシュメモリ内に存在していない命令が要求される場合
に、発生する。データキャッシュMMU130とメイン
メモリ140との間のデータ転送は双方向性である。命
令キャッシュMMU 120及びデータキャッシュMM
U130のメモリ管理ユニットは、全てのメモリ管理、
保護、及び仮想アドレスから物理的アドレスへの変換を
行う。
図示した如く、プロセサ110は仮想アドレス出力を与
え、それはメインメモリ内の対応する物理的アドレスと
連合的にマツプした関係を持っている。命令及びデータ
キャッシュMMU 120及び130の夫々のメモリ管
理ユニットは、メモリ管理ユニットが夫々の仮想的にア
ドレスした位置に対して連合的にマツプしたデジタル情
報の夫々の出力を選択的に与える様に、プロセサ110
の命令及びデータインターフェースからの夫々の仮想ア
ドレス出力に応答する。アドレスされた位置に対して要
求された情報が夫々のキャッシュMMUメモリ120及
び130内にストアされない場合(即ち、キャッシュミ
ス乃至はキャッシュはずれ)には、キャッシュMMUの
夫々のメモリ管理ユニットはメインメモリ140へ出力
する為に変換された物理的アドレスを与える。その後に
、対応する情報がメインメモリ140から夫々の命令キ
ャッシュMMU 120又はデータキャッシュMMU1
30へ又はそこから、且つ必要に応じてプロセサ110
へ供給される。
え、それはメインメモリ内の対応する物理的アドレスと
連合的にマツプした関係を持っている。命令及びデータ
キャッシュMMU 120及び130の夫々のメモリ管
理ユニットは、メモリ管理ユニットが夫々の仮想的にア
ドレスした位置に対して連合的にマツプしたデジタル情
報の夫々の出力を選択的に与える様に、プロセサ110
の命令及びデータインターフェースからの夫々の仮想ア
ドレス出力に応答する。アドレスされた位置に対して要
求された情報が夫々のキャッシュMMUメモリ120及
び130内にストアされない場合(即ち、キャッシュミ
ス乃至はキャッシュはずれ)には、キャッシュMMUの
夫々のメモリ管理ユニットはメインメモリ140へ出力
する為に変換された物理的アドレスを与える。その後に
、対応する情報がメインメモリ140から夫々の命令キ
ャッシュMMU 120又はデータキャッシュMMU1
30へ又はそこから、且つ必要に応じてプロセサ110
へ供給される。
ここで説明する如く、第1図のシステムは、中央処理装
置110を有しており、それは好適実施例においては単
一チップマイクロプロセサであり、その中に内蔵されて
いる別々の命令キャッシュMMU及びデータキャッシュ
MMUバスインターフェースを持っている。CPUI
10は、別の命令バス121を介して、命令キャッシュ
MMU120へ接続する。命令バス121は非常に高速
のバスであり、それは、前述した如く、ブランチ及びコ
ンチクストスイッチの期間中を除いて、プロセサの関与
無しに命令のストリーム即ち命令列を与える。命令バス
121は、非常に高速の命令通信を与え、且つ命令キャ
ッシュMMU 120からプロセサ110へ非常に高速
で命令を通信する為の手段を与える。プロセサ110は
又別の独立した高速データバス131を介してデータキ
ャッシュMMUへ接続されている。データバス131は
、プロセサ110とデータキャッシュMMU130との
間でデータの非常に高速な双方向通信を与える。
置110を有しており、それは好適実施例においては単
一チップマイクロプロセサであり、その中に内蔵されて
いる別々の命令キャッシュMMU及びデータキャッシュ
MMUバスインターフェースを持っている。CPUI
10は、別の命令バス121を介して、命令キャッシュ
MMU120へ接続する。命令バス121は非常に高速
のバスであり、それは、前述した如く、ブランチ及びコ
ンチクストスイッチの期間中を除いて、プロセサの関与
無しに命令のストリーム即ち命令列を与える。命令バス
121は、非常に高速の命令通信を与え、且つ命令キャ
ッシュMMU 120からプロセサ110へ非常に高速
で命令を通信する為の手段を与える。プロセサ110は
又別の独立した高速データバス131を介してデータキ
ャッシュMMUへ接続されている。データバス131は
、プロセサ110とデータキャッシュMMU130との
間でデータの非常に高速な双方向通信を与える。
これら2つの別箇のキャッシュインターフェースバス、
命令バス121、及びデータバス131は各々複数個の
信号を有している。第4図及び第5図に1実施例に対し
て示した如べ、データキャッシュバス131、命令キャ
ッシュバス121上の信号は以下の通りである。
命令バス121、及びデータバス131は各々複数個の
信号を有している。第4図及び第5図に1実施例に対し
て示した如べ、データキャッシュバス131、命令キャ
ッシュバス121上の信号は以下の通りである。
傘傘傘y’ −’i?rヤツシュバス申申傘ADF <
31 : O> : アドレス/データバスこれら
のラインは双方向性であり且つアドレス/データマルチ
プレラス動作されるバスを与える。
31 : O> : アドレス/データバスこれら
のラインは双方向性であり且つアドレス/データマルチ
プレラス動作されるバスを与える。
CPUが1クロツクサイクルに対するメモリ参照の為に
これらのライン上にアドレスを与える。ストア動作と共
に、該アドレスにデータが続く、ロード又はTAS動作
と共に、アドレスサイクルの後これらのパスラインはア
イドル(フローティング)状態となり、従ってこれらの
ラインはデータキャッシュMMUからデータを受け取る
準備がなされる1次いで、データキャッシュはロード又
はTAS動作の為に該ライン上にアドレスされたデータ
を与える。
これらのライン上にアドレスを与える。ストア動作と共
に、該アドレスにデータが続く、ロード又はTAS動作
と共に、アドレスサイクルの後これらのパスラインはア
イドル(フローティング)状態となり、従ってこれらの
ラインはデータキャッシュMMUからデータを受け取る
準備がなされる1次いで、データキャッシュはロード又
はTAS動作の為に該ライン上にアドレスされたデータ
を与える。
MPU0 : 33%130. X−パーバイザ
モードMPK :SSυ29.保護キーMPU0
U : 5SW28. スーパーバイザモード上で
ユーザのデータ空間 を選択 MPKU : 5SV27.スーパーバイザモー
ド上でユーザのデータ空間 の保護キー MPM : 5S1126.仮想マツプこれら
の信号はCPU内でのシステムステータスワード(SS
W<30:26>)を表しており。
モードMPK :SSυ29.保護キーMPU0
U : 5SW28. スーパーバイザモード上で
ユーザのデータ空間 を選択 MPKU : 5SV27.スーパーバイザモー
ド上でユーザのデータ空間 の保護キー MPM : 5S1126.仮想マツプこれら
の信号はCPU内でのシステムステータスワード(SS
W<30:26>)を表しており。
且つDキャッシュ及びエキャッシュの両方へ供給される
。
。
FC<3 : O> 機能コード/トラップコードア
ドレスサイクルにおける1クロツクサイクルに対して、
CPUがFC<3 : O>ライン上に5゛データ転送
のタイプ″を与える。D−CACHE、又はI−CAC
HEは、TSTBと共に異常動作に関する″トラップの
タイプ″を返送する。
ドレスサイクルにおける1クロツクサイクルに対して、
CPUがFC<3 : O>ライン上に5゛データ転送
のタイプ″を与える。D−CACHE、又はI−CAC
HEは、TSTBと共に異常動作に関する″トラップの
タイプ″を返送する。
転送タイプ
ASFアクティブの場合)
FC(3210>
oooo 単一ワードモードをロード0001
二重ワードモードをロード0010 バイトをロード 0011 半ワードをロード 0100 テスト及びセット 1xoo 単一ワードをストア 1x01 二重ワードをストア 1x1o バイトをストア 1x11 半ワードをストア D−CACHEはFC上にTRAPコードを与えてCP
Uに応答する。
二重ワードモードをロード0010 バイトをロード 0011 半ワードをロード 0100 テスト及びセット 1xoo 単一ワードをストア 1x01 二重ワードをストア 1x1o バイトをストア 1x11 半ワードをストア D−CACHEはFC上にTRAPコードを与えてCP
Uに応答する。
トラップコード
(T S T Bアクティブにの場合)FC<3210
> xoo。
> xoo。
X0OI メモIJz5− (MSBE)X010
メモリエラー(MDBE)xio。
メモリエラー(MDBE)xio。
Xl0I ページ障害
xllo 保護障害(READ)
xlll 保護障害(WRITE)
ASF : アドレス ストローブASFはCPU
によって活性化即ちアクティブとされ、′アドレス′及
び′データ転送のタイプ′がADF <31 : 10
>及びFC<3 : O>ライン上で夫々有効であるこ
とを表す。ASFは、アドレスがADFバス上に乗るよ
りも半クロックサイクル早くアクティブとなる。
によって活性化即ちアクティブとされ、′アドレス′及
び′データ転送のタイプ′がADF <31 : 10
>及びFC<3 : O>ライン上で夫々有効であるこ
とを表す。ASFは、アドレスがADFバス上に乗るよ
りも半クロックサイクル早くアクティブとなる。
R8P : 応答信号
ロード動作と共に、R5P信号がD−CACHEによっ
て活性化され、データがADFバス上でレディであるこ
とを表す。R8PはADFバス上のデータと同じタイミ
ングである。D−CACHEはロード動作と共にデータ
をCPUへ送り、且つストア動作と共にCPUからのデ
ータを受け付ける。
て活性化され、データがADFバス上でレディであるこ
とを表す。R8PはADFバス上のデータと同じタイミ
ングである。D−CACHEはロード動作と共にデータ
をCPUへ送り、且つストア動作と共にCPUからのデ
ータを受け付ける。
ストア動作と共に、データキャッシュMMUが次の動作
を受け付ける準備がなされてレディであるとR8Pは活
性化される。二重ロードと共に、各データパーセル転送
と共にR8Pが返送される。
を受け付ける準備がなされてレディであるとR8Pは活
性化される。二重ロードと共に、各データパーセル転送
と共にR8Pが返送される。
二重ストアと共に、第2のデータパーセルが受け付けら
れた後に1つのR8Pのみが返送される。
れた後に1つのR8Pのみが返送される。
TSTB : TRAPストローブFC(2: O
>に関するトラップコードと共に、TSTBがD−CA
CHEによって送り出され、動作が異常事態により終了
され且つTRAPコードがFC<2 : O>ライン上
で得られることを表す、既に訂正されたエラー(MSB
E)に基づき、TSTBの次に2クロック期間の後にR
5Pが続き、一方何れかのFAULT (障害)又は訂
正不能のERROR(MDBE)に基づいて、TSTB
のみが送り出される。
>に関するトラップコードと共に、TSTBがD−CA
CHEによって送り出され、動作が異常事態により終了
され且つTRAPコードがFC<2 : O>ライン上
で得られることを表す、既に訂正されたエラー(MSB
E)に基づき、TSTBの次に2クロック期間の後にR
5Pが続き、一方何れかのFAULT (障害)又は訂
正不能のERROR(MDBE)に基づいて、TSTB
のみが送り出される。
nDATA : D−CACHE
このラインが低であると、データキャッシュMMUチッ
プがDATAキャッシュバスへ接続されていることを表
す。
プがDATAキャッシュバスへ接続されていることを表
す。
***lN5T バス傘傘嘲
IADF <31 : O> : アドレス/命令
バスこれらのラインは双方向性であり、且つアドレス/
命令マルチプレウス動作されるバスを形成する。CPU
は、それがブランチ、リターン、スーパーバイザコール
、等のプログラムの流れを変える場合、又はそれが5S
W(30:26>値を変える場合に、これらのライン上
の仮想又は実際のアドレスを送り出す、命令キャッシュ
MMUはこれらのライン上で命令を返送する。
バスこれらのラインは双方向性であり、且つアドレス/
命令マルチプレウス動作されるバスを形成する。CPU
は、それがブランチ、リターン、スーパーバイザコール
、等のプログラムの流れを変える場合、又はそれが5S
W(30:26>値を変える場合に、これらのライン上
の仮想又は実際のアドレスを送り出す、命令キャッシュ
MMUはこれらのライン上で命令を返送する。
MPU0.MPK、MPU0U、MPM :(これ
らのラインのDATAキャッシュバス説明を参照) I FC<3 : O> : 機能コード/応答コ
ードI−CACHEはFCライン上にTRAPコードを
与えてCPUに応答する。
らのラインのDATAキャッシュバス説明を参照) I FC<3 : O> : 機能コード/応答コ
ードI−CACHEはFCライン上にTRAPコードを
与えてCPUに応答する。
IFC(ITSTBアクティブにおいて)xoo。
xOol メモリエラー(MSBE)XO10メモI
J−1c、ラ−(MDBE)OII xlol ページ障害 xllo 保護障害(実行) 1ASF : アドレス ストローブIASFはC
PUによって活性化され、アドレスがIADF <31
: 0>ライン上で有効であることを表す。IASF
は、アドレスがIADFバス上に乗るよりも半クロツク
サイクル前にアクティブとなる。
J−1c、ラ−(MDBE)OII xlol ページ障害 xllo 保護障害(実行) 1ASF : アドレス ストローブIASFはC
PUによって活性化され、アドレスがIADF <31
: 0>ライン上で有効であることを表す。IASF
は、アドレスがIADFバス上に乗るよりも半クロツク
サイクル前にアクティブとなる。
l5END : 命令送れ(即ち、キャッシュ前進
信号) ISENDはCPUによって活性化され、CPUが次の
命令を受け付ける為の準備がなされていること(例えば
、CPU内の命令バッファが満杯でない)を表す。
信号) ISENDはCPUによって活性化され、CPUが次の
命令を受け付ける為の準備がなされていること(例えば
、CPU内の命令バッファが満杯でない)を表す。
R8Pの後端において、命令バッファが満杯であると、
l5ENDはオフでなければならず、そうでないと、次
の命令が命令キャッシュMMUから送られる0例えばブ
ランチ時に、新しいアドレスが発生されると、IASF
がアークティブとなる少なくとも1クロツクサイクル前
にI 5ENDはオフでなければならない。
l5ENDはオフでなければならず、そうでないと、次
の命令が命令キャッシュMMUから送られる0例えばブ
ランチ時に、新しいアドレスが発生されると、IASF
がアークティブとなる少なくとも1クロツクサイクル前
にI 5ENDはオフでなければならない。
IR8P : 応答信号
IR,SPはI−CACHEによって活性化され。
命令がIADF <31 : O>ライン上でレディで
あることを表す、IR5Pはバス上のデータと同じタイ
ミングである。
あることを表す、IR5Pはバス上のデータと同じタイ
ミングである。
ITSTB : TRAPストローブこれはI−C
ACHEによって活性化され、キャッシュが異常事態に
よってその動作を終了させ、且つTRAPコードがI
FC<3 : O>ライン上で得られることを表す、既
に訂正されたエラー(MSBE)に基づき、2クロック
期間後にTSTBがR8Pに続き、一方FAULT又は
訂正不能のエラー(MDBE)の場合には、TSTBの
みが送り出され且つアクティブとなる。
ACHEによって活性化され、キャッシュが異常事態に
よってその動作を終了させ、且つTRAPコードがI
FC<3 : O>ライン上で得られることを表す、既
に訂正されたエラー(MSBE)に基づき、2クロック
期間後にTSTBがR8Pに続き、一方FAULT又は
訂正不能のエラー(MDBE)の場合には、TSTBの
みが送り出され且つアクティブとなる。
lN5T : I−CACHE
このラインが高であると、キャッシュがlN5Tキヤツ
シユバスへ接続される。
シユバスへ接続される。
命令キャッシュMMU 120及びデータキャッシュM
MU 130の各々はシステムバス141へ接続する為
の第2バスインターフエースを持っている。システムバ
ス141は、それに接続されている全ての要素の間で情
報を通信する。システムバス出力160のバスクロック
信号BCLKは、システムバス141に接続されている
要素間の転送の同期を与える。
MU 130の各々はシステムバス141へ接続する為
の第2バスインターフエースを持っている。システムバ
ス141は、それに接続されている全ての要素の間で情
報を通信する。システムバス出力160のバスクロック
信号BCLKは、システムバス141に接続されている
要素間の転送の同期を与える。
第6図に示した如く、命令キャッシュMMUI20及び
データキャッシュMMU 130からのシステムバス出
力は、共通中間バス133へ接続されており、それはT
TLドライバ/バッファ回路135へ接続してシステム
バス141への及びそれからのインターフェースをバッ
ファすると共に駆動する。このことは、命令キャッシュ
MMU 120及びデータキャッシュMMU130の各
々がモノリシックの単一チップ集積回路である場合、及
びモノリシック集積回路をバスインターフェース危険か
ら保護する為にバスドライバ/レシーバをモノリシック
集積回路から分離することが所望される場合に、特に有
用である。以下のバス信号がバスドライバ/レシーバ動
作を調節する。
データキャッシュMMU 130からのシステムバス出
力は、共通中間バス133へ接続されており、それはT
TLドライバ/バッファ回路135へ接続してシステム
バス141への及びそれからのインターフェースをバッ
ファすると共に駆動する。このことは、命令キャッシュ
MMU 120及びデータキャッシュMMU130の各
々がモノリシックの単一チップ集積回路である場合、及
びモノリシック集積回路をバスインターフェース危険か
ら保護する為にバスドライバ/レシーバをモノリシック
集積回路から分離することが所望される場合に、特に有
用である。以下のバス信号がバスドライバ/レシーバ動
作を調節する。
DIRout : ADババス方向が外側。
この信号は、ADラインのオフチップドライバーレシー
バを制御する為に使用される。ADDRESSの発生と
共に且つDATAを書込モードで送り出すと共に、マス
タキャッシュがこ信号を活性化させる。読取モードでD
ATAを送り出すと共に、スレーブキャッシュがこの信
号を活性化させる。
バを制御する為に使用される。ADDRESSの発生と
共に且つDATAを書込モードで送り出すと共に、マス
タキャッシュがこ信号を活性化させる。読取モードでD
ATAを送り出すと共に、スレーブキャッシュがこの信
号を活性化させる。
ICA/ : I−CACHEアクセスnICAは
、データ及び命令キャッシュとcPUによってのみ使用
される。この信号は、I −CACHE内のIO空間を
アクセスする為に、対とされているI−CACHEへD
−CACHEから送られる。システムバスからメモリマ
ツプされた10アクセスの到達と共に、I−CACHE
はそれはnICAがアクティブである場合にのみ工0コ
マンドとして受け付ける。従って、キャッシュは工0コ
マンドを対とされたCPUからのみ受け付ける。
、データ及び命令キャッシュとcPUによってのみ使用
される。この信号は、I −CACHE内のIO空間を
アクセスする為に、対とされているI−CACHEへD
−CACHEから送られる。システムバスからメモリマ
ツプされた10アクセスの到達と共に、I−CACHE
はそれはnICAがアクティブである場合にのみ工0コ
マンドとして受け付ける。従って、キャッシュは工0コ
マンドを対とされたCPUからのみ受け付ける。
システムバス141の同期動作は、サンプルされる時に
信号変化が発生しない限り、上述したシステム環境にお
いて可能とされる。この動作を実現する為には2つのタ
イミングが基本であり、その1つはバス上に信号を発生
することであり、その他方はサンプリングして信号を検
出することである。これらの2つのタイミングは、バス
クロックBCLKから発生されねばならず、そのクロッ
クはマスタクロックMCLKと特定の位相関係にあり、
内部論理動作と特定の関係を維持する。これらのタイミ
ングは、バス上において互いに小さなスキュー即ち歪を
持っており、次式を満足するものでなければならない。
信号変化が発生しない限り、上述したシステム環境にお
いて可能とされる。この動作を実現する為には2つのタ
イミングが基本であり、その1つはバス上に信号を発生
することであり、その他方はサンプリングして信号を検
出することである。これらの2つのタイミングは、バス
クロックBCLKから発生されねばならず、そのクロッ
クはマスタクロックMCLKと特定の位相関係にあり、
内部論理動作と特定の関係を維持する。これらのタイミ
ングは、バス上において互いに小さなスキュー即ち歪を
持っており、次式を満足するものでなければならない。
Tg−s ) Tpro + Tskここで、
T g−sは信号発生タイミングから信号サンプリング
タイミングへの期間であり、Tproは信号の最大伝播
遅れ時間であり、Tskはパスクロックのスキューであ
る。
T g−sは信号発生タイミングから信号サンプリング
タイミングへの期間であり、Tproは信号の最大伝播
遅れ時間であり、Tskはパスクロックのスキューであ
る。
システムバスの物理的条件が上式を満足するものではな
い場合、信号はサンプリングタイミングに関して非同期
的に到着する。この場合、外部非同期信号を同期させる
為にバスインターフェース内にシンクロナイザが必要で
ある。非同期動作はバスの物理的寸法又はどの様な種類
のタイミング遅れをも制限するものではないが、″同期
障害″の可能性を除去することが極端に困難であるとい
う重大な欠点が存在する。非同期方法の別の欠点は、非
同期方法において必然的に必要とされるハンドシェイク
プロトコールに起因する速度上の制限である。このこと
は、マルチデータ転送モードにおいて特に非効率的であ
る。ハンドシェーク手法は、1つのソースと1つ又はそ
れ以上のデスティネーションとの間での相互通信の有用
な方法であり、且つこれはデータ転送動作の安全な方法
であるが、タイミングプロトコールが速度を制限し且つ
非常に高速のバス動作においては屡々不満足なことがあ
る。更に、非同期バスはノイズにも敏感である。
い場合、信号はサンプリングタイミングに関して非同期
的に到着する。この場合、外部非同期信号を同期させる
為にバスインターフェース内にシンクロナイザが必要で
ある。非同期動作はバスの物理的寸法又はどの様な種類
のタイミング遅れをも制限するものではないが、″同期
障害″の可能性を除去することが極端に困難であるとい
う重大な欠点が存在する。非同期方法の別の欠点は、非
同期方法において必然的に必要とされるハンドシェイク
プロトコールに起因する速度上の制限である。このこと
は、マルチデータ転送モードにおいて特に非効率的であ
る。ハンドシェーク手法は、1つのソースと1つ又はそ
れ以上のデスティネーションとの間での相互通信の有用
な方法であり、且つこれはデータ転送動作の安全な方法
であるが、タイミングプロトコールが速度を制限し且つ
非常に高速のバス動作においては屡々不満足なことがあ
る。更に、非同期バスはノイズにも敏感である。
好適実施例においては、システムバス141は1つのク
ロック: BCLKを持っている。MCLKはCPUl
l0とキャッシュ120及び130の内部論理動作の為
に使用され、且つBCLKは上述した如くバス動作の同
期タイミングを発生する為に使用される。
ロック: BCLKを持っている。MCLKはCPUl
l0とキャッシュ120及び130の内部論理動作の為
に使用され、且つBCLKは上述した如くバス動作の同
期タイミングを発生する為に使用される。
システムバスは、ハンドシェーク及び非ハンドシェーク
方法の適合性の組合せを与えることが可能である。
方法の適合性の組合せを与えることが可能である。
好適実施例においては、システムバス141は高速の同
期バスでマルチプルマスタ機能を具備している。各潜在
的なマスクは、コントロールライン即ち制御線111を
介してプロセサ110へ接続されているインタラブドコ
ントローラ170へ接続される別々のインタラブドライ
ンを持つことが可能である。システムバス141はマル
チプレクス動作されるデータ/アドレス経路を持ってお
り且つ単−又は複数ワードブロック転送を可能とする。
期バスでマルチプルマスタ機能を具備している。各潜在
的なマスクは、コントロールライン即ち制御線111を
介してプロセサ110へ接続されているインタラブドコ
ントローラ170へ接続される別々のインタラブドライ
ンを持つことが可能である。システムバス141はマル
チプレクス動作されるデータ/アドレス経路を持ってお
り且つ単−又は複数ワードブロック転送を可能とする。
該バスは効率的なCPU−キャッシュ動作を可能とする
為に最適化されている。それは明示的な読取/修正/書
込サイクルを持つものではないが、バスを解放すること
無しに読取次いで書込サイクルを行うことによってこの
ことを実行する。
為に最適化されている。それは明示的な読取/修正/書
込サイクルを持つものではないが、バスを解放すること
無しに読取次いで書込サイクルを行うことによってこの
ことを実行する。
第1図の実施例の例示として、本システムは単一のCP
UI 10と、8人力固定優先バスアービタ180と、
インタラブドコントロ、−ラ170とを有している。全
ての信号はクロックの端部で発生され且つサンプルされ
、且つ次のクロック端部の前に少なくともセットアツプ
時間の間安定であり且つ中間回路動作を回避する為にク
ロック端部の後少なくとも保持時間の間一定に保持され
るべきである。これは、バス遅延に制限が課されるべき
であることを意味しており、それはバス長さ及びローデ
ィングを制限する。
UI 10と、8人力固定優先バスアービタ180と、
インタラブドコントロ、−ラ170とを有している。全
ての信号はクロックの端部で発生され且つサンプルされ
、且つ次のクロック端部の前に少なくともセットアツプ
時間の間安定であり且つ中間回路動作を回避する為にク
ロック端部の後少なくとも保持時間の間一定に保持され
るべきである。これは、バス遅延に制限が課されるべき
であることを意味しており、それはバス長さ及びローデ
ィングを制限する。
システムバス141は複数個の信号を有している0例え
ば、第5図に示した如く、1実施例の場合、システムバ
ス141は以下の信号を有することが可能であり、′/
′″は低の場合に真を表す信号を示している。
ば、第5図に示した如く、1実施例の場合、システムバ
ス141は以下の信号を有することが可能であり、′/
′″は低の場合に真を表す信号を示している。
AD <31 : O> : アドレス/データバ
スこれはマルチプレクス動作されるアドレス/データバ
スである。有効なバスサイクルの間、バスの権利を持っ
たバスマスタはバス上にアドレスを与える。次いで、そ
のバスマスタは書込の為にバス上にデータを与えるか、
又はそのADババス力を高インピーダンス状態へ3状態
(フロート)とさせて読取の間にデータを受け取る準備
をする。
スこれはマルチプレクス動作されるアドレス/データバ
スである。有効なバスサイクルの間、バスの権利を持っ
たバスマスタはバス上にアドレスを与える。次いで、そ
のバスマスタは書込の為にバス上にデータを与えるか、
又はそのADババス力を高インピーダンス状態へ3状態
(フロート)とさせて読取の間にデータを受け取る準備
をする。
CT<3:O> : CyclaTypeCT <
3 : 2)はバス上のマスクのタイプ及び読取又は書
込サイクルが行われているか否かを表す。
3 : 2)はバス上のマスクのタイプ及び読取又は書
込サイクルが行われているか否かを表す。
00 CPU書込(CP U型装置により書込の送
出) 01 CPU読取(CPU型装置により読取の送出
) 10 IO書込(IOP型装置により書込の送出) 11 IO読取(IOP型装置により読取の送出) CT (1: O)はサイクル中に転送されるべきワー
ド数を表す。
出) 01 CPU読取(CPU型装置により読取の送出
) 10 IO書込(IOP型装置により書込の送出) 11 IO読取(IOP型装置により読取の送出) CT (1: O)はサイクル中に転送されるべきワー
ド数を表す。
CT <1 : O>
00 単一ワード転送
01 カッド語転送
10 16ワード転送
11 グローバルCAMMU書込
MS <4 : O> : システムメモリ空間ビ
ットシステムMSビットは、現在のアクセスが発生する
メモリ空間及びキャッシュが内部サイクルを行うことを
表すコードを特定する。そのサイクルは、キャッシュエ
ントリをアップデートするか。
ットシステムMSビットは、現在のアクセスが発生する
メモリ空間及びキャッシュが内部サイクルを行うことを
表すコードを特定する。そのサイクルは、キャッシュエ
ントリをアップデートするか。
又はキャッシュが一層最近のデータのコピーを持ってい
る場合には、水システムパスへデータを供給するかの何
れかの為に必要とされる。
る場合には、水システムパスへデータを供給するかの何
れかの為に必要とされる。
MS : 432
ooo メインメモリ、専有空間。
キャッシュ可能ライトスルー
(write through)。
001 メインメモリ、共有空間。
キャッシュ可能ライトスルー。
010 メインメモリ、専有空間。
キャッシュ可能コピーバック。
011 メインメモリ、共有空間。
キャッシュ不能。
IXOメモリマツブトIO空間。
キャッシュ不能。
1x1 ブートローダ空間。
キャッシュ不能。
キャッシュMMU及びメモリマツブト空間内の装置の間
の転送は単−又は部分的ワードのみによる。
の転送は単−又は部分的ワードのみによる。
該転送がメモリマツブトIO空間へのものである場合、
それは単一サイクル型のも、の、即ちCT(1: O)
は(00)であり1次いで下位の2つのMSビットは参
照されたデータの寸法を表す。
それは単一サイクル型のも、の、即ちCT(1: O)
は(00)であり1次いで下位の2つのMSビットは参
照されたデータの寸法を表す。
MS(1:0)
OX 全体ワード転送
10 バイト転送
11 1/2ワード転送
転送されるバイト又は半ワードは、データのアドレスに
よって指摘されているバスビット上に現れねばならない
0例えば、アドレスFF03(HEX)へのバイトアド
レスの間、所望のデータはワードの第3バイトであるバ
ス信号AD<23:16〉上に現れねばならない。
よって指摘されているバスビット上に現れねばならない
0例えば、アドレスFF03(HEX)へのバイトアド
レスの間、所望のデータはワードの第3バイトであるバ
ス信号AD<23:16〉上に現れねばならない。
キャッシュ120又は130が共有書込(即ち、メイン
メモリ140内の共有空間内への書込)又はシステムバ
スからのIO書込によってアクセスされると、適宜のキ
ャッシュ内のヒツトラインは無効とされねばならない、
キャッシュがシステムバスからのIO読取によってアク
セスされると、キャッシュ内の整合されたよごれたデー
タは送り出されねばならない。
メモリ140内の共有空間内への書込)又はシステムバ
スからのIO書込によってアクセスされると、適宜のキ
ャッシュ内のヒツトラインは無効とされねばならない、
キャッシュがシステムバスからのIO読取によってアク
セスされると、キャッシュ内の整合されたよごれたデー
タは送り出されねばならない。
マスクはスレーブに対して、スレーブが応答することの
可能なサイクルのタイプを送出せねばならず、そうでな
いとバスはタイムアウトとなる。
可能なサイクルのタイプを送出せねばならず、そうでな
いとバスはタイムアウトとなる。
AC/ : ActiveCycleこれは現在の
バスマスタによって起され、バスサイクルがアクティブ
であることを表す。
バスマスタによって起され、バスサイクルがアクティブ
であることを表す。
RDY/ : ReaDY
EDY/は、所要のバス動作を完了する準備がなされ且
つ入手可能なデータを取ったか又は読取データをバス上
に与えたかの何れかの場合に、アドレスされたスレーブ
によって送出される。RDY/はCBSY/が不活性状
態となる迄はアサート即ち起生されない、長いアクセス
時間を許容する為に、複数ワードアクセスサイクルに関
しての転送の間はRDY/を否定されることが可能であ
る。複数ワード読取書込サイクルの間、ReaDY/は
、転送の最初のワードが除去される2クロツク前にアサ
ートされねばならない6次のデータが遅延されるべき時
には、ReaDY/はそれがアサートされた後のクロッ
クで否定されねばならない、この信号は、スレーブとし
て機能することの可能な装置間の“ワイヤードOR”さ
れたものである。
つ入手可能なデータを取ったか又は読取データをバス上
に与えたかの何れかの場合に、アドレスされたスレーブ
によって送出される。RDY/はCBSY/が不活性状
態となる迄はアサート即ち起生されない、長いアクセス
時間を許容する為に、複数ワードアクセスサイクルに関
しての転送の間はRDY/を否定されることが可能であ
る。複数ワード読取書込サイクルの間、ReaDY/は
、転送の最初のワードが除去される2クロツク前にアサ
ートされねばならない6次のデータが遅延されるべき時
には、ReaDY/はそれがアサートされた後のクロッ
クで否定されねばならない、この信号は、スレーブとし
て機能することの可能な装置間の“ワイヤードOR”さ
れたものである。
CBSY/ : CachaBUSYCBSY/は
、バスアクセスに起因して、内部サイクルを実行してい
る時にキャッシュによって送出される。バス及びアドレ
スされたスレーブの現在のコントローラは、CBSYが
偽(false)になる迄そのサイクルを完了してはな
らないにの信号はキャッシュ間で“ワイヤーOR”され
ている、CBSY/ラインは、動作が終った後にのみ解
放される。専有書込モードの場合、各スレーブキャッシ
ュはそのCBSY/信号を高インピーダンス状態に維持
する。
、バスアクセスに起因して、内部サイクルを実行してい
る時にキャッシュによって送出される。バス及びアドレ
スされたスレーブの現在のコントローラは、CBSYが
偽(false)になる迄そのサイクルを完了してはな
らないにの信号はキャッシュ間で“ワイヤーOR”され
ている、CBSY/ラインは、動作が終った後にのみ解
放される。専有書込モードの場合、各スレーブキャッシ
ュはそのCBSY/信号を高インピーダンス状態に維持
する。
M S B E / : MamorySingl
eBitErrorこれは、単一ビットメモリエラーを
検知し且つ訂正した後にメインメモリ140によって送
出される。これは、エラーのデータがバス上で真(tr
uθ)の時にのみ真となる(即ち、4ワード転送の3番
目のワードがこのサイクルにおいて訂正した読取エラー
を持っていると、該3番目のワードがバス上でアクティ
ブである時間中、(MMBE)は真である。)。
eBitErrorこれは、単一ビットメモリエラーを
検知し且つ訂正した後にメインメモリ140によって送
出される。これは、エラーのデータがバス上で真(tr
uθ)の時にのみ真となる(即ち、4ワード転送の3番
目のワードがこのサイクルにおいて訂正した読取エラー
を持っていると、該3番目のワードがバス上でアクティ
ブである時間中、(MMBE)は真である。)。
M M B E / : Memory
MultipleBitErrorこれは、それが訂正
不能のメモリエラーを検知するとメインメモリによって
送出される。これは、エラーのデータがバス上で真の場
合のみ真となる(即ち、4ワード転送の3番目のワード
がこのサイクルにおいて訂正不能の読取エラーを持って
いと、該3番目のワードがバス上でアクティブの時間中
、MMBEは真となる。)。
MultipleBitErrorこれは、それが訂正
不能のメモリエラーを検知するとメインメモリによって
送出される。これは、エラーのデータがバス上で真の場
合のみ真となる(即ち、4ワード転送の3番目のワード
がこのサイクルにおいて訂正不能の読取エラーを持って
いと、該3番目のワードがバス上でアクティブの時間中
、MMBEは真となる。)。
BERR/ : BusERRorこれは、それが
バスタイムアウト状態を検知するか又はバスパリティエ
ラーが検知された後に、バス調整論理によって送出され
る。信号タイムアウトタイミングはBusGrantの
期間である。
バスタイムアウト状態を検知するか又はバスパリティエ
ラーが検知された後に、バス調整論理によって送出され
る。信号タイムアウトタイミングはBusGrantの
期間である。
P <3 : O> : パリティビット3乃至0
これらは、AD <31 : O>バス上の4バイト用
の4つのパリティビットである。アドレス及びデータの
両方が全てのサイクルでパリティをチェックする。
これらは、AD <31 : O>バス上の4バイト用
の4つのパリティビットである。アドレス及びデータの
両方が全てのサイクルでパリティをチェックする。
PERR/ : Parity ERRorこれ
は、各装置のパリティ検査回路によって駆動されるオー
プンコレクタ信号である。それは。
は、各装置のパリティ検査回路によって駆動されるオー
プンコレクタ信号である。それは。
パリティエラーがアドレス又はデータの何れかにおいて
検出されるとアサート即ち起生される。それは、バス調
整論理180によってラッチされ。
検出されるとアサート即ち起生される。それは、バス調
整論理180によってラッチされ。
それはバスエラーシーケンスを発生する。
BRX : BusRequestこれは装置Xか
らバスアービタ180へのバス要求信号である。
らバスアービタ180へのバス要求信号である。
BGX : BusGrant
これはバスアービタ180から装[Xへのバス許可信号
である。
である。
LOCK :
これは、読取/修正/書込サイクルの間に発生される。
それはCT及びMS信号と同じタイミングを持っている
。
。
MCLK : マスタクロック
マスタクロックMCLKは1個又は複数個のCPUll
0及びキャッシュ120及び130へ送られる。
0及びキャッシュ120及び130へ送られる。
BCLK : BusCloak
これはシステムのバスクロックである。全ての信号はそ
の上昇端部で発生され且つ検知される。
の上昇端部で発生され且つ検知される。
RESET/ :
これはシステムのマスタリセット信号である。
それは多数のバスクロックサイクルに対してアサートさ
れる。
れる。
RATE : BCLK/MCLK rateL
ow : BCLKはMCLK (例えば、6゜n
s)の172の周波数を持つ。
ow : BCLKはMCLK (例えば、6゜n
s)の172の周波数を持つ。
High: BCLKはMCLK (例えば、 12
0n8)の174の周波数を持つ。
0n8)の174の周波数を持つ。
1実施例においては、システムアーキテクチャ−はマル
チプル即ち複数のキャッシュメモリ、マルチプルのプロ
セサ、及びIOプロセサを有している。この実施例にお
いては、それがストアされており及び/又は使用される
全ての個所において同一のデータを同じ値に維持する上
での問題がある。この問題を緩和する為に、キャッシュ
メモリはシステムバスをモニタし、各サイクルを検査し
てそれが本システム内のデータの一貫性に影響を与える
ことが可能なタイプのものであるか否かを判別する。そ
の結果が肯定である場合、キャッシュは内部サイクルを
実行して、それはそのデータをパージせねばならないか
又はバス上のアドレスされた装置からの代りにキャッシ
ュからシステムバスヘデータを供給せねばならないかを
決定する。
チプル即ち複数のキャッシュメモリ、マルチプルのプロ
セサ、及びIOプロセサを有している。この実施例にお
いては、それがストアされており及び/又は使用される
全ての個所において同一のデータを同じ値に維持する上
での問題がある。この問題を緩和する為に、キャッシュ
メモリはシステムバスをモニタし、各サイクルを検査し
てそれが本システム内のデータの一貫性に影響を与える
ことが可能なタイプのものであるか否かを判別する。そ
の結果が肯定である場合、キャッシュは内部サイクルを
実行して、それはそのデータをパージせねばならないか
又はバス上のアドレスされた装置からの代りにキャッシ
ュからシステムバスヘデータを供給せねばならないかを
決定する。
キャッシュがこのことを決定する間、それはCache
BusY/をアサートする。それがサイクルを終了する
と、それはCacheBuSY/を否定とする。それが
データを持っていると、それはそれをバス上に与え且つ
ReaDY/をアサートする。
BusY/をアサートする。それがサイクルを終了する
と、それはCacheBuSY/を否定とする。それが
データを持っていると、それはそれをバス上に与え且つ
ReaDY/をアサートする。
キャッシュをして内部サイクルを実施させるバスサイク
ルは以下の通りである。
ルは以下の通りである。
1、専有メモリ空間に対する工0読取(工○R)。
これはキャッシュがデータを供給することを許容し、そ
れは修正されている場合もあるがメモリに未だ書込され
ていないsea■oryspace:I −トLt (
010xx)である、即ち、メモリ空間はメインメモリ
であり、且つ所要のデータは専有メモリ区域内にコピー
バックモードでキャッシュされる。
れは修正されている場合もあるがメモリに未だ書込され
ていないsea■oryspace:I −トLt (
010xx)である、即ち、メモリ空間はメインメモリ
であり、且つ所要のデータは専有メモリ区域内にコピー
バックモードでキャッシュされる。
プログラミングエラーに起因して、16ワードサイクル
がキャッシュ可能であると宣言され且つキャツシュヒツ
ト即ちキャッシュ当りが発生すると、該キャッシュは最
初の4ワードを正確に供給し且つ次いで残りの12ワー
ドへ転送された4番目のワードの値を供給する。
がキャッシュ可能であると宣言され且つキャツシュヒツ
ト即ちキャッシュ当りが発生すると、該キャッシュは最
初の4ワードを正確に供給し且つ次いで残りの12ワー
ドへ転送された4番目のワードの値を供給する。
2、 1.4.又は16ワードのIO書込サイクル(I
OW)、これは、キャッシュがそれ(それら)が有して
いるメモリ内で変化されるべき何れのデータも無効化す
ることを許容する。MemorySρaceコードは<
OO1x x)、<0OIXX>、及び<010xx>
である。即ち、キャッシュされた全ての整合データをパ
ージする。
OW)、これは、キャッシュがそれ(それら)が有して
いるメモリ内で変化されるべき何れのデータも無効化す
ることを許容する。MemorySρaceコードは<
OO1x x)、<0OIXX>、及び<010xx>
である。即ち、キャッシュされた全ての整合データをパ
ージする。
3、 単−及び4ワードCPUの共用メモリへの書込。
これは、その他のキャッシュが、メモリ内で変化されて
いるそれらが収容している全てのデータを無効化させる
ことを可能とする。 MemorySpaceコードは
<0O1xx>である。即ち、何れの整合即ちマツチン
グデータもキャッシュ可能であり共用メモリ区域内にあ
る。
いるそれらが収容している全てのデータを無効化させる
ことを可能とする。 MemorySpaceコードは
<0O1xx>である。即ち、何れの整合即ちマツチン
グデータもキャッシュ可能であり共用メモリ区域内にあ
る。
4、 キャッシュメモリ管理ユニット(GAMMU)制
御レジスタへのグローバル書込。マルチプルCPUシス
テムにおいて、例えばマルチプルキャッシュ対とを具備
、CBSYラインをモニタし且つグローバルモードでC
BSYがオフしている場合にRDY信号を送出する為に
付加的な装置が必要とされる。
御レジスタへのグローバル書込。マルチプルCPUシス
テムにおいて、例えばマルチプルキャッシュ対とを具備
、CBSYラインをモニタし且つグローバルモードでC
BSYがオフしている場合にRDY信号を送出する為に
付加的な装置が必要とされる。
5、 データキャッシュメモリ管−環ユニット(DCA
MMU)からそのコンパニオンの命令キャッシュメモリ
管理ユニット(ICAMMU)へのアクセス。
MMU)からそのコンパニオンの命令キャッシュメモリ
管理ユニット(ICAMMU)へのアクセス。
以下の説明は、システムバスを横断して成功裡にデータ
を転送する為に続いて行われるべきバス転送要求の例示
的要約である。ソフトウェア上の約束ごとに起因するそ
の他の制限も必要になる場合がある。
を転送する為に続いて行われるべきバス転送要求の例示
的要約である。ソフトウェア上の約束ごとに起因するそ
の他の制限も必要になる場合がある。
(1) B CL Kの上昇端部で全ての活動が発生
する。
する。
(2)全ての信号は全ての適宜のセットアツプ及び保持
時間に適合せねばならない。
時間に適合せねばならない。
(3)マスクはスレーブが実行可能なサイクルのみをス
レーブへ送出せねばならない。これらのものは以下の通
りである。
レーブへ送出せねばならない。これらのものは以下の通
りである。
(i)MMIO及びブート(Boot)アクセスは単一
サイクルのみである。
サイクルのみである。
(ii) メモリへの16ワード転送はIOタイプサ
イクルとして送出することが出来るだけである。
イクルとして送出することが出来るだけである。
(4) キャッシュ可能サイクルの間、バススレーブ
は、CacheBuSY/が否定される迄、ReaDY
/を送出してはならない。キャッシュ不能サイクルの間
、アドレスされたスレーブはCacheBusY/の為
にテストする必要はない。
は、CacheBuSY/が否定される迄、ReaDY
/を送出してはならない。キャッシュ不能サイクルの間
、アドレスされたスレーブはCacheBusY/の為
にテストする必要はない。
CacheBuSY/が否定された時にRa a DY
/がアサートされると、本メモリシステムはそのサイク
ルをアボート即ち中断せねばならない。
/がアサートされると、本メモリシステムはそのサイク
ルをアボート即ち中断せねばならない。
典型的なシステムバス141サイクルは、バスアービタ
180へのB u s Re q u e s tをア
サートすることによって装置がバスの支配を要求する時
に開始する。成る時間後に、アービタ180はB u
s G r a n tを送り返し、要求する装置がバ
スを使用することが可能であることを表す。次のクロッ
クで、その装置はA c t i v e Cy c
le / 、バスアドレス、バスCyclaType+
及びバスMemorySpaceコードをアサートする
。バスアドレスは2個のBCLKの後に除去される。そ
のサイクルが書込であると、データはAddressD
ataライン上でアサートされる。それが読取サイクル
であると、AddressDataラインは3状態であ
り、データがそれらの上に与えられることを予期する。
180へのB u s Re q u e s tをア
サートすることによって装置がバスの支配を要求する時
に開始する。成る時間後に、アービタ180はB u
s G r a n tを送り返し、要求する装置がバ
スを使用することが可能であることを表す。次のクロッ
クで、その装置はA c t i v e Cy c
le / 、バスアドレス、バスCyclaType+
及びバスMemorySpaceコードをアサートする
。バスアドレスは2個のBCLKの後に除去される。そ
のサイクルが書込であると、データはAddressD
ataライン上でアサートされる。それが読取サイクル
であると、AddressDataラインは3状態であ
り、データがそれらの上に与えられることを予期する。
次いで、以下の1つが発生する。
1) 該サイクルがキャッシュ内部アクセスを包含する
と、キャッシュは、それがその内部動作を完了する迄、
CacheBuSY/をアサートするs CacheB
uSY/がアサートされルトメインメモリがそのサイク
ルを完了することを禁止する。ここで、幾つかの発生す
ることの可能なシーケンスが存在する。
と、キャッシュは、それがその内部動作を完了する迄、
CacheBuSY/をアサートするs CacheB
uSY/がアサートされルトメインメモリがそのサイク
ルを完了することを禁止する。ここで、幾つかの発生す
ることの可能なシーケンスが存在する。
i)該サイクルが専有メモリへのIO読取であり且つキ
ャッシュが最も最近のデータを持っている場合、該キャ
ッシュは同時的に該データをシステムバス141上に与
え、ReaDY/をアサートし且つCacheBuSY
/を否定する。ReaDY/が真になることは、それが
現在のサイクルをアボートすることをメモリ140へ表
す。
ャッシュが最も最近のデータを持っている場合、該キャ
ッシュは同時的に該データをシステムバス141上に与
え、ReaDY/をアサートし且つCacheBuSY
/を否定する。ReaDY/が真になることは、それが
現在のサイクルをアボートすることをメモリ140へ表
す。
ii)該サイクルが工0書込又は共用メモリへの書込で
ある場合、メモリ140はCacheBuSY/が否定
され且っReaDY/がアサートされるのを待つ。
ある場合、メモリ140はCacheBuSY/が否定
され且っReaDY/がアサートされるのを待つ。
1ii) 該サイクルがメインメモリ140内の専有
メモリへのIO読取であり、且つキャッシュがデータを
持っていない場合、CachaBuSY/は究極的に否
定される。このことは、メモリ140がバス141上の
データをアサートし且つReaDY/をアサートするこ
とを可能とする。
メモリへのIO読取であり、且つキャッシュがデータを
持っていない場合、CachaBuSY/は究極的に否
定される。このことは、メモリ140がバス141上の
データをアサートし且つReaDY/をアサートするこ
とを可能とする。
2)該サイクルがキャッシュアクセスを包含しない場合
、CacheBuSY/はモニタする必要は無い。
、CacheBuSY/はモニタする必要は無い。
ReaDY/が真になることは、該データが成功裡に転
送されたことをマスクに知らせる。単一ワードアクセス
の場合、それはサイクルが終端であることを表す。Ra
aDY/は、ActiveCy c l a/後の1個
のBCLKが落とされる迄真のままである。それが読取
サイクルの場合、データは、ActivaCycle/
よりも1個のBCLK長く真のままである。書込サイク
ルの場合、データはAc t i v ecy c−1
e/と共に落とされる。BusRequest、Mem
orySpace、及びCy c l e T y p
aもA c t 1vecycle/と共に落とされ
る。B u s R5questが偽となることは、バ
スアービタ180により次のBCLK″t”BusGr
antと落とさせ、そのサイクルを終了させる。Rea
DY/はBusGrantと共に落とされる。該サイク
ルがマルチワード型であると、ReaDY/が真になる
ことは、その後も転送が行われることを表す、マルチプ
ルワードサイクルの最後の転送は。
送されたことをマスクに知らせる。単一ワードアクセス
の場合、それはサイクルが終端であることを表す。Ra
aDY/は、ActiveCy c l a/後の1個
のBCLKが落とされる迄真のままである。それが読取
サイクルの場合、データは、ActivaCycle/
よりも1個のBCLK長く真のままである。書込サイク
ルの場合、データはAc t i v ecy c−1
e/と共に落とされる。BusRequest、Mem
orySpace、及びCy c l e T y p
aもA c t 1vecycle/と共に落とされ
る。B u s R5questが偽となることは、バ
スアービタ180により次のBCLK″t”BusGr
antと落とさせ、そのサイクルを終了させる。Rea
DY/はBusGrantと共に落とされる。該サイク
ルがマルチワード型であると、ReaDY/が真になる
ことは、その後も転送が行われることを表す、マルチプ
ルワードサイクルの最後の転送は。
対応する単一ワードサイクルのものと同一である様に見
える。
える。
読取/修正/書込サイクルは1両者間にバス調整が発生
することの無い、読取及び書込サイクルである。読取デ
ータはBCLK端部乃至はエツジと同時か又はその前に
除去されねばならず、該エツジにおいて次のActiv
eCyclθ/がアサートされる。
することの無い、読取及び書込サイクルである。読取デ
ータはBCLK端部乃至はエツジと同時か又はその前に
除去されねばならず、該エツジにおいて次のActiv
eCyclθ/がアサートされる。
BusError即ちBERR信号が与えられて、何等
かのバス障害状態の後にシステムバス141が秩序正し
くクリアされることを可能とする。
かのバス障害状態の後にシステムバス141が秩序正し
くクリアされることを可能とする。
最長サイクルの長さは既知(例えば、16ワード読取又
は書込)であるから、充分な保護を与える為にはBus
Grantをタイムアウトさせることが必要とされるに
過ぎない、マスタの場合に、装置がBusERRorを
検知すると、それは直ぐにそのサイクルをアボートし、
BusRequestを落とし、且つバスをオフさせる
。BusERRorが落とされると、BugGrant
は現在のマスクに落とされる。バス駆動論理はこの状態
を処理するべく設計されている。バスタイムアウトを起
した最後のサイクルの開始時に提供されたアドレスはバ
スコントローラ内のレジスタ内にストアされる。
は書込)であるから、充分な保護を与える為にはBus
Grantをタイムアウトさせることが必要とされるに
過ぎない、マスタの場合に、装置がBusERRorを
検知すると、それは直ぐにそのサイクルをアボートし、
BusRequestを落とし、且つバスをオフさせる
。BusERRorが落とされると、BugGrant
は現在のマスクに落とされる。バス駆動論理はこの状態
を処理するべく設計されている。バスタイムアウトを起
した最後のサイクルの開始時に提供されたアドレスはバ
スコントローラ内のレジスタ内にストアされる。
Parity ERRor/が真になるとBERRも
発生される。タイムアウトとPr1tyERRo rの
両方が同時に真になると、タイムアウトが手順を踏む。
発生される。タイムアウトとPr1tyERRo rの
両方が同時に真になると、タイムアウトが手順を踏む。
図示した如く、メインメモリ140は、読取−書込メモ
リアレイエラー訂正及びドライバーレシーバ及びバスイ
ンターフェース回路を有しており。
リアレイエラー訂正及びドライバーレシーバ及びバスイ
ンターフェース回路を有しており。
それはメインメモリ140とシステムバス141との間
での転送用のバス接続及びインターフェースプロトコル
取り扱いを与える。メインメモリ140メモリエラー訂
正ユニツトは、メインメモリ140の記憶部から読取が
行われる場合に、エラー検知及び訂正を与える。エラー
訂正ユニットはメインメモリ140のメモリアレイ記憶
部へ接続され、且つシステムバス141を介してデータ
キャッシュMMU 130及び命令キャッシュMMU1
20へ接続される。メモリ140から読み取られるデー
タはエラー検知訂正ユニットによってエラー訂正の為に
処理される。
での転送用のバス接続及びインターフェースプロトコル
取り扱いを与える。メインメモリ140メモリエラー訂
正ユニツトは、メインメモリ140の記憶部から読取が
行われる場合に、エラー検知及び訂正を与える。エラー
訂正ユニットはメインメモリ140のメモリアレイ記憶
部へ接続され、且つシステムバス141を介してデータ
キャッシュMMU 130及び命令キャッシュMMU1
20へ接続される。メモリ140から読み取られるデー
タはエラー検知訂正ユニットによってエラー訂正の為に
処理される。
プロセサ110は、上述した態様で、転送されるべきデ
ータの開始位置を表す様に命令キャッシュMMU 12
0及びデータキャッシュMMU130へアドレスを与え
る。好適実施例において、このアドレス情報は仮想又は
論理アドレス形態で与えられ、それは連合マツピングを
介して、メインメモリ140内の実際の即ち物理的アド
レスに対応する。メインメモリ140は、システムバス
140を介して接続されて物理的アドレスに応答して、
メインメモリ140内のアドレス可能な位置からのデー
タの読取及び書込を与える。
ータの開始位置を表す様に命令キャッシュMMU 12
0及びデータキャッシュMMU130へアドレスを与え
る。好適実施例において、このアドレス情報は仮想又は
論理アドレス形態で与えられ、それは連合マツピングを
介して、メインメモリ140内の実際の即ち物理的アド
レスに対応する。メインメモリ140は、システムバス
140を介して接続されて物理的アドレスに応答して、
メインメモリ140内のアドレス可能な位置からのデー
タの読取及び書込を与える。
命令キャッシュMMU120及びデータキャッシュMM
U 130の非常に高速のメモリは、それらの夫々のア
ドレス可能な非常に高速のメモリからのマツプした連合
的態様でデジタル情報の選択的記憶及び出力を与える。
U 130の非常に高速のメモリは、それらの夫々のア
ドレス可能な非常に高速のメモリからのマツプした連合
的態様でデジタル情報の選択的記憶及び出力を与える。
命令キャッシュMMU120は、主メインメモリ140
への選択的アクセスを管理する為のメモリ管理手段を有
しており、且つ仮想から物理的アドレスへのマツピング
及び変換を実行し、必要な場合に、システムバス141
へそこからメインメモリ140への物理的アドレス出力
を与える。データキャッシュMMU130は又、プロセ
サ110からの出力としての仮想アドレスに応答する非
常に高速のマツブトアドレス可能メモリを持っている。
への選択的アクセスを管理する為のメモリ管理手段を有
しており、且つ仮想から物理的アドレスへのマツピング
及び変換を実行し、必要な場合に、システムバス141
へそこからメインメモリ140への物理的アドレス出力
を与える。データキャッシュMMU130は又、プロセ
サ110からの出力としての仮想アドレスに応答する非
常に高速のマツブトアドレス可能メモリを持っている。
命令キャッシュMMUと同様な態様において、データキ
ャッシュMMU130は、メインメモリ140−への選
択的アクセスを管理する為のメモリ管理手段を持ってお
り。
ャッシュMMU130は、メインメモリ140−への選
択的アクセスを管理する為のメモリ管理手段を持ってお
り。
該メモリ管理手段は、仮想から物理的アドレスマツピン
グ及び変換を包含しており、必要な場合に。
グ及び変換を包含しており、必要な場合に。
物理的アドレス出力をシステムバス141へ且つそこか
らプロセサ110からの仮想アドレス出力に応答して主
メモリ140へ与える。システムバスト41は、メイン
メモリ140.命令キャッシュMMU 120、データ
キャッシュMMU130゜及びそれらに接続されており
それらの間でデジタル情報を通信するその他の要素に接
続されて高速通信を与える。
らプロセサ110からの仮想アドレス出力に応答して主
メモリ140へ与える。システムバスト41は、メイン
メモリ140.命令キャッシュMMU 120、データ
キャッシュMMU130゜及びそれらに接続されており
それらの間でデジタル情報を通信するその他の要素に接
続されて高速通信を与える。
CPUll0は、2つの非常に高速のキャッシュバス、
命令キャッシュ/プロセサバス121及びデータキャッ
シュ/プロセサバス131を介して、2つのキャッシュ
MMU 120及び130へ同時的にアクセスすること
が可能である。各キャッシュMMUは、キャッシュMM
UへのCPUアクセスに“ミス”があると、システムバ
ス141にアクセスする。キャッシュMMUは基本的に
CPUllojgfi時間とメインメモリ140アクセ
ス時間との間の速度差を除去している。
命令キャッシュ/プロセサバス121及びデータキャッ
シュ/プロセサバス131を介して、2つのキャッシュ
MMU 120及び130へ同時的にアクセスすること
が可能である。各キャッシュMMUは、キャッシュMM
UへのCPUアクセスに“ミス”があると、システムバ
ス141にアクセスする。キャッシュMMUは基本的に
CPUllojgfi時間とメインメモリ140アクセ
ス時間との間の速度差を除去している。
I10インターフェース処理ユニット(IOP)150
は、第1図に示した如く、1oアダプタ152、工0プ
ロセサユニット153、及び局所メモリMIO154を
有している。I10インターフェース152は、システ
ムバス141及び外部I / Oハス151をインター
フェースし、後者に対して外部I10装置が接続さ九て
いる。 I10アダプタ152の異なったバージミンを
構成することが可能であり、例えばディスクやテープ等
の二次的記憶装置とインターフェースさせたり、又カス
タムのバスのみならずVMEbusやMULTIbus
等の異なった標準I10バスとインターフェースさせる
ことも可能である。I10プロセサユニット153は既
存の標準のマイクロプロセサの任意の種類のものとする
ことが可能であり。
は、第1図に示した如く、1oアダプタ152、工0プ
ロセサユニット153、及び局所メモリMIO154を
有している。I10インターフェース152は、システ
ムバス141及び外部I / Oハス151をインター
フェースし、後者に対して外部I10装置が接続さ九て
いる。 I10アダプタ152の異なったバージミンを
構成することが可能であり、例えばディスクやテープ等
の二次的記憶装置とインターフェースさせたり、又カス
タムのバスのみならずVMEbusやMULTIbus
等の異なった標準I10バスとインターフェースさせる
ことも可能である。I10プロセサユニット153は既
存の標準のマイクロプロセサの任意の種類のものとする
ことが可能であり。
又はカスタムのマイクロプロセサ又はランダムロジック
とすることが可能である。ディスク制御プログラムを有
するIOプログラムはMIO154内に存在することが
可能である。
とすることが可能である。ディスク制御プログラムを有
するIOプログラムはMIO154内に存在することが
可能である。
システムバス141上のデータ転送モードはCTババス
介してCTコードによって定義される。
介してCTコードによって定義される。
好適実施例においては、メインメモリ140(即ち、M
p)へのデータキャッシュMMU 130のデータ転送
は、カッド語モード(即ち、1つのアドレスに4個の連
続するデータワードが続くもの)又は単一ワードモード
の何れかとすることが可能である。
p)へのデータキャッシュMMU 130のデータ転送
は、カッド語モード(即ち、1つのアドレスに4個の連
続するデータワードが続くもの)又は単一ワードモード
の何れかとすることが可能である。
I10読取/書込動作はIOプロセサl0PI50で開
始されるが、上述した単−及びカッドモードに加えて、
ブロックモードを宣言することが可能である。ブロック
モードは、システムバス141上で16ワード連続デー
タ転送がデータ転送速度を増加させることを可能とする
。このことは。
始されるが、上述した単−及びカッドモードに加えて、
ブロックモードを宣言することが可能である。ブロック
モードは、システムバス141上で16ワード連続デー
タ転送がデータ転送速度を増加させることを可能とする
。このことは。
通常、IO読取でページの1ライトスルー(全書込)′
を行う為にのみ使用される。IO書込で。
を行う為にのみ使用される。IO書込で。
これは、′ライトスルー′又は゛コピーバック′ページ
の何れかを宣言することが可能である。工0P150が
メインメモリ140からl0P150へのデータ転送を
開始すると、メインメモリ140がコピーバック方法に
応答する代りに、キャッシュはIOP要求に応答せねば
ならない場合がある。何故ならば、最も最近に修正され
たデータを持っているのはメインメモリ140ではなく
データキャッシュ130の場合があるからである。
の何れかを宣言することが可能である。工0P150が
メインメモリ140からl0P150へのデータ転送を
開始すると、メインメモリ140がコピーバック方法に
応答する代りに、キャッシュはIOP要求に応答せねば
ならない場合がある。何故ならば、最も最近に修正され
たデータを持っているのはメインメモリ140ではなく
データキャッシュ130の場合があるからである。
特別の制御信号がキャッシュ120,130へ、及びメ
インメモリ140(即ち、CBSY/及びRDY/信号
)へ供給される。
インメモリ140(即ち、CBSY/及びRDY/信号
)へ供給される。
読取−修正−書込動作の場合、単一読取動作には1つの
バス要求サイクル内において単一ワード書込動作が続く
。
バス要求サイクル内において単一ワード書込動作が続く
。
メインメモリ140はメモリ間バスに接続されている多
数基板のメモリを有することが可能である。メモリ間バ
スは、メインメモリアドレスバス及びメインメモリデー
タバスに分離される。上述した全てのデータ転送モード
がサポートされる。
数基板のメモリを有することが可能である。メモリ間バ
スは、メインメモリアドレスバス及びメインメモリデー
タバスに分離される。上述した全てのデータ転送モード
がサポートされる。
ブートROMは特別のアドレス空間内に位置されており
且つ直接的にシステムバス141へ接続させることが可
能である。
且つ直接的にシステムバス141へ接続させることが可
能である。
第1図を再度参照すると、プロ゛セサ110は又インタ
ラブドベクトル及びコントロールライン111を介して
インタラブドコントローラ170へ接続して示されてい
る0図示した如きインタラブドコントローラ170は、
インタラブドライン145を介してメインメモリ140
へ接続されており、且つインタラブドライン155を介
してl0P150へ接続されており、且つインタラブド
ライン165を介してアレイプロセサ170へ接続され
ている。インタラブドコントロ、−ラ170は、インタ
ラブドライン111を介してプロセサ110へのインタ
ラブドを合図する。
ラブドベクトル及びコントロールライン111を介して
インタラブドコントローラ170へ接続して示されてい
る0図示した如きインタラブドコントローラ170は、
インタラブドライン145を介してメインメモリ140
へ接続されており、且つインタラブドライン155を介
してl0P150へ接続されており、且つインタラブド
ライン165を介してアレイプロセサ170へ接続され
ている。インタラブドコントロ、−ラ170は、インタ
ラブドライン111を介してプロセサ110へのインタ
ラブドを合図する。
インタラブドコントローラ170はCPU110へ接続
されており、バスマスタ装置によって送出されるインタ
ラブド要求に応答する。
されており、バスマスタ装置によって送出されるインタ
ラブド要求に応答する。
CPUI≠別の独立的なインタラブドバス111を持っ
ており、それはマスク可能なインタラブドを制御し且つ
インタラブドコントローラ170へ接続する。各レベル
インタラブドはCPU内の工SW(即ち、インタラブド
ステータスワード)の対応するビットによってマスクさ
れることが可能である。全てのレベルはベクトル化され
たインタラブドで且つ共通要求及びアクノリッヂ/イネ
−プルラインを持っている。
ており、それはマスク可能なインタラブドを制御し且つ
インタラブドコントローラ170へ接続する。各レベル
インタラブドはCPU内の工SW(即ち、インタラブド
ステータスワード)の対応するビットによってマスクさ
れることが可能である。全てのレベルはベクトル化され
たインタラブドで且つ共通要求及びアクノリッヂ/イネ
−プルラインを持っている。
パスインタラブドコントローラ170は、幾つかの高レ
ベルインタラブドソースをイネーブルさせてCPUI
10をインタラブド即ち中断させる。
ベルインタラブドソースをイネーブルさせてCPUI
10をインタラブド即ち中断させる。
1実施例において、インタラブドコントローラ170は
並列の固定優先型のものである。そのプロトコールはシ
ステムバス141のものと同様であり、且つ同じライン
上でグループ及びレベルをマルチプレクス動作する。
並列の固定優先型のものである。そのプロトコールはシ
ステムバス141のものと同様であり、且つ同じライン
上でグループ及びレベルをマルチプレクス動作する。
インタラブドコントローラ170は以下の信号によって
各潜在的インタラブド用装置へ接続される。
各潜在的インタラブド用装置へ接続される。
IREQX/ : 装置XからのIntarrup
tRE!Questこの信号は、サービス用の要求とし
て、インタラブドする装置によってインタラブドコント
ローラ170へ送出される。
tRE!Questこの信号は、サービス用の要求とし
て、インタラブドする装置によってインタラブドコント
ローラ170へ送出される。
IENX/ : 装置xへのInterruptE
Nableこれは、インタラブドする装置へインタラブ
ドコントローラ170によって送出され、それがインタ
ラブドサービスが許可されたことを表す。
Nableこれは、インタラブドする装置へインタラブ
ドコントローラ170によって送出され、それがインタ
ラブドサービスが許可されたことを表す。
I B U S < 4 : O> : Inte
rruptBUSこれらの5本のラインはインタラブド
コントローラ170へのインタラブドグループ及びレベ
ルを担持する。これは3状態バスである。
rruptBUSこれらの5本のラインはインタラブド
コントローラ170へのインタラブドグループ及びレベ
ルを担持する。これは3状態バスである。
I RE J / : InterruptREJ
ectこの信号はインタラブドする装置に、CPU11
0がこのグループ内のインタラブドを受け付けることを
拒絶したことを示す。これは全てのインタラブド装置へ
接続される。
ectこの信号はインタラブドする装置に、CPU11
0がこのグループ内のインタラブドを受け付けることを
拒絶したことを示す。これは全てのインタラブド装置へ
接続される。
インタラブドコントローラ170は、以下の如く、信号
ライン111によって1個又は複数個のCPUI 10
へ接続される。
ライン111によって1個又は複数個のCPUI 10
へ接続される。
I R/ : CPU Intarruput R
aquestIR/は未処理のベクトル化インタラブド
の存在を表しており、そのレベルはVCT <2 :
O>ライン上で得られる。
aquestIR/は未処理のベクトル化インタラブド
の存在を表しており、そのレベルはVCT <2 :
O>ライン上で得られる。
I A K/ : CPU Interrupt
AcKnowledgaCPUIIOはIAK/を送り
出して、インタラブドが受け付けられたことを表し、且
つ同時に、VCT <4 : O>ラインを介してベク
トル番号を読み取る。IAK/及びIR/はハンドシェ
ーク態様を構成する。
AcKnowledgaCPUIIOはIAK/を送り
出して、インタラブドが受け付けられたことを表し、且
つ同時に、VCT <4 : O>ラインを介してベク
トル番号を読み取る。IAK/及びIR/はハンドシェ
ーク態様を構成する。
M K : MasKad response現在
のインタラブドをマスクしている各CPUは、IAK/
信号の代りにMK倍信号返送する。
のインタラブドをマスクしている各CPUは、IAK/
信号の代りにMK倍信号返送する。
この場合は、インタラブドはCPU内にはラッチされな
い。MKはインタラブドコントローラによってマスクし
たインタラブドを解放し且つ新たに到着したより高レベ
ルのインタラブドに譲る為に使用することが可能である
。
い。MKはインタラブドコントローラによってマスクし
たインタラブドを解放し且つ新たに到着したより高レベ
ルのインタラブドに譲る為に使用することが可能である
。
VCT (5: O> : レベル及びベクトルコ
ードVCTラインはマルチプレクス動作され、且つレベ
ル番号及びベクトル番号を与える。IR/がアクティブ
であると、レベル番号0−7はVCT(2: O)ライ
ンに与えられる。IAK/がcpUによって活性化され
ると、VCT <4 : O>ラインは、そのレベルの
32個のインタラブドの1つを識別するベクトル番号を
持っている。VCTラインはインタラブドコントローラ
170からの出力を1個又は複数個のCPUll0へ接
続する。
ードVCTラインはマルチプレクス動作され、且つレベ
ル番号及びベクトル番号を与える。IR/がアクティブ
であると、レベル番号0−7はVCT(2: O)ライ
ンに与えられる。IAK/がcpUによって活性化され
ると、VCT <4 : O>ラインは、そのレベルの
32個のインタラブドの1つを識別するベクトル番号を
持っている。VCTラインはインタラブドコントローラ
170からの出力を1個又は複数個のCPUll0へ接
続する。
CPUI 10はIAK/を活性化させ、且つよりUS
(4: O>ラインを介して、各レベルにおいて32
個のインタラブドの1つを識別するベクトル番号を入力
する。マルチプロセサ環境において、これらのレベルは
、システムに柔軟性のあるインタラブド手法を持たせる
為に使用することが可能である。マルチプロセサシステ
ムにおけるインタラブド方法の例として、全てのIRE
Qx/ラインが活性化されると、ISW内のCPUイネ
ーブルビットがCPUがそのインタラブドを受け付ける
べきであるか否かを区別する。従って、インタラプトの
各レベルは32個のインタラブドを持っており、且つそ
のレベルは、5SW(即ち。
(4: O>ラインを介して、各レベルにおいて32
個のインタラブドの1つを識別するベクトル番号を入力
する。マルチプロセサ環境において、これらのレベルは
、システムに柔軟性のあるインタラブド手法を持たせる
為に使用することが可能である。マルチプロセサシステ
ムにおけるインタラブド方法の例として、全てのIRE
Qx/ラインが活性化されると、ISW内のCPUイネ
ーブルビットがCPUがそのインタラブドを受け付ける
べきであるか否かを区別する。従って、インタラプトの
各レベルは32個のインタラブドを持っており、且つそ
のレベルは、5SW(即ち。
システムステータスワード)内のイネーブルビットを制
御することによってCPUの何れか1つへ動的に割り当
てることが可能である。
御することによってCPUの何れか1つへ動的に割り当
てることが可能である。
現在のインタラブドをマスクしているCPUによって、
IAK/の代りに、MK(マスクした)信号が活性化さ
れる。そのインタラブドはこれらのCPUによって無視
される(即ち、ラッチされない)、これらの信号は、イ
ンタラブドコントローラ170がマスクしたインタラブ
ドを予約し且つそれが発生した場合により高いインタラ
ブドを処理させることを可能とする。
IAK/の代りに、MK(マスクした)信号が活性化さ
れる。そのインタラブドはこれらのCPUによって無視
される(即ち、ラッチされない)、これらの信号は、イ
ンタラブドコントローラ170がマスクしたインタラブ
ドを予約し且つそれが発生した場合により高いインタラ
ブドを処理させることを可能とする。
第1図に関して上述した如き要素を越えて、本アーキテ
クチャ−に付加的なシステム要素を付加させ、且つシス
テムバス141を介して、本システムに接続させること
が可能である。
クチャ−に付加的なシステム要素を付加させ、且つシス
テムバス141を介して、本システムに接続させること
が可能である。
バスアービタ180はシステムバス141へ接続されて
おり且つシステムバス141へ接続されているシステム
要素1例えば命令キャッシュMMU120及びデータキ
ャッシュMMU 130へ接続されており、システムバ
ス141へ接続されている複数個の潜在的パマスタ″要
素間のチャンネルアクセス競合を選択的に解決する。こ
れは、システムバス141上の通信の一体性を維持し且
つその上でのデータ転送の衝突を回避する。バスアービ
タ170はバス要求及びバス許可入力及び出力を持って
おり、これらは夫々命令キャッシュMMU120.デー
タキャッシュMMU130.及びl0P150へ接続さ
れる0例えば、命令キャッシュMMU 120が、メイ
ンメモリ140と相対的にl0P150へ又はそこから
データ転送をIPO150が要求するのと同時的に、メ
インメモリ140からの命令データの転送を要求する場
合、バスアービタ180は競合を解決する責務があり、
従って同時的状みの結果として競合及び衝突を発生させ
る代りに、2つの事象が順番に起る様にさせる。
おり且つシステムバス141へ接続されているシステム
要素1例えば命令キャッシュMMU120及びデータキ
ャッシュMMU 130へ接続されており、システムバ
ス141へ接続されている複数個の潜在的パマスタ″要
素間のチャンネルアクセス競合を選択的に解決する。こ
れは、システムバス141上の通信の一体性を維持し且
つその上でのデータ転送の衝突を回避する。バスアービ
タ170はバス要求及びバス許可入力及び出力を持って
おり、これらは夫々命令キャッシュMMU120.デー
タキャッシュMMU130.及びl0P150へ接続さ
れる0例えば、命令キャッシュMMU 120が、メイ
ンメモリ140と相対的にl0P150へ又はそこから
データ転送をIPO150が要求するのと同時的に、メ
インメモリ140からの命令データの転送を要求する場
合、バスアービタ180は競合を解決する責務があり、
従って同時的状みの結果として競合及び衝突を発生させ
る代りに、2つの事象が順番に起る様にさせる。
バスマスタ間のバス調整はバスアービタ180によって
行われる。各バスマスタは、それがシステムバス141
にアクセスせんと意図する場合に。
行われる。各バスマスタは、それがシステムバス141
にアクセスせんと意図する場合に。
そのバス要求BRラインを活性化させる。バスアービタ
180は、その時に常に最高の優先度を持っている新た
なマスタヘバス許可(B G)信号を返送する。
180は、その時に常に最高の優先度を持っている新た
なマスタヘバス許可(B G)信号を返送する。
アクティブなりR及びBG倍信号持っているバスマスタ
は、データ転送が完了する迄、そのBR信号゛をアクテ
ィブに維持することによってバスの権利を維持すること
が可能である。他のマスタは。
は、データ転送が完了する迄、そのBR信号゛をアクテ
ィブに維持することによってバスの権利を維持すること
が可能である。他のマスタは。
その夫々のBG倍信号次に活性化される迄、それらのB
R倍信号アクティブに維持する。
R倍信号アクティブに維持する。
システムバス141は共用資源であるが、1つのユニッ
トのみが任意の時間にそのバスを使用することが可能で
あるに過ぎない。各々が独立的にシステムバス141ヘ
アクセスすべく試みることの可能なシステムバス141
へ接続されている多数ノ潜在的な″バスマスタ″が存在
するので、バスアービタ180はシステムバス−141
へ接続されるべき必要な要素である。
トのみが任意の時間にそのバスを使用することが可能で
あるに過ぎない。各々が独立的にシステムバス141ヘ
アクセスすべく試みることの可能なシステムバス141
へ接続されている多数ノ潜在的な″バスマスタ″が存在
するので、バスアービタ180はシステムバス−141
へ接続されるべき必要な要素である。
通常、2つの優先性調整技術があり、それらは固定優先
(fixad priority)と、回転又は計画優
先(rotating or 5chadulad p
riority)とである。信号処理方法にも2種類あ
り、即ち直列(即ち、デージ−チェーン)と並列とがあ
る。固定優先システムとして構成された場合、直列方法
は、並列方法よりもより少ない回路を必要とするが、処
理速度が比較的遅い、直列方法と回転優先との組合せは
、高性能バスアービタ180によって与えることが可能
である。並列方法は、固定又は回転優先の何れかと共に
実現することが可能であり、直列又は混合方法よりも高
速であるが、一層多くの回路を必要とする8本発明のバ
スアービタ180はこれらの方法の何れかを使用するこ
とが可能である。
(fixad priority)と、回転又は計画優
先(rotating or 5chadulad p
riority)とである。信号処理方法にも2種類あ
り、即ち直列(即ち、デージ−チェーン)と並列とがあ
る。固定優先システムとして構成された場合、直列方法
は、並列方法よりもより少ない回路を必要とするが、処
理速度が比較的遅い、直列方法と回転優先との組合せは
、高性能バスアービタ180によって与えることが可能
である。並列方法は、固定又は回転優先の何れかと共に
実現することが可能であり、直列又は混合方法よりも高
速であるが、一層多くの回路を必要とする8本発明のバ
スアービタ180はこれらの方法の何れかを使用するこ
とが可能である。
別の実施例において、回転優先方法は、全てのバスマス
タにシステムバスを使用するのに等しい機会を与えるこ
とが可能である。然し乍ら、工OP又は1つの特定のC
PUが一層高い優先度を持つべきである場合、固定優先
が通常望ましく且つより簡単である。
タにシステムバスを使用するのに等しい機会を与えるこ
とが可能である。然し乍ら、工OP又は1つの特定のC
PUが一層高い優先度を持つべきである場合、固定優先
が通常望ましく且つより簡単である。
バスアービタ180は又、システムバス141上の何れ
かのユニットによる長いバス専有をチェックする機能を
与えることが可能である。このことは、バス許可信号B
Gのアクティブ時間を測定することによって行うことが
可能である。BG倍信号期間が長過ぎる場合には、バス
エラー信号BERRを現在システムバス141を専有し
ているバスマスタへ発生させることが可能である。BE
RRは又、Parity ERRor/が発生する時に
も発生される。
かのユニットによる長いバス専有をチェックする機能を
与えることが可能である。このことは、バス許可信号B
Gのアクティブ時間を測定することによって行うことが
可能である。BG倍信号期間が長過ぎる場合には、バス
エラー信号BERRを現在システムバス141を専有し
ているバスマスタへ発生させることが可能である。BE
RRは又、Parity ERRor/が発生する時に
も発生される。
第1図に更に示した如く、アレイプロセサ188をシス
テムバス141へ接続させることが可能である。アレイ
プロセサの能力と適合性のある複雑な計算問題をダウン
ロードさせて、ダウンロードしたデータの並列処理を与
えることが可能であり、その結果得られる解答はシステ
ムバス141を介して送り戻される(例えば、メインメ
モリ140へ、又はデータキャッシュMMU 130へ
、及びそこからCPUへ戻されそこで機能が行われる)
。
テムバス141へ接続させることが可能である。アレイ
プロセサの能力と適合性のある複雑な計算問題をダウン
ロードさせて、ダウンロードしたデータの並列処理を与
えることが可能であり、その結果得られる解答はシステ
ムバス141を介して送り戻される(例えば、メインメ
モリ140へ、又はデータキャッシュMMU 130へ
、及びそこからCPUへ戻されそこで機能が行われる)
。
上述した如く、I10処理ユニット(IOP)150は
システムバス141へ接続し且つ二次記憶ディスク又は
テープユニットの如きI10バス151へ接続する手段
を持っている。工○P150は、メインメモリ140へ
及びそこからの、及びl0P150に接続されている二
次記憶装置へ及びそこからのデータの直接転送を、与え
ることが可能であり、且つ命令キャッシュMMU 12
0及びデータキャッシュMMU 130とは独立的に前
記転送を実行することが可能である。l0P150は又
“バスマスタ”としてバスアービタ180へ接続して、
システムバス141へのアクセスを介してメインメモリ
140へのアクセスに対する競合を解決することが可能
である。このことは柔軟性を与えている8例えば、シス
テムバス141を介してメインメモリ140からl0P
150へ及びそこから二次記憶装置へ転送されるデータ
は制御されて16通りのインターリーブを与えることが
可能であり、一方キャッシュ120又は130とメイン
メモリ140との間の転送を制御して4通りのインター
リーブを与えることが可能である。このことが可能であ
るのは、キャッシュ120又は130とメインメモリ1
40との間の転送の制御はl0P150とメインメモリ
140との間の転送の制御とは別だからである。
システムバス141へ接続し且つ二次記憶ディスク又は
テープユニットの如きI10バス151へ接続する手段
を持っている。工○P150は、メインメモリ140へ
及びそこからの、及びl0P150に接続されている二
次記憶装置へ及びそこからのデータの直接転送を、与え
ることが可能であり、且つ命令キャッシュMMU 12
0及びデータキャッシュMMU 130とは独立的に前
記転送を実行することが可能である。l0P150は又
“バスマスタ”としてバスアービタ180へ接続して、
システムバス141へのアクセスを介してメインメモリ
140へのアクセスに対する競合を解決することが可能
である。このことは柔軟性を与えている8例えば、シス
テムバス141を介してメインメモリ140からl0P
150へ及びそこから二次記憶装置へ転送されるデータ
は制御されて16通りのインターリーブを与えることが
可能であり、一方キャッシュ120又は130とメイン
メモリ140との間の転送を制御して4通りのインター
リーブを与えることが可能である。このことが可能であ
るのは、キャッシュ120又は130とメインメモリ1
40との間の転送の制御はl0P150とメインメモリ
140との間の転送の制御とは別だからである。
l0P150は交互的に又は付加的にプロトコル変換を
与えることが可能である。この実施例においては、プロ
トコルl0P150はシステムバス141へ接続され、
且つ更に外部I10バス151へ接続される。好適には
、l0P150もバスアービタ180へ接続される。プ
ロトコル変換l0P150は、システムバス141へ接
続されている全てのシステム要素間でのインターフェー
スアクセス及びデジタル情報のプロトコル変換を管理す
る。従って、例えば、システムバス141アーキテクチ
ャ−及び転送プロトコルは、非適合性システム及びバス
構造及びプロトコール、例えばマルチパス(Multi
bus)システム゛へのインターフェース等、とインタ
ーフェースすることを可能とする。
与えることが可能である。この実施例においては、プロ
トコルl0P150はシステムバス141へ接続され、
且つ更に外部I10バス151へ接続される。好適には
、l0P150もバスアービタ180へ接続される。プ
ロトコル変換l0P150は、システムバス141へ接
続されている全てのシステム要素間でのインターフェー
スアクセス及びデジタル情報のプロトコル変換を管理す
る。従って、例えば、システムバス141アーキテクチ
ャ−及び転送プロトコルは、非適合性システム及びバス
構造及びプロトコール、例えばマルチパス(Multi
bus)システム゛へのインターフェース等、とインタ
ーフェースすることを可能とする。
第7A図乃至第7C図は、夫々、仮想メモリ。
実メモリ、及び仮想アドレス概念を示している。
第7A図を参照すると、CPUll0によって見られる
仮想メモリを示しである。この仮想メモリは、23″ワ
ード32ビツトメモリアレイでOからFFF FFF
FF (ヘキサデシマル)へ二進アドレス可能なも
のを有するものとして示しである。
仮想メモリを示しである。この仮想メモリは、23″ワ
ード32ビツトメモリアレイでOからFFF FFF
FF (ヘキサデシマル)へ二進アドレス可能なも
のを有するものとして示しである。
この仮想メモリは、1,024 (21o)個のセグメ
ントを有しており、各セグメントが1,024(即ち、
210)個のページを持っており、各ページが4,09
6 (即ち、212)個のワード又はバイトを洩ってい
るものとして示しである。この仮想メモリアドレス空間
は使用可能な実際の実メモリ空間とは独立している0例
えば、実メモリ(即ち、メインメモリ)は16メガバイ
ト、即ち212ページを有することが可能である。
ントを有しており、各セグメントが1,024(即ち、
210)個のページを持っており、各ページが4,09
6 (即ち、212)個のワード又はバイトを洩ってい
るものとして示しである。この仮想メモリアドレス空間
は使用可能な実際の実メモリ空間とは独立している0例
えば、実メモリ(即ち、メインメモリ)は16メガバイ
ト、即ち212ページを有することが可能である。
第7B図に示した如く、実メモリ空間はOからFFF
FFF (ヘキサデシマル)の実アドレスRAによっ
て表すことが可能である。本発明のキャッシュメモリ管
理ユニットは、必要とされる如き、非常に高速の仮想か
ら実メモリ空間アドレス変換を与える。該キャッシュメ
モリ管理ユニットは、キャッシュメモリの内容と仮想か
ら実メモリ空間アドレスへの成る予めストアした情報と
の相関に関してのマツピングを与える。
FFF (ヘキサデシマル)の実アドレスRAによっ
て表すことが可能である。本発明のキャッシュメモリ管
理ユニットは、必要とされる如き、非常に高速の仮想か
ら実メモリ空間アドレス変換を与える。該キャッシュメ
モリ管理ユニットは、キャッシュメモリの内容と仮想か
ら実メモリ空間アドレスへの成る予めストアした情報と
の相関に関してのマツピングを与える。
第7C図を参照すると、32ビツト仮想アドレスVAは
10ビツトセグメントアドレス、ビット31乃至22(
即ち、VA<31:22>)、10ビツトページアドレ
ス、ビット21乃至12(即ち、VA(21:12>)
、及び12ビット変位アドレス、ビット11乃至0(即
ち、VA(11:O>)、を有している。好適実施例に
おいては、キャッシュメモリ管理ユニットはセット連合
マツピングを与え、仮想アドレスの変位アドレスビット
O乃至11は実アドレスのビットO乃至11に対応する
。これは成る種の利点を与えており且つ変換及びマツピ
ングプロセスを高速化させる。
10ビツトセグメントアドレス、ビット31乃至22(
即ち、VA<31:22>)、10ビツトページアドレ
ス、ビット21乃至12(即ち、VA(21:12>)
、及び12ビット変位アドレス、ビット11乃至0(即
ち、VA(11:O>)、を有している。好適実施例に
おいては、キャッシュメモリ管理ユニットはセット連合
マツピングを与え、仮想アドレスの変位アドレスビット
O乃至11は実アドレスのビットO乃至11に対応する
。これは成る種の利点を与えており且つ変換及びマツピ
ングプロセスを高速化させる。
第8図を参照すると、キャッシュメモリ管理ユニットを
ブロック図で示しである。好適実施例において、単一キ
ャッシュメモリ管理ユニットアーキテクチャ−を、シス
テム構築又は初期値化の時点で製造又はストラッピング
又は初期値化手順の時にプログラムによって選択されて
、命令又はデータキャッシュの為に使用することが可能
である。
ブロック図で示しである。好適実施例において、単一キ
ャッシュメモリ管理ユニットアーキテクチャ−を、シス
テム構築又は初期値化の時点で製造又はストラッピング
又は初期値化手順の時にプログラムによって選択されて
、命令又はデータキャッシュの為に使用することが可能
である。
このキャッシュメモリ管理ユニットはプロセサキャッシ
ュバス121又は131へ接続するCPUインターフェ
ースを持っており、且つシステムバス141へ接続する
システムバスインターフェースを持っている。該CPU
バスインターフェースは、アドレス入力レジスタ210
、キャッシュ出力レジスタ230.及びキャッシュ入力
レジスタ240を有している。該システムバスインター
フェースは、システムバス入力レジスタ260及びシス
テムバス出力レジスタ250を有している。
ュバス121又は131へ接続するCPUインターフェ
ースを持っており、且つシステムバス141へ接続する
システムバスインターフェースを持っている。該CPU
バスインターフェースは、アドレス入力レジスタ210
、キャッシュ出力レジスタ230.及びキャッシュ入力
レジスタ240を有している。該システムバスインター
フェースは、システムバス入力レジスタ260及びシス
テムバス出力レジスタ250を有している。
アドレス入力レジスタ210は仮想アドレスをバス21
1を介してキャッシュメモリシステム220、変換論理
ブロック(即ち、TLB)270、及び直接アドレス変
換論理(即ち、DAT)ユニット280へ接続させる。
1を介してキャッシュメモリシステム220、変換論理
ブロック(即ち、TLB)270、及び直接アドレス変
換論理(即ち、DAT)ユニット280へ接続させる。
DAT280及びその動作は後に第12図を参照して詳
細に説明する。
細に説明する。
キャッシュメモリシステム220からのデータ出力はバ
ス231を介してキャッシュ出力レジスタ230へ接続
される。該キャッシュメモリシステムは、バス261を
介して、システム入力レジスタ260から実アドレス入
力を受け取り、且つ付加的にTLB270から実アドレ
ス入力を受け取る。キャッシュメモリシステム220へ
のデータ入力はキャッシュデータバス(即ち、DT)2
41を介して行われ、それは、キャッシュ入力レジスタ
240、システムバス入力レジスタ260、システムバ
ス出力レジスタ250、キャッシュ出力レジスタ230
、変換論理ブロック270、及びDAT 280の各々
へ接続して、実アドレス及びデータ通過能力を与えてい
る。TLB270及びDAT280は双方向的にDTバ
バス41へ接続されており、DTババス41とTLB2
70とDAT 280との間で実アドレス゛及びアドレ
ス変換データをカップリング即ち結合させている。該シ
ステムバスインターフェースは、DTババス41を介し
てキャッシュメモリシステム220とのみならず、DA
T280及びTLB270と通信することも可能である
。
ス231を介してキャッシュ出力レジスタ230へ接続
される。該キャッシュメモリシステムは、バス261を
介して、システム入力レジスタ260から実アドレス入
力を受け取り、且つ付加的にTLB270から実アドレ
ス入力を受け取る。キャッシュメモリシステム220へ
のデータ入力はキャッシュデータバス(即ち、DT)2
41を介して行われ、それは、キャッシュ入力レジスタ
240、システムバス入力レジスタ260、システムバ
ス出力レジスタ250、キャッシュ出力レジスタ230
、変換論理ブロック270、及びDAT 280の各々
へ接続して、実アドレス及びデータ通過能力を与えてい
る。TLB270及びDAT280は双方向的にDTバ
バス41へ接続されており、DTババス41とTLB2
70とDAT 280との間で実アドレス゛及びアドレ
ス変換データをカップリング即ち結合させている。該シ
ステムバスインターフェースは、DTババス41を介し
てキャッシュメモリシステム220とのみならず、DA
T280及びTLB270と通信することも可能である
。
第9図を参照すると、キャッシュMMUの詳細なブロッ
ク図が示されており、内部キャッシュMMU内部動作の
データの流れが示されている。
ク図が示されており、内部キャッシュMMU内部動作の
データの流れが示されている。
仮想アドレスはキャッシュ入カレ、ジスタ240を介し
て高速キャッシュバス121又は131から取られ、キ
ャッシュMMUのアキュムレータ/レジスタ310内に
ストアされる。次いで、このアドレスは3つの部分に分
割される。高次ビット(<31:>)はTLB350及
びDAT370へ送られる。ビット<10 : 4>は
キャツシュメモリ320バツフア選択論理へ送られて、
その中のラインが選択される。ビット<3 : 2)は
マルチプレクサ341へ送られ、それはカッド語ライン
レジスタ333及び335の4個の出力ワードの内の1
つを選択する。ビット<O: 1>は後述する如くスト
アバイト/ストア半ワード動作上でのみ使用される。
て高速キャッシュバス121又は131から取られ、キ
ャッシュMMUのアキュムレータ/レジスタ310内に
ストアされる。次いで、このアドレスは3つの部分に分
割される。高次ビット(<31:>)はTLB350及
びDAT370へ送られる。ビット<10 : 4>は
キャツシュメモリ320バツフア選択論理へ送られて、
その中のラインが選択される。ビット<3 : 2)は
マルチプレクサ341へ送られ、それはカッド語ライン
レジスタ333及び335の4個の出力ワードの内の1
つを選択する。ビット<O: 1>は後述する如くスト
アバイト/ストア半ワード動作上でのみ使用される。
TLB350は仮想ページアドレスの下位6ビツト<1
7:12)を使用して、2方向セット連合アレイ352
及び354をアクセスする。該アレイは、その出力とし
て、提起された仮想アドレスに対応するページの実アド
レスを持っている。
7:12)を使用して、2方向セット連合アレイ352
及び354をアクセスする。該アレイは、その出力とし
て、提起された仮想アドレスに対応するページの実アド
レスを持っている。
ビットく11〉は変換無しで通過される。ページ寸法は
4にであるから、ビットく11〉はページ内のバイトで
ある明細fの一部である6従って、マツチ即ち整合が判
別されると、実アドレスはゲート出力されて比較器33
2及び334内に入れられ、キャッシュ実アドレスタグ
出力322及び326と比較する。
4にであるから、ビットく11〉はページ内のバイトで
ある明細fの一部である6従って、マツチ即ち整合が判
別されると、実アドレスはゲート出力されて比較器33
2及び334内に入れられ、キャッシュ実アドレスタグ
出力322及び326と比較する。
TLB350内にマツチが発見されないと、DAT (
ダイナミックアドレス変換器)370が喚起される。ア
クティブプロセスに対してのセグメント及びページテー
ブルを使用することによって、DATは提起された仮想
アドレスを実アドレスへ変換する。その実アドレスはT
LB350内にa−ドされ、前のエントリと交換する。
ダイナミックアドレス変換器)370が喚起される。ア
クティブプロセスに対してのセグメント及びページテー
ブルを使用することによって、DATは提起された仮想
アドレスを実アドレスへ変換する。その実アドレスはT
LB350内にa−ドされ、前のエントリと交換する。
次いで、TLB350は実アドレスをキャッシュ320
へ送る。
へ送る。
キャッシュデータバッファ321及び322は、各々1
6バイトの2本のラインの128セツトとして組織され
ているセット連合メモリである。仮想アドレスのビット
<10 : 4>はキャッシュデータバッファ内のセッ
トを選択する。該セット内の2本のラインの各々に対す
るデータの16バイトはゲート出力されてキャッシュ論
理内の2個のカッド語レジスタ内に入れられる。
6バイトの2本のラインの128セツトとして組織され
ているセット連合メモリである。仮想アドレスのビット
<10 : 4>はキャッシュデータバッファ内のセッ
トを選択する。該セット内の2本のラインの各々に対す
るデータの16バイトはゲート出力されてキャッシュ論
理内の2個のカッド語レジスタ内に入れられる。
比較器332及び334は、実アドレス(TLBから)
をキャッシュデータバッファからの実アドレスタグ32
2及び326の両方と比較する。
をキャッシュデータバッファからの実アドレスタグ32
2及び326の両方と比較する。
マツチがある場合、マツチしたラインからの適宜のワー
ドはCOR230ヘゲート出力される。ビット<3 :
2)はマルチプレクサ341を介して適宜のワードを
選択する為に使用される。成るラインに対する有効ビッ
トがオフであると、マツチは存在しない。
ドはCOR230ヘゲート出力される。ビット<3 :
2)はマルチプレクサ341を介して適宜のワードを
選択する為に使用される。成るラインに対する有効ビッ
トがオフであると、マツチは存在しない。
バイト又は半ワードのロードの場合、キャッシュMMU
は全体のワードを与え、且つCPUI 10はバイト又
は半ワードを選択する。バイト又は半ワードのストア即
ち記憶の場合、一層複雑な動作シーケンスがある。C:
PUlloからのバイト又は半ワードは同時的にClR
240内に置かれ、キャッシュは、バイトがCOR23
0内にストアされているそのワードを読み取る。ClR
240及びCOR230の内容は合体され且つプロセサ
/キャッシュバス上に置かれる。
は全体のワードを与え、且つCPUI 10はバイト又
は半ワードを選択する。バイト又は半ワードのストア即
ち記憶の場合、一層複雑な動作シーケンスがある。C:
PUlloからのバイト又は半ワードは同時的にClR
240内に置かれ、キャッシュは、バイトがCOR23
0内にストアされているそのワードを読み取る。ClR
240及びCOR230の内容は合体され且つプロセサ
/キャッシュバス上に置かれる。
ミス(即ち、マツチ無し)の場合、実アドレスがシステ
ムバス141上をメインメモリ140へ送られ、且つそ
の返答として、16バイトラインが受け取られる。その
16バイトライン及びその関連するタグはキャッシュデ
ータバッファ321及び323内のラインと交換する。
ムバス141上をメインメモリ140へ送られ、且つそ
の返答として、16バイトラインが受け取られる。その
16バイトライン及びその関連するタグはキャッシュデ
ータバッファ321及び323内のラインと交換する。
要求された特定のワードが次いでキャッシュMMUから
読み取られる。
読み取られる。
アキュムレータレジスタ310はデータキャッシュMM
U内においてアドレスレージスタとして機能し、且つ命
令キャッシュMMU内においてプログラムカウンタとし
て機能する。命令キャッシュMMU又はデータキャッシ
ュMMUの何れかとしての機能は、本システムの初期値
化によるか又はハードワイヤードストラッピングにより
決定される。モノリシック集積回路キャッシュMMU実
施例の場合、この決定は最終パケージングの時に行うこ
とが可能である(例えば、レーザ又はイオン注入肯定に
より特定のピンを成る電圧又は接地ヘストラッピングす
ることにより)。別法として、本システムによるチップ
の初期値化の一部としてそれをプログラムさせることが
可能である(例えば、初期値化プロトコルに対する値を
チップ上にローディングすることにより)。レジスタア
キュムレータ310はCPUI 10からのアドレス出
力をストアする。前述した如く、このアドレスは32ビ
ツトの長さであり、ビット0からビット31である。
U内においてアドレスレージスタとして機能し、且つ命
令キャッシュMMU内においてプログラムカウンタとし
て機能する。命令キャッシュMMU又はデータキャッシ
ュMMUの何れかとしての機能は、本システムの初期値
化によるか又はハードワイヤードストラッピングにより
決定される。モノリシック集積回路キャッシュMMU実
施例の場合、この決定は最終パケージングの時に行うこ
とが可能である(例えば、レーザ又はイオン注入肯定に
より特定のピンを成る電圧又は接地ヘストラッピングす
ることにより)。別法として、本システムによるチップ
の初期値化の一部としてそれをプログラムさせることが
可能である(例えば、初期値化プロトコルに対する値を
チップ上にローディングすることにより)。レジスタア
キュムレータ310はCPUI 10からのアドレス出
力をストアする。前述した如く、このアドレスは32ビ
ツトの長さであり、ビット0からビット31である。
キャッシュメモリサブシステム320は2つの等しい半
分“Vi’、321”及び”X、323”に分割されて
いる。各半分は同一であり且つデータの複数個のワード
、即ちそのデータに対する実アドレス、及びフラッグビ
ット内の成る制御情報とをストアする。該キャッシュの
内部構造を第10図を参照して詳細に説明する。キャッ
シュW及びXの各半分は、アドレス出力及びそこからデ
ータ出力の複数ワードを、Wキャッシュ半分321から
のアドレス及びデータ出力及びXキャッシュ半分323
からのアドレス及びデータ出力326及び328に対し
てのライン322及び324を介して、与える。
分“Vi’、321”及び”X、323”に分割されて
いる。各半分は同一であり且つデータの複数個のワード
、即ちそのデータに対する実アドレス、及びフラッグビ
ット内の成る制御情報とをストアする。該キャッシュの
内部構造を第10図を参照して詳細に説明する。キャッ
シュW及びXの各半分は、アドレス出力及びそこからデ
ータ出力の複数ワードを、Wキャッシュ半分321から
のアドレス及びデータ出力及びXキャッシュ半分323
からのアドレス及びデータ出力326及び328に対し
てのライン322及び324を介して、与える。
好適実施例において、該データ出力は並列で同時的なカ
ッド語出力の形態である。これは、第1O図に示した如
く、キャッシュ半分内の各ラインに対してのキャッシュ
の各半分W及びX内の4個のワードの記憶構造と相補的
である。該キャッシュの2つの半分W及びXからの夫々
のカッド語出力は、カッド語ラインレジスタ333及び
335へ夫々接続されている。該ラインレジスタ内のワ
ード数は該キャッシュの各半分内のライン毎にストアさ
れるワード数に対応している。キャッシュW及びX32
1及び323の各半分からのアドレス出力は、夫々、比
較器332及び334の夫々の各々の1つの入力端へ接
続される。各比較器332及び334の他方の入力端は
、実アドレス、ビット31乃至11、を出力するマルチ
プレクサ347の出力端へ接続されている。実アドレス
、ビット31乃至11、は比較器332及び334の夫
々を介して、キャッシュ半分v321及びX323の各
々からのアドレスインターフェースの出力と比較され、
要求されたアドレスがキャッシュ320内に存在するア
ドレスと対応するか否かを決定する。アキュムレータ3
10はビット10乃至4の出力をキャッシュメモリサブ
システムへ供給し、その中の1つのラインを選択する。
ッド語出力の形態である。これは、第1O図に示した如
く、キャッシュ半分内の各ラインに対してのキャッシュ
の各半分W及びX内の4個のワードの記憶構造と相補的
である。該キャッシュの2つの半分W及びXからの夫々
のカッド語出力は、カッド語ラインレジスタ333及び
335へ夫々接続されている。該ラインレジスタ内のワ
ード数は該キャッシュの各半分内のライン毎にストアさ
れるワード数に対応している。キャッシュW及びX32
1及び323の各半分からのアドレス出力は、夫々、比
較器332及び334の夫々の各々の1つの入力端へ接
続される。各比較器332及び334の他方の入力端は
、実アドレス、ビット31乃至11、を出力するマルチ
プレクサ347の出力端へ接続されている。実アドレス
、ビット31乃至11、は比較器332及び334の夫
々を介して、キャッシュ半分v321及びX323の各
々からのアドレスインターフェースの出力と比較され、
要求されたアドレスがキャッシュ320内に存在するア
ドレスと対応するか否かを決定する。アキュムレータ3
10はビット10乃至4の出力をキャッシュメモリサブ
システムへ供給し、その中の1つのラインを選択する。
キャッシュメモリ320の各半分、W及びX、に対して
のライン内にストアされている実アドレスは、その夫々
のアドレス出力ライン322及び326を介して、夫々
の半分からその夫々の比較器332及び335へ出力さ
れる。ラインレジスタ333及び335の各々からの出
力はマルチプレクサ341へ供給される。アキュムレー
タレジスタ31Oは、ビット3及び2の出力を与えて、
カッド語記憶ラインレジスタ333及び335からの4
個の連続するワードの内の1つを選択する。
のライン内にストアされている実アドレスは、その夫々
のアドレス出力ライン322及び326を介して、夫々
の半分からその夫々の比較器332及び335へ出力さ
れる。ラインレジスタ333及び335の各々からの出
力はマルチプレクサ341へ供給される。アキュムレー
タレジスタ31Oは、ビット3及び2の出力を与えて、
カッド語記憶ラインレジスタ333及び335からの4
個の連続するワードの内の1つを選択する。
該ラインレジスタの各々からの選択されたワードはマル
チプレクサ341からマルチプレクサ343へ出力され
る。マルチプレクサ343から出力されるべきどのライ
ンレジスタ、即ち333又は335.の出力の選択は、
マツチ/マツチ無し出力又は比較器332及び334に
応答して、決定される。マルチプレクサ343は、第4
図のキャッシュ出力レジスタ230を介して、データ出
力ヒツト31乃至Oをプロセサキャッシュバスへ接続さ
せる。比較器332及び334から出力されるマツチ/
マツチ無し信号は、キャッシュW(321)又はX(3
23)の夫々の対応する半分に対して、キャツシュヒツ
ト乃至は当り(即ち、要求された実アドレスがキャッシ
ュ内に存在しており且つデータが有効であること)又は
キャッシュミス即ちはずれ(即ち、要求されたデータが
キャッシュ内に不存在)を表す。実アドレスビット31
乃至11はマルチプレクサ337から比較器332及び
334へ供給されるが、それは348で示した連結プロ
セスによって構成される。セット連合マツピングにおい
て実アドレスビット11に対応するレジスタアキュムレ
ータ310出力ピツト11は、TLB270のマルチプ
レクサ345からの実アドレス出力ビツト31乃至12
と共に、連結される。
チプレクサ341からマルチプレクサ343へ出力され
る。マルチプレクサ343から出力されるべきどのライ
ンレジスタ、即ち333又は335.の出力の選択は、
マツチ/マツチ無し出力又は比較器332及び334に
応答して、決定される。マルチプレクサ343は、第4
図のキャッシュ出力レジスタ230を介して、データ出
力ヒツト31乃至Oをプロセサキャッシュバスへ接続さ
せる。比較器332及び334から出力されるマツチ/
マツチ無し信号は、キャッシュW(321)又はX(3
23)の夫々の対応する半分に対して、キャツシュヒツ
ト乃至は当り(即ち、要求された実アドレスがキャッシ
ュ内に存在しており且つデータが有効であること)又は
キャッシュミス即ちはずれ(即ち、要求されたデータが
キャッシュ内に不存在)を表す。実アドレスビット31
乃至11はマルチプレクサ337から比較器332及び
334へ供給されるが、それは348で示した連結プロ
セスによって構成される。セット連合マツピングにおい
て実アドレスビット11に対応するレジスタアキュムレ
ータ310出力ピツト11は、TLB270のマルチプ
レクサ345からの実アドレス出力ビツト31乃至12
と共に、連結される。
第8図のTLB270は第9図に詳細に示してあり、そ
れは変換論理ブロック記憶メモリ350を有しており、
該メモリはW半分352と同一のX半分354とを有し
ており、その各々は記憶用の複数個のラインを持ってお
り、各ラインは仮想アドレスとフラッグステータスビッ
トと実アドレスとを持っている。各半分は、仮想アドレ
ス出力と実アドレス出力とを与える。TLB352のW
半分からの仮想アドレス出力は比較器362へ供給され
る。X半分354の仮想アドレス出力は比較器364へ
供給される。比較器362及び364への他方の入力は
共通にレジスタアキュムレータ310出力ビット31乃
至18へ供給される。
れは変換論理ブロック記憶メモリ350を有しており、
該メモリはW半分352と同一のX半分354とを有し
ており、その各々は記憶用の複数個のラインを持ってお
り、各ラインは仮想アドレスとフラッグステータスビッ
トと実アドレスとを持っている。各半分は、仮想アドレ
ス出力と実アドレス出力とを与える。TLB352のW
半分からの仮想アドレス出力は比較器362へ供給され
る。X半分354の仮想アドレス出力は比較器364へ
供給される。比較器362及び364への他方の入力は
共通にレジスタアキュムレータ310出力ビット31乃
至18へ供給される。
TLB内のラインの1つをアクティブ選択ラインとして
選択するレジスタアキュムレータ310の出力ビツト1
7乃至12に応答して、ラインがTLB内において選択
される。TLBのW及びX半分352及び354の夫々
からの仮想アドレス出力は選択されたラインに対応する
。比較器362及び364からの“マツチ”出力ライン
は各々マルチプレクサ345の選択入力へ供給され、そ
れはマルチプレクサ347等への選択通路用の連結論理
348へビット31乃至12の実アドレス出力を与える
。TLB350の選択されたライン(即ち、両方の半分
)用の実アドレス出力はマルチプレクサ345へ供給さ
れる。TLBヒツトの場合、TLBの半分W又はXの一
方とのマツチがあり、対応する比較器はマルチプレクサ
345ヘマツチ信号を与えて、仮想アドレスのマツチを
持っているTLBの半分に対する実アドレスを選択し、
マルチプレクサ345からの実アドレス出力を連結論理
348へ供給する。TLBミスの場合、TLBミス信号
372は直接アドレス変換ユニット370へ供給される
。DAT370は374で示した如くページテーブルア
クセスを与え、且つ375で示した如<TLBラインの
交換を与える。
選択するレジスタアキュムレータ310の出力ビツト1
7乃至12に応答して、ラインがTLB内において選択
される。TLBのW及びX半分352及び354の夫々
からの仮想アドレス出力は選択されたラインに対応する
。比較器362及び364からの“マツチ”出力ライン
は各々マルチプレクサ345の選択入力へ供給され、そ
れはマルチプレクサ347等への選択通路用の連結論理
348へビット31乃至12の実アドレス出力を与える
。TLB350の選択されたライン(即ち、両方の半分
)用の実アドレス出力はマルチプレクサ345へ供給さ
れる。TLBヒツトの場合、TLBの半分W又はXの一
方とのマツチがあり、対応する比較器はマルチプレクサ
345ヘマツチ信号を与えて、仮想アドレスのマツチを
持っているTLBの半分に対する実アドレスを選択し、
マルチプレクサ345からの実アドレス出力を連結論理
348へ供給する。TLBミスの場合、TLBミス信号
372は直接アドレス変換ユニット370へ供給される
。DAT370は374で示した如くページテーブルア
クセスを与え、且つ375で示した如<TLBラインの
交換を与える。
DATの動作は如何に詳細に説明する。キャッシュミス
の場合、要求されたアドレスされたデータはライン32
5を介して示した如くキャッシュ内で交換される。
の場合、要求されたアドレスされたデータはライン32
5を介して示した如くキャッシュ内で交換される。
第10A図を参照すると、キャッシュメモリシステムの
組織を示しである。キャッシュメモリシステム320は
、3つのフィールドを有しており、即ち使用済みビット
フィールド、及び2つの同一の高速読取−書込メモリフ
ィールドW及びXを有している。第1フイールド329
は使用済み“U”ビットメモリを有しており、それはW
又はX半分がキャッシュメモリ320のアドレスされた
ラインに対して最も最近に使用された半分であったか否
かを表す、W及びXメモリの各々は複数本のライン(例
えば、128ライン)を有している。Uメモリフィール
ド329は同数のライン(例えば、128ライン)を持
っている。キャッシュメモリサブシステム320の記憶
アレイW及びXは、Uメモリワードの寸法を対応して変
化させて、複数平面(即ち、2つの等しいブロックを越
えた数)へ拡張することが可能である。
組織を示しである。キャッシュメモリシステム320は
、3つのフィールドを有しており、即ち使用済みビット
フィールド、及び2つの同一の高速読取−書込メモリフ
ィールドW及びXを有している。第1フイールド329
は使用済み“U”ビットメモリを有しており、それはW
又はX半分がキャッシュメモリ320のアドレスされた
ラインに対して最も最近に使用された半分であったか否
かを表す、W及びXメモリの各々は複数本のライン(例
えば、128ライン)を有している。Uメモリフィール
ド329は同数のライン(例えば、128ライン)を持
っている。キャッシュメモリサブシステム320の記憶
アレイW及びXは、Uメモリワードの寸法を対応して変
化させて、複数平面(即ち、2つの等しいブロックを越
えた数)へ拡張することが可能である。
各キャッシュメモリサブシステム半分W及びXの夫々に
おける各ラインは、第10B図に示した如く、複数のフ
ィールドを有している。W又はXサブシステムメモリ内
の各ラインは、イネーブルビット“E”、ライン有効ビ
ット“LV”、ラインよごれビット“LD”、実アドレ
スフィールド1# RA lj、及び複数データワード
“DT”を有している。イネーブルビットセットは、夫
々の関連するラインが機能的であることを表している。
おける各ラインは、第10B図に示した如く、複数のフ
ィールドを有している。W又はXサブシステムメモリ内
の各ラインは、イネーブルビット“E”、ライン有効ビ
ット“LV”、ラインよごれビット“LD”、実アドレ
スフィールド1# RA lj、及び複数データワード
“DT”を有している。イネーブルビットセットは、夫
々の関連するラインが機能的であることを表している。
リセットイネーブルビットは、夫々の関連するラインが
動作可能であることを表している。リセットイネーブル
ビットは、そのラインへ試みられたアクセスに対してキ
ャッシュミスと−なる。モノリシック集積回路キャッシ
ュMMUの場合、イネーブルビットは、製造プロセスの
一部として、最終テストの後に、レーザで設定すること
が可能である。
動作可能であることを表している。リセットイネーブル
ビットは、そのラインへ試みられたアクセスに対してキ
ャッシュミスと−なる。モノリシック集積回路キャッシ
ュMMUの場合、イネーブルビットは、製造プロセスの
一部として、最終テストの後に、レーザで設定すること
が可能である。
ライン有効ビットLVは、コールドスタート、工10書
込上、又はプロセサコマンドの下で、現在のラインの全
体を無効化させるか否かを表す、ラインよごれ(ダーテ
ィ)ビットLDは、キャッシュメモリサブシステムの夫
々の関連した現在のラインがプロセサによって変化され
たか否かを表す(即ち、メインメモリは現在のものでは
ない)。
込上、又はプロセサコマンドの下で、現在のラインの全
体を無効化させるか否かを表す、ラインよごれ(ダーテ
ィ)ビットLDは、キャッシュメモリサブシステムの夫
々の関連した現在のラインがプロセサによって変化され
たか否かを表す(即ち、メインメモリは現在のものでは
ない)。
21ビツトとして示されている実アドレスフィールドは
、次に続く第1のストアしたデータワードのメインメモ
リ内の実アドレスに対して最大桁20ビツトを有してい
る。4つのワードDTO乃至DT4として示されている
複数データワードはメインメモリの代りにプロセサによ
ってアクセスされる。各データワードは複数ビット、例
えば32ビツトを有している。
、次に続く第1のストアしたデータワードのメインメモ
リ内の実アドレスに対して最大桁20ビツトを有してい
る。4つのワードDTO乃至DT4として示されている
複数データワードはメインメモリの代りにプロセサによ
ってアクセスされる。各データワードは複数ビット、例
えば32ビツトを有している。
第11A図に示される如<、TLBサブシステム350
は、aつのフィールド、即ち使用済み“U”フィールド
359.及び2つの高速読取−書込メモリフィールド、
W及びXメモリサブシステム、を有している。W及びX
メモリサブシステムは均等であり、キャッシュメモリ記
憶装置の2つの半分を形成している6図示した如く、各
半分は47ビツト幅ワードを持ったアドレス可能記憶部
の64本のラインを有しており、且つ仮想から実へのア
ドレス変換をサポートしている。各ラインの使用済みフ
ィールドは、第10A図に関して説明するものと同様の
態様で動作する。
は、aつのフィールド、即ち使用済み“U”フィールド
359.及び2つの高速読取−書込メモリフィールド、
W及びXメモリサブシステム、を有している。W及びX
メモリサブシステムは均等であり、キャッシュメモリ記
憶装置の2つの半分を形成している6図示した如く、各
半分は47ビツト幅ワードを持ったアドレス可能記憶部
の64本のラインを有しており、且つ仮想から実へのア
ドレス変換をサポートしている。各ラインの使用済みフ
ィールドは、第10A図に関して説明するものと同様の
態様で動作する。
第11B図に示した如く、W及びXにおける各記憶ライ
ンは、14ビツトの仮想アドレス” V A”フィール
ド、20ビツトの実アドレス゛’RA”フィールド、ス
ーパーバイザ有効ビットフィールド1、ユーザ有効ビッ
トUVフィールド、ダーティビット“D”フィールド、
参照済みビットl′R”、保護レベルワード“PL”フ
ィールド(4ビツトとして示しである)、及びシステム
タグ” S T”フィールド(5ビツトとして示しであ
る)を有している。
ンは、14ビツトの仮想アドレス” V A”フィール
ド、20ビツトの実アドレス゛’RA”フィールド、ス
ーパーバイザ有効ビットフィールド1、ユーザ有効ビッ
トUVフィールド、ダーティビット“D”フィールド、
参照済みビットl′R”、保護レベルワード“PL”フ
ィールド(4ビツトとして示しである)、及びシステム
タグ” S T”フィールド(5ビツトとして示しであ
る)を有している。
TLBは、1つのMCLKサイクル中で読み取ることの
可能な内容アドレス可能メモリのタイプである。それは
セット連合バッファとして組織されており、且つ各々2
つの要素からなる64セツトで構成されている。仮想ペ
ージアドレスの下位6ビツトはセット、即ち記憶ライン
、を選択するのに使用される1次いで、仮想アドレスの
上位14ビツトは、該セットの両方の要素352及び3
54のキーフィールドVA出力と比較される(即ち、3
62及び354)。TLBヒツトの場合、マツチするT
LBラインエントリの実アドレスフィールド(20ビツ
ト)RAは、関連するシステムタグ及びアクセス保護ビ
ットと共に、マルチプレクサ345を介して出力される
。TLB変換サーチは14ビツトの仮想アドレス、スー
パーバイザ有効、及びユーザ有効に応答して与えられる
。
可能な内容アドレス可能メモリのタイプである。それは
セット連合バッファとして組織されており、且つ各々2
つの要素からなる64セツトで構成されている。仮想ペ
ージアドレスの下位6ビツトはセット、即ち記憶ライン
、を選択するのに使用される1次いで、仮想アドレスの
上位14ビツトは、該セットの両方の要素352及び3
54のキーフィールドVA出力と比較される(即ち、3
62及び354)。TLBヒツトの場合、マツチするT
LBラインエントリの実アドレスフィールド(20ビツ
ト)RAは、関連するシステムタグ及びアクセス保護ビ
ットと共に、マルチプレクサ345を介して出力される
。TLB変換サーチは14ビツトの仮想アドレス、スー
パーバイザ有効、及びユーザ有効に応答して与えられる
。
第12図に示した如く、キャッシュメモリはカッド語境
界上で組織される。実アドレスメモリの4つのアドレス
可能なワードは、キャッシュメモリシステム320の各
半分(即ち、W及びX)に対しての各ライン内にストア
される。キャッシュメモリサブシステムは、カッド語境
界上にカッド語出力を与え、キャッシュアクセス時間を
更に加速する0例えば、ロード動作の場合に、現在のア
ドレスが前のアドレスのカッド境界内である時、キャッ
シュアクセス時間は最小である(例えば。
界上で組織される。実アドレスメモリの4つのアドレス
可能なワードは、キャッシュメモリシステム320の各
半分(即ち、W及びX)に対しての各ライン内にストア
される。キャッシュメモリサブシステムは、カッド語境
界上にカッド語出力を与え、キャッシュアクセス時間を
更に加速する0例えば、ロード動作の場合に、現在のア
ドレスが前のアドレスのカッド境界内である時、キャッ
シュアクセス時間は最小である(例えば。
2クロツクサイクル)、現在のアドレスが前のアドレス
のカッド境界を越えている場合には、キャッシュアクセ
ス時間は一層長い(例えば、4クロツクサイクル)。
のカッド境界を越えている場合には、キャッシュアクセ
ス時間は一層長い(例えば、4クロツクサイクル)。
本明細書の別の個所において詳細に説明した如く、TL
Bは臨界的な機能に対してのハードワイヤードした変換
論理を与える為に予約しである。
Bは臨界的な機能に対してのハードワイヤードした変換
論理を与える為に予約しである。
これは非常に高速の保証されたメインメモリの仮想から
実へのマツピング及び変換能力を与える。
実へのマツピング及び変換能力を与える。
ハードワイヤード化した変換論理ブロックの機能は第1
3図に示しである。各ラインは第11B図に示した如き
情報を有している。変換及びシステム情報は、ブートR
OM、メモリ管理、Ilo、ベクトル、オペレーティン
グシステム及び予約済み位置、第11A図及び第11B
図に関して詳細に上述した如き適用予約済み位置等の臨
界的な機能に対して与えられる。
3図に示しである。各ラインは第11B図に示した如き
情報を有している。変換及びシステム情報は、ブートR
OM、メモリ管理、Ilo、ベクトル、オペレーティン
グシステム及び予約済み位置、第11A図及び第11B
図に関して詳細に上述した如き適用予約済み位置等の臨
界的な機能に対して与えられる。
読取−書込TLBに加えて、第13図を参照して説明す
る如く、8個のハードワイヤード化した仮想から実への
変換がある。これらの変換の幾つかを実ページO−3に
マツプしである。仮想空間内のページ0は実メモリの低
位端内の第1ページであり、それはトラップ及びインタ
ラブドベクトル用に使用される。ページ1−3は本シス
テムの初期値化に対する共用区域として使用される。ペ
ージ6及び7はブートストラップシステムROM用に使
用され、且つページ4及び5はメモリマツブトI10用
に使用される。これらの8個のページ変換は、スーパー
バイザモードにある時にのみ使用される。これらがTL
B内にハードワイヤード化された結果として、システム
空間の最初の8個の仮想ページにはミス又はページ障害
は決して発生することは無い。
る如く、8個のハードワイヤード化した仮想から実への
変換がある。これらの変換の幾つかを実ページO−3に
マツプしである。仮想空間内のページ0は実メモリの低
位端内の第1ページであり、それはトラップ及びインタ
ラブドベクトル用に使用される。ページ1−3は本シス
テムの初期値化に対する共用区域として使用される。ペ
ージ6及び7はブートストラップシステムROM用に使
用され、且つページ4及び5はメモリマツブトI10用
に使用される。これらの8個のページ変換は、スーパー
バイザモードにある時にのみ使用される。これらがTL
B内にハードワイヤード化された結果として、システム
空間の最初の8個の仮想ページにはミス又はページ障害
は決して発生することは無い。
PLビットは、そのページの保護レベルを表す。
CPUからのVA (仮想アドレス)に付随する機能コ
ードはメモリ参照のモードを有している。これらのモー
ドはPLビットと比較され、侵害が検知されると、CP
Uトラップが発生される。
ードはメモリ参照のモードを有している。これらのモー
ドはPLビットと比較され、侵害が検知されると、CP
Uトラップが発生される。
キャッシュMMUは、TLBエントリ又はページテーブ
ルエンドリ内の4つの保護ビット(PL)を検査するこ
とによってメモリアクセス保護を与える。これは、スー
パーバイザステータスワード(SSW)内のスーパーバ
イザ/ユーザビット及びにビットをアクセスコードと比
較することによって達成され、且つ、侵害がある場合に
は、アクセスが拒絶され且つトラップがCPUへ発生さ
れる。
ルエンドリ内の4つの保護ビット(PL)を検査するこ
とによってメモリアクセス保護を与える。これは、スー
パーバイザステータスワード(SSW)内のスーパーバ
イザ/ユーザビット及びにビットをアクセスコードと比
較することによって達成され、且つ、侵害がある場合に
は、アクセスが拒絶され且つトラップがCPUへ発生さ
れる。
トラップを発生した仮想アドレスはレジスタ内に格納さ
れ且つI10コマンドで読み出すことが可能である。
れ且つI10コマンドで読み出すことが可能である。
以下の如く3つの独得のトラップが発生される。
1、命令フェッチアクセス侵害−命令キャッシュのみ。
26 読取アクセス侵害−データキャッシュのみ。
3、書込アクセス侵害−データキャッシュのみ。
アクセスコード PSW S、にビット0001
RW −−− 0010RW RW −− 0011RW RW RW −0100R
W RW RW Rolol RW
RW RRollo RW RR
R olll RWE RWE RWE RW
Elooo RE −−− 1001RRE −− 1010RRRE − 1011RRRE RE lloo RE −REllol
−−RE − 1110−−−RE llll −−−− 尚、RW=読取/書込 E;命令実行 一=アクセス無し S=ニス−パーバイザ/ユー ザ=保護 データキャッシュライン内のダーティ即ちよごれビット
(D)は、メインメモリから読み取ることによってその
ラインが修正されていることを表す。
RW −−− 0010RW RW −− 0011RW RW RW −0100R
W RW RW Rolol RW
RW RRollo RW RR
R olll RWE RWE RWE RW
Elooo RE −−− 1001RRE −− 1010RRRE − 1011RRRE RE lloo RE −REllol
−−RE − 1110−−−RE llll −−−− 尚、RW=読取/書込 E;命令実行 一=アクセス無し S=ニス−パーバイザ/ユー ザ=保護 データキャッシュライン内のダーティ即ちよごれビット
(D)は、メインメモリから読み取ることによってその
ラインが修正されていることを表す。
TLB内のダーティビットは、そのページ内の1つ以上
のワードが修正されていることを表す。
のワードが修正されていることを表す。
キャッシュ内にワードを書き込む場合、そのライン内の
ダーティビットはセットされる。TLB内のダーティピ
ットがセットされないと、それは次いでセットされ且つ
TLB内のラインはページテーブル内に書き戻される。
ダーティビットはセットされる。TLB内のダーティピ
ットがセットされないと、それは次いでセットされ且つ
TLB内のラインはページテーブル内に書き戻される。
TLB内のダーティビットが既にセットされていると、
ページテーブルはアップデートされない、この機構は、
そのページが最初に修正される時に自動−的にページテ
ーブルダーティビットをアップデートする。
ページテーブルはアップデートされない、この機構は、
そのページが最初に修正される時に自動−的にページテ
ーブルダーティビットをアップデートする。
TLB内の参照済みビット(R)は、そのページが少な
くとも一度読取又は書込によって参照されたことを表す
。Dビットに対して送出したのと同じアプローチを使用
して、ページテーブルエンドリ内のRビットをアップデ
ートする。
くとも一度読取又は書込によって参照されたことを表す
。Dビットに対して送出したのと同じアプローチを使用
して、ページテーブルエンドリ内のRビットをアップデ
ートする。
有効ビット(SV、UV)はそのラインを無効化させる
為に使用される。コールドスタートの場合、SvとUV
の両方がゼロにセットされる。−人のユーザから別のユ
ーザへのコンチクストスイッチの場合、UVはゼロにセ
ットされる。ユーザからスーパーバイザへ行くか又は同
じユーザへの戻りの場合にはUVはリセットされない。
為に使用される。コールドスタートの場合、SvとUV
の両方がゼロにセットされる。−人のユーザから別のユ
ーザへのコンチクストスイッチの場合、UVはゼロにセ
ットされる。ユーザからスーパーバイザへ行くか又は同
じユーザへの戻りの場合にはUVはリセットされない。
20ビツト実アドレス(RA)も又各ライン位置にスト
アされる。仮想アドレスにマツチがあると、実際のアド
レスがキャッシュへ送られてS。
アされる。仮想アドレスにマツチがあると、実際のアド
レスがキャッシュへ送られてS。
Rと比較される。
本システムが非マツブトモード(即ち、仮想アドレシン
グ無し)で動作していると、TLBはアクティブでは無
く且つ保護回路はディスエーブルされる。
グ無し)で動作していると、TLBはアクティブでは無
く且つ保護回路はディスエーブルされる。
TLBは以下のメモリマップドエ/○コマンドに応答す
る。
る。
傘すセットTLBスーパーバイザ有効ビット−TLB内
の全てのSvビットがリセットされる。
の全てのSvビットがリセットされる。
牢すセットTLBユーザ有効ビット
−TLB内の全てのUVビットがリセットされる。
傘すセットDビット
−TLB内の全てのダーティ(D)ビットをゼロにセッ
ト。
ト。
傘すセットRビット
−TLB内の全ての参照済み(R)ビットをゼロにセッ
ト。
ト。
申TLB上位読取
−アドレスされたTLB位置の最高位部分をCPUへ読
取。
取。
傘TLB下位読取
−アドレスされたTLB位置の最小位部分をCPUへ読
取。
取。
申TLB上位置込
−アドレスされたTLB位置の最高位部分をCPUから
書込。
書込。
串TLB下位置込
−アドレスされたTLB位置の最小位部分をCPUから
書込。
書込。
キャッシュMMUに対してのメモリマツブトI10は仮
想ページ4を通過する。
想ページ4を通過する。
システムタグは、書込(即ち、コピーパック又はライト
スルー)、キャッシュMMUのイネーブル動作、及びI
10処理用にキャッシュMMU作戦を変える為に本シス
テムによって使用されている。システムタグはページテ
ーブル及びTLB内に位置されている。
スルー)、キャッシュMMUのイネーブル動作、及びI
10処理用にキャッシュMMU作戦を変える為に本シス
テムによって使用されている。システムタグはページテ
ーブル及びTLB内に位置されている。
システムタグ
T4 T3 T2 TI TOoooolTO
専有、ライトスルー 010TITO専有、コピーバック 011TITOキャッシュ不能 001TITO共通、ライトスルー lX0TITOキャッシュ不能、メモ リマツブトI/)アリア IXI 丁I To キャッシュ不能、ブート
ストラップアリア R=参照済みビット、D=ダーティピットシステムタグ
の5つは本シスチームによりデコードする為にキャッシ
ュMMUの外側へ出される。
専有、ライトスルー 010TITO専有、コピーバック 011TITOキャッシュ不能 001TITO共通、ライトスルー lX0TITOキャッシュ不能、メモ リマツブトI/)アリア IXI 丁I To キャッシュ不能、ブート
ストラップアリア R=参照済みビット、D=ダーティピットシステムタグ
の5つは本シスチームによりデコードする為にキャッシ
ュMMUの外側へ出される。
タグT2はプツトストラップとI10空間との間の差を
付ける為に使用される。タグT4は、メモリ空間及びブ
ート又はI10空間との間に差を付ける為に使用される
。UNIX動作システム(例えば、UNIX)はタグT
O及びT1を使用することが可能である。従って、オペ
レーティングシステムがユーザに知られていない限り、
To及びT1はシステム設計者によって使用されること
は不可能である。これら4つのタグは、キャッシュMM
Uがシステムバスを得た時にのみ有効となる。
付ける為に使用される。タグT4は、メモリ空間及びブ
ート又はI10空間との間に差を付ける為に使用される
。UNIX動作システム(例えば、UNIX)はタグT
O及びT1を使用することが可能である。従って、オペ
レーティングシステムがユーザに知られていない限り、
To及びT1はシステム設計者によって使用されること
は不可能である。これら4つのタグは、キャッシュMM
Uがシステムバスを得た時にのみ有効となる。
これらの信号は他のキャッシュMMUからのタグと共に
一緒にバス動作される。
一緒にバス動作される。
5T(OOIXXXX) :共通、ライトスルー仮想ペ
ージOがスーパーバイザモードにおいてTLB内に検知
されると、実際のメモリのページ0が割り当てられる。
ージOがスーパーバイザモードにおいてTLB内に検知
されると、実際のメモリのページ0が割り当てられる。
この実際のメモリの第1ページはRAM又はROMとす
ることが可能であり、トラップ及びインタラブド用のベ
クトルを有している。このハードワイヤード変換はスー
パーバイザ状態においてのみ発生する。実アドレスの最
高位20ビットはゼロである。
ることが可能であり、トラップ及びインタラブド用のベ
クトルを有している。このハードワイヤード変換はスー
パーバイザ状態においてのみ発生する。実アドレスの最
高位20ビットはゼロである。
5T(1,X、 1.X、X、X、X)仮想メモリ内の
ページ6及び7がアドレスされると、システムタグがハ
ードワイヤードTLBから出力される。この変換スーパ
ーバイザ状態でのみ発生する。仮想メモリのページ6及
び7はブートメモリのページO及び1内にマツプする。
ページ6及び7がアドレスされると、システムタグがハ
ードワイヤードTLBから出力される。この変換スーパ
ーバイザ状態でのみ発生する。仮想メモリのページ6及
び7はブートメモリのページO及び1内にマツプする。
実アドレスの最高位19ビツトはゼロであり、且つビッ
ト12はブートメモリのページ1に対しては1であり且
つページ0に対してはOである。
ト12はブートメモリのページ1に対しては1であり且
つページ0に対してはOである。
ブートメモリ実空間は実際のメモリ空間内には存在しな
い。
い。
5T(1,X、O,X、X、X、X) メーT−リマッ
プドI10スーパーバイザモードにある場合、仮想空間
内のページ4及び5は、TLB内にハードワイヤード変
換を持っている。変換された実アドレスの最高位19ビ
ツトはゼロである。工10システムは、メモリマツブト
I10を表すシステムタグT2及びT4をデコードせね
ばならない。実アドレスの最高位20ビツトのデコード
動作は、I10コマンドの付加的なページの為に使用す
ることが可能である。各実ページは1024個のコマン
ドを持っており、対応する位置への読取(ワード)及び
書込(ワード)によって実行される。
プドI10スーパーバイザモードにある場合、仮想空間
内のページ4及び5は、TLB内にハードワイヤード変
換を持っている。変換された実アドレスの最高位19ビ
ツトはゼロである。工10システムは、メモリマツブト
I10を表すシステムタグT2及びT4をデコードせね
ばならない。実アドレスの最高位20ビツトのデコード
動作は、I10コマンドの付加的なページの為に使用す
ることが可能である。各実ページは1024個のコマン
ドを持っており、対応する位置への読取(ワード)及び
書込(ワード)によって実行される。
このハードワイヤードされたペー、ジがTLB又はペー
ジテーブルエンドリ内で検知されると、読取又は書込コ
マンドは、それがあたかもキャッシュ不能読取又は書込
であるが如く実行される。
ジテーブルエンドリ内で検知されると、読取又は書込コ
マンドは、それがあたかもキャッシュ不能読取又は書込
であるが如く実行される。
I10100使用及び割り当ては以下の如くである。
I10スーパーバイザモード、マツブト又は非マツブト
、ページ4及び5゜ 仮想アドレス空間のページ4及び5は、ハードワイヤー
ドTLBエントリによるI10アドレスのページ0及び
1内へ夫々マツプされる。ページ4はキャッシュチップ
に対するコマンドとして使用される。
、ページ4及び5゜ 仮想アドレス空間のページ4及び5は、ハードワイヤー
ドTLBエントリによるI10アドレスのページ0及び
1内へ夫々マツプされる。ページ4はキャッシュチップ
に対するコマンドとして使用される。
I10スーパーバイザモード、マツブト、付加的ページ
。
。
I10100又ページテーブル内に定義することが可能
である。I10コマンドは適宜のタグビットによって識
別される。ページO−7を除いた何れかの仮想アドレス
が、Oと1を含むこと無いI10ページヘマップさせる
ことが可能である。
である。I10コマンドは適宜のタグビットによって識
別される。ページO−7を除いた何れかの仮想アドレス
が、Oと1を含むこと無いI10ページヘマップさせる
ことが可能である。
キャッシュ内の工/○空間
キャッシュチップに向けられたI10アドレスは以下の
如く解釈されるべきである。
如く解釈されるべきである。
キャッシュI10空間
ページ4:キャッシュ■/○空間
アドレス000040000−000048FF −D
−cacheアドレス0OO04COOO−00004
FFF −I−cacheページ5:システムエ/○空
間 アドレス00005000−00005FFFキヤツシ
ユI10コマンド VA(31:12> =000048exVA<11:
0) = RA(11:0>ビット11 =0:D−c
acheI10空間を特定ビットO:0:データ部;l
=アドレス部ビット1:0:す; 1−X (コンパー
トメント)ビット2−3= ワード位置 ビット4−10: ライン番号 ビット11=1、ビット8.9=O: TLBを特定ビ
ット10: 0: D−cache; 1:I−cac
heビット0:0=下位;1:上位 ビットl:、O=W;1=X ビット2−8; ライン番号 その他: ビット10=l冨I−cache、 ビット10=O
: D−cachel x 01−−一−00−スーパ
ーバイザ5TO1x 01−−−−01− ユーザ5
TOL x 01−−−−10−− Fレジスタ(障害
の仮想アドレス) 1簀01−−−−11−Eレジスタ(エラーの物理的キ
ャッシュ位置) lxlloooool−−キ’rッシュLV全リセット 1 x 11000010−− TLB SV全リセッ
ト1 x 11000100−− TLB UV全リす
ットl x l 1001000−− TLB D全リ
セット1 x 11010000−− TLB R全リ
セットワードストア 5T(0,1,0,X、X、D、R)−専有、コピーバ
ラ’)A、 LVは1.及びHITニライン内書込ワ
ード及びセットライン及びページダーティビット・ B、 ミス−交換されるべきラインは非ダーティ:メモ
リからカッド語を読取りライン内にストア、新ライン内
にワードを書込み且つライン及びページダーティをセッ
ト。
−cacheアドレス0OO04COOO−00004
FFF −I−cacheページ5:システムエ/○空
間 アドレス00005000−00005FFFキヤツシ
ユI10コマンド VA(31:12> =000048exVA<11:
0) = RA(11:0>ビット11 =0:D−c
acheI10空間を特定ビットO:0:データ部;l
=アドレス部ビット1:0:す; 1−X (コンパー
トメント)ビット2−3= ワード位置 ビット4−10: ライン番号 ビット11=1、ビット8.9=O: TLBを特定ビ
ット10: 0: D−cache; 1:I−cac
heビット0:0=下位;1:上位 ビットl:、O=W;1=X ビット2−8; ライン番号 その他: ビット10=l冨I−cache、 ビット10=O
: D−cachel x 01−−一−00−スーパ
ーバイザ5TO1x 01−−−−01− ユーザ5
TOL x 01−−−−10−− Fレジスタ(障害
の仮想アドレス) 1簀01−−−−11−Eレジスタ(エラーの物理的キ
ャッシュ位置) lxlloooool−−キ’rッシュLV全リセット 1 x 11000010−− TLB SV全リセッ
ト1 x 11000100−− TLB UV全リす
ットl x l 1001000−− TLB D全リ
セット1 x 11010000−− TLB R全リ
セットワードストア 5T(0,1,0,X、X、D、R)−専有、コピーバ
ラ’)A、 LVは1.及びHITニライン内書込ワ
ード及びセットライン及びページダーティビット・ B、 ミス−交換されるべきラインは非ダーティ:メモ
リからカッド語を読取りライン内にストア、新ライン内
にワードを書込み且つライン及びページダーティをセッ
ト。
C0ミス−交換されるべきラインはダーティ:ダーティ
ラインをメモリへ書き戻し。新カッド語をライン内に読
取、新ライン内にワードを書込且つライン及びページダ
ーティをセット。
ラインをメモリへ書き戻し。新カッド語をライン内に読
取、新ライン内にワードを書込且つライン及びページダ
ーティをセット。
5T(0,0,0,X、X、D、R)−専有、ライトス
ルーA、 LVは1.及びHITニライン内に及びメ
モリへデータワードの書込、ページダーティビットのセ
ット。
ルーA、 LVは1.及びHITニライン内に及びメ
モリへデータワードの書込、ページダーティビットのセ
ット。
B、 ミス:メモリ内にワードの書込及びページダーテ
ィビットのセット。
ィビットのセット。
5T(0,0,1,X、X、D、R)−共通、ライトス
ルーA、 LVは1及びHITニライン内及びメモリ
へのデータワードの書込。ページダーティビットをセッ
ト。
ルーA、 LVは1及びHITニライン内及びメモリ
へのデータワードの書込。ページダーティビットをセッ
ト。
B、 ミス:メモリ内にワードの書込及びページダーテ
ィビットをセット・ 5T(0,1,1,X、X、S、R)−キャッシュ不能
A、 メインメモリ内にワードの書込。ヒツトの場合は
パージ。
ィビットをセット・ 5T(0,1,1,X、X、S、R)−キャッシュ不能
A、 メインメモリ内にワードの書込。ヒツトの場合は
パージ。
5T(0,1,0,X、X、D、R)−専有、コピーバ
y’)A、 LVは1、及びHITニライン内にバイ
ト又は半ワードを書込且つライン及びページダーティビ
ットをセット。
y’)A、 LVは1、及びHITニライン内にバイ
ト又は半ワードを書込且つライン及びページダーティビ
ットをセット。
B、 ミス−交換されるべきラインは非ダーティ:メモ
リからカッド語を読取且つライン内にストア、新ライン
内にバイト又は半ワードの書込且つライン及びページダ
ーティをセット・ C0ミス及び交換されるべきラインはダーティ:ライン
をメモリへ書き戻し。新カッド語をライン内に読取、バ
イト又は半ワードを新ライン内に書込且つライン及びペ
ージダーティをセット。
リからカッド語を読取且つライン内にストア、新ライン
内にバイト又は半ワードの書込且つライン及びページダ
ーティをセット・ C0ミス及び交換されるべきラインはダーティ:ライン
をメモリへ書き戻し。新カッド語をライン内に読取、バ
イト又は半ワードを新ライン内に書込且つライン及びペ
ージダーティをセット。
5T(0,0,X、X、D、R)−専有、ライトスルー
A、 HiT:バイト又は半ワー・ドをライン内に書
込。キャッシュラインからメモリへ修正したワードをコ
ピー。
A、 HiT:バイト又は半ワー・ドをライン内に書
込。キャッシュラインからメモリへ修正したワードをコ
ピー。
B、 ミス:ワード読取。バイト又は半ワードの修正。
キャッシュラインからメモリへ修正したワードの書込。
(読取/修正/書込サイクル)(書込割り当て無)
ST(0,0,1,X、X、D、R)−共通、ライトス
ルーA、 LVは1、及びHITニライン内にバイト
又は半ワードの書込、キャッシュラインからメモリへ修
正したワードの書込。
ルーA、 LVは1、及びHITニライン内にバイト
又は半ワードの書込、キャッシュラインからメモリへ修
正したワードの書込。
B、 ミス:ワード読取。ライン内にバイト又は半ワー
ド書込。キャッシュラインからメモリへ修正したワード
の書込。(読取/修正/書込すイクス;書込割り当て無
) ST(0,1,1,X、X、D、R)−キャッシュ不能
A、 キャッシュチップ内にワードの読取。適宜のバイ
ト/半ワードをアップデート且つ修□ 正したワードを
メインメモリへ書き戻し。
ド書込。キャッシュラインからメモリへ修正したワード
の書込。(読取/修正/書込すイクス;書込割り当て無
) ST(0,1,1,X、X、D、R)−キャッシュ不能
A、 キャッシュチップ内にワードの読取。適宜のバイ
ト/半ワードをアップデート且つ修□ 正したワードを
メインメモリへ書き戻し。
テスト びセット
5T(0,1,1,X、X、D、R)−キャッシュ不能
メインメモリ位置を読取、ワードのテストと修正。
メインメモリ位置を読取、ワードのテストと修正。
及び同じ位置へストア。元のワードをCPUへ返送。
こ動作が完了する迄メモリバスはキャッシュに専用。
この命令を実行中に以下のシステムタグが発生すると、
エラー条件が発生。
エラー条件が発生。
1 X X X X X X (m/m I10空間
又はブート空間)ワード /バイト/ ワード 5T(0,1,0,X、X、D、R)−専有、コピーバ
ックA、 LVは1、及びHIT:キャッシュからC
PUヘワードの読取。
又はブート空間)ワード /バイト/ ワード 5T(0,1,0,X、X、D、R)−専有、コピーバ
ックA、 LVは1、及びHIT:キャッシュからC
PUヘワードの読取。
B、 ミス−交換されるべきラインは非ダーティ:メモ
リからキャッシュへ新カッド語の読取。
リからキャッシュへ新カッド語の読取。
ワードをCPUへ読取。
C0ミス−交換されるべきラインはダーティ:ラインを
メモリへ書き戻し。メモリからキャッシュへ新カッド語
の読取。ワードをCpuへ読取。
メモリへ書き戻し。メモリからキャッシュへ新カッド語
の読取。ワードをCpuへ読取。
5T(0,0,X、X、D、R)又は5T((1,0,
1,X、X、D、R)−ライトスルー A、 LVは1、及びHIT:キャッシュからCPU
ヘワードの読取。
1,X、X、D、R)−ライトスルー A、 LVは1、及びHIT:キャッシュからCPU
ヘワードの読取。
B、 ミス:新カッド語をライン内に読取。ワードをC
PU内に読取。
PU内に読取。
5T(0,1,1,X、X、D、R)−キャッシュ不能
A、 メインメモリからCPUへワードの読取。
A、 メインメモリからCPUへワードの読取。
キャッシュからメモリへの ゛
5T(0,0,1,X、X、D、R)−共通、ライトス
ルー全てのキャッシュがバスを検査し、ヒツトがあると
、キャッシュ内のラインを無効化する。ヒツトが無い場
合には、バスを無視。
ルー全てのキャッシュがバスを検査し、ヒツトがあると
、キャッシュ内のラインを無効化する。ヒツトが無い場
合には、バスを無視。
I10システムがキャッシュ又はメインメモリからデー
タを読み取っている時に、実アドレスがキャッシュによ
って検査され且つ以下の動作が行われる。TLBはアク
セスされない。
タを読み取っている時に、実アドレスがキャッシュによ
って検査され且つ以下の動作が行われる。TLBはアク
セスされない。
A、 LVは1及びHIT、且つLDは1キヤツシユ
からIloへワード又はラインの読取。
からIloへワード又はラインの読取。
B、 ミス:メモリからIloへワード、カッド語、又
は16ワードの読取。
は16ワードの読取。
メインメモリへの工/○が行われている時に、実アドレ
スはキャッシュによって検査され且つ以下の動作が行わ
れる。TLBはアクセスされない、従ってダーティビッ
トはページテーブル又はTLB内において変化されない
。
スはキャッシュによって検査され且つ以下の動作が行わ
れる。TLBはアクセスされない、従ってダーティビッ
トはページテーブル又はTLB内において変化されない
。
A、 LVは1及びHIT:Iloからメモリへのワ
ード、カッド語、又は16ワードの書込。キャッシュ内
の1本又は複数本のラインを無効化。
ード、カッド語、又は16ワードの書込。キャッシュ内
の1本又は複数本のラインを無効化。
B、 ミス:I10からメモリへのワード、カッド語、
又は16ワードの書込。
又は16ワードの書込。
仮想アドレスから実アドレスへのマツピングシステム情
報は、キャッシュメモリサブシステムのW及びX半分の
各々に対して各ライン内に一義的にストアされる。これ
は仮想から実へのアドレスの極めて高速の変換を与えて
仮想から実へのアドレス空間のマツピングを加速し、第
1図の工/○プロセサ150を介しての如く、二次的記
憶システムと共に必要な入出力スワツピング手順を簡単
化させている。TLBメモリサブシステム350内の各
記憶ラインにおけるシステム情報は、全ての必要な保護
及び再書込情報を与える。各サブシステムラインの使用
済みビットは、メモリサブシステムの最も最近ではなく
使用された半分内への再書込の表示を与える。その他の
交換作戦を実施することも可能である。
報は、キャッシュメモリサブシステムのW及びX半分の
各々に対して各ライン内に一義的にストアされる。これ
は仮想から実へのアドレスの極めて高速の変換を与えて
仮想から実へのアドレス空間のマツピングを加速し、第
1図の工/○プロセサ150を介しての如く、二次的記
憶システムと共に必要な入出力スワツピング手順を簡単
化させている。TLBメモリサブシステム350内の各
記憶ラインにおけるシステム情報は、全ての必要な保護
及び再書込情報を与える。各サブシステムラインの使用
済みビットは、メモリサブシステムの最も最近ではなく
使用された半分内への再書込の表示を与える。その他の
交換作戦を実施することも可能である。
モノリシック集積化キャッシュMMUにおける如く高速
通信構成が与えられる場合、このキャッシュMMUシス
テムアーキテクチャ−は非常に高速のキャッシュシステ
ム動作を向上させ且つ偉人な適用多様性を与える。
通信構成が与えられる場合、このキャッシュMMUシス
テムアーキテクチャ−は非常に高速のキャッシュシステ
ム動作を向上させ且つ偉人な適用多様性を与える。
第14図に示した如く、カッド語境界はラインレジスタ
アーキテクチャ−において効果的に使用することが可能
である。第9図のキャッシュメモリ320のメモリアレ
イはライン境界内400へ接続されており、そのレジス
タはライン境界内に4ワードのワード記憶を有している
。キャッシュメモリ320はキャツシュヒツト当りライ
ンレジスタ400へ一度に4つのワードを出力し、該レ
ジスタは選択的にストアすると共に該ワード出力をキャ
ッシュメモリサブシステム320から、第8図のCOR
230の如きキャッシュ出力レジスタへ転送する。この
転送は、″カッド境界ゼロに等しい″比較器出力が発生
すると、クリアする。
アーキテクチャ−において効果的に使用することが可能
である。第9図のキャッシュメモリ320のメモリアレ
イはライン境界内400へ接続されており、そのレジス
タはライン境界内に4ワードのワード記憶を有している
。キャッシュメモリ320はキャツシュヒツト当りライ
ンレジスタ400へ一度に4つのワードを出力し、該レ
ジスタは選択的にストアすると共に該ワード出力をキャ
ッシュメモリサブシステム320から、第8図のCOR
230の如きキャッシュ出力レジスタへ転送する。この
転送は、″カッド境界ゼロに等しい″比較器出力が発生
すると、クリアする。
キャッシュMMUシステムのシステムインターフェース
のキャッシュ出力レジスターの出力は、その後プロセサ
/キャッシュバス(即ち、バス121又は131、及び
第1図のバス115)のアドレスデータ機能コード(即
ち、ADF)バスへ供給される。
のキャッシュ出力レジスターの出力は、その後プロセサ
/キャッシュバス(即ち、バス121又は131、及び
第1図のバス115)のアドレスデータ機能コード(即
ち、ADF)バスへ供給される。
アキュムレータレジスタ(即ち、第9図の310)も又
プロセサ/キャッシュインターフェースバスへ接続され
てそこからアドレス情報を受け取る。キャッシュメモリ
管理ユニットがデータキャッシュとして構成される場合
、アキュムレータレジスタはキャッシュメモリサブシス
テムによって使用する為にプロセサ/キャッシュバスか
らのアドレスをストアする。命令キャッシュとして構成
される場合には、アキュムレータレジスタ310はプロ
グラムカウンタとして構成されて、プロセサ/キャッシ
ュインターフェースバスからアドレス情報を受け取ると
共に、新たに権利が与えられたアドレスがプロセサ/キ
ャッシュバスから受けとられる迄それ自身インクリメン
トする。
プロセサ/キャッシュインターフェースバスへ接続され
てそこからアドレス情報を受け取る。キャッシュメモリ
管理ユニットがデータキャッシュとして構成される場合
、アキュムレータレジスタはキャッシュメモリサブシス
テムによって使用する為にプロセサ/キャッシュバスか
らのアドレスをストアする。命令キャッシュとして構成
される場合には、アキュムレータレジスタ310はプロ
グラムカウンタとして構成されて、プロセサ/キャッシ
ュインターフェースバスからアドレス情報を受け取ると
共に、新たに権利が与えられたアドレスがプロセサ/キ
ャッシュバスから受けとられる迄それ自身インクリメン
トする。
アキュムレータレジスタ310からの出力は、カッドラ
イン境界レジスタ410、カッド境界比較器420、及
び状態制御論理430へ供給される。カッド語ライン境
界レジスタ410は、ラインレジスタ400内にストア
されたワードに対してのカッド語ライン境界の開始アド
レスをストアする。
イン境界レジスタ410、カッド境界比較器420、及
び状態制御論理430へ供給される。カッド語ライン境
界レジスタ410は、ラインレジスタ400内にストア
されたワードに対してのカッド語ライン境界の開始アド
レスをストアする。
カッド語ライン境界レジスタ4i0の出力はカッド語ラ
イン境界比較器420へ供給される。比較器420は、
レジスタ410出力をアドレスレジスタ(即ち、アキュ
ムレータレジスタ310)の仮想アドレス出力と比較し
、要求されたワードがラインレジスタ400用の、現在
のカット語境界内であるか否かを決定する0次いで、状
態制御論理430は、ラインレジスタ400出力又はキ
ャッシュメモリサブシステム320へのアクセスの何れ
かの選択を決定する。次いで、制御論理430は選択的
にマルチプレクス動作して、ラインレジスタから適宜の
ワードを選択する。
イン境界比較器420へ供給される。比較器420は、
レジスタ410出力をアドレスレジスタ(即ち、アキュ
ムレータレジスタ310)の仮想アドレス出力と比較し
、要求されたワードがラインレジスタ400用の、現在
のカット語境界内であるか否かを決定する0次いで、状
態制御論理430は、ラインレジスタ400出力又はキ
ャッシュメモリサブシステム320へのアクセスの何れ
かの選択を決定する。次いで、制御論理430は選択的
にマルチプレクス動作して、ラインレジスタから適宜の
ワードを選択する。
第15図は、第1図のキャッシュMMUシステム120
及び130用のロードタイミングを示している。好適実
施例において、これはカッド語又は16ワード境界内の
データである。別法として。
及び130用のロードタイミングを示している。好適実
施例において、これはカッド語又は16ワード境界内の
データである。別法として。
これは任意の寸法のブロックのデータとすることが可能
である。第15図は、CPUll0からローディングす
るデータキャッシュ130の動作、又はブランチ動作上
でローディングする命令キャッシュ120の動作を示し
ている。第1図のシステムクロック160のマスタクロ
ックMCLK信号出力は第15図の上部に示してあり、
タイムチャートはロードサイクルの開始から0,30,
60.90及び120ナノ秒(即ち、ns)の点を示し
ている。
である。第15図は、CPUll0からローディングす
るデータキャッシュ130の動作、又はブランチ動作上
でローディングする命令キャッシュ120の動作を示し
ている。第1図のシステムクロック160のマスタクロ
ックMCLK信号出力は第15図の上部に示してあり、
タイムチャートはロードサイクルの開始から0,30,
60.90及び120ナノ秒(即ち、ns)の点を示し
ている。
このサイクルの開始において、有効なアドレスがCPU
から夫々のキャッシュMMUシステムのアキュムレータ
レジスタへロードされ、且つ機能コードが与えられて、
本明細書の他の個所において詳細に説明した如く、転送
のタイプを表す。ASF信号が有効でアドレスストロー
ブが進行中であることを表す時にOns点が発生する。
から夫々のキャッシュMMUシステムのアキュムレータ
レジスタへロードされ、且つ機能コードが与えられて、
本明細書の他の個所において詳細に説明した如く、転送
のタイプを表す。ASF信号が有効でアドレスストロー
ブが進行中であることを表す時にOns点が発生する。
要求されたデータが新たなアクセス用のカッドライン境
界上であると、そのデータはMCLKの90ns点と1
20ns点との間の中間点において得られる。然し乍ら
、アクセスがカッド語境界内の要求に対してのものであ
る場合、データアクセスタイミングは、ADF信号波形
上に想像線で示した如く、一層早く(例えば、60ns
点において)、カッドライン境界内のデータ転送を表す
。
界上であると、そのデータはMCLKの90ns点と1
20ns点との間の中間点において得られる。然し乍ら
、アクセスがカッド語境界内の要求に対してのものであ
る場合、データアクセスタイミングは、ADF信号波形
上に想像線で示した如く、一層早く(例えば、60ns
点において)、カッドライン境界内のデータ転送を表す
。
第16図を参照すると、第1図のキャッシュMMUシス
テム120及び130用のストア動作は。
テム120及び130用のストア動作は。
コピーバックモードでCPUからキャッシュへの記憶、
更に書き通し即ちライトスルーモードの為にメインメモ
リ140への記憶を行うものである。
更に書き通し即ちライトスルーモードの為にメインメモ
リ140への記憶を行うものである。
マスタクロックMCLKは、基準ラインとして、第15
図に図示した如く、システムクロック160から出力さ
れる。時間T1において、アドレスストローブ信号が活
性化され、有効アドレスが続くことを表す0時間T2に
おいて、MCLKクロックの約4分の1後、有効アドレ
ス及び機能コード出力がプロセサ/キャッシュインター
フェースバス、PDF及びFC,の夫々の適宜のライン
上に受け取られる。時間T3におい−て、アドレスライ
ンは3状態(フロート)であり且つデータはキャッシュ
メモリ及び/又はメインメモリへ適宜書き込まれる。複
数個のデータワードを転送することが可能である6単一
のカッド又は16ワードモードはFCライン上の機能コ
ードによって決定される。時間T4において、応答コー
ドが出力され、転送が完了したことを表し、サイクルを
終了する。
図に図示した如く、システムクロック160から出力さ
れる。時間T1において、アドレスストローブ信号が活
性化され、有効アドレスが続くことを表す0時間T2に
おいて、MCLKクロックの約4分の1後、有効アドレ
ス及び機能コード出力がプロセサ/キャッシュインター
フェースバス、PDF及びFC,の夫々の適宜のライン
上に受け取られる。時間T3におい−て、アドレスライ
ンは3状態(フロート)であり且つデータはキャッシュ
メモリ及び/又はメインメモリへ適宜書き込まれる。複
数個のデータワードを転送することが可能である6単一
のカッド又は16ワードモードはFCライン上の機能コ
ードによって決定される。時間T4において、応答コー
ドが出力され、転送が完了したことを表し、サイクルを
終了する。
両方のコピーバック及びライトスル−メインメモリ14
0アツプデート作戦はキャッシュMMU内で得られ、且
つページ毎に混合させることが可能である。ページテー
ブル内に位置されている制御ビットはTLB内にロード
されてどの作戦を使用すべきかを決定する。
0アツプデート作戦はキャッシュMMU内で得られ、且
つページ毎に混合させることが可能である。ページテー
ブル内に位置されている制御ビットはTLB内にロード
されてどの作戦を使用すべきかを決定する。
コピーバックは通常一層高い性能を発生する。
データは、それがキャッシュMMUから除去された時に
のみメインメモリへ書き戻される。これらの書込は、キ
ャッシュ内へのブロックのフェッチとかなりオーバーラ
ツプすることが可能である。
のみメインメモリへ書き戻される。これらの書込は、キ
ャッシュ内へのブロックのフェッチとかなりオーバーラ
ツプすることが可能である。
従って、コピーバックは通常パストラフィックを節減し
、連続する書込の順番待ちに起因する遅延を最小とする
。
、連続する書込の順番待ちに起因する遅延を最小とする
。
ライトスルーは2つの利点を持っている。第1に、メイ
ンメモリは常にアップツーディトであり、システムの信
頼性は改善されている。何故ならば、キャッシュチップ
又はプロセサ故障はメインメモリ内容の喪失を発生させ
ることはないからである。
ンメモリは常にアップツーディトであり、システムの信
頼性は改善されている。何故ならば、キャッシュチップ
又はプロセサ故障はメインメモリ内容の喪失を発生させ
ることはないからである。
第2に、マルチプロセサシステムにおいて、ライトスル
ーはプロセサ同士で共用されているメインメモリ間の一
貫性を維持することを容易とする。
ーはプロセサ同士で共用されているメインメモリ間の一
貫性を維持することを容易とする。
オペレーティングシステムは、ライトスル一対コピーパ
ックを決定するこれらのタグをユーザに使用可能とさせ
ることが可能であり、従ってユーザは適切な選択を行う
ことが可能である。
ックを決定するこれらのタグをユーザに使用可能とさせ
ることが可能であり、従ってユーザは適切な選択を行う
ことが可能である。
第17A図及び第17B図は、CPU410と。
キャッシュMMU412と、メインメモリ414との間
の動作のデータの流れを示している。第17A図を参照
すると、コピーパック高速書込動作用のデータの流れを
示しである。CPU410は、キャッシュメモリ管理ユ
ニット412内に格納する為のデータを出力する。これ
はその位置でのキャッシュメモリの内容をよごし即ちダ
ーティ状態とする。パージと共に、キャッシュメモリ管
理ユニット412はダーティデータをメインメモリ41
4内の夫々の専有ページへ再書込を行う、プロセサ41
0は、パージされているキャッシュMMU412記憶位
置内へ新たなデータを同時的に書き込むことが可能であ
る。これは全体的に高速の書込動作とする利点を与えて
いる。
の動作のデータの流れを示している。第17A図を参照
すると、コピーパック高速書込動作用のデータの流れを
示しである。CPU410は、キャッシュメモリ管理ユ
ニット412内に格納する為のデータを出力する。これ
はその位置でのキャッシュメモリの内容をよごし即ちダ
ーティ状態とする。パージと共に、キャッシュメモリ管
理ユニット412はダーティデータをメインメモリ41
4内の夫々の専有ページへ再書込を行う、プロセサ41
0は、パージされているキャッシュMMU412記憶位
置内へ新たなデータを同時的に書き込むことが可能であ
る。これは全体的に高速の書込動作とする利点を与えて
いる。
第17B図を参照すると、ライトスルーモード動作を示
しである。このモードは、全体的な書込速度を多少犠牲
にして、データの一貫性を維持する。CPU410は、
キャッシュメモリ管理ユニット412のキャッシュメモ
リに対して、又メインメモリ414内の共用ページに対
して同時的に書込を行う。これは、他のプログラムによ
ってアップデータされる如く、共用ページ内の特定の位
置にストアされたデータは最も最近の値であることを確
保する。
しである。このモードは、全体的な書込速度を多少犠牲
にして、データの一貫性を維持する。CPU410は、
キャッシュメモリ管理ユニット412のキャッシュメモ
リに対して、又メインメモリ414内の共用ページに対
して同時的に書込を行う。これは、他のプログラムによ
ってアップデータされる如く、共用ページ内の特定の位
置にストアされたデータは最も最近の値であることを確
保する。
第18図を参照すると、CPU510と、キャッシュメ
モリサブシステム512と、TLB/メモリサブシステ
ム514のデータの流れ及び状態の流れの相互関係が示
されている。更に、キャッシュMMUとCPUのメイン
メモリ516との相互関係も示されており、コピーパッ
ク及びライトスルーモード用のDAT動作及び事象の時
間的関係を示している。
モリサブシステム512と、TLB/メモリサブシステ
ム514のデータの流れ及び状態の流れの相互関係が示
されている。更に、キャッシュMMUとCPUのメイン
メモリ516との相互関係も示されており、コピーパッ
ク及びライトスルーモード用のDAT動作及び事象の時
間的関係を示している。
CPU510は、ステップ1におイテ、TLB/メモリ
サブシステム514へ仮想アドレスを出力し、該サブシ
ステムはステップ2において実アドレスをキャッシュメ
モリサブシステム512へ出力する。ライトスルー動作
が行われているか又はキャッシュミスの場合に、実アド
レスもメインメモリ516へ送られる。DAT動作にお
いて、仮想アドレスの一部にセグメントテーブルオリジ
ンアドレスはステップ2においてメインメモリへ送られ
る。
サブシステム514へ仮想アドレスを出力し、該サブシ
ステムはステップ2において実アドレスをキャッシュメ
モリサブシステム512へ出力する。ライトスルー動作
が行われているか又はキャッシュミスの場合に、実アド
レスもメインメモリ516へ送られる。DAT動作にお
いて、仮想アドレスの一部にセグメントテーブルオリジ
ンアドレスはステップ2においてメインメモリへ送られ
る。
ステップ3において、ストローブモードの場合。
データはコピーパック及びライトスルー両方のモードの
為にキャッシュメモリサブシステム512内に記憶し、
且つ付加的にライト−スルーモードの為にメインメモリ
516内の記憶する為にCPU510から書き出される
。ロードモード動作の場合、ステップ3においては、デ
ータがキャッシュメモリサブシステム512からCPU
510ヘロードされる。キャッシュミスの場合、ステッ
プ3において、データはメインメモリ516からキャッ
シュメモリサブシステム512へ且つCPU510ヘロ
ードされる。コピーパックモードにおいてキャッシュミ
スの場合、ダーティデータがキャッシュ内に存在すると
(即ち、ダーティピットがセット)、メモリサブシステ
ム512はダーティデータをメインメモリ516へ出力
する。
為にキャッシュメモリサブシステム512内に記憶し、
且つ付加的にライト−スルーモードの為にメインメモリ
516内の記憶する為にCPU510から書き出される
。ロードモード動作の場合、ステップ3においては、デ
ータがキャッシュメモリサブシステム512からCPU
510ヘロードされる。キャッシュミスの場合、ステッ
プ3において、データはメインメモリ516からキャッ
シュメモリサブシステム512へ且つCPU510ヘロ
ードされる。コピーパックモードにおいてキャッシュミ
スの場合、ダーティデータがキャッシュ内に存在すると
(即ち、ダーティピットがセット)、メモリサブシステ
ム512はダーティデータをメインメモリ516へ出力
する。
第19図を参照すると、DAT及びTLBアドレス変換
プロセスのデータの流れ及び動作が示されている。仮想
アドレスが実アドレスへの変換を必要とし、且つ要求さ
れた変換に対応する変換値がキャッシュメモリ管理ユニ
ットシステム内にストアされて存在しない場合、第19
図に示した動作が発生する。仮想アドレスレジスターア
キュムレータ(即ち、第9図の310)内にストアされ
て要求された仮想アドレスが、変換を必要とする仮想ア
ドレス゛’VA”(例えば、32ビツト)を与える。第
7C図を参照して説明した如く、仮想アドレスは、10
ビツトのセグメントデータ仮想アトL/XVA <31
: 22)、10ビツトのページアトレXVA<21
:12)、及び12ビツトの変位アドレスVA <11
: O>を有している。
プロセスのデータの流れ及び動作が示されている。仮想
アドレスが実アドレスへの変換を必要とし、且つ要求さ
れた変換に対応する変換値がキャッシュメモリ管理ユニ
ットシステム内にストアされて存在しない場合、第19
図に示した動作が発生する。仮想アドレスレジスターア
キュムレータ(即ち、第9図の310)内にストアされ
て要求された仮想アドレスが、変換を必要とする仮想ア
ドレス゛’VA”(例えば、32ビツト)を与える。第
7C図を参照して説明した如く、仮想アドレスは、10
ビツトのセグメントデータ仮想アトL/XVA <31
: 22)、10ビツトのページアトレXVA<21
:12)、及び12ビツトの変位アドレスVA <11
: O>を有している。
DAT論理は、TLBにミスがある場合に、ダイナミッ
クアドレス変換を実行する。DAT論理は、書込レジス
タが空になるのを待ち、次いでメインメモリへの2つの
読取アクセスを実行する。
クアドレス変換を実行する。DAT論理は、書込レジス
タが空になるのを待ち、次いでメインメモリへの2つの
読取アクセスを実行する。
第1読取はセグメント番号をセグメントテーブルオリジ
ン(STO)へ加算し、且つページテーブルのアドレス
を得る。第2読取はページ番号をページテーブルオリジ
ンへ加算し、且つ、保護ビット、コピーバック/ライト
スルーステータス、ダーティビット等の他の有用な情報
のみならず、ページの実アドレスを得る。各所たなユー
ザ又はプロセスの場合、新たなセグメントテーブルオリ
ジンを使用することが可能である。DATにおけるST
OレジスタはCPU制御の下でロードされる。
ン(STO)へ加算し、且つページテーブルのアドレス
を得る。第2読取はページ番号をページテーブルオリジ
ンへ加算し、且つ、保護ビット、コピーバック/ライト
スルーステータス、ダーティビット等の他の有用な情報
のみならず、ページの実アドレスを得る。各所たなユー
ザ又はプロセスの場合、新たなセグメントテーブルオリ
ジンを使用することが可能である。DATにおけるST
OレジスタはCPU制御の下でロードされる。
2つのSTOレジスタ、即ちユーザモード用に1つと2
スーパーバイザモード用に1つとがある。
スーパーバイザモード用に1つとがある。
ハードウェアは、プロセサステータスワード(PSW)
におけるモードに従って、適切なレジスタを自動的に選
択する。
におけるモードに従って、適切なレジスタを自動的に選
択する。
ページテーブルにおけるアクセス保護ビットは、保護侵
害に対するDAT論理によってチェックされる。それら
が発生すると、CP U、 トラップが発生される。メ
インメモリを読取している間のDAT動作期間中に、デ
ータは訂正されずに従って疑わしい場合、パリティエラ
ーが発生すると、CPUトラップが発生される。
害に対するDAT論理によってチェックされる。それら
が発生すると、CP U、 トラップが発生される。メ
インメモリを読取している間のDAT動作期間中に、デ
ータは訂正されずに従って疑わしい場合、パリティエラ
ーが発生すると、CPUトラップが発生される。
ページテーブル又はセグメントテーブル内のPFビット
はページ障害表示である。そのビットはソフトウェアに
よってセット又はリセットされる。
はページ障害表示である。そのビットはソフトウェアに
よってセット又はリセットされる。
本システムは、仮想アドレス動作無しの場合、非マツブ
トモードとなることが可能である。このモードの場合、
DAT機能は不活性であり且つ保護ビットは使用されな
い、然し乍ら、このモードは、本システムがバッグや悪
性のダメージに弱いので、はんとにたまに使用すべきで
ある。
トモードとなることが可能である。このモードの場合、
DAT機能は不活性であり且つ保護ビットは使用されな
い、然し乍ら、このモードは、本システムがバッグや悪
性のダメージに弱いので、はんとにたまに使用すべきで
ある。
DAT論理が変換を完了した後、仮想アドレス。
実アドレス、及びシステムタグはTLBへ送られ、そこ
でそれらは繰り返される迄将来使用する為にストアされ
る。
でそれらは繰り返される迄将来使用する為にストアされ
る。
DATは以下のメモリマップドエ/○コマンドに応答す
る。
る。
串ロードスーパーバイザSTOレジスタ(特権)傘読取
スーパーバイザSTOレジスタ *ロードユーザST○レジスタ(特権)串読取ユーザS
TOレジスタ 傘ページ又は保護障害を発生した読取仮想アドレス これは第22図を参照してより詳細に説明する。
スーパーバイザSTOレジスタ *ロードユーザST○レジスタ(特権)串読取ユーザS
TOレジスタ 傘ページ又は保護障害を発生した読取仮想アドレス これは第22図を参照してより詳細に説明する。
第21図を参照して後に説明する如く、キャッシュメモ
リ管理ユニットシステムはレジスタスタックを有してい
る。このレジスタースタックは、その中に、夫々のキャ
ッシュメモリ管理ユニットに対してその時に現在のスー
パーバイザ及びユーザに対してスーパーバイザ及びユー
ザセグメントテーブルオリジンの各々に対してセグメン
トテーブルオリジン(即ち、STO)を内蔵している。
リ管理ユニットシステムはレジスタスタックを有してい
る。このレジスタースタックは、その中に、夫々のキャ
ッシュメモリ管理ユニットに対してその時に現在のスー
パーバイザ及びユーザに対してスーパーバイザ及びユー
ザセグメントテーブルオリジンの各々に対してセグメン
トテーブルオリジン(即ち、STO)を内蔵している。
セグメントテーブルオリジンレジスタは32ビツト値を
有しており、その最高位20ビツトはセグメントオリジ
ン値を表している。第19図に示した如く、このSTO
値はSTOエントリアドアトアキュムレータ内のワード
の最高位部分として連結されており、仮想アドレスレジ
スタ310からの10ビツトセグメントアドレスはST
Oエントリアドアトアキュムレータ内のワードの次の最
高位部分として連結されている。その結果得られる30
ビツトアドレスは、メインメモリ内のセグメントテーブ
ルに対するポインタを形成する。
有しており、その最高位20ビツトはセグメントオリジ
ン値を表している。第19図に示した如く、このSTO
値はSTOエントリアドアトアキュムレータ内のワード
の最高位部分として連結されており、仮想アドレスレジ
スタ310からの10ビツトセグメントアドレスはST
Oエントリアドアトアキュムレータ内のワードの次の最
高位部分として連結されている。その結果得られる30
ビツトアドレスは、メインメモリ内のセグメントテーブ
ルに対するポインタを形成する。
キャッシュメモリ管理ユニット内のセグメントテーブル
エントリアドレス(即ぢ、5TOEA)アキュムレータ
は、メインメモリ内のセグメントテーブルをアドレスす
べくメインメモリへ出力されるべきアドレスを蓄積し且
つ連結する。セグメントテーブルオリジン20ビツトを
アドレスビット5TOEA (31: 12)として使
用し、仮想アドレスセグメントビット[VA31 :
22]をセグメントテーブルアドレスの次の10ビツト
5TOEA (11: 2>とシテ使用し、且つ5TO
EAアキユムレータからメインメモリへ出力されるセグ
メントテーブルアドレスのビット位置ST○EA <1
: O>に対してゼロを連結即ち連接することによっ
て32ビツトのアドレスが構成される。キャッシュMM
Uのセグメントテーブルエントリアドレスアキュムレー
タから出力されるセグメントテーブルエントリアドレス
は、システムバスを介してメインメモリへ出力される。
エントリアドレス(即ぢ、5TOEA)アキュムレータ
は、メインメモリ内のセグメントテーブルをアドレスす
べくメインメモリへ出力されるべきアドレスを蓄積し且
つ連結する。セグメントテーブルオリジン20ビツトを
アドレスビット5TOEA (31: 12)として使
用し、仮想アドレスセグメントビット[VA31 :
22]をセグメントテーブルアドレスの次の10ビツト
5TOEA (11: 2>とシテ使用し、且つ5TO
EAアキユムレータからメインメモリへ出力されるセグ
メントテーブルアドレスのビット位置ST○EA <1
: O>に対してゼロを連結即ち連接することによっ
て32ビツトのアドレスが構成される。キャッシュMM
Uのセグメントテーブルエントリアドレスアキュムレー
タから出力されるセグメントテーブルエントリアドレス
は、システムバスを介してメインメモリへ出力される。
これは。
キャッシュMMUシステムから出力されるセグメントテ
ーブルエントリアドレスに対応するメインメモリ内のセ
グメントテーブル内の夫々のページテーブルエントリ(
即ち、PTE)へアクセスを与える。アドレスされたメ
インメモリ位置の最高位20データビツト、31:12
、は、キャッシュMMUシス≠ムのDAT内のページテ
ーブルエントリアドレス(即ち、PTEA)アキュムレ
ータ内に記憶する為にメインメモリからキャッシュMM
Uへ出力される。ページテーブルエントリアドレスのこ
れらの20ビツトは32ビツトワードの最高位20ビツ
トとしてP、T、E、A、アキュムレータ内に連接され
る0次に最高位の10ビツトは、ページ選択ビットを表
している仮想アドレスレジスタ310ビツトVA<21
:12>からの出力と連接される。ページテーブルエン
トリアドレスアキュムレータ出力の最小2桁ビットはゼ
ロである。キャッシュMMUのページテーブルエントリ
アドレスアキュムレータは、システムバスを介して、メ
インメモリへ32ビツトアドレスを出力する。
ーブルエントリアドレスに対応するメインメモリ内のセ
グメントテーブル内の夫々のページテーブルエントリ(
即ち、PTE)へアクセスを与える。アドレスされたメ
インメモリ位置の最高位20データビツト、31:12
、は、キャッシュMMUシス≠ムのDAT内のページテ
ーブルエントリアドレス(即ち、PTEA)アキュムレ
ータ内に記憶する為にメインメモリからキャッシュMM
Uへ出力される。ページテーブルエントリアドレスのこ
れらの20ビツトは32ビツトワードの最高位20ビツ
トとしてP、T、E、A、アキュムレータ内に連接され
る0次に最高位の10ビツトは、ページ選択ビットを表
している仮想アドレスレジスタ310ビツトVA<21
:12>からの出力と連接される。ページテーブルエン
トリアドレスアキュムレータ出力の最小2桁ビットはゼ
ロである。キャッシュMMUのページテーブルエントリ
アドレスアキュムレータは、システムバスを介して、メ
インメモリへ32ビツトアドレスを出力する。
ページテーブルエントリアドレスは、メインメモリ内の
ページテーブル内のラインへのエントリ点を選択する。
ページテーブル内のラインへのエントリ点を選択する。
ページテーブル内の各ラインは、複数のフィールドを有
しており、対応する仮想アドレスに対して、変換された
実アドレス、システムタグ、保護、ダーティ、参照、及
びページ障害値を有している0図示した如く、ページテ
ーブルからの選択されたラインは、20ビツトの実アド
レス“RA”、5ビツトのシステムタグ情報ST。
しており、対応する仮想アドレスに対して、変換された
実アドレス、システムタグ、保護、ダーティ、参照、及
びページ障害値を有している0図示した如く、ページテ
ーブルからの選択されたラインは、20ビツトの実アド
レス“RA”、5ビツトのシステムタグ情報ST。
4ビツトの保護レベル情報PL、1ビツトのダーティ情
報D、1ビツトの参照情報R1及びページ障害情報PF
を有している。これらのフィールドは第11A図及び第
11B図を参照して詳細に説明しである。
報D、1ビツトの参照情報R1及びページ障害情報PF
を有している。これらのフィールドは第11A図及び第
11B図を参照して詳細に説明しである。
TLBのメモリアレイ内に格納する為に、ページテーブ
ルからの選択されたラインはメインメモリからキャッシ
ュMMU内のTLBへ転送される。
ルからの選択されたラインはメインメモリからキャッシ
ュMMU内のTLBへ転送される。
次に、ページテーブル内の丁度参照したラインに対して
、TLBからの20ビツトの実アドレスは出力され且つ
キャッシュMMU内の実アドレスアキュムレータの最高
位20ビツトへ供給される。
、TLBからの20ビツトの実アドレスは出力され且つ
キャッシュMMU内の実アドレスアキュムレータの最高
位20ビツトへ供給される。
これらの20ビツトは、最高位20ビツトとして実アド
レスアキュムレータ内に連接され、仮想アドレスレジス
タ310の最小12桁ピットVA(11: O>と共に
、実アドレス−アキュムレータからの32ビツト実アド
レス出力を与える。この実アドレスアキュムレータから
の出力は、次いで。
レスアキュムレータ内に連接され、仮想アドレスレジス
タ310の最小12桁ピットVA(11: O>と共に
、実アドレス−アキュムレータからの32ビツト実アド
レス出力を与える。この実アドレスアキュムレータから
の出力は、次いで。
システムバスを介して、メインメモリへ出力されて、所
望の実アドレス位置を選択する。この実アドレス出力に
応答して、ブロックのワードが格納される為にキャッシ
ュメモリサブシステムへ転送される0次いで、キャッシ
ュMMUは、初期的に要求された1つ又はそれ以上のワ
ードの情報をCPUへ転送する。第19図に示した1手
順は、レジスタアキュムレータ310内に収納されてい
る仮想アドレスがキャッシュMMUのTLB内にストア
されている対応する変換値を持っていない場合にのみ必
要とされる。従って、キャッシュMMU内に現在ストア
されている何れのアドレス可能な位置に対しても、変換
データは既に存在している。
望の実アドレス位置を選択する。この実アドレス出力に
応答して、ブロックのワードが格納される為にキャッシ
ュメモリサブシステムへ転送される0次いで、キャッシ
ュMMUは、初期的に要求された1つ又はそれ以上のワ
ードの情報をCPUへ転送する。第19図に示した1手
順は、レジスタアキュムレータ310内に収納されてい
る仮想アドレスがキャッシュMMUのTLB内にストア
されている対応する変換値を持っていない場合にのみ必
要とされる。従って、キャッシュMMU内に現在ストア
されている何れのアドレス可能な位置に対しても、変換
データは既に存在している。
これは、キャッシュからメインメモリへの書き戻しの全
ての場合を包含する。
ての場合を包含する。
第20図を参照すると、キャッシュMMUのブロック線
図が示されている。第1図のキャッシュバス121又は
131へのプロセサはCPUインターフェース600へ
接続する。キャッシュメモリサブシステム610.TL
Bサブシステム620、レジスタスタック630、シス
テムインターフェース640.及びマイクロプログラム
化された制御及びDAT論理650は全てCPUインタ
ーフェース600へ接続されている。仮想アドレスバス
(すなわち、VA)はCPUインターフエーツス600
からキャッシュサブシステム610、TLBサブシステ
ム620、及びレジスタスタックサブシステム630の
各々へ接続されている。
図が示されている。第1図のキャッシュバス121又は
131へのプロセサはCPUインターフェース600へ
接続する。キャッシュメモリサブシステム610.TL
Bサブシステム620、レジスタスタック630、シス
テムインターフェース640.及びマイクロプログラム
化された制御及びDAT論理650は全てCPUインタ
ーフェース600へ接続されている。仮想アドレスバス
(すなわち、VA)はCPUインターフエーツス600
からキャッシュサブシステム610、TLBサブシステ
ム620、及びレジスタスタックサブシステム630の
各々へ接続されている。
キャッシュサブシステム610からCPUインターフェ
ース600へのデータ出力バス(即ち、DO)は、Do
[31: 00]として示されている、キャッシュメ
モリサブシステム610のメモリサブシステムからのデ
ータ出力を接続する。
ース600へのデータ出力バス(即ち、DO)は、Do
[31: 00]として示されている、キャッシュメ
モリサブシステム610のメモリサブシステムからのデ
ータ出力を接続する。
nDT [:31 : 00]として示されている双方
向性データバスは、キャッシュMMUによって行われて
いる動作に従って、データ、仮想アドレス。
向性データバスは、キャッシュMMUによって行われて
いる動作に従って、データ、仮想アドレス。
実アドレス、又は機能コードの選択的結合を与える。n
DTバスは、キャッシュMMUシステム要素600.6
10.620.630.640、及び650と接続する
。システムインターフェース640は一方の側でシステ
ムバスと接続し、且つ内部キャッシュMMU側でnDT
バス及び5YRAバスへ接続する。5YRAバスは、シ
ステムインターフェース640を介して、システムバス
からの実アドレスを、TLB620及びキャッシュサブ
システム610へ供給する6図示した如く、該アドレス
の変位部分を表している最小12桁ビットは、キャッシ
ュメモリサブシステム610へ接続される。最高位20
ビツトの5YRA [31:12]は、5YRAバスか
らTLBサブシステム620へ接続される。制御及びD
AT論理650は、TLB620ミス又はキャッシュサ
ブシステム610ミスの後にシステムバスインターフェ
ースと共同し、且つDAT動作を制御する。
DTバスは、キャッシュMMUシステム要素600.6
10.620.630.640、及び650と接続する
。システムインターフェース640は一方の側でシステ
ムバスと接続し、且つ内部キャッシュMMU側でnDT
バス及び5YRAバスへ接続する。5YRAバスは、シ
ステムインターフェース640を介して、システムバス
からの実アドレスを、TLB620及びキャッシュサブ
システム610へ供給する6図示した如く、該アドレス
の変位部分を表している最小12桁ビットは、キャッシ
ュメモリサブシステム610へ接続される。最高位20
ビツトの5YRA [31:12]は、5YRAバスか
らTLBサブシステム620へ接続される。制御及びD
AT論理650は、TLB620ミス又はキャッシュサ
ブシステム610ミスの後にシステムバスインターフェ
ースと共同し、且つDAT動作を制御する。
第21図を参照すると、第20図のより詳細なブロック
図が示されている。CPUインターフェース600の、
キャッシュ出力レジス601.キャッシュ入力レジスタ
603、及びアドレス入力レジスタ605は第81fi
に一層詳細に示しである。
図が示されている。CPUインターフェース600の、
キャッシュ出力レジス601.キャッシュ入力レジスタ
603、及びアドレス入力レジスタ605は第81fi
に一層詳細に示しである。
第21図は、読取/修正/書込動作1機能コードレジス
タ606、及びトラップエンコーダ607を実行する為
のマルチプレクサ602、読取−書込論理604を更に
示しである。
タ606、及びトラップエンコーダ607を実行する為
のマルチプレクサ602、読取−書込論理604を更に
示しである。
読取/修正/書込論理604は、キャッシュメモリサブ
システム610のキャッシュメモリ611からのマルチ
プレクサ614を介して、及びキャッシュ出力レジスタ
601へ及びそこからプロセサ/キャッシュバスへの選
択的相互接続の為のCPUインターフェース600のマ
ルチプレクサ602を介して、キャッシュメモリサブシ
ステム出力のマルチプレクス動作を調整する。別法とし
て、マルチプレクサ602は、キャッシュMMUシステ
ム内部のnDTバスを介してシステムバスインターフェ
ース640から、又は読取/修正/書込論理604から
のデータを受け取ることが可能である。RMW論理60
4は、それへの入力として、キャッシュ出力レジスタ6
01出力、及びキャッシュ入力レジスタ603出−力を
持っている。
システム610のキャッシュメモリ611からのマルチ
プレクサ614を介して、及びキャッシュ出力レジスタ
601へ及びそこからプロセサ/キャッシュバスへの選
択的相互接続の為のCPUインターフェース600のマ
ルチプレクサ602を介して、キャッシュメモリサブシ
ステム出力のマルチプレクス動作を調整する。別法とし
て、マルチプレクサ602は、キャッシュMMUシステ
ム内部のnDTバスを介してシステムバスインターフェ
ース640から、又は読取/修正/書込論理604から
のデータを受け取ることが可能である。RMW論理60
4は、それへの入力として、キャッシュ出力レジスタ6
01出力、及びキャッシュ入力レジスタ603出−力を
持っている。
機能コードレジスタ606及びトラップコードエンコー
ダ607はプロセサへ接続される。機能コードレジスタ
606は、キャッシュMMUシステムの他の部分へ信号
を供給する為にプロセサから受けとられる機能コードに
応答する。トラップ論理607は、キャッシュMMUシ
ステム内からのエラー障害に応答し且つ与えられたエラ
ー障害に対してトラップ論理に応答してプロセサへ出力
を供給する。
ダ607はプロセサへ接続される。機能コードレジスタ
606は、キャッシュMMUシステムの他の部分へ信号
を供給する為にプロセサから受けとられる機能コードに
応答する。トラップ論理607は、キャッシュMMUシ
ステム内からのエラー障害に応答し且つ与えられたエラ
ー障害に対してトラップ論理に応答してプロセサへ出力
を供給する。
第9図を参照して説明した如く、キャッシュメモリサブ
システム610は、2つの64ラインキヤツシユストア
を持ったキャッシュメモリアレイ611を有している。
システム610は、2つの64ラインキヤツシユストア
を持ったキャッシュメモリアレイ611を有している。
キャッシュメモリアレイ611のWおよびX半分の各々
からのカッド語出力は、夫々のカッド妬ラインレジスタ
612及び616へ供給される。カッド語レジスタ61
2及び616は各々、CPUインターフェース600を
介してプロセサ/キャッシュバスへ又はシステムインタ
ーフェース640を介してシステムバスへ接続する為に
、nDTパスへ独立的に接続されている。
からのカッド語出力は、夫々のカッド妬ラインレジスタ
612及び616へ供給される。カッド語レジスタ61
2及び616は各々、CPUインターフェース600を
介してプロセサ/キャッシュバスへ又はシステムインタ
ーフェース640を介してシステムバスへ接続する為に
、nDTパスへ独立的に接続されている。
キャッシュメモリアレイ611のW及びX半分からの実
アドレス出力は、比較器615及び617の夫々の各々
1人力へ接続されており、その各々はヒツト/ミス信号
出力を与える。比較器615及び617の各々の他方の
入力はマルチプレクサ618の出力へ接続される。マル
チプレクサ618は実アドレスを出力する。実アドレス
入力は、5YRAバスを介してシステムバスインターフ
ェース640から、且つCPUインターフェース600
を介してプロセサ/キャッシュバスから受け取られる物
理的アドレスに応答してTLBメモリアレイ621から
変換された実アドレスを与えるTLBサブシステム62
0のマルチプレクサ622からマルチプレクサ618へ
供給される。
アドレス出力は、比較器615及び617の夫々の各々
1人力へ接続されており、その各々はヒツト/ミス信号
出力を与える。比較器615及び617の各々の他方の
入力はマルチプレクサ618の出力へ接続される。マル
チプレクサ618は実アドレスを出力する。実アドレス
入力は、5YRAバスを介してシステムバスインターフ
ェース640から、且つCPUインターフェース600
を介してプロセサ/キャッシュバスから受け取られる物
理的アドレスに応答してTLBメモリアレイ621から
変換された実アドレスを与えるTLBサブシステム62
0のマルチプレクサ622からマルチプレクサ618へ
供給される。
カッド語レジスタ612及び616の各々はマルチプレ
クサ614に接続する独立した出力を持っている。マル
チプレクサ614は、キャッシュ出力レジスタ601へ
の選択的接続をする為にマルチプレクサ602へ選択情
報のワードを選択的に出力する。
クサ614に接続する独立した出力を持っている。マル
チプレクサ614は、キャッシュ出力レジスタ601へ
の選択的接続をする為にマルチプレクサ602へ選択情
報のワードを選択的に出力する。
第9図を参照して説明した如く、マルチプレクサ613
は、CPUインターフェース600から又はTLB62
0からの何れかから、実アドレスの下位部分を選択的に
マルチプレクサ613へ接続して、キャッシュメモリア
レイ611への選択的出力及び接続をし、その中のライ
ンを選択する。
は、CPUインターフェース600から又はTLB62
0からの何れかから、実アドレスの下位部分を選択的に
マルチプレクサ613へ接続して、キャッシュメモリア
レイ611への選択的出力及び接続をし、その中のライ
ンを選択する。
TLBメモリアレイ621は、アドレス入力レジスタ6
05を介して出力として、nDTバスからのアドレス又
はCPUインターフェース600から供給されるアドレ
スの何れかに応答してその中の選択されたラインから出
力を選択的に与える。
05を介して出力として、nDTバスからのアドレス又
はCPUインターフェース600から供給されるアドレ
スの何れかに応答してその中の選択されたラインから出
力を選択的に与える。
アドレス入力レジスタ605の仮想アドレス出力の一部
(即ち、下位部分ビット12乃至0)は。
(即ち、下位部分ビット12乃至0)は。
TLBメモリサブシステム621へ接続され、且つより
高位の部分(即ち、ビット31乃至22)はTLB62
0の比較器623及び624の各々の1人力へ接続され
ている。第9図を参照して説明した如く、W及びX半分
の各々に対して、TLBメモリアレイサブシステム62
1からの変換された仮想アドレス出力は比較器623及
び624の他方の入力へ接続されている。比較器623
及び624の各々は独立的なヒツト/ミス信号出力を与
える。マルチプレクサ622はTLBメモリサブシステ
ム621のW及びX半分からの出力としてそれに接続さ
れる実アドレス入力を持っている。マルチプレクサ62
2は、比較器623及び624のヒツト/ミス出力に応
答して、キャッシュメモリサブシステム610のマルチ
プレクサ618の入力端への変換した実アドレスの出力
を選択的に与える。
高位の部分(即ち、ビット31乃至22)はTLB62
0の比較器623及び624の各々の1人力へ接続され
ている。第9図を参照して説明した如く、W及びX半分
の各々に対して、TLBメモリアレイサブシステム62
1からの変換された仮想アドレス出力は比較器623及
び624の他方の入力へ接続されている。比較器623
及び624の各々は独立的なヒツト/ミス信号出力を与
える。マルチプレクサ622はTLBメモリサブシステ
ム621のW及びX半分からの出力としてそれに接続さ
れる実アドレス入力を持っている。マルチプレクサ62
2は、比較器623及び624のヒツト/ミス出力に応
答して、キャッシュメモリサブシステム610のマルチ
プレクサ618の入力端への変換した実アドレスの出力
を選択的に与える。
アドレス保護論理625は、第19図を参照して説明し
た如く、ページテーブルエントリから初期的にロードさ
れる情報に応答して、成るTLBラインに対しての読取
及び書込アクセスの選択的保護を与える。
た如く、ページテーブルエントリから初期的にロードさ
れる情報に応答して、成るTLBラインに対しての読取
及び書込アクセスの選択的保護を与える。
レジスタスタック630は、2つのセグメントテーブル
オリジナルレジスタ内のセグメントテーブルオリジン値
の格納を与える。レジスタスタック630は、セグメン
トテーブル−オリジンスーパーバイザ及びユーザレジス
タ、障害アドレスレジスタF、及びエラーアドレスレジ
スタの如きその他のレジスタを有している。
オリジナルレジスタ内のセグメントテーブルオリジン値
の格納を与える。レジスタスタック630は、セグメン
トテーブル−オリジンスーパーバイザ及びユーザレジス
タ、障害アドレスレジスタF、及びエラーアドレスレジ
スタの如きその他のレジスタを有している。
制御及びDAT論理650は、直接アドレス変換論理、
フェッチ論理、書込論理、読取論理、及びI10コマン
ド動作論理を与える。
フェッチ論理、書込論理、読取論理、及びI10コマン
ド動作論理を与える。
第22図を参照すると、第21図の制御論理マイクロエ
ンジンの詳細なブロック線図が示されている。該マイク
ロエンジンは、リードオンリメモリ700を有すると共
に、プログラムカウンタ710とスタックポインタ71
5と命令レジスタ720とベクトル発生器730と条件
コード信号セレクタ740と信号コントローラ命令デコ
ーダ750と出力レジスタ760とを具備するマイクロ
エンジン動作サブシステムを有している。
ンジンの詳細なブロック線図が示されている。該マイク
ロエンジンは、リードオンリメモリ700を有すると共
に、プログラムカウンタ710とスタックポインタ71
5と命令レジスタ720とベクトル発生器730と条件
コード信号セレクタ740と信号コントローラ命令デコ
ーダ750と出力レジスタ760とを具備するマイクロ
エンジン動作サブシステムを有している。
プログラムカウンタ710は、プログラムカウンターア
キュムレータレジスタ712と、マルチプレクサ713
と、インクリメント論理711とを有している。マルチ
プレクサ713は、信号コントローラ/命令デコーダ7
50からの出力としてのマルチプレクス選択信号MUX
SLTに応答して、プログラムカウンターアキュムレー
タレジスタフ12へ信号出力を与える。これは、ベクト
ル発生器730からの8ビツトベクトルアドレス出力、
信号コントローラ/命令デコーダシステム750からの
出力としてのPCインクリメント信号PCINGに応答
してインクリメント論理711からの次の逐次的プログ
ラムカウンタアドレスの出力、又は命令レジスタ720
のブランチアドレスレジスタからの出力としてのブラン
チアドレス、の1つを選択する。マルチプレクサ713
の出力は、プログラムカウンタアキュムレータレジスタ
712へ供給され、PC出力アドレスPCOUTとして
そこから選択的出力を与える。pc。
キュムレータレジスタ712と、マルチプレクサ713
と、インクリメント論理711とを有している。マルチ
プレクサ713は、信号コントローラ/命令デコーダ7
50からの出力としてのマルチプレクス選択信号MUX
SLTに応答して、プログラムカウンターアキュムレー
タレジスタフ12へ信号出力を与える。これは、ベクト
ル発生器730からの8ビツトベクトルアドレス出力、
信号コントローラ/命令デコーダシステム750からの
出力としてのPCインクリメント信号PCINGに応答
してインクリメント論理711からの次の逐次的プログ
ラムカウンタアドレスの出力、又は命令レジスタ720
のブランチアドレスレジスタからの出力としてのブラン
チアドレス、の1つを選択する。マルチプレクサ713
の出力は、プログラムカウンタアキュムレータレジスタ
712へ供給され、PC出力アドレスPCOUTとして
そこから選択的出力を与える。pc。
UTはインクリメント論理711へ、スタックポインタ
715へ、及びリードオンリメモリサブシステム700
のアドレス選択入力端へ接続される。
715へ、及びリードオンリメモリサブシステム700
のアドレス選択入力端へ接続される。
第22図に示した如く、メモリ700は、各々が52ビ
ツトの256ラインを有しており、各ラインは命令レジ
スタ720及び/又は出力レジスタ760へ出力される
べき命令及び/又はデータ値を持っている。最大桁ビッ
ト部分(即ち、出力ビツト51乃至48)は、リードオ
ンリメモリサブシステム700から命令レジスタ720
の命令レジスタ723のタイプへ供給される。これらの
ビットは、該ラインの残りのビットが命令又は制御信号
出力を有しているか否かを表す、該ラインの残りのビッ
ト(即ち、ビット47乃至O)は出力レジスタ760へ
供給され、且つ命令レジスタ720へ供給される。これ
らのビットはブランチアドレスレジスタ721 (即ち
、リードオンリメモリ700出力のビット40乃至47
)及び条件コードレジスタ722(即ち、ビット26乃
至0)へ供給される。
ツトの256ラインを有しており、各ラインは命令レジ
スタ720及び/又は出力レジスタ760へ出力される
べき命令及び/又はデータ値を持っている。最大桁ビッ
ト部分(即ち、出力ビツト51乃至48)は、リードオ
ンリメモリサブシステム700から命令レジスタ720
の命令レジスタ723のタイプへ供給される。これらの
ビットは、該ラインの残りのビットが命令又は制御信号
出力を有しているか否かを表す、該ラインの残りのビッ
ト(即ち、ビット47乃至O)は出力レジスタ760へ
供給され、且つ命令レジスタ720へ供給される。これ
らのビットはブランチアドレスレジスタ721 (即ち
、リードオンリメモリ700出力のビット40乃至47
)及び条件コードレジスタ722(即ち、ビット26乃
至0)へ供給される。
命令レジスタ723からの出力は、命令レジスタ723
から信号コントローラ750へ供給される。命令レジス
タ723は、信号コントローラ750から出力されるC
Rh o l d信号に応答して。
から信号コントローラ750へ供給される。命令レジス
タ723は、信号コントローラ750から出力されるC
Rh o l d信号に応答して。
命令タイプ情報を出力する0例えば、リードオンリメモ
リ700出力のビット48乃至51を使用して、000
は出力命令を表すことが出来、Oolはブランチ命令、
010はコール命令、011は待ち命令、100はリタ
ーン命令、1o1及び110はベクトル動作、111は
no−op動作を夫々表すものとすることが可能である
。
リ700出力のビット48乃至51を使用して、000
は出力命令を表すことが出来、Oolはブランチ命令、
010はコール命令、011は待ち命令、100はリタ
ーン命令、1o1及び110はベクトル動作、111は
no−op動作を夫々表すものとすることが可能である
。
条件コードレジスタ722の出力は、条件信号選択論理
740へ供給される。条件コードデコーダ740は又条
件コード及びそれと結合されたステータス入力を持って
いる。これらの信号は、キャッシュ又はTLBミス、読
取又は書込等の動作のステータスを告げる機能コード、
ステータス及び条件コード情報等を表す。条件コードデ
コーダ740は、信号コントローラ750へ″′トーク
ン”出力を与えてステータスを表し、且つ更にベクトル
番号をベクトル発生器730へ出力する。ミス及び/又
は機能コード情報の組み合わせはベクトルプロセス用の
デスティネーションアドレスを定義する。
740へ供給される。条件コードデコーダ740は又条
件コード及びそれと結合されたステータス入力を持って
いる。これらの信号は、キャッシュ又はTLBミス、読
取又は書込等の動作のステータスを告げる機能コード、
ステータス及び条件コード情報等を表す。条件コードデ
コーダ740は、信号コントローラ750へ″′トーク
ン”出力を与えてステータスを表し、且つ更にベクトル
番号をベクトル発生器730へ出力する。ミス及び/又
は機能コード情報の組み合わせはベクトルプロセス用の
デスティネーションアドレスを定義する。
信号コントローラ750は、ベクトル発生器730へ供
給されるベクトル信号ターイミング出力(即ち、VCT
s、VCTc)を与える。ベクトル動作が表される場合
、ベクトルアドレスは、マルチプレクサ713を介して
プログラムカウンタアキュムレータ712内にベクトル
発生器730からロードされ、且つPCカウンタ710
はベクトルルーチンが完了する迄tpクシ−ンス命令イ
ンクリメントされる。
給されるベクトル信号ターイミング出力(即ち、VCT
s、VCTc)を与える。ベクトル動作が表される場合
、ベクトルアドレスは、マルチプレクサ713を介して
プログラムカウンタアキュムレータ712内にベクトル
発生器730からロードされ、且つPCカウンタ710
はベクトルルーチンが完了する迄tpクシ−ンス命令イ
ンクリメントされる。
ブランチアドレスレジスタ721は、プログラムカウン
タ710へ選択的にブランチアドレス信号を出力し、そ
の際に信号コントローラ命令デコーダ750から出力さ
れる制御信号に従って使用する。出力レジスタ760か
らの信号出力は、信号コントローラ750から出力レジ
スタ760への出力レジスタ保持” OR保持″信号の
選択的出力に応答する。出力レジスタ760がら出力さ
れる信号はキャッシュMMUシステムの他のエリアへ供
給され(即ち、制御信号及び/又はデータ)、キャッシ
ュMMUシステムの該他のエリアによって使用される。
タ710へ選択的にブランチアドレス信号を出力し、そ
の際に信号コントローラ命令デコーダ750から出力さ
れる制御信号に従って使用する。出力レジスタ760か
らの信号出力は、信号コントローラ750から出力レジ
スタ760への出力レジスタ保持” OR保持″信号の
選択的出力に応答する。出力レジスタ760がら出力さ
れる信号はキャッシュMMUシステムの他のエリアへ供
給され(即ち、制御信号及び/又はデータ)、キャッシ
ュMMUシステムの該他のエリアによって使用される。
以上、本発明の具体的実施の態様に付いて詳細に説明し
たが、本発明はこれら具体例にのみ限定されるべきもの
では無く1本発明の技術的範囲を逸脱すること無しに種
々の変形が可能であることは勿論である。
たが、本発明はこれら具体例にのみ限定されるべきもの
では無く1本発明の技術的範囲を逸脱すること無しに種
々の変形が可能であることは勿論である。
第1図は本発明に基づくマイクロプロセサをベースとし
た二重キャッシュ/二重バスシステムアーキテクチャ−
のブロック線図、第2図は第1図の命令インターフェー
スのブロック線図、第3図は第2図の命令インターフェ
ース100の命令デコーダ120のより詳細なブロック
線図、第4図は第1図の命令キャッシュ/プロセサバス
とデータキャッシュ/プロセサバスとシステムバス二重
バス/二重キャッシュシステムを示した電気概略図、第
5図は第4図のキャッシュインターフェースへのシステ
ムバスを示したより詳細な概略図、第6図は命令キャッ
シュMMUとシステムバスとの間のドライバ/レシーバ
を示した電気的概略図。 第7A図乃至第7C図は本発明で使用される仮想メモリ
と実メモリと仮想アドレス概念とを夫々示した各概略図
、第8図はキャッシュメモリ管理ユニットの電気的ブロ
ック線図、第9図は第8図のキャッシュメモリ管理ユニ
ットの電気的ブロック線図、第10A図及び第10B図
はキャッシュメモリサブシステム320内の記憶構造を
示した各概略図、第11A図及び第11B図はTLBメ
モリサブシステム350記憶構造をより詳細に示した各
概略図、第12図はキャッシュメモリカッド語境界組織
を示した概略図、第13図はTLBサブシステムによっ
て与えられるハードワイヤード化した仮想から実への変
換を示した説明図、第14図はラインレジスタ及びライ
ン境界レジスタを使用するカッド語境界を支持するキャ
ッシュメモリサブシステム及び関連したキャッシュMM
Uアーキテクチャ−を示した概略図、第15図は第1図
キャッシュMMUシステム120及び130用のロード
タイミングを示した説明図、第16図はコピーバックモ
ードにおいてキャッシュMMUへCPUからの記憶及び
ライトスルー動作モードの為のCPUからキャッシュM
MU及びメインメモリへの記憶の為に第1図のキャッシ
ュMMUシステム120及び130用のストア動作を示
した説明図、第17A図及び第17B図はCPUとキャ
ッシュMMU及びメインメモリとの間の動作のデータの
流れを示した各説明図、第18図はCPUとキャッシュ
メモリサブシステムとTLBメモリサブシステムのデー
タの流れ及び状態の流れ相互関係を示した説明図、第1
9図はアドレス変換とデータ格納とロード動作を実行す
る上でDAT及びTLBサブシステムのデータの流れ及
び動作を示した説明図、第20図はキャッシュMMU内
部のバスインターフェース構成を具備するキャッシュM
MUシステムのブロック線図、第21図は第20図のよ
り詳細な電気的ブロック線図、第22図は第21図の制
御論理マイクロエンジン650の詳細な電気的ブロック
線図、である。 (符号の説明) 110:中央処理袋[(CPU) 115ニジステムステータスバス 120:命令キャッシュメモリ管−環ユニット121:
命令バス 130:データキャッシュメモリ管理ユニット131:
データバス 14o:メインメモリ 141ニジステムバス 150:I10処理−Lニット(IOP)151:I1
0バス 160ニジステムクロツク 170:インタラプトコントローラ 180:バス調整ユニット 特許出願人 フェアチャイルド セミコンダクタ
コーポレーション LJIJLAJ/XXX 0OOOIX
XX lXlXX−ユニ二=;14− 二二==冥!7A− −二:コ;I9− 二=至9−22− 手続補正書坊幻 昭和61年6月27日 特許庁長官 宇 賀 道 部 殿 16事件の表示 昭和61年 特 許 願 第38
127号2、発明の名称 キャッシュMMUシステ
ム3、補正をする者 事件との関係 特許出願人 4、代理人
た二重キャッシュ/二重バスシステムアーキテクチャ−
のブロック線図、第2図は第1図の命令インターフェー
スのブロック線図、第3図は第2図の命令インターフェ
ース100の命令デコーダ120のより詳細なブロック
線図、第4図は第1図の命令キャッシュ/プロセサバス
とデータキャッシュ/プロセサバスとシステムバス二重
バス/二重キャッシュシステムを示した電気概略図、第
5図は第4図のキャッシュインターフェースへのシステ
ムバスを示したより詳細な概略図、第6図は命令キャッ
シュMMUとシステムバスとの間のドライバ/レシーバ
を示した電気的概略図。 第7A図乃至第7C図は本発明で使用される仮想メモリ
と実メモリと仮想アドレス概念とを夫々示した各概略図
、第8図はキャッシュメモリ管理ユニットの電気的ブロ
ック線図、第9図は第8図のキャッシュメモリ管理ユニ
ットの電気的ブロック線図、第10A図及び第10B図
はキャッシュメモリサブシステム320内の記憶構造を
示した各概略図、第11A図及び第11B図はTLBメ
モリサブシステム350記憶構造をより詳細に示した各
概略図、第12図はキャッシュメモリカッド語境界組織
を示した概略図、第13図はTLBサブシステムによっ
て与えられるハードワイヤード化した仮想から実への変
換を示した説明図、第14図はラインレジスタ及びライ
ン境界レジスタを使用するカッド語境界を支持するキャ
ッシュメモリサブシステム及び関連したキャッシュMM
Uアーキテクチャ−を示した概略図、第15図は第1図
キャッシュMMUシステム120及び130用のロード
タイミングを示した説明図、第16図はコピーバックモ
ードにおいてキャッシュMMUへCPUからの記憶及び
ライトスルー動作モードの為のCPUからキャッシュM
MU及びメインメモリへの記憶の為に第1図のキャッシ
ュMMUシステム120及び130用のストア動作を示
した説明図、第17A図及び第17B図はCPUとキャ
ッシュMMU及びメインメモリとの間の動作のデータの
流れを示した各説明図、第18図はCPUとキャッシュ
メモリサブシステムとTLBメモリサブシステムのデー
タの流れ及び状態の流れ相互関係を示した説明図、第1
9図はアドレス変換とデータ格納とロード動作を実行す
る上でDAT及びTLBサブシステムのデータの流れ及
び動作を示した説明図、第20図はキャッシュMMU内
部のバスインターフェース構成を具備するキャッシュM
MUシステムのブロック線図、第21図は第20図のよ
り詳細な電気的ブロック線図、第22図は第21図の制
御論理マイクロエンジン650の詳細な電気的ブロック
線図、である。 (符号の説明) 110:中央処理袋[(CPU) 115ニジステムステータスバス 120:命令キャッシュメモリ管−環ユニット121:
命令バス 130:データキャッシュメモリ管理ユニット131:
データバス 14o:メインメモリ 141ニジステムバス 150:I10処理−Lニット(IOP)151:I1
0バス 160ニジステムクロツク 170:インタラプトコントローラ 180:バス調整ユニット 特許出願人 フェアチャイルド セミコンダクタ
コーポレーション LJIJLAJ/XXX 0OOOIX
XX lXlXX−ユニ二=;14− 二二==冥!7A− −二:コ;I9− 二=至9−22− 手続補正書坊幻 昭和61年6月27日 特許庁長官 宇 賀 道 部 殿 16事件の表示 昭和61年 特 許 願 第38
127号2、発明の名称 キャッシュMMUシステ
ム3、補正をする者 事件との関係 特許出願人 4、代理人
Claims (1)
- 【特許請求の範囲】 1、アドレスに応答してデータを選択的に格納し出力す
るアドレス可能な一次メモリとデータ及びアドレスを出
力するプロセサとを持ったコンピュータにおいて、集積
化したキャッシュメモリシステムが、 (a)該プロセサと接続し、論理アドレスを受け取り且
つ前記プロセサと該キャッシュメモリシステムとの間を
選択的にデジタルシステム情報を接続するプロセサイン
ターフェース手段、 (b)該一次メモリへ接続し、該一次メモリと該キャッ
シュメモリシステムとの間を選択的にデジタルシステム
情報を接続する一次メモリインターフェース手段、 (c)デジタルシステム情報を選択的に格納し且つ出力
する為のアドレス可能な読取−書込キャッシュメモリ、 (d)前記キャッシュメモリ内に現在格納されているデ
ジタルシステム情報に対応するアドレスの連合マップを
格納するタグメモリ、 (e)現在マップしたキャッシュメモリアドレス可能位
置に対するプロセサアドレス出力の一致に応答してヒッ
ト信号を供給し且つ前記一致の不存在の決定に応答して
ミス信号を供給する比較器手段、 (f)前記ヒット信号に応答して前記キャッシュメモリ
と前記プロセサインターフェースとの間で前記デジタル
システム情報の複数個のワードを直列的に選択的に接続
させる為のアクセスコントローラ手段、 (g)ミス信号に応答して該一次メモリと該キャッシュ
メモリシステムとの間で前記デジタルシステム情報を選
択的に接続させる為のメモリコントローラ手段、を有す
ることを特徴とするシステム。 2、特許請求の範囲第1項において、該一次メモリが物
理的なアドレスに応答し、且つ該プロセサが論理アドレ
スを出力し、前記システムが所定の論理から物理的対応
物への変換に従って前記ミス信号に応答して該プロセサ
からの論理的アドレス出力に対応する物理的アドレスを
該一次メモリインターフェスへの出力として供給するメ
モリ管理手段を有することを特徴とするシステム。 3、アドレスに応答してデータを選択的に格納し出力す
るアドレス可能な一次メモリとデータ及びアドレスを出
力するプロセサとを持ったコンピュータにおいて、集積
化したキャッシュメモリシステムが、 (a)該プロセサと接続し、論理アドレスを受け取り且
つ前記プロセサと該キャッシュメモリシステムとの間を
選択的にデジタルシステム情報を接続するプロセサイン
ターフェース手段、 (b)前記プロセサインターフェース手段と共に高速で
前記情報の転送を行う為にデジタルシステム情報の複数
個のワードを選択的に格納する為のインターフェースレ
ジスタ手段。 (c)該一次メモリへ接続し、該一次メモリと該キャッ
シュメモリシステムとの間を選択的にデジタルシステム
情報を接続する一次メモリインターフェース手段、 (d)デジタルシステム情報を選択的に格納し且つ出力
する為のアドレス可能な読取−書込キャッシュメモリ、 (e)前記キャッシュメモリ内に現在格納されているデ
ジタルシステム情報に対応するアドレスの連合マップを
格納するタグメモリ、 (f)現在マップしたキャッシュメモリアドレス可能位
置に対するプロセサアドレス出力の一致に応答してヒッ
ト信号を供給し且つ前記一致の不存在の決定に応答して
ミス信号を供給する比較器手段、 (g)前記ヒット信号に応答して前記プロセサインター
フェース手段へ出力する為に前記キャッシュメモリと前
記インターフェースレジスタ手段との間で前記デジタル
システム情報の複数個のワードを選択的に転送させる為
のアクセスコントローラ手段、 (h)ミス信号に応答して該一次メモリと該キャッシュ
メモリシステムとの間で前記デジタルシステム情報の複
数個のワードを選択的に接続させる為のメモリコントロ
ーラ手段、を有することを特徴とするシステム。 4、特許請求の範囲第3項において、前記プロセサイン
ターフェースから前記デジタルシステム情報内に受けと
られたアドレスを選択的に格納し且つ出力する為のイン
クリメント可能なプログラムカウンタを有しており、前
記アクセスコントローラ手段は、前記プログラムカウン
タかの前記アドレス出力と関連する前記デジタルシステ
ム情報を転送する手段と、前記インターフェースレジス
タと前記プロセサインターフェース手段との間で前記デ
ジタルシステム情報の前記複数個のワードの転送を与え
る為に該プログラムカウンタアドレスを出力し又前記プ
ログラムカウンタを繰り返しインクリメントする手段と
を有していることを特徴とするシステム。 5、システムバスを介してメインメモリへ接続されると
共にプロセサ/キャッシュバスを介してプロセサへ独立
的に接続されている集積化したキャッシュメモリ管理シ
ステムにおいて、該メインメモリからそれへ接続される
データを選択的に格納し且つ前記格納したデータを前記
プロセサへ選択的に出力する為のキャッシュメモリ手段
、該プロセサからの出力としてアドレスに応答して該キ
ャッシュメモリサブシステムへ物理的アドレスを出力す
る為のアドレス変換手段、該キャッシュメモリシステム
をアクセスし且つ該メインメモリからのデータでロード
する為に該キャッシュメモリ管理システムによる要求に
より該システムバスを介して実アドレス出力を該メイン
メモリへ供給するメインメモリ管理手段、を有すること
を特徴とするシステム。 6、特許請求の範囲第5項において、前記アドレス変換
手段は、不揮発性の仮想から物理的なアドレス変換を与
える為にハードワイヤード構成としたページ変換サブシ
ステムを有することを特徴とするシステム。 7、特許請求の範囲第5項において、該アドレス変換手
段は該プロセサから受けとられたコマンドに応答するこ
とを特徴とするシステム。 8、特許請求の範囲第5項において、該アドレス変換手
段は該システムバスから受け取られたコマンドに応答す
ることを特徴とするシステム。 9、特許請求の範囲第5項において、前記キャッシュメ
モリ管理システムが、該キャッシュメモリ手段に対して
選択的に無効化し、読取、且つ書込する為に該システム
バス及び該変換論理手段から受け取ったコマンドに応答
する手段を有することを特徴とするシステム。 10、特許請求の範囲第5項において、更に、前記キャ
ッシュメモリ管理システムが該システムバスを介して該
メインメモリへアクセスすることを要求する場合にバス
要求出力を発生する為の該システムバスへ接続されてい
るバス要求手段、バス許可信号の受け取りに応答して前
記キャッシュメモリサブシステムを活性化させて該シス
テムバスを介してメインメモリと相互干渉させる為のバ
ス許可手段、を有しており、前記キャッシュメモリシス
テムは外部バスアービタシステムへ接続されておりそれ
らの間でバス要求信号及びバス許可信号を結合させるこ
とを特徴とするシステム。 11、特許請求の範囲第5項において、前記キャッシュ
メモリ手段は2方向セット連合メモリであることを特徴
とするシステム。 12、特許請求の範囲第5項において、前記アドレス変
換手段は2方向セット連合メモリを有していることを特
徴とするシステム。 13、プロセサ/キャッシュバスを介してプロセサへ接
続され且つシステムバスを介してメインメモリへ接続さ
れるキャッシュメモリ管理システムにおいて、該プロセ
サ/キャッシュバスを介して該キャッシュシステムと該
プロセサとの間でデータを接続するプロセサインターフ
ェース手段、該システムバスを介して該キャッシュシス
テムと該メインメモリとの間でデータを接続するシステ
ムバスインターフェース手段、外部的に供給された入力
アドレスに応答して実アドレス出力を選択的に供給する
アドレス変換手段、該外部的に入力されたアドレス及び
前記アドレス変換手段の前記実アドレス出力に応答して
連合した態様でデータを格納すると共に出力するキャッ
シュメモリ手段であってその中の要求されアドレスされ
た位置に対して有効なデータが存在することを決定する
為のヒット/ミス論理を具備しているキャッシュメモリ
手段、変換情報及びメインメモリからのデータを該キャ
ッシュにロードする為にキャッシュメモリシステムのミ
スに基づきメインメモリをアクセスするコントローラ手
段、を有することを特徴とするシステム。 14、特許請求の範囲第13項において、前記アドレス
変換手段が、2方向セット連合メモリシステムを有して
いることを特徴とするシステム。 15、特許請求の範囲第13項において、前記コントロ
ーラ手段が、セグメントテーブルオリジンアドレスレジ
スタ、該セグメントテーブルオリジンアドレスとプロセ
サが供給した外部的に入力されたアドレスに応答してペ
ージテーブルエントリアドレスを得る為に該システムバ
スを介してメインメモリを選択的にアクセスする手段を
具備する直接アドレス変換手段、前記ページテーブルエ
ントリアドレス及び該プロセサが供給したアドレスに応
答してメインメモリからページテーブル変換及びシステ
ム情報を得る為に該システムバスを介してメインメモリ
を選択的にアクセスする手段、前記変換とシステム情報
を前記アドレス変換手段内に格納する手段、前記アドレ
ス変換手段に応答して該メインメモリから該キャッシュ
メモリ手段へデータを転送する為に該システムバスを介
して該メインメモリをアクセスする手段、を有すること
を特徴とするシステム。 16、特許請求の範囲第15項において、前記システム
情報が保護レベルデータを有しており、前記キャッシュ
システムが前記保護レベルデータに応答してキャッシュ
メモリアクセスを選択的に制限する為の保護手段を有し
ていることを特徴とするシステム。 17、特許請求の範囲第15項において、該システム情
報がシステムタグデータを有しており、且つ前記キャッ
シュシステムは前記システムタグデータに応答して予め
定めた複数個のモードの内の1つで選択的に動作するこ
とを特徴とするシステム。 18、特許請求の範囲第17項において、前記モードは
ライトスルー/コピーバック及びキャッシュ可能/キャ
ッシュ不能を有していることを特徴とするシステム。 19、特許請求の範囲第13項において、前記キャッシ
ュメモリ手段が、アドレス可能なブロック当り4ワード
ブロック内にデータを格納すると共に出力する為の読取
−書込メモリアレイ、現在アクティブの要求されたアド
レスに対応するデータの4ワードブロックを格納すると
共に出力する為のラインレジスタ、該ラインレジスタ内
に現在格納されているワードのブロックに対しての開始
アドレスを格納する為の境界レジスタ、該現在要求され
たアドレスが該ラインレジスタ内に格納されているデー
タと何時一致するかを決定する為の境界検知手段、一致
を決定する該境界検知手段に応答して該プロセサインタ
ーフェースを介して該ラインレジスタから該プロセサへ
ワードを選択的に出力させる手段、該キャッシュメモリ
アレイから該ラインレジスタへそこから出力する為にデ
ータを該要求されアドレスされた位置へ選択的に転送す
る手段であって該境界レジスタを該夫々の要求されたア
ドレスでローディングする手段を具備した転送手段、を
有することを特徴とするシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US70449785A | 1985-02-22 | 1985-02-22 | |
US704497 | 1985-02-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS61275946A true JPS61275946A (ja) | 1986-12-06 |
JPH07117913B2 JPH07117913B2 (ja) | 1995-12-18 |
Family
ID=24829780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61038127A Expired - Lifetime JPH07117913B2 (ja) | 1985-02-22 | 1986-02-22 | キャッシュメモリ管理装置 |
Country Status (4)
Country | Link |
---|---|
EP (2) | EP0196244B1 (ja) |
JP (1) | JPH07117913B2 (ja) |
CA (3) | CA1272301A (ja) |
DE (2) | DE3650584T2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0661066B2 (ja) * | 1986-10-20 | 1994-08-10 | 株式会社日立製作所 | 記憶制御装置 |
KR950006590B1 (ko) * | 1986-11-14 | 1995-06-19 | 가부시기가이샤 히다찌세이사꾸쇼 | 캐시 메모리를 갖는 마이크로 프로세서 |
IT1219238B (it) * | 1988-04-26 | 1990-05-03 | Olivetti & Co Spa | Dispositivo di traslazione dell'indirizzo per un memoria operativa di computer |
US5170476A (en) * | 1990-01-22 | 1992-12-08 | Motorola, Inc. | Data processor having a deferred cache load |
EP0795820B1 (en) * | 1993-01-21 | 2000-03-01 | Advanced Micro Devices Inc. | Combined prefetch buffer and instructions cache memory system and method for providing instructions to a central processing unit utilizing said system. |
US5890221A (en) * | 1994-10-05 | 1999-03-30 | International Business Machines Corporation | Method and system for offset miss sequence handling in a data cache array having multiple content addressable field per cache line utilizing an MRU bit |
US6427162B1 (en) * | 1996-05-02 | 2002-07-30 | Sun Microsystems, Inc. | Separate code and data contexts: an architectural approach to virtual text sharing |
US8038691B2 (en) | 2004-11-12 | 2011-10-18 | Boston Scientific Scimed, Inc. | Cutting balloon catheter having flexible atherotomes |
US11972034B1 (en) | 2020-10-29 | 2024-04-30 | Amazon Technologies, Inc. | Hardware-assisted obscuring of cache access patterns |
US12229248B1 (en) * | 2021-03-16 | 2025-02-18 | Amazon Technologies, Inc. | Obscuring memory access patterns through page remapping |
US11755496B1 (en) | 2021-12-10 | 2023-09-12 | Amazon Technologies, Inc. | Memory de-duplication using physical memory aliases |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3138972A1 (de) * | 1981-09-30 | 1983-04-14 | Siemens AG, 1000 Berlin und 8000 München | Onchip mikroprozessorchachespeichersystem und verfahren zu seinem betrieb |
-
1986
- 1986-02-21 EP EP86400363A patent/EP0196244B1/en not_active Expired - Lifetime
- 1986-02-21 DE DE3650584T patent/DE3650584T2/de not_active Expired - Lifetime
- 1986-02-21 CA CA000502433A patent/CA1272301A/en not_active Expired
- 1986-02-21 EP EP96108915A patent/EP0732656B1/en not_active Expired - Lifetime
- 1986-02-21 DE DE3650782T patent/DE3650782T2/de not_active Expired - Lifetime
- 1986-02-22 JP JP61038127A patent/JPH07117913B2/ja not_active Expired - Lifetime
-
1989
- 1989-09-26 CA CA000613400A patent/CA1283219C/en not_active Expired - Lifetime
- 1989-09-26 CA CA000613401A patent/CA1283220C/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0732656A2 (en) | 1996-09-18 |
EP0196244A2 (en) | 1986-10-01 |
JPH07117913B2 (ja) | 1995-12-18 |
EP0732656A3 (en) | 1996-11-06 |
DE3650584T2 (de) | 1997-06-26 |
DE3650584D1 (de) | 1997-01-23 |
EP0732656B1 (en) | 2003-08-06 |
CA1283219C (en) | 1991-04-16 |
EP0196244B1 (en) | 1996-12-11 |
EP0196244A3 (en) | 1990-04-25 |
CA1272301A (en) | 1990-07-31 |
DE3650782D1 (de) | 2003-09-11 |
DE3650782T2 (de) | 2004-06-17 |
CA1283220C (en) | 1991-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4860192A (en) | Quadword boundary cache system | |
US4884197A (en) | Method and apparatus for addressing a cache memory | |
US4933835A (en) | Apparatus for maintaining consistency of a cache memory with a primary memory | |
US4899275A (en) | Cache-MMU system | |
US5255384A (en) | Memory address translation system having modifiable and non-modifiable translation mechanisms | |
US5091846A (en) | Cache providing caching/non-caching write-through and copyback modes for virtual addresses and including bus snooping to maintain coherency | |
US6477599B1 (en) | Data processing system and microcomputer | |
US5119290A (en) | Alias address support | |
EP0258559B1 (en) | Cache memory coherency control provided with a read in progress indicating memory | |
US11720495B2 (en) | Multi-level cache security | |
EP0304469A4 (en) | Computer system providing address modification and accommodating dma and interrupts | |
JPH05313942A (ja) | マイクロプロセッサのオンチップキャッシュのモニタ構造及びモニタ方法 | |
US5161162A (en) | Method and apparatus for system bus testability through loopback | |
US6003106A (en) | DMA cache control logic | |
JPS61275946A (ja) | キャッシュメモリ管理装置 | |
JPH0260012B2 (ja) | ||
US20080065855A1 (en) | DMAC Address Translation Miss Handling Mechanism | |
CA1269176A (en) | Multiple bus system including a microprocessor having separate instruction and data interfaces and caches | |
US6163815A (en) | Dynamic disablement of a transaction ordering in response to an error | |
JPH071489B2 (ja) | コンピュータ装置およびコンピュータ装置においてキャッシュデータアレイ内のデータの不一致を検出して修正する方法 | |
JP3643601B2 (ja) | 情報処理装置 | |
JPS61275937A (ja) | 別々の命令及びデ−タインタ−フエ−スを持つたマイクロプロセサ | |
US5471599A (en) | Partitioning of virtual addressing memory | |
WO1983004137A1 (en) | Memory addressing system | |
CA1283222C (en) | Microprocessor having separate instruction and data interfaces |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |