JPS6237752A - 別々の命令及びデ−タインタ−フエ−ス及びキヤツシユを持つたマイクロプロセサを有するマルチプルバスシステム - Google Patents

別々の命令及びデ−タインタ−フエ−ス及びキヤツシユを持つたマイクロプロセサを有するマルチプルバスシステム

Info

Publication number
JPS6237752A
JPS6237752A JP61038129A JP3812986A JPS6237752A JP S6237752 A JPS6237752 A JP S6237752A JP 61038129 A JP61038129 A JP 61038129A JP 3812986 A JP3812986 A JP 3812986A JP S6237752 A JPS6237752 A JP S6237752A
Authority
JP
Japan
Prior art keywords
cache
data
bus
memory
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP61038129A
Other languages
English (en)
Inventor
ハワード ジーン サツシユ
ウオルター エイチ.ホリングスワアース
ジエームズ ヤンセー チヨー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fairchild Semiconductor Corp
Original Assignee
Fairchild Semiconductor Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fairchild Semiconductor Corp filed Critical Fairchild Semiconductor Corp
Publication of JPS6237752A publication Critical patent/JPS6237752A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0848Partitioned cache, e.g. separate instruction and operand caches

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
本発明は、コンピュータシステムアーキテクチャ−に関
するものであって、更に詳細には、システムバスに接続
されたシステム要素間での高速通信の為にシステムバス
に接続されたシステム要素を接続する為のシステムバス
を持っており、且つ該システムバスに接続されている独
立的に動作可能な命令及びデータキャッシュへ接続され
る別々の命令及びデータキャッシュインターフェースを
具備する二重バスマイクロプロセサを持っているマイク
ロプロセサシステムアーキテクチャ−に関するものであ
る。 従来のマイクロプロセサシステムアーキテクチャ−は主
にフォンノイマンのアーキテクチャ−か、並列プロセサ
のアーキテクチャ−か、又はデータ及び/又は命令用に
単一の外部キャッシュサブシステムを具備するフォンノ
イマンのアーキテクチャ−の何れかを踏襲したものであ
る。これらのシステムは、典型的に、キャッシュシステ
ム及びその他のシステム要素の両方へ直接マイクロプロ
セサインターフェースを与えていた。従来のシステムに
おいては、単一のアドレス/データ/制御バスがキャッ
シュシステム及びその他のシステム要素へのインターフ
ェースを与えていた。成る最近のマイクロプロセサ構成
は、データ及び/又は命令用に単一のキャッシュシステ
ムに対して別のインターフェースを与えている。成るも
のは付加的に別の一般的バスを設けており、メインメモ
リ、周辺コントローラチップ等を包含するマイクロプロ
セサに対しての全てのシステム要素を接続している。こ
れらの従来の構成においてマイクロプロセサへ及びそこ
からのデジタル情報の転送は、マイクロプロセサとキャ
ッシュシステムとの間又はマイクロプロセサと周辺コン
トローラとの間又はメインメモリと直接の何れかで行う
ことが可能である。更に、キャッシュシステムメモリサ
イクルは、キャッシュシステムからプロセサへデジタル
情報の転送毎にプロセサからキャッシュシステムへのア
ドレス情報を必要とした。キャッシュシステムは、キャ
ッシュシステムデータ転送当り1個又はそれ以上のワー
ドのデータを返送可能であるが、各キャッシュシステム
メモリアクセスサイクルは別のアドレスがプロセサから
与えられることを必要とした。従って、マイクロプロセ
サはそれ自身のプログラムカウンタを必要とし、該カウ
ンタがキャッシュメモリ、メインメモリ、又は成るシス
テム周辺要素へのアクセス要求を制御していた。 本発明は1以上の点に鑑みなされたものであって、上述
した如き従来技術を改良して、新規なマイクロプロセサ
をベースとするコンピュータシステム乃至は処理システ
ムを提供することを目的とする。 本発明に拠れば、マイクロプロセサをベースとしたコン
ピュータシステムが提供され、それはシステムバス、メ
インメモリ、システムバスに接続された命令及びデータ
キャッシュメモリ管理ユニットを有している。該システ
ムバスは、それに接続されている要素間でのデジタル情
報の通信を与える。メインメモリは、アドレス可能な高
速読取−g込メモリへ及びそれから選択的にデジタル情
報をストアすると共に出力する。命令キャッシュMMU
はシステムバスを介してメインメモリへ接続されている
。命令キャッシュは、システムバスを介してメインメモ
リへの選択的アクセスを管理し、且つマツプされたアド
レス可能な非常に高速のキャッシュメモリへデジタル情
報データの選択的格納及び出力を4え、且つそこから非
常に高速のプロセサ/キャッシュバスを介してプロセサ
へ送られる。データキャッシュはメインメモリに接続さ
れて、メインメモリへの選択的アクセスを管理し、シス
テムバスを介してメインメモリへ及びそこからと、マツ
プされたアドレス可能の非常に高速のキャッシュメモリ
へ及びそこからのデジタル情報の選択的格納及び出力を
行う。プロセサ1よ、命令キャッシュMMU及びデータ
キャッシュMMUの各々に独立的に接続されている。該
プロセサは、命令キャッシュMMUから受け取られた命
令に応答しデータキャッシュMMUから受け取られたデ
ータを処理する手段を与えている。非常に高速の命令バ
スが命令キャッシュMMUとマイクロプロセサとの間に
接続されており、命令キャッシュMMUからの命令を該
プロセサへ接続させており且つ該プロセサからのアドレ
スを命令キャッシュMMUへ接続させている。別の非常
に高速のデータバスが独立的に且つ別箇にプロセサに接
続されており且つデータキャッシュM M Uへ接続さ
れてその間でデータ通信を行う。これは、非常に高速の
命令バスを介して専用命令キャッシュからプロセサへの
非常に高速の命令の転送を与えており。 且つ非常に高速のデータバスを介してデータキャッシュ
からマイクロプロセサへの同時的な非常に高速の転送を
可能としている。 データキャッシュ及び命令キャッシュの各々は、システ
ムバスへ接続する為の別々の専用のシステムバスインタ
ーフェースを持っており、それはメインメモリへ且つ該
システムバスへ接続されている他の周辺装置へ接続する
為の高速バスを与えている。多数のその他のシステム要
素を該システムバスへ接続させることが可能である。こ
れらは、インタラプトコントローラ、工○プロセサ、バ
スアービタ、アレイプロセサ、及びその他の周辺インタ
ーフェース又は周辺コントローラ装置等がある。IOプ
ロセサは、種々のIO装置に対してインテリジェントな
インターフェースを与え、且つ不適合システムプロトコ
ル及びバスを与える。パスアービタはシステムバスに接
続されている装置に接続されており、例えば命令及びデ
ータキャッシュ、10プロセサ等がある。パスアービタ
は、システムバス上での通信の一体性を維持する為に、
システムバスに接続されている種々の要素の間のチャン
ネルアクセス競合を選択的に解決する為の手段を与えて
いる。 データキャッシュはアドレスレジスタを有しており、そ
れはデータキャッシュからプロセサへの定義した数のワ
ードのデータの各転送の前にプロセサからのアドレスで
ロードされる。命令キャッシュはプログラムカウンタを
有しており、それはプロセサからのアドレスがロードさ
れ、且つそれはマイクロプロセサからのキャッシュ前進
信号によって前進されて、単一アドレスに応答して複数
個の命令ワードを転送する。命令キャッシュプログラム
カウンタは、ブランチ命令及びコンテクストスイッチの
期間にアドレスがロードされる。これはブランチ又はコ
ンテクストスイッチが発生する迄、単一初期アドレス及
びプロセサからのキャッシュ前進信号に応答して、命令
キャッシュからプロセサへの連続的な命令の転送を与え
る。 好適実施例においては、データ及び命令キャッシュの各
々は、更に、マイクロプロセサ出力アドレスに応答して
メインメモリへの選択的アクセスを管理し、又はI−C
ACHEの内部プログラムカウンタのインクリメントさ
れたアドレスに応答しての命令の先取り乃至はプレスエ
ッチを行う為のメモリ管理ユニットを有している。シス
テムバス、命令バス、及びデータバスは、各々、後に詳
述する如く、特定のプロトコルと関連した複数個の相互
に関連した信号を有している。これらのバスは、夫々の
バスに接続されている要素間にアドレス、データ、及び
制御信号の転送を与える。 以下、添付の図面を参考に、本発明の具体的実施の態様
に付いて詳細に説明する。第1図を参照すると、本発明
のシステム実施例を図示しである。 中央処理装置1 ]、 Oは別々の独立した非常に高速
のキャッシュ/プロセサバスである命令バス121及び
データバス131を介して接続されており、それらのバ
スは夫々命令キャッシュメモリ管理ユニットl 20及
びデータキャッシュメモリ管理ユニット130へ接続し
ている。更に、システムステータスバス115がCPU
ll0から命令キャッシュメモリ管理ユニット120及
びデータキャッシュメモリ管理ユニット130の各々へ
接続されている。命令キャッシュメモリ管理ユニット及
びデータキャッシュメモリ管理ユニット130の各々は
システムバス141へ接続するA (7) 531J々
のインターフェースを持っている。メインメモリ14o
は本システム用の主コア記憶装置を包含しており、且つ
ダイナミックRAM、スタティックRAM、又は高速読
取−書込メモリに対するその他の媒体で構成することが
可能である。キャッシュ120及び130は各々システ
ムバス〕−41を介してメインメモリ140へ接続して
いる。 更に、その他のシステム要素をシステムバス141へ接
続させることが可能であり、例えば工/○処理ユニット
l0P150は夫々のl0P150に対するシステムバ
ス141をI10バス151へ接続させている。I10
バス151は、イーサネyh (Ethernet)、
ユニバス(Unibus)、ブイエムイバス(VMEb
us) 、マルチパス(M IJ l t j、b I
J S )等(7)1準バスインターフエースとするか
、又はI10バス151は二次記憶装置又はその他の周
辺装置。 例えばハードディスク、フロッピィディスク、プリンタ
等へ接続することが可能である。複数個のIOPをシス
テムバス141へ接続させることが可能である。工○P
150はシステムバス141を介してメインメモリ14
0と通信することが可能である。 CPUI 10は又インタラプトライン111を介して
インタラプトコントローラ170へ接続されている。該
CPUに対してインタラプトの優先性を争うユニット(
装置)の各々はインタラプトコントローラ170に接続
されている別のインタラプトラインを持っている。第1
図に示した如く、メインメモリ140はインタラプト出
カニ1.145を持っており、且つl0P150はI2
で示したインタラプト出力155を持っている。これら
のインタラプトII、145.及びI2,155はイン
タラプトコントローラ170に接続されており、該イン
タラプトコントローラ170はCPU1]、Oに対して
のインタラプト要求の優先付けを行い且つその優先性を
調整する。CPUll0は複数個の並列CPUで構成す
ることが可能であり、又単−のCPUとすることも可能
である。 複数個のCPUとする場合には、インタラプト要求の優
先付は及び解決は、CPUll0からインタラプトコン
トローラ170への信号制御ライン111と関連してイ
ンタラプトコントローラ170によって処理される。 システムクロック160はCPUll0命令キヤツシユ
メモリ管理ユニツト120及びデータキャッシュメモリ
管理ユニット130ヘマスタクロツクMCLKを供給し
、その中での内部動作及びそれらの間の動作の同期を取
る。更に、システムクロック160からのバスクロック
BCLK出力はシステムバス141を介しての転送用の
バス同期信号を供給し、且つシステムバス141に接続
されている全てのシステム要素に接続されている。 これは、命令キャッシュMMU 120、データキャッ
シュMMU130、メインメモリ140.l0P150
、及びシステムバス141に接続するその他のシステム
要素を包含する。複数個の装置が同時にシステムバス1
41へのアクセスを要求する場合、バス調整ユニット1
80がシステムバス141−に接続されている装置に接
続される。該バスアービタ即ちバス調整装置は、システ
ムバス141に接続する潜在的なバスマスタの各々への
別々のカップリングを持っている。バスアービタ180
はハンドシェーク手順を使用しており、且つシステムバ
ス141へのアクセスの優先付けを行う。バス調整ユニ
ット180はシステムバス141を制御しその上での衝
突を回避し、且つ通常システムバス141の使用を調整
する。 プロセサ110はキャッシュインターフェースを有して
おり、それはバス121へ接続されている命令インター
フェース及びバス131へFM 続されているデータイ
ンターフェースを有する相互に排他的で且つ独立的に動
作可能な二重キャッシュインターフェースシステムを与
えている。命令インターフェースは外部命令キャッシュ
MMU120との通信を制御し、且つ命令キャッシュM
MU120からプロセサ110への命令のカップリング
を与える。データインターフェースは、外部データキャ
ッシュMMU 130との通信の制御を与えると共に、
プロセサ110とデータキャッシュMMU 130との
間のデータの双方向通信を制御する。該プロセサの実行
ユニットは命令インターフェース及びプロセサのデータ
インターフェースへ接続されている。該実行ユニットは
、命令キャッシュMMU 120から受け取られたぞれ
ぞれ1つ又はそれ以上の命令をデコードし且つ実行する
ことに応答してデータキャッシュMMUから受け取られ
たデータの選択的処理を与える。命令インターフェース
は非常に高速の命令キャッシュMMUバス121を介し
て命令キャッシュM M U 、L 20へ接続する。 該データインターフェースは非常に高速のデータバス1
31を介してデータキャッシュMMU 130へ接続す
る。該命令インターフェース及びデータインターフェー
スは、命令キャッシュMMU 120からプロセサ11
0への命令の非常に高速の転送、及びデータキャッシュ
MMU130とプロセサ110との間のデータの同時的
独立的転送に対する能力を与えている。 データキャッシュMMU 130及び命令キャッシュM
MU120は各々、非常に大型で比較的遅いメモリであ
るメインメモリ145へ接続する為にメインシステムバ
ス141へ接続する為の第2バスインターフエースを夫
々持っている。システムバス141は比較的高速である
が、データバス131又は命令バス121と比較すると
遅い。システムバス141は又その他の回路及び周辺装
置を本マイクロプロセサシステムアーキテクチャ−に接
続する為の手段を与えている。 プロセサ110の命令及びデータインターフェースは、
プロセサ110と夫々のキャッシュ120及び130と
の間のインターフェース及びデータ転送プロセスを完全
に制御する為に必要な制御、タイミング、及びバッファ
動作用論理を与えている。同様に、命令キャッシュMM
U l 20及びデータキャッシュMMU 130は、
夫々の命令インターフェース及びデータインターフェー
スを介してプロセサ11’ Oへのインターフェースを
可能とする為に必要な制御及びバッファ回路を持ってい
る。命令キャッシュMMU 120及びデータキャッシ
ュMMU 130は又各々が、システムバス141を介
してメインメモリ140とのインターフェース及びその
メモリ管理を提供する為に必要な制御及びバッファ回路
を持っている。機能的には、命令キャッシュMMU 1
20及び命令インターフェースは、データキャッシュM
MU 130及びデータインターフェースから別々で独
立したサブシステムを与えている。命令キャッシュMM
U120はメインメモリ140に直接的にアクセスし、
且つデータキャッシュMMU130動作から間接的にア
クセスし、その逆も又真である。 第2図を参照すると、第1図のプロセサ110を更に詳
細に示しである。第2図に示した如く、プロセサ110
は更に命令レジスタ112、命令デコーダ113、及び
実行ユニット114から構成されている。命令レジスタ
112は、命令バス121を介して命令キャッシュMM
U 120がら受け取られた命令をストアし且つプロセ
サ110の命令インターフェースへ出力する、為の手段
を与えている。命令レジスタ112からの出力は命令デ
コーダ113へ接続されている。命令デコーダ113は
、命令レジスタ112から受け取られた命令出力のデコ
ード動作に応答して動作選択信号を出力する手段を与え
ている。命令デコーダ113からの出力動作選択信号は
実行ユニット114へ供給される。実行ユニット114
は、命令デコーダ113から受け取られた動作選択信号
に応答して、プロセサ110及びデータバス131のデ
ータインターフェースを介してデータキャッシュMMU
130から受け取られた選択データを処理する為の手段
を与えてしτる。 好適実施例においては、プロセサ110はパイプライン
動作を与える。第2図に示した如く、命令レジスタ11
2と、命令デコーダ113内の段Cと、実行ユニット1
14内の夫々の段り、E。 Fとの5段のパイプライン動作が存在している。 従って、複数個の動作は複数個の命令に応答して同時的
に達成することが可能である。 第2図に示した実施例において、実行ユニット114は
更にインターフェース115を有しており、それは選択
したデータの処理から得られる出力をプロセサ110の
データインターフェースへ供給してその結果得られるデ
ータをそこからデータキャッシュMMU 130へ出力
させる為の手段を与えている。インターフェース115
は、実行ユニット114とプロセサ1]0のデータイン
ターフェースとの間でデータの双方向結合を与え、そこ
からデータバス131を介してデータキャッシュMMU
 130へ供給させる。 第3図を参照すると、第2図の命令デコーダ11;3の
