JPH061440B2 - デジタルデータ処理装置内で使用されるプロセッサ及びデータ処理方法 - Google Patents

デジタルデータ処理装置内で使用されるプロセッサ及びデータ処理方法

Info

Publication number
JPH061440B2
JPH061440B2 JP63501922A JP50192288A JPH061440B2 JP H061440 B2 JPH061440 B2 JP H061440B2 JP 63501922 A JP63501922 A JP 63501922A JP 50192288 A JP50192288 A JP 50192288A JP H061440 B2 JPH061440 B2 JP H061440B2
Authority
JP
Japan
Prior art keywords
signal
control
data
processor
response
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
Application number
JP63501922A
Other languages
English (en)
Other versions
JPH01502622A (ja
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment 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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of JPH01502622A publication Critical patent/JPH01502622A/ja
Publication of JPH061440B2 publication Critical patent/JPH061440B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/264Microinstruction selection based on results of processing
    • G06F9/267Microinstruction selection based on results of processing by instruction selection on output of storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Advance Control (AREA)

Description

【発明の詳細な説明】 発明の背景 1.産業上の利用分野 本発明は一般にデジタルデータ処理システムの分離に関
するものである。
2.従来の技術 標準的なデジタルデータ処理システムには3つの基本的
要素すなわち、プロセッサ要素、記憶要素、ならびに入
出力要素が含まれている。記憶要素はアドレッシング可
能な記憶場所に情報を記憶する。この情報にはデータと
それを処理するための命令の両方が含まれている。プロ
セッサ要素には、単数又は複数のデジタルデータ処理装
置すなわち「プロセッサ」が含まれており、この各々が
情報を記憶要素から自らのところまで転送させたり又は
取出させたりし、入情報を命令又はデータのいずれかと
して解釈し、そのデータを命令に応じて処理する。その
結果は次に、記憶要素内のアドレッシングされた場所に
記憶される。
入出力要素は又、システム内に情報を転送しそこから処
理済データを得るために記憶要素と交信もする。入出力
要素を含むユニットは通常プロセッサ要素がそれに供給
する制御情報に従って動作する。制御情報は、入出力装
置が実行すべきオペレーションの定義づけをする。入出
力装置が実行すべきオペレーションの1つのクラスは少
なくともユーザー情報すなわちユーザープログラムによ
り用いられる情報を入出力装置と記憶要素の間で転送す
ることである。入出力要素を含む標準的ユニットは、例
えばプリンタ、テレタイプライター、ビデオ表示端末装
置を含み、さらにはディスク又はテープ記憶装置も含ま
れていてもよい。
入出力装置として機能する以外に、ディスク記憶装置お
よび時としてテープ記憶装置は記憶要素の1部としても
機能することができる。特に、記憶要素は標準的に、比
較的迅速にプロセッサにその内容をアクセスできるが一
般にコストの高い記憶装置である1つの主記憶機構を含
んでいる。最近の主記憶機構は標準的にMOS又はバイ
ポーラ半導体技術を用いて作られており、1メガバイト
の数分の1から数十メガバイトの記憶を提供することが
できる。
プロセッサには、システム内のその他のユニットとの通
信を可能にするインターフェイス回路、処理が実際行な
われているデータ経路回路そして処理に呼応してデータ
経路回路およびインターフェイス回路を制御する制御回
路を含む数多くの回路が含まれている。又プロセッサ
は、それが仮想アドレッシングを支援している場合には
記憶域管理オペレーションを実行するための複数の回路
そして1つのキャッシュ記憶機構を含んでいてもよい。
データ経路回路は標準的に、全てデータを記憶すること
のできるものである1セットの汎用レジスタ、1セット
の一時レジスタ、1セットの作業用レジスタ、そしてデ
ータについての演算論理オペレーシヨンを実行するため
の演算論理回路を含んでいる。
標準的な1つの命令には、1つの命令コードと単数又は
複数のオペランド規制子が含まれている。オペランド規
制子はデータを含むことができるが、一般的には処理す
べきデータを含むデータ処理システム内の場所を指定す
る。命令コードは、そのデータをいかに処理すべきかを
定義づけする。オペランド規制子は、処理すべきデータ
を含んでいるものとして、記憶機構、出入力装置、汎用
レジスタ又はデータ経路外のその他のプロセッサレジス
タ内の場所を識別することができる。一時レジスタ及び
作業用レジスタは1つの命令内で識別できないが、これ
らは或る種の状況の下で、特にデータがプロセッサ外部
からのものである場合に、処理すべきデータを一時的に
記憶するために用いられる。さらに、いくつかの命令の
実行には、演算論理回路を通して各々中間結果を生成す
る複数のサイクルが必要となり、特にこの中間結果を記
憶するのに一時レジスタが用いられうる。処理の後、処
理済のデータは、同様に汎用レジスタが記憶機構であり
うる最終的記憶場所に伝送される前に作業用レジスタ内
に記憶される。
各々の処理サイクルにおいて、制御回路はデータ経路内
の演算論理回路を制御するためのマイクロ命令を出す。
標準的なマイクロ命令において、制御回路は、処理すべ
きデータを与えるための2つの場所及び記憶の為のデー
タを受けとるための1つの場所の合計3つの場所の識別
を提供する必要がある。これまでマイクロ命令内でこの
情報を提供するためには、明示的に3つの場所全てにつ
いて1つのマイクロワードフィールドが必要とされた。
従って、フィールド内の情報を制御回路から作業用レジ
スタまで転送するために3つのフィールド全てについて
接続が必要となる。さらに、明示的に3つのレジスタ全
てについて1つのマイクロフィールドを提供するために
も同様にこのようなフィールドを生成するための回路が
制御回路内に必要となる。マイクロプロセッサにおいて
は、回路間の接続数を最小限にしマイクロプロセッサを
形成する回路数も最小限にすることが望ましい。
標準的に、演算論理回路は、加算、減算、比較、パス
(これでは選択された入力における値が出力端に渡され
る)、補数(これでは選択された入力における値が逆転
又は補完される)などを含む、入力値に対する選択され
た数の比較的単純な演算論理オペレーションを実行す
る。しかしながらマイクロ命令の制御の下では、乗算や
除算のようなさらに複数な演算論理オペレーションを構
築してプログラム命令を実行することができる。乗算は
一連の加算、シフト及びパスオペレーションとして実行
でき、除算は一連の加算、シフト及び減算のオペレーシ
ョンとして実行できる。なお各々のオペレーションは1
つのマイクロ命令により使用可能な状態にされる。例え
ば乗算において加算オペレーション又はパスオペレーシ
ョンのいずれを実行すべきかは、先行するオペレーショ
ンの結果により異なる。現行のシステムににおいては、
各々のマイクロ命令の復号は各オペレーションの結果が
見極められるまで遅らされ、このことがそのオペレーシ
ヨンの実行に必要な時間を長いものにしている。
発明の要約 本発明は、デジタル処理システム内で用いるための新し
いプロセッサを提供するものである。
このプロセッサには、演算論理機構を制御する制御信号
を生成する回路が含まれている。プログラム命令に応え
てさまざまなオペレーションが必要とされ現行のオペレ
ーションの結果に基づいて選択する必要がある場合、回
路は、プログラム命令を実行する上で必要となる可能性
のある考えられる全てのオペレーションに対する制御信
号を生成する。制御信号はマルチプレクサに伝送され、
このマルチプレクサは、前のオペレーションの結果に応
えてマイクロプロセッサを制御するための制御信号を選
択する。こうして、比較的長い時間を要する作業である
制御信号の生成は1つのオペレーションが終結する前に
行なわれるが、比較的短かい作業であるその選択はかか
るオペレーションの結果が見極められた時点で直ちに行
なわれる。
図面の簡単な説明 本発明は、添付のクレーム中に特徴と合わせて指摘され
ている。本発明のもつ上述の及びその他の利点は、添付
の図面と合わせて以下の説明を参照することによりより
良く理解できるものと思われる。なお図中: 第1A図は、本発明を内含するデジタルデータ処理シス
テムの全体のブロックダイヤグラムであり、第1B図
は、第1A図に示されているシステム内で用いられるプ
ロセッサの組織的ブロックダイヤグラムである。
第2図は、第2A図から第2D図までを含むもので、本
発明を理解するのに役立つタイミングダイヤグラムであ
る。
第3A図、第3B図及び第3C図は、特にデータ経路を
通しての情報の伝送に関する第1B図に示されているプ
ロセッサの一部分のブロックダイヤグラムである。
第4A図は、詳細なブロックダイヤグラムであり、第4
B−1図及び第4B−2図は、特に仮想アドレスの物理
アドレスへの変換に関する第1図に示されているプロセ
ッサの一部分のより詳細な回路図である。
第5図は、特にキャッシュ記憶機構からのデータ検索に
関する第1B図に示されているプロセッサの一部分の詳
細なブロックダイヤグラムである。
第6図は、特にシステムのその他の部分との転送を制御
するための回路に関する第1B図に示されているプロセ
ッサの一部分の詳細なブロックダイヤグラムである。
1実施態様の詳細な説明 全体的説明 第1図を参照すると、本発明を内含するデータ処理シス
テムは、基本要素として中央演算処理装置CPU10、
記憶機構11及び単数又は複数の入出力サブシステム1
2(1つの入出力サブシステムが第1図に示されてい
る)を含んでいる。母線13がCPU10、記憶機構1
1そして入出力サブシステム12を並列に相互接続して
いる。CPU10は、記憶機構11内のアドレッシング
可能な記憶場所に記憶されている命令を実行する。命令
は、同様に記憶装置内のアドレス可能な場所に記憶され
ているオペランドについて実行すべきオペレーションを
識別する。命令及びオペランドは必要に応じてCPU1
0により取出され、処理済データは記憶機構11内に記
憶するために戻される。CPU10は又、入出力サブシ
ステム12に制御情報を伝送し、記憶機構11へのデー
タの伝送又はそれからのデータ検索といった選択された
オペレーションをこれらのサブシステムが実行できるよ
うにする。かかるデータには、記憶機構11に伝送され
うる命令又はオペランド或いは記憶又は表示のため記憶
機構11から検索される処理済データが含まれているこ
とが考えられる。
操作鍵盤機構14はオペレータのインターフェイスとし
て用いられる、これによりオペレータは、データを検査
し預けたり、CPU10のオペレーションを停止させた
り又は一連の命令を通してCPU10をステップした
り、又それに応えてCPU10の応答を決定したりする
ことができる。又これによりオペレータはブートストラ
ップ手順を用いて、システムを初期値設定し、データ処
理システム全体についてさまざまな診断テストを行なう
こともできる。
データ処理システムには、ディスク及びテープ式二次記
憶装置、テレタイプライター、ビデオ表示端末装置、ラ
インプリンタ、電話及びコンピュータネットワークユニ
ットなどを含む、さまざまなタイプの入出力装置20が
含まれるものと考えられる。これらのユニットは全て単
数又は複数の制御装置22を通って装置母線21を通し
て母線13と連絡している。制御装置22、それに接続
されている装置母線21及び制御装置と連絡している入
出力装置22が、1つの入出力サブシステム12を構成
する。
記憶機構11は母線13及び複数のアレイ17に直接接
続されている記憶機構制御装置15を含んでいる。アレ
イ17には、情報が記憶されるアドレス可能な記憶場所
が複数含まれている。記憶機構制御装置15はCPU1
0又は入出力サブシステム12から母線13を通して転
送要求を受けとる。母線13を通して伝送できる転送要
求にはいくつかのタイプがあり、一般に次の2つのカテ
ゴリに分けられる。1つのカテゴリーでは、情報は1記
憶場所内に書き込まれるか又は記憶され、もう1方のカ
テゴリーでは、情報は記憶場所から検索又は読みとられ
る。
第1図に示されているシステムは又、母線13及び記憶
機構制御装置15と接続し、CPU10により記憶機構
11に向けられる書込み転送要求を代行受信する書込み
バッファ23をも含んでいる。このシステムにおいて記
憶機構制御装置15は、CPU10又は入出力制御装置
22のいずれかにより母線13を通して伝送される書込
み要求に応答しない。特に、書込みバッファ11は、書
込まれるべきデータとそのデータが記憶されるべきアレ
イ17内の場所を識別する関連アドレスの両方を含む書
込み情報を緩衝する。記憶機構制御装置が書込みオペレ
ーションを受け入れることができる場合、書込みバッフ
ァは、専用母線24を通してアドレス及び付随するデー
タを記憶機構制御装置15へ伝送し、この制御装置はア
レイ17がアドレスにより識別された場所にデータを記
憶できるようにする。こうして、母線13を通してのC
PU10による書込みデータの伝送率が高すぎて記憶機
構11が受け入れられなくなった場合、書込みバッファ
23は、記憶機構11が受入れできるようになるまで要
求を緩衝することができる。記憶機構制御装置は、CP
U10又は入出力制御装置22からの読みとり要求に応
えこれに対して読みとりデータを戻すため、直接母線1
3にも接続されている。
当業者は、第1図に示されているように単一プロセッサ
システム内で書込みバッファ23を用いると有利である
と考えるであろうが、これはマルチプロセッサシステム
(図示されておらず)内で用いられるのが最も有利であ
る。マルチプロセッサシステムにおいては、記憶機構1
1は数多くのCPU及び結びつけられた入出力システム
12から読取り及び書込み要求を受けることになる。書
込みオペレーションを実行するのを待ってCPU10に
よる処理が遅れるのを避けるため、書込みバッファ23
は、書込みアドレス及びデータをとり、CPU10は処
理を再開することができる。
書込みバッフアにはさらCPU10からの母線13を通
しての読取り要求を監視するための回路が含まれてい
る。自ら緩衝しておりかつまだ記憶機構11に転送して
いないデータを識別する読取り要求が母線13を通して
伝送されたことを確認した場合、書込みバッファ23は
その専用母線24を通して、記憶機構制御装置がその要
求に応えないよう抑制する。その代りに、書込みバッフ
ァ23は母線13を通して要求されたデータを転送し読
取りオペレーションを完了する。
第1図に示されているシステムには又CPU10の制御
の下で仲裁(任意指定)オペレーションを実行してシス
テム内に複数ある場合母線13に対するさまざまな入出
力サブシステムのアクセスを調節するようなシステム制
御回路25も含まれている。
CPU10は、プロセッサ30及びオプションの浮動小
数点プロセッサ31を含んでいる。標準的に言ってそう
であるように、浮動小数点プロセッサは1つのオプショ
ンであり、本発明に基づいて作られたCPU又はデジタ
ルデータ処理システム10内に必ずしもなくてもよい。
浮動小数点プロセッサには、選択されたタイプのデータ
すなわち浮動小数点書式のデータについての命令を処理
するために最適化されている回路が含まれている。標準
的には、プロセッサ30は同じデータを処理することが
できるが、処理の実行により時間がかかる。
システム内で用いられる1つのプロセッサ30の詳細な
機能的ブロックダイヤグラムは第1B図に示されてい
る。第1B図を参照すると、プロセッサ30には、母線
13のさまざまな制御ライン(集合的に13Aとして示
されている)に接続し以下に記されているように母線の
さまざまなラインを通って信号を送受するような母線イ
ンターフェイス回路33が含まれている。この母線イン
ターフェイス回路は、キャッシュ35、データ経路3
6、記憶域管理装置37及びプロセッサ制御回路40へ
及びこれらからの信号を転送する内部IDAL母線34
にも接続している。プロセッサ30の1実施態様につい
ての母線インターフェイス回路33が以下に第6図と関
連づけて説明されている。
数多くのレジスタもこの内部IDAL母線34に接続さ
れ、母線インターフェイス回路33の制御の下で母線1
3のDALライン50と内部IDAL母線34の間でデ
ータを転送する。限定的に言うと、母線インターフェイ
スユニット33の制御の下で、書込みデータレジスタ2
50及び書込みアドレスレジスタ251はそれぞれ、書
込みデータ及びこの書込みデータが記憶される記憶機構
11又は入出力装置12内の場所のアドレスを受けと
る。以下に説明されているように、適当な時点で、母線
インターフェイスユニット33はこれらのレジスタの中
味がマルチプレクサ253を通してDALライン50上に
伝送され書込みオペレーションが実行されうるようにす
る。同様に、母線インターフェイスユニット33の制御
の下で、読取りアドレスレジスタ252は読みとられる
べきデータを含む場所のアドレスを受けとる。適当な時
点で、母線インターフェイスユニット33は読取りアド
レスレジスタ252の中味がマルチプレクサ253を通
してDALライン50上に結合(カップリング)され読
取りオペレーションが実行されうるようにする。読みと
りデータは入力レジスタ253内で、同様に母線インタ
ーフェイスユニット33の制御の下でラッチング(保
持)される。母線インターフェイスユニット33は入力
レジスタ254の中味が、RCV DAT受信のデータ
信号として内部IDAL母線34上に結合(カップリン
グ)されうるようにする。
プロセッサ制御回路40は記憶機構11から検索された
プログラム命令を復号し、連続処理サイクルにてデータ
経路36が、その命令を実行するのに必要とされる演算
論理オペレーションを行なうことができるようにする。
データ経路36は処理すべきデータを記憶するための1
組のレジスタ255と処理を行なうための演算論理回路
を含んでいる。データ経路36は第3A図及び第3B図
を参照しながら以下にさらに詳細に説明されている。
プロセッサ30の1実施態様は仮想アドレスを用い、仮
想アドレスを物理アドレスに変換するための仮想アドレ
ス変換回路37を提供する。仮想アドレス変換回路に
は、プロセッサ30内のその他の回路特にデータ経路3
6からの仮想アドレスを受けとる1組の原始レジスタ2
57及びいくつかの変換情報を含む変換バッファ260
が含まれている。変換は必要に応じてプロセッサ制御回
路40の制御下で行なわれる。物理アドレスは、変換回
路37からマルチプレクサ261を通して内部IDAL
母線34上に結合される。データ経路36には同様に、
物理アドレスが含まれていてもよく、マルチプレクサ2
61のための第2の原始入力を提供する。プロセッサ制
御回路40はマルチプレクサ261を制御する。
キャッシュ記憶機構35はCPU10内の従来の情報記
憶回路である。キャッシュ記憶機構はK.Hwang及びF.Bri
ggs共著、「コンピュータアーキテクチャーとパラレル
処理」(マグローヒル、1984年)、第2.4節、p9
8以降、ならびにV.Hamacher著、「コンピュータ組織」
(マグローヒル、1984年)、第8.6節、p306以
降に記述されている。データ記憶機構38は複数のブロ
ックの形で組織され、各ブロックは2つの記憶場所を含
んでいる。各々の記憶場所は1つの情報ワード、すなわ
ち一度に母線13を通して転送されうる情報量を記憶す
る。特定の一実施態様においては、1情報ワードは4バ
イト又は32の2進数の情報に相当する。こうして各ブ
ロックは8バイトの情報を記憶することができる。
第5図と関連づけて以下にさらに詳しく記述されている
ように、キャッシュ記憶機構35は、仮想アドレス変換
回路により生成された物理アドレスがキャッシュ記憶機
構35内の1アドレスにいつ相当するかを見極めるヒッ
ト/ミス論理回路262を含んでいる。原始レジスタ2
57からの仮想アドレスの最低位部分、すなわち1実施
態様においてはVA SRCE(8:3)信号は、デー
タ記憶域内の1ブロック及び結びつけられたタグ41入
力を選択するためマルチプレクサ264を通して結合さ
れている。ヒット/ミス論理回路262は次に、結びつ
けられたタグ41の入力の中味が変換された物理アドレ
スに一致するか否かを決定する。このような一致がある
場合、ヒット/ミス論理は断定されたHIT信号を生成
し、この信号は母線インターフェイスユニット33に伝
送される。母線インターフェイスユニット33は断定H
IT信号を受けとらない場合、従来の方法でアドレッシ
ングされた場所の内容を検索するため母線13を通して
1つのオペレーションを使用可能て状態にする。HIT
信号が断定された場合、母線インターフェイスユニット
33は母線13を通してのオペレーションを使用可能に
せず、その代りにキャッシュデータ記憶域38からのデ
ータが内部IDAL母線34を通じてマルチプレクサ2
63を通って伝送されうるようにする。一般にかかるデ
ータはデータ経路36に伝送される。
当業者にとっては明白であるように、キャッシュ記憶機
構35内の1ブロックに記憶された情報は、記憶装置1
1から受けとられたとき、記憶装置11内に記憶された
情報のコピーである。キャッシュ記憶機構35内の各々
のブロックには、その情報をコピーした元の記憶装置1
1内の場所を識別するため母線インターフェイス回路3
6により作成された内容をもつ結びつけられた1つのタ
グ41がある。さらに、各々のブロックには、そのブロ
ックの内容がそのタグの識別する場所の事実コピー内に
あるか否か、すなわちそのブロックの内容が失効したも
のであるか否かを示すため、母線インターフェイス回路
によりリセット又は消去される失効フラグ42が含まれ
ている。
キャッシュ記憶機構35の一実施態様においてデータ記
憶域38、タグ41及びフラグ42は動的記憶機構であ
る。再生カウンタ262は、母線インターフェイスユニ
ット33の制御の下で、再生アドレスを生成し、このア
ドレスは動的記憶機構を再生するためマルチプレクサ2
64を通して結合させられる。
1つの命令には、データ経路36内のレジスタ内のオペ
ランドの場所を識別するか又は仮想アドレス空間内のオ
ペランドの場所を示すアドレスを識別する単数又は複数
のオペランド規制子が含まれている可能性がある。例え
ば、1980年11月25日付でW.S.Strecher他に対し
発行された「可変長の命令を実行するための中央演算処
理装置」についての米国特許第4236206号を参照された
い。プロセッサ制御回路40はデータ経路と共に各々の
オペランド規制子を復号してオペランドの場所を識別
し、次にこれらを識別された場所から得るべく作業を進
める。オペランド規制子はそれ自体そのオペランドを含
んでいることがあり(すなわちオペランド規制子は「リ
テラル」であることができる)、又オペランド規制子
は、オペランドを含んでいるものとしてデータ経路のレ
ジスタ(図示されておらず)の1つを識別することもで
きる。
代替的には、オペランドは、プログラムの仮想記憶空間
内の1つの場所にあってもよく、オペランド規制子はこ
の場所の識別方法を示していてもよい。オペランドが仮
想記憶空間にある場合、制御回路40は記憶域管理回路
37が仮想アドレスを物理アドレスに変換できるように
する。オペランドの物理アドレスが得られた後、母線イ
ンターフェイス33がそのオペランドを得る。これはま
ずそのオペランドがキャッシュ記憶機構35内にあるか
否かを決定する。オペランドがキャッシュ記憶機構内に
ある場合、母線インターフェイスはそのオペランドをデ
ータ経路36へ転送する。一方オペランドがキャッシュ
記憶機構35内にない場合、母線インターフェイス回路
33は記憶機構11に母線13を通して読取り要求を転
送しそのオペランドを検索する。全てのオペランドが得
られた後、データ経路36は命令により要求されたオペ
レーションを行なう。
オペランド規制子は又、処理済のデータが記憶されるべ
き場所も識別する。制御回路40及び記憶域管理回路3
7は、物理アドレスを決定するため上述のものと同じ方
法で用いられる。処理済のデータを記憶機構11内で記
憶しなければならない場合、母線インターフェイス33
は必要とされる書込みオペレーションを母線13を通し
て行なう。さらに物理アドレスがキャッシュ35内の適
当なタグに相当する場合、母線インターフェイス33は
データがキャッシュ35内に記憶されうるようにする。
母線インターフェイスユニット33には、母線13を通
してのデータの転送を制御する状態マシン270ならび
に、内部IDAL母線34を通してのデータの転送を制御す
るIDAL状態マシン271が含まれている。母線イン
ターフェイスユニットはEPP論理回路272をも制御
し、一方この回路272は浮動小数点プロセッサ31と
の通信を制御する。母線インターフェイスユニット33
は以下に、第6図と関連づけてさらに詳しく説明されて
いる。
母線13を通してのオペレーション 母線13は、それに接続されているさまざまなユニット
間の情報を表わす信号を転送するための数多くのライン
(回線)を含んでいる。特に母線13には、DATデー
タ及びADRSアドレス信号を搬送するDAL(31:
0)データアドレスライン50が含まれている。CPU
10、限定的にいうとプロセッサ30が1つの転送を開
始させそれをその転送のための母線マスターとする場
合、プロセッサ30はまずDAL(31:0)データア
ドレスライン50を通してADRSアドレス信号を伝送
し、転送オペレーションが読みとりオペレーションであ
るか書込みオペレーションであるか書込みオペレーショ
ンであるかを示すTR TYPE(2:0)転送タイプ
の指令信号をライン52を通して同時に伝送する。AD
RSアドレス信号及びTR TYPE(2:0)転送タ
イプ指令信号がおさまることのできるだけの短かい時間
の後、プロセッサ30は次にライン51上でADRS
STRアドレスストローブ信号を断定する。
ADRS STRアドレスストローブ信号が断定される
と、母線13に接続されているその他のユニットは全て
ADRSアドレス及びTR TYPE(2:0)転送タ
イプ指令信号を受けとり復号する。このときADRSア
ドレス信号により識別されている場所を含むユニット
が、転送のための応答するユニットすなわち子装置(ス
レーブ)である。転送オペレーションが書込みオペレー
ションでありAERSアドレス信号が記憶機構11内の
場所を識別している場合、書込みバッファー23が子装
置である。プロセッサ30がADRS RTRアドレス
ストローブ信号を断定してから選択された時間だけ経過
した後、プロセッサ30はADRSアドレス信号及びTR
TYPE(2:0)転送タイプ指令信号をそれぞれのラ
インから除去する。
転送されたTR TYPE(2:0)転送タイプ指令信
号が書込みオペレーションを規定している場合、マスタ
ーユニットはライン50を通してデータ信号を伝送し、
次にライン53上でDATA STRデータストローブ
信号を断定する。子装置はこのとき、伝送されたデータ
を受けとりこれを記憶する。データが記憶されると、ア
ドレッシングされたユニットは、オペレーションがエラ
ー無く完了した場合にはライン54上でRDY作動可能
信号を、又記憶オペレーション中エラーが発生した場合
にはライン55上でERRエラー信号を断定する。
一方、伝送されたTRTYPE(2:0)転送タイプ指
令信号が読みとりオペレーションを規定している場合、
子装置はアドレス信号により識別された場所からデータ
を検索し、これらをDAL(31:0)データアドレス
ライン50を通して伝送し、ライン54を通して断定さ
れたRDY作動可能信号を伝送する。これに応えて、プ
ロセッサ30はデータを受けとり、断定されたDATA
STRデータストローブ信号をライン53を通して伝
送する。
読みとりオペレーション又は書込みオペレーションのい
ずれかにおいて、子装置がRDY作動可能信号又は転送
中にエラーが発生した場合にはERRエラー信号を断定
した後、プロセッサ30はDATA STRデータスト
ローブ信号を否定する。それから子装置はRDY作動可
能信号又はERRエラー信号を否定し、次にプロセッサ
30がADRS STRアドレスストローブ信号を否定
して転送を完了する。
プロセッサ30以外の、母線13に接続されたユニット
は、母線マスターを構成し、それを通して記憶装置11
との転送を開始させることができる。入出力サブシステ
ム12特にその入出力制御装置22は母線マスターにな
ることができる。母線マスターとなるために、入出力制
御装置22はライン56を通してDMR直接記憶要求信
号を断定する。次にプロセッサ30は、ライン57上で
DMG直接記憶許諾信号を断定し、この信号は入出力制
御装置22により受けとられる。この時点で入出力制御
装置は、プロセッサ30に関して以上に記されているも
のと同じ方法で記憶機構との転送を開始させる。入出力
制御装置は、転送を完了するまで、DMR直接記憶要求
信号を断定された状態に維持する。こうして入出力制御
装置が数多くの転送を要求する場合、この装置は、転送
が完了するまでDMR直接記憶要求信号を断定された状
態に保つことができる。DMR直接記憶要求信号が断定
されている間プロセッサ30は機能停止状態にある、す
なわちプロセッサは母線13のさまざまなライン上で信
号を監視するがそれ以外いかなる命令も実行しない。
システムに多数の入出力サブシステム12が含まれてい
る場合、母線マスターとなるべき入出力制御装置22に
なる別々の要求信号はシステム制御装置に伝送され、こ
のシステム制御装置がDMR直接記憶要求信号を断定し、
DMG直接記憶許諾信号の状態を監視する。プロセッサ
30がDMG直接記憶許諾信号を断定したとき、システ
ム制御装置は入出力装置22の1つを、何らかの優先順
位任意決定方法に従って母線マスターになれる状態にす
る。
母線13は又、状態信号及び制御信号を搬送するその他
のラインも数多くもっている。ライン60は、システム
内のオペレーションを同期化するのに用いられるCLK
クロック信号を搬送する。母線13上のさまざまな信号
は、CLKクロック信号に呼応してタイミングされてい
る。
ライン61は、2つの機能をもつCCTLキャッシュ制
御信号を搬送する。1986年9月12日に提出された
Paul Rnbinfeld名義の「デジタルデータ処理システムの
ためのキャッシュ無効化プロトコル」についての米国特
許同時係属出願明細書第908825号に記されているよう
に、CCTLキャッシュ制御信号は例えば、入出力制御
装置が母線マスターであり記憶機構11に対する書込み
オペレーションを行なっている場合、この制御装置20
により断定される。入出力制御装置22は、DALデー
タアドレスライン50上でADRSアドレス信号を、ラ
イン52上でTR TYPE転送タイプ信号を伝送している
間、そしてライン51上でADRSSTRアドレスストロー
ブ信号を断定している間、CCTL信号を断定する。C
CTLキャッシュ制御信号が断定され、TR TYPE
転送タイプ信号が記憶機構11への書込みオペレーショ
ンを指示している場合、母線インターフェイス33は、
キャッシュ入力全てのタグ41の内容をチェックする。
母線13のDALデータアドレスライン50上のADR
S信号がタグ41の内容と一致する場合、母線インター
フェイス33はそのキャッシュブロックのためのS失効
フラグ42をリセットする。
CCTLキャッシュ制御信号も又、読みとりオペレーシ
ョン中に要求されたキャッシュ35内にプロセッサがデ
ータを記憶しないようにするため、記憶機構11により
断定される。これは、例えば、記憶機構がマルチポート
記憶機構である場合すなわち、それが各々別々の母線を
通して記憶機構11をアクセスする複数のプロセッサに
より共用されており、検索されているデータがこれらの
プロセッサ全てが使用できる1組のアドレス可能な記憶
場所からのものである場合に、用いることができる。か
かるデータをキャッシュ35の中に記憶させることは望
ましくない。これは、他のプロセッサが共用場所の内容
を更新する可能性があるからである。又更新は母線13
を通して行なわれないので、プロセッサ30により検知
されえない。キャッシュからのこのようなデータをプロ
セッサ30が使用した場合、これは記憶機構内の該当す
る場所の内容と一致しない可能性がある。このCCTL
キャッシュ制御信号の使用に関連して、記憶機構11
は、DALデータアドレスライン50を通してそのデー
タ伝送と同時にCCTLキャッシュ制御信号を断定し、
データを除去する時点までこのCCTLキャッシュ制御
信号を断定された状態に維持する。
母線13には又CCR WRT BUF消去・書込み・
緩衝信号を搬送するライン62も含まれている。CLR WR
T BUF消去書込み緩衝信号は、他の方法ではプロセッサ
30外部で検出可能とならないプロセッサ30内部の或
る種の条件に呼応してプロセッサ30により断定され
る。例えば、プロセッサ30は、プロセス文脈を切替え
させる命令を実行しているとき或いは業務中断ルーチン
又は例外ルーチンを実行し始めたとき、CLR WRT BUF消
去書込み緩衝信号を断定する。CLR WRT BUF
消去書込み緩衝信号は、命令実行中プロセッサ制御回路
40により生成されるマイクロ命令内のフィールドによ
り制御される。
CLR WRT BUF消去書込み緩衝信号が断定され
ると、書込みバッファ23は、それが記憶機構11内に
記憶されるべきデータを含んでいるか否かを見極める。
含んでいない場合には、何もしない。しかし書込みバッ
ファ23に記憶機構11内に記憶すべきデータが含まれ
ている場合には、このバッファはDMR直接記憶要求信
号を断定し、その残りのデータを記憶機構11内に記憶
する試みを続ける。断定されたDMR直接記憶要求信号
に応えて、プロセッサはDMG直接記憶許諾信号を断定
するがこの信号は書込みバッファ23により無視され
る。又プロセッサは機能停止もする。書込みバッファ2
3は、含まれているデータが全て記憶機構11内に適切
に記憶されてしまうまでDMR直接記憶要求信号を断定
された状態に維持する。記憶中にいかなるエラーも発生
しない場合、書込みバッファ23はDMR直接記憶要求
信号を否定しプロセッサ30が続行できるようにする。
記憶機構11への書込み中エラーが発生した場合、書込
みバッファ23はプロセッサに対してエラー信号を送
り、プロセッサ30が現行の文脈中のエラーを見つけ出
し修正するルーチンを処理することができるようにす
る。エラーが検出される前にプロセッサが文脈を切替え
できる状態にある場合、当初データを生成した文脈を見
極めることは困難となる。エラーの回復は、文脈が識別
できる場合簡単になる。従って、書込みバッファ23
は、現行の文脈からのデータの全てが記憶機構内に適切
に記憶されるまでプロセッサが文脈を切替えできないよ
うにする。
浮動小数点プロセッサ31での転送 プロセッサ30は、(1)第2A図と関連づけて以下に説
明されているように、実行すべきオペレーションを指示
するため浮動小数点プロセッサ31に浮動小数点命令の
命令コードを転送するため、(2)第2B図及び第2C図
と関連づけて説明されているように処理のため浮動小数
点プロセッサ31にオペランドデータが転送されうるよ
うにするため、そして(3)第2D図と関連づけして説明
されているように浮動小数点プロセッサ31から処理済
データを得るため、浮動小数点プロセッサ31にも接続
されている。プロセッサ30及び浮動小数点プロセッサ
31は、CP STA(1:0)浮動小数点状態信号を
搬送するライン70及びCP DAT(5:0)浮動点
データ信号を搬送するライン71という2つのラインセ
ットにより相互接続されている。浮動小数点プロセッサ
31は又、DALデータアドレスライン50、CLK信
号を受けとるためのライン60、ADRS STRアド
レスストローブ信号を受けとるためのライン51、RD
Y作動可能信号を受けとるためのライン54、ERRエ
ラー信号を受けとるためのライン55及びDMG直接記
憶許諾信号を受けとるためのライン57を含む、母線1
3の複数のラインにも接続されている。CP STA
(1:0)浮動小数点状態信号及びCP DAT(5:
0)浮動小数点データ信号は、ライン60上のCLK信
号と同期的に伝送される。
遊び(あき)状態にある間、浮動小数点プロセッサ31
はライン60上のCLK信号と同期的に、ライン70及
び71上の信号の状態をサンプリングする。ライン71
のうち少なくとも1本が断定されたレベル信号を搬送し
ているとき、浮動小数点プロセッサ31はこれらのライ
ン上の信号及びライン70上の信号をラツチングする。
第2A図を参照すると、プロセッサ30が浮動小数点プ
ロセッサ31に命令を伝送する場合、プロセッサ30
は、その命令の命令コードの少なくとも一部分を、CL
Kクロック信号の選ばれた数の軽い連続音により規定さ
れる間隔の間、ライン71を通してCP DAT(5:
0)浮動小数点データ信号として、浮動小数点プロセッ
サ31へ伝送する。この間隔中、CLKクロック信号の
連続音の1つと同期的に、浮動小数点プロセッサ31は
信号をラッチングし記憶する。この間隔が終了した時点
で、プロセッサ30はライン70及び71から信号を除
去する。
ライン71を介して送られるCP DAT(5:00)
浮動小数点データ信号は、実行されるべき浮動小数点演
算を識別するのに十分であり、且つ該演算において使用
されるオペランドの数をも識別する。ライン71を経由
する情報の伝達と同時に、他の情報がCP STA
(1:00)浮動小数点状況信号としてライン70を介
して送られるが、これは浮動小数点処理に関する他の情
報を提供するものである。即ち、浮動小数点オペランド
はデータ・タイプと呼ばれる幾つかのフォーマットで符
号化することが出来、該オペランドのフォーマットに関
する情報はライン70を介してCP STA(1:0
0)浮動小数点状況信号として送られる。一実施例にお
いては、オペランドのフォーマットに関する情報のうち
の一部も演算情報と共にライン71を介して送られる。
演算コードを受信すると、浮動小数点演算処理装置31
はそれを復号して、実行するべき演算と所要のオペラン
ドの数とを判定する。次に、演算処理装置30(演算コ
ード送信に応答)と浮動小数点演算処理装置31(演算
コード受信に応答)とは、オペランドがDALデータア
ドレスライン50を介して送られる状態となる。データ
・タイプ情報は浮動小数点演算処理装置31に該オペラ
ンドの各々のフォーマットを判定するために使われる。
或るオペランドフォーマットに関しては、DALデータ
アドレスライン50を経由する一回の伝送に納まるより
多数のビットが或るオペランドフォーマットに必要とさ
れるので、単一のオペランドを転送するために複数回の
転送が必要となる。そこで、データ・タイプ情報は、各
オペランドを転送するのに必要なDALデータアドレス
ライン50経由の転送回数も示す。
オペランドは、三つのソース、即ち、メモリー11(第
1図)、キャッシュ35、又はデータ経路36中の演算
処理装置のレジスター(第3A図に示す)のいずれかに
格納される。単一の演算に要する色々なオペランドもこ
れら三つのソースのいずれかに格納する事が出来る。し
かし、単一のオペランドを転送するのにDALデータア
ドレスライン50経由の転送を複数回行なう必要がある
場合には、その転送は普通は全て単一のソースに対して
試される。第2B図は、メモリーからオペランドを回収
するべく送信される信号の状態を示し、第2C図はキャ
ッシュ35又はデータ経路36中のレジスターからオペ
ランドを転送するために送信される信号を示す。即ち、
第2B図及び第2C図はDALアドレスライン50経由
で転送を一回行なう信号の状態を示しているのであり、
単一のオペランドのために複数回の転送を要することが
あることを理解するべきである。
第2B図を参照する。若しオペランドがメモリー11に
あれば、演算処理装置30はその回収をメモリー11か
ら開始する。即ち、演算処理装置30はADRSアドレ
ス信号をDALデータアドレスライン50に出力して上
記の如くに読み出し動作を実行し、ADRS STRア
ドレスストローブ信号を表明する。その短時間後、演算
処理装置30はCP STA(1:00)浮動小数点状
況信号を二進値0を有するライン70に出力する、即
ち、両方のCP STA(1:00)浮動小数点状況信
号を否定する。更に、演算処理装置30は、CP DA
T(5:00)浮動小数点データ信号をライン70に送
信し、そこでCP DAT(5:4)浮動小数点データ
信号は、DALデータアドレスライン50を介して送信
されるデータのうちのどれほどの量が該オペランドで使
用されるかを示すアドレスアライメントコードを包含し
ている。該オペランドがDAL(5:0)データアドレ
スライン上の短リテラルであればCP DAT(0)浮
動小数点データ信号が主張され、そうでなければCP
DAT(1)浮動小数点データ信号が主張される。
浮動小数点処理装置31は第2A図と関連して上記した
手順で既に演算情報を受信しているので、該装置はオペ
ランドを受信する状態である。主張されたCP DAT
(5:0)浮動小数点データ信号は、浮動小数点演算処
理装置31に対して、バス13の選択されたライン、特
にADRS STRアドレスストローブ信号を運ぶライ
ン51上の信号をサンプリングする様に指示する。浮動
小数点演算処理装置31は、ADRS STRアドレス
ストローブ信号を使用して、オペランドがメモリー11
から回収されていることを判定する。若し、それが主張
されたCP DAT(5:0)浮動小数点データ信号を
受信する時にADRS STRアドレスストローブ信号が主張さ
れると、浮動小数点演算処理装置31は、メモリー11
によるライン54上のRDYレディー信号の主張に応答
してDALデータアドレスライン50上のデータ信号を
ラッチする。演算処理装置30はDAT STRデータ
ストローブ信号をもって応答して転送を完了させる。
若しメモリー11が主張されたRDYレディー信号の代
わりに主張されたERRエラー信号を伴う回収要求に応
答するならば、浮動小数点演算処理装置31はDALデ
ータアドレスライン50上の送信データをラッチしない
ことが理解されるであろう。演算処理装置30は、要求
されることのある再試行等のエラー回復動作が要求され
たならばそれを実行し、第2B図に示した動作を繰り返
す。
第2C図は、オペランドがキャッシュ35にあるにして
も、或はデータ経路36中のレジスターにあるにして
も、オペランドを演算処理装置30から浮動小数点演算
処理装置31への転送を理解するのに有益なタイミング
図である(第3A図と関連させて後述する)。いずれの
場合にも、該演算処理装置はDALデータアドレスライ
ン50上のデータ信号と、第2B図と関連して上記した
のと同じ符号づけを有するCP DAT(5:0)浮動
小数点データ信号とを置き、CP STA(1:00)
浮動小数点状況信号の両方を否定する。これらの信号
は、演算処理装置30により、選択された数のCLKク
ロック信号の期間中、維持される。その期間中、浮動小
数点演算処理装置31はDALデータアドレスライン5
0上の信号をラッチしている。一オペランドの全体を転
送するためにDALデータアドレスライン50経由の複
数転送が必要な場合には、第2C図に示されているシー
ケンスが反復される。
オペランドのデータタイプが、オペランド全体を転送す
るためにDALデータアドレスライン50経由の多重転
送を必要とする様なデータタイプであれば、演算処理装
置30、メモリー11及び浮動小数点演算処理装置31
は、オペランド全体が転送されるまで第2B図及び第2
C図に示されている動作を反復する。
第2B図に示されている動作シーケンスは、下記の相違
点を除いて、第2C図に示されている動作シーケンスと
同様であることが理解されるであろう。CP DAT
(5:00)浮動小数点データ信号が主張された時AD
RS STRアドレスストローブ信号がライン51上で
主張されたならば、浮動小数点演算処理装置31は、主
張されたRDYレディー信号を、オペランド(又はオペ
ランドの一部分)がその時DALデータアドレスライン
50上にあることの表示として利用する。しかし、CP
DAT(5:00)浮動小数点データ信号が主張され
た時にDARS STRアドレスストローブ信号が主張
されなければ、浮動小数点演算処理装置31は、CP
DAT(5:00)浮動小数点データ信号の主張を、オ
ペランド(又はオペランドの一部分)がその時DALデー
タアドレスライン50上にあることの表示として利用す
る。両方の場合において、浮動小数点演算処理装置31
は、第1の場合にはRDYレディー信号の受信後に、第
2の場合には主張されたCO DAT(5:00)浮動
小数点データ信号の受信後に、ライン60上のCLKク
ロック信号と同期してDALデータアドレスライン50
上の信号をラッチする。
オペランドが転送された後、演算処理装置30及び浮動
小数点演算処理装置31は、浮動小数点演算処理装置3
1が結果を送信するべく処理された時演算諸多装置30
がそれを受信する様に処理される状態になる。第2D図
は、処理されたデータを演算処理装置30へ転送するた
めに演算処理装置30及び浮動小数点演算処理装置31
に利用される動作シーケンスを詳細に示すタイミング図
である。処理されたデータは、結果が負であったかゼロ
であったかを示すと共に結果に関する他の選択された事
実を示す状態コードと、浮動小数点演算処理装置31に
より実行された計算の値を表わすデータ信号との両方か
ら成る。
第2D図を参照する。始めに演算処理装置30はライン
70及び71を介して信号コードを送信して、処理され
たデータを受信出来る状態にあることを示す。一実施例
においては、CP STA(1:00)浮動小数点状況信号は
両方とも否定され、CP DAT(3)浮動小数点データ信号
は主張され他は否定される。その後、浮動小数点演算処
理装置31はライン70及び71を介して送信出来る。
浮動小数点演算処理装置31は、処理されたデータを転
送出来る状態の時、状態コードを表わすCP DAT
(5:0)浮動小数点データ信号と同時に、その効果に
対するコードを表わすCPSTA(1:00)浮動小数
点状況信号を送信する。浮動小数点演算処理装置31
は、選択された数のCLKクロック信号の期間中これら
の信号を維持し、その後データ信号をDALデータアド
レスライン50上に出力すると共に、その効果に対する
コードをライン70及び71に出力する。処理されたデ
ータ信号を転送するためにDALデータアドレスライン
50経由の複数転送が必要である時には、浮動小数点演
算処理装置31はCLKクロック信号と同期してそれら
を転送する。
浮動小数点演算処理装置31がオペランドを処理してい
る間、結果を演算処理装置30に送信する前に、演算処
理装置30は、入出力サブシステム12がメモリー11
との間で転送を行なうことを許すDMGダイレクトメモ
リー許諾信号を主張する事が出来る。演算処理装置30
が処理されたデータを受信出来る状態であることを該演
算処理装置が表示した後、浮動小数点演算処理装置31
はライン57の状態を監視する。浮動小数点演算処理装
置31が処理されたデータを戻せる状態である時にDM
Gダイレクトメモリー許諾信号がライン57に主張され
ると、浮動小数点演算処理装置31は、処理されたデー
タを戻すことを、DMG信号が否定された後まで遅延さ
せる。
また、例えばメモリー11からオペランドを検索してい
る点にエラーが発生すると、演算処理装置30は、浮動
小数点演算処理装置31から処理済データを受信したい
旨を示さない。演算処理装置30は浮動小数点演算処理
装置31の動作を打ち切らない;むしろ、演算処理装置
30が新しい演算コードを浮動小数点演算処理装置31
に送ると、浮動小数点演算処理装置31はその演算コー
ドで動作する。演算処理装置30が処理済データを受信
出来る状態であることを示す、演算処理装置30からラ
イン70及び71を介して送信されるCP STA
(1:00)浮動小数点状況信号とCP DAT(5:
00)浮動小数点データ信号とは、浮動小数点演算処理
装置31がそれらを区別し得る様にするため、如何なる
演算コードにも対応していては成らないことが分かるで
あろう。
データ経路36 演算処理装置30のデータ経路36を第3A図及び第3
B図と関連させて説明する。第3A図を参照すると、デ
ータ経路36は、CP0ないしGP14で示した15個
の汎用レジスターの組と、TEMP0ないしTEMP1
5で示した16個の一次レジスター81組と、W0ない
しW7として示した8個の作業レジスター82の組とを
含む複数組のレジスターを含んでいる。また、データ経
路36は算術論理ユニット83を含んでおり、このユニ
ットは、ALU制御回路84からのSLU CTRL制
御信号の制御下で、幾つかの出所からのデータに算術演
算及び論理演算を行なう。ALU制御回路84は、下記
の通りに制御回路40(第2図)から提供されるALU
OP SEL演算選択信号によって制御される(第3
C図)。算術論理ユニット83において使われるデータ
は、レジスター80,81及び82から、乗算及び除算
と関連して使用されるQレジスター(図示せず)から、
演算処理装置30、メモリー11又は所要のデータがキ
ャッシュ内にある場合にはキャッシュ35内の色々なレ
ジスターから、並びに当該技術分野において周知されて
いる様に該データ処理システム内の他の出所から、提供
される。
算術論理ユニット83は、処理するべきデータを二つの
入力端子、即ちA IN入力端子及びB IN入力端
子、を通して受信し、制御マイクロワードからのALU
CTRL制御信号に従って該データを処理し、処理済
データをW OUTライト出力端子を通して送出する。
入力データの出所は全てワイヤードOR構成でA IN
及びB IN入力端子に接続されている。制御回路40
(第1図)からの制御マイクロワードは、A IN及び
B IN入力端子に実際に送信れれるべきデータの出所
と、処理済デターが格納される格納場所とを決定する。
即ち、一実施例においては、A IN入力端子へのデー
タの出所は、組80,81及び82内のレジスターの全
てと、演算処理装置内の選択された雑多なレジスター
と、メモリー11又はキャッシュ35を含む。一方、B
IN入力端子へのデータの出所は、組82のレジスタ
ーと、選択された他の雑多な演算処理装置レジスターと
のみを含む。処理済データは、若しそうでなければデー
タの出所となるかも知れない如何なる場所にも書き込む
事が出来る。
従って、汎用レジスター80は二組の制御信号、即ち一
組のA IN GPR“A”イネーブル汎用レジスター
制御信号と、一組のW EN GPRライトイネーブル
汎用レジスター制御信号とを受信する。演算論理ユニッ
ト83のA IN入力が汎用レジスターの内容を受信す
るべき場合には、その汎用レジスターの内容が算術論理
ユニット83のA IN入力端子に送信されることを可
能にするA IN GPR“A”イネーブル汎用レジス
ター制御信号のうちの対応する一つが主張される。同様
に、算術論理ユニント83の出力が汎用レジスター80
の一つにロードされるべき場合には、その汎用レジスタ
ーに対応する一つのW EN GPRライトイネーブル
汎用レジスター制御信号が主張される。
一時レジスターの組81と作業レシスターの組82とは
同様の制御信号を受信する。即ち、一時レジスターの組
81は、選択された一時レジスターの内容が算術論理ユ
ニット83のA IN入力端子へ送られることを可能に
するための一組のA EN TEMP“A”イネーブル一時制御
信号を受信する。また、一組のW EN TEMPライトイネー
ブル一時制御信号は、算術論理ユニット83のW OU
T出力端子からの処理済データが一時レジスターの組8
1内の選択された一時レジスターに格納されることを可
能にする。
作業レジスターの組82は、選択された作業レジスター
の内容がA IN及びB IN入力端子にそれぞれ転送
されることを可能にするための一組のA EN WR
“A”及びA EN WR“B”イネーブル作業レジスター制
御信号を受信する。また、作業レジスターの組82は、
算術論理ユニント83からの処理済データが選択された
作業レジスターに格納されることを可能にするための一
組のW EN WRライトイネーブル作業レジスター制
御信号を受信する。算術論理ユニット83のA IN及
びB IN入力端子及び処理済データを格納することの
出来る格納場所へのデータの他の出所のために同様の制
御信号(図示せず)が発生される。
第3B図は、第3A図に示した色々なレジスター制御信
号と、図示しない他の制御信号とを発生させる回路の論
理図である。初めに、制御マイクロワードは、算術論理
ユニット83のA IN及びB IN入力端子へ転送さ
れる信号の出所を制御する信号と、W OUT出力端子
からの信号の宛先を制御する信号とを定義する三つのフ
ィールドを含んでいる。即ち、制御信号マイクロワード
は、A SEL(5:0)“A”選択制御信号と、B
SEL(3:0)“B”選択制御信号、及びDEST
(1:0)宛先(即ち、ライト)選択制御信号とを定義
するフィールドを含む。
制御回路40(第1図)は、新しい指令の処理を開始す
る時NEW INST新指令信号を主張し、各オペラン
ド・スペシファイアーの復号を開始する時にはNXT
SPCクネスト・スペシファイアー信号を主張する。第
3B図を参照するに、制御回路40からのNEW IN
ST新指令信号に応答して、カウンタ85が初期化され
る。オペランド・スペシファイアーが復号される毎に、
制御回路はNXT SPCネクスト・スペシファイアー
信号を主張し、該カウンタのカウント動作を可能にす
る。カウンタ85は、復号されているオペランド・スペ
シファイアーを識別する二進化信号SNスペシファイア
ー数を発生させる。
該SNスペシファイアー数信号に応答して、二つのデコ
ーダ 86及び87がそれぞれ出力信号WX EN W
SN(Xはカウンタ85から信号が発生される順に0,
2,4,7,3,1である)及びWX EN WSN+
1(Xは1,3,5,0,4,2である)を発生させ
る。一般に、オペランドは、デジタルデータ処理システ
ムで算術演算又は論理演算が為される前にデジタルデー
タ処理システム以外のどこかから作業レジスター82内
に転送され、WX EN WSN及びWX EN WS
N+1信号は、オペランドがそれぞれの作業レジスター
にロードされる順番に関連する。しかし、一作業レジス
ターが提供し得るより多いスペースをデータ項目が必要
とする場合には、その一部はWX EN WSN信号に
より特定される作業レジスターにロードされ、残りはW
X EN WSN+1で特定される作業レジスターにロ
ードされる。
例えば、或る指令を実行している再に各オペランドが単
一の作業レジスターに納まるならば、第1オペランドは
作業レジスター82のレジスター0に転送され、第2オ
ペランドはレジスター2に、第3オペランドはレジスタ
ー4に転送されるなど、デコーダ86により特定される
順序で転送される。本書記載の特定の実施例では最大6
個のオペランドが指令実行に使用される。若し各オペラ
ンドが二つの作業レジスターを必要とするならば、第1
オペランドはデコーダ86により決定されるレジスター
0と、デコーダ87により決定されるレジスター1とに
転送される。
デコーダ90はA SEL(5:00)“A”選択制御
信号を受信し、該制御信号の符号付けに応答して数箇の
A EN XXイネーブリング信号(XXはGPR0−
14、TEMPO-TEMP15、W0−W7、WSN WSN+
1、及びOTHERを指す。ここで“OTHER”は、
前述のQレジスターを含む、演算処理装置30内の他の
選択されたレジスターに関する)を発生させる。同様
に、デコーダ91はB SEL(3:0)“B”選択制
御信号を受信し、該制御信号の符号づけに応じて数箇の
B EN XXイネーブリング信号(XXはW0−W
7、WSN、WSN+1、及びOTHERを指す。ここ
でOTHERは演算処理装置30内の選択された他のレ
ジスターに関する)をそれぞれの出力信号ラインに発生
させる。
A EN WSNイネーブリング信号は、デコーダ90
からのWX EN WSNイネーブルライトスペシフィ
アー数信号をゲート制御する一組のゲート・ドライバー
100に中継され、それらが、デコーダ90からのA
EN WX信号(Xは0,2,4,7,3及び1であ
る)を運ぶそれぞれの信号ラインに中継されることを許
す。斯くして、若しA SEL(5:00)“A”選択
信号に応答してデコーダ90がA EN WSNイネー
ブル作業レジスタースペシフィアー数信号を主張すれ
ば、ドライバー100は、その時デコーダ86により主張
されているW X EN WSN信号を運ぶ信号ライン
を付勢する。ゲート・ドライバー101は、A EN
WSN+1信号により制御され、デコーダ87により発
生されたWX EN WSN+1信号に対して同じこと
を行なう。また、ゲート・ドライバー102及び103
は、B EN WSN及びB EN WSN+1イネー
ブリングにより制御され、B EN W0−B EN
W7と関連してWX EN WSN及びWX EN W
SN+1信号に対して同じことを行なう。
また、デコーダ90及び91及びドライバー10−10
3からの出力信号はラッチ92及び93に中継される。
ラッチ92及び93は、A LTH HOLD及びB
LTH HOLDラッチホールド信号が否定される時に
は入力信号の状態をそれぞれの出力端子に中継し、A
LTH HOLD及びB LTH HOLDラッチホールド信号が
主張される時にはそれぞれの信号ラインの状態をラッチ
する。制御回路40は、それぞれの信号ライン上の信号
が色々なW EN XXライトイネーブリング信号を発
生させるのに使用するために安定となった時A LTH
HOLD及びB LTH HOLDラッチホールド信
号を主張するので、制御回路は新しい制御マイクロイン
ストラクションを発生させ使用する事が出来ることとな
り、さもなければデコーダ90及び91の出力を変化さ
せ信号ライン上の信号を変化させる。
ラッチ92及び93にラッチされた信号はマルチプレク
サ104の入力端子のそれぞれの組に中継される。また、
マルチプレクサ104は、デコーダ86からのWS E
N WSN信号を受信する入力端子の第3の組と、否定
されるレベルの信号を受信する入力端子の第4の組とを
有する。選択された入力端子の組が制御回路40からの
DEST(1:0)宛先信号を受信し、該DEST
(1:0)宛先信号は制御マイクロインストラクション
から由来する。二つのDEST(1:0)宛先信号は4
組の入力信号のうちから出力に中継されるべき一組を選
択し、所要のW EN XX(XXはGPR、TEM
P、WR、及びOTHERを指す)ライトイネーブリン
グ信号を提供する。従って、二つのDEST(1:0)
宛先信号に応じてライトイネーブリング信号が選択され
るが、これは、さもなければ処理済データの多数の宛先
を選択するのに必要とされるより遥かに少ない信号であ
る。
上記した如く、算術論理ユニット83(第3A図)によ
って為される演算はALU制御回路84からのALU
CTRL信号により制御され、該回路84は、演算処理
装置30の制御回路40(第1B図)からのALU O
P SEL演算選択信号により制御される。第3C図を
参照するに、ALU制御回路84は、ALU OP SE
L演算選択信号に応答してALU CTRL CODE
制御コード信号を発生させるプログラマブル・論理アレ
イ回路から成るデコーダ85を含む。また、デコーダ8
6は、ALU OP SEL演算選択信号を受信して、
ALU OP SEL演算選択信号の符号づけに応じて
MUL乗算信号又はDIV除算信号を発生させる。
背景として、算術論理回路83は直接に乗算又は除算を
行なわないので、一つの特別の実施例では、プログラム
指令により特定された時には既知の順次加算シフト乗算
アルゴリズムの実施により乗算を行なう。同実施例は、
プログラム指令により特定された時には、既知の順次シ
フト−減算/加算・非復元型除算アルゴリズムの実施に
より除算を行なう。
該乗算アルゴリズムにおいては、制御回路40は、算術
論理ユニット83が加算又は通過演算(通過演算におい
ては、該算術論理ユニットの一入力端子のデータ信号が
出力端子に送られる)を行なうことを可能にする一連の
AUL OP SEL演算選択信号を発生させ、その結
果は前述のQレジスター(図示せず)に格納される。該
除算アルゴリズムにおいては、ALU OP SEL演算選択信号
は、算術論理ユニット83が加算又は減算を行なうこと
を可能にし、その結果もQレジスーに格納される。
どの演算が為されるべきか、即ち、乗算プログラム指令
に対して加算又は通過演算を行なうべきか、除算プログ
ラム指令に対して加算又は減算を行なうべきか、という
ことは、シリーズ中の先の演算の結果の一部に基づく。
先の演算の結果が決定された後までの、制御回路40の
(第1B図)によるALU OP SEL演算選択信号
の発生の遅延を防止するために、ALU制御回路84
は、ALU OP SEL演算選択信号かMUL又はD
IV演算を特定するならばALU CTRL制御信号のうちの少
なくともいくつかを発生させる回路を包含している。デ
コーダ85はこれらの信号のうちのいくつかを発生させ
て、それらをALU CTRL CODE制御コード信
号として送信し、該信号はマルチプレクサ88の一入力
に中継され、その出力信号は、算術論理ユニット83を
制御するALU CTRL制御信号を構成する。
マルチプレクサ88の第2入力はPRESET CTR
L CODEプリセット制御コード信号を受信する。先
の段落に関して、乗算及び除算が共に加算ステップを含
むので、PRESET CTRL CODEプリセット
制御コード信号は加算演算を特定する。若しALU O
P SEL信号がMUL演算を特定するならば、ALU
CTRL CODEコード信号は算術論理ユニットの
通過機能を特定する。一方、若しALU OP SEL
演算選択信号がDIV除算を特定するならば、ALU
CTRL CODE制御コード信号は減算を特定する。
第2デコーダ86も制御回路40(第1B図)からAL
U OP SEL演算選択信号を受信し、それらがMU
L乗算を特定する時にはMUL乗算信号を主張し、それ
らがDIV除算を特定することにはDIV除算信号を主
張する。MUL乗算及びDIV除算信号は、マルチプレ
クサ制御回路87を制御し、該回路87は、当該技術分
野において既知の如くに、為されるべき演算を決定する
先の結果の一部分を表わすRESULTS信号を他の回
路から受信する。該RESULTS信号、及びデコーダ
86からのMUL乗算及びDIV除算信号に応答して、
マルチプレクサ制御回路87は、マルチプレクサ88を
制御するMUX SELマルチプレクサ選択信号を発生
させる。
詳しく述べると、若しデコーダ86がMUL乗算信号を
発生させ且つRESULTS信号が加算を実行するべき
旨を表わしているならば、マルチプレクサ制御回路87
はMUX SELマルチプレクサ選択信号を発生させる
が、該信号は、PRESET CTRL CODEプリ
セット制御コード信号を算術論理ユニット83に中継し
て該ユニットが加算を行なうことを可能にする。同様
に、若しデコーダ86がDIV除算信号を発生させ且つ
RESULTS信号が加算を実行するべき旨を表わして
いるならば、PRESET CTRL CODEプリセ
ット制御コード信号を算術論理ユニット83に中継して
該ユニットが加算を実行することを可能にするMUX
SELマルチプレクサ選択信号が発生させられる。
一方、(1)デコーダ86がMUL乗算信号を発生させ
且つRESULTS信号が通過演算を実行するべき旨を
示しているか、又は(2)デコーダ86がDIV除算信
号を発生させ且つRESULTS信号が減算を実行するべき旨
を示していれば、MUX SELマルチプレクサ選択信
号は、マルチプレクサ88がデコーダ85からのALU
CTRL CODE信号を、算術論理ユニット83を
制御するALU CTRL信号としてその出力に中継す
ることを可能にする。デコーダ86がMUL乗算信号も
DIV除算信号も発生させない時にも、MUL SEL
マルチプレクサ選択信号は、マルチプレクサ88がデコ
ーダ85からのALU CTRLCODE信号を算術論
理ユニット83を制御するためのALU CTRL制御
信号としてその出力に中継することを可能にする。
第3C図に示されている回路は、デコーダ86、マルチ
プレクサ88及びマルチプレクサ制御回路87の適切な
選択により、先の演算の結果に完全に又は部分的に依存
する他の算術論理ユニット演算と関連して使用すること
も出来るものでなることが理解されよう。制御回路40
は次の演算のためのALU OP SEL演算選択信号
を発生させる前に演算の結果が決定されるまで待ってい
る必要がないので、該回路は、算術論理演算間の時間を
短縮することを容易にするものである。
並進用突き合わせ検証回路 メモリー管理回路37のバッファ260 CPU10(第1図)を含むシステムにおいて、各プロ
グラムがメモリースペース全体が割り当てられていると
考えられて仮想メモリー構成が使われているが、それは
メモリー11が提供する物理的メモリースペースより大
きいことがある。演算処理装置30が仮想メモリースペ
ース内の特定の場所にアクセスしなければならない時、
仮想のメモリースペースの所要の部分は必要に応じて物
理的メモリー11内にシフトされまたは該メモリー内か
ら外へシフトされ、物理的メモリー11内に無い仮想メ
モリースペースは大量記憶装置(代表的にはディスク格
納ユニット)に格納される。
演算処理装置30の一部、即ちメモリー管理回路37
は、メモリー11内に格納されている並進ページテーブ
ル(図示せず)上の記入項目を使って、“仮想上のアド
レス”と称する仮想メモリースペース内のアドレスと、
物理的メモリー11内の動物的アドレスとの間で並進を
行なわせる。仮想メモリーを備えたシステムにおける仮
想アドレスから物理的アドレスへの並進の手順は周知さ
れているので、ここでは説明しない。
仮想アドレスから物理的アドレスへの並進を高速化する
ために、メモリー管理回路37は、並進と関連して最近
に使用された選択された数のページテーブル項目を格納
する並進バッファ260を含む。並進バッファ260の
回路はブロック図の形で第4A図に示されており、並進
バッファ260のより詳しい論理図は第4B−1図及び
第4B−2図に示されている。
第4A図を参照するに、並進バッファ260は、仮想ア
ドレスの高位部分を格納する複数の項目を有する内容ア
ドレス可能メモリー110と、ヒットバッファ111
と、ページフレーム数格納回路112とを含んでいる。
仮想アドレスの高位部分は仮想メモリースペースにおけ
る“ページ”を特定するが、ページは所定数の連続する
格納場所を有する。ページフレーム数格納回路は内容ア
ドレス可能メモリーと同数の項目を包含している。ペー
ジフレーム数回路の各項目は、内容アドレス可能メモリ
ーの一項目と関連しており、内容アドレス可能メモリー
内の仮想アドレスの高位部分に対応する物理的アドレス
の高位部分又はページフレーム数を格納する。一実施例
においては、内容アドレス可能メモリー及びページフレ
ーム数格納回路は共に28個の項目を包含する。
並進バッファ260は保護論理回路113も含んでお
り、この回路も28個の項目を含み、その各々が内容ア
ドレス可能メモリーの一つの項目と関連している。保護
論理回路の各項目は、内容アドレス可能メモリー110
内の対応する項目の内容によって特定される格納場所の
内容に対するプログラムのアクセス権を表わす復号され
た保護コードを格納する。
また、並進バッファ260は、4組のフラグ、即ち、
「NUL最後に使われなかったフラグ」の組114、
「TB.V並進バッファ260妥当フラグ」の組11
5、「PTE.Vページテーブル項目妥当フラグ」の組
116、及び「PTE.Mページテーブル項目修正フラ
グ」の組117と、を有する。内容アドレス可能メモリ
ー110内の各項目は、組114の「NUL最後に使わ
れなかったフラグ」の一つ、組115の「TB.V並進
バッファ260妥当フラグ」の一つ、組116の「PT
E.Vページテーブル項目妥当フラグ」の一つ、及び組
117の「PTE.Mページテーブル項目修正フラグ」
の一つと関連している。「NUL最後に使われなかった
フラグ」の組114及び「TB.V並進バッファ260
妥当フラグ」の組115は、並進バッファの動作を制御
するために使われる。特に、NLUフラグの組114
は、新しいページテーブル項目がメモリー11から受信
された時などにおける並進バッファ260内の項目の置
換と関連して使用される。直前に使われなかった並進バ
ッファ260項目のフラグがセットされ、それを新しい
項目と置換する事が出来る。「TB.V並進バッファ2
60妥当フラグ」は、内容アドレス可能メモリー110及
びページフレーム数回路112内の対応する項目が妥当
であること、即ちそれらを使用し得ること、を示す。
残りのフラグは、メモリー11から検索されるページテ
ーブル項目の一部を形成する・「PTE.Vページテー
ブル項目妥当フラグ」116は、対応するページテーブ
ル項目が妥当で使用し得るか否かを示す。「PTE.M
ページテーブル項目修正フラグ」117は、対応するペ
ージが修正されたか否かを示す;若し或るページが、物
理的メモリー11内の場所が仮想アドレススペース内の
他のページきために使われた時に修正されていなけれ
ば、それはディスク又はテープに格納されない。
演算処理装置30(第1図)は、特定の仮想アドレスを
使ってメモリーにアクセスする時、最初に、並進バッフ
ァ260がその仮想アドレスの高位部分に対応する項目
を内容アドレス可能メモリー110内に有するか否かを
判定する。A VA SRCE仮想アドレスソース信号
は、仮想アドレスの高位部分を表わすが、該信号は内容
アドレス可能メモリー110に送られる。若し内容アド
レス可能メモリー110の或る項目がVA SRCE仮
想アドレスソース信号に対応し、且つ「TB.V並進バ
ッファ260妥当フラグ」の組115内の関連するフラ
グがセットされた状態となっていて該項目が妥当である
ことを示していれば、PET HIT(27:0)ペー
ジテーブル項目ヒット信号のうちの対応する一つがライ
ン113に主張される。ヒットバッファ111はPTE
HIT(27:0)ページテーブル項目ヒット信号を
緩衝して、それらを内部タイミング信号に応答して調時
する。若しPTE HIT(27:0)ページテーブル
項目ヒット信号の一つが適切な時に主張されれば、対応
するHIT SEL(27:0)ヒット選択信号が主張
される。HIT SEL(27:0)ヒット選択信号の
うちの選択された一つは、ページフレーム数格納回路1
12の28個の項目のうちの対応する一つが内部バス3
4に転送されることを可能にする。
並進バッファ260は、保護論理回路113も含んでお
り、該回路113は、28項目を含み、その各々は、ペ
ージフレーム数格納回路112の対応する項目のページ
フレーム数により特定されるページの内容へのプログラ
ムのアクセス権を表わすビットを、復号された形で、格
納する。各ペーシテーブル項目は、ページフレーム数回
路112に格納されているページフレーム数に加えて、
演算処理装置30が動作している、読み出し又は書き込
み動作のために該ページにアクセス出来る最低動作保護
レベルモードを特定する保護フィルードを包含してい
る。デコーダ120は、該保護フィールドを受信して、
復号済保護フィールドビットを発生させ、該ビットは、
内容アドレス可能メモター110及びページフレーム数
回路112の対応する項目が第4A図に示した並進バッ
ファ260にロードされる時に保護論理回路に格納され
る。
詳しく述べると、一実施例は(特権の低下する順に)核
(K)、管理(E)、監視(S)及びユーザー(U)と
称される四つの動作保護レベルモードを設ける。演算処
理装置30が動作特権レベルモードで作動している時に
読み出し又は書き込み動作で或るページにアクセス出来
るならば、演算処理装置30がより高い動作特権レベル
モードで動作している時に同じ読み出し又は書き込み動
作のためにアクセスする事が出来る。その実施例では、
保護論理回路113へ格納されるべき、ページテーブル
項目の符号化された保護値と、デコーダ回路120によ
り生成された対応する復号済ビットの値とは、次の通り
である。: 復号された値は8ビットのコードを表わしており、左側
の4ビットは、関連するページフレーム数により特定さ
れる場所から読み出しを行なうことの出来る動作特権レ
ベルモードを表わし、右側のビットは関連するページフ
レーム数により特定される場所に書き込みを行なうこと
の出来る動作特権レベルモードを表わしていることが理
解されるであろう。各4ビットのグループの中で、ビッ
トは動作特権レベルモードの一つに関連づけられてい
る。詳しく述べると、各4ビットのグループ内で、各ビ
ットは、左から右へ、特権が低下してゆく動作特権レベ
ルモードに関連づけられている。
第4A図に示されている並進バッファ260が仮想アド
レスを物理的アドレスへ並進ないし翻訳するのに使われ
ている時、VASRCE仮想アドレスソース信号の内容
アドレス可能メモリーへの送信と同時に、他のデコーダ
121は、CUR MODE現行特権レベルモード信
号、若し動作が読み出し動作ならば主張RDリード信
号、又は若し動作が書き込み動作であれば主張WRTラ
イト信号を受信する。CUR MODE現行モード信号
は、演算処理装置30が動作している現行の保護レベル
動作モードを特定する。
これに応じて、デコーダ121は現行動作保護レベルモ
ードと共に現行の読み出し又は書き込み動作を特定する
8個のP CODE(7:0)保護コード信号の一つを対応す
る信号ライン122上に主張する。即ち、下記の通り
に、P CODE(7:0)保護コード信号の四つの高
位信号の各々は、読み出し動作と関連して四つの動作保
護レベルモードと関連しており、四つの低位信号は書き
込み動作と関連して四つの動作保護レベルモードの一つ
と関連している。
保護論理回路はP CODE(7:0)信号を保護論理
113の内容と比較する。若し主張されたP CODE
(7:0)保護コード信号が、保護論理113の項目に
格納されている復号済保護フィールド内の少なくとも一
組のビットに対応するならば、ACCESS(27:
O)アクセス信号の一つが、該項目と関連するライン1
23の一つの上に主張される。一方、若し主張されたP
CODE(7:0)保護コード信号が一項目内の復号
済保護フィールドの少なくとも一組のビットに対応しな
ければ、いずれのACCESS(27:0)アクセス信
号も主張されてい。
ACCESS(27:0)アクセス信号は、対応するH
IT SEL(27:0)ヒット選択信号とAND論理
演算されてNOSTALL(27:0)信号を発生させ
るが、その各々は並進バッファの項目の一つと関連して
いる。演算処理装置30は、NOSTALL(27:
0)信号を使って、並進バッファ260が所要のページ
フレーム数を包含しているか否か判定し、更に、若し包
含していれば、該演算処理装置が不十分な動作特権レベ
ルモードでメモリー11の或るページに対して読み出し
又は書き込み動作を行なおうとしているのか否か判定す
る。若しNO STALL(27:0)信号の少なくとも一つが
主張されれば、並進バッファ260項目は所要のページ
フレーム数を包含しており、演算処理装置30は所要の
動作特権レベルモードを持っている。
第4B−1図及び4B−2図は、第4A図に示された並
進ウバッファ260の色々な回路の一つの項目の部分の
詳細な論理図である。詳しく述べると、内容アドレス可
能メモリー110、ページフレーム数回路112、及び
保護論理113は複数の同一の論理記憶セルを含んでお
り、各セルは関連する高位仮想アドレス、ページフレー
ム数、及び復号済保護フィールドの一つのビットを格納
する。該セルは同一であるので、回路110,112及
び113の各々から唯一のセルのみを第4B−1図及び第
4B−2図に示す。
第4B−1図を参照するに、内容アドレス可能メモリー
110は、演算処理装置30内の回路251(第1B
図)からVA SRCE高位仮想アドレスソース信号の一つ、
即ちVA SRCE(Y)信号を受信するライン132
に接続されたCAMセル131を含む。回路251は、
下記の点を除いてVA SRCE(Y)信号とほぼ相補
的なVA SRCE(Y)COMP信号をライン132A
上に提供する。CAMセル131を含む項目内の他のC
AMセルは他のVA SRCE信号を並列に受信し、該
VA SRCE信号の全ては、内容アドレス可能メモリ
ー110(第4A図)に送信される仮想アドレスの高位
部分全体を構成する。内容アドレス可能メモリー110
内の全項目はVA SRCE仮想アドレスソース信号を
同時に受信する。
VA SRCE仮想アドレスソース信号は、二つの目的
のうちの一つのために、即ち、並進バッファの項目に書
き込みをするために、又はアドレス並進又は翻訳を得る
ために、内容アドレス可能メモリー110に向けること
が出来る。並進バッファの項目に書き込みをしている
間、演算処理装置30内の他の回路は、仮想アドレスの
高位ビットをVA SRCE仮想アドレスソース信号と
して送信し、書き込まれるべき並進バッファ206項目
と関連するTBE WRT並進バッファ260項目書き
込み信号を主張する。これに応じて、セル131の通過
トランジスタ133及び133Aがオン状態となり、ラ
イン132及び132A上の信号を、インバータ134
及び135から成るフリップフロップへ中継する。若し
ライン132上のアドレスビットが主張されれば(且つ
そのライン132A上の補数ビットが否定されれば)、
インバータ134の出力は低レベルでインバータ135
の出力は高レベルである。若しライン132上のアドレ
スビットが指定されれば、インバータ134の出力は高
レベルであり、インバータ135の出力は低レベルであ
る。
ページフレーム番号回路は、各々セル番号を含むエント
リー番号も含み、その一つのセル140は第4B−1図
に描かれる。TBE WRT変換バッファ260書込み
信号が、変換バッファ260エントリーへの書込み動作
を示して、入力されれば、パストランジスタ142はオ
ンして、プロセッサ30内の他の回路からのライン14
3上のPFN(Z)ページフレーム番号(Z)信号がイ
ンバータ144及び145よりなるフリップフロップへ
供給される。PFN(Z)信号の状態に応じたインバー
タ144及び145からの信号状態は、インバータ13
4及び135からの信号状態と同様である。PEN
(Z)ページフレーム番号(Z)信号は、セル141を
含むエントリー内に記憶された1ビットのページフレー
ム番号である。
同様に、保護ロジックは、各々複数のセルを含む複数の
エントリーを含み、その内セル151が第4B−2図に
描かれる。TBEWRT変換バッファ260書込み信号が
入力されれば、パストランジスタ152はオンし、デコ
ーダ回路120からのPROT DEC(W)復号保護
コード信号がインバータ154及び155よりなるフリ
ップフロップへ供給される。PROT DEC(W)復
号保護信号の状態に応じたインバータ154及び155
の状態は、インバータ134及び135からの信号状態
と同様である。
PTE.V及びPTE.Mページテーブルエントリーバ
リッド及び修飾フラッグ116及び117は、各々同様
の構造であるセル161及び171を含む。フラッグ1
16はパストランジスタ162を含み、これは入力され
たTBE WRT変換バッファ260エントリー書込み
信号によりオンされた時、プロセッサ30内の他の回路
からのPTE.V WRTページテーブルエントリーバ
リッド書込み信号をインバータ164及び165からな
るフリップフロップに記憶させるために供給する。ま
た、フラッグ117はパストランジスタ172を含み、
これは入力されたTBE WRT変換バッファエントリ
ー書込み信号によりオンされた時、PTE.M WRT
ページテーブルエントリー修飾書込み信号をインバータ
164及び165からなるフリップフロップに記憶させ
るために供給する。
NLUフラッグ114(第4A図)は変換動作には関与
せず、第4B−1図及び第4B−2図には描かれない。
TB.V変換バッファ260バリッドフラッグは、PT
E.Vページテーブルエントリーフラッグと同様の構造
で、関連するものであり、これ以上議論されることはな
い。
上述の如く、第4B−1図及び第4B−2図に描かれた
回路も、仮想アドレスの物理的アドレスへの変換に関連
して使用される。以下において、仮想アドレスの高次部
分はセル131(第4B−1図)を含むエントリーに記
憶され、対応するページフレーム番号がセル141を含
むエントリーに記憶され、デコーダ151からの対応す
る復号保護フイールドビットはセル151を含むセルに
記憶され、対応するPTE.Vページテーブルエントリ
ーフラツグがページテーブルエントリーが有効であるこ
とを示すように調整されることとされる。
第4B−1図を参照して、変換の直前において、プリチ
ヤージ電圧がライン143、PTE HIT(X)ペー
ジテーブルエントリー信号を伝送するライン181及び
ACCESS(X)アクセス信号を伝送する(第4A図
のライン123に含まれる)ライン183に供給され、
両ラインは変換バッファ内で連結される。プリチヤージ
時間の間、仮想アドレスソース回路251(第1B図)
からのVA SRCE(Y)信号及びVA SRCE
(Y)COMP信号の両方は、(低電圧状態において)
打ち消されて、トランジスタ136及び138をオフ
し、プリチヤージ動作の実行を許可する。また、低電圧
は、エントリーにも連結されるHITSEL(X)ヒット
セレクト信号を伝送するライン182に供給される。ラ
イン181は連想記憶メモリ110の一つのエントリー
内の全てのセル131に接続され、ライン182はペー
ジフレーム番号回路112の連結されたエントリー内の
全てのセル141に接続され、ライン183は保護ロジッ
ク回路113の連結されたエントリー内の全てのセル1
51に接続される。
ラインがプリチャージされた後、プロセッサ30内の他
の回路はVA SRCE仮想アドレスソース信号を連想
記憶メモリ110(第4A図)へ伝送する。セル131
は、ライン132上の信号状態とインバータ134及び
135の状態とを比較するトランジスタ136から13
9よりなり、エントリーが書込まれた時に既にラッチさ
れたライン132上の信号状態を示すコンパレータを含
む。即ち、インバータ134及び135よりなるフリッ
プフロップによってラッチされたVA SRCE(Y)
仮想アドレスソース信号が既に入力されていたならば、
インバータ134の出力はローとなり、インバータ13
5の出力はハイとなる。このため、インバータ134は
トランジスタ139をオフし、インバータ135はトラ
ンジスタ137をオンする。VA SRCE(Y)信号
が現在入力されるならば、トランジスタ138はオン
し、インバータ140はトランジスタ136をオフす
る。トランジスタ136及び139がオフされているた
め、ライン181及び接地間には電流経路は無い。この
ため、ラインは、プリチャージ電圧レベルのままとな
る。
同様に、インバータ134及び135よりなるフリップ
フロップによってラッチされたVA SRCE(Y)仮
想アドレスソース信号が既に打ち消されていたならば、
インバータ134の出力はハイとなり、インバータ13
5の出力はローとなる。このため、インバータ134は
トランジスタ139をオンし、インバータ135はトラ
ンジスタ137をオフする。変換の間VA SRCE(Y)信
号が現在打ち消されるならば、トランジスタ138はオ
フし、インバータ140はトランジスタ136をオンす
る。トランジスタ137及び138がオフされているた
め、ライン181及び接地間には電流経路は無い。この
状態では、ライン181もまた、プリチャージ電圧レベ
ルのままとなる。
インバータ134及び135よりなるフリップフロップ
によってラッチされたVA SRCE(Y)仮想アドレ
スソース信号が既に入力されていたならば、トランジス
タ139はオフとなり、トランジスタ137はオンとな
る。変換中、VA SRCE(Y)信号が現在打ち消さ
れているならば、トランジスタ138はオフとなり、ト
ランジスタ136はオンとなる。これにより、電流経路
がトランジスタ136及び137を介してライン181
及び接地間に存在し、それでライン181上の電圧が接
地電圧レベルに低減される。もし以前にラッチされたV
A SRCE(Y)仮想アドレスソース信号が打ち消さ
れ、変換中に入力されているならば、電流経路がトラン
ジスタ138及び139を介してライン181及び接地
間に存在し、そのためライン181上の電圧はまた接地
電圧レベルに低減される。
従って、もし変換中のVA SCRE(Y)仮想アドレ
スソース信号の状態がエントリー書込み時のものと同一
であるならば、セル131はライン181を接地電圧レ
ベルから分離して、プリチャージ電圧レベルに保つ。即
ち、セル131において2状態が同一ならば、セルはP
TE HIT(X)ページテーブルエントリーヒット信
号が入力されるのを許可する。他方、2状態が異なれ
ば、ライン181は低電圧レベルに引き下げられる。即
ち、PTE HIT(X)ページテーブルエントリーヒ
ット信号が打ち消される。連想記憶メモリ110のエン
トリー内の全てのセル131がライン181に接続され
ているならば、入力されるPTEHIT(X)ページテー
ブルエントリーヒット信号のために、状態はそれらの全
てにマッチしなければならない。
PTE HIT(X)信号が入力されると、ヒットバッ
ファ111内のトランジスタ184はオンされる。PH
2フェース2クロック信号が次ぎに入力される時、トラ
ンジスタ185もオンされ、効果的にライン183は正
電圧供給Vddに接続される。入力されたHIT SEL
(X)ヒットセレクト信号は、ページフレーム番号回路
112内のセル141中のトランジスタ186をオンし
て、セル141に記憶されたページフレーム番号のビッ
ト状態を示すバッファトランジスタ187の出力をライ
ン143に供給する。出力は、アンプ190によって増
幅されてバス34の一ラインに供給される。
バッファトランジスタ187の出力は、セル141に記
憶されたページフレーム番号のビット状態を示す。即
ち、ビットが打ち消されれば、インバータ144はトラ
ンジスタ187をオンする。HIT SEL(X)ヒッ
トセレクト信号がオンされているトランジスタ187に
入力される時、電流経路はライン143からトランジス
タ186及び187を介して接地側に形成され、PFN
(Y)ページフレーム番号(ビットy)信号を無効とす
る。他方、以前に記憶されたビットが入力されると、イ
ンバータ144はトランジスタ187をオフし、その結
果、例えトランジスタ186がオンしても、プリチャー
ジライン143は高電圧レベルに維持され、PFN
(Y)信号は入力される。
一時的に、VA SRCE仮想アドレスソース信号の連
想記憶メモリへの伝送に伴って、デコーダ121は、P
CODE(7:0)保護コード信号を保護ロジック1
13へ伝送する。上記の如く、一実施例においてP C
ODE(7:0)保護コード信号の内の一つが入力され
て、プロセッサ及び起こるべき(書込み又は読出し)処
理の電流保護レベルモードを確定する。他のP COD
E(7:0)保護コード信号は無視される。
第4B−2図を参照して、保護ロジック113内のセル
151は、セルから伝送されるP CODE(Z)保護
コード信号によって制御されるトランジスタ156、及
びインバータ154及び155からなるフリップフロッ
プによって制御されるトランジスタ157を含む。2つ
のトランジスタ156及び157は、エントリーと連結
するACCESS(X)アクセス信号を伝送するライン
183間に直列に接続される。
トランジスタ157の状態、即ち、それがオン又はオフ
されているかは、インバータ154の出力により、この
出力はまたエントリーが最後に書込まれた時のPROT
DEC(W)保護復号信号の状態に応じている。即
ち、PROT DEC(W)保護復号信号が入力される
と、インバータ154からの出力信号は打ち消され、ト
ランジスタ157はオフされる。他方、PROT DEC(W)
保護復号信号が打ち消されると、インバータ154から
の出力信号が入力され、トランジスタ157はオンされ
る。
同様に、トランジスタ156の状態はP CODE
(Z)保護コード信号の状態に応ずる。P CODE
(Z)保護コード信号が入力されると、トランジスタ1
56はオンし、一方、その信号が打ち消されると、トラ
ンジスタ156はオフする。
トランジスタ156及び157は、ライン183の状態
を制御し、これにより、伝送されたACCESS(X)
信号の入力及び打ち消された状態を制御する。もし両方
のトランジスタ156及び157がオンされると、セル
151を介して電磁経路がライン183及び接地間に存
在し、従って、ACCESS(X)信号が打ち消され
る。他方、トランジスタ156又は157の一方がオフ
されると、ライン183及び接地間にはセル151を介
する電流経路が存在しない。保護ロジック113内のエ
ントリー中の他のセルを介する電流経路が存在しない
と、ACCESS(X)信号は入力される。
セル151は基本的に、インバータ154及び155か
らなるフリップフロップによって以前にラッチされ、以
前に書込まれたPROT DEC(W)復号保護信号と
アクセス要求中にデコーダ121によつて供給されたP
CODE(Z)信号間の比較を行う。特に、デコーダ
121からのP CODE(Z)信号が入力され、デコ
ーダ120からの以前にラッチされたPROT DEC(W)復
号保護信号が無視される場合のみに、セル151はAC
CESS(X)信号を無視し、これにより、プロセッサ
30が十分に高い特権レベルで動作していないことを示
す。
HIT SEL(X)ヒットセレクト信号およびACC
ESS(X)信号はANDゲート190に供給される。
もしHIT SEL(X)ヒットセレクト信号及びAC
CESS(X)信号の両方が入力されれば、ANDゲー
ト190は変換バッファ260用のNO STALL
(X)信号を発生して、プロセッサ30は、セット11
5内のエントリーのTB.V変換バッファ260バリッ
ドフラッグ及びセット116内のPTE.Vページテー
ブルエントリーバリッドフラッグが下記のように調整さ
れることを示す。他方、NO STALL信号が入力さ
れないと、プロセッサ30内の他の回路は正確な動作を
行う。特に、HIT SEL(X)ヒットセレクト信号
が入力されないと、他の回路はメモリ11(第1図)か
らページテーブルエントリーを得て、変換を行う。一時
的に、メモリ11から得られたページテーブルエントリ
ーは、NLU最後に使用されないフラッグ114を使用
して、変換バッファ260(第4A図)内のエントリー
へ書込まれる。
他方、ACCESS(X)信号が打ち消されると、イン
バータ191は入力信号をANDゲート192の一方の
入力側に供給する。対応するHIT SEL(X)ヒッ
トセレクト信号が入力されて、連想記憶メモリ110内
の一致を示すと、ANDゲート192は動作してACC
VIOL(X)アクセス侵害信号を入力して、プロセ
ッサ30は要求されたアクセス動作を行うための要求オ
ペレーテイング保護レベルモードを有さないことを示
す。プロセッサは、アクセス侵害に応じて従来のリカバ
リー動作を行うことが出来る。
記載された如く、NO STALL(X)信号が入力さ
れる時、プロセッサ30はまた、TB.V変換バッファ
260バリッドフラッグ115及びPTE.Vページテ
ーブルエントリーバリッドフラッグ116(第4A図)
の状態も使用する。フラッグの構造が類似しているの
で、PTE.Vページテーブルエントリーバリッドフラ
ッグ116についてのみ詳細に記載する。第4B−2図
を参照して、変換バッファ260内のページテーブルエ
ントリーが有効であるならば、変換バッファ260エン
トリーが書込まれた時、PTE V WRTページテー
ブルエントリーバリッド書込み信号が入力され、これに
より、インバータ164及び165よりなるフリップフ
ロップをセットし、それでPTE.Vページテーブルエ
ントリーバリッドフラッグをセットする。その状態にお
いて、インバータ164の入力は高電圧レベルであり、
その出力は低電圧レベルである。
この状態において、インバータ166はトランジスタ1
67を調整中に維持する。変換バッファ260エントリ
ーと連動する入力されたHIT SEL(X)ヒットセ
レクト信号は、ライン169及び接地間にトランジスタ
167と直列に接続された他のトランジスタ168をオ
ンする。これにより、セル161において両方のトラン
ジスタ167及び168がオンされると、接地レベル信
号はライン169に供給される。インバータ170は、
その信号を高入力PTE V OUTページテーブルエ
ントリーバリッド出力信号に捕捉する。
ライン169は、変換バッファ260(第4A図)内の
全てのエントリー中の全てのセル161内のトランジス
タ168に対応するトランジスタに共通に接続される。
これにより、HIT SEL(X)信号が変換バッファ260
エントリーの内のいくつかに入力され、PTE.Vフラ
ッグがその変換バッファ260エントリーにセットされ
て、両トランジスタ167及び168がオンされると、
接地レベル信号がライン169に入力される。
他方、PTE.Vページテーブルエントリーバリッドフ
ラッグがクリアである、即ち、以前に書込まれたPTE
V WRTページテーブルエントリーバリッド書込み
信号が無視されると、トランジスタ167はオフされ、
これにより、ライン169は接地から隔離される。ライ
ン169が変換動作に先立ってプリチャージされると、
インバータ170からのPTE V OUTページテー
ブルエントリー出力信号は打ち消される。
PTE.Mページテーブルエントリー修飾フラッグ11
7は、PTE.Vページテーブルエントリーバリッドフ
ラッグ116と同様に構成され、その動作も同様であ
る。しかし、PTE.Mフラッグは、メモリ11内のペ
ージが書込まれる時にのみ入力されるPTE M WR
Tページテーブルエントリー修飾書込み信号に応じて調
整される。セル171(第4B−2図)は、PTE.M
ページテーブルエントリーフラッグ117の一つの一実
施例を示す。
ページフレーム番号が回路112(第4A図)によって
伝送され、NO STALL信号が発生された後、プロ
セッサは、トランジスタ185(第4B−1図)をオフ
してPH4クロック信号を入力し、トランジスタ193
をオンするPH2クロック信号を否定する。トランジス
タ193は接地レベル信号をライン182に供給して、
入力されるHIT SEL(X)信号を否定する。その
後、プロセッサはPH4クロック信号を否定し、変換バ
ッファ260(第4A図)は他の仮想アドレス入力可能
となる。
仮想アドレスの物理的アドレスへの変換に必要なページ
フレーム番号の選択及び伝送と同時に、アクセスするた
めに、新たな変換バッファ260はプロセッサが十分な
オペレーテイング特権レベルモードで動作しているかど
うかの決定を可能とする。従来の公知の変換バッファで
は、保護フィールドのエンコードされた内容は、ページ
フレーム番号と共に変換バッファから伝送され、その時
に、プロセッサが作動するのに必要なオペレーティング
特権レベルモードを有しているかどうかの決定がなされ
た。プロセッサがアクセスするのに必要なオペレーティ
ング特権レベルモードで動作していなければ、このこと
がプロセッサのアクセス侵害の認知を遅らせていた。
キャッシュロジック 上記の如く、プロセッサ30は、最も最近メモリ11に
入力された少なくともいくつかのデータのコピーを記憶
するキャッシュメモリ35(第1B図)を含む。その時
のデータがメモリ11のアドレス位置から発生される
時、プロセッサ30は、先ずキャッシュメモリ35がそ
のアドレス位置のデータのコピーを含むかどうかを決定
する。第5図は、キャッシュが確定されたデータを含む
かどうかを決定し、また、バスインターフェースユニッ
ト33の制御の下、データをインターナルIDALバス
34へ伝送するキャッシュメモリ35内の回路の機能ブ
ロック図を示す。
第5図を参照して、キャッシュ35は、一の特定の実施
例において、フラッグセット42A,42B、タッグセ
ット41A,41B及びデータ記憶エリア38A,38
Bに分割される64個のエントリーを各々含む2個ので
ーた記憶セット39A及び39Bを含む。タッグセット
41A及び41Bの各エントリーはまた、各々のタッグ
セットに記憶されるタッグ情報の保全性を検査するパリ
ティビットを含む。データ記憶エリア38A及び38B
の各エントリーは2ワード、又は8ビットのデータを記
憶し、その一ワードは高次ワードで、他のワードは低次
ワードよりなる。
キャッシュメモリ35は、2方向セット連想キャッシュ
として構成され、そこでアドレスの低次部分はデータ記
憶セット39A及び39Bの各々の64個のエントリー
の内の一つを示す。キャッシュ35内のデータ記憶セッ
ト39A及び39Bの内の一つのエントリーがメモリ1
1からのデータと共に書込まれる時、物理的アドレスの
低次部分はデータが書込まれるデータ記憶セット内のエ
ントリーを確定し、物理的アドレスの高次部分は、パリ
テイビットと共に、タッグセット41A又は41Bに記
憶される。
ソースレジスタ257(第1B図)内のレジスタ300
において、仮想アドレスは、記載された実施例では、高
次部分をなすビット(31:9)及び低次部分をなすビ
ット(8:0)を伴った32ビットよりなる。高次部分
はVA SRCE(31:9)仮想アドレスソース信号
として、ページフレーム番号を発生してそれをキャッシ
ュメモリ35内のページフレーム番号レジスタ302へ伝
送する変換ロジック301へ伝送される。ロジック30
1は、第4A図、第4B−1図及び第4B−2図と関連
して上述された変換バッファ260よりなり、それはま
た仮想アドレスの高次部分からページフレーム番号を発
生する他の従来のメカニズムよりなる。仮想アドレスの
ビット(8:0)は、アドレス変換中は変化しない。
仮想アドレスの低次部分のビット(8:3)は、VA SRC
E(8:3)仮想アドレスソース信号として、レジスタ
300からデータ記憶セット39A及び39Bへ伝送さ
れる。VA SRCE(8:3)仮想アドレスソース信号は、
両方のデータ記憶セット内の64個のエントリーの内の
一つを確定する。VA SRCE(8:3)仮想アドレ
スソース信号の入力に応じて、確定されたエントリーの
内容は、各データ記憶セットから伝送される。
即ち、データ記憶セットA内の選択されたエントリーの
内容は、VALID SET A及びTAG+PARI
TY SET A信号として、コンパレータ303に伝
送される。確定されたエントリーの高次ワードはHIG
H A信号としてマルチプレクサー304へ伝送され、
低次ワードはLOW A信号としてマルチプレクサー3
04へ伝送される。マルチプレクサーは、レジスタ30
0のビット(2)に対応するVA SRCE(2)仮想
アドレスソース信号によって制御される。VA SRC
E(2)仮想アドレスソース信号に応じて、マルチプレ
クサー304は、入力信号の一つをDATA SET
A信号としてゲートドライバー310へ供給する。
同様の信号は、データ記憶セット39Bからコンパレー
タ305及びマルチプレクサー306へ、VA SRC
E(8:3)仮想アドレスソース信号によってそこで確
定されたエントリーに基づいて、伝送される。マルチプ
レクサー306はまた、VA SRCE(2)仮想アドレスソ
ース信号によって制御されて、データ記憶エリア38B
からのHIGH B又はLOW B入力信号の内の一つ
を、DATA SET B信号としてゲートドライバー
311へ供給する。
レジスタ302内のページフレーム番号もコンパレータ
303及び305に伝送される。ページフレーム番号
も、またコンパレータ303及び305に伝送されるP
ARパリティ信号を発生するパリティ発生器307へ伝
送される。レジスタ302からのページフレーム番号及
びパリティ発生器307からのPRAパリティ信号がT
AG+PARITY SET A信号に対応し、フラッ
グセット41AからのVALID SET A信号が入
力されると、コンパレータ303はSET A HIT
信号を入力する。同様に、レジスタ302からのページ
フレーム番号及びパリティ発生器307からのPARパ
リティ信号がTAG+PARITYSET B信号に対
応し、フラッグセット41BからのVALIDSET B信
号が入力されると、コンパレータ305はSET B
HIT信号を入力する。
SET A HIT及びSET B HIT信号が、そ
のSETA HIT及びSET B HIT信号の内の一
方が入力されると、入力HIT信号を発生するORゲー
ト312へ供給される。HIT信号はバスインターフェ
ースユニット33へ伝送され、キャッシュメモリ35が
レジスタ300内の仮想アドレスによって確定されたデ
ータを含むことを示す。それに対応して、バスインター
フェースユニット33は、IDAL CACHE XM
ITインターナルバスキャッシュ伝送信号を入力する。
コンパレータ303からのSET A HIT信号は、
入力時、ANDゲート313の入力も励磁する。IDA
L CACHE XMITインターナルバスキャッシュ
伝送信号が入力されると、ゲートドライバー310は、
マルチプレクサー304からのDATASET A信号をイ
ンターナルIDALバス34へ供給する。同様に、コン
パレータ305からのSET B HIT信号は、入力
時、ANDゲート314の入力も励磁し、IDAL CACHE X
MITインターナルバスキャッシュ伝送信号が入力される
と、ゲートドライバー311は、マルチプレクサー30
64からのDATA SET B信号をインターナルI
DALバス34へ供給する。
第5図に示されたキャッシュメモリ35の配置には、種
々の利点がある。第一に、第5図に示されたキャッシュ
メモリ35が2方向セット連想キャッシュである間、第
5図の各セットに示された如く、追加セット用の追加回
路を具備するのみで、それは非常に簡単にn方向
(「n」は整数)セット連想キャッシュに拡張される。
また、仮想アドレスの物理的アドレスへの変換中、同時
に高次ビット(31:9)の変換が行われてページフレ
ーム番号を発生する時、初期において一定に保たれる仮
想アドレスのビット(8:3)に基づいてデータ記憶セ
ット39A及び39Bにアクセスすることにより、ビッ
ト又はミスの決定を非常に迅速に行うことが出来る。必
要とされるデータがキャッシュメモリ35内にある場
合、データはそこから迅速に得られ、それが内場合、バ
スインターフェースユニット33は、ページフレーム番
号が発生された直後にデータ用修正動作を初期化出来
る。
バスインターフェース回路33 プロセッサ30の一実施例におけるバスインタフェース
回路33が第6図に示される。第6図を参照して、バス
インタフェース回路33は、バス13(第1A図)を制
御するステートマシーン270及びインターナルIDA
Lバス34の動作を制御する第2のステートマシーン2
71を含む。2つのステートマシーン270及び271
は、下記の如く、ステートマシーン270にバス13の
動作が必要であることを示す種々のフラッグ及び制御信
号と、ステートマシーンによって供給されて動作の完了
をステートマシーン271に示す応答信号とを除いて、
独立して動作する。
インターナルIDALバス34を制御するステートマシ
ーン271は、一般に制御ロジック273によって示さ
れるプロセッサ30内のソース、一般にバス13のピン
274によって示されるバス13上の種々のターミナ
ル、及び制御回路40(第1B図)よりのマイクロ命令
からの入力信号を入力する。ステートマシーン271
は、フローティングポイントプロセッサ31と共に転送
を制御する論理回路272と、キャッシュ及びアドレス
入力マルチプレクサー264(第1B図)の機能を制御
する種々の信号とを含む、プロセッサ30内の制御数の
回路へ出力信号を伝送する。また、ステートマシーン2
71の出力信号はフラッグ(図示せず)を含むロジック
276も制御し、これは、RD REQ読出要求信号の
状態によって示されて、読出し処理がペンディング中で
あることを示し、WRT REQ書込要求信号の状態に
よって示される如く、書込み処理がペンディング中であ
ることを示し、BRDCST REQ通信要求信号の状
態によって示される如く、プロセッサ30からフローテ
ィングポイントプロセッサ31へのオペランド転送がペ
ンディング中であることを示す。
制御ロジック276は、オペレーティングシステムの制
御の下、読出処理中にバス13(第1A図)から入力さ
れた或情報がキャッシュ35(第1B図)に記憶される
べきものであるかどうかも決定出来る。例えば、オペレ
ーティングシステムは、それがキャッシュ35において
読み出す全ての情報を記憶するようにプロセッサ35を
調整する。また、オペレーティングシステムはキャッシ
ュ35へのプロセッサ命令の記憶は許可せず、キャッシ
ュで処理されるべきデータの記憶のみを許可する。しか
しながら、一般に、オペレーティングシステムは種々の
制御レジスタから入力された情報の、キャッシュ35内
の第1A図に示されるシステムの他の部分への記憶を許
可しないだろう。
制御ロジック276は、バス13より入力される情報の
キャッシングを制御するようにCACHE ACCキャ
ッシュ可能アクセス信号を調整する。
上記の如く、プロセッサ30の外部ユニットは、転送が
ライン61(第1A図)上のCCTLキャッシュ制御信
号の手段によってキャッシュされるべきものであるかど
うかも制御する。
ステートマシーン271は、他の制御ロジック(図示せ
ず)を直接又は間接に介して、ラッチ250から252
への書込みデータ及び読出及び書込アドレスのローディ
ングも制御し、かつピン274上の信号状態に基づいて
入力データラッチ254からの読出データの転送も制御
する。
バス13からの転送を制御するステートマシーン270
は、バスピン274からの信号と同様にRD REQ読
出要求、WRTREQ書込要求、及びBRDCST R
EQ通信要求信号を入力し、かつバス13を構成する種
々の信号状態を制御する論理回路277へ伝送されるべ
き信号を発生する。また、ステートマシーン270は、
制御ロジック280へ伝送される信号を発生し、またバ
ス13のDALデータ/アドレスライン50への信号供
給及び信号入力が許可されるようにラッチ250,25
1,252,254及びマルチプレクサー253(第1
B図)の動作を制御する。読出処理が完了した後、ステ
ートマシーン270は、制御ロジック276にRD R
EQ読出要求信号の打ち消しを可能とさせるCLR R
D FLAGSクリア読出フラッグ信号も入力する。
この背景の下、第6図に示されるバス制御回路33の動
作が説明される。書込処理中、制御回路40により可能
とされる如く、DMA OR WRT PND(DMA
又は書込みペンディング)信号が制御ロジック273に
よって入力されていないならば、ステートマシーン27
1は先ず書込みアドレスラッチ251(第1B図)へ書
き込まれるべきアドレスの位置をロードして、その位置
がキャッシュ35(第1B図)内にキャッシュされるか
どうかを決定する。DMA OR WRT PND信号
が入力されれば、第1A図に示されたシステムの他のユ
ニットがバス13を使用するか、又はステートマシーン
271は書込みアドレス及びデータが、バス13を介し
て転送されなかったラッチ251及び250(第1B
図)へ各々ロードされるのを可能とした。
DMA OR WRT PND(DMA又は書込みペン
ディング)信号が制御ロジック273によって入力され
ていないならば、書き込まれるべき位置がキャッシュさ
れるかどうかの決定がなされる。もし位置がキャッシュ
されれば、その位置に対応するキャッシュ35内のエン
トリーは、新たなデータでアップデートされなければな
らない。位置がキャッシュされるかどうかを決定するた
めに、ステートマシーン271は、読み出されるべきキ
ャッシュを可能とするCHACHE FTN(1:0)
キャッシュ機能信号及びマルチプレクサー264が仮想
アドレス変換回路37によって発生された物理的アドレ
スを使用出来るようにするCHACHEADRS(1:0)信
号を発生する。この動作中、IDAL CHACHE
XMITキャッシュ伝送信号(第5図)は、インターナ
ルデータバス34へ供給されるべきキャッシュからのデ
ータを禁止するように、拒否される。位置がキャッシュ
されれば、HIT信号がANDゲート312(第5図)
に入力され、このことが制御ロジック273からのMI
SS信号の状態に反映される。
MISS信号が入力されないと、書き込まれるべき位置
はキャッシュされる。否定されたMISS信号に応じ
て、ステートマシーン271は、キャッシュ書込み動作
を可能とするCHACHEFTN(1:0)キャッシュ
機能信号及びマルチプレクサー264が仮想アドレス変換
回路37によって発生された物理的アドレスを使用出来
るようにするCHACHE ADRS(1:0)信号を
発生する。これと同時に、キャッシュエントリーに書き
込まれたデータは書込データラッチ250(第1B図)
に記憶され、制御ロジック内のフラッグは入力されたW
R REQ書込要求信号を発生するように調整される。
この動作中、MBOX SALL信号は、仮想アドレス
変換回路の動作を不可能とするよう入力される。
他方、MISS信号が入力されると、書込み位置がキャ
ッシュされる。入力MISS信号に応じて、ステートマ
シーンは、書込データの書込データラッチ250(第1
B図)でのラッチを可能とし、かつWRT REQ信号
の制御ロジック276による入力を可能とする。また、
CHACHE ADRS(1:0)キャッシュアドレス
信号は、リフレッシュカウンター262(第1B図)を
インクリメントさせ、かつマルチプレクサー264がフ
ラッグ42へアドレスを供給して、タッグ41及びデー
タ記憶38(第1B図)にそれらをリフレッシュさせる
のを可能とするように、調整される。この動作の間、仮
想アドレス変換回路が他の物理的アドレスを製造するの
を防止するよう動作するのを不可能とするように、MB
OX STALL信号も入力される。
書込処理が完了したあど、DMA OR WRT PN
D(DMA又は書き込みペンディング)信号が拒否され
る。このことにより、他のアドレス及び書込みデータが
ラッチ250及び251(第1B図)へロードされる。
リフレッシュ動作もまた可能とされる。
読出処理中にステートマシーン271によって実行又は
可能とされる動作は、要求された情報が命令又はデータ
か、及び要求情報がキャッシュ35(第1B図)内にあ
ったか否かによる。アドレスにより確定された位置がキ
ャッシュされる場合、及びキャッシュエントリーを使用
不可能とするタッグ41A,41B又はデータ38A,
38B(第5図)の一方にパタティエラーが無い場合、
情報はキャッシュ内にある。命令を撤回するために読出
処理が要求され、この場合、制御ロジック273はIB
REQ命令バッファ要求信号を入力する。さもなけれ
ば、制御回路40はRD読出し信号を入力する。要求情
報がキャッシュ35内に無ければ、制御ロジック273
もREAD MISS信号を入力する。READ MI
SS信号は、第5図に示されたHIT信号の完了を示
す。
制御回路40から入力されたRD読出信号又はIB R
EQ命令バッファ要求信号の入力に応じて、ステートマ
シーン271は、キャッシュ読出しを可能とするCHA
CHE FTN(1:0)キャッシュ機能信号及びマル
チプレクサー264(第1B図)が仮想アドレス変換回
路37からのアドレスを使用出来るようにするCHAC
HE ADRS(1:0)信号を発生する。同時に、ス
テートマシーン271は、読出しアドレスラッチ252
にロードされるべき仮想アドレス変換スジックからのア
ドレスを可能とするARM ADRS ATRアームア
ドレスストローブ信号を入力する。その動作がIB R
EQ信号に応じていたならば、制御ロジックのフラッグ
セットを可能とし、PREV IB REQ前命令バッファ要求信
号の入力を可能とするINIT IB REQ初期命令バッファ要
求信号もステートマシーン271は入力する。情報がキ
ャッシュ35内にあれば、ステートマシーン271は、
情報がキャッシュ35から、第5図と関連して上記した
如く、オペレーションターミネートへ供給されるのを許
可する。
情報がキャッシュ35内に無い場合、及びDMA OR WRTP
ND(DMA又は書き込みペンディング)信号が入力さ
れる場合、ステートマシーン271は、プロセッサ30
をストールするSTALL MBOX STALL信号
の両方及びリフレッシュ動作を許可するCACHE A
DRS(1:0)信号を入力する。このストールによ
り、読出処理が実行される前に書込処理が完了する。
DMA OR WRT PND(DMA又は書き込みペ
ンディング)信号が拒否される場合、読出処理が進む。
ステートマシーン271は、RD REQ読出要求信号
の制御ロジック276への入力を可能とする。ステート
マシーン271は、その後、CACHEABLE、CC
TLキャッシュ制御、RDYレディ及びERRエラー信
号を監視して、読出処理の最後を決定する。もしCAC
HEABLE又はCCTLキャッシュ制御信号が情報は
キャッシュされるべきではないことを示すならば、バス
13を介して一つの転送がある。他方、もし情報がキャ
ッシュされるべきであるならば、2つの転送が要求さ
れ、キャッシュエントリー(第5図)において、一方は
低ワード用、他方は高ワード用となる。
もし転送がキャッシュされるべきであれば、RDYレデ
ィ信号の入力時、もしDAL PAR ERRパリティ
エラー信号が入力されず、入力情報にはパリティエラー
が無いことが示されれば、ステートマシーン271はマ
ルチプレクサー264(第1B図)がキャッシュ35内
のエントリーを選択するために仮想アドレス変換回路か
らのアドレスを使用出来るものとし、情報を選択された
高又は低ワードの内の一方にロードされ得るものとす
る。情報がロードされるべきキャッシュ35内のワード
は、VA(2)仮想アドレスビット(第5図参照)の状
態に応ずる。情報は、その後、データ経路36(第1B
図)に供給される。
DAL PAR ERRパリティエラー信号が入力され
る場合、又はERRエラー信号がライン55(第1A
図)に入力され、トランスファー内に稼働する他のユニ
ットによるエラーレスポンスを示す場合、処理は、PR
EV IB REQ前命令バッファ要求信号が入力され
るかどうかによる。そうであるならば、制御回路40
(第1B図)は、入力されたIB FILL ERR命
令バッファフィルエラー信号によって促されて、それが
正確な動作を行うことを許可する。PREV IB R
EQ前命令バッファ要求信号が入力されなければ、ST
ALL及びMBOX STALL信号は入力されてプロセッサ30
をストールし、TRAP REQトラップ要求信号が入
力されて、これによりプロセッサ制御回路40は選択さ
れたリカバリー動作を許可する。
入力情報がキャッシュされる場合、及びデータが入力さ
れるにつれてERRエラー信号はDAL PAR ER
Rパリティエラー信号が入力される場合、ステートマシ
ーン271は第2のワードをキャッシュ35に入力して
記憶させることを可能とする。第2のワードが適切に入
力されると、それは上記の如くキャッシュ35内に記憶
される。ステートマシーン271は、マルチプレクサー
264に仮想アドレス変換回路37からのアドレスの使
用を可能とするCACHE ADRS(1:0)キャッ
シュアドレス信号、及び第2ワードのキャッシュエント
リーへの記憶を可能とするCACHE FTN(1:
0)キャッシュ機能信号を発生する。ステートマシーン
271は、しかるに、情報のデータ経路36への転送を
可能としない。
他方、ERRエラー信号又はDAL PAR ERRパ
リティエラー信号が入力されると、MBOX STAL
L信号が入力されて仮想アドレス変換回路37をストー
ルし、第1ワードが書き込まれるキャッシュ内のエント
リーが無効にマークされる。同時に、CACHE AD
RS(1:0)は、マルチプレクサー264がキャッシュ
35の内容をリフレッシュし、カウンターをインクリメ
ントするためにリフレッシュカウンター262からのリ
フレッシュアドレスを使用するように、調整される。
ステートマシーン271は、ステートマシーン271が
情報のキャッシュ35への書き込み及び読み出しを可能
としないならば、リフレッシュ動作の実行を可能とす
る。処理の発生を可能とするために、ステートマシーン
271は、マルチプレクサー264がリフレッシュカウ
ンター262からのリフレッシュアドレス信号を使用し
て、従来の方法で記憶回路38,41及び42(第1B
図)の内容をリフレッシュすることを可能とするCAC
HE ADRS信号を発生させる。
ステートマシーン271はまた、キャッシュ35内のエ
ントリーが、制御ロジック273からのDMA INV
REQ無効要求信号に応じて、無効とされるのを可能
とする。第1B図と関連して上記した如く、入力CCT
Lキャッシュ制御信号及び入力ADRS STRアドレ
スストローブ信号の両者が第1A図に示したシステム内
の他のユニットによって入力される時、その両信号の一
致に応じてこの信号が発生される。他のユニットがメモ
リ11と共にDMA(直接メモリアクセス)動作を行う
時、これが起こり、それによりDMG直接メモリグラン
ト信号が入力される。もし他のユニットがキャッシュ3
5によりキャッシュされるメモリ11内の位置へデータ
を転送するならば、キャッシュエントリーは無効として
マークされる。第1B図を参照して、DMG及びADR
S STRアドレスストローブ信号の一致に応じて、AN
Dゲート401は入力データラッチ254に、この場合
はアドレス信号である信号をDALデータ/アドレスラ
イン50上へのラッチを可能とする。
DMA INV REQ無効要求信号に応じて、ステー
トマシーン271は、最初に、キャッシュからのデータ
がインターナルバス34上へ供給されるのを許可するこ
となしに、入力データラッチ254内のアドレスを使用
してキャッシュ35の読出動作の実行を行う。もう、M
ISS信号が入力されれば、位置はキャッシュされず、
更に何も起こらない。
しかし、もしMISS信号が否定されると、入力データ
・ラッチ254中のアドレスによって識別されるロケー
ションはキャッシングされ、そして状態マシンは、キャ
ッシュ無効化動作を開始する。この時、状態マシンは、
無効化動作を可能にするキャッシュ・ファンクション信
号CACHE FTN(1:0)および無効化に際し
て、マルチプレクサ264が入力データ・ラッチの内容
を使用することを可能にするキャッシュ・アドレス信号
CACHEADRS(1:0)を発生させる。
状態マシン270は、バス13からのキャッシュ制御信
号CCTL、直接メモリ・リクエスト信号DMA、レディ信
号RDYおよびエラー信号ERR、制御ロジック276
からの読出しリクエスト信号RD REQ、書込みリク
エスト信号WRT REQ、ブロードキャスト・リクエ
スト信号BRDCST、およびキャッシング可能アクセ
ス信号CACHE ACC、ならびに直接メモリ・アク
セス禁止信号INH DMAおよびアーム読出しリクエ
スト信号ARM RD REQに反応して動作する。も
し状態マシン270が、第1図に示すシステム内の別の
ユニットがバス13を介しての転送を希望していること
を示す表明された直接メモリ・リクエスト信号DMRを
受信してさらに、DMA禁止信号INHDMAまたはブ
ロードキヤスト・リクエスト信号BRDCST REQ
が表明されない限りは、このマシンは、直接メモリ認可
ディスエイブル信号DIS DMGを指定し、次にこの
否定された信号は、制御ロジック277が直接メモリ認
可信号DMGを表明することを可能にする。この表明さ
れた直接メモリ認可DMGは、別のユニットがバス13
を介して転送を実行することを可能にする。さらにその
うえ、状態マシン270は、DATA IN信号を表明
するが、この信号は、これらのラインを条件付けするた
めに、DAL制御ロジック280によって、システム内
の他の装置がDALデータ/アドレス・ライン50を使
用できるようにする。状態マシン270はさらにTRI
−STATE STR信号を表明するが、この信号は、
制御ロジック277が、他の装置がデータ・ストローブ
信号DATA STR、アドレス・ストローブ信号AD
RS STRおよび転送タイプ信号TR TYPEを使
用することを可能にする。
そうする代わりに、もしシステム内の他のどの装置もバ
ス13を介して転送することがない場合には、状態マシ
ン270が、制御ロジック276からのRD REQ信
号、WRT REQ信号、およびブロードキャスト・リ
クエスト信号BRDCST REQ信号に反応してバス
13上での転送を可能にしてもよい。もし書込みリクエ
スト信号WRT REQが表明され、それぞれラッチ2
51およびラッチ250(第1B図を参照)内の書込み
アドレスおよび書込みデータが示された場合、仮にDM
R信号が表明されていなければ、状態マシン270は、
マルチプレクサ253が、ラッチ251からの書込みア
ドレスをDALデータ/アドレス・ライン50上に結合
することを可能にするDAL CONT(1:0)(D
AL内容)信号を発生させる。同時に、状態マシン27
0はアドレス・ストローブ・エネイブル信号ADRSS STR
ENを表面するが、すると次にこの信号は、制御ロジッ
ク277がアドレス・ストローブ信号ADRS STR
を表明することを可能にする。
次に、状態マシン270は、(DAL内容)信号DAL CO
NT(1:0)を発生するが、この信号によつマルチプレ
クサ253は、書込みデータ・ラッチ250の内容をD
ALデータ/アドレス・ライン50上に結合することが
可能になる。状態マシン270は同時に、データ・ストロ
ーブ・エネイブル信号DATA STR ENを表明するが、この
信号によって制御ロジック277は、データ・ストロー
ブ信号DATA STRを表明することが可能になる。
この後で、状態マシンは、レディ信号RDYまたはエラ
ー信号ERRが表明されるまで待ち状態にとどまる。も
し表明されたRDY信号が受信された場合、この動作は
アドレス・ストローブ・エネイブル信号ADRS ST
R ENおよびデータ・ストローブ・エネイブル信号D
ATA STR ENを指定して終了するが、これらの
信号によって次に、制御ロジック277は、それぞれア
ドレス・ストローブ信号ADRS STRおよびデータ
・ストローブ信号DATA STRを否定することが可
能になり、さらに制御ロジック276はWRT REQ
信号を否定することが可能になる。
一方、もし表明されたエラー信号ERRが受信された場
合には、状態マシン270は再試行を試みて、ラッチ2
50からのデータ信号をDALデータ/アドレス・ライ
ン50上に結合することをマルチプレクサ253に可能
にするDAL CONT(1:0)(DAL内容)信号
を発生する。
もしレディ信号RDYおよびエラー信号ERRの双方が
表明された場合には、再試行の信号が送られ、転送が再
度試みられる。
もし他の動作がなにも起こっていない場合には、状態マ
シン270は、DAL CONT(1:0)(DAL内
容)信号を発生し、この信号によってマルチプレクサ2
53は、読出しアドレス・ラッチ252の内容をDAL
データ/アドレス・ライン50上に結合することが可能
になる。これによって状態マシン270は、他の信号お
よび条件によって読出し動作の発生が許される時には、
読出し動作を迅速に開始できる。読出し動作の間、読出
しリクエスト信号RD REQが表明されると、状態マ
シン270はアドレス・ストローブ・エネイブル信号A
DRS STR ENを表明し、次にこの信号によって
制御ロジック277は、アドレス・ストローブ信号AD
RS STRを表明することが可能になる。状態マシン
270は次に、データ・イン信号DATA INを表明
し、この信号によって制御ロジック280は、システム
内の他の装置がDALデータ/アドレス・ライン50を
使用できるようにこれらのラインを条件付けすることが
可能になる。同時に、状態マシンは、データ・ストロー
ブ・エネイブル信号DATA STR ENを表明し、
次にこの信号によって、制御ロジック277は、データ
・ストローブ信号DATA STRを表明することが可
能になる。
次の動作は、キャッシング可能アクセス信号CACHE ACC
が制御ロジック276によって表明されるか否かに依
る。もしこの信号が表明されれば、検索されたデータは
キャッシング可能であり、従って2ワードがバス13を
介して読出される。一方、もしキャッシング可能アクセ
ス信号CACHE ACCが表明されないときには、検
索されたデータはキャッシング不可能であり、たった1
ワードがバス13を介して読出される。キャッシング可
能アクセス信号CHACHE ACCが表明されない場
合には、状態マシン270は読出しデータ・ラッチ信号
RD DATA LATを表明するが、この信号は、表
明されると、入力ラッチ254(第1B図を参照)が、
DALデータ/アドレス・ライン50上の信号を受信す
ることが可能になる。その後で読出しデータ・ラッチ信
号RD DATA LATが否定されると、信号は入力
ラッチによってラッチされる。もしエラー信号ERRが
否定されそして読出しフラグ・クリア信号CLR RD
FLAGSが表明されると、状態マシン270は表明
されたレディ信号RDYに反応して読出しデータ・ラッチ
信号RD DATA LATを否定する。表明されたC
LR RD REQ信号に反応して、制御ロジック27
6は読出しリクエスト信号RD REQを否定する。
一方、もしキャッシング可能アクセス信号CACHE
ACCが表明されると、上記のように読出し動作が実行
される。データが入力データ・ラッチ中にラッチされた
時にもしキャッシュ制御信号CCTLが表明されていな
い場合、第2の動作も実行される。一方、もしキャッシ
ュ制御信号CCTLが表明され、転送に携わっている他
の装置がデータのキャッシングを防止していることが表
示される場合には、第2の動作は実行されない。
状態マシン270が直接メモリ・リクエスト信号DMR
の他の装置からの受信に反応して直接メモリ認可信号D
MGを表明することを禁止するために、状態マシ271
は、直接メモリ・アクセス禁止信号INH DMAを用
いる。直接メモリ・アクセス禁止信号INH DMAは
或る転送中に、浮動小数点プロセッサ31によって表明
される(第1A図を参照)。
制御回路40からの読出しブロードキヤスト信号RD BRD
CSTおよび基本的ブロードキャスト信号BASIC B
RDCSTは、状態マシン271が、キャッシュ35か
らまたはデータ・パス36(data path 36)中のレ
ジスタ255からの浮動小数点・オペランドの情報を転
送することを可能にする。制御ロジック276もまた、
ブロードキャスト・リクエスト信号BRDCSTREQ
信号を表明することが可能になり、つぎに、状態マシン
270が、この情報を上記のように転送することを可能
にする。状態マシン271はまた、浮動小数点プロセッ
サ・ペンディング信号FPP PNDを表明するフラグ
を設定するように制御ロジック273をエネイブルす
る。状態マシン271は、浮動小数点プロセッサ31か
らの浮動小数点演算の結果を受信できる状態にあること
をFPPインタフェース回路272に示すために、浮動
小数点プロセッサ信号SIG FPPを表明する。条件
コードが上述したようにレディ状態にある場合、インタ
フェース回路272はCP OK信号を表明し、そして、
結果データがレディ状態にある場合、レディ信号CP
RDYを表明する。レディ信号CPRDYに反応して、
状態マシン271は、状態マシン270が結果データを
受信することを可能にする。もし浮動小数点プロセッサ
31が、エラー発生信号を送ると、インタフェース回路
272はエラー信号CP ERRを表明する。CP O
K、CP RDYまたはERR信号に反応して、状態マシン2
71は、浮動小数点プロセッサ・ペンディング信号を制
御するフラグがリセットされるようにし、これによって
この信号を否定する。
バス・インタフェース回路33は多くの恩典を与える。
第1に、個々が異なった動作を制御しそしてフラグを介
して通信している2つの状態マシン270および271
を使用することによって、回路がかなり単純化される。
さらに、状態マシン271によってキャッシュ35のリ
フレッシュ動作が可能となり、これによってダイナミッ
ク記憶素子をその中で使用することができる。こうする
ことによって、キャッシュの物理的な寸法が縮小された
り、または、過去の場合においてそうであったように、
同じ面積でより多くの容量をもつキャッシュ記憶装置を
設けることが容易となる。
またさらに、バス・インタフェース回路33は、キャッ
シング可能なデータの検索において、最初に、プログラ
ムにとって必要なデータを検索し、次にキャッシュのエ
ントリにおける記憶装置のための他のワードを検索する
ことは評価されるだろう。先行のシステムにおいては、
データのワードはメモリ内に記憶されている順序で検索
され、従って、最初のデータ・ワードがプログラムが今
すぐに必要とするものであるとは限らなかった。これに
よって、第2番目のワードが検索されるまで、処理の再
開が遅れた。
さらにそのうえ、インタフェース回路33は、書込み動
作を保留(ペンディング)にしたままで、読出しアドレ
スが発生されそして読出しアドレス・ラッチ252にラ
ッチされる程度にまで、読出し動作の開始を可能にす
る。読出し動作は、保留の書込み動作が完了するまで完
了されないが、しかし書込み動作が完了したら、読出し
アドレスは即座に送信することが可能である。
最後に、バス・インタフェース回路はまた、読出し動作
また書込み動作がプロセッサ30中に設定されているか
どうかに関わらず、第1A図に示すシステム中の他の装
置によって実行された直接メモリ・アクセス動作によっ
て、キャッシュのエントリを無効にすることを可能にす
る。すなわち、書込みデータおよび書込みアドレスがそ
れぞれのラッチ251および250中にラッチされ(第
1B図を参照)さらに読出しアドレスがラッチ252中
にラッチされている状態で、キャッシュ・エントリを無
効にする動作を、入力ラッチ254中に受信されたDM
Aアドレスに反応して発生させることが可能である。こ
のことによって、無効化プロセスが単純化される。
上記の説明は、本発明による特定の実施例に限られたも
のであった。しかし、本発明の長所の幾分かまたは全部
を達成してさらに、本発明にたいして変更および修正を
施し得ることが明かであろう。従って、添付クレームの
目的は、本発明の真正の精神およびその範囲内に収まる
全てのこのような変更および修正を保護することであ
る。

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】デジタルデータ処理装置内で使用されるプ
    ロセッサであり、 A.演算論理ユニットであり、このユニットの制御端子
    に与えられる演算制御ワードに応答して、このユニット
    の入力端子に加わる入力データ信号の演算を達成し、そ
    して前記ユニットの出力端子に処理済データを発生する
    演算論理ユニット、 B.プログラム命令に応答して、前記演算論理ユニット
    が直接応答する形態の一連の制御ワードを発生するため
    の制御手段、 C.前記演算論理ユニットが、直接応答することを可能
    とする形態の一つの代替の制御ワードを与えるための手
    段、 D.前記制御手段、前記代替の制御ワードを与えるため
    の前記手段、及び前記演算論理ユニットの前記制御端子
    に接続され、前記出力端子の前記処理済データ信号と前
    記制御手段に前記制御ワードを発生させたプログラム命
    令とに応答して、前記制御ワード又は代替の制御ワード
    の何れかを前記演算制御ワードの一つとして、選択的に
    前記制御端子に結合する制御ワード選択手段からなるプ
    ロセッサ。
  2. 【請求項2】前記制御ワード選択手段が、 A.前記制御ワード発生手段及び前記代替の制御ワード
    を与えるための前記手段に接続され、マルチプレクサ制
    御信号に応答して、制御ワード又は代替の制御ワードの
    何れかを、前記操作制御ワードの一つとして、選択的に
    前記制御端子に結合するマルチプレクサ手段、 B.前記プログラム命令及び前記出力端子の処理済デー
    タ信号に応答して、前記マルチプレクサ制御信号を発生
    するためのマルチプレクサ制御手段からなることを特徴
    とする請求項1記載のプロセッサ。
  3. 【請求項3】前記マルチプロセッサ制御手段が、 A.前記プログラム命令の所定のものに応答してプログ
    ラム命令識別信号を発生するためのプログラム命令識別
    手段、 B.前記プログラム命令識別信号及び前記処理済データ
    信号に応答して、前記マルチプレクサ制御信号を発生す
    るためのマルチプレクサ制御回路からなることを特徴と
    する請求項2記載のプロセッサ。
  4. 【請求項4】連続する処理サイクルで処理が発生する形
    態のデジタルデータ処理装置内で使用されるプロセッサ
    であり、このプロセッサが、 A.演算論理ユニットであり、このユニットの制御端子
    に加わる演算制御ワードに応答して、各処理期間中に、
    入力端子に加わる入力データ信号に演算を施し、前記ユ
    ニツトの出力端子に処理済データ信号を発生する演算論
    理ユニット、 B.前記処理サイクルの各々において、プロセッサ命令
    に応答して、前記演算論理ユニットが直接応答すること
    を可能とする形態を各々有する制御ワードを発生するた
    めの制御手段、 C.前記演算論理ユニットが直接応答する形態の一つの
    代替の制御ワードを提供するための手段、及び D.前記制御手段、前記代替の制御ワードを与える前記
    手段、及び前記演算論理ユニットの制御端子に接続さ
    れ、前記サイクル中の前記命令の一つに応答して前記制
    御手段によって発生された制御ワード又は代替の制御ワ
    ードの何れかを、前記演算制御ワードの一つとして、前
    記出力端子の処理済データ信号及び前記一つのプログラ
    ム命令に応答して、前記制御端子に選択的に結合するた
    めの制御ワード選択手段からなることを特徴とするプロ
    セッサ。
  5. 【請求項5】前記制御ワード選択手段が、 A.前記制御ワード発生手段及び前記代替の制御ワード
    を提供するための前記手段に結合され、制御ワード又は
    代替の制御ワードの何れかを、マルチプレクサ制御信号
    に応答して、前記演算制御ワードの一つとして、前記制
    御端子に選択的に結合するためのマルチプレクサ手段、 B.各処理サイクル中、前記プログラム命令及び前記出
    力端子の処理済データに応答して、前記マルチプレクサ
    制御信号を発生するためのマルチプレクサ制御手段、か
    らなることを特徴とする請求項4記載プロセッサ。
  6. 【請求項6】前記マルチプレクサ制御手段が、 A.前記プログラム命令の所定のものに応答して、プロ
    グラム命令識別信号を発生するプログラム命令識別子手
    段、 B.各処理サイクル中、前記プログラム命令識別信号及
    び前記処理済データ信号に応答して、前記マルチプレク
    サ制御信号を発生するためのマルチプレクサ制御回路手
    段からなることを特徴とする請求項5記載のプロセッ
    サ。
  7. 【請求項7】演算論理ユニットであり、その制御端子の
    加わる演算制御ワードに応答して、入力端子に加わる入
    力データ信号への演算を達成し、前記ユニットの出力端
    子に処理済データ信号を発生する演算論理ユニット、 プログラム命令に応答して、前記演算論理ユニットが直
    接応答することのできる形態の一連の制御ワードを発生
    するための制御手段、 前記演算論理ユニットが直接応答することのできる形態
    の一つの代替の制御ワードを与えるための手段、及び 前記制御手段、前記代替の制御ワードを与えるための手
    段、及び前記演算論理ユニットの前記制御端子に接続さ
    れており、制御ワードと代替の制御ワードの何れかを前
    記演算制御ワードの一つとして選択的に前記制御端子に
    結合する制御ワード選択手段から成るデータ処理装置に
    於けるデータ処理方法であり、 前記制御ワード選択手段が、前記演算論理ユニットによ
    つて達成された第1の演算で発生した前記処理済データ
    信号及び前記制御手段に前記制御ワードを発生させたプ
    ログラム命令の一つに応答して、この一つのプログラム
    命令に応答して発生された前記制御ワード又は前記代替
    の制御ワードを、前記演算制御ワードの一つとして前記
    演算論理ユニットの前記制御端子に選択的に与え、 前記演算論理ユニットが、前記選択的に与える工程にお
    いて前記制御端子に与えられた前記一つの演算制御ワー
    ドに応答して次回の演算を達成して、別の処理済データ
    を発生する各工程を含むことを特徴とするデータ処理方
    法。
  8. 【請求項8】前記データ処理済装置が、前記プログラム
    命令及び前記第1の演算で前記出力端子で発生した処理
    済データ信号に応答して、マルチプレクサ制御信号を発
    生するマルチプレクサ制御回路を更に含み、 前記選択的に与える工程において、前記制御ワード選択
    手段が、前記マルチプレクサ制御信号に応答して、前記
    制御ワードと前記代替の制御ワードとの何れかを選択す
    ることを特徴とする請求項7記載の方法。
  9. 【請求項9】前記マルチプレクサ制御回路が、前記プロ
    グラム命令の所定のものに応答して、プログラム命令識
    別信号を発生し、このプログラム命令識別信号及び処理
    済データ信号に応答して、前記マルチプレクサ制御信号
    を発生することを特徴とする請求項8記載の方法。
JP63501922A 1987-02-24 1988-02-05 デジタルデータ処理装置内で使用されるプロセッサ及びデータ処理方法 Expired - Lifetime JPH061440B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US1837787A 1987-02-24 1987-02-24
US018,377 1987-02-24

Publications (2)

Publication Number Publication Date
JPH01502622A JPH01502622A (ja) 1989-09-07
JPH061440B2 true JPH061440B2 (ja) 1994-01-05

Family

ID=21787603

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63501922A Expired - Lifetime JPH061440B2 (ja) 1987-02-24 1988-02-05 デジタルデータ処理装置内で使用されるプロセッサ及びデータ処理方法

Country Status (5)

Country Link
EP (1) EP0302926B1 (ja)
JP (1) JPH061440B2 (ja)
CA (1) CA1305557C (ja)
DE (1) DE3882298T2 (ja)
WO (1) WO1988006759A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0388735A3 (en) * 1989-03-10 1993-01-13 Nec Corporation Microprogram controller having fixed-instruction generator and microprogram memory

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS538034A (en) * 1976-06-30 1978-01-25 Toshiba Corp Electronic computer
JPS5730196A (en) * 1980-07-29 1982-02-18 Nec Corp Information processor
JPS5947649A (ja) * 1982-09-13 1984-03-17 Hitachi Ltd デ−タ処理装置
JPS60207929A (ja) * 1984-03-31 1985-10-19 Fujitsu Ltd 除算制御方式

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1986005015A1 (en) * 1985-02-20 1986-08-28 Magellan Corporation (Australia) Pty. Ltd. Microprogram controller

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS538034A (en) * 1976-06-30 1978-01-25 Toshiba Corp Electronic computer
JPS5730196A (en) * 1980-07-29 1982-02-18 Nec Corp Information processor
JPS5947649A (ja) * 1982-09-13 1984-03-17 Hitachi Ltd デ−タ処理装置
JPS60207929A (ja) * 1984-03-31 1985-10-19 Fujitsu Ltd 除算制御方式

Also Published As

Publication number Publication date
DE3882298D1 (de) 1993-08-19
EP0302926B1 (en) 1993-07-14
EP0302926A1 (en) 1989-02-15
DE3882298T2 (de) 1994-02-24
JPH01502622A (ja) 1989-09-07
CA1305557C (en) 1992-07-21
WO1988006759A1 (en) 1988-09-07

Similar Documents

Publication Publication Date Title
US4831520A (en) Bus interface circuit for digital data processor
US4851991A (en) Central processor unit for digital data processing system including write buffer management mechanism
US4831581A (en) Central processor unit for digital data processing system including cache management mechanism
JP2881309B2 (ja) 集積回路、コンピュータシステム、および集積回路内のキャッシュにおけるキャッシュブロックステータスを更新する方法
US5696937A (en) Cache controller utilizing a state machine for controlling invalidations in a network with dual system busses
US5091845A (en) System for controlling the storage of information in a cache memory
US5119484A (en) Selections between alternate control word and current instruction generated control word for alu in respond to alu output and current instruction
US5226170A (en) Interface between processor and special instruction processor in digital data processing system
US6035376A (en) System and method for changing the states of directory-based caches and memories from read/write to read-only
JPH02239331A (ja) データ処理システム及びその命令実行を促進する方法
KR920004401B1 (ko) 디지탈 데이타 프로세싱 시스템내의 프로세서와 특수명령 프로세서간의 인터페이스
US5276892A (en) Destination control logic for arithmetic and logic unit for digital data processor
JPH061440B2 (ja) デジタルデータ処理装置内で使用されるプロセッサ及びデータ処理方法
JP2756546B2 (ja) デジタルデータ処理システムに使用される処理装置
EP0303664A1 (en) Central processor unit for digital data processing system including virtual to physical address translation circuit
JPH06124235A (ja) キャッシュ制御方式
JPH08166905A (ja) キャッシュメモリ制御方法