(57)【要約】【課題】　適応性を具えた指令とデータアクセス方法と構造の提供。【解決手段】　複数種類のデータ伝送レベルが設けられ、現在のデータ伝送レベルにより外部メモリ装置の指令とデータを取り込む。そのうち、各データ伝送レベルが対応する該外部メモリ装置と快速アクセス装置インタフェース上の連続データ伝送レングスを有する。プロセッサコアの行なう指令とデータアクセスの実際のバーストレングスにより、現在のデータ伝送レベルを動態調整する。【選択図】　　　　図３
2004103004.tif 000002
【特許請求の範囲】
【請求項１】
　複数種類のデータ伝送レベルが設けられ、現在のデータ伝送レベルにより指令とデータにアクセスする適応性を具えた指令とデータアクセス構造であり、この構造は、第１モジュール、第２モジュール及び適応性コントローラを具え、該第１モジュールはバースト伝送の能力を具え、指定されたバーストレングスのデータ列を連続送出してデータアクセスを行ない、該第２モジュールは、データアクセスに供され、各前記データ伝送レベルは第２モジュールと第１モジュールのインタフェース上の対応する連続データ伝送レングスを有し、該適応性コントローラは、第１モジュールのデータアクセスの実際のバーストレングスにより、現在のデータ伝送レベルを動態調整することを特徴とする、適応性を具えた指令とデータアクセス構造。
【請求項２】
　前記第２モジュールがメモリ装置とされ、該第１モジュールはプロセッサコアと快速アクセス装置を具え、該プロセッサコアはバースト伝送の能力を具え、指定されたバーストレングスのデータ列を連続して送出或いは受け取ってデータアクセスを行なうことができ、該快速アクセス装置は、第２モジュールより送られた一部の指令とデータを保存し、プロセッサコアが指令とデータに快速アクセスするための記憶空間を提供し、各データ伝送レベルが第２モジュールと快速アクセス装置インタフェース上の対応する連続データ伝送レングスを有することを特徴とする、請求項１記載の適応性を具えた指令とデータアクセス構造。
【請求項３】
　前記適応性コントローラがバーストレングス計算ロジックとデータ伝送レベル切り換えロジックを具え、該バーストレングス計算ロジックはデータ伝送指令起動後に、プロセッサコアの一回の連続データ量のレングスを計算して該プロセッサコアが当時に行なう指令とデータアクセスの実際のバーストレングスを求め、該データ伝送レベル切り換えロジックは、実際に発生したバーストレングスを記録し、これにより現在のデータ伝送レベルを調整することを特徴とする、請求項２記載の適応性を具えた指令とデータアクセス構造。
【請求項４】
　前記データ伝送レベル切り換えロジックが記録する実際に発生したバーストレングスが対応するデータ伝送レベル中にあって、現在のデータ伝送レベルより高いレベルの実際に発生する回数が現在のデータ伝送レベルの実際に発生する回数より多く、且つ差の値が第１しきい値より多ければデータ伝送レベルを増し、反対に、現在のデータ伝送レベルより低いレベルの実際に発生する回数が現在のデータ伝送レベルの実際に発生する回数より多く、且つ差の値が第１しきい値より大きければ、データ伝送レベルを引き下げることを特徴とする、請求項３記載の適応性を具えた指令とデータアクセス構造。
【請求項５】
　前記データ伝送レベル切り換えロジックが複数のレベルに対応する複数の計数器を具え、これによりバイナリ方式でプロセッサコアが実際に発生するバーストレングスを記録することを特徴とする、請求項４記載の適応性を具えた指令とデータアクセス構造。
【請求項６】
　現在のレベルより高い或いは低い全てのレベルの計数器の値の総和が現在のレベルの計数器の値に対して、第１しきい値より大きければ、これらの現在のレベルより高い或いは低い全てのレベル中より、最大の計数器の値を具えたレベルを現在のレベルとして選択することを特徴とする、請求項５記載の適応性を具えた指令とデータアクセス構造。
【請求項７】
　現在のレベルより高い或いは低い全てのレベルの計数器の値の総和が現在のレベルの計数器の値に対して、第１しきい値より大きければ、これらの現在のレベルより高い或いは低い全てのレベルを選択し、最大の計数器の値と次に大きい計数器の値の差が第２しきい値より大きいかを判断し、もし大きければ、最大の計数器の値のレベルを現在のレベルとし、もし大きくなければ、次に大きい計数器の値のレベルを現在のレベルとすることを特徴とする、請求項５記載の適応性を具えた指令とデータアクセス構造。
【請求項８】
　前記快速アクセス装置がキャッシュモジュールとプレフェッチモジュールで構成され、各データ伝送レベルが外部メモリ装置と該プレフェッチモジュールのインタフェース上の対応する連続データ伝送レングスと、該キャッシュモジュールと該プレフェッチモジュールのインタフェース上の対応する連続データ伝送レングスを具えたことを特徴とする、請求項４記載の適応性を具えた指令とデータアクセス構造。
【請求項９】
　データ伝送レベルＮが連続データ伝送レングス２N 単位に対応することを特徴とする、請求項４記載の適応性を具えた指令とデータアクセス構造。
【請求項１０】
　第１モジュールと第２モジュールがバスを介してデータ伝送することを特徴とする、請求項１記載の適応性を具えた指令とデータアクセス構造。
【請求項１１】
　適応性を具えた指令とデータアクセス方法において、第１モジュール中に複数のデータ伝送レベルを設け、現在のデータ伝送レベルにより第２モジュールの指令とデータにアクセスし、第１モジュールがこれらデータ伝送レベルに対応する複数の計数器を具え、バイナリ方式で該第１モジュールが実際に発生するバーストレングスを記録し、該適応性を具えた指令とデータアクセス方法は、
　（Ａ）あるデータ伝送レベルを現在のレベルに指定するステップ、
　（Ｂ）プロセッサのデータアクセス行為による実際のバーストレングスを計算し、並びにこのレングス値をこれら計数器中に記録するステップ、
　（Ｃ）現在のレベルより高いか或いは低い全てのレベルの計数器の値の総和が現在のレベルの計数器の値に対して第１しきい値より大きいかを判断し、大きくなければ（Ｂ）のステップを実行し、大きければ以下の（Ｄ）のステップを実行するステップ、
　（Ｄ）これらの現在のレベルより高いか低い全てのレベルを選択し、最大計数器値と次に大きい計数器値の差の値が、第２しきい値より大きいかを判断し、もし大きければ、最大計数器値のレベルを現在のレベルとし、大きくなければ、次に大きい計数器値のレベルを現在のレベルとするステップ
　以上のステップを具えたことを特徴とする、適応性を具えた指令とデータアクセス方法。
【請求項１２】
　（Ｄ）のステップで、現在のレベルより高い及び低いレベルの計数器の値がいずれもしきい値を超過していれば、そのうちの比較的大きいものを選択することを特徴とする、請求項１１記載の適応性を具えた指令とデータアクセス方法。
【発明の詳細な説明】
【技術分野】
【０００１】
　本発明は指令とデータアクセスの構造及び方法に係り、特に、適応性を具えた指令とデータアクセス方法と構造に関する。
【背景技術】
【０００２】
　現在のコンピュータシステムのプロセッサの構造にあって、プロセッサコアの処理速度が大幅に高まったことにより、メモリのアクセスが性能のネックとなっている。このため、キャッシュ（Ｃａｃｈｅ）構造が重要な改善方法となっている。キャッシュは固定レングスの複数の指令或いはデータレングスを１単位としてメモリに取り込む。この単位はキャッシュラインと称される。このキャッシュラインの大きさはメモリのアクセス単位に関係する。例えば、現在、バースト伝送（Ｂｕｒｓｔ　Ｔｒａｎｓｆｅｒ）の能力を具えた多くのメモリ中、データアクセスを実行する時、一次アドレスを定め各種の関係設定を行なえば、連続して指定されたバーストレングス（Ｂｕｒｓｔ　Ｌｅｎｇｔｈ）のデータ列を送出することができ、これによりデータ伝送の前の設定にかかる初期化遅延（Ｉｎｉｔｉａｌ　Ｄｅｌａｙ）時間を減少できる。このようなメモリ中、キャッシュラインの大きさは一般にバーストレングスの大きさに関係する。
【０００３】
　図１は前述のキャッシュ機能を具えたプロセッサ構造を示す。そのうち、プロセッサが運転する時、必要な指令或いはデータの所属するキャッシュラインがちょうどキャッシュモジュール１１中にある時、プロセッサコア１４はこの指令を快速取得でき、時間遅延はないか或いは時間遅延が極めて短い。しかし、もし必要な指令或いはデータがキャッシュモジュール１１中になければ、キャッシュミス（Ｃａｃｈｅ　Ｍｉｓｓ）が発生し、このときは外部メモリ装置１３より必要なデータを読み込む必要がある。この動作はキャッシュレフィル（Ｃａｃｈｅ　Ｒｅｆｉｌｌ）と称される。全てのキャッシュラインをキャッシュモジュール１１中に読み込む必要があるため、相当に高いシステム遅延が形成されうる。これはキャッシュミスペナルティー（Ｃａｃｈｅ　Ｍｉｓｓ　Ｐｅｎａｌｔｙ）と称される。
【０００４】
　キャッシュミスペナルティーは常に、プロセッサが最初にプログラムコード或いはデータセクションにアクセスした時に連続して出現し、システム性能に厳重な影響を与える。プレフェッチ（Ｐｒｅｆｅｔｃｈｉｎｇ）はこの問題を解決し効率を高めるための重要なテクニックである。図２に示されるように、プレフェッチモジュール１２によりプロセッサコア１４が次に使用が必要となりうるプログラムコードエリア或いはデータエリアを予測し、あらかじめこのエリアをプレフェッチモジュール１２内に読み込む。プロセッサコア１４がキャッシュモジュール１１中より必要な指令或いはデータを取得できずにキャッシュミスが発生すると判断する時、プレフェッチモジュール１２をサーチし、もし必要な指令或いはデータがプレフェッチモジュール１２に取り込まれていれば、プレフェッチモジュール１２中より必要なキャッシュラインをキャッシュモジュール１１内に読み込み、これによりキャッシュミスペナルティー時に必要とされる代償を大幅に減らす。ただし、もし必要な指令或いはデータがプレフェッチモジュール１２にも存在しなければ、プレフェッチミス（Ｐｒｅｆｅｔｃｈ　Ｍｉｓｓ）が発生し、外部メモリ装置１３中より必要なキャッシュラインを取得することが必要となり、これにより相当に高いシステム遅延がもたらされる。これはプレフェッチミスペナルティー（Ｐｒｅｆｅｔｃｈ　Ｍｉｓｓ　Ｐｅｎａｌｔｙ）と称される。
【０００５】
　前述のプレフェッチモジュール１２は計算機組織中にあって、外部メモリ装置１３、キャッシュモジュール１１とプロセッサコア１４の間に介在し、伝統的な構造はいずれも直接キャッシュモジュール１１の構造を援用し、キャッシュラインと同じデータレングスを使用し、さらにダイナミックメモリバースト伝送レングスをデータ伝送単位としている。しかし、プレフェッチモジュール１２とキャッシュモジュール１１及びプロセッサコア１４の間は動態メモリのインタフェースではなく、このためキャッシュラインをデータ伝送単位とする必要はない。キャッシュラインをデータ伝送単位とすると、却ってデータ伝送の遅延がもたらされ、データ伝送が不活発となる。
【０００６】
　具体的に言うと、キャッシュモジュール１１とプレフェッチモジュール１２を具えたプロセッサ構造中、モジュール間には三つの主要なインタフェースがある。第１インタフェース１５は外部インタフェースであり、それは外部メモリ装置１３と接続される。第２インタフェース１６はプレフェッチモジュール１２とキャッシュモジュール１１のインタフェースである。第３インタフェース１７はキャッシュモジュール１１とプロセッサコア１４のインタフェースであり、この第３インタフェース１７はキャッシュモジュール１１中の指令とデータをプロセッサに送るのに供される。伝統的に、第１インタフェース１５及び第２インタフェース１６にはキャッシュラインと同じデータレングスのデータ伝送単位が使用され、第３インタフェース１７のデータアクセスが、もし第１インタフェースと第２インタフェースのアクセスと関係する時も、キャッシュラインのデータレングスのアクセス完成後でなければ、動作できない。しかし、キャッシュラインのデータレングスは必ずしもプレフェッチモジュール１２と外部メモリ装置１３、キャッシュモジュール１１とプロセッサコア１４の間の最良のデータ伝送単位ではない。なぜならキャッシュラインの大きさはキャッシュモジュール１１のメモリ組織構造と非常に関係があり、プロセッサの実行過程にあって、キャッシュラインの大きさが固定されているためである。しかし、プロセッサが実際にプログラムを実行し、指令をキャプチャしデータにアクセスする時、その行為モードは不断に動態改変する。固定されたキャッシュラインのデータレングスをデータ伝送単位とすると、各種の状況に対して最適化が行ないにくく、異なる状況下で不経済な資源浪費を発生しうる。
【０００７】
　例えば、固定キャッシュラインレングスをデータ伝送単位とすると、以下のような不経済な浪費状況が発生しうる。
　１．各インタフェースデータの伝送上、連続する長いデータにアクセスする時、データレングスが現在のキャッシュラインレングスより長いことを知ることができる。しかし、キャッシュラインのデータレングスは固定されているため、比較的長いバーストレングス設定を利用して初期化遅延の回数を減らすことはできず、このため時間の浪費を形成する。
　２．各インタフェースデータ伝送上、短いデータにアクセスする時、データレングスがキャッシュラインレングスより短いことを知ることができる。しかし、キャッシュラインレングスが固定されているため、キャッシュラインデータレングスを以てデータアクセスする必要があり、ゆえに不必要なデータまでも読み込まねばならなくなり、資源の浪費を形成する。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
　本発明の目的は、一種の適応性を具えた指令とデータアクセス方法と構造を提供することにあり、それは、プロセッサの実際の運転の状況により、各種のアクセスインタフェースがアクセスする指令或いはデータ量を調整することにより、指令とデータのアクセスの性能の最適化を達成する方法及び構造であるものとする。
【０００９】
　本発明は適応性を具えた指令とデータアクセス構造をし、それは、複数種類のデータ伝送レベルが設けられ、現在のデータ伝送レベルにより指令とデータにアクセスする。この構造は、第１モジュール、第２モジュール及び適応性コントローラを具え、該第１モジュールはバースト伝送の能力を具え、指定されたバーストレングスのデータ列を連続送出してデータアクセスを行ない、該第２モジュールは、データアクセスに供され、各前記データ伝送レベルが第２モジュールと第１モジュールのインタフェース上の連続データ伝送レングスに対応し、該適応性コントローラは、第１モジュールのデータアクセスの実際のバーストレングスにより、現在のデータ伝送レベルを動態調整する。
【００１０】
　本発明はまた適応性を具えた指令とデータアクセス方法を提供し、それは、第１モジュール中に複数のデータ伝送レベルを設け、現在のデータ伝送レベルにより第２モジュールの指令とデータにアクセスし、第１モジュールがこれらデータ伝送レベルに対応する複数の計数器を具え、バイナリ方式で該第１モジュールが実際に発生するバーストレングスを記録し、該適応性を具えた指令とデータアクセス方法は、
　（Ａ）あるデータ伝送レベルを現在のレベルに指定するステップ、
　（Ｂ）プロセッサのデータアクセス行為による実際のバーストレングスを計算し、並びにこのレングス値をこれら計数器中に記録するステップ、
　（Ｃ）現在のレベルより高いか或いは低い全てのレベルの計数器の値の総和が現在のレベルの計数器の値に対して第１しきい値より大きいかを判断し、大きくなければ（Ｂ）のステップを実行し、大きければ以下の（Ｄ）のステップを実行するステップ、
　（Ｄ）これらの現在のレベルより高いか低い全てのレベルを選択し、最大計数器値と次に大きい計数器値の差の値が、第２しきい値より大きいかを判断し、もし大きければ、最大計数器値のレベルを現在のレベルとし、大きくなければ、次に大きい計数器値のレベルを現在のレベルとするステップ。
【課題を解決するための手段】
【００１１】
　請求項１の発明は、複数種類のデータ伝送レベルが設けられ、現在のデータ伝送レベルにより指令とデータにアクセスする適応性を具えた指令とデータアクセス構造であり、この構造は、第１モジュール、第２モジュール及び適応性コントローラを具え、該第１モジュールはバースト伝送の能力を具え、指定されたバーストレングスのデータ列を連続送出してデータアクセスを行ない、該第２モジュールは、データアクセスに供され、各前記データ伝送レベルは第２モジュールと第１モジュールのインタフェース上の対応する連続データ伝送レングスを有し、該適応性コントローラは、第１モジュールのデータアクセスの実際のバーストレングスにより、現在のデータ伝送レベルを動態調整することを特徴とする、適応性を具えた指令とデータアクセス構造としている。
　請求項２の発明は、前記第２モジュールがメモリ装置とされ、該第１モジュールはプロセッサコアと快速アクセス装置を具え、該プロセッサコアはバースト伝送の能力を具え、指定されたバーストレングスのデータ列を連続して送出或いは受け取ってデータアクセスを行なうことができ、該快速アクセス装置は、第２モジュールより送られた一部の指令とデータを保存し、プロセッサコアが指令とデータに快速アクセスするための記憶空間を提供し、各データ伝送レベルが第２モジュールと快速アクセス装置インタフェース上の対応する連続データ伝送レングスを有することを特徴とする、請求項１記載の適応性を具えた指令とデータアクセス構造としている。
　請求項３の発明は、前記適応性コントローラがバーストレングス計算ロジックとデータ伝送レベル切り換えロジックを具え、該バーストレングス計算ロジックはデータ伝送指令起動後に、プロセッサコアの一回の連続データ量のレングスを計算して該プロセッサコアが当時に行なう指令とデータアクセスの実際のバーストレングスを求め、該データ伝送レベル切り換えロジックは、実際に発生したバーストレングスを記録し、これにより現在のデータ伝送レベルを調整することを特徴とする、請求項２記載の適応性を具えた指令とデータアクセス構造としている。
　請求項４の発明は、前記データ伝送レベル切り換えロジックが記録する実際に発生したバーストレングスが対応するデータ伝送レベル中にあって、現在のデータ伝送レベルより高いレベルの実際に発生する回数が現在のデータ伝送レベルの実際に発生する回数より多く、且つ差の値が第１しきい値より多ければデータ伝送レベルを増し、反対に、現在のデータ伝送レベルより低いレベルの実際に発生する回数が現在のデータ伝送レベルの実際に発生する回数より多く、且つ差の値が第１しきい値より大きければ、データ伝送レベルを引き下げることを特徴とする、請求項３記載の適応性を具えた指令とデータアクセス構造としている。
　請求項５の発明は、前記データ伝送レベル切り換えロジックが複数のレベルに対応する複数の計数器を具え、これによりバイナリ方式でプロセッサコアが実際に発生するバーストレングスを記録することを特徴とする、請求項４記載の適応性を具えた指令とデータアクセス構造としている。
　請求項６の発明は、現在のレベルより高い或いは低い全てのレベルの計数器の値の総和が現在のレベルの計数器の値に対して、第１しきい値より大きければ、これらの現在のレベルより高い或いは低い全てのレベル中より、最大の計数器の値を具えたレベルを現在のレベルとして選択することを特徴とする、請求項５記載の適応性を具えた指令とデータアクセス構造としている。
　請求項７の発明は、現在のレベルより高い或いは低い全てのレベルの計数器の値の総和が現在のレベルの計数器の値に対して、第１しきい値より大きければ、これらの現在のレベルより高い或いは低い全てのレベルを選択し、最大の計数器の値と次に大きい計数器の値の差が第２しきい値より大きいかを判断し、もし大きければ、最大の計数器の値のレベルを現在のレベルとし、もし大きくなければ、次に大きい計数器の値のレベルを現在のレベルとすることを特徴とする、請求項５記載の適応性を具えた指令とデータアクセス構造としている。
　請求項８の発明は、前記快速アクセス装置がキャッシュモジュールとプレフェッチモジュールで構成され、各データ伝送レベルが外部メモリ装置と該プレフェッチモジュールのインタフェース上の対応する連続データ伝送レングスと、該キャッシュモジュールと該プレフェッチモジュールのインタフェース上の対応する連続データ伝送レングスを具えたことを特徴とする、請求項４記載の適応性を具えた指令とデータアクセス構造としている。
　請求項９の発明は、データ伝送レベルＮが連続データ伝送レングス２N 単位に対応することを特徴とする、請求項４記載の適応性を具えた指令とデータアクセス構造としている。
　請求項１０の発明は、第１モジュールと第２モジュールがバスを介してデータ伝送することを特徴とする、請求項１記載の適応性を具えた指令とデータアクセス構造としている。
　請求項１１の発明は、適応性を具えた指令とデータアクセス方法において、第１モジュール中に複数のデータ伝送レベルを設け、現在のデータ伝送レベルにより第２モジュールの指令とデータにアクセスし、第１モジュールがこれらデータ伝送レベルに対応する複数の計数器を具え、バイナリ方式で該第１モジュールが実際に発生するバーストレングスを記録し、該適応性を具えた指令とデータアクセス方法は、
　（Ａ）あるデータ伝送レベルを現在のレベルに指定するステップ、
　（Ｂ）プロセッサのデータアクセス行為による実際のバーストレングスを計算し、並びにこのレングス値をこれら計数器中に記録するステップ、
　（Ｃ）現在のレベルより高いか或いは低い全てのレベルの計数器の値の総和が現在のレベルの計数器の値に対して第１しきい値より大きいかを判断し、大きくなければ（Ｂ）のステップを実行し、大きければ以下の（Ｄ）のステップを実行するステップ、
　（Ｄ）これらの現在のレベルより高いか低い全てのレベルを選択し、最大計数器値と次に大きい計数器値の差の値が、第２しきい値より大きいかを判断し、もし大きければ、最大計数器値のレベルを現在のレベルとし、大きくなければ、次に大きい計数器値のレベルを現在のレベルとするステップ
　以上のステップを具えたことを特徴とする、適応性を具えた指令とデータアクセス方法としている。
　請求項１２の発明は、（Ｄ）のステップで、現在のレベルより高い及び低いレベルの計数器の値がいずれもしきい値を超過していれば、そのうちの比較的大きいものを選択することを特徴とする、請求項１１記載の適応性を具えた指令とデータアクセス方法としている。
【発明の効果】
【００１２】
　本発明は適応性コントローラによりプロセッサコアが行なう指令或いはデータアクセスの実際のバーストレングスをモニタリングし、実際に発生するバーストレングスを類型し、ゆえに現在のデータ伝送レベルに対して最適化の調整が行なえ、これにより指令或いはデータのキャプチャ、プレフェッチ及びアクセスの性能を最適化できる。
。本発明の構造は新規であり、産業上の利用価値を有し、且つ確実に機能を増し、特許の要件を具備している。
【発明を実施するための最良の形態】
【００１３】
　図３は本発明の適応性を具えた指令とデータアクセス構造の表示図であり、それによると、コンピュータシステム中の第１モジュール１０と第２モジュール２０の間にあって、適応性コントローラ３３でデータの伝送を制御し、第１モジュール１０はプロセッサ、デジタル信号プロセッサ、ＤＭＡメインコントロール装置、バスメインコントローラ、特殊化された演算モジュール、或いはその他のオーディオビデオ処理モジュールとされうる。該第２モジュール２０はメモリ、ＤＭＡ従属装置、バス従属装置、ＨＤ／ＣＤ／ＤＶＤ装置、或いはネットワーク設備とされうる。本実施例では、該第１モジュール１０はプロセッサとされ、それはプロセッサコア３１と快速アクセス装置３２を具え、該第２モジュール２０は外部メモリ装置３４、例えばＤＲＡＭとされる。該快速アクセス装置３２は外部メモリ装置３４からの一部データを保存し、プロセッサコア３１がデータに快速アクセスできるようにする記憶空間を提供し、該快速アクセス装置３２はキャッシュモジュール、或いはキャッシュモジュールとプレフェッチモジュール、或いはテンポラリーメモリとされうる。本実施例では、該快速アクセス装置３２はキャッシュモジュール３２１とプレフェッチモジュール３２２で構成され、該プロセッサコア３１はバースト伝送の能力を具え、連続して指定されたバーストレングスのデータ列を送出してデータアクセスを行なうことができる。
【００１４】
　該適応性コントローラ３３はプレフェッチモジュール３２２と外部メモリ装置３４インタフェースのアクセスのデータ量の制御、プレフェッチモジュール３２２とキャッシュモジュール３２１インタフェースのアクセスのデータ量制御、及びキャッシュモジュール３２１とプロセッサコア３１インタフェースのデータ量制御を行なう。この適応性コントローラ３３はインタフェースのデータ伝送状況をモニタリングすることにより、最も適合するデータ伝送レベルを選択する。本発明の構造中には複数のデータ伝送レベルが設けられ、各データ伝送レベルは外部メモリ装置３４とプレフェッチモジュール３２２のインタフェース、或いはキャッシュモジュール３２１とプレフェッチモジュール３２２のインタフェース上の連続データ伝送レングスに対応する。例えば、データ伝送レベル０〜Ｎはそれぞれ連続データ伝送レングス２0 〜２N 単位に対応する。
【００１５】
　該適応性コントローラ３３はバーストレングス計算ロジック３３１とデータ伝送レベル切り換えロジック３３２を具え、そのうち、該バーストレングス計算ロジック３３１はデータ伝送指令起動後に、プロセッサコア３１の一回の連続データ量のレングスを計算し、プロセッサコア３１が当時に行なうデータアクセスの実際のバーストレングスを知る。これにより、該データ伝送レベル切り換えロジック３３２は実際に発生するバーストレングスを類型し、現在のデータ伝送レベルに対して最適化の調整を行なう。例えば、もしプロセッサコア３１の現在のデータ伝送行為が長いセクションの連続伝送に属す有れば、即ち比較的長いバーストレングスを有するなら、データ伝送レベルを増加し、インタフェース上の連続データ伝送レングスを長くし、インタフェースのデータ伝送の性能を高める。反対に、もしプロセッサコア３１が現在のデータ伝送行為がばらばらで不規則式の伝送であると検出すると、即ち比較的短いバーストレングスであると検出すると、データ伝送レベルを低くし、インタフェース上の連続データ伝送レングスを短縮し、伝送する指令とデータを減らして最後に使用されずに破棄される確率を減らし、これにより正確率を高め、インタフェース伝送の効率を高める。
【００１６】
　図４はデータ伝送レベル切り換えロジック３３２の切り換え制御フローチャートである。プロセッサ中に５種類のデータ伝送レベル０〜４が設けられると仮定すると、該データ伝送レベル切り換えロジック３３２は５個の対応する計数器Ｃ０〜Ｃ４を提供し、バイナリ方式でプロセッサコア３１が実際に発生する一回の連続データ量のレングスの値を記録し、これにより５種類レベルの同じ連続伝送レングスの出現の回数を統計する。このフロー中、あるデータ伝送レベルを現在のレベルに指定する（ステップＳ３１）。その後、プロセッサコア３１がデータアクセス行為を行なう（ステップＳ３２）。バーストレングス計算ロジック３３１が該プロセッサコア３１のデータアクセス行為による実際のバーストレングスを計算し、並びにこのレングス値を計数器Ｃ０〜Ｃ４中に記録する（ステップＳ３３）。例えば、レングス値が４である時は、計数器Ｃ２に１を加え、レングス値が８である時は計数器Ｃ３に１を加え、レングス値が７である時は、計数器Ｃ０、Ｃ１、Ｃ２に１を加え、これは図５の実施例に示されるとおりである。
　ステップＳ３４において、現在のレベルより高い（或いは低い）全てのレベルの計数器値の総和が現在のレベルの計数器値に対して、或るしきい値を超過して大きいかを判断する。大きくなければ、現在のレベルが尚も実際のデータアクセスレングスに符合することを表示し、ゆえにステップＳ３２を続けて実行し、もし大きければ、これらの現在のレベルより高い（或いは低い）全てのレベルを選択し（もしこの現在のレベルに較べて高い及び低い計数器の値がいずれもしきい値を超過すれば、これらを相互に比較してそのうち比較的大きい者を選択する）、最大の計数器値と次に大きな計数器値の差の値がもう一つのしきい値を超過するかを判断し（ステップＳ３５）、もし大きければ、最大の計数器値のレベルを現在のレベルとし（ステップＳ３６）、大きくなければ次に大きな計数器値のレベルを現在のレベルとなす（ステップＳ３７）。
【００１７】
　前述のステップＳ３４とステップＳ３５はいずれもしきい値で判断することでコントロールし、これにより頻繁過ぎる状態の切り換えにより性能が犠牲になることを防止する。このしきい値は設定値とされるか或いは関数により決定される。しきい値超過の難易程度は、外部メモリ装置３４の連続伝送レングスを切り換える時に必要な代価に関係する。もし、外部メモリ装置３４の連続伝送レングス調整の代価が高ければ、しきい値の困難度を高めることができる。
【００１８】
　実際の実施例により説明を行なう。現在、レベル＝２で、ある時間実行した時、Ｃ３とＣ４計数器の総合の値が現在のレベルの計数器Ｃ２の値を超過し、且つ差の値がしきい値より大きいと分かれば、この時、適応性コントローラ３３がレベルを引き上げる。この時、さらに計数器Ｃ３とＣ４を比較し、もし計数器Ｃ４の値がＣ３の値より大きく、その差の値もまたしきい値を超過すれば、レベル４の伝送がレベル３よりはるかに高いことを示し、プレフェッチモジュール３２２よりキャッシュモジュール３２１中への伝送は、連続して１６個の指令或いはデータを伝送するのが一番多く、且つしきい値を一定の比率で超過すれば、即ちこの部分の連続伝送データの単位は、１６個の指令或いはデータとすることにより、大幅に効率を高められることを示し、即ち、直接レベル＝４に設定できる。もし計数器Ｃ４の値がＣ３より大きく、しかし差がしきい値を超過しなければ、レベル＝３とし、レベルを一つの単位引き上げる。この時、連続伝送データの単位は８個の指令或いはデータとされる。
【００１９】
　以上の説明から分かるように、本発明は適応性コントローラによりプロセッサコアが行なう指令或いはデータアクセスの実際のバーストレングスをモニタリングし、実際に発生するバーストレングスを類型し、ゆえに現在のデータ伝送レベルに対して最適化の調整が行なえ、これにより指令或いはデータのキャプチャ、プレフェッチ及びアクセスの性能を最適化できる。
【００２０】
　本発明の前述の実施例は、適応性コントローラ３３で二つのモジュール間の１対１のチャネルのデータ伝送を制御する実施例である。しかし、この適応性コントローラ３３はまた、バス上のデータ伝送の制御にも運用でき、図６では、バス６１上にプロセッサ、メモリ、Ｉ／Ｏ装置、ＤＭＡコントローラ及びバスブリッジ等のモジュールが接続され、先の実施例と同様に、この適応性バーストモードコントローラ３３が任意の二つのモジュールを制御でき、これにより、バス６１を透過してデータ伝送を行なう。
【００２１】
　総合すると、本発明はその目的、手段、機能のいずれにおいても周知の技術の特徴とは異なっており、極めて実用価値を有する発明である。なお、本発明に基づきなしうる細部の修飾或いは改変は、いずれも本発明の請求範囲に属するものとする。
【図面の簡単な説明】
【００２２】
【図１】キャッシュ機能を具えた周知のプロセッサ構造表示図である。
【図２】キャッシュとプレフェッチ機能を具えた周知のプロセッサ構造表示図である。
【図３】本発明の実施例の適応性を具えた指令とデータアクセス構造の表示図である。
【図４】本発明の方法によりデータ伝送レベルを切り換えるフローチャートである。
【図５】本発明の方法により計数器が実際に発生するバーストレングス値によりデータ伝送レベル出現の回数を統計した図である。
【図６】本発明の別の実施例の適応性を具えた指令とデータアクセス構造の表示図である。
【符号の説明】
【００２３】
１０　第１モジュール
１１、３２１　キャッシュモジュール
１２、３２２　プレフェッチモジュール
１３、３４　メモリ装置
１４、３１　プロセッサコア
１５、１６、１７　インタフェース
２０　第２モジュール
３２　快速アクセス装置
３３　適応性コントローラ
３３１　バーストレングス計算ロジック
３３２　データ伝送レベル切り換えロジック
６１　バス
【図１】
2004103004.tif 000003
【図２】
2004103004.tif 000004
【図３】
2004103004.tif 000005
【図４】
2004103004.tif 000006
【図５】
2004103004.tif 000007
【図６】
2004103004.tif 000008