(57)【特許請求の範囲】
【請求項１】
ＣＰＵと複数のメモリとが共通のシステムバスを介して接続するデータ処理システムのメモリデータ比較方式であって、
前記ＣＰＵによりシステムバスを介してアクセスされる第１及び第２のメモリと、
前記ＣＰＵへのバス要求により、該ＣＰＵよりシステムバスのアクセスを許された期間に、該システムバスを介して第１及び第２のメモリのデータ比較制御を行う比較制御部と、
前記第１及び第２のメモリ間のデータバスに介在して該データバスの開放／閉成を行うバススイッチ部と、
前記バススイッチ部により画成された第１及び第２の各データバスに接続して両データバス上のデータを比較するデータ比較部とを備え、
前記比較制御部は、前記バススイッチ部を介してデータバスを開放し、かつ前記第１及び第２のメモリから第１及び第２のデータを両データバスに同時に読み出すと共に、前記データ比較部により第１及び第２のデータを比較することを特徴とするメモリデータ比較方式。
【請求項２】
前記比較制御部は、自己のメモリアクセスのタイミングにだけデータバスの開放を行うことを特徴とする請求項１のメモリデータ比較方式。
【請求項３】
前記比較制御部は、自己のメモリアクセスのタイミングにだけ第１及び第２のメモリから第１及び第２のデータを読み出すことを特徴とする請求項１のメモリデータ比較方式。
【請求項４】
前記データ比較部による比較結果が不一致の場合は、ＣＰＵに割り込みを掛けることを特徴とする請求項１のメモリデータ比較方式。
【請求項５】
前記システムバスのアドレスバス又はデータバスに接続するレジスタ部を備え、前記データ比較部による比較結果が不一致の場合における前記アドレスバス上のアドレス情報又は前記データバス上のデータ情報を前記レジスタ部に記憶することを特徴とする請求項１のメモリデータ比較方式。
【請求項６】
前記データ比較部による比較結果が不一致の場合の数を計数する計数手段を備えることを特徴とする請求項１のメモリデータ比較方式。
【請求項７】
前記第１及び第２のデータは夫々第１及び第２のメモリの同じアドレス空間に記憶されていることを特徴とする請求項１のメモリデータ比較方式。
【請求項８】
前記データ処理システムに接続する汎用のＤＭＡ制御部と、該ＤＭＡ制御部に接続してメモリのデータ読出を要求する疑似Ｉ／０部とを備え、前記比較制御部
の機能は、前記ＤＭＡ制御部と疑似Ｉ／０部との連携により実現されることを特徴とする請求項１のメモリデータ比較方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はメモリデータ比較方式に関し、更に詳しくは、ＣＰＵと複数のメモリとが共通のシステムバスを介して接続するデータ処理システムのメモリデータ比較方式に関する。
今日、あらゆる装置はＣＰＵとメモリとがシステムバスを介して接続するデータ処理システムにより制御されていると言っても過言ではない。このような装置を効率良く、かつ低コストで実現するためには、処理手順を記述するプログラム部分と、処理にパラメータを与えるデータ部分とを分けてソフトウエアを構成する手法が採られる。
【０００２】
例えば、交換機等の複雑な通信装置では、導入される局により、設備の規模、電話番号の使用方法、回線の設定方法等が異なる。そこで、このデータ部分を、システム構成により定まるシステムデータ、局により異なる局データ、加入者により異なる加入者データ等に分割し、適用条件の相違を局データと加入者データとで吸収する構成（所謂ジェネリック構成）を採っている。
【０００３】
従って、このデータ部分は装置に不可欠の固有情報であり、装置（システム）の安全な運用のためには、常にこのデータ部分の妥当性、正当性を効率よくチェックしておく必要がある。
【０００４】
【従来の技術】
図７，図８は従来技術を説明する図（１），（２）である。
図７は伝送装置の典型的な一部構成を示す図で、架構成のスロットに挿入されるＣＰＵボード１００と、そのパラメータ情報（運用情報）をバックアップ保持するメモリボード２００とが示されている。
【０００５】
ＣＰＵボード１００において、１は装置の主制御を行うＣＰＵ、２はＣＰＵ１が実行するＯＳ等の制御プログラムを記憶しているＲＯＭ、３は必要なアプリケーションプログラムを記憶するＲＡＭａ、４は必要な動作パラメータやＣＰＵ１のワークエリアを備えるＲＡＭｂ、５はアドレス空間の上位ビットをデコードして各メモリのチップ選択信号ＣＳ０〜ＣＳ３を生成するアドレスデコーダ（ＡＤＥＣ）、ＡＢはアドレス情報を載せるアドレスバス、ＤＢはデータ情報を載せるデータバス、ＣＢは各種制御信号を載せるコントロールバスである。ＡＢ〜ＣＢをまとめてシステムバスと言う。メモリボード２００において、６は不揮発性のメモリ（ＥＥＰＲＯＭ）である。
【０００６】
ところで、一般に伝送装置は、一旦システムを立ち上げると、以後は２４時間連続で何年も稼働することが要求される。このため、伝送装置は２重化冗長構成を備えると共に、運用途中でＣＰＵボード１００に障害が発生すると、該ＣＰＵボード１００を活線状態で他のものと交換し、その後ＥＥＰＲＯＭ６の運用情報をＲＡＭｂにロード、展開する。また、運用途中でメモリボード２００に障害が発生すると、該メモリボード２００を活線状態で他のものと交換し、その後ＲＡＭｂの運用情報をＥＥＰＲＯＭ６にダンプする。こうして、運用情報をバックアップ保持する方式により、システム運用の安全を図っている。
【０００７】
かかるシステムでは、運用情報の妥当性、正当性の維持が重要であり、定期的に両データの比較を行うことにより、運用情報の妥当性，正当性を保証する必要がある。従来は、以下に述べるＣＰＵ１のプログラム実行により両データの比較を行っていた。
図８は従来のメモリデータ比較処理を示すフローチャートである。
【０００８】
ステップＳ５１では比較データ数のカウンタＩをリセットする。ステップＳ５２ではカウンタＩの内容に基づき両比較データの格納されているアドレスを生成する。ステップＳ５３では生成アドレスに従いＲＡＭｂのデータＡをＣＰＵ１のレジスタＡに読み出す。ステップＳ５４では生成アドレスに従いＥＥＰＲＯＭのデータＢをＣＰＵ１のレジスタＢに読み出す。ステップＳ５５ではレジスタＡ，Ｂの内容を比較し、Ａ＝Ｂの場合は、ステップＳ５６に進み、比較データ数のカウンタＩをインクリメントする。ステップＳ５７ではＩ＝Ｋ（Ｋは全パラメータ数）か否か判別し、Ｉ≠Ｋの場合はステップＳ５２に戻り、次のデータを比較する。また、Ｉ＝Ｋの場合は比較処理を抜ける。また、上記ステップＳ５５の判別でＡ≠Ｂの場合は所定のエラ−処理に移行する。
【０００９】
【発明が解決しようとする課題】
上記の如く、従来はＣＰＵ１のプログラム実行により両データの比較を行っていた。しかし、これでは１データ比較の度に複数のメモリサイクルが必要となり、メモリやシステムバス、更にはＣＰＵ１の貴重な処理時間がデータ比較のために多く費やされてしまう問題があった。
【００１０】
また、ＣＰＵ１が直接にデータ比較処理を行う行うために、他のアプリケーション処理等の実行に支障を来す場合もあった。
本発明の目的は、ＣＰＵに処理負担を掛けずに、実質短時間で、効率よくデータ比較を行えるメモリデータ比較方式を提供することにある。
【００１１】
【課題を解決するための手段】
上記の課題は例えば図１の構成により解決される。即ち、本発明（１）のメモリデータ比較方式は、ＣＰＵと複数のメモリとが共通のシステムバスを介して接続するデータ処理システムのメモリデータ比較方式であって、前記ＣＰＵによりシステムバスを介してアクセスされる第１及び第２のメモリと、前記ＣＰＵへのバス要求ＢＲＱにより、該ＣＰＵよりシステムバスのアクセスＢＡＫを許された期間に、該システムバスを介して第１及び第２のメモリのデータ比較制御を行う比較制御部と、前記第１及び第２のメモリ間のデータバスに介在して該データバスの開放／閉成を行うバススイッチ部と、前記バススイッチ部により画成された第１及び第２の各データバスに接続して両データバス上のデータを比較するデータ比較部とを備え、前記比較制御部は、前記バススイッチ部を介してデータバスを開放し、かつ前記第１及び第２のメモリから第１及び第２のデータを両データバスに同時に読み出すと共に、前記データ比較部により第１及び第２のデータを比較するものである。
【００１２】
本発明（１）によれば、ＣＰＵはメモリデータの比較に直接関与しないので、ＣＰＵの処理負担が大幅に軽減される。また、１メモリサイクルで第１，第２のメモリのデータを第１，第２のデータバスに同時に読み出し、データ比較を行うので、データ比較のためにバスやメモリが占有される時間も大幅に短縮される。従って、比較データ（例えば運用情報）の量が多くてもこれらを実質短時間で、効率よくデータ比較を行える。
【００１３】
なお、比較対象となるデータはパラメータデータ（運用情報）に限らず、任意の入力データ、演算結果のデータでも良い。
好ましくは、本発明（２）においては、比較制御部は、自己のメモリアクセスのタイミングにだけデータバスの開放を行う。
従って、データ比較に必要なメモリアクセスのタイミング以外はデータバスは閉成しており、この区間にＣＰＵは何の制限もなくシステムの全構成要素を通常にアクセスできる。
【００１４】
また好ましくは、本発明（３）においては、前記比較制御部は、自己のメモリアクセスのタイミングにだけ第１及び第２のメモリから第１及び第２のデータを読み出す。
従って、データ比較に必要なメモリアクセスのタイミング以外は、第１及び第２のメモリはデータ比較の目的では付勢されず、この区間にＣＰＵは何の制限もなくシステムの全メモリを通常にアクセスできる。
【００１５】
また好ましくは、本発明（４）においては、データ比較部による比較結果が不一致の場合は、ＣＰＵに割り込みを掛ける。
従って、重要なパラメータデータを比較しているような場合には、ＣＰＵの処理（稼働）に影響を与えるような比較不一致の状況を一早くＣＰＵに知らせることができる。また、比較不一致が起こらない限りは、ＣＰＵに処理負担を掛けずに効率よくデータ比較を行う。
【００１６】
また好ましくは、本発明（５）においては、前記システムバスのアドレスバス又はデータバスに接続するレジスタ部（不図示）を備え、前記データ比較部による比較結果が不一致の場合における前記アドレスバス上のアドレス情報又は前記データバス上のデータ情報を前記レジスタ部に記憶する。
従って、例えば上記ＣＰＵの割込処理においては、該ＣＰＵは有用なエラーアドレス情報及び又はエラーデータ情報を直ちに得ることが可能となり、ＣＰＵはエラー解析を効率よく行える。
【００１７】
また好ましくは、本発明（６）においては、データ比較部による比較結果が不一致の場合の数を計数する計数手段を備える。
この場合のＣＰＵは、エラー発生の度に一々割込要求を受けなくても良く、一連のデータ比較処理の終了時、又は所定の時間間隔でエラー発生状況を能率良く把握でき、これをシステムの管理処理に反映できる。
【００１８】
また好ましくは、本発明（７）においては、第１及び第２のデータは夫々第１及び第２のメモリの同じアドレス空間に記憶されている。
従って、第１及び第２のメモリに同一のアドレス情報（下位ビット）を提供するような簡単な制御，構成により両メモリのデータ比較（特に、ブロックデータの比較）を能率良く行える。
【００１９】
また好ましくは、本発明（８）においては、データ処理システムに接続する汎用のＤＭＡ制御部と、該ＤＭＡ制御部に接続してメモリのデータ読出を要求する疑似Ｉ／０部とを備え、比較制御部の機能は、ＤＭＡ制御部と疑似Ｉ／０部との連携により実現される。
一般に、この種のデータ処理システムでは汎用のＤＭＡ制御部を備える場合も少なくない。この汎用のＤＭＡ制御部は、ＣＰＵへのバス権要求ＢＲＱにより、該ＣＰＵよりシステムバスのアクセス権ＢＡＫを許されると共に、その期間に、複数のメモリの間、又はメモリとＤＭＡ制御部に接続した各種Ｉ／０部との間でデータのブロック転送又は逐次転送を行う。
【００２０】
かかる場合の比較制御部は、自らＣＰＵにバス権要求ＢＲＱを発するまでもなく、他のＩ／Ｏ部と同様にして汎用のＤＭＡ制御部に接続し、このＤＭＡ制御部の制御下で、第１，第２のメモリからデータ転送（データ読出）を受けるような所謂疑似Ｉ／Ｏ部の機能を備えていれば良い。
従って、本発明（８）によれば、簡単な疑似Ｉ／Ｏ部の付加により、汎用のＤＭＡ制御部と共動してメモリデータの比較機能を効率良く実現できる。
【００２１】
【発明の実施の形態】
以下、添付図面に従って本発明に好適なる実施の形態を詳細に説明する。なお、全図を通して同一符号は同一又は相当部分を示すものとする。
図２は実施の形態によるメモリデータ比較方式の構成を示す図で、図７と同様に伝送装置の典型的な一部構成を示しており、架構成のスロットに挿入されるＣＰＵボード１００と、そのパラメータ情報（運用情報）をバックアップ保持するメモリボード２００とが示されている。
【００２２】
ＣＰＵボード１００において、１は装置の主制御を行うＣＰＵ、２はＣＰＵ１が実行するＯＳ等の制御プログラムを記憶しているＲＯＭ、３は必要なアプリケーションプログラムを記憶するＲＡＭａ、４は必要な動作パラメータやＣＰＵ１のワークエリアを備えるＲＡＭｂ、５はアドレス空間の上位ビットをデコードして各メモリのチップ選択信号ＣＳ０〜ＣＳ３を生成するアドレスデコーダ（ＡＤＥＣ）、ＡＢはアドレスバス、ＤＢはデータバス、ＣＢはコントロールバスである。ＡＢ〜ＣＢをまとめてシステムバスと言う。
【００２３】
更に、７は汎用のＤＭＡ制御部（ＤＭＡＣ）、８は疑似Ｉ／Ｏ部、９はバススイッチ部、１０はデータ比較部（ＣＭＰ）、１１はＯＲゲート回路（Ｏ）である。なお、本実施の形態では汎用のＤＭＡ制御部７と疑似Ｉ／Ｏ部８との連携により本発明（１）における比較制御部が実現される。
メモリボード２００において、６は不揮発性のメモリ（例えばＥＥＰＲＯＭ）である。なお、メモリの周辺回路がバックアップバッテリー等により不揮発性に構成されていればメモリ６はＲＡＭで構成しても良い。
【００２４】
バススイッチ部９は、双方向に接続された３ステートのバッファ回路ＢＦから成っており、出力レベル＝ＨＩＧＨ／ＬＯＷとハイインピーンスの３ステートを有する。疑似Ｉ／Ｏ部８のアクセスＡＣＫ信号ＡＡＫ＝１（真）の時はハイインピーンス（バス遮断状態）であり、またＡＡＫ＝０（偽）の時はその時のデータバスの入力信号のＨＩＧＨ／ＬＯＷレベルに従ってＨＩＧＨ／ＬＯＷレベルを出力する。
【００２５】
データ比較部１０は、バススイッチ部９により遮断された両データバス上の両入力データＡ，Ｂを比較すると共に、Ａ＝Ｂの場合は論理０レベル、Ａ≠Ｂの場合は論理１レベルを出力する。
図３は実施の形態によるＤＭＡ制御部の構成を示す図である。
上記の如く、このＤＭＡ制御部は基本的には市販のもので良いが、一例の構成を示すことで、実施の形態によるメモリデータの比較動作を具体的に説明する。
【００２６】
図において、５１，５２はＪ−Ｋタイプのフリップフロップ（ＦＦ）、５３はＩ／Ｏコマンドのコマンドデコーダ（ＣＤＥＣ）、５４はデコーダ（ＤＥＣ）、５５はアドレスカウンタ（ＡＣＴＲ）、５６はレングスカウンタ（ＬＣＴＲ）、５７は３ステートのバスドライバ（ＢＤ）、５８〜６１はＡＮＤゲート回路（Ａ）、６２，６３はＯＲゲート回路（Ｏ）である。
【００２７】
各部はシテムリセット信号ＳＲにより初期化される。
ＣＤＥＣ５３はアドレスバスＡＢ上のＩ／ＯコマンドをデコードしてＤＭＡＣ７の各種制御信号を出力する。
まず、ＣＰＵ１がＤＭＡ開始アドレスセットのＩ／Ｏコマンドを出力すると、ＣＤＥＣ５３からアドレスロード信号ＡＬＤが出力される。該信号ＡＬＤはＡＣＴＲ５５のロードイネーブル端子ＬＥに入力すると共に、ＡＮＤゲート回路６０にも提供され、コントロールバスＣＢからのＩ／Ｏ書込信号ＩＯＷを通過させる。これにより、ＡＣＴＲ５５のクロック入力端子ＣＫに書込パルスＩＯＷが供給され、その時のデータバスＤＢ上のＤＭＡ開始アドレスのデータがＡＣＴＲ５５にロードされる。
【００２８】
同様にして、ＣＰＵ１がＤＭＡデータ数セットのＩ／Ｏコマンドを出力すると、ＣＤＥＣ５３からレングスロード信号ＬＬＤが出力され、その時のデータバスＤＢ上のＤＭＡデータ数のデータがＬＣＴＲ５６にロードされる。
次に、ＣＰＵ１がＤＭＡイネーブルのＩ／Ｏコマンドを出力すると、ＣＤＥＣ５３からＤＭＡイネーブル信号ＤＥＮが出力され、これによりＦＦ５１がセットされる。この状態で、疑似Ｉ／Ｏ部８からのデータ要求信号ＤＲＱが入力すると、ＦＦ５２がセットされ、ＣＰＵ１にバス要求信号ＢＲＱを出力する。
【００２９】
ＣＰＵ１はＤＭＡＣ７からのバス要求信号ＢＲＱを受け付けると、自己のバスアクセスを停止し、ＤＭＡＣ７にバス許可信号ＢＡＫを返送する。
ＤＭＡＣ７では、ＣＰＵ１からのバス許可信号ＢＡＫを受けると、ＡＮＤゲート回路５８を満足し、データＡＣＫ信号ＤＡＫを出力する。該信号ＤＡＫは後述の疑似Ｉ／Ｏ部８に送られると共に、内部ではバスドライバ５７，ＡＣＴＲ５５，ＬＣＴＲ５６等に提供される。
【００３０】
バスドライバ５７はＤＡＫ＝１の区間にＡＣＴＲ５５のアドレス情報をアドレスバスＡＢ上に出力する。また、図示しないが、この区間にメモリデータを読み出すための各種制御信号（リードライト制御信号Ｒ／Ｗ，リードイネーブル信号ＲＥ，リードパルス信号ＲＰ等）が生成され、これらがコントロールバスＣＢに出力される。ＡＣＴＲ５５は信号ＤＡＫの立ち下がり（後端エッジ）でインクリメントする。また、ＬＣＴＲ５６は信号ＤＡＫの立ち下がりでディクリメントする。更に、デコーダ５４はＬＣＴＲ５６の出力のカウント値Ｑをデコードしており、カウント値Ｑ＝１の場合はそのメモリサイクルでＤＭＡ処理を終了するためにＤＭＡ終了信号ＤＭＥＮＤ＝１を出力する。
【００３１】
上記ＦＦ５１は、ＤＭＡイネーブルの状態を保持しており、ＤＭＡの開始後、ＤＭＥＮＤ＝１の状態でそのＤＭＡメモリサイクルが終了すると、信号ＤＡＫの立ち下がりにより自動的にリセットされる。
また、上記ＦＦ５２は、バス要求ＢＲＱの状態を保持しており、この例ではＦＦ５２の入力端子ＫがＨＩＧＨレベルＨであるために、該ＦＦ５２は信号ＤＡＫの立ち下がりで毎回リセットされる。従って、ＣＰＵ１へのバス要求ＢＲＱも疑似Ｉ／Ｏ部８からのデータ要求ＤＲＱに同期した間欠的なものとなる。
【００３２】
なお、図示しないが、市販のＤＭＡＣ７の中には、ＣＰＵ１から一旦バス許可信号ＢＡＫを受けると、ＤＭＥＮＤ＝１になるまでデータの連続したブロック転送を行うものがある。更には、ＡＣＴＲ５５を複数備え、例えばあるメモリサイクルでＲＡＭａから読み出したデータを次のメモリサイクルでＲＡＭｂに書き込むような、所謂メモリ間のブロック転送を行うものもある。本実施の形態による疑似Ｉ／Ｏ部８はこのような市販の様々なＤＭＡＣ７に接続可能である。
【００３３】
図４は実施の形態による疑似Ｉ／Ｏ部の構成を示す図で、図において、３１〜３３はＪ−Ｋタイプのフリップフロップ（ＦＦ）、３４はデータ要求ＤＲＱの発生周期を決めるためのタイミングカウンタ（ＴＣＴＲ）、３５はデータ比較のエラー数をカウントするためのエラーカウンタ（ＥＣＴＲ）、３７はコマンドデコーダ（ＣＤＥＣ）、３８は比較エラー時のアドレス情報をラッチするレジスタ（ＲＥＧ）、３９は比較エラー時のデータ情報をラッチするレジスタ（ＲＥＧ）、４１〜４３は３ステートのバスドライバ（ＢＤ）、４４はＯＲゲート回路（Ｏ）、４５はＮＯＲゲート回路（ＮＯ）、４６，４７はＡＮＤゲート回路（Ａ）である。
【００３４】
ＣＰＵ１が疑似Ｉ／Ｏ部接続（疑似Ｉ／Ｏ部スタート）のＩ／Ｏコマンドを出力すると、ＣＤＥＣ３７から開始信号ＢＥＧが出力され、これによりＦＦ３１がセットされる。また、これによりＥＣＴＲ３５がリセットされる。
ＦＦ３１がセットされると、ＴＣＴＲ３４が付勢され、クロック信号ＣＫによりカウントアップする。そして、所定数までカウントアップすると、キャリー信号Ｃが出力され、ＦＦ３２をセットする。これによりＤＭＡＣ７にデータ要求信号ＤＲＱを出力する。
【００３５】
ＤＭＡＣ７は疑似Ｉ／Ｏ部８からのデータ要求信号ＤＲＱを受け付けると、上記により、ＣＰＵ１からのバス許可信号ＢＡＫのタイミングに、データ許可信号ＤＡＫを返送する。更に、この時点におけるＤＭＡＣ７からは、例えばＲＡＭｂのアドレス情報がアドレスバスＡＢに出力され、このアドレス情報の上位ビットは図２のＡＤＥＣ５でデコードされ、チップ選択信号ＣＳ２が付勢される。またこのアドレス情報の下位ビットはＲＡＭｂ及び他の全てのメモリにも共通に提供される。同時に、ＤＭＡＣ７からはリードイネーブル信号ＲＥがコントロールバスＣＢ上に出力され、これによりＲＡＭｂの対応アドレスから比較対象のデータＡが読み出される。
【００３６】
一方、疑似Ｉ／Ｏ部８では、ＤＭＡＣ７からデータ許可信号ＤＡＫを受けると、ＡＮＤゲート回路４７を満足し、アクセスＡＣＫ信号ＡＡＫを出力する。該信号ＡＡＫは外部のバススイッチ部９及びＯＲゲート回路（図１のメモリ付勢手段に相当）１１に送られると共に、内部ではＡＮＤゲート回路４６に提供される。これにより、外部では、データバスＤＢがバススイッチ部９により分離される。また、ＯＲゲート回路１１を介してＥＥＰＲＯＭ６が付勢され、これによりＥＥＰＲＯＭの対応アドレスからもＲＡＭｂと同時にデータＢが読み出される。
【００３７】
データ比較部（コンパレータ）１０は両データバスのデータＡ，Ｂを比較し、Ａ＝Ｂなら論理０レベル、Ａ≠Ｂなら論理１レベルの比較結果信号を出力する。この比較結果の信号Ａ≠Ｂは疑似Ｉ／Ｏ部８のＡＮＤゲート回路４６に入力しており、上記ＡＡＫの区間に、比較不一致Ａ≠Ｂであると、そのリードパルス信号ＲＰのタイミングにＡＮＤゲート回路４６を満足する。これによりＦＦ３３がセットされ、チェックエラー信号ＣＥＲ＝１となる。また、これによりＥＣＴＲ３５がインクリメントされる。また、これによりレジスタ３８にはその時のアドレス情報がセットされ、かつレジスタ３９にはその時のデータ情報Ａ（データ情報Ｂでも良い）がセットされる。
【００３８】
その後、データＡＣＫ信号ＤＡＫの立ち下がりにより、ＦＦ３２はリセットされ、かつＴＣＴＲ３４は次の所定周期のカウントを再開する。
この場合に、上記のチェックエラー信号ＣＥＲはＣＰＵ１の割込入力端子ＩＮＴ２に入力しており、これを受け付けたＣＰＵ１はエラー割込処理を行う。
このエラー割込処理の中で、ＣＰＵ１が割込受付のＩ／Ｏコマンドを出力すると、ＣＤＥＣ３７から割込受付信号ＩＡＫ２が出力され、これにより割込要求ＦＦ３３はリセットされる。
【００３９】
また、ＣＰＵ１がエラーアドレスのＩ／Ｏリードコマンドを出力すると、ＣＤＥＣ３７からリード信号Ｒ１が出力され、これによりレジスタ３８のエラーアドレスがデータバスＤＢに読み出される。このデータはＣＰＵ１内の汎用レジスタに取り込まれる。
また、ＣＰＵ１がエラーデータのＩ／Ｏリードコマンドを出力すると、ＣＤＥＣ３７からリード信号Ｒ２が出力され、これによりレジスタ３９のエラーデータＡがデータバスＤＢに読み出される。このデータはＣＰＵ１内の汎用レジスタに取り込まれる。
【００４０】
なお、この場合のＣＰＵ１は上記取り込んだエラーアドレスを基に、ＥＥＰＲＯＭ６から直接にエラーデータＢを読み込んでも良い。こうすれば、両データＡ，Ｂの相違部分を容易に把握できる。
また、ＣＰＵ１がエラーカウントのＩ／Ｏリードコマンドを出力すると、ＣＤＥＣ３７からリード信号Ｒ３が出力され、これによりＥＣＴＲ３５のエラーカウント数がデータバスＤＢに読み出される。このデータはＣＰＵ１内の汎用レジスタに取り込まれる。
【００４１】
こうして、比較対象の一連のブロックデータについて比較チェックが自動的に行われ、エラー発生時のエラー情報がＣＰＵ１に能率よく取り込まれる。やがて、１ブロック分のデータチェックが終了すると、ＤＭＡＣ７でＤＭＡ終了（ＤＭＥＮＤ＝１）となり、ＣＰＵ１に割込要求する。これを受け付けたＣＰＵ１はＤＭＡ終了の割込処理を行う。
【００４２】
この割込処理において、ＣＰＵ１が疑似Ｉ／Ｏ部切断（疑似Ｉ／Ｏ部ストップ）のＩ／Ｏコマンドを出力すると、ＣＤＥＣ３７から終了信号ＥＮＤが出力され、これによりＦＦ３１がリセットされる。
なお、この例では疑似Ｉ／Ｏ部８のＦＦ３２は、その入力端子ＫをＨＩＧＨレベルＨとしたことにより、データＡＣＫ信号ＤＡＫによりＦＦ３２は毎回リセットされる。緊急を要しないデータ比較の場合は、データ要求信号ＤＲＱを間欠的に発生することで、ＣＰＵ１の処理の邪魔にならない。
【００４３】
しかし、もし上記ＨＩＧＨレベルＨの代わりに、ＦＦ３２の入力端子ＫにＤＭＡ終了信号ＤＭＥＮＤを接続すると、データ比較はブロック転送モードで連続的かつ高速に行われる。これは、一連のデータ比較を高速に行いたい場合に有用である。
図５は実施の形態によるメモリデータ比較処理のフローチャートである。
【００４４】
図５（Ａ）はデータ比較の起動処理を示しており、データ比較を行いたい場合はこの処理に入力する。
ステップＳ１ではＤＭＡＣ７のＡＣＴＲ５５にＤＭＡの開始アドレスをセットする。ステップＳ２では同じくＬＣＴＲ５６にＤＭＡのデータ長をセットする。ステップＳ３ではＤＭＡＣ７の動作をイネーブルする。ステップＳ４では疑似Ｉ／Ｏ部８をＤＭＡＣ７に接続する。これにより、ＣＰＵ１は通常はメモリデータの比較に関与せず、メモリデータの比較はＤＭＡＣ７と疑似Ｉ／Ｏ部８との共同作業により効率よく行われる。
【００４５】
図５（Ｂ）は比較エラーが生じた時の割込処理ＩＮＴ２を示しており、途中で比較エラーが生じた時はこの処理に割込入力する。
ステップＳ１１では疑似Ｉ／Ｏ部８に割込受付のＩ／ＯコマンドＩＡＫ２を送出する。ステップＳ１２では疑似Ｉ／Ｏ部８にラッチされたエラーアドレスの情報を取り込み、これを例えばＲＡＭａの所定エリアにプールする。ステップＳ１３では同じく疑似Ｉ／Ｏ部８にラッチされたエラーデータの情報を取り込み、これを例えばＲＡＭａの所定エリアにプールする。
【００４６】
この場合に、比較対象のデータがシステムの動作パラメータの如くシステム運用に重大な影響を与えるようなデータの場合は、ＣＰＵ１は直ちにＤＭＡＣ７，疑似Ｉ／Ｏ部８を停止し、ＣＰＵ１独自の解析処理に移行しても良い。また、比較対象のデータが加入者データの如くシステム運用に直接は影響を与えないようなデータの場合は、各エラーデータをプールしておき、別途に解析すれば良い。そして、必要ならエラー修正を行う。
【００４７】
図５（Ｃ）はＤＭＡ終了となった時の割込処理ＩＮＴ１を示しており、ＤＭＡ終了となった時はこの処理に割込入力する。
ステップＳ２１ではＤＭＡＣ７に割込要求受付のＩ／ＯコマンドＩＡＫ１を送出する。ステップＳ２２ではＤＭＡＣ７から疑似Ｉ／Ｏ部８を切断する。これにより、以後は他のＩ／Ｏ部（不図示）をＤＭＡＣ７に接続できる。
【００４８】
この例では、ＣＰＵ１が間欠的に図５（Ａ）の処理を起動することで、データ比較の要求と、他のＩ／ＯによるＤＭＡ処理要求とを公平に満足させている。
図６は他の実施の形態によるメモリデータ比較処理のフローチャートである。
この例は、他のＩ／ＯによるＤＭＡ処理要求が無い場合に、疑似Ｉ／Ｏ部８を継続的に動作させる場合の処理を示している。
【００４９】
また、比較対象のデータの相違も緊急性を有しないので、エラーの内容を把握するよりも、むしろエラーカウント数に興味がある場合を示している。
図６（Ａ）はデータ比較の起動処理を示しており、データ比較を行いたい場合はこの処理に入力する。
ステップＳ３１ではデータ比較エラーが生じた時の割込処理ＩＮＴ２をマスクしておく。ステップＳ３２ではＤＭＡＣ７のＡＣＴＲ５５に開始アドレスをセットする。ステップＳ３３では同じくＬＣＴＲ５６にデータ長をセットする。ステップＳ３４ではＤＭＡＣ７の動作をイネーブルする。ステップＳ３５では疑似Ｉ／Ｏ部８をＤＭＡＣ７に接続する。従って、この例ではデータ比較エラーによる割込処理ＩＮＴ２は生じない。
【００５０】
図６（Ｂ）はＤＭＡ終了となった時の割込処理ＩＮＴ１を示しており、ＤＭＡ終了となった時はこの処理に割込入力する。
ステップＳ４１ではＤＭＡＣ７に割込要求受付のＩ／ＯコマンドＩＡＫ１を送出する。ステップＳ４２では疑似Ｉ／Ｏ部８からＥＣＴＲ３５のエラーカウント数を読み込み、これを例えばＲＡＭａの所定エリアに記憶する。好ましくは、その時点の実時間情報と共に記憶し、エラー状況の時系列な管理を可能とする。ステップＳ４３ではＤＭＡＣ７のＡＣＴＲ５５に開始アドレスをセットし、続くステップＳ４４では同じくＬＣＴＲ５６にデータ長をセットする。ステップＳ４５ではＤＭＡＣ７の動作を再度イネーブルする。
【００５１】
この例では、疑似Ｉ／Ｏ部８が再起動されないので、ＥＣＴＲ３５のエラーカウント数もリセットされない。従って、ＣＰＵ１の簡単な制御により、メモリデータの比較を長時間にわたって効率よく行える。
なお、上記実施の形態では伝送装置への適用例を述べたがこれに限らない。例えば、携帯無線端末のような小型機でも少なからず重要なパラメータ情報を備えている。また本発明は、上記のような通信装置に限らず、プログラム実行により機能実現されるあらゆる種類の装置に適用可能である。
【００５２】
また、上記実施の形態ではバックアップパラメータ情報の比較をする場合を述べたが、比較の対象となるデータは、任意の入力データ、演算結果のデータ等、どのようなカテゴリのデータでも良い。従って、本発明の用途は広い。
また、上記実施の形態では汎用のＤＭＡ制御部に疑似Ｉ／Ｏ部を接続する場合を述べたが、疑似Ｉ／Ｏ部にＤＭＡ制御部の機能を組み込んで単独の比較制御部としても良い。
【００５３】
また、上記本発明に好適なる実施の形態を述べたが、本発明思想を逸脱しない範囲内で、各部の構成、制御、及びこれらの組合せの様々な変更が行えることは言うまでも無い。
【００５４】
【発明の効果】
以上述べた如く本発明によれば、ＣＰＵに処理負担を掛けずに、実質短時間で、効率よくデータの比較を行え、プログラム実行により機能実現される装置の機能改善、信頼性向上に寄与する所が大きい。
【図面の簡単な説明】
【図１】図１は本発明の原理を説明する図である。
【図２】図２は実施の形態によるメモリデータ比較方式の構成を示す図である。
【図３】図３は実施の形態によるＤＭＡ制御部の構成を示す図である。
【図４】図４は実施の形態による疑似Ｉ／Ｏ部の構成を示す図である。
【図５】図５は実施の形態によるメモリデータ比較処理のフローチャートである。
【図６】図６は他の実施の形態によるメモリデータ比較処理のフローチャートである。
【図７】図７は従来技術を説明する図（１）である。
【図８】図８は従来技術を説明する図（２）である。
【符号の説明】
１  ＣＰＵ
２  ＲＯＭ
３，４  ＲＡＭ
５  アドレスデコーダ
６  不揮発性のメモリ
７  ＤＭＡ制御部
８  疑似Ｉ／Ｏ部
９  バススイッチ部
１０  データ比較部
１１  ＯＲゲート回路
１００  ＣＰＵボード
２００  メモリボード
ＡＢ  アドレスバス
ＤＢ  データバス
ＣＢ  コントロールバス
【図１】
0003630350.tif 000002
【図２】
0003630350.tif 000003
【図３】
0003630350.tif 000004
【図４】
0003630350.tif 000005
【図５】
0003630350.tif 000006
【図６】
0003630350.tif 000007
【図７】
0003630350.tif 000008
【図８】
0003630350.tif 000009