JPH07281914A - マイクロシーケンサバス制御装置サブシステム - Google Patents
マイクロシーケンサバス制御装置サブシステムInfo
- Publication number
- JPH07281914A JPH07281914A JP6319558A JP31955894A JPH07281914A JP H07281914 A JPH07281914 A JP H07281914A JP 6319558 A JP6319558 A JP 6319558A JP 31955894 A JP31955894 A JP 31955894A JP H07281914 A JPH07281914 A JP H07281914A
- Authority
- JP
- Japan
- Prior art keywords
- bus controller
- microprocessor
- instruction
- stations
- station
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/1637—Error detection by comparing the output of redundant processing systems using additional compare functionality in one or some but not all of the redundant processing components
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1608—Error detection by comparing the output signals of redundant hardware
- G06F11/1625—Error detection by comparing the output signals of redundant hardware in communications, e.g. transmission, interfaces
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
- G06F9/30038—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask
-
- 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/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Multi Processors (AREA)
- Hardware Redundancy (AREA)
Abstract
イを柔軟かつ効率的に制御するためのマイクロシーケン
サバス制御装置システムを提供する。 【構成】 システムの初期設定時にロードされる制御記
憶メモリが、双方向バスを介して複数のステーションと
インタフェースするデュアル縮小命令セット(RIS
C)マイクロプロセッサ(220、222)によって同
時に実行される固定長命令を保持する。マスタマイクロ
プロセッサ(220)は、各命令の処理の結果をスレー
ブマイクロプロセッサ(222)の結果と比較して相違
を検出し、それによってエラー待ち時間を最小限にす
る。マスタおよびスレーブマイクロプロセッサは、各々
バスに接続されたステーションの半分を制御する。32
ビットおよび36ビットワードのデータ幅が、マイクロ
プロセッサ、バス、およびステーションによってサポー
トされる。
Description
ピュータシステムに関する。より特定的には、この発明
は、専用超LSI(VLSI)ゲートアレイを制御する
ために固定長の命令を用いる、マルチプロセッサの縮小
命令セットコンピュータ(RISC)システムに関す
る。
処理能力を増すために、複数の演算処理装置から構成さ
れる。これらのプログラマブルプロセッサはVLSIゲ
ートアレイのようなハードワイヤロジックと相互作用し
なければならないことがしばしばある。そのようなハー
ドウェアは増大した速度能力を与えるため、複雑なコン
ピュータシステムの幾つかの機能はこのハードウェアに
よって果たされる。しかし、ソフトウェアまたはファー
ムウェアは柔軟性を提供するので、他の機能はソフトウ
ェアまたはファームウェアにおいてより良く実現される
であろう。ともにユニシス・コーポレイション(Unisys
Corporation)から入手可能である2200シリーズコ
ンピュータシステムとともに動作するよう設計されるフ
ァイルキャッシュシステムであるエクステンディッドプ
ロセシングコンプレックスのような大型コンピュータシ
ステムにおいては、組込まれるサブシステムの幾つかの
能力はハードウェアとソフトウェア/ファームウェアの
組合せにおいて実現される。これらのサブシステムはよ
り大型のシステムの構成要素として必要な機能を果た
す。サブシステムの必要条件を効率よく満たすために、
これらのサブシステムはハードウェアの増加した速度の
実現をプログラミングの柔軟性のある性質と組合せる。
とってさらに重要である。エラーがシステム全体に広が
って極めて重要なデータを恐らくは破壊するであろう前
に、できるだけ早い時期に、処理中に起こるいかなるエ
ラーをもこれらのサブシステムは検出しなければならな
い。増大した障害検出能力に合わせて、検出されるいか
なる障害も報告されるよう、サブシステムはサブシステ
ムが組込まれるより大型のコンピュータシステムのシス
テム保守機能と通信する必要がある。インテルX86シ
リーズまたはモトローラ68000シリーズのマイクロ
プロセッサのような市販のマイクロプロセッサは独自の
システム保守機能を容易にサポートしないため、エラー
潜伏時間を最小限にするのみならずより大型のシステム
内の他の機能によって容易に処理される態様でエラーを
報告する、カスタムマイクロプロセッサベースのサブシ
ステムが必要となる。
32ビットまたは36ビットデータ語のどちらも処理可
能でなければならない。インテルX86シリーズおよび
モトローラ68000シリーズマイクロプロセッサは3
2ビットワードで動作するため、このサブシステムと相
互作用しなければならない2200シリーズコンピュー
タによってサポートされる36ビットデータ語を処理す
るのには適さない。この発明に用いられるマイクロプロ
セッサは外部ピンをセットすることによって32ビット
または36ビットのいずれの動作モード用にも構成可能
でなければならない。
スのシステムは、要求されるスピードを満たすことを必
要とし、開発コストを最小限にするために単純なロジッ
クを含まなければならない。縮小命令セットコンピュー
タ(RISC)はこれらの要求を満たす。RISCプロ
セッサは命令デコードおよび実行時間を最小限にする非
常に基本的な命令の小さなセットを実現する。RISC
プロセッサは1つまたは2つのオペランドのみをサポー
トする固定長の命令で動作する。命令セットの単純さの
ゆえに、RISCプロセッサの論理設計はマイクロプロ
グラム化よりもむしろハードワイヤによるものである。
このようにして、プロセッサの全体のスピードが改善さ
れる。
タ処理システムのための新規な構成は上述の必要条件を
満たし、かつ既存の先行技術のマイクロプロセッサおよ
びコンピュータアーキテクチャを用いることに固有の問
題を回避する。
専用ゲートアレイと外部装置またはシステムとの間およ
び専用ゲートアレイ間でデータを転送するよう意図され
る専用ゲートアレイの動作を効率的に制御することであ
る。
プロセッサベースのシステムにおいて32ビットまたは
36ビットのどちらのデータ語も処理することである。
シンをマイクロプロセッサとして用いることによってシ
ステムでのデータ転送速度を増すことである。
専用ゲートアレイを制御するよう同じ命令ストリームを
同時に実行するデュアルRISCマイクロプロセッサを
用いることにより、マスタおよびスレーブマイクロプロ
セッサが各々の動作の結果を比較していかなるエラーを
も検出することによって、RISCマイクロプロセッサ
ベースのシステムにおける障害検出能力を向上させるこ
とである。
ハードウェア設計の残りの部分に影響することなく、新
しい機能性を与える専用ゲートアレイの修正または置換
を可能にすることである。
組込まれるより大型のコンピュータシステムのテストお
よび保守の要求をサポートすることである。
な特徴は、一部は以下の説明において述べられ、一部は
以下の説明を考察すれば当業者には明らかとなるかまた
は発明の実施によって理解されるであろう。この発明の
目的および利点は、前掲の特許請求の範囲に特に指摘さ
れる手段および組合せによって実現され達成されるであ
ろう。
ならびに利点は、増大されたシステムのスループット、
より優れかつより早い時期での障害検出能力、増大され
たシステムの柔軟性およびこの発明が組込まれるより大
型のコンピュータシステムに固有のシステム保守特性へ
のアクセスを与える改善されたマイクロプロセッサアー
キテクチャによって達成される。この発明は、ファイル
キャッシュシステムであるエクステンディッドプロセシ
ングコンプレックスのようなより大型のコンピュータシ
ステムに組込まれる他のサブシステムと結合されるよう
設計されるマイクロシーケンサバス制御装置システムで
ある。
ータシステムに組込まれる他のサブシステムと結合され
るよう設計されるシステムは、予め定められた命令を記
憶するアドレス指定可能メモリを含む制御記憶を含む。
第1および第2のマイクロプロセッサは制御記憶に結合
され、各々は制御記憶からフェッチされた命令を並行し
て同時に実行するよう機能する。第1のマイクロプロセ
ッサは、いずれかのマイクロプロセッサに起こるエラー
をできるだけ早い時期に検出するために、その各命令の
実行の結果を第2のマイクロプロセッサによる各命令の
実行の結果と比較する。第1および第2のプロセッサが
ステーションと呼ばれる複数の専用ゲートアレイを制御
できるよう双方向バスが設けられる。第1のマイクロプ
ロセッサはステーションの幾つかを制御し、第2のマイ
クロプロセッサは残りのステーションを制御する。各ス
テーションは、他のステーションまたは他のサブシステ
ムへ、および他のステーションまたは他のサブシステム
から、データを転送してもよい。双方向バスで転送され
第1および第2のマイクロプロセッサによって処理され
るデータ語のサイズは32ビットまたは36ビットのど
ちらでもよい。第1および第2のマイクロプロセッサは
縮小命令セットコンピュータであり、したがってより短
い命令デコード時間および単純化された処理論理によっ
て、増大された命令処理速度が提供される。
ンを制御する機構が制御記憶メモリに記憶される同じ命
令を並行して同時に実行する第1および第2のマイクロ
プロセッサを含む、双方向バスによって互いにおよびコ
ンピュータシステムの他のサブシステムに接続される複
数のステーションを制御するための方法は、制御記憶メ
モリから命令をフェッチするステップと、マイクロプロ
セッサの各々の命令レジスタにそれをロードするステッ
プとを含む。命令は要求されるコマンドとアクセスされ
るよう要求されるステーションとを判断するためにデコ
ードされる。その後、マイクロプロセッサ内部のレジス
タから、マイクロプロセッサ内部のローカル記憶メモリ
から、または双方向バスでオペランドを転送することに
よって、要求されるステーションにあるデジグネータか
ら、命令によって特定されたオペランドをフェッチす
る。次に、要求されるコマンドはマイクロプロセッサに
よって実行され、その結果は内部レジスタ、ローカル記
憶メモリ位置または要求されるステーションにあるデジ
グネータに記憶される。結果が一致しない場合にエラー
を検出するために、第2のマイクロプロセッサによる要
求されたコマンドの実行の結果は第1のマイクロプロセ
ッサによる要求されたコマンドの実行の結果と比較され
る。何らかのエラーが検出された場合マイクロプロセッ
サは停止させられる。そうでない場合は、新しい命令が
制御記憶メモリからフェッチされ、上述したように処理
が継続する。
変幅データ経路を用いる専用ゲートアレイを制御するた
めに用いられるRISCマイクロプロセッサベースのシ
ステムのための改善された障害検出能力を与える。
この発明を実施するのに考えられる限りの最良のモード
の説明のみによってこの発明の好ましい実施例のみを図
示し記載した以下の詳細な説明から、当業者には容易に
明らかとなるであろう。認識されるように、すべてこの
発明から逸脱することなく、この発明は他のおよび異な
る実施例が可能であり、その幾つかの詳細は様々な明ら
かな点において修正可能である。したがって、図面およ
び説明は本質的に例示的なものとして見るべきであって
限定的なものとして見るべきではない。
コンピュータシステムにおいて、複数の制御装置10は
複数の大容量記憶ディスク14へのアクセスを与えるた
めにホストコンピュータ12に結合される。好ましい実
施例において、ホスト12はユニシス・コーポレイショ
ンから入手可能である2200シリーズのコンピュータ
システムである。ホスト12で実行するアプリケーショ
ンおよびシステムソフトウェアは、ディスク14に記憶
されるファイル16A−Hからデータを読出しおよびそ
れらにデータを書込む。ファイル16A−Hはブロック
として示されているが、データは必ずしもディスク14
に連続して記憶されるものではないことを理解された
い。
シュシステム18は、大きく改善されたファイルアクセ
ス時間およびディスク14と同等のデータ損失に対する
弾性を有するホスト12のための中間記憶装置機能を設
ける。すべてのまたは一部の活性化しているファイル1
6は、ファイルキャッシュシステム18の記憶容量なら
びにキャッシュされるべくホスト12のシステムソフト
ウェアによって選択されるファイル16のサイズおよび
数に依って、ファイルキャッシュシステム18に記憶さ
れるであろう。ファイルキャッシュシステム18に記憶
されるファイル16の部分はブロック20A−Hとして
示される。ファイル16のキャッシュされる部分は論議
上ファイルA’、ファイルB’、...、ファイルH’
とラベル付けされる。ファイルA’20AはファイルA
の、ファイルキャッシュシステム18に記憶される部分
であり、ファイルB’20BはファイルBの、ファイル
キャッシュシステム18に記憶される部分であり、その
他も同様である。記憶階層のこのレベルにおけるファイ
ルキャッシュシステムの存在によって、キャッシュされ
ないファイルへの参照の場合に入力/出力(I/O)チ
ャネルプログラムが制御装置10を介して適当なディス
ク14にアクセスするためにホスト12において構成さ
れなければならないのと比較して、キャッシュされたフ
ァイルへの参照をファイルキャッシュシステムへ即座に
送って処理することが可能となる。ファイルキャッシュ
システム18の実現によって、ファイル16を更新する
ために要求が伝わらなければならない経路長が短縮され
る。この短縮された経路長は、ファイルキャッシュシス
テム18の大パワーの処理能力と結合して、ファイルア
クセス時間が短縮される。
ファイルアクセスがどのように達成されるかを示すフロ
ー図である。処理はステップ22で開始し、そこでホス
ト12で実行するアプリケーションソフトウェアは選択
されたファイルにアクセスを要求する。アクセス要求は
選択されたファイルからデータを読出す要求であるかも
しれないしまたは選択されたファイルへデータを書込む
要求であるかもしれない。
ァイルキャッシュシステム18に送られる。ファイルア
クセス要求は、読出または書込動作が行なわれるファイ
ルを特定するファイル識別子(ID)と、ファイルのど
こにおいて動作を開始すべきかを正確に特定する、ファ
イルの最初からのオフセットと、ファイルから読出され
または書込まれるデータ量とを含む。テスト26で、フ
ァイルキャッシュシステム18はファイルID、オフセ
ットおよびデータ量を用いて、要求されたファイルデー
タが既にファイルキャッシュシステムに存在するかどう
かを判断する。要求されるファイルデータが存在しない
場合は、経路28を辿ってステップ30へと進み、ファ
イルキャッシュシステム18はディスク14の適当なフ
ァイル16からファイルキャッシュシステムのキャッシ
ュされたファイル20へと要求されるファイルデータを
ステージする(読出す)。要求されるファイルデータが
存在する場合は、経路32を辿ってステップ34へと進
み、そこでファイルキャッシュシステムは要求されるフ
ァイルデータへのアクセスを許可する。
ードウェアおよびソフトウェアコンポーネントの機能ブ
ロック図である。システムはホスト12およびファイル
キャッシュシステム18の両方においてハードウェアお
よびソフトウェアエレメントから構成される。ホスト1
2のソフトウェアはブロック36、38、40および4
2によって示される。ブロックはソフトウェアエレメン
ト間の相互関係およびインタフェースを示すよう結合さ
れる。
SW)36は、ホストウェアシステム12の末端ユーザ
にデータ処理機能を与え、金融取引処理および航空予約
システムのようなアプリケーションを含む。アプリケー
ションソフトウェア36によって保守されるデータベー
スは図1に示されるような1つ以上の例示のファイル1
6に記憶されるであろう。ファイル管理ソフトウェア
(FM SW)38、入力/出力ソフトウェア(IO
SW)40およびファイルキャッシュハンドラソフトウ
ェア(FCH SW)42はすべてオペレーティングシ
ステムソフトウェア(図示せず)のコンポーネントであ
る。一般に、ファイル管理ソフトウェア38はファイル
制御構造の管理を与え、特定的にはファイルの作成、削
除、オープンおよびクローズを処理する。
に結合される様々なI/O装置の各々にソフトウェアイ
ンタフェースを与える。I/O装置は、ネットワーク通
信プロセッサ、磁気ディスク、プリンタ、磁気テープお
よび光ディスクを含んでもよい。入力/出力ソフトウェ
ア40は、チャネルプログラムを作り、ホスト12内の
適当なI/Oプロセッサ機能にチャネルプログラムを与
え、適当な時間に、要求を行なっているソフトウェアに
制御を戻す。
42はキャッシュファイルへの読出および書込アクセス
を調整する。一般に、ファイルキャッシュハンドラソフ
トウェア42は、ファイルキャッシュシステム18にオ
ペレーティングシステムレベルのインタフェースを与
え、ディスク14からファイルキャッシュシステム18
へとファイルデータをステージし(読出し)、ファイル
キャッシュシステム18からディスク14へとファイル
データをデステージする(書込む)。ファイルキャッシ
ュハンドラソフトウェア42はファイルデータおよびハ
ードウェアインタフェースへのファイルアクセス要求を
主記憶装置44を介してファイルキャッシュシステム1
8に与える。主記憶装置44はM−バス46と呼ばれる
I/Oバスに結合される。
8、50は、ファイルキャッシュシステム18にハード
ウェアインタフェースを与える。2つのDM48、50
が図示されているが、通常の動作ではシステムは2つの
DMは必要としない。2つのDMを有する構成はフォー
ルトトレラント動作を与える。つまり、一方のDMが故
障した場合、他方のDMが使用可能となってファイルア
クセス要求を処理する。代替の実施例では、多くのDM
を設けてもよい。各DM48、50はホスト12のM−
バス46に結合される。ファイルキャッシュハンドラソ
フトウェア42はM−バス46に結合されるDM48、
50の各々にファイルアクセス要求を分散させる。一方
のDMが故障した場合、そのDMの待ち行列に入れられ
ているファイルアクセス要求は他方のDMに再分散可能
である。
Oプロセッサと同じ一般的機能を果たす。つまり、それ
らは周辺装置からのデータの読出およびそれらへのデー
タの書込を行なう。DMはさらにM−バス44を介して
主記憶装置44からの読出およびそれへの書込が可能で
ある。DM48、50は、ファイルキャッシュハンドラ
ソフトウェア42とファイルキャッシュシステム18と
の間のファイルアクセス要求の処理を調整し、主記憶装
置44とファイルキャッシュシステム18との間でファ
イルデータを転送する。DMの各々はファイルキャッシ
ュシステム18内のホストインタフェースアダプタ(H
IA)52、54コンポーネントに結合される。DM1
48はライン56として示される光ファイバインタフ
ェースによってHIA1 52に結合され、DM2 5
0はライン58として示される第2の光ファイバインタ
フェースによってHIA2 54に結合される。
電源と冗長クロック機構と冗長記憶装置と冗長記憶装置
アクセス経路とファイルアクセス要求を処理するための
冗長プロセッサとで構成され、それらはすべてファイル
データを記憶するためのフォールトトレラントアーキテ
クチャを与えるよう協働する。ファイルキャッシュシス
テム18は二重電源、電源1 60および電源2 62
によって電力供給される。ファイルキャッシュシステム
18の破線64の左部分は電源1 60によって電力供
給されて電力ドメイン1と呼ばれ、ファイルキャッシュ
システム18の破線64の右部分は電源2 62によっ
て電力供給されて電力ドメイン2と呼ばれる。電源1お
よび2の各々は、専用電池かつ入力電源の損失に対する
保護のための発電機のバックアップを有する。
は別々に電力供給されて、ファイルキャッシュシステム
18のコンポーネントのすべてにタイミング信号を与え
る。クロック1 66は電力ドメイン1内のコンポーネ
ントにタイミングを与え、クロック2 68は電力ドメ
イン2内のコンポーネントにタイミングを与える。各ク
ロック内の冗長オシレータはそれらの1つの故障に対す
る保護を与え、クロック1および2は電力ドメイン1お
よび2にわたるタイミングの一致のために同期化され
る。
ト70は複数のダイナミックランダムアクセスメモリ
(DRAM)記憶モジュールを含む。記憶モジュールの
半分は電力ドメイン1内にあり、他の半分は電力ドメイ
ン2内にある。電力ドメイン2の記憶モジュールに記憶
されるデータは電力ドメイン1の記憶モジュールに記憶
されるデータと同一である。こうして、NVS70はフ
ァイルデータ20の冗長記憶装置とファイルキャッシュ
システム18によって用いられる制御構造とを与える。
冗長記憶編成は単一および複数のビットエラー検出およ
び修正の両方をサポートする。
70の部分は2つの記憶インタフェース制御装置(SI
CT)72、74に結合される。図3には2つのSIC
Tのみが図示されているが、NVS70の各半分は4つ
までのSICTによってアドレス指定されることが可能
である。ライン76はSICT1 72と電力ドメイン
1および2の各々内にあるNVS70の部分との間の結
合を表わす。同様に、ライン78はSICT2 74と
NVS70との間の結合を表わす。
読出および書込要求はローカルネットワークストリート
1 80およびストリート2 82を介してSICT7
2、74へ送られる。ストリートはファイルキャッシュ
システム18内の主要コンポーネント間のデータ転送お
よびプロセッサ間通信機能を与える。ストリートは、N
VS70への高速・高帯域幅アクセスを有する複数の要
求装置(HIA1 52、HIA2 54、インデック
スプロセッサ(IXP)1 84またはIXP2 8
6)と、冗長アクセスのための複数の経路とを与える。
交差点88は、SICT72、74が使用不可の場合に
NVS70の要求がストリート1 80からストリート
2 82またはその逆へと送られるであろう経路を与え
る。たとえば、SICT1 72が故障している場合、
要求装置(HIAおよびIXP)から送られたNVS要
求は交差点88を介してストリート2 82へと送ら
れ、それによりNVS70へのアクセスはSICT2
74によって与えられる。各SICTはNVS70のど
ちらの半分も更新することができる。
52、54は、ホスト12のデータ移動装置(DM)4
8、50によって果たされる機能と同様の機能をファイ
ルキャッシュシステム18において果たす。特定的に
は、HIAは、DMから送られたファイルアクセス要求
を受取り、ホスト12から送られたファイルデータをN
VS70に書込み、NVSからファイルデータを読出し
てそれをホストへ送る。HIAはさらに光ファイバイン
タフェース56、58でデータを送信および受信するた
めのロジックを含む。HIA1 52はライン90でス
トリート1 80とインタフェースし、HIA2 54
はライン92でストリート2 82とインタフェースす
る。
4およびIXP2 86はNVS70における使用可能
な記憶空間の割当を管理し、ホスト12から送られたフ
ァイルアクセス要求を処理し、一般に全体のファイルキ
ャッシュシステム管理を与える。
動装置およびホストインタフェースアダプタのコンポー
ネントを示す詳細なブロック図である。DMおよびHI
Aは通信経路の対向する末端であるため対として存在す
る。DMコンポーネント48およびHIAコンポーネン
ト52は各々マイクロシーケンサバス制御装置(uSB
C)システムの例である。DM48はホスト12のM−
バス46とインタフェースする。DMはさらに光ファイ
バインタフェース56でHIA52と通信する。こうし
て、物理上はDMおよびHIAは互いに幾らかの距離を
おいて位置することになり、DMとHIAとの間の距離
は、実際の光ファイバインタフェース56の長さに依存
する。HIA52はライン90でストリート80とイン
タフェースする。
示す。マイクロシーケンサバス制御装置システムの例と
してのDM48のアーキテクチャは、ライン100およ
び102を介して制御記憶(CS)98に接続される2
つのマイクロシーケンサバス制御装置(uSBC)9
4、96があることを示す。uSBC0 94およびu
SBC1 96はステーションと呼ばれる様々な専用ゲ
ートアレイをマイクロバス104で制御する縮小命令セ
ット(RISC)マイクロプロセッサである。マイクロ
バス104は双方向通信バスである。uSBCは7つの
基本命令を有する命令セットをサポートする。命令は固
定長であり、1つまたは2つのみのオペランドのどちら
かを特定する。uSBCの内部回路はハードワイヤによ
るものであり、つまりマイクロプログラム化されてはい
ない。uSBC1 96によって行なわれる動作からの
結果はエラー検出目的のためにライン99でuSBC0
94へと転送される。7つのスタティックランダムア
クセスメモリ(SRAM)から構成される制御記憶98
はuSBCが並行して実行する命令ストリームを記憶す
るために用いられる。M−バス制御装置(MBCT)ス
テーション106は、M−バス46調停を処理し、他の
データ移動装置(DM)ステーションとM−バス46と
の間のデータ転送を制御する。M−バス46にデータを
転送する2つのDMステーションと、M−バスからデー
タを転送する2つのDMステーションとがある。M−バ
ス書込(MBWR)0 108およびMBWR1 11
0ステーションはそれぞれライン112および114を
介してM−バス46からデータを受信する。M−バス読
出(MBRD)0 116およびMBRD1 118ス
テーションはそれぞれライン120および122を介し
てM−バス46へデータを送信する。MBCT106は
マイクロバス104から独立したインタフェース(図示
せず)でこれらのDMステーションのM−バス46への
アクセスを制御する。データはMBWR0108および
MBWR1 110からライン124および126を介
して送信フレーム転送機能(SEND FXFA)ゲー
トアレイ128へ送られる。SEND FXFA128
はフレームと呼ばれる送信パケットにデータをパッケー
ジし、それらはライン130で光パイプフレーム制御
(LPFC)ゲートアレイ132に送られる。LPFC
132は、ナショナル・セミコンダクター・コーポレイ
ション(National Semiconductor Corporation)から商
業的に入手可能な、PLAYER+0 138およびP
LAYER+1 140からなる二重のPLAYER+
物理層制御装置にライン134および136でフレーム
を送信する。PLAYER+0 138およびPLAY
ER+1 140は光ファイバリンク142および14
4でHIA52にフレームを送信する。
52がデータ移動装置(DM)48へフレームを送信す
ると、PLAYER+0 138およびPLAYER+
1140は光ファイバリンク146および148でフレ
ームを受信する。PLAYER+0 138コンポーネ
ントはライン150でLPFC132へフレームを送り
出す。同様に、PLAYER+1 140コンポーネン
トはライン152でLPFC132へフレームを送り出
す。LPFC132はライン154を介して受信フレー
ム転送機能(REC FXFA)ゲートアレイ156へ
フレームを送信し、それはデータをアンパックしてそれ
をライン158を介してMBRD0116およびMBR
D1 118に記憶する。REC FXFA156はラ
イン162でSEND FXFA128にデータ転送の
ための肯定応答を送る。
ンポーネントを示す。マイクロシーケンサバス制御装置
システムの例としてのHIA52のアーキテクチャは、
ライン170および172を介して制御記憶168にそ
れぞれ接続される2つのuSBC164および166が
あることを示す。マイクロバス制御装置(uSBC)1
64および166はマイクロバス168を介してHIA
ステーションにアクセスする。PLAYER+0 17
4およびPLAYER+1 176コンポーネントはそ
れぞれ光ファイバリンク142および144でフレーム
を受信する。PLAYER+0 174はライン180
で光パイプフレーム制御(LPFC)178にフレーム
を送り出す。同様に、PLAYER+1 176はライ
ン182でLPFC178へフレームを送り出す。LP
FC178はライン184で受信フレーム転送機能(R
EC FXFA)183にフレームを転送する。REC
FXFA183はフレームをアンパックし、ライン18
8を介して要求状態制御テーブル0(RSCT)185
およびSICT1 186に制御情報を記憶する。RS
CT0およびRSCT1ステーションはDM48から受
信しデータをモニタする。REC FXFA183によ
って受信されたフレームに含まれたデータはライン18
8でデータベースインタフェース(DBIF)ステーシ
ョン187へ送られる。DBIF187はライン189
でストリート1 80へデータを送り出す。
BIF187によって受信されたデータはライン192
を介して送信フレーム転送機能(SEND FXFA)
191に送信される。ストリート1 80からライン1
90で受信された制御情報はライン193でRSCT0
185およびRSCT1 186に送られる。SEN
D FXFA191はライン194を介してRSCT0
185およびRSCT1 186からのこのデータお
よび制御情報を受取って、LPFC178による送信の
ためのフレームをフォーマットする。REC FXFA
183からの肯定応答はライン195でSEND FX
FA191によって受信される。フレームはライン19
6でLPFC178に送り出される。LPFC178は
受信したフレームから2つのフレームを作成し、一方の
フレームをライン197でPLAYER+0 174へ
送り、他方のフレームをライン198でPLAYER+
1176へ送る。フレームはそれから光ファイバリンク
146および148でDM48に送信される。
C)94、96、164、166およびマイクロバス1
04、168はハードウェアモードピンセッティングに
従ってシステム内でデータを操作する。モードピンがセ
ットされる場合は、マイクロシーケンサバス制御装置シ
ステムの例はステーションとの通信において36ビット
データ語で動作するデータ移動装置(DM)48であ
る。モードピンがクリアである場合は、マイクロシーケ
ンサバス制御装置システムはステーションとの通信にお
いて32ビットデータ語で動作するホストインタフェー
スアダプタ(HIA)52である。
ステムアーキテクチャ マイクロシーケンサバス制御装置システムは、より大型
のコンピュータシステム内の回路カードの複数のゲート
アレイの、柔軟性のある、マイクロプロセッサベースの
制御能力を与える。上述のような好ましい実施例におい
て、それはファイルキャッシュシステム18の一部であ
る。しかし、複数のゲートアレイのマイクロプロセッサ
制御を必要とする他のコンピュータシステムにおいてそ
れを使用してもよい。これは1つの回路カード上の特定
機能のVLSIゲートアレイを制御する問題に対する柔
軟性のある解決策である。というのも、マイクロシーケ
ンサバス制御装置システムハードウェアにおけるいかな
る他の変更も伴わずに1つ以上のゲートアレイを変える
ことができるからである。ゲートアレイを変える場合に
は、マイクロプロセッサが実行するプログラムに対する
対応する変更が容易になされるであろう。
ステムのブロック図である。マイクロシーケンサバス制
御装置システム200は、マイクロバス218と呼ばれ
る双方向内部通信バスに接続される8つまでのステーシ
ョン202、204、206、208、210、21
2、214、216を含む。ステーションは、特定の機
能を果たす、CMOS448テクノロジーで製造される
VLSI部品上のゲートアレイにおいて実現されるロジ
ックの集まりである。ステーションはマイクロバス21
8に接続され、さらに別のバス、I/O機構またはマイ
クロシーケンサバス制御装置システムの外部にあるサブ
システムとインタフェースしてもよい。つまり、それは
ファイルキャッシュシステム18の他のハードウェアコ
ンポーネントからデータを読出しまたはそれらにデータ
を書込んでもよい。好ましい実施例においては、ファイ
ルキャッシュシステムにおいてステーションを表わす1
0の異なるゲートアレイ設計がある。しかし、必要とさ
れる機能のセットをサポートする任意のカスタム設計の
ゲートアレイがステーションの役割を果たし得、マイク
ロバス218に接続され得ることが可能である。
C)0 220およびuSBC1222は、マイクロバ
ス218を介してステーションの動作を制御する専用R
ISCマイクロプロセッサである。uSBCは、高速ス
タティックランダムアクセスメモリ(SRAM)である
制御記憶224に記憶される命令ストリームを実行す
る。命令ストリームはシステム初期設定時に制御記憶2
24へ書込まれる。命令ストリームはライン226で制
御記憶224からuSBC0 220によってフェッチ
される。同じ命令ストリームがライン228で制御記憶
224からuSBC1 222によってフェッチされ
る。第1のマイクロプロセッサuSBC0220はマス
タであり、第2のマイクロプロセッサuSBC1 22
2はスレーブである。マスタおよびスレーブは同じ命令
を同時に実行するが、マスタのマイクロプロセッサだけ
がマイクロバス218にデータを書込む。スレーブのマ
イクロプロセッサuSBC1 222によって行なわれ
た動作の結果はライン230でマスタのマイクロプロセ
ッサuSBC0 220に送られ、そこでプログラム制
御のいかなる考えられ得るエラーまたは損失をも検出す
るためにその結果はマスタのマイクロプロセッサuSB
C0によって行なわれた動作の結果と比較される。uS
BCは3つの別々の組のラインつまりアドレスライン2
32および234、データライン236および238な
らびに制御ライン240および242でマイクロバス2
18に接続する。
信するためにuSBCによって使用されかつステーショ
ン間でデータを転送するための双方向バスである。それ
はuSBCからステーションにあるハードウェアレジス
タおよびデジグネータへのアクセスを与える。保守クロ
ック制御(MTCC)ゲートアレイ244は、マイクロ
シーケンサバス制御装置システム200のすべてのコン
ポーネントのための障害検出、クロック分配および制
御、ならびにシステムリセット/回復のような保守動作
を与える。MTCCはバス可能化ラインを駆動し、それ
によってuSBC220、222およびステーションは
マイクロバス218でデータを駆動する。
(uSBC)とステーションとの間に通信経路を設ける
双方向バスである。マイクロバスはデータライン23
2、アドレスライン236および様々な制御ライン24
0からなる。バスのアドレス部分は8つまでのステーシ
ョンをアドレス指定することができる。ステーションと
uSBCとはマイクロバスを通して互いの間でデータを
送信および受信する。マイクロバスは36ビットデータ
バス(DM)または32ビットデータバス(HIA)の
どちらにも適応可能である。データバスが36ビットま
たは32ビットのどちらの語をサポートしているかによ
って、マイクロバスに対するパリティチェックのモード
は異なる。
されるデータが送信機から受信機に伝搬するのにかかる
クロックサイクルによって規定される。この時間は3つ
のマシーンクロックサイクルである。データ移動装置
(DM)でのクロックサイクルは22.5ナノ秒なの
で、DMのための送信時間は67.5ナノ秒である。ホ
ストインタフェースアダプタ(HIA)でのクロックサ
イクルは25ナノ秒であるので、HIAのための送信時
間は75ナノ秒である。
を示すブロック図である。uSBC220、222とス
テーション202、204、206、208、210、
212、214、216との間のデータ経路246は3
6ビットからなる。データパリティ経路248は2つの
ビットからなる。データおよびデータパリティは、uS
BCからステーションへ、またはステーションからマイ
クロシーケンサバス制御装置(uSBC)へ送信可能で
ある。図9は、マイクロシーケンサバス制御装置システ
ム200がデータ移動装置48であるときの、マイクロ
バス218のデータ経路のためのパリティ領域を示す。
フル36ビットはデータ転送の目的のために用いられ、
データパリティビット0 250はデータビット0−1
7 252の奇数パリティを表わし、データパリティビ
ット1 254はデータビット18−35 256の奇
数パリティを表わす。図9において、ビット0は最上位
ビット(MSB)であり、ビット35は最下位ビット
(LSB)である。
置システム200がホストインタフェースアダプタ52
であるときの、マイクロバス218のデータ経路のため
のパリティ領域を示す。使用可能な36ビットのうちの
32ビットのみがデータ転送の目的で用いられ、データ
パリティビット0 258はオリジナルのデータビット
4−19 260の奇数パリティを表わし、データパリ
ティビット1 262はデータビット20−35 26
4の奇数パリティを表わす。こうして、36ビット転送
は32ビットの表現にマップされる。図10においては
ビット4がMSBであり、ビット35がLSBである。
ィ経路を示すブロック図である。データを読出しまたは
データ書込むステーションおよびレジスタを選択するた
めに、各マイクロシーケンサバス制御装置(uSBC)
は独立してマイクロバス218にアドレス266の11
ビットを出力することができる。バスを駆動するため
に、各uSBCは4つのステーションを駆動する。uS
BC0 220はそれぞれ202、204、206およ
び208とラベル付けされるステーション1、2、3お
よび4のためのアドレスを駆動し、uSBC1 222
はそれぞれ210、212、214、216とラベル付
けされるステーション5、6、7および8のためのアド
レスを駆動する。各アドレスに対応するアドレスパリテ
ィビット268もさらにマイクロバスに出力される。こ
のアドレスパリティビットはアドレス266の奇数パリ
ティを表わす。
のパリティ領域がどのように分配されるかを示すブロッ
ク図である。uSBC0 220は示されるように4つ
のステーションをアドレス指定する。実際にそれらの4
つのステーションにアドレスを送っているのはuSBC
0であるが、uSBC1 222もuSBC0 220
が出力しているのと同じアドレスを同時に発生する(u
SBCは同じマイクロコード命令ストリームを同時に実
行することを想起されたい)。uSBC1 222は、
それぞれ202、204、206および208とラベル
付けされるステーション1、2、3および4のためのア
ドレスパリティビット268を計算する。同様に、uS
BC0 220は、uSBC1 222によってアドレ
ス指定される、210、212、214および216と
それぞれラベル付けされるステーション5、6、7およ
び8のためのアドレスパリティビット268を計算す
る。
つのマイクロプロセッサの間に別レベルのパリティチェ
ックを与える。図13は、マイクロシーケンサバス制御
装置システム200によって行なわれる2つのレベルの
アドレスパリティチェックを示すブロック図である。レ
ベル1で、アドレスパリティがuSBC0 220内で
発生され、アドレスが正しく発生されたかどうかを判断
するためにチェックされる。アドレスが正しく発生され
なかった場合はパリティエラーが生じる。これが起こる
と、uSBCは所望されるステーションへのデータの送
信を抑止する。レベル2で、受信ステーションが受取っ
たアドレスが正しいかどうかを判断するために、受信ス
テーションにおいてパリティチェックが行なわれる。こ
うして、レベル1はアドレス「発生」エラーをチェック
し、レベル2はアドレス「送信」エラーまたはuSBC
が互いに同期から外れるために起こる論理上のエラーを
チェックする。
C1 222にuSBC0 220が発生するのと同一
のアドレス266を発生するよう要求することによって
達成される。uSBC1 222はアドレスからアドレ
スパリティ268を発生してそれをuSBC0 220
がアドレス指定したステーションへ送る。ステーション
はそれから、uSBC0 220から受信したアドレス
266をuSBC1222から受信したアドレスパリテ
ィビット268と比較することによって、アドレスパリ
ティエラーが発生したかどうかを判断する。このパリテ
ィの分配機構は、アドレス送信エラー検出のための、別
のレベルの保証を与える。
レスのフォーマットを示す。ビット0−2に記憶される
ステーションセレクタフィールド270は8つのステー
ションのうちの1つをアドレス指定するために用いられ
る。ビット3に記憶されるベース付きアドレス指定ビッ
トフィールド272は考えられ得る2つの操作モード、
つまりクリアの場合の直接アドレス指定またはセットさ
れている場合のベース付きアドレス指定の1つを選択す
るために用いられる。直接アドレス指定は、特定のアド
レス指定構造を有さない、ステーションのレジスタおよ
びデジグネータをアドレス指定するために用いられる。
ステーションが直接アドレス指定モードおよびベース付
きアドレス指定モードの両方に対応するよう設計されて
いる場合は、直接アドレス指定は128までのレジスタ
および/またはデジグネータを許容する。ステーション
がベース付きアドレス指定モードを有さない場合は、2
56までのレジスタおよび/またはデジグネータをアド
レス指定できる。ベース付きアドレス指定はレジスタス
タックを参照するために用いられ、バッファのアドレス
指定を128のレジスタの深さまで可能にする。マイク
ロバス218は32または36ビットのいずれかの広さ
であるので、ステーション上の考えられ得るアドレス指
定可能なレジスタの数は、Nが32または36のいずれ
の場合にも、2* Nという大きさにまでなり得る。ビッ
ト4−10に記憶されるレジスタバッファインデックス
フィールド274は、選択されたステーション内のどの
レジスタまたはデジグネータを参照するべきかを示す。
示すブロック図である。8個のソース(SRC)信号2
76、278、280、282、284、286、28
8、および290が存在する。これは各ステーションに
つき1つである。SRC信号は、uSBCによって、そ
れがステーションに位置づけられたレジスタまたはデジ
グネータからの命令オペランドをフェッチする命令を実
行するときに発生される。
示す。8個のバスビジー信号292、294、296、
298、300、302、304および306が存在
し、これは各ステーションにつき1つである。バスビジ
ー信号はuSBCによって、SRC命令を実行している
ときに活性化される。SRC命令によってアドレス指定
されたものを除くすべてのステーションが、バスビジー
信号を受取る。信号はステーションに対し、マイクロバ
ス218が現在使用中であるためにデータの送信ができ
ないということを示す。このようにして、uSBCはS
RC命令によってアドレス指定されていないステーショ
ンが誤って(ハードウェアの誤動作のために)マイクロ
バスにデータを送信してしまうことが、起こらないこと
を保証する。
バスへ出力される5つの制御信号を示すブロック図であ
る。各uSBCから、1つのデータ宛先(DST)信号
が出力される。uSBC0 220は、データ宛先信号
308でそれぞれ202、204、206、208とラ
ベル付けされたステーション1、2、3、および4を駆
動する。uSBC1 222はデータ宛先信号310で
それぞれ210、212、214、216とラベル付け
されたステーション5、6、7、8を駆動する。データ
宛先信号はuSBCによって、データをステーション内
のレジスタまたはデジグネータに記憶する命令を実行し
ているときに活性化される。この信号はステーションに
対し、uSBCがそのステーションにデータ経路を介し
ていくらかのデータを送ろうとしているということを示
す。
(uSBC)から1つ出力されるラッチセット信号が示
される。uSBC0 220は、ラッチセット信号31
2でそれぞれ202、204、206、および208と
ラベル付けされたステーション1、2、3、および4を
駆動する。uSBC1 222は、ラッチセット信号3
14でそれぞれ210、212、214、および216
とラベル付けされたステーション5、6、7、および8
を駆動する。ラッチセット信号はuSBCによって、ス
テーションに位置づけられたデジグネータの状態をセッ
トするセット/クリア(STCL)を実行しているとき
に発生される。
1つのラッチクリア信号が出力される。uSBC0 2
20はラッチクリア信号316で、それぞれ202、2
04、206、および208とラベル付けされたステー
ション1、2、3、および4を駆動する。uSBC1
222はラッチクリア信号318でそれぞれ210、2
12、214、および216とラベル付けされたステー
ション5、6、7、および8を駆動する。ラッチクリア
信号はuSBCによって、ステーションに位置づけられ
たデジグネータの状態をクリアするセット/クリア(S
TCL)命令を実行しているときに発生される。
1つの外部条件分岐信号が出力される。uSBC0 2
20は外部条件分岐信号320で、202、204、2
06、および208とそれぞれラベル付けされたステー
ション1、2、3、および4を駆動する。uSBC1
222は外部条件分岐信号322で、210、212、
214、および216とそれぞれラベル付けされたステ
ーション5、6、7、および8を駆動する。外部条件分
岐信号はuSBCによって、ステーションに位置するア
ドレス指定されたデジグネータの状態をテストする外部
分岐(BRCH)命令を実行するときに発生される。テ
ストされたデジグネータの状態は、命令ストリームの実
行中に分岐が行なわれるかどうかを決定するために用い
られる。
(uSBC)から1つのロックバス信号が出力されるこ
とが示される。uSBC0 220はロックバス信号3
24で202、204、206、および208とそれぞ
れラベル付けされたステーション1、2、3、および4
を駆動する。uSBC1 222はロックバス信号32
6で210、212、214、および216とそれぞれ
ラベル付けされたステーション5、6、7、および8を
駆動する。ロックバス信号はuSBCによって、どのス
テーションもマイクロバス218にアクセスしないよう
にするために発生される。
御装置へ4つの制御信号が出力されることを示す。各ス
テーションは、「肯定応答」信号に類似の継続信号を出
力する。ステーション202、204、206、20
8、210、212、214、および216は、それぞ
れ継続信号328、330、332、334、336、
338、340、および342を出力する。継続信号は
2つの状況において用いられる。第1の状況は、uSB
Cが(データ宛先信号310を介して)ステーションに
データを送る場合である。データがステーションによっ
て受取られると、ステーションは継続信号を活性化す
る。第2の状況は、uSBCが(ソース信号を介して)
ステーションからのデータを要求する場合である。デー
タが読出される準備ができると、ステーションは継続信
号を活性化する。継続信号はまた、選択されたステーシ
ョンがタスクを実行している間他のステーションの作業
をロックアウトする。uSBCは同時に各ステーション
からの継続信号をモニタして誤った信号を検出し、誤っ
た継続信号が検出されるとすべての動作を停止する。
件信号をも出力する。ステーション202、204、2
06、208、210、212、214、および216
は、外部分岐条件信号344、346、348、35
0、352、354、356、および358をそれぞれ
出力する。外部分岐条件信号は、アドレス266によっ
て特定されるデジグネータの論理レベルを示す。アドレ
ス指定されたデジグネータがセットされていれば、外部
分岐条件信号は論理ローであり、アドレス指定されたデ
ジグネータがクリアされていれば、信号は論理ハイであ
る。外部分岐条件信号により、uSBCは条件付き外部
分岐命令を実行するときにどの経路をとればいいか判断
できる。
出力する。ステーション202、204、206、20
8、210、212、214、および216は、それぞ
れステーションアボート信号360、362、364、
366、368、370、372、および374を出力
する。ステーションアボート信号はハードウェアの故障
が検出されると各ステーション内のロジックによって発
生される。ロジックは、マイクロバス218がデータの
受信と送信とを同時に行なおうとしてしまう故障が生じ
たときにそれを検出する。またこのロジックは、正しく
ないステーションがアドレス指定されたとき、またはス
テーション内の正しくないアドレスが特定されてしまっ
たときにもこれを検出する。いずれの場合が生じても、
マイクロバス218に誤ったデータが送信されるまたは
受取られる結果になるであろう。いかなるエラーが起こ
った場合にも、uSBCはデータ経路246を不能化し
てコンポーネントの損傷を防ぎ、かつ誤まったデータが
マイクロバス218に送信されることを防ぐ。
クの図である。ステーションアボート信号360を活性
化させる条件は3つある。第1の条件は、活性のソース
信号276と活性のバスビジー信号292とが検出され
ることである。ステーションアボートロジックは、他の
ステーションの1つまたはuSBCの1つがマイクロバ
ス218に何らかのデータを与えているのと同時にステ
ーションがデータを出力しているかどうかを判断する。
マイクロバスが使用中のときにステーションがデータを
出力しようとしている場合、2つの異なったステーショ
ンが同時にマイクロバスへのアクセスを試みることとな
り、競合が起こる。このエラーは、ソース信号276と
バスビジー信号292とを「AND」ゲート392に結
合することによって検出される。
デコードロジック394によってデコードされる)がそ
のステーションをアドレス指定しているときに、不活性
のバスビジー信号292と活性のデータ宛先信号308
とが検出されることである。データを受取るためには、
マイクロバス218はバスビジー信号が活性であるとい
うことを示さなければならない。なぜなら、ステーショ
ンがデータを受取るためには、そのステーションがアド
レス指定されているときにステーションが受取るべき幾
らかのデータがマイクロバスになければならないからで
ある。バスビジー信号は、ソース信号が存在するときと
は反対のロジックレベルになければならないということ
に注意されたい。ソース信号276が活性化されている
ときにはマイクロバス218には何もあってはならな
い。ステーションがマイクロバスにアクセスしようとし
ているからである。逆に、データ宛先信号308が活性
化されているときにはマイクロバスに幾らかのデータが
なければならない。ステーションがデータを受取ろうと
しているからである。このエラーは、アドレス266、
データ宛先信号308、およびバスビジー信号292の
反転を「AND」ゲート396に結合することによって
検出される。
ーションをアドレス指定していないときにソース信号2
76が生じることである。ステーションアボートロジッ
クは、ステーションがアドレス指定されていないときに
データを出力するようにステーションが要求されている
かどうかを判断する。アドレス指定されていないときに
データを出力するようにステーションが要求されていれ
ば、これはuSBCの内部アドレス指定の故障、または
マイクロバス218のアドレス指定の故障のいずれかが
起こったということである。このエラーは、ソース信号
276をアドレス266の反転とともに「AND」ゲー
ト398に結合することによって検出される。3つのエ
ラーのうちどの1つをも検出するために、3つのエラー
チェックの結果が「OR」ゲート400に結合される。
その結果は、ステーションアボート信号360として出
力される。
信号を出力する。ステーション202、204、20
6、208、210、212、214、および216
は、それぞれステーションエラー信号376、378、
380、382、384、386、388、および39
0を出力する。ステーションエラー信号は、マイクロバ
スステーション制御に関連のハードウェア内に故障が検
出されると、ステーションによって発生される。
よびuSBC1 222によって実行される命令を記憶
するのに用いられる。これらの命令は44ビット幅であ
る。制御記憶224は実際にはRAMであるが、リード
オンリメモリ(ROM)として用いられる。制御記憶は
7つのSRAMチップからなる。各SRAMは32*1
024(K)8ビットバイトのデータを保持する。制御
記憶内に記憶されるデータの各単位は、44ビットの命
令、命令のための8ビットのパリティ、および2ビット
のアドレスビットパリティ(偶数アドレスドライバに1
ビット、奇数アドレスドライバに1ビット)からなる。
7つのSRAMがあり、その各々が1バイト当り8ビッ
トを保持するので、7つのSRAMの各々に、各記憶単
位の一部が記憶されるならば、各記憶単位の記憶には合
計56ビットが利用可能である。
タシステムにより保守経路(図示せず)を介してシステ
ムの初期設定時に命令がロードされている。パリティビ
ットとアドレスビットとはホストコンピュータシステム
12によって計算され、各命令が記憶される際にそれに
付加される。後に、uSBC0 220およびuSBC
1 222が命令を実行する際に、各命令は制御記憶か
らフェッチされ、そこからパリティ値が計算される。各
uSBCはそれによって計算されたパリティ値を制御記
憶に記憶されたパリティチェックに照らし合わせて比較
する。少しでも食い違っていれば、制御記憶は壊れたも
のと仮定され、uSBC内に内部チェック条件が生じ
る。これはuSBCの処理にとって致命的なエラーであ
る。このエラーはMTCC244に知らされ、処理は停
止される。
クロシーケンサバス制御装置システム200内でデータ
転送をモニタかつ制御する命令を実行する専用マイクロ
プロセッサである。図7を参照されたい。すべてのデー
タ操作が確実に二重チェックでベリファイされるように
するために、システム内には2つのuSBCがある。一
方をマスタ220、他方をスレーブ222とする。マイ
クロバス218にデータを駆動するのはマスタuSBC
220のみであるが、ローディングを低減するためにア
ドレス信号236、238と制御信号240、242と
をマイクロバス218に駆動するのはマスタuSBCと
スレーブuSBCとの双方である。スレーブuSBC2
22は各命令の結果を別個のライン230でマスタuS
BC220に送る。マスタuSBCはその後それが計算
した結果とこの値とを比較する。値が異なっていれば、
内部チェックエラー条件が生じたということである。す
なわち、プログラム制御が失われている。これは致命的
なエラーであって、MTCC244に知らされる。この
エラーのためにuSBCの処理は停止される。
個になったラインを介してマイクロバス218とインタ
フェースする。再び図7を参照されたい。アドレスライ
ン236および238は11ビットを含む。データライ
ン232および234はマイクロシーケンサバス制御装
置システム200がデータ移動装置(DM)48であっ
た場合には36ビットに加えて、2つのパリティビット
を含む。データラインはマイクロシーケンサバス制御装
置システムがホストインタフェースアダプタ(HIA)
52であった場合には32ビットに加えて、2つのパリ
ティビットを含む。制御ライン240、242は11ビ
ットを含む。uSBCはマイクロバスに接続されていて
もステーションとは考えられないということに注意され
たい。さらに、スレーブuSBCの送信機は不能化され
ているので、スレーブuSBCはマイクロバス218か
らのデータを受取ることができるだけである。
のためのMTCC244やuSBCの順次的な要素を制
御する信号を受取るクロック回路ともインタフェースす
る。
ーネントを示すブロック図である。命令デコードロジッ
ク401は制御記憶224から命令をフェッチし、その
命令をデコードしてどのコマンドが要求されているか、
そのコマンドをどのオペランドで実行すべきか、および
オペランドをステーションのうちの1つからフェッチす
るかまたは1つに結果を書込む場合であればどのステー
ションに対して行なうかを判断する。算術、論理および
シフトロジック402が、オペランドに対し算術、論
理、またはシフト動作を実行することによって、要求さ
れたコマンドを行なう。オペランドは1つ以上の内部レ
ジスタ403または局所記憶メモリ404からフェッチ
される。コマンド実行の結果はマイクロバス218の動
作を制御するステーション作業ロジック405、および
内部のまたはスレーブマイクロプロセッサのいかなるエ
ラーをも検出するエラー検出ロジック406に送られ
る。最後に、分岐制御ロジック407が、マイクロバス
218を介してステーションから受取られる信号、なら
びに算術、論理、およびシフト402のコマンド実行の
結果を調べることによって命令制御の流れを決定する。
シーケンサバス制御装置のアーキテクチャを示す詳細図
である。制御記憶224はuSBCによって実行される
べき命令を保持する。制御記憶224はバス制御ロジッ
ク408によって制御される双方向ライン226を介し
てuSBCによってアクセスされる。バスアドレスレジ
スタ407は、もしあれば、命令によって特定されるデ
ジグネータのアドレスを保持する。プログラムカウンタ
409は制御記憶224からフェッチされるべき命令の
アドレスを保持するレジスタである。命令は制御記憶2
24における示された位置から取出され、後の処理のた
めに命令レジスタ410内に記憶される。ほとんどの命
令に関しては、プログラムカウンタ409は次に増分さ
れて制御記憶内にある次に実行すべき命令をアドレス指
定する。マルチプレクサ(MUX)439はプログラム
カウンタ409への入力を制御する。入力は、プログラ
ムカウンタそのものと、命令レジスタ410と、分岐ロ
ジック440とから受取られる。命令がそこからフェッ
チされる制御記憶におけるアドレスは、ライン412を
介して局所記憶書込レジスタ(LSW0)413(図2
2参照)内のジャンプ履歴ロジック411によって退避
され、続いて局所記憶414に書込まれる。
るためにuSBC内部のデータを記憶する。局所記憶4
14は1024個の36ビットワードを保持する。これ
は、4つの専用レジスタの1つからデータを読出す、ま
たはそこにデータを書込むためのアドレスを記憶するこ
とによってアクセスされる。これらのレジスタはアドレ
ス読出0 415、アドレス読出1 416、アドレス
書込0 418、およびアドレス書込1 420であ
る。局所記憶メモリロケーションは、算術論理ユニット
(ALU)、MOVE命令、およびSHIFT命令(後
述)によって、uSBCの汎用レジスタへの参照よりも
素早くアクセスされ得る。それにより、uSBCは局所
記憶が利用可能でない場合よりも高速に命令の処理を行
なうことができる。局所記憶414は4ポートRAMセ
ルとして実現される。4ポートRAMセルにより、2つ
の読出ポートと2つの書込ポートとを介してメモリへの
同時アクセスが可能となる。図25は、局所記憶メモリ
ロケーションの割当を示す。この実施例で実現される命
令は局所記憶414を用いて、作業制御ブロック(AC
B)バッファ422、専用変数424、汎用変数42
6、および予め規定された定数428を保持する。uS
BCのハードウェアロジックは局所記憶414を用い
て、分岐テーブル430、コール/リターンスタック4
32、およびジャンプ履歴テーブル434を保持する。
これらのデータエントリの各々の、局所記憶アドレス領
域(0〜3FFのすべて)が、図25においては16進
数のフォーマットで示される。
436は実行されるべき現在のマイクロコード命令が記
憶される制御記憶224内のアドレスを保持するレジス
タである。そこには、ライン441を介して現在のプロ
グラムカウンタ409、現在の退避プログラムカウンタ
436、または分岐ロジック440の出力から、MUX
437によって選択された値がロードされる。退避プロ
グラムカウンタ436はまた、ジャンプ履歴ロジック4
08によって局所記憶414内に記憶される。ジャンプ
履歴テーブル434はプログラムカウンタ制御における
一番最近の、64個の追跡された変化を保持する。退避
プログラムカウンタ436の内容はまた、ライン438
を介してMUX504にも送られる。現在の命令が分岐
命令の場合、分岐条件が満たされているかどうかを分岐
ロジック440(図23参照)が判断し、満たされてい
れば、分岐ロジック440は分岐先の命令のアドレスを
ライン441を介してMUX439に送り、その後プロ
グラムカウンタ409内に記憶させる。これにより、次
にフェッチされる命令は、次の順次的命令ではなく分岐
アドレスに記憶される命令となる。分岐条件の評価は、
分岐命令が外部分岐命令であった場合、外部分岐検出ロ
ジック444を介して外部分岐条件信号443を読出す
ことを含む。分岐命令が内部分岐命令であった場合は、
内部分岐検出ロジック445からの入力を受取ることを
含む。また、分岐命令がテーブル分岐命令であった場合
は、アキュムレータ442からの入力を受取ることを含
む。
は、2組のロジックによって処理される。コマンドデコ
ードロジック446は、命令によって示されるのがどの
種類のコマンドであるかを判断し、命令に含まれるデー
タおよび制御情報をライン450を介して算術論理ユニ
ット(ALU)448に、およびライン454を介して
ステーション作業制御ロジック452(図24参照)に
送る。ステーションデコードロジック456は、必要で
あれば、命令によって参照されるのがどのステーション
かを決定する。ステーションデコードロジック456に
よって得られたステーション識別情報は、ライン458
を介してMUX460に送られる。このステーション識
別情報は、現在の命令の実行の結果として、どの継続信
号(1〜8)462(図24参照)の活性化が予期され
るかを選択するのに用いられる。ステーションデコード
ロジック456はまた、ステーション識別情報をライン
464を介してステーション作業制御ロジック452に
直接送ることもする。
照)は、uSBC内部レジスタ、外部レジスタ、または
局所記憶414に転送されるべきデータを保持する。即
値移動データ466は命令レジスタ410内に記憶され
た命令から得られる。
C)は、命令の処理中に用いられる様々な内部レジスタ
を含む。命令のためのオペランドデータは、局所記憶4
14から読出され、汎用レジスタA(REGA)468
(図22参照)内に記憶される。オペランドデータを操
作するために、マスク/マージビットパターンが局所記
憶414から読出され、マスク/マージレジスタ(MM
RG)470内に記憶される。バス受取レジスタ(BU
SR)472(図21参照)は、外部読出の結果ライン
474を介してマイクロバスから受取られるデータを保
持する、36ビットレジスタである。これは、マイクロ
バス218によって書込まれ得るただ1つのuSBCレ
ジスタである。uSBCの外部のステーションにおける
レジスタを読出す動作の実行中、それによってもたらさ
れるデータはBUSR472に入れられる。これはその
後、局所記憶414に移動されるか、または命令のため
のオペランドとして用いられる。アキュムレータ(AC
C)442(図23参照)は、命令の実行後ALU44
8の結果を保持する36ビットレジスタである。これは
uSBCからマイクロバス218へデータを出力できる
唯一のレジスタである。したがって、外部レジスタまた
はデジグネータの書込はすべてACC442を用いるも
のである。
C)によって用いられる専用レジスタは他に6個ある。
局所記憶ベースレジスタ(LSBR)476は、局所記
憶414のベース付きアドレス指定に用いられる6ビッ
トレジスタである。ベース付きアドレス指定が選択され
ると、uSBCはLSBR476の内容を局所記憶アド
レスの10ビットのうち上位6ビットとして用い、下位
4ビットを命令から得る。命令は、ベース付きアドレス
指定を用いて局所記憶414内のACBバッファ422
にアクセスする。保守データ出力レジスタ(MDOR)
478が、致命的なエラーおよび致命的でないエラーを
報告するのに用いられる。これは32ビットダイナミッ
クスキャン/セットレジスタであって、MTCC244
を介してファイルキャッシュシステム18の保守処理に
接続される。保守データ入力レジスタ(MDIR)48
0は32ビットダイナミックスキャン/セットレジスタ
であって、MTCC244を介してファイルキャッシュ
システム18の保守処理の制御下に置かれる。MDIR
は保守によってuSBCにメッセージを送るのに用いら
れる。
ードウェアフラグレジスタである。これは、個別にテス
トされ、セットされ、そしてクリアされる16ビットを
含む。1つの命令でこれらのフラグを幾つでもセット/
クリアすることができる。フラグは分岐条件インジケー
タとしても用いられる。ソースインデックスレジスタ
(SIXR)484および宛先インデックスレジスタ
(DIXR)486は、外部レジスタをインデックス付
けするために、および内部ループカウンタとして用いら
れる14ビットレジスタである。SIXR484は局所
記憶414からの読出要求をインデックス付けするのに
用いられ、DIXR486は局所記憶414への書込要
求をインデックス付けするのに用いられる。これらのレ
ジスタは多くの命令の実行の一部として自動的に増分さ
れ得る。したがってこれらは有用かつ効果的なループカ
ウンタである。
C)は2つの主要なロジックの処理グループを含む。シ
フト/マスク/マージユニットはすべてのシフト動作な
らびにオペランドのマスキングおよびマージングを行な
う。シフトロジック488は、示されるように上述のレ
ジスタの1つの内容を、MUX490およびMUX49
1を介しての入力データとして選択する。シフト方向や
長さなどのシフト制御が、コマンドデコードロジック4
46から得られる。シフト動作の結果はマスクロジック
492に送られる。マスクロジック942はライン49
4を介してMMRGレジスタ470からマスクビットパ
ターンを表わす入力データをも得る。マスクロジック4
92の結果はマージロジック496に送られる。マージ
ロジック496は、ライン498を介してREGA46
8から、またはMUX489によってマルチプレクスさ
れた内部レジスタの1つから、局所記憶414内のアド
レスを表わす入力データをも受取る。マージロジック4
96はライン494を介してMMRGレジスタからマー
ジビットパターンを得る。シフト/マスク/マージ動作
の結果は、ライン502およびMUX504を介してア
キュムレータ442に送られる。
算を行なう。これはファイルキャッシュシステム18に
おいてuSBCがDM48上にあるかHIA52コンポ
ーネント上にあるかに応じて、32ビットのデータワー
ドか36ビットのデータワードかのどちらかを処理す
る。ALU448はMUX489を介して内部レジスタ
およびREGA468のうち1つ、またはライン494
を介してMMRG470から、オペランドデータを選択
する。これはまた、ライン450を介してコマンドデコ
ードロジック446からコマンド情報をも得る。算術ま
たは論理演算の結果はMUX504およびライン508
を介してアキュムレータ442(図23参照)内に記憶
される。
スからMUX504を介して記憶すべきデータを選択す
る。第1のソースはライン438を介してデータを送る
退避プログラムカウンタ436である。退避プログラム
カウンタ436からのデータは実行されている命令のア
ドレスを表わす。第2のソースはライン508を介して
のALU448からの出力である。第3のソースはライ
ン512を介して命令からの即値移動データまたは内部
レジスタの1つからのデータを送るMUX510であ
る。第4のソースはライン502を介してのシフト/マ
スク/マージロジックのグループからの出力である。
4を介して後続する命令の実行のためのオペランドとし
てMUX490によって選択されてもよい。アキュムレ
ータ442の内容はライン514を介して局所記憶41
4内にも記憶されてよい。アキュムレータ442の内容
はまた、マイクロバス218に接続されたステーション
のレジスタにも書込まれてよい。バス制御ロジック51
6は双方向マイクロバス218を介しての転送を制御す
る。
C)がスレーブuSBCであった場合、アキュムレータ
442の内容はライン230を介してマスタuSBCに
送られ、マスタuSBCのアキュムレータに記憶されて
いる結果と比較される。チェッカロジック518は2つ
の値を比較し、2つの値が等しくなかった場合uSBC
停止ロジック520(図22参照)に対し致命的エラー
を示す。その後uSBC停止ロジック520がマイクロ
プロセッサを停止させる。ステーションエラー522ま
たはステーションアボート524信号を介してステーシ
ョンの1つからエラーの表示が受取られた場合にも処理
は停止される。これらの信号はステーションエラー検出
ロジック525によって処理され、エラー表示はuSB
C停止ロジック520に送られる。次にロックバス信号
324が送られて、問題があるということを他のステー
ションに知らせる。複数継続エラー検出ロジック526
は、ライン528を介してMUX460からuSBCに
よって受取られる複数の継続信号に関するエラーを検出
する。そのようなエラーが起こると、uSBC停止ロジ
ック520はマイクロプロセッサを停止させる。最後
に、内部で故障が起こると、内部故障捕捉ロジック52
9がエラーを検出し、uSBC停止ロジック520に知
らせる。
たは半語モードのいずれかで受取られる。語モードで
は、データはuSBCのモード設定に従って32ビット
または36ビットのいずれかからなる。半語モードで
は、データはやはりuSBCのモード設定に従って16
ビットまたは18ビットのいずれかからなる。マイクロ
バス218を介して受取られたデータは半語信号532
の設定に応じてMUX530によって選択された後、バ
ス受取レジスタ472内に記憶される。半語信号が存在
する場合、バス受取レジスタ472に送られたデータに
おけるビットのうち下位の半分が0にされる。
C)は、バスビジーライン534を操作することによっ
てマイクロバス218を介してデータを送信していると
いうことをステーションに知らせる。バスビジーロジッ
ク536は、入力として、ライン454を介してコマン
ドデコードロジック446からのコマンド情報を、およ
びライン458を介してステーションデコードロジック
456からステーション識別情報を、受取る。バスビジ
ーロジック536はuSBCがアキュムレータ442か
らのデータをマイクロバス218を介してその特定のス
テーションに転送しているとき、対応するバスビジーラ
インをハイに設定する。
は、ステーション作業制御ロジック452によって管理
される。ステーション作業制御452は8個のソース信
号540、データ宛先信号308、8個の外部条件分岐
信号320のうち4つ、ラッチセット信号312、およ
びラッチクリア信号316をセットしたりクリアしたり
することによってuSBC/ステーション通信プロトコ
ルを実現する。バス待ちロジック548はそれがデータ
転送に利用可能でなければステーション作業制御452
がマイクロバス218にアクセスしようとはしないこと
を保証する。
ットは7つの命令を含む。
ロケーションへ、制御記憶224から局所記憶414ま
たはレジスタへ、もしくはアキュムレータ442からマ
イクロバス218に接続されたいずれかのステーション
におけるレジスタへ、データを移動するのに用いられ
る。図26は、移動命令の一般的フォーマットを示す。
CMDフィールド(ビット0〜2)550は、0に等し
いとき、それがMOVE命令であると特定する。Xフィ
ールド(ビット3)552はセットされているとき、イ
ンデックス付けされたアドレス指定モードが選択される
ということを示す。Iフィールド(ビット4)554は
セットされているとき、この命令のためのすべてのデー
タ参照が完了してから1だけ増分されるべきSIXR4
84をもたらす。ソースフィールド(ビット18〜2
1)556はデータのレジスタソースを示す。示され得
るレジスタはLSBR476、MDOR478、MDI
R480、ACC442、FLGR482、BUSR4
72、SIXR484、およびDIXR486である。
宛先フィールド(ビット33〜45)558はデータの
宛先を特定する。Mフィールド(ビット5)560はセ
ットされるとMOVE命令が実行されるべきであるとい
うことを示す。Mフィールドがクリアされていれば、N
OP命令が行なわれる。
されると即値オペランドが命令のビット14〜31から
宛先フィールド(ビット33〜43)558によって特
定される局所記憶414アドレスに移動されるべきであ
ることを示す。Hフィールド(ビット8)564がセッ
トされていれば、即値オペランドは局所記憶414のメ
モリロケーションにおけるビット0〜17にロードされ
る。Hフィールド564がクリアされていれば、即値オ
ペランドは局所記憶414のメモリロケーションにおけ
るビット18〜35にロードされる。uSBCが32ビ
ットモードで動作していれば、データはHフィールド5
64の設定に応じて、局所記憶412のメモリロケーシ
ョンにおけるビット4〜17またはビット18〜35に
書込まれる。Cフィールド562がセットされており、
かつビット33がセットされている場合、命令のビット
41〜43は、即値オペランドのレジスタ宛先を示す。
レジスタ宛先はLSBR476、MDOR478、MD
IR480、ACC442、SIXR484、またはD
IXR486であってもよい。Dフィールド(ビット3
2)566は、MOVE命令のための宛先アドレスを得
るのに局所記憶のベース付きアドレス指定が用いられる
べきであるかどうかを示す。
アされていれば、内部レジスタの1つ(LSBR47
6、MDOR478、MDIR480、ACC442、
FLGR482、BUSR472、SIXR484、ま
たはDIXR486)から局所記憶への移動を示す。E
フィールド568がセットされていれば、外部移動、す
なわち制御記憶224からの、またはステーションのレ
ジスタへのデータの移動を示す。ビット9〜17 57
0および22〜31 572は未使用である。
らのデータを得るのに用いられる。図27は外部ソース
命令のフォーマットを示す。CMDフィールド(ビット
0〜2)574は4に等しいとき、これがXSRC命令
であると特定する。Xフィールド(ビット3)576は
セットされていれば、インデックス付けされたアドレス
指定モードが選択されていることを示す。Iフィールド
(ビット4)578はセットされていると、この命令の
ためのすべてのデータ参照が完了してからSIXR48
4が1だけ増分されるようにする。ビット5〜32 5
80は未使用である。ソースアドレスフィールド(ビッ
ト33〜43)582はデータがそこから読出される外
部レジスタのアドレスを特定する。ソースアドレスのフ
ォーマットは図14に示したようなものである。この命
令によってフェッチされるデータはBUSR472に記
憶される。
あるかステーション上に存在するかのいずれかであるデ
ジグネータをセットまたはクリアする。図28は、セッ
ト/クリア命令のフォーマットを示す。CMDフィール
ド(ビット0〜2)584は2に等しい場合、これがS
TCL命令であると特定する。Xフィールド(ビット
3)586は、セットされていればインデックス付けさ
れたアドレス指定モードが選択されることを示す。Iフ
ィールド(ビット4)588は、セットされていれば、
この命令のためのすべてのデータ参照の完了後にSIX
R484を1だけ増分させる。S/Cフィールド(ビッ
ト5)590は、デジグネータに対しセット動作(S/
Cフィールドが1の場合)またはクリア動作(S/Cフ
ィールドが0の場合)が行なわれるべきであることを示
す。Eフィールド(ビット6)592がセットされてい
れば、参照されるべきデジグネータがステーション上に
位置づけられる。ビット33〜43は、セットまたはク
リアされるべきデジグネータのアドレスであるバスS/
Cアドレス594を含み、ビット7〜32 596は未
使用である。図29は内部フラグの操作のためのセット
/クリア命令のフォーマットを示す。Eフィールド59
2がクリアされていれば、セットまたはクリアされるべ
きビットはフラグレジスタマスクフィールド(ビット2
8〜43)598によって規定され、ビット7〜27
600は未使用である。フラグレジスタマスクフィール
ド598は、FLGR482における16個のフラグの
うちどれがセットまたはクリアされるべきであるかとい
うことをマスタビットの形で示す。
実行シーケンスを変えるのに用いられる。図30は内部
分岐命令のフォーマットを示す。CMDフィールド(ビ
ット0〜2)602は6に等しい場合、これがBRCH
命令であると特定する。Xフィールド(ビット3)60
4は、セットされていればインデックス付けされたアド
レス指定モードが選択されることを示す。Iフィールド
(ビット4)606がセットされていれば、この命令の
ためのすべてのデータ参照の完了後にSIXR484を
1だけ増分させる。STフィールド(ビット5〜6)6
08はBRCH命令の間コール/リターンスタック43
2を制御する。STフィールド608が1であり、分岐
条件が真であると評価された場合、この命令の処理はコ
ール/リターンスタック432からアドレスをポップす
ることを含む。STフィールド608が2であり、分岐
条件が真であると評価された場合、この命令の処理はコ
ール/リターンスタック432のリセットを含む。ST
フィールド608が3の場合、ジャンプ履歴テーブル4
34にもたらされるエントリはない。
が起こるのが真の値(F=0)においてであるのか偽の
値(F=1)においてであるのかを示す。Tフィールド
(ビット8)612がセットされている場合、これはテ
ーブル分岐命令が実行されるべきであるということを示
す。MDフィールド(ビット9〜11)614は分岐命
令のための動作のモードを特定する。Rフィールド(ビ
ット32)616はこの命令のための入力レジスタとし
てBUSR472(R=0の場合)またはACC422
(R=1の場合)のいずれかを選択する。Tフィールド
612がクリアされていれば、命令は内部分岐または外
部分岐のいずれかである。MDフィールド614は分岐
が内部のもの(MD=0の場合)であるのか、外部のも
の(MD=4の場合)であるのかを特定する。分岐が内
部または外部のものであったならば、制御記憶アドレス
フィールド(ビット17〜31)618が、分岐条件が
満たされた場合に次のマイクロコード命令がフェッチさ
れるべき制御記憶224内のアドレスを特定する。
ィールド(ビット40〜43)620は分岐の起こる条
件を示す。MDフィールド614が0、1、または2で
あれば、CONDフィールド620は9であり(これは
FLGR482ビットの設定によって条件付けられた分
岐を示す)、FLAGフィールド(ビット13〜16)
622は分岐条件が真となるためにはFLGR482に
おけるどのデジグネータをセットしなければならないか
を示す。Mフィールド(ビット12)624は変更され
た分岐命令を示す。Mがセットされている場合、プログ
ラム制御は常に次の順次的マイクロコード命令に転送さ
れる。しかしながら、BRCH命令によって示された条
件は、分岐が起こるべきではなくてもFLAGフィール
ド622によって選択されるFLGR482ビット内に
記憶される。ビット33〜39626は未使用である。
示す。分岐が外部のものである場合、宛先フィールド
(ビット33〜43)628は、分岐条件のために評価
されるべき値を保持するステーション上に存在するレジ
スタを特定する。外部分岐命令と通常の分岐命令との違
いは、外部分岐命令が分岐が起こるべきであるかどうか
を定めるのにuSBC(ステーション上のデジグネー
タ)の外部にあるステータスを用いるということであ
る。uSBCはこの外部ステータスフラグにアクセスす
ることにより、値をマイクロバス218を介してフェッ
チしてから評価するのではなく、分岐命令のために行な
われている他のステップと並行して分岐条件を得て、そ
れを評価する。uSBCは外部分岐命令の宛先フィール
ド628によって特定されるステーションに存在するデ
ジグネータの外部テストを開始する。この要求が行なわ
れている一方で、uSBCは分岐が行なわれないであろ
うと仮定して制御記憶224のメモリ内の次の命令のア
ドレスをゲットし、それを記憶する。uSBCはまた、
外部分岐命令の制御記憶アドレス618フィールドによ
って特定される分岐アドレスをも読出す。デジグネータ
の条件が外部分岐信号443を介して届くと、分岐ロジ
ック440がデジグネータによって特定された条件の値
に応じて次のアドレスまたは分岐アドレスのいずれかを
用い、次の命令の実行のための制御を転送する。デジグ
ネータのテストとアドレスのフェッチとが並行して行な
われるので、この命令の実行時間は最小限にされる。
トを示す。分岐がテーブル分岐である場合(Tフィール
ド612がセットされている場合)、ソースAフィール
ド(ビット12〜21)630は分岐テーブルのベース
値がそこからフェッチされ、BUSR472またはAC
C442のいずれかに記憶されたデータとマージされ
る、局所記憶414内のアドレスを示す。マージロジッ
ク496はマスクMフィールド(ビット22〜31)6
32によって特定される局所記憶アドレスに記憶された
マスク/マージ制御ワードを用いる。この計算の結果
は、分岐条件が満たされると制御が分岐すべき制御記憶
224内のアドレスを含む局所記憶414内のアドレス
である。
あたっての局所記憶と内部レジスタとの関係を示すブロ
ック図である。局所記憶414は分岐テーブル430を
含み、これは制御記憶224内のマイクロコード命令の
アドレスを保持するものである。アドレスはベースアド
レス(BADR)634から始めて局所記憶414内に
記憶される。BADR634におけるメモリロケーショ
ンの内容は分岐アドレス0である。値BADRがシステ
ムの初期設定時にメモリロケーション636において局
所記憶414に記憶され、続いてテーブル分岐命令のソ
ースAフィールド630によって指し示される。同様
に、マスクの値がテーブル分岐命令のマスクMフィール
ド632によって指し示されるメモリロケーション63
8に記憶されている。図34は、テーブル分岐命令の実
行の間に行なわれるステップを説明するフローチャート
である。開始ステップ640から、uSBCは分岐の条
件642を評価する。ステップ644で分岐が行なわれ
ない場合、ノー経路646がとられ、uSBCは制御記
憶224における次の順次的アドレス648を実行し、
終了ステップ650でテーブル分岐命令の実行を終了す
る。
あれば、イエス経路652がとられ、uSBCはソース
A630のロケーション636に記憶されるベースアド
レス(BADR)をREGA468にロードすることに
よってステップ654を行なう。次に、ステップ656
が行なわれて、マスクM632ロケーション638に記
憶されていたマスクがMMRG470にロードされる。
次にステップ658でマージ動作が行なわれて、マスク
値に従いBADRとインデックスとをマージさせる。こ
こでインデックスはBUSR472またはACC442
のいずれかから得られた値である。レジスタBUSR4
72またはACC442にはテーブル分岐命令の直前の
命令が完了した際にインデックス値がロードされる。マ
ージ動作の結果値は局所記憶414に記憶された分岐テ
ーブル430におけるアドレスである。この分岐アドレ
スはステップ660でBADR+インデックスによって
特定される分岐テーブルロケーションから読出される。
プログラム制御はステップ662における分岐アドレス
にストアされた命令を実行することによってこのアドレ
スに転移され、テーブル分岐命令の処理はステップ65
0で終了する。
令 算術論理およびシフト命令が、局所記憶414に結果を
記憶するすべての算術、論理、およびシフト動作を実行
するのに用いられる。図35は、算術論理およびシフト
命令のフォーマットを示す。CMDフィールド(ビット
0〜2)664は5に等しければ、これがALUI命令
であると特定する。Xフィールド(ビット3)666は
セットされていれば、インデックス付けされたアドレス
指定モードが選択されることを示す。Iフィールド(ビ
ット4)668がセットされた場合、この命令のための
すべてのデータ参照の完了後にSIXR484を1だけ
増分させる。Sフィールド(ビット5)670はセット
された場合、行なわれるべき動作がシフトであることを
示す。Sフィールドがクリアされていれば、算術または
論理演算が行なわれるべきであるということである。D
フィールド(ビット32)672がセットされていれ
ば、LSBR476から宛先フィールド(ビット33〜
43)674のための局所記憶アドレスのうち上位6ビ
ットが得られるということを示す。このようにして、ベ
ース付きアドレス指定がサポートされる。
Lフィールド(ビット6)676はそのシフトが左シフ
トであるのか(L=1の場合)、または右シフトである
のか(L=0の場合)を示す。カウントフィールド(ビ
ット7〜10)678はシフトされるべきビットの数を
特定する。ソースAフィールド(ビット12〜21)6
80は、この動作のためのオペランドAがそこからフェ
ッチされるべき局所記憶414内のアドレスを示す。オ
ペランドAはこの命令の処理の一部としてREGA46
8にロードされる。オペランドBはその前の命令の実行
中にマイクロバス218からBUSR472にロードさ
れている。マスクソースフィールド(ビット22〜3
1)682は、マスクおよびマージオペランドがフェッ
チされるべき局所記憶内のアドレスを示す。マスクおよ
びマージオペランドはMMRG470内に記憶される。
マスクおよびマージオペランドのフォーマットを示す。
偶数ビット(「M」で示す)はマスク値を表わし、奇数
ビット(「R」で示す)はマージ値を表わす。これらの
ビットはデータのマスキングおよびマージングを制御す
る。マスク/マージビットはオペランドのビット対に対
して動作する。したがって、マスク/マージビット対
(ビット0〜1、2〜3、4〜5など)は、オペランド
における対応するビット対を制御する。マスクビットが
セットされていれば、オペランドにおける対応するビッ
ト対は結果レジスタACC442に進められる。マスク
ビットがクリアされていれば、オペランドの対応するビ
ット対は結果レジスタACC442には進められず、そ
の代わり結果レジスタACC442におけるある特定の
ビット対がクリアされる。マージビットがセットされて
いれば、BUSR472に記憶されている第2のオペラ
ンドにおける対応するビット対が結果レジスタACC4
42に複写される。マージビットがクリアされていれ
ば、REGA468に記憶されている第1のオペランド
における対応するビット対が結果レジスタACC442
に複写される。
マスクおよびマージオペランドのフォーマットを示す。
オペランドのビット0〜3 686は無視される。
1)684がセットされていれば、シフトおよびマスク
がBUSRオペランド472に対して実行され、その後
BUSR472とオペランドAとのマージがマスクおよ
びマージオペランドに従って実行される。Rフィールド
684がクリアされていれば、シフトおよびマスクはオ
ペランドAに対して実行され、その後オペランドAとB
USR472とのマージがマスクおよびマージオペラン
ドに従って実行される。その結果は宛先フィールド(ビ
ット33〜43)674によって指定される局所記憶4
14のメモリロケーション内のアドレスに記憶される。
または論理演算が行なわれるべきであるということであ
る。図38は算術論理命令のフォーマットを示す。ビッ
ト6〜10はここではALUフィールド688として解
釈される。ALUフィールドは実行されるべきALU演
算のタイプを示す。図39は算術論理命令によってサポ
ートされる算術および論理演算のリストである。図38
に戻って、ソースBフィールド(ビット22〜31)6
90はオペランドBを含む局所記憶414アドレスを示
す。宛先フィールド(ビット33〜43)692は、ビ
ット33が0のときに動作の結果が記憶されるべき局所
記憶414のアドレスを示す。ビット33が1であれ
ば、どのレジスタに結果を記憶すべきかをビット41〜
43が示す。Rフィールド(ビット11)694がセッ
トされていれば、オペランドBは局所記憶414からフ
ェッチされるが、オペランドAはビット19〜21によ
って識別されるレジスタから読出されるということを示
す。Rフィールドがクリアされていれば、双方のオペラ
ンドが局所記憶からフェッチされる。レジスタ識別子を
以下に列挙する。
ット33〜43)692がuSBCの外部のアドレスを
示す(すなわちステーションのレジスタを指定する)と
いうことを除けば、ALUI命令と同じ機能を提供す
る。アドレスのフォーマットは図14に示したとおりで
ある。この命令については、CMDフィールド696は
3に設定される。
UR)命令 算術論理およびシフトレジスタ命令は、シフト、マスク
およびマージを、2つのオペランドではなく1つのオペ
ランドに行なえるのみであるということを除けば、AL
UIおよびALUX命令に類似である。図35に戻っ
て、Rフィールド684がクリアされている場合、これ
はソースAフィールド680がオペランドAのフェッチ
されるべき局所記憶414におけるアドレスであること
を示す。マスクソースフィールド682はマスクおよび
マージオペランドがフェッチされるべき局所記憶内のア
ドレスを示す。Rフィールド684がセットされている
場合、オペランドは上記の表に列挙した識別子に従いビ
ット19〜21によって選択されるレジスタである。D
フィールド(ビット32)672はここでは宛先フィー
ルドアドレスが外部アドレスなのか局所記憶アドレスな
のかを示す。Dフィールド672がクリアされていれ
ば、宛先フィールド674はビット33がクリアされて
いる場合に動作の結果が記憶されるべき局所記憶アドレ
スを示す。ビット33がクリアされていなければ、ビッ
ト41〜43が動作結果の宛先としてレジスタを示す。
明してきたが、当業者の能力および技術の範囲内でさら
なる発明的な作業を行なうことなくこの発明を様々な変
形、動作の態様、および実施の対象とできることは明ら
かである。したがって、特許によって保護されるべく意
図されるものは、前掲の特許請求の範囲において述べら
れる。
セスがどのようになし遂げられるかを示すフロー図であ
る。
ェアおよびソフトウェアコンポーネントの機能的ブロッ
ク図である。
る。
ダプタのコンポーネントの一部を示す詳細なブロック図
である。
ダプタのコンポーネントの一部を示す詳細なブロック図
である。
ロック図である。
路を示すブロック図である。
ータ移動装置である場合のマイクロバスのデータ経路の
ためのパリティ領域を示す図である。
ホストインタフェースアダプタである場合のマイクロバ
スのデータ経路のためのパリティ領域を示す図である。
ティ経路を示すブロック図である。
ティ領域がどのように分布しているかを示すブロック図
である。
よって行なわれるアドレスパリティチェックの2つのレ
ベルを示すブロック図である。
トを示す図である。
を示すブロック図である。
ロバスへ出力される5つの制御信号を示すブロック図で
ある。
制御装置に出力される4つの制御信号を示すブロック図
である。
である。
ポーネントを示すブロック図である。
る。
クチャの一部を示す詳細図である。
クチャの一部を示す詳細図である。
クチャの一部を示す詳細図である。
クチャの一部を示す詳細図である。
である。
る。
る。
である。
令のフォーマットを示す図である。
る。
る。
ある。
内部レジスタとの関係を示すブロック図である。
テップを説明するフロー図である。
示す図である。
びマージオペランドのフォーマットを示す図である。
びマージオペランドのフォーマットを示す図である。
る。
よび論理演算のリストである。
Claims (25)
- 【請求項1】 コンピュータシステムに組込まれた他の
サブシステムに結合されるよう設計されるマイクロシー
ケンサバス制御装置サブシステムであって、 予め定められた命令が記憶されるアドレス指定可能なメ
モリを含む制御記憶と、 前記制御記憶に結合される第1および第2のマイクロプ
ロセッサとを含み、前記第1および第2のマイクロプロ
セッサは前記制御記憶からフェッチされた前記予め定め
られた命令を並行して同時に実行するよう機能し、前記
第1のマイクロプロセッサは前記第1のマイクロプロセ
ッサまたは前記第2のマイクロプロセッサのどちらかに
よる前記予め定められた命令の実行の間に発生するエラ
ーを検出するよう第1のマイクロプロセッサによる前記
規定された命令の実行の結果を前記第2のマイクロプロ
セッサによる前記予め定められた命令の実行の結果と比
較する回路を含み、さらに、 前記第1および第2のマイクロプロセッサに接続される
双方向バスと、 前記双方向バスと前記他のサブシステムとに結合される
複数のステーションとを含み、前記ステーションの任意
の2つの間でデータを転送し前記ステーションの任意の
1つと前記他のサブシステムとの間でデータを転送する
ように、予め定められた数の前記ステーションは前記第
1のマイクロプロセッサによって制御され、残りの数の
前記ステーションは前記第2のマイクロプロセッサによ
って制御される、マイクロシーケンサバス制御装置サブ
システム。 - 【請求項2】 前記第1および第2のマイクロプロセッ
サは第1の選択されるサイズのデータ語または第2の選
択されるサイズのデータ語を処理するための回路を含
む、請求項1に記載のマイクロシーケンサバス制御装置
サブシステム。 - 【請求項3】 前記第1の選択されるサイズは1データ
語につき32ビットであり前記第2の選択されるサイズ
は1データ語につき36ビットである、請求項2に記載
のマイクロシーケンサバス制御装置サブシステム。 - 【請求項4】 前記ステーションの数は8である、請求
項1に記載のマイクロシーケンサバス制御装置サブシス
テム。 - 【請求項5】 前記第1のマイクロプロセッサによって
制御されるステーションの前記予め定められた数は4で
あり前記第2のマイクロプロセッサによって制御される
ステーションの前記残りの数は4である、請求項4に記
載のマイクロシーケンサバス制御装置サブシステム。 - 【請求項6】 前記第1および第2のマイクロプロセッ
サは縮小命令セット計算(RISC)機であり、前記予
め定められた命令を処理することのできる回路による、
より速い命令デコードおよび実行時間によって前記マイ
クロシーケンサバス制御装置サブシステムのスループッ
トが改良される、請求項1に記載のマイクロシーケンサ
バス制御装置サブシステム。 - 【請求項7】 前記予め定められた命令は、移動、外部
ソース、セット/クリア、分岐、算術論理およびシフ
ト、算術論理および外部シフト、ならびに算術論理およ
びシフトレジスタ命令を含む、請求項6に記載のマイク
ロシーケンサバス制御装置サブシステム。 - 【請求項8】 前記予め定められた命令のサイズは固定
された数の語である、請求項6に記載のマイクロシーケ
ンサバス制御装置サブシステム。 - 【請求項9】 前記制御記憶は複数のスタティックラン
ダムアクセスメモリモジュールを含む、請求項1に記載
のマイクロシーケンサバス制御装置サブシステム。 - 【請求項10】 前記第1および第2のマイクロプロセ
ッサと前記双方向バスと前記ステーションとに結合され
サブシステム初期設定機能と保守機能と同期化機能とを
制御する保守およびクロック制御回路をさらに含む、請
求項1に記載のマイクロシーケンサバス制御装置サブシ
ステム。 - 【請求項11】 コンピュータサブシステムに組込まれ
る他のサブシステムと結合されるよう設計されるマイク
ロシーケンサバス制御装置サブシステムであって、 予め定められた命令を記憶するための制御記憶手段と、 前記制御記憶に結合される第1および第2のプログラマ
ブルディジタルデータ処理手段とを含み、前記第1およ
び第2のプログラマブルディジタルデータ処理手段は前
記制御記憶手段からフェッチされる前記予め定められた
命令を同時に並行して実行するよう機能し、前記第1の
プログラマブルディジタルデータ処理手段は前記第1の
プログラマブルディジタルデータ処理手段または前記第
2のプログラマブルディジタルデータ処理手段のいずれ
かによる前記予め定められた命令の実行の間に生じるエ
ラーを検出するために前記予め定められた命令の前記第
1のプログラマブルディジタルデータ処理手段による実
行の結果を前記予め定められた命令の前記第2のプログ
ラマブルディジタルデータ処理手段による実行の結果と
比較するための手段を含み、さらに、 前記第1および第2のプログラマブルディジタルデータ
処理手段に結合されデータおよび制御信号の転送を容易
にする双方向バス手段と、 前記双方向バス手段と前記他のサブシステムとに接続さ
れる複数の処理手段とを含み、任意の2つの前記処理手
段の間でデータを転送し、任意の1つの前記処理手段と
前記他のサブシステムとの間でデータを転送するため
に、予め定められる数の前記処理手段は前記第1のプロ
グラマブルディジタルデータ処理手段によって制御さ
れ、残りの数の前記処理手段は前記第2のプログラマブ
ルディジタルデータ処理手段により制御される、マイク
ロシーケンサバス制御装置サブシステム。 - 【請求項12】 前記第1および第2のプログラマブル
ディジタルデータ処理手段は第1の選択されるサイズの
データ語または第2の選択されるサイズのデータ語のど
ちらも処理するための手段をさらに含む、請求項11に
記載のマイクロシーケンサバス制御装置サブシステム。 - 【請求項13】 前記第1の選択されるサイズは1デー
タ語につき32ビットであり、前記第2の選択されるサ
イズは1データ語につき36ビットである、請求項12
に記載のマイクロシーケンサバス制御装置サブシステ
ム。 - 【請求項14】 前記複数の処理手段の数は8である、
請求項11に記載のマイクロシーケンサバス制御装置サ
ブシステム。 - 【請求項15】 前記第1のプログラマブルディジタル
データ処理手段によって制御される処理手段の前記予め
定められた数は4であり、前記第2のプログラマブルデ
ィジタルデータ処理手段によって制御される処理手段の
前記残りの数は4である、請求項14に記載のマイクロ
シーケンサバス制御装置サブシステム。 - 【請求項16】 前記制御記憶手段はデータを記憶する
ための複数のメモリ手段を含む、請求項11に記載のマ
イクロシーケンサバス制御装置サブシステム。 - 【請求項17】 前記第1および第2のプログラマブル
ディジタルデータ処理手段は前記処理手段の1つにある
デジグネータの値を得、セットし、またはクリアするた
めの手段を含む、請求項11に記載のマイクロシーケン
サバス制御装置サブシステム。 - 【請求項18】 双方向バスによって互いに接続されか
つコンピュータシステムの他のサブシステムに接続され
る複数のステーションを制御するための方法であって、
ステーションを制御する機構は制御記憶メモリに記憶さ
れる同じ予め定められた命令を同時に並行して実行する
第1および第2のマイクロプロセッサを含み、前記方法
はさらに、 (a) 制御記憶メモリから、予め定められる命令の1
つをフェッチし、それを第1および第2のマイクロプロ
セッサの各々にある命令レジスタにロードするステップ
と、 (b) 要求されるコマンドと前記要求されるコマンド
によってアクセスされるべき要求されるステーションと
を判断するために前記予め定められた命令をデコードす
るステップと、 (c) 第1および第2のマイクロプロセッサの各々の
内部レジスタから、もしくは第1および第2のマイクロ
プロセッサの各々の内部ローカル記憶メモリから、また
は双方向バスで前記オペランドを転送することにより前
記要求されるステーションにあるデジグネータから、前
記予め定められた命令によって特定されるオペランドを
フェッチするステップと、 (d) 前記要求されるコマンドを実行するステップ
と、 (e) 前記内部レジスタ、もしくは前記内部ローカル
記憶メモリ、または前記要求されるステーションにある
前記デジグネータに、前記要求されるコマンドの実行の
結果を記憶するステップと、 (f) 前記結果が異なる場合にエラーを検出するため
に、第2のマイクロプロセッサによる前記要求されるコ
マンドの実行の前記結果を第1のマイクロプロセッサに
よる前記要求されるコマンドの実行の結果と比較するス
テップと、 (g) 何らかのエラーが検出された場合に第1および
前記第2のマイクロプロセッサを停止する手段と、 (h) エラーが全く検出されない場合はステップ
(a)に戻るステップとを含む、双方向バスによって互
いに接続されかつコンピュータシステムの他のサブシス
テムに接続される複数のステーションを制御するための
方法。 - 【請求項19】 ファイルキャッシュシステムに組込ま
れる他のサブシステムに結合されるよう設計されるマイ
クロシーケンサバス制御装置サブシステムであって、 予め定められた固定長の命令が記憶される、複数のスタ
ティックランダムアクセスメモリを含む制御記憶と、 前記制御記憶に結合される第1および第2の縮小命令セ
ットマイクロプロセッサとを含み、前記第1および第2
の縮小命令セットマイクロプロセッサは前記制御記憶か
らフェッチされる前記予め定められた固定長の命令を同
時に並行して実行するよう機能し、前記第1の縮小命令
セットマイクロプロセッサは前記第1の縮小命令セット
マイクロプロセッサまたは前記第2の縮小命令セットマ
イクロプロセッサのいずれかによる前記予め定められた
固定長の命令の実行の間に生じるエラーを検出するため
に、前記第1の縮小命令セットマイクロプロセッサによ
る前記予め定められた固定長の命令の実行の結果を前記
第2の縮小命令セットマイクロプロセッサによる前記予
め定められた固定長の命令の実行の結果と比較する回路
を含み、さらに、 データ、アドレスおよび制御信号を含む、前記第1およ
び第2の縮小命令セットマイクロプロセッサに接続され
る双方向バスと、 前記双方向バスと前記ファイルキャッシュシステム内の
前記他のサブシステムとに接続される複数のステーショ
ンとを含み、任意の2つの前記ステーションの間でデー
タを転送し、任意の1つの前記ステーションと前記他の
サブシステムとの間でデータを転送するために、予め定
められる数の前記ステーションは前記第1の縮小命令セ
ットマイクロプロセッサによって制御され、残りの数の
前記ステーションは前記第2の縮小命令セットマイクロ
プロセッサによって制御される、マイクロシーケンサバ
ス制御装置サブシステム。 - 【請求項20】 前記第1および第2の縮小命令セット
マイクロプロセッサは第1の選択されるサイズのデータ
語または第2の選択されるサイズのデータ語のいずれも
処理するための回路を含む、請求項19に記載のマイク
ロシーケンサバス制御装置サブシステム。 - 【請求項21】 前記第1の選択されるサイズは1デー
タ語につき32ビットであり、前記第2の選択されるサ
イズは1データ語につき36ビットである、請求項20
に記載のマイクロシーケンサバス制御装置サブシステ
ム。 - 【請求項22】 前記複数のステーションの数は8であ
る、請求項19に記載のマイクロシーケンサバス制御装
置サブシステム。 - 【請求項23】 前記第1のマイクロプロセッサによっ
て制御されるステーションの前記予め定められた数は4
であり、前記第2のマイクロプロセッサによって制御さ
れるステーションの前記残りの数は4である、請求項2
2に記載のマイクロシーケンサバス制御装置サブシステ
ム。 - 【請求項24】 前記第1および第2の縮小命令セット
マイクロプロセッサは、 前記予め定められた固定長命令に含まれる、要求される
コマンドと、1つ以上のオペランドと、選択されるステ
ーションとを判断するための命令デコード回路と、 前記要求されるコマンドのためのオペランドと前記要求
されるコマンドからの結果とを記憶するための内部レジ
スタと、 前記要求されるコマンドのためのオペランドと前記要求
されるコマンドからの結果とを記憶するためのローカル
記憶メモリと、 前記オペランドで前記要求されるコマンドを実行するた
めの算術、論理およびシフト回路と、 前記ステーションから前記オペランドを読出し前記ステ
ーションへ前記結果を書込むために前記ステーションと
通信するステーション作業制御回路と、 前記予め定められたセットの固定長の命令の命令実行制
御を分岐するための有効な条件を判断するための分岐制
御回路と、 前記ステーションで生ずるエラーと前記第1および第2
の縮小命令セットマイクロプロセッサの内部のエラーと
を検出し、前記エラーの1つ以上が検出された場合には
前記第1および第2の縮小命令セットマイクロプロセッ
サを停止するエラー検出回路とを含む、請求項19に記
載のマイクロシーケンサバス制御装置サブシステム。 - 【請求項25】 サブシステム初期設定機能、保守機能
および同期化機能を制御するために前記第1および第2
のマイクロプロセッサと前記双方向バスと前記ステーシ
ョンとに結合される保守およびクロック制御回路をさら
に含む、請求項19に記載のマイクロシーケンサバス制
御装置サブシステム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US172657 | 1980-07-28 | ||
| US08/172,657 US5535405A (en) | 1993-12-23 | 1993-12-23 | Microsequencer bus controller system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH07281914A true JPH07281914A (ja) | 1995-10-27 |
Family
ID=22628634
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6319558A Pending JPH07281914A (ja) | 1993-12-23 | 1994-12-22 | マイクロシーケンサバス制御装置サブシステム |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5535405A (ja) |
| JP (1) | JPH07281914A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7742051B2 (en) | 2006-03-27 | 2010-06-22 | Seiko Epson Corporation | Device control using data communication |
Families Citing this family (35)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5732409A (en) * | 1994-03-21 | 1998-03-24 | Legend Research Limited | Caching disk controller implemented by hardwired logic |
| WO1996033464A1 (en) * | 1995-04-18 | 1996-10-24 | International Business Machines Corporation | Processing unit to clock interface |
| US5887146A (en) * | 1995-08-14 | 1999-03-23 | Data General Corporation | Symmetric multiprocessing computer with non-uniform memory access architecture |
| US5940826A (en) * | 1997-01-07 | 1999-08-17 | Unisys Corporation | Dual XPCS for disaster recovery in multi-host computer complexes |
| US5941966A (en) * | 1997-05-05 | 1999-08-24 | International Business Machines Corporation | Method and apparatus using a plural level processor for controlling a data bus |
| US6014758A (en) * | 1997-09-18 | 2000-01-11 | Intel Corporation | Method and apparatus for detecting and reporting failed processor reset |
| US6055660A (en) * | 1997-10-02 | 2000-04-25 | International Business Machines Corporation | Method for identifying SMP bus transfer errors |
| US6064948A (en) * | 1998-03-02 | 2000-05-16 | Tanisys Technology, Inc. | Tester systems |
| DE19832060C2 (de) * | 1998-07-16 | 2000-07-06 | Siemens Ag | Doppelbare Prozessoreinrichtung |
| US6574651B1 (en) | 1999-10-01 | 2003-06-03 | Hitachi, Ltd. | Method and apparatus for arithmetic operation on vectored data |
| US6546480B1 (en) | 1999-10-01 | 2003-04-08 | Hitachi, Ltd. | Instructions for arithmetic operations on vectored data |
| US6629115B1 (en) | 1999-10-01 | 2003-09-30 | Hitachi, Ltd. | Method and apparatus for manipulating vectored data |
| US7349992B2 (en) * | 2002-01-24 | 2008-03-25 | Emulex Design & Manufacturing Corporation | System for communication with a storage area network |
| EP1353271A3 (en) * | 2002-04-10 | 2007-09-12 | Alps Electric Co., Ltd. | Controller with fail-safe function |
| JP3757204B2 (ja) * | 2002-12-06 | 2006-03-22 | ファナック株式会社 | エラー検出/訂正方式及び該方式を用いた制御装置 |
| FR2857114B1 (fr) * | 2003-07-04 | 2005-09-30 | Arteris | Systeme et procede de communication entre des modules |
| US8516300B2 (en) * | 2005-08-29 | 2013-08-20 | The Invention Science Fund I, Llc | Multi-votage synchronous systems |
| US20070050605A1 (en) * | 2005-08-29 | 2007-03-01 | Bran Ferren | Freeze-dried ghost pages |
| US7779213B2 (en) * | 2005-08-29 | 2010-08-17 | The Invention Science Fund I, Inc | Optimization of instruction group execution through hardware resource management policies |
| US8423824B2 (en) * | 2005-08-29 | 2013-04-16 | The Invention Science Fund I, Llc | Power sparing synchronous apparatus |
| US7725693B2 (en) * | 2005-08-29 | 2010-05-25 | Searete, Llc | Execution optimization using a processor resource management policy saved in an association with an instruction group |
| US8181004B2 (en) * | 2005-08-29 | 2012-05-15 | The Invention Science Fund I, Llc | Selecting a resource management policy for a resource available to a processor |
| US8214191B2 (en) * | 2005-08-29 | 2012-07-03 | The Invention Science Fund I, Llc | Cross-architecture execution optimization |
| US8209524B2 (en) | 2005-08-29 | 2012-06-26 | The Invention Science Fund I, Llc | Cross-architecture optimization |
| US7627739B2 (en) * | 2005-08-29 | 2009-12-01 | Searete, Llc | Optimization of a hardware resource shared by a multiprocessor |
| US7739524B2 (en) * | 2005-08-29 | 2010-06-15 | The Invention Science Fund I, Inc | Power consumption management |
| US7512842B2 (en) * | 2005-08-29 | 2009-03-31 | Searete Llc | Multi-voltage synchronous systems |
| US7493516B2 (en) * | 2005-08-29 | 2009-02-17 | Searete Llc | Hardware-error tolerant computing |
| US8255745B2 (en) * | 2005-08-29 | 2012-08-28 | The Invention Science Fund I, Llc | Hardware-error tolerant computing |
| US7877584B2 (en) * | 2005-08-29 | 2011-01-25 | The Invention Science Fund I, Llc | Predictive processor resource management |
| US20070050606A1 (en) * | 2005-08-29 | 2007-03-01 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Runtime-based optimization profile |
| US7774558B2 (en) * | 2005-08-29 | 2010-08-10 | The Invention Science Fund I, Inc | Multiprocessor resource optimization |
| US7647487B2 (en) * | 2005-08-29 | 2010-01-12 | Searete, Llc | Instruction-associated processor resource optimization |
| KR100933806B1 (ko) * | 2008-09-22 | 2009-12-24 | 주식회사 하이닉스반도체 | 반도체 메모리장치 |
| US9983990B1 (en) * | 2013-11-21 | 2018-05-29 | Altera Corporation | Configurable storage circuits with embedded processing and control circuitry |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3864670A (en) * | 1970-09-30 | 1975-02-04 | Yokogawa Electric Works Ltd | Dual computer system with signal exchange system |
| US4607365A (en) * | 1983-11-14 | 1986-08-19 | Tandem Computers Incorporated | Fault-tolerant communications controller system |
| US4947316A (en) * | 1983-12-29 | 1990-08-07 | International Business Machines Corporation | Internal bus architecture employing a simplified rapidly executable instruction set |
| US4736317A (en) * | 1985-07-17 | 1988-04-05 | Syracuse University | Microprogram-coupled multiple-microprocessor module with 32-bit byte width formed of 8-bit byte width microprocessors |
| US4703421A (en) * | 1986-01-03 | 1987-10-27 | Gte Communication Systems Corporation | Ready line synchronization circuit for use in a duplicated computer system |
| JP2545789B2 (ja) * | 1986-04-14 | 1996-10-23 | 株式会社日立製作所 | 情報処理装置 |
| US4766566A (en) * | 1986-08-18 | 1988-08-23 | International Business Machines Corp. | Performance enhancement scheme for a RISC type VLSI processor using dual execution units for parallel instruction processing |
| US4992934A (en) * | 1986-12-15 | 1991-02-12 | United Technologies Corporation | Reduced instruction set computing apparatus and methods |
| EP0306211A3 (en) * | 1987-09-04 | 1990-09-26 | Digital Equipment Corporation | Synchronized twin computer system |
| US4965717A (en) * | 1988-12-09 | 1990-10-23 | Tandem Computers Incorporated | Multiple processor system having shared memory with private-write capability |
| US5377332A (en) * | 1989-10-02 | 1994-12-27 | Data General Corporation | Bus arbitration algorithm and apparatus |
| US5193206A (en) * | 1989-12-27 | 1993-03-09 | Motorola, Inc. | Reduce instruction set microprocessor |
| US5195101A (en) * | 1990-06-28 | 1993-03-16 | Bull Hn Information Systems Inc. | Efficient error detection in a vlsi central processing unit |
| US5226152A (en) * | 1990-12-07 | 1993-07-06 | Motorola, Inc. | Functional lockstep arrangement for redundant processors |
-
1993
- 1993-12-23 US US08/172,657 patent/US5535405A/en not_active Expired - Lifetime
-
1994
- 1994-12-22 JP JP6319558A patent/JPH07281914A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7742051B2 (en) | 2006-03-27 | 2010-06-22 | Seiko Epson Corporation | Device control using data communication |
| US8203565B2 (en) | 2006-03-27 | 2012-06-19 | Seiko Epson Corporation | Device control using data communication |
Also Published As
| Publication number | Publication date |
|---|---|
| US5535405A (en) | 1996-07-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5535405A (en) | Microsequencer bus controller system | |
| US5488702A (en) | Data block check sequence generation and validation in a file cache system | |
| US5276848A (en) | Shared two level cache including apparatus for maintaining storage consistency | |
| US6161208A (en) | Storage subsystem including an error correcting cache and means for performing memory to memory transfers | |
| US5752264A (en) | Computer architecture incorporating processor clusters and hierarchical cache memories | |
| US6594785B1 (en) | System and method for fault handling and recovery in a multi-processing system having hardware resources shared between multiple partitions | |
| US5410654A (en) | Interface with address decoder for selectively generating first and second address and control signals respectively in response to received address and control signals | |
| AU628525B2 (en) | Write back buffer with error correcting capabilities | |
| US5113514A (en) | System bus for multiprocessor computer system | |
| US5555391A (en) | System and method for storing partial blocks of file data in a file cache system by merging partial updated blocks with file block to be written | |
| US8793433B2 (en) | Digital data processing apparatus having multi-level register file | |
| JPH0454260B2 (ja) | ||
| EP0380845B1 (en) | An interface between a system control unit and a service processing unit of a digital computer | |
| US5630055A (en) | Autonomous pipeline reconfiguration for continuous error correction for fills from tertiary cache or memory | |
| US4549296A (en) | Device for reporting error conditions occurring in adapters, to the data processing equipment central control unit | |
| US8015363B2 (en) | Cache consistency in a multiprocessor system with shared memory | |
| US7464208B2 (en) | Method and apparatus for shared resource management in a multiprocessing system | |
| US6647468B1 (en) | Method and system for optimizing translation buffer recovery after a miss operation within a multi-processor environment | |
| US5737756A (en) | Dual bus computer network using dual busses with dual spy modules enabling clearing of invalidation queue for processor with store through cache while providing retry cycles for incomplete accesses to invalidation queue | |
| US7216252B1 (en) | Method and apparatus for machine check abort handling in a multiprocessing system | |
| EP0348616B1 (en) | Storage subsystem including an error correcting cache | |
| US5495598A (en) | Stuck fault detection for branch instruction condition signals | |
| AU606083B2 (en) | Interface between processor and special instruction processor in digital data processing system | |
| US5539888A (en) | System and method for processing external conditional branch instructions | |
| US5488706A (en) | Retry request system in a pipeline data processing system where each requesting unit preserves the order of requests |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040521 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040525 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20040824 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20040827 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041117 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050823 |