[go: up one dir, main page]

JPH03187095A - Multiport memory controller - Google Patents

Multiport memory controller

Info

Publication number
JPH03187095A
JPH03187095A JP1326669A JP32666989A JPH03187095A JP H03187095 A JPH03187095 A JP H03187095A JP 1326669 A JP1326669 A JP 1326669A JP 32666989 A JP32666989 A JP 32666989A JP H03187095 A JPH03187095 A JP H03187095A
Authority
JP
Japan
Prior art keywords
address
port
output
access
gate
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
JP1326669A
Other languages
Japanese (ja)
Inventor
Takeshi Eto
江藤 剛
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP1326669A priority Critical patent/JPH03187095A/en
Publication of JPH03187095A publication Critical patent/JPH03187095A/en
Pending legal-status Critical Current

Links

Landscapes

  • Static Random-Access Memory (AREA)

Abstract

PURPOSE:To improve the operating ratio of a multiprocessor system by providing an address coincidence detecting means and an address change detecting means and preferentially processing the access from the access port which first designates and address. CONSTITUTION:An A port address change detecting circuit 22 of an address contention arbitrating circuit detects the change of the address signal inputted from an A port block. A, B port address change detecting circuit 23 detects the change of the address signal inputted from a B port block, and an A and B port address coincidence detecting circuit 21 detects the coincidence between A and B port addresses. In the case of simultaneous access from A and B port blocks, a preferential port discriminating circuit 24 gives a signal in the low level to the latter access and gives a signal in the high level to the first access. Even in case of just simultaneity, the circuit 24 outputs the signal which indicates pending/approval of access. Thus, the read/write operation from each access port is correctly performed.

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、マルチポートメモリ制御装置に関し、特に、
複数のアクセスポートからのマルチポートメモリへのア
クセスタイミングを制御するマルチポートメモリ制御装
置に関する。
[Detailed Description of the Invention] [Industrial Application Field] The present invention relates to a multiport memory control device, and in particular,
The present invention relates to a multiport memory control device that controls the timing of access to multiport memory from a plurality of access ports.

[従来の技術] 近年、情報処理システムの機能・性能に対する高度化の
要求はますます強くなり、システム全体に要求される機
能を機能分散方式を取入れたマルチプロセッサシステム
により実現しようとする傾向が高まっている。これは、
1つのシステム内に複数のMPU(マイクロプロセッサ
ユニット)を取込み、それぞれのMPUごとにサブシス
テムを形成してシステムの稼動率を向上させたものであ
る。これに伴い、MPU間の情報伝達のための、複数の
アクセスポートを有する前記マルチポートメモリに対す
る需要が高まっている。
[Conventional technology] In recent years, there has been a growing demand for more sophisticated functions and performance in information processing systems, and there has been an increasing trend to implement the functions required for the entire system using multiprocessor systems that incorporate functional distribution. ing. this is,
A plurality of MPUs (microprocessor units) are incorporated into one system, and a subsystem is formed for each MPU to improve the operating rate of the system. Along with this, there is an increasing demand for the multi-port memory having a plurality of access ports for information transmission between MPUs.

第5図は、2つのMPUを取込んだマルチプロセッサシ
ステムの構成図である。第5図を参照して、このマルチ
プロセッサシステムは、2つのMPUA62およびMP
U[166と、一方のMPUA62によって制御される
RAM (ランダムアクセスメモリ) A2B、ROM
 (リードオンリメモリ)A64.およびI10コント
ローラA65と、他方のMPU、66によって制御され
る、RAMa 67、ROMa 68.およびI10コ
ントローラB69とを含む。
FIG. 5 is a configuration diagram of a multiprocessor system incorporating two MPUs. Referring to FIG. 5, this multiprocessor system includes two MPUA62 and MPUA62.
RAM (Random Access Memory) A2B, ROM controlled by U[166 and one MPUA62
(Read-only memory) A64. and I10 controller A65, and RAMa 67, ROMa 68. which are controlled by the other MPU, 66. and I10 controller B69.

このマルチプロセッサシステムにおいて、前記MPUA
62および、これによって制御される上記一連の機能部
(RAM^63.ROM^64゜I10コントローラA
35)と、前記MPUa 66および、これによって制
御される上記一連の機能部(RAMI1167、ROM
a 68.I10コントローラB69)とは、それぞれ
、パスラインA70およびパスラインB71を介して、
共通のメモリ(以下、共有メモリと称す)61に接続さ
れる。パスラインA70とパスラインB71とは互いに
独立である。前記共有メモリ61として、前述のマルチ
ポートメモリが用いられる。つまり、共有メモリ61は
、MPUA62および、MPUA62とパスラインA7
0を介して結合される一連の機能部と信号の授受を行な
うためのアクセスートA(図示せず)と、MPUら66
および、MPU1166とパスラインB71を介して結
合される一連の機能部と信号の授受を行なうためのアク
セスポートB(図示せず)とを含むマルチポートメモリ
である。
In this multiprocessor system, the MPUA
62 and the above-mentioned series of functional units controlled thereby (RAM^63.ROM^64゜I10 controller A
35), the MPUa 66, and the series of functional units (RAMI 1167, ROM
a68. I10 controller B69) via pass line A70 and pass line B71, respectively.
It is connected to a common memory (hereinafter referred to as shared memory) 61. Pass line A70 and pass line B71 are independent from each other. As the shared memory 61, the aforementioned multiport memory is used. In other words, the shared memory 61 is connected to the MPUA 62 and the path line A7 between the MPUA 62 and the MPUA 62.
an access route A (not shown) for transmitting and receiving signals with a series of functional units connected via the MPU 66;
It is a multi-port memory including a series of functional units coupled to the MPU 1166 via a path line B71, and an access port B (not shown) for transmitting and receiving signals.

第6図はマルチポートメモリとして最も一般的な2ボ一
トRAMの構成を示す概略ブロック図である。第6図を
参照して、2ポ一トRAMは、単一の共有メモリセルア
レイ11に対するアクセスを2つのアクセスポートAお
よびBの両方から行なうことができるように構成される
FIG. 6 is a schematic block diagram showing the configuration of a two-bottom RAM, which is the most common multiport memory. Referring to FIG. 6, the two-point RAM is configured such that a single shared memory cell array 11 can be accessed from both of two access ports A and B.

具体的に説明すると、この2ボ一トRAMは、」(有メ
モリセルアレイ11と、この共有メモリセルアレイ11
に対するデータの書込み/読出しを行なうための、同一
構成の機能ブロック100および200を含む。機能ブ
ロック100は、一方のアクセスポートAを介して、共
有メモリセルアレイ11とのデータの授受を行ない、機
能ブロック200は他方のアクセスポートBを介して共
有メモリセル11とのデータの授受を行なう。以下、機
能ブロック100および200を各々Aボートブロック
およびBポートブロックと称す。
Specifically, this 2-bot RAM consists of a memory cell array 11 and a shared memory cell array 11.
It includes functional blocks 100 and 200 of the same configuration for writing/reading data to/from. The functional block 100 exchanges data with the shared memory cell array 11 via one access port A, and the functional block 200 exchanges data with the shared memory cell 11 via the other access port B. Hereinafter, functional blocks 100 and 200 will be referred to as A port block and B port block, respectively.

共有メモリセルアレイ11は、マトリクス状に配された
メモリセルによって構成されるメモリセルアレイと、前
記メモリセルアレイの各ロ一方向に対応して設けられた
ワード線と、前記メモリセルアレイの各カラム方向に対
応して設けられたビット線とを含む。
The shared memory cell array 11 includes a memory cell array composed of memory cells arranged in a matrix, a word line provided corresponding to one direction of each row of the memory cell array, and a word line corresponding to each column direction of the memory cell array. and a bit line provided as a bit line.

Aボートブロック100は、n+1ビット(nは自然数
)の人出力データl10o  (A)〜I10、(A)
を受けるI10ポート(図示せず)を有するI10バッ
ファ(A)12と、共有メモリセルアレイ11において
選択状態とされるべきメモリセルのアドレスを指定する
n+1ビットのパラレルデータAo  (A)〜Ao 
(A)をアドレス信号として受けるn+1個のアドレス
ポート(図示せず)を有するアドレスバッファ13と、
行デコーダ(A)14と、列デコーダ15とを含む。
The A boat block 100 has human output data l10o (A) to I10, (A) of n+1 bits (n is a natural number).
an I10 buffer (A) 12 having an I10 port (not shown) that receives the data, and n+1 bits of parallel data Ao (A) to Ao specifying the address of a memory cell to be selected in the shared memory cell array 11.
an address buffer 13 having n+1 address ports (not shown) receiving (A) as an address signal;
It includes a row decoder (A) 14 and a column decoder 15.

前5己I10ポートおよびアドレスポートがこの2ボ一
トRAMの一方のアクセスポートAである。
The front 5 I10 port and the address port are one access port A of this 2-bot RAM.

アドレスポートに入力されたアドレス信号は、アドレス
バッファ13を介して行デコーダ14および列デコーダ
15に与えられる。行デコーダ14は、アドレスバッフ
ァ13からのアドレス信号をデコードして、共有メモリ
セル11内の、前記アドレス信号が示すローアドレスに
対応するワード線を選択状態とする。一方、列デコーダ
15は、アドレスバッファ13からのアドレス信号をデ
コードして共有メモリセルアレイ11内の、前記アドレ
ス信号が示すカラムアドレスに対応するビット線を選択
状態とする。これによって、前記対応するワード線およ
びビット線の交点に位置するメモリセルか選択状態とな
る。Aポートブロック100が、共有メモリセルアレイ
11にデータを書込むことができるライトモードにある
ときは、I10バッファ12のI10ポートに書込デー
タが入力される。人力された書込データはI10バッフ
ァ12を介して列デコーダ15に与えられる。
The address signal input to the address port is applied to row decoder 14 and column decoder 15 via address buffer 13. The row decoder 14 decodes the address signal from the address buffer 13 and selects the word line in the shared memory cell 11 that corresponds to the row address indicated by the address signal. On the other hand, the column decoder 15 decodes the address signal from the address buffer 13 and selects the bit line in the shared memory cell array 11 that corresponds to the column address indicated by the address signal. As a result, the memory cell located at the intersection of the corresponding word line and bit line becomes selected. When the A port block 100 is in a write mode in which data can be written to the shared memory cell array 11, write data is input to the I10 port of the I10 buffer 12. The manually entered write data is provided to the column decoder 15 via the I10 buffer 12.

列デコーダ15は、アドレスバッファ13のアドレスポ
ートからのアドレス信号に応答して、行デコーダ14お
よび列デコーダ15が選択したメモリセルに前記書込デ
ータを書込む。
Column decoder 15 writes the write data into the memory cell selected by row decoder 14 and column decoder 15 in response to an address signal from the address port of address buffer 13.

逆に、Aポートブロック100が、共有メモリセルアレ
イ11からデータを読出すことができるリードモードに
あるときには、列デコーダ15がアドレスポートAから
のアドレス信号に対応するメモリセル(行デコーダ14
および列デコーダ15によって選択されたメモリセル)
から、その記憶データを読出し、この続出データをI1
0バッファ12に出力する。I10バッファ12は、列
デコーダ15からの続出データをI10ボートを介して
外部に出力する。
Conversely, when the A port block 100 is in a read mode in which data can be read from the shared memory cell array 11, the column decoder 15 selects the memory cell (row decoder 14) corresponding to the address signal from the address port A.
and memory cells selected by column decoder 15)
, the stored data is read out, and this successive data is stored in I1.
0 buffer 12. The I10 buffer 12 outputs successive data from the column decoder 15 to the outside via the I10 port.

Bポートブロック200は、Aボートブロック100と
同様に、n+1ビットの人出力データl10o  (B
)〜l10n  (B)を受けるn+1個のI10ポー
トを有するI10バッファ16と、n+1ビットのアド
レス信号Ao  (B)〜A。
The B port block 200, like the A boat block 100, has n+1 bits of human output data l10o (B
) to I10n (B) and an I10 buffer 16 having n+1 I10 ports receiving n+1 bit address signals Ao (B) to A.

(B)を受けるn+1個のアドレスポートを有するアド
レスバッファ17と、共有メモリセルアレイ11内の、
アドレス信号が示すアドレスに対応するメモリセルを選
択状態とする行デコーダ18および列デコーダ19と、
Bボートブロック200がリードモードのときに、前記
対応するメモリセルから読出されたデータを外部に出力
し、かつ、このBボートブロック200がライトモード
のときに前記対応するメモリセルに書込むべきデータを
外部から取込むI10バッファ16とを含む。
(B); an address buffer 17 having n+1 address ports receiving (B);
a row decoder 18 and a column decoder 19 that select a memory cell corresponding to the address indicated by the address signal;
When the B boat block 200 is in read mode, data read from the corresponding memory cell is output to the outside, and when this B boat block 200 is in write mode, data to be written to the corresponding memory cell. and an I10 buffer 16 that takes in the data from the outside.

I10バッファ16のI10ボートおよびアドレスバッ
ファ17のアドレスポートがこの2ポ一トRAMのもう
一方のアクセスポートBである。
The I10 port of I10 buffer 16 and the address port of address buffer 17 are the other access port B of this two-point RAM.

なお、第6図において各機能部の名称の最後に記された
0内の英字は、それがアクセスポートAおよびBのいず
れからのアクセスに応答して動作するものかを示す。
In addition, in FIG. 6, the alphabetical character in 0 written at the end of the name of each functional unit indicates which of the access ports A and B it operates in response to access.

第6図の2ポ一トRAMが第5図における共有メモリ6
1として用いられた場合、アクセスポートAおよびBは
各々、第5図におけるパスラインA70およびパスライ
ンB71を構成する。第5図および第6図を参照して、
このような場合、MPUA62は、ROMA63.RO
MA64.およびI10コントローラA65を制御して
、Aボートブロック100に対するライトモード/り一
ドモードの指示、共有メモリセルアレイ11におけるア
ドレスを指定するアドレス信号の出力、共有メモリセル
アレイ11内のメモリセルからのデータの読出し、共有
メモリセルアレイ11から読出されたデータのRAMA
63への書込み、RAMA63およびROMA 64の
記憶データの共有メモリセルアレイ11への書込み等を
すべてパスラインA70を介して行なう。なお、I10
コントローラA65は、Aボートブロック100内のI
10バッファ12を制御し、I10コントローラB69
は、Bポートブロック200内のI10バッファ16を
制御する。
The 2-point RAM in FIG. 6 is the shared memory 6 in FIG.
1, access ports A and B constitute path line A 70 and path line B 71, respectively, in FIG. With reference to FIGS. 5 and 6,
In such a case, the MPUA 62 uses the ROMA 63. R.O.
MA64. and controls the I10 controller A65 to instruct write mode/read mode to the A boat block 100, output an address signal specifying an address in the shared memory cell array 11, and read data from memory cells in the shared memory cell array 11. , RAM of data read from the shared memory cell array 11
63, writing of data stored in RAMA 63 and ROMA 64 into shared memory cell array 11, etc. are all performed via pass line A70. In addition, I10
The controller A65 is an I in the A boat block 100.
10 buffer 12, I10 controller B69
controls the I10 buffer 16 in the B port block 200.

同様に、MPU11163は、RAM[167、ROM
B68.およびI10コントローラB69を制御して、
Bボートブロック200に対するライトモード/リード
モードの指示、共有メモリセルアレイ11におけるアド
レスを指定するアドレス信号の出力、共有メモリセルア
レイ11内のメモリセルからのデータの読出し、共有メ
モリセルアレイ11から読出されたデータのRAMa6
7への書込み、RAMB67およびROMB 68の記
憶データの共有メモリセルアレイ11への書込み等をす
べてパスラインB71を介して行なう。つまり、Aボー
トブロック100は、MPUA62の命令に応答して、
共有メモリセルアレイ11にアクセスでき、Bボートブ
ロック200はMPU[166の命令に応答して共有メ
モリセルアレイ11にアクセスできる。この結果、第5
図において、MPUA62およびMPUa66は互いに
独立に、かつ、非同期に、共有メモリ61に対するデー
タの書込み/読出しを行なうことが可能となる。
Similarly, the MPU 11163 has RAM [167, ROM
B68. and controlling the I10 controller B69,
Instructing write mode/read mode to B boat block 200, outputting an address signal specifying an address in shared memory cell array 11, reading data from memory cells in shared memory cell array 11, data read from shared memory cell array 11 RAMa6 of
7, writing of stored data in RAMB 67 and ROMB 68 to shared memory cell array 11, etc. are all performed via pass line B71. That is, in response to the command from the MPUA 62, the A boat block 100
The shared memory cell array 11 can be accessed, and the B boat block 200 can access the shared memory cell array 11 in response to instructions from the MPU [166. As a result, the fifth
In the figure, MPUA 62 and MPUa 66 can write/read data to/from shared memory 61 independently of each other and asynchronously.

[発明が解決しようとする課’IB3 以上のように従来のマルチポートメモリは、複数のMP
Uのそれぞれからの、独立かつ非同期な命令に応答して
動作する。複数のMPUのそれぞれによって時間的に重
なって選択されたアドレスが互いに異なる場合には、選
択されたメモリセルの各々にはデータの書込みまたは読
出しのいずれか一方だけが行なわれる。したがって、こ
のような場合には複数のMPUの各々は、選択したメモ
リセルに対するデータの読出し/iF込みを正しく行な
うことができ、何ら問題は生じない。しかし、MPUの
命令は独立/非同期に出されるため、複数のMPUのそ
れぞれから、対応するアクセスボートを介して、マルチ
ポートメモリ内の共有メモリセルアレイにおける同一ア
ドレスのメモリセルを選択する命令が同時に、あるいは
時間的に重なって出される可能性がある。このような場
合には、次のような問題が生じる。この問題については
、第6図に示される2ポートRA Mの場合を例にとっ
て説明する。
[Issue to be solved by the invention'IB3 As described above, the conventional multi-port memory has multiple MP
It operates in response to independent and asynchronous commands from each of the U's. If the addresses selected by the plurality of MPUs at the same time are different from each other, only one of data writing and reading is performed in each of the selected memory cells. Therefore, in such a case, each of the plurality of MPUs can correctly read/write data to the selected memory cell without causing any problem. However, since MPU instructions are issued independently/asynchronously, multiple MPUs may simultaneously issue instructions to select memory cells at the same address in a shared memory cell array in a multiport memory via their corresponding access ports. Or they may be released at the same time. In such a case, the following problems arise. This problem will be explained using the 2-port RAM shown in FIG. 6 as an example.

第6図の2ポ一トRAMの基本動作としては、Aポート
ブロック100およびBポートブロック200がともに
リードモードで動作している場合(第1の動作状態)、
Aポートブロック100がリードモードで動作しており
Bポートブロック200がライトモードで動作している
場合(第2の動作状態)、Aボートブロック100がラ
イトモードで動作しておりBボートブロック200がリ
ードモードで動作している場合(m3の動作状態)、お
よび、Aボートブロック100およびBポートブロック
200がともにライトモードで動作している場合(第4
の動作状態)の4通りが考えられる。
The basic operation of the 2-point RAM shown in FIG. 6 is when both the A port block 100 and the B port block 200 are operating in read mode (first operating state).
When the A port block 100 is operating in read mode and the B port block 200 is operating in write mode (second operating state), the A port block 100 is operating in write mode and the B port block 200 is operating in write mode. When operating in read mode (operating state of m3), and when both A port block 100 and B port block 200 are operating in write mode (4th
There are four possible operating states.

まず、2ボ一トブロツクRAMが第1の動作状態にある
場合には、Aポートブロック100とBボートブロック
200とによって同一のアドレスが選択されても、その
同一アドレスに対応するメモリセルの記憶データがAボ
ートブロック100およびBボートブロック200の両
方によって読出されるだけであるので、メモリセルの記
憶データが変化したり、記憶データが正しく読出されな
かったりすることはなく特に問題は生じない。
First, when the 2-bot block RAM is in the first operating state, even if the same address is selected by the A port block 100 and the B port block 200, the stored data of the memory cell corresponding to the same address is is only read by both the A boat block 100 and the B boat block 200, the data stored in the memory cell will not change or the data stored will not be read correctly, and no particular problem will occur.

しかし、2ボ一トブロツクRAMが第2の動作状態にあ
る場合には、Aボートブロック100およびBボートブ
ロック200のそれぞれによって選択されたアドレスが
時間的に一致すると、ライトモードにあるBボートブロ
ック200は書込データを選択したメモリセルに正しく
書込むことはできるが、リードモードにあるAポートブ
ロック100は、選択したメモリセルの記憶データを正
しく読出すことができない可能性がある。
However, when the two-vote block RAM is in the second operating state, when the addresses selected by each of the A-vote block 100 and the B-vote block 200 coincide in time, the B-vote block 200, which is in write mode, Although the write data can be correctly written to the selected memory cell, the A port block 100 in the read mode may not be able to correctly read the stored data of the selected memory cell.

たとえば、ライトモードにあるBポートブロックが選択
したメモリセルにデータを書込んでいる途中に、リード
モードにあるAボートブロック100が同一のメモリセ
ルに文1し読出動作を行なうと、Aボートブロック10
0は、Bポートブロック200によるデータ書込みが終
了していないために記憶データがまだ確定していない不
安定な状態にあるメモリセルから読出しを行なう。した
がって、このような場合にはAボートブロック100は
、選択したメモリセルから、Bポートブロック200に
よる書込動作中の不安定なデータを読出す。しかし、B
ポートブロック200が選択したメモリセルにデータを
書込む直前に、Aボートブロック100が同一のメモリ
セルに対し読出しを行なうと、Aボートブロック100
によって読出されたデータはBボートブロックによる書
込みが行なわれる前の古いデータとなる。逆に、Bボー
トブロック200が選択したメモリセルにデータを書込
んだ直後にAボートブロック100が同一のメモリセル
に対して読出しを行なうと、Aボートブロック100に
よって読出されたデータは、Bボートブロックによる書
込みが行なわれた後の新しいデータとなる。したがって
、同一のメモリセルに関して、Aボートブロックの読出
動作が、Bボートブロック200の書込サイクルにおけ
るどの時点で行なわれるかによって、Aボートブロック
100によって読出されるデータは異なる可能性がある
For example, while the B port block in write mode is writing data to a selected memory cell, if the A port block 100 in read mode performs a read operation by writing 1 to the same memory cell, the A port block 10
0, reading is performed from a memory cell in an unstable state in which stored data is not yet determined because data writing by the B port block 200 has not yet been completed. Therefore, in such a case, the A port block 100 reads unstable data that is being written by the B port block 200 from the selected memory cell. However, B
If the A-boat block 100 reads data from the same memory cell immediately before the port block 200 writes data to the selected memory cell, the A-boat block 100
The data read by B-vote block becomes old data before writing by B-vote block. Conversely, if the A boat block 100 reads the same memory cell immediately after the B boat block 200 writes data to the selected memory cell, the data read by the A boat block 100 will be transferred to the B boat. This is new data after block writing is performed. Therefore, with respect to the same memory cell, the data read by the A-vote block 100 may differ depending on at what point in the write cycle of the B-vote block 200 the read operation of the A-vote block is performed.

2ポ一トブロツクRAMが第3の動作状態にあるときに
は、上記と逆の問題が生じる。すなわち、同一のメモリ
セルに関して、Bポートブロック200の読出動作が、
Aポートブロック100の書込サイクルにおけるどの時
点で行なわれるかによって、Bポートブロック200に
よって読出されるデータは異なる場合がある。
The opposite problem occurs when the two-point block RAM is in the third operating state. That is, regarding the same memory cell, the read operation of the B port block 200 is
The data read by B port block 200 may vary depending on where in the write cycle of A port block 100 the data is read.

これらのことかられかるように、第2および第3の動作
状態においては、Aポートブロック100およびBボー
トブロック200から同一のメモリセルに対して書込み
と読出しとが時間的に重なって行なわれると、読出動作
中のポートブロックから出力される続出データが1続出
サイクル内において変化する可能性が生じる。
As can be seen from the above, in the second and third operating states, writing and reading from the A port block 100 and the B port block 200 to the same memory cell are performed temporally overlapping. There is a possibility that successive data output from a port block during a read operation may change within one successive cycle.

2ボ一トRAMが第4の動作状態にあるときには、メモ
リセルに互いに逆の2つのデータが同時に書込まれて、
そのメモリセルの記憶データが”1′および“0“のい
ずれてもない不確定なものとなる可能性がある。つまり
、Aポートブロック100およびBポートブロック20
0によって同一のメモリセルが選択された場合に、Aポ
ートブロック100が書込もうとするデータとBポート
ブロックが書込もうとするデータとが異なると、選択さ
れたメモリセルには、これら2つの相異なるデータが同
時に与えられる。この結果、Aボートブロック100お
よびBボートブロック200による書込終了後のメモリ
セルの記憶データは不確定なものとなる。
When the 2-vote RAM is in the fourth operating state, two opposite data are simultaneously written to the memory cell.
There is a possibility that the data stored in that memory cell is neither "1" nor "0" and is uncertain.In other words, the A port block 100 and the B port block 20
If the same memory cell is selected by 0 and the data that the A port block 100 attempts to write and the data that the B port block attempts to write are different, the selected memory cell will have these two data. Two different data are given simultaneously. As a result, the data stored in the memory cell becomes uncertain after the writing by the A boat block 100 and the B boat block 200 is completed.

以上のように、複数のアクセスポートを有するマルチポ
ートメモリでは、同一のメモリセルに対して複数のアク
セスが同時に行なわれる場合があるため問題が生じる。
As described above, in a multiport memory having a plurality of access ports, a problem arises because a plurality of accesses may be simultaneously performed to the same memory cell.

このような問題を解決するためには、少なくとも2つの
アクセスポートから共有メモリセルアレイの同一番地(
アドレス)が選択された場合に、一方のアクセスポート
からのアクセスを可能にし、他方のアクセスポートから
のアクセスの受付けを前記一方のアクセスポートからの
処理動作が終了するまで保留させることで解決できると
考えられる。そこで、従来、前述したような問題を回避
するために、一方のアクセスポートからのアクセスを他
方のアクセスポートからのアクセスが終了するまで保留
にする機能を実現する回路部が作成されマルチポートメ
モリの外部に備えられた。しかし、この回路部はゲート
アレイ等が用いられた複雑な構成を有するため、多くの
ICを必要とした。
To solve this problem, it is necessary to connect at least two access ports to the same location (
address) is selected, the problem can be solved by allowing access from one access port and suspending acceptance of access from the other access port until the processing operation from the one access port is completed. Conceivable. Therefore, in order to avoid the above-mentioned problems, a circuit section has been created that implements a function to suspend access from one access port until the access from the other access port is completed. provided externally. However, since this circuit section has a complicated configuration using gate arrays and the like, it requires many ICs.

本発明の目的は、複数のアクセスが独立に行なわれるこ
とによってマルチポートメモリに生じる前述のような問
題を解決し、マルチポートメモリが外部からのアクセス
に効率良く応答することができるようにマルチポートメ
モリへのアクセスを、複雑な構成の回路を用いることな
く制御できるマルチポートメモリ制御装置を提供するこ
とである。
An object of the present invention is to solve the above-mentioned problems that occur in multi-port memory due to multiple independent accesses, and to improve multi-port memory so that multi-port memory can efficiently respond to external accesses. An object of the present invention is to provide a multiport memory control device that can control access to memory without using a circuit with a complicated configuration.

[課題を解決するための手段] 上記のような目的を達成するために本発明に係るマルチ
ポートメモリ制御装置は、少なくとも第1および第2の
アクセスポートと、第1および第2のアクセスポートの
いずれからもアクセスされる共有メモリセルアレイとを
含むマルチポートメモリへのアクセスを制御すべく、第
1のアクセスポートに人力される第1のアドレス信号と
第2のアクセスポートに人力される第2のアドレス信号
との一致を検出するアドレス一致検出手段と、第1のア
ドレス信号の変化を検出する第1のアドレス変化検出手
段と、第2のアドレス信号の変化を検出する第2のアド
レス変化検出手段と、アドレス一致検出手段からの“一
致”を示す検出出力に応答して、第1のアドレス変化検
出手段の検出出力と、第2のアドレス変化検出手段の検
出出力とに基づいて、第1および第2のアドレス信号の
うち変化があったアドレス信号のいずれか一方を受ける
アクセスポートからの共有メモリセルへのアクセスを中
断させるための信号を導出する手段とを備える。
[Means for Solving the Problems] In order to achieve the above objects, a multiport memory control device according to the present invention includes at least first and second access ports; A first address signal applied to a first access port and a second address signal applied to a second access port to control access to a multi-port memory including a shared memory cell array accessed from either side. Address match detection means for detecting a match with an address signal, first address change detection means for detecting a change in the first address signal, and second address change detection means for detecting a change in the second address signal. In response to the detection output indicating "match" from the address match detection means, the first and second address change detection means are detected based on the detection output of the first address change detection means and the detection output of the second address change detection means. and means for deriving a signal for interrupting access to the shared memory cell from an access port that receives one of the changed address signals among the second address signals.

[作用コ 本発明に係るマルチポートメモリ制御装置は上記のよう
に構成されるため、第1のアクセスポートに人力される
第1のアドレス信号または第2のアクセスポートに人力
される第2のアドレス信号が変化することによってこれ
ら第1のアドレス信号および第2のアドレス信号が同一
アドレスを示すしのとなった場合にのみ、第1および第
2のアドレス信号のうちの一方を受けるアクセスポート
からの共存メモリセルへのアクセスを中断させるための
信号が導出される。したがって、第1および第2のアセ
クスポートを介して共有メモリセルアレイの同一アドレ
スが選択された場合には第1および第2のアセクスポー
トのうちのいずれか一方のアクセスポートからの共有メ
モリセルアレイへのアクセスたけが可能となる。
[Operation] Since the multi-port memory control device according to the present invention is configured as described above, the first address signal manually input to the first access port or the second address manually input to the second access port Only when the first address signal and the second address signal indicate the same address due to a change in the signal does the signal from the access port receiving one of the first and second address signals A signal is derived for interrupting access to coexisting memory cells. Therefore, when the same address of the shared memory cell array is selected via the first and second access ports, the access port to the shared memory cell array from either the first or second access port is Access is now possible.

[実施例] 第1図は本発明の一実施例の2ポ一トRAMの概略ブロ
ック図である。
[Embodiment] FIG. 1 is a schematic block diagram of a two-point RAM according to an embodiment of the present invention.

第1図を参照して、この2ボー)RAMは、第6図に示
される従来のそれと異なり、共有メモリセルアレイ11
.Aボートブロック100.およびBポートブロック2
00に加えて、アドレス競合調整回路20を同一チップ
上に含む。なお、以下の説明にあたっては、この2ポ一
トRAMは第5図における共有メモリ61として用いら
れるものとする。Aポートブロック100は、第5図に
おいてパスラインA70を介してMPUA62に接続さ
れ、Bポートブロック200は、第5図においてパスラ
インB71を介してMPo、66に接続される。
Referring to FIG. 1, this 2-baud RAM differs from the conventional one shown in FIG.
.. A boat block 100. and B port block 2
00, an address conflict adjustment circuit 20 is included on the same chip. In the following description, it is assumed that this two-point RAM is used as the shared memory 61 in FIG. 5. A port block 100 is connected to MPUA 62 via pass line A70 in FIG. 5, and B port block 200 is connected to MPo, 66 via pass line B71 in FIG.

アドレス競合調整回路20は、Aポートブロック100
に入力されるn+1ビットのアドレス信号の各ビットの
データA。(A)〜Ao  (A)、および、Bポート
ブロック200に人力されるnビットのアドレス信号の
各ビットのデータA。
The address conflict adjustment circuit 20 is connected to the A port block 100.
Data A of each bit of the n+1 bit address signal input to the. (A) to Ao (A) and data A of each bit of the n-bit address signal input manually to the B port block 200.

(B)〜Ao  (B)に応答して、Aボートブロック
100からのアクセスの保留/承認を指示する信号No
t  Ready  AおよびBボートブロック200
からのアクセスの保留/承認を指示する信号Not  
Ready  Bを出力する。
(B) ~ Ao In response to (B), a signal No. instructing suspension/approval of access from the A boat block 100
t Ready A and B boat block 200
Signal indicating suspension/approval of access from Not
Outputs Ready B.

前記指示信号Not  Ready  Aは、Aポート
ブロック100に接続されるMPUA62の所定の端子
に与えられる。前記所定の端子は、MPUのアクセス動
作を能動化/不能化させるための制御信号を受ける、い
わゆるレディ端子であり、従来からM P Uに一般的
に設けられている。
The instruction signal Not Ready A is applied to a predetermined terminal of the MPUA 62 connected to the A port block 100. The predetermined terminal is a so-called ready terminal that receives a control signal for enabling/disabling the access operation of the MPU, and has conventionally been generally provided in the MPU.

同様に、前記指示信号Not  Ready  Bは、
Bポートブロック200に接続されるMPUB66のレ
ディ端子に与えられる。本実施例では、MPUA62お
よびMPU、66はともに、レディ端子に付与される信
号がハイレベルのときにアクセス動作を行なうことがで
き、レディ端子に付与される信号がローレベルのときに
アクセス動作を行なうことができないものとする。
Similarly, the instruction signal Not Ready B is
It is given to the ready terminal of MPUB 66 connected to B port block 200. In this embodiment, both the MPUA 62, MPU, and 66 can perform an access operation when the signal applied to the ready terminal is at a high level, and can perform an access operation when the signal applied to the ready terminal is at a low level. It shall not be possible to do so.

次に、アドレス競合調整回路20の内部構成について説
明する。第2図は、アドレス競合調整回路20の内部構
成を示す概略ブロック図である。
Next, the internal configuration of address conflict adjustment circuit 20 will be explained. FIG. 2 is a schematic block diagram showing the internal configuration of the address conflict adjustment circuit 20.

箇2図を参照して、アドレス競合y!J整回路20は、
第1図におけるAボートブロック100から入力された
アドレス信号(以下、Aボートアドレスと呼ぶ)の変化
を検出するAボートアドレス変化検出回路部22と、第
1図におけるBポートブロック200から人力されたア
ドレス信号(以下Bポートアドレスと呼ぶ)の変化を検
出するBポートアドレス変化検出回路23と、Aポート
アドレスとBポートアドレスとが一致したことを検出す
るA、Bポートアドレス一致検出回路21と、Aポート
アドレス変化検出回路22.Bポートアドレス変化検出
回路23.およびA、Bポートアドレス一致検出回路2
1の検出出力に応答して、指示信号Not  Read
y  AおよびNot  Ready  Bを出力する
優先ポート判定回路24とを含む。
Referring to Figure 2, address conflict y! The J adjustment circuit 20 is
The A-boat address change detection circuit section 22 detects a change in the address signal (hereinafter referred to as A-boat address) input from the A-boat block 100 in FIG. 1, and the B-port block 200 in FIG. A B port address change detection circuit 23 that detects a change in an address signal (hereinafter referred to as B port address), and an A and B port address match detection circuit 21 that detects that the A port address and B port address match. A port address change detection circuit 22. B port address change detection circuit 23. and A, B port address match detection circuit 2
In response to the detection output of 1, the instruction signal Not Read
y A and a priority port determination circuit 24 that outputs Not Ready B.

優先ポート判定回路24は、第1図において共有メモリ
セル11内の任意のメモリセルについて、Aボートブロ
ック100からのアクセスとBポートブロック200か
らのアクセスとが時間的に重なって行なわれた場合に、
後からアクセスを行なった方のポートブロックに接続さ
れるMPUにローレベルの指示信号を与え、先にアクセ
スを行なった方のポートブロックに接続されるMPUに
ハイレベルの指示信号を与える。また、共有メモリセル
11内の任意のメモリセルについて、Aボートブロック
100からのアクセスとBボートブロツク200からの
アクセスとが全く同時に行なわれた場合にも、優先ポー
ト判定回路24は、Bポートブロックに接続されるんI
PU^62に与える指示信号Not  Rea  y 
  の論理レベルと、Bポートブロックに接続されるM
PUa 66に与える指示信号Not  Ready 
 Bとを異なったものとする。
The priority port determination circuit 24 determines whether an access from the A port block 100 and an access from the B port block 200 overlap in time with respect to any memory cell in the shared memory cell 11 in FIG. ,
A low-level instruction signal is given to the MPU connected to the port block accessed later, and a high-level instruction signal is given to the MPU connected to the port block accessed first. Furthermore, even if access from the A port block 100 and access from the B port block 200 are performed on any memory cell in the shared memory cell 11 at the same time, the priority port determination circuit 24 determines whether the B port block I will be connected to
Instruction signal given to PU^62 Not Rea y
and the logic level of M connected to the B port block.
Instruction signal Not Ready given to PUa 66
Let B be different.

第3図は、第2図に示される構成のアドレス競合調整回
路20の具体的回路構成の一例を示す回路図である。第
4図は、第3図に示される回路の動作を説明するための
波形図である。以下、第3図に示されるアドレス競合調
整回路の内部動作を、第4図を参照しながら詳細に説明
する。
FIG. 3 is a circuit diagram showing an example of a specific circuit configuration of the address conflict adjustment circuit 20 having the configuration shown in FIG. FIG. 4 is a waveform diagram for explaining the operation of the circuit shown in FIG. 3. Hereinafter, the internal operation of the address conflict adjustment circuit shown in FIG. 3 will be explained in detail with reference to FIG. 4.

第3図において、n+1個の2人力EX−ORゲート2
11−0−211−n、n+lNORゲート212.お
よびインバータ213は第2図におけるA、Bポートア
ドレス一致検出回路21を構成する。Aポートブロック
100からのアドレス信号の各ビットのデータAo  
(A)〜An  (A)は各々、2人力EX−ORゲー
ト211−0〜211−nの一方の入力端に入力され、
Bポートブロック200からのアドレス信号の各ビット
のデータAo  (B) 〜An  (B)は各々、2
人力EXORゲー)211−0〜211−nの他方の入
力端に人力される。つまり、EX−ORゲート211−
1〜211−nの各々には、AポートアドレスおよびB
ポートアドレスの、対応するビットのデータ同士か人力
される。
In Fig. 3, n+1 two-man EX-OR gates 2
11-0-211-n, n+l NOR gate 212. The inverter 213 constitutes the A and B port address coincidence detection circuit 21 in FIG. Data Ao of each bit of the address signal from the A port block 100
(A) to An (A) are each input to one input end of the two-man EX-OR gates 211-0 to 211-n,
Each bit of data Ao (B) to An (B) of the address signal from the B port block 200 is 2
Human power is input to the other input terminal of EXOR game) 211-0 to 211-n. In other words, EX-OR gate 211-
1 to 211-n each have an A port address and a B port address.
The data of corresponding bits of the port address are manually entered.

たとえば、EX−ORゲート211−1は、アドレス信
号の最下位ビットのデータAo  (A)およびAo 
 (B)の論理レベルが一致したときにのみローレベル
の信号を出力し、EX−ORゲート211−nは、アド
レス信号の最上位ビットのデータA。(A)およびA。
For example, the EX-OR gate 211-1 selects data Ao (A) and Ao of the least significant bit of the address signal.
The EX-OR gate 211-n outputs a low level signal only when the logic levels of (B) match, and the EX-OR gate 211-n outputs data A of the most significant bit of the address signal. (A) and A.

(B)の論理レベルが一致したときにのみローレベルの
信号を出力する。
A low level signal is output only when the logic levels of (B) match.

このように、EX−ORアゲ−211−1〜211−n
は、各々、2つの人力信号の論理レベルが一致したとき
にのみローレベルの信号を出力する。
In this way, EX-OR Age-211-1 to 211-n
Each outputs a low level signal only when the logic levels of the two human input signals match.

したがって、EX−ORゲート211−1〜211−n
の出力信号がすべてローレベルとなるのは、Aポートブ
ロックか選択するメモリセルとBポートブロックが選択
するメモリセルとが同一となり、AポートアドレスとB
ポートアドレスとの間で対応するビットのデータ同士が
すべて一致したときである。
Therefore, EX-OR gates 211-1 to 211-n
The reason why all the output signals of are at low level is because the memory cell selected by the A port block and the memory cell selected by the B port block are the same, and the A port address and B port address are the same.
This is when all the data of the corresponding bits match with the port address.

EX−ORゲート211−Cl−211−nの出力はn
+1人力NORゲート212に与えられる。
The output of EX-OR gate 211-Cl-211-n is n
+1 is given to the human powered NOR gate 212.

NORゲート212は、n+1個の人力信号の論理レベ
ルがすべてローレベルであるときにのみハイレベルの信
号を出力し、n+1個の人力信号のうちのいずれか1つ
でもハイレベルであれば他の人力信号の論理レベルにか
かわらずローレベルの信号を出力する。したがって、A
ポートアドレスとBボートアドレスとが一致したときに
のみ、NORゲート212の出力はハイレベルとなる。
The NOR gate 212 outputs a high-level signal only when the logic levels of all n+1 human input signals are low level, and if any one of the n+1 human input signals is high level, other signals are output. Outputs a low level signal regardless of the logic level of the human input signal. Therefore, A
Only when the port address and the B boat address match, the output of the NOR gate 212 becomes high level.

NORゲート212の出力はインバータ213によって
反転されて優先ボート判定回路24に人力される。した
がって、本丈施例では、A、Bボートアドレス一致検出
回路21の検出出力は、AポートアドレスおよびBポー
トアドレスが一致している間口−レベルとなる。
The output of the NOR gate 212 is inverted by an inverter 213 and input to the priority boat determination circuit 24 . Therefore, in this embodiment, the detection output of the A and B port address coincidence detection circuit 21 is at the frontage level where the A port address and the B port address match.

一方、第3図において、n+1個の2人力EX−ORゲ
ート221−0〜221−n、n+11固の遅延回路(
図中Delayと記す)222−0〜222−n、およ
びn+1人力ORゲート223は第2図におけるAボー
トアドレス変化検出回路22を構成する。同様に、n+
1個の2人力EX−ORゲート231−0〜231−n
、n+1個の遅延回路232−0〜232−n、および
n+1人力ORゲート233は第2図におけるBボート
アドレス変化検出回路23を構成する。
On the other hand, in FIG. 3, n+1 two-man EX-OR gates 221-0 to 221-n, n+11 fixed delay circuit
(denoted as Delay in the figure) 222-0 to 222-n and the n+1 manual OR gate 223 constitute the A boat address change detection circuit 22 in FIG. Similarly, n+
1 2-person EX-OR gate 231-0 to 231-n
, n+1 delay circuits 232-0 to 232-n, and n+1 manual OR gate 233 constitute the B boat address change detection circuit 23 in FIG.

EX−ORゲート221−0〜221−nの一方人力に
は、各々Aポートアドレスの各ビットのデータAo  
(A) 〜An (A)が人力され、EX−ORゲート
221−0〜221−nの他方入力には各々、Aボート
アドレスの各ビットのデータAo  (A) 〜An 
 (A)が遅延回路222  Q〜222−nによって
各々所定0開遅延されて人力される。したがって、Aボ
ートアドレスの各ビットのデータAo  (A)〜Ao
 (A)のうちいずれかのビットのデータが変化すると
、データか変化したビットに対応するEX−ORゲート
には、遅延回路を介して入力された信号、すなわち、変
化前のデータと遅延回路を介さずに直接入力された信号
、すなわち、変化後のデータという異なる論理レベルの
信号が人力される。この結果、このEX−ORゲートの
出力は、2つの人力信号が等しいときの論理レベル(ロ
ーレベル)から、ハイレベルへと切換わる。そして、デ
ータが変化してから前記所定時間経過すると、このEX
−ORゲートの人力にはともに変化後のデータが入力さ
れ、再びEX−ORゲートへの2つの人力信号の論理レ
ベルが一致するため、EX−ORゲートの出力はローレ
ベルへと戻る。このように、Aボートアドレスが変化す
ると、データが変化したビットに対応して設けられたE
X−ORゲートの出力信号が、遅延回路における遅延時
間分ハイレベルとなる。
One of the EX-OR gates 221-0 to 221-n manually inputs data Ao of each bit of the A port address.
(A) ~An (A) is input manually, and the other inputs of the EX-OR gates 221-0 to 221-n each receive data Ao (A) ~An of each bit of the A boat address.
(A) is delayed by a predetermined 0-opening delay by delay circuits 222Q to 222-n and then manually inputted. Therefore, data Ao (A) to Ao of each bit of the A boat address
When the data of any bit of (A) changes, the EX-OR gate corresponding to the changed bit receives the signal input through the delay circuit, that is, the data before the change and the delay circuit. Signals that are directly input without any intervention, that is, changed data, which are signals with different logic levels, are input manually. As a result, the output of this EX-OR gate switches from the logic level (low level) when the two human input signals are equal to the high level. Then, when the predetermined time has elapsed since the data changed, this EX
The changed data is input to both of the -OR gate's input, and the logic levels of the two input signals to the EX-OR gate match again, so the output of the EX-OR gate returns to low level. In this way, when the A boat address changes, the E
The output signal of the X-OR gate becomes high level for the delay time in the delay circuit.

EX−ORゲート221−0〜221−nの出力は、n
+1人力ORゲート223に人力される。
The outputs of EX-OR gates 221-0 to 221-n are n
+1 human power OR gate 223 receives human power.

ORゲート223は、入力信号であるEX−ORゲート
221−0〜221−nの出力のうちの少なくとも1つ
がハイレベルであれば、他の人力信号の論理レベルにか
かわらずハイレベルの信号を出力し、EX−ORアゲ−
−221−0〜221−nの出力がすべてローレベルで
ある場合にのみローレベルの信号を出力する。したがっ
て、Aポートアドレスに変化がない場合には、ORゲー
ト223の出力信号はローレベルであり、Aボートアド
レスが変化すると、ORゲート223の出力信号は前記
所定時間だけハイレベルとなる。ORゲート223の出
力は、Aボートアドレス変化検出回路22の検出出力と
して優先ボート判定回路24に与えられる。
If at least one of the outputs of the EX-OR gates 221-0 to 221-n, which are input signals, is at a high level, the OR gate 223 outputs a high-level signal regardless of the logic level of other human input signals. EX-OR Age-
A low level signal is output only when the outputs of -221-0 to 221-n are all low level. Therefore, when there is no change in the A port address, the output signal of the OR gate 223 is at a low level, and when the A port address changes, the output signal of the OR gate 223 is at a high level for the predetermined period of time. The output of the OR gate 223 is given to the priority boat determination circuit 24 as the detection output of the A boat address change detection circuit 22.

Bボートアドレス検出回路23も、Aボートアドレス変
化検出回路22と同様の動作を行なう。
The B boat address detection circuit 23 also performs the same operation as the A boat address change detection circuit 22.

すなわち、Bボートアドレス検出回路23においては、
EX−ORゲート231−0〜231−nが各々、Bボ
ートアドレスの各ビットのデータAo  (B)〜A、
(B)を直接および、遅延回路232−0〜2B2−n
を各々介して受け、n+1人力ORゲート233がEX
−ORゲート231−〇〜231−nの出力を受けて、
Bポートアドレスが変化したときに遅延回路による遅延
時間分だけハイレベルの信号を出力する。ORゲート2
33の出力は、Bポートアドレス変化検出回路の検出出
力として優先ポート判定回路24に与えられる。
That is, in the B boat address detection circuit 23,
EX-OR gates 231-0 to 231-n each input data Ao (B) to A of each bit of the B boat address, respectively.
(B) directly and delay circuits 232-0 to 2B2-n
are received through each, and the n+1 human OR gate 233 receives EX
-Receiving the outputs of OR gates 231-0 to 231-n,
When the B port address changes, a high level signal is output for the delay time by the delay circuit. OR gate 2
The output of 33 is given to the priority port determination circuit 24 as a detection output of the B port address change detection circuit.

たとえば、AボートアドレスおよびBポートアドレスが
各々、第4図(a)および(b)に示されるようなタイ
ミングで変化する場合を考える。
For example, consider a case where the A boat address and the B port address each change at the timings shown in FIGS. 4(a) and 4(b).

なお、第4図(a)および(b)において、斜線で示さ
れる期間al、a2.およびa3におけるAポートアド
レスは各々、斜線で示される期間b1、b2.およびb
3におけるBボートアドレスと同一であるとする。前述
したように、第3図におけるAボートアドレス変化検出
回路22の出力(第4図(d))およびBボートアドレ
ス変化検出回路23の出力(第4図(e))は、各々、
AポートアドレスおよびBポートアドレスが変化するご
とに遅延回路による所定期間だけハイレベルとなる。一
方、アドレス一致検出回路21の検出出力は、第4図(
c)で示されるように、AボートアドレスとBボートア
ドレスとが一致するごとにローレベルとなり、Aポート
アドレスまたはBポートアドレスのいずれか一方か変化
し、これらが異なったものとなると、再びハイレベルと
なる。
Note that in FIGS. 4(a) and 4(b), periods al, a2 . and a3, respectively, during periods b1, b2 . and b
Assume that it is the same as the B boat address in 3. As mentioned above, the output of the A boat address change detection circuit 22 (FIG. 4(d)) and the output of the B boat address change detection circuit 23 (FIG. 4(e)) in FIG.
Each time the A port address and the B port address change, the level is set to high level for a predetermined period by the delay circuit. On the other hand, the detection output of the address match detection circuit 21 is shown in FIG.
As shown in c), it goes low every time the A port address and B port address match, and goes high again when either the A port address or the B port address changes and they become different. level.

つまり、前記検出出力は、AポートアドレスとBポート
アドレスが一致している期間tI+  t2+およびt
、に対応する期間にはローレベルとなる。
In other words, the detection output is generated during the periods tI+t2+ and t during which the A port address and the B port address match.
It is at a low level during the period corresponding to .

優先ポート判定回路24は、Aポートアドレス変化検出
回路22およびBボートアドレス変化検出回路23の検
出出力を受ける後着ボート記憶回路24aと、A、Bポ
ートアドレス一致検出回路21の検出出力および前記後
着ボート記憶回路24aの出力を受ける後着ボート情報
ラッチ回路24bと、後着ボート情報ラッチ回路24b
の出力およびA、Bボートアドレス一致検出回路21の
検出出力を受ける2人力NORゲート250および25
1とによって構成される。
The priority port determination circuit 24 includes a later arriving boat storage circuit 24a which receives the detection outputs of the A port address change detection circuit 22 and the B boat address change detection circuit 23, the detection outputs of the A and B port address coincidence detection circuit 21, and the latter A later arriving boat information latch circuit 24b receiving the output of the arriving boat storage circuit 24a, and a later arriving boat information latch circuit 24b.
and the detection output of the A and B boat address match detection circuit 21.
1.

後者ポート記憶回路24aは、2人力NANDゲート2
41.インバータ242および、交差接続されてフリッ
プ70ツブを構成する2人力NANDゲート243およ
び244によって構成される。NANDゲート241は
、Aポートアドレス変化検出回路22の検出出力と、B
ボートアドレス変化検出回路23の検出出力の反転信号
とを受ける。
The latter port storage circuit 24a is a two-man powered NAND gate 2.
41. It is comprised of an inverter 242 and two NAND gates 243 and 244 that are cross-connected to form a flip 70 tube. The NAND gate 241 connects the detection output of the A port address change detection circuit 22 and the B
It receives the inverted signal of the detection output of the boat address change detection circuit 23.

Aボートアドレスが変化し、Bポートアドレスに変化が
ない場合、すなわち、Aポートアドレスが先に変化した
場合には、EX−ORゲート223の出力およびインバ
ータ242の出力がともにハイレベルとなる。このため
、NANDゲート241からローレベルの信号が出力さ
れる。したがって、この場合には、NANDゲート24
3の出力は、NANDゲート241からのローレベルの
信号によってハイレベルに確定される。そして、NAN
Dゲート244の出力は、確定されたNANDゲート2
43の出力(ハイレベル)および、インバータ242の
出力(ハイレベル)によってローレベルに確定される。
When the A port address changes and the B port address does not change, that is, when the A port address changes first, both the output of EX-OR gate 223 and the output of inverter 242 become high level. Therefore, a low level signal is output from the NAND gate 241. Therefore, in this case, the NAND gate 24
The output of No. 3 is determined to be high level by the low level signal from NAND gate 241. And NAN
The output of D gate 244 is the determined NAND gate 2
The output of the inverter 243 (high level) and the output of the inverter 242 (high level) determine the low level.

そして、NANDゲート244の出力(ローレベル)は
、NANDゲート243の入力にフィードバックされる
ことによって、NANDゲート243および244の出
力が各々ハイレベルおよびローレベルに固定される。
The output (low level) of NAND gate 244 is fed back to the input of NAND gate 243, thereby fixing the outputs of NAND gates 243 and 244 to high level and low level, respectively.

つまり、NANDゲート241の出力信号が、NAND
ゲート244の出力端において保持される。
In other words, the output signal of the NAND gate 241 is
It is held at the output of gate 244.

その後、AポートアドレスおよびBポートアドレスのい
ずれにも変化がないと、NANDゲート241は、EX
−ORゲート223およびインバータ242からそれぞ
れローレベルおよびハイレベルの信号を受けて、ハイレ
ベルの信号を出力する。つまり、NANDゲート241
の出力論理レベルだけが変化する。この結果、NAND
ゲート243の出力論理レベルは、NANDゲート24
4の出力論理レベルによって決定される状態となる。一
方、NANDゲート244の一方の入力端には、引き続
きインバータ242からハイレベルの信号が与えられる
ため、NANDゲート244の出力論理レベルも、NA
NDゲート244の他方の入力端に与えられる論理レベ
ル、すなわち、NANDゲート243の出力論理レベル
によって決定される。NANDゲート241の出力がハ
イレベルに切換わる前の、NANDゲート244の出力
論理レベルはローレベルである。このため、Aポートア
ドレスが変化した後AポートアドレスおよびBボートア
ドレスのいずれにも変化がないと、NANDゲート24
3の出力論理レベルはハイレベルのままとなり、NAN
Dゲート244の出力端の論理レベルはローレベルに保
持される。
Thereafter, if there is no change in either the A port address or the B port address, the NAND gate 241
-Receives low level and high level signals from OR gate 223 and inverter 242, respectively, and outputs a high level signal. In other words, NAND gate 241
only the output logic level of changes. As a result, NAND
The output logic level of gate 243 is
The state is determined by the output logic level of 4. On the other hand, since the high level signal is still applied to one input terminal of the NAND gate 244 from the inverter 242, the output logic level of the NAND gate 244 also changes to the NAND gate 244.
It is determined by the logic level applied to the other input terminal of ND gate 244, that is, the output logic level of NAND gate 243. Before the output of NAND gate 241 switches to high level, the output logic level of NAND gate 244 is low level. Therefore, if neither the A port address nor the B boat address changes after the A port address changes, the NAND gate 24
The output logic level of 3 remains high level, and the NAN
The logic level at the output terminal of D gate 244 is held at low level.

その後、Aボートアドレスに変化がなく、Bボートアド
レスだけが変化した場合、すなわち、Bボートアドレス
が先に変化した場合には、EX−ORゲート223の出
力およびインバータ242の出力がともにローレベルと
なる。つまり、インバータ242の出力論理レベルだけ
が変化する。
After that, if the A boat address does not change and only the B boat address changes, that is, if the B boat address changes first, the output of the EX-OR gate 223 and the output of the inverter 242 both become low level. Become. In other words, only the output logic level of inverter 242 changes.

この結果、NANDゲート243の出力論理レベルは引
き続きNANDゲート244の出力論理レベルによって
決定される状態にある一方、インバータ242からのロ
ーレベルの信号を受けたNANDゲート244の出力論
理レベルは、ハイレベルに確定される。これによって、
NANDゲート243は、この確定されたNANDゲー
ト244の出力論理レベル(ハイレベル)と、NAND
ゲート241の出力論理レベル(ハイレベル)とを受け
て、ローレベルの信号をNANDゲート244に人力す
る。これによって、NANDゲート244の出力論理レ
ベルがハイレベルに確定される。
As a result, the output logic level of NAND gate 243 continues to be determined by the output logic level of NAND gate 244, while the output logic level of NAND gate 244 receiving the low level signal from inverter 242 is at high level. will be confirmed. by this,
The NAND gate 243 outputs the determined output logic level (high level) of the NAND gate 244 and the NAND gate 243.
In response to the output logic level (high level) of the gate 241, a low level signal is input to the NAND gate 244. As a result, the output logic level of NAND gate 244 is determined to be high level.

その後、AボートアドレスおよびBポートアドレスのい
ずれにも変化がなければ、今度はEX−ORゲート23
3の出力がローレベルに切換わることによってインバー
タ242の出力論理レベルが、NANDゲート244の
出力論理レベルを確定できないレベル、すなわち、ハイ
レベルに切換わる。しかし、この場合には、既にNAN
Dゲート244の出力端に保持されているハイレベルの
信号を受けるNANDゲート243の出力論理レベル(
ローレベル)が、NANDゲート244に与えられる。
After that, if there is no change in either the A port address or the B port address, the EX-OR gate 23
When the output of NAND gate 244 is switched to low level, the output logic level of inverter 242 is switched to a level at which the output logic level of NAND gate 244 cannot be determined, that is, to high level. However, in this case, the NAN
The output logic level (
low level) is applied to the NAND gate 244.

この結果、NANDゲート244の出力論理レベルはそ
れまでと同じハイレベルに保持される。
As a result, the output logic level of NAND gate 244 is held at the same high level as before.

なお、AポートアドレスまたはBポートアドレスのいず
れもまだ変化していない期間には、NANDゲート24
4の出力論理レベルは確定されておらず、かつ、NAN
Dゲート241およびインバータ242の出力論理レベ
ルは、それぞれ、NANDゲート243および244の
出力論理レベルを確定できないハイレベルとなる。この
ため、このような期間には、NANDゲート243およ
び244のいずれの出力論理レベルも確定されないため
、NANDゲート244の出力端に保持されるデータも
確定されない。
Note that during the period when neither the A port address nor the B port address has changed, the NAND gate 24
4 output logic level is not determined and NAN
The output logic level of D gate 241 and inverter 242 is a high level that cannot determine the output logic level of NAND gates 243 and 244, respectively. Therefore, during such a period, the output logic level of both NAND gates 243 and 244 is not determined, so the data held at the output terminal of NAND gate 244 is also not determined.

以上のことかられかるように、NANDゲート244の
出力端に保持されるデータは、Aポートアドレスまたは
Bポートアドレスのいずれかが最初に変化したときにハ
イレベルまたはローレベルのいずれかに一旦確定された
後、AポートアドレスおよびBポートアドレスのいずれ
かが変化するごとに切換わる。NANDゲート244の
出力端の論理レベルは、後着ボート記憶回路24Bの記
憶データとして後着情報ラッチ回路24bに与えられる
As can be seen from the above, the data held at the output terminal of the NAND gate 244 is once set to either a high level or a low level when either the A port address or the B port address changes for the first time. After that, it switches every time either the A port address or the B port address changes. The logic level of the output terminal of the NAND gate 244 is given to the later arriving information latch circuit 24b as storage data of the later arriving boat storage circuit 24B.

さて、AボートアドレスおよびBポートアドレスが全く
同時に変化した場合には、NANDゲート241および
インバータ242の出力論理レベルはともにハイレベル
からローレベルに切換わる。
Now, when the A boat address and the B port address change at exactly the same time, the output logic levels of NAND gate 241 and inverter 242 both switch from high level to low level.

これによって、NANDゲート243および244の出
力論理レベルはともにハイレベルとなり、NANDゲー
ト244の出力端における保持データは必ずハイレベル
となる。前述したように、NANDゲート244の出力
論理レベルは、Aポートアドレスだけが変化した場合に
ローレベルとなり、Bポートアドレスだけが変化した場
合にはハイレベルとなる。したがって、Aボートアドレ
スおよびBボートアドレスが全く同時に変化した場合に
は、後者ボート記憶回路24aの記憶データは、Bボー
トブロック200からの新たななアドレス指定がAボー
トブロック100からの新たなアドレス指定よりも先に
行なわれたことを示すものとなる。つまり、後者ポート
記憶回路24aの記憶データは、AポートブロックIC
OからのアクセスがBポートブロック200からのアク
セスよりも先であった場合にローレベルとなり、Bボー
トブロック200からのアクセスがAポートブロック1
00からのアクセスと同時、またはそれよりも先であっ
た場合にはハイレベルとなる。したがって、後着ポート
記憶回路24aの出力は第4図(f)に示されるように
、Aボートアドレスが変化してAポートアドレス変化検
出回路22の検出出力が立上がるごとにローレベルとな
り、Bポートアドレスが変化してBポートアドレス変化
検出回路23の検出出力が立上がるごとに7Xイレベル
となる。
As a result, the output logic levels of NAND gates 243 and 244 both become high level, and the data held at the output terminal of NAND gate 244 always becomes high level. As described above, the output logic level of the NAND gate 244 becomes low level when only the A port address changes, and becomes high level when only the B port address changes. Therefore, when the A boat address and the B boat address change at exactly the same time, the data stored in the latter boat memory circuit 24a will be changed when a new address designation from the B boat block 200 is changed to a new address designation from the A boat block 100. This indicates that it was done earlier. In other words, the data stored in the latter port storage circuit 24a is stored in the A port block IC.
If the access from O is earlier than the access from B port block 200, it becomes low level, and the access from B port block 200 is before the access from A port block 1.
If it is accessed from 00 at the same time or earlier, it becomes high level. Therefore, as shown in FIG. 4(f), the output of the subsequent port storage circuit 24a becomes low level every time the A port address changes and the detection output of the A port address change detection circuit 22 rises. Every time the port address changes and the detection output of the B port address change detection circuit 23 rises, it becomes 7X high level.

後者ポート情報ラッチ回路24bは、2人力NORゲー
ト245および247と、アドレス一致検出回路21の
検出出力を反転するインバータ246と、フリップフロ
ップを構成する2人力NORゲート248および249
とを含む。NORゲート247は、NORゲート245
の出力と、インバータ246によって反転されたアドレ
ス一致検出回路21の検出出力とを受ける。
The latter port information latch circuit 24b includes two NOR gates 245 and 247, an inverter 246 that inverts the detection output of the address match detection circuit 21, and two NOR gates 248 and 249 forming a flip-flop.
including. NOR gate 247 is NOR gate 245
and the detection output of the address match detection circuit 21 which is inverted by the inverter 246.

アドレス一致検出回路21の出力論理レベルがハイレベ
ルのとき、すなわち、AポートアドレスとBポートアド
レスとが同時刻において異なるときには、NORゲート
247はインバータ246からのローレベルの信号を受
けるため、NORゲ−4247の出力論理レベルは、N
ORゲート245の出力論理レベルによって決まる。N
ORゲート245は、インバータ246によって反転さ
れたアドレス一致検出回路21の検出出力と、後着ボー
ト記憶回路24aの記憶データとを受ける。
When the output logic level of the address match detection circuit 21 is high level, that is, when the A port address and the B port address are different at the same time, the NOR gate 247 receives a low level signal from the inverter 246. The output logic level of -4247 is N
Determined by the output logic level of OR gate 245. N
The OR gate 245 receives the detection output of the address coincidence detection circuit 21 inverted by the inverter 246 and the data stored in the subsequent boat storage circuit 24a.

さて、Bボートアドレスが変化しく共有メモリセルアレ
イ11に対してBポートブロック200から先にアクセ
スが行なわれ)、この変化後のアドレス一致検出回路2
1の出力がハイレベルであると、後着ポート記憶回路2
4aからのノ\イレベルの信号によってNORゲート2
45の出力信号は、アドレス一致検出回路21の検出出
力にかかわらずローレベルとなる。さて、NORゲート
248は、NORゲート249の出力を入力とじて受け
る。したがって、NORゲート245の出力がローレベ
ルとなることによって、NORゲート248は、その出
力論理レヘルかNORゲート249の出力論理レベルに
よって決定される状態となる。一方、ローレベルに確定
された、NORゲト245の出力およびインバータ24
6からのローレベルの信号によって、NORゲート24
7の出力論理レベルはハイレベルに確定される。これに
よって、NORゲート247の出力を受けるNORゲー
ト249の出力、すなわち、NORゲート248の一方
の人力論理レベルは、ハイレベルに確定される。この結
果、NORゲート248の出力論理レベルはハイレベル
となる。
Now, the B port address changes and the shared memory cell array 11 is accessed first from the B port block 200), and after this change, the address match detection circuit 2
When the output of 1 is high level, the subsequent port storage circuit 2
NOR gate 2 is activated by the noise level signal from 4a.
The output signal of 45 becomes low level regardless of the detection output of the address match detection circuit 21. Now, NOR gate 248 receives the output of NOR gate 249 as an input. Therefore, when the output of NOR gate 245 goes low, NOR gate 248 enters a state determined by its output logic level or the output logic level of NOR gate 249. On the other hand, the output of the NOR gate 245 and the inverter 24 are determined to be low level.
6, the NOR gate 24
The output logic level of 7 is determined to be high level. As a result, the output of the NOR gate 249 receiving the output of the NOR gate 247, that is, the manual logic level of one of the NOR gates 248 is determined to be a high level. As a result, the output logic level of NOR gate 248 becomes high level.

逆に、Aポートアドレスが先に変化し、この変化後のア
ドレス一致検出回路21の出力がハイレベルであると、
後着ポートラッチ回路24aの出力論理レベルがハイレ
ベルからローレベルに変化する。これによって、NOR
ゲート245の2つの入力端の論理レベルがともにロー
レベルとなり、NORゲート245の出力論理レベルは
ハイレベルとなる。次に、このNORゲート245のハ
イレベルの出力によって、NORゲート248の出力論
理レベルがハイレベルに確定される。一方、NORゲー
ト247は、NORゲート245からのハイレベルの信
号を受けてローレベルの信号を出力するため、NORゲ
ート249の出力論理レベルはNORゲート248の出
力論理レベルによって決定される状態となる。したがっ
て、この場合には、NORゲート249の出力論理レベ
ルは、NORゲート248から出力されるローレベルの
信号によってハイレベルに確定される。これら2つのN
ORゲート248および249の出力はそれぞれ、他方
のNORゲートの人力にフィードバックされるため、N
ORゲート245および247のいずれかの出力に変化
がない限り、NORゲート248および249の出力論
理レベルも変化しない。
Conversely, if the A port address changes first and the output of the address match detection circuit 21 after this change is at a high level,
The output logic level of the subsequent port latch circuit 24a changes from high level to low level. This allows NOR
The logic levels of the two input terminals of the gate 245 are both low level, and the output logic level of the NOR gate 245 is high level. Next, the high level output of NOR gate 245 determines the output logic level of NOR gate 248 to be high level. On the other hand, since NOR gate 247 receives a high level signal from NOR gate 245 and outputs a low level signal, the output logic level of NOR gate 249 is determined by the output logic level of NOR gate 248. . Therefore, in this case, the output logic level of NOR gate 249 is determined to be high level by the low level signal output from NOR gate 248. These two N
The outputs of OR gates 248 and 249 are each fed back to the other NOR gate, so that N
As long as there is no change in the output of either OR gate 245 and 247, the output logic level of NOR gates 248 and 249 will also not change.

このように、Bポートドレスが先に変化した場合および
、AポートアドレスおよびBポートアドレスが同時に変
化した場合にアドレス一致検出回路21の出力かハイレ
ベルてあれば、NORゲート248および249の出力
端に各々ハイレベルおよびローレベルの信号がラッチさ
れる。そして、Aポートアドレスが先に変化した場合に
アドレス一致検出回路21の出力がハイレベルであれば
、NORゲート248および249にそれぞれローレベ
ルおよびハイレベルの信号がラッチされる。
In this way, if the B port address changes first or the A port address and B port address change simultaneously, if the output of the address match detection circuit 21 is at a high level, the output terminals of the NOR gates 248 and 249 High-level and low-level signals are latched at the respective high-level and low-level signals. If the output of address match detection circuit 21 is at a high level when the A port address changes first, low level and high level signals are latched in NOR gates 248 and 249, respectively.

つまり、AポートアドレスまたはBポートアドレスか変
化し、その変化後のBポートアドレスおよびBポートア
ドレスか異なる場合には後着ポート情報記憶回路24b
の記憶情報(NORゲート248および249の出力端
の論理レベル)は、後着ポート記憶回路24aの出力の
変化に追従して変化し、AポートアドレスおよびBポー
トアドレスのいずれが先に変化したかを示すものとなる
In other words, if the A port address or B port address changes and the B port address and B port address after the change are different, the subsequent port information storage circuit 24b
The storage information (the logic level of the output terminals of NOR gates 248 and 249) changes in accordance with the change in the output of the subsequent port storage circuit 24a, and determines which of the A port address and B port address changed first. This will indicate the following.

しかし、アドレス一致検出回路21の出力がローレベル
であれば、すなわち、AポートアドレスおよびBボート
アドレスが一致すれば、後着ポート情報ラッチ回路24
bにおいて、NORゲート245および247はともに
、インバータ246からハイレベルの信号か人力される
。これによって、NORゲート245および247の出
力論理レベルは、それぞれ、後着ポート記憶回路24a
の出力およびNORゲート245の出力にかかわらずロ
ーレベルに固定される。これは、NORゲート248の
出力論理レベルは、NORゲート249の出力論理レベ
ルによって決定され、NORゲート248の出力論理レ
ベルはNORゲート249の出力論理レベルによって決
定されることを意味する。したがって、この場合には、
NORゲ−1248および249の出力端の論理レベル
が既に確定されていれば、アドレス一致検出回路21の
検出出力が“一致”を示すローレベルとなることに応答
して、後着ポート情報ラッチ回路24bにストローブが
かけられ、後着ポート記憶回路24Hの出力に応答した
、後着ポート情報ラッチ回路24bの記憶情報更新動作
が停止される。
However, if the output of the address match detection circuit 21 is low level, that is, if the A port address and the B boat address match, the subsequent port information latch circuit 24
At b, both NOR gates 245 and 247 receive a high level signal from inverter 246. As a result, the output logic levels of NOR gates 245 and 247 are respectively changed to the later port storage circuit 24a.
is fixed at a low level regardless of the output of the NOR gate 245 and the output of the NOR gate 245. This means that the output logic level of NOR gate 248 is determined by the output logic level of NOR gate 249, and the output logic level of NOR gate 248 is determined by the output logic level of NOR gate 249. Therefore, in this case,
If the logic level of the output ends of the NOR gates 1248 and 249 has already been determined, the subsequent port information latch circuit responds to the detection output of the address match detection circuit 21 becoming a low level indicating "match". 24b is applied with a strobe, and the storage information update operation of the subsequent port information latch circuit 24b in response to the output of the subsequent port storage circuit 24H is stopped.

たとえば、第4図(g)を参照して、後着ボート情報ラ
ッチ回路24bにおいてNANDゲート245は、アド
レス一致検出回路21の検出出力か″不一致”を示すハ
イレベルである期間には、後着ポート記憶回路24Bの
出力に応答して、後着ポート記憶回路24aの出力を反
転して出力し、アドレス一致検出回路21の検出出力が
“一致゛を示すローレベルである期間には、後着ポート
記憶回路24aの出力にかかわらず、それまでと同じ論
理レベルの信号を出力する。
For example, referring to FIG. 4(g), in the later arriving boat information latch circuit 24b, the NAND gate 245 controls the later arriving boat information during a period when the detection output of the address match detection circuit 21 is at a high level indicating "mismatch". In response to the output of the port storage circuit 24B, the output of the subsequent port storage circuit 24a is inverted and output, and during the period when the detection output of the address match detection circuit 21 is at a low level indicating "match", the output of the subsequent port storage circuit 24B is inverted and output. Regardless of the output of the port storage circuit 24a, a signal of the same logic level as before is output.

一方、NANDゲート247は、第4図(h)に示され
るように、アドレス一致検出回路21の検出出力が“不
一致゛を示すハイレベルである期間には、後着ポート記
憶回路24aの出力に応答して、後着ポート記憶回路2
4aの出力を反転せずに出力し、アドレス一致検出回路
21の検出出力が“一致”を示すローレベルである期間
には、後着ポート記憶回路24aの出力にかかわらず、
それまでと同じ論理レベルの信号を出力する。
On the other hand, as shown in FIG. 4(h), during the period when the detection output of the address match detection circuit 21 is at a high level indicating "mismatch", the NAND gate 247 inputs the output of the subsequent port storage circuit 24a. In response, the subsequent port storage circuit 2
4a is output without being inverted and the detection output of the address match detection circuit 21 is at a low level indicating "match", regardless of the output of the subsequent port storage circuit 24a.
Outputs a signal with the same logic level as before.

これらNANDゲート245の出力および247の出力
にそれぞれ応答して、NANDゲート248および24
9の出力は各々、第4図(i)および(j)で示される
ように変化する。つまり、アドレス一致検出回路21の
出力が“不一致“を示す期間にはNANDゲート248
の出力は、Aポートアドレスの変化に応答してNORゲ
ート245の出力が立上がるごとに立下がり、Bポート
アドレスの変化に応答したNORゲート245の立下が
りに応答してNORゲート249の出力が立下がる毎に
立上がる。逆に、NORゲート249の出力は、Bボー
トアドレスの変化に応答してNORゲート245の出力
が立下がるごとに立下がり、Aポートアドレスの変化に
応答したNORゲート245の出力の立上がりに応答し
てNORゲート248の出力が立下がる毎に立上がる。
In response to the outputs of NAND gates 245 and 247, NAND gates 248 and 24
The outputs of 9 vary as shown in FIGS. 4(i) and (j), respectively. In other words, during the period when the output of the address match detection circuit 21 indicates "mismatch", the NAND gate 248
The output of NOR gate 249 falls each time the output of NOR gate 245 rises in response to a change in the A port address, and the output of NOR gate 249 falls in response to a fall of NOR gate 245 in response to a change in the B port address. Rise up every time you fall. Conversely, the output of NOR gate 249 falls each time the output of NOR gate 245 falls in response to a change in the B port address, and falls in response to a rise in the output of NOR gate 245 in response to a change in the A port address. It rises every time the output of NOR gate 248 falls.

そして、アドレス一致検出回路21の検出出力が一致0
を示す期間においてNORゲート248および249の
出力は変化しない。
Then, the detection output of the address match detection circuit 21 is match 0.
During the period shown, the outputs of NOR gates 248 and 249 do not change.

後着ポート情報ラッチ回路24bの記憶情報であるNO
Rゲート248および249の出力は各々、NORゲー
ト250および251に与えられる。NORゲート25
0および251には、アドレス一致検出回路21の検出
出力も人力される。
NO which is the memory information of the subsequent port information latch circuit 24b
The outputs of R gates 248 and 249 are provided to NOR gates 250 and 251, respectively. NOR gate 25
0 and 251 are also input with the detection output of the address match detection circuit 21.

したがって、アドレス一致検出回路21の検出出力がロ
ーレベルであり、かつ、NORゲート248の出力がハ
イレベルであるとき、すなわち、Bポートアドレスが変
化することによって、またはAボートアドレスおよびB
ポートアドレスが同時に変化することによってAポート
アドレスおよびBボートアドレスが一致したときには、
NORゲ−)250はローレベルを出力する。そして、
アドレス一致検出回路21の検出出力がローレベルであ
り、かつ、NORゲート248の出力がローレベルであ
るとき、すなわち、Aボートアドレスが変化することに
よってAボートアドレスおよびBポートアドレスが一致
したときには、NORゲート250はハイレベルを出力
する。
Therefore, when the detection output of the address match detection circuit 21 is at a low level and the output of the NOR gate 248 is at a high level, that is, when the B port address changes or the A port address and the B
When the port addresses change simultaneously and the A port address and B boat address match,
NOR game) 250 outputs a low level. and,
When the detection output of the address match detection circuit 21 is low level and the output of the NOR gate 248 is low level, that is, when the A boat address and the B port address match due to a change in the A boat address, NOR gate 250 outputs a high level.

一方、NORゲート251には、NORゲート249か
らNORゲート248の出力論理レベルとは逆の論理レ
ベルの信号が与えられる。したがって、NORゲート2
51は、NORゲート250とは逆の動作をする。すな
わち、NORゲート250の出力は、Bポートアドレス
が変化してAポートアドレスおよびBポートアドレスが
一致したときにハイレベルとなり、Aポートアドレスが
変化してAボートアドレスおよびBボートアドレスが一
致したときにはローレベルとなる。
On the other hand, NOR gate 251 is supplied with a signal from NOR gate 249 that has a logic level opposite to the output logic level of NOR gate 248 . Therefore, NOR gate 2
51 operates in the opposite way to NOR gate 250. That is, the output of the NOR gate 250 becomes high level when the B port address changes and the A port address and B port address match, and goes high when the A port address changes and the A port address and B port address match. becomes low level.

そして、アドレス一致検出回路21の検出出力がハイレ
ベルのとき、すなわち、AポートアドレスおよびBボー
トアドレスが異なるときには、NORゲート250およ
び251の出力は後着ポート情報ラッチ回路24bの記
憶情報にかかわらずともにローレベルとなる。
When the detection output of the address match detection circuit 21 is at a high level, that is, when the A port address and the B port address are different, the outputs of the NOR gates 250 and 251 are Both are at low level.

NORゲート250および251の出力は各々、インバ
ータ252および253によって反転された後、指示信
号Not  Ready  AおよびNot   ea
dy  Bとして第5図におけるMPU^62およびM
PU666に出力される。それゆえに、最終的に得られ
る指示信号Not  Ready−τは、第4図(k)
に示されるようにBポートアドレスが変化することによ
って生じたアドレス一致期間およびアドレス不一致切間
には、ハイレベルとなり、Aポートアドレスが変化する
ことによって生じたアドレス一致期間にのみローレベル
となる。逆に、指示信号Not  Ready Bは、
第4図(麩)に示されるように、Bホトアドレスが変化
することによって、および、AポートアドレスおよびB
ポートアドレスが同時に変化することによって生じたア
ドレス一致期間にはローレベルとなり、Aポートアドレ
スが変化することによって生じたアドレス一致期間にの
みハイレベルとなる。
The outputs of NOR gates 250 and 251 are inverted by inverters 252 and 253, respectively, and then output to the instruction signals Not Ready A and Not ea.
MPU^62 and M in Figure 5 as dy B
It is output to PU666. Therefore, the instruction signal Not Ready-τ finally obtained is as shown in FIG. 4(k).
As shown in FIG. 3, it is at a high level during the address match period and address mismatch interval caused by a change in the B port address, and is at a low level only during an address match period caused by a change in the A port address. Conversely, the instruction signal Not Ready B is
As shown in FIG. 4, by changing the B photo address and the A port address and B
It is at a low level during an address match period caused by simultaneous changes in the port address, and becomes a high level only during an address match period caused by a change in the A port address.

上記のことかられかるように、Aボートアドレスおよび
Bポートアドレスが異なる・ときには指示信号Not 
 Rea  y   およびNot   ei1]=−
1−は各々、MPUA62およびMPUa66にアクセ
ス動作を行なわせるハイレベルとなる。ここで、Aポー
トアドレスが変化してBポートアドレスに一致すること
は、第1図においてBポートアドレスが共有メモリセル
アレイ11内のメモリセルにデータの書込みまたは読出
しを行なっている途中に、Aポートブロック100から
も同一のメモリセルにアクセスがあったことを意味する
。逆に、Bポートアドレスが変化してAボートアドレス
に一致することは、共有メモリセル11内のメモリセル
に対してAポートブロックがデータの書込みまたは読出
しを行なっている途中に、Bボートブロックからも同一
のメモリセルにアクセスがあったことを意味する。また
、AポートアドレスおよびBボートアドレスが同時に変
化してそれらが一致することは、Aポートブロック10
0およびBボートブロック200から、共有メモリセル
11内の同一のメモリセルに対して全く同時にアクセス
があったことを意味する。
As can be seen from the above, the A boat address and the B port address are different/sometimes the instruction signal Not
Rea y and Not ei1]=-
1- becomes a high level which causes the MPUA 62 and MPUa 66 to perform an access operation. Here, the fact that the A port address changes and matches the B port address means that while the B port address is writing or reading data to or from a memory cell in the shared memory cell array 11 in FIG. This means that the same memory cell was also accessed from block 100. Conversely, the fact that the B port address changes and matches the A boat address means that while the A port block is writing or reading data to or from a memory cell in the shared memory cell 11, the B port address changes to match the A boat address. also means that the same memory cell was accessed. Also, if the A port address and the B boat address change at the same time and match, the A port block 10
This means that the same memory cell in the shared memory cell 11 was accessed from the 0 and B boat blocks 200 at the same time.

