JP2006175686A - 印刷装置 - Google Patents
印刷装置 Download PDFInfo
- Publication number
- JP2006175686A JP2006175686A JP2004370421A JP2004370421A JP2006175686A JP 2006175686 A JP2006175686 A JP 2006175686A JP 2004370421 A JP2004370421 A JP 2004370421A JP 2004370421 A JP2004370421 A JP 2004370421A JP 2006175686 A JP2006175686 A JP 2006175686A
- Authority
- JP
- Japan
- Prior art keywords
- dma
- transfer
- rom
- ram
- cpu
- 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
【課題】RAMとROMとがバスを共有している場合において、ROMからのバースト転送とRAMからのDMA転送とを同時期に行うときでも、ビデオデータの転送帯域をできるだけ低下させないようにできる印刷装置を、提供する。
【解決手段】印刷装置10のメモリコントローラ164は、ROM14からのバースト転送がCPU15から要求された後、RAM13からのDMA転送がビデオDMAコントローラ165から要求されたときには、バースト転送を取り止め、RAM13からのDMA転送とROM14からのシングル転送とを交互に行う。
【選択図】図1
【解決手段】印刷装置10のメモリコントローラ164は、ROM14からのバースト転送がCPU15から要求された後、RAM13からのDMA転送がビデオDMAコントローラ165から要求されたときには、バースト転送を取り止め、RAM13からのDMA転送とROM14からのシングル転送とを交互に行う。
【選択図】図1
Description
本発明は、印刷装置に、関する。
周知のように、CPUとRAM(メインメモリ)との間でデータ転送が頻繁に発生するコンピュータシステムでは、CPU内のキャッシュメモリ(レジスタ)に必要なデータがないというキャッシュミスが命令実行中に発生すると、そのデータをRAMから取り込むいわゆるフェッチ処理が行われるようになっている。
このフェッチ処理においては、局所性の原理に基づいて、キャッシュミスしたデータだけではなく、そのデータを含む所定量の一連のデータをRAMから読み出すようになっている。また、この読み出し処理においては、CPUは、メモリコントローラに対してRAM上の各アドレスを個別に指定するのではなく、RAM上の連続するアドレスを一括して指定することにより、メモリコントローラに対して各アドレスからデータを連続的に読み出させる。このように一連のデータを連続的に読み出す処理は、一般に、バーストリードと称されており、このような処理によるデータ転送は、バースト転送と称されている。
特開平06−266653号公報
ところで、印刷装置の多くは、ビデオデータを一時的に記録しておくためのRAMと、ビデオデータを印刷エンジン用の電気信号に変換するための画像処理コントローラとを備えており、RAMと画像処理コントローラとの間に介在するDMAコントローラが、RAM内のビデオデータをDMAにて画像処理コントローラへ転送するようになっている。
そして、このような印刷装置においても、RAMをデータの読み出し元として、前述したようなフェッチ処理が行われるようになっているが、この印刷装置が、その内部の各部を制御するための各種のプログラムが記録されたROMと上記のRAMとがバスを共有している印刷装置である場合には、フェッチ処理におけるデータの読み出し元としてRAMとともにROMが含まれるようになる。
ところが、このようにRAMとROMとがバスを共有している場合において、RAM内のビデオデータについてDMAコントローラからDMAが要求されたときにROMからのバーストリードが開始されていると、メモリコントローラは、そのバースト転送が終了するまでビデオデータのDMA転送を待機させねばならなくなる。すると、印刷エンジンコントローラにおける変換処理に対してビデオデータの供給が間に合わなくなる虞があり(すなわち、ビデオデータの転送帯域が低下する虞があり)、その結果として、印刷エンジンにおいて一定速度で行うべき走査処理が途切れてしまう症状が発生する可能性があった。
本発明は、前述したような従来技術の有する問題点に鑑みてなされたものであり、その課題は、RAMとROMとがバスを共有している印刷装置において、ROMからのバースト転送とRAMからのDMA転送とを同時期に行う場合でも、ビデオデータの転送帯域をできるだけ低下させないようにすることにある。
上記の課題を解決するために発明された印刷装置は、RAM及びROMがともに接続された共通のバスとCPUとDMAコントローラとに接続されたメモリコントローラを搭載したものであって、前記メモリコントローラが、前記ROM内の一連のアドレス群を指定する情報とともにバーストリード要求を前記CPUから受けることによって、前記情報にて指定される前記ROM内の一連のアドレスのそれぞれについて順にそのアドレス上の単位データを前記CPUへ出力する場合において、一つの単位データを前記CPUへ出力する際には、前記DMAコントローラからDMA転送の要求を受けているか否かを判別し、その要求を受けていないときにはそのままその単位データを前記CPUへ出力し、その要求を受けているときにはその単位データを前記CPUへ出力した後でDMAコントローラに要求されるデータを前記RAMから前記DMAコントローラへ出力することを、特徴としている。
このように、ROMからのバースト転送がCPUから要求された後、RAMからのDMA転送がDMAコントローラから要求されたときには、バースト転送を取り止め、RAMからのDMA転送とROMからのシングル転送とを交互に行うようにすれば、DMA転送ができるだけバースト転送に優先して実行されるようになり、従来のようにバースト転送がDMA転送に優先することがなくなる。然も、従来のようにバースト転送が終了するまでDMA転送を待機させることに比べると、DMA転送とシングル転送とを交互に行うほうが、DMA転送の待機期間がかなり短くなるので、DMAの転送帯域は、バースト転送が同時期に発生していない場合とさほど変わらなくなる。
このように、本発明によれば、RAMとROMとがバスを共有している場合において、ROMからのバースト転送とRAMからのDMA転送とを同時期に行うときでも、ビデオデータの転送帯域をさほど低下させないようにすることができる。
以下、添付図面に基づいて、本発明を実施するための一つの形態である印刷装置について説明する。
まず、本実施形態の印刷装置の構成を説明する。
図1は、本実施形態の印刷装置10の構成図である。印刷装置10は、図示せぬホストコンピュータから印刷要求を受信して動作する装置であり、主要な構成として、印刷エンジン11,外部I/F12,RAM13,ROM14,CPU15,及び、ASIC16を、内蔵している。
印刷エンジン11は、用紙上への印刷を実際に行なう機構である。外部I/F12は、図示せぬホストコンピュータから印刷要求を受信するユニットであり、具体的には、いわゆる通信インターフェースポートである。
RAM13は、図示せぬホストコンピュータや図示せぬカメラ装置から送信されてきた印刷要求の一時記憶に使用されるとともにその印刷要求に基づいて印刷エンジン11へ供給するビデオデータを生成するために使用されるメモリである。ROM14は、印刷装置10を制御するためのプログラムや、印刷要求からビデオデータを生成する際に使用されるフォントデータを記憶した不揮発性メモリである。
CPU15は、ROM14内のプログラムに従って各部を統合的に制御することにより、図示せぬホストコンピュータから送信されてきた印刷要求に応じた印刷を印刷エンジン11に行なわせるための印刷制御処理や、この印刷装置10の上面に設けられている図示せぬ操作パネルに対する操作を通じてユーザから実行すべき処理についての指示を取得する処理を行なう制御回路である。
ASIC16は、各ハードウエア11〜15間のデータや指示の遣り取りを制御する半導体集積回路であり、各ハードウエア11〜15に接続されている。但し、ASIC16は、RAM13とROM14とについては、バスBを介してこれらに接続されている。すなわち、RAM13とROM14はバスBを共有している。
このASIC16は、各ハードウエア11〜15との間のインターフェースとして、及び、画像処理機能用として、印刷エンジンコントローラ161,画像処理コントローラ162,IOコントローラ163,メモリコントローラ164,ビデオDMAコントローラ
165,及び、CPUI/F制御部166を、備えている。
165,及び、CPUI/F制御部166を、備えている。
印刷エンジンコントローラ161は、印刷エンジン11の動作を制御するための回路モジュールである。画像処理コントローラ162は、印刷エンジン11へ供給する印刷用のビデオデータにスクリーン処理等の画像処理を施して印刷エンジン11が処理可能な形態の電気信号に変換するための回路モジュールである。IOコントローラ163は、外部I/F12や図示せぬ操作パネルを制御するための回路モジュールである。
メモリコントローラ164は、RAM13に対するプログラムやデータの読み書きを制御する機能,及び、ROM14からのプログラムやデータの読み出しを制御する機能を有する回路モジュールである。なお、このメモリコントローラ164は、DMA調停回路164aを内蔵しているが、このDMA調停回路164aが行う処理の内容については、後で説明する。
ビデオDMAコントローラ165は、RAM13から画像処理コントローラ162へのビデオデータのDMA転送を制御するための回路モジュールである。
CPUI/F制御部166は、ビデオDMAコントローラ165を除く各コントローラ161〜164の間,及び、これらコントローラ161〜164とCPU15との間のデータや指示の遣り取りを制御する回路モジュールである。
次に、メモリコントローラ164が行う処理について説明する。
図2は、ASIC16の要部とRAM13とROM14とからなる部分の構成図である。また、図3は、メモリコントローラ164の動作状態の遷移を示す模式図である。
まず、メモリコントローラ164は、何れかの要求があるのを待機する「IDLE」状態(図3参照)であるときに、RAM13からのDMA転送についての要求の有無をアサート及びネゲート(ハイとロー)にて示す制御信号「VideoDMA_REQ」としてビデオDMAコントローラ165から入力される信号において、アサート(要求中)を検知したときには、「IDLE」状態から「VideoDMA」状態へ移行する(図3のI)。
このとき、メモリコントローラ164は、アドレスバスを通じてビデオDMAコントローラ165からRAM13のものとして指定されたアドレスにあるデータを、そのRAM13に出力させ、ビデオDMAコントローラ165へ転送する(DMA転送)。また、メモリコントローラ164は、RAM13からのDMA転送についての応答の有無を示す制御信号「VideoDMA_ACK」としてビデオDMAコントローラ165へ出力する信号を、DMA転送の期間中だけアサート(応答中)にし、その期間経過後、「VideoDMA_ACK」信号をネゲートにするとともに動作状態を「IDLE」状態に戻す(図3のII)。
また、メモリコントローラ164は、「IDLE」状態(図3参照)であるときに、ROM14からのバーストリードについての要求の有無を示す制御信号「CPUROM_REQ」としてCPUI/F制御部166から入力される信号において、アサート(要求中)を検知したときには、「IDLE」状態から「ROMACCESS」状態へ移行する(図3のIII)。
この「ROMACCESS」状態において、ROM14内の単一アドレスがCPUI/F制御部166からアドレスバスを通じて指定されていたとき(カラムアドレスとロウアドレスとが指定されていたとき)には、メモリコントローラ164は、「SINGLE」状態へ移行する(図3のIV)。そして、メモリコントローラ164は、ROM14のものとして指定されたアドレスにあるデータを、そのROM14に出力させ、CPUI/F制御部166へ転送する(シングル転送)。また、メモリコントローラ164は、ROM14からのリードについての応答の有無を示す制御信号「CPUROM_ACK」としてCPUI/F制御部166へ出力する信号を、シングル転送の期間中だけアサート(応答中)にし、その期間経過後、「CPUROM_ACK」信号をネゲートにするとともに動作状態を「IDLE」状態に戻す(図3のV)。
また、「CPUROM_REQ」信号のアサート(要求中)を検知した後の「ROMACCESS」状態(図3参照)において、ROM14内の連続する一連のアドレスがCPUI/F制御部166からアドレスバスを通じて指定されていたとき(8アドレス分を一単位とするカラムアドレスのみ指定されたとき)には、メモリコントローラ164は、ROM14からの8バーストリードが要求されたとして、「BST1」状態へ移行する(図3のVI)とともに、内部のDMA調停回路164aの動作を開始させる。
「BST1」状態では、DMA調停回路164aが、ROM14のものとして指定された一連のアドレスのうちの一番目のアドレスを示す情報を内部のアドレスバッファ164b(図2参照)に記録した後、アドレスバッファ164b内の情報にて示されるアドレスにあるデータをROM14に出力させてCPUI/F制御部166へシングル転送する処理を、メモリコントローラ164に開始させる。
その後、DMA調停回路164aは、メモリコントローラ164がデータをCPUI/F制御部166へ転送する直前の時点で、「VideoDMA_REQ」信号がアサート(要求中)であるか否かを判定する。
そして、DMA調停回路164aは、「VideoDMA_REQ」信号がアサート(要求中)でないと判断すると、データをCPUI/F制御部166へ転送している期間中だけ「CPUROM_ACK」信号をアサート(応答中)にした後、メモリコントローラ164の動作状態を「BST2」状態へ移行させる(図3のVII)。
一方、DMA調停回路164aは、「VideoDMA_REQ」信号がアサート(要求中)であると判断すると、データをCPUI/F制御部166へ転送している期間中だけ「CPUROM_ACK」信号をアサート(応答中)にした後、メモリコントローラ164の動作状態を「BST1」状態から「VideoDMA」状態へ移行させる(図3のVIII)。
続いて、DMA調停回路164aは、メモリコントローラ164に対し、ビデオDMAコントローラ165からRAM13のものとして指定されたアドレスにあるデータをそのRAM13に出力させてビデオDMAコントローラ165へ転送する処理を、開始させる。そして、DMA調停回路164aは、そのDMA転送の期間中だけ「VideoDMA_ACK」信号をアサート(応答中)にし、その期間経過後、「VideoDMA_ACK」信号をネゲートにするとともにメモリコントローラ164の動作状態を「VideoDMA」状態から「BST2」状態へ移行させる(図3のIX)。
「BST2」状態では、DMA調停回路164aは、アドレスバッファ164b内の情報を、1だけインクリメントさせた情報に書き換えた後、そのアドレスバッファ164b内の情報にて示されるアドレスにあるデータをROM14に出力させてCPUI/F制御部166へシングル転送する処理を、メモリコントローラ164に開始させる。
その後、DMA調停回路164aは、メモリコントローラ164がデータをCPUI/F制御部166へ転送する直前の時点で、「VideoDMA_REQ」信号がアサート(要求中)であるか否かを判定する。
そして、DMA調停回路164aは、「VideoDMA_REQ」信号がアサート(要求中)でないと判断すると、データをCPUI/F制御部166へ転送している期間中だけ「CPUROM_ACK」信号をアサート(応答中)にした後、メモリコントローラ164の動作状態を「BST3」状態へ移行させる(図3のX)。
一方、DMA調停回路164aは、「VideoDMA_REQ」信号がアサートであると判断すると、データをCPUI/F制御部166へ転送している期間中だけ「CPUROM_ACK」信号をアサート(応答中)にした後、メモリコントローラ164の動作状態を「VideoDMA」状態へ移行させる(図3のXI)。これにより、メモリコントローラ164は、DMA転送の処理を行い、その後、DMA調停回路164aの指示に従って「BST3」状態へ移行する(図3のXII)。
以下、DMA調停回路164aは、「BST2」状態で行う処理と同じ処理を、「BST3」状態から「BST7」状態まで順に繰り返し行った後、メモリコントローラ164の動作状態を「BST7」状態から「BST8」状態へ移行させる。
「BST8」状態では、DMA調停回路164aは、アドレスバッファ164b内の情報を、1だけインクリメントしたも情報に書き換えた後、メモリコントローラ164に対し、そのアドレスバッファ164b内の情報にて示されるアドレスにあるデータをROM14に出力させてCPUI/F制御部166へ転送する処理を開始させ、その後、「VideoDMA_REQ」信号がアサート(要求中)であるか否かを判断することなく、メモリコントローラ164の動作状態を「IDLE」状態へ移行させて、自己の動作を停止する。
メモリコントローラ164及びDMA調停回路164aは、以上に説明したような処理を行うようになっているため、以下に記述するように作用する。
図4は、DMA転送と8バースト転送とが同時期に要求されたときの各制御信号のシーケンス図である。なお、図4(a)は、本実施形態における動作例を示し、図4(b)は、図4(a)の動作例との比較のため、8バースト転送が終わるまでDMA転送を待機させたときの動作例を示している。
また、図5は、DMA転送と8バースト転送とが同時期に要求されたときのバスB(図1参照)のデータバス上でのデータのシーケンス図である。なお、図5(a)は、本実施形態における動作例を示し、図5(b)は、図5(a)の動作例との比較のため、8バースト転送が終わるまでDMA転送を待機させたときの動作例を示す図である。
まず、DMA転送中に「CPUROM_REQ」信号がアサートとなった場合において、8バーストリードが要求されたときには(ROM14内の連続する一連のアドレスが指定されたときには)、メモリコントローラ164は、DMA転送の終了後、「VideoDMA」状態,「IDLE」状態,「ROMACCESS」状態を経て、「BST1」状態へ移行する。
そして、「BST1」状態へ移行した後、ROM14内における指定された一連のアドレスのうちの最初のアドレスのデータを転送する直前の時点において、「VideoDMA_REQ」信号がアサートであったときには、メモリコントローラ164は、そのデータを送信した後、DMA調停回路164aの判断によってバーストリードを取り止め、RAM13からのDMA転送を行い、「BST2」状態へ移行する。
「BST2」状態に移行した後においても同様に、アドレスバッファ164b内の情報にて示されるアドレスにあるデータを転送する直前の時点において、「VideoDMA_REQ」信号がアサートであったときには、メモリコントローラ164は、そのデータを送信した後、DMA調停回路164aの判断によってバーストリードを取り止め、RAM13からのDMA転送を行い、「BST3」状態へ移行する。
そして、バースト転送として連続的に送信されるべき各データの全てについて、CPUI/F制御部166へ送信される直前においてDMA転送要求があったときには、図4(a)及び図5(a)に示されるように、バースト転送を構成する予定であった各データのシングル転送と、DMA転送とが交互に行われることとなる。
また、図示していないが、何れかの「BSTX」状態(X=1〜8)への移行後、アドレスバッファ164b内の情報にて示されるアドレスにあるデータを転送する直前の時点において、「VideoDMA_REQ」信号がネゲートであったときには、バースト転送が復活し、そのデータ以後のデータが連続的にCPUI/F制御部166へ送信されることとなる。
このように、本実施形態によれば、バースト転送とDMA転送とが同時期に要求されたときであっても、図4(b)及び図5(b)に示されるようにDMA転送をバースト転送が終了するまで待機させずに、DMA転送をシングル転送の一回分だけ待機させるだけで済むので、DMA転送の待機時間(図4参照)が短くなる。すなわち、DMA転送の転送帯域をさほど低下させなくて済む。
10 印刷装置
11 印刷エンジン
13 RAM
14 ROM
15 CPU
16 ASIC
164 メモリコントローラ
164a DMA調停回路
164b アドレスバッファ
165 ビデオDMAコントローラ
166 CPUI/F制御部
11 印刷エンジン
13 RAM
14 ROM
15 CPU
16 ASIC
164 メモリコントローラ
164a DMA調停回路
164b アドレスバッファ
165 ビデオDMAコントローラ
166 CPUI/F制御部
Claims (1)
- RAM及びROMがともに接続された共通のバスとCPUとDMAコントローラとに接続されたメモリコントローラを搭載した印刷装置であって、
前記メモリコントローラが、
前記ROM内の一連のアドレス群を指定する情報とともにバーストリード要求を前記CPUから受けることによって、前記情報にて指定される前記ROM内の一連のアドレスのそれぞれについて順にそのアドレス上の単位データを前記CPUへ出力する場合において、一つの単位データを前記CPUへ出力する際には、前記DMAコントローラからDMA転送の要求を受けているか否かを判別し、その要求を受けていないときにはそのままその単位データを前記CPUへ出力し、その要求を受けているときにはその単位データを前記CPUへ出力した後でDMAコントローラに要求されるデータを前記RAMから前記DMAコントローラへ出力する
ことを特徴とする印刷装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004370421A JP2006175686A (ja) | 2004-12-22 | 2004-12-22 | 印刷装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004370421A JP2006175686A (ja) | 2004-12-22 | 2004-12-22 | 印刷装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006175686A true JP2006175686A (ja) | 2006-07-06 |
Family
ID=36730245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004370421A Pending JP2006175686A (ja) | 2004-12-22 | 2004-12-22 | 印刷装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006175686A (ja) |
-
2004
- 2004-12-22 JP JP2004370421A patent/JP2006175686A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007199841A (ja) | 電子機器のコントローラ、バス制御装置 | |
JP2010211351A (ja) | 半導体集積回路、省電力制御方法、省電力制御プログラム及び記録媒体 | |
JP2010039767A (ja) | 組込みシステム | |
US8745428B2 (en) | Method for clock gating a DSP when not in use | |
JP5741245B2 (ja) | 画像処理装置、画像処理制御方法及び画像処理制御プログラム | |
JP5718305B2 (ja) | 画像形成装置 | |
JP7259628B2 (ja) | ネットワーク制御装置、画像形成装置、ネットワーク制御装置の制御方法およびネットワーク制御装置の制御プログラム | |
JP4446968B2 (ja) | データ処理装置 | |
US6122699A (en) | Data processing apparatus with bus intervention means for controlling interconnection of plural busses | |
JP2006175686A (ja) | 印刷装置 | |
US9197782B2 (en) | Image processing device and image processing method | |
JP2010140440A (ja) | バス調停装置 | |
JP6833491B2 (ja) | 情報処理装置 | |
JP2010170489A (ja) | 処理装置、画像形成装置及び処理方法 | |
JP4671357B2 (ja) | 画像転送方法,装置および画像形成装置 | |
JPH11115258A (ja) | 出力制御装置及び方法 | |
JPH05327955A (ja) | 画像形成装置及び該装置における制御プログラムの処理方法 | |
JPH08205589A (ja) | ステッピングモータの駆動制御装置 | |
JP2007185911A (ja) | プリンタコントローラ、およびプリンタ | |
JP2011013812A (ja) | メモリシステム | |
JP2007094579A (ja) | メモリ制御装置 | |
JP2007004314A (ja) | Pciコントローラ及びそれを搭載したシステム | |
JP2007193503A (ja) | 半導体集積回路,情報処理装置及び印刷装置 | |
JP2001243170A (ja) | データ転送装置 | |
JP2009172910A (ja) | 印刷システム、印刷プログラムおよび画像形成装置 |