JP3317819B2 - シングルポートramの2ポートアクセスの制御方式 - Google Patents
シングルポートramの2ポートアクセスの制御方式Info
- Publication number
- JP3317819B2 JP3317819B2 JP19951195A JP19951195A JP3317819B2 JP 3317819 B2 JP3317819 B2 JP 3317819B2 JP 19951195 A JP19951195 A JP 19951195A JP 19951195 A JP19951195 A JP 19951195A JP 3317819 B2 JP3317819 B2 JP 3317819B2
- Authority
- JP
- Japan
- Prior art keywords
- update
- port
- address
- data
- read
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Description
【0001】
【発明の属する技術分野】本発明はシングルポートRA
Mにより2ポートアクセスを行うためのRAM制御方式
に関する。
Mにより2ポートアクセスを行うためのRAM制御方式
に関する。
【0002】従来,2ポートアクセスを行う場合には,
デュアルポートRAMを使用するのが一般的であるが,
シングルポートRAMによる2ポートアクセスを行う場
合がある。
デュアルポートRAMを使用するのが一般的であるが,
シングルポートRAMによる2ポートアクセスを行う場
合がある。
【0003】両ポートの同時アクセスが無い場合には,
シングルポートRAMでも2ポート使用が可能である。
シングルポートRAMによる2ポートアクセスを行う場
合,メモリ領域を2分割して,その分割した領域をそれ
ぞれのポートとして使用する方法が一般的である。
シングルポートRAMでも2ポート使用が可能である。
シングルポートRAMによる2ポートアクセスを行う場
合,メモリ領域を2分割して,その分割した領域をそれ
ぞれのポートとして使用する方法が一般的である。
【0004】2ポートの一方のポートを元のデータ内容
を更新する更新ポートとし,他方のポートを読み出しポ
ートとして使用する場合,一方のポートでデータの更新
を行い,CPUがその更新内容を読み出したい場合は,
そのポートを読み出しポートに切り換える。その場合,
他方のポートは更新ポートになる。但し,両ポートの同
時アクセスは無いことがシングルポートRAMを使える
条件であるため,CPUは更新ポートでのアクセスが無
い空き時間にデータの読み出しを行う。
を更新する更新ポートとし,他方のポートを読み出しポ
ートとして使用する場合,一方のポートでデータの更新
を行い,CPUがその更新内容を読み出したい場合は,
そのポートを読み出しポートに切り換える。その場合,
他方のポートは更新ポートになる。但し,両ポートの同
時アクセスは無いことがシングルポートRAMを使える
条件であるため,CPUは更新ポートでのアクセスが無
い空き時間にデータの読み出しを行う。
【0005】このように更新と読み出しを行うシングル
ポートRAMの2ポートアクセスを使用する場合,ある
時点から更新を開始したい時,前回の更新データが残っ
たまま更新を行うと正しいデータの蓄積が行えないの
で,開始するアドレスに対応する両ポートのクリアを行
う必要がある。しかし,両ポート同時アクセスが不可能
であるため,両ポートの同時クリアが困難であった。
ポートRAMの2ポートアクセスを使用する場合,ある
時点から更新を開始したい時,前回の更新データが残っ
たまま更新を行うと正しいデータの蓄積が行えないの
で,開始するアドレスに対応する両ポートのクリアを行
う必要がある。しかし,両ポート同時アクセスが不可能
であるため,両ポートの同時クリアが困難であった。
【0006】
【従来の技術】図7は従来例の説明図であり,A.は構
成例,B.はシングルポートRAMの2ポートアクセス
の概念,C.は各ポートの更新動作と読み出し動作のタ
イミングを示す図である。
成例,B.はシングルポートRAMの2ポートアクセス
の概念,C.は各ポートの更新動作と読み出し動作のタ
イミングを示す図である。
【0007】図7のA.において,90はシングルポー
トのRAM,91はRAM90に対するアドレス(nビ
ットで構成)を更新制御部92からのセレクト信号によ
り切り換え選択するセレクタ(SEL),92はCPU
(図示せず)からの読み出し指示aに対する読み出し終
了信号bを作成すると共に,更新ポート用の書き込みア
ドレスc(n−1ビット)とその切り換え信号dを発生
する更新制御部,93は更新のために読み出したデータ
hを一時保持するラッチ,94はラッチ93のデータi
に更新処理(例えば,+1の加算処理)を行い更新結果
である書き込みデータjを発生する更新部,95はCP
Uへの読み出し動作時に駆動されてデータを保持するラ
ッチである。
トのRAM,91はRAM90に対するアドレス(nビ
ットで構成)を更新制御部92からのセレクト信号によ
り切り換え選択するセレクタ(SEL),92はCPU
(図示せず)からの読み出し指示aに対する読み出し終
了信号bを作成すると共に,更新ポート用の書き込みア
ドレスc(n−1ビット)とその切り換え信号dを発生
する更新制御部,93は更新のために読み出したデータ
hを一時保持するラッチ,94はラッチ93のデータi
に更新処理(例えば,+1の加算処理)を行い更新結果
である書き込みデータjを発生する更新部,95はCP
Uへの読み出し動作時に駆動されてデータを保持するラ
ッチである。
【0008】セレクタSEL91に供給される更新ポー
ト面指示信号eは,CPUから供給される1ビットの信
号であり,シングルポートのRAMを2分割した場合
の,更新する領域が上位領域のポートか下位領域のポー
トかを指示し,更新用アドレスの最上位のビットを表
す。
ト面指示信号eは,CPUから供給される1ビットの信
号であり,シングルポートのRAMを2分割した場合
の,更新する領域が上位領域のポートか下位領域のポー
トかを指示し,更新用アドレスの最上位のビットを表
す。
【0009】更新用アドレスの残りのn−1ビットは更
新制御部92から信号cとして発生し,更新ポート面指
示信号eと合わせてnビットの更新アドレスとしてセレ
クタ91の端子1へ供給される。CPU読み出しアドレ
スf(nビット)はセレクタ91の端子0へ供給され
る。セレクタ91は更新制御部92から発生するセレク
タ信号dにより制御され,信号dがH(ハイレベル信
号)の場合は端子1の更新用アドレスを選択し,信号d
がL(ロウレベル信号)の場合は端子0のCPU読み出
しアドレスを選択して,アドレスg(nビット)を出力
する。
新制御部92から信号cとして発生し,更新ポート面指
示信号eと合わせてnビットの更新アドレスとしてセレ
クタ91の端子1へ供給される。CPU読み出しアドレ
スf(nビット)はセレクタ91の端子0へ供給され
る。セレクタ91は更新制御部92から発生するセレク
タ信号dにより制御され,信号dがH(ハイレベル信
号)の場合は端子1の更新用アドレスを選択し,信号d
がL(ロウレベル信号)の場合は端子0のCPU読み出
しアドレスを選択して,アドレスg(nビット)を出力
する。
【0010】図7のB.により従来のシングルポートR
AMの2ポートアクセスを説明すると,16進で表示す
ると00〜FFのアドレスを持つシングルポートRAM
を半分に分割し,アドレスの最上位ビットが0の領域A
(アドレス00〜7F)と最上位ビットが1の領域B
(アドレス80〜FF)の2つに分かれ,各領域に対し
てポートA,ポートBが対応して設けられていると想定
する。
AMの2ポートアクセスを説明すると,16進で表示す
ると00〜FFのアドレスを持つシングルポートRAM
を半分に分割し,アドレスの最上位ビットが0の領域A
(アドレス00〜7F)と最上位ビットが1の領域B
(アドレス80〜FF)の2つに分かれ,各領域に対し
てポートA,ポートBが対応して設けられていると想定
する。
【0011】この場合,図7のC.に示すように,一方
のポートAを更新用として使用すると,他方のポートB
は読み出し用として使用する。更新を行った領域Aにつ
いて読み出しを行う場合は,更新する領域(または面)
を切替えてポートAを読み出し用,ポートBを更新用に
切り換える。なお,ポートAとポートBは同時に動作す
ることができないことは当然である。
のポートAを更新用として使用すると,他方のポートB
は読み出し用として使用する。更新を行った領域Aにつ
いて読み出しを行う場合は,更新する領域(または面)
を切替えてポートAを読み出し用,ポートBを更新用に
切り換える。なお,ポートAとポートBは同時に動作す
ることができないことは当然である。
【0012】更新ポートをアクセスする場合 図7のA.の更新制御部92が更新ポートをアクセスす
る場合には,更新制御部92は更新用アドレスcを出力
し,CPUからの更新ポート面指示信号eを更新用アド
レスの最上位ビット(図7のB.に示すAポートが更新
ポートの場合は“0”とする)にしてセレクタ91に入
力する。更新制御部92が更新用アドレスcを選択する
制御を行う時は,セレクタ信号dはHであるからセレク
タ91から更新用アドレス最上位ビットが“0”で書き
込み用アドレスcと合わせたnビットの更新用アドレス
がRAM90へ入力する。RAM90は入力されたアド
レスに対応するデータを読み出して,更新動作時に駆動
されるラッチ93に入力され,続いて更新部94に入力
され更新(例えば,ラッチ93の内容に+1する)を行
って,その結果を書き込みデータjとしてRAM90に
入力して,RAM90の読み出し時と同じアドレスに書
き込まれる。
る場合には,更新制御部92は更新用アドレスcを出力
し,CPUからの更新ポート面指示信号eを更新用アド
レスの最上位ビット(図7のB.に示すAポートが更新
ポートの場合は“0”とする)にしてセレクタ91に入
力する。更新制御部92が更新用アドレスcを選択する
制御を行う時は,セレクタ信号dはHであるからセレク
タ91から更新用アドレス最上位ビットが“0”で書き
込み用アドレスcと合わせたnビットの更新用アドレス
がRAM90へ入力する。RAM90は入力されたアド
レスに対応するデータを読み出して,更新動作時に駆動
されるラッチ93に入力され,続いて更新部94に入力
され更新(例えば,ラッチ93の内容に+1する)を行
って,その結果を書き込みデータjとしてRAM90に
入力して,RAM90の読み出し時と同じアドレスに書
き込まれる。
【0013】読み出しポートをアクセスする場合 CPU読み出し指示aがHになると,更新制御部92は
更新ポートをアクセスしてない時間に,読み出しポート
のアクセスを行う。この時更新制御部92は,セレクタ
信号91をLにしてCPU読み出しアドレスfを選択
し,RAM90に読み出しアドレスを入力する。RAM
90が入力されたアドレスに対応するデータを読み出す
と,CPUの読み出し動作時に駆動されるラッチ95に
ラッチされる。このラッチ95のデータはCPUにより
読み取られる。更新制御部92は読み出し動作が終了す
ると,読み出し終了の信号bをCPUに送信して,読み
出し終了を通知する。
更新ポートをアクセスしてない時間に,読み出しポート
のアクセスを行う。この時更新制御部92は,セレクタ
信号91をLにしてCPU読み出しアドレスfを選択
し,RAM90に読み出しアドレスを入力する。RAM
90が入力されたアドレスに対応するデータを読み出す
と,CPUの読み出し動作時に駆動されるラッチ95に
ラッチされる。このラッチ95のデータはCPUにより
読み取られる。更新制御部92は読み出し動作が終了す
ると,読み出し終了の信号bをCPUに送信して,読み
出し終了を通知する。
【0014】
【発明が解決しようとする課題】上記した従来のシング
ルポートRAMを2ポートアクセスで使用する場合,あ
る事象の発生時から,更新を開始したい場合がある。例
えば,RAM内に以前の更新データが蓄積されている状
態で,ある時点(ある事象の発生時点や,決められた周
期毎等)で以前のデータをクリアして新たなデータの更
新を開始することが要求される場合がある。
ルポートRAMを2ポートアクセスで使用する場合,あ
る事象の発生時から,更新を開始したい場合がある。例
えば,RAM内に以前の更新データが蓄積されている状
態で,ある時点(ある事象の発生時点や,決められた周
期毎等)で以前のデータをクリアして新たなデータの更
新を開始することが要求される場合がある。
【0015】この要求に対し,従来は上記したようにシ
ングルポートRAMを使用すると,領域を分割した2つ
のポートによる同時アクセスが不可能であるため,両ポ
ートのクリアの同時アクセスができなかった。
ングルポートRAMを使用すると,領域を分割した2つ
のポートによる同時アクセスが不可能であるため,両ポ
ートのクリアの同時アクセスができなかった。
【0016】すなわち,従来は,ある事象の発生時点か
ら,1回目の更新ポートの更新動作において,読み出し
たデータを保持するラッチ93の内容をクリアして,更
新部94のデータだけを書き込みデータとしてRAM9
0に書き込む。この場合,一方のポートが担当する領域
(図7のB.のRAMの半分)の各アドレスについて順
番にクリアと書き込みを行うことになる。
ら,1回目の更新ポートの更新動作において,読み出し
たデータを保持するラッチ93の内容をクリアして,更
新部94のデータだけを書き込みデータとしてRAM9
0に書き込む。この場合,一方のポートが担当する領域
(図7のB.のRAMの半分)の各アドレスについて順
番にクリアと書き込みを行うことになる。
【0017】しかし,一方のポートのクリア(更新を含
む)を行っている動作の間に,他方のポートによりCP
Uの読み出しが行われると,本来はクリアされているべ
きRAMの他方の領域のデータが以前のデータのままC
PUに読み出されてしまうという問題があった。
む)を行っている動作の間に,他方のポートによりCP
Uの読み出しが行われると,本来はクリアされているべ
きRAMの他方の領域のデータが以前のデータのままC
PUに読み出されてしまうという問題があった。
【0018】本発明はシングルポートRAMを使用し
て,両ポートのクリアを可能とするRAM制御方式を提
供することを目的とする。
て,両ポートのクリアを可能とするRAM制御方式を提
供することを目的とする。
【0019】
【課題を解決するための手段】本発明の第1の原理はC
PUがクリア指示を出す方式であり,ある事象から更新
を開始する場合,開始するアドレスに対応する更新ポー
トのクリアのみを行い,読み出しポートのクリアはポー
トの切り換え直前にCPUからの指示により行う。ポー
トの切り換えを行う場合,更新ポートから読み出しポー
トに切り換わるポートでは更新したデータをCPUが読
み出すのでデータはそのままで良いが,読み出しポート
から更新ポートに切り換わるポートでは前の更新ポート
が残ったままなので,更新前にクリアする。そこで,C
PUがポートの切り換えを行う場合に,その前にクリア
指示を出し,クリア指示を受信した制御部は,更新ポー
トのアクセスの無い空き時間にクリアを行う。
PUがクリア指示を出す方式であり,ある事象から更新
を開始する場合,開始するアドレスに対応する更新ポー
トのクリアのみを行い,読み出しポートのクリアはポー
トの切り換え直前にCPUからの指示により行う。ポー
トの切り換えを行う場合,更新ポートから読み出しポー
トに切り換わるポートでは更新したデータをCPUが読
み出すのでデータはそのままで良いが,読み出しポート
から更新ポートに切り換わるポートでは前の更新ポート
が残ったままなので,更新前にクリアする。そこで,C
PUがポートの切り換えを行う場合に,その前にクリア
指示を出し,クリア指示を受信した制御部は,更新ポー
トのアクセスの無い空き時間にクリアを行う。
【0020】本発明の第2の原理は,待ち合わせバッフ
ァを用いるもので,ある事象時から更新を開始する時,
開始するアドレスに対応する更新ポートのクリアのみ行
い,同時にそのアドレスをバッファ等に記憶する。更新
ポートのアクセスが無い空き時間がくるとバッファから
アドレスを読み出して,そのアドレスの読み出しポート
をクリアする。
ァを用いるもので,ある事象時から更新を開始する時,
開始するアドレスに対応する更新ポートのクリアのみ行
い,同時にそのアドレスをバッファ等に記憶する。更新
ポートのアクセスが無い空き時間がくるとバッファから
アドレスを読み出して,そのアドレスの読み出しポート
をクリアする。
【0021】本発明の第3の原理は,RAMの分割をデ
ータビットの上位と下位で行うもので,データビット幅
の下位半分と上位半分とでポートを分割し,同じアドレ
スに両ポートが存在するので,両ポートの同時クリアが
可能になる。
ータビットの上位と下位で行うもので,データビット幅
の下位半分と上位半分とでポートを分割し,同じアドレ
スに両ポートが存在するので,両ポートの同時クリアが
可能になる。
【0022】図1は本発明の第1の構成例であり、上記
第1の原理に対応する。図1において,1はシングルポ
ートのRAM,2はセレクタ,3は本発明により制御動
作を行う更新制御部,4は更新時に駆動されるラッチ,
5はラッチ4の出力に対し更新を行って書き込みデータ
を発生する更新部,6は読み出し時に駆動されるラッチ
であり,a〜jは従来例(図7のA.)の各信号と同様
であり説明を省略する。k〜mは本発明による制御信号
であり,kはCPUから供給されるCPUクリア指示信
号,l(エル)はクリア終了信号,mは更新部5をクリ
アするための線路に出力するリセット信号である。
第1の原理に対応する。図1において,1はシングルポ
ートのRAM,2はセレクタ,3は本発明により制御動
作を行う更新制御部,4は更新時に駆動されるラッチ,
5はラッチ4の出力に対し更新を行って書き込みデータ
を発生する更新部,6は読み出し時に駆動されるラッチ
であり,a〜jは従来例(図7のA.)の各信号と同様
であり説明を省略する。k〜mは本発明による制御信号
であり,kはCPUから供給されるCPUクリア指示信
号,l(エル)はクリア終了信号,mは更新部5をクリ
アするための線路に出力するリセット信号である。
【0023】本発明の第1の構成例では更新ポート面を
切り換える前にCPUから更新制御部にクリア指示信号
を供給しCPU読み出しアドレスfを入力すると,指定
された読み出しアドレスにリセットされたデータを書き
込んで,その後更新ポート面を切り換えることにより,
切り換え後の更新においてクリアされたデータについて
更新を行うことができる。
切り換える前にCPUから更新制御部にクリア指示信号
を供給しCPU読み出しアドレスfを入力すると,指定
された読み出しアドレスにリセットされたデータを書き
込んで,その後更新ポート面を切り換えることにより,
切り換え後の更新においてクリアされたデータについて
更新を行うことができる。
【0024】RAM1のデータをある事象(ある時点)
から更新する必要がある場合,更新制御部3は,RAM
1の領域をアドレスで2つの面(領域)に分割して,更
新ポート面(2分割した一方の面)のアドレスに対し読
み出しを行い,読み出しされたデータが格納されるラッ
チ4をクリアして,更新部5で更新を行うことによりク
リア動作と更新を行う。その面についてCPUが読み出
しを行いたい場合,他方の面が更新ポート面となるが他
方の面はクリアされてないため,以前のデータを更新す
る動作が行われてしまう。そのため,ポート面の切り換
えを行う前にCPUクリア指示信号kが,更新制御部3
に供給される。更新制御部3はこれに応じて,現在の更
新アクセスが実行されない空き時間に,更新部5に対し
クリア信号を供給すると共に,セレクト信号dを切り替
えてセレクタ2に対しCPU読み出しアドレスを選択さ
せる。これによりRAM1は,更新部5の出力(クリア
データ)を読み出しアドレスに書き込む(この書き込み
は更新制御部3から図示されない書き込み制御信号が供
給されて行うか,図示されないCPUからRAM1を直
接制御することにより行う)。
から更新する必要がある場合,更新制御部3は,RAM
1の領域をアドレスで2つの面(領域)に分割して,更
新ポート面(2分割した一方の面)のアドレスに対し読
み出しを行い,読み出しされたデータが格納されるラッ
チ4をクリアして,更新部5で更新を行うことによりク
リア動作と更新を行う。その面についてCPUが読み出
しを行いたい場合,他方の面が更新ポート面となるが他
方の面はクリアされてないため,以前のデータを更新す
る動作が行われてしまう。そのため,ポート面の切り換
えを行う前にCPUクリア指示信号kが,更新制御部3
に供給される。更新制御部3はこれに応じて,現在の更
新アクセスが実行されない空き時間に,更新部5に対し
クリア信号を供給すると共に,セレクト信号dを切り替
えてセレクタ2に対しCPU読み出しアドレスを選択さ
せる。これによりRAM1は,更新部5の出力(クリア
データ)を読み出しアドレスに書き込む(この書き込み
は更新制御部3から図示されない書き込み制御信号が供
給されて行うか,図示されないCPUからRAM1を直
接制御することにより行う)。
【0025】他方の面(読み出し面)のCPUから指示
された読み出しアドレスについてクリアが終了すると,
更新制御部3はCPUにクリア終了信号l(エル)を送
信し,終了通知を行い,これを受信したCPUは更新ポ
ート面指示信号eによりポート面の切り換えを行い,ク
リアされた他方の面のアドレスについて更新ポートで更
新を行う。
された読み出しアドレスについてクリアが終了すると,
更新制御部3はCPUにクリア終了信号l(エル)を送
信し,終了通知を行い,これを受信したCPUは更新ポ
ート面指示信号eによりポート面の切り換えを行い,ク
リアされた他方の面のアドレスについて更新ポートで更
新を行う。
【0026】
【発明の実施の形態】図2は第1の構成例の処理フロー
であり,この処理フローは上記図1に示す構成例の更新
制御部において実行される。
であり,この処理フローは上記図1に示す構成例の更新
制御部において実行される。
【0027】図2の処理フローを図1を参照しながら説
明すると,最初にCPUクリア指示信号kが,“H”
(ハイレベル)か判別し(図2のS1),“H”の場合
は更新ポート面をアクセス中か判別する(同S2)。こ
れは,更新ポート面指示信号eで指示する更新の対象と
なる面(2つに分割した中のeで指示する面)のアドレ
スに対し現在更新動作が行われているか判別するもので
ある。この結果,アクセス中でないことが分かると,C
PU読み出し指示信号aが有るか(信号aが“H”か)
判別する(同S3)。CPU読み出し指示が無い場合,
セレクタ信号dを“L”にする(同S4)。これによ
り,セレクタ2に対しCPU読み出しアドレスfを選択
させる。更に,リセット信号mを“L”にする(同S
5)。これにより,更新部5はリセットされる。
明すると,最初にCPUクリア指示信号kが,“H”
(ハイレベル)か判別し(図2のS1),“H”の場合
は更新ポート面をアクセス中か判別する(同S2)。こ
れは,更新ポート面指示信号eで指示する更新の対象と
なる面(2つに分割した中のeで指示する面)のアドレ
スに対し現在更新動作が行われているか判別するもので
ある。この結果,アクセス中でないことが分かると,C
PU読み出し指示信号aが有るか(信号aが“H”か)
判別する(同S3)。CPU読み出し指示が無い場合,
セレクタ信号dを“L”にする(同S4)。これによ
り,セレクタ2に対しCPU読み出しアドレスfを選択
させる。更に,リセット信号mを“L”にする(同S
5)。これにより,更新部5はリセットされる。
【0028】続いて,RAM1に対してライト動作を行
う(図2のS6)。この場合,書き込みアドレスはCP
U読み出しアドレスfとしてCPUから指定されたアド
レスが使用され,書き込みデータはリセットされた更新
部5のデータであるため,RAM1の該当アドレスのデ
ータはクリアされる。次にリセット信号mを“H”にし
て(同S7),更新部のリセットを解除する。次いで,
セレクタ信号dを“H”にし(同S8),セレクタ2は
端子1側の更新ポート面指示信号eと書き込みアドレス
cを選択する。続いて,クリア終了信号l(エル)を
“H”にし(図2のS9),CPUに読み出しポートの
クリアを終了したことを認識させて,その信号を“L”
に戻す(同S10)。これを受信するとCPUは,ポー
トの切り換えを行う。
う(図2のS6)。この場合,書き込みアドレスはCP
U読み出しアドレスfとしてCPUから指定されたアド
レスが使用され,書き込みデータはリセットされた更新
部5のデータであるため,RAM1の該当アドレスのデ
ータはクリアされる。次にリセット信号mを“H”にし
て(同S7),更新部のリセットを解除する。次いで,
セレクタ信号dを“H”にし(同S8),セレクタ2は
端子1側の更新ポート面指示信号eと書き込みアドレス
cを選択する。続いて,クリア終了信号l(エル)を
“H”にし(図2のS9),CPUに読み出しポートの
クリアを終了したことを認識させて,その信号を“L”
に戻す(同S10)。これを受信するとCPUは,ポー
トの切り換えを行う。
【0029】次に図3は本発明の第2の構成例であり,
図4は第2の構成例の処理フローである。この第2の構
成例は本発明の第2の原理に対応するもので,待ち合わ
せバッファを用いる方式である。図3において,1〜6
は上記図1の同じ符号の各回路と同様であり説明を省略
する。7は更新ポート面指示信号eがそのまま入力され
る端子0と反転バッファ7aにより反転した信号が入力
する端子1を備えるセレクタ,8は更新ポートをクリア
する時のアドレスを記憶する待ち合せバッファ,9は待
ち合せバッファ8の出力が入力する端子1と更新制御部
3からの更新ポート側のクリアアドレスが入力する端子
0を備えるセレクタである。
図4は第2の構成例の処理フローである。この第2の構
成例は本発明の第2の原理に対応するもので,待ち合わ
せバッファを用いる方式である。図3において,1〜6
は上記図1の同じ符号の各回路と同様であり説明を省略
する。7は更新ポート面指示信号eがそのまま入力され
る端子0と反転バッファ7aにより反転した信号が入力
する端子1を備えるセレクタ,8は更新ポートをクリア
する時のアドレスを記憶する待ち合せバッファ,9は待
ち合せバッファ8の出力が入力する端子1と更新制御部
3からの更新ポート側のクリアアドレスが入力する端子
0を備えるセレクタである。
【0030】なお,セレクタ2はセレクタ7の出力を最
上位ビットとてセレクタ9の出力を下位ビット(n−1
ビット)とするアドレスが入力する端子1と,CPU読
み出しアドレスが入力する端子0を備え,更新制御部3
からのセレクタ信号dにより切替えが行われる。また,
更新制御部3から更新部5へ供給される信号mはクリア
指示信号,信号nはセレクタ2とセレクタ7を切替制御
する選択指示信号である。
上位ビットとてセレクタ9の出力を下位ビット(n−1
ビット)とするアドレスが入力する端子1と,CPU読
み出しアドレスが入力する端子0を備え,更新制御部3
からのセレクタ信号dにより切替えが行われる。また,
更新制御部3から更新部5へ供給される信号mはクリア
指示信号,信号nはセレクタ2とセレクタ7を切替制御
する選択指示信号である。
【0031】図3に示す構成による処理を図4を用いて
説明する。なお,この処理フローは上記図7に示す従来
の構成による処理に対し処理が追加されるもので,追加
された処理について説明する。
説明する。なお,この処理フローは上記図7に示す従来
の構成による処理に対し処理が追加されるもので,追加
された処理について説明する。
【0032】すなわち,RAM1の更新ポート面をクリ
アする場合,信号eが更新ポート面を指示し,セレクタ
7が端子0の信号eを選択し,セレクタ9が更新制御部
3からの更新用アドレスcが供給される端子0を選択す
るよう選択指示信号nが発生すると,セレクタ2はセレ
クタ信号dにより端子1へ入力する更新用アドレスを選
択する。この時,RAM1の更新ポートでは,読み出さ
れたデータが格納されるラッチ4をクリアして,更新部
5で更新を行うことによりクリア動作と更新を行う。
アする場合,信号eが更新ポート面を指示し,セレクタ
7が端子0の信号eを選択し,セレクタ9が更新制御部
3からの更新用アドレスcが供給される端子0を選択す
るよう選択指示信号nが発生すると,セレクタ2はセレ
クタ信号dにより端子1へ入力する更新用アドレスを選
択する。この時,RAM1の更新ポートでは,読み出さ
れたデータが格納されるラッチ4をクリアして,更新部
5で更新を行うことによりクリア動作と更新を行う。
【0033】この更新ポート面のクリア実行時に,更新
制御部3の出力である更新ポート面をクリアするアドレ
スc(n−1ビット)を順次待ち合せバッファ8に記憶
する(図4のS1)。更新ポート面がアクセスされない
か判別し(図4のS2),アクセスされないとCPU読
み出し指示信号aが有るか(“H”か)判別する(同S
3)。読み出し指示が無い時,すなわち更新ポートがア
クセスされてない空き時間に,選択指示信号nを“H”
にして(図4のS4),セレクタ7,セレクタ9で端子
1を選択させる。
制御部3の出力である更新ポート面をクリアするアドレ
スc(n−1ビット)を順次待ち合せバッファ8に記憶
する(図4のS1)。更新ポート面がアクセスされない
か判別し(図4のS2),アクセスされないとCPU読
み出し指示信号aが有るか(“H”か)判別する(同S
3)。読み出し指示が無い時,すなわち更新ポートがア
クセスされてない空き時間に,選択指示信号nを“H”
にして(図4のS4),セレクタ7,セレクタ9で端子
1を選択させる。
【0034】これにより,セレクタ7から更新ポート面
を指示する信号が反転バッファ7aで反転して入力する
ので,反対の面(読み出しポートの面)を表示し,最上
位ビットを除くアドレス(n−1ビット)として待ち合
せバッファ8に格納された更新アドレスの一つを選択す
る。次に,クリア指示信号mを“L”(ロウレベル)に
して,更新部5をリセットする(図4のS5)。この
時,選択指示信号dは更新動作中を指示する“H”であ
るため,端子1側の入力,すなわちセレクタ7とセレク
タ9の出力を選択している。
を指示する信号が反転バッファ7aで反転して入力する
ので,反対の面(読み出しポートの面)を表示し,最上
位ビットを除くアドレス(n−1ビット)として待ち合
せバッファ8に格納された更新アドレスの一つを選択す
る。次に,クリア指示信号mを“L”(ロウレベル)に
して,更新部5をリセットする(図4のS5)。この
時,選択指示信号dは更新動作中を指示する“H”であ
るため,端子1側の入力,すなわちセレクタ7とセレク
タ9の出力を選択している。
【0035】この状態で,RAM1に対してライト動作
を行うと(同S6),セレクタ2から更新用のアドレス
(実際は読み出しポート面のアドレス)がRAM1に加
えられて書き込みが行われる。この時,更新部5がクリ
ア指示信号により0にリセットされているため,該当す
るアドレスのデータはリセットされた内容が書き込まれ
て,クリア動作が行われる。待ち合せバッファ8に複数
個のアドレスが記憶されていると,各アドレスのデータ
についてRAM1がクリアされる。
を行うと(同S6),セレクタ2から更新用のアドレス
(実際は読み出しポート面のアドレス)がRAM1に加
えられて書き込みが行われる。この時,更新部5がクリ
ア指示信号により0にリセットされているため,該当す
るアドレスのデータはリセットされた内容が書き込まれ
て,クリア動作が行われる。待ち合せバッファ8に複数
個のアドレスが記憶されていると,各アドレスのデータ
についてRAM1がクリアされる。
【0036】こうして,更新ポートのアクセスが無い,
空き時間に読み出しポートのクリア作業が行われるが,
空き時間を待つ間に次のクリア作業が発生すると,待ち
合せバッファ8に次のアドレスが記憶されるので,前回
のアドレスの内容が消えてしまう。この様な場合を考慮
して待ち合せバッファ8の容量を予め一定量確保してお
く。
空き時間に読み出しポートのクリア作業が行われるが,
空き時間を待つ間に次のクリア作業が発生すると,待ち
合せバッファ8に次のアドレスが記憶されるので,前回
のアドレスの内容が消えてしまう。この様な場合を考慮
して待ち合せバッファ8の容量を予め一定量確保してお
く。
【0037】RAM1の更新ポートのアドレスに対応す
る読み出しポートのアドレスのクリア動作が終了する
と,クリア指示信号mを“H”にして更新部のリセット
を解除し(図4のS7),次いで選択指示信号nを
“L”にして(同S8),セレクタ7,セレクタ9が端
子0を選択するよう切替えて,処理を終了する。
る読み出しポートのアドレスのクリア動作が終了する
と,クリア指示信号mを“H”にして更新部のリセット
を解除し(図4のS7),次いで選択指示信号nを
“L”にして(同S8),セレクタ7,セレクタ9が端
子0を選択するよう切替えて,処理を終了する。
【0038】図5は本発明の第3の構成例でありこの本
発明の第3の原理に対応する。また,図6はRAMをデ
ータ方向で2分割する場合の構成である。この構成で
は,上記図1,図3に示すアドレス方向にRAMの領域
を分割するものではなく,各アドレスのデータ領域を半
分に分割し,上位ビットと下位ビットに分ける。この分
割方法を図6により説明すると,RAM50の各アドレ
スに対し上位側のビットを含む領域500と,下位側の
ビットを含む領域501に分割され,各領域500,5
01に対し上位ポート502と下位ポート503が設け
られる構成となる。この上位ポート502と上位ポート
503は一方が更新ポートとして動作すると,他方は読
み出しポートとなる。このような分割を行うと,データ
ビット幅を2倍にし,アドレス空間を半分にすることが
できる。
発明の第3の原理に対応する。また,図6はRAMをデ
ータ方向で2分割する場合の構成である。この構成で
は,上記図1,図3に示すアドレス方向にRAMの領域
を分割するものではなく,各アドレスのデータ領域を半
分に分割し,上位ビットと下位ビットに分ける。この分
割方法を図6により説明すると,RAM50の各アドレ
スに対し上位側のビットを含む領域500と,下位側の
ビットを含む領域501に分割され,各領域500,5
01に対し上位ポート502と下位ポート503が設け
られる構成となる。この上位ポート502と上位ポート
503は一方が更新ポートとして動作すると,他方は読
み出しポートとなる。このような分割を行うと,データ
ビット幅を2倍にし,アドレス空間を半分にすることが
できる。
【0039】図5において,50はシングルポートのR
AM,51は更新制御部,52はnビットの更新アドレ
スcが入力する端子1とnビットの読み出しアドレスf
が入力する端子0を備え,セレクタ信号dにより切替え
られるセレクタ,53は読み出しデータの上位ビットを
保持するラッチ,54は読み出しデータの下位ビットを
保持するラッチ,55a,55bはそれぞれ更新時に読
み出されたデータの上位ビット,下位ビットを保持する
ラッチ,56a,56bはそれぞれに対応するラッチ5
5a,55bに格納された上位ビット,下位ビットに対
する更新を行う更新部,57a,57bはそれぞれ上位
ビット,下位ビットの対応するラッチ55a,55bの
出力か,更新部56a,56bの出力の一方を選択する
セレクタである。
AM,51は更新制御部,52はnビットの更新アドレ
スcが入力する端子1とnビットの読み出しアドレスf
が入力する端子0を備え,セレクタ信号dにより切替え
られるセレクタ,53は読み出しデータの上位ビットを
保持するラッチ,54は読み出しデータの下位ビットを
保持するラッチ,55a,55bはそれぞれ更新時に読
み出されたデータの上位ビット,下位ビットを保持する
ラッチ,56a,56bはそれぞれに対応するラッチ5
5a,55bに格納された上位ビット,下位ビットに対
する更新を行う更新部,57a,57bはそれぞれ上位
ビット,下位ビットの対応するラッチ55a,55bの
出力か,更新部56a,56bの出力の一方を選択する
セレクタである。
【0040】更新ポートアクセス動作は,更新ポート面
指示信号eが“H”の場合,上位側ビットが更新ポート
で,下位側ビットが読み出しポートとなる。更新時は,
セレクタ信号dが“H”の時に更新制御部51の更新用
アドレスcがセレクタ52で選択されてRAM50に供
給され,読み出しが行われ,上位側読み出しデータは,
ラッチ55aに保持され,更新部56aで更新されてセ
レクタ57aに入力する。この時,更新ポート面指示信
号eが“H”なので,セレクタ57aは更新部56aか
らの更新データが入力される端子1を選択し,RAM5
0の読み出し時のアドレスの上位ビット側に書き込まれ
る。一方,この時,同じアドレスの下位側のデータは読
み出しが行われて,ラッチ55bに保持される。セレク
タ57bは,この時更新ポート面指示信号eが“H”な
ので,ラッチ55bの内容を選択して下位側のデータと
して書き込む。
指示信号eが“H”の場合,上位側ビットが更新ポート
で,下位側ビットが読み出しポートとなる。更新時は,
セレクタ信号dが“H”の時に更新制御部51の更新用
アドレスcがセレクタ52で選択されてRAM50に供
給され,読み出しが行われ,上位側読み出しデータは,
ラッチ55aに保持され,更新部56aで更新されてセ
レクタ57aに入力する。この時,更新ポート面指示信
号eが“H”なので,セレクタ57aは更新部56aか
らの更新データが入力される端子1を選択し,RAM5
0の読み出し時のアドレスの上位ビット側に書き込まれ
る。一方,この時,同じアドレスの下位側のデータは読
み出しが行われて,ラッチ55bに保持される。セレク
タ57bは,この時更新ポート面指示信号eが“H”な
ので,ラッチ55bの内容を選択して下位側のデータと
して書き込む。
【0041】この結果,上位ビット側だけ更新が行わ
れ,下位ビット側は読み出されたデータがそのまま書き
込まれるので,更新されないことになる。更新ポートと
読み出しポートのクリアは,更新制御部51からクリア
指示信号mを“H”にすると,各ラッチ55a,55b
及び各更新部56a,56bが全てクリアされ,更新ポ
ートで更新を行う動作と読み出しポートで読み出しを行
うと,両方のポートのアドレスが同じなので,更新ポー
トをクリアする際に読み出しポートも同時にクリアでき
る。
れ,下位ビット側は読み出されたデータがそのまま書き
込まれるので,更新されないことになる。更新ポートと
読み出しポートのクリアは,更新制御部51からクリア
指示信号mを“H”にすると,各ラッチ55a,55b
及び各更新部56a,56bが全てクリアされ,更新ポ
ートで更新を行う動作と読み出しポートで読み出しを行
うと,両方のポートのアドレスが同じなので,更新ポー
トをクリアする際に読み出しポートも同時にクリアでき
る。
【0042】
【発明の効果】本発明によれば,シングルポートRAM
による2ポートアクセスをする場合に,2ポートでアク
セスする各領域を共にクリアすることが可能となる。
による2ポートアクセスをする場合に,2ポートでアク
セスする各領域を共にクリアすることが可能となる。
【図1】本発明の第1の構成例を示す図である。
【図2】第1の構成例の処理フローを示す図である。
【図3】本発明の第2の構成例を示す図である。
【図4】第2の構成例の処理フローを示す図である。
【図5】本発明の第3の構成例を示す図である。
【図6】RAMをデータ方向で2分割する場合の説明図
である。
である。
【図7】従来例の説明図である。
1 シングルポートのRAM 2 セレクタ 3 更新制御部 4 ラッチ 5 更新部 6 ラッチ k CPUクリア指示信号 l クリア終了信号 m リセット信号
フロントページの続き (56)参考文献 特開 平5−225040(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/00 - 12/06
Claims (4)
- 【請求項1】 シングルポートのRAMをアドレス方向
で2面に分割して一方の面のデータを読み出して更新部
で更新して書き込みを行う更新ポートアクセスと指定さ
れた面のデータの読み出しを行う読み出しポートアクセ
スが切替え手段により切替えられる2ポートアクセスの
制御方式において, 更新ポートによる更新アドレスの発生と更新,読み出し
の切替えを制御する更新制御部を備え, 前記更新制御部は,指示された事象から更新を開始する
時に更新開始アドレスに対応する更新ポートのクリアを
行う制御信号を発生し, CPUからポートの切替え前にクリア指示がアドレスと
共に供給されると前記更新ポートアクセスの空き時間
に,読み出しポート面をクリアする制御信号を発生する
ことを特徴とするシングルポートRAMの2ポートアク
セスの制御方式。 - 【請求項2】 請求項1において, 前記読み出しポート面のクリアは,前記更新制御部から
前記更新部をリセットし,該更新部の出力を書き込みデ
ータとし,アドレスはCPUから指定された読み出しア
ドレスを選択して,書き込むことにより行うことを特徴
とするシングルポートRAMの2ポートアクセスの制御
方式。 - 【請求項3】 シングルポートのRAMをアドレス方向
で2面に分割して指定された面のデータを読み出して更
新部で更新して書き込みを行う更新ポートアクセスと指
定された面のデータの読み出しを行う読み出しポートア
クセスが切替え手段により切替えられる2ポートアクセ
スの制御方式において, 更新ポートによる更新アドレスの発生と更新,読み出し
の切替えを制御する更新制御部を備え, 前記更新制御部は,指示された事象時から更新を開始す
ると,その時の更新ポート面の開始アドレスからクリア
と更新を行い, 前記更新ポートのクリアを行ったアドレスを格納する待
ち合わせバッファを設け,前記更新ポート面のアクセス
が行われない空き時間に,前記待ち合わせバッファに記
憶されたアドレスを用いて,該アドレスに対応する前記
更新ポート面とその反対面のクリアを行うことを特徴と
するシングルポートRAMの2ポートアクセスの制御方
式。 - 【請求項4】 シングルポートのRAMを各アドレスの
データ領域を上位側と下位側に2分割し,面を指定して
データを読み出して更新部によりデータを更新して書き
込みを行う更新ポートとアドレスを指定して読み出しを
行う読み出しポートアクセスを切替えにより行う2ポー
トアクセスの制御方式において, 更新アドレスの発生及び更新と読み出しの切替え制御を
行う更新制御部を備え, 前記RAMから読み出された各データの上位側のデータ
をラッチ部を介して書き込みデータとするか,上位側の
前記更新部を介して更新した結果のデータを書き込みデ
ータとするかを選択する第1セレクタを設け, 前記RAMから読み出された各データの下位側の前記更
新部を介して更新した結果のデータを書き込みデータと
するか,下位側のデータをラッチ部を介して書き込みデ
ータとするかを選択する第2セレクタを設け, 前記更新制御部が指示された事象から更新を開始すると
前記各更新部及び前記各ラッチ部をリセットし,前記2
つのセレクタは指示された更新ポート面に対応する側の
前記更新部の出力を書き込み,同時に他方の面に対応す
る側の前記ラッチ部の出力を書き込むことにより更新ポ
ート面の反対面のクリアを行うことを特徴とするシング
ルポートRAMの2ポートアクセスの制御方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19951195A JP3317819B2 (ja) | 1995-08-04 | 1995-08-04 | シングルポートramの2ポートアクセスの制御方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19951195A JP3317819B2 (ja) | 1995-08-04 | 1995-08-04 | シングルポートramの2ポートアクセスの制御方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0950396A JPH0950396A (ja) | 1997-02-18 |
| JP3317819B2 true JP3317819B2 (ja) | 2002-08-26 |
Family
ID=16409041
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP19951195A Expired - Fee Related JP3317819B2 (ja) | 1995-08-04 | 1995-08-04 | シングルポートramの2ポートアクセスの制御方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3317819B2 (ja) |
-
1995
- 1995-08-04 JP JP19951195A patent/JP3317819B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0950396A (ja) | 1997-02-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0612863A (ja) | デュアルポートdram | |
| JPH08235130A (ja) | 並列プロセッサ | |
| EP0055623B1 (en) | Direct memory-access mode for a high-speed memory system | |
| EP0315194A2 (en) | Microcomputer capable of accessing continuous addresses for a short time | |
| JP3317819B2 (ja) | シングルポートramの2ポートアクセスの制御方式 | |
| JP3281211B2 (ja) | 同期式メモリを有する情報処理装置および同期式メモリ | |
| JP3323526B2 (ja) | ディジタル信号プロセッサ | |
| JPH0877143A (ja) | ベクトルデータ処理装置 | |
| JP3266610B2 (ja) | Dma転送方式 | |
| JP2924643B2 (ja) | ディジタル信号処理方法及び装置 | |
| JPH1011388A (ja) | ダイレクトメモリアクセス制御装置 | |
| JPH1185463A (ja) | 演算ネットワーク装置 | |
| JPH03100751A (ja) | 入出力処理装置 | |
| JPS62113193A (ja) | 記憶回路 | |
| JP2748404B2 (ja) | 2項データメモリ | |
| JPH01239485A (ja) | 大規模集積回路 | |
| JPH06208539A (ja) | 高速データ転送方式 | |
| JP3217815B2 (ja) | アドレス変換方式 | |
| JPH0782463B2 (ja) | 通信制御装置 | |
| JPS59165176A (ja) | 画像処理装置 | |
| JPS6348688A (ja) | メモリ装置 | |
| JPH06251589A (ja) | 連想メモリ入出力制御回路 | |
| JPH04312134A (ja) | 情報処理装置 | |
| JPH0545978B2 (ja) | ||
| JPH05120183A (ja) | データ転送装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20020528 |
|
| LAPS | Cancellation because of no payment of annual fees |