JP5332784B2 - Multiprocessor system - Google Patents

Multiprocessor system Download PDF

Info

Publication number
JP5332784B2
JP5332784B2 JP2009068809A JP2009068809A JP5332784B2 JP 5332784 B2 JP5332784 B2 JP 5332784B2 JP 2009068809 A JP2009068809 A JP 2009068809A JP 2009068809 A JP2009068809 A JP 2009068809A JP 5332784 B2 JP5332784 B2 JP 5332784B2
Authority
JP
Japan
Prior art keywords
address
processors
multiprocessor system
cpu
address information
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.)
Active
Application number
JP2009068809A
Other languages
Japanese (ja)
Other versions
JP2010224671A (en
Inventor
盛久 遠藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2009068809A priority Critical patent/JP5332784B2/en
Publication of JP2010224671A publication Critical patent/JP2010224671A/en
Application granted granted Critical
Publication of JP5332784B2 publication Critical patent/JP5332784B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、複数のプロセッサを有するマルチプロセッサシステムに関する。   The present invention relates to a multiprocessor system having a plurality of processors.

近年、複数のプロセッサ(CPU)を搭載したコンピュータシステムであるマルチプロセッサシステムが開発され使用されている。マルチプロセッサシステムでは、一般に、各プロセッサがPCIデバイスなどのI/Oデバイスを制御するために、I/Oデバイス毎にメモリ空間上にアドレス領域が割り当てられる。このようなアドレス領域の割り当ては、たとえば、マルチプロセッサシステムの起動時に、あるいはI/Oデバイスのシステムへの接続時に自動的に実行される。   In recent years, multiprocessor systems, which are computer systems equipped with a plurality of processors (CPUs), have been developed and used. In a multiprocessor system, generally, in order for each processor to control an I / O device such as a PCI device, an address area is allocated on a memory space for each I / O device. Such address area allocation is automatically executed, for example, when the multiprocessor system is started or when an I / O device is connected to the system.

この種のマルチプロセッサシステムに関する先行技術は、たとえば、特許文献1(特開2003−296262号公報)、特許文献2(特開2001−117892号公報)および特許文献3(特開2008−77389号公報)に開示されている。   Prior arts related to this type of multiprocessor system include, for example, Patent Document 1 (Japanese Patent Laid-Open No. 2003-296262), Patent Document 2 (Japanese Patent Laid-Open No. 2001-117922), and Patent Document 3 (Japanese Patent Laid-Open No. 2008-77389). ).

特開2003−296262号公報JP 2003-296262 A 特開2001−117892号公報JP 2001-117892 A 特開2008−77389号公報JP 2008-77389 A

複数のプロセッサがI/Oデバイスを共有するマルチプロセッサシステムでは、プロセッサ間で当該I/Oデバイスに対して重複するアドレス空間が割り当てられると、システムの誤動作が発生するおそれがある。なぜならば、当該I/Oデバイス側で、どのプロセッサからアクセスがあったのかが判別できない事態が起こり得るからである。複数のプロセッサがI/Oデバイスを共有しなければ、その種の誤動作を確実に防止することが可能である。図1は、I/Oデバイスを共有しない3個のプロセッサ(CPU)101A,101B,101Cを搭載するマルチプロセッサシステム100の概略構成を示す図である。図1に示されるように、CPU101A,101B,101Cは、I/Oインタフェース部102A,102B,102Cを介してそれぞれ対応するI/Oデバイス110A,110B,110Cに接続されている。   In a multiprocessor system in which a plurality of processors share an I / O device, a system malfunction may occur if an overlapping address space is assigned to the I / O device between the processors. This is because there may occur a situation in which it is impossible to determine which processor has accessed on the I / O device side. If a plurality of processors do not share an I / O device, it is possible to reliably prevent such a malfunction. FIG. 1 is a diagram showing a schematic configuration of a multiprocessor system 100 including three processors (CPUs) 101A, 101B, and 101C that do not share an I / O device. As shown in FIG. 1, the CPUs 101A, 101B, and 101C are connected to corresponding I / O devices 110A, 110B, and 110C via I / O interface units 102A, 102B, and 102C, respectively.

