JP2008046890A - マルチプロセッサシステム - Google Patents

マルチプロセッサシステム Download PDF

Info

Publication number
JP2008046890A
JP2008046890A JP2006222286A JP2006222286A JP2008046890A JP 2008046890 A JP2008046890 A JP 2008046890A JP 2006222286 A JP2006222286 A JP 2006222286A JP 2006222286 A JP2006222286 A JP 2006222286A JP 2008046890 A JP2008046890 A JP 2008046890A
Authority
JP
Japan
Prior art keywords
memory
read
data
cpu
multiprocessor system
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.)
Granted
Application number
JP2006222286A
Other languages
English (en)
Other versions
JP4829038B2 (ja
Inventor
Toshikazu Ueki
俊和 植木
Koji Ishizuka
孝治 石塚
Makoto Hataida
誠 畑井田
Takashi Yamamoto
崇史 山本
Yuka Hosokawa
由佳 細川
Takeshi Owaki
威 大脇
Daisuke Ito
大介 伊藤
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006222286A priority Critical patent/JP4829038B2/ja
Priority to KR1020070020134A priority patent/KR100884011B1/ko
Priority to US11/785,891 priority patent/US7694106B2/en
Priority to EP07107000A priority patent/EP1895432B1/en
Priority to DE602007007552T priority patent/DE602007007552D1/de
Priority to CNB2007101039598A priority patent/CN100535885C/zh
Publication of JP2008046890A publication Critical patent/JP2008046890A/ja
Application granted granted Critical
Publication of JP4829038B2 publication Critical patent/JP4829038B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1072Decentralised address translation, e.g. in distributed shared memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)

Abstract

【課題】本発明は、SMP構成のマルチプロセッサシステムにおいて、ローカルノードにおけるメモリリードのレイテンシの短縮を実現する新たな技術の提供を目的とする。
【解決手段】グローバルアドレスクロスバーに投入するリード命令が自システムボード上のメモリへのリード命令であるのか否かを判断する手段と、自システムボード上のメモリへのリード命令であることを判断する場合に、グローバルアドレスクロスバーから通知されるアドレスに基づくグローバルアクセスの前にリード命令を投機実行する手段と、メモリからリードしたデータをメモリ側に設けられるデータキューにキューイングせずにCPU側に設けられるデータキューにキューイングすることを設定する手段と、グローバルアドレスクロスバーからの通知に基づいて、CPU側に設けられるデータキューに対して、データの破棄又はCPUへのデータの送信を指示する手段とを備えるように構成する。
【選択図】図3

Description

