JP2007041811A - Information processing system, information processor and information processing method - Google Patents

Information processing system, information processor and information processing method Download PDF

Info

Publication number
JP2007041811A
JP2007041811A JP2005224706A JP2005224706A JP2007041811A JP 2007041811 A JP2007041811 A JP 2007041811A JP 2005224706 A JP2005224706 A JP 2005224706A JP 2005224706 A JP2005224706 A JP 2005224706A JP 2007041811 A JP2007041811 A JP 2007041811A
Authority
JP
Japan
Prior art keywords
address
memory
data
command
information 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.)
Pending
Application number
JP2005224706A
Other languages
Japanese (ja)
Inventor
Noboru Tanabe
昇 田邊
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2005224706A priority Critical patent/JP2007041811A/en
Publication of JP2007041811A publication Critical patent/JP2007041811A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an information processing system with which processing can be efficiently achieved. <P>SOLUTION: This information processing system is provided with a first external memory control means 130 to which addresses on a first address space are assigned for controlling first external memories 140 to 143, a first buffer memory 124 to which an address on a second address space is assigned and a first transfer permitting means 123 for, when it is determined that a command address on the first address designated by the command is included in a first address range corresponding to the first external memories 140 to 143, permitting the transfer of data from the first external memories 140 to 143 to the first buffer memory 124. When the transfer of data is permitted, the external memory control means 130 reads the data corresponding to the command address from the first external memories 140 to 143, and stores the read data in a first buffer memory 124. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、演算手段と、複数チャネルで構成されるメモリバスとを備えた情報処理システム、複数チャネルで構成されるメモリバスを介して演算手段に接続する情報処理装置、および情報処理方法に関するものである。   The present invention relates to an information processing system including a computing means and a memory bus composed of a plurality of channels, an information processing apparatus connected to the computing means via a memory bus composed of a plurality of channels, and an information processing method. It is.

従来、DIMMnet−2(例えば「非特許文献1」参照)やメモリバスやメモリスロットに装着される情報処理装置(例えば「特許文献1」参照)は、主たる情報処理装置(マスタ装置)1台に対して単独で動作することが想定されていた。例えば特許文献1には、メモリバス装着型のネットワークインタフェース装置が開示されている。この装置は、1台のCPUに対して1つ装着されている。   Conventionally, DIMMnet-2 (for example, refer to “Non-patent Document 1”), an information processing device (for example, refer to “Patent Document 1”) attached to a memory bus or a memory slot, is one main information processing device (master device). On the other hand, it was assumed to operate independently. For example, Patent Document 1 discloses a network interface device equipped with a memory bus. One apparatus is mounted on one CPU.

特開2004−272576号公報JP 2004-272576 A 田邊, 安藤, 箱崎, 土肥, 中條, 天野 : プリロード機能を有するメモリモジュールによるPC上での間接参照の高速化, 情報処理学会 先進的計算基板システムシンポジウムSACSIS2005, ISSN−1344−0640, pp.17−24 (May 2005)Tanabe, Ando, Hakozaki, Toi, Nakajo, Amano: Acceleration of indirect referencing on a PC using a memory module with a preload function, IPSIS 2005, ISSN-1344-0640, pp. 17-24 (May 2005)

しかしながら、上述DIMMnet−2などの情報処理装置を近年普及してきたデュアルチャネル型メモリバスを有するマスタ装置に単純に装着させた場合には、シングルチャネル型メモリバスとしてしか動作できないという欠点があった。   However, when an information processing device such as the above-mentioned DIMMnet-2 is simply mounted on a master device having a dual-channel memory bus that has become widespread in recent years, there is a drawback that it can only operate as a single-channel memory bus.

したがって、デュアルチャネル型メモリバスを有するマスタ装置においては、処理の効率化を図ることができないという問題があった。   Therefore, the master device having a dual channel memory bus has a problem that the processing efficiency cannot be improved.

本発明は、上記に鑑みてなされたものであって、デュアルチャネル型メモリバスを有するマスタ装置に装着された場合であっても効率的に処理を行うことのできる情報処理システムを提供することを目的とする。   The present invention has been made in view of the above, and provides an information processing system capable of efficiently performing processing even when mounted on a master device having a dual channel memory bus. Objective.

上述した課題を解決し、目的を達成するために、本発明は、演算手段と、複数チャネルで構成されるメモリバスと、当該メモリバスに接続された第1情報処理装置および第2情報処理装置とを備えた情報処理システムであって、前記第1情報処理装置は、第1アドレス空間上のアドレスを割り当てられたメモリであって、かつ前記演算手段により利用される情報を格納するメモリである第1外部メモリを制御する第1外部メモリ制御手段と、前記演算手段により利用される第2アドレス空間上のアドレスを割り当てられ、前記第1外部メモリから読み出されたデータを一時的に保持する第1バッファメモリと、前記演算手段により発行されたコマンドを前記メモリバスを介して取得し、前記コマンドにおいて指定された前記第1アドレス空間上のコマンドアドレスが前記第1外部メモリに対応する第1アドレス範囲に含まれるか否かを判定する第1アドレス範囲判定手段と、前記第1アドレス範囲判定手段により前記コマンドアドレスが前記第1アドレス範囲に含まれると判定された場合に、前記第1外部メモリから前記第1バッファメモリへのデータの転送を許可する第1転送許可手段とを有し、前記第1外部メモリ制御手段は、前記第1転送許可手段により前記データの転送が許可された場合に、前記第1外部メモリから前記コマンドアドレスに対するデータを読み出し、読み出した前記データを前記第1バッファメモリに格納し、前記第2情報処理装置は、前記第1アドレス空間上のアドレスを割り当てられたメモリであって、かつ前記演算手段により利用される情報を格納するメモリである第2外部メモリを制御する第2外部メモリ制御手段と、前記第2アドレス空間上のアドレスを割り当てられ、前記第2外部メモリから読み出されたデータを一時的に保持する第2バッファメモリと、前記演算手段により発行された前記コマンドを前記メモリバスを介して取得し、前記コマンドにおいて指定された前記第1アドレス空間上の前記コマンドアドレスが前記第2外部メモリに対応する第2アドレス範囲に含まれるか否かを判定する第2アドレス範囲判定手段と、前記第2アドレス範囲判定手段により前記コマンドアドレスが前記第2アドレス範囲に含まれると判定された場合に、前記第2外部メモリから前記第2バッファメモリへのデータの転送を許可する第2転送許可手段とを有し、前記第2外部メモリ制御手段は、前記第2転送許可手段により前記データの転送が許可された場合に、前記第2外部メモリから前記コマンドアドレスに対するデータを読み出し、読み出した前記データを前記第2バッファメモリに格納することを特徴とする。   In order to solve the above-described problems and achieve the object, the present invention provides a computing means, a memory bus composed of a plurality of channels, and a first information processing apparatus and a second information processing apparatus connected to the memory bus. The first information processing apparatus is a memory to which an address in a first address space is assigned, and a memory for storing information used by the computing means. A first external memory control means for controlling the first external memory and an address on the second address space used by the calculation means are allocated, and data read from the first external memory is temporarily held. A first buffer memory and a command issued by the arithmetic means are acquired via the memory bus, and the first address space designated in the command is acquired. First address range determining means for determining whether or not the command address is included in the first address range corresponding to the first external memory, and the command address is determined by the first address range determining means to be in the first address range. And a first transfer permission means for permitting transfer of data from the first external memory to the first buffer memory when it is determined that the first external memory control means includes the first external memory control means. When transfer of the data is permitted by one transfer permission means, data corresponding to the command address is read from the first external memory, the read data is stored in the first buffer memory, and the second information processing apparatus Is a memory assigned an address in the first address space, and stores information used by the computing means A second external memory control means for controlling a second external memory, which is a memory to be stored, and a second external memory controller which is assigned an address on the second address space and temporarily holds data read from the second external memory The buffer memory and the command issued by the computing means are acquired via the memory bus, and the command address in the first address space designated in the command corresponds to the second external memory. A second address range determining unit that determines whether or not the address range is included, and the second external address range when the command address is determined to be included in the second address range by the second address range determining unit. Second transfer permission means for permitting transfer of data from the memory to the second buffer memory, and the second external memory control means Reads data corresponding to the command address from the second external memory and stores the read data in the second buffer memory when transfer of the data is permitted by the second transfer permission means. And

また、本発明の他の形態は、複数チャネルで構成されるメモリバスを介して演算手段に接続する情報処理装置であって、第1アドレス空間上のアドレスを割り当てられたメモリであって、前記演算手段により利用される情報を格納するメモリである外部メモリを制御する外部メモリ制御手段と、前記演算手段により利用される第2アドレス空間上のアドレスを割り当てられ、前記外部メモリから読み出されたデータを一時的に保持するバッファメモリと、前記演算手段により発行されたコマンドを前記メモリバスを介して取得し、前記コマンドにおいて指定された前記第1アドレス空間上のコマンドアドレスが前記外部メモリに対応するアドレス範囲に含まれるか否かを判定するアドレス範囲判定手段と、前記アドレス範囲判定手段により前記コマンドアドレスが前記アドレス範囲に含まれると判定された場合に、前記外部メモリから前記バッファメモリへのデータの転送を許可する転送許可手段とを備え、前記外部メモリ制御手段は、前記転送許可手段により前記データの転送が許可された場合に、前記外部メモリから前記コマンドアドレスに対応するデータを読み出し、読み出した前記データを前記バッファメモリに格納することを特徴とする。   According to another aspect of the present invention, there is provided an information processing apparatus connected to an arithmetic means via a memory bus composed of a plurality of channels, wherein the memory is assigned an address on a first address space, An external memory control means for controlling an external memory which is a memory for storing information used by the computing means, and an address on the second address space used by the computing means are assigned and read from the external memory A buffer memory that temporarily holds data and a command issued by the arithmetic means are acquired via the memory bus, and a command address in the first address space specified in the command corresponds to the external memory Address range determination means for determining whether or not the address range is included, and the address range determination means Transfer permission means for permitting transfer of data from the external memory to the buffer memory when it is determined that a command address is included in the address range, and the external memory control means includes: When the transfer of the data is permitted, the data corresponding to the command address is read from the external memory, and the read data is stored in the buffer memory.

また、本発明の他の形態は、演算手段と、複数チャネルで構成されるメモリバスとを備えた情報処理システムであって、前記メモリバスに接続され、前記演算手段により利用される第2アドレス空間上のアドレスを割り当てられ、前記外部メモリから読み出されたデータを一時的に保持する第1バッファメモリを有する第1メモリバスインタフェースと、前記第2アドレス空間上のアドレスを割り当てられ、前記外部メモリから読み出されたデータを一時的に保持する第2バッファメモリを有する第2メモリバスインタフェースと、前記第1メモリバスインタフェースおよび前記第2メモリバスインタフェースに接続され、第1アドレス空間上のアドレスを割り当てられた外部メモリであってかつ前記演算手段により利用される情報を格納する外部メモリからデータを読み出し、当該データを前記第1バッファメモリおよび前記第2バッファメモリに格納する外部メモリ制御手段とを備えたことを特徴とする。   According to another aspect of the present invention, there is provided an information processing system including a calculation unit and a memory bus composed of a plurality of channels, wherein the second address is connected to the memory bus and used by the calculation unit. A first memory bus interface having a first buffer memory which is assigned an address on the space and temporarily holds data read from the external memory; and an address on the second address space is assigned to the external memory A second memory bus interface having a second buffer memory for temporarily holding data read from the memory; and an address on the first address space connected to the first memory bus interface and the second memory bus interface Is stored in the external memory and used by the computing means Read data from the external memory, characterized by comprising an external memory control means for storing the data to the first buffer memory and the second buffer memory.

また、本発明の他の形態は、演算手段と、複数チャネルで構成されるメモリバスとを備えた情報処理システムにおける情報処理方法であって、前記演算手段により発行されたコマンドを前記メモリバスを介して取得する第1取得ステップと、前記コマンドにおいて指定された第1アドレス空間上のコマンドアドレスが、前記第1アドレス空間上のアドレスを割り当てられたメモリであって、前記演算手段により利用される情報を格納するメモリである第1外部メモリに対応する第1アドレス範囲に含まれるか否かを判定する第1アドレス範囲判定ステップと、前記第1アドレス範囲判定ステップにおいて前記コマンドアドレスが前記第1アドレス範囲に含まれると判定された場合に、前記第1外部メモリから、前記演算手段により利用される第2アドレス空間上のアドレスを割り当てられた第1バッファメモリであって、前記第1外部メモリから読み出されたデータを一時的に保持する前記第1バッファメモリへのデータの転送を許可する第1転送許可ステップと、前記第1転送許可ステップにおいて前記データの転送が許可された場合に、前記第1外部メモリから前記コマンドアドレスに対するデータを読み出し、読み出した前記データを前記第1バッファメモリに格納する第1外部メモリ制御ステップと、前記演算手段により発行された前記コマンドを前記メモリバスを介して取得する第2取得ステップと、前記コマンドにおいて指定された前記コマンドアドレスが、前記第1アドレス空間上のアドレスを割り当てられたメモリであって、前記演算手段により利用される情報を格納するメモリである第2メモリに対応する第2アドレス範囲に含まれるか否かを判定する第2アドレス判定ステップと、前記第2アドレス範囲判定ステップにおいて前記コマンドアドレスが前記第2アドレス範囲に含まれると判定された場合に、前記第2外部メモリから、前記第2アドレス空間上のアドレスを割り当てられた第2バッファメモリであって、前記第2外部メモリから読み出されたデータを一時的に保持する前記第2バッファメモリへのデータの転送を許可する第2転送許可ステップと、前記第2転送許可ステップにおいて前記データの転送が許可された場合に、前記第2外部メモリから前記コマンドアドレスに対するデータを読み出し、読み出した前記データを前記第2バッファメモリに格納する第2外部メモリ制御ステップとを有することを特徴とする。   According to another aspect of the present invention, there is provided an information processing method in an information processing system including a calculation unit and a memory bus composed of a plurality of channels, wherein a command issued by the calculation unit is transmitted to the memory bus. And a command address on the first address space designated in the command is a memory to which an address on the first address space is assigned, and is used by the computing means. A first address range determining step for determining whether or not the first address range corresponding to a first external memory, which is a memory for storing information, and the command address in the first address range determining step; When it is determined to be included in the address range, it is used by the calculation means from the first external memory. A first buffer memory to which an address in a two-address space is assigned, wherein the first buffer memory permits the transfer of data to the first buffer memory that temporarily holds data read from the first external memory When transfer of the data is permitted in the transfer permission step and the first transfer permission step, the data corresponding to the command address is read from the first external memory, and the read data is stored in the first buffer memory A first external memory control step; a second acquisition step of acquiring the command issued by the computing means via the memory bus; and the command address specified in the command is stored on the first address space. An address-assigned memory that stores information used by the computing means A second address determination step for determining whether or not the second address range corresponding to the second memory, which is a storage memory, and the command address is included in the second address range in the second address range determination step A second buffer memory to which an address in the second address space is assigned from the second external memory, the data read from the second external memory is temporarily stored A second transfer permission step for permitting the transfer of data to the second buffer memory to be held; and when the transfer of the data is permitted in the second transfer permission step, the second external memory to the command address Second external memory control step for reading data and storing the read data in the second buffer memory It is characterized by having.

