JP2001014212A - メモリ制御装置及び方法とそれを用いた描画装置及び印刷装置 - Google Patents
メモリ制御装置及び方法とそれを用いた描画装置及び印刷装置Info
- Publication number
- JP2001014212A JP2001014212A JP11180839A JP18083999A JP2001014212A JP 2001014212 A JP2001014212 A JP 2001014212A JP 11180839 A JP11180839 A JP 11180839A JP 18083999 A JP18083999 A JP 18083999A JP 2001014212 A JP2001014212 A JP 2001014212A
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- prefetch
- controller
- transaction
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0215—Addressing or allocation; Relocation with look ahead addressing means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Image Input (AREA)
- Image Processing (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
る。 【解決手段】描画プロセッサ109は、ソース,パター
ン,デスティネーションプリフェッチ/ライトと、各々
DMACを有している。各DMACは、メモリリード/
ライト等のトランザクションをトランザクションキュー
110にキューイングする。メモリコントローラ102
はキューないのトランザクションを先入先出順に処理す
る。
Description
マルチファンクションシステムなどの画像出力装置等に
おいて、画像を形成する描画装置及びそれに用いられる
メモリ制御装置及び方法に関するものである。
めに、メモリアクセス性能が描画性能に及ぼす影響は大
きい。そこで、描画性能を改善するために、先読み(プ
リフェッチ)回路を設けた構成が提案されている。プリ
フェッチ回路により処理対象のデータを予め読み出して
おくことで、メモリアクセス混雑時の描画性能低下を最
小限に抑えることができる。またプリフェッチ回路を設
けた構成では、メモリアクセス混雑時でない場合にも、
プリフェッチを行わない場合よりも高い描画性能を得る
ことができる。
置がメモリより取得するソース、パターン、デスティネ
ーションといったデータは、それぞれメモリアクセスの
シーケンスが異なっており、これらを一つのプリフェッ
チ回路でプリフェッチを行うことはメモリアクセスが最
適化できず、描画性能の向上を妨げていた。
トモード転送を行わず、シングルアクセスを繰返し行う
と、メモリアクセスのオーバーヘッドが大きくなり、描
画装置の描画性能の向上を妨げることになってしまう。
600dpi/1bpp/A4で10ポイント程度の文
字やそれに相当するサイズの描画オブジェクト等を描画
すると、ビットマップメモリへの描画幅は60dotか
ら100dot程度となる。この描画幅では、ビットマ
ップメモリへのメモリアクセスがバーストバウンダリに
合致しない場合が多い。バーストバウンダリに合致しな
いアドレスは、DRAMのページ内の連続したアドレス
であっても、バーストモードではなく複数のシングルア
クセスに分割してアクセスされる。このために、メモリ
アクセスのオーバーヘッドが大きくなり、描画装置の描
画性能の向上を妨げていた。
使用している場合には、毎アクセスごとにプリチャージ
を行うように構成されるため、ページミス時もページヒ
ット時もアクセス時間が変わらない。例えば解像度60
0dpiでA4用紙横を出力するプリンタコントローラ
では、バンドメモリにあるラインの描画中はページヒッ
トし、改ライン時にページミスする可能性が非常に高い
が、バンドメモリにEDODRAMを用いるとページミ
ス時もページヒット時もアクセス時間が変わらない。そ
のため、改ライン時にも次ラインの先頭データをプリフ
ェッチしておくことが有効であった。
M等を用いた場合には、リードコマンドとプリチャージ
コマンドが分離されており、毎アクセスごとにページの
ヒット/ミスを判断し、プリチャージコマンドを発行す
るかしないかを切り替えるメモリコントローラが一般的
である。これによりページヒット時のメモリアクセスレ
イテンシが短くなり、メモリアクセス性能が向上してい
る。従来のプリフェッチ回路をSDRAMを用いる描画
回路に適用した場合、あるライン(これをカレントライ
ンとする)の最後の部分においては、(1)次ラインにお
ける先頭データのプリフェッチ、(2)カレントライン最
後のデータのライトバック、(3)次ラインにおける次デ
ータのプリフェッチのアクセスシーケンスが発生する。
この3つのメモリアクセスは、すべて互いに異なるライ
ンにアクセスするためにページミスとなるため、プリチ
ャージが各トランザクションに合わせて3回発生し、描
画時間が長いという問題があった。
で、メモリアクセスを最適化してその速度を向上させ、
シングルアクセスのオーバーヘッドを小さくし、描画の
改ライン時のプリチャージ回数を低減でき、描画回路の
性能を向上することができるメモリ制御装置及び方法
と、それを用いて描画性能を向上させた描画装置を提供
することを目的とする。
に、本発明は次のような構成からなる。
るメモリアドレスとともに発行する処理手段と、前記処
理手段から発行されたトランザクションを格納するキュ
ーと、前記キューに格納されたトランザクションを読み
出してメモリに対してコマンドを発行し、指定したアド
レスへのアクセスを制御する制御手段とを備える。
へとアクセスする複数のDMAコントローラを有する処
理手段と、前記処理手段の各DMAコントローラから発
行されたトランザクションを調停する調停手段と、前記
調停手段に調停されたトランザクションに基づいてメモ
リに対するコマンドを発行し、指定したアドレスへのア
クセスを制御する制御手段とを備える。
メモリと、メモリからデータをプリフェッチするプリフ
ェッチ手段と、メモリへデータを書き戻すライトバック
手段とを備え、プリフェッチによるページミス発生の可
能性があると判定された場合には、前記ライトバック手
段により直前のデータを書き戻すまでプリフェッチを延
期する。
領域それぞれへとアクセスするための複数のDMAコン
トローラと、前記複数の領域から読み取った画像データ
を処理する画像処理手段とを有する処理手段と、前記処
理手段の各DMAコントローラから発行されたトランザ
クションに基づいてメモリに対するコマンドを発行し、
指定したアドレスへのアクセスを制御する制御手段とを
備える。
れたトランザクションを格納するキューを更に備え、前
記制御手段は、前記キューに格納されたトランザクショ
ンを読み出してメモリに対してコマンドを発行し、指定
したアドレスへのアクセスを制御する。
DMAコントローラとして、生成したデータを書き込む
ための領域からデータを読み出すための第1のコントロ
ーラと、その領域へデータを書き戻すための第2のコン
トローラとを有し、前記第1のコントローラのプリフェ
ッチによるページミス発生の可能性があると判定された
場合には、前記第2のコントローラにより直前のデータ
を書き戻すまで前記第1のコントローラによるプリフェ
ッチを延期する。
DMAコントローラとして、更に、描画する元データを
読み出すための第3のコントローラを有し、前記第3の
コントローラは連続したアドレスをプリフェッチする。
DMAコントローラとして、更に、描かれるパターンを
読み出すための第4のコントローラを有し、前記第4の
コントローラは、パターンの幅が前記第4のコントロー
ラの有するバッファに収まる場合には、それ以上データ
をプリフェッチしない。
によりメモリに書き戻されたデータを出力する手段を更
に備える。
は、1ラインのプリフェッチが終了したことを判定し、
終了した場合には、ページミスの可能性がある。
施形態の描画装置の構成を示したブロック図である。ホ
ストコンピュータ106は印刷情報を生成し、ホストイ
ンターフェース107を通じてプリンタへ印刷情報を転
送する。印刷情報は、ホストインターフェース107か
らI/Oバス、I/Oバスブリッジ104、トランザク
ションキュー110、ライトバッファ111、メモリコ
ントローラ102を経由してSDRAM103の受信バ
ッファ領域103aに格納される。格納された印刷情報
はCPU101によって処理され、SDRAM103の
ディスプレイリスト格納領域103bにディスプレイリ
ストが生成される。
を起動すると、描画プロセッサ109内のDMACであ
るソースプリフェッチDMAC109a、パターンプリ
フェッチDMAC109c、デスティネーションプリフ
ェッチDMAC109eがデータリードトランザクショ
ンを発行する。データリードトランザクションはトラン
ザクションキュー110にキューイングされ、順序化さ
れてメモリコントローラ102のアドレス比較器102
a、コマンド発行102b、データコントローラ102
cでパイプライン処理され、SDRAM103のディス
プレイリスト格納領域103bよりソース、パターン、
デスティネーションの各データが取得される。キューイ
ングされるトランザクションは、そのトランザクション
の内容と共に、例えばリードトランザクションであれば
アドレスを、ライトトランザクションであればアドレス
とデータを更に伴う。トランザクションキュー110が
存在するため、各プリフェッチDMAC109a,10
9c,109eがデータを待たずに連続するシングルア
クセスのプリフェッチリードトランザクションを発行で
き、連続するトランザクションがトランザクションキュ
ー110に格納されていることによりメモリコントロー
ラのパイプライン処理が止まらない。その結果、連続す
るシングルアクセスがバーストアクセスに相当するスル
ープットを得ることができる。
に連続したアドレスをプリフェッチする。SDRAM1
03から取得されたソースデータはソースプリフェッチ
DMAC109aからソースデータコントローラ109
bに送られ、ソースプリフェッチDMAC109aは次
のデータを取得するためのデータリードトランザクショ
ンを発行する。
パターン幅とバッファサイズを比較する機能を有し、パ
ターン幅がバッファに収まる場合には改ラインまで続く
それ以上のデータをフェッチしない機能を有している。
SDRAM103から取得されたパターンデータはパタ
ーンプリフェッチDMAC109cからパターンデータ
コントローラ109dに送られ、パターンプリフェッチ
DMAC109cは、パターン幅がバッファに収まって
いなければ次のデータを取得するためのデータリードト
ランザクションを発行する。
09fは、カレントラインの描画中では連続するアドレ
スのデータをプリフェッチし、改ライン時には次のライ
ンのプリフェッチをカレントラインの書き戻しが完了す
るまで延期する機能を有している。SDRAM103の
ビットマップメモリ領域103cから取得されたデステ
ィネーションデータはデスティネーションプリフェッチ
DMAC109eからデスティネーションデータコント
ローラ109fに送られ、デスティネーションプリフェ
ッチDMAC109eは次のデータを取得するためのデ
ータリードトランザクションを発行する。この時描画ラ
インの最後であったならば、デスティネーションプリフ
ェッチDMAC109eはライン最後のライトバックト
ランザクションが発行されるまで次のデータのリードト
ランザクションは発行しない。これにより、ページミス
の発生の可能性が高い改ライン時には、連続して同じラ
インにアクセスできるようにして、ページミスの発生を
最小限に抑える。
ぞれDMACを有していることで、それぞれが取得する
データに応じて、プリフェッチシーケンスを取得するデ
ータに適するように変えることが可能となる。
ーンデータコントローラ109d、デスティネーション
データコントローラ109fにデータがそろったなら
ば、ピクセルプロセッシングユニット109gが論理演
算を行い、演算結果のデスティネーションデータをデス
ティネーションライトバックDMAC109hに転送
し、デスティネーションライトバックDMAC109h
はライトバックトランザクションを発行して演算結果を
SDRAM103のビットマップメモリ領域103cに
書き戻す。この時、トランザクションキュー101にト
ランザクションがキューイングされると共に、ライトデ
ータがライトバッファ111に格納され、ライトトラン
ザクションがメモリコントローラ102によって実行さ
れるまでライトデータを保持する。こうしてビットマッ
プデータがSDRAM103のビットマップメモリ領域
に生成されると、CPU101はエンジンインターフェ
ース108を起動し、SDRAM103に格納されたビ
ットマップデータをプリントエンジン107に転送し、
記録媒体に画像を形成する。
る。描画処理は、ディスプレイリスト領域103bもし
くはバッファ領域103dに格納されたソースデータ2
01とパターンデータ203とにより、ビットマップ領
域103cに格納されたデスティネーションデータ20
2を更新してデータ204とすることにより行われる。
ソースプリフェッチDMAC109aは、SDRAM1
03よりソースデータS0,S1,S2,S3を取得
し、ソースデータS0,S1,S2,S3をソースデー
タコントローラ103bへ転送すると共に、続くデータ
S4,S5,S6,S7をプリフェッチするためのリー
ドトランザクションを発行する。パターンプリフェッチ
DMAC109cは、SDRAM103よりパターンデ
ータP0,P1,P2,P3を取得し、パターンデータ
P0,P1,P2,P3をパターンデータコントローラ
103dへ転送し、パターン幅がパターンデータコント
ローラ103dのバッファ以下であるため、続くデータ
P4,P5,P6,P7のプリフェッチを停止する。デ
スティネーションプリフェッチDMAC109eは、S
DRAM103よりデスティネーションデータD2,D
3を取得し、デスティネーションデータD2,D3をデ
スティネーションデータコントローラ103fへ転送す
ると共に、続くデータD4,D5,D6,D7をプリフ
ェッチするためのリードトランザクションを発行する。
なお、ソースデータの先頭S0及びパターンデータの先
頭P0はバーストバウンダリに合致しており、デスティ
ネーションデータの描画範囲の先頭D2はバーストバウ
ンダリに合致していないものとする。
はソースデータS0,S1、パターンデータP0,P
1、デスティネーションデータD2,D3からデスティ
ネーションデータD2’,D3’を生成し、ライトバッ
クDMAC109hへ転送する。ライトバックDMAC
109hはデスティネーションデータD2’,D3’を
SDRAM103のビットマップ領域103cへ書くラ
イトトランザクションを発行する。
ティネーションプリフェッチDMAC109eはSDR
AM103よりデスティネーションデータD4,D5,
D6,D7を取得し、デスティネーションデータD4,
D5,D6,D7をデスティネーションデータコントロ
ーラ103fへ転送すると共に、続くデータD8,D
9,Da,Dbをプリフェッチするためのリードトラン
ザクションを発行する。同様に並行してソースプリフェ
ッチDMAC109aはSDRAM103よりソースデ
ータS4,S5,S6,S7を取得し、ソースデータS
4,S5,S6,S7をソースデータコントローラ10
9bへ転送すると共に、続くデータS8,S9,Sa,
Sbをプリフェッチするためのリードトランザクション
を発行する。
が、ソースデータS2,S3,S4,S5、パターンデ
ータP2,P3,P0,P1、デスティネーションデー
タD4,D5,D6,D7からデスティネーションデー
タD4’,D5’,D6’,D7’を生成し、ライトバ
ックDMAC109hへ転送すると、デスティネーショ
ンコントローラ109fのFIFOに空きができる。そ
のため、プリフェッチDMAC109eは次のデータの
リードトランザクションを発行可能であるが、デスティ
ネーションデータの描画範囲はD9までなので、ライン
エンドを検出するためデスティネーションデータD
8’,D9’のライトトランザクションをライトバック
DMAC109hが発行するのを待ち、次ラインの先頭
データのリードトランザクションを発行する。
だけではなく、圧縮データとして、またエッジデータと
して保存されている場合もあり、これらのデータから図
2に示すビットマップへの変換はソースデータコントロ
ーラ109bにより行われる。
セッサ109が発生するメモリアクセスのシーケンスを
示す、図3A,図3Bの順でつながるタイミングチャー
トである。上から順に、(a)ソースプリフェッチDM
AC、(b)パターンプリフェッチDMAC、(c)デ
スティネーションプリフェッチDMAC、(d)デステ
ィネーションライトバックDMACによる、トランザク
ションキュー110及びライトバッファ111に対する
トランザクション発行のタイミングである。それぞれ、
アドレス信号AddrX[31:2]、アドレスが有効
であることを示す信号TxX、トランザクションのキュ
ーイングを示す信号ActX、データが有効であること
を示す信号DataRdyX、データ信号DataX
[31:0]が示されている。また、それらの下段に
は、(e)として、メモリコントローラ102からSD
RAM103へ発行されるコマンド及びSDRAMへ
の、あるいはSDRAMからのデータを示す。さらにそ
の下段には、(f)として、描画プロセッサ109によ
るデータの読み出し、データの処理、データの書き戻し
のシーケンスを示す。なお、図中の丸囲み数字は、キュ
ーイングされるトランザクションの順序を示している。
番号は、トランザクションキューからの応答信号Ack
Xをトランザクションを代表する信号として振られてい
る。また、各トランザクションと対応してメモリコント
ローラ102から発行されるコマンド及びコマンドによ
りSDRAMから読み書きされるデータにも同じ番号を
振ってある。この丸付き番号は、以下の説明では()で括
ったトランザクションの番号として参照される。
MAC109eが、描画範囲内の先頭のデータD2を取
得するために、アドレスバスAddrDst[31:
2]にデータD2が格納されたアドレスA(D2)をド
ライブし、トランザクションのアドレスが有効であるこ
とを示す信号TxDst_Lをアサートし、シングルリ
ードのトランザクション(1)を発行する。するとトラン
ザクションキュー110がトランザクションをキューイ
ングしたことを示す信号AckDst_Lをアサート
し、トランザクション(1)のアドレスフェーズが終了す
る。続いてデスティネーションプリフェッチDMAC1
09eは続くデータD3を取得するため、アドレスバス
AddrDst[31:2]にデータD3が格納された
アドレスA(D3)をドライブし、トランザクションの
アドレスが有効であることを示す信号TxDst_Lを
アサートし、シングルリードのトランザクション(2)を
発行する。
トランザクションキュー110に格納されているアドレ
スA(D2)へのメモリリードトランザクション(1)を
取得し、SDRAMへアドレスA(D2)へのメモリリ
ードコマンドを発行する。続いてメモリコントローラ1
02はトランザクションキュー110に格納されている
アドレスA(D3)へのメモリリードのトランザクショ
ン(2)を受け取り、SDRAMへアドレスA(D3)へ
のメモリリードコマンドを発行する。
AMデータバスにドライブするため、メモリコントロー
ラ102はこれを取得し、デスティネーションプリフェ
ッチDMAC109eへ渡すためにデータバスData
Dst[31:0]にD2をドライブし、データが有効
であることを示す信号DataRdyDstをアサート
して、データD2をデスティネーションプリフェッチD
MAC109eへ渡す。さらにSDRAMがデータD3
をSDRAMデータバスにドライブするため、メモリコ
ントローラ102はこれを取得し、デスティネーション
プリフェッチDMAC109eへ渡すためにデータバス
DataDst[31:0]にD3をドライブし、デー
タが有効であることを示す信号DataRdyDstを
アサートして、データD3をデスティネーションプリフ
ェッチDMAC109eへ渡す。
トは、図3におけるトランザクション(7),(8),
(9),(10)など、バーストバウンダリに合致しないア
ドレスに対してデータを読み書きする場合についても同
様に行われる。
行されたトランザクションはトランザクションキューに
キューイングされ、メモリコントローラはトランザクシ
ョンキューにつけられたトランザクションを次々に処理
していく。このためトランザクションキューを挟んでト
ランザクションの発行とその処理とを非同期に実行する
ことができる。従って上記説明のように、シングルリー
ドであっても、プリフェッチDMACは、コマンドに対
して読み出されたデータを受け取る前に、続けて他のメ
モリリードトランザクションを発行することができる。
発行されたトランザクションの処理も、発行された順序
で次々と進められてリードトランザクションであれば読
み出されたデータがトランザクションの発行元に対して
渡される。このために本実施例のシステムでは、シング
ル転送であってもバースト転送に相当するスループット
が実現できる。
プロセッサ109によるメモリアクセスのシーケンスを
示す模式図である。この描画プロセッサとメモリコント
ローラ間のインターフェースは、図3A,3Bから明ら
かなとおりアドレスフェーズとデータフェーズとに時間
的に分離されている。
リフェッチDMAC109a、パターンプリフェッチD
MAC109c、デスティネーションプリフェッチDM
AC109eから同時期にデータリードトランザクショ
ンが発行されるため、デスティネーションリード(30
1)、ソースリード(302)、パターンリード(30
3)が連続して発生する。デスティネーションライト
(304)まではビットプロセシングユニット109g
による論理演算の遅延が入るが、その間に2バースト目
のソース及びデスティネーションのプリフェッチ(30
5,306)が入り、1バースト目のデスティネーショ
ンライト(304)と平行してその演算処理が行われ
る。なおパターンデータはパターンコントローラ109
dのバッファに収まる幅であるため、改ラインまでデー
タのフェッチを行わない。その後、1バースト目のライ
トバック(304)と2バースト目のライトバック(3
07)のメモリアクセス間のギャップに、3バースト目
のデスティネーションリード(308)が発生し、2バ
ースト目のデスティネーションライト(307)が続
く。
1ライン目のソースデータは既にすべてフェッチされて
いるため、これは2ライン目のソースデータに相当す
る。その後、1ライン目の最後のライトバック(30
9)が発生する。
ーションプリフェッチDMAC109eは、デスティネ
ーションデータのプリフェッチを停止し、1ライン目の
最後のライトバック(309)が発生後、2ライン目1
バースト目のデスティネーションリード(311)を発
生する。これは、ページミスが3回連続して発生し、プ
リチャージをその都度行ってしまうという事態を避ける
ためである。
DMACが、改ライン時にカレントラインのライトバッ
クを待たない場合と待つ場合とのシーケンスの違いを示
したタイミングチャートである。上段(A)が前者であ
り、下段(B)が後者である。
次ラインプリフェッチを行った場合は、デスティネーシ
ョンデータD4’,D5’,D6’,D7’のライト
(802)の次に次ライン先頭データD12,D13の
リード(806)が行われる。アクセスするラインが変
わったことによりページミスが起こったためにプリチャ
ージが発行される。次にデスティネーションデータD
8’,D9’のライト(804)が行われるため、さら
にプリチャージが発行される。さらに次に次ラインの続
くデスティネーションデータD14,D15のリード
(805)が行われるためもう一度プリチャージが発生
する。
ンのライトバック以前の次ラインのプリフェッチを禁止
した場合には、デスティネーションデータに限れば、デ
スティネーションデータD4’,D5’,D6’,D
7’のライト(802)の次に次ライン先頭データD1
2,D13のリードが行われず、デスティネーションデ
ータD8’,D9’のライトが行われる。このためペー
ジヒットであるからプリチャージが発生せず、次に次ラ
イン先頭データD12,D13のリードが発生し、ペー
ジミスであるためプリチャージが発行されるが、次のデ
スティネーションデータD14,D15のリードはペー
ジヒットであるためプリチャージが発行されない。この
ように、改ライン時のプリフェッチを禁止することでプ
リチャージの回数を3回から1回に減少できる。
DMAC109eの処理手順を示すフローチャートであ
る。デスティネーションプリフェッチDMAC109e
は、はじめに描画開始かを判断し(401)、描画開始
でなければ描画開始を待ち、描画開始であれば、次に描
画開始アドレスを計算する(402)。次に計算したア
ドレスに対してデータリードトランザクションを発行し
(403)、描画終了かを判断する(404)。描画終
了であれば次の描画開始を待ち(401)、描画終了で
なければラインエンドかを判断する(405)。ライン
エンドでなければ次のデータフェッチのためのアドレス
を計算し(406)、次のリードトランザクションを発
行してもデスティネーションデータコントローラ109
fのFIFOがあふれないかを判断し(408)、あふ
れるようであればFIFOに十分な空きができるまで待
つ(408)。あふれなければ次のデータリードトラン
ザクションの発行をステップ403から繰り返す。
であれば、カレントラインのライトバックが終了するま
で待ち(409)、終了後に次ラインのアドレスを計算
し(407)、次のリードトランザクションを発行して
もデスティネーションデータコントローラ109fのF
IFOがあふれないかを判断し(408)、あふれるよ
うであればFIFOに十分な空きができるまで待つ(4
08)。あふれなければ次のデータリードトランザクシ
ョンの発行をステップ403から繰り返す。
DMAC109bの処理手順を示すフローチャートであ
る。デスティネーションライトバックDMAC109h
は、はじめに描画開始かを判断する(501)。描画開
始でなければ描画開始を待ち、描画開始であれば、次に
描画開始アドレスを計算する(502)。次にライトバ
ックすべきデータがバッファにあるかを判断し(50
3)、ライトバックするデータがなければデータが生成
されバッファに溜まるまで待つ(503)。ライトバッ
クするデータがあれば計算したアドレスに対してデータ
ライトトランザクションを発行し(504)、描画終了
かを判断する(505)。描画終了であれば次の描画開
始を待ち(501)、描画終了でなければラインエンド
かを判断し(506)、ラインエンドでなければ次のデ
ータフェッチのためのアドレスを計算し(507)、次
にライトバックすべきデータを待つ(503)。もし、
ラインエンドであれば(506)、次ラインのアドレス
を計算し(508)、次にライトバックすべきデータを
待つ(503)。
9aの処理手順を示すフローチャートである。ソースプ
リフェッチDMAC109aは、はじめに描画開始かを
判断する(601)。描画開始でなければ描画開始を待
ち、描画開始であれば、次にデータリードトランザクシ
ョンを発行し(602)、次のアドレスを計算して(6
03)、描画終了かを判断する(604)。描画終了で
あれば次の描画開始を待ち(601)、描画終了でなけ
れば次のリードトランザクションを発行してもソースデ
ータコントローラ109bのFIFOがあふれないかを
判断し(605)、あふれなければ次のデータリードト
ランザクションを発行し(602)、あふれるようであ
ればFIFOに十分な空きができるまで待つ(60
5)。
09cの処理手順を示すフローチャートである。パター
ンプリフェッチDMAC109cは、はじめに描画開始
かを判断する(701)。描画開始でなければ描画開始
を待ち、描画開始であれば、次に描画開始アドレスを計
算する(702)。次に計算したアドレスに対してデー
タリードトランザクションを発行し(703)、パター
ン幅はパターンデータコントローラ109dのバッファ
サイズよりも大きいかを判断する(704)。パターン
幅がパターンデータコントローラ109dのバッファサ
イズよりも大きければ、次にラインエンドかを判断する
(706)。ラインエンドでなければ次にカレントライ
ンの最終データかを判断し(707)、最終ラインでな
ければアドレスをインクリメントする(708)。カレ
ントラインの最終データであれば(707)、次にカレ
ントラインの先頭アドレスを計算する(709)。パタ
ーン幅がパターンデータコントローラ109dのバッフ
ァサイズよりも小さければ(704)、次にラインエン
ドかを判断し(705)、ラインエンドでなければライ
ンエンドを待ち、ラインエンドであれば次に最終ライン
を超えたかを判断する(710)。最終ラインを超えて
いればパターンの先頭アドレスを計算し(711)、最
終ラインを超えていなければ次ラインのアドレスを計算
する(712)。次に描画終了かを判断し(713)、
描画終了であれば次の描画開始を待ち(701)、描画
終了でなければ次のリードトランザクションを発行して
もパターンデータコントローラ109dのFIFOがあ
ふれないかを判断し(714)、あふれなければ次のデ
ータリードトランザクションを発行し(703)、あふ
れるようであればFIFOに十分な空きができるまで待
つ(714)。
をデータ毎に独立で設け、それぞれのデータに最適化し
た手順でデータの読み出しあるいは書き込みを行わせる
ことにより、描画プロセッサのメモリアクセスシーケン
スが最適化でき、描画性能の向上が実現できる。
クションキューにデータリードあるいはデータライトト
ランザクションをトランザクションキューに対して発行
し、トランザクションをキューイングさせる。キューイ
ングされたトランザクションは、メモリコントローラ1
02によって先入先出順に取り出され、トランザクショ
ンに応じたコマンド及びアドレスがSDRAMに対して
発行される。
を描画プロセッサとメモリコントローラとの間に設けた
ことにより、描画プロセッサからのデータリード及びデ
ータライトトランザクションの発行と、メモリコントロ
ーラによるトランザクションの処理とを非同期に行え
る。これによって、シングルリード及びシングルライト
トランザクションを描画プロセッサ中のひとつのプリフ
ェッチDMACから連続的に発行することが可能にな
り、バースト転送なみの処理速度を実現することができ
る。
そのラインへのアクセスが終了するまでは次のラインの
プリフェッチを行わないようにメモリアクセスの順序を
調整することで、そのラインのページミスの発生を減少
させる。これによりプリチャージの回数を減少させ、D
RAMアクセスの高速化を図ることができる。
描画プロセッサ109に、各データコントローラ及びビ
ットプロセシングユニットごとにDMACを設け、それ
らのDMACから発行されるトランザクションをトラン
ザクションキュー110に納めているが、トランザクシ
ョンキューを省いても、各プロセシングユニット毎にD
MACを備えることによってメモリトランザクションを
迅速化できる。図9は、図1の構成からトランザクショ
ンキュー110を省いたもので、描画プロセッサ109
の各コントローラ及びビットプロセシングユニットごと
にDMACを備えている。
ッサ109を起動すると、描画プロセッサ109内のD
MACであるソースプリフェッチDMAC109a、パ
ターンプリフェッチDMAC109c、デスティネーシ
ョンプリフェッチDMAC109eがデータリードトラ
ンザクションを発行する。データリードトランザクショ
ンはアービタ110によって順序化され、メモリコント
ローラ102のアドレス比較器102a、コマンド発行
102b、データコントローラ102cでパイプライン
処理され、SDRAM103のディスプレイリスト格納
領域103bよりソース、パターン、デスティネーショ
ンの各データが取得される。
ータはソースプリフェッチDMAC109aからソース
データコントローラ109bに送られ、ソースプリフェ
ッチDMAC109aは次のデータを取得するためのデ
ータリードトランザクションを発行する。SDRAM1
03から取得されたパターンデータはパターンプリフェ
ッチDMAC109cからパターンデータコントローラ
109dに送られ、パターンプリフェッチDMAC10
9cは次のデータを取得するためのデータリードトラン
ザクションを発行する。SDRAM103のビットマッ
プメモリ領域103cから取得されたデスティネーショ
ンデータはデスティネーションプリフェッチDMAC1
09eからデスティネーションデータコントローラ10
9fに送られ、デスティネーションプリフェッチDMA
C109eは次のデータを取得するためのデータリード
トランザクションを発行する。この時描画ラインの最後
であったならば、デスティネーションプリフェッチDM
AC109eはライン最後のライトバックトランザクシ
ョンが発行されるまで次のデータのリードトランザクシ
ョンは発行しない。これは、図8で説明したとおりであ
る。
ーンデータコントローラ109d、デスティネーション
データコントローラ109fにデータがそろったなら
ば、ピクセルプロセッシングユニット109gが論理演
算を行い、演算結果のデスティネーションデータをデス
ティネーションライトバックDMAC109hに転送
し、デスティネーションライトバックDMAC109h
はライトバックトランザクションを発行して演算結果を
SDRAM103のビットマップメモリ領域103cに
書き戻す。こうしてビットマップデータがSDRAM1
03のビットマップメモリ領域に生成されると、CPU
101はエンジンインターフェース108を起動し、S
DRAM103に格納されたビットマップデータをプリ
ントエンジン107に転送し、記録媒体に画像を形成す
る。
別々に用意することで、トランザクションキューがなく
ともそれぞれのデータに適したデータフェッチが行え、
描画回路のメモリアクセスが最適化される。
ェッチにおいて、ライン描画中では続くアドレスのデー
タをプリフェッチし、改ライン時には次ラインの先頭デ
ータをフェッチするようにしてもよい。
トコンピュータ、インタフェイス機器、リーダ、プリン
タなど)から構成されるシステムに適用しても、一つの
機器からなる装置(例えば、複写機、ファクシミリ装置
など)に適用してもよい。
の機能を実現するソフトウェアのプログラムコード(図
4乃至図7)を記録した記憶媒体(または記録媒体)
を、システムあるいは装置に供給し、そのシステムある
いは装置のコンピュータ(またはCPUやMPU)が記憶媒体
に格納されたプログラムコードを読み出し実行すること
によっても達成される。この場合、記憶媒体から読み出
されたプログラムコード自体が前述した実施形態の機能
を実現することになり、そのプログラムコードを記憶し
た記憶媒体は本発明を構成することになる。また、コン
ピュータが読み出したプログラムコードを実行すること
により、前述した実施形態の機能が実現されるだけでな
く、そのプログラムコードの指示に基づき、コンピュー
タ上で稼働しているオペレーティングシステム(OS)など
が実際の処理の一部または全部を行い、その処理によっ
て前述した実施形態の機能が実現される場合も含まれ
る。
ラムコードが、コンピュータに挿入された機能拡張カー
ドやコンピュータに接続された機能拡張ユニットに備わ
るメモリに書込まれた後、そのプログラムコードの指示
に基づき、その機能拡張カードや機能拡張ユニットに備
わるCPUなどが実際の処理の一部または全部を行い、そ
の処理によって前述した実施形態の機能が実現される場
合も含まれる。
トランザクションキューを設けたことで、描画装置のシ
ングルアクセスによるメモリアクセスのスループットが
向上し、比較的小さい描画オブジェクトであっても、高
速に描画することが可能となる。
Cを設けたことで、それぞれのデータに最適化した手順
でデータの読み出しあるいは書き込みを行わせることに
より、描画プロセッサのメモリアクセスが最適化でき、
描画性能の向上が実現できる。
そのラインへのアクセスが終了するまでは次のラインの
プリフェッチを行わないようにメモリアクセスの順序を
調整することで、プリチャージの回数を減少させ、メモ
リアクセスの高速化を図ることができる。
ある。
のシーケンスを示すタイミングチャートである。
のシーケンスを示すタイミングチャートである。
9eの処理手順を示すフローチャートである。
9hの処理手順を示すフローチャートである。
順を示すフローチャートである。
手順を示すフローチャートである。
の改善例を示すタイミングチャートである。
ある。
Claims (14)
- 【請求項1】 メモリ操作のトランザクションを、指定
するメモリアドレスとともに発行する処理手段と、 前記処理手段から発行されたトランザクションを格納す
るキューと、 前記キューに格納されたトランザクションを読み出して
メモリに対してコマンドを発行し、指定したアドレスへ
のアクセスを制御する制御手段とを備えることを特徴と
するメモリアクセス制御装置。 - 【請求項2】 それぞれが対応するメモリ領域へとアク
セスする複数のDMAコントローラを有する処理手段
と、 前記処理手段の各DMAコントローラから発行されたト
ランザクションを調停する調停手段と、 前記調停手段に調停されたトランザクションに基づいて
メモリに対するコマンドを発行し、指定したアドレスへ
のアクセスを制御する制御手段とを備えることを特徴と
するメモリ制御装置。 - 【請求項3】 ページモードでアクセス可能なメモリ
と、 メモリからデータをプリフェッチするプリフェッチ手段
と、 メモリへデータを書き戻すライトバック手段とを備え、 プリフェッチによるページミス発生の可能性があると判
定された場合には、前記ライトバック手段により直前の
データを書き戻すまでプリフェッチを延期することを特
徴とするメモリ制御装置。 - 【請求項4】 メモリと、 前記メモリの複数の領域それぞれへとアクセスするため
の複数のDMAコントローラと、前記複数の領域から読
み取った画像データを処理する画像処理手段とを有する
処理手段と、 前記処理手段の各DMAコントローラから発行されたト
ランザクションに基づいてメモリに対するコマンドを発
行し、指定したアドレスへのアクセスを制御する制御手
段とを備えることを特徴とする描画装置。 - 【請求項5】 前記処理手段から発行されたトランザク
ションを格納するキューを更に備え、前記制御手段は、
前記キューに格納されたトランザクションを読み出して
メモリに対してコマンドを発行し、指定したアドレスへ
のアクセスを制御することを特徴とする請求項4に記載
の描画装置。 - 【請求項6】 前記処理手段は、複数のDMAコントロ
ーラとして、生成したデータを書き込むための領域から
データを読み出すための第1のコントローラと、その領
域へデータを書き戻すための第2のコントローラとを有
し、前記第1のコントローラのプリフェッチによるペー
ジミス発生の可能性があると判定された場合には、前記
第2のコントローラにより直前のデータを書き戻すまで
前記第1のコントローラによるプリフェッチを延期する
ことを特徴とする請求項4に記載の描画装置。 - 【請求項7】 前記処理手段は、複数のDMAコントロ
ーラとして、更に、描画する元データを読み出すための
第3のコントローラを有し、前記第3のコントローラは
連続したアドレスをプリフェッチすることを特徴とする
請求項6に記載の描画装置。 - 【請求項8】 前記処理手段は、複数のDMAコントロ
ーラとして、更に、描かれるパターンを読み出すための
第4のコントローラを有し、前記第4のコントローラ
は、パターンの幅が前記第4のコントローラの有するバ
ッファに収まる場合には、それ以上データをプリフェッ
チしないことを特徴とする請求項6または7に記載の描
画装置。 - 【請求項9】 前記第2のコントローラによりメモリに
書き戻されたデータを出力する手段を更に備えることを
特徴とする請求項6に記載の描画装置。 - 【請求項10】 前記第1のコントローラは、1ライン
のプリフェッチが終了したことを判定し、終了した場合
には、ページミスの可能性があると判定することを特徴
とする請求項6に記載の描画装置。 - 【請求項11】 ページモードでアクセス可能なメモリ
と、メモリからデータをプリフェッチするプリフェッチ
手段と、メモリへデータを書き戻すライトバック手段と
を用いたメモリ制御方法であって、 プリフェッチによるページミス発生の可能性を判定し、
可能性があると判定された場合には、前記ライトバック
手段により直前のデータを書き戻すまでプリフェッチを
延期することを特徴とするメモリ制御方法。 - 【請求項12】 ページモードでアクセス可能なメモリ
と、メモリからデータをプリフェッチするプリフェッチ
手段と、メモリへデータを書き戻すライトバック手段と
を制御するためのコンピュータプログラムを格納する記
憶媒体であって、前記プログラムにより、 プリフェッチによるページミス発生の可能性があると判
定された場合には、前記ライトバック手段により直前の
データを書き戻すまでプリフェッチを延期することを特
徴とする記憶媒体。 - 【請求項13】 請求項1乃至3のいずれかに記載のメ
モリ制御装置によりアクセス制御されるメモリに画像デ
ータを生成する描画手段と、 生成した画像データを印刷する印刷手段とを備えること
を特徴とする印刷装置。 - 【請求項14】 請求項4に記載の描画装置により処理
された画像データを印刷することを特徴とする印刷装
置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11180839A JP2001014212A (ja) | 1999-06-25 | 1999-06-25 | メモリ制御装置及び方法とそれを用いた描画装置及び印刷装置 |
US09/598,198 US6697882B1 (en) | 1999-06-25 | 2000-06-21 | Memory controller and method control method, and rendering device and printing device using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11180839A JP2001014212A (ja) | 1999-06-25 | 1999-06-25 | メモリ制御装置及び方法とそれを用いた描画装置及び印刷装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001014212A true JP2001014212A (ja) | 2001-01-19 |
JP2001014212A5 JP2001014212A5 (ja) | 2005-07-14 |
Family
ID=16090267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11180839A Withdrawn JP2001014212A (ja) | 1999-06-25 | 1999-06-25 | メモリ制御装置及び方法とそれを用いた描画装置及び印刷装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6697882B1 (ja) |
JP (1) | JP2001014212A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020081508A (ja) * | 2018-11-28 | 2020-06-04 | 株式会社藤商事 | 遊技機 |
JP2022060443A (ja) * | 2019-01-16 | 2022-04-14 | 株式会社藤商事 | 遊技機 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002366509A (ja) * | 2001-06-06 | 2002-12-20 | Mitsubishi Electric Corp | ダイレクトメモリアクセスコントローラおよびそのアクセス制御方法 |
JP4085983B2 (ja) * | 2004-01-27 | 2008-05-14 | セイコーエプソン株式会社 | 情報処理装置およびメモリアクセス方法 |
WO2009037970A1 (ja) * | 2007-09-21 | 2009-03-26 | Murata Manufacturing Co., Ltd. | 落下検知装置、磁気ディスク装置および携帯電子機器 |
US9218290B2 (en) * | 2009-04-27 | 2015-12-22 | Intel Corporation | Data caching in a network communications processor architecture |
US9444757B2 (en) | 2009-04-27 | 2016-09-13 | Intel Corporation | Dynamic configuration of processing modules in a network communications processor architecture |
US9461930B2 (en) | 2009-04-27 | 2016-10-04 | Intel Corporation | Modifying data streams without reordering in a multi-thread, multi-flow network processor |
US9384136B2 (en) | 2013-04-12 | 2016-07-05 | International Business Machines Corporation | Modification of prefetch depth based on high latency event |
JP6294732B2 (ja) * | 2014-03-31 | 2018-03-14 | 株式会社メガチップス | データ転送制御装置及びメモリ内蔵装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08263424A (ja) * | 1995-03-20 | 1996-10-11 | Fujitsu Ltd | コンピュータ装置 |
US5978866A (en) * | 1997-03-10 | 1999-11-02 | Integrated Technology Express, Inc. | Distributed pre-fetch buffer for multiple DMA channel device |
US6012106A (en) * | 1997-11-03 | 2000-01-04 | Digital Equipment Corporation | Prefetch management for DMA read transactions depending upon past history of actual transfer lengths |
TW406229B (en) * | 1997-11-06 | 2000-09-21 | Hitachi Ltd | Data process system and microcomputer |
-
1999
- 1999-06-25 JP JP11180839A patent/JP2001014212A/ja not_active Withdrawn
-
2000
- 2000-06-21 US US09/598,198 patent/US6697882B1/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020081508A (ja) * | 2018-11-28 | 2020-06-04 | 株式会社藤商事 | 遊技機 |
JP2022060443A (ja) * | 2019-01-16 | 2022-04-14 | 株式会社藤商事 | 遊技機 |
Also Published As
Publication number | Publication date |
---|---|
US6697882B1 (en) | 2004-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5623700A (en) | Interface circuit having zero latency buffer memory and cache memory information transfer | |
US5283883A (en) | Method and direct memory access controller for asynchronously reading/writing data from/to a memory with improved throughput | |
JP3524337B2 (ja) | バス管理装置及びそれを有する複合機器の制御装置 | |
JP2001014212A (ja) | メモリ制御装置及び方法とそれを用いた描画装置及び印刷装置 | |
JP4097883B2 (ja) | データ転送装置および方法 | |
US6097403A (en) | Memory including logic for operating upon graphics primitives | |
US6563505B1 (en) | Method and apparatus for executing commands in a graphics controller chip | |
JP2001014212A5 (ja) | ||
JP4266900B2 (ja) | 画像処理システム | |
JPH0830546A (ja) | バス制御装置 | |
JPH0696007A (ja) | Dma転送方式 | |
JPH11184799A (ja) | メモリデータ転送方法ならびに装置 | |
JP3039391B2 (ja) | メモリシステム | |
JPH0844659A (ja) | データ転送制御装置 | |
JP5091548B2 (ja) | メモリシステム | |
JP2856244B2 (ja) | データ転送方式 | |
JPH05250258A (ja) | キャッシュ制御方式 | |
JPH0520188A (ja) | キヤツシユ制御装置 | |
JP2001084216A (ja) | データプリフェッチシステム、プリフェッチ方法、記録媒体 | |
JPH11115258A (ja) | 出力制御装置及び方法 | |
JP3506335B2 (ja) | 制御方法 | |
JPH11338774A (ja) | 情報処理装置及びそのシステムバス最適化方法並びにその制御プログラムを記録した記録媒体 | |
JPH0736806A (ja) | Dma方式 | |
JPH1145180A (ja) | キャッシュ制御方式 | |
JP2902709B2 (ja) | 画像処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041116 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041116 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7426 Effective date: 20041116 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20041116 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070109 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070119 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070320 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070420 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20070613 |