本発明は、CPUとメモリとを実装する複数のシステムボードがグローバルアドレスクロスバーを介して接続されることで構成されて、そのグローバルアドレスクロスバーにアドレスを投入することで全てのCPUに対して対称的に処理を割り付けるという構成を採るマルチプロセッサシステムに関し、特に、メモリからのリードのレイテンシの短縮を実現するマルチプロセッサシステムに関する。
対称型マルチプロセッサ(SMP:Symmetric Multiple Processor)とは、図9に示すように、CPU及びメモリを実装する複数のシステムボード(SB)と複数のIOユニット(IOU)とがグローバルアドレスクロスバー及びグローバルデータクロスバーを介して接続されることで構成されるものであり、全てのCPUに対して対称的、均一に処理が割り付けられるという特徴を持つ並列処理方式である。
この対称型マルチプロセッサでは、CPUがデータを要求する場合に、グローバルアドレスクロスバーを使って、そのデータがどのメモリにあるのかとか、そのデータがどのCPUのキャッシュにあるのかとか、CPUのキャッシュ上にあるそのデータがCPUにより書き換えられているのかとか、そのデータを要求元のCPUに送信する上で必要となる資源(キューなど)が枯渇しているのかとか、そのデータが先行する命令により書き換えられることになるのかとか、そのデータのアクセスが競合することになるのかとかいった情報を収集(後述するローカルキャストの対象となる情報)して、それに基づいて、各システムボードに対してどのような処理を行うのかを指示することにより、データ要求元のCPUが要求データを取得できるようにするという処理を行うことになる。
このようにして、SMPで構成されるマルチプロセッサシステムでは、各CPUの要求するデータのアドレスをグローバルアドレスクロスバーに投入して、グローバルアドレスクロスバーを使ってそれらのアドレスを調停することで、それらのアドレスのデータを処理するシステムボードを決定して、その決定結果を各システムボードに通知することで、全てのCPUに対して対称的、均一に処理が割り付けられることになることを実現している。
次に、図10に従って、SMPを構成する各システムボードで実行されるメモリリード処理について説明する。
CPU1がメモリ2にあるデータのアドレスを指定してリード要求を発行すると、そのアドレスはマスタアドレスキュー4を介してグローバルアドレスクロスバー8に投入され、グローバルアドレスクロスバー8からスヌープアドレスとして各システムボードの備えるパイプライン3に通知されることになる。したがって、リード要求元のCPU1を搭載するシステムボードの備えるパイプライン3には、そのCPU1の発行したアドレスが戻されることになる。
この通知を受けて、リード要求元のCPU1を搭載するシステムボードの備えるパイプライン3は、グローバルアドレスクロスバー8から通知されたスヌープアドレスをメモリリードアドレスとして指定して、リード命令を投機実行する。
このリード命令の投機実行を受けて、メモリリードアドレスはスレーブメモリリードアドレスキュー5にキューイングされ、これに応じてメモリ2からデータがリードされて、そのデータはスレーブメモリリードデータキュー6にキューイングされて、そこで、パイプライン3からの指示を待つことになる。
一方、リード要求元のCPU1を搭載するシステムボードの備えるパイプライン3は、リード命令の投機実行に続けて、ローカルキャストの対象となる上記のような情報を収集してグローバルアドレスクロスバー8にローカルキャストする。
このローカルキャストを受けて、グローバルアドレスクロスバー8は、各システムボードから上記のような情報を収集すると、システム全体としてのCPUキャッシュ検査やアドレスビジー検査や資源枯渇検査などの検査を行うことで、データ要求元のCPU1を搭載するシステムボードの備えるパイプライン3の行ったリード命令の投機実行の採用・不採用及びリード命令のリトライの必要性の有無を決定して、その決定結果を全てのシステムボードの備えるパイプライン3にグローバルキャストする。
このグローバルキャストを受けて、データ要求元のCPU1を搭載するシステムボードの備えるパイプライン3は、グローバルアドレスクロスバー8からの通知に基づいて、スレーブメモリリードデータキュー6に対して、キューイングしているデータをCPU1へ送信することを指示することでそのデータをマスタリードデータキュー7にキューイングさせたり、キューイングしているデータの破棄を指示し、さらに、このデータ破棄を指示する場合には、マスタアドレスキュー4に対してリトライを指示する。
このようにして、SMPで構成されるマルチプロセッサシステムでは、各CPUの要求するデータのアドレスをグローバルアドレスクロスバーに投入して、グローバルアドレスクロスバーを使ってそれらのアドレスを調停することで、それらのアドレスのデータを処理するシステムボードを決定して、その決定結果を各システムボードに通知することで、全てのCPUに対して対称的、均一に処理が割り付けられることになることを実現しているのである。
本発明では、以下に説明するように、SMPで構成されるマルチプロセッサシステムにおいて、メモリからのリードのレイテンシの短縮を実現することでシステムの処理性能の向上を実現しており、この本発明に関連する従来技術として、下記に記載する引用文献1に記載された発明などがある。
特開2001−184321号公報
大規模なキャッシュを有するCPUを持つシステムでは、メモリからのリードのレイテンシはシステムの処理性能に大きな影響を及ぼし、レイテンシが短いとシステムの処理性能は向上する。
SMPで構成されるマルチプロセッサシステムでは、各ノードから均等なレイテンシでメモリよりデータをリードできるという特徴があるものの、物理的に近傍にあるメモリからのリード時のレイテンシについては、小規模な非SMP構成のマルチプロセッサシステムよりも悪くなる。
プログラムの最適化により、各ノードのCPUは自ノードのメモリを優先して使用することが可能であるが、大規模なSMP構成のマルチプロセッサシステムではこのメリットが得られない。
そのため、SMPで構成されるマルチプロセッサシステムでは、自ノードのメモリからのリードのレイテンシを短縮することのみでも、システムの処理性能を向上することが期待できる。
メモリからのリードのレイテンシの短縮を実現するためには、個々のモジュール自体のレイテンシを短縮することが重要であるが、その他に、処理の待ち合わせ時間を短縮することでも実現可能である。処理の待ち合わせがあると、レイテンシの長い方でシステム全体のレイテンシが決定されることになるからである。
次に、図10に従って、SMPを構成する各システムボードで実行されるメモリリード処理で発生する待ち時間について説明する。
このメモリリード処理では、図10に示すように、スレーブメモリリードデータキュー6で、メモリ2からのデータの読み出しと、パイプライン3からのリード命令の投機実行の採用・不採用通知(データ送信かデータ破棄を指示する通知)とを待ち合わせる処理を行う。
この場合、グローバルアドレスクロスバー8の処理に基づくグローバルアドレスのレイテンシによる遅延が大きいと、メモリデータの方が早くスレーブメモリリードデータキュー6に到着し、これに遅れて、リード命令の投機実行の採用・不採用通知がスレーブメモリリードデータキュー6に到着することになる。逆に、メモリ2のデータリードレイテンシによる遅延が大きいと、リード命令の投機実行の採用・不採用通知の方が早くスレーブメモリリードデータキュー6に到着し、これに遅れて、メモリデータがスレーブメモリリードデータキュー6に到着することになる。
このことから分かるように、従来技術では、SMPを構成する各システムボードで実行されるメモリリード処理において、スレーブメモリリードデータキュー6で待ち合わせの時間が発生することが避けられず、これから、システムの処理性能の向上が図れないという問題があった。
本発明はかかる事情に鑑みてなされたものであって、SMPを構成する各システムボードで実行されるメモリリード処理で発生するデータとアドレスとの待ち合わせ時間を短縮することで、ローカルノードにおけるメモリリードのレイテンシの短縮を実現する新たなマルチプロセッサシステムの提供を目的とする。
この目的を達成するために、本発明のマルチプロセッサシステムは、CPUとメモリとを実装する複数のシステムボードがグローバルアドレスクロスバーを介して接続されることで構成されて、グローバルアドレスクロスバーにアドレスを投入することで全てのCPUに対して対称的に処理を割り付けるという構成を採るときにあって、(1)グローバルアドレスクロスバーに投入するCPUから発行されたリード命令が自システムボード上のメモリへのリード命令であるのか否かを判断する判断手段と、(2)判断手段が自システムボード上のメモリへのリード命令であることを判断する場合に、グローバルアドレスクロスバーから通知されるアドレスに基づくグローバルアクセスの前に、そのリード命令を投機実行する実行手段と、(3)メモリからリードしたデータをメモリ側に設けられるデータキューにキューイングせずにCPU側に設けられるデータキューにキューイングすることを設定する設定手段と、(4)グローバルアドレスクロスバーからの通知に基づいて、CPU側に設けられるデータキューに対して、データの破棄又はCPUへのデータの送信を指示する指示手段とを備えるように構成する。
この構成を採るときに、さらに、(5)メモリ側に設けられるデータキューとCPU側に設けられるデータキューとの間を接続するバスがビジー状態となる場合に、実行手段が実行するリード命令の投機実行を一時的に停止させる第1の一時停止手段と、(6)メモリ側に設けられるデータキューとCPU側に設けられるデータキューとの間を接続するバスがビジー状態となる場合に、メモリからリードしたデータをメモリ側に設けられるデータキューにキューイングすることを設定すべく、設定手段による設定を一時的に解除する解除手段と、(7)リード命令の投機実行に対してのリトライが多発状態となる場合に、その投機実行を一時的に停止させる第2の一時停止手段と、(8)リード命令の投機実行に対してのリトライが規定回数を超えるリード命令について、そのリード命令の投機実行を停止させる停止手段とを備えることがある。
このように構成される本発明のマルチプロセッサシステムでは、CPUがリード命令を発行すると、判断手段は、そのリード命令が自システムボード上のメモリへのリード命令であるのか否かを判断して、自システムボード上のメモリへのリード命令であることを判断するときには、実行手段は、グローバルアドレスクロスバーから通知されるアドレスに基づくグローバルアクセスの前に、そのリード命令を投機実行する。
ここで、判断手段は、メモリのデータがCPUにより書き換えられているような場合には投機実行が失敗に終わることを考慮して、投機実行の成功の確率を高めるために、メモリに要求のデータが存在する確率の高いリード命令(例えば、CPUにより書き換えられることのない命令のリード命令)といったように、特定のリード命令を判断対象として、CPUから発行されたリード命令が自システムボード上のメモリへのリード命令であるのか否かを判断することがある。
このようにして、本発明のマルチプロセッサシステムでは、CPUの発行したリード命令が自システムボード上のメモリへのリード命令である場合には、図1に示すように、グローバルアドレスクロスバーから通知されるアドレスに基づくグローバルアクセスの前に、そのリード命令を投機実行するのである。
この構成を採るときに、他のシステムボードはグローバルアドレスクロスバーから通知されるアドレスに基づいてリード命令の投機実行を行うことになるので、本発明のマルチプロセッサシステムではSMPの基本的な構成を崩すようなことはない。
さらに、本発明のマルチプロセッサシステムでは、設定手段は、例えば、実行手段が本発明に特徴的なリード命令の投機実行を行う場合には、メモリからリードしたデータをメモリ側に設けられるデータキューにキューイングせずにCPU側に設けられるデータキューにキューイングすることを設定するので、この設定に基づいて、指示手段は、グローバルアドレスクロスバーからの通知に基づいて、CPU側に設けられるデータキューに対して、データの破棄又はCPUへのデータの送信を指示する。
このようにして、本発明のマルチプロセッサシステムでは、図2に示すように、グローバルアドレスクロスバーからの通知に基づいて、CPU側に設けられるデータキュー(図2に示すマスタリードデータキュー7)に対して、データの破棄又はCPUへのデータの送信を指示するのである。
本発明のマルチプロセッサシステムでは、図1に示すように、CPUの発行したリード命令が自システムボード上のメモリへのリード命令である場合には、グローバルアドレスクロスバーから通知されるアドレスに基づくグローバルアクセスの前に、そのリード命令を投機実行するので、メモリからデータを高速にリードすることができるようになる。
しかしながら、このとき、グローバルアドレスクロスバーからの指示(データ破棄の指示やCPUへのデータ送信の指示)が遅れると、メモリからリードしたデータの待ち合わせ時間が長くなってしまう。
そこで、本発明のマルチプロセッサシステムでは、そのようなリード命令の投機実行を行う場合には、図2に示すように、メモリからリードしたデータをメモリ側に設けられるデータキュー(図2に示すスレーブメモリリードデータキュー6)で待たせるのではなくて、CPU側に設けられるデータキュー(図2に示すマスタリードデータキュー7)で待たせるようにして、そのCPU側に設けられるデータキューに対して、データの破棄又はCPUへのデータの送信を指示するようにするのである。
この構成に従って、本発明のマルチプロセッサシステムでは、メモリからデータを高速にリードして、それを直ちにCPUに送信することができるようになる。
一方、図2では示していないが、スレーブメモリリードデータキュー6とマスタリードデータキュー7との間を接続するバスには、他のシステムボードからデータが転送されてくることになる。
これから、メモリからリードしたデータをメモリ側に設けられるデータキューで待たせるのではなくて、CPU側に設けられるデータキューで待たせるようにすると、メモリ側に設けられるデータキューとCPU側に設けられるデータキューとの間を接続するバスがビジー状態となることが起こる。
そこで、本発明のマルチプロセッサシステムでは、第1の一時停止手段を備えるようにして、メモリからリードしたデータをCPU側に設けられるデータキューで待たせるようにするという構成を採る場合には、メモリ側に設けられるデータキューとCPU側に設けられるデータキューとの間を接続するバスがビジー状態となるのか否かを監視して、そのビジー状態を検出すると、第1の一時停止手段を使って、実行手段が実行するリード命令の投機実行を一時的に停止させるようにする。
また、本発明のマルチプロセッサシステムでは、解除手段を備えるようにして、メモリからリードしたデータをCPU側に設けられるデータキューで待たせるようにするという構成を採る場合には、メモリ側に設けられるデータキューとCPU側に設けられるデータキューとの間を接続するバスがビジー状態となるのか否かを監視して、そのビジー状態を検出すると、メモリからリードしたデータをメモリ側に設けられるデータキューにキューイングすることを設定すべく、解除手段を使って、設定手段による設定を一時的に解除するようにする。
そして、実行手段が実行するリード命令の投機実行に対してのリトライが多発状態となる場合には、CPUによりデータが頻繁に書き換えられているなど、そのような状態が発生する理由がある。
そこで、本発明のマルチプロセッサシステムでは、第2の一時停止手段を備えるようにして、実行手段が実行するリード命令の投機実行に対してのリトライが多発状態となる場合には、第2の一時停止手段を使って、実行手段が実行するリード命令の投機実行を一時的に停止させるようにする。
そして、実行手段が実行するリード命令の投機実行に対してのリトライが規定回数を超えるリード命令については、CPUによりデータが頻繁に書き換えられているなど、そのような状態が発生する理由がある。
そこで、本発明のマルチプロセッサシステムでは、停止手段を備えるようにして、実行手段が実行するリード命令の投機実行に対してのリトライが規定回数を超えるリード命令については、停止手段を使って、そのリード命令の投機実行を停止させるようにする。
本発明によれば、SMPの基本的な処理を崩すことなく、SMPを構成する各システムボードで実行されるメモリリード処理で発生するデータとアドレスとの待ち合わせ時間を短縮することができるようになる。
これから、本発明によれば、SMPで構成されるマルチプロセッサシステムにおいて、SMPの基本的な処理を崩すことなく、ローカルノードにおけるメモリリードのレイテンシの短縮を実現することができるようになる。
以下、実施の形態に従って本発明を詳細に説明する。
図3に、SMPで構成される本発明のマルチプロセッサシステムの一実施形態を図示する。
この図に示すように、本実施形態のマルチプロセッサシステムは、CPU10及びメモリ11を搭載する複数のシステムボード100がグローバルアドレスクロスバー200及びグローバルデータクロスバー300を介して接続されることで構成される。
本実施形態のマルチプロセッサシステムには、システム管理者と対話する端末500に接続されて、パーティションの構成の設定や動作モードの設定といったシステム全体の管理を行うシステムコントロール装置400が接続されている。
本実施形態のマルチプロセッサシステムを構成する各システムボード100は、自ボードに搭載されるCPU10の発行するアドレスに応答して、ローカルリクエストアドレスパケット(以下、LRAパケットと称する)を生成してグローバルアドレスクロスバー200に投入し、このLRAパケットの投入を受けて、グローバルアドレスクロスバー200は、グローバルアドレスプライオリティ制御回路210により調停を行うことで、それらのLRAパケットの中からグローバルセレクトアドレスパケット(以下、GSAパケットと称する)を選択して、それを全てのシステムボード100(同一のパーティション内のシステムボード100のこともある)にブロードキャストする。
そして、グローバルアドレスクロスバー200は、このGSAパケットのブロードキャストに応答して、各システムボード100から、リトライが必要であるということやデータがどこにあるのかといったことなどについて記述するローカルキャスト信号(以下、LCST信号と称する)が送信されてくると、GCST生成回路220を使って、リトライ指示や投機実行されたリード命令に対する採用・不採用などについて記述するグローバルキャスト信号(以下、GCST信号と称する)を生成して、それを全てのシステムボード100(同一のパーティション内のシステムボード100のこともある)にブロードキャストする。
このSMP構成に従って、本実施形態のマルチプロセッサシステムは、全てのCPU10に対して対称的、均一に処理が割り付けることを実現している。
本実施形態のマルチプロセッサシステムを構成する各システムボード100は、CPU10及びメモリ11を備えることに加えて、CPU10とメモリ11とを相互に接続してデータの橋渡しを行うノースブリッジ12と、メモリ11の制御を行うメモリコントローラ13とを備える。
このノースブリッジ12は、図3に示すように、マスタアドレスキュー20と、セレクタ21と、セレクタ制御回路22と、メモリアクセス制御回路23と、検査回路24と、LCST生成回路25と、スレーブリクエスト制御回路26と、マスタリードデータキュー27と、バスビジー監視回路28と、リトライ数監視回路29と、命令デコーダ30とを備える。
一方、メモリコントローラ13は、図3に示すように、スレーブメモリリードアドレスキュー40と、スレーブメモリリードデータキュー41と、外部リードデータキュー42と、データ転送回路43とを備える。
メモリコントローラ13の備えるスレーブメモリリードアドレスキュー40は、ノースブリッジ12から送られてくる投機実行したリード命令のアドレスをキューイングするとともに、ノースブリッジ12から送られてくる投機実行したリード命令の採用・不採用通知を受け取る。また、メモリコントローラ13の備えるスレーブメモリリードデータキュー41は、スレーブメモリリードアドレスキュー40にキューイングされるアドレスに応答してメモリ11からリードされたデータをキューイングする。
また、メモリコントローラ13の備える外部リードデータキュー42は、他のシステムボード100から送られてくるデータをキューイングする。また、メモリコントローラ13の備えるデータ転送回路43は、スレーブメモリリードデータキュー41及び外部リードデータキュー42にキューイングされるデータを読み出して、ノースブリッジ12のマスタリードデータキュー27に転送する。
次に、ノースブリッジ12の備える各回路の機能について説明する。
(1)マスタアドレスキュー20の機能
マスタアドレスキュー20は、CPU10からの命令をチップセットのLRAパケットに変換して保持し、それをグローバルアドレスクロスバー200に投入する。
マスタアドレスキュー20に保持されるLRAパケットは、リード命令の場合には、データがCPU10に到着後に解放され、データがCPU10に到着しない間は保持されて、途中でリトライが発生した場合には再投入される。
このLRAパケットは、オペコード、アドレス、ID、ボード番号、リトライ回数情報、パーティション情報などの情報で構成される。
(2)セレクタ21の機能
セレクタ21は、セレクタ制御回路22の選択指示に従って、グローバルアドレスクロスバー200に投入されるLRAパケットか、グローバルアドレスクロスバー200からブロードキャストされるGSAパケットのいずれか一方を選択して、出力する。
(3)セレクタ制御回路22の機能
セレクタ制御回路22は、グローバルアドレスクロスバー200からGSAパケットがブロードキャストされてくる場合と、GSAパケットを強制的に選択するという動作モードに設定されている場合には、セレクタ21に対して、GSAパケットを選択することを指示し、それ以外の場合には、セレクタ21に対して、LRAパケットを選択することを指示する。
GSAパケットを強制的に選択するという動作モードは、システムコントロール装置400により設定されて命令デコーダ30を介して通知される場合と、メモリアクセス制御回路23によりリトライ多発状態の発生が検出されるときに設定されて通知される場合と、バスビジー監視回路28によりマスタリードデータキュー27とデータ転送回路43との間のバスのビジー状態の発生が検出されるときに設定されて通知される場合と、リトライ数監視回路29によりリトライ回数の多いLRAパケットの発生が検出されるときに設定されて通知される場合とがある。
(4)メモリアクセス制御回路23の機能
メモリアクセス制御回路23は、自システムボード100に搭載されるメモリ11のアクセスを制御するものであり、セレクタ21がLRAパケットを選択し、それが自システムボード100に搭載されるメモリ11に対してのリードアクセスの場合には、そのLRAパケットに対応したGSAパケットが到着するまで、そのLRAパケットの持つアドレス情報及びID情報を保持するとともに、その保持情報が有効であることを示すバリッド情報を保持する。ここで、ID情報については、GSAパケットの到着時にLRAパケットを解放するために保持することになる。
また、メモリアクセス制御回路23は、GSAパケットがライトパケットで、保持しているLRAパケットとアドレスが一致する場合には、ライトアドレスの追い抜きを判断して、リトライする必要があることを示すリトライフラグをセットする。
このリトライフラグがセットされている場合には、GSAパケットに対しての応答として、LCST信号にてグローバルアドレスクロスバー200に対してリトライを返し、グローバルアドレスクロスバー200からブロードキャストされてくるGCST信号の指示に従って、スレーブリクエスト制御回路26に対してデータ破棄の行動をとらせることになる。
また、メモリアクセス制御回路23は、セレクタ21がLRAパケットを選択する場合にあって、検査回路24の検査処理に従って、そのLRAパケットが自システムボード100に搭載されるメモリ11に対してのリード命令であることを検出する場合には、スレーブリクエスト制御回路26に対して、そのリード命令の投機実行を指示して、リード命令発行済フラグをセットする。
このとき発行するリード命令は、通常のGSAパケットに基づくリード命令とは判別できるようにするために異なる命令で行う。そして、GSAパケットの到着時に、このリード命令発行済フラグがセットされている場合には、リード命令を発行済なので、スレーブリクエスト制御回路26に対して、リード命令を再度発行しないように指示を行う。
さらに、メモリアクセス制御回路23は、上述したリトライフラグのセット率を監視して、ライトアドレスの追い抜きやグローバルアドレスクロスバー200からのリトライ指示の多発によりリトライ多発状態の発生を検出すると、セレクタ21が一定期間強制的にGSAパケットを選択するという動作モードに設定して、その動作モードに設定したことをセレクタ制御回路22に通知する機能を持つ。
例えば、リトライがセットされると、セット累積値を1つインクリメントし、リトライがセットされない場合にはセット累積値を1つディクリメントして、セット累積値が規定の閾値を超える場合には、セレクタ21が一定期間強制的にGSAパケットを選択するという動作モードに設定することで、セレクタ21が一定期間強制的にGSAパケットを選択するようにするという機能を持つのである。
(5)検査回路24の機能
検査回路24は、アドレスマップ検査やDTAG検査や資源枯渇検査やアドレスビジー検査を行うことで、自システムボード100に搭載されるメモリ11にデータがあるのかということや、自システムボード100に搭載されるCPU10のキャッシュにデータがあるのかということや、アクセス処理に必要となる資源が枯渇していたり、他のパケットがアドレスを使用中のためにリード命令のリトライを指示する必要があるのかということなどを検査する。
すなわち、アドレスマップ検査を行うことで、LRAパケットの指すデータが自システムボード100に搭載されるメモリ11にあるのかということを検査する。
そして、CPU10のキャッシュに記録されるステータス情報をコピーして管理するDTAGを参照して検査を行うことで、自システムボード100に搭載されるCPU10のキャッシュがデータを持っているのかとか、そのCPU10のキャッシュがメモリ11に格納されるデータと一致する形でデータを持っているのかとか、そのCPU10のキャッシュがメモリ11に格納されるデータを書き換える形でデータを持っているのかということなどを検査することにより、どこからデータをリードしなければならないのかということを検査する。
そして、リードアクセスに必要となる資源が枯渇しているのかを検査する資源枯渇検査を行うことで、投機実行したリード命令をキャンセルさせる必要があるのかということを検査する。
そして、同一アドレスに対するアクセス競合が発生しているのかを検査するアドレスビジー検査を行うことで、投機実行したリード命令をキャンセルさせる必要があるのかということを検査する。
ここで、セレクタ21がLRAパケットを選択した場合には、検査回路24は、アドレスマップ検査のみを行い、自システムボード100に搭載されるメモリ11にデータが存在するのか否かだけを検査して、その検査結果をメモリアクセス制御回路23に通知することで、リード命令の投機実行を行うのか否かを制御することになる。
(6)LCST生成回路25の機能
LCST生成回路25は、検査回路24の検査結果に基づいて、リトライが必要であるということやデータがどこにあるのかといったことなどについて記述するLCST信号を生成して、それをグローバルアドレスクロスバー200に投入する。
(7)スレーブリクエスト制御回路26の機能
スレーブリクエスト制御回路26は、自システムボード100に搭載されるメモリ11へのリクエストを制御するものである。
スレーブリクエスト制御回路26は、通常の場合には、グローバルアドレスクロスバー200からブロードキャストされるGSAパケットを受けて、そのGSAパケットに対しての検査回路24の検査結果に基づいて、自システムボード100に搭載されるメモリ11に対してリード命令を投機実行することで、スレーブメモリリードアドレスキュー40にリード命令をキューイングする。そして、グローバルアドレスクロスバー200からブロードキャストされるGCST信号を受けて、スレーブメモリリードアドレスキュー40を経由してスレーブメモリリードデータキュー41に対して、投機実行したリード命令の採用・不採用を通知する。そして、投機実行したリード命令を不採用とする場合には、マスタアドレスキュー20に対してリトライを通知する。
これに対して、本実施形態では、(a)リードしたデータをスレーブメモリリードデータキュー41で待たせて、スレーブメモリリードデータキュー41に対して、投機実行したリード命令の採用・不採用を通知するという動作モードと、(b)リードしたデータをスレーブメモリリードデータキュー41で待たせずにマスタリードデータキュー27に転送することで、マスタリードデータキュー27で待たせるようにして、マスタリードデータキュー27に対して、投機実行したリード命令の採用・不採用を通知するという動作モードと、(c)LRAパケットに基づくリード命令については後者の方法を用い、GSAパケットに基づくリード命令については前者の方法を用いるという動作モード、という3つの動作モードを用意して、システムコントロール装置400にてどの動作モードを用いるのかを設定するようにしている。
(8)マスタリードデータキュー27の機能
マスタリードデータキュー27は、データ転送回路43から転送されてくるデータ(データパケットの形態となっている)をキューイングする。データ転送回路43から転送されてくるデータには、スレーブメモリリードデータキュー41から読み出されたデータと、外部リードデータキュー42から読み出されたデータとがあるので、これらのデータをキューイングするのである。
(9)バスビジー監視回路28の機能
バスビジー監視回路28は、データ転送回路43とマスタリードデータキュー27との間を接続するバスを監視対象として、一定期間に、そのバスに転送されたデータパケットの数を数えて規定の閾値と比較することで、そのバスがビジー状態となったのか否かを判断して、バスビジー状態の発生を検出すると、セレクタ21が一定期間強制的にGSAパケットを選択するという動作モードに設定して、その動作モードに設定したことをセレクタ制御回路22に通知する。
(10)リトライ数監視回路29の機能
リトライ数監視回路29は、通常の場合には、各LRAパケットのリトライ数を監視して、規定以上のリトライを繰り返すLRAパケットを検出すると、他のLRAパケットの投入を抑止して、リトライを成功させるようにする。
これに対して、本実施形態の場合、リトライ多発の要因が本実施形態の動作に起因する可能性があることを考慮して、リトライ数監視回路29は、規定以上のリトライを繰り返すLRAパケットについては、セレクタ21が強制的にGSAパケットを選択するという動作モードに設定して、その動作モードに設定したことをセレクタ制御回路22に通知するという処理を行う。
(11)命令デコーダ30の機能
命令デコーダ30は、システムコントロール装置400の命令をデコードすることで、各システムボード100のボード番号や所属パーティションを設定するとともに、各種の動作モードの設定を行う。
バスビジー監視回路28が動作する際に必要となるバスビジー状態の発生の判断に用いるデータパケット数の閾値や、セレクタ21が強制的にGSAパケットを選択する期間の長さなどについても、命令デコーダ30がシステムコントロール装置400の命令をデコードすることで設定することになる。
次に、このように構成される本実施形態のマルチプロセッサシステムの動作について説明する。
本実施形態のマルチプロセッサシステムでは、CPU10がリード命令を発行すると、マスタアドレスキュー20は、CPU10からのリード命令をチップセットのLRAパケットに変換して保持し、それをグローバルアドレスクロスバー200に投入する。
このとき、セレクタ21は、グローバルアドレスクロスバー200に投入されるLRAパケットを選択して出力し、これを受けて、検査回路24は、アドレスマップ検査を行って、リード要求のデータが自システムボード100に搭載されるメモリ11に存在するのかを検査して、その検査結果をメモリアクセス制御回路23に通知する。
この通知を受けて、メモリアクセス制御回路23は、グローバルアドレスクロスバー200に投入されるLRAパケットが自システムボード100に搭載されるメモリ11に対してのリード命令であることの検査結果を受け取る場合には、スレーブリクエスト制御回路26を介して、メモリコントローラ13に対してリード命令を投機実行する。
このようにして、本実施形態のマルチプロセッサシステムでは、グローバルアドレスクロスバー200に投入されるLRAパケットが自システムボード100に搭載されるメモリ11に対してのリード命令であることを検出する場合には、図1に示すようなタイミングで、リード命令を投機実行するように処理するのである。
本実施形態のマルチプロセッサシステムでは、通常のSMPで構成されるマルチプロセッサシステムと同様に、グローバルアドレスクロスバー200に対してLRAパケットを投入し、これに応答してグローバルアドレスクロスバー200からGSAパケットがブロードキャストされてくると、それを受け取って、アドレスマップ検査やDTAG検査や資源枯渇検査やアドレスビジー検査を行う。
このとき、他システムボード100に搭載されるCPU10の要求するリード要求データが自システムボード100に搭載されるメモリ11に存在する場合には、GSAパケットに基づくリード命令の投機実行を行う。そして、その検査結果に基づいてLCST信号を生成してグローバルアドレスクロスバー200に投入し、これに応答して、グローバルアドレスクロスバー200からGCST信号がブロードキャストされてくると、それを受け取って、それに基づいて投機実行したリード命令の採用・不採用を判断するようにしている。
一方、本実施形態のマルチプロセッサシステムでは、LRAパケットに基づいてリード命令を投機実行する場合には、リードしたデータをスレーブメモリリードデータキュー41で待たせずにマスタリードデータキュー27に転送して、マスタリードデータキュー27で待たせるようにして、マスタリードデータキュー27に対して、投機実行したリード命令の採用・不採用を通知するようにしている。
この構成に従って、本実施形態のマルチプロセッサシステムでは、投機実行のリード命令に従ってメモリ11からリードされたデータはマスタリードデータキュー27に転送されて、そこで待たされている。
これから、本実施形態のマルチプロセッサシステムでは、グローバルアドレスクロスバー200からブロードキャストされてきたGCST信号に基づいて、投機実行したリード命令の採用を判断すると、マスタリードデータキュー27に対して、その投機実行したリード命令によりリードされたデータをCPU10に送信することを指示する。一方、投機実行したリード命令の不採用を判断すると、マスタリードデータキュー27に対して、その投機実行したリード命令によりリードされたデータの破棄を指示するとともに、マスタアドレスキュー20に対して、投機実行に失敗したLRAパケットのリトライを指示する。
このようにして、本実施形態のマルチプロセッサシステムでは、グローバルアドレスクロスバー200に投入されるLRAパケットが自システムボード100に搭載されるメモリ11に対してのリード命令であることを検出する場合には、図2に示すような形態でメモリ11からリードしたデータを待たせて、データの採用・不採用を通知するように処理するのである。
この構成に従って、本実施形態のマルチプロセッサシステムでは、メモリ11からデータを高速にリードして、それを直ちにCPU10に送信することができるようになる。
すなわち、従来のSMPで構成されるマルチプロセッサシステムでは、図4に示すように、グローバルアドレスクロスバー200からブロードキャストされるGSAパケットに基づいてリード命令を投機実行するとともに、スレーブメモリリードデータキュー41でデータを待たせるという構成を採るのに対して、本実施形態のマルチプロセッサシステムでは、図5に示すように、グローバルアドレスクロスバー200に投入するLRAパケットに基づいてリード命令を投機実行するとともに、マスタリードデータキュー27でデータを待たせるという構成を採るので、メモリ11からデータを高速にリードして、それを直ちにCPU10に送信することができるようになるのである。
図6に、自システムボード100に搭載されるメモリ11をリードするときの信号の流れを示す。
この図に示すように、本実施形態では、自システムボード100に搭載されるメモリ11をリードするときには、図中のα(破線)で示すように、従来よりも早い段階でリード命令を投機実行して、メモリ11からリードしたデータをマスタリードデータキュー27にキューイングし、図中のβ(一点鎖線)で示すように、SMPとしての動作に基づいて、その投機実行したリード命令に対しての採用・不採用を決定して、マスタリードデータキュー27でその決定結果を反映するように処理する。
図7に、他のシステムボード100に搭載されるメモリ11をリードするときの信号の流れを示す。
この場合には、自システムボード100に搭載されるメモリ11をリードするのではないので、図中のα(破線)で示すように、本実施形態に特徴的な早い段階でのリード命令の投機実行は行わずに、図中のβ(一点鎖線)で示すように、SMPとしての動作に基づいて、他のシステムボード100からデータが転送されてくるので、それを受信するように処理する。
図8に、他のシステムボード100に搭載されるCPU10が自システムボード100に搭載されるメモリ11をリードするときの信号の流れを示す。
この場合には、自システムボード100に搭載されるCPU10がリード命令を発行するのではないので、図中のα,β(α:破線,β:一点鎖線)で示すように、SMPとしての動作に基づいて、GSAパケットによりリード命令の投機実行を行って、図中のαに示すように、SMPとしての動作に基づいて、その投機実行したリード命令に対しての採用・不採用を決定して、採用を決定する場合には、メモリ11からリードしたデータをリード命令発行元のシステムボード100に搭載されるCPU10にデータ転送するように処理する。
以上に説明したように、本実施形態のマルチプロセッサシステムでは、従来よりも早い段階でリード命令を投機実行しており、これから、リード命令のリトライ回数が増加することも考えられる。
そこで、本実施形態のマルチプロセッサシステムでは、メモリアクセス制御回路23がリトライの発生頻度を検出するようにして、グローバルアドレスクロスバー200からのリトライ指示の多発によりリトライ多発状態の発生を検出すると、セレクタ21が一定期間強制的にGSAパケットを選択するように制御することで、本実施形態に特徴的な処理であるLRAパケットに基づくリード命令の投機実行を抑制するようにしている。
また、本実施形態のマルチプロセッサシステムでは、メモリ11からリードしたデータをスレーブメモリリードデータキュー41で待たせるのではなくて、マスタリードデータキュー27に転送して、そこで待たせるようにするという構成を採っている。
この構成を採ると、スレーブメモリリードデータキュー41とマスタリードデータキュー27との間を接続するバスがビジー状態となることが起こる。
そこで、本実施形態のマルチプロセッサシステムでは、バスビジー監視回路28を備えるようにして、一定期間に、そのバスに転送されたデータパケットの数を数えることで、そのバスがビジー状態となったのか否かを判断して、バスビジー状態の発生を検出すると、セレクタ21が一定期間強制的にGSAパケットを選択するように制御することで、本実施形態に特徴的な処理であるLRAパケットに基づくリード命令の投機実行を抑制するようにしている。
また、本実施形態のマルチプロセッサシステムでは、従来よりも早い段階でリード命令を投機実行しており、これから、特定のリード命令についてのリトライ回数が増加することも考えられる。
そこで、本実施形態のマルチプロセッサシステムでは、リトライ数監視回路29を備えるようにして、規定以上のリトライを繰り返すLRAパケットについては、セレクタ21が一定期間強制的にGSAパケットを選択するように制御することで、本実施形態に特徴的な処理であるLRAパケットに基づくリード命令の投機実行を抑制するようにしている。
図示実施形態例に従って本発明を説明したが、本発明はこれに限定されるものではない。
例えば、実施形態例では、リード命令の種類を考慮することなく、LRAパケットに基づくリード命令の投機実行を行うという構成を開示したが、メモリ11にリード要求のデータが存在する確率の高いリード命令を処理対象として、LRAパケットに基づくリード命令の投機実行を行うようにするという構成を採ってもよい。
メモリ11にあるデータはCPU10のキャッシュに持ち込まれて書き換えられている場合があり、このようなデータをリード要求データとするリード命令の投機実行は結局のところ失敗に終わることになる。
そこで、排他権の獲得を要求するようなリード命令については、データが書き換えられている可能性が高いので、そのようなリード命令(オペコードで分かる)については本発明の処理対象としないようにするという構成を採ってもよいのである。
また、実施形態例では、バスビジー監視回路28がスレーブメモリリードデータキュー41とマスタリードデータキュー27との間を接続するバスのビジー状態の発生を検出すると、セレクタ21が一定期間強制的にGSAパケットを選択するように制御するという構成を採ったが、このバスビジー状態の発生を検出すると、投機実行の採用・不採用の通知先をマスタリードデータキュー27からスレーブメモリリードデータキュー41に変更することで、メモリ11からリードしたデータをマスタリードデータキュー27でデータを待たせるのではなくて、スレーブメモリリードデータキュー41でデータを待たせるようにするという構成を採ってもよい。
本発明の一実施形態により実行されるメモリリード処理の説明図である。 本発明の一実施形態により実行されるメモリリード処理の説明図である。 本発明のマルチプロセッサシステムの一実施形態である。 従来技術で実行されるメモリリード処理のシーケンス図である。 本発明の一実施形態により実行されるメモリリード処理のシーケンス図である。 本発明の一実施形態により実行されるメモリリード処理の信号の流れの説明図である。 本発明の一実施形態により実行されるメモリリード処理の信号の流れの説明図である。 本発明の一実施形態により実行されるメモリリード処理の信号の流れの説明図である。 対称型マルチプロセッサの説明図である。 対称型マルチプロセッサで実行されるメモリリード処理の説明図である。
符号の説明
10 CPU
11 メモリ
12 ノースブリッジ
13 メモリコントローラ
20 マスタアドレスキュー
21 セレクタ
22 セレクタ制御回路
23 メモリアクセス制御回路
24 検査回路
25 LCST生成回路
26 スレーブリクエスト制御回路
27 マスタリードデータキュー
28 バスビジー監視回路
29 リトライ数監視回路
30 命令デコーダ
40 スレーブメモリリードアドレスキュー
41 スレーブメモリリードデータキュー
42 外部リードデータキュー
43 データ転送回路
100 システムボード
200 グローバルアドレスクロスバー
210 グローバルアドレスプライオリティ制御回路
220 GCST生成回路
300 グローバルデータクロスバー
400 システムコントロール装置
500 端末