また、本発明の他の形態は、複数チャネルで構成されるメモリバスを介して演算手段に接続する情報処理装置における情報処理方法であって、前記演算手段により発行されたコマンドを前記メモリを介して取得する取得ステップと、前記コマンドにおいて指定された第1アドレス空間上のコマンドアドレスが、前記第1アドレス空間上のアドレスを割り当てられたメモリであって、前記演算手段により利用される情報を格納するメモリである外部メモリに対応するアドレス範囲に含まれるか否かを判定するアドレス範囲判定ステップと、前記アドレス範囲判定ステップにおいて前記コマンドアドレスが前記アドレス範囲に含まれると判定した場合に、前記外部メモリから前記第2アドレス空間上のアドレスを割り当てられたバッファメモリであって前記外部メモリから読み出されたデータを一時的に保持するバッファメモリへのデータの転送を許可する転送許可ステップと、前記転送許可ステップにおいて前記データの転送が許可された場合に、前記外部メモリから前記コマンドアドレスに対応するデータを読み出し、前記演算手段が前記アドレス空間上のアドレスを指定してデータを読み出し可能なバッファメモリであって、かつ前記演算手段により利用されるアドレス空間にマップされ、前記外部メモリから読み出された情報を一時的に保持する前記バッファメモリに、読み出したデータを格納する外部メモリ制御ステップとを有することを特徴とする。   According to another aspect of the present invention, there is provided an information processing method in an information processing apparatus connected to a calculation means via a memory bus composed of a plurality of channels, wherein a command issued by the calculation means is transmitted via the memory An acquisition step to acquire the information, and a command address in the first address space designated in the command is a memory to which an address in the first address space is assigned, and stores information used by the computing means An address range determination step for determining whether the command address is included in the address range in the address range determination step, and an address range determination step for determining whether the command address is included in the address range. A buffer memory to which an address in the second address space is allocated from the memory. A transfer permission step for permitting transfer of data to a buffer memory that temporarily holds data read from the external memory, and when the transfer of the data is permitted in the transfer permission step, A buffer memory from which data corresponding to the command address can be read from a memory, and the arithmetic means can read data by designating an address in the address space, and is mapped to an address space used by the arithmetic means And an external memory control step for storing the read data in the buffer memory that temporarily holds the information read from the external memory.

また、本発明の他の形態は、演算手段と、複数チャネルで構成されるメモリバスとを備えた情報処理システムにおける情報処理方法であって、前記メモリバスに接続され、前記演算手段により利用される第2アドレス空間上のアドレスを割り当てられ、前記外部メモリから読み出されたデータを一時的に保持する第1バッファメモリを有する第1メモリバスインタフェースおよび前記第2アドレス空間上のアドレスを割り当てられ、前記外部メモリから読み出されたデータを一時的に保持する第2バッファメモリを有する第2メモリバスインタフェースに接続され、かつ第1アドレス空間上のアドレスを割り当てられた前記外部メモリであって、かつ前記演算手段により利用される情報を格納する前記外部メモリに接続された外部メモリ制御手段が、前記外部メモリからデータを読み出し、当該データを前記第1バッファメモリおよび前記第2バッファメモリに格納する格納ステップと、前記演算手段が、前記格納ステップにおいて前記第1バッファメモリおよび前記第2バッファメモリに格納されたデータを読み出す読み出しステップとを有することを特徴とする。   According to another aspect of the present invention, there is provided an information processing method in an information processing system including a calculation unit and a memory bus composed of a plurality of channels. The information processing method is connected to the memory bus and used by the calculation unit. A first memory bus interface having a first buffer memory for temporarily storing data read from the external memory and an address on the second address space. The external memory connected to a second memory bus interface having a second buffer memory for temporarily holding data read from the external memory and assigned an address on a first address space, And external memory control connected to the external memory for storing information used by the computing means A stage that reads data from the external memory and stores the data in the first buffer memory and the second buffer memory; and the computing means includes the first buffer memory and the second buffer in the storage step. And a reading step of reading data stored in the buffer memory.

本発明にかかる情報処理システムによれば、演算手段により発行されたコマンドにより指定されるコマンドアドレスが第1アドレス範囲判定手段により第1アドレス範囲に含まれると判定された場合に、第1外部メモリから読み出されたデータが第1バッファメモリに転送され、コマンドアドレスが第2アドレス範囲判定手段により第2アドレス範囲に含まれると判定された合に、第2外部メモリから読み出されたデータが第2バッファメモリに転送されるので、演算手段は、第1バッファメモリおよび第2バッファメモリに格納されたデータを取得することができる。このように、デュアルチャネル型メモリバスを有するマスタ装置に装着された場合であっても演算手段は、1つのコマンドを発行することにより第1外部メモリおよび第2外部メモリにアクセスすることができるので、効率的に処理を行うことができるという効果を奏する。   According to the information processing system of the present invention, when the command address specified by the command issued by the computing unit is determined to be included in the first address range by the first address range determining unit, the first external memory When the data read from the second external memory is transferred to the first buffer memory and the command address is determined to be included in the second address range by the second address range determination means, the data read from the second external memory is Since the data is transferred to the second buffer memory, the calculation means can acquire the data stored in the first buffer memory and the second buffer memory. As described above, the arithmetic means can access the first external memory and the second external memory by issuing one command even when it is mounted on a master device having a dual channel memory bus. There is an effect that processing can be performed efficiently.

以下に、本発明にかかる情報処理システム、情報処理装置および情報処理方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。   Hereinafter, embodiments of an information processing system, an information processing apparatus, and an information processing method according to the present invention will be described in detail based on the drawings. Note that the present invention is not limited to the embodiments.

(実施の形態1)
図1は、情報処理システム1の全体構成を示す図である。情報処理システム1は、CPU11と、ノースブリッジ12と、サウスブリッジ13と、第1主記憶14と、第2主記憶15と、第1メモリバス16と、第2メモリバス17と、第1メモリモジュール100と、第2メモリモジュール200とを備えている。
(Embodiment 1)
FIG. 1 is a diagram showing the overall configuration of the information processing system 1. The information processing system 1 includes a CPU 11, a north bridge 12, a south bridge 13, a first main memory 14, a second main memory 15, a first memory bus 16, a second memory bus 17, and a first memory. A module 100 and a second memory module 200 are provided.

第1メモリモジュール100は、第1情報処理装置150と、複数の第1外部メモリ140〜143を有している。第1情報処理装置150は、第1ネットワーク制御部110と、第1メモリバスインタフェース120と、第1外部メモリ制御部130とを有している。第1メモリバスインタフェース120は、第1アドレス生成部121と、第1アドレス範囲判定部122と、第1転送許可部123と、第1バッファメモリ124とを含んでいる。   The first memory module 100 includes a first information processing device 150 and a plurality of first external memories 140 to 143. The first information processing apparatus 150 includes a first network control unit 110, a first memory bus interface 120, and a first external memory control unit 130. The first memory bus interface 120 includes a first address generation unit 121, a first address range determination unit 122, a first transfer permission unit 123, and a first buffer memory 124.

第2メモリモジュール200は、第2情報処理装置250と、複数の第2外部メモリ240〜243を有している。第2情報処理装置250は、第2ネットワーク制御部210と、第2メモリバスインタフェース220と、第2外部メモリ制御部230とを有している。第2メモリバスインタフェース220は、第2アドレス生成部221と、第2アドレス範囲判定部222と、第2転送許可部223と、第2バッファメモリ224とを含んでいる。   The second memory module 200 includes a second information processing device 250 and a plurality of second external memories 240 to 243. The second information processing apparatus 250 includes a second network control unit 210, a second memory bus interface 220, and a second external memory control unit 230. The second memory bus interface 220 includes a second address generation unit 221, a second address range determination unit 222, a second transfer permission unit 223, and a second buffer memory 224.

第1情報処理装置の有する各部は、1つの電子回路基板上に設けられている。第2情報処理装置は、第1情報処理装置の電子回路基板とは別の電子回路基板上に設けられている。   Each part of the first information processing apparatus is provided on one electronic circuit board. The second information processing apparatus is provided on an electronic circuit board different from the electronic circuit board of the first information processing apparatus.

CPU11は、第1外部メモリ140〜143および第2外部メモリ240〜243のデータを利用して演算を行う。ノースブリッジ12およびサウスブリッジ13は、CPU11と他の機器との間を仲介する。ノースブリッジ12には、第1メモリバス16および第2メモリバス17が接続している。第1メモリバス16には、第1主記憶14および第1メモリモジュール100が接続している。第2メモリバス17には、第2主記憶15および第2メモリモジュール200が接続している。ノースブリッジ12は、第1メモリバス16を介して第1主記憶14および第1メモリモジュール100に直接アクセスする。ノースブリッジ12はまた、第2メモリバス17を介して第2主記憶15および第2メモリモジュール200に直接アクセスする。   The CPU 11 performs calculations using data in the first external memories 140 to 143 and the second external memories 240 to 243. The north bridge 12 and the south bridge 13 mediate between the CPU 11 and other devices. A first memory bus 16 and a second memory bus 17 are connected to the north bridge 12. The first main memory 14 and the first memory module 100 are connected to the first memory bus 16. The second main memory 15 and the second memory module 200 are connected to the second memory bus 17. The north bridge 12 directly accesses the first main memory 14 and the first memory module 100 via the first memory bus 16. The north bridge 12 also directly accesses the second main memory 15 and the second memory module 200 via the second memory bus 17.

次に、第1メモリモジュール100の構成および処理について説明する。なお、第2メモリモジュール200の各部の構成および処理は、第1メモリモジュール100の対応する各部の構成および処理と同様である。   Next, the configuration and processing of the first memory module 100 will be described. The configuration and processing of each unit of the second memory module 200 are the same as the configuration and processing of each corresponding unit of the first memory module 100.

第1メモリモジュール100の第1外部メモリ140〜143は、CPU11が利用するデータを格納している。第1情報処理装置150は、第1外部メモリ140〜143およびネットワークへのアクセスを制御する。第1情報処理装置150の第1メモリバスインタフェース120は、第1メモリバス16に送るデータを管理する。   The first external memories 140 to 143 of the first memory module 100 store data used by the CPU 11. The first information processing apparatus 150 controls access to the first external memories 140 to 143 and the network. The first memory bus interface 120 of the first information processing device 150 manages data to be sent to the first memory bus 16.

第1メモリバスインタフェース120の第1アドレス生成部121は、第1メモリバス16を介してCPU11からプリロードコマンドを取得する。ここで、プリロードとは、バッファメモリ122の最大データ容量分のデータがバッファメモリ122に格納されることをいう。例えば、バッファメモリ122が64ビットの容量である場合には、64ビットのデータが格納された場合にプリロード完了と判定される。   The first address generation unit 121 of the first memory bus interface 120 acquires a preload command from the CPU 11 via the first memory bus 16. Here, preloading means that data corresponding to the maximum data capacity of the buffer memory 122 is stored in the buffer memory 122. For example, when the buffer memory 122 has a 64-bit capacity, it is determined that preloading is completed when 64-bit data is stored.

第1アドレス生成部121は、プリロードコマンドを取得すると、プリロードコマンドに基づいて、プリロードコマンドにおいて指定されたデータのアドレスを示すコマンドアドレスの配列であるコマンドアドレス列を生成する。ここで、コマンドアドレスは、第1メモリモジュール100の第1外部メモリ制御部130がアクセスすることのできるI/O空間上のアドレスである。I/O空間には、第1外部メモリ140〜143がマップされている。I/O空間については後述する。   When acquiring the preload command, the first address generation unit 121 generates a command address sequence that is an array of command addresses indicating the address of data specified in the preload command, based on the preload command. Here, the command address is an address on the I / O space that can be accessed by the first external memory control unit 130 of the first memory module 100. The first external memories 140 to 143 are mapped in the I / O space. The I / O space will be described later.

第1アドレス範囲判定部122は、第1アドレス範囲を保持している。ここで、第1アドレス範囲とは、第1メモリモジュール100が管理するメモリ、すなわち第1外部メモリ140〜143のアドレス範囲である。そして、第1アドレス範囲判定部122は、第1アドレス生成部121により生成されたコマンドアドレス列に含まれる各コマンドアドレスが第1アドレス範囲内のアドレスであるか否かを判定する。   The first address range determination unit 122 holds the first address range. Here, the first address range is an address range of the memory managed by the first memory module 100, that is, the first external memories 140 to 143. Then, the first address range determination unit 122 determines whether each command address included in the command address sequence generated by the first address generation unit 121 is an address within the first address range.

第1転送許可部123は、第1アドレス範囲判定部122により、コマンドアドレスが第1アドレス範囲内のアドレスであると判定された場合に、当該コマンドアドレスに対するアクセスを許可する。第1外部メモリ制御部130は、第1転送許可部123により転送が許可されるとプリロードコマンドに基づいて、コマンドアドレスで特定される第1外部メモリ140〜143にアクセスする。   The first transfer permission unit 123 permits access to the command address when the first address range determination unit 122 determines that the command address is an address within the first address range. When the transfer is permitted by the first transfer permission unit 123, the first external memory control unit 130 accesses the first external memories 140 to 143 specified by the command address based on the preload command.