実施の1例を更に詳細に示しである。第3図に示した如
く、命令デコーダ113は逐次状態装置116を有して
おり、それは命令レジスタ]13から受け取られた命令
をデコードし且つ命令レジスタ112の命令出力に応答
して動作コード信号を与える。逐次状態装置116から
の動作コード信号はタイミング・制御回路117へ供給
され、それは逐次状態装置116からの動作コード出力
に応答して、命令実行の逐次乃至はシーケンス動作を制
御する為の動作選択信号を出力して実行ユニット114
へ供給する為の手段を与えている。 好適実施例においては、各マイクロプロセサは単一チッ
プの集積回路である。然し乍ら、複数個のチップの実施
形態も設計条件に従って使用することが可能である。 プロセサ110の命令インターフェースは更に多段命令
バッファを有しており、それは、各膜対く1つづつの命
令で複数個の命令を逐次ストアする手段を与えると共に
、更にストアした命令を実行手段100へ選択的に出力
する為の手段を与えている。キャッシュ前進信号は、命
令インターフェースが自由空間を持っているので、それ
によって駆動される。キャッシュ前進(Cache A
DVance)はニーキャッシュ−MMUアクセスを制
御する。 従って、命令インターフェースは、命令バス121を介
しての命令キャッシュMMU120からの直列ストリー
ム状の出力として複数個の命令ワードを供給し且つスト
アする為の多段命令バッファを与えている。この多段命
令バッファは、増加する命令処理速度を与えており、且
つプロセサ110のパイプライン動作の為に使用するこ
とが可能である。外部システムクロック160は、プロ
セサ110内及びそれと関連する同期動作に対するクロ
ック信号を与える。 プロセサ110の命令インターフェースは更に、マイク
ロプロセサシステムの動作におけるコンチクスト(文脈
)スイッチ(context 5w1tch)又はブラ
ンチ(分岐)が発生することに応答して命令キャッシュ
MMU 120プログラムカウンタ内にストアする為に
初期命令アドレスを選択的に出力す  。 る為のアドレス発生器を有している。コンテクストスイ
ッチは、トラップ、インタラプト、又は一連の命令に対
しての新たな開始点を示す為に命令キャッシュ120プ
ログラムカウンタの初期値化を必要とする何れかのプロ
グラムの初期値化を包含している。命令インターフェー
スは、キャッシュ前進信号出力を与え、それは、コンテ
クストスイッチ又はブランチの間を除いて、命令キャー
ソシュMMUプロゲラ11カウンタを選択的にインクリ
メントする。コンチフス1〜スイツチ又はブランチが発
生すると、命令キャッシュMMU120プログラムカウ
ンタは、プロセサ110の命令インターフェースのアド
レス発生器から新たな値がロードされる。システムクロ
ック160はマイクロプロセサ1]−〇の命令インター
フェースへクロック信号を与える。 本システムの初期値化がされると、又はコンテクストス
イッチ又はブランチの間に、プロセサ1]−〇の命令イ
ンターフェースアドレス発生器は、命令キャッシュ12
0プログラムカウンタのローディングを行わせる。その
後、キャッシュ前進信号によってイネーブルされると、
命令キャッシュMM、U120は複数個の命令(例えば
、カッド語)をプロセサ110の命令インターフェース
へ供給する即ち接続する為に出力させる。その後、命令
キャッシュMMU120へのプロセサ110の命令イン
ターフェースからのその他のアドレス出力とは独立的且
つ排他的に、命令キャッシュMMU1、20プログラム
カウンタの出力に応答して命令が逐次的に出力される。 図示した如く、プロセサ110のデータインターフェー
スは更にアドレス発生器及びインターフェースを有して
おり、それは外部データキャッシュMMU 503のア
ドレスレジスタ505へ接続する即ち供給する為のデー
タアドレスを出力する。 システムクロック160のMCLKはデータキャッシュ
MMU130へ供給され、データキャッシュMMU 1
30とプロセサ110のデータインターフェースとの間
でのデータ転送の同期を取る。 好適実施例においては、アドレスインターフェース32
4からの何れかの中間的なアドレス出力と独立的且つ排
他的なデータインターフェース302からの各アドレス
出力に対して、データキャッシュMMU503とマイク
ロプロセサ12のデータインターフェース302との間
で定義した数のデータワードを接続する為の手段が設け
られている。 プロセサ110の命令インターフェース及び命令キャッ
シュMMU 120は、命令インターフェースのアドレ
ス発生器からの信号初期アドレス出力及びアクティブキ
ャッシュ前進信号出力のみに応答して、命令キャッシュ
MMU120からプロセサ1.10の命令インターフェ
ースへ予め定義していない長さの命令列乃至はストリー
ムの連続的な出力を与え、それはブランチ又はコンテク
ストスイッチが発生する迄継続する。 プロセサ110データインターフエース及びデータキャ
ッシュMMU130の動作は1両者間において、プロセ
サ110からデータキャッシュMMUへの各アドレス出
力に対して、1つ又はそれ以上の定義した数のデータワ
ードの転送を与える。 この様な定義した複数個のワードの最初のワードは、プ
ロセサ110からのアドレスに応答して出力される。そ
の他のワードは本システムがレディ即ち準備が整うや否
や転送される。この定義された数のワードの転送が完了
すると、プロセサ110からデータキャッシュMMU 
130のアドレスレジスタ内に新たなアドレスがロード
されねばならない。データキャッシュMMU 130と
プロセサ110のデータインターフェースとの間の全て
のデータ転送は、プロセサ110データインターフエー
スからデータキャッシュMMU 130のアドレスレジ
スタ内への新たなアドレスのローディングを必要とする
。この転送は単−又は複数ワードとすることが可能であ
るが、ワード数は転送の開始時に固定され且つ定義され
ており、且つ各転送は別の新たなアドレスをロードする
ことを必要とする。 メインメモリ即ち主メモリ140はシステムバス141
へ接続されており、該システムバス141へはデータキ
ャッシュMMU130及び命令キャッシュMMU 12
0も接続されている。メインメモリ140はアドレス可
能な読取−書込メモリからのデジタル情報を選択的にス
トアし且つ出力する。 命令キャッシュMMU120は、システムバス14]を
介してメインメモリ140へ接続されており、メインメ
モリ140への選択的アクセスを管理してメインメモリ
140とデータキャッシュMMU 130との間でのデ
ータのス1〜ア即ち記憶を行うと共に検索を行う。デー
タキャッシュMMU130は更に、非常に高速のデータ
バス131を介してプロセサ110への又それからデー
タを選択的にストアすると共に出力し、又はシステムバ
ス141を介してメインメモリ140への又はそれから
のデータを選択的にストアすると共に出力する為の手段
を有している。データキャッシュM M U l 30
は、それのアドレス可能な非常に高速の読取−書込メモ
リからのデータの選択的ストア及び出力を与える。 プロセサ110は、命令バス121を介して命令キャッ
シュMMU 120へ、及びデータバス131を介して
データキャッシュMMU130へ独立的に接続されてい
る。プロセサ110は、命令キャッシュMMU120か
ら受け取られた命令の夫々のデコード及び実行に応答し
て、データキャッシュMMU130から受け取られたデ
ータを処理する。処理は、演算的、論理的、関係を基礎
にしたもの等とすることが可能である。 上述した如く、命令キャッシュMMU l 20のプロ
グラムカウンタは、ブランチ及びコンテクストスイッチ
の間のみアドレスがロードされる。そうでない場合には
、命令キャッシュMMUは連続的ストリーム出力モード
で動作する。従って、命令キャッシュMMU120のプ
ログラムカウンタが開始アドレスでロードされ且つキャ
ッシュ前進43号が活性状態とされると、夫々アドレス
された位置のデータが命令キャッシュMMU1.20メ
モリからプロセサ]10へ出力され、且つ爾後の命令は
一度に1つの命令を直列的にストリーム状でプロセサ1
]0へ転送される。何等付加的なアドレス転送の必要性
無しに転送された各爾後の命令ワード又は一群の命令ワ
ードは、コンテクストスイッチ又はブランチが必要とさ
れる時以外に、プロセサ110と命令キャッシュMMU
120プログラムカウンタとの間で転送される。 MCLKは全メインクロック、例えば33MH2、論理
に対するクロックである。BCLKはシステムバスクロ
ックであり、好適にはMCLKの1/2又は1/4の何
れかである。 システムバス141同期に対して、BCLKはシステム
バス上の全てのユニット、即ちCPU、IP○、バスア
ービタ、キャッシュ、インタラプトコントローラ、Mp
等へ、供給される。全ての信号はバス上に発生されねば
ならず、且つBCLKの上昇端でサンプルされねばなら
ない。該信号の伝播遅れは、バス動作の同期モードを保
証する為に、BCLKの1サイクル内でなければならな
い、BCLKとMCLKとの間の位相関係は厳格に特定
されている。1実施例において、BCLKはMCLKの
サイクル時間の2倍又は4倍の50%デユーティサイク
ルクロックであり、それはシステムバス141の物理的
寸法及び負荷に依存している。 図示した如く、命令の転送は命令キャッシュMMU12
0からプロセサ110へ行われる。データ転送はデータ
キャッシュMMU 130とプロセサ110との間で双
方向性である。命令キャッシュMMU 120とメイン
メモリ140との間のインターフェースは、命令キャッ
シュMMU 120のメモリ管理ユニットに応答してメ
インメモリ140から命令キャッシュMMU 120へ
の命令である。これは、ICACHE−MMU120の
キャッシュメモリ内に存在していない命令が要求される
場合に、発生する。データキャッシュMMU130とメ
インメモリ140との間のデータ転送は双方向性である
。命令キャッシュMMU 120及びデータキャッシュ
MMU 130のメモリ管理ユニットは、全てのメモリ
管理、保護、及び仮想アドレスから物理的アドレスへの
変換を行う。 図示した如く、プロセサ110は仮想アドレス出力を与
え、それはメインメモリ内の対応する物理的アドレスと
連合的にマツプした関係を持っている。命令及びデータ
キャッシュMMU 120及び130の夫々のメモリ管
理ユニットは、メモリ管理ユニットが夫々の仮想的にア
ドレスした位置に対して連合的にマツプしたデジタル情
報の夫々の出力を選択的に与える様に、プロセサ110
の命令及びデータインターフェースからの夫々の仮想ア
ドレス出力に応答する。アドレスされた位置に対して要
求された情報が夫々のキャッシュMMUメモリ120及
び130内にス1〜アされない場合(即ち、キャッシュ
ミス乃至はキャッシュはずれ)には、キャッシュMMU
の夫々のメモリ管理ユニットはメインメモリ140へ出
力する為に変換された物理的アドレスを与える。その後
に、対応する情報がメインメモリ140から夫々の命令
キャッシュMMU120又はデータキャッシュMMU1
30へ又はそこから、且つ必要に応じてプロセサ110
へ供給される。 ここで説明する如く、第1図のシステムは、中央処理袋
[110を有しており、それは好適実施例においては単
一チップマイクロプロセサであり、その中に内蔵されて
いる別々の命令キャッシュMMU及びデータキャッシュ
MMUバスインターフェースを持っている。CPUll
0は、別の命令バス121を介して、命令キャッシュM
MU120へ接続する。命令バス121は非常に高速の
バスであり、それは、前述した如く、ブランチ及びコン
テクストスイッチの期間中を除いて、プロセサの関与無
しに命令のストリーム即ち命令列を与える。命令バス1
21は、非常に高速の命令通信を与え、且つ命令キャッ
シュMMU 120からプロセサ110へ非常に高速で
命令を通信する為の手段を与える。プロセサ110は又
別の独立した高速データバス131を介してデータキャ
ッシュMMUへ接続されている。データバス131は、
プロセサ110とデータキャッシュMMU 130との
間でデータの非常に高速な双方向通信を与える。 これら2つの別箇のキャッシュインターフェースバス、
命令バス121、及びデータバス131は各々複数個の
信号を有している。第4図及び第5図に1実施例に対し
て示した如く、データキャッシュバス131、命令キャ
ッシュバス121上の信号は以下の通りである。 *申傘データキャッシュバスIII傘傘ADF <31
 : O>  :  アドレス/データバスこれらのラ
インは双方向性であり且つアドレス/データマルチプレ
ウス動作されるバスを与える。 CPUが1クロツクサイクルに対するメモリ参照の為に
これらのライン上にアドレスを与える。ストア動作と共
に、該アドレスにデータが続く。ロード又はTAS動作
と共に、アドレスサイクルの後これらのパスラインはア
イドル(フローティング)状態となり、従ってこれらの
ラインはデータキャッシュMMTJからデータを受け取
る準備がなされる。次いで、データキャッシュはロード
又はTAS動作の為に該ライン上にアドレスされたデー
タを与える。 MPU0:SSSS0.スーパーバイザモードMPK 
   :SSυ29.保護キーMPU0U  :  S
Sす28.スーパーバイザモード上でユーザのデータ空
間 を選択 MPKU   :  5SW27.7!、−パーバイザ
モード上でユーザのデータ空間 の保護キー MPM    :SS讐26.仮想マツプこれらの信号
はCPU内でのシステムステータスワード(SSW(3
0: 26>)を表しており、且つDキャッシュ及びエ
キャッシュの両方へ供給される。 FC<3 : O>  機能コード/トラップコードア
ドレスサイクルにおける1クロツクサイクルに対して、
CPUがFC<3 : O>ライン上に“データ転送の
タイプ″を与える。D−CACHE、又はI−CACH
Eは、TSTBと共に異常動作に関する“トラップのタ
イプ″を返送する。 転送タイプ ASFアクティブの場合) FC<3210> oooo   単一ワードモードをロード0001  
 二重ワードモードをロード0010  バイトをロー
ド 0011  半ワードをロード 0100   テスト及びセット lX0O単一ワードをストア lX01  二重ワードをストア lXl0   バイトをストア lX11  半ワードをストア D−CACHEはFC上にTRAPコートを与えてCP
Uに応答する。 トラップコード (T S T Bアクティブにの場合)FC<3210
> xoo。 X0OI   メモ1JI=/−(MSBE)XOIO
メモl、Ixラー(MDBE)OII XIOI   ページ障害 X110  保護障害(RE A D)X111  保
護障害(WRITE) ASF  :  アドレス ストローブASFはCPU
によって活性化即ちアクティブとされ、 ′アドレス′
及び′データ転送のタイプ′がADF (31: 10
>及びFC<3 : O> ライン上で夫々有効である
ことを表す。ASFは、アドレスがADFバス上に乗る
よりも半クロックサイクル早くアクティブとなる。 RSP  :  応答信号 ロード動作と共に、R8P信号がD −CA CHEに
よって活性化され、データがADFバス上でレディであ
ることを表す。RSPはADFバス上のデータと同じタ
イミングである。D−CACHEはロード動作と共にデ
ータをCPUへ送り、且つストア動作と共にCPUから
のデータを受け付ける。 ストア動作と共に、データキャッシュMMUが次の動作
を受け付ける準備がなされてレディであるとRSPは活
性化される。二重ロードと共に。 各データパーセル転送と共にRSPが返送される。 二重ストアと共に、第2のデータパーセルが受け付けら
れた後に1つのRSPのみが返送される。 TSTB  :  TRAPストローブFC<2 : 
0>に関するトラップコードと共に、TSTBがD−C
ACHEによって送り出され、動作が異常事態により終
了され且つTRAPコードがFC<2 : O>ライン
上で得られることを表す。既に訂正されたエラー(MS
BE)に基づき、TSTBの次に2クロック期間の後に
RSPが続き、一方何れかのFAULT (障害)又は
訂正不能のERROR(MDBE)に基づいて、TST
Bのみが送り出される。 nDATA  :  D−CACHE このラインが低であると、データキャッシュMMUチッ
プがDATAキャッシュバスへ接続されていることを表
す。 申申*lN5Tバス傘傘* IADF(31:O>  :  アドレス/命令バスこ
れらのラインは双方向性であり、且つアドレス/命令マ
ルチプレウス動作されるバスを形成する。CPUは、そ
れがブランチ、リターン、スーパーバイザコール、等の
プログラムの流れを変える場合、又はそれがSSW <
30 : 26>値を変える場合に、これらのライン上
の仮想又は実際のアドレスを送り出す。命令キャッシュ
MMUはこれらのライン上で命令を返送する。 MPU0.MPK、MPU0U、MPM   :(これ
らのラインのD A T Aキャッシュバス説明を参照
) I FC<3 : O>  :  機能コード/応答コ
ードI−CACHEはFCライン上にTRAPコードを
与えてCPUに応答する。 IFC(ITSTBアクティブにおいて)xoo。 X0OI   メモリエラー(MSBE)XOIOメモ
リエラー(MDBE) X、 1 00 xlol  ページ障害 X 1−10   保護障害(実行) 1ASF  :  ア1−レス ストローブIASFは
CI) Uによって活性化され、アドレスがI ADF
 (31−: O>ライン上で有効であることを表す。 IASFは、アドレスがIADFバス上に乗るよりも半
タロツクサイクル前にアクティブとなる。 l5END  :  命令送れ(即ち、キャッシュ前進
信号) I 5ENDはCPUによって活性化され、CPUが次
の命令を受け付ける為の準備がなされていること(例え
ば、CPU内の命令バッファが満杯でない)を表す。 R8Pの後端において、命令バッファが満杯であると、
l5ENDはオフでなければならず、そうでないと1次
の命令が命令キャッシュMMUから送られる。例えばブ
ランチ時に、新しいアドレスが発生されると、IASF
がアクティブとなる少なくとも1クロツクサイクル前に
I S E N Dはオフでなければならない。 IR8P  :  応答信号 IR8Pは丁−CACHEによって活性化され。 命令がIADF <31 : O>ライン上でレディで
あることを表す。IR8Pはバス上のデータと同しタイ
ミングである。 ITSTB  :  TRAPストローブこれはI−C
ACHEによって活性化され、キャッシュが異常事態に
よってその動作を終了させ、且つTRAPコードがI 
FC<3 : O>ライン上で得られることを表す。既
に訂正されたエラー(MSBE)に基づき、2クロック
期間後にTSTBがR8Pに続き、一方F’ A U 
L T又は訂正不能のエラー(MDBE)の場合には、
T S T Bのみが送り出され且つアクティブとなる
。 lN5T  :  I−(二A CHFこのラインが高
であると、キャッシュがINS′rキャッシュバスへ接
続される9 命令キャッシュMMT、J120及びデータキャッシュ
MMU130の各々はシステムバス141へ接続する為
の第2バスインターフエースを持っている。システムバ
ス141は、それに接続されている全ての要素の間で情
報を通信する。システムクロック160のバスクロック
信号BCLKは、システムバス141に接続されている
要素間の転送の同期を与える。 第6図に示した如く、命令キャッシュMMU 120及
びデータキャッシュMMU 130からのシステムバス
出力は、共通中間バス133へ接続されており、それは
TTLドライバ/バッファ回路135へ接続してシステ
ムバス141への及びそれからのインターフェースをバ
ッファすると共に駆動する。このことは、命令キャッシ
ュMMU120及びデータキャッシュMMU130の各
々がモノリシックの単一チップ集積回路である場合、及
びモノリシック集積回路をバスインターフェース危険か
ら保護する為にバスドライバ/しうノーμをモノリシッ
ク集積回路から分難すること・が所望される場合に、特
に有用である。以下のバス信号がバスドライバそ゛レシ
ーバ動作を調節する。 DIRout  :  ADババス方向が外側。 この信号は、ADラインのオフチップドライバーレシー
バを制御する為に使用される。ADDRESSの発生と
共に且つDATAを書込モードで送り出すと共に、マス
タキャッシュがこ信号を活性化させる。読取モードでD
ATAを送り出すと共に、スレーブキャッシュがこの信
号を活性化させる。 ICA/  :  I−CAC:HEアクセスn I 
CAは、データ及び命令キャッシュとCPUによっての
み使用される。この信号は、I−CACHE内の■0空
間をアクセスする為に、対とされているI−CACHE
へD−CACHEから送られる。システムバスからメモ
リマツプされたTOアクセスの到達と共に−I−CAC
HEはそれはnICAがアクティブである場合にのみI
Oコマンドとして受け付ける。従って、キャッシュは■
0コマンドを対とされたCPUからのみ受(づ付ける。 システムバス141の同期動作は、サンプルされる時に
信号変化が発生しない限り、」二連したシステム環境に
おいて可能とされる。この動作を実現する為には2つの
タイミングが基本であり、その1つはバス上に信号を発
生することであり、その他方はサンプリングして信号を
検出することである。これらの2つのタイミングは、バ
スクロックBCLKから発生されねばならず、そのクロ
ックはマスタクロックMCLKと特定の位相関係にあり
、内部論理動作と特定の関係を維持する。これらのタイ
ミングは、バス上において互いに小さなスキュー即ち歪
を持っており、次式を満足するものでなければならない
。 Tg−s  >  Tpro  +  Tskこ−で、
Tg−sは信号発生タイミングから信号サンプリングタ
イミングへの期間であり、 Tproは信号の最大伝播
遅れ時間であり、Tskはバスグロックのスキューであ
る。 システムバスの物理的条件が上式を満足するものではな
い場合、信号はサンプリングタイミングに関して非同期
的に到着する。この場合、外部非同期信号を同期させる
為にバスインターフェース内にシンクロナイザが必要で
ある。非同期動作はバスの物理的寸法又はどの様な種類
のタイミング遅れをも制限するものではないが、゛′同
期障害″の可能性を除去することが極端に困難であると
いう重大な欠点が存在する。非同期方法の別の欠点は、
非同期方法において必然的に必要とされるハンドシェイ
クプロトコールに起因する速度上の制限である。このこ
とは、マルチデータ転送モードにおいて特に非効率的で
ある。ハンドシェーク手法は、1つのソースと1つ又は
それ以上のデスティネーションとの間での相互通信の有
用な方法であり、1つこれはデータ転送動作の安全な方
法であるが、タイミングプロトコールが速度を制限し且
つ非常に高速のバス動作においては屡々不満足なことが
ある。更に、非同期バスは)、イズにも敏感である。 好適実施例においては、システムバス141は1つのタ
ロツク: BCLKを持っている。MCLKはCPUl
l0とキャッシュ120及び130の内部論理動作の為
に使用され、且つBCLKは上述した如くバス動作の同
期タイミングを発生する為に使用される。 システムバスは、ハンドシェーク及び非ハンドシェーク
方法の適合性の組合せを与えることが可能である。 好適実施例においては、システムバス141は高速の同
期バスでマルチプルマスタ機能を具備している。各潜在
的なマスクは、コントロールライン即ち制御線111を
介してプロセサ110へ接続されているインタラプトコ
ントローラ170へ接続される別々のインタラブ1−ラ
インを持つことが可能である。システムバス141はマ
ルチプLノクス動作されるデータ/アドレス経路を持っ
ており且つ単−又は複数ワードブ
【Jツク転送を可能と
する。該バスは効率的なCPτJ−キャンシュ動作を可
能とする為に最適化されている。それは明示的な読取/
修正7苫込サイクルを持つものではないが、バスを解放
すること無しに読取次いで書込サイクルを行うことによ
ってこのことを実行する。 第1図の実施例の例示として、本システムは単一のCP
Ull0と、8人力固定優先バスアービタ180と、イ
ンタラプトコントローラ170とを有している。全ての
信号はクロックの端部で発生され且つサンプルされ、且
つ次のクロック端部の前に少なくともセットアツプ時間
の間安定であり且つ中間回路動作を回避する為にクロッ
ク端部の後少なくとも保持時間の間一定に保持されるべ
きである。これは、バス遅延に制限が課されるへきであ
ることを意味しており、それはバス長さ及びローディン
グを制限する。 システムバス141は複数個の信号を有している。例え
ば、第5図に示した如く、1実施例の場合、システムバ
ス141は以下の信号を有することが可能であり、II
 / 11は低の場合に真を表す信号を示している。 AD <31 : O>  :  アドレス/データバ
スこれはマルチプレクス動作されるアドレス/データバ
スである。有効なバスサイクルの間、バスの権利を持っ
たバスマスタはバス上にアドレスを与える。次いで、そ
のバスマスタは書込の為にバス上にデータを与えるか、
又はそのADババス方を高インピーダンス状態へ3状態
(フロート)とさせて読取の間にデータを受け取る準備
をする。 CT(3:O>   :  CycleTypeCT 
<3 : 2>はバス上のマスクのタイプ及び読取又は
書込サイクルが行われているが否かを表す。 oo   cpu書込(CPU型装置により書込の送出
) 01   CPU読取(CP U型装置により読取の送
出) 10   I○書込(IOP型装置により書込の送出) 11   IO読取(IOP型装置により読取の送出) CT (1: O)はサイクル中に転送されるべきワー
ド数を表す。 CT <1 : O> 00  単一ワード転送 01  カッド語転送 10 16ワード転送 11  グローバルCAMMU書込 MS <4 : O>  :  システムメモリ空間ビ
ットシステムMSビットは、現在のアクセスが発生する
メモリ空間及びキャッシュが内部サイクルを行うことを
表すコードを特定する。そのサイクルは、キャッシュエ
ントリをアップデートするか、又はキャッシュが一層最
近のデータのコピーを持っている場合には1本システム
バスヘデータを供給するかの何れかの為に必要とされる
。 MS  :  432 000 メインメモリ、専有空間。 キャッシュ可能ライトスルー (write through)。 001  メインメモリ、共有空間。 キャッシュ可能ライトスルー。 0.10  メインメモリ、専有空間、キャッシュ可能
コピーパック。 011  メインメモリ、共有空間。 キャッシュ不能。 IXOメモリマップドエ○空間。 キャッシュ不能。 1x1 ブートローダ空間。 キャッシュ不能。 キャッシュMMU及びメモリマツブト空間内の装置の間
の転送は単−又は部分的ワードのみによる。 該転送がメモリマツブト空間内間へのものである場合、
それは単一サイクル型のもの、即ちCT(1: 0)は
(oO)であり、次いで下位の2つのMSビットは参照
されたデータの寸法を表す。 MS(1:0) OX   全体ワード転送 10  バイト転送 11  1/2ワード転送 転送されるバイト又は半ワードは、データのアドレスに
よって指摘されているバスビット上に現れねばならない
。例えば、アドレスFF03(HEX)へのバイトアド
レスの間、所望のデータはワードの第3バイトであるバ
ス信号AD(23:16〉上に現れねばならない。 キャッシュ120又は130が共有書込(即ち、メイン
メモリ140内の共有空間内への書込)又はシステムバ
スからのIO書込によってアクセスされると、適宜のキ
ャッシュ内のヒツトラインは無効とされねばならない。 キャッシュがシステムバスからの工○読取によってアク
セスされると。 キャッシュ内の整合されたよごれたデータは送り出され
ねばならない。 マスクはスレーブに対して、スレーブが応答することの
可能なサイクルのタイプを送出せねばならず、そうでな
いとバスはタイムアウトとなる。 AC/  :  ActjveCycleこれは現在の
バスマスタによって起され、バスサイクルがアクティブ
であることを表す。 RDY/  :  ReaDY EDY/は、所要のバス動作を完了する準備がなされ且
つ入手可能なデータを取ったか又は読取データをバス上
に与えたかの何れかの場合に、アドレスされたスレーブ
によって送出される。RDY/はCBSY/が不活性状
態となる迄はアサート即ち起生されない。長いアクセス
時間を許容する為に、複数ワードアクセスサイクルに関
しての転送の間はRDY/を否定されることが可能であ
る。複数ワード読取書込サイクルの間、ReaDY/は
、転送の最初のワードが除去される2クロツク前に7サ
ートされねばならない。次のデータが遅延されるべき時
には、ReaDY/はそれがアサートされた後のクロッ
クで否定されねばならない。この信号は、スレーブとし
て機能することの可能な装置間の″ワイヤードOR″さ
れたものである。 CBSY/  :  CacheBUSYCBSY/は
、バスアクセスに起因して、内部サイクルを実行してい
る時にキャッシュによって送出される。バス及びアドレ
スされたスレーブの現在のコントローラは、CBSYが
偽(false)になる迄そのサイクルを完了してはな
らない。この信号はキャッシュ間で″ワイヤーOR”さ
れている。CBSY/ラインは、動作が終った後にのみ
解放される。専有書込モードの場合、各スレーブキャッ
シュはそのCBSY/信号を高インピーダンス状態に維
持する。 M S B E /  :  MemorySingl
eBitErrorこれは、単一ビットメモリエラーを
検知し且つ訂正した後にメインメモリ140によって送
出される。これは、エラーのデータがバス上で真(tr
ue)の時にのみ真となる(即ち、4ワード転送の3番
目のワードがこのサイクルにおいて訂正した読取エラー
を持っていると、該3番目のワードがバス上でアクティ
ブである時間中、(MMBE)は真である。)。 M M B E /  :  Me[IIoryMul
tipleBitErrorこれは、それが訂正不能の
メモリエラーを検知するとメインメモリによって送出さ
れる。これは。 エラーのデータがバス上で真の場合のみ真となる(即ち
、4ワード転送の3番目のワードがこのサイクルにおい
て訂正不能の読取エラーを持っていと、該3番目のワー
ドがバス上でアクティブの時間中、MMBEは真となる
6)。 BERR/  :  BusERRorこれは、それが
バスタイムアウト状態を検知するか又はバスパリティエ
ラーが検知された後に、バス調整論理によって送出され
る。信号タイムアウトタイミングはBusGrantの
期間である。 P <3 : O>  :  パリティビット3乃至O
これらは、AD <31 : O>バス上の4バイト用
の4つのパリティビットである。アドレス及びデータの
両方が全てのサイクルでパリティをチェックする。 PERR/  :  Parity  ERRorこれ
は、各装置のパリティ検査回路によって駆動されるオー
プンコレクタ信号である。それは、パリティエラーがア
ドレス又はデータの何、れかにおいて検出されるとアサ
ート即ち起生される。それは、バス調整論理180によ
ってラッチされ、それはバスエラーシーケンスを発生す
る。 BRX  :  BusRequestこれは装置xか
らバスアービタ180へのバス要求信号である。 BGX   :    BusGrantこれはバスア
ービタ180から装filxへのバス許可信号である。 LOCK  : これは、読取/修正/書込サイクルの間に発生される。 それはCT及びMS信号と同じタイミングを持っている
。 MCLK  :  マスタクロック マスタクロックMCLKは1個又は複数個のCPUll
0及びキャッシュ120及び130へ送られる。 BCLK  :  BusClock これはシステムのバスクロックである。全ての信号はそ
の上昇端部で発生され且つ検知される。 RESET/  : これはシステムのマスタリセット信号である。 それは多数のバスクロックサイクルに対してアサ=1−
される。   ゛ RATE  :  BCLK/MCLK  rateT
=ow  :  BCL、KはMCLK (例えば、6
0ns)の1/2の周波数を持つ。 Hi g h :  B CL KはMCLK (例え
ば、120 ns)の1/4の周波数を持つ。 1実施例においては、システムアーキテクチャ−はマル
チプル即ち複数のキャッシュメモリ、マルチプルのプロ
セサ、及び■○プロセサを有している、この実施例にお
いては、それがストアされており及び/又は使用される
全ての個所において同一のデータを同じ値に維持する上
での問題がある。この問題を緩和する為に、キャッシュ
メモリはシステムバスをモニタし、各サイクルを検査し
てそれが本システム内のデータの一貫性に影響を与える
ことが可能なタイプのものであるか否かを判別する。そ
の結果が庁定である場合、キャッシュは内部サイクルを
実行して、それはそのデータをパージせねばならないか
又はバス上のアドレスされた装置からの代りにキャッシ
ュからシステムバスヘデータを供給せねばならないかを
決定する。 キャッシュがこのことを決定する間、そわはCache
BusY/をアサートする。それがサイクルを終了する
と、それはCacheBuSY/を否定とする。それが
データを持っていると、それはそれをバス上に与え且つ
Re a D Y /をアサートする。 キャッシュをして内部サイクルを実施させるバスサイク
ルは以下の通りである。 1、専有メモリ空間に対するIO読取(IOR)。 これはキャッシュがデータを供給することを許容し、そ
れは修正されている場合もあるがメモリに未だ書込され
ていない。MemorySpaceコードは〈010x
x)である。即ち、メモリ空間はメインメモリであり、
且つ所要のデータは専有メモリ区域内にコピーバックモ
ードでキャッシュされる。 プログラミングエラーに起因して、16ワードサイクル
がキャッシュ可能であると宣言され且つキャツシュヒツ
ト即ちキャッシュ当りが発生すると、該キャッシュは最
初の4ワードを正確に供給し且つ次いで残りの12ワー
ドへ転送された4番目のワードの値を供給する。 2.1.4、又は16ワードの■0書込サイクル(IO
W)、これは、キャッシュがそれ(それら)が有してい
るメモリ内で変化されるべき何れのデータも無効化する
ことを許容する。lilemorysρae8コードは
<0O1xx>、 (OOlxx)。 及び<010xx)である。即ち、キャッシュされた全
ての整合データをパージする。 3、 単−及び4ワードCP Uの共用メモリへの書込
。これは、その他のキャッシュが、メモリ内で変化され
ているそれらが収容している全てのデータを無効化させ
ることを可能とする。MemorySpaceコードは
<003.xx>である。即ち、何れの整合即ちマツチ
ングデータもキャッシュ可能であり共用メモリ区域内に
ある。 4、 キャッシュメモリ管理ユニット(G A M M
U)制御レジスタへのグローバル書込。マルチプルCP
Uシステムにおいて、例えばマルチプルキャッシュ対と
を具備、CBSYラインをモニタし且つグローバルモー
トでCBSYがオフしている場合にRDY信号を送出す
る為に付加的な装置が必要とされる、 5、 データキャッシュメモリ管理ユニット(DCAM
MU)からそのコンパニオンの命令キャッシュメモリ管
理ユニット(ICAMMU)へのアクセス。 以下の説明は、システムバスを横断して成功裡にデータ
を転送する為に続いて行われるべきバス転送要求の例示
的要約である。ソフトウェア上の約束ごとに起因するそ
の他の制限も必要になる場合がある。 (1)  BCLKの上昇端部で全ての活動が発生ずる
。 (2)  全ての信号は全ての適宜のセットアツプ及び
保持時間に適合せねばならない。 (3)  マスタはスレーブが実行可能なサイクルのみ
をスレーブへ送出せねばならない。これらのものは以下
の通りである。 (i)MMIO及びブート(B o o t)アクセス
は単一サイクルのみである。 (11)  メモリへの16ワード転送は工○タイプサ
イクルとし、で送出することが出来るだけである。 (4)  キャッシュ可能サイクルの間、バススレーブ
は、CacbeBuSY/が否定される迄、ReaDY
/を送出してはならない。キャッシュ不能サイクルの間
、アドレスされたスレーブはCacheBusY/の為
にテストする必要はない。 CacheBuSY/が否定された時にRe a DY
/がアサートされると、本メモリシステムはそのサイク
ルをアボート即ち中断せねばならない。 典型的なシステムバス141サイクルは、バスアービタ
180へのBusRequestをアサートすることに
よって装置がバスの支配を要求する時に開始する。成る
時間後に、アービタ180はBusGrantを送り返
し、要求する装置がバスを使用することが可能であるこ
とを表す。次のクロックで、その装置はActiveC
ycle/、バスアドレス、バスCy c l e T
 y p e、及びバスMemorySpaceコード
をアサートする。バスアドレスは2個のBCLKの後に
除去される。そのサイクルが書込であると、データはA
ddressDataライン上でアサートされる。それ
が読取サイクルであると、A d d r essDa
taラインは3状態であり、データがそれらの上に与え
られることを予期する。次いで、以下の1つが発生する
。 1)該サイクルがキャッシュ内部アクセスを包含すると
、キャッシュは、それがその内部動作を完了する迄、C
acheBuSY/をアサートする。CacheBuS
Y/がアサートされるとメインメモリがそのサイクルを
完了することを禁止する。ここで、幾つかの発生するこ
との可能なシーケンスが存在する。 1)該サイクルが専有メモリへの工○読取であり且つキ
ャッシュが最も最近のデータを持っている場合、該キャ
ッシュは同時的に該データをシステムバス141上に与
え、ReaDY/をアサートし且つCacheBuSY
/を否定する。ReaDY/が真になることは、それが
現在のサイクルをアボートすることをメモリ140へ表
す。 1j)  該サイクルが工○書込又は共用メモリへの書
込である場合、メモリ140はCacheBuSY/が
否定され且つReaDY/がアサ−1〜されるのを待つ
。 1ii)  該サイクルがメインメモリ140内の専有
メモリへのl0fi取であり、且つキャッシュがデータ
を持っていない場合、CacheBuSY/は究極的に
否定される。このことは、メモリ140がバス141上
のデータをアサートし且っReaDY/をアサートする
ことを可能とする。 2) 該サイクルがキャッシュアクセスを包含しない場
合、CacheBuSY/はモニタする必要は無い。 Re a D Y /が真になることは、該データが成
功裡に転送されたことをマスクに知らせる。単一ワード
アクセスの場合、それはサイクルが終端であることを表
す、ReaDY/は、ActiveCycle/後の1
個のBCLKが落とされる迄真のままである。それが読
取サイクルの場合、データは、ActiveCycle
/よりも1個のBCLK長く真のままである。書込サイ
クルの場合、データはActiveCycla/と共に
落とされる。BusRequest、MemorySp
ace、及びCycleTypeもActivecyc
le/と共に落とされる。BusRequestが偽と
なることは、バスアービタ180により次のBCLKで
BusGrantと落とさせ、そのサイクルを終了させ
る。ReaDY/lt、BusGrantと共に落とさ
れる。該サイクルがマルチワード型であると、ReaD
Y/が真になることは、その後も転送が行われることを
表す。マルチプルワードサイクルの最後の転送は、対応
する単一ワードサイクルのものと同一である様に見える
。 読取/修正/書込サイクルは、両者間にバス調整が発生
することの無い、読取及び書込サイクルである。読取デ
ータはBCLK端部乃至はエツジと同時か又はその前に
除去されねばならず、該エツジにおいて次のActiv
eCycle/がアサートされる。 BusError即ちBERR信号が与えられて、何等
かのバス障害状態の後にシステムバス141が秩序正し
くクリアされることを可能とする。 最長サイクルの長さは既知(例えば、16ワード読取又
は書込)であるから、充分な保護を与える為にはBus
Grantをタイムアウトさせることが必要とされるに
過ぎない。マスクの場合に、装置がBusERRorを
検知すると、それは直ぐにそのサイクルをアボートし、
BusRequestを落とし、且つバスをオフさせる
。BusERRo rが落とされると、BusGran
tは現在のマスクに落とされる。バス駆動論理はこの状
態を処理するべく設計されている。バスタイムアウトを
起した最後のサイクルの開始時に提供されたアドレスは
バスコントローラ内のレジスタ内にストアされる。 Parity  ERRor/が真になるとBERRも
発生される。タイムアウトとPr1tyERRo rの
両方が同時に真になると、タイムアウトが手順を踏む。 図示した如く、メインメモリ140は、読取−書込メモ
リアレイエラー訂正及びドライバーレシーバ及びバスイ
ンターフェース回路を有しており、それはメインメモリ
140とシステムバス141との間での転送用のバス接
続及びインターフェースプロトコル取り扱いを与える。 メインメモリ140メモリエラー訂正ユニツトは、メイ
ンメモリ140の記憶部から読取が行われる場合に、エ
ラー検知及び訂正を与える。エラー訂正ユニットはメイ
ンメモリ140のメモリアレイ記憶部へ接続され、且つ
システムバス141を介してデータキャッシュMMU 
130及び命令キャッシュMMU120へ接続される。 メモリ140から読み取られるデータはエラー検知訂正
ユニットによってエラー訂正の為に処理される。 プロセサ110は、上述した態様で、転送されるべきデ
ータの開始位置を表す様に命令キャッシュMMU 12
0及びデータキャッシュMMU130へアドレスを与え
る。好適実施例において、このアドレス情報は仮想又は
論理アドレス形態で与えられ、それは連合マツピングを
介して、メインメモリ140内の実際の即ち物理的アド
レスに対応する。メインメモリ140は、システムバス
140を介して接続されて物理的アドレスに応答して、
メインメモリ140内のアドレス可能な位置からのデー
タの読取及び書込を与える。 命令キャッシュMMU 120及びデータキャッシュM
MU 130の非常に高速のメモリは、それらの夫々の
アドレス可能な非常に高速のメモリからのマツプした連
合的態様でデジタル情報の選択的記憶及び出力を与える
。命令キャッシュMMU120は、主メインメモリ〕、
40への選択的アクセスを管理する為のメモリ管理手段
を有しており。 且つ仮想から物理的アドレスへのマツピング及び変換を
実行し、必要な場合に、システムバス141へそこから
メインメモリ140への物理的アドレス出力を与える。 データキャッシュMMU130は又、プロセサ110か
らの出力としての仮想アドレスに応答する非常に高速の
マツブトアドレス可能メモリを持っている。命令キャッ
シュMMUと同様な態様において、データキャッシュM
MU130は、メインメモリ140への選択的アクセス
を管理する為のメモリ管理手段を持っており。 該メモリ管理手段は、仮想から物理的アドレスマツピン
グ及び変換を包含しており、必要な場合に、物理的アド
レス出力をシステムバス141へ且つそこからプロセサ
110からの仮想アドレス出力に応答して主メモリ14
0へ与える。システムバス141は、メインメモリ14
0、命令キャッシュMMU120、データキャッシュM
MU13o。 及びそれらに接続されておりそれらの間でデジタル情報
を通信するその他の要素に接続されて高速通信を与える
。 CPUll0は、2つの非常に高速のキャッシュバス、
命令キャッシュ/プロセサバス121及びデータキャッ
シュ/プロセサバス131を介して、2つのキャッシュ
MMU 120及び130へ同時的にアクセスすること
が可能である。各キャッシュMMUは、キャッシュMM
UへのCPUアクセスに“ミス″があると、システムバ
ス141にアクセスする。キャッシュMMUは基本的に
CPU110延長時間とメインメモリ140アクセス時
間との間の速度差を除去している。 I10インターフェース処理ユニット(IOP)150
は、第1図に示した如く、工○アダプタ152、IOプ
ロセサユニット153、及び局所メモリMI○154を
有している。I10インターフェース152は、システ
ムバス141及び外部I10バス151をインターフェ
ースし、後者に対して外部I10装置が接続されている
。I10アダプタ152の異なったバージョンを構成す
ることが可能であり、例えばディスクやテープ等の二次
的記憶装置とインターフェースさせたり、又カスタムの
バスのみならずVME b u sやMULT I b
 u s等の異なった標準工/○バスとインターフェー
