JPH03166640A - Multi-processor system - Google Patents

Multi-processor system

Info

Publication number
JPH03166640A
JPH03166640A JP30709589A JP30709589A JPH03166640A JP H03166640 A JPH03166640 A JP H03166640A JP 30709589 A JP30709589 A JP 30709589A JP 30709589 A JP30709589 A JP 30709589A JP H03166640 A JPH03166640 A JP H03166640A
Authority
JP
Japan
Prior art keywords
address
microprocessor
board
bus
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP30709589A
Other languages
Japanese (ja)
Inventor
Mikio Yonekura
米倉 幹夫
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.)
Fanuc Corp
Original Assignee
Fanuc 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 Fanuc Corp filed Critical Fanuc Corp
Priority to JP30709589A priority Critical patent/JPH03166640A/en
Publication of JPH03166640A publication Critical patent/JPH03166640A/en
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

PURPOSE:To avoid the deadlock state by executing an access to a memory through a local bus on a processor board, in the case a microprocessor executes an access to an address space corresponding to a slot position in which the microprocessor itself is loaded. CONSTITUTION:When an address on an address bus 61a is not that to a device on its own board, an access is requested to the other board by using a system bus 6 as usual. However, when it is that to the device on its own board, the access to the system bus 6 is inhibited, and instead thereof, a chip select signal its outputted to the device (memory 3a) on the own board. In such a way, it is avoided to fall into a deadlock state.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は数値制御装置などの制御装置を構戊するマルチ
プロセッサシステムに係り、特にシステムを構成するプ
ロセッサ間のメモリ共有機能を改良したマルチプロセッ
サシステムに関する。
[Detailed Description of the Invention] [Field of Industrial Application] The present invention relates to a multiprocessor system that constitutes a control device such as a numerical control device, and particularly relates to a multiprocessor system that has an improved memory sharing function between the processors that make up the system. Regarding the system.

〔従来の技術〕[Conventional technology]

マルチプロセッサシステムの形態として最も一般的なも
のは、複数のプロセッサボードをシステムハスで結合す
るという方式である。
The most common form of multiprocessor system is one in which multiple processor boards are connected together in a system hub.

第2図は数値制御装置を構成するマルチプロセッサシス
テムの概略構戒を示す図である。
FIG. 2 is a diagram showing the general structure of a multiprocessor system that constitutes a numerical control device.

マルチプロセッサシステムは、システムバス6を介して
互いに結合された2枚のプロセッサボード1a及び1b
と、2枚のサーボ制御ボードlc及び1dとで構成され
る。
The multiprocessor system includes two processor boards 1a and 1b coupled to each other via a system bus 6.
and two servo control boards lc and 1d.

プロセッサボード1aにはマイクロプロセッサ2asメ
モlJ3a,システムバス制御回路4a及びパスバッフ
ァ5a等が搭載されている。実際のボードには、この他
に各種のデバイスが搭載されているが便宜上省略して説
明する。他のボードlb、IC及び1dもボードlaと
同じ構戊になっている。
The processor board 1a is equipped with a microprocessor 2as memory lJ3a, a system bus control circuit 4a, a path buffer 5a, and the like. Although various other devices are mounted on the actual board, their description will be omitted for the sake of convenience. The other boards lb, IC and 1d have the same structure as board la.

このようなマルチプロセッサシステムには、マイクロプ
ロセッサ2a,2b,2c及び2d同士が互いにデータ
を交換するための共有メモリが設けられている。共有メ
モリとして現在実用化されているものとしては、独立し
たメモリボードをシステムバス6に接続し、各マイクロ
プロセッサ2a,2b,2c及び2dが共通のアドレス
でアクセス可能としたものと、プロセッサボード1a上
のメモlJ3aを他のマイクロプロセッサ2b12C及
び2dからもアクセス可能にしたものとがある。
Such a multiprocessor system is provided with a shared memory for the microprocessors 2a, 2b, 2c, and 2d to exchange data with each other. The shared memory currently in practical use is one in which an independent memory board is connected to the system bus 6 and can be accessed by each microprocessor 2a, 2b, 2c, and 2d using a common address, and a processor board 1a. There is one in which the above memory lJ3a can be accessed also from other microprocessors 2b12C and 2d.

ボード上のメモリを利用した共通メモリは、独立したメ
モリボードを置かなくても良いのでコスト的に有利であ
る。
A common memory using on-board memory is advantageous in terms of cost because it eliminates the need for an independent memory board.

一方、共有メモリとして独立のメモリボードを備えたも
のは、コスト的に高価であるという欠点を有するが、ど
のマイクロプロセッサからも共有メモリ上のアドレスを
同じアドレスとして見ることができるので、ソフトウェ
アを開発する上で非常に便利であるという利点がある。
On the other hand, those equipped with an independent memory board as shared memory have the disadvantage of being expensive, but since any microprocessor can view the address on the shared memory as the same address, it is easy to develop software. It has the advantage of being very convenient.

