(57)【要約】【課題】データプロセッサにおいて複数のメモリに対して共通のメモリパトロール回路を用いることができるようにする。【解決手段】読み出しデータに対して誤り訂正を行って出力するメモリ（２）をＣＰＵ（１）の制御に従って定期的にリードアクセスすることによって前記メモリが保持するデータに対するメンテナンスを支援するメモリパトロール回路（４）を有する。メモリパトロール回路はＣＰＵが接続するバス(ＳＢＵＳ)を介してメモリに接続され、メモリに対して一対一対応の密結合とはされていない。メモリパトロール回路によるパトロール動作の範囲はＣＰＵの設定によって決まり、前記メモリからエラーの通知を受取ったときは当該エラーに係るデータのアドレスをメモリパトロール回路の記憶回路(４１)に保持すると共に、例えばエラーフラグ格納領域(４４)にエラーフラグをセットし、或いはＣＰＵに割り込みを要求する。【選択図】図１
2010181990.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを実行するＣＰＵと、前記ＣＰＵのアドレス空間に配置されデータの読み出しと書き込みが行われる単数又は複数のメモリと、前記ＣＰＵによって制御されるメモリパトロール回路とを有し、
前記メモリは、書き込み動作において書き込みデータからエラー訂正コードを生成してデータと共に記憶し、読み出し動作において読み出したデータとエラー訂正コードを用いて読み出しデータに対する誤り訂正を行って出力する誤り検出及び訂正機能を備え、
前記メモリパトロール回路は、前記ＣＰＵによって書き込み及び読み出し可能にされた記憶回路と、前記記憶回路を参照して前記メモリの読み出し制御を行うパトロール制御回路と、を有し、
前記記憶回路は、前記ＣＰＵにより前記メモリの読み出し範囲がプログラマブルに指定されると共に、ＣＰＵにより参照可能なエラーフラグ格納領域を有し、
前記パトロール制御回路は、前記ＣＰＵからパトロール動作の開始が指示されると、前記記憶回路に指定された前記メモリのアドレスに対して読出し動作を指示し、これによって当該メモリからエラーの有無を受取り、エラーがあったときは当該エラーに係るデータのアドレスを前記記憶回路に保持すると共に、前記エラーフラグ格納領域にエラーフラグをセットする、データプロセッサ。
【請求項２】
前記記憶回路はパトロールイネーブルビットを有し、ＣＰＵが前記パトロールイネーブルビットをセットすることにより前記パトロール動作が開始可能にされ、前記パトロール制御回路が前記パトロールイネーブルビットをリセットすることにより前記パトロール動作が停止可能にされる、請求項１記載のデータプロセッサ。
【請求項３】
前記ＣＰＵは、ポーリングによって前記エラーフラグ格納領域を参照し、エラーフラグがセットされていることを条件に、前記エラーに係るデータのアドレスを前記記憶回路から読み出し、当該アドレス情報を用いて前記メモリをリードし、リードデータを当該アドレスに書き戻す処理を行なう、請求項１記載のデータプロセッサ。
【請求項４】
前記パトロール制御回路は、前記エラーがあった場合にその旨のエラー割り込みを前記ＣＰＵに要求すると共に、次のパトロール動作の開始を抑制する、請求項１記載のデータプロセッサ。
【請求項５】
前記ＣＰＵは、前記エラー割り込みに応答して、前記エラーに係るデータのアドレスを前記記憶回路から読み出し、当該アドレス情報を用いて前記メモリをリードし、リードデータを当該アドレスに書き戻す処理を行なう、請求項４記載のデータプロセッサ。
【請求項６】
前記記憶回路は周期情報の記憶領域を有し、
前記制御回路は、ＣＰＵによって設定された周期情報に従って前記パトロール動作によるメモリのリード動作の間隔を制御する、請求項１記載のデータプロセッサ。
【請求項７】
前記メモリを複数個有し、前記パトロール制御回路は、読出し動作の指示に応答して前記メモリが出力するエラー信号の論理和信号によって、当該メモリからエラーの有無を受取る、請求項１記載のデータプロセッサ。
【請求項８】
前記複数個のメモリはバスブリッジ回路で接続された異なるバスの夫々に接続された、請求項７記載のデータプロセッサ。
【請求項９】
プログラムを実行するＣＰＵと、前記ＣＰＵのアドレス空間に配置されデータの読み出しと書き込みが行われる単数又は複数のメモリと、前記ＣＰＵによって制御されるメモリパトロール回路とを有し、
前記メモリは、書き込み動作において書き込みデータからエラー訂正コードを生成してデータと共に記憶し、読み出し動作において読み出したデータとエラー訂正コードを用いて読み出しデータに対する誤り訂正を行って出力する誤り検出及び訂正機能を備え、
前記メモリパトロール回路は、前記ＣＰＵによって書き込み及び読み出し可能にされた記憶回路と、前記記憶回路を参照して前記メモリの読み出し制御を行うパトロール制御回路と、を有し、
前記記憶回路は、前記ＣＰＵにより前記メモリの読み出し範囲がプログラマブルに指定され、
前記パトロール制御回路は、前記ＣＰＵからパトロール動作の開始が指示されると、前記記憶回路に指定された前記メモリのアドレスに対して読出し動作を指示し、これによって当該メモリからエラーの有無を受取り、エラーがあったときは当該エラーに係るデータのアドレスを前記記憶回路に保持すると共に、当該エラーに係る割込みを前記ＣＰＵに要求する、データプロセッサ。
【請求項１０】
プログラムを実行するＣＰＵと、前記ＣＰＵのアドレス空間に配置されデータの読み出しと書き込みが行われる単数又は複数のメモリと、前記ＣＰＵによって制御されるメモリパトロール回路とを有し、
前記メモリは、書き込み動作において書き込みデータからエラー訂正コードを生成してデータと共に記憶し、読み出し動作において読み出したデータとエラー訂正コードを用いて読み出しデータに対する誤り訂正を行って出力する誤り検出及び訂正機能を備えたメモリ部と、前記読み出しデータに対する誤り訂正を行ったとき当該訂正されたデータをメモリ部に書き戻す書き戻し制御部とを有し、
前記メモリパトロール回路は、前記ＣＰＵによって書き込み及び読み出し可能にされた記憶回路と、前記記憶回路を参照して前記メモリの読み出し制御を行うパトロール制御回路と、を有し、
前記記憶回路は、前記ＣＰＵにより前記メモリの読み出し範囲がプログラマブルに指定されると共に、ＣＰＵにより参照可能なエラーフラグ格納領域を有し、
前記パトロール制御回路は、前記ＣＰＵからパトロール動作の開始が指示されると、前記記憶回路に指定された前記メモリのアドレスに対して読出し動作を指示し、これによって当該メモリからエラーの有無を受取り、エラーがあったときは当該エラーに係るデータのアドレスを前記記憶回路に保持すると共に、前記エラーフラグ格納領域にエラーフラグをセットする、データプロセッサ。
【請求項１１】
前記記憶回路はパトロールイネーブルビットを有し、ＣＰＵが前記パトロールイネーブルビットをセットすることにより前記パトロール動作が開始可能にされ、前記パトロール制御回路が前記パトロールイネーブルビットをリセットすることにより前記パトロール動作が停止可能にされる、請求項１０記載のデータプロセッサ。
【請求項１２】
前記記憶回路は周期情報の記憶領域を有し、
前記制御回路は、ＣＰＵによって設定された周期情報に従って前記パトロール動作によるメモリのリード動作の間隔を制御する、請求項１０記載のデータプロセッサ。
【請求項１３】
前記メモリを複数個有し、前記パトロール制御回路は、読出し動作の指示に応答して前記メモリが出力するエラー信号の論理和信号によって、当該メモリからエラーの有無を受取る、請求項１０記載のデータプロセッサ。
【請求項１４】
前記複数個のメモリはバスブリッジ回路で接続された異なるバスの夫々に接続された、請求項１３記載のデータプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、読み出しデータに対するエラー検出及び訂正機能付のメモリに対するデータリカバリ機能を備えたデータプロセッサに係り、例えば自動車の制御システムに適用して有効な技術に関する。
【背景技術】
【０００２】
データプロセッサ（以下単に「マイクロコンピュータ」又は「マイコン」とも称する）は、家電製品、ＡＶ機器、携帯電話、自動車、産業機械等の機器に組み込まれ、メモリに記憶されているプログラムにしたがって処理を行うことで、それぞれの機器の制御を行う半導体集積回路である。
【０００３】
マイコンは、機器に組み込まれて利用されるというその性質上、機器の制御を行うために必要な性能を備え、かつ、安価であることが要求される。さらに、動作保証される使用条件の下で、正常に動作するという信頼性に対する要求も強い。
【０００４】
近年、機器制御の複雑化・高度化に伴って中央処理装置（ＣＰＵ）が処理するデータ量が増大し、マイコンに内蔵されるメモリ容量が増加している。一方、製造プロセスの微細化とマイコンの電源の低電圧化に伴って、記憶素子の電荷が中性子線などの影響で一時的に反転するソフトエラーが問題となってきている。特にメモリは微細であるため、他の素子に比べてソフトエラーの影響を受けやすい。メモリの記憶データの中には、機器の制御に直接影響する重要なデータがあり、ソフトエラーの影響を受けにくくすることが望まれる。
【０００５】
従来から用いられているメモリの高信頼化技術としてＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｎｇ  Ｃｏｄｅ）がある。ＥＣＣは本来のデータにエラー訂正コードを付加して記憶しておくことにより、１ビットエラーが生じた場合でも元の正しいデータを復元して出力することができ、２ビットエラーが生じた場合には復元はできないがエラーがあることを検出することができる技術である。
【０００６】
訂正不可能なメモリの２ビットエラーを生じにくくする技術としてメモリパトロールがある。機器制御のためのメモリアクセスとは別に、ＥＣＣ機能を有するメモリ（以下単に「ＥＣＣメモリ」とも称す）をアドレス順に読み出して１ビットエラーを検出したら訂正したデータを書き戻すというものである。メモリを１ビットエラーが存在する状態のままにしておくと、同じアドレスの別のビットにエラーが生じることによって２ビットエラーとなる可能性があるが、メモリパトロールによって１ビットエラーを訂正しておくことによって２ビットエラーの発生確率を小さくすることができる。メモリパトロールは大きくＣＰＵがソフトウエアで実行する方法と専用のハードウエアで実行する方法の２つがある。ＣＰＵに処理負荷をかけないという点で後者が望ましい。
【０００７】
特許文献１には、リードが主で殆ど書き換えが行われない第１メモリ領域と、常にリードとライトが行われる第２メモリ領域とに対するメモリパトロールの頻度を変更可能にするメモリパトロール制御技術について記載がある。当該文献によれば、メモリパトロール回路はメモリと密に結合されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平６−３２４９５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
メモリパトロールがＥＣＣメモリと密に結合している場合には、メモリパトロールを行いたいメモリごとにメモリパトロール回路を設けることが必要がある。即ち、ＣＰＵ等が接続される共通バスに対して夫々のメモリは固有のメモリパトロール回路を介して接続される。近年のマイコンでは内蔵メモリの個数が増える傾向に有り、例えばマルチコアではＣＰＵごとにメモリを持ち、周辺モジュールの中にも例えば通信用データをメモリに持つものもある。このようにマイコンに内蔵されるメモリの数と種類が増え、メモリパトロールを実施したいメモリが複数になっていくと、メモリごとにメモリパトロール機能を持たせたのではハードウエア規模と設計工数が大きくなってしまう。
【００１０】
本発明の目的は、複数のＥＣＣメモリに対して共通のメモリパトロール回路を用いることができるデータプロセッサを提供することにある。
【００１１】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１２】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１３】
すなわち、データプロセッサは、読み出しデータに対して誤り訂正を行って出力するメモリをＣＰＵの制御に従って定期的にリードアクセスすることによって前記メモリが保持するデータに対するメンテナンスを支援するメモリパトロール回路を有する。メモリパトロール回路はＣＰＵが接続するバスを介してメモリに接続され、メモリに対して一対一対応の密結合とはされていない。メモリパトロール回路によるパトロール動作の範囲はＣＰＵの設定によって決まり、前記メモリからエラーの通知を受取ったときは当該エラーに係るデータのアドレスをメモリパトロール回路の記憶回路に保持すると共に、例えばエラーフラグ格納領域にエラーフラグをセットし、或いはＣＰＵに割り込みを要求する。ＣＰＵは、エラーフラグまたは割り込み等によってエラーの発生を認識することにより、記憶回路が保持するエラーに係るアドレスを用いてメモリリードを行い、リードデータを当該アドレスに書き込むことによって、メモリに記憶された誤りデータを正しいデータに置き換えることができる。メモリパトロール回路はメモリに密結合されず、且つ、パトロールのアドレス範囲はＣＰＵによってプログラマブルに指定可能にされるから、複数のメモリに対して共通のメモリパトロール回路を用いることができる。
【発明の効果】
【００１４】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【００１５】
すなわち、複数のメモリに対してエラーデータをリカバリするための制御を、共通のメモリパトロール回路で行うことができる。
【図面の簡単な説明】
【００１６】
【図１】図１は本発明に係るデータプロセッサの第１の実施の形態を示すブロック図である。
【図２】図２はメモリパトロール回路のレジスタ構成を例示する説明図である。
【図３】図３はメモリパトロール回路によるメモリパトロール動作の処理フローを例示するフローチャートである。
【図４】図４は本発明に係るデータプロセッサの第２の実施の形態を示すブロック図である。
【図５】図５は本発明に係るデータプロセッサの第３の実施の形態を示すブロック図である。
【図６】図６は本発明に係るデータプロセッサの第４の実施の形態を示すブロック図である。
【図７】図７は本発明に係るデータプロセッサの第５の実施の形態を示すブロック図である。
【図８】図８は本発明に係るデータプロセッサを適用した自動車電子制御装置を搭載した自動車のブロック図である。
【発明を実施するための形態】
【００１７】
１．実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００１８】
〔１〕本発明の代表的な実施の形態に係るデータプロセッサ（ＤＰＵ１〜ＤＰＵ３）は、プログラムを実行するＣＰＵ（１）と、前記ＣＰＵのアドレス空間に配置されデータの読み出しと書き込みが行われる単数又は複数のメモリ（２）と、前記ＣＰＵによって制御されるメモリパトロール回路（４）とを有する。前記メモリは、書き込み動作において書き込みデータからエラー訂正コードを生成してデータと共に記憶し、読み出し動作において読み出したデータとエラー訂正コードを用いて読み出しデータに対する誤り訂正を行って出力する誤り検出及び訂正機能を備える。前記メモリパトロール回路は、前記ＣＰＵによって書き込み及び読み出し可能にされた記憶回路（４１〜４５）と、前記記憶回路を参照して前記メモリの読み出し制御を行うパトロール制御回路（４７〜５０）と、を有する。前記記憶回路は、前記ＣＰＵにより前記メモリの読み出し範囲がプログラマブルに指定されると共に、ＣＰＵにより参照可能なエラーフラグ格納領域（４５）を有する。前記パトロール制御回路は、前記ＣＰＵからパトロール動作の開始が指示されると、前記記憶回路に指定された前記メモリのアドレスに対して読出し動作を指示し、これによって当該メモリからエラーの有無を受取り、エラーがあったときは当該エラーに係るデータのアドレスを前記記憶回路に保持すると共に、前記エラーフラグ格納領域にエラーフラグ（ＥＲＲ）をセットする。
【００１９】
ＣＰＵは、エラーフラグによってエラーの発生を認識することにより、記憶回路が保持するエラーに係るアドレスを用いてメモリリードを行い、リードデータを当該アドレスに書き込むことによって、メモリに記憶された誤りデータを正しいデータに置き換えることができる。メモリパトロール回路はメモリに密結合されず、且つ、パトロールのアドレス範囲はＣＰＵによってプログラマブルに指定可能にされるから、複数のメモリに対して共通のメモリパトロール回路を用いることができる。
【００２０】
〔２〕（パトロールイネーブル）項１のデータプロセッサにおいて、例えば前記記憶回路はパトロールイネーブルビット（ＰＥ）を有し、ＣＰＵが前記パトロールイネーブルビットをセットすることにより前記パトロール動作が開始可能にされ、前記パトロール制御回路が前記パトロールイネーブルビットをリセットすることにより前記パトロール動作が停止可能にされる。
【００２１】
〔３〕（ポーリングによるエラー認識）項１のデータプロセッサにおいて、前記ＣＰＵは、例えばポーリングによって前記エラーフラグ格納領域を参照し、エラーフラグがセットされていることを条件に、前記エラーに係るデータのアドレスを前記記憶回路から読み出し、当該アドレス情報を用いて前記メモリをリードし、リードデータを当該アドレスに書き戻す処理を行なう。
【００２２】
〔４〕（割り込みによるエラー通知）項１のデータプロセッサにおいて、前記パトロール制御回路は、例えば前記エラーがあった場合にその旨のエラー割り込み（５４）を前記ＣＰＵに要求すると共に、次のパトロール動作の開始を抑制する。ＣＰＵにエラーの発生を割り込みによって通知して、データリカバリのための処理に移行することも可能である。
【００２３】
〔５〕（割り込み応答処理）項４のデータプロセッサにおいて、例えば前記ＣＰＵは、前記エラー割り込みに応答して、前記エラーに係るデータのアドレスを前記記憶回路から読み出し、当該アドレス情報を用いて前記メモリをリードし、リードデータを当該アドレスに書き戻す処理を行なう。
【００２４】
〔６〕（パトロール周期の設定）項１のデータプロセッサにおいて、例えば前記記憶回路は周期情報の記憶領域（４３）を有する。前記制御回路は、ＣＰＵによって設定された周期情報に従って前記パトロール動作によるメモリのリード動作の間隔を制御する。
【００２５】
〔７〕項１のデータプロセッサ（ＤＰＵ２，ＤＰＵ３）は、例えば前記メモリを複数個有する。前記パトロール制御回路は、読出し動作の指示に応答して前記メモリが出力するエラー信号の論理和信号によって、当該メモリからエラーの有無を受取る。
【００２６】
〔８〕項７のデータプロセッサ（ＤＰＵ３）において、前記複数個のメモリは例えばバスブリッジ回路（１２００）で接続された異なるバスの夫々に接続されておいる。
【００２７】
〔９〕（ＣＰＵへの割り込み通知）
本発の別の観点によるデータプロセッサ（ＤＰＵ１〜ＤＰＵ３）は、プログラムを実行するＣＰＵと、前記ＣＰＵのアドレス空間に配置されデータの読み出しと書き込みが行われる単数又は複数のメモリと、前記ＣＰＵによって制御されるメモリパトロール回路とを有する。前記メモリは、書き込み動作において書き込みデータからエラー訂正コードを生成してデータと共に記憶し、読み出し動作において読み出したデータとエラー訂正コードを用いて読み出しデータに対する誤り訂正を行って出力する誤り検出及び訂正機能を備える。前記メモリパトロール回路は、前記ＣＰＵによって書き込み及び読み出し可能にされた記憶回路と、前記記憶回路を参照して前記メモリの読み出し制御を行うパトロール制御回路と、を有する。前記記憶回路は、前記ＣＰＵにより前記メモリの読み出し範囲がプログラマブルに指定される。前記パトロール制御回路は、前記ＣＰＵからパトロール動作の開始が指示されると、前記記憶回路に指定された前記メモリのアドレスに対して読出し動作を指示し、これによって当該メモリからエラーの有無を受取り、エラーがあったときは当該エラーに係るデータのアドレスを前記記憶回路に保持すると共に、当該エラーに係る割込みを前記ＣＰＵに要求する。
【００２８】
〔１０〕（書き戻し機能付きメモリ）本発明の更に別の観点によるデータプロセッサ（ＤＰＵ４，ＤＰＵ５）は、プログラムを実行するＣＰＵ（１）と、前記ＣＰＵのアドレス空間に配置されデータの読み出しと書き込みが行われる単数又は複数のメモリと、前記ＣＰＵによって制御されるメモリパトロール回路（４）とを有する。前記メモリ（１６００）は、書き込み動作において書き込みデータからエラー訂正コードを生成してデータと共に記憶し、読み出し動作において読み出したデータとエラー訂正コードを用いて読み出しデータに対する誤り訂正を行って出力する誤り検出及び訂正機能を備えたメモリ部（２）と、前記読み出しデータに対する誤り訂正を行ったとき当該訂正されたデータをメモリ部に書き戻す書き戻し制御部（１６０１）とを有する。前記メモリパトロール回路は、前記ＣＰＵによって書き込み及び読み出し可能にされた記憶回路と、前記記憶回路を参照して前記メモリの読み出し制御を行うパトロール制御回路と、を有する。前記記憶回路は、前記ＣＰＵにより前記メモリの読み出し範囲がプログラマブルに指定されると共に、ＣＰＵにより参照可能なエラーフラグ格納領域を有する。前記パトロール制御回路は、前記ＣＰＵからパトロール動作の開始が指示されると、前記記憶回路に指定された前記メモリのアドレスに対して読出し動作を指示し、これによって当該メモリからエラーの有無を受取り、エラーがあったときは当該エラーに係るデータのアドレスを前記記憶回路に保持すると共に、前記エラーフラグ格納領域にエラーフラグをセットする。
【００２９】
〔１１〕（パトロールイネーブル）項１０のデータプロセッサにおいて、例えば前記記憶回路はパトロールイネーブルビットを有し、ＣＰＵが前記パトロールイネーブルビットをセットすることにより前記パトロール動作が開始可能にされ、前記パトロール制御回路が前記パトロールイネーブルビットをリセットすることにより前記パトロール動作が停止可能にされる。
【００３０】
〔１２〕（パトロール周期の設定）項１０のデータプロセッサにおいて、例えば前記記憶回路は周期情報の記憶領域を有する。前記制御回路は、ＣＰＵによって設定された周期情報に従って前記パトロール動作によるメモリのリード動作の間隔を制御する。
【００３１】
〔１３〕項１０のデータプロセッサは例えば前記メモリを複数個有する。前記パトロール制御回路は、読出し動作の指示に応答して前記メモリが出力するエラー信号の論理和信号によって、当該メモリからエラーの有無を受取る。
【００３２】
〔１４〕項１３のデータプロセッサにおいて、例えば前記複数個のメモリはバスブリッジ回路で接続された異なるバスの夫々に接続されている。
【００３３】
２．実施の形態の詳細
実施の形態について更に詳述する。
【００３４】
図１には本発明に係るデータプロセッサが例示される。同図に示されるデータプロセッサＤＰＵ１は、例えば相補型ＭＯＳ集積回路製造技術によって単結晶シリコンのような1個の半導体基板に形成される。
【００３５】
データプロセッサＤＰＵ１は、プログラムをフェッチして実行する中央処理装置（ＣＰＵ）１、前記プログラムの保持や前記ＣＰＵのワーク領域などに用いられるメモリ（ＭＲＹ）２、メモリパトロール回路（ＭＲＹＰＴＲＬ）４、バスマスタ選択回路（ＢＭＳＬＣ）５、及び図示を省略する周辺回路やアクセラレータなどその他の回路ユニットを有する。
【００３６】
ＳＢＵＳは、コマンド及びアドレスバス（ＢＣＭＤ，ＡＤＲ）３０、リードデータバス（ＲＤＡＴ）３１、及びライトデータバス（ＷＤＡＴ）３２から成る、システムバスＳＢＵＳである。
【００３７】
ＣＰＵ１はプログラムに従ってメモリ２などをアクセスしてデータ処理を行なう。メモリパトロール回路４はＣＰＵ１による設定にしたがってメモリ２を読み出してエラー検出処理を行う。バスマスタ選択回路５はシステムバスＳＢＵＳのバスマスタとしてＣＰＵ１又はメモリパトロール回路４の選択を行う。
【００３８】
メモリ２はコマンド・アドレスバス３０からコマンド及びアドレス２０が供給されることによって動作され、書き込み動作では書き込みデータ２２が与えられる、読み出し動作では読み出しデータ２１を出力する。メモリ２はＥＣＣ機能を備え、書き込み動作では書き込みデータに基づいてエラーチェックコードを生成し、データと共にエラーチェックコードをメモリアレイに格納する。読み出し動作では、メモリアレイから読み出したエラーチェックコードを用いて読み出しデータの誤りを検出し、誤りがあればこれを訂正して読み出しデータ２１を出力する。誤り訂正は例えば1ビット誤りに対して有効とされ、２ビット以上の誤りに対して訂正機能を有しない。ＣＰＵ１からの読み出しアクセスに際して読み出しデータに誤りがあったときメモリ２はエラー信号２３をＣＰＵ１に返す。メモリパトロール回路４からの読み出しアクセスに際して読み出しデータに誤りがあったときメモリ２はエラー信号２４をメモリパトロール回路４に返す。メモリ２はコマンドに含まれるアクセス要求元ＩＤによってＣＰＵ１からのアクセスかメモリパトロール回路４からのアクセスかに応じて、エラー信号２３を出力すべきかエラー信号２４を出力すべきかを判別する。
【００３９】
ＣＰＵ１は、アクセスを行う場合、コマンド及びアドレス１０を出力し、リードアクセスの場合にはリードデータ１１を読み込み、ライトアクセスの場合にはライトデータ信号１２を出力する。メモリパトロール回路４がリードアクセスを行う場合、コマンド及びアドレス４０を出力する。バスマスタ選択回路５は、ＣＰＵ２が出力するコマンド及びアドレス１０かメモリパトロール回路４が出力するコマンド及びアドレス４０かのいずれかを選択してシステムバスＳＢＵＳのコマンドおよびアドレス３０に出力する。
【００４０】
ＣＰＵ１はメモリパトロール回路４が備えるレジスタをメモリ２と同様にリード・ライトアクセス可能である。即ち、ＣＰＵ１が出力するコマンド及びアドレス１０をコマンド及びアドレス５１としてメモリパトロール回路４が入力し、リードアクセスの場合にはメモリパトロール回路４はリードデータ５２を出力し、これをＣＰＵ１がリードデータ１１として読み込み、ライトアクセスの場合にはＣＰＵ１はライトデータ１２を出力し、これがライトデータ５３としてメモリパトロール回路４のレジスタに書き込まれる。
【００４１】
メモリパトロール回路４はレジスタとして、転送アドレスレジスタ（ＭＰＡＴＡＲ）４１、転送回数レジスタ（ＭＰＡＴＣＲ）４２、転送周期レジスタ（ＭＰＡＴＰＲ）４３、コントロールレジスタ（ＭＰＡＣＲ）４４、及びフラグレジスタ（ＭＰＡＦＲ）４５を持つ。これらのレジスタは前述の如くＣＰＵ１によって読み出しと書き込みを行うことができる。リード・ライト制御回路（ＲＤＷＲＣＮＴ）４６はシステムバスＳＢＵＳからレジスタ４１〜４５へのリードおよびライトの制御を行う。転送制御回路（ＴＲＣＭＤＣ）４７はメモリパトロールのためのアクセスコマンドの制御を行う。転送制御回路４７は、転送を開始するとコマンド４７０を出力し、コマンド４７０は転送アドレスレジスタ４１からのアドレス信号４１０と共にバスマスタ選択回路５に入力される。ＣＰＵ１によってシステムバスＳＢＵＳが使用中でなければバスマスタ選択回路５がメモリパトロール回路４からのコマンド４７０及びアドレス信号４１０を選択し、これによって、メモリ２の読み出しが行われる。読み出しが終わるとメモリパトロール回路４は１回の転送を完了する。メモリ２から読み出されたデータに誤りがあった場合、メモリ２はエラー信号２４をメモリパトロール回路４に出力する。エラー検出回路（ＥＲＲＤＴＣ）４８でエラーが検出されると、シーケンス制御回路（ＳＱＮＳＣＮＴ）５０がメモリパトロールの動作を中断して、フラグレジスタ４５にエラー発生を示すエラーフラグをセットし、転送アドレスレジスタ４１にはエラーを発生したアドレスを保持させ、割り込み発生回路４９にＣＰＵ１に信号５４でエラー割り込みを発生させる。エラー割り込みが発生されたＣＰＵ１は、例えば、メモリパトロール回路４の転送アドレスレジスタ４１をリードし、リードしたメモリアドレスを用いてメモリ２をリードし、リードしたデータをメモリに書き戻す操作を行う。即ち、ＣＰＵ１はメモリパトロール回路4によるメモリパトロールで１ビットエラーを生じたメモリデータをメモリ２から読み出し、読み出すときにメモリのエラー検出訂正機能によって訂正されて読み出されたデータが当該アドレスに書き戻す。これによって、メモリ２上で１ビットエラーが訂正される。ＣＰＵ１がメモリ２をアクセスした場合にエラーが発生した場合には、エラー信号２４とは別のエラー信号２３がＣＰＵ１に供給される。このエラー信号を受取ったとき、ＣＰＵ１は例えば上記信号２３の活性化に応答して上記同様の割り込み処理により当該エラーに係るメモリアドレスをリードし、リードデータを書き戻す処理を行なえばよい。
【００４２】
図２にはメモリパトロール回路４のレジスタ構成が例示される。
【００４３】
転送アドレスレジスタ（ＭＰＡＴＡＲ）４１は、例えば３２ビットのレジスタで、バイトを単位とするアドレス情報を保持する。転送アドレスレジスタ４１にはＣＰＵ１によって転送開始アドレスが設定され、メモリパトロール回路４によってメモリ２のリードが行われる度に、転送アドレスレジスタ４１の値は図示を省略する演算器によって次のアドレス値にインクリメントされる。
【００４４】
転送回数レジスタ（ＭＰＡＴＣＲ）４２は３２ビットのレジスタで、転送回数を保持する。ＣＰＵ１によって転送回数が設定され、メモリパトロール回路４によってメモリ２のリードが行われると、転送回数レジスタ４２の値は図示を省略するアドレス演算器によって値が１減少される。シーケンス制御回路５０は例えば転送回数レジスタ４２の値が０になるまでメモリパトロール動作を繰り返す。
【００４５】
転送周期レジスタ（ＭＰＡＴＰＲ）４３は１６ビットのレジスタであり、メモリパトロール回路４によるメモリ２のリード動作の間隔がＣＰＵ１によってシステムバスＳＢＵＳの同期クロックサイクル数で設定される。
【００４６】
コントロールレジスタ（ＭＰＡＣＲ）４４は８ビットのレジスタで、ビット０のＰＥ（パトロールイネーブル）はメモリパトロール動作を許可するか否かを示す制御ビットである。０はメモリパトロール動作を実行せず、１はメモリパトロール動作を実行することを指示する。ビット３のＩＥ（インタラプトイネーブル）は信号２４で検出されるエラーが発生した場合にＣＰＵ１に対するメモリパトロールエラー割り込みの発生を許可するか否かを示す制御ビットである。０は割り込みを発生せず、１は割り込みを発生することを指示する。ビット２のＥＩＥ（エンドインタラプトイネーブル）はパトロールが終了した場合にＣＰＵ１に対するメモリパトロール終了割り込みの発生を許可するか否かをしめす制御ビットである。０は割り込みを発生せず、１は割り込みを発生することを指示する。ビット５、４のＴＳ（トランスファサイズ）［１：０］は転送サイズ（リードデータのサイズ）を設定する。００はバイト（８ビット）、０１はワード（１６ビット）、１０はロングワード（３２ビット）、１１は予約である。ビット７、６、１は予約ビットで、書き込みは行えず、読み出すと常に０が読み出される。
【００４７】
フラグレジスタ（ＭＰＡＦＲ）４５は８ビットのレジスタで、ビット０のＴＥ（トランスファエンド）は転送終了フラグである。転送回数レジスタ（ＭＰＡＴＣＲ）４２の値が０になるとＴＥに１がセットされる。ビット１のＥＲＲはエラーフラグである。メモリパトロール回路４によるによるメモリ２の読み出しで信号２４によるエラーの発生が検出されると、ＥＲＲに１がセットされる。
【００４８】
信号２４により読出しエラーが通知された場合におけるメモリパトロール回路４の動作とＣＰＵ１のデータ処理動作との関係は以下の通りとされる。例えば、信号２４によって読み出しエラーが通知されたときメモリパトロール回路４がＣＰＵ1に割り込みを要求する場合には、シーケンス制御回路５０は割り込み要求と共にパトロールイネーブルＰＥをディスエーブルとし、メモリパトロール動作を中断する。この間にＣＰＵ１がエラーに係るメモリデータの読み出し及び書き戻しを行い、最後にパトロールイネーブルＰＥをイネーブルにセットして、メモリパトロール回路４のメモリパトロール動作を再開可能にする。
【００４９】
信号２４によって読み出しエラーが通知されたときメモリパトロール回路４がＣＰＵ1に割り込みを要求しない場合には、ＣＰＵ１は適宜のタイミングでエラーフラグＥＲＲを監視する処理を行なう。また、メモリパトロール回路４はエラーに係るアドレスを、図示を省略するＦＩＦＯメモリなどに逐次蓄積する処理を併せて行ない、メモリパトロール動作は中断しない。ポーリング等によってＣＰＵ１がエラーフラグＥＲＲのセット状態を検出することにより、図示を省略するＦＩＦＯメモリが保持するエラーに係るメモリアドレスを用いて、メモリデータの読み出し及び書き戻しを行って、エラーに係るデータのリカバリを行う。
【００５０】
図３にメモリパトロール回路４によるメモリパトロール動作の処理フローが例示される。リセットによりレジスタ４１〜４５の初期化が行われる（１０００）。コントロールレジスタ４４とフラグレジスタ４５は全ビット０にされる。リセットが解除されると、メモリパトロール条件の検出が行われる（１００１）。パトロール条件ＥＸＥは図の式に従って演算される。記号“＆”は論理積である。その条件によれば、コントロールレジスタのＰＥ＝１、且つフラグレジスタのＴＥ＝０、且つフラグレジスタのＥＲＲ＝０、且つカウンタＣＮＴ≧ＭＰＡＴＰＲにより、ＥＸＥ＝１となる。前記カウンタＣＮＴはリセットおよびメモリパトロールにおける転送開始で０にリセットされ、その他の場合はシステムバスクロックの周期毎に値１を加算していく。ここではカウンタＣＮＴは便宜上、シーケンス制御回路５０が備える。
【００５１】
ステップ１００２の判別でパトロール条件ＥＸＥ＝１が検出されなければパトロール条件検出動作（１００１）に戻り、パトロール条件ＥＸＥ＝１が検出されると次のステップ１００３に進む。ステップ１００３ではカウンタＣＮＴを０にクリアし、メモリ２のリードを実行する。メモリリードの結果、信号２４に基づいてエラー判定が行われ（１００４）、エラーが発生した場合にはステップ１００５に進み、発生しなかった場合にはステップ１００８に進む。
【００５２】
ステップ１００５では、フラグレジスタＭＰＡＦＲのＥＲＲが１にセットされる。次に、コントロールレジスタのＩＥが１の場合はＣＰＵ１に信号５４にてエラー割り込みが発生され(１００７)、０の場合は発生されずにステップ１００１に戻る。
【００５３】
ステップ１００８ではレジスタ更新操作が行われる。転送アドレスレジスタ（ＭＰＡＴＡＲ）にコントロールレジスタ（ＭＰＡＣＲ）のＴＳに設定された転送サイズに対応した値が加算される。バイトの場合は１、ワードの場合は２、ロングワードの場合は４となる。転送回数レジスタ（ＭＰＡＴＣＲ）は値を１つ減らす。次の判定処理１００９では転送回数レジスタ（ＭＰＡＴＣＲ）の値が０かどうかの判定が行われ、０でなければステップ１００１に戻る。０の場合は、フラグレジスタ（ＭＰＡＦＲ)のＴＥを１にセットする（１０１０）。次の判定処理１０１１で、コントロールレジスタのＥＩＥが１の場合は信号５５によってメモリパトロールの終了割り込みを発生させ（１０１２）、０の場合は発生させずにステップ１００１に戻る。
【００５４】
図４には本発明に係るデータプロセッサの第２の実施の形態が示される。図４のデータプロセッサＤＰＵ２は、図１のデータプロセッサＤＰＵ１に対して、メモリ９を追加し、論理回路（ＯＲＬＧＣ）１１００を追加した点が相違され、その他の点は図１と同様であり、その詳細な説明は省略する。
【００５５】
メモリ９もメモリ２と同様にエラー検出機能と１ビットのエラー訂正機能を備える。メモリ９にはコマンド及びアドレスバス３０からコマンド及びアドレス信号９０が供給され、ライトデータバス３２からライトデータ９２が供給され、リードデータ９１はリードバス３１に出力される。ＣＰＵ１とメモリパトロール回路４はメモリ２と同様にメモリ９のアクセスも可能である。ＣＰＵ１からのリードアクセスにおいてメモリ９がリードデータに対するエラーを検出すると、エラー信号９３をＣＰＵ１に出力し、メモリパトロール回路４からのリードアクセスにおいてメモリ９がリードデータに対するエラーを検出すると、エラー信号９４を出力する。エラー信号９３はメモリ２からのエラー信号２３に対応され、エラー信号９４はメモリ２からのエラー信号２４に対応される。エラー信号９４とエラー信号２４は論理回路１１００で論理和が採られ、これによる論理和信号１１０１がエラー検出回路４８に供給され、これによってメモリパトロール回路４はメモリ２，９に対するリードアクセスに伴ってデータエラーが生じたことを検出することができる。
【００５６】
この例によれば、メモリパトロール回路４はＣＰＵ１からの設定に従って２個のメモリ２，９に対してメモリパトロール動作を行うことができる。１個のメモリパトロール回路４がメモリパトロールの対象とするメモリの数は２個に限定されず、３個以上であっても同じである。ＣＰＵ１は夫々のメモリからエラー信号を入力し、論理回路はそれぞれのメモリからエラー信号を入力すればよい。
【００５７】
図５には本発明に係るデータプロセッサの第３の実施の形態が示される。図５のデータプロセッサＤＰＵ３は、図４のデータプロセッサＤＰＵ２に対して、システムバスＳＢＵＳにバスブリッジ回路（ＢＲＤＧ）１２００を介して接続されたローカルバスＬＢＵＳを有し、メモリ９に代えてローカルバスＬＢＵＳにメモリ１３００を追加した点が相違され、その他の点は図１、図４と同様であり、その詳細な説明は省略する。
【００５８】
ローカルバスＬＢＵＳはコマンド及びアドレスバス（ＢＣＭＤ・ＡＤＲ）１４００、リードデータバス（ＲＤＡＴ）１４０１、ライトデータバス（ＷＤＡＴ）１４０２を有し、ブリッジ回路１２００は、システムバスＳＢＵＳから供給されるコマンド及びアドレス信号１２０１、ライトデータ１２０３をローカルバスＬＢＵＳにコマンド及びアドレス信号１２０４、ライトデータ１２０６として伝達し、ローカルバスＬＢＵＳから供給されるリードデータ１２０５をシステムバスＳＢＵＳにリードデータ１２０２として供給する。
【００５９】
メモリ１３００もメモリ２と同様にエラー検出機能と１ビットのエラー訂正機能を備える。メモリ１３００にはコマンド及びアドレスバス１４００からコマンド及びアドレス信号１３０１が供給され、ライトデータバス１４０２からライトデータ１３０３が供給され、リードデータ１３０２はリードバス１４０１に出力される。ＣＰＵ１とメモリパトロール回路４はメモリ２と同様にメモリ１３００のアクセスも可能である。ＣＰＵ１からのリードアクセスにおいてメモリ１３００がリードデータに対するエラーを検出すると、エラー信号１３０３をＣＰＵ１に出力し、メモリパトロール回路４からのリードアクセスにおいてメモリ１３００がリードデータに対するエラーを検出すると、エラー信号１３０４を出力する。エラー信号１３０３はメモリ２からのエラー信号２３に対応され、エラー信号１３０４はメモリ２からのエラー信号２４に対応される。エラー信号１３０４とエラー信号１３０４は論理回路１１００で論理和が採られ、これによる論理和信号１１０１がエラー検出回路４８に供給され、これによってメモリパトロール回路４はメモリ２，１３００に対するリードアクセスに伴ってデータエラーが生じたことを検出することができる。
【００６０】
この例によれば、メモリパトロール回路４はＣＰＵ１からの設定に従ってバスブリッジ回路１２００を挟んだ別々のバスに結合される２個のメモリ２，１３００に対してメモリパトロール動作を行うことができる。１個のメモリパトロール回路４がメモリパトロールの対象とする各バスＳＢＵＳ，ＬＢＵＳに接続するメモリの数はそれぞれ１個に限定されず、夫々のバスにおいて２個以上であっても同じである。ＣＰＵ１は夫々のメモリからエラー信号を入力し、論理回路はそれぞれのメモリからエラー信号を入力すればよい。
【００６１】
図６には本発明に係るデータプロセッサの第４の実施の形態が示される。図６のデータプロセッサＤＰＵ４は、図１のデータプロセッサＤＰＵ１に対して、誤りデータの書換え機能を持つメモリ（ＭＲＹＣＲ）１６００を採用した点が相違される。以下その相違点について詳細に説明する。
【００６２】
メモリ１６００は、メモリ部としてのメモリ(ＭＲＹ)２００と共に、バスＳＢＵＳとメモリ２の間に配置された誤りデータの書き換え制御を行う書き戻し制御部（ＣＲＣＴ）１６０１を持つ。誤りデータの書き戻し制御部１６０１は、アドレスバッファ（ＡＢＵＦ）１７００、アドレス選択回路（ＡＤＲＳＬＣ）７、データバッファ(ＤＢＵＦ)１８００、ライトデータ選択回路（ＷＤＳＬＣ）８を有する。
【００６３】
コマンドおよびアドレスによってメモリ１６００のリードアクセスが指示されると、コマンド及びアドレスバス３０から供給されるコマンド及びアドレス２０をアドレスバッファ１７００が記憶すると共に、アドレス選択回路７がコマンド及びアドレス２０を信号７１としてメモリ２に供給し、これによってメモリ２はメモリアレイからそのアドレスに対応するデータとエラーチェックコードを読み出し、それを用いてエラーチェックを行う。エラーがなければリードデータをそのまま、１ビットエラーがあればその誤りを訂正し他データを、リードデータ２１としてリードデータバス３１に出力する。リードデータ２はデータバッファ１８００にも供給されて保持される。ＣＰＵ１からのリードアクセスにおいてメモリ２のリードデータに１ビットエラーが検出されるとエラー信号２３が出力され、メモリパトロール回路４からのリードアクセスにおいてメモリ２のリードデータに１ビットエラーが検出されるとエラー信号２４が出力される。エラー信号２３又は２４が出力されたとき、信号２５が出力されて、データバッファ１８００が保持しているデータをライトデータ選択回路８に選択させ、且つ、アドレスバッファ１７００が保持しているコマンド及びアドレスをアドレス選択回路８に選択させる。これにより、リードデータのエラーが訂正されてデータバッファ１８００に保持されていたデータが、メモリ２の対応するアドレスに書き戻される。このようにしてメモリ１６００における誤りデータの書換え機能が実現される。
【００６４】
コマンドおよびアドレスによってメモリ１６００のライトアクセスが指示されると、コマンド及びアドレスバス３０から供給されるコマンド及びアドレス２０をアドレス選択回路７が信号７１としてメモリ２に供給し、ライトデータバス３２から供給されるライトデータ２２をライトデータ選択回路８がライトデータ８１としてメモリ２に拒給することにより、メモリに対する書き込みが行われる。メモリパトロール回路４は図１と同様に構成される。
【００６５】
これによりメモリ２のリードデータに誤りがあったときＣＰＵ１の割り込み処理で誤り訂正データをメモリ２の対応アドレスに書き戻す処理を行なうことを要しない。誤りデータの書き換え回路（ＣＲＣＴ）１６０１はメモリ２と密結合されるが、誤りデータの書換え機能を持つ複数のメモリ（ＭＲＹＣＲ）１６００に対するメモリパトロール制御に一つのメモリパトロール回路４を配置すれば済む。
【００６６】
図７には本発明に係るデータプロセッサの第５の実施の形態が示される。図７のデータプロセッサＤＰＵ５は、図５のデータプロセッサＤＰＵ１におけるメモリ２を図６の誤りデータの書換え機能を持つ複数のメモリ（ＭＲＹＣＲ）１６００に置き換えた点が相違される。その他の構成は図５及び図６と同様であるからその詳細な説明は省略する。この構成の場合もＣＰＵ１とメモリパトロール回路４は、メモリ１６００とメモリ１３００をアクセスすることができ、複数のメモリのエラー信号をメモリパトロール回路４に供給することができる。
【００６７】
図８は本発明に係るデータプロセッサを適用した例として自動車電子制御装置を示す。自動車１５００において、エンジン１５０１を電子制御する制御装置１５０２内に参照符号１５０３で示される本発明を適用したデータプロセッサが搭載される。データプロセッサ１５０３は前記データプロセッサＤＰＵ１〜ＤＰＵ５の何れであってもよい。
【００６８】
上述のように、本発明に係るデータプロセッサＤＰＵ１〜ＤＰＵ５によれば、データプロセッサが内蔵するエラー検出訂正機能を有するメモリ（ＥＣＣメモリ）２のデータエラーをＣＰＵ１とは別にメモリパトロール回路４で検出し、ＣＰＵ１がメモリパトロール回路４からエラーが発生したアドレスを読み出すことによってメモリ２のエラーを訂正することができる。
【００６９】
メモリパトロール回路４はＥＣＣメモリ２と密に結合せず、ＣＰＵ１がメモリアクセスを行うバスに接続して使用されるため、パトロール対象のメモリが複数の場合にも１つのメモリパトロール回路４で対応することができる。
【００７０】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００７１】
例えば、メモリのエラーに対するデータ書き戻し操作をＣＰＵが行う場合、その処理の開始は割り込みまたはポーリングに限定されず、予め決まったタイミングで定期的に行うようにしてもよい。また、その処理の開始は割り込みまたはポーリングの何れか一方のみに限定してもよい。データプロセッサはマルチＣＰＵの構成であってもよい。データリカバリは特定の一つ、又は、そのとき負荷が最も小さいＣＰＵが行えばよい。
【符号の説明】
【００７２】
ＤＰＵ１  データプロセッサ
１  中央処理装置（ＣＰＵ）
２  メモリ（ＭＲＹ）
４  メモリパトロール回路（ＭＲＹＰＴＲＬ）
ＳＢＵＳ  システムバス
３０  アドレスバス（ＢＣＭＤ，ＡＤＲ）
３１  リードデータバス（ＲＤＡＴ）
３２  ライトデータバス（ＷＤＡＴ）
４１  転送アドレスレジスタ（ＭＰＡＴＡＲ）
４２  転送回数レジスタ（ＭＰＡＴＣＲ）
４３  転送周期レジスタ（ＭＰＡＴＰＲ）
４４  コントロールレジスタ（ＭＰＡＣＲ）
４５  フラグレジスタ（ＭＰＡＦＲ）
４６  リード・ライト制御回路（ＲＤＷＲＣＮＴ）
４７  転送制御回路（ＴＲＣＭＤＣ）
４８  エラー検出回路（ＥＲＲＤＴＣ）
５０  シーケンス制御回路（ＳＱＮＳＣＮＴ）
ＰＥ  パトロールイネーブル
ＩＥ  インタラプトイネーブル
ＥＩＥ  エンドインタラプトイネーブル
ＴＳ  トランスファサイズ
ＴＥ  トランスファエンド
ＥＲＲ  エラーフラグ
ＤＰＵ２  データプロセッサ
１１００  論理回路（ＯＲＬＧＣ）
９  メモリ
９３  エラー信号
９４  エラー信号
ＤＰＵ３  データプロセッサ
ＬＢＵＳ  ローカルバス
１３００  メモリ
１２００  ブリッジ回路
１３０３  エラー信号
１３０４  エラー信号
ＤＰＵ４  データプロセッサ
１６００  メモリ
１６０１  書き戻し制御部（ＣＲＣＴ）
１７００  アドレスバッファ（ＡＢＵＦ）
７  アドレス選択回路（ＡＤＲＳＬＣ）
１８００  データバッファ(ＤＢＵＦ)
８  ライトデータ選択回路（ＷＤＳＬＣ）
ＤＰＵ５  データプロセッサ
１５００  自動車
１５０２  電子制御装置
１５０３  データプロセッサ
【図１】
2010181990.tif 000003
【図２】
2010181990.tif 000004
【図３】
2010181990.tif 000005
【図４】
2010181990.tif 000006
【図５】
2010181990.tif 000007
【図６】
2010181990.tif 000008
【図７】
2010181990.tif 000009
【図８】
2010181990.tif 000010