JP4160925B2 - 分散型ノード・トポロジにおけるクロス・チップ通信機構を含むマルチプロセッサ・コンピュータ・システム内の処理ユニット間の通信方法およびシステム - Google Patents

分散型ノード・トポロジにおけるクロス・チップ通信機構を含むマルチプロセッサ・コンピュータ・システム内の処理ユニット間の通信方法およびシステム Download PDF

Info

Publication number
JP4160925B2
JP4160925B2 JP2004124810A JP2004124810A JP4160925B2 JP 4160925 B2 JP4160925 B2 JP 4160925B2 JP 2004124810 A JP2004124810 A JP 2004124810A JP 2004124810 A JP2004124810 A JP 2004124810A JP 4160925 B2 JP4160925 B2 JP 4160925B2
Authority
JP
Japan
Prior art keywords
processing unit
command
chip
computer system
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004124810A
Other languages
English (en)
Other versions
JP2004326784A (ja
Inventor
マイケル・ステファン・フロイド
ラリー・スコット・レイトナー
ケビン・フランクリン・ライク
ケビン・デニス・ウッドリング
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2004326784A publication Critical patent/JP2004326784A/ja
Application granted granted Critical
Publication of JP4160925B2 publication Critical patent/JP4160925B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17337Direct connection machines, e.g. completely connected computers, point to point communication networks

Description

本発明は、全般的にはコンピュータ・システムに関し、より詳細には、分散型トポロジにおいて相互接続される、マルチプロセッサ・システムの処理ユニットなどのコンピュータ・コンポーネント間の通信を処理する改善された方法に関する。
従来の対称型マルチプロセッサ・コンピュータ・システム10の基本構造を図1に示す。コンピュータ・システム10は、1つまたは複数のプロセッサ・グループ中に配列された1つまたは複数の処理ユニットを有する。図示したシステムでは、プロセッサ・グループ14中に4つの処理ユニット12a、12b、12cおよび12dがある。処理ユニットは、システムまたはファブリック・バス16を介してシステム10の他のコンポーネントと通信する。ファブリック・バス16は、システム・メモリ20、および様々な周辺装置22に接続される。サービス・プロセッサ18a、18bは、JTAGインターフェースまたは他の外部サービス・ポートを介して処理ユニット12に接続される。プロセッサ・ブリッジ24は、追加プロセッサ・グループを相互接続するのに任意選択で使うことができる。システム10はまた、コンピュータ・システムが最初にターンオン(ブート)されると常に、システムの基本入出力論理をストアし周辺装置の1つからオペレーティング・システムを探索しロードするファームウェア(図示せず)を含むことができる。
システム・メモリ20(ランダム・アクセス・メモリすなわちRAM)は、処理ユニットによって使用されるプログラム命令およびオペランド・データを、揮発(一時的な)状態でストアする。周辺装置22は、たとえば、周辺装置相互接続(PCI)ホスト・ブリッジを用いるPCIローカル・バスを介して、ファブリック・バス16に接続することができる。PCIブリッジは、バス・メモリまたはI/Oアドレス空間内のどこにでもマップされたPCI装置に、処理ユニット12a、12b、12cおよび12dがそれを介してアクセスすることができる低遅延経路を提供する。PCIホスト・ブリッジ24はまた、PCI装置がRAM20にアクセスすることを可能にする高帯域幅経路を提供する。このようなPCI装置は、ネットワーク・アダプタと、永久記憶装置(すなわち、ハード・ディスク)に相互接続を提供する小型計算機システム・インターフェース(SCSI)アダプタと、キーボードなどの入出力(I/O)装置、表示装置に接続されたグラフィクス・アダプタ、および表示装置と共に使うためのグラフィカル指示装置(マウス)への接続用の業界標準アーキテクチャ(ISA)拡張バスなどの拡張バス・ブリッジとを含むことができる。
対称型マルチプロセッサ(SMP)コンピュータでは、処理ユニット12a、12b、12cおよび12dのすべてが概して同じものであり、すなわち、動作するためにそのすべてが命令およびプロトコルの共通のセットまたはサブセットを使用し、一般に同じアーキテクチャを有する。処理ユニット12aで示すように、各処理ユニットは、コンピュータを操作するためのプログラム命令を実行する1つまたは複数のプロセッサ・コア26a、26bを含むことができる。例示的なプロセッサ・コアは、すべてが集積回路によって形成される様々な実行ユニット、レジスタ、バッファ、メモリ、および他の機能ユニットを有する単一の集積回路スーパースカラ・マイクロプロセッサを備える、インターナショナル・ビジネス・マシーンズ・コーポレーションから市販されているPowerPC(商標)プロセッサを含む。プロセッサ・コアは、縮小命令セット・コンピューティング(reduced instruction set computing; RISC)技術によって動作することができ、スーパースカラ・アーキテクチャの性能をさらに向上させるために命令のパイプライン化および順不同実行の両方を利用することができる。
各プロセッサ・コア26a、26bは、高速メモリ・デバイスを用いて実装される搭載(L1)キャッシュ(実際には、別個の命令キャッシュおよびデータ・キャッシュ)を含む。キャッシュは通常、システム・メモリ20から値をロードするステップに時間をかけないようにすることによって処理を高速にするために、プロセッサによって繰り返しアクセスされる可能性のある値を一時的にストアするのに使われる。処理ユニットは、メモリ・コントローラ30と共に、それぞれコア26aおよび26bの一部であるL1キャッシュの両方をサポートする別のキャッシュ、すなわち、2次(L2)キャッシュ28を含むことができる。追加のキャッシュ・レベルには、ファブリック・バス16を介してアクセス可能なL3キャッシュ32などを提供することができる。最上位(L1)から最下位(L3)までの各キャッシュ・レベルは、比較的多くの情報をうまくストアすることができるが、アクセス・ペナルティは長い。たとえば、プロセッサ・コア中の搭載L1キャッシュは、128キロバイトのメモリ記憶容量をもつことができ、L2キャッシュ28は512キロバイトの記憶容量をもつことができ、L3キャッシュ32は2メガバイトの記憶容量をもつことができる。欠陥のある処理ユニット・コンポーネントの修理/置換えを容易にするために、各処理ユニット12a、12b、12c、12dは、モジュール方式でシステム10に容易にスワップインしてインストールしまたはそこからスワップアウトすることができる、置換え可能な回路板または類似のフィールド交換可能ユニット(FRU)の形で構成することができる。
マルチプロセッサ、またはマルチチップとして、コンピュータ・システムは大きさおよび複雑さが増し、たとえばブート時における各チップの初期化(IPL)などの様々な監視動作または他の何らかのシステム・リセットのための監視動作の実施において、過剰な時間がシステム全体によって消費される場合がある。サービス・プロセッサから各チップに発行される監視コマンドのほとんどは同じものであり、その手順にある程度の冗長性がもたらされる。冗長性の結果、小規模システムでは小さい問題が引き起こされるが、システムが大きくなると問題も次第に大きくなる。例示的な最新式マルチプロセッサ・システムは、処理ユニットの4つのドロワ(drawer)をもつことができ、各ドロワには2つのマルチチップ・モジュール(MCM)があり、各MCMには4つの処理ユニットがあり、合計32個の処理ユニットとなる。この構成により、サービス・プロセッサは32個の処理ユニットそれぞれに初期化コマンドを順次送らなければならないので、ブート時間が長くなる。こうした問題は、初期化の後に発行される可能性のある他のコマンド、たとえば累積状況検査、または読出し故障分離レジスタ(FIR)でもさらに起こり得る。
この問題は、サービス・プロセッサ上で実行中の監視ルーチン、およびプロセッサ・コアのうち1つで実行中の可能性があるどの監視ルーチンにも当てはまる。というのは、コアはサービス・プロセッサと通信せずにシステム内の他のチップを直接制御することができず、その結果通信のボトルネックが作成されるからである。さらに、サービス・プロセッサのこうしたタイプの使い方は、ある程度の集中制御構造を想定しており、集中制御はシステム規模のシャットダウンを引き起こす単一の故障点をもたらすので、現在の計算方式における動向は、このような集中制御から脱却しようとしている。
いくつかの従来技術のマルチプロセッサ・トポロジでは、メモリの共有を可能にするために処理ユニットの間にデータ経路を直接提供することができるが、こうした経路は、システム規模のコマンドの処理には適していない。チップ間のデータ経路は、機能が限られており、チップのクロック制御される領域の一部である。したがって、こうした経路を監視コマンド用に使おうとするどの試みも、処理ユニットの動作を中断させ、システム性能全体に悪影響を与えることになる。
上記のことを鑑みて、プロセッサ・コアおよびメモリ・サブシステムなど様々なチップ・コンポーネントへのシステム・レベルの(たとえば、監視)コマンドの送信を容易にする、マルチプロセッサ・コンピュータ・システム用の通信機構を考案することが望ましいであろう。処理ユニットが実行している間に、すなわち中断なしにこのようなコマンドを発行し実行することがこの機構によって可能にすることができれば、さらに有利であろう。
IEEE(米国電気電子技術者協会)標準1149.1
従って、本発明の一目的は、マルチプロセッサ・コンピュータ・システムにおいてチップまたは処理ユニットの間の通信の改善された方法を提供することである。
本発明の別の目的は、複数の処理ユニットへのシステム規模のまたは監視レベルのコマンド送信を容易にするような方法を提供することである。
本発明のさらに別の目的は、通信のボトルネックをもたらす可能性のある集中型コマンド構造に依拠しすぎない、分散型ノード・トポロジにおけるクロス・チップ通信のための機構を提供することである。
上述の目的は、マルチプロセッサ・コンピュータ・システム内の処理ユニット間の通信方法において達成され、概して、発信処理ユニットから宛先処理ユニットへ(発信および宛先処理ユニットは異なる集積回路チップ上に物理的に配置される)コマンドを発行するステップと、宛先処理ユニットがプログラム命令を処理している間にコマンドを宛先処理ユニットで受信するステップと、コマンドに応答して、宛先処理ユニットによるプログラム命令の処理を中断することなく、宛先処理ユニットのクロック制御されるコンポーネントにあるレジスタにアクセスするステップとを含む。アクセスは、宛先処理ユニットの状況レジスタまたはモード・レジスタからのデータ読出し、または宛先処理ユニットの制御レジスタまたはモード・レジスタへのデータ書込みの形をとることができる。説明のための実施形態では、リング型トポロジで相互接続された多くの処理ユニットがあり、アクセス・コマンドは、発信処理ユニットから他のいくつかの処理ユニットを介して渡すことができ、その後宛先処理ユニットに到達する。処理ユニットはそれぞれ、それぞれの一義的な識別番号(PID)、さらに必ずしも一義的でない、1つまたは複数の任意選択的な「特別な」タグを割り当てられ、所与のチップ上の外部コマンド・インターフェースは、コマンドがブロードキャスト・コマンドでない限りは、対応するチップ・タグを含むコマンドのみを認識する。さらに、PID、PIDの選択された一部、または他の「特別な」タグに対してサブセット・マスクを実行することによって、プロセッサの1つまたは複数のサブ・グループにブロードキャスト方式でコマンドを向けることが可能である。外部コマンド・インターフェースはまた、そのコマンドがその関連づけられた処理ユニットによって発行された場合は、それ自体へのどのブロードキャスト・コマンドもブロックする(たとえば、リセットする)ことができる(「自己ブロック(Block Self)」モード)。処理ユニットはファブリック・バスを介して相互接続され、外部コマンド・インターフェースは好ましくは、ファブリック・バスのトポロジに従う追加通信回線を使い、あるいは、代わりに既存のファブリック伝送プロトコルを渡るコマンド/データ・パケットを使うこともできよう。サービス・プロセッサは、外部ポート(たとえばJTAG)を介してこのコマンド・インターフェースにアクセスすることができ、処理ユニット上で実行中のアセンブリ・コードは、特別ななアセンブリ・コード・シーケンスを介してコマンド・インターフェースにアクセスすることができる。
本発明の上述の目的および追加の目的、特徴、ならびに利点は、以下の詳細に書かれた説明で明らかになるであろう。
添付の図面を参照することによって、本発明をより良く理解することができ、本発明の多くの目的、特徴、および利点が、当業者には明らかになるであろう。
異なる図面における同じ参照符号の使用は、類似または同一の項目を示す。
ここで図面を参照すると、具体的には図2を参照すると、本発明に従って構成された処理ユニットの一実施形態40を示してある。処理ユニット40は、好ましくは単一の集積回路チップとして構成され、概して、2つのプロセッサ・コア42aおよび42b、メモリ・サブシステム44、走査通信(SCOM)コントローラ46、外部SCOM(XSCOM)インターフェース48、ならびにサービス・プロセッサ51に接続されたJTAGインターフェース50から構成される。プロセッサ・コア42a、42bおよびメモリ・サブシステム44はクロック制御されるコンポーネントであり、SCOMコントローラ46、XSCOMインターフェース48およびJTAGインターフェース50は自走(free-running)コンポーネントである。2つのプロセッサ・コアが1つの集積チップ上に含まれるものとして示してあるが、それより少なくても多くてもよい。
各プロセッサ・コア42a、42bは、その独自の制御論理52a、52bと、実行ユニット54a、54bおよびレジスタ/バッファ56a、56bの別個のセットと、それぞれの1次レベル(L1)キャッシュ58a、58bと、ロード/ストア・ユニット(LSU)60a、60bとを有する。実行ユニット54a、54bは、固定小数点ユニットおよび浮動小数点ユニットなど様々な計算ユニット、ならびに命令取出しユニットおよび命令シーケンサ・ユニットを含む。レジスタ56a、56bは、汎用レジスタ、専用レジスタ、および名称変更バッファを含む。L1キャッシュ58a、58b(好ましくは各コア内の別個の命令キャッシュおよびデータ・キャッシュから構成される)ならびにロード/ストア・ユニット60a、60bは、メモリ・サブシステム44と通信して、データをメモリ階層から読み出し、またはそこに書き込む。メモリ・サブシステム44は、2次(L2)キャッシュおよびメモリ・コントローラを含むことができる。
SCOMコントローラ46は、クロック制御されるコンポーネント内に配置された様々な「サテライト」に接続される。図2に示す実施形態では、3つのSCOMサテライト62a、62b、および62cがある。SCOMサテライト62aおよび62bは、それぞれコア42a、42bの制御論理52a、52b内に配置され、SCOMサテライト62cは、メモリ・サブシステム44内に配置される。分かりやすくするために3つのSCOMサテライトのみを図示してあるが、処理ユニット40全体に配置されるより多くのサテライトがあり得ることが当業者には理解されよう。
SCOMコントローラ46は、コンポーネントがまだ実行中である間に、サービス・プロセッサがJTAGインターフェース50を介してSCOMサテライトにアクセスすることを可能にする。所与のチップ上のサテライトは、SCOMコントローラ46とリング形式で接続される。こうしたSCOMサテライトは、コンポーネント内の様々な機能を可能にし検査するのに使うことができる、(モード・レジスタ、状況レジスタなどとともに)内部制御レジスタおよびエラー・レジスタを有する。チップ上のどのコンポーネント内のレジスタのどのサブセットも、SCOM可能にすることができる。チップ設計者は、特定のアプリケーション、たとえば診断ルーチン用の故障指示子に望ましいと思われるどのような構成も選択することができる。このようにして、サービス・プロセッサは、JTAGインターフェース50を介して多重処理システム内のどのチップにもアクセスすることができ、モード、パルス制御、開始インターフェース整列手順、FIRの読出し状況などを設定するために、システムが実行している間に、中断することなくレジスタにアクセスすることができる。SCOMコントローラ46は、内部コマンド・レジスタおよび内部データ・レジスタを設定することによって、これらの機能を実行する。
コンポーネント上で、具体的にはプロセッサ・コア42a、42b内で実行されるアセンブリ・コードは、コアがSCOMの特徴も利用できるようにすることができる。したがって、コアは、別のコンポーネントの状況ビットを読み出し、それ自体のチップ上のどこでも論理を制御することができる。このアセンブリ・コードおよびコントローラ46を用いて、コアはさらに、XSCOMインターフェース48を介して他のチップ上のコンポーネントにアクセスすることができる(後でより詳細に説明する)。SCOMコントローラ46は、JTAGインターフェース50、および2つのプロセッサ・コアからのあらゆるアセンブリ・コード・コマンドと、XSCOMインターフェース48との間の調停に適した論理を含む。
JTAGインターフェース50は、サービス・プロセッサとSCOMコントローラ46の間のアクセスを提供する。JTAGインターフェース50は、テスト用アクセス・ポートおよび境界走査アーキテクチャに関連する米国電気電子技術者協会(IEEE)標準1149.1に準拠する。SCOMは、1149.1標準によって可能になる走査通信の拡張である。
ここで図3を参照すると、本発明に従って構成されたマルチチップ・モジュール(MCM)70の一実施形態を示してある。本実施形態では、MCM70は、4つの集積チップ40a、40b、40cおよび40dを有する(4つより多いまたは少ないチップを提供することもできる)。4つのチップ40a、40b、40cおよび40dはそれぞれ、概して図2の処理ユニット40と同じものである。具体的には、各処理ユニット40a、40b、40c、40dは、サービス・プロセッサが関与する必要なく外部のチップ間通信を提供するXSCOMインターフェース48を含む。このようにして、(サービス・プロセッサ以外の)1つのプロセッサ・チップは、マルチプロセッサ・システム内の残りのプロセッサすべてを制御することができる。すなわち、プロセッサの動作を中断することなく、他の処理ユニット内の状況ビット、モード・ビットまたは制御ビットを読み出し、またはセットする。あるいは、サービス・プロセッサは、単一のプロセッサ・チップ上のXSCOM機構にアクセスし、マルチプロセッサ・システム内のすべての残りのプロセッサをただ1つのコマンドを介して制御することができる。この能力により、一部の機能、たとえばシステム・リセット用のサービス・プロセッサが必要なくなる。このようなシステム・レベルのコマンドは、サービス・プロセッサにおいてコマンドを複製し、各処理ユニットに別個に送信するのではなく、コマンドをデイジー・チェーン方式で各処理ユニット40に次々と渡すことによってブロードキャストすることができる。さらに、一部のコマンドの場合、サービス・プロセッサが、単一のプロセッサ・チップを介してコマンドをブロードキャストすることによってシステム・レベルのコマンドを実施するために各プロセッサ・チップと順次通信する必要がなくなる。
XSCOMインターフェース48は、(SCOMコントローラ46と同様に)コマンド・レジスタおよびデータ・レジスタを使用して通信を実行する。ハードウェア・ロッキング機構は、複数のトランザクションまたは関連するトランザクションのシーケンスが一度に起こるのを防止するために提供することができる。各XSCOMインターフェースは、1対の1次的な相互接続ライン、すなわち入力(「直前のチップ」)および出力(「次のチップ」)を伴って提供される。こうしたラインは、MCM70上の4つの処理ユニットを時計回りのリングで相互接続するのに使われる。すなわち、第1のチップ上の「次のチップ」ラインが第2のチップ上の「直前のチップ」ラインに接続され、以下同様になる。チップ40aのみが、モジュール外の相互接続を有することができる。XSCOMインターフェースに対する1対の2次的な相互接続ライン(たとえば、「垂直方向のチップ」の入力および出力)は、ドロワ内通信を容易にするために、ファブリック・トポロジに応じて提供することができる。2次的なラインの対は、選択的に動作可能にすることができる。
MCM70内の処理ユニット40a、40b、40c、40dの各々は図2に示す構造を含むが、特定の処理ユニットまたはこうしたユニットのサブセットは、所望された場合には特別な能力、たとえば追加ポートを伴って提供することができる。
さらに図4を参照すると、本発明による、対称型マルチプロセッサ(SMP)コンピュータ・システムとの使用に適合したプロセッサ・グループ72の一実装形態を示してある。この特定の実装では、プロセッサ・グループ72は、処理ユニットからなる3つのドロワ74a、74bおよび74cから構成される。3つのドロワのみを示してあるが、プロセッサ・グループは、より少ないまたは追加のドロワを有することもできる。ドロワは、SMPシステム内での物理的なインストールのために、関連するフレームにスライドするように機械的に設計される。処理ユニットからなるドロワはそれぞれ、2つのマルチチップ・モジュールを含み、合計で6個のMCM70a、70b、70c、70d、70eおよび70fがある(構成はやはり、ドロワごとに2つより多いMCMを含むこともでき、プロセッサは所望のアプリケーションに応じてプロセッサ・カードまたはバックプレーン上に搭載することができる)。したがって、合計で24個の処理ユニットまたはチップがプロセッサ・グループ72中にある。プロセッサ・グループ72は、図1に関連して説明した追加メモリ階層、通信ファブリックおよび周辺装置など、他のコンポーネントを含むことができるSMPシステム内での使用に適合される。各個別チップは、好ましくはフィールド交換可能ユニット(FRU)として製造され、そうすることによって、ある特定のチップに欠陥がある場合、そのチップは、モジュールまたはドロワ中の他の部分を置き換える必要なく、新しい機能ユニットのためにスワップアウトすることができる。あるいは、FRUは、どの1つのコンポーネントに欠陥が生じた場合でも、ドロワ全体がより簡単に置き換えられるように、1つの完全なドロワでもよい。
MCMの1つ、この場合MCM70aは、1次モジュールとして指定することができ、このモジュールの1次チップ40aは、サービス・プロセッサによって直接制御される。プロセッサ・グループ72中のMCMはさらに、図3で説明したのと同様のやり方で、モジュール間通信用のXSCOM通信プロトコルを使用する。所与のMCM、たとえばMCM70aの1次チップ40a上の「次のチップ」ラインは、次のMCM72の1次チップ40a上の「直前のチップ」ラインに接続される。一部のMCMは、終端ドロワ上のループを完了させるために、直前/次のチップ接続ではなく「垂直方向のチップ」相互接続を使用することができる。MCMはしたがって、XSCOMインターフェースによって時計回りのリングまたはハブ・トポロジでも接続される。このトポロジは好ましくは、配線において既存のファブリック・データ/コマンド・バス・トポロジに従う。
各処理ユニットは、送信されたデータおよびコマンドを目標に向けることを可能にする、一義的な識別番号(PID)を割り当てられる。XSCOMモード・レジスタは次いで、タグを使って、選択されたPID向けのXSCOMコマンドを目標に向けることができる。タグは、処理ユニットのトポロジ(物理的)位置を表す部分、ならびに処理ユニットの機能グループ分けを表す別の部分を有することができる。PIDの一部または別個のプログラム可能識別子レジスタは、「特別な」タグとして指定することができ、そうすることによって、共通性を有する1つまたは複数の処理ユニットは、それが属すグループにおいてコマンドを共用することができる。次いで、ルーチンが、PIDのサブセットまたは別の別個のプログラム可能識別子レジスタに基づいてグループを形成することができる。こうした特別な修飾子タグまたはグループのサブセット・マスクを用いると、特定のチップだけがコマンドに気づくようになる。したがって、コマンドは、たとえば、接続されたI/O装置を有するチップのみ、または1次チップ40aのみ、などに限定することができる。このプロトコルはさらに、「自己ブロック」ブロードキャスト・モードを可能にするように拡張することができ、このモードでは、XSCOMコマンドは、ブロードキャストを行うユニット自体を除いて、システム(またはグループ)にあるすべての処理ユニットに発行される。この特徴は、発行側チップをリセットすることなく他のチップをリセットするためには特に有益であろう。
モジュール上またはグループ中のチップの間に、追加データ経路を提供することもできる。既存の通信ファブリック上でXSCOMパケットを送ることによって、このような経路をシステム規模のコマンド用に使用することも可能であるが、説明のための実装では、ファブリック・トポロジに従う追加ラインを使用している。
好ましい実施形態では、XSCOMデータは、単に64ビットのレジスタである。このレジスタは、XSCOM書込みアクセスの間は発信データの発信源であり、XSCOM読出しアクセスの後は着信データの宛先である。このレジスタの内容の翻訳は、XSCOMコマンド・レジスタに含まれるXSCOMの状況ビットおよび制御ビットによって決定される。XSCOMコマンド・レジスタ80の例示的な形式は、図5に示してあるが、やはり64ビットである。この実装形態では、形式は、32個の予約ビットxscomc(0:31)を含み、このビットは、21個の未使用(予備)ビットxscomc(0:19,23)、3個の特別な修飾子ビットxscomc(20:22)、および8ビットのチップ・タグxscomc(24:31)からなる。修飾子ビットxscomc(20)は、「特別なタグ」をこのコマンド用のチップ識別手順に要因として含めるか制御する。本実施形態では、チップ・タグの上位の特別な部分、すなわち、各処理ユニット上のチップPIDの最初の2ビットは、xscomc(24:25)と比較される。修飾子ビットxscomc(20)がゼロにセットされている場合、その特徴は無視されるが、1にセットされているときは、どのブロードキャスト・コマンドも、こうした最上位ビットxscomc(24:25)にのみ突き合わされる。修飾子ビットxscomc(21)は、チップPIDのモジュール部分のみをチップ識別手順に要因として含めるか制御する。修飾子ビットxscomc(22)は、チップ・タグのドロワ部分のみをチップ識別に要因として含めるか制御する。ドロワIDは、チップ・タグ・ビットxscomc(27:28)に含められ、モジュールIDは、チップ・タグ・ビットxscomc(29)に含められ、モジュール上の特別なチップ用IDは、チップ・タグ・ビットxscomc(30:31)に含められる。特定のMCMまたはMCMのサブセット、あるいは、PIDのサブセットまたは特別なタグ・フィールドのバイナリ比較によって形成することができる、他のいかなる任意のグループにもコマンドが送られることを可能にするために、マスク能力を提供することもできる。
XSCOMコマンド形式はまた、16ビットのSCOMアドレスxscomc(32:47)、6個の制御ビットxscomc(48:53)、および10個の状況ビットxscomc(54:63)を含む。16ビットのSCOMアドレスは、コマンドを受け取る宛先チップ上の特定のSCOMサテライトを目標とするのに使われる。第1の制御ビットxscomc(48)は、コマンドが読出し要求であるか書込み要求であるか識別する。制御ビットxscomc(49:51)はブロードキャストにおいて使われ、こうしたビットの先頭は単に、概してブロードキャスト・コマンドをフラグで示す。第2のブロードキャスト制御ビットxscomc(50)は、ブロードキャスト・コマンドがすべてのサテライトによって受け入れられるか識別する(このビットは、xscomc(49)がアクティブな場合のみ有効である)。第3のブロードキャスト制御ビットxscomc(51)は、読出しデータが各サテライトによってORされるかまたはANDされるか識別する(このビットも、xscomc(49)がアクティブな場合のみ有効である)。第5の制御ビットxscomc(52)は、「自己ブロック」ブロードキャスト・モードを実行するために使用され、このモードにおいて、ブロードキャスト・コマンドは、発信源チップ自体を除く各チップによって実行されることになる。最後の制御ビットxscomc(53)は使用されない。
上述したように、XSCOMインターフェースは、複数のトランザクションまたは関連するトランザクションのシーケンスが一度に起こるのを防止するためのハードウェア・ロッキング機構を含む。というのは、サービス・プロセッサがJTAGインターフェースを介してアクセスするように、チップ上のコアは両方ともこの機構へのアクセス権を有するからである。このロッキングは、メールボックスまたはソフトウェア・インターフェースを介して処理することができるが、便宜上、ハードウェア機構が提供される。第1の6個の状況ビットxscomc(54:59)は、この目的のためにロック・ビットとして使うことができる。第1のロック・ビットxscomc(54)は、サービス・プロセッサによって配置されたロックを識別する。第2のロック・ビットxscomc(55)は使用されない。最後の4つのロック・ビットxscomc(56:59)は、プロセッサ・コア上で動作している異なるスレッド(すなわち、コア0/スレッド0、コア0/スレッド1、コア1/スレッド0、およびコア1/スレッド1)によって配置されたロックを識別する。所与のコマンド・ユニット(コアまたはサービス・プロセッサ)は、適切なロック・ビットに対する書込みを要求し、その後でそのロック・ビットを読み出し、ビットがセットされているか見ることによって、ロックを取得することができる。他のロックが現在セットされていない場合、要求側コマンド・ユニットは、そのロック・ビットをセットすることができる。コマンドが完了した後、ロック・ビットは発信側コマンド・ユニットによってクリアされる。
最後の4つの状況ビットxscomc(60:63)は、XSCOMコマンドの再試行を要求することができる条件を信号通知するのに使われる。ハードウェア・エラー・ビットxscomc(60)は、時間切れや巡回冗長検査(cyclicalredundancy check; CRC)エラーなどのハードウェア・エラーが起こると、セットされる。XSCOM衝突ビットxscomc(61)は、競合する要求によって引き起こされるプロトコル・エラーを信号通知する。非受諾アドレス・ビットxscomc(62)は、選択されたPIDグループ中のどのチップのどのサテライトによっても宛先サテライト・アドレスが受け入れられなかったことを示す。ビジー/使用不能ビットxscomc(63)は、現在、宛先サテライトがXSCOMコマンドを処理することができないと、セットされる。
XSCOMコマンド・レジスタ中のすべてのビットは、パワー・オン・リセットの間にゼロにセットされる。
本発明を特定の実施形態を参照して説明したが、この説明は、限定的な意味で解釈されることを意図したものではない。本発明の説明を参照すれば、開示した実施形態の様々な変更形態、ならびに本発明の代替実施形態が、当業者には明らかになるであろう。したがって、添付の特許請求の範囲で定義した本発明の精神および範囲から逸脱することなく、このような変更形態を行うことができることを企図したものである。
まとめとして、本発明の構成に関して以下の事項を開示する。
(1)マルチプロセッサ・コンピュータ・システム内の処理ユニット間の通信方法であって、
発信処理ユニットから宛先処理ユニットへコマンドを発行するステップであって、前記発信および宛先処理ユニットが異なる集積回路チップ上に物理的に配置される、ステップと、
前記宛先処理ユニットがプログラム命令を処理している間に、前記コマンドを前記宛先処理ユニットで受信するステップと、
前記受信するステップに応答して、前記宛先処理ユニットによる前記プログラム命令の処理を中断することなく、前記宛先処理ユニットのクロック制御されるコンポーネントにあるレジスタにアクセスするステップと
を含む、方法。
(2)前記マルチプロセッサ・コンピュータ・システムが、リング型トポロジで相互接続された2つより多い処理ユニットを有し、前記コマンドが、少なくとも1つの他の処理ユニットによって、前記発信処理ユニットから前記宛先処理ユニットに渡される、上記(1)に記載の方法。
(3)前記処理ユニットがそれぞれ、それぞれの一義的な識別番号(PID)を有し、前記受信するステップが、前記コマンドに組み込まれたチップ・タグを前記宛先処理ユニットのPIDに突き合わせるステップを含む、上記(2)に記載の方法。
(4)前記コマンドが、複数の前記処理ユニットに向けられたブロードキャスト・コマンドであり、前記ブロードキャスト・コマンドが前記発信処理ユニットによって実行されるのをブロックするステップをさらに含む、上記(2)に記載の方法。
(5)前記処理ユニットが、システム・メモリ・デバイスおよびサービス・プロセッサと相互接続され、前記発行するステップおよび受信するステップが、ファブリック・バスのトポロジに従う追加通信回線を使用する、上記(1)に記載の方法。
(6)前記アクセスするステップが、前記宛先処理ユニットのレジスタからデータを読み出すステップを含む、上記(1)に記載の方法。
(7)前記アクセスするステップが、前記宛先処理ユニットのレジスタにデータを書き込むステップを含む、上記(1)に記載の方法。
(8)マルチプロセッサ・コンピュータ・システムにおけるクロス・チップ通信のための機構であって、
プログラム命令を処理する少なくとも1つのプロセッサ・コアを含む複数のクロック制御されるコンポーネントを有する処理ユニットと、
前記処理ユニットの前記クロック制御されるコンポーネント内に配置された複数の走査レジスタと、
前記プロセッサ・コアによる前記プログラム命令の処理を中断することなく、前記走査レジスタに対して選択的に読出しおよび書込みを行うアクセス・コマンドを実行する、前記走査レジスタに接続されたコマンド・コントローラと、
前記コマンド・コントローラに接続された、アクセス・コマンドを送受信する外部コマンド・インターフェースと
を備える、機構。
(9)前記外部コマンド・インターフェースが、直前の処理ユニットからアクセス・コマンドを受信するように適合された入力、および前記アクセス・コマンドを前記直前の処理ユニットから次の処理ユニットに送信するように適合された出力を有する、上記(8)に記載の機構。
(10)前記処理ユニットが、一義的な識別番号(PID)を有し、受信したアクセス・コマンドに組み込まれたチップ・タグに前記PIDが一致するとき、前記外部コマンド・インターフェースが、前記受信したアクセス・コマンドを前記コマンド・コントローラに渡す、上記(8)に記載の機構。
(11)前記処理ユニットが、必ずしも一義的でない特別なタグを含み、受信したアクセス・コマンドに組み込まれたチップ・タグに前記特別なタグが一致するとき、前記外部コマンド・インターフェースが、前記受信したアクセス・コマンドを前記コマンド・コントローラに渡す、上記(8)に記載の機構。
(12)ブロードキャスト・コマンドが前記処理ユニットから発信された場合、前記外部コマンド・インターフェースが、前記処理ユニットによって前記ブロードキャスト・コマンドが実行されるのをブロックする、上記(8)に記載の機構。
(13)前記クロック制御されるコンポーネントとの通信を処理するファブリック通信バスと、
前記外部コマンド・インターフェースに接続された通信回線
とをさらに備える、上記(8)に記載の機構。
(14)前記外部コマンド・インターフェースが、異なる処理ユニットのレジスタからデータを読み出す、上記(8)に記載の機構。
(15)前記外部コマンド・インターフェースが、異なる処理ユニットのレジスタにデータを書き込む、上記(8)に記載の機構。
(16)プログラム命令およびオペランド・データをストアするメモリ階層と、
前記メモリ階層と相互接続されたファブリック通信バスと、
前記ファブリック通信バスと相互接続された複数の処理ユニットとを備えるコンピュータ・システムであって、各前記処理ユニットが、
プログラム命令を処理する少なくとも1つのプロセッサ・コアを含む、複数のクロック制御されるコンポーネントと、
前記クロック制御されるコンポーネント内に配置された複数の走査レジスタと、
前記プロセッサ・コアによる前記プログラム命令の処理を中断することなく、前記走査レジスタに対して選択的に読出しおよび書込みを行うアクセス・コマンドを実行する、前記走査レジスタに接続されたコマンド・コントローラと、
前記コマンド・コントローラに接続された、アクセス・コマンドを送受信する外部コマンド・インターフェースとを有する、
コンピュータ・システム。
(17)前記外部コマンド・インターフェースが、前記処理ユニットの直前の1つからアクセス・コマンドを受信するように適合された入力、および前記アクセス・コマンドを前記直前の処理ユニットから前記処理ユニットの次の1つに送信するように適合された出力を有する、上記(16)に記載のコンピュータ・システム。
(18)前記処理ユニットがそれぞれ、それぞれの一義的な識別番号(PID)を有し、受信したアクセス・コマンドに組み込まれたチップ・タグに前記PIDが一致するとき、前記外部コマンド・インターフェースが、前記受信したアクセス・コマンドを前記コマンド・コントローラに渡す、上記(16)に記載のコンピュータ・システム。
(19)ブロードキャスト・コマンドがその処理ユニットから発信された場合、前記外部コマンド・インターフェースが、その処理ユニットによって前記ブロードキャスト・コマンドが実行されるのをブロックする、上記(16)に記載のコンピュータ・システム。
(20)前記外部コマンド・インターフェースが、前記ファブリック通信バスのトポロジに従う通信回線に接続される、上記(16)に記載のコンピュータ・システム。
(21)前記外部コマンド・インターフェースが、前記処理ユニットの直前の1つのレジスタからデータを読み出す、上記(16)に記載のコンピュータ・システム。
(22)前記外部コマンド・インターフェースが、前記処理ユニットの次の1つのレジスタにデータを書き込む、上記(16)に記載のコンピュータ・システム。
全体的に同一である4つの処理ユニットのうち1つの内部詳細を示してある、従来の対称型マルチプロセッサ(SMP)コンピュータ・システムを示すブロック図である。 本発明に従って構成され、チップ間通信を可能にする外部走査通信(XSCOM)インターフェースを有する、コンピュータ・システム用の処理ユニットまたはチップの一実施形態を示すブロック図である。 本発明の一実装形態に従って相互接続される、図3の処理ユニットの4つを使用するマルチチップ・モジュール(MCM)を示すブロック図である。 図3のMCMの2つをそれぞれが含む3つのドロワを含み、本発明の一実装形態従って相互接続されるプロセッサ・グループを示すブロック図である。 本発明の一実装形態による、XSCOMコマンド形式を示す図である。
符号の説明
10 対称型マルチプロセッサ・コンピュータ・システム、コンピュータ・システム、システム
12 処理ユニット
12a 処理ユニット
12b 処理ユニット
12c 処理ユニット
12d 処理ユニット
14 プロセッサ・グループ
16 システム・バス、ファブリック・バス
18a サービス・プロセッサ
18b サービス・プロセッサ
20 システム・メモリ、RAM
22 周辺装置
24 プロセッサ・ブリッジ、PCIホスト・ブリッジ
26a プロセッサ・コア、コア
26b プロセッサ・コア、コア
28 2次レベル(L2)キャッシュ
30 メモリ・コントローラ
32 L3キャッシュ
40 一実施形態、処理ユニット
40a 集積チップ、チップ、処理ユニット、1次チップ
40b 集積チップ、チップ、処理ユニット
40c 集積チップ、チップ、処理ユニット
40d 集積チップ、チップ、処理ユニット
42a プロセッサ・コア、コア
42b プロセッサ・コア、コア
44 メモリ・サブシステム
46 走査通信(SCOM)コントローラ、コントローラ
48 外部SCOM(XSCOM)インターフェース
50 JTAGインターフェース
51 サービス・プロセッサ
52a 制御論理
52b 制御論理
54a 実行ユニット
54b 実行ユニット
56a レジスタ/バッファ
56b レジスタ/バッファ
58a 1次(L1)キャッシュ
58b 1次(L1)キャッシュ
60a ロード/ストア・ユニット(LSU)
60b ロード/ストア・ユニット(LSU)
62a SCOMサテライト
62b SCOMサテライト
62c SCOMサテライト
70 マルチチップ・モジュール(MCM)
70a MCM
70b MCM
70c MCM
70d MCM
70e MCM
70f MCM
72 プロセッサ・グループ
74a ドロワ
74b ドロワ
74c ドロワ
80 XSCOMコマンド・レジスタ

Claims (19)

  1. マルチプロセッサ・コンピュータ・システム内の処理ユニット間の通信方法であって、
    発信処理ユニットおよび宛先処理ユニットが異なる集積回路チップ上に物理的に配置され、前記発信処理ユニットから前記宛先処理ユニットへシステム規模または監視レベルのアクセス・コマンドを、特定グループだけが識別でき、かつ前記発信処理ユニットを除く前記各宛先処理ユニットに前記アクセス・コマンドを実行させるモードに設定する制御ビットを設定したブロードキャスト・コマンドとして発行するステップと、
    前記宛先処理ユニットがプログラム命令を処理している間に、前記アクセス・コマンドを前記宛先処理ユニットで受信し、かつ前記アクセス・コマンドが前記ブロードキャスト・コマンドである場合、前記ブロードキャスト・コマンドをブロックすることにより、前記発信処理ユニットによって実行されるのをブロックするステップと、
    記宛先処理ユニットで受信するステップに応答して、前記宛先処理ユニットによる前記プログラム命令の処理を中断することなく、前記宛先処理ユニットのクロック制御されるコンポーネントにあるレジスタにアクセスするステップと
    を含む、方法。
  2. 前記マルチプロセッサ・コンピュータ・システムが、リング型トポロジで相互接続された2つより多い処理ユニットを有し、前記コマンドが、少なくとも1つの他の処理ユニットによって、前記発信処理ユニットから前記宛先処理ユニットに渡される、請求項1に記載の方法。
  3. 前記処理ユニットがそれぞれ、それぞれの一義的な識別番号(PID)を有し、前記受信するステップが、前記アクセス・コマンドに組み込まれたチップ・タグを前記宛先処理ユニットのPIDに突き合わせるステップを含む、請求項2に記載の方法。
  4. 前記処理ユニットが、システム・メモリ・デバイスおよびサービス・プロセッサと相互接続され、前記発行するステップおよび受信するステップが、ファブリック・バスのトポロジに従う追加通信回線を使用する、請求項1に記載の方法。
  5. 前記アクセスするステップが、前記宛先処理ユニットのレジスタからデータを読み出すステップを含む、請求項1に記載の方法。
  6. 前記アクセスするステップが、前記宛先処理ユニットのレジスタにデータを書き込むステップを含む、請求項1に記載の方法。
  7. クロス・チップ通信のための機構を備えるマルチプロセッサ・コンピュータ・システムであって、
    プログラム命令を処理する少なくとも1つのプロセッサ・コアを含む複数のクロック制御されるコンポーネントを有する処理ユニットと、
    前記処理ユニットの前記クロック制御されるコンポーネント内に配置された複数の走査レジスタと、
    前記プロセッサ・コアによる前記プログラム命令の処理を中断することなく、前記走査レジスタに対して選択的に読出しおよび書込みを行うシステム規模または監視レベルのアクセス・コマンドを実行する、前記走査レジスタに接続されたコマンド・コントローラと、
    前記コマンド・コントローラに接続された、前記アクセス・コマンドを送受信する外部コマンド・インターフェースとを備え、
    前記外部コマンド・インタフェースは、前記処理ユニットが前記アクセス・コマンドを特定グループだけが識別でき、かつ発信処理ユニットを除く各宛先処理ユニットに前記アクセス・コマンドを実行させるモードに設定する制御ビットを設定したブロードキャスト・コマンドとして発信し、前記ブロードキャスト・コマンドを発信した場合、前記ブロードキャスト・コマンドをブロックすることにより、前記処理ユニットにおいて前記アクセス・コマンドが実行されるのをブロックする
    マルチプロセッサ・コンピュータ・システム。
  8. 前記外部コマンド・インターフェースが、直前の処理ユニットから前記アクセス・コマンドを受信するように適合された入力、および前記アクセス・コマンドを前記直前の処理ユニットから次の処理ユニットに送信するように適合された出力を有する、請求項7に記載のシステム。
  9. 前記処理ユニットが、一義的な識別番号(PID)を有し、受信した前記アクセス・コマンドに組み込まれたチップ・タグに前記PIDが一致するとき、前記外部コマンド・インターフェースが、受信した前記アクセス・コマンドを前記コマンド・コントローラに渡す、請求項7に記載のシステム。
  10. 前記処理ユニットが、前記特定グループを識別する特別なタグにより識別され、受信した前記アクセス・コマンドに組み込まれた前記チップ・タグに前記特別なタグが一致するとき、前記外部コマンド・インターフェースが、受信した前記アクセス・コマンドを前記コマンド・コントローラに渡す、請求項7に記載のシステム。
  11. 前記クロック制御されるコンポーネントとの通信を処理するファブリック通信バスと、
    前記外部コマンド・インターフェースに接続された通信回線と
    をさらに備える、請求項7に記載のシステム。
  12. 前記外部コマンド・インターフェースが、異なる処理ユニットのレジスタからデータを読み出す、請求項7に記載のシステム。
  13. 前記外部コマンド・インターフェースが、異なる処理ユニットのレジスタにデータを書き込む、請求項7に記載のシステム。
  14. プログラム命令およびオペランド・データをストアするメモリ階層と、
    前記メモリ階層と相互接続されたファブリック通信バスと、
    前記ファブリック通信バスと相互接続された複数の処理ユニットと、
    を備えるクロス・チップ通信のための機構を備えるマルチプロセッサ・コンピュータ・システムであって、
    各前記処理ユニットが、
    プログラム命令を処理する少なくとも1つのプロセッサ・コアを含む、複数のクロック制御されるコンポーネントと、
    前記クロック制御されるコンポーネント内に配置された複数の走査レジスタと、
    前記プロセッサ・コアによる前記プログラム命令の処理を中断することなく、前記走査レジスタに対して選択的に読出しおよび書込みを行うシステム規模または監視レベルのアクセス・コマンドを実行する、前記走査レジスタに接続されたコマンド・コントローラと、
    前記コマンド・コントローラに接続された、前記アクセス・コマンドを送受信する外部コマンド・インターフェースとを有し、
    前記外部コマンド・インタフェースは、前記処理ユニットが前記アクセス・コマンドを特定グループだけが識別でき、かつ発信処理ユニットを除く各宛先処理ユニットに前記アクセス・コマンドを実行させるモードに設定する制御ビットを設定したブロードキャスト・コマンドとして発信し、前記ブロードキャスト・コマンドを発信した場合、前記ブロードキャスト・コマンドをブロックすることにより、前記処理ユニットにおいて前記アクセス・コマンドが実行されるのをブロックする
    コンピュータ・システム。
  15. 前記外部コマンド・インターフェースが、前記処理ユニットの直前の1つから前記アクセス・コマンドを受信するように適合された入力、および前記アクセス・コマンドを前記直前の処理ユニットから前記処理ユニットの次の1つに送信するように適合された出力を有する、請求項14に記載のコンピュータ・システム。
  16. 前記処理ユニットがそれぞれ、それぞれの一義的な識別番号(PID)を有し、受信したアクセス・コマンドに組み込まれたチップ・タグに前記PIDが一致するとき、前記外部コマンド・インターフェースが、前記受信したアクセス・コマンドを前記コマンド・コントローラに渡す、請求項14に記載のコンピュータ・システム。
  17. 前記外部コマンド・インターフェースが、前記ファブリック通信バスのトポロジに従う通信回線に接続される、請求項14に記載のコンピュータ・システム。
  18. 前記外部コマンド・インターフェースが、前記処理ユニットの直前の1つのレジスタからデータを読み出す、請求項14に記載のコンピュータ・システム。
  19. 前記外部コマンド・インターフェースが、前記処理ユニットの次の1つのレジスタにデータを書き込む、請求項14に記載のコンピュータ・システム。
JP2004124810A 2003-04-28 2004-04-20 分散型ノード・トポロジにおけるクロス・チップ通信機構を含むマルチプロセッサ・コンピュータ・システム内の処理ユニット間の通信方法およびシステム Expired - Fee Related JP4160925B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/425,397 US7574581B2 (en) 2003-04-28 2003-04-28 Cross-chip communication mechanism in distributed node topology to access free-running scan registers in clock-controlled components

Publications (2)

Publication Number Publication Date
JP2004326784A JP2004326784A (ja) 2004-11-18
JP4160925B2 true JP4160925B2 (ja) 2008-10-08

Family

ID=33299500

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004124810A Expired - Fee Related JP4160925B2 (ja) 2003-04-28 2004-04-20 分散型ノード・トポロジにおけるクロス・チップ通信機構を含むマルチプロセッサ・コンピュータ・システム内の処理ユニット間の通信方法およびシステム

Country Status (2)

Country Link
US (1) US7574581B2 (ja)
JP (1) JP4160925B2 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7286770B2 (en) * 2003-07-18 2007-10-23 International Business Machines Corporation Fiber optic transmission lines on an SOC
US7937557B2 (en) * 2004-03-16 2011-05-03 Vns Portfolio Llc System and method for intercommunication between computers in an array
US7454657B2 (en) * 2004-09-02 2008-11-18 International Business Machines Corporation Method for self-diagnosing remote I/O enclosures with enhanced FRU callouts
US7290180B2 (en) * 2004-09-02 2007-10-30 International Business Machines Corporation Method to use an alternate I/O debug path
US7392350B2 (en) * 2005-02-10 2008-06-24 International Business Machines Corporation Method to operate cache-inhibited memory mapped commands to access registers
US7467204B2 (en) * 2005-02-10 2008-12-16 International Business Machines Corporation Method for providing low-level hardware access to in-band and out-of-band firmware
US7418541B2 (en) * 2005-02-10 2008-08-26 International Business Machines Corporation Method for indirect access to a support interface for memory-mapped resources to reduce system connectivity from out-of-band support processor
JP4600134B2 (ja) * 2005-04-25 2010-12-15 富士通セミコンダクター株式会社 マルチプロセッサシステム
JP4569368B2 (ja) * 2005-04-26 2010-10-27 日本電気株式会社 計算機システム、メモリ初期化方法、および計算機システムのプログラム
US7904695B2 (en) 2006-02-16 2011-03-08 Vns Portfolio Llc Asynchronous power saving computer
KR100730279B1 (ko) 2005-12-16 2007-06-19 삼성전자주식회사 스타 토로스 토폴로지를 이용하여 칩 상의 디바이스를연결한 컴퓨터 칩
US7904615B2 (en) 2006-02-16 2011-03-08 Vns Portfolio Llc Asynchronous computer communication
US7966481B2 (en) * 2006-02-16 2011-06-21 Vns Portfolio Llc Computer system and method for executing port communications without interrupting the receiving computer
US20070234118A1 (en) * 2006-03-30 2007-10-04 Sardella Steven D Managing communications paths
US8006069B2 (en) * 2006-10-05 2011-08-23 Synopsys, Inc. Inter-processor communication method
US8145880B1 (en) 2008-07-07 2012-03-27 Ovics Matrix processor data switch routing systems and methods
US7958341B1 (en) 2008-07-07 2011-06-07 Ovics Processing stream instruction in IC of mesh connected matrix of processors containing pipeline coupled switch transferring messages over consecutive cycles from one link to another link or memory
US8131975B1 (en) 2008-07-07 2012-03-06 Ovics Matrix processor initialization systems and methods
US8327114B1 (en) 2008-07-07 2012-12-04 Ovics Matrix processor proxy systems and methods
US7870365B1 (en) 2008-07-07 2011-01-11 Ovics Matrix of processors with data stream instruction execution pipeline coupled to data switch linking to neighbor units by non-contentious command channel / data channel
US20100077472A1 (en) * 2008-09-23 2010-03-25 Atmel Corporation Secure Communication Interface for Secure Multi-Processor System
US8880970B2 (en) * 2008-12-23 2014-11-04 Conversant Intellectual Property Management Inc. Error detection method and a system including one or more memory devices
JPWO2012172682A1 (ja) * 2011-06-17 2015-02-23 富士通株式会社 演算処理装置及び演算処理装置の制御方法
KR101849702B1 (ko) 2011-07-25 2018-04-17 삼성전자주식회사 외부 인트린직 인터페이스
US9904616B2 (en) 2011-12-14 2018-02-27 International Business Machines Corporation Instruction output dependent on a random number-based selection or non-selection of a special command from a group of commands
EP3614273A3 (en) 2012-12-13 2020-04-15 Coherent Logix, Incorporated Multiprocessor system with improved secondary interconnection network
US10802723B1 (en) * 2013-02-27 2020-10-13 Altera Corporation Apparatus and method for fast-path memory operations
US9575913B1 (en) * 2015-12-07 2017-02-21 International Business Machines Corporation Techniques for addressing topology specific replicated bus units

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4742511A (en) * 1985-06-13 1988-05-03 Texas Instruments Incorporated Method and apparatus for routing packets in a multinode computer interconnect network
JP2522855B2 (ja) 1990-10-16 1996-08-07 富士通株式会社 システム記憶装置の制御システム
JPH06276197A (ja) 1993-03-18 1994-09-30 Hitachi Ltd 情報処理装置
JPH1011319A (ja) 1996-06-25 1998-01-16 Hitachi Ltd マルチプロセッサシステムの保守方法
US5796995A (en) * 1997-02-28 1998-08-18 Texas Instruments Incorporated Circuit and method for translating signals between clock domains in a microprocessor

Also Published As

Publication number Publication date
US20040215929A1 (en) 2004-10-28
JP2004326784A (ja) 2004-11-18
US7574581B2 (en) 2009-08-11

Similar Documents

Publication Publication Date Title
JP4160925B2 (ja) 分散型ノード・トポロジにおけるクロス・チップ通信機構を含むマルチプロセッサ・コンピュータ・システム内の処理ユニット間の通信方法およびシステム
JP4128956B2 (ja) デュアル・インライン・メモリモジュール・フォーマットにおいて一連のマルチアダプティブプロセッサを採用したクラスタ型コンピュータ用スイッチ/ネットワークアダプタポート
US4006466A (en) Programmable interface apparatus and method
US6401174B1 (en) Multiprocessing computer system employing a cluster communication error reporting mechanism
US6038646A (en) Method and apparatus for enforcing ordered execution of reads and writes across a memory interface
US7318127B2 (en) Method, apparatus, and computer program product for sharing data in a cache among threads in an SMT processor
EP0959411B1 (en) Packet distribution in a microcomputer
US5796605A (en) Extended symmetrical multiprocessor address mapping
US7707465B2 (en) Routing of shared I/O fabric error messages in a multi-host environment to a master control root node
US4000487A (en) Steering code generating apparatus for use in an input/output processing system
US7051180B2 (en) Masterless building block binding to partitions using identifiers and indicators
US8271738B2 (en) Apparatus for operating cache-inhibited memory mapped commands to access registers
US6715055B1 (en) Apparatus and method for allocating buffer space
US7143226B2 (en) Method and apparatus for multiplexing commands in a symmetric multiprocessing system interchip link
CN113868173A (zh) 扁平化端口桥
US20160210255A1 (en) Inter-processor bus link and switch chip failure recovery
CN1504913A (zh) 数据访问环系统及采用环形总线的方法
JP2003296191A (ja) 汎用プロセッサおよび周辺装置のプロセッサとして動作可能な集積回路
JP4723470B2 (ja) 計算機システムおよびそのチップセット
US20080022052A1 (en) Bus Coupled Multiprocessor
US8688890B2 (en) Bit ordering for communicating an address on a serial fabric
US6532519B2 (en) Apparatus for associating cache memories with processors within a multiprocessor data processing system
EP0840223B1 (en) Microcomputer capable of accessing an external memory
US20010037426A1 (en) Interrupt handling via a proxy processor
CN110737618A (zh) 内嵌处理器进行快速数据通信的方法、装置及存储介质

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060613

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060627

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060912

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060915

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20061117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20061117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061219

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070612

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070907

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20071015

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080715

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20080715

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080718

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110725

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110725

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120725

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130725

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees