JPS63193253A - データ処理装置及び方法 - Google Patents
データ処理装置及び方法Info
- Publication number
- JPS63193253A JPS63193253A JP63011831A JP1183188A JPS63193253A JP S63193253 A JPS63193253 A JP S63193253A JP 63011831 A JP63011831 A JP 63011831A JP 1183188 A JP1183188 A JP 1183188A JP S63193253 A JPS63193253 A JP S63193253A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- read
- bus
- signal
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
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)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
産業上の利用分野
この発明はデータ処理装置、特に、パイプライン形マイ
クロプロセッサによるメモリ・マップ形人力/出力参照
の検出および特別な処理に関する。
クロプロセッサによるメモリ・マップ形人力/出力参照
の検出および特別な処理に関する。
従来技術及び発明が解決しようとする問題1、普通のデ
ィジタル形データ処理装置のアーキテクチュアでは、モ
デム、プリンタまたは表示装置のような周辺装置は、メ
モリ・マップ形人力/出力(Ilo)と呼ばれる方式に
よってアクセスされる。
ィジタル形データ処理装置のアーキテクチュアでは、モ
デム、プリンタまたは表示装置のような周辺装置は、メ
モリ・マップ形人力/出力(Ilo)と呼ばれる方式に
よってアクセスされる。
この方式では、普通のメモリ位置の読取および書込みの
ために実行されるのと同じ命令を実行することにより、
周辺装置の中にある制御レジスタが中央処理装置によっ
て読取られ且つ書込まれる。
ために実行されるのと同じ命令を実行することにより、
周辺装置の中にある制御レジスタが中央処理装置によっ
て読取られ且つ書込まれる。
しかし、成る周辺装置の読取および書込みには、メモリ
の読取および書込みの特性とはy+!なる特別の特性が
関係している。
の読取および書込みの特性とはy+!なる特別の特性が
関係している。
例えば、周辺装置内の制御レジスタを読取ることにより
、同じレジスタに対する、または同じ装置内の別のレジ
スタに対する次の参照時に読取られる値が変ることがあ
る。直列形通信制御装置および先入れ先出しメモリは6
通この形で動作づ−る。
、同じレジスタに対する、または同じ装置内の別のレジ
スタに対する次の参照時に読取られる値が変ることがあ
る。直列形通信制御装置および先入れ先出しメモリは6
通この形で動作づ−る。
同様に、周辺装置内の制御レジスタに書込むことにより
、異なるレジスタから読取った値が変ることがある。例
えば、ナショナル・セミコンダクタ・コーポレーション
のNS 32202割込み制御装置の場合、NS 32
202からカウンタの値を読取る前に、別の制御レジス
タに書込むことによって、カウンタの値を凍結すること
が先づ必要である。
、異なるレジスタから読取った値が変ることがある。例
えば、ナショナル・セミコンダクタ・コーポレーション
のNS 32202割込み制御装置の場合、NS 32
202からカウンタの値を読取る前に、別の制御レジス
タに書込むことによって、カウンタの値を凍結すること
が先づ必要である。
周辺装置のこういう特別の特性は、命令を逐次的に実行
されるように設計された現在利用しつるマイクロプロセ
ッサのようなデータ処理装置では、何等重大な問題を生
じない。
されるように設計された現在利用しつるマイクロプロセ
ッサのようなデータ処理装置では、何等重大な問題を生
じない。
しかし、更に複雑な高性能の装置は、「パイプライン」
形にいくつかの命令を同時に実行する。
形にいくつかの命令を同時に実行する。
こういう形式の装置では、装置のプログラムが正しく実
行されるように保証するために、Ilo 参照に対して
特別の処理手順を守らなければならない。
行されるように保証するために、Ilo 参照に対して
特別の処理手順を守らなければならない。
例えば、パイプライン形コンピュータは、任意の順序で
相異なるメモリ位置に対する読取および店込みを行なう
ことができるが、周辺装置に対する参照は、実行プログ
ラムの含意する特定の順序で行なわなければならない。
相異なるメモリ位置に対する読取および店込みを行なう
ことができるが、周辺装置に対する参照は、実行プログ
ラムの含意する特定の順序で行なわなければならない。
ヒユーレット・パラカード・スペクトル系列のコンピュ
ータおよびディジタル・イクイツプメント・コーポレー
ション(7) VAX−11/ 750 =+ ンe’
−L−タのアーキテクチュアのようなデータ処理装置の
アーキテクチュアla、メモリ・マップ形I10参照を
検出して特別の処理を適用づるパイプライン形の設計で
開発されている。こういう装置では、コンビコータのメ
モリ・アドレス空間の一部分が特に170に専用になっ
てJ3す、こうして周辺装(rIの場所は一定範囲のア
ドレスに制限される。
ータおよびディジタル・イクイツプメント・コーポレー
ション(7) VAX−11/ 750 =+ ンe’
−L−タのアーキテクチュアのようなデータ処理装置の
アーキテクチュアla、メモリ・マップ形I10参照を
検出して特別の処理を適用づるパイプライン形の設計で
開発されている。こういう装置では、コンビコータのメ
モリ・アドレス空間の一部分が特に170に専用になっ
てJ3す、こうして周辺装(rIの場所は一定範囲のア
ドレスに制限される。
今述べたように、I10参照の問題がマイク1ココンピ
ユーウ・アーキテクチュアで取上げられているが、現在
利用しうるマイクロブ0セツリ・アーキテクチュアは、
Iloに対する専用のメモリ・アドレス空間が烈く、ま
たはメモリ・マップ形I10参照を検出する形になって
いない。そのため、高性能のためにパイプライン形にな
っているマイクロブ0セツリの設計で、メモリ・マップ
形I/Oを支援づるアーキテクチュアを提供づることが
必要である。
ユーウ・アーキテクチュアで取上げられているが、現在
利用しうるマイクロブ0セツリ・アーキテクチュアは、
Iloに対する専用のメモリ・アドレス空間が烈く、ま
たはメモリ・マップ形I10参照を検出する形になって
いない。そのため、高性能のためにパイプライン形にな
っているマイクロブ0セツリの設計で、メモリ・マップ
形I/Oを支援づるアーキテクチュアを提供づることが
必要である。
しかし、マイクロプロセッサ・アーキテクチュアが、上
に述べたようにメモリ・アドレス空間の一部分をIlo
に専用にするという方法だけに頼ることは、そうすると
、任意の場所に接続された周辺装置を用いて既に開発さ
れている装置とのマイクロプロセッサの両立性がなくな
るために、受容れることができない。
に述べたようにメモリ・アドレス空間の一部分をIlo
に専用にするという方法だけに頼ることは、そうすると
、任意の場所に接続された周辺装置を用いて既に開発さ
れている装置とのマイクロプロセッサの両立性がなくな
るために、受容れることができない。
間 点を 決するための
この発明の目的は、周辺装置を任意のアドレスに配置す
ることができるようにしながら、メモリ・マップ形I1
0参照を検出して処理する方法を含むマイクロプロセッ
サ・アーキテクチュアを提供することである。
ることができるようにしながら、メモリ・マップ形I1
0参照を検出して処理する方法を含むマイクロプロセッ
サ・アーキテクチュアを提供することである。
この発明の別の目的は、パイプライン形アーキデクチュ
アを利用する任意のコンピュータまたはマイクロプロセ
ッサに適用することができるような、メモリ・マップ形
I10参照を検出して処理する方法を提供することであ
る。
アを利用する任意のコンピュータまたはマイクロプロセ
ッサに適用することができるような、メモリ・マップ形
I10参照を検出して処理する方法を提供することであ
る。
この発明の上記ならびにその他の目的が、メモリ・マッ
プ形I/Oを処理する新規な方法を支援するマイクロプ
ロセッサを提供することによって達成される。
プ形I/Oを処理する新規な方法を支援するマイクロプ
ロセッサを提供することによって達成される。
この発明の方法はマイクロプロセッサの外部インターフ
ェースに2つの信号を用いる。マイクロプロセッサが読
取バス・サイクルを発生するとき、次に述べる2つの条
件の何れかが満たされない場合、マイクロプロセッサは
I1010禁止出力信も作動する。1番目に、周辺ボー
トからの読取によって、同じボートに対する次の参照時
に読取られる値が変るおそれがあることであり、これは
「破壊的な読取」と呼ばれる特性である。ここで説明す
るマイクロプロセッサはパイプライン形プロセッサであ
るから、前の命令をまだ実行している間に、別の命令に
対する原始オペランドを読取ることができる。前の命令
がトラップを招くことがあり、割込みが確認されること
があり、或いは制御の流れがその他の形で変ることがあ
るから、命令を実行するより前の原始オペランドの破壊
的な読取′を避けることが1番目の条件である。2番目
に、周辺ボートに対する書込みにより、異なる周辺ボー
トから読取られた値が変るおそれがあり、これは「書込
みの副作用」と呼ばれる特性である。
ェースに2つの信号を用いる。マイクロプロセッサが読
取バス・サイクルを発生するとき、次に述べる2つの条
件の何れかが満たされない場合、マイクロプロセッサは
I1010禁止出力信も作動する。1番目に、周辺ボー
トからの読取によって、同じボートに対する次の参照時
に読取られる値が変るおそれがあることであり、これは
「破壊的な読取」と呼ばれる特性である。ここで説明す
るマイクロプロセッサはパイプライン形プロセッサであ
るから、前の命令をまだ実行している間に、別の命令に
対する原始オペランドを読取ることができる。前の命令
がトラップを招くことがあり、割込みが確認されること
があり、或いは制御の流れがその他の形で変ることがあ
るから、命令を実行するより前の原始オペランドの破壊
的な読取′を避けることが1番目の条件である。2番目
に、周辺ボートに対する書込みにより、異なる周辺ボー
トから読取られた値が変るおそれがあり、これは「書込
みの副作用」と呼ばれる特性である。
マイクロプロセッサは、そのパイプライン形アーキテク
チュアのため、アドレスが読取および書込み参照の間の
依存性を示さない限り、前の命令の結果を書込む前に、
別の命令に対づる原始オペランドを読取ることがある。
チュアのため、アドレスが読取および書込み参照の間の
依存性を示さない限り、前の命令の結果を書込む前に、
別の命令に対づる原始オペランドを読取ることがある。
従って、幽込み副作用を持つ周辺装置に対する読取およ
び丙込みの参照は1、命令が実行される順序で行なわな
ければならないというのが2番目の条件である。
び丙込みの参照は1、命令が実行される順序で行なわな
ければならないというのが2番目の条件である。
I10禁止出力は、周辺装置がアドレスされた場合、現
在のバス・サイクルを無視すべきであることを示す。
在のバス・サイクルを無視すべきであることを示す。
更に、「破壊的な読取」または「書込みの副作用」を持
つボートを用いて構成された周辺装置に対して参照する
とき、I10復号八力信号を作動する。T2O復号入力
は、現在のバス・サイクルによって周辺装置がアドレス
されていることをマイクロプロセッサに知らせる。
つボートを用いて構成された周辺装置に対して参照する
とき、I10復号八力信号を作動する。T2O復号入力
は、現在のバス・サイクルによって周辺装置がアドレス
されていることをマイクロプロセッサに知らせる。
マイクロプロセッサが、Ilo @9入力信号と110
禁止出力信号の両方が作動されていることを検出すると
き、それはバス・サイクルの間に読取られたデータを廃
棄し、命令の実行を直列化する。
禁止出力信号の両方が作動されていることを検出すると
き、それはバス・サイクルの間に読取られたデータを廃
棄し、命令の実行を直列化する。
その後、マイクロプロセッサが読取バス・サイクルを再
び発生し、今度はIloに対する2つの条件を満たし、
こうしてI1010禁止出力信不作動にする。
び発生し、今度はIloに対する2つの条件を満たし、
こうしてI1010禁止出力信不作動にする。
この発明のその他の目的、特徴および利点は、以下図面
について詳しく説明するところから明らかになろう。
について詳しく説明するところから明らかになろう。
9ましい−のましい1
第1図は任意の場所に周辺装置を接続する融通性を保ち
ながら、パイプライン形アーキテクチュアでメモリ・マ
ップ形人力/出力(Ilo) !照を検出して処理する
方法を実施するマイクロプロセッサ(CPU) (10
)の全体的なアーキテクチュアを示す。
ながら、パイプライン形アーキテクチュアでメモリ・マ
ップ形人力/出力(Ilo) !照を検出して処理する
方法を実施するマイクロプロセッサ(CPU) (10
)の全体的なアーキテクチュアを示す。
CPU(10)が外部メモリおよび計算クラスタ内のそ
の他の装置との連絡のためのバス・サイクルを開始して
、命令を取出し、データを読取り且つ書込み、浮動小数
点動作を行ない、例外の要請に応答する。
の他の装置との連絡のためのバス・サイクルを開始して
、命令を取出し、データを読取り且つ書込み、浮動小数
点動作を行ない、例外の要請に応答する。
CPU(1G) カ、20811Z r、10MIPS
(1秒アタリ100万個の命令)まで実行し1与る4
段形命令パイプライン(12)を含む。パイプライン(
12)と共に命令およびデータに対するパイプライン(
12)の強い需要を支援する3つの記憶バッファがチッ
プ上に集積されている。記憶バッファが512バイトの
命令キ1!ツシュ(14)、1,024バイトのデータ
・キャッシュ(16)、および64エントリの変換バッ
ファを含み、これがメモリ管理装置()180) (1
8)の中に含まれている。8811(18)の主な機能
は、メモリ参照の要請を調停し、仮想アドレスを実アド
レスに変換することである。集積バス・インターフェー
ス装置(Bltl)(20)が外部参照のためのバス・
サイクルを制御する。
(1秒アタリ100万個の命令)まで実行し1与る4
段形命令パイプライン(12)を含む。パイプライン(
12)と共に命令およびデータに対するパイプライン(
12)の強い需要を支援する3つの記憶バッファがチッ
プ上に集積されている。記憶バッファが512バイトの
命令キ1!ツシュ(14)、1,024バイトのデータ
・キャッシュ(16)、および64エントリの変換バッ
ファを含み、これがメモリ管理装置()180) (1
8)の中に含まれている。8811(18)の主な機能
は、メモリ参照の要請を調停し、仮想アドレスを実アド
レスに変換することである。集積バス・インターフェー
ス装置(Bltl)(20)が外部参照のためのバス・
サイクルを制御する。
ギt7ツシユおよびメモリ管理機能を命令パイプライン
(12)と同じチップ上に配置することにより、あらゆ
る用途に対し、メモリ・アクセス時間および帯域幅を改
善することにより、優れたコスト/性能が得られる。
(12)と同じチップ上に配置することにより、あらゆ
る用途に対し、メモリ・アクセス時間および帯域幅を改
善することにより、優れたコスト/性能が得られる。
CPjl(10) ハ、割込み制御装置(IcU)(2
4) (例えばN532202)のようイ【利用し得
る周辺装4とも両立性がある。CPU(10)に対する
ICUインターフェースは完全に非同期であり、このた
め、ICU(24)をCPU(10)よりも一層低い周
波数で動作させることができる。
4) (例えばN532202)のようイ【利用し得
る周辺装4とも両立性がある。CPU(10)に対する
ICUインターフェースは完全に非同期であり、このた
め、ICU(24)をCPU(10)よりも一層低い周
波数で動作させることができる。
CPII(10)はまたそれ自身のクロック発生器を持
っている。従って、タイミング制御装置を必要としない
。
っている。従って、タイミング制御装置を必要としない
。
CPU(10)が外部キャッシュ・メモリ(25)なら
びに1゛バス監祝」回路(26)の両方を支援りる、こ
の回路は内部データの一貫性を保つのを助ける。
びに1゛バス監祝」回路(26)の両方を支援りる、こ
の回路は内部データの一貫性を保つのを助ける。
第2図、に示すように、CPU(10)は、バスのタイ
ミングJ3よび制御、キャッシュの制御、例外の要請お
よびその他の機能のために、114個のインターフェー
ス信号を持っている。下記のリストは、cpu(io)
インターフェース信号の機能をまとめたものである。
ミングJ3よび制御、キャッシュの制御、例外の要請お
よびその他の機能のために、114個のインターフェー
ス信号を持っている。下記のリストは、cpu(io)
インターフェース信号の機能をまとめたものである。
入力信号
8八CK バースト確認(アクティブロー、即ら
、低で作用)。バースト要請に応答して 作用する時、メモリがバースト・サイ クルを支援することを示す。
、低で作用)。バースト要請に応答して 作用する時、メモリがバースト・サイ クルを支援することを示す。
BARバスの誤り(低で作用)。現在のバス・サイクル
の間、誤りが検出された ことをCPU(10)に知らせる。
の間、誤りが検出された ことをCPU(10)に知らせる。
BRT バスの再試行(低で作用)。CP 11
(10)が現在のバス・サイクルをもう1回道 行しな(プればならないことを示す。
(10)が現在のバス・サイクルをもう1回道 行しな(プればならないことを示す。
BWO−BWl バスの幅(2木の符舅化された線)
。
。
これらの線が、下記の表1に示すよう
に、各々のデータ転送に対するバスの
幅(B、isまたは32ビツト)を定める。
表 1
C1^o−crΔ6キヤツシユ無効アドレス(7木の符
号化された線)。キャッシュ無効アド レスがCIAバスに出る。表2が、cpu(10)の各
々の内部キャッシュに関連するC1八線を示す。
号化された線)。キャッシュ無効アド レスがCIAバスに出る。表2が、cpu(10)の各
々の内部キャッシュに関連するC1八線を示す。
表 2
CI■ キャッシュ入力禁止(アクディプハイ、
即ち、高で作用)。現在のバス・サイ クルのメモリ参照がキャッシュ可能で ないことをCPU(10)に知らゼる。
即ち、高で作用)。現在のバス・サイ クルのメモリ参照がキャッシュ可能で ないことをCPU(10)に知らゼる。
CINVE キャッシュ無効付能。外部キャッシュ
無効の選択か或いは試験モード動作が 選択されたかを決定する入力。
無効の選択か或いは試験モード動作が 選択されたかを決定する入力。
CLK り[]ツク。CPU(10)に対する全
てのタイミングを取出すのに使われる入力ク ロック。
てのタイミングを取出すのに使われる入力ク ロック。
08G デバッグ・トラップ要請(立下りで作動
)。この信号の5から低への変化が トラップ(DBG)を生じる。
)。この信号の5から低への変化が トラップ(DBG)を生じる。
110 L D 保持要請(低で作用)。直接メ
モリ・アクセス装置(014八)のためまたはマルチブ
ロセッリ用にバスを解放するよう ニcpu(io) ニ要Hn する。
モリ・アクセス装置(014八)のためまたはマルチブ
ロセッリ用にバスを解放するよう ニcpu(io) ニ要Hn する。
INT 割込み(低で作用)。マスク可能な割込
み要請。
み要請。
INVSET 組無効(低で作用)。低である時、
デツプ上のキIIツシュ内のある組だ けが無効にされる。高であるとき、 キャッジ1全体が無効にされる。
デツプ上のキIIツシュ内のある組だ けが無効にされる。高であるとき、 キャッジ1全体が無効にされる。
INVDCデータ・キャッシュ無効(低で作用)。
低である時、データ・キレッシュ内で
無効作用が行なわれる。
INVIC命令キャッシュ無効(低で作用)。低である
時、命令キVツシュ内で無効作 用が行なわれる。
時、命令キVツシュ内で無効作 用が行なわれる。
100ECI10復号(低で作用)。周辺装置が現在の
バス・サイクルによってアド レスされたことをCPU(10)に知らせる。
バス・サイクルによってアド レスされたことをCPU(10)に知らせる。
NHI マスク出来ない割込み(立下りで作@J
)。この信号の高から低への変化が、マスクできない割
込みをg5Mする。
)。この信号の高から低への変化が、マスクできない割
込みをg5Mする。
11DY 用意完了(高で作用)。この信号が作
動されていない間、CPU(10)は遅いメモリまたは
周辺装置を支援するために、現在のバス・サイクルを延
長する。
動されていない間、CPU(10)は遅いメモリまたは
周辺装置を支援するために、現在のバス・サイクルを延
長する。
R3T ’Jtット(低で作用) 。CPU(1
0) ヲ初期設定り゛るためのりヒツトの例外を発生す
る。
0) ヲ初期設定り゛るためのりヒツトの例外を発生す
る。
5DONE スレーブ済み(低で作用)。スレーブ
・プロセッサが命令の実行を完了し たことをCPU(10)に知らせる。
・プロセッサが命令の実行を完了し たことをCPU(10)に知らせる。
5TRAP スレーブ・トラップ(低で作用)。ス
レーブ・プロセッサが、命令を実行し ている間に、トラップ状態を検出した ことをCPU(10)に知らせる。
レーブ・プロセッサが、命令を実行し ている間に、トラップ状態を検出した ことをCPU(10)に知らせる。
瓜ヲL」L旦
AQ−^31 アドレス・バス(3状態、32本の
線)。
線)。
バス・サイクルの間、32ビツト・アドレスを転送する
。^0が最下位ビットを転送する。
。^0が最下位ビットを転送する。
^DS アドレス・ストローブ(低で作用、3状
態)。バス・サイクルが開始され、 有効アドレスがアドレス・バスにある ことを知らせる。
態)。バス・サイクルが開始され、 有効アドレスがアドレス・バスにある ことを知らせる。
BEO−BE3バイト付能何面で作用、3状態、4本の
線)。表3に示づ゛ように、データ・バスの各々のバイ
トの転送ができるよ うにする信号。
線)。表3に示づ゛ように、データ・バスの各々のバイ
トの転送ができるよ うにする信号。
表 3
作用、3状態)。現在のバス・サイク
ルが有効であること、即ち、バス・サ
イクルが取消されなかったことを示す。
バス・サイクル中でCON Fよりも早く利用し得る。
n ブレーク点(低で作用)。CPU(10)が
デバッグ状態を検出したことを知らせ る。
デバッグ状態を検出したことを知らせ る。
BR[Q バーストYl請(低で作用、3状[)
。
。
CPU(10)がバースト・サイクルを遂行することを
M mしていることを示す。
M mしていることを示す。
BUSCLに バス・クロック。バスのタイミングの
ための出力クロック。
ための出力クロック。
CUSECキャッシュ区間(3状態)。キt!ツシュ可
能なデータ読取バス・サイクル に対し、チップ上のデータ・キャッ シュ(18)のうち、データが入れられる区間を示す。
能なデータ読取バス・サイクル に対し、チップ上のデータ・キャッ シュ(18)のうち、データが入れられる区間を示す。
CIOキャッシュ禁止(高で作用)。現在のバス・サイ
クルのメモリ参照がキャッ シュ可能でないというcpu(io)による表示。レベ
ル−2のページ・テーブ ル・エントリ中のCI−ビットによって制御される。
クルのメモリ参照がキャッ シュ可能でないというcpu(io)による表示。レベ
ル−2のページ・テーブ ル・エントリ中のCI−ビットによって制御される。
CON F バス・サイクル確認(低で作用、3
状態)。ADSで開始されたバス・サイクルが有効であ
ること、即ち、バス・サ イクルが取消されていないことを知ら せる。
状態)。ADSで開始されたバス・サイクルが有効であ
ること、即ち、バス・サ イクルが取消されていないことを知ら せる。
001N データ入力方向く低で作用、3状態)
。
。
データ・バスにおける転送方向を示す。
バス・サイクルの間に低である時、
CPU 10がデータを読取っていることを示す。バス
・サイクルの間高である時、cpuioがデータを書込
んでいることを示す。
・サイクルの間高である時、cpuioがデータを書込
んでいることを示す。
11LDA 保持確認(低で作用)。1−HOL
D入力に応答して、CPUl0によって作動され、CP
U 10がバスを解放したことを示す。
D入力に応答して、CPUl0によって作動され、CP
U 10がバスを解放したことを示す。
11.0 インターロック形パス・サイクル(低
で作用)。インターロック保護を伴う 一連のバス・サイクルが進行中である ことを示す。
で作用)。インターロック保護を伴う 一連のバス・サイクルが進行中である ことを示す。
10INII I10禁止(低で作用)。周辺装置
がアドレスされた場合、現在のバス・サイ クルを無視すべきであることを示す。
がアドレスされた場合、現在のバス・サイ クルを無視すべきであることを示す。
ISF 内部逐次取出し。PFSと共に、実行を
開始覆る命令が逐次形([SF−低)または非逐次形(
ISF=高)であることを示す。
開始覆る命令が逐次形([SF−低)または非逐次形(
ISF=高)であることを示す。
P[S プログラム・フロー状態(低で作用)。
この信号のパルスは、各々の命令に対
する実行の開始を示す。
SPCスレーブ・プロセッサ制6(l(低で作用)。ス
レーブ・プロセッサのバス・ サイクルに対するデータ・ストロー ブ。
レーブ・プロセッサのバス・ サイクルに対するデータ・ストロー ブ。
5TO−3T4 状態(5本の符号化された線)。バ
ス・サイクル状態コード。STOは最下位ビットである
。符号化が表4に示さ れている。
ス・サイクル状態コード。STOは最下位ビットである
。符号化が表4に示さ れている。
U/S ユーザ/スーパバイザ(3状1m)。
ユーザ・モード(U/S=高)またはスーパバイザ・モ
ード(U/S=低)であることを示す。
ード(U/S=低)であることを示す。
両方向信号
Do−031データ・バス(3状態、32本の線)。
バス・サイクルの間、8.16または32個のデータ・
ビットを転送する。DOが最下位ビットを転送する。
ビットを転送する。DOが最下位ビットを転送する。
第3図について説明すると、CPU(10)は内部では
8個の主要な機能装置として構成されており、これらは
並列に動作して、命令を実行するために次の動作を行な
う。予備取出し、復号、実効アドレスの計算、原始オペ
ランドの読取り、結果を読取ってレジスタに記憶、結果
をメモリに記憶。
8個の主要な機能装置として構成されており、これらは
並列に動作して、命令を実行するために次の動作を行な
う。予備取出し、復号、実効アドレスの計算、原始オペ
ランドの読取り、結果を読取ってレジスタに記憶、結果
をメモリに記憶。
ローダ(28)が命令の予備取出しを行ない、アドレス
装置(30)および実行装置(32)で使うためにそれ
らを復号する。ローダ(28)が命令キャッシュ(14
)からIBUSバスを介して受取った命令を8バイト命
令持ち行列に転送する。ローダ(28)は各々のサイク
ルで命令フィールドを取出すことができる。
装置(30)および実行装置(32)で使うためにそれ
らを復号する。ローダ(28)が命令キャッシュ(14
)からIBUSバスを介して受取った命令を8バイト命
令持ち行列に転送する。ローダ(28)は各々のサイク
ルで命令フィールドを取出すことができる。
「フィールド」は動作コード(アドレス・モード指定子
を含めて1乃至3バイト)、変位値または即値のいずれ
かを意味する。ローダ(28)が、動作コードを復号し
て初期マイクロコード・アドレスを発生し、それが[^
口Rバスを介して実行装置(32)に送られる。復号さ
れた一般アドレス・モードがへ〇〇Sバスを介してアド
レス装置I (3o)に送られる。
を含めて1乃至3バイト)、変位値または即値のいずれ
かを意味する。ローダ(28)が、動作コードを復号し
て初期マイクロコード・アドレスを発生し、それが[^
口Rバスを介して実行装置(32)に送られる。復号さ
れた一般アドレス・モードがへ〇〇Sバスを介してアド
レス装置I (3o)に送られる。
変位値がDISPバスを介してアドレス装置(3o)に
送られる。即値がGCBUSバスに利用できる。
送られる。即値がGCBUSバスに利用できる。
アドレス装置(30)が、専用32ビツト加算器を用い
て実効アドレスを計算し、実行装置(32)に対して原
始オペランドを読取る。アドレス装置(30)が、レジ
スタ・ファイル(34)からGCBUSへのボートを制
御する。このボートを介して、基底値および指標値をア
ドレス加算器に転送し、データ値を実行装置(32)に
転送する。オペランド参照用の実効アドレスが、仮想ア
ドレス・バスであるGVAバスを介してHHU(18)
およびデータ・キャッシュ(16)に転送される。
て実効アドレスを計算し、実行装置(32)に対して原
始オペランドを読取る。アドレス装置(30)が、レジ
スタ・ファイル(34)からGCBUSへのボートを制
御する。このボートを介して、基底値および指標値をア
ドレス加算器に転送し、データ値を実行装置(32)に
転送する。オペランド参照用の実効アドレスが、仮想ア
ドレス・バスであるGVAバスを介してHHU(18)
およびデータ・キャッシュ(16)に転送される。
実行装置(32)がデータ通路と、命令を実行し且つ例
外を処理するためのマイクロコード形制御装置を含んで
いる。このデータ通路は32ビツト簿術論理装置(AL
U)、32ビツト・バレル・シフター、8ビツト優先順
位符号器および多数のカウンタを含む。実行装置(32
)に設けられた特殊用ハードウェアが乗樟を支援し、絶
対値の小さい乗数に対する最適化を伴って1サイクル毎
に1ビツトを引込める。
外を処理するためのマイクロコード形制御装置を含んで
いる。このデータ通路は32ビツト簿術論理装置(AL
U)、32ビツト・バレル・シフター、8ビツト優先順
位符号器および多数のカウンタを含む。実行装置(32
)に設けられた特殊用ハードウェアが乗樟を支援し、絶
対値の小さい乗数に対する最適化を伴って1サイクル毎
に1ビツトを引込める。
実行装置(32)が結果を記憶するGNAバスからレジ
スタ・ファイル(34)へのボートを制御する。
スタ・ファイル(34)へのボートを制御する。
GNAバスは、レジスタ・ファイル(34)に含まれて
いる多数の専用レジスタ、同じような形式レジスタ、及
び割込み基底レジスタの値を読取るためにも、実行装置
(32)によって使われる。2−エントリ・データ・バ
ッファは、実行装置(32)が、1つの命令の実行と、
前の命令に対する結果をメモリに記憶することをオーバ
ラップすることができるようにする。GVAバスは、複
雑な命令(例えばストリング動作)に対するメモリ参照
を実行するため並びに例外の処理のために、実行装置a
(32)によって使われる。
いる多数の専用レジスタ、同じような形式レジスタ、及
び割込み基底レジスタの値を読取るためにも、実行装置
(32)によって使われる。2−エントリ・データ・バ
ッファは、実行装置(32)が、1つの命令の実行と、
前の命令に対する結果をメモリに記憶することをオーバ
ラップすることができるようにする。GVAバスは、複
雑な命令(例えばストリング動作)に対するメモリ参照
を実行するため並びに例外の処理のために、実行装置a
(32)によって使われる。
レジスタ・ファイル(34)は2重ボートを用い、GC
BUSに対するアドレス装置(30)の読取アクセス・
と、GNAバスに対する実行装置(32)の読取/書込
みアクセスができるようにする。レジスタ・ファイル(
34)は、汎用レジスタ、専用レジスタ、およびアドレ
ス装置(30)と実行装!(32)に対するプログラム
・カウンタの値を保持する。
BUSに対するアドレス装置(30)の読取アクセス・
と、GNAバスに対する実行装置(32)の読取/書込
みアクセスができるようにする。レジスタ・ファイル(
34)は、汎用レジスタ、専用レジスタ、およびアドレ
ス装置(30)と実行装!(32)に対するプログラム
・カウンタの値を保持する。
8811(1g)はCPt1(10)のメモリ管理機能
と両立性を持つ。命令キャッシュ(14)、アドレス装
置(30)および実行装置(32)が、メモリ参照のた
めに、H)111(18)に対して要請をする。88υ
(18)がこれらの要請を調停し、GV^バスに仮想ア
ドレスを転送するためにアクセスを許す。HHU(18
)がGV八ババスら受取った仮想アドレスを、その内部
の変換バッファを用いて、対応する実アドレスに変換す
る。
と両立性を持つ。命令キャッシュ(14)、アドレス装
置(30)および実行装置(32)が、メモリ参照のた
めに、H)111(18)に対して要請をする。88υ
(18)がこれらの要請を調停し、GV^バスに仮想ア
ドレスを転送するためにアクセスを許す。HHU(18
)がGV八ババスら受取った仮想アドレスを、その内部
の変換バッファを用いて、対応する実アドレスに変換す
る。
HHIJ(18)がHPAバスの実アドレスを、命令ま
たはデータのどちらを参照しているかに応じて、命令キ
IIツシュ(14)またはデータ・キIlツシュ(16
)に対して転送する。実アドレスが外部バス・サイクル
のために、BIll(20)にも転送される。
たはデータのどちらを参照しているかに応じて、命令キ
IIツシュ(14)またはデータ・キIlツシュ(16
)に対して転送する。実アドレスが外部バス・サイクル
のために、BIll(20)にも転送される。
バス・インターフェース装置(BID)(20)が、命
令キt7ツシユ(14)、アドレス装置(30)および
実行装ff1(32)による参照のために、バス・サイ
クルを制御する。BIU(20)は外部参照のための3
−エントリ・バッファを持っている。このため、たとえ
ば、BIU(20)は命令取出しのためのバス・サイク
ルを実行しながら、別のバス・す、イクルに対する情報
を保持し、メモリに古込むと同時に、次の読取りデータ
を受取ることができる。
令キt7ツシユ(14)、アドレス装置(30)および
実行装ff1(32)による参照のために、バス・サイ
クルを制御する。BIU(20)は外部参照のための3
−エントリ・バッファを持っている。このため、たとえ
ば、BIU(20)は命令取出しのためのバス・サイク
ルを実行しながら、別のバス・す、イクルに対する情報
を保持し、メモリに古込むと同時に、次の読取りデータ
を受取ることができる。
第4図について説明すると、命令キャッシュ(14)が
直接マツプ構成で512バイトを記憶している。参照命
令のアドレスのビット6乃至8が、8個の組のうちの1
つを選択する。各組は16バイト、叩らコードの4個の
二重ワードと、その相に記憶される位置に対する実アド
レスの最上位の23ビツトで構成されたアドレス・タグ
を保持するログとを持っている。二車ワード毎に有効ビ
ットが付設されている。
直接マツプ構成で512バイトを記憶している。参照命
令のアドレスのビット6乃至8が、8個の組のうちの1
つを選択する。各組は16バイト、叩らコードの4個の
二重ワードと、その相に記憶される位置に対する実アド
レスの最上位の23ビツトで構成されたアドレス・タグ
を保持するログとを持っている。二車ワード毎に有効ビ
ットが付設されている。
命令キャッシュ(14)は16バイトの命令バッファを
も持ら、それから1サイクル毎にコードの32ビツトを
IBUSを介してローダ(28)へ転送することができ
る。所望の命令が命令キトツシュ(14)に見つかった
場合に(゛ヒツト′)、命令バッファは命令キャッシュ
(14)の選ばれた組からロードされる。ミスの場合、
命令キャッシュ(14)がGVAバス上の1友けている
二重ワードのアドレスを)IHU(18)に転送し、こ
れがそのアドレスをBID(20)用に変換J−ル。B
Ill(20)が、後述する通り、GOD Iバスを介
して外部メモリから命令バッファをロードするためのバ
ースト読取サイクルを開始する。その後、命令バッファ
が命令キャッシュ(14)の1つの組に占込まれる。
も持ら、それから1サイクル毎にコードの32ビツトを
IBUSを介してローダ(28)へ転送することができ
る。所望の命令が命令キトツシュ(14)に見つかった
場合に(゛ヒツト′)、命令バッファは命令キャッシュ
(14)の選ばれた組からロードされる。ミスの場合、
命令キャッシュ(14)がGVAバス上の1友けている
二重ワードのアドレスを)IHU(18)に転送し、こ
れがそのアドレスをBID(20)用に変換J−ル。B
Ill(20)が、後述する通り、GOD Iバスを介
して外部メモリから命令バッファをロードするためのバ
ースト読取サイクルを開始する。その後、命令バッファ
が命令キャッシュ(14)の1つの組に占込まれる。
命令キャッシュ(14)が、命令ストリームの次の二車
ワードの予備取出しを行なうための仮想アドレスおよび
実アドレスの両方に対するカウンタを持っている。命令
キt・ツシコ(14)が新しい命令ストリームからの予
備取出しを開始しなければならない時、新しいストリー
ムに対する仮想アドレスがローダ(28)からJBUS
を介して転送される。
ワードの予備取出しを行なうための仮想アドレスおよび
実アドレスの両方に対するカウンタを持っている。命令
キt・ツシコ(14)が新しい命令ストリームからの予
備取出しを開始しなければならない時、新しいストリー
ムに対する仮想アドレスがローダ(28)からJBUS
を介して転送される。
新しいページに交差するとき、命令キャッシュ(14)
がGVAVスを介して仮想アドレスを814υ(18)
に転送し、)4P^バスを介して実アドレスを受取る。
がGVAVスを介して仮想アドレスを814υ(18)
に転送し、)4P^バスを介して実アドレスを受取る。
命令キャッシュ(14)はまたその内容を一定位置に固
定するための動作モードを支援する。この特徴は、形式
レジスタにある命令キャッシュ固定(LIC)ビットを
セットすることによって付能される。これを実時間シス
テムで使って、最も重要なルーチンに対する速いチップ
上のアクセスができる。命令キャッシュ(14)は、形
式レジスタにある命令キャッシュ付能(IC)8次ビッ
トをセットすることによって、付能することができる。
定するための動作モードを支援する。この特徴は、形式
レジスタにある命令キャッシュ固定(LIC)ビットを
セットすることによって付能される。これを実時間シス
テムで使って、最も重要なルーチンに対する速いチップ
上のアクセスができる。命令キャッシュ(14)は、形
式レジスタにある命令キャッシュ付能(IC)8次ビッ
トをセットすることによって、付能することができる。
データ・キャッシュ(16)が、第5図に示すように、
2通りの紺と連想する構成で、 1,024バイトのデ
ータを記憶している。各相は、16バイトを含む2エン
トリと2つのエントリに記憶される位置に対する実アド
レスの最上位の23ビツトを持つ2つのタグとをを持っ
ている。二重ワード毎に有効ビットが付設されている。
2通りの紺と連想する構成で、 1,024バイトのデ
ータを記憶している。各相は、16バイトを含む2エン
トリと2つのエントリに記憶される位置に対する実アド
レスの最上位の23ビツトを持つ2つのタグとをを持っ
ている。二重ワード毎に有効ビットが付設されている。
データ・キャッシュ(16)をアクセスするタイミング
が第6図に示されている。最初に、GVAVスの仮想ア
ドレス・ビット4乃至8を使って、データ・キャッシュ
(16)内の適当な組を選択し、2エントリを読取る。
が第6図に示されている。最初に、GVAVスの仮想ア
ドレス・ビット4乃至8を使って、データ・キャッシュ
(16)内の適当な組を選択し、2エントリを読取る。
同時に、HHU(18)が仮想アドレスを変換し、実ア
ドレスをHP^バスを介してデータ・キャッシュ(16
)およびBIll(20)に転送している。その後、デ
ータ・キャッシュ(16)が2つのアドレス・タグを実
アドレスと比較し、これに対してB I 11 (20
)が、外部メモリからデータを読取るための外部バス・
ナイクルを開始する。参照がヒツトであれば、選択され
たデータがデータ・キャッシュ(16)によって調整さ
れ、GDATAバスを介して実行装置(32)ニ転送さ
れ、BID(20)がBITおよびCON F信号を出
さないで外部バス・サイクルを取消す。参照がミスであ
れば、1%10 (20)が外部バス・サイクルを完了
し、外部メモリからのデータを実行装置(32)および
データ・キャッシュ(16)に転送し、キャッシュはそ
のキャッシュ・エントリを更新する。ヒツトである参照
では、データ・キャッシュ(16)は1サイクル当たり
1個の二重ワードのスルーブツトを保つことができ、1
゜5サイクルの潜在能力を持つ。
ドレスをHP^バスを介してデータ・キャッシュ(16
)およびBIll(20)に転送している。その後、デ
ータ・キャッシュ(16)が2つのアドレス・タグを実
アドレスと比較し、これに対してB I 11 (20
)が、外部メモリからデータを読取るための外部バス・
ナイクルを開始する。参照がヒツトであれば、選択され
たデータがデータ・キャッシュ(16)によって調整さ
れ、GDATAバスを介して実行装置(32)ニ転送さ
れ、BID(20)がBITおよびCON F信号を出
さないで外部バス・サイクルを取消す。参照がミスであ
れば、1%10 (20)が外部バス・サイクルを完了
し、外部メモリからのデータを実行装置(32)および
データ・キャッシュ(16)に転送し、キャッシュはそ
のキャッシュ・エントリを更新する。ヒツトである参照
では、データ・キャッシュ(16)は1サイクル当たり
1個の二重ワードのスルーブツトを保つことができ、1
゜5サイクルの潜在能力を持つ。
データ・キャッシュ(16)は山写しキャッシュである
。メモリの書込み参照では、データ・キャッシュ(16
)は参照がヒツトであるかどうかを検査する。ヒツトで
あれば、キャッシュの内容を更新する。ヒツトまたはミ
スの場合、Bitl(20)がデータを外部メモリに書
写す。命令キャッシュ(14)と同じく、データ・キャ
ッシュ(16)がその内容を一定位置に固定する動作モ
ードを支援する。この特徴は、構成レジスタのデータ・
キャッシュ固定(LDC)ビットをセットすることによ
って付能される。これを実時間システムで用いて、最も
重要なデータ位置に対するチップ上の速いアクセスがで
きる。
。メモリの書込み参照では、データ・キャッシュ(16
)は参照がヒツトであるかどうかを検査する。ヒツトで
あれば、キャッシュの内容を更新する。ヒツトまたはミ
スの場合、Bitl(20)がデータを外部メモリに書
写す。命令キャッシュ(14)と同じく、データ・キャ
ッシュ(16)がその内容を一定位置に固定する動作モ
ードを支援する。この特徴は、構成レジスタのデータ・
キャッシュ固定(LDC)ビットをセットすることによ
って付能される。これを実時間システムで用いて、最も
重要なデータ位置に対するチップ上の速いアクセスがで
きる。
データ・キャッシュ(16)は、形式レジスタのデータ
・キャッシュ付能(OC)ビットをセットすることによ
って付能することができる。
・キャッシュ付能(OC)ビットをセットすることによ
って付能することができる。
cpu(io)が、CPU(10) (7)動作速爪の
2倍ノ周波数を持つ単相入力クロックC[にを受取る。
2倍ノ周波数を持つ単相入力クロックC[にを受取る。
例えば入力クロックの周波数は、20887で動作する
CPU(1G)rハ、40811Z t−アル、、CP
U(10) カCLK 入力ヲ2で除し、重ならない2
相PI111およびPII!2で構成される内部クロッ
クを求める。cpu(io)がBUSCLに出力信号の
PH11を駆動する。
CPU(1G)rハ、40811Z t−アル、、CP
U(10) カCLK 入力ヲ2で除し、重ならない2
相PI111およびPII!2で構成される内部クロッ
クを求める。cpu(io)がBUSCLに出力信号の
PH11を駆動する。
第7図は、C[に入力とausctに出力信号の間の関
係を示す。
係を示す。
第8図に示すように、ausctに出力のことごとくの
立上りが、CPU(10)のタイミング状態(IT状態
」)の変化を定める。バス・サイクルは、関連する時間
線図にTI、 T2および72Bと記した一連の王状態
の間に起こる。バス・サイクルの間にアイドルT状態(
Ti)があることがある。CLK入力に対するBUSC
Lに出力の位相関係はリセットの時に設定することがで
きる。
立上りが、CPU(10)のタイミング状態(IT状態
」)の変化を定める。バス・サイクルは、関連する時間
線図にTI、 T2および72Bと記した一連の王状態
の間に起こる。バス・サイクルの間にアイドルT状態(
Ti)があることがある。CLK入力に対するBUSC
Lに出力の位相関係はリセットの時に設定することがで
きる。
外部メモリおよび周辺装置から読取りまたはそれに出込
むために、CPU(10)によって行なわれる基本バス
・サイクルは、T1おにびT2と呼ぶバス・クロックの
2サイクルの間に行なわれる。基本バス・サイクルは、
2つの理由で、2クロツク・サイクルを越えて延長する
ことができる。第1に、遅いメモリおよび周辺装置を待
つために、付加的な■2サイクルを追加することができ
る。第2に、外部メモリから読取る時、バースト・サイ
クル([T2BJと呼ばれる)を使って、相次ぐ位置か
ら多数の二車ワードを転送することができる。
むために、CPU(10)によって行なわれる基本バス
・サイクルは、T1おにびT2と呼ぶバス・クロックの
2サイクルの間に行なわれる。基本バス・サイクルは、
2つの理由で、2クロツク・サイクルを越えて延長する
ことができる。第1に、遅いメモリおよび周辺装置を待
つために、付加的な■2サイクルを追加することができ
る。第2に、外部メモリから読取る時、バースト・サイ
クル([T2BJと呼ばれる)を使って、相次ぐ位置か
ら多数の二車ワードを転送することができる。
「持ち」状態がない基本読取および囚込みバス・サイク
ルのタイミングが、夫々第8図および第9図に示される
。読取および書込みの両方のバス・サイクルで、CPU
(10)が、T1の前半の間、バス・サイクルの開始を
示すアドレス・ストローブADSを出す。T1の開始か
らバス・サイクルの完了マチ、CPU(10)が状態(
STO−3T4) 、バイト付能(BEO−BF2)
、データ入力方向(DDIN) 、キャッシュ禁止(C
IO) 、I10禁止(IOINI+ ) 、およびキ
17ツシユ区間(CASEC)信号に対づるアドレス・
バスおよびモ11@信号を駆動する。
ルのタイミングが、夫々第8図および第9図に示される
。読取および書込みの両方のバス・サイクルで、CPU
(10)が、T1の前半の間、バス・サイクルの開始を
示すアドレス・ストローブADSを出す。T1の開始か
らバス・サイクルの完了マチ、CPU(10)が状態(
STO−3T4) 、バイト付能(BEO−BF2)
、データ入力方向(DDIN) 、キャッシュ禁止(C
IO) 、I10禁止(IOINI+ ) 、およびキ
17ツシユ区間(CASEC)信号に対づるアドレス・
バスおよびモ11@信号を駆動する。
バス・サイクルが取消されない場合(即ら、次のクロッ
クで12が続く場合) 、CPU(10)がT1の間に
メモリ・トランザクション開始(BHT)を出し、T1
の中心からバス・サイクルの完了まで、バス・サイクル
確認CO旧を出し、完了した時、CON Fを否定する
。
クで12が続く場合) 、CPU(10)がT1の間に
メモリ・トランザクション開始(BHT)を出し、T1
の中心からバス・サイクルの完了まで、バス・サイクル
確認CO旧を出し、完了した時、CON Fを否定する
。
T2(7)終りに、cpu(io) Get、ハス・サ
イ’) 、”、カ完了したことを示寸、RDYが作動状
態であることを標本化する。即ち、これ以上の付加的な
T2状態を追加してはならない。T2の後、次のバス・
サイクルに対するT1か、またはCPU(10)が行な
うべきバス・サイクルがなければT1が続く。
イ’) 、”、カ完了したことを示寸、RDYが作動状
態であることを標本化する。即ち、これ以上の付加的な
T2状態を追加してはならない。T2の後、次のバス・
サイクルに対するT1か、またはCPU(10)が行な
うべきバス・サイクルがなければT1が続く。
第10図に示すように、前に説明した基本読取および書
込みバス・サイクルは、更に長いアクセス時間を支援す
るように延長することが(゛ぎる。前に述べたように、
各々の12状態の終りにcpu(io)がRDYを標本
化する。RDYが不作動であれば、もう1つのクロック
に対してT2を繰返すことにより、バス・サイクルを延
長する。最初より後の付加的なT2状態は「待ち」状態
と呼ばれる。第10図は、2つの待ち状態を追加するこ
とによって、読取バス・サイクルを延長することを示し
ている。
込みバス・サイクルは、更に長いアクセス時間を支援す
るように延長することが(゛ぎる。前に述べたように、
各々の12状態の終りにcpu(io)がRDYを標本
化する。RDYが不作動であれば、もう1つのクロック
に対してT2を繰返すことにより、バス・サイクルを延
長する。最初より後の付加的なT2状態は「待ち」状態
と呼ばれる。第10図は、2つの待ち状態を追加するこ
とによって、読取バス・サイクルを延長することを示し
ている。
第11図に示づように、基本読取サイクルは、相次ぐメ
モリ位置から4つまでの二重ワードのバースト転送を支
援するために、延長することができる。バースト読取サ
イクルの間、最初の二重ワードが、基本読取サイクルと
同じく、一連の口および■2状!ぶの間に転送される。
モリ位置から4つまでの二重ワードのバースト転送を支
援するために、延長することができる。バースト読取サ
イクルの間、最初の二重ワードが、基本読取サイクルと
同じく、一連の口および■2状!ぶの間に転送される。
この後の二重ワードは、“T2B ’ と呼ばれる状態
の間に転送される。
の間に転送される。
バースト・サイクルは、32ビット幅のメモリから読取
るためにだけ使われる。
るためにだけ使われる。
バースト読取サイクルに於ける転送の回数が、T2また
は丁28状態の間、バースト要請BRFQという出力信
号とバースト確認BへCKという入力信号の間のハンド
シェイクによって制御され、それが現で1の転送に続く
もう1回の転送を要請していることを示す。メモリがB
ACKを出して、それがもう1回の転送を支援すること
ができることを示す。第11図は3回の転送のバースト
読取サイクルを示してオ’)、CPU(10) ハ22
回目転送の後、8 It E Qを否定にすることによ
り、この順序を終了づ−る。第12図は2回の転送のバ
ースト・サイクルを示しており、これは2回目の転送の
間、BACにが不作動であるときに装置によって終了さ
せられる。
は丁28状態の間、バースト要請BRFQという出力信
号とバースト確認BへCKという入力信号の間のハンド
シェイクによって制御され、それが現で1の転送に続く
もう1回の転送を要請していることを示す。メモリがB
ACKを出して、それがもう1回の転送を支援すること
ができることを示す。第11図は3回の転送のバースト
読取サイクルを示してオ’)、CPU(10) ハ22
回目転送の後、8 It E Qを否定にすることによ
り、この順序を終了づ−る。第12図は2回の転送のバ
ースト・サイクルを示しており、これは2回目の転送の
間、BACにが不作動であるときに装置によって終了さ
せられる。
バースト順序中の最初より後の各々の転送では、CPU
(10)がアドレス・ビット2および3をインクレメン
トして、次の二重ワードを選択する。第12図に2回目
の転送について示されているように、CPU(10)が
各々のT2B状態の終りにIIDYを標本化し、III
DYが不作動であれば、バースト転送に対するアクセス
時間を延長する。
(10)がアドレス・ビット2および3をインクレメン
トして、次の二重ワードを選択する。第12図に2回目
の転送について示されているように、CPU(10)が
各々のT2B状態の終りにIIDYを標本化し、III
DYが不作動であれば、バースト転送に対するアクセス
時間を延長する。
cpu(io)はチップ上の2つのキャッシュと外部メ
モリの間のデータの一員性を保つために多数の方式を用
いる。こういう方式を表5にまとめである。
モリの間のデータの一員性を保つために多数の方式を用
いる。こういう方式を表5にまとめである。
第1図に示す外部の「バス監視」回路(26)を使うこ
とにより、チップ上の2つのキャッシュと外部メモリの
間の一貫性を保証することができる。
とにより、チップ上の2つのキャッシュと外部メモリの
間の一貫性を保証することができる。
回路(26)は次の母線にインターフェース接続される
。
。
1、内部キャッシュ・エントリー(タグ〉を修正する情
報を求めるため、ならびにCPU(10)の内部キャッ
シュ・タグの更新されたコピーを保持するために、cp
u(io)のアドレス・バスとCASEC出力。
報を求めるため、ならびにCPU(10)の内部キャッ
シュ・タグの更新されたコピーを保持するために、cp
u(io)のアドレス・バスとCASEC出力。
2)どの内部メモリ・アドレスを修正するかを検出づる
ために、システム・バス。
ために、システム・バス。
3、 INVSET、 INVDC、INVICi13
よヒCIAO−CIA6信号で構成されるCPU(10
)のキャッシュ無効バス。
よヒCIAO−CIA6信号で構成されるCPU(10
)のキャッシュ無効バス。
バス監視回路(26)が命令キャッシュ(14)および
データ・主1フッシュ(16)のエントリーのタグ・コ
ピーを持っている。システム・バスのメ七り書込みサイ
クルのアドレスが、バス監視回路(26)の中にある1
つのタグと符合すると、バス監視回路(26)からキャ
ッシュ無効バスを介してCPU(10)に対して指令が
出され、適当な内部キャッシュにある対応するエントリ
ーを無効にする。CPU(10)による内部キャッシュ
・エントリーの無効化は1クロツク・サイクルしかかか
らず、CI’U(10)の進行中のバス・サイクルを妨
げない。データ・キャッシュ(1G)は1度に32バイ
トが無効にされるが、命令キャッシュ(14)は1度に
16バイトが無効にされる。
データ・主1フッシュ(16)のエントリーのタグ・コ
ピーを持っている。システム・バスのメ七り書込みサイ
クルのアドレスが、バス監視回路(26)の中にある1
つのタグと符合すると、バス監視回路(26)からキャ
ッシュ無効バスを介してCPU(10)に対して指令が
出され、適当な内部キャッシュにある対応するエントリ
ーを無効にする。CPU(10)による内部キャッシュ
・エントリーの無効化は1クロツク・サイクルしかかか
らず、CI’U(10)の進行中のバス・サイクルを妨
げない。データ・キャッシュ(1G)は1度に32バイ
トが無効にされるが、命令キャッシュ(14)は1度に
16バイトが無効にされる。
CPU(1G)が用いるキャッシュ−真性方式は、係属
中の他の米国特許出願に記載されている。
中の他の米国特許出願に記載されている。
命令を実行するため、CPU(10)は、そのアドレス
がプログラム・カウンタに入っている命令を最初に取出
し、その模この特定の命令に対する動作を遂行する。命
令を実行した後、プログラム・カウンタを2通りの一方
で更新して、次に実行すべき命令のアドレスを持つよう
にする。即ち、現在の命令が明白にプログラム・カウン
タをロードするか(JUMPのように)または現在の命
令の長さによってインクレメントされる。
がプログラム・カウンタに入っている命令を最初に取出
し、その模この特定の命令に対する動作を遂行する。命
令を実行した後、プログラム・カウンタを2通りの一方
で更新して、次に実行すべき命令のアドレスを持つよう
にする。即ち、現在の命令が明白にプログラム・カウン
タをロードするか(JUMPのように)または現在の命
令の長さによってインクレメントされる。
前に述べたように、CPU(10)は、4段の命令パイ
プライン(12)で、いくつかの命令を同時に実行する
動作をオーバラップする。パイプライン(12)の全体
的な構成が第13図に示されている。実行装置(32)
が1つの命令に対する結果を計算している闇、アドレス
装置(30)が次の命令に対する実効アドレスを計算し
て、その原始オペランドを読取ることができ、ローダ(
28)が3番目の命令を復号して、4番目の命令をその
8バイト持ち行列に予備取出しすることができる。
プライン(12)で、いくつかの命令を同時に実行する
動作をオーバラップする。パイプライン(12)の全体
的な構成が第13図に示されている。実行装置(32)
が1つの命令に対する結果を計算している闇、アドレス
装置(30)が次の命令に対する実効アドレスを計算し
て、その原始オペランドを読取ることができ、ローダ(
28)が3番目の命令を復号して、4番目の命令をその
8バイト持ち行列に予備取出しすることができる。
成る情況では、命令の実行がオーバラップする影響は、
厳密に逐次的に命令を実行する場合と異なることがある
。具体的にいうと、CPIj (10)によって行なわ
れるメモリ参照の順序が異なるようにみえることがある
が、次にこれを説明する。
厳密に逐次的に命令を実行する場合と異なることがある
。具体的にいうと、CPIj (10)によって行なわ
れるメモリ参照の順序が異なるようにみえることがある
が、次にこれを説明する。
命令を実行する間、CPU(1G)は、命令を完全に取
出す前に、メモリから続く命令に対重る成る原始オペラ
ンドを読取ることができる。しかし、CPIJ(10)
は、その結果を古込む前に、常に命令の取出しおよび原
始オペランドの読取を完了する。
出す前に、メモリから続く命令に対重る成る原始オペラ
ンドを読取ることができる。しかし、CPIJ(10)
は、その結果を古込む前に、常に命令の取出しおよび原
始オペランドの読取を完了する。
命令を実行するために、2つ以上のオペランドをメモリ
から読取らなければならないとき、オペランドは任意の
順序で読取ることができる。同様に、命令を実行するた
めに、2つ以上の結果オペランドをメモリに書込むとき
、オペランドは任意の順序で自込むことができる。
から読取らなければならないとき、オペランドは任意の
順序で読取ることができる。同様に、命令を実行するた
めに、2つ以上の結果オペランドをメモリに書込むとき
、オペランドは任意の順序で自込むことができる。
CPU(1G)は、それまでの全ての命令が完全に取出
された後にのみ、命令の取出しを開始する。しかし、C
PU(10)は、前の命令に対する全ての原始オペラン
ドが読取られ、結果が書込まれる前に、命令の取出しを
開始することがある。
された後にのみ、命令の取出しを開始する。しかし、C
PU(10)は、前の命令に対する全ての原始オペラン
ドが読取られ、結果が書込まれる前に、命令の取出しを
開始することがある。
CPU(10)は、それまでの全ての命令が取出され、
その原始オペランドが読取られた後にのみ、成る命令に
対する原始オペランドの読取を開始する。
その原始オペランドが読取られた後にのみ、成る命令に
対する原始オペランドの読取を開始する。
命令に対する原始オペランドは、原始オペランドの値が
まだ書込まれていない結果に依存するときを除いて、前
の命令の全ての結果が書込まれる前に読取ることができ
る。CPU(10)が、原始オペランドの実アドレスお
よび長さを、まだ書込まれていない結果があれば、その
結果のアドレスおよび長さと比較し、原始オペランドが
依存性を持つ全ての結果の書込みの後まで、原始オペラ
ンドの読取を遅らせる。
まだ書込まれていない結果に依存するときを除いて、前
の命令の全ての結果が書込まれる前に読取ることができ
る。CPU(10)が、原始オペランドの実アドレスお
よび長さを、まだ書込まれていない結果があれば、その
結果のアドレスおよび長さと比較し、原始オペランドが
依存性を持つ全ての結果の書込みの後まで、原始オペラ
ンドの読取を遅らせる。
更に、CPU(10)がメモリ・マップ形周辺ボートに
ある原始オペランドを同定し、メモリ・マップ形周辺ボ
ート向けのそれまでの全ての結果が書込まれる後まで、
こういうオペランドの読取を遅らせる。侵で説明するが
、この発明では、特別の処理手順により、メモリ・マッ
プ形I10ボートに対する読取および書込み参照が、常
にプログラムが含意する順序で行なわれることを保証す
る。
ある原始オペランドを同定し、メモリ・マップ形周辺ボ
ート向けのそれまでの全ての結果が書込まれる後まで、
こういうオペランドの読取を遅らせる。侵で説明するが
、この発明では、特別の処理手順により、メモリ・マッ
プ形I10ボートに対する読取および書込み参照が、常
にプログラムが含意する順序で行なわれることを保証す
る。
CPt1(10)は、それまでの命令の全ての結果が書
込まれた後にのみ、命令に対する結果オペランドの書込
みを開始する。
込まれた後にのみ、命令に対する結果オペランドの書込
みを開始する。
いくつかの命令に対する動作をオーバラップする結果と
して、CPU(10)は、その命令を実行しないが(例
えば、前の命令がトラップを生じた場合)、命令を取出
し、その原始オペランドを読取ることができる。しかし
、成る命令に対する原始オペランドがメモリ・マップ形
周辺ボートにあることをCPt1(1G)が同定すると
、命令が実行される場合にのみ、原始オペランドを読取
る。
して、CPU(10)は、その命令を実行しないが(例
えば、前の命令がトラップを生じた場合)、命令を取出
し、その原始オペランドを読取ることができる。しかし
、成る命令に対する原始オペランドがメモリ・マップ形
周辺ボートにあることをCPt1(1G)が同定すると
、命令が実行される場合にのみ、原始オペランドを読取
る。
CPU(10)は、命令の取出しと前の命令の結果の書
込みとの間の依存性を検査しない。このため、所期の通
りに実行するためには、自己修正コードを特別に扱わな
ければならない。
込みとの間の依存性を検査しない。このため、所期の通
りに実行するためには、自己修正コードを特別に扱わな
ければならない。
前に述べたよ゛うに、成る周辺装置の特性およびCPU
(10)のパイプライン(12)で命令の実行がオーバ
ラップすることにより、メモリ・マップ形110参照に
は特別の扱いを適用することが必要であ。
(10)のパイプライン(12)で命令の実行がオーバ
ラップすることにより、メモリ・マップ形110参照に
は特別の扱いを適用することが必要であ。
I10参照は、重要な2通りの点で、メモリ参照と異な
り1次の条件が課せられる。
り1次の条件が課せられる。
1、周辺ボートから読取ることは、同じボートに対する
次の参照時に読取られる値を変えることがあり、これは
「破壊的な読取」と呼ばれる特性である。例えば、直列
形通信制御装置およびFIFOメモリは普通このように
動作する。前に説明したように、CPt1(10)は、
前の命令が実行されている間、別の命令に対する原始オ
ペランドを読取ることができる。前の命令によってトラ
ップが生ずるかもしれないし、割込みが確認されるかも
しれないし、或いはその他の形で制御の流れが変更され
るかもしれないので、命令の実行に先立って原始オペラ
ンドの破壊的な読取を避けることが必要条件である。
次の参照時に読取られる値を変えることがあり、これは
「破壊的な読取」と呼ばれる特性である。例えば、直列
形通信制御装置およびFIFOメモリは普通このように
動作する。前に説明したように、CPt1(10)は、
前の命令が実行されている間、別の命令に対する原始オ
ペランドを読取ることができる。前の命令によってトラ
ップが生ずるかもしれないし、割込みが確認されるかも
しれないし、或いはその他の形で制御の流れが変更され
るかもしれないので、命令の実行に先立って原始オペラ
ンドの破壊的な読取を避けることが必要条件である。
2)周辺ボートに古込むことは、異なる周辺ボートから
読取られる値を変えるおそれがあり、これは「書込みの
副作用」と呼ばれる特性である。
読取られる値を変えるおそれがあり、これは「書込みの
副作用」と呼ばれる特性である。
例えば、ICU(24)からカウンタの値を読取る前に
、別の制御レジスタに占込むことにより、その値を凍結
することが先づ必要である。しかし、前に説明したよう
に、そのアドレスが読取および書込み参照の間の依存性
を示さなければ、前の命令の結果を占込む前に、CPU
(10)が別の命令の原始オペランドを読取ることがで
きる。
、別の制御レジスタに占込むことにより、その値を凍結
することが先づ必要である。しかし、前に説明したよう
に、そのアドレスが読取および書込み参照の間の依存性
を示さなければ、前の命令の結果を占込む前に、CPU
(10)が別の命令の原始オペランドを読取ることがで
きる。
従って、書込みの副作用を持つ周辺装置に対する読取お
よび書込み参照は、命令が実行される順序で行なわれる
ことが必要条件である。
よび書込み参照は、命令が実行される順序で行なわれる
ことが必要条件である。
CPU(10)がメモリ・マップ形I/Oを処理する2
つの方法を支援する。第1の方法は、この発明の方法で
あって、上に述べた両方の条件を満たし、メ七り・マツ
プ形周辺装置の場所に何の制約も加えない。第2の方法
は、戒込みの副作用に対する条件だけを満たし、メモリ
・マップ形I10装置の場所を制限するが、破壊的な読
取ボートを持たない装置にとっては一層効率がよい。
つの方法を支援する。第1の方法は、この発明の方法で
あって、上に述べた両方の条件を満たし、メ七り・マツ
プ形周辺装置の場所に何の制約も加えない。第2の方法
は、戒込みの副作用に対する条件だけを満たし、メモリ
・マップ形I10装置の場所を制限するが、破壊的な読
取ボートを持たない装置にとっては一層効率がよい。
メモリ・マップ形I/Oを処理するこの発明の方法は、
システム・インターフェースに2つの信号を用いる。C
PU(10)が読取バス・サイクルを発生するとき、前
に記したI10条件の何れかが満たされない場合、それ
がr10禁止出力信号101NHを作動Jる。叩ち、命
令を実行するのに先立って、または前の命令からの書込
みの係属中に、読取が起コル場合、CPU(10)がl
0INHヲ作動スル。更に、参照が、破壊的な読取また
は書込みの副作用を持つボートを用いた周辺装置に対す
るものであるとき、I10復号入力信号l0DECが作
動される。
システム・インターフェースに2つの信号を用いる。C
PU(10)が読取バス・サイクルを発生するとき、前
に記したI10条件の何れかが満たされない場合、それ
がr10禁止出力信号101NHを作動Jる。叩ち、命
令を実行するのに先立って、または前の命令からの書込
みの係属中に、読取が起コル場合、CPU(10)がl
0INHヲ作動スル。更に、参照が、破壊的な読取また
は書込みの副作用を持つボートを用いた周辺装置に対す
るものであるとき、I10復号入力信号l0DECが作
動される。
1018I+出力信号も作動状態である間に、l0DE
C入力信号が作動状態であることをCPU(10)が検
出すると、バス・サイクルの間に読取られたデータを廃
棄し、次に述べるように、命令の実行を直列化する。c
pu(io)が再び読取バス・サイクルを発生し、今度
はIloの条件を満たし、l0INII出力を不作動状
態に駆動する。
C入力信号が作動状態であることをCPU(10)が検
出すると、バス・サイクルの間に読取られたデータを廃
棄し、次に述べるように、命令の実行を直列化する。c
pu(io)が再び読取バス・サイクルを発生し、今度
はIloの条件を満たし、l0INII出力を不作動状
態に駆動する。
メモリ・マップ型r/Oを処理する第2の方法は、仮想
メモリの専用領域を使う。CPu(10)は、包括的に
FF0OOOOO(16進)乃至FFFFFFFF (
16進)の間の仮想アドレスが、メモリ・マップ形11
0用であることを確認する。メモリ・マップ形I10で
あると確認された場所に対する書込みの係属中、CPu
(10)は、やはりメモリ・マップ形I10と確認され
たあらゆる場所からの読取を遅らせる。しかし、CPU
(10)は、メモリ・マップ形I10位置に対する書込
みの係属中、普通のメモリ位置、すなわちFF0OOO
OO(16進)未満のアドレスを持つメモリ位置から読
取ることができる。同様に、6通のメモリ位置に対する
占込みの係属中、CPU(10)はメモリ・マップ形I
10の場所から読取ることかで・きる。
メモリの専用領域を使う。CPu(10)は、包括的に
FF0OOOOO(16進)乃至FFFFFFFF (
16進)の間の仮想アドレスが、メモリ・マップ形11
0用であることを確認する。メモリ・マップ形I10で
あると確認された場所に対する書込みの係属中、CPu
(10)は、やはりメモリ・マップ形I10と確認され
たあらゆる場所からの読取を遅らせる。しかし、CPU
(10)は、メモリ・マップ形I10位置に対する書込
みの係属中、普通のメモリ位置、すなわちFF0OOO
OO(16進)未満のアドレスを持つメモリ位置から読
取ることができる。同様に、6通のメモリ位置に対する
占込みの係属中、CPU(10)はメモリ・マップ形I
10の場所から読取ることかで・きる。
前に述べたように、l0DEC入力およびl0INI+
出力の両方が作動状態であるような成る情況では、CP
U(10)が命令の実行を直列化する。命令の実行を直
列化することは、CPU(10)がそれまでの全ての命
令の結果のメモリに対する書込みを完了し、その接法の
命令を取出して実行J゛ることを意味する。このため、
適当な命令を実行することによって、新しい値がプログ
ラム状態レジスタにロードされたとき、新しいプログラ
ム状態レジスタの値が、次の命令を取出して実行するた
めに使われる特権状態を決定する。
出力の両方が作動状態であるような成る情況では、CP
U(10)が命令の実行を直列化する。命令の実行を直
列化することは、CPU(10)がそれまでの全ての命
令の結果のメモリに対する書込みを完了し、その接法の
命令を取出して実行J゛ることを意味する。このため、
適当な命令を実行することによって、新しい値がプログ
ラム状態レジスタにロードされたとき、新しいプログラ
ム状態レジスタの値が、次の命令を取出して実行するた
めに使われる特権状態を決定する。
アドレス装置および実行装置f(30)、 (32)は
、命令1個当り2サイクルのピーク速度で命令を処理す
ることができる。ローダは命令1個当り1サイクルのピ
ーク速度で命令を処理することができ、従って、アドレ
ス装置(30)および実行装置(32)に対して着実に
命令を供給するのが典型的である。
、命令1個当り2サイクルのピーク速度で命令を処理す
ることができる。ローダは命令1個当り1サイクルのピ
ーク速度で命令を処理することができ、従って、アドレ
ス装置(30)および実行装置(32)に対して着実に
命令を供給するのが典型的である。
ローダ(28)は、ブランチ命令または命令キャッシュ
のミスのために、命令ストリームにl! jyツブが生
じたときだけ、命令パイプライン(12)のスルーブツ
トを壊す。
のミスのために、命令ストリームにl! jyツブが生
じたときだけ、命令パイプライン(12)のスルーブツ
トを壊す。
第14図はアドレス装置(30)および実行装置(32
)によるメモリからレジスタへの2つの命令の実行を示
す。cpu(1o)は、大抵の普通の命令に対し、2ザ
イクルの実行速度を保つことができ、典型的には次の場
合にだけ、遅延を伴う。
)によるメモリからレジスタへの2つの命令の実行を示
す。cpu(1o)は、大抵の普通の命令に対し、2ザ
イクルの実行速度を保つことができ、典型的には次の場
合にだけ、遅延を伴う。
1、キャッシュおよび変換バッファのミスおよび調整さ
れていない参照による記憶遅延。
れていない参照による記憶遅延。
2)命令パイプライン(12)の段の間でのリソースの
コンテンションシ 3、ブランチ命令およびその他の非逐次的な命令の取出
し。
コンテンションシ 3、ブランチ命令およびその他の非逐次的な命令の取出
し。
4、位取りした指標のような複雑なアドレス・[−ドお
よび除算のような複雑な動作。
よび除算のような複雑な動作。
第15図はパイプライン(12)のタイミングに対する
データ・キャッシュ(16)のミスの影響を示す。
データ・キャッシュ(16)のミスの影響を示す。
実行装置(32)は、BIU(20)がデータを読取る
バス・サイクルを完了するまで、2サイクル涯延する。
バス・サイクルを完了するまで、2サイクル涯延する。
第16図はパイプライン(12)のタイミングに対する
アドレス・レジスタのインターロックのfl YWを示
す。1つの命令がレジスタを修正しており、次の命令が
アドレス計算のためにそのレジスタを使う。実行装置(
32)がレジスタの更新を完了するまで、アドレス装f
fl (30)は3サイクル遅延する。2番目の命令が
アドレス計算以外のデータの値のためにレジスタを使う
場合(例えば、ADD口RO,R1)、実行装置(32
)にある側路回路を使って、パイプライン(12)の遅
延を避ける。
アドレス・レジスタのインターロックのfl YWを示
す。1つの命令がレジスタを修正しており、次の命令が
アドレス計算のためにそのレジスタを使う。実行装置(
32)がレジスタの更新を完了するまで、アドレス装f
fl (30)は3サイクル遅延する。2番目の命令が
アドレス計算以外のデータの値のためにレジスタを使う
場合(例えば、ADD口RO,R1)、実行装置(32
)にある側路回路を使って、パイプライン(12)の遅
延を避ける。
ローダ(28)はブランチ命令を処理するための特別の
回路を持っている。ブランチ命令が復号されると、ロー
ダ(28)が宛先アドレスを計算し、逐次形および非逐
次形命令ストリームの何れかを選択する。この選択は、
ブランチ命令の条件および方向に基づく。ブランチ命令
が採用されるとローダ(28)が予測すると、宛先アド
レスがJBUSを介して命令キャッシュ(14)に転送
される。ブランチ命令が採用されると予測されてもされ
なくても、ローダ(28)は交代的な命令ストリームの
アドレスを保管する。後でブランチ命令が実行装!f(
32)に達し、そこで条件を解く。実行装置(32)は
、ブランチ命令が採用されたかどうかをローダ(28)
に知らせる。ブランチ命令の予測が正しくなかった場合
、パイプライン(12)がフラッシュし、命令キャッシ
ュ(14)は正しいストリングからの命令の予備取出し
を開始する。
回路を持っている。ブランチ命令が復号されると、ロー
ダ(28)が宛先アドレスを計算し、逐次形および非逐
次形命令ストリームの何れかを選択する。この選択は、
ブランチ命令の条件および方向に基づく。ブランチ命令
が採用されるとローダ(28)が予測すると、宛先アド
レスがJBUSを介して命令キャッシュ(14)に転送
される。ブランチ命令が採用されると予測されてもされ
なくても、ローダ(28)は交代的な命令ストリームの
アドレスを保管する。後でブランチ命令が実行装!f(
32)に達し、そこで条件を解く。実行装置(32)は
、ブランチ命令が採用されたかどうかをローダ(28)
に知らせる。ブランチ命令の予測が正しくなかった場合
、パイプライン(12)がフラッシュし、命令キャッシ
ュ(14)は正しいストリングからの命令の予備取出し
を開始する。
第17図はブランチ命令が採用されると正しく予測した
効果を示す。ローダ(28)による命令の復号には、2
サイクルのギVツブが起こる。パイプライン(12)の
先頭におけるこのギャップは、完全に復号された1つの
命令がローダ(28)とアドレス装E (30)の間で
バッファ作用を受けているため、ならびにパイプライン
(12)の後の段で同時にこの他の遅延が起こりうるた
め、つまっている場合が多い。
効果を示す。ローダ(28)による命令の復号には、2
サイクルのギVツブが起こる。パイプライン(12)の
先頭におけるこのギャップは、完全に復号された1つの
命令がローダ(28)とアドレス装E (30)の間で
バッファ作用を受けているため、ならびにパイプライン
(12)の後の段で同時にこの他の遅延が起こりうるた
め、つまっている場合が多い。
第18図はブランチ命令の解の予測が不正確である影響
を示す。実行装置(32)で4サイクルのギャップが起
こる。
を示す。実行装置(32)で4サイクルのギャップが起
こる。
CPU(10)の動作に関するこの他の情報は、この出
願と同日に出Il′iされた係属中の米国特許出願に記
載されている。
願と同日に出Il′iされた係属中の米国特許出願に記
載されている。
この発明を実施する時、ここで図示した実施例に種々の
変更を加えることができることを承知されたい。特許請
求の範囲にこの発明が限定されており、この請求範囲に
含まれる構成および方法およびその均等物はこの発明に
属することを承知されたい。
変更を加えることができることを承知されたい。特許請
求の範囲にこの発明が限定されており、この請求範囲に
含まれる構成および方法およびその均等物はこの発明に
属することを承知されたい。
第1図はこの発明に従ってメモリ・マップ形I/Oを検
出して処理する方法を実施づるマイクロプロセッサ・ア
ーキテクチュアを全体的に示す簡略ブロック図、第2図
はマイクロプロセッサのインターフェース信号を示す図
、第3図はマイクロプロセッサの主要な機能装置および
相互接続バスを示す簡略ブロック図、第4図はマイクロ
プロセッサの命令キャッシュの構成を示づ簡略ブロック
図、第5図はマイクロブ[]セセラのデータ・キャッシ
ュの構成を示づ簡略ブロック図、第6図はマイクロブ0
セツサのデータ・キャッシュをアクセスするためのタイ
ミング順序を示1時間線図、第7図はマイクロプロセッ
サのCLに入力およびBIISCLK出力信号の間の関
係を示づ時間線図、第8図はマイクロプロセッサの基本
読取4ノイクルを示す時間線図、第9図はマイクロプロ
セッサの基本回込みサイクルを示す時間線図、第10図
は2持ちサイクルだけ延長した読取サイクルを示す時間
線図、第11図は3回の転送を持ち、マイクロプロセッ
サによって終了させられるバースト読取ナイクルの時間
線図、第12図は2回の転送を持ち、2番目の転送が1
持ち状態だけ延長してあって、マイクロプロセッサによ
って終了させられるバースト読取サイクルの時間線図、
第13図はマイクロプロセッサの4段命令パイプライン
の全体的な構成を示す図、第14図は内部データ・キャ
ッシュのヒツトに対するパイプラインのタイミングを示
す時間線図、第15図は内部データ・キャッシュのミス
に対するパイプラインのタイミングを示J時間線図、第
16図は命令パイプラインのタイミングに対するアドレ
ス・レジスタのインターロックの影響を示す時間線図、
第17図はマイクロプロセッサの動作でブランチ命令が
採用されると正(く予測した効果を示す時間線図、第1
8図はマイクロプロセッサの動作でブランチ命令の解の
予測が正しくなかった影響を示す時間線図である。 1=エロト−3 1Fエロー7 4tlaTiln Tl
n ”nXaT1王コエロト−
8 +d−q丁#’f4− 丁1
n Ti!+$丁重1三13−旧 T2 Tl 竹負4Tし11 丁1 丁】
(持ち) (!Vリ η
又導TIF工UFFr−10 竹tsTU−4Tl n Tel
Tel Tiス18TIIFI口シ−11
゜ 4tlaTA<QT1丁7nenr+)ηI4丁IFI
ロ’r−−12! 1 4′+ ヤ N^2 & Nd N4112/r工C□
−13 入000ポFPI、RO I;工r:Er−14− ADDD 4(FP)、RO ■=エロ?−1,6 Beond Lo−b41 −I: ADDD截FP)、 RO F I [デ・18
出して処理する方法を実施づるマイクロプロセッサ・ア
ーキテクチュアを全体的に示す簡略ブロック図、第2図
はマイクロプロセッサのインターフェース信号を示す図
、第3図はマイクロプロセッサの主要な機能装置および
相互接続バスを示す簡略ブロック図、第4図はマイクロ
プロセッサの命令キャッシュの構成を示づ簡略ブロック
図、第5図はマイクロブ[]セセラのデータ・キャッシ
ュの構成を示づ簡略ブロック図、第6図はマイクロブ0
セツサのデータ・キャッシュをアクセスするためのタイ
ミング順序を示1時間線図、第7図はマイクロプロセッ
サのCLに入力およびBIISCLK出力信号の間の関
係を示づ時間線図、第8図はマイクロプロセッサの基本
読取4ノイクルを示す時間線図、第9図はマイクロプロ
セッサの基本回込みサイクルを示す時間線図、第10図
は2持ちサイクルだけ延長した読取サイクルを示す時間
線図、第11図は3回の転送を持ち、マイクロプロセッ
サによって終了させられるバースト読取ナイクルの時間
線図、第12図は2回の転送を持ち、2番目の転送が1
持ち状態だけ延長してあって、マイクロプロセッサによ
って終了させられるバースト読取サイクルの時間線図、
第13図はマイクロプロセッサの4段命令パイプライン
の全体的な構成を示す図、第14図は内部データ・キャ
ッシュのヒツトに対するパイプラインのタイミングを示
す時間線図、第15図は内部データ・キャッシュのミス
に対するパイプラインのタイミングを示J時間線図、第
16図は命令パイプラインのタイミングに対するアドレ
ス・レジスタのインターロックの影響を示す時間線図、
第17図はマイクロプロセッサの動作でブランチ命令が
採用されると正(く予測した効果を示す時間線図、第1
8図はマイクロプロセッサの動作でブランチ命令の解の
予測が正しくなかった影響を示す時間線図である。 1=エロト−3 1Fエロー7 4tlaTiln Tl
n ”nXaT1王コエロト−
8 +d−q丁#’f4− 丁1
n Ti!+$丁重1三13−旧 T2 Tl 竹負4Tし11 丁1 丁】
(持ち) (!Vリ η
又導TIF工UFFr−10 竹tsTU−4Tl n Tel
Tel Tiス18TIIFI口シ−11
゜ 4tlaTA<QT1丁7nenr+)ηI4丁IFI
ロ’r−−12! 1 4′+ ヤ N^2 & Nd N4112/r工C□
−13 入000ポFPI、RO I;工r:Er−14− ADDD 4(FP)、RO ■=エロ?−1,6 Beond Lo−b41 −I: ADDD截FP)、 RO F I [デ・18
Claims (5)
- (1)パイプライン形の命令処理を実施する形式のデー
タ処理装置において、周辺装置に対する入力/出力読取
参照を検出して処理する手段を有し、このため、命令を
実行する前、または前の命令に対する書込みの係属中に
読取が発生したことを示すために第1の信号を作動し、
周辺装置が破壊的な読取または書込みの副作用のいずれ
かを伴うボートを用いることを示すために第2の信号を
作動し、第1の信号および第2の信号の両方が作動され
た場合、現在のバス・サイクルを無視するデータ処理装
置。 - (2)特許請求の範囲第1項に記載したデータ処理装置
において、バス・サイクルの間に読取ったデータを廃棄
し、命令の実行を直列化する手段を有するデータ処理装
置。 - (3)特許請求の範囲第2項に記載したデータ処理装置
において、第2の信号が不作動である間、読取バス・サ
イクルを再発生して、参照された周辺装置からデータを
読取る手段を有するデータ処理装置。 - (4)パイプライン形の命令処理を実施する形式のデー
タ処理装置で、周辺装置に対する入力/出力読取参照を
検出して処理する方法において、命令を実行するより前
または前の命令に対する書込みの係属中に、読取が起こ
った場合、第1の信号を作動し、参照された周辺装置が
破壊的な読取または書込みの副作用のいずれかを伴うボ
ートを用いる場合に第2の信号を作動し、第1の信号お
よび第2の信号の両方が作動された場合、現在のバス・
サイクイルを無視する工程を含む方法。 - (5)パイプライン形データ処理装置でメモリ・マップ
形I/Oを検出して処理する方法において、データ処理
装置によって発生された読取バス・サイクルに応答して
、読取が命令を実行する前または前の命令に対する書込
みの係属中に起こる場合に、出力信号を発生し、中央処
理装置からの参照が破壊的な読取または書込みの副作用
のいずれかを持つ周辺装置に対するものである時に入力
信号を作動し、前記入力信号および出力信号の両方が作
動状態である時を検出し、バス・サイクルの間に読取っ
たデータを廃棄し、命令の実行を直列化し、命令を実行
するより前の原始オペランドの破壊的な読取が起こらず
、書込みの副作用を持つ周辺装置に対する読取および書
込みの参照が、命令が実行される順序でだけ行なわれて
、出力信号が不作動に駆動されるという条件を満たす間
、読取バス・サイクルを再発生する工程を含む方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US006,012 | 1979-01-24 | ||
| US07/006,012 US4802085A (en) | 1987-01-22 | 1987-01-22 | Apparatus and method for detecting and handling memory-mapped I/O by a pipelined microprocessor |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS63193253A true JPS63193253A (ja) | 1988-08-10 |
Family
ID=21718849
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63011831A Pending JPS63193253A (ja) | 1987-01-22 | 1988-01-21 | データ処理装置及び方法 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US4802085A (ja) |
| JP (1) | JPS63193253A (ja) |
| DE (1) | DE3801361A1 (ja) |
| GB (1) | GB2200484B (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5948912A (en) * | 1995-02-15 | 1999-09-07 | Neurogen Corporation | Certain bridged 4-phenyl-2-aminomethylimidazoles; new dopamine receptor subtype specific ligands |
| US6211366B1 (en) * | 1995-02-15 | 2001-04-03 | Neurogen Corporation | Bridged 4-phenyl-2-aminomethylimidazoles |
Families Citing this family (48)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS63240650A (ja) * | 1987-03-28 | 1988-10-06 | Toshiba Corp | キヤツシユメモリ装置 |
| US5155822A (en) * | 1987-08-13 | 1992-10-13 | Digital Equipment Corporation | High performance graphics workstation |
| US5029124A (en) * | 1988-05-17 | 1991-07-02 | Digital Equipment Corporation | Method and apparatus for providing high speed parallel transfer of bursts of data |
| US5073969A (en) * | 1988-08-01 | 1991-12-17 | Intel Corporation | Microprocessor bus interface unit which changes scheduled data transfer indications upon sensing change in enable signals before receiving ready signal |
| US5101341A (en) * | 1988-08-25 | 1992-03-31 | Edgcore Technology, Inc. | Pipelined system for reducing instruction access time by accumulating predecoded instruction bits a FIFO |
| US5123097A (en) * | 1989-01-05 | 1992-06-16 | Bull Hn Information Systems Inc. | Apparatus and method for simultaneous execution of a write instruction and a succeeding read instruction in a data processing system with a store through cache strategy |
| CA1325288C (en) * | 1989-02-03 | 1993-12-14 | Ricky C. Hetherington | Method and apparatus for controlling the conversion of virtual to physical memory addresses in a digital computer system |
| US5060144A (en) * | 1989-03-16 | 1991-10-22 | Unisys Corporation | Locking control with validity status indication for a multi-host processor system that utilizes a record lock processor and a cache memory for each host processor |
| US5146582A (en) * | 1989-06-19 | 1992-09-08 | International Business Machines Corp. | Data processing system with means to convert burst operations into memory pipelined operations |
| US5185694A (en) * | 1989-06-26 | 1993-02-09 | Motorola, Inc. | Data processing system utilizes block move instruction for burst transferring blocks of data entries where width of data blocks varies |
| CA2066440A1 (en) * | 1989-09-08 | 1991-03-09 | Daryl D. Starr | Vmebus protocol utilizing pseudosynchronous handshaking and block mode data transfer |
| JP2509344B2 (ja) * | 1989-09-19 | 1996-06-19 | 富士通株式会社 | デ―タ処理装置 |
| US5253353A (en) * | 1990-01-02 | 1993-10-12 | Digital Equipment Corporation | System and method for efficiently supporting access to I/O devices through large direct-mapped data caches |
| DE69123987T2 (de) * | 1990-01-31 | 1997-04-30 | Hewlett Packard Co | Stossbetrieb für Mikroprozessor mit externem Systemspeicher |
| JPH03248244A (ja) * | 1990-02-27 | 1991-11-06 | Toshiba Corp | キャッシュメモリを備えたプロセッサ |
| DE69129872T2 (de) * | 1990-03-27 | 1999-03-04 | Philips Electronics N.V., Eindhoven | Datenverarbeitungssystem mit einem leistungsverbessernden Befehlscachespeicher |
| US5249286A (en) * | 1990-05-29 | 1993-09-28 | National Semiconductor Corporation | Selectively locking memory locations within a microprocessor's on-chip cache |
| US5355469A (en) * | 1990-07-30 | 1994-10-11 | Delphi Data, A Division Of Sparks Industries, Inc. | Method for detecting program errors |
| JP2708943B2 (ja) * | 1990-08-08 | 1998-02-04 | 三菱電機株式会社 | キャッシュメモリ制御装置 |
| US5276852A (en) * | 1990-10-01 | 1994-01-04 | Digital Equipment Corporation | Method and apparatus for controlling a processor bus used by multiple processor components during writeback cache transactions |
| IE860318L (en) * | 1990-10-01 | 1986-08-05 | Digital Equipment Corp | System bus for a multi-cache data processing system |
| US5412787A (en) * | 1990-11-21 | 1995-05-02 | Hewlett-Packard Company | Two-level TLB having the second level TLB implemented in cache tag RAMs |
| JP2646854B2 (ja) * | 1990-12-18 | 1997-08-27 | 三菱電機株式会社 | マイクロプロセッサ |
| GB2256512B (en) * | 1991-06-04 | 1995-03-15 | Intel Corp | Second level cache controller unit and system |
| US5392417A (en) * | 1991-06-05 | 1995-02-21 | Intel Corporation | Processor cycle tracking in a controller for two-way set associative cache |
| US5319760A (en) * | 1991-06-28 | 1994-06-07 | Digital Equipment Corporation | Translation buffer for virtual machines with address space match |
| RO105026B1 (en) * | 1991-10-10 | 1993-09-01 | Ion Minca | Network structure for parallel processing of calcullation programs |
| US5465342A (en) * | 1992-12-22 | 1995-11-07 | International Business Machines Corporation | Dynamically adaptive set associativity for cache memories |
| JP3454294B2 (ja) * | 1994-06-20 | 2003-10-06 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチプル・バス情報処理システム及びブリッジ回路 |
| US5649137A (en) * | 1994-10-20 | 1997-07-15 | Advanced Micro Devices, Inc. | Method and apparatus for store-into-instruction-stream detection and maintaining branch prediction cache consistency |
| US5911151A (en) * | 1996-04-10 | 1999-06-08 | Motorola, Inc. | Optimizing block-sized operand movement utilizing standard instructions |
| US6336158B1 (en) * | 1998-10-30 | 2002-01-01 | Intel Corporation | Memory based I/O decode arrangement, and system and method using the same |
| US6463521B1 (en) * | 1999-06-23 | 2002-10-08 | Sun Microsystems, Inc. | Opcode numbering for meta-data encoding |
| US6836828B2 (en) * | 2002-04-03 | 2004-12-28 | Faraday Technology Corp. | Instruction cache apparatus and method capable of increasing a instruction hit rate and improving instruction access efficiency |
| GB2406265A (en) * | 2003-09-23 | 2005-03-30 | Richard Taylor | A buoyant keyring or key fob |
| US7965771B2 (en) | 2006-02-27 | 2011-06-21 | Cisco Technology, Inc. | Method and apparatus for immediate display of multicast IPTV over a bandwidth constrained network |
| US8218654B2 (en) * | 2006-03-08 | 2012-07-10 | Cisco Technology, Inc. | Method for reducing channel change startup delays for multicast digital video streams |
| US8031701B2 (en) | 2006-09-11 | 2011-10-04 | Cisco Technology, Inc. | Retransmission-based stream repair and stream join |
| US7873770B2 (en) | 2006-11-13 | 2011-01-18 | Globalfoundries Inc. | Filtering and remapping interrupts |
| US7849287B2 (en) | 2006-11-13 | 2010-12-07 | Advanced Micro Devices, Inc. | Efficiently controlling special memory mapped system accesses |
| US7937531B2 (en) * | 2007-02-01 | 2011-05-03 | Cisco Technology, Inc. | Regularly occurring write back scheme for cache soft error reduction |
| US8769591B2 (en) * | 2007-02-12 | 2014-07-01 | Cisco Technology, Inc. | Fast channel change on a bandwidth constrained network |
| US7940644B2 (en) * | 2007-03-14 | 2011-05-10 | Cisco Technology, Inc. | Unified transmission scheme for media stream redundancy |
| US20080253369A1 (en) * | 2007-04-16 | 2008-10-16 | Cisco Technology, Inc. | Monitoring and correcting upstream packet loss |
| US8787153B2 (en) * | 2008-02-10 | 2014-07-22 | Cisco Technology, Inc. | Forward error correction based data recovery with path diversity |
| US20110063749A1 (en) * | 2009-09-14 | 2011-03-17 | Tzu-Chen Liu | Dual-port hard-disk storage device |
| US9168946B2 (en) * | 2010-03-19 | 2015-10-27 | Javad Gnss, Inc. | Method for generating offset paths for ground vehicles |
| US8631212B2 (en) | 2011-09-25 | 2014-01-14 | Advanced Micro Devices, Inc. | Input/output memory management unit with protection mode for preventing memory access by I/O devices |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5440537A (en) * | 1977-09-07 | 1979-03-30 | Hitachi Ltd | Pipeline control system |
| US4371927A (en) * | 1977-11-22 | 1983-02-01 | Honeywell Information Systems Inc. | Data processing system programmable pre-read capability |
| US4305124A (en) * | 1978-06-09 | 1981-12-08 | Ncr Corporation | Pipelined computer |
| JPS5858653A (ja) * | 1981-10-02 | 1983-04-07 | Hitachi Ltd | デ−タ処理装置 |
| JPS593774A (ja) * | 1982-06-30 | 1984-01-10 | Fujitsu Ltd | アクセス処理方式 |
| US4498136A (en) * | 1982-12-15 | 1985-02-05 | Ibm Corporation | Interrupt processor |
-
1987
- 1987-01-22 US US07/006,012 patent/US4802085A/en not_active Expired - Lifetime
- 1987-12-16 GB GB8729327A patent/GB2200484B/en not_active Expired - Fee Related
-
1988
- 1988-01-19 DE DE3801361A patent/DE3801361A1/de not_active Withdrawn
- 1988-01-21 JP JP63011831A patent/JPS63193253A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5948912A (en) * | 1995-02-15 | 1999-09-07 | Neurogen Corporation | Certain bridged 4-phenyl-2-aminomethylimidazoles; new dopamine receptor subtype specific ligands |
| US6211366B1 (en) * | 1995-02-15 | 2001-04-03 | Neurogen Corporation | Bridged 4-phenyl-2-aminomethylimidazoles |
Also Published As
| Publication number | Publication date |
|---|---|
| DE3801361A1 (de) | 1988-08-04 |
| GB8729327D0 (en) | 1988-01-27 |
| GB2200484A (en) | 1988-08-03 |
| GB2200484B (en) | 1991-06-26 |
| US4802085A (en) | 1989-01-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS63193253A (ja) | データ処理装置及び方法 | |
| US5375216A (en) | Apparatus and method for optimizing performance of a cache memory in a data processing system | |
| US4701844A (en) | Dual cache for independent prefetch and execution units | |
| US5857094A (en) | In-circuit emulator for emulating native clustruction execution of a microprocessor | |
| US5479616A (en) | Exception handling for prefetched instruction bytes using valid bits to identify instructions that will cause an exception | |
| US5263153A (en) | Monitoring control flow in a microprocessor | |
| US5560036A (en) | Data processing having incircuit emulation function | |
| US5481734A (en) | Data processor having 2n bits width data bus for context switching function | |
| US5680564A (en) | Pipelined processor with two tier prefetch buffer structure and method with bypass | |
| US5249286A (en) | Selectively locking memory locations within a microprocessor's on-chip cache | |
| US5347636A (en) | Data processor which efficiently accesses main memory and input/output devices | |
| US5634027A (en) | Cache memory system for multiple processors with collectively arranged cache tag memories | |
| JPS63193230A (ja) | 高性能マイクロプロセッサ集積回路とメモリ参照を行なう方法 | |
| JP3707581B2 (ja) | 自己整合スタック・ポインタを有するデータ処理システムおよびその方法 | |
| US5752273A (en) | Apparatus and method for efficiently determining addresses for misaligned data stored in memory | |
| US5619663A (en) | Computer instruction prefetch system | |
| JPS63193239A (ja) | 命令順序監視装置と方法 | |
| JPS63193246A (ja) | 集積キャッシュ・メモリと外部メモリの間の一貫性を保つ方法と装置 | |
| US5455925A (en) | Data processing device for maintaining coherency of data stored in main memory, external cache memory and internal cache memory | |
| US6738837B1 (en) | Digital system with split transaction memory access | |
| JPS62102344A (ja) | バツフア・メモリ制御方式 | |
| US6209083B1 (en) | Processor having selectable exception handling modes | |
| KR19990003937A (ko) | 프리페치 장치 | |
| US4737908A (en) | Buffer memory control system | |
| EP0156307A2 (en) | Pipelined processor having dual cache memories |