(57)【要約】    【課題】ＣＰＵがキャッシュ・メモリ上のデータを破棄する処理を行っている時間を短縮できる半導体集積回路を、提供する。    【解決手段】バス・スヌープ機能を有するＣＰＵ１５とＣＰＵバスにより接続され、ＣＰＵ１５が利用するＲＡＭとメモリバスにより接続されて使用される，ＣＰＵ１５によって直接的に書込が指示されたデータではないデータをＲＡＭへ書き込む処理を実行可能な半導体集積回路に、ＲＡＭ上の記憶領域の指定を伴う，処理の開始指示が与えられたときに、ＲＡＭの，指定されている記憶領域上の各データが書き換えられたことをＣＰＵ１５に認識させるための制御処理を、ＣＰＵバスに対して実行するＣＰＵバス制御回路２０を設けておく。    【選択図】図２
2007193503.tif 000002
【特許請求の範囲】
【請求項１】
自身が接続されているバスを監視することにより、内蔵キャッシュ・メモリ上の，他デバイスによって書き換えられている各データを無効化するバス・スヌープ機能を有するＣＰＵとＣＰＵバスにより接続され、前記ＣＰＵが利用するＲＡＭとメモリバスにより接続される半導体集積回路であって、
前記ＣＰＵによって直接的に書込が指示されたデータではないデータを前記ＲＡＭへ書き込む処理を実行するための処理実行回路と、
前記ＲＡＭ上の記憶領域の指定を伴う，処理の開始指示が与えられたときに、前記ＲＡＭの，指定されている記憶領域上の各データが書き換えられたことを前記ＣＰＵに認識させるための制御処理を、前記ＣＰＵバスに対して実行するＣＰＵバス制御処理実行回路と、
を、備えることを特徴とする半導体集積回路。
【請求項２】
前記ＣＰＵバス制御処理実行回路が、
前記制御処理の完了時に，前記制御処理が完了したことを前記ＣＰＵに通知するための割込信号を出力する回路である
ことを特徴とする請求項１記載の半導体集積回路。
【請求項３】
前記ＣＰＵバス制御処理実行回路が実行する前記制御処理が、指定されている記憶領域内の各アドレスを，予め定められている順番で前記ＣＰＵバス上に出力する，中止させることが可能な処理であり、
前記制御処理が実行されることにより前記ＣＰＵバス上に出力されたアドレスが記憶される，前記ＣＰＵがアクセス可能なレジスタを、さらに備える
ことを特徴とする請求項２記載の半導体集積回路。
【請求項４】
自身が接続されているバスを監視することにより、内蔵キャッシュ・メモリ上の，他デバイスによって書き換えられている各データを無効化するバス・スヌープ機能を有するＣＰＵと、
前記ＣＰＵが利用するＲＡＭと、
前記ＣＰＵとＣＰＵバスにより接続され、前記ＲＡＭとメモリバスにより接続された半導体集積回路であって、前記ＣＰＵによって直接的に書込が指示されたデータではないデータを前記ＲＡＭへ書き込む処理を実行するための処理実行回路と、前記ＲＡＭ上の記憶領域の指定を伴う，処理の開始指示が与えられたときに、前記ＲＡＭの，指定されている記憶領域上の各データが書き換えられたことを前記ＣＰＵに認識させるための制御処理を、前記ＣＰＵバスに対して実行するＣＰＵバス制御処理実行回路とを含む半導体集積回路と
を備えることを特徴とする情報処理装置。
【請求項５】
自身が接続されているバスを監視することにより、内蔵キャッシュ・メモリ上の，他デバイスによって書き換えられている各データを無効化するバス・スヌープ機能を有するＣＰＵと、
前記ＣＰＵが利用するＲＡＭと、
印刷データを受信するためのインタフェース回路と、
前記ＣＰＵとＣＰＵバスにより接続され、前記ＲＡＭとメモリバスにより接続され、前記インタフェース回路と前記ＣＰＵバスを利用しない信号経路にて接続された半導体集積回路と
を、備え、
前記半導体集積回路が、
前記インタフェース回路により受信された印刷データを前記ＲＡＭ上にＤＭＡ転送するためのＤＭＡ転送回路、
前記ＲＡＭの，指定された記憶領域に記憶されているデータに対して画像処理を行い、画像処理後のデータを，前記ＲＡＭの，指定されている記憶領域に記憶する画像処理回路、及び、
前記ＲＡＭ上の記憶領域の指定を伴う，処理の開始指示が与えられたときに、前記ＲＡＭの，指定されている記憶領域上の各データが書き換えられたことを前記ＣＰＵに認識させるための制御処理を、前記ＣＰＵバスに対して実行するＣＰＵバス制御処理実行回路
を含む回路である
ことを特徴とする印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＰＵとＲＡＭとを接続するための半導体集積回路，そのような半導体集積回路が用いられている情報処理装置及び印刷装置に、関する。
【背景技術】
【０００２】
近年の，一般的なプリンタの制御部（コントローラ）は、ＣＰＵと、ＲＡＭ，ＲＯＭ等との間に，ＤＭＡ転送回路や色変換回路としての機能を有するＡＳＩＣ（以下、メモリ制御ＡＳＩＣと表記する）が設けられているもの（ＣＰＵと、ＲＡＭ，ＲＯＭ等とが，同一バスに接続されていないもの；例えば、特許文献１参照。）となっている。
【０００３】
すなわち、一般的なプリンタの制御部は、ＲＡＭ上へのデータのＤＭＡ転送等がメモリ制御ＡＳＩＣによって行われた場合、ＣＰＵ内のキャッシュ・メモリ上のデータが、ＲＡＭ上のデータと一致しなくなることがあるものとなっている。そして、ＣＰＵ内のキャッシュ・メモリ上のデータが、ＲＡＭ上のデータと一致していない状態では、ＣＰＵに所望の処理を行わせることが出来ないため、一般的なプリンタの制御部は、ＣＰＵが、キャッシュ・メモリ上のデータを破棄する処理を比較的に頻繁に行うもの（ＣＰＵが、キャッシュ・メモリ上のデータを破棄する処理を行っている時間が比較的に長いもの）となっている。
【０００４】
【特許文献１】特開２００３−１２３４６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
そこで、本発明の課題は、ＣＰＵがキャッシュ・メモリ上のデータを破棄する処理を行っている時間を短縮できる半導体集積回路，ＣＰＵがキャッシュ・メモリ上のデータを破棄する処理を行っている時間が短い情報処理装置及び印刷装置を、提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明では、自身が接続されているバスを監視することにより、内蔵キャッシュ・メモリ上の，他デバイスによって書き換えられている各データを無効化するバス・スヌープ機能を有するＣＰＵとＣＰＵバスにより接続され、ＣＰＵが利用するＲＡＭとメモリバスにより接続される半導体集積回路を、ＣＰＵによって直接的に書込が指示されたデータではないデータをＲＡＭへ書き込む処理を実行するための処理実行回路と、ＲＡＭ上の記憶領域の指定を伴う，処理の開始指示が与えられたときに、ＲＡＭの，指定されている記憶領域上の各データが書き換えられたことをＣＰＵに認識させるための制御処理を、ＣＰＵバスに対して実行するＣＰＵバス制御処理実行回路とを備えた回路としておく。
【０００７】
すなわち、本発明の半導体集積回路は、ＲＡＭ上の記憶領域を指定してＣＰＵバス制御処理実行回路を動作させれば、ＣＰＵのバス・スヌープ機能により、ＣＰＵ内のキャッシュ・メモリ（“内蔵キャッシュ・メモリ”）に記憶されている，当該記憶領域上の各データのコピーが無効化される回路となっている。そして、ＣＰＵのバス・スヌープ機能は、ＣＰＵが内部処理を行っている最中も働く機能であるので、本発明の半導体集積回路を用いれば、ＣＰＵがキャッシュ・メモリ上のデータを破棄する処理を行っている時間を短縮できることになる。また、本発明の半導体集積回路を用いれば、ＣＰＵがキャッシュ・メモリ上のデータを破棄する処理を行っている時間が短い情報処理装置や、印刷装置（プリンタ，ファクシミリ，複合機等の，印刷を行う情報処理装置）を製造できることになる。
【０００８】
本発明の半導体集積回路を実現するに際しては、ＣＰＵが制御処理の完了したことを把握できるようにするために、ＣＰＵバス制御処理実行回路を、制御処理の完了時に，制御処理が完了したことをＣＰＵに通知するための割込信号を出力する回路としておくことが望ましい。
【０００９】
また、本発明の半導体集積回路を、ＣＰＵバス制御処理実行回路が実行する制御処理が、指定されている記憶領域内の各アドレスを，予め定められている順番でＣＰＵバス上に出力する，中止させることが可能な処理であり、制御処理が実行されることによりＣＰＵバス上に出力されたアドレスが記憶される，ＣＰＵがアクセス可能なレジスタを、さらに備える回路としておけば、制御処理をＣＰＵが中止させることが出来る半導体集積回路が得られることになる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明を実施するための最良の形態を、図面を参照して詳細に説明する。
【００１１】
まず、図１を用いて、本発明の一実施形態に係る情報処理装置１０の概要を説明する。
【００１２】
図示してあるように、本実施形態に係る情報処理装置１０は、操作パネル１１と印刷エンジン１２と制御部１３とを備えた装置（いわゆるプリンタ）である。
【００１３】
この情報処理装置１０が備える印刷エンジン１２は、用紙上に印刷を行うためのユニットである。操作パネル１１は、ユーザと情報処理装置１０（制御部１３）との間のインタフェースユニット（マン・マシン・インタフェースユニット）である。
【００１４】
制御部１３は、情報処理装置１０をプリンタとして機能させるためのユニットである。この制御部１３は、図示してあるように、バス・スヌープ機能を有するＣＰＵ１５に、ＣＰＵバス制御回路２０を備えたメモリ制御ＡＳＩＣ１６を介して、ＲＡＭ１７が接続され、メモリ制御ＡＳＩＣ１６及びＩＯ制御ＡＳＩＣを介して、ＲＯＭ，パラレルインタフェース回路及びネットワークインタフェース回路が接続されたユニットとなっている。なお、バス・スヌープ機能とは、自ユニット（ＣＰＵ１５）が接続されているバス（以下、ＣＰＵバスと表記する）を監視する（ＣＰＵバス上のコマンド，アドレスを監視する）ことにより、自ユニット内のキャッシュ・メモリ（図示せず）上の，他デバイス（本実施形態では、メモリ制御ＡＳＩＣ１６）によって書き換えられた各データを無効化する機能（マルチプロセッサ対応の，一般的なＣＰＵ／マイクロプロセッサが有している機能）のことである。
【００１５】
以上のことを前提に、以下、本実施形態に係る情報処理装置１０の構成及び動作を、さらに具体的に説明する。
【００１６】
本情報処理装置１０の制御部１３に用いられているメモリ制御ＡＳＩＣ１６は、ＩＯ制御ＡＳＩＣを介して接続されているパラレルインタフェース回路／ネットワークインタフェース回路が受信した印刷データや、ＩＯ制御ＡＳＩＣを介して接続されているＲＯＭ上のデータ（プログラムコードやフォントデータ）をＲＡＭ１７上にＤＭＡ転送するためのＤＭＡ転送回路、ＲＡＭ１７上のデータに対して各種データ処理を行って処理結果をＲＡＭ１７上に記憶する各種回路（圧縮回路，色変換回路等）を備えたＡＳＩＣに、図２に示した構成のＣＰＵバス制御回路２０を付加したＡＳＩＣである。
【００１７】
このＣＰＵバス制御回路２０は、ＲＡＭ１７の或る記憶領域上のデータ（メモリ制御ＡＳＩＣ１６によって書き換えられているデータ）を利用する処理を行う前に、当該データが，ＣＰＵ１５内のキャッシュ・メモリ上に残っていないようにするために使用される回路であり、ＣＰＵバス制御回路２０内の開始アドレス指定レジスタ２１，終了アドレス指定レジスタ２４は、それぞれ、上記記憶領域（以下、利用予定記憶領域と表記する）の開始アドレス，終了アドレスが設定されるレジスタである。
【００１８】
アドレス増加量指定レジスタ２２は、“ＲＡＭ１７のアドレスバス幅”／“ＣＰＵ１５のアドレスバス幅”が、アドレス増加量として設定されるレジスタである。バスコマンド指定レジスタ２３は、ＣＰＵ１５のバス・スヌープ機能に検知させるコマンド（本実施形態の情報処理装置１０では、ライトコマンド）が設定されるレジスタである。
【００１９】
サイクル開始指定レジスタ２５，サイクル終了指定レジスタ２６は、それぞれ、ＣＰＵバス制御回路２０の動作を開始させる際，終了させる際に、所定値が設定されるレジスタである。
【００２０】
バス調停回路３４は、バスリクエストがＣＰＵ１５によって出された場合（バスリクエスト信号“ＢＲ”のレベルが所定レベルとなった場合）には、ＣＰＵ１５にＣＰＵバスを使用させ（バスグラント信号“ＢＧ”のレベルを所定レベルとし）、内部バスリクエストが制御信号生成回路３３によって出された場合（内部バスリクエスト信号“ＩＢＲ”のレベルが所定レベルとなった場合）には、ＣＰＵバス制御回路２０にＣＰＵバスを使用させる（内部バスグラント信号“ＩＢＧ”のレベルを所定レベルとする）回路である。また、このパス調停回路３４は、ＣＰＵバスを、ＣＰＵ１５に優先的に使用させる回路となっている。
【００２１】
処理対象アドレス生成回路３１は、そこに記憶されているデータ（以下、処理対象アドレスと表記する）がバッファ回路２７と比較器３２とに供給される処理対象アドレスレジスタ３１ｒを備えた回路である。この処理対象アドレス生成回路３１は、所定レベルの制御信号が制御信号生成回路３３から入力された場合、開始アドレス指定レジスタ２１に設定されている開始アドレスを処理対象アドレスレジスタ３１ｒに取り込んだ後（開始アドレスをバッファ回路２７及び比較器３２に供給した後）、所定時間毎に（図示せぬクロックに同期した形で），アドレス増加量指定レジスタ２２に設定されているアドレス増加量を処理対象アドレスレジスタ３１ｒに加算する処理を開始する回路となっている。
【００２２】
比較器３２は、処理対象アドレス生成回路３１から供給される処理対象アドレスと終了アドレス指定レジスタ２４に設定されている終了アドレスとが一致したときに、所定レベルの制御信号を制御信号生成回路３３に対して出力する回路である。
【００２３】
制御信号生成回路３３は、サイクル開始指定レジスタ２５に所定値が設定された場合、内部バスリクエストを発行することによりＣＰＵバスの使用権を取得してから、処理対象アドレス生成回路３１の動作を開始させ、処理対象アドレス生成回路３１によって生成された各処理対象アドレス（処理対象アドレスレジスタ３１ｒ上のデータ）を、バスコマンド指定レジスタ２３に設定されているコマンド，各種制御信号（ＣＰＵバス上に有効なデータが出力されていることを示す信号等）と共に、ＣＰＵバス上に出力する回路（バッファ回路２９へ各種制御信号を供給し，バッファ回路２７〜２９のデータ出力タイミングの制御を行う回路）である。
【００２４】
また、この制御信号生成回路３３は、比較器３２からの制御信号のレベルが所定レベルとなった場合（処理対象アドレスと終了アドレスとが一致した場合）には、処理対象アドレス（終了アドレス）等のＣＰＵバス上への出力が完了したときに、ＣＰＵ１５へ処理完了割込を出力してから動作を終了する回路となっている。さらに、制御信号生成回路３３は、サイクル停止指定レジスタ２６に所定値が設定された場合には、ＣＰＵ１５へ処理完了割込を出力することなく動作を終了する回路であると共に、ＣＰＵバスの使用許可が取り消された場合（内部バスグラント信号“ＩＢＧ”のレベルが、使用を許可しないことを示すレベルとなった場合）には、動作を中断する回路となっている。
【００２５】
要するに、本情報処理装置１０の制御部１３に用いられているＣＰＵバス制御回路２０は、或る処理に必要とされるデータが記憶されている利用予定記憶領域の開始アドレス，終了アドレス等をセットして動作を開始させれば、ＣＰＵ１５の状態を、開始アドレスから終了アドレスまでのアドレスのデータが必要となった場合に当該データをＲＡＭ１７から実際に読み出す状態とすることが出来る回路となっている。
【００２６】
そして、本情報処理装置１０の制御部１３は、或る利用予定記憶領域上のデータを利用する処理を実行する前に、ＣＰＵ１５が、図３，４に示したような手順の処理を実行するように構成された（ＣＰＵ１５に、図３，４の処理を実行させるプログラムが、制御部１３内のＲＯＭ上に記憶されている）ユニットとなっている。
【００２７】
すなわち、制御部１３は、或る利用予定記憶領域上のデータを利用する処理を実行する前に、ＣＰＵ１５が、『利用予定記憶領域に関する処理をＣＰＵバス制御回路２０に開始させてから，ＣＰＵバス制御回路２０によって処理完了割込が出力されるのを待機する処理（図３：Ｓ１０１，Ｓ１０２）』や、『利用予定記憶領域に関する処理をＣＰＵバス制御回路２０に開始させてから，処理完了イベント（ＣＰＵバス制御回路２０からの処理完了割込の入力）と処理開始イベント（ＣＰＵ１５の内部処理の完了）を待機（図４：Ｓ２０１，Ｓ２０２）し、処理完了イベントが発生する前に処理開始イベントが発生した場合（Ｓ２０３；処理開始）には、ＣＰＵバス制御回路２０の動作を停止させた後にＣＰＵバス制御回路２０から処理対象アドレスを取得する処理(Ｓ２０５)と，キャッシュ・メモリ上の未処理アドレス範囲（処理対象アドレス〜終了アドレス）に関するデータを破棄／無効化する処理(Ｓ２０６)とを実行し、処理開始イベントが発生する前に処理完了イベントが発生した場合（Ｓ２０３；処理完了）には、処理開始イベントの発生を待機（Ｓ２０４）する処理』を行うように構成されたユニットとなっている。
【００２８】
以上、説明したように、情報処理装置１０の制御部１３に用いられているメモリ制御ＡＳＩＣ１６は、ＲＡＭ１７上の記憶領域を指定してＣＰＵバス制御回路２０を動作させれば、ＣＰＵ１５のバス・スヌープ機能により、ＣＰＵ１５のキャッシュ・メモリに記憶されている，当該記憶領域上の各データのコピーが無効化される回路となっている。そして、ＣＰＵ１５のバス・スヌープ機能は、ＣＰＵ１５が内部処理を行っている最中にも働く機能であり、本情報処理装置１０の制御部１３は、或る利用予定記憶領域上のデータを利用する処理を実行する前に、ＣＰＵ１５が、図３，４に示したような手順の処理を実行するユニットとなっている。従って、本実施形態の情報処理装置１０は、ＣＰＵ１５がキャッシュ・メモリ上のデータを破棄するための処理を行っている時間が短い装置（ＣＰＵ１５による本来の処理の開始タイミングが、キャッシュ・メモリ上のデータを破棄する処理のために遅れることが無い／少ない装置）となっていると言うことが出来る。
【図面の簡単な説明】
【００２９】
【図１】本発明の一実施形態に係る情報処理装置（プリンタ）の構成図。
【図２】実施形態に係る情報処理装置に用いられているメモリ制御ＡＳＩＣが備えるＣＰＵバス制御回路の構成図。
【図３】実施形態に係る情報処理装置における，ＣＰＵバス制御回路の利用手順を説明するための流れ図。
【図４】実施形態に係る情報処理装置における，ＣＰＵバス制御回路の利用手順を説明するための流れ図。
【符号の説明】
【００３０】
１０  情報処理装置、  １１  操作パネル、  １２  印刷エンジン
１３  制御部、  １５  ＣＰＵ、  １６  メモリ制御ＡＳＩＣ
１７  ＲＡＭ、  ２０  ＣＰＵバス制御回路、  ２１  開始アドレス指定レジスタ
２２  アドレス増加量指定レジスタ、  ２３  パスコマンド指定レジスタ
２４  終了アドレス指定レジスタ、  ２５  サイクル開始指定レジスタ
２６  サイクル終了指定レジスタ、  ２７，２８，２９  バッファ回路
３１  処理対象アドレス生成回路、  ３１ｒ  処理対象アドレスレジスタ
３２  比較器、  ３３  制御信号生成回路、  ３４  バス調停回路
【図１】
2007193503.tif 000003
【図２】
2007193503.tif 000004
【図３】
2007193503.tif 000005
【図４】
2007193503.tif 000006