第1バッファメモリ124は、第1外部メモリ制御部130により第1外部メモリ140〜143から読み出されたデータを一時的に格納する。第1バッファメモリ124に、所定のサイズ分のデータが格納されると、CPU11からのリードアクセスによりそのサイズ分のデータ、すなわちデータブロック単位でCPU11に一括転送される。ここで、バッファメモリ124のサイズは、CPUの最下位層キャッシュのラインサイズとすることが望ましい。   The first buffer memory 124 temporarily stores data read from the first external memories 140 to 143 by the first external memory control unit 130. When data of a predetermined size is stored in the first buffer memory 124, the data for that size, that is, in units of data blocks, is collectively transferred to the CPU 11 by read access from the CPU 11. Here, the size of the buffer memory 124 is preferably the line size of the lowest layer cache of the CPU.

このように、第1メモリモジュール100はプリロードコマンドから生成されるコマンドアドレスが第1アドレス範囲内のアドレスである場合にのみプリロードコマンドに対する処理を行うので、CPU11が第1外部メモリ140〜143および第2外部メモリ240〜243の両方へのアクセスを含む1つのプリロードコマンドを発行した場合であっても、第1メモリモジュール100は自身が管理する第1外部メモリ140〜143に対する処理のみを行うことができる。   As described above, the first memory module 100 performs the process for the preload command only when the command address generated from the preload command is an address within the first address range, and thus the CPU 11 performs processing for the first external memories 140 to 143 and the first 2 Even when one preload command including access to both of the external memories 240 to 243 is issued, the first memory module 100 can only perform processing for the first external memories 140 to 143 managed by itself. it can.

このように、第1メモリモジュール100および第2メモリモジュール200は、CPU11により発行されたプリロードコマンドのうち、それぞれ自身が管理する外部メモリ140〜143,240〜243のアドレスに対する処理のみを担当する。すなわち、第1メモリバスインタフェース120および第2メモリバスインタフェース220は協調して処理を行う。   As described above, the first memory module 100 and the second memory module 200 are in charge of only processing for the addresses of the external memories 140 to 143 and 240 to 243 managed by the CPU 11 among the preload commands issued by the CPU 11. That is, the first memory bus interface 120 and the second memory bus interface 220 perform processing in cooperation.

図2は、第1外部メモリ制御部130の処理を説明するための図である。第1外部メモリ140〜143は例えばI/O空間などの巨大なアドレス空間にマップされている。第1外部メモリ制御部130は、第1アドレス生成部121により生成されたコマンドアドレスによりI/O空間上の不連続な領域に存在している複数のデータに順番にアクセスし、アクセス順にデータを第1バッファメモリ124に格納していく。図2に示すように第1バッファメモリ124が例えば64ビットサイズである場合には、64ビット分のデータがコマンドアドレス順に格納される。   FIG. 2 is a diagram for explaining processing of the first external memory control unit 130. The first external memories 140 to 143 are mapped to a huge address space such as an I / O space. The first external memory control unit 130 sequentially accesses a plurality of data existing in discontinuous areas in the I / O space by the command address generated by the first address generation unit 121, and stores the data in the order of access. The data is stored in the first buffer memory 124. As shown in FIG. 2, when the first buffer memory 124 has a 64-bit size, for example, 64-bit data is stored in the order of command addresses.

このように、第1外部メモリ制御部130は、CPU11により発行されたプリロードコマンドから生成されたコマンドアドレスにより所定のデータを読み出し、第1バッファメモリ124に書き込む。   As described above, the first external memory control unit 130 reads predetermined data by the command address generated from the preload command issued by the CPU 11 and writes it in the first buffer memory 124.

第1外部メモリ制御部130は、第1外部メモリ140〜143対してデータ単位でアクセスし、必要なデータを第1バッファメモリ124に書き込む。第1バッファメモリ124のサイズ分のデータが格納されると、CPU11からのリード要求に応じて第1バッファメモリ124に格納されているデータがCPU11に転送される。このとき、第1バッファメモリ124のデータは、第1バッファメモリ124のサイズ分のデータ、すなわちデータブロック単位で一括転送される。   The first external memory control unit 130 accesses the first external memories 140 to 143 in units of data, and writes necessary data in the first buffer memory 124. When data corresponding to the size of the first buffer memory 124 is stored, the data stored in the first buffer memory 124 is transferred to the CPU 11 in response to a read request from the CPU 11. At this time, the data in the first buffer memory 124 is batch transferred in units of data corresponding to the size of the first buffer memory 124, that is, data blocks.

CPU11がキャッシュライン単位で第1メモリバス16を介してデータを読み出す場合には、1つのキャッシュライン中の一部にしか必要なデータが格納されていない場合がある。しかしこの場合でも、このキャッシュライン全体を読み出さなければならない。このためキャッシュライン単位の転送は効率が悪い。   When the CPU 11 reads data via the first memory bus 16 in units of cache lines, necessary data may be stored only in a part of one cache line. However, even in this case, the entire cache line must be read. For this reason, transfer in units of cache lines is inefficient.

これに対し本実施の形態の情報処理システム1は、第1バッファメモリ124においてプリロードが完了した後で、第1バッファメモリ124のデータをデータブロック単位で転送するので、必要なデータのみが第1メモリバス16に送出される。したがって、転送効率を向上させることができる。   On the other hand, the information processing system 1 according to the present embodiment transfers the data in the first buffer memory 124 in units of data blocks after the preload is completed in the first buffer memory 124, so that only necessary data is the first data. It is sent to the memory bus 16. Therefore, transfer efficiency can be improved.

図3は、CPU11がアクセスするCPUアドレス空間を説明するための図である。図3に示すように、CPUアドレス空間においては、128ビットのアドレス範囲が第1バッファメモリ124および第2バッファメモリ224に対して割り当てられている。なお、第1バッファメモリ124と第2バッファメモリ224に割り当てられるアドレスの上位4ビットは同一である。下位4ビットにおいて第1バッファメモリ124と第2バッファメモリ224とが識別される。具体的には、下位4ビットにより定まる0〜7のアドレス領域に第1バッファメモリ124が割り当てられ、8〜15のアドレス領域に第2バッファメモリ224が割り当てられている。このように、第1バッファメモリ124と第2バッファメモリ224は、CPUアドレス空間上の連続した領域にマップされている。   FIG. 3 is a diagram for explaining a CPU address space accessed by the CPU 11. As shown in FIG. 3, in the CPU address space, a 128-bit address range is assigned to the first buffer memory 124 and the second buffer memory 224. The upper 4 bits of the addresses assigned to the first buffer memory 124 and the second buffer memory 224 are the same. The first buffer memory 124 and the second buffer memory 224 are identified in the lower 4 bits. Specifically, the first buffer memory 124 is assigned to the address area 0-7 determined by the lower 4 bits, and the second buffer memory 224 is assigned to the address area 8-15. As described above, the first buffer memory 124 and the second buffer memory 224 are mapped to continuous areas on the CPU address space.

CPU11は、CPUアドレス空間上にマップされた第1バッファメモリ124および第2バッファメモリ224に格納されたデータにアクセスすることができる。ところで、第1外部メモリ140〜143および第2外部メモリ240〜243はI/O空間にはマップされているが、CPUアドレス空間にはマップされていない。32ビットCPU11の上限は4GBであるため、8GBの外部メモリ140〜143および外部メモリ240〜243の全容量分を直接CPU11からアクセス可能なCPUアドレス空間上に主記憶としてマップすることができないからである。したがって、CPU11は、第1外部メモリ140〜143および第2外部メモリ240〜243には直接アクセスすることはできない。   The CPU 11 can access data stored in the first buffer memory 124 and the second buffer memory 224 mapped on the CPU address space. Incidentally, the first external memories 140 to 143 and the second external memories 240 to 243 are mapped to the I / O space, but are not mapped to the CPU address space. Since the upper limit of the 32-bit CPU 11 is 4 GB, the entire capacity of the 8 GB external memories 140 to 143 and the external memories 240 to 243 cannot be mapped as the main memory on the CPU address space accessible from the CPU 11 directly. is there. Therefore, the CPU 11 cannot directly access the first external memories 140 to 143 and the second external memories 240 to 243.

つまり、CPU11は、例えば、第1外部メモリ140〜143に格納されているデータを取得するためには、まずプリロードコマンドにより第1外部メモリ140〜143から第1バッファメモリ124にデータを書き込む。そして、第1バッファメモリ124のデータサイズ分のデータが格納された後に、リードアクセスを行い、データブロック単位で第1バッファメモリ124からデータを取得する。このように、CPU11は、第1バッファメモリ124から間接的に第1外部メモリ140〜143のデータを得る。   That is, for example, in order to acquire data stored in the first external memories 140 to 143, the CPU 11 first writes data from the first external memories 140 to 143 to the first buffer memory 124 by a preload command. Then, after data corresponding to the data size of the first buffer memory 124 is stored, read access is performed, and data is acquired from the first buffer memory 124 in units of data blocks. As described above, the CPU 11 obtains data of the first external memories 140 to 143 indirectly from the first buffer memory 124.

第1メモリバス16に接続されている第1メモリモジュール100および第2メモリバス17に接続されている第2メモリモジュール200のタイミング仕様は同一に設定されている。   The timing specifications of the first memory module 100 connected to the first memory bus 16 and the second memory module 200 connected to the second memory bus 17 are set to be the same.

例えば第1メモリバス16および第2メモリバス17がそれぞれ64ビットのデータ幅を有するとする。このとき、BIOS経由でノースブリッジ12が2本のメモリバス16,17をデュアルチャネルロックステップモードで動作するように設定する。この場合、2本のメモリバス16,17は、CPU11に対し128ビットの1本のメモリバスであるが如く動作する。   For example, assume that the first memory bus 16 and the second memory bus 17 each have a data width of 64 bits. At this time, the north bridge 12 sets the two memory buses 16 and 17 to operate in the dual channel lock step mode via the BIOS. In this case, the two memory buses 16 and 17 operate as if they were one 128-bit memory bus for the CPU 11.

仮に第1メモリモジュール100および第2メモリモジュール200に異なるタイミング仕様を設定した場合には、2本のメモリバス16,17はCPU11に対し64ビットの1本のメモリバスであるが如く動作する。すなわち、タイミング仕様を同一とした場合に比べて処理効率が低下する。すなわち、タイミング仕様を同一とした場合には、タイミング仕様が異なる場合に比べて処理効率の向上を図ることができる。   If different timing specifications are set for the first memory module 100 and the second memory module 200, the two memory buses 16 and 17 operate as if they were one 64-bit memory bus for the CPU 11. That is, the processing efficiency is lower than when the timing specifications are the same. That is, when the timing specifications are the same, the processing efficiency can be improved as compared with the case where the timing specifications are different.

ここで、タイミング仕様とは、例えば、SPD(Serial Presence Ditect)ROMに書き込まれた容量や、CADレイテンシなどのタイミング仕様のことである。すなわち、タイミング仕様が同一とは、ノースブリッジ側から見た場合のメモリとしての容量やタイミングが同一であることをいう。   Here, the timing specifications are, for example, timing specifications such as capacity written in an SPD (Serial Presence Detect) ROM and CAD latency. That is, the same timing specification means that the memory capacity and timing are the same when viewed from the north bridge side.

以上のように、第1メモリモジュール100および第2メモリモジュール200が同一のタイミング仕様を有することにより、デュアルチャネルロックステップモードでの動作が可能となる。これにより、64ビット幅メモリバスの2倍のバンド幅をCPUに対して供給することが可能となる。したがって、主記憶のみで動作するプログラムの処理速度の低下を防ぐことができる。   As described above, since the first memory module 100 and the second memory module 200 have the same timing specifications, it is possible to operate in the dual channel lock step mode. This makes it possible to supply the CPU with a bandwidth twice that of the 64-bit width memory bus. Therefore, it is possible to prevent a decrease in processing speed of a program that operates only with the main memory.

第1メモリモジュール100の第1ネットワーク制御部110は、この第1外部メモリ140〜143にアクセスして送受信に関わるデータを読み書きする。さらに、CPU11が制御用のデータを第1ネットワーク制御部110に対して読み書きすることにより、第1ネットワーク制御部110が第1外部メモリ140〜143にアクセスしつつ、CPU11から指示された通信を実行することでネットワークインタフェースとしての機能を果たす。   The first network control unit 110 of the first memory module 100 accesses the first external memories 140 to 143 to read / write data related to transmission / reception. Further, the CPU 11 reads / writes control data from / to the first network control unit 110, so that the first network control unit 110 executes communication instructed by the CPU 11 while accessing the first external memories 140-143. By doing so, it functions as a network interface.

図4は、情報処理システム1によるプリロード処理を示すフローチャートである。なお、プリロード処理においては、CPU11によって発行されたプリロードコマンドは、第1メモリモジュール100および第2メモリモジュール200に転送される。プリロードコマンドを取得した後の第1メモリモジュール100および第2メモリモジュール200の処理は同様である。そこでここでは、第1メモリモジュール100の処理について説明する。なお、プリロードコマンドとしてベクトルロードコマンドが発行された場合について説明する。   FIG. 4 is a flowchart showing preload processing by the information processing system 1. In the preload process, the preload command issued by the CPU 11 is transferred to the first memory module 100 and the second memory module 200. The processing of the first memory module 100 and the second memory module 200 after acquiring the preload command is the same. Therefore, here, the processing of the first memory module 100 will be described. A case where a vector load command is issued as a preload command will be described.

CPU11によりベクトルロードコマンドが発行されると(ステップS100)、ベクトルロードコマンドは、ノースブリッジ12および第1メモリバス16を介して第1メモリモジュール100に転送される(ステップ102)。   When the vector load command is issued by the CPU 11 (step S100), the vector load command is transferred to the first memory module 100 via the north bridge 12 and the first memory bus 16 (step 102).

第1メモリモジュール100において、ベクトルロードコマンドが起動され、ベクトルロードコマンドにおいてアクセスすべきコマンドアドレスが生成される。第1メモリバスインタフェース120の第1アドレス範囲判定部122は、ベクトルロードコマンドから生成されたコマンドアドレスが第1アドレス範囲内のアドレスであるか否かを判定する。   In the first memory module 100, a vector load command is activated, and a command address to be accessed in the vector load command is generated. The first address range determination unit 122 of the first memory bus interface 120 determines whether or not the command address generated from the vector load command is an address within the first address range.

