JP2007041811A - Information processing system, information processor and information processing method - Google Patents
Information processing system, information processor and information processing method Download PDFInfo
- 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
Links
Images
Landscapes
- Information Transfer Systems (AREA)
Abstract
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
しかしながら、上述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
第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
第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
第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
次に、第1メモリモジュール100の構成および処理について説明する。なお、第2メモリモジュール200の各部の構成および処理は、第1メモリモジュール100の対応する各部の構成および処理と同様である。
Next, the configuration and processing of the
第1メモリモジュール100の第1外部メモリ140〜143は、CPU11が利用するデータを格納している。第1情報処理装置150は、第1外部メモリ140〜143およびネットワークへのアクセスを制御する。第1情報処理装置150の第1メモリバスインタフェース120は、第1メモリバス16に送るデータを管理する。
The first
第1メモリバスインタフェース120の第1アドレス生成部121は、第1メモリバス16を介してCPU11からプリロードコマンドを取得する。ここで、プリロードとは、バッファメモリ122の最大データ容量分のデータがバッファメモリ122に格納されることをいう。例えば、バッファメモリ122が64ビットの容量である場合には、64ビットのデータが格納された場合にプリロード完了と判定される。
The first address generation unit 121 of the first
第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
第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
第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
第1バッファメモリ124は、第1外部メモリ制御部130により第1外部メモリ140〜143から読み出されたデータを一時的に格納する。第1バッファメモリ124に、所定のサイズ分のデータが格納されると、CPU11からのリードアクセスによりそのサイズ分のデータ、すなわちデータブロック単位でCPU11に一括転送される。ここで、バッファメモリ124のサイズは、CPUの最下位層キャッシュのラインサイズとすることが望ましい。
The
このように、第1メモリモジュール100はプリロードコマンドから生成されるコマンドアドレスが第1アドレス範囲内のアドレスである場合にのみプリロードコマンドに対する処理を行うので、CPU11が第1外部メモリ140〜143および第2外部メモリ240〜243の両方へのアクセスを含む1つのプリロードコマンドを発行した場合であっても、第1メモリモジュール100は自身が管理する第1外部メモリ140〜143に対する処理のみを行うことができる。
As described above, the
このように、第1メモリモジュール100および第2メモリモジュール200は、CPU11により発行されたプリロードコマンドのうち、それぞれ自身が管理する外部メモリ140〜143,240〜243のアドレスに対する処理のみを担当する。すなわち、第1メモリバスインタフェース120および第2メモリバスインタフェース220は協調して処理を行う。
As described above, the
図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
このように、第1外部メモリ制御部130は、CPU11により発行されたプリロードコマンドから生成されたコマンドアドレスにより所定のデータを読み出し、第1バッファメモリ124に書き込む。
As described above, the first external
第1外部メモリ制御部130は、第1外部メモリ140〜143対してデータ単位でアクセスし、必要なデータを第1バッファメモリ124に書き込む。第1バッファメモリ124のサイズ分のデータが格納されると、CPU11からのリード要求に応じて第1バッファメモリ124に格納されているデータがCPU11に転送される。このとき、第1バッファメモリ124のデータは、第1バッファメモリ124のサイズ分のデータ、すなわちデータブロック単位で一括転送される。
The first external
CPU11がキャッシュライン単位で第1メモリバス16を介してデータを読み出す場合には、1つのキャッシュライン中の一部にしか必要なデータが格納されていない場合がある。しかしこの場合でも、このキャッシュライン全体を読み出さなければならない。このためキャッシュライン単位の転送は効率が悪い。
When the
これに対し本実施の形態の情報処理システム1は、第1バッファメモリ124においてプリロードが完了した後で、第1バッファメモリ124のデータをデータブロック単位で転送するので、必要なデータのみが第1メモリバス16に送出される。したがって、転送効率を向上させることができる。
On the other hand, the
図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
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
つまり、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
第1メモリバス16に接続されている第1メモリモジュール100および第2メモリバス17に接続されている第2メモリモジュール200のタイミング仕様は同一に設定されている。
The timing specifications of the
例えば第1メモリバス16および第2メモリバス17がそれぞれ64ビットのデータ幅を有するとする。このとき、BIOS経由でノースブリッジ12が2本のメモリバス16,17をデュアルチャネルロックステップモードで動作するように設定する。この場合、2本のメモリバス16,17は、CPU11に対し128ビットの1本のメモリバスであるが如く動作する。
For example, assume that the
仮に第1メモリモジュール100および第2メモリモジュール200に異なるタイミング仕様を設定した場合には、2本のメモリバス16,17はCPU11に対し64ビットの1本のメモリバスであるが如く動作する。すなわち、タイミング仕様を同一とした場合に比べて処理効率が低下する。すなわち、タイミング仕様を同一とした場合には、タイミング仕様が異なる場合に比べて処理効率の向上を図ることができる。
If different timing specifications are set for the
ここで、タイミング仕様とは、例えば、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
第1メモリモジュール100の第1ネットワーク制御部110は、この第1外部メモリ140〜143にアクセスして送受信に関わるデータを読み書きする。さらに、CPU11が制御用のデータを第1ネットワーク制御部110に対して読み書きすることにより、第1ネットワーク制御部110が第1外部メモリ140〜143にアクセスしつつ、CPU11から指示された通信を実行することでネットワークインタフェースとしての機能を果たす。
The first
図4は、情報処理システム1によるプリロード処理を示すフローチャートである。なお、プリロード処理においては、CPU11によって発行されたプリロードコマンドは、第1メモリモジュール100および第2メモリモジュール200に転送される。プリロードコマンドを取得した後の第1メモリモジュール100および第2メモリモジュール200の処理は同様である。そこでここでは、第1メモリモジュール100の処理について説明する。なお、プリロードコマンドとしてベクトルロードコマンドが発行された場合について説明する。
FIG. 4 is a flowchart showing preload processing by the
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
第1メモリモジュール100において、ベクトルロードコマンドが起動され、ベクトルロードコマンドにおいてアクセスすべきコマンドアドレスが生成される。第1メモリバスインタフェース120の第1アドレス範囲判定部122は、ベクトルロードコマンドから生成されたコマンドアドレスが第1アドレス範囲内のアドレスであるか否かを判定する。
In the
コマンドアドレスが第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
一方、ステップ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
第1メモリモジュール100は以上の処理を、ベクトルロードコマンドから生成されたすべてのコマンドアドレスに対して行う。
The
一方、CPU11は、第1メモリバスインタフェース120の第1バッファメモリ124においてプリロードが完了したか否かを監視する(ステップS120)。CPU11は、プリロードが完了したと判定した場合に(ステップS122,Yes)、リードコマンドを発行する(ステップS124)。
On the other hand, the
具体的には、第1バッファメモリ124の一部のデータブロック(例えば8バイト)ごとにフラグを設ける。このフラグは、プリロードが完了したか否かを示すものである。CPU11は、このフラグをリードすることにより、各データブロックのプリロードが完了したか否か、すなわちデータブロックにデータが格納されたか否かを監視する。
Specifically, a flag is provided for each partial data block (for example, 8 bytes) in the
そして、プリロード完了を示す値になったことが確認された場合に、実際のリードコマンドを発行し、対応するデータブロックを得る。このようにプリロードの完了を監視することにより、プリロードが完了する前にリードコマンドを発行するのを防止することができる。すなわち、プリロード完了が遅延した場合であっても柔軟に対応することができる。 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
以上のようにCPU11は、リードコマンドを発行し(ステップS124)、ノースブリッジ12および第1メモリバス16を介してリードコマンドを第1メモリモジュール100に転送する(ステップS126)。第1メモリモジュール100は、リードコマンドを取得すると、リードコマンドに対応するデータをCPU11に返す(ステップS1128)。すなわち、第1バッファメモリ124に格納されているデータをCPU11に転送する。以上で、情報処理システム1におけるプリロード処理が完了する。
As described above, the
CPU11が取得するデータブロックにおいては、ベクトルロードコマンドから生成されたコマンドアドレスのうち第1外部メモリ140〜143に対応するアドレスのデータがベクトルロードコマンドにおけるコマンドアドレスの順番に配列されている。すなわち、CPU11は、コマンドアドレス順に第1外部メモリ140〜143に対応するデータを取得することができる。
In the data block acquired by the
図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
本実施の形態にかかる情報処理システム1においては、このように異なるメモリバス16,17を介して接続された外部メモリ140〜143,240〜243へのアクセスが含まれる1つのベクトルロードコマンドに対する処理を行うことができる。図4に示すベクトルロードコマンドが発行された場合には、第1メモリモジュール100および第2メモリモジュール200は、それぞれ自身が管理する外部メモリに対する処理のみを行う。
In the
図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
このように、CPU11は、第1外部メモリ140〜143および第2外部メモリ240〜243へのアクセスを含むベクトルロードコマンドを一度発行することにより、対応するデータをアクセス順に対応した順番でデータをリードすることができる。さらに上述のように、64ビットの2本のメモリバス16,17は、128ビットの1本のメモリバスのように動作する。
As described above, the
一方、本実施の形態にかかる情報処理システム1のように各メモリモジュールが処理すべきアドレス範囲を判定する機能を有さない場合には、図4のようなコマンドアドレスの順番にデータを取得したい場合には、各外部メモリ140〜143,240〜243に対するベクトルロードコマンドを発行する必要がある。すなわち8回ベクトルロードコマンドを発行する必要がある。したがって、処理効率が低下してしまう。これに対し、本実施の形態にかかる情報処理システム1は、1つのベクトルロードコマンドを発行すればよく、処理の効率化を図ることができる。
On the other hand, if the
以上、本発明を実施の形態を用いて説明したが、上記実施の形態に多様な変更または改良を加えることができる。 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
ケーブル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
例えば、2本の64ビット幅メモリバス16,17をデュアルチャネルロックステップモードで動作するように設定した場合には、8バイトおきにコマンドアドレスを第1メモリバス16および第2メモリバス17に割り振る。
For example, when two 64-bit
したがって、CPU11により発行されたプリロードコマンドにより生成されるコマンドアドレスが第1メモリモジュール100および第2メモリモジュール200のうちいずれか一方のみに集中した場合には、他方に接続されたメモリバスは有効に利用されず、処理効率が低下してしまう。
Therefore, when the command address generated by the preload command issued by the
そこで、実施の形態2にかかる情報処理システム1においては、例えば第1メモリバスインタフェース120が取得したプリロードコマンドにより生成されたコマンドアドレスが第1メモリモジュール100中の第1外部メモリ140〜143に対するアドレス範囲、すなわち第1アドレス範囲に含まれない場合には、第1ネットワーク制御部110がケーブル300等を介して第2外部メモリ240〜243に遠隔リードアクセスし、自身の第1バッファメモリ124にコマンドアドレスに対するデータをロードすることとする。
Therefore, in the
同様に、第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
図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
実施の形態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
コマンドアドレスが第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
図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
第2メモリモジュール200の第2ネットワーク制御部210が遠隔リードアクセス要求を取得すると、第2外部メモリ制御部230は、遠隔リードアクセス要求に含まれるコマンドアドレス範囲に対応するデータを第2外部メモリ240〜243から読み出す(ステップS142)。そして、第2ネットワーク制御部210は、第2外部メモリ240〜243から読み出されたデータをケーブル300を介して第1メモリモジュール100に転送する(ステップS144)。
When the second
第1メモリモジュール100の第1ネットワーク制御部110は、第2メモリモジュール200からデータを取得すると、取得したデータを第1バッファメモリ124に格納する(ステップS146)。以上で遠隔リードアクセス処理(ステップS116)が完了する。
When acquiring the data from the
このように、実施の形態2にかかる情報処理システム1は、第1アドレス範囲判定部122がコマンドアドレス範囲が第1アドレス範囲に含まれないと判断した場合には、第2外部メモリ240〜243にアクセスし、データを読み出すので、処理効率を向上させることができる。
As described above, in the
さらに、第2外部メモリ240〜243から読み出されたデータは、ベクトルロードコマンドにおけるコマンドアドレスの配列順に第1バッファメモリ124に格納される。したがって、CPU11は、ベクトルロードコマンド順にデータを取得することができるので、データの並べ替え操作が不要となる。すなわち、処理の効率化を図ることができる。
Further, the data read from the second
図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
図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
第1メモリモジュール100は、自身の外部メモリでない第2外部メモリ240,242に対するベクトルロードコマンドを起動した場合には、第1ネットワーク制御部110を介して第2メモリモジュール200から対応するデータを取得し、第1バッファメモリ124に格納する。
When the
第2メモリモジュール200は、8回のアクセスのうち偶数番のアクセス、すなわち第1外部メモリ141、第1外部メモリ143、第2外部メモリ241、第2外部メモリ243へのアクセスが割り当てられる。そして、第1メモリモジュール100と同様、自身の外部メモリでない第1外部メモリ141,143に対するベクトルロードコマンドを起動した場合には、第2ネットワーク制御部210を介して第1メモリモジュール100から対応するデータを取得し、第2バッファメモリ224に格納する。
The
以上のように、第1メモリモジュール100および第2メモリモジュール200のいずれか一方にアクセスが集中している場合であっても、第1メモリバス16および第2メモリバス17を利用し第1メモリモジュール100および第2メモリモジュール200が協働して処理するので、処理の効率化を図ることができる。
As described above, even when access is concentrated on one of the
すなわち、例えば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
なお、実施の形態2にかかる情報処理システム1のこれ以外の構成および処理は、実施の形態1にかかる情報処理システム1の構成および処理と同様である。
The remaining configuration and processing of the
以上、本発明を実施の形態を用いて説明したが、上記実施の形態に多様な変更または改良を加えることができる。 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
図10は、第2の変更例にかかる情報処理システム1の全体構成を示す図である。第2の変更例にかかる情報処理システム1の第1メモリバスインタフェース120は、第1バッファメモリ判定部126をさらに有している。また、第2メモリバスインタフェース220は、第2バッファメモリ判定部226をさらに有している。
FIG. 10 is a diagram illustrating an overall configuration of the
第1メモリバスインタフェース120の第1バッファメモリ判定部126は、いずれのコマンドアドレスが自身に割り振られたものかを判断する。同様に、メモリバスインタフェース220の第2バッファメモリ判定部226は、いずれのコマンドアドレスが自身に割り振られたものかを判断する。
The first buffer memory determination unit 126 of the first
コマンドアドレス列に含まれるコマンドアドレスが8バイトおきに第1メモリバス16および第2メモリバス17に割り振られた場合には、第1メモリバス16に割り振られたコマンドアドレス、すなわち対応するデータを第1バッファメモリ124に格納すべきコマンドアドレスに対しては、第1バッファメモリ判定部126は、自身が処理すべきコマンドアドレスと判定する。
When command addresses included in the command address string are allocated to the
第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
さらに、第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
第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
このように、第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
第1メモリバスインタフェース120は、第1バッファメモリ124を有している。第2メモリバスインタフェース220は、第2バッファメモリ224を有している。外部メモリ制御部400は、アドレス生成部410と、転送制御部412と、バッファメモリ判定部414とを有している。
The first
アドレス生成部410は、CPU11により発行されたプリロードコマンドを第1メモリバスインタフェース120を介して取得すると、プリロードコマンドに基づいてアドレスを生成する。
When the
転送制御部412は、アドレス生成部410により生成されたアドレスに基づいて、外部メモリ421〜428にアクセスする。そして、転送制御部412は、外部メモリ421〜428から取得したデータを第1メモリバスインタフェース120の第1バッファメモリ124または第2メモリバスインタフェースの第2バッファメモリ224に格納する。
The
バッファメモリ判定部414は、転送制御部412がデータを書き込むべき書き込み先として第1バッファメモリ124または第2バッファメモリ22を指定する。
The buffer
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
転送制御部412は、バッファメモリ判定部414の指定に基づいて、外部メモリ421〜428から取得したデータをコマンドアドレスの順に下位ビットの小さいアドレスに格納していく。すなわち、まず第1バッファメモリ124のアドレス0〜7の領域に順にデータを格納し、第1バッファメモリ124のデータサイズ分のデータが格納されると、次に、第2バッファメモリ224のアドレス8〜15の領域に順にデータを格納する。このように、バッファメモリ判定部414は、第1バッファメモリ124および第2バッファメモリ224におけるデータの格納状況に応じて予め定められた条件にしたがい、次にデータを格納すべき領域を決定する。
The
図12は、実施の形態3にかかる情報処理システム1によるプリロード処理を示すフローチャートである。CPU11によりベクトルロードコマンドが発行されると(ステップS200)、ベクトルロードコマンドは、ノースブリッジ12、第1メモリバス16および第1メモリバスインタフェース120を介して外部メモリ制御部400に転送される(ステップ202)。
FIG. 12 is a flowchart of the preload process performed by the
外部メモリ制御部400において、ベクトルロードコマンドが起動され、ベクトルロードコマンドにおいてアクセスすべきコマンドアドレスが生成される(ステップS204)。次に、データの転送先を決定する(ステップS206)。具体的には、外部メモリ421〜428から取得したデータを第1バッファメモリ124および第2バッファメモリ224のいずれに格納するかを指定する。
In external
そして、転送制御部412は、決定された転送先に外部メモリ421〜428から読み出されたデータを格納する(ステップS208)。以上の処理を、ベクトルロードコマンドから生成されたすべてのコマンドアドレスに対して行う。
Then, the
CPU11は、プリロードが完了したか否かを監視する。CPU11は、プリロードが完了したと判定した場合に(ステップS210,Yes)、リードコマンドを発行する(ステップS212)。具体的には、CPU11は、第1バッファメモリ124におけるプリロードが完了し、かつ第2バッファメモリ224におけるプリロードが完了した場合にプリロードが完了したと判断する。
The
リードコマンドは、第1メモリバスインタフェース120および第2メモリバスインタフェース220に転送される(ステップS214)。そして、第1メモリバスインタフェース120は、第1バッファメモリ124に格納されているデータをブロック単位で転送する。同様に、第2メモリバスインタフェース220は、第2バッファメモリ224に格納されているデータをブロック単位で転送する(ステップS216)。以上で、情報処理システム1におけるプリロード処理が完了する。
The read command is transferred to the first
このように、実施の形態3にかかる情報処理システム1によれば、第1メモリバスインタフェース120、第2メモリバスインタフェース220および外部メモリ制御部400をそれぞれ別個のLSI上に形成することにより、情報処理システム1全体の小型化を図ることができる。また、外部メモリ制御部400は、CPU11アドレス空間上の連続したアドレス領域にマップされた第1バッファメモリ124および第2バッファメモリ224に連続してデータを格納し、これらのデータをデータブロック単位でCPU11に転送することができるので、転送効率を向上させることができる。
As described above, according to the
なお、実施の形態3にかかる情報処理システム1のこれ以外の構成および処理は、他の実施の形態にかかる情報処理システム1の構成および処理と同様である。
The other configuration and processing of the
以上、本発明を実施の形態を用いて説明したが、上記実施の形態に多様な変更または改良を加えることができる。 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 情報処理システム
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
Claims (23)
前記第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.
前記第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.
前記第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.
前記第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アドレス空間上のアドレスを割り当てられたメモリであって、前記演算手段により利用される情報を格納するメモリである外部メモリを制御する外部メモリ制御手段と、
前記演算手段により利用される第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.
前記メモリバスに接続され、前記演算手段により利用される第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バッファメモリのいずれであるかを判定するバッファメモリ判定手段をさらに備え、
前記外部メモリ制御手段は、前記バッファメモリ判定手段により判定された書き込み先に前記コマンドデータに対応するデータを書き込むことを特徴とする請求項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メモリバスインタフェースを介してプリロードコマンドを取得するコマンド取得手段と、
前記コマンド取得手段が取得した前記プリロードコマンドに基づいて、前記第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アドレス空間上のコマンドアドレスが、前記第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.
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)
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 |
-
2005
- 2005-08-02 JP JP2005224706A patent/JP2007041811A/en active Pending
Patent Citations (4)
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 |