したがって、本実施例では、同一のメモリセルに対して
、Aボートブロック100およびBポートブロック20
0のいずれから先にアクセスがあったかに応じて、2つ
の指示信号Not  Ready  AおよびNot 
 Ready  Bのうちの一方のみがハイレベルとな
る。具体的には、任意のメモリセルに対して、先にアク
セスを行なったポートブロックに接続されるMPUに対
して“アクセス承認°を指示するハイレベルの指示信号
が与えられ、後からアクセスを行なったポートブロック
に接続されるMPUに対しては“アクセス保留”を指示
するローレベルの信号が与えられる。
Therefore, in this embodiment, for the same memory cell, the A port block 100 and the B port block 20
0 is accessed first, two instruction signals Not Ready A and Not Ready
Only one of Ready B becomes high level. Specifically, a high-level instruction signal instructing "access approval" is given to the MPU connected to the port block that previously accessed a given memory cell, and the MPU that accesses the memory cell earlier A low level signal instructing "access pending" is given to the MPU connected to the port block.

つまり、先着のアドレス信号を出力したポートブロック
からのアクセスが優先される。また、本実施例では、A
ボートブロック100およびBボートブロック200か
ら、同一のメモリセルに対して全く同時にアクセスがあ
った場合には、無条件にAポートブロックからのアクセ
スが優先される。
In other words, priority is given to access from the port block that outputs the first address signal. In addition, in this example, A
If the same memory cell is accessed from the port block 100 and the B port block 200 at the same time, the access from the A port block is unconditionally given priority.