スさせることも可能である。I10プロセサユニット1
53は既存の標準のマイクロプロセサの任意の種類のも
のとすることが可能であり、又はカスタムのマイクロプ
ロセサ又はランダムロジックとすることが可能である。 ディスク制御プログラムを有するIOプログラムはMI
○154内に存在することが可能である。 システムバス141上のデータ転送モードはCTババス
介してCTコードによって定義される。 好適実施例においては、メインメモリ140(即ち、M
p)へのデータキャッシュMMU 130のデータ転送
は、カッド語モード(即ち、]−っのアドレスに4個の
連続するデータワードが続くもの)又は単一ワードモー
トの何れかとすることが可能である。 工/○読取/書込動作は■○プロセサl0PI50で開
始されるが、上述した単−及びカッドモードに加えて、
ブロックモードを宣言することが可能である。ブロック
モードは、システムバス141」二で16ワード連続デ
ータ転送がデータ転送速度を増加させることを可能とす
る。このことは、通常、工○読取でページの′ライトス
ルー(全書込)′を行う為にのみ使用される。IOf込
で、これは、 ′ライトスルー′又は′コピーバック′
ページの何れかを宣言することが可能である。工0P1
50がメインメモリ140からl0P150へのデータ
転送を開始すると、メインメモリ140がコピーパック
方法に応答する代りに、キャッシュはIOP要求に応答
せねばならない場合がある。何故ならば、最も最近に修
正されたデータを持っているのはメインメモリ1.40
ではなくデータキャッシュ130の場合があるからであ
る。 特別の制御信号がキャッシュ120,130へ、及びメ
インメモリ140(即ち、CBSY/及びRDY/信号
)へ供給される。 読取−修正−書込動作の場合、単一読取動作には1つの
バス要求サイクル内において単一ワード書込動作が続く
。 メインメモリ140はメモリ間ハスに接続されている多
数基板のメモリを有することが可能である。メモリ間バ
スは、メインメモリアドレスバス及びメインメモリデー
タバスに分離される。上述した全てのデータ転送モード
がサポートされる。 ブートROMは特別のアドレス空間内に位置されており
且つ直接的にシステムバス141へ接続させることが可
能である。 第1図を再度参照すると、プロセサ11.0は又インタ
ラプトベクトル及びコントロールライン111を介して
インタラプトコントローラ170へ接続して示されてい
る。図示した如きインタラプトコントローラ170は、
インタラプトライン145を介してメインメモリ140
へ接続されており、且つインタラプトライン155を介
して工○P150へ接続されており、且つインタラプト
ライン165を介してアレイプロセサ170へ接続され
ている。インタラプトコントローラ170は、インタラ
プトライン111を介してプロセサ110へのインタラ
プトを合図する。 インタラプトコントローラ170はCPUll0へ接続
されており、バスマスタ装置によって送出されるインタ
ラプト要求に応答する。 CPUは別の独立的なインタラプトバス111を持って
おり、それはマスク可能なインタラプトを制御し且つイ
ンタラプトコントローラ170へ接続する。各レベル−
(ンタラプトはCP U内のl5W(即ち、インタラプ
トステータスワード)の対応するビットによってマスク
されることが可能である。全てのレベルはベクトル化さ
れたインタラプトで且つ共通要求及びアクノリツナ/イ
ネーブルラインを持っている。 バスインタラプトコントローラ170は、幾つかの高レ
ベルインタラプトソースをイネーブルさせてCPU1.
10をインタラプト即ち中断させる。 1実施例において、インタラプトコントローラ170は
並列の固定優先型のものである。そのプロトコールはシ
ステムバス141のものと同様であり、且つ同じライン
上でグループ及びレベルをマルチプレクス動作する。 インタラプトコントローラ170は以下の信号によって
各潜在的インタラプト用装置へ接続される。 IREQX/  :  装置XからのInterrup
tREQuestこの信号は、サービス用の要求として
、インタラプトする装置によってインタラプトコントロ
ーラ170へ送出される。 IENX/  :  装置xへのInterruptE
Nablにれは、インタラプトする装置へインタラブ[
・コントローラ170によって送出され、それがインタ
ラプトサービスが許可されたことを表す。 I B U S <4 : O>  :  Inter
ruptBUSこれらの5本のラインはインタラプトコ
ントローラ170へのインタラプトグループ及びレベル
を担持する。これは3状態バスである。 I RE J /  :  InterruptREJ
ectこの信号はインタラプトする装置に、CPU11
oがこのグループ内のインタラプトを受け付けることを
拒絶したことを示す。これは全てのインタラプト装置へ
接続される。 インタラプトコントローラ170は、以下の如く、信号
ライン111によって1個又は複数個のCPUll0へ
接続される。 I R/  :  CPU Interruput R
equestIR/は未処理のベクトル化インタラプト
の存在を表しており、そのレベルはVCT (2: O
>ライン上で得られる。 I A K /  :  CPU Interrupt
 AcKnotyledgeCP U 1 ]、 0は
IAK/を送り出して、インタラプトが受け付けられた
ことを表し、且つ同時に、VCT <4 : O>ライ
ンを介してベクトル番号を読み取る。IAK/及びIR
/はハンドシェーク態様を構成する。 M K  :  MasKed response現在
のインタラプトをマスクしている各CPUは、IAK/
信号の代りにMK倍信号返送する。 この場合は、インタラプトはCPU内にはラッチされな
い。MKはインタラプトコントローラによってマスクし
たインタラプトを解放し且つ新たに到着したより高レベ
ルのインタラプトに譲る為に使用することが可能である
。 VCT (5: O)   :  レベル及びベクトル
コードVCTラインはマルチプレクス動作され、且つレ
ベル番号及びベクトル番号を与える。IR/がアクティ
ブであると、レベル番号0−7はVCT<2 : O>
ラインに与えられる。IAK/がcpUによって活性化
されると、VCT <4 : O>ラインは、そのレベ
ルの32個のインタラプトの1つを識別するベクトル番
号を持っている。VCTラインはインタラプトコントロ
ーラ170からの出力を1個又は複数個のCPUll0
へ接続する。 CPUll0はIAK/を活性化させ、且つ1BUS 
<4 : O>ラインを介して、各レベルにおいて32
個のインタラプトの1つを識別するバク1−ル番号を入
力する。マルチプロセサ環境において、これらのレベル
は、システムに柔軟性のあるインタラプト手法を持たせ
る為に使用することが可能である。マルチプロセサシス
テムにおけるインタラプト方法の例として、全てのI 
RE Q X /ラインが活性化されると、ISW内の
CPUイネーブルビットがCPUがそのインタラプトを
受け付けるべきであるか否かを区別する。従って、イン
タラプトの各レベルは32個のインタラプトを持ってお
り、且つそのレベルは、SSW、(即ち、システムステ
ータスワード)内のイネーブルビットを制御することに
よってCPUの何れか1つへ動的に割り当てることが可
能である。 現在のインタラプトをマスクしているCPUによって、
IAK/の代りに、MK(マスクした)信号が活性化さ
れる。そのインタラプトはこれらのCPUによって無視
される(即ち、ラッチされない)。これらの信号は、イ
ンタラプトコントローラ170がマスクしたインタラプ
トを予約し且つそれが発生した場合により高いインタラ
プトを処理させることを可能とする。 第1図に関して上述した如き要素を越えて、本アーキテ
クチャ−に付加的なシステム要素を付加させ、且つシス
テムバス141を介して、本システムに接続させること
が可能である。 バスアービタ180はシステムバス141へ接続されて
おり且つシステムバス141へ接続されているシステム
要素、例えば命令キャッシュMMU120及びデータキ
ャッシュMMU130へ接続されており、システムバス
141へ接続されている複数個の潜在的パマスタ″要素
間のチャンネルアクセス競合を選択的に解決する。これ
は、システムバス141上の通信の一体性を維持し且つ
その上でのデータ転送の衝突を回避する。バスアービタ
170はバス要求及びバス許可入力及び出力を持ってお
り、これらは夫々命令キャッシュMMU120.データ
キャッシュMMU130.及びl0P150へ接続され
る。例えば、命令キャッシュMMU120が、メインメ
モリ140と相対的にl0P150へ又はそこからデー
タ転送をIP○150が要求するのと同時的に、メイン
メモリ140からの命令データの転送を要求する場合、
バスアービタ180は競合を解決する責務があり、従っ
て同時的状みの結果として競合及び衝突を発生させる代
りに、2つの事象が順番に起る様にさせる。 バスマスタ間のバス調整はバスアービタ180によって
行われる。各バスマスタは、それがシステムバス141
しこアクセスせんと意図する場合に、そのバス要求BR
ラインを活性化させる。バスアービタ180は、その時
に常に最高の優先度を持っている新たなマスタヘバス許
可(BG)信号を返送する。 アクティブなりR及びBG倍信号持っているバスマスタ
は、データ転送が完了する迄、そのBR倍信号アクティ
ブに維持することによってバスの権利を維持することが
可能である。他のマスタは。 その夫々のBG倍信号次に活性化される迄、それらのB
R倍信号アクティブに維持する。 システムバス141は共用資源であるが、1つのユニッ
トのみが任意の時間にそのバスを使用することが可能で
あるに過ぎない。各々が独立的にシステムバス141ヘ
アクセスすべく試みることの可能なシステムバス141
へ接続されている多数の潜在的なババスマスタ′°が存
在するので、バスアービタ180はシステムバス141
へ接続されるべき必要な要素である。 通常、2つの優先性調整技術があり、それらは固定優先
(fixed priority)と、回転又は計画優
先(rotating or 5cheduled p
riority)とである。信号処理方法にも2種類あ
り、即ち直列(即ち、デージ−チェーン)と並列とがあ
る。固定優先システムとして構成された場合、直列方法
は、並列方法よりもより少ない回路を必要とするが、処
理速度が比較的遅い。直列方法と回転優先との組合せは
、高性能バスアービタ180によって与えることが可能
である。並列方法は、固定又は回転優先の何れかと共に
実現することが可能であり、直列又は混合方法よりも高
速であるが、一層多くの回路を必要とする。本発明のバ
スアービタ180はこれらの方法の何れかを使用するこ
とが可能である。 別の実施例において、回転優先方法は、全てのバスマス
タにシステムバスを使用するのに等しい機会を与えるこ
とが可能である。然し乍ら、IOP又は1つの特定のC
PUが一層高い優先度を持つべきである場合、固定優先
が通常望ましく且つより簡単である。 バスアービタ180は又、システムバス141上の何れ
かのユニットによる長いバス専有をチェックする機能を
与えることが可能である。このことは、バス許可信号B
Gのアクティブ時間を測定することによって行うことが
可能である。BG倍信号期間が長過ぎる場合には、バス
エラー信号BERRを現在システムバス141を専有し
ているバスマスタへ発生させることが可能である。BE
RRは又、Parity ERRor/が発生する時に
も発生される。 第1図に更に示した如く、アレイプロセサ188をシス
テムバス141へ接続させることが可能である。アレイ
プロセサの能力と適合性のある複雑な計算問題をダウン
ロードさせて、ダウンロードしたデータの並列処理を与
えることが可能であり、その結果得られる解答はシステ
ムバス141を介して送り戻される(例えば、メインメ
モリ140へ、又はデータキャッシュMMU 130へ
、及びそこからCPUへ戻されそこで機能が行われる)
。 上述した如く、I10処理ユニッ1−(IO2)150
はシステムバス]41へ接続し且つ二次記憶ディスク又
はテープユニットの如きI10バス]51へ接続する手
段を持っている。工○P150は、メインメモリ140
へ及びそこからの、及びl0P150に接続されている
二次記憶装置へ及びそこからのデータの直接転送を与え
ることが可能であり、且つ命令キャッシュMMU 12
0及びデータキャッシュM M U 1−30とは独立
的に前記転送を実行することが可能である。l0P15
0は又″バスマスタ″としてバスアービタ]、80へ接
続して、システムバス141へのアクセスを介してメイ
ンメモリ140へのアクセスに対する競合を解決するこ
とが可能である。このことは柔軟性を与えている。例え
ば、システムバス141を介してメインメモリ140か
らl0P150へ及びそこから二次記憶装置へ転送され
るデータは制御されて16通りのインターリーブを与え
ることが可能であり、一方キャッシュ120又は130
とメインメモリ140との間の転送を制御して4通りの
インターリーブを与えることが可能である。このことが
可能であるのは、キャッシュ120又は130とメイン
メモリ140との間の転送の制御は工○P150とメイ
ンメモリ140との間の転送の制御とは別だからである
。 l0P150は交互的に又は付加的にプロ1〜コル変換
を与えることが可能である。この実施例においては、プ
ロトコルl0P150はシステムバス14〕、へ接続さ
れ、且つ更に外部I10バス151へ接続される。好適
には、l0P150もバスアービタ]、80へ接続され
る。プロトコル変換l0P150は、システムバス14
1へ接続されている全てのシステム要素間でのインター
フェースアクセス及びデジタル情報のプロトコル変換を
管理する。従って、例えば、システムバス141アーキ
テクチャ−及び転送プロトコルは、非適合性システム及
びバス構造及びプロトコール、例えばマルチパス(Mu
ltibus)システムへのインターフェース等、とイ
ンターフェースすることを可能とする。 第7A図乃至第7C図は、夫々、仮想メモリ、実メモリ
、及び仮想アドレス概念を示している。 第7A図を参照すると、CPUll0によって見られる
仮想メモリを示しである。この仮想メモリは、232ワ
ード32ビツトメモリアレイでOからFFF  FFF
  FF (ヘキサデシマル)へ二進アドレス可能なも