即ち、マルチプロセッサシステムでは、複数のプロセス
を同時に処理するために、複数のマイクロプロセッサを
使って複数のプロセスを分散して処理している。この時
、各マイクロプロセッサ間のデータ通信は共有メモリを
介して行われる。従って、マイクロプロセッサ間でひと
まとまりのデータを通信する場合に、どのマイクロプロ
セッサから見ても同じアドレスにある共有メモリボード
を設けることによって、データをマイクロプロセッサ間
でいちいちコピーする必要はなくなり、データの置かれ
た場所(共有メモリのアドレス)を示すポインタを通信
するだけでデータ通信を行うことができる。
That is, in a multiprocessor system, in order to process a plurality of processes simultaneously, a plurality of microprocessors are used to process the plurality of processes in a distributed manner. At this time, data communication between each microprocessor is performed via the shared memory. Therefore, when communicating a batch of data between microprocessors, by providing a shared memory board that has the same address from every microprocessor's point of view, there is no need to copy the data between microprocessors one by one. Data communication can be performed simply by communicating a pointer indicating the location (shared memory address).

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

独立した共有メモリボードを持たないマルチプロセッサ
システムで同様にデータ通信を行おうとすると以下のよ
うな問題が生ずる。
If similar data communication is attempted in a multiprocessor system that does not have an independent shared memory board, the following problems will occur.

マルチフロセッサシステム上のマイクロプロセッサから
他のプロセッサボード上のメモリ (すなわちこれが共
有メモリである)を見ると、ボード毎にそれぞれ異なっ
たアドレス空間にあるように見える。
When a microprocessor on a multiprocessor system looks at memory on other processor boards (that is, shared memory), each board appears to be in a different address space.

例えばマイクロプロセッサ2aとマイクロプロセッサ2
bとがメモリ3aを共有しているとする。
For example, microprocessor 2a and microprocessor 2
Suppose that the memory 3a is shared by the memory 3a.

マイクロプロセッサ2aはこの共有メモリ3aを自分の
プロセッサボード1a上にあるローカルなデバイスとし
て直接アクセスすることができる。
The microprocessor 2a can directly access this shared memory 3a as a local device on its own processor board 1a.

つまり、マイクロプロセッサ2aから見た共有メモリ3
aはローカルなアドレス空間にある。
In other words, the shared memory 3 seen from the microprocessor 2a
a is in the local address space.

しかし、マイクロプロセッサ2bが共有メモリ3aをア
クセスする場合には、一旦システムバス6を経由しなけ
ればならないので、マイクロプロセッサ2bはローカル
なデバイスとは異なったアドレス空間を介して共有メモ
リ3aをアクセスする必要がある。即ち、共有メモリ3
aのアドレスはマイクロプロセッサ2aとマイクロプロ
セッサ2bとでは異なったアドレスとして把握されてい
る。
However, when the microprocessor 2b accesses the shared memory 3a, it must go through the system bus 6, so the microprocessor 2b accesses the shared memory 3a through an address space different from that of the local device. There is a need. That is, shared memory 3
The address a is recognized as a different address by the microprocessor 2a and the microprocessor 2b.

従って、このようなマルチプロセッサシステムで、上述
のようにデータをポインタで渡そうとしても、そのポイ
ンタは直接使用できず、一旦アドレスを変換する必要が
生じる。
Therefore, in such a multiprocessor system, even if data is passed using a pointer as described above, the pointer cannot be used directly and the address must be converted once.

本発明、ほこのような点に鑑みてなされたものであり、
独立した共有メモリボードを持たなくてもデータの置か
れた場所(共有メモリのアドレス)を示すポインタを通
信するだけで各マイクロプロセッサ間のデータ通信を行
うことのできるマルチプロセッサシステムを提供するこ
とを目的とする。
The present invention has been made in view of the above points,
To provide a multiprocessor system that can perform data communication between microprocessors simply by communicating pointers indicating data locations (shared memory addresses) without having an independent shared memory board. purpose.

〔課題を解決するための手没〕[Working hard to solve the problem]

本発明では上記課題を解決するために、マイクロプロセ
ッサの搭載された複数のプロセッサボードをシステムバ
スで結合したマルチプロセッザシステムにおいて、前記
マルチプロセッサシステムを構成する全てのマイクロプ
ロセッサが任意のプロセッサボード上のメモリを共通の
アドレスで直接アクセスできるように、前記メモリに前
記プロセッサボードの保持されるスロット位置に対応し
たアドレス空間をマッピングする手段と、前記マイクロ
プロセッサが自分白身の搭載されたスロット位置に対応
した前記アドレス空間をアクセスした場合に、前記プロ
セッサボード上のローカルバスを介して前記メモリをア
クセスする手段とを前記プロセッサボード上にそれぞれ
設けたことを特徴とするマルチプロセッサシステムが提
供される。
In order to solve the above problems, the present invention provides a multiprocessor system in which a plurality of processor boards each equipped with a microprocessor are connected via a system bus, in which all the microprocessors constituting the multiprocessor system are installed on any processor board. means for mapping an address space corresponding to a slot position in which the microprocessor board is held onto the memory so that the memory of the microprocessor board can be directly accessed using a common address; A multiprocessor system is provided, wherein means for accessing the memory via a local bus on the processor board when the address space is accessed is provided on each of the processor boards.