コマンドアドレスが第1アドレス範囲内のアドレスであると判定された場合には(ステップS110,Yes)、第1転送許可部123は、コマンドアドレスに対するデータ転送を許可する(ステップS112)。そして、第1外部メモリ制御部130は、第1外部メモリ140〜143のうちコマンドアドレスにより特定される領域からデータを読み出し、第1バッファメモリ124にデータを格納する(ステップS114)。なお、このとき、第1外部メモリ制御部130は、コマンドアドレスの順番に、対応するデータを第1バッファメモリ124に配列していく。   When it is determined that the command address is an address within the first address range (step S110, Yes), the first transfer permission unit 123 permits data transfer for the command address (step S112). Then, the first external memory control unit 130 reads data from the area specified by the command address in the first external memories 140 to 143, and stores the data in the first buffer memory 124 (step S114). At this time, the first external memory control unit 130 arranges corresponding data in the first buffer memory 124 in the order of command addresses.

一方、ステップS110において、コマンドアドレスが第1アドレス範囲内のアドレスでないと判定された場合には(ステップS110,No)、第1転送許可部123は、コマンドアドレスに対するデータ転送を禁止する。   On the other hand, if it is determined in step S110 that the command address is not within the first address range (step S110, No), the first transfer permission unit 123 prohibits data transfer for the command address.

CPU11により発行されたベクトルロードコマンドには、第2外部メモリ240〜243へのアクセスが含まれているので、第2外部メモリ240〜243に対応するコマンドアドレスが含まれている。このようなコマンドアドレスの場合には、第1アドレス範囲内のアドレスでないと判定される。この場合には、自己の管理する第1外部メモリ140〜143には対応するデータが格納されていないので、データ転送処理は行わない。   Since the vector load command issued by the CPU 11 includes access to the second external memories 240 to 243, a command address corresponding to the second external memories 240 to 243 is included. In the case of such a command address, it is determined that the address is not within the first address range. In this case, since the corresponding data is not stored in the first external memories 140 to 143 managed by the device, data transfer processing is not performed.

第1メモリモジュール100は以上の処理を、ベクトルロードコマンドから生成されたすべてのコマンドアドレスに対して行う。   The first memory module 100 performs the above processing for all command addresses generated from the vector load command.

一方、CPU11は、第1メモリバスインタフェース120の第1バッファメモリ124においてプリロードが完了したか否かを監視する(ステップS120)。CPU11は、プリロードが完了したと判定した場合に(ステップS122,Yes)、リードコマンドを発行する(ステップS124)。   On the other hand, the CPU 11 monitors whether or not preloading is completed in the first buffer memory 124 of the first memory bus interface 120 (step S120). If the CPU 11 determines that preloading is complete (step S122, Yes), it issues a read command (step S124).

具体的には、第1バッファメモリ124の一部のデータブロック(例えば8バイト)ごとにフラグを設ける。このフラグは、プリロードが完了したか否かを示すものである。CPU11は、このフラグをリードすることにより、各データブロックのプリロードが完了したか否か、すなわちデータブロックにデータが格納されたか否かを監視する。   Specifically, a flag is provided for each partial data block (for example, 8 bytes) in the first buffer memory 124. This flag indicates whether or not preloading has been completed. By reading this flag, the CPU 11 monitors whether or not preloading of each data block is completed, that is, whether or not data is stored in the data block.

そして、プリロード完了を示す値になったことが確認された場合に、実際のリードコマンドを発行し、対応するデータブロックを得る。このようにプリロードの完了を監視することにより、プリロードが完了する前にリードコマンドを発行するのを防止することができる。すなわち、プリロード完了が遅延した場合であっても柔軟に対応することができる。   When it is confirmed that the value indicates completion of preloading, an actual read command is issued to obtain a corresponding data block. By monitoring the completion of the preload in this way, it is possible to prevent a read command from being issued before the preload is completed. That is, even when the preload completion is delayed, it can be flexibly dealt with.

なお、この場合第1バッファメモリ124は、例えば第1メモリバスインタフェース120に緊密な位置に配置されたレジスタでフラグを実装し、CPU11からリードできるようにするのが好ましい。さらに、複数(例えば64ビット)のフラグの状態を1回のリードアクセスにより取得可能とするのが好ましい。   In this case, the first buffer memory 124 is preferably mounted with a flag, for example, by a register disposed at a close position on the first memory bus interface 120 so that the CPU 11 can read the flag. Furthermore, it is preferable that a plurality of (for example, 64 bits) flag states can be acquired by one read access.

以上のようにCPU11は、リードコマンドを発行し(ステップS124)、ノースブリッジ12および第1メモリバス16を介してリードコマンドを第1メモリモジュール100に転送する(ステップS126)。第1メモリモジュール100は、リードコマンドを取得すると、リードコマンドに対応するデータをCPU11に返す(ステップS1128)。すなわち、第1バッファメモリ124に格納されているデータをCPU11に転送する。以上で、情報処理システム1におけるプリロード処理が完了する。   As described above, the CPU 11 issues a read command (step S124), and transfers the read command to the first memory module 100 via the north bridge 12 and the first memory bus 16 (step S126). When acquiring the read command, the first memory module 100 returns data corresponding to the read command to the CPU 11 (step S1128). That is, the data stored in the first buffer memory 124 is transferred to the CPU 11. Thus, the preload process in the information processing system 1 is completed.

CPU11が取得するデータブロックにおいては、ベクトルロードコマンドから生成されたコマンドアドレスのうち第1外部メモリ140〜143に対応するアドレスのデータがベクトルロードコマンドにおけるコマンドアドレスの順番に配列されている。すなわち、CPU11は、コマンドアドレス順に第1外部メモリ140〜143に対応するデータを取得することができる。   In the data block acquired by the CPU 11, data of addresses corresponding to the first external memories 140 to 143 among the command addresses generated from the vector load command are arranged in the order of the command addresses in the vector load command. That is, the CPU 11 can acquire data corresponding to the first external memories 140 to 143 in the order of command addresses.

図5は、CPU11において発行されるベクトルロードコマンドから生成される連続したコマンドアドレスの一例を模式的に示す図である。図4に示すコマンドアドレスは、第1外部メモリ140、第2外部メモリ240、第1外部メモリ141、第2外部メモリ241、第1外部メモリ142、第2外部メモリ242、第1外部メモリ143および第2外部メモリ243の順にアクセスするための連続アドレスである。   FIG. 5 is a diagram schematically illustrating an example of continuous command addresses generated from the vector load command issued by the CPU 11. The command addresses shown in FIG. 4 are the first external memory 140, the second external memory 240, the first external memory 141, the second external memory 241, the first external memory 142, the second external memory 242, the first external memory 143, and This is a continuous address for accessing the second external memory 243 in order.

本実施の形態にかかる情報処理システム1においては、このように異なるメモリバス16,17を介して接続された外部メモリ140〜143,240〜243へのアクセスが含まれる1つのベクトルロードコマンドに対する処理を行うことができる。図4に示すベクトルロードコマンドが発行された場合には、第1メモリモジュール100および第2メモリモジュール200は、それぞれ自身が管理する外部メモリに対する処理のみを行う。   In the information processing system 1 according to the present embodiment, processing for one vector load command including access to the external memories 140 to 143 and 240 to 243 connected via the different memory buses 16 and 17 as described above. It can be performed. When the vector load command shown in FIG. 4 is issued, each of the first memory module 100 and the second memory module 200 performs only the processing for the external memory managed by itself.

図4に示すベクトルロードコマンドを取得した場合には、第1メモリモジュール100は、第1外部メモリ140、第1外部メモリ141、第1外部メモリ142および第1外部メモリ143の順にアクセスする。第2メモリモジュール200は、第2外部メモリ240、第2外部メモリ241、第2外部メモリ242、および第2外部メモリ243の順にアクセスする。   When the vector load command shown in FIG. 4 is acquired, the first memory module 100 accesses the first external memory 140, the first external memory 141, the first external memory 142, and the first external memory 143 in this order. The second memory module 200 accesses the second external memory 240, the second external memory 241, the second external memory 242, and the second external memory 243 in this order.

このように、CPU11は、第1外部メモリ140〜143および第2外部メモリ240〜243へのアクセスを含むベクトルロードコマンドを一度発行することにより、対応するデータをアクセス順に対応した順番でデータをリードすることができる。さらに上述のように、64ビットの2本のメモリバス16,17は、128ビットの1本のメモリバスのように動作する。   As described above, the CPU 11 issues a vector load command including access to the first external memories 140 to 143 and the second external memories 240 to 243 once, thereby reading the data in the order corresponding to the access order. can do. Further, as described above, the two 64-bit memory buses 16 and 17 operate like one 128-bit memory bus.

一方、本実施の形態にかかる情報処理システム1のように各メモリモジュールが処理すべきアドレス範囲を判定する機能を有さない場合には、図4のようなコマンドアドレスの順番にデータを取得したい場合には、各外部メモリ140〜143,240〜243に対するベクトルロードコマンドを発行する必要がある。すなわち8回ベクトルロードコマンドを発行する必要がある。したがって、処理効率が低下してしまう。これに対し、本実施の形態にかかる情報処理システム1は、1つのベクトルロードコマンドを発行すればよく、処理の効率化を図ることができる。   On the other hand, if the information processing system 1 according to the present embodiment does not have a function of determining the address range to be processed by each memory module, it is desired to acquire data in the order of command addresses as shown in FIG. In this case, it is necessary to issue a vector load command for each of the external memories 140 to 143 and 240 to 243. That is, it is necessary to issue the vector load command eight times. Accordingly, the processing efficiency is reduced. On the other hand, the information processing system 1 according to the present embodiment only needs to issue one vector load command, and the processing efficiency can be improved.

以上、本発明を実施の形態を用いて説明したが、上記実施の形態に多様な変更または改良を加えることができる。   As described above, the present invention has been described using the embodiment, but various changes or improvements can be added to the above embodiment.

(実施の形態2)
図6は、実施の形態2にかかる情報処理システム1の全体構成を示すブロック図である。実施の形態2にかかる情報処理システム1においては、第1ネットワーク制御部110と第2ネットワーク制御部210がケーブル300により接続されている。
(Embodiment 2)
FIG. 6 is a block diagram of an overall configuration of the information processing system 1 according to the second embodiment. In the information processing system 1 according to the second exemplary embodiment, the first network control unit 110 and the second network control unit 210 are connected by a cable 300.

ケーブル300は、第1メモリモジュール100の第1外部メモリ140〜143のデータおよび第1メモリバスインタフェース120のデータを第2メモリモジュール200に転送し、また第2メモリモジュール200の第2外部メモリ240〜243のデータおよび第2メモリバスインタフェース220のデータを第1メモリモジュール100に転送する。このように、ケーブル300は、第1メモリモジュール100と第2メモリモジュール200の間で遠隔データ転送を行う。以上のように第1ネットワーク制御部110および第2ネットワーク制御部210は、それぞれ第1転送手段および第2転送手段として機能する。   The cable 300 transfers the data of the first external memories 140 to 143 of the first memory module 100 and the data of the first memory bus interface 120 to the second memory module 200, and the second external memory 240 of the second memory module 200. The data of ˜243 and the data of the second memory bus interface 220 are transferred to the first memory module 100. As described above, the cable 300 performs remote data transfer between the first memory module 100 and the second memory module 200. As described above, the first network control unit 110 and the second network control unit 210 function as a first transfer unit and a second transfer unit, respectively.

例えば、2本の64ビット幅メモリバス16,17をデュアルチャネルロックステップモードで動作するように設定した場合には、8バイトおきにコマンドアドレスを第1メモリバス16および第2メモリバス17に割り振る。   For example, when two 64-bit width memory buses 16 and 17 are set to operate in the dual channel lockstep mode, command addresses are allocated to the first memory bus 16 and the second memory bus 17 every 8 bytes. .

したがって、CPU11により発行されたプリロードコマンドにより生成されるコマンドアドレスが第1メモリモジュール100および第2メモリモジュール200のうちいずれか一方のみに集中した場合には、他方に接続されたメモリバスは有効に利用されず、処理効率が低下してしまう。   Therefore, when the command address generated by the preload command issued by the CPU 11 is concentrated on only one of the first memory module 100 and the second memory module 200, the memory bus connected to the other is effective. It is not used, and the processing efficiency decreases.

そこで、実施の形態2にかかる情報処理システム1においては、例えば第1メモリバスインタフェース120が取得したプリロードコマンドにより生成されたコマンドアドレスが第1メモリモジュール100中の第1外部メモリ140〜143に対するアドレス範囲、すなわち第1アドレス範囲に含まれない場合には、第1ネットワーク制御部110がケーブル300等を介して第2外部メモリ240〜243に遠隔リードアクセスし、自身の第1バッファメモリ124にコマンドアドレスに対するデータをロードすることとする。   Therefore, in the information processing system 1 according to the second embodiment, for example, a command address generated by a preload command acquired by the first memory bus interface 120 is an address for the first external memories 140 to 143 in the first memory module 100. If it is not included in the range, that is, the first address range, the first network control unit 110 performs remote read access to the second external memories 240 to 243 via the cable 300 or the like, and sends a command to its own first buffer memory 124 The data for the address is loaded.

同様に、第2メモリバスインタフェース220が取得したプリロードコマンドにより生成されたコマンドアドレスが第2メモリモジュール200中の第2外部メモリ240〜243に対するアドレス範囲、すなわち第2アドレス範囲に含まれない場合には、第2ネットワーク制御部210がケーブル300等を介して第1外部メモリ140〜143に遠隔リードアクセスし、自身の第2バッファメモリ224にデータをロードすることとする。   Similarly, when the command address generated by the preload command acquired by the second memory bus interface 220 is not included in the address range for the second external memories 240 to 243 in the second memory module 200, that is, the second address range. The second network control unit 210 performs remote read access to the first external memories 140 to 143 via the cable 300 or the like, and loads data into its own second buffer memory 224.

