JPH04111153A - Information processor - Google Patents

Information processor

Info

Publication number
JPH04111153A
JPH04111153A JP23011190A JP23011190A JPH04111153A JP H04111153 A JPH04111153 A JP H04111153A JP 23011190 A JP23011190 A JP 23011190A JP 23011190 A JP23011190 A JP 23011190A JP H04111153 A JPH04111153 A JP H04111153A
Authority
JP
Japan
Prior art keywords
processor
address
mapping table
memory
bus
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
JP23011190A
Other languages
Japanese (ja)
Inventor
Tadanobu Kamiyama
神山 忠信
Masami Taoda
政美 垰田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP23011190A priority Critical patent/JPH04111153A/en
Publication of JPH04111153A publication Critical patent/JPH04111153A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To attain an access to a memory area which is controlled by another processor by making each processor perform the conversion of addresses by mutual reference to a mapping table. CONSTITUTION:The 384K - 512K byte addresses of a memory area are assigned to a processor PC 10b in its active state. Meanwhile the 512K - 640K byte addresses are assigned to a PC 10c in its inactive state. Under such conditions, the address value given from a mapping table MT 12b is outputted to a system bus 23 when the higher 3 bits of the address value are equal to '011' within the MT 12b controlled by the PC 10b. Meanwhile the address value stored in an MT 12c controlled by PC 10c is outputted to the bus 23 when the higher 3 bits of the address value stored in the MT 12b is equal to '100'. In this case, the address value is equal to the value obtained by subtracting the data stored in the MT 12c from the value of the lower 5 bits of the data stored in the MT 12b.

Description