しかしながら、図1に示すように複数のI/Oインタフェース部102A,102B,102Cを実装するシステムでは、ハードウェア構成が大きくなり、その小型化が難しくなるという問題がある。   However, as shown in FIG. 1, a system in which a plurality of I / O interface units 102A, 102B, and 102C are mounted has a problem that the hardware configuration becomes large and it is difficult to reduce the size.

上記に鑑みて本発明の目的は、複数のプロセッサがI/Oデバイスなどの周辺装置を共有しても、当該周辺装置に割り当てられたアドレス空間の重複に起因する誤動作を確実に防止し得、ハードウェア構成の小型化をも可能にするマルチプロセッサシステムを提供することである。   In view of the above, even if a plurality of processors share a peripheral device such as an I / O device, the object of the present invention can reliably prevent malfunction caused by duplication of address spaces assigned to the peripheral device, It is an object of the present invention to provide a multiprocessor system that can reduce the size of the hardware configuration.

本発明によれば、複数のプロセッサと、前記複数のプロセッサとバスを介して接続され、前記複数のプロセッサのうちアクセス要求を発したプロセッサからのアドレス情報を共有メモリ空間内のアドレス情報に変換するアドレス変換部と、周辺装置を前記アドレス変換部と電気的に接続する入出力インタフェース部と、を備えたマルチプロセッサシステムが提供される。このマルチプロセッサシステムでは、当該周辺装置に対して前記複数のプロセッサがそれぞれ使用すべき複数のアドレス空間が割り当てられており、前記共有メモリ空間は、前記複数のプロセッサにそれぞれ対応する複数のアドレス領域を有し、前記アドレス変換部は、前記アクセス要求を発した当該プロセッサからのアドレス情報を、当該プロセッサに対応する当該アドレス領域内のアドレス情報に変換する。   According to the present invention, a plurality of processors are connected to the plurality of processors via a bus, and address information from a processor that has issued an access request among the plurality of processors is converted into address information in a shared memory space. There is provided a multiprocessor system including an address conversion unit and an input / output interface unit that electrically connects a peripheral device to the address conversion unit. In this multiprocessor system, a plurality of address spaces to be used by the plurality of processors are allocated to the peripheral device, and the shared memory space has a plurality of address areas respectively corresponding to the plurality of processors. And the address conversion unit converts address information from the processor that issued the access request into address information in the address area corresponding to the processor.

本発明によるマルチプロセッサシステムは、複数のプロセッサが周辺装置を共有する構成を有するが、異なるプロセッサ間で当該周辺装置に割り当てられたアドレス空間が重複しても、誤動作の発生を確実に防止することができる。また、ハードウェア構成の小型化も可能である。   Although the multiprocessor system according to the present invention has a configuration in which a plurality of processors share a peripheral device, even if the address spaces assigned to the peripheral device overlap between different processors, it is possible to reliably prevent the occurrence of a malfunction. Can do. In addition, the hardware configuration can be reduced in size.

複数のプロセッサ(CPU)を搭載するマルチプロセッサシステムの概略構成を示す図である。It is a figure which shows schematic structure of the multiprocessor system which mounts a some processor (CPU). 本発明に係る一実施形態のマルチプロセッサシステムの概略構成を示す図である。It is a figure which shows schematic structure of the multiprocessor system of one Embodiment which concerns on this invention. 複数のCPUがそれぞれ使用するアドレス空間を例示する図である。It is a figure which illustrates the address space which several CPU each uses. 共有メモリ空間を例示する図である。It is a figure which illustrates a shared memory space. アドレス変換回路の構成の一例を概略的に示す機能ブロック図である。It is a functional block diagram which shows roughly an example of a structure of an address conversion circuit.

以下、本発明に係る実施の形態について図面を参照しつつ説明する。なお、すべての図面において、同様な構成要素には同一符号を付し、その詳細な説明は重複しないように適宜省略される。   Embodiments according to the present invention will be described below with reference to the drawings. In all the drawings, the same components are denoted by the same reference numerals, and detailed description thereof is appropriately omitted so as not to overlap.