第1図ないし第5図を参照して、第1図の共有メモリセ
ルアレイ11内の任意のメモリセルに関して、第5図に
おけるMPUA62から第1図におけるAポートブロッ
ク100を介して先にアクセスがあった後、MPUa 
66からBボートブロック200を介してアクセスがあ
り、AボートアドレスとBポートアドレスとが時間的に
重なった場合(アドレス競合状@)、すなわち、第4図
における時刻T1には、必ず、指示信号Not  Re
ady  Bがローレベルとなって、MPo、66から
のアクセスが保留されてMPUA62からのアクセスが
優先的に受付けられる。その後、MPUA62からのア
クセスが終了して、Aポートアドレスが変化すると、A
ボートアドレスとBポートアドレスとは再び一致しなく
なり、指示信号Noteay   は再びハイレベルに
戻る。
1 to 5, if any memory cell in the shared memory cell array 11 in FIG. 1 is accessed first from the MPUA 62 in FIG. 5 via the A port block 100 in FIG. After that, MPUa
When there is an access from 66 through the B port block 200 and the A boat address and B port address overlap in time (address conflict condition @), that is, at time T1 in FIG. Not Re
ady B becomes low level, access from MPo 66 is suspended, and access from MPUA 62 is accepted preferentially. After that, when the access from MPUA62 ends and the A port address changes, A
The boat address and the B port address no longer match, and the instruction signal Noteay returns to high level again.

