JP4774099B2 - 演算処理装置、情報処理装置及び演算処理装置の制御方法 - Google Patents
演算処理装置、情報処理装置及び演算処理装置の制御方法 Download PDFInfo
- Publication number
- JP4774099B2 JP4774099B2 JP2008501586A JP2008501586A JP4774099B2 JP 4774099 B2 JP4774099 B2 JP 4774099B2 JP 2008501586 A JP2008501586 A JP 2008501586A JP 2008501586 A JP2008501586 A JP 2008501586A JP 4774099 B2 JP4774099 B2 JP 4774099B2
- Authority
- JP
- Japan
- Prior art keywords
- bus
- processing unit
- control
- input
- arithmetic processing
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0607—Interleaved addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1647—Handling requests for interconnection or transfer for access to memory bus based on arbitration with interleaved bank access
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Multi Processors (AREA)
Description
この中央処理装置の高い計算能力を有効に利用するためには、メモリアクセスにおける中央処理装置当たりのメモリバンド幅(メモリアクセス速度)を大きくする必要がある。
すなわち、中央処理装置は、アクセスしたいI/Oデバイスに応じて、当該I/Oデバイスが存在する適切なバスにI/O要求パケットを発行しなければならない。
このため、全ての中央処理装置に設定レジスタを設け、どのI/Oデバイスがどのバス(WAY)上に存在するかの構成情報を設定することが考えられるが、複数の中央処理装置が存在するシステムでは現実的ではない。
そこで、本発明では、以下の様にしてこれらの技術的課題を克服する。
本発明の他の目的は、中央処理装置内の構造や、管理を複雑化することなく、低コストにて、中央処理装置自体がメモリインタリーブを行うことによる処理性能の向上を実現することにある。
メモリアドレスに応じて、複数の前記バスにメモリアクセス要求を振り分けるメモリアクセス制御手段と、
前記バスを介して外部の入出力デバイスにアクセスする入出力アクセス制御手段と、
を含む中央処理装置を提供する。
前記入出力アクセス制御手段は、
特定の前記バスを介して、アクセス対象の前記入出力デバイスがいずれの前記バス上に存在するかを問い合わせる第1ステップと、
前記システムコントローラから応答された前記バスを用いて前記入出力デバイスに対するアクセスを実行する第2ステップと、
を実行する中央処理装置を提供する。
前記メモリアクセス制御手段は、物理的な前記メモリアドレスに応じて複数の前記バスに個別に接続された複数のメモリ媒体に並行してアクセスするメモリインタリーブを行う中央処理装置を提供する。
前記中央処理装置が、メモリアドレスに応じて、複数のメモリアクセス要求を前記バス上に存在するメモリ媒体に振り分けるメモリインタリーブを実行するステップと、
を含む中央処理装置の制御方法を提供する。
さらに、前記中央処理装置が、特定の前記バスを介して、アクセス対象の前記入出力デバイスがいずれの前記バス上に存在するかを問い合わせるステップと、
前記中央処理装置が、前記システムコントローラから応答された前記バスを用いて前記入出力デバイスに対するアクセスを実行するステップと、
を含む中央処理装置の制御方法を提供する。
メモリ媒体および入出力デバイスの少なくとも一方を配下に持つ複数のシステムコントローラと、
前記中央処理装置と前記システムコントローラの各々とを接続する複数のバスと、
前記中央処理装置に設けられ、メモリアドレスに応じて、複数のメモリアクセス要求を前記バス上に存在するメモリ媒体に振り分けるメモリアクセス制御手段と、
を含む情報処理システムを提供する。
前記中央処理装置には、さらに、
特定の前記バスを介して、アクセス対象の前記入出力デバイスがいずれの前記バス上に存在するかを問い合わせる第1ステップと、
前記システムコントローラから応答された前記バスを用いて前記入出力デバイスに対するアクセスを実行する第2ステップと、
を実行する入出力アクセス制御手段を含む情報処理システムを提供する。
複数の中央処理装置の各々が、複数の前記バスを介して、複数の前記システムコントローラの各々と接続されている情報処理システムを提供する。
個々の前記システムコントローラは、複数の半導体チップからなる情報処理システムを提供する。
図1は、本発明の一実施の形態である中央処理装置を含む情報処理システムの構成の一例を示す概念図である。図2は、本実施の形態の中央処理装置に対するバスの接続状態の一例を示す概念図である。
複数のシステムコントローラ300(SC0〜3)を代表するSC0は、複数のI/Oデバイス500が、どのシステムコントローラ300(システムバス200)の配下に存在するかの情報が設定される構成管理テーブル310を備えている。SC0は、後述のようなCPUノード100からの問い合わせに対して、この構成管理テーブル310を参照して応答する。
個々のCPUノード100は、後述のように、複数のシステムバス200(システムコントローラ300)にメモリアクセス要求を振り分けることで、個々のシステムコントローラ300の配下の複数のメモリ媒体400との間で並列的にメモリアクセスを行うメモリインタリーブを行う機能を備えている。
図2に例示されるよう、個々のCPUノード100と複数のシステムコントローラ300の各々との間に設けられたシステムバス200は、SCリクエストバス210(SCREQ_BUSn)と、SCオーダバス220(SCODR_BUSn)を含んでいる。
本実施の形態の場合、一例として、SCREQ_BUSn_TAGは3ビット、SCREQ_BUSnは24ビット、SCREQ_BUSn_ECCが7ビットである。
図3は、本実施の形態のCPUノード100の内部構成の一例を示すブロック図である。
プロセッサコア110は、算術論理演算ユニット(ALU)等の演算機能や制御機能を有する。
システムバス制御部130は、CPUノード100に接続される複数のシステムバス200との間における情報の授受を制御する。
メモリ参照制御部140は、複数のシステムコントローラ300(システムバス200)の各々の配下に存在する複数のメモリ媒体400に対するメモリインタリーブを制御する。
図4に例示されるように、本実施の形態のメモリ参照制御部140は、インタリーブ制御部141、WAYモード設定レジスタ142、メモリアクセスキュー143を含んでいる。
そして、インタリーブ制御部141は、参照対象のメモリの物理アドレス(Physical address;PA)(この場合、SCREQ_BUSnの下位2ビット、システムバス200の全体でみると、下位側から8番目と9番目のPA[9:8]の2ビット)によって、個々のシステムバス200に対応したメモリアクセスキュー143にアクセス要求を振り分けることで、メモリインタリーブを行う。
すなわち、図5に例示されるように、WAYモード設定レジスタ142には、物理アドレスPA[9:8]の2ビットに応じて、システムコントローラ300(SC)が4つの場合(図1の構成)、およびシステムコントローラ300(SC)が二つの場合(図1の構成から、オプションのSC2、SC3を取り除いた構成)、の各々の場合について、SCREQ_BUSnのいずれに振り分けるかが定義される。
このI/Oリクエストキュー151には、プロセッサコア110の側からI/Oリクエストフレーム152が、I/O要求の発生順に格納される。I/Oリクエストフレーム152は、パケット生成器131でパケット化されて、システムバス200を介してシステムコントローラ300に送られる。
I/Oアドレス152bは、目的のI/Oデバイス500のアドレスである。
バイトマスク152dは、SCREQ_BUSnの24ビット(3バイト)のうちのどれにI/Oデータ152gを割り当てるかを示す情報である。
I/O要求先SC番号152fには、最初のSC0への問い合わせに対して応答されたI/Oデバイス500の所在を示すSC番号(0〜3)が設定される。
本実施の形態のI/Oアクセストランザクション600は、第1SCリクエスト601および第1応答SCオーダ602と、第2SCリクエスト603および第2応答SCオーダ604、からなる。
本実施の形態の場合、第1SCリクエスト601では、トランザクション名600aとして、
NC−RD;non−cache read
NC−BR;non−cache block read
NC−WR;non−cache write
NC−BW;non−cache block write
の4種類が定義され、全て、発行元600bはCPU(CPUノード100)、発行先600cは特定のSC0(システムコントローラ300)である。
NC−BDは、目的のI/Oデバイス500に対する、ブロック単位(たとえば64バイト)のI/Oデータ152gの読み出し要求である。
NC−BWは、目的のI/Oデバイス500に対する、ブロック単位(たとえば64バイト)のI/Oデータ152gの書き込み要求である。
この第1応答SCオーダ602では、トランザクション名600aとして、
SN−RES−NC;Snoop result of non−cacheable access
SN−RES−AX;Snoop result(address exception)
の二つがある。
SN−RES−NCは、問い合わせられたI/Oデバイス500が存在するシステムコントローラ300の番号を応答する。
第2SCリクエスト603は、I/O要求先SC番号152fで特定される任意のシステムコントローラ300(SCn)の配下に存在する目的のI/Oデバイス500に対するI/O要求の実行である。この第2SCリクエスト603では、トランザクション名600aとして、
SR−NC;Slave read non−cache
SR−NB;Slave read non−cache block
SW−NC;Slave write non−cache
SW−NB;Slave write non−cache block
の4つがある。
SR−NBは、I/Oデバイス500に対するブロック単位の読み出し要求である。
SW−NCは、I/Oデバイス500に対するバイト単位の書き込み要求である。
SW−NBは、I/Oデバイス500に対するブロック単位の書き込み要求である。
また、発行先600cは第1応答SCオーダ602でSC0から応答されたSC番号(SC−WAY)である。すなわち、発行先600cにおいて、BUS[1:0]指定とあるのは、SN−RES−NCで指定されたSC−WAYに対してI/O要求を発行しなければならないことを示す。
DOW=SR−NC−RTN
DOW=SR−NB−RTN
DOW=CMD−CPLT
の3種類がある。
以下では、I/Oアクセストランザクション600の一例として、NC−RDを実行する場合を例に説明する。
そして、当該I/Oリクエストキュー151によるI/O処理の実行が可能になると、有効フラグ152aが有効化され、第1実行状態150bに遷移する。
SN−RES−NCを受信した場合は、指定されたSCnに対応するシステムバス200にSR−NCを発行し(第2SCリクエスト603)、第2応答待ち状態150eに遷移する。
また、第2実行状態150dでは、SN−RES−AXを受け取った場合、I/Oアドレス152bで指定した目的のI/Oデバイス500が存在しないので、所定のエラー処理を行って、初期状態150aに復帰する。
図9は、I/Oアクセストランザクション600の一例としてNC−RDに関係するトランザクションの実行例を示すシーケンス図である。
図10の例では、情報処理システムを構成するCPUノード100およびシステムコントローラ300は、1枚以上のシステムボード10で構成される。
たとえば、中央処理装置や情報処理システムの構成は、上述の実施の形態に例示したものに限定されない。
Claims (7)
- 記憶装置又は入出力装置に接続された複数の制御装置がそれぞれ複数のバスのうち対応するバスを介して接続される演算処理装置において、
前記バスを介して前記複数の制御装置の各々との間で情報の入出力を行うバス制御部と、
アクセス対象の入出力装置が前記複数の制御装置のいずれに接続されているかの接続情報を、前記複数の制御装置のうち前記接続情報を保持する所定の制御装置に問い合わせ、複数のバスのうち前記所定の制御装置が応答した接続情報により特定される制御装置に接続されたバスを介して、前記アクセス対象の入出力装置に対してアクセスを行なう入出力制御部を有することを特徴とする演算処理装置。 - 前記演算処理装置はさらに、
メモリアクセス要求を、前記メモリアクセス要求のメモリアドレスに応じて、前記複数の制御装置の各々に接続されたバスに振り分けるメモリアクセス制御部を有することを特徴とする請求項1記載の演算処理装置。 - 前記メモリアクセス制御部は、
前記メモリアクセス要求のメモリアドレスに応じて、前記複数の制御装置にそれぞれ接続されたバスを介して、前記複数の制御装置に並行してアクセスすることを特徴とする請求項2記載の演算処理装置。 - 記憶装置又は入出力装置に接続された複数の制御装置がそれぞれ複数のバスのうち対応するバスを介して接続される演算処理装置を有する情報処理装置において、
前記演算処理装置は、
前記バスを介して前記複数の制御装置の各々との間で情報の入出力を行うバス制御部と、
アクセス対象の入出力装置が前記複数の制御装置のいずれに接続されているかの接続情報を、前記複数の制御装置のうち前記接続情報を保持する所定の制御装置に問い合わせ、複数のバスのうち前記所定の制御装置が応答した接続情報により特定される制御装置に接続されたバスを介して、前記アクセス対象の入出力装置に対してアクセスを行なう入出力制御部を有することを特徴とする情報処理装置。 - 前記演算処理装置はさらに、
メモリアクセス要求を、前記メモリアクセス要求のメモリアドレスに応じて、前記複数の制御装置の各々に接続されたバスに振り分けるメモリアクセス制御部を有することを特徴とする請求項4記載の情報処理装置。 - 前記メモリアクセス制御部は、
前記メモリアクセス要求のメモリアドレスに応じて、前記複数の制御装置にそれぞれ接続されたバスを介して、前記複数の制御装置に並行してアクセスすることを特徴とする請求項5記載の情報処理装置。 - 記憶装置又は入出力装置に接続された複数の制御装置がそれぞれ複数のバスのうち対応するバスを介して接続される演算処理装置の制御方法において、
前記演算処理装置が有する入出力制御部が、アクセス対象の入出力装置が前記複数の制御装置のいずれに接続されているかの接続情報を、前記複数の制御装置のうち前記接続情報を保持する所定の制御装置に問い合わせ、
前記入出力制御部が、複数のバスのうち前記所定の制御装置が応答した接続情報により特定される制御装置に接続されたバスを介して、前記アクセス対象の入出力装置に対してアクセスを行なうことを特徴とする演算処理装置の制御方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2006/303649 WO2007097036A1 (ja) | 2006-02-27 | 2006-02-27 | 中央処理装置、中央処理装置の制御方法、情報処理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2007097036A1 JPWO2007097036A1 (ja) | 2009-07-09 |
JP4774099B2 true JP4774099B2 (ja) | 2011-09-14 |
Family
ID=38437095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008501586A Expired - Fee Related JP4774099B2 (ja) | 2006-02-27 | 2006-02-27 | 演算処理装置、情報処理装置及び演算処理装置の制御方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8015326B2 (ja) |
EP (1) | EP1990725B1 (ja) |
JP (1) | JP4774099B2 (ja) |
WO (1) | WO2007097036A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102018205204A1 (de) | 2018-04-06 | 2019-10-10 | Robert Bosch Gmbh | Verfahren zum Bereitstellen von Anwendungsdaten zumindest einer auf einem Steuergerät eines Fahrzeugs ausführbaren Anwendung, Verfahren zum Kalibrieren eines Steuergeräts, Steuergerät und Auswerteeinrichtung |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0520182A (ja) * | 1991-07-17 | 1993-01-29 | Nec Corp | 情報処理システム |
JPH0764848A (ja) * | 1993-08-23 | 1995-03-10 | Hitachi Ltd | 計算機システムおよび計算機システムの構成変更方法 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3307984A (en) * | 1962-12-07 | 1967-03-07 | Trw Semiconductors Inc | Method of forming diode with high resistance substrate |
US4207609A (en) * | 1978-05-08 | 1980-06-10 | International Business Machines Corporation | Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system |
AU541189B2 (en) * | 1980-02-11 | 1984-12-20 | Data General Corporation | Data processing system |
US4435755A (en) * | 1981-12-28 | 1984-03-06 | International Business Machines Corporation | Balanced channel finding method |
US4697232A (en) * | 1984-11-30 | 1987-09-29 | Storage Technology Corporation | I/O device reconnection in a multiple-CPU, dynamic path allocation environment |
JPH05252228A (ja) * | 1992-03-02 | 1993-09-28 | Mitsubishi Electric Corp | データ伝送装置及びその通信路管理方法 |
JPH06214557A (ja) * | 1992-04-29 | 1994-08-05 | Canon Inf Syst Res Australia Pty Ltd | ビデオプロセッサシステム |
US5542055A (en) * | 1993-05-28 | 1996-07-30 | International Business Machines Corp. | System for counting the number of peripheral buses in each hierarch connected to primary bus for creating map of peripheral buses to locate peripheral devices |
WO1995022106A1 (en) * | 1994-02-10 | 1995-08-17 | Elonex Technologies, Inc. | I/o decoder map |
JPH10254820A (ja) * | 1997-03-06 | 1998-09-25 | Canon Inc | バス制御装置およびバス制御装置のバス制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 |
US5958024A (en) * | 1997-08-29 | 1999-09-28 | Advanced Micro Devices, Inc. | System having a receive data register for storing at least nine data bits of frame and status bits indicating the status of asynchronous serial receiver |
US6145028A (en) * | 1997-12-11 | 2000-11-07 | Ncr Corporation | Enhanced multi-pathing to an array of storage devices |
US6356991B1 (en) * | 1997-12-31 | 2002-03-12 | Unisys Corporation | Programmable address translation system |
US6185654B1 (en) * | 1998-07-17 | 2001-02-06 | Compaq Computer Corporation | Phantom resource memory address mapping system |
US6850997B1 (en) * | 2000-09-27 | 2005-02-01 | International Business Machines Corporation | System, method, and program for determining the availability of paths to a device |
US6957219B1 (en) * | 2001-11-15 | 2005-10-18 | Microsoft Corporation | System and method of pipeline data access to remote data |
US7406039B2 (en) * | 2002-02-26 | 2008-07-29 | Dell Products L.P. | System and method for a failover protocol in storage area network controllers |
JP3848587B2 (ja) * | 2002-03-15 | 2006-11-22 | 株式会社日立製作所 | 情報処理装置および通信路選択方法 |
US20050138276A1 (en) * | 2003-12-17 | 2005-06-23 | Intel Corporation | Methods and apparatus for high bandwidth random access using dynamic random access memory |
JP2005301880A (ja) * | 2004-04-15 | 2005-10-27 | Hitachi Ltd | 計算機システムにおけるデータ入出力処理方法、ストレージ装置、ホスト計算機、および計算機システム、 |
JP4963808B2 (ja) * | 2005-08-05 | 2012-06-27 | 株式会社日立製作所 | 記憶制御システム |
-
2006
- 2006-02-27 WO PCT/JP2006/303649 patent/WO2007097036A1/ja active Application Filing
- 2006-02-27 JP JP2008501586A patent/JP4774099B2/ja not_active Expired - Fee Related
- 2006-02-27 EP EP06714786.8A patent/EP1990725B1/en not_active Expired - Fee Related
-
2008
- 2008-08-27 US US12/199,004 patent/US8015326B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0520182A (ja) * | 1991-07-17 | 1993-01-29 | Nec Corp | 情報処理システム |
JPH0764848A (ja) * | 1993-08-23 | 1995-03-10 | Hitachi Ltd | 計算機システムおよび計算機システムの構成変更方法 |
Also Published As
Publication number | Publication date |
---|---|
US8015326B2 (en) | 2011-09-06 |
EP1990725B1 (en) | 2016-08-10 |
JPWO2007097036A1 (ja) | 2009-07-09 |
EP1990725A4 (en) | 2010-08-25 |
WO2007097036A1 (ja) | 2007-08-30 |
US20080320201A1 (en) | 2008-12-25 |
EP1990725A1 (en) | 2008-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6953488B2 (ja) | ハイブリッドメモリキューブシステム相互接続ディレクトリベースキャッシュコヒーレンス方法 | |
US10990529B2 (en) | Multi-power-domain bridge with prefetch and write merging | |
US10445018B2 (en) | Switch and memory device | |
US20150254104A1 (en) | Method and system for work scheduling in a multi-chip system | |
US20020087614A1 (en) | Programmable tuning for flow control and support for CPU hot plug | |
KR102212269B1 (ko) | I/o 패킷 압축을 위한 레지스터 파일 | |
CN112543925A (zh) | 用于使用专用低延迟链路的多个硬件加速器的统一地址空间 | |
EP2992436A1 (en) | Memory network to route memory traffic and i/o traffic | |
WO2015134100A1 (en) | Method and apparatus for memory allocation in a multi-node system | |
CN110032335B (zh) | 原子数据访问请求的调节 | |
EP3885918B1 (en) | System, apparatus and method for performing a remote atomic operation via an interface | |
JP2022510803A (ja) | バス上のメモリ要求チェーン | |
JP2022025037A (ja) | コマンド処理方法及びストレージ装置 | |
US6701387B1 (en) | Adaptive data fetch prediction algorithm | |
US20090213755A1 (en) | Method for establishing a routing map in a computer system including multiple processing nodes | |
JP4774099B2 (ja) | 演算処理装置、情報処理装置及び演算処理装置の制御方法 | |
JP4431492B2 (ja) | 複数のコヒーレンシー・グラニュールをサポートするデータ転送ユニット | |
JP5668573B2 (ja) | マイクロプロセッサ、メモリアクセス方法 | |
US20230036751A1 (en) | Sparse memory handling in pooled memory | |
JP2024099640A (ja) | 専用低レイテンシリンクを使用した複数のハードウェアアクセラレータのための統合されたアドレス空間 | |
WO2003048955A1 (fr) | Systeme multiprocesseur | |
JP2012256087A (ja) | データ処理装置及びデータ処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110329 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110527 |
|
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: 20110621 |
|
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: 20110624 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140701 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4774099 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 |