図2は、本発明に係る一実施形態のマルチプロセッサシステム1の概略構成を示す図である。図2に示されるように、マルチプロセッサシステム1は、複数のプロセッサ(CPU:Central Processing Unit)10A,10B,10Cとアドレス変換回路13とを有する。図示しないが、マルチプロセッサシステム1は、CPU10A,10B,10Cやアドレス変換回路13の他に、マルチプロセッサシステム1の全体の制御を司るホストコントローラ、ROM(Read Only Memory)、RAM(Random Access Memory)および各種演算処理ユニットなどの、実計算機を構成するハードウェア資源を有している。   FIG. 2 is a diagram showing a schematic configuration of a multiprocessor system 1 according to an embodiment of the present invention. As shown in FIG. 2, the multiprocessor system 1 includes a plurality of processors (CPU: Central Processing Unit) 10 </ b> A, 10 </ b> B, and 10 </ b> C and an address conversion circuit 13. Although not shown, the multiprocessor system 1 includes, in addition to the CPUs 10A, 10B, and 10C and the address conversion circuit 13, a host controller that controls the entire multiprocessor system 1, a ROM (Read Only Memory), and a RAM (Random Access Memory). And hardware resources constituting an actual computer such as various arithmetic processing units.

CPU10A,10B,10Cは、それぞれ対応するバス11A,11B,11Cを介してアドレス変換回路13に接続されている。これらバス11A,11B,11Cは、アドレスバスとデータバスを含むものである。アドレス変換回路13には、PCI(Peripheral Component Interconnect)デバイスなどの周辺装置であるI/Oデバイス14が着脱自在に接続されており、このI/Oデバイス14は、CPU10A,10B,10Cによって共有されるものである。   The CPUs 10A, 10B, and 10C are connected to the address conversion circuit 13 via corresponding buses 11A, 11B, and 11C, respectively. These buses 11A, 11B, and 11C include an address bus and a data bus. An I / O device 14 that is a peripheral device such as a peripheral component interconnect (PCI) device is detachably connected to the address conversion circuit 13, and the I / O device 14 is shared by the CPUs 10A, 10B, and 10C. Is.

I/Oデバイス14がアドレス変換回路13に接続されたとき、あるいは、マルチプロセッサシステム1が起動されたとき、当該I/Oデバイス14を制御するためにCPU10A,10B,10Cがそれぞれ使用すべきアドレス空間がメモリ空間内に自動的に割り当てられる。これらアドレス空間の割り当ては、たとえばBIOS(Basic Input/Output System)などの起動システムにより実行される。   When the I / O device 14 is connected to the address conversion circuit 13 or when the multiprocessor system 1 is activated, the addresses to be used by the CPUs 10A, 10B, and 10C to control the I / O device 14 respectively. Space is automatically allocated in memory space. The allocation of these address spaces is executed by a startup system such as BIOS (Basic Input / Output System).

図3(A)〜図3(C)は、CPU10A,10B,10Cがそれぞれ使用するアドレス空間を例示する図である。CPU10Aにより使用されるアドレス空間としては、図3(A)のメモリ空間内のアドレス0x0002_0000〜0x0005_FFFF(「0x」は16進数形式のアドレスを表すための接頭記号)の領域が割り当てられている。CPU10Bにより使用されるべきアドレス空間として、図3(B)のメモリ空間内のアドレス0x0003_0000〜0x0006_FFFFの領域が割り当てられている。そして、CPU10Cにより使用されるべきアドレス空間としては、図3(C)のメモリ空間内のアドレス0x0001_0000〜0x0004_FFFFの領域が割り当てられている。これら図3(A)〜図3(C)に示されるように、I/Oデバイス14に対して割り当てられたアドレス空間は重複している。言い換えれば、CPU10A,10B,10Cがそれぞれ使用するアドレスが同一になり得る。   3A to 3C are diagrams illustrating address spaces used by the CPUs 10A, 10B, and 10C, respectively. As an address space used by the CPU 10A, an area of addresses 0x0002 — 0000 to 0x0005_FFFF (“0x” is a prefix symbol for representing an address in hexadecimal format) in the memory space of FIG. 3A is allocated. As an address space to be used by the CPU 10B, an area of addresses 0x0003_0000 to 0x0006_FFFF in the memory space of FIG. 3B is allocated. As an address space to be used by the CPU 10C, an area of addresses 0x0001_0000 to 0x0004_FFFF in the memory space of FIG. 3C is allocated. As shown in FIGS. 3A to 3C, the address spaces assigned to the I / O devices 14 are overlapped. In other words, the addresses used by the CPUs 10A, 10B, and 10C can be the same.

