JPH0553902A - メモリ制御回路 - Google Patents

メモリ制御回路

Info

Publication number
JPH0553902A
JPH0553902A JP3215185A JP21518591A JPH0553902A JP H0553902 A JPH0553902 A JP H0553902A JP 3215185 A JP3215185 A JP 3215185A JP 21518591 A JP21518591 A JP 21518591A JP H0553902 A JPH0553902 A JP H0553902A
Authority
JP
Japan
Prior art keywords
address
fifo
memory
data
control circuit
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
JP3215185A
Other languages
English (en)
Inventor
Shinji Ozaki
信次 尾崎
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.)
SHIYUULE SYST KK
Original Assignee
SHIYUULE SYST KK
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 SHIYUULE SYST KK filed Critical SHIYUULE SYST KK
Priority to JP3215185A priority Critical patent/JPH0553902A/ja
Publication of JPH0553902A publication Critical patent/JPH0553902A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 複数のマイクロプロセッサによる共通のメモ
リへのアクセスにおいてデュアルポートRAM機能、F
IFO機能,DMA機能などの設定が可能なメモリ制御
回路を提供する。 【構成】 バスアービタ回路は、メモリに対するアクセ
スの優先順位を調停し、優先順位の高いマイクロプロセ
ッサのアドレスとデータを選択するアドレス切替信号と
データ切替信号を出力し、優先順位の低いマイクロプロ
セッサにアクセスを待機させる信号を出力する。これに
よりデュアルポートRAM機能を実現する。また、レジ
スタにアクセスし、マイクロプロセッサによりメモリの
所定のエリアをFIFOエリアとして設定する。このF
IFOエリアに対しアクセスがあると、FIFO制御回
路は、FIFO制御を行う。また、FIFOエリアに対
してDMA制御を行う。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数のマイクロプロセ
ッサによる共通メモリへの通信を制御するメモリ制御素
子に関する。
【0002】
【従来の技術】マイクロプロセッサを使ったシステムに
おいて、システム全体を管理・制御するマスターCPU
とは別に、1部の入出力制御や演算機能を別のスレーブ
CPUが受け持って、分散して処理を行い、システム全
体の効率を上げることは既によく行なわれている。
【0003】このとき、マスターCPUとスレーブCP
Uの間でデータの送受信が行われるが、このデータの受
け渡しのために、従来は次のような方法を用いていた。 (a)マスターCPUとスレーブCPUの双方からアク
セスできるデュアルポートRAMを用いる。 (b)標準のRAMを周辺回路でデュアルポート化させ
て双方からアクセスする。 (c)先入れ先出し機能を持ったFIFO(ファースト
イン・ファーストアウト)メモリを用いる。
【0004】
【発明が解決しようとする課題】しかし、これらの方法
には、次のような問題があった。 (a),(b)は、専用ICが必要であり、記憶できる
容量が初めから決まっており、記憶容量は小さい。ま
た、専用ICは高価である。 (b),(c)は、周辺回路がかなり大きく、余分な基
板面積が必要になる。 (a),(b)は、高速データ転送をおこなうためのD
MA転送がしにくい。 (c)は、1本では必要な機能を得ることはできず、複
数本と周辺回路を必要として、特に大きな基板面積と費
用を必要とする。また、互いに相手のCPUに割り込み
をかけるには、特別の回路が必要となり、通信のタイミ
ングがとりにくく、制御プログラムも複雑である。 そこで、CPU間のデータの受け渡しにおいて、これら
の各種機能を組み合わせると、その相乗効果が大きいと
考えられる。
【0005】本発明の目的は、複数のマイクロプロセッ
サによる共通のメモリへのアクセスにおいてデュアルポ
ートRAM機能、FIFO機能、DMA機能などの設定
が可能なメモリ制御回路を提供することである。
【0006】
【課題を解決するための手段】本発明に係る第1のメモ
リ制御回路は、2個のマイクロプロセッサから共通のメ
モリへの通信を制御するメモリ制御回路であって、2個
のマイクロプロセッサからのアクセス要求信号について
メモリに対するアクセスの優先順位を調停し、優先順位
の高いマイクロプロセッサのアドレスとデータを選択す
るアドレス切替信号とデータ切替信号を出力し、優先順
位の低いマイクロプロセッサにアクセスを待機させる信
号を出力するバスアービタ回路と、マイクロプロセッサ
によりメモリの所定のエリアをFIFOエリアとして設
定するためのレジスタを備えるFIFOエリア設定回路
と、上記の2個のマイクロプロセッサからのアドレスラ
インに接続され、上記のFIFOエリアに対しアクセス
が要求されたとき、書き込みの場合に先頭アドレスから
順番に書込アドレスを表すFIFOアドレス信号を発生
し、読み出しの場合に先頭アドレスから順番に読出アド
レスを表すFIFOアドレス信号を発生するFIFO制
御回路と、上記の2個のマイクロプロセッサのアドレス
ラインに接続され、FIFOエリア以外に対してバスア
ービタ回路からのアドレス切替信号に対応するアドレス
を選択してメモリに出力し、FIFO制御回路からFI
FOアドレス信号が入力されたときはそのアドレスをメ
モリに出力するアドレス切替回路と、上記の2個のマイ
クロプロセッサのデータラインに接続され、バスアービ
タ回路からのデータ切替信号に対応するデータラインを
選択してメモリに接続するデータ切替回路とからなるこ
とを特徴とする。本発明に係る第2のメモリ制御回路
は、2個のマイクロプロセッサから共通のメモリへの通
信を制御するメモリ制御回路であって、上記の2個のマ
イクロプロセッサからメモリに対しアクセスが要求され
たとき、書き込みの場合に先頭アドレスから順番に書込
アドレスを表すFIFOアドレス信号を発生し、読み出
しの場合に先頭アドレスから順番に読出アドレスを表す
FIFOアドレス信号を発生するFIFO制御回路と、
上記の2個のマイクロプロセッサのデータラインに接続
され、アクセスを要求したマイクロプロセッサに対応す
るデータラインを選択してメモリに接続するデータ切替
回路と、上記の2個のマイクロプロセッサからのDMA
制御信号に対応して、FIFO制御回路の制御の下でア
クセスがなされる上記のメモリとの間でのDMA転送を
制御するDMA制御回路と、上記のメモリにおける記憶
データの残量が所定の値を越える場合にDMA制御回路
を起動可能とするDMA起動回路を備えることを特徴と
する。
【0007】
【作用】本発明に係る第1のメモリ制御回路は、複数の
マイクロプロセッサから1つのメモリをデュアルポート
RAM、FIFOメモリとしてアクセスできるように制
御する。このため、マイクロプロセッサから各種制御デ
ータをアクセスできるレジスタを備え、このレジスタを
基にFIFOエリアを任意の位置に設定できる。そし
て、FIFO制御回路、アドレス切替回路、データ切替
回路によりFIFOメモリとして使用する。また、バス
アービタ回路、アドレス切替回路、データ切替回路によ
りFIFOエリアの外の位置でデュアルポートRAMと
して使用できる。本発明に係る第2のメモリ制御回路
は、複数のマイクロプロセッサから1つのメモリをFI
FO制御回路によりFIFOメモリとしてアクセスで
き、かつDMA制御回路をある条件の下で起動可能とす
ることによりDMA転送が可能である。
【0008】
【実施例】以下、図面を参照して本発明による実施例に
ついて説明する。 (a)マルチプロセッサシステムの構成 図1は、本発明の実施例のメモリ制御素子100を用い
たマルチプロセッサシステムのブロック図を示す。メモ
リ制御素子100は、マスターCPU200及びスレー
ブCPU300と、アドレスライン(16ビット)、デ
ータライン(8ビット)、制御信号ラインを通して接続
される。メモリ制御素子100は、CPU200、30
0により制御され、この制御の下で、アドレスライン
(16ビット)、データライン(8ビット)、各種制御
信号ラインを通して、共通のRAM400をアクセスす
る。図示しないが、各CPU200、300は、それぞ
れ、システムROM,システムRAM、ユーザーロジッ
ク回路などに接続されて、1つのシステムを構成してい
る。
【0009】スレーブCPU300とメモリ制御素子1
00との間のアクセスのため、スレーブCPU300か
ら、アドレスを送るアドレス信号SAD0〜15、データ
を送るデータ信号SDT0〜7、RAM400におけるデ
ュアルポートRAMエリア,FIFOエリアなどをアク
セスするときアサートするメモリセレクト信号SME、
メモリ制御素子100の内部レジスタをアクセスすると
きアサートする信号SIOE、読み出しのための読出イ
ネーブル信号SRE、書き込みのための書込イネーブル
信号SWEが送られる。一方、メモリ制御素子100か
ら、メモリアクセスのときに同時にアクセスが起こった
り、一方がアクセス中に他方からアクセス要求を出した
ときに待機させるためのウエイト信号SACTを出力す
る。この信号は、RAM400のアクセスタイムがCP
Uの速度に対応出来ないときのウエイト信号にもなる。
割り込みのため、スレーブCPU300に割り込みをか
けるための割込要求信号SINT、割込ベクターをデー
タバスを通してスレーブCPU300に送る割込アクノ
ーレッジ信号SIAK、割込ベクター転送時のディジー
チェーン接続のための入力信号SIAIと出力信号SI
AOが通信される。さらに、DMA転送制御のために、
DMA要求信号SDRQ、データのDMA転送を開始す
るためのDMAアクノーレッジ信号SDAK、DMA転
送の終了の確認のためのDMA終了信号SDTCが通信
される。
【0010】同様に、マスターCPU200とメモリ制
御素子100との間のアクセスのため、マスターCPU
200から、アドレスを送るアドレス信号HA
0〜15、データを送るデータ信号HDT0〜7、デュア
ルポートRAMエリア,FIFOエリアなどをアクセス
するときアサートするアクセスセレクト信号HCE、読
み出しのための読出イネーブル信号HRE、書き込みの
ための書込イネーブル信号HWEが送られる。一方、メ
モリ制御素子100から、メモリアクセスのときに同時
にアクセスが起こったり、一方がアクセス中に他方から
アクセス要求を出したときに待機させるためのウエイト
信号HACTを出力する。この信号は、RAM400の
アクセスタイムがCPUの速度に対応出来ないときのウ
エイト信号にもなる。割り込みのため、マスターCPU
200に割り込みをかけるための割込要求信号HIN
T、割込ベクターをデータバスを通してマスターCPU
200に送る割込アクノーレッジ信号HIAK、割込ベ
クター転送時のディジーチェーン接続のための入力信号
HIAIと出力信号HIAOが通信される。さらに、D
MA転送制御のために、DMA要求信号HDRQ、デー
タのDMA転送を開始するためのDMAアクノーレッジ
信号HDAK、DMA転送の終了の確認のためのDMA
終了信号HDTCが通信される。
【0011】RAM400は、後で詳しく説明するよう
に、通常のRAM(シングルポートRAM)として使用
できるとともに、デュアルポートRAM、FIFOメモ
リとしても使用できる。図2は、RAM400のアドレ
スマップの一例を示す。本実施例では、1個のデュアル
ポートRAMエリア402と4個のFIFOエリア40
4、405、406、407が設けられている。ここ
に、FIFOエリア404〜407はCPUから任意に
設定でき、それぞれ、後に説明する4個のFIFO制御
回路20に対応する。また、これらのFIFOエリア4
04〜407と特定のアドレス(割り込みなどに用い
る)とを除いたエリアは、任意にデュアルポートRAM
エリアとして設定できる。
【0012】また、メモリ制御素子100とRAM40
0の間は、RAM400へのアドレス信号RAD、RA
M400へのデータ信号RDT、RAM400へのアク
セスのときにアサートするアクセスセレクト信号RC
E、読み出しのためのRAM読出イネーブル信号RR
E、書き込みのための書込イネーブル信号RWE0〜3
通信される。信号RWEが4本であるのは、8ビット幅
だけでなく、16、32ビット幅のCPU、RAMに対
応可能にするためである。
【0013】ここで、スレーブCPU300のアドレス
ラインSADは、任意の本数でいいが、一般的にはスレ
ーブCPU300と共通RAM400への本数は、同じ
数とすることによって、スレーブCPU300からRA
M400の全エリアにアクセスできるようにする。マス
ターCPU200のアドレスラインHADは、標準的な
使い方をするには、スレーブCPUのアドレスライン数
より少なくてもよいが、汎用性を持たせるためにスレー
ブCPU300と同じ数にする。そして、上位アドレス
は内部でデコードされる。本実施例では、アドレスライ
ン数は、16本として、212=64kワードまでサポー
トしている。各データラインSDT,HDTも、任意の
本数でいいが、コンピュータ業界の標準の最低数である
8本とした。
【0014】また、外部にバッファを付けることによっ
て、16、32ビットのCPUに対してもサポートす
る。すなわち、8ビット以上の幅のデータを扱うため
に、各CPU200、300とRAM400の間にそれ
ぞれデータバッファ410、420を設け、32ビット
幅までのデータをメモリ制御素子100からの制御信号
により扱えるようにする。これにより、ホストCPU2
00とスレーブCPU300のデータ幅が違っても、両
者の間で自然にデータ変換ができる。すなわち、バッフ
ァ410は、スレーブCPU300の8ビット目以降の
データラインと接続され、かつRAM400のデータラ
インと接続される。そして、メモリ制御素子100か
ら、バッファ420の制御信号SDBE0〜3とバッファ
の方向指定信号DBDIがバッファ410に送られる。
これにより、8ビット単位でデータ幅の拡張が可能にな
る。同様に、バッファ420はマスターCPU200の
8ビット目以降のデータラインと接続され、かつRAM
400のデータラインと接続される。そして、メモリ制
御素子100から、バッファ410の制御信号HDBE
とバッファの方向指定信号DBDIがバッファ410に
送られる。
【0015】一般的には、マスターCPU200は、簡
単なマクロ命令を与え、その後のローカルな仕事は、ス
レーブCPU300に任せてしまうようにする。スレー
ブCPU300は、ローカルなもろもろの処理と共に、
メモリ制御素子100の機能設定などを行なう。本メモ
リ制御素子100を制御するための各種データは、スレ
ーブCPU300側から信号SIOEで本メモリ制御素
子内のレジスタ12(図3)に書き込む。マスターCP
U200は、スレーブCPU300が処理した最終的な
データを受け取り、システム全体の制御を行なう。そこ
で、マスターCPU200からのアクセスが簡単になる
ようなシステム構成をとる。
【0016】なお、その他の制御信号も、コンピュータ
業界の標準のCPU、RAMに合わせる。何本かの制御
信号の機能は、プログラマブルにし、種類の異なるCP
Uにも対応可能にする。
【0017】なお、現在、ICの集積度の関係で、メモ
リ制御素子100と共通RAM400は別のチップにな
っているが、将来は1チップにまとめることが可能であ
る。そうすれば、ICのピン数も大幅に少なくなり、必
要基板面積は非常に小さくなる。このとき、RAMは標
準の単純なものでよいため、比較的簡単に大容量の素子
を作ることができる。
【0018】(b)メモリ制御回路の構成 メモリ制御素子100は、図3に示すように、より詳細
には、バスアービタ・制御回路(図4参照)10、FI
FO制御回路(図5参照)20、アドレス切替回路3
0、データ切替回路40およびDMA制御回路(図6参
照)50からなる。これらの回路は、1個のモノリシッ
ク集積回路に一体化される。
【0019】バスアービタ・制御回路10は、双方のC
PU200、300からのアクセス要求が起きたときに
優先順位を決め、それに対応した制御を行なう回路であ
り、CPU200、300から、それぞれ、アクセス要
求信号、アドレス信号を受け取る。バアスービタ・制御
回路10は、バスアービタ回路11、スレーブCPU3
00からアクセスできる各種レジスタ12の外、各種制
御回路(図4のFIFO書込・読出信号発生回路や、図
6のDMA起動回路など)を備えている。バスアービタ
回路11は、優先順位のあるCPUのアドレスライン、
データラインを選択するためのアドレス切替信号、デー
タ切替信号をアドレス切替回路30、データ切替回路4
0に送り、そのアドレスライン、データラインをライン
RAD,RDTを介してRAM400に接続させる。さ
らに、RAM400に読み書きなどのRAM制御信号
(RCE,RRE,RWE)を送る。そして、他方のC
PUには、ウエイト信号などを送り、アクセスを待機さ
せる。これによって、標準シングルポートRAMに対す
るデュアルポートRAM制御を行なう。
【0020】レジスタ12にはスレーブCPU300か
ら信号SIOEでアクセスでき、各種の値がセットされ
る。この値を基に各種の制御が行われる。レジスタ12
にセットされる値には、マスターアドレスの長さ(デュ
アルポートRAM上の容量)、そのRAM上の位置(上
記のデコードされたアドレス)、マスターアクセス上の
位置デコードデータ、FIFOエリアのRAM上の位
置、FIFOエリアの長さ、マスター/スレーブCPU
からアクセスするときのレジスタ上の位置、FIFOの
方向、マスター/スレーブCPUへ割り込みをかけると
きの条件、DMA動作を可能とするかどうか、DMA動
作開始の条件などがある。
【0021】双方のCPU200、300からレジスタ
12にFIFOエリアとして設定されている特定のアド
レス(このアドレスはプログラマブルに設定できる。)
にアクセスすると、FIFO(先入れ先出し)の動作を
行なう。レジスタ12には、FIFO転送方向を設定す
るFIFO方向ビットも設定されている。バスアービタ
・制御回路10の中のFIFO書込・読出信号発生回路
(図4参照)は、FIFOエリアにアクセスするアドレ
スを検出すると、FIFO書込命令、FIFO読出命令
をFIFO制御回路20に送る。FIFO制御回路20
は、複数個(ここでは4個)からなり、その個数分のF
IFO制御回路として動作する。FIFO制御回路20
は、データの方向にしたがって、データ書き込みまたは
読み込みのカウンタのアドレスデータを選び、アドレス
切替回路30に読み書きのアドレスを表すFIFOアド
レス信号を送る。
【0022】アドレス切替回路30は、両CPU20
0、300からアドレスを受け取り、アービタ・制御回
路10からのアドレス切替信号により選択されたアドレ
スを、RAM400にアドレスとして送る。また、FI
FO制御モードでは、FIFO制御回路20から受け取
ったFIFOアドレス信号を優先的にRAM400にア
ドレスとして送る。
【0023】データ切替回路40は、両CPU200、
300からのデータラインを、アービタ・制御回路10
からのデータ切替信号により選択し、RAM400に接
続する。
【0024】また、DMA起動において、バスアービタ
・制御回路10は、CPUからDMA制御信号を受け取
ると、レジスタのDMA可能ビットを設定してDMA転
送の方向を設定するとともに、DMA制御回路50を起
動し、所定のFIFOエリアに対してDMA転送を行う
(図6参照)。なお、DMA制御回路50は、マスター
CPU200に対するDMA制御を行なうDMA制御回
路52HとスレーブCPU300に対するDMA制御を
行なうDMA制御回路52Sとからなる。DMA制御回
路52H,52Sとしては、従来から知られた回路を用
い、DMA転送について、1ワードづつ転送するシング
ルモードとまとめて転送するバーストモードおよびメモ
リからメモリへのデュアルアドレスモードとメモリから
I/Oポートへのシングルアドレスモード等をサポート
できる。
【0025】双方のCPUから一定の条件で他方のCP
Uに対して上述の各種割込信号を用いて割り込みをかけ
ることができる。割り込みをかけることができる条件は
以下のとおりである。 1.特定のアドレスへの読み出しによる割り込み。(こ
の特定のアドレスはプログラマブルであり、スレーブC
PU300から設定できる。) 2.FIFOエリアへのデータ蓄積量が、特定の値にな
ったとき。 3.スレーブCPU300から特定のレジスタにデータ
を書き込むことによって、マスターCPU200に割り
込みをかける。 もちろん、割り込みをかけるか否かはプログラマブルに
なっており、ユーザーは必要な条件のときにのみ割り込
みをかけるように設定を行なう。たとえば、バスアービ
タ・制御回路10内のマスターCPU200とスレーブ
CPU300に対する割込制御回路18H,18Sが条
件(2)を検出すると、CPUに割込制御信号が送られ
る。
【0026】(c)デュアルポートRAM機能 RAM400は、マスターCPU200、スレーブCP
U300から通常のRAM(シングルポートRAM)と
してアクセスできる。また、同時にアクセスが起こった
り、一方がアクセス中に他方がアクセス要求を出したと
き、バスアービタ11により優先順位が決定され、一方
のCPUのアドレスライン、データラインを切替回路3
0、40を通してRAM400と接続し、他方のCPU
にウエイト信号を出して待機させる。この制御をデュア
ルポートRAM制御という。
【0027】デュアルポートRAMエリアとしては、R
AM400において、スレーブCPU300からの割り
込みステータスに使用する特定のアドレスとFIFOエ
リアとして設定されたエリア以外の任意の位置に設定で
きる。本実施例では、スレーブCPU300とRAM4
00のアドレスエリアは等しくし、スレーブCPU30
0は、RAM400の全エリアをアクセスできる。マス
ターCPU200からのアクセスエリアは狭いのが一般
的である。最低2ワードでアクセスできる。2ワードの
レジスタをセレクトするには、1ビットのアドレスでよ
い。マスターCPU200から、1ビットのアドレスを
含む16ビットの入力があれば、残りの15ビットを内
部でデコードしてアドレスを決定すれば、外部回路が少
なくてすむ。既に述べたように、マスターアドレスの長
さ(デュアルポートRAM上の容量)、そのRAM上の
位置(上記のデコードされたアドレス)、マスターアク
セス上の位置デコードデータなどは、すべてプログラマ
ブルであり、スレーブCPU300からメモリ制御素子
100内のレジスタ12に設定できる。
【0028】(d)FIFO機能 共通RAM400の任意の位置をFIFOのデータエリ
アと設定できる。各FIFOエリアに対して1個のFI
FO制御回路20が設けられ、全体で複数個(本実施例
では4個)必要である。
【0029】既に述べたように、FIFOエリアのRA
M400上の位置、FIFOエリアの長さ、マスター/
スレーブCPUからアクセスするときのレジスタ上の位
置、FIFOの方向、マスター/スレーブCPUへ割り
込みをかけるときの条件、DMA動作を可能とするかど
うか、DMA動作開始の条件などは、各FIFOエリア
に対して独立にプログラマブルであり、スレーブCPU
300から信号SIOEでレジスタ12にアクセスでき
る。
【0030】図4は、バスアービタ・制御回路10の中
のFIFO書込・読出信号発生回路を示す。レジスタ1
2のFIFOエリアのRAM400上の位置のデータか
ら、FIFOエリアがアクセスされているか否かが判定
できる。各FIFO制御回路10毎に、両CPU20
0、300からFIFOエリアをアクセスするためのマ
スターCPUデコードデータレジスタ12H,スレーブ
CPUデコードデータレジスタ12SおよびFIFOデ
ータ転送方向を示すFIFOデータ方向ビットを格納す
る方向レジスタ12Dを備える。(これらのレジスタ1
2H,12S,12Dはレジスタ12の一部を構成す
る。)アドレス比較回路13H、13Sは、それぞれ、
両CPUからのアドレスデータをレジスタ12H,12
Sのデコードデータと比較し、その結果をANDゲート
14H,15H、14S,15Sに送る。マスター書込
イネーブル信号HWEとマスター読出イネーブル信号H
REは、それぞれ、ANDゲート14Hと15Hに入力
される。スレーブ書込イネーブル信号SWEとスレーブ
読出イネーブル信号SREは、それぞれ、ANDゲート
14Sと15Sに入力される。また、レジスタ12Dの
出力は、ANDゲート14S,15Hに入力され、ま
た、インバータを介してANDゲート14H,15Sに
入力される。ORゲート16Sは、ANDゲート14H
と14Sの出力を入力し、FIFO書込命令をFIFO
制御回路20に出力し、また、ORゲート16Hは、A
NDゲート15Hと15Sの出力を入力し、FIFO読
出命令を出力する。
【0031】方向レジスタ12DのFIFOデータ方向
ビットが”0”であるとき、データ方向はマスターから
スレーブの方向であり、マスターCPU200のHWE
信号がアサートされアドレスが等しいと、FIFO書込
命令が出され、FIFOエリアにデータが書き込まれ
る。また,スレーブCPU300のSRE信号がアサー
トされアドレスが等しいと、FIFO読出命令が出さ
れ、FIFOエリアのデータが読み出される。
【0032】方向レジスタ12DのFIFOデータ方向
ビットが”1”であるとき、データ方向はスレーブから
マスターの方向であり、スレーブCPU300のSWE
信号がアサートされアドレスが等しいと、FIFO書込
命令が出され、FIFOエリアにデータが書き込まれ
る。また,マスターCPU200のSRE信号がアサー
トされアドレスが等しいと、FIFO読出命令が出さ
れ、FIFOエリアのデータが読み出される。
【0033】図5は、1個のFIFO制御回路20の主
要部のブロック図を示す。FIFO制御回路20は、F
IFOデータエリアスタートレジスタ22、データ書込
カウンタ24、データ読出カウンタ25、アドレス切替
回路26、減算器28からなる。
【0034】FIFOデータエリアスタートレジスタ2
2に、FIFOに使うRAM400のエリア(FIFO
エリア)の最初のアドレスデータが書き込まれ、このデ
ータは、書き込みの直後に、データ書込カウンタ24と
データ読出カウンタ25に転送される。FIFOエリア
にデータを書き込むと、データ書込カウンタ24のデー
タ(アドレス)が切替回路26を通り、さらにアドレス
切替回路30を通して、RAM400のアドレスライン
に送られる。データがRAM400に書き込まれた後
に、データ書込カウンタ24は1だけカウントアップさ
れる。次にデータを書き込むときは、同様に、カウント
アップされたアドレスにデータが書き込まれ、データ書
込カウンタ24は、また、カウントアップされる。一
方、FIFOエリアのデータを読み出すと、データ読出
カウンタ25のデータ(アドレス)が、切替回路26を
通り、さらにアドレス切替回路30を通して、RAM4
00のアドレスラインに送られる。データがRAM40
0に書き込まれた後に、データ読出カウンタ25は1だ
けカウントアップされる。次にデータを読み出すとき
は、同様に、カウントアップされたアドレスからデータ
が読み込まれ、データ読出カウンタ25は、また、カウ
ントアップされる。減算器28は、データ書込カウンタ
24とデータ読出カウンタ25のデータの差を演算し、
CPUに送り出す。この値は、FIFOエリアに記憶さ
れたデータの残量を示す。
【0035】(e)DMA機能 4つのFIFOエリアの中の特定のFIFOエリアに対
して、マスターCPU200、スレーブCPU300か
らDMA転送も可能である。CPU200、300から
レジスタ12のDMA可能ビットを立てることにより、
DMA動作が可能になる。このFIFOエリアは、物理
的にはRAM400上に展開しているため、一方のCP
UからFIFOエリアに書き込まれたデータを、他方
は、デュアルポートRAM上のデータとして読み出すこ
とができる。
【0036】図6は、バスアービタ・制御回路10にお
けるDMA起動のための回路図を示す。DMA制御回路
50は、マスターCPU200とのDMA転送を制御す
るDMA制御回路52Hと、スレーブCPU300との
DMA転送を制御するDMA制御回路52Sとからな
る。FIFO制御回路20の減算器28の出力は、FI
FOエリアでのデータ残量を示す。この値は、そのまま
スレーブCPU300に読まれるとともに、FIFO残
量検出回路17に入力され、その値を基にFIFO残量
ステータス信号が出力される。FIFO残量ステータス
信号には、FIFO容量一杯のデータが入っていること
を示すFull信号、FIFO容量満杯に近いことをし
めすAlmost Full信号、FIFO容量の半分
であることを示すHalf信号、FIFOエリアのデー
タが0に近いことを示すAlmost Zero信号、
および、FIFOエリアのデータが0であることを示す
Zero信号がある。これらのFIFO残量ステータス
信号を基に割込制御回路18S,18Hによりそれぞれ
スレーブCPU300、マスターCPU200に割込信
号を出力することができる。また、これらのFIFO残
量ステータス信号を基にDMA制御回路52S,52H
にDMA動作の起動をかけることができる。DMA制御
回路52S,52Hは、それぞれ、スレーブCPU30
0、マスターCPU200とDMAリクエスト信号など
のDMA制御信号を通信し、DMA転送を行う。ここ
に、FIFOエリアにデータを書き込む場合、Unde
r Half,Almost zero、Zeroのど
れかのステータスの立ち上げでDMA動作を開始する。
そして、Full信号にてDMA動作の終了とする。ま
た、FIFOエリアからデータを読み出す場合、Ove
r Half,AlmostFull,Fullのどれ
かのステータスの立ち上げでDMA動作を開始する。そ
して、Zero信号にてDMA動作の終了とする。
【0037】DMA制御回路52S,52Hは、従来の
DMA制御回路と同様のDMA制御を行う。DMA転送
としては、1ワードづつ転送するシングルモードとまと
めて転送するバーストモードおよびメモリからメモリへ
のデュアルアドレスモードとメモリからI/Oポートへ
のシングルアドレスモード等をサポートできる。
【0038】なお、デュアルポート機能を考慮せずに、
FIFO機能とDMA機能とを組み合わせることもでき
る。この場合、メモリ制御素子の構成が簡単になる。メ
モリは全体にFIFOメモリとして使用でき、FIFO
制御回路により制御される。DMA制御回路とDMA起
動のための回路としては、上述の回路がそのまま使用で
きる。ただし、FIFO制御回路からアドレス信号が発
生されるため、アドレス切替回路は不必要であり、ま
た、データ切替回路の構成も簡単になる。
【0039】
【発明の効果】一方のCPU(通常はスレーブCPUで
あるが、マスターCPUでもよい)から本発明に係るメ
モリ制御回路に各種データを設定することにより、デュ
アルポートRAMエリアや、各FIFOデータエリアの
容量を任意の値に設定できるので、ユーザは、欲しい容
量値を自由に設定でき、メモリの使用効率がよい。マス
ターCPUとスレーブCPUの間の命令やステータスの
やり取りは、デュアルポートRAM機能を通して行い、
大量のデータのやり取りは、FIFOメモリ機能を通し
て行なうというように、欲しい機能を自由に組み合わせ
て、効率のよいデータ転送が行える。FIFO機能は、
DMA制御をサポートしており、特に高速のデータ転送
ができる。マスターCPUとスレーブCPUの間に割り
込みをかけることができ、タイミングが取りやすい。マ
スターCPUは、標準的な入出力制御ICに対するのと
同様の方法でアクセスでき、制御プログラムが簡単にな
る。スレーブCPUも、標準の入出力制御ICやメモリ
と同様のアクセスができる。また、大容量のRAMにア
クセスできるために、場合によっては、専用のRAMは
必要なくなり、ICチップの使用量が減らせる。
【図面の簡単な説明】
【図1】メモリ制御素子を用いたマルチプロセッサシス
テムのブロック図である。
【図2】RAMのアドレスマップの図である。
【図3】メモリ制御素子のブロック図である。
【図4】FIFO書込・読出制御回路の図である。
【図5】FIFO制御回路のブロック図である。
【図6】DMA起動のための回路の図である。
【符号の説明】
10: バスアービタ・制御回路、11: バスアービ
タ回路、12: レジスタ、20: FIFO制御回
路、 30: アドレス切替回路、40: データ切替
回路、 50: DMA制御回路、100: メモリ制
御素子、 200:マスターCPU、300: スレー
ブCPU、 400: RAM。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】2個のマイクロプロセッサから共通のメモ
    リへの通信を制御するメモリ制御回路であって、 2個のマイクロプロセッサからのアクセス要求信号につ
    いてメモリに対するアクセスの優先順位を調停し、優先
    順位の高いマイクロプロセッサのアドレスとデータを選
    択するアドレス切替信号とデータ切替信号を出力し、優
    先順位の低いマイクロプロセッサにアクセスを待機させ
    る信号を出力するバスアービタ回路と、 マイクロプロセッサによりメモリの所定のエリアをFI
    FOエリアとして設定するためのレジスタを備えるFI
    FOエリア設定回路と、 上記の2個のマイクロプロセッサからのアドレスライン
    に接続され、上記のFIFOエリアに対しアクセスが要
    求されたとき、書き込みの場合に先頭アドレスから順番
    に書込アドレスを表すFIFOアドレス信号を発生し、
    読み出しの場合に先頭アドレスから順番に読出アドレス
    を表すFIFOアドレス信号を発生するFIFO制御回
    路と、 上記の2個のマイクロプロセッサのアドレスラインに接
    続され、FIFOエリア以外に対してバスアービタ回路
    からのアドレス切替信号に対応するアドレスを選択して
    メモリに出力し、FIFO制御回路からFIFOアドレ
    ス信号が入力されたときはそのアドレスをメモリに出力
    するアドレス切替回路と、 上記の2個のマイクロプロセッサのデータラインに接続
    され、バスアービタ回路からのデータ切替信号に対応す
    るデータラインを選択してメモリに接続するデータ切替
    回路とからなることを特徴とするメモリ制御回路。
  2. 【請求項2】上記のバスアービタ回路、FIFO制御回
    路、アドレス切替回路およびデータ切替回路を1個のモ
    ノリシック集積回路に一体化したことを特徴とする請求
    項1に記載されたメモリ制御回路。
  3. 【請求項3】さらに、上記の2個のマイクロプロセッサ
    からDMA制御信号に対応して、上記のFIFO制御回
    路がデータの読み書きを行えるエリアとの間でDMA転
    送を行うDMA制御回路と、 FIFO制御回路により検出される上記のエリアにおい
    て記憶データの残量が所定の値を越える場合にDMA制
    御回路を起動可能とするDMA起動回路を備えることを
    特徴とする請求項1に記載されたメモリ制御回路。
  4. 【請求項4】2個のマイクロプロセッサから共通のメモ
    リへの通信を制御するメモリ制御回路であって、 上記の2個のマイクロプロセッサからメモリに対しアク
    セスが要求されたとき、書き込みの場合に先頭アドレス
    から順番に書込アドレスを表すFIFOアドレス信号を
    発生し、読み出しの場合に先頭アドレスから順番に読出
    アドレスを表すFIFOアドレス信号を発生するFIF
    O制御回路と、 上記の2個のマイクロプロセッサのデータラインに接続
    され、アクセスを要求したマイクロプロセッサに対応す
    るデータラインを選択してメモリに接続するデータ切替
    回路と、 上記の2個のマイクロプロセッサからのDMA制御信号
    に対応して、上記のFIFO制御回路の制御の下でアク
    セスされる上記のメモリとの間でのDMA転送を制御す
    るDMA制御回路と、 FIFO制御回路により検出される上記のメモリにおけ
    る記憶データの残量が所定の値を越える場合にDMA制
    御回路を起動可能とするDMA起動回路を備えることを
    特徴とするメモリ制御回路。