のを有するものとして示しである。 この仮想メモリは、1,024 (210)個のセグメ
ントを有しており、各セグメントが1,024(即ち、
2”)個のページを持っており、各ページが4,096
 (即ち、212)個のワード又はバイトを洩っている
ものとして示しである。この仮想メモリアドレス空間は
使用可能な実際の実メモリ空間とは独立している。例え
ば、実メモリ(即ち、メインメモリ)は16メガバイト
、即ち212ページを有することが可能である。 第7B図に示した如く、実メモリ空間はOからFFF 
 FFF (ヘキサデシマル)の実アドレスRAによっ
て表すことが可能である。本発明のキャッシュメモリ管
理ユニットは、必要とされる如き、非常に高速の仮想か
ら実メモリ空間アドレス変換を与える。該キャッシュメ
モリ管理ユニツl〜は、キャッシュメモリの内容と仮想
から実メモリ空間アドレスへの成る予めストアした情報
との相関に関してのマツピングを与える。 第7C図を参照すると、32ビツト仮想アドレスVAは
10ビツトセグメントアドレス、ビット31乃至22(
即ち、VA<31.: 22>)、10ビツトページア
ドレス、ビット21乃至12(即ち、VA <21 :
 12>) 、及び12ビット変位アドレス、ビット1
