(57)【特許請求の範囲】
【請求項１】
同時に処理可能なアクセス要求がＮ（Ｎは１以上の整数）個であるメモリと、
前記メモリへのアクセス要求を行うＮ＋１個以上のアクセス回路と、
前記アクセス要求がＮ＋１個以上存在し、アクセス要求が競合した場合に、前記アクセス回路のいずれかのアクセス要求を破棄し、このアクセス要求が破棄されたことを示すアクセス要求破棄情報を生成するアクセス選択回路と、
前記アクセス要求破棄情報を与えられて保持する第１のレジスタと、
前記アクセス回路が行った複数のアクセス要求のうち、破棄されたアクセス要求がいずれのアクセス要求であるかを示す情報を記憶する第２のレジスタと、
を備え、
前記第１及び第２のレジスタは、前記アクセス回路毎に対応して設けられており、
前記アクセス回路は対応する前記第１のレジスタに保持された自己のアクセス要求が破棄されたことを示す前記アクセス要求破棄情報及び対応する前記第２のレジスタに保持された破棄された自己のアクセス要求がいずれのアクセス要求であるかを示す情報を読み出すことが可能であることを特徴とする半導体回路装置。
【請求項２】
前記アクセス回路は、対応する前記第１のレジスタを内蔵することを特徴とする請求項１記載の半導体回路装置。
【請求項３】
Ｎ個の前記アクセス回路は、アクセス要求が競合した場合の優先順位が予め定められており、前記アクセス選択回路はこの優先順位に従って競合したアクセス要求を選択し、
前記第１のレジスタは、優先順位が第１番目から第Ｎ番目のものを除く前記アクセス回路毎に対応して設けられていることを特徴とする請求項１又は２記載の半導体回路装置。
【請求項４】
前記アクセス回路は、対応する前記第１のレジスタを読み出して、破棄されたアクセス要求が存在する場合は、このアクセス要求を再度行い、この第１のレジスタに保持された情報を消去することを特徴とする請求項１乃至３のいずれかに記載の半導体回路装置。
【請求項５】
前記第１のレジスタは、破棄されたアクセス要求をＭ（Ｍは２以上の整数）個保持することが可能であり、
前記第２のレジスタは、破棄されたアクセス要求がそれぞれいずれのアクセスであるかを示すＭ個の情報を保持することが可能である請求項１乃至４のいずれかに記載の半導体回路装置。
【請求項６】
前記アクセス回路は、対応する前記第１のレジスタに保持された前記アクセス要求破棄情報を読み出し、さらに対応する前記第２のレジスタに保持された破棄されたアクセス要求がいずれのアクセス要求であるかを示す情報を読み出して、破棄されたアクセス要求のみを再度行い、この第１及び第２のレジスタにそれぞれ保持された情報を消去することを特徴とする請求項１乃至５のいずれかに記載の半導体回路装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は半導体回路装置に係わり、特にメモリをアクセスする回路を含む装置に関する。
【０００２】
【従来の技術】
半導体回路装置には、一つのメモリにアクセス要求を行うアクセス回路が複数設けられているものがある。アクセス回路には、例えばプロセッサや、メモリのアクセスに特化したＤＭＡＣ（Data Memory Access Controller）、デジタル信号処理に特化したＤＳＰ（Digital Signal Processor）等が存在する。
【０００３】
しかし、多くの場合メモリは同時に１つしかアクセス要求を処理することができない場合が多い。従って、複数のアクセス回路が共通のメモリに対して同時にアクセスを行うと競合し、いずれかのアクセス要求は破棄される。
【０００４】
従来は、アクセス要求が破棄されたアクセス回路は、例えば即座に処理を停止し、競合した他のアクセス要求の処理が終了するまで待つというストールを行うか、あるいは実際のプログラム中に分岐命令は存在しないが、処理の流れを他のプログラムに強制的に移行することで停止を回避する例外の発生を行っていた。
【０００５】
【発明が解決しようとする課題】
しかしストールを行うと、アクセス回路内部において、復帰に必要な内部状態を示す大量の情報を保持する必要があり、非常に負荷が大きく動作速度を低下させる要因の一つとなっていた。
【０００６】
また、例外を発生すると、プログラムの実行途中で他のプログラムへ移行する必要があるため、やはりプログラム実行速度の低下を招いていた。
【０００７】
本発明は上記事情に鑑み、動作速度の低下を防止することが可能な半導体回路装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明の半導体回路装置は、同時に処理可能なアクセス要求がＮ個であるメモリと、前記メモリへのアクセス要求を行うＮ＋１個以上のアクセス回路と、前記アクセス要求がＮ＋１個以上存在し、アクセス要求が競合した場合に、前記アクセス回路のいずれかのアクセス要求を破棄し、このアクセス要求が破棄されたことを示すアクセス要求破棄情報を生成するアクセス選択回路と、前記アクセス要求破棄情報を与えられて保持する第１のレジスタと、前記アクセス回路が行った複数のアクセス要求のうち、破棄されたアクセス要求がいずれのアクセス要求であるかを示す情報を記憶する第２のレジスタと、を備え、前記第１及び第２のレジスタは、前記アクセス回路毎に対応して設けられており、前記アクセス回路は、対応する前記第１のレジスタに保持された自己のアクセス要求が破棄されたことを示す前記アクセス要求破棄情報及び対応する前記第２のレジスタに保持された破棄された自己のアクセス要求がいずれのアクセス要求であるかを示す情報を読み出すことが可能であることを特徴とする。
【０００９】
前記アクセス回路は、対応する前記第１のレジスタを内蔵することもできる。
【００１０】
ここで、Ｎ個の前記アクセス回路は、アクセス要求が競合した場合の優先順位が予め定められており、前記アクセス選択回路はこの優先順位に従って競合したアクセス要求を選択し、前記第１のレジスタは、優先順位が第１番目から第Ｎ番目のものを除く前記アクセス回路毎に対応して設けられていてよい。
【００１１】
前記アクセス回路は、対応する前記第１のレジスタを読み出して、破棄されたアクセス要求が存在する場合は、このアクセス要求を再度行い、この第１のレジスタに保持された情報を消去することもできる。
【００１３】
ここで、前記第１のレジスタは、破棄されたアクセス要求をＭ個保持することが可能であり、前記第２のレジスタは、破棄されたアクセス要求がそれぞれいずれのアクセスであるかを示すＭ個の情報を保持することが可能であるように構成してもよい。
【００１４】
前記アクセス回路は、対応する前記第１のレジスタに保持された前記アクセス要求破棄情報を読み出し、さらに対応する前記第２のレジスタに保持された破棄されたアクセス要求がいずれのアクセス要求であるかを示す情報を読み出して、破棄されたアクセス要求のみを再度行い、この第１及び第２のレジスタにそれぞれ保持された情報を消去することもできる。
【００１５】
【発明の実施の形態】
上述した従来の装置における問題は、メモリヘのアクセス要求が破棄されたアクセス回路が、そのアクセスの失敗を即時に解決しようとすることにより引き起こされていた。
【００１６】
そこで、以下に説明する本発明の実施の形態では、アクセスの失敗を即時に解決しようとするのではなく、アクセス要求が破棄された情報をレジスタに一旦保持しておく構成を備える。後に、レジスタの情報を読み出して、アクセス要求が破棄されたか否かを判断し、破棄された場合には再度メモリへのアクセス要求を行うことで、アクセス失敗に対する解決を試みることとしている。
【００１７】
このようなレジスタを備えることにより、ユーザは、メモリへのアクセス要求を行った後に、ユーザプログラムに従ってこのアクセスが成功したか否かをレジスタに格納された情報を読み出すことで、判断することが可能である。
【００１８】
さらに、アクセスが破棄された場合に、いずれのアクセスが破棄されたかを示す情報をレジスタに保持しておく場合には、このアクセスのみを後に再実行することができる。
【００１９】
（１）第１の実施の形態
本発明の第１の実施の形態による半導体回路装置について、図１を参照して説明する。本実施の形態では、メモリ４０と、メモリ４０をアクセスするアクセス回路としてのプロセッサ１０及びＤＭＡＣ２０と、アクセス選択回路３０とを備えている。
【００２０】
メモリ４０は、同時に処理可能なアクセス要求は１つである。
【００２１】
プロセッサ１０は、セレクタ１１及び１２と、アクセス要求破棄情報を保持するレジスタ１３とを内蔵する。プロセッサ１０がメモリ４０にアクセス要求を行うときは、アクセス要求信号Ｒ０１と、アクセスに必要な信号Ｒ０２として、アドレス、アクセスイネーブル信号、さらには書き込みを行う場合は書き込みデータ等をアクセス選択回路３０に出力する。
【００２２】
ＤＭＡＣ２０は、メモリ４０をアクセスすることが可能なアクセス回路の一例であり、ＤＭＡＣの替わりにプロセッサやＤＳＰ等であってもよい。ＤＭＡＣ２０がメモリ４０にアクセス要求を行うときは、アクセス要求信号Ｒ０３と、アクセスに必要な信号Ｒ０４として、アドレス、アクセスイネーブル信号、さらには書き込む場合には書き込みデータ等とをアクセス選択回路３０に出力する。
【００２３】
そして、ここではプロセッサ１０とＤＭＡＣ２０とのアクセスが競合した場合の優先順位が、ＤＭＡＣ２０の方が高く設定されているものとする。
【００２４】
アクセス選択回路３０は、プロセッサ１０又はＤＭＡＣ２０のいずれか一方から、アクセス要求信号Ｒ０１及びアクセスに必要な信号Ｒ０２、又はアクセス要求信号Ｒ０３及びアクセスに必要な信号Ｒ０４を受けた場合は、メモリ４０へ信号Ｒ０２又はＲ０４を転送する。
【００２５】
具体的には、ＡＮＤ回路３１にいずれか一方が論理「１」で他方が論理「０」のアクセス要求信号Ｒ０２及びＲ０４がＡＮＤ回路３１に入力され、アクセス要求破棄信号Ｃ００のレベルは論理「０」となる。また、セレクタ３２にはいずれか一方のアクセスに必要な信号Ｒ０２又はＲ０４が入力される。セレクタ３２は、アクセス要求信号Ｒ０３が制御端子に与えられない場合は、アクセスに必要な信号Ｒ０２を出力し、アクセス要求信号Ｒ０３が与えられた場合は、アクセスに必要な信号Ｒ０４を出力する。従って、いずれか一方のアクセス要求信号Ｒ０１又はＲ０３が与えられた場合は、それに対応するアクセスに必要な信号Ｒ０２又はＲ０４をメモリ４０へ転送する。
【００２６】
メモリ４０は、与えられたアクセス要求に従ってアクセス処理を行い、データの読み出し又は書き込みを行う。
【００２７】
しかし、プロセッサ１０及びＤＭＡＣ２０から同時にアクセス要求信号Ｒ０１及びアクセスに必要な信号Ｒ０２、アクセス要求信号Ｒ０３及びアクセスに必要な信号Ｒ０４を受けた場合は競合する。この場合は、アクセス選択回路３０は予め定められた優先順位に従ってＤＭＡＣ２０からのアクセス要求信号Ｒ０３を優先する。
【００２８】
具体的には、ＡＮＤ回路３１に論理「１」のアクセス要求信号Ｒ０１及びＲ０３が入力され、プロセッサ１０にアクセス要求が破棄されたことを伝達する論理「１」のアクセス要求破棄信号Ｃ００が出力される。セレクタ３２には、アクセス要求信号Ｒ０３が制御端子に与えられることにより、アクセスに必要な信号Ｒ０２は破棄されて信号Ｒ０４がメモリ４０へ転送される。
【００２９】
プロセッサ１０において、レジスタ１３に対するプロセッサ５０内部からの書き込み要求信号Ｋ００がセレクタ１１の制御端子に与えられず、かつ外部からの書き込み要求信号に相当するアクセス要求信号Ｒ０１がセレクタ１２の制御端子に与えられない間は、レジスタ１３に現在保持されている値を維持する。具体的には、レジスタ１３に保持されている値を示す信号Ｋ０２がセレクタ１１、１２を通過してレジスタ１３に与えられ、リフレッシュ動作が行われる。
【００３０】
レジスタ１３にプロセッサ１０が書き込みを行う場合は、内部から書き込み要求信号Ｋ００が制御端子に与えられ、書き込み値を示す信号Ｋ０１が論理回路１１に入力され、信号Ｋ０２が破棄されて信号Ｋ０１が出力される。アクセス要求信号Ｒ０１が与えられない場合、この信号Ｋ０１がセレクタ１２を通過し、レジスタ１３に与えられて保持される。後述するように、この動作は例えばプロセッサ１０がレジスタ１３に保持されたアクセス要求破棄信号を消去するためにリセットするときに行う。
【００３１】
セレクタ１２の制御端子にアクセス要求信号Ｒ０１が与えられ、アクセス要求破棄信号Ｃ００が入力された場合は、アクセス要求破棄信号Ｃ００の値（この場合は論理「１」）がレジスタ１３に転送され、保持される。
【００３２】
上記構成を備えたことにより、ユーザはユーザプログラムを用いて必要に応じて随時、あるいは定期的にレジスタ１３の値を読み出し、プロセッサ１０からのアクセス要求信号Ｒ０１が破棄されたか否かを知ることができる。破棄された場合は、ＤＭＡＣ２０からのアクセス要求信号Ｒ０３に対するメモリ４０の処理が終了した後において、再度同じアクセス要求信号Ｒ０１を出力する。
【００３３】
また、プロセッサ１０はアクセス要求の破棄を検出した後、レジスタ１３をリセットして初期値（ここでは論理「０」）に戻すことができる。具体的には、書き込み要求信号Ｋ００と、書き込み値信号Ｋ０１（ここでは論理「０」）とを論理回路１１に与えることで、書き込み値信号Ｋ０１が論理回路１１及び１２を経てレジスタ１３に与えられ、リセットされる。
【００３４】
従来は、上述したようにアクセス要求が破棄されたことに対する解決処理を即時に行おうとして動作速度の低下を招いていた。これに対し、本実施の形態によれば、アクセスの失敗を即時に解決しようとせずに、アクセスが破棄された情報をレジスタ１３において一旦保持しておき、この情報を用いて再度メモリ４０へのアクセス要求を行うことで、アクセス失敗に対する処理を行う。これにより、従来のストールや例外等により引き起こされていた動作速度の低下が防止される。
【００３５】
また、本実施の形態ではレジスタ１３を付加した簡易な回路構成により実現することができ、ストールや例外に必要な複雑な構成や大容量のメモリを必要とせず、コスト低減が達成される。
【００３６】
さらに、本実施の形態によれば、プログラミングの最適化を図ることもできる。従来は、プログラムを一旦組んだ後でデバッグ処理等のために試行した場合、アクセスの競合が発生したか否かを明確に検出することができなかった。敢えて検出する際には、例えばプログラムを走らせた後でメモリに書き込まれた情報が期待値と一致しているか否かを調べてアクセス要求が破棄されたかどうかを判断することも考えられる。しかし、競合した他のアクセス回路からのアクセスにより同じデータが書き込まれたような場合には、アクセス要求が破棄された場合にもメモリの情報は期待値と一致するので、アクセス要求の破棄があったことを検出することはできない。
【００３７】
これに対し、本実施の形態ではアクセス要求の破棄があった場合には確実かつ簡易にそのことを検出することができる。そこで、アクセス要求の競合を回避するようにアクセスのタイミングを調整するようプログラムを組み直すことにより、容易にプログラミングの最適化を図り処理効率の向上に寄与することができる。
【００３８】
（２）第２の実施の形態
上記第１の実施の形態では、アクセス要求が破棄されたことをプロセッサ１０がレジスタ１３の値を読むことで知ることができる。しかし、プロセッサ１０が複数回アクセス要求を行った場合には、どのアクセスが破棄されたかを知ることはできない。そこで、プログラムの最初に戻り、全てのアクセス要求を含めて再度実行をやり直す必要がある。
【００３９】
これに対し、第２の実施の形態では、アクセス要求が破棄されたことのみならず、いずれのアクセスが破棄されたかを示す情報を保持する構成を備えている。
【００４０】
本実施の形態による半導体回路装置の構成は、図２に示されるようである。図１に示された上記第１の実施の形態と比較し、プロセッサ５０の構成が異なる。
【００４１】
プロセッサ５０は、アクセス破棄に関する情報を保持するためのセレクタ１１及び１２、レジスタ１３の他に、破棄されたアクセスがどのアクセスであるかを示す情報を保持するため、セレクタ５１及びレジスタ５２を有する。
【００４２】
ここで、破棄されたアドレスがどのアドレスであるかを示す情報とは、破棄されたアクセスのみを再度行うに必要な情報である。具体的には、例えばアクセス要求信号Ｒ０１が、メモリ４０からデータを読み出すものである場合は、メモリ４０のアドレスと読み出しイネーブル信号、メモリ４０へのデータの書き込みを行うものである場合は、メモリ４０のアドレス、書き込みデータ及び書き込みイネーブル信号が含まれる情報である。
【００４３】
このような情報をレジスタ５２に保持しておき、ユーザプログラムに従ってプロセッサ５０がこの情報を得ることにより、プログラムを最初から全てやり直すことなく、破棄されたアクセス要求のみを容易に再度行うことが可能になり、処理効率が向上する。上記第１の実施の形態と同一の要素には、同一の番号を付して説明を省略する。
【００４４】
プロセッサ５０からのアクセス要求信号Ｒ０１と、ＤＭＡＣ２０からのアクセス要求信号Ｒ０３とが競合した場合、アクセス選択回路３０によりプロセッサ５０からのアクセス要求信号Ｒ０１が破棄される。アクセス要求信号Ｒ０１及びアクセス要求破棄信号Ｃ００がプロセッサ５０のセレクタ１２に与えられ、アクセス要求破棄信号Ｃ００がレジスタ１３に与えられて保持される。
【００４５】
さらに、アクセスに必要な信号Ｒ０２と、レジスタ５２に保持されている値を示す信号Ｌ００とがセレクタ５１に与えられる。アクセス要求破棄信号Ｃ００がセレクタ５１の制御端子に与えられたときは、アクセスに必要な信号Ｒ０２がセレクタ５１から出力されてレジスタ５２に与えられ保持される。アクセス要求破棄信号Ｃ００がセレクタ５１に与えられない間は、レジスタ５２に保持された値を示す信号Ｌ００がセレクタ５１に与えられ、レジスタ５２へ転送されてリフレッシュされる。
【００４６】
本実施の形態によれば、プロセッサ５０からのアドレス要求信号Ｒ０１が破棄された場合、このことを示すアドレス要求破棄信号Ｃ００がレジスタ１３に保持されるだけでなく、このときのアドレスに必要な信号Ｒ０２がレジスタ５２に保持される。そこで、ユーザプログラムに従い、プロセッサ５０はレジスタ１３及び５２に保持された値を必要に応じて随時、あるいは定期的に読み出して、アクセス要求が破棄された場合にはどのアクセスであったかを知ることができる。このため、アクセス要求が破棄された場合に全てのプログラムの実行を最初からやり直すことなく、破棄されたアクセス要求のみを再度行うことができ、動作速度がより向上する。
【００４７】
（３）第３の実施の形態
上記第２の実施の形態では、プロセッサ５０が、アクセス要求が破棄されたことを示す情報と、アクセス要求が破棄されたときいずれのアクセス要求であるかを示す情報とを、レジスタ１３及び５２を用いて１組保持することができる。
【００４８】
これに対し本実施の形態は、プロセッサ６０が、アクセス破棄情報を保持するレジスタ６２と、アクセス要求が破棄されたときこのアクセス要求がいずれであるかを示す情報を保持するレジスタ６３とを、１番からＭ番のＭ組（ここで、Ｍは２以上の整数）有するレジスタ部６１を備えている。他の上記第２の実施の形態と同一の要素には、同一の番号を付して説明を省略する。
【００４９】
プロセッサ６０からのアクセス要求信号Ｒ０１と、ＤＭＡＣ２０からのアクセス要求信号Ｒ０３とが競合した場合、アクセス選択回路３０によりプロセッサ５０からのアクセス要求信号Ｒ０１が破棄される。アクセスに必要な信号Ｒ０２及びアクセス要求破棄信号Ｃ００がプロセッサ６０内のレジスタ６１に含まれるレジスタ６２及び６３にそれぞれ与えられて保持される。
【００５０】
このようなアクセス要求の破棄を示す情報とそのアクセスがいずれであるかを示す情報とを、レジスタ６２及び６３においてＭ組まで保持することができる。プロセッサ６０は、ユーザプログラムに従って、必要に応じて随時、あるいは定期的に１〜Ｍ番目のレジスタ６３の内容を読んでいく。そして、ｊ（ｊは１〜Ｍのうちの整数）番目のレジスタ６２にアクセス要求の破棄を示す情報が保持されていた場合は、このｊ番目のレジスタ６３に保持されている破棄されたアクセス要求を再度行うために必要な情報を読み出し、このアクセス要求のみを実行する。
【００５１】
上記第２の実施の形態のように、アクセス要求の破棄に関する情報を１組しか保持できない場合には、プロセッサが短い間隔でレジスタを読みにいき、アクセス要求が破棄されたか否かを検出する必要がある。これに対し、本実施の形態では、比較的長い期間レジスタ６１を読みにいかなくとも、アクセス要求の破棄に関する情報を複数組保持することができる。従って、プログラムの都合に応じた時間間隔でレジスタ６２を読みにいけばよいので、効率良くプログラムを組むことができる。
【００５２】
（４）第４の実施の形態
上記第１〜第３の実施の形態では、いずれもメモリをアクセスするアクセス回路は、プロセッサとＤＭＡＣの二つであり、またメモリにおける同時に処理可能なアクセス要求は一つである。しかしこれに限定されることなく、アクセス制御回路が３つ以上存在してもよく、またこの場合にメモリの同時に処理可能なアクセス要求が２つ以上であってもよい。
【００５３】
本発明の第４の実施の形態は、図４に示されたように、アクセス回路１０１〜１０ＹがＹ（Ｙは３以上の整数）個設けられ、メモリ４００が同時に処理可能なアクセス要求の数がＸ（Ｘは２以上の整数）個である場合、仮に全てのアクセス回路１０１〜１０Ｙから同時にアクセス要求が発生した場合はＹ−Ｘ個のアクセス要求が破棄される。そこで、アクセス要求が破棄される可能性のあるアクセス回路、即ち、予め定められた優先度が最上位のものからＸ番目までのアクセス回路１０１〜１０Ｘを除くＸ＋１、Ｘ＋２、…、Ｙ番目のアクセス回路１０（Ｘ＋１）〜１０Ｙがそれぞれレジスタ２０（Ｘ＋１）〜２０Ｙを有し、アクセス要求の破棄に関する情報を保持する。
【００５４】
また、上記実施の形態では、アクセス要求破棄情報及び破棄されたアクセスを示す情報を保持するレジスタが、プロセッサに内蔵されている。これにより、レジスタをアクセスする速度が向上する。しかし、必ずしもプロセッサがレジスタを内蔵する必要はなく、外部に配置されていてもよい。
【００５５】
【発明の効果】
本発明の半導体回路装置は、複数のアクセス要求が競合して破棄された場合、このアクセス要求の失敗をストールや例外等によって即座に解決するのでなく、破棄されたことを示す情報を一旦保持しておき、優先された他のアクセス要求に対する処理が終了した後において再度アクセス要求を行うことで対処することにより、ストールや例外等に必要な回路構成や大容量のメモリを必要とすることなく簡易な構成で対応が可能であり、また動作速度を向上させることができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態による半導体回路装置の構成を示した回路図。
【図２】本発明の第２の実施の形態による半導体回路装置の構成を示した回路図。
【図３】本発明の第３の実施の形態による半導体回路装置の構成を示した回路図。
【図４】本発明の第４の実施の形態による半導体回路装置の構成を示した回路図。
【符号の説明】
１０、５０、６０  プロセッサ
１１、１２、３２、５１  セレクタ
１３、５２、６２、６３、２０（Ｘ＋１）〜２０Ｙ  レジスタ
２０  ＤＭＡＣ
３０、３００  アクセス選択装置
３１  ＡＮＤ回路
４０、４００  メモリ
６１  レジスタ部
１０１〜１０Ｘ、１０（Ｘ＋１）〜１０Ｙ  アクセス回路
Ｒ０１、Ｒ０２  アクセス要求信号
Ｒ０２、Ｒ０４  アクセスに必要な信号
Ｃ００  アクセス要求破棄信号
Ｋ００  書き込み要求信号
Ｋ０１  書き込み値
Ｋ０２、Ｌ００  レジスタ値信号
【図１】
0003877541.tif 000002
【図２】
0003877541.tif 000003
【図３】
0003877541.tif 000004
【図４】
0003877541.tif 000005