(57)【要約】【課題】ＰＲＰリストによるメモリの消費を低減する。【解決手段】画像処理装置１００は、ＰＲＰリストを格納するＳＲＡＭ１３９と、外部記憶装置１４０から読み出したデータをメインメモリ１０３に格納するための仮想アドレスを生成するアドレス生成回路１３０と、を備え、アドレス生成回路１３０は、複数のアドレスを単一のＰＲＰリストに割り当てると共に、アドレスが指示された場合に指示された指定アドレスに対応するＰＲＰリストに含まれる開始アドレスと指定アドレスに応じた加算アドレスとに基づいて仮想アドレスを生成する。【選択図】図１
2018077564.tif 000002
【特許請求の範囲】
【請求項１】
バスを介してアクセス可能なメインメモリと、外部記憶装置が接続されるＰＣＩｅインターフェースを有すると共に該ＰＣＩｅインターフェースを制御するコントローラと、を備え、前記外部記憶装置に記憶されたデータを読み出して、ＮＶＭｅコマンド規格に従って前記メインメモリに格納する情報処理装置であって、
ＰＲＰリストを格納するリスト格納メモリと、
前記外部記憶装置から読み出したデータを前記メインメモリに格納するための仮想アドレスを生成する仮想アドレス生成手段と、を備え、
前記仮想アドレス生成手段は、複数のアドレスを単一のＰＲＰリストに割り当てると共に、前記アドレスの一つが指示された場合に指示された指定アドレスに対応するＰＲＰリストに含まれる開始アドレスと指定アドレスに応じた加算アドレスとに基づいて前記仮想アドレスを生成することを特徴とする情報処理装置。
【請求項２】
前記仮想アドレス生成手段は、
前記複数のアドレスを前記単一のＰＲＰリストに割り当てるアドレス割当手段と、
前記指定アドレスに対応するＰＲＰリストと前記加算アドレスとを求める指定アドレス解析手段と、
求められたＰＲＰリストに含まれる前記開始アドレスと前記加算アドレスとに基づいて前記仮想アドレスを算出する仮想アドレス算出手段と、を備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
データのリードリクエストに基づいて前記仮想アドレス生成手段に前記指定アドレスを指示する指定アドレス指示手段を備え、
前記指定アドレス指示手段は、直前のリードリクエストにおいて未使用の指定アドレスからカウントアップすることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記指定アドレス指示手段は、一のＰＲＰリストによって表現されるメインメモリの連続する一領域に一のリードリクエストに基づくデータの全部を格納できない場合、他のＰＲＰリストに割り当てられている指定アドレスを指示することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
データのリードリクエストに基づいて前記仮想アドレス生成手段に前記指定アドレスを指示する指定アドレス指示手段を備え、
前記指定アドレス指示手段は、一のリードリクエストに対して一のＰＲＰリストを割り当てるように前記指定アドレスを指示することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項６】
画像データ又は音声データを処理する処理ユニットと、
前記メインメモリ上の前記仮想アドレスに格納されたデータを取得して、前記処理ユニットに出力するように制御するサブＣＰＵと、を備えることを特徴とする請求項１乃至５の何れか一項に記載の情報処理装置。
【請求項７】
請求項１乃至６の何れか一項に記載の情報処理装置と、ＰＣＩｅインターフェースと接続する外部記憶装置と、を備えることを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像や音声等のデータを処理する情報処理装置、及び情報処理システムに関し、特にＰＣＩ  Ｅｘｐｒｅｓｓ接続のＳＳＤを利用する場合に用いるＰＲＰリストによるメモリの消費を低減することが可能な情報処理装置、及び情報処理システムに関するものである。
【背景技術】
【０００２】
ＣＰＵ（Central Processing Unit）の処理速度が増大するにつれてコンピュータ等の情報処理装置の処理速度は高速化し、また高速のＣＰＵを有効に活用するため、情報処理装置とそれに接続する周辺デバイスとの間のデータ転送のインターフェースも高速データ転送が可能なものが開発されている。
高速データ転送が可能なインターフェースの規格の１つにＰＣＩｅ（PCI Express）があり、ＰＣＩｅ接続のＳＳＤ（Solid State Drive）のコマンド規格としてＡＨＣＩ（Advanced Host Controller Interface）やＮＶＭｅ（Non-Volatile Memory Express）がある。特に後者はキューに発行できるコマンド数がＡＨＣＩに比べて拡張されていることから、ＳＳＤの性能を最大限に発揮させることができる規格として、今後、急速な普及が予想される。
ここで、ＮＶＭｅにおいては、メインメモリを介してデータやコマンドの受け渡しが行われる。図１１（ａ）、（ｂ）は、ＮＶＭｅ規格におけるデータの転送方法について説明するための模式図である。ＮＶＭｅ規格では、例えばデータの転送先となるメインメモリ上に夫々４ＫＢ（キロバイト）からなる複数の小領域を確保し、各小領域の先頭アドレスを夫々８バイトのＰＲＰ（Physical Region Page）リストにより管理する。
【０００３】
例えばメインメモリ上に合計１ＭＢ（１、０４８、５７６バイト）の記憶領域を確保する場合は、４ＫＢ（４、０９６バイト）の小領域を２５６個確保し、これらの小領域を２５６個のＰＲＰリストにより管理する。ＰＲＰリストを用いることにより、汎用ＰＣ（Personal Computer）等、メインメモリ上に連続する大きな領域を確保することが困難な場合であっても、メインメモリにデータを分散して格納することができる（図１１（ａ））。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】ＮＶＭ  Ｅｘｐｒｅｓｓ  Ｒｅｖｉｓｉｏｎ  １．２．１  （Ｊｕｎｅ  ５、２０１６）（１．４  Ｔｈｅｏｒｙ  ｏｆ  Ｏｐｅｒａｔｉｏｎ、７．２．５  Ｃｏｍｍａｎｄ  Ｅｘａｍｐｌｅｓ等）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一方、パチンコ機やパチスロ機をはじめとする遊技機等に実装される画像処理装置においても、近年は表示すべきコンテンツのデータ量が大きくなっていることから、コンテンツデータの格納手段としてＳＳＤの活用が高まっており、ＳＳＤのインターフェースとしてＰＣＩｅを採用したものも導入されつつある。
【０００６】
遊技機等に実装される画像処理装置がＰＣＩｅ接続のＳＳＤを利用しようとする場合、汎用ＰＣ等とは異なり、メインメモリ上に大きな連続領域を確保することは容易である。しかし、ＮＶＭｅの規格上、ＰＲＰリストを用いてメインメモリ上の記憶領域を管理しなければならならない（図１１（ｂ））。仮に、メインメモリ上の１ＭＢの連続領域を管理するためには、ＰＲＰリストのために２ＫＢ（８バイト×２５６個＝２、０４８バイト）のメモリ領域を消費することとなり、無駄が発生する。
本発明は上述の事情に鑑みてなされたものであり、ＰＲＰリストによるメモリの消費を低減することを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、請求項１に記載の発明は、バスを介してアクセス可能なメインメモリと、外部記憶装置が接続されるＰＣＩｅインターフェースを有すると共に該ＰＣＩｅインターフェースを制御するコントローラと、を備え、前記外部記憶装置に記憶されたデータを読み出して、ＮＶＭｅコマンド規格に従って前記メインメモリに格納する情報処理装置であって、ＰＲＰリストを格納するリスト格納メモリと、前記外部記憶装置から読み出したデータを前記メインメモリに格納するための仮想アドレスを生成する仮想アドレス生成手段と、を備え、前記仮想アドレス生成手段は、複数のアドレスを単一のＰＲＰリストに割り当てると共に、前記アドレスの一つが指示された場合に指示された指定アドレスに対応するＰＲＰリストに含まれる開始アドレスと指定アドレスに応じた加算アドレスとに基づいて前記仮想アドレスを生成することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ＰＲＰリストによるメモリの消費を低減することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態に係る画像処理装置を示すハードウェアブロック図である。
【図２】アドレス生成回路の構成を示す機能ブロック図である。
【図３】（ａ）、（ｂ）は、メインメモリに確保される領域の一例を示す模式図である。
【図４】第一のアドレスの割当例を説明する図である。
【図５】第二のアドレスの割当例を説明する図である。
【図６】第三のアドレスの割当例を説明する図である。
【図７】第四のアドレスの割当例を説明する図である。
【図８】第五のアドレスの割当例を説明する図である。
【図９】画像処理装置の起動時の動作を示すシーケンス図である。
【図１０】画像データの読み出し時の画像処理装置の動作を示すシーケンス図である。
【図１１】（ａ）、（ｂ）は、ＮＶＭｅ規格におけるデータの転送方法について説明するための模式図である。
【発明を実施するための形態】
【００１０】
本発明は、ＮＶＭｅコマンド規格の下でＰＣＩｅインターフェースの記憶装置（例：ＳＳＤ；Solid State Drive）を外部記憶装置として利用する場合に、ＮＶＭｅコマンド規格に定義されたＰＲＰリストの機能を拡張して使用するものである。
ここで、ＮＶＭｅコマンド規格においては、夫々のＰＲＰリストによってメインメモリ上の１つの小領域（例えば４ＫＢ）を表現する。
本発明においては、夫々のＰＲＰリストによってメインメモリ上の連続する複数の小領域を表現する点に特徴がある。具体的には、メインメモリ上の連続する領域の先頭に位置する開始アドレスをポインタ情報としてＰＲＰリストに保持させる。開始アドレスに対して小領域のサイズに応じた加算アドレス（例えば、４ＫＢ、８ＫＢ、１６ＫＢ…）を加算した仮想アドレスを順次生成することにより、１つのＰＲＰリストでメインメモリ上の連続した複数の小領域群を表現する。
以下、本発明を図に示した実施形態を用いて詳細に説明する。但し、この実施形態に記載される構成要素、種類、組み合わせ、形状、その相対配置などは特定的な記載がない限り、この発明の範囲をそれのみに限定する主旨ではなく単なる説明例に過ぎない。
【００１１】
〈画像処理装置〉
図１は、本発明の一実施形態に係る画像処理装置を示すハードウェアブロック図である。
画像処理装置１００は、メインＣＰＵ（Central Processing Unit）１０１、メインメモリ１０３、ＧＰＵ（Graphics Processing Unit）１０５（画像処理ユニット）、表示装置１１１、及び、ＣＧＲＯＭ（Character Generator ROM）コントローラ１２０を備える。メインＣＰＵ１０１、メインメモリ１０３、ＧＰＵ１０５、及びＣＧＲＯＭコントローラ１２０は、メインバス１５１により接続されている。また、画像処理装置１００は、外部記憶装置１４０が接続されるＰＣＩｅインターフェースを備えており、画像処理装置１００と外部記憶装置１４０とによって画像処理システム（情報処理システム）が構成される。画像処理装置１００は、外部記憶装置１４０に記憶されたデータをＮＶＭｅコマンド規格に従ってメインメモリ１０３に格納する。
【００１２】
メインＣＰＵ１０１は、ＧＰＵ１０５を含む画像処理装置１００の全体を制御する処理装置である。
メインメモリ１０３は、画像処理装置１００の各部がメインバス１５１を介してアクセス可能な揮発性の記憶手段である。メインメモリ１０３は、メインＣＰＵ１０１が作成したコマンドリスト、ディスプレイリスト、外部記憶装置１４０から読み出された画像データ、及びＧＰＵ１０５が描画した画像データ等を格納する。メインメモリ１０３は大容量の、例えばＤＤＲ（Double-Data-Rate）３メモリ等から構成される。
ＧＰＵ１０５は画像処理専用の処理装置であり、描画回路１０７、及び表示回路１０９を備える。描画回路１０７は、メインＣＰＵ１０１から供給されるディスプレイリストに基づいて画像を描画する回路である。表示回路１０９は、描画回路１０７が描画した画像を表示装置１１１に表示させる回路である。
表示装置１１１は画像を表示する手段であり、ＬＣＤ（Liquid Crystal Display）等から構成される。
【００１３】
ＣＧＲＯＭコントローラ１２０は、ＰＣＩｅインターフェースを制御する。具体的には、ＣＧＲＯＭコントローラ１２０は、ＮＶＭｅコマンド規格に従って、ＰＣＩｅインターフェースにより接続された外部記憶装置１４０からのデータ読み込み及び読み出したデータのメインメモリ１０３への書き込みを制御する。
ＣＧＲＯＭコントローラ１２０は、ｃｇｂＩ／Ｆ１２１、サブＣＰＵ１２３（指定アドレス指示手段）、ＰＣＩｅＲＣ・ＩＰ１２５、及びアドレス記憶ユニット１２９を備える。ｃｇｂＩ／Ｆ１２１、サブＣＰＵ１２３、ＰＣＩｅＲＣ・ＩＰ１２５、及びアドレス記憶ユニット１２９は、ＣＧＲＯＭコントローラ１２０内の各部を接続する内部バス１５３により接続されている。
【００１４】
ｃｇｂＩ／Ｆ１２１は、メインバス１５１と内部バス１５３との間を接続するインターフェースである。
サブＣＰＵ１２３は、ＣＧＲＯＭコントローラ１２０の全体を制御する処理装置である。サブＣＰＵ１２３は、ＮＶＭｅ規格のフォーマットに従ったコマンドリストをＲＣ・ＩＰ１２５を介して外部記憶装置１４０に出力する。
ＰＣＩｅＲＣ・ＩＰ１２５は、ＰＣＩｅ（PCI Express）のルートコンプレックスＩＰ（Root Complex IP）である（以下、単に「ＲＣ・ＩＰ」と表記する）。ＲＣ・ＩＰ１２５は、外部記憶装置１４０（指定アドレス指示手段）を接続するＰＣＩｅインターフェースを有したコントローラであり、ＰＣＩｅインターフェースを制御する。また、ＲＣ・ＩＰ１２５は、外部記憶装置１４０に対するデータのリードリクエストを中継するブリッジとして機能する。したがって、サブＣＰＵ１２３からのコマンドリストはＲＣ・ＩＰ１２５を介して外部記憶装置１４０に出力され、外部記憶装置１４０のコントローラ（図示省略）によってリクエストされたリードデータが読み出され、また読み出したデータのメインメモリ１０３への格納先情報は外部記憶装置１４０のコントローラがＲＣ・ＩＰ１２５を介してアドレス記憶ユニット１２９から入手する。
【００１５】
アドレス記憶ユニット１２９は、ＲＣ・ＩＰ１２５が外部記憶装置１４０から読み出したデータをメインメモリ１０３へ書き込む際のデータの格納場所に関する情報を提供する手段である。アドレス記憶ユニット１２９の詳細については後述する。
外部記憶装置１４０はＲＣ・ＩＰ１２５にＰＣＩｅ接続するＳＳＤ等の不揮発性記憶装置であり、ＧＰＵ１０５が描画する画像のコンテンツデータを格納する。
【００１６】
なお、メインバス１５１と内部バス１５３は、インターコネクトモジュール（ＩＣＭ１５５）によっても接続されている。ここで、描画回路１０７とｃｇｂＩ／Ｆ１２１はマスタとスレーブの関係にあり、描画回路１０７からＣＧＲＯＭコントローラ１２０へのリクエストとこれに対する応答はｃｇｂＩ／Ｆ１２１を介して送受される。例えば、描画回路１０７からｃｇｂＩ／Ｆ１２１を介してサブＣＰＵ１２３に出力されたリードリクエストに対するレスポンスは、ｃｇｂＩ／Ｆ１２１から描画回路１０７に返される。しかし、他のデータのやり取り（例えばＲＣ・ＩＰ１２５によるメインメモリ１０３へのデータの書き込みや、サブＣＰＵ１２３によるメインメモリ１０３からのデータの読み込み）はＲＣ・ＩＰ１２５がマスタ、メインメモリ１０３がスレーブとなるので、ＩＣＭ１５５を介して実行される。
【００１７】
〈アドレス記憶ユニット〉
図１に示すようにアドレス記憶ユニット１２９は、アドレス生成回路１３０（仮想アドレス生成手段）、及びＳＲＡＭ（Static Random Access Memory：ＰＲＰリスト格納メモリ）１３９を備える。アドレス生成回路１３０は、外部記憶装置１４０から読み出したデータをメインメモリ１０３に格納するための仮想アドレスを生成する。
図２は、アドレス生成回路の構成を示す機能ブロック図である。
アドレス生成回路１３０は、アドレス割当部１３１（アドレス割当手段）、ＰＲＰリスト開始アドレス記憶部１３３、指定アドレス解析部１３５（指定アドレス解析手段）、及び、仮想アドレス算出部１３７（仮想アドレス算出手段）を備える。
アドレス割当部１３１は、複数の指定アドレスを１つのＰＲＰリスト（１つの開始アドレス）に割り当てる手段である。ＰＲＰリスト開始アドレス記憶部１３３は、ＳＲＡＭ１３９から読み出した開始アドレスの１つを一時的に記憶する手段である。指定アドレス解析部１３５は、指定アドレスから、指定アドレスに対応する開始アドレスを記憶しているＳＲＡＭのアドレスと、指定アドレスに対応する加算アドレスを求める手段である。仮想アドレス算出部１３７は、指定アドレスに対応する開始アドレスと加算アドレスとに基づいて仮想アドレスを算出する手段である。
ＳＲＡＭ１３９は、アドレス生成回路１３０から高速アクセス可能な揮発性メモリであり、メインメモリ１０３に設けた複数のデータ格納用の領域について、夫々の開始アドレス（ＰＲＰリスト）を格納する。
【００１８】
〈アドレスの割り当て例１〉
ＣＧＲＯＭコントローラによるアドレスの割り当て例について説明する。ここでは、メインメモリに夫々連続した１ＭＢからなる４つの領域（領域０，１，２，３）を確保できる場合の例により説明する。
図３（ａ）、（ｂ）は、メインメモリに確保される領域の一例を示す模式図である。メインメモリに確保する各領域０〜３は、図３（ａ）に示すように互いに連続した領域であってもよいし、図３（ｂ）に示すように互いに連続していない領域であってもよい。
【００１９】
図４は、第一のアドレスの割り当て例を説明する図である。
「指定アドレス」は、サブＣＰＵ１２３から出力されるコマンドリストに含まれ、外部記憶装置１４０がＲＣ・ＩＰ１２５を介してアドレス記憶ユニット１２９から読み出す情報が格納されている場所を示す。具体的には、指定アドレスは、アドレス生成回路１３０内のアドレスであって、情報が格納されている領域の先頭アドレスである。ＲＣ・ＩＰ１２５を介して外部記憶装置１４０がアドレス記憶ユニット１２９から読み出す情報とは、外部記憶装置１４０が読み出したデータのメインメモリへの格納場所を示す仮想アドレスである。
「ＳＲＡＭのアドレス」は、指定アドレスに対応するメインメモリの「開始アドレス」を格納しているＳＲＡＭ１３９内のアドレスを示す。
メインメモリの「開始アドレス」は、メインメモリ１０３上に確保した各領域０〜３の先頭に位置するアドレスを示す情報（データ）であり、夫々８バイトからなる。メインメモリの開始アドレスはＮＶＭｅ規格に定義されているＰＲＰリスト（非特許文献１、4.3 Physical Region Page Entry and List）そのものである。本例では、メインメモリ１０３の一つの領域として１ＭＢを割り当てていると共に、メモリページサイズを４ＫＢに設定したので、１つの開始アドレスに対して夫々２５６個の指定アドレスが付与され、メインメモリ１０３の１ＭＢの領域を管理することができる。
なお、本明細書では、説明の便宜上、夫々のメインメモリの開始アドレスに「ＰＲＰリスト番号」を付して、「ＰＲＰリスト＃０」、「ＰＲＰリスト＃１」…のようにも表記する。
【００２０】
「加算アドレス」は、アドレス生成回路１３０の仮想アドレス算出部１３７が開始アドレスに対して加算することにより「仮想アドレス」を算出するためのものである。１つの指定アドレスに対しては、１つの開始アドレスと１つの加算アドレスが対応づけられており、開始アドレスに対して加算アドレスを加算することにより、指定アドレスに１対１で対応した仮想アドレスが算出される。なお、加算アドレスは、各仮想アドレス間のステップが一定となるように設定されており、仮想アドレスは開始アドレスから順次連続する小領域を表現する。各仮想アドレス間のステップは、メモリページサイズ１つ分に等しい。
このように、夫々のＰＲＰリスト＃０〜＃３にはメインメモリ１０３のメモリ空間として、夫々１ＭＢの連続領域を表現する仮想アドレスが割り当てられる。
【００２１】
〈アドレス記憶ユニットの動作概要〉
続いて、アドレス記憶ユニット１２９の動作の概要について、図２、及び図４を参照して説明する。
【００２２】
アドレス割当部１３１は、メモリページサイズとメインメモリ１０３に確保された領域の大きさに応じて、複数の指定アドレスを１つのＰＲＰリスト（１つの開始アドレス）に割り当てる。例えば、メモリページサイズが４ＫＢでメインメモリ１０３に確保された領域０〜３の大きさが夫々１ＭＢである場合、各領域に夫々２５６個（１ＭＢ＝１０２４ＫＢ÷４ＫＢ）の指定アドレスを割り当てる。具体的には、アドレス割当部１３１は指定アドレス０〜２５５までをＰＲＰリスト＃０（開始アドレスＤ０）に割り当てる。同様に、アドレス割当部１３１は、指定アドレス２５６〜５１１までをＰＲＰリスト＃１（開始アドレスＤ１）に、指定アドレス５１２〜７６７までをＰＲＰリスト＃２（開始アドレスＤ２）に、指定アドレス７６８〜１０２３までをＰＲＰリスト＃３（開始アドレスＤ３）に割り当てる。指定アドレスとＰＲＰリストのＳＲＡＭ１３９内におけるアドレスとの対応関係はアドレス生成回路１３０のレジスタ内に保持される。
また、アドレス割当部１３１は、夫々の指定アドレスに加算アドレスを対応づける。指定アドレスと加算アドレスとの対応関係は、アドレス生成回路１３０のレジスタ内に保持される。アドレス割当部１３１はレジスタに、指定アドレスから加算アドレスを算出するための演算式を保持させてもよいし、複数の指定アドレス（０，１，２…）と各指定アドレスに対応する加算アドレス（０ＫＢ，４ＫＢ，８ＫＢ…）を夫々保持させてもよい。なお、レジスタの容量を効率的に使用するためには、前者の方が望ましい。
【００２３】
指定アドレス解析部１３５は、ＲＣ・ＩＰ１２５を介して外部記憶装置１４０のコントローラから出力（指示）された指定アドレスを解析して、指定アドレスに対応するＰＲＰリストを記憶したＳＲＡＭ１３９のアドレスと、指定アドレスに対応する加算アドレスとを求める。例えば、指定アドレス解析部１３５は、指定アドレス１についてＳＲＡＭのアドレス０と加算アドレス４ＫＢ（＝４ＫＢ×１）を導出し、指定アドレス２５５についてＳＲＡＭのアドレス０と加算アドレス１０２０ＫＢ（＝４ＫＢ×２５５）を導出する。
ＰＲＰリスト開始アドレス記憶部１３３は、指定アドレス解析部１３５が導出したＳＲＡＭ１３９のアドレスから読み出された１つのＰＲＰリストの開始アドレスを一時的に記憶する。
【００２４】
仮想アドレス算出部１３７は、指定アドレスに対して割り当てられた開始アドレスと加算アドレスとを加算することにより、指定アドレスに１対１で対応する仮想アドレスを算出する。例えば、指定アドレス１については開始アドレス「Ｄ０」と加算アドレス「４ＫＢ」を加算することにより仮想アドレス「Ｄ０＋４ＫＢ」を算出し、同様に指定アドレス２５５については仮想アドレス「Ｄ０＋１０２０Ｋ」を算出する。また、仮想アドレス算出部１３７は、算出した仮想アドレスを、アドレス記憶ユニット１２９の指定アドレスに格納する。
【００２５】
〈アドレスの割り当て例２〉
他のアドレスの割り当て例について説明する。図５〜図８は、アドレスの割り当て例を説明する図である。１つのＰＲＰリストで管理するメインメモリ１０３の領域は１ＭＢである必要はないし、加算アドレス（メモリページサイズ）は４ＫＢに限られない。
図５は、１つのＰＲＰリストでメインメモリ１０３の５１２ＫＢの領域を管理する例である。本例では、加算アドレス（メモリページサイズ）が４ＫＢであるため、１つのＰＲＰリストに対して１２８個の指定アドレスが対応づけられている。
図６は、１つのＰＲＰリストでメインメモリ１０３の２ＭＢの領域を管理する例である。本例では、加算アドレス（メモリページサイズ）が４ＫＢであるため、１つのＰＲＰリストに対して５１２個の指定アドレスが対応づけられている。
図７は、１つのＰＲＰリストでメインメモリ１０３の２ＭＢの領域を管理する例である。本例では、加算アドレス（メモリページサイズ）が８ＫＢであるため、１つのＰＲＰリストに対して、２５６個の指定アドレスが対応づけられている。
図８は、実際にメインメモリ１０３に確保される領域（５１２ＫＢ）と１つのＰＲＰリストで管理できる領域のサイズ（１ＭＢ）とが異なっている例である。本例では、実際にメインメモリ１０３に確保された領域に対応する指定アドレス０〜１２７のみをメモリの領域管理に利用し、他の指定アドレス１２８〜２５５は利用しない。
【００２６】
〈起動時の動作シーケンス〉
画像処理装置の起動時の動作について説明する。図９は、画像処理装置の起動時の動作を示すシーケンス図である。なお、この処理は、ＧＰＵ１０５の起動前に実行される。画像処理装置１００の起動時にサブＣＰＵ１２３はＳＲＡＭ１３９を初期化すると共に、例えば図４に示すような開始アドレスＤ０〜Ｄ３を記述したＰＲＰリスト＃０〜＃３を生成してＳＲＡＭ１３９に格納する処理を実行する。
【００２７】
ステップＳ１において、メインＣＰＵ１０１は、外部記憶装置１４０から読み出したデータを格納する領域としてメインメモリ１０３に割り当てた連続領域の先頭アドレス及び連続領域の大きさに関する情報をサブＣＰＵ１２３に出力する。
ここで、図３（ａ）に示すように連続領域がメインメモリ１０３内で単一の連続領域として確保されている場合、メインＣＰＵ１０１は、連続領域の先頭アドレスＤ０と連続領域の大きさ（例えば４ＭＢ）をサブＣＰＵ１２３に出力する。また、図３（ｂ）に示すように連続領域がメインメモリ１０３内で分散している場合、メインＣＰＵ１０１は、各連続領域０、１…の先頭アドレス（Ｄ０，Ｄ１…）と各連続領域の大きさ（例えば夫々１ＭＢ）をサブＣＰＵ１２３に出力する。なお、メインＣＰＵ１０１は、図３（ａ）に示すような連続領域を小さい連続領域に区切り、区切られた夫々の連続領域の先頭アドレスＤ０、Ｄ１…と、各連続領域の大きさ（例えば夫々１ＭＢ）をサブＣＰＵ１２３に出力するようにしてもよいし、連続領域の先頭アドレスＤ０と各連続領域の大きさ（例えば夫々１ＭＢ）をサブＣＵＰ１２３に出力するようにしても良い。
【００２８】
ステップＳ２において、サブＣＰＵ１２３は、メインＣＰＵ１０１から出力された情報に基づいてＳＲＡＭ１３９に格納するＰＲＰリストを生成する。サブＣＰＵ１２３は、１つの連続領域を複数のＰＲＰリストで管理するようにしてもよいし、１つの連続領域を１つのＰＲＰリストで管理するようにしてもよい。
例えば、図３（ａ）に示すように４ＭＢの連続した領域が利用可能であり、サブＣＰＵ１２３がメインＣＰＵ１０１から先頭アドレスＤ０と領域の大きさとして４ＭＢの情報を取得しているが、ＰＲＰリストにおいて連続領域の１単位を１ＭＢに設定する場合は、以下のように処理される。即ち、サブＣＰＵ１２３は、開始アドレスＤ０をポインタ情報として有するＰＲＰリスト＃０を生成し、開始アドレスＤ０から１ＭＢずれた開始アドレスＤ１をポインタ情報として有するＰＲＰリスト＃１を生成する。サブＣＰＵ１２３は上記動作を順次実行して合計４個のＰＲＰリストを生成する。
また、図３（ａ）に示すように４ＭＢの連続した領域が確保されているが、メインＣＰＵ１０１から１ＭＢ毎に区切られた連続領域に関する情報が出力された場合、サブＣＰＵ１２３は開始アドレスＤ０〜Ｄ３を夫々ポインタ情報として有する４個のＰＲＰリスト＃０〜＃３を生成する。
更に、図３（ｂ）に示すように分散した複数の連続領域が確保されており、各連続領域を夫々１つのＰＲＰリストで管理する場合、サブＣＰＵ１２３は、開始アドレスＤ０をポインタ情報として有するＰＲＰリスト＃０を生成し、以下同様に開始アドレスＤ１〜Ｄ３をポインタ情報として有するＰＲＰリスト＃１〜＃３を生成する。
【００２９】
ステップＳ３において、サブＣＰＵ１２３は、生成したＰＲＰリストをＳＲＡＭ１３９の所定のアドレスに格納する。例えば図４の場合、サブＣＰＵ１２３は、ＰＲＰリスト＃０（開始アドレスＤ０）をＳＲＡＭ１３９のアドレス０に格納し、ＰＲＰリスト＃１（開始アドレスＤ１）をＳＲＡＭ１３９のアドレス１に格納する。
【００３０】
ステップＳ４において、サブＣＰＵ１２３は、ＲＣ・ＩＰ１２５を介して外部記憶装置１４０のＣＡＰ（Controller Capabilities）レジスタの内容を読み出して、メモリページサイズの最小値が設定されているＣＡＰ．ＭＰＳＭＩＮに従って、メモリページサイズを自身が保持するレジスタに記憶させる。即ち、サブＣＰＵ１２３は、ＣＡＰレジスタの設定データを外部記憶装置１４０に対して要求し、外部記憶装置１４０はこの要求に対する応答としてＣＡＰレジスタの内容をサブＣＰＵ１２３に返す。サブＣＰＵ１２３は、ＣＡＰレジスタ中のＣＡＰ．ＭＰＳＭＩＮの値を自身のレジスタに記憶させる。
ステップＳ５において、サブＣＰＵ１２３は、メモリページサイズを、アドレス記憶ユニット１２９を構成するアドレス生成回路１３０のレジスタに記憶させる。
ステップＳ６において、アドレス生成回路１３０のアドレス割当部１３１は、メモリページサイズに基づいて、１つのＰＲＰリストに対して複数の指定アドレスを割り当てる。例えば、メモリページサイズが４ＫＢ、１つのＰＲＰリストでメインメモリ１０３の１ＭＢの領域を管理する場合は、ＰＲＰリスト＃０に指定アドレス０〜２５５を割り当て、ＰＲＰリスト＃１に指定アドレス２５６〜５１１を割り当てる。アドレス割当部１３１は、指定アドレスとＰＲＰリストのＳＲＡＭ１３９内におけるアドレスとの対応関係をレジスタに記憶させる。
ステップＳ７において、アドレス生成回路１３０のアドレス割当部１３１は、加算アドレスを設定する。即ち、アドレス割当部１３１は、メモリページサイズに基づいて、各指定アドレスに加算アドレスを対応づけると共に、その対応関係をレジスタに記憶させる。
【００３１】
〈メインシーケンス〉
画像処理装置が外部記憶装置からデータを取得して表示装置に出力する動作について説明する。図１０は、画像データの読み出し時の画像処理装置の動作を示すシーケンス図である。
【００３２】
ステップＳ１１において、メインＣＰＵ１０１は、描画するべき画像について、設定データや描画制御コマンド群から構成されるディスプレイリストを生成し、ステップＳ１３において描画回路１０７に出力する。
ステップＳ１５において、描画回路１０７は、ディスプレイリストに基づいて、例えば１フレーム分の画像形成に必要な画像データのリードリクエストを、ｃｇｂＩ／Ｆ１２１を介してＣＧＲＯＭコントローラ１２０のサブＣＰＵ１２３に出力する。このリードリクエストには、外部記憶装置１４０から読み出すデータの読み出し先頭アドレスと、データ量の情報とが含まれている。
【００３３】
ステップＳ１７において、サブＣＰＵ１２３は、リードリクエストに基づいて、外部記憶装置１４０に格納されているデータの読み出しと、読み出したデータのメインメモリ１０３への書き込みを指示するコマンドリストを生成する。コマンドリストには、外部記憶装置１４０から読み出すデータの読み出し先頭アドレスと、読み出すデータのデータ量と、読み出したデータをメインメモリ１０３に書き込むためのアドレス情報として先頭に位置する１つの指定アドレス（図４参照）が含まれている。
【００３４】
ステップＳ１９において、サブＣＰＵ１２３は、ＲＣ・ＩＰ１２５を介してコマンドリストを外部記憶装置１４０に出力する。
ステップＳ２１において、外部記憶装置１４０のコントローラはコマンドリストに含まれる指定アドレスに基づきＲＣ・ＩＰ１２５を介してアドレス記憶ユニット１２９にアクセスする。１つの指定アドレスはメモリページサイズ１つ分（例えば４ＫＢ）のデータに対応する。
ステップＳ２３において、アドレス記憶ユニット１２９を構成するアドレス生成回路１３０の指定アドレス解析部１３５は、指定アドレスを解析する。即ち、指定アドレス解析部１３５は、ＲＣ・ＩＰ１２５を介して外部記憶装置１４０から出力された指定アドレスに基づいて、指定アドレスに対応するＰＲＰリストが格納されたＳＲＡＭのアドレスと加算アドレスとを求める。例えば指定アドレス「０」の場合は、ＳＲＡＭのアドレス「０」と、加算アドレス「０」を求める。
【００３５】
ステップＳ２５において、アドレス生成回路１３０の指定アドレス解析部１３５は、ステップＳ２３において求められたＳＲＡＭ１３９のアドレスから開始アドレスを読み出す。即ち、アドレス生成回路１３０の指定アドレス解析部１３５は、ステップＳ２３において求めたＳＲＡＭ１３９のアドレスと、データ（開始アドレス）の読み出しに係る要求をＳＲＡＭ１３９に出力する。ＳＲＡＭ１３９は、指定されたアドレスに格納されているデータ（開始アドレス）を取り出して出力する。指定アドレス解析部１３５は、ＳＲＡＭ１３９のアドレスから開始アドレスを取得する。
例えば、指定アドレス「０」の場合、指定アドレス解析部１３５は、ＳＲＡＭのアドレス「０」から開始アドレス「Ｄ０」を取得する。また、指定アドレス解析部１３５は、取得した開始アドレスをＰＲＰリスト開始アドレス記憶部１３３に一時的に記憶させる。
【００３６】
ステップＳ２７において、アドレス記憶ユニット１２９の仮想アドレス算出部１３７は、開始アドレスに加算アドレスを加算することにより指定アドレスに対応する仮想アドレスを生成する。例えば、指定アドレスが「０」の場合、仮想アドレス算出部１３７は、開始アドレス「Ｄ０」に加算アドレス「０」を加算して仮想アドレス「Ｄ０」を生成する。また、仮想アドレス算出部１３７は、生成した仮想アドレスをアドレス生成回路１３０内の指定アドレス「０」に格納する。
【００３７】
ステップＳ２９において、外部記憶装置１４０のコントローラはＲＣ・ＩＰ１２５を介してアドレス記憶ユニット１２９内の指定アドレスから仮想アドレスを読み出す。
【００３８】
ステップＳ３１において、外部記憶装置１４０のコントローラはコマンドリストに従って読み出したメモリページサイズ１つ分（例えば４ＫＢ）のデータを、アドレス記憶ユニット１２９から読み出したメインメモリ１０３の仮想アドレス「Ｄ０」に書き込む。即ち、外部記憶装置１４０はＲＣ・ＩＰ１２５を介して仮想アドレス「Ｄ０」で表されるメインメモリ１０３上の領域にデータを書き込む。
【００３９】
ステップＳ３３において、外部記憶装置１４０は、アドレス記憶ユニット１２９に出力した最新の指定アドレス（例えば「０」）に１をインクリメントした指定アドレス（例えば「１」）を生成し、アドレス記憶ユニット１２９に出力する。より正確には、外部記憶装置１４０はＲＣ・ＩＰ１２５を介して、１つの仮想アドレスの格納に必要なデータサイズ分のアドレスを、最新の指定アドレスに対してカウントアップしたアドレスを指定アドレスとして生成し、アドレス記憶ユニット１２９に出力する。
【００４０】
ステップＳ３５は、ステップＳ２３と同様である。ステップＳ３５において、アドレス記憶ユニット１２９を構成するアドレス生成回路１３０の指定アドレス解析部１３５は、指定アドレスを解析する。即ち、指定アドレス解析部１３５は、外部記憶装置１４０から出力された指定アドレスに基づいて、指定アドレスに対応するＰＲＰリストが格納されたＳＲＡＭのアドレスと加算アドレスとを求める。例えば指定アドレス「１」の場合は、ＳＲＡＭのアドレス「０」と、加算アドレス「４Ｋ」を求める。
【００４１】
ステップＳ３７は、ステップＳ２５と同様である。ステップＳ３７において、アドレス生成回路１３０の指定アドレス解析部１３５は、ステップＳ３５において求められたＳＲＡＭ１３９のアドレスから開始アドレスを読み出す。
例えば、指定アドレス「１」の場合、指定アドレス解析部１３５は、ＳＲＡＭのアドレス「０」から開始アドレス「Ｄ０」を取得する。また、指定アドレス解析部１３５は、取得した開始アドレスをＰＲＰリスト開始アドレス記憶部１３３に一時的に記憶させる。
【００４２】
ステップＳ３９は、ステップＳ２７と同様である。ステップＳ３９において、アドレス記憶ユニット１２９の仮想アドレス算出部１３７は、開始アドレスに加算アドレスを加算することにより指定アドレスに対応する仮想アドレスを生成する。例えば、指定アドレスが「１」の場合、仮想アドレス算出部１３７は、開始アドレス「Ｄ０」に加算アドレス「４Ｋ」を加算して仮想アドレス「Ｄ０＋４Ｋ」を生成する。また、仮想アドレス算出部１３７は、生成した仮想アドレスをアドレス生成回路１３０内の指定アドレス「１」に格納する。
ステップＳ４１は、ステップＳ２９と同様である。ステップＳ４１において、外部記憶装置１４０は、アドレス記憶ユニット１２９内の指定アドレスから仮想アドレスを読み出す。
【００４３】
ステップＳ４３は、ステップＳ３１と同様である。ステップＳ４３において、外部記憶装置１４０のコントローラは、読み出したデータを、アドレス記憶ユニット１２９から読み出したメインメモリ１０３の仮想アドレス「Ｄ０＋４Ｋ」に書き込む。
【００４４】
このように、外部記憶装置１４０はＲＣ・ＩＰ１２５を介して、コマンドリストに含まれる指定アドレスと読み出しデータ量とに基づいて、コマンドリストで指定された全てのデータの読み出しが完了するまで、ステップＳ３３〜Ｓ４３の処理を繰り返す。
例えばコマンドリストに含まれる指定アドレスが「０」で、外部記憶装置１４０からの読み出しデータ量が３２ＫＢの場合、外部記憶装置１４０はステップＳ２１〜Ｓ３１で指定アドレス「０」に対応するデータの読み出しと書き込みを実行した後に、ステップＳ３３〜Ｓ４３を実行して順次、指定アドレス「１」〜「７」を生成し、４ＫＢずつのデータをメインメモリ１０３の仮想アドレス「Ｄ０＋４Ｋ」〜「Ｄ０＋２８Ｋ」に格納する。
【００４５】
ステップＳ４５において、外部記憶装置１４０はＲＣ・ＩＰ１２５を介して、サブＣＰＵ１２３に対して要求された全てのデータについてメインメモリ１０３への格納が終了した旨を通知する。
ステップＳ４７において、サブＣＰＵ１２３はメインメモリ１０３上の仮想アドレスを指定して、該アドレスに格納されたデータを読み出す。
ステップＳ４９において、サブＣＰＵ１２３は、ｃｇｂＩ／Ｆ１２１を介して読み出したデータを描画回路１０７に出力する。ここで、描画回路１０７とｃｇｂＩ／Ｆ１２１はマスタとスレーブの関係にある。ステップＳ１５でマスタである描画回路１０７からスレーブであるｃｇｂＩ／Ｆ１２１に対して行われたリクエストに対するレスポンスとしてのリードデータは、ｃｇｂＩ／Ｆ１２１から描画回路１０７に返される。
【００４６】
ステップＳ５１において、描画回路１０７は、サブＣＰＵ１２３から入力されたデータに基づいて描画処理を行う。
ステップＳ５３において、描画回路１０７は、描画処理により生成した画像データをメインメモリ１０３に格納する。
ステップＳ５５において、表示回路１０９は、表示装置１１１の表示タイミングに基づいてメインメモリ１０３から画像データを取得する。
ステップＳ５７において、表示回路１０９は、表示装置１１１に表示画面としての画像データを出力する。
【００４７】
〈コマンドリストに含める指定アドレスの管理方法〉
サブＣＰＵ１２３は、コマンドリストに含める指定アドレスを管理する。以下、図４を参照しながら説明する。
【００４８】
《第一のパターン》
サブＣＰＵ１２３は、直前のリードリクエストで使用していない指定アドレスをコマンドリストに含めるように制御する。例えば、サブＣＰＵ１２３は、直前のリードリクエストで使用された指定アドレスの直後に位置する指定アドレス（未使用の指定アドレス）をコマンドリストに含めるように制御する。なお、サブＣＰＵ１２３は、コマンドリストに含めた指定アドレスと、メモリページサイズと、読み出しデータ量とから、直前のリードリクエストで使用された指定アドレスを認識することができる。
仮に、直前のリードリクエストで指定アドレス０〜３が使用された場合、サブＣＰＵ１２３は、次のリードリクエストに基づくコマンドリストに指定アドレス４を含める。また、外部記憶装置１４０のコントローラは、コマンドリストに含まれた指定アドレス４からカウントアップする。
【００４９】
《第二のパターン》
サブＣＰＵ１２３は、１つのリードリクエストで要求されるデータの全体が、メインメモリ１０３内に連続して格納されるように、コマンドリストに含める指定アドレスを制御する。例えば、サブＣＰＵ１２３は、１つのＰＲＰリストによって表現されるメインメモリの連続する１領域に１つのリードリクエストに基づくデータの全部を格納できない場合、他のＰＲＰリストに割り当てられている指定アドレスをコマンドリストに含めるように制御する。
仮に、メインメモリ１０３に図３（ｂ）に示すような分散した領域０〜３が確保されているとする。図４の指定アドレス０〜２５０までが使用済みの結果、領域０の残容量が２０ＫＢ、領域１は未使用であるとする。読み出しデータのデータ量が３２ＫＢの場合、読み出しデータの全体を領域０の未使用部分に格納することはできない。そこで、サブＣＰＵ１２３は、読み出しデータの全体がメインメモリ１０３の領域１に格納されるように、図４に示す指定アドレス２５６をコマンドリストに含めるように制御する。この場合、読み出しデータは、図４の指定アドレス２５６〜２６３に対応するメインメモリ１０３内の領域に格納される。
【００５０】
《第三のパターン》
サブＣＰＵ１２３は、１つのリードリクエストで要求されるデータの全体が、メインメモリ１０３内に連続して格納されるように、コマンドリストに含める指定アドレスを制御する。例えば、サブＣＰＵ１２３は、１つのリードリクエストに対して１つのＰＲＰリストを割り当てるように、コマンドリストに含める指定アドレスを制御する。
具体的には、１番目に出力されたリードリクエストに対して、サブＣＰＵ１２３は、ＰＲＰリスト＃０に対応づけられた複数の指定アドレスのうちの先頭に位置するアドレス（指定アドレス０）を含むコマンドリストを生成する。また、２番目に出力されたリードリクエストに対して、サブＣＰＵ１２３は、ＰＲＰリスト＃１に対応づけられた複数の指定アドレスのうちの先頭に位置するアドレス（指定アドレス２５６）を含むコマンドリストを生成する。
このような処理は、サブＣＰＵ１２３が複数のリードリクエストを並列処理する場合に特に有効である。
【００５１】
《第四のパターン》
サブＣＰＵ１２３は、１つのリードリクエストで要求されるデータの全体が、メインメモリ１０３内に連続して格納されるように、コマンドリストに含める指定アドレスを制御する。例えば、サブＣＰＵ１２３は、複数のＰＲＰリストに跨がって表現されるメインメモリの連続する領域に１つのリードリクエストに基づくデータの全部を格納するように、コマンドリストに含める指定アドレスを制御する。
仮に、メインメモリ１０３に図３（ａ）に示すような連続した領域０〜３が確保されているとする。図４の指定アドレス０〜２５０までが使用済みの結果、領域０の残容量が２０ＫＢ、領域１は未使用であるとする。読み出しデータのデータ量が３２ＫＢの場合、サブＣＰＵ１２３は、図４に示す指定アドレス２５１をコマンドリストに含めることで、読み出しデータを指定アドレス２５１〜２５８に対応するメインメモリ１０３内の領域に格納される。このように、ＰＲＰリストで管理する領域がメインメモリ内で連続する場合は、メインメモリ１０３の隣接する領域に跨がってデータを格納してもよい。
上記制御は、１つのリードリクエストで読み出すデータ量が、１つのＰＲＰリストで管理するメインメモリの領域のサイズよりも大きい場合にも同様に適用できる。
【００５２】
なお、１つのリードリクエストに基づく読み出しデータは、メインメモリ１０３内に連続して格納されることが望ましいが、読み出しデータがメインメモリ１０３内に分散して格納されても構わない。
【００５３】
〈変形例〉
上記実施形態においては、ＰＲＰリストの格納先として、ＣＧＲＯＭコントローラ１２０に用意したＳＲＡＭ１３９を利用したが、ＰＲＰリストの格納場所はメインメモリ１０３であってもよいし、他のメモリであってもよい。
上記実施形態においては、サブＣＰＵ１２３が画像処理装置１００の起動時にＰＲＰリストをＳＲＡＭ１３９に格納したが、ＰＲＰリストは少なくともステップＳ１７のコマンドリストの作成前に格納されていればよい。例えば、サブＣＰＵ１２３は、ステップＳ１５のリードリクエストを受け取った後に、ＰＲＰリストを生成してＳＲＡＭ１３９に格納してもよい。
サブＣＰＵ１２３が自身のレジスタに設定するメモリページサイズは、外部記憶装置１４０のメモリページサイズの最小値には限られない。例えば、サブＣＰＵ１２３は、外部記憶装置１４０のＣＡＰレジスタに記述されたメモリページサイズの最大値（CAP.MPSMAX）を、自身のレジスタに設定してもよい。
上記実施形態においてはサブＣＰＵ１２３が外部記憶装置１４０に対して指定アドレスを指示し、また外部記憶装置１４０が指定アドレスを用いてアドレス記憶ユニット１２９に対してアクセスするため、指定アドレス指示手段はサブＣＰＵ１２３及び外部記憶装置１４０として説明したが、サブＣＰＵ１２３と、外部記憶装置１４０へのブリッジ機能であるＲＣ・ＩＰ１２５とを指定アドレス指示手段として捉えることもできる。
本発明について、画像処理装置、及び画像処理システムの例により説明したが、本発明は、画像データ以外のデータを処理する装置、例えば音声データを処理する音声処理装置、及び音声処理装置と外部記憶装置とによって構成される音声処理システムにも適用可能である。音声処理装置は、画像処理装置のＧＰＵに代えて音声データを処理するＤＳＰ(Digital Signal Processor：音声処理ユニット)を備え、表示装置に代えてスピーカを備える。上記、画像データや音声データを処理する情報処理装置は、パチンコ機やパチスロ機等の遊技機に搭載される。
【００５４】
〈効果〉
以上のように本実施形態によれば、１つの開始アドレスから複数の仮想アドレスを生成することにより、メインメモリ上で連続する複数の小領域を１つのＰＲＰリストで表現することができる。従って、メインメモリの領域管理に使用するＰＲＰリストが少なくて済み、ＰＲＰリストによるメモリの消費を低減できる。
【００５５】
〔本発明の実施態様例と作用、効果のまとめ〕
＜第一の実施態様＞
本態様に係る情報処理装置（画像処理装置１００）は、バスを介してアクセス可能なメインメモリ１０３と、外部記憶装置１４０が接続されるＰＣＩｅインターフェースを有すると共に該ＰＣＩｅインターフェースを制御するコントローラ（ＣＧＲＯＭコントローラ１２０）と、を備え、外部記憶装置に記憶されたデータを読み出して、ＮＶＭｅコマンド規格に従ってメインメモリに格納する装置であり、以下の特徴を有する。
即ち、情報処理装置は、ＰＲＰリストを格納するリスト格納メモリ（ＳＲＡＭ１３９）と、外部記憶装置から読み出したデータをメインメモリに格納するための仮想アドレスを生成する仮想アドレス生成手段（アドレス生成回路１３０）と、を備え、仮想アドレス生成手段は、複数のアドレスを単一のＰＲＰリストに割り当てると共に、アドレスが指示された場合に指示された指定アドレスに対応するＰＲＰリストに含まれる開始アドレスと指定アドレスに応じた加算アドレスとに基づいて仮想アドレスを生成することを特徴とする。
【００５６】
本態様によれば、ＰＲＰリストによるメモリの消費を低減することが可能となる。
即ち、ＰＲＰリストにはメインメモリ内で連続する領域の先頭に位置する開始アドレスを記述すると共に、１つのＰＲＰリストにリスト格納メモリ内の複数のアドレスを割り当てる。仮想アドレス生成手段は、リスト格納メモリ内のアドレスが指示される毎に、指示された指定アドレスに対応する仮想アドレスを順次生成する。各仮想アドレスはメインメモリ上の各小領域を表現するものであり、開始アドレスに加算アドレスを加算することにより生成される。従って、より少ないＰＲＰリストでメインメモリの連続領域を表現でき、ＰＲＰリストによるメモリの消費を低減することができる。
例えば、遊技機等の画像処理装置のように、高速かつ高精細な画像表示が求められている装置においてはＰＲＰリストによるメモリ消費を低減することで、画像処理に割り当てるメモリを増やすことができる。
【００５７】
＜第二の実施態様＞
本態様に係る情報処理装置（画像処理装置１００）において、仮想アドレス生成手段（アドレス生成回路１３０）は、複数のアドレスを単一のＰＲＰリストに割り当てるアドレス割当手段（アドレス割当部１３１）と、指定アドレスに対応するＰＲＰリストと加算アドレスとを求める指定アドレス解析手段（指定アドレス解析部１３５）と、求められたＰＲＰリストに含まれる開始アドレスと加算アドレスとに基づいて仮想アドレスを算出する仮想アドレス算出手段（仮想アドレス算出部１３７）と、を備えることを特徴とする。
本態様は、第一の実施態様と同様の効果を奏する。
【００５８】
＜第三の実施態様＞
本態様に係る情報処理装置（画像処理装置１００）は、データのリードリクエストに基づいて仮想アドレス生成手段（アドレス生成回路１３０）に指定アドレスを指示する指定アドレス指示手段（サブＣＰＵ１２３、外部記憶装置１４０またはＲＣ・ＩＰ１２５）を備え、指定アドレス指示手段（外部記憶装置１４０またはＲＣ・ＩＰ１２５）は、直前のリードリクエストにおいて未使用の指定アドレスからカウントアップすることを特徴とする。
本態様によれば、指定アドレスを順番に使用するので、メインメモリのメモリ空間を有効に活用できる。
【００５９】
＜第四の実施態様＞
本態様に係る情報処理装置（画像処理装置１００）において、指定アドレス指示手段（サブＣＰＵ）は、一のＰＲＰリストによって表現されるメインメモリ１０３の連続する一領域に一のリードリクエストに基づくデータの全部を格納できない場合、他のＰＲＰリストに割り当てられている指定アドレスを指示することを特徴とする。
本態様によれば、外部記憶装置から読み出したデータを、メインメモリ上に連続した状態で格納することができる。
【００６０】
＜第五の実施態様＞
本態様に係る情報処理装置（画像処理装置１００）は、データのリードリクエストに基づいて仮想アドレス生成手段（アドレス生成回路１３０）に指定アドレスを指示する指定アドレス指示手段（サブＣＰＵ１２３、外部記憶装置１４０またはＲＣ・ＩＰ１２５）を備え、指定アドレス指示手段（サブＣＰＵ１２３）は、一のリードリクエストに対して一のＰＲＰリストを割り当てるように指定アドレスを指示することを特徴とする。
本態様においては、１つのリードリクエストに対してＰＲＰリストが１対１で割り当てられるので、複数のリードリクエストに基づく処理を並列して実行する場合に、メインメモリのアドレス管理が容易となる。
【００６１】
＜第六の実施態様＞
本態様に係る情報処理装置（画像処理装置１００）は、画像データ又は音声データを処理する処理ユニット（ＧＰＵ１０５、ＤＳＰ）と、メインメモリ１０３上の仮想アドレスに格納されたデータを取得して、処理ユニットに出力するように制御するサブＣＰＵ１２３と、を備えることを特徴とする。
本発明は、遊技機等の画像処理装置や音声処理装置等、メインメモリ上に大きな連続領域を確保することが容易な情報処理装置に特に有効である。
【００６２】
＜第七の実施態様＞
本態様に係る情報処理システムは、情報処理装置（画像処理装置１００）と、ＰＣＩｅインターフェースと接続する外部記憶装置１４０と、を備えることを特徴とする。
本態様によれば、第一乃至第六の実施態様と同様の効果を奏する。
【符号の説明】
【００６３】
１００…画像処理装置、１０１…メインＣＰＵ、１０３…メインメモリ、１０５…ＧＰＵ、１０７…描画回路、１０９…表示回路、１１１…表示装置、１２０…ＣＧＲＯＭコントローラ、１２１…ｃｇｂＩ／Ｆ、１２３…サブＣＰＵ、１２５…ＰＣＩｅＲＣ・ＩＰ、１２９…アドレス記憶ユニット、１３０…アドレス生成回路、１３１…アドレス割当部、１３３…ＰＲＰリスト開始アドレス記憶部、１３５…指定アドレス解析部、１３７…仮想アドレス算出部、１３９…ＳＲＡＭ、１４０…外部記憶装置、１５１…メインバス、１５３…内部バス、１５５…ＩＣＭ
【図１】
2018077564.tif 000003
【図２】
2018077564.tif 000004
【図３】
2018077564.tif 000005
【図４】
2018077564.tif 000006
【図５】
2018077564.tif 000007
【図６】
2018077564.tif 000008
【図７】
2018077564.tif 000009
【図８】
2018077564.tif 000010
【図９】
2018077564.tif 000011
【図１０】
2018077564.tif 000012
【図１１】
2018077564.tif 000013