CPU10A,10B,10Cは、I/Oデバイス14にアクセスしようとするとき、アクセス要求をアドレス変換回路13に発する。アドレス変換回路13が当該アクセス要求を許可したとき、この許可を受けたCPUは、I/Oデバイス14を制御するためにアドレス情報をアドレス変換回路13に供給する。アドレス変換回路13は、CPU10A,10B,10Cのうちのいずれかから転送されたアドレス情報を共有メモリ空間内のアドレス情報に変換し、その変換後のアドレス情報をI/Oデバイス14に供給する。   The CPUs 10 </ b> A, 10 </ b> B, and 10 </ b> C issue an access request to the address conversion circuit 13 when trying to access the I / O device 14. When the address conversion circuit 13 permits the access request, the CPU that has received this permission supplies address information to the address conversion circuit 13 in order to control the I / O device 14. The address conversion circuit 13 converts address information transferred from any of the CPUs 10A, 10B, and 10C into address information in the shared memory space, and supplies the converted address information to the I / O device 14.

共有メモリ空間は、CPU10A,10B,10Cにそれぞれ対応するアドレス領域を有し、これらアドレス領域は、共有メモリ空間内で互いに重複しないように排他的に割り当てられている。アドレス変換回路13は、この共有メモリ空間を利用して、アクセス要求の許可を受けたCPUからのアドレス情報を当該CPUに対応するアドレス領域内のアドレス情報に変換する機能(アドレス変換機能)を有する。これにより、CPU10A,10B,10Cが使用するアドレスが互いに重複したとしても、アドレスの競合が排除されるので、システムの誤動作を防止することが可能となる。   The shared memory space has address areas respectively corresponding to the CPUs 10A, 10B, and 10C, and these address areas are exclusively assigned so as not to overlap each other in the shared memory space. The address conversion circuit 13 has a function (address conversion function) for converting address information from a CPU that has received an access request permission into address information in an address area corresponding to the CPU by using the shared memory space. . As a result, even if the addresses used by the CPUs 10A, 10B, and 10C overlap each other, address conflicts are eliminated, so that it is possible to prevent system malfunction.

共有メモリ空間内のアドレス領域は、I/Oデバイス14がアドレス変換回路13に接続されたとき、あるいは、マルチプロセッサシステム1が起動されたときにBIOSなどの起動システムにより自動的に割り当てられる。   The address area in the shared memory space is automatically assigned by an activation system such as BIOS when the I / O device 14 is connected to the address conversion circuit 13 or when the multiprocessor system 1 is activated.

図4は、共有メモリ空間を例示する図である。図4に示されるように、共有メモリ空間内には、CPU10Aに対応するアドレス0x0000_0000〜0x0003_FFFFの領域A1が割り当てられ、CPU10Bに対応するアドレス0x0004_0000〜0x0007_FFFFの領域A2が割り当てられ、CPU10Cに対応するアドレス0x0008_0000〜0x000B_FFFFの領域A3が割り当てられている。   FIG. 4 is a diagram illustrating a shared memory space. As shown in FIG. 4, in the shared memory space, an area A1 of addresses 0x0000 — 0000 to 0x0003_FFFF corresponding to the CPU 10A is allocated, an area A2 of addresses 0x0004 — 0000 to 0x0007_FFFF corresponding to the CPU 10B is allocated, and an address corresponding to the CPU 10C A region A3 of 0x0008_0000 to 0x000B_FFFF is allocated.

図5は、アドレス変換回路13の構成の一例を概略的に示す機能ブロック図である。図5に示されるように、アドレス変換回路13は、CPUインタフェース部30〜32、調停部33、スイッチ部34、アドレス変換部35およびI/Oインタフェース部(入出力インタフェース部)36を有している。アドレス変換回路13は、FPGA(Field Programmable Gate Array)と呼ばれる論理書き換え可能な集積回路を用いて実現することが可能である。   FIG. 5 is a functional block diagram schematically showing an example of the configuration of the address conversion circuit 13. As shown in FIG. 5, the address conversion circuit 13 includes CPU interface units 30 to 32, an arbitration unit 33, a switch unit 34, an address conversion unit 35, and an I / O interface unit (input / output interface unit) 36. Yes. The address conversion circuit 13 can be realized using a logic rewritable integrated circuit called FPGA (Field Programmable Gate Array).

図2のCPU10A,10B,10Cはそれぞれ対応するCPUインタフェース部30,31,32を介して調停部33とスイッチ部34とに接続されている。   The CPUs 10A, 10B, and 10C in FIG. 2 are connected to the arbitration unit 33 and the switch unit 34 through corresponding CPU interface units 30, 31, and 32, respectively.

調停部33は、CPU10A,10B,10Cのうち2個以上のCPUから到来した複数のアクセス要求が競合した場合にその競合を調停する機能を有する。調停部33は、その調停結果に基づいて、CPU10A,10B,10Cのいずれかにアクセス要求を許可する。具体的には、複数のCPUからのアクセス要求が競合するときにバスアクセスが競合するので、調停部33は、かかる競合を調停する機能を有している。   The arbitration unit 33 has a function of arbitrating a conflict when a plurality of access requests coming from two or more CPUs among the CPUs 10A, 10B, and 10C compete. The arbitration unit 33 permits an access request to any of the CPUs 10A, 10B, and 10C based on the arbitration result. Specifically, since bus access competes when access requests from a plurality of CPUs compete, the arbitration unit 33 has a function of arbitrating such competition.

スイッチ部34は、アクセス要求の許可を受けたCPUをアドレス変換部35に接続する機能を有する。より具体的には、スイッチ部34は、アクセス要求の許可を受けたCPUからのアクセスが発生すると、当該CPUからのアドレス情報を監視することで、どのCPUからアドレス情報が転送されたかを判別することができる。この判別結果に基づいて、スイッチ部34は、アクセス要求の許可を受けたCPUとI/Oインタフェース部36(またはアドレス変換部35)との間の信号転送を実行する。当該CPUは、I/Oデバイス14を制御するためにアドレス情報をアドレス変換部35に供給することができる。   The switch unit 34 has a function of connecting a CPU that has received permission for an access request to the address conversion unit 35. More specifically, when an access from a CPU that has received an access request is permitted, the switch unit 34 monitors the address information from the CPU to determine from which CPU the address information has been transferred. be able to. Based on the determination result, the switch unit 34 executes signal transfer between the CPU that has received the access request permission and the I / O interface unit 36 (or the address conversion unit 35). The CPU can supply address information to the address conversion unit 35 in order to control the I / O device 14.

アドレス変換部35は、上述の共有メモリ空間を使用して、アクセス要求の許可を受けたCPUから転送されたアドレス情報を変換する。変換後のアドレス情報は、I/Oインタフェース部36を介してI/Oデバイス14に転送される。   The address conversion unit 35 uses the above-described shared memory space to convert the address information transferred from the CPU that has received the access request permission. The converted address information is transferred to the I / O device 14 via the I / O interface unit 36.

たとえば、CPU10AからI/Oデバイス14へのアクセスが発生するとき、CPU10Aは、図3(A)のアドレス0x0002_0000〜0x0005_FFFFの領域でのアドレス情報を利用したデータアクセスを行う。この場合、アドレス変換部35は、CPU10Aからのアクセスが発生したと認識し、CPU10Aからのアドレス情報を図4のアドレス領域A1内のアドレス情報へ変換する。   For example, when access from the CPU 10A to the I / O device 14 occurs, the CPU 10A performs data access using address information in the area of addresses 0x0002_0000 to 0x0005_FFFF in FIG. In this case, the address conversion unit 35 recognizes that the access from the CPU 10A has occurred, and converts the address information from the CPU 10A into the address information in the address area A1 of FIG.

