(57)【要約】  本発明に係る外部デバイスアクセス装置（１０３）は、マスタ（１０１）からのプリフェッチ要求及びプリフェッチデータ読み出し要求を受け付け、プリフェッチ動作及びプリフェッチデータ読み出し動作を行うアドレス制御部（１１４）と、プリフェッチ動作により読み出されたデータを格納する読み出しデータ格納部（１１３）と、プリフェッチ動作が完了したか否かを示すプリフェッチ動作状態を保持する格納動作状態保持部（１１５）と、マスタ（１０１）からのプリフェッチデータ読み出し要求を受け付けたことを示す受理信号をマスタ（１０１）に出力する受理信号生成部（１１６）とを備え、プリフェッチ動作状態に基づくプリフェッチ動作の状態を示す第１情報をマスタ（１０１）に出力する。
2009098737.tif 000002
【特許請求の範囲】
【請求項１】
マスタからの要求に応じて、外部デバイスからデータを読み出すプリフェッチ動作と、前記プリフェッチ動作で読み出したデータを前記マスタに出力するプリフェッチデータ読み出し動作を行う外部デバイスアクセス装置であって、
前記マスタからのプリフェッチ要求及びプリフェッチデータ読み出し要求を受け付け、前記プリフェッチ動作及び前記プリフェッチデータ読み出し動作を行う制御部と、
前記プリフェッチ動作により読み出されたデータを格納するデータ格納部と、
前記プリフェッチ動作が完了したか否かを示すプリフェッチ動作状態を保持する状態保持部と、
前記マスタからの前記プリフェッチデータ読み出し要求を受け付けたことを示す受理信号を前記マスタに出力する受理信号生成部とを備え、
前記制御部は、前記プリフェッチデータ読み出し動作として、前記データ格納部に格納されるデータを前記マスタに出力し、
前記制御部は、前記プリフェッチ動作状態に基づく前記プリフェッチ動作の状態を示す第１情報を前記マスタに出力する
ことを特徴する外部デバイスアクセス装置。
【請求項２】
前記受理信号生成部は、前記制御部により前記プリフェッチデータ読み出し要求が受け付けられた際に、前記プリフェッチ動作が完了しているか否かによらず、前記受理信号を前記マスタに出力し、
前記制御部は、前記プリフェッチデータ読み出し要求を受け付けた際に、前記第１情報を前記マスタに出力する
ことを特徴とする請求項１記載の外部デバイスアクセス装置。
【請求項３】
前記制御部は、前記プリフェッチ動作状態を前記第１情報として前記マスタに出力する
ことを特徴とする請求項１記載の外部デバイスアクセス装置。
【請求項４】
前記外部デバイスアクセス装置と前記マスタとは、読み出しデータバスを介して接続され、
前記制御部は、前記データ格納部に格納されるデータ及び前記第１情報を前記読み出しデータバスを介して前記マスタに出力する
ことを特徴とする請求項１記載の外部デバイスアクセス装置。
【請求項５】
前記制御部は、前記プリフェッチ動作状態により前記プリフェッチ動作が完了したことが示される場合、前記データ格納部に格納されるデータを前記読み出しデータバスを介して前記マスタに出力し、前記プリフェッチ動作状態により前記プリフェッチ動作が完了していないことが示される場合、予め定められたデータを前記第１情報として前記読み出しデータバスを介して前記マスタに出力する
ことを特徴とする請求項４記載の外部デバイスアクセス装置。
【請求項６】
前記制御部は、前記プリフェッチ動作状態により前記プリフェッチ動作が完了したことが示される場合、前記データ格納部に格納されるデータを前記読み出しデータバスを介して前記マスタに出力し、前記プリフェッチ動作状態により前記プリフェッチ動作が完了していないことが示される場合、当該プリフェッチ動作により読み出しを行っている前記外部デバイスのアドレスを前記第１情報として前記読み出しデータバスを介して前記マスタに出力する
ことを特徴とする請求項４記載の外部デバイスアクセス装置。
【請求項７】
前記制御部は、さらに、前記マスタからのプリフェッチ動作状態読み出し要求を受け付け、
前記制御部は、前記プリフェッチ動作状態読み出し要求を受け付けた場合、前記第１情報を前記マスタに出力する
ことを特徴とする請求項１記載の外部デバイスアクセス装置。
【請求項８】
前記外部デバイスは、当該外部デバイスの動作状態を示す状態信号を出力し、
前記外部デバイスアクセス装置は、さらに、
前記プリフェッチ動作が完了した際の、前記状態信号を格納する状態信号格納部と、
前記プリフェッチ動作状態により前記プリフェッチ動作が完了したことが示される場合、前記状態信号格納部に格納される前記状態信号を前記マスタに出力し、前記プリフェッチ動作状態により前記プリフェッチ動作が完了していないことが示される場合、前記外部デバイスにより出力されている状態信号を前記マスタに出力する状態信号出力部とを備える
ことを特徴とする請求項１記載の外部デバイスアクセス装置。
【請求項９】
前記外部デバイスは、当該外部デバイスの動作状態を示す状態信号を出力し、
前記受理信号生成部は、前記制御部により前記プリフェッチデータ読み出し要求が受け付けられた際に、前記状態信号に応じて、前記プリフェッチ動作が完了しているか否かによらず、前記受理信号を前記マスタに出力する第１動作、又は、前記プリフェッチ動作が完了した後に前記受理信号を前記マスタに出力する第２動作を選択的に行う
ことを特徴とする請求項１記載の外部デバイスアクセス装置。
【請求項１０】
前記制御部は、さらに、前記マスタからのプリフェッチ中止要求を受け付け、
前記外部デバイスアクセス装置は、さらに、
前記制御部により、前記プリフェッチ中止要求が受け付けられた場合、前記プリフェッチ動作を中止するプリフェッチ中止部を備える
ことを特徴とする請求項８記載の外部デバイスアクセス装置。
【請求項１１】
前記外部デバイスは、当該外部デバイスの動作状態を示す状態信号を出力し、
前記外部デバイスアクセス装置は、さらに、
前記制御部により、前記プリフェッチデータ読み出し要求が受け付けられ、かつ、前記プリフェッチ動作状態により前記プリフェッチ動作が完了していないことが示される場合、前記外部デバイスにより出力されている前記状態信号に応じて、前記プリフェッチ動作を中止するプリフェッチ中止部を備える
ことを特徴とする請求項１記載の外部デバイスアクセス装置。
【請求項１２】
前記外部デバイスは、当該外部デバイスの動作状態を示す状態信号を出力し、
前記外部デバイスアクセス装置と前記マスタとは、第１信号バスを介して接続され、
前記外部デバイスアクセス装置は、さらに、
前記プリフェッチ動作が完了した際の、前記状態信号を格納する状態信号格納部と、
前記制御部により前記プリフェッチデータ読み出し要求が受け付けられた際の、前記プリフェッチ動作状態である読み出し時プリフェッチ動作状態を格納する読み出し時状態格納部と、
前記プリフェッチ動作状態により前記プリフェッチ動作が完了していないことが示される場合、当該プリフェッチ動作状態を、前記第１信号バスを介して前記マスタに出力し、前記プリフェッチ動作状態により前記プリフェッチ動作が完了していることが示される場合、前記状態信号格納部により格納される状態信号を、前記第１信号バスを介して前記マスタに出力する信号出力部とを備え、
前記制御部は、前記プリフェッチ動作状態読み出し要求を受け付けた場合、前記読み出し時プリフェッチ動作状態を前記第１情報として前記マスタに出力する
ことを特徴とする請求項７記載の外部デバイスアクセス装置。
【請求項１３】
前記受理信号生成部は、前記制御部により前記プリフェッチデータ読み出し要求が受け付けられた際に、前記プリフェッチ動作が完了しているか否かによらず、前記受理信号を前記マスタに出力する第１動作、又は、前記プリフェッチ動作が完了した後に前記受理信号を前記マスタに出力する第２動作を選択的に行う
ことを特徴とする請求項１記載の外部デバイスアクセス装置。
【請求項１４】
前記受理信号生成部は、前記マスタから出力される制御信号に応じて、前記第１動作又は前記第２動作を選択的に行う
ことを特徴とする請求項１３記載の外部デバイスアクセス装置。
【請求項１５】
前記プリフェッチ読み出し要求は、第１プリフェッチデータ読み出し要求と、第２プリフェッチデータ読み出し要求とを含み、
前記制御部は、前記マスタから第１アドレスが出力された場合に、前記第１プリフェッチデータ読み出し要求を受け付け、前記マスタから第２アドレスが出力された場合に、前記第２プリフェッチデータ読み出し要求を受け付け、
前記受理信号生成部は、前記制御部により前記第１プリフェッチデータ読み出し要求が受け付けられた場合、前記第１動作を行い、前記制御部により前記第２プリフェッチデータ読み出し要求が受け付けられた場合、前記第２動作を行う
ことを特徴する請求項１３記載の外部デバイスアクセス装置。
【請求項１６】
前記外部デバイスアクセス装置は、さらに、
第１状態又は第２状態が設定される状態設定部を備え、
前記制御部は、さらに、前記マスタからのプリフェッチ読み出し制御動作要求を受け付け、
前記制御部は、前記プリフェッチ読み出し制御動作要求を受け付けた場合、前記マスタからの指定された前記第１状態又は前記第２状態を前記状態設定部に設定し、
前記受理信号生成部は、前記状態設定部に前記第１状態が設定されている場合に前記第１動作を行い、前記状態設定部に前記第２状態が設定されている場合に前記第２動作を行う
ことを特徴する請求項１３記載の外部デバイスアクセス装置。
【請求項１７】
前記外部デバイスアクセス装置は、さらに、
前記プリフェッチ動作の実行中に、前記制御部によりプリフェッチデータ読み出し要求が受け付けられた場合に、当該プリフェッチデータ読み出し要求が受け付けられてから、当該プリフェッチ動作が完了するまでの時間をカウントするカウント部を備え、
前記制御部は、前記カウント部によりカウントされた時間を前記第１情報として前記マスタに出力する
ことを特徴とする請求項１記載の外部デバイスアクセス装置。
【請求項１８】
前記制御部は、さらに、前記マスタからの時間読み出し要求を受け付け、
前記外部デバイスアクセス装置は、さらに、
前記カウント部によりカウントされた時間を格納する時間格納部を備え、
前記制御部は、前記時間読み出し要求を受け付けた場合、前記時間格納部に格納される前記時間を前記第１情報として前記マスタに出力する
ことを特徴とする請求項１７記載の外部デバイスアクセス装置。
【請求項１９】
請求項１記載の外部デバイスアクセス装置と、マスタとを備えるシステムＬＳＩであって、
前記外部デバイスアクセス装置は、前記第１情報を前記マスタの割り込み信号、又はスレッド切り替え信号として出力し、
前記マスタは、前記第１情報を、割り込み処理、又はスレッド切り替え信号として処理する
ことを特徴とするシステムＬＳＩ。
【請求項２０】
請求項１記載の外部デバイスアクセス装置と、マスタとを備えるシステムＬＳＩであって、
前記外部デバイスアクセス装置は、前記第１情報を前記マスタがソフト処理可能なフラグ信号として出力し、
前記マスタは、前記第１情報を、ソフト処理可能なフラグ信号として処理する
ことを特徴とするシステムＬＳＩ。
【請求項２１】
請求項１４記載の外部デバイスアクセス装置と、マスタとを備えるシステムＬＳＩであって、
前記マスタは、前記制御信号を、前記プリフェッチデータ読み出し要求と同期して、前記外部デバイスアクセス装置に出力する
ことを特徴とするシステムＬＳＩ。
【請求項２２】
マスタからの要求に応じて、外部デバイスからデータを読み出すプリフェッチ動作と、前記プリフェッチ動作で読み出したデータを前記マスタに出力するプリフェッチデータ読み出し動作を行う外部デバイスアクセス装置の制御方法であって、
前記マスタからのプリフェッチ要求を受け付けるプリフェッチ要求受け付けステップと、
前記プリフェッチ要求を受け付けた場合、前記外部デバイスからデータを読み出し、読み出したデータをデータ格納部に格納するプリフェッチステップと、
前記プリフェッチステップが完了したか否かを示すプリフェッチ動作状態を保持する状態保持ステップと、
前記マスタからのプリフェッチデータ読み出し要求を受け付けるプリフェッチデータ読み出し要求受け付けステップと、
前記プリフェッチデータ読み出し要求を受け付けた場合、当該プリフェッチデータ読み出し要求を受け付けたことを示す受理信号を前記マスタに出力する受理信号生成ステップと、
前記プリフェッチデータ読み出し要求を受け付けた場合、前記データ格納部に格納されるデータを前記マスタに出力するプリフェッチデータ読み出しステップと、
前記プリフェッチ動作状態に基づく前記プリフェッチ動作の状態を示す第１情報を前記マスタに出力する第１情報出力ステップとを含む
ことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部デバイスアクセス装置、その制御方法及びシステムＬＳＩに関し、特に、マスタからの要求に応じて、外部デバイスへプリフェッチアクセスを行う外部デバイスアクセス装置に関する。
【背景技術】
【０００２】
メディア処理において、外部デバイスがマスタをアシストすることが有効な場合がある。このためにマスタは、外部デバイスを拡張するための拡張バスを有する場合がある。【０００３】
ここで、メディア処理とは、音声処理及び画像処理などのデータ処理一般のことであり、マスタとはＣＰＵ又はマイコン等の主制御を担当する装置のことであり、外部デバイスとはＣＰＵ又はマイコン等をアシストするコプロセッサ、アクセラレータ又はメモリ等の周辺装置のことである。【０００４】
マスタは、アクセス空間に外部デバイスの資源を割り当てることで、当該外部デバイスの資源をマスタの拡張された資源として扱うことができる。これにより、マスタと外部デバイスとの通信を高速に行うことが可能となる。ここで、アクセス空間とはマスタがアクセスできるプログラムアクセス、データアクセス及び入出力アクセス等のためにアドレスの割り当てられた空間のことである。【０００５】
外部デバイスに対して、マスタの処理性能を向上させるために、プリフェッチという手法が用いられている。プリフェッチとは、マスタが先行的に読み出し要求を行い、ある一定のレイテンシ期間の後に先行的に読み出したデータを取得して次の処理を行う手法である。【０００６】
例えば、マスタからの要求に応じて、外部デバイスに対するプリフェッチ動作を行う外部デバイスアクセス装置が知られている（例えば、特許文献１参照。）。特許文献１記載の従来の外部デバイスアクセス装置は、マスタからの要求に応じて、外部デバイスからデータを読み出し、読み出したデータを一時的に格納するプリフェッチ動作と、格納したデータをマスタに出力するプリフェッチデータ読み出し動作とを行う。【０００７】
また、従来の外部デバイスアクセス装置は、外部デバイスに対してプリフェッチ動作中のときに、マスタからの要求に応じてプリフェッチデータ読み出し動作を行う場合、プリフェッチ動作の完了と同期をとって読み出しデータをマスタに出力する。これにより、プリフェッチ動作完了前の誤ったデータをマスタに出力することを回避できる。【０００８】
図１は、従来の外部デバイスアクセス装置を用いた場合のマスタの処理の流れを示すフローチャートである。【０００９】
まず、マスタは、外部デバイスに対してプリフェッチ動作を行う（Ｓ５０１）。次に、マスタは、プリフェッチデータ読み出しを行うまでに実行可能な処理を行う（Ｓ５０２）。ここで、マスタが処理を行う期間は、外部デバイスが正常時にプリフェッチ動作を完了するまでの期間である。次に、マスタは、プリフェッチデータを読み出す（Ｓ５０３）。プリフェッチ動作が完了している場合（Ｓ５０４でＮｏ）、マスタは、読み出したデータを用いて処理を実行する（Ｓ５０５）。このようにプリフェッチ動作が完了するある一定期間で外部デバイスが応答できた場合、問題はない。
【特許文献１】国際公開第２００６／１３４８０４号パンフレット
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、外部デバイスの異常状態、又は他のマスタからのアクセスの競合などによりプリフェッチ動作が完了していない場合（Ｓ５０４でＹｅｓ）、マスタはプリフェッチ動作が完了するまで待機状態となる。これにより、従来の技術には、マスタの処理効率が低下するという課題がある。【００１１】
本発明は、上記課題を解決するためのものであり、マスタを効率的に使用できる外部デバイスアクセス装置及びシステムＬＳＩを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、本発明に係る外部デバイスアクセス装置は、マスタからの要求に応じて、外部デバイスからデータを読み出すプリフェッチ動作と、前記プリフェッチ動作で読み出したデータを前記マスタに出力するプリフェッチデータ読み出し動作を行う外部デバイスアクセス装置であって、前記マスタからのプリフェッチ要求及びプリフェッチデータ読み出し要求を受け付け、前記プリフェッチ動作及び前記プリフェッチデータ読み出し動作を行う制御部と、前記プリフェッチ動作により読み出されたデータを格納するデータ格納部と、前記プリフェッチ動作が完了したか否かを示すプリフェッチ動作状態を保持する状態保持部と、前記マスタからの前記プリフェッチデータ読み出し要求を受け付けたことを示す受理信号を前記マスタに出力する受理信号生成部とを備え、前記制御部は、前記プリフェッチデータ読み出し動作として、前記データ格納部に格納されるデータを前記マスタに出力し、前記制御部は、前記プリフェッチ動作状態に基づく前記プリフェッチ動作の状態を示す第１情報を前記マスタに出力する。【００１３】
この構成によれば、本発明に係る外部デバイスアクセス装置は、プリフェッチ動作の状態を示す第１情報をマスタに出力する。これにより、マスタは、プリフェッチデータ読み出し動作時に、プリフェッチ動作が完了していない場合には、別の処理を先に行うことができる。よって、本発明に係る外部デバイスアクセス装置は、マスタを効率的に使用できる。【００１４】
また、前記受理信号生成部は、前記制御部により前記プリフェッチデータ読み出し要求が受け付けられた際に、前記プリフェッチ動作が完了しているか否かによらず、前記受理信号を前記マスタに出力し、前記制御部は、前記プリフェッチデータ読み出し要求を受け付けた際に、前記第１情報を前記マスタに出力してもよい。【００１５】
この構成によれば、マスタは、受理信号を受信することで、プリフェッチ動作が完了していない場合に、別の処理を先に行うことができる。【００１６】
また、前記制御部は、前記プリフェッチ動作状態を前記第１情報として前記マスタに出力してもよい。【００１７】
この構成によれば、マスタは、外部デバイスアクセス装置がプリフェッチ動作を完了しているか否かを判断できる。【００１８】
また、前記外部デバイスアクセス装置と前記マスタとは、読み出しデータバスを介して接続され、前記制御部は、前記データ格納部に格納されるデータ及び前記第１情報を前記読み出しデータバスを介して前記マスタに出力してもよい。【００１９】
この構成によれば、外部デバイスアクセス装置からマスタに第１情報を出力するための専用のバスを設けなくてもよい。【００２０】
また、前記制御部は、前記プリフェッチ動作状態により前記プリフェッチ動作が完了したことが示される場合、前記データ格納部に格納されるデータを前記読み出しデータバスを介して前記マスタに出力し、前記プリフェッチ動作状態により前記プリフェッチ動作が完了していないことが示される場合、予め定められたデータを前記第１情報として前記読み出しデータバスを介して前記マスタに出力してもよい。【００２１】
また、前記制御部は、前記プリフェッチ動作状態により前記プリフェッチ動作が完了したことが示される場合、前記データ格納部に格納されるデータを前記読み出しデータバスを介して前記マスタに出力し、前記プリフェッチ動作状態により前記プリフェッチ動作が完了していないことが示される場合、当該プリフェッチ動作により読み出しを行っている前記外部デバイスのアドレスを前記第１情報として前記読み出しデータバスを介して前記マスタに出力してもよい。【００２２】
また、前記制御部は、さらに、前記マスタからのプリフェッチ動作状態読み出し要求を受け付け、前記制御部は、前記プリフェッチ動作状態読み出し要求を受け付けた場合、前記第１情報を前記マスタに出力してもよい。【００２３】
この構成によれば、マスタは、プリフェッチデータ読み出し動作の前に、プリフェッチ動作状態読み出し要求を行うことで、不要なプリフェッチデータ読み出し要求を行わなくてもよい。【００２４】
また、前記外部デバイスは、当該外部デバイスの動作状態を示す状態信号を出力し、前記外部デバイスアクセス装置は、さらに、前記プリフェッチ動作が完了した際の、前記状態信号を格納する状態信号格納部と、前記プリフェッチ動作状態により前記プリフェッチ動作が完了したことが示される場合、前記状態信号格納部に格納される前記状態信号を前記マスタに出力し、前記プリフェッチ動作状態により前記プリフェッチ動作が完了していないことが示される場合、前記外部デバイスにより出力されている状態信号を前記マスタに出力する状態信号出力部とを備えてもよい。【００２５】
この構成によれば、マスタは、プリフェッチ実行中の外部デバイスの状態を把握できる。これにより、マスタは、外部デバイスの状態に応じて最適な処理を行える。【００２６】
また、前記外部デバイスは、当該外部デバイスの動作状態を示す状態信号を出力し、前記受理信号生成部は、前記制御部により前記プリフェッチデータ読み出し要求が受け付けられた際に、前記状態信号に応じて、前記プリフェッチ動作が完了しているか否かによらず、前記受理信号を前記マスタに出力する第１動作、又は、前記プリフェッチ動作が完了した後に前記受理信号を前記マスタに出力する第２動作を選択的に行ってもよい。【００２７】
この構成によれば、本発明に係る外部デバイスアクセス装置は、外部デバイスの状態に応じて、受理信号を直ちに出力するか、プリフェッチ動作の完了後に受理信号を出力するかを選択できる。これにより、正常時のプリフェッチ完了までのレイテンシが可変の外部デバイスに対しても、マスタは、常に最大のレイテンシ期間を空けてプリフェッチデータ読み出し動作を行わなくてもよく、最小のレイテンシ期間を空けてプリフェッチデータ読み出し動作を行えばよい。【００２８】
また、前記制御部は、さらに、前記マスタからのプリフェッチ中止要求を受け付け、前記外部デバイスアクセス装置は、さらに、前記制御部により、前記プリフェッチ中止要求が受け付けられた場合、前記プリフェッチ動作を中止するプリフェッチ中止部を備えてもよい。【００２９】
この構成によれば、マスタは、外部デバイスの状態に応じて、プリフェッチ動作を中止できる。【００３０】
また、前記外部デバイスは、当該外部デバイスの動作状態を示す状態信号を出力し、前記外部デバイスアクセス装置は、さらに、前記制御部により、前記プリフェッチデータ読み出し要求が受け付けられ、かつ、前記プリフェッチ動作状態により前記プリフェッチ動作が完了していないことが示される場合、前記外部デバイスにより出力されている前記状態信号に応じて、前記プリフェッチ動作を中止するプリフェッチ中止部を備えてもよい。【００３１】
この構成によれば、本発明に係る外部デバイスアクセス装置は、プリフェッチデータ読み出し動作時において、プリフェッチ動作が実行中であり、かつ外部デバイスが異常状態の場合には、プリフェッチ動作を自動的に中止する。これにより、マスタは、プリフェッチ動作を中止する制御を行わなくてもよい。よって、本発明に係る外部デバイスアクセス装置は、マスタの処理を削減できる。【００３２】
また、前記外部デバイスは、当該外部デバイスの動作状態を示す状態信号を出力し、前記外部デバイスアクセス装置と前記マスタとは、第１信号バスを介して接続され、前記外部デバイスアクセス装置は、さらに、前記プリフェッチ動作が完了した際の、前記状態信号を格納する状態信号格納部と、前記制御部により前記プリフェッチデータ読み出し要求が受け付けられた際の、前記プリフェッチ動作状態である読み出し時プリフェッチ動作状態を格納する読み出し時状態格納部と、前記プリフェッチ動作状態により前記プリフェッチ動作が完了していないことが示される場合、当該プリフェッチ動作状態を、前記第１信号バスを介して前記マスタに出力し、前記プリフェッチ動作状態により前記プリフェッチ動作が完了していることが示される場合、前記状態信号格納部により格納される状態信号を、前記第１信号バスを介して前記マスタに出力する信号出力部とを備え、前記制御部は、前記プリフェッチ動作状態読み出し要求を受け付けた場合、前記読み出し時プリフェッチ動作状態を前記第１情報として前記マスタに出力してもよい。【００３３】
この構成によれば、本発明に係る外部デバイスアクセス装置は、プリフェッチ動作状態と状態信号とを第１信号バスを介してマスタに出力する。これにより、プリフェッチ動作状態を出力するバスと、状態信号を出力するバスとを個別に設けなくてもよい。【００３４】
また、前記受理信号生成部は、前記制御部により前記プリフェッチデータ読み出し要求が受け付けられた際に、前記プリフェッチ動作が完了しているか否かによらず、前記受理信号を前記マスタに出力する第１動作、又は、前記プリフェッチ動作が完了した後に前記受理信号を前記マスタに出力する第２動作を選択的に行ってもよい。【００３５】
この構成によれば、本発明に係る外部デバイスアクセス装置は、受理信号を直ちに出力するか、プリフェッチ動作の完了後に受理信号を出力するかを選択できる。【００３６】
また、前記受理信号生成部は、前記マスタから出力される制御信号に応じて、前記第１動作又は前記第２動作を選択的に行ってもよい。【００３７】
この構成によれば、マスタは、第１動作及び第２動作を選択できる。【００３８】
また、前記プリフェッチ読み出し要求は、第１プリフェッチデータ読み出し要求と、第２プリフェッチデータ読み出し要求とを含み、前記制御部は、前記マスタから第１アドレスが出力された場合に、前記第１プリフェッチデータ読み出し要求を受け付け、前記マスタから第２アドレスが出力された場合に、前記第２プリフェッチデータ読み出し要求を受け付け、前記受理信号生成部は、前記制御部により前記第１プリフェッチデータ読み出し要求が受け付けられた場合、前記第１動作を行い、前記制御部により前記第２プリフェッチデータ読み出し要求が受け付けられた場合、前記第２動作を行ってもよい。【００３９】
この構成によれば、外部デバイスアクセス装置とマスタとの間に、新たに制御用のバスを設けることなく、マスタは第１動作及び第２動作を選択できる。【００４０】
また、前記外部デバイスアクセス装置は、さらに、第１状態又は第２状態が設定される状態設定部を備え、前記制御部は、さらに、前記マスタからのプリフェッチ読み出し制御動作要求を受け付け、前記制御部は、前記プリフェッチ読み出し制御動作要求を受け付けた場合、前記マスタからの指定された前記第１状態又は前記第２状態を前記状態設定部に設定し、前記受理信号生成部は、前記状態設定部に前記第１状態が設定されている場合に前記第１動作を行い、前記状態設定部に前記第２状態が設定されている場合に前記第２動作を行ってもよい。【００４１】
この構成によれば、外部デバイスアクセス装置とマスタとの間に、新たに制御用のバスを設けることなく、マスタは第１動作及び第２動作を選択できる。【００４２】
また、前記外部デバイスアクセス装置は、さらに、前記プリフェッチ動作の実行中に、前記制御部によりプリフェッチデータ読み出し要求が受け付けられた場合に、当該プリフェッチデータ読み出し要求が受け付けられてから、当該プリフェッチ動作が完了するまでの時間をカウントするカウント部を備え、前記制御部は、前記カウント部によりカウントされた時間を前記第１情報として前記マスタに出力してもよい。【００４３】
この構成によれば、マスタは、プリフェッチデータ読み出し動作を要求するタイミングを、プリフェッチ動作が完了した後の時刻に変更できる。よって、マスタは、複数回のプリフェッチデータ読み出し動作を要求しなくてもよいので、効率を向上できる。【００４４】
また、前記制御部は、さらに、前記マスタからの時間読み出し要求を受け付け、前記外部デバイスアクセス装置は、さらに、前記カウント部によりカウントされた時間を格納する時間格納部を備え、前記制御部は、前記時間読み出し要求を受け付けた場合、前記時間格納部に格納される前記時間を前記第１情報として前記マスタに出力してもよい。【００４５】
この構成によれば、外部デバイスアクセス装置は、マスタとの間に新たに信号出力用のバスを設けることなく、マスタにプリフェッチ動作が完了するまでの時間を通知できる。【００４６】
また、本発明に係るシステムＬＳＩは、前記外部デバイスアクセス装置と、マスタとを備えるシステムＬＳＩであって、前記外部デバイスアクセス装置は、前記第１情報を前記マスタの割り込み信号、又はスレッド切り替え信号として出力し、前記マスタは、前記第１情報を、割り込み処理、又はスレッド切り替え信号として処理する。【００４７】
また、本発明に係るシステムＬＳＩは、前記外部デバイスアクセス装置と、マスタとを備えるシステムＬＳＩであって、前記外部デバイスアクセス装置は、前記第１情報を前記マスタがソフト処理可能なフラグ信号として出力し、前記マスタは、前記第１情報を、ソフト処理可能なフラグ信号として処理する。【００４８】
また、本発明に係るシステムＬＳＩは、前記外部デバイスアクセス装置と、マスタとを備えるシステムＬＳＩであって、前記マスタは、前記制御信号を、前記プリフェッチデータ読み出し要求と同期して、前記外部デバイスアクセス装置に出力する。【００４９】
この構成によれば、ＣＰＵ又はマイコンなどの命令によって、マスタは、読み出し受理制御信号の出力を、プリフェッチデータ読み出し要求と同期させることで、プリフェッチ読み出し動作ごとに２つの動作を選択できる。よって、マスタはより最適な処理を行うことができる。【００５０】
また、本発明に係る制御方法は、マスタからの要求に応じて、外部デバイスからデータを読み出すプリフェッチ動作と、前記プリフェッチ動作で読み出したデータを前記マスタに出力するプリフェッチデータ読み出し動作を行う外部デバイスアクセス装置の制御方法であって、前記マスタからのプリフェッチ要求を受け付けるプリフェッチ要求受け付けステップと、前記プリフェッチ要求を受け付けた場合、前記外部デバイスからデータを読み出し、読み出したデータをデータ格納部に格納するプリフェッチステップと、前記プリフェッチステップが完了したか否かを示すプリフェッチ動作状態を保持する状態保持ステップと、前記マスタからのプリフェッチデータ読み出し要求を受け付けるプリフェッチデータ読み出し要求受け付けステップと、前記プリフェッチデータ読み出し要求を受け付けた場合、当該プリフェッチデータ読み出し要求を受け付けたことを示す受理信号を前記マスタに出力する受理信号生成ステップと、前記プリフェッチデータ読み出し要求を受け付けた場合、前記データ格納部に格納されるデータを前記マスタに出力するプリフェッチデータ読み出しステップと、前記プリフェッチ動作状態に基づく前記プリフェッチ動作の状態を示す第１情報を前記マスタに出力する第１情報出力ステップとを含む。【００５１】
これによれば、本発明に係る外部デバイスアクセス装置の制御方法は、プリフェッチ動作の状態を示す第１情報をマスタに出力する。これにより、マスタは、プリフェッチデータ読み出し動作時に、プリフェッチ動作が完了していない場合には、別の処理を先に行うことができる。よって、本発明に係る外部デバイスアクセス装置の制御方法は、マスタを効率的に使用できる。【００５２】
なお、本発明は、このような外部デバイスアクセス装置として実現できるだけでなく、外部デバイスアクセス装置に含まれる特徴的な手段をステップとする外部デバイスアクセス装置の制御方法として実現したり、そのような特徴的なステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体及びインターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
【発明の効果】
【００５３】
以上より、本発明は、マスタを効率的に使用できる外部デバイスアクセス装置、その制御方法及びシステムＬＳＩを提供できる。
【図面の簡単な説明】
【００５４】
【図１】図１は、従来の外部デバイスアクセス装置を用いた場合の、マスタによるプリフェッチ処理の流れを示すフローチャートである。
【図２】図２は、本発明の実施の形態１に係る外部デバイスアクセス装置の構成を示すブロック図である。
【図３】図３は、本発明の実施の形態１に係る外部デバイスアクセス装置を用いた場合の、マスタによるプリフェッチ処理の流れを示すフローチャートである。
【図４】図４は、本発明の実施の形態２に係る外部デバイスアクセス装置の構成を示すブロック図である。
【図５】図５は、本発明の実施の形態２に係る外部デバイスアクセス装置の変形例の構成を示すブロック図である。
【図６】図６は、本発明の実施の形態３に係る外部デバイスアクセス装置の構成を示すブロック図である。
【図７】図７は、本発明の実施の形態４に係る外部デバイスアクセス装置の構成を示すブロック図である。
【図８】図８は、本発明の実施の形態５に係る外部デバイスアクセス装置の構成を示すブロック図である。
【図９】図９は、本発明の実施の形態６に係る外部デバイスアクセス装置の構成を示すブロック図である。
【図１０】図１０は、本発明の実施の形態７に係る外部デバイスアクセス装置の構成を示すブロック図である。
【図１１】図１１は、本発明の実施の形態８に係る外部デバイスアクセス装置の構成を示すブロック図である。
【図１２】図１２は、本発明の実施の形態９に係る外部デバイスアクセス装置の構成を示すブロック図である。
【図１３】図１３は、本発明の実施の形態１０に係る外部デバイスアクセス装置の構成を示すブロック図である。
【図１４】図１４は、本発明の実施の形態１１に係る外部デバイスアクセス装置の構成を示すブロック図である。
【図１５】図１５は、本発明の実施の形態１２に係る外部デバイスアクセス装置の構成を示すブロック図である。
【符号の説明】
【００５５】
１０１  マスタ
１０２  外部デバイス
１０３、２０３、２１３、３０３、４０３、５０３、６０３、７０３、８０３、９０３、１００３、１１０３、１２０３  外部デバイスアクセス装置
１１０  書き込みアドレス格納部
１１１  書き込みデータ格納部
１１２、６１２  読み出しアドレス格納部
１１３  読み出しデータ格納部
１１４、３１４、６１４、１０１４、１２１４  アドレス制御部
１１５、６１５、８１５  格納動作状態保持部
１１６、５１６、９１６、１０１６、１１１６  受理信号生成部
１１７  状態信号格納部
１１８  サイクルカウント部
１３０  エラーデータ生成部
１３１、７３１  プリフェッチ中止制御部
１３２  読み出し制御部
１３３  カウント値格納部
１４０、１４１、１４２、１４３、１４４、１４５  セレクタ
１５０  アドレスバス
１５１  書き込みデータ入力バス
１５２  読み出しデータ出力バス
１５３  Ｒ／Ｗ信号バス
１５５  受理信号バス
１５６  プリフェッチ動作状態信号バス
１５７  外部デバイス状態信号出力バス
１５８  読み出し受理制御信号バス
１５９  デバッグ情報バス
１６０  書き込みアドレス
１６１  書き込み許可信号
１６２  読み出しアドレス
１６３  読み出しアドレス許可信号
１６４  読み出しデータ許可信号
１６５  プリフェッチ動作状態信号
１７０  書き込みアドレス出力バス
１７１  書き込みデータ出力バス
１７２  読み出しアドレス出力バス
１７３  読み出しデータ入力バス
１７４  外部デバイス状態信号入力バス
１７５  読み出し中止信号バス
１８０  エラーデータ
１８１  格納動作状態読み出し許可信号
１８２  プリフェッチデータ読み出し時状態信号
１８３  読み出し制御信号
１８４  カウント値読み出し許可信号
【発明を実施するための最良の形態】
【００５６】
以下、本発明に係る外部デバイスアクセス装置の実施の形態について、図面を参照しながら詳細に説明する。【００５７】
以下の実施の形態において、マスタとは、ＣＰＵ又はマイコン等の書き込み及び読み出しの制御を担当する装置である。外部デバイスとはＣＰＵ又はマイコン等をアシストするコプロセッサ又はアクセラレータ等の装置である。また、外部デバイスは、マスタがアドレスを指定することによりアクセス可能な資源を有する。【００５８】
（実施の形態１）
本発明の実施の形態１に係る外部デバイスアクセス装置は、プリフェッチデータ読み出し動作において、プリフェッチ動作が完了していない場合に、プリフェッチデータ読み出し動作を受け付けたことを示す受理信号と、プリフェッチ動作が完了しているか否かを示すプリフェッチ動作状態信号とをマスタに出力する。【００５９】
これにより、マスタは、プリフェッチ動作が完了していない場合には、他の処理を行うことができる。よって、本発明の実施の形態１に係る外部デバイスアクセス装置は、マスタを効率的に使用できる。【００６０】
まず、本発明の実施の形態１に係る外部デバイスアクセス装置の構成を説明する。【００６１】
図２は、本発明の実施の形態１に係る外部デバイスアクセス装置の構成を示すブロック図である。【００６２】
外部デバイスアクセス装置１０３は、アドレスバス１５０、書き込みデータ入力バス１５１、読み出しデータ出力バス１５２、書き込み読み出し制御信号（以下、Ｒ／Ｗ信号と呼ぶ）バス１５３、受理信号バス１５５、及びプリフェッチ動作状態信号バス１５６を介して、マスタ１０１と接続される。外部デバイスアクセス装置１０３は、書き込みアドレス出力バス１７０、書き込みデータ出力バス１７１、読み出しアドレス出力バス１７２、及び読み出しデータ入力バス１７３を介して、外部デバイス１０２と接続される。【００６３】
外部デバイスアクセス装置１０３は、通常書き込み動作と、プリフェッチ動作と、プリフェッチデータ読み出し動作とを行う。通常書き込み動作は、外部デバイス１０２への通常のデータ書き込み動作である。プリフェッチ動作は、予め外部デバイス１０２のデータを読み出しデータ格納部１１３に格納する動作である。プリフェッチデータ読み出し動作は、読み出しデータ格納部１１３が格納するデータをマスタ１０１へ出力する動作である。【００６４】
マスタ１０１は、通常書き込み動作と、プリフェッチ動作と、プリフェッチデータ読み出し動作とを外部デバイスアクセス装置１０３に要求する。【００６５】
外部デバイスアクセス装置１０３は、マスタ１０１からの要求に応じて、通常書き込み動作と、プリフェッチ動作と、プリフェッチデータ読み出し動作とを行う。【００６６】
外部デバイス１０２は、書き込みデータ出力バス１７１に出力された書き込みデータを、書き込みアドレス出力バス１７０に出力された書き込みアドレスに格納する。また、外部デバイス１０２は、読み出しアドレス出力バス１７２に出力された読み出しアドレスに格納しているデータを読み出し、読み出したデータを読み出しデータ入力バス１７３に出力する。【００６７】
例えば、マスタ１０１、外部デバイス１０２及び外部デバイスアクセス装置１０３は、１つのシステムＬＳＩに含まれる。なお、マスタ１０１、外部デバイス１０２及び外部デバイスアクセス装置１０３のうち２以上が１つのシステムＬＳＩに含まれてもよいし、それぞれ個別のＬＳＩとして形成されてもよい。【００６８】
外部デバイスアクセス装置１０３は、書き込みアドレス格納部１１０と、書き込みデータ格納部１１１と、読み出しアドレス格納部１１２と、読み出しデータ格納部１１３と、アドレス制御部１１４と、格納動作状態保持部１１５と、受理信号生成部１１６とを備える。【００６９】
アドレス制御部１１４は、マスタ１０１からの通常書き込み動作の要求（以下、通常書き込み要求。）、プリフェッチ動作の要求（以下、プリフェッチ要求。）及びプリフェッチデータ読み出し動作の要求（以下、プリフェッチ読み出し要求。）を受け付ける。アドレス制御部１１４は、マスタ１０１により、アドレスバス１５０に出力されたアドレスと、書き込みデータ入力バス１５１に出力された書き込みデータと、Ｒ／Ｗ信号バス１５３に出力されたＲ／Ｗ信号とに基づき、通常書き込み要求、プリフェッチ要求及びプリフェッチデータ読み出し要求を受け付ける。【００７０】
具体的には、アドレス制御部１１４は、アドレスバス１５０に出力されたアドレスが読み出しデータ格納部１１３に割り当てられたアドレスでなく、かつ、Ｒ／Ｗ信号によりデータ書き込みが指示されている場合、マスタ１０１からの要求が通常書き込み要求であることを認識し、通常書き込み要求を受け付ける。【００７１】
ここで、読み出しデータ格納部１１３は、マスタ１０１が持つアクセス空間に割り当てられたアドレスを持ち、マスタ１０１からアクセス可能である。ここで、アクセス可能とは、マスタ１０１が読み出しデータ格納部１１３のアドレスを指定することにより、読み出しデータ格納部１１３に格納されるデータの読み出し及び書き込みのうち少なくとも一方を行えることを意味する。【００７２】
また、アドレス制御部１１４は、アドレスバス１５０に出力されたアドレスが読み出しデータ格納部１１３に割り当てられたアドレスであり、かつ、Ｒ／Ｗ信号によりデータ書き込みが指示されている場合、マスタ１０１からの要求がプリフェッチ要求であることを認識し、プリフェッチ要求を受け付ける。【００７３】
また、アドレス制御部１１４は、アドレスバス１５０に出力されたアドレスが読み出しデータ格納部１１３に割り当てられたアドレスであり、かつ、Ｒ／Ｗ信号によりデータ読み出しが指示されている場合、マスタ１０１からの要求がプリフェッチデータ読み出し要求であることを認識し、プリフェッチデータ読み出し要求を受け付ける。【００７４】
アドレス制御部１１４は、通常書き込み要求、プリフェッチ要求及びプリフェッチデータ読み出し要求に応じて、通常書き込み動作、プリフェッチ動作及びプリフェッチデータ読み出し動作を行う。アドレス制御部１１４は、書き込みアドレス格納部１１０、書き込みデータ格納部１１１、読み出しアドレス格納部１１２、読み出しデータ格納部１１３、格納動作状態保持部１１５、及び受理信号生成部１１６を制御することで、通常書き込み動作、プリフェッチ動作及びプリフェッチデータ読み出し動作を行う。【００７５】
具体的には、アドレス制御部１１４は、通常書き込み要求、プリフェッチ要求及びプリフェッチデータ読み出し要求に応じて、書き込みアドレス１６０、書き込み許可信号１６１、読み出しアドレス１６２、読み出しアドレス許可信号１６３及び読み出しデータ許可信号１６４を生成する。【００７６】
アドレス制御部１１４は、通常書き込み要求を受け付けた際、書き込みデータ入力バス１５１のデータを書き込みアドレス１６０として出力し、書き込み許可信号１６１を出力する。アドレス制御部１１４は、プリフェッチ要求を受け付けた際、書き込みデータ入力バス１５１のデータを読み出しアドレス１６２として出力し、読み出しアドレス許可信号１６３を出力する。アドレス制御部１１４は、プリフェッチデータ読み出し要求を受け付けた際、読み出しデータ許可信号１６４を出力する。【００７７】
書き込みアドレス格納部１１０は、アドレス制御部１１４により書き込み許可信号１６１が出力された際に、書き込みアドレス１６０を取り込み、取り込んだ書き込みアドレス１６０を格納する。書き込みアドレス格納部１１０は、格納する書き込みアドレス１６０を書き込みアドレス出力バス１７０に出力する。【００７８】
書き込みデータ格納部１１１は、アドレス制御部１１４により書き込み許可信号１６１が出力された際に、書き込みデータ入力バス１５１の書き込みデータを取り込み、取り込んだ書き込みデータを格納する。書き込みデータ格納部１１１は、格納する書き込みデータを書き込みデータ出力バス１７１に出力する。【００７９】
読み出しアドレス格納部１１２は、アドレス制御部１１４により読み出しアドレス許可信号１６３が出力された際に、読み出しアドレス１６２を取り込み、取り込んだ読み出しアドレス１６２を格納する。読み出しアドレス格納部１１２は、格納する読み出しアドレス１６２を読み出しアドレス出力バス１７２に出力する。【００８０】
読み出しデータ格納部１１３は、読み出しデータ入力バス１７３に出力された読み出しデータを格納する。つまり、読み出しデータ格納部１１３は、プリフェッチ動作により読み出されたデータを格納する。読み出しデータ格納部１１３は、アドレス制御部１１４により読み出しデータ許可信号１６４が出力された際に、格納する読み出しデータを読み出しデータ出力バス１５２に出力する。【００８１】
格納動作状態保持部１１５は、読み出しデータ格納部１１３が外部デバイス１０２により出力される読み出しデータの格納動作中であるか否かを示す情報であるプリフェッチ動作状態信号を保持する。言い換えると、プリフェッチ動作状態信号は、プリフェッチ動作が完了したか否かを示す情報である。【００８２】
具体的には、格納動作状態保持部１１５は、読み出しアドレス格納部１１２により読み出しアドレス出力バス１７２に読み出しアドレスが出力された時に、格納動作中であること示す情報を保持する。格納動作状態保持部１１５は、外部デバイス１０２により読み出しデータ入力バス１７３に読み出しデータが出力された時に、保持していた格納動作中であることを示す情報を取り消し、格納動作が完了したことを示す情報を保持する。【００８３】
また、格納動作状態保持部１１５は、アドレス制御部１１４により読み出しデータ許可信号１６４が出力された際に、保持するプリフェッチ動作状態信号をプリフェッチ動作状態信号バス１５６に出力する。【００８４】
受理信号生成部１１６は、マスタ１０１からの通常書き込み要求、プリフェッチ要求、及びプリフェッチデータ読み出し要求を受け付けたことを示す受理信号をマスタ１０１に出力する。具体的には、受理信号生成部１１６は、アドレス制御部１１４により書き込み許可信号１６１、読み出しアドレス許可信号１６３又は読み出しデータ許可信号１６４が出力された際に、受理信号を受理信号バス１５５に出力する。【００８５】
また、受理信号生成部１１６は、プリフェッチデータ読み出し要求が受け付けられた際に、プリフェッチ動作が完了しているか否かによらず、直ちに受理信号をマスタ１０１に出力する。【００８６】
次に、外部デバイスアクセス装置１０３の動作について説明する。【００８７】
まず、通常書き込み動作について説明する。【００８８】
通常書き込み動作時には、マスタ１０１は、書き込みデータ入力バス１５１に書き込みデータを出力し、アドレスバス１５０に書き込みアドレスを出力し、Ｒ／Ｗ信号バス１５３にデータ書き込みを指示するＲ／Ｗ信号を出力する。ここで、マスタ１０１がアドレスバス１５０に出力する書き込みアドレスは、読み出しデータ格納部１１３に割り当てられたアドレスとは異なるアドレスである。【００８９】
アドレス制御部１１４は、アドレスバス１５０のアドレスが読み出しデータ格納部１１３に割り当てられたアドレスであるか否かを判定する。アドレス制御部１１４は、アドレスバス１５０のアドレスが読み出しデータ格納部１１３に割り当てられたアドレスでなく、かつ、Ｒ／Ｗ信号によりデータ書き込みが指示されているので、マスタ１０１からの要求が通常書き込み動作であることを認識する。つまり、アドレス制御部１１４は、マスタ１０１からの通常書き込み要求を受け付ける。【００９０】
通常書き込み要求を受け付けたアドレス制御部１１４は、アドレスバス１５０のアドレスである書き込みアドレス１６０を書き込みアドレス格納部１１０に出力する。また、アドレス制御部１１４は、書き込み許可信号１６１を書き込みアドレス格納部１１０、書き込みデータ格納部１１１及び受理信号生成部１１６に出力する。【００９１】
書き込みアドレス格納部１１０は、書き込み許可信号１６１に応じて、書き込みアドレス１６０を格納する。書き込みデータ格納部１１１は、書き込み許可信号１６１に応じて、書き込みデータ入力バス１５１の書き込みデータを格納する。受理信号生成部１１６は、書き込み許可信号１６１に応じて、書き込みアドレス１６０及び書き込みデータがそれぞれ書き込みアドレス格納部１１０及び書き込みデータ格納部１１１に格納された時点で受理信号バス１５５に受理信号を出力する。【００９２】
書き込みアドレス格納部１１０は、格納した書き込みアドレス１６０を書き込みアドレス出力バス１７０に出力する。書き込みデータ格納部１１１は、格納した書き込みデータを書き込みデータ出力バス１７１に出力する。書き込みアドレス格納部１１０及び書き込みデータ格納部１１１は、格納した書き込みアドレス及び書き込みデータを、外部デバイス１０２が受け付けるまで保持する。【００９３】
外部デバイスアクセス装置１０３は、外部デバイス１０２が受付を完了した後に通常書き込み動作を完了する。【００９４】
次に、プリフェッチ動作について説明する。【００９５】
プリフェッチ動作時には、マスタ１０１は、書き込みデータ入力バス１５１に読み出しアドレスを出力し、アドレスバス１５０に読み出しデータ格納部１１３に割り当てられたアドレスを出力し、Ｒ／Ｗ信号バス１５３にデータ書き込みを指示するＲ／Ｗ信号を出力する。【００９６】
アドレス制御部１１４は、アドレスバス１５０のアドレスが読み出しデータ格納部１１３に割り当てられたアドレスであるか否かを判定する。アドレス制御部１１４は、アドレスバス１５０のアドレスが読み出しデータ格納部１１３に割り当てられたアドレスであり、かつ、Ｒ／Ｗ信号によりデータ書き込みが指示されているので、マスタ１０１からの要求がプリフェッチ動作であることを認識する。つまり、アドレス制御部１１４は、マスタ１０１からのプリフェッチ要求を受け付ける。【００９７】
プリフェッチ要求を受け付けたアドレス制御部１１４は、書き込みデータ入力バス１５１のデータである読み出しアドレス１６２を読み出しアドレス格納部１１２に出力する。また、アドレス制御部１１４は、読み出しアドレス許可信号１６３を読み出しアドレス格納部１１２、及び受理信号生成部１１６に出力する。【００９８】
読み出しアドレス格納部１１２は、読み出しアドレス許可信号１６３に応じて、読み出しアドレス１６２を格納する。受理信号生成部１１６は、読み出しアドレス許可信号１６３に応じて、読み出しアドレス１６２が読み出しアドレス格納部１１２に格納された時点で受理信号バス１５５に受理信号を出力する。【００９９】
読み出しアドレス格納部１１２は、格納した読み出しアドレス１６２を読み出しアドレス出力バス１７２に出力する。また、読み出しアドレス格納部１１２は、格納した読み出しアドレス１６２を、格納動作状態保持部１１５に出力することで、格納動作中であることを示す。【０１００】
格納動作状態保持部１１５は、読み出しアドレス格納部１１２により出力される読み出しアドレスを受けて、格納動作中であること示す情報を保持する。【０１０１】
外部デバイス１０２は、読み出しアドレスを受け付けて、読み出しデータ入力バス１７３に読み出しデータを出力する。【０１０２】
読み出しデータ格納部１１３は、読み出しデータ入力バス１７３に出力された読み出しデータを格納する。また、格納動作状態保持部１１５は、読み出しデータ入力バス１７３に出力される読み出しデータを受けて、保持していた格納動作中であることを示す情報を取り消す。【０１０３】
また、読み出しアドレス格納部１１２は、読み出しデータ入力バス１７３に出力された読み出しデータが読み出しデータ格納部１１３に格納されるまで、読み出しアドレス１６２を格納する。【０１０４】
以上によりプリフェッチ動作が完了する。【０１０５】
次に、プリフェッチデータ読み出し動作について説明する。【０１０６】
プリフェッチデータ読み出し動作時には、マスタ１０１は、アドレスバス１５０に読み出しデータ格納部１１３に割り当てられたアドレスを出力し、Ｒ／Ｗ信号バス１５３にデータ読み出しを指示するＲ／Ｗ信号を出力する。【０１０７】
アドレス制御部１１４は、アドレスバス１５０のアドレスが読み出しデータ格納部１１３に割り当てられたアドレスであるか否かを判定する。アドレス制御部１１４は、アドレスバス１５０のアドレスが読み出しデータ格納部１１３に割り当てられたアドレスであり、かつ、Ｒ／Ｗ信号によりデータ読み出しが指示されているので、マスタ１０１からの要求がプリフェッチデータ読み出し動作であることを認識する。つまり、アドレス制御部１１４は、マスタ１０１からのプリフェッチデータ読み出し要求を受け付ける。【０１０８】
プリフェッチデータ読み出し要求を受け付けたアドレス制御部１１４は、読み出しデータ許可信号１６４を読み出しデータ格納部１１３、格納動作状態保持部１１５及び受理信号生成部１１６に出力する。【０１０９】
読み出しデータ格納部１１３は、読み出しデータ許可信号１６４を受けて、格納しているデータを読み出しデータ出力バス１５２に出力する。【０１１０】
格納動作状態保持部１１５は、読み出しデータ許可信号１６４を受けて、プリフェッチ動作状態信号バス１５６にプリフェッチ動作状態信号を出力する。格納動作状態保持部１１５は、格納動作中であること示す情報を保持している場合には、プリフェッチ動作を実行中であることを示すプリフェッチ動作状態信号を出力し、格納動作中であること示す情報を保持していない場合には、プリフェッチ動作を実行中でないことを示すプリフェッチ動作状態信号を出力する。【０１１１】
受理信号生成部１１６は、読み出しデータ許可信号１６４を受けて、受理信号バス１５５に受理信号を出力する。ここで、受理信号生成部１１６は、プリフェッチ動作中であっても、受理信号バス１５５に受理信号を出力する。【０１１２】
以上によりプリフェッチデータ読み出し動作が完了する。【０１１３】
次に、本発明の実施の形態１に係る外部デバイスアクセス装置１０３に接続されるマスタ１０１の動作について説明する。【０１１４】
図３は、マスタ１０１のプリフェッチ処理の流れを示すフローチャートである。【０１１５】
図３に示すように、まず、マスタ１０１は、外部デバイスアクセス装置１０３に対してプリフェッチ動作を要求する（Ｓ１０１）。【０１１６】
次に、マスタ１０１は、プリフェッチデータ読み出し動作を行うまでに実行可能な処理を行う（Ｓ１０２）。ここで、マスタ１０１が処理を行う期間は、外部デバイスアクセス装置１０３が正常時にプリフェッチ動作を完了するまでの期間である。【０１１７】
次に、マスタ１０１は、外部デバイスアクセス装置１０３にプリフェッチデータ読み出し動作を要求する（Ｓ１０３）。【０１１８】
マスタ１０１は、受理信号バス１５５に出力された受理信号を受け、プリフェッチ動作状態信号バス１５６に出力されたプリフェッチ動作状態信号を確認し、プリフェッチ動作が実行中であるか否かを判定する（Ｓ１０４）。【０１１９】
プリフェッチ動作が完了している場合（Ｓ１０４でＮｏ）、マスタ１０１は、読み出しデータ出力バス１５２に出力された読み出しデータを用いて処理を実行する（Ｓ１０５）。【０１２０】
一方、外部デバイス１０２の異常状態、又は他のマスタからのアクセスの競合などによりプリフェッチ動作が完了していない場合（Ｓ１０４でＹｅｓ）、マスタ１０１は、次の処理、又は別の処理に移行し、移行した処理を実行する（Ｓ１０６）。【０１２１】
次に、所定の時間後、マスタ１０１は、元の処理に復帰し（Ｓ１０７）、再度、外部デバイスアクセス装置１０３にプリフェッチデータを読み出し動作を要求する（Ｓ１０３）。【０１２２】
以上のように、外部デバイスアクセス装置１０３は、プリフェッチデータ読み出し動作において、外部デバイス１０２が異常状態等によりプリフェッチ動作実行中であっても、マスタ１０１に対して受理信号を出力する。これにより、プリフェッチデータ読み出し動作を完了させることができる。よって、外部デバイス１０２が異常状態等によりプリフェッチ動作が完了していない場合でもマスタ１０１は次の処理に移行できる。【０１２３】
また、外部デバイスアクセス装置１０３は、プリフェッチ動作状態信号を出力する。これにより、マスタ１０１は、プリフェッチデータ読み出し動作時にプリフェッチ動作が実行中であるか否かの判断を行える。これにより、マスタ１０１は、プリフェッチ動作が完了していない場合には、他の処理を行うことができる。よって、本発明の実施の形態１に係る外部デバイスアクセス装置１０３は、マスタ１０１を効率的に使用できる。【０１２４】
なお、外部デバイスアクセス装置１０３は、プリフェッチ動作状態信号を、割り込み信号、スレッド切り替え信号、又はマスタがソフト処理可能なフラグ信号として出力し、マスタ１０１は、プリフェッチ動作状態信号を割り込み信号、スレッド切り替え信号、又はマスタがソフト処理可能なフラグ信号として処理してもよい。【０１２５】
（実施の形態２）
本発明の実施の形態２に係る外部デバイスアクセス装置は、上述した実施の形態１に係る外部デバイスアクセス装置１０３の変形例である。実施の形態２に係る外部デバイスアクセス装置は、プリフェッチデータ読み出し動作時においてプリフェッチ動作が完了していない場合には、読み出しデータ出力バス１５２にエラーが生じたことを示すデータを出力する。【０１２６】
まず、本発明の実施の形態２に係る外部デバイスアクセス装置の構成を説明する。【０１２７】
図４は、本発明の実施の形態２に係る外部デバイスアクセス装置の構成を示すブロック図である。なお、図２と同様の要素には同一の符号を付しており重複する説明は省略する。【０１２８】
実施の形態２に係る外部デバイスアクセス装置２０３は、実施の形態１に係る外部デバイスアクセス装置１０３の構成に加え、さらに、エラーデータ生成部１３０と、セレクタ１４０とを備える。【０１２９】
また、外部デバイスアクセス装置２０３は、プリフェッチ動作状態信号バス１５６を介して、マスタ１０１と接続されない点が実施の形態１と異なる。【０１３０】
エラーデータ生成部１３０は、予め定められたエラーデータ１８０を生成し、セレクタ１４０に出力する。【０１３１】
セレクタ１４０は、読み出しデータ格納部１１３に格納される読み出しデータ、又は、エラーデータ生成部１３０により出力されたエラーデータ１８０を、格納動作状態保持部１１５から出力されたプリフェッチ動作状態信号１６５に応じて選択し、選択した読み出しデータ又はエラーデータ１８０を読み出しデータ出力バス１５２に出力する。具体的には、セレクタ１４０は、プリフェッチ動作状態信号１６５がプリフェッチ動作中であることを示す場合、エラーデータ１８０を選択し、プリフェッチ動作状態信号１６５がプリフェッチ動作中でないことを示す場合、読み出しデータを選択する。【０１３２】
次に、外部デバイスアクセス装置２０３の動作について説明する。なお、実施の形態１と同様の動作については説明を省略する。【０１３３】
通常書き込み動作及びプリフェッチ動作は、実施の形態１と同様である。【０１３４】
以下、プリフェッチデータ読み出し動作について説明する。【０１３５】
プリフェッチデータ読み出し動作において、セレクタ１４０は、格納動作状態保持部１１５により出力されるプリフェッチ動作状態信号１６５がプリフェッチ動作中であることを示す場合、エラーデータ１８０を選択し、選択したエラーデータ１８０を読み出しデータ出力バス１５２に出力する。また、セレクタ１４０は、プリフェッチ動作状態信号１６５がプリフェッチ動作中でないことを示す場合、読み出しデータ格納部１１３に格納される読み出しデータを選択し、選択した読み出しデータを読み出しデータ出力バス１５２に出力する。【０１３６】
以上により、マスタ１０１は、読み出しデータ出力バス１５２に出力されたデータが予め定められたエラーデータ１８０である場合には、プリフェッチ動作が実行中であると判断し、読み出しデータ出力バス１５２に出力されたデータがエラーデータ１８０でない場合には、プリフェッチ動作が完了していると判断できる。【０１３７】
これにより、本発明の実施の形態２に係る外部デバイスアクセス装置２０３は、実施の形態１に係る外部デバイスアクセス装置１０３の利点に加えて、マスタ１０１との間にプリフェッチ動作状態信号バス１５６を設けなくてよいという利点がある。【０１３８】
なお、外部デバイスアクセス装置１０３は、プリフェッチ動作が実行中の場合に、エラーデータ１８０の代わりに、読み出しアドレス格納部１１２から出力される読み出しアドレスを出力してもよい。【０１３９】
図５は、本発明の実施の形態２に係る外部デバイスアクセス装置２０３の変形例の構成を示す図である。【０１４０】
図５に示す外部デバイスアクセス装置２１３は、エラーデータ生成部１３０を備えず、かつセレクタ１４０に、エラーデータ１８０の代わりに読み出しアドレス格納部１１２に格納される読み出しアドレスが入力される。セレクタ１４０は、プリフェッチ動作状態信号１６５がプリフェッチ動作中であることを示す場合、読み出しアドレス格納部１１２に格納される読み出しアドレスを選択し、選択した読み出しアドレスを読み出しデータ出力バス１５２に出力する。【０１４１】
これにより、マスタ１０１は、読み出しデータ出力バス１５２に出力されたデータがプリフェッチ動作中の読み出しアドレスである場合には、プリフェッチ動作が実行中であると判断できる。【０１４２】
（実施の形態３）
本発明の実施の形態３に係る外部デバイスアクセス装置は、上述した実施の形態１に係る外部デバイスアクセス装置１０３の変形例である。実施の形態３に係る外部デバイスアクセス装置は、さらに、プリフェッチ動作が完了したか否かを示す情報を出力するプリフェッチ実行状態読み出し動作を行う。【０１４３】
まず、本発明の実施の形態３に係る外部デバイスアクセス装置の構成を説明する。【０１４４】
図６は、本発明の実施の形態３に係る外部デバイスアクセス装置の構成を示すブロック図である。なお、図２と同様の要素には同一の符号を付しており重複する説明は省略する。【０１４５】
実施の形態３に係る外部デバイスアクセス装置３０３は、実施の形態１に係る外部デバイスアクセス装置１０３の構成に加え、さらに、セレクタ１４１を備える。また、外部デバイスアクセス装置３０３は、外部デバイスアクセス装置１０３に対して、アドレス制御部３１４の構成が異なる。【０１４６】
また、外部デバイスアクセス装置３０３は、プリフェッチ動作状態信号バス１５６を介して、マスタ１０１と接続されない点が実施の形態１と異なる。【０１４７】
外部デバイスアクセス装置３０３は、通常書き込み動作、プリフェッチ動作、プリフェッチデータ読み出し動作に加えて、プリフェッチ実行状態読み出し動作を行う。【０１４８】
プリフェッチ実行状態読み出し動作は、現在プリフェッチ動作が実行中であるか否かを示す情報をマスタ１０１に出力する動作である。また、格納動作状態保持部１１５は、マスタ１０１が持つアクセス空間に割り当てられたアドレスを持ち、マスタ１０１からアクセス可能である。【０１４９】
アドレス制御部３１４は、アドレス制御部１１４の機能に加え、マスタ１０１からのプリフェッチ実行状態読み出し動作の要求（以下、プリフェッチ実行状態読み出し要求。）を受け付ける。具体的には、アドレス制御部３１４は、アドレスバス１５０に出力されたアドレスが格納動作状態保持部１１５に割り当てられたアドレスであり、かつ、Ｒ／Ｗ信号によりデータ読み出しが指示されている場合、マスタ１０１からの要求がプリフェッチ実行状態読み出し要求であることを認識し、プリフェッチ実行状態読み出し要求を受け付ける。【０１５０】
アドレス制御部３１４は、プリフェッチ実行状態読み出し要求に応じて、プリフェッチ実行状態読み出し動作を行う。アドレス制御部３１４は、読み出しデータ格納部１１３及びセレクタ１４１を制御することで、プリフェッチ実行状態読み出し動作を行う。【０１５１】
具体的には、アドレス制御部３１４は、プリフェッチ実行状態読み出し要求を受け付けた際、読み出しデータ許可信号１６４及び格納動作状態読み出し許可信号１８１を出力する。【０１５２】
セレクタ１４１は、アドレス制御部３１４により格納動作状態読み出し許可信号１８１が出力されていない場合、読み出しデータ格納部１１３に格納される読み出しデータを選択し、選択した読み出しデータを読み出しデータ出力バス１５２に出力する。セレクタ１４１は、アドレス制御部３１４により格納動作状態読み出し許可信号１８１が出力されている場合、格納動作状態読み出しデータ格納部１１３に格納されるプリフェッチ動作状態信号１６５を選択し、選択したプリフェッチ動作状態信号１６５を読み出しデータ出力バス１５２に出力する。【０１５３】
次に、外部デバイスアクセス装置３０３の動作について説明する。なお、実施の形態１と同様の動作については説明を省略する。【０１５４】
通常書き込み動作及びプリフェッチ動作は、実施の形態１と同様である。【０１５５】
以下、プリフェッチデータ読み出し動作について説明する。【０１５６】
プリフェッチデータ読み出し動作において、セレクタ１４１は、アドレス制御部３１４により格納動作状態読み出し許可信号１８１が出力されていないので、読み出しデータ格納部１１３に格納される読み出しデータを選択し、選択した読み出しデータを読み出しデータ出力バス１５２に出力する。【０１５７】
次に、プリフェッチ実行状態読み出し動作について説明する。【０１５８】
プリフェッチ実行状態読み出し動作時には、マスタ１０１は、アドレスバス１５０に格納動作状態保持部１１５に割り当てられたアドレスを出力し、Ｒ／Ｗ信号バス１５３にデータ読み出しを指示するＲ／Ｗ信号を出力する。【０１５９】
アドレス制御部３１４は、アドレスバス１５０のアドレスが読み出しデータ格納部１１３に割り当てられたアドレスであるか否か、及び読み出し格納動作状態保持部１１５に割り当てられたアドレスであるか否かを判定する。アドレス制御部３１４は、アドレスバス１５０のアドレスが格納動作状態保持部１１５に割り当てられたアドレスであり、かつ、Ｒ／Ｗ信号によりデータ読み出しが指示されているので、マスタ１０１からの要求がプリフェッチ実行状態読み出し動作であることを認識する。【０１６０】
アドレス制御部３１４は、読み出しデータ許可信号１６４を読み出しデータ格納部１１３、格納動作状態保持部１１５及び受理信号生成部１１６に出力し、格納動作状態読み出し許可信号１８１をセレクタ１４１に出力する。【０１６１】
格納動作状態保持部１１５は、読み出しデータ許可信号１６４を受けて、プリフェッチ動作状態信号１６５を出力する。【０１６２】
セレクタ１４１は、アドレス制御部３１４により格納動作状態読み出し許可信号１８１が出力されているので、プリフェッチ動作状態信号１６５を選択し、選択したプリフェッチ動作状態信号１６５を読み出しデータ出力バス１５２に出力する。【０１６３】
受理信号生成部１１６は、読み出しデータ許可信号１６４を受けて、受理信号バス１５５に受理信号を出力する。【０１６４】
以上によりプリフェッチ実行状態読み出し動作が完了する。【０１６５】
以上より、本発明の実施の形態３に係る外部デバイスアクセス装置３０３は、実施の形態１に係る外部デバイスアクセス装置１０３の利点に加えて、マスタ１０１との間にプリフェッチ動作状態信号バス１５６を設けなくてよいという利点がある。【０１６６】
さらに、マスタ１０１は、プリフェッチデータ読み出し動作を行う前に、プリフェッチ実行状態読み出し動作を行うことで、不要なプリフェッチデータ読み出し動作を行わなくてもよいという効果がある。【０１６７】
（実施の形態４）
本発明の実施の形態４に係る外部デバイスアクセス装置は、上述した実施の形態１に係る外部デバイスアクセス装置１０３の変形例である。実施の形態４に係る外部デバイスアクセス装置は、外部デバイス１０２の状態を示す外部デバイス状態信号を、マスタ１０１に出力する。【０１６８】
まず、本発明の実施の形態４に係る外部デバイスアクセス装置の構成を説明する。【０１６９】
図７は、本発明の実施の形態４に係る外部デバイスアクセス装置の構成を示すブロック図である。なお、図２と同様の要素には同一の符号を付しており重複する説明は省略する。【０１７０】
実施の形態４に係る外部デバイスアクセス装置４０３は、実施の形態１に係る外部デバイスアクセス装置１０３の構成に加え、さらに、状態信号格納部１１７と、セレクタ１４２とを備える。【０１７１】
また、外部デバイスアクセス装置４０３は、実施の形態１の接続関係に加え、外部デバイス状態信号出力バス１５７を介して、マスタ１０１と接続され、外部デバイス状態信号入力バス１７４を介して、外部デバイス１０２と接続される。【０１７２】
また、外部デバイス１０２は、外部デバイス状態信号を外部デバイス状態信号入力バス１７４に出力する。外部デバイス状態信号は、外部デバイス１０２の動作状態を示す信号であり、例えば、異常状態、又は他のマスタからのアクセスにより書き込み又は読み出し動作中であることを示す信号である。【０１７３】
状態信号格納部１１７は、プリフェッチ動作が完了した際に、外部デバイス１０２により外部デバイス状態信号入力バス１７４に出力される外部デバイス状態信号を取り込み格納する。状態信号格納部１１７は、格納する外部デバイス状態信号をセレクタ１４２に出力する。【０１７４】
セレクタ１４２は、プリフェッチ動作状態信号バス１５６に出力されたプリフェッチ動作状態信号に応じて、外部デバイス状態信号入力バス１７４に出力された外部デバイス状態信号、又は状態信号格納部１１７に格納される外部デバイス状態信号を選択し、選択した外部デバイス状態信号を外部デバイス状態信号出力バス１５７に出力する。具体的には、セレクタ１４２は、プリフェッチ動作状態信号がプリフェッチ動作中であることを示す場合、外部デバイス状態信号入力バス１７４の外部デバイス状態信号を選択し、プリフェッチ動作状態信号がプリフェッチ動作中でないことを示す場合、状態信号格納部１１７に格納される外部デバイス状態信号を選択する。【０１７５】
次に、外部デバイスアクセス装置４０３の動作について説明する。なお、実施の形態１と同様の動作については説明を省略する。【０１７６】
通常書き込み動作は、実施の形態１と同様である。【０１７７】
プリフェッチ動作において、プリフェッチ動作が完了した際に、状態信号格納部１１７は、外部デバイス状態信号入力バス１７４の外部デバイス状態信号を取り込み格納する。【０１７８】
以下、プリフェッチデータ読み出し動作について説明する。【０１７９】
プリフェッチデータ読み出し動作において、セレクタ１４２は、格納動作状態保持部１１５により出力されるプリフェッチ動作状態信号がプリフェッチ動作中であることを示す場合、外部デバイス状態信号入力バス１７４の外部デバイス状態信号を外部デバイス状態信号出力バス１５７に出力する。また、セレクタ１４２は、プリフェッチ動作状態信号がプリフェッチ動作中でないことを示す場合、状態信号格納部１１７に格納される外部デバイス状態信号を外部デバイス状態信号出力バス１５７に出力する。【０１８０】
以上により、外部デバイスアクセス装置４０３は、プリフェッチ実行中の場合には、現在の外部デバイス１０２の状態をマスタ１０１に通知し、プリフェッチ動作が完了している場合には、当該プリフェッチ動作の完了時の外部デバイス１０２の状態をマスタ１０１に通知する。【０１８１】
これにより、本発明の実施の形態４に係る外部デバイスアクセス装置４０３は、実施の形態１に係る外部デバイスアクセス装置１０３の利点に加えて、マスタ１０１がプリフェッチ実行中の外部デバイス１０２の状態を知ることができるという利点がある。これにより、マスタ１０１は、外部デバイス１０２の状態に応じて最適な処理を行うことができる。【０１８２】
（実施の形態５）
本発明の実施の形態５に係る外部デバイスアクセス装置は、上述した実施の形態４に係る外部デバイスアクセス装置４０３の変形例である。実施の形態５に係る外部デバイスアクセス装置は、プリフェッチ動作が実行中の場合、外部デバイス１０２の状態に応じて、受理信号を直ちに出力するか、プリフェッチ動作の完了後に受理信号を出力するかを選択する。【０１８３】
図８は、本発明の実施の形態５に係る外部デバイスアクセス装置の構成を示すブロック図である。なお、図７と同様の要素には同一の符号を付しており重複する説明は省略する。【０１８４】
実施の形態５に係る外部デバイスアクセス装置５０３は、実施の形態４に係る外部デバイスアクセス装置４０３に対して、受理信号生成部５１６の構成が異なる。【０１８５】
受理信号生成部５１６は、プリフェッチデータ読み出し要求が受け付けられた際に、外部デバイス状態信号入力バス１７４の外部デバイス状態信号に応じて、プリフェッチ動作が完了しているか否かによらず受理信号をマスタ１０１に出力する動作、又は、プリフェッチ動作が完了した後に受理信号をマスタ１０１に出力する動作を選択的に行う。【０１８６】
具体的には、受理信号生成部５１６は、読み出しデータ許可信号１６４、格納動作状態保持部１１５により出力されるプリフェッチ動作状態信号、及び外部デバイス状態信号入力バス１７４の外部デバイス状態信号に応じて、受理信号を受理信号バス１５５に出力する動作を選択する。【０１８７】
受理信号生成部５１６は、プリフェッチ動作状態信号がプリフェッチ動作中でないことを示す場合には、アドレス制御部１１４により読み出しデータ許可信号１６４が出力された際に、受理信号を受理信号バス１５５に出力する。【０１８８】
また、受理信号生成部５１６は、プリフェッチ動作状態信号が、プリフェッチ動作中であることを示し、かつ、外部デバイス状態信号により外部デバイス１０２が正常に動作していることが示される場合には、プリフェッチ動作が完了した後に、受理信号を受理信号バス１５５に出力する。【０１８９】
また、受理信号生成部５１６は、プリフェッチ動作状態信号が、プリフェッチ動作中であることを示し、かつ、外部デバイス状態信号により外部デバイス１０２が異常状態であることが示される場合には、プリフェッチ動作の完了を待たずに、アドレス制御部１１４により読み出しデータ許可信号１６４が出力された際に、受理信号を受理信号バス１５５に出力する。【０１９０】
以上の構成により、実施の形態５に係る外部デバイスアクセス装置５０３は、プリフェッチ動作が実行中の場合、外部デバイス１０２の状態に応じて、受理信号を直ちに出力するか、プリフェッチ動作の完了後に受理信号を出力するかを選択する。【０１９１】
これにより、正常時のプリフェッチ完了までのレイテンシが可変の外部デバイス１０２に対しても、マスタ１０１は、常に最大のレイテンシ期間を空けてプリフェッチデータ読み出し動作を行わなくてもよく、最小のレイテンシ期間を空けてプリフェッチデータ読み出し動作を行えばよい。よって、実施の形態５に係る外部デバイスアクセス装置５０３は、マスタ１０１を更に効率的に使用できる。【０１９２】
（実施の形態６）
本発明の実施の形態６に係る外部デバイスアクセス装置は、上述した実施の形態４に係る外部デバイスアクセス装置４０３の変形例である。実施の形態６に係る外部デバイスアクセス装置は、さらに、プリフェッチ動作を中止するプリフェッチ中止動作を行う。【０１９３】
まず、本発明の実施の形態６に係る外部デバイスアクセス装置の構成を説明する。【０１９４】
図９は、本発明の実施の形態６に係る外部デバイスアクセス装置の構成を示すブロック図である。なお、図７と同様の要素には同一の符号を付しており重複する説明は省略する。【０１９５】
実施の形態６に係る外部デバイスアクセス装置６０３は、実施の形態４に係る外部デバイスアクセス装置４０３に対して、読み出しアドレス格納部６１２及び格納動作状態保持部６１５の構成が異なる。また、外部デバイスアクセス装置６０３は、外部デバイスアクセス装置４０３の構成に加え、プリフェッチ中止制御部１３１を備える。【０１９６】
また、外部デバイスアクセス装置６０３は、実施の形態４の接続関係に加え、さらに、読み出し中止信号バス１７５を介して、外部デバイス１０２と接続される。【０１９７】
外部デバイスアクセス装置６０３は、通常書き込み動作、プリフェッチ動作、及びプリフェッチデータ読み出し動作に加えて、プリフェッチ中止動作を行う。【０１９８】
プリフェッチ中止動作は、現在実行中のプリフェッチ動作を中止する動作である。また、プリフェッチ中止制御部１３１は、マスタ１０１が持つアクセス空間に割り当てられたアドレスを持ち、マスタ１０１からアクセス可能である。【０１９９】
アドレス制御部６１４は、アドレス制御部１１４の機能に加え、マスタ１０１からのプリフェッチ中止動作の要求（以下、プリフェッチ中止要求。）を受け付ける。具体的には、アドレス制御部６１４は、アドレスバス１５０に出力されたアドレスがプリフェッチ中止制御部１３１に割り当てられたアドレスであり、かつ、Ｒ／Ｗ信号によりデータ書き込みが指示されている場合、マスタ１０１からの要求がプリフェッチ中止要求であることを認識し、プリフェッチ中止要求を受け付ける。【０２００】
アドレス制御部６１４は、プリフェッチ中止要求に応じて、プリフェッチ中止動作を行う。アドレス制御部６１４は、プリフェッチ中止制御部１３１を制御することで、プリフェッチ中止動作を行う。【０２０１】
具体的には、アドレス制御部６１４は、プリフェッチ中止要求を受け付けた際、書き込みアドレス１６０と書き込み許可信号１６１をプリフェッチ中止制御部１３１に出力する。【０２０２】
プリフェッチ中止制御部１３１は、書き込みデータ入力バス１５１の書き込みデータ、書き込みアドレス１６０及び書き込み許可信号１６１に応じて、読み出し中止信号を読み出し中止信号バス１７５に出力する。具体的には、プリフェッチ中止制御部１３１は、書き込みアドレス１６０が、プリフェッチ中止制御部１３１に割り当てられたアドレスであり、かつ、書き込みデータ入力バス１５１の書き込みデータが所定の値である場合、アドレス制御部６１４により書き込み許可信号１６１が出力された際に、読み出し中止信号を読み出し中止信号バス１７５に出力する。【０２０３】
読み出しアドレス格納部６１２は、プリフェッチ中止制御部１３１により読み出し中止信号が出力された場合、保持する読み出しアドレスを取り消す。格納動作状態保持部６１５は、プリフェッチ中止制御部１３１により読み出し中止信号が出力された場合、保持していた格納動作中であることを示す情報を取り消す。【０２０４】
外部デバイス１０２は、プリフェッチ中止制御部１３１により読み出し中止信号バス１７５に読み出し中止信号が出力された場合、現在実行中の読み出し動作を中止する。【０２０５】
次に、外部デバイスアクセス装置６０３の動作について説明する。なお、実施の形態４と同様の動作については説明を省略する。【０２０６】
通常書き込み動作、プリフェッチ動作及びプリフェッチデータ読み出し動作は、実施の形態４と同様である。【０２０７】
以下、プリフェッチ中止動作について説明する。【０２０８】
プリフェッチ実行状態読み出し動作時には、マスタ１０１は、アドレスバス１５０にプリフェッチ中止制御部１３１に割り当てられたアドレスを出力し、Ｒ／Ｗ信号バス１５３にデータ書き込みを指示するＲ／Ｗ信号を出力する。【０２０９】
アドレス制御部６１４は、アドレスバス１５０のアドレスが読み出しデータ格納部１１３に割り当てられたアドレスであるか否か、及びプリフェッチ中止制御部１３１に割り当てられたアドレスであるか否かを判定する。アドレス制御部６１４は、アドレスバス１５０のアドレスがプリフェッチ中止制御部１３１に割り当てられたアドレスであり、かつ、Ｒ／Ｗ信号によりデータ書き込みが指示されているので、マスタ１０１からの要求がプリフェッチ中止動作であることを認識する。【０２１０】
アドレス制御部６１４は、書き込み許可信号１６１を書き込みデータ格納部１１１に出力し、書き込み許可信号１６１、及びアドレスバス１５０のアドレスを書き込みアドレス１６０としてプリフェッチ中止制御部１３１に出力する。【０２１１】
プリフェッチ中止制御部１３１は、書き込みアドレス１６０が、プリフェッチ中止制御部１３１に割り当てられたアドレスであり、かつ、書き込みデータ入力バス１５１の書き込みデータが所定の値であるので、アドレス制御部６１４により書き込み許可信号１６１が出力された際に、読み出し中止信号を読み出し中止信号バス１７５に出力する。【０２１２】
読み出しアドレス格納部６１２は、読み出し中止信号を受けて、保持する読み出しアドレスを取り消す。また、格納動作状態保持部６１５は、読み出し中止信号を受けて、保持していた格納動作中であることを示す情報を取り消す。【０２１３】
外部デバイス１０２は、読み出し中止信号を受けて、現在実行中の読み出し動作を中止する。【０２１４】
以上によりプリフェッチ中止動作が完了する。【０２１５】
以上より、実施の形態６に係る外部デバイスアクセス装置６０３は、マスタ１０１の要求に応じて、プリフェッチ動作を中止する。これにより、マスタ１０１は、外部デバイスの状態に応じて、プリフェッチ動作を中止することができる。よって、本発明の実施の形態６に係る外部デバイスアクセス装置６０３は、実施の形態４に係る外部デバイスアクセス装置４０３の利点に加えて、さらに効率的に外部デバイス１０２を使用できるという利点がある。【０２１６】
（実施の形態７）
本発明の実施の形態７に係る外部デバイスアクセス装置は、上述した実施の形態６に係る外部デバイスアクセス装置６０３の変形例である。実施の形態７に係る外部デバイスアクセス装置は、プリフェッチデータ読み出し時に、プリフェッチ動作が実行中である場合、外部デバイス１０２の状態に応じて、プリフェッチ動作を中止する。【０２１７】
図１０は、本発明の実施の形態７に係る外部デバイスアクセス装置の構成を示すブロック図である。なお、図９と同様の要素には同一の符号を付しており重複する説明は省略する。【０２１８】
実施の形態７に係る外部デバイスアクセス装置７０３は、実施の形態６に係る外部デバイスアクセス装置６０３に対して、プリフェッチ中止制御部７３１の構成が異なる。【０２１９】
また、外部デバイスアクセス装置７０３は、通常書き込み動作、プリフェッチ動作及びプリフェッチデータ読み出し動作を行い、マスタ１０１からの要求に応じてプリフェッチ中止動作を行わない。【０２２０】
また、アドレス制御部１１４の構成は、実施の形態４と同様である。【０２２１】
プリフェッチ中止制御部７３１は、プリフェッチデータ読み出し要求が受け付けられ、かつ、プリフェッチ動作状態信号バス１５６のプリフェッチ動作状態信号によりプリフェッチ動作が完了していないことが示される場合、外部デバイス状態信号入力バス１７４の外部デバイス状態信号に応じて、プリフェッチ動作を中止する制御を行う。【０２２２】
具体的には、プリフェッチ中止制御部７３１は、プリフェッチ動作状態信号によりプリフェッチ動作中であることが示され、かつ外部デバイス状態信号により外部デバイス１０２が異常状態であることが示される場合、アドレス制御部１１４により読み出しデータ許可信号１６４が出力された際に、読み出し中止信号を読み出し中止信号バス１７５に出力する。【０２２３】
以上の構成により、プリフェッチデータ読み出し動作時において、プリフェッチ動作が実行中であり、かつ外部デバイス１０２が異常状態の場合には、外部デバイスアクセス装置７０３は、プリフェッチ動作を中止する。これにより、マスタ１０１は、プリフェッチ中止動作を要求しなくてもよい。よって、本発明の実施の形態７に係る外部デバイスアクセス装置７０３は、実施の形態６に係る外部デバイスアクセス装置７０３の利点に加えて、マスタ１０１の処理を削減できるという利点がある。【０２２４】
（実施の形態８）
本発明の実施の形態８に係る外部デバイスアクセス装置は、上述した実施の形態４に係る外部デバイスアクセス装置４０３の変形例である。実施の形態８に係る外部デバイスアクセス装置は、プリフェッチ実行中の場合には、プリフェッチ動作状態信号１６５を外部デバイス状態信号出力バス１５７に出力する。【０２２５】
まず、本発明の実施の形態８に係る外部デバイスアクセス装置の構成を説明する。【０２２６】
図１１は、本発明の実施の形態８に係る外部デバイスアクセス装置の構成を示すブロック図である。なお、図６及び図７と同様の要素には同一の符号を付しており重複する説明は省略する。【０２２７】
実施の形態８に係る外部デバイスアクセス装置８０３は、実施の形態４に係る外部デバイスアクセス装置４０３に対して、格納動作状態保持部８１５、セレクタ１４４、及びアドレス制御部３１４の構成が異なる。なお、アドレス制御部３１４の構成は実施の形態３と同様である。また、外部デバイスアクセス装置８０３は、外部デバイスアクセス装置４０３の構成に加えて、セレクタ１４３を備える。【０２２８】
格納動作状態保持部８１５は、格納動作状態保持部１１５の機能に加え、さらに、プリフェッチデータ読み出し要求が受け付けられた際の、プリフェッチ動作状態であるプリフェッチデータ読み出し時状態信号１８２を格納する。つまり、プリフェッチデータ読み出し時状態信号１８２は、プリフェッチデータ読み出し時のプリフェッチ動作の実行状態を示す。格納動作状態保持部８１５は、格納するプリフェッチデータ読み出し時状態信号１８２をセレクタ１４２に出力する。【０２２９】
セレクタ１４３は、アドレス制御部３１４により格納動作状態読み出し許可信号１８１が出力されていない場合、読み出しデータ格納部１１３に格納される読み出しデータを選択し、選択した読み出しデータを読み出しデータ出力バス１５２に出力する。セレクタ１４１は、アドレス制御部３１４により格納動作状態読み出し許可信号１８１が出力されている場合、格納動作状態読み出しデータ格納部１１３により出力されるプリフェッチデータ読み出し時状態信号１８２を選択し、選択したプリフェッチデータ読み出し時状態信号１８２を読み出しデータ出力バス１５２に出力する。【０２３０】
セレクタ１４４は、プリフェッチ動作状態信号１６５に応じて、プリフェッチ動作状態信号１６５、又は状態信号格納部１１７に格納される外部デバイス状態信号を選択し、選択したプリフェッチ動作状態信号１６５又は外部デバイス状態信号を外部デバイス状態信号出力バス１５７に出力する。具体的には、セレクタ１４４は、プリフェッチ動作状態信号１６５がプリフェッチ動作中であることを示す場合、プリフェッチ動作状態信号１６５を選択し、プリフェッチ動作状態信号がプリフェッチ動作中でないことを示す場合、状態信号格納部１１７に格納される外部デバイス状態信号を選択する。【０２３１】
次に、外部デバイスアクセス装置８０３の動作について説明する。なお、実施の形態４と同様の動作については説明を省略する。【０２３２】
通常書き込み動作及びプリフェッチ動作は、実施の形態４と同様である。【０２３３】
以下、プリフェッチデータ読み出し動作について説明する。【０２３４】
プリフェッチデータ読み出し動作において、アドレス制御部３１４により格納動作状態読み出し許可信号１８１が出力されていないので、セレクタ１４３は、読み出しデータ格納部１１３に格納される読み出しデータを選択し、選択した読み出しデータを読み出しデータ出力バス１５２に出力する。【０２３５】
また、セレクタ１４４は、プリフェッチ動作が実行中の場合は、プリフェッチ動作状態信号１６５を外部デバイス状態信号出力バス１５７に出力し、プリフェッチ動作が完了している場合、状態信号格納部１１７に格納されている状態信号を外部デバイス状態信号出力バス１５７に出力する。【０２３６】
また、格納動作状態保持部１１５は当該プリフェッチデータ読み出し動作時のプリフェッチ実行状態を格納する。【０２３７】
以上により、プリフェッチデータ読み出し動作において、外部デバイスアクセス装置８０３は、読み出しデータ格納部１１３に格納される読み出しデータを読み出しデータ出力バス１５２に出力する。また、プリフェッチ動作が実行中の場合には、プリフェッチ動作状態信号１６５を外部デバイス状態信号に出力する。【０２３８】
これにより、マスタ１０１は、プリフェッチデータ読み出し動作時に、外部デバイスアクセス装置８０３がプリフェッチ動作を実行中であるか否かの判断を行える。【０２３９】
以下、プリフェッチ実行状態読み出し動作について説明する。【０２４０】
プリフェッチ実行状態読み出し動作において、アドレス制御部３１４により格納動作状態読み出し許可信号１８１が出力されているので、セレクタ１４３は、格納動作状態保持部８１５により出力されるプリフェッチデータ読み出し時状態信号１８２を選択し、選択したプリフェッチデータ読み出し時状態信号１８２を読み出しデータ出力バス１５２に出力する。【０２４１】
また、セレクタ１４４は、プリフェッチ動作が実行中の場合は、プリフェッチ動作状態信号１６５を外部デバイス状態信号出力バス１５７に出力し、プリフェッチ動作が完了している場合、状態信号格納部１１７に格納されている状態信号を外部デバイス状態信号出力バス１５７に出力する。【０２４２】
以上により、実施の形態８に係る外部デバイスアクセス装置８０３は、プリフェッチ実行状態読み出し動作において、プリフェッチ動作を実行中の場合には、外部デバイス状態信号出力バス１５７に、プリフェッチ動作状態信号１６５を出力する。【０２４３】
これにより、マスタ１０１は、プリフェッチ実行状態読み出し動作を要求することで、外部デバイスアクセス装置８０３がプリフェッチ動作を実行中であるか否かの判断を行える。【０２４４】
また、プリフェッチ実行状態読み出し動作において、プリフェッチ動作が完了している場合には、外部デバイスアクセス装置８０３は、プリフェッチ読み出し動作時にプリフェッチ動作が実行中であったか否かを示すプリフェッチデータ読み出し時状態信号１８２を読み出しデータ出力バス１５２に出力し、プリフェッチ読み出し動作時の外部デバイス１０２の状態を外部デバイス状態信号出力バス１５７に出力する。【０２４５】
これにより、マスタ１０１は、マスタ１０１がプリフェッチ実行中の外部デバイス１０２の状態を知ることができる。【０２４６】
以上より、本発明の実施の形態８に係る外部デバイスアクセス装置８０３は、実施の形態３に係る外部デバイスアクセス装置３０３、及び実施の形態４に係る外部デバイスアクセス装置４０３の利点に加えて、プリフェッチ動作状態信号バス１５６と外部デバイス状態信号出力バス１５７とを１つにできるという利点がある。【０２４７】
（実施の形態９）
本発明の実施の形態９に係る外部デバイスアクセス装置は、上述した実施の形態１に係る外部デバイスアクセス装置１０３の変形例である。実施の形態９に係る外部デバイスアクセス装置は、マスタ１０１により出力される読み出し受理制御信号に応じて、受理信号を直ちに出力するか、プリフェッチ動作の完了後に受理信号を出力するかを選択する。【０２４８】
まず、本発明の実施の形態９に係る外部デバイスアクセス装置の構成を説明する。【０２４９】
図１２は、本発明の実施の形態９に係る外部デバイスアクセス装置の構成を示すブロック図である。なお、図２と同様の要素には同一の符号を付しており重複する説明は省略する。【０２５０】
実施の形態９に係る外部デバイスアクセス装置９０３は、実施の形態１に係る外部デバイスアクセス装置１０３に対して、受理信号生成部９１６の構成が異なる。【０２５１】
また、外部デバイスアクセス装置９０３は、実施の形態１の接続関係に加え、マスタ１０１と読み出し受理制御信号バス１５８を介して接続される。【０２５２】
受理信号生成部９１６は、プリフェッチデータ読み出し要求が受け付けられた際に、プリフェッチ動作状態信号バス１５６のプリフェッチ動作状態信号及び読み出し受理制御信号バス１５８の読み出し受理制御信号に応じて、プリフェッチ動作が完了しているか否かによらず受理信号をマスタ１０１に出力する動作、又は、プリフェッチ動作が完了した後に受理信号をマスタ１０１に出力する動作を選択的に行う。【０２５３】
具体的には、受理信号生成部９１６は、プリフェッチ動作状態信号がプリフェッチ動作中でないことを示す場合には、アドレス制御部１１４により読み出しデータ許可信号１６４が出力された際に、受理信号を受理信号バス１５５に出力する。【０２５４】
また、受理信号生成部９１６は、プリフェッチ動作状態信号が、プリフェッチ動作中であることを示し、かつ、読み出し受理制御信号が第１の論理である場合には、プリフェッチ動作が完了した後に、受理信号を受理信号バス１５５に出力する。【０２５５】
また、受理信号生成部９１６は、プリフェッチ動作状態信号が、プリフェッチ動作中であることを示し、かつ、読み出し受理制御信号が第２の論理である場合には、プリフェッチ動作の完了を待たずに、アドレス制御部１１４により読み出しデータ許可信号１６４が出力された際に、受理信号を受理信号バス１５５に出力する。【０２５６】
以上の構成により、実施の形態９に係る外部デバイスアクセス装置９０３は、読み出し受理制御信号バス１５８の読み出し受理制御信号に応じて、プリフェッチ動作が実行中の場合、受理信号を直ちに出力するか、プリフェッチ動作の完了後に受理信号を出力するかを選択する。【０２５７】
これにより、マスタ１０１は、外部デバイスアクセス装置９０３に対して、上述した実施の形態１の動作、又はプリフェッチ動作の完了後に受理信号を返す動作を選択的に行わせることができる。【０２５８】
なお、ＣＰＵ又はマイコンなどの命令によって、マスタ１０１は、読み出し受理制御信号の出力を、プリフェッチデータ読み出し要求と同期させて出力してもよい。これにより、マスタ１０１は、プリフェッチ読み出し動作ごとに２つの動作を選択できる。よって、マスタ１０１は、より最適な処理を行うことができる。【０２５９】
また、上記説明では、読み出し受理制御信号バス１５８に出力された読み出し受理制御信号により２つの動作を選択しているが、読み出しデータ格納部１１３に２つのアドレスを割り当て、当該２つのアドレスのいずれかを選択することで２つの動作を選択してもよい。【０２６０】
具体的には、アドレス制御部１１４は、マスタ１０１から読み出しデータ格納部１１３に割り当てられた２つのアドレスのうち第１アドレスが出力された場合に、受理信号を直ちに出力する第１プリフェッチデータ読み出し要求を受け付ける。また、アドレス制御部１１４は、マスタ１０１から読み出しデータ格納部１１３に割り当てられた２つのアドレスのうち第２アドレスが出力された場合に、プリフェッチ動作の完了後に受理信号を出力する第２プリフェッチデータ読み出し要求を受け付ける。【０２６１】
アドレス制御部１１４は、受け付けたプリフェッチデータ読み出し要求が、第１プリフェッチデータ読み出し要求であるか、第２プリフェッチデータ読み出し要求であるかに応じた制御信号を受理信号生成部９１６に出力する。【０２６２】
受理信号生成部９１６は、当該制御信号に応じて、第１プリフェッチデータ読み出し要求が受け付けられた場合、受理信号を直ちに出力する動作を行い、第２プリフェッチデータ読み出し要求が受け付けられた場合、プリフェッチ動作の完了後に受理信号を出力する動作を行ってもよい。【０２６３】
（実施の形態１０）
本発明の実施の形態１０に係る外部デバイスアクセス装置は、上述した実施の形態１に係る外部デバイスアクセス装置１０３の変形例である。実施の形態１０に係る外部デバイスアクセス装置は、受理信号を直ちに出力するか、プリフェッチ動作の完了後に受理信号を出力するかを設定するプリフェッチ読み出し制御動作を行う。【０２６４】
まず、本発明の実施の形態１０に係る外部デバイスアクセス装置の構成を説明する。【０２６５】
図１３は、本発明の実施の形態１０に係る外部デバイスアクセス装置の構成を示すブロック図である。なお、図２と同様の要素には同一の符号を付しており重複する説明は省略する。【０２６６】
実施の形態１０に係る外部デバイスアクセス装置１００３は、実施の形態１に係る外部デバイスアクセス装置１０３の構成に加え、さらに、読み出し制御部１３２を備える。また、外部デバイスアクセス装置１００３は、外部デバイス１０２に対して、アドレス制御部１０１４及び受理信号生成部１０１６の構成が異なる。【０２６７】
外部デバイスアクセス装置１００３は、通常書き込み動作、プリフェッチ動作、及びプリフェッチデータ読み出し動作に加えて、プリフェッチ読み出し制御動作を行う。【０２６８】
プリフェッチ読み出し制御動作は、プリフェッチデータ読み出し動作時においてプリフェッチ動作が実行中の場合に、受理信号を直ちに出力するか、プリフェッチ動作の完了後に受理信号を出力するかを設定する動作である。また、読み出し制御部１３２は、マスタ１０１が持つアクセス空間に割り当てられたアドレスを持ち、マスタ１０１からアクセス可能である。【０２６９】
アドレス制御部１０１４は、アドレス制御部１１４の機能に加え、マスタ１０１からのプリフェッチ読み出し制御動作の要求（以下、プリフェッチ読み出し制御要求。）を受け付ける。具体的には、アドレス制御部１０１４は、アドレスバス１５０に出力されたアドレスが読み出し制御部１３２に割り当てられたアドレスであり、かつ、Ｒ／Ｗ信号によりデータ書き込みが指示されている場合、マスタ１０１からの要求がプリフェッチ読み出し制御要求であることを認識し、プリフェッチ読み出し制御要求を受け付ける。【０２７０】
アドレス制御部１０１４は、プリフェッチ読み出し制御要求に応じて、プリフェッチ読み出し制御動作を行う。アドレス制御部１０１４は、読み出し制御部１３２を制御することで、プリフェッチ読み出し制御動作を行う。【０２７１】
具体的には、アドレス制御部１０１４は、プリフェッチ読み出し制御要求を受け付けた際、書き込みアドレス１６０と書き込み許可信号１６１を読み出し制御部１３２に出力する。【０２７２】
読み出し制御部１３２は、プリフェッチ読み出し制御動作要求が受け付けられた際に、マスタ１０１からの指定により、受理信号を直ちに出力するか、プリフェッチ動作の完了後に受理信号を出力するかを示す読み出し制御信号１８３が設定される。読み出し制御部１３２は、設定された読み出し制御信号１８３を受理信号生成部１０１６に出力する。【０２７３】
具体的には、読み出し制御部１３２は、書き込みアドレス１６０が、読み出し制御部１３２に割り当てられたアドレスであり、アドレス制御部１０１４により書き込み許可信号１６１が出力された際に、書き込みデータ入力バス１５１の書き込みデータに応じた読み出し制御信号１８３を保持する。【０２７４】
受理信号生成部１０１６は、読み出しデータ許可信号１６４、格納動作状態保持部１１５により出力されるプリフェッチ動作状態信号、及び読み出し制御信号１８３に応じて、受理信号を受理信号バス１５５に出力する。【０２７５】
具体的には、受理信号生成部１０１６は、プリフェッチ動作状態信号がプリフェッチ動作中でないことを示す場合には、アドレス制御部１１４により読み出しデータ許可信号１６４が出力された際に、受理信号を受理信号バス１５５に出力する。【０２７６】
また、受理信号生成部１０１６は、プリフェッチ動作状態信号が、プリフェッチ動作中であることを示し、かつ、読み出し制御信号１８３によりプリフェッチ動作の完了後に受理信号を出力することが示される場合には、プリフェッチ動作が完了した後に、受理信号を受理信号バス１５５に出力する。【０２７７】
また、受理信号生成部１０１６は、プリフェッチ動作状態信号が、プリフェッチ動作中であることを示し、かつ、読み出し制御信号１８３により受理信号を直ちに出力することが示される場合には、プリフェッチ動作の完了を待たずに、アドレス制御部１１４により読み出しデータ許可信号１６４が出力された際に、受理信号を受理信号バス１５５に出力する。【０２７８】
次に、外部デバイスアクセス装置１００３の動作について説明する。【０２７９】
通常書き込み動作、及びプリフェッチ動作は、実施の形態１と同様である。【０２８０】
以下、プリフェッチデータ読み出し動作について説明する。【０２８１】
プリフェッチデータ読み出し動作時には、受理信号生成部１０１６は、読み出し制御信号１８３に応じて、受理信号を直ちに出力するか、プリフェッチ動作の完了後に受理信号を出力するかを選択する。【０２８２】
具体的には、受理信号生成部１０１６は、読み出し制御信号１８３によりプリフェッチ動作の完了後に受理信号を出力することが示される場合には、プリフェッチ動作が完了した後に、受理信号を受理信号バス１５５に出力する。【０２８３】
また、受理信号生成部１０１６は、読み出し制御信号１８３により受理信号を直ちに出力することが示される場合には、プリフェッチ動作の完了を待たずに、アドレス制御部１１４により読み出しデータ許可信号１６４が出力された際に、受理信号を受理信号バス１５５に出力する。【０２８４】
以下、プリフェッチ読み出し制御動作について説明する。【０２８５】
プリフェッチ読み出し制御動作時には、マスタ１０１は、アドレスバス１５０に読み出し制御部１３２に割り当てられたアドレスを出力し、Ｒ／Ｗ信号バス１５３にデータ書き込みを指示するＲ／Ｗ信号を出力する。【０２８６】
アドレス制御部１０１４は、アドレスバス１５０のアドレスが読み出しデータ格納部１１３に割り当てられたアドレスであるか否か、及び読み出し制御部１３２に割り当てられたアドレスであるか否かを判定する。アドレス制御部１０１４は、アドレスバス１５０のアドレスが読み出し制御部１３２に割り当てられたアドレスであり、かつ、Ｒ／Ｗ信号によりデータ書き込みが指示されているので、マスタ１０１からの要求がプリフェッチ読み出し制御動作であることを認識する。【０２８７】
アドレス制御部１０１４は、書き込み許可信号１６１を書き込みデータ格納部１１１に出力し、書き込み許可信号１６１、及びアドレスバス１５０のアドレスを書き込みアドレス１６０として読み出し制御部１３２に出力する。【０２８８】
読み出し制御部１３２は、書き込みアドレス１６０が、読み出し制御部１３２に割り当てられたアドレスであるので、アドレス制御部６１４により書き込み許可信号１６１が出力された際に、書き込みデータ入力バス１５１の書き込みデータに応じた読み出し制御信号１８３を格納し、格納した読み出し制御信号１８３を受理信号生成部１０１６に出力する。【０２８９】
また、受理信号生成部１０１６は、アドレス制御部１０１４により出力された書き込み許可信号１６１を受けて、読み出し制御部１３２が読み出し制御信号１８３を格納した時点で受理信号バス１５５に受理信号を出力する。【０２９０】
以上より、外部デバイスアクセス装置１００３は、プリフェッチ読み出し制御動作により、受理信号を直ちに出力するか、プリフェッチ動作の完了後に受理信号を出力するかが設定される。これにより、マスタ１０１は、外部デバイスアクセス装置１００３の上述した実施の形態１の動作と、プリフェッチ動作の完了後に受理信号を返す動作とを切替えることができる。【０２９１】
さらに、実施の形態１０に係る外部デバイスアクセス装置１００３は、実施の形態９に係る外部デバイスアクセス装置９０３に対して、マスタ１０１との間に新たに読み出し受理制御信号バス１５８を設ける必要がないという利点がある。【０２９２】
（実施の形態１１）
本発明の実施の形態１１に係る外部デバイスアクセス装置は、上述した実施の形態１に係る外部デバイスアクセス装置１０３の変形例である。実施の形態１１に係る外部デバイスアクセス装置は、プリフェッチデータ読み出し時においてプリフェッチ動作中である場合に、マスタ１０１からプリフェッチデータ読み出し要求があった時刻から、プリフェッチ動作が完了するまでの時間を示す情報であるデバッグ情報を出力する。【０２９３】
図１４は、本発明の実施の形態１１に係る外部デバイスアクセス装置の構成を示すブロック図である。なお、図２と同様の要素には同一の符号を付しており重複する説明は省略する。【０２９４】
実施の形態１１に係る外部デバイスアクセス装置１１０３は、実施の形態１に係る外部デバイスアクセス装置１０３の構成に加え、さらに、サイクルカウント部１１８を備える。また、外部デバイスアクセス装置１１０３は、外部デバイス１０２に対して、受理信号生成部１１１６の構成が異なる。【０２９５】
また、外部デバイスアクセス装置１１０３は、外部デバイスアクセス装置１０３の接続関係に加えた、さらに、デバッグ情報バス１５９を介して、マスタ１０１と接続される。また、外部デバイスアクセス装置１１０３は、プリフェッチ動作状態信号バス１５６を介して、マスタ１０１と接続されない。【０２９６】
受理信号生成部１１１６は、プリフェッチ動作状態信号１６５がプリフェッチ動作中でないことを示す場合には、アドレス制御部１１４により読み出しデータ許可信号１６４が出力された際に、受理信号を受理信号バス１５５に出力する。【０２９７】
また、受理信号生成部１０１６は、プリフェッチ動作状態信号１６５がプリフェッチ動作中であることを示す場合には、プリフェッチ動作が完了した後に、受理信号を受理信号バス１５５に出力する。【０２９８】
サイクルカウント部１１８は、プリフェッチ動作の実行中に、プリフェッチデータ読み出し要求が受け付けられた場合、当該プリフェッチデータ読み出し要求が受け付けられた時刻から、プリフェッチ動作が完了するまでの時間をカウントする。具体的には、サイクルカウント部１１８は、アドレス制御部１１４により読み出しデータ許可信号１６４が出力された時刻から、格納動作状態保持部１１５により保持されるプリフェッチ動作状態信号１６５が、プリフェッチ動作実行中から、プリフェッチ動作完了に変更されるまでのサイクル数をカウントする。サイクルカウント部１１８は、カウントしたサイクル数をデバッグ情報としてデバッグ情報バス１５９に出力する。【０２９９】
以上の構成により、実施の形態１１に係る外部デバイスアクセス装置１１０３は、プリフェッチデータ読み出し動作時において、プリフェッチ動作実行中の場合には、マスタ１０１からプリフェッチデータ読み出し要求があった時刻から、プリフェッチ動作が完了するまでの時間を示す情報であるデバッグ情報をデバッグ情報バス１５９に出力する。【０３００】
これにより、マスタ１０１は、プリフェッチデータ読み出し動作を要求するタイミングを、プリフェッチ動作が完了した後の時刻に変更できる。よって、マスタ１０１は、複数回のプリフェッチデータ読み出し動作を要求しなくてもよいので、効率を向上できる。【０３０１】
（実施の形態１２）
本発明の実施の形態１２に係る外部デバイスアクセス装置は、上述した実施の形態１１に係る外部デバイスアクセス装置１１０３の変形例である。実施の形態１２に係る外部デバイスアクセス装置は、デバッグ情報を読み出しデータ出力バス１５２に出力するデバッグ情報読み出し動作を行う。【０３０２】
まず、本発明の実施の形態１２に係る外部デバイスアクセス装置の構成を説明する。【０３０３】
図１５は、本発明の実施の形態１２に係る外部デバイスアクセス装置の構成を示すブロック図である。なお、図１４と同様の要素には同一の符号を付しており重複する説明は省略する。【０３０４】
実施の形態１２に係る外部デバイスアクセス装置１２０３は、実施の形態１１に係る外部デバイスアクセス装置１１０３の構成に加え、さらに、カウント値格納部１３３と、セレクタ１４５とを備える。また、外部デバイスアクセス装置１２０３は、外部デバイスアクセス装置１１０３に対して、アドレス制御部１２１４の構成が異なる。なお、受理信号生成部１１６の構成は、実施の形態１と同様である。【０３０５】
また、外部デバイスアクセス装置１２０３は、実施の形態１の接続関係と同様に、プリフェッチ動作状態信号バス１５６を介して、マスタ１０１と接続され、デバッグ情報バス１５９を介して、マスタ１０１と接続されない。【０３０６】
外部デバイスアクセス装置１２０３は、通常書き込み動作、プリフェッチ動作、及びプリフェッチデータ読み出し動作に加えて、デバッグ情報読み出し動作を行う。【０３０７】
デバッグ情報読み出し動作は、プリフェッチデータ読み出し動作時においてプリフェッチ動作が実行中の場合の、マスタ１０１からプリフェッチデータ読み出し要求があった時刻から、プリフェッチ動作が完了するまでの時間を示す情報であるデバッグ情報を出力する動作である。また、カウント値格納部１３３は、マスタ１０１が持つアクセス空間に割り当てられたアドレスを持ち、マスタ１０１からアクセス可能である。【０３０８】
カウント値格納部１３３は、プリフェッチ動作状態信号バス１５６のプリフェッチ動作状態信号がプリフェッチ動作実行中から、プリフェッチ動作完了に変更された際に、サイクルカウント部１１８により出力されるデバッグ情報を格納する。【０３０９】
アドレス制御部１２１４は、アドレス制御部１１４の機能に加え、マスタ１０１からのデバッグ情報読み出し動作の要求（以下、デバッグ情報読み出し要求。）を受け付ける。具体的には、アドレス制御部１２１４は、アドレスバス１５０に出力されたアドレスがカウント値格納部１３３に割り当てられたアドレスであり、かつ、Ｒ／Ｗ信号によりデータ読み出しが指示されている場合、マスタ１０１からの要求がデバッグ情報読み出し要求であることを認識し、デバッグ情報読み出し要求を受け付ける。【０３１０】
アドレス制御部１２１４は、デバッグ情報読み出し要求に応じて、デバッグ情報読み出し動作を行う。アドレス制御部１２１４は、セレクタ１４５を制御することで、デバッグ情報読み出し動作を行う。【０３１１】
具体的には、アドレス制御部１２１４は、デバッグ情報読み出し要求を受け付けた際、カウント値読み出し許可信号１８４をセレクタ１４５に出力する。【０３１２】
セレクタ１４５は、読み出しデータ格納部１１３に格納される読み出しデータと、カウント値格納部１３３により格納されるデバッグ情報とを、アドレス制御部１２１４から出力されたカウント値読み出し許可信号１８４に応じて選択し、選択した読み出しデータ又はデバッグ情報を読み出しデータ出力バス１５２に出力する。具体的には、セレクタ１４５は、アドレス制御部１２１４によりカウント値読み出し許可信号１８４が出力されていない場合、読み出しデータを選択し、アドレス制御部１２１４によりカウント値読み出し許可信号１８４が出力されている場合、デバッグ情報を選択する。【０３１３】
次に、外部デバイスアクセス装置１２０３の動作について説明する。なお、実施の形態１１と同様の動作については説明を省略する。【０３１４】
通常書き込み動作、及びプリフェッチ動作は、実施の形態１１と同様である。【０３１５】
以下、プリフェッチデータ読み出し動作について説明する。【０３１６】
プリフェッチデータ読み出し動作において、サイクルカウント部１１８は、プリフェッチ動作の実行中にプリフェッチデータ読み出し動作が行われた場合、当該プリフェッチデータ読み出し動作を行った時刻から、プリフェッチ動作が完了するまでのサイクル数をカウントする。サイクルカウント部１１８は、カウントしたサイクル数をデバッグ情報としてカウント値格納部１３３に出力する。【０３１７】
カウント値格納部１３３は、プリフェッチ動作状態信号バス１５６のプリフェッチ動作状態信号がプリフェッチ動作実行中から、プリフェッチ動作完了に変更された際に、サイクルカウント部１１８により出力されるデバッグ情報を格納する。【０３１８】
また、セレクタ１４５は、アドレス制御部１２１４によりカウント値読み出し許可信号１８４が出力されていないので、読み出しデータ格納部１１３に格納される読み出しデータを読み出しデータ出力バス１５２に出力する。【０３１９】
以下、デバッグ情報読み出し動作について説明する。【０３２０】
デバッグ情報読み出し動作時には、マスタ１０１は、アドレスバス１５０にカウント値格納部１３３に割り当てられたアドレスを出力し、Ｒ／Ｗ信号バス１５３にデータ読み出しを指示するＲ／Ｗ信号を出力する。【０３２１】
アドレス制御部１２１４は、アドレスバス１５０のアドレスが読み出しデータ格納部１１３に割り当てられたアドレスであるか否か、及びカウント値格納部１３３に割り当てられたアドレスであるか否かを判定する。アドレス制御部１２１４は、アドレスバス１５０のアドレスがカウント値格納部１３３に割り当てられたアドレスであり、かつ、Ｒ／Ｗ信号によりデータ読み出しが指示されているので、マスタ１０１からの要求がデバッグ情報読み出し動作であることを認識する。【０３２２】
アドレス制御部１２１４は、カウント値読み出し許可信号１８４をセレクタ１４５に出力する。【０３２３】
セレクタ１４５は、アドレス制御部１２１４によりカウント値読み出し許可信号１８４が出力されているので、カウント値格納部１３３に格納されるデバッグ情報を読み出しデータ出力バス１５２に出力する。【０３２４】
以上によりデバッグ情報読み出し動作が完了する。【０３２５】
以上より、実施の形態１２に係る外部デバイスアクセス装置１２０３は、デバッグ情報読み出し動作により、デバッグ情報を読み出しデータ出力バス１５２に出力する。【０３２６】
これにより、マスタ１０１は、プリフェッチデータ読み出し動作を要求するタイミングを、プリフェッチ動作が完了した後の時刻に変更できる。よって、マスタ１０１は、複数回のプリフェッチデータ読み出し動作を要求しなくてもよいので、効率を向上できる。【０３２７】
また、外部デバイスアクセス装置１２０３は、実施の形態１１に係る外部デバイスアクセス装置１１０３に対して、デバッグ情報バス１５９をマスタ１０１との間に設ける必要がないという利点がある。
【産業上の利用可能性】
【０３２８】
本発明は、外部デバイスアクセス装置、及び、ＣＰＵ又はマイコン等のマスタと、コプロセッサ又はアクセラレータ等の外部デバイスとを備えるシステムＬＳＩに適用できる。
【図１】
2009098737.tif 000003
【図２】
2009098737.tif 000004
【図３】
2009098737.tif 000005
【図４】
2009098737.tif 000006
【図５】
2009098737.tif 000007
【図６】
2009098737.tif 000008
【図７】
2009098737.tif 000009
【図８】
2009098737.tif 000010
【図９】
2009098737.tif 000011
【図１０】
2009098737.tif 000012
【図１１】
2009098737.tif 000013
【図１２】
2009098737.tif 000014
【図１３】
2009098737.tif 000015
【図１４】
2009098737.tif 000016
【図１５】
2009098737.tif 000017
【手続補正書】
【提出日】平成21年7月14日(2009.7.14)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部デバイスアクセス装置、その制御方法及びシステムＬＳＩに関し、特に、マスタからの要求に応じて、外部デバイスへプリフェッチアクセスを行う外部デバイスアクセス装置に関する。
【背景技術】
【０００２】
メディア処理において、外部デバイスがマスタをアシストすることが有効な場合がある。このためにマスタは、外部デバイスを拡張するための拡張バスを有する場合がある。
【０００３】
ここで、メディア処理とは、音声処理及び画像処理などのデータ処理一般のことであり、マスタとはＣＰＵ又はマイコン等の主制御を担当する装置のことであり、外部デバイスとはＣＰＵ又はマイコン等をアシストするコプロセッサ、アクセラレータ又はメモリ等の周辺装置のことである。
【０００４】
マスタは、アクセス空間に外部デバイスの資源を割り当てることで、当該外部デバイスの資源をマスタの拡張された資源として扱うことができる。これにより、マスタと外部デバイスとの通信を高速に行うことが可能となる。ここで、アクセス空間とはマスタがアクセスできるプログラムアクセス、データアクセス及び入出力アクセス等のためにアドレスの割り当てられた空間のことである。
【０００５】
外部デバイスに対して、マスタの処理性能を向上させるために、プリフェッチという手法が用いられている。プリフェッチとは、マスタが先行的に読み出し要求を行い、ある一定のレイテンシ期間の後に先行的に読み出したデータを取得して次の処理を行う手法である。
【０００６】
例えば、マスタからの要求に応じて、外部デバイスに対するプリフェッチ動作を行う外部デバイスアクセス装置が知られている（例えば、特許文献１参照。）。特許文献１記載の従来の外部デバイスアクセス装置は、マスタからの要求に応じて、外部デバイスからデータを読み出し、読み出したデータを一時的に格納するプリフェッチ動作と、格納したデータをマスタに出力するプリフェッチデータ読み出し動作とを行う。
【０００７】
また、従来の外部デバイスアクセス装置は、外部デバイスに対してプリフェッチ動作中のときに、マスタからの要求に応じてプリフェッチデータ読み出し動作を行う場合、プリフェッチ動作の完了と同期をとって読み出しデータをマスタに出力する。これにより、プリフェッチ動作完了前の誤ったデータをマスタに出力することを回避できる。
【０００８】
図１は、従来の外部デバイスアクセス装置を用いた場合のマスタの処理の流れを示すフローチャートである。
【０００９】
まず、マスタは、外部デバイスに対してプリフェッチ動作を行う（Ｓ５０１）。次に、マスタは、プリフェッチデータ読み出しを行うまでに実行可能な処理を行う（Ｓ５０２）。ここで、マスタが処理を行う期間は、外部デバイスが正常時にプリフェッチ動作を完了するまでの期間である。次に、マスタは、プリフェッチデータを読み出す（Ｓ５０３）。プリフェッチ動作が完了している場合（Ｓ５０４でＮｏ）、マスタは、読み出したデータを用いて処理を実行する（Ｓ５０５）。このようにプリフェッチ動作が完了するある一定期間で外部デバイスが応答できた場合、問題はない。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】国際公開第２００６／１３４８０４号
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、外部デバイスの異常状態、又は他のマスタからのアクセスの競合などによりプリフェッチ動作が完了していない場合（Ｓ５０４でＹｅｓ）、マスタはプリフェッチ動作が完了するまで待機状態となる。これにより、従来の技術には、マスタの処理効率が低下するという課題がある。
【００１２】
本発明は、上記課題を解決するためのものであり、マスタを効率的に使用できる外部デバイスアクセス装置及びシステムＬＳＩを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、本発明に係る外部デバイスアクセス装置は、マスタからの要求に応じて、外部デバイスからデータを読み出すプリフェッチ動作と、前記プリフェッチ動作で読み出したデータを前記マスタに出力するプリフェッチデータ読み出し動作を行う外部デバイスアクセス装置であって、前記マスタからのプリフェッチ要求及びプリフェッチデータ読み出し要求を受け付け、前記プリフェッチ動作及び前記プリフェッチデータ読み出し動作を行う制御部と、前記プリフェッチ動作により読み出されたデータを格納するデータ格納部と、前記プリフェッチ動作が完了したか否かを示すプリフェッチ動作状態を保持する状態保持部と、前記マスタからの前記プリフェッチデータ読み出し要求を受け付けたことを示す受理信号を前記マスタに出力する受理信号生成部とを備え、前記制御部は、前記プリフェッチデータ読み出し動作として、前記データ格納部に格納されるデータを前記マスタに出力し、前記制御部は、前記プリフェッチ動作状態に基づく前記プリフェッチ動作の状態を示す第１情報を前記マスタに出力する。
【００１４】
この構成によれば、本発明に係る外部デバイスアクセス装置は、プリフェッチ動作の状態を示す第１情報をマスタに出力する。これにより、マスタは、プリフェッチデータ読み出し動作時に、プリフェッチ動作が完了していない場合には、別の処理を先に行うことができる。よって、本発明に係る外部デバイスアクセス装置は、マスタを効率的に使用できる。
【００１５】
また、前記受理信号生成部は、前記制御部により前記プリフェッチデータ読み出し要求が受け付けられた際に、前記プリフェッチ動作が完了しているか否かによらず、前記受理信号を前記マスタに出力し、前記制御部は、前記プリフェッチデータ読み出し要求を受け付けた際に、前記第１情報を前記マスタに出力してもよい。
【００１６】
この構成によれば、マスタは、受理信号を受信することで、プリフェッチ動作が完了していない場合に、別の処理を先に行うことができる。
【００１７】
また、前記制御部は、前記プリフェッチ動作状態を前記第１情報として前記マスタに出力してもよい。
【００１８】
この構成によれば、マスタは、外部デバイスアクセス装置がプリフェッチ動作を完了しているか否かを判断できる。
【００１９】
また、前記外部デバイスアクセス装置と前記マスタとは、読み出しデータバスを介して接続され、前記制御部は、前記データ格納部に格納されるデータ及び前記第１情報を前記読み出しデータバスを介して前記マスタに出力してもよい。
【００２０】
この構成によれば、外部デバイスアクセス装置からマスタに第１情報を出力するための専用のバスを設けなくてもよい。
【００２１】
また、前記制御部は、前記プリフェッチ動作状態により前記プリフェッチ動作が完了したことが示される場合、前記データ格納部に格納されるデータを前記読み出しデータバスを介して前記マスタに出力し、前記プリフェッチ動作状態により前記プリフェッチ動作が完了していないことが示される場合、予め定められたデータを前記第１情報として前記読み出しデータバスを介して前記マスタに出力してもよい。
【００２２】
また、前記制御部は、前記プリフェッチ動作状態により前記プリフェッチ動作が完了したことが示される場合、前記データ格納部に格納されるデータを前記読み出しデータバスを介して前記マスタに出力し、前記プリフェッチ動作状態により前記プリフェッチ動作が完了していないことが示される場合、当該プリフェッチ動作により読み出しを行っている前記外部デバイスのアドレスを前記第１情報として前記読み出しデータバスを介して前記マスタに出力してもよい。
【００２３】
また、前記制御部は、さらに、前記マスタからのプリフェッチ動作状態読み出し要求を受け付け、前記制御部は、前記プリフェッチ動作状態読み出し要求を受け付けた場合、前記第１情報を前記マスタに出力してもよい。
【００２４】
この構成によれば、マスタは、プリフェッチデータ読み出し動作の前に、プリフェッチ動作状態読み出し要求を行うことで、不要なプリフェッチデータ読み出し要求を行わなくてもよい。
【００２５】
また、前記外部デバイスは、当該外部デバイスの動作状態を示す状態信号を出力し、前記外部デバイスアクセス装置は、さらに、前記プリフェッチ動作が完了した際の、前記状態信号を格納する状態信号格納部と、前記プリフェッチ動作状態により前記プリフェッチ動作が完了したことが示される場合、前記状態信号格納部に格納される前記状態信号を前記マスタに出力し、前記プリフェッチ動作状態により前記プリフェッチ動作が完了していないことが示される場合、前記外部デバイスにより出力されている状態信号を前記マスタに出力する状態信号出力部とを備えてもよい。
【００２６】
この構成によれば、マスタは、プリフェッチ実行中の外部デバイスの状態を把握できる。これにより、マスタは、外部デバイスの状態に応じて最適な処理を行える。
【００２７】
また、前記外部デバイスは、当該外部デバイスの動作状態を示す状態信号を出力し、前記受理信号生成部は、前記制御部により前記プリフェッチデータ読み出し要求が受け付けられた際に、前記状態信号に応じて、前記プリフェッチ動作が完了しているか否かによらず、前記受理信号を前記マスタに出力する第１動作、又は、前記プリフェッチ動作が完了した後に前記受理信号を前記マスタに出力する第２動作を選択的に行ってもよい。
【００２８】
この構成によれば、本発明に係る外部デバイスアクセス装置は、外部デバイスの状態に応じて、受理信号を直ちに出力するか、プリフェッチ動作の完了後に受理信号を出力するかを選択できる。これにより、正常時のプリフェッチ完了までのレイテンシが可変の外部デバイスに対しても、マスタは、常に最大のレイテンシ期間を空けてプリフェッチデータ読み出し動作を行わなくてもよく、最小のレイテンシ期間を空けてプリフェッチデータ読み出し動作を行えばよい。
【００２９】
また、前記制御部は、さらに、前記マスタからのプリフェッチ中止要求を受け付け、前記外部デバイスアクセス装置は、さらに、前記制御部により、前記プリフェッチ中止要求が受け付けられた場合、前記プリフェッチ動作を中止するプリフェッチ中止部を備えてもよい。
【００３０】
この構成によれば、マスタは、外部デバイスの状態に応じて、プリフェッチ動作を中止できる。
【００３１】
また、前記外部デバイスは、当該外部デバイスの動作状態を示す状態信号を出力し、前記外部デバイスアクセス装置は、さらに、前記制御部により、前記プリフェッチデータ読み出し要求が受け付けられ、かつ、前記プリフェッチ動作状態により前記プリフェッチ動作が完了していないことが示される場合、前記外部デバイスにより出力されている前記状態信号に応じて、前記プリフェッチ動作を中止するプリフェッチ中止部を備えてもよい。
【００３２】
この構成によれば、本発明に係る外部デバイスアクセス装置は、プリフェッチデータ読み出し動作時において、プリフェッチ動作が実行中であり、かつ外部デバイスが異常状態の場合には、プリフェッチ動作を自動的に中止する。これにより、マスタは、プリフェッチ動作を中止する制御を行わなくてもよい。よって、本発明に係る外部デバイスアクセス装置は、マスタの処理を削減できる。
【００３３】
また、前記外部デバイスは、当該外部デバイスの動作状態を示す状態信号を出力し、前記外部デバイスアクセス装置と前記マスタとは、第１信号バスを介して接続され、前記外部デバイスアクセス装置は、さらに、前記プリフェッチ動作が完了した際の、前記状態信号を格納する状態信号格納部と、前記制御部により前記プリフェッチデータ読み出し要求が受け付けられた際の、前記プリフェッチ動作状態である読み出し時プリフェッチ動作状態を格納する読み出し時状態格納部と、前記プリフェッチ動作状態により前記プリフェッチ動作が完了していないことが示される場合、当該プリフェッチ動作状態を、前記第１信号バスを介して前記マスタに出力し、前記プリフェッチ動作状態により前記プリフェッチ動作が完了していることが示される場合、前記状態信号格納部により格納される状態信号を、前記第１信号バスを介して前記マスタに出力する信号出力部とを備え、前記制御部は、前記プリフェッチ動作状態読み出し要求を受け付けた場合、前記読み出し時プリフェッチ動作状態を前記第１情報として前記マスタに出力してもよい。
【００３４】
この構成によれば、本発明に係る外部デバイスアクセス装置は、プリフェッチ動作状態と状態信号とを第１信号バスを介してマスタに出力する。これにより、プリフェッチ動作状態を出力するバスと、状態信号を出力するバスとを個別に設けなくてもよい。
【００３５】
また、前記受理信号生成部は、前記制御部により前記プリフェッチデータ読み出し要求が受け付けられた際に、前記プリフェッチ動作が完了しているか否かによらず、前記受理信号を前記マスタに出力する第１動作、又は、前記プリフェッチ動作が完了した後に前記受理信号を前記マスタに出力する第２動作を選択的に行ってもよい。
【００３６】
この構成によれば、本発明に係る外部デバイスアクセス装置は、受理信号を直ちに出力するか、プリフェッチ動作の完了後に受理信号を出力するかを選択できる。
【００３７】
また、前記受理信号生成部は、前記マスタから出力される制御信号に応じて、前記第１動作又は前記第２動作を選択的に行ってもよい。
【００３８】
この構成によれば、マスタは、第１動作及び第２動作を選択できる。
【００３９】
また、前記プリフェッチデータ読み出し要求は、第１プリフェッチデータ読み出し要求と、第２プリフェッチデータ読み出し要求とを含み、前記制御部は、前記マスタから第１アドレスが出力された場合に、前記第１プリフェッチデータ読み出し要求を受け付け、前記マスタから第２アドレスが出力された場合に、前記第２プリフェッチデータ読み出し要求を受け付け、前記受理信号生成部は、前記制御部により前記第１プリフェッチデータ読み出し要求が受け付けられた場合、前記第１動作を行い、前記制御部により前記第２プリフェッチデータ読み出し要求が受け付けられた場合、前記第２動作を行ってもよい。
【００４０】
この構成によれば、外部デバイスアクセス装置とマスタとの間に、新たに制御用のバスを設けることなく、マスタは第１動作及び第２動作を選択できる。
【００４１】
また、前記外部デバイスアクセス装置は、さらに、第１状態又は第２状態が設定される状態設定部を備え、前記制御部は、さらに、前記マスタからのプリフェッチ読み出し制御動作要求を受け付け、前記制御部は、前記プリフェッチ読み出し制御動作要求を受け付けた場合、前記マスタからの指定された前記第１状態又は前記第２状態を前記状態設定部に設定し、前記受理信号生成部は、前記状態設定部に前記第１状態が設定されている場合に前記第１動作を行い、前記状態設定部に前記第２状態が設定されている場合に前記第２動作を行ってもよい。
【００４２】
この構成によれば、外部デバイスアクセス装置とマスタとの間に、新たに制御用のバスを設けることなく、マスタは第１動作及び第２動作を選択できる。
【００４３】
また、前記外部デバイスアクセス装置は、さらに、前記プリフェッチ動作の実行中に、前記制御部によりプリフェッチデータ読み出し要求が受け付けられた場合に、当該プリフェッチデータ読み出し要求が受け付けられてから、当該プリフェッチ動作が完了するまでの時間をカウントするカウント部を備え、前記制御部は、前記カウント部によりカウントされた時間を前記第１情報として前記マスタに出力してもよい。
【００４４】
この構成によれば、マスタは、プリフェッチデータ読み出し動作を要求するタイミングを、プリフェッチ動作が完了した後の時刻に変更できる。よって、マスタは、複数回のプリフェッチデータ読み出し動作を要求しなくてもよいので、効率を向上できる。
【００４５】
また、前記制御部は、さらに、前記マスタからの時間読み出し要求を受け付け、前記外部デバイスアクセス装置は、さらに、前記カウント部によりカウントされた時間を格納する時間格納部を備え、前記制御部は、前記時間読み出し要求を受け付けた場合、前記時間格納部に格納される前記時間を前記第１情報として前記マスタに出力してもよい。
【００４６】
この構成によれば、外部デバイスアクセス装置は、マスタとの間に新たに信号出力用のバスを設けることなく、マスタにプリフェッチ動作が完了するまでの時間を通知できる。
【００４７】
また、本発明に係るシステムＬＳＩは、前記外部デバイスアクセス装置と、マスタとを備えるシステムＬＳＩであって、前記外部デバイスアクセス装置は、前記第１情報を前記マスタの割り込み信号、又はスレッド切り替え信号として出力し、前記マスタは、前記第１情報を、割り込み処理、又はスレッド切り替え信号として処理する。
【００４８】
また、本発明に係るシステムＬＳＩは、前記外部デバイスアクセス装置と、マスタとを備えるシステムＬＳＩであって、前記外部デバイスアクセス装置は、前記第１情報を前記マスタがソフト処理可能なフラグ信号として出力し、前記マスタは、前記第１情報を、ソフト処理可能なフラグ信号として処理する。
【００４９】
また、本発明に係るシステムＬＳＩは、前記外部デバイスアクセス装置と、マスタとを備えるシステムＬＳＩであって、前記マスタは、前記制御信号を、前記プリフェッチデータ読み出し要求と同期して、前記外部デバイスアクセス装置に出力する。
【００５０】
この構成によれば、ＣＰＵ又はマイコンなどの命令によって、マスタは、読み出し受理制御信号の出力を、プリフェッチデータ読み出し要求と同期させることで、プリフェッチ読み出し動作ごとに２つの動作を選択できる。よって、マスタはより最適な処理を行うことができる。
【００５１】
また、本発明に係る制御方法は、マスタからの要求に応じて、外部デバイスからデータを読み出すプリフェッチ動作と、前記プリフェッチ動作で読み出したデータを前記マスタに出力するプリフェッチデータ読み出し動作を行う外部デバイスアクセス装置の制御方法であって、前記マスタからのプリフェッチ要求を受け付けるプリフェッチ要求受け付けステップと、前記プリフェッチ要求を受け付けた場合、前記外部デバイスからデータを読み出し、読み出したデータをデータ格納部に格納するプリフェッチステップと、前記プリフェッチステップが完了したか否かを示すプリフェッチ動作状態を保持する状態保持ステップと、前記マスタからのプリフェッチデータ読み出し要求を受け付けるプリフェッチデータ読み出し要求受け付けステップと、前記プリフェッチデータ読み出し要求を受け付けた場合、当該プリフェッチデータ読み出し要求を受け付けたことを示す受理信号を前記マスタに出力する受理信号生成ステップと、前記プリフェッチデータ読み出し要求を受け付けた場合、前記データ格納部に格納されるデータを前記マスタに出力するプリフェッチデータ読み出しステップと、前記プリフェッチ動作状態に基づく前記プリフェッチ動作の状態を示す第１情報を前記マスタに出力する第１情報出力ステップとを含む。
【００５２】
これによれば、本発明に係る外部デバイスアクセス装置の制御方法は、プリフェッチ動作の状態を示す第１情報をマスタに出力する。これにより、マスタは、プリフェッチデータ読み出し動作時に、プリフェッチ動作が完了していない場合には、別の処理を先に行うことができる。よって、本発明に係る外部デバイスアクセス装置の制御方法は、マスタを効率的に使用できる。
【００５３】
なお、本発明は、このような外部デバイスアクセス装置として実現できるだけでなく、外部デバイスアクセス装置に含まれる特徴的な手段をステップとする外部デバイスアクセス装置の制御方法として実現したり、そのような特徴的なステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体及びインターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
【発明の効果】
【００５４】
以上より、本発明は、マスタを効率的に使用できる外部デバイスアクセス装置、その制御方法及びシステムＬＳＩを提供できる。
【図面の簡単な説明】
【００５５】
【図１】図１は、従来の外部デバイスアクセス装置を用いた場合の、マスタによるプリフェッチ処理の流れを示すフローチャートである。
【図２】図２は、本発明の実施の形態１に係る外部デバイスアクセス装置の構成を示すブロック図である。
【図３】図３は、本発明の実施の形態１に係る外部デバイスアクセス装置を用いた場合の、マスタによるプリフェッチ処理の流れを示すフローチャートである。
【図４】図４は、本発明の実施の形態２に係る外部デバイスアクセス装置の構成を示すブロック図である。
【図５】図５は、本発明の実施の形態２に係る外部デバイスアクセス装置の変形例の構成を示すブロック図である。
【図６】図６は、本発明の実施の形態３に係る外部デバイスアクセス装置の構成を示すブロック図である。
【図７】図７は、本発明の実施の形態４に係る外部デバイスアクセス装置の構成を示すブロック図である。
【図８】図８は、本発明の実施の形態５に係る外部デバイスアクセス装置の構成を示すブロック図である。
【図９】図９は、本発明の実施の形態６に係る外部デバイスアクセス装置の構成を示すブロック図である。
【図１０】図１０は、本発明の実施の形態７に係る外部デバイスアクセス装置の構成を示すブロック図である。
【図１１】図１１は、本発明の実施の形態８に係る外部デバイスアクセス装置の構成を示すブロック図である。
【図１２】図１２は、本発明の実施の形態９に係る外部デバイスアクセス装置の構成を示すブロック図である。
【図１３】図１３は、本発明の実施の形態１０に係る外部デバイスアクセス装置の構成を示すブロック図である。
【図１４】図１４は、本発明の実施の形態１１に係る外部デバイスアクセス装置の構成を示すブロック図である。
【図１５】図１５は、本発明の実施の形態１２に係る外部デバイスアクセス装置の構成を示すブロック図である。
【発明を実施するための形態】
【００５６】
以下、本発明に係る外部デバイスアクセス装置の実施の形態について、図面を参照しながら詳細に説明する。
【００５７】
以下の実施の形態において、マスタとは、ＣＰＵ又はマイコン等の書き込み及び読み出しの制御を担当する装置である。外部デバイスとはＣＰＵ又はマイコン等をアシストするコプロセッサ又はアクセラレータ等の装置である。また、外部デバイスは、マスタがアドレスを指定することによりアクセス可能な資源を有する。
【００５８】
（実施の形態１）
本発明の実施の形態１に係る外部デバイスアクセス装置は、プリフェッチデータ読み出し動作において、プリフェッチ動作が完了していない場合に、プリフェッチデータ読み出し動作を受け付けたことを示す受理信号と、プリフェッチ動作が完了しているか否かを示すプリフェッチ動作状態信号とをマスタに出力する。
【００５９】
これにより、マスタは、プリフェッチ動作が完了していない場合には、他の処理を行うことができる。よって、本発明の実施の形態１に係る外部デバイスアクセス装置は、マスタを効率的に使用できる。
【００６０】
まず、本発明の実施の形態１に係る外部デバイスアクセス装置の構成を説明する。
【００６１】
図２は、本発明の実施の形態１に係る外部デバイスアクセス装置の構成を示すブロック図である。
【００６２】
外部デバイスアクセス装置１０３は、アドレスバス１５０、書き込みデータ入力バス１５１、読み出しデータ出力バス１５２、書き込み読み出し制御信号（以下、Ｒ／Ｗ信号と呼ぶ）バス１５３、受理信号バス１５５、及びプリフェッチ動作状態信号バス１５６を介して、マスタ１０１と接続される。外部デバイスアクセス装置１０３は、書き込みアドレス出力バス１７０、書き込みデータ出力バス１７１、読み出しアドレス出力バス１７２、及び読み出しデータ入力バス１７３を介して、外部デバイス１０２と接続される。
【００６３】
外部デバイスアクセス装置１０３は、通常書き込み動作と、プリフェッチ動作と、プリフェッチデータ読み出し動作とを行う。通常書き込み動作は、外部デバイス１０２への通常のデータ書き込み動作である。プリフェッチ動作は、予め外部デバイス１０２のデータを読み出しデータ格納部１１３に格納する動作である。プリフェッチデータ読み出し動作は、読み出しデータ格納部１１３が格納するデータをマスタ１０１へ出力する動作である。
【００６４】
マスタ１０１は、通常書き込み動作と、プリフェッチ動作と、プリフェッチデータ読み出し動作とを外部デバイスアクセス装置１０３に要求する。
【００６５】
外部デバイスアクセス装置１０３は、マスタ１０１からの要求に応じて、通常書き込み動作と、プリフェッチ動作と、プリフェッチデータ読み出し動作とを行う。
【００６６】
外部デバイス１０２は、書き込みデータ出力バス１７１に出力された書き込みデータを、書き込みアドレス出力バス１７０に出力された書き込みアドレスに格納する。また、外部デバイス１０２は、読み出しアドレス出力バス１７２に出力された読み出しアドレスに格納しているデータを読み出し、読み出したデータを読み出しデータ入力バス１７３に出力する。
【００６７】
例えば、マスタ１０１、外部デバイス１０２及び外部デバイスアクセス装置１０３は、１つのシステムＬＳＩに含まれる。なお、マスタ１０１、外部デバイス１０２及び外部デバイスアクセス装置１０３のうち２以上が１つのシステムＬＳＩに含まれてもよいし、それぞれ個別のＬＳＩとして形成されてもよい。
【００６８】
外部デバイスアクセス装置１０３は、書き込みアドレス格納部１１０と、書き込みデータ格納部１１１と、読み出しアドレス格納部１１２と、読み出しデータ格納部１１３と、アドレス制御部１１４と、格納動作状態保持部１１５と、受理信号生成部１１６とを備える。
【００６９】
アドレス制御部１１４は、マスタ１０１からの通常書き込み動作の要求（以下、通常書き込み要求。）、プリフェッチ動作の要求（以下、プリフェッチ要求。）及びプリフェッチデータ読み出し動作の要求（以下、プリフェッチデータ読み出し要求。）を受け付ける。アドレス制御部１１４は、マスタ１０１により、アドレスバス１５０に出力されたアドレスと、書き込みデータ入力バス１５１に出力された書き込みデータと、Ｒ／Ｗ信号バス１５３に出力されたＲ／Ｗ信号とに基づき、通常書き込み要求、プリフェッチ要求及びプリフェッチデータ読み出し要求を受け付ける。
【００７０】
具体的には、アドレス制御部１１４は、アドレスバス１５０に出力されたアドレスが読み出しデータ格納部１１３に割り当てられたアドレスでなく、かつ、Ｒ／Ｗ信号によりデータ書き込みが指示されている場合、マスタ１０１からの要求が通常書き込み要求であることを認識し、通常書き込み要求を受け付ける。
【００７１】
ここで、読み出しデータ格納部１１３は、マスタ１０１が持つアクセス空間に割り当てられたアドレスを持ち、マスタ１０１からアクセス可能である。ここで、アクセス可能とは、マスタ１０１が読み出しデータ格納部１１３のアドレスを指定することにより、読み出しデータ格納部１１３に格納されるデータの読み出し及び書き込みのうち少なくとも一方を行えることを意味する。
【００７２】
また、アドレス制御部１１４は、アドレスバス１５０に出力されたアドレスが読み出しデータ格納部１１３に割り当てられたアドレスであり、かつ、Ｒ／Ｗ信号によりデータ書き込みが指示されている場合、マスタ１０１からの要求がプリフェッチ要求であることを認識し、プリフェッチ要求を受け付ける。
【００７３】
また、アドレス制御部１１４は、アドレスバス１５０に出力されたアドレスが読み出しデータ格納部１１３に割り当てられたアドレスであり、かつ、Ｒ／Ｗ信号によりデータ読み出しが指示されている場合、マスタ１０１からの要求がプリフェッチデータ読み出し要求であることを認識し、プリフェッチデータ読み出し要求を受け付ける。
【００７４】
アドレス制御部１１４は、通常書き込み要求、プリフェッチ要求及びプリフェッチデータ読み出し要求に応じて、通常書き込み動作、プリフェッチ動作及びプリフェッチデータ読み出し動作を行う。アドレス制御部１１４は、書き込みアドレス格納部１１０、書き込みデータ格納部１１１、読み出しアドレス格納部１１２、読み出しデータ格納部１１３、格納動作状態保持部１１５、及び受理信号生成部１１６を制御することで、通常書き込み動作、プリフェッチ動作及びプリフェッチデータ読み出し動作を行う。
【００７５】
具体的には、アドレス制御部１１４は、通常書き込み要求、プリフェッチ要求及びプリフェッチデータ読み出し要求に応じて、書き込みアドレス１６０、書き込み許可信号１６１、読み出しアドレス１６２、読み出しアドレス許可信号１６３及び読み出しデータ許可信号１６４を生成する。
【００７６】
アドレス制御部１１４は、通常書き込み要求を受け付けた際、書き込みデータ入力バス１５１のデータを書き込みアドレス１６０として出力し、書き込み許可信号１６１を出力する。アドレス制御部１１４は、プリフェッチ要求を受け付けた際、書き込みデータ入力バス１５１のデータを読み出しアドレス１６２として出力し、読み出しアドレス許可信号１６３を出力する。アドレス制御部１１４は、プリフェッチデータ読み出し要求を受け付けた際、読み出しデータ許可信号１６４を出力する。
【００７７】
書き込みアドレス格納部１１０は、アドレス制御部１１４により書き込み許可信号１６１が出力された際に、書き込みアドレス１６０を取り込み、取り込んだ書き込みアドレス１６０を格納する。書き込みアドレス格納部１１０は、格納する書き込みアドレス１６０を書き込みアドレス出力バス１７０に出力する。
【００７８】
書き込みデータ格納部１１１は、アドレス制御部１１４により書き込み許可信号１６１が出力された際に、書き込みデータ入力バス１５１の書き込みデータを取り込み、取り込んだ書き込みデータを格納する。書き込みデータ格納部１１１は、格納する書き込みデータを書き込みデータ出力バス１７１に出力する。
【００７９】
読み出しアドレス格納部１１２は、アドレス制御部１１４により読み出しアドレス許可信号１６３が出力された際に、読み出しアドレス１６２を取り込み、取り込んだ読み出しアドレス１６２を格納する。読み出しアドレス格納部１１２は、格納する読み出しアドレス１６２を読み出しアドレス出力バス１７２に出力する。
【００８０】
読み出しデータ格納部１１３は、読み出しデータ入力バス１７３に出力された読み出しデータを格納する。つまり、読み出しデータ格納部１１３は、プリフェッチ動作により読み出されたデータを格納する。読み出しデータ格納部１１３は、アドレス制御部１１４により読み出しデータ許可信号１６４が出力された際に、格納する読み出しデータを読み出しデータ出力バス１５２に出力する。
【００８１】
格納動作状態保持部１１５は、読み出しデータ格納部１１３が外部デバイス１０２により出力される読み出しデータの格納動作中であるか否かを示す情報であるプリフェッチ動作状態信号を保持する。言い換えると、プリフェッチ動作状態信号は、プリフェッチ動作が完了したか否かを示す情報である。
【００８２】
具体的には、格納動作状態保持部１１５は、読み出しアドレス格納部１１２により読み出しアドレス出力バス１７２に読み出しアドレスが出力された時に、格納動作中であること示す情報を保持する。格納動作状態保持部１１５は、外部デバイス１０２により読み出しデータ入力バス１７３に読み出しデータが出力された時に、保持していた格納動作中であることを示す情報を取り消し、格納動作が完了したことを示す情報を保持する。
【００８３】
また、格納動作状態保持部１１５は、アドレス制御部１１４により読み出しデータ許可信号１６４が出力された際に、保持するプリフェッチ動作状態信号をプリフェッチ動作状態信号バス１５６に出力する。
【００８４】
受理信号生成部１１６は、マスタ１０１からの通常書き込み要求、プリフェッチ要求、及びプリフェッチデータ読み出し要求を受け付けたことを示す受理信号をマスタ１０１に出力する。具体的には、受理信号生成部１１６は、アドレス制御部１１４により書き込み許可信号１６１、読み出しアドレス許可信号１６３又は読み出しデータ許可信号１６４が出力された際に、受理信号を受理信号バス１５５に出力する。
【００８５】
また、受理信号生成部１１６は、プリフェッチデータ読み出し要求が受け付けられた際に、プリフェッチ動作が完了しているか否かによらず、直ちに受理信号をマスタ１０１に出力する。
【００８６】
次に、外部デバイスアクセス装置１０３の動作について説明する。
【００８７】
まず、通常書き込み動作について説明する。
【００８８】
通常書き込み動作時には、マスタ１０１は、書き込みデータ入力バス１５１に書き込みデータを出力し、アドレスバス１５０に書き込みアドレスを出力し、Ｒ／Ｗ信号バス１５３にデータ書き込みを指示するＲ／Ｗ信号を出力する。ここで、マスタ１０１がアドレスバス１５０に出力する書き込みアドレスは、読み出しデータ格納部１１３に割り当てられたアドレスとは異なるアドレスである。
【００８９】
アドレス制御部１１４は、アドレスバス１５０のアドレスが読み出しデータ格納部１１３に割り当てられたアドレスであるか否かを判定する。アドレス制御部１１４は、アドレスバス１５０のアドレスが読み出しデータ格納部１１３に割り当てられたアドレスでなく、かつ、Ｒ／Ｗ信号によりデータ書き込みが指示されているので、マスタ１０１からの要求が通常書き込み動作であることを認識する。つまり、アドレス制御部１１４は、マスタ１０１からの通常書き込み要求を受け付ける。
【００９０】
通常書き込み要求を受け付けたアドレス制御部１１４は、アドレスバス１５０のアドレスである書き込みアドレス１６０を書き込みアドレス格納部１１０に出力する。また、アドレス制御部１１４は、書き込み許可信号１６１を書き込みアドレス格納部１１０、書き込みデータ格納部１１１及び受理信号生成部１１６に出力する。
【００９１】
書き込みアドレス格納部１１０は、書き込み許可信号１６１に応じて、書き込みアドレス１６０を格納する。書き込みデータ格納部１１１は、書き込み許可信号１６１に応じて、書き込みデータ入力バス１５１の書き込みデータを格納する。受理信号生成部１１６は、書き込み許可信号１６１に応じて、書き込みアドレス１６０及び書き込みデータがそれぞれ書き込みアドレス格納部１１０及び書き込みデータ格納部１１１に格納された時点で受理信号バス１５５に受理信号を出力する。
【００９２】
書き込みアドレス格納部１１０は、格納した書き込みアドレス１６０を書き込みアドレス出力バス１７０に出力する。書き込みデータ格納部１１１は、格納した書き込みデータを書き込みデータ出力バス１７１に出力する。書き込みアドレス格納部１１０及び書き込みデータ格納部１１１は、格納した書き込みアドレス及び書き込みデータを、外部デバイス１０２が受け付けるまで保持する。
【００９３】
外部デバイスアクセス装置１０３は、外部デバイス１０２が受け付けを完了した後に通常書き込み動作を完了する。
【００９４】
次に、プリフェッチ動作について説明する。
【００９５】
プリフェッチ動作時には、マスタ１０１は、書き込みデータ入力バス１５１に読み出しアドレスを出力し、アドレスバス１５０に読み出しデータ格納部１１３に割り当てられたアドレスを出力し、Ｒ／Ｗ信号バス１５３にデータ書き込みを指示するＲ／Ｗ信号を出力する。
【００９６】
アドレス制御部１１４は、アドレスバス１５０のアドレスが読み出しデータ格納部１１３に割り当てられたアドレスであるか否かを判定する。アドレス制御部１１４は、アドレスバス１５０のアドレスが読み出しデータ格納部１１３に割り当てられたアドレスであり、かつ、Ｒ／Ｗ信号によりデータ書き込みが指示されているので、マスタ１０１からの要求がプリフェッチ動作であることを認識する。つまり、アドレス制御部１１４は、マスタ１０１からのプリフェッチ要求を受け付ける。
【００９７】
プリフェッチ要求を受け付けたアドレス制御部１１４は、書き込みデータ入力バス１５１のデータである読み出しアドレス１６２を読み出しアドレス格納部１１２に出力する。また、アドレス制御部１１４は、読み出しアドレス許可信号１６３を読み出しアドレス格納部１１２、及び受理信号生成部１１６に出力する。
【００９８】
読み出しアドレス格納部１１２は、読み出しアドレス許可信号１６３に応じて、読み出しアドレス１６２を格納する。受理信号生成部１１６は、読み出しアドレス許可信号１６３に応じて、読み出しアドレス１６２が読み出しアドレス格納部１１２に格納された時点で受理信号バス１５５に受理信号を出力する。
【００９９】
読み出しアドレス格納部１１２は、格納した読み出しアドレス１６２を読み出しアドレス出力バス１７２に出力する。また、読み出しアドレス格納部１１２は、格納した読み出しアドレス１６２を、格納動作状態保持部１１５に出力することで、格納動作中であることを示す。
【０１００】
格納動作状態保持部１１５は、読み出しアドレス格納部１１２により出力される読み出しアドレスを受けて、格納動作中であること示す情報を保持する。
【０１０１】
外部デバイス１０２は、読み出しアドレスを受け付けて、読み出しデータ入力バス１７３に読み出しデータを出力する。
【０１０２】
読み出しデータ格納部１１３は、読み出しデータ入力バス１７３に出力された読み出しデータを格納する。また、格納動作状態保持部１１５は、読み出しデータ入力バス１７３に出力される読み出しデータを受けて、保持していた格納動作中であることを示す情報を取り消す。
【０１０３】
また、読み出しアドレス格納部１１２は、読み出しデータ入力バス１７３に出力された読み出しデータが読み出しデータ格納部１１３に格納されるまで、読み出しアドレス１６２を格納する。
【０１０４】
以上によりプリフェッチ動作が完了する。
【０１０５】
次に、プリフェッチデータ読み出し動作について説明する。
【０１０６】
プリフェッチデータ読み出し動作時には、マスタ１０１は、アドレスバス１５０に読み出しデータ格納部１１３に割り当てられたアドレスを出力し、Ｒ／Ｗ信号バス１５３にデータ読み出しを指示するＲ／Ｗ信号を出力する。
【０１０７】
アドレス制御部１１４は、アドレスバス１５０のアドレスが読み出しデータ格納部１１３に割り当てられたアドレスであるか否かを判定する。アドレス制御部１１４は、アドレスバス１５０のアドレスが読み出しデータ格納部１１３に割り当てられたアドレスであり、かつ、Ｒ／Ｗ信号によりデータ読み出しが指示されているので、マスタ１０１からの要求がプリフェッチデータ読み出し動作であることを認識する。つまり、アドレス制御部１１４は、マスタ１０１からのプリフェッチデータ読み出し要求を受け付ける。
【０１０８】
プリフェッチデータ読み出し要求を受け付けたアドレス制御部１１４は、読み出しデータ許可信号１６４を読み出しデータ格納部１１３、格納動作状態保持部１１５及び受理信号生成部１１６に出力する。
【０１０９】
読み出しデータ格納部１１３は、読み出しデータ許可信号１６４を受けて、格納しているデータを読み出しデータ出力バス１５２に出力する。
【０１１０】
格納動作状態保持部１１５は、読み出しデータ許可信号１６４を受けて、プリフェッチ動作状態信号バス１５６にプリフェッチ動作状態信号を出力する。格納動作状態保持部１１５は、格納動作中であること示す情報を保持している場合には、プリフェッチ動作を実行中であることを示すプリフェッチ動作状態信号を出力し、格納動作中であること示す情報を保持していない場合には、プリフェッチ動作を実行中でないことを示すプリフェッチ動作状態信号を出力する。
【０１１１】
受理信号生成部１１６は、読み出しデータ許可信号１６４を受けて、受理信号バス１５５に受理信号を出力する。ここで、受理信号生成部１１６は、プリフェッチ動作中であっても、受理信号バス１５５に受理信号を出力する。
【０１１２】
以上によりプリフェッチデータ読み出し動作が完了する。
【０１１３】
次に、本発明の実施の形態１に係る外部デバイスアクセス装置１０３に接続されるマスタ１０１の動作について説明する。
【０１１４】
図３は、マスタ１０１のプリフェッチ処理の流れを示すフローチャートである。
【０１１５】
図３に示すように、まず、マスタ１０１は、外部デバイスアクセス装置１０３に対してプリフェッチ動作を要求する（Ｓ１０１）。
【０１１６】
次に、マスタ１０１は、プリフェッチデータ読み出し動作を行うまでに実行可能な処理を行う（Ｓ１０２）。ここで、マスタ１０１が処理を行う期間は、外部デバイスアクセス装置１０３が正常時にプリフェッチ動作を完了するまでの期間である。
【０１１７】
次に、マスタ１０１は、外部デバイスアクセス装置１０３にプリフェッチデータ読み出し動作を要求する（Ｓ１０３）。
【０１１８】
マスタ１０１は、受理信号バス１５５に出力された受理信号を受け、プリフェッチ動作状態信号バス１５６に出力されたプリフェッチ動作状態信号を確認し、プリフェッチ動作が実行中であるか否かを判定する（Ｓ１０４）。
【０１１９】
プリフェッチ動作が完了している場合（Ｓ１０４でＮｏ）、マスタ１０１は、読み出しデータ出力バス１５２に出力された読み出しデータを用いて処理を実行する（Ｓ１０５）。
【０１２０】
一方、外部デバイス１０２の異常状態、又は他のマスタからのアクセスの競合などによりプリフェッチ動作が完了していない場合（Ｓ１０４でＹｅｓ）、マスタ１０１は、次の処理、又は別の処理に移行し、移行した処理を実行する（Ｓ１０６）。
【０１２１】
次に、所定の時間後、マスタ１０１は、元の処理に復帰し（Ｓ１０７）、再度、外部デバイスアクセス装置１０３にプリフェッチデータを読み出し動作を要求する（Ｓ１０３）。
【０１２２】
以上のように、外部デバイスアクセス装置１０３は、プリフェッチデータ読み出し動作において、外部デバイス１０２が異常状態等によりプリフェッチ動作実行中であっても、マスタ１０１に対して受理信号を出力する。これにより、プリフェッチデータ読み出し動作を完了させることができる。よって、外部デバイス１０２が異常状態等によりプリフェッチ動作が完了していない場合でもマスタ１０１は次の処理に移行できる。
【０１２３】
また、外部デバイスアクセス装置１０３は、プリフェッチ動作状態信号を出力する。これにより、マスタ１０１は、プリフェッチデータ読み出し動作時にプリフェッチ動作が実行中であるか否かの判断を行える。これにより、マスタ１０１は、プリフェッチ動作が完了していない場合には、他の処理を行うことができる。よって、本発明の実施の形態１に係る外部デバイスアクセス装置１０３は、マスタ１０１を効率的に使用できる。
【０１２４】
なお、外部デバイスアクセス装置１０３は、プリフェッチ動作状態信号を、割り込み信号、スレッド切り替え信号、又はマスタがソフト処理可能なフラグ信号として出力し、マスタ１０１は、プリフェッチ動作状態信号を割り込み信号、スレッド切り替え信号、又はマスタがソフト処理可能なフラグ信号として処理してもよい。
【０１２５】
（実施の形態２）
本発明の実施の形態２に係る外部デバイスアクセス装置は、上述した実施の形態１に係る外部デバイスアクセス装置１０３の変形例である。実施の形態２に係る外部デバイスアクセス装置は、プリフェッチデータ読み出し動作時においてプリフェッチ動作が完了していない場合には、読み出しデータ出力バス１５２にエラーが生じたことを示すデータを出力する。
【０１２６】
まず、本発明の実施の形態２に係る外部デバイスアクセス装置の構成を説明する。
【０１２７】
図４は、本発明の実施の形態２に係る外部デバイスアクセス装置の構成を示すブロック図である。なお、図２と同様の要素には同一の符号を付しており重複する説明は省略する。
【０１２８】
実施の形態２に係る外部デバイスアクセス装置２０３は、実施の形態１に係る外部デバイスアクセス装置１０３の構成に加え、さらに、エラーデータ生成部１３０と、セレクタ１４０とを備える。
【０１２９】
また、外部デバイスアクセス装置２０３は、プリフェッチ動作状態信号バス１５６を介して、マスタ１０１と接続されない点が実施の形態１と異なる。
【０１３０】
エラーデータ生成部１３０は、予め定められたエラーデータ１８０を生成し、セレクタ１４０に出力する。
【０１３１】
セレクタ１４０は、読み出しデータ格納部１１３に格納される読み出しデータ、又は、エラーデータ生成部１３０により出力されたエラーデータ１８０を、格納動作状態保持部１１５から出力されたプリフェッチ動作状態信号１６５に応じて選択し、選択した読み出しデータ又はエラーデータ１８０を読み出しデータ出力バス１５２に出力する。具体的には、セレクタ１４０は、プリフェッチ動作状態信号１６５がプリフェッチ動作中であることを示す場合、エラーデータ１８０を選択し、プリフェッチ動作状態信号１６５がプリフェッチ動作中でないことを示す場合、読み出しデータを選択する。
【０１３２】
次に、外部デバイスアクセス装置２０３の動作について説明する。なお、実施の形態１と同様の動作については説明を省略する。
【０１３３】
通常書き込み動作及びプリフェッチ動作は、実施の形態１と同様である。
【０１３４】
以下、プリフェッチデータ読み出し動作について説明する。
【０１３５】
プリフェッチデータ読み出し動作において、セレクタ１４０は、格納動作状態保持部１１５により出力されるプリフェッチ動作状態信号１６５がプリフェッチ動作中であることを示す場合、エラーデータ１８０を選択し、選択したエラーデータ１８０を読み出しデータ出力バス１５２に出力する。また、セレクタ１４０は、プリフェッチ動作状態信号１６５がプリフェッチ動作中でないことを示す場合、読み出しデータ格納部１１３に格納される読み出しデータを選択し、選択した読み出しデータを読み出しデータ出力バス１５２に出力する。
【０１３６】
以上により、マスタ１０１は、読み出しデータ出力バス１５２に出力されたデータが予め定められたエラーデータ１８０である場合には、プリフェッチ動作が実行中であると判断し、読み出しデータ出力バス１５２に出力されたデータがエラーデータ１８０でない場合には、プリフェッチ動作が完了していると判断できる。
【０１３７】
これにより、本発明の実施の形態２に係る外部デバイスアクセス装置２０３は、実施の形態１に係る外部デバイスアクセス装置１０３の利点に加えて、マスタ１０１との間にプリフェッチ動作状態信号バス１５６を設けなくてよいという利点がある。
【０１３８】
なお、外部デバイスアクセス装置１０３は、プリフェッチ動作が実行中の場合に、エラーデータ１８０の代わりに、読み出しアドレス格納部１１２から出力される読み出しアドレスを出力してもよい。
【０１３９】
図５は、本発明の実施の形態２に係る外部デバイスアクセス装置２０３の変形例の構成を示す図である。
【０１４０】
図５に示す外部デバイスアクセス装置２１３は、エラーデータ生成部１３０を備えず、かつセレクタ１４０に、エラーデータ１８０の代わりに読み出しアドレス格納部１１２に格納される読み出しアドレスが入力される。セレクタ１４０は、プリフェッチ動作状態信号１６５がプリフェッチ動作中であることを示す場合、読み出しアドレス格納部１１２に格納される読み出しアドレスを選択し、選択した読み出しアドレスを読み出しデータ出力バス１５２に出力する。
【０１４１】
これにより、マスタ１０１は、読み出しデータ出力バス１５２に出力されたデータがプリフェッチ動作中の読み出しアドレスである場合には、プリフェッチ動作が実行中であると判断できる。
【０１４２】
（実施の形態３）
本発明の実施の形態３に係る外部デバイスアクセス装置は、上述した実施の形態１に係る外部デバイスアクセス装置１０３の変形例である。実施の形態３に係る外部デバイスアクセス装置は、さらに、プリフェッチ動作が完了したか否かを示す情報を出力するプリフェッチ実行状態読み出し動作を行う。
【０１４３】
まず、本発明の実施の形態３に係る外部デバイスアクセス装置の構成を説明する。
【０１４４】
図６は、本発明の実施の形態３に係る外部デバイスアクセス装置の構成を示すブロック図である。なお、図２と同様の要素には同一の符号を付しており重複する説明は省略する。
【０１４５】
実施の形態３に係る外部デバイスアクセス装置３０３は、実施の形態１に係る外部デバイスアクセス装置１０３の構成に加え、さらに、セレクタ１４１を備える。また、外部デバイスアクセス装置３０３は、外部デバイスアクセス装置１０３に対して、アドレス制御部３１４の構成が異なる。
【０１４６】
また、外部デバイスアクセス装置３０３は、プリフェッチ動作状態信号バス１５６を介して、マスタ１０１と接続されない点が実施の形態１と異なる。
【０１４７】
外部デバイスアクセス装置３０３は、通常書き込み動作、プリフェッチ動作、プリフェッチデータ読み出し動作に加えて、プリフェッチ実行状態読み出し動作を行う。
【０１４８】
プリフェッチ実行状態読み出し動作は、現在プリフェッチ動作が実行中であるか否かを示す情報をマスタ１０１に出力する動作である。また、格納動作状態保持部１１５は、マスタ１０１が持つアクセス空間に割り当てられたアドレスを持ち、マスタ１０１からアクセス可能である。
【０１４９】
アドレス制御部３１４は、アドレス制御部１１４の機能に加え、マスタ１０１からのプリフェッチ実行状態読み出し動作の要求（以下、プリフェッチ実行状態読み出し要求。）を受け付ける。具体的には、アドレス制御部３１４は、アドレスバス１５０に出力されたアドレスが格納動作状態保持部１１５に割り当てられたアドレスであり、かつ、Ｒ／Ｗ信号によりデータ読み出しが指示されている場合、マスタ１０１からの要求がプリフェッチ実行状態読み出し要求であることを認識し、プリフェッチ実行状態読み出し要求を受け付ける。
【０１５０】
アドレス制御部３１４は、プリフェッチ実行状態読み出し要求に応じて、プリフェッチ実行状態読み出し動作を行う。アドレス制御部３１４は、読み出しデータ格納部１１３及びセレクタ１４１を制御することで、プリフェッチ実行状態読み出し動作を行う。
【０１５１】
具体的には、アドレス制御部３１４は、プリフェッチ実行状態読み出し要求を受け付けた際、読み出しデータ許可信号１６４及び格納動作状態読み出し許可信号１８１を出力する。
【０１５２】
セレクタ１４１は、アドレス制御部３１４により格納動作状態読み出し許可信号１８１が出力されていない場合、読み出しデータ格納部１１３に格納される読み出しデータを選択し、選択した読み出しデータを読み出しデータ出力バス１５２に出力する。セレクタ１４１は、アドレス制御部３１４により格納動作状態読み出し許可信号１８１が出力されている場合、格納動作状態読み出しデータ格納部１１３に格納されるプリフェッチ動作状態信号１６５を選択し、選択したプリフェッチ動作状態信号１６５を読み出しデータ出力バス１５２に出力する。
【０１５３】
次に、外部デバイスアクセス装置３０３の動作について説明する。なお、実施の形態１と同様の動作については説明を省略する。
【０１５４】
通常書き込み動作及びプリフェッチ動作は、実施の形態１と同様である。
【０１５５】
以下、プリフェッチデータ読み出し動作について説明する。
【０１５６】
プリフェッチデータ読み出し動作において、セレクタ１４１は、アドレス制御部３１４により格納動作状態読み出し許可信号１８１が出力されていないので、読み出しデータ格納部１１３に格納される読み出しデータを選択し、選択した読み出しデータを読み出しデータ出力バス１５２に出力する。
【０１５７】
次に、プリフェッチ実行状態読み出し動作について説明する。
【０１５８】
プリフェッチ実行状態読み出し動作時には、マスタ１０１は、アドレスバス１５０に格納動作状態保持部１１５に割り当てられたアドレスを出力し、Ｒ／Ｗ信号バス１５３にデータ読み出しを指示するＲ／Ｗ信号を出力する。
【０１５９】
アドレス制御部３１４は、アドレスバス１５０のアドレスが読み出しデータ格納部１１３に割り当てられたアドレスであるか否か、及び読み出し格納動作状態保持部１１５に割り当てられたアドレスであるか否かを判定する。アドレス制御部３１４は、アドレスバス１５０のアドレスが格納動作状態保持部１１５に割り当てられたアドレスであり、かつ、Ｒ／Ｗ信号によりデータ読み出しが指示されているので、マスタ１０１からの要求がプリフェッチ実行状態読み出し動作であることを認識する。
【０１６０】
アドレス制御部３１４は、読み出しデータ許可信号１６４を読み出しデータ格納部１１３、格納動作状態保持部１１５及び受理信号生成部１１６に出力し、格納動作状態読み出し許可信号１８１をセレクタ１４１に出力する。
【０１６１】
格納動作状態保持部１１５は、読み出しデータ許可信号１６４を受けて、プリフェッチ動作状態信号１６５を出力する。
【０１６２】
セレクタ１４１は、アドレス制御部３１４により格納動作状態読み出し許可信号１８１が出力されているので、プリフェッチ動作状態信号１６５を選択し、選択したプリフェッチ動作状態信号１６５を読み出しデータ出力バス１５２に出力する。
【０１６３】
受理信号生成部１１６は、読み出しデータ許可信号１６４を受けて、受理信号バス１５５に受理信号を出力する。
【０１６４】
以上によりプリフェッチ実行状態読み出し動作が完了する。
【０１６５】
以上より、本発明の実施の形態３に係る外部デバイスアクセス装置３０３は、実施の形態１に係る外部デバイスアクセス装置１０３の利点に加えて、マスタ１０１との間にプリフェッチ動作状態信号バス１５６を設けなくてよいという利点がある。
【０１６６】
さらに、マスタ１０１は、プリフェッチデータ読み出し動作を行う前に、プリフェッチ実行状態読み出し動作を行うことで、不要なプリフェッチデータ読み出し動作を行わなくてもよいという効果がある。
【０１６７】
（実施の形態４）
本発明の実施の形態４に係る外部デバイスアクセス装置は、上述した実施の形態１に係る外部デバイスアクセス装置１０３の変形例である。実施の形態４に係る外部デバイスアクセス装置は、外部デバイス１０２の状態を示す外部デバイス状態信号を、マスタ１０１に出力する。
【０１６８】
まず、本発明の実施の形態４に係る外部デバイスアクセス装置の構成を説明する。
【０１６９】
図７は、本発明の実施の形態４に係る外部デバイスアクセス装置の構成を示すブロック図である。なお、図２と同様の要素には同一の符号を付しており重複する説明は省略する。
【０１７０】
実施の形態４に係る外部デバイスアクセス装置４０３は、実施の形態１に係る外部デバイスアクセス装置１０３の構成に加え、さらに、状態信号格納部１１７と、セレクタ１４２とを備える。
【０１７１】
また、外部デバイスアクセス装置４０３は、実施の形態１の接続関係に加え、外部デバイス状態信号出力バス１５７を介して、マスタ１０１と接続され、外部デバイス状態信号入力バス１７４を介して、外部デバイス１０２と接続される。
【０１７２】
また、外部デバイス１０２は、外部デバイス状態信号を外部デバイス状態信号入力バス１７４に出力する。外部デバイス状態信号は、外部デバイス１０２の動作状態を示す信号であり、例えば、異常状態、又は他のマスタからのアクセスにより書き込み又は読み出し動作中であることを示す信号である。
【０１７３】
状態信号格納部１１７は、プリフェッチ動作が完了した際に、外部デバイス１０２により外部デバイス状態信号入力バス１７４に出力される外部デバイス状態信号を取り込み格納する。状態信号格納部１１７は、格納する外部デバイス状態信号をセレクタ１４２に出力する。
【０１７４】
セレクタ１４２は、プリフェッチ動作状態信号バス１５６に出力されたプリフェッチ動作状態信号に応じて、外部デバイス状態信号入力バス１７４に出力された外部デバイス状態信号、又は状態信号格納部１１７に格納される外部デバイス状態信号を選択し、選択した外部デバイス状態信号を外部デバイス状態信号出力バス１５７に出力する。具体的には、セレクタ１４２は、プリフェッチ動作状態信号がプリフェッチ動作中であることを示す場合、外部デバイス状態信号入力バス１７４の外部デバイス状態信号を選択し、プリフェッチ動作状態信号がプリフェッチ動作中でないことを示す場合、状態信号格納部１１７に格納される外部デバイス状態信号を選択する。
【０１７５】
次に、外部デバイスアクセス装置４０３の動作について説明する。なお、実施の形態１と同様の動作については説明を省略する。
【０１７６】
通常書き込み動作は、実施の形態１と同様である。
【０１７７】
プリフェッチ動作において、プリフェッチ動作が完了した際に、状態信号格納部１１７は、外部デバイス状態信号入力バス１７４の外部デバイス状態信号を取り込み格納する。
【０１７８】
以下、プリフェッチデータ読み出し動作について説明する。
【０１７９】
プリフェッチデータ読み出し動作において、セレクタ１４２は、格納動作状態保持部１１５により出力されるプリフェッチ動作状態信号がプリフェッチ動作中であることを示す場合、外部デバイス状態信号入力バス１７４の外部デバイス状態信号を外部デバイス状態信号出力バス１５７に出力する。また、セレクタ１４２は、プリフェッチ動作状態信号がプリフェッチ動作中でないことを示す場合、状態信号格納部１１７に格納される外部デバイス状態信号を外部デバイス状態信号出力バス１５７に出力する。
【０１８０】
以上により、外部デバイスアクセス装置４０３は、プリフェッチ実行中の場合には、現在の外部デバイス１０２の状態をマスタ１０１に通知し、プリフェッチ動作が完了している場合には、当該プリフェッチ動作の完了時の外部デバイス１０２の状態をマスタ１０１に通知する。
【０１８１】
これにより、本発明の実施の形態４に係る外部デバイスアクセス装置４０３は、実施の形態１に係る外部デバイスアクセス装置１０３の利点に加えて、マスタ１０１がプリフェッチ実行中の外部デバイス１０２の状態を知ることができるという利点がある。これにより、マスタ１０１は、外部デバイス１０２の状態に応じて最適な処理を行うことができる。
【０１８２】
（実施の形態５）
本発明の実施の形態５に係る外部デバイスアクセス装置は、上述した実施の形態４に係る外部デバイスアクセス装置４０３の変形例である。実施の形態５に係る外部デバイスアクセス装置は、プリフェッチ動作が実行中の場合、外部デバイス１０２の状態に応じて、受理信号を直ちに出力するか、プリフェッチ動作の完了後に受理信号を出力するかを選択する。
【０１８３】
図８は、本発明の実施の形態５に係る外部デバイスアクセス装置の構成を示すブロック図である。なお、図７と同様の要素には同一の符号を付しており重複する説明は省略する。
【０１８４】
実施の形態５に係る外部デバイスアクセス装置５０３は、実施の形態４に係る外部デバイスアクセス装置４０３に対して、受理信号生成部５１６の構成が異なる。
【０１８５】
受理信号生成部５１６は、プリフェッチデータ読み出し要求が受け付けられた際に、外部デバイス状態信号入力バス１７４の外部デバイス状態信号に応じて、プリフェッチ動作が完了しているか否かによらず受理信号をマスタ１０１に出力する動作、又は、プリフェッチ動作が完了した後に受理信号をマスタ１０１に出力する動作を選択的に行う。
【０１８６】
具体的には、受理信号生成部５１６は、読み出しデータ許可信号１６４、格納動作状態保持部１１５により出力されるプリフェッチ動作状態信号、及び外部デバイス状態信号入力バス１７４の外部デバイス状態信号に応じて、受理信号を受理信号バス１５５に出力する動作を選択する。
【０１８７】
受理信号生成部５１６は、プリフェッチ動作状態信号がプリフェッチ動作中でないことを示す場合には、アドレス制御部１１４により読み出しデータ許可信号１６４が出力された際に、受理信号を受理信号バス１５５に出力する。
【０１８８】
また、受理信号生成部５１６は、プリフェッチ動作状態信号が、プリフェッチ動作中であることを示し、かつ、外部デバイス状態信号により外部デバイス１０２が正常に動作していることが示される場合には、プリフェッチ動作が完了した後に、受理信号を受理信号バス１５５に出力する。
【０１８９】
また、受理信号生成部５１６は、プリフェッチ動作状態信号が、プリフェッチ動作中であることを示し、かつ、外部デバイス状態信号により外部デバイス１０２が異常状態であることが示される場合には、プリフェッチ動作の完了を待たずに、アドレス制御部１１４により読み出しデータ許可信号１６４が出力された際に、受理信号を受理信号バス１５５に出力する。
【０１９０】
以上の構成により、実施の形態５に係る外部デバイスアクセス装置５０３は、プリフェッチ動作が実行中の場合、外部デバイス１０２の状態に応じて、受理信号を直ちに出力するか、プリフェッチ動作の完了後に受理信号を出力するかを選択する。
【０１９１】
これにより、正常時のプリフェッチ完了までのレイテンシが可変の外部デバイス１０２に対しても、マスタ１０１は、常に最大のレイテンシ期間を空けてプリフェッチデータ読み出し動作を行わなくてもよく、最小のレイテンシ期間を空けてプリフェッチデータ読み出し動作を行えばよい。よって、実施の形態５に係る外部デバイスアクセス装置５０３は、マスタ１０１を更に効率的に使用できる。
【０１９２】
（実施の形態６）
本発明の実施の形態６に係る外部デバイスアクセス装置は、上述した実施の形態４に係る外部デバイスアクセス装置４０３の変形例である。実施の形態６に係る外部デバイスアクセス装置は、さらに、プリフェッチ動作を中止するプリフェッチ中止動作を行う。
【０１９３】
まず、本発明の実施の形態６に係る外部デバイスアクセス装置の構成を説明する。
【０１９４】
図９は、本発明の実施の形態６に係る外部デバイスアクセス装置の構成を示すブロック図である。なお、図７と同様の要素には同一の符号を付しており重複する説明は省略する。
【０１９５】
実施の形態６に係る外部デバイスアクセス装置６０３は、実施の形態４に係る外部デバイスアクセス装置４０３に対して、読み出しアドレス格納部６１２及び格納動作状態保持部６１５の構成が異なる。また、外部デバイスアクセス装置６０３は、外部デバイスアクセス装置４０３の構成に加え、プリフェッチ中止制御部１３１を備える。
【０１９６】
また、外部デバイスアクセス装置６０３は、実施の形態４の接続関係に加え、さらに、読み出し中止信号バス１７５を介して、外部デバイス１０２と接続される。
【０１９７】
外部デバイスアクセス装置６０３は、通常書き込み動作、プリフェッチ動作、及びプリフェッチデータ読み出し動作に加えて、プリフェッチ中止動作を行う。
【０１９８】
プリフェッチ中止動作は、現在実行中のプリフェッチ動作を中止する動作である。また、プリフェッチ中止制御部１３１は、マスタ１０１が持つアクセス空間に割り当てられたアドレスを持ち、マスタ１０１からアクセス可能である。
【０１９９】
アドレス制御部６１４は、アドレス制御部１１４の機能に加え、マスタ１０１からのプリフェッチ中止動作の要求（以下、プリフェッチ中止要求。）を受け付ける。具体的には、アドレス制御部６１４は、アドレスバス１５０に出力されたアドレスがプリフェッチ中止制御部１３１に割り当てられたアドレスであり、かつ、Ｒ／Ｗ信号によりデータ書き込みが指示されている場合、マスタ１０１からの要求がプリフェッチ中止要求であることを認識し、プリフェッチ中止要求を受け付ける。
【０２００】
アドレス制御部６１４は、プリフェッチ中止要求に応じて、プリフェッチ中止動作を行う。アドレス制御部６１４は、プリフェッチ中止制御部１３１を制御することで、プリフェッチ中止動作を行う。
【０２０１】
具体的には、アドレス制御部６１４は、プリフェッチ中止要求を受け付けた際、書き込みアドレス１６０と書き込み許可信号１６１をプリフェッチ中止制御部１３１に出力する。
【０２０２】
プリフェッチ中止制御部１３１は、書き込みデータ入力バス１５１の書き込みデータ、書き込みアドレス１６０及び書き込み許可信号１６１に応じて、読み出し中止信号を読み出し中止信号バス１７５に出力する。具体的には、プリフェッチ中止制御部１３１は、書き込みアドレス１６０が、プリフェッチ中止制御部１３１に割り当てられたアドレスであり、かつ、書き込みデータ入力バス１５１の書き込みデータが所定の値である場合、アドレス制御部６１４により書き込み許可信号１６１が出力された際に、読み出し中止信号を読み出し中止信号バス１７５に出力する。
【０２０３】
読み出しアドレス格納部６１２は、プリフェッチ中止制御部１３１により読み出し中止信号が出力された場合、保持する読み出しアドレスを取り消す。格納動作状態保持部６１５は、プリフェッチ中止制御部１３１により読み出し中止信号が出力された場合、保持していた格納動作中であることを示す情報を取り消す。
【０２０４】
外部デバイス１０２は、プリフェッチ中止制御部１３１により読み出し中止信号バス１７５に読み出し中止信号が出力された場合、現在実行中の読み出し動作を中止する。
【０２０５】
次に、外部デバイスアクセス装置６０３の動作について説明する。なお、実施の形態４と同様の動作については説明を省略する。
【０２０６】
通常書き込み動作、プリフェッチ動作及びプリフェッチデータ読み出し動作は、実施の形態４と同様である。
【０２０７】
以下、プリフェッチ中止動作について説明する。
【０２０８】
プリフェッチ実行状態読み出し動作時には、マスタ１０１は、アドレスバス１５０にプリフェッチ中止制御部１３１に割り当てられたアドレスを出力し、Ｒ／Ｗ信号バス１５３にデータ書き込みを指示するＲ／Ｗ信号を出力する。
【０２０９】
アドレス制御部６１４は、アドレスバス１５０のアドレスが読み出しデータ格納部１１３に割り当てられたアドレスであるか否か、及びプリフェッチ中止制御部１３１に割り当てられたアドレスであるか否かを判定する。アドレス制御部６１４は、アドレスバス１５０のアドレスがプリフェッチ中止制御部１３１に割り当てられたアドレスであり、かつ、Ｒ／Ｗ信号によりデータ書き込みが指示されているので、マスタ１０１からの要求がプリフェッチ中止動作であることを認識する。
【０２１０】
アドレス制御部６１４は、書き込み許可信号１６１を書き込みデータ格納部１１１に出力し、書き込み許可信号１６１、及びアドレスバス１５０のアドレスを書き込みアドレス１６０としてプリフェッチ中止制御部１３１に出力する。
【０２１１】
プリフェッチ中止制御部１３１は、書き込みアドレス１６０が、プリフェッチ中止制御部１３１に割り当てられたアドレスであり、かつ、書き込みデータ入力バス１５１の書き込みデータが所定の値であるので、アドレス制御部６１４により書き込み許可信号１６１が出力された際に、読み出し中止信号を読み出し中止信号バス１７５に出力する。
【０２１２】
読み出しアドレス格納部６１２は、読み出し中止信号を受けて、保持する読み出しアドレスを取り消す。また、格納動作状態保持部６１５は、読み出し中止信号を受けて、保持していた格納動作中であることを示す情報を取り消す。
【０２１３】
外部デバイス１０２は、読み出し中止信号を受けて、現在実行中の読み出し動作を中止する。
【０２１４】
以上によりプリフェッチ中止動作が完了する。
【０２１５】
以上より、実施の形態６に係る外部デバイスアクセス装置６０３は、マスタ１０１の要求に応じて、プリフェッチ動作を中止する。これにより、マスタ１０１は、外部デバイスの状態に応じて、プリフェッチ動作を中止することができる。よって、本発明の実施の形態６に係る外部デバイスアクセス装置６０３は、実施の形態４に係る外部デバイスアクセス装置４０３の利点に加えて、さらに効率的に外部デバイス１０２を使用できるという利点がある。
【０２１６】
（実施の形態７）
本発明の実施の形態７に係る外部デバイスアクセス装置は、上述した実施の形態６に係る外部デバイスアクセス装置６０３の変形例である。実施の形態７に係る外部デバイスアクセス装置は、プリフェッチデータ読み出し時に、プリフェッチ動作が実行中である場合、外部デバイス１０２の状態に応じて、プリフェッチ動作を中止する。
【０２１７】
図１０は、本発明の実施の形態７に係る外部デバイスアクセス装置の構成を示すブロック図である。なお、図９と同様の要素には同一の符号を付しており重複する説明は省略する。
【０２１８】
実施の形態７に係る外部デバイスアクセス装置７０３は、実施の形態６に係る外部デバイスアクセス装置６０３に対して、プリフェッチ中止制御部７３１の構成が異なる。
【０２１９】
また、外部デバイスアクセス装置７０３は、通常書き込み動作、プリフェッチ動作及びプリフェッチデータ読み出し動作を行い、マスタ１０１からの要求に応じてプリフェッチ中止動作を行わない。
【０２２０】
また、アドレス制御部１１４の構成は、実施の形態４と同様である。
【０２２１】
プリフェッチ中止制御部７３１は、プリフェッチデータ読み出し要求が受け付けられ、かつ、プリフェッチ動作状態信号バス１５６のプリフェッチ動作状態信号によりプリフェッチ動作が完了していないことが示される場合、外部デバイス状態信号入力バス１７４の外部デバイス状態信号に応じて、プリフェッチ動作を中止する制御を行う。
【０２２２】
具体的には、プリフェッチ中止制御部７３１は、プリフェッチ動作状態信号によりプリフェッチ動作中であることが示され、かつ外部デバイス状態信号により外部デバイス１０２が異常状態であることが示される場合、アドレス制御部１１４により読み出しデータ許可信号１６４が出力された際に、読み出し中止信号を読み出し中止信号バス１７５に出力する。
【０２２３】
以上の構成により、プリフェッチデータ読み出し動作時において、プリフェッチ動作が実行中であり、かつ外部デバイス１０２が異常状態の場合には、外部デバイスアクセス装置７０３は、プリフェッチ動作を中止する。これにより、マスタ１０１は、プリフェッチ中止動作を要求しなくてもよい。よって、本発明の実施の形態７に係る外部デバイスアクセス装置７０３は、実施の形態６に係る外部デバイスアクセス装置７０３の利点に加えて、マスタ１０１の処理を削減できるという利点がある。
【０２２４】
（実施の形態８）
本発明の実施の形態８に係る外部デバイスアクセス装置は、上述した実施の形態４に係る外部デバイスアクセス装置４０３の変形例である。実施の形態８に係る外部デバイスアクセス装置は、プリフェッチ実行中の場合には、プリフェッチ動作状態信号１６５を外部デバイス状態信号出力バス１５７に出力する。
【０２２５】
まず、本発明の実施の形態８に係る外部デバイスアクセス装置の構成を説明する。
【０２２６】
図１１は、本発明の実施の形態８に係る外部デバイスアクセス装置の構成を示すブロック図である。なお、図６及び図７と同様の要素には同一の符号を付しており重複する説明は省略する。
【０２２７】
実施の形態８に係る外部デバイスアクセス装置８０３は、実施の形態４に係る外部デバイスアクセス装置４０３に対して、格納動作状態保持部８１５、セレクタ１４４、及びアドレス制御部３１４の構成が異なる。なお、アドレス制御部３１４の構成は実施の形態３と同様である。また、外部デバイスアクセス装置８０３は、外部デバイスアクセス装置４０３の構成に加えて、セレクタ１４３を備える。
【０２２８】
格納動作状態保持部８１５は、格納動作状態保持部１１５の機能に加え、さらに、プリフェッチデータ読み出し要求が受け付けられた際の、プリフェッチ動作状態であるプリフェッチデータ読み出し時状態信号１８２を格納する。つまり、プリフェッチデータ読み出し時状態信号１８２は、プリフェッチデータ読み出し時のプリフェッチ動作の実行状態を示す。格納動作状態保持部８１５は、格納するプリフェッチデータ読み出し時状態信号１８２をセレクタ１４３に出力する。
【０２２９】
セレクタ１４３は、アドレス制御部３１４により格納動作状態読み出し許可信号１８１が出力されていない場合、読み出しデータ格納部１１３に格納される読み出しデータを選択し、選択した読み出しデータを読み出しデータ出力バス１５２に出力する。セレクタ１４１は、アドレス制御部３１４により格納動作状態読み出し許可信号１８１が出力されている場合、格納動作状態読み出しデータ格納部１１３により出力されるプリフェッチデータ読み出し時状態信号１８２を選択し、選択したプリフェッチデータ読み出し時状態信号１８２を読み出しデータ出力バス１５２に出力する。
【０２３０】
セレクタ１４４は、プリフェッチ動作状態信号１６５に応じて、プリフェッチ動作状態信号１６５、又は状態信号格納部１１７に格納される外部デバイス状態信号を選択し、選択したプリフェッチ動作状態信号１６５又は外部デバイス状態信号を外部デバイス状態信号出力バス１５７に出力する。具体的には、セレクタ１４４は、プリフェッチ動作状態信号１６５がプリフェッチ動作中であることを示す場合、プリフェッチ動作状態信号１６５を選択し、プリフェッチ動作状態信号がプリフェッチ動作中でないことを示す場合、状態信号格納部１１７に格納される外部デバイス状態信号を選択する。
【０２３１】
次に、外部デバイスアクセス装置８０３の動作について説明する。なお、実施の形態４と同様の動作については説明を省略する。
【０２３２】
通常書き込み動作及びプリフェッチ動作は、実施の形態４と同様である。
【０２３３】
以下、プリフェッチデータ読み出し動作について説明する。
【０２３４】
プリフェッチデータ読み出し動作において、アドレス制御部３１４により格納動作状態読み出し許可信号１８１が出力されていないので、セレクタ１４３は、読み出しデータ格納部１１３に格納される読み出しデータを選択し、選択した読み出しデータを読み出しデータ出力バス１５２に出力する。
【０２３５】
また、セレクタ１４４は、プリフェッチ動作が実行中の場合は、プリフェッチ動作状態信号１６５を外部デバイス状態信号出力バス１５７に出力し、プリフェッチ動作が完了している場合、状態信号格納部１１７に格納されている状態信号を外部デバイス状態信号出力バス１５７に出力する。
【０２３６】
また、格納動作状態保持部１１５は当該プリフェッチデータ読み出し動作時のプリフェッチ実行状態を格納する。
【０２３７】
以上により、プリフェッチデータ読み出し動作において、外部デバイスアクセス装置８０３は、読み出しデータ格納部１１３に格納される読み出しデータを読み出しデータ出力バス１５２に出力する。また、プリフェッチ動作が実行中の場合には、プリフェッチ動作状態信号１６５を外部デバイス状態信号出力バス１５７に出力する。
【０２３８】
これにより、マスタ１０１は、プリフェッチデータ読み出し動作時に、外部デバイスアクセス装置８０３がプリフェッチ動作を実行中であるか否かの判断を行える。
【０２３９】
以下、プリフェッチ実行状態読み出し動作について説明する。
【０２４０】
プリフェッチ実行状態読み出し動作において、アドレス制御部３１４により格納動作状態読み出し許可信号１８１が出力されているので、セレクタ１４３は、格納動作状態保持部８１５により出力されるプリフェッチデータ読み出し時状態信号１８２を選択し、選択したプリフェッチデータ読み出し時状態信号１８２を読み出しデータ出力バス１５２に出力する。
【０２４１】
また、セレクタ１４４は、プリフェッチ動作が実行中の場合は、プリフェッチ動作状態信号１６５を外部デバイス状態信号出力バス１５７に出力し、プリフェッチ動作が完了している場合、状態信号格納部１１７に格納されている状態信号を外部デバイス状態信号出力バス１５７に出力する。
【０２４２】
以上により、実施の形態８に係る外部デバイスアクセス装置８０３は、プリフェッチ実行状態読み出し動作において、プリフェッチ動作を実行中の場合には、外部デバイス状態信号出力バス１５７に、プリフェッチ動作状態信号１６５を出力する。
【０２４３】
これにより、マスタ１０１は、プリフェッチ実行状態読み出し動作を要求することで、外部デバイスアクセス装置８０３がプリフェッチ動作を実行中であるか否かの判断を行える。
【０２４４】
また、プリフェッチ実行状態読み出し動作において、プリフェッチ動作が完了している場合には、外部デバイスアクセス装置８０３は、プリフェッチ読み出し動作時にプリフェッチ動作が実行中であったか否かを示すプリフェッチデータ読み出し時状態信号１８２を読み出しデータ出力バス１５２に出力し、プリフェッチ読み出し動作時の外部デバイス１０２の状態を外部デバイス状態信号出力バス１５７に出力する。
【０２４５】
これにより、マスタ１０１は、マスタ１０１がプリフェッチ実行中の外部デバイス１０２の状態を知ることができる。
【０２４６】
以上より、本発明の実施の形態８に係る外部デバイスアクセス装置８０３は、実施の形態３に係る外部デバイスアクセス装置３０３、及び実施の形態４に係る外部デバイスアクセス装置４０３の利点に加えて、プリフェッチ動作状態信号バス１５６と外部デバイス状態信号出力バス１５７とを１つにできるという利点がある。
【０２４７】
（実施の形態９）
本発明の実施の形態９に係る外部デバイスアクセス装置は、上述した実施の形態１に係る外部デバイスアクセス装置１０３の変形例である。実施の形態９に係る外部デバイスアクセス装置は、マスタ１０１により出力される読み出し受理制御信号に応じて、受理信号を直ちに出力するか、プリフェッチ動作の完了後に受理信号を出力するかを選択する。
【０２４８】
まず、本発明の実施の形態９に係る外部デバイスアクセス装置の構成を説明する。
【０２４９】
図１２は、本発明の実施の形態９に係る外部デバイスアクセス装置の構成を示すブロック図である。なお、図２と同様の要素には同一の符号を付しており重複する説明は省略する。
【０２５０】
実施の形態９に係る外部デバイスアクセス装置９０３は、実施の形態１に係る外部デバイスアクセス装置１０３に対して、受理信号生成部９１６の構成が異なる。
【０２５１】
また、外部デバイスアクセス装置９０３は、実施の形態１の接続関係に加え、マスタ１０１と読み出し受理制御信号バス１５８を介して接続される。
【０２５２】
受理信号生成部９１６は、プリフェッチデータ読み出し要求が受け付けられた際に、プリフェッチ動作状態信号バス１５６のプリフェッチ動作状態信号及び読み出し受理制御信号バス１５８の読み出し受理制御信号に応じて、プリフェッチ動作が完了しているか否かによらず受理信号をマスタ１０１に出力する動作、又は、プリフェッチ動作が完了した後に受理信号をマスタ１０１に出力する動作を選択的に行う。
【０２５３】
具体的には、受理信号生成部９１６は、プリフェッチ動作状態信号がプリフェッチ動作中でないことを示す場合には、アドレス制御部１１４により読み出しデータ許可信号１６４が出力された際に、受理信号を受理信号バス１５５に出力する。
【０２５４】
また、受理信号生成部９１６は、プリフェッチ動作状態信号が、プリフェッチ動作中であることを示し、かつ、読み出し受理制御信号が第１の論理である場合には、プリフェッチ動作が完了した後に、受理信号を受理信号バス１５５に出力する。
【０２５５】
また、受理信号生成部９１６は、プリフェッチ動作状態信号が、プリフェッチ動作中であることを示し、かつ、読み出し受理制御信号が第２の論理である場合には、プリフェッチ動作の完了を待たずに、アドレス制御部１１４により読み出しデータ許可信号１６４が出力された際に、受理信号を受理信号バス１５５に出力する。
【０２５６】
以上の構成により、実施の形態９に係る外部デバイスアクセス装置９０３は、読み出し受理制御信号バス１５８の読み出し受理制御信号に応じて、プリフェッチ動作が実行中の場合、受理信号を直ちに出力するか、プリフェッチ動作の完了後に受理信号を出力するかを選択する。
【０２５７】
これにより、マスタ１０１は、外部デバイスアクセス装置９０３に対して、上述した実施の形態１の動作、又はプリフェッチ動作の完了後に受理信号を返す動作を選択的に行わせることができる。
【０２５８】
なお、ＣＰＵ又はマイコンなどの命令によって、マスタ１０１は、読み出し受理制御信号の出力を、プリフェッチデータ読み出し要求と同期させて出力してもよい。これにより、マスタ１０１は、プリフェッチ読み出し動作ごとに２つの動作を選択できる。よって、マスタ１０１は、より最適な処理を行うことができる。
【０２５９】
また、上記説明では、読み出し受理制御信号バス１５８に出力された読み出し受理制御信号により２つの動作を選択しているが、読み出しデータ格納部１１３に２つのアドレスを割り当て、当該２つのアドレスのいずれかを選択することで２つの動作を選択してもよい。
【０２６０】
具体的には、アドレス制御部１１４は、マスタ１０１から読み出しデータ格納部１１３に割り当てられた２つのアドレスのうち第１アドレスが出力された場合に、受理信号を直ちに出力する第１プリフェッチデータ読み出し要求を受け付ける。また、アドレス制御部１１４は、マスタ１０１から読み出しデータ格納部１１３に割り当てられた２つのアドレスのうち第２アドレスが出力された場合に、プリフェッチ動作の完了後に受理信号を出力する第２プリフェッチデータ読み出し要求を受け付ける。
【０２６１】
アドレス制御部１１４は、受け付けたプリフェッチデータ読み出し要求が、第１プリフェッチデータ読み出し要求であるか、第２プリフェッチデータ読み出し要求であるかに応じた制御信号を受理信号生成部９１６に出力する。
【０２６２】
受理信号生成部９１６は、当該制御信号に応じて、第１プリフェッチデータ読み出し要求が受け付けられた場合、受理信号を直ちに出力する動作を行い、第２プリフェッチデータ読み出し要求が受け付けられた場合、プリフェッチ動作の完了後に受理信号を出力する動作を行ってもよい。
【０２６３】
（実施の形態１０）
本発明の実施の形態１０に係る外部デバイスアクセス装置は、上述した実施の形態１に係る外部デバイスアクセス装置１０３の変形例である。実施の形態１０に係る外部デバイスアクセス装置は、受理信号を直ちに出力するか、プリフェッチ動作の完了後に受理信号を出力するかを設定するプリフェッチ読み出し制御動作を行う。
【０２６４】
まず、本発明の実施の形態１０に係る外部デバイスアクセス装置の構成を説明する。
【０２６５】
図１３は、本発明の実施の形態１０に係る外部デバイスアクセス装置の構成を示すブロック図である。なお、図２と同様の要素には同一の符号を付しており重複する説明は省略する。
【０２６６】
実施の形態１０に係る外部デバイスアクセス装置１００３は、実施の形態１に係る外部デバイスアクセス装置１０３の構成に加え、さらに、読み出し制御部１３２を備える。また、外部デバイスアクセス装置１００３は、外部デバイス１０２に対して、アドレス制御部１０１４及び受理信号生成部１０１６の構成が異なる。
【０２６７】
外部デバイスアクセス装置１００３は、通常書き込み動作、プリフェッチ動作、及びプリフェッチデータ読み出し動作に加えて、プリフェッチ読み出し制御動作を行う。
【０２６８】
プリフェッチ読み出し制御動作は、プリフェッチデータ読み出し動作時においてプリフェッチ動作が実行中の場合に、受理信号を直ちに出力するか、プリフェッチ動作の完了後に受理信号を出力するかを設定する動作である。また、読み出し制御部１３２は、マスタ１０１が持つアクセス空間に割り当てられたアドレスを持ち、マスタ１０１からアクセス可能である。
【０２６９】
アドレス制御部１０１４は、アドレス制御部１１４の機能に加え、マスタ１０１からのプリフェッチ読み出し制御動作の要求（以下、プリフェッチ読み出し制御要求。）を受け付ける。具体的には、アドレス制御部１０１４は、アドレスバス１５０に出力されたアドレスが読み出し制御部１３２に割り当てられたアドレスであり、かつ、Ｒ／Ｗ信号によりデータ書き込みが指示されている場合、マスタ１０１からの要求がプリフェッチ読み出し制御要求であることを認識し、プリフェッチ読み出し制御要求を受け付ける。
【０２７０】
アドレス制御部１０１４は、プリフェッチ読み出し制御要求に応じて、プリフェッチ読み出し制御動作を行う。アドレス制御部１０１４は、読み出し制御部１３２を制御することで、プリフェッチ読み出し制御動作を行う。
【０２７１】
具体的には、アドレス制御部１０１４は、プリフェッチ読み出し制御要求を受け付けた際、書き込みアドレス１６０と書き込み許可信号１６１を読み出し制御部１３２に出力する。
【０２７２】
読み出し制御部１３２は、プリフェッチ読み出し制御動作要求が受け付けられた際に、マスタ１０１からの指定により、受理信号を直ちに出力するか、プリフェッチ動作の完了後に受理信号を出力するかを示す読み出し制御信号１８３が設定される。読み出し制御部１３２は、設定された読み出し制御信号１８３を受理信号生成部１０１６に出力する。
【０２７３】
具体的には、読み出し制御部１３２は、書き込みアドレス１６０が、読み出し制御部１３２に割り当てられたアドレスであり、アドレス制御部１０１４により書き込み許可信号１６１が出力された際に、書き込みデータ入力バス１５１の書き込みデータに応じた読み出し制御信号１８３を保持する。
【０２７４】
受理信号生成部１０１６は、読み出しデータ許可信号１６４、格納動作状態保持部１１５により出力されるプリフェッチ動作状態信号、及び読み出し制御信号１８３に応じて、受理信号を受理信号バス１５５に出力する。
【０２７５】
具体的には、受理信号生成部１０１６は、プリフェッチ動作状態信号がプリフェッチ動作中でないことを示す場合には、アドレス制御部１１４により読み出しデータ許可信号１６４が出力された際に、受理信号を受理信号バス１５５に出力する。
【０２７６】
また、受理信号生成部１０１６は、プリフェッチ動作状態信号が、プリフェッチ動作中であることを示し、かつ、読み出し制御信号１８３によりプリフェッチ動作の完了後に受理信号を出力することが示される場合には、プリフェッチ動作が完了した後に、受理信号を受理信号バス１５５に出力する。
【０２７７】
また、受理信号生成部１０１６は、プリフェッチ動作状態信号が、プリフェッチ動作中であることを示し、かつ、読み出し制御信号１８３により受理信号を直ちに出力することが示される場合には、プリフェッチ動作の完了を待たずに、アドレス制御部１１４により読み出しデータ許可信号１６４が出力された際に、受理信号を受理信号バス１５５に出力する。
【０２７８】
次に、外部デバイスアクセス装置１００３の動作について説明する。
【０２７９】
通常書き込み動作、及びプリフェッチ動作は、実施の形態１と同様である。
【０２８０】
以下、プリフェッチデータ読み出し動作について説明する。
【０２８１】
プリフェッチデータ読み出し動作時には、受理信号生成部１０１６は、読み出し制御信号１８３に応じて、受理信号を直ちに出力するか、プリフェッチ動作の完了後に受理信号を出力するかを選択する。
【０２８２】
具体的には、受理信号生成部１０１６は、読み出し制御信号１８３によりプリフェッチ動作の完了後に受理信号を出力することが示される場合には、プリフェッチ動作が完了した後に、受理信号を受理信号バス１５５に出力する。
【０２８３】
また、受理信号生成部１０１６は、読み出し制御信号１８３により受理信号を直ちに出力することが示される場合には、プリフェッチ動作の完了を待たずに、アドレス制御部１１４により読み出しデータ許可信号１６４が出力された際に、受理信号を受理信号バス１５５に出力する。
【０２８４】
以下、プリフェッチ読み出し制御動作について説明する。
【０２８５】
プリフェッチ読み出し制御動作時には、マスタ１０１は、アドレスバス１５０に読み出し制御部１３２に割り当てられたアドレスを出力し、Ｒ／Ｗ信号バス１５３にデータ書き込みを指示するＲ／Ｗ信号を出力する。
【０２８６】
アドレス制御部１０１４は、アドレスバス１５０のアドレスが読み出しデータ格納部１１３に割り当てられたアドレスであるか否か、及び読み出し制御部１３２に割り当てられたアドレスであるか否かを判定する。アドレス制御部１０１４は、アドレスバス１５０のアドレスが読み出し制御部１３２に割り当てられたアドレスであり、かつ、Ｒ／Ｗ信号によりデータ書き込みが指示されているので、マスタ１０１からの要求がプリフェッチ読み出し制御動作であることを認識する。
【０２８７】
アドレス制御部１０１４は、書き込み許可信号１６１を書き込みデータ格納部１１１に出力し、書き込み許可信号１６１、及びアドレスバス１５０のアドレスを書き込みアドレス１６０として読み出し制御部１３２に出力する。
【０２８８】
読み出し制御部１３２は、書き込みアドレス１６０が、読み出し制御部１３２に割り当てられたアドレスであるので、アドレス制御部６１４により書き込み許可信号１６１が出力された際に、書き込みデータ入力バス１５１の書き込みデータに応じた読み出し制御信号１８３を格納し、格納した読み出し制御信号１８３を受理信号生成部１０１６に出力する。
【０２８９】
また、受理信号生成部１０１６は、アドレス制御部１０１４により出力された書き込み許可信号１６１を受けて、読み出し制御部１３２が読み出し制御信号１８３を格納した時点で受理信号バス１５５に受理信号を出力する。
【０２９０】
以上より、外部デバイスアクセス装置１００３は、プリフェッチ読み出し制御動作により、受理信号を直ちに出力するか、プリフェッチ動作の完了後に受理信号を出力するかが設定される。これにより、マスタ１０１は、外部デバイスアクセス装置１００３の上述した実施の形態１の動作と、プリフェッチ動作の完了後に受理信号を返す動作とを切替えることができる。
【０２９１】
さらに、実施の形態１０に係る外部デバイスアクセス装置１００３は、実施の形態９に係る外部デバイスアクセス装置９０３に対して、マスタ１０１との間に新たに読み出し受理制御信号バス１５８を設ける必要がないという利点がある。
【０２９２】
（実施の形態１１）
本発明の実施の形態１１に係る外部デバイスアクセス装置は、上述した実施の形態１に係る外部デバイスアクセス装置１０３の変形例である。実施の形態１１に係る外部デバイスアクセス装置は、プリフェッチデータ読み出し時においてプリフェッチ動作中である場合に、マスタ１０１からプリフェッチデータ読み出し要求があった時刻から、プリフェッチ動作が完了するまでの時間を示す情報であるデバッグ情報を出力する。
【０２９３】
図１４は、本発明の実施の形態１１に係る外部デバイスアクセス装置の構成を示すブロック図である。なお、図２と同様の要素には同一の符号を付しており重複する説明は省略する。
【０２９４】
実施の形態１１に係る外部デバイスアクセス装置１１０３は、実施の形態１に係る外部デバイスアクセス装置１０３の構成に加え、さらに、サイクルカウント部１１８を備える。また、外部デバイスアクセス装置１１０３は、外部デバイス１０２に対して、受理信号生成部１１１６の構成が異なる。
【０２９５】
また、外部デバイスアクセス装置１１０３は、外部デバイスアクセス装置１０３の接続関係に加えた、さらに、デバッグ情報バス１５９を介して、マスタ１０１と接続される。また、外部デバイスアクセス装置１１０３は、プリフェッチ動作状態信号バス１５６を介して、マスタ１０１と接続されない。
【０２９６】
受理信号生成部１１１６は、プリフェッチ動作状態信号１６５がプリフェッチ動作中でないことを示す場合には、アドレス制御部１１４により読み出しデータ許可信号１６４が出力された際に、受理信号を受理信号バス１５５に出力する。
【０２９７】
また、受理信号生成部１０１６は、プリフェッチ動作状態信号１６５がプリフェッチ動作中であることを示す場合には、プリフェッチ動作が完了した後に、受理信号を受理信号バス１５５に出力する。
【０２９８】
サイクルカウント部１１８は、プリフェッチ動作の実行中に、プリフェッチデータ読み出し要求が受け付けられた場合、当該プリフェッチデータ読み出し要求が受け付けられた時刻から、プリフェッチ動作が完了するまでの時間をカウントする。具体的には、サイクルカウント部１１８は、アドレス制御部１１４により読み出しデータ許可信号１６４が出力された時刻から、格納動作状態保持部１１５により保持されるプリフェッチ動作状態信号１６５が、プリフェッチ動作実行中から、プリフェッチ動作完了に変更されるまでのサイクル数をカウントする。サイクルカウント部１１８は、カウントしたサイクル数をデバッグ情報としてデバッグ情報バス１５９に出力する。
【０２９９】
以上の構成により、実施の形態１１に係る外部デバイスアクセス装置１１０３は、プリフェッチデータ読み出し動作時において、プリフェッチ動作実行中の場合には、マスタ１０１からプリフェッチデータ読み出し要求があった時刻から、プリフェッチ動作が完了するまでの時間を示す情報であるデバッグ情報をデバッグ情報バス１５９に出力する。
【０３００】
これにより、マスタ１０１は、プリフェッチデータ読み出し動作を要求するタイミングを、プリフェッチ動作が完了した後の時刻に変更できる。よって、マスタ１０１は、複数回のプリフェッチデータ読み出し動作を要求しなくてもよいので、効率を向上できる。
【０３０１】
（実施の形態１２）
本発明の実施の形態１２に係る外部デバイスアクセス装置は、上述した実施の形態１１に係る外部デバイスアクセス装置１１０３の変形例である。実施の形態１２に係る外部デバイスアクセス装置は、デバッグ情報を読み出しデータ出力バス１５２に出力するデバッグ情報読み出し動作を行う。
【０３０２】
まず、本発明の実施の形態１２に係る外部デバイスアクセス装置の構成を説明する。
【０３０３】
図１５は、本発明の実施の形態１２に係る外部デバイスアクセス装置の構成を示すブロック図である。なお、図１４と同様の要素には同一の符号を付しており重複する説明は省略する。
【０３０４】
実施の形態１２に係る外部デバイスアクセス装置１２０３は、実施の形態１１に係る外部デバイスアクセス装置１１０３の構成に加え、さらに、カウント値格納部１３３と、セレクタ１４５とを備える。また、外部デバイスアクセス装置１２０３は、外部デバイスアクセス装置１１０３に対して、アドレス制御部１２１４の構成が異なる。なお、受理信号生成部１１６の構成は、実施の形態１と同様である。
【０３０５】
また、外部デバイスアクセス装置１２０３は、実施の形態１の接続関係と同様に、プリフェッチ動作状態信号バス１５６を介して、マスタ１０１と接続され、デバッグ情報バス１５９を介して、マスタ１０１と接続されない。
【０３０６】
外部デバイスアクセス装置１２０３は、通常書き込み動作、プリフェッチ動作、及びプリフェッチデータ読み出し動作に加えて、デバッグ情報読み出し動作を行う。
【０３０７】
デバッグ情報読み出し動作は、プリフェッチデータ読み出し動作時においてプリフェッチ動作が実行中の場合の、マスタ１０１からプリフェッチデータ読み出し要求があった時刻から、プリフェッチ動作が完了するまでの時間を示す情報であるデバッグ情報を出力する動作である。また、カウント値格納部１３３は、マスタ１０１が持つアクセス空間に割り当てられたアドレスを持ち、マスタ１０１からアクセス可能である。
【０３０８】
カウント値格納部１３３は、プリフェッチ動作状態信号バス１５６のプリフェッチ動作状態信号がプリフェッチ動作実行中から、プリフェッチ動作完了に変更された際に、サイクルカウント部１１８により出力されるデバッグ情報を格納する。
【０３０９】
アドレス制御部１２１４は、アドレス制御部１１４の機能に加え、マスタ１０１からのデバッグ情報読み出し動作の要求（以下、デバッグ情報読み出し要求。）を受け付ける。具体的には、アドレス制御部１２１４は、アドレスバス１５０に出力されたアドレスがカウント値格納部１３３に割り当てられたアドレスであり、かつ、Ｒ／Ｗ信号によりデータ読み出しが指示されている場合、マスタ１０１からの要求がデバッグ情報読み出し要求であることを認識し、デバッグ情報読み出し要求を受け付ける。
【０３１０】
アドレス制御部１２１４は、デバッグ情報読み出し要求に応じて、デバッグ情報読み出し動作を行う。アドレス制御部１２１４は、セレクタ１４５を制御することで、デバッグ情報読み出し動作を行う。
【０３１１】
具体的には、アドレス制御部１２１４は、デバッグ情報読み出し要求を受け付けた際、カウント値読み出し許可信号１８４をセレクタ１４５に出力する。
【０３１２】
セレクタ１４５は、読み出しデータ格納部１１３に格納される読み出しデータと、カウント値格納部１３３により格納されるデバッグ情報とを、アドレス制御部１２１４から出力されたカウント値読み出し許可信号１８４に応じて選択し、選択した読み出しデータ又はデバッグ情報を読み出しデータ出力バス１５２に出力する。具体的には、セレクタ１４５は、アドレス制御部１２１４によりカウント値読み出し許可信号１８４が出力されていない場合、読み出しデータを選択し、アドレス制御部１２１４によりカウント値読み出し許可信号１８４が出力されている場合、デバッグ情報を選択する。
【０３１３】
次に、外部デバイスアクセス装置１２０３の動作について説明する。なお、実施の形態１１と同様の動作については説明を省略する。
【０３１４】
通常書き込み動作、及びプリフェッチ動作は、実施の形態１１と同様である。
【０３１５】
以下、プリフェッチデータ読み出し動作について説明する。
【０３１６】
プリフェッチデータ読み出し動作において、サイクルカウント部１１８は、プリフェッチ動作の実行中にプリフェッチデータ読み出し動作が行われた場合、当該プリフェッチデータ読み出し動作を行った時刻から、プリフェッチ動作が完了するまでのサイクル数をカウントする。サイクルカウント部１１８は、カウントしたサイクル数をデバッグ情報としてカウント値格納部１３３に出力する。
【０３１７】
カウント値格納部１３３は、プリフェッチ動作状態信号バス１５６のプリフェッチ動作状態信号がプリフェッチ動作実行中から、プリフェッチ動作完了に変更された際に、サイクルカウント部１１８により出力されるデバッグ情報を格納する。
【０３１８】
また、セレクタ１４５は、アドレス制御部１２１４によりカウント値読み出し許可信号１８４が出力されていないので、読み出しデータ格納部１１３に格納される読み出しデータを読み出しデータ出力バス１５２に出力する。
【０３１９】
以下、デバッグ情報読み出し動作について説明する。
【０３２０】
デバッグ情報読み出し動作時には、マスタ１０１は、アドレスバス１５０にカウント値格納部１３３に割り当てられたアドレスを出力し、Ｒ／Ｗ信号バス１５３にデータ読み出しを指示するＲ／Ｗ信号を出力する。
【０３２１】
アドレス制御部１２１４は、アドレスバス１５０のアドレスが読み出しデータ格納部１１３に割り当てられたアドレスであるか否か、及びカウント値格納部１３３に割り当てられたアドレスであるか否かを判定する。アドレス制御部１２１４は、アドレスバス１５０のアドレスがカウント値格納部１３３に割り当てられたアドレスであり、かつ、Ｒ／Ｗ信号によりデータ読み出しが指示されているので、マスタ１０１からの要求がデバッグ情報読み出し動作であることを認識する。
【０３２２】
アドレス制御部１２１４は、カウント値読み出し許可信号１８４をセレクタ１４５に出力する。
【０３２３】
セレクタ１４５は、アドレス制御部１２１４によりカウント値読み出し許可信号１８４が出力されているので、カウント値格納部１３３に格納されるデバッグ情報を読み出しデータ出力バス１５２に出力する。
【０３２４】
以上によりデバッグ情報読み出し動作が完了する。
【０３２５】
以上より、実施の形態１２に係る外部デバイスアクセス装置１２０３は、デバッグ情報読み出し動作により、デバッグ情報を読み出しデータ出力バス１５２に出力する。
【０３２６】
これにより、マスタ１０１は、プリフェッチデータ読み出し動作を要求するタイミングを、プリフェッチ動作が完了した後の時刻に変更できる。よって、マスタ１０１は、複数回のプリフェッチデータ読み出し動作を要求しなくてもよいので、効率を向上できる。
【０３２７】
また、外部デバイスアクセス装置１２０３は、実施の形態１１に係る外部デバイスアクセス装置１１０３に対して、デバッグ情報バス１５９をマスタ１０１との間に設ける必要がないという利点がある。
【産業上の利用可能性】
【０３２８】
本発明は、外部デバイスアクセス装置、及び、ＣＰＵ又はマイコン等のマスタと、コプロセッサ又はアクセラレータ等の外部デバイスとを備えるシステムＬＳＩに適用できる。
【符号の説明】
【０３２９】
１０１  マスタ
１０２  外部デバイス
１０３、２０３、２１３、３０３、４０３、５０３、６０３、７０３、８０３、９０３、１００３、１１０３、１２０３  外部デバイスアクセス装置
１１０  書き込みアドレス格納部
１１１  書き込みデータ格納部
１１２、６１２  読み出しアドレス格納部
１１３  読み出しデータ格納部
１１４、３１４、６１４、１０１４、１２１４  アドレス制御部
１１５、６１５、８１５  格納動作状態保持部
１１６、５１６、９１６、１０１６、１１１６  受理信号生成部
１１７  状態信号格納部
１１８  サイクルカウント部
１３０  エラーデータ生成部
１３１、７３１  プリフェッチ中止制御部
１３２  読み出し制御部
１３３  カウント値格納部
１４０、１４１、１４２、１４３、１４４、１４５  セレクタ
１５０  アドレスバス
１５１  書き込みデータ入力バス
１５２  読み出しデータ出力バス
１５３  Ｒ／Ｗ信号バス
１５５  受理信号バス
１５６  プリフェッチ動作状態信号バス
１５７  外部デバイス状態信号出力バス
１５８  読み出し受理制御信号バス
１５９  デバッグ情報バス
１６０  書き込みアドレス
１６１  書き込み許可信号
１６２  読み出しアドレス
１６３  読み出しアドレス許可信号
１６４  読み出しデータ許可信号
１６５  プリフェッチ動作状態信号
１７０  書き込みアドレス出力バス
１７１  書き込みデータ出力バス
１７２  読み出しアドレス出力バス
１７３  読み出しデータ入力バス
１７４  外部デバイス状態信号入力バス
１７５  読み出し中止信号バス
１８０  エラーデータ
１８１  格納動作状態読み出し許可信号
１８２  プリフェッチデータ読み出し時状態信号
１８３  読み出し制御信号
１８４  カウント値読み出し許可信号
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
マスタからの要求に応じて、外部デバイスからデータを読み出すプリフェッチ動作と、前記プリフェッチ動作で読み出したデータを前記マスタに出力するプリフェッチデータ読み出し動作を行う外部デバイスアクセス装置であって、
前記マスタからのプリフェッチ要求及びプリフェッチデータ読み出し要求を受け付け、前記プリフェッチ動作及び前記プリフェッチデータ読み出し動作を行う制御部と、
前記プリフェッチ動作により読み出されたデータを格納するデータ格納部と、
前記プリフェッチ動作が完了したか否かを示すプリフェッチ動作状態を保持する状態保持部と、
前記マスタからの前記プリフェッチデータ読み出し要求を受け付けたことを示す受理信号を前記マスタに出力する受理信号生成部とを備え、
前記制御部は、前記プリフェッチデータ読み出し動作として、前記データ格納部に格納されるデータを前記マスタに出力し、
前記制御部は、前記プリフェッチ動作状態に基づく前記プリフェッチ動作の状態を示す第１情報を前記マスタに出力する
ことを特徴する外部デバイスアクセス装置。
【請求項２】
前記受理信号生成部は、前記制御部により前記プリフェッチデータ読み出し要求が受け付けられた際に、前記プリフェッチ動作が完了しているか否かによらず、前記受理信号を前記マスタに出力し、
前記制御部は、前記プリフェッチデータ読み出し要求を受け付けた際に、前記第１情報を前記マスタに出力する
ことを特徴とする請求項１記載の外部デバイスアクセス装置。
【請求項３】
前記制御部は、前記プリフェッチ動作状態を前記第１情報として前記マスタに出力する
ことを特徴とする請求項１記載の外部デバイスアクセス装置。
【請求項４】
前記外部デバイスアクセス装置と前記マスタとは、読み出しデータバスを介して接続され、
前記制御部は、前記データ格納部に格納されるデータ及び前記第１情報を前記読み出しデータバスを介して前記マスタに出力する
ことを特徴とする請求項１記載の外部デバイスアクセス装置。
【請求項５】
前記制御部は、前記プリフェッチ動作状態により前記プリフェッチ動作が完了したことが示される場合、前記データ格納部に格納されるデータを前記読み出しデータバスを介して前記マスタに出力し、前記プリフェッチ動作状態により前記プリフェッチ動作が完了していないことが示される場合、予め定められたデータを前記第１情報として前記読み出しデータバスを介して前記マスタに出力する
ことを特徴とする請求項４記載の外部デバイスアクセス装置。
【請求項６】
前記制御部は、前記プリフェッチ動作状態により前記プリフェッチ動作が完了したことが示される場合、前記データ格納部に格納されるデータを前記読み出しデータバスを介して前記マスタに出力し、前記プリフェッチ動作状態により前記プリフェッチ動作が完了していないことが示される場合、当該プリフェッチ動作により読み出しを行っている前記外部デバイスのアドレスを前記第１情報として前記読み出しデータバスを介して前記マスタに出力する
ことを特徴とする請求項４記載の外部デバイスアクセス装置。
【請求項７】
前記制御部は、さらに、前記マスタからのプリフェッチ動作状態読み出し要求を受け付け、
前記制御部は、前記プリフェッチ動作状態読み出し要求を受け付けた場合、前記第１情報を前記マスタに出力する
ことを特徴とする請求項１記載の外部デバイスアクセス装置。
【請求項８】
前記外部デバイスは、当該外部デバイスの動作状態を示す状態信号を出力し、
前記外部デバイスアクセス装置は、さらに、
前記プリフェッチ動作が完了した際の、前記状態信号を格納する状態信号格納部と、
前記プリフェッチ動作状態により前記プリフェッチ動作が完了したことが示される場合、前記状態信号格納部に格納される前記状態信号を前記マスタに出力し、前記プリフェッチ動作状態により前記プリフェッチ動作が完了していないことが示される場合、前記外部デバイスにより出力されている状態信号を前記マスタに出力する状態信号出力部とを備える
ことを特徴とする請求項１記載の外部デバイスアクセス装置。
【請求項９】
前記外部デバイスは、当該外部デバイスの動作状態を示す状態信号を出力し、
前記受理信号生成部は、前記制御部により前記プリフェッチデータ読み出し要求が受け付けられた際に、前記状態信号に応じて、前記プリフェッチ動作が完了しているか否かによらず、前記受理信号を前記マスタに出力する第１動作、又は、前記プリフェッチ動作が完了した後に前記受理信号を前記マスタに出力する第２動作を選択的に行う
ことを特徴とする請求項１記載の外部デバイスアクセス装置。
【請求項１０】
前記制御部は、さらに、前記マスタからのプリフェッチ中止要求を受け付け、
前記外部デバイスアクセス装置は、さらに、
前記制御部により、前記プリフェッチ中止要求が受け付けられた場合、前記プリフェッチ動作を中止するプリフェッチ中止部を備える
ことを特徴とする請求項８記載の外部デバイスアクセス装置。
【請求項１１】
前記外部デバイスは、当該外部デバイスの動作状態を示す状態信号を出力し、
前記外部デバイスアクセス装置は、さらに、
前記制御部により、前記プリフェッチデータ読み出し要求が受け付けられ、かつ、前記プリフェッチ動作状態により前記プリフェッチ動作が完了していないことが示される場合、前記外部デバイスにより出力されている前記状態信号に応じて、前記プリフェッチ動作を中止するプリフェッチ中止部を備える
ことを特徴とする請求項１記載の外部デバイスアクセス装置。
【請求項１２】
前記外部デバイスは、当該外部デバイスの動作状態を示す状態信号を出力し、
前記外部デバイスアクセス装置と前記マスタとは、第１信号バスを介して接続され、
前記外部デバイスアクセス装置は、さらに、
前記プリフェッチ動作が完了した際の、前記状態信号を格納する状態信号格納部と、
前記制御部により前記プリフェッチデータ読み出し要求が受け付けられた際の、前記プリフェッチ動作状態である読み出し時プリフェッチ動作状態を格納する読み出し時状態格納部と、
前記プリフェッチ動作状態により前記プリフェッチ動作が完了していないことが示される場合、当該プリフェッチ動作状態を、前記第１信号バスを介して前記マスタに出力し、前記プリフェッチ動作状態により前記プリフェッチ動作が完了していることが示される場合、前記状態信号格納部により格納される状態信号を、前記第１信号バスを介して前記マスタに出力する信号出力部とを備え、
前記制御部は、前記プリフェッチ動作状態読み出し要求を受け付けた場合、前記読み出し時プリフェッチ動作状態を前記第１情報として前記マスタに出力する
ことを特徴とする請求項７記載の外部デバイスアクセス装置。
【請求項１３】
前記受理信号生成部は、前記制御部により前記プリフェッチデータ読み出し要求が受け付けられた際に、前記プリフェッチ動作が完了しているか否かによらず、前記受理信号を前記マスタに出力する第１動作、又は、前記プリフェッチ動作が完了した後に前記受理信号を前記マスタに出力する第２動作を選択的に行う
ことを特徴とする請求項１記載の外部デバイスアクセス装置。
【請求項１４】
前記受理信号生成部は、前記マスタから出力される制御信号に応じて、前記第１動作又は前記第２動作を選択的に行う
ことを特徴とする請求項１３記載の外部デバイスアクセス装置。
【請求項１５】
前記プリフェッチデータ読み出し要求は、第１プリフェッチデータ読み出し要求と、第２プリフェッチデータ読み出し要求とを含み、
前記制御部は、前記マスタから第１アドレスが出力された場合に、前記第１プリフェッチデータ読み出し要求を受け付け、前記マスタから第２アドレスが出力された場合に、前記第２プリフェッチデータ読み出し要求を受け付け、
前記受理信号生成部は、前記制御部により前記第１プリフェッチデータ読み出し要求が受け付けられた場合、前記第１動作を行い、前記制御部により前記第２プリフェッチデータ読み出し要求が受け付けられた場合、前記第２動作を行う
ことを特徴する請求項１３記載の外部デバイスアクセス装置。
【請求項１６】
前記外部デバイスアクセス装置は、さらに、
第１状態又は第２状態が設定される状態設定部を備え、
前記制御部は、さらに、前記マスタからのプリフェッチ読み出し制御動作要求を受け付け、
前記制御部は、前記プリフェッチ読み出し制御動作要求を受け付けた場合、前記マスタからの指定された前記第１状態又は前記第２状態を前記状態設定部に設定し、
前記受理信号生成部は、前記状態設定部に前記第１状態が設定されている場合に前記第１動作を行い、前記状態設定部に前記第２状態が設定されている場合に前記第２動作を行う
ことを特徴する請求項１３記載の外部デバイスアクセス装置。
【請求項１７】
前記外部デバイスアクセス装置は、さらに、
前記プリフェッチ動作の実行中に、前記制御部によりプリフェッチデータ読み出し要求が受け付けられた場合に、当該プリフェッチデータ読み出し要求が受け付けられてから、当該プリフェッチ動作が完了するまでの時間をカウントするカウント部を備え、
前記制御部は、前記カウント部によりカウントされた時間を前記第１情報として前記マスタに出力する
ことを特徴とする請求項１記載の外部デバイスアクセス装置。
【請求項１８】
前記制御部は、さらに、前記マスタからの時間読み出し要求を受け付け、
前記外部デバイスアクセス装置は、さらに、
前記カウント部によりカウントされた時間を格納する時間格納部を備え、
前記制御部は、前記時間読み出し要求を受け付けた場合、前記時間格納部に格納される前記時間を前記第１情報として前記マスタに出力する
ことを特徴とする請求項１７記載の外部デバイスアクセス装置。
【請求項１９】
請求項１記載の外部デバイスアクセス装置と、マスタとを備えるシステムＬＳＩであって、
前記外部デバイスアクセス装置は、前記第１情報を前記マスタの割り込み信号、又はスレッド切り替え信号として出力し、
前記マスタは、前記第１情報を、割り込み処理、又はスレッド切り替え信号として処理する
ことを特徴とするシステムＬＳＩ。
【請求項２０】
請求項１記載の外部デバイスアクセス装置と、マスタとを備えるシステムＬＳＩであって、
前記外部デバイスアクセス装置は、前記第１情報を前記マスタがソフト処理可能なフラグ信号として出力し、
前記マスタは、前記第１情報を、ソフト処理可能なフラグ信号として処理する
ことを特徴とするシステムＬＳＩ。
【請求項２１】
請求項１４記載の外部デバイスアクセス装置と、マスタとを備えるシステムＬＳＩであって、
前記マスタは、前記制御信号を、前記プリフェッチデータ読み出し要求と同期して、前記外部デバイスアクセス装置に出力する
ことを特徴とするシステムＬＳＩ。
【請求項２２】
マスタからの要求に応じて、外部デバイスからデータを読み出すプリフェッチ動作と、前記プリフェッチ動作で読み出したデータを前記マスタに出力するプリフェッチデータ読み出し動作を行う外部デバイスアクセス装置の制御方法であって、
前記マスタからのプリフェッチ要求を受け付けるプリフェッチ要求受け付けステップと、
前記プリフェッチ要求を受け付けた場合、前記外部デバイスからデータを読み出し、読み出したデータをデータ格納部に格納するプリフェッチステップと、
前記プリフェッチステップが完了したか否かを示すプリフェッチ動作状態を保持する状態保持ステップと、
前記マスタからのプリフェッチデータ読み出し要求を受け付けるプリフェッチデータ読み出し要求受け付けステップと、
前記プリフェッチデータ読み出し要求を受け付けた場合、当該プリフェッチデータ読み出し要求を受け付けたことを示す受理信号を前記マスタに出力する受理信号生成ステップと、
前記プリフェッチデータ読み出し要求を受け付けた場合、前記データ格納部に格納されるデータを前記マスタに出力するプリフェッチデータ読み出しステップと、
前記プリフェッチ動作状態に基づく前記プリフェッチ動作の状態を示す第１情報を前記マスタに出力する第１情報出力ステップとを含む
ことを特徴とする制御方法。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2009098737.tif 000018
【図２】
2009098737.tif 000019
【図３】
2009098737.tif 000020
【図４】
2009098737.tif 000021
【図５】
2009098737.tif 000022
【図６】
2009098737.tif 000023
【図７】
2009098737.tif 000024
【図８】
2009098737.tif 000025
【図９】
2009098737.tif 000026
【図１０】
2009098737.tif 000027
【図１１】
2009098737.tif 000028
【図１２】
2009098737.tif 000029
【図１３】
2009098737.tif 000030
【図１４】
2009098737.tif 000031
【図１５】
2009098737.tif 000032
【国際調査報告】
2009098737.tif 000033
2009098737.tif 000034
2009098737.tif 000035
2009098737.tif 000036