(57)【要約】【課題】効率のよいＤＭＡ転送処理が可能な半導体装置を提供する。【解決手段】転送中のデータを一時記憶するセクタバッファ１０４の入出力ポートＰ１をシステムバス１０８とのＤＭＡ転送に用い、入出力ポートＰ２をＩ／Ｏコントローラ１０７とのデータ転送に用い、切替部１０５はシステムバス１０８とＩ／Ｏコントローラ１０７を接続するか、セクタバッファ１０４とＩ／Ｏコントローラ１０７またはシステムバス１０８を接続するかを切り替え、セクタバッファコントローラ１０６は入出力ポートＰ１、Ｐ２によるデータ転送を別々に起動し、セクタバッファ１０４とＩ／Ｏコントローラ１０７間での転送単位分のデータの転送の終了を検出すると、セクタバッファ１０４とＩ／Ｏコントローラ１０７とのデータ転送を遮断しシステムバス１０８とＩ／Ｏコントローラ１０７とを接続するための制御信号を切替部１０５に送出する。【選択図】図１
2008009817.tif 000002
【特許請求の範囲】
【請求項１】
ＤＭＡ転送処理を行う半導体装置において、
入出力装置とのデータ転送を制御する入出力制御部と、
転送中のデータを一時記憶し、第１の入出力ポートをシステムバスとのＤＭＡ転送に用い、第２の入出力ポートを前記入出力制御部とのデータ転送に用いる一時記憶部と、
前記システムバスと前記入出力制御部を接続するか、前記一時記憶部と前記入出力制御部または前記システムバスを接続するかを切り替える切替部と、
前記第１及び前記第２の入出力ポートによるデータ転送を別々に起動し、前記一時記憶部と前記入出力制御部間での転送単位分の前記データの転送の終了を検出すると、前記一時記憶部と前記入出力制御部とのデータ転送を遮断し前記システムバスと前記入出力制御部とを接続するための制御信号を前記切替部に送出する記憶制御部と、
を有することを特徴とする半導体装置。
【請求項２】
前記記憶制御部は、起動ビットをセットすることで、前記第１及び前記第２の入出力ポートによるデータ転送を別々に起動させる２つのレジスタを有していることを特徴とする請求項１記載の半導体装置。
【請求項３】
前記記憶制御部は、前記転送単位を設定するレジスタを有していることを特徴とする請求項１記載の半導体装置。
【請求項４】
前記記憶制御部は、前記転送単位の前記データの転送が終了したか否かの情報を記憶するステータスレジスタを有していることを特徴とする請求項１記載の半導体装置。
【請求項５】
前記記憶制御部は、前記入出力制御部のアクセスサイクルを記憶するレジスタを有し、前記アクセスサイクルに応じた制御信号またはアドレス信号を前記入出力制御部に送出することを特徴とする請求項１記載の半導体装置。
【請求項６】
複数の前記入出力制御部を有し、
前記切替部は、複数の前記入出力制御部のいずれか１つを選択するための情報を記憶するレジスタを有していることを特徴とする請求項１記載の半導体装置。
【請求項７】
前記一時記憶部は、デュアルポートＲＡＭであることを特徴とする請求項１記載の半導体装置。
【請求項８】
ＤＭＡ転送処理を行うデータ転送方法において、
第１の入出力ポートをシステムバスとのＤＭＡ転送に用い、第２の入出力ポートを入出力装置とのデータ転送を制御する入出力制御部とのデータ転送に用いる一時記憶部の、前記第１及び前記第２の入出力ポートによるデータ転送を別々に起動し、
切替部によって前記システムバスと前記入出力制御部を接続するか、前記一時記憶部と前記入出力制御部または前記システムバスを接続するかを切り替え、
前記一時記憶部と前記入出力制御部間での転送単位分のデータの転送の終了を検出すると、前記切替部によって前記一時記憶部と前記入出力制御部とのデータ転送を遮断し、前記システムバスと前記入出力制御部とを接続することを特徴とするデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体装置及びデータ転送方法に関し、特に、ＤＭＡ転送を行う半導体装置及びデータ転送方法に関する。
【背景技術】
【０００２】
デジタルカメラや携帯電話などの情報端末において、データの記録媒体として、フラッシュメモリなどの不揮発性メモリを内蔵するメモリカードが使われている。
メモリカードは、情報端末に搭載されるシステムＬＳＩ（Large Scale Integrated circuit）に組み込まれているカードコントローラにより制御される。
【０００３】
メモリカードにデータを転送する場合、システムＬＳＩ内のＣＰＵ（Central Processing Unit）が、カードコントローラを介してＩ／Ｏ（Input/Output）デバイスとしてカードにアクセスする方法（ＰＩＯ：Program I/O transfer）がある。ＰＩＯでデータ転送を行う場合、データ転送を行っている間、ＣＰＵが占有されるため、大きなデータを転送する場合にはシステムの処理能力が低下してしまう。
【０００４】
一方、ＣＰＵを使わずにＩ／Ｏデバイスとメモリの間で直接データ転送を行う、ＤＭＡ（Direct Memory Access）転送が知られている。ＤＭＡ転送を用いることで、ＣＰＵの処理を妨げることなく、大きなデータを転送することができる。
【０００５】
ところで、一般的に、ＤＭＡ転送を行うためには、Ｉ／ＯデバイスがＤＭＡインターフェースを備えている必要がある。ＤＭＡインターフェースは、ＤＭＡコントローラとの間で送受信されるＤＭＡ転送要求信号や、ＤＭＡ転送許可信号などの信号を解釈するのに必要となるからである。これに対して、ＤＭＡインターフェースなしでもＤＭＡ転送が可能なＤＭＡ転送方法が、例えば、特許文献１に開示されている。
【０００６】
図１２は、ＤＭＡインターフェースを持たないＩ／Ｏデバイスとの間でＤＭＡ転送を行う従来の半導体装置の構成を示す図である。
半導体装置５００は、ＣＰＵ５０１、メモリ５０２、ＤＭＡコントローラ５０３、切替部５０４、リクエスト生成部５０５を有し、これらはシステムバス５０６に接続されている。図１２では、Ｉ／Ｏデバイスとして、メモリカード５０７ａを用いた場合について示しており、半導体装置５００は、カードコントローラ５０７を内蔵している。カードコントローラ５０７は、切替部５０４を介してシステムバス５０６に接続されている。ＣＰＵ５０１及びＤＭＡコントローラ５０３は、システムバス５０６のマスタであり、カードコントローラ５０７はスレーブである。
【０００７】
ここで、切替部５０４は、ＣＰＵ５０１とカードコントローラ５０７を接続するか、ＤＭＡコントローラ５０３とカードコントローラ５０７を接続するかを切り替える。具体的には、ＣＰＵ５０１がマスタの場合、ＣＰＵ５０１とカードコントローラ５０７とを接続し、アドレス信号や、チップセレクト信号などの制御信号、あるいはデータがカードコントローラ５０７に伝わるようにする。
【０００８】
一方、ＤＭＡコントローラ５０３がマスタの場合、切替部５０４は、ＣＰＵ５０１からの制御信号などを遮断し、ＤＭＡコントローラ５０３から入力されるＤＭＡ転送許可信号から新たに生成したチップセレクト信号、固定のアドレス信号（Ｉ／Ｏポートアドレス）及びシステムバス５０６に接続したメモリ５０２のデータをカードコントローラ５０７に伝える。
【０００９】
リクエスト生成部５０５は、間隔設定部５０８に設定された一定の間隔で、ＤＭＡ転送要求信号を、ＤＭＡコントローラ５０３に送出する。
図１３は、従来の半導体装置のデータ転送時の信号の様子を示すタイミングチャートである。
【００１０】
システムバス５０６を伝わるバスクロック、ＣＰＵ５０１が出力するチップセレクト信号／ＣＳａ、ＤＭＡコントローラ５０３が切替部５０４に対して発行するＤＭＡ転送許可信号、リクエスト生成部５０５がＤＭＡコントローラ５０３に伝えるＤＭＡ転送レディ信号及びＤＭＡ転送要求信号、カードコントローラ５０７に入力されるチップセレクト信号／ＣＳｂ、システムバス５０６のデータの様子を示している。
【００１１】
なお、図１３の例では、カードコントローラ５０７のアクセスサイクルが３クロックサイクルである場合を示している。
ＰＩＯ転送中は、ＣＰＵ５０１が発行するチップセレクト信号／ＣＳａがカードコントローラ５０７のチップセレクト信号／ＣＳｂとして使用される。すなわち、切替部５０４は、ＣＰＵ５０１からの制御信号をカードコントローラ５０７に伝える。これにより、ＣＰＵ５０１の制御のもと、データ（図１３のｖａｌｉｄ）がメモリ５０２とカードコントローラ５０７との間でＰＩＯ転送される。
【００１２】
続いて、リクエスト生成部５０５によって生成されるＤＭＡ転送要求信号が、アサート（図１３では“Ｈ（High）”）になると、ＤＭＡコントローラ５０３によって生成されるＤＭＡ転送許可信号がアサートして、転送が許可されるまでアイドルサイクルとなる。
【００１３】
ＤＭＡ転送中、切替部５０４は、ＤＭＡコントローラ５０３が発行するＤＭＡ転送許可信号をもとにカードコントローラ５０７のチップセレクト信号／ＣＳｂを生成する。すなわち、切替部５０４は、ＤＭＡコントローラ５０３からの制御信号をカードコントローラ５０７に伝える。これにより、ＤＭＡコントローラ５０３の制御のもと、データがメモリ５０２とカードコントローラ５０７との間でＤＭＡ転送される。
【００１４】
ところで、ＤＭＡ転送においても、カードコントローラ５０７のアクセスサイクルが、ＰＩＯ転送のアクセスサイクルと同じになるように、カードコントローラ５０７に入力されるチップセレクト信号／ＣＳｂを生成する必要がある。ＤＭＡ転送許可信号のみをもとに、チップセレクト信号／ＣＳｂを生成する場合には、ＤＭＡコントローラ５０３から発行されるＤＭＡ転送許可信号を、カードコントローラ５０７のアクセスサイクルの期間（ここでは３クロックサイクル）アクティブとする必要がある。例えば、リクエスト生成部５０５は、ＤＭＡ転送レディ信号を“Ｌ（Low）”にして転送レディ状態であることをＤＭＡコントローラ５０３に伝えることで、ＤＭＡ転送許可信号を必要なサイクルだけアクティブとすることができる。また、ＤＭＡ転送レディ信号が使えない場合には、切替部５０４は、ＤＭＡ転送許可信号の立ち上がりに応じて、カードコントローラ５０７に入力するチップセレクト信号／ＣＳｂを“Ｌ”にしてアサートし始め、アクセスサイクル分アクティブにしてから“Ｈ”にしてネゲートする。
【００１５】
リクエスト生成部５０５からＤＭＡコントローラ５０３に対して発行されるＤＭＡ転送要求信号は、ＤＭＡ転送許可信号の立ち上がりを検出してネゲートにする。ＤＭＡ転送要求信号をネゲートしてから、次にアサートするまでのサイクル数は間隔設定部５０８にて設定することができる。図１３では、アクセスサイクルと等しい３クロックサイクルを設定した場合について示している。
【００１６】
図１４は、従来の半導体装置によるメモリカードへのＤＭＡ転送時の動作を示すフローチャートである。
まず、ＣＰＵ５０１から、切替部５０４を介して、カードコントローラ５０７に対して転送モードの設定や転送コマンドの発行を行う（ステップＳ５０）。
【００１７】
次に、ＤＭＡコントローラ５０３を起動し、ＤＭＡ転送を開始する（ステップＳ５１）。ＤＭＡ転送が開始されると、リクエスト生成部５０５は、間隔設定部５０８に設定された値をもとに、一定間隔でＤＭＡコントローラ５０３に対して転送要求を発行し続ける。
【００１８】
データ転送の際には、一般に、データが正常に転送されたかどうかを一定のデータ量を転送するごとにチェックする必要がある（以下これをステータスチェックという。）。転送単位分の転送が完了したか否かが判定され（ステップＳ５２）、転送単位分の転送が完了した場合には、このステータスチェックが行われる（ステップＳ５３）。ステータスチェックは、ＣＰＵ５０１からカードコントローラ５０７あるいはメモリカード５０７ａにアクセスしてステータスをリードすることで行われる。
【００１９】
ステータスチェックが行われた後、データの転送が完了したか否かが判定され（ステップＳ５４）、転送したいデータがまだ残っている場合には、ステップＳ５１の処理に戻り、再びＤＭＡコントローラ５０３を起動して転送を再開し、全てのデータを転送し終わるまで、ステップＳ５１〜Ｓ５４の処理を繰り返す。
【００２０】
このような従来の半導体装置５００によれば、ＤＭＡインターフェースを持たないＩ／／ＯデバイスでもＤＭＡ転送を行うことが可能となる。
【特許文献１】特開平８−１９４６６０号公報
【発明の開示】
【発明が解決しようとする課題】
【００２１】
しかし、図１２で示したような従来の半導体装置５００では、リクエスト生成部５０５がＤＭＡ転送要求を発行している間、切替部５０４は、ＤＭＡコントローラ５０３からの制御信号をカードコントローラ５０７に対して伝えているため、ＣＰＵ５０１からカードコントローラ５０７あるいはメモリカード５０７ａに対してアクセスすることができない。ＣＰＵ５０１からアクセスするためにはＤＭＡ転送を終了させる必要がある。そのため、従来の半導体装置５００では、図１４のように、ステータスチェックごとに、ＤＭＡコントローラ５０３を再起動しなければならず、オーバーヘッドが大きな処理となってしまう問題があった。
【００２２】
本発明はこのような点に鑑みてなされたものであり、効率のよい転送処理が可能な半導体装置を提供することを目的とする。
本発明の他の目的は、効率のよい転送処理が可能なデータ転送方法を提供することである。
【課題を解決するための手段】
【００２３】
本発明では上記問題を解決するために、ＤＭＡ転送処理を行う半導体装置において、図１に示すように、入出力装置（Ｉ／Ｏデバイス１０７ａ）とのデータ転送を制御する入出力制御部（Ｉ／Ｏコントローラ１０７）と、転送中のデータを一時記憶し、入出力ポートＰ１をシステムバス１０８とのＤＭＡ転送に用い、入出力ポートＰ２をＩ／Ｏコントローラ１０７とのデータ転送に用いる一時記憶部（図１ではセクタバッファ１０４としている。）と、システムバス１０８とＩ／Ｏコントローラ１０７を接続するか、一時記憶部とＩ／Ｏコントローラ１０７またはシステムバス１０８を接続するかを切り替える切替部１０５と、入出力ポートＰ１、Ｐ２によるデータ転送を別々に起動し、一時記憶部とＩ／Ｏコントローラ１０７間での転送単位分のデータの転送の終了を検出すると、一時記憶部とＩ／Ｏコントローラ１０７とのデータ転送を遮断しシステムバス１０８とＩ／Ｏコントローラ１０７とを接続するための制御信号を切替部１０５に送出する記憶制御部（図１ではセクタバッファコントローラ１０６としている。）と、を有することを特徴とする半導体装置が提供される。
【００２４】
上記の構成によれば、Ｉ／Ｏコントローラ１０７はＩ／Ｏデバイス１０７ａとのデータ転送を制御し、一時記憶部は転送中のデータを一時記憶し、入出力ポートＰ１をシステムバス１０８とのＤＭＡ転送に用い、入出力ポートＰ２をＩ／Ｏコントローラ１０７とのデータ転送に用い、切替部１０５はシステムバス１０８とＩ／Ｏコントローラ１０７を接続するか、一時記憶部とＩ／Ｏコントローラ１０７またはシステムバス１０８を接続するかを切り替え、記憶制御部は入出力ポートＰ１、Ｐ２によるデータ転送を別々に起動し、一時記憶部とＩ／Ｏコントローラ１０７間での転送単位分のデータの転送の終了を検出すると、一時記憶部とＩ／Ｏコントローラ１０７とのデータ転送を遮断しシステムバス１０８とＩ／Ｏコントローラ１０７とを接続するための制御信号を切替部１０５に送出する。
【００２５】
また、ＤＭＡ転送処理を行うデータ転送方法において、第１の入出力ポートをシステムバスとのＤＭＡ転送に用い、第２の入出力ポートを入出力装置とのデータ転送を制御する入出力制御部とのデータ転送に用いる一時記憶部の、前記第１及び前記第２の前記入出力ポートによるデータ転送を別々に起動し、切替部によって前記システムバスと前記入出力制御部を接続するか、前記一時記憶部と前記入出力制御部または前記システムバスを接続するかを切り替え、前記一時記憶部と前記入出力制御部間での転送単位分のデータの転送の終了を検出すると、前記切替部によって前記一時記憶部と前記入出力制御部とのデータ転送を遮断し、前記システムバスと前記入出力制御部とを接続することを特徴とするデータ転送方法が提供される。
【００２６】
上記の方法によれば、第１の入出力ポートをシステムバスとのＤＭＡ転送に用い、第２の入出力ポートを入出力装置とのデータ転送を制御する入出力制御部とのデータ転送に用いる一時記憶部の、第１及び第２の入出力ポートによるデータ転送が別々に起動され、切替部によってシステムバスと入出力制御部を接続するか、一時記憶部と入出力制御部またはシステムバスを接続するかが切り替えられ、一時記憶部と入出力制御部間での転送単位分のデータの転送の終了を検出すると、切替部によって一時記憶部と入出力制御部とのデータ転送が遮断され、システムバスと入出力制御部とが接続される。
【発明の効果】
【００２７】
本発明は、２つの入出力ポートを有する一時記憶部を用いて、第１の入出力ポートをシステムバスとのＤＭＡ転送に用い、第２の入出力ポートを入出力装置とのデータ転送を制御する入出力制御部とのデータ転送に用いる。そして、入出力ポートによるデータ転送を別々に起動し、切替部によってシステムバスと入出力制御部を接続するか、一時記憶部と入出力制御部またはシステムバスを接続するか切り替え、一時記憶部と入出力制御部間での転送単位分のデータの転送の終了を検出すると、切替部によって一時記憶部と入出力制御部とのデータ転送を遮断し、システムバスと入出力制御部とを接続するようにしたので、ステータスチェックの最中にも、第１の入出力ポートを用いたＤＭＡ転送を行うことができ、ＤＭＡコントローラをステータスチェックのたびに再起動する必要がなくなり、効率のよいデータ転送が可能になる。
【発明を実施するための最良の形態】
【００２８】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
図１は、第１の実施の形態の半導体装置の構成を示す図である。
第１の実施の形態の半導体装置１００は、ＣＰＵ１０１、メモリ１０２、ＤＭＡコントローラ１０３、セクタバッファ１０４、切替部１０５、セクタバッファコントローラ１０６、Ｉ／Ｏコントローラ１０７を有している。また、ＣＰＵ１０１、メモリ１０２、ＤＭＡコントローラ１０３、切替部１０５、セクタバッファコントローラ１０６は、システムバス１０８と接続されている。なお、以下では、システムバス１０８は、アドレスを伝送するアドレスバス、データを伝送するデータバス、制御信号を伝送する制御線を含むものとする。ＣＰＵ１０１及びＤＭＡコントローラ１０３は、システムバス１０８のマスタであり、Ｉ／Ｏコントローラ１０７はスレーブである。
【００２９】
ＣＰＵ１０１は、システムバス１０８を介して半導体装置１００の各部を制御する。
メモリ１０２は、Ｉ／Ｏコントローラ１０７に接続されたＩ／Ｏデバイス１０７ａにライトするデータや、Ｉ／Ｏデバイス１０７ａからリードされたデータなどを記憶する。
【００３０】
ＤＭＡコントローラ１０３は、ＤＭＡ転送を制御する。
セクタバッファ１０４は、転送中のデータを一時記憶する一時記憶部である。そして、システムバス１０８とのＤＭＡ転送に用いる入出力ポートＰ１と、Ｉ／Ｏコントローラ１０７とのデータ転送に用いる入出力ポートＰ２とを有している。図１では、この２つの入出力ポートＰ１、Ｐ２を切替部１０５に接続している。このようなセクタバッファ１０４は、デュアルポートＲＡＭ（Random Access Memory）を用いることで実現可能である。また、２つのシングルポートＲＡＭを用いるようにしてもよい。
【００３１】
切替部１０５は、システムバス１０８とＩ／Ｏコントローラ１０７を接続するか、セクタバッファ１０４とＩ／Ｏコントローラ１０７またはシステムバス１０８を接続するかを切り替える。
【００３２】
セクタバッファコントローラ１０６は、セクタバッファ１０４の、２つの入出力ポートＰ１、Ｐ２によるデータ転送を別々に起動する。そして、セクタバッファ１０４とＩ／Ｏコントローラ１０７間での転送したデータの量に応じて、切替部１０５でパスの接続を切り替えるための制御信号（以下セクタバッファビジー信号という。）を出力する。その他、セクタバッファコントローラ１０６は、切替部１０５を介して、Ｉ／Ｏコントローラ１０７に対し、チップセレクト信号、リードストローブ信号、ライトストローブ信号、バイトイネーブル信号などの制御信号やアドレス信号を、Ｉ／Ｏコントローラ１０７のアクセスサイクルに合わせて送出する。
【００３３】
Ｉ／Ｏコントローラ１０７は、Ｉ／Ｏデバイス１０７ａとのデータ転送を制御する。本実施の形態の半導体装置１００において、Ｉ／Ｏコントローラ１０７は、ＤＭＡインターフェースを必要としていない。
【００３４】
なお、Ｉ／Ｏデバイス１０７ａとしては、例えば、フラッシュメモリなどの不揮発性メモリを内蔵するメモリカードや、ＨＤＤ（Hard Disk Drive）、またはプリンタなど、データ転送を必要とする様々な機器が挙げられる。Ｉ／Ｏコントローラ１０７は、カードコントローラやＩＤＥ（Integrated Drive Electronics）コントローラなどである。
【００３５】
図２は、第１の実施の形態の半導体装置における切替部の一例の回路構成図である。
切替部１０５は、アドレスデコーダ２０１、セレクタ２０２、２０３、２０４、ＡＮＤ回路２０５を有している。
【００３６】
アドレスデコーダ２０１は、システムバス１０８経由でアドレス信号を入力してアドレスデコード信号を生成する。
セレクタ２０２は、Ｉ／Ｏデバイス１０７ａへのライトデータとして、システムバス１０８からのデータか、セクタバッファ１０４の入出力ポートＰ２からのデータを用いるかを、セクタバッファコントローラ１０６で生成される制御信号の１つであるセクタバッファビジー信号に応じて切り替える。
【００３７】
セレクタ２０３は、Ｉ／Ｏデバイス１０７ａからのリードデータとして、Ｉ／Ｏコントローラ１０７からのデータか、セクタバッファ１０４の入出力ポートＰ１からのデータを用いるかを、セクタバッファビジー信号に応じて切り替える。
【００３８】
セレクタ２０４は、システムバス１０８からの制御信号か、セクタバッファコントローラ１０６で生成されたチップセレクト信号などの制御信号のいずれかを、セクタバッファビジー信号に応じて選択する。
【００３９】
ＡＮＤ回路２０５は、セレクタ２０４から出力された制御信号と、アドレスデコード信号とを入力する。Ｉ／Ｏコントローラ１０７を起動しない場合には、アドレスデコード信号は“０”となり、制御信号をマスクする。
【００４０】
図３は、第１の実施の形態の半導体装置におけるセクタバッファコントローラの一例の構成を示す図である。
セクタバッファコントローラ１０６は、システムバス１０８側とのＤＭＡ転送用の起動レジスタ１３１、Ｉ／Ｏコントローラ１０７側とのデータ転送用の起動レジスタ１３２、ＤＭＡ転送要求信号生成部１３３、制御信号生成部１３４、転送単位設定レジスタ１３５、ステータスレジスタ１３６、バッファ制御部１３７を有する。
【００４１】
起動レジスタ１３１には、システムバス１０８とセクタバッファ１０４との間でＤＭＡ転送を起動する際に起動ビットがセットされる。起動ビットは、ＣＰＵ１０１の制御のもと、システムバス１０８を介してセットされる。
【００４２】
起動レジスタ１３２には、Ｉ／Ｏコントローラ１０７とセクタバッファ１０４との間でデータ転送を起動する際に起動ビットがセットされる。起動ビットは、ＣＰＵ１０１の制御のもと、システムバス１０８を介してセットされる。
【００４３】
ＤＭＡ転送要求信号生成部１３３は、起動レジスタ１３１に起動ビットがセットされると、ＤＭＡ転送要求信号を生成し、システムバス１０８を介してＤＭＡコントローラ１０３に送出する。
【００４４】
制御信号生成部１３４は、起動レジスタ１３２に起動ビットがセットされると、Ｉ／Ｏコントローラ１０７に送出するチップセレクト信号、リードストローブ信号や、ライトストローブ信号、バイトイネーブル信号などの制御信号をＩ／Ｏコントローラ１０７のアクセスサイクルに合わせて生成し、切替部１０５に送出する。なお、転送するデータを記憶するＩ／Ｏデバイス１０７ａのアドレスを指定するアドレス信号をアクセスサイクルに合わせて生成して、制御信号とともに切替部１０５に送出するようにしてもよい。以下では、このアドレス信号については説明を省略する。
【００４５】
転送単位設定レジスタ１３５には、ＣＰＵ１０１がステータスチェックを行う転送単位が、システムバス１０８を介してＣＰＵ１０１により設定される。
ステータスレジスタ１３６は、転送単位分の転送が終了したか否かの状態を記憶する。
【００４６】
バッファ制御部１３７は、セクタバッファ１０４の転送を制御するとともに、起動レジスタ１３１、１３２に起動ビットがセットされると、セクタバッファ１０４の入出力ポートＰ１、Ｐ２によるデータ転送を起動する。また、ステータスレジスタ１３６の状態を検出し、転送単位分の転送が終了した場合には、ＣＰＵ１０１とＩ／Ｏコントローラ１０７間を接続させるためのセクタバッファビジー信号を生成して、切替部１０５に送出する。
【００４７】
以下、第１の実施の形態の半導体装置１００の動作を説明する。
図４は、第１の実施の形態の半導体装置による転送処理を示すフローチャートである。
まずＣＰＵ１０１は、システムバス１０８から切替部１０５を介してＩ／Ｏコントローラ１０７に、転送コマンドを発行する（ステップＳ１）。このときセクタバッファコントローラ１０６は、図２の切替部１０５のセレクタ２０２、２０３、２０４に対して、システムバス１０８と、Ｉ／Ｏコントローラ１０７を接続させるセクタバッファビジー信号（例えば、“０”）を入力している。これにより転送コマンド（制御信号）は、セレクタ２０４を介して、ＡＮＤ回路２０５に入力される。Ｉ／Ｏコントローラ１０７へ制御信号を送出する際、アドレスデコード信号は、“１”となり、転送コマンドは、ＡＮＤ回路２０５から出力され、Ｉ／Ｏコントローラ１０７に入力される。
【００４８】
次に、ＤＭＡコントローラ１０３に転送モードなどを設定し起動する（ステップＳ２）。転送モードとして、例えばライト動作、リード動作、転送データ数などを設定する。
ＤＭＡコントローラ１０３を起動すると、セクタバッファコントローラ１０６の転送単位設定レジスタ１３５に、ステータスチェックを行う転送単位を設定する（ステップＳ３）。
【００４９】
次に、セクタバッファ１０４の入出力ポートＰ１によるシステムバス１０８側とのＤＭＡ転送を開始するために、ＣＰＵ１０１は、セクタバッファコントローラ１０６の起動レジスタ１３１に起動ビットをセットする（例えば、“１”を書き込む。）（ステップＳ４）。起動ビットがセットされるとセクタバッファコントローラ１０６の、ＤＭＡ転送要求信号生成部１３３は、ＤＭＡ転送要求信号を、システムバス１０８を介してＤＭＡコントローラ１０３に送出してＤＭＡコントローラ１０３を起動する。例えば、ライト動作の場合、ＤＭＡコントローラ１０３にて転送要求が受け付けられると、メモリ１０２からＤＭＡコントローラ１０３を介して、セクタバッファ１０４へのＤＭＡ転送が開始する。
【００５０】
システムバス１０８側の転送が開始されると、セクタバッファコントローラ１０６のバッファ制御部１３７は、セクタバッファビジー信号をアサートする（例えば、“１”とする。）。これにより、図２の切替部１０５のセレクタ２０２、２０３、２０４は、システムバス１０８と、Ｉ／Ｏコントローラ１０７との接続を遮断し、セクタバッファ１０４の入出力ポートＰ１とシステムバス１０８、及び、入出力ポートＰ２とＩ／Ｏコントローラ１０７間を接続させる。ライト動作の場合には、システムバス１０８を介して、入出力ポートＰ１によりセクタバッファ１０４へのＤＭＡ転送が開始する。
【００５１】
次に、セクタバッファの入出力ポートＰ２によるＩ／Ｏコントローラ１０７側の転送を開始するために、ＣＰＵ１０１は、セクタバッファコントローラ１０６の起動レジスタ１３２に起動ビットをセットする（例えば、“１”を書き込む。）（ステップＳ５）。起動ビットがセットされると、セクタバッファコントローラ１０６の制御信号生成部１３４は、Ｉ／Ｏコントローラ１０７のアクセスサイクルに合わせて制御信号を生成し、切替部１０５に送出する。そして、例えばライト動作の場合には、セクタバッファコントローラ１０６は、セクタバッファ１０４に蓄積されたデータを入出力ポートＰ２からＩ／Ｏコントローラ１０７に転送する。リード動作の場合には、Ｉ／Ｏデバイス１０７ａからＩ／Ｏコントローラ１０７を介してリードデータが切替部１０５に入力され、入出力ポートＰ２からセクタバッファ１０４に蓄積される。このとき、入出力ポートＰ１から蓄積されたデータがシステムバス１０８側に転送される。
【００５２】
セクタバッファ１０４とＩ／Ｏコントローラ１０７間でのデータ転送の間、セクタバッファコントローラ１０６では、転送単位設定レジスタ１３５に設定された転送単位の転送が終了したか否かを監視している（ステップＳ６）。そして、転送単位の転送が完了すると、ステータスレジスタ１３６には、転送が完了した旨の情報がセットされる。これにより、セクタバッファコントローラ１０６は、セクタバッファ１０４の入出力ポートＰ２による転送を停止させ、セクタバッファビジー信号をネゲートする（例えば、“０”にする。）。これにより、システムバス１０８とＩ／Ｏコントローラ１０７とを接続する。さらに、起動レジスタ１３２の起動ビットをクリアする。
【００５３】
なお、ライト動作の場合、セクタバッファ１０４とＩ／Ｏコントローラ１０７との接続が遮断されても、セクタバッファコントローラ１０６は、入出力ポートＰ１、Ｐ２によるデータ転送を別々に起動しているので、入出力ポートＰ１によるライトデータのセクタバッファ１０４への蓄積は続行される。
【００５４】
システムバス１０８とＩ／Ｏコントローラ１０７とが接続されると、ＣＰＵ１０１はＩ／Ｏコントローラ１０７にアクセスしてステータスチェックを行う（ステップＳ７）。ステータスチェックが正常に終わると、ＣＰＵ１０１は、全データの転送が終了したか否かを判断し、転送が完了した場合には起動レジスタ１３１の起動ビットをクリアし、転送処理を終了する（ステップＳ８）。未転送分のデータがある場合には、起動レジスタ１３２の起動ビットを再びセットし、ステップＳ５からの処理を繰り返す。例えば、転送単位５１２バイトで、４０９６バイトのデータをＩ／Ｏデバイス１０７ａに転送したい場合、上記の処理を８回繰り返すことで転送が完了する。
【００５５】
このように、第１の実施の形態の半導体装置１００によれば、全データを転送し終わるまで、ステップＳ４で、ＤＭＡ転送要求信号をＤＭＡコントローラ１０３に送出してＤＭＡコントローラ１０３を１回だけ起動すればよいので、図１４に示したような従来の転送処理よりもオーバーヘッドの少ないＤＭＡ転送処理を、ＤＭＡインターフェースを搭載していないＩ／Ｏコントローラ１０７を用いた場合でも実現できる。
【００５６】
次に、図４のようなＤＭＡ転送処理により、Ｉ／Ｏデバイス１０７ａへデータをライトする際の信号の様子を、タイミングチャートで示す。
図５は、第１の実施の形態の半導体装置の転送処理時における信号の様子を示すタイミングチャートである。
【００５７】
図５では、上から、システムバス１０８を伝わるバスクロック、ＣＰＵ１０１が出力するチップセレクト信号／ＣＳ１、ＤＭＡコントローラ１０３が発行するＤＭＡ転送許可信号、セクタバッファコントローラ１０６がＤＭＡコントローラ１０３に伝えるＤＭＡ転送要求信号、セクタバッファコントローラ１０６が生成する制御信号であるチップセレクト信号／ＣＳ２、Ｉ／Ｏコントローラ１０７に入力されるチップセレクト信号／ＣＳ３を示している。さらに、ＣＰＵ１０１のデータ、セクタバッファ１０４のシステムバス１０８側及びＩ／Ｏコントローラ１０７側のデータ、Ｉ／Ｏコントローラ１０７のデータを示している。
【００５８】
なお、図５では、Ｉ／Ｏコントローラ１０７のアクセスサイクルが３クロックサイクルである場合を示している。
まず、図４のステップＳ１の転送コマンド発行のために、ＣＰＵ１０１によるＩ／Ｏコントローラ１０７へのアクセスが行われる。このとき、ＣＰＵ１０１から出力されたチップセレクト信号／ＣＳ１がＩ／Ｏコントローラ１０７のチップセレクト信号／ＣＳ３として使用され、ＣＰＵ１０１からの発行されたコマンドがＩ／Ｏコントローラ１０７に転送される。
【００５９】
続いて、セクタバッファコントローラ１０６の起動レジスタ１３１に起動ビットがセットされると、ＤＭＡ転送要求信号がアサートされる。このとき、ＤＭＡコントローラ１０３が起動してＤＭＡ転送許可信号がアサートされるまでアイドルサイクルとなる。
【００６０】
ＤＭＡ許可信号がアサートされると、ＤＭＡコントローラ１０３から、システムバス１０８を介してセクタバッファ１０４にデータが転送される。このとき例えば、１クロックサイクルあたりに１アドレス分のデータ転送を行う。
【００６１】
続いて、起動レジスタ１３２がセットされると、セクタバッファコントローラ１０６は、チップセレクト信号／ＣＳ２をアサートする（“Ｌ”となる。）。このとき、前述した切替部１０５の動作により、この制御信号がＩ／Ｏコントローラ１０７に伝わり、チップセレクト信号／ＣＳ３もアサートされる。これによって、セクタバッファ１０４のデータが、入出力ポートＰ２から切替部１０５を介してＩ／Ｏコントローラ１０７に転送される。
【００６２】
転送単位のデータの転送が終わると、ＣＰＵ１０１は再びチップセレクト信号／ＣＳ１をアサートする。転送単位のデータの転送が完了している場合、切替部１０５は前述の動作により、システムバス１０８とＩ／Ｏコントローラ１０７を接続するので、Ｉ／Ｏコントローラ１０７のチップセレクト信号／ＣＳ３もアサートされる。これにより、ＣＰＵ１０１は、Ｉ／Ｏコントローラ１０７にアクセスして、ステータスをリードすることで、ステータスチェックを行う。
【００６３】
全てのデータの転送が終わると、ＤＭＡコントローラ１０３は、ＤＭＡ転送許可信号をネゲートして転送処理を終了する。また、セクタバッファ１０４が一杯になった場合に、セクタバッファコントローラ１０６が、ＤＭＡコントローラ１０３にＤＭＡ転送を停止させるための信号を送出するようにしてもよい。
【００６４】
第１の実施の形態の半導体装置１００では、セクタバッファ１０４とシステムバス１０８側とのデータ転送と、Ｉ／Ｏコントローラ１０７側とのデータ転送を、セクタバッファコントローラ１０６により別々に起動するので、図５のように、セクタバッファ１０４からＩ／Ｏコントローラ１０７にデータ転送や、ステータスチェックを行っている最中にも、セクタバッファ１０４にデータをＤＭＡ転送することができる。
【００６５】
また、図１３で示したように、従来の半導体装置５００では、ＰＩＯ転送のアクセスサイクルと、ＤＭＡ転送のアクセスサイクルとが同じであり、ＤＭＡ転送の転送効率はＰＩＯ転送と同程度でしかなかったが、第１の実施の形態の半導体装置５００では、システムバス１０８側のアクセスサイクルを、Ｉ／Ｏコントローラ１０７側のアクセスサイクルに合わせる必要がないため、システムバス１０８のバス効率を向上させることができる。
【００６６】
次に、第２の実施の形態の半導体装置を説明する。
図６は、第２の実施の形態の半導体装置の構成を示す図である。
図１で示した第１の実施の形態の半導体装置１００と同一の構成要素については同一符号とし、説明を省略する。
【００６７】
第２の実施の形態の半導体装置１００ａは、第１の実施の形態の半導体装置１００と異なり、２つのＩ／Ｏデバイス１０７ａ−１、１０７ａ−２に対応した、Ｉ／Ｏコントローラ１０７−１、１０７−２を有している。切替部１０５ａは、この２つのＩ／Ｏコントローラ１０７−１、１０７−２とのデータ転送を切り替える必要があり、図２で示した第１の実施の形態の切替部１０５と異なっている。
【００６８】
図７は、第２の実施の形態の半導体装置における切替部の一例の構成を示す図である。
なお、図２で示した第１の実施の形態の半導体装置１００の切替部１０５と同様の構成要素については同一符号としている。
【００６９】
第２の実施の形態の半導体装置１００ａの切替部１０５ａは、２つのＩ／Ｏコントローラ１０７−１、１０７−２に対応して、セレクタ２０４から出力される制御信号を２つのＡＮＤ回路２０５−１、２０５−２に入力している。また、図２の構成の他に、ＡＮＤ回路２１１、切替レジスタ２１２、セレクタ２１３を有している。
【００７０】
ＡＮＤ回路２１１は、システムバス１０８からの制御信号（チップセレクト信号など）と、アドレスデコード信号を入力して、２つのＩ／Ｏコントローラ１０７−１、１０７−２のいずれかを選択する情報を生成して切替レジスタ２１２に記憶する。
【００７１】
切替レジスタ２１２は、記憶された情報をもとに、Ｉ／Ｏコントローラ１０７−１、１０７−２のいずれかを選択するための選択信号を出力する。
選択信号は、セレクタ２１３に入力される。そして、セレクタ２１３は、リード動作時に、Ｉ／Ｏコントローラ１０７−１、１０７−２のリードデータのいずれかを選択信号に応じて選択してセレクタ２０３に入力する。
【００７２】
また、ＡＮＤ回路２０５−１にも選択信号が入力され、ＡＮＤ回路２０５−２には、反転された選択信号が入力される。これによって、選択されないＩ／Ｏコントローラ１０７−１、１０７−２には制御信号が入力されないようにしている。
【００７３】
ところで、第２の実施の形態の半導体装置１００ａにおいて、２つのＩ／Ｏコントローラ１０７−１、１０７−２が異なるアクセスサイクルの場合には、セクタバッファコントローラ１０６ａは、それぞれに応じたアクセスサイクルの制御信号やアドレス信号を生成する必要がある。
【００７４】
図８は、第２の実施の形態の半導体装置におけるセクタバッファコントローラの一例の構成を示す図である。
図３で示した第１の実施の形態の半導体装置１００のセクタバッファコントローラ１０６と同様の構成要素については同一符号としている。
【００７５】
第２の実施の形態の半導体装置１００ａのセクタバッファコントローラ１０６ａは、アクセスサイクル設定レジスタ１３８を有している。ここには、システムバス１０８経由で、それぞれのＩ／Ｏコントローラ１０７−１、１０７−２に対応したアクセスサイクルが設定される。これによって、制御信号生成部１３４は、アクセスサイクル設定レジスタ１３８に設定されたアクセスサイクルで制御信号を生成する。また、アクセスサイクル設定レジスタ１３８に設定されたアクセスサイクルで、アドレス信号も同様に生成できるが、図示を省略している。
【００７６】
以下、第２の実施の形態の半導体装置１００ａの動作を説明する。
図９は、第２の実施の形態の半導体装置による転送処理を示すフローチャートである。
まず、切替部１０５ａの切替レジスタ２１２に、例えば、“１”をセットする。これにより、ＡＮＤ回路２０５−１の出力は有効になり、ＡＮＤ回路２０５−２の出力は無効（“０”）となる。すなわち、Ｉ／Ｏコントローラ１０７−１のパスが有効になる（ステップＳ１１）。
【００７７】
次に、セクタバッファコントローラ１０６ａのアクセスサイクル設定レジスタ１３８に、Ｉ／Ｏコントローラ１０７−１のアクセスサイクルを設定する（ステップＳ１２）。
そして、図４で示したような転送処理で、Ｉ／Ｏデバイス１０７ａ−１との転送処理を行う（ステップＳ１３）。
【００７８】
Ｉ／Ｏデバイス１０７ａ−１との転送処理を終えると、今度は、切替レジスタ２１２に“０”をセットする。これにより、ＡＮＤ回路２０５−１の出力は無効になり、ＡＮＤ回路２０５−２の出力が有効となる。すなわち、Ｉ／Ｏコントローラ１０７−２のバスが有効になる（ステップＳ１４）。
【００７９】
次に、セクタバッファコントローラ１０６ａのアクセスサイクル設定レジスタ１３８に、Ｉ／Ｏコントローラ１０７−２のアクセスサイクルを設定する（ステップＳ１５）。
そして、図４で示したような転送処理で、Ｉ／Ｏデバイス１０７ａ−２との転送処理を行う（ステップＳ１６）。
【００８０】
次に、図９のようなＤＭＡ転送処理により、Ｉ／Ｏデバイス１０７ａ−１、１０７ａ−２へデータをライトする際の信号の様子を、タイミングチャートで示す。
図１０、図１１は、第２の実施の形態の半導体装置の転送処理時における信号の様子を示すタイミングチャートである。
【００８１】
図１０、図１１では、上から、システムバス１０８を伝わるバスクロック、ＣＰＵ１０１が出力するチップセレクト信号／ＣＳ１、ＤＭＡコントローラ１０３が発行するＤＭＡ転送許可信号、セクタバッファコントローラ１０６がＤＭＡコントローラ１０３に伝えるＤＭＡ転送要求信号、セクタバッファコントローラ１０６が生成する制御信号であるチップセレクト信号／ＣＳ２、Ｉ／Ｏコントローラ１０７−１に入力されるチップセレクト信号／ＣＳ３、Ｉ／Ｏコントローラ１０７−２に入力されるチップセレクト信号／ＣＳ４を示している。さらに、ＣＰＵ１０１のデータ、セクタバッファ１０４のシステムバス１０８側及びＩ／Ｏコントローラ１０７−１、１０７−２側のデータ、Ｉ／Ｏコントローラ１０７−１、１０７−２のデータを示している。
【００８２】
なお、Ｉ／Ｏコントローラ１０７−１のアクセスサイクルが３クロックサイクル、Ｉ／Ｏコントローラ１０７−２のアクセスサイクルが２クロックサイクルである場合を示している。
【００８３】
まず、始めに切替部１０５ａによって、Ｉ／Ｏコントローラ１０７−１のパスが有効になっており、セクタバッファコントローラ１０６ａのアクセスサイクル設定レジスタ１３８には、Ｉ／Ｏコントローラ１０７−１のアクセスサイクルである３クロックサイクルが設定されているとする。
【００８４】
これにより、図５で示したタイミングチャートと同様に、ＣＰＵ１０１による３クロックサイクルのチップセレクト信号／ＣＳ１をＩ／Ｏコントローラ１０７−１のチップセレクト信号／ＣＳ３として入力し、Ｉ／Ｏコントローラ１０７−１への転送コマンド発行を行う。その後、１クロックサイクルでのＤＭＡ転送を開始する。
【００８５】
セクタバッファコントローラ１０６ａで生成される３クロックサイクルのチップセレクト信号／ＣＳ２がアサートすると、セクタバッファ１０４に蓄積されたデータが、入出力ポートＰ２から切替部１０５ａを介してＩ／Ｏコントローラ１０７−１に転送される。
【００８６】
転送単位のデータの転送が終わると、ＣＰＵ１０１は再びチップセレクト信号／ＣＳ１をアサートすることで、Ｉ／Ｏコントローラ１０７−１のチップセレクト信号／ＣＳ３をアサートする。これにより、ＣＰＵ１０１は、Ｉ／Ｏコントローラ１０７−１にアクセスして、ステータスをリードすることで、ステータスチェックを行う。
【００８７】
その後、切替処理を行う。ここでは、切替部１０５ａの切替レジスタ２１２を設定して、Ｉ／Ｏコントローラ１０７−２のパスを有効にする。さらに、セクタバッファコントローラ１０６ａのアクセスサイクル設定レジスタ１３８に、Ｉ／Ｏコントローラ１０７−２のアクセスサイクルである、２クロックサイクルを設定する。
【００８８】
その後、図１１に示すように、ＣＰＵ１０１による２クロックサイクルのチップセレクト信号／ＣＳ１をＩ／Ｏコントローラ１０７−２のチップセレクト信号／ＣＳ４として入力し、Ｉ／Ｏコントローラ１０７−２への転送コマンド発行を行う。その後、同様に１クロックサイクルでのＤＭＡ転送を開始する。
【００８９】
セクタバッファコントローラ１０６ａで生成される２クロックサイクルのチップセレクト信号／ＣＳ２がアサートすると、セクタバッファ１０４に蓄積されたデータが、入出力ポートＰ２から切替部１０５ａを介してＩ／Ｏコントローラ１０７−２に転送される。
【００９０】
転送単位のデータが終わると、ＣＰＵ１０１は再びチップセレクト信号／ＣＳ１をアサートすることで、Ｉ／Ｏコントローラ１０７−２のチップセレクト信号／ＣＳ４をアサートする。これにより、ＣＰＵ１０１は、Ｉ／Ｏコントローラ１０７−２にアクセスして、ステータスをリードすることで、ステータスチェックを行う。
【００９１】
全てのデータの転送が終わると、ＤＭＡコントローラ１０３は、ＤＭＡ転送許可信号をネゲートして転送処理を終了する。また、セクタバッファ１０４が一杯になった場合に、セクタバッファコントローラ１０６ａが、ＤＭＡコントローラ１０３にＤＭＡ転送を停止させるための信号を送出するようにしてもよい。
【００９２】
このように、第２の実施の形態の半導体装置１００ａでは、異なるアクセスサイクルのＩ／Ｏコントローラ１０７−１、１０７−２が混在しても、第１の実施の形態の半導体装置１００と同様に、効率のよい転送処理が可能となる。また、１つのセクタバッファ１０４を２つのＩ／Ｏコントローラ１０７−１、１０７−２で共有することができるため、コストパフォーマンスの向上が期待できる。
【００９３】
なお、上記の第２の実施の形態の半導体装置１００ａでは、Ｉ／Ｏコントローラ１０７−１、１０７−２が２つの場合について示したが、３つ以上のＩ／Ｏコントローラを切替部で切り替えるようにしてもよい。また、それに対応してアクセスサイクルも３以上設定するようにしてもよい。
【００９４】
また、上記のアクセスサイクル設定レジスタ１３８は、図３で示した第１の実施の形態の半導体装置１００におけるセクタバッファコントローラ１０６に搭載するようにしてもよい。
【図面の簡単な説明】
【００９５】
【図１】第１の実施の形態の半導体装置の構成を示す図である。
【図２】第１の実施の形態の半導体装置における切替部の一例の回路構成図である。
【図３】第１の実施の形態の半導体装置におけるセクタバッファコントローラの一例の構成を示す図である。
【図４】第１の実施の形態の半導体装置による転送処理を示すフローチャートである。
【図５】第１の実施の形態の半導体装置の転送処理時における信号の様子を示すタイミングチャートである。
【図６】第２の実施の形態の半導体装置の構成を示す図である。
【図７】第２の実施の形態の半導体装置における切替部の一例の構成を示す図である。
【図８】第２の実施の形態の半導体装置におけるセクタバッファコントローラの一例の構成を示す図である。
【図９】第２の実施の形態の半導体装置による転送処理を示すフローチャートである。
【図１０】第２の実施の形態の半導体装置の転送処理時における信号の様子を示すタイミングチャートである（その１）。
【図１１】第２の実施の形態の半導体装置の転送処理時における信号の様子を示すタイミングチャートである（その２）。
【図１２】ＤＭＡインターフェースを持たないＩ／Ｏデバイスとの間でＤＭＡ転送を行う従来の半導体装置の構成を示す図である。
【図１３】従来の半導体装置のデータ転送時の信号の様子を示すタイミングチャートである。
【図１４】従来の半導体装置によるメモリカードへのＤＭＡ転送時の動作を示すフローチャートである。
【符号の説明】
【００９６】
１００  半導体装置
１０１  ＣＰＵ
１０２  メモリ
１０３  ＤＭＡコントローラ
１０４  セクタバッファ
１０５  切替部
１０６  セクタバッファコントローラ
１０７  Ｉ／Ｏコントローラ
１０７ａ  Ｉ／Ｏデバイス
１０８  システムバス
Ｐ１、Ｐ２  入出力ポート
【図１】
2008009817.tif 000003
【図２】
2008009817.tif 000004
【図３】
2008009817.tif 000005
【図４】
2008009817.tif 000006
【図５】
2008009817.tif 000007
【図６】
2008009817.tif 000008
【図７】
2008009817.tif 000009
【図８】
2008009817.tif 000010
【図９】
2008009817.tif 000011
【図１０】
2008009817.tif 000012
【図１１】
2008009817.tif 000013
【図１２】
2008009817.tif 000014
【図１３】
2008009817.tif 000015
【図１４】
2008009817.tif 000016