同様に、CPU10BからI/Oデバイス14へのアクセスが発生するときは、CPU10Bは、図3(B)のアドレス0x0003_0000〜0x0006_FFFFの領域でのアドレス情報を利用したデータアクセスを行う。この場合、アドレス変換部35は、CPU10Bからのアクセスが発生したと認識し、CPU10Bからのアドレス情報を図4のアドレス領域A2内のアドレス情報へ変換する。また、CPU10CからI/Oデバイス14へのアクセスが発生するときは、CPU10Cは、図3(C)のアドレス0x0001_0000〜0x0004_FFFFの領域でのアドレス情報を利用したデータアクセスを行う。この場合、アドレス変換部35は、CPU10Cからのアクセスが発生したと認識し、CPU10Cからのアドレス情報を図4のアドレス領域A3内のアドレス情報へ変換する。   Similarly, when access from the CPU 10B to the I / O device 14 occurs, the CPU 10B performs data access using the address information in the area of addresses 0x0003_0000 to 0x0006_FFFF in FIG. In this case, the address conversion unit 35 recognizes that the access from the CPU 10B has occurred, and converts the address information from the CPU 10B into the address information in the address area A2 of FIG. When access from the CPU 10C to the I / O device 14 occurs, the CPU 10C performs data access using address information in the area of addresses 0x0001_0000 to 0x0004_FFFF in FIG. In this case, the address conversion unit 35 recognizes that the access from the CPU 10C has occurred, and converts the address information from the CPU 10C into the address information in the address area A3 in FIG.

本実施形態のマルチプロセッサシステム1が奏する効果は以下の通りである。   The effects produced by the multiprocessor system 1 of the present embodiment are as follows.

上述した通り、マルチプロセッサシステム1は、複数のCPU(プロセッサ)10A,10B,10CがI/Oデバイス14を共有する構成を有するが、異なるCPU間で当該I/Oデバイス14に割り当てられたアドレス空間が重複しても、アドレス変換回路13は、アドレスの競合を排除することができる。よって、アドレス空間の重複に起因するシステムの誤動作の発生を確実に防止することができる。また、I/Oデバイス14を共有できるので、マルチプロセッサシステム1のハードウェア構成を小型化することが可能である。   As described above, the multiprocessor system 1 has a configuration in which a plurality of CPUs (processors) 10A, 10B, and 10C share the I / O device 14, but addresses assigned to the I / O device 14 between different CPUs. Even if the spaces overlap, the address conversion circuit 13 can eliminate address conflicts. Therefore, it is possible to reliably prevent the malfunction of the system due to the overlapping address space. Further, since the I / O device 14 can be shared, the hardware configuration of the multiprocessor system 1 can be reduced in size.

また、CPU(プロセッサ)10A,10B,10Cが使用するアドレス空間の重複が許されるので、これらアドレス空間を割り当てるためのアルゴリズムとして既存のアルゴリズムを流用することが可能である。また、CPU10A,10B,10Cが使用するアドレス空間を割り当てるために新たにソフトウェアやドライバソフトを開発する必要がない。   Further, since duplication of address spaces used by the CPUs (processors) 10A, 10B, and 10C is allowed, existing algorithms can be used as algorithms for assigning these address spaces. Further, it is not necessary to develop new software or driver software in order to allocate an address space used by the CPUs 10A, 10B, and 10C.

さらに、アドレス変換回路13はハードウェア構成で実現することができる。これにより、I/Oデバイス14への高速なデータアクセスが可能となり、システムの高性能化を実現することが可能である。   Further, the address conversion circuit 13 can be realized by a hardware configuration. As a result, high-speed data access to the I / O device 14 becomes possible, and high performance of the system can be realized.

