JPH07117913B2 - キャッシュメモリ管理装置 - Google Patents
キャッシュメモリ管理装置Info
- Publication number
- JPH07117913B2 JPH07117913B2 JP61038127A JP3812786A JPH07117913B2 JP H07117913 B2 JPH07117913 B2 JP H07117913B2 JP 61038127 A JP61038127 A JP 61038127A JP 3812786 A JP3812786 A JP 3812786A JP H07117913 B2 JPH07117913 B2 JP H07117913B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- data
- memory
- management device
- cache memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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)
Description
【発明の詳細な説明】 本発明は、コンピュータシステムアーキテクチャーに関
するものであって、更に詳細には、キャッシュメモリ管
理システムアーキテクチャーであって、高速システムバ
スに接続されたシステム要素間で高速通信を行う為にシ
ステム要素を接続する為の高速システムバスを持ってお
り、且つ非常に高速のマイクロプロセサインターフェー
スと、直接アドレス変換ユニットと、アドレス変換ユニ
ットとを持っているキャッシュメモリ管理システムアー
キテクチャーに関するものである。
するものであって、更に詳細には、キャッシュメモリ管
理システムアーキテクチャーであって、高速システムバ
スに接続されたシステム要素間で高速通信を行う為にシ
ステム要素を接続する為の高速システムバスを持ってお
り、且つ非常に高速のマイクロプロセサインターフェー
スと、直接アドレス変換ユニットと、アドレス変換ユニ
ットとを持っているキャッシュメモリ管理システムアー
キテクチャーに関するものである。
従来のキャッシュメモリコントローラ及びメモリ管理シ
ステムは多数の区分線に沿って開発されていた。従来技
術のシステムはキャッシュコントローラと、キャッシュ
メモリと、メモリ管理ユニットと、変換論理とを使用し
ており、その各々はシステムアーキテクチャーの別々に
区分されたユニットとして使用されていた。これらのシ
ステムにおいて、中央処理制御装置CPUは、そのアドレ
スに対しての対応するデータを要求するアドレスする
か、又は該出力アドレスに対応するアドレスに対して同
様のデータを準備する。別のキャッシュメモリに関連し
且つ別のメモリテーブルにも関連することのあるキャッ
シュコントローラは、その出力アドレスがキャッシュメ
モリ内にストアされている位置に対応するか否かを解決
する。対応する場合には、当りが宣言され、且つキャッ
シュコントローラはキャッシュコントローラを介してキ
ャッシュメモリへのデータの読取又は書込を調整する。
データが存在しない場合には、キャッシュコントローラ
ははずれ信号をCPUへ送る。この場合に、従来のシステ
ムでは、CPUに対してメインメモリアクセスを調整して
要求されたアドレス位置データを得させるか、又はCPU
はメモリ管理ユニットに対して要求を出して要求された
位置のデータを供給することの何れかを行うことが可能
である。メモリ管理を使用する場合には、従来のシステ
ムでは、CPU内、メモリ管理ユニット内、又はメインメ
モリ内において、仮想アドレスから物理的アドレスへの
変換の変換プロセスを助ける為のレジスタ記憶が制限さ
れている。
ステムは多数の区分線に沿って開発されていた。従来技
術のシステムはキャッシュコントローラと、キャッシュ
メモリと、メモリ管理ユニットと、変換論理とを使用し
ており、その各々はシステムアーキテクチャーの別々に
区分されたユニットとして使用されていた。これらのシ
ステムにおいて、中央処理制御装置CPUは、そのアドレ
スに対しての対応するデータを要求するアドレスする
か、又は該出力アドレスに対応するアドレスに対して同
様のデータを準備する。別のキャッシュメモリに関連し
且つ別のメモリテーブルにも関連することのあるキャッ
シュコントローラは、その出力アドレスがキャッシュメ
モリ内にストアされている位置に対応するか否かを解決
する。対応する場合には、当りが宣言され、且つキャッ
シュコントローラはキャッシュコントローラを介してキ
ャッシュメモリへのデータの読取又は書込を調整する。
データが存在しない場合には、キャッシュコントローラ
ははずれ信号をCPUへ送る。この場合に、従来のシステ
ムでは、CPUに対してメインメモリアクセスを調整して
要求されたアドレス位置データを得させるか、又はCPU
はメモリ管理ユニットに対して要求を出して要求された
位置のデータを供給することの何れかを行うことが可能
である。メモリ管理を使用する場合には、従来のシステ
ムでは、CPU内、メモリ管理ユニット内、又はメインメ
モリ内において、仮想アドレスから物理的アドレスへの
変換の変換プロセスを助ける為のレジスタ記憶が制限さ
れている。
これらの従来のシステムは多くの欠点を蒙っていた。第
1に、区分化から発生する物理的分離に起因して、全体
的なデータ処理速度は減少されており、その理由として
は、バスのローディング、バス遅延、及びキャッシュコ
ントローラを介してキャッシュメモリへのアクセスの為
の複数個の開始点等があり、又キャッシュコントローラ
を介してキャッシュメモリのCPUへ戻り、メモリ管理ユ
ニットへの及びメインメモリへのはずれ等がある。第2
に、これらのシステムはキャッシュはずれの場合にはCP
Uに負担をかけていた。更に、キャッシュコントローラ
とキャッシュメモリとの間のバス遅延におけるキャッシ
ュコントローラ回路を補償する為に、一層高価な一層高
速のキャッシュメモリは、キャッシュコントローラ及び
バス遅延時間の為に遅延されることのないキャッシュア
クセスサイクル時間を得ることを必要とする。
1に、区分化から発生する物理的分離に起因して、全体
的なデータ処理速度は減少されており、その理由として
は、バスのローディング、バス遅延、及びキャッシュコ
ントローラを介してキャッシュメモリへのアクセスの為
の複数個の開始点等があり、又キャッシュコントローラ
を介してキャッシュメモリのCPUへ戻り、メモリ管理ユ
ニットへの及びメインメモリへのはずれ等がある。第2
に、これらのシステムはキャッシュはずれの場合にはCP
Uに負担をかけていた。更に、キャッシュコントローラ
とキャッシュメモリとの間のバス遅延におけるキャッシ
ュコントローラ回路を補償する為に、一層高価な一層高
速のキャッシュメモリは、キャッシュコントローラ及び
バス遅延時間の為に遅延されることのないキャッシュア
クセスサイクル時間を得ることを必要とする。
本発明は以上の点に鑑みなされたものであって、上述し
た如き従来技術の欠点を解消し、改良したキャッシュ及
びメモリ管理システムアーキテクチャー及びそれと関連
するプロトコールを提供することを目的とする。
た如き従来技術の欠点を解消し、改良したキャッシュ及
びメモリ管理システムアーキテクチャー及びそれと関連
するプロトコールを提供することを目的とする。
本キャッシュ及びメモリ管理システムは、2方向セット
連想メモリキャッシュサブシステムと、2方向セット連
想変換論理メモリサブシステムと、ハードワイアードペ
ージ変換と、選択可能アクセスモード論理と、選択的に
イネーブル可能命令先取りモード操作論理と、から構成
されている。本キャッシュ及びメモリ管理システムは、
システムインターフェース及びプロセサ/キャッシュ・
バスインターフェースとを有している。該システムイン
ターフェースは、メインメモリが接続されているシステ
ムバスへ接続する為の手段を与えている。該プロセサ/
キャッシュ・バスインターフェースは、外部CPUへ接続
する為の手段を与えている。該キャッシュメモリ管理シ
ステムは、命令キャッシュ又はデータキャッシュの何れ
かとして機能することが可能である。該命令キャッシュ
システムは、命令先取りとオンチッププログラムカウン
タ能力を与えている。データキャッシュは、CPUからの
アドレスを受け取る為アドレスレジスタを与えており、
アドレスレジスタにストアされているアドレスから開始
してデータの所望数のワードの転送を行う。
連想メモリキャッシュサブシステムと、2方向セット連
想変換論理メモリサブシステムと、ハードワイアードペ
ージ変換と、選択可能アクセスモード論理と、選択的に
イネーブル可能命令先取りモード操作論理と、から構成
されている。本キャッシュ及びメモリ管理システムは、
システムインターフェース及びプロセサ/キャッシュ・
バスインターフェースとを有している。該システムイン
ターフェースは、メインメモリが接続されているシステ
ムバスへ接続する為の手段を与えている。該プロセサ/
キャッシュ・バスインターフェースは、外部CPUへ接続
する為の手段を与えている。該キャッシュメモリ管理シ
ステムは、命令キャッシュ又はデータキャッシュの何れ
かとして機能することが可能である。該命令キャッシュ
システムは、命令先取りとオンチッププログラムカウン
タ能力を与えている。データキャッシュは、CPUからの
アドレスを受け取る為アドレスレジスタを与えており、
アドレスレジスタにストアされているアドレスから開始
してデータの所望数のワードの転送を行う。
別の本発明の特徴は、カッド語(quad−word)境界レジ
スタ、カッド語ラインレジスタ、及びカッド語境界検知
サブシステムである。これはカッド語境界内のデータの
アクセスを加速させ、且つキャッシュメモリサブシステ
ムからストアされている命令又はデータの順次昇順位置
の効果的な先取りを与える。
スタ、カッド語ラインレジスタ、及びカッド語境界検知
サブシステムである。これはカッド語境界内のデータの
アクセスを加速させ、且つキャッシュメモリサブシステ
ムからストアされている命令又はデータの順次昇順位置
の効果的な先取りを与える。
本キャッシュメモリ管理システムは、仮想アドレスから
物理的アドレスへの2方向セット連想アドレス変換を与
えるのみならず、キャッシュメモリ機能、及びストアさ
れた2方向セット連想変換論理メモリサブシステムと連
合したページアクセス保護機能を与える一体的なアーキ
テクチャーを提供している。
物理的アドレスへの2方向セット連想アドレス変換を与
えるのみならず、キャッシュメモリ機能、及びストアさ
れた2方向セット連想変換論理メモリサブシステムと連
合したページアクセス保護機能を与える一体的なアーキ
テクチャーを提供している。
本キャッシュメモリ管理システムは選択的なアクセスモ
ードを提供する。従って、種々のモードを表す為に、キ
ャッシュメモリ管理システムに接続されているCPUのシ
ステムステータスワード出力によって特定のアドレスを
定義することが可能である。これらのモードは、マップ
した/マップしてない、スーパーバイザ/ユーザの空間
アクセス等を包含する。該選択可能アクセスモードに関
する付加的な特徴は、メインメモリ内のページテーブル
からのデータと共に、キャッシュメモリサブシステムの
ローディング時にメインメモリページテーブルからキャ
ッシュメモリ管理システムの変換論理メモリサブシステ
ム内へロードされるページテーブルエントリーによって
定義される。これらのページテーブルを定義する選択可
能アクセスモードは、キャッシュ可能/キャッシュ不
能、ライトスルー(write−through)/コピーバック等
を包含している。
ードを提供する。従って、種々のモードを表す為に、キ
ャッシュメモリ管理システムに接続されているCPUのシ
ステムステータスワード出力によって特定のアドレスを
定義することが可能である。これらのモードは、マップ
した/マップしてない、スーパーバイザ/ユーザの空間
アクセス等を包含する。該選択可能アクセスモードに関
する付加的な特徴は、メインメモリ内のページテーブル
からのデータと共に、キャッシュメモリサブシステムの
ローディング時にメインメモリページテーブルからキャ
ッシュメモリ管理システムの変換論理メモリサブシステ
ム内へロードされるページテーブルエントリーによって
定義される。これらのページテーブルを定義する選択可
能アクセスモードは、キャッシュ可能/キャッシュ不
能、ライトスルー(write−through)/コピーバック等
を包含している。
更に別の特徴としては、ハードワイアード(固定結線)
ページ変換システムである。これは臨界的なシステム及
びユーザが定義したアドレスに対しての保証されたアク
セスを提供する。その例としては、ベクトルページ、オ
ペレーテイングシステム及び/又はユーザ使用用に予約
したページ、マルチプルI/Oページ、及びブートページ
(boot pege)等を包含する。
ページ変換システムである。これは臨界的なシステム及
びユーザが定義したアドレスに対しての保証されたアク
セスを提供する。その例としては、ベクトルページ、オ
ペレーテイングシステム及び/又はユーザ使用用に予約
したページ、マルチプルI/Oページ、及びブートページ
(boot pege)等を包含する。
キャッシュメモリ管理システムは各々プロセサキャッシ
ュバスを介して受け取られたCPUからのI/Oコマンドに応
答する。これらのコマンドは、TLB変換論理メモリサブ
システム内のスーパーバイザページの無効化、変換論理
メモリサブシステム内のユーザページの無効化、変換論
理メモリサブシステム内のよごれており且つ参照された
ビットのリセット、変換論理メモリサブシステム全体の
アクセス、キャッシュメモリサブシステム全体の無効
化、等を包含する。マルチ−キャッシュ又はマルチ−プ
ロセサシステムアーキテクチャーにおいて、キャッシュ
はシステムバスからアクセスされてI/O書込又は共用書
込に関してキャッシュメモリサブシステム内のラインを
無効化することが可能である。キャッシュは、I/O読取
でシステムバスへよごれたデータを変換する。
ュバスを介して受け取られたCPUからのI/Oコマンドに応
答する。これらのコマンドは、TLB変換論理メモリサブ
システム内のスーパーバイザページの無効化、変換論理
メモリサブシステム内のユーザページの無効化、変換論
理メモリサブシステム内のよごれており且つ参照された
ビットのリセット、変換論理メモリサブシステム全体の
アクセス、キャッシュメモリサブシステム全体の無効
化、等を包含する。マルチ−キャッシュ又はマルチ−プ
ロセサシステムアーキテクチャーにおいて、キャッシュ
はシステムバスからアクセスされてI/O書込又は共用書
込に関してキャッシュメモリサブシステム内のラインを
無効化することが可能である。キャッシュは、I/O読取
でシステムバスへよごれたデータを変換する。
本キャッシュ管理システム乃至方式は、命令又はデータ
の何れかのキャッシュメモリ管理システムとして構成す
ることが可能である。開示する如く、本システムアーキ
テクチャー乃至構成では、別々の命令及びデータキャッ
シュインターフェースを持ったプロセサを有している。
非常に高速の命令バスがプロセサ命令インターフェース
からの命令キャッシュメモリ管理システムへ接続する。
非常に高速のデータバスが、データキャッシュメモリ管
理システムをプロセサデータインターフェースへ接続さ
せる。各キャッシュメモリ管理システムは、システムイ
ンターフェースを介してシステムバスへ接続し、且つそ
こからメインメモリへ接続する。
の何れかのキャッシュメモリ管理システムとして構成す
ることが可能である。開示する如く、本システムアーキ
テクチャー乃至構成では、別々の命令及びデータキャッ
シュインターフェースを持ったプロセサを有している。
非常に高速の命令バスがプロセサ命令インターフェース
からの命令キャッシュメモリ管理システムへ接続する。
非常に高速のデータバスが、データキャッシュメモリ管
理システムをプロセサデータインターフェースへ接続さ
せる。各キャッシュメモリ管理システムは、システムイ
ンターフェースを介してシステムバスへ接続し、且つそ
こからメインメモリへ接続する。
複数個の要素がシステムバスへ接続されると、バスアー
ビトレーション(調整)システム要素がシステムバス調
整及び衝突回避管理を与える。バス要求/バス許可手順
及び支持アーキテクチャーはキャッシュメモリ管理シス
テムと関連して使用するものとして開示してある。
ビトレーション(調整)システム要素がシステムバス調
整及び衝突回避管理を与える。バス要求/バス許可手順
及び支持アーキテクチャーはキャッシュメモリ管理シス
テムと関連して使用するものとして開示してある。
以下、添付の図面を参考に、本発明の具体的実施の態様
に付いて詳細に説明する。第1図を参照すると、本発明
のシステム実施例を図示してある。中央処理装置110は
別々の独立した非常に高速のキャッシュ/プロセサバス
である命令バス121及びデータバス131を介して接続され
ており、それらのバスは夫々命令キャッシュメモリ管理
ユニット120及びデータキャッシュメモリ管理ユニット1
30へ接続している。更に、システムステータスバス115
がCPU110から命令キャッシュメモリ管理ユニット120及
びデータキャッシュメモリ管理ユニット130の各々へ接
続されている。命令キャッシュメモリ管理ユニット及び
データキャッシュメモリ管理ユニット130の各々はシス
テムバス141へ接続する為の別々のインターフェースを
持っている。メインメモリ140は本システム用の主コア
記憶装置を包含しており、且つダイナミックRAM、スタ
ティックRAM、又は高速読取−書込メモリに対するその
他の媒体で達成することが可能である。キャッシュ120
及び130は各々システムバス141を介してメインメモリ14
0へ接続している。
に付いて詳細に説明する。第1図を参照すると、本発明
のシステム実施例を図示してある。中央処理装置110は
別々の独立した非常に高速のキャッシュ/プロセサバス
である命令バス121及びデータバス131を介して接続され
ており、それらのバスは夫々命令キャッシュメモリ管理
ユニット120及びデータキャッシュメモリ管理ユニット1
30へ接続している。更に、システムステータスバス115
がCPU110から命令キャッシュメモリ管理ユニット120及
びデータキャッシュメモリ管理ユニット130の各々へ接
続されている。命令キャッシュメモリ管理ユニット及び
データキャッシュメモリ管理ユニット130の各々はシス
テムバス141へ接続する為の別々のインターフェースを
持っている。メインメモリ140は本システム用の主コア
記憶装置を包含しており、且つダイナミックRAM、スタ
ティックRAM、又は高速読取−書込メモリに対するその
他の媒体で達成することが可能である。キャッシュ120
及び130は各々システムバス141を介してメインメモリ14
0へ接続している。
更に、その他のシステム要素をシステムバス141へ接続
させることが可能であり、例えばI/O処理ユニットIOP15
0は夫々のIOP150に対するシステムバス141をI/Oバス151
へ接続されている。I/Oバス151は、イーサネット(Ethe
rnet)、ユニバス(Unibus)、ブイエムイバス(VMEbu
s)、マルチバス(Multibus)等の標準バスインターフ
ェースとするか、又はI/Oバス151は二次記憶装置又はそ
の他の周辺装置、例えばハードディスク、フロッピイデ
ィスク、プリンタ等へ接続することが可能である。複数
個のIOPをシステムバス141へ接続させることが可能であ
る。IOP150はシステムバス141を介してメインメモリ140
を通信することが可能である。
させることが可能であり、例えばI/O処理ユニットIOP15
0は夫々のIOP150に対するシステムバス141をI/Oバス151
へ接続されている。I/Oバス151は、イーサネット(Ethe
rnet)、ユニバス(Unibus)、ブイエムイバス(VMEbu
s)、マルチバス(Multibus)等の標準バスインターフ
ェースとするか、又はI/Oバス151は二次記憶装置又はそ
の他の周辺装置、例えばハードディスク、フロッピイデ
ィスク、プリンタ等へ接続することが可能である。複数
個のIOPをシステムバス141へ接続させることが可能であ
る。IOP150はシステムバス141を介してメインメモリ140
を通信することが可能である。
CPU110は又インタラプトライン111を介してインタラプ
トコントローラ170へ接続されている。該CPUに対してイ
ンタラプトの優先性を争うユニット(装置)の各々はイ
ンタラプトコントローラ170に接続されている別のイン
タラプトラインを持っている。第1図に示した如く、メ
インメモリ140はインタラプト出力I1、145を持ってお
り、且つIOP150はI2で示したインタラプト出力155を持
っている。これらのインタラプトI1,145,及びI2,155は
インタラプトコントローラ170に接続されており、該イ
ンタラプトコントローラ170はCPU110に対してのインタ
ラプト要求の優先付けを行い且つその優先性を調整す
る。CPU110は複数個の並列CPUで構成することが可能で
あり、又単一のCPUとすることも可能である。複数個のC
PUとする場合には、インタラプト要求の優先付け及び解
決は、CPU110からインタラプトコントローラ170への信
号制御ライン111と関連してインタラプトコントローラ1
70によって処理される。
トコントローラ170へ接続されている。該CPUに対してイ
ンタラプトの優先性を争うユニット(装置)の各々はイ
ンタラプトコントローラ170に接続されている別のイン
タラプトラインを持っている。第1図に示した如く、メ
インメモリ140はインタラプト出力I1、145を持ってお
り、且つIOP150はI2で示したインタラプト出力155を持
っている。これらのインタラプトI1,145,及びI2,155は
インタラプトコントローラ170に接続されており、該イ
ンタラプトコントローラ170はCPU110に対してのインタ
ラプト要求の優先付けを行い且つその優先性を調整す
る。CPU110は複数個の並列CPUで構成することが可能で
あり、又単一のCPUとすることも可能である。複数個のC
PUとする場合には、インタラプト要求の優先付け及び解
決は、CPU110からインタラプトコントローラ170への信
号制御ライン111と関連してインタラプトコントローラ1
70によって処理される。
システムクロック160はCPU110命令キャッシュメモリ管
理ユニット120及びデータキャッシュメモリ管理ユニッ
ト130へマスタクロックMCLDを供給し、その中での内部
動作及びそれらの間の動作の同期を取る。更に、システ
ムクロック160からのバスクロックBCLD出力はシステム
バス141を介しての転送用のバス同期信号を供給し、且
つシステムバス141に接続されている全てのシステム要
素に接続されている。これは、命令キャッシュMMU120,
データキャッシュMMU130、メインメモリ140、IOP150、
及びシステムバス141に接続するその他のシステム要素
を包含する。複数個の装置が同時にシステムバス141へ
のアクセスを要求する場合、バス調整ユニット180がシ
ステムバス141に接続されている装置に接続される。該
バスアービタ即ちバス調整装置は、システムバス141に
接続する潜在的なバスマスタの各々への別々のカップリ
ングを持っている。バスアービタ180はハンドシェーク
手順を使用しており、且つシステムバス141へのアクセ
スの優先付けを行う。バス調整ユニット180はシステム
バス141を制御しその上で衝突を回避し、且つ通常シス
テムバス141の使用を調整する。
理ユニット120及びデータキャッシュメモリ管理ユニッ
ト130へマスタクロックMCLDを供給し、その中での内部
動作及びそれらの間の動作の同期を取る。更に、システ
ムクロック160からのバスクロックBCLD出力はシステム
バス141を介しての転送用のバス同期信号を供給し、且
つシステムバス141に接続されている全てのシステム要
素に接続されている。これは、命令キャッシュMMU120,
データキャッシュMMU130、メインメモリ140、IOP150、
及びシステムバス141に接続するその他のシステム要素
を包含する。複数個の装置が同時にシステムバス141へ
のアクセスを要求する場合、バス調整ユニット180がシ
ステムバス141に接続されている装置に接続される。該
バスアービタ即ちバス調整装置は、システムバス141に
接続する潜在的なバスマスタの各々への別々のカップリ
ングを持っている。バスアービタ180はハンドシェーク
手順を使用しており、且つシステムバス141へのアクセ
スの優先付けを行う。バス調整ユニット180はシステム
バス141を制御しその上で衝突を回避し、且つ通常シス
テムバス141の使用を調整する。
プロセサ110はキャッシュインターフェースを有してお
り、それはバス121へ接続されている命令インターフェ
ース及びバス131へ接続されているデータインターフェ
ースを有する相互に排他的で且つ独立的に動作可能な二
重キャッシュインターフェースシステムを与えている。
命令インターフェースは外部命令キャッシュMMU120との
通信を制御し、且つ命令キャッシュMMU120からプロセサ
110への命令のカップリングを与える。データインター
フェースは、外部データキャッシュMMU130との通信の制
御を与えると共に、プロセサ110とデータキャッシュMMU
130との間のデータの双方向通信を制御する。該プロセ
サの実行ユニットは命令インターフェース及びプロセア
のデータインターフェースへ接続されている。該実行ユ
ニットは、命令キャッシュMMU120から受け取られたそれ
ぞれ1つ又はそれ以上の命令をデコードし且つ実行する
ことに応答してデータキャッシュMMUから受け取られた
データの選択的処理を与える。命令インターフェースは
非常の高速の命令キャッシュMMUバス121を介して命令キ
ャッシュMMU120へ接続する。該データインターフェース
は非常に高速のデータバス131を介してデータキャッシ
ュMMU130へ接続する。該命令インターフェース及びデー
タインターフェースは、命令キャッシュMMU120からプロ
セサ110への命令の非常に高速の転送、及びデータキャ
ッシュMMU130とプロセサ110との間のデータの同時的独
立的転送に対する能力を与えている。
り、それはバス121へ接続されている命令インターフェ
ース及びバス131へ接続されているデータインターフェ
ースを有する相互に排他的で且つ独立的に動作可能な二
重キャッシュインターフェースシステムを与えている。
命令インターフェースは外部命令キャッシュMMU120との
通信を制御し、且つ命令キャッシュMMU120からプロセサ
110への命令のカップリングを与える。データインター
フェースは、外部データキャッシュMMU130との通信の制
御を与えると共に、プロセサ110とデータキャッシュMMU
130との間のデータの双方向通信を制御する。該プロセ
サの実行ユニットは命令インターフェース及びプロセア
のデータインターフェースへ接続されている。該実行ユ
ニットは、命令キャッシュMMU120から受け取られたそれ
ぞれ1つ又はそれ以上の命令をデコードし且つ実行する
ことに応答してデータキャッシュMMUから受け取られた
データの選択的処理を与える。命令インターフェースは
非常の高速の命令キャッシュMMUバス121を介して命令キ
ャッシュMMU120へ接続する。該データインターフェース
は非常に高速のデータバス131を介してデータキャッシ
ュMMU130へ接続する。該命令インターフェース及びデー
タインターフェースは、命令キャッシュMMU120からプロ
セサ110への命令の非常に高速の転送、及びデータキャ
ッシュMMU130とプロセサ110との間のデータの同時的独
立的転送に対する能力を与えている。
データキャッシュMMU130及び命令キャッシュMMU120は各
々、非常に大型で比較的遅いメモリであるメインメモリ
145へ接続する為にメインシステムバス141へ接続する為
の第2バスインターフェースを夫々持っている。システ
ムバス141は比較的高速であるが、データバス131又は命
令バス121と比較すると遅い。システムバス141は又その
他の回路及び周辺装置を本マイクロプロセサシステムア
ーキテクチャーに接続する為の手段を与えている。
々、非常に大型で比較的遅いメモリであるメインメモリ
145へ接続する為にメインシステムバス141へ接続する為
の第2バスインターフェースを夫々持っている。システ
ムバス141は比較的高速であるが、データバス131又は命
令バス121と比較すると遅い。システムバス141は又その
他の回路及び周辺装置を本マイクロプロセサシステムア
ーキテクチャーに接続する為の手段を与えている。
プロセサ110の命令及びデータインターフェースは、プ
ロセサ110と夫々のキャッシュ120及び130との間のイン
ターフェース及びデータ転送プロセスを完全に制御する
為に必要な制御、タイミング、及びバッファ動作用論理
を与えている。同様に、命令キャッシュMMU120及びデー
タキャッシュMMU130は、夫々の命令インターフェース及
びデータインターフェースを介してプロセサ110へのイ
ンターフェースを可能とする為に必要な制御及びバッフ
ァ回路を持っている。命令キャッシュMMU120及びデータ
キャッシュMMU130は又各々が、システムバス141を介し
てメインメモリ140とのインターフェース及びそのメモ
リ管理を提供する為に必要な制御及びバッファ回路を持
っている。機能的には、命令キャッシュMMU120及び命令
インターフェースは、データキャッシュMMU130及びデー
タインターフェースから別々で独立したサブシステムを
与えている。命令キャッシュMMU120はメインメモリ140
に直接的にアクセスし、且つデータキャッシュMMU130動
作から間接的にアクセスし、その逆も又真である。
ロセサ110と夫々のキャッシュ120及び130との間のイン
ターフェース及びデータ転送プロセスを完全に制御する
為に必要な制御、タイミング、及びバッファ動作用論理
を与えている。同様に、命令キャッシュMMU120及びデー
タキャッシュMMU130は、夫々の命令インターフェース及
びデータインターフェースを介してプロセサ110へのイ
ンターフェースを可能とする為に必要な制御及びバッフ
ァ回路を持っている。命令キャッシュMMU120及びデータ
キャッシュMMU130は又各々が、システムバス141を介し
てメインメモリ140とのインターフェース及びそのメモ
リ管理を提供する為に必要な制御及びバッファ回路を持
っている。機能的には、命令キャッシュMMU120及び命令
インターフェースは、データキャッシュMMU130及びデー
タインターフェースから別々で独立したサブシステムを
与えている。命令キャッシュMMU120はメインメモリ140
に直接的にアクセスし、且つデータキャッシュMMU130動
作から間接的にアクセスし、その逆も又真である。
第2図を参照すると、第1図のプロセサ110を更に詳細
に示してある。第2図に示した如く、プロセサ110は更
に命令レジスタ100、命令デコーダ103、及び実行ユニッ
ト105から構成されている。命令レジスタ102は、命令バ
ス121を介して命令キャッシュMMU120から受け取られた
命令をストアし且つプロセサ110の命令インターフェー
スへ出力する為の手段を与えている。命令レジスア102
からの出力は命令デコーダ103へ接続されている。命令
デコーダ103は、命令レジスタ102から受け取られた命令
出力のデコード動作に応答して動作選択信号を出力する
手段を与えている。命令デコーダ103からの出力動作選
択信号は実行ユニット105へ供給される。実行ユニット1
05は、命令デコーダ103から受け取られた動作選択信号
に応答して、プロセサ110及びデータバス131のデータイ
ンターフェースを介してデータキャッシュMMU130から受
け取られた選択データを処理する為の手段を与えてい
る。
に示してある。第2図に示した如く、プロセサ110は更
に命令レジスタ100、命令デコーダ103、及び実行ユニッ
ト105から構成されている。命令レジスタ102は、命令バ
ス121を介して命令キャッシュMMU120から受け取られた
命令をストアし且つプロセサ110の命令インターフェー
スへ出力する為の手段を与えている。命令レジスア102
からの出力は命令デコーダ103へ接続されている。命令
デコーダ103は、命令レジスタ102から受け取られた命令
出力のデコード動作に応答して動作選択信号を出力する
手段を与えている。命令デコーダ103からの出力動作選
択信号は実行ユニット105へ供給される。実行ユニット1
05は、命令デコーダ103から受け取られた動作選択信号
に応答して、プロセサ110及びデータバス131のデータイ
ンターフェースを介してデータキャッシュMMU130から受
け取られた選択データを処理する為の手段を与えてい
る。
好適実施例においては、プロセサ110はパイプライン動
作を与える。第2図に示した如く、命令レジスタ102
と、命令デコーダ103内の段Cと、実行ユニット105内の
夫々の段D,E,Fとの5段のパイプライン動作が存在して
いる。従って、複数個の動作は複数個の命令に応答して
同時的に達成することが可能である。
作を与える。第2図に示した如く、命令レジスタ102
と、命令デコーダ103内の段Cと、実行ユニット105内の
夫々の段D,E,Fとの5段のパイプライン動作が存在して
いる。従って、複数個の動作は複数個の命令に応答して
同時的に達成することが可能である。
第2図に示した実施例において、実行ユニット105は更
にインターフェース109を有しており、それは選択した
データの処理から得られる出力をプロセサ110のデータ
インターフェースへ供給してその結果得られるデータを
そこからデータキャッシュMMU130へ出力させる為の手段
を与えている。インターフェース109は、実行ユニット1
05とプロセサ110のデータインターフェースとの間でデ
ータの双方向結合を与え、そこからデータバス131を介
してデータキャッシュMMU130へ供給させる。
にインターフェース109を有しており、それは選択した
データの処理から得られる出力をプロセサ110のデータ
インターフェースへ供給してその結果得られるデータを
そこからデータキャッシュMMU130へ出力させる為の手段
を与えている。インターフェース109は、実行ユニット1
05とプロセサ110のデータインターフェースとの間でデ
ータの双方向結合を与え、そこからデータバス131を介
してデータキャッシュMMU130へ供給させる。
第3図を参照すると、第2図の命令デコーダ103の実施
の1例を更に詳細に示してある。第3図に示した如く、
命令デコーダ103は逐次状態装置113を有しており、それ
は命令レジスタ102から受け取られた命令をデコードし
且つ命令レジスア102の命令出力に応答して動作コード
信号を与える。逐次状態装置113からの動作コード信号
はタイミング・制御回路114へ供給され、それは逐次状
態装置113からの動作コード出力に応答して、命令実行
の逐次乃至はシーケンス動作を制御する為の動作選択信
号を出力して実行ユニット105へ供給する為の手段を与
えている。
の1例を更に詳細に示してある。第3図に示した如く、
命令デコーダ103は逐次状態装置113を有しており、それ
は命令レジスタ102から受け取られた命令をデコードし
且つ命令レジスア102の命令出力に応答して動作コード
信号を与える。逐次状態装置113からの動作コード信号
はタイミング・制御回路114へ供給され、それは逐次状
態装置113からの動作コード出力に応答して、命令実行
の逐次乃至はシーケンス動作を制御する為の動作選択信
号を出力して実行ユニット105へ供給する為の手段を与
えている。
好適実施例においては、各マイクロプロセサは単一チッ
プの集積回路である。然し乍ら、複数個のチップの実施
形態も設計条件に従って使用することが可能である。
プの集積回路である。然し乍ら、複数個のチップの実施
形態も設計条件に従って使用することが可能である。
プロセサ110の命令インターフェースは更に多段命令バ
ッファを有しており、それは、各段如く1つづつの命令
で複数個の命令を逐次ストアする手段を与えると共に、
等にストアした命令を実行手段100へ選択的に出力する
為の手段を与えている。キャッシュ前進信号は、命令イ
ンターフェースが自由空間を持っているので、それによ
って駆動される。キャッシュ前進(Cache ADVance)は
I−キャッシュ−MMUアクセスを制御する。従って、命
令インターフェースは、命令バス121を介しての命令キ
ャッシュMMU120からの直列ストリーム状の出力として複
数個の命令ワードを供給し且つストアする為の多段命令
バッファを与えている。この多段命令バッファは、増加
する命令処理速度を与えており、且つプロセサ110のパ
イプライン動作の為に使用することが可能である。外部
システムクロック160は、プロセサ110内及びそれと関連
する同期動作に対するクロック信号を与える。
ッファを有しており、それは、各段如く1つづつの命令
で複数個の命令を逐次ストアする手段を与えると共に、
等にストアした命令を実行手段100へ選択的に出力する
為の手段を与えている。キャッシュ前進信号は、命令イ
ンターフェースが自由空間を持っているので、それによ
って駆動される。キャッシュ前進(Cache ADVance)は
I−キャッシュ−MMUアクセスを制御する。従って、命
令インターフェースは、命令バス121を介しての命令キ
ャッシュMMU120からの直列ストリーム状の出力として複
数個の命令ワードを供給し且つストアする為の多段命令
バッファを与えている。この多段命令バッファは、増加
する命令処理速度を与えており、且つプロセサ110のパ
イプライン動作の為に使用することが可能である。外部
システムクロック160は、プロセサ110内及びそれと関連
する同期動作に対するクロック信号を与える。
プロセサ110の命令インターフェースは更に、マイクロ
プロセサシステムの動作におけるコンテクスト(文脈)
スイッチ(context switch)又はブランチ(分岐)が発
生することに応答して命令キャッシュMMU120プログラム
カウンタ内にストアする為に初期命令アドレスを選択的
に出力する為のアドレス発生器を有している。コンテク
ストスイッチは、トラップ、インタラプト、又は一連の
命令に対しての新たな開始点を示す為に命令キャッシュ
120プログラムカウンタの初期値化を必要とする何れか
のプログラムの初期値化を包含している。命令インター
フェースは、キャッシュ前進信号出力を与え、それは、
コンテクストスイッチ又はブランチの間を除いて、命令
キャッシュMMUプログラムカウンタを選択的にインクリ
メントする。コンテクストスイッチ又はブランチが発生
すると、命令キャッシュMMU120プログラムカウンタは、
プロセサ110の命令インターフェースのアドレス発生器
から新たな値がロードされる。システムクロック160は
マイクロプロセサ110の命令インターフェースへクロッ
ク信号を与える。
プロセサシステムの動作におけるコンテクスト(文脈)
スイッチ(context switch)又はブランチ(分岐)が発
生することに応答して命令キャッシュMMU120プログラム
カウンタ内にストアする為に初期命令アドレスを選択的
に出力する為のアドレス発生器を有している。コンテク
ストスイッチは、トラップ、インタラプト、又は一連の
命令に対しての新たな開始点を示す為に命令キャッシュ
120プログラムカウンタの初期値化を必要とする何れか
のプログラムの初期値化を包含している。命令インター
フェースは、キャッシュ前進信号出力を与え、それは、
コンテクストスイッチ又はブランチの間を除いて、命令
キャッシュMMUプログラムカウンタを選択的にインクリ
メントする。コンテクストスイッチ又はブランチが発生
すると、命令キャッシュMMU120プログラムカウンタは、
プロセサ110の命令インターフェースのアドレス発生器
から新たな値がロードされる。システムクロック160は
マイクロプロセサ110の命令インターフェースへクロッ
ク信号を与える。
本システムの初期値化がされると、又はコンテクストス
イッチ又はブランチの間に、プロセサ110の命令インタ
ーフェースアドレス発生器は、命令キャッシュ120プロ
グラムカウンタのローディングを行わせる。その後、キ
ャッシュ前進信号によってイネーブルされると、命令キ
ャッシュMMU120は複数個の命令(例えば、カッド語)を
プロセサ110の命令インターフェースへ供給する即ち接
続する為に出力させる。その後、命令キャッシュMMU120
へのプロセサ110の命令インターフェースからのその他
のアドレス出力とは独立的且つ排他的に、命令キャッシ
ュMMU120プログラムカウンタの出力に応答して命令が逐
次的に出力される。
イッチ又はブランチの間に、プロセサ110の命令インタ
ーフェースアドレス発生器は、命令キャッシュ120プロ
グラムカウンタのローディングを行わせる。その後、キ
ャッシュ前進信号によってイネーブルされると、命令キ
ャッシュMMU120は複数個の命令(例えば、カッド語)を
プロセサ110の命令インターフェースへ供給する即ち接
続する為に出力させる。その後、命令キャッシュMMU120
へのプロセサ110の命令インターフェースからのその他
のアドレス出力とは独立的且つ排他的に、命令キャッシ
ュMMU120プログラムカウンタの出力に応答して命令が逐
次的に出力される。
図示した如く、プロセサ110のデータインターフェース
は更にアドレス発生器及びインターフェースを有してお
り、それは外部データキャッシュMMU503のアドレスレジ
スタ505へ接続する即ち供給する為のデータアドレスを
出力する。システムクロック160のMCLKはデータキャッ
シュMMU130へ供給され、データキャッシュMMU130とプロ
セサ110のデータインターフェースとの間でのデータ転
送の同期を取る。好適実施例においては、アドレスイン
ターフェース324からの何れかの中間的なアドレス出力
と独立的且つ排他的なデータインターフェース302から
の各アドレス出力に対して、データキャッシュMMU503と
マイクロプロセサ12のデータインターフェース302との
間で定義した数のデータワードを接続する為の手段が設
けられている。
は更にアドレス発生器及びインターフェースを有してお
り、それは外部データキャッシュMMU503のアドレスレジ
スタ505へ接続する即ち供給する為のデータアドレスを
出力する。システムクロック160のMCLKはデータキャッ
シュMMU130へ供給され、データキャッシュMMU130とプロ
セサ110のデータインターフェースとの間でのデータ転
送の同期を取る。好適実施例においては、アドレスイン
ターフェース324からの何れかの中間的なアドレス出力
と独立的且つ排他的なデータインターフェース302から
の各アドレス出力に対して、データキャッシュMMU503と
マイクロプロセサ12のデータインターフェース302との
間で定義した数のデータワードを接続する為の手段が設
けられている。
プロセサ110の命令インターフェース及び命令キャッシ
ュMMU120は、命令インターフェースのアドレス発生器か
らの信号初期アドレス出力及びアクティブキャッシュ前
進信号出力のみに応答して、命令キャッシュMMU120から
プロセサ110の命令インターフェースへ予め定義してい
ない長さの命令列乃至はストリームの連続的な出力を与
え、それはブランチ又はコンテクストスイッチが発生す
る迄継続する。
ュMMU120は、命令インターフェースのアドレス発生器か
らの信号初期アドレス出力及びアクティブキャッシュ前
進信号出力のみに応答して、命令キャッシュMMU120から
プロセサ110の命令インターフェースへ予め定義してい
ない長さの命令列乃至はストリームの連続的な出力を与
え、それはブランチ又はコンテクストスイッチが発生す
る迄継続する。
プロセサ110データインターフェース及びデータキャッ
シュMMU130の動作は、両者間において、プロセサ110か
らデータキャッシュMMUへの各アドレス出力に対して、
1つ又はそれ以上の定義した数のデータワードの転送を
与える。この様な定義した複数個のワードの最初のワー
ドは、プロセサ110からのアドレスに応答して出力され
る。その他のワードは本システムはレディ即ち準備が整
うや否や転送される。この定義された数のワードの転送
が完了すると、プロセサ110からデータキャッシュMMU13
0のアドレスレジスタ内に新たなアドレスがロードされ
ねばならない。データキャッシュMMU130とプロセス110
のデータインターフェースとの間の全てのデータ転送
は、プロセサ110データインターフェースからデータキ
ャッシュMMU130のアドレスレジスタ内への新たなアドレ
スのローディングを必要とする。この転送は単一又は複
数ワードとすることが可能であるが、ワード数は転送の
開始時に固定され且つ定義されており、且つ各転送は別
の新たなアドレスをロードすることを必要とする。
シュMMU130の動作は、両者間において、プロセサ110か
らデータキャッシュMMUへの各アドレス出力に対して、
1つ又はそれ以上の定義した数のデータワードの転送を
与える。この様な定義した複数個のワードの最初のワー
ドは、プロセサ110からのアドレスに応答して出力され
る。その他のワードは本システムはレディ即ち準備が整
うや否や転送される。この定義された数のワードの転送
が完了すると、プロセサ110からデータキャッシュMMU13
0のアドレスレジスタ内に新たなアドレスがロードされ
ねばならない。データキャッシュMMU130とプロセス110
のデータインターフェースとの間の全てのデータ転送
は、プロセサ110データインターフェースからデータキ
ャッシュMMU130のアドレスレジスタ内への新たなアドレ
スのローディングを必要とする。この転送は単一又は複
数ワードとすることが可能であるが、ワード数は転送の
開始時に固定され且つ定義されており、且つ各転送は別
の新たなアドレスをロードすることを必要とする。
メインメモリ即ち主メモリ140はシステムバス141へ接続
されており、該システムバス141へはデータキャッシュM
MU130及び命令キャッシュMMU120も接続されている。メ
インメモリ140はアドレス可能な読取−書込メモリから
のデジタル情報を選択的にストアし且つ出力する。
されており、該システムバス141へはデータキャッシュM
MU130及び命令キャッシュMMU120も接続されている。メ
インメモリ140はアドレス可能な読取−書込メモリから
のデジタル情報を選択的にストアし且つ出力する。
命令キャッシュMMU120は、システムバス141を介してメ
インメモリ140へ接続されており、メインメモリ140への
選択的アクセスを管理してメインメモリ140とデータキ
ャッシュMMU130との間でのデータのストア即ち記憶を行
うと共に検索を行う。データキャッシュMMU130は更に、
非常に高速のデータバス131を介してプロセサ110への又
それからデータを選択的にストアすると共に出力し、又
はシステムバス141を介してメインメモリ140への又はそ
れからのデータを選択的にストアすると共に出力する為
の手段を有している。データキャッシュMMU130は、それ
のアドレス可能な非常に高速の読取−書込メモリからの
データの選択的ストア及び出力を与える。
インメモリ140へ接続されており、メインメモリ140への
選択的アクセスを管理してメインメモリ140とデータキ
ャッシュMMU130との間でのデータのストア即ち記憶を行
うと共に検索を行う。データキャッシュMMU130は更に、
非常に高速のデータバス131を介してプロセサ110への又
それからデータを選択的にストアすると共に出力し、又
はシステムバス141を介してメインメモリ140への又はそ
れからのデータを選択的にストアすると共に出力する為
の手段を有している。データキャッシュMMU130は、それ
のアドレス可能な非常に高速の読取−書込メモリからの
データの選択的ストア及び出力を与える。
プロセサ110は、命令バス121を介して命令キャッシュMM
U120へ、及びデータ出力バス131を介してデータキャッ
シュMMU130へ独立的に接続されている。プロセサ110
は、命令キャッシュMMU120から受け取られた命令の夫々
のデコード及び実行に応答して、データキャッシュMMU1
30から受け取られたデータを処理する。処理は、演算
的、論理的、関係を基礎にしたもの等とすることが可能
である。
U120へ、及びデータ出力バス131を介してデータキャッ
シュMMU130へ独立的に接続されている。プロセサ110
は、命令キャッシュMMU120から受け取られた命令の夫々
のデコード及び実行に応答して、データキャッシュMMU1
30から受け取られたデータを処理する。処理は、演算
的、論理的、関係を基礎にしたもの等とすることが可能
である。
上述した如く、命令キャッシュMMU120のプログラムカウ
ンタは、ブランチ及びコンテクストスイッチの間のみア
ドレスがロードされる。そうでない場合には、命令キャ
ッシュMMUは連続的ストリーム出力モードで動作する。
従って、命令キャッシュMMU120のプログラムカウンタが
開始アドレスでロードされ且つキャッシュ前進信号が活
性状態とされると、夫々アドレスされた位置のデータが
命令キャッシュMMU120メモリからプロセサ110へ出力さ
れ、且つ爾後の命令は一度に1つの命令を直列的にスト
リーム状でプロセサ110へ転送される。何等付加的なア
ドレス転送の必要性無しに転送された各爾後の命令ワー
ド又は一群の命令ワードは、コンテクストスイッチ又は
ブランチが必要とされる時以外に、プロセサ110と命令
キャッシュMMU120プログラムカウンタとの間で転送され
る。
ンタは、ブランチ及びコンテクストスイッチの間のみア
ドレスがロードされる。そうでない場合には、命令キャ
ッシュMMUは連続的ストリーム出力モードで動作する。
従って、命令キャッシュMMU120のプログラムカウンタが
開始アドレスでロードされ且つキャッシュ前進信号が活
性状態とされると、夫々アドレスされた位置のデータが
命令キャッシュMMU120メモリからプロセサ110へ出力さ
れ、且つ爾後の命令は一度に1つの命令を直列的にスト
リーム状でプロセサ110へ転送される。何等付加的なア
ドレス転送の必要性無しに転送された各爾後の命令ワー
ド又は一群の命令ワードは、コンテクストスイッチ又は
ブランチが必要とされる時以外に、プロセサ110と命令
キャッシュMMU120プログラムカウンタとの間で転送され
る。
MCLKは全メインクロック、例えば33MHz、論理に対する
クロックである。BCLKはシステムバスロックであり、好
適にはMCLKの1/2又は1/4の何れかである。
クロックである。BCLKはシステムバスロックであり、好
適にはMCLKの1/2又は1/4の何れかである。
システムバス141同期に対して、BCLKはシステムバス上
の全てのユニット、即ちCPU、IPO、バスアービタ、キャ
ッシュ、インタラプトコントローレ、Mp等へ、供給され
る。全ての信号はバス上に発生されねばならず、且つBC
LKの上昇端でサンプルされねばはらない。該信号の伝播
遅れは、バス動作の同期モードを保証する為に、BCLKの
1サイクル内でなければならない。BCLKとMCLKとの間の
位相関係は厳格に特定されている。1実施例において、
BCLKはMCLKのサイクル時間の2倍又は4倍の50%デュー
ティサイクルクロックであり、それはシステムバス141
の物理的寸法及び負荷に依存している。
の全てのユニット、即ちCPU、IPO、バスアービタ、キャ
ッシュ、インタラプトコントローレ、Mp等へ、供給され
る。全ての信号はバス上に発生されねばならず、且つBC
LKの上昇端でサンプルされねばはらない。該信号の伝播
遅れは、バス動作の同期モードを保証する為に、BCLKの
1サイクル内でなければならない。BCLKとMCLKとの間の
位相関係は厳格に特定されている。1実施例において、
BCLKはMCLKのサイクル時間の2倍又は4倍の50%デュー
ティサイクルクロックであり、それはシステムバス141
の物理的寸法及び負荷に依存している。
図示した如く、命令の転送は命令キャッシュMMU120から
プロセサ110へ行われる。データ転送はデータキャッシ
ュMMU130とプロセサ110との間で双方向性である。命令
キャッシュMMU120とメインメモリ140との間のインター
フェースは、命令キャッシュMMU120のメモリ管理ユニッ
トに応答してメインメモリ140から命令キャッシュMMU12
0への命令である。これは、ICACHE−MMU120のキャッシ
ュメモリ内に存在していない命令が要求される場合に、
発生する。データキャッシュMMU130とメインメモリ140
との間のデータ転送は双方向性である。命令キャッシュ
MMU120及びデータキャッシュMMU130のメモリ管理ユニッ
トは、全てのメモリ管理、保護、及び仮想アドレスから
物理的アドレスへの変換を行う。
プロセサ110へ行われる。データ転送はデータキャッシ
ュMMU130とプロセサ110との間で双方向性である。命令
キャッシュMMU120とメインメモリ140との間のインター
フェースは、命令キャッシュMMU120のメモリ管理ユニッ
トに応答してメインメモリ140から命令キャッシュMMU12
0への命令である。これは、ICACHE−MMU120のキャッシ
ュメモリ内に存在していない命令が要求される場合に、
発生する。データキャッシュMMU130とメインメモリ140
との間のデータ転送は双方向性である。命令キャッシュ
MMU120及びデータキャッシュMMU130のメモリ管理ユニッ
トは、全てのメモリ管理、保護、及び仮想アドレスから
物理的アドレスへの変換を行う。
図示した如く、プロセサ110は仮想アドレス出力を与
え、それはメインメモリ内の対応する物理的アドレスと
連合的にマップした関係を持っている。命令及びデータ
キャッシュMMU120及び130の夫々のメモリ管理ユニット
は、メモリ管理ユニットが夫々の仮想的にアドレスした
位置に対して連合的にマップしたデジタル情報の夫々の
出力を選択的に与える様に、プロセサ110の命令及びデ
ータインターフェースからの夫々の仮想アドレス出力に
応答する。アドレスされた位置に対して要求された情報
が夫々のキャッシュMMUメモリ120及び130内にストアさ
れない場合(即ち、、キャッシュミス乃至はキャッシュ
はずれ)には、キャッシュMMUの夫々のメモリ管理ユニ
ットはメインメモリ140へ出力する為に変換された物理
的アドレスを与える。その後に、対応する情報がメイン
メモリ140から夫々の命令キャッシュMMU120又はデータ
キャッシュMMU130へ又はそこから、且つ必要に応じてプ
ロセサ110へ供給される。
え、それはメインメモリ内の対応する物理的アドレスと
連合的にマップした関係を持っている。命令及びデータ
キャッシュMMU120及び130の夫々のメモリ管理ユニット
は、メモリ管理ユニットが夫々の仮想的にアドレスした
位置に対して連合的にマップしたデジタル情報の夫々の
出力を選択的に与える様に、プロセサ110の命令及びデ
ータインターフェースからの夫々の仮想アドレス出力に
応答する。アドレスされた位置に対して要求された情報
が夫々のキャッシュMMUメモリ120及び130内にストアさ
れない場合(即ち、、キャッシュミス乃至はキャッシュ
はずれ)には、キャッシュMMUの夫々のメモリ管理ユニ
ットはメインメモリ140へ出力する為に変換された物理
的アドレスを与える。その後に、対応する情報がメイン
メモリ140から夫々の命令キャッシュMMU120又はデータ
キャッシュMMU130へ又はそこから、且つ必要に応じてプ
ロセサ110へ供給される。
ここで説明する如く、第1図のシステムは、中央処理装
置110を有しており、それは好適実施例においては単一
チップマイクロプロセサであり、その中に内蔵されてい
る別々の命令キャッシュMMU及びデータキャッシュMMUバ
スインターフェースを持っている。CPU110は、別の命令
バス121を介して、命令キャッシュMMU120へ接続する。
命令バス121は非常に高速のバスであり、それは、前述
した如く、ブランチ及びコンテクストスイッチの期間中
を除いて、プロセサの関与無しに命令のストリーム即ち
命令列を与える。命令バス121は、非常に高速の命令通
信を与え、且つ命令キャッシュMMU120からプロセサ110
へ非常に高速で命令を通信する為の手段を与える。プロ
セサ110は又別の独立した高速データバス131を介してデ
ータキャッシュMMUへ接続されている。データバス131
は、プロセサ110とデータキャッシュMMU130との間でデ
ータの非常に高速な双方向通信を与える。
置110を有しており、それは好適実施例においては単一
チップマイクロプロセサであり、その中に内蔵されてい
る別々の命令キャッシュMMU及びデータキャッシュMMUバ
スインターフェースを持っている。CPU110は、別の命令
バス121を介して、命令キャッシュMMU120へ接続する。
命令バス121は非常に高速のバスであり、それは、前述
した如く、ブランチ及びコンテクストスイッチの期間中
を除いて、プロセサの関与無しに命令のストリーム即ち
命令列を与える。命令バス121は、非常に高速の命令通
信を与え、且つ命令キャッシュMMU120からプロセサ110
へ非常に高速で命令を通信する為の手段を与える。プロ
セサ110は又別の独立した高速データバス131を介してデ
ータキャッシュMMUへ接続されている。データバス131
は、プロセサ110とデータキャッシュMMU130との間でデ
ータの非常に高速な双方向通信を与える。
これら2つの別箇のキャッシュインターフェースバス、
命令バス121、及びデータバス131は各々複数個の信号を
有している。第4図及び第5図に1実施例に対して示し
た如く、データキャッシュバス131、命令キャッシュバ
ス121上の信号は以下の通りである。
命令バス121、及びデータバス131は各々複数個の信号を
有している。第4図及び第5図に1実施例に対して示し
た如く、データキャッシュバス131、命令キャッシュバ
ス121上の信号は以下の通りである。
***データキャッシュバス*** ADF<31:0> :アドレス/データバス これらのラインは双方向性であり且つアドレス/データ
マルチプレクス動作されるバスを与える。CPUが1クロ
ックサイクルに対するメモリ参照の為にこれらのライン
上にアドレスを与える。ストア動作と共に、該アドレス
にデータが続く。ロード又はTAS動作と共に、アドレス
サイクルの後これらのバスラインはアイドル(フローテ
ィング)状態となり、従ってこれらのラインはデータキ
ャッシュMMUからデータを受け取る準備がなされる。次
いで、データキャッシュはロード又はTAS動作の為に該
ライン上にアドレスされたデータを与える。
マルチプレクス動作されるバスを与える。CPUが1クロ
ックサイクルに対するメモリ参照の為にこれらのライン
上にアドレスを与える。ストア動作と共に、該アドレス
にデータが続く。ロード又はTAS動作と共に、アドレス
サイクルの後これらのバスラインはアイドル(フローテ
ィング)状態となり、従ってこれらのラインはデータキ
ャッシュMMUからデータを受け取る準備がなされる。次
いで、データキャッシュはロード又はTAS動作の為に該
ライン上にアドレスされたデータを与える。
MPUO : SSW30,スーパーバイザモード MPK : SSW29,保護キー MPUOU : SSW28,スーパーバイザモード上でユーザのデー
タ空間を選択 MPKU : SSW27,スーパーバイザモード上でユーザのデー
タ空間の保護キー MPM : SSW26,仮想マップ これらの信号はCPU内でのシステムステータスワード(S
SW<30:26>)を表しており、且つDキャッシュ及びI
キャッシュの両方へ供給される。
タ空間を選択 MPKU : SSW27,スーパーバイザモード上でユーザのデー
タ空間の保護キー MPM : SSW26,仮想マップ これらの信号はCPU内でのシステムステータスワード(S
SW<30:26>)を表しており、且つDキャッシュ及びI
キャッシュの両方へ供給される。
FC<3:0> 機能コード/トラップコード アドレスサイクルにおける1クロックサイクルに対し
て、CPUがFC<3:0>ライン上に“データ転送のタイプ”
を与える。D−CACHE、又はI−CACHEは、TSTBと共に異
常動作に関する“トラップのタイプ”を返送する。
て、CPUがFC<3:0>ライン上に“データ転送のタイプ”
を与える。D−CACHE、又はI−CACHEは、TSTBと共に異
常動作に関する“トラップのタイプ”を返送する。
転送タイプ −−−−−− ASFアクティブの場合) FC<3210> −−−− 0000 単一ワードモードをロード 0001 二重ワードモードをロード 0010 バイトをロード 0011 半ワードをロード 0100 テスト及びセット 1X00 単一ワードをストア 1X01 二重ワードをストア 1X10 バイトをストア 1X11 半ワードをストア D−CACHEはFC上にTRAPコードを与えてCPUに応答する。
トラップコード −−−−−−−− (TSTBアクティブにの場合) FC<3210> −−−− X000 X001 メモリエラー(MSBE) X010 メモリエラー(MDBE) X011 X100 X101 ページ障害 X110 保護障害(READ) X111 保護障害(WRITE) ASF : アドレス ストローブ ASFはCPUによって活性化即ちアクティブとされ、‘アド
レス’及び‘データ転送のタイプ’がADF<31:10>及び
FC<3:0>ライン上で夫々有効であることを表す。ASF
は、アドレスがADFバス上に乗るよりも半クロックサイ
クル早くアクティブとなる。
レス’及び‘データ転送のタイプ’がADF<31:10>及び
FC<3:0>ライン上で夫々有効であることを表す。ASF
は、アドレスがADFバス上に乗るよりも半クロックサイ
クル早くアクティブとなる。
RSP : 応答信号 ロード動作と共に、RSP信号がD−CACHEによって活性化
され、データがADFバス上でレディであることを表す。R
SPはADFバス上のデータと同じタイミングである。D−C
ACHEはロード動作と共にデータをCPUへ送り、且つスト
ア動作と共にCPUからのデータを受け付ける。
され、データがADFバス上でレディであることを表す。R
SPはADFバス上のデータと同じタイミングである。D−C
ACHEはロード動作と共にデータをCPUへ送り、且つスト
ア動作と共にCPUからのデータを受け付ける。
ストア動作と共に、データキャッシュMMUが次の動作を
受け付ける準備がなされてレディであるとRSPは活性化
される。二重ロードと共に、各データパーセル転送と共
にRSPが返送される。二重ストアと共に、第2のデータ
パーセルが受け付けられた後に1つのRSPのみが返送さ
れる。
受け付ける準備がなされてレディであるとRSPは活性化
される。二重ロードと共に、各データパーセル転送と共
にRSPが返送される。二重ストアと共に、第2のデータ
パーセルが受け付けられた後に1つのRSPのみが返送さ
れる。
TSTB : TRAPストローブ FC<2:0>に関するトラップコードと共に、TSTBがD−C
ACHEによっり送り出され、動作が異常事態により終了さ
れ且つTRAPコードがFC<2:0>ライン上で得られること
を表す。既に訂正されたエラー(MSBE)に基づき、TSTB
の次に2クロック期間の後にRSPが続き、一方何れかのF
AULT(障害)又は訂正不能のERROR(MDBE)に基づい
て、TSTBのみが送り出される。
ACHEによっり送り出され、動作が異常事態により終了さ
れ且つTRAPコードがFC<2:0>ライン上で得られること
を表す。既に訂正されたエラー(MSBE)に基づき、TSTB
の次に2クロック期間の後にRSPが続き、一方何れかのF
AULT(障害)又は訂正不能のERROR(MDBE)に基づい
て、TSTBのみが送り出される。
nDATA : D−CACHE このラインが低であると、データキャッシュMMUチップ
がDATAキャッシュバスへ接続されていることを表す。
がDATAキャッシュバスへ接続されていることを表す。
***INST バス*** IADF<31:0> : アドレス/命令バス これらのラインは双方向性であり、且つアドレス/命令
マルチプレクス動作されるバスを形成する。CPUは、そ
れがブランチ、リターン、スーパーバイザコール、等の
プログラムの流れを変える場合、又はそれがSSW<30:26
>値を変える場合に、これらのライン上の仮想又は実際
のアドレスを送り出す。命令キャッシュMMUはこれらの
ライン上で命令を返送する。
マルチプレクス動作されるバスを形成する。CPUは、そ
れがブランチ、リターン、スーパーバイザコール、等の
プログラムの流れを変える場合、又はそれがSSW<30:26
>値を変える場合に、これらのライン上の仮想又は実際
のアドレスを送り出す。命令キャッシュMMUはこれらの
ライン上で命令を返送する。
MPUO、MPK、MPUOU、MPM : (これらのラインのDATAキャッシュバス説明を参照) IFC<3:0> : 機能コード/応答コード I−CACHEはFCライン上にTRAPコードを与えてCPUに応答
する。
する。
IFC(ITSTBアクティブにおいて) 3210 −−−− X000 X001 メモリエラー(MSBE) X010 メモリエラー(MDBE) X011 X100 X101 ページ障害 X110 保護障害 (実行) X111 IASF : アドレス ストローブ IASFはCPUによって活性化され、アドレスがIADF<31:0
>ライン上で有効であることを表す。IASFは、アドレス
がIADFバス上に乗るよりも半クロックサイクル前にアク
ティブとなる。
>ライン上で有効であることを表す。IASFは、アドレス
がIADFバス上に乗るよりも半クロックサイクル前にアク
ティブとなる。
ISEND : 命令送れ(即ち、キャッシュ前進信号) ISENDはCPUによって活性化され、CPUが次の命令を受け
付ける為の準備がなされていること(例えば、CPU内の
命令バッファが満杯でない)を表す。
付ける為の準備がなされていること(例えば、CPU内の
命令バッファが満杯でない)を表す。
RSPの後端において、命令バッファが満杯であると、ISE
NDはオフでなければならず、そうでないと、次の命令が
命令キャッシュMMUから送られる。例えばブランチ時
に、新しいアドレスが発生されると、IASFがアクティブ
となる少なくとも1クロックサイクル前にISENDはオフ
でなければならない。
NDはオフでなければならず、そうでないと、次の命令が
命令キャッシュMMUから送られる。例えばブランチ時
に、新しいアドレスが発生されると、IASFがアクティブ
となる少なくとも1クロックサイクル前にISENDはオフ
でなければならない。
IRSP : 応答信号 IRSPはI−CACHEによって活性化され、命令がIADF<31:
0>ライン上でレディであることを表す。IRSPはバス上
のデータと同じタイミングである。
0>ライン上でレディであることを表す。IRSPはバス上
のデータと同じタイミングである。
ITSTB : TRAPストローブ これはI−CACHEによって活性化され、キャッシュが異
常事態によってその動作を終了させ、且つTRAPコードが
IFC<3:0>ライン上で得られることを表す。既に訂正さ
れたエラー(MSBE)に基づき、2クロック期間後にTSTB
がRSPに続き、一方FAULT又は訂正不能のエラー(MDBE)
の場合には、TSTBのみが送り出され且つアクティブとな
る。
常事態によってその動作を終了させ、且つTRAPコードが
IFC<3:0>ライン上で得られることを表す。既に訂正さ
れたエラー(MSBE)に基づき、2クロック期間後にTSTB
がRSPに続き、一方FAULT又は訂正不能のエラー(MDBE)
の場合には、TSTBのみが送り出され且つアクティブとな
る。
INST : I−CACHE このラインが高であると、キャッシュはINSTキャッシュ
バスへ接続される。
バスへ接続される。
命令キャッシュMMU120及びデータキャッシュMMU130の各
々はシステムバス141へ接続する為の第2バスインター
フェースを持っている。システムバス141は、それに接
続されている全ての要素の間で情報を通信する。システ
ムクロック160のバスクロック信号BCLKは、システムバ
ス141に接続されている要素間の転送の同期を与える。
々はシステムバス141へ接続する為の第2バスインター
フェースを持っている。システムバス141は、それに接
続されている全ての要素の間で情報を通信する。システ
ムクロック160のバスクロック信号BCLKは、システムバ
ス141に接続されている要素間の転送の同期を与える。
第6図に示した如く、命令キャッシュMMU120及びデータ
キャッシュMMU130からのシステムバス出力は、共通中間
バス133へ接続されており、それはTTLドライバ/バッフ
ァ回路135へ接続してシステムバス141への及びそれから
のインターフェースをバッファすると共に駆動する。こ
のことは、命令キャッシュMMU120及びデータキャッシュ
MMU130の各々がモノリシックの単一チップ集積回路であ
る場合、及びモノリシック集積回路をバスインターフェ
ース危険から保護する為にバスドライバ/レシーバをモ
ノリシック集積回路から分離することが所望される場合
に、特に有用である。以下のバス信号がバスドイラバ/
レシーバ動作を調節する。
キャッシュMMU130からのシステムバス出力は、共通中間
バス133へ接続されており、それはTTLドライバ/バッフ
ァ回路135へ接続してシステムバス141への及びそれから
のインターフェースをバッファすると共に駆動する。こ
のことは、命令キャッシュMMU120及びデータキャッシュ
MMU130の各々がモノリシックの単一チップ集積回路であ
る場合、及びモノリシック集積回路をバスインターフェ
ース危険から保護する為にバスドライバ/レシーバをモ
ノリシック集積回路から分離することが所望される場合
に、特に有用である。以下のバス信号がバスドイラバ/
レシーバ動作を調節する。
DIRout : ADバスの方向が外側。
この信号は、ADラインのオフチップドライバーレシーバ
を制御する為に使用される。ADDRESSの発生と共に且つD
ATAを書込モードで送り出すと共に、マスタキャッシュ
がこの信号を活性化させる。読取モードでDATAを送り出
すと共に、スレーブキャッシュがこの信号を活性化させ
る。
を制御する為に使用される。ADDRESSの発生と共に且つD
ATAを書込モードで送り出すと共に、マスタキャッシュ
がこの信号を活性化させる。読取モードでDATAを送り出
すと共に、スレーブキャッシュがこの信号を活性化させ
る。
ICA/ : I−CACHEアクセス nICAは、データ及び命令キャッシュとCPUによってのみ
使用される。この信号は、I−CACHE内のI0空間をアク
セスする為に、対とされているI−CACHEへD−CACHEか
ら送られる。システムバスからメモリマップされたI0ア
クセスの到達と共に、I−CACHEはそれはnICAがアクテ
ィブである場合にのみI0コマンドとして受け付ける。従
って、キャッシュはI0コマンドを対とされたCPUからの
み受け付ける。
使用される。この信号は、I−CACHE内のI0空間をアク
セスする為に、対とされているI−CACHEへD−CACHEか
ら送られる。システムバスからメモリマップされたI0ア
クセスの到達と共に、I−CACHEはそれはnICAがアクテ
ィブである場合にのみI0コマンドとして受け付ける。従
って、キャッシュはI0コマンドを対とされたCPUからの
み受け付ける。
システムバス141の同期動作は、サンプルされる時に信
号変化が発生しない限り、上述したシステム環境におい
て可能とされる。この動作を実現する為には2つのタイ
ミングが基本であり、その1つはバス上に信号を発生す
ることであり、その他方はサンプリングして信号を検出
することである。これらの2つのタイミングは、バスク
ロックBCLKから発生されねばならず、そのクロックはマ
スタクロックMCLKと特定の位相関係にあり、内部論理動
作と特定の関係を維持する。これらのタイミングは、バ
ス上において互いに小さなスキュー即ち歪を持ってお
り、次式を満足するものでなければならない。
号変化が発生しない限り、上述したシステム環境におい
て可能とされる。この動作を実現する為には2つのタイ
ミングが基本であり、その1つはバス上に信号を発生す
ることであり、その他方はサンプリングして信号を検出
することである。これらの2つのタイミングは、バスク
ロックBCLKから発生されねばならず、そのクロックはマ
スタクロックMCLKと特定の位相関係にあり、内部論理動
作と特定の関係を維持する。これらのタイミングは、バ
ス上において互いに小さなスキュー即ち歪を持ってお
り、次式を満足するものでなければならない。
Tg−s>Tpro+Tsk ここで、Tg−sは信号発生タイミングから信号サンプリ
ングタイミングへの期間であり、Tproは信号の最大伝播
遅れ時間であり、Tskはバスクロックのスキューであ
る。
ングタイミングへの期間であり、Tproは信号の最大伝播
遅れ時間であり、Tskはバスクロックのスキューであ
る。
システムバスの物理的条件が上式を満足するものではな
い場合、信号はサンプリングタイミングに関して非同期
的に到着する。この場合、外部非同期信号を同期させる
為にバスインターフェース内にシンクロナイザが必要で
ある。非同期動作はバスの物理的寸法又はどの様な種類
のタイミング遅れをも制限するものではないが、“同期
障害”の可能性を除去することが極端に困難であるとい
う重大な欠点が存在する。非同期方法の別の欠点は、非
同期方法において必然的に必要とされるハンドシェイク
プロトコールに起因する速度上の制限である。このこと
は、マルチデータ転送モードにおいて特に非効率的であ
る。ハンドシェーク手法は、1つのソースと1つ又はそ
れ以上のデスティネーションとの間での相互通信の有用
な方法であり、且つこれはデータ転送動作の安全な方法
であるが、タイミングプロトコールが速度を制限し且つ
非常に高速のバス動作においては屡々不満足なことがあ
る。更に、非同期バスはノイズにも敏感である。
い場合、信号はサンプリングタイミングに関して非同期
的に到着する。この場合、外部非同期信号を同期させる
為にバスインターフェース内にシンクロナイザが必要で
ある。非同期動作はバスの物理的寸法又はどの様な種類
のタイミング遅れをも制限するものではないが、“同期
障害”の可能性を除去することが極端に困難であるとい
う重大な欠点が存在する。非同期方法の別の欠点は、非
同期方法において必然的に必要とされるハンドシェイク
プロトコールに起因する速度上の制限である。このこと
は、マルチデータ転送モードにおいて特に非効率的であ
る。ハンドシェーク手法は、1つのソースと1つ又はそ
れ以上のデスティネーションとの間での相互通信の有用
な方法であり、且つこれはデータ転送動作の安全な方法
であるが、タイミングプロトコールが速度を制限し且つ
非常に高速のバス動作においては屡々不満足なことがあ
る。更に、非同期バスはノイズにも敏感である。
好適実施例においては、システムバス141は1つのクロ
ック:BCLKを持っている。MCLKはCPU110とキャッシュ120
及び130の内部論理動作の為に使用され、且つBCLKは上
述した如くバス動作の同期タイミングを発生する為に使
用される。
ック:BCLKを持っている。MCLKはCPU110とキャッシュ120
及び130の内部論理動作の為に使用され、且つBCLKは上
述した如くバス動作の同期タイミングを発生する為に使
用される。
システムバスは、ハンドシェーク及び非ハンドシェーク
方法の適合性の組合せを与えることが可能である。
方法の適合性の組合せを与えることが可能である。
好適実施例においては、システムバス141は高速の同期
バスでマルチプルマスタ機能を具備している。各潜在的
なマスタは、コントロールライン即ち制御線111を介し
てプロセサ110へ接続されているインタラプトコントロ
ーラ170へ接続される別々のインタラプトラインを持つ
ことが可能である。システムバス141はマルチプレクス
動作されるデータ/アドレス経路を持っており且つ単一
又は複数ワードブロック転送を可能とする。該バスは効
率的なCPU−キャッシュ動作を可能とする為に最適化さ
れている。それは明示的な読取/修正/書込サイクルを
持つものではないが、バスを解放すること無しに読取次
いで書込サイクルを行うことによってこのことを実行す
る。
バスでマルチプルマスタ機能を具備している。各潜在的
なマスタは、コントロールライン即ち制御線111を介し
てプロセサ110へ接続されているインタラプトコントロ
ーラ170へ接続される別々のインタラプトラインを持つ
ことが可能である。システムバス141はマルチプレクス
動作されるデータ/アドレス経路を持っており且つ単一
又は複数ワードブロック転送を可能とする。該バスは効
率的なCPU−キャッシュ動作を可能とする為に最適化さ
れている。それは明示的な読取/修正/書込サイクルを
持つものではないが、バスを解放すること無しに読取次
いで書込サイクルを行うことによってこのことを実行す
る。
第1図の実施例の例示として、本システムは単一のCPU1
10と、8入力固定優先バスアービタ180と、インタラプ
トコントローラ170とを有している。全ての信号はクロ
ックの端部で発生され且つサンプルされ、且つ次のクロ
ック端部の前に少なくともセットアップ時間の間安定で
あり且つ中間回路動作を回避する為にクロック端部の後
少なくとも保持時間の間一定に保持されるべきである。
これは、バス遅延に制限が課されるべきであることを意
味しており、それはバス長さ及びローディングを制限す
る。
10と、8入力固定優先バスアービタ180と、インタラプ
トコントローラ170とを有している。全ての信号はクロ
ックの端部で発生され且つサンプルされ、且つ次のクロ
ック端部の前に少なくともセットアップ時間の間安定で
あり且つ中間回路動作を回避する為にクロック端部の後
少なくとも保持時間の間一定に保持されるべきである。
これは、バス遅延に制限が課されるべきであることを意
味しており、それはバス長さ及びローディングを制限す
る。
システムバス141は複数個の信号を有している。例え
ば、第5図に示した如く、1実施例の場合、システムバ
ス141は以下の信号を有することが可能であり、“/"は
低の場合に真を表す信号を示している。
ば、第5図に示した如く、1実施例の場合、システムバ
ス141は以下の信号を有することが可能であり、“/"は
低の場合に真を表す信号を示している。
AD<31:0> : アドレス/データバス これはマルチプレクス動作されるアドレス/データバス
である。有効なバスサイクルの間、バスの権利を持った
バスマスタはバス上にアドレスを与える。次いで、その
バスマスタは書込の際にバス上にデータを与えるか、又
はそのADバス出力を高インピーダンス状態へ3状態(フ
ロート)とさせて読取の間にデータを受け取る準備をす
る。
である。有効なバスサイクルの間、バスの権利を持った
バスマスタはバス上にアドレスを与える。次いで、その
バスマスタは書込の際にバス上にデータを与えるか、又
はそのADバス出力を高インピーダンス状態へ3状態(フ
ロート)とさせて読取の間にデータを受け取る準備をす
る。
CT<3:0> : CycleType CT<3:2>はバス上のマスタのタイプ及び読取又は書込
サイクルが行われているか否かを表す。
サイクルが行われているか否かを表す。
32 −− 00 CPU書込(CPU型装置により書込の送出) 01 CPU読取(CPU型装置により読取の送出) 10 IO書込(IOP型装置により書込の送出) 11 IO読取(IOP型装置により読取の送出) CT(1:0)はサイクル中に転送されるべきワード数を表
す。
す。
CT<1:0> −− 00 単一ワード転送 01 カッド語転送 10 16ワード転送 11 グローバルCAMMU書込 MS<4:0> : システムメモリ空間ビット システムMSビットは、現在のアクセスが発生するメモリ
空間及びキャッシュが内部サイクルを行うことを表すコ
ードを特定する。そのサイクルは、キャッシュエントリ
をアップデートするか、又はキャッシュが一層最近のデ
ータのコピーを持っている場合には、本システムバスへ
データを供給するかの何れかの為に必要とされる。
空間及びキャッシュが内部サイクルを行うことを表すコ
ードを特定する。そのサイクルは、キャッシュエントリ
をアップデートするか、又はキャッシュが一層最近のデ
ータのコピーを持っている場合には、本システムバスへ
データを供給するかの何れかの為に必要とされる。
MS : 432 −−−−−−−−−−−−−−−−−−−−−− 00 メインメモリ、専有空間。
キャッシュ可能ライトスルー(write through)。
001 メインメモリ、共有空間。
キャッシュ可能ライトスルー。
010 メインメモリ、専有空間、 キャッシュ可能コピーバック。
011 メインメモリ、共有空間。
キャッシュ不能。
1X0 メモリマップドIO空間。
キャッシュ不能。
1X1 ブートローダ空間。
キャッシュ不能。
キャッシュMMU及びメモリマップド空間内の装置の間の
転送は単一又は部分的ワードのみによる。
転送は単一又は部分的ワードのみによる。
該転送がメモリマップドIO空間へのものである場合、そ
れは単一サイクル型のもの、即ちCT(1:0)は(00)で
あり、次いで下位の2つのMSビットは参照されたデータ
の寸法を表す。
れは単一サイクル型のもの、即ちCT(1:0)は(00)で
あり、次いで下位の2つのMSビットは参照されたデータ
の寸法を表す。
MS(1:0) −−−−−−− 0X 全体ワード転送 10 バイト転送 11 1/2ワード転送 転送されるバイト又は半ワードは、データのアドレスに
よって指摘されているバスビット上に現れねばらなな
い。例えば、アドレスFF03(HEX)へのバイトアドレス
の間、所望のデータはワードの第3バイトであるバス信
号AD<23:16>上に現れねばならない。
よって指摘されているバスビット上に現れねばらなな
い。例えば、アドレスFF03(HEX)へのバイトアドレス
の間、所望のデータはワードの第3バイトであるバス信
号AD<23:16>上に現れねばならない。
キャッシュ120又は130が共有書込(即ち、メインメモリ
140内の共有空間内への書込)又はシステムバスからのI
O書込によってアクセスされると、適宜のキャッシュ内
のヒットラインは無効とされねばならない。キャッシュ
がシステムバスからIO読取によってアクセスされると、
キャッシュ内の整合されたよごれたデータは送り出され
ねばならない。
140内の共有空間内への書込)又はシステムバスからのI
O書込によってアクセスされると、適宜のキャッシュ内
のヒットラインは無効とされねばならない。キャッシュ
がシステムバスからIO読取によってアクセスされると、
キャッシュ内の整合されたよごれたデータは送り出され
ねばならない。
マスタはスレーブに対して、スレーブが対応することの
可能なサイクルのタイプを送出せねばならず、そうでな
いとバスはタイムアウトとなる。
可能なサイクルのタイプを送出せねばならず、そうでな
いとバスはタイムアウトとなる。
AC/ : ActiveCycle これは現在のバスマスタによって起され、バスサイクル
がアクティブであることを表す。
がアクティブであることを表す。
RDY/ : ReaDY EDY/は、所要のバス動作を完了する準備がなされ且つ入
手可能なデータを取ったか又は読取データをバス上に与
えたかの何れかの場合に、アドレスされたスレーブによ
って送出される。RDY/はCBSY/が不活性状態となる迄は
アサート即ち起生されない。長いアクセス時間を許容す
る為に、複数ワードアクセスサイクルに関しての転送の
間はRDY/を否定されることが可能である。複数ワード読
取書込サイクルの間、ReaDY/は、転送の最初のワードが
除去される2クロック前にアサートされねばならない。
次のデータが遅延されるべき時には、ReaDY/はそれがア
サートされた後のクロックで否定されねばならない。こ
の信号は、スレーブとして機能することの可能な装置間
の“ワイヤードOR"されたものである。
手可能なデータを取ったか又は読取データをバス上に与
えたかの何れかの場合に、アドレスされたスレーブによ
って送出される。RDY/はCBSY/が不活性状態となる迄は
アサート即ち起生されない。長いアクセス時間を許容す
る為に、複数ワードアクセスサイクルに関しての転送の
間はRDY/を否定されることが可能である。複数ワード読
取書込サイクルの間、ReaDY/は、転送の最初のワードが
除去される2クロック前にアサートされねばならない。
次のデータが遅延されるべき時には、ReaDY/はそれがア
サートされた後のクロックで否定されねばならない。こ
の信号は、スレーブとして機能することの可能な装置間
の“ワイヤードOR"されたものである。
CBSY/ : CacheBUSY CBSY/は、バスアクセスに起因して、内部サイクルを実
行している時にキャッシュによって送出される。バス及
びアドレスされたスレーブの現在のコントローラは、CB
SYが偽(false)になる迄そのサイクルを完了してはな
らない。この信号はキャッシュ間で“ワイヤーOR"され
ている。CBSY/ラインは、動作が終った後にのみ解放さ
れる。専有書込モードの場合、各スレーブキャッシュは
そのCBSY/信号を高インピーダンス状態に維持する。
行している時にキャッシュによって送出される。バス及
びアドレスされたスレーブの現在のコントローラは、CB
SYが偽(false)になる迄そのサイクルを完了してはな
らない。この信号はキャッシュ間で“ワイヤーOR"され
ている。CBSY/ラインは、動作が終った後にのみ解放さ
れる。専有書込モードの場合、各スレーブキャッシュは
そのCBSY/信号を高インピーダンス状態に維持する。
MSBE/ : MemorySingleBitError これは、単一ビットメモリエラーを検知し且つ訂正した
後にメインメモリ140によって送出される。これは、エ
ラーのデータがバス上で真(true)の時にのみ真となる
(即ち、4ワード転送の3番目のワードがこのサイクル
において訂正した読取エラーを持っていると、該3番目
のワードがバス上でアクティブである時間中、(MMBE)
は真である。)。
後にメインメモリ140によって送出される。これは、エ
ラーのデータがバス上で真(true)の時にのみ真となる
(即ち、4ワード転送の3番目のワードがこのサイクル
において訂正した読取エラーを持っていると、該3番目
のワードがバス上でアクティブである時間中、(MMBE)
は真である。)。
MMBE/ : MemoryMultipleBitError これは、それが訂正不能のメモリエラーを検知するとメ
インメモリによって送出される。これは、エラーのデー
タがバス上で真の場合のみ真となる(即ち、4ワード転
送の3番目のワードがこのサイクルにおいて訂正不能の
読取エラーを持っていると、該3番目のワードがバス上
でアクティブの時間中、MMBEは真となる。)。
インメモリによって送出される。これは、エラーのデー
タがバス上で真の場合のみ真となる(即ち、4ワード転
送の3番目のワードがこのサイクルにおいて訂正不能の
読取エラーを持っていると、該3番目のワードがバス上
でアクティブの時間中、MMBEは真となる。)。
BERR/ : BusERRor これは、それがバスタイムアウト状態を検知するか又は
バスパリティエラーが検知された後に、バス調整論理に
よって送出される。信号タイムアウトタイミングはBusG
rantの期間である。
バスパリティエラーが検知された後に、バス調整論理に
よって送出される。信号タイムアウトタイミングはBusG
rantの期間である。
P<3:0> : パリティビット3乃至0 これらは、AD<31:0>バス上の4バイト用の4つのパリ
ティビットである。アドレス及びデータの両方が全ての
サイクルでパリティをチェックする。
ティビットである。アドレス及びデータの両方が全ての
サイクルでパリティをチェックする。
PERR/ : Parity ERRor これは、各装置のパリティ検査回路によって駆動される
オープンコレクタ信号である。それは、パリティエラー
がアドレス又はデータの何れかにおいて検出されるとア
サート即ち起生される。それは、バス調整論理180によ
ってラッチされ、それはバスエラーシーケンスを発生す
る。
オープンコレクタ信号である。それは、パリティエラー
がアドレス又はデータの何れかにおいて検出されるとア
サート即ち起生される。それは、バス調整論理180によ
ってラッチされ、それはバスエラーシーケンスを発生す
る。
VRX : BusRequest これは装置xからバスアービタ180へのバス要求信号で
ある。
ある。
BGX : BusGrant これはバスアービタ180から装置xへのバス許可信号で
ある。
ある。
LOCK : これは、読取/修正/書込サイクルの間に発生される。
それはCT及びMS信号と同じタイミングを持っている。
それはCT及びMS信号と同じタイミングを持っている。
MCLK : マスタクロック マスタクロックMCLKは1個又は複数個のCPU110及びキャ
ッシュ120及び130へ送られる。
ッシュ120及び130へ送られる。
BCLK : BusClock これはシステムのバスクロックである。全ての信号はそ
の上昇端部で発生され且つ検知される。
の上昇端部で発生され且つ検知される。
RESET/ : これはシステムのマスタリセット信号である。それは多
数のバスクロックサイクルに対してアサートされる。
数のバスクロックサイクルに対してアサートされる。
RATE : BCLK/MCLK rate Low : BCLKはMCLK(例えば、60ns)の1/2の周波数を持
つ。
つ。
High : BCLKはMCLK(例えば、120ns)の1/4の周波数を
持つ。
持つ。
1実施例においては、システムアーキテクチャーはマル
チプル即ち複数のキャッシュメモリ、マルチプルのプロ
セサ、及びIOプロセサを有している。この実施例におい
ては、それがストアされており及び/又は使用されてい
る全ての個所において同一のデータを同じ値に維持する
上での問題がある。この問題を緩和する為に、キャッシ
ュメモリはシステムバスをモニタし、各サイクルを検査
してそれが本システム内のデータの一貫性に影響を与え
ることが可能なタイプのものであるか否かを判別する。
その結果が肯定である場合、キャッシュは内部サイクル
を実行して、それはそのデータをパージせねばならない
か又はバス上のアドレスされた装置から代りにキャッシ
ュからシステムバスへデータを供給せねばならないかを
決定する。キャッシュがこのことを決定する間、それは
CacheBuSY/をアサートする。それがサイクルを終了する
と、それはCacheBuSY/を否定とする。それがデータを持
っていると、それはそれをバス上に与え且つReaDY/をア
サートする。
チプル即ち複数のキャッシュメモリ、マルチプルのプロ
セサ、及びIOプロセサを有している。この実施例におい
ては、それがストアされており及び/又は使用されてい
る全ての個所において同一のデータを同じ値に維持する
上での問題がある。この問題を緩和する為に、キャッシ
ュメモリはシステムバスをモニタし、各サイクルを検査
してそれが本システム内のデータの一貫性に影響を与え
ることが可能なタイプのものであるか否かを判別する。
その結果が肯定である場合、キャッシュは内部サイクル
を実行して、それはそのデータをパージせねばならない
か又はバス上のアドレスされた装置から代りにキャッシ
ュからシステムバスへデータを供給せねばならないかを
決定する。キャッシュがこのことを決定する間、それは
CacheBuSY/をアサートする。それがサイクルを終了する
と、それはCacheBuSY/を否定とする。それがデータを持
っていると、それはそれをバス上に与え且つReaDY/をア
サートする。
キャッシュをして内部サイクルを実施させるバスサイク
ルは以下の通りである。
ルは以下の通りである。
1.専有メモリ空間に対するIO読取(IOR)。これはキャ
ッシュがデータが供給することを許容し、それは修正さ
れている場合もあるがメモリに未だ書込されていない。
MemorySpaceコードは<010xx>である。即ち、メモリ空
間はメインメモリであり、且つ所要のデータは専有メモ
リ区域内にコピーバックモードでキャッシュされる。プ
ログラミングエラーに起因して、16ワードサイクルがキ
ャッシュ可能であると宣言され且つキャッシュヒット即
ちキャッシュ当りが発生すると、該キャッシュは最初の
4ワードを正確に供給し且つ次いで残りの12ワードへ転
送された4番目のワードの値を供給する。
ッシュがデータが供給することを許容し、それは修正さ
れている場合もあるがメモリに未だ書込されていない。
MemorySpaceコードは<010xx>である。即ち、メモリ空
間はメインメモリであり、且つ所要のデータは専有メモ
リ区域内にコピーバックモードでキャッシュされる。プ
ログラミングエラーに起因して、16ワードサイクルがキ
ャッシュ可能であると宣言され且つキャッシュヒット即
ちキャッシュ当りが発生すると、該キャッシュは最初の
4ワードを正確に供給し且つ次いで残りの12ワードへ転
送された4番目のワードの値を供給する。
2.1、4、又は16ワードのIO書込みサイクル(IOW)。こ
れは、キャッシュがそれ(それら)が有しているメモリ
内で変化されるべき何れのデータも無効化することを許
容する。MemorySpaceコードは<0001xx>、<001xx>、
及び<010xx>である。即ち、キャッシュされた全ての
整合データをパージする。
れは、キャッシュがそれ(それら)が有しているメモリ
内で変化されるべき何れのデータも無効化することを許
容する。MemorySpaceコードは<0001xx>、<001xx>、
及び<010xx>である。即ち、キャッシュされた全ての
整合データをパージする。
3.単一及び4ワードCPUの共有メモリへの書込。これ
は、その他のキャッシュが、メモリ内で変化されている
それらが収容している全てのデータを無効化させること
を可能とする。MemorySpaceコードは<001xx>である。
即ち、何れの整合即ちマッチングデータもキャッシュ可
能であり共用メモリ区域内にある。
は、その他のキャッシュが、メモリ内で変化されている
それらが収容している全てのデータを無効化させること
を可能とする。MemorySpaceコードは<001xx>である。
即ち、何れの整合即ちマッチングデータもキャッシュ可
能であり共用メモリ区域内にある。
4.キャッシュメモリ管理ユニット(GAMMU)制御レジス
タへのグローバル書込。マルチプルCPUシステムにおい
て、例えばマルチプルキャッシュ対とを具備、CBSYライ
ンをモニタし且つグローバルモードでCBSYがオフしてい
る場合にRDY信号を送出する為に付加的な装置が必要と
される。
タへのグローバル書込。マルチプルCPUシステムにおい
て、例えばマルチプルキャッシュ対とを具備、CBSYライ
ンをモニタし且つグローバルモードでCBSYがオフしてい
る場合にRDY信号を送出する為に付加的な装置が必要と
される。
5.データキャッシュメモリ管理ユニット(DCAMMU)から
そのコンパニオンの命令キャッシュメモリ管理ユニット
(ICAMMU)へのアクセス。
そのコンパニオンの命令キャッシュメモリ管理ユニット
(ICAMMU)へのアクセス。
以下の説明は、システムバスを横断して成功裡にデータ
を転送する為に続いて行われるべきバス転送要求の例示
的要約である。ソフトウエア上の約束ごとに起因するそ
の他の制限も必要になる場合がある。
を転送する為に続いて行われるべきバス転送要求の例示
的要約である。ソフトウエア上の約束ごとに起因するそ
の他の制限も必要になる場合がある。
(1)BCLKの上昇端部で全ての活動が発生する。
(2)全ての信号は全ての適宜のセットアップ及び保持
時間に適合せねばならない。
時間に適合せねばならない。
(3)マスタはスレーブが実行可能なサイクルのみをス
レーブへ送出せねばならない。これらのものは以下の通
りである。
レーブへ送出せねばならない。これらのものは以下の通
りである。
(i)MMIO及びブート(Boot)アクセスは単一サイクル
のみである。
のみである。
(ii)メモリへの16ワード転送はIOタイプサイクルとし
て送出することが出来るだけある。
て送出することが出来るだけある。
(4)キャッシュ可能サイクルの間、バススレーブは、
CacheBuSY/が否定される迄、ReaDY/を送出してはならな
い。キャッシュ不能サイクルの間、アドレスされたスレ
ーブはCacheBuSY/の為にテストする必要はない。CacheB
uSY/が否定された時にReaDY/がアサートされると、本メ
モリシステムはそのサイクルをアボート即ち中断せねば
ならない。
CacheBuSY/が否定される迄、ReaDY/を送出してはならな
い。キャッシュ不能サイクルの間、アドレスされたスレ
ーブはCacheBuSY/の為にテストする必要はない。CacheB
uSY/が否定された時にReaDY/がアサートされると、本メ
モリシステムはそのサイクルをアボート即ち中断せねば
ならない。
典型的なシステムバス141サイクルは、バスアービタ180
へのBusRequestをアサートすることによって装置がバス
の支配を要求する時に開始する。或る時間後に、アービ
タ180はBusGrantを送り返し、要求する装置がバスを使
用することが可能であることを表す。次のクロックで、
その装置はActiveCycle/、バスアドレス、バスCycleTyp
e、及びバスMemorySpaceコードをアサートする。バスア
ドレスは2個のBCLKの後に除去される。そのサイクルが
書込であると、データはAddressDataライン上でアサー
トされる。それが読取サイクルであると、AddressData
ラインは3状態であり、データがそれらの上に与えられ
ることを予期する。次いで、以下の1つが発生する。
へのBusRequestをアサートすることによって装置がバス
の支配を要求する時に開始する。或る時間後に、アービ
タ180はBusGrantを送り返し、要求する装置がバスを使
用することが可能であることを表す。次のクロックで、
その装置はActiveCycle/、バスアドレス、バスCycleTyp
e、及びバスMemorySpaceコードをアサートする。バスア
ドレスは2個のBCLKの後に除去される。そのサイクルが
書込であると、データはAddressDataライン上でアサー
トされる。それが読取サイクルであると、AddressData
ラインは3状態であり、データがそれらの上に与えられ
ることを予期する。次いで、以下の1つが発生する。
1)該サイクルがキャッシュ内部アクセスを包含する
と、キャッシュは、それがその内部動作を完了する迄、
CacheBuSY/をアサートする。CacheBuSY/がアサートされ
るとメインメモリがそのサイクルを完了することを禁止
する。ここで、幾つかの発生することの可能なシーケン
スが存在する。
と、キャッシュは、それがその内部動作を完了する迄、
CacheBuSY/をアサートする。CacheBuSY/がアサートされ
るとメインメモリがそのサイクルを完了することを禁止
する。ここで、幾つかの発生することの可能なシーケン
スが存在する。
i)該サイクルが専有メモリへのIO読取であり且つキャ
ッシュが最も最近のデータを持っている場合、該キャッ
シュは同時的に該データをシステムバス141上に与え、R
eaDY/をアサートし且つCacheBuSY/を否定する。ReaDY/
が真になることは、それが現在のサイクルをアボートす
ることをメモリ140へ表す。
ッシュが最も最近のデータを持っている場合、該キャッ
シュは同時的に該データをシステムバス141上に与え、R
eaDY/をアサートし且つCacheBuSY/を否定する。ReaDY/
が真になることは、それが現在のサイクルをアボートす
ることをメモリ140へ表す。
ii)該サイクルがIO書込又は共用メモリへの書込である
場合、メモリ140はCacheBuSY/が否定され且つReaDY/が
アサートされるのを待つ。
場合、メモリ140はCacheBuSY/が否定され且つReaDY/が
アサートされるのを待つ。
iii)該サイクルがメインメモリ140内の専有メモリへの
IO読取であり、且つキャッシュがデータを持っていない
場合、CacheBuSY/は究極的に否定される。このことは、
メモリ140がバス141上のデータをアサートし且つReaDY/
をアサートすることを可能とする。
IO読取であり、且つキャッシュがデータを持っていない
場合、CacheBuSY/は究極的に否定される。このことは、
メモリ140がバス141上のデータをアサートし且つReaDY/
をアサートすることを可能とする。
2)該サイクルがキャッシュアクセスを包含しない場
合、CacheBuSY/はモニタする必要は無い。
合、CacheBuSY/はモニタする必要は無い。
ReaDY/が真になることは、該データが成功裡に転送され
たことをマスタに知らせる。単一ワードアクセスの場
合、それはサイクルが終端であることを表す。ReaDY/
は,ActiveCycle/後の1個のBCLKが落とされる迄真のま
まである。それが読取サイクルの場合、データは、Acti
veCycle/よりも1個のBCLK長く真のままである。書込サ
イクルの場合、データはActiveCycle/と共に落とされ
る。BusRequest、MemorySpace、及びCycleTypeもActive
Cycle/と共に落とされる。BusRequestが偽となること
は、バスアービタ180により次のBCLKでBusGrantと落と
させ、そのサイクルを終了させる。ReaDY/はBusGrantと
共に落とされる。該サイクルがマルチワード型である
と、ReaDY/が真になることは、その後も転送が行われる
ことを表す。マルチプルワードサイクルの最後の転送
は、対応する単一ワードサイクルのものと同一である様
に見える。
たことをマスタに知らせる。単一ワードアクセスの場
合、それはサイクルが終端であることを表す。ReaDY/
は,ActiveCycle/後の1個のBCLKが落とされる迄真のま
まである。それが読取サイクルの場合、データは、Acti
veCycle/よりも1個のBCLK長く真のままである。書込サ
イクルの場合、データはActiveCycle/と共に落とされ
る。BusRequest、MemorySpace、及びCycleTypeもActive
Cycle/と共に落とされる。BusRequestが偽となること
は、バスアービタ180により次のBCLKでBusGrantと落と
させ、そのサイクルを終了させる。ReaDY/はBusGrantと
共に落とされる。該サイクルがマルチワード型である
と、ReaDY/が真になることは、その後も転送が行われる
ことを表す。マルチプルワードサイクルの最後の転送
は、対応する単一ワードサイクルのものと同一である様
に見える。
読取/修正/書込サイクルは、両者間にバス調整が発生
することの無い、読取及び書込サイクルである。読取デ
ータはBCLK端部乃至はエッジと同時か又はその前に除去
されねばならず、該エッジにおいて次のActiveCycle/が
アサートされる。
することの無い、読取及び書込サイクルである。読取デ
ータはBCLK端部乃至はエッジと同時か又はその前に除去
されねばならず、該エッジにおいて次のActiveCycle/が
アサートされる。
BusError即ちBERR信号が与えられて、何等かのバス障害
状態の後にシステムバス141が秩序正しくクリアされる
ことを可能とする。最長サイクルの長さは既知(例え
ば、16ワード読取又は書込)であるから、充分な保護を
与える為にはBusGrantをタイムアウトさせることが必要
とされるに過ぎない。マスタの場合に、装置がBusERRor
を検知すると、それは直ぐにそのサイクルをアポート
し、BusRequestを落とし、且つバスをオフさせる。BusE
RRorが落とされると、BusGrantは現在のマスタに落とさ
れる。バス駆動論理はこの状態を処理するべく設計され
ている。バスタイムアウトを起した最後のサイクルの開
始時に提供されたアドレスはバスコントローラ内のレジ
スタ内にストアされる。
状態の後にシステムバス141が秩序正しくクリアされる
ことを可能とする。最長サイクルの長さは既知(例え
ば、16ワード読取又は書込)であるから、充分な保護を
与える為にはBusGrantをタイムアウトさせることが必要
とされるに過ぎない。マスタの場合に、装置がBusERRor
を検知すると、それは直ぐにそのサイクルをアポート
し、BusRequestを落とし、且つバスをオフさせる。BusE
RRorが落とされると、BusGrantは現在のマスタに落とさ
れる。バス駆動論理はこの状態を処理するべく設計され
ている。バスタイムアウトを起した最後のサイクルの開
始時に提供されたアドレスはバスコントローラ内のレジ
スタ内にストアされる。
Parity ERRor/が真になるとBERRも発生される。タイム
アウトとParity ERRorの両方が同時に真になると、タイ
ムアウトが手順を踏む。
アウトとParity ERRorの両方が同時に真になると、タイ
ムアウトが手順を踏む。
図示した如く、メインメモリ140は、読取−書込メモリ
アレイエラー訂正及びドライバーレシーバ及びバスイン
ターフェース回路を有しており、それはメインメモリ14
0とシステムバス141との間での転送用のバス接続及びイ
ンターフェースプロトコル取り扱いを与える。メインメ
モリ140メモリエラー訂正ユニットは、メインメモリ140
の記憶部から読取が行われる場合に、エラー検知及び訂
正を与える。エラー訂正ユニットはメインメモリ140の
メモリアレイ記憶部へ接続され、且つシステムバス141
を介してデータキャッシュMMU130及び命令キャッシュMM
U120へ接続される。メモリ140から読み取られるデータ
はエラー検知訂正ユニットによってエラー訂正の為に処
理される。
アレイエラー訂正及びドライバーレシーバ及びバスイン
ターフェース回路を有しており、それはメインメモリ14
0とシステムバス141との間での転送用のバス接続及びイ
ンターフェースプロトコル取り扱いを与える。メインメ
モリ140メモリエラー訂正ユニットは、メインメモリ140
の記憶部から読取が行われる場合に、エラー検知及び訂
正を与える。エラー訂正ユニットはメインメモリ140の
メモリアレイ記憶部へ接続され、且つシステムバス141
を介してデータキャッシュMMU130及び命令キャッシュMM
U120へ接続される。メモリ140から読み取られるデータ
はエラー検知訂正ユニットによってエラー訂正の為に処
理される。
プロセサ110は、上述した態様で、転送されるべきデー
タの開始位置を表す様に命令キャッシュMMU120及びデー
タキャッシュMMU130へアドレスを与える。好適実施例に
おいて、このアドレス情報は仮想又は論理アドレス形態
で与えられ、それは連合マッピングを介して、メインメ
モリ140内の実際の即ち物理的アドレスに対応する。メ
インメモリ140は、システムバス140を介して接続されて
物理的アドレスに応答して、メインメモリ140内のアド
レス可能な位置からのデータの読取及び書込を与える。
タの開始位置を表す様に命令キャッシュMMU120及びデー
タキャッシュMMU130へアドレスを与える。好適実施例に
おいて、このアドレス情報は仮想又は論理アドレス形態
で与えられ、それは連合マッピングを介して、メインメ
モリ140内の実際の即ち物理的アドレスに対応する。メ
インメモリ140は、システムバス140を介して接続されて
物理的アドレスに応答して、メインメモリ140内のアド
レス可能な位置からのデータの読取及び書込を与える。
命令キャッシュMMU120及びデータキャッシュMMU130の非
常に高速のメモリは、それらの夫々のアドレス可能な非
常に高速のメモリからのマップした連合的態様でデジタ
ル情報の選択的記憶及び出力を与える。命令キャッシュ
MMU120は、主メインメモリ140への選択的アクセスを管
理する為のメモリ管理手段を有しており、且つ仮想から
物理的アドレスへのマッピング及び変換を実行し、必要
な場合に、システムバス141へそこからメインメモリ140
への物理的アドレス出力を与える。データキャッシュMM
U130は又、プロセサ110からの出力としての仮想アドレ
スに応答する非常に高速のマップトアドレス可能メモリ
を持っている。命令キャッシュMMUと同様な態様におい
て、データキャッシュMMU130は、メインメモリ140への
選択的アクセスを管理する為のメモリ管理手段を持って
おり、該メモリ管理手段は、仮想から物理的アドレスマ
ッピング及び変換を包含しており、必要な場合に、物理
的アドレス出力をシステムバス141へ且つそこからプロ
セサ110からの仮想アドレス出力に応答して主メモリ140
へ与える。システムバス141は、メインメモリ140、命令
キャッシュMMU120、データキャッシュMMU130,及びそれ
らに接続されておりそれらの間でデジタル情報を通信す
るその他の要素に接続されて高速通信を与える。
常に高速のメモリは、それらの夫々のアドレス可能な非
常に高速のメモリからのマップした連合的態様でデジタ
ル情報の選択的記憶及び出力を与える。命令キャッシュ
MMU120は、主メインメモリ140への選択的アクセスを管
理する為のメモリ管理手段を有しており、且つ仮想から
物理的アドレスへのマッピング及び変換を実行し、必要
な場合に、システムバス141へそこからメインメモリ140
への物理的アドレス出力を与える。データキャッシュMM
U130は又、プロセサ110からの出力としての仮想アドレ
スに応答する非常に高速のマップトアドレス可能メモリ
を持っている。命令キャッシュMMUと同様な態様におい
て、データキャッシュMMU130は、メインメモリ140への
選択的アクセスを管理する為のメモリ管理手段を持って
おり、該メモリ管理手段は、仮想から物理的アドレスマ
ッピング及び変換を包含しており、必要な場合に、物理
的アドレス出力をシステムバス141へ且つそこからプロ
セサ110からの仮想アドレス出力に応答して主メモリ140
へ与える。システムバス141は、メインメモリ140、命令
キャッシュMMU120、データキャッシュMMU130,及びそれ
らに接続されておりそれらの間でデジタル情報を通信す
るその他の要素に接続されて高速通信を与える。
CPU110は、2つの非常に高速のキャッシュバス、命令キ
ャッシュ/プロセサバス121及びデータキャッシュ/プ
ロセサバス131を介して、2つのキャッシュMMU120及び1
30へ同時的にアクセスすることが可能である。各キャッ
シュMMUは、キャッシュMMUへのCPUアクセスに“ミス”
があると、システムバス141にアクセスする。キャッシ
ュMMUは基本的にCPU110の延長時間とメインメモリ140ア
クセス時間との間の速度差を除去している。
ャッシュ/プロセサバス121及びデータキャッシュ/プ
ロセサバス131を介して、2つのキャッシュMMU120及び1
30へ同時的にアクセスすることが可能である。各キャッ
シュMMUは、キャッシュMMUへのCPUアクセスに“ミス”
があると、システムバス141にアクセスする。キャッシ
ュMMUは基本的にCPU110の延長時間とメインメモリ140ア
クセス時間との間の速度差を除去している。
I/Oインターフェース処理ユニット(IOP)150は、第1
図に示した如く、IOアダプタ152、IOプロセサユニット1
53、及び局所メモリMIO154を有している。I/Oインター
フェース152は、システムバス141及び外部I/Oバス151を
インターフェースし、後者に対して外部I/O装置が接続
されている。I/Oアダプタ152の異なったバージョンを構
成することが可能であり、例えばディスクやテープ等の
二次的記憶装置とインターフェースさせたり、又カスタ
ムのバスのみならずVMEbusやMULTIbus等の異なった標準
I/Oバスとインターフェースさせることも可能である。I
/Oプロセサユニット153は既存の標準のマイクロプロセ
サの任意の種類のものとすることが可能であり、又はカ
スタムのマイクロプロセサ又はランダムロジックとする
ことが可能である。ディスク制御プログラムを有するIO
プログラムはMIO154内に存在することが可能である。
図に示した如く、IOアダプタ152、IOプロセサユニット1
53、及び局所メモリMIO154を有している。I/Oインター
フェース152は、システムバス141及び外部I/Oバス151を
インターフェースし、後者に対して外部I/O装置が接続
されている。I/Oアダプタ152の異なったバージョンを構
成することが可能であり、例えばディスクやテープ等の
二次的記憶装置とインターフェースさせたり、又カスタ
ムのバスのみならずVMEbusやMULTIbus等の異なった標準
I/Oバスとインターフェースさせることも可能である。I
/Oプロセサユニット153は既存の標準のマイクロプロセ
サの任意の種類のものとすることが可能であり、又はカ
スタムのマイクロプロセサ又はランダムロジックとする
ことが可能である。ディスク制御プログラムを有するIO
プログラムはMIO154内に存在することが可能である。
システムバス141上のデータ転送モードはCTバスを介し
てCTコードによって定義される。好適実施例において
は、メインメモリ140(即ち、Mp)へのデータキャッシ
ュMMU130のデータ転送は、カッド語モード(即ち、1つ
のアドレスに4個の連続するデータワードが続くもの)
又は単一ワードモードの何れかとすることが可能であ
る。
てCTコードによって定義される。好適実施例において
は、メインメモリ140(即ち、Mp)へのデータキャッシ
ュMMU130のデータ転送は、カッド語モード(即ち、1つ
のアドレスに4個の連続するデータワードが続くもの)
又は単一ワードモードの何れかとすることが可能であ
る。
I/O読取/書込動作はIOプロセサIOP150で開始される
が、上述した単一及びカッドモードに加えて、ブロック
モードを宣言することが可能である。ブロックモード
は、システムバス141上で16ワード連続データ転送がデ
ータ転送速度を増加させることを可能とする。このこと
は、通常、IO読取でページの‘ライトスルー(全書
込)’を行う為にのみ使用れる。IO書込で、これは、
‘ライトスルー’又は‘コピーバック’ページの何れか
を宣言することが可能である。IOP150がメインメモリ14
0からIOP150へのデータ転送を開始すると、メインメモ
リ140がコピーバック方法に応答する代りに、キャッシ
ュはIOP要求に応答せねばならない場合がある。何故な
らば、最も最近に修正されたデータを持っているのはメ
インメモリ140ではなくデータキャッシュ130の場合があ
るからである。特別の制御信号がキャッシュ120、130
へ、及びメインメモリ140(即ち、CBSY/及びRDY/信号)
へ供給される。
が、上述した単一及びカッドモードに加えて、ブロック
モードを宣言することが可能である。ブロックモード
は、システムバス141上で16ワード連続データ転送がデ
ータ転送速度を増加させることを可能とする。このこと
は、通常、IO読取でページの‘ライトスルー(全書
込)’を行う為にのみ使用れる。IO書込で、これは、
‘ライトスルー’又は‘コピーバック’ページの何れか
を宣言することが可能である。IOP150がメインメモリ14
0からIOP150へのデータ転送を開始すると、メインメモ
リ140がコピーバック方法に応答する代りに、キャッシ
ュはIOP要求に応答せねばならない場合がある。何故な
らば、最も最近に修正されたデータを持っているのはメ
インメモリ140ではなくデータキャッシュ130の場合があ
るからである。特別の制御信号がキャッシュ120、130
へ、及びメインメモリ140(即ち、CBSY/及びRDY/信号)
へ供給される。
読取−修正−書込動作の場合、単一読取動作には1つの
バス要求サイクル内において単一ワード書込動作が続
く。
バス要求サイクル内において単一ワード書込動作が続
く。
メインメモリ140はメモリ間バスに接続されている多数
基板のメモリを有することが可能である。メモリ間バス
は、メインメモリアドレスバス及びメインメモリデータ
バスに分離される。上述した全てのデータ転送モードが
サポートされる。
基板のメモリを有することが可能である。メモリ間バス
は、メインメモリアドレスバス及びメインメモリデータ
バスに分離される。上述した全てのデータ転送モードが
サポートされる。
ブートROMは特別のアドレス空間内に位置されており且
つ直接的にシステムバス141へ接続させることが可能で
ある。
つ直接的にシステムバス141へ接続させることが可能で
ある。
第1図は再度参照すると、プロセサ110は又インタラプ
トベクトル及びコントロールライン111を介してインタ
ラプトコントローラ170へ接続して示されている。図示
した如きインタラプトコントローラ170は、インタラプ
トライン145を介してメインメモリ140へ接続されてお
り、且つインタラプトライン155を介してIOP150へ接続
されており、且つインタラプトライン165を介してアレ
イプロセサ170へ接続されている。インタラプトコント
ローラ170は、インタラプトライン111を介してプロセサ
110へのインタラプトを合図する。
トベクトル及びコントロールライン111を介してインタ
ラプトコントローラ170へ接続して示されている。図示
した如きインタラプトコントローラ170は、インタラプ
トライン145を介してメインメモリ140へ接続されてお
り、且つインタラプトライン155を介してIOP150へ接続
されており、且つインタラプトライン165を介してアレ
イプロセサ170へ接続されている。インタラプトコント
ローラ170は、インタラプトライン111を介してプロセサ
110へのインタラプトを合図する。
インタプラトコントローラ170はCPU110へ接続されてお
り、バスマスタ装置によって送出されるインタラプト要
求に応答する。
り、バスマスタ装置によって送出されるインタラプト要
求に応答する。
CPUは別の独立的なインタラプトバス111を持っており、
それはマスク可能なインタラプトを制御し且つキンタラ
プトコントローラ170へ接続する。各レベルインタラプ
トはCPU内のISW(即ち、インタラプトステータスワー
ド)の対応するビットによってマスクされることが可能
である。全てのレベルはベクトル化されたインタラプト
で且つ共通要求及びカクノリッヂ/イネーブルラインを
持っている。
それはマスク可能なインタラプトを制御し且つキンタラ
プトコントローラ170へ接続する。各レベルインタラプ
トはCPU内のISW(即ち、インタラプトステータスワー
ド)の対応するビットによってマスクされることが可能
である。全てのレベルはベクトル化されたインタラプト
で且つ共通要求及びカクノリッヂ/イネーブルラインを
持っている。
バスインタラプトコントローラ170は、幾つかの高レベ
ルインタラプトソースをイネーブルさせてCPU110をイン
タラプト即ち中断させる。1実施例において、インタラ
プトコントローラ170は並列の固定優先型のものであ
る。そのプロトコールはシステムバス141のものと同様
であり、且つ同じライン上でグループ及びレベルをマル
チプレクス動作する。
ルインタラプトソースをイネーブルさせてCPU110をイン
タラプト即ち中断させる。1実施例において、インタラ
プトコントローラ170は並列の固定優先型のものであ
る。そのプロトコールはシステムバス141のものと同様
であり、且つ同じライン上でグループ及びレベルをマル
チプレクス動作する。
インタラプトコントローラ170は以下の信号によって各
潜在的インタラプト用装置へ接続される。
潜在的インタラプト用装置へ接続される。
IREQX/ : 装置XからのInterruptREQuest この信号は、サービス用の要求として、インタラプトす
る装置によってインタラプトコントロール170へ送出さ
れる。
る装置によってインタラプトコントロール170へ送出さ
れる。
IENX/ : 装置XへのInterruptENable これは、インタラプトする装置へインタラプトコントロ
ーラ170によって送出され、それがインタラプトサービ
スが許可されたことを表す。
ーラ170によって送出され、それがインタラプトサービ
スが許可されたことを表す。
IBUS<4:0> : InterruptBUS これらの5本のラインはインタラプトコントローラ170
へのインタラプトグループ及びレベルを担持する。これ
は3状態バスである。
へのインタラプトグループ及びレベルを担持する。これ
は3状態バスである。
IREJ/ : InterruptREJect この信号はインタラプトする装置に、CPU110がこのグル
ープ内のインタラプトを受け付けることを拒絶したこと
を示す。これは全てのインタラプト装置へ接続される。
ープ内のインタラプトを受け付けることを拒絶したこと
を示す。これは全てのインタラプト装置へ接続される。
インタラプトコントローラ170は、以下の如く、信号ラ
イン111によって1個又は複数個のCPU110へ接続され
る。
イン111によって1個又は複数個のCPU110へ接続され
る。
IR/ : CPU Interruput Request IR/は未処理のベクトル化インタラプトの存在を表して
おり、そのレベルはVCT<2:0>ライン上で得られる。
おり、そのレベルはVCT<2:0>ライン上で得られる。
IAK/ : CPU Interrupt AcKnowledge CPU110はIAK/を送り出して、インタラプトが受け付けら
れたことを表し、且つ同時に、VCT<4:0>ラインを介し
てベクトル番号を読み取る。IAK/及びIR/はハンドシェ
ーク態様を構成する。
れたことを表し、且つ同時に、VCT<4:0>ラインを介し
てベクトル番号を読み取る。IAK/及びIR/はハンドシェ
ーク態様を構成する。
MK : MasKed response 現在のインタラプトをマスクしている各CPUは、IAK/信
号の代りにMK信号を返送する。この場合は、インタラプ
トはCPU内にはラッチされない。MKはインタラプトコン
トローラによってマスクしたインタラプトを解放し且つ
新たに到着したより高レベルのインタラプトに譲る為に
使用することが可能である。
号の代りにMK信号を返送する。この場合は、インタラプ
トはCPU内にはラッチされない。MKはインタラプトコン
トローラによってマスクしたインタラプトを解放し且つ
新たに到着したより高レベルのインタラプトに譲る為に
使用することが可能である。
VCT<5:0> : レベル及びベクトルコード VCTラインはマルチプレクス動作され、且つレベル番号
及びベクトル番号を与える。IR/がアクティブである
と、レベル番号0−7はVCT<2:0>ラインに与えられ
る。IAK/がCPUによって活性化されると、VCT<4:0>ラ
インは、そのレベルの32個のインタラプトの1つを識別
するベクトル番号を持っている。VCTラインはインタラ
プトコントローラ170からの出力を1個又は複数個のCPU
110へ接続する。
及びベクトル番号を与える。IR/がアクティブである
と、レベル番号0−7はVCT<2:0>ラインに与えられ
る。IAK/がCPUによって活性化されると、VCT<4:0>ラ
インは、そのレベルの32個のインタラプトの1つを識別
するベクトル番号を持っている。VCTラインはインタラ
プトコントローラ170からの出力を1個又は複数個のCPU
110へ接続する。
CPU110はIAK/を活性化させ、且つIBUS<4:0>ラインを
介して、各レベルにおいて32個のインタラプトの1つを
識別するベクトル番号を入力する。マルチプロセサ環境
において、これらのレベルは、システムに柔軟性のある
インタラプト手法を持たせる為に使用することが可能で
ある。マルチプロセサシステムにおけるインタラプト方
法の例として、全てのIREQx/ラインが活性化されると、
ISW内のCPUイネーブルビットがCPUがそのインタラプト
を受け付けるべきであるか否かを区別する。従って、イ
ンタラプトの各レベルは32個のインタラプトを持ってお
り、且つそのレベルは、SSW(即ち、システムステータ
スワード)内のイネーブルビットを制御することによっ
てCPUの何れか1つへ動的に割り当てることが可能であ
る。
介して、各レベルにおいて32個のインタラプトの1つを
識別するベクトル番号を入力する。マルチプロセサ環境
において、これらのレベルは、システムに柔軟性のある
インタラプト手法を持たせる為に使用することが可能で
ある。マルチプロセサシステムにおけるインタラプト方
法の例として、全てのIREQx/ラインが活性化されると、
ISW内のCPUイネーブルビットがCPUがそのインタラプト
を受け付けるべきであるか否かを区別する。従って、イ
ンタラプトの各レベルは32個のインタラプトを持ってお
り、且つそのレベルは、SSW(即ち、システムステータ
スワード)内のイネーブルビットを制御することによっ
てCPUの何れか1つへ動的に割り当てることが可能であ
る。
現在のインタラプトをマスクしているCPUによって、IAK
/の代りに、MK(マスクした)信号が活性化される。そ
のインタラプトはこれらのCPUによって無視される(即
ち、ラッチされない)。これらの信号は、インタラプト
コントローラ170がマスクしたインタラプトを予約し且
つそれが発生した場合により高いインタラプトを処理さ
せることを可能とする。
/の代りに、MK(マスクした)信号が活性化される。そ
のインタラプトはこれらのCPUによって無視される(即
ち、ラッチされない)。これらの信号は、インタラプト
コントローラ170がマスクしたインタラプトを予約し且
つそれが発生した場合により高いインタラプトを処理さ
せることを可能とする。
第1図に関して上述した如き要素を越えて、本アーキテ
クチャーに付加的なシステム要素を付加させ、且つシス
テムバス141を介して、本システムに接続させることが
可能である。
クチャーに付加的なシステム要素を付加させ、且つシス
テムバス141を介して、本システムに接続させることが
可能である。
バスアービタ180はシステムバス141へ接続されており且
つシステムバス141へ接続されているシステム要素、例
えば命令キャッシュMMU120及びデータキャッシュMMU130
へ接続されており、システムバス141へ接続されている
複数個の潜在的“マスタ”要素間のチャンネルアクセス
競合を選択的に解決する。これは、システムバス141上
の通信の一体性を維持し且つその上でのデータ転送の衝
突を回避する。バスアービタ170はバス要求及びバス許
可入力及び出力を持っており、これらは夫々命令キャッ
シュMMU120,データキャッシュMMU130,及びIOP150へ接続
される。例えば、命令キャッシュMMU120が、メインメモ
リ140と相称的にIOP150へ又はそこからデータ転送をIPO
150が要求するのと同時的に、メインメモリ140からの命
令データの転送を要求する場合、バスアービタ180は競
合を解決する責務があり、従って同時的試みの結果とし
て競合及び衝突を発生させる代りに、2つの事象が順番
に起る様にさせる。
つシステムバス141へ接続されているシステム要素、例
えば命令キャッシュMMU120及びデータキャッシュMMU130
へ接続されており、システムバス141へ接続されている
複数個の潜在的“マスタ”要素間のチャンネルアクセス
競合を選択的に解決する。これは、システムバス141上
の通信の一体性を維持し且つその上でのデータ転送の衝
突を回避する。バスアービタ170はバス要求及びバス許
可入力及び出力を持っており、これらは夫々命令キャッ
シュMMU120,データキャッシュMMU130,及びIOP150へ接続
される。例えば、命令キャッシュMMU120が、メインメモ
リ140と相称的にIOP150へ又はそこからデータ転送をIPO
150が要求するのと同時的に、メインメモリ140からの命
令データの転送を要求する場合、バスアービタ180は競
合を解決する責務があり、従って同時的試みの結果とし
て競合及び衝突を発生させる代りに、2つの事象が順番
に起る様にさせる。
バスマスタ間のバス調整はバスアービタ180によって行
われる。各バスマスタは、それがシステムバス141にア
クセスせんと意図する場合に、そのバス要求BRラインを
活性化させる。バスアービタ180は、その時に常に最高
の優先度を持っている新たなマスタへバス許可(BG)信
号を返送する。
われる。各バスマスタは、それがシステムバス141にア
クセスせんと意図する場合に、そのバス要求BRラインを
活性化させる。バスアービタ180は、その時に常に最高
の優先度を持っている新たなマスタへバス許可(BG)信
号を返送する。
アクティブなBR及びBG信号を持っているバスマスタは、
データ転送が完了する迄、そのBR信号をアクティブに維
持することによってバスの権利を維持することが可能で
ある。他のマスタは、その夫々のBG信号が次に活性化さ
れる迄、それらのBR信号をアクティブに維持する。
データ転送が完了する迄、そのBR信号をアクティブに維
持することによってバスの権利を維持することが可能で
ある。他のマスタは、その夫々のBG信号が次に活性化さ
れる迄、それらのBR信号をアクティブに維持する。
システムバス141は共用資源であるが、1つのユニット
のみが任意の時間にそのバスを使用することが可能であ
るに過ぎない。各々が独立的にシステムバス141へアク
セスすべく試みることの可能なシステムバス141へ接続
されている多数の潜在的な“バスマスタ”が存在するの
で、バスアービタ180はシステムバス141へ接続されるべ
き必要な要素である。
のみが任意の時間にそのバスを使用することが可能であ
るに過ぎない。各々が独立的にシステムバス141へアク
セスすべく試みることの可能なシステムバス141へ接続
されている多数の潜在的な“バスマスタ”が存在するの
で、バスアービタ180はシステムバス141へ接続されるべ
き必要な要素である。
通常、2つの優先性調整技術があり、それらは固定優先
(fixed priority)と、回転又は計画優先(rotating o
r scheduled priority)とである。信号処理方法にも2
種類あり、即ち直列(即ち、デージーチェーン)と並列
とがある。固定優先システムとして構成された場合、直
列方法は、並列方法よりもより少ない回数を必要とする
が、処理速度が比較的遅い。直列方法と回転優先との組
合せは、高性能バスアービタ180によって与えることが
可能である。並列方法は、固定又は回転優先の何れかと
共に実現することが可能であり、直列又は混合方法より
も高速であるが、一層多くの回路を必要とする。本発明
のバスアービタ180はこれらの方法の何れかを使用する
ことが可能である。
(fixed priority)と、回転又は計画優先(rotating o
r scheduled priority)とである。信号処理方法にも2
種類あり、即ち直列(即ち、デージーチェーン)と並列
とがある。固定優先システムとして構成された場合、直
列方法は、並列方法よりもより少ない回数を必要とする
が、処理速度が比較的遅い。直列方法と回転優先との組
合せは、高性能バスアービタ180によって与えることが
可能である。並列方法は、固定又は回転優先の何れかと
共に実現することが可能であり、直列又は混合方法より
も高速であるが、一層多くの回路を必要とする。本発明
のバスアービタ180はこれらの方法の何れかを使用する
ことが可能である。
別の実施例において、回転優先方法は、全てのバスマス
タにシステムバスを使用するのに等しい機会を与えるこ
とが可能である。然し乍ら、IOP又は1つの特定のCPUが
一層高い優先度を持つべきである場合、固定優先が通常
望ましく且つより簡単である。
タにシステムバスを使用するのに等しい機会を与えるこ
とが可能である。然し乍ら、IOP又は1つの特定のCPUが
一層高い優先度を持つべきである場合、固定優先が通常
望ましく且つより簡単である。
バスアービタ180は又、システムバス141上の何れかのユ
ニットによる長いバス専有をチェックする機能を与える
ことが可能である。このことは、バス許可信号BGのアク
ティブ時間を測定することによって行うことが可能であ
る。BG信号の期間が長過ぎる場合には、バスエラー信号
BERRを現在システムバス141を専有しているバスマスタ
へ発生させることが可能である。BERRは又、Parity ERR
or/が発生する時にも発生される。
ニットによる長いバス専有をチェックする機能を与える
ことが可能である。このことは、バス許可信号BGのアク
ティブ時間を測定することによって行うことが可能であ
る。BG信号の期間が長過ぎる場合には、バスエラー信号
BERRを現在システムバス141を専有しているバスマスタ
へ発生させることが可能である。BERRは又、Parity ERR
or/が発生する時にも発生される。
第1図に更に示した如く、アレイプロセサ188をシステ
ムバス141へ接続させることが可能である。アレイプロ
セサの能力と適合性のある複雑な計算問題をダウンロー
ドさせて、ダウンロードしたデータの並列処理を与える
ことが可能であり、その結果得られる解答はシステムバ
ス141を介して送り戻される(例えば、メインメモリ140
へ、又はデータキャッシュMMU130へ、及びそこからCPU
へ戻されそこで機能が行われる)。
ムバス141へ接続させることが可能である。アレイプロ
セサの能力と適合性のある複雑な計算問題をダウンロー
ドさせて、ダウンロードしたデータの並列処理を与える
ことが可能であり、その結果得られる解答はシステムバ
ス141を介して送り戻される(例えば、メインメモリ140
へ、又はデータキャッシュMMU130へ、及びそこからCPU
へ戻されそこで機能が行われる)。
上述した如く、I/O処理ユニット(IOP)150はシステム
バス141へ接続し且つ二次記憶ディスク又はテープユニ
ットの如きI/Oバス151へ接続する手段を持っている。IO
P150は、メインメモリ140へ及びそこからの、及びIOP15
0に接続されている二次記憶装置へ及びそこからのデー
タの直接転送を与えることが可能であり、且つ命令キャ
ッシュMMU120及びデータキャッシュMMU130とは独立的に
前記転送を実行することが可能である。IOP150は又“バ
スマスタ”としてバスアービタ180へ接続して、システ
ムバス141へのアクセスを介してメインメモリ140へのア
クセスに対する競合を解決することが可能である。この
ことは柔軟性を与えている。例えば、システムバス141
を介してメインメモリ140からIOP150へ及びそこから二
次記憶装置へ転送されるデータは制御されて16通りのイ
ンターリーブを与えることが可能であり、一方キャッシ
ュ120又は130とメインメモリ140との間の転送を制御し
て4通りのインターリーブを与えることが可能である。
このことが可能であるのは、キャッシュ120又は130とメ
インメモリ140との間の転送の制御はIOP150とメインメ
モリ140との間の転送の制御とは別だからである。
バス141へ接続し且つ二次記憶ディスク又はテープユニ
ットの如きI/Oバス151へ接続する手段を持っている。IO
P150は、メインメモリ140へ及びそこからの、及びIOP15
0に接続されている二次記憶装置へ及びそこからのデー
タの直接転送を与えることが可能であり、且つ命令キャ
ッシュMMU120及びデータキャッシュMMU130とは独立的に
前記転送を実行することが可能である。IOP150は又“バ
スマスタ”としてバスアービタ180へ接続して、システ
ムバス141へのアクセスを介してメインメモリ140へのア
クセスに対する競合を解決することが可能である。この
ことは柔軟性を与えている。例えば、システムバス141
を介してメインメモリ140からIOP150へ及びそこから二
次記憶装置へ転送されるデータは制御されて16通りのイ
ンターリーブを与えることが可能であり、一方キャッシ
ュ120又は130とメインメモリ140との間の転送を制御し
て4通りのインターリーブを与えることが可能である。
このことが可能であるのは、キャッシュ120又は130とメ
インメモリ140との間の転送の制御はIOP150とメインメ
モリ140との間の転送の制御とは別だからである。
IOP150は交互的に又は付加的にプロトコル変換を与える
ことが可能である。この実施例においては、プロトコル
IOP150はシステムバス141へ接続され、且つ更に外部I/O
バス151へ接続される。好適には、IOP150もバスアービ
タ180へ接続される。プロトコル変換IOP150は、システ
ムバス141へ接続されている全てのシステム要素間での
インターフェースアクセス及びデジタル情報のプロトコ
ル変換を管理する。従って、例えば、システムバス141
アーキテクチャー及び転送プロトコルは、非適合性シス
テム及びバス構造及びプロトコール、例えばマルチバス
(Multibus)システムへのインターフェース等と、イン
ターフェースすることを可能とする。
ことが可能である。この実施例においては、プロトコル
IOP150はシステムバス141へ接続され、且つ更に外部I/O
バス151へ接続される。好適には、IOP150もバスアービ
タ180へ接続される。プロトコル変換IOP150は、システ
ムバス141へ接続されている全てのシステム要素間での
インターフェースアクセス及びデジタル情報のプロトコ
ル変換を管理する。従って、例えば、システムバス141
アーキテクチャー及び転送プロトコルは、非適合性シス
テム及びバス構造及びプロトコール、例えばマルチバス
(Multibus)システムへのインターフェース等と、イン
ターフェースすることを可能とする。
第7A図乃至第7C図は、夫々、仮想メモリ、実メモリ、及
び仮想アドレス概念を示している。第7A図を参照する
と、CPU110によって見られる仮想メモリを示してある。
この仮想メモリは、232ワード32ビットメモリアレイで
0からFFF FFF FF(ヘキサデシマル)へ二進アドレス可
能なものを有するものとして示してある。この仮想メモ
リは、1,024(210)個のセグメントを有しており、各セ
グメントが1,024(即ち、210)個のページを持ってお
り、各ページが4,096(即ち、212)個のワード又はバイ
トを持っているものとして示してある。この仮想メモリ
アドレス空間は使用可能な実際の実メモリ空間とは独立
している。例えば、実メモリ(即ち、メインメモリ)は
16メガバイト、即ち212ページを有することが可能であ
る。
び仮想アドレス概念を示している。第7A図を参照する
と、CPU110によって見られる仮想メモリを示してある。
この仮想メモリは、232ワード32ビットメモリアレイで
0からFFF FFF FF(ヘキサデシマル)へ二進アドレス可
能なものを有するものとして示してある。この仮想メモ
リは、1,024(210)個のセグメントを有しており、各セ
グメントが1,024(即ち、210)個のページを持ってお
り、各ページが4,096(即ち、212)個のワード又はバイ
トを持っているものとして示してある。この仮想メモリ
アドレス空間は使用可能な実際の実メモリ空間とは独立
している。例えば、実メモリ(即ち、メインメモリ)は
16メガバイト、即ち212ページを有することが可能であ
る。
第7B図に示した如く、実メモリ空間は0からFFF FFF
(ヘキサデシマル)の実アドレスRAによって表すことが
可能である。本発明のキャッシュメモリ管理ユニット
は、必要とされる如き、非常に高速の仮想から実メモリ
空間アドレス変換を与える。該キャッシュメモリ管理ユ
ニットは、キャッシュメモリの内容と仮想から実メモリ
空間アドレスへの或る予めストアした情報との相関に関
してのマッピングを与える。
(ヘキサデシマル)の実アドレスRAによって表すことが
可能である。本発明のキャッシュメモリ管理ユニット
は、必要とされる如き、非常に高速の仮想から実メモリ
空間アドレス変換を与える。該キャッシュメモリ管理ユ
ニットは、キャッシュメモリの内容と仮想から実メモリ
空間アドレスへの或る予めストアした情報との相関に関
してのマッピングを与える。
第7C図を参照すると、32ビット仮想アドレスVAは10ビッ
トセグメントアドレス、ビット31乃至22(即ち、VA<3
1:22>)、10ビットページアドレス、ビット21乃至12
(即ち、VA<21:12>)、及び12ビット変位アドレス、
ビット11乃至0(即ち、VA<11:0>)、を有している。
好適実施例においては、キャッシュメモリ管理ユニット
はセット連合マッピングを与え、仮想アドレスの変位ア
ドレスビット0乃至11は実アドレスのビット0乃至11に
対応する。これは或る種の利点を与えており且つ変換及
びマッピングプロセスを高速化させる。
トセグメントアドレス、ビット31乃至22(即ち、VA<3
1:22>)、10ビットページアドレス、ビット21乃至12
(即ち、VA<21:12>)、及び12ビット変位アドレス、
ビット11乃至0(即ち、VA<11:0>)、を有している。
好適実施例においては、キャッシュメモリ管理ユニット
はセット連合マッピングを与え、仮想アドレスの変位ア
ドレスビット0乃至11は実アドレスのビット0乃至11に
対応する。これは或る種の利点を与えており且つ変換及
びマッピングプロセスを高速化させる。
第8図を参照すると、キャッシュメモリ管理ユニットを
ブロック図で示してある。好適実施例において、単一キ
ャッシュメモリ管理ユニットアーキテクチャーを、シス
テム構築又は初期値化の時点で製造又はストラッピング
又は初期値化手順の時のプログラムによって選択され
て、命令又はデータキャッシュの為に使用することが可
能である。このキャッシュメモリ管理ユニットはプロセ
サキャッシュバス121又は131へ接続するCPUインターフ
ェースを持っており、且つシステムバス141へ接続する
システムバスインターフェースを持っている。該CPUバ
スインターフェースは、アドレス入力レジスタ210、キ
ャッシュ出力レジスタ230、及びキャッシュ入力レジス
タ240を有している。該システムバスインターフェース
は、システムバス入力レジスタ260及びシステムバス出
力レジスタ250を有している。アドレス入力レジスタ210
は仮想アドレスをバス211に介してキャッシュメモリシ
ステム220、変換論理ブロック(即ち、TLB)270、及び
直接アドレス変換論理(即ち、DAT)ユニット280へ接続
させる。DAT280及びその動作は後に第12図を参照して詳
細に説明する。キャッシュメモリシステム220からのデ
ータ出力はバス231を介してキャッシュ出力レジスタ230
へ接続される。該キャッシュメモリシステムは、バス26
1を介して、システム入力レジスタ260から実アドレス入
力を受け取り、且つ付加的にTLB270から実アドレス入力
を受け取る。キャッシュメモリシステム220へのデータ
入力はキャッシュデータバス(即ち、DT)241を介して
行われ、それは、キャッシュ入力レジスタ240、システ
ムバス入力レジスタ260、システムバス出力レジスタ25
0、キャッシュ出力レジスタ230、変換論理ブロック27
0、及びDAT280の各々へ接続して、実アドレス及びデー
タ通過能力を与えている。TLB270及びDAT280は双方向的
にDTバス241へ接続されており、DTバス241とTLB270とDA
T280との間で実アドレス及びアドレス変換データをカッ
プリング即ち結合させている。該システムバスインター
フェースは、DTバス241を介してキャッシュメモリシス
テム220とのみならず、DAT280及びTLB270と通信するこ
とも可能である。
ブロック図で示してある。好適実施例において、単一キ
ャッシュメモリ管理ユニットアーキテクチャーを、シス
テム構築又は初期値化の時点で製造又はストラッピング
又は初期値化手順の時のプログラムによって選択され
て、命令又はデータキャッシュの為に使用することが可
能である。このキャッシュメモリ管理ユニットはプロセ
サキャッシュバス121又は131へ接続するCPUインターフ
ェースを持っており、且つシステムバス141へ接続する
システムバスインターフェースを持っている。該CPUバ
スインターフェースは、アドレス入力レジスタ210、キ
ャッシュ出力レジスタ230、及びキャッシュ入力レジス
タ240を有している。該システムバスインターフェース
は、システムバス入力レジスタ260及びシステムバス出
力レジスタ250を有している。アドレス入力レジスタ210
は仮想アドレスをバス211に介してキャッシュメモリシ
ステム220、変換論理ブロック(即ち、TLB)270、及び
直接アドレス変換論理(即ち、DAT)ユニット280へ接続
させる。DAT280及びその動作は後に第12図を参照して詳
細に説明する。キャッシュメモリシステム220からのデ
ータ出力はバス231を介してキャッシュ出力レジスタ230
へ接続される。該キャッシュメモリシステムは、バス26
1を介して、システム入力レジスタ260から実アドレス入
力を受け取り、且つ付加的にTLB270から実アドレス入力
を受け取る。キャッシュメモリシステム220へのデータ
入力はキャッシュデータバス(即ち、DT)241を介して
行われ、それは、キャッシュ入力レジスタ240、システ
ムバス入力レジスタ260、システムバス出力レジスタ25
0、キャッシュ出力レジスタ230、変換論理ブロック27
0、及びDAT280の各々へ接続して、実アドレス及びデー
タ通過能力を与えている。TLB270及びDAT280は双方向的
にDTバス241へ接続されており、DTバス241とTLB270とDA
T280との間で実アドレス及びアドレス変換データをカッ
プリング即ち結合させている。該システムバスインター
フェースは、DTバス241を介してキャッシュメモリシス
テム220とのみならず、DAT280及びTLB270と通信するこ
とも可能である。
第9図を参照すると、キャッシュMMUの詳細なブロック
図が示されており、内部キャッシュMMU内部動作のデー
タの流れが示されている。
図が示されており、内部キャッシュMMU内部動作のデー
タの流れが示されている。
仮想アドレスはキャッシュ入力レジスタ240を介して高
速キャッシュバス121又は131から取られ、キャッシュMM
Uのアキュムレータ/レジスタ210内にストアされる。次
いで、このアドレスは3つの部分に分割される。高次ビ
ット(<31:18>)はTLB350及びDAT370へ送られる。ビ
ット<10:4>はキャッシュメモリ320バッファ選択論理
へ送られて、その中のラインが選択される。ビット<3:
2>はマルチプレクサ341へ送られ、それはカッド語ライ
ンレジスタ333及び335の4個の出力ワードの内の1つを
選択する。ビット<0:1>は後述する如くストアバイト
/ストア半ワード動作上でのみ使用される。
速キャッシュバス121又は131から取られ、キャッシュMM
Uのアキュムレータ/レジスタ210内にストアされる。次
いで、このアドレスは3つの部分に分割される。高次ビ
ット(<31:18>)はTLB350及びDAT370へ送られる。ビ
ット<10:4>はキャッシュメモリ320バッファ選択論理
へ送られて、その中のラインが選択される。ビット<3:
2>はマルチプレクサ341へ送られ、それはカッド語ライ
ンレジスタ333及び335の4個の出力ワードの内の1つを
選択する。ビット<0:1>は後述する如くストアバイト
/ストア半ワード動作上でのみ使用される。
TLB350は仮想ページアドレスの下位6ビット<17:12>
を使用して、2方向セット連合アレイ352及び354をアク
セスする。該アレイは、その出力として、提起された仮
想アドレスに対応するページの実アドレスを持ってい
る。ビット<11>は変換無しで通過される。ページ寸法
は4Kであるから、ビット<11>はページ内のバイトであ
る明細fの一部である。従って、マッチ即ち整合が判別
されると、実アドレスはゲート出力されて比較器332及
び334内に入れられ、キャッシュ実アドレスタグ出力322
及び326と比較する。
を使用して、2方向セット連合アレイ352及び354をアク
セスする。該アレイは、その出力として、提起された仮
想アドレスに対応するページの実アドレスを持ってい
る。ビット<11>は変換無しで通過される。ページ寸法
は4Kであるから、ビット<11>はページ内のバイトであ
る明細fの一部である。従って、マッチ即ち整合が判別
されると、実アドレスはゲート出力されて比較器332及
び334内に入れられ、キャッシュ実アドレスタグ出力322
及び326と比較する。
TLB350内にマッチが発見されないと、DAT(ダイナミッ
クアドレス変換器)370が喚起される。アクティブプロ
セスに対してのセグメント及びページテーブルを使用す
ることによって、DATは提起された仮想アドレスを実ア
ドレスへ変換する。その実アドレスはTLB350内にロード
され、前のエントリと交換する。次いで、TLB350は実ア
ドレスをキャッシュ320へ送る。
クアドレス変換器)370が喚起される。アクティブプロ
セスに対してのセグメント及びページテーブルを使用す
ることによって、DATは提起された仮想アドレスを実ア
ドレスへ変換する。その実アドレスはTLB350内にロード
され、前のエントリと交換する。次いで、TLB350は実ア
ドレスをキャッシュ320へ送る。
キャッシュデータバッファ321及び322は、各々16バイト
の2本のラインの128セットとして組織されているセッ
ト連合メモリである。仮想アドレスのビット<10:4>は
キャッシュデータバッファ内のセットを選択する。該セ
ット内の2本のラインの各々に対するデータの16バイト
はゲート出力されてキャッシュ論理内の2個のカッド語
レジスタ内に入れられる。
の2本のラインの128セットとして組織されているセッ
ト連合メモリである。仮想アドレスのビット<10:4>は
キャッシュデータバッファ内のセットを選択する。該セ
ット内の2本のラインの各々に対するデータの16バイト
はゲート出力されてキャッシュ論理内の2個のカッド語
レジスタ内に入れられる。
比較器332及び334は、実アドレス(TLBから)をキャッ
シュデータバッファからの実アドレスタグ322及び326の
両方と比較する。マッチがある場合、マッチしたライン
からの適宜のワードはCOR230へゲート出力される。ビッ
ト<3:2>はマルチプレクサ341を介して適宜のワードを
選択する為に使用される。或るラインに対する有効ビッ
トがオフであると、マッチは存在しない。
シュデータバッファからの実アドレスタグ322及び326の
両方と比較する。マッチがある場合、マッチしたライン
からの適宜のワードはCOR230へゲート出力される。ビッ
ト<3:2>はマルチプレクサ341を介して適宜のワードを
選択する為に使用される。或るラインに対する有効ビッ
トがオフであると、マッチは存在しない。
バイト又は半ワードのロードの場合、キャッシュMMUは
全体のワードを与え、且つCPU110はバイト又は半ワード
を選択する。バイト又は半ワードのストア即ち記憶の場
合、一層複雑な動作シーケンスがある。CPU110からのバ
イト又は半ワードは同時的にCIR240内に置かれ、キャッ
シュは、バイトがCOR230内にストアされているそのワー
ドを読み取る。CIR240及びCOR230の内容は合体され且つ
プロセサ/キャッシュバス上に置かれる。
全体のワードを与え、且つCPU110はバイト又は半ワード
を選択する。バイト又は半ワードのストア即ち記憶の場
合、一層複雑な動作シーケンスがある。CPU110からのバ
イト又は半ワードは同時的にCIR240内に置かれ、キャッ
シュは、バイトがCOR230内にストアされているそのワー
ドを読み取る。CIR240及びCOR230の内容は合体され且つ
プロセサ/キャッシュバス上に置かれる。
ミス(即ち、マッチ無し)の場合、実アドレスがシステ
ムバス141上をメインメモリ140へ送られ、且つその返答
として、16バイトラインが受け取られる。その16バイト
ライン及びその関連するタグはキャッシュデータバッフ
ァ321及び323内のラインと交換する。要求された特定の
ワードが次いでキャッシュMMUから読み取られる。
ムバス141上をメインメモリ140へ送られ、且つその返答
として、16バイトラインが受け取られる。その16バイト
ライン及びその関連するタグはキャッシュデータバッフ
ァ321及び323内のラインと交換する。要求された特定の
ワードが次いでキャッシュMMUから読み取られる。
アキュムレータレジスタ310はデータキャッシュMMU内に
おいてアドレスレジスタとして機能し、且つ命令キャッ
シュMMU内においてプログラムカウンタとして機能す
る。命令キャッシュMMU又はデータキャッシュMMUの何れ
かとしての機能は、本システムの初期値化によるか又は
ハードワイヤードストラッピングにより決定される。モ
ノリシック集積回路キャッシュMMU実施例の場合、この
決定は最終パケージングの時に行うことが可能である。
(例えば、レーザ又はイオン注入工程により特定のピン
を或る電圧又は接地へストラッピングすることによ
り)。別法として、本システムによるチップの初期値化
の一部としてそれをプログラムさせることが可能である
(例えば、初期値化プロトコルに対する値をチップ上に
ローディングすることにより)。レジスタアキュムレー
タ310はCPU110からのアドレス出力をストアする。前述
した如く、このアドレスは32ビットの長さであり、ビッ
ト0からビット31である。
おいてアドレスレジスタとして機能し、且つ命令キャッ
シュMMU内においてプログラムカウンタとして機能す
る。命令キャッシュMMU又はデータキャッシュMMUの何れ
かとしての機能は、本システムの初期値化によるか又は
ハードワイヤードストラッピングにより決定される。モ
ノリシック集積回路キャッシュMMU実施例の場合、この
決定は最終パケージングの時に行うことが可能である。
(例えば、レーザ又はイオン注入工程により特定のピン
を或る電圧又は接地へストラッピングすることによ
り)。別法として、本システムによるチップの初期値化
の一部としてそれをプログラムさせることが可能である
(例えば、初期値化プロトコルに対する値をチップ上に
ローディングすることにより)。レジスタアキュムレー
タ310はCPU110からのアドレス出力をストアする。前述
した如く、このアドレスは32ビットの長さであり、ビッ
ト0からビット31である。
キャッシュメモリサブシステム320は2つの等しい半分
“W,321"及び“X,323"に分割されている。各半分は同一
であり且つデータの複数個のワード、即ちそのデータに
対する実アドレス、及びフラッグビット内の或る制御情
報とをストアする。該キャッシュの内部構造を第10図を
参照して詳細に説明する。キャッシュW及びXの各半分
は、アドレス出力及びそこからデータ出力の複数ワード
を、Wキャッシュ半分321からのアドレス及びデータ出
力及びXキャッシュ半分323からのアドレス及びデータ
出力326及び328に対してのライン322及び324を介して、
与える。
“W,321"及び“X,323"に分割されている。各半分は同一
であり且つデータの複数個のワード、即ちそのデータに
対する実アドレス、及びフラッグビット内の或る制御情
報とをストアする。該キャッシュの内部構造を第10図を
参照して詳細に説明する。キャッシュW及びXの各半分
は、アドレス出力及びそこからデータ出力の複数ワード
を、Wキャッシュ半分321からのアドレス及びデータ出
力及びXキャッシュ半分323からのアドレス及びデータ
出力326及び328に対してのライン322及び324を介して、
与える。
好適実施例において、該データ出力は並列で同時的なカ
ッド語出力の形態である。これは、第10図に示した如
く、キャッシュ半分内の各ラインに対してのキャッシュ
の各半分W及びX内の4個のワードの記憶構造と相補的
である。該キャッシュの2つの半分W及びXからの夫々
のカッド語出力は、カッド語ラインレジスタ333及び335
へ夫々接続されている。該ラインレジスタ内のワード数
は該キャッシュの各半分内のライン毎にストアされるワ
ード数に対応している。キャッシュW及びX321及び323
の各半分からのアドレス出力は、夫々、比較器332及び3
34の夫々の各々の1つの入力端へ接続される。各比較器
332及び334の他方の入力端は、実アドレス、ビット31乃
至11、を出力するマルチプレクサ347の出力端へ接続さ
れている。実アドレス、ビット31乃至11、は比較器332
及び334の夫々を介して、キャッシュ半分W321及びX323
の各々からのアドレスインターフェースの出力と比較さ
れ、要求されたアドレスがキャッシュ320内に存在する
アドレスと対応するか否かを決定する。アキュムレータ
310はビット10乃至4の出力をキャッシュメモリサブシ
ステムへ供給し、その中の1つのラインを選択する。キ
ャッシュメモリ320の各半分、W及びX、に対してのラ
イン内にストアされている実アドレスは、その夫々のア
ドレス出力ライン322及び326を介して、夫々の半分から
その夫々の比較器332及び335へ出力される。ラインレジ
スタ333及び335の各々からの出力はマルチプレクサ341
へ供給される。アキュムレータレジスタ310は、ビット
3及び2の出力を与えて、カッド語記憶ラインレジスタ
333及び335からの4個の連続するワードの内の1つを選
択する。
ッド語出力の形態である。これは、第10図に示した如
く、キャッシュ半分内の各ラインに対してのキャッシュ
の各半分W及びX内の4個のワードの記憶構造と相補的
である。該キャッシュの2つの半分W及びXからの夫々
のカッド語出力は、カッド語ラインレジスタ333及び335
へ夫々接続されている。該ラインレジスタ内のワード数
は該キャッシュの各半分内のライン毎にストアされるワ
ード数に対応している。キャッシュW及びX321及び323
の各半分からのアドレス出力は、夫々、比較器332及び3
34の夫々の各々の1つの入力端へ接続される。各比較器
332及び334の他方の入力端は、実アドレス、ビット31乃
至11、を出力するマルチプレクサ347の出力端へ接続さ
れている。実アドレス、ビット31乃至11、は比較器332
及び334の夫々を介して、キャッシュ半分W321及びX323
の各々からのアドレスインターフェースの出力と比較さ
れ、要求されたアドレスがキャッシュ320内に存在する
アドレスと対応するか否かを決定する。アキュムレータ
310はビット10乃至4の出力をキャッシュメモリサブシ
ステムへ供給し、その中の1つのラインを選択する。キ
ャッシュメモリ320の各半分、W及びX、に対してのラ
イン内にストアされている実アドレスは、その夫々のア
ドレス出力ライン322及び326を介して、夫々の半分から
その夫々の比較器332及び335へ出力される。ラインレジ
スタ333及び335の各々からの出力はマルチプレクサ341
へ供給される。アキュムレータレジスタ310は、ビット
3及び2の出力を与えて、カッド語記憶ラインレジスタ
333及び335からの4個の連続するワードの内の1つを選
択する。
該ラインレジスタの各々らの選択されたワードはマルチ
プレクサ341からマルチプレクサ343へ出力される。マル
チプレクサ343から出力されるべきどのラインレジス
タ、即ち333又は335、の出力の選択は、マッチ/マッチ
無し出力又は比較器332及び334に応答して、決定され
る。マルチプレクサ343は、第4図のキャッシュ出力レ
ジスタ230を介して、データ出力ビット31乃至0をプロ
セサキャッシュバスへ接続させる。比較器332及び334か
ら出力されるマッチ/マッチ無し信号は、キャッシュW
(321)又はX(323)の夫々の対応する半分に対して、
キャッシュヒット乃至は当り(即ち、要求された実アド
レスがキャッシュ内に存在しており且つデータが有効で
あること)又はキャッシュミス即ちはずれ(即ち、要求
されたデータがキャッシュ内に不存在)を表す。実アド
レスビット31乃至11はマルチプレクサ337から比較器332
及び334へ供給されるが、それは348で示した連結プロセ
スによって構成される。セット連合マッピングにおいて
実アドレスビット11に対応するレジスタアキュムレータ
310出力ビット11は、TLB270のマルチプレクサ345からの
実アドレス出力ビット31乃至12と共に、連結される。
プレクサ341からマルチプレクサ343へ出力される。マル
チプレクサ343から出力されるべきどのラインレジス
タ、即ち333又は335、の出力の選択は、マッチ/マッチ
無し出力又は比較器332及び334に応答して、決定され
る。マルチプレクサ343は、第4図のキャッシュ出力レ
ジスタ230を介して、データ出力ビット31乃至0をプロ
セサキャッシュバスへ接続させる。比較器332及び334か
ら出力されるマッチ/マッチ無し信号は、キャッシュW
(321)又はX(323)の夫々の対応する半分に対して、
キャッシュヒット乃至は当り(即ち、要求された実アド
レスがキャッシュ内に存在しており且つデータが有効で
あること)又はキャッシュミス即ちはずれ(即ち、要求
されたデータがキャッシュ内に不存在)を表す。実アド
レスビット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へ供給される。TLB内のラインの1つ
をアクティブ選択ラインとして選択するレジスタアキュ
ムレータ310の出力ビット17乃至12に応答して、ライン
がTLB内において選択される。TLBのW及びX半分352及
び354の夫々からの仮想アドレス出力は選択されたライ
ンに対応する。比較器362及び364からの“マッチ”出力
ラインは各々マルチプレクサ345の選択入力へ供給さ
れ、それはマルチプレクサ347等への選択通路用の連結
論理348へビット31乃至12の実アドレス出力を与える。T
LB350の選択されたライン(即ち、両方の半分)用の実
アドレス出力はマルチプレクサ345へ供給される。TLBヒ
ットの場合、TLBの半分W又はXの一方とのマッチがあ
り、対応する比較器はマルチプレクサ345へマッチ信号
を与えて、仮想アドレスのマッチを持っているTLBの半
分に対する実アドレスを選択し、マルチプレクサ345か
らの実アドレス出力を連結論理348へ供給する。TLBミス
の場合、TLBミス信号372は直接アドレス変換ユニット37
0へ供給される。DAT370は374で示した如くページテーブ
ルアクセスを与え、且つ375で示した如くTLBラインの交
換を与える。DATの動作は以下に詳細に説明する。キャ
ッシュミスの場合、要求されたアドレスされたデータは
ライン325を介して示した如くキャッシュ内で交換され
る。
換論理ブロック記憶メモリ350を有しており、該メモリ
はW半分352と同一のX半分354とを有しており、その各
々は記憶用の複数個のラインを持っており、各ラインは
仮想アドレスとスラッグステータスビットと実アドレス
とを持っている。各半分は、仮想アドレス出力と実アド
レス出力とを与える。TLB352のW半分からの仮想アドレ
ス出力は比較器362へ供給される。X半分354の仮想アド
レス出力は比較器364へ供給される。比較器362及び364
への他方の入力は共通にレジスタアキュムレータ310出
力ビット31乃至18へ供給される。TLB内のラインの1つ
をアクティブ選択ラインとして選択するレジスタアキュ
ムレータ310の出力ビット17乃至12に応答して、ライン
がTLB内において選択される。TLBのW及びX半分352及
び354の夫々からの仮想アドレス出力は選択されたライ
ンに対応する。比較器362及び364からの“マッチ”出力
ラインは各々マルチプレクサ345の選択入力へ供給さ
れ、それはマルチプレクサ347等への選択通路用の連結
論理348へビット31乃至12の実アドレス出力を与える。T
LB350の選択されたライン(即ち、両方の半分)用の実
アドレス出力はマルチプレクサ345へ供給される。TLBヒ
ットの場合、TLBの半分W又はXの一方とのマッチがあ
り、対応する比較器はマルチプレクサ345へマッチ信号
を与えて、仮想アドレスのマッチを持っているTLBの半
分に対する実アドレスを選択し、マルチプレクサ345か
らの実アドレス出力を連結論理348へ供給する。TLBミス
の場合、TLBミス信号372は直接アドレス変換ユニット37
0へ供給される。DAT370は374で示した如くページテーブ
ルアクセスを与え、且つ375で示した如くTLBラインの交
換を与える。DATの動作は以下に詳細に説明する。キャ
ッシュミスの場合、要求されたアドレスされたデータは
ライン325を介して示した如くキャッシュ内で交換され
る。
第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"、実アドレスフィール
ド“RA"、及び複数データワード“DT"を有している。イ
ネーブルビットセットは、夫々の関連するラインが機能
的であることを表している。リセットイネーブルビット
は、夫々の関連するラインが動作可能であることを表し
ている。リセットイネーブルビットは、そのラインへ試
みられたアクセスに対してキャッシュミスとなる。モノ
リシック集積回路キャッシュMMUの場合、イネーブルビ
ットは、製造プロセスの一部として、最終テストの後
に、レーザで設定することが可能である。ライン有効ビ
ットLVは、コールドスタート、I/O書込上、又はプロセ
サコマンドの下で、現在のラインの全体を無効化させる
か否かを表す。ラインよごれ(ダーティ)ビットLDは、
キャッシュメモリサブシステムの夫々の関連した現在の
ラインがプロセサによって変化されたか否かを表す(即
ち、メインメモリは現在のものではない)。21ビットと
して示されている実アドレスフィールドは、次に続く第
1のストアしたデータワードのメインメモリ内の実アド
レスに対して最大桁20ビットを有している。4つのワー
ドDT0乃至DT4として示されている複数データワードはメ
インメモリの代りにプロセサによってアクセスされる。
各データワードは複数ビット、例えば32ビットを有して
いる。
おける各ラインは、第10B図に示した如く、複数のフィ
ールドを有している。W又はXサブシステムメモリ内の
各ラインは、イネーブルビット“E"、ライン有効ビット
“LV"、ラインよごれビット“LD"、実アドレスフィール
ド“RA"、及び複数データワード“DT"を有している。イ
ネーブルビットセットは、夫々の関連するラインが機能
的であることを表している。リセットイネーブルビット
は、夫々の関連するラインが動作可能であることを表し
ている。リセットイネーブルビットは、そのラインへ試
みられたアクセスに対してキャッシュミスとなる。モノ
リシック集積回路キャッシュMMUの場合、イネーブルビ
ットは、製造プロセスの一部として、最終テストの後
に、レーザで設定することが可能である。ライン有効ビ
ットLVは、コールドスタート、I/O書込上、又はプロセ
サコマンドの下で、現在のラインの全体を無効化させる
か否かを表す。ラインよごれ(ダーティ)ビットLDは、
キャッシュメモリサブシステムの夫々の関連した現在の
ラインがプロセサによって変化されたか否かを表す(即
ち、メインメモリは現在のものではない)。21ビットと
して示されている実アドレスフィールドは、次に続く第
1のストアしたデータワードのメインメモリ内の実アド
レスに対して最大桁20ビットを有している。4つのワー
ドDT0乃至DT4として示されている複数データワードはメ
インメモリの代りにプロセサによってアクセスされる。
各データワードは複数ビット、例えば32ビットを有して
いる。
第11A図に示される如く、TLBサブシステム350は、3つ
のフィールド、即ち使用済み“U"フィールド359、及び
2つの高速読取−書込メモリフィールド、W及びXメモ
リサブシステム、を有している。W及びXメモリサブシ
ステムは均等であり、キャッシュメモリ記憶装置の2つ
の半分を形成している。図示した如く、各半分は47ビッ
ト幅ワードを持ったアドレス可能記憶部の64本のライン
を有しており、且つ仮想から実へのアドレス変換をサポ
ートしている。各ラインの使用済みフィールドは、第10
A図に関して説明するものと同様の態様で動作する。
のフィールド、即ち使用済み“U"フィールド359、及び
2つの高速読取−書込メモリフィールド、W及びXメモ
リサブシステム、を有している。W及びXメモリサブシ
ステムは均等であり、キャッシュメモリ記憶装置の2つ
の半分を形成している。図示した如く、各半分は47ビッ
ト幅ワードを持ったアドレス可能記憶部の64本のライン
を有しており、且つ仮想から実へのアドレス変換をサポ
ートしている。各ラインの使用済みフィールドは、第10
A図に関して説明するものと同様の態様で動作する。
第11B図に示した如く、W及びXにおける各記憶ライン
は、14ビットの仮想アドレス“VA"フィールド、20ビッ
トの実アドレス“RA"フィールド、スーパーバイザ有効
ビットフィールド、ユーザ有効ビットUVフィールド、ダ
ーティビット“D"フィールド、参照済みビット“R"、保
護レベルワード“PL"フィールド(4ビットとして示し
てある)、及びシステムタグ“ST"フィールド(5ビッ
トとして示してある)を有している。
は、14ビットの仮想アドレス“VA"フィールド、20ビッ
トの実アドレス“RA"フィールド、スーパーバイザ有効
ビットフィールド、ユーザ有効ビットUVフィールド、ダ
ーティビット“D"フィールド、参照済みビット“R"、保
護レベルワード“PL"フィールド(4ビットとして示し
てある)、及びシステムタグ“ST"フィールド(5ビッ
トとして示してある)を有している。
TLBは、1つのMCLKサイクル中で読み取ることの可能な
内容アドレス可能メモリのタイプである。それはセット
連合バッファとして組織されており、且つ各々2つの要
素からなる64セットで構成されている。仮想ページアド
レスの下位6ビットはセット、即ち記憶ライン、を選択
するのに使用される。次いで、仮想アドレスの上位14ビ
ットが、該セットの両方の要素352及び354のキーフィー
ルドVA出力と比較される(即ち、362及び354)。TLBヒ
ットの場合、マッチするTLBラインエントリの実アドレ
スフィールド(20ビット)RAは、関連するシステムタグ
及びアクセス保護ビットと共に、マルチプレクサ345を
介して出力されるTLB変換サーチは14ビットの仮想アド
レス、スーパーバイザ有効、及びユーザ有効に応答して
与えられる。
内容アドレス可能メモリのタイプである。それはセット
連合バッファとして組織されており、且つ各々2つの要
素からなる64セットで構成されている。仮想ページアド
レスの下位6ビットはセット、即ち記憶ライン、を選択
するのに使用される。次いで、仮想アドレスの上位14ビ
ットが、該セットの両方の要素352及び354のキーフィー
ルドVA出力と比較される(即ち、362及び354)。TLBヒ
ットの場合、マッチするTLBラインエントリの実アドレ
スフィールド(20ビット)RAは、関連するシステムタグ
及びアクセス保護ビットと共に、マルチプレクサ345を
介して出力されるTLB変換サーチは14ビットの仮想アド
レス、スーパーバイザ有効、及びユーザ有効に応答して
与えられる。
第12図に示した如く、キャッシュメモリはカッド語境界
上で組織される。実アドレスメモリの4つのアドレス可
能なワードは、キャッシュメモリシステム320の各半分
(即ち、W及びX)に対しての各ライン内にストアされ
る。キャッシュメモリサブシステムは、カッド語境界上
にカッド語出力を与え、キャッシュアクセス時間を更に
加速する。例えば、ロード動作の場合に、現在のアドレ
スが前のアドレスのカッド境界内である時、キャッシュ
アクセス時間は最小である(例えば、2クロックサイク
ル)。現在のアドレスが前のアドレスのカッド境界を越
えている場合には、キャッシュアクセス時間は一層長い
(例えば、4クロックサイクル)。
上で組織される。実アドレスメモリの4つのアドレス可
能なワードは、キャッシュメモリシステム320の各半分
(即ち、W及びX)に対しての各ライン内にストアされ
る。キャッシュメモリサブシステムは、カッド語境界上
にカッド語出力を与え、キャッシュアクセス時間を更に
加速する。例えば、ロード動作の場合に、現在のアドレ
スが前のアドレスのカッド境界内である時、キャッシュ
アクセス時間は最小である(例えば、2クロックサイク
ル)。現在のアドレスが前のアドレスのカッド境界を越
えている場合には、キャッシュアクセス時間は一層長い
(例えば、4クロックサイクル)。
本明細書の別の個所において詳細に説明した如く、TLB
は臨界的な機能に対してのハードワイヤードした変換論
理を与える為に予約してある。これは非常に高速の保証
されたメインメモリの仮想から実へのマッピング及び変
換能力を与える。ハードワイヤード化した変換論理ブロ
ックの機能は第13図に示してある。各ラインは第11B図
に示した如き情報を有している。変換及びシステム情報
は、ブートROM、メモリ管理、I/O、ベクトル、オペレー
ティングシステム及び予約済み位置、第11A図及び第11B
図に関して詳細に上述した如き適用予約済み位置等の臨
界的な機能に対して与えられる。
は臨界的な機能に対してのハードワイヤードした変換論
理を与える為に予約してある。これは非常に高速の保証
されたメインメモリの仮想から実へのマッピング及び変
換能力を与える。ハードワイヤード化した変換論理ブロ
ックの機能は第13図に示してある。各ラインは第11B図
に示した如き情報を有している。変換及びシステム情報
は、ブートROM、メモリ管理、I/O、ベクトル、オペレー
ティングシステム及び予約済み位置、第11A図及び第11B
図に関して詳細に上述した如き適用予約済み位置等の臨
界的な機能に対して与えられる。
読取−書込TLBに加えて、第13図を参照して説明する如
く、8個のハードワイヤード化した仮想から実への変換
がある。これらの変換の幾つかを実ページ0−3にマッ
プしてある。仮想空間内のページ0は実メモリの低位端
内の第1ページであり、それはトラップ及びインタラプ
トベクトル用に使用される。ページ1−3は本システム
の初期値化に対する共用区域として使用される。ページ
6及び7はブートストラップシステムROM用に使用さ
れ、且つページ4及び5はメモリマップドI/O用に使用
される。これらの8個のページ変換は、スーパーバイザ
モードにある時にのみ使用される。これらがTLB内にハ
ードワイヤード化された結果として、システム空間の最
初の8個の仮想ページにはミス又はページ障害は決して
発生することは無い。
く、8個のハードワイヤード化した仮想から実への変換
がある。これらの変換の幾つかを実ページ0−3にマッ
プしてある。仮想空間内のページ0は実メモリの低位端
内の第1ページであり、それはトラップ及びインタラプ
トベクトル用に使用される。ページ1−3は本システム
の初期値化に対する共用区域として使用される。ページ
6及び7はブートストラップシステムROM用に使用さ
れ、且つページ4及び5はメモリマップドI/O用に使用
される。これらの8個のページ変換は、スーパーバイザ
モードにある時にのみ使用される。これらがTLB内にハ
ードワイヤード化された結果として、システム空間の最
初の8個の仮想ページにはミス又はページ障害は決して
発生することは無い。
PLビットは、そのページの保護レベルを表す。CPUから
のVA(仮想アドレス)に付随する機能コードはメモリ参
照のモードを有している。これらのモードはPLビットと
比較され、侵害が検知されると、CPUトラップが発生さ
れる。
のVA(仮想アドレス)に付随する機能コードはメモリ参
照のモードを有している。これらのモードはPLビットと
比較され、侵害が検知されると、CPUトラップが発生さ
れる。
キャッシュMMUは、TLBエントリ又はページテーブルエン
トリ内の4つの保護ビット(PL)を検査することによっ
てメモリアクセス保護を与える。これは、スーパーバイ
ザステータスワード(SSW)内のスーバーバイザ/ユー
ザビット及びKビットをアクセスコードと比較すること
によって達成され、且つ、侵害がある場合には、アクセ
スが拒絶され且つトラップがCPUへ発生される。
トリ内の4つの保護ビット(PL)を検査することによっ
てメモリアクセス保護を与える。これは、スーパーバイ
ザステータスワード(SSW)内のスーバーバイザ/ユー
ザビット及びKビットをアクセスコードと比較すること
によって達成され、且つ、侵害がある場合には、アクセ
スが拒絶され且つトラップがCPUへ発生される。
トラップを発生した仮想アドレスはレジスタ内に格納さ
れ且つI/Oコマンドで読み出すことが可能である。
れ且つI/Oコマンドで読み出すことが可能である。
以下の如く3つの独得のトラップが発生される。
1.命令フェッチアクセス侵害−命令キャッシュのみ。
2.読取アクセス侵害−データキャッシュのみ。
3.書込アクセス侵害−データキャッシュのみ。
データキャッシュライン内のデーティ即ちよごれビット
(D)は、メインメモリから読み取ることによってその
ラインが修正されていることを表す。
(D)は、メインメモリから読み取ることによってその
ラインが修正されていることを表す。
TLB内のダーティビットは、そのページ内の1つ以上の
ワードが修正されていることを表す。
ワードが修正されていることを表す。
キャッシュ内にワードを書き込む場合、そのライン内の
ダーティビットはセットされる。TLB内のダーティビッ
トがセットされないと、それは次いでセットされ且つTL
B内のラインはページテーブル内に書き戻される。TLB内
のデーティビットが既にセットされていると、ページテ
ーブルはアップデートされない。この機構は、そのペー
ジが最初に修正される時に自動的にページテーブルダー
ティビットをアップデートする。
ダーティビットはセットされる。TLB内のダーティビッ
トがセットされないと、それは次いでセットされ且つTL
B内のラインはページテーブル内に書き戻される。TLB内
のデーティビットが既にセットされていると、ページテ
ーブルはアップデートされない。この機構は、そのペー
ジが最初に修正される時に自動的にページテーブルダー
ティビットをアップデートする。
TLB内の参照済みビット(R)は、そのページが少なく
とも一度読取又は書込によって参照されたことを表す。
Dビットに対して送出したのと同じアプローチを使用し
て、ページテーブルエントリ内のRビットをアップデー
トする。
とも一度読取又は書込によって参照されたことを表す。
Dビットに対して送出したのと同じアプローチを使用し
て、ページテーブルエントリ内のRビットをアップデー
トする。
有効ビット(SV,UV)はそのラインを無効化させる為に
使用される。コールドスタートの場合、SVとUVの両方が
ゼロにセットされる。一人のユーザから別のユーザへの
コンテクストスイッチの場合、UVはゼロにセットされ
る。ユーザからスーパーバイザへ行くか又は同じユーザ
への戻りの場合にはUVはリセットされない。
使用される。コールドスタートの場合、SVとUVの両方が
ゼロにセットされる。一人のユーザから別のユーザへの
コンテクストスイッチの場合、UVはゼロにセットされ
る。ユーザからスーパーバイザへ行くか又は同じユーザ
への戻りの場合にはUVはリセットされない。
20ビット実アドレス(RA)も又各ライン位置にストアさ
れる。仮想アドレスにマッチがあると、実際のアドレス
がキャッシュへ送られてSORと比較される。
れる。仮想アドレスにマッチがあると、実際のアドレス
がキャッシュへ送られてSORと比較される。
本システムが非マップモード(即ち、仮想アドレシング
無し)で動作していると、TLBはアクティブでは無く且
つ保護回路はデイスエーブルされる。
無し)で動作していると、TLBはアクティブでは無く且
つ保護回路はデイスエーブルされる。
TLBは以下のメモリマップドI/Oコマンドに応答する。
*リセットTLBスーパーバイザ有効ビット − TLB内で全てのSVビットがリセットされる。
*リセットTLBユーザ有効ビット − TLB内で全てのUVビットがリセットされる。
*リセットDビット − TLB内の全てのダーティ(D)ビットをゼロにセッ
ト。
ト。
*リセットRビット − TLB内の全ての参照済み(R)ビットをゼロにセッ
ト。
ト。
*TLB上位読取 − アドレスされたTLB位置の最高位部分をCPUへ読取。
*TLB下位読取 − アドレスされたTLB位置の最小位部位をCPUへ読取。
*TLB上位書込 − アドレスされたTLB位置の最高位部分をCPUから書
込。
込。
*TLB下位書込 − アドレスされたTLB位置の最小位部分をCPUから書
込。
込。
キャッシュMMUに対してのメモリマップドI/Oは仮想ペー
ジ4を通過する。
ジ4を通過する。
システムタグは、書込(即ち、コピーバック又はライト
スルー)、キャッシュMMUのイネーブル動作、及びI/O処
理用にキャッシュMMU作戦を変える為に本システムによ
って使用されている。システムタグはページテーブル及
びTLB内に位置されている。
スルー)、キャッシュMMUのイネーブル動作、及びI/O処
理用にキャッシュMMU作戦を変える為に本システムによ
って使用されている。システムタグはページテーブル及
びTLB内に位置されている。
システムタグ システムタグの5つは本システムによりデコードする為
にキャッシュMMUの外側へ出される。タグT2はブートス
トラップとI/O空間との間の差を付ける為に使用れる。
タグT4は、メモリ空間及びブート又はI/O空間との間に
差を付ける為に使用される。UNIX動作システム(例え
ば、UNIX)はタグT0及びT1を使用することが可能であ
る。従って、オペレーティングシステムがユーザに知れ
ていない限り、T0及びT1はシステム設計者によって使用
されることは不可能である。これら4つのタグは、キャ
ッシュMMUがシステムバスを得た時にのみ有効となる。
これらの信号は他のキャッシュMMUからのタグと共に一
緒にバス動作される。
にキャッシュMMUの外側へ出される。タグT2はブートス
トラップとI/O空間との間の差を付ける為に使用れる。
タグT4は、メモリ空間及びブート又はI/O空間との間に
差を付ける為に使用される。UNIX動作システム(例え
ば、UNIX)はタグT0及びT1を使用することが可能であ
る。従って、オペレーティングシステムがユーザに知れ
ていない限り、T0及びT1はシステム設計者によって使用
されることは不可能である。これら4つのタグは、キャ
ッシュMMUがシステムバスを得た時にのみ有効となる。
これらの信号は他のキャッシュMMUからのタグと共に一
緒にバス動作される。
ST(001xxxx):共通、ライトスルー 仮想ページ0がスーパーバイザモードにおいてTLB内に
検知されると、実際のメモリのページ0が割り当てられ
る。この実際のメモリの第1ページはRAM又はROMとする
ことが可能であり、トラップ及びインタラプト用のベク
トルを有している。このハードワイヤード変換はスーパ
ーバイザ状態においてのみ発生する。実アドレスの最高
位20ビットはゼロである。
検知されると、実際のメモリのページ0が割り当てられ
る。この実際のメモリの第1ページはRAM又はROMとする
ことが可能であり、トラップ及びインタラプト用のベク
トルを有している。このハードワイヤード変換はスーパ
ーバイザ状態においてのみ発生する。実アドレスの最高
位20ビットはゼロである。
ST(1,X,1,X,X,X,X) 仮想メモリ内のページ6及び7がアドレスされると、シ
ステムタグがハードワイヤードTLBから出力される。こ
の変換スーパーバイザ状態でのみ発生する。仮想メモリ
のページ6及び7はブートメモリのページ0及び1内に
マップする。
ステムタグがハードワイヤードTLBから出力される。こ
の変換スーパーバイザ状態でのみ発生する。仮想メモリ
のページ6及び7はブートメモリのページ0及び1内に
マップする。
実アドレスの最高位19ビットはゼロであり、且つビット
12はブートメモリのページ1に対しては1であり且つペ
ージ0に対しては0である。
12はブートメモリのページ1に対しては1であり且つペ
ージ0に対しては0である。
ブートメモリ実空間は実際のメモリ空間内には存在しな
い。
い。
ST(1,X,0,X,X,X,X)メモリマップドI/O スーパーバイザモードにある場合、仮想空間内のページ
4及び5は、TLB内にハードワイヤード変換を持ってい
る。変換された実アドレスの最高位19ビットはゼロであ
る。I/Oシステムは、メモリマップドI/Oを表すシステム
タグT2及びT4をデコードせねばならない。実アドレスの
最高位20ビットのデコード動作は、I/Oコマンドの付加
的なページの為に使用することが可能である。各実ペー
ジは1024個のコマンドを持っており、対応する位置への
読取(ワード)及び書込(ワード)によって実行され
る。
4及び5は、TLB内にハードワイヤード変換を持ってい
る。変換された実アドレスの最高位19ビットはゼロであ
る。I/Oシステムは、メモリマップドI/Oを表すシステム
タグT2及びT4をデコードせねばならない。実アドレスの
最高位20ビットのデコード動作は、I/Oコマンドの付加
的なページの為に使用することが可能である。各実ペー
ジは1024個のコマンドを持っており、対応する位置への
読取(ワード)及び書込(ワード)によって実行され
る。
このハードワイヤードされたページがTLB又はページテ
ーブルエントリ内で検知されると、読取又は書込コマン
ドは、それがあたかもキャッシュ不能読取又は書込であ
るが如く実行される。
ーブルエントリ内で検知されると、読取又は書込コマン
ドは、それがあたかもキャッシュ不能読取又は書込であ
るが如く実行される。
I/O空間の使用及び割り当ては以下の如くである。
I/Oスーパーバイザモード、マップド又は非マップド、
ページ4及び5。
ページ4及び5。
仮想アドレス空間のページ4及び5は、ハードワイヤー
ドTLBエントリによるI/Oアドレスのページ0及び1内へ
夫々マップされる。ページ4はキャッシュチップに対す
るコマンドとして使用される。
ドTLBエントリによるI/Oアドレスのページ0及び1内へ
夫々マップされる。ページ4はキャッシュチップに対す
るコマンドとして使用される。
I/Oスーパーバイザモード、マップド、付加的ページ。
I/O空間は又ページテーブル内に定義することが可能で
ある。I/Oコマンドは適宜のタグビットによって識別さ
れる。ページ0−7を除いた何れかの仮想アドレスが、
0と1を含むこと無いI/Oページへマップさせることが
可能である。
ある。I/Oコマンドは適宜のタグビットによって識別さ
れる。ページ0−7を除いた何れかの仮想アドレスが、
0と1を含むこと無いI/Oページへマップさせることが
可能である。
キャッシュ内のI/O空間 キャッシュチップに向けられたI/Oアドレスは以下の如
く解釈されるべきである。
く解釈されるべきである。
キャッシュI/O空間 ページ4:キャッシュI/O空間 アドレス000040000−00004BFF−D−cache アドレス00004C000−00004FFF−I−cache ページ5:システムI/O空間 アドレス00005000−00005FFF キャッシュI/Oコマンド VA<31:12>=0 0 0 0 4 Hex VA<11:0>=RA<11:0> ビット11=0:D−cacheI/O空間を特定 ビット0:0=データ部;1=アドレス部 ビット1:0=W;1−X(コンパートメント) ビット2−3:ワード位置 ビット4−10:ライン番号 ビット11=1、ビット8,9=0:TLBを特定 ビット10:0:D−cache;1:I−cache ビット0:0=下位;1=上位 ビット1:0=W;1=X ビット2−8;ライン番号 その他: ビット10=1;I−cache,ビット10=0:D−cache 1x01−−−−00−−スーパーバイザST0 1x01−−−−01−−ユーザST0 1x01−−−−10−−Fレジスタ(障害の仮想アドレス) 1x01−−−−11−−Eレジスタ(エラーの物理的キャッ
シュ位置) 1x11000001−−キャッシュLV全リセット 1x11000010−−TLB SV全リセット 1x11000100−−TLB UV全リセット 1x11001000−−TLB D全リセット 1x11010000−−TLB R全リセット ワードストア ST(0,1,0,X,X,D,R)−専有、コピーバック A.LVは1、及びHIT:ライン内書込ワード及びセットライ
ン及びページダーティビット。
シュ位置) 1x11000001−−キャッシュLV全リセット 1x11000010−−TLB SV全リセット 1x11000100−−TLB UV全リセット 1x11001000−−TLB D全リセット 1x11010000−−TLB R全リセット ワードストア ST(0,1,0,X,X,D,R)−専有、コピーバック A.LVは1、及びHIT:ライン内書込ワード及びセットライ
ン及びページダーティビット。
B.ミス−交換されるべきラインは非ダーティ:メモリか
らカッド語を読取りライン内にストア。新ライン内にワ
ードを書込み且つライン及びページダーティをセット。
らカッド語を読取りライン内にストア。新ライン内にワ
ードを書込み且つライン及びページダーティをセット。
C.ミス−交換されるべきラインはデーティ:ダーティラ
インをメモリへ書き戻し。新カッド語をライン内に読
取。新ライン内にワードを書込且つライン及びページダ
ーティをセットした。
インをメモリへ書き戻し。新カッド語をライン内に読
取。新ライン内にワードを書込且つライン及びページダ
ーティをセットした。
ST(0,0,0,X,X,D,R)−専有、ライトスルー A.LVは1、及びHIT:ライン内に及びメモリへデータワー
ドの書込。ページダーティビットのセット。
ドの書込。ページダーティビットのセット。
B.ミス:メモリ内にワードの書込及びページダーティビ
ットのセット。
ットのセット。
ST(0,0,1,X,X,D,R)−共通、ライトスルー A.LVは1及びHIT:ライン内及びメモリへのデータワード
の書込。ページダーティビットをセット。
の書込。ページダーティビットをセット。
B.ミス:メモリ内にワードの書込及びページダーティビ
ットをセット。
ットをセット。
ST(0,1,1,X,X,S,R)−キャッシュ不能 A.メインメモリ内にワードの書込。ヒットの場合はパー
ジ。
ジ。
バイト/半ワードのストア ST(0,1,0,X,X,D,R)−専有、コピーバック A.LVは1、及びHIT:ライン内にバイト又は半ワードを書
込且つライン及びページダーティビットをセット。
込且つライン及びページダーティビットをセット。
B.ミス−交換されるべきラインは非ダーティ:メモリか
らカッド語を読取且つライン内にストア。新ライン内に
バイト又は半ワードの書込且つライン及びページダーテ
ィをセット。
らカッド語を読取且つライン内にストア。新ライン内に
バイト又は半ワードの書込且つライン及びページダーテ
ィをセット。
C.ミス及び交換されるべきラインはダーティ:ラインを
メモリへ書き戻し。新カッド語をライン内に読取。バイ
ト又は半ワードを新ライン内に書き且つライン及びペー
ジダーテイをセット。
メモリへ書き戻し。新カッド語をライン内に読取。バイ
ト又は半ワードを新ライン内に書き且つライン及びペー
ジダーテイをセット。
ST(0,0,X,X,D,R)−専有、ライトスルー A.HIT:バイト又は半ワードをライン内に書込。キャッシ
ュラインからメモリへ修正したワードをコピー。
ュラインからメモリへ修正したワードをコピー。
B.ミス:ワード読取。バイト又は半ワードの修正。キャ
ッシュラインからメモリへ修正したワードの書込。(読
取/修正/書込サイクル)(書込割り当て無) ST(0,0,1,X,X,D,R)−共通、ライトスルー A.LVは1、及びHIT:ライン内にバイト又は半ワードの書
込。キャッシュラインからメモリへ修正したワードの書
込。
ッシュラインからメモリへ修正したワードの書込。(読
取/修正/書込サイクル)(書込割り当て無) ST(0,0,1,X,X,D,R)−共通、ライトスルー A.LVは1、及びHIT:ライン内にバイト又は半ワードの書
込。キャッシュラインからメモリへ修正したワードの書
込。
B.ミス:ワード読取。ライン内にバイト又は半ワード書
込。キャッシュラインからメモリへ修正したワードの書
込。(読取/修正/書込サイクス;書込割り当て無) ST(0,1,1,X,X,D,R)−キャッシュ不能 A.キャッシュチップ内にワードの読取。適宜のバイト/
半ワードをアップデート且つ修正したワードをメインメ
モリへ書き戻し。
込。キャッシュラインからメモリへ修正したワードの書
込。(読取/修正/書込サイクス;書込割り当て無) ST(0,1,1,X,X,D,R)−キャッシュ不能 A.キャッシュチップ内にワードの読取。適宜のバイト/
半ワードをアップデート且つ修正したワードをメインメ
モリへ書き戻し。
テスト及びセット ST(0,1,1,X,X,D,R)−キャッシュ不能 メインメモリ位置を読取、ワードのテストと修正、及び
同じ位置へストア。元のワードをCPUへ返送。
同じ位置へストア。元のワードをCPUへ返送。
この動作が完了する迄メモリバスはキャッシュに専用。
この命令を実行中に以下のシステムタグが発生すると、
エラー条件が発生。
エラー条件が発生。
1 X X X X X X (m/m I/O空間又はブート空間) ワード読取/バイト/半ワード ST(0,1,0,X,X,D,R)−専有、コピーバック A.LVは1、及びHIT:キャッシュからCPUへワードの読
取。
取。
B.ミス−交換されるべきラインは非ダーティ:メモリか
らキャッシュへ新カッド語の読取。ワードをCPUへ読
取。
らキャッシュへ新カッド語の読取。ワードをCPUへ読
取。
C.ミス−交換されるべきラインはダーティ:ラインをメ
モリへ書き戻し。メモリからキャッシュへ新カッド語の
読取。ワードをCPUへ読取。
モリへ書き戻し。メモリからキャッシュへ新カッド語の
読取。ワードをCPUへ読取。
ST(0,0,X,X,D,R)又はST(0,0,1,X,X,D,R)−ライトス
ルー A.LVは1、及びHIT:キャッシュからCPUへワードの読
取。
ルー A.LVは1、及びHIT:キャッシュからCPUへワードの読
取。
B.ミス:新カッド語をライン内に読取。ワードをCPU内
に読取。
に読取。
ST(0,1,1,X,X,D,R)−キャッシュ不能 A.メインメモリからCPUへワードの読取。
キャッシュからメモリへの共通書込 ST(0,0,1,X,X,D,R)−共通、ライトスルー 全てのキャッシュがバスを検査し、ヒットがあると、キ
ャッシュ内のラインを無効化する。ヒットが無い場合に
は、バスを無視。
ャッシュ内のラインを無効化する。ヒットが無い場合に
は、バスを無視。
I/Oシステムがキャッシュ又はメインメモリからデータ
を読み取っている時に、実アドレスがキャッシュによっ
て検査され且つ以下の動作が行われる。TLBはアクセス
されない。
を読み取っている時に、実アドレスがキャッシュによっ
て検査され且つ以下の動作が行われる。TLBはアクセス
されない。
A.LVは1及びHIT、且つLDは1キャッシュからI/Oへワー
ド又はラインの読取。
ド又はラインの読取。
B.ミス:メモリからI/Oへワード、カッド語、又は16ワ
ードの読取。
ードの読取。
メインメモリへのI/Oが行われている時に、実アドレス
はキャッシュによって検査され且つ以下の動作が行われ
る。TLBはアクセスされない、従ってダーティビットは
ページテーブル又はTLB内において変化されない。
はキャッシュによって検査され且つ以下の動作が行われ
る。TLBはアクセスされない、従ってダーティビットは
ページテーブル又はTLB内において変化されない。
A.LVは1及びHIT:I/Oからメモリへのワード、カッド
語、又は16ワードの書込。キャッシュ内の1本又は複数
本のラインを無効化。
語、又は16ワードの書込。キャッシュ内の1本又は複数
本のラインを無効化。
B.ミス:I/Oからメモリへのワード、カッド語、又は16ワ
ードの書込。
ードの書込。
仮想アドレスから実アドレスへのマッピングシステム情
報は、キャッシュメモリサブシステムのW及びX半分の
各々に対して各ライン内に一義的にストアされる。これ
は仮想から実へのアドレスの極めて高速の変換を与えて
仮想から実へのアドレス空間のマッピングを加速し、第
1図のI/Oプロセサ150を介しての如く、二次的記憶シス
テムと共に必要な入出力スワッピング手順を簡単化させ
ている。TLBメモリサブシステム350内の各記憶ラインに
おけるシステム情報は、全ての必要な保護及び再書込情
報を与える。各サブシステムラインの使用済みビット
は、メモリサブシステムの最も最近ではなく使用された
半分内への再書込の表示を与える。その他の交換作戦を
実施することも可能である。
報は、キャッシュメモリサブシステムのW及びX半分の
各々に対して各ライン内に一義的にストアされる。これ
は仮想から実へのアドレスの極めて高速の変換を与えて
仮想から実へのアドレス空間のマッピングを加速し、第
1図のI/Oプロセサ150を介しての如く、二次的記憶シス
テムと共に必要な入出力スワッピング手順を簡単化させ
ている。TLBメモリサブシステム350内の各記憶ラインに
おけるシステム情報は、全ての必要な保護及び再書込情
報を与える。各サブシステムラインの使用済みビット
は、メモリサブシステムの最も最近ではなく使用された
半分内への再書込の表示を与える。その他の交換作戦を
実施することも可能である。
モノリシック集積化キャッシュMMUにおける如く高速通
信構成が与えられる場合、このキャッシュMMUシステム
アーキテクチャーは非常に高速のキャッシュシステム動
作を向上させ且つ偉大な適用多様性を与える。
信構成が与えられる場合、このキャッシュMMUシステム
アーキテクチャーは非常に高速のキャッシュシステム動
作を向上させ且つ偉大な適用多様性を与える。
第14図に示した如く、カッド語境界はラインレジスタア
ーキテクチャーにおいて効果的に使用することが可能で
ある。第9図のキャッシュメモリ320のメモリアレイは
ラインレジス400へ接続されており、そのレジスタはラ
イン境界内に4ワードのワード記憶を有している。キャ
ッシュメモリ320はキャッシュヒット当りラインレジス
タ400へ一度に4つのワードを出力し、該レジスタは選
択的にストアすると共に該ワード出力をキャッシュメモ
リサブシステム320から、第8図のCOR230の如きキャッ
シュ出力レジスタへ転送する。この転送は、“カッド境
界ゼロに等しい”比較器出力が発生すると、クリアす
る。キャッシュMMUシステムのシステムインターフェー
スのキャッシュ出力レジスタの出力は、その後プロセサ
/キャッシュバス(即ち、バス121又は131、及び第1図
のバス115)のアドレスデータ機能コード(即ち、ADF)
バスへ供給される。
ーキテクチャーにおいて効果的に使用することが可能で
ある。第9図のキャッシュメモリ320のメモリアレイは
ラインレジス400へ接続されており、そのレジスタはラ
イン境界内に4ワードのワード記憶を有している。キャ
ッシュメモリ320はキャッシュヒット当りラインレジス
タ400へ一度に4つのワードを出力し、該レジスタは選
択的にストアすると共に該ワード出力をキャッシュメモ
リサブシステム320から、第8図のCOR230の如きキャッ
シュ出力レジスタへ転送する。この転送は、“カッド境
界ゼロに等しい”比較器出力が発生すると、クリアす
る。キャッシュMMUシステムのシステムインターフェー
スのキャッシュ出力レジスタの出力は、その後プロセサ
/キャッシュバス(即ち、バス121又は131、及び第1図
のバス115)のアドレスデータ機能コード(即ち、ADF)
バスへ供給される。
アキュムレータレジスタ(即ち、第9図の310)も又プ
ロセサ/キャッシュインターフェースバスへ接続されて
そこからアドレス情報を受け取る。キャッシュメモリ管
理ユニットがデータキャッシュとして構成される場合、
アキュムレータレジスタはキャッシュメモリサブシステ
ムによって使用する為にプロセサ/キャッシュバスから
のアドレスをストアする。命令キャッシュとして構成さ
れる場合には、アキュムレータレジスタ310はプログラ
ムカウンタとして構成されて、プロセサ/キャッシュイ
ンターフェースバスからアドレス情報を受け取ると共
に、新たに権利が与えられたアドレスがプロセサ/キャ
ッシュバスから受けとられる迄それ自身インクリメント
する。
ロセサ/キャッシュインターフェースバスへ接続されて
そこからアドレス情報を受け取る。キャッシュメモリ管
理ユニットがデータキャッシュとして構成される場合、
アキュムレータレジスタはキャッシュメモリサブシステ
ムによって使用する為にプロセサ/キャッシュバスから
のアドレスをストアする。命令キャッシュとして構成さ
れる場合には、アキュムレータレジスタ310はプログラ
ムカウンタとして構成されて、プロセサ/キャッシュイ
ンターフェースバスからアドレス情報を受け取ると共
に、新たに権利が与えられたアドレスがプロセサ/キャ
ッシュバスから受けとられる迄それ自身インクリメント
する。
アキュムレータレジスタ310からの出力は、カッドライ
ン境界レジスタ410、カッド境界比較器420、及び状態制
御論理430へ供給される。カッド語ライン境界レジスタ4
10は、ラインレジスタ400内にストアされたワードに対
してのカッド語ライン境界の開始アドレスをストアす
る。
ン境界レジスタ410、カッド境界比較器420、及び状態制
御論理430へ供給される。カッド語ライン境界レジスタ4
10は、ラインレジスタ400内にストアされたワードに対
してのカッド語ライン境界の開始アドレスをストアす
る。
カッド語ライン境界レジスタ410の出力はカッド語ライ
ン境界比較器420へ供給される。比較器420は、レジスタ
410出力をアドレスレジスタ(即ち、アキュムレータレ
ジスタ310)の仮想アドレス出力と比較し、要求された
ワードがラインレジスタ400用の現在のカッド語境界内
であるか否かを決定する。次きで、状態制御論理430
は、ラインレジスタ400出力又はキャッシュメモリサブ
システム320へのアクセスの何れかの選択を決定する。
次いで、制御論理430は選択的にマルチプレクス動作し
て、ラインレジスタから適宜のワードを選択する。
ン境界比較器420へ供給される。比較器420は、レジスタ
410出力をアドレスレジスタ(即ち、アキュムレータレ
ジスタ310)の仮想アドレス出力と比較し、要求された
ワードがラインレジスタ400用の現在のカッド語境界内
であるか否かを決定する。次きで、状態制御論理430
は、ラインレジスタ400出力又はキャッシュメモリサブ
システム320へのアクセスの何れかの選択を決定する。
次いで、制御論理430は選択的にマルチプレクス動作し
て、ラインレジスタから適宜のワードを選択する。
第15図は、第1図のキャッシュMMUシステム120及び130
用のロードタイミングを示している。好適実施例におい
て、これはカッド語又は16ワード境界内のデータであ
る。別法として、これは任意の寸法のブロックのデータ
とすることが可能である。第15図は、CPU110からローデ
ィングするデータキャッシュ130の動作、又はブランチ
動作上でローディングする命令キャッシュ120の動作を
示している。第1図のシステムクロック160のマスタク
ロックMCLK信号出力は第15図の上部に示してあり、タイ
ムチャートはロードサイクルの開始から0,30,60,90及び
120ナノ秒(即ち、ns)の点を示している。
用のロードタイミングを示している。好適実施例におい
て、これはカッド語又は16ワード境界内のデータであ
る。別法として、これは任意の寸法のブロックのデータ
とすることが可能である。第15図は、CPU110からローデ
ィングするデータキャッシュ130の動作、又はブランチ
動作上でローディングする命令キャッシュ120の動作を
示している。第1図のシステムクロック160のマスタク
ロックMCLK信号出力は第15図の上部に示してあり、タイ
ムチャートはロードサイクルの開始から0,30,60,90及び
120ナノ秒(即ち、ns)の点を示している。
このサイクルの開始において、有効なアドレスがCPUか
ら夫々のキャッシュMMUシステムのアキュムレータレジ
スタへロードされ、且つ機能コードが与えられて、本明
細書の他の個所において詳細に説明した如く、転送のタ
イプを表す。ASF信号が有効でアドレスストローブが進
行中であることを表す時に0ns点が発生する。要求され
たデータが新たなアクセス用のカッドライン境界上であ
ると、そのデータはMCLKの90ns点と120ns点との間の中
間点において得られる。然し乍ら、アクセスがカッド語
境界内の要求に対してのものである場合、データアクセ
スタイミングは、ADF信号波形上に想像線で示した如
く、一層早く(例えば、60ns点において)、カッドライ
ン境界内のデータ転送を表す。
ら夫々のキャッシュMMUシステムのアキュムレータレジ
スタへロードされ、且つ機能コードが与えられて、本明
細書の他の個所において詳細に説明した如く、転送のタ
イプを表す。ASF信号が有効でアドレスストローブが進
行中であることを表す時に0ns点が発生する。要求され
たデータが新たなアクセス用のカッドライン境界上であ
ると、そのデータはMCLKの90ns点と120ns点との間の中
間点において得られる。然し乍ら、アクセスがカッド語
境界内の要求に対してのものである場合、データアクセ
スタイミングは、ADF信号波形上に想像線で示した如
く、一層早く(例えば、60ns点において)、カッドライ
ン境界内のデータ転送を表す。
第16図を参照すると、第1図のキャッシュMMUシステム1
20及び130用のストア動作は、コピーバックモードでCPU
からキャッシュへの記憶、更に書き通し即ちライトスル
ーモードの為にメインメモリ140への記憶を行うもので
ある。マスタクロックMCLKは、基準ラインとして、第15
図に図示した如く、システムクロック160から出力され
る。時間T1において、アドレスストローブ信号が活性化
され、有効アドレスが続くことを表す。時間T2におい
て、MCLKクロックの約4分の1後、有効アドレス及び機
能コード出力がプロセサ/キャッシュインターフェース
バス、PDF及びFC、の夫々の適宜のライン上に受け取ら
れる。時間T3において、アドレスラインは3状態(フロ
ート)であり且つデータはキャッシュメモリ及び/又は
メインメモリへ適宜書き込まれる。複数個のデータワー
ドを転送することが可能である。単一のカッド又は16ワ
ードモードはFCライン上の機能コードによって決定され
る。時間T4において、応答コードが出力され、転送が完
了したことを表し、サイクルを終了する。
20及び130用のストア動作は、コピーバックモードでCPU
からキャッシュへの記憶、更に書き通し即ちライトスル
ーモードの為にメインメモリ140への記憶を行うもので
ある。マスタクロックMCLKは、基準ラインとして、第15
図に図示した如く、システムクロック160から出力され
る。時間T1において、アドレスストローブ信号が活性化
され、有効アドレスが続くことを表す。時間T2におい
て、MCLKクロックの約4分の1後、有効アドレス及び機
能コード出力がプロセサ/キャッシュインターフェース
バス、PDF及びFC、の夫々の適宜のライン上に受け取ら
れる。時間T3において、アドレスラインは3状態(フロ
ート)であり且つデータはキャッシュメモリ及び/又は
メインメモリへ適宜書き込まれる。複数個のデータワー
ドを転送することが可能である。単一のカッド又は16ワ
ードモードはFCライン上の機能コードによって決定され
る。時間T4において、応答コードが出力され、転送が完
了したことを表し、サイクルを終了する。
両方のコピーバック及びライトスルーメインメモリ140
アップデート作戦はキャッシュMMU内で得られ、且つペ
ージ毎に混合させることが可能である。ページテーブル
内に位置されている制御ビットはTLB内にロードされて
どの作戦を使用すべきかを決定する。
アップデート作戦はキャッシュMMU内で得られ、且つペ
ージ毎に混合させることが可能である。ページテーブル
内に位置されている制御ビットはTLB内にロードされて
どの作戦を使用すべきかを決定する。
コピーバックは通常一層高い性能を発生する。データ
は、それがキャッシュMMUから除去された時にのみメイ
ンメモリへ書き戻される。これらの書込は、キャッシュ
内へのブロックのフェッチとかなりオーバーラップする
ことが可能である。従って、コピーバックは通常バスト
ラフィックを節減し、連続する書込の順番待ちに起因す
る遅延を最小とする。
は、それがキャッシュMMUから除去された時にのみメイ
ンメモリへ書き戻される。これらの書込は、キャッシュ
内へのブロックのフェッチとかなりオーバーラップする
ことが可能である。従って、コピーバックは通常バスト
ラフィックを節減し、連続する書込の順番待ちに起因す
る遅延を最小とする。
ライトスルーは2つの利点を持っている。第1に、メイ
ンメモリは常にアップツーデイトであり、システムの信
頼性は改善されている。何故ならば、キャッシュチップ
又はプロセサ故障はメインメモリ内容の喪失を発生させ
ることはないからである。第2に、マルチプロセサシス
テムにおいて、ライトスルーはプロセサ同士で共用され
ているメインメモリ間の一貫性を維持することを容易と
する。
ンメモリは常にアップツーデイトであり、システムの信
頼性は改善されている。何故ならば、キャッシュチップ
又はプロセサ故障はメインメモリ内容の喪失を発生させ
ることはないからである。第2に、マルチプロセサシス
テムにおいて、ライトスルーはプロセサ同士で共用され
ているメインメモリ間の一貫性を維持することを容易と
する。
オペレーティングシステムは、ライトスルー対コピーバ
ックを決定するこれらのタグをユーザに使用可能とさせ
ることが可能であり、従ってユーザは適切な選択を行う
ことが可能である。
ックを決定するこれらのタグをユーザに使用可能とさせ
ることが可能であり、従ってユーザは適切な選択を行う
ことが可能である。
第17A図及び第17B図は、CPU410と、キャッシュMMU412
と、メインメモリ414との間の動作のデータの流れを示
している。第17A図を参照すると、コピーバック高速書
込動作用のデータの流れを示してある。CPU410は、キャ
ッシュメモリ管理ユニット412内に格納する為のデータ
を出力する。これはその位置でのキャッシュメモリの内
容をよごし即ちダーティ状態とする。パージと共に、キ
ャッシュメモリ管理ユニット412はダーティデータをメ
インメモリ414内の夫々の専有ページへ再書込を行う。
プロセサ410は、パージされているキャッシュMMU412記
憶位置内へ新たなデータを同時的に書き込むことが可能
である。これは全体的に高速の書込動作とする利点を与
えている。
と、メインメモリ414との間の動作のデータの流れを示
している。第17A図を参照すると、コピーバック高速書
込動作用のデータの流れを示してある。CPU410は、キャ
ッシュメモリ管理ユニット412内に格納する為のデータ
を出力する。これはその位置でのキャッシュメモリの内
容をよごし即ちダーティ状態とする。パージと共に、キ
ャッシュメモリ管理ユニット412はダーティデータをメ
インメモリ414内の夫々の専有ページへ再書込を行う。
プロセサ410は、パージされているキャッシュ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からCPU51へロードされる。キャッ
シュミスの場合、ステップ3において、データはメイン
メモリ516からキャッシュメモリサブシステム512へ且つ
CPU510へロードされる。コピーバックモードにおいてキ
ャッシュミスの場合、ダーティデータがキャッシュ内に
存在すると(即ち、ダーティビットがセット)、メモリ
サブシステム512はダーティデータをメインメモリ516へ
出力する。
はコピーバック及びライトスルー両方のモードの為にキ
ャッシュメモリサブシステム512内に記憶し、且つ付加
的にライトスルーモードの為にメインメモリ516内に記
憶する為にCPU510から書き出される。ロードモード動作
の場合、ステップ3においては、データがキャッシュメ
モリサブシステム512からCPU51へロードされる。キャッ
シュミスの場合、ステップ3において、データはメイン
メモリ516からキャッシュメモリサブシステム512へ且つ
CPU510へロードされる。コピーバックモードにおいてキ
ャッシュミスの場合、ダーティデータがキャッシュ内に
存在すると(即ち、ダーティビットがセット)、メモリ
サブシステム512はダーティデータをメインメモリ516へ
出力する。
第19図を参照すると、DAT及びTLBアドレス変換プロセス
のデータの流れ及び動作が示されている。仮想アドレス
が実アドレスへの変換を必要とし、且つ要求された変換
に対応する変換値がキャッシュメモリ管理ユニットシス
テム内にストアされて存在しない場合、第19図に示した
動作が発生する。仮想アドレスレジスターアキュムレー
タ(即ち、第9図の310)内にストアされて要求された
仮想アドレスが、変換を必要とする仮想アドレス“VA"
(例えば、32ビット)を与える。第7C図を参照して説明
した如く、仮想アドレスは、10ビットのセグメントデー
タ仮想アドレスVA<31:22>、10ビットのページアドレ
スVA<21:12>、及び12ビットの変位アドレスVA<11:0
>を有している。
のデータの流れ及び動作が示されている。仮想アドレス
が実アドレスへの変換を必要とし、且つ要求された変換
に対応する変換値がキャッシュメモリ管理ユニットシス
テム内にストアされて存在しない場合、第19図に示した
動作が発生する。仮想アドレスレジスターアキュムレー
タ(即ち、第9図の310)内にストアされて要求された
仮想アドレスが、変換を必要とする仮想アドレス“VA"
(例えば、32ビット)を与える。第7C図を参照して説明
した如く、仮想アドレスは、10ビットのセグメントデー
タ仮想アドレスVA<31:22>、10ビットのページアドレ
スVA<21:12>、及び12ビットの変位アドレスVA<11:0
>を有している。
DAT論理は、TLBにミスがある場合に、ダイナミックアド
レス変換を実行する。DAT論理は、書込レジスタが空に
なるのを待ち、次いでメインメモリへの2つの読取アク
セスを実行する。第1読取はセグメント番号をセグメン
トテーブルオリジン(STO)へ加算し、且つページテー
ブルのアドレスを得る。第2読取はページ番号をページ
テーブルオリジンへ加算し、且つ、保護ビット、コピー
バック/ライトスルーステータス、ダーティビット等の
他の有用な情報のみならず、ページの実アドレスを得
る。各新たなユーザ又はプロセスの場合、新たなセグメ
ントテーブルオリジンを使用することが可能である。DA
TにおけるSTOレジスタはCPU制御の下でロードされる。
2つのSTOレジスタ、即ちユーザモード用に1つと、ス
ーパーバイザモード用に1つとがある。ハードウエア
は、プロセサステータスワード(PSW)におけるモード
に従って、適切なレジスタを自動的に選択する。
レス変換を実行する。DAT論理は、書込レジスタが空に
なるのを待ち、次いでメインメモリへの2つの読取アク
セスを実行する。第1読取はセグメント番号をセグメン
トテーブルオリジン(STO)へ加算し、且つページテー
ブルのアドレスを得る。第2読取はページ番号をページ
テーブルオリジンへ加算し、且つ、保護ビット、コピー
バック/ライトスルーステータス、ダーティビット等の
他の有用な情報のみならず、ページの実アドレスを得
る。各新たなユーザ又はプロセスの場合、新たなセグメ
ントテーブルオリジンを使用することが可能である。DA
TにおけるSTOレジスタはCPU制御の下でロードされる。
2つのSTOレジスタ、即ちユーザモード用に1つと、ス
ーパーバイザモード用に1つとがある。ハードウエア
は、プロセサステータスワード(PSW)におけるモード
に従って、適切なレジスタを自動的に選択する。
ページテーブルにおけるアクセス保護ビットは、保護侵
害に対するDAT論理によってチェックされる。それらが
発生すると、CPUトラップが発生される。メインメモリ
を読取している間のDAT動作期間中に、データは訂正さ
れずに従って疑わしい場合、パリティエラーが発生する
と、CPUトラップが発生される。
害に対するDAT論理によってチェックされる。それらが
発生すると、CPUトラップが発生される。メインメモリ
を読取している間のDAT動作期間中に、データは訂正さ
れずに従って疑わしい場合、パリティエラーが発生する
と、CPUトラップが発生される。
ページテーブル又はセグメントテーブル内のPFビットは
ページ障害表示である。そのビットはソフトウエアによ
ってセット又はリセットされる。
ページ障害表示である。そのビットはソフトウエアによ
ってセット又はリセットされる。
本システムは、仮想アドレス動作無しの場合、非マップ
モードとなることが可能である。このモードの場合、DA
T機能は不活性であり且つ保護ビットは使用されない。
然し乍ら、このモードは、本システムがバッグや悪性の
ダメージに弱いので、ほんとにたまに使用すべきであ
る。
モードとなることが可能である。このモードの場合、DA
T機能は不活性であり且つ保護ビットは使用されない。
然し乍ら、このモードは、本システムがバッグや悪性の
ダメージに弱いので、ほんとにたまに使用すべきであ
る。
DAT論理が変換を完了した後、仮想アドレス、実アドレ
ス、及びシステムタグはTLBへ送られ、そこでそれらは
繰り返される迄将来使用する為にストアされる。
ス、及びシステムタグはTLBへ送られ、そこでそれらは
繰り返される迄将来使用する為にストアされる。
DATは以下のメモリマップドI/Oコマンドに応答する。
*ロードスーパーバイザSTOレジスタ(特権) *読取スーパーバイザSTOレジスタ *ロードユーザSTOレジスタ(特権) *読取ユーザSTOレジスタ *ページ又は保護障害を発生した読取仮想アドレス これは第22図を参照してより詳細に説明する。
第21図を参照して後に説明する如く、キャッシュメモリ
管理ユニットシステムはレジスタスタックを有してい
る。このレジスタスタックは、その中に、夫々のキャッ
シュメモリ管理ユニットに対してその時に現在のスーパ
ーバイザ及びユーザに対してスーパーバイザ及びユーザ
セグメントテーブルオリジンの各々に対してセグメント
テーブルオリジン(即ち、STO)を内蔵している。セグ
メントテーブルオリジンレジスタは32ビット値を有して
おり、その最高位20ビットはセグメントオリジン値を表
している。第19図に示した如く、このSTO値はSTOエント
リアドレスアキュムレータ内のワードの最高位部分とし
て連結されており、仮想アドレスレジスタ310からの10
ビットセグメントアドレスはSTOエントリアドレスアキ
ュムレータ内のワードの次の最高位部分として連結され
ている。その結果得られる30ビットアドレスは、メイン
メモリ内のセグメントテーブルに対するポインタを形成
する。
管理ユニットシステムはレジスタスタックを有してい
る。このレジスタスタックは、その中に、夫々のキャッ
シュメモリ管理ユニットに対してその時に現在のスーパ
ーバイザ及びユーザに対してスーパーバイザ及びユーザ
セグメントテーブルオリジンの各々に対してセグメント
テーブルオリジン(即ち、STO)を内蔵している。セグ
メントテーブルオリジンレジスタは32ビット値を有して
おり、その最高位20ビットはセグメントオリジン値を表
している。第19図に示した如く、このSTO値はSTOエント
リアドレスアキュムレータ内のワードの最高位部分とし
て連結されており、仮想アドレスレジスタ310からの10
ビットセグメントアドレスはSTOエントリアドレスアキ
ュムレータ内のワードの次の最高位部分として連結され
ている。その結果得られる30ビットアドレスは、メイン
メモリ内のセグメントテーブルに対するポインタを形成
する。
キャッシュメモリ管理ユニット内のセグメントテーブル
エントリアドレス(即ち、STOEA)アキュムレータは、
メインメモリ内のセグメントテーブルをアドレスすべく
メインメモリへ出力されるべきアドレスを蓄積し且つ連
結する。セグメントテーブルオリジン20ビットをアドレ
スビットSTOEA<31:12>として使用し、仮想アドレスセ
グメントビット[VA31:22]をセグメントテーブルアド
レスの次の10ビットSTOEA<11:2>として使用し、且つS
TOEAアキュムレータからメインメモリへ出力されるセグ
メントテーブルアドレスのビット位置STOEA<1:0>に対
してゼロを連続即ち連接することによって32ビットのア
ドレスが構成される。キャッシュMMUのセグメントテー
ブルエントリアドレスアキュムレータから出力されるセ
グメントテーブルエントリアドレスは、システムバスを
介してメインメモリへ出力される。これは、キャッシュ
MMUシステムから出力されるセグメントテーブルエント
リアドレスに対応するメインメモリ内のセグメントテー
ブル内の夫々のページテーブルエントリ(即ち、PTE)
へアクセスを与える。アドレスされたメインメモリ位置
の最高位20データビット、31:12は、キャッシュMMUシス
テムのDAT内のページテーブルエントリアドレス(即
ち、PTEA)アキュムレータ内に記憶する為にメインメモ
リからキャッシュMMUへ出力される。ページテーブルエ
ントリアドレスのこれらの20ビットは32ビットワードの
最高位20ビットとしてP.T.E.A.アキュムレータ内に連接
される。次に最高位の10ビットは、ページ選択ビットを
表している仮想アドレスレジスタ310ビットVA<21:12>
からの出力と連接される。ページテーブルエントリアド
レスアキュムレータ出力の最小2桁ビットはゼロであ
る。キャッシュMMUのページテーブルエントリアドレス
アキュムレータは、システムバスを介して、メインメモ
リへ32ビットアドレスを出力する。
エントリアドレス(即ち、STOEA)アキュムレータは、
メインメモリ内のセグメントテーブルをアドレスすべく
メインメモリへ出力されるべきアドレスを蓄積し且つ連
結する。セグメントテーブルオリジン20ビットをアドレ
スビットSTOEA<31:12>として使用し、仮想アドレスセ
グメントビット[VA31:22]をセグメントテーブルアド
レスの次の10ビットSTOEA<11:2>として使用し、且つS
TOEAアキュムレータからメインメモリへ出力されるセグ
メントテーブルアドレスのビット位置STOEA<1:0>に対
してゼロを連続即ち連接することによって32ビットのア
ドレスが構成される。キャッシュMMUのセグメントテー
ブルエントリアドレスアキュムレータから出力されるセ
グメントテーブルエントリアドレスは、システムバスを
介してメインメモリへ出力される。これは、キャッシュ
MMUシステムから出力されるセグメントテーブルエント
リアドレスに対応するメインメモリ内のセグメントテー
ブル内の夫々のページテーブルエントリ(即ち、PTE)
へアクセスを与える。アドレスされたメインメモリ位置
の最高位20データビット、31:12は、キャッシュMMUシス
テムのDAT内のページテーブルエントリアドレス(即
ち、PTEA)アキュムレータ内に記憶する為にメインメモ
リからキャッシュMMUへ出力される。ページテーブルエ
ントリアドレスのこれらの20ビットは32ビットワードの
最高位20ビットとしてP.T.E.A.アキュムレータ内に連接
される。次に最高位の10ビットは、ページ選択ビットを
表している仮想アドレスレジスタ310ビットVA<21:12>
からの出力と連接される。ページテーブルエントリアド
レスアキュムレータ出力の最小2桁ビットはゼロであ
る。キャッシュMMUのページテーブルエントリアドレス
アキュムレータは、システムバスを介して、メインメモ
リへ32ビットアドレスを出力する。
ページテーブルエントリアドレスは、メインメモリ内の
ページテーブル内のラインへのエントリ点を選択する。
ページテーブル内の各ラインは、複数のフィールドを有
しており、対応する仮想アドレスに対して、変換された
実アドレス、システムタグ、保護、ダーティ、参照、及
びページ障害値を有している。図示した如く、ページテ
ーブルからの選択されたラインは、20ビットの実アドレ
ス“RA"、5ビットのシステムタグ情報ST、4ビットの
保護レベル情報PL、1ビットのダーティ情報D、1ビッ
トの参照情報R、及びページ障害情報PFを有している。
これらのフィールドは第11A図及び第11B図を参照して詳
細に説明してある。
ページテーブル内のラインへのエントリ点を選択する。
ページテーブル内の各ラインは、複数のフィールドを有
しており、対応する仮想アドレスに対して、変換された
実アドレス、システムタグ、保護、ダーティ、参照、及
びページ障害値を有している。図示した如く、ページテ
ーブルからの選択されたラインは、20ビットの実アドレ
ス“RA"、5ビットのシステムタグ情報ST、4ビットの
保護レベル情報PL、1ビットのダーティ情報D、1ビッ
トの参照情報R、及びページ障害情報PFを有している。
これらのフィールドは第11A図及び第11B図を参照して詳
細に説明してある。
TLBのメモリアレイ内に格納する為に、ページテーブル
からの選択されたラインはメインメモリからキャッシュ
MMU内のTLBへ転送される。次に、ページテーブル内の丁
度参照したラインに対して、TLBからの20ビットの実ア
ドレスは出力され且つキャッシュMMU内の実アドレスア
キュムレータの最高位20ビットへ供給される。これらの
20ビットは、最高位20ビットとして実アドレスアキュム
レータ内に連接され、仮想アドレスレジスタ310の最小1
2桁ビットVA<11:0>と共に、実アドレスアキュムレー
タからの32ビット実アドレス出力を与える。この実アド
レスアキュムレータからの出力は、次いで、システムバ
スを介して、メインメモリへ出力されて、所望の実アド
レス位置を選択する。この実アドレス出力に応答して、
ブロックのワードが格納される為にキャッシュメモリサ
ブシステムへ転送される。次いで、キャッシュMMUは、
初期的に要求された1つ又はそれ以上のワードの情報を
CPUへ転送する。第19図に示した手順は、レジスタアキ
ュムレータ310内に収納されている仮想アドレスがキャ
ッシュMMUのTLB内にストアされている対応する変換値を
持っていない場合にのみ必要とされる。従って、キャッ
シュMMU内に現在ストアされている何れのアドレス可能
な位置に対しても、変換データは既に存在している。こ
れは、キャッシュからメインメモリへの書き戻しの全て
の場合を包含する。
からの選択されたラインはメインメモリからキャッシュ
MMU内のTLBへ転送される。次に、ページテーブル内の丁
度参照したラインに対して、TLBからの20ビットの実ア
ドレスは出力され且つキャッシュMMU内の実アドレスア
キュムレータの最高位20ビットへ供給される。これらの
20ビットは、最高位20ビットとして実アドレスアキュム
レータ内に連接され、仮想アドレスレジスタ310の最小1
2桁ビットVA<11:0>と共に、実アドレスアキュムレー
タからの32ビット実アドレス出力を与える。この実アド
レスアキュムレータからの出力は、次いで、システムバ
スを介して、メインメモリへ出力されて、所望の実アド
レス位置を選択する。この実アドレス出力に応答して、
ブロックのワードが格納される為にキャッシュメモリサ
ブシステムへ転送される。次いで、キャッシュMMUは、
初期的に要求された1つ又はそれ以上のワードの情報を
CPUへ転送する。第19図に示した手順は、レジスタアキ
ュムレータ310内に収納されている仮想アドレスがキャ
ッシュMMUのTLB内にストアされている対応する変換値を
持っていない場合にのみ必要とされる。従って、キャッ
シュMMU内に現在ストアされている何れのアドレス可能
な位置に対しても、変換データは既に存在している。こ
れは、キャッシュからメインメモリへの書き戻しの全て
の場合を包含する。
第20図を参照すると、キャッシュMMUのブロック線図が
示されている。第1図のキャッシュバス121又は131への
プロセサはCPUインターフェース600へ接続する。キャッ
シュメモリサブシステム610、TLBサブシステム620、レ
ジスタスタック630、システムインターフェース640、及
びマイクロプログラム化された制御及びDAT論理650は全
てCPUインターフェース600へ接続されている。仮想アド
レスバス(すなわち、VA)はCPUインターフェーッス60
からキャッシュサブシステム610、TLBサブシステム62
0、及びレジスタスタックサブシステム630の各々へ接続
されている。キャッシュサブシステム610からCPUインタ
ーフェース600へのデータ出力バス(即ち、DO)はDO[3
1:00]として示されている、キャッシュメモリサブシス
テム610のメモリサブシステムからのデータ出力を接続
する。
示されている。第1図のキャッシュバス121又は131への
プロセサはCPUインターフェース600へ接続する。キャッ
シュメモリサブシステム610、TLBサブシステム620、レ
ジスタスタック630、システムインターフェース640、及
びマイクロプログラム化された制御及びDAT論理650は全
てCPUインターフェース600へ接続されている。仮想アド
レスバス(すなわち、VA)はCPUインターフェーッス60
からキャッシュサブシステム610、TLBサブシステム62
0、及びレジスタスタックサブシステム630の各々へ接続
されている。キャッシュサブシステム610からCPUインタ
ーフェース600へのデータ出力バス(即ち、DO)はDO[3
1:00]として示されている、キャッシュメモリサブシス
テム610のメモリサブシステムからのデータ出力を接続
する。
nDT[31:00]として示されている双方向性データバス
は、キャッシュMMUによって行われている動作に従っ
て、データ、仮想アドレス、実アドレス、又は機能コー
ドの選択的結合を与える。nDTバスは、キャッシュMMUシ
ステム要素600、610、620、630、640、及び650と接続す
る。システムインターフェース640は一方の側でシステ
ムバスと接続し、且つ内部キャッシュMMU側でnDTバス及
びSYRAバスへ接続する。SYRAバスは、システムインター
フェース640を介して、システムバスからの実アドレス
を、TLB620及びキャッシュサブシステム610へ供給す
る。図示した如く、該アドレスの変位部分を表している
最小12桁ビットは、キャッシュメモリサブシステム610
へ接続される。最高位20ビットのSYRA[31:12]は、SYR
AバスからTLBサブシステム620へ接続される。制御及びD
AT論理650は、TLB620ミス又はキャッシュサブシステム6
10ミスの後にシステムバスインターフェースと共同し、
且つDAT動作を制御する。
は、キャッシュMMUによって行われている動作に従っ
て、データ、仮想アドレス、実アドレス、又は機能コー
ドの選択的結合を与える。nDTバスは、キャッシュMMUシ
ステム要素600、610、620、630、640、及び650と接続す
る。システムインターフェース640は一方の側でシステ
ムバスと接続し、且つ内部キャッシュMMU側でnDTバス及
びSYRAバスへ接続する。SYRAバスは、システムインター
フェース640を介して、システムバスからの実アドレス
を、TLB620及びキャッシュサブシステム610へ供給す
る。図示した如く、該アドレスの変位部分を表している
最小12桁ビットは、キャッシュメモリサブシステム610
へ接続される。最高位20ビットのSYRA[31:12]は、SYR
AバスからTLBサブシステム620へ接続される。制御及びD
AT論理650は、TLB620ミス又はキャッシュサブシステム6
10ミスの後にシステムバスインターフェースと共同し、
且つDAT動作を制御する。
第21図を参照すると、第20図のより詳細なブロック図が
示されている。CPUインターフェース600の、キャッシュ
出力レジスタ601、キャッシュ入力レジスタ603、及びア
ドレス入力レジスタ605は第8図に一層詳細に示してあ
る。第21図は、読取/修正/書込動作、機能コードレジ
スタ606、及びトラップエンコーダ607を実行する為のマ
ルチプレクサ602、読取−書込論理604を更に示してあ
る。
示されている。CPUインターフェース600の、キャッシュ
出力レジスタ601、キャッシュ入力レジスタ603、及びア
ドレス入力レジスタ605は第8図に一層詳細に示してあ
る。第21図は、読取/修正/書込動作、機能コードレジ
スタ606、及びトラップエンコーダ607を実行する為のマ
ルチプレクサ602、読取−書込論理604を更に示してあ
る。
読取/修正/書込論理604は、キャッシュメモリサブシ
ステム610のキャッシュメモリ611からのマルチプレクサ
614を介して、及びキャッシュ出力レジスタ601へ及びそ
こからプロセサ/キャッシュバスへの選択的相互接続の
為のCPUインターフェース600のマルチプレクサ602を介
して、キャッシュメモリサブシステム出力のマルチプレ
クス動作を調整する。別法として、マルチプレクサ602
は、キャッシュMMUシステム内部のnDTバスを介してシス
テムバスインターフェース640から、又は読取/修正/
書込論理604からのデータを受け取ることが可能であ
る。RMW論理604は、それへの入力として、キャッシュ出
力レジスタ601出力、及びキャッシュ入力レジスタ603出
力を持っている。機能コードレジスタ606及びトラップ
コードエンコーダ607はプロセサへ接続される。機能コ
ードレジスタ606は、キャッシュMMUシステムの他の部分
へ信号を供給する為にプロセサから受けとられる機能コ
ードに応答する。トラップ論理607は、キャッシュMMUシ
ステム内からのエラー障害に応答し且つ与えられたエラ
ー障害に対してトラップ論理に応答してプロセサへ出力
を供給する。
ステム610のキャッシュメモリ611からのマルチプレクサ
614を介して、及びキャッシュ出力レジスタ601へ及びそ
こからプロセサ/キャッシュバスへの選択的相互接続の
為のCPUインターフェース600のマルチプレクサ602を介
して、キャッシュメモリサブシステム出力のマルチプレ
クス動作を調整する。別法として、マルチプレクサ602
は、キャッシュMMUシステム内部のnDTバスを介してシス
テムバスインターフェース640から、又は読取/修正/
書込論理604からのデータを受け取ることが可能であ
る。RMW論理604は、それへの入力として、キャッシュ出
力レジスタ601出力、及びキャッシュ入力レジスタ603出
力を持っている。機能コードレジスタ606及びトラップ
コードエンコーダ607はプロセサへ接続される。機能コ
ードレジスタ606は、キャッシュMMUシステムの他の部分
へ信号を供給する為にプロセサから受けとられる機能コ
ードに応答する。トラップ論理607は、キャッシュMMUシ
ステム内からのエラー障害に応答し且つ与えられたエラ
ー障害に対してトラップ論理に応答してプロセサへ出力
を供給する。
第9図を参照して説明した如く、キャッシュメモリサブ
システム610は、2つの64ラインキャッシュストアを持
ったキャッシュメモリアレイ611を有している。キャッ
シュメモリアレイ611のWおよびX半分の各々からのカ
ッド語出力は、夫々のカッド語ラインレジスタ612及び6
16へ供給される。カッド語レジスタ612及び616は各々、
CPUインターフェース600を介してプロセサ/キャッシュ
バスへ又はシステムインターフェース640を介してシス
テムバスへ接続する為に、nDTバスへ独立的に接続され
ている。
システム610は、2つの64ラインキャッシュストアを持
ったキャッシュメモリアレイ611を有している。キャッ
シュメモリアレイ611のWおよびX半分の各々からのカ
ッド語出力は、夫々のカッド語ラインレジスタ612及び6
16へ供給される。カッド語レジスタ612及び616は各々、
CPUインターフェース600を介してプロセサ/キャッシュ
バスへ又はシステムインターフェース640を介してシス
テムバスへ接続する為に、nDTバスへ独立的に接続され
ている。
キャッシュメモリアレイ611のW及びX半分からの実ア
ドレス出力は、比較器615及び617の夫々の各々1入力へ
接続されており、その各々はヒット/ミス信号出力を与
える。比較器615及び617の各々の他方の入力はマルチプ
レクサ618の出力へ接続される。マルチプレクサ618は実
アドレスを出力する。実アドレス入力は、SYRAバスを介
してシステムバスインターフェース640から、且つCPUイ
ンターフェース600を介してプロセサ/キャッシュバス
から受け取られる物理的アドレスに応答してTLBメモリ
アレイ621から変換された実アドレスを与えるTLBサブシ
ステム620のマルチプレクサ622からマルチプレクサ618
へ供給される。
ドレス出力は、比較器615及び617の夫々の各々1入力へ
接続されており、その各々はヒット/ミス信号出力を与
える。比較器615及び617の各々の他方の入力はマルチプ
レクサ618の出力へ接続される。マルチプレクサ618は実
アドレスを出力する。実アドレス入力は、SYRAバスを介
してシステムバスインターフェース640から、且つCPUイ
ンターフェース600を介してプロセサ/キャッシュバス
から受け取られる物理的アドレスに応答してTLBメモリ
アレイ621から変換された実アドレスを与えるTLBサブシ
ステム620のマルチプレクサ622からマルチプレクサ618
へ供給される。
カッド語レジスタ612及び616の各々はマルチプレクサ61
4に接続する独立した出力を持っている。マルルプレク
サ614は、キャッシュ出力レジスタ601への選択的接続を
する為にマルチプレクサ602へ選択情報のワードを選択
的に出力する。
4に接続する独立した出力を持っている。マルルプレク
サ614は、キャッシュ出力レジスタ601への選択的接続を
する為にマルチプレクサ602へ選択情報のワードを選択
的に出力する。
第9図を参照して説明した如く、マルチプレクサ613
は、CPUインターフェース600から又はTLB620からの何れ
かから、実アドレスの下位部分を選択的にマルチプレク
サ613へ接続して、キャッシュメモリアレイ611への選択
的出力及び接続をし、その中のラインを選択する。
は、CPUインターフェース600から又はTLB620からの何れ
かから、実アドレスの下位部分を選択的にマルチプレク
サ613へ接続して、キャッシュメモリアレイ611への選択
的出力及び接続をし、その中のラインを選択する。
TLBメモリアレイ621は、アドレス入力レジスタ605を介
して出力として、nDTバスからのアドレス又はCPUインタ
ーフェース600から供給されるアドレスの何れかに応答
してその中の選択されたラインから出力を選択的に与え
る。アドレス入力レジスタ605の仮想アドレス出力の一
部(即ち、下位部分ビット12乃至0)は、TLBメモリサ
ブシステム621へ接続され、且つよい高位の部分(即
ち、ビット31乃至22)はTLB620の比較器623及び624の各
々の1入力へ接続されている。第9図を参照して説明し
た如く、W及びX半分の各々に対して、TLBメモリアレ
イサブシステム621からの変換された仮想アドレス出力
は比較器623及び624の他方の入力へ接続されている。比
較器623及び624の各々は独立的なヒット/ミス信号出力
を与える。マルチプレクサ622はTLBメモリサブシステム
621のW及びX半分からの出力としてそれに接続される
実アドレス入力を持っている。マルチプレクサ622は、
比較器623及び624のヒット/ミス出力に応答して、キャ
ッシュメモリサブシステム610のマルチプレクサ618の入
力端への変換した実アドレスの出力を選択的に与える。
して出力として、nDTバスからのアドレス又はCPUインタ
ーフェース600から供給されるアドレスの何れかに応答
してその中の選択されたラインから出力を選択的に与え
る。アドレス入力レジスタ605の仮想アドレス出力の一
部(即ち、下位部分ビット12乃至0)は、TLBメモリサ
ブシステム621へ接続され、且つよい高位の部分(即
ち、ビット31乃至22)はTLB620の比較器623及び624の各
々の1入力へ接続されている。第9図を参照して説明し
た如く、W及びX半分の各々に対して、TLBメモリアレ
イサブシステム621からの変換された仮想アドレス出力
は比較器623及び624の他方の入力へ接続されている。比
較器623及び624の各々は独立的なヒット/ミス信号出力
を与える。マルチプレクサ622はTLBメモリサブシステム
621のW及びX半分からの出力としてそれに接続される
実アドレス入力を持っている。マルチプレクサ622は、
比較器623及び624のヒット/ミス出力に応答して、キャ
ッシュメモリサブシステム610のマルチプレクサ618の入
力端への変換した実アドレスの出力を選択的に与える。
アドレス保護論理625は、第19図を参照して説明した如
く、ページテーブルエントリから初期的にロードされる
情報に応答して、或るTLBラインに対しての読取及び書
込アクセスの選択的保護を与える。
く、ページテーブルエントリから初期的にロードされる
情報に応答して、或るTLBラインに対しての読取及び書
込アクセスの選択的保護を与える。
レジスタスタック630は、2つのセグメントテーブルオ
リジナルレジスタ内のセグメントテーブルオリジン値の
格納を与える。レジスタスタック630は、セグメントテ
ーブルオリジンスーパーバイザ及びユーザレジスタ、障
害アドレスレジスタF、及びエラーアドレスレジスタの
如きその他のレジスタを有している。
リジナルレジスタ内のセグメントテーブルオリジン値の
格納を与える。レジスタスタック630は、セグメントテ
ーブルオリジンスーパーバイザ及びユーザレジスタ、障
害アドレスレジスタF、及びエラーアドレスレジスタの
如きその他のレジスタを有している。
制御及びDAT論理650は、直接アドレス変換論理、フェッ
チ論理、書込論理、読取論理、及びI/Oコマンド動作論
理を与える。
チ論理、書込論理、読取論理、及びI/Oコマンド動作論
理を与える。
第22図を参照すると、第21図の制御論理マイクロエンジ
ンの詳細なブロック線図が示されている。該マイクロエ
ンジンは、リードオンリメモリ700を有すると共に、プ
ログラムカウンタ710とスタックポインタ715と命令レジ
スタ720とベクトル発生器730と条件コード信号セレクタ
740と信号コントローラ命令デコーダ750と出力レジスタ
760とを具備するマイクロエンジン動作サブシステムを
有している。
ンの詳細なブロック線図が示されている。該マイクロエ
ンジンは、リードオンリメモリ700を有すると共に、プ
ログラムカウンタ710とスタックポインタ715と命令レジ
スタ720とベクトル発生器730と条件コード信号セレクタ
740と信号コントローラ命令デコーダ750と出力レジスタ
760とを具備するマイクロエンジン動作サブシステムを
有している。
プログラムカウンタ710は、プログラムカウンターアキ
ュムレータレジスタ712と、マルチプレクサ713と、イン
クリメント論理711とを有している。マルチプレクサ713
は、信号コントローラ/命令デコーダ750からの出力と
してマルチプレクス選択信号MUXSLTに応答して、プログ
ラムカウンターアキュムレータレジスタ712へ信号出力
を与える。これは、ベクトル発生器730からの8ビット
ベクトルアドレス出力、信号コントローラ/命令デコー
ダシステム750からの出力としてのPCインクリメント信
号PCINCに応答してインクリメント論理711から次の逐次
的プログラムカウンタアドレスの出力、又は命令レジス
タ720のブランチアドレスレジスタからの出力としての
ブランチアドレス、の1つを選択する。マルチプレクサ
713の出力は、プログラムカウンタアキュムレータジレ
スタ712へ供給され、PC出力アドレスPCOUTとしてそこか
ら選択的出力を与える。PCOUTはインクリメント論理711
へ、スタックポインタ715へ、及びリードオンリメモリ
サブシステム700のアドレス選択入力端へ接続される。
ュムレータレジスタ712と、マルチプレクサ713と、イン
クリメント論理711とを有している。マルチプレクサ713
は、信号コントローラ/命令デコーダ750からの出力と
してマルチプレクス選択信号MUXSLTに応答して、プログ
ラムカウンターアキュムレータレジスタ712へ信号出力
を与える。これは、ベクトル発生器730からの8ビット
ベクトルアドレス出力、信号コントローラ/命令デコー
ダシステム750からの出力としてのPCインクリメント信
号PCINCに応答してインクリメント論理711から次の逐次
的プログラムカウンタアドレスの出力、又は命令レジス
タ720のブランチアドレスレジスタからの出力としての
ブランチアドレス、の1つを選択する。マルチプレクサ
713の出力は、プログラムカウンタアキュムレータジレ
スタ712へ供給され、PC出力アドレスPCOUTとしてそこか
ら選択的出力を与える。PCOUTはインクリメント論理711
へ、スタックポインタ715へ、及びリードオンリメモリ
サブシステム700のアドレス選択入力端へ接続される。
第22図に示した如く、メモリ700は、各々が52ビットの2
56ラインを有しており、各ラインは命令レジスタ720及
び/又は出力レジスタ760へ出力されるべき命令及び/
又はデータ値を持っている。最大桁ビット部分(即ち、
出力ビット51乃至48)は、リードオンリメモリサブシス
テム700から命令レジスタ720の命令レジスタ723のタイ
プへ供給される。これらのビットは、該ラインの残りの
ビットが命令又は制御信号出力を有しているか否かを表
す。該ラインの残りのビット(即ち、ビット47乃至0)
は出力レジスタ760へ供給され、且つ命令レジスタ720へ
供給される。これらのビットはブランチアドレスレジス
タ721(即ち、リードオンリメモリ700出力のビット40乃
至47)及び条件コードレジスタ722(即ち、ビット26乃
至0)へ供給される。
56ラインを有しており、各ラインは命令レジスタ720及
び/又は出力レジスタ760へ出力されるべき命令及び/
又はデータ値を持っている。最大桁ビット部分(即ち、
出力ビット51乃至48)は、リードオンリメモリサブシス
テム700から命令レジスタ720の命令レジスタ723のタイ
プへ供給される。これらのビットは、該ラインの残りの
ビットが命令又は制御信号出力を有しているか否かを表
す。該ラインの残りのビット(即ち、ビット47乃至0)
は出力レジスタ760へ供給され、且つ命令レジスタ720へ
供給される。これらのビットはブランチアドレスレジス
タ721(即ち、リードオンリメモリ700出力のビット40乃
至47)及び条件コードレジスタ722(即ち、ビット26乃
至0)へ供給される。
命令レジスタ723からの出力は、命令レジスタ723から信
号コントローラ750へ供給される。命令レジスタ723は、
信号コントローラ750から出力されるCRhold信号に応答
して、命令タイプ情報を出力する。例えば、リードオン
リメモリ700出力のビット48乃至51を使用して、000は出
力命令を表すことが出来、001はブランチ命令、010はコ
ール命令、011は待ち命令、100はリターン命令、101及
び110はベクトル動作、111はno−op動作を夫々表すもの
とすることが可能である。
号コントローラ750へ供給される。命令レジスタ723は、
信号コントローラ750から出力されるCRhold信号に応答
して、命令タイプ情報を出力する。例えば、リードオン
リメモリ700出力のビット48乃至51を使用して、000は出
力命令を表すことが出来、001はブランチ命令、010はコ
ール命令、011は待ち命令、100はリターン命令、101及
び110はベクトル動作、111はno−op動作を夫々表すもの
とすることが可能である。
条件コードレジスタ722の出力は、条件信号選択論理740
へ供給される。条件コードデコーダ740は又条件コード
及びそれと結合されたステータス入力を持っている。こ
れらの信号は、キャッシュ又はTLBミス、読取又は書込
等の動作のステータスを告げる機能コード、ステータス
及び条件コード情報等を表す。条件コードデコーダ740
は、信号コントローラ750へ“トークン”出力を与えて
ステータスを表し、且つ更にベクトル番号をベクトル発
生器730へ出力する。ミス及び/又は機能コード情報の
組み合わせはベクトルプロセス用のデスティネーション
アドレスを定義する。
へ供給される。条件コードデコーダ740は又条件コード
及びそれと結合されたステータス入力を持っている。こ
れらの信号は、キャッシュ又はTLBミス、読取又は書込
等の動作のステータスを告げる機能コード、ステータス
及び条件コード情報等を表す。条件コードデコーダ740
は、信号コントローラ750へ“トークン”出力を与えて
ステータスを表し、且つ更にベクトル番号をベクトル発
生器730へ出力する。ミス及び/又は機能コード情報の
組み合わせはベクトルプロセス用のデスティネーション
アドレスを定義する。
信号コントローラ750は、ベクトル発生器730へ供給され
るベクトル信号タイミング出力(即ち、VCTs,VCTc)を
与える。ベクトル動作が表される場合、ベクトルアドレ
スは、マルチプレクサ713を介してプログラムカウンタ
アキュムレータ712内にベクトル発生器730からロードさ
れ、且つPCカウンタ710はベクトルルーチンが完了する
迄tpシーケンス命令インクリメントされる。
るベクトル信号タイミング出力(即ち、VCTs,VCTc)を
与える。ベクトル動作が表される場合、ベクトルアドレ
スは、マルチプレクサ713を介してプログラムカウンタ
アキュムレータ712内にベクトル発生器730からロードさ
れ、且つPCカウンタ710はベクトルルーチンが完了する
迄tpシーケンス命令インクリメントされる。
ブランチアドレスレジスタ721は、プログラムカウンタ7
10へ選択的にブランチアドレス信号を出力し、その際に
信号コントローラ命令デコーダ750から出力される制御
信号に従って使用する。出力レジスタ760からの信号出
力は、信号コントローラ750から出力レジスタ760への出
力レジスタ保持“OR保持”信号の選択的出力に応答す
る。出力レジスタ760から出力される信号はキャッシュM
MUシステムの他のエリアへ供給され、(即ち、制御信号
及び/又はデータ)、キャッシュMMUシステムの該他の
エリアによって使用される。
10へ選択的にブランチアドレス信号を出力し、その際に
信号コントローラ命令デコーダ750から出力される制御
信号に従って使用する。出力レジスタ760からの信号出
力は、信号コントローラ750から出力レジスタ760への出
力レジスタ保持“OR保持”信号の選択的出力に応答す
る。出力レジスタ760から出力される信号はキャッシュM
MUシステムの他のエリアへ供給され、(即ち、制御信号
及び/又はデータ)、キャッシュMMUシステムの該他の
エリアによって使用される。
以上、本発明の具体的実施の態様に付いて詳細に説明し
たが、本発明はこれら具体例にのみ限定されるべきもの
では無く、本発明の技術的範囲を逸脱すること無しに種
々の変形が可能であることは勿論である。
たが、本発明はこれら具体例にのみ限定されるべきもの
では無く、本発明の技術的範囲を逸脱すること無しに種
々の変形が可能であることは勿論である。
第1図は本発明に基づくマイクロプロセサをベースとし
た二重キャッシュ/二重バスシステムアーキテクチャー
のブロック線図、第2図は第1図の命令インターフェー
スのブロック線図、第3図は第2図の命令インターフェ
ース100の命令デコーダ120のより詳細なブロック線図、
第4図は第1図の命令キャッシュ/プロセサバスとデー
タキャッシュ/プロセサバスとシステムバス二重バス/
二重キャッシュシステムを示した電気概略図、第5図は
第4図のキャッシュインターフェースへのシステムバス
を示したより詳細な概略図、第6図は命令キャッシュMM
Uとシステムバスとの間のドライバ/レシーバを示した
電気的概略図、第7A図乃至第7C図は本発明で使用される
仮想メモリと実メモリと仮想アドレス概念とを夫々示し
た各概略図、第8図はキャッシュメモリ管理ユニットの
電気的ブロック線図、第9図は第8図のキャッシュメモ
リ管理ユニットの電気的ブロック線図、第10A図及び第1
0B図はキャッシュメモリサブシステム320内の記憶構造
を示した各概略図、第11A図及び第11B図はTLBメモリサ
ブシステム350記憶構造をより詳細に示した各概略図、
第12図はキャッシュメモリカッド語境界組織を示した概
略図、第13図はTLBサブシステムによって与えられるハ
ードワイヤード化した仮想から実への変換を示した説明
図、第14図はラインレジスタ及びライン境界レジスタを
使用するカッド語境界を支持するキャッシュメモリサブ
システム及び関連したキャッシュMMUアーキテクチャー
を示した概略図、第15図は第1図キャッシュMMUシステ
ム120及び130用のロードタイミングを示した説明図、第
16図はコピーバックモードにおいてキャッシュMMUへCPU
からの記憶及びライトスルー動作モードの為のCPUから
キャッシュMMU及びメインメモリへの記憶の為に第1図
のキャッシュMMUシステム120及び130用のストア動作を
示した説明図、第17A図及び第17B図はCPUとキャッシュM
MU及びメインメモリとの間の動作のデータの流れを示し
た各説明図、第18図はCPUとキャッシュメモリサブシス
テムとTLBメモリサブシステムのデータの流れ及び状態
の流れ相互関係を示した説明図、第19図はアドレス変換
とデータ格納とロード動作を実行する上でDAT及びTLBサ
ブシステムのデータの流れ及び動作を示した説明図、第
20図はキャッシュMMU内部のバスインターフェース構成
を具備するキャッシュMMUシステムのブロック線図、第2
1図は第20図のより詳細な電気的ブロック線図、第22図
は第21図の制御論理マイクロエンジン650の詳細な電気
的ブロック線図、である。 (符号の説明) 110:中央処理装置(CPU) 115:システムステータスバス 120:命令キャッシュメモリ管理ユニット 121:命令バス 130:データキャッシュメモリ管理ユニット 131:データバス 140:メインメモリ 141:システムバス 150:I/O処理ユニット(IOP) 151:I/Oバス 160:システムクロック 170:インタラプトコントローラ 180:バス調整ユニット
た二重キャッシュ/二重バスシステムアーキテクチャー
のブロック線図、第2図は第1図の命令インターフェー
スのブロック線図、第3図は第2図の命令インターフェ
ース100の命令デコーダ120のより詳細なブロック線図、
第4図は第1図の命令キャッシュ/プロセサバスとデー
タキャッシュ/プロセサバスとシステムバス二重バス/
二重キャッシュシステムを示した電気概略図、第5図は
第4図のキャッシュインターフェースへのシステムバス
を示したより詳細な概略図、第6図は命令キャッシュMM
Uとシステムバスとの間のドライバ/レシーバを示した
電気的概略図、第7A図乃至第7C図は本発明で使用される
仮想メモリと実メモリと仮想アドレス概念とを夫々示し
た各概略図、第8図はキャッシュメモリ管理ユニットの
電気的ブロック線図、第9図は第8図のキャッシュメモ
リ管理ユニットの電気的ブロック線図、第10A図及び第1
0B図はキャッシュメモリサブシステム320内の記憶構造
を示した各概略図、第11A図及び第11B図はTLBメモリサ
ブシステム350記憶構造をより詳細に示した各概略図、
第12図はキャッシュメモリカッド語境界組織を示した概
略図、第13図はTLBサブシステムによって与えられるハ
ードワイヤード化した仮想から実への変換を示した説明
図、第14図はラインレジスタ及びライン境界レジスタを
使用するカッド語境界を支持するキャッシュメモリサブ
システム及び関連したキャッシュMMUアーキテクチャー
を示した概略図、第15図は第1図キャッシュMMUシステ
ム120及び130用のロードタイミングを示した説明図、第
16図はコピーバックモードにおいてキャッシュMMUへCPU
からの記憶及びライトスルー動作モードの為のCPUから
キャッシュMMU及びメインメモリへの記憶の為に第1図
のキャッシュMMUシステム120及び130用のストア動作を
示した説明図、第17A図及び第17B図はCPUとキャッシュM
MU及びメインメモリとの間の動作のデータの流れを示し
た各説明図、第18図はCPUとキャッシュメモリサブシス
テムとTLBメモリサブシステムのデータの流れ及び状態
の流れ相互関係を示した説明図、第19図はアドレス変換
とデータ格納とロード動作を実行する上でDAT及びTLBサ
ブシステムのデータの流れ及び動作を示した説明図、第
20図はキャッシュMMU内部のバスインターフェース構成
を具備するキャッシュMMUシステムのブロック線図、第2
1図は第20図のより詳細な電気的ブロック線図、第22図
は第21図の制御論理マイクロエンジン650の詳細な電気
的ブロック線図、である。 (符号の説明) 110:中央処理装置(CPU) 115:システムステータスバス 120:命令キャッシュメモリ管理ユニット 121:命令バス 130:データキャッシュメモリ管理ユニット 131:データバス 140:メインメモリ 141:システムバス 150:I/O処理ユニット(IOP) 151:I/Oバス 160:システムクロック 170:インタラプトコントローラ 180:バス調整ユニット
Claims (55)
- 【請求項1】数ページのデータを格納する主メモリと、
前記主メモリに結合されたシステムバスと、前記システ
ムバスに結合されており前記主メモリからのデータを処
理する第1データ処理要素と、前記主メモリからのデー
タを処理する第2データ処理要素とを有するコンピュー
タシステムにおけるキャッシュメモリ管理装置におい
て、 前記主メモリからの数ページのデータを格納するキャッ
シュメモリが設けられており、前記第1及び第2データ
処理要素により処理された前記主メモリからのデータを
前記キャッシュメモリ内に格納することが可能であり、 前記第2データ処理要素から受け取った仮想アドレスに
対する実アドレス変換を与えるアドレス変換手段が設け
られており、 前記キャッシュメモリへ選択的にデータを格納し且つそ
れからデータを検索し且つ前記キャッシュメモリと前記
第2データ処理要素との間でデータを転送するキャッシ
ュ制御器が設けられており、 複数個のキャッシュデータ格納モードの内の1つを表す
システムタグを格納するシステムタグ手段が設けられて
おり、 前記キャッシュ制御器は前記システムタグにより表され
るキャッシュデータ格納モードを実行するキャッシュモ
ード実行手段を有している、 ことを特徴とするキャッシュメモリ管理装置。 - 【請求項2】特許請求の範囲第1項において、更に、前
記システムタグ及び仮想アドレスに応答して選択的に前
記主メモリへデータを格納し且つそれからデータを検索
する主メモリ制御手段が設けられていることを特徴とす
るキャッシュメモリ管理装置。 - 【請求項3】特許請求の範囲第2項において、前記複数
個のキャッシュデータ格納モードが、 前記第2データ処理要素がこのモードに関係する1ペー
ジのデータに対応する仮想アドレスを持ったデータを修
正すると前記キャッシュモード実行手段がすぐにその修
正したデータを前記主メモリ及びキャッシュメモリ内に
格納するライトスルーモードと、 前記第2データ処理要素がこのモードに関係する1ペー
ジのデータに対応する仮想アドレスを持ったデータを修
正すると前記キャッシュモード実行手段がすぐにその修
正したデータを前記キャッシュメモリ内にのみ格納する
コピーバックモードと、 を有することを特徴とするキャッシュメモリ管理装置。 - 【請求項4】特許請求の範囲第3項において、それと関
連してコピーバックモードを持ったページに対して前記
キャッシュメモリ内の既存の修正データを上書きする前
に、前記キャッシュモード実行手段が前記修正データと
関連する夫々の実アドレスにおいて前記主メモリ内に修
正データを格納することを特徴とするキャッシュメモリ
管理装置。 - 【請求項5】特許請求の範囲第4項において、前記シス
テムタグが、更に、複数個のアドレス空間属性の内の1
つを表すことを特徴とするキャッシュメモリ管理装置。 - 【請求項6】特許請求の範囲第5項において、前記複数
個のアドレス空間属性が、共用アドレス空間属性と、専
用アドレス空間属性とを有することを特徴とするキャッ
シュメモリ管理装置。 - 【請求項7】特許請求の範囲第5項において、更に、前
記システムバスに結合されておりその中に数ページのデ
ータを格納するブートローダメモリが設けられており、
その中に数ページのデータを格納する入力−出力装置が
設けられており、前記複数個のアドレス空間属性が、 仮想アドレスが前記ブートメモリ内に格納された1ペー
ジのデータに対応することを表すブートメモリアドレス
空間属性と、 仮想アドレスが前記入力−出力装置内に格納された1ペ
ージのデータに対応することを表すI/Oアドレス空間属
性と、 仮想アドレスが前記主メモリ内に格納された1ページの
データに対応することを表す主メモリアドレス空間属性
と、 を有することを特徴とするキャッシュメモリ管理装置。 - 【請求項8】特許請求の範囲第4項において、各キャッ
シュデータ格納モードが設けられており且つ各ページの
データに対する変数が前記主メモリ内に格納されている
ことを特徴とするキャッシュメモリ管理装置。 - 【請求項9】特許請求の範囲第4項において、前記複数
個のキャッシュデータ格納モードが、このモードに関係
する1ページのデータに対応する各仮想アドレスに対す
るデータが前記キャッシュメモリ内に格納されていない
キャッシュ不能データモードを有することを特徴とする
キャッシュメモリ管理装置。 - 【請求項10】特許請求の範囲第4項において、前記ア
ドレス変換手段が、前記キャッシュメモリ内に格納され
るいるデータに対応する実アドレスに対する仮想アドレ
スの変換の連想マップを与える変換メモリを有すること
を特徴とするキャッシュメモリ管理装置。 - 【請求項11】特許請求の範囲第10項において、前記シ
ステムタグが、仮想アドレスを実アドレスへの変換する
ために使用される前記変換メモリ内にエントリーを有す
ることを特徴とするキャッシュメモリ管理装置。 - 【請求項12】特許請求の範囲第2項において、前記キ
ャッシュ制御器が、前記主メモリが前記第1データ処理
要素によってアクセスされている時を検知するための主
メモリアクセス検知手段を有することを特徴とするキャ
ッシュメモリ管理装置。 - 【請求項13】特許請求の範囲第12項において、前記シ
ステムバスが、前記主メモリがアクセスされている時を
表すアクセス表示手段を有することを特徴とするキャッ
シュメモリ管理装置。 - 【請求項14】特許請求の範囲第13項において、前記キ
ャッシュ制御器が、更に、前記アクセス表示手段に応答
し、前記主メモリにおいてアクセスされている格納位置
が前記キャッシュメモリ内に格納されているデータに対
応するか否かを決定するキャッシュ質問手段を有するこ
とを特徴とするキャッシュメモリ管理装置。 - 【請求項15】特許請求の範囲第14項において、前記主
メモリ制御手段が、更に、前記主メモリ内でアクセスさ
れるべき格納位置が前記キャッシュメモリ内に格納され
ているデータに対応する場合に前記主メモリ手段へのア
クセスを選択的に許可及び禁止するアクセス制御手段を
有することを特徴とするキャッシュメモリ管理装置。 - 【請求項16】特許請求の範囲第15項において、前記キ
ャッシュ制御器が、更に、前記キャッシュ質問手段及び
システムバスに結合されており、アクセスされるべき主
メモリ格納位置が前記キャッシュメモリ内に格納されて
いるデータに対応するか否かを前記キャッシュ質問手段
が決定する場合に前記システムバスへ第1キャッシュ質
問信号を供給する質問表示手段を有することを特徴とす
るキャッシュメモリ管理装置。 - 【請求項17】特許請求の範囲第16項において、前記ア
クセス制御手段が、前記第1キャッシュ質問信号に応答
して、前記主メモリへのアクセスを禁止することを特徴
とするキャッシュメモリ管理装置。 - 【請求項18】特許請求の範囲第17項において、前記質
問表示手段が、アクセスされるべきデータが前記キャッ
シュメモリ内に格納されているか否かを前記キャッシュ
質問手段が決定する場合に、前記システムバスへ第2キ
ャッシュ質問信号を供給することを特徴とするキャッシ
ュメモリ管理装置。 - 【請求項19】特許請求の範囲第18項において、前記ア
クセス制御手段が、前記第2キャッシュ質問信号に応答
して前記主メモリへのアクセスを許可することを特徴と
するキャッシュメモリ管理装置。 - 【請求項20】特許請求の範囲第14項において、前記ア
クセス表示手段が、更に、前記主メモリ内に選択された
格納位置からデータを検索すべき場合に読取表示信号を
与える読取表示手段を有することを特徴とするキャッシ
ュメモリ管理装置。 - 【請求項21】特許請求の範囲第20項において、前記選
択された主メモリ格納位置が前記キャッシュメモリ内に
格納されたデータに対応する場合に、前記キャッシュ制
御器が、前記選択された主メモリ格納位置に対応するキ
ャッシュデータを前記読取表示信号に応答して前記シス
テムバスへ供給することを特徴とするキャッシュメモリ
管理装置。 - 【請求項22】特許請求の範囲第21項において、前記キ
ャッシュ制御器が、キャッシュデータを前記キャッシュ
メモリ内に格納させた後に前記キャッシュデータが修正
された場合にのみ、前記キャッシュデータを前記システ
ムバスへ供給することを特徴とするキャッシュメモリ管
理装置。 - 【請求項23】特許請求の範囲第21項において、前記キ
ャッシュ制御器が、前記キャッシュデータが前記システ
ムバスへ供給される場合に、前記システムバスへ第1レ
ディー信号を供給することを特徴とするキャッシュメモ
リ管理装置。 - 【請求項24】特許請求の範囲第23項において、前記キ
ャッシュ制御器が、更に、前記キャッシュ質問手段及び
システムバスに結合されており前記選択された主メモリ
格納位置が前記キャッシュメモリ内に格納されているデ
ータに対応するか否かを前記キャッシュ質問手段が決定
する場合に前記システムバスへ第1キャッシュ質問信号
を供給する質問表示手段を有することを特徴とするキャ
ッシュメモリ管理装置。 - 【請求項25】特許請求の範囲第24項において、前記質
問表示手段が、前記選択された主メモリ格納位置が前記
キャッシュメモリ内に格納されているデータに対応する
か否かを前記キャッシュ質問手段が決定した場合に前記
システムバスへ第2キャッシュ質問信号を供給すること
を特徴とするキャッシュメモリ管理装置。 - 【請求項26】特許請求の範囲第25項において、前記第
2キャッシュ質問信号が供給され且つ前記第1レディー
信号が存在しない場合に、前記主メモリが前記選択され
た格納位置からのデータを前記システムバスへ供給する
ことを特徴とするキャッシュメモリ管理装置。 - 【請求項27】特許請求の範囲第26項において、前記選
択された格納位置からのデータが前記システムバスへ供
給される場合に、前記主メモリが前記システムバスへ第
2レディー信号を供給することを特徴とするキャッシュ
メモリ管理装置。 - 【請求項28】特許請求の範囲第26項において、前記ア
クセス表示手段が、更に、前記選択された主メモリ格納
位置が前記キャッシュメモリ内に格納することが可能な
データに対応するか否かを表すデータタイプ手段を有す
ることを特徴とするキャッシュメモリ管理装置。 - 【請求項29】特許請求の範囲第28項において、前記キ
ャッシュ質問手段が、前記選択された主メモリ格納位置
が前記キャッシュメモリ内に格納することが可能なデー
タに対応することを前記データタイプ手段が表す場合
に、キャッシュ質問を開始することを特徴とするキャッ
シュメモリ管理装置。 - 【請求項30】特許請求の範囲第29項において、前記キ
ャッシュ質問手段が、アクセスされるべきデータが前記
キャッシュメモリ内に格納されていないことを前記デー
タタイプ手段が表す場合に、キャッシュ質問を開始しな
いことを特徴とするキャッシュメモリ管理装置。 - 【請求項31】特許請求の範囲第30項において、アクセ
スされるべきデータが前記キャッシュメモリ内に格納さ
れていないことを前記データタイプ手段が表す場合に、
前記第2キャッシュ質問信号が与えられることを特徴と
するキャッシュメモリ管理装置。 - 【請求項32】特許請求の範囲第14項において、前記ア
クセス表示手段が、更に、前記主メモリ内の選択された
格納位置に何時データを転送すべであるかを表す書込表
示手段を有することを特徴とするキャッシュメモリ管理
装置。 - 【請求項33】特許請求の範囲第32項において、前記キ
ャッシュ制御器が、前記選択された主メモリ格納位置が
前記キャッシュメモリ内に格納されているデータに対応
する場合に、前記キャッシュメモリを前記選択された主
メモリ格納位置へ転送されるべきデータでアップデート
する手段を有することを特徴とするキャッシュメモリ管
理装置。 - 【請求項34】特許請求の範囲第32項において、前記キ
ャッシュ制御器が、前記選択された主メモリ格納位置に
対応するキャッシュメモリ内に格納されているデータを
無効化させる手段を有することを特徴とするキャッシュ
メモリ管理装置。 - 【請求項35】特許請求の範囲第13項において、前記ア
クセス表示手段が、前記第1データ処理要素により前記
主メモリへのアクセスのタイプを表すサイクルタイプ手
段を有することを特徴とするキャッシュメモリ管理装
置。 - 【請求項36】特許請求の範囲第35項において、前記キ
ャッシュ制御器が、更に、前記サイクルタイプ手段に応
答して、前記主メモリにおいてアクセスされている格納
位置が前記キャッシュメモリ内に格納されているデータ
に対応するか否かを決定するキャッシュ質問手段を有す
ることを特徴とするキャッシュメモリ管理装置。 - 【請求項37】特許請求の範囲第36項において、前記サ
イクルタイプ手段が読取サイクル叉は書込サイクルの内
の1つを表すことを特徴とするキャッシュメモリ管理装
置。 - 【請求項38】特許請求の範囲第37項において、前記キ
ャッシュ制御器が、前記サイクルタイプ手段が書込サイ
クルを表す場合に、アクセスされた主メモリ格納位置に
対応するキャッシュメモリ内に格納されているデータを
選択的に無効にするか叉はアップデートする手段を有す
ることを特徴とするキャッシュメモリ管理装置。 - 【請求項39】特許請求の範囲第37項において、前記キ
ャッシュ制御器が、前記サイクルタイプ手段が書込サイ
クルを表し且つ単一のワードが前記主メモリへ転送され
ている場合に、アクセスされた主メモリ格納位置に対応
するキャッシュメモリ内に格納されているデータをアッ
プデートするアップデート手段を有することを特徴とす
るキャッシュメモリ管理装置。 - 【請求項40】特許請求の範囲第37項において、前記キ
ャッシュ制御器が、前記サイクルタイプ手段が書込サイ
クルを表し且つカッドワードが前記主メモリへ転送され
ている場合に、アクセスされた主メモリ格納位置に対応
するキャッシュメモリ内に格納されているデータを無効
化させる無効化手段を有することを特徴とするキャッシ
ュメモリ管理装置。 - 【請求項41】特許請求の範囲第37項において、前記サ
イクルタイプ手段が、前記第1データ処理要素が選択さ
れた装置のタイプであるか否かを表すことを特徴とする
キャッシュメモリ管理装置。 - 【請求項42】特許請求の範囲第41項において、前記サ
イクルタイプ手段が、前記第1データ処理要素がCPUタ
イプ装置か叉はIOPタイプ装置のいずれかであるかを表
すことを特徴とするキャッシュメモリ管理装置。 - 【請求項43】特許請求の範囲第42項において、前記キ
ャッシュ制御器が、前記サイクルタイプ手段がIOPタイ
プ装置による書込サイクルを表す場合にアクセスされた
主メモリ格納位置に対応するキャッシュメモリ内に格納
されたデータを無効化させる手段を有することを特徴と
するキャッシュメモリ管理装置。 - 【請求項44】特許請求の範囲第35項において、前記ア
クセス表示手段が、前記第1データ処理要素によりアク
セスされているメモリ空間のタイプを表すメモリ空間手
段を有することを特徴とするキャッシュメモリ管理装
置。 - 【請求項45】特許請求の範囲第44項において、前記キ
ャッシュ制御器が、更に、前記メモリ空間手段及びサイ
クルタイプ手段に応答し前記主メモリにおいてアクセス
されている格納位置が前記キャッシュメモリ手段内に格
納されているデータに対応するか否かを決定するキャッ
シュ質問手段を有することを特徴とするキャッシュメモ
リ管理装置。 - 【請求項46】特許請求の範囲第45項において、前記メ
モリ空間手段がメモリ空間を専用の叉は共用のメモリ空
間の内の一方であるとして表すことを特徴とするキャッ
シュメモリ管理装置。 - 【請求項47】特許請求の範囲第46項において、前記サ
イクルタイプ手段が読取サイクル叉は書込サイクルの内
の一方を表すことを特徴とするキャッシュメモリ管理装
置。 - 【請求項48】特許請求の範囲第47項において、前記メ
モリ空間手段が専用メモリ空間を表し且つ前記サイクル
タイプ手段が書込サイクルを表す場合には、前記キャッ
シュ質問手段が、前記主メモリにおいてアクセス中の格
納位置が前記キャッシュメモリ内に格納されているデー
タに対応するか否かの決定を行わないことを特徴とする
キャッシュメモリ管理装置。 - 【請求項49】特許請求の範囲第47項において、前記サ
イクルタイプ手段が、前記第1データ処理要素が特定の
装置タイプであるか否かを表すことを特徴とするキャッ
シュメモリ管理装置。 - 【請求項50】特許請求の範囲第49項において、前記サ
イクルタイプ手段が、前記第1データ処理要素がCPUタ
イプ装置叉はIOPタイプ装置のいずれか一方を表すこと
を特徴とするキャッシュメモリ管理装置。 - 【請求項51】特許請求の範囲第50項において、前記キ
ャッシュ制御器が、前記サイクルタイプ手段がIOPタイ
プ装置による書込サイクルを表す場合に、アクセスされ
た主メモリ格納位置に対応するキャッシュメモリ内に格
納されているデータを無効化させる手段を有することを
特徴とするキャッシュメモリ管理装置。 - 【請求項52】特許請求の範囲第50項において、前記キ
ャッシュ制御器が、前記サイクルタイプ手段が書込サイ
クルを表し且つ前記メモリ空間手段が共用メモリ空間を
表す場合には、アクセスされた主メモリ格納位置に対応
するキャッシュメモリ内に格納されているデータを無効
化させる手段を有することを特徴とするキャッシュメモ
リ管理装置。 - 【請求項53】特許請求の範囲第50項において、前記キ
ャッシュ質問手段が、前記サイクルタイプ手段がIOPタ
イプ装置による読取サイクルを表し且つ前記メモリ空間
手段が専用メモリ空間を表す場合には、主メモリにおい
てアクセス中の格納位置が前記キャッシュメモリ内に格
納されているデータに対応するか否かを決定することを
特徴とするキャッシュメモリ管理装置。 - 【請求項54】特許請求の範囲第50項において、前記キ
ャッシュ質問手段が、前記サイクルタイプ手段がIOPタ
イプ装置による書込サイクルを表す場合には、前記主メ
モリ内においてアクセス中の格納位置が前記キャッシュ
メモリ内に格納されているデータに対応するか否かを決
定することを特徴とするキャッシュメモリ管理装置。 - 【請求項55】特許請求の範囲第50項において、前記キ
ャッシュ質問手段が、前記サイクルタイプ手段がCPUタ
イプ装置による書込サイクルを表し且つ前記メモリ空間
手段が共用メモリ空間を表す場合には、前記主メモリに
おいてアクセス中の格納位置が前記キャッシュメモリに
格納されているデータに対応するか否かを決定すること
を特徴とするキャッシュメモリ管理装置。
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 JPS61275946A (ja) | 1986-12-06 |
| JPH07117913B2 true 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) | EP0732656B1 (ja) |
| JP (1) | JPH07117913B2 (ja) |
| CA (3) | CA1272301A (ja) |
| DE (2) | DE3650782T2 (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 |
| DE69327981T2 (de) * | 1993-01-21 | 2000-10-05 | Advanced Micro Devices, Inc. | Kombinierte Speicheranordnung mit einem Vorausholungspuffer und einem Cachespeicher und Verfahren zur Befehlenversorgung für eine Prozessoreinheit, das diese Anordnung benutzt. |
| 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 EP96108915A patent/EP0732656B1/en not_active Expired - Lifetime
- 1986-02-21 DE DE3650782T patent/DE3650782T2/de not_active Expired - Lifetime
- 1986-02-21 DE DE3650584T patent/DE3650584T2/de not_active Expired - Lifetime
- 1986-02-21 EP EP86400363A patent/EP0196244B1/en not_active Expired - Lifetime
- 1986-02-21 CA CA000502433A patent/CA1272301A/en not_active Expired
- 1986-02-22 JP JP61038127A patent/JPH07117913B2/ja not_active Expired - Lifetime
-
1989
- 1989-09-26 CA CA000613401A patent/CA1283220C/en not_active Expired - Lifetime
- 1989-09-26 CA CA000613400A patent/CA1283219C/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| DE3650584D1 (de) | 1997-01-23 |
| CA1283220C (en) | 1991-04-16 |
| DE3650782D1 (de) | 2003-09-11 |
| EP0196244A2 (en) | 1986-10-01 |
| EP0732656B1 (en) | 2003-08-06 |
| CA1272301A (en) | 1990-07-31 |
| EP0196244A3 (en) | 1990-04-25 |
| DE3650584T2 (de) | 1997-06-26 |
| DE3650782T2 (de) | 2004-06-17 |
| CA1283219C (en) | 1991-04-16 |
| EP0732656A2 (en) | 1996-09-18 |
| EP0196244B1 (en) | 1996-12-11 |
| JPS61275946A (ja) | 1986-12-06 |
| EP0732656A3 (en) | 1996-11-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4860192A (en) | Quadword boundary cache system | |
| US4884197A (en) | Method and apparatus for addressing a cache memory | |
| US4899275A (en) | Cache-MMU system | |
| US4933835A (en) | Apparatus for maintaining consistency of a cache memory with a primary memory | |
| 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 | |
| US4768148A (en) | Read in process memory apparatus | |
| US5119290A (en) | Alias address support | |
| US5406504A (en) | Multiprocessor cache examiner and coherency checker | |
| JP3802061B2 (ja) | アドレス変換速度アップのための並列アクセスマイクロ−tlb | |
| US4785398A (en) | Virtual cache system using page level number generating CAM to access other memories for processing requests relating to a page | |
| US6182168B1 (en) | Programmable sideband port for generating sideband signal | |
| US5909696A (en) | Method and apparatus for caching system management mode information with other information | |
| US5379394A (en) | Microprocessor with two groups of internal buses | |
| JPH05313942A (ja) | マイクロプロセッサのオンチップキャッシュのモニタ構造及びモニタ方法 | |
| JP2000348000A (ja) | 主記憶共有型マルチプロセッサシステム | |
| JPH0260012B2 (ja) | ||
| JPH0695981A (ja) | 中央処理装置 cpu とシステムバスを有するワークステーションすなわちサーバ | |
| US6751700B2 (en) | Date processor and storage system including a set associative cache with memory aliasing | |
| EP0732656B1 (en) | Cache MMU system | |
| WO2008031678A1 (en) | Dmac address translation miss handling mechanism | |
| CA1269176A (en) | Multiple bus system including a microprocessor having separate instruction and data interfaces and caches | |
| JP2000339221A (ja) | 変換装置のエントリを無効化するシステム及び方法 | |
| US5652860A (en) | Memory control device | |
| US5737550A (en) | Cache memory to processor bus interface and method thereof |
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 |