1乃至O(即ち、VA(11:O>)、を有している。 好適実施例においては、キャッシュメモリ管理ユニット
はセット連合マツピングを与え、仮想アドレスの変位ア
ドレスビットO乃至11は実アドレスのビット0乃至1
1に対応する。これは成る種の利点を与えており且つ変
換及びマツピングプロセスを高速化させる。 第8図を参照すると、キャッシュメモリ管理ユニットを
ブロック図で示しである。好適実施例において、貼−キ
ャッシュメモリ管理ユニットアーキテクチャ−を、シス
テム構築又は初期値化の時点で製造又はストラッピング
又は初期値化手順の時にプログラムによって選択されて
、命令又はデータキャッシュの為に使用することが可能
である。 このキャッシュメモリ管理ユニットはプロセサキャッシ
ュバス121又は131へ接続するCPUインターフェ
ースを持っており、且つシステムバス141へ接続する
システムバスインターフェースを持っている。該CPU
バスインターフェースは、アドレス入力レジスタ210
、キャッシュ出力レジスタ230、及びキャッシュ入力
レジスタ2.40を有している。該システムバスインタ
ーフェースは、システムバス入力レジスタ260及びシ
ステムバス出力レジスタ250を有している。 アドレス入力レジスタ2】−Oは仮想アドレスをバス2
11を介してキャッシュメモリシステム220、変換論
理ブロック(即ち、TLB)270、及び直接71−レ
ス変換論理(即ち、DAT)ユニッl−280へ接続さ
せる。DAT 280及びその動作は後に第12図を参
照して詳細に説明する。 キャッシュメモリシステム220からのデータ出力はバ
ス231を介してキャッシュ出力レジスタ230へ1妾
続される。該キャッシュメモリシステムは、バス261
を介し7て、システム入力レジスタ260から実アドレ
ス入力を受け取り、且つ付加的にTLB270から実ア
ドレス入力を受け取る。キャッシュメモリシステム22
0へのデータ入力はキャッシュデータバス(即ち、DT
)241を介して行われ、それは、キャッシュ入力レジ
スタ240、システムバス入力レジスタ260、システ
ムバス出力レジスタ250、キャッシュ出力レジスタ2
30、変換論理ブロック270.及びDAT280の各
々へ接続して、実71−レス及びデータ通過能力を与え
ている。TLB270及びDAT 280は双方向的に
DTババス4]、へ接続されており、DTババス41と
r L B 270 トDAT 280との間で実アド
レス及びアドレス変換データをカップリング即ち結合さ
せている。該システムバスインターフェースは、DTバ
バス41を介してキャッシュメモリシステム220との
みならず、DAT 28 Q及びT L B 270と
通信することも可能である。 第9図を参照すると、キャッシュM M Uの詳細なブ
ロック図が示されており、内部キャッシュMMU内部動
作のデータの流れが示されている。 仮想アドレスはキャッシュ入力レジスタ240を介して
高速キャッシュバス121又は131から取られ、キャ
ッシュMMUのアキュムレータ/レジスタ310内にス
トアされる。次いで、このアドレスは3つの部分に分割
される。高次ビット(<31:>)はTLB350及び
DAT370へ送られる。ビット<10 : 4>はキ
ャツシュメモリ320バツフア選択論理へ送られて、そ
の中のラインが選択される。ビット(3: 2)はマル
チプレクサ341へ送られ、それはカッド語ラインレジ
スタ333及び335の4個の出力ワードの内の1つを
選択する。ビット<O:1.>は後述する如くストアバ
イト/ストア半ワード動作上でのみ使用される。 TLB350は仮想ページアドレスの下位6ビツト(1
7:12>を使用して、2方向セント連合アレイ352
及び354をアクセスする。該アレイは、その出力とし
て、提起された仮想アドレスに対応するページの実アド
レスを持っている。 ビット〈11〉は変換無しで通過される。ページ寸法は
4にであるから、ビットく11〉はページ内のバイトで
ある明細fの一部である。従って、マツチ即ち整合が判
別されると、実アドレスはゲート出力されて比較器33
2及び334内に入れられ、キャッシュ実アドレスタグ
出力322及び326と比較する。 TLB350内にマツチが発見されないと、1)AT(
ダイナミックアドレス変換器)37oが喚起される。ア
クティブプロセスに対してのセグメント及びページテー
ブルを使用することによって、DATは提起された仮想
アドレスを実アドレスへ変換する。その実アドレスはT
 L B 350内にロードされ、前のエントリと交換
する。次いで、TLB350は実アドレスをキャッシュ
320へ送る。 キャッシュデータバッファ3321及び322は、各々
16バイ1−の2本のラインの128セツ1へとして組
織されているセント連合メモリである。仮想アドレスの
ピント(l O: 4)はキャッシュデータバッファ内
のセットを選択する。該セント内の2本のラインの各々
に対するデータの16バイトはゲート出力されてキャッ
シュ論理内の2個のカット語レジスタ内に入れられる。 比較器332及び:334は、実アドレス(TL。 Bから)をキャッシュデータバッファからの実アドレス
タグ322及び326の両方と比較する。 マツチがある場合、マツチしたラインからの適宜のワー
ドはCOR230へゲート出力される。ビット(3: 
2)はマルチプlノクサ341を介して適宜のワー1く
を選択する為に使用される。成るラインに対する有効ビ
ットがオフであると、マツチは存在しない。 バイト又は半ワードのロードの場合、キャッシュM M
 Uは全体のワードを与え、且つCPUll0はバイト
又は半ワードを選択する。バイト又は米ワードのストア
即ち記憶の場合、一層複雑な動作シーケンスがある。C
PUI 10がらのバイ1−又は半ワードは同時的にC
lR240内に置かれ、キャッシュは、バイトがCOR
230内にス1−アされているそのワードを読み取る。 CI R240及びCOR230の内容は合体され且つ
プロセサ/キャッシュバス上に置かわる。 ミス(即ち、マツチ無し)の場合、実アドレスがシステ
ムバス141上をメインメモリ140へ送られ、且つそ
の返答として、16バイトラインが受け取られる。その
1−6バイトライン及びその関連するタグはキャッシュ
データバッファ321及び323内のラインと交換する
。要求された特定のワードが次いでキャッシュM M 
Uから読み取られる。 アキュムレータレジスタ310はデータキャッシュM 
M TJ内においてアドレスレジスタとして機能し、且
つ命令キャッシュM MU内においてプログラムカウン
タとして機能する。命令キャッシュMMU又はデータキ
ャッシュMMUの何れかとしての機能は、本システムの
初期値化によるか又はハードワイヤー1くストラッピン
グにより決定される。モノリシック集積回路キャッシュ
MMU実施例の場合、この決定は最終パケージングの時
に行うことが可能である(例えば、レーザ又はイオン注
入肯定により特定のピンを成る電圧又は接地ヘストラッ
ピングすることにより)。別法として、本システムによ
るチップの初期値化の一部としてそれをプログラムさせ
ることが可能である(例えば、初期値化プロトコルに対
する値をチップ上にローディングすることにより)。レ
ジスタアキュムレータ310はCI)UIIOからのア
ドレス出力をストアする。前述した如く、このアドレス
は32ビツトの長さであり、ビットOからビット31で
ある。 ギャッシュメモリサブシステム320は2つの等しい半
分”W、 321 ’及び“X、323”に分割されて
いる6各半分は同一であり且つデータの複数個のワード
、即ちそのデータに対する実アドレス、及びフラッグビ
ット内の成る制御情報とをストアする。該キャッシュの
内部構造を第10図を参照して詳細に説明する。キャッ
シュW及びXの各半分は、アドレス出力及びそこからデ
ータ出力の複数ワードを、Wキャッシュ半分321から
のアドレス及びデータ出力及びXキャッシュ半分323
からのアドレス及びデータ出力326及び328に対し
てのライン322及び324を介して、与える。 好適実施例において、該データ出力は並列で同時的なカ
ッド語出力の形態である。これは、第10図に示した如
く、キャッシュ半分内の各ラインに対してのキャッシュ
の各半分W及びX内の4個のワードの記憶構造と相補的
である。該キャッシュの2つの半分W及びXからの夫々
のカッド語出力は、カッド語ラインレジスタ333及び
335へ夫々接続されている。該ラインレジスタ内のワ
ード数は該キャッシュの各半分内のライン毎にストアさ
れるワード数に対応している。キャッシュW及びX32
1及び323の各半分からのアドレ入出力は、夫々、比
較器332及び334の夫々の各々の1つの入力端へ接
続される、各比較器332及び334の他方の入力端は
、実アドレス、ビット31乃至11、を出力するマルチ
プレクサ347の出力端へ接続されている。実アドレス
、ビット31乃至11、は比較器332及び334の夫
々を介して、キャッシュ半分W321及びX323の各
々からのアドレスインターフェースの出力と比較され、
要求されたアドレスがキャッシュ320内に存在するア
ドレスと対応するか否かを決定する。アキュlいレータ
31.0はビット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乃至Oをプロセサキャッシュバスへ接続さ
せる。比較器332及び334から出力されるマツチ/
マツチ無し信号は、キャッシュW(321,)又はX(
323)の夫々の対応する半分に対して、キャツシュヒ
ツト乃至は当り(即ち、要求された実アドレスがキャッ
シュ内に存在しており且つデータが有効であること)又
はキャッシュミス即ちはずれ(即ち、要求されたデータ
がキャッシュ内に不存在)を表す。実アドレスビット3
1乃至11はマルチプレクサ337から比較器332及
び334へ供給されるが、それは348で示した連結プ
ロセスによって構成される。セラ1〜連合マツピングに
おいて実アドレスビット11に対応するレジスタアキュ
ムレータ310出力ビツ1−11は、T T−3270
のマルチプレクサ345からの実アドレス出力ビツト3
1乃至12と共に、連結される。 第8図のTLB270は第9図に詳細に示してあり、そ
れは変換論理ブロック記憶メモリ350を有しており、
該メモリはX半分352と同一のX半分354とを有し
ており、その各々は記憶用の複数個のラインを持ってお
り、各ラインは仮想アドレスとフラッグステータスビッ
トと実アドレスとを持っている。各半分は、仮想アドレ
ス出力と実アドレス出力とを与える。TLB352のW
半分からの仮想アドレス出力は比較器362へ供給され
る。X半分354の仮想アドレス出力は比較器364へ
供給される。比較器362及び364への他方の入力は
共通にレジスタアキュムレータ310出力ビツト31乃
至18へ供給される。 TLB内のラインの1つをアクティブ選択ラインとして
選択するレジスタアキュムレータ310の出力ビツト1
7乃至12に応答して、ラインがTLB内において選択
される。TLBのW及びX半分352及び354の夫々
からの仮想アドレス出力は選択されたラインに対応する
。比較器362及び364からの“マツチ″出力ライン
は各々マルチプレクサ345の選択入力へ供給され、そ
れはマルチプレクサ347等への選択通路用の連結論理
348へビット31乃至12の実アドレス出力を与える
。TLB350の選択されたライン(即ち、両方の半分
)用の実アドレス出力はマルチプレクサ345へ供給さ
れる。T L Bヒツトの場合、TLBの半分W又はX
の一方とのマツチがあり、対応する比較器はマルチプレ
クサ345ヘマツチ信号を与えて、仮想アドレスのマツ
チを持っているTLBの半分に対する実アドレスを選択
し、マルチプレクサ345からの実アドレス出力を連結
論理348へ供給する。TLBミスの場合。 TLBミス信号372は直接アドレス変換ユニット37
0へ供給される。DAT370は374で示した如くペ
ージテーブルアクセスを与え、且つ375で示した如<
TLBラインの交換を与える。 DATの動作は如何に詳細に説明する。キャッシュミス
の場合、要求されたアドレスされたデータはライン32
5を介して示した如くキャッシュ内で交換される。 第10A図を参照すると、キャッシュメモリシステムの
組織を示しである。キャッシュメモリシステム320は
、3つのフィールドを有しており、即ち使用済みビット
フィールド、及び2つの同一の高速読取−書込メモリフ
ィールドW及びXを有している。第1フイールド329
は使用済みII U I+ビットメモリを有しており、
それはW又はX半分がキャッシュメモリ320のアドレ
スされたラインに対して最も最近に使用された半分であ
ったか否かを表す。W及びXメモリの各々は複数本のラ
イン(例えば、128ライン)を有している。Uメモリ
フィールド329は同数のライン(例えば、128ライ
ン)を持っている。キャッシュメモリサブシステム32
0の記憶アレイW及びXは、Uメモリワードの寸法を対
応して変化させて、複数平面(即ち、2つの等しいブロ
ックを趣えた数)へ拡張することが可能である。 各キャッシュメモリサブシステム半分W及びXの夫々に
おける各ラインは、第10B図に示した如く、複数のフ
ィールドを有している。W又はXサブシステムメモリ内
の各ラインは、イネーブルピッドr E 11、ライン
有効ビット11 L V II、ラインよごれビットL
L L D II、実アドレスフィールドII RA、
 u、及び複数データワード“DT”を有している。イ
