(57)【要約】【課題】ＣＰＵ制御バスにおけるデータ転送制御方法及び装置に関し、ＣＰＵによるメモリからデバイスへのデータ転送制御を、ライトアクセスのみの１回のアクセスで行い、ＣＰＵのデータ転送制御の処理ステップ及びＣＰＵ制御バスの占有時間を削減する。【解決手段】ＣＰＵ１は、メモリ２からデバイス３へのデータ転送時に、デバイス３のライトアドレス値を含むデータ転送アクセスを示すアドレス情報をＣＰＵ制御バスに出力し、デバイス３に対するライトアクセスを実施させる。データ転送アドレス空間識別部４は、ＣＰＵ１からＣＰＵ制御バスに出力されるアドレス情報を入力し、該アドレス情報を基に前述のデータ転送アクセスを認識し、メモリ２に対してデータ出力指示を行い、且つ、ＣＰＵデータバスディセーブル制御部５に対して、ＣＰＵ１からのデータ出力を無効化する制御指示を行い、ＣＰＵ１からＣＰＵ制御バスに出力されるデータを無効化する。【選択図】図１
2008234112.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵ、メモリ及びデバイスがＣＰＵ制御バスに接続され、該ＣＰＵ制御バスへのリードアクセス及びライトアクセスが該ＣＰＵの制御によって行われるＣＰＵ制御バスにおけるデータ転送制御方法において、
前記ＣＰＵは、前記メモリから前記デバイスへのデータ転送時に、該デバイスのライトアドレス値を含むデータ転送アクセスを示すアドレス情報を前記ＣＰＵ制御バスに出力し、該デバイスに対するライトアクセスを実施させるステップと、
前記ＣＰＵから前記ＣＰＵ制御バスに出力されるアドレス情報を入力するデータ転送アドレス空間識別部により、該アドレス情報を基に前記データ転送アクセスを認識し、前記メモリに対してデータ出力指示を行い、且つ、ＣＰＵデータバスディセーブル制御部に対して、前記ＣＰＵからのデータ出力を無効化する制御指示を行うステップと、
前記データ転送アドレス空間識別部からの指示信号を入力するＣＰＵ制御バスディセーブル制御部により、該指示信号に従って、前記ＣＰＵから前記ＣＰＵ制御バスに出力されるデータを無効化するステップと、
を含むことを特徴とするＣＰＵ制御バスにおけるデータ転送制御方法。
【請求項２】
ＣＰＵ、メモリ及びデバイスがＣＰＵ制御バスに接続され、該ＣＰＵ制御バスへのリードアクセス及びライトアクセスが該ＣＰＵの制御によって行われるＣＰＵ制御バスにおけるデータ転送制御装置において、
前記ＣＰＵから前記ＣＰＵ制御バスに出力されるアドレス情報を入力し、該アドレス情報を基に、前記メモリから前記デバイスへのデータ転送アクセスを認識し、前記メモリに対してデータ出力指示を行い、且つ、ＣＰＵデータバスディセーブル制御部に対して、前記ＣＰＵからのデータ出力を無効化する制御指示を行うデータ転送アドレス空間識別部と、
前記データ転送アドレス空間識別部からの指示信号に従って、前記ＣＰＵから前記ＣＰＵ制御バスに出力されるデータを無効化するＣＰＵ制御バスディセーブル制御部と、
を備えたことを特徴とするＣＰＵ制御バスデータ転送制御装置。
【請求項３】
前記データ転送アドレス空間識別部は、前記アドレス情報の上位ビットで定まる転送用データの格納エリアを示すアドレス値を基に、前記メモリから前記デバイスへのデータ転送アクセスを認識することを特徴とする請求項２に記載のＣＰＵ制御バスデータ転送制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＰＵ制御バスにおけるデータ転送制御方法及び装置に関し、特に、アドレス情報とデータ情報とが同一のバス上で時分割的に転送される形式のＣＰＵ制御バスを用い、ＣＰＵ（Central Processing Unit）の制御により、ＡＳＳＰ（Application Specific Standard Product）やＡＳＩＣ（Application Specific Integrated Circuit）等のロジックデバイスにデータを書き込むライトアクセスを高速に行うことを可能にするデータ転送制御方法及び装置に関する。
【背景技術】
【０００２】
図７に従来のＣＰＵ制御バスで接続された装置の構成例を示す。同図は、ＣＰＵ１とメモリ２とＡＳＳＰ又はＡＳＩＣ等のロジックデバイス３とがＣＰＵ制御バスを介して接続された構成例を示している。ＣＰＵ制御バスは、アドレス情報及びデータ情報を転送するＡＤＤ／ＤＡＴＡバス、アドレスストローブ信号線、ライトパルス信号線、リードパルス信号線及びＡＣＫ信号線を有する。なお、以下ではロジックデバイス３をデバイス３と称する。
【０００３】
図８は従来の構成例におけるメモリ２からデバイス３へのデータ転送の動作例を示し、同図の（ａ）はデータ転送の動作概要を、（ｂ）は該データ転送のフローチャートを示し、図９に該データ転送動作のタイムチャートを示している。従来、メモリ２からデバイス３へのデータ転送は、まず、（１）メモリ２からＣＰＵ１へリードアクセスによりデータを読み出し、次に、（２）ＣＰＵ１からデバイス３へライトアクセスによりデータを書き込む、という手順によって行っていた。
【０００４】
上記の動作を、図９のタイムチャートを参照して詳述する。なお、図８及び図９において、（Ａ）はＡＤＤ／ＤＡＴＡバス上のＣＰＵ１の入出力信号、（Ｂ）はＡＤＤ／ＤＡＴＡバス上のメモリ２の入出力信号、（Ｃ）はＡＤＤ／ＤＡＴＡバス上のデバイス３の入出力信号を示している。
【０００５】
また、図９において、（Ｄ）、（Ｅ）及び（Ｆ）は、ＣＰＵ１から出力されるアドレスストローブ信号、ライトパルス信号及びリードパルス信号をそれぞれ示し、（Ｇ）はメモリ２又はデバイス３から出力されるＡＣＫ信号を示している。従来の構成において、メモリ２からデバイス３へのデータ転送は以下の手順によって行われる。
【０００６】
まず、メモリ２からＣＰＵ１ヘデータを転送するメモリリードサイクルでは、図９のタイムチャート中の（１）の区間において、ＣＰＵ１はＡＤＤ／ＤＡＴＡバスにアドレス情報を出力すると共にアドレスストローブ信号線にアドレスストローブ信号を送出し、メモリ２は、アドレスストローブ信号の立下りエッジでＣＰＵ１から出力されたアドレス値をラッチし、次にＣＰＵ１から出力されるリードパルス信号が‘Ｌ’（低レベル）の区間で、該アドレス値のデータを読み出して出力するとともにＡＣＫ信号を出力する。
【０００７】
ＣＰＵ１は、リードパルス信号の立上りタイミングでメモリ２からの出力データを取り込む。以上の動作がメモリリードサイクル（１）の区間の動作シーケンスである。その後、ＣＰＵ１からデバイス３へデータを転送するライトサイクル（２）が開始される。
【０００８】
ＣＰＵ１からデバイス３へデータを転送するライトサイクルでは、図９中のタイムチャートの（２）の区間において、ＣＰＵ１から転送先のアドレス値をＡＤＤ／ＤＡＴＡバスに出力すると共にアドレスストローブ信号線にアドレスストローブ信号を送出し、その後、ライトパルス信号を出力してその‘Ｌ’の区間に書き込みデータを出力する。
【０００９】
デバイス３は、上記アドレスストローブ信号の立下りタイミングでアドレス値を取り込み、次にライトパルス信号の‘Ｌ’の区間にＡＣＫ信号を出力し、ライトパルス信号の立上りタイミングでＣＰＵ１からのデータをＡＤＤ／ＤＡＴＡバスから取り込む。以上の動作がデバイスライトサイクル（２）の区間の動作シーケンスである。
【００１０】
本発明に関連する先行技術文献として下記の特許文献１には、ＣＰＵメインバスによりＣＰＵと接続された中間バッファ、ホストシステムをＣＰＵメインバスへ接続するホストインタフェース、外部メモリをＣＰＵメインバスへ接続する周辺デバイスインタフェースを備えたデータ処理装置において、ホストインタフェースと中間バッファとの間、及び中間バッファと周辺デバイスインタフェースとの間へ設けられたローカルバスを用い、中間バッファのデータ転送開始機能により、中間バッファとローカルバスを使用し、ホストシステムと外部メモリとの間の自動データ転送を行うようにし、ＣＰＵメインバス接続構成を変更することなく、データ転送のためのＣＰＵ負荷を軽減し、メインバスがデータ転送のために占有されてしまう状況を回避するようにしたデータ転送方法及び装置について記載されている。
【特許文献１】特開２００５−３１６７００号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
図７〜図９に示した従来の構成のデータ転送では、メモリ２からデバイス３へのデータの転送に際して、ＣＰＵ１からメモリ２へのリードアクセス及びデバイス１へのライトアクセスという２回のアクセスサイクルが必要となり、ＣＰＵ１における処理時間及びＣＰＵ制御バスの占有時間として２回のアクセスサイクル分を要し、その分、データ転送処理を高速化することの妨げになっていた。本発明は、ＣＰＵ１によるメモリ２からデバイス３へのデータ転送制御を高速化することが可能なＣＰＵ制御バスにおけるデータ転送制御方法及び装置を提供する。
【課題を解決するための手段】
【００１２】
本発明のＣＰＵ制御バスにおけるデータ転送制御は、ＣＰＵ、メモリ及びデバイスがＣＰＵ制御バスに接続され、該ＣＰＵ制御バスへのリードアクセス及びライトアクセスが該ＣＰＵの制御によって行われるＣＰＵ制御バスにおけるデータ転送制御において、前記ＣＰＵは、前記メモリから前記デバイスへのデータ転送時に、該デバイスのライトアドレス値を含むデータ転送アクセスを示すアドレス情報を前記ＣＰＵ制御バスに出力し、該デバイスに対するライトアクセスを実施させ、前記ＣＰＵから前記ＣＰＵ制御バスに出力されるアドレス情報を入力するデータ転送アドレス空間識別部により、該アドレス情報を基に前記データ転送アクセスを認識し、前記メモリに対してデータ出力指示を行い、且つ、ＣＰＵデータバスディセーブル制御部に対して、前記ＣＰＵからのデータ出力を無効化する制御指示を行い、前記データ転送アドレス空間識別部からの指示信号を入力するＣＰＵ制御バスディセーブル制御部により、該指示信号に従って、前記ＣＰＵから前記ＣＰＵ制御バスに出力されるデータを無効化することを特徴とする。
【００１３】
また、前記データ転送アドレス空間識別部は、前記アドレス値の上位ビットで定まる転送用データの格納エリアを示すアドレス値を基に、前記メモリから前記デバイスへのデータ転送アクセスを認識することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、ＣＰＵからライトアクセスによる１回のアクセスで、メモリからデバイスへのデータの直接転送が可能となり、ＣＰＵのデータ転送制御の処理ステップが削減され、また、ＣＰＵ制御バスの占有時間が削減され、装置全体としての処理能力及び処理速度を向上させることができる。
【００１５】
また、データ転送アクセスであるか否かを、デバイスへの書き込みアドレスを含むアドレス値を基にしたアドレス空間の識別によって行うことにより、従来の機能であるＣＰＵによる通常のリードアクセス／ライトアクセス処理と、メモリからデバイスへの直接のデータ転送処理とを、アドレス値のデコードによる容易な構成で切り分けることが可能となる。
【発明を実施するための最良の形態】
【００１６】
図１に本発明によるＣＰＵ制御バスで接続された装置の構成例を示す。同図は、ＣＰＵ制御バスにＣＰＵ１、メモリ２及びデバイス３が接続された構成例を示し、更に本発明では、同図に示すようにデータ転送アドレス空間識別部４及びＣＰＵ制御バスディセーブル制御部５を設ける。
【００１７】
データ転送アドレス空間識別部４は、ＣＰＵ１からＣＰＵ制御バスへのアクセスが通常のアクセスか、メモリ２からデバイス３へのデータ転送アクセスかを、アドレス情報を基に識別し、メモリ２からデバイス３へのデータ転送アクセスの場合は、メモリ２に対してデータ出力指示を行い、且つ、ＣＰＵデータバスディセーブル制御部５に対して、ＣＰＵ１からのデータ出力を無効（ディセーブル）化する制御指示を行う。
【００１８】
ＣＰＵデータバスディセーブル制御部５は、メモリ２からデバイス３へＣＰＵ制御バスを介してデータを転送するタイミングにおいて、データ転送アドレス空間識別部４からの制御指示により、ＣＰＵ１からのデータ出力を無効（ディセーブル）化する制御を行う。
【００１９】
上記ＣＰＵ制御バスは、従来の構成例と同様に、アドレス情報及びデータ情報を転送するＡＤＤ／ＤＡＴＡバス、アドレスストローブ信号線、ライトパルス信号線、リードパルス信号線及びＡＣＫ信号線を有する。
【００２０】
図２は、図１に示した装置構成例におけるメモリ２からデバイス３へのデータ転送の動作例を示し、同図の（ａ）はデータ転送の動作概要を、（ｂ）は該データ転送のフローチャートを示し、図３は該データ転送動作のタイムチャートを示している。同図に示すように、メモリ２からデバイス３へのデータ転送は、デバイス３に対するライトアクセス（１）のみによって行う。
【００２１】
図２及び図３において、（Ａ）はＡＤＤ／ＤＡＴＡバス上のＣＰＵ１の入出力信号、（Ｂ）はＡＤＤ／ＤＡＴＡバス上のメモリ２の入出力信号、（Ｃ）はＡＤＤ／ＤＡＴＡバス上のデバイス３の入出力信号を示している。また、図３において、（Ｄ）、（Ｅ）及び（Ｆ）は、ＣＰＵ１から出力されるアドレスストローブ信号、ライトパルス信号及びリードパルス信号をそれぞれ示し、（Ｇ）はデバイス３から出力されるＡＣＫ信号を示している。
【００２２】
本発明によるデータ転送の動作を、図３のタイムチャートを参照して説明する。同図に示すように、まず、ＣＰＵ１からデータ転送先のアドレス値のアドレス情報を出力する。該アドレス値が転送アドレスでない場合は、以降の動作は従来のＣＰＵ１からのリード／ライトアクセスと同様の動作となる。
【００２３】
該アドレス値が転送アドレスの場合、データ転送アドレス空間識別部４は、該アドレス値が転送アクセスであることを認識し、メモリ２に対してデータ出力指示信号を送出し、かつ、ＣＰＵデータバスディセーブル制御部５に対して、ＣＰＵ１からの出力データを無効（ディセーブル）化する制御指示信号を送出する。
【００２４】
データ転送アドレス空間識別部４は、ＣＰＵ１から出力されるアドレス値が転送アドレスであるか否かを、該アドレス値の上位ビットの値等、予め転送用データの格納エリアとして割り当てているアドレス空間を示す値を基に判断する。
【００２５】
転送用データの格納エリアのアドレス空間として、例えば、該アドレス空間のアドレス値の下位ビットを、データ転送先であるデバイス３のライトアドレスとし、該アドレス値の上位ビットと下位ビットとで定まるアドレスを、メモリ２のリードアドレスとして割り当てておくことができる。
【００２６】
上記アドレス値がＣＰＵ１からＡＤＤ／ＤＡＴＡバス上に出力され、アドレスストローブ信号がＣＰＵ１から出力されると、該アドレスストローブ信号の立下りタイミングで、メモリ２、デバイス３及びデータ転送アドレス空間識別部４は、該アドレス値を取り込む。
【００２７】
データ転送アドレス空間識別部４は、該アドレス値が転送アドレスであることを認識すると、ＣＰＵデータバスディセーブル制御部５に対して、ＣＰＵ１からのデータ出力を無効（ディセーブル）化する制御指示を行う。該アドレスストローブ信号の立下りタイミングから、デバイス３のＡＣＫ信号の立上りタイミングまでを、ＣＰＵデータバスディセーブル制御区間とする。
【００２８】
また、メモリ２からのデータ出力制御区間を、ＣＰＵ１から出力されるライトパルス信号の立下りタイミングから、デバイス３から出力されるＡＣＫ信号の立上りタイミングまでとする。メモリ２では該データ出力制御区間中、デバイス３への書き込みデータ（転送用データ）を出力する。デバイス３は、ＣＰＵ１からのライトアクセスが行われている場合と同等の動作となり、メモリ２から出力されたデータは直接デバイス３に書きこまれる。
【００２９】
図４に本発明のデータ転送アドレス空間識別部の構成例を示し、図５に該データ転送アドレス空間識別部の入出力信号のタイムチャートを示す。図４及び図５を参照してデータ転送アドレス空間識別部の構成を説明する。アドレスデコード部４１は、ＣＰＵ１からＡＤＤ／ＤＡＴＡバス上に出力されるアドレス情報を入力し（図５の（Ａ）参照）、該アドレス情報をデコードして、該アドレス情報が転送アドレスであるとき、‘Ｈ’（高レベル）を出力する(図５の（Ｂ）参照）。
【００３０】
立下りエッジ検出部４２はアドレスデコード部４１の出力信号とアドレスストローブ信号との論理積の信号の立下りエッジを検出したとき、ラッチ部４４に対してセットパルスを出力する（図５の（Ｃ），（Ｄ）参照）。立上りエッジ検出部４３はＡＣＫ信号の立上りエッジを検出したとき、ラッチ部４３に対してリセットパルスを出力する（図５の（Ｅ），（Ｆ）参照）。
【００３１】
ラッチ部４４は、立下りエッジ検出部４２から出力されるセットパルスの立下りエッジで‘Ｈ’に遷移し、立上り検出部４３から出力されるリセットパルスの立下りエッジで‘Ｌ’に遷移するパルスを生成する（図５の（Ｇ）参照）。該パルスがＣＰＵデータディセーブル信号となる。（‘Ｈ’のときＣＰＵデータディセーブル）
【００３２】
フリップフロップ回路（ＦＦ）４５は、アドレスデコード部４１の出力をアドレスストローブ信号の立下りエッジでラッチをする。アドレス情報が転送アドレスのとき、フリップフロップ回路（ＦＦ）４５の出力は、‘Ｈ’に遷移する（図５の（Ｈ）参照）。該フリップフロップ回路（ＦＦ）４５の出力とライトパルス信号（図５の（Ｉ）参照）の反転値とのＡＮＤ論理信号を、メモリ２へのデータ出力指示信号として出力する（図５のＪ参照）。該データ出力指示信号が ‘Ｈ’のときメモリ２からデータを出力する。
【００３３】
図６に本発明のＣＰＵデータバスディセーブル制御部の構成例を示す。図６に示すように、ＣＰＵ１側からＣＰＵ制御バス側への信号経路に、トライステートのバッファ増幅器５１を設け、ＣＰＵデータバスディセーブル信号が‘Ｈ’のとき、該トライステートのバッファ増幅器５１をハイインピーダンス状態となるようにし、ＣＰＵ１側からのデータ出力がＣＰＵ制御バス側へ出力されないよう、ＣＰＵ１の出力をディセーブル化する。
【図面の簡単な説明】
【００３４】
【図１】本発明によるＣＰＵ制御バスで接続された装置の構成例を示す図である。
【図２】本発明の装置構成例におけるデータ転送の動作例を示す図である。
【図３】本発明のデータ転送動作のタイムチャートを示す図である。
【図４】本発明のデータ転送アドレス空間識別部の構成例を示す図である。
【図５】本発明のデータ転送アドレス空間識別部の入出力信号のタイムチャートを示す図である。
【図６】本発明のＣＰＵデータバスディセーブル制御部の構成例を示す図である。
【図７】従来のＣＰＵ制御バスで接続された装置の構成例を示す図である。
【図８】従来の構成例におけるデータ転送の動作例を示す図である。
【図９】従来のデータ転送動作のタイムチャートを示す図である。
【符号の説明】
【００３５】
１  ＣＰＵ
２  メモリ
３  デバイス
４  データ転送アドレス空間識別部
５  ＣＰＵデータバスディセーブル制御部
【図１】
2008234112.tif 000003
【図２】
2008234112.tif 000004
【図３】
2008234112.tif 000005
【図４】
2008234112.tif 000006
【図５】
2008234112.tif 000007
【図６】
2008234112.tif 000008
【図７】
2008234112.tif 000009
【図８】
2008234112.tif 000010
【図９】
2008234112.tif 000011