WO2007080718A1 - Bridge, information processor, information processing system, and method of managing global address - Google Patents

Bridge, information processor, information processing system, and method of managing global address Download PDF

Info

Publication number
WO2007080718A1
WO2007080718A1 PCT/JP2006/323947 JP2006323947W WO2007080718A1 WO 2007080718 A1 WO2007080718 A1 WO 2007080718A1 JP 2006323947 W JP2006323947 W JP 2006323947W WO 2007080718 A1 WO2007080718 A1 WO 2007080718A1
Authority
WO
WIPO (PCT)
Prior art keywords
address
access request
request packet
processor
identification number
Prior art date
Application number
PCT/JP2006/323947
Other languages
French (fr)
Japanese (ja)
Inventor
Takeshi Yamazaki
Hideyuki Saito
Yuji Takahashi
Hideki Mitsubayashi
Original Assignee
Sony Corporation
Sony Computer Entertainment Inc.
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 Sony Corporation, Sony Computer Entertainment Inc. filed Critical Sony Corporation
Publication of WO2007080718A1 publication Critical patent/WO2007080718A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses

Definitions

  • the present invention relates to an access technology between nodes on a computer network.
  • nodes that communicate with each other cannot see each other's resources such as memory and IO devices, and have no resource transparency.
  • processors in a computer network such as a multiprocessor system in which a plurality of processors are connected, there is no resource transparency between the processors, and therefore, a shared memory that can be accessed by each processor is provided. It is conceivable that data is transferred between processors via a PC. In this case, for example, when processor A wants to pass data to processor B, direct delivery is not possible. Processor A copies the data to shared memory and processor B reads the data from the shared memory and copies it. Processing is required, and overhead problems may occur as well.
  • the present invention has been made in view of the above circumstances, and an object thereof is to provide resource transparency between nodes on a computer network.
  • One embodiment of the present invention is a bridge.
  • This bridge relays the input / output node of a processor unit to the input / output node of a switching device to which a plurality of processor units are interconnected, and includes an upstream port, a conversion unit, and a downstream port. .
  • the upstream port is assumed to be one of the target nodes of the plurality of processor units from the processor unit on the premise of a global address space shared among the plurality of processor units to which the effective addresses of the processor units are mapped.
  • An access request packet specifying the effective address of is received.
  • the effective address is an address indicating a predetermined position in the effective address space.
  • the effective address space is a combination of a part of the memory space that is partially cut off from each of the storage means including the main memory and the like scattered in each processor unit.
  • One effective memory space corresponds to one processor unit. In other words, there are as many effective memory spaces as there are processor units, and each processor unit uses its own effective memory space as work memory. By optimizing the internal structure of the effective memory space, the corresponding processor unit can operate at maximum performance.
  • the conversion unit converts the effective address of the target node into a global address by adding the node identification number necessary for switching of the target node to the upstream port and the effective address of the target node.
  • the downstream port outputs a conversion unit and an access request packet in which a glow address is specified to the switching device.
  • the conversion unit accesses an access with a global address specified. You may want to store the identification number in the request packet.
  • the conversion unit receives the access request packet.
  • the upstream port may pass the application identification number acquired from the access request packet to the processor unit together with the effective address of the processor unit specified in the access request packet.
  • Another aspect of the present invention is an information processing apparatus.
  • a processor unit and an input / output bus of the processor unit are connected to each other by a plurality of processor units interconnected.
  • the bridge can be a bridge as described above.
  • the information processing system includes a plurality of processor units, a switching device that interconnects the plurality of processor units, and a bridge that relays the input / output bus of each processor unit to the input / output bus of the switching device.
  • This bridge can also be a bridge of the above-described embodiment.
  • the present invention can provide resource transparency between nodes on a computer network.
  • FIG. 1 is a diagram showing an information processing system used for explaining the outline of the present invention.
  • FIG. 2 is a diagram showing a configuration of nodes in the information processing system shown in FIG.
  • FIG. 3 is a diagram (part 1) illustrating the concept of a global address space.
  • FIG. 4 is a diagram showing a configuration of a bridge in the node shown in FIG.
  • FIG. 5 is a diagram showing a global address format corresponding to the global address space shown in FIG. 3.
  • FIG. 6 is a diagram (part 2) illustrating the concept of the global address space.
  • FIG. 7 is a diagram showing an example of a global address format corresponding to the global address space shown in FIG.
  • FIG. 8 is a diagram showing a configuration of an information processing system according to an embodiment of the present invention.
  • FIG. 9 is a diagram showing a configuration example of a node in the information processing system shown in FIG.
  • FIG. 10 is a diagram showing a configuration of a bridge in the node shown in FIG.
  • FIG. 11 is a diagram illustrating an example of a conversion table used when converting an effective address to a physical address and a conversion result.
  • This information processing system has a plurality of nodes 40 as an example here, and these nodes are connected by a switching device (hereinafter simply referred to as a switch) 50.
  • a switching device hereinafter simply referred to as a switch 50.
  • FIG. 2 shows the configuration of the node 40.
  • the node 40 includes a processor unit 30 and a bridge 20 that relays an input / output bus (not shown) of the processor unit 30 to an input / output bus (not shown) of the switch 50.
  • the processor unit 30 may be a single processor or may be composed of a plurality of processors.
  • FIG. 3 illustrates the concept of the global address space.
  • the effective address power of each processor unit 30 is mapped so as to be associated with the node to which this processor unit 30 belongs.
  • This global address space is shared among the processor units 30, and the address in the space is hereinafter referred to as a global address.
  • the processor unit 30 of the source node When accessing the target node, the processor unit 30 of the source node issues an access request packet specifying the effective address of the target node and outputs it to the bridge 20.
  • This access request packet is issued by, for example, DMA (direct 'memory' access). B) using architecture.
  • FIG. 4 shows the configuration of the bridge 20.
  • the bridge 20 includes an upstream port 22 that transmits / receives data to / from the processor unit 30 via the input / output bus of the processor unit 30, and a downstream port 26 that transmits data to / from the switch 50 via the input / output bus of the conversion unit 24 and switch 50. Is provided.
  • the upstream port 22 receives the access request packet issued by the processor unit 30, and the conversion unit 24 uses the effective address of the target node as a node identification number (hereinafter referred to as a node) of the target node for switching. By adding ID), the effective address of the target node is converted to a global address. Then, the downstream port 26 outputs an access request packet specifying this global address to the switch 50.
  • a node identification number hereinafter referred to as a node
  • the node ID can indicate the physical location of the node 40 in the network. For example, the number of the connection port to which the node is connected in the switch 50 can be used.
  • FIG. 5 shows a format of a global address. As shown in the figure, the global address consists of the node ID and effective address.
  • the downstream port 26 of the bridge 20 outputs an access request packet specifying such a global address to the switch 50, and the switch 50 reads the node ID included in the global address of the received access request packet. Then, the access request packet is transferred to the node 40 connected to the connection port indicated by the node ID.
  • the bridge 20 of the node 40 serving as the target node receives the access request packet through the downstream port 26.
  • the upstream port 22 outputs the effective address designated by the access request packet to the processor unit 30.
  • the conversion unit 24 may read out the effective address of the global address and pass it to the upstream port 22, and when the switch 50 transfers the access packet, only the effective address included in the global address is transmitted. It may be outputted to the bridge 20 so that the intervention of the conversion unit 24 is not required.
  • the access request packet may be directly passed to the processor unit 30 and the processor unit 30 may read the effective address.
  • the processor unit 30 converts the effective address into a physical address.
  • an area is allocated for each active application in a node that executes an application, specifically, a memory in a processor unit included in the node.
  • the technique proposed by the present inventor makes it easy to access an area allocated for this application between the same applications operating on different nodes in a distributed application system.
  • an application identification number (hereinafter referred to as application ID or APID) is introduced, and the global address space shown in FIG. 3 is logically divided using this application ID.
  • the application ID is assigned to each active application and uniquely identifies the application in the entire system. That is, the same application running on different nodes will have the same application ID.
  • FIG. 6 shows the concept of the global address space in this case.
  • the effective address on the right is the effective address space corresponding to each node and the application running on that node.
  • the central address space is a set of effective address spaces corresponding to the same application scattered in the information processing system.
  • the address space on the left is a set of address spaces corresponding to each application in the information processing system.
  • the processor unit 30 of the source node When accessing the target node, the processor unit 30 of the source node issues an access request packet specifying the effective address of the target node and outputs it to the bridge 20.
  • the conversion unit 24 of the bridge 20 adds the APID and the target node to the effective address of the target node.
  • the effective address of the target node is converted to a global address, this global address is specified via the downstream port, and the node of the source node that is the request source of the access
  • the access request packet with the ID added is output to switch 50.
  • FIG. 7 shows an example of a global address format. As shown in the figure, this global address is composed of an application ID (APID), a node ID, and an effective address.
  • API application ID
  • node ID node ID
  • effective address an effective address
  • the format of the global address is not limited to the example shown in FIG.
  • the A PID is included in the access request packet and can be read by the bridge 20 of the target node.
  • the format shown in Fig. 5 is used as the format of the global address, and the APID is stored in the access request packet.
  • the bridge 20 of the node 40 serving as the target node Upon receiving the access request packet, the bridge 20 of the node 40 serving as the target node reads the APID from the access request packet, and, along with this APID, the effective address specified by the access request packet as the node Pass to 40.
  • the processor unit 30 converts the effective address into a physical address of an area provided for the application corresponding to the access request source node ID or APID.
  • the processor unit may use an address conversion table for conversion when converting an effective address into a physical address.
  • a permission identification number indicating access permission Z prohibition to the physical address space that is the access request destination is added to this address conversion table.
  • the permission identification number is, for example, the node ID of the access request source node that permits access for each physical address space, or the access request source application.
  • APID which is the identification information of the client.
  • the processor unit converts the effective address to the physical address by referring to this conversion table, it corresponds to the effective address in the conversion request table and the access request node ID or APID to which the bridge power is also passed. Access to this effective address can be determined based on whether or not it matches the authorization identification number assigned to it.
  • each effective memory space is optimized so that the application operates across the nodes and the processor unit or the application operates at the maximum performance in each node.
  • the mutual access between the nodes in the effective memory space can be facilitated, and the area power allocated to a given application can be prevented from being accessed.
  • the configuration of the bridge can be simplified. Furthermore, the conversion table can be adjusted independently of the bridge on the processor unit side. Furthermore, even if nodes of different types of IO devices and memory sizes are mixed, access between nodes can be made possible by the bridge with the same configuration.
  • FIG. 8 shows a configuration of an information processing system according to an embodiment related to the present invention.
  • This information processing system includes a plurality of nodes 100 and a switch 80 that connects these nodes to form a network.
  • the node 100 is connected to the switch 80 by a connection bus (not shown), and this connection bus is, for example, a PCI Express (registered trademark) bus.
  • PCI Express registered trademark
  • FIG. 9 shows a configuration example of the node 100 in the information processing system shown in FIG.
  • the node 100 includes a bridge 110, a multi-core processor 120, and a main memory 180.
  • the multi-core processor 120 is formed in one chip, and includes a main processing unit PPE (Power Processing Element) 140, a plurality of, in the illustrated example, eight sub-processing units SPE (Synergistic Processing Element) 130, IO Interface (hereinafter referred to as IOIF) 160 and memory controller 170, which are connected by ring bus 150 Is done.
  • PPE Power Processing Element
  • SPE Synnergistic Processing Element
  • IOIF IO Interface
  • the main memory 180 is a shared memory of the processing units of the multi-core processor 120, and is connected to the memory controller 170.
  • the memory controller 170 mediates access to the main memory 180 by the PPE 140 and each SPE 130.
  • the main memory 180 is a multi-core processor 1
  • the force provided outside the 20 may be provided so as to be included in the multi-core processor 120.
  • the IOIF 160 is connected to the bridge 110 via an IOIF bus (not shown), and allows access between the nodes 100 in cooperation with the bridge 110.
  • the IOIF 160 includes an IO controller 1 64.
  • the SPE 130 includes a core 132, a low-power memory 134, and a memory flow controller (hereinafter referred to as MFC) 136.
  • the MFC 136 includes a DMAC (Direct Memory Access Controller) 138.
  • DMAC Direct Memory Access Controller
  • the local memory 134 is not a conventional hardware cache memory.
  • the PPE 140 includes a core 142, an L1 cache 144, an L2 cache 145, and an MFC 146.
  • the MFC 146 includes a DMAC 148.
  • the operating system (hereinafter also referred to as OS) of the multi-core processor 120 operates in the PPE 140, and a program operating in each SPE 130 is determined based on the basic processing of the OS.
  • the program that operates on the SPE 130 may be a program that forms part of the OS functions (for example, a device driver or a part of a system program).
  • the instruction set architectures of PPE140 and SPE130 have different instruction sets.
  • the OS may operate on each SPE 130. That is, an OS using a part of the core 132 and the local memory 134 included in each SPE 130 operates.
  • the OS of each SPE130 works together to form one OS as a whole.
  • the OS running on each SPE130 can communicate data with other SPE130s from itself by executing instructions from PPE140 when executing any application. It is possible to check and acquire the tasks that are included in the application and wait for execution by performing communication or accessing the main memory 180, and execute them if they can be executed.
  • the OS runs on a PPE140 and the OS decides a program that runs on each SPE130, the force that may have caused any SPE130 to not run is due to the OS running on each SPE130. All SPE130s can continue to run for application execution.
  • the information processing system shown in FIG. 8 is a distributed application system in which the same application can operate on a plurality of multi-core processors 120. In this system, the global address space shown in Fig. 6 is used.
  • FIG. 10 shows the configuration of the bridge 110.
  • the bridge 110 includes a first input / output unit 112, a bridge controller 114, and a second input / output unit 118.
  • the bridge controller 114 includes a register group 116.
  • the first input / output unit 112 and the second input / output unit 118 are the same as the upstream port 22 and the downstream port 26 of the bridge 20 shown in FIG. Omitted.
  • the bridge controller 114 converts the effective address designated by the access request packet issued by the multi-core processor 120 into a global address. Also, when the node to which it belongs is accessed as the target node, the global address strength APID included in the access request packet received by the second input / output unit 118 is read, and the access request packet is specified along with this APID. The effective address is passed to the multi-core processor 120.
  • the bridge controller 114 there is an IO address space for converting the effective address in each node 100 and the global address in the entire information processing system.
  • the IO address space is divided into one or more segments, and each segment is further divided into one or more pages.
  • the bridge controller 114 includes a register for performing conversion for each page, and a set of these registers is a register group 116.
  • the conversion register provided in the bridge controller 114 includes the node ID of the access request source node that is permitted to access the page or the APID that is identification information of the access request source application, and the main mapped in association with the page.
  • a physical address or the like is included for each page.
  • the multi-core processor 120 included in the node 100 accesses another node as a target node. In accessing, the multi-core processor 120 issues an access request packet to the bridge 110.
  • This access request packet includes the effective address (in this embodiment, an offset in the IO address space of the target node) of the access request destination application in the target node.
  • This access request packet is issued by the DMAC power of any processing unit included in the multi-core processor 120.
  • the bridge controller 114 of the bridge 110 converts the effective address into a global address.
  • the format shown in Fig. 7 is used for the global address.
  • the global address obtained by the bridge controller 114 is composed of the APID of the application requesting access, the node ID of the target node, and the effective address power at the target node.
  • the node ID of the source node that is the access request source is added to the access request packet.
  • Bridge 110 reads the node ID included in the access request packet specifying this global address, and forwards the access request packet to the target node indicated by this node ID.
  • the bridge controller 114 reads out the APID included in the access request packet. Then, the effective address included in the access request packet is converted into an IO address.
  • the bridge 110 transmits the IO address thus obtained to the IOIF 160 of the multi-core processor 120 together with the APID.
  • the IO controller 164 of the IOIF 160 converts the IO address into a physical address in the main memory 180.
  • Figure 11 shows an example of the conversion table used for this conversion and the result of the conversion.
  • the main memory 180 is divided into segments, and each segment is also divided into pages of a predetermined page size.
  • page size is ⁇
  • the conversion table maps the physical address (space) for each page included in the segment, and indicates access permission Z prohibition by the permission identification number IOID.
  • IOID indicates the node ID of the access request source node that is permitted to access the corresponding physical address (space), or APID that is the identification information of the access request source application.
  • the switch 80 may be configured to use a switch that interconnects buses of standards other than the force PCI that interconnected PCI buses.
  • the present invention can be applied to the field of computer network systems.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)