図7は、実施の形態2にかかる情報処理システム1によるプリロード処理を示すフローチャートである。なお、プリロード処理においては、CPU11によって発行されたプリロードコマンドは、第1メモリモジュール100および第2メモリモジュール200に転送される。プリロードコマンドを取得した後の第1メモリモジュール100および第2メモリモジュール200の処理は同様である。そこでここでは、第1メモリモジュール100の処理について説明する。なお、プリロードコマンドとしてベクトルロードコマンドが発行された場合について説明する。   FIG. 7 is a flowchart of the preload process performed by the information processing system 1 according to the second embodiment. In the preload process, the preload command issued by the CPU 11 is transferred to the first memory module 100 and the second memory module 200. The processing of the first memory module 100 and the second memory module 200 after acquiring the preload command is the same. Therefore, here, the processing of the first memory module 100 will be described. A case where a vector load command is issued as a preload command will be described.

実施の形態2においては、第1メモリモジュール100にプリロードコマンドとしてベクトルロードコマンドが転送されると(ステップS102)、ベクトルロードコマンドが起動され、コマンドアドレスが生成される。第1メモリバスインタフェース120の第1アドレス範囲判定部は、コマンドアドレスが第1アドレス範囲内のアドレスであるか否かを判定する。   In the second embodiment, when a vector load command is transferred as a preload command to the first memory module 100 (step S102), the vector load command is activated and a command address is generated. The first address range determination unit of the first memory bus interface 120 determines whether or not the command address is an address within the first address range.

コマンドアドレスが第1アドレス範囲内のアドレスであると判定された場合には(ステップS110,Yes)、第1転送許可部123は、コマンドアドレスに対するデータ転送を許可する(ステップS112)。そして、ステップS114へ進む。   When it is determined that the command address is an address within the first address range (step S110, Yes), the first transfer permission unit 123 permits data transfer for the command address (step S112). Then, the process proceeds to step S114.

一方、ステップS110において、コマンドアドレスが第1アドレス範囲内のアドレスでないと判定された場合には(ステップS110,No)、第1ネットワーク制御部110は、第2外部メモリ240〜243に遠隔リードアクセスを行う(ステップS116)。   On the other hand, if it is determined in step S110 that the command address is not within the first address range (step S110, No), the first network control unit 110 performs remote read access to the second external memories 240 to 243. Is performed (step S116).

図8は、遠隔リードアクセス処理(ステップS116)における第1メモリモジュール100および第2メモリモジュール200の詳細な処理を示すフローチャートである。遠隔リードアクセス処理(ステップS116)においては、まず第1メモリモジュール100において、第1ネットワーク制御部110は、ケーブル300を介して第2外部メモリ240〜243へのアクセス要求、すなわち遠隔リードアクセス要求を第2メモリモジュール200に送る(ステップS140)。なお、遠隔リードアクセス要求には、コマンドアドレスが含まれている。   FIG. 8 is a flowchart showing detailed processing of the first memory module 100 and the second memory module 200 in the remote read access processing (step S116). In the remote read access process (step S116), first, in the first memory module 100, the first network control unit 110 issues an access request to the second external memories 240 to 243 via the cable 300, that is, a remote read access request. The data is sent to the second memory module 200 (step S140). Note that the remote read access request includes a command address.

第2メモリモジュール200の第2ネットワーク制御部210が遠隔リードアクセス要求を取得すると、第2外部メモリ制御部230は、遠隔リードアクセス要求に含まれるコマンドアドレス範囲に対応するデータを第2外部メモリ240〜243から読み出す(ステップS142)。そして、第2ネットワーク制御部210は、第2外部メモリ240〜243から読み出されたデータをケーブル300を介して第1メモリモジュール100に転送する(ステップS144)。   When the second network control unit 210 of the second memory module 200 acquires the remote read access request, the second external memory control unit 230 transmits data corresponding to the command address range included in the remote read access request to the second external memory 240. To 243 (step S142). Then, the second network control unit 210 transfers the data read from the second external memories 240 to 243 to the first memory module 100 via the cable 300 (step S144).

第1メモリモジュール100の第1ネットワーク制御部110は、第2メモリモジュール200からデータを取得すると、取得したデータを第1バッファメモリ124に格納する(ステップS146)。以上で遠隔リードアクセス処理(ステップS116)が完了する。   When acquiring the data from the second memory module 200, the first network control unit 110 of the first memory module 100 stores the acquired data in the first buffer memory 124 (step S146). Thus, the remote read access process (step S116) is completed.

このように、実施の形態2にかかる情報処理システム1は、第1アドレス範囲判定部122がコマンドアドレス範囲が第1アドレス範囲に含まれないと判断した場合には、第2外部メモリ240〜243にアクセスし、データを読み出すので、処理効率を向上させることができる。   As described above, in the information processing system 1 according to the second embodiment, when the first address range determination unit 122 determines that the command address range is not included in the first address range, the second external memories 240 to 243 are included. Since the data is accessed and the data is read, the processing efficiency can be improved.

さらに、第2外部メモリ240〜243から読み出されたデータは、ベクトルロードコマンドにおけるコマンドアドレスの配列順に第1バッファメモリ124に格納される。したがって、CPU11は、ベクトルロードコマンド順にデータを取得することができるので、データの並べ替え操作が不要となる。すなわち、処理の効率化を図ることができる。   Further, the data read from the second external memories 240 to 243 is stored in the first buffer memory 124 in the order of command addresses in the vector load command. Therefore, since the CPU 11 can acquire data in the order of the vector load command, the data rearrangement operation becomes unnecessary. That is, processing efficiency can be improved.

図9は、CPU11において発行されるベクトルロードコマンドから生成される連続したコマンドアドレスの一例を模式的に示す図である。図9に示すアドレスは、第1外部メモリ140、第1外部メモリ141、第1外部メモリ142、第1外部メモリ143、第2外部メモリ240、第2外部メモリ241、第2外部メモリ242、および第2外部メモリ243の順にアクセスするための連続アドレスである。   FIG. 9 is a diagram schematically illustrating an example of continuous command addresses generated from the vector load command issued by the CPU 11. The addresses shown in FIG. 9 are the first external memory 140, the first external memory 141, the first external memory 142, the first external memory 143, the second external memory 240, the second external memory 241, the second external memory 242, and This is a continuous address for accessing the second external memory 243 in order.

図9に示すコマンドアドレスにおいては、8回のアクセスのうち前半の4回のアクセスは、第1メモリモジュール100に対するアクセスであり、後半の4回のアクセスは、第2メモリモジュール200に対するアクセスである。実施の形態2にかかる情報処理システム1においては、第1メモリモジュール100は、このような合計8回のアクセスのうち奇数番のアクセス、すなわち第1外部メモリ140、第1外部メモリ142、第2外部メモリ240、第2外部メモリ242へのアクセスが割り当てられる。   In the command address shown in FIG. 9, the first four accesses out of the eight accesses are accesses to the first memory module 100, and the latter four accesses are accesses to the second memory module 200. . In the information processing system 1 according to the second exemplary embodiment, the first memory module 100 has an odd-numbered access out of such a total of eight accesses, that is, the first external memory 140, the first external memory 142, the second Access to the external memory 240 and the second external memory 242 is assigned.

第1メモリモジュール100は、自身の外部メモリでない第2外部メモリ240,242に対するベクトルロードコマンドを起動した場合には、第1ネットワーク制御部110を介して第2メモリモジュール200から対応するデータを取得し、第1バッファメモリ124に格納する。   When the first memory module 100 starts a vector load command for the second external memories 240 and 242 that are not its own external memory, the first memory module 100 acquires corresponding data from the second memory module 200 via the first network control unit 110. And stored in the first buffer memory 124.

第2メモリモジュール200は、8回のアクセスのうち偶数番のアクセス、すなわち第1外部メモリ141、第1外部メモリ143、第2外部メモリ241、第2外部メモリ243へのアクセスが割り当てられる。そして、第1メモリモジュール100と同様、自身の外部メモリでない第1外部メモリ141,143に対するベクトルロードコマンドを起動した場合には、第2ネットワーク制御部210を介して第1メモリモジュール100から対応するデータを取得し、第2バッファメモリ224に格納する。   The second memory module 200 is assigned even-numbered access among the eight accesses, that is, access to the first external memory 141, the first external memory 143, the second external memory 241, and the second external memory 243. Similarly to the first memory module 100, when a vector load command for the first external memories 141 and 143 that are not its own external memory is activated, the first memory module 100 responds via the second network control unit 210. Data is acquired and stored in the second buffer memory 224.

以上のように、第1メモリモジュール100および第2メモリモジュール200のいずれか一方にアクセスが集中している場合であっても、第1メモリバス16および第2メモリバス17を利用し第1メモリモジュール100および第2メモリモジュール200が協働して処理するので、処理の効率化を図ることができる。   As described above, even when access is concentrated on one of the first memory module 100 and the second memory module 200, the first memory bus 16 and the second memory bus 17 are used for the first memory module. Since the module 100 and the second memory module 200 process in cooperation, the processing efficiency can be improved.

すなわち、例えば8バイトおきに第1メモリモジュール100の第1バッファメモリ124および第2メモリモジュール200の第2バッファメモリ224にデータがロードされるように設定し、かつ相互に遠隔リードアクセス可能とすることにより、第1メモリモジュール100および第2メモリモジュール200のいずれか一方にアクセスが集中している場合でも、第1メモリモジュール100および第2メモリモジュール200が共に処理を行うので、処理の効率化を図ることができる。   That is, for example, data is set to be loaded into the first buffer memory 124 of the first memory module 100 and the second buffer memory 224 of the second memory module 200 every 8 bytes, and remote read access to each other is possible. As a result, even when access is concentrated on one of the first memory module 100 and the second memory module 200, both the first memory module 100 and the second memory module 200 perform processing, thereby improving processing efficiency. Can be achieved.

なお、実施の形態2にかかる情報処理システム1のこれ以外の構成および処理は、実施の形態1にかかる情報処理システム1の構成および処理と同様である。   The remaining configuration and processing of the information processing system 1 according to the second embodiment are the same as the configuration and processing of the information processing system 1 according to the first embodiment.

以上、本発明を実施の形態を用いて説明したが、上記実施の形態に多様な変更または改良を加えることができる。   As described above, the present invention has been described using the embodiment, but various changes or improvements can be added to the above embodiment.

そうした第1の変更例としては、実施の形態2にかかる情報処理システム1においては、第1ネットワーク制御部110および第2ネットワーク制御部210は、ケーブル300、すなわち専用線を介してデータ転送を行っていたが、他の例としては、第1ネットワーク制御部110および第2ネットワーク制御部は、ネットワークを介してデータ転送を行ってもよい。   As such a first modification, in the information processing system 1 according to the second embodiment, the first network control unit 110 and the second network control unit 210 perform data transfer via the cable 300, that is, the dedicated line. However, as another example, the first network control unit 110 and the second network control unit may perform data transfer via a network.

図10は、第2の変更例にかかる情報処理システム1の全体構成を示す図である。第2の変更例にかかる情報処理システム1の第1メモリバスインタフェース120は、第1バッファメモリ判定部126をさらに有している。また、第2メモリバスインタフェース220は、第2バッファメモリ判定部226をさらに有している。   FIG. 10 is a diagram illustrating an overall configuration of the information processing system 1 according to the second modification. The first memory bus interface 120 of the information processing system 1 according to the second modification example further includes a first buffer memory determination unit 126. The second memory bus interface 220 further includes a second buffer memory determination unit 226.

第1メモリバスインタフェース120の第1バッファメモリ判定部126は、いずれのコマンドアドレスが自身に割り振られたものかを判断する。同様に、メモリバスインタフェース220の第2バッファメモリ判定部226は、いずれのコマンドアドレスが自身に割り振られたものかを判断する。   The first buffer memory determination unit 126 of the first memory bus interface 120 determines which command address is allocated to itself. Similarly, the second buffer memory determination unit 226 of the memory bus interface 220 determines which command address is allocated to itself.

コマンドアドレス列に含まれるコマンドアドレスが8バイトおきに第1メモリバス16および第2メモリバス17に割り振られた場合には、第1メモリバス16に割り振られたコマンドアドレス、すなわち対応するデータを第1バッファメモリ124に格納すべきコマンドアドレスに対しては、第1バッファメモリ判定部126は、自身が処理すべきコマンドアドレスと判定する。   When command addresses included in the command address string are allocated to the first memory bus 16 and the second memory bus 17 every 8 bytes, the command addresses allocated to the first memory bus 16, that is, the corresponding data are For a command address to be stored in one buffer memory 124, the first buffer memory determination unit 126 determines that the command address is to be processed by itself.

第1バッファメモリ判定部126において自身が処理すべきコマンドアドレスでないと判定された場合には、遠隔ライトにより、第2バッファメモリ224にデータが書き込まれる。   If the first buffer memory determination unit 126 determines that the command address is not to be processed by itself, data is written to the second buffer memory 224 by remote writing.

さらに、第1バッファメモリ判定部126が自身が処理すべきコマンドアドレスと判定した8バイト分のコマンドアドレスに続くコマンドアドレスは、第2メモリバス17に割り振られている。これは、対応するデータを第2バッファメモリ224に格納すべきコマンドアドレスである。したがって、第2バッファメモリ判定部226は、自身が処理すべきコマンドアドレスと判定する。   Further, the command address following the 8-byte command address determined by the first buffer memory determination unit 126 as the command address to be processed by itself is allocated to the second memory bus 17. This is a command address where the corresponding data is to be stored in the second buffer memory 224. Therefore, the second buffer memory determination unit 226 determines that the command address is to be processed by itself.

第2バッファメモリ226において自身が処理すべきコマンドアドレスでないと判定された場合には、第2ネットワーク制御部210は、遠隔ライトにより第1バッファメモリ114にデータが書き込まれる。   When it is determined in the second buffer memory 226 that the command address is not to be processed, the second network control unit 210 writes data into the first buffer memory 114 by remote writing.

このように、第1バッファメモリ判定部126と第2バッファメモリ判定部226は、コマンドアドレス列に含まれるコマンドアドレスを、例えば8バイトなど所定の長さ単位で交互に自身が処理すべきコマンドアドレスとして判定する。すなわち、予め定められた条件にしたがい、自身が処理すべきコマンドアドレスか否かを判定する。   As described above, the first buffer memory determination unit 126 and the second buffer memory determination unit 226 each process the command address included in the command address string alternately by a predetermined length unit such as 8 bytes. Judge as. That is, according to a predetermined condition, it is determined whether or not it is a command address to be processed.