JP3215185A 1991-08-27 1991-08-27 メモリ制御回路 Pending JPH0553902A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3215185A JPH0553902A (ja) 1991-08-27 1991-08-27 メモリ制御回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3215185A JPH0553902A (ja) 1991-08-27 1991-08-27 メモリ制御回路

Publications (1)

Publication Number Publication Date
JPH0553902A true JPH0553902A (ja) 1993-03-05

Family

ID=16668084

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3215185A Pending JPH0553902A (ja) 1991-08-27 1991-08-27 メモリ制御回路

Country Status (1)

Country Link
JP (1) JPH0553902A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006510332A (ja) * 2002-12-13 2006-03-23 ザイリンクス インコーポレイテッド 集積回路のプログラマブル論理の再構成
JP2007004338A (ja) * 2005-06-22 2007-01-11 Renesas Technology Corp データ処理装置
US7765250B2 (en) 2004-11-15 2010-07-27 Renesas Technology Corp. Data processor with internal memory structure for processing stream data
JP2019053498A (ja) * 2017-09-14 2019-04-04 カシオ計算機株式会社 メモリ制御装置及びメモリ制御方法
JP2022548640A (ja) * 2019-09-17 2022-11-21 マイクロン テクノロジー,インク. 統合されたデータムーバーを有するメモリチップ

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006510332A (ja) * 2002-12-13 2006-03-23 ザイリンクス インコーポレイテッド 集積回路のプログラマブル論理の再構成
US7765250B2 (en) 2004-11-15 2010-07-27 Renesas Technology Corp. Data processor with internal memory structure for processing stream data
JP2007004338A (ja) * 2005-06-22 2007-01-11 Renesas Technology Corp データ処理装置
JP2019053498A (ja) * 2017-09-14 2019-04-04 カシオ計算機株式会社 メモリ制御装置及びメモリ制御方法
JP2022548640A (ja) * 2019-09-17 2022-11-21 マイクロン テクノロジー,インク. 統合されたデータムーバーを有するメモリチップ