【発明の詳細な説明】 [発明の目的コ (産業上の利用分野) この発明は、たとえば複数のプロセッサによって共有の
メモリを管理するマルチプロセッサシステムなどの、特
に高度で高性能が要求される情報処理装置に関する。
[Detailed Description of the Invention] [Purpose of the Invention (Industrial Application Field) This invention is particularly applicable to information processing systems that require particularly advanced and high performance, such as multiprocessor systems that manage shared memory by multiple processors. It relates to a processing device.

(従来の技術) 一般に、マルチプロセッサシステムでは、相互データ通
信、共有データの管理が大きな問題の1つとなっている
。この種のシステムにおいては、通常、メモリ空間上に
特定領域を設け、その範囲はそれぞれのプロセッサが持
つメモリ管理対象からはずし、特別な領域として取り扱
う方法が取られている。したがって、この領域は小領域
に限定されるのが一般的であり、大量データを取り扱う
ような場合にはその分だけメモリを増設して行うなどの
措置が取られるようになっている。
(Prior Art) In general, mutual data communication and management of shared data are one of the major problems in multiprocessor systems. In this type of system, a method is usually adopted in which a specific area is provided in the memory space, and this range is excluded from the memory management target of each processor and treated as a special area. Therefore, this area is generally limited to a small area, and when handling a large amount of data, measures are taken such as increasing memory accordingly.

しかしながら、上記した方法の場合、メモリの利用効率
が悪く、基本的に大量データの共有化には不向きである
。また、各プロセッサに対し、メモリ上の特定領域を意
識させる必要があるため、それぞれが独立に持つメモリ
管理機能の機能と柔軟さに対して大きな制約を設けるこ
とになるという欠点があった。
However, in the case of the above-mentioned method, memory usage efficiency is poor and it is basically unsuitable for sharing a large amount of data. Furthermore, since it is necessary to make each processor aware of a specific area on the memory, there is a drawback that there is a large restriction on the functionality and flexibility of the memory management function that each processor has independently.

(発明が解決しようとする課題) 上記したように、従来のマルチプロセッサシステムにお
いてメモリ空間上の特定領域を特別な領域として取り扱
う方法の場合、基本的に大量デ−夕の共有化には不向き
てあり、また各プロセッサが独立に持つメモリ管理機能
の機能と柔軟さに対して大きな制約を設けることになる
という欠点かあった。
(Problems to be Solved by the Invention) As mentioned above, the method of treating a specific area in the memory space as a special area in the conventional multiprocessor system is basically unsuitable for sharing large amounts of data. However, it also had the disadvantage of placing significant restrictions on the functionality and flexibility of the memory management functions that each processor had independently.

そこで、この発明は、各プロセッサの有するメモリ管理
方式を意識することなく、そのプロセッサが管理するメ
モリ領域に対し、他のプロセッサが任意にアクセスする
ことを可能とする高性能な情報処理装置を提供すること
を目的としている。
Therefore, the present invention provides a high-performance information processing device that allows other processors to arbitrarily access the memory area managed by each processor without being aware of the memory management method of each processor. It is intended to.

〔発明の構成] (課題を解決するための手段) 上記の目的を達成するために、この発明の情報処理装置
にあっては、複数のプロセッサから出力される論理アド
レスを物理アドレスに変換するためのマツピングテーブ
ルを有するものにおいて、各々のプロセッサが前記マツ
ピングテーブルを相互に参照してアドレス変換を行うよ
う制御する相互参照手段を設けた構成とされている。
[Structure of the Invention] (Means for Solving the Problem) In order to achieve the above object, the information processing device of the present invention includes a method for converting logical addresses output from a plurality of processors into physical addresses. In the apparatus having a mapping table, a mutual reference means is provided for controlling each processor to mutually refer to the mapping table and perform address conversion.

(作用) この発明は、上記した手段により、相手のメモリ管理方
式を意識せずにアドレス変換できるようになるため、他
のプロセッサが管理するメモリ領域へのアクセスか61
能となるとともに、メモリを有効に利用し得るものであ
る。
(Operation) With the above-described means, this invention enables address translation without being aware of the other party's memory management system.
This makes it possible to use memory effectively.

(実施例) 以下、この発明の一実施例について図面を参照して説明
する。
(Example) Hereinafter, an example of the present invention will be described with reference to the drawings.

第1図は、この発明の情報処理装置を、たとえば4つの
プロセッサを搭載するマルチプロセッサシステムを例に
示すものである。
FIG. 1 shows an information processing apparatus according to the present invention as an example of a multiprocessor system equipped with, for example, four processors.

ここでは、各プロセッサごとに独自にメモリ管理か行え
るようにそれぞれにマツピングテーブルを具備しており
、これを介してシステムバスにアドレスを出力すること
で、各プロセッサ共有のメモリをアクセスするようにな
っている。
Here, each processor is equipped with a mapping table so that each processor can manage its own memory, and by outputting an address to the system bus via this, the memory shared by each processor can be accessed. It has become.

すなわち、このマルチプロセッサシステムは、第1ない
し第4プロセツサ10a〜10dと、各プロセッサ10
a〜10 dごとに設けられた第1ないし第4セレクタ
11 a〜lldと、同しく第1ないし第4マツピング
テーブル12a〜12dと、同じく第1.第2ゲート1
3a 〜13d。
That is, this multiprocessor system includes first to fourth processors 10a to 10d, and each processor 10a to 10d.
The first to fourth selectors 11a to lld provided for each of a to 10d, the first to fourth mapping tables 12a to 12d, and the first to fourth selectors 11a to lld provided for each of the first to fourth mapping tables 12a to 12d. 2nd gate 1
3a to 13d.

14a 〜14dと、デコーダ15と、アビータ16と
、メモリ17とから構成されている。
14a to 14d, a decoder 15, an avita 16, and a memory 17.

上記第1ないし第4プロセツサ10a〜IC1dからは
、それぞれアドレス線21a〜21dとデータ線および
入出力制御線22a〜22dとが延出されている。アド
レス線21a〜21dのそれぞれは、上記第1ないし第
4セレクタlla〜11dにそれぞれ接続されている。
Address lines 21a-21d, data lines and input/output control lines 22a-22d extend from the first to fourth processors 10a-IC1d, respectively. Each of the address lines 21a to 21d is connected to the first to fourth selectors lla to 11d, respectively.

データ線および入出力制御線22a〜22dのそれぞれ
は、システムバス23にそれぞれ接続されている。
Each of the data lines and input/output control lines 22a to 22d is connected to the system bus 23, respectively.

この第1ないし第4プロセッサ10a−10dは、上記
システムバス23に信号線24a〜24dを介してシス
テムバスリクエスト信号を送信するとともに、この送信
に対して上記アビータ16よりシステムバス23および
信号線25a〜25dを介して送られてくるリクエスト
応答信号としてのバスアクノリッジ信号を受信すること
によりアクティブ状態となる。
The first to fourth processors 10a to 10d transmit system bus request signals to the system bus 23 via signal lines 24a to 24d, and in response to this transmission, the aviator 16 sends system bus request signals to the system bus 23 and signal lines 25a. 25d becomes active by receiving a bus acknowledge signal as a request response signal.

上記第1ないし第4セレクタlla〜lldのそれぞれ
は、各マツピングテーブル12a〜12dへの入力を管
理するそれぞれのプロセッサ10a 〜10dからのア
ドレス線21a〜21dか、またはローカルアドレスバ
ス26上のアドレス線のいずれかを選択するようになっ
ている。
Each of the first to fourth selectors lla to lld is connected to address lines 21a to 21d from the respective processors 10a to 10d that manage input to each mapping table 12a to 12d, or an address on the local address bus 26. You are supposed to select one of the lines.

上記第1ないし第4マツピングテーブル12.g〜12
dは、各プロセッサ108〜10dか使用するメモリ1
7をそれぞれが独自に管理するためのものである。なお
、マツピングテーブル12a〜12dの具体的な構成に
ついては後述する。
The first to fourth mapping tables 12. g~12
d is the memory 1 used by each processor 108 to 10d.
7 for their own management. Note that the specific configuration of the mapping tables 12a to 12d will be described later.

第1ゲート13a〜13dは、各マツピングテーブル1
.2 a〜12dからの出力を上記システムバス23へ
出力する際のオン/オフを制御するものである。
The first gates 13a to 13d are connected to each mapping table 1.
.. It controls on/off when outputs from 2a to 12d are output to the system bus 23.

第2ケート14a〜14dは、各マツピングテーブル1
2a〜12dからの出力を上記ローカルアドレろバス2
6へ出力する際のオン/オフを制御するものである。
The second cages 14a to 14d each have a mapping table 1.
The outputs from 2a to 12d are connected to the above local address bus 2.
This is to control on/off when outputting to 6.

ここで、上記マツピングテーブル12a〜12dへの入
力を選択する各セレクタlla〜1 ]、 d、ならび
に上記ローカルアドレスバス26への出力の制御を行う
各第2ゲート14 a〜14 dは、システムバス23
を介して供給されるアビータ16からのハスアクノリッ
ジ信号によって制御される。また、上記システムバス2
3上への出力の制御を行う各第]ケート13a〜13d
は、上記デコーダ15から信号線27a〜27dを介し
て供給されるテーブル選択信号によって制御される。
Here, the selectors lla-1], d for selecting inputs to the mapping tables 12a-12d, and the second gates 14a-14d for controlling the output to the local address bus 26 are connected to the system. bus 23
It is controlled by the hash acknowledge signal from the arbiter 16 which is supplied via the arbiter 16. In addition, the system bus 2
3] cells 13a to 13d that control the output to
are controlled by table selection signals supplied from the decoder 15 via signal lines 27a to 27d.