(実施の形態3)
図11は、実施の形態3にかかる情報処理システム1の全体構成を示すブロック図である。実施の形態3にかかる情報処理システム1は、CPU11と、ノースブリッジ12と、サウスブリッジ13と、第1主記憶14と、第2主記憶15と、第1メモリバス16と、第2メモリバス17と、第1メモリバスインタフェース120と、第2メモリバスインタフェースと、外部メモリ制御部400と、8つの外部メモリ421〜428とを備えている。第1メモリバスインタフェース120、第2メモリバスインタフェースおよび外部メモリ制御部400はそれぞれ別個の電子回路基板上に形成されている。
(Embodiment 3)
FIG. 11 is a block diagram of an overall configuration of the information processing system 1 according to the third embodiment. The information processing system 1 according to the third embodiment includes a CPU 11, a north bridge 12, a south bridge 13, a first main memory 14, a second main memory 15, a first memory bus 16, and a second memory bus. 17, a first memory bus interface 120, a second memory bus interface, an external memory control unit 400, and eight external memories 421 to 428. The first memory bus interface 120, the second memory bus interface, and the external memory controller 400 are formed on separate electronic circuit boards.

第1メモリバスインタフェース120は、第1バッファメモリ124を有している。第2メモリバスインタフェース220は、第2バッファメモリ224を有している。外部メモリ制御部400は、アドレス生成部410と、転送制御部412と、バッファメモリ判定部414とを有している。   The first memory bus interface 120 has a first buffer memory 124. The second memory bus interface 220 has a second buffer memory 224. The external memory control unit 400 includes an address generation unit 410, a transfer control unit 412, and a buffer memory determination unit 414.

アドレス生成部410は、CPU11により発行されたプリロードコマンドを第1メモリバスインタフェース120を介して取得すると、プリロードコマンドに基づいてアドレスを生成する。   When the address generation unit 410 acquires the preload command issued by the CPU 11 via the first memory bus interface 120, the address generation unit 410 generates an address based on the preload command.

転送制御部412は、アドレス生成部410により生成されたアドレスに基づいて、外部メモリ421〜428にアクセスする。そして、転送制御部412は、外部メモリ421〜428から取得したデータを第1メモリバスインタフェース120の第1バッファメモリ124または第2メモリバスインタフェースの第2バッファメモリ224に格納する。   The transfer control unit 412 accesses the external memories 421 to 428 based on the address generated by the address generation unit 410. Then, the transfer control unit 412 stores the data acquired from the external memories 421 to 428 in the first buffer memory 124 of the first memory bus interface 120 or the second buffer memory 224 of the second memory bus interface.

バッファメモリ判定部414は、転送制御部412がデータを書き込むべき書き込み先として第1バッファメモリ124または第2バッファメモリ22を指定する。   The buffer memory determination unit 414 designates the first buffer memory 124 or the second buffer memory 22 as a write destination to which the transfer control unit 412 should write data.

CPUアドレス空間においては、実施の形態1において図3を参照しつつ説明したように128ビットのアドレス範囲が第1バッファメモリ124および第2バッファメモリ224に対して割り当てられている。下位4ビットにおいて第1バッファメモリ124と第2バッファメモリ224とが識別される。具体的には、下位4ビットにより定まる0〜7のアドレス領域に第1バッファメモリ124が割り当てられ、8〜15のアドレス領域に第2バッファメモリ224が割り当てられている。   In the CPU address space, as described with reference to FIG. 3 in the first embodiment, a 128-bit address range is allocated to the first buffer memory 124 and the second buffer memory 224. The first buffer memory 124 and the second buffer memory 224 are identified in the lower 4 bits. Specifically, the first buffer memory 124 is assigned to the address area 0-7 determined by the lower 4 bits, and the second buffer memory 224 is assigned to the address area 8-15.

転送制御部412は、バッファメモリ判定部414の指定に基づいて、外部メモリ421〜428から取得したデータをコマンドアドレスの順に下位ビットの小さいアドレスに格納していく。すなわち、まず第1バッファメモリ124のアドレス0〜7の領域に順にデータを格納し、第1バッファメモリ124のデータサイズ分のデータが格納されると、次に、第2バッファメモリ224のアドレス8〜15の領域に順にデータを格納する。このように、バッファメモリ判定部414は、第1バッファメモリ124および第2バッファメモリ224におけるデータの格納状況に応じて予め定められた条件にしたがい、次にデータを格納すべき領域を決定する。   The transfer control unit 412 stores the data acquired from the external memories 421 to 428 in the order of the command address in the address of the lower bits in the order of the command address based on the designation of the buffer memory determination unit 414. That is, first, data is stored in the areas of the addresses 0 to 7 of the first buffer memory 124 in order, and when data corresponding to the data size of the first buffer memory 124 is stored, the address 8 of the second buffer memory 224 is then stored. Data is stored in the areas of -15 in order. As described above, the buffer memory determination unit 414 determines an area in which data is to be stored next in accordance with a predetermined condition according to the data storage state in the first buffer memory 124 and the second buffer memory 224.

図12は、実施の形態3にかかる情報処理システム1によるプリロード処理を示すフローチャートである。CPU11によりベクトルロードコマンドが発行されると(ステップS200)、ベクトルロードコマンドは、ノースブリッジ12、第1メモリバス16および第1メモリバスインタフェース120を介して外部メモリ制御部400に転送される(ステップ202)。   FIG. 12 is a flowchart of the preload process performed by the information processing system 1 according to the third embodiment. When the vector load command is issued by the CPU 11 (step S200), the vector load command is transferred to the external memory control unit 400 via the north bridge 12, the first memory bus 16, and the first memory bus interface 120 (step S200). 202).

外部メモリ制御部400において、ベクトルロードコマンドが起動され、ベクトルロードコマンドにおいてアクセスすべきコマンドアドレスが生成される(ステップS204)。次に、データの転送先を決定する(ステップS206)。具体的には、外部メモリ421〜428から取得したデータを第1バッファメモリ124および第2バッファメモリ224のいずれに格納するかを指定する。   In external memory control unit 400, a vector load command is activated, and a command address to be accessed in the vector load command is generated (step S204). Next, the data transfer destination is determined (step S206). Specifically, it is designated in which of the first buffer memory 124 and the second buffer memory 224 the data acquired from the external memories 421 to 428 is stored.

そして、転送制御部412は、決定された転送先に外部メモリ421〜428から読み出されたデータを格納する(ステップS208)。以上の処理を、ベクトルロードコマンドから生成されたすべてのコマンドアドレスに対して行う。   Then, the transfer control unit 412 stores the data read from the external memories 421 to 428 in the determined transfer destination (step S208). The above processing is performed for all command addresses generated from the vector load command.

CPU11は、プリロードが完了したか否かを監視する。CPU11は、プリロードが完了したと判定した場合に(ステップS210,Yes)、リードコマンドを発行する(ステップS212)。具体的には、CPU11は、第1バッファメモリ124におけるプリロードが完了し、かつ第2バッファメモリ224におけるプリロードが完了した場合にプリロードが完了したと判断する。   The CPU 11 monitors whether the preload is completed. If the CPU 11 determines that preloading is complete (step S210, Yes), it issues a read command (step S212). Specifically, the CPU 11 determines that the preload is completed when the preload in the first buffer memory 124 is completed and the preload in the second buffer memory 224 is completed.

リードコマンドは、第1メモリバスインタフェース120および第2メモリバスインタフェース220に転送される(ステップS214)。そして、第1メモリバスインタフェース120は、第1バッファメモリ124に格納されているデータをブロック単位で転送する。同様に、第2メモリバスインタフェース220は、第2バッファメモリ224に格納されているデータをブロック単位で転送する(ステップS216)。以上で、情報処理システム1におけるプリロード処理が完了する。   The read command is transferred to the first memory bus interface 120 and the second memory bus interface 220 (step S214). The first memory bus interface 120 transfers the data stored in the first buffer memory 124 in units of blocks. Similarly, the second memory bus interface 220 transfers the data stored in the second buffer memory 224 in units of blocks (step S216). Thus, the preload process in the information processing system 1 is completed.

このように、実施の形態3にかかる情報処理システム1によれば、第1メモリバスインタフェース120、第2メモリバスインタフェース220および外部メモリ制御部400をそれぞれ別個のLSI上に形成することにより、情報処理システム1全体の小型化を図ることができる。また、外部メモリ制御部400は、CPU11アドレス空間上の連続したアドレス領域にマップされた第1バッファメモリ124および第2バッファメモリ224に連続してデータを格納し、これらのデータをデータブロック単位でCPU11に転送することができるので、転送効率を向上させることができる。   As described above, according to the information processing system 1 according to the third embodiment, the first memory bus interface 120, the second memory bus interface 220, and the external memory control unit 400 are formed on separate LSIs, respectively. The entire processing system 1 can be reduced in size. The external memory control unit 400 continuously stores data in the first buffer memory 124 and the second buffer memory 224 mapped to continuous address areas on the CPU 11 address space, and stores these data in units of data blocks. Since it can transfer to CPU11, transfer efficiency can be improved.

なお、実施の形態3にかかる情報処理システム1のこれ以外の構成および処理は、他の実施の形態にかかる情報処理システム1の構成および処理と同様である。   The other configuration and processing of the information processing system 1 according to the third embodiment are the same as the configuration and processing of the information processing system 1 according to the other embodiments.

以上、本発明を実施の形態を用いて説明したが、上記実施の形態に多様な変更または改良を加えることができる。   As described above, the present invention has been described using the embodiment, but various changes or improvements can be added to the above embodiment.

情報処理システム1の全体構成を示す図である。1 is a diagram illustrating an overall configuration of an information processing system 1. FIG. 第1外部メモリ制御部130の処理を説明するための図である。It is a figure for demonstrating the process of the 1st external memory control part. CPU11がアクセスするCPUアドレス空間を説明するための図である。It is a figure for demonstrating CPU address space which CPU11 accesses. 情報処理システム1によるプリロード処理を示すフローチャートである。3 is a flowchart showing preload processing by the information processing system 1; CPU11において発行されるベクトルロードコマンドから生成される連続したコマンドアドレスの一例を模式的に示す図である。It is a figure which shows typically an example of the continuous command address produced | generated from the vector load command issued in CPU11. 実施の形態2にかかる情報処理システム1の全体構成を示すブロック図である。It is a block diagram which shows the whole structure of the information processing system 1 concerning Embodiment 2. FIG. 実施の形態2にかかる情報処理システム1によるプリロード処理を示すフローチャートである。6 is a flowchart showing preload processing by the information processing system 1 according to the second exemplary embodiment; 遠隔リードアクセス処理(ステップS116)における第1メモリモジュール100および第2メモリモジュール200の詳細な処理を示すフローチャートである。It is a flowchart which shows the detailed process of the 1st memory module 100 and the 2nd memory module 200 in a remote read access process (step S116). CPU11において発行されるベクトルロードコマンドから生成される連続したコマンドアドレスの一例を模式的に示す図である。It is a figure which shows typically an example of the continuous command address produced | generated from the vector load command issued in CPU11. 実施の形態2の第2の変更例にかかる情報処理システム1の全体構成を示すブロック図である。It is a block diagram which shows the whole structure of the information processing system 1 concerning the 2nd modification of Embodiment 2. FIG. 実施の形態3にかかる情報処理システム1の全体構成を示すブロック図である。FIG. 4 is a block diagram showing an overall configuration of an information processing system 1 according to a third embodiment. 実施の形態3にかかる情報処理システム1によるプリロード処理を示すフローチャートである。10 is a flowchart showing preload processing by the information processing system 1 according to the third exemplary embodiment;

符号の説明Explanation of symbols

1 情報処理システム
12 ノースブリッジ
13 サウスブリッジ
14 第1主記憶
15 第2主記憶
16 第1メモリバス
17 第2メモリバス
100 第1メモリモジュール
110 第1ネットワーク制御部
120 第1メモリバスインタフェース
121 第1アドレス生成部
122 第1アドレス範囲判定部
123 第1転送許可部
124 第1バッファメモリ
130 第1外部メモリ制御部
140〜143 第1外部メモリ
150 第1情報処理装置
200 第2メモリモジュール
210 第2ネットワーク制御部
220 第2メモリバスインタフェース
221 第2アドレス生成部
222 第2アドレス範囲判定部
223 第2転送許可部
224 第2バッファメモリ
230 第2外部メモリ制御部
240〜243 第2外部メモリ制御部
250 第2情報処理装置
300 ケーブル
400 外部メモリ制御部
410 アドレス生成部
412 転送制御部
414 バッファメモリ判定部
421〜428 外部メモリ
DESCRIPTION OF SYMBOLS 1 Information processing system 12 North bridge 13 South bridge 14 1st main memory 15 2nd main memory 16 1st memory bus 17 2nd memory bus 100 1st memory module 110 1st network control part 120 1st memory bus interface 121 1st Address generation unit 122 First address range determination unit 123 First transfer permission unit 124 First buffer memory 130 First external memory control unit 140 to 143 First external memory 150 First information processing device 200 Second memory module 210 Second network Control unit 220 Second memory bus interface 221 Second address generation unit 222 Second address range determination unit 223 Second transfer permission unit 224 Second buffer memory 230 Second external memory control unit 240 to 243 Second external memory control unit 250 The information processing apparatus 300 cable 400 external memory control unit 410 address generator 412 transfers the control unit 414 the buffer memory judging unit 421 to 428 external memory

Claims (23)