Abstract

To provide resource transparency between nodes on a computer network. In an information processing system composed of a plurality of processor units connected to each other by a switching apparatus, a global address space having a map of the effective addresses of the processor units and shared between the processor units is introduced. A bridge for relaying the input/output bus of each processor unit to the input/output bus of the switching apparatus receives an access request packet having an effective address of a target node from the processor unit, converts the effective address of the target node into a global address by adding to the effective address the target node's node identification number necessary for switching, and outputs the access request packet having the global address to the switching apparatus.

Description

明 細 書  Specification
ブリッジ、情報処理装置、情報処理システムおよびグローバルアドレス管 理方法  Bridge, information processing apparatus, information processing system, and global address management method
技術分野  Technical field
[0001] 本発明は、コンピュータネットワーク上におけるノード間のアクセス技術に関する。  The present invention relates to an access technology between nodes on a computer network.
背景技術  Background art
[0002] 従来、コンピュータネットワーク上において、通信を行うノード同士は互いのメモリや IOデバイスなどのリソースが見えず、リソースの透過性がなかった。  Conventionally, on a computer network, nodes that communicate with each other cannot see each other's resources such as memory and IO devices, and have no resource transparency.
[0003] そのため、たとえば、 Ethernet (登録商標)などのネットワークにおいて、ノード間の アクセスは、ノードに備えられた NIC (ネットワーク 'インターフェイス'カード)などのネ ットワークハードウェアやこれらのハードウェアのデバイスドライバを介して行われてお り、システムの負荷が大きぐオーバーヘッドにつながる問題があった。  [0003] Therefore, for example, in a network such as Ethernet (registered trademark), access between nodes is performed by network hardware such as a NIC (network 'interface' card) provided in the node or devices of these hardware. This is done via a driver, and there is a problem that the overhead of the system is heavy and leads to overhead.
[0004] また、複数のプロセッサが接続されてなるマルチプロセッサシステムのようなコンビュ ータネットワークにおいて、各プロセッサ間においてリソースの透過性がないため、各 プロセッサがアクセス可能な共有メモリを設け、共有メモリを介してプロセッサ間のデ ータの受渡しを行うことが考えられる。この場合、たとえばプロセッサ Aがプロセッサ B にデータを渡したいときに、直接の受渡ができず、プロセッサ Aによる、共有メモリへ データをコピーする処理と、プロセッサ Bによる、共有メモリからデータを読み出してコ ピーする処理が必要であり、同じくオーバーヘッドの問題が起きうる。  [0004] Further, in a computer network such as a multiprocessor system in which a plurality of processors are connected, there is no resource transparency between the processors, and therefore, a shared memory that can be accessed by each processor is provided. It is conceivable that data is transferred between processors via a PC. In this case, for example, when processor A wants to pass data to processor B, direct delivery is not possible. Processor A copies the data to shared memory and processor B reads the data from the shared memory and copies it. Processing is required, and overhead problems may occur as well.
発明の開示  Disclosure of the invention
発明が解決しょうとする課題  Problems to be solved by the invention
[0005] 本発明は、上記事情に鑑みてなされたものであり、その目的は、コンピュータネット ワーク上のノード間において、リソースの透過性を提供することにある。 [0005] The present invention has been made in view of the above circumstances, and an object thereof is to provide resource transparency between nodes on a computer network.
課題を解決するための手段  Means for solving the problem
[0006] 本発明のある態様は、ブリッジである。このブリッジは、プロセッサユニットの入出力 ノ スを、複数のプロセッサユニットが相互接続されるスイッチング装置の入出力ノ ス へと中継するブリッジであって、上流ポートと、変換部と、下流ポートを含む。 [0007] 上流ポートは、各プロセッサユニットの実効アドレスがマッピングされた複数のプロ セッサユニット間で共有されるグローバルアドレス空間を前提として、当該プロセッサ ユニットから、複数のプロセッサユニットの内いずれかのターゲットノードの実効アドレ スを指定したアクセス要求パケットを受け取る。ここで、実効アドレスとは実効アドレス 空間内の所定の位置を示すアドレスである。さらに実効アドレス空間とは、各プロセッ サユニット内に点在するメインメモリ等を含む記憶手段の各々力 部分的に切り取ら れたメモリ空間の一部同士を集合させ、結合したものである。 1つの実効メモリ空間は 1つのプロセッサユニットに対応する。すなわち、プロセッサユニットと同数の実効メモ リ空間が存在することになり、各プロセッサユニットは自分に対応する実効メモリ空間 をワークメモリとして使用する。実効メモリ空間の内部構成を最適化することにより、対 応するプロセッサユニットは最大パフォーマンスで動作できる。 [0006] One embodiment of the present invention is a bridge. This bridge relays the input / output node of a processor unit to the input / output node of a switching device to which a plurality of processor units are interconnected, and includes an upstream port, a conversion unit, and a downstream port. . [0007] The upstream port is assumed to be one of the target nodes of the plurality of processor units from the processor unit on the premise of a global address space shared among the plurality of processor units to which the effective addresses of the processor units are mapped. An access request packet specifying the effective address of is received. Here, the effective address is an address indicating a predetermined position in the effective address space. Further, the effective address space is a combination of a part of the memory space that is partially cut off from each of the storage means including the main memory and the like scattered in each processor unit. One effective memory space corresponds to one processor unit. In other words, there are as many effective memory spaces as there are processor units, and each processor unit uses its own effective memory space as work memory. By optimizing the internal structure of the effective memory space, the corresponding processor unit can operate at maximum performance.
[0008] 変換部は、上流ポートと、ターゲットノードの実効アドレスにそのターゲットノードの、 スイッチングに必要なノード識別番号を付加することにより、ターゲットノードの実効ァ ドレスをグローバルアドレスに変換する。 [0008] The conversion unit converts the effective address of the target node into a global address by adding the node identification number necessary for switching of the target node to the upstream port and the effective address of the target node.
[0009] 下流ポートは、変換部と、グローノ レアドレスが指定されたアクセス要求パケットをス イッチング装置に出力する。  [0009] The downstream port outputs a conversion unit and an access request packet in which a glow address is specified to the switching device.
[0010] また、複数のプロセッサユニット上で動作する分散アプリケーションを一意に識別す るアプリケーション識別番号によってグローノ レアドレス空間が論理的に区分けされ る場合に、変換部は、グローバルアドレスが指定されたアクセス要求パケット内にアブ リケーシヨン識別番号を格納するようにしてもょ 、。 [0010] In addition, when the global address space is logically divided by an application identification number that uniquely identifies a distributed application operating on a plurality of processor units, the conversion unit accesses an access with a global address specified. You may want to store the identification number in the request packet.
[0011] また、下流ポートが、複数のプロセッサユニットのいずれかであるソースノードから、 当該プロセッサユニットをターゲットノードとしてその実効アドレスを指定したアクセス 要求パケットを受け取った場合、変換部は、アクセス要求パケットからアプリケーショ ン識別番号を取得し、上流ポートは、アクセス要求パケットに指定された当該プロセッ サユニットの実効アドレスとともに、アクセス要求パケットから取得したアプリケーション 識別番号を当該プロセッサユニットに渡すようにしてもよい。 [0011] When the downstream port receives an access request packet in which the effective address is specified with the processor unit as a target node from a source node that is one of a plurality of processor units, the conversion unit receives the access request packet. The upstream port may pass the application identification number acquired from the access request packet to the processor unit together with the effective address of the processor unit specified in the access request packet.
[0012] 本発明の別の態様は、情報処理装置である。この装置は、プロセッサユニットと、当 該プロセッサユニットの入出力バスを、複数のプロセッサユニットが相互接続されるス イッチング装置の入出力バスへと中継するブリッジとを含む。ブリッジは、前述した態 様のブリッジとすることができる。 Another aspect of the present invention is an information processing apparatus. In this apparatus, a processor unit and an input / output bus of the processor unit are connected to each other by a plurality of processor units interconnected. And a bridge that relays to the I / O bus of the switching device. The bridge can be a bridge as described above.
[0013] 本発明のさらに別の態様は、情報処理システムである。この情報処理システムは、 複数のプロセッサユニットと、複数のプロセッサユニットを相互接続するスイッチング 装置と、各プロセッサユニットの入出力バスをスイッチング装置の入出力バスへと中 継するブリッジとを含む。このブリッジも、前述した態様のブリッジとすることができる。  [0013] Yet another embodiment of the present invention is an information processing system. The information processing system includes a plurality of processor units, a switching device that interconnects the plurality of processor units, and a bridge that relays the input / output bus of each processor unit to the input / output bus of the switching device. This bridge can also be a bridge of the above-described embodiment.
[0014] なお、本発明の構成要素や表現を方法、システム、プログラム、プログラムを記憶し た記憶媒体などの間で相互に置換したものもまた、本発明の態様として有効である。 発明の効果  [0014] It should be noted that a configuration in which the constituent elements and expressions of the present invention are mutually replaced among methods, systems, programs, storage media storing programs, and the like are also effective as an aspect of the present invention. The invention's effect
[0015] 本発明は、コンピュータネットワーク上のノード間においてリソースの透過性を提供 することができる。  [0015] The present invention can provide resource transparency between nodes on a computer network.
図面の簡単な説明  Brief Description of Drawings
[0016] [図 1]本発明の概要の説明に用いた情報処理システムを示す図である。 FIG. 1 is a diagram showing an information processing system used for explaining the outline of the present invention.
[図 2]図 1に示す情報処理システムにおけるノードの構成を示す図である。  2 is a diagram showing a configuration of nodes in the information processing system shown in FIG.
[図 3]グローバルアドレス空間の概念を示す図(その 1)である。  FIG. 3 is a diagram (part 1) illustrating the concept of a global address space.
[図 4]図 2に示すノードにおけるブリッジの構成を示す図である。  FIG. 4 is a diagram showing a configuration of a bridge in the node shown in FIG.
[図 5]図 3に示すグローバルアドレス空間に対応するグローバルアドレスのフォーマツ トを示す図である。  FIG. 5 is a diagram showing a global address format corresponding to the global address space shown in FIG. 3.
[図 6]グローバルアドレス空間の概念を示す図(その 2)である。  FIG. 6 is a diagram (part 2) illustrating the concept of the global address space.
[図 7]図 6に示すグローバルアドレス空間に対応するグローバルアドレスのフォーマツ トの一例を示す図である。  7 is a diagram showing an example of a global address format corresponding to the global address space shown in FIG.
[図 8]本発明にかかる実施の形態による情報処理システムの構成を示す図である。  FIG. 8 is a diagram showing a configuration of an information processing system according to an embodiment of the present invention.
[図 9]図 8に示す情報処理システムにおけるノードの構成例を示す図である。  9 is a diagram showing a configuration example of a node in the information processing system shown in FIG.
[図 10]図 9に示すノードにおけるブリッジの構成を示す図である。  10 is a diagram showing a configuration of a bridge in the node shown in FIG.
[図 11]実効アドレスを物理アドレスへ変換する際に用いられる変換テーブルおよび変 換の結果の例を示す図である。  FIG. 11 is a diagram illustrating an example of a conversion table used when converting an effective address to a physical address and a conversion result.
符号の説明  Explanation of symbols
[0017] 20 ブリッジ、 22 上流ポート、 24 変換部、 26 下流ポート、 30 プロセッ サユニット、 40 ノード、 50 スィッチ、 80 スィッチ、 100 ノード、 110 ブリ ッジ、 112 第 1の入出力部、 114 ブリッジコントローラ、 116 レジスタ群、 11 8 第 2の入出力部、 120 マルチコアプロセッサ、 130 SPE、 132 コア、 13 4 ローカルメモリ、 136 MFC, 138 DMAC、 140 PPE、 142 コア、 14 4 L1キャッシュ、 145 L2キャッシュ、 146 MFC, 148 DMAC、 150 リン グバス、 160 IOIF、 164 IOコントローラ、 170 メモリコントローラ、 180 メイ ンメモリ。 [0017] 20 bridges, 22 upstream ports, 24 converters, 26 downstream ports, 30 processes Subunit, 40 nodes, 50 switches, 80 switches, 100 nodes, 110 bridges, 112 First input / output section, 114 Bridge controller, 116 registers, 11 8 Second input / output section, 120 Multi-core processor, 130 SPE, 132 cores, 13 4 Local memory, 136 MFC, 138 DMAC, 140 PPE, 142 cores, 14 4 L1 cache, 145 L2 cache, 146 MFC, 148 DMAC, 150 ring bus, 160 IOIF, 164 IO controller, 170 memory Controller, 180 main memory.
発明を実施するための最良の形態  BEST MODE FOR CARRYING OUT THE INVENTION
[0018] 本発明の実施の形態の詳細を説明する前に、まず、本発明者が提案する技術の概 要を説明する。 [0018] Before describing the details of the embodiment of the present invention, first, an outline of the technique proposed by the present inventor will be described.
[0019] 図 1に示す情報処理システムについて考える。この情報処理システムは、複数ここ では例として 2つのノード 40を有し、これらのノードはスイッチング装置(以下単にスィ ツチと 、う) 50によって接続される。  Consider the information processing system shown in FIG. This information processing system has a plurality of nodes 40 as an example here, and these nodes are connected by a switching device (hereinafter simply referred to as a switch) 50.
[0020] 図 2は、ノード 40の構成を示す。  FIG. 2 shows the configuration of the node 40.
[0021] ノード 40は、プロセッサユニット 30と、プロセッサユニット 30の入出力バス(図示せ ず)を、スィッチ 50の入出力バス(図示せず)へ中継するブリッジ 20を備える。プロセ ッサユニット 30は、単一のプロセッサであってもよいし、複数のプロセッサより構成さ れたものであってもよい。ここで、ブリッジ 20の詳細を説明する前に、この技術に用い られるグローバルアドレス空間について説明する。  The node 40 includes a processor unit 30 and a bridge 20 that relays an input / output bus (not shown) of the processor unit 30 to an input / output bus (not shown) of the switch 50. The processor unit 30 may be a single processor or may be composed of a plurality of processors. Here, before explaining the details of the bridge 20, the global address space used in this technology will be explained.
[0022] 図 3は、グローバルアドレス空間の概念を示す。図 3に示すように、グローバルァドレ ス空間において、各プロセッサユニット 30の実効アドレス力 このプロセッサユニット 3 0が属するノードに対応付けられるようにマッピングされて!/、る。このグローバルァドレ ス空間は、各プロセッサユニット 30間で共有され、それにおけるアドレスは、以下グロ 一バルアドレスという。  [0022] FIG. 3 illustrates the concept of the global address space. As shown in FIG. 3, in the global address space, the effective address power of each processor unit 30 is mapped so as to be associated with the node to which this processor unit 30 belongs. This global address space is shared among the processor units 30, and the address in the space is hereinafter referred to as a global address.
[0023] このグローバルアドレス空間を用いて、ノード 40間のアクセスが行われる。  [0023] Access between the nodes 40 is performed using this global address space.
[0024] ソースノードのプロセッサユニット 30は、ターゲットノードにアクセスする際に、ターゲ ットノードの実効アドレスを指定したアクセス要求パケットを発行して、ブリッジ 20に出 力する。このアクセス要求パケットの発行は、たとえば DMA (ダイレクト'メモリ'ァクセ ス)アーキテクチャを用いて行われる。 When accessing the target node, the processor unit 30 of the source node issues an access request packet specifying the effective address of the target node and outputs it to the bridge 20. This access request packet is issued by, for example, DMA (direct 'memory' access). B) using architecture.
[0025] 図 4は、ブリッジ 20の構成を示す。ブリッジ 20は、プロセッサユニット 30の入出力バ スを介してプロセッサユニット 30との送受信を行う上流ポート 22、変換部 24、スィッチ 50の入出力バスを介してスィッチ 50との送受信を行う下流ポート 26を備える。  FIG. 4 shows the configuration of the bridge 20. The bridge 20 includes an upstream port 22 that transmits / receives data to / from the processor unit 30 via the input / output bus of the processor unit 30, and a downstream port 26 that transmits data to / from the switch 50 via the input / output bus of the conversion unit 24 and switch 50. Is provided.
[0026] 上流ポート 22は、プロセッサユニット 30により発行されたアクセス要求パケットを受 け取り、変換部 24は、ターゲットノードの実効アドレスに、ターゲットノードの、スィッチ ングに必要なノード識別番号 (以下ノード IDという)を付加することによって、ターゲッ トノードの実効アドレスをグローバルアドレスに変換する。そして、下流ポート 26は、こ のグローバルアドレスを指定するアクセス要求パケットをスィッチ 50に出力する。  The upstream port 22 receives the access request packet issued by the processor unit 30, and the conversion unit 24 uses the effective address of the target node as a node identification number (hereinafter referred to as a node) of the target node for switching. By adding ID), the effective address of the target node is converted to a global address. Then, the downstream port 26 outputs an access request packet specifying this global address to the switch 50.
[0027] ノード IDは、ノード 40がネットワークにおける物理位置を示しうるものであり、たとえ ば、スィッチ 50における、このノードが接続された接続ポートの番号を用いることがで きる。  [0027] The node ID can indicate the physical location of the node 40 in the network. For example, the number of the connection port to which the node is connected in the switch 50 can be used.
[0028] 図 5は、グローバルアドレスのフォーマットを示す。図示のように、グローバルァドレ スは、ノード IDと実効アドレス力 構成される。  [0028] FIG. 5 shows a format of a global address. As shown in the figure, the global address consists of the node ID and effective address.
[0029] ブリッジ 20の下流ポート 26は、このようなグローバルアドレスを指定したアクセス要 求パケットをスィッチ 50に出力し、スィッチ 50は、受信したアクセス要求パケットのグ ローバルアドレスに含まれるノード IDを読み取り、このノード IDにより示される接続ポ ートに接続されたノード 40にアクセス要求パケットを転送する。  [0029] The downstream port 26 of the bridge 20 outputs an access request packet specifying such a global address to the switch 50, and the switch 50 reads the node ID included in the global address of the received access request packet. Then, the access request packet is transferred to the node 40 connected to the connection port indicated by the node ID.
[0030] ターゲットノードとなるノード 40のブリッジ 20は、下流ポート 26によりアクセス要求パ ケットを受け取る。上流ポート 22はアクセス要求パケットにより指定された実効アドレ スをプロセッサユニット 30に出力する。この場合、変換部 24によりグローバルアドレス 力も実効アドレスを読み出して上流ポート 22に渡すようにしてもょ 、し、スィッチ 50が 、アクセスパケットを転送する際に、グローノ レアドレスに含まれる実効アドレスのみ をブリッジ 20に出力し、変換部 24の介在を必要としないようにしてもよい。または、ァ クセス要求パケットをそのままプロセッサユニット 30に渡し、プロセッサユニット 30によ り実効アドレスの読出を行うようにしてもょ 、。  The bridge 20 of the node 40 serving as the target node receives the access request packet through the downstream port 26. The upstream port 22 outputs the effective address designated by the access request packet to the processor unit 30. In this case, the conversion unit 24 may read out the effective address of the global address and pass it to the upstream port 22, and when the switch 50 transfers the access packet, only the effective address included in the global address is transmitted. It may be outputted to the bridge 20 so that the intervention of the conversion unit 24 is not required. Alternatively, the access request packet may be directly passed to the processor unit 30 and the processor unit 30 may read the effective address.
[0031] プロセッサユニット 30は、実効アドレスを物理アドレスに変換する。  [0031] The processor unit 30 converts the effective address into a physical address.
[0032] このように、ユーザ空間の一部をグローバルアドレス空間にマッピングすることによ つて、コンピュータネットワーク上のノード間において、リソースの透過性を得ることが できる。これによつて、ネットワークハードウェアやこれらのハードウェアのデバイスドラ ィバの操作をせずにノード間のアクセスができ、低オーバヘッドのメモリアクセスが実 現される。 [0032] Thus, by mapping a part of the user space to the global address space, Therefore, resource transparency can be obtained between nodes on a computer network. This enables access between nodes without operating network hardware and device drivers for these hardware, and low-overhead memory access is realized.
[0033] 次に、ネットワーク上の複数のノードが並列に同じアプリケーションを処理可能な分 散アプリケーションシステムにこの技術を適用した場合について説明する。  Next, a case will be described in which this technique is applied to a distributed application system in which a plurality of nodes on the network can process the same application in parallel.
[0034] この場合において、アプリケーションを実行するノード、具体的にはノードに含まれ るプロセッサユニットにおけるメモリには、動作中のアプリケーション毎にエリアが割り 当てられている。本発明者が提案する技術は、分散アプリケーションシステムにおい て、異なるノードで動作する同じアプリケーション間で、このアプリケーションに対して 割り当てられたエリアにアクセスすることを容易にする。  [0034] In this case, an area is allocated for each active application in a node that executes an application, specifically, a memory in a processor unit included in the node. The technique proposed by the present inventor makes it easy to access an area allocated for this application between the same applications operating on different nodes in a distributed application system.
[0035] そのために、アプリケーション識別番号(以下アプリケーション IDまたは APIDという )を導入し、図 3に示すグローバルアドレス空間を、このアプリケーション IDを用いて 論理的に区分けする。  [0035] For this purpose, an application identification number (hereinafter referred to as application ID or APID) is introduced, and the global address space shown in FIG. 3 is logically divided using this application ID.
[0036] アプリケーション IDは、動作中のアプリケーション毎に付与された、システム全体に おいて一意にこのアプリケーションを識別するものである。すなわち、異なる複数のノ ードで動作する同じアプリケーションは、同じアプリケーション IDを有することになる。  [0036] The application ID is assigned to each active application and uniquely identifies the application in the entire system. That is, the same application running on different nodes will have the same application ID.
[0037] 図 6は、この場合のグローバルアドレス空間の概念を示す。右側の実効アドレスは 各ノード、並びに当該ノードにおいて動作するアプリケーションに対応する実効アドレ ス空間である。中央のアドレス空間は、情報処理システム内に点在する同じアプリケ ーシヨンに対応する実効アドレス空間の集合である。左側のアドレス空間は、情報処 理システム内の各アプリケーションに対応するアドレス空間の集合である。  FIG. 6 shows the concept of the global address space in this case. The effective address on the right is the effective address space corresponding to each node and the application running on that node. The central address space is a set of effective address spaces corresponding to the same application scattered in the information processing system. The address space on the left is a set of address spaces corresponding to each application in the information processing system.
[0038] 図 1に示すシステム構成を利用して、この場合におけるノード間のアクセスを説明す る。  [0038] Access between nodes in this case will be described using the system configuration shown in FIG.
[0039] ソースノードのプロセッサユニット 30は、ターゲットノードにアクセスする際に、ターゲ ットノードの実効アドレスを指定したアクセス要求パケットを発行して、ブリッジ 20に出 力する。  When accessing the target node, the processor unit 30 of the source node issues an access request packet specifying the effective address of the target node and outputs it to the bridge 20.
[0040] ブリッジ 20の変換部 24は、ターゲットノードの実効アドレスに、 APIDと、ターゲットノ ードのノード IDとを付カ卩することによって、ターゲットノードの実効アドレスをグローバ ルアドレスに変換して、下流ポートを介して、このグローバルアドレスを指定し、ァクセ ス要求元であるソースノードのノード IDが追加されたアクセス要求パケットをスィッチ 5 0に出力する。 [0040] The conversion unit 24 of the bridge 20 adds the APID and the target node to the effective address of the target node. By adding the node ID of the host node, the effective address of the target node is converted to a global address, this global address is specified via the downstream port, and the node of the source node that is the request source of the access The access request packet with the ID added is output to switch 50.
[0041] 図 7は、グローバルアドレスのフォーマットの一例を示す。図示のように、このグロ一 バルアドレスは、アプリケーション ID (APID)、ノード ID、実効アドレスによって構成さ れる。  FIG. 7 shows an example of a global address format. As shown in the figure, this global address is composed of an application ID (APID), a node ID, and an effective address.
[0042] なお、グローバルアドレスのフォーマットは、図 7に示す例に限られることがない。 A PIDは、アクセス要求パケットに含まれ、ターゲットノードのブリッジ 20により読出可能 であればよぐたとえばグローバルアドレスのフォーマットとして図 5に示すフォーマツ トを用い、 APIDをアクセス要求パケットに格納するようにしてもょ 、。  Note that the format of the global address is not limited to the example shown in FIG. The A PID is included in the access request packet and can be read by the bridge 20 of the target node. For example, the format shown in Fig. 5 is used as the format of the global address, and the APID is stored in the access request packet. Well ...
[0043] ターゲットノードとなるノード 40のブリッジ 20は、アクセス要求パケットを受け取ると、 変換部 24は、アクセス要求パケットから APIDを読み出し、この APIDとともに、ァクセ ス要求パケットにより指定された実効アドレスをノード 40に渡す。  [0043] Upon receiving the access request packet, the bridge 20 of the node 40 serving as the target node reads the APID from the access request packet, and, along with this APID, the effective address specified by the access request packet as the node Pass to 40.
[0044] プロセッサユニット 30は、実効アドレスを、アクセス要求元ノード IDまたは APIDに 対応するアプリケーションに対して設けられたエリアの物理アドレスに変換する。  [0044] The processor unit 30 converts the effective address into a physical address of an area provided for the application corresponding to the access request source node ID or APID.
[0045] このように、各ノードにおける実効アドレスがマッピングされたグローバル空間を、 A PIDを用いて論理的に区分けし、グローバルアドレスに APIDを付加するかアクセス 要求パケットに APIDを格納することによって、ユーザアプリケーションが容易に、ノー ド間にまたがってアプリケーションが利用するメモリ空間にアクセスする可能となる。 さらに、この場合において、プロセッサユニットは、ブリッジ力も渡された APIDを利用 して、このアクセスの許否を決定するようにすることが好ましい。あるいはプロセッサュ ニットは、アクセス要求元ノード IDを利用して許否決定してもよい。  [0045] Thus, by logically dividing the global space in which the effective address in each node is mapped using A PID and adding the APID to the global address or storing the APID in the access request packet, User applications can easily access memory space used by applications across nodes. Furthermore, in this case, it is preferable that the processor unit uses the APID to which the bridging power is also passed to determine whether or not to permit this access. Alternatively, the processor unit may determine permission or disapproval using the access request source node ID.
[0046] たとえば、プロセッサユニットは、実効アドレスを物理アドレスに変換する際に、変換 のためのアドレス変換テーブルを用いることが考えられる。このアドレス変換テーブル に、アクセス要求先である物理アドレス空間へのアクセス許可 Z禁止を示す許可識 別番号を付加する。当該許可識別番号とは例えば、各物理アドレス空間毎にァクセ スを許可するアクセス要求元ノードのノード ID、またはアクセス要求元アプリケーショ ンの識別情報である APIDである。そして、プロセッサユニットは、この変換テーブル を参照して実効アドレスを物理アドレスに変換する際に、ブリッジ力も渡されたァクセ ス要求元ノード IDまたは APIDと、変換テーブルにお 、てこの実効アドレスに対応付 けられた許可識別番号と一致する力否かにより、この実効アドレスに対するアクセス の許否を決定することができる。 [0046] For example, the processor unit may use an address conversion table for conversion when converting an effective address into a physical address. A permission identification number indicating access permission Z prohibition to the physical address space that is the access request destination is added to this address conversion table. The permission identification number is, for example, the node ID of the access request source node that permits access for each physical address space, or the access request source application. APID, which is the identification information of the client. When the processor unit converts the effective address to the physical address by referring to this conversion table, it corresponds to the effective address in the conversion request table and the access request node ID or APID to which the bridge power is also passed. Access to this effective address can be determined based on whether or not it matches the authorization identification number assigned to it.
[0047] こうすることによって、アプリケーションがノード間にまたがって動作し、且つ各ノード においてはプロセッサユニットまたはアプリケーションが最大パフォーマンスで動作す るように各々の実効メモリ空間の内部構成が最適化された状態において、当該実効 メモリ空間のノード間の相互アクセスを容易にするとともに、所定のアプリケーションに 対して割り当てられたエリア力 異なるアプリケーション力 アクセスされることを防ぐこ とができ、安全である。 [0047] By doing this, the internal configuration of each effective memory space is optimized so that the application operates across the nodes and the processor unit or the application operates at the maximum performance in each node. In this case, the mutual access between the nodes in the effective memory space can be facilitated, and the area power allocated to a given application can be prevented from being accessed.
[0048] また、実行アドレスから物理アドレスへの変換を、プロセッサユニット側において行う ことによって、ブリッジの構成を単純にすることができる。さらに、プロセッサユニット側 において、ブリッジとは独立に変換テーブルの調整などができる。さらに、 IOデバイス やメモリサイズの異なる種類のノードが混在しても、同じ構成のブリッジでノード間の アクセスを可能にすることができる。  [0048] Further, by performing conversion from the execution address to the physical address on the processor unit side, the configuration of the bridge can be simplified. Furthermore, the conversion table can be adjusted independently of the bridge on the processor unit side. Furthermore, even if nodes of different types of IO devices and memory sizes are mixed, access between nodes can be made possible by the bridge with the same configuration.
[0049] 以下、本発明の実施の形態について、以上の概要を具現化してシステムを説明す る。  [0049] Hereinafter, a system will be described by embodying the above outline of the embodiment of the present invention.
[0050] 図 8は、本発明にカゝかる実施の形態による情報処理システムの構成を示す。この情 報処理システムは、複数のノード 100と、これらのノードを接続してネットワークを形成 するスィッチ 80を備える。ノード 100は、図示しない接続用バスでスィッチ 80と接続さ れており、この接続用バスは、たとえば PCIExpress (登録商標)バスとする。  FIG. 8 shows a configuration of an information processing system according to an embodiment related to the present invention. This information processing system includes a plurality of nodes 100 and a switch 80 that connects these nodes to form a network. The node 100 is connected to the switch 80 by a connection bus (not shown), and this connection bus is, for example, a PCI Express (registered trademark) bus.
[0051] 図 9は、図 8に示す情報処理システムにおけるノード 100の構成例を示す。ノード 1 00は、ブリッジ 110と、マルチコアプロセッサ 120と、メインメモリ 180とを有する。  FIG. 9 shows a configuration example of the node 100 in the information processing system shown in FIG. The node 100 includes a bridge 110, a multi-core processor 120, and a main memory 180.
[0052] マルチコアプロセッサ 120は、ワンチップで形成されており、主処理ユニット PPE (P ower Processing Element) 140と、複数、図示の例では 8つのサブ処理ユニット SPE (Synergistic Processing Element) 130と、 IOインターフェイス(以下 IOIF という) 160と、メモリコントローラ 170とを有し、これらは、リングバス 150によって接続 される。 [0052] The multi-core processor 120 is formed in one chip, and includes a main processing unit PPE (Power Processing Element) 140, a plurality of, in the illustrated example, eight sub-processing units SPE (Synergistic Processing Element) 130, IO Interface (hereinafter referred to as IOIF) 160 and memory controller 170, which are connected by ring bus 150 Is done.
[0053] メインメモリ 180は、マルチコアプロセッサ 120の各処理ユニットの共有メモリであり、 メモリコントローラ 170と接続されている。  The main memory 180 is a shared memory of the processing units of the multi-core processor 120, and is connected to the memory controller 170.
[0054] メモリコントローラ 170は、 PPE140および各 SPE130がメインメモリ 180にアクセス する仲介を行う。なお、図 9に示す例では、メインメモリ 180はマルチコアプロセッサ 1The memory controller 170 mediates access to the main memory 180 by the PPE 140 and each SPE 130. In the example shown in FIG. 9, the main memory 180 is a multi-core processor 1
20の外部に設けられている力 マルチコアプロセッサ 120内に含まれるように設けら れてもよい。 The force provided outside the 20 may be provided so as to be included in the multi-core processor 120.
[0055] IOIF160は、図示しない IOIFバスによってブリッジ 110と接続され、ブリッジ 110と 協働して、各ノード 100間のアクセスを可能にする。 IOIF160には、 IOコントローラ 1 64が含まれている。  The IOIF 160 is connected to the bridge 110 via an IOIF bus (not shown), and allows access between the nodes 100 in cooperation with the bridge 110. The IOIF 160 includes an IO controller 1 64.
[0056] SPE130は、コア 132と、ロー力ノレメモリ 134と、メモリフローコントローラ(以下 MFC という) 136とを備え、 MFC136には、 DMAC (ダイレクトメモリアクセスコントローラ) 1 38が含まれている。なお、ローカルメモリ 134は、従来のハードウェアキャッシュメモリ ではないことが望ましぐそれには、ハードウェアキャッシュメモリ機能を実現するため の、チップ内蔵またはチップ外に置かれたハードウェアキャッシュ回路、キャッシュレ ジスタ、キャッシュメモリコントローラなどが無い。  [0056] The SPE 130 includes a core 132, a low-power memory 134, and a memory flow controller (hereinafter referred to as MFC) 136. The MFC 136 includes a DMAC (Direct Memory Access Controller) 138. It is desirable that the local memory 134 is not a conventional hardware cache memory. For this purpose, a hardware cache circuit built in the chip or placed outside the chip to realize the hardware cache memory function, a cache memory, etc. There is no register or cache memory controller.
[0057] PPE140は、コア 142と、 L1キャッシュ 144と、 L2キャッシュ 145と、 MFC146とを 備え、 MFC146には、 DMAC148が含まれている。  [0057] The PPE 140 includes a core 142, an L1 cache 144, an L2 cache 145, and an MFC 146. The MFC 146 includes a DMAC 148.
[0058] 通常、マルチコアプロセッサ 120のオペレーティングシステム(以下 OSともいう)は、 PPE140において動作し、 OSの基本処理に基づいて、各 SPE130で動作するプロ グラムが決定される。また、 SPE130で動作するプログラムは、 OSの機能の一部をな すようなプログラム (たとえばデバイスドライバや、システムプログラムの一部など)であ つてもよい。なお、 PPE140と SPE130の命令セットアーキテクチャは、異なる命令セ ットを有する。また、 OSが PPE140において動作する代わりに、各 SPE130におい て動作してもよい。すなわち、各 SPE130が備えるコア 132とローカルメモリ 134の一 部を用いた OSが動作する。各 SPE130の OS同士が連携動作することにより、全体 として 1つの OSを形成する。さらに各 SPE130で動作する OSは、任意のアプリケー シヨンを実行する時に PPE140からの指示でなぐ自分から他の SPE130とデータ通 信を行ったり、メインメモリ 180にアクセスすることにより当該アプリケーションに含まれ 、実行待ち状態にあるタスクを主体的にチェックおよび取得し、 自分が実行可能なら ば実行することが考えられる。 OSが PPE140において動作し、当該 OSが各 SPE13 0で動作するプログラムを決定する場合においては、いずれかの SPE130が動作し ていない状態も発生し得た力 OSが各 SPE130において動作することにより、全て の SPE130をアプリケーション実行のために動作させ続けることができる。 [0058] Normally, the operating system (hereinafter also referred to as OS) of the multi-core processor 120 operates in the PPE 140, and a program operating in each SPE 130 is determined based on the basic processing of the OS. The program that operates on the SPE 130 may be a program that forms part of the OS functions (for example, a device driver or a part of a system program). Note that the instruction set architectures of PPE140 and SPE130 have different instruction sets. Further, instead of operating on the PPE 140, the OS may operate on each SPE 130. That is, an OS using a part of the core 132 and the local memory 134 included in each SPE 130 operates. The OS of each SPE130 works together to form one OS as a whole. In addition, the OS running on each SPE130 can communicate data with other SPE130s from itself by executing instructions from PPE140 when executing any application. It is possible to check and acquire the tasks that are included in the application and wait for execution by performing communication or accessing the main memory 180, and execute them if they can be executed. When an OS runs on a PPE140 and the OS decides a program that runs on each SPE130, the force that may have caused any SPE130 to not run is due to the OS running on each SPE130. All SPE130s can continue to run for application execution.
[0059] 図 8に示す情報処理システムは、複数のマルチコアプロセッサ 120上で同じアプリ ケーシヨンが動作可能な分散アプリケーションシステムである。このシステムにお 、て 、図 6に示すグローバルアドレス空間が用いられる。  The information processing system shown in FIG. 8 is a distributed application system in which the same application can operate on a plurality of multi-core processors 120. In this system, the global address space shown in Fig. 6 is used.
[0060] 図 10は、ブリッジ 110の構成を示す。ブリッジ 110は、第 1の入出力部 112、ブリツ ジコントローラ 114と、第 2の入出力部 118を有し、ブリッジコントローラ 114には、レジ スタ群 116が含まれている。  FIG. 10 shows the configuration of the bridge 110. The bridge 110 includes a first input / output unit 112, a bridge controller 114, and a second input / output unit 118. The bridge controller 114 includes a register group 116.
[0061] 第 1の入出力部 112と第 2の入出力部 118は、図 4に示すブリッジ 20の上流ポート 2 2と下流ポート 26とぞれぞれ同じであり、ここで詳細な説明を省略する。  [0061] The first input / output unit 112 and the second input / output unit 118 are the same as the upstream port 22 and the downstream port 26 of the bridge 20 shown in FIG. Omitted.
[0062] ブリッジコントローラ 114は、自身が属するノードがソースノードであるときに、マルチ コアプロセッサ 120により発行されたアクセス要求パケットが指定した実効アドレスを グローバルアドレスへの変換を行う。また、自身が属するノードがターゲットノードとし てアクセスされたときに、第 2の入出力部 118によって受信したアクセス要求パケット に含まれるグローバルアドレス力 APIDを読み出し、この APIDとともに、アクセス要 求パケットが指定した実効アドレスをマルチコアプロセッサ 120に渡す。  [0062] When the node to which the bridge controller 114 belongs is a source node, the bridge controller 114 converts the effective address designated by the access request packet issued by the multi-core processor 120 into a global address. Also, when the node to which it belongs is accessed as the target node, the global address strength APID included in the access request packet received by the second input / output unit 118 is read, and the access request packet is specified along with this APID. The effective address is passed to the multi-core processor 120.
[0063] ブリッジコントローラ 114内には、各ノード 100における実効アドレスと情報処理シス テム全体におけるグローバルアドレスの変換を行うための IOアドレス空間が存在する 。 IOアドレス空間は 1つまたは複数のセグメントに分割され、さらに各セグメントは 1つ または複数のページに分割される。ブリッジコントローラ 114は、変換を行うためのレ ジスタを各ページ毎に備え、それらレジスタの集合がレジスタ群 116である。ブリッジ コントローラ 114が備える変換用レジスタは、当該ページへのアクセスが許可されて いるアクセス要求元ノードのノード IDまたはアクセス要求元アプリケーションの識別情 報である APID、当該ページに対応付けてマッピングされたメインメモリ 180における 物理アドレス等を各ページ毎に含む。 [0063] In the bridge controller 114, there is an IO address space for converting the effective address in each node 100 and the global address in the entire information processing system. The IO address space is divided into one or more segments, and each segment is further divided into one or more pages. The bridge controller 114 includes a register for performing conversion for each page, and a set of these registers is a register group 116. The conversion register provided in the bridge controller 114 includes the node ID of the access request source node that is permitted to access the page or the APID that is identification information of the access request source application, and the main mapped in association with the page. In memory 180 A physical address or the like is included for each page.
[0064] 各ページ毎の情報は、システムプログラムによって IOIF 160を経由してレジスタ群 1 [0064] Information for each page is stored in the register group 1 via the IOIF 160 by the system program.
16に含まれる該当のレジスタに書き込まれる。 16 is written to the corresponding register.
[0065] ここで、ノード 100間のアクセスについて説明する。 Here, access between the nodes 100 will be described.
[0066] まず、アクセスを行うノード 100の動作を説明する。 First, the operation of the node 100 that performs access will be described.
[0067] ノード 100に含まれるマルチコアプロセッサ 120はターゲットノードとなる他のノード にアクセスする。アクセスするのにあたり、マルチコアプロセッサ 120は、アクセス要求 パケットをブリッジ 110に発行する。このアクセス要求パケットは、ターゲットノードにお けるアクセス要求先アプリケーションの実効アドレス (本実施の形態において、ターゲ ットノードの IOアドレス空間におけるオフセットである)を含む。なお、このアクセス要 求パケットは、マルチコアプロセッサ 120に含まれるいずれかの処理ユニットの DMA C力 発行される。  [0067] The multi-core processor 120 included in the node 100 accesses another node as a target node. In accessing, the multi-core processor 120 issues an access request packet to the bridge 110. This access request packet includes the effective address (in this embodiment, an offset in the IO address space of the target node) of the access request destination application in the target node. This access request packet is issued by the DMAC power of any processing unit included in the multi-core processor 120.
[0068] ブリッジ 110のブリッジコントローラ 114は、実効アドレスをグローバルアドレスに変 換する。ここで、グローバルアドレスについては、図 7に示すフォーマットが用いられる 。すなわち、ブリッジコントローラ 114により得られたグローバルアドレスは、アクセスを 要求するアプリケーションの APIDと、ターゲットノードのノード IDと、ターゲットノード における実効アドレス力 構成される。さら〖こここで、アクセス要求パケットにはァクセ ス要求元であるソースノードのノード IDが追加される。  [0068] The bridge controller 114 of the bridge 110 converts the effective address into a global address. Here, the format shown in Fig. 7 is used for the global address. In other words, the global address obtained by the bridge controller 114 is composed of the APID of the application requesting access, the node ID of the target node, and the effective address power at the target node. Here, the node ID of the source node that is the access request source is added to the access request packet.
[0069] ブリッジ 110は、このグローバルアドレスを指定したアクセス要求パケットに含まれる ノード IDを読み取り、このノード IDにより示されるターゲットノードにアクセス要求パケ ットを転送 *5る。  [0069] Bridge 110 reads the node ID included in the access request packet specifying this global address, and forwards the access request packet to the target node indicated by this node ID.
[0070] 次に、アクセスされる側のノード 100、すなわちターゲットノードの動作について説 明する。  Next, the operation of the accessed node 100, that is, the target node will be described.
[0071] ターゲットノードとなるノード 100のブリッジ 110はアクセス要求パケットを受信すると 、ブリッジコントローラ 114によりアクセス要求パケットに含まれる APIDを読み出す。 そして、アクセス要求パケットに含まれる実効アドレスを、 IOアドレスに変換する。  When the bridge 110 of the node 100 serving as the target node receives the access request packet, the bridge controller 114 reads out the APID included in the access request packet. Then, the effective address included in the access request packet is converted into an IO address.
[0072] ブリッジ 110は、このようにして得た IOアドレスを、 APIDとともにマルチコアプロセッ サ 120の IOIF 160に送信する。 [0073] IOIF160の IOコントローラ 164は、 IOアドレスを、メインメモリ 180における物理アド レスに変換する。図 11は、この変換に用いられた変換テーブルおよび変換の結果の 例を示す。 [0072] The bridge 110 transmits the IO address thus obtained to the IOIF 160 of the multi-core processor 120 together with the APID. [0073] The IO controller 164 of the IOIF 160 converts the IO address into a physical address in the main memory 180. Figure 11 shows an example of the conversion table used for this conversion and the result of the conversion.
[0074] メインメモリ 180がセグメントに分けられており、各セグメントはまた所定のページサ ィズのページに分けられている。ページサイズ力 ΚΒであるときに、 36ビットの IOアド レスの各ビットは下記のように規定される: IO Address [34 : 28] =セグメント、 IO Address [27 : 12] =ページ、 IO Address [11 : 0] =オフセット。  [0074] The main memory 180 is divided into segments, and each segment is also divided into pages of a predetermined page size. When the page size is ΚΒ, each bit of 36-bit IO address is defined as follows: IO Address [34: 28] = Segment, IO Address [27: 12] = Page, IO Address [ 11: 0] = Offset.
[0075] 図 11に示すように変換テーブルは、セグメントに含まれる各ページ毎に物理アドレ ス (空間)をマッピングするとともに、許可識別番号 IOIDによってアクセス許可 Z禁止 を示している。ここで IOIDは、対応する物理アドレス(空間)へのアクセスが許可され て!、るアクセス要求元ノードのノード ID、またはアクセス要求元アプリケーションの識 別情報である APIDを示す。  [0075] As shown in FIG. 11, the conversion table maps the physical address (space) for each page included in the segment, and indicates access permission Z prohibition by the permission identification number IOID. Here, IOID indicates the node ID of the access request source node that is permitted to access the corresponding physical address (space), or APID that is the identification information of the access request source application.
[0076] IOコントローラ 164は、ブリッジ 110から受信した IOアドレスにより表されるセグメント 番号、ページ番号について、変換テーブルを参照して、アクセスが許可されているか 否かを見出す。たとえば、「セグメント = 1、ページ = 2、オフセット =0」を示す IOアド レスとともに受信したアクセス要求元ノード ID、または APIDが Cである場合には、変 換テーブルはセグメント = 1、ページ = 2に対して IOID=Cを対応づけ、アクセス要 求元ノード ID、または APID = Cで識別されるアプリケーションによる物理アドレス dへ のアクセスが許可されることを規定しているので、 IOコントローラ 164は、物理アドレス dへのアクセスを許可する。一方、「セグメント = 127、ページ = 1、オフセット =0」を 示す IOアドレスとともに受信したアクセス要求元ノード ID、または APIDが Cである場 合には、変換テーブルはセグメント = 127、ページ = 1に対して IOID = Dを対応づけ 、アクセス要求元ノード ID、または APID = Cで識別されるアプリケーションによるァク セスが許可されないことを示しているので、 IOコントローラ 164は、エラー信号を返し て、アクセスを拒否する。  The IO controller 164 refers to the conversion table for the segment number and page number represented by the IO address received from the bridge 110 and finds whether access is permitted. For example, if the access request source node ID received with an IO address indicating “Segment = 1, Page = 2, Offset = 0”, or APID is C, the conversion table will have segment = 1, page = 2 Since IOID = C is associated with the access request node ID or the application identified by APID = C is permitted to access physical address d, IO controller 164 Allows access to physical address d. On the other hand, if the access request source node ID received with an IO address indicating `` Segment = 127, Page = 1, Offset = 0 '', or APID is C, the conversion table is set to Segment = 127 and Page = 1 Since IOID = D is associated with this, indicating that access by the application identified by the access request source node ID or APID = C is not permitted, the IO controller 164 returns an error signal and accesses To refuse.
[0077] なお、変換テーブルからわかるように、同じアクセス要求元ノード、または同じアプリ ケーシヨン (たとえば IOID= Aに対応するアクセス要求元ノード、またはアプリケーシ ヨン)に対して、メモリ上の連続したエリア(物理アドレス a、 bにより示されるエリア)にマ ッビングされる。 [0077] As can be seen from the conversion table, for the same access request source node or the same application (for example, the access request source node corresponding to IOID = A or the application), a continuous area (in memory) ( In the area indicated by physical addresses a and b) Be rubbed.
[0078] 以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの 各構成要素や各処理プロセスの組合せに 、ろ 、ろな変形例が可能なこと、またそうし た変形例も本発明の範囲にあることは当業者に理解されるところである。  [0078] The present invention has been described based on the embodiments. It is to be understood by those skilled in the art that the embodiments are illustrative, and that various modifications can be made to combinations of the respective constituent elements and processing processes, and that such modifications are also within the scope of the present invention. It is understood.
そのような変形例として、スィッチ 80は PCIバスを相互接続するものであった力 P CI以外の規格のバスを相互接続するスィッチを用いてネットワークを構成してもよ 、。 産業上の利用可能性  As such a variation, the switch 80 may be configured to use a switch that interconnects buses of standards other than the force PCI that interconnected PCI buses. Industrial applicability
[0079] 本発明は、コンピュータネットワークシステムの分野に適用することができる。 [0079] The present invention can be applied to the field of computer network systems.