デコーダ15は、上記ローカルアドレスバス26上のア
ドレスを常に監視し、あらかじめ各プロセッサ10a〜
10dに割り当てられたアドレスを検知した際に、その
プロセッサの第1ゲートをアクティブとすることにより
システムバス23上ヘアドレスか出力されるようにする
ものである。
The decoder 15 constantly monitors the addresses on the local address bus 26 and pre-configures each processor 10a to
When the address assigned to the processor 10d is detected, the first gate of the processor is activated so that the address is output onto the system bus 23.

アービタ16は、各プロセッサ10a〜10dから出力
されるシステムバスリクエスト信号を受は取り、あらか
じめ規定されたアルゴリズムにしたかってシステムバス
リクエスト信号を出力したプロセッサの1つを選択して
それにバスアクノリッジ信号を返送するものである。な
お、アービタ16の具体的な構成については後述する。
The arbiter 16 receives system bus request signals output from each of the processors 10a to 10d, selects one of the processors that outputs the system bus request signal according to a predefined algorithm, and transmits a bus acknowledge signal to it. It will be sent back. Note that the specific configuration of the arbiter 16 will be described later.

しかして、各プロセッサ10a−10dは、上記アービ
タ16からのパスアクノリッジ信号を受けたもののみか
アクティブ状態、つまりシステムバス23へのアクセス
権を得ることになる。したかって、このシステムバス2
3の専有権を持つプロセッサのみが、メモリ17へのア
クセスなど、システムバス23上の任意のデバイスへの
アクセスか可能となる。
Therefore, among the processors 10a to 10d, only those that receive the pass acknowledge signal from the arbiter 16 are in the active state, that is, they have the right to access the system bus 23. This system bus 2
Only the processor with the exclusive right of 3 can access any device on the system bus 23, such as accessing the memory 17.

すなわち、本実施例では、パスアクノリッジ信号を受は
取ったプロセッサ10a〜10dのみがアクティブ状態
となり、アドレスが出力される。
That is, in this embodiment, only the processors 10a to 10d that have received the pass acknowledge signal become active and output the address.

そして、それぞれに具備されるセレクタlla〜11 
’dによりそのアドレスか選択されて対応するマツピン
グテーブル12a〜12dに入力されるとともに、その
マツピングテーブル12a〜12(1からの出力がロー
カルアドレスバス26上に出力されるよう、それぞれの
第2ゲート14a〜14 dか制御される。
And selectors lla to 11 provided in each
'd selects that address and inputs it into the corresponding mapping table 12a to 12d, and also selects each address so that the output from the mapping table 12a to 12 (1) is output on the local address bus 26. Two gates 14a to 14d are controlled.

一方、ハスアクノリッジ信号を受は取らないプロセッサ
10a〜]、 Odは停止状態となり、システムハス2
3を解放するとともに、ローカルアドレスバス26上の
他のプロセッサから出力されるアドレスか自分の所有す
るマツピングテーブルに入力されるべく、各セレクタに
より選択される。
On the other hand, the processors 10a~] and Od, which do not receive the Hass acknowledge signal, are in a stopped state, and the system Hass 2
3 is released, and each selector selects an address output from another processor on the local address bus 26 to be input into its own mapping table.

第2図は、上記メモリ17における各プロセッサ10a
〜10dごとの割り付けの一例を示すものである。
FIG. 2 shows each processor 10a in the memory 17.
This shows an example of allocation every ~10d.

この場合、後述するマンピングテーブル12a〜12d
の構成にもとづき、基本的にはメモリブロック単位ごと
に各プロセッサの割り付は部位は混在しても良いが、こ
こでは説明を簡略化するために、それぞれ連続した領域
が割り当てられている。したかって、各プロセッサ10
a〜10dは、それぞれの領域内において独自の管理体
系のもとで、任意にメモリ17を使用することか可能で
ある。
In this case, manipulating tables 12a to 12d, which will be described later,
Based on the configuration of , basically, the allocation of each processor to each memory block may be mixed, but here, to simplify the explanation, consecutive areas are allocated to each processor. So, each processor 10
A to 10d can arbitrarily use the memory 17 within each area under its own management system.

また、割り当て外領域をアクセスする場合には、そのア
クセス鎖酸に割り当てられたプロセッサが管理するマツ
ピングテーブルを介することによりアクセスできる。
Furthermore, when accessing an unallocated area, it can be accessed via a mapping table managed by the processor assigned to the access chain.

次に、第1図に示すところの各構成要素について詳細に
説明する。
Next, each component shown in FIG. 1 will be explained in detail.

第3図は、マツピングテーブル12a〜12(Hの構成
を示すものである。
FIG. 3 shows the configuration of the mapping tables 12a to 12(H).

すなわち、マツピングテーブル12a〜12dのそれぞ
れは、マツピングテーブル格納用RAM121  この
マツピングテーブル格納用RAM12+に対するテーブ
ルデータのセツティングを制御するためのゲート12□
、上記マツピングテーブル格納用RAMI 2+にて変
換されたアドレスの出力を制御するためのゲート123
、およびプロセッサかメモリ17をreadまたはwr
iteLようとするときに上記ゲート12゜をアクティ
ブとするためのゲート回路124により構成されている
That is, each of the mapping tables 12a to 12d has a mapping table storage RAM 121 and a gate 12□ for controlling the setting of table data for the mapping table storage RAM 12+.
, a gate 123 for controlling the output of the address converted by the mapping table storage RAMI 2+.
, and read or write the processor or memory 17
It is constituted by a gate circuit 124 for activating the gate 12° when an iteL is to be performed.

マツピングテーブル格納用RA M 12 、は、プロ
セッサからアドレス信号線125を介して供給されるa
ddress  1i−jjに対してアドレス変換を施
し、これをaddress  hh〜i1Nとして上記
ゲート12.およびアドレス信号線126を介して出力
するものである。すなわち、たとえば1Mバイトのアド
レス空間を有するプロセッサが1ブロツク4にバイトの
メモリ管理を行おうとするとき、プロセッサから出力さ
れるaddress12〜address19かマツピ
ングテーブルRAM12.のアドレスに与えられ、これ
に対する当該アドレスのデータを出力することによって
アドレス変換を施してaddress00=addre
ssllかそのまま出力されるようにする。この場合、
マツピングテーブルRA M 121に256ワードの
容量のものを用意すれば、全メモリ空間をマツピングで
きることになる。
The mapping table storage RAM 12 is provided with a
Address conversion is performed on address 1i-jj, and these are set as addresses hh-i1N for the gate 12. and is output via the address signal line 126. That is, for example, when a processor having a 1M byte address space attempts to manage bytes of memory in one block 4, addresses 12 to 19 output from the processor or mapping table RAM 12. address00=address, and performs address conversion by outputting the data of the corresponding address.
ssll or output as is. in this case,
If the mapping table RAM 121 has a capacity of 256 words, the entire memory space can be mapped.

ゲート12□は、上記マツピングテーブルRA M 1
2 Iのデータ側とデータバス127との間に接続され
、プロセッサから信号線128を介して供給されるi1
0  read信号もしくはi10  write信号
に応じて、上記マンピングテーブルRAM12.に対す
るテーブルデータの書き込みあるいは読み出しを制御す
るものである。
Gate 12□ is the mapping table RAM 1
2 I1 connected between the data side of I and the data bus 127 and supplied from the processor via the signal line 128.
0 read signal or i10 write signal, the manipulating table RAM 12. This controls the writing or reading of table data to and from the table data.

ケート123は、上記マツピングテーブルRA M 1
2 、のデータ側に接続され、プロセッサから信号線1
29を介して供給されるmemory  read信号
またはmemo r yw r i t e信号によっ
てenableとなるゲート回路124の出力によりア
クティブとなるようになっている。
The table 123 is the mapping table RAM 1.
2, is connected to the data side of , and the signal line 1 from the processor
The gate circuit 124 is activated by the output of the gate circuit 124, which is enabled by a memory read signal or a memory write signal supplied through the gate 29.

なお、上記したデータバス127および各信号線、12
g、1.2gは、いずれも第1図では省略されている。
Note that the data bus 127 and each signal line, 12
g and 1.2g are both omitted in FIG.

第4図は、バスアービトレーションにががる制御線図を
示すものである。
FIG. 4 shows a control diagram for bus arbitration.

すなわち、−群のバスリクエスト信号線24a24b、
〜と一群のバスアクノリッジ信号線25a、25b、〜
とは、それぞれ1本ずつ対をなして各プロセッサ10a
、10b、〜に割り当てられ、プロセッサの搭載数(こ
こでは、4機)分だけ前記システムバス23上に装備さ
れている。
That is, the - group bus request signal lines 24a24b,
~ and a group of bus acknowledge signal lines 25a, 25b, ~
is a pair of each processor 10a.
, 10b, ~, and are installed on the system bus 23 by the number of processors (four in this case).

すでに説明したように、プロセッサかたとえばメモリ1
7をreadまたはw r i t e Lようとする
場合、本実施例では、まず、そのプロセッサよりアービ
タ16にバスリクエスト信号が送出される。このとき、
複数のプロセッサから同時にバスリクエスト信号が送出
されている場合には、アービタ16によりそのうちの1
つが選択される。
As already explained, the processor or memory 1
When attempting to read or write 7, in this embodiment, the processor first sends a bus request signal to the arbiter 16. At this time,
When bus request signals are sent from multiple processors at the same time, the arbiter 16 selects one of them.
is selected.

この場合のアルゴリズムはシステムのアプリケーション
により様々であるが、本実施例ではラウントロピン方式
が採用されている。これは、現在、選択されているもの
は次回には最も優先権が低くなるという方式である。
Although the algorithm in this case varies depending on the system application, the round-tropin method is adopted in this embodiment. This is a method in which the currently selected item will have the lowest priority next time.

前述したように、アービタ16によって選択されるとそ
のプロセッサがアクティブとされるとともに、当該プロ
セッサが備えるセレクタやゲートも前述の如くして規定
の設定がなされる。
As described above, when a processor is selected by the arbiter 16, the processor is activated, and the selectors and gates included in the processor are also set in the prescribed manner as described above.

また、この実施例では、アービタ16により選択される
プロセッサは1つのみであり、このとき、他のプロセッ
サはインアクティブ、つまり動作停止状態となる。
Further, in this embodiment, only one processor is selected by the arbiter 16, and at this time, the other processors are inactive, that is, in a stopped state.

第5図は、ローカルアドレスバス26上におけるデコー
ダ部の構成を示すものである。
FIG. 5 shows the configuration of a decoder section on the local address bus 26.

デコーダ15は、ローカルアドレスバス26上のアドレ
ス値を常に監視し、その値かあらかしめ設定された各プ
ロセッサに対するメモリ]7の割り付は領域内であれば
該当するプロセッサに備えられたゲートをアクティブと
し、そのプロセッサの所有するマツピングテーブルから
のアドレス値をシステムバス23上に出力させるもので
ある。
The decoder 15 constantly monitors the address value on the local address bus 26, and determines whether the address value is the value and activates the gate provided in the corresponding processor if the allocated memory for each processor is within the area. and outputs the address value from the mapping table owned by the processor onto the system bus 23.

ここで、上記デコーダ15は一般の論理回路で構成する
ようにしても良いが、この部分にもう1つのマツピング
テーブル格納用RAMを設け、その内容にもとづいて各
プロセッサへのゲート制御を行うようにすれば、第2図
に示した各プロセッサごとに連続したメモリ割り当てで
はなく、ブロック単位ごとに混在して割り当てたり、こ
れを自動的に変更したりすることも可能である。
Here, the decoder 15 may be constructed of a general logic circuit, but it is also possible to provide another mapping table storage RAM in this part and perform gate control to each processor based on the contents. By doing so, instead of consecutive memory allocation for each processor as shown in FIG. 2, it is also possible to allocate memory in a mixed manner for each block or to change this automatically.

次に、本実施例におけるアドレスの割り付けの例、およ
びアドレスまわりの動作について説明する。
Next, an example of address allocation and operations related to addresses in this embodiment will be described.

第6図は、1つのプロセッサまわりのアドレス信号線の
割り付けの例として、第1プロセツサ10aまわりを取
り出して示すものである。
FIG. 6 shows the area around the first processor 10a as an example of address signal line allocation around one processor.

ここでは、4にハイドを1つのブロックとし、第2図に
示したように、1プロセツサあたり128にバイトのメ
モリ割り付けをした場合について考えてみる。また、各
プロセッサは、0番地より128にバイト番地までしか
論理的なアクセス範囲はないものとする。
Here, let us consider the case where 4 hides are one block and 128 bytes of memory are allocated per processor as shown in FIG. Further, it is assumed that each processor has a logical access range only from address 0 to byte address 128.

まず、アービタ16の選択によって第1プロセツサ10
aかアクティブ状態の場合、プロセッサ10aから出力
されるaddress00〜address16までの
17ビツトのアドレスか、上位5ビツトのメモリブロッ
ク選択アドレスと下位12ビツトのブロック内アドレス
とに分割される。ブロック選択アドレスは、第1セレク
タ11aを介して第1マツピングテーブル12aに入力
される。そして、このプロセッサ10aに割り当てられ
たメモリ領域の範囲をアクセスする場合には、この範囲
で任意にマツピングされた8ビツトのアドレスに変換さ
れて出力される。このアドレス、たとえば384にバイ
ト番地〜512にバイト番地の範囲などのアドレスは、
第2ゲート14aを介してローカルアドレスバス26上
に出力される。
First, depending on the selection of the arbiter 16, the first processor 10
If the address a is in the active state, the 17-bit address from address 00 to address 16 output from the processor 10a is divided into the upper 5 bits of the memory block selection address and the lower 12 bits of the intra-block address. The block selection address is input to the first mapping table 12a via the first selector 11a. When accessing the range of the memory area allocated to this processor 10a, it is converted into an 8-bit address arbitrarily mapped within this range and output. This address, for example, the range from byte address 384 to byte address 512, is
It is output onto the local address bus 26 via the second gate 14a.

また、このアドレスは、デコーダ15によって監視され
る。そして、このアドレスがそれを出力するプロセッサ
10aに割り当てられたものであった場合には第1ゲー
ト13aが開かれ、システムバス23上にそのアドレス
が上記した下位のブロック内アドレスとともに出力され
る。
This address is also monitored by the decoder 15. If this address is assigned to the processor 10a that outputs it, the first gate 13a is opened and the address is output onto the system bus 23 together with the above-mentioned lower intra-block address.

ここでもし、他のプロセッサ10b〜10dに割り当て
られたメモリ領域をアクセスする場合には、あらかじめ
マツピングテーブル12aに当該アドレスを設定してお
くことにより行われる。すなわち、デコーダ15により
そのアドレスに割り付けられたプロセッサの第1ゲート
がオーブンされ、そのプロセッサが管理するところのマ
ツピングテーブル上のアドレス値がシステムバス23上
に出力される。
Here, if the memory areas allocated to the other processors 10b to 10d are to be accessed, this is done by setting the relevant addresses in the mapping table 12a in advance. That is, the first gate of the processor assigned to that address is opened by the decoder 15, and the address value on the mapping table managed by that processor is output onto the system bus 23.

一方、アクティブでないプロセッサ10b〜10dがそ
れぞれ管理するマツピングテーブル12b〜12dに対
する入力には、ローカルアドレスバス26上の値が与え
られる。したかって、アクティブなプロセッサ10aか
らローカルアドレスバス26上に出力されたアドレスの
、address12〜address16 (本実施
例の場合)の値からさらにアドレスが変換されてシステ
ムバス23上に出力されることになる。
On the other hand, values on the local address bus 26 are given to inputs to mapping tables 12b-12d managed by inactive processors 10b-10d, respectively. Therefore, the address is further converted from the values of address12 to address16 (in this embodiment) of the address outputted from the active processor 10a onto the local address bus 26 and outputted onto the system bus 23. .

第7図は、上記したアドレスまわりの動作を示すもので
ある。
FIG. 7 shows the operation related to the address described above.

たとえば今、第2プロセツサ10bはアクティブであり
、このプロセッサ10bにはメモリ領域384にバイト
番地〜512にバイト番地が割り当てられ、第3プロセ
ツサ10cはインアクティブであり、同じ<512にバ
イト番地〜640にバイト番地が割り当てられているも
のとする。
For example, now the second processor 10b is active and is assigned byte addresses ~512 in the memory area 384, and the third processor 10c is inactive and has byte addresses ~640 assigned to the same <512. Assume that a byte address is assigned to .