Similar Documents

Publication Publication Date Title
US6742063B1 (en) Method and apparatus for efficient transfer of data packets
US5119480A (en) Bus master interface circuit with transparent preemption of a data transfer operation
WO2004017179A2 (en) Memory hub bypass circuit and method
JP2004171209A (ja) 共有メモリデータ転送装置
EP0508634B1 (en) Memory access for data transfer within an I/O device
US7096307B2 (en) Shared write buffer in a peripheral interface and method of operating
JPH0553902A (ja) メモリ制御回路
JP2004318628A (ja) 演算処理装置
JP2565916B2 (ja) メモリアクセス制御装置
JP2002278922A (ja) コンピュータバスシステム
JPH07160655A (ja) メモリアクセス方式
JP2001084173A (ja) メモリ装置
JPH04365160A (ja) データ転送装置
JPH02207363A (ja) データ転送制御方式、デバイスコントローラ、およびメモリ・コントローラ
JPS63292356A (ja) Dma制御装置
JP2803616B2 (ja) 入出力バスインタフェース制御方式
JPS63279359A (ja) マルチcpuのデ−タ受け渡し装置
JPH03262063A (ja) Dma転送のバス制御回路
JPH02211571A (ja) 情報処理装置
JP2006195810A (ja) メモリコントローラおよび高速データ転送方法
JPH0452948A (ja) 入出力制御装置におけるデータ転送方式
WO1993010499A1 (en) Device for transmission of data
JPH0786852B2 (ja) I/oプロセッサのデータ転送方式
JP2000035939A (ja) インテリジェント型pcアドインボード
JPH07244633A (ja) インタフェース装置