(57)【要約】    【課題】  搭載されたバーストＲＯＭの性能を十分に利用した形で常に動作する画像形成装置を、提供する。    【解決手段】  画像形成装置を、バーストＲＯＭ１３と、ＣＰＵ１１と、ＣＰＵ１１からのバーストリードリクエストにて読み出しが要求されているバーストＲＯＭ１３上に記憶されている各データをＣＰＵ１１に返送するメモリ制御ＡＳＩＣ１２であって、当該バーストリードリクエストにて読み出しが要求されているデータ毎に、バーストＲＯＭ１２への読み出しアドレスの供給後に待機すべき時間を特定し、特定結果に従ったタイミングでデ各ータのバーストＲＯＭからの読み出しを行うメモリ制御ＡＳＩＣ１２を備える装置としておく。    【選択図】  図２
2005104060.tif 000002
【特許請求の範囲】
【請求項１】
バーストＲＯＭと、
ＣＰＵと、
前記ＣＰＵからのバーストリードリクエストを受け付けてそのバーストリードリクエストにて読み出しが要求されている前記バーストＲＯＭ上に記憶されている各データを前記ＣＰＵに返送するメモリ制御回路であって、当該バーストリードリクエストにて読み出しが要求されているデータ毎に、前記バーストＲＯＭへの読み出しアドレスの供給後に待機すべき時間を特定し、特定結果に従ったタイミングで各データの前記バーストＲＯＭからの読み出しを行うメモリ制御回路
とを備えることを特徴とする画像形成装置。
【請求項２】
前記メモリ制御回路が、バースト長が異なる２種以上のバーストＲＯＭのいずれに対しても、データの読み出しを行える回路である
ことを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記メモリ制御回路が、インターリーブ・アドレッシングを行うＣＰＵからのバーストリードリクエストと、シーケンシャル・アドレッシングを行うＣＰＵからのバーストリードリクエストとを受付可能な回路である
ことを特徴とする請求項１又は請求項２に記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バーストＲＯＭが用いられた画像形成装置に関する。
【背景技術】
【０００２】
プリンタ等の画像形成装置で用いられているＲＯＭの中には、図７に模式的に示したような形でアクセス可能なＲＯＭ、すなわち、下位の２〜３ビット（図では、ROMADR[2:0]の３ビット）のみが異なる複数のデータの連続的な読み出し時に、２番目以降の各データについてのWAIT数を、１番目のデータについてのWAIT数よりも小さくすることが可能なＲＯＭ（以下、バーストＲＯＭと表記する）が、存在している。ここで、WAIT数とは、読み出しアドレス（図では、ROMADR）の供給後、ＲＯＭ（バーストＲＯＭ）の出力が確定する（ＲＯＭからデータが読み出せるようになる）までのクロック数（図における時間“SW”，“BW”相当のクロック数）のことである。
【０００３】
そして、このようなバーストＲＯＭが用いられた画像形成装置では、バーストＲＯＭからのデータの読み出しが、ＣＰＵとメモリ制御ＡＳＩＣ（ＡＳＩＣ：特定用途向けＩＣ）とにより以下のようにして行われている。なお、以下の説明では、バーストＲＯＭにおける，値が大きな方のWAIT数をシングルＷＡＩＴ数と表記し、値が小さな方のWAIT数をバーストＷＡＩＴ数と表記する。また、図７に示したような形態でのアクセスのことをバーストアクセスと表記する。さらに、下位３ビットのみが異なる８個のデータをバーストアクセス可能なバーストＲＯＭのことを、８バーストＲＯＭと表記し、下位２ビットのみが異なる４個のデータをバーストアクセス可能なバーストＲＯＭのことを、４バーストＲＯＭと表記する。
【０００４】
例えば、８バーストＲＯＭの連続した記憶領域に記憶された８ワード分のデータが必要となった場合、画像形成装置内のＣＰＵは、当該記憶領域の先頭アドレスと読み出すべきワード数とを含むリクエスト（以下、バーストリードリクエストと表記する）をメモリ制御ＡＳＩＣに対して出力する。
【０００５】
このバーストリードリクエストを受け付けたメモリ制御ＡＳＩＣは、指定されている８個のデータを順次ＲＯＭから読み出してＣＰＵに供給する処理を開始する。この際、メモリ制御ＡＳＩＣは、１番目のデータに関しては、シングルＷＡＩＴ数相当の時間経過を待機してからその読み出しを行い、２番目以降の幾つかのデータ（上位ビットが変わらない各データ）に関しては、バーストＷＡＩＴ数相当の時間経過を待機してからその読み出しを行う。
【０００６】
４バーストＲＯＭに対して８ワード分のデータを読み出す場合、必ずバーストの途中にアドレスの第３ビットが変化する。ところが、既存のメモリ制御ＡＳＩＣは、前述のとおり２番目以降のデータのための待機時間は全てバーストＷＡＩＴ相当となるため、このバーストＷＡＩＴ数をシングルＷＡＩＴと同等に設定する必要がある。
【０００７】
すなわち、既存のメモリ制御ＡＳＩＣは、バーストＲＯＭの性能からは図８（Ａ）に示した形態で処理可能なバーストリードリクエストを図８（Ｂ）に示したような形態で処理してしまうといったように、バーストＷＡＩＴ数相当の時間経過を待機するだけで読み出せるデータをシングルＷＡＩＴ数相当の時間経過を待機してから読み出すことがある回路となっている。
【０００８】
そして、既存の画像形成装置内のＣＰＵが実行するプログラムは、４ワード以上のデータをＲＯＭから頻繁に読み出すものが多く存在するため、その場合、既存の、４バーストＲＯＭが用いられた画像形成装置は、特に、バーストＲＯＭの性能を十分に利用しきれていないものとなっていた。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は、このような現状に鑑みなされたものであり、本発明の課題は、搭載されたバーストＲＯＭの性能を十分に利用した形で常に動作する画像形成装置を、提供することにある。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明では、バーストＲＯＭとＣＰＵとＣＰＵからのバーストリードリクエストを受け付けてそのバーストリードリクエストにて読み出しが要求されているバーストＲＯＭ上に記憶されている各データをＣＰＵに返送するメモリ制御回路とを含む画像形成装置を、メモリ制御回路として、当該バーストリードリクエストにて読み出しが要求されているデータ毎に、バーストＲＯＭへの読み出しアドレスの供給後に待機すべき時間を特定し、特定結果に従ったタイミングで各データのバーストＲＯＭからの読み出しを行うものを用いた装置としておく。
【００１１】
この本発明の画像形成装置によれば、バーストＷＡＩＴ数相当の時間経過を待機するだけで読み出せるデータをシングルＷＡＩＴ数相当の時間経過が待機してから読み出されることがなくなるので、本発明によれば、搭載されたバーストＲＯＭの性能を十分に利用した形で動作する画像形成装置を実現できることになる。
【００１２】
なお、本発明の画像形成装置を実現する際には、メモリ制御回路を、バースト長が異なる２種以上のバーストＲＯＭのいずれに対してもデータの読み出しを行える回路しておくことや、インターリーブ・アドレッシングを行うＣＰＵからのバーストリードリクエストと、シーケンシャル・アドレッシングを行うＣＰＵからのバーストリードリクエストとを受付可能な回路としておくことが出来る。
【発明を実施するための最良の形態】
【００１３】
以下、本発明を実施するための最良の形態を、図面を参照して詳細に説明する。
【００１４】
まず、図１を用いて、本発明の一実施形態に係る画像形成装置１０の概要を説明する。
【００１５】
図示したように、本実施形態に係る画像形成装置１０は、主な構成要素として、ＣＰＵ１１，メモリ制御ＡＳＩＣ１２，複数のＲＯＭ１３，複数のＳＤＲＡＭ１４，ＩＯ制御ＡＳＩＣ１５，画像処理ＡＳＩＣ１６及び印刷制御部１７を備えた装置（いわゆるプリンタ）である。
【００１６】
この画像形成装置１０が備えるＣＰＵ１１は、画像形成装置１０の各部を統合的に制御する制御回路である。また、ＲＯＭ１３は、ＣＰＵ１１が実行するプログラムや、当該プログラムが利用するフォントデータ等を記憶した読出専用メモリである。なお、詳細は後述するが、本画像形成装置１０内のメモリ制御ＡＳＩＣ１２は、ＣＰＵ１１として、インターリーブ・アドレッシングを行うもの（ＭＩＰＳ系のもの）も、シーケンシャル・アドレッシングを行うもの（ＰｏｗｅｒＰＣ系のもの）も使用可能な回路であると共に、ＲＯＭ１６として、バースト長の異なる３種のバーストＲＯＭ（１バーストＲＯＭ［バーストアクセスできないＲＯＭ］，４バーストＲＯＭ，８バーストＲＯＭ）を使用可能な回路となっている。
【００１７】
本画像形成装置１０が備える各ＳＤＲＡＭ１３は、ＣＰＵ１１の作業領域等として使用されるメモリである。ＩＯ制御ＡＳＩＣ１５は、入出力関係の各種Ｉ／Ｆ回路（通信用Ｉ／Ｆ回路や操作パネル関連の回路等）を制御するためのＡＳＩＣである。画像処理ＡＳＩＣ１６は、ＳＤＲＡＭ１４上にＣＰＵ１１が生成したイメージデータに対して画像処理を施して印刷制御部１７に供給するＡＳＩＣである。印刷制御部１７は、画像処理ＡＳＩＣ１６から供給された画像処理後のイメージデータに基づき、用紙上に印刷を行うユニットである。
【００１８】
メモリ制御ＡＳＩＣ１２は、ＣＰＵ１１からの各種リクエストに応答してＲＯＭ１３／ＳＤＲＡＭ１４等にアクセスする機能，Ｉ／Ｏ制御ＡＳＩＣ１５からＳＤＲＡＭ１４へデータを転送する機能、ＳＤＲＡＭ１４から画像処理ＡＳＩＣ１６へデータを転送する機能等を有するＡＳＩＣである。
【００１９】
そして、本実施形態に係る画像形成装置１０は、このメモリ制御ＡＳＩＣ１２として、ＣＰＵ１１からＲＯＭ１３へのバーストリードリクエストに極めて高速に応答できるものが採用された装置となっている。
【００２０】
以下、本実施形態に係る画像形成装置１０の構成及び動作を、メモリ制御ＡＳＩＣ１２構成及び動作を中心に、説明する。
【００２１】
図２に、メモリ制御ＡＳＩＣ１２のブロック図を示す。なお、このブロック図は、メモリ制御ＡＳＩＣ１２の，バーストリードリクエストに関連する主要部分のみを示したもの（各回路に入力されているクロック等の表示を省略したもの）である。
【００２２】
図示したように、メモリ制御ＡＳＩＣ１２は、アドレスデコード回路２１，アドレス保持回路２２，アドレス変換回路２３，レジスタ２４，ステートマシン２５、リードデータ保持回路２６，ＷＡＩＴ選択信号生成回路２７及びセレクタ２８を、備える。
【００２３】
このメモリ制御ＡＳＩＣ１２に含まれるレジスタ２４は、CPUMODE，バースト長，SWAIT，BWAITを記憶した回路（記憶素子）である。
【００２４】
このレジスタ２４が記憶しているバースト長は、画像形成装置１０に搭載されているＲＯＭ１６に対して１回のバーストアクセス（図７参照）で読み出し可能な最大データ数が、１，４，８のいずれであるか（ＲＯＭ１６が、１バーストＲＯＭ［バーストアクセスできないＲＯＭ］，４バーストＲＯＭ，８バーストＲＯＭのいずれであるか）を示す情報である。SWAIT，BWAITは、それぞれ、ＲＯＭ１６のシングルＷＡＩＴ数，バーストＷＡＩＴ数を示す情報である。CPUMODEは、ＣＰＵ１１が、インターリーブ・アドレッシングを行うものであるか，シーケンシャル・アドレッシングを行うものであるかを"１"，"０"で示す情報である。なお、本画像形成装置１０は、その起動時に、ＣＰＵ１１（プログラム）により、ＣＰＵ１１のアドレッシングモードやＲＯＭ１６の種類が把握され、その把握結果に応じた情報がＣＰＵＭＯＤＥ等としてレジスタ２４に書き込まれる装置となっている。
【００２５】
アドレスデコード回路２１は、バーストリードリクエスト時にＣＰＵ１１から入力されるアドレス（最初に読み出すべきデータに関するアドレス；以下、CPUADRと表記する）に基づき、実際にアクセスするＲＯＭ１６を選択するためのチップセレクト信号（図では、ROMSCX）を生成する回路である。
【００２６】
アドレス保持回路２２は、CPUADRの上位ビット部分（第３ビットから第１９ビット）を、読み出しアドレスの一部（図では、ROMADR(上位ビット)）としてＲＯＭ１６に供給する回路である。
【００２７】
アドレス変換回路２３は、ステートマシン２５からのadr[2:0]と，ＣＰＵ１１からのCPUADR[2:0]と，レジスタ２４からのCPUMODEに応じた内容の３ビット幅の信号を、第２〜第０ビットの読み出しアドレス（図では、ROMADR[2,0]）としてＲＯＭ１６に供給する回路である。
【００２８】
このアドレス変換回路２３に入力されているadr[2:0]が変化するタイミングについての説明は後ほど行うが、adr[2:0]は、それが示す数値が、000b（２進数表記における"000"）から"1"ずつ上昇していく信号となっている。そして、アドレス変換回路２３は、CPUMODEが"１"であった場合（ＣＰＵ１１がインターリーブ・アドレッシングを行うものであった場合）には、
ROMADR[2]＝CPUADR[2]^adr[2]（^は、排他的論理和を行うことを示す演算子）
ROMADR[1]＝CPUADR[1]^adr[1]
ROMADR[0]＝CPUADR[0]^adr[0]
を出力し、CPUMODEが"０"であった場合には、ROMADR[2:0]＝CPUADR[2:0]＋adr[2:0]を出力する回路となっている。
【００２９】
すなわち、このアドレス変換回路２３は、図３に模式的に示したように、ＣＰＵ１１の種類（ＭＩＰＳ系のものかＰｏｗｅｒＰＣ系のものかの別）によって異なるバーストアクセス時における下位アドレス・シーケンス（ＲＯＭ１６に供給すべきアドレスの並び：図における"0,1,2,3,4,5,6,7"，"1,0,3,2,5,4,7,6"等）を、CPUADR[2:0]（図３における開始アドレスに相当），adr[2:0]，CPUMODEから生成するための回路となっている。
【００３０】
ＷＡＩＴ選択信号生成回路２７（図２）は、ステートマシン２５からのadr[2:0]と、アドレス変換回路２３からのROMADR[1:0]と、レジスタ２４からのCPUMODE及びバースト長とに基づき、SWAIT，BWAITのいずれをwaitとして出力するかを指定するためのＷＡＩＴ選択信号を生成してセレクタ２８に対して出力する回路である。
【００３１】
このＷＡＩＴ選択信号生成回路２７とセレクタ２８からなる部分（以下、ＷＡＩＴ信号生成回路と表記する）は、図４に模式的に示したように動作する回路となっている。
【００３２】
すなわち、ＷＡＩＴ信号生成回路は、ＲＯＭ１６として１バーストＲＯＭが用いられている（バースト長がその旨を表すものである）状況下では、常に、waitとしてSWAITを出力する。
【００３３】
ＷＡＩＴ信号生成回路は、ＲＯＭ１６として４バーストＲＯＭが用いられており、CPUMODEが"１"である（インターリーブ・アドレッシングを行うＣＰＵ１１が用いられている）状況下では、adr[2:0]が、CPUADR[2:0]（図では開始adr）、000b、100bのいずれかである場合には、waitとしてSWAITを出力し、それら以外の場合には、waitとしてBWAITを出力する。また、ＷＡＩＴ信号生成回路は、ＲＯＭ１６として４バーストＲＯＭが用いられているが、CPUMODEが"０"である（ＣＰＵ１１がシーケンシャル・アドレッシングを行うものである）状況下では、adr[2:0]がCPUADR[2:0]（図では開始adr）或いは000bである場合と、ROMADR[1:0]が00bである場合とには、waitとしてSWAITを出力し、それら以外の場合には、waitとしてBWAITを出力する。
【００３４】
また、ＷＡＩＴ信号生成回路は、ＲＯＭ１６として８バーストＲＯＭが用いられている状況下では、adr[2:0]がCPUADR[2:0]（図では開始adr）或いは000bである場合には、waitとしてSWAITを出力し、それ以外の場合には、waitとしてBWAITを出力する。
【００３５】
そして、このＷＡＩＴ信号生成回路（ＷＡＩＴ選択信号生成回路２７）にadr[2:0]を供給しているステートマシン２５は、図５に模式的に示してあるように動作する回路となっている。なお、この状態遷移図は、ＲＯＭからの８ワードの読み出しを要求するバーストリードリクエストがＣＰＵ１１によって出されたときにおけるステートマシン２５の状態遷移を示したものである。
【００３６】
すなわち、ステートマシン２５は、通常は、ＲＯＭ１６へのバーストリードリクエスト（読み出すべきワード数を含むリクエスト）が入力されるのを待機する"Idel"状態で動作している。
【００３７】
そして、ステートマシン２５は、ＲＯＭ１６へのバーストリードリクエストが入力された際には、"State0"状態に移行することにより、adr[2:0]として000bを出力し、RDXとしてLowを出力する処理を開始する。その後、ステートマシン２５は、"StateWait0"状態に移行して、クロック（図示せず）のカウントを開始する。そして、ステートマシン２５は、クロックのカウント結果clkcntがＷＡＩＴ信号生成回路（セレクタ２８）からのwaitと一致したときに、"StateDIN0"状態に移行してリードタイミング信号（図２参照）を出力する。このリードタイミング信号が入力されたリードデータ保持回路２６（図２参照）は、ＲＯＭ１６の出力を取り込んでＣＰＵ１１に対して出力する。
【００３８】
"StateDIN0"状態にてリードタイミング信号を出力したステートマシン２５は、"StateWait1"状態に移行する。そして、ステートマシン２５は、クロックをカウントし、そのカウント結果clkcntがＷＡＩＴ信号生成回路（セレクタ２８）からのwaitと一致するのを待機する処理を開始し、clkcntが、waitと一致したときには、"StateDIN1"状態に移行してリードタイミング信号を出力する。
【００３９】
ステートマシン２５は、このような処理（"StateWaitX"状態及び"StateDINX"状態［Xは、０、１、２等］に対応する処理）を、読み出しが要求されているワード数と同回数（この場合、８回）、繰り返す。そして、ステートマシン２５は、読み出しが要求されているワード数と同回数の処理の完了後に、RDXを"High"に戻してから、"Idel"状態での動作を再び開始する。
【００４０】
すなわち、このステータトマシン２５は、ＲＯＭ１６から読み出されるべきデータ（ワード）毎に、ＷＡＩＴ信号生成回路（ＷＡＩＴ選択信号生成回路２７及びセレクタ２８）がその内容を変更するｗａｉｔにて指定されるタイミングで、adr[2:0]の内容を変更し、リードタイミング信号を出力する回路となっている。
【００４１】
一方、ＷＡＩＴ信号生成回路（ＷＡＩＴ選択信号生成回路２７及びセレクタ２８）は、既に説明した動作内容（図４参照）から明らかなように、必要な場合（waitをBWAITとしたのではデータが確定していない可能性がある場合）にのみ、waitをSWAITとする回路となっている。なお、ＷＡＩＴ信号生成回路（ＷＡＩＴ選択信号生成回路２７及びセレクタ２８）が、そのような回路となっていることは、図３中の"0,1,2,3,4,5,6,7"，"1,0,3,2,5,4,7,6"等を２進化すれば容易に確認可能なことであるので、この点についての詳細説明は省略することにする。
【００４２】
そして、メモリ制御ＡＳＩＣ１２は、上記のような回路が組み合わされたものであるので、このメモリ制御ＡＳＩＣ１２は、バーストＷＡＩＴ数相当の時間経過を待機するだけで読み出せるデータをシングルＷＡＩＴ数相当の時間経過を待機してから読み出すことが全くない回路として動作することになる。
【００４３】
従って、本メモリ制御ＡＳＩＣ１２を８バーストＲＯＭと共に用いれば、例えば、既存のメモリ制御ＡＳＩＣでは図８（Ｂ）に示した形態で処理されてしまうバーストリードリクエストを図８（Ａ）に示した形態で処理するといったように、常に、バーストＲＯＭの性能を十分に利用した形でバーストリードリクエストを処理出来ることになる。また、メモリ制御ＡＳＩＣ１２を４バーストＲＯＭと共に用いた場合にも、図６（Ａ）、（Ｂ）に模式的に示したように、常に、バーストＲＯＭの性能を十分に利用した形でバーストリードリクエストを処理出来ることになる。
【００４４】
＜変形形態＞
上記した画像形成装置１０は、各種の変形が可能である。例えば、画像形成装置１０は、複数種類のバーストＲＯＭをサポートすると共に、インターリーブ・アドレッシングを行うＣＰＵとシーケンシャル・アドレッシングを行うＣＰＵとをサポートするメモリ制御ＡＳＩＣ１２を備えたものであったが、メモリ制御ＡＳＩＣ１２を、よりサポートするメモリ／ＣＰＵの種類が少ないものに変形しておいても良い。また、バースト長が８を超えるバーストＲＯＭをサポートできるように、メモリ制御ＡＳＩＣ１２を変形しておいても良い。
【図面の簡単な説明】
【００４５】
【図１】本発明の一実施形態に係る画像形成装置の構成図である。
【図２】実施形態に係る画像形成装置が備えるメモリ制御ＡＳＩＣのブロック図である。
【図３】ＣＰＵによるアドレッシング方式の違いの説明図である。
【図４】ＷＡＩＴ選択信号生成回路（ＷＡＩＴ選択信号生成回路＆セレクタ）の動作の説明図である。
【図５】ステートマシンの動作を説明するための状態遷移図である。
【図６】実施形態に係るメモリ制御ＡＳＩＣによるバーストＲＯＭのアクセス手順の説明図である。
【図７】バーストＲＯＭの動作の説明図である。
【図８】既存のメモリ制御ＡＳＩＣによるバーストＲＯＭの制御動作の問題点を説明するための図である。
【符号の説明】
【００４６】
１０  画像形成装置、  １１  ＣＰＵ、  １２  画像処理ＡＳＩＣ、
１３  ＲＯＭ（１，４，８バーストＲＯＭ）、  １４  ＳＤＲＡＭ
１５  ＩＯ制御ＡＳＩＣ、  １６  画像処理ＡＳＩＣ、  １７  印刷制御部
【図１】
2005104060.tif 000003
【図２】
2005104060.tif 000004
【図３】
2005104060.tif 000005
【図４】
2005104060.tif 000006
【図５】
2005104060.tif 000007
【図６】
2005104060.tif 000008
【図７】
2005104060.tif 000009
【図８】
2005104060.tif 000010