以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。たとえば、マルチプロセッサシステム1は、3個のプロセッサ(CPU)10A,10B,10Cを有するが、プロセッサの数は3個に限らず、4個以上であってよい。
以下、参考形態の例を付記する。
1. 複数のプロセッサと、
前記複数のプロセッサとバスを介して接続され、前記複数のプロセッサのうちアクセス要求を発したプロセッサからのアドレス情報を共有メモリ空間内のアドレス情報に変換するアドレス変換部と、
周辺装置を前記アドレス変換部と電気的に接続する入出力インタフェース部と、
を備え、
当該周辺装置に対して前記複数のプロセッサがそれぞれ使用すべき複数のアドレス空間が割り当てられており、
前記共有メモリ空間は、前記複数のプロセッサにそれぞれ対応する複数のアドレス領域を有し、
前記アドレス変換部は、前記アクセス要求を発した当該プロセッサからのアドレス情報を、当該プロセッサに対応する当該アドレス領域内のアドレス情報に変換する、マルチプロセッサシステム。
2. 1.に記載のマルチプロセッサシステムであって、前記複数のアドレス領域は、前記複数のプロセッサにそれぞれ対応しかつ互いに重複しない排他的なアドレス領域である、マルチプロセッサシステム。
3. 1.または2.に記載のマルチプロセッサシステムであって、前記複数のプロセッサのうちの2個以上のプロセッサから到来した複数の前記アクセス要求の競合を調停する調停部をさらに備える、マルチプロセッサシステム。
4. 3.に記載のマルチプロセッサシステムであって、前記周辺装置はPCI(Peripheral Component Interconnect)デバイスである、マルチプロセッサシステム。
As mentioned above, although embodiment of this invention was described with reference to drawings, these are the illustrations of this invention, Various structures other than the above are also employable. For example, the multiprocessor system 1 includes three processors (CPUs) 10A, 10B, and 10C, but the number of processors is not limited to three, and may be four or more.
Hereinafter, examples of the reference form will be added.
1. Multiple processors,
An address conversion unit that is connected to the plurality of processors via a bus and converts address information from a processor that has issued an access request among the plurality of processors into address information in a shared memory space;
An input / output interface unit for electrically connecting a peripheral device to the address conversion unit;
With
A plurality of address spaces to be used by the plurality of processors are allocated to the peripheral device,
The shared memory space has a plurality of address areas respectively corresponding to the plurality of processors,
The address conversion unit converts address information from the processor that issued the access request into address information in the address area corresponding to the processor.
2. 1. The multiprocessor system according to claim 1, wherein the plurality of address areas are exclusive address areas that respectively correspond to the plurality of processors and do not overlap each other.
3. 1. Or 2. The multiprocessor system according to claim 1, further comprising an arbitration unit that arbitrates contention between the plurality of access requests coming from two or more of the plurality of processors.
4). 3. The multiprocessor system according to claim 1, wherein the peripheral device is a PCI (Peripheral Component Interconnect) device.

1 マルチプロセッサシステム
10A,10B,10C CPU(プロセッサ)
13 アドレス変換回路
14 I/Oデバイス(周辺装置)
30,31,32 CPUインタフェース部
33 調停部
34 スイッチ部
35 アドレス変換部
36 I/Oインタフェース部(入出力インタフェース部)
1 Multiprocessor system 10A, 10B, 10C CPU (processor)
13 Address conversion circuit 14 I / O device (peripheral device)
30, 31, 32 CPU interface unit 33 Arbitration unit 34 Switch unit 35 Address conversion unit 36 I / O interface unit (input / output interface unit)

Claims (3)