Claims

請求の範囲 The scope of the claims
[1] プロセッサユニットの入出力バスを、複数のプロセッサユニットが相互接続されるス イッチング装置の入出力バスへと中継するブリッジであって、  [1] A bridge that relays an input / output bus of a processor unit to an input / output bus of a switching device to which a plurality of processor units are interconnected.
各プロセッサユニットの実効アドレスがマッピングされた前記複数のプロセッサュ- ット間で共有されるグローバルアドレス空間を前提として、当該プロセッサユニットから 、前記複数のプロセッサユニットの内いずれかのターゲットノードの実効アドレスを指 定したアクセス要求パケットを受け取る上流ポートと、  Assuming a global address space shared among the plurality of processor units to which the effective addresses of the respective processor units are mapped, the effective address of one of the target nodes of the plurality of processor units is obtained from the processor unit. An upstream port that receives the specified access request packet; and
前記ターゲットノードの実効アドレスにそのターゲットノードの、スイッチングに必要 なノード識別番号を付加することにより、前記ターゲットノードの実効アドレスをグロ一 バルアドレスに変換する変換部と、  A conversion unit that converts the effective address of the target node into a global address by adding a node identification number necessary for switching of the target node to the effective address of the target node;
前記グローバルアドレスが指定されたアクセス要求パケットを前記スイッチング装置 に出力する下流ポートとを含むことを特徴とするブリッジ。  And a downstream port that outputs an access request packet in which the global address is specified to the switching device.
[2] 前記複数のプロセッサユニット上で動作する分散アプリケーションを一意に識別す るアプリケーション識別番号によって前記グローノ レアドレス空間が論理的に区分け される場合に、前記変換部は、前記グローバルアドレスが指定されたアクセス要求パ ケット内に前記アプリケーション識別番号を格納することを特徴とする請求項 1に記載 のブリッジ。  [2] When the global address space is logically divided by an application identification number that uniquely identifies a distributed application operating on the plurality of processor units, the conversion unit is designated with the global address. The bridge according to claim 1, wherein the application identification number is stored in a received access request packet.
[3] 前記下流ポートが、前記複数のプロセッサユニットのいずれかであるソースノードか ら、当該プロセッサユニットをターゲットノードとしてその実効アドレスを指定したァクセ ス要求パケットを受け取った場合、前記変換部は、前記アクセス要求パケットから前 記アプリケーション識別番号を取得し、前記上流ポートは、前記アクセス要求パケット に指定された当該プロセッサユニットの実効アドレスとともに、前記アクセス要求パケ ットから取得した前記アプリケーション識別番号を当該プロセッサユニットに渡すこと を特徴とする請求項 2に記載のブリッジ。  [3] When the downstream port receives an access request packet designating the effective address from the source node which is one of the plurality of processor units with the processor unit as the target node, The application identification number is acquired from the access request packet, and the upstream port includes the application identification number acquired from the access request packet together with the effective address of the processor unit specified in the access request packet. The bridge according to claim 2, wherein the bridge is passed to the processor unit.
[4] プロセッサユニットと、  [4] processor unit;
当該プロセッサユニットの入出力バスを、複数のプロセッサユニットが相互接続され るスイッチング装置の入出力バスへと中継するブリッジとを含み、  A bridge that relays the input / output bus of the processor unit to the input / output bus of a switching device to which the plurality of processor units are interconnected;
前記ブリッジは、 各プロセッサユニットの実効アドレスがマッピングされた前記複数のプロセッサュ- ット間で共有されるグローバルアドレス空間を前提として、当該プロセッサユニットから 、前記複数のプロセッサユニットの内いずれかのターゲットノードの実効アドレスを指 定したアクセス要求パケットを受け取る上流ポートと、 The bridge is Assuming a global address space shared among the plurality of processor units to which the effective addresses of the respective processor units are mapped, the effective address of one of the target nodes of the plurality of processor units is obtained from the processor unit. An upstream port that receives the specified access request packet; and
前記ターゲットノードの実効アドレスにそのターゲットノードの、スイッチングに必要 なノード識別番号を付加することにより、前記ターゲットノードの実効アドレスをグロ一 バルアドレスに変換する変換部と、  A conversion unit that converts the effective address of the target node into a global address by adding a node identification number necessary for switching of the target node to the effective address of the target node;
前記グローバルアドレスが指定されたアクセス要求パケットを前記スイッチング装置 に出力する下流ポートとを含むことを特徴とする情報処理装置。  And a downstream port that outputs an access request packet in which the global address is designated to the switching device.
[5] 前記複数のプロセッサユニット上で動作する分散アプリケーションを一意に識別す るアプリケーション識別番号によって前記グローノ レアドレス空間が論理的に区分け される場合に、前記変換部は、前記グローバルアドレスが指定されたアクセス要求パ ケット内に前記アプリケーション識別番号を格納することを特徴とする請求項 4に記載 の情報処理装置。 [5] When the global address space is logically divided by an application identification number that uniquely identifies a distributed application operating on the plurality of processor units, the conversion unit is designated with the global address. 5. The information processing apparatus according to claim 4, wherein the application identification number is stored in an access request packet.
[6] 前記下流ポートが、前記複数のプロセッサユニットのいずれかであるソースノードか ら、当該プロセッサユニットをターゲットノードとしてその実効アドレスを指定したァクセ ス要求パケットを受け取った場合、前記変換部は、前記アクセス要求パケットから前 記アプリケーション識別番号を取得し、前記上流ポートは、前記アクセス要求パケット に指定された当該プロセッサユニットの実効アドレスとともに、前記アクセス要求パケ ットから取得した前記アプリケーション識別番号を当該プロセッサユニットに渡すこと を特徴とする請求項 5に記載の情報処理装置。  [6] When the downstream port receives an access request packet in which the effective address is specified with the processor unit as a target node from a source node that is one of the plurality of processor units, the conversion unit: The application identification number is acquired from the access request packet, and the upstream port includes the application identification number acquired from the access request packet together with the effective address of the processor unit specified in the access request packet. 6. The information processing apparatus according to claim 5, wherein the information processing apparatus is passed to a processor unit.
[7] 当該プロセッサユニットは、前記ブリッジ力も渡された前記アプリケーション識別番 号をもとに、当該プロセッサユニットの実効アドレスへのアクセスの許否を決定するこ とを特徴とする請求項 6に記載の情報処理装置。  [7] The processor unit according to claim 6, wherein the processor unit determines whether or not access to the effective address of the processor unit is permitted based on the application identification number to which the bridging power is also passed. Information processing device.
[8] 当該プロセッサユニットは、実効アドレスを物理アドレスに変換するためのアドレス 変換テーブルを含み、前記アドレス変換テーブルは、実効アドレスに対するアクセス を許可する分散アプリケーションの識別番号を許可識別番号として実効アドレスに対 応づけて格納しており、 当該プロセッサユニットは、当該プロセッサユニットの実効アドレスへのアクセス要求 を受けて、前記アドレス変換テーブルを参照して当該実効アドレスを物理アドレスに 変換する際に、前記アドレス変換テーブルにおいて当該実効アドレスに対応づけら れた許可識別番号と、前記ブリッジから渡された前記アプリケーション識別番号とが 一致するか否かにより、当該実効アドレスに対するアクセスの許否を決定することを 特徴とする請求項 7に記載の情報処理装置。 [8] The processor unit includes an address conversion table for converting an effective address into a physical address, and the address conversion table uses an identification number of a distributed application that permits access to the effective address as an effective identification number. Stored in correspondence. When the processor unit receives an access request to the effective address of the processor unit and refers to the address conversion table to convert the effective address to a physical address, the processor unit associates the effective address with the effective address in the address conversion table. 8. The information processing according to claim 7, wherein whether or not access to the effective address is permitted is determined based on whether or not the authorization identification number obtained matches the application identification number passed from the bridge. apparatus.
[9] 複数のプロセッサユニットと、 [9] With multiple processor units,
複数のプロセッサユニットを相互接続するスイッチング装置と、  A switching device interconnecting a plurality of processor units;
各プロセッサユニットの入出力バスを前記スイッチング装置の入出力バスへと中継 するブリッジとを含み、  A bridge for relaying the input / output bus of each processor unit to the input / output bus of the switching device,
前記ブリッジは、  The bridge is
各プロセッサユニットの実効アドレスがマッピングされた前記複数のプロセッサュ- ット間で共有されるグローバルアドレス空間を前提として、当該プロセッサユニットから 、前記複数のプロセッサユニットの内いずれかであるターゲットノードの実効アドレス を指定したアクセス要求パケットを受け取る上流ポートと、  Assuming a global address space shared among the plurality of processor units to which the effective address of each processor unit is mapped, the effective address of the target node which is one of the plurality of processor units from the processor unit An upstream port that receives an access request packet specifying
前記ターゲットノードの実効アドレスにそのターゲットノードの、スイッチングに必要 なノード識別番号を付加することにより、前記ターゲットノードの実効アドレスをグロ一 バルアドレスに変換する変換部と、  A conversion unit that converts the effective address of the target node into a global address by adding a node identification number necessary for switching of the target node to the effective address of the target node;
前記グローバルアドレスが指定されたアクセス要求パケットを前記スイッチング装置 に出力する下流ポートとを含むことを特徴とする情報処理システム。  And a downstream port that outputs an access request packet in which the global address is specified to the switching device.
[10] 複数のプロセッサユニットの各々がブリッジを介してスイッチング装置に接続された 情報処理システムにおけるグローバルアドレス管理方法であって、 [10] A global address management method in an information processing system in which each of a plurality of processor units is connected to a switching device via a bridge,
各プロセッサユニットの実効アドレスがマッピングされた前記複数のプロセッサュ- ット間で共有されるグローバルアドレス空間を前提として、一のプロセッサユニットから 、前記複数のプロセッサユニットの内いずれかのターゲットノードの実効アドレスを指 定したアクセス要求パケットを受け取るステップと、  Assuming a global address space that is shared among the plurality of processor units to which the effective addresses of the respective processor units are mapped, the effective address of one of the plurality of processor units from one processor unit Receiving an access request packet specifying
前記ターゲットノードの実効アドレスにそのターゲットノードの、スイッチングに必要 なノード識別番号を付加することにより、前記ターゲットノードの実効アドレスをグロ一 バルアドレスに変換するステップと、 By adding a node identification number required for switching of the target node to the effective address of the target node, the effective address of the target node is grouped. A step of converting to a bar address;
前記グローバルアドレスが指定されたアクセス要求パケットを前記スイッチング装置 に転送するステップとを含むことを特徴とするグローバルアドレス管理方法。  Transferring the access request packet in which the global address is designated to the switching device.
[11] 前記複数のプロセッサユニット上で動作する分散アプリケーションを一意に識別す るアプリケーション識別番号によって前記グローノ レアドレス空間が論理的に区分け される場合に、前記グローバルアドレスが指定されたアクセス要求パケット内に前記 アプリケーション識別番号を格納した上で、前記スイッチング装置に転送することを特 徴とする請求項 10に記載のグローバルアドレス管理方法。  [11] When the global address space is logically divided by an application identification number that uniquely identifies a distributed application operating on the plurality of processor units, an access request packet in which the global address is specified is included. 11. The global address management method according to claim 10, wherein the application identification number is stored in and then transferred to the switching device.
[12] 前記複数のプロセッサユニットのいずれかのソースノードから、一のプロセッサュ- ットをターゲットノードとしてその実効アドレスを指定したアクセス要求パケットを受け 取った場合、前記アクセス要求パケットに格納された前記アプリケーション識別番号 を照合することにより、前記一のプロセッサユニットの実効アドレスに対する許可され て 、な 、分散アプリケーション力ものアクセスを禁止することを特徴とする請求項 11 に記載のグローバルアドレス管理方法。 [12] When an access request packet designating an effective address is received from any one of the plurality of processor units as a target node, the stored in the access request packet 12. The global address management method according to claim 11, wherein by collating the application identification number, access to the effective address of the one processor unit is permitted, but access to a distributed application is prohibited.
PCT/JP2006/323947 2006-01-16 2006-11-30 Bridge, information processor, information processing system, and method of managing global address WO2007080718A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006-008004 2006-01-16
JP2006008004A JP2009110032A (en) 2006-01-16 2006-01-16 Bridge, information processor, information processing system, and global address management method