〔作用〕[Effect]

マルチプロセッサシステムを構成する全てのマイクロプ
ロセッサが任意のプロセッサボード上のメモリを共通の
アドレスで直接アクセスできるように、メモリにプロセ
ッサボードの保持されるスロット位置に対応したアドレ
ス空間をマッピングすることによって、どのマイクロプ
ロセッサから見ても同じアドレスにある共有メモリを設
けたことと等しくなり、データをマイクロプロセッサ間
でいちいちコピーする必要はなくなり、データの置かれ
た場所(共有メモリのアドレス〉を示すポインタを通信
するだけでデータ通信を行うことができる。
In order to enable all microprocessors that make up a multiprocessor system to directly access the memory on any processor board using a common address, the address space corresponding to the slot location held on the processor board is mapped to the memory. From the microprocessor's point of view, this is equivalent to having a shared memory at the same address, and there is no need to copy data between microprocessors one by one. Data communication can be performed simply by

ただし、マイクロプロセッサが自分自身の搭載されたス
ロット位置に対応したアドレス空間をアクセスした場合
に、そのアドレス空間はマイクロプロセッサの搭載され
たボードのローカルなアドレス空間ではないので、シス
テムバスを経由して自分自身にアクセスを要求すること
になる。そこで、このような場合にプロセッサボード上
のローカルバスを介してメモリをアクセスするようにし
た。これによって、どのマイクロプロセッサからどのメ
モリを見ても、常に一定のアドレス空間に存在するメモ
リとしてプログラムを組むことが可能になる。
However, when a microprocessor accesses the address space corresponding to the slot location in which it is installed, that address space is not a local address space of the board in which the microprocessor is installed, so it is accessed via the system bus. You will be requesting access for yourself. Therefore, in such cases, memory is accessed via the local bus on the processor board. This makes it possible to program the memory so that it always exists in a fixed address space, no matter which memory is viewed from which microprocessor.

〔実施例〕〔Example〕

以下、本発明の一実施例を図面を用いて説明する。 An embodiment of the present invention will be described below with reference to the drawings.

数値制御装置は加工プログラムを解読して工作機械の各
軸の移動指令データを計算し、複数のサーボモータを同
時に制御する。サーボモータの数、即ち制御軸の数が少
ない場合はデータ処理とサーボモ=タの制御を1個のマ
イクロプロセッサで処理できるので、マルチプロセッサ
システムとしなくてもよい。しかし、工作機械の制御軸
数が増えるとマイクロプロセッサが処理するデータ量も
増大するので、数値制御装置をマルチプロセッサシステ
ムとし、サーボモー夕の制御に関連するプロセスを別の
マイクロプロセッサに分担させることで対処している。
The numerical control device decodes the machining program, calculates movement command data for each axis of the machine tool, and controls multiple servo motors simultaneously. When the number of servo motors, that is, the number of control axes is small, data processing and control of the servo motors can be processed by one microprocessor, so there is no need to use a multiprocessor system. However, as the number of control axes of a machine tool increases, the amount of data processed by the microprocessor also increases. Therefore, it is possible to make the numerical control device a multiprocessor system and share the processes related to servo motor control with another microprocessor. I'm dealing with it.

本実施例の数値制御装置は第2図と同様に2枚のプロセ
ッサボード1a及び1bと、2枚のサーボ制御ボードI
C及び1dとで構成される。プロセッサボード1a及び
1b同士、サーボ制御ボードIC及びld同士はハード
ウェア上の相違はなく、同じボードで構成されている。
The numerical control device of this embodiment has two processor boards 1a and 1b and two servo control boards I as shown in FIG.
C and 1d. There is no difference in hardware between the processor boards 1a and 1b, and between the servo control boards IC and ld, and they are composed of the same board.

この数値制御装置を構成するマルチプロセッサシステム
では、専用の共有メモリボードは特に存在しないので、
各ボード上のメモリ3a、3b,3c及び3dを共有メ
モリとして使用する。従って、プロセッサボード1a上
のマイクロプロセッサ2aはプロセッサボード1b上の
メモU 3 bをアクセスすることができる。また、同
様にマイクロプロセッサ2bはプロセッサボード1a上
のメモリ3aをアクセスすることができる。
In the multiprocessor system that makes up this numerical control device, there is no dedicated shared memory board, so
Memories 3a, 3b, 3c and 3d on each board are used as shared memory. Therefore, the microprocessor 2a on the processor board 1a can access the memo U 3 b on the processor board 1b. Similarly, the microprocessor 2b can access the memory 3a on the processor board 1a.

さらに、マイクロプロセッサ2a、2b,2c及び2d
はそれぞれ自分白身のボードla,lb、1c及びld
上のデバイスをアクセスするためのアドレス空間以外に
、システムバス6に接続された他のボードla,1b%
 lc及びld上のデバイス(メモリ3a、3b,3c
及び3d等)をアクセスするためのアドレス空間を有す
る。
Furthermore, microprocessors 2a, 2b, 2c and 2d
are their own white boards la, lb, 1c and ld
In addition to the address space for accessing the devices above, other boards la, 1b% connected to the system bus 6
Devices on lc and ld (memories 3a, 3b, 3c
and 3d, etc.).

本実施例では、全アドレス空間として16Mバイト (
b y t e)を確保し、その中のアドレス00 0
 0 0 0 Hからアドレス7 F F F F F
 Hまでのアドレス空間(以降、これを[000000
H..7FFFFFH]と表記する)を自分自身のボー
ド上のデバイスをアクセスするためのアドレス空間とし
、さらにこの中のアドレス空間co o o o00H
..OOFFFFH]をメモリのアドレス空間として割
り当てる。
In this example, the total address space is 16M bytes (
b y t e) and address 00 0 therein.
0 0 0 H to address 7 F F F F F
Address space up to H (hereinafter referred to as [000000
H. .. 7FFFFFH]) is the address space for accessing devices on its own board, and the address space co o o o00H within this is
.. .. OOFFFFH] is allocated as the memory address space.