ネーブルビットセットは、夫々の関連するラインが機能
的であることを表している。リセットイネーブルビット
は、夫々の関連するラインが動作可能であることを表し
ている。リセットイネーブルビットは、そのラインへ試
みられたアクセスに対してキャッシュミスとなる。モノ
リシック集積回路キャッシュMMUの場合、イネーブル
ビットは、製造プロセスの一部として、最終テストの後
に、レーザで設定することが可能である。 ライン有効ビットLVは、コールドスタート、I10書
込上、又はプロセサコマンドの下で、現在のラインの全
体を無効化させるか否かを表す。ラインよごれ(ダーテ
ィ)ビットL Dは、キャッシュメモリサブシステムの
夫々の関連した現在のラインがプロセサによって変化さ
れたか否かを表す(即ち、メインメモリは現在のもので
はない)。 21ビツトとして示されている実アドレスフィールドは
5次に続く第1のストアしたデータワードのメインメモ
リ内の実アドレスに対して最大桁20ビツトを有してい
る。4つのワードDTO乃至DT4として示されている
複数データワードはメインメモリの代りにプロセサによ
ってアクセスされる。各データワードは複数ビット、例
えば32ピツ1へを有している。 第11A図に示される如く、TLBサブシステム350
は、3つのフィールド、即ち使用済み“U I+フィー
ルド359.及び2つの高速読取−書込メモリフィール
ド、W及びXメモリサブシステム、を有している。W及
びXメモリサブシステムは均等であり、キャッシュメモ
リ記憶装置の2つの半分を形成している。図示した如く
、各半分は47ビツト幅ワードを持ったアドレス可能記
憶部の64本のラインを有しており、且つ仮想から実へ
のアドレス変換をサポートしている。各ラインの使用済
みフィールドは、第10A図に関して説明するものと同
様の態様で動作する。 第11B図に示した如く、W及びXにおける各記憶ライ
ンは、14ビツトの仮想アドレス“V A ”フィール
ド、20ビツトの実アドレス“RA ”フィールド、ス
ーパーバイザ有効ビットフィールド。 ユーザ有効ビットUVフィールド、ダーティビットII
 D I+フィールド、参照済みビットL(Rr+、保
護レベルワード“PL”フィールド(4ビツトとして示
しである)、及びシステムタグ11 S T IIII
−ルド(5ビツトとして示しである)を有している。 TLBは、1つのMCLKサイクル中で読み取ることの
可能な内容アドレス可能メモリのタイプである。それは
セント連合バッファとして組織されており、且つ各々2
つの要素からなる64セツトで構成さ九ている。仮想ベ
ージアj−レスの下位6ビソトはセット、即ち記憶ライ
ン、を選択するのに使用さ、t17る。次いで、仮想ア
ドレスの上位1−4ビツトは、該セットの両方の要素3
52及び354のキーフィールドVA出力と比較される
(即ち、362及び354)、TLBヒツトの場合、マ
ツチするT 1.、 Bラインエントリの実アドレスフ
ィールF(20ピッ1−)RAは、関連するシステムタ
グ及びアクセス保護ビットと共に、マルチプレクサ34
5を介して出力される。TLB変換サーチは14ビツト
の仮想アドレス、スーパーバイザ有効、及びユーザ有効
に応答して与えられる。 第12図に示した如く、キャッシュメモリはカッ(へ語
境界上で組織される。実アドレスメモリの4つのアドレ
ス可能なワードは、キャッシュメモリシステム320の
各半分(即ち、W及びX)に対しての各ライン内にスト
アされる。キャッシュメモリサブシステムは、カット語
境界」二にカット語出力を午え、キャッシュアクセス時
間を更に加速する。例えば、ロード動作の場合に、現在
のアドレスが前のア1−レスのカッ1−境界内である時
、キャッシュアクセス時間は最小である(例えば、2ク
ロツクサイクル)。現在のアドレスが前の7ドレスのカ
ッド境界を越えている場合には、キャッシュアクセス時
間は一層長い(例えば、4クロツクサイクル)。 本明細書の別の個所において詳細に説明した々11く、
TLBは臨界的な機能に対してのハードワイヤード化ッ
ト これは非常に高速の保証されたメインメモリの仮想から
実へのマツピング及び変換能力を与える。 ハードワイヤード化した変換論理ブロックの機能は第1
3図に示しである。各らインは第+1oHンIに示した
如き情報を有している。変換及びシステム情報は、ブー
トROM、メモリ管理、I / (’)、ベクトル、オ
ペレーティングシステム及びP約済み位置、第11A図
及び第11B図に関して詳細に上述した如き適用予約済
み位置等の臨界的な機能に対して与えられる。 読取−書込T L Bに加えて、第13図を参照して説
明する如く、8個のハードワイヤード化した仮想から実
への変換がある。これらの変換の幾つかを実ページO−
3にマツプしである。仮想空間内のページOは実メモリ
の低位端内の第1ページであり、それはトラップ及びイ
ンタラプトベクトル用に使用される。ページ1−3は本
システムの初期値化に対する共用区域として使用される
。ページ6及び7はブー1〜ス1−ランプシステムRO
M用に使用され、且つページ4及び5はメモリマツブト
I10用に使用される。これらの8個のページ変換は、
スーパーバイザモードにある時にのみ使用される。これ
らがTLB内にハードワイヤード化された結果として、
システム空間の最初の8個の仮想ページにはミス又はペ
ージ障害は決して発生することは無い。 P Lビットは、そのページの保護レベルを表す。 CPUからのVA (仮想アドレス)に付随する機能コ
ードはメモリ参照のモードを有している。これらのモー
ドはPLビットと比較され、侵害が検知されると、CP
Uトラップが発生される。 キャッシュMMUは、T L Bエントリ又はページテ
ーブルエンドリ内の4つの保護ビット(PL)を検査す
ることによってメモリアクセス保護をケ。 える。これは、スーパーバイザステータスワード(SS
W)内のスーパーバイザ/ユーザビット及びにビットを
アクセスコードと比較することによって達成され、且つ
、侵害がある場合には、アクセスが拒絶され且つトラッ
プがCPUへ発生される。 トラップを発生した仮想アドレスはレジスタ内に格納さ
れ且つ工/○コマンドで読み出すことが可能である。 以下の如く3つの独得のトラップが発生される。 1、 命令フェッチアクセス侵害−命令キャッシュのみ
・ 2、 読取アクセス侵害−データキャッシュのみ。 3、 書込アクセス侵害−データキャッシュのみ。 アクセスコード   PSW  S、にビット0000
   11   to   01  000001  
  RW   −−− 0010RW   RW   −− 0011RW   RW   RW   −0100R
W   RW   RW   Rolol    RW
   RW   RRollo    RW   RR
R oll、1    RWE  RWE  RWE  R
WElooo    RE   −−− 1001RRE   −− 1010RRRE   − 1011RRRE   RE l、100        RE   −REl、10
1   −   −    RE   −1110−−
−RE llll    −−−− 尚、RW=読取/書込 E=命令実行 一二アクセス無し S=ニス−パーバイザ/ユー ザ二保護 データキャッシュライン内のダーティ即ちよごれビット
(D)は、メインメモリから読み取ることによってその
ラインが修正されていることを表す。 TLB内のダーティビットは、そのページ内の1つ以」
−のワードが修正されていることを表す。 キャッシュ内にワードを書き込む場合、そのライン内の
ダーティビットはセットされる。T L B内のダーテ
ィピットがセットされないと、それは次いでセントされ
且つT L B内のラインはページテーブル内に書き戻
される。TL、B内のダーティビットが既にセットされ
ていると、ページテーブルはアップデートされない。こ
の機構は、そのページが最初に修正されろ時に自動的に
ページテーブルダーティビットをアップデートする。 TLB内の参照済みビット(R)は、そのページが少な
くとも一度読取又は書込によって参照されたことを表す
。Dビットに対して送出したのと同じアプローチを使用
して、ページテーブルエンドリ内のRビットをアップデ
ートする。 有効ピノI−(SV、UV)はそのラインを無効化させ
る為に使用される。コールドスタートの場合、SVとU
Vの両方がゼロにセットされる。−人のユーザから別の
ユーザへのコンテクストスイッチの場合、UVはゼロに
セットされる。ユーザからスーパーバイザへ行くか又は
同じユーザへの戻りの場合にはUvはリセットされない
。 20ビツト実アドレス(RA)も又各ライン位置にスト
アされる。仮想アドレスにマツチがあると、実際のアド
レスがキャッシュへ送られてSORと比較される。 本システムが非マツブトモード(即ち、仮想アドレシン
グ無し)で動作していると、TLBはアクティブでは無
く且つ保護回路はディスエーブルされる。 T L Bは以下のメモリマツブトI10コマンドに応
答する。 傘すセットTLBスーパーバイザ有効ビット= TLB
内の全てのS■ビットがリセットされる。 傘すセットTLBユーザ有効ビット −TLB内の全てのUVビットがリセットされる。 申すセットDビット −TLB内の全てのダーティ(D)ビットをゼロにセッ
ト。 本すセットRビット −TLB内の全ての参照済み(R)ビットをゼロにセッ
ト。 傘TLB上位読取 −アドレスされたT L B位置の最高位部分をCP 
Uへ読取。 拳TLBF位読取 −アドレスされたT L +3位位置最小位部分をc 
p trへ読取。 率TLB上位置込 −アドレスされたT L B位置の最高位部分をCP 
Uから書込。 *TLB下位害込 −アドレスされたT L B位置の最小位部分をCPU
から書込。 キャッシュM M Uに対してのメモリマノブトI10
は仮想ページ4を通過する。 システムタグは、書込(即ち、コピーパック又はライト
スルー)、キャッシュMMUのイネーブル動作、及び工
/○処理用にキャッシュM M U作戦を変える為に本
システムによって使用されている。システムタグはペー
ジテーブル及びT L B内に位置されている。 システムタグ T4  T3  T2  TI  TOoooolTO
専有、ライトスルー 0  1  0   TITO専有、コピーバック01
1TITOキャッシュ不能 0  0   ]、   TITO共通、ライトスルー
lX0TITOキャッシュ不能、メモ リマツブトI/)アリア IXITITOキャッシュ不能、ブーi−ス1ヘラノブ
アリア R=参照済みビット、 D=ダーティピントシステムタ
グの5つは本システムによりデコードする為にキャッシ
ュMMUの外側へ出される。 タグT2はプツトストラップとI10空間との間の差を
付ける為に使用される。タグT4は、メモリ空間及びブ
ート又は■/○空間との間に差を付ける為に使用される
。UNIX動作システム(例えば、UNIX)はタグT
o及びT1を使用することが可能である。従って、オペ
レーティングシステムがユーザに知られていない限り、
TO及びT1はシステム設計者によって使用されること
は不可能である。これら4つのタグは、キャッシュMM
Uがシステムバスを得た時にのみ有効となる。 これらの信号は他のキャッシュM M Uからのタグと
共に一緒にバス動作される。 5T(OOlxxxx) :共通、ライトスルー仮想ペ
ージOがスーパーバイザモードにおいてTLB内に検知
されると、実際のメモリのページOが割り当てられる。 この実際のメモリの第1ページはRAM又はROMとす
ることが可能であり、トラップ及びインタラプト用のベ
クトルを有している。このハードワイヤード変換はスー
パーバイザ状態においてのみ発生する。実アドレスの最
高位20ビツトはゼロである。 5T(1,X、1.X、X、X、X) 仮想メモリ内のページ6及び7がアドレスされると、シ
ステムタグがハードワイヤードTLBから出力される。 この変換スーパーバイザ状態でのみ発生する。仮想メモ
リのページ6及び7はブートメモリのページ0及び1内
にマツプする。 実アドレスの最高位19ビツトはゼロであり、且つビッ
ト12はブートメモリのページ1に対しては1であり且
つページOに対しては0である。 ブートメモリ実空間は実際のメモリ空間内には存在しな
い。 S T (i + x r o r x l X l 
x t x ) メ% ’) 77プドI10スーパー
バイザモードにある場合、仮想空間内のページ4及び5
は、TLB内にハードワイヤード変換を持っている。に
ゾこされた実アドレスの最高位19ビツトはゼロである
。工/○システムは、メモリマツブトI10を表すシス
テムタグT2及びT4をデコードせねばならない。実ア
ドレスの最高位20ビツトのデコート動作は、I10コ
マンドの付加的なページの為に使用することが可能であ
る。各実ページは1024個のコマンドを持っており、
対応する位置への読取(ワード)及び書込(ワード)に
よって実行される。 このハードワイヤードされたページがTLB又はページ
テーブルエンドリ内で検知されると、読取又は書込コマ
ンドは、それがあたかもキャッシュ不能読取又は書込で
あるが如く実行される。 I10100使用及び割り当ては以下の如くである。 I10スーパーバイザモート、マツブト又は非マツブト
、ページ4及び5゜ 仮想アドレス空間のページ4及び5は、ハードワイヤー
ドTLBエントリによるI10アドレスのページ0及び
1内へ夫々マツプされる。ページ4はキャッシュチップ
に対するコマンドとして使用される。 工/○スーパーバイザモード、マツブト、付加的ページ
。 I10100又ページテーブル内に定義することが可能
である。I10コマンドは適宜のタグビットによって識
別される。ページO−7を除いた何れかの仮想アドレス
が、Oと1を含むこと無いI10ページヘマップさせる
ことが可能である。 キャッシュ内のI1010 0ャッシュチップに向けられた工/○アドレスは以下の
如く解釈されるべきである。 キャッシュ■/○空間 ページ4:キャッシュI10空間 アドレス000040000−000048FF −D
−cacheアドレス00004COOO−00004
FFF −I−cacheページ5:システムエ/○空
間 アドレス00005000−00005FFFキヤツシ
ユI10コマンド VA<31:12) =00004 flaxVA<1
1:O> = RA<11:O)ビット11 = O:
D−cacheI10空間を特定ビットO:0=データ
部;1=アドレス部ビット1: O= lit; 1−
X (コンパートメント)ビット 2−3:  ワード
位置 ビット4−10: ライン番号 ビット11 = 1.ビット8,9=0: TLBを特
定ビット10: 0: D−cache; 1: I−
cacheビット0:0=下位;1=上位 ビット1:0=警;1=x ビット2−8; ライン番号 その他: ビット 10=1; I−cache+  ビット10
=0: D−cachel x O1−−−−00−ス
ーパーバイザ5TO1x 01−−−−01−−ユーザ
5TO1x 01−−−−10−− Fレジスタ(障害
の仮想アドレス) 1 x O1−−−−11−−Eレジスタ(エラーの物
理的キャッシュ位置) lxlloooool−−キャッシュLv全リセット 1 x 11000010−− TLB SV全リセッ
ト1 x 11000100−− TLB UV全リセ
ット1 x 11001000−− TLB D全リセ
ット1 x 11010000−− TLB R全リセ
ットワードストア 5T(0,1,0,X、X、D、R)−専有、コピーパ
ックA、  LVは1、及びHI T ニライン内書込
ワード及びセットライン及びページダーティビット・ B、 ミス−交換されるべきラインは非ダーティ:メモ
リからカッド語を読取りライン内にストア。新ライン内
にワードを書込み且つライン及びページダーティをセッ
ト。 C2ミス−交換されるべきラインはダーティ:ダーティ
ラインをメモリへ書き戻し。新カッド語をライン内に読
取。新ライン内にワードを書込且つライン及びページダ
ーティをセット・ 5T(0,0,0,X、X、D、R)−専有、ライトス
ルーA、  LVは1、及びHITニライン内に及びメ
モリへデータワードの書込。ページダーティビットのセ
ット。 B、 ミス:メモリ内にワードの書込及びページダーテ
ィピッ1−のセット・ 5T(0,0,1,X、X、D、R)−共通、ライ1−
スルーA、  LVは1及びHITニライン内及びメモ
リへのデータワードの書込。ページダーティビットをセ
ット。 B、 ミス:メモリ内にワードの書込及びページダーテ
ィビットをセット。 5T(0,1,1,X、X、S、R)−キャッシュ不能
A、 メインメモリ内にワードの書込。ヒラhの場合は
パージ。 5T(0,1,0,X、X、D、R)−専有、コピーパ
ックA、  LVは1、及びHITニライン内にバイト
又は半ワードを書込且つライン及びページダーティビッ
トをセット。 B、 ミス−交換されるべきラインは非ダーティ:メモ
リからカッド語を読取且つライン内にストア。新ライン
内にバイト又は半ワードの書込且つライン及びページダ
ーティをセット・ C9ミス及び交換されるべきラインはダーティ:ライン
をメモリへ書き戻し。新カッド語をライン内に読取。バ
イト又は半ワードを新ライン内に書込且つライン及びペ
ージダーティをセット・ 5T(0,0,X、X、D、R)−専有、ライトスルー
A 、  HI T :バイト又は半ワードをライン内
に書込。キャッシュラインからメモリへ修正したワード
をコピー。 B、 ミス:ワード読取。バイト又は半ワードの修正、
キャッシュラインからメモリへ修正したワードの書込。 (読取/修正/@込サイクル)(書込割り当て無) ST(0,0,1,X、X、D、R)−共通、ライトス
ルーA、  LVは1、及びI−(I T ニライン内
にバイト又は半ワードの書込。キャッシュラインからメ
モリへ修正したワードの書込。 B、 ミス:ワード読取。ライン内にバイト又は半ワー
ド書込。キャッシュラインからメモリへ修正したワー:
・l、&込。(読取/修正/書込すイクス;書込割り当
て無) 5T(0,1,1,x、X、D、R) −キャッシュ不
能A、 キャッシュチップ内にワーI・の読取。適宜の
バイト/半ワードをアップデート且つ修正したワードを
メインメモリへ書き戻し。 メインメモリ位置を読取、ワードのテストと修正、及び
同じ位置へストア。元のワードをCPUへ返送。 こ動作が完了する迄メモリバスはキャッシュに専用。 この命令を実行中に以下のシステムタグが発生すると、
エラー条件が発生。 1 X X X X X X  (m/m I10空間
又はブート空間)A、  LVは1、及びHIT:キャ
ッシュからCPUヘワードの読取。 B、  ミス−交換されるべきラインは非ダーティ:メ
モリからキャッシュへ新カッド語の読取。 ワードをCPUへ読取。 C0ミス−交換されるべきラインはダーティ:ラインを
メモリへ書き戻し。メモリからキャッシュへ新カッド語
の読取。ワードをCPUへ読取。 5T(0,0,X、X、D、R) 又は5T(0,0,
1,X、X、D、R)−ライトスルー A、  LVは1、及びHIT:キャッシュからCpu
へワードの読取。 B、  ミス:新カッド語をライン内に読取。ワードを
cpu内に読取。 5T(0,1,1,X、X、D、R)−キャッシュ不能
A、 メインメモリからCPUヘワードの読取。 キャッシュからメモリへの句゛書゛− 3T(0,0,1,X、X、D、R)−共通、ライトス
ルー全てのキャッシュがバスを検査し、ヒツトがあると
、キャッシュ内のラインを無効化する。ヒツトが無い場
合には、バスを無視。 工/○システムがキャッシュ又はメインメモリからデー
タを読み取っている時に、実アドレスがキャッシュによ
って検査され且つ以下の動作が行われる。TLBはアク
セスされない。 A、  LVは1及びHIT、且つLDは1キーyツシ
ユからIloへワード又はラインの読取。 B、 ミス:メモリからIloへワード、カッド語、又
は16ワードの読取。 メインメモリへの工/○が行われている時に、実アドレ
スはキャッシュによって検査され且つ以下の動作が行わ
れる。TLBはアクセスされない、従ってダーティビッ
トはページテーブル又はTLB内において変化されない
。 A、  LVは1及びHTT:Iloからメモリへのワ
ード、カッド語、又は16ワードの書込。キャッシュ内
の1本又は複数本のラインを無効化。 B、  ミス:工/○からメモリへのワード、カット語
、又は16ワードの書込。 仮想アドレスから実アドレスへのマツピングシステム情
報は、キャッシュメモリサブシステムのW及びX半分の
各々に対して各ライン内に一義的にストアされる。これ
は仮想から実へのアドレスの極めて高速の変換を与えて
仮想から実へのアドレス空間のマツピングを加速し、第
1図の工/○プロセサ150を介しての如く、二次的記
憶システムと共に必要な入出力スワツピング手順を簡単
化させている。TLBメモリサブシステム350内の各
記憶ラインにおけるシステム情報は、全ての必要な保護
及び再書込情報を与える。各サブシステムラインの使用
済みビットは、メモリサブシステムの最も最近ではなく
使用された半分内への再書込の表示を与える。その他の
交換作戦を実施することも可能である。 モノリシック集積化キャッシュMMUにおける如く高速
通信構成が与えられる場合、このキャッシュMMUシス
テムアーキテクチャ−は非常に高速のキャッシュシステ
ム動作を向上させ且つ偉人な適用多様性を与える。 第14図に示した如く、カッド語境界はラインレジスタ
アーキテクチャ−において効果的に使用することが可能
である。第9図のキャッシュメモリ320のメモリアレ
イはライン境界内400へ接続されており、そのレジス
タはライン境界内に4ワードのワード記憶を有している
。キャッシュメモリ320はキャツシュヒツト当りライ
ンレジスタ400へ一度に4つのワードを出力し、該レ
ジスタは選択的にストアすると共に該ワード出力をキャ
ッシュメモリサブシステム320から、第8図のCOR
230の如きキャッシュ出力レジスタへ転送する。この
転送は、″カッド境界ゼロに等しい″比較器出力が発生
すると、クリアする。 キャッシュMMUシステムのシステムインターフェース
のキャッシュ出力レジスタの出力は、その後プロセサ/
キャッシュバス(即ち、バス12]又は131、及び第
1図のバス115)のアドレスデータ機能コード(即ち
、ADF)バスへ供給される。 アキュムレータレジスタ(即ち、第9図の310)も又
プロセサ/キャッシュインターフェースバスへ接続され
てそこからアドレス情報を受け取る。キャッシュメモリ
管理ユニットがデータキャッシュとして構成される場合
、アキュムレータレジスタはキャッシュメモリサブシス
テムによって使用する為にプロセサ/キャッシュバスか
らのアドレスをストアする。命令キャッシュとして構成
される場合には、アキュムレータレジスタ310はプロ
グラムカウンタとして構成されて、プロセサ/キャッシ
ュインターフェースバスからアドレス情報を受け取ると
共に、新たに権利が与えられたアドレスがプロセサ/キ
ャッシュバスから受けとられる迄それ自身インクリメン
トする。 アキュムレータレジスタ310からの出力は、カッドラ
イン境界レジスタ410、カッド境界比較器420、及
び状態制御論理430へ供給される。カッド語ライン境
界レジスタ410は、ラインレジスタ400内にストア
されたワードに対してのカッド語ライン境界の開始アド
レスをストアする。 カッド語ライン境界レジスタ410の出力はカッド語ラ
イン境界比較器420へ供給される。比較器420は、
レジスタ410出力をアドレスレジスタ(即ち、アキュ
ムレータレジスタ31o)の仮想アドレス出力と比較し
、要求されたワードがラインレジスタ400用の現在の
カッド語境界内であるか否かを決定する。次いで、状態
制御論理430は、ラインレジスタ400出力又はキャ
ッシュメモリサブシステム320へのアクセスの何れか
の選択を決定する。次いで、制御論理430は選択的に
マルチプレクス動作して、ラインレジスタから適宜のワ
ードを選択する。 第15図は、第1図のキャッシュMMUシステム120
及び130用のロードタイミングを示している。好適実
施例において、これはカッド語又は16ワード境界内の
データである。別法として。 これは任意の寸法のブロックのデータとすることが可能
である。第15図は、CPU410からローディングす
るデータキャッシュ130の動作、又はブランチ動作上
でローディングする命令キャッシュ120の動作を示し
ている。第1図のシステムクロック1.60のマスタク
ロックMCLK信号出力は第15図の上部に示してあり
、タイムチャートはロードサイクルの開始から0.30
,60.90及び120ナノ秒(即ち、ns)の点を示
している。 このサイクルの開始において、有効なアドレスがCPU
から夫々のキャッシュMMUシステムのアキュムレータ
レジスタヘロードされ、且つ機能コードが与えられて、
本明細書の他の個所において詳細に説明した如く、転送
のタイプを表す。ASF信号が有効でアドレスストロー
ブが進行中であることを表す時にOns点が発生する。 要求されたデータが新たなアクセス用のカットライン境
界上であると、そのデータはMCLKの90ns点と1
20ns点との間の中間点において得られる。然し乍ら
、アクセスがカッド語境界内の要求に対してのものであ
る場合、データアクセスタイミングは、ADF信号波形
上に想像線で示した如く、一層早く (例えば、60n
s点において)、カッドライン境界内のデータ転送を表
す。 第16図を参照すると、第1図のキャッシュMMUシス
テム120及び130用のストア動作は、コピーバック
モードでCPUからキャッシュへの記憶、更に書き通し
即ちライトスルーモードの為にメインメモリ140への
記憶を行うものである。 マスタクロックMCLKは、基準ラインとして、第15
図に図示した如く、システムクロック160から出力さ
れる。時間T1において、アドレスストローブ信号が活
性化され、有効アドレスが続くことを表す。時間T2に
おいて、MCLKクロックの約4分の1後、有効アドレ
ス及び機能コード出力がプロセサ/キャッシュインター
フェースバス、PDF及びFClの夫々の適宜のライン
上に受け取られる。時間T3において、アドレスライン
は3状態(フロート)であり且つデータはキャッシュメ
モリ及び/又はメインメモリへ適宜書き込まれる。複数
個のデータワードを転送することが可能である。単一の
カット又は16ワードモードはFCライン上の機能コー
ドによって決定される。時間T4において、応答コード
が出力され、転送が完了したことを表し、サイクルを終
了する。 両方のコピーパック及びライトスル−メインメモリ14
0アツプデート作戦はキャッシュMMU内で得られ、且
つページ毎に混合させることが可能である。ページテー
ブル内に位置されている制御ビットはTLB内にロード
されてどの作戦を使用すべきかを決定する。 コピーパックは通常一層高い性能を発生する。 データは、それがキャッシュMMUから除去された時に
のみメインメモリへ書き戻される。これらの書込は、キ
ャッシュ内へのブロックのフェッチとかなりオーバーラ
ツプすることが可能である。 従って、コピーパックは通常パストラフィックを節減し
、連続する書込の順番待ちに起因する遅延を最小とする
。 ライトスルーは2つの利点を持っている。第1に、メイ
ンメモリは常にアップツーディトであり、システムの信
頼性は改善されている。何故ならば、キャッシュチップ
又はプロセサ故障はメインメモリ内容の喪失を発生させ
ることはないからである。 第2に、マルチプロセサシステムにおいて、ライトスル
ーはプロセサ同士で共用されているメインメモリ間の一
貫性を維持することを容易とする。 オペレーティングシステムは、ライトスル一対コピーパ
ックを決定するこれらのタグをユーザに使用可能とさせ
ることが可能であり、従ってユーザは適切な選択を行う
ことが可能である。 第17A図及び第17B図は、CPU410と、キャッ
シュMMU412と、メインメモリ414との間の動作
のデータの流れを示している。第17A図を参照すると
、コピーバック高速書込動作用のデータの流れを示しで
ある。CPU410は、キャッシュメモリ管理ユニット
412内に格納する為のデータを出力する。これはその
位置でのキャッシュメモリの内容をよごし即ちダーティ
状態とする。パージと共に、キャッシュメモリ管理ユニ
ット412はダーティデータをメインメモリ41・1内
の夫々の専有ページへI+)書込を行う・プロセサ41
−0は、パージされているキャッシュM MU412記
憶位置内へ新たなデータを同時的に書き込むことが可能
である。これは全体的に高速の書込動作とする利点を与
えている。 第1713図を参照すると、ライトスルーモード動作を
示しである。このモードは、全体的な書込速度を多少犠
牲にして、データの一貫性を維持する。CP U 4−
10は、キャッシュメモリ管理ユニノl−,112のキ
ャッシュメモリに対して、又メインメモリ4」、4内の
共用ページに対して同時的に書込を行う。これは、他の
プログラムによってアップデータされる如く、共用ペー
ジ内の特定の位首にストアされたデー−夕は最も最近の
値であることを確保する。 第18図を参照すると、CPU51.0と、キャッシュ
メモリサブシステム512と、TLB/メモリサブシス
テム514のデータの流れ及び状態の流れの相互関係が
示されている。更に、キャッシュM M UとCPUの
メインメモリ516との相互関係も示されており、コピ
ーバンク及びライトスルーモー1〜用のD A TIJ
J作及び事象の時間的関係を示している。 CPU510は、ステップ1におイテ、T L B/メ
モリサブシステム514へ仮想アドレスを出力し、該サ
ブシステムはステップ2において実アドレスをキャッシ
ュメモリサブシステム512へ出力する。ライトスルー
動作が行われているか又はキャッシュミスの場合に、実
アドレスもメインメモリ516へ送られる。DAT!1
1)作においで、仮想アドレスの一部にセフメン1〜テ
ーブルオリジンアドレスはステップ2においてメインメ
モリへ送られる。 ステップ3において、ストローブモードの場合、データ
はコピーバック及びライトスルー両方のモードの為にキ
ャッシュメモリサブシステム512内に記憶し、且つ付
加的にライ1〜スルーモードの為にメインメモリ516
内の記憶する為にCPU510から書き出される。ロー
トモード動作の場合、ステップ3においては、データが
キャッシュメモリサブシステム512からCPU510
へロードされる。キャッシュミスの場合、ステップ3に
おいて、データはメインメモリ516からキャッシュメ
モリサブシステム512へ且つCPU510ヘロードさ
れる。コピーバックモードにおいてキャッシュミスの場
合、ダーティデータがキャッシュ内に存在すると(即ち
、ダーティビットがセット)、メモリサブシステム51
2はダーティデータをメインメモリ516へ出力する。 第19図を参照すると、DAT及びTLBアドレス変換
プロセスのデータの流れ及び動作が示されている。仮想
アドレスが実アドレスへの変換を必要とし、且つ要求さ
れた変換に対応する変換値がキャンシュメモリ管理ユニ
ットシステム内にストアされて存在しない場合、第19
図に示した動作が発生する。仮想アドレスレジスターア
キュムレータ(即ち、第9図の310)内にス1へアさ
れて要求された仮想アドレスが、変換を必要とする仮想
アドレス”VA”(例えば、32ビツト)を与える。第
7C図を参照して説明した如く、仮想アドレスは、10
ビツトのセグメントデータ仮想アトL/スVA <31
 : 22>、10ビットノヘ−ジアドL、スVA <