Claims (10)

  1. CPUとメモリとを実装する複数のシステムボードがグローバルアドレスクロスバーを介して接続されることで構成されて、該グローバルアドレスクロスバーにアドレスを投入することで全てのCPUに対して対称的に処理を割り付けるという構成を採るマルチプロセッサシステムにおいて、
    前記グローバルアドレスクロスバーに投入するCPUから発行されたリード命令が自システムボード上のメモリへのリード命令であるのか否かを判断する判断手段と、
    前記判断手段が自システムボード上のメモリへのリード命令であることを判断する場合に、前記グローバルアドレスクロスバーから通知されるアドレスに基づくグローバルアクセスの前に、該リード命令を投機実行する実行手段とを備えることを、
    特徴とするマルチプロセッサシステム。
  2. CPUとメモリとを実装する複数のシステムボードがグローバルアドレスクロスバーを介して接続されることで構成されて、該グローバルアドレスクロスバーにアドレスを投入することで全てのCPUに対して対称的に処理を割り付けるという構成を採るマルチプロセッサシステムにおいて、
    メモリからリードしたデータをメモリ側に設けられるデータキューにキューイングせずにCPU側に設けられるデータキューにキューイングすることを設定する設定手段と、
    前記グローバルアドレスクロスバーからの通知に基づいて、前記CPU側に設けられるデータキューに対して、データの破棄又はCPUへのデータの送信を指示する指示手段とを備えることを、
    特徴とするマルチプロセッサシステム。
  3. CPUとメモリとを実装する複数のシステムボードがグローバルアドレスクロスバーを介して接続されることで構成されて、該グローバルアドレスクロスバーにアドレスを投入することで全てのCPUに対して対称的に処理を割り付けるという構成を採るマルチプロセッサシステムにおいて、
    前記グローバルアドレスクロスバーに投入するCPUから発行されたリード命令が自システムボード上のメモリへのリード命令であるのか否かを判断する判断手段と、
    前記判断手段が自システムボード上のメモリへのリード命令であることを判断する場合に、前記グローバルアドレスクロスバーから通知されるアドレスに基づくグローバルアクセスの前に、該リード命令を投機実行する実行手段と、
    メモリからリードしたデータをメモリ側に設けられるデータキューにキューイングせずにCPU側に設けられるデータキューにキューイングすることを設定する設定手段と、
    前記グローバルアドレスクロスバーからの通知に基づいて、前記CPU側に設けられるデータキューに対して、データの破棄又はCPUへのデータの送信を指示する指示手段とを備えることを、
    特徴とするマルチプロセッサシステム。
  4. 請求項3に記載のマルチプロセッサシステムにおいて、
    前記設定手段は、前記実行手段が前記リード命令の投機実行を行う場合には、メモリからリードしたデータをCPU側に設けられるデータキューにキューイングすることを設定することを、
    特徴とするマルチプロセッサシステム。
  5. 請求項3又は4に記載のマルチプロセッサシステムにおいて、
    前記メモリ側に設けられるデータキューと前記CPU側に設けられるデータキューとの間を接続するバスがビジー状態となる場合に、前記実行手段が実行するリード命令の投機実行を一時的に停止させる一時停止手段を備えることを、
    特徴とするマルチプロセッサシステム。
  6. 請求項3又は4に記載のマルチプロセッサシステムにおいて、
    前記メモリ側に設けられるデータキューと前記CPU側に設けられるデータキューとの間を接続するバスがビジー状態となる場合に、メモリからリードしたデータをメモリ側に設けられるデータキューにキューイングすることを設定すべく、前記設定手段による設定を一時的に解除する解除手段を備えることを、
    特徴とするマルチプロセッサシステム。
  7. 請求項1、3又は4に記載のマルチプロセッサシステムにおいて、
    前記リード命令の投機実行に対してのリトライが多発状態となる場合に、該投機実行を一時的に停止させる一時停止手段を備えることを、
    特徴とするマルチプロセッサシステム。
  8. 請求項1、3又は4に記載のマルチプロセッサシステムにおいて、
    前記リード命令の投機実行に対してのリトライが規定回数を超えるリード命令について、該リード命令の投機実行を停止させる停止手段を備えることを、
    特徴とするマルチプロセッサシステム。
  9. 請求項1、3又は4に記載のマルチプロセッサシステムにおいて、
    前記判断手段は、特定のリード命令を判断対象として、CPUから発行されたリード命令が自システムボード上のメモリへのリード命令であるのか否かを判断することを、
    特徴とするマルチプロセッサシステム。
  10. 請求項9に記載のマルチプロセッサシステムにおいて、
    前記判断手段は、前記特定のリード命令として、メモリに要求のデータが存在する確率の高いリード命令を用いることを、
    特徴とするマルチプロセッサシステム。