演算手段と、複数チャネルで構成されるメモリバスと、当該メモリバスに接続された第1情報処理装置および第2情報処理装置とを備えた情報処理システムであって、
前記第1情報処理装置は、
第1アドレス空間上のアドレスを割り当てられたメモリであって、かつ前記演算手段により利用される情報を格納するメモリである第1外部メモリを制御する第1外部メモリ制御手段と、
前記演算手段により利用される第2アドレス空間上のアドレスを割り当てられ、前記第1外部メモリから読み出されたデータを一時的に保持する第1バッファメモリと、
前記演算手段により発行されたコマンドを前記メモリバスを介して取得し、前記コマンドにおいて指定された前記第1アドレス空間上のコマンドアドレスが前記第1外部メモリに対応する第1アドレス範囲に含まれるか否かを判定する第1アドレス範囲判定手段と、
前記第1アドレス範囲判定手段により前記コマンドアドレスが前記第1アドレス範囲に含まれると判定された場合に、前記第1外部メモリから前記第1バッファメモリへのデータの転送を許可する第1転送許可手段と
を有し、
前記第1外部メモリ制御手段は、前記第1転送許可手段により前記データの転送が許可された場合に、前記第1外部メモリから前記コマンドアドレスに対するデータを読み出し、読み出した前記データを前記第1バッファメモリに格納し、
前記第2情報処理装置は、
前記第1アドレス空間上のアドレスを割り当てられたメモリであって、かつ前記演算手段により利用される情報を格納するメモリである第2外部メモリを制御する第2外部メモリ制御手段と、
前記第2アドレス空間上のアドレスを割り当てられ、前記第2外部メモリから読み出されたデータを一時的に保持する第2バッファメモリと、
前記演算手段により発行された前記コマンドを前記メモリバスを介して取得し、前記コマンドにおいて指定された前記第1アドレス空間上の前記コマンドアドレスが前記第2外部メモリに対応する第2アドレス範囲に含まれるか否かを判定する第2アドレス範囲判定手段と、
前記第2アドレス範囲判定手段により前記コマンドアドレスが前記第2アドレス範囲に含まれると判定された場合に、前記第2外部メモリから前記第2バッファメモリへのデータの転送を許可する第2転送許可手段と
を有し、
前記第2外部メモリ制御手段は、前記第2転送許可手段により前記データの転送が許可された場合に、前記第2外部メモリから前記コマンドアドレスに対するデータを読み出し、読み出した前記データを前記第2バッファメモリに格納することを特徴とする情報処理システム。
An information processing system comprising a computing means, a memory bus composed of a plurality of channels, and a first information processing device and a second information processing device connected to the memory bus,
The first information processing apparatus
First external memory control means for controlling a first external memory, which is a memory to which an address in a first address space is assigned and which stores information used by the computing means;
A first buffer memory which is assigned an address on a second address space used by the arithmetic means and temporarily holds data read from the first external memory;
Whether the command issued by the computing means is acquired via the memory bus, and the command address in the first address space specified in the command is included in the first address range corresponding to the first external memory First address range determination means for determining whether or not,
A first transfer permission for permitting transfer of data from the first external memory to the first buffer memory when the first address range determining means determines that the command address is included in the first address range; Means,
The first external memory control means reads data corresponding to the command address from the first external memory when transfer of the data is permitted by the first transfer permission means, and reads the read data to the first buffer. Store it in memory,
The second information processing apparatus
Second external memory control means for controlling a second external memory which is a memory to which an address in the first address space is assigned and which stores information used by the computing means;
A second buffer memory which is assigned an address on the second address space and temporarily holds data read from the second external memory;
The command issued by the computing means is acquired via the memory bus, and the command address on the first address space specified in the command is included in a second address range corresponding to the second external memory. Second address range determination means for determining whether or not
A second transfer permission for permitting data transfer from the second external memory to the second buffer memory when the second address range determining means determines that the command address is included in the second address range; Means,
The second external memory control means reads data corresponding to the command address from the second external memory when transfer of the data is permitted by the second transfer permission means, and reads the read data to the second buffer. An information processing system characterized by being stored in a memory.
前記演算手段は、前記第2アドレス空間上のアドレスを指定して、前記第1バッファメモリに格納されている前記データおよび前記第2バッファメモリに格納されている前記データを読み出すことを特徴とする請求項1に記載の情報処理システム。   The arithmetic means designates an address on the second address space, and reads the data stored in the first buffer memory and the data stored in the second buffer memory. The information processing system according to claim 1. 前記演算手段から前記第1情報処理装置および前記第2情報処理装置にアクセスする際のタイミングが同一であることを特徴とする請求項1または2に記載の情報処理システム。   3. The information processing system according to claim 1, wherein timings when the first information processing apparatus and the second information processing apparatus are accessed from the arithmetic unit are the same. 4. 前記第1外部メモリ制御手段は、前記演算手段により発行された前記コマンドにより前記第1アドレス空間上のコマンドアドレス列を生成し、
前記第1情報処理装置は、予め定められた条件に基づいて、前記第1外部メモリ制御手段により生成された前記コマンドアドレス列に含まれる各コマンドアドレスに対応するデータの書き込み先が第1バッファメモリおよび第2バッファメモリのいずれであるかを判定する第1バッファメモリ判定手段をさらに有し、
前記第1外部メモリ制御手段は、前記第1バッファメモリ判定手段によりデータの書き込み先が前記第1バッファメモリであると判定された前記コマンドアドレスに対するデータを前記第1バッファメモリに書き込むことを特徴とする請求項1から3のいずれか一項に記載の情報処理システム。
The first external memory control means generates a command address string on the first address space by the command issued by the arithmetic means,
In the first information processing apparatus, a data write destination corresponding to each command address included in the command address sequence generated by the first external memory control means is based on a predetermined condition. And first buffer memory determining means for determining which of the second buffer memory and the second buffer memory,
The first external memory control means writes data corresponding to the command address determined by the first buffer memory determination means to be data write destination to the first buffer memory. The information processing system according to any one of claims 1 to 3.
前記第1バッファメモリ判定手段は、前記アドレス列のうち予め定められた順番に配置されたコマンドアドレスを、前記第1バッファメモリに書き込むべき前記データに対応するコマンドアドレスとして選択することを特徴とする請求項4に記載の情報処理システム。   The first buffer memory determining means selects a command address arranged in a predetermined order in the address string as a command address corresponding to the data to be written to the first buffer memory. The information processing system according to claim 4. 前記第1バッファメモリ判定手段により前記データの書き込み先が前記第1バッファメモリであると判定された前記コマンドアドレスが、前記第1アドレス判定手段により前記第1アドレス範囲に含まれないと判定された場合に、当該コマンドアドレスを前記第2情報処理装置に転送する第1転送手段をさらに備え、
前記第2情報処理装置は、前記第1情報処理装置から前記コマンドアドレスを取得し、前記第2外部メモリ制御手段により前記第2外部メモリから読み出された、前記コマンドアドレスに対するデータを前記第1情報処理装置に転送する第2転送手段をさらに備え、
前記第1情報処理装置の前記第1転送手段は、前記第2転送手段から前記コマンドアドレスに対するデータを取得し、取得した前記データを前記第1バッファメモリに格納することを特徴とする請求項5に記載の情報処理システム。
The command address determined by the first buffer memory determining means as the data write destination is the first buffer memory is determined not to be included in the first address range by the first address determining means. A first transfer means for transferring the command address to the second information processing apparatus,
The second information processing apparatus acquires the command address from the first information processing apparatus, and reads data corresponding to the command address read from the second external memory by the second external memory control unit. A second transfer means for transferring to the information processing apparatus;
6. The first transfer unit of the first information processing apparatus acquires data for the command address from the second transfer unit, and stores the acquired data in the first buffer memory. Information processing system described in 1.
前記第1情報処理装置は、前記第1アドレス判定手段により前記コマンドアドレスが前記第1アドレス範囲に含まれないと判定された場合に、前記第2情報処理装置に前記コマンドアドレスを転送する第1転送手段をさらに備え、
前記第2情報処理装置は、前記第1情報処理装置から前記コマンドアドレスを取得し、前記第2外部メモリ制御手段により前記第2外部メモリから読み出された、前記コマンドアドレスに対するデータを前記第1情報処理装置に転送する第2転送手段をさらに備え、
前記第1情報処理装置の前記第1転送手段は、前記第2転送手段から前記コマンドアドレスに対するデータを取得し、取得した前記データを前記第1バッファメモリに格納することを特徴とする請求項1に記載の情報処理システム。
The first information processing apparatus transfers the command address to the second information processing apparatus when the first address determination unit determines that the command address is not included in the first address range. Further comprising a transfer means,
The second information processing apparatus acquires the command address from the first information processing apparatus, and reads data corresponding to the command address read from the second external memory by the second external memory control unit. A second transfer means for transferring to the information processing apparatus;
2. The first transfer unit of the first information processing apparatus acquires data corresponding to the command address from the second transfer unit, and stores the acquired data in the first buffer memory. Information processing system described in 1.
前記第1情報処理装置の前記第1転送手段および前記第2情報処理装置の前記第2転送手段は、専用線を介して前記データの転送を行うことを特徴とする請求項7に記載の情報処理システム。   The information according to claim 7, wherein the first transfer unit of the first information processing apparatus and the second transfer unit of the second information processing apparatus transfer the data via a dedicated line. Processing system. 前記第1情報処理装置の前記第1転送手段および前記第2情報処理装置の前記第2転送手段は、ネットワークを介して前記データの転送を行うことを特徴とする請求項7に記載の情報処理システム。   8. The information processing according to claim 7, wherein the first transfer unit of the first information processing apparatus and the second transfer unit of the second information processing apparatus transfer the data via a network. system. 前記演算手段は、所定のブロックサイズのブロックデータが前記第1バッファメモリに格納された場合に、前記第1バッファメモリから前記ブロックのデータを読み出すことを特徴とする請求項1から9のいずれか一項に記載の情報処理システム。   The said calculating means reads the data of the said block from the said 1st buffer memory, when the block data of a predetermined | prescribed block size are stored in the said 1st buffer memory. The information processing system according to one item. 前記第1の情報処理装置および前記第2の情報処理装置は、それぞれ独立の電子回路基板上に形成されていることを特徴とする請求項1から10のいずれか一項に記載の情報処理システム。   The information processing system according to any one of claims 1 to 10, wherein the first information processing apparatus and the second information processing apparatus are formed on independent electronic circuit boards, respectively. . 複数チャネルで構成されるメモリバスを介して演算手段に接続する情報処理装置であって、
第1アドレス空間上のアドレスを割り当てられたメモリであって、前記演算手段により利用される情報を格納するメモリである外部メモリを制御する外部メモリ制御手段と、
前記演算手段により利用される第2アドレス空間上のアドレスを割り当てられ、前記外部メモリから読み出されたデータを一時的に保持するバッファメモリと、
前記演算手段により発行されたコマンドを前記メモリバスを介して取得し、前記コマンドにおいて指定された前記第1アドレス空間上のコマンドアドレスが前記外部メモリに対応するアドレス範囲に含まれるか否かを判定するアドレス範囲判定手段と、
前記アドレス範囲判定手段により前記コマンドアドレスが前記アドレス範囲に含まれると判定された場合に、前記外部メモリから前記バッファメモリへのデータの転送を許可する転送許可手段と
を備え、
前記外部メモリ制御手段は、前記転送許可手段により前記データの転送が許可された場合に、前記外部メモリから前記コマンドアドレスに対応するデータを読み出し、読み出した前記データを前記バッファメモリに格納することを特徴とする情報処理装置。
An information processing apparatus connected to a calculation means via a memory bus composed of a plurality of channels,
An external memory control means for controlling an external memory which is a memory to which an address on the first address space is assigned and which stores information used by the arithmetic means;
A buffer memory that is assigned an address on a second address space used by the arithmetic means and temporarily holds data read from the external memory;
The command issued by the arithmetic means is acquired via the memory bus, and it is determined whether or not the command address in the first address space specified in the command is included in the address range corresponding to the external memory. Address range determination means to perform,
Transfer permission means for permitting transfer of data from the external memory to the buffer memory when the address range determination means determines that the command address is included in the address range;
The external memory control means reads the data corresponding to the command address from the external memory and stores the read data in the buffer memory when the transfer of the data is permitted by the transfer permission means. A characteristic information processing apparatus.
前記アドレス範囲判定手段により前記コマンドアドレスが前記アドレス範囲に含まれないと判定された場合に、外部から前記コマンドアドレスに対するデータを取得し、取得した前記データを前記バッファメモリに格納する転送手段をさらに備えたことを特徴とする請求項12に記載の情報処理装置。   Transfer means for acquiring data for the command address from the outside and storing the acquired data in the buffer memory when the address range determination means determines that the command address is not included in the address range The information processing apparatus according to claim 12, comprising the information processing apparatus. 演算手段と、複数チャネルで構成されるメモリバスとを備えた情報処理システムであって、
前記メモリバスに接続され、前記演算手段により利用される第2アドレス空間上のアドレスを割り当てられ、前記外部メモリから読み出されたデータを一時的に保持する第1バッファメモリを有する第1メモリバスインタフェースと、
前記第2アドレス空間上のアドレスを割り当てられ、前記外部メモリから読み出されたデータを一時的に保持する第2バッファメモリを有する第2メモリバスインタフェースと、
前記第1メモリバスインタフェースおよび前記第2メモリバスインタフェースに接続され、第1アドレス空間上のアドレスを割り当てられた外部メモリであってかつ前記演算手段により利用される情報を格納する外部メモリからデータを読み出し、当該データを前記第1バッファメモリおよび前記第2バッファメモリに格納する外部メモリ制御手段と
を備えたことを特徴とする情報処理システム。
An information processing system comprising a computing means and a memory bus composed of a plurality of channels,
A first memory bus having a first buffer memory connected to the memory bus, assigned an address on a second address space used by the computing means, and temporarily holding data read from the external memory Interface,
A second memory bus interface having a second buffer memory that is assigned an address on the second address space and temporarily holds data read from the external memory;
Data from an external memory connected to the first memory bus interface and the second memory bus interface and assigned an address in a first address space and storing information used by the computing means An information processing system comprising: external memory control means for reading and storing the data in the first buffer memory and the second buffer memory.
前記外部メモリ制御手段は、前記外部メモリから読み出したデータを前記第1のバッファメモリに接続された第1のメモリバスのビット幅および前記第2のバッファメモリに接続された第2のメモリバスのビット幅ごとに切り替えて、第1バッファメモリおよび前記第2バッファメモリに格納することを特徴とする請求項14に記載の情報処理システム。   The external memory control means includes a bit width of a first memory bus connected to the first buffer memory and data read from the external memory and a second memory bus connected to the second buffer memory. The information processing system according to claim 14, wherein the information is stored in the first buffer memory and the second buffer memory by switching for each bit width. 前記外部メモリ制御手段は、前記演算手段により発行されたコマンドにより前記第1アドレス空間上のコマンドアドレス列を生成し、
前記第1情報処理装置は、予め定められた条件に基づいて、前記外部メモリ制御手段により生成された前記アドレス列のうち、各コマンドアドレスに対応するデータの書き込み先が第1バッファメモリおよび第2バッファメモリのいずれであるかを判定するバッファメモリ判定手段をさらに備え、
前記外部メモリ制御手段は、前記バッファメモリ判定手段により判定された書き込み先に前記コマンドデータに対応するデータを書き込むことを特徴とする請求項14または15に記載の情報処理システム。
The external memory control means generates a command address string on the first address space by a command issued by the arithmetic means,
In the first information processing apparatus, the write destination of data corresponding to each command address in the address string generated by the external memory control means is based on a predetermined condition. Buffer memory determination means for determining which of the buffer memories is,
16. The information processing system according to claim 14, wherein the external memory control unit writes data corresponding to the command data in a write destination determined by the buffer memory determination unit.
前記バッファメモリ判定手段は、前記アドレス列のうち予め定められた順番に配置されたコマンドアドレスを、前記第1バッファメモリに書き込むべき前記データに対応するコマンドアドレスとして選択することを特徴とする請求項16に記載の情報処理システム。   The buffer memory determining unit selects a command address arranged in a predetermined order in the address string as a command address corresponding to the data to be written to the first buffer memory. 16. The information processing system according to 16. 前記演算手段は、前記外部メモリからのデータの読み出しを示すプリロードコマンドを前記第1メモリバスインタフェースに転送し、
外部メモリ制御手段は、
前記第1メモリバスインタフェースを介してプリロードコマンドを取得するコマンド取得手段と、
前記コマンド取得手段が取得した前記プリロードコマンドに基づいて、前記第1アドレス空間上のアドレスであるコマンドアドレスを生成するコマンドアドレス生成手段と、
前記コマンドアドレス生成手段により生成された前記コマンドアドレスに基づいて前記外部メモリにアクセスし、前記外部メモリから読み出した前記データを前記第1バッファメモリおよび前記第2バッファメモリに転送する転送制御手段と
をさらに有することを特徴とする請求項14から17のいずれか一項に記載の情報処理システム。
The arithmetic means transfers a preload command indicating reading of data from the external memory to the first memory bus interface,
External memory control means
Command acquisition means for acquiring a preload command via the first memory bus interface;
Command address generation means for generating a command address that is an address on the first address space based on the preload command acquired by the command acquisition means;
Transfer control means for accessing the external memory based on the command address generated by the command address generating means and transferring the data read from the external memory to the first buffer memory and the second buffer memory; The information processing system according to claim 14, further comprising:
前記演算手段は、前記第1バッファメモリに当該第1バッファメモリのデータサイズ分のデータが格納され、かつ前記第2バッファメモリに当該第2バッファメモリのデータサイズ分のデータが格納されると、前記第1バッファメモリおよび前記第2バッファメモリのデータを読み出すことを特徴とする請求項14から18のいずれか一項に記載の情報処理システム。   The computing means stores data for the data size of the first buffer memory in the first buffer memory, and stores data for the data size of the second buffer memory in the second buffer memory. The information processing system according to any one of claims 14 to 18, wherein data in the first buffer memory and the second buffer memory is read. 前記第1メモリバスインタフェース、前記第2メモリバスインタフェースおよび前記外部メモリ制御手段はそれぞれ独立の3つの電子回路基板上に形成されていることを特徴とする請求項14から19のいずれか一項に記載の情報処理システム。   20. The first memory bus interface, the second memory bus interface, and the external memory control unit are formed on three independent electronic circuit boards, respectively. The information processing system described. 演算手段と、複数チャネルで構成されるメモリバスとを備えた情報処理システムにおける情報処理方法であって、
前記演算手段により発行されたコマンドを前記メモリバスを介して取得する第1取得ステップと、
前記コマンドにおいて指定された第1アドレス空間上のコマンドアドレスが、前記第1アドレス空間上のアドレスを割り当てられたメモリであって、前記演算手段により利用される情報を格納するメモリである第1外部メモリに対応する第1アドレス範囲に含まれるか否かを判定する第1アドレス範囲判定ステップと、
前記第1アドレス範囲判定ステップにおいて前記コマンドアドレスが前記第1アドレス範囲に含まれると判定された場合に、前記第1外部メモリから、前記演算手段により利用される第2アドレス空間上のアドレスを割り当てられた第1バッファメモリであって、前記第1外部メモリから読み出されたデータを一時的に保持する前記第1バッファメモリへのデータの転送を許可する第1転送許可ステップと、
前記第1転送許可ステップにおいて前記データの転送が許可された場合に、前記第1外部メモリから前記コマンドアドレスに対するデータを読み出し、読み出した前記データを前記第1バッファメモリに格納する第1外部メモリ制御ステップと、
前記演算手段により発行された前記コマンドを前記メモリバスを介して取得する第2取得ステップと、
前記コマンドにおいて指定された前記コマンドアドレスが、前記第1アドレス空間上のアドレスを割り当てられたメモリであって、前記演算手段により利用される情報を格納するメモリである第2メモリに対応する第2アドレス範囲に含まれるか否かを判定する第2アドレス判定ステップと、
前記第2アドレス範囲判定ステップにおいて前記コマンドアドレスが前記第2アドレス範囲に含まれると判定された場合に、前記第2外部メモリから、前記第2アドレス空間上のアドレスを割り当てられた第2バッファメモリであって、前記第2外部メモリから読み出されたデータを一時的に保持する前記第2バッファメモリへのデータの転送を許可する第2転送許可ステップと、
前記第2転送許可ステップにおいて前記データの転送が許可された場合に、前記第2外部メモリから前記コマンドアドレスに対するデータを読み出し、読み出した前記データを前記第2バッファメモリに格納する第2外部メモリ制御ステップと
を有することを特徴とする情報処理方法。
An information processing method in an information processing system comprising a computing means and a memory bus composed of a plurality of channels,
A first acquisition step of acquiring a command issued by the computing means via the memory bus;
A first external address which is a memory in which a command address in the first address space designated in the command is assigned an address in the first address space and which stores information used by the computing means A first address range determination step for determining whether or not the first address range corresponding to the memory is included;
When it is determined in the first address range determination step that the command address is included in the first address range, an address on the second address space used by the calculation means is allocated from the first external memory. A first transfer permission step of permitting transfer of data to the first buffer memory, which temporarily holds data read from the first external memory,
First external memory control for reading data corresponding to the command address from the first external memory and storing the read data in the first buffer memory when transfer of the data is permitted in the first transfer permission step Steps,
A second acquisition step of acquiring the command issued by the computing means via the memory bus;
The command address specified in the command is a memory to which an address in the first address space is assigned, and corresponds to a second memory corresponding to a second memory that stores information used by the computing means. A second address determination step of determining whether or not the address range is included;
A second buffer memory to which an address in the second address space is allocated from the second external memory when it is determined in the second address range determining step that the command address is included in the second address range; A second transfer permission step for permitting transfer of data to the second buffer memory that temporarily holds data read from the second external memory;
Second external memory control for reading data corresponding to the command address from the second external memory and storing the read data in the second buffer memory when transfer of the data is permitted in the second transfer permission step And an information processing method.
複数チャネルで構成されるメモリバスを介して演算手段に接続する情報処理装置における情報処理方法であって、
前記演算手段により発行されたコマンドを前記メモリを介して取得する取得ステップと、
前記コマンドにおいて指定された第1アドレス空間上のコマンドアドレスが、前記第1アドレス空間上のアドレスを割り当てられたメモリであって、前記演算手段により利用される情報を格納するメモリである外部メモリに対応するアドレス範囲に含まれるか否かを判定するアドレス範囲判定ステップと、
前記アドレス範囲判定ステップにおいて前記コマンドアドレスが前記アドレス範囲に含まれると判定した場合に、前記外部メモリから前記第2アドレス空間上のアドレスを割り当てられたバッファメモリであって前記外部メモリから読み出されたデータを一時的に保持するバッファメモリへのデータの転送を許可する転送許可ステップと、
前記転送許可ステップにおいて前記データの転送が許可された場合に、前記外部メモリから前記コマンドアドレスに対応するデータを読み出し、前記演算手段が前記アドレス空間上のアドレスを指定してデータを読み出し可能なバッファメモリであって、かつ前記演算手段により利用されるアドレス空間にマップされ、前記外部メモリから読み出された情報を一時的に保持する前記バッファメモリに、読み出したデータを格納する外部メモリ制御ステップと
を有することを特徴とする情報処理方法。
An information processing method in an information processing apparatus connected to a calculation means via a memory bus composed of a plurality of channels,
An acquisition step of acquiring the command issued by the computing means via the memory;
The command address in the first address space specified in the command is a memory to which an address in the first address space is assigned, and is stored in an external memory that is a memory for storing information used by the arithmetic means. An address range determination step for determining whether or not it is included in the corresponding address range;
When it is determined in the address range determination step that the command address is included in the address range, the buffer memory is allocated from the external memory with an address in the second address space, and is read from the external memory. A transfer permission step for permitting the transfer of data to a buffer memory that temporarily holds the received data;
A buffer from which data corresponding to the command address is read from the external memory when the data transfer is permitted in the transfer permission step, and the arithmetic means designates an address in the address space and can read the data An external memory control step for storing the read data in the buffer memory which is a memory and is mapped to an address space used by the computing means and temporarily holds information read from the external memory; An information processing method characterized by comprising:
演算手段と、複数チャネルで構成されるメモリバスとを備えた情報処理システムにおける情報処理方法であって、
前記メモリバスに接続され、前記演算手段により利用される第2アドレス空間上のアドレスを割り当てられ、前記外部メモリから読み出されたデータを一時的に保持する第1バッファメモリを有する第1メモリバスインタフェースおよび前記第2アドレス空間上のアドレスを割り当てられ、前記外部メモリから読み出されたデータを一時的に保持する第2バッファメモリを有する第2メモリバスインタフェースに接続され、かつ第1アドレス空間上のアドレスを割り当てられた前記外部メモリであって、かつ前記演算手段により利用される情報を格納する前記外部メモリに接続された外部メモリ制御手段が、前記外部メモリからデータを読み出し、当該データを前記第1バッファメモリおよび前記第2バッファメモリに格納する格納ステップと、
前記演算手段が、前記格納ステップにおいて前記第1バッファメモリおよび前記第2バッファメモリに格納されたデータを読み出す読み出しステップと
を有することを特徴とする情報処理方法。
An information processing method in an information processing system comprising a computing means and a memory bus composed of a plurality of channels,
A first memory bus having a first buffer memory connected to the memory bus, assigned an address on a second address space used by the computing means, and temporarily holding data read from the external memory An interface and an address on the second address space are allocated and connected to a second memory bus interface having a second buffer memory for temporarily holding data read from the external memory, and on the first address space External memory control means connected to the external memory that stores the information used by the computing means and that reads the data from the external memory, and stores the data in the external memory Storage step for storing in the first buffer memory and the second buffer memory ,
The information processing method characterized in that the computing means includes a reading step of reading data stored in the first buffer memory and the second buffer memory in the storing step.
JP2005224706A 2005-08-02 2005-08-02 Information processing system, information processor and information processing method Pending JP2007041811A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005224706A JP2007041811A (en) 2005-08-02 2005-08-02 Information processing system, information processor and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005224706A JP2007041811A (en) 2005-08-02 2005-08-02 Information processing system, information processor and information processing method

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008144237A Division JP2008210413A (en) 2008-06-02 2008-06-02 Method and system for processing information