Publications (1)

Publication Number Publication Date
WO2007080718A1 true WO2007080718A1 (en) 2007-07-19

Family

ID=38256131

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/323947 WO2007080718A1 (en) 2006-01-16 2006-11-30 Bridge, information processor, information processing system, and method of managing global address

Country Status (2)

Country Link
JP (1) JP2009110032A (en)
WO (1) WO2007080718A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010152892A (en) * 2008-12-10 2010-07-08 Nvidia Corp Chipset support for binding and shifting hardware device among heterogeneous processing units
JP2010170237A (en) * 2009-01-21 2010-08-05 Sony Corp Access key generating apparatus and information processing apparatus

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014004694A (en) * 2012-06-21 2014-01-16 Seiko Epson Corp Liquid discharge device
JP7181447B2 (en) 2018-03-30 2022-12-01 株式会社ソシオネクスト Information processing system, information processing method, and semiconductor device
JP6635209B2 (en) * 2018-04-18 2020-01-22 富士通クライアントコンピューティング株式会社 Information processing system
WO2019203331A1 (en) * 2018-04-18 2019-10-24 富士通クライアントコンピューティング株式会社 Repeating device and information processing system
JP6922879B2 (en) * 2018-11-30 2021-08-18 日本電気株式会社 Communication equipment, information processing systems, and communication methods
GB2586957A (en) * 2019-04-18 2021-03-17 Fujitsu Client Computing Ltd Repeating device and information processing system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05181751A (en) * 1991-12-26 1993-07-23 Fujitsu Ltd Distributed address conversion system
JPH0830567A (en) * 1994-07-14 1996-02-02 Hitachi Ltd Method for mutually accessing between processors in parallel computer
JPH08272754A (en) * 1995-03-30 1996-10-18 Nec Corp Multiprocessor system
JPH0922397A (en) * 1995-07-07 1997-01-21 Hitachi Ltd Parallel computers

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05181751A (en) * 1991-12-26 1993-07-23 Fujitsu Ltd Distributed address conversion system
JPH0830567A (en) * 1994-07-14 1996-02-02 Hitachi Ltd Method for mutually accessing between processors in parallel computer
JPH08272754A (en) * 1995-03-30 1996-10-18 Nec Corp Multiprocessor system
JPH0922397A (en) * 1995-07-07 1997-01-21 Hitachi Ltd Parallel computers

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010152892A (en) * 2008-12-10 2010-07-08 Nvidia Corp Chipset support for binding and shifting hardware device among heterogeneous processing units
JP2010170237A (en) * 2009-01-21 2010-08-05 Sony Corp Access key generating apparatus and information processing apparatus

