(57)【特許請求の範囲】
【請求項１】
連続したアドレスのデータを転送するウェイト信号の挿入不可能なバースト転送用の外部バスインタフェースを有するＣＰＵと、ＤＭＡ実行可能なデバイスと、主記憶部と、前記主記憶部のデータの誤り検出訂正を行うＥＣＣ実行部と、前記ＥＣＣ実行部およびＣＰＵおよびＤＭＡデバイスからの主記憶部アクセスアドレスを受け前記主記憶部に対しアクセスするアドレスを出力するアドレス生成部と、前記主記憶部へのアクセスと主記憶部内データの誤り訂正制御を行う制御部と、を備えたコンピュータシステムで、ＣＰＵを介在なしにメモリデータの誤りを訂正する方法において、前記ＥＣＣ実行部が主記憶部からの読み出しデータの誤りを検出したとき、上記ＥＣＣ実行部から誤り検出信号を受けて前記ＣＰＵへバス使用権を要求し、上記アドレス生成部より誤りの発生したアドレスと下位の固定長ビットのみが異なるアドレスのデータの読み出し、前記ＥＣＣ実行部より訂正されたデータを再び主記憶に書き戻す制御を行うように前記制御部を動作させることを特徴とするメモリデータ誤り訂正方法。
【請求項２】
連続したアドレスのデータを転送するウェイト信号の挿入不可能なバースト転送用の外部バスインタフェースを有するＣＰＵと、ＤＭＡ実行可能なデバイスと、主記憶部と、前記主記憶部のデータの誤り検出訂正を行うＥＣＣ実行部と、前記ＥＣＣ実行部およびＣＰＵおよびＤＭＡデバイスからの主記憶部アクセスアドレスを受け前記主記憶部に対しアクセスするアドレスを出力するアドレス生成部と、前記主記憶部へのアクセスと主記憶部内データの誤り訂正制御を行う制御部とを備えたコンピュータシステムで、ＣＰＵを介在なしにメモリデータの誤りを訂正する方法において、前記ＥＣＣ実行部が主記憶部からの読み出しデータの誤りを検出したとき、ＣＰＵクロック停止とＤＭＡ実行可能なデバイスの主記憶へのＤＭＡを禁止し、誤りの発生したアドレスと下位の固定長ビットのみが異なるアドレスのデータをアドレス生成部によって主記憶部から読み出し、前記データの訂正されたデータを主記憶に書き戻し、前記ＣＰＵへのクロックの供給と上記ＤＭＡ実行可能なデバイスの主記憶部へのＤＭＡを許可するように前記制御部を動作させることことを特徴とするメモリデータ誤り訂正方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、計算機システムにおける主記憶部のアクセスに係り、特に主記憶部をＥＣＣ実行により高信頼に保ちつつ高速アクセス可能とにするメモリデータ誤り訂正方法に関する。
【０００２】
【従来の技術】
ＣＰＵの中には主記憶部への高速アクセスを狙いとして、内部に主記憶内容の一部を格納するキャッシュメモリを有するものがある。このようなＣＰＵにおいては、キャッシュメモリにミスヒットした場合、アクセスデータのアドレスと下位の固定長ビットのみアドレスが異なるデータを連続して主記憶部から読み出し、キャッシュメモリに格納し、キャッシュメモリの内容を更新する。この際、ライトバックキャッシュメモリの場合は、キャッシュメモリの更新される部分に格納されていたデータを、キャッシュメモリの更新前に主記憶部に書き戻す。この際の主記憶部へのアクセスも、主記憶部へのアクセスデータと下位の固定ビットのみ異なるデータも連続した書き込みである。
【０００３】
このような、アクセスデータのアドレスと下位の固定長ビットのみアドレスが異なるデータを連続してアクセスする事をバーストアクセスという。リードはバーストリード、ライトはバーストライトという。
【０００４】
メモリ素子の中には、連続したアドレスへのアクセスの高速化を目的とし、バーストアクセス可能なものがある。最近のＣＰＵでは、キャッシュメモリの内容の更新を高速化する目的として、上記メモリ素子に対応した、バースト転送用の外部バスＩ／Ｆを備えるものがある。
【０００５】
通常の外部バスＩ／Ｆでは、ウェイト信号により、外部で１つのバスサイクルの長さを制御できるが、メモリ素子のバーストアクセスには対応しておらず、キャッシュメモリの内容を更新する際は、１つのバスサイクルを繰り返し行うことによって対応する。バースト転送用の外部バスＩ／Ｆは、１つのバスサイクルでバーストアクセスを完了することができ、通常のバスＩ／Ｆよりも高速に、キャッシュメモリの内容を更新することができる。
一般的にＣＰＵのバースト転送用の外部バスＩ／Ｆは、バスサイクルの長さが固定であり、ウェイト信号により、外部から１つのバスサイクルの長さを制御することはできない。
【０００６】
また、半導体の分野では、微細化技術が著しく進展している。各種メモリ素子では、この微細化技術の進展によりメモリ素子１個あたりの記憶容量が増大する反面、記憶セル１個の占める体積の縮小による蓄積電荷量の減少や、微小欠陥の発生確率の高まり、動作の高速化に伴う電気的なノイズの印加等の外部要因により、データ中のエラービットの発生確率が高くなる。メモリ装置に於けるデータの信頼性向上の方法としては、ＥＣＣ（ｅｒｒｏｒ  ｃｈｅｃｋ  ａｎｄ  ｃｏｒｒｅｃｔ  ｍｅｍｏｒｙ）機構が知られている。
【０００７】
ＥＣＣ機構では、拡張ハミングコードを用いてデータビットよりチェックビットを生成し、データビットとチェックビットをメモリ装置に書き込み、読み出し時にはメモリ装置から読み出したデータビットとチェックビットよりシンドロームを生成し、このシンドロームより１ビットの誤り訂正及び２ビットの誤り検出を行う。
【０００８】
従来技術について、図１３〜図１９により説明する。
【０００９】
図１３は、従来の技術である特開平１０−０８３３５７“データ記憶制御方式及び装置”の全体概略図である。１０１はＣＰＵ、１０２はＤＭＡ（ｄｉｒｅｃｔ  ｍｅｍｏｒｙ  ａｃｃｅｓｓ）実行可能なデバイス、１０３はＥＣＣ実行部であり、１０４はアドレス保持部で、ＥＣＣ実行部３により主記憶データ読み出し時に１ビットエラーが検出された際に、１ビットエラーを含むデータのアドレスを保持する。制御部１０５の、１０５ａは割込み情報保持部でＥＣＣ実行部１０３により主記憶データ読み出し時に１ビットエラーが検出された際にセットされる。１０５ｂはＤＭＡ制御情報保持部で、１０５ｂがセットされると主記憶１０６へのＤＭＡデバイス２のアクセスが禁止される。
【００１０】
１０５は制御部で、主記憶１０６へのアクセス及びＥＣＣ実行部１０３及びアドレス保持部１０４を制御し、割込み保持部１０５ａがセットされた際に、制御線１０７に含まれる割込み要求線を介してＣＰＵ１０１に割込み要求をする。１０８はアドレスバス、１０９はデータバス、１１０はメモリ制御線、１１１はメモリアドレスバス、１１２はメモリデータバスである。
１１３はシステム制御線で、制御部１０５はシステム制御線を介してＥＣＣ実行部１０３及びアドレス保持部１０４を制御する。１１４は１ビットエラー報告線で、ＥＣＣ実行部１０３は１ビットエラー検出時に１ビットエラー報告線を介して制御部１０５に報告を行う。
【００１１】
図１４〜１７は、前記従来技術における、主記憶の１ビットエラーがあるデータの訂正方法を示している。
【００１２】
図１４は、ＣＰＵ１０１の主記憶部１０６への読み出しアクセスにおいて、主記憶１０６からの読み出しデータに１ビットエラーがある場合の動作を表している。ＥＣＣ実行部１０３で主記憶部１０６からの読み出しデータに１ビットエラーが検出され、制御部１０５に１ビットエラー報告線１１４を介しての１ビットエラーの報告、割込み情報保持部１０５ａのセット及び制御部１０５からの制御線１０７の中の割込み要求線を介してのＣＰＵ１０１への割込み要求の動作が加わる。ＣＰＵ１０１には、ＥＣＣ実行部１０３によりエラー訂正後のデータが送られる。
【００１３】
図１５は、前記従来技術での割込み処理ルーチンにおける主記憶１０６の内容訂正の動作フローチャートである。主記憶１０６の１ビットエラーの発生したアドレスからＣＰＵ１０１が読み出しを行い、ＥＣＣ実行部１０３により訂正されたデータを主記憶１０６に書き戻して、主記憶１０６の内容を訂正する。読み出しと書き戻しの間に、主記憶１０６の１ビットエラーの発生したアドレスに新たにデータが書き込まれた場合、主記憶１０６への訂正データ書き戻しにより主記憶内容が古いデータに戻される恐れがあるため、読み出しと書き戻しの前後でＤＭＡ制御情報部をセットし、ＤＭＡを禁止し（ステップ１５１）、ＣＰＵ１０１を割込み禁止状態（ステップ１５２）にすることにより１ビットエラー発生アドレスへの新たなデータの書き込みを禁止する。
【００１４】
バースト転送では１ビットエラーが複数回発生する可能性があるため、１ビットエラー発生アドレスからの読み出し（ステップ１５３）と訂正データの書き戻しをバーストで行う（ステップ１５４、１５５）。
【００１５】
図１６は、アドレス保持部１０４からの１ビットエラー発生アドレスの読み出し（ステップ１５４）動作を、図１７は主記憶１０６への訂正データ書き戻し（ステップ１５５）を示している。そのあとは割り込み情報保持部をクリアし、割り込み要求を解除し（ステップ１５６）、ＣＰＵを割り込み許可状態にする（ステップ１５７）、そしてＤＭＡ制御情報保持部をクリアし、ＤＭＡも許可状態にする（ステップ１５８）。
【００１６】
前記従来技術では、ＣＰＵの割込み処理のプログラムで主記憶に格納された誤りデータの訂正を行っているため、割込みとＤＭＡの禁止時間が長くなる共に、ＣＰＵが本来の処理にかけることが出来る時間が短くなる。このため、通信と誤りデータの訂正が重なった場合のＤＭＡ禁止による通信データの取りこぼし、誤りデータの訂正後の、ＣＰＵの制御周期の乱れ等が発生するという問題がある。
【００１７】
図１８は、前記従来技術での誤り訂正方式を実施している最中に通信回線６２からのデータ受信が行われたと仮定した場合の処理のタイミングチャートである。図１５で示したフローチャートの実施に、１００ＭＨｚ動作のＣＰＵで約５μｓ要する場合、受信ＦＩＦＯ６４から主記憶５へのＤＭＡも約５μｓ禁止される。受信ＦＩＦＯ６４の容量が３２バイト（２５６ビット）で、通信回線６２から１００Ｍｂｐｓのスピードでデータを受信している場合、２．５μｓで受信ＦＩＦＯはオーバーフローするため、前記従来技術で誤り訂正方式の実施と通信の受信が重なった場合、通信の受信データの取りこぼしが発生する。
【００１８】
図１８では通信の受信の場合を示したが、通信の送信の場合も同様に障害が発生する。図１９（Ａ）は通常時モータ制御の場合、図１９（Ｂ）は従来方式の誤り訂正を行った場合である。
【００１９】
【発明が解決しようとする課題】
従来、主記憶部に対してＥＣＣ機構を実行する場合、ＣＰＵの通常の外部バスＩ／Ｆを使用していた。主記憶の読みだしアクセス時にＥＣＣ機構により１ビットエラーが検出された場合、ＣＰＵには、ＥＣＣ機構により訂正されたデータが送られると共に、主記憶には訂正後のデータが書き込まれ、主記憶の内容が訂正される。この際、エラーが検出されない場合の読み出しアクセスよりも、主記憶の書き込みの時間だけバスサイクルが長くなるが、ウェイト信号によってバスサイクルの長さが制御される。
【００２０】
ＣＰＵのバースト転送用Ｉ／Ｆを使用してＥＣＣ機構を実施した場合、通常のバスＩ／Ｆを使用した場合よりも高速にキャッシュの内容の更新を行うことができる。しかし、主記憶の読み出しアクセス時にＥＣＣ機構により１ビットエラーが検出された場合、ＣＰＵには、ＥＣＣ機構により訂正されたデータが送られるが、バースト転送用Ｉ／Ｆはバスサイクルの長さが固定であるため、主記憶に訂正データを書き込んで主記憶の内容を訂正することができない。主記憶のデータを、１ビットの誤りを含んだままにしておくと訂正不可能な２ビットエラーが発生する確率が高くなり、主記憶の信頼性が低くなる。
【００２１】
ＣＰＵのウェイト挿入不可能なバースト転送用Ｉ／Ｆを使用してＥＣＣ機構を実現し、ＥＣＣ機構により１ビットエラーが検出された場合に、主記憶の内容を訂正するエラー訂正方式を提供する発明としては、前記従来技術（データ記憶制御方式及び装置）がある。これは、１ビットエラーが発生した場合、エラーが発生した主記憶のアドレスを保持しておき、ＣＰＵへ割込みを発生させ、ＣＰＵの割込み処理で主記憶からエラーが発生したアドレスと下位の固定長ビットのみアドレスの異なるデータを読み出し、読み出したデータを再び主記憶に書き戻すことにより主記憶に格納された誤りデータを訂正している。
【００２２】
前記従来技術では、誤りデータの訂正の際に、古いデータの新しいデータへの上書きを防ぐため、ＣＰＵの読み出しと書き込みの間は割込みとＤＭＡを禁止し、読み出しをおこなった主記憶へのアドレスへの新規データの書き込みが行なわれないようにしている。
【００２３】
また、上記した特開平１０−８３３５７号公報記載のものでは、ＣＰＵの割込み処理のプログラムで主記憶に格納された誤りデータの訂正をおこなっているため、割込みとＤＭＡの禁止時間が長くなる共に、ＣＰＵが本来の処理にかけることが出来る時間が短くなる。このため、通信と誤りデータの訂正が重なった場合のＤＭＡ禁止による通信データの取りこぼし、誤りデータ訂正後の、ＣＰＵの制御周期の乱れ、等が発生するという問題がある。
【００２４】
本発明の目的は、ＣＰＵのバースト転送用Ｉ／Ｆを使用してＥＣＣ機構を実現し、キャッシュメモリの内容の更新を高速に行うと共に、ＥＣＣ機構により１ビットエラーが検出された場合に、ＣＰＵの介在無しに、高速に主記憶部の内容を訂正するエラー訂正方法を提供することである。
【００２５】
【課題を解決するための手段】
上記目的を達成するため、本発明は次のように構成したコンピュータシステムにおいて、ＣＰＵの介在なしに主記憶部の誤りデータの内容を訂正するメモリデータ誤り訂正方法としている。
【００２６】
本発明のメモリデータ誤り訂正方法は、連続したアドレスのデータを転送するウェイト信号の挿入不可能なバースト転送用の外部バスインタフェースを有するＣＰＵと、ＤＭＡ実行可能なデバイスと、主記憶部と、前記主記憶部のデータの誤り検出訂正を行うＥＣＣ実行部と、前記ＥＣＣ実行部およびＣＰＵおよびＤＭＡデバイスからの主記憶部アクセスアドレスを受け前記主記憶部に対しアクセスするアドレスを出力するアドレス生成部と、前記主記憶部へのアクセスと主記憶部内データの誤り訂正制御を行う制御部と、を備えたコンピュータシステムで、ＣＰＵを介在なしにメモリデータの誤りを訂正する際に、前記ＥＣＣ実行部が主記憶部からの読み出しデータの誤りを検出したとき、上記ＥＣＣ実行部から誤り検出信号を受けて前記ＣＰＵへバス使用権を要求し、上記アドレス生成部より誤りの発生したアドレスと下位の固定長ビットのみが異なるアドレスのデータの読み出し、前記ＥＣＣ実行部より訂正されたデータを再び主記憶に書き戻す制御を行うように前記制御部を動作させることを特徴とする。
【００２７】
また、本発明のメモリデータ誤り訂正方法は、連続したアドレスのデータを転送するウェイト信号の挿入不可能なバースト転送用の外部バスインタフェースを有するＣＰＵと、ＤＭＡ実行可能なデバイスと、主記憶部と、前記主記憶部のデータの誤り検出訂正を行うＥＣＣ実行部と、前記ＥＣＣ実行部およびＣＰＵおよびＤＭＡデバイスからの主記憶部アクセスアドレスを受け前記主記憶部に対しアクセスするアドレスを出力するアドレス生成部と、前記主記憶部へのアクセスと主記憶部内データの誤り訂正制御を行う制御部とを備えたコンピュータシステムで、ＣＰＵを介在なしにメモリデータの誤りを訂正する際に、前記ＥＣＣ実行部が主記憶部からの読み出しデータの誤りを検出したとき、ＣＰＵクロック停止とＤＭＡ実行可能なデバイスの主記憶へのＤＭＡを禁止し、誤りの発生したアドレスと下位の固定長ビットのみが異なるアドレスのデータをアドレス生成部によって主記憶部から読み出し、前記データの訂正されたデータを主記憶に書き戻し、前記ＣＰＵへのクロックの供給と上記ＤＭＡ実行可能なデバイスの主記憶部へのＤＭＡを許可するように前記制御部を動作させることを特徴とする。
【００２８】
【発明の実施の形態】
以下、本発明の実施の形態を、図面を用いて説明する。図１は本発明の一実施例であるメモリ誤り訂正方式の全体概略図である。１は連続したアドレスのデータを転送するバースト転送用の外部バスインタフェースを有するＣＰＵで、２はＣＰＵ１とＤＭＡ実行可能なデバイス６の主記憶部５へのアクセスと、主記憶部内データの誤り訂正の制御を司る制御部である。３はアドレス生成部でＣＰＵ１及びＤＭＡデバイス６からの主記憶アクセスアドレスを受けて、主記憶部５に対しアクセスするアドレスをアドレスバス１１に出力する。４はＥＣＣ実行部で主記憶部データの誤り検出訂正を行い、１ビットエラー検出時は訂正データをＣＰＵ１またはＤＭＡデバイス６に送り、１ビットエラー検出線１４を介して制御部２に報告を行う。
【００２９】
７はＣＰＵアドレスバスでＣＰＵ１，制御部２，アドレス生成部３，ＤＭＡデバイス６が接続される。８はＣＰＵデータバスで、ＣＰＵ１，ＥＣＣ実行部４，ＤＭＡデバイス６が接続される。９はＣＰＵ制御バスで、ＣＰＵ１，制御部２，ＤＭＡデバイス６が接続される。１０はメモリ制御バスでＣＰＵアドレスバス７，ＣＰＵ制御バス９上の情報を受けて制御部２が主記憶５を制御するために用いる。１１はメモリアドレスバスでＣＰＵ１やＤＭＡデバイス６の主記憶５アクセス時や、主記憶５に格納された誤りデータの訂正を行う際にアドレス生成部３から主記憶５に対しアクセスアドレスが出力される。１２はメモリデータバスで、ＥＣＣ実行部４と主記憶部５の間の、データの授受に用いられる。１３は制御線で、制御部２がアドレス生成部３，ＥＣＣ実行部４を制御する際に使用する。
【００３０】
図２は、図１におけるＣＰＵ制御バス９の内部構成を表す図である。ＣＰＵ制御バスはクロック供給線９１，バス要求線９２，バス許可線９３，ＣＰＵ制御線９４から構成されている。
【００３１】
図３は本発明においてＤＭＡデバイス６が通信回線６２のための、通信インタフェース（Ｉ／Ｆ）６１をもっている場合の全体概略図である。図４は通信インタフェースを持つＤＭＡデバイス６の内部を示す図である。通信インタフェース６１内部には、送信ＦＩＦＯレジスタ６３と受信ＦＩＦＯレジスタ６４が有り、主記憶部５と通信回線６２との間の、データのやり取りを行う際のバッファとしての役割を果たしている。送信ＦＩＦＯレジスタ６３、受信ＦＩＦＯレジスタ６４と主記憶部５はＤＭＡによりＣＰＵデータバス８を介してデータの転送を行う。
【００３２】
図５は本発明においてＣＰＵ１がシステムバスインタフェース１５、システムバス１６を経由してモータ制御基板１７Ａ〜１７Ｌによりモータ１８Ａ〜１８Ｌを制御する場合の全体概略図である。モータ１８Ａ〜１８Ｌの１２個のモータを１５μｓの制御周期で制御し、モータ１つの１回の制御処理に１μｓ要すると仮定した場合、通常時モータ制御ではタイミングチャートは図１９（Ａ）のようになり、３μｓの空き時間が生じる。
【００３３】
しかし、モータの制御の処理中に主記憶部５の１ビットエラーが発生し、前記従来技術の誤り訂正方式を実施した場合、誤り訂正に５μｓ必要になるため、誤り訂正の後は、図１９（Ｂ）に示すように、主記憶エラー発生時モータ制御の場合は、制御周期が守れなくなり、システムの誤動作につながる可能性がある。
【００３４】
前記従来技術による誤り訂正方式では、以上のような問題点があるため、本発明では、ＣＰＵの介在なしに高速に主記憶部５に格納された１ビットエラーデータの訂正を行う。
【００３５】
図６は、本発明におけるＣＰＵ１の主記憶５への書き込みアクセスを表している。ＣＰＵ１の書き込みデータはＣＰＵデータバス８を介してＥＣＣ実行部４に送られる。ＥＣＣ実行部４にて書き込みデータに対してチェックビットを生成し、ＣＰＵ１の書き込みデータとチェックビットを主記憶部５に書き込む。
【００３６】
図７は、ＣＰＵ１の主記憶部５への読み出しアクセスにおいて、主記憶部５からの読み出しデータに１ビットエラーがない場合の動作を表している。ＣＰＵ１またはＤＭＡデバイス６により主記憶部５へリードアクセスがあると、主記憶部５からデータが読み出される。主記憶部５からの読み出しデータは、ＥＣＣ実行部４によりエラーの検出訂正が行われる。主記憶部５からの読み出しデータに１ビットエラーがない場合は、ＣＰＵ１またはＤＭＡデバイス６に読み出しデータが送られ、主記憶部５への読み出しアクセスサイクルが終了する。
【００３７】
図８は、ＣＰＵ１の主記憶５への読み出しアクセスにおいて、主記憶部５からの読み出しデータに１ビットエラーがある場合の動作を表している。図７の動作に加え、ＥＣＣ実行部４から制御部２に１ビットエラー報告線１４を介しての１ビットエラーの報告、割込み情報保持部５ａのセット及び制御部２からのＣＰＵ制御バス９の中のバス要求線９２を介してのＣＰＵ１へのバス権要求の動作が加わる。また、ＣＰＵ１には、ＥＣＣ実行部４によりエラー訂正後のデータが送られる。
【００３８】
本発明では、ＥＣＣ１ビットエラー発生時、主記憶５の内容の訂正は、制御部２によりＣＰＵ１の介在なしに行う。制御部２のバス要求線９２を介してのＣＰＵ１へのバス使用権要求に対し、バス許可線９３によりＣＰＵ１から制御部２へシステムのバス使用権が与えられた後に、主記憶部５に格納された１ビットエラーデータの訂正が行われる。
【００３９】
制御部２は、ＥＣＣ実行部４から１ビットエラー報告を受けた際の主記憶部５へのアクセスアドレスをエラー発生アドレスとし、アドレス生成部３により、エラー発生アドレスと下位の固定長ビットのみが異なるアドレスを主記憶部に対して発行して、データの読み出しを行い、ＥＣＣ実行部４により、エラー訂正が行われた読み出しデータを再び主記憶部に書き戻すことにより主記憶部５に格納された１ビットエラーデータの訂正を行う。
【００４０】
図９に制御部２による主記憶のエラー発生アドレスと下位の固定長ビットのみが異なるアドレスからの、データの読み出しとエラー訂正の動作を示す。図１０に制御部２によるエラー訂正が行われた読み出しデータを再び主記憶に書き戻す動作を示す。
【００４１】
本発明では、１ビットエラーが発生した最初のアドレスをエラー発生アドレスとしているが、１ビットエラー発生アドレスからの読み出しと訂正データの書き戻しをバーストで行うことにより、バースト転送において複数回１ビットエラーが発生した場合にも対応している。
【００４２】
また、本発明では、読み出しと書き戻しの間、制御部２がシステムのバス権を有しているため、ＣＰＵ１やＤＭＡデバイス６により主記憶部に新たなデータの書き込みが行われることは無い。このため、主記憶部５に格納された１ビットエラーデータの訂正のために、主記憶内容が古いデータに書き戻されることは無い。
【００４３】
システムのバス権を獲得する代わりに、制御部２により、クロック供給線９１でＣＰＵ１に対して供給しているクロックを止め、ＤＭＡデバイス６のＤＭＡを抑止することによっても、同じ効果を得ることができる。
【００４４】
さらに、制御部２はＥＣＣ実行部４からの誤り検出の報告の有無に関わらず、一定周期毎に、バス権要求を発行して、システム内のバス権を取得し、アドレス生成部３により、主記憶部５の実装エリアのアドレスを主記憶部に対して発行して、データの読み出しを行い、ＥＣＣ実行部４により訂正された読み出しデータを再び主記憶部に書き戻して、バス権を開放し、各周期ごとにアドレス生成部が主記憶部に対して発行するアドレスを更新していけば、一定期間内に主記憶部の全エリアのデータの、読み出しと、読み出しデータの書き戻しを行うことにより、主記憶部に格納された誤りデータを訂正できる。この場合、ＥＣＣ実行部４からの制御部２への１ビットエラー発生の報告と１ビットエラー発生アドレスの認識は不要になる。
【００４５】
本発明では、主記憶部５に格納された１ビットエラーデータの訂正はＣＰＵ１の介在なしに行われるため、実行に要する時間は主記憶５のバーストリードとバーストライトの時間とほぼ等しくなる。主記憶部５のバーストリードとバーストライトに１６０ｎｓ要するとし、主記憶部５に格納された１ビットエラーデータの訂正を本発明で行った場合、図１８、図１９（Ａ）、（Ｂ）のタイミングチャートは図１１、図１２（Ａ）、（Ｂ）のようになり、主記憶部にエラーが発生しても、通信の受信データオーバフロー、モータの制御周期の乱れは発生しない。
【００４６】
本発明は、以上説明したように構成されているため、次のような効果がある。ＣＰＵのバースト転送用Ｉ／Ｆを使用してＥＣＣ機構を実現し、ＣＰＵの通常の外部Ｉ／Ｆを使用するよりも、キャッシュメモリの内容の更新を高速に行うことができる。
【００４７】
また、ＥＣＣ機構により、主記憶のデータを高信頼に保つと共に、ＣＰＵのバースト転送用Ｉ／Ｆを使用してＥＣＣ機構を実現した場合に、ＥＣＣ機構により１ビットエラーが検出されたときも、ＣＰＵの介在なしに主記憶の内容を訂正することができる、エラー訂正方式である。これにより、システムの処理能力を低下させることはない。また、制御周期を乱すことなく、主記憶部のデータの１ビットの誤りが訂正され、訂正不可能な２ビットエラーが発生する確率を低くし、主記憶の信頼性を向上させることができる。
【００４８】
【発明の効果】
本発明によれば、キャッシュメモリの内容の更新を高速におこなうとともに１ビットエラーが検出された場合に高速で主記憶部の内容を訂正することができる。
【図面の簡単な説明】
【図１】本発明の構成例を示す図である。
【図２】本発明のＣＰＵ制御バスの内部構成を表す図である。
【図３】本発明においてＤＭＡデバイスが通信インタフェースをもっている場合の全体概略図である。
【図４】通信インタフェースを持つＤＭＡデバイスの内部を示す図である。
【図５】本発明においてＣＰＵがモータを制御する場合の全体概略図である。
【図６】本発明におけるＣＰＵの主記憶への書き込みアクセスを表す図である。
【図７】本発明におけるＣＰＵの主記憶への読み出しアクセスにおいて、読み出しデータに１ビットエラーがない場合の動作を表す図である。
【図８】本発明におけるＣＰＵの主記憶への読み出しアクセスにおいて、読み出しデータに１ビットエラーがある場合の動作を表す図である。
【図９】本発明における主記憶内データの１ビットエラーデータ訂正時の主記憶部からの読み出し動作を示す図である。
【図１０】本発明における主記憶内データの１ビットエラーデータ訂正時の訂正された読み出しデータを主記憶部に書き戻す動作を示す図である（制御部２によるエラー訂正が行われた読み出しデータを再び主記憶部に書き戻す動作を示す図である）。
【図１１】本発明の誤り訂正と通信回線の処理のタイミングチャートである。
【図１２】本発明の誤り訂正とモータ制御の処理中タイミングチャートである。
【図１３】従来の技術の全体概略図である。
【図１４】従来の技術で主記憶部からの読み出しデータに１ビットエラーがある場合の動作を表す図である。
【図１５】従来技術の、主記憶部の内容訂正の動作フローチャートである。
【図１６】従来の技術で、アドレス保持部からの１ビットエラー発生アドレスの読み出し動作を表す図である。
【図１７】従来技術で、主記憶への訂正データ書き戻しを示す図である。
【図１８】従来の誤り訂正と通信回線の処理のタイミングチャートである。
【図１９】従来の誤り訂正とモータ制御の処理中のタイミングチャートである。
【符号の説明】
１…ＣＰＵ  ２…制御部  ３…アドレス生成部  ４…ＥＣＣ実行部  ５…      主記憶  ６…ＤＭＡ実行可能なデバイス  ７…ＣＰＵアドレスバス  ８…ＣＰＵデータバス  ９…ＣＰＵ制御バス  １０…メモリ制御バス  １１…メモリアドレスバス  １２…メモリデータバス  １３…制御線  １４…１ビットエラー検出線  ６１…通信インタフェース  ６２…通信回線  ６３…送信ＦＩＦＯ  ６４…受信ＦＩＦＯ  ９１…クロック供給線  ９２…バス要求線  ９３バス許可線  ９４…ＣＰＵ制御線  １０１…ＣＰＵ  １０２…ＤＭＡ実行可能なデバイス  １０３…ＥＣＣ実行部  １０４…アドレス保持部  １０５ａ…割込み情報保持部  １０５ｂ…ＤＭＡ制御情報保持部  １０６…主記憶  １０７…制御線  １０８…アドレスバス  １０９…データバス  １１０…メモリ制御線  １１１…メモリアドレスバス  １１２…メモリデータバス  １１３…システム制御線  １１４…１ビットエラー報告線
【図１】
0003962853.tif 000002
【図２】
0003962853.tif 000003
【図３】
0003962853.tif 000004
【図４】
0003962853.tif 000005
【図５】
0003962853.tif 000006
【図６】
0003962853.tif 000007
【図７】
0003962853.tif 000008
【図８】
0003962853.tif 000009
【図９】
0003962853.tif 000010
【図１０】
0003962853.tif 000011
【図１１】
0003962853.tif 000012
【図１２】
0003962853.tif 000013
【図１３】
0003962853.tif 000014
【図１４】
0003962853.tif 000015
【図１５】
0003962853.tif 000016
【図１６】
0003962853.tif 000017
【図１７】
0003962853.tif 000018
【図１８】
0003962853.tif 000019
【図１９】
0003962853.tif 000020