JP2006222286A 2006-08-17 2006-08-17 マルチプロセッサシステム Expired - Fee Related JP4829038B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2006222286A JP4829038B2 (ja) 2006-08-17 2006-08-17 マルチプロセッサシステム
KR1020070020134A KR100884011B1 (ko) 2006-08-17 2007-02-28 멀티프로세서 시스템
US11/785,891 US7694106B2 (en) 2006-08-17 2007-04-20 Multiprocessor system
EP07107000A EP1895432B1 (en) 2006-08-17 2007-04-26 Multiprocessor system
DE602007007552T DE602007007552D1 (de) 2006-08-17 2007-04-26 Multiprozessorsystem
CNB2007101039598A CN100535885C (zh) 2006-08-17 2007-05-17 多处理器系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006222286A JP4829038B2 (ja) 2006-08-17 2006-08-17 マルチプロセッサシステム

Publications (2)

Publication Number Publication Date
JP2008046890A true JP2008046890A (ja) 2008-02-28
JP4829038B2 JP4829038B2 (ja) 2011-11-30

Family

ID=38686808

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006222286A Expired - Fee Related JP4829038B2 (ja) 2006-08-17 2006-08-17 マルチプロセッサシステム

Country Status (6)

Country Link
US (1) US7694106B2 (ja)
EP (1) EP1895432B1 (ja)
JP (1) JP4829038B2 (ja)
KR (1) KR100884011B1 (ja)
CN (1) CN100535885C (ja)
DE (1) DE602007007552D1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009010854A1 (de) 2008-02-27 2009-10-22 Hoya Corp. Fotomaskenrohling, Fotomaske und Verfahren zu ihrer Herstellung

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2204736A4 (en) * 2007-09-25 2012-01-11 Fujitsu Ltd INFORMATION PROCESSOR AND CONTROL PROCEDURE
CN101908036B (zh) * 2010-07-22 2011-08-31 中国科学院计算技术研究所 一种高密度多处理器系统及其节点控制器
CN101907986B (zh) * 2010-08-30 2013-11-06 威盛电子股份有限公司 访问多个存储器的数据处理设备和数据处理方法
WO2014190263A2 (en) * 2013-05-24 2014-11-27 Coherent Logix, Incorporated Memory-network processor with programmable optimizations
RU2611337C1 (ru) * 2016-01-13 2017-02-21 Федеральное государственное учреждение "Федеральный научный центр Научно-исследовательский институт системных исследований Российской академии наук" (ФГУ ФНЦ НИИСИ РАН) Способ передачи сообщений между вычислительными устройствами
CN106776457B (zh) * 2016-12-29 2020-04-03 郑州云海信息技术有限公司 一种服务器跨板共享信号的控制系统及方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08185359A (ja) * 1994-10-31 1996-07-16 Toshiba Corp メモリサブシステム
JP2001167077A (ja) * 1999-12-09 2001-06-22 Nec Kofu Ltd ネットワークシステムにおけるデータアクセス方法、ネットワークシステムおよび記録媒体
JP2002269064A (ja) * 2001-03-14 2002-09-20 Nec Kofu Ltd メモリアクセスレイテンシ増加回避方式
JP2005539282A (ja) * 2002-01-09 2005-12-22 インターナショナル・ビジネス・マシーンズ・コーポレーション 単一のコヒーレントなシステム内の分散コンピュータ・ノードにキャッシュ・コヒーレンスを提供するのにグローバル・スヌープを使用する方法および装置
JP2006053857A (ja) * 2004-08-16 2006-02-23 Fujitsu Ltd システム制御装置、投機フェッチ方法および情報処理装置
JP2006072509A (ja) * 2004-08-31 2006-03-16 Fujitsu Ltd 情報処理装置及びローカルスヌープ制御方法
JP2007183702A (ja) * 2006-01-04 2007-07-19 Hitachi Ltd キャッシュ一貫性制御方法およびチップセットおよびマルチプロセッサシステム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07122864B2 (ja) * 1991-07-22 1995-12-25 インターナショナル・ビジネス・マシーンズ・コーポレイション データ処理システム、データ処理システムに使用するインターフエース回路及びデータ・プロセツサ間の通信方法
US5657472A (en) * 1995-03-31 1997-08-12 Sun Microsystems, Inc. Memory transaction execution system and method for multiprocessor system having independent parallel transaction queues associated with each processor
US5887138A (en) 1996-07-01 1999-03-23 Sun Microsystems, Inc. Multiprocessing computer system employing local and global address spaces and COMA and NUMA access modes
US6092155A (en) * 1997-07-10 2000-07-18 International Business Machines Corporation Cache coherent network adapter for scalable shared memory processing systems
JP3864509B2 (ja) * 1997-08-19 2007-01-10 株式会社日立製作所 マルチプロセッサシステム
US6081874A (en) * 1998-09-29 2000-06-27 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system that speculatively issues requests on a node interconnect
GB2352144A (en) 1999-07-16 2001-01-17 Texas Instruments Ltd Data transfer between memory nodes
JP3959914B2 (ja) 1999-12-24 2007-08-15 株式会社日立製作所 主記憶共有型並列計算機及びそれに用いるノード制御装置
US6938128B1 (en) * 2000-07-20 2005-08-30 Silicon Graphics, Inc. System and method for reducing memory latency during read requests
US6912612B2 (en) * 2002-02-25 2005-06-28 Intel Corporation Shared bypass bus structure
US7962696B2 (en) * 2004-01-15 2011-06-14 Hewlett-Packard Development Company, L.P. System and method for updating owner predictors
US7257683B2 (en) * 2004-03-24 2007-08-14 Micron Technology, Inc. Memory arbitration system and method having an arbitration packet protocol

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08185359A (ja) * 1994-10-31 1996-07-16 Toshiba Corp メモリサブシステム
JP2001167077A (ja) * 1999-12-09 2001-06-22 Nec Kofu Ltd ネットワークシステムにおけるデータアクセス方法、ネットワークシステムおよび記録媒体
JP2002269064A (ja) * 2001-03-14 2002-09-20 Nec Kofu Ltd メモリアクセスレイテンシ増加回避方式
JP2005539282A (ja) * 2002-01-09 2005-12-22 インターナショナル・ビジネス・マシーンズ・コーポレーション 単一のコヒーレントなシステム内の分散コンピュータ・ノードにキャッシュ・コヒーレンスを提供するのにグローバル・スヌープを使用する方法および装置
JP2006053857A (ja) * 2004-08-16 2006-02-23 Fujitsu Ltd システム制御装置、投機フェッチ方法および情報処理装置
JP2006072509A (ja) * 2004-08-31 2006-03-16 Fujitsu Ltd 情報処理装置及びローカルスヌープ制御方法
JP2007183702A (ja) * 2006-01-04 2007-07-19 Hitachi Ltd キャッシュ一貫性制御方法およびチップセットおよびマルチプロセッサシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009010854A1 (de) 2008-02-27 2009-10-22 Hoya Corp. Fotomaskenrohling, Fotomaske und Verfahren zu ihrer Herstellung

