(57)【要約】【課題】  パイプラインアクセスをサポートするＣＰＵ等と組み合わせることにより、既存のアクセス制御回路を用いた場合よりも高速に動作する情報処理装置を実現することが出来るアクセス制御回路を、提供する。【解決手段】  アクセス制御回路１０を、ＣＰＵ５０から供給されているアクセス要求の中から、アクセスすべきデバイス（ＲＡＭ，ＲＯＭ等）及びそのデバイスに関するアクセス順依存デバイスとして定められている幾つかのデバイスがいずれもアクセス中でないという条件を満たす，ＣＰＵから最も過去に供給されたアクセス要求を特定し、そのアクセス要求が示している内容のアクセスをそのアクセス要求が示しているデバイスに対して行う処理を繰り返す回路として構成しておく。【選択図】  図１
2005284718.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと複数のデバイスとに接続されるアクセス制御回路において、
前記ＣＰＵから供給されたアクセス要求を複数個記憶可能なアクセス要求記憶手段と、
前記複数のデバイスのそれぞれに，前記複数のデバイスの中の他の幾つかのデバイスをアクセス順依存デバイスとして対応づける依存性情報を記憶した依存性情報記憶手段と、
前記依存性情報記憶手段に記憶されている依存性情報に基づき、前記アクセス要求記憶手段に記憶されている各アクセス要求を処理していくアクセス制御手段であって、アクセスすべきデバイス及びそのデバイスに関する各アクセス順依存デバイスがいずれもアクセス中ではないという処理開始条件が満たされている各アクセス要求については、そのアクセス要求が示している内容のアクセスを即座に開始し、前記処理開始条件が満たされていない各アクセス要求については、前記処理開始条件が満たされたときに、そのアクセス要求が示している内容のアクセスを開始するアクセス制御手段と
を備えることを特徴とするアクセス制御回路。
【請求項２】
前記依存性情報記憶手段が、外部からの指示により、前記依存性情報の書き換えが可能な手段である
ことを特徴とする請求項１記載のアクセス制御回路。
【請求項３】
前記アクセス制御手段がリードアクセス要求を処理した結果として得られた各データを、対応するリードアクセス要求の前記ＣＰＵからの供給順通りに前記ＣＰＵに供給するデータ供給手段を、さらに、備える
ことを特徴とする請求項１又は請求項２に記載のアクセス制御回路。
【請求項４】
前記アクセス制御手段が、
それぞれ、特定の１つ以上のデバイスへのアクセスが可能な複数のインタフェース回路と、前記複数のインタフェース回路とそれぞれバスにより接続されたスケジューラ回路とを含む手段である
ことを特徴とする請求項１乃至請求項３のいずれかに記載のアクセス制御回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＰＵと複数のデバイスとを接続するためのアクセス制御回路に、関する。
【背景技術】
【０００２】
周知のように、印刷装置等の情報処理装置は、ＣＰＵと、ＣＰＵが利用する複数のデバイスとの間に、ＣＰＵと各デバイスとを接続するための回路（以下、アクセス制御回路）が設けられた装置となっている。また、近年のＣＰＵの大部分は、パイプラインアクセスをサポートするもの（アクセス制御回路に対して或るアクセス要求を発行後、そのアクセス要求の処理が完全に完了する前に、次のアクセス要求をアクセス制御回路に対して発行するもの）となっている。
【０００３】
そして、パイプラインアクセスをサポートするＣＰＵ用の既存のアクセス制御回路は、いずれも、或るアクセス要求の処理が完全に完了する前にアクセス要求を受け付けることは可能な回路であって、或るアクセス要求の処理が完全に完了してから次のアクセス要求の処理を開始する回路となっている。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明の課題は、パイプラインアクセスをサポートするＣＰＵ等と組み合わせることにより、既存のアクセス制御回路を用いた場合よりも高速に動作する情報処理装置を実現することが出来るアクセス制御回路を、提供することにある。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明では、ＣＰＵと複数のデバイスとに接続されるアクセス制御回路を、ＣＰＵから供給されたアクセス要求を複数個記憶可能なアクセス要求記憶手段と、複数のデバイスのそれぞれに，複数のデバイスの中の他の幾つかのデバイスをアクセス順依存デバイスとして対応づける依存性情報を記憶した依存性情報記憶手段と、依存性情報記憶手段に記憶されている依存性情報に基づき、アクセス要求記憶手段に記憶されている各アクセス要求を処理していくアクセス制御手段であって、アクセスすべきデバイス及びそのデバイスに関する各アクセス順依存デバイスがいずれもアクセス中ではないという処理開始条件が満たされている各アクセス要求については、そのアクセス要求が示している内容のアクセスを即座に開始し、処理開始条件が満たされていない各アクセス要求については、処理開始条件が満たされたときに、そのアクセス要求が示している内容のアクセスを開始するアクセス制御手段とを備えることを特徴とするアクセス制御回路。
【０００６】
すなわち、本発明のアクセス制御回路は、或るアクセス要求の処理（或るデバイスに対するアクセス）が完全に完了する前に他のアクセス要求の処理を開始することが可能な構成を、有する。このため、或るデバイスａに対するアクセス要求ａと、他のデバイスｂ（デバイスａのアクセス順依存デバイスとして定められていないもの）に対するアクセス要求ｂとが連続的にＣＰＵにより発行された場合、本アクセス制御回路では、デバイスａに対するアクセスとデバイスｂに対するアクセスがほぼ同時に開始されることになり、その結果として、デバイスａ及びデバイスｂに対するアクセスが、デバイスａに対するアクセスに要する時間Ｔａがデバイスｂに対するアクセスに要する時間Ｔｂよりも長い場合には、ほぼ時間Ｔａで完了し、時間Ｔｂが時間Ｔａよりも長い場合には、ほぼ時間Ｔｂで完了することになる。そして、従来のアクセス制御回路によりデバイスａ及びデバイスｂに対するアクセスが完了するのに要する時間は、Ｔａ＋Ｔｂであるので、本発明のアクセス制御回路は、パイプラインアクセスをサポートするＣＰＵ等と組み合わせることにより、既存のアクセス制御回路を用いた場合よりも高速に動作する情報処理装置を実現することが出来るものとなっていると言うことが出来る。
【０００７】
本発明のアクセス制御回路を実現する際には、依存性情報記憶手段を、外部（アクセス制御回路外）から、依存性情報の書き換えが可能な手段としておくことが望ましい。
【０００８】
何故ならば、本発明のアクセス制御回路のような回路（ＣＰＵと複数のデバイスとを接続するための回路）は、アクセスを行うデバイスの中に、連携して動作するデバイス（アクセス順を変えてしまうと問題が生ずることがあるデバイス）が含まれる形で使用されるものである。ただし、デバイスが他のデバイスと連携して動作するか否かは、デバイスの種類によって決まるものではなく、各デバイスの実際の用途（ＣＰＵに実行させるプログラムの内容）により決まるものであるので、上記構成を採用することによって、本発明のアクセス制御回路をアクセス順を変えないデバイス群を指定できるものとしておくことが望ましい。
【０００９】
なお、本発明のアクセス制御回路を、リードアクセス要求を処理可能なものとして実現する際には、アクセス制御手段がリードアクセス要求を処理した結果として得られた各データを、対応するリードアクセス要求のＣＰＵからの供給順通りにＣＰＵに供給するデータ供給手段を、付加しておくことが必要である。
【発明を実施するための最良の形態】
【００１０】
以下、本発明を実施するための最良の形態を、図面を参照して詳細に説明する。
【００１１】
図１に、本発明の一実施形態に係るアクセス制御回路１０の構成及び使用形態を示す。
【００１２】
図示してあるように、本実施形態に係るアクセス制御回路１０は、アドレスバッファ２１，ＣＰＵバスサイクルコントローラ２２，入力データバッファ２３，バスサイクルスケジューラ２５，依存関係値記憶回路２６，出力データバッファ２７，セレクタ３１〜３４，ＲＡＭ用Ｉ／Ｆコントローラ４１，Ｉ／Ｏ＆ＲＯＭ用Ｉ／Ｆコントローラ４２，印刷エンジン用Ｉ／Ｆコントローラ４３，画像生成回路用Ｉ／Ｆコントローラ４４，圧縮伸張回路用Ｉ／Ｆコントローラ４５，レジスタコントローラ４６等を、備えた回路（ＡＳＩＣ）である。また、アクセス制御回路１０は、印刷装置を製造するために、パイプラインアクセスをサポートするＣＰＵ５０，印刷エンジン等と組み合わされる回路となっている。
【００１３】
このアクセス制御回路１０が備えるＩ／Ｆコントローラ４１〜４５は、いずれも、自回路と接続されているＲＡＭ，ＲＯＭ等を実際に制御するための回路である。また、レジスタコントローラ４６は、アクセス制御回路１０内に設けられている各種レジスタ（依存関係値記憶回路２６を構成しているレジスタ群（詳細は後述）と、図示していない他のレジスタ群）の内容を書き換えるための回路である。以下、説明の便宜上、これらのコントローラ４１〜４６のことを、いずれも、デバイスコントローラと表記し、各デバイスコントローラによって制御されるＲＡＭ，ＲＯＭ等のことを、アクセス対象デバイスと表記することにする。
【００１４】
アドレスバッファ２１は、ＣＰＵ５０から供給された（アドレスバスから取り込んだ）アドレス／コマンドをｍ個まで記憶することが可能な回路（メモリ）である。入力データバッファ２３は、ＣＰＵ５０から供給された（データバスから取り込んだ）データをｍ個まで記憶することが可能な回路（メモリ）である。ＣＰＵバスサイクルコントローラ２２は、ＣＰＵ５０から供給された（制御バスから取り込んだ）制御信号に基づき、アドレスバッファ２１にアドレスを取り込ませるための制御やデータバッファ２３にデータを取り込ませるための制御などを行う回路である。
【００１５】
セレクタ３１は、アドレスバッファ２１に記憶されている任意のアドレスを、任意のデバイスコントローラ（コントローラ４１〜４６のいずれか）に供給することが可能な回路である。セレクタ３２は、入力データバッファ２３に記憶されている任意のデータを、任意のデバイスコントローラに供給することが可能な回路である。
【００１６】
出力データバッファ２７は、デバイスコントローラがアクセス対象デバイスから取得したデータを６個まで記憶することが可能な回路（メモリ）である。セレクタ３３及び３４は、出力データバッファ２７とセレクタ３３とセレクタ３４とからなる回路を、任意のデバイスコントローラからのデータをそのまま（出力データバッファ２７に一旦記憶させることなく）データバス上に出力することや、デバイスコントローラからのデータを出力データバッファ２７に一旦記憶させた後、出力データバッファ２７への記憶順とは異なる順番でデータバス上に出力することが可能なものとして機能させるための回路である。
【００１７】
依存関係値記憶回路２６は、３ビットの情報である依存関係値（詳細は後述）を記憶可能な６個の依存関係値レジスタを備えた回路である。また、この依存関係値記憶回路２６が備える各依存関係値レジスタは、アクセス制御回路１０内に設けられている特定のデバイスコントローラ，及び、そのデバイスコントローラによって制御されるアクセス対象デバイスに対応づけられたものとなっている。なお、アクセス制御回路１０は、各依存関係値レジスタに初期値として同じ依存関係値（本実施形態では、"000"）が設定されている回路であると共に、通常は、実際の利用に先駆けて各依存関係値レジスタ内の依存関係値が書き換えられる形で印刷装置内に組み込まれる回路となっている。
【００１８】
バスサイクルスケジューラ２５は、依存関係値記憶回路２６内の各依存関係値レジスタに記憶された依存関係値を参照して、ＣＰＵ５０からアクセス制御回路１０が受け取った各アクセス要求（ＣＰＵバスサイクルコントローラ２２がＣＰＵ５０から受け取った情報，アドレスバッファ２１に記憶されたアドレス等）を実際に処理する回路である。
【００１９】
このバスサイクルスケジューラ２５は、本アクセス制御回路１０を、ＣＰＵ５０から受け取ったアクセス要求を以下のような手順で処理する回路として動作させるものとなっている。なお、以下では、或るアクセス対象デバイスに対応づけられている依存関係値レジスタに記憶されている依存関係値のことを、「アクセス対象デバイスに関する依存関係値」や「アクセス対象デバイスの依存関係値」と表記する。
【００２０】
すなわち、アクセス制御回路１０は、処理中のアクセス要求（処理が未完了のアクセス要求）がない状態で、ＣＰＵ５０からアクセス要求を受け取った場合には、即座に、そのアクセス要求に応答するための処理を開始する。
【００２１】
一方、処理中のアクセス要求がある状態でＣＰＵ５０からアクセス要求を受け取った場合、アクセス制御回路１０は、そのアクセス要求の処理を開始するか否かを判定するために、そのアクセス要求にてアクセスが要求されているアクセス対象デバイスと依存関係値が等しい各アクセス対象デバイスからなるグループ（当該アクセス要求にてアクセスが要求されているアクセス対象デバイスを含む１個以上のアクセス対象デバイスからなるグループ；以下、処理開始可否判定対象デバイスグループと表記する）の中に、アクセス中のものが含まれていないという処理開始可能条件が満たされているか否かを、判断する。
【００２２】
そして、アクセス制御回路１０は、処理開始可能条件が満たされていた場合には、処理開始可能条件が満たされていることを確認したアクセス要求の処理を実際に開始する。逆に、処理開始可能条件が満たされていなかった場合、アクセス制御回路１０は、当該アクセス要求の処理を開始せずに、ＣＰＵ５０から他のアクセス要求を受け取っているか否かを判断する。そして、アクセス制御回路１０は、ＣＰＵ５０から既に幾つかのアクセス要求を受け取っていた場合には、当該幾つかのアクセス要求の中の最も過去に受け取ったアクセス要求に対して上記したものと同じ内容の処理を行う。また、アクセス制御回路１０は、ＣＰＵ５０から他のアクセス要求を受け取っていなかった場合には、ＣＰＵ５０から新たなアクセス要求を受け取ることと、アクセス中であったアクセス対象デバイスに対するアクセスが完了することとを、監視する状態となる。そして、アクセス制御回路１０は、或るアクセス対象デバイスに対するアクセスが終了した場合には、そのアクセス対象デバイスと依存関係値が等しいアクセス対象デバイスに対するアクセス要求を既に受け取っているか否か（処理開始可能条件が満たされていなかったため、処理を開始しなかったアクセス要求の中に、アクセスが完了したアクセス対象デバイスと依存関係値が等しいアクセス対象デバイスに対するものがあるか否か）を判断し、そのような幾つかのアクセス要求を受け取っていた場合には、当該幾つかのアクセス要求の中の最も過去に受け取ったアクセス要求の処理を開始する。
【００２３】
さらに、アクセス制御回路１０は、アクセス対象デバイスからのデータをＣＰＵ５０に渡す必要がある各アクセス要求については、出力データバッファ２７とセレクタ３３とセレクタ３４とからなる回路を利用して、アクセス要求の受け取り順通りにデータがＣＰＵ５０に渡されるようにするための処理も、行う。
【００２４】
要するに、本実施形態に係るアクセス制御回路１０は、６個の依存関係値（本発明の依存性情報に相当）によって、アクセス対象デバイスが６個のグループに分類されている状態では、各グループ用の，独立して動作する６個のアクセス制御回路（自身に対応づけられている各アクセス対象デバイスに対するアクセス要求のみを受け付けて各アクセス対象デバイスにアクセスする回路）と、ＣＰＵ５０へのデータの返送順を調整するための回路とを含む回路として機能するものとなっている。
【００２５】
すなわち、依存関係値によってアクセス対象デバイスが６個のグループに分類されている状態にあるアクセス制御回路１０は、或るアクセス要求の処理（或るアクセス対象デバイスに対するアクセス）が完全に完了する前に他のアクセス要求の処理を開始することが可能である分、或るアクセス要求の処理が完全に完了した後に次のアクセス要求の処理を開始する従来のアクセス制御回路よりも高速にアクセス要求を処理できる回路となっている。
【００２６】
ただし、このアクセス制御回路１０のように、アクセスする複数のアクセス対象デバイスの中に、連携して動作するアクセス対象デバイスが含まれる形で使用される回路では、通常、ＣＰＵ５０が発行するアクセス要求の中に、同一のアクセス対象デバイスに対するもの（同一のデバイスコントローラを利用するもの）ではないが、ＣＰＵ５０が既に発行したアクセス要求に対する処理の完了後に処理しないと問題が生じてしまうアクセス要求が、含まれる。
【００２７】
このため、本実施形態に係るアクセス制御回路１０は、各依存関係値の書き換えが可能なように（依存関係値によって、アクセス対象デバイスをＮ（≦６）個のグループに分類できるように）構成されているのである。なお、このアクセス制御回路１０を用いて印刷装置を設計，製造する際には、ＣＰＵ５０に実行させるために用意したファームウェアを解析すること（或いは、実際に印刷装置を製造して動作させる）により、アクセス対象デバイスをアクセス順が関係するグループに分類する作業（アクセス順が関係するアクセス対象デバイス群を特定する作業）が行われる。そして、そのファームウェアが、印刷装置の起動時に、各依存関係値レジスタに当該作業結果に応じた依存関係値を設定する処理が行われるものに改良されることにより、印刷装置が設計，製造される。
【００２８】
＜変形形態＞
上記したアクセス制御回路１０は、各種の変形を行うことが出来る。例えば、アクセス制御回路１０を、アクセス順の依存性に関する，より詳細な情報（例えば、アクセス対象デバイスａのアクセス中に、アクセス対象デバイスｂのアクセスは可能であるが、アクセス対象デバイスｂのアクセス中に、アクセス対象デバイスｂのアクセスは不可能といったことを示す情報）に基づき動作するものに変形することが出来る。また、依存関係値の書き換えが行えないものにアクセス制御回路１０を変形しておいても良い。
【００２９】
また、アクセス制御回路１０を、印刷装置以外の情報処理装置用のものに変形しても良いことや、アクセス制御回路１０を、上記したものとは異なるアクセス対象デバイスに接続されるものに変形しても良いことなどは、当然のことである。
【図面の簡単な説明】
【００３０】
【図１】本発明の一実施形態に係るアクセス制御回路の構成及び使用形態の説明図。
【符号の説明】
【００３１】
１０  アクセス制御回路、  ２１  アドレスバッファ
２２  ＣＰＵバスサイクルコントローラ、  ２３  入力データバッファ
２５  バスサイクルスケジューラ、  ２６  依存関係値記憶回路
２７  出力データバッファ、  ３１〜３４  セレクタ
４１  ＲＡＭ用Ｉ／Ｆコントローラ、  ４２  Ｉ／Ｏ＆ＲＯＭ用Ｉ／Ｆコントローラ
４３  印刷エンジン用Ｉ／Ｆコントローラ、
４４  画像生成回路用Ｉ／Ｆコントローラ
４５  圧縮伸張回路用Ｉ／Ｆコントローラ、  ４６  レジスタコントローラ
５０  ＣＰＵ
【図１】
2005284718.tif 000003