そして、全アドレス空間のうち残ったアドレス空間[8
 0 0 0 0 0H. .FFFFFFHコをシス
テムバス6上のデバイスをアクセスするためのアドレス
空間として割り当てる。
Then, the remaining address space [8
0 0 0 0 0H. .. FFFFFFH is allocated as an address space for accessing devices on the system bus 6.

さらに、このアドレス空間[800000H..FFF
FFFH]をボード1a、1 b % 1 c及びld
毎にIMバイトのアドレス空間に分割してそれぞれのボ
ードに割り当てる。具体的には、1番目のスロットに保
持されるプロセッサボード1aに対してはアドレス空間
[800000H..8FFFFFH]が、2番゛目の
スロットに保持されるプロセッサボード1bに対しては
アドレス空間[90 0 0 0 0H. .9FFF
FFH]が割り当てられる。同様に、サーボ制御ボード
ICにはアドレス空間[A0 0 0 0 0H..A
FFFFFH]が、サーボ制御ボード1dにはアドレス
空間[B0 0 0 0 0H..BFFFFFHコが
それぞれ割り当てられる。
Furthermore, this address space [800000H. .. FFF
FFFH] on boards 1a, 1b% 1c and ld
Each board is divided into an IM byte address space and assigned to each board. Specifically, for the processor board 1a held in the first slot, the address space [800000H. .. 8FFFFFH], and for the processor board 1b held in the second slot, the address space [90 0 0 0 0H. .. 9FFF
FFH] is assigned. Similarly, the servo control board IC has an address space [A0 0 0 0 0H. .. A
FFFFFH], and the servo control board 1d has an address space [B0 0 0 0 0H. .. BFFFFFH are respectively allocated.

第1図は本発明の一実施例である数値制御装置を構戒す
るマルチプロセッサシステムのプロセッサボードを示す
図である。本図は第2図のプロセッサボード1aの詳細
のみを示すが、プロセッザボードlb,サーボ制御ボー
ド1c及び1dの構成も第1図と概略は同じなので、そ
の詳細図は省略し、符号の後に記号bSc,dを付して
説明する。また、本実施例の説明において*のついた信
号はアクティブロウを示すこととする。
FIG. 1 is a diagram showing a processor board of a multiprocessor system that includes a numerical control device according to an embodiment of the present invention. This diagram shows only the details of the processor board 1a in Figure 2, but the configurations of the processor board lb, servo control boards 1c and 1d are also roughly the same as in Figure 1, so the detailed diagrams are omitted, and the reference numbers are followed by The explanation will be given with symbols bSc and d. Furthermore, in the description of this embodiment, signals marked with * indicate active low.

マイクロプロセッサ2aは24ビットのアドレス(AO
O−23)と、16ビットのデータ (D0 0−1 
5)とで構成され、それぞれアドレスバス61a及びデ
ータバス62aに接続されている。
The microprocessor 2a has a 24-bit address (AO
O-23) and 16-bit data (D0 0-1
5), and are connected to an address bus 61a and a data bus 62a, respectively.

さらに、マイクロプロセッサ2aからはメモリの読み出
し信号*RD及び書き込み信号*WRがコントロールバ
ス63aに出力される。マイクロブロセッサ2aにはシ
ステムバス調停制御回路7aからのバス開放要求信号(
HOLD)を人力する端子Hと、このバス開放要求信号
に対してシステムバス調停制御回路7aにアクノレッジ
信号(HOLDA)を出力する端子HAとを有する。
Furthermore, the microprocessor 2a outputs a memory read signal *RD and a write signal *WR to the control bus 63a. The microprocessor 2a receives a bus release request signal (
HOLDA), and a terminal HA that outputs an acknowledge signal (HOLDA) to the system bus arbitration control circuit 7a in response to this bus release request signal.

メモリ3aは64Kワードで構成され、そのアドレス番
地はアドレス空間[0000000H..00FFFF
H]の範囲にある。メモリ3aのアドレスAO O−1
 5はアドレスバス61aを介してマイクロプロセッサ
2aに接続されている。メモリ3のデータ入出力端子は
データバス62aを介してマイクロプロセッサ2aに接
続され、16ビットのデータ(DOO−15)の授受が
行われる。メモIJ 3 aの読み出し信号端子*OE
及び書き込み信号端子*WEはコントロールバス63a
を介してマイクロプロセッサ2aに接続され、コントロ
ール信号を入力する。メモリ3aのチップセレクト端子
*CSにはオア回路14aからチップセレクト信号が入
力される。
The memory 3a consists of 64K words, and its address address is in the address space [0000000H. .. 00FFFF
H] range. Memory 3a address AO O-1
5 is connected to the microprocessor 2a via an address bus 61a. A data input/output terminal of the memory 3 is connected to the microprocessor 2a via a data bus 62a, and 16-bit data (DOO-15) is exchanged. Memo IJ 3a read signal terminal *OE
and write signal terminal *WE is control bus 63a
The microprocessor 2a is connected to the microprocessor 2a through the microprocessor 2a, and inputs control signals. A chip select signal is input from the OR circuit 14a to the chip select terminal *CS of the memory 3a.

パスバッファ5aは各アドレスバス6 1 a, f−
9バス62a及びコントロールバス63aと、システム
バス6とを接続する。
The path buffer 5a connects each address bus 61a, f-
The system bus 6 is connected to the 9 bus 62a and the control bus 63a.

デコーダ9aはアドレスバス61aに接続され、アドレ
スバス61a上のアドレスがアドレス空間[0 0 0
 0 0 0 0H. .  0 0FFFFH]の範
囲にある場合は、チップセレクト信号をオア回路l4a
に出力し、アドレス空間[8000000I{.,FF
FFFFH]の範囲にある場合は、バス開放要求信号を
アンド回路12a及び13aに出力する。
The decoder 9a is connected to the address bus 61a, and the address on the address bus 61a is set to the address space [0 0 0
0 0 0 0H. .. 0 0FFFFH], the chip select signal is output to the OR circuit l4a.
and the address space [8000000I{. ,FF
FFFFH], a bus release request signal is output to AND circuits 12a and 13a.

設定スイッチ10aは、自分が保持されているスロット
番号を認識するためのものであり、その対応するスロッ
}8号が予め設定されている。具体的には、ボード1a
にはrl(OOIB)Jが、ボード1bにはr2 (0
 1 0B)Jが、ボード1Cにはr3 (0 1 1
B)Jが、ボードldにはr4 (1 0 0B)Jの
スロット番号がそれぞれ設定される。
The setting switch 10a is used to recognize the slot number in which the setting switch 10a is held, and the corresponding slot No. 8 is set in advance. Specifically, board 1a
has rl(OOIB)J on board 1b, and r2(0
1 0B) J, board 1C has r3 (0 1 1
B) J is set, and the slot number r4 (1 0 0B) J is set on board ld.

コンパレータllaは設定スイッチ10aのスロット番
号と、アドレスバス62a上のアドレスA2 0−2 
2とを比較し、両方の値が一致している場合に一致信号
をアンド回路12a及び13aに出力する。
Comparator lla outputs the slot number of setting switch 10a and address A2 0-2 on address bus 62a.
2, and if both values match, a match signal is output to AND circuits 12a and 13a.

アンド回路12aはコンパレータllaの出力をL能動
入力端子に、デコーダ9aの出力をH能動入力端子にそ
れぞれ取り込み、その論理積信号をシステムバス調停制
御回路7aに出力する。アンド回路13aはコンバレー
タlla及びデコーダ9aの出力をH能動入力端子にそ
れぞれ取り込み、その論理積信号をオア回路14aに出
力する。
The AND circuit 12a takes the output of the comparator lla into its L active input terminal and the output of the decoder 9a into its H active input terminal, and outputs the AND signal to the system bus arbitration control circuit 7a. The AND circuit 13a receives the outputs of the comparator lla and the decoder 9a into its H active input terminals, and outputs the logical product signal to the OR circuit 14a.

従もて、アドレスバス61aの上位アドレスA20−2
2と設定スイッチ10aのスロット番号とが同じでない
場合は、アンド回路12aが論理積信号を出力し、同じ
場合はアンド回路13aが論理積信号を出力する。
Subsequently, the upper address A20-2 of the address bus 61a
2 and the slot number of the setting switch 10a, the AND circuit 12a outputs an AND signal, and if they are the same, the AND circuit 13a outputs an AND signal.

システムバス調停制御回路7aはボードla上のマイク
ロプロセッサ2aのアクセス要求と、他のボードlb,
lc又は1d上のマイクロプロセッサ2b,2c又は2
dからのアクセス要求とが競合しないように調停する。
The system bus arbitration control circuit 7a handles access requests from the microprocessor 2a on board la and other boards lb,
Microprocessor 2b, 2c or 2 on lc or 1d
Arbitrate so that there is no conflict with the access request from d.

従って、アドレスバス61aの上位アドレスA2 0−
2 2と設定スイッチ10aのスロット番号とが一致し
ない場合は、他のマイクロプロセッサ2b,2c又は2
dからのアクセス要求があったものと判断して、バス開
放要求信号をマイクロプロセッザ2aに出力する。
Therefore, the upper address A2 0- of the address bus 61a
2 If 2 and the slot number of the setting switch 10a do not match, use another microprocessor 2b, 2c or 2.
It is determined that there is an access request from d, and a bus release request signal is output to the microprocessor 2a.

マイクロプロセッサ2aはこれに対してアクノレッジ信
号をシステムバス調停制御回路7aに出力し、バスの専
有を開放する。
In response, the microprocessor 2a outputs an acknowledge signal to the system bus arbitration control circuit 7a and releases the exclusive use of the bus.

システムバスタイミング制御回路8aはシステムバス調
停制御回路7a、パスバッファ5a及びコントロールバ
ス63aにそれぞれ接続され、システムバス6と、プロ
セッサボード1a上のローカル的ナアドレスバス61a
,f−タバス62a及びコントロールバス63aとの接
続関係を制御する。
The system bus timing control circuit 8a is connected to the system bus arbitration control circuit 7a, the path buffer 5a and the control bus 63a, and is connected to the system bus 6 and the local address bus 61a on the processor board 1a.
, f-tabus 62a, and control bus 63a.

次に、本実施例の動作を説明する。Next, the operation of this embodiment will be explained.

例えば、1番目のスロットに保持されているプロセッサ
ボード1a上のマイクロプロセッサ2aがアドレス90
1000Hをアクセスすると、2番目のスロットに保持
されているプロセッサボ−ド1bはシステムバス調停制
御回路7bによって、自分のボード2b上のデバイスに
対するアクセスであることをt忍識する。
For example, the microprocessor 2a on the processor board 1a held in the first slot is at address 90.
When 1000H is accessed, the processor board 1b held in the second slot is made aware by the system bus arbitration control circuit 7b that the access is to a device on its own board 2b.

この時、プロセッサボード1b上ではマイクロプロセッ
サ2bが常に動作しているので、システムハス調停制御
回路7bはマイクロプロセッサ2aからのアクセス要求
との競合を調停するために、マイクロプロセッサ2bに
対してバス開放要求信号を出力する。マイクロプロセッ
サ2bはこれに対してアクノレッジ信号をシステムバス
調停制御回路7bに出力してバスの専有を開放する。
At this time, since the microprocessor 2b is always operating on the processor board 1b, the system arbitration control circuit 7b releases the bus to the microprocessor 2b in order to arbitrate the conflict with the access request from the microprocessor 2a. Outputs a request signal. In response, the microprocessor 2b outputs an acknowledge signal to the system bus arbitration control circuit 7b to release the exclusive use of the bus.

この時点でシステムバス6とプロセッサボード1bのロ
ーカルバス(アドレスバス61b1データバス62b1
コントロールバス63b)とカ結合される。そして、コ
ンパレータllbは設定スイッチ10bのスロット番号
と、アドレスバス62b上のアドレスA2 0−2 2
との値を比較する。
At this point, the system bus 6 and the local bus of the processor board 1b (address bus 61b1 data bus 62b1)
control bus 63b). Then, the comparator llb receives the slot number of the setting switch 10b and the address A2 0-2 2 on the address bus 62b.
Compare the value with.

その結果、両者の値は一致していないので、アンド回路
13bが論理積信号をオア回路14bに出力する。これ
によって、マイクロプロセッサ2aはプロセッサボード
1b上のデバイス(この場合はメモリ3b)をアクセス
することができるようになる。
As a result, since the two values do not match, the AND circuit 13b outputs an AND signal to the OR circuit 14b. This allows the microprocessor 2a to access the device (memory 3b in this case) on the processor board 1b.

上述のアドレス901000Hはマイクロプロセッサ2
bのアドレス空間[0000000H..00FFFF
H]ではメモリ3bのアドレス番地001000Hに相
当ずる。
The above address 901000H is the microprocessor 2
b address space [0000000H. .. 00FFFF
H] corresponds to address address 001000H of memory 3b.

次に、マイクロプロセッサ2bがこのアドレス9010
00Hをアクセスする場合について説明する。このよう
な場合に、本実施例のデコーダ9b1設定スイッチ10
b1コンパレータ11b1アンド回路12b及び13b
が存在しないと、次のような矛盾が生ずる。
Next, the microprocessor 2b uses this address 9010.
The case of accessing 00H will be explained. In such a case, the decoder 9b1 setting switch 10 of this embodiment
b1 comparator 11b1 AND circuit 12b and 13b
If it does not exist, the following contradiction will occur.

アドレス901000Hは上記の定義でいえばシステム
バス6におけるプロセッサボード1b上のデバイス(メ
モリ2b)のアドレスを示している。従って、マイクロ
プロセッサ2bがアドレス901000Hをアクセスす
ると、システムバス調停制御回路7bは自分(マイクロ
プロセッサ2b)に対してバス開放要求信号を出力する
。即ち、マイクロプロセッサ2bは自分自身に対してバ
ス開放を要求することになる。しかし、実際にマイクロ
プロセッサ2bはバスサイクルの実行途中であるから、
これを開放するわけにはいかない。従って、マイクロプ
ロセッサ2bからはアクノレッジ信号が出力されないの
で、バスサイクルは永久に完了しなくなり、デッドロッ
ク状態に陥る。
Address 901000H indicates the address of the device (memory 2b) on the processor board 1b on the system bus 6 according to the above definition. Therefore, when microprocessor 2b accesses address 901000H, system bus arbitration control circuit 7b outputs a bus release request signal to itself (microprocessor 2b). That is, the microprocessor 2b requests itself to release the bus. However, since the microprocessor 2b is actually in the middle of executing a bus cycle,
We can't open this up. Therefore, since the microprocessor 2b does not output an acknowledge signal, the bus cycle is never completed, resulting in a deadlock state.

しかしながら、本実施例の構成によれば、このような場
合に、デッドロック状態に陥ることはない。
However, according to the configuration of this embodiment, deadlock does not occur in such a case.

それは、本実施例が、アドレスバス62b上のアドレス
をデコーダ9bでデコードし、それがシステムバス6上
の他のボート上のデバイスに対するものであるのか、又
は自分自身のボート上のデバイスに対するものであるの
かを判別する機能を備えているからである。
In this embodiment, the address on the address bus 62b is decoded by the decoder 9b, and it is determined whether the address is for a device on another boat on the system bus 6 or for a device on the own boat. This is because it has a function to determine whether it is present.

従って、アドレスバス62b上のアドレスが自分自身の
ボート上のデバイスに対するものでないときは、通常通
りにシステムバス6を使用して他のボードにアクセスを
要求する。しかし、それが自分自身のボード上のデバイ
スに対するものであるときは、システムバス6へのアク
セスを禁止し、その代わりに自分のボード上のデバイス
(メモリ3b)に対してチップセレクト信号を出力する
Therefore, when the address on address bus 62b is not for a device on its own boat, it requests access to other boards using system bus 6 as usual. However, if it is for a device on its own board, it prohibits access to system bus 6 and instead outputs a chip select signal to the device (memory 3b) on its own board. .

これによって上述のようなデッドロック状態に陥ること
は回避される。
This avoids the deadlock situation described above.

本実施例では、マイクロプロセッサibからメモlJ2
bのアドレスを見ると、あたかもアドレス空間[0 0
 0 0 0 0 0H. .  0 0FFFFH]
とアドレス空間[9000000H..90FFFFH
]との両方のアドレス空間が存在するように見えること
になる。しかし、メモリ空間の実体は一つであり、いず
れのアドレス空間を使用してアクセスを行っても良い。
In this embodiment, from the microprocessor ib to the memory lJ2
Looking at the address of b, it appears as if the address space [0 0
0 0 0 0 0H. .. 0 0FFFFH]
and address space [9000000H. .. 90FFFFH
] It will appear that both address spaces exist. However, there is only one memory space, and any address space may be used for access.

一方、他のマイクロプロセッサ2a,2c及び2dから
メモリ3bのアドレスを見ると、メモリ3bは一常にア
ドレス空間[9000000f{..90FFFFH]
に存在することになる。
On the other hand, when looking at the address of the memory 3b from the other microprocessors 2a, 2c and 2d, the memory 3b is always in the address space [9000000f{. .. 90FFFFH]
will exist in

従って、本実施例のような構成を採用することによって
、メモTJ3bはどのマイクロプロセッサ2a,2b,
2c及び2dから見ても常にアドレス空間[9 0 0
 0 0 0 0H. .  9 0FFFFI−{]
に存在するものとしてプログラムを組むことが可能にな
る。
Therefore, by adopting the configuration of this embodiment, the memo TJ3b can be used with any microprocessor 2a, 2b,
Even when viewed from 2c and 2d, the address space [9 0 0
0 0 0 0H. .. 9 0FFFFI-{]
It becomes possible to program as if it exists in .

また、各マイクロプロセッザ2a,2b,2c及び2d
間でポインタを使ってデータを受け渡しする場合にも、
いちいちアドレスを変換することなく、直接そのポイン
タを用いることができるようになる。
In addition, each microprocessor 2a, 2b, 2c and 2d
Even when passing data using pointers between
You can now use the pointer directly without having to convert the address one by one.

〔発明の効果〕〔Effect of the invention〕

以上説明したように本発明によれば、独立した共有メモ
リボードを持たなくてもいずれのプロセッザボード上に
搭載されたメモリに対しても全てのマイクロプロセッサ
は常に同じアドレス空間にあるとしてプログラムを組む
ことが可能となる。
As explained above, according to the present invention, programs can be executed assuming that all microprocessors are always in the same address space with respect to the memory mounted on any processor board, even without having an independent shared memory board. It is possible to assemble.

また、独立した共有メモリボードを持たなくてもデータ
の置かれた場所(共有メモリのアドレス)を示すポイン
タを通信するだけで、アドレスを変換することなく、各
マイクロプロセッサ間のデータ通信を行うことができる
In addition, data communication between microprocessors can be performed without converting addresses by simply communicating a pointer indicating the location of data (shared memory address) without having an independent shared memory board. Can be done.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の一実施例である数値制御装置を構戒す
るマルチプロセッサシステムのプロセッサボードを示す
図、 第2図は数値制御装置を構戊するマルチプロセッサシス
テムの概略構戊を示す図である。 la,lb−・・−  プロセッサボードlc,ld・
゛゜  サーボ制御ボード2a,2b,2c,2d マイクロプロセッサ 3a,3b,3c,3d メモリ 4a,4b,4c,4d システムバス制御回路 5a,5b,5c,5d ・ パスバッファ 6  ・  システムバス 61a  ゜  アドレスバス 62a     データパス 63a     コントロールバス 7a    ゛゜システムバス調停制御回路8a゜ ゜
  システムバスタイミング制御回路9a    デコ
ーダ 10a    ・ 一設定スイッチ 11a   ′ コンパレータ 1 2 a , 1 3 a −−  アンド回路1 
4 a −    オア回路
FIG. 1 is a diagram showing a processor board of a multiprocessor system comprising a numerical control device, which is an embodiment of the present invention, and FIG. 2 is a diagram showing a schematic structure of a multiprocessor system comprising a numerical control device. It is. la, lb-- Processor board lc, ld-
゛゜ Servo control board 2a, 2b, 2c, 2d Microprocessor 3a, 3b, 3c, 3d Memory 4a, 4b, 4c, 4d System bus control circuit 5a, 5b, 5c, 5d ・Path buffer 6 ・System bus 61a ゜Address bus 62a Data path 63a Control bus 7a ゛゜System bus arbitration control circuit 8a゜゜ System bus timing control circuit 9a Decoder 10a - Setting switch 11a' Comparator 12a, 13a -- AND circuit 1
4 a - OR circuit

Claims (1)

【特許請求の範囲】[Claims] (1)マイクロプロセッサの搭載された複数のプロセッ
サボードをシステムバスで結合したマルチプロセッサシ
ステムにおいて、 前記マルチプロセッサシステムを構成する全てのマイク
ロプロセッサが任意のプロセッサボード上のメモリを共
通のアドレスで直接アクセスできるように、前記メモリ
に前記プロセッサボードの保持されるスロット位置に対
応したアドレス空間をマッピングする手段と、 前記マイクロプロセッサが自分自身の搭載されたスロッ
ト位置に対応した前記アドレス空間をアクセスした場合
に、前記プロセッサボード上のローカルバスを介して前
記メモリをアクセスする手段とを前記プロセッサボード
上にそれぞれ設けたことを特徴とするマルチプロセッサ
システム。
(1) In a multiprocessor system in which multiple processor boards equipped with microprocessors are connected via a system bus, all microprocessors composing the multiprocessor system can directly access memory on any processor board using a common address. means for mapping in the memory an address space corresponding to a slot position held by the processor board; and when the microprocessor accesses the address space corresponding to a slot position in which the microprocessor itself is mounted; and means for accessing the memory via a local bus on the processor board, respectively provided on the processor board.
JP30709589A 1989-11-27 1989-11-27 Multi-processor system Pending JPH03166640A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30709589A JPH03166640A (en) 1989-11-27 1989-11-27 Multi-processor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30709589A JPH03166640A (en) 1989-11-27 1989-11-27 Multi-processor system

Publications (1)

Publication Number Publication Date
JPH03166640A true JPH03166640A (en) 1991-07-18

Family

ID=17964967

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30709589A Pending JPH03166640A (en) 1989-11-27 1989-11-27 Multi-processor system

Country Status (1)

Country Link
JP (1) JPH03166640A (en)

Similar Documents

Publication Publication Date Title
US5682512A (en) Use of deferred bus access for address translation in a shared memory clustered computer system
KR100344132B1 (en) A device for a computer memory interface, a portable mobile computer and a method for fetching program instructions and performing a data write / read request on the computer
EP0523764A2 (en) Computer system having direct bus attachment between processor and dynamic main memory, and having in-processor DMA control with respect to a plurality of data exchange means also connected to said bus, and central processor for use in such computer system
JP4226085B2 (en) Microprocessor and multiprocessor system
EP0532690B1 (en) Method and apparatus for managing page zero memory accesses in a multi-processor system
JP2618223B2 (en) Single chip microcomputer
JPH03166640A (en) Multi-processor system
JPH0227696B2 (en) JOHOSHORISOCHI
JP3182906B2 (en) Microcomputer
JPH0449723Y2 (en)
JPS603049A (en) Bus interface apparatus
KR960007835B1 (en) Common memory access device for multi-processor
JP2003196251A (en) Multi-cpu system
JP3226557B2 (en) Multiprocessor system
JPH06314231A (en) Shared memory access control method
JP3448962B2 (en) Arithmetic processing unit
JPH01154272A (en) Multiprocessor device
JP3187117B2 (en) One-chip microcomputer with built-in multiprocessor
JP2612715B2 (en) Address bus controller
JPH0713815B2 (en) Bus converter
JPH0816535A (en) Cpu system
JP2003271573A (en) Multiprocessor, multiprocessor core and control method
JPH05334233A (en) Data transferring device
JPH10289220A (en) Multi-cpu processor
JPH041841A (en) Application system for identification number