(57)【要約】    【課題】ＣＰＵ内のキャッシュメモリがより有効に利用される情報処理装置を、提供する。    【解決手段】ＲＡＭへのＤＭＡライトアクセスを各種ＤＭＡ回路が用いられている情報処理装置（プリンタ等）に、“各ＤＭＡ回路によってデータが書き込まれたＲＡＭのアドレスの最小値、最大値を、それぞれ、MINAddrレジスタ２３Ｌ，MAXAddrレジスタ２３Ｈに記憶する処理”を実行可能なレジスタ制御回路２２を備えたＲＡＭ制御回路２０を、搭載しておく。    【選択図】図２
2008276284.tif 000002
【特許請求の範囲】
【請求項１】
ＲＡＭを、前記ＲＡＭへのＤＭＡライトアクセスを行う複数のＤＭＡ回路，及び，キャッシュメモリを内蔵したＣＰＵとに利用させるために、前記ＲＡＭと前記複数のＤＭＡ回路と前記ＣＰＵとに接続されるＲＡＭ制御回路であって、
最小アドレスを記憶しておくための最小アドレスレジスタと、
最大アドレスを記憶しておくための最大アドレスレジスタと、
各ＤＭＡ回路によってデータが書き込まれた前記ＲＡＭのアドレスの最大値、最小値を、それぞれ、前記最小アドレスレジスタ、前記最大アドレスレジスタに記憶する処理を、所定の指示が入力されたときに、開始するレジスタ制御回路と
を備えることを特徴とするＲＡＭ制御回路。
【請求項２】
ペンディング指示が入力された場合、ペンディング解除指示が入力されるまでの間、前記複数のＤＭＡ回路による前記ＲＡＭへのＤＭＡライトアクセスを中断させる機能を有する
ことを特徴とする請求項１記載のＲＡＭ制御回路。
【請求項３】
プログラムを記憶した記憶手段と、
ＲＡＭと、
前記ＲＡＭへのＤＭＡライトアクセスを行う複数のＤＭＡ回路と、
キャッシュメモリを内蔵したＣＰＵと、
前記ＲＡＭを、前記複数のＤＭＡ回路と前記ＣＰＵとに利用させるために、前記ＲＡＭ，前記複数のＤＭＡ回路及び前記ＣＰＵに接続されるＲＡＭ制御回路と
を、備え、
前記ＲＡＭ制御回路が、
最小アドレスを記憶しておくための最小アドレスレジスタと、
最大アドレスを記憶しておくための最大アドレスレジスタと、
各ＤＭＡ回路によってデータが書き込まれた前記ＲＡＭのアドレスの最小値，最大値を，それぞれ，前記最小アドレスレジスタ，前記最大アドレスレジスタに記憶する処理を、所定の指示が入力されたときに、開始するレジスタ制御回路と
を備えた回路であり、
前記記憶手段に記憶されているプログラムが、前記ＣＰＵに、
前記ＲＡＭ制御回路内の前記レジスタ制御回路を機能させることにより前記最小アドレスレジスタ，前記最大アドレスレジスタに，それぞれ，記憶された最小アドレス，最大アドレスを参照することにより、これからアクセスしようとしている前記ＲＡＭのアドレスが，前記レジスタ制御回路を機能させた後にいずれかのＤＭＡ回路によってデータが書き換えられている可能性があるアドレスであるか否かを判断し、そうでなかった場合には、前記キャッシュメモリ上のいずれのデータも無効化することなくＲＡＭアクセスを行い。そうであった場合には、前記キャッシュメモリ上の上の前記最小アドレス〜前記最大アドレスに関するデータを無効化してからＲＡＭアクセスを行う処理を、随時，実行させるプログラムである
ことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＲＡＭを、ＲＡＭへのＤＭＡライトアクセスを行う複数のＤＭＡ回路，及び，キャッシュメモリを内蔵したＣＰＵとに利用させるためのＲＡＭ制御回路と、そのようなＲＡＭ制御回路を備えた情報処理装置とに、関する。
【背景技術】
【０００２】
近年の一般的な情報処理装置（コンピュータ，プリンタ）は、ＲＡＭへのＤＭＡライトアクセスを行う幾つかの回路（受信したデータをＲＡＭ上にＤＭＡ転送する通信インタフェース回路等）を備えた装置となっているが、ＲＡＭの或るアドレスのデータがＤＭＡによって書き込まれたにも拘わらず、そのアドレスのデータが，ＣＰＵ内のキャッシュメモリ上に残っていると、そのアドレスのデータとして、キャッシュメモリ上のデータが使用されてしまうことになる。このため、ＲＡＭへのＤＭＡライトアクセスが行われる情報処理装置は、キャッシュメモリ上の，ＤＭＡにより書き換えられている可能性があるデータを無効化する処理（以下、キャッシュ無効化処理と表記する）が，随時（必要な時に），行われるように構成された装置（例えば、特許文献１〜３参照）となっている。
【０００３】
そして、そのように構成された装置であるが故に、既存の情報処理装置は、正常に動作するものとなっているのであるが、既存の情報処理装置にて行われているキャッシュ無効化処理は、いずれも、ＲＡＭ上の或る範囲内の，一部のアドレスのデータが書き換えられたときに、そのアドレス範囲に関するキャッシュメモリ上のデータが全て無効化されるものとなっている。しかも、キャッシュ無効化処理は，その完了に或る程度の時間が必要とされる処理（処理時間が“０”と見なせない処理）であるため、既存の，ＤＭＡライトアクセスが比較的に頻繁に行われる情報処理装置（プリンタ等）は、ＣＰＵ内のキャッシュメモリが、処理速度の向上にあまり役に立っていない装置となっている。
【０００４】
【特許文献１】特開平５−２１６７５９号公報
【特許文献２】特開平５−２４１９６１号公報
【特許文献３】特開２００１−５６７８２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
そこで、本発明の課題は、ＤＭＡライトアクセスが比較的に頻繁に行われるタイプ（ＲＡＭへのＤＭＡライトアクセスを行う複数のＤＭＡ回路を備えたタイプ）の，ＣＰＵ内のキャッシュメモリがより有効に利用されている情報処理装置と、そのような情報処理装置を製造できるＲＡＭ制御回路とを、提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の、“ＲＡＭを、ＲＡＭへのＤＭＡライトアクセスを行う複数のＤＭＡ回路，及び，キャッシュメモリを内蔵したＣＰＵとに利用させるために、ＲＡＭと複数のＤＭＡ回路とＣＰＵとに接続されるＲＡＭ制御回路”は、最小アドレスを記憶しておくための最小アドレスレジスタと、最大アドレスを記憶しておくための最大アドレスレジスタと、各ＤＭＡ回路によってデータが書き込まれたＲＡＭのアドレスの最小値、最大値を、それぞれ、最小アドレスレジスタ、最大アドレスレジスタに記憶する処理を、所定の指示が入力されたときに、開始するレジスタ制御回路とを備える。
【０００７】
すなわち、本発明のＲＡＭ制御回路は、一定期間（レジスタ制御回路を動作させた後、最小／最大アドレスレジスタの値を読み出すまで）の間に、幾つかのＤＭＡ回路によってデータが書き込まれたＲＡＭのアドレスの最小値，最大値が，それぞれ，最小アドレス（最小アドレスレジスタの値），最大アドレス（最大アドレスレジスタの値）として記憶される回路となっている。
【０００８】
このため、このＲＡＭ制御回路を用いることにより、ＣＰＵが、『ＲＡＭ制御回路内のレジスタ制御回路を機能させることにより最小アドレスレジスタ，最大アドレスレジスタに，それぞれ，記憶された最小アドレス，最大アドレスを参照することにより、これからアクセスしようとしているＲＡＭのアドレスが，レジスタ制御回路を機能させた後にいずれかのＤＭＡ回路によってデータが書き換えられている可能性があるアドレスであるか否かを判断し、そうでなかった場合には、キャッシュメモリ上のいずれのデータも無効化することなくＲＡＭアクセスを行い。そうであった場合には、キャッシュメモリ上の上の最小アドレス〜最大アドレスに関するデータを無効化してからＲＡＭアクセスを行う処理』を随時（必要なときに）行う装置（請求項３記載の情報処理装置）を構成しておけば、ＤＭＡライトアクセスが比較的に頻繁に行われるタイプ（ＲＡＭへのＤＭＡライトアクセスを行う複数のＤＭＡ回路を備えたタイプ）の，ＣＰＵ内のキャッシュメモリがより有効に利用されている情報処理装置を実現できることになる。
【０００９】
何故ならば、そのように構成した情報処理装置は、上記処理の間に，１個のＤＭＡ回路によるＤＭＡライトアクセスが１回だけ行われた場合には、キャッシュメモリ上の，実際に書き換えられているデータのみが無効化される装置として機能することになり、上記処理の間に，幾つかのＤＭＡ回路による複数回のＤＭＡライトアクセスが行われた場合には、キャッシュメモリ上の，実際には書き換えられているデータが無効化されることはあるが、キャッシュメモリの無効化処理が行われる回数がより少ない装置として機能することになるからである。
【００１０】
なお、本発明のＲＡＭ制御回路は、ＤＭＡライトアクセスのタイミングや最小／最大アドレスレジスタの更新タイミングを管理できるようにするために、ペンディング指示が入力された場合、ペンディング解除指示が入力されるまでの間、複数のＤＭＡ回路によるＲＡＭへのＤＭＡライトアクセスを中断させる機能を付与した形で実現することが出来る。
【発明を実施するための最良の形態】
【００１１】
以下、本発明を実施するための最良の形態を、図面を参照して詳細に説明する。
【００１２】
図１に  本発明の一実施形態に係る情報処理装置１０の構成を示す。
【００１３】
図示してあるように  本発明の一実施形態に係る情報処理装置１０は、ＣＰＵ，接続制御回路１２，ＲＡＭ，印刷エンジン，スキャナ，ＩＯコントローラ，ＲＯＭ，複数のホストインタフェース回路（図では、“ホストＩ／Ｆ”）を備えた装置（いわゆるマルチファンクションプリンタ）である。なお、本情報処理装置１０に用いられているＣＰＵは、キャッシュメモリを内蔵した、キャッシュメモリ上のデータをアドレスを指定した形で無効化できるもの（通常のＣＰＵ）となっている。
【００１４】
接続制御回路１２は、ＣＰＵの負荷を軽くするために（ＣＰＵを拘束しない形で各種の処理を行えるようにするために）、情報処理装置１０に搭載されているＡＳＩＣである。この接続制御回路１２内のＲＡＭ制御回路２０を除いた各回路は、既存の接続制御回路にも設けられている回路となっている。このため、各回路の詳細説明は省略するが、接続制御回路１２内の画像処理回路，スキャンデータ変換回路，ＩＯ−Ｉ／Ｆは、ＲＡＭに対するＤＭＡライトアクセスを行うことがある回路（以下、ＤＭＡ回路と表記する）となっている。
【００１５】
図２に  本実施形態に係る接続制御回路１２内のＲＡＭ制御回路２０の構成を示す。
【００１６】
図示してあるように、接続制御回路１２内のＲＡＭ制御回路２０は、アドレス保持on/offレジスタ２１，レジスタ制御回路２２，MINAddrレジスタ２３Ｌ，MAXAddrレジスタ２３Ｈ，２つの比較器２４Ｌ及び２４Ｈ，DMAWaitレジスタ２５，ＲＡＭアクセス調停回路２６，ＲＡＭアクセス回路２７を備えた回路となっている。
【００１７】
このＲＡＭ制御回路２０内のＲＡＭアクセス調停回路２６，ＲＡＭアクセス回路２７は、それぞれ，既存のＲＡＭ制御回路内のＲＡＭアクセス調停回路，ＲＡＭアクセス回路を改良した回路（基本的な機能は同じ回路；改良点については後述する。）である。一方、ＲＡＭ制御回路２０内の他の各デバイス（レジスタ，回路）は、既存のＲＡＭ制御回路内に，対応するものが存在しないデバイスである。これらのデバイスは、以下の機能を有するものとなっている。
【００１８】
MINAddrレジスタ２３Ｌ，MAXAddrレジスタ２３Ｈは、それぞれ、最小アドレス，最大アドレス（いずれも、ＲＡＭのアドレス；詳細は後述）を記憶しておくためのレジスタである。各レジスタ２３は、接続制御回路１２の電源投入時等（後述するアドレス保持on/offレジスタ２１に"OFF"が設定されたとき）に、"ALL 0"が設定されるレジスタであると共に、ＣＰＵがアクセス可能なレジスタとなっている。
【００１９】
比較器２４Ｌは、“DMA_RAM_Addr（いずれかのＤＭＡ回路がアクセスしようとしているＲＡＭアドレス）＜最小アドレス（MINAddrレジスタ２３Ｌが保持しているＲＡＭアドレス）”が成立しているか否かを示す信号を出力する回路である。比較器２４Ｈは、“DMA_RAM_Addr＞最大アドレス（MANAddrレジスタ２３Ｈが保持しているＲＡＭアドレス）”が成立しているか否かを示す信号を出力する回路である。
【００２０】
アドレス保持on/offレジスタ２１は、接続制御回路１２の電源投入時に"OFF"（本実施形態では、“０”）が設定されるレジスタである。また、アドレス保持on/offレジスタ２１は、ＣＰＵが，その値を，"ON"（本実施形態では、“１”）或いは"OFF"に書換可能なレジスタとなっている。
【００２１】
レジスタ制御回路２２は、基本的には、最小アドレス（MINAddrレジスタ２３Ｌが保持しているアドレス）よりも小さいアドレスに対するライトアクセス要求がいずれかのＤＭＡ回路によって出されたとき（正確には、当該ライトアクセス要求が実際に処理されるとき）には、MINAddrレジスタ２３ＬにDMA_RAM_Addrを取り込ませ、最大アドレス（MAXAddrレジスタ２３Ｈが保持しているアドレス）よりも小さいアドレスに対するライトアクセス要求がいずれかのＤＭＡ回路によって出されたときには、MAXAddrレジスタ２３ＨにDMA_RAM_Addrを取り込ませる回路〔比較器２４Ｌからの信号，比較器２４Ｈからの信号及びDMA_RAM_CTL（ＤＭＡ回路からのコントロール信号）等に基づき，機能する回路〕である。ただし、レジスタ制御回路２２は、アドレス保持on/offレジスタ２１に"ON"が設定されたときに、動作を開始する回路となっている。さらに、レジスタ制御回路２２は、その動作の開始後、いずれかのＤＭＡ回路によって最初のライトアクセス要求が出された場合には、MINAddrレジスタ２３Ｌ，MAXAddrレジスタ２３Ｌの双方にDMA_RAM_Addrを取り込ませる回路となっている。
【００２２】
DMAWaitレジスタ２５は、ＣＰＵが，“１”或いは“０”を書き込み可能なレジスタである。そして、ＲＡＭ制御回路２０内のＲＡＭアクセス調停回路２６，ＲＡＭアクセス回路２７は、このDMAWaitレジスタ２５に“１”が設定されている場合には、DMAWaitレジスタ２５の値が“０”となるまで，ＲＡＭへの実際のライトアクセスをペンディングするように、既存のＲＡＭ制御回路内のＲＡＭアクセス調停回路，ＲＡＭアクセス回路を改良した回路となっている。
【００２３】
要するに、情報処理装置１０に用いられている接続制御回路１２（ＲＡＭ制御回路２０）は、アドレス保持on/offレジスタ２１に“on”を設定しておけば、MINAddrレジスタ２３Ｌ，MAXAddrレジスタ２３Ｈに、各ＤＭＡ回路によってデータが書き換えられたアドレスの最小値，最大値が記憶される回路となっている。
【００２４】
そして、本実施形態に係る情報処理装置１０は、ＣＰＵが、『接続制御回路１２（ＲＡＭ制御回路２０）のアドレス保持on/offレジスタ２１に“on”を設定した後、しばらくしてから（特定の処理が完了した後、ＲＡＭの或るアドレスにアクセスする必要が生じたときに）、読み出して、アクセスしようとしているＲＡＭアドレスが，接続制御回路１２内の最小アドレス及び最大アドレスが示しているアドレス範囲（最小アドレス〜最大アドレス）内のアドレスであるか否かを判断し、そうであった場合には、キャッシュメモリ上の最小アドレス〜最大アドレスに関するデータを無効化してからＲＡＭアクセスを行い、そうでなかった場合には、キャッシュメモリ上のいずれのデータも無効化することなくＲＡＭアクセスを行う処理』（必要である場合には、最小アドレス及び最大アドレスの読出前に、ＤＭＡ回路によるＤＭＡライトアクセスを停止させる処理）を，随時，実行するように、そのファームウェア（ＲＯＭ上のプログラム）を作成した装置となっている。
【００２５】
以上、説明したように、本実施形態に係るＲＡＭ制御回路２０は、一定期間（レジスタ制御回路２２を動作させた後、MINAddrレジスタ２３Ｌ，MAXAddrレジスタ２３Ｈの値を読み出すまで）の間に、幾つかのＤＭＡ回路によってデータが書き込まれたＲＡＭのアドレスの最小値，最大値が，それぞれ，最小アドレス（MINAddrレジスタ２３Ｌの値），最大アドレス（MAXAddrレジスタ２３Ｈの値）として記憶される回路となっている。
【００２６】
そして、本実施形態に係る情報処理装置１０は、これからアクセスしようとしているＲＡＭのアドレスが，ＲＡＭ制御回路２０（接続制御回路１２）内の最小アドレス〜最大アドレスの範囲内のものであった場合には、キャッシュメモリ上の，当該範囲内のデータのみを無効化する装置となっている。このため、情報処理装置１０は、上記した処理（上記した『』内の処理）の間に，１個のＤＭＡ回路によるＤＭＡライトアクセスが１回だけ行われた場合には、キャッシュメモリ上の，実際に書き換えられているデータのみが無効化される装置として機能し、上記処理の間に，幾つかのＤＭＡ回路による複数回のＤＭＡライトアクセスが行われた場合には、キャッシュメモリ上の，実際には書き換えられているデータが無効化されることはあるが、キャッシュメモリの無効化処理が行われる回数がより少ない装置として機能する装置（ＤＭＡライトアクセスが比較的に頻繁に行われるタイプ／ＲＡＭへのＤＭＡライトアクセスを行う複数のＤＭＡ回路を備えたタイプの，ＣＰＵ内のキャッシュメモリがより有効に利用されている情報処理装置）となっていると言うことが出来る。
【００２７】
《変形形態》
上記したＲＡＭ制御回路２０，情報処理装置１０は、各種の変形を行うことが出来る。例えば、ＲＡＭ制御回路２０を独立したＩＣに変形することが出来る。また、ＲＡＭ制御回路２０を、ＣＰＵも搭載されているＩＣ上の回路としておくことも出来る。さらに、ＲＡＭ制御回路２０を、幾つかのＤＭＡ回路毎に、MINAddrレジスタ２３Ｌ及びMAXAddrレジスタ２３Ｈが設けられている回路に変形することも出来る。
【００２８】
また、上記した情報処理装置１０は、いわゆるマルチファンクションプリンタであったが、情報処理装置１０を、マルチファンクションプリンタ以外の装置（印刷機能のみを有するプリンタ等）に変形しても良いことなどは、当然のことである。
【図面の簡単な説明】
【００２９】
【図１】本発明の一実施形態に係る情報処理装置の構成図。
【図２】実施形態に係る情報処理装置に使用されているＲＡＭ制御回路の構成図。
【符号の説明】
【００３０】
１０  情報処理装置、  １２  接続制御回路、  ２０  ＲＡＭ制御回路
２１  アドレス保持on/offレジスタ、  ２２  レジスタ制御回路
２３Ｈ  MAXAddrレジスタ、  ２３Ｌ  MINAddrレジスタ
２４Ｈ，２４Ｌ  比較器、  ２５  DMAWaitレジスタ
２６  ＲＡＭアクセス調停回路、  ２７  ＲＡＭアクセス回路
【図１】
2008276284.tif 000003
【図２】
2008276284.tif 000004