この場合、第2プロセツサ10bの管理するマツピング
テーブル12b内のアドレス値の上位3ビツトかrol
lJのときには、このテーブル12bからのアドレス値
がシステムバス23上に出力される。しかし、図に示す
ように、マツピングテーブル12b内のアドレス値の上
位3ビツトかrlooJのときには、第3プロセツサ1
0cの管理するマツピングテーブル12c内のアドレス
値がシステムバス23上に出力されることになる。この
ときのアドレス値は、マツピングテーブル12b内のデ
ータの下位5ビツトの値からマツピングテーブル12c
内のデータを引いた値となる。
In this case, the upper three bits of the address value in the mapping table 12b managed by the second processor 10b or rol
lJ, the address value from this table 12b is output onto the system bus 23. However, as shown in the figure, when the upper three bits of the address value in the mapping table 12b are rloooJ, the third processor 1
The address value in the mapping table 12c managed by 0c will be output onto the system bus 23. At this time, the address value is calculated from the value of the lower 5 bits of the data in the mapping table 12b to the mapping table 12c.
This is the value obtained by subtracting the data within.

上記したように、相手のメモリ管理方式を意識せずにア
ドレス変換できるようにしている。
As mentioned above, addresses can be translated without being aware of the other party's memory management method.

すなわち、複数のプロセッサからなるシステムにおいて
、それぞれのプロセッサを独自のメモリ管理機能をもっ
て稼働させることを可能とするだけでなく、別々のメモ
リ管理方式のもとで、相互のデータの授受を互いに相手
の方式を意識することなしに、相手に割り当てられたメ
モリ領域をアクセスできるようにしている。これにより
、各ブロセッサは独自のメモリ管理方式にしたかってメ
モリを有効に利用できるとともに、相互に煩わしいデー
タ授受のだめのプロトコイルを要しない他、各プロセッ
サごとに異なるO8が稼働していても何の問題もない。
In other words, in a system consisting of multiple processors, it is possible to not only enable each processor to operate with its own memory management function, but also to be able to send and receive data between each other under separate memory management methods. It allows you to access the memory area allocated to the other party without being aware of the method. This allows each processor to use its own memory management method to effectively utilize memory, and eliminates the need for complicated protocol coils for exchanging data between each processor. No problem.

したかって、高性能なシステムを容易に実現し得るもの
である。
Therefore, a high-performance system can be easily realized.

なお、上記実施例においては、マツピングテーブル上の
データとして単にアドレスデータのみを格納してなる場
合について説明したか、実際には、たとえばマツピング
テーブルを変更する際においてはそれを他のプロセッサ
が参照しているか否かにより制御する手段が必要である
In addition, in the above embodiment, the case where only address data is simply stored as data on the mapping table has been explained, but in reality, for example, when changing the mapping table, it is stored by another processor. A means for controlling depending on whether or not it is being referenced is required.

すなわち、本発明によれば、各プロセッサはそれぞれが
管理するところのメモリ領域を相互に共有することか可
能となる。しかしながら、このような構成とした場合、
あるプロセッサ(これをプロセッサAとする)か別のプ
ロセッサ(これをプロセッサBとする)の管理するマツ
ピングテーブルを介してメモリをアクセスして処理を実
行している最中に、アービトレーションによってプロセ
ッサBかアクティブとなり、これか管理するマツピンク
テーブルの書き換えを行うと、以後、プロセッサAはこ
のマツピンクテーブルを介してのアクセスかできなくな
るということか起こり得る。
That is, according to the present invention, each processor can mutually share the memory area that each processor manages. However, with such a configuration,
While a processor (this is called processor A) or another processor (this is called processor B) is accessing memory and executing a process via a mapping table managed by another processor, processor B If this becomes active and the pine pink table that it manages is rewritten, processor A may no longer be able to access it via this pine pink table.

したかって、マツピンクテーブルの変更については、そ
れを他のプロセッサか参照しているか否かにより制御す
る手段が必要となる。
Therefore, a means for controlling changes in the pine pink table depending on whether it is referenced by another processor is required.

そこで、本発明においては、マツピンクテーブル上に制
御フラグを設けることにより、これを実現している。
Therefore, in the present invention, this is achieved by providing a control flag on the pine pink table.

第8図は、上記したマツピングテーブル上における各デ
ータのセツティングフォーマットの一例を示すものであ
る。
FIG. 8 shows an example of the setting format of each data on the above-mentioned mapping table.

この場合、マツピングテーブル12.〜6は、これを介
して変換されるアドレスデータを格納するアドレス部と
、上記制御フラグを格納するフラグ部とから構成されて
いる。アドレス部における具体的な設定値は前記第7図
に示したものと同様である。そして、この設定値のそれ
ぞれに、つまりそれぞれのメモリプロットごとに制御フ
ラグが付与されている。
In this case, mapping table 12. .about.6 is composed of an address section for storing address data to be converted through this, and a flag section for storing the above-mentioned control flag. The specific setting values in the address section are the same as those shown in FIG. 7 above. A control flag is assigned to each of these set values, that is, to each memory plot.

フラグ部は、さらに複数のビットからなり、そのそれぞ
れが各プロセッサに割り当てられている。
The flag section further includes a plurality of bits, each of which is assigned to each processor.

しかして、プロセッサかマツピングテーブル12、〜.
を介してアクセスする際には、たとえば第9図に示す如
く、そのフラグ部の該当するビット位置をオン状態とす
るようにし、これを終了する場合には同じく該当するビ
ット位置をオフ状態とすることにより行われる。
Then, the processor or mapping table 12, .
When accessing via, for example, as shown in FIG. 9, the corresponding bit position of the flag section is set to ON state, and when the access is to be terminated, the corresponding bit position is also set to OFF state. This is done by