21 : 12>、 及び12ビツトの変位アドレスV
A <11 : O>を有している。 DAT論理は、TLBにミスがある場合に、ダイナミッ
クアドレス変換を実行する。DAT論理は、書込レジス
タが空になるのを待ち1次いでメインメモリへの2つの
読取アクセスを実行する。 第1読取はセグメント番号をセグメントテーブルオリジ
ン(ST○)へ加算し、且つページテーブルのアドレス
を得る。第2読取はページ番号をページテーブルオリジ
ンへ加算し、且つ、保護ビット、コピーバック/ライト
スルーステータス、ダーティビット等の他の有用な情報
のみならず、ページの実アドレスを得る。各新たなユー
ザ又はプロセスの場合、新たなセグメントテーブルオリ
ジンを使用することが可能である。DATにおけるST
OレジスタはCPU制御の下でロードされる。 2つのSTOレジスタ、即ちユーザモード用に1つと、
スーパーバイザモード用に1つとがある。 ハードウェアは、プロセサステータスワード(PSW)
におけるモートに従って、適切なレジスタを自動的に選
択する。 ページテーブルにおけるアクセス保護ビットは、保護侵
害に対するDAT論理によってチェックされる。それら
が発生すると、CPUトラップが発生される。メインメ
モリを読取している間のDAT動作期間中に、データは
訂正されずに従って疑わしい場合、パリティエラーが発
生すると、CPUトラップが発生される。 ページテーブル又はセグメントテーブル内のPFビット
はページ障害表示である。そのビットはソフトウェアに
よってセット又はリセツトされる。 本システムは、仮想アドレス動作無しの場合、非マツブ
トモードとなることが可能である。このモードの場合、
DATfi能は不活性であり且つ保護ビットは使用され
ない。然し乍ら、このモードは9本システムがバッグや
悪性のダメージに弱いので、はんとにたまに使用すべき
である。 DAT論理が変換を完了した後、仮想アドレス、実アド
レス、及びシステムタグはTLBへ送られ、そこでそれ
らは繰り返される迄将来使用する為にス1〜アされる。 DATは以下のメモリマツブト丁/○コマンドに応答す
る。 申ロードスーパーバイザSTOレジスタ(特権)本読数
スーパーバイザSTOレジスタ 傘ロードユーザST○レジスタ(特権)拳読取ユーザS
T○レジスタ 串ページ又は保護障害を発生した読取仮想アドレス これは第22図を参照してより詳細に説明する。 第21図を参照して後に説明する如く、キャッシュメモ
リ管理ユニントシステムはレジスタスタックを有してい
る。このレジスタスタックは、その中に、夫々のキャッ
シュメモリ管理ユニッ1〜に対してその時に現在のスー
パーバイザ及びユーザに対してスーパーバイザ及びユー
ザセグメントテーブルオリジンの各々に対してセグメン
トテーブルオリジン(即ち、ST○)を内蔵している。 セグメントテーブルオリジンレジスタは32ピツ1〜値
を有しており、その最高位20ビツトはセグメントオリ
ジン値を表している。第19図に示した如く、このST
O値はST○エントリアドレスアキュムレータ内のワー
ドの最高位部分として連結されており、仮想アドレスレ
ジスタ310からの10ビツトセグメントアドレスはS
TOエントリアドレスアキュムレータ内のワードの次の
最高位部分として連結されている。その結果得られる3
0ビツトアドレスは、メインメモリ内のセグメントテー
ブルに対するポインタを形成する。 キャッシュメモリ管理ユニット内のセグメントテーブル
エントリアドレス(即ち、5TOEA)アキュムレータ
は、メインメモリ内のセグメントテーブルをアドレスす
べくメインメモリへ出力されるべきアドレスを蓄積し且
つ連結する。セグメントテーブルオリジン20ビツトを
アドレスビット5TOEA <31 : 12)として
使用し、仮想アドレスセグメントビット[VA31 :
 22]をセグメントテーブルアドレスの次の10ビツ
ト5TOEA (11: 2>として使用し、且つST
○EAアキュムレータからメインメモリへ出力されるセ
グメントテーブルアドレスのビット位[5TOEA <
1 : O>に対してゼロを連結即ち連接することによ
って32ビツトのアドレスが構成される。キャッシュM
MUのセグメントテーブルエントリアドレスアキュムレ
ータから出力されるセグメントテーブルエントリアドレ
スは、システムバスを介してメインメモリへ出力される
。これは、キャッシュMMUシステムから出力されるセ
グメントテーブルエントリアドレスに対応するメインメ
モリ内のセグメントテーブル内の夫々のページテーブル
エントリ(即ち、PTE)へアクセスを与える。アドレ
スされたメインメモリ位置の最高位20データビツト、
31:12、は、キャッシュMMUシステムのDAT内
のページテーブルエントリアドレス(即ち、PTEA)
アキュムレ−9内に記憶する為にメインメモリからキャ
ッシュMMUへ出力される。ページテーブルエントリア
トレスのこれらの2.0ビツトは32ビツトワードの最
高位20ビツトとしてP、T、E、A、アキュムレータ
内に連接される。次に最高位のJ−Oピッ1〜は、ペー
ジ選択ビットを表している仮想アドレスレジスタ310
ビツトVA <21 :12)からの出力と連接される
。ページテーブルエントリアドレスアキュムレータ出力
の最小2桁ピッI〜はゼロである。キャッシュM M 
t、Jのページテーブルエン1−リアドレスアキュムレ
ータは、システムバスを介して、メインメモリへ32ビ
ツトアドレスを出力する。 ページテーブルエン1へリア1〜レスは、メインメモリ
内のページテーブル内のラインへのエンl−9点を選択
する。ページテーブル内の各ラインは、複数のフィール
Iくを有しており、対応する仮想71−レスに対して、
変換された実アドレス、システムタグ、保護、ダーティ
、参照、及びページ障害値を有している。図示した如く
、ページテーブルからの選択されたラインは、20ビツ
トの実アドレスll RA I+、5ビツトのシステム
タグ情報S′F、4ビツトの保護レベル情報P L、、
1ビツトのダーティ情報D、1ピノ1−の参照情報R2
及びページ障害情報PFを有している。これらのフィー
ル1〜は第11A図及び第11B図を参照して詳細に説
明しである。 T L Bのメモリアレイ内に格納する為に、ページテ
ーブルからの選択されたラインはメインメモリからキャ
ッシュM MU内のT E、 Bへ転送される。 次に、ページテーブル内の丁度参照したラインに対して
、TLBからの20ピントの実アドレスは出力され且つ
キャッシュMMU内の実アドレスアキュムレータの最高
位2oピノ1−へ供給される。 これらの20ビツトは、最高位20ビツトとして実アド
レスアキュムレータ内に連接され、仮想アドレスレジス
タ310の最小12桁ビットVA<11 : O>と共
に、実アドレスアキュムレータからの32ビツト実アド
レス出力を与える。この実アドレスアキュムレータから
の出力は1次いで、システムバスを介して、メインメモ
リへ出力されて、所望の実アドレス位置を選択する。こ
の実アドレス出力に応答して、ブロックのワードが格納
される為にキャッシュメモリサブシステムへ転送される
。次いで、キャッシュMMUは、初期的に要求された1
つ又はそれ以上のワードの情報をCPUへ転送する。第
19図に示した手順は、レジスタアキュムレータ310
内に収納されている仮想アドレスがキャッシュMMUの
TLB内にストアされている対応する変換値を持ってい
ない場合にのみ必要とされる。従って、キャッシュMM
U内に現在ストアされている何れのアドレス可能な位置
に対しても、変換データは既に存在している。 これは、キャッシュからメインメモリへの書き戻しの全
ての場合を包含する。 第2o図を参照すると、キャッシュMMUのブロック線
図が示されている。第1図のキャッシュバス121又は
131へのプロセサはCPUインターフェース600へ
接続する。キャッシュメモリサブシステム610、TL
Bサブシステム620、レジスタスタック630、シス
テムインターフェース640、及びマイクロプログラム
化された制御及びDAT論理650は全てCPUインタ
ーフェース600へ接続されている。仮想アドレスバス
(すなわち、VA)はCPUインターフエーツス600
からキャッシュサブシステム610、TLBサブシステ
ム620.及びレジスタスタックサブシステム630の
各々へ接続されている。 キャッシュサブシステム610からCPUインターフェ
ース600へのデータ出力バス(即ち、DO) は、D
O[31: 001として示されている。 キャッシュメモリサブシステム610のメモリサブシス
テムからのデータ出力を接続する。 nDT[31:00]として示されている双方向性デー
タバスは、キャッシュMMUによって行われている動作
に従って、データ、仮想アドレス、実アドレス、又は機
能コードの選択的結合を与える。nDTバスは、キャッ
シュMMUシステム要素600.610.620.63
0.640、及び650と接続する。システムインター
フェース640は一方の側でシステムバスと接続し、且
つ内部キャッシュMMU側でnDTバス及び5YRAバ
スへ接続する。5YRAバスは、システムインターフェ
ース640を介して、システムバスからの実アドレスを
、TLB 620及びキャッシュサブシステム610へ
供給する。図示した如く、該アドレスの変位部分を表し
ている最小12桁ピッ1〜は、キャッシュメモリサブシ
ステム610へ接続される。最高位20ビツトの5YR
A [31:12]は、5YRAバスからTLBサブシ
ステム620へ接続される。制御及びDAT論理650
は、TLB620ミス又はキャッシュサブシステム61
0ミスの後にシステムバスインターフェースと共同し、
且つDAT動作を制御する。 第21図を参照すると、第20図のより詳細なブロック
図が示されている。CPUインターフェース600の、
キャッシュ出力レジス601、キャッシュ入力レジスタ
603、及びアドレス入力レジスタ605は第8図に一
層詳細に示しである。 第21図は、読取/修正/書込動作、機能コードレジス
タ606、及びトラップエンコーダ607を実行する為
のマルチプレクサ602、読取−書込論理604を更に
示しである。 読取/修正/書込論理604は、キャッシュメモリサブ
システム610のキャッシュメモリ611からのマルチ
プレクサ614を介して、及びキャッシュ出力レジスタ
601へ及びそこからプロセサ/キャッシュバスへの選
択的相互接続の為のCPUインターフェース600のマ
ルチプレクサ602を介して、キャッシュメモリサブシ
ステム出力のマルチプレクス動作を調整する。別法とし
て、マルチプレクサ6o2は、キャッシュMMUシステ
ム内部のnDTバスを介してシステムバスインターフェ
ース640がら、又は読取/修正/書込論理604から
のデータを受け取ることが可能である。RMW論理60
4は、それへの入力として、キャッシュ出力レジスタ6
01出カ、及びキャッシュ入力レジスタ603出力を持
っている。 機能コードレジスタ606及びトラップコードエンコー
ダ607はプロセサへ接続される。機能コードレジスタ
606は、キャッシュMMUシステムの他の部分へ信号
を供給する為にプロセサから受けとられる機能コードに
応答する。トラップ論理607は、キャッシュMMUシ
ステム内からのエラー障害に応答し且つ与えられたエラ
ー障害に対してトラップ論理に応答してプロセサへ出力
を供給する。 第9図を参照して説明した如く、キャッシュメモリサブ
システム610は、2つの64ラインキヤツシユストア
を持ったキャッシュメモリアレイ611を有している。 キャッシュメモリアレイ611のWおよびX半分の各々
からのカッド語出力は、夫々のカッド語ラインレジスタ
612及び616へ供給される。カッド語レジスタ61
2及び616は各々、CPUインターフェース600を
介してプロセサ/キャッシュバスへ又はシステムインタ
ーフェース640を介してシステムバスへ接続する為に
、nDTバスへ独立的に接続されている。 キャッシュメモリアレイ611のW及びX半分からの実
アドレス出力は、比較器615及び617の夫々の各々
1人力へ接続されており、その各々はヒツト/ミス信号
出力を与える。比較器615及び617の各々の他方の
入力はマルチプレクサ618の出力へ接続される。マル
チプレクサ618は実アドレスを出力する。実アドレス
入力は、5YRA/<スを介してシステムバスインター
フェース640から、且つCPUインターフェース60
0を介してプロセサ/キャッシュバスから受け取られる
物理的アドレスに応答してTLBメモリアレイ621か
ら変換された実アドレスを与えるTLBサブシステム6
20のマルチプレクサ622からマルチプレクサ618
へ供給される。 カッド語レジスタ612及び616の各々はマ 。 ルチプレクサ614に接続する独立した出力を持ってい
る。マルチプレクサ614は、キャッシュ出力レジスタ
601への選択的接続をする為にマルチプレクサ602
へ選択情報のワードを選択的に出力する。 第9図を参照して説明した如く、マルチプレク叶613
は、CP 1.、Jインターフェース600かL″)又
はT L B 620からの何れかから、実ア1−レス
のト位部分を選択的にマルチプレクサ6−13 □\接
続して、キャッシュメモリアレイ611への選択的出力
及び接続を1−5.その中のラインを選択する、T L
 Bメモリアレイ621は、アドレス入力レジスタ60
5を介して出力として、nDTバスからのアドレス又は
CP Uインターフェース600から供給されるアドレ
スの何れかに応答してその中の選択されたラインから出
力を選択的にLjえる。 アドレス入力レジスタ605の仮想アドレス出力の一部
(即ち、下位部分ピッ1−12乃至O)は、ゴ■、Bメ
モリサブシステム621−へ接続され、月−″)より高
位の部分(即ち、ピッ1−31乃至22)は1゛丁、ト
3620の比較器62:3及び624の各々の】、入力
へ接続されている。第9図を参照し、て説明[、また如
く、W及びX半分の各々に対して、T r。 13メモリアレイサブシステム621からの変換された
仮想アドレス出力は比較器623及びト324の他方の
入力へ接続されている、比較器623及び624の各々
は独立的なヒツト/ミス信号出力を与える。マルチプレ
クサ622はT L Bメモリサブシステム621のW
及びX半分からの出力としてそれに接続される実アI−
レス入力を持っている。マルチプレクサ622は、比較
器623及び624のヒツト/ミス出力に応答して、キ
ャッシュメモリサブシステム610のマルチプレクサ6
18の入力端への変換した実アドレスの出力を選択的に
与える。 アドレス保護論理625は、第19図を参照して説明し
た如く、ページテーブルエントリから初期的にロードさ
れる情報に応答して、成るTLBラインに対しての読取
及び書込アクセスの選択的保護を与える。 レジスタスタック630は、2つの七ηメン1−テーブ
ルオリジナルレジスタ内のセグメントテーブルオ11ジ
ン値の格納を与える。レジスタスタック630は、セグ
メントテーブルオリジンスーパーバイザ及びユーザレジ
スタ、障害アドレスレジスタF、及びエラーアドレスレ
ジスタの如きその他のレジスタを有している。 制御及びDAT論理650は、直接アドレス変換論理、
フェッチ論理、書込論理、読取論理、及びI10コマン
ド動作論理を与える。 第22図を参照すると、第21図の制御論理マイクロエ
ンジンの詳細なブロック線図が示されている。該マイク
ロエンジンは、リードオンリメモリ700を有すると共
に、プログラムカウンタ710とスタックポインタ71
5と命令レジスタ720とベクトル発生器730と条件
コード信号セレクタ74.0と信号コントローラ命令デ
コーダ750と出力レジスタ760とを具備するマイク
ロエンジン動作サブシステムを有している。 プログラムカウンタ710は、プログラムカウンターア
キュムレータレジスタ712と、マルチプレクサ713
と、インクリメント論理711とを有している。マルチ
プレクサ713は、信号コン1−ローラ/命令デコーダ
750からの出力としてのマルチプレクス選択信号MU
XSLTIC応答して、プログラムカウンターアキュム
レータレジスタ712へ信号出力を与える。これは、ベ
クトル発生器730からの8ビツトベクトルアドレス出
力、信号コントローラ/命令デコーダシステム750か
らの出力としてのPCインクリメント信号PCINCに
応答してインクリメント論理711からの次の逐次的プ
ログラムカウンタアドレスの出力、又は命令レジスタ7
20のブランチアドレスレジスタからの出力としてのブ
ランチアドレス、の1つを選択する。マルチプレクサ7
13の出力は、プログラムカウンタアキュムレータレジ
スタ712へ供給され、PC出力アドレスPCOUTと
してそこから選択的出力を与える。PCOUTはインク
リメント論理711へ、スタックポインタ715へ、及
びリードオンリメモリサブシステム700のアドレス選
択入力端へ接続される。 第22図に示した如く、メモリ700は、各々が52ビ
ツトの256ラインを有しており、各ラインは命令レジ
スタ720及び/又は出力レジスタ76.0へ出力され
るべき命令及び/又はデータ値を持っている。最大桁ビ
ット部分(即ち、出力ビット51乃至48)は、リート
オンリメモリサブシステム700から命令レジスタ72
0の命令レジスタ723のタイプへ供給される。これら
のビットは、該ラインの残りのビットが命令又は制御信
号出力を有しているか否かを表す。該ラインの残りのビ
ット(即ち、ビット47乃至0)は出力レジスタ760
へ供給され、且つ命令レジスタ720へ供給される。こ
れらのビットはブランチアドレスレジスタ721 (即
ち、リードオンリメモリ700出力のビット40乃至4
7)及び条件コードレジスタ722(即ち、ビット26
乃至O)へ供給される。 命令レジスタ723からの出力は、命令レジスタ723
から信号コントローラ750へ供給される。命令レジス
タ723は、信号コントローラ75oから出力されるC
Rh o l d信号に応答して、命令タイプ情報を出
力する。例えば、リードオンリメモリ700出力のビッ
ト48乃至51を使用して、oOOは出力命令を表すこ
とが出来、001はブランチ命令、010はコール命令
、011は待ち命令、100はリターン命令、101及
び110はベクトル動作、111はno−op動作を夫
々表すものとすることが可能である。 条件コードレジスタ722の出力は、条件信号選択論理
740へ供給される。条件コートデコーダ740は又条
件コード及びそれと結合されたステータス入力を持って
いる。これらの信号は、キャッシュ又はTLBミス、読
取又は書込等の動作のステータスを告げる機能コード、
ステータス及び条件コード情報等を表す。条件コードデ
コーダ740は、信号コントロー ラフ50へ“1−−
クン″出力を与えてステータスを表し、且つ更にベクト
ル番号をベクトル発生器730へ出力する。ミス及び/
又は機能コード情報の組み合わせはバク1〜ルプロセス
用のデスティネーションアドレスを定義する。 信号コントローラ750は、ベクトル発生器730へ供
給されるベクトル信号タイミング出力(即ち、VCTs
、VCTc)を与える。ベクトル動作が表される場合、
ベクトルアドレスは、マルチプレクサ713を介してプ
ログラムカウンタアキュムレータ712内にベクトル発
生器730からロードされ、且つPCカウンタ710は
ベクトルルーチンが完了する迄tpクシ−ンス命令イン
クリメントされる。 ブランチアドレスレジスタ721は、プログラムカウン
タ710へ選択的にブランチアドレス信号を出力し、そ
の際に信号コントローラ命令デコーダ750から出力さ
れる制御信号に従って使用する。出力レジスタ760か
らの信号出力は、信号コントローラ750から出力レジ
スタ760への出力レジスタ保持゛′OR保持″信号の
選択的出力に応答する。出力レジスタ760から出力さ
れる信号はキャッシュMMUシステムの他のエリアへ供
給され(即ち、制御信号及び/又はデータ)、キャッシ
ュMMUシステムの該他のエリアによって使用される。 以上、本発明の具体的実施の態様に付いて詳細に説明し
たが、本発明はこれら具体例にのみ限定されるべきもの
では無く、本発明の技術的範囲を逸脱すること無しに種
々の変形が可能であることは勿論である。
【図面の簡単な説明】
第1図は本発明に基づくマイクロプロセサをベースとし
た二重キャッシュ/二重バスシステムアーキテクチャ−
のブロック線図、第2図は第1図の命令インターフェー
スのブロック線図、第3図は第2図の命令インターフェ
ース100の命令デコーダ120のより詳細なブロック
線図、第4図は第1図の命令キャッシュ/プロセサバス
とデータキャッシュ/プロセサバスとシステムバス二重
バス/二重キャッシュシステムを示した電気概略図、第
5図は第4図のキャッシュインターフェースへのシステ
ムバスを示したより詳細な概略図、第6図は命令キャッ
シュMMUとシステムバスとの間のドライバ/レシーバ
を示した電気的概略図、第7A図乃至第7C図は本発明
で使用される仮想メモリと実メモリと仮想アドレス概念
とを夫々示した各概略図、第8図はキャッシュメモリ管
理ユニットの電気的ブロック線図、第9図は第8図のキ
ャッシュメモリ管理ユニツ1への電気的ブロック線図、
第10A図及び第10B図はキャッシュメモリサブシス
テム320内の記憶構造を示した各概略図、第11.A
図及び第11B図はT 1.、 Bメモリサブシステム
350記憶構造をより詳細に示した各概略図、第12図
はキャッシュメモリカット語境界組織を示した概略図、
第13図はT L Bサブシステムによって与えられる
ハードワイヤード化した仮想から実への変換を示した説
明図、第14図はラインレジスタ及びライン境界レジス
タを使用するカッ1−語境界を支持するキャッシュメモ
リサブシステム及び関連したキャッシュMMUアーキテ
クチャ−を示した概酩図、第15図は第1図キャッシュ
M M Uシステム120及び130用のロー1−タイ
ミングを示した説明図、第16図はコピーバックモード
においてキャッシュMMUへCI) Uからの記憶及び
ライトスルー動作モードの為のCPUからキャッシュM
MU及びメインメモリへの記憶の為に第1図のキャッシ
ュMMUシステム120及び130用のストア動作を示
した説明図、第17A図及び第17B図はCP Uとキ
ャッシュMMU及びメインメモリとの間の動作のデータ
の流れを示した各説明図、第18図はCP LJとキャ
ッシュメモリサブシステムとTLBメモリサブシステム
のデータの流れ及び状態の流れ相互関係を示した説明図
、第19図はアドレス変換とデータ格納とロード動作を
実行する上でDAT及びTLBサブシステムのデータの
流れ及び動作を示した説明図、第20図はキャッシュM
 M U内部のバスインターフェース構成を具備するキ
