JPH10301844A - メモリ制御装置、メモリ制御方法及びメモリ制御プログラムを記憶した媒体 - Google Patents
メモリ制御装置、メモリ制御方法及びメモリ制御プログラムを記憶した媒体Info
- Publication number
- JPH10301844A JPH10301844A JP10962097A JP10962097A JPH10301844A JP H10301844 A JPH10301844 A JP H10301844A JP 10962097 A JP10962097 A JP 10962097A JP 10962097 A JP10962097 A JP 10962097A JP H10301844 A JPH10301844 A JP H10301844A
- Authority
- JP
- Japan
- Prior art keywords
- address
- memory
- access
- storage area
- write
- 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
Links
Abstract
(57)【要約】
【課題】共通のアドレスバスを用いて同時に複数のメモ
リに正常にアクセスすることを可能にする。 【解決手段】アドレス発生部12はメモリ13,14に対する
アドレスを発生する。アドレス発生部12が発生したアド
レスはメモリ制御部11にも与え、メモリ制御部11はレジ
スタに書込み開始アドレスを保持する。他のメモリに対
する先行したアクセス途中で書込みが行われたメモリに
対して読出しを行う場合には、メモリ制御部11はレジス
タに保持されている書込み開始アドレスに基づいて読出
しアドレスを設定する。これにより、正常なメモリアク
セスが可能となる。
リに正常にアクセスすることを可能にする。 【解決手段】アドレス発生部12はメモリ13,14に対する
アドレスを発生する。アドレス発生部12が発生したアド
レスはメモリ制御部11にも与え、メモリ制御部11はレジ
スタに書込み開始アドレスを保持する。他のメモリに対
する先行したアクセス途中で書込みが行われたメモリに
対して読出しを行う場合には、メモリ制御部11はレジス
タに保持されている書込み開始アドレスに基づいて読出
しアドレスを設定する。これにより、正常なメモリアク
セスが可能となる。
Description
【0001】
【発明の属する技術分野】本発明は、アドレスバスが共
通でデータバスが分離した複数のメモリ領域に対するア
クセスを制御するものに好適なメモリ制御装置、メモリ
制御方法及びメモリ制御プログラムを記憶した媒体に関
する。
通でデータバスが分離した複数のメモリ領域に対するア
クセスを制御するものに好適なメモリ制御装置、メモリ
制御方法及びメモリ制御プログラムを記憶した媒体に関
する。
【0002】
【従来の技術】近年、映像信号処理の分野においてもデ
ィジタル処理が普及している。ディジタル処理を行う映
像信号処理装置においては映像信号等を保持する各種メ
モリを設けている。これらのメモリはチップイネーブル
信号によってアクティブとなり、アドレス発生回路から
アドレスバスを介して供給したアドレスに基づいてアク
セスが行われる。メモリから読出されたデータ及びメモ
リに書込むデータはデータバスを介して転送する。
ィジタル処理が普及している。ディジタル処理を行う映
像信号処理装置においては映像信号等を保持する各種メ
モリを設けている。これらのメモリはチップイネーブル
信号によってアクティブとなり、アドレス発生回路から
アドレスバスを介して供給したアドレスに基づいてアク
セスが行われる。メモリから読出されたデータ及びメモ
リに書込むデータはデータバスを介して転送する。
【0003】各メモリに対してアドレスを供給するアド
レス発生回路を設ける。しかし、メモリ毎にアドレス発
生回路及びアドレスバスを設けると、回路規模が著しく
増大してしまう。そこで、複数のメモリにアドレスを供
給するアドレスバスを共通化し、1個のアドレス発生回
路からのアドレスを複数のメモリに供給することによ
り、回路規模を低減したメモリ制御装置が考えられてい
る。
レス発生回路を設ける。しかし、メモリ毎にアドレス発
生回路及びアドレスバスを設けると、回路規模が著しく
増大してしまう。そこで、複数のメモリにアドレスを供
給するアドレスバスを共通化し、1個のアドレス発生回
路からのアドレスを複数のメモリに供給することによ
り、回路規模を低減したメモリ制御装置が考えられてい
る。
【0004】例えば、アドレスバスが共通で複数のメモ
リ領域を有するものとしては、メインメモリと2次キャ
ッシュメモリを有するシステムが考えられる。U.S.
Patent Sep.3 1996 No.5,55
3,270においてこのようなメモリ制御装置が開示さ
れている。
リ領域を有するものとしては、メインメモリと2次キャ
ッシュメモリを有するシステムが考えられる。U.S.
Patent Sep.3 1996 No.5,55
3,270においてこのようなメモリ制御装置が開示さ
れている。
【0005】この提案に示された従来のメモリ制御装置
は、演算処理及びメモリ制御部を有しており、メインメ
モリ及び2次キャッシュメモリには共通のアドレスバス
を接続している。通常の演算等に必要な情報を2次キャ
ッシュメモリに格納し、2次キャッシュメモリに必要な
情報が格納されていない場合にのみメインメモリをアク
セスするようになっている。高速な2次キャッシュメモ
リを用いることで、処理の高速化を図っている。
は、演算処理及びメモリ制御部を有しており、メインメ
モリ及び2次キャッシュメモリには共通のアドレスバス
を接続している。通常の演算等に必要な情報を2次キャ
ッシュメモリに格納し、2次キャッシュメモリに必要な
情報が格納されていない場合にのみメインメモリをアク
セスするようになっている。高速な2次キャッシュメモ
リを用いることで、処理の高速化を図っている。
【0006】この装置においては、メインメモリと2次
キャッシュメモリとを同時にアクセスすることは考えら
れておらず、メインメモリ及び2次キャッシュメモリは
共通のデータバスに接続している。
キャッシュメモリとを同時にアクセスすることは考えら
れておらず、メインメモリ及び2次キャッシュメモリは
共通のデータバスに接続している。
【0007】複数のメモリからのデータの読出し及び複
数のメモリへのデータの書込みを独立させるためには、
データバスは各メモリ毎に分離させる必要がある。この
場合でも、回路規模を低減させるために、アドレス発生
回路及びアドレスバスを共通化させることが考えられ
る。
数のメモリへのデータの書込みを独立させるためには、
データバスは各メモリ毎に分離させる必要がある。この
場合でも、回路規模を低減させるために、アドレス発生
回路及びアドレスバスを共通化させることが考えられ
る。
【0008】ところが、所定のメモリに対するアクセス
中に他のメモリに対する書込み命令の割り込みが発生す
ることがある。そうすると、アドレス発生回路のアドレ
スカウンタが共通であるので、先行するメモリへのアド
レスと同一のアドレスが他のメモリにも供給されること
になり、他のメモリには要求元が必要とする正しい書込
み開始アドレスから書込みが行われない。この場合で
も、他のメモリに対する書込みを強行することにより書
込みを行うことができるが、正しい書込み位置に書込ま
れていないことから、読出し時に必要なデータを正しく
読出すことはできない。
中に他のメモリに対する書込み命令の割り込みが発生す
ることがある。そうすると、アドレス発生回路のアドレ
スカウンタが共通であるので、先行するメモリへのアド
レスと同一のアドレスが他のメモリにも供給されること
になり、他のメモリには要求元が必要とする正しい書込
み開始アドレスから書込みが行われない。この場合で
も、他のメモリに対する書込みを強行することにより書
込みを行うことができるが、正しい書込み位置に書込ま
れていないことから、読出し時に必要なデータを正しく
読出すことはできない。
【0009】従って、アドレスバスが共通でデータバス
が分離した複数のメモリ領域を有する装置においては、
所定のメモリに対するアクセス中に他のメモリに対する
アクセス要求が発生した場合には、先行するメモリアク
セスが終了しアドレスバスが開放されるまで他のメモリ
に対するアクセスを開始することはできない。このた
め、処理に長時間を要することがあるという問題点があ
った。
が分離した複数のメモリ領域を有する装置においては、
所定のメモリに対するアクセス中に他のメモリに対する
アクセス要求が発生した場合には、先行するメモリアク
セスが終了しアドレスバスが開放されるまで他のメモリ
に対するアクセスを開始することはできない。このた
め、処理に長時間を要することがあるという問題点があ
った。
【0010】
【発明が解決しようとする課題】このように、上述した
従来のメモリ制御装置においては、アドレスバスが共通
でデータバスが分離した複数のメモリ領域に対するアク
セスを制御する場合には、所定のメモリに対するアクセ
スが終了してアドレスバスが開放された後に他のメモリ
に対するアクセスを行う必要があり、処理に長時間を要
するという問題点があった。
従来のメモリ制御装置においては、アドレスバスが共通
でデータバスが分離した複数のメモリ領域に対するアク
セスを制御する場合には、所定のメモリに対するアクセ
スが終了してアドレスバスが開放された後に他のメモリ
に対するアクセスを行う必要があり、処理に長時間を要
するという問題点があった。
【0011】本発明は、所定のメモリに対する先行する
メモリアクセス途中において、他のメモリに対する正常
なアクセスを可能にすることにより、処理を高速化する
ことができるメモリ制御装置、メモリ制御方法及びメモ
リ制御プログラムを記憶した媒体を提供することを目的
とする。
メモリアクセス途中において、他のメモリに対する正常
なアクセスを可能にすることにより、処理を高速化する
ことができるメモリ制御装置、メモリ制御方法及びメモ
リ制御プログラムを記憶した媒体を提供することを目的
とする。
【0012】
【課題を解決するための手段】本発明の請求項1に係る
メモリ制御装置は、相互に独立した複数の記憶領域に対
して同時に共通のアドレスを指定することが可能なアド
レス指定手段と、前記複数の記憶領域のうちの第1の記
憶領域に対する先行したアクセス途中で前記複数の記憶
領域のうちの第2の記憶領域に書込みを行った場合に
は、前記第2の記憶領域に対する読出し処理に際して前
記第2の記憶領域に対する書込みアドレスに対応した読
出しアドレスを発生する読出しアドレス発生手段とを具
備したものであり、本発明の請求項4に係るメモリ制御
方法は、相互に独立した複数の記憶領域のうちの第1の
記憶領域にアクセスを行う処理と、前記第1の記憶領域
に対する先行したアクセス途中で前記複数の記憶領域の
うちの第2の記憶領域に書込みを行う場合には前記第2
の記憶領域に対する書込みアドレスに関する情報を記憶
する処理と、前記第2の記憶領域に対する読出しを行う
場合には前記第2の記憶領域に対する前記書込みアドレ
スに関する情報に基づいて読出しアドレスを発生する処
理とを具備したものであり、本発明の請求項6に係るメ
モリ制御プログラムを記憶した媒体は、相互に独立した
複数の記憶領域毎にそのアクセス状態を示す状態フラグ
を初期化する処理と、前記複数の記憶領域毎にアクセス
要求を判定する処理と、前記状態フラグに基づいて前記
複数の記憶領域のうちの所定の記憶領域に対するアクセ
ス要求が単独で発生したか又は他の記憶領域に対するア
クセス途中で発生したかを判定する処理と、アクセス要
求が単独で発生した場合にはアクセス開始要求アドレス
に基づいてアドレスを発生し、アクセス要求が他の記憶
領域に対するアクセス途中で発生した場合には現在のア
ドレスを書込み開始アドレスとして保持し、読出し要求
時に書込みアドレスに対応した読出しアドレスを発生す
る処理と、発生したアドレスに基づいて前記複数の記憶
領域にアクセスを行う処理と、前記状態フラグを更新す
る処理とをコンピュータに実行させるためのメモリ制御
プログラムを記憶したものである。
メモリ制御装置は、相互に独立した複数の記憶領域に対
して同時に共通のアドレスを指定することが可能なアド
レス指定手段と、前記複数の記憶領域のうちの第1の記
憶領域に対する先行したアクセス途中で前記複数の記憶
領域のうちの第2の記憶領域に書込みを行った場合に
は、前記第2の記憶領域に対する読出し処理に際して前
記第2の記憶領域に対する書込みアドレスに対応した読
出しアドレスを発生する読出しアドレス発生手段とを具
備したものであり、本発明の請求項4に係るメモリ制御
方法は、相互に独立した複数の記憶領域のうちの第1の
記憶領域にアクセスを行う処理と、前記第1の記憶領域
に対する先行したアクセス途中で前記複数の記憶領域の
うちの第2の記憶領域に書込みを行う場合には前記第2
の記憶領域に対する書込みアドレスに関する情報を記憶
する処理と、前記第2の記憶領域に対する読出しを行う
場合には前記第2の記憶領域に対する前記書込みアドレ
スに関する情報に基づいて読出しアドレスを発生する処
理とを具備したものであり、本発明の請求項6に係るメ
モリ制御プログラムを記憶した媒体は、相互に独立した
複数の記憶領域毎にそのアクセス状態を示す状態フラグ
を初期化する処理と、前記複数の記憶領域毎にアクセス
要求を判定する処理と、前記状態フラグに基づいて前記
複数の記憶領域のうちの所定の記憶領域に対するアクセ
ス要求が単独で発生したか又は他の記憶領域に対するア
クセス途中で発生したかを判定する処理と、アクセス要
求が単独で発生した場合にはアクセス開始要求アドレス
に基づいてアドレスを発生し、アクセス要求が他の記憶
領域に対するアクセス途中で発生した場合には現在のア
ドレスを書込み開始アドレスとして保持し、読出し要求
時に書込みアドレスに対応した読出しアドレスを発生す
る処理と、発生したアドレスに基づいて前記複数の記憶
領域にアクセスを行う処理と、前記状態フラグを更新す
る処理とをコンピュータに実行させるためのメモリ制御
プログラムを記憶したものである。
【0013】本発明の請求項1においては、アドレス指
定手段によって、複数の記憶領域に同時に共通のアドレ
スを指定することができる。これにより、複数の記憶領
域に対して同時にアクセス可能である。読出しアドレス
発生手段は、第1の記憶領域に対する先行したアクセス
途中で第2の記憶領域に書込みを行った場合には、この
書込みアドレスに対応した読出しアドレスを第2の記憶
領域に指定する。こうして、第2の記憶領域に記憶され
たデータを確実に読出す。
定手段によって、複数の記憶領域に同時に共通のアドレ
スを指定することができる。これにより、複数の記憶領
域に対して同時にアクセス可能である。読出しアドレス
発生手段は、第1の記憶領域に対する先行したアクセス
途中で第2の記憶領域に書込みを行った場合には、この
書込みアドレスに対応した読出しアドレスを第2の記憶
領域に指定する。こうして、第2の記憶領域に記憶され
たデータを確実に読出す。
【0014】本発明の請求項4において、第1の記憶領
域に対する先行したアクセス途中で第2の記憶領域に書
込みを行う場合には、この書込みアドレスに関する情報
を記憶する。この情報に基づいて第2の記憶領域に対す
る読出しアドレスを発生する。これにより、第2の記憶
領域に記憶されたデータを確実に読出す。
域に対する先行したアクセス途中で第2の記憶領域に書
込みを行う場合には、この書込みアドレスに関する情報
を記憶する。この情報に基づいて第2の記憶領域に対す
る読出しアドレスを発生する。これにより、第2の記憶
領域に記憶されたデータを確実に読出す。
【0015】本発明の請求項6においては、メモリ制御
プログラムによってコンピュータは、状態フラグを初期
化した後に、複数の記憶領域毎にアクセス要求を判定す
る。次に、状態フラグに基づいてアクセス要求が単独で
発生したか又は他の記憶領域に対するアクセス途中で発
生したかを判定する。アクセス要求が単独で発生した場
合にはアクセス開始要求アドレスに基づいてアドレスを
発生し、アクセス要求が他の記憶領域に対するアクセス
途中で発生した場合には現在のアドレスを書込み開始ア
ドレスとして保持し、読出し要求時に書込みアドレスに
対応した読出しアドレスを発生する。発生したアドレス
に基づいて複数の記憶領域にアクセスを行った後に、状
態フラグを更新する。
プログラムによってコンピュータは、状態フラグを初期
化した後に、複数の記憶領域毎にアクセス要求を判定す
る。次に、状態フラグに基づいてアクセス要求が単独で
発生したか又は他の記憶領域に対するアクセス途中で発
生したかを判定する。アクセス要求が単独で発生した場
合にはアクセス開始要求アドレスに基づいてアドレスを
発生し、アクセス要求が他の記憶領域に対するアクセス
途中で発生した場合には現在のアドレスを書込み開始ア
ドレスとして保持し、読出し要求時に書込みアドレスに
対応した読出しアドレスを発生する。発生したアドレス
に基づいて複数の記憶領域にアクセスを行った後に、状
態フラグを更新する。
【0016】
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態について詳細に説明する。図1は本発明に係る
メモリ制御装置の一実施の形態を示すブロック図であ
る。また、図2は図1の実施の形態のメモリ制御装置を
映像信号処理装置(映像プロセッサ)に組込んだ例を示
すブロック図である。
施の形態について詳細に説明する。図1は本発明に係る
メモリ制御装置の一実施の形態を示すブロック図であ
る。また、図2は図1の実施の形態のメモリ制御装置を
映像信号処理装置(映像プロセッサ)に組込んだ例を示
すブロック図である。
【0017】図2において、外部処理部2は所定の映像
信号を映像プロセッサ1に出力することができるように
なっている。例えば、外部処理部2は、放送信号の受信
装置又は磁気テープの再生装置等によって構成すること
ができる。
信号を映像プロセッサ1に出力することができるように
なっている。例えば、外部処理部2は、放送信号の受信
装置又は磁気テープの再生装置等によって構成すること
ができる。
【0018】映像プロセッサ1は、演算処理部4,5及
び図1のメモリ装置6によって構成している。外部処理
部2からの映像信号は演算処理部4に与え、演算処理部
4の出力は演算処理部5に与えるようになっている。演
算処理部4,5は、メモリ装置6との間でデータの授受
を行いながら、映像信号に対して所定の信号処理を施す
ようになっている。演算処理部4,5は相互に独立して
処理を行うようになっており、演算処理部4,5のメモ
リ装置6に対するアクセスも独立して行う。演算処理部
4,5は、例えば、MAC、DMA及びALU等の機能
を有する。
び図1のメモリ装置6によって構成している。外部処理
部2からの映像信号は演算処理部4に与え、演算処理部
4の出力は演算処理部5に与えるようになっている。演
算処理部4,5は、メモリ装置6との間でデータの授受
を行いながら、映像信号に対して所定の信号処理を施す
ようになっている。演算処理部4,5は相互に独立して
処理を行うようになっており、演算処理部4,5のメモ
リ装置6に対するアクセスも独立して行う。演算処理部
4,5は、例えば、MAC、DMA及びALU等の機能
を有する。
【0019】演算処理部5の出力は映像プロセッサ1の
出力として映像処理部3に供給する。映像処理部3は映
像プロセッサ1の出力に対して所定の信号処理を施すよ
うになっている。映像処理部3は、例えば、走査線変換
処理及びグラフィック処理等を行うことができる。外部
処理部2,映像プロセッサ1及び映像処理部3によっ
て、例えば、符号化映像信号を受信して表示可能なテレ
ビジョン受像機、VTR,DVD等の映像処理回路等を
構成することができる。
出力として映像処理部3に供給する。映像処理部3は映
像プロセッサ1の出力に対して所定の信号処理を施すよ
うになっている。映像処理部3は、例えば、走査線変換
処理及びグラフィック処理等を行うことができる。外部
処理部2,映像プロセッサ1及び映像処理部3によっ
て、例えば、符号化映像信号を受信して表示可能なテレ
ビジョン受像機、VTR,DVD等の映像処理回路等を
構成することができる。
【0020】メモリ装置6は、図1に示すように、メモ
リ制御部11、アドレス発生部12及びメモリ13,14によっ
て構成する。メモリ制御部11には演算処理部4からアク
セス要求信号req0、書込み又は読出し指定信号_R
/W0、アクセス開始要求アドレスS_add0及びデ
ータ授受数Num0を与え、同様に、演算処理部5から
アクセス要求信号req1、書込み又は読出し指定信号
−R/W1、アクセス開始要求アドレスS_add1及
びデータ授受数Num1を与える。
リ制御部11、アドレス発生部12及びメモリ13,14によっ
て構成する。メモリ制御部11には演算処理部4からアク
セス要求信号req0、書込み又は読出し指定信号_R
/W0、アクセス開始要求アドレスS_add0及びデ
ータ授受数Num0を与え、同様に、演算処理部5から
アクセス要求信号req1、書込み又は読出し指定信号
−R/W1、アクセス開始要求アドレスS_add1及
びデータ授受数Num1を与える。
【0021】アクセス要求信号req0,1は夫々演算
処理部4,5がメモリ13,14に対するアクセスを要求し
ているか否かを示し、書込み又は読出し指定信号_R/
W0,1は夫々メモリ13,14に対するアクセスが書込み
であるか読出しであるかを示し、アクセス開始要求アド
レスS_add0,1は夫々メモリ13,14に指定するア
クセス開始時のアドレス(アクセス開始アドレス)を示
し、データ授受数Num0,1は夫々メモリ13,14との
間で1回のアクセスに授受するデータ数(アドレス数)
を示している。
処理部4,5がメモリ13,14に対するアクセスを要求し
ているか否かを示し、書込み又は読出し指定信号_R/
W0,1は夫々メモリ13,14に対するアクセスが書込み
であるか読出しであるかを示し、アクセス開始要求アド
レスS_add0,1は夫々メモリ13,14に指定するア
クセス開始時のアドレス(アクセス開始アドレス)を示
し、データ授受数Num0,1は夫々メモリ13,14との
間で1回のアクセスに授受するデータ数(アドレス数)
を示している。
【0022】メモリ制御部11は、メモリ13に対して、デ
バイスをアクティブにするための領域指定信号_CE
0、メモリに書込みを許可するための書込み許可信号_
WE0及びメモリに読出しを許可するための読出し許可
信号_RE0を供給し、同様に、メモリ14に対しても、
領域指定信号_CE1、書込み許可信号_WE1及び読
出し許可信号_RE1を供給する。また、メモリ制御部
11は、メモリ13,14に対するアクセス開始アドレスLo
ad_addをアドレス発生部12に供給するようになっ
ている。
バイスをアクティブにするための領域指定信号_CE
0、メモリに書込みを許可するための書込み許可信号_
WE0及びメモリに読出しを許可するための読出し許可
信号_RE0を供給し、同様に、メモリ14に対しても、
領域指定信号_CE1、書込み許可信号_WE1及び読
出し許可信号_RE1を供給する。また、メモリ制御部
11は、メモリ13,14に対するアクセス開始アドレスLo
ad_addをアドレス発生部12に供給するようになっ
ている。
【0023】メモリ制御部11は、アクセス要求信号re
q0,1によってメモリ13,14へのアクセス要求が発生
したことを判断すると、メモリ13,14に対するアクセス
が競合していない場合には、アクセス要求されたメモリ
13,14に対して領域指定信号_CE0,1供給すること
によりメモリ13,14をアクティブにし、書込み又は読出
し指定信号_R/W0,1に応じて書込み許可信号_W
E0,1又は読出し許可信号_RE0,1をメモリ13,
14に与え、アクセス開始要求アドレスS_add0,1
に応じてアクセス開始アドレスLoad_addをアド
レス発生部12に与える。
q0,1によってメモリ13,14へのアクセス要求が発生
したことを判断すると、メモリ13,14に対するアクセス
が競合していない場合には、アクセス要求されたメモリ
13,14に対して領域指定信号_CE0,1供給すること
によりメモリ13,14をアクティブにし、書込み又は読出
し指定信号_R/W0,1に応じて書込み許可信号_W
E0,1又は読出し許可信号_RE0,1をメモリ13,
14に与え、アクセス開始要求アドレスS_add0,1
に応じてアクセス開始アドレスLoad_addをアド
レス発生部12に与える。
【0024】更に、本実施の形態においては、メモリ制
御部11はメモリ13,14のいずれか一方に対するアクセス
が行われている場合であっても、後から発生したアクセ
ス要求が書込みを指示するものである場合には、このア
クセス要求に応じて、対応するメモリに領域指定信号_
CE0,1及び書込み許可信号_WE0,1を出力する
と共に、アドレス発生部12にアクセス開始アドレスLo
ad_addを出力するようになっている。即ち、本実
施の形態においては、一方のメモリに対して書込み又は
読出が行われている場合であっても、他方のメモリに対
する書込みを行うようになっている。
御部11はメモリ13,14のいずれか一方に対するアクセス
が行われている場合であっても、後から発生したアクセ
ス要求が書込みを指示するものである場合には、このア
クセス要求に応じて、対応するメモリに領域指定信号_
CE0,1及び書込み許可信号_WE0,1を出力する
と共に、アドレス発生部12にアクセス開始アドレスLo
ad_addを出力するようになっている。即ち、本実
施の形態においては、一方のメモリに対して書込み又は
読出が行われている場合であっても、他方のメモリに対
する書込みを行うようになっている。
【0025】アドレス発生部12は、図示しないアドレス
カウンタを有しており、メモリ制御部11からアクセス開
始アドレスLoad_addが与えられると、この開始
アドレスを初期値としてカウントを行い、カウント出力
を書込み又は読出しアドレスとしてアドレスバス17を介
して出力するようになっている。アドレスバス17はメモ
リ13,14及びメモリ制御部11に接続しており、アドレス
発生部12からのアドレスはメモリ13,14及びメモリ制御
部11に供給するようになっている。
カウンタを有しており、メモリ制御部11からアクセス開
始アドレスLoad_addが与えられると、この開始
アドレスを初期値としてカウントを行い、カウント出力
を書込み又は読出しアドレスとしてアドレスバス17を介
して出力するようになっている。アドレスバス17はメモ
リ13,14及びメモリ制御部11に接続しており、アドレス
発生部12からのアドレスはメモリ13,14及びメモリ制御
部11に供給するようになっている。
【0026】メモリ制御部11は、アドレス発生部12から
のアドレス値を保持するためのレジスタを有しており、
メモリ13,14のいずれか一方に対するアクセス中におい
て他方のメモリに対する書込みを行った場合には、他方
のメモリに対する書込み開始時にアドレス発生部12から
出力されるアドレス値、即ち、他方のメモリに対する書
込み開始アドレスを保持するようになっている。いずれ
か一方のメモリに対するアクセス中に書込みが開始され
た他方のメモリに対して読出し要求が発生した場合に
は、メモリ制御部11は、レジスタに格納されている書込
み開始アドレスに基づいてアクセス開始アドレスLoa
d_addを生成して出力するようになっている。
のアドレス値を保持するためのレジスタを有しており、
メモリ13,14のいずれか一方に対するアクセス中におい
て他方のメモリに対する書込みを行った場合には、他方
のメモリに対する書込み開始時にアドレス発生部12から
出力されるアドレス値、即ち、他方のメモリに対する書
込み開始アドレスを保持するようになっている。いずれ
か一方のメモリに対するアクセス中に書込みが開始され
た他方のメモリに対して読出し要求が発生した場合に
は、メモリ制御部11は、レジスタに格納されている書込
み開始アドレスに基づいてアクセス開始アドレスLoa
d_addを生成して出力するようになっている。
【0027】なお、メモリ制御部11は、メモリ13,14の
書込み開始アドレスを夫々write_start_add[0]及びwrit
e_start_add[1]として記憶するレジスタを有すると共
に、データ授受数Num0,1から求めたメモリ13,14
のアクセス終了アドレスを夫々end_add[0]及びend_add
[1]として記憶するレジスタを有する。
書込み開始アドレスを夫々write_start_add[0]及びwrit
e_start_add[1]として記憶するレジスタを有すると共
に、データ授受数Num0,1から求めたメモリ13,14
のアクセス終了アドレスを夫々end_add[0]及びend_add
[1]として記憶するレジスタを有する。
【0028】メモリ13はデータバス15に接続し、メモリ
14はデータバス16に接続している。データバス15,16
は、相互に独立して夫々演算処理部4,5に接続してい
る。メモリ13は、領域指定信号_CE0、書込み許可信
号_WE0及び読出し許可信号_RE0をメモリ制御部
11から受け取り、アクセス開始アドレスLoad_ad
dに基づくアドレスをアドレス発生部12から受け取っ
て、データバス15との間でデータの授受を行い、指定さ
れたアドレスにデータを格納すると共に、指定されたア
ドレスに格納されたデータを読出す。同様に、メモリ14
は、領域指定信号_CE1、書込み許可信号_WE1及
び読出し許可信号_RE1をメモリ制御部11から受け取
り、アクセス開始アドレスLoad_addに基づくア
ドレスをアドレス発生部12から受け取って、データバス
16との間でデータの授受を行い、指定されたアドレスに
データを格納すると共に、指定されたアドレスに格納さ
れたデータを読出すようになっている。
14はデータバス16に接続している。データバス15,16
は、相互に独立して夫々演算処理部4,5に接続してい
る。メモリ13は、領域指定信号_CE0、書込み許可信
号_WE0及び読出し許可信号_RE0をメモリ制御部
11から受け取り、アクセス開始アドレスLoad_ad
dに基づくアドレスをアドレス発生部12から受け取っ
て、データバス15との間でデータの授受を行い、指定さ
れたアドレスにデータを格納すると共に、指定されたア
ドレスに格納されたデータを読出す。同様に、メモリ14
は、領域指定信号_CE1、書込み許可信号_WE1及
び読出し許可信号_RE1をメモリ制御部11から受け取
り、アクセス開始アドレスLoad_addに基づくア
ドレスをアドレス発生部12から受け取って、データバス
16との間でデータの授受を行い、指定されたアドレスに
データを格納すると共に、指定されたアドレスに格納さ
れたデータを読出すようになっている。
【0029】なお、メモリ装置6は、図2のように映像
処理を行う装置だけでなく、いずれの種類の装置にも適
用することができることは明らかである。
処理を行う装置だけでなく、いずれの種類の装置にも適
用することができることは明らかである。
【0030】次に、このように構成された実施の形態の
動作について図3及び図4の説明図を参照して説明す
る。図3(a)はメモリ13に対するアクセスを示し、図
3(b)はメモリ14に対するアクセスを示している。図
3の縦軸はメモリ13,14のアドレスを示しており、図3
(a),(b)の縦軸の同一位置は同一時間のアクセス
を示している。
動作について図3及び図4の説明図を参照して説明す
る。図3(a)はメモリ13に対するアクセスを示し、図
3(b)はメモリ14に対するアクセスを示している。図
3の縦軸はメモリ13,14のアドレスを示しており、図3
(a),(b)の縦軸の同一位置は同一時間のアクセス
を示している。
【0031】先ず、いずれか一方のメモリ、例えばメモ
リ13に書込み又は読出しが行われている最中に、他方の
メモリ14への書込み要求が発生した場合について説明す
る。
リ13に書込み又は読出しが行われている最中に、他方の
メモリ14への書込み要求が発生した場合について説明す
る。
【0032】いま、図2の演算処理部4からアクセス要
求信号req0がメモリ制御部11に供給されるものとす
る。演算処理部4は、同時に、書込み又は読出し指定信
号_R/W0、アクセス開始要求アドレスS_add0
及びデータ授受数Num0をメモリ制御部11に出力す
る。書込み又は読出し指定信号_R/W0によって書込
み又は読出しを指定し、アクセス開始要求アドレスS_
add0によってメモリ13の先頭アドレスを示す0番地
を指定し、データ授受数Num0によってM番地分のデ
ータの伝送を指定するものとする。
求信号req0がメモリ制御部11に供給されるものとす
る。演算処理部4は、同時に、書込み又は読出し指定信
号_R/W0、アクセス開始要求アドレスS_add0
及びデータ授受数Num0をメモリ制御部11に出力す
る。書込み又は読出し指定信号_R/W0によって書込
み又は読出しを指定し、アクセス開始要求アドレスS_
add0によってメモリ13の先頭アドレスを示す0番地
を指定し、データ授受数Num0によってM番地分のデ
ータの伝送を指定するものとする。
【0033】メモリ制御部11は、メモリ13に対して、メ
モリ13をアクティブにするための領域指定信号_CE
0、書込みを指定する書込み許可信号_WE0又は読出
しを指定する読出し許可信号_RE0を出力すると共
に、アドレス発生部12に対して0番地を指定するアクセ
ス開始アドレスLoad_addを出力する。アドレス
発生部12は0番地を開始アドレスとしてカウントを開始
し、アドレスをインクリメントしながらメモリ13に供給
する。
モリ13をアクティブにするための領域指定信号_CE
0、書込みを指定する書込み許可信号_WE0又は読出
しを指定する読出し許可信号_RE0を出力すると共
に、アドレス発生部12に対して0番地を指定するアクセ
ス開始アドレスLoad_addを出力する。アドレス
発生部12は0番地を開始アドレスとしてカウントを開始
し、アドレスをインクリメントしながらメモリ13に供給
する。
【0034】これにより、メモリ13は、図3(a)の斜
線部に示すように、0番地から書込み又は読出しを開始
する。書込みの場合には、演算処理部4からのデータが
データバス15を介してメモリ13に供給されて指定された
アドレスに書込まれる。読出しの場合には、メモリ13の
指定されたアドレスから読出しを順次行い、読出したデ
ータはデータバス15を介して演算処理部4に供給され
る。
線部に示すように、0番地から書込み又は読出しを開始
する。書込みの場合には、演算処理部4からのデータが
データバス15を介してメモリ13に供給されて指定された
アドレスに書込まれる。読出しの場合には、メモリ13の
指定されたアドレスから読出しを順次行い、読出したデ
ータはデータバス15を介して演算処理部4に供給され
る。
【0035】いま、メモリ13に対するアクセスの途中
で、演算処理部5からメモリ14に対する書込み要求が発
生するものとする。演算処理部5は、メモリ制御部11に
対してアクセス要求信号req1、書込み又は読出し指
定信号_R/W1、アクセス開始要求アドレスS_ad
d1及びデータ授受数Num1を出力する。なお、書込
み又は読出し指定信号_R/W1によって書込みを指定
し、アクセス開始要求アドレスS_add1によって0
番地を指定し、データ授受数Num1によってN番地分
のデータの書込みを指定するものとする。
で、演算処理部5からメモリ14に対する書込み要求が発
生するものとする。演算処理部5は、メモリ制御部11に
対してアクセス要求信号req1、書込み又は読出し指
定信号_R/W1、アクセス開始要求アドレスS_ad
d1及びデータ授受数Num1を出力する。なお、書込
み又は読出し指定信号_R/W1によって書込みを指定
し、アクセス開始要求アドレスS_add1によって0
番地を指定し、データ授受数Num1によってN番地分
のデータの書込みを指定するものとする。
【0036】例えば、メモリ13がn番地にアクセスを行
うと同時に、メモリ14に対するアクセスを開始するよう
に書込み要求が発生するものとする。メモリ制御部11
は、この書込みタイミングに合わせて、メモリ14にメモ
リ14をアクティブにする領域指定信号_CE1、書込み
許可信号_WE1を出力する。
うと同時に、メモリ14に対するアクセスを開始するよう
に書込み要求が発生するものとする。メモリ制御部11
は、この書込みタイミングに合わせて、メモリ14にメモ
リ14をアクティブにする領域指定信号_CE1、書込み
許可信号_WE1を出力する。
【0037】この場合には、既にメモリ13に対してアク
セスが行われているので、メモリ制御部11は、演算処理
部5から書込み開始アドレスとして指定された0番地を
無視する。これにより、アドレス発生部12は、メモリ14
へのアクセスに拘わらず、アドレスカウンタのカウント
を継続する。従って、メモリ制御部11からメモリ14に供
給された書込み許可信号_WE1によってメモリ14が書
込みを開始するアドレスはn番地となる。
セスが行われているので、メモリ制御部11は、演算処理
部5から書込み開始アドレスとして指定された0番地を
無視する。これにより、アドレス発生部12は、メモリ14
へのアクセスに拘わらず、アドレスカウンタのカウント
を継続する。従って、メモリ制御部11からメモリ14に供
給された書込み許可信号_WE1によってメモリ14が書
込みを開始するアドレスはn番地となる。
【0038】アドレス発生部12がn番地を示すアドレス
をメモリ13,14に出力すると、メモリ13ではn番地に対
するアクセスが行われ、メモリ14では演算処理部5から
出力されたデータがデータバス16を介してメモリ14に供
給されてn番地に書込まれる。本実施の形態において
は、アドレス発生部12が出力したn番地を示すアドレス
はメモリ14の書込み開始アドレスとしてメモリ制御部11
にも供給する。
をメモリ13,14に出力すると、メモリ13ではn番地に対
するアクセスが行われ、メモリ14では演算処理部5から
出力されたデータがデータバス16を介してメモリ14に供
給されてn番地に書込まれる。本実施の形態において
は、アドレス発生部12が出力したn番地を示すアドレス
はメモリ14の書込み開始アドレスとしてメモリ制御部11
にも供給する。
【0039】メモリ制御部11は入力された書込み開始ア
ドレス(write_start_add[1])をレジスタに格納する。
更に、メモリ制御部11は、現在のアドレス(adress)で
ある書込み開始アドレス(write_start_add[1])とアク
セス要求元からのデータ授受数Num1との和から1を
引いて書込み終了アドレス(=n+N−1)を求め、レ
ジスタにアクセス終了アドレス(end_add[1])として設
定する。
ドレス(write_start_add[1])をレジスタに格納する。
更に、メモリ制御部11は、現在のアドレス(adress)で
ある書込み開始アドレス(write_start_add[1])とアク
セス要求元からのデータ授受数Num1との和から1を
引いて書込み終了アドレス(=n+N−1)を求め、レ
ジスタにアクセス終了アドレス(end_add[1])として設
定する。
【0040】アドレス発生部12のアドレスカウンタはカ
ウントアップを続け、アドレス発生部12はアドレス値と
してn,n+1,n+2,…を順次出力する。こうし
て、メモリ13に対するアクセス及びメモリ14に対する書
込みを並行して順次行う。
ウントアップを続け、アドレス発生部12はアドレス値と
してn,n+1,n+2,…を順次出力する。こうし
て、メモリ13に対するアクセス及びメモリ14に対する書
込みを並行して順次行う。
【0041】いま、(n+N−1)がMよりも大きいも
のとする。メモリ制御部11はアドレス発生部12からM番
地を示すアドレスが与えられると、レジスタに格納され
ているアクセス終了アドレスend_add[0]との比較によっ
て、メモリ13に対するアクセスの終了を判断する。メモ
リ13のM番地に対するアクセスが終了すると、メモリ制
御部11はメモリ13に対する領域指定信号_CE0と書込
み許可信号_WE0又は読出し許可信号_RE0とによ
って、メモリ13へのアクセスを終了させる。
のとする。メモリ制御部11はアドレス発生部12からM番
地を示すアドレスが与えられると、レジスタに格納され
ているアクセス終了アドレスend_add[0]との比較によっ
て、メモリ13に対するアクセスの終了を判断する。メモ
リ13のM番地に対するアクセスが終了すると、メモリ制
御部11はメモリ13に対する領域指定信号_CE0と書込
み許可信号_WE0又は読出し許可信号_RE0とによ
って、メモリ13へのアクセスを終了させる。
【0042】一方、メモリ制御部11はメモリ14に対する
書込みは継続させる。メモリ14に対する書込みが続けら
れて、メモリ14の(n+N−1)番地の書込みが終了す
ると、メモリ制御部11はアドレス発生部12の出力とレジ
スタに格納されているアクセス終了アドレスend_add[1]
とから書込みが終了したことを判断する。そうすると、
メモリ制御部11は、メモリ14に対する領域指定信号_C
E1及び書込み許可信号_WE1によって、メモリ14へ
の書込みを終了させる。
書込みは継続させる。メモリ14に対する書込みが続けら
れて、メモリ14の(n+N−1)番地の書込みが終了す
ると、メモリ制御部11はアドレス発生部12の出力とレジ
スタに格納されているアクセス終了アドレスend_add[1]
とから書込みが終了したことを判断する。そうすると、
メモリ制御部11は、メモリ14に対する領域指定信号_C
E1及び書込み許可信号_WE1によって、メモリ14へ
の書込みを終了させる。
【0043】次に、先行するメモリアクセスに並行して
書込みが行われたメモリから読出しを行うものとする。
例えば、図3(b)に示す状態で書込みが行われたメモ
リ14に対して演算処理部5から図3(b)の斜線部に示
す領域に格納されたデータの読出し要求が発生するもの
とする。図4はこの場合のメモリアクセスを示してい
る。
書込みが行われたメモリから読出しを行うものとする。
例えば、図3(b)に示す状態で書込みが行われたメモ
リ14に対して演算処理部5から図3(b)の斜線部に示
す領域に格納されたデータの読出し要求が発生するもの
とする。図4はこの場合のメモリアクセスを示してい
る。
【0044】メモリ制御部11は、演算処理部5からアク
セス要求信号req1、書込み又は読出し指定信号_R
/W1、アクセス開始要求アドレスS_add1及びデ
ータ授受数Num1の供給を受ける。演算処理部5は、
書込み又は読出し指定信号_R/W1によって読出しを
指示する。ここで、演算処理部5は、前回の書込み要求
時に書込んだデータのうち先頭から(a−1)アドレス
分を除き、次のaアドレス分から(a+N′)分のデー
タ(図4の斜線部)のみを読出すものとする。なお、0
≦a≦N−1であり、N′≦Nである。即ち、この場合
には、演算処理部5は、アクセス開始要求アドレスS_
add1によってa番地を指示し、データ授受数Num
1によってN′アドレス分のデータの読出しを指示す
る。
セス要求信号req1、書込み又は読出し指定信号_R
/W1、アクセス開始要求アドレスS_add1及びデ
ータ授受数Num1の供給を受ける。演算処理部5は、
書込み又は読出し指定信号_R/W1によって読出しを
指示する。ここで、演算処理部5は、前回の書込み要求
時に書込んだデータのうち先頭から(a−1)アドレス
分を除き、次のaアドレス分から(a+N′)分のデー
タ(図4の斜線部)のみを読出すものとする。なお、0
≦a≦N−1であり、N′≦Nである。即ち、この場合
には、演算処理部5は、アクセス開始要求アドレスS_
add1によってa番地を指示し、データ授受数Num
1によってN′アドレス分のデータの読出しを指示す
る。
【0045】メモリ制御部11はメモリ14に対して読出し
を行うための領域指定信号_CE1及び読出し許可信号
_RE1を出力する。本実施の形態においては、メモリ
制御部11は、レジスタに格納されていた書込み開始アド
レス(write_start_add[1])を呼び出し、アクセス開始
要求アドレスと加算する。メモリ制御部11は加算結果、
この場合には(n+a)番地をアクセス開始アドレスL
oad_addとしてアドレス発生部12に出力する。ま
た、メモリ制御部11は加算結果である(n+a)とデー
タ授受数Num1との和から1を引いて読出し終了アド
レス(=n+a+N′−1)を求め、レジスタにアクセ
ス終了アドレス(end_add[1])として設定する。
を行うための領域指定信号_CE1及び読出し許可信号
_RE1を出力する。本実施の形態においては、メモリ
制御部11は、レジスタに格納されていた書込み開始アド
レス(write_start_add[1])を呼び出し、アクセス開始
要求アドレスと加算する。メモリ制御部11は加算結果、
この場合には(n+a)番地をアクセス開始アドレスL
oad_addとしてアドレス発生部12に出力する。ま
た、メモリ制御部11は加算結果である(n+a)とデー
タ授受数Num1との和から1を引いて読出し終了アド
レス(=n+a+N′−1)を求め、レジスタにアクセ
ス終了アドレス(end_add[1])として設定する。
【0046】アドレス発生部12はa番地を開始アドレス
として順次読出しアドレスを発生してメモリ14に出力す
る。メモリ14は領域指定信号_CE1によってアクティ
ブとなり、読出し許可信号_RE1によって読出しが許
可されて、アドレス発生部12からの読出しアドレスに格
納されたデータを順次読出す。これにより、メモリ14の
a番地から(n+a+N′−1)番地までのデータ(図
4斜線部)が順次読出されて、データバス16を介して演
算処理部5に供給される。こうして、演算処理部5は要
求したデータをメモリ14から読出すことができる。
として順次読出しアドレスを発生してメモリ14に出力す
る。メモリ14は領域指定信号_CE1によってアクティ
ブとなり、読出し許可信号_RE1によって読出しが許
可されて、アドレス発生部12からの読出しアドレスに格
納されたデータを順次読出す。これにより、メモリ14の
a番地から(n+a+N′−1)番地までのデータ(図
4斜線部)が順次読出されて、データバス16を介して演
算処理部5に供給される。こうして、演算処理部5は要
求したデータをメモリ14から読出すことができる。
【0047】このように本実施の形態においては、複数
のメモリに対して共通のアドレスバスによってアドレス
を指定し分離したデータバスによってデータの授受を行
う場合には、先行するメモリアクセスに並行して書込み
を行うと共に、後から書込みを行ったメモリに対する書
込み開始アドレスを保持し、このメモリに対する読出し
時に、保持した書込み開始アドレスから読出し開始アド
レスを算出することによって、要求されたデータの読出
しを可能にしている。これにより、先行するメモリアク
セスがある場合でも、アドレスバスが開放されるまでア
クセス待ちを行う必要はなく、処理を高速化することが
できる。
のメモリに対して共通のアドレスバスによってアドレス
を指定し分離したデータバスによってデータの授受を行
う場合には、先行するメモリアクセスに並行して書込み
を行うと共に、後から書込みを行ったメモリに対する書
込み開始アドレスを保持し、このメモリに対する読出し
時に、保持した書込み開始アドレスから読出し開始アド
レスを算出することによって、要求されたデータの読出
しを可能にしている。これにより、先行するメモリアク
セスがある場合でも、アドレスバスが開放されるまでア
クセス待ちを行う必要はなく、処理を高速化することが
できる。
【0048】なお、上記実施の形態においては、2つの
メモリを用いた例について説明したが、3つ以上のメモ
リを用い、アクセスが競合するメモリが2つ以上である
場合でも適用することができる。なお、この場合には、
メモリ制御部は各メモリに対する書込み開始アドレスを
保持するレジスタを備えればよい。
メモリを用いた例について説明したが、3つ以上のメモ
リを用い、アクセスが競合するメモリが2つ以上である
場合でも適用することができる。なお、この場合には、
メモリ制御部は各メモリに対する書込み開始アドレスを
保持するレジスタを備えればよい。
【0049】図5乃至図14は本発明の他の実施の形態
に係るメモリ制御方法を説明するためのフローチャート
である。本実施の形態は図1におけるメモリ制御部11及
びアドレス発生部12をソフトウェアにより実現した例で
ある。図5はイニシャライズ処理Aを示し、図6はメモ
リ制御信号発生処理Bを示し、図7はフラグ総和レジス
タ判定処理Cを示し、図8はフラグ総和レジスタが
“0”の場合の処理Dを示し、図9はフラグ総和レジス
タが“0”でない場合の処理Eを示し、図10はメモリ
書込み/読出し処理Fを示し、図11は現在アドレス値
とアクセス終了アドレス値との比較処理Gを示し、図1
2はアクセス終了フラグの状態検出処理Hを示し、図1
3はメモリ領域指定値nと現在アドレスのレジスタの処
理Iを示し、図14はメモリのアクセス状況の検出処理
Jを示している。図5乃至図14において符号B乃至J
は各処理の連結を示している。なお、図5乃至図14は
C言語に対応した記述方法で記載している。
に係るメモリ制御方法を説明するためのフローチャート
である。本実施の形態は図1におけるメモリ制御部11及
びアドレス発生部12をソフトウェアにより実現した例で
ある。図5はイニシャライズ処理Aを示し、図6はメモ
リ制御信号発生処理Bを示し、図7はフラグ総和レジス
タ判定処理Cを示し、図8はフラグ総和レジスタが
“0”の場合の処理Dを示し、図9はフラグ総和レジス
タが“0”でない場合の処理Eを示し、図10はメモリ
書込み/読出し処理Fを示し、図11は現在アドレス値
とアクセス終了アドレス値との比較処理Gを示し、図1
2はアクセス終了フラグの状態検出処理Hを示し、図1
3はメモリ領域指定値nと現在アドレスのレジスタの処
理Iを示し、図14はメモリのアクセス状況の検出処理
Jを示している。図5乃至図14において符号B乃至J
は各処理の連結を示している。なお、図5乃至図14は
C言語に対応した記述方法で記載している。
【0050】本実施の形態においては、相互に独立した
0乃至Nの(N+1)個のメモリ格納領域R0 乃至RN
に対してアクセスを行う例について説明する。
0乃至Nの(N+1)個のメモリ格納領域R0 乃至RN
に対してアクセスを行う例について説明する。
【0051】先ず、本実施の形態に係るソフトウェアに
おいて用いるレジスタ及びフラグについて説明する。本
実施の形態において用いるフラグとしては、各領域のデ
ータ授受の状態(メモリアクセス状態)を表す状態フラ
グflag[n] とアクセス終了を示すアクセス終了フラグen
d[n]とがある。
おいて用いるレジスタ及びフラグについて説明する。本
実施の形態において用いるフラグとしては、各領域のデ
ータ授受の状態(メモリアクセス状態)を表す状態フラ
グflag[n] とアクセス終了を示すアクセス終了フラグen
d[n]とがある。
【0052】また、本実施の形態においては、レジスタ
として、状態フラグの総和flagsum を格納するフラグ総
和レジスタ、書込み開始アドレスwrite_start_add[n]を
格納する書込み開始アドレスレジスタ、アクティブにす
るメモリ格納領域を指定するための領域指定信号_CE[n]
を格納する領域指定レジスタ、書込み許可信号_WE[n]を
格納する書込み許可レジスタ、読出し許可信号_RE[n]を
格納する読出し許可レジスタ、メモリアクセスの要求元
から送られてくるアクセス要求信号req[n]を格納するレ
ジスタ、アクセス要求元から送られてくる書込み又は読
出し指定信号_R/W[n] を格納するレジスタ、メモリアク
セスの要求元から送られてくるデータ授受数num[n]を格
納するレジスタ、メモリアクセスの要求元から送られて
くるアクセス開始要求アドレスS_add[n]を格納するレジ
スタ、及びアクセス終了アドレスend_add[n]を格納する
レジスタを各領域に対応させて用いる。
として、状態フラグの総和flagsum を格納するフラグ総
和レジスタ、書込み開始アドレスwrite_start_add[n]を
格納する書込み開始アドレスレジスタ、アクティブにす
るメモリ格納領域を指定するための領域指定信号_CE[n]
を格納する領域指定レジスタ、書込み許可信号_WE[n]を
格納する書込み許可レジスタ、読出し許可信号_RE[n]を
格納する読出し許可レジスタ、メモリアクセスの要求元
から送られてくるアクセス要求信号req[n]を格納するレ
ジスタ、アクセス要求元から送られてくる書込み又は読
出し指定信号_R/W[n] を格納するレジスタ、メモリアク
セスの要求元から送られてくるデータ授受数num[n]を格
納するレジスタ、メモリアクセスの要求元から送られて
くるアクセス開始要求アドレスS_add[n]を格納するレジ
スタ、及びアクセス終了アドレスend_add[n]を格納する
レジスタを各領域に対応させて用いる。
【0053】また、現在動作中のアドレス値である現在
アドレスadd_now を格納する1つのレジスタを用いる。
アドレスadd_now を格納する1つのレジスタを用いる。
【0054】状態フラグflag[n]は、“0”によってn
番目の各メモリ格納領域R0 乃至Rnにアクセスが行わ
れていないことを示し、“1”(以下、最優先値ともい
う)によってn番目のメモリ格納領域Rn に対して最初
のアクセスが行われていることを示し、“1”以外の値
例えば“2”によってn番目のメモリ格納領域Rn に対
して2番目以後にアクセスが行われていることを示して
いる。従って、状態フラグの総和flagsum は“0”によ
って各メモリ格納領域R0 乃至RN のいずれにもアクセ
スが行われていないことを示し、“1”によって1つの
メモリ格納領域にアクセスが行われていることを示し、
“2”以上の値によって複数のメモリ格納領域にアクセ
スが行われていることを示している。
番目の各メモリ格納領域R0 乃至Rnにアクセスが行わ
れていないことを示し、“1”(以下、最優先値ともい
う)によってn番目のメモリ格納領域Rn に対して最初
のアクセスが行われていることを示し、“1”以外の値
例えば“2”によってn番目のメモリ格納領域Rn に対
して2番目以後にアクセスが行われていることを示して
いる。従って、状態フラグの総和flagsum は“0”によ
って各メモリ格納領域R0 乃至RN のいずれにもアクセ
スが行われていないことを示し、“1”によって1つの
メモリ格納領域にアクセスが行われていることを示し、
“2”以上の値によって複数のメモリ格納領域にアクセ
スが行われていることを示している。
【0055】本実施の形態においては、状態フラグflag
[n] 及びその総和flagsum によって処理を切換えるよう
になっている。後述するように、アクセス要求が発生す
ると、総和flagsum を検出する。総和flagsum が“0”
である場合には、メモリに対して通常の書込み及び読出
しを行う。総和flagsum が“0”でない場合には、状態
フラグflag[n] が“0”であるか否かを検出する。状態
フラグflag[n] が“0”の場合にはn番目のメモリ格納
領域Rn の状態フラグを“2”にして書込み処理を行
い、“0”でない場合には既にn番目のメモリ格納領域
Rn はアクセス中であるものと判断してこのアクセス処
理を継続する。
[n] 及びその総和flagsum によって処理を切換えるよう
になっている。後述するように、アクセス要求が発生す
ると、総和flagsum を検出する。総和flagsum が“0”
である場合には、メモリに対して通常の書込み及び読出
しを行う。総和flagsum が“0”でない場合には、状態
フラグflag[n] が“0”であるか否かを検出する。状態
フラグflag[n] が“0”の場合にはn番目のメモリ格納
領域Rn の状態フラグを“2”にして書込み処理を行
い、“0”でない場合には既にn番目のメモリ格納領域
Rn はアクセス中であるものと判断してこのアクセス処
理を継続する。
【0056】図5はイニシャライズ処理Aを示してい
る。図5のステップS1 において、プログラムの開始後
に各メモリ格納領域Rn を示すnを初期化する。nは0
以上N以下を満たす整数である。ステップS2 ではnが
(N+1)以上となったか否かを判断する。各メモリ格
納領域R0 乃至RN を示すnが(N+1)よりも小さい
場合には、ステップS3 乃至S8 のイニシャライズ処理
を行う。
る。図5のステップS1 において、プログラムの開始後
に各メモリ格納領域Rn を示すnを初期化する。nは0
以上N以下を満たす整数である。ステップS2 ではnが
(N+1)以上となったか否かを判断する。各メモリ格
納領域R0 乃至RN を示すnが(N+1)よりも小さい
場合には、ステップS3 乃至S8 のイニシャライズ処理
を行う。
【0057】ステップS3 では状態フラグflag[n]を
“0”に初期化し、ステップS4 では各領域R0 乃至R
N に対する書込み開始アドレスwrite_start_add[n]を
“0”に初期化する。ステップS5 乃至S8 において
は、夫々領域指定レジスタの値_CE[n]、書込み許可レジ
スタの値_WE[n]及び読出し許可レジスタの値_RE[n]を
“1”にして禁止状態に設定すると共に、アクセス終了
フラグend[n]を“1”にして終了状態に設定する。ステ
ップS9 ではnをインクリメントしてステップS2 に処
理を戻す。
“0”に初期化し、ステップS4 では各領域R0 乃至R
N に対する書込み開始アドレスwrite_start_add[n]を
“0”に初期化する。ステップS5 乃至S8 において
は、夫々領域指定レジスタの値_CE[n]、書込み許可レジ
スタの値_WE[n]及び読出し許可レジスタの値_RE[n]を
“1”にして禁止状態に設定すると共に、アクセス終了
フラグend[n]を“1”にして終了状態に設定する。ステ
ップS9 ではnをインクリメントしてステップS2 に処
理を戻す。
【0058】ステップS2 においてnが(N+1)以上
になると、処理をステップS10に移行する。ステップS
10ではnを0に戻す。ステップS11は各領域R0 乃至R
N における状態フラグの総和flagsum を格納するフラグ
総和レジスタを“0”にクリアする処理を行う。図5の
イニシャライズ処理は1回だけ行い、次に図6に示すメ
モリ制御信号発生処理Bに移行する。
になると、処理をステップS10に移行する。ステップS
10ではnを0に戻す。ステップS11は各領域R0 乃至R
N における状態フラグの総和flagsum を格納するフラグ
総和レジスタを“0”にクリアする処理を行う。図5の
イニシャライズ処理は1回だけ行い、次に図6に示すメ
モリ制御信号発生処理Bに移行する。
【0059】ステップS12,S13は夫々アクセス要求信
号req[n]及び書込み又は読出し指定信号_R/W[n] を取り
込む処理である。ステップS14ではn番目のメモリ格納
領域に対するアクセス要求信号req[n]が“1”であるか
否かを判断する。アクセス要求信号req[n]が“1”でな
い場合、即ち、n番目のメモリ格納領域に対するアクセ
ス要求が発生していない場合には、処理を図13の処理
Iに移行する。アクセス要求が発生した場合にはステッ
プS15に処理を移行する。
号req[n]及び書込み又は読出し指定信号_R/W[n] を取り
込む処理である。ステップS14ではn番目のメモリ格納
領域に対するアクセス要求信号req[n]が“1”であるか
否かを判断する。アクセス要求信号req[n]が“1”でな
い場合、即ち、n番目のメモリ格納領域に対するアクセ
ス要求が発生していない場合には、処理を図13の処理
Iに移行する。アクセス要求が発生した場合にはステッ
プS15に処理を移行する。
【0060】ステップS15,S16はアクセス終了フラグ
end[n]を動作状態にすると共に、領域指定フラグ_CE[n]
を動作状態にする。これにより、n番目のメモリ格納領
域Rn に対するアクセスが可能となる。次のステップS
17では書込み又は読出し指定信号_R/W[n] が“1”であ
るか否かを判断する。書込み又は読出し指定信号_R/W
[n] の“1”は書込みを示し、“0”は読出しを示す。
書込み又は読出し指定信号_R/W[n] が“1”の場合に
は、ステップS18に移行して、書込み許可信号_WE[n]を
“0”のアクティブにし、書込み又は読出し指定信号_R
/W[n] が“1”でない場合には、ステップS19に移行し
て、読出し許可信号_RE[n]を“0”のアクティブにす
る。
end[n]を動作状態にすると共に、領域指定フラグ_CE[n]
を動作状態にする。これにより、n番目のメモリ格納領
域Rn に対するアクセスが可能となる。次のステップS
17では書込み又は読出し指定信号_R/W[n] が“1”であ
るか否かを判断する。書込み又は読出し指定信号_R/W
[n] の“1”は書込みを示し、“0”は読出しを示す。
書込み又は読出し指定信号_R/W[n] が“1”の場合に
は、ステップS18に移行して、書込み許可信号_WE[n]を
“0”のアクティブにし、書込み又は読出し指定信号_R
/W[n] が“1”でない場合には、ステップS19に移行し
て、読出し許可信号_RE[n]を“0”のアクティブにす
る。
【0061】処理BのステップS18,S19の次に図7の
処理Cに移行する。処理CはステップS20のみを行う。
ステップS20では状態フラグの総和flagsum が“0”で
あるか否かを判断する。総和flagsum が“0”である場
合には、現在アクセスされているメモリ格納領域が存在
しないので、n番目のメモリ格納領域Rn に対して通常
のアクセスのための処理D(図8)を行う。総和flagsu
m が“0”でない場合には、処理は図9の処理Eに移行
する。
処理Cに移行する。処理CはステップS20のみを行う。
ステップS20では状態フラグの総和flagsum が“0”で
あるか否かを判断する。総和flagsum が“0”である場
合には、現在アクセスされているメモリ格納領域が存在
しないので、n番目のメモリ格納領域Rn に対して通常
のアクセスのための処理D(図8)を行う。総和flagsu
m が“0”でない場合には、処理は図9の処理Eに移行
する。
【0062】メモリ格納領域に対する最初のアクセス要
求が発生した場合には、ステップS20から図8のステッ
プS21に処理は移行する。ステップS21では状態フラグ
flag[n] を“1”に設定する。これにより、n番目のメ
モリ格納領域Rn に対して最初のアクセスが行われるこ
とを示す。次に、ステップS22ではアクセス開始要求ア
ドレスS_add[n]を取り込む。次に、ステップS23では書
込み許可信号_WE[n]が“0”であるか否か、即ち、書込
み許可となっているか否かを判断する。
求が発生した場合には、ステップS20から図8のステッ
プS21に処理は移行する。ステップS21では状態フラグ
flag[n] を“1”に設定する。これにより、n番目のメ
モリ格納領域Rn に対して最初のアクセスが行われるこ
とを示す。次に、ステップS22ではアクセス開始要求ア
ドレスS_add[n]を取り込む。次に、ステップS23では書
込み許可信号_WE[n]が“0”であるか否か、即ち、書込
み許可となっているか否かを判断する。
【0063】書込み許可になっている場合には、次のス
テップS24,25の処理を行う。ステップS24ではアクセ
ス開始要求アドレスS_add[n]を現在アドレスadd_now に
設定する。アドレスバスは全てのメモリ格納領域に共通
であり、全てのメモリ格納領域に共通のアドレスが設定
される。次のステップS25ではアクセス開始要求アドレ
スS_add[n]を書込み開始アドレスwrite_start_add[n]に
設定する。
テップS24,25の処理を行う。ステップS24ではアクセ
ス開始要求アドレスS_add[n]を現在アドレスadd_now に
設定する。アドレスバスは全てのメモリ格納領域に共通
であり、全てのメモリ格納領域に共通のアドレスが設定
される。次のステップS25ではアクセス開始要求アドレ
スS_add[n]を書込み開始アドレスwrite_start_add[n]に
設定する。
【0064】ステップS23において書込み許可となって
いないものと判断した場合には、読出し許可になってい
るものと判断して、処理をステップS26に移行する。ス
テップS26では、アクセス開始要求アドレスS_add[n]と
書込み開始アドレスwrite_start_add[n]との和を現在ア
ドレスadd_now に設定する。
いないものと判断した場合には、読出し許可になってい
るものと判断して、処理をステップS26に移行する。ス
テップS26では、アクセス開始要求アドレスS_add[n]と
書込み開始アドレスwrite_start_add[n]との和を現在ア
ドレスadd_now に設定する。
【0065】次のステップS27は、データ授受数num[n]
を取り込む手順である。次のステップS28では、現在ア
ドレスadd_now とデータ授受数num[n]との和から1を引
いた値をアクセス終了アドレスend_add[n]に設定する。
ステップS28の次に図10の処理Fに移行する。
を取り込む手順である。次のステップS28では、現在ア
ドレスadd_now とデータ授受数num[n]との和から1を引
いた値をアクセス終了アドレスend_add[n]に設定する。
ステップS28の次に図10の処理Fに移行する。
【0066】図7のステップS20において総和flagsum
が“0”でないものと判定した場合には、処理は図9の
処理Eに移行する。処理EのステップS31においては、
状態フラグflag[n] が“0”であるか否かを判断する。
n番目のメモリ格納領域の状態フラグflag[n] が“0”
でない場合には、n番目のメモリ格納領域に対するアク
セスが既に行われていることを示し、図10の処理Fに
移行する。状態フラグflag[n] が“0”である場合に
は、n番目のメモリ格納領域に対するアクセスはまだ行
われておらず、処理をステップS32に移行して、他のメ
モリ格納領域へのアクセス途中でメモリ格納領域Rn に
対するアクセスを行うことを示す“2”を状態フラグfl
ag[n] に設定する。
が“0”でないものと判定した場合には、処理は図9の
処理Eに移行する。処理EのステップS31においては、
状態フラグflag[n] が“0”であるか否かを判断する。
n番目のメモリ格納領域の状態フラグflag[n] が“0”
でない場合には、n番目のメモリ格納領域に対するアク
セスが既に行われていることを示し、図10の処理Fに
移行する。状態フラグflag[n] が“0”である場合に
は、n番目のメモリ格納領域に対するアクセスはまだ行
われておらず、処理をステップS32に移行して、他のメ
モリ格納領域へのアクセス途中でメモリ格納領域Rn に
対するアクセスを行うことを示す“2”を状態フラグfl
ag[n] に設定する。
【0067】次のステップS33は書込み許可信号_WE[n]
が“0”であるか否かを判断する手順である。他のメモ
リ格納領域へのアクセス途中でメモリ領域Rn に対する
アクセスを行う場合には、書込みのみを許可する。ステ
ップ33において書込み許可されていないものと判断した
場合には、処理をステップS37に移行して、アクセス終
了フラグend[n]を禁止状態の“1”にして図12の処理
Hに移行する。
が“0”であるか否かを判断する手順である。他のメモ
リ格納領域へのアクセス途中でメモリ領域Rn に対する
アクセスを行う場合には、書込みのみを許可する。ステ
ップ33において書込み許可されていないものと判断した
場合には、処理をステップS37に移行して、アクセス終
了フラグend[n]を禁止状態の“1”にして図12の処理
Hに移行する。
【0068】ステップS33において書込み許可がされて
いるものと判断した場合には、次のステップS34におい
て現在アドレスadd_now を書込み開始アドレスwrite_st
art_add[n]に設定する。ステップS35ではデータ授受数
num[n]を取り込み、ステップS36において、現在アドレ
スadd_now とデータ授受数num[n]との和から1を引いた
値をアクセス終了アドレスend_add[n]として設定する。
次に処理を図10の処理Fに移行する。
いるものと判断した場合には、次のステップS34におい
て現在アドレスadd_now を書込み開始アドレスwrite_st
art_add[n]に設定する。ステップS35ではデータ授受数
num[n]を取り込み、ステップS36において、現在アドレ
スadd_now とデータ授受数num[n]との和から1を引いた
値をアクセス終了アドレスend_add[n]として設定する。
次に処理を図10の処理Fに移行する。
【0069】処理FのステップS41は領域指定信号_CE
[n]が“0”であるか否かを判断する処理である。n番
目のメモリ格納領域Rn がアクティブになっていない場
合には、処理を図11の処理Gに移行する。領域Rn が
アクティブになっている場合には、次のステップS42に
移行して、書込み許可されているか否かを判断する。書
込み許可されている場合には処理をステップS43に移行
してバスを介して伝送されたデータを現在アドレスadd_
now で指定されるアドレスに格納する。書込み許可され
ていない場合には、読出し許可されているものと判断し
て、処理をステップS44に移行し、現在アドレスadd_no
w で指定されるアドレスに格納されているデータを読出
してバスを介して伝送する。次に図11の処理Gに移行
する。
[n]が“0”であるか否かを判断する処理である。n番
目のメモリ格納領域Rn がアクティブになっていない場
合には、処理を図11の処理Gに移行する。領域Rn が
アクティブになっている場合には、次のステップS42に
移行して、書込み許可されているか否かを判断する。書
込み許可されている場合には処理をステップS43に移行
してバスを介して伝送されたデータを現在アドレスadd_
now で指定されるアドレスに格納する。書込み許可され
ていない場合には、読出し許可されているものと判断し
て、処理をステップS44に移行し、現在アドレスadd_no
w で指定されるアドレスに格納されているデータを読出
してバスを介して伝送する。次に図11の処理Gに移行
する。
【0070】図11のステップS45においては、現在ア
ドレスadd_now がレジスタに格納されているアクセス終
了アドレスend_add[n]に到達したか否かを判断する。到
達していない場合には、処理を図12の処理Hに移行
し、到達している場合には、次のステップS46に移行し
て、アクセス終了フラグend[n]に禁止状態の“1”を設
定する。
ドレスadd_now がレジスタに格納されているアクセス終
了アドレスend_add[n]に到達したか否かを判断する。到
達していない場合には、処理を図12の処理Hに移行
し、到達している場合には、次のステップS46に移行し
て、アクセス終了フラグend[n]に禁止状態の“1”を設
定する。
【0071】図12のステップS51はアクセス終了フラ
グend[n]が“1”であるか否かを判定する処理である。
アクセス終了フラグend[n]が“1”である場合には、ス
テップS52乃至S56において初期化を行う。即ち、ステ
ップS52乃至S55において領域指定信号_CE[n]、書込み
許可信号_WE[n]、読出し許可信号_RE[n]及びアクセス要
求信号req[n]を禁止を示す“1”にし、ステップS56に
おいて状態フラグflag[n] を“0”にする。また、アク
セス終了フラグend[n]が“1”でない場合には、処理を
ステップS57に移行して、総和flagsum に状態フラグfl
ag[n] を加算して新たな総和flagsum を求める。
グend[n]が“1”であるか否かを判定する処理である。
アクセス終了フラグend[n]が“1”である場合には、ス
テップS52乃至S56において初期化を行う。即ち、ステ
ップS52乃至S55において領域指定信号_CE[n]、書込み
許可信号_WE[n]、読出し許可信号_RE[n]及びアクセス要
求信号req[n]を禁止を示す“1”にし、ステップS56に
おいて状態フラグflag[n] を“0”にする。また、アク
セス終了フラグend[n]が“1”でない場合には、処理を
ステップS57に移行して、総和flagsum に状態フラグfl
ag[n] を加算して新たな総和flagsum を求める。
【0072】ステップS56又はS57の処理が終了する
と、次に図13の処理Iに移行する。図13のステップ
S61ではnをインクリメントする。次のステップS62は
nが(N+1)以上になったか否かを判断する。nが
(N+1)に到達していない場合には処理を図6の処理
Bに戻す。nが(N+1)に到達した場合には次のステ
ップS63において、現在アドレスadd_now をインクリメ
ントする。即ち、全ての領域R0 乃至RN についての処
理が終了する毎に、現在アドレスadd_now をインクリメ
ントする。次のステップS64ではnを0に初期化して図
14の処理Jに移行する。
と、次に図13の処理Iに移行する。図13のステップ
S61ではnをインクリメントする。次のステップS62は
nが(N+1)以上になったか否かを判断する。nが
(N+1)に到達していない場合には処理を図6の処理
Bに戻す。nが(N+1)に到達した場合には次のステ
ップS63において、現在アドレスadd_now をインクリメ
ントする。即ち、全ての領域R0 乃至RN についての処
理が終了する毎に、現在アドレスadd_now をインクリメ
ントする。次のステップS64ではnを0に初期化して図
14の処理Jに移行する。
【0073】図14のステップS71においては変数iを
0に初期化する。ステップS72ではnが(N+1)に到
達したか否かを判断し、到達していない場合には、ステ
ップS73において変数iに状態フラグflag[n] を加算し
てiに代入する。ステップS74ではnをインクリメント
として処理をステップS72に戻す。ステップS72乃至S
74によって、変数iは総和flagsum を示すものとなる。
0に初期化する。ステップS72ではnが(N+1)に到
達したか否かを判断し、到達していない場合には、ステ
ップS73において変数iに状態フラグflag[n] を加算し
てiに代入する。ステップS74ではnをインクリメント
として処理をステップS72に戻す。ステップS72乃至S
74によって、変数iは総和flagsum を示すものとなる。
【0074】次のステップS75においてはnを0に初期
化し、ステップS76ではiが0であるか否かを判断す
る。iが0である場合には次のステップS77において総
和flagsum を“0”に初期化し、iが0でない場合に
は、処理を図6の処理Bに戻す。
化し、ステップS76ではiが0であるか否かを判断す
る。iが0である場合には次のステップS77において総
和flagsum を“0”に初期化し、iが0でない場合に
は、処理を図6の処理Bに戻す。
【0075】次に、このように構成された実施の形態の
作用について説明する。
作用について説明する。
【0076】先ず、いずれか1つのメモリ格納領域、例
えばメモリ格納領域R5 に対する書込みを行い、次にこ
のメモリ格納領域R5 に対するアクセスの最中に、他の
メモリ格納領域、例えばメモリ格納領域R2 への書込み
要求が発生した場合について説明する。
えばメモリ格納領域R5 に対する書込みを行い、次にこ
のメモリ格納領域R5 に対するアクセスの最中に、他の
メモリ格納領域、例えばメモリ格納領域R2 への書込み
要求が発生した場合について説明する。
【0077】図5のステップS1 においてnは0に初期
化し、ステップS2 乃至S9 において、nをNまで変化
させながら、各領域R0 乃至RN の状態フラグflag[n]
及び書込み開始アドレスwrite_start_add[n]を“0”に
初期化し、領域指定信号_CE[n]、書込み許可信号_WE
[n]、読出し許可信号_RE[n]及びアクセス終了フラグend
[n]を禁止を示す“1”に初期化する。ステップS10で
nを0に戻して状態フラグの総和flagsum を“0”に初
期化する。なお、Nは6以上であるものとする。
化し、ステップS2 乃至S9 において、nをNまで変化
させながら、各領域R0 乃至RN の状態フラグflag[n]
及び書込み開始アドレスwrite_start_add[n]を“0”に
初期化し、領域指定信号_CE[n]、書込み許可信号_WE
[n]、読出し許可信号_RE[n]及びアクセス終了フラグend
[n]を禁止を示す“1”に初期化する。ステップS10で
nを0に戻して状態フラグの総和flagsum を“0”に初
期化する。なお、Nは6以上であるものとする。
【0078】図6のステップS12,S13において、アク
セス要求信号req[0]及び書込み又は読出し指定信号_R/W
[0] を取り込む。領域R0 についてはアクセス要求は発
生しておらず、ステップS14から処理を図13(処理
I)のステップS61に移行してnをインクリメントす
る。次に、ステップS62から処理を図6のステップS1
2,S13に戻す。
セス要求信号req[0]及び書込み又は読出し指定信号_R/W
[0] を取り込む。領域R0 についてはアクセス要求は発
生しておらず、ステップS14から処理を図13(処理
I)のステップS61に移行してnをインクリメントす
る。次に、ステップS62から処理を図6のステップS1
2,S13に戻す。
【0079】nが5になると、アクセス要求信号req[5]
が“1”であることを判定し、ステップS14からステッ
プS15,S16に処理が進む。即ち、アクセス終了フラグ
end[5]が動作状態となり、メモリ格納領域R5 をアクテ
ィブにする領域指定信号_CE[5]が“0”となる。次のス
テップS17において書込みが要求されたことを判定する
と、ステップS18において書込み許可信号_WE[5]をアク
ティブにする。
が“1”であることを判定し、ステップS14からステッ
プS15,S16に処理が進む。即ち、アクセス終了フラグ
end[5]が動作状態となり、メモリ格納領域R5 をアクテ
ィブにする領域指定信号_CE[5]が“0”となる。次のス
テップS17において書込みが要求されたことを判定する
と、ステップS18において書込み許可信号_WE[5]をアク
ティブにする。
【0080】図7のステップS20では総和flagsum が
“0”であるか否かを判定する。この時点では、他のメ
モリに対するアクセスは行われていないので、総和flag
sum は“0”であり、処理は図8(処理D)のステップ
S21に移行する。
“0”であるか否かを判定する。この時点では、他のメ
モリに対するアクセスは行われていないので、総和flag
sum は“0”であり、処理は図8(処理D)のステップ
S21に移行する。
【0081】ステップS21では、状態フラグflag[5] を
“1”に設定し、ステップS22においてアクセス開始要
求アドレスS_add[5]を取り込む。ステップS23において
書込み許可されたことを判定すると、ステップS24でア
クセス開始要求アドレスS_add[5]を現在アドレスadd_no
w に設定し、ステップS25でアクセス開始要求アドレス
S_add[5]を書込み開始アドレスwrite_start_add[5]とし
てレジスタに格納する。次に、ステップS27においてデ
ータ授受数num[5]を取り込み、ステップS28で現在アド
レスadd_now とデータ授受数num[5]との和から1を引い
てアクセス終了アドレスend_add[5]を求めてレジスタに
格納する。
“1”に設定し、ステップS22においてアクセス開始要
求アドレスS_add[5]を取り込む。ステップS23において
書込み許可されたことを判定すると、ステップS24でア
クセス開始要求アドレスS_add[5]を現在アドレスadd_no
w に設定し、ステップS25でアクセス開始要求アドレス
S_add[5]を書込み開始アドレスwrite_start_add[5]とし
てレジスタに格納する。次に、ステップS27においてデ
ータ授受数num[5]を取り込み、ステップS28で現在アド
レスadd_now とデータ授受数num[5]との和から1を引い
てアクセス終了アドレスend_add[5]を求めてレジスタに
格納する。
【0082】次に図10(処理F)のステップS41に処
理は移行して領域指定信号_CE[5]がアクティブであるこ
とを判定し、ステップS42で書込み許可信号_WE[5]が
“0”であることを判定する。次にステップS43におい
て、バスを介して伝送されたデータを現在アドレスadd_
now で指定された領域に書込む。
理は移行して領域指定信号_CE[5]がアクティブであるこ
とを判定し、ステップS42で書込み許可信号_WE[5]が
“0”であることを判定する。次にステップS43におい
て、バスを介して伝送されたデータを現在アドレスadd_
now で指定された領域に書込む。
【0083】図11(処理G)のステップS45では現在
アドレスadd_now がアクセス終了アドレスend_add[5]に
到達したか否かを判定する。到達していない場合には、
図12(処理H)のステップS51に処理が移行し、更に
ステップS57において、総和flagsum に状態フラグflag
[5] を加算して、新たな総和flagsum を求める。
アドレスadd_now がアクセス終了アドレスend_add[5]に
到達したか否かを判定する。到達していない場合には、
図12(処理H)のステップS51に処理が移行し、更に
ステップS57において、総和flagsum に状態フラグflag
[5] を加算して、新たな総和flagsum を求める。
【0084】次に、図13(処理I)のステップS61に
おいてnをインクリメントし、ステップS62から処理を
図6のステップS12に戻す。メモリ格納領域R5 以外の
領域についてはアクセス要求が発生していないので、ス
テップS14から処理はステップS61(図13)に移行す
る。nを順次インクリメントし、n≧N+1になると、
ステップS62から処理はステップS63に移行して、現在
アドレスadd_now をインクリメントする。次に、nを0
に戻して(ステップS64)、図14のステップS71に移
行する。
おいてnをインクリメントし、ステップS62から処理を
図6のステップS12に戻す。メモリ格納領域R5 以外の
領域についてはアクセス要求が発生していないので、ス
テップS14から処理はステップS61(図13)に移行す
る。nを順次インクリメントし、n≧N+1になると、
ステップS62から処理はステップS63に移行して、現在
アドレスadd_now をインクリメントする。次に、nを0
に戻して(ステップS64)、図14のステップS71に移
行する。
【0085】ステップS71乃至S74によって、変数iに
状態フラグflag[n] の総和を代入する。ステップS75で
はnを0に戻し、ステップS76においてiが0か否かを
判定する。この場合には、iは0ではないので、処理は
図6のステップS12に戻す。更に、ステップS14及び図
13のステップS61によってnをインクリメントする。
状態フラグflag[n] の総和を代入する。ステップS75で
はnを0に戻し、ステップS76においてiが0か否かを
判定する。この場合には、iは0ではないので、処理は
図6のステップS12に戻す。更に、ステップS14及び図
13のステップS61によってnをインクリメントする。
【0086】nが5になると、図6のステップS12乃至
S18を経て図7のステップS20を実行する。この時点で
は総和flagsum は“0”ではないので、処理は図9(処
理E)のステップS31に移行する。メモリ格納領域R5
に対するアクセス途中であるので、ステップS31では状
態フラグflag[5] が“0”ではないものと判定し、図1
0の処理Fを行う。
S18を経て図7のステップS20を実行する。この時点で
は総和flagsum は“0”ではないので、処理は図9(処
理E)のステップS31に移行する。メモリ格納領域R5
に対するアクセス途中であるので、ステップS31では状
態フラグflag[5] が“0”ではないものと判定し、図1
0の処理Fを行う。
【0087】こうして、ステップS43において現在アド
レスで指定された領域に書込みを行う。以後、同様の動
作が繰返されて順次メモリ格納領域R5 に書込みを行
う。
レスで指定された領域に書込みを行う。以後、同様の動
作が繰返されて順次メモリ格納領域R5 に書込みを行
う。
【0088】ここで、メモリ格納領域R5 に対するアク
セス途中でメモリ格納領域R2 に対する書込み要求が発
生するものとする。
セス途中でメモリ格納領域R2 に対する書込み要求が発
生するものとする。
【0089】nが2になると、図6のステップS12,S
13において、アクセス要求信号req[2]及び書込み又は読
出し指定信号_R/W[2] を取り込む。ステップS14におい
てメモリ格納領域R2 に対するアクセス要求が発生した
ことを判定すると、ステップS15,S16においてアクセ
ス終了フラグend[2]を動作中を示すものに変更し、領域
指定信号_CE[2]をアクティブにする。ステップS17では
書込みが要求されていることを判定し、ステップS18に
おいて書込み許可信号_WE[2]を“0”にする。
13において、アクセス要求信号req[2]及び書込み又は読
出し指定信号_R/W[2] を取り込む。ステップS14におい
てメモリ格納領域R2 に対するアクセス要求が発生した
ことを判定すると、ステップS15,S16においてアクセ
ス終了フラグend[2]を動作中を示すものに変更し、領域
指定信号_CE[2]をアクティブにする。ステップS17では
書込みが要求されていることを判定し、ステップS18に
おいて書込み許可信号_WE[2]を“0”にする。
【0090】次に、図7のステップS20において総和fl
agsum が“0”であるか否かを判定する。この場合に
は、メモリ格納領域R5 に対するアクセス途中であるの
で、総和flagsum は“0”ではなく、処理は図9のステ
ップS31に移行する。メモリ格納領域R2 に対する状態
フラグflag[2] はこの時点では“0”であり、次のステ
ップS32において、状態フラグflag[2] は2番目以降の
アクセスであることを示す“2”に設定する。
agsum が“0”であるか否かを判定する。この場合に
は、メモリ格納領域R5 に対するアクセス途中であるの
で、総和flagsum は“0”ではなく、処理は図9のステ
ップS31に移行する。メモリ格納領域R2 に対する状態
フラグflag[2] はこの時点では“0”であり、次のステ
ップS32において、状態フラグflag[2] は2番目以降の
アクセスであることを示す“2”に設定する。
【0091】ステップS33では書込み許可されているか
否かを判定する。書込み許可されていない場合、即ち、
読出し要求されていた場合には、処理をステップS37に
移行してアクセス終了フラグを禁止状態の“1”に設定
する。この場合には、書込み許可されているので、ステ
ップS34乃至S36において、現在アドレスadd_now を書
込み開始アドレスwrite_start_add[2]に設定してレジス
タに格納する。また、データ授受数num[2]を取り込ん
で、現在アドレスadd_now とデータ授受数num[2]との和
から1を引いてアクセス終了アドレスend_add[2]を求め
る。
否かを判定する。書込み許可されていない場合、即ち、
読出し要求されていた場合には、処理をステップS37に
移行してアクセス終了フラグを禁止状態の“1”に設定
する。この場合には、書込み許可されているので、ステ
ップS34乃至S36において、現在アドレスadd_now を書
込み開始アドレスwrite_start_add[2]に設定してレジス
タに格納する。また、データ授受数num[2]を取り込ん
で、現在アドレスadd_now とデータ授受数num[2]との和
から1を引いてアクセス終了アドレスend_add[2]を求め
る。
【0092】次に、図10の処理Fによって、バスを介
して伝送されたデータをメモリ格納領域R2 の現在アド
レスadd_now の位置に書込む。以後、同様の動作によっ
て、nをインクリメントしながら、現在アドレスadd_no
w を更新して、メモリ格納領域R5 ,R2 に対する書込
みを続ける。
して伝送されたデータをメモリ格納領域R2 の現在アド
レスadd_now の位置に書込む。以後、同様の動作によっ
て、nをインクリメントしながら、現在アドレスadd_no
w を更新して、メモリ格納領域R5 ,R2 に対する書込
みを続ける。
【0093】現在アドレスadd_now がアクセス終了アド
レスend_add[5]又はend_add[2]に到達すると、図11の
ステップS45から処理をステップS46に移行して、アク
セス終了フラグend[5]又はend[2]を禁止状態の“1”に
変更する。こうして、図12のステップS52乃至S56に
おいてレジスタ及びフラグを初期値に戻して、アクセス
を終了する。
レスend_add[5]又はend_add[2]に到達すると、図11の
ステップS45から処理をステップS46に移行して、アク
セス終了フラグend[5]又はend[2]を禁止状態の“1”に
変更する。こうして、図12のステップS52乃至S56に
おいてレジスタ及びフラグを初期値に戻して、アクセス
を終了する。
【0094】次に、このようにして先行するメモリアク
セスに並行して書込みが行われたメモリ格納領域R2 か
ら読出しを行うものとする。
セスに並行して書込みが行われたメモリ格納領域R2 か
ら読出しを行うものとする。
【0095】状態フラグの総和flagsum が“0”でない
場合には、図7のステップS20から図9のステップS31
乃至S33を介して処理が終了するので、先行するメモリ
アクセスがない場合にのみ読出しは可能である。nが2
になると、図6のステップS12,S13においてアクセス
要求信号req[2]及び書込み又は読出し指定信号_R/W[2]
を取り込む。ステップS15,S16においてアクセス終了
フラグend[2]及び領域指定信号_CE[2]を動作状態を示す
“0”に設定する。次のステップS17において読出し要
求されていることを判定すると、ステップS19に移行し
て読出し許可信号_RE[2]をアクティブにする。
場合には、図7のステップS20から図9のステップS31
乃至S33を介して処理が終了するので、先行するメモリ
アクセスがない場合にのみ読出しは可能である。nが2
になると、図6のステップS12,S13においてアクセス
要求信号req[2]及び書込み又は読出し指定信号_R/W[2]
を取り込む。ステップS15,S16においてアクセス終了
フラグend[2]及び領域指定信号_CE[2]を動作状態を示す
“0”に設定する。次のステップS17において読出し要
求されていることを判定すると、ステップS19に移行し
て読出し許可信号_RE[2]をアクティブにする。
【0096】図7のステップS20では総和flagsum が
“0”であることを判定し、図8のステップS21に処理
を移行する。ステップS21では状態フラグflag[2] を
“1”に設定し、アクセス開始要求アドレスS_add[2]を
取り込む(ステップS22)。ステップS23で書込み許可
されていないことを判定すると、ステップS26に処理を
移行する。
“0”であることを判定し、図8のステップS21に処理
を移行する。ステップS21では状態フラグflag[2] を
“1”に設定し、アクセス開始要求アドレスS_add[2]を
取り込む(ステップS22)。ステップS23で書込み許可
されていないことを判定すると、ステップS26に処理を
移行する。
【0097】ステップS26では、レジスタに格納されて
いる書込み開始アドレスwrite_start_add[2]とアクセス
開始要求アドレスS_add[2]との和によって現在アドレス
add_now を指定する。更に、ステップS27においてデー
タ授受数num[2]を取り込んで、アクセス終了アドレスen
d_add[2]を求める(ステップS28)。
いる書込み開始アドレスwrite_start_add[2]とアクセス
開始要求アドレスS_add[2]との和によって現在アドレス
add_now を指定する。更に、ステップS27においてデー
タ授受数num[2]を取り込んで、アクセス終了アドレスen
d_add[2]を求める(ステップS28)。
【0098】次に、図10のステップS44において、現
在アドレスadd_now で指定される領域に格納されている
データを読出してバスに転送する。他の作用はデータの
書込み時と同様である。
在アドレスadd_now で指定される領域に格納されている
データを読出してバスに転送する。他の作用はデータの
書込み時と同様である。
【0099】このように、本実施の形態においては、図
1の処理をソフトウェアによって実現することができ
る。
1の処理をソフトウェアによって実現することができ
る。
【0100】
【発明の効果】以上説明したように本発明によれば、所
定のメモリに対する先行するメモリアクセス途中におい
て、他のメモリに対する正常なアクセスを可能にするこ
とにより、処理を高速化することができるという効果を
有する。
定のメモリに対する先行するメモリアクセス途中におい
て、他のメモリに対する正常なアクセスを可能にするこ
とにより、処理を高速化することができるという効果を
有する。
【図面の簡単な説明】
【図1】本発明に係るメモリ制御装置の一実施の形態を
示すブロック図。
示すブロック図。
【図2】図1の実施の形態のメモリ制御装置を映像信号
処理装置(映像プロセッサ)に組込んだ例を示すブロッ
ク図。
処理装置(映像プロセッサ)に組込んだ例を示すブロッ
ク図。
【図3】図1の実施の形態におけるメモリアクセスを説
明するための説明図。
明するための説明図。
【図4】図1の実施の形態におけるメモリアクセスを説
明するための説明図。
明するための説明図。
【図5】本発明の他の実施の形態に係るメモリ制御方法
を説明するためのフローチャート。
を説明するためのフローチャート。
【図6】本発明の他の実施の形態に係るメモリ制御方法
を説明するためのフローチャート。
を説明するためのフローチャート。
【図7】本発明の他の実施の形態に係るメモリ制御方法
を説明するためのフローチャート。
を説明するためのフローチャート。
【図8】本発明の他の実施の形態に係るメモリ制御方法
を説明するためのフローチャート。
を説明するためのフローチャート。
【図9】本発明の他の実施の形態に係るメモリ制御方法
を説明するためのフローチャート。
を説明するためのフローチャート。
【図10】本発明の他の実施の形態に係るメモリ制御方
法を説明するためのフローチャート。
法を説明するためのフローチャート。
【図11】本発明の他の実施の形態に係るメモリ制御方
法を説明するためのフローチャート。
法を説明するためのフローチャート。
【図12】本発明の他の実施の形態に係るメモリ制御方
法を説明するためのフローチャート。
法を説明するためのフローチャート。
【図13】本発明の他の実施の形態に係るメモリ制御方
法を説明するためのフローチャート。
法を説明するためのフローチャート。
【図14】本発明の他の実施の形態に係るメモリ制御方
法を説明するためのフローチャート。
法を説明するためのフローチャート。
11…メモリ制御部、12…アドレス発生部、13,14…メモ
リ
リ
Claims (6)
- 【請求項1】 相互に独立した複数の記憶領域に対して
同時に共通のアドレスを指定することが可能なアドレス
指定手段と、 前記複数の記憶領域のうちの第1の記憶領域に対する先
行したアクセス途中で前記複数の記憶領域のうちの第2
の記憶領域に書込みを行った場合には、前記第2の記憶
領域に対する読出し処理に際して前記第2の記憶領域に
対する書込みアドレスに対応した読出しアドレスを発生
する読出しアドレス発生手段とを具備したことを特徴と
するメモリ制御装置。 - 【請求項2】 前記読出しアドレス発生手段は、前記第
2の記憶領域に対する書込み開始アドレスに基づいて前
記読出しアドレスを発生することを特徴とする請求項1
に記載のメモリ制御装置。 - 【請求項3】 前記読出しアドレス発生手段は、前記第
2の記憶領域に対する書込み開始アドレスを保持する保
持手段と、 前記第2の記憶領域に対する読出し開始要求アドレスと
前記保持手段に保持されている書込み開始アドレスとに
基づいて前記第2の記憶領域の読出しアドレスを求める
アドレス算出手段とを具備したことを特徴とする請求項
2に記載のメモリ制御装置。 - 【請求項4】 相互に独立した複数の記憶領域のうちの
第1の記憶領域にアクセスを行う処理と、 前記第1の記憶領域に対する先行したアクセス途中で前
記複数の記憶領域のうちの第2の記憶領域に書込みを行
う場合には前記第2の記憶領域に対する書込みアドレス
に関する情報を記憶する処理と、 前記第2の記憶領域に対する読出しを行う場合には前記
第2の記憶領域に対する前記書込みアドレスに関する情
報に基づいて読出しアドレスを発生する処理とを具備し
たことを特徴とするメモリ制御方法。 - 【請求項5】 前記書込みアドレスに関する情報は、前
記第2の記憶領域に対する書込み開始アドレスであるこ
とを特徴とする請求項4に記載のメモリ制御方法。 - 【請求項6】 相互に独立した複数の記憶領域毎にその
アクセス状態を示す状態フラグを初期化する処理と、 前記複数の記憶領域毎にアクセス要求を判定する処理
と、 前記状態フラグに基づいて前記複数の記憶領域のうちの
所定の記憶領域に対するアクセス要求が単独で発生した
か又は他の記憶領域に対するアクセス途中で発生したか
を判定する処理と、 アクセス要求が単独で発生した場合にはアクセス開始要
求アドレスに基づいてアドレスを発生し、アクセス要求
が他の記憶領域に対するアクセス途中で発生した場合に
は現在のアドレスを書込み開始アドレスとして保持し、
読出し要求時に書込みアドレスに対応した読出しアドレ
スを発生する処理と、 発生したアドレスに基づいて前記複数の記憶領域にアク
セスを行う処理と、 前記状態フラグを更新する処理とをコンピュータに実行
させるためのメモリ制御プログラムを記憶した媒体。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10962097A JPH10301844A (ja) | 1997-04-25 | 1997-04-25 | メモリ制御装置、メモリ制御方法及びメモリ制御プログラムを記憶した媒体 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10962097A JPH10301844A (ja) | 1997-04-25 | 1997-04-25 | メモリ制御装置、メモリ制御方法及びメモリ制御プログラムを記憶した媒体 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH10301844A true JPH10301844A (ja) | 1998-11-13 |
Family
ID=14514916
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10962097A Pending JPH10301844A (ja) | 1997-04-25 | 1997-04-25 | メモリ制御装置、メモリ制御方法及びメモリ制御プログラムを記憶した媒体 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH10301844A (ja) |
-
1997
- 1997-04-25 JP JP10962097A patent/JPH10301844A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH03127147A (ja) | 情報処理システム | |
| JP2845946B2 (ja) | 画像データ変換装置 | |
| JPH0343646B2 (ja) | ||
| KR100281007B1 (ko) | 마이크로 프로세서 및 이를 사용한 그래픽처리 장치 및 그래픽처리 방법 | |
| JP3532318B2 (ja) | プログラム可能な裁定装置 | |
| JP3260456B2 (ja) | コンピュータシステムおよびそれに適した集積回路並びに要求選択回路 | |
| US20050135402A1 (en) | Data transfer apparatus | |
| JP4335327B2 (ja) | 調停装置および方法 | |
| JP3039391B2 (ja) | メモリシステム | |
| JP2861053B2 (ja) | 画像処理装置 | |
| JP2000172553A (ja) | データ処理装置 | |
| JP3799451B2 (ja) | 電子計算機システム | |
| JP2606824Y2 (ja) | マルチポートメモリ装置 | |
| JP2550964B2 (ja) | 記憶アクセス制御方式 | |
| JPS59223880A (ja) | 画像処理方法および装置 | |
| JPH11115258A (ja) | 出力制御装置及び方法 | |
| JP3322993B2 (ja) | 情報処理装置 | |
| JPS6031646A (ja) | デ−タ処理装置 | |
| JP2000181432A (ja) | 図形処理装置 | |
| JPH10134013A (ja) | マルチcpuシステム | |
| JPH1091570A (ja) | データ転送装置 | |
| JPH1011356A (ja) | メモリアクセスシステム | |
| JPH0520253A (ja) | データ処理装置 | |
| JPH06332851A (ja) | データ転送方式 | |
| JPH05210571A (ja) | メモリアクセス方式 |