JP2001051943A - アクセス調停回路およびアクセス調停方法、並びにアクセス調停用制御プログラムを記憶した記憶媒体 - Google Patents
アクセス調停回路およびアクセス調停方法、並びにアクセス調停用制御プログラムを記憶した記憶媒体Info
- Publication number
- JP2001051943A JP2001051943A JP11223083A JP22308399A JP2001051943A JP 2001051943 A JP2001051943 A JP 2001051943A JP 11223083 A JP11223083 A JP 11223083A JP 22308399 A JP22308399 A JP 22308399A JP 2001051943 A JP2001051943 A JP 2001051943A
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- access
- divided
- signal
- request signal
- 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
Landscapes
- Bus Control (AREA)
Abstract
(57)【要約】
【課題】 正常なプリントデータが保障できなくなるよ
うなオーバーランの発生をあらかじめ防止し、且つ効率
的なメモリバスの使用を可能とするアクセス調停回路を
提供する。 【解決手段】 アクセス調停回路115は、カウンタ1
01とセレクト部301、302と調停部102〜11
4を有し、CPUのリクエストをCPUがどの外部メモ
リにアクセスしたかにより、またはCPUの出力する転
送コードにより分割したCPUリクエストのそれぞれに
対して、同時に入力されるDMAのリクエストに対する
優先順位付けを行なう。カウント101はそれぞれのア
クセスのラスト信号により“1”ずつカウントアップし
ていき、規定値まで達したらプライオリティー信号を複
数種生成する。調停部は各CPUリクエスト毎に選択さ
れたプライオリティー信号に基づき、同時に入力するC
PUとDMAのリクエストの片方をパスし、他方をマス
クする動作を行なう。
うなオーバーランの発生をあらかじめ防止し、且つ効率
的なメモリバスの使用を可能とするアクセス調停回路を
提供する。 【解決手段】 アクセス調停回路115は、カウンタ1
01とセレクト部301、302と調停部102〜11
4を有し、CPUのリクエストをCPUがどの外部メモ
リにアクセスしたかにより、またはCPUの出力する転
送コードにより分割したCPUリクエストのそれぞれに
対して、同時に入力されるDMAのリクエストに対する
優先順位付けを行なう。カウント101はそれぞれのア
クセスのラスト信号により“1”ずつカウントアップし
ていき、規定値まで達したらプライオリティー信号を複
数種生成する。調停部は各CPUリクエスト毎に選択さ
れたプライオリティー信号に基づき、同時に入力するC
PUとDMAのリクエストの片方をパスし、他方をマス
クする動作を行なう。
Description
【0001】
【発明の属する技術分野】本発明は、複数ソースからの
ダイレクトメモリアクセス(DMA)へのアクセスとC
PUアクセス及びその他の外部メモリへのアクセスを一
括して制御するアクセス調停回路およびアクセス調停方
法、並びにアクセス調停用制御プログラムを記憶した記
憶媒体に関する。
ダイレクトメモリアクセス(DMA)へのアクセスとC
PUアクセス及びその他の外部メモリへのアクセスを一
括して制御するアクセス調停回路およびアクセス調停方
法、並びにアクセス調停用制御プログラムを記憶した記
憶媒体に関する。
【0002】
【従来の技術】従来、アクセス調停回路は、本回路を含
む制御装置(例えば、プリント制御装置)のCPUが1
つであれば、複数ソースからのアクセスに対してDMA
同志で調停を行なった上で、メモリバスを専有する権利
を獲得したDMAソースのリクエストとCPU及びその
他のリクエストを再調停するか、もしくは全てのDM
A,CPU及びその他のリクエストを一律に並べてそれ
を一括で調停するように構成されていた。
む制御装置(例えば、プリント制御装置)のCPUが1
つであれば、複数ソースからのアクセスに対してDMA
同志で調停を行なった上で、メモリバスを専有する権利
を獲得したDMAソースのリクエストとCPU及びその
他のリクエストを再調停するか、もしくは全てのDM
A,CPU及びその他のリクエストを一律に並べてそれ
を一括で調停するように構成されていた。
【0003】
【発明が解決しようとする課題】しかしながら、上記の
ような従来例では、いずれの場合も、CPUリクエスト
がどの外部メモリをアクセスするものであっても、同時
に入力されるDMAリクエストに対する優先度は全て同
等であり、かつCPUリクエストによる転送コードが命
令のフェッチであるのか、データの転送であるのかに関
わらず、やはり同時に入力されるDMAリクエストに対
する優先度は同等であるので、ホストコンピュータ等の
外部機器から複雑なデータが圧縮された形で転送される
ような場合に、そのデータを伸張,展開,ビデオ出力す
る際に頻繁にDMAリクエストが発生して、正常なプリ
ントデータが保障できない現象(オーバーラン)に陥っ
たら、その回避策はなく、解像度を落として再転送する
か、もしくは圧縮されないデータの形で再転送するかし
かないという解決すべき課題があった。
ような従来例では、いずれの場合も、CPUリクエスト
がどの外部メモリをアクセスするものであっても、同時
に入力されるDMAリクエストに対する優先度は全て同
等であり、かつCPUリクエストによる転送コードが命
令のフェッチであるのか、データの転送であるのかに関
わらず、やはり同時に入力されるDMAリクエストに対
する優先度は同等であるので、ホストコンピュータ等の
外部機器から複雑なデータが圧縮された形で転送される
ような場合に、そのデータを伸張,展開,ビデオ出力す
る際に頻繁にDMAリクエストが発生して、正常なプリ
ントデータが保障できない現象(オーバーラン)に陥っ
たら、その回避策はなく、解像度を落として再転送する
か、もしくは圧縮されないデータの形で再転送するかし
かないという解決すべき課題があった。
【0004】また、近年のプリント制御装置の低価格化
の波の中で一本のメモリバス上にROMやRAMなどの
複数種の外部メモリが接続される傾向となり、上記DM
Aリクエストの発生率の高さと合わせて、CPUのリク
エストの発生率も高くなり、メモリバスの使用頻度が非
常に高くなり、効率的にメモリバスを運用できないとい
う解決すべき課題があった。
の波の中で一本のメモリバス上にROMやRAMなどの
複数種の外部メモリが接続される傾向となり、上記DM
Aリクエストの発生率の高さと合わせて、CPUのリク
エストの発生率も高くなり、メモリバスの使用頻度が非
常に高くなり、効率的にメモリバスを運用できないとい
う解決すべき課題があった。
【0005】そこで、本発明の目的は、上述の課題を解
決すべく、CPUのリクエストをCPUがどの領域、す
なわちどの外部メモリにアクセスしたかにより、もしく
はCPUの出力する転送コードにより分割し、分割した
CPUリクエストのそれぞれに対して、同時に入力され
るDMAのリクエストに対する優先順位付けを行なうこ
とで、上述のようなオーバーランするのをあらかじめ防
止し、且つ効率的なメモリバスの使用を可能とするアク
セス調停回路およびアクセス調停方法、並びにアクセス
調停用制御プログラムを記憶した記憶媒体を提供するこ
とにある。
決すべく、CPUのリクエストをCPUがどの領域、す
なわちどの外部メモリにアクセスしたかにより、もしく
はCPUの出力する転送コードにより分割し、分割した
CPUリクエストのそれぞれに対して、同時に入力され
るDMAのリクエストに対する優先順位付けを行なうこ
とで、上述のようなオーバーランするのをあらかじめ防
止し、且つ効率的なメモリバスの使用を可能とするアク
セス調停回路およびアクセス調停方法、並びにアクセス
調停用制御プログラムを記憶した記憶媒体を提供するこ
とにある。
【0006】
【課題を解決するための手段】上記目的を達成するた
め、請求項1の発明は、CPUの全アドレス空間を複数
の領域に分割し、分割した該領域を外部メモリへのアク
セスにそれぞれ割り付け、CPUがどの領域、すなわち
どの外部メモリにアクセスしたかによりCPUリクエス
ト信号を分割するデコード手段と、該デコード手段で分
割された前記CPUリクエスト信号,該CPUリクエス
ト信号と同時に入力するDMAリクエスト信号のそれぞ
れのアクセスをカウントし、該カウント値が規定回数に
なったらプライオリティーを切換えるカウント手段と、
前記デコード手段で分割されたCPUリクエスト信号毎
に、前記カウント手段で発生するプライオリティー信号
の中でどれを選択するかを決定するセレクト手段と、該
セレクト手段により選択されたプライオリティー信号に
基づき、前記分割されたCPUリクエスト信号及びDM
Aリクエスト信号のそれぞれのアクセスを調停する調停
手段とを有することを特徴とする。
め、請求項1の発明は、CPUの全アドレス空間を複数
の領域に分割し、分割した該領域を外部メモリへのアク
セスにそれぞれ割り付け、CPUがどの領域、すなわち
どの外部メモリにアクセスしたかによりCPUリクエス
ト信号を分割するデコード手段と、該デコード手段で分
割された前記CPUリクエスト信号,該CPUリクエス
ト信号と同時に入力するDMAリクエスト信号のそれぞ
れのアクセスをカウントし、該カウント値が規定回数に
なったらプライオリティーを切換えるカウント手段と、
前記デコード手段で分割されたCPUリクエスト信号毎
に、前記カウント手段で発生するプライオリティー信号
の中でどれを選択するかを決定するセレクト手段と、該
セレクト手段により選択されたプライオリティー信号に
基づき、前記分割されたCPUリクエスト信号及びDM
Aリクエスト信号のそれぞれのアクセスを調停する調停
手段とを有することを特徴とする。
【0007】ここで、前記デコード手段は、現在のCP
Uのアクセスが命令フェッチなのか、データのトランザ
クションなのか、変数のロード/ストアなのか、のいず
れであるかを示す転送コード信号により、前記CPUリ
クエスト信号を分割することを特徴とすることができ
る。
Uのアクセスが命令フェッチなのか、データのトランザ
クションなのか、変数のロード/ストアなのか、のいず
れであるかを示す転送コード信号により、前記CPUリ
クエスト信号を分割することを特徴とすることができ
る。
【0008】また、前記デコード手段は、CPUの前記
転送コード信号と、アクセスサイズを現わす信号、すな
わち現在のアクセスがシングルアクセスなのかバースト
アクセスなのかを示す信号やライトスルーアクセス,キ
ャッシュミスアクセスを示す信号とを組み合わせて、こ
れらの信号により前記CPUリクエスト信号を分割する
ことを特徴とすることができる。
転送コード信号と、アクセスサイズを現わす信号、すな
わち現在のアクセスがシングルアクセスなのかバースト
アクセスなのかを示す信号やライトスルーアクセス,キ
ャッシュミスアクセスを示す信号とを組み合わせて、こ
れらの信号により前記CPUリクエスト信号を分割する
ことを特徴とすることができる。
【0009】また、前記デコード手段は、更にCPU内
部のキャッシュのON/OFFにより、前記CPUリク
エスト信号を分割することを特徴とすることができる。
部のキャッシュのON/OFFにより、前記CPUリク
エスト信号を分割することを特徴とすることができる。
【0010】また、前記カウント手段は、前記分割され
たCPUリクエスト信号と前記同時に入力されるDMA
リクエストのそれぞれのアクセスのラストを示す信号に
より“1”ずつカウントアップしていき、そのカウント
値が規定値まで達したら、論理を変化させるようなプラ
イオリティー信号を複数種生成することを特徴とするこ
とができる。
たCPUリクエスト信号と前記同時に入力されるDMA
リクエストのそれぞれのアクセスのラストを示す信号に
より“1”ずつカウントアップしていき、そのカウント
値が規定値まで達したら、論理を変化させるようなプラ
イオリティー信号を複数種生成することを特徴とするこ
とができる。
【0011】また、前記セレクト手段は、前記カウント
手段で生成された前記複数のプライオリティー信号の中
で当該の転送データの処理に最適なものを、前記分割さ
れたCPUリクエスト毎に選択することを特徴とするこ
とができる。
手段で生成された前記複数のプライオリティー信号の中
で当該の転送データの処理に最適なものを、前記分割さ
れたCPUリクエスト毎に選択することを特徴とするこ
とができる。
【0012】また、前記調停手段は、前記セレクト手段
により選択された前記プライオリティー信号に基づき、
同時に入力するCPUリクエスト信号とDMAリクエス
ト信号の片方をパスし、他方をマスクする動作を各CP
Uリクエストに関して行なうことを特徴とすることがで
きる。
により選択された前記プライオリティー信号に基づき、
同時に入力するCPUリクエスト信号とDMAリクエス
ト信号の片方をパスし、他方をマスクする動作を各CP
Uリクエストに関して行なうことを特徴とすることがで
きる。
【0013】上記目的を達成するため、請求項8の発明
は、CPUの全アドレス空間を複数の領域に分割し、分
割した該領域を外部メモリへのアクセスにそれぞれ割り
付け、CPUがどの領域、すなわちどの外部メモリにア
クセスしたかによりCPUリクエスト信号を分割するデ
コード工程と、該デコード工程で分割された前記CPU
リクエスト信号,該CPUリクエスト信号と同時に入力
するDMAリクエスト信号のそれぞれのアクセスをカウ
ントし、該カウント値が規定回数になったらプライオリ
ティーを切換えるカウント工程と、前記デコード工程で
分割されたCPUリクエスト信号毎に、前記カウント工
程で発生するプライオリティー信号の中でどれを選択す
るかを決定するセレクト工程と、該セレクト工程で選択
されたプライオリティー信号に基づき、前記分割された
CPUリクエスト信号及びDMAリクエスト信号のそれ
ぞれのアクセスを調停する調停工程とを有することを特
徴とする。
は、CPUの全アドレス空間を複数の領域に分割し、分
割した該領域を外部メモリへのアクセスにそれぞれ割り
付け、CPUがどの領域、すなわちどの外部メモリにア
クセスしたかによりCPUリクエスト信号を分割するデ
コード工程と、該デコード工程で分割された前記CPU
リクエスト信号,該CPUリクエスト信号と同時に入力
するDMAリクエスト信号のそれぞれのアクセスをカウ
ントし、該カウント値が規定回数になったらプライオリ
ティーを切換えるカウント工程と、前記デコード工程で
分割されたCPUリクエスト信号毎に、前記カウント工
程で発生するプライオリティー信号の中でどれを選択す
るかを決定するセレクト工程と、該セレクト工程で選択
されたプライオリティー信号に基づき、前記分割された
CPUリクエスト信号及びDMAリクエスト信号のそれ
ぞれのアクセスを調停する調停工程とを有することを特
徴とする。
【0014】ここで、前記デコード工程は、現在のCP
Uのアクセスが命令フェッチなのか、データのトランザ
クションなのか、変数のロード/ストアなのか、のいず
れであるかを示す転送コード信号により、前記CPUリ
クエスト信号を分割することを特徴とすることができ
る。
Uのアクセスが命令フェッチなのか、データのトランザ
クションなのか、変数のロード/ストアなのか、のいず
れであるかを示す転送コード信号により、前記CPUリ
クエスト信号を分割することを特徴とすることができ
る。
【0015】また、前記カウント工程は、前記分割され
たCPUリクエスト信号と前記同時に入力されるDMA
リクエストのそれぞれのアクセスのラストを示す信号に
より“1”ずつカウントアップしていき、そのカウント
値が規定値まで達したら、論理を変化させるようなプラ
イオリティー信号を複数種生成することを特徴とするこ
とができる。
たCPUリクエスト信号と前記同時に入力されるDMA
リクエストのそれぞれのアクセスのラストを示す信号に
より“1”ずつカウントアップしていき、そのカウント
値が規定値まで達したら、論理を変化させるようなプラ
イオリティー信号を複数種生成することを特徴とするこ
とができる。
【0016】また、前記セレクト工程は、前記カウント
工程で生成された前記複数のプライオリティー信号の中
で当該の転送データの処理に最適なものを、前記分割さ
れたCPUリクエスト毎に選択することを特徴とするこ
とができる。
工程で生成された前記複数のプライオリティー信号の中
で当該の転送データの処理に最適なものを、前記分割さ
れたCPUリクエスト毎に選択することを特徴とするこ
とができる。
【0017】また、前記調停工程は、前記セレクト工程
で選択された前記プライオリティー信号に基づき、同時
に入力するCPUリクエスト信号とDMAリクエスト信
号の片方をパスし、他方をマスクする動作を各CPUリ
クエストに関して行なうことを特徴とすることができ
る。
で選択された前記プライオリティー信号に基づき、同時
に入力するCPUリクエスト信号とDMAリクエスト信
号の片方をパスし、他方をマスクする動作を各CPUリ
クエストに関して行なうことを特徴とすることができ
る。
【0018】上記目的を達成するため、請求項13の発
明は、コンピュータにより、CPUのリクエストをCP
Uがどの外部メモリにアクセスしたかにより分割し、分
割したCPUリクエストのそれぞれに対して、同時に入
力されるDMAのリクエストに対する優先順位付けを行
なうための制御プログラムを記憶した記憶媒体であっ
て、該制御プログラムはコンピュータに対し、CPUの
全アドレス空間を複数の領域に分割させ、分割した該領
域を外部メモリへのアクセスにそれぞれ割り付け、CP
Uがどの領域、すなわちどの外部メモリにアクセスした
かによりCPUリクエスト信号を分割させ、分割された
前記CPUリクエスト信号,該CPUリクエスト信号と
同時に入力するDMAリクエスト信号のそれぞれのアク
セスをカウントさせ、該カウント値が規定回数になった
らプライオリティー信号を切換えさせ、分割されたCP
Uリクエスト信号毎に、前記プライオリティー信号の中
でどれを選択するかを決定させ、選択されたプライオリ
ティー信号に基づき、前記分割されたCPUリクエスト
信号及びDMAリクエスト信号のそれぞれのアクセスを
調停させることを特徴とする。
明は、コンピュータにより、CPUのリクエストをCP
Uがどの外部メモリにアクセスしたかにより分割し、分
割したCPUリクエストのそれぞれに対して、同時に入
力されるDMAのリクエストに対する優先順位付けを行
なうための制御プログラムを記憶した記憶媒体であっ
て、該制御プログラムはコンピュータに対し、CPUの
全アドレス空間を複数の領域に分割させ、分割した該領
域を外部メモリへのアクセスにそれぞれ割り付け、CP
Uがどの領域、すなわちどの外部メモリにアクセスした
かによりCPUリクエスト信号を分割させ、分割された
前記CPUリクエスト信号,該CPUリクエスト信号と
同時に入力するDMAリクエスト信号のそれぞれのアク
セスをカウントさせ、該カウント値が規定回数になった
らプライオリティー信号を切換えさせ、分割されたCP
Uリクエスト信号毎に、前記プライオリティー信号の中
でどれを選択するかを決定させ、選択されたプライオリ
ティー信号に基づき、前記分割されたCPUリクエスト
信号及びDMAリクエスト信号のそれぞれのアクセスを
調停させることを特徴とする。
【0019】ここで、前記制御プログラムはコンピュー
タに対し、現在のCPUのアクセスが命令フェッチなの
か、データのトランザクションなのか、変数のロード/
ストアなのか、のいずれであるかを示す転送コード信号
により、前記CPUリクエスト信号を分割させることを
特徴とすることができる。
タに対し、現在のCPUのアクセスが命令フェッチなの
か、データのトランザクションなのか、変数のロード/
ストアなのか、のいずれであるかを示す転送コード信号
により、前記CPUリクエスト信号を分割させることを
特徴とすることができる。
【0020】(作用)本発明では、上記構成により、C
PUの持つ全アドレス空間を複数の領域に分割して、そ
れぞれに複数種の外部メモリのいずれかを割り付け、C
PUがどの領域、すなわちどの外部メモリをアクセスし
たかによりCPUリクエスト信号を分割するか、あるい
はCPUの出力する転送コード、すなわち命令のフェッ
チであるのか、データの転送であるのかを示す信号によ
りCPUリクエスト信号を分割し、分割された上記CP
Uリクエストと同時に入力されるDMAリクエストのそ
れぞれのアクセスのラストを示す信号により“1”ずつ
カウントアップしていき、そのカウント値が規定値まで
達したら、論理を変化させるようなプライオリティー信
号を複数種生成し、この複数のプライオリティー信号の
中で当該の転送データの処理に最適なものを、分割され
た上記CPUリクエスト毎に選択し、各CPUリクエス
ト毎に選択されたプライオリティー信号に基づき、同時
に入力するCPUとDMAのリクエストの片方をパス
し、他方をマスクする動作を各CPUリクエストに関し
て行なう。
PUの持つ全アドレス空間を複数の領域に分割して、そ
れぞれに複数種の外部メモリのいずれかを割り付け、C
PUがどの領域、すなわちどの外部メモリをアクセスし
たかによりCPUリクエスト信号を分割するか、あるい
はCPUの出力する転送コード、すなわち命令のフェッ
チであるのか、データの転送であるのかを示す信号によ
りCPUリクエスト信号を分割し、分割された上記CP
Uリクエストと同時に入力されるDMAリクエストのそ
れぞれのアクセスのラストを示す信号により“1”ずつ
カウントアップしていき、そのカウント値が規定値まで
達したら、論理を変化させるようなプライオリティー信
号を複数種生成し、この複数のプライオリティー信号の
中で当該の転送データの処理に最適なものを、分割され
た上記CPUリクエスト毎に選択し、各CPUリクエス
ト毎に選択されたプライオリティー信号に基づき、同時
に入力するCPUとDMAのリクエストの片方をパス
し、他方をマスクする動作を各CPUリクエストに関し
て行なう。
【0021】
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態を詳細に説明する。
施の形態を詳細に説明する。
【0022】(第1の実施形態)図1は本発明の特徴を
最もよく表す本発明の一実施形態におけるアクセス調停
回路の構成を示す。ここで、破線枠で囲った115は、
以下に述べる構成要素を有する本発明を適用したアクセ
ス調停回路の全体を表わす。
最もよく表す本発明の一実施形態におけるアクセス調停
回路の構成を示す。ここで、破線枠で囲った115は、
以下に述べる構成要素を有する本発明を適用したアクセ
ス調停回路の全体を表わす。
【0023】まず、101はCPUアクセスをDMAア
クセスの何回終了時点で処理するかを決めるアクセス回
数測定用のカウンタである。このカウンタ101は、分
割されたCPUリクエスト[CPUREQ(A)とCP
UREQ(B)]と同時に入力されるDMAリクエスト
[DMAREQ]のそれぞれのアクセスのラストを示す
信号、すなわちCPUラスト信号(AまたはB)とDM
Aラスト信号により“1”ずつカウントアップしてい
き、そのカウント値が規定値まで達したら、論理を変化
させるようなプライオリティー信号を複数種、即ちPR
I(DMA/A),PRI(DMA/B)を出力する。
なお、このカウンタ101には、複数のプライオリティ
ー信号の中で当該の転送データの処理に最適なものを、
分割されたCPUリクエスト毎に選択するための後述の
図3で示す様なセレクタ部を内部に含む場合がある。
クセスの何回終了時点で処理するかを決めるアクセス回
数測定用のカウンタである。このカウンタ101は、分
割されたCPUリクエスト[CPUREQ(A)とCP
UREQ(B)]と同時に入力されるDMAリクエスト
[DMAREQ]のそれぞれのアクセスのラストを示す
信号、すなわちCPUラスト信号(AまたはB)とDM
Aラスト信号により“1”ずつカウントアップしてい
き、そのカウント値が規定値まで達したら、論理を変化
させるようなプライオリティー信号を複数種、即ちPR
I(DMA/A),PRI(DMA/B)を出力する。
なお、このカウンタ101には、複数のプライオリティ
ー信号の中で当該の転送データの処理に最適なものを、
分割されたCPUリクエスト毎に選択するための後述の
図3で示す様なセレクタ部を内部に含む場合がある。
【0024】102,103,104はCPUアクセス
(A,Bを含む)とDMAアクセスのそれぞれを起動さ
せるために調停を行なった上でパルスを発生させる論理
積ゲートであるAND(1),AND(2),AND
(3)である。
(A,Bを含む)とDMAアクセスのそれぞれを起動さ
せるために調停を行なった上でパルスを発生させる論理
積ゲートであるAND(1),AND(2),AND
(3)である。
【0025】105,106,107は、AND(1)
102,AND(2)103,AND(3)104の出
力に応じて、シーケンサ116に対して起動用の同期パ
ルスを送るD型フリップフロップ回路であるD・F/F
(1),D・F/F(2),D・F/F(3)である。
102,AND(2)103,AND(3)104の出
力に応じて、シーケンサ116に対して起動用の同期パ
ルスを送るD型フリップフロップ回路であるD・F/F
(1),D・F/F(2),D・F/F(3)である。
【0026】108は上記PRI(DMA/A)信号に
よるCPUREQ(A)のマスクと上記PRI(DMA
/B)信号によるCPUREQ(B)のマスクをOR
(論理和演算)することで,DMAREQを処理するか
否かを決める論理積ゲートであるAND(4)である。
よるCPUREQ(A)のマスクと上記PRI(DMA
/B)信号によるCPUREQ(B)のマスクをOR
(論理和演算)することで,DMAREQを処理するか
否かを決める論理積ゲートであるAND(4)である。
【0027】109,110,113はカウンタ101
から出力されるPRI(DMA/A)信号により、同時
に入力するCPUREQ(A)とDMAREQの片方を
処理可能とし、もう一方を処理不可とするような否定論
理積ゲートであるNAND(1),NAND(2)及び
インバータであるINV(1)である。同様に、11
1,112,114はカウンタ101から出力される上
記PRI(DMA/B)信号により、同時に入力するC
PUREQ(B)とDMAREQの片方を処理可能と
し、もう一方を処理不可とするような否定論理積ゲート
であるNAND(3),NAND(4)及びインバータ
であるINV(2)である。
から出力されるPRI(DMA/A)信号により、同時
に入力するCPUREQ(A)とDMAREQの片方を
処理可能とし、もう一方を処理不可とするような否定論
理積ゲートであるNAND(1),NAND(2)及び
インバータであるINV(1)である。同様に、11
1,112,114はカウンタ101から出力される上
記PRI(DMA/B)信号により、同時に入力するC
PUREQ(B)とDMAREQの片方を処理可能と
し、もう一方を処理不可とするような否定論理積ゲート
であるNAND(3),NAND(4)及びインバータ
であるINV(2)である。
【0028】アクセス調停回路115は、上記構成要素
により、メモリ(図示しない)に対してのソースとなる
べきDMA,CPUのリクエスト要求、及びその他のリ
クエスト要求に対して、どのアクセスを許可するかを決
定する。シーケンサ116は、アクセス調停回路115
から出力される起動パルスにより、メモリ(図示しな
い)に対してリード及びライトのシーケンスを作成す
る。
により、メモリ(図示しない)に対してのソースとなる
べきDMA,CPUのリクエスト要求、及びその他のリ
クエスト要求に対して、どのアクセスを許可するかを決
定する。シーケンサ116は、アクセス調停回路115
から出力される起動パルスにより、メモリ(図示しな
い)に対してリード及びライトのシーケンスを作成す
る。
【0029】図2は図1のカウンタ101の詳細な内部
構成例を示す。ここで、201はJKF/F(JK型フ
リップ・フロップ回路)、202,203はSL付D・
F/F(1),(2)、204,205はSL付D・F
/F(3),(4)、206,207,208はNAN
D(1),(2),(3)、209はOR(1)、21
0はINV(1)、211,212,213 は排他的
論理和ゲートであるEOR(1),(2),(3)、2
14,215はAND(1),(2)である。
構成例を示す。ここで、201はJKF/F(JK型フ
リップ・フロップ回路)、202,203はSL付D・
F/F(1),(2)、204,205はSL付D・F
/F(3),(4)、206,207,208はNAN
D(1),(2),(3)、209はOR(1)、21
0はINV(1)、211,212,213 は排他的
論理和ゲートであるEOR(1),(2),(3)、2
14,215はAND(1),(2)である。
【0030】入力信号であるSYSRSTはシステムの
リセット信号、SYSCLKはシステムのクロック信号
である。PRI1/1,PRI3/1,PRI7/1,
PRI15/1はそれぞれこのカウンタ201の出力信
号であるプライオリティー信号であるが、PRI1/1
は同時に入力するDMAリクエストとCPUリクエスト
を交互に優先処理することを指示し、PRI3/1は同
時に入力するDMAリクエスト3回処理につきCPUリ
クエストを1回処理することを指示し、PRI7/1は
同時に入力するDMAリクエスト7回処理につきCPU
リクエストを1回処理することを指示し、PRI15/
1は同時に入力するDMAリクエスト15回処理につき
CPUリクエストを1回処理することを指示する。これ
らPRI1/1,PRI3/1,PRI7/1,PRI
15/1は、処理効率を考慮して、PRI(DMA/
A),PRI(DMA/B)の出力に接続する(図1を
参照)。
リセット信号、SYSCLKはシステムのクロック信号
である。PRI1/1,PRI3/1,PRI7/1,
PRI15/1はそれぞれこのカウンタ201の出力信
号であるプライオリティー信号であるが、PRI1/1
は同時に入力するDMAリクエストとCPUリクエスト
を交互に優先処理することを指示し、PRI3/1は同
時に入力するDMAリクエスト3回処理につきCPUリ
クエストを1回処理することを指示し、PRI7/1は
同時に入力するDMAリクエスト7回処理につきCPU
リクエストを1回処理することを指示し、PRI15/
1は同時に入力するDMAリクエスト15回処理につき
CPUリクエストを1回処理することを指示する。これ
らPRI1/1,PRI3/1,PRI7/1,PRI
15/1は、処理効率を考慮して、PRI(DMA/
A),PRI(DMA/B)の出力に接続する(図1を
参照)。
【0031】図3は図2のカウンタ101に付属するセ
レクタ部の構成を示す。ここで、301、302はそれ
ぞれセレクタ(1),(2)であり、上記複数のプライ
オリティー信号PRI1/1,PRI3/1,PRI7
/1,PRI15/1の中で当該の転送データの処理に
最適なものを、PRI切替信号A,Bに基づいて、分割
されたCPUリクエスト毎に選択し、選択した信号をP
RI(DMA/A),PRI(DMA/B)として出力
する。PRI切替信号A,Bはデータ解析部(図示しな
い)により発生する制御信号であって、転送データの例
えば種類によりレベル変化する。
レクタ部の構成を示す。ここで、301、302はそれ
ぞれセレクタ(1),(2)であり、上記複数のプライ
オリティー信号PRI1/1,PRI3/1,PRI7
/1,PRI15/1の中で当該の転送データの処理に
最適なものを、PRI切替信号A,Bに基づいて、分割
されたCPUリクエスト毎に選択し、選択した信号をP
RI(DMA/A),PRI(DMA/B)として出力
する。PRI切替信号A,Bはデータ解析部(図示しな
い)により発生する制御信号であって、転送データの例
えば種類によりレベル変化する。
【0032】図4および図5は図1のアクセス調停回路
115の信号のタイミングを示し、図6はそのアクセス
調停回路115の処理動作の流れを示す。
115の信号のタイミングを示し、図6はそのアクセス
調停回路115の処理動作の流れを示す。
【0033】次に、図4および図5のタイミングチャー
ト及び図6のフローチャートを参照して、図1の構成に
よるアクセス調停回路115の本発明の第1実施形態に
おける動作を説明する。
ト及び図6のフローチャートを参照して、図1の構成に
よるアクセス調停回路115の本発明の第1実施形態に
おける動作を説明する。
【0034】なお、本実施形態では、説明を簡潔にする
ため、カウンタ101から出力されるPRI(DMA/
A)信号を、同時に入力するDMAリクエストとCPU
リクエストを交互に優先処理(図2におけるPRI1/
1を選択)するように設定し、PRI(DMA/B)信
号を同時に入力するDMAリクエスト3回処理につきC
PUリクエストを1回処理(図2におけるPRI3/1
を選択)するように予め設定している(ステップ50
1)。
ため、カウンタ101から出力されるPRI(DMA/
A)信号を、同時に入力するDMAリクエストとCPU
リクエストを交互に優先処理(図2におけるPRI1/
1を選択)するように設定し、PRI(DMA/B)信
号を同時に入力するDMAリクエスト3回処理につきC
PUリクエストを1回処理(図2におけるPRI3/1
を選択)するように予め設定している(ステップ50
1)。
【0035】まず、最初にホストコンピュータ(図示し
ない)からプリント要求が発生すると(ステップ50
2)、アクセス調停回路115を含むプリント制御装置
(図示しない)内で転送データの解析を行ない、ページ
単位又はバンド単位でメモリに展開する(ステップ50
3)。
ない)からプリント要求が発生すると(ステップ50
2)、アクセス調停回路115を含むプリント制御装置
(図示しない)内で転送データの解析を行ない、ページ
単位又はバンド単位でメモリに展開する(ステップ50
3)。
【0036】続いて、従来では、そのメモリに展開した
データをシリアルデータの形でプリントエンジン(図示
しない)に出力するという形をとるのであるが、近年の
複雑化した処理経路においては、転送データによって、
複数のソースから発生するDMAリクエストの単位時間
あたりの発生率がかなり高くなり、高解像度でエンジン
出力する際にはメモリへの展開が間に合わず、正常な出
力保障ができないという現象(オーバーラン)が起こ
る。その一方で、プリント制御装置の低価格化も進み、
メモリバス上にプリントデータ格納用及びプログラムの
ワーク領域に使用するRAMと、システムの動作を規定
するプログラム及びフォントデータが格納されているR
OMの双方が共通に接続されるような構成となり、CP
Uのリクエスト発生率も高くなり、上記のDMAリクエ
スト発生率の増加と合わせて、メモリバスの使用頻度が
かなり高くなってしまう。
データをシリアルデータの形でプリントエンジン(図示
しない)に出力するという形をとるのであるが、近年の
複雑化した処理経路においては、転送データによって、
複数のソースから発生するDMAリクエストの単位時間
あたりの発生率がかなり高くなり、高解像度でエンジン
出力する際にはメモリへの展開が間に合わず、正常な出
力保障ができないという現象(オーバーラン)が起こ
る。その一方で、プリント制御装置の低価格化も進み、
メモリバス上にプリントデータ格納用及びプログラムの
ワーク領域に使用するRAMと、システムの動作を規定
するプログラム及びフォントデータが格納されているR
OMの双方が共通に接続されるような構成となり、CP
Uのリクエスト発生率も高くなり、上記のDMAリクエ
スト発生率の増加と合わせて、メモリバスの使用頻度が
かなり高くなってしまう。
【0037】そこで、本発明では、CPUの持つ全アド
レス空間を複数の領域に分割し、その各々の領域に、上
記ROMなり、RAMを割り付け(ステップ504)、
CPUがどの領域をアクセスしたかによりCPUリクエ
ストを分割し(CPUREQ(A)及びCPUREQ
(B))、図1のアクセス調停回路115に入力する構
成とした(ステップ505)。
レス空間を複数の領域に分割し、その各々の領域に、上
記ROMなり、RAMを割り付け(ステップ504)、
CPUがどの領域をアクセスしたかによりCPUリクエ
ストを分割し(CPUREQ(A)及びCPUREQ
(B))、図1のアクセス調停回路115に入力する構
成とした(ステップ505)。
【0038】本実施形態では、説明の簡略化のために、
RAMの割り付けられた領域へのアクセスをCPURE
Q(A)とし、ROMの割り付けられた領域へのアクセ
スをCPUREQ(B)とする。このようにすると、プ
リント要求が発生し、転送データをDMA(ダイレクト
・メモリ・アクセス)で処理する際、それと同時にプロ
グラムROMのフェッチ動作(CPUREQ(B))や
ワーク領域RAMへのリード/ライトアクセス(CPU
REQ(A))が同時に発生する場合が生じる(図4、
図5参照)。
RAMの割り付けられた領域へのアクセスをCPURE
Q(A)とし、ROMの割り付けられた領域へのアクセ
スをCPUREQ(B)とする。このようにすると、プ
リント要求が発生し、転送データをDMA(ダイレクト
・メモリ・アクセス)で処理する際、それと同時にプロ
グラムROMのフェッチ動作(CPUREQ(B))や
ワーク領域RAMへのリード/ライトアクセス(CPU
REQ(A))が同時に発生する場合が生じる(図4、
図5参照)。
【0039】このような時に、CPUREQ(A)とC
PUREQ(B)のDMAに対する優先度は、従来シス
テムならば同等であるが、本実施形態ではカウンタ10
1からプライオリティー信号であるPRI(DMA/
A),PRI(DMA/B)を出力し、CPUREQ
(A),CPUREQ(B)のそれぞれでDMAに対す
る優先度を決定する(ステップ507)。これにより、
本実施形態によれば、従来のCPU及びDMAの2つの
ソースだったものを、CPU(A),CPU(B),D
MAの3つのソースにしてアクセスの調停を行ない、そ
れぞれで順位付けを決定することができる。
PUREQ(B)のDMAに対する優先度は、従来シス
テムならば同等であるが、本実施形態ではカウンタ10
1からプライオリティー信号であるPRI(DMA/
A),PRI(DMA/B)を出力し、CPUREQ
(A),CPUREQ(B)のそれぞれでDMAに対す
る優先度を決定する(ステップ507)。これにより、
本実施形態によれば、従来のCPU及びDMAの2つの
ソースだったものを、CPU(A),CPU(B),D
MAの3つのソースにしてアクセスの調停を行ない、そ
れぞれで順位付けを決定することができる。
【0040】さらに具体的には、図4に示すように、ワ
ーク領域RAMへのCPUのリード/ライトアクセス
(CPUREQ(A))と複数のDMAソース(*a,
*b,*c) からのリクエストが同時に入力された時
に、CPUREQ(A)は転送データのプリント処理に
直接影響を及ぼすので、DMAに対する優先度をCPU
REQ(B)よりも高く設定するため、カウンタ101
はPRI(DMA/A)→PRI1/1を選択出力す
る。
ーク領域RAMへのCPUのリード/ライトアクセス
(CPUREQ(A))と複数のDMAソース(*a,
*b,*c) からのリクエストが同時に入力された時
に、CPUREQ(A)は転送データのプリント処理に
直接影響を及ぼすので、DMAに対する優先度をCPU
REQ(B)よりも高く設定するため、カウンタ101
はPRI(DMA/A)→PRI1/1を選択出力す
る。
【0041】これにより、図4に示すT1の時点で、P
RI(DMA/A)は“H”(ハイレベル)となるの
で、図1のNAND(1)109は“L”(ローレベ
ル)となり、AND(1)102によりCPUREQ
(A)はマスクされる。一方、NAND(2)110は
“H”で、AND(4)108も“H”となるので、D
MAREQはパスされる。よって、DMAソースの中で
最もプライオリティの高いDMAソース*aのリクエス
トを処理する。
RI(DMA/A)は“H”(ハイレベル)となるの
で、図1のNAND(1)109は“L”(ローレベ
ル)となり、AND(1)102によりCPUREQ
(A)はマスクされる。一方、NAND(2)110は
“H”で、AND(4)108も“H”となるので、D
MAREQはパスされる。よって、DMAソースの中で
最もプライオリティの高いDMAソース*aのリクエス
トを処理する。
【0042】そして、このリクエストの処理終了時に、
DMAラスト信号が図2のJKF/F201のK端子に
入力されるので、PRI1/1は“H”→“L”とな
り、先の動作とは逆にDMAREQはマスクされ、CP
UREQ(A)がパスされる。CPUREQ(A)の処
理終了時にCPUラスト信号がJKF/F201のJ端
子に入力されると、PRI1/1は“L”→“H”とな
り、再びDMAREQが優先される。
DMAラスト信号が図2のJKF/F201のK端子に
入力されるので、PRI1/1は“H”→“L”とな
り、先の動作とは逆にDMAREQはマスクされ、CP
UREQ(A)がパスされる。CPUREQ(A)の処
理終了時にCPUラスト信号がJKF/F201のJ端
子に入力されると、PRI1/1は“L”→“H”とな
り、再びDMAREQが優先される。
【0043】一方、図5に示すように、プログラムRO
MのCPUによるフェッチ動作(CPUREQ(B))
と複数のDMAソース(*a,*b,*c) からのリク
エストが同時に入力された時には、CPUREQ(B)
は転送データのプリント処理に直接影響力が小さいの
で、DMAに対する優先度をCPUREQ(A)よりも
低く設定し、PRI(DMA/B)→PRI3/1とす
る。
MのCPUによるフェッチ動作(CPUREQ(B))
と複数のDMAソース(*a,*b,*c) からのリク
エストが同時に入力された時には、CPUREQ(B)
は転送データのプリント処理に直接影響力が小さいの
で、DMAに対する優先度をCPUREQ(A)よりも
低く設定し、PRI(DMA/B)→PRI3/1とす
る。
【0044】すると、図5のT2の時点でPRI(DM
A/B)は“H”であるので、図1のNAND(3)1
11は“L”となり、AND(2)103により、CP
UREQ(B)はマスクされる。一方、NAND(4)
112は“H”で、AND(4)108も“H”となる
ので、DMAREQはパスされ、DMAソースの中で最
もプライオリティの高いDMAソース*aのリクエスト
を処理する。
A/B)は“H”であるので、図1のNAND(3)1
11は“L”となり、AND(2)103により、CP
UREQ(B)はマスクされる。一方、NAND(4)
112は“H”で、AND(4)108も“H”となる
ので、DMAREQはパスされ、DMAソースの中で最
もプライオリティの高いDMAソース*aのリクエスト
を処理する。
【0045】そして、このリクエストの処理終了時にD
MAラスト信号が“H”となり、図2のSL付D・F/
F(1〜4)202〜205のS入力が“H”となるの
で、これらSL付D・F/Fはそれぞれa入力を選択
し、“1”カウントアップする。この時、NAND
(1)206の出力は“H”のままなので、次もDMA
REQが優先され、CPUREQ(B)はマスクされ
る。よって、DMAソース*bのリクエストを処理し、
SL付D・F/F(1〜4)202〜205を“1”カ
ウントアップする。この動作を繰り返し、3回DMA処
理を終了した時点で、NAND(1)206の両入力が
“H”,“H”となり、これによりPRI3/1が
“H”→“L”となる。この時に、初めてDMAREQ
がマスクされ、CPUREQ(B)がパスされ、リクエ
スト処理を行い、アクセス終了後に、再びDMAREQ
が優先される。
MAラスト信号が“H”となり、図2のSL付D・F/
F(1〜4)202〜205のS入力が“H”となるの
で、これらSL付D・F/Fはそれぞれa入力を選択
し、“1”カウントアップする。この時、NAND
(1)206の出力は“H”のままなので、次もDMA
REQが優先され、CPUREQ(B)はマスクされ
る。よって、DMAソース*bのリクエストを処理し、
SL付D・F/F(1〜4)202〜205を“1”カ
ウントアップする。この動作を繰り返し、3回DMA処
理を終了した時点で、NAND(1)206の両入力が
“H”,“H”となり、これによりPRI3/1が
“H”→“L”となる。この時に、初めてDMAREQ
がマスクされ、CPUREQ(B)がパスされ、リクエ
スト処理を行い、アクセス終了後に、再びDMAREQ
が優先される。
【0046】以上説明したように、ワーク領域RAMへ
のリード/ライトアクセスのリクエスト信号であるCP
UREQ(A)は、同時に入力するDMAソースへのリ
クエスト信号であるDMAREQに対して対等の関係で
処理されるのに対し、プログラムROMのフェッチ動作
のリクエスト信号のCPUREQ(B)は同時に入力す
るDMAソースへのリクエスト信号であるDMAREQ
に対して、4回中3回はDMA優先で処理される。すな
わち、DMAREQの方が優先順位としては高くなる。
のリード/ライトアクセスのリクエスト信号であるCP
UREQ(A)は、同時に入力するDMAソースへのリ
クエスト信号であるDMAREQに対して対等の関係で
処理されるのに対し、プログラムROMのフェッチ動作
のリクエスト信号のCPUREQ(B)は同時に入力す
るDMAソースへのリクエスト信号であるDMAREQ
に対して、4回中3回はDMA優先で処理される。すな
わち、DMAREQの方が優先順位としては高くなる。
【0047】このことは、単位時間あたりのCPURE
Q(A)とCPUREQ(B)の発生率が同じだと仮定
した場合に、同時に入力するDMAREQの発生率も同
じだったら、CPUREQ(A)の方が処理効率は高
く、CPUREQ(B)はDMAREQに対して待たさ
れる傾向となることに他ならない。
Q(A)とCPUREQ(B)の発生率が同じだと仮定
した場合に、同時に入力するDMAREQの発生率も同
じだったら、CPUREQ(A)の方が処理効率は高
く、CPUREQ(B)はDMAREQに対して待たさ
れる傾向となることに他ならない。
【0048】このように、本実施形態では、転送データ
に合わせてメモリバスを効率的に使用し、且つ頻繁に発
生するDMAリクエストを優先的に処理するために、C
PUリクエストを分割し、それぞれのアクセスに対して
優先順位付けを行なうようにしているので、その結果と
してシステムがオーバーランするのを適切に防止するこ
とができるという効果が得られる。
に合わせてメモリバスを効率的に使用し、且つ頻繁に発
生するDMAリクエストを優先的に処理するために、C
PUリクエストを分割し、それぞれのアクセスに対して
優先順位付けを行なうようにしているので、その結果と
してシステムがオーバーランするのを適切に防止するこ
とができるという効果が得られる。
【0049】なお、CPUアクセスは予め割り付けられ
たアドレス空間領域毎にアクセスしているので、CPU
REQ(A)とCPUREQ(B)が同時に発生するこ
とはないので、PRI(DMA/A)によるマスクとP
RI(DMA/B)によるマスクをAND(4)108
でAND(論理積演算)することに問題はないことは明
白である。
たアドレス空間領域毎にアクセスしているので、CPU
REQ(A)とCPUREQ(B)が同時に発生するこ
とはないので、PRI(DMA/A)によるマスクとP
RI(DMA/B)によるマスクをAND(4)108
でAND(論理積演算)することに問題はないことは明
白である。
【0050】また、ホストコンピュータからの転送デー
タの解析時(図6のステップ503)に、ページ毎、バ
ンド毎に図3に示すようなセレクタ部をカウンタ101
に付随させ、データの性質や種類等によって、PRI切
替信号A,Bを変化させることで、プライオリティを可
変にしても同等の効果が得られるのは言うまでもない。
タの解析時(図6のステップ503)に、ページ毎、バ
ンド毎に図3に示すようなセレクタ部をカウンタ101
に付随させ、データの性質や種類等によって、PRI切
替信号A,Bを変化させることで、プライオリティを可
変にしても同等の効果が得られるのは言うまでもない。
【0051】また、CPUのアクセスするアドレス空間
領域を単純にROMなり、RAMに割り付けるだけでな
く、CPU内部のキャッシュ(メモリ)のON/OFF
により細分化しても、やはり同等の効果が得られるのは
言うまでもない。
領域を単純にROMなり、RAMに割り付けるだけでな
く、CPU内部のキャッシュ(メモリ)のON/OFF
により細分化しても、やはり同等の効果が得られるのは
言うまでもない。
【0052】(第2の実施形態)上述の本発明の第1の
実施形態では、CPUの全アドレス空間を複数の領域に
分割し、分割した領域を複数の外部メモリへのアクセス
にそれぞれ割り付け、CPUがどの領域すなわちどの外
部メモリにアクセスしたかにより、CPUリクエスト信
号をデコードして、それぞれでDMAに対する優先順位
付けを設定していたが、本発明の第2の実施形態では、
CPUが出力する転送コード信号によってCPUリクエ
スト信号をデコードして、DMAに対する優先順位付け
を設定する。
実施形態では、CPUの全アドレス空間を複数の領域に
分割し、分割した領域を複数の外部メモリへのアクセス
にそれぞれ割り付け、CPUがどの領域すなわちどの外
部メモリにアクセスしたかにより、CPUリクエスト信
号をデコードして、それぞれでDMAに対する優先順位
付けを設定していたが、本発明の第2の実施形態では、
CPUが出力する転送コード信号によってCPUリクエ
スト信号をデコードして、DMAに対する優先順位付け
を設定する。
【0053】すなわち、近年のCPUは、現在のアクセ
スに対して、命令のフェッチなのか、データのトランザ
クションなのか、変数のロード/ストアなのかを識別可
能な転送コード信号を外部に出力するような仕様となっ
ているので、図6のステップ506に示すように、その
転送コード信号をデコードすることで、CPUリクエス
トをCPUREQ(A)及びCPUREQ(B)に分割
し、転送コード信号がデータのトランザクションならば
CPUリクエストをDMAのリクエストと同等の関係に
し、転送コード信号が命令のフェッチならばDMAのリ
クエストよりもCPUリクエストの優先順位を低くする
ことで、回路は多少変更されるが、第1の実施形態と同
等の効果が期待できる。
スに対して、命令のフェッチなのか、データのトランザ
クションなのか、変数のロード/ストアなのかを識別可
能な転送コード信号を外部に出力するような仕様となっ
ているので、図6のステップ506に示すように、その
転送コード信号をデコードすることで、CPUリクエス
トをCPUREQ(A)及びCPUREQ(B)に分割
し、転送コード信号がデータのトランザクションならば
CPUリクエストをDMAのリクエストと同等の関係に
し、転送コード信号が命令のフェッチならばDMAのリ
クエストよりもCPUリクエストの優先順位を低くする
ことで、回路は多少変更されるが、第1の実施形態と同
等の効果が期待できる。
【0054】また、上記のCPUの転送コード信号と合
わせて、アクセスサイズを現わす信号(現在のアクセス
がシングルアクセスなのかバーストアクセスなのかを示
す信号)やライトスルーアクセス,キャッシュミスアク
セスを示す信号も外部に出力するCPUもあるので、そ
れら信号を適宜組み合わせてデコードすることで、CP
Uのリクエストを細分化しても、第1の実施形態と同等
の効果が得られるのは言うまでもない。
わせて、アクセスサイズを現わす信号(現在のアクセス
がシングルアクセスなのかバーストアクセスなのかを示
す信号)やライトスルーアクセス,キャッシュミスアク
セスを示す信号も外部に出力するCPUもあるので、そ
れら信号を適宜組み合わせてデコードすることで、CP
Uのリクエストを細分化しても、第1の実施形態と同等
の効果が得られるのは言うまでもない。
【0055】(他の実施の形態)なお、上記本発明の実
施形態では本発明をプリンタに適用した場合を例示した
が、本発明はこれに限定されず、その他の情報機器にも
適用可能であるのは勿論である。また、本発明は、複数
の機器(例えば、ホストコンピュータ、インターフェー
ス機器、リーダ、プリンタなど)から構成されるシステ
ムに適用しても、1つの機器からなる装置(例えば、複
写機、ファクシミリ装置など)に適用してもよい。
施形態では本発明をプリンタに適用した場合を例示した
が、本発明はこれに限定されず、その他の情報機器にも
適用可能であるのは勿論である。また、本発明は、複数
の機器(例えば、ホストコンピュータ、インターフェー
ス機器、リーダ、プリンタなど)から構成されるシステ
ムに適用しても、1つの機器からなる装置(例えば、複
写機、ファクシミリ装置など)に適用してもよい。
【0056】また、本発明の目的は、前述した実施の形
態の機能を実現するソフトウエアのプログラムコードを
記録した記録媒体(記憶媒体)を、システムあるいは装
置に供給し、そのシステムあるいは装置のコンピュータ
(またはCPUやMPU)が記録媒体に格納されたプロ
グラムコードを読み出し、実行することによっても、達
成されることは言うまでもない。
態の機能を実現するソフトウエアのプログラムコードを
記録した記録媒体(記憶媒体)を、システムあるいは装
置に供給し、そのシステムあるいは装置のコンピュータ
(またはCPUやMPU)が記録媒体に格納されたプロ
グラムコードを読み出し、実行することによっても、達
成されることは言うまでもない。
【0057】この場合、記録媒体から読み出されたプロ
グラムコード自体が前述した実施の形態の機能を実現す
ることになり、そのプログラムコードを記録した記録媒
体は本発明を構成することになる。
グラムコード自体が前述した実施の形態の機能を実現す
ることになり、そのプログラムコードを記録した記録媒
体は本発明を構成することになる。
【0058】そのプログラムコードを記録し、またテー
ブル等の変数データを記録する記録媒体としては、例え
ばフロッピディスク(FD)、ハードディスク、光ディ
スク、光磁気ディスク、CD−ROM、CD−R、磁気
テープ、不揮発性のメモリカード(ICメモリカー
ド)、ROMなどを用いことができる。
ブル等の変数データを記録する記録媒体としては、例え
ばフロッピディスク(FD)、ハードディスク、光ディ
スク、光磁気ディスク、CD−ROM、CD−R、磁気
テープ、不揮発性のメモリカード(ICメモリカー
ド)、ROMなどを用いことができる。
【0059】また、コンピュータが読み出したプログラ
ムコードを実行することにより、前述の実施の形態の機
能が実現されるだけでなく、そのプログラムコードの指
示に基づいて、コンピュータ上で稼動しているOS(オ
ペレーティングシステム)などが実際の処理の一部また
は全部を行ない、その処理によって前述した実施の形態
の機能が実現される場合も含まれることは言うまでもな
い。
ムコードを実行することにより、前述の実施の形態の機
能が実現されるだけでなく、そのプログラムコードの指
示に基づいて、コンピュータ上で稼動しているOS(オ
ペレーティングシステム)などが実際の処理の一部また
は全部を行ない、その処理によって前述した実施の形態
の機能が実現される場合も含まれることは言うまでもな
い。
【0060】
【発明の効果】以上説明したように、本発明によれば、
CPUのリクエストをどの領域、すなわちどの外部メモ
リにアクセスしたかにより、もしくはCPUの出力する
転送コードにより分割し、これら分割されたCPUリク
エストのそれぞれに関して、これらCPUリクエストと
同時に入力されるDMAリクエストに対する優先順位付
けを行うように構成しているので、CPUリクエストと
DMAリクエストの同時発生時に正常なプリントデータ
が保障できなくなるようなオーバーランの発生を予め防
止することができ、且つメモリバスが効率的に使用でき
るという効果を奏する。
CPUのリクエストをどの領域、すなわちどの外部メモ
リにアクセスしたかにより、もしくはCPUの出力する
転送コードにより分割し、これら分割されたCPUリク
エストのそれぞれに関して、これらCPUリクエストと
同時に入力されるDMAリクエストに対する優先順位付
けを行うように構成しているので、CPUリクエストと
DMAリクエストの同時発生時に正常なプリントデータ
が保障できなくなるようなオーバーランの発生を予め防
止することができ、且つメモリバスが効率的に使用でき
るという効果を奏する。
【図1】本発明の一実施形態のアクセス調停回路の概略
構成を示すブロック図である。
構成を示すブロック図である。
【図2】図1のカウンタ101の詳細な構成を示すブロ
ック図である。
ック図である。
【図3】図2のカウンタ101に付属されるセレクタ部
の構成を示すブロック図である。
の構成を示すブロック図である。
【図4】分割された一方のCPUリクエスト:CPUR
EQ(A)に対する本発明の一実施形態における図1、
図2のアクセス調停回路で生成される信号のタイミング
を示すタイミングチャートである。
EQ(A)に対する本発明の一実施形態における図1、
図2のアクセス調停回路で生成される信号のタイミング
を示すタイミングチャートである。
【図5】分割された他方のCPUリクエスト:CPUR
EQ(B)に対する本発明の一実施形態における図1、
図2のアクセス調停回路で生成される信号のタイミング
を示すタイミングチャートである。
EQ(B)に対する本発明の一実施形態における図1、
図2のアクセス調停回路で生成される信号のタイミング
を示すタイミングチャートである。
【図6】本発明の第1、第2実施形態におけるアクセス
調停回路の動作を示すフローチャートである。
調停回路の動作を示すフローチャートである。
101 カウンタ 102,103,104 AND 105,106,107 D・F/F 108 AND 109,110,111 NAND 112 NAND 113,114 INV 115 アクセス調停回路 116 シーケンサ 201 JKF/F 202,203 SL付D・F/F 204,205 SL付D・F/F 206,207,208 NAND 209 OR 210 INV 211,212,213 EOR 214,215 AND 301,302 セレクタ
Claims (14)
- 【請求項1】 CPUの全アドレス空間を複数の領域に
分割し、分割した該領域を外部メモリへのアクセスにそ
れぞれ割り付け、CPUがどの領域、すなわちどの外部
メモリにアクセスしたかによりCPUリクエスト信号を
分割するデコード手段と、 該デコード手段で分割された前記CPUリクエスト信
号,該CPUリクエスト信号と同時に入力するDMAリ
クエスト信号のそれぞれのアクセスをカウントし、該カ
ウント値が規定回数になったらプライオリティーを切換
えるカウント手段と、 前記デコード手段で分割されたCPUリクエスト信号毎
に、前記カウント手段で発生するプライオリティー信号
の中でどれを選択するかを決定するセレクト手段と、 該セレクト手段により選択されたプライオリティー信号
に基づき、前記分割されたCPUリクエスト信号及びD
MAリクエスト信号のそれぞれのアクセスを調停する調
停手段とを有することを特徴とするアクセス調停回路。 - 【請求項2】 前記デコード手段は、現在のCPUのア
クセスが命令フェッチなのか、データのトランザクショ
ンなのか、変数のロード/ストアなのか、のいずれであ
るかを示す転送コード信号により、前記CPUリクエス
ト信号を分割することを特徴とする請求項1に記載のア
クセス調停回路。 - 【請求項3】 前記デコード手段は、CPUの前記転送
コード信号と、アクセスサイズを現わす信号、すなわち
現在のアクセスがシングルアクセスなのかバーストアク
セスなのかを示す信号やライトスルーアクセス,キャッ
シュミスアクセスを示す信号とを組み合わせて、これら
の信号により前記CPUリクエスト信号を分割すること
を特徴とする請求項1に記載のアクセス調停回路。 - 【請求項4】 前記デコード手段は、更にCPU内部の
キャッシュのON/OFFにより、前記CPUリクエス
ト信号を分割することを特徴とする請求項1に記載のア
クセス調停回路。 - 【請求項5】 前記カウント手段は、前記分割されたC
PUリクエスト信号と前記同時に入力されるDMAリク
エストのそれぞれのアクセスのラストを示す信号により
“1”ずつカウントアップしていき、そのカウント値が
規定値まで達したら、論理を変化させるようなプライオ
リティー信号を複数種生成することを特徴とする請求項
1ないし4のいずれかに記載のアクセス調停回路。 - 【請求項6】 前記セレクト手段は、前記カウント手段
で生成された前記複数のプライオリティー信号の中で当
該の転送データの処理に最適なものを、前記分割された
CPUリクエスト毎に選択することを特徴とする請求項
1ないし5のいずれかに記載のアクセス調停回路。 - 【請求項7】 前記調停手段は、前記セレクト手段によ
り選択された前記プライオリティー信号に基づき、同時
に入力するCPUリクエスト信号とDMAリクエスト信
号の片方をパスし、他方をマスクする動作を各CPUリ
クエストに関して行なうことを特徴とする請求項1ない
し6のいずれかに記載のアクセス調停回路。 - 【請求項8】 CPUの全アドレス空間を複数の領域に
分割し、分割した該領域を外部メモリへのアクセスにそ
れぞれ割り付け、CPUがどの領域、すなわちどの外部
メモリにアクセスしたかによりCPUリクエスト信号を
分割するデコード工程と、 該デコード工程で分割された前記CPUリクエスト信
号,該CPUリクエスト信号と同時に入力するDMAリ
クエスト信号のそれぞれのアクセスをカウントし、該カ
ウント値が規定回数になったらプライオリティーを切換
えるカウント工程と、 前記デコード工程で分割されたCPUリクエスト信号毎
に、前記カウント工程で発生するプライオリティー信号
の中でどれを選択するかを決定するセレクト工程と、 該セレクト工程で選択されたプライオリティー信号に基
づき、前記分割されたCPUリクエスト信号及びDMA
リクエスト信号のそれぞれのアクセスを調停する調停工
程とを有することを特徴とするアクセス調停方法。 - 【請求項9】 前記デコード工程は、現在のCPUのア
クセスが命令フェッチなのか、データのトランザクショ
ンなのか、変数のロード/ストアなのか、のいずれであ
るかを示す転送コード信号により、前記CPUリクエス
ト信号を分割することを特徴とする請求項8に記載のア
クセス調停方法。 - 【請求項10】 前記カウント工程は、前記分割された
CPUリクエスト信号と前記同時に入力されるDMAリ
クエストのそれぞれのアクセスのラストを示す信号によ
り“1”ずつカウントアップしていき、そのカウント値
が規定値まで達したら、論理を変化させるようなプライ
オリティー信号を複数種生成することを特徴とする請求
項8または9に記載のアクセス調停方法。 - 【請求項11】 前記セレクト工程は、前記カウント工
程で生成された前記複数のプライオリティー信号の中で
当該の転送データの処理に最適なものを、前記分割され
たCPUリクエスト毎に選択することを特徴とする請求
項8ないし10のいずれかに記載のアクセス調停方法。 - 【請求項12】 前記調停工程は、前記セレクト工程で
選択された前記プライオリティー信号に基づき、同時に
入力するCPUリクエスト信号とDMAリクエスト信号
の片方をパスし、他方をマスクする動作を各CPUリク
エストに関して行なうことを特徴とする請求項8ないし
11のいずれかに記載のアクセス調停方法。 - 【請求項13】 コンピュータにより、CPUのリクエ
ストをCPUがどの外部メモリにアクセスしたかにより
分割し、分割したCPUリクエストのそれぞれに対し
て、同時に入力されるDMAのリクエストに対する優先
順位付けを行なうための制御プログラムを記憶した記憶
媒体であって、該制御プログラムはコンピュータに対
し、 CPUの全アドレス空間を複数の領域に分割させ、分割
した該領域を外部メモリへのアクセスにそれぞれ割り付
け、CPUがどの領域、すなわちどの外部メモリにアク
セスしたかによりCPUリクエスト信号を分割させ、 分割された前記CPUリクエスト信号,該CPUリクエ
スト信号と同時に入力するDMAリクエスト信号のそれ
ぞれのアクセスをカウントさせ、該カウント値が規定回
数になったらプライオリティー信号を切換えさせ、 分割されたCPUリクエスト信号毎に、前記プライオリ
ティー信号の中でどれを選択するかを決定させ、 選択されたプライオリティー信号に基づき、前記分割さ
れたCPUリクエスト信号及びDMAリクエスト信号の
それぞれのアクセスを調停させることを特徴とするアク
セス調停用制御プログラムを記憶した記憶媒体。 - 【請求項14】 前記制御プログラムはコンピュータに
対し、 現在のCPUのアクセスが命令フェッチなのか、データ
のトランザクションなのか、変数のロード/ストアなの
か、のいずれであるかを示す転送コード信号により、前
記CPUリクエスト信号を分割させることを特徴とする
請求項13に記載のアクセス調停用制御プログラムを記
憶した記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11223083A JP2001051943A (ja) | 1999-08-05 | 1999-08-05 | アクセス調停回路およびアクセス調停方法、並びにアクセス調停用制御プログラムを記憶した記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11223083A JP2001051943A (ja) | 1999-08-05 | 1999-08-05 | アクセス調停回路およびアクセス調停方法、並びにアクセス調停用制御プログラムを記憶した記憶媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001051943A true JP2001051943A (ja) | 2001-02-23 |
Family
ID=16792583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11223083A Pending JP2001051943A (ja) | 1999-08-05 | 1999-08-05 | アクセス調停回路およびアクセス調停方法、並びにアクセス調停用制御プログラムを記憶した記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2001051943A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003079194A1 (fr) * | 2002-03-18 | 2003-09-25 | Matsushita Electric Industrial Co., Ltd. | Appareil de traitement de donnees |
US7769911B2 (en) * | 2006-03-16 | 2010-08-03 | Fujitsu Limited | Data reading method and data reading apparatus |
-
1999
- 1999-08-05 JP JP11223083A patent/JP2001051943A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003079194A1 (fr) * | 2002-03-18 | 2003-09-25 | Matsushita Electric Industrial Co., Ltd. | Appareil de traitement de donnees |
CN1307556C (zh) * | 2002-03-18 | 2007-03-28 | 松下电器产业株式会社 | 信息处理装置 |
US7769911B2 (en) * | 2006-03-16 | 2010-08-03 | Fujitsu Limited | Data reading method and data reading apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0132157B1 (en) | Data processing system having dual processors | |
US8095744B2 (en) | Device for controlling access from a plurality of masters to shared memory composed of a plurality of banks each having a plurality of pages | |
US5857114A (en) | DMA system for re-arbitrating memory access priority during DMA transmission when an additional request is received | |
US6944686B2 (en) | Data transfer control circuit with terminal sharing | |
US6907514B2 (en) | Microcomputer and microcomputer system | |
US8838862B2 (en) | Data transfer device, method of transferring data, and image forming apparatus | |
JPS6138507B2 (ja) | ||
US8184110B2 (en) | Method and apparatus for indirect interface with enhanced programmable direct port | |
JP2007080037A (ja) | Dma転送システム | |
US6272583B1 (en) | Microprocessor having built-in DRAM and internal data transfer paths wider and faster than independent external transfer paths | |
EP0901080A1 (en) | Arbitration system | |
JP3444154B2 (ja) | メモリアクセス制御回路 | |
US7774513B2 (en) | DMA circuit and computer system | |
JP2000148650A (ja) | 複合機器の制御装置 | |
US9767054B2 (en) | Data transfer control device and memory-containing device | |
JP2001051943A (ja) | アクセス調停回路およびアクセス調停方法、並びにアクセス調停用制御プログラムを記憶した記憶媒体 | |
JP3260456B2 (ja) | コンピュータシステムおよびそれに適した集積回路並びに要求選択回路 | |
US6938118B1 (en) | Controlling access to a primary memory | |
JPH09153009A (ja) | 階層構成バスのアービトレーション方法 | |
JP2005165592A (ja) | データ転送装置 | |
JP3206656B2 (ja) | バス上でのプリフェッチ装置およびプリフェッチ方法 | |
JP2731768B2 (ja) | メモリ制御装置 | |
JP2001297056A (ja) | 調停回路及びdmaコントローラ | |
US7689781B2 (en) | Access to a collective resource in which low priority functions are grouped, read accesses of the group being given higher priority than write accesses of the group | |
US6980314B1 (en) | Method and device for improving utilization of a bus |