ャッシュMMUシステムのブロック線図、第21図は第
20図のより詳細な電気的ブロック線図、第22図は第
21図の制御論理マイクロエンジン650の詳細な電気
的ブロック線図、である。 (符号の説明) 110:中央処理装首(CPU) 115ニジステムステータスバス 120:命令キャッシュメモリ管理ユニット121:命
令バス 130:データキャッシュメモリ管理ユニット131:
データバス 140:メインメモリ 141ニジステムバス 150:I/○処理ユニット(工○P)、LSI、:I
10バス 160ニジステムクロツク 170:インタラプトコントローラ 180:バス調整ユニット 特許出願人   フェアチャイルド セミコンダクタ 
コーポレーション 図面の1争書(内容に父更なし) T−1C7−σ− 〜 t 尺=IC−1? −二−臼?−14− −T二二二17A− /T=【浩翼I己 LIAI丁つ1に ニ;コテ’−19−

Claims (1)

  1. 【特許請求の範囲】 1、処理システムにおいて、 (a)アドレス可能な高速読取−書込メモリへデジタル
    情報を選択的に格納すると共に出力するメインメモリ、 (b)前記メインメモリに接続されており、アドレス可
    能な非常に高速の命令キャッシュ読取−書込メモリから
    非常に高速でデジタル情報データを選択的に格納すると
    共に出力する為に該メインメモリへの選択的アクセスを
    管理する命令キャッシュ手段、 (c)前記メインメモリに接続されており、アドレス可
    能な非常に高速の読取−書込メモリから非常に高速でデ
    ジタル情報データを選択的に格納すると共に出力する為
    に該メインメモリへの選択的アクセスを管理するデータ
    キャッシュ手段。 (d)前記命令キャッシュ手段及びデータキャッシュ手
    段の各々に独立的に接続されており、前記命令キャッシ
    ュ手段から受け取られた前記命令の夫々の1つをデコー
    ドし且つ実行することに応答して前記データキャッシュ
    手段受け取られたデータを処理するマイクロプロセサ処
    理手段、 を有することを特徴とするシステム。 2、特許請求の範囲第1項において、前記処理手段がキ
    ャッシュ前進信号を出力する手段を有しており、前記命
    令キャッシュ手段は前記命令キャッシュメモリをアドレ
    ス動作する為に前記キャッシュ前進信号に応答して選択
    的にインクリメント可能なプログラムカウンタを有して
    おり、前記データキャッシュ手段は前記データキャッシ
    ュメモリをアドレス動作するアドレスレジスタを有して
    おり、前記命令キャッシュプログラムカウンタは前記処
    理手段からのアドレス出力でロードされ、前記命令キャ
    ッシュ手段は関連したアドレスされた位置から命令出力
    を与え、且つその後に、前記命令キャッシュプログラム
    カウンタが前記キャッシュ前進信号に応答してインクリ
    メントされ、前記処理手段から出力される何れのその後
    のアドレスとは独立的に繰り返し命令が出力されること
    を特徴とするシステム。 3、特許請求の範囲第2項において、前記繰り返し命令
    出力は、コンテクストスイッチ又はブランチが発生する
    迄その後処理手段の介入無しに継続することを特徴とす
    るシステム。 4、特許請求の範囲第2項において、前記データキャッ
    シュ手段と前記プロセサ手段との間の各データ転送にお
    いて、前記プロセサ手段は転送されるべきデータと関連
    するアドレスを出力し、次いで前記データキャッシュア
    ドレスレジスタは前記出力アドレスをローディングし、
    次いで前記データキャッシュ手段と前記プロセサ手段と
    の間で前記データの転送が行われることを特徴とするシ
    ステム。 5、特許請求の範囲第4項において、前記各データ転送
    は複数個のデータワードを有していることを特徴とする
    システム。 6、特許請求の範囲第2項において、前記命令キャッシ
    ュプログラムカウンタはコンテクストスイッチ及びブラ
    ンチの間のみアドレスでロードされることを特徴とした
    システム。 7、特許請求の範囲第1項において、前記処理手段は、
    外部命令キャッシュとの通信を制御し且つ前記命令キャ
    ッシュからの命令を該処理手段へ接続する命令インター
    フェース手段、外部データキャッシュとの通信を制御し
    且つ前記データキャッシュと該マイクロプロセサとの間
    でデータを双方向的に通信するデータインターフェース
    手段、を有していることを特徴とするシステム。 8、特許請求の範囲第1項において、前記処理手段は物
    理的メインメモリアドレスへ連合してマップされている
    仮想アドレス出力を与え、前記命令及びデータキャッシ
    ュ手段の各々は該関連したマップされたデジタル情報の
    夫々の出力を選択的に与える為に前記仮想アドレス出力
    の別々の夫々の1つに応答する夫々のメモリ管理手段を
    有していることを特徴とするシステム。 9、特許請求の範囲第8項において、前記データキャッ
    シュメモリ管理手段は、その中に存在する場合には該デ
    ータキャッシュメモリから関連したマップしたデジタル
    情報の前記出力を与え、且つそうでない場合には、前記
    メインメモリからの該関連したマップしたデジタル情報
    の前記出力を与えることを特徴とするシステム。 10、マイクロプロセサをベースにしたコンピュータシ
    ステムにおいて、アドレス可能な高速メモリからデジタ
    ル情報を選択的に格納すると共に出力する為の一次メモ
    リ手段、該一次メモリ手段に接続されており前記システ
    ムバスに接続された手段の間でデジタル情報を通信する
    為の高速シシテムバス、前記システムバスに接続されて
    おり前記一次メモリから命令の選択的検索を管理すると
    共に前記高速メモリから前記命令の選択的非常に高速の
    出力を与える為にマップしたアドレス可能な非常に高速
    のメモリ内に前記命令を選択的に格納する命令キャッシ
    ュ手段、前記システムバスに接続されており前記一次メ
    モリへの及びそれからのデータの選択的格納及び検索を
    管理し且つマップしたアドレス可能な非常に高速のメモ
    リへ及びそれから非常に高速で前記データを選択的に格
    納すると共に出力するデータキャッシュ手段、前記命令
    キャッシュ手段に接続されており前記命令バスに沿って
    前記命令キャッシュから前記非常に高速の命令出力を通
    信する為の非常に高速の命令バス、前記データキャッシ
    ュ手段に接続されており前記データバスに沿って前記デ
    ータキャッシュ手段へ及びそこから前記非常に高速でデ
    ータを通信する非常に高速のデータバス、前記命令バス
    と前記データバスの各々に独立的に接続されており前記
    命令キャッシュ手段から受け取られる命令に応答して前
    記データキャッシュ手段から受け取られたデータを選択
    的に処理する為のマイクロプロセサ処理手段、を有する
    ことを特徴とするシステム。 11、特許請求の範囲第10項において、前記マイクロ
    プロセサ処理手段が非常に高速で処理済みデータを前記
    データバスへ出力することを特徴とするシステム。 12、特許請求の範囲第10項において、前記システム
    バスに接続されておりシステムインターフェースを外部
    周辺装置へ供給する周辺アダプタ手段を有していること
    を特徴とするシステム。 13、特許請求の範囲第10項において、前記システム
    バスに接続されており該システムバス及びバスアービタ
    手段に接続されている選択された他の手段の間でのチャ
    ンネルアクセス競合を選択的に解決するバスアービタ手
    段が設けられており、衝突を防止すると共に前記システ
    ムバス上の通信の一体性を維持することを特徴とするシ
    ステム。 14、特許請求の範囲第10項において、前記システム
    バスに接続されており外部バスへ接続し前記システムバ
    スに接続されている前記他の手段の何れかと前記外部バ
    スとの間でのデジタル情報のインターフェースアクセス
    及びプロトコル変換を管理するプロトコル変換手段を有
    することを特徴とするシステム。 15、特許請求の範囲第10項において、前記マイクロ
    プロセサ処理手段に接続されており且つ該システムバス
    に接続されている前記手段の選択したものに独立的に且
    つ別々に接続されているインタラプトコントローラ手段
    を有しており、前記インタラプトコントローラ手段はモ
    ニタと優先付けとを与え且つ前記システムバスに接続さ
    れている前記手段の前記選択したものからの前記処理手
    段に対するインタラプト要求を解決することを特徴とす
    るシステム。
JP61038129A 1985-02-22 1986-02-22 別々の命令及びデ−タインタ−フエ−ス及びキヤツシユを持つたマイクロプロセサを有するマルチプルバスシステム Pending JPS6237752A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US70456885A 1985-02-22 1985-02-22
US704568 1985-02-22

Publications (1)

Publication Number Publication Date
JPS6237752A true JPS6237752A (ja) 1987-02-18

Family

ID=24830042

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61038129A Pending JPS6237752A (ja) 1985-02-22 1986-02-22 別々の命令及びデ−タインタ−フエ−ス及びキヤツシユを持つたマイクロプロセサを有するマルチプルバスシステム

Country Status (3)

Country Link
EP (1) EP0192578A3 (ja)
JP (1) JPS6237752A (ja)
CA (1) CA1269176A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03135641A (ja) * 1989-07-13 1991-06-10 Toshiba Corp マイクロプロセッサ

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2200483B (en) * 1987-01-22 1991-10-16 Nat Semiconductor Corp Memory referencing in a high performance microprocessor
JPS63220342A (ja) * 1987-03-10 1988-09-13 Fujitsu Ltd ブロツクアクセス方式
US4876651A (en) * 1988-05-11 1989-10-24 Honeywell Inc. Digital map system
US5148536A (en) * 1988-07-25 1992-09-15 Digital Equipment Corporation Pipeline having an integral cache which processes cache misses and loads data in parallel
JP3623379B2 (ja) * 1998-12-01 2005-02-23 富士通株式会社 マイクロプロセッサ
US6584546B2 (en) 2001-01-16 2003-06-24 Gautam Nag Kavipurapu Highly efficient design of storage array for use in first and second cache spaces and memory subsystems
US10649775B2 (en) * 2013-07-15 2020-05-12 Texas Instrum Ents Incorporated Converting a stream of data using a lookaside buffer

Family Cites Families (1)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03135641A (ja) * 1989-07-13 1991-06-10 Toshiba Corp マイクロプロセッサ

Also Published As

Publication number Publication date
CA1269176A (en) 1990-05-15
EP0192578A2 (en) 1986-08-27
EP0192578A3 (en) 1990-04-25

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
US5091846A (en) Cache providing caching/non-caching write-through and copyback modes for virtual addresses and including bus snooping to maintain coherency
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
US5263142A (en) Input/output cache with mapped pages allocated for caching direct (virtual) memory access input/output data based on type of I/O devices
US6493774B2 (en) Data processing system and microcomputer
US5666509A (en) Data processing system for performing either a precise memory access or an imprecise memory access based upon a logical address value and method thereof
US5347636A (en) Data processor which efficiently accesses main memory and input/output devices
JPH08263424A (ja) コンピュータ装置
US7472227B2 (en) Invalidating multiple address cache entries
US5161162A (en) Method and apparatus for system bus testability through loopback
US6996693B2 (en) High speed memory cloning facility via a source/destination switching mechanism
US20040111575A1 (en) Dynamic data routing mechanism for a high speed memory cloner
JPH0260012B2 (ja)
US20040111565A1 (en) High speed memory cloner with extended cache coherency protocols and responses
US20080065855A1 (en) DMAC Address Translation Miss Handling Mechanism
JPS6237752A (ja) 別々の命令及びデ−タインタ−フエ−ス及びキヤツシユを持つたマイクロプロセサを有するマルチプルバスシステム
US6898677B2 (en) Dynamic software accessibility to a microprocessor system with a high speed memory cloner
JPS61275946A (ja) キャッシュメモリ管理装置
US7502917B2 (en) High speed memory cloning facility via a lockless multiprocessor mechanism
JPH071489B2 (ja) コンピュータ装置およびコンピュータ装置においてキャッシュデータアレイ内のデータの不一致を検出して修正する方法
US20040111581A1 (en) Imprecise cache line protection mechanism during a memory clone operation
US6986011B2 (en) High speed memory cloner within a data processing system