Publications (1)

Publication Number Publication Date
JP2007041811A true JP2007041811A (en) 2007-02-15

Family

ID=37799738

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005224706A Pending JP2007041811A (en) 2005-08-02 2005-08-02 Information processing system, information processor and information processing method

Country Status (1)

Country Link
JP (1) JP2007041811A (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07152491A (en) * 1993-11-29 1995-06-16 Hitachi Ltd Virtual disk system
JPH10283272A (en) * 1997-04-01 1998-10-23 Hitachi Ltd Composite computer system and composite i/o system
JP2004054949A (en) * 2002-07-23 2004-02-19 Hewlett-Packard Development Co Lp Multiple hardware partitions under one input/output hub
JP2004272576A (en) * 2003-03-07 2004-09-30 Toshiba Corp Information processor and data transferring method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07152491A (en) * 1993-11-29 1995-06-16 Hitachi Ltd Virtual disk system
JPH10283272A (en) * 1997-04-01 1998-10-23 Hitachi Ltd Composite computer system and composite i/o system
JP2004054949A (en) * 2002-07-23 2004-02-19 Hewlett-Packard Development Co Lp Multiple hardware partitions under one input/output hub
JP2004272576A (en) * 2003-03-07 2004-09-30 Toshiba Corp Information processor and data transferring method

Similar Documents

Publication Publication Date Title
TWI249671B (en) Method and system for controlling memory accesses to memory modules having a memory hub architecture
JP5043302B2 (en) Controller for controlling non-volatile memory
JP5939305B2 (en) Information processing apparatus, parallel computer system, and information processing apparatus control method
JP2005050324A (en) Interface conversion system and its method
JP4587756B2 (en) Semiconductor integrated circuit device
JP4323241B2 (en) Memory controller for increasing bus bandwidth, data transmission method using the same, and computer system including the same
JP2008225906A (en) Information processing system, and core identification controller constituting the information processing system
EP2801032B1 (en) Bimodal functionality between coherent link and memory expansion
US20150074334A1 (en) Information processing device
JP2007041811A (en) Information processing system, information processor and information processing method
JP2008210413A (en) Method and system for processing information
JP2005332145A (en) Data transfer control circuit and data transfer method
JP2008009702A (en) Arithmetic processing system
JP4431492B2 (en) Data transfer unit that supports multiple coherency granules
JP2007079715A (en) Data transfer method, program and device
JP2006011926A (en) Serial data transfer system, serial data transfer device, serial data transfer method and image forming apparatus
JP3897028B2 (en) Information processing system, shared data processing method, and shared data processing program
JP4583981B2 (en) Image processing device
CN106407144A (en) Consistency message transmission method and system, bus interface controller and chip
US20090248919A1 (en) Method for external fifo acceleration
JP6037029B2 (en) Data transfer apparatus, information processing apparatus, and IO control method
JPH039453A (en) Data transfer controller
JPH10222460A (en) Data transfer controller
US7791974B2 (en) Recovery of existing SRAM capacity from fused-out blocks
JP2009205412A (en) Dram controller and memory system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080401

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080602

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090407