Also Published As

Publication number Publication date
JP4829038B2 (ja) 2011-11-30
CN101127028A (zh) 2008-02-20
DE602007007552D1 (de) 2010-08-19
KR20080016422A (ko) 2008-02-21
US20080046694A1 (en) 2008-02-21
KR100884011B1 (ko) 2009-02-17
CN100535885C (zh) 2009-09-02
EP1895432A1 (en) 2008-03-05
EP1895432B1 (en) 2010-07-07
US7694106B2 (en) 2010-04-06

Similar Documents

Publication Publication Date Title
JP4829038B2 (ja) マルチプロセッサシステム
JP5653431B2 (ja) マルチプロセッサシステム
JP4801725B2 (ja) 演算処理装置及び演算処理装置の制御方法
JP5536807B2 (ja) 共用リソースの割り当てを制御するためのシステム、方法、コンピュータ・プログラム
JP5498505B2 (ja) データバースト間の競合の解決
JP2015530679A (ja) 高効率アトミック演算を使用した方法および装置
JP5414506B2 (ja) データ処理装置、データ処理方法、及びプログラム
JP4522817B2 (ja) システム制御装置、情報処理装置及び情報処理装置の制御方法。
US10067889B2 (en) Bridge and method for coupling a requesting interconnect and a serving interconnect in a computer system
JP4504134B2 (ja) システム制御装置、投機フェッチ方法および情報処理装置
WO2004046926A1 (ja) イベント通知方法、デバイス及びプロセッサシステム
US8099531B2 (en) Information processing method and computer program comprising network card wherein a plurality of processors switches use of network card related to setting of resource flag
JP2020204877A (ja) 半導体装置及びその動作方法
US9959173B2 (en) Node, arithmetic processing device, and arithmetic processing method
JP2010118020A (ja) リクエスト順序制御システム、リクエスト順序制御方法およびリクエスト順序制御プログラム
JP4567586B2 (ja) 処理装置
JP2015014962A (ja) 演算装置、演算方法、及びプログラム
JP2017046286A (ja) 情報処理装置、情報処理方法、及びプログラム
WO2019188178A1 (ja) マルチコアシステム
JP6392556B2 (ja) アクセスリクエスト発行装置、アクセスリクエスト発行システム、アクセスリクエスト発行方法、及び、アクセスリクエスト発行プログラム
JP2007128396A (ja) 割込制御方法および情報処理装置
CN117075819A (zh) 命令处理方法、装置、存储介质及存储设备
JP2010015297A (ja) 割り込み分散処理システム及び割り込み分散方法
JP2005165488A (ja) 情報処理装置及び構成変更方法
JP2012103892A (ja) トランザクション制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090409

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100622

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100818

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20100818

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100818

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110823

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110829

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: 20110913

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: 20110915

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

Free format text: PAYMENT UNTIL: 20140922

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4829038

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees