JPS6047629B2 - Memory control method - Google Patents
Memory control methodInfo
- Publication number
- JPS6047629B2 JPS6047629B2 JP55092938A JP9293880A JPS6047629B2 JP S6047629 B2 JPS6047629 B2 JP S6047629B2 JP 55092938 A JP55092938 A JP 55092938A JP 9293880 A JP9293880 A JP 9293880A JP S6047629 B2 JPS6047629 B2 JP S6047629B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- units
- gate
- access
- unit
- 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.)
- Expired
Links
- 230000015654 memory Effects 0.000 title claims description 117
- 238000000034 method Methods 0.000 title description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000003111 delayed effect Effects 0.000 description 2
- 230000002950 deficient Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0607—Interleaved addressing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Multi Processors (AREA)
Description
【発明の詳細な説明】
本発明は、メモリ制御方式に関し、特に主記憶共用形の
マルチプロセッサ・システムにおける主−メモリ制御方
式に関するものである。DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a memory control system, and more particularly to a main-memory control system in a shared main memory multiprocessor system.
従来、主記憶共用形のマルチプロセッサ、システムでは
、第1図に示すように、各プロセッサ1、2、3に対し
てそれぞれメモリ制御部(以下MCUと記す)4、5、
6が接続され、さらにこフれら複数のMCUにより1台
の主記憶100が共有される。Conventionally, in a main memory shared type multiprocessor system, as shown in FIG. 1, memory control units (hereinafter referred to as MCU) 4, 5,
6 are connected, and one main memory 100 is shared by these multiple MCUs.
通常、主記憶は、独立に動作可能ないくつかのメモリ・
ユニット (第1図では、2個のメモリ・ユニット7、
10)により構成され、MCUからこれらのメモリ・
ユニット7、 10にマルチ接続されているため、同一
のメモリ・ユニットに対するアクセスでないときには、
複数のMCUから同時に主記憶100にアクセスできる
ようになつている。しかし、複数のMCU(例えば、M
CU4と5)が同一のメモリ・ユニット(例えば7)に
対してアクセス要求を行つた場合には、先に到達したア
クセス要求のみが受け付けられ、そのアクセス処理が完
了するまで、次に到達したアクセス要求は待たされる。
したがつて、待合せ時間が長くなり、処理能力が低下す
るおそれがある。一方、主記憶の信頼性の向上を計るた
め、第2図に示すように、主記憶のアドレス空間の一部
あるいは全部を複数のメモリ・ユニット7,8,9て多
重化して構成する方法が提案された。Typically, main memory consists of several memories that can operate independently.
units (in Figure 1, two memory units 7,
10), and these memories are transferred from the MCU.
Since it is multi-connected to units 7 and 10, when accessing the same memory unit,
The main memory 100 can be accessed simultaneously from a plurality of MCUs. However, if multiple MCUs (e.g.
When CUs 4 and 5) make access requests to the same memory unit (for example, 7), only the access request that arrived first is accepted, and the next access request is accepted until the access processing is completed. Requests are made to wait.
Therefore, there is a risk that the waiting time will be longer and the processing capacity will be lowered. On the other hand, in order to improve the reliability of the main memory, a method is proposed in which part or all of the address space of the main memory is multiplexed into multiple memory units 7, 8, and 9, as shown in FIG. was suggested.
第2図では、各プロセッサまたはチャネル1,2,3に
MCU4,5,6がそれぞれ接続され、主記憶のメモリ
・ユニット7〜10がそれぞれMCU4,5,6により
マルチ接続されている。In FIG. 2, MCUs 4, 5, and 6 are connected to each processor or channel 1, 2, and 3, respectively, and memory units 7 to 10 of the main memory are multi-connected by MCUs 4, 5, and 6, respectively.
メモリ・ユニット7〜10の下方の図は、主記憶の実ア
ドレス空間の概念を示すもので、主記憶の実アドレス空
間11は、2つの空間12と13に分割され、そのうち
実アドレス空間12は3重化構成であり、実アドレス空
間13は多重化されていない構成である。すなわち、主
記憶の一部のアドレス空間のみが、3個のメモリ◆ユニ
ット7,8,9によつて多重化されている。第2図の方
式においては、例えばMCU4が多重化された実アドレ
ス空間12にアクセス要求を行うとき、すべてのメモリ
・ユニット7,8,9に対して同時にアクセスが行われ
るので、1個のメモリ◆ユニットが障害の場合でも、他
のメモリ・ユニットが正常であれば処理を正常に継続で
きる利点がある。The lower diagram of memory units 7 to 10 shows the concept of the real address space of the main memory. The real address space 11 of the main memory is divided into two spaces 12 and 13, of which the real address space 12 is It has a triplex configuration, and the real address space 13 has a non-multiplexed configuration. That is, only a part of the address space of the main memory is multiplexed by three memory units 7, 8, and 9. In the system shown in FIG. 2, for example, when the MCU 4 makes an access request to the multiplexed real address space 12, all memory units 7, 8, and 9 are accessed simultaneously, so one memory ◆An advantage is that even if a unit fails, processing can continue normally if other memory units are normal.
しかし、MCU4と5が同時に実アドレス空間312を
アクセスした場合、一瞬早く到達したアクセス要求、あ
るいは同時のときには優先順位の高い方のアクセス要求
のみが受け付けられ、すべてのメモリ・ユニット7,8
,9に対してアクセス処理が行われるので、他方のアク
セス要求は上記4アクセス処理が終了するまで待たれる
という欠点がある。However, when the MCUs 4 and 5 access the real address space 312 at the same time, only the access request that arrives instantaneously earlier, or the access request with a higher priority when they are simultaneous, is accepted, and all memory units 7 and 8 are accessed.
, 9, the other access request has to wait until the above four access processes are completed.
なお、実アドレス空間13に対して複数のMCUがアク
セスする場合には、第1図の方式と全く同じである。Note that when a plurality of MCUs access the real address space 13, the method is exactly the same as the method shown in FIG.
本発明の目的は、このような従来の欠点を除去するため
、複数のメモリ・ユニットにより多重化された実アドレ
ス空間を複数のMCUから同時にアクセスしたとき、並
列にアクセス処理を行うことにより、主記憶共用形のマ
ルチプロセッサ●システムにおける処理能力の向上を計
るとともに、読み出し情報の誤りをなくして信頼性を向
上させるメモリ制御方式を提供することにある。An object of the present invention is to eliminate such conventional drawbacks by performing access processing in parallel when a real address space multiplexed by a plurality of memory units is accessed simultaneously from a plurality of MCUs. The object of the present invention is to provide a memory control method that improves the processing capacity of a shared memory multiprocessor system and eliminates errors in read information to improve reliability.
本発明のメモリ制御方式は、多重化されているアドレス
空間へのアクセス要求を受け付けたMCUが、先ずアク
セス処理を行つていないメモリ・ユニットを選択た後、
読み出し要求の場合には、アクセス競合をなくして処理
能力を上げるた・め1個のメモリ・ユニットだけをアク
セスするようにし、一方、書き込み要求の場合には、デ
ータの更新をできる限り早く行うために、先に選択され
たメモリ●ユニットのすべてに対してアクセス処理を行
つた後、他のMCUによりアクセス処理が行われている
メモリ・ユニットに対しても、その処理が完了したとき
直ちにアクセスすることによつて、更新されていないデ
ータが読み出されないようにすることを特徴としている
。In the memory control method of the present invention, an MCU that has received an access request to a multiplexed address space first selects a memory unit that is not performing access processing, and then
In the case of a read request, only one memory unit is accessed to eliminate access contention and increase processing power, while in the case of a write request, the data is updated as quickly as possible. After performing access processing on all of the previously selected memory units, the memory units that are being accessed by other MCUs are also accessed immediately when the processing is completed. In particular, this feature prevents data that has not been updated from being read.
以下、本発明の実施例を、図面により説明する。Embodiments of the present invention will be described below with reference to the drawings.
第3図は、本発明の実施例を示すMCUの要部論理回路
図である。FIG. 3 is a main part logic circuit diagram of an MCU showing an embodiment of the present invention.
本発明においては、プロセッサ1,2,3とMCU4,
5,6の接続、および主記憶のアドレス空間の構成は、
第2図と全く同じであり、異なつているのは、MCUの
内部構成およびその制御動作である。In the present invention, processors 1, 2, 3 and MCU 4,
The connections of 5 and 6 and the structure of the main memory address space are as follows:
This is exactly the same as FIG. 2, except for the internal configuration of the MCU and its control operation.
ただし、メモリ●ユニットおよびMCUの数、MCUと
CPUあるいはMCUとチャネルとの間の接続について
は、第2図に示す構成に限定されることなく、他のシス
テム構成の場合でも適用される。第3図において、14
はCPUまたはチャネルから送られてくるアクセスアド
レスを保持するレジスタ、15はデコーダ、16〜22
はANDゲート、23〜25はNADゲート、26〜3
5はσRゲート、36〜39はN″0Rゲート、40〜
42はインバータ、43〜45はフリップフロップ、4
6はメモリユニット10に対するアクセスの制御機構で
ある。However, the number of memory units and MCUs, and the connections between MCUs and CPUs or MCUs and channels are not limited to the configuration shown in FIG. 2, and may be applied to other system configurations. In Figure 3, 14
is a register that holds the access address sent from the CPU or channel, 15 is a decoder, 16 to 22
is AND gate, 23-25 is NAD gate, 26-3
5 is σR gate, 36-39 is N″0R gate, 40-
42 is an inverter, 43 to 45 are flip-flops, 4
6 is a control mechanism for accessing the memory unit 10;
MCUおよび6も同様の構成てある。信号線47はMC
U4がメモリユニット7を選択するための信号線であり
論理レベル“゜1゛が選択中であることを示す。MCU and 6 also have a similar configuration. Signal line 47 is MC
U4 is a signal line for selecting the memory unit 7, and the logic level "1" indicates that it is being selected.
同様に信号線48,49はそれぞれMCU4がメモリユ
ニット8,9を選択するための信号線である。これらの
信号線はMCUおよび6にも接続されている。MCU5
,6からも同様に信号線47に対応する信号線50,5
1が、信号線48に対応する信号線52,53が、信号
線49に対応する信号線54,55がメノモリユニツト
と他MCUに接続されている。またメモリユニット7〜
10からは該メモリユニットにおける読み出しあるいは
書き込みの動作が終了したことを報告する信号線56〜
59が各MCUごとに別々に接続されている。なお、第
3図ではMCU5と6との間、およびMCU5,6とメ
モリユニットとの間の信号線は省略してある。以下に、
MCU4を例に動作を説明する。Similarly, signal lines 48 and 49 are signal lines for the MCU 4 to select memory units 8 and 9, respectively. These signal lines are also connected to MCU and 6. MCU5
, 6, the signal lines 50, 5 corresponding to the signal line 47 are similarly connected.
1, signal lines 52 and 53 corresponding to the signal line 48, and signal lines 54 and 55 corresponding to the signal line 49 are connected to the memory unit and other MCUs. Also, memory unit 7~
10, there are signal lines 56 to 10 that report that the read or write operation in the memory unit has been completed.
59 are connected separately to each MCU. Note that in FIG. 3, signal lines between the MCUs 5 and 6 and between the MCUs 5 and 6 and the memory unit are omitted. less than,
The operation will be explained using MCU4 as an example.
CPUまたはチャネル1が多重化されていない実アドレ
ス空間13に属する実アドレスへのアクセス要求を受け
付けたときには、アドレスをレジスタ14で受けアドレ
スの上位ビットをデコーダ15でデコードすることによ
り制御機構46がメモリユニット10へのアクセス動作
を行う。When the CPU or channel 1 receives a request to access a real address belonging to the real address space 13 that is not multiplexed, the control mechanism 46 receives the address in the register 14 and decodes the upper bits of the address in the decoder 15. Performs an access operation to the unit 10.
制御機構46は他のMCU5,6がメモリユニット10
にアクセス中でないことを確認してアクセスを開始する
。他のMCUがアクセス中の場合には、その完了を待つ
てアクセスを開始する。CPUまたはチャネル1が3重
化されている実アドレス空間12に属する実アドレスへ
のアクセス要求を受け付けたときには、メモリユニット
7,8,9に対応して設けられたフリップフロップ43
,44,45をデコーダ15の出力によつて゜゜1゛に
セットする。The control mechanism 46 is connected to the other MCUs 5 and 6 by the memory unit 10.
Begin accessing after confirming that it is not currently being accessed. If another MCU is accessing, wait for its completion before starting the access. When the CPU or channel 1 receives a request to access a real address belonging to the triplexed real address space 12, the flip-flops 43 provided corresponding to the memory units 7, 8, and 9
, 44, 45 are set to ゜゜1゛ by the output of the decoder 15.
一方、他MCUがメモリユニット7〜9にアクセス中で
あるは否かは信号線50〜55を介してN()Rゲート
36〜38に入力される。フリップフロップ43,44
,45の出力とN′0Rゲート36,37,38の出力
はそれぞれANDゲート17,18,19で論理積をと
り.ANDゲート20,21,22に入力される。MC
Uが4が読み出しアクセスを受け付けたとき信号線60
は“0゛となり、このときはインバータ41と0Rゲー
ト31は.ANDゲート17の出力が66r′の場合に
ANDゲート21が゜“1゛になることを禁止し、NO
Rゲート39と0Rゲート32はANDゲート17ある
いは18の出力が4r′の場合にANDゲート22が′
6F′になることを禁止する(但し、ANDゲート21
や22が既に“1゛のときにこれを゜゛0”にすること
はない)。また、読み出しアクセスを受け付け中には0
Rゲート33〜35、インバータ42、N.ANDゲー
ト23〜25によつてANDゲート20〜22のうち2
つ以上が゛1゛になることを禁止する。いま、実アドレ
ス空間12への読み出しアクセスの場合について、その
動作を説明する。On the other hand, whether or not other MCUs are accessing memory units 7-9 is input to N()R gates 36-38 via signal lines 50-55. Flip-flop 43, 44
, 45 and the outputs of N'0R gates 36, 37, and 38 are ANDed by AND gates 17, 18, and 19, respectively. It is input to AND gates 20, 21, and 22. M.C.
When U4 accepts read access, signal line 60
becomes "0", and in this case, the inverter 41 and the 0R gate 31 inhibit the AND gate 21 from becoming "1" when the output of the AND gate 17 is 66r', and the NO
The R gate 39 and the 0R gate 32 indicate that when the output of the AND gate 17 or 18 is 4r', the AND gate 22 is
6F' (However, AND gate 21
(This will not be set to ゜゛0'' when or 22 is already ``1゛''). Also, while accepting read access, 0
R gates 33 to 35, inverter 42, N. 2 of AND gates 20-22 by AND gates 23-25
It is prohibited for more than one to become "1". Now, the operation in the case of read access to the real address space 12 will be explained.
MCU5,6がメモリユニット7にアクセスしていない
場合には、NORゲート36の出力が1゛になることに
よつてそれを知り、ANDゲート17の出力が゜“1゛
になる。If the MCUs 5 and 6 are not accessing the memory unit 7, this is known because the output of the NOR gate 36 becomes 1', and the output of the AND gate 17 becomes 1'.
このためANDゲート21,22の出力はANDゲート
18,19の状態に関係なく゜゛0゛であり、ANDゲ
ート20だけが66F゛を出力し(ANDゲート21,
22の出力が゜゜0゛であり、0Rゲート35の出力は
“0−NANDゲート23の出力は“1゛である)メモ
リユニット7を選択してアクセスする。メモリユニット
7で読み出しを終了すると終了信号が信号線56によつ
て報告され0Rゲート30、ANDゲート16、0Rゲ
ート27〜29を介してフリップフロップ43〜45を
全て640゛にリセットする(いま読み出しアクセスで
あるためインバータ40の出力は“1゛であり,AND
ゲート16は開かれている)。このとき0Rゲート26
ノの出力も6゜0゛となり、CPUやチャネルに対して
次のアクセスが受け付けられることを報告する。MCU
5あるいは6がメモリユニット7にアクセス中であり、
かつメモリユニット8がいずれのMCUからもアクセス
中でない場合には、AND7ゲート17の出力ぱ60゛
、ANDゲート18の出力ば゜1゛となる。このためA
NDゲート20の出力は“゜0゛であり、ANDゲート
22の出力もN巾ゲート9の状態に関係なく“0゛であ
る。ANDゲート21のみが“1゛を出力しメモリユク
ニツト8を選択してアクセスする。もしメモリユニット
8にアクセス中にメモリユニット7に対する他MCUの
アクセスが終了したときにはANDゲート17の出力が
“゜1゛、インバータ41の出力が“0゛となるが、A
NDゲート21の出力(“1゛)が0Rゲート31に入
力されているためN1ゲート21はそのまま“゜1゛の
状態を保持する。また、ANDゲート21の出力が゜“
1゛であるため0Rゲート35の出力ぱ゜1゛、NAN
Dゲート23の出力ぱ“0゛であり、N1ゲート20が
゜゜1゛になることはない。メモリユニット8から信号
線57を介して終了信号が送られてくると前記と同様に
フリップフロップ43〜45を全て“゜0゛にリセット
して次のアクセス要求を待つ。メモリユニット7および
8が他MCUからアクセス中でメモリユニット9があい
ているときの動作も同様である。次に、実アドレス空間
12に属する実アドレスへの書き込みアクセスを行なう
ときの動作を説明する書き込みの場合には、N,AND
ゲート23〜25および0Rゲート31,32の出力は
全て“゜1゛であるため、ANDゲート17,18,1
9が゜“1゛であればそれぞれ対応するANDゲート2
0,,21,22は直ちに“1゛となる。Therefore, the outputs of the AND gates 21 and 22 are ゜゛0゛ regardless of the states of the AND gates 18 and 19, and only the AND gate 20 outputs 66F.
The output of 0R gate 35 is "0" and the output of NAND gate 23 is "1". Memory unit 7 is selected and accessed. When the reading is finished in the memory unit 7, an end signal is reported through the signal line 56, and the flip-flops 43 to 45 are all reset to 640° via the 0R gate 30, the AND gate 16, and the 0R gates 27 to 29 (now the readout is completed). Since it is an access, the output of the inverter 40 is "1", and the AND
Gate 16 is open). At this time, 0R gate 26
The output of 0 also becomes 6°0, and it is reported to the CPU and channel that the next access will be accepted. MCU
5 or 6 is accessing memory unit 7,
When the memory unit 8 is not being accessed by any MCU, the output of the AND7 gate 17 is 60', and the output of the AND gate 18 is 1'. For this reason A
The output of the ND gate 20 is "0", and the output of the AND gate 22 is also "0" regardless of the state of the N-width gate 9. Only the AND gate 21 outputs "1" and selects and accesses the memory unit 8. If another MCU finishes accessing the memory unit 7 while accessing the memory unit 8, the output of the AND gate 17 becomes "1". 1゛, the output of the inverter 41 becomes ``0'', but A
Since the output ("1") of the ND gate 21 is input to the 0R gate 31, the N1 gate 21 maintains the state of "1". Also, the output of the AND gate 21 is ゜“
Since it is 1゛, the output of 0R gate 35 is 1゛, NAN
The output voltage of the D gate 23 is "0", and the N1 gate 20 never becomes "1". When the end signal is sent from the memory unit 8 via the signal line 57, the flip-flop 43 is output as described above. .about.45 are all reset to "0" and wait for the next access request. The operation is similar when memory units 7 and 8 are being accessed by another MCU and memory unit 9 is open. Next, in the case of writing to explain the operation when performing write access to a real address belonging to the real address space 12, N, AND
Since the outputs of gates 23 to 25 and 0R gates 31 and 32 are all "゜1゛," AND gates 17, 18, 1
If 9 is ゜“1゛, the corresponding AND gate 2
0, 21, and 22 immediately become "1".
このため、メモリユニット7〜9のうち他MCUからア
クセスされていない全メモリユニットに対して同時に書
き込みを行なうことができる。例えばMCU5あるいは
6がメモリユニット8にアクセス中でメモリユニット7
,9はきずれのMCUからもアクセスされていない場合
(ANDゲート17,19ぱ゜1゛、ANDゲート18
ば0゛)には、ANDゲート20と22が共に“1゛と
なりメモリユニット7および9に対して同時に書き込み
を開始する。メモリユニット7あるいは9から書き込み
処理の終了信号が送られてきたときには二(書き込みア
クセスては信号線60ば1゛、インバータ40ぱ゜0゛
となりANDゲート16が閉じられている)対応するフ
リップフロップ43あるいは45のみを゜“0゛にリセ
ットし、フリップフロップ44はリセットしない。MC
Uあるいは36がメモリユニット8へのアクセスを終了
した時点でANDゲート18,21が゜“1゛となりメ
モリユニット8に対する書き込みを開始する。メモリユ
ニット7〜9の全てで書き込みを終了した時点でフリッ
プフロップ43〜45が全で゜0゛に4,なり、0Rゲ
ート26を介して次のアクセスが受け付けられることを
CPUやチャネルに報告する。第4図は第3図の実施例
における動作の例を示した図である。Therefore, writing can be performed simultaneously on all memory units among memory units 7 to 9 that are not accessed by other MCUs. For example, while MCU 5 or 6 is accessing memory unit 8, memory unit 7
, 9 are not accessed by the defective MCU (AND gates 17 and 19 are 1゛, AND gate 18 is
When the write processing end signal is sent from memory unit 7 or 9, both AND gates 20 and 22 become "1" and start writing to memory units 7 and 9 at the same time. (For write access, the signal line 60 is 1, the inverter 40 is 0, and the AND gate 16 is closed.) Only the corresponding flip-flop 43 or 45 is reset to 0, and the flip-flop 44 is reset. do not. M.C.
When U or 36 finishes accessing the memory unit 8, the AND gates 18 and 21 become ``1'' and start writing to the memory unit 8. When writing is finished in all memory units 7 to 9, the flip-flop 43 to 45 reach 4, and report to the CPU and channel that the next access will be accepted via the 0R gate 26.FIG. 4 shows an example of the operation in the embodiment shown in FIG. FIG.
MCU4,5,6は、それぞれ時刻61,62,63に
実アドレス空間12へのアクセス要求を受け付けるもの
とする。It is assumed that the MCUs 4, 5, and 6 receive requests for access to the real address space 12 at times 61, 62, and 63, respectively.
また、読み出し、書き込みのいずれの場合もアクセスの
処理に要する時間は等しいとする。第4図aは各MCU
が読み出しアクセス要求を受け付けた場合であり、アク
セス要求を受け付けた時点で直ちにそれぞれ異なるメモ
リユニット7,8,9にアクセスを開始すフる。第4図
bはMCU4が書き込み、MCU5,6が読み出しアク
セス要求を受け付けた場合である。MCU4は時刻61
から直ちに全メモリユニット7,8,9に対して書き込
みを開始する。MCU5,6はアクセス要求受け付け時
に全メモリユニツトがアクセス中であるためMCLl4
からのアクセス処理が終了する時刻64まで待つて読み
出しを開始する。第4図cはMCU4,5は読み出し、
MCU6は書き込みアクセス要求を受け付けた場合であ
る。MCU4,5は直ちに読み出しを開始し、MCU6
もアクセス受け付け時に空いているメモリユニット9に
対しては直ちに書き込みを開始する。その後時刻64で
メモリユニット7が、時刻65でメモリユニット8がア
クセス処理を終了した時点でメモリユニット7,8に対
しても書き込みを開始し、時刻68で全てのメモリユニ
ットへの書き込みを終了する。なお、第4図dは従来方
式の動作例であり、MCU5のアクセス要求の読み出し
は時刻62から64まで、MCUのアクセス要求の処理
は時刻63から67まで待たされる。第5図は、本発明
の他の実施例を示すMCU内の要部論理回路図である。Further, it is assumed that the time required for access processing is the same for both reading and writing. Figure 4a shows each MCU
This is a case in which the memory units 7, 8, and 9 start accessing the different memory units 7, 8, and 9 immediately upon receiving the access request. FIG. 4b shows a case where the MCU 4 accepts a write access request and the MCUs 5 and 6 accept a read access request. MCU4 is time 61
Immediately after that, writing to all memory units 7, 8, and 9 starts. Since all memory units of MCU5 and MCU6 are being accessed when an access request is received, MCU14 is
Reading starts after waiting until time 64 when the access processing from . In Fig. 4c, MCUs 4 and 5 read out,
This is a case where the MCU 6 receives a write access request. MCU4 and MCU5 immediately start reading, and MCU6
When the access is accepted, writing is immediately started to the memory unit 9 which is vacant. After that, when memory unit 7 finishes the access processing at time 64 and memory unit 8 finishes the access process at time 65, it starts writing to memory units 7 and 8, and ends writing to all memory units at time 68. . Note that FIG. 4d shows an example of the operation of the conventional system, in which reading of the access request from the MCU 5 is delayed from time 62 to 64, and processing of the access request from the MCU is delayed from time 63 to 67. FIG. 5 is a main logic circuit diagram in an MCU showing another embodiment of the present invention.
第5図においては、MCUが多重化されたアドレス空間
に対する読み出しアクセス要求を受け付け、そのアドレ
スを持つ1個のメモリ●ユニットから読み出しを行つた
とき、読み出した情報に誤り訂正不可能なエラーがあつ
たときには、自動的に多重化された複数のメモリ・ユニ
ットのうちの他の1個あるいは複数個のメモリ・ユニッ
トに再アクセスして、信頼性の向上を計るようにしてい
る。In Figure 5, when the MCU accepts a read access request to a multiplexed address space and reads from one memory unit that has that address, an uncorrectable error occurs in the read information. When this happens, one or more of the multiplexed memory units is automatically accessed again to improve reliability.
第5図において、第3図と異なる点は、読み出し信号線
71,72,73にそれぞれCRC回路等の誤りチェッ
ク回路74,75,76を接続し、このチェック回路7
4,75,76において、従来のように、例えば2ビッ
ト誤りの検出、1ビット誤りの訂正を行い、訂正のでき
ない2ビット誤りを検出したときには、出力゜゛0゛を
、また正しいときと、1ビット誤りの訂正を行つたとき
には、出力゜゛1゛を0Rゲート30および0Rゲート
27,28,29に与える点である。The difference between FIG. 5 and FIG. 3 is that error check circuits 74, 75, and 76 such as CRC circuits are connected to read signal lines 71, 72, and 73, respectively.
4, 75, and 76, as in the past, for example, 2-bit error detection and 1-bit error correction are performed, and when a 2-bit error that cannot be corrected is detected, the output ゛0゛ is output, and when it is correct, 1 When the bit error is corrected, the output ゛゛1゛ is given to the 0R gate 30 and the 0R gates 27, 28, and 29.
すなわち、第3図では、0Rゲート30に対してアクセ
ス処理の終了信号を入力しているが、第5図では、読み
出したデータが正しいことを検出した信号を入力するこ
とによつて、アクセスしたメモリ・ユニットから正しい
データが得られないときには、フリップ・フロップ43
〜45のうちの、そのメモリ・ユニットに対応するフリ
ップ・フロップだけがリセットされ、リセットされてい
ない他のフリップ・フロップに対応するメモリ・ユニッ
トに切り替えて再びアクセスすることができる。That is, in FIG. 3, the access processing end signal is input to the 0R gate 30, but in FIG. When the correct data is not available from the memory unit, the flip-flop 43
~45, only the flip-flops corresponding to that memory unit are reset, and the memory units corresponding to other flip-flops that are not reset can be switched and accessed again.
以上説明したように、本発明によれば、複数のメモリ・
ユニットで多重化して構成された実アドレス空間におい
て、複数のMCUからのアクセスを同時に処理すること
ができるので、主記憶共用形のマルチプロセッサ●シス
テムにおける主記憶上でのアクセス競合による処理能力
の低下を軽減することが可能であり、また、読み出しデ
ータに訂正できない誤りがあるときには、他のメモリ・
ユニットを読み出すので、主記憶の信頼性の向上が計れ
る。As explained above, according to the present invention, multiple memories
Accesses from multiple MCUs can be processed at the same time in the real address space configured by multiplexing units, so processing performance is reduced due to access contention on the main memory in multiprocessor systems with shared main memory. In addition, when there is an error in the read data that cannot be corrected, other memory
Since the unit is read, the reliability of main memory can be improved.
第1図および第2図はそれぞれ従来の主記憶共用形マル
チプロセッサ●システムのブロック図、第3図は本発明
の実施例を示すメモリ制御部の要部論理回路図、第4図
は第3図における動作タイム・チャート、第5図は本発
明の他の実施例を示すメモリ制御部の要部論理回路図で
ある。
1,2,3:プロセツサ(CPU)あるいはチャネル、
4,5,6:メモリ制御部、7〜10:メモリ・ユニッ
ト、11,12,13:実アドレス空間、14:レジス
タ、15:デコーダ、16〜22:ANDゲート、23
〜25:NANDゲート、26〜35:0Rゲート、3
6〜39:NORゲート、40〜42:インバータ、4
3〜45:フリップ●フロップ、46:メモリ●ユニッ
ト10へのアクセス制御機構、47〜60:信号線、6
1〜70:時刻、71〜73:読み出し信号線、74〜
76:チエツク回路。1 and 2 are block diagrams of a conventional shared main memory multiprocessor system, FIG. 3 is a main logic circuit diagram of a memory control section showing an embodiment of the present invention, and FIG. 4 is a block diagram of a conventional shared main memory multiprocessor system. The operation time chart in the figure and FIG. 5 are main part logic circuit diagrams of a memory control section showing another embodiment of the present invention. 1, 2, 3: processor (CPU) or channel,
4, 5, 6: Memory control unit, 7-10: Memory unit, 11, 12, 13: Real address space, 14: Register, 15: Decoder, 16-22: AND gate, 23
~25: NAND gate, 26~35: 0R gate, 3
6-39: NOR gate, 40-42: Inverter, 4
3 to 45: Flip flop, 46: Memory access control mechanism to unit 10, 47 to 60: Signal line, 6
1-70: Time, 71-73: Read signal line, 74-
76: Check circuit.
Claims (1)
され、一部または全部を複数のメモリ・ユニットで多重
化して構成された主記憶を有するマルチプロセッサ方式
において、他のメモリ制御部によりアクセスされていな
いメモリ・ユニットを選択する第1の手段と、アクセス
要求が読み出し要求のとき、前記第1の手段で選択され
たメモリ・ユニットのうちの1個を選択して読み出しを
行う第2の手段と、アクセス要求が書き込み要求のとき
、前記第1の手段で選択された全メモリ・ユニットに対
して書き込みを行い、前記第1の手段で選択されなかつ
たメモリ・ユニットに対しては他のメモリ制御部のアク
セス処理の終了を待つて書き込みを行う第3の手段を有
することを特徴とするメモリ制御方式。 2 複数のメモリ制御部と、該メモリ制御部により共用
され、一部たは全部を複数のメモリ・ユニットで多重化
された主記憶を有するマルチ・プロセッサ方式におて、
他のメモリ制御部によりアクセスされていないメモリ・
ユニットを選択する第1の手段と、アクセス要求が読み
出し要求のとき、前記第1の手段で選択されたメモリ・
ユニットのうち1個を選択して読み出しを行う第2の手
段と、アクセス要求が書き込み要求のとき、前記第1の
手段で選択された全メモリ・ユニットに対して書き込み
を行い、前記第1の手段で選択されなかつたメモリ・ユ
ニットに対しては、他のメモリ制御部のアクセス処理の
終了を待つて書き込みを行う第3の手段と、前記第2の
手段により1個のメモリ・ユニットから読み出された情
報に誤り訂正不可能なエラーがあつたときには、多重化
された他の1個あるいは複数のメモリ・ユニットに再ア
クセスする第4の手段を有することを特徴とするメモリ
制御方式。[Scope of Claims] 1. In a multiprocessor system having a plurality of memory control units and a main memory shared by the memory control units and configured by multiplexing a part or the whole with a plurality of memory units, first means for selecting a memory unit that has not been accessed by the memory control unit; and when the access request is a read request, selecting and reading one of the memory units selected by the first means; and when the access request is a write request, writing to all memory units selected by the first means and writing to memory units not selected by the first means. A memory control system characterized by having a third means for writing after waiting for the completion of access processing by another memory control unit. 2. In a multi-processor system having a plurality of memory control units and a main memory shared by the memory control units and partially or entirely multiplexed with a plurality of memory units,
Memory that is not accessed by other memory controllers
a first means for selecting a unit; and when an access request is a read request, a memory selected by the first means;
a second means for selecting and reading one of the units; and a second means for writing to all the memory units selected by the first means when the access request is a write request; A third means waits for the end of the access processing of another memory control unit to write to a memory unit that is not selected by the second means, and a third means reads from one memory unit by the second means. A memory control system comprising a fourth means for re-accessing one or more multiplexed memory units when an uncorrectable error occurs in the output information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP55092938A JPS6047629B2 (en) | 1980-07-07 | 1980-07-07 | Memory control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP55092938A JPS6047629B2 (en) | 1980-07-07 | 1980-07-07 | Memory control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS5719860A JPS5719860A (en) | 1982-02-02 |
JPS6047629B2 true JPS6047629B2 (en) | 1985-10-22 |
Family
ID=14068414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP55092938A Expired JPS6047629B2 (en) | 1980-07-07 | 1980-07-07 | Memory control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6047629B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5786962A (en) * | 1980-11-19 | 1982-05-31 | Hitachi Ltd | Memory control system |
-
1980
- 1980-07-07 JP JP55092938A patent/JPS6047629B2/en not_active Expired
Also Published As
Publication number | Publication date |
---|---|
JPS5719860A (en) | 1982-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4665484A (en) | Shared memory multiprocessing system & method | |
EP0380855B1 (en) | Memory configuration for use with means for interfacing a system control unit for a multi-processor system with the system main memory | |
US5287472A (en) | Memory system using linear array wafer scale integration architecture | |
US5659711A (en) | Multiport memory and method of arbitrating an access conflict therein | |
US5136500A (en) | Multiple shared memory arrangement wherein multiple processors individually and concurrently access any one of plural memories | |
JPS59111561A (en) | Access control method for complex processor systems | |
JPS6215896B2 (en) | ||
EP0259859B1 (en) | Information processing system capable of reducing invalid memory operations by detecting an error in a main memory | |
EP0032136B1 (en) | Memory system | |
EP0251686B1 (en) | Method and apparatus for sharing information between a plurality of processing units | |
JPS5832427B2 (en) | multiplex information processing system | |
JPS6047629B2 (en) | Memory control method | |
US5978897A (en) | Sequence operation processor employing multi-port RAMs for simultaneously reading and writing | |
AU633898B2 (en) | Method and means for interfacing a system control unit for a multi-processor system with the system main memory | |
EP0288479B1 (en) | Apparatus and method for providing distributed control in a main memory unit of a data processing system | |
EP0927935A1 (en) | Memory structure with groups of memory banks and serializing means | |
US20090100220A1 (en) | Memory system, control method thereof and computer system | |
JPH0528090A (en) | Memory controller | |
JPS6134618A (en) | Memory clear controlling system | |
JP3219422B2 (en) | Cache memory control method | |
JPS6326744A (en) | Memory bank switching circuit for microprocessor | |
EP0341061A2 (en) | Data processing system with memory-access priority control | |
JPS6113266B2 (en) | ||
JPS6257050A (en) | Common memory device | |
JPS5825299B2 (en) | Memory control method |