Also Published As

Publication number Publication date
JP2009110032A (en) 2009-05-21

Similar Documents

Publication Publication Date Title
JP4469010B2 (en) Bridge, information processing system, and access control method
JP4219964B2 (en) Bridge, processor unit, information processing apparatus, and access control method
WO2007080718A1 (en) Bridge, information processor, information processing system, and method of managing global address
EP1358562B8 (en) Method and apparatus for controlling flow of data between data processing systems via a memory
JP4805314B2 (en) Offload input / output (I / O) virtualization operations to the processor
US8244931B2 (en) Methods and apparatus for providing bit-reversal and multicast functions utilizing DMA controller
EP0497600B1 (en) Memory access method and apparatus
EP2284702A1 (en) Operating cell processors over a network
US20130151750A1 (en) Multi-root input output virtualization aware switch
CA2432390A1 (en) Method and apparatus for controlling flow of data between data processing systems via a memory
JP2010165022A (en) Inter-processor communication device, inter-processor communication method, program, and recording medium
CN112867998B (en) Operation accelerator, switch, task scheduling method and processing system
US20090235048A1 (en) Information processing apparatus, signal transmission method, and bridge
GB2396450A (en) Data bus system and method for performing cross-access between buses
US7254667B2 (en) Data transfer between an external data source and a memory associated with a data processor
JP2007241904A (en) Bridge, information processor and access control method
US20230133088A1 (en) Methods and apparatus for system-on-a-chip neural network processing applications
WO2011030498A1 (en) Data processing device and data processing method
CN115309678A (en) Processing system, related integrated circuit, apparatus and method
US20080320201A1 (en) Central processing apparatus, control method therefor and information processing system
US20090132732A1 (en) Universal peripheral processor system for soc environments on an integrated circuit
Phan Byrne et al.(45) Date of Patent: Jul. 16, 2013
JP2006331452A (en) Bus control system and computer system
JP2004013324A (en) Arithmetic unit, data transfer system and data transfer program

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06833750

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP