JPH0689269A - プロセッサの制御装置、プロセッサの休止装置およびそれらの方法 - Google Patents

プロセッサの制御装置、プロセッサの休止装置およびそれらの方法

Info

Publication number
JPH0689269A
JPH0689269A JP4059350A JP5935092A JPH0689269A JP H0689269 A JPH0689269 A JP H0689269A JP 4059350 A JP4059350 A JP 4059350A JP 5935092 A JP5935092 A JP 5935092A JP H0689269 A JPH0689269 A JP H0689269A
Authority
JP
Japan
Prior art keywords
processor
register
data
system bus
bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP4059350A
Other languages
English (en)
Inventor
Greg Woods
グレッグ・ウッズ
Basset Carroll
キャロル・バセット
Robert Campbell
ロバート・キャンプベル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH0689269A publication Critical patent/JPH0689269A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Information Transfer Systems (AREA)

Abstract

(57)【要約】 【目的】マルチプロセッサ・システムの複数のプロセッ
サへのアドレス指定およびデータ転送を迅速かつ高性能
に処理することを可能にする。 【構成】本発明は複数のプロセッサ毎に割り当てられ、
関連するプロセッサとシステム・バスと通信する。各プ
ロセッサを制御する本発明の一実施例ではビット・レジ
スタとワード・レジスタを備え、前記ビット・レジスタ
に実装された選択機能によって1またはそれ以上のプロ
セッサへ同時にメッセージを送ることが可能となる。ま
た、システム・バスのデータ・バイトをビット・スライ
スまたはマスクによって、上記のレジスタ・セットのイ
ネーブルを選択的におこなう。即ち、ビット・レジスタ
が活性化されると対応するワード・レジスタがイネーブ
ルされる。また、ビット・レジスタにポーズ・レジスタ
を実装することで、複数のプロセッサを任意に同時に休
止させる。さらに、識別レジスタを実装し、プロセッサ
の位置を読み出すことができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はコンピュータシステムに
関し、詳細にはマルチプロセッサ(MP)システムにお
いてプロセッサに対して高性能なアドレス指定とデータ
転送を提供するコンピュータ・アーキテクチャに関する
ものである。
【0002】
【従来の技術とその問題点】パーソナルコンピュータ
(PC)業界の急速な発展の結果として、従来のミニコ
ンピュータやメインフレーム・コンピュータによって処
理されていた高性能アプリケーションにハイエンドのP
Cが用いられるようになった。これら高性能アプリケー
ションは、PCユーザが納得するリアルタイム処理を提
供するため、たくさんの周辺装置との高速でのインタラ
クション及び膨大な量のデータの操作が要求される。
【0003】その結果、マルチプロセッサは、スピード
の最大化をするためにパラレルに実行することができる
タスクや応答性を割当てによってPCアーキテクチャに
インプリメント(implement)される。設計
上、マルチプロセッサ(MP)システムの個別プロセッ
サは通常マルチスレッドの命令セットを介して複数の命
令を同時に実行し、トランザクションを同時に処理す
る。
【0004】MPシステムに追加されるプロセッサが多
くなるほど、プロセッサの通信と制御はさらに複雑にな
る。一般に、プロセッサはいくつかのバスからなるバス
・ネットワークを介して通信しなければならない。さら
に、バス・ネットワークを通ってプロセッサのアドレス
指定とプロセッサへのデータ通信は、プロセッサの数が
増えるにつれてMPシステムにとって過剰の負担とな
る。一つの理由として、プロセッサの数の増加とともに
バス・ネットワーク上の交通量の増加が生じることが挙
げられる。なぜならば、より多くのプロセッサがアドレ
ス指定とデータ転送機能を実行するためにバスの制御を
めぐって競合するからである。したがって、MPシステ
ムが遅くなり、実行可能なプロセッサの総数が制限され
る。さらに、MPシステムに追加されるプロセッサが増
えると、プロセッサの時間遅延が増大すると同時にプロ
セッサがバスの制御をめぐって競合し、そして制御を受
けるまで待たなければならない。したがって、データの
同時処理によってスピードを増加させるプロセッサの追
加の目的は、プロセッサ時間の浪費に相当するプロセッ
サ遅延の増加によって達成することができない。
【0005】最後に、産業界にはPCアーキテクチャの
ための多様なバスやプロセッサが存在するため、上述の
問題に対する解決策はインプリメンテーションにあたっ
て柔軟性のあるものでなければならない。かかる解決法
は価格的に妥当なものとなるよう、MPシステムに組み
込むことができる市販の種々のバスやプロセッサのプロ
トコル及び互換性のあるモデルに対応できるものでなけ
ればならない。
【0006】
【発明の目的】本発明の目的は上述の問題点を解決し、
価格的に妥当なインプリメントが可能である、多重プロ
セッサ(MP)システムにおけるプロセッサへの高性能
なアドレス指定及びデータ転送を可能にすることにあ
る。
【0007】
【発明の概要】本願発明では、MPシステムの各プロセ
ッサに一つの装置が割り当てられる。この装置はシステ
ム・バス上の専用データ・ビットを認識するように適合
された少なくとも一つのビット・レジスタを有する。こ
の装置はさらにこのシステム・バス上のデータ・バイト
へのアクセスを有する少なくとも一つのワード・レジス
タを含むものである。この装置内の複合ロジックはシス
テム・バスと通信し、ビット・レジスタとワード・レジ
スタを制御する。
【0008】本発明の一実施例においては、「選択」機
能が考察されている。復号ロジックは選択レジスタと呼
ばれるビット・レジスタの状態にしたがってワード・レ
ジスタをインエーブル、あるいはディスエーブルとす
る。動作時には、このMPシステムの選択レジスタは次
のように用いられる。まず、一つあるいはそれ以上のプ
ロセッサを選択的に起動するデータ・バイトがシステム
・バス上に発生する。第二に、各選択レジスタにおいて
このデータ・バイトからの専用データ・ビットが認識さ
れる。第三に、各装置中の活性状態の専用データ・ビッ
トを認識するワード・レジスタがインエーブルとされ
る。最後に、前のステップで活性状態の専用データ・ビ
ットを受け取った各装置中のワード・レジスタが同時に
書き込まれる。このようにしてMPシステムの各プロセ
ッサに付随する選択レジスタはプロセッサの選択的かつ
同時制御を可能とすることができる。
【0009】本発明の他の実施例においては、MPシス
テムの各プロセッサに割り当てられた装置が「ポーズ
(pause)」機能を実行する。MPシステムの装置
は選択レジスタと同様にシステム・バス上のデータ・バ
イトからのデータ・ビットを認識するように適合された
ポーズ・レジスタを含む。しかし、ポーズ・レジスタは
関連するローカル・プロセッサをインエーブルとするか
あるいはディスエーブルとする。動作時には、ポーズ機
能は次のように実装(implement)される。ま
ず、一つあるいはそれ以上のプロセッサを選択的にポー
ズ(休止)させるデータ・バイトがシステム・バス上に
生成される。第二に、ポーズ・レジスタにおいてデータ
・バイトからの専用データ・ビットが認識される。最後
に、活性状態の、対応する専用データ・ビットを有する
一つあるいはそれ以上のプロセッサが夫々ポーズされ
る。したがって、、MPシステムのポーズ・レジスタは
一つあるいはそれ以上のプロセッサの選択的なポーズを
同時に可能とすることができる。
【0010】本発明のさらに他の実施例においては、こ
の装置内での「識別」機能の実装が考察されている。こ
の識別機能を実装するために、各プロセッサにビット識
別レジスタが結合される。識別レジスタは選択レジスタ
やポーズ・レジスタと同様にシステム・バス上の専用デ
ータ・ビットにアクセスするよう適合される。しかし、
各識別レジスタは、対応するローカル・プロセッサがデ
ータ・バスを介してすべての識別レジスタからの各専用
データ・ビットからなるデータ・バイトにアクセスして
いる時に、活性状態となる。したがつて、識別レジスタ
はシステム・バス上にデータ・バイトを集合的に提供
し、データ・バイトを要求したプロセッサの位置を示
す。動作時においては、識別レジスタは次のように達成
される。まず、ローカル・プロセッサに結合された識別
レジスタが、ローカル・プロセッサがデータ・バスを介
してすべての識別レジスタからの各専用データ・ビット
からなるデータ・バイトにアクセスしている時に活性状
態となる。第二に、このデータ・バイトがローカル・プ
ロセッサにおいてシステム・バスから読み出される。最
後に、このデータ・バイトに基づいてローカル・プロセ
ッサの位置がローカル・プロセッサにおいて判定され
る。したがって、MPシステムのこの識別レジスタはい
かなるプロセッサ中のプログラムもMPシステム中のこ
のプロセッサのアドレスあるいは位置を識別することを
可能とする。
【0011】本発明は上述した従来技術の問題点を克服
し、さらに以下の特徴と利点を提供するものである。ま
ず、本発明はMPシステム中のプロセッサを選択的かつ
同時に制御することを可能とし、それによってMPシス
テムの性能を向上させる。第二に、本発明はMPシステ
ムのバス上のアドレス指定やデータ通信を含む交通量を
低減する。その結果、MPシステム全体の応答とスピー
ドが向上し、それによってMPシステムにインターフェ
ースすることのできるプロセッサの数が増える。第三
に、本発明はこのMPシステムに組み込まれる可能性の
ある従来の種々のバスのプロトコルもしくは互換性モデ
ルを再定義することなく実行することができる。第四
に、本発明は汎用性のあるプロセッサの構成を可能とす
る。換言すれば、本発明は同種のあるいは異種のMPU
で実施することができる。たとえばINTEL型(米国
INTEL社製)のMPUとMOTOROLA型(米国
Motorola社製)のMPUを混在させることがで
きる。第五に、本発明はMPシステムにポーズ機能を実
装することを可能とする。MPシステムをデバッグする
ときは、いかなるプロセッサの、あるいは全プロセッサ
中のいかなる部分の動作も簡単に一時停止させることが
でき、他のプロセッサはその間分析することができる。
第六に、本発明はMPシステムに識別機能を実装するこ
とを可能とする。ある特定のMPUの動作中において、
プログラム・コードは関連する制御ユニットのレジスタ
・セット内のレジスタを読み出し、それによって自己の
識別を容易かつ迅速に行うことができる。本発明の他の
特徴および利点は、当業者には以下の詳細な説明を検討
することによって理解することができる。他のあらゆる
特徴と利点をここに含むべく意図するものである。
【0012】
【発明の実施例】
1.本発明のグローバル・アーキテクチャ 図1は本発明のアーキテクチャを示す。マルチプロセシ
ング(MP)システムはそれぞれのn個の中央処理装置
(CPU)108、110、112を夫々有するn個の
マイクロプロセッサ(MPU)102、104、106
を有する。図1のマルチプロセシング(MP)システム
はパーソナルコンピュータ(PC)中でインプリメント
することができる。
【0013】図1に示すように、n個のMPU102、
104、106は対話の目的上システム・バス114を
介して通信を行う。MPU102、104、106はい
くつかのアーキテクチャ的に絶縁されたバス上に配置す
ることができる。つまり、システム・バス114は適切
なインターフェースとバッファ・デバイスで相互接続さ
れた同種あるいは異種のバスの組合せとすることができ
る。さらに、n個のMPU102、104、106はい
ずれもI/Oスロット(図示せず)を介してシステム・
バス114に接続された従来の入出力(I/O)カード
(図示せず)上に配置することができる。
【0014】さらに、n個の制御ユニット122、12
4、126は対応するn個のMPU102、104、1
06の通信と制御を管理するために設けられている。n
個のMPU102、104、106にはそれぞれ専用の
外部制御ユニットが割り当てられている。さらにn個の
制御ユニット122、124、126はそれぞれMPシ
ステム中のそれらに対応するMPUの通信と制御を管理
する働きをする。
【0015】n個の制御ユニット122、124、12
6はそれぞれ対応するレジスタ・セットあるいはレジス
タの「スタック」を含む。図2に示すように、n個の制
御ユニット122、124、126はそれぞれに対応す
るn個のレジスタ・セット132、134、136を含
む。n個のレジスタ・セット132、134、136は
それぞれ対応する一つのCPU108、110、112
によって継続的にモニタされる。
【0016】2.制御ユニットのアーキテクチャ 図2は本発明の好適な一実施例である制御ユニットの詳
細なブロック図である。
【0017】説明を簡略化するために、制御ユニット1
22とそれに付随するMPU102だけを示す。しか
し、図2に示すアーキテクチャおよび以下の説明は制御
ユニット122、124、126のすべてに適用される
ものである。図2に示すように、制御ユニット122は
レジスタ・セット132と復号ロジック202を含む。
本発明によれば、レジスタ・セット132中のレジスタ
のいくつかはビット・レジスタ204であり、他はワー
ド・レジスタ206である。 A.ビットレジスタ 動作時において、復号ロジック202は制御バス208
を介してシステム・バス114からアドレスを読み出
す。このアドレスはデータ読みだしあるいはデータ書き
込みに対応する。したがって、ビット・レジスタのセッ
ト206中のある特定のビット・レジスタ(列)が復号
ロジック202によって選択され、あるいはインエーブ
ルとされる。
【0018】さらに、ビット・レジスタ204はすべて
データ・ライン210を介してシステム・バス114上
のある特定のデータ・ビットから読み出し及び書き込ま
れる。言い換えれば、システム・バス114上に送信さ
れる32ビットデータ・バイトは次に図3に基づいて詳
述するように「ビット・スライス(bit sliu
d)」される。またビット・レジスタを「ビット・マス
ク(bit mask)」し、それによって同じ機能を
提供するより大きなレジスタとすることも考察してい
る。したがって、以下の説明は後者の例にも適用するこ
とができる。
【0019】図3に示すように、n個の制御ユニット1
22、124、126はシステム・バス114上の各デ
ータ・バイト中の一つあるいはそれ以上の異なるビット
に報告、あるいはそれを聞く(listen)ことがで
きる。したがって、矢印302に示すように、制御ユニ
ット122にはシステム・バス114上のデータ・バイ
ト306のビット304が割り当てられる。矢印308
に示すように、制御ユニット124にはビット310が
割り当てられる。最後に、矢印312に示すように、n
番目の制御ユニット126にはビット314が割り当て
られている。
【0020】さらに、一つのI/Oカード上に一または
それ以上のn個のCPU108、110、112が設け
られ、n個の制御装置122、124、126のそれぞ
れに一つのデータビットだけが割り当てられた(一また
はそれ以上のデータ・ビットはビット・スライスされ
る)場合の実装を簡略化するために、割り当てられたビ
ットは関連するCPUからなるI/OカードのI/Oス
ロット番号と同じとすることができる。たとえば、図3
に示すように、参照番号318に示すようにスロット
「0」にあるI/Oカード316上のCPU108には
データ・ビット「0」あるいはビットbo が割り当てら
れる。さらに、符号322に示すようにスロット「1」
にあるI/Oカード320上のCPU110にはデータ
ビット「1」あるいはビットb1 が割り振られる。以下
同様である。
【0021】B.ワード・レジスタ 図2において、ワード・レジスタはデータ・バス212
を介してシステム・バス114上の32のデータ・ビッ
トからの読み出しおよびそこへの書き込みを行う。ワー
ド・レジスタのセット204中のある特定のレジスタ
(列(row))が、ビット・レジスタ206の場合の
動作と同様に、選択され復号ロジック202によってイ
ンエーブルとされる。
【0022】3・本発明の方法論 ビット・レジスタ、ビット・スライシング(あるいはマ
スキング)およびフル・サイズのワード・レジスタによ
って、本発明はn個の各MPU102、104、106
あるいはそのサブセットに対して同時の、独立する制御
を提供することができる。本発明では以下に詳述するよ
うに(1)選択機能、(2)ポーズ機能、(3)識別機
能の実装を考察している。
【0023】A.選択機能 図2は選択レジスタ214を示す。これはビット・レジ
スタ・セット206のビット・レジスタの一つである。
選択レジスタ214はローカル・ワード・レジスタ20
4またはそのサブセットをインエーブル及びディスエー
ブルに切り換えるスイッチとして用いることができる。
図示するように、インエーブル/ディスエーブル・ライ
ン216が復号ロジック202にワード・レジスタ20
4を活性化すべきかどうかを知らせるように配置されて
いる。
【0024】選択レジスタ214によって、最終的にビ
ット・スライスされるデータ・バイトをシステム・バス
114上に書き込み、MPシステムのn個のCPU10
8、110、112に対応する一またはそれ以上のn個
のレジスタ・セット132、134、136のワード・
レジスタをオンにする、またはインエーブルとすること
ができる。続いて、一つのデータ・ワードあるいは連続
するデータ・ワード・シリーズを、n個のレジスタ・セ
ット132、134、136のいずれかのインエーブル
とされたワード・レジスタとパラレルに同時にブロード
キャストすることができる。最後に、インタラプトを介
して、インエーブルとされたワード・レジスタに転送さ
れたメッセージを関連の制御ユニットのローカルCPU
にローディングすることができる。したがって、本発明
によれば、メッセージをn個のCPU108、110、
112の選択セットに選択的にブロードキャストするこ
とができる。
【0025】選択機能の概念をより明確に理解するため
に、図4にソフトウエア的に見たMPシステムのアドレ
ス・スペースの全体図(シーケンス)であるグローバル
I/Oイメージとn個の制御ユニット122、124、
126内のn個のレジスタ・セット132、134、1
36に対する関係を示す。グローバルI/Oイメージ4
02は、参照番号404および406で示すように、あ
るデータ・バイト(上部)はビット・スライスの態様で
ブロードキャストされ、他のデータ・バイト(底部)は
従来のパラレルの態様でブロードキャストれることを示
す。したがって、図示するように、n個のレジスタ・セ
ット222、224、226はそれぞれビット・レジス
タ・セット(あるいはフルサイズのビット・マスクされ
たレジスタ)とワード・レジスタ・セットからなる。
【0026】さらに、参照番号416、418、420
に示すようにレジスタ・セットはそれぞれ選択レジスタ
を有する。例えば、「1、…、0、1」(bn 、…、b
1 、b0 )のバイナリ構成を有するビット・スライスさ
れたデータ・バイト422がCPU、バス・マスタ、I
/Oデバイス等によってシステム・バス114上に送信
されるものと仮定する。データ・バイト422とともに
以下の信号がシステム・バス114上を送られる。すな
わち、(1)各レジスタ・セットにおける選択レジスタ
416、418、420に向けられた適切な32ビット
・アドレス、(2)メモリ入出力(M/IO)制御ライ
ン上のI/O制御信号、(3)書き込み/読みだし(W
/R)上の書き込み信号である。
【0027】I/O書き込みが作動中であることを認識
する、各レジスタ・セット222、224、226の復
号ロジックはデータ・バイト422からこの32ビット
・アドレスを読み出し、その結果、特定の選択レジスタ
に対応するデータ・ビットを読み出す。好適な実施例で
は、データ・バイト422のビットb0 はレジスタ・セ
ット222の選択レジスタ416に向けられている。ビ
ットb1 はレジスタ・セット224の選択レジスタ41
8に向けられ、以下同様となる。最後に、ビットbn
レジスタ・セット226の選択レジスタ420に向けら
れている。
【0028】レジスタ・セット416と420の選択レ
ジスタが高論理レベル信号(「1」)を読み、好適な実
施例において活性化状態であることを示す場合、レジス
タ・セット416と420のワード・レジスタ204と
414は矢印424と426で示すように次の読み出し
を行うことができる。
【0029】次に、例えば、「1、…、0、1」のバイ
ナリ構成を有するデータ・バイト428が適切なアドレ
スにしたがってシステム・バス114上にブロードキャ
ストされる。データ・バイト428は次にレジスタ・セ
ット222と226のワード・レジスタ430と432
によってパラレルに同時に読み出される。ワード・レジ
スタ430および432は同じアドレス位置に存在す
る。したがって、本発明による選択レジスタはグローバ
ル・マスクの一種として機能する。さらに、図1のMP
システムに選択機能を実装することによって、一または
それ以上のMPU102、104、106に対するメッ
セージの同時ブロードキャストが可能となる。同時ブロ
ードキャストは特に有益である。
【0030】選択機能を用いるとデータのブロードキャ
ストを高速化することができる。たとえば、MPUの特
殊な内部バッファである変換索引バッファ(TLB)を
MPシステムの設計に応じてn個のMPU102、10
4、106のすべてにおいて更新し、コヒーレントに維
持することが必要となる場合がある。各MPUの各TL
Bに同時書き込みを行うことができるため、従来のよう
に各MPUに個別に書き込みの必要を除くことによって
性能が向上する。さらに、データ・ワードをわずか二つ
の書き込みサイクルでMPシステムのn個のMPU10
2、104、106のうちの一つ、二つあるいはそれ以
上に送ることができる。従来技術においては、一つのデ
ータ・ワードを二つのMPUに書き込まなければならな
い場合、四つのバス・サイクルを要する。各MPUを具
体的にアドレス指定し(2バス・サイクル)、次にデー
タ・ワードをそれぞれに書き込まなければならない(2
サイクル)。したがって、本発明はシステム・バス11
4上のバス・サイクル数と交通量を低減する。
【0031】加えて、各MPU102、104、106
は個別にインタラプト等のメッセージを送ることがで
き、これにより本発明にフレキシブルな機能性をもたら
している。選択機能はまたn個のMPU102、10
4、106の別のMPUでプログラム機能を同時に開始
したい場合にも有効である。別個のMPU内のプログラ
ムに対して正確に同じ瞬間に開始するように命令するこ
とができる。プログラム機能を同時に開始する能力によ
ってプログラム設計とハードウエアとソフトウエアの相
互関係をよりフレキシブルにし、また簡略化することが
できる。
【0032】B.ポーズ機能 本発明のもう一つの利点はポーズ機能の実装が可能であ
ることである。図2に示すポーズ・レジスタ218によ
って、n個のMPU102、104、106のいずれか
またはn個のMPU102、104、106のサブセッ
トをMPシステムの動作中において任意の時間間隔だけ
同時にポーズあるいはホールドすることができる。本願
明細書でMPUをポーズさせるとは、MPUにそのI/
O動作を一時停止させ、アイドル状態にすることを意味
する。さらに、MPUに対するポーズの命令がなくなっ
た後は、MPUはそれがポーズしたプログラム・ポイン
トからプログラムの実行を進める。つまり、ポーズ機能
はMPUをリセットしない。
【0033】n個のMPU102、104、106のう
ちの一つあるいはそれ以上をポーズさせるために、デー
タ・バイトがシステム・バス114上にブロードキャス
トされる。このデータ・バイトは選択機能について先に
述べたようにビット・スライス(あるいはビット・マス
ク)されており、n個のMPUの各ポーズ・レジスタが
専用データ・ビットを受け取るようになっている。ポー
ズさせたいn個の各MPU102,104,106には
好適な実施例においては低論理レベル(「0」)のデー
タ・ビットが送られる。n個のMPU102,104,
106がそのローカル・ポーズ・レジスタを読み出すと
き、低論理レベル(「0」)のデータ・ビットを読み出
すものがポーズされる。ポーズしたMPUはI/O機能
を一時的に停止し、アイドル状態になる。
【0034】ポーズ状態を解除し、ポーズしたMPUを
再起動させるため、他のデータ・バイトがシステム・バ
ス114上のさまざまなポーズ・レジスタへブロードキ
ャストされる。このデータ・バイトは活性化すべきMP
Uに対応するビット位置が高論理レベル(「1」)であ
るデータ・ビットからなる。ポーズされたMPUが起動
されると、MPUはそれらがポーズしたポイントからそ
れぞれのプログラムが実行される。上述のポーズ機能を
実装する能力はMPシステムをデバッグする際にきわめ
て有益である。その理由の一つに、従来では、n個のM
PU102,104,106のうち一つ以上が同時に動
作する場合、MPシステムをデバッグすることは困難で
あった。したがって、デバッグを行う際には本発明では
n個のMPU102,104,106のうち一つ以上を
ポーズさせ、同時にこのセットのうちの一つ以上の他の
MPUの応答を分析することができる。
【0035】C.識別機能 本発明の他の利点は図2に示すように識別レジスタ22
0を用いて識別機能を実装することが可能であることで
ある。
【0036】複雑性とプログラム・コード・オーバーヘ
ッドを最小化するために、n個のCPU108,11
0,112に同じメモリ・スペース上で同じプログラム
・コードを実行させることが望まれている。しかし、こ
のような実装では、あるCPU内で動作しているプログ
ラム・コードが、MPシステムの他のn−1個のCPU
からこのCPUを区別するためのCPUのアイデンティ
ティあるいはアドレス位置を知っていることが必要とさ
れる。本発明は開始するCPUのプログラム・コードが
そのCPUのアイデンティティを容易に識別することを
可能とする。図3において、この識別機能は以下のよう
に実行される。選択機能やポーズ機能と同様にシステム
・バス114上でデータ・バイト306からビット・ス
ライスされ、さまざまなn個のCPU108,110,
112に個別に送信されるデータ・ビットの代わりに、
対応するn個のCPU108,110,112の識別レ
ジスタからのデータ・ビットはシステム・バス114に
送り出され、それによってデータ・バイト306を形成
する。識別ビット・レジスタによるデータバイト306
の形成は矢印330,332,334に示す。
【0037】さらに、データ・バイト306の形成はn
個の制御ユニット122,124,126の復号ロジッ
クがシステム・バス114上のM/IOおよびW/R制
御ラインを介してそれらに対応する識別レジスタからの
I/O読み出しを検出するときに生成される。このI/
Oの読み出しはMPシステム中における自己の位置を知
りたがっているCPUのプログラム・コードによって開
始される。
【0038】さらに、この開始CPUのプログラム・コ
ードはシステム・バス114上に形成されたデータ・バ
イト306を読み出すことによってそのスロット番号あ
るいはカード番号を容易、かつ効率的に決定することが
できる。たとえば、データ・バイト306が「0,…,
0,1,0,0」のバイナリ構成を有する場合、この識
別機能を開始するCPUはI/Oスロット2に装着され
たCPUである。これは「1」がビットb2 に位置して
いるためである。同様に、「1」がビットb1に位置す
る場合、開始または識別されたCPUはスロット1でロ
ーディングされるCPUである。以下同様である。n個
の制御ユニット122,124,126はそれぞれ、そ
の関連するCPUがn個の識別レジスタのI/O読み出
しを生成したかどうかを検出し、その対応する識別レジ
スタに高論理レベル(「1」)を挿入する。n個の制御
ユニット122,124,126はそれぞれ、関連する
CPUがいつI/O読み出しを開始したかを、関連する
CPUで生成されるバス制御信号を聞くことによって知
ることができる。これらのバス制御信号には、例えば、
バス要求あるいは許可(grant)信号が含まれる。
【0039】特に、CPUがシステム・バス114から
データ・バイトを読み出すためには、CPUはシステム
・バス114上にバス要求信号を発生しなければならな
い。何がシステム・バス114を制御すべきかを継続的
に命令するバス・アービトレーション(arbitra
tion)ユニット(図示せず)がバス要求信号を読み
出し、バス・セマフォを生成し、CPUがシステム・バ
ス114を制御することを可能とする。CPUがバス・
アービトレーション・ユニットからセマフォを受取り、
システム・バス114にアクセスした後、CPUはシス
テム・バス114上に肯定(acknowlege)信
号として知られる別の信号を生成する。
【0040】さらに、CPUは次にシステム・バス11
4上にアドレスインエーブル命令あるいは他の命令を送
信する。このように、開始CPUからシステム・バス1
14上に送り出される種々の信号は関連制御ユニットに
よってその対応するCPUがI/O読み出し(あるいは
識別機能)を開始したかどうかを決定するために用いる
ことができる。開始CPUがすべての識別レジスタから
のすべてのデータ・ビットよりなるシステム・バス11
4からのデータ・バイト306を読み出すとき、開始C
PUはデータ・バイト中の「1」それ自体から生成した
ものと考え、「1」のビット位置をCPUのスロット位
置にフィードバックする。必要であれば、I/Oスロッ
トあるいはI/Oカード番号はルックアップ・テーブル
やその他の従来の手段を介して容易にアドレスに変換す
ることができる。
【0041】したがって、本発明ではMPシステムのn
個のCPU108,110,112のうちのどのCPU
のプログラム・コードについても、他のCPUからその
CPUを区別するアイデンティティを容易に識別するこ
とができる。
【0042】
【発明の効果】以上説明したように、本願発明では、以
下の効果を得ることができる。 1.MPシステム内のプロセッサを選択的かつ同時に制
御することを可能とし、MPシステムの性能が向上す
る。 2.MPシステムのバス上のアドレス指定やデータの送
信を含む交通量を低減し、MPシステム全体の応答とス
ピードを向上させ、MPシステムのインターフェースす
るプロセッサの数が増加する。 3.MPシステムに組み込まれる従来のバス・プロトコ
ルまたは互換性モデルを再定義することなく実行するこ
とができる。 4.汎用性プロセッサの構成が実現可能で、本発明は同
種または異種のMPUで動作する。 5.ポーズ機能を実装することができ、プロセッサある
いはその一部の動作においても容易に一時停止すること
ができる。 6.識別機能も実装することができ、ある特定のMPU
動作時において、プログラム・コードが関連する制御ユ
ニットのレジスタ・セット内のレジスタを読出し、自己
の識別を容易にかつ迅速におこなうことができる。
【図面の簡単な説明】
【図1】本発明の一実施例に用いられるマルチプロセシ
ング・システムの概略図。
【図2】本発明のアーキテクチャを示す図。
【図3】本発明の動作を説明するための図。
【図4】本発明の他の動作を説明するための図。
【符号の説明】
102、104、106:マククロプロセッサ 108、110、112:中央処理装置 114:システム・バス 122、124、126:制御ユニット 132、134、136:レジスタ・セット 204:ワード・レジスタ 206:ビット・レジスタ

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】マルチプロセシング・コンピュータの各プ
    ロセッサに割り当てられ、システム・バスを介して通信
    するプロセッサを選択的にかつ同時制御する装置におい
    て、 前記システム・バス上の前記各プロセッサに関連する専
    用データ・ビットを認識する選択性レジスタと、 前記システム・バスと接続し、前記関連するプロセッサ
    に向けられるデータの読出および書込をおこなうワード
    ・レジスタと、 前記ワード・レジスタは要求に応じて前記関連するプロ
    セッサへ前記データを書込み、 前記システム・バスと通信し、前記選択性レジスタと前
    記ワード・レジスタを制御する復号ロジックを含み、 前記復号ロジックは前記選択性レジスタの状態にしたが
    って前記ワード・レジスタをインエーブルまたはディス
    エーブルさせることを特徴とするマイクロプロセッサの
    制御装置。
  2. 【請求項2】請求項第1項記載のプロセッサの制御装置
    はさらに前記各プロセッサと専用的に関連し、前記復号
    ロジックと接続するポーズ・レジスタを含み、前記ポー
    ズ・レジスタは第2のデータ・バイトから専用データ・
    ビットを認識し、前記ポーズ・レジスタの状態に応じて
    関連するプロセッサをインエーブルまたはディスエーブ
    ルとすることを特徴とするプロセッサの制御装置。
  3. 【請求項3】請求項第1項記載のプロセッサ制御装置は
    さらに前記各プロセッサと専用的に関連し、前記復号ロ
    ジックによって制御され、前記システム・バス上の第3
    のデータ・バイトへ専用データ・ビットを供給する識別
    レジスタを含み、前記識別レジスタは、前記関連するプ
    ロセッサが前記第3のデータ・バイトをアクセスする
    際、低論理または高論理状態であることを特徴とするプ
    ロセッサの制御装置。
  4. 【請求項4】次の(イ)から(ニ)よりなるマルチプロ
    セシング・コンピュータに用いられる複数の請求項第1
    項記載のプロセッサの制御装置によるプロセッサの制御
    方法。 (イ)1またはそれ以上のプロセッサを選択的に活性化
    させるためのデータ・バイトをシステム・バス上に生成
    し、(ロ)前記選択レジスタにおいて前記データ・バイ
    トの専用データ・ビットを認識し、(ハ)高論理状態の
    前記専用データ・ビットを認識する各前記制御装置の前
    記ワード・プロセッサをインエーブルさせ、(ニ)
    (ハ)のステップで前記高論理状態の前記専用データ・
    ビットを受信する前記各制御装置の前記ワード・レジス
    タの書込みを同時におこなう。
  5. 【請求項5】マルチプロセシング・コンピュータの各プ
    ロセッサに割り当てられ、システム・バスを介して通信
    する1またはそれ以上のプロセッサを選択的にポーズす
    る装置において、 前記システム・バス上のデータ・バイトからデータ・ビ
    ットを認識するポーズ・レジスタと、 前記システム・バスと通信し、ポーズ・レジスタを制御
    する復号論理とを含み前記ポーズ、・レジスタの論理状
    態に応じて前記ポーズ・レジスタと関連するプロセッサ
    をインエーブルまたはディスエーブルさせることを特徴
    とするプロセッサの休止装置。
  6. 【請求項6】次の(イ)から(ニ)よりなるマルチプロ
    セシング・コンピュータに用いられる複数の請求項第5
    項記載のプロセッサの休止装置によるプロセッサの休止
    方法。 (イ)1またはそれ以上のプロセッサを選択的に休止さ
    せるためのデータ・バイトをシステム・バス上に生成
    し、(ロ)前記ポーズ・レジスタにおいて前記データ・
    バイトの専用データ・ビットを認識し、(ハ)前記高論
    理状態の対応する前記専用データ・ビットを有する1ま
    たはそれ以上のプロセッサを同時に休止させる。
  7. 【請求項7】次の(イ)から(ニ)よりなるマルチプロ
    セシング・コンピュータに用いられる複数の請求項第3
    項記載のプロセッサの制御装置によるプロセッサの制御
    方法。 (イ)前記プロセッサの位置を知ることが要求される
    と、前記プロセッサから読出サイクルを生成し、(ロ)
    前記プロセッサに関連する識別レジスタを高論理状態に
    させ、(ハ)前記プロセッサで、前記各プロセッサに関
    連する専用データ・ビットがパラレルに構成される識別
    データ・バイトを読み出し、(ニ)前記プロセッサにお
    ける前記識別データ・バイトのビット・シーケンスに基
    づいて前記プロセッサの位置を決定する。
JP4059350A 1991-02-13 1992-02-13 プロセッサの制御装置、プロセッサの休止装置およびそれらの方法 Pending JPH0689269A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US65468191A 1991-02-13 1991-02-13
US654681 1991-02-13

Publications (1)

Publication Number Publication Date
JPH0689269A true JPH0689269A (ja) 1994-03-29

Family

ID=24625831

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4059350A Pending JPH0689269A (ja) 1991-02-13 1992-02-13 プロセッサの制御装置、プロセッサの休止装置およびそれらの方法

Country Status (2)

Country Link
US (1) US5524211A (ja)
JP (1) JPH0689269A (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4242133A1 (de) * 1992-12-14 1994-06-16 Siemens Ag Anordnung mit mehreren Funktionseinheiten
GB2286265B (en) * 1994-01-26 1998-02-18 Advanced Risc Mach Ltd selectable processing registers
GB2289354B (en) * 1994-05-03 1997-08-27 Advanced Risc Mach Ltd Multiple instruction set mapping
GB2307072B (en) * 1994-06-10 1998-05-13 Advanced Risc Mach Ltd Interoperability with multiple instruction sets
JPH096614A (ja) * 1995-06-21 1997-01-10 Sanyo Electric Co Ltd データ処理装置
US5867681A (en) * 1996-05-23 1999-02-02 Lsi Logic Corporation Microprocessor having register dependent immediate decompression
US5794010A (en) * 1996-06-10 1998-08-11 Lsi Logic Corporation Method and apparatus for allowing execution of both compressed instructions and decompressed instructions in a microprocessor
US5896519A (en) * 1996-06-10 1999-04-20 Lsi Logic Corporation Apparatus for detecting instructions from a variable-length compressed instruction set having extended and non-extended instructions
US6470398B1 (en) * 1996-08-21 2002-10-22 Compaq Computer Corporation Method and apparatus for supporting a select () system call and interprocess communication in a fault-tolerant, scalable distributed computer environment
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
US6633969B1 (en) 2000-08-11 2003-10-14 Lsi Logic Corporation Instruction translation system and method achieving single-cycle translation of variable-length MIPS16 instructions
US7061868B1 (en) 2000-10-25 2006-06-13 Switchcore, Ab Method for flow control in a switch and a switch controlled thereby
US6826681B2 (en) * 2001-06-18 2004-11-30 Mips Technologies, Inc. Instruction specified register value saving in allocated caller stack or not yet allocated callee stack

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3742148A (en) * 1972-03-01 1973-06-26 K Ledeen Multiplexing system
US4368514A (en) * 1980-04-25 1983-01-11 Timeplex, Inc. Multi-processor system
US4751630A (en) * 1982-09-30 1988-06-14 Honeywell Information Systems Inc. Interactive terminal system using a prepoll prior to transferring information from the controller to the work station
US4590468A (en) * 1983-03-10 1986-05-20 Western Digital Corporation Token access controller protocol and architecture
DE3478656D1 (en) * 1983-07-21 1989-07-13 Hitachi Ltd Structure detecting method for circular type transmission system
US4583182A (en) * 1983-10-07 1986-04-15 At&T Information Systems Inc. Controllable risk parameter for device control system
US4667193A (en) * 1983-12-13 1987-05-19 Honeywell, Inc. Addressing system for simultaneously polling plural remote stations
US4768145A (en) * 1984-11-28 1988-08-30 Hewlett-Packard Company Bus system
JPH0657008B2 (ja) * 1985-04-24 1994-07-27 株式会社日立製作所 マルチル−プ伝送系のシステム構造認識方式
US5045995A (en) * 1985-06-24 1991-09-03 Vicom Systems, Inc. Selective operation of processing elements in a single instruction multiple data stream (SIMD) computer system
US4779195A (en) * 1985-06-28 1988-10-18 Hewlett-Packard Company Interrupt system using masking register in processor for selectively establishing device eligibility to interrupt a particular processor
EP0228078B1 (en) * 1985-12-27 1992-03-11 Kabushiki Kaisha Toshiba Limited multicast communication method and communication network system realizing the method
US4888684A (en) * 1986-03-28 1989-12-19 Tandem Computers Incorporated Multiprocessor bus protocol
JPS62243058A (ja) * 1986-04-15 1987-10-23 Fanuc Ltd マルチプロセツサシステムの割込制御方法
JPH06105884B2 (ja) * 1986-05-06 1994-12-21 日本電気株式会社 無線電話システム
US4729095A (en) * 1986-05-19 1988-03-01 Ncube Corporation Broadcast instruction for use in a high performance computer system
US5045996A (en) * 1986-11-12 1991-09-03 Xerox Corporation Multiprocessor cache memory housekeeping

Also Published As

Publication number Publication date
US5524211A (en) 1996-06-04

Similar Documents

Publication Publication Date Title
KR920010978B1 (ko) 개선된 입·출력 인터럽트 제어를 가지는 가상 컴퓨터 시스템
US5706514A (en) Distributed execution of mode mismatched commands in multiprocessor computer systems
US6212611B1 (en) Method and apparatus for providing a pipelined memory controller
KR0185966B1 (ko) 복식 프로세서 시스템의 프로세서 및 캐시 제어기의 독립 리세팅 장치 및 방법
US6463529B1 (en) Processor based system with system wide reset and partial system reset capabilities
US4318174A (en) Multi-processor system employing job-swapping between different priority processors
JPS61202269A (ja) デ−タ処理システム
US20040205719A1 (en) Hop method for stepping parallel hardware threads
JPH0695898A (ja) 仮想計算機の制御方法および仮想計算機システム
JPH0430053B2 (ja)
JPS62151971A (ja) マイクロ・プロセツサ装置
JPS62156752A (ja) 多重プロセツサ計算システム
JPH0689269A (ja) プロセッサの制御装置、プロセッサの休止装置およびそれらの方法
JPH0863354A (ja) コンピュータプロセッシングを行うための装置及び方法
US5093776A (en) Information processing system emulation apparatus and method
CN112559403B (zh) 一种处理器及其中的中断控制器
US5455918A (en) Data transfer accelerating apparatus and method
US6708259B1 (en) Programmable wake up of memory transfer controllers in a memory transfer engine
JP2864255B2 (ja) 仮想計算機方式の計算機システム
JPH0290331A (ja) 仮想計算機システムのためのプロセツサ間通信命令処理装置
JPS6352240A (ja) デ−タ処理装置
JPS62219058A (ja) 共有メモリの排他制御方式
JPH0535507A (ja) 中央処理装置
JPH02114351A (ja) 入出力装置模擬機能を有する情報処理装置
EP0375900A2 (en) Computer system