一方、マツピングテーブル12.〜.を変更する場合、
たとえば第10図に示す如く、そのマツピングテーブル
12.〜6を管理するプロセッサは、自分以外のすべて
のフラグがオフ状態であることを確認した上で行うよう
にする。
On the other hand, mapping table 12. ~. If you change
For example, as shown in FIG. 10, the mapping table 12. The processor managing processors 6 to 6 performs the processing after confirming that all flags other than the processor's flags are in the off state.

以上の処理は、マツピングテーブルへのアクセスが任意
に可能とされた前記第3図に示した構成により容易に実
現される。
The above processing is easily realized by the configuration shown in FIG. 3, which allows arbitrary access to the mapping table.

次に、本発明の他の実施例(変形例)について説明する
Next, other embodiments (modifications) of the present invention will be described.

第11図は、たとえば2つのプロセッサを搭載して構成
した場合を例に示すものである。
FIG. 11 shows an example of a configuration in which, for example, two processors are installed.

ここでは、一方のプロセッサのみかマツピングテーブル
を具備するとともに、プロセッサは2つしかないので特
にアービタは設けず、プロセッサ間のHOLD/HLD
A信号によりバスの専有権の授受を処理するようになっ
ている。
Here, only one processor has a mapping table, and since there are only two processors, no arbiter is provided, and HOLD/HLD between processors is provided.
The A signal is used to process the transfer of exclusive rights to the bus.

すなわち、第2プロセツサ102かたとえばメモリ10
3をアクセスしたい場合には、ます、信号線104を介
して第1プロセツサ101にHOLD信号が与えられる
。すると、第1プロセツサ101は停止状態とされ、そ
の応答としてのHLDA信号か信号線105を介して返
送される。
That is, the second processor 102 or, for example, the memory 10
3, a HOLD signal is first applied to the first processor 101 via the signal line 104. Then, the first processor 101 is brought into a stopped state, and the HLDA signal as a response is sent back via the signal line 105.

これにより、第2プロセツサ102がアクティブとされ
るとともに、セレクタ106が切り換えられ、マツピン
グテーブル107にアドレスを与えるための信号線が第
1プロセツサ101のアドレス線101aから第2プロ
セツサ102のローカルアドレスバス102aに変更さ
れる。
As a result, the second processor 102 is activated, the selector 106 is switched, and the signal line for giving an address to the mapping table 107 is transferred from the address line 101a of the first processor 101 to the local address bus of the second processor 102. 102a.

また、上記ローカルアドレスバス102aはデコーダ1
08によって常に監視され、第2プロてソサ102から
のアドレスが直にシステムバス]09に出力すべきもの
か、第1プロでノサ]0]の管理するマノピンクテーブ
ル1 (Tl 7 ヲ介して出力すべきものであるかに
応して、ケート1]0またはケート11]が選択的に制
御される。すなわち、直に出力すべきアドレスはケート
]]0を介してシステムバス109に送出され、またマ
ツピングテーブル107を介して出力すべきアドレスは
ゲート111がらシステムハス109上に送られること
になる。
Further, the local address bus 102a is connected to the decoder 1.
08, and whether the address from the second processor 102 should be output directly to the system bus 09 or the first processor outputs it via the mano pink table 1 managed by the first processor 0. Depending on what is to be output, either gate 1]]0 or gate 11] is selectively controlled.That is, the address to be directly output is sent to the system bus 109 via gate]]0, and The address to be output via the mapping table 107 is sent to the system lot 109 through the gate 111.

このように、プロセッサか2つの場合には、非常に簡単
な構成によりメモリの共有化が可能である。
In this way, in the case of two processors, memory can be shared with a very simple configuration.

なお、図に示した101b、102bは、それぞれ第1
.第2プロセッサ101.102からシステムバス10
9に延出されたデータ線および入出力制御線である。
Note that 101b and 102b shown in the figure are the first
.. second processor 101.102 to system bus 10
These are the data lines and input/output control lines extending to 9.

その他、この発明の要旨を変えない範囲において、種々
変形実施可能なことは勿論である。
It goes without saying that various other modifications can be made without departing from the gist of the invention.

[発明の効果] 以上、詳述したようにこの発明によれば、別々のメモリ
管理方式のもとて自由にアドレス変換できるようになる
ため、各プロセッサの何するメモリ管理方式を意識する
ことなく、そのプロでソサか管理するメモリ領域に対し
、他のプロセッサか任意にアクセスすることを可能とす
る高性能な情報処理装置を提供できる。
[Effects of the Invention] As described in detail above, according to the present invention, addresses can be freely translated using different memory management methods, without having to be aware of the memory management method used by each processor. , it is possible to provide a high-performance information processing device that allows other processors to arbitrarily access the memory area managed by the processor.

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