逆に、MPUB 66から先にアクセスがあった後に、
MPUA62からアクセスがあり、アドレス競合状態と
なった場合、すなわち、第4図における時刻T2には、
指示信号Not  ReadyAがローレベルとなって
MPUA62からのアクセスが保留され、MPUa 6
6からのアクセスが優先的に受付けられる。その後、M
PUB 66からのアクセスが終了して、Bポートアド
レスが変化すると、BボートアドレスとAポートアドレ
スとは再び一致しなくなるため、指示信号NotRea
dy  Aは再びハイレベルに戻る。また、同一のメモ
リセルに対して、MPUA 62およびMPU[166
から同時にアクセスがあった場合、すなわち、第4図に
おける時刻T3には、指示信号Not  Ready 
 BがローレベルとなってMPUA62からのアクセス
が先に受付けられる。
Conversely, after MPUB 66 is accessed first,
When there is an access from the MPUA 62 and an address conflict occurs, that is, at time T2 in FIG.
The instruction signal Not ReadyA becomes low level, access from MPUA 62 is suspended, and MPUa 6
Access from 6 is preferentially accepted. After that, M
When the access from PUB 66 ends and the B port address changes, the B port address and the A port address no longer match, so the instruction signal NotRea
dy A returns to high level again. Also, for the same memory cell, MPUA 62 and MPU[166
If there are simultaneous accesses from , that is, at time T3 in FIG.
B becomes low level and access from the MPUA 62 is accepted first.

したがって、第1図の2ポートRA Mにおいて、Aポ
ートブロック100およびBポートブロック200が選
択するアドレスが時間的に重なった場合には、自動的に
、先にアクセスを行なった方のポートブロック(ただし
、Aボートブロック100およびBポートブロック20
0から同時にアクセスがあった場合には、予め決められ
たいずれか一方のポートブロック)からのみデータの書
込み/読出しが行なわれた後、他方のポートブロックか
らのデータ書込み/読出しが行なわれる。この結果、同
一のメモリセルに対して異なるアクセスポートから同時
にアクセスが行なわれることによって生じる、前述のよ
うな問題は発生しない。
Therefore, in the two-port RAM shown in FIG. 1, if the addresses selected by the A port block 100 and the B port block 200 overlap in time, the port block accessed first ( However, A boat block 100 and B port block 20
If there are simultaneous accesses from port block 0, data is written/read only from one predetermined port block, and then data is written/read from the other port block. As a result, the above-mentioned problem that occurs when the same memory cell is simultaneously accessed from different access ports does not occur.

上記実施例では、アクセスポートAおよびBの両方から
のアドレス選択を全く同時に行なわれた場合には、アク
セスポートAからの処理を優先させる(指示信号Not
  Ready  Bをローレベルとする)ようにアド
レス競合:A整向路を構成しているが、アクセスポート
Bからの処理を優先させること1容易である。すなわち
、この場合には、第3図において後着ポート記憶回路2
4aに、Aポートアドレス変化検出回路22の出力とB
ポートアドレス検出回路23の出力とを逆にして人力す
ればよい。
In the above embodiment, if addresses are selected from both access ports A and B at the same time, priority is given to processing from access port A (instruction signal Not
Although the address conflict: A direction path is configured such that Ready B is set to low level, it is easy to give priority to processing from access port B. That is, in this case, in FIG.
4a shows the output of the A port address change detection circuit 22 and the output of the B port address change detection circuit 22.
This can be done manually by reversing the output of the port address detection circuit 23.

また、本実施例では、本発明を2ポ一トRAMに適用し
た場合について適用したが本発明を2ポ一ト以上のアク
セスポートを有するマルチポートメモリに適用すること
ももちろん可能である。
Further, in this embodiment, the present invention is applied to a two-point RAM, but it is of course possible to apply the present invention to a multi-port memory having two or more access ports.

[発明の効果] 以上のように、本発明によれば、アドレス一致検出手段
とアドレス変化検出手段を用いた比較的簡単な構成の回
路により、確実に、各アクセスポートから同一のアドレ
スが指定されるアドレス競合選択時において、先にアド
レス指定を行なったアクセスポートからのアクセスを優
先処理するとともに、複数のアクセスポートから同一の
アドレスが同時に選択された場合にいずれか一方のアク
セスポートからのアクセスを先に処理することができる
。このため、異なるアクセスポートからのアドレス信号
によって同一のアドレスが選択された場合にも各アクセ
スポートからの読出動作/書込動作は正しく行なわ麺る
。したがって、マルチポートメモリ内の共有メモリセル
アレイを複数のMPU等の制御ユニットが独立に使用す
ることが可能となる。結果として、マルチポートメモリ
は効率良く複数のMPU等の制御ユニットによって使用
され、マルチポートメモリを用いるマルチプロセサシス
テムの稼動率が向上される。
[Effects of the Invention] As described above, according to the present invention, the same address can be reliably specified from each access port using a circuit with a relatively simple configuration using an address coincidence detection means and an address change detection means. When selecting an address conflict, priority is given to access from the access port that specified the address first, and if the same address is selected from multiple access ports at the same time, access from one of the access ports is given priority. It can be processed first. Therefore, even if the same address is selected by address signals from different access ports, read/write operations from each access port are performed correctly. Therefore, it becomes possible for a plurality of control units such as MPUs to independently use the shared memory cell array in the multiport memory. As a result, the multiport memory is efficiently used by a plurality of control units such as MPUs, and the operating rate of a multiprocessor system using the multiport memory is improved.

また、比較的簡単な構成の回路によってマルチポートメ
モリへのアクセスを制m”rきるため、この制御ための
回路部をマルチポートメモリと同一チップ上に設けるこ
とも可能となる。
Furthermore, since access to the multi-port memory can be controlled by a circuit with a relatively simple configuration, it is also possible to provide a circuit section for this control on the same chip as the multi-port memory.

また、各アクセスポートに人力されるアドレス信号の変
化の検出が、各アクセスポートに対する同等の重みづけ
にて、各アクセスポートからのアドレス指定のタイミン
グ差のみによって判定されるため、外部回路(たとえば
MPU)側からのアクセス動作に予め時間差(プライオ
リティセットアツプタイム)を設ける煩わしさも解消さ
れる。
In addition, since the detection of a change in the address signal manually input to each access port is determined only by the timing difference in addressing from each access port with equal weighting for each access port, external circuits (for example, MPU ) side also eliminates the trouble of providing a time difference (priority set-up time) in advance for access operations.

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

第1図は本発明の一実施例である、本発明に係るマルチ
ポートメモリ制御装置を備えた2ポ一トRAMの概略ブ
ロック図、第2図は第1図におけるアドレス競合調整回
路の構成を示す概略ブロック図、第3図は第2図で示さ
れるアドレス競合調整回路の具体的構成例を示す回路図
、第4図は第3図に示される回路の動作を説明するため
のタイミングチャート図、第5図はマルチポート方式に
よるマルチプロセッサシステムの構成図、第6図は従来
の2ボ一トRAMの概略ブロック図である。 図において、11は共有メモリセルアレイ、20はアド
レス競合調整回路、21はA、Bボートアドレス一致検
出回路、22はAボートアドレス変化検出回路、23は
Bポートアドレス変化検出回路、24は優先ポート判定
回路、100はAボートブロック、200はBボートブ
ロックである。 なお、図中、同一符号は同一、または相当部分を示す。
FIG. 1 is a schematic block diagram of a two-point RAM equipped with a multiport memory control device according to the present invention, which is an embodiment of the present invention, and FIG. 2 shows the configuration of the address conflict adjustment circuit in FIG. 3 is a circuit diagram showing a specific configuration example of the address conflict adjustment circuit shown in FIG. 2, and FIG. 4 is a timing chart diagram for explaining the operation of the circuit shown in FIG. 3. , FIG. 5 is a block diagram of a multiprocessor system using a multiport system, and FIG. 6 is a schematic block diagram of a conventional two-bottom RAM. In the figure, 11 is a shared memory cell array, 20 is an address conflict adjustment circuit, 21 is an A and B boat address match detection circuit, 22 is an A boat address change detection circuit, 23 is a B port address change detection circuit, and 24 is a priority port determination circuit. In the circuit, 100 is an A boat block and 200 is a B boat block. In addition, in the figures, the same reference numerals indicate the same or equivalent parts.

Claims (1)

【特許請求の範囲】 少なくとも第1および第2のアクセスポートと、前記第
1および第2のアクセスポートのいずれからもアクセス
される共有メモリセルアレイとを含むマルチポートメモ
リへのアクセスを制御するマルチポートメモリ制御装置
であつて、 前記第1のアクセスポートに入力される第1のアドレス
信号と、前記第2のアクセスポートに入力される第2の
アドレス信号との一致を検出するアドレス一致検出手段
と、 前記第1のアドレス信号の変化を検出する第1のアドレ
ス変化検出手段と、 前記第2のアドレス信号の変化を検出する第2のアドレ
ス変化検出手段と、 前記アドレス一致検出手段からの“一致”を示す検出出
力に応答して、前記第1のアドレス変化検出手段の検出
出力と、前記第2のアドレス変化検出手段の検出出力と
に基づいて、前記第1および第2のアドレス信号のうち
変化があったアドレス信号のいずれか一方を受けるアク
セスポートからの前記共有メモリセルへのアクセスを中
断させるための信号を導出する手段とを備えた、マルチ
ポートメモリ制御装置。
Claims: A multiport that controls access to a multiport memory including at least first and second access ports and a shared memory cell array that is accessed from both the first and second access ports. A memory control device, comprising: address coincidence detection means for detecting coincidence between a first address signal input to the first access port and a second address signal input to the second access port; , a first address change detection means for detecting a change in the first address signal, a second address change detection means for detecting a change in the second address signal, and a "coincidence" from the address coincidence detection means. ”, one of the first and second address signals is detected based on the detection output of the first address change detection means and the detection output of the second address change detection means. and means for deriving a signal for interrupting access to the shared memory cell from an access port that receives one of the address signals that has changed.
JP1326669A 1989-12-15 1989-12-15 Multiport memory controller Pending JPH03187095A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1326669A JPH03187095A (en) 1989-12-15 1989-12-15 Multiport memory controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1326669A JPH03187095A (en) 1989-12-15 1989-12-15 Multiport memory controller

Publications (1)

Publication Number Publication Date
JPH03187095A true JPH03187095A (en) 1991-08-15

Family

ID=18190345

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1326669A Pending JPH03187095A (en) 1989-12-15 1989-12-15 Multiport memory controller

Country Status (1)

Country Link
JP (1) JPH03187095A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761147A (en) * 1997-02-21 1998-06-02 International Business Machines Corporation Virtual two-port memory structure with fast write-thru operation
US6229754B1 (en) 2000-02-09 2001-05-08 International Business Machines Corporation Write through function for a memory

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62217481A (en) * 1986-03-18 1987-09-24 Fujitsu Ltd Multiport memory circuit

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62217481A (en) * 1986-03-18 1987-09-24 Fujitsu Ltd Multiport memory circuit

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761147A (en) * 1997-02-21 1998-06-02 International Business Machines Corporation Virtual two-port memory structure with fast write-thru operation
US6229754B1 (en) 2000-02-09 2001-05-08 International Business Machines Corporation Write through function for a memory

Similar Documents

Publication Publication Date Title
JP3843145B2 (en) Synchronous semiconductor memory device
EP2263235B1 (en) Address multiplexing in pseudo-dual port memory
JP5260511B2 (en) Dual port SRAM memory using single port memory cells
US5321651A (en) Read and write circuitry for a memory
KR910003382B1 (en) Semiconductor memory device with register
JPH0381238B2 (en)
US6272064B1 (en) Memory with combined synchronous burst and bus efficient functionality
JPH0684351A (en) Clock synchronized type semiconductor memory device and access method thereof
EP1238339B1 (en) Interface for a memory unit
JPH1166851A (en) Clock shift circuit device, clock shift circuit and synchronous type semiconductor storage device using it
US6091667A (en) Semiconductor memory device and a data reading method and a data writing method therefor
US6463007B2 (en) Synchronous semiconductor memory device
JP3312602B2 (en) Semiconductor storage device
JP3892078B2 (en) Semiconductor memory device
US5235691A (en) Main memory initializing system
JPH03187095A (en) Multiport memory controller
US6029235A (en) Automatic reloading of serial read pipeline on last bit transfers to serial access memory
JP2652079B2 (en) Data transmission equipment
KR20020054506A (en) method for maintaining data coherency in late-select type semiconductor memory device and data coherency maintaining circuit therefore
JPH03173995A (en) Multiport random access memory
JPH05189296A (en) Simultaneous writing access device for single-bit memory
KR0150495B1 (en) Semiconductor memory device
JPH09311812A (en) Microcomputer
EP0687984A1 (en) Data processing system having an address/data bus directly coupled to peripheral device
US5542063A (en) Digital data processing system with facility for changing individual bits