複数のプロセッサと、
前記複数のプロセッサとバスを介して接続され、前記複数のプロセッサのうちアクセス要求を発したプロセッサからのアドレス情報を共有メモリ空間内のアドレス情報に変換するアドレス変換部と、
周辺装置を前記アドレス変換部と電気的に接続する入出力インタフェース部と、
を備え、
当該周辺装置に対して前記複数のプロセッサがそれぞれ使用すべき複数のアドレス空間が割り当てられており、
前記共有メモリ空間は、前記複数のプロセッサにそれぞれ対応する複数のアドレス領域を有し、
前記アドレス変換部は、前記アクセス要求を発した当該プロセッサからのアドレス情報を、当該プロセッサに対応する当該アドレス領域内のアドレス情報に変換し
前記複数のアドレス領域は、前記複数のプロセッサにそれぞれ対応しかつ互いに重複しない排他的なアドレス領域である、
マルチプロセッサシステム。
Multiple processors,
An address conversion unit that is connected to the plurality of processors via a bus and converts address information from a processor that has issued an access request among the plurality of processors into address information in a shared memory space;
An input / output interface unit for electrically connecting a peripheral device to the address conversion unit;
With
A plurality of address spaces to be used by the plurality of processors are allocated to the peripheral device,
The shared memory space has a plurality of address areas respectively corresponding to the plurality of processors,
The address conversion unit converts the address information from the processor that has issued the access request into address information in the address area corresponding to the processor ,
The plurality of address areas are exclusive address areas corresponding to the plurality of processors and not overlapping each other,
Multiprocessor system.
請求項1に記載のマルチプロセッサシステムであって、前記複数のプロセッサのうちの2個以上のプロセッサから到来した複数の前記アクセス要求の競合を調停する調停部をさらに備える、マルチプロセッサシステム。 2. The multiprocessor system according to claim 1, further comprising an arbitration unit that arbitrates contention between a plurality of the access requests arriving from two or more processors of the plurality of processors. 請求項に記載のマルチプロセッサシステムであって、前記周辺装置はPCI(Peripheral Component Interconnect)デバイスである、マルチプロセッサシステム。 3. The multiprocessor system according to claim 2 , wherein the peripheral device is a PCI (Peripheral Component Interconnect) device.
JP2009068809A 2009-03-19 2009-03-19 Multiprocessor system Active JP5332784B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009068809A JP5332784B2 (en) 2009-03-19 2009-03-19 Multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009068809A JP5332784B2 (en) 2009-03-19 2009-03-19 Multiprocessor system

Publications (2)

Publication Number Publication Date
JP2010224671A JP2010224671A (en) 2010-10-07
JP5332784B2 true JP5332784B2 (en) 2013-11-06

Family

ID=43041819

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009068809A Active JP5332784B2 (en) 2009-03-19 2009-03-19 Multiprocessor system

Country Status (1)

Country Link
JP (1) JP5332784B2 (en)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62156746A (en) * 1985-12-27 1987-07-11 Nec Corp I/o protection control system
JPH0721086A (en) * 1993-07-07 1995-01-24 Hitachi Ltd Computer system
US6308248B1 (en) * 1996-12-31 2001-10-23 Compaq Computer Corporation Method and system for allocating memory space using mapping controller, page table and frame numbers
US6487619B1 (en) * 1999-10-14 2002-11-26 Nec Corporation Multiprocessor system that communicates through an internal bus using a network protocol
JP2003296262A (en) * 2002-04-03 2003-10-17 Nec Corp Computer external equipment and computer system equipped with the same
JP2008077389A (en) * 2006-09-21 2008-04-03 Murata Mach Ltd Data processor

Also Published As

Publication number Publication date
JP2010224671A (en) 2010-10-07

Similar Documents

Publication Publication Date Title
JP4219964B2 (en) Bridge, processor unit, information processing apparatus, and access control method
US6519666B1 (en) Arbitration scheme for optimal performance
JP3807250B2 (en) Cluster system, computer and program
US8725919B1 (en) Device configuration for multiprocessor systems
JP6880402B2 (en) Memory access control device and its control method
US6321284B1 (en) Multiprocessor system with multiple memory buses for access to shared memories
JP2005309553A (en) Computer
JP4609521B2 (en) Information processing apparatus, information processing method, and computer program
KR20110097447A (en) System on chip having interrupt proxy and processing method thereof
JP2006260488A (en) Partition allocating method, and computer system
JP5332784B2 (en) Multiprocessor system
JP2004133942A (en) Data bus system and inter-bus crossing accessing method
US20030229721A1 (en) Address virtualization of a multi-partitionable machine
JPH03105546A (en) Multiplex shared memory control system, multiplex shared memory system, and shared memory extension system
JP2007199859A (en) Data transfer system
JP5981004B2 (en) Semiconductor device
JP2004199187A (en) Cpu built-in lsi
JP5805546B2 (en) Semiconductor device
JPH0973429A (en) Computer system and inter-bus control circuit
JP2006277363A (en) Information transfer system, and image forming device
JPS63175964A (en) Shared memory
JP2007108858A (en) Pin sharing device and pin sharing method
JPH08272754A (en) Multiprocessor system
JP2011248551A (en) Access control device
KR19990031220A (en) V. M. Bus Controls in V. M. Bus Systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130416

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130613

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130702

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130715

R150 Certificate of patent or registration of utility model

Ref document number: 5332784

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150