第1図ないし第7図はこの発明の一実施例を示すもので
、第1図は4つのプロセッサを搭載するマルチプロセッ
サシステムを例に示す情報処理装置の構成図、第2図は
メモリにおける各プロセッサごとの割り付けの一例を示
す図、第3図はマツピングテーブルの構成を示すブロッ
ク図、第4図はバスアービトレーションにかかる制御線
群を示す図、第5図はローカルアドレスバス上における
デコーダ部の構成を示す図、第6図は1つのプロセッサ
まわりのアドレス信号線の割り付lすの例を示すブロッ
ク図、第7図はアドレスまわりの動作を説明するために
示す図であり、第8図はマツピングテーブル上における
各データのセツティングフォーマットの一例を示す図、
第9図は他のプロセッサか管理するマツピングテーブル
を介してアクセスする場合の動作を説明するために示す
フローチャート、第1O図はマツピングテーブルを変更
する際の動作を説明するために示すフローチャート、第
11図は他の実施例として2つのプロセッサを搭載して
構成した場合を例に示す情報処理装置の構成図である。 10a〜10d・・・第1ないし第4プロセ、ノサ、1
1a〜lld・・第1ないし第4セレクタ、12a〜1
2d・・第1ないし第4マツピングテーブル、121 
・・マツピングテーブルRAM。 12□ 123・・・ゲート、124・・・ゲート回路
、132〜13d=第1ゲート、14 a 〜14 d
 −第2ゲート、15・・・デコーダ、16・・・アー
ビタ、17・・メモリ、23・・・システムバス、26
・・・ローカルアドレスバス。 出願人代理人 弁理士 鈴江武彦 第4図 第 図 勇2ブ’Dt、”710b v3フ′0セ、りηC 第 図 第 図 第 図
1 to 7 show an embodiment of the present invention. FIG. 1 is a configuration diagram of an information processing device exemplifying a multiprocessor system equipped with four processors, and FIG. FIG. 3 is a block diagram showing the configuration of a mapping table, FIG. 4 is a diagram showing a group of control lines related to bus arbitration, and FIG. 5 is a diagram showing a decoder section on the local address bus. FIG. 6 is a block diagram showing an example of the allocation of address signal lines around one processor, FIG. 7 is a diagram showing the operation around addresses, and FIG. The figure shows an example of the setting format of each data on the mapping table,
FIG. 9 is a flowchart shown to explain the operation when accessing via a mapping table managed by another processor, and FIG. 1O is a flowchart shown to explain the operation when changing the mapping table. FIG. 11 is a configuration diagram of an information processing apparatus exemplifying a case where two processors are installed as another embodiment. 10a-10d... 1st to 4th process, Nosa, 1
1a to lld...first to fourth selectors, 12a to 1
2d: first to fourth mapping table, 121
...Matuping table RAM. 12□ 123...gate, 124...gate circuit, 132-13d=first gate, 14a-14d
- second gate, 15... decoder, 16... arbiter, 17... memory, 23... system bus, 26
...local address bus. Applicant's agent Patent attorney Takehiko Suzue

Claims (1)

【特許請求の範囲】 複数のプロセッサから出力される論理アドレスを物理ア
ドレスに変換するためのマツピングテーブルを有する情
報処理装置において、 各々のプロセッサが前記マツピングテーブルを相互に参
照してアドレス変換を行うよう制御する相互参照手段を
設けたことを特徴とする情報処理装置。
[Claims] In an information processing device having a mapping table for converting logical addresses output from a plurality of processors into physical addresses, each processor mutually refers to the mapping table to perform address conversion. An information processing device characterized in that it is provided with cross-referencing means for controlling the operations.
JP23011190A 1990-08-31 1990-08-31 Information processor Pending JPH04111153A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23011190A JPH04111153A (en) 1990-08-31 1990-08-31 Information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23011190A JPH04111153A (en) 1990-08-31 1990-08-31 Information processor

Publications (1)

Publication Number Publication Date
JPH04111153A true JPH04111153A (en) 1992-04-13

Family

ID=16902739

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23011190A Pending JPH04111153A (en) 1990-08-31 1990-08-31 Information processor

Country Status (1)

Country Link
JP (1) JPH04111153A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08297646A (en) * 1995-04-26 1996-11-12 Kofu Nippon Denki Kk Parallel computer
JPH08297647A (en) * 1995-04-26 1996-11-12 Kofu Nippon Denki Kk Parallel computer
US7180750B2 (en) 2004-09-21 2007-02-20 Nec Corporation Structure for preventing stacking connectors on boards from coming apart and electronic device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08297646A (en) * 1995-04-26 1996-11-12 Kofu Nippon Denki Kk Parallel computer
JPH08297647A (en) * 1995-04-26 1996-11-12 Kofu Nippon Denki Kk Parallel computer
US7180750B2 (en) 2004-09-21 2007-02-20 Nec Corporation Structure for preventing stacking connectors on boards from coming apart and electronic device

Similar Documents

Publication Publication Date Title
US5182801A (en) Apparatus and method for providing fast data transfer between multiple devices through dynamic reconfiguration of the memory space of the devices
US4443846A (en) Dual port exchange memory between multiple microprocessors
JPS6118053A (en) Data processing system
JPH02144649A (en) Directory memory access controller in multiprocessor system
JPH0158540B2 (en)
KR20110122516A (en) Interconnect, bus system having interconnect and operating method of bus system
US5265228A (en) Apparatus for transfer of data units between buses
JPH04111153A (en) Information processor
EP0587370A1 (en) Method and apparatus for software sharing between multiple controllers
CN100422978C (en) Integrated circuit with a plurality of communicating digital signal processors
JPH113324A (en) Data processor incorporating memory and its system
JPS592933B2 (en) I/O device shared controller
JP2550868B2 (en) Communication control LSI
JPS58154059A (en) Memory access system of parallel processing system
JPH0323026B2 (en)
JPH08272754A (en) Multiprocessor system
JP2002024157A (en) Method and device for processing dma
JPH04282938A (en) Communication controller
JPH0426742B2 (en)
JPS60253083A (en) Storage device controlling system
JPS63259746A (en) Inter-bank-memory data transmission system
JPH04175947A (en) Memory control system
JPH04330541A (en) Common data transfer system
JPH0244445A (en) Data processor
JPS61260349A (en) Memory selection system