JP2004103002A - 指令とデータアクセスをプログラマブル制御する構造及び方法 - Google Patents

指令とデータアクセスをプログラマブル制御する構造及び方法 Download PDF

Info

Publication number
JP2004103002A
JP2004103002A JP2003293908A JP2003293908A JP2004103002A JP 2004103002 A JP2004103002 A JP 2004103002A JP 2003293908 A JP2003293908 A JP 2003293908A JP 2003293908 A JP2003293908 A JP 2003293908A JP 2004103002 A JP2004103002 A JP 2004103002A
Authority
JP
Japan
Prior art keywords
module
data
command
data transmission
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003293908A
Other languages
English (en)
Inventor
Bor-Sung Liang
梁 伯嵩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sunplus Technology Co Ltd
Original Assignee
Sunplus Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sunplus Technology Co Ltd filed Critical Sunplus Technology Co Ltd
Publication of JP2004103002A publication Critical patent/JP2004103002A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0879Burst mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0886Variable-length word access

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Bus Control (AREA)

Abstract

【課題】 指令とデータアクセスをプログラマブル制御する構造及び方法の提供。
【解決手段】 複数種類のデータ伝送レベルが設けられ、現在のデータ伝送レベルにより外部メモリ装置の指令とデータを取り込む。そのうち、各データ伝送レベルが対応する該外部メモリ装置と快速アクセス装置インタフェース上の連続データ伝送レングスを有する。プロセッサコアの取り込んだデータフォーム或いは該プロセッサコアの指令に対するデコード結果により、現在のデータ伝送レベルを調整する。
【選択図】    図3

Description

 本発明は指令とデータアクセスの構造及び方法に係り、特に、指令とデータアクセスをプログラマブル制御する構造及び方法に関する。
 現在のコンピュータシステムのプロセッサの構造にあって、プロセッサコアの処理速度が大幅に高まったことにより、メモリのアクセスが性能のネックとなっている。このため、キャッシュ(Cache)構造が重要な改善方法となっている。キャッシュは固定レングスの複数の指令或いはデータレングスを1単位としてメモリに取り込む。この単位はキャッシュラインと称される。このキャッシュラインの大きさはメモリのアクセス単位に関係する。例えば、現在、バースト伝送(Burst Transfer)の能力を具えた多くのメモリ中、データアクセスを実行する時、一次アドレスを定め各種の関係設定を行なえば、連続して指定されたバーストレングス(Burst Length)のデータ列を送出することができ、これによりデータ伝送の前の設定にかかる初期化遅延(Initial Delay)時間を減少できる。このようなメモリ中、キャッシュラインの大きさは一般にバーストレングスの大きさに関係する。
 図1は前述のキャッシュ機能を具えたプロセッサ構造を示す。そのうち、プロセッサが運転する時、必要な指令或いはデータの所属するキャッシュラインがちょうどキャッシュモジュール11中にある時、プロセッサコア14はこの指令を快速取得でき、時間遅延はないか或いは時間遅延が極めて短い。しかし、もし必要な指令或いはデータがキャッシュモジュール11中になければ、キャッシュミス(Cache Miss)が発生し、このときは外部メモリ装置13より必要なデータを読み込む必要がある。この動作はキャッシュレフィル(Cache Refill)と称される。全てのキャッシュラインをキャッシュモジュール11中に読み込む必要があるため、相当に高いシステム遅延が形成されうる。これはキャッシュミスペナルティー(Cache Miss Penalty)と称される。
 キャッシュミスペナルティーは常に、プロセッサが最初にプログラムコード或いはデータセクションにアクセスした時に連続して出現し、システム性能に厳重な影響を与える。プレフェッチ(Prefetching)はこの問題を解決し効率を高めるための重要なテクニックである。図2に示されるように、プレフェッチモジュール12によりプロセッサコア14が次に使用が必要となりうるプログラムコードエリア或いはデータエリアを予測し、あらかじめこのエリアをプレフェッチモジュール12内に読み込む。プロセッサコア14がキャッシュモジュール11中より必要な指令或いはデータを取得できずにキャッシュミスが発生すると判断する時、プレフェッチモジュール12をサーチし、もし必要な指令或いはデータがプレフェッチモジュール12に取り込まれていれば、プレフェッチモジュール12中より必要なキャッシュラインをキャッシュモジュール11内に読み込み、これによりキャッシュミスペナルティー時に必要とされる代償を大幅に減らす。ただし、もし必要な指令或いはデータがプレフェッチモジュール12にも存在しなければ、プレフェッチミス(Prefetch Miss)が発生し、外部メモリ装置13中より必要なキャッシュラインを取得することが必要となり、これにより相当に高いシステム遅延がもたらされる。これはプレフェッチミスペナルティー(Prefetch Miss Penalty)と称される。
 前述のプレフェッチモジュール12は計算機組織中にあって、外部メモリ装置13、キャッシュモジュール11とプロセッサコア14の間に介在し、伝統的な構造はいずれも直接キャッシュモジュール11の構造を援用し、キャッシュラインと同じデータレングスを使用し、さらにダイナミックメモリバースト伝送レングスをデータ伝送単位としている。しかし、プレフェッチモジュール12とキャッシュモジュール11及びプロセッサコア14の間は動態メモリのインタフェースではなく、このためキャッシュラインをデータ伝送単位とする必要はない。キャッシュラインをデータ伝送単位とすると、却ってデータ伝送の遅延がもたらされ、データ伝送が不活発となる。
 具体的に言うと、キャッシュモジュール11とプレフェッチモジュール12を具えたプロセッサ構造中、モジュール間には三つの主要なインタフェースがある。第1インタフェース15は外部インタフェースであり、それは外部メモリ装置13と接続される。第2インタフェース16はプレフェッチモジュール12とキャッシュモジュール11のインタフェースである。第3インタフェース17はキャッシュモジュール11とプロセッサコア14のインタフェースであり、この第3インタフェース17はキャッシュモジュール11中の指令とデータをプロセッサに送るのに供される。伝統的に、第1インタフェース15及び第2インタフェース16にはキャッシュラインと同じデータレングスのデータ伝送単位が使用され、第3インタフェース17のデータアクセスが、もし第1インタフェースと第2インタフェースのアクセスと関係する時も、キャッシュラインのデータレングスのアクセス完成後でなければ、動作できない。しかし、キャッシュラインのデータレングスは必ずしもプレフェッチモジュール12と外部メモリ装置13、キャッシュモジュール11とプロセッサコア14の間の最良のデータ伝送単位ではない。なぜならキャッシュラインの大きさはキャッシュモジュール11のメモリ組織構造と非常に関係があり、プロセッサの実行過程にあって、キャッシュラインの大きさが固定されているためである。しかし、プロセッサが実際にプログラムを実行し、指令をキャプチャしデータにアクセスする時、その行為モードは不断に動態改変する。固定されたキャッシュラインのデータレングスをデータ伝送単位とすると、各種の状況に対して最適化が行ないにくく、異なる状況下で不経済な資源浪費を発生しうる。
 例えば、固定キャッシュラインレングスをデータ伝送単位とすると、以下のような不経済な浪費状況が発生しうる。
 1.各インタフェースデータの伝送上、連続する長いデータにアクセスする時、データレングスが現在のキャッシュラインレングスより長いことを知ることができる。しかし、キャッシュラインのデータレングスは固定されているため、比較的長いバーストレングス設定を利用して初期化遅延のレベルを減らすことはできず、このため時間の浪費を形成する。
 2.各インタフェースデータ伝送上、短いデータにアクセスする時、データレングスがキャッシュラインレングスより短いことを知ることができる。しかし、キャッシュラインレングスが固定されているため、キャッシュラインデータレングスを以てデータアクセスする必要があり、ゆえに不必要なデータまでも読み込まねばならなくなり、資源の浪費を形成する。
 本発明の目的は、一種の指令とデータアクセスをプログラマブル制御する構造及び方法を提供することにあり、それは、指令或いはデータフォーマットにより連続伝送モードを制御し、インタフェースのデータ伝送の性能を高めると共に、破棄される不用のデータを伝送する確率を減らす構造及び装置である。
 本発明は指令とデータアクセスをプログラマブル制御する構造を提供し、それは、複数種類のデータ伝送レベルを設定し、現在のデータ伝送のレベルにより指令とデータにアクセスする。この構造は、第1モジュール、第2モジュール及びバーストモードコントローラを具え、該第1モジュールはバースト伝送の能力を具え、指定されたバーストレングスのデータ列を連続送出してデーアクセスを行ない、該第2モジュールは、データアクセスに供され、各前記データ伝送レベルが第2モジュールと第1モジュールのインタフェース上の連続データ伝送レングスに対応し、該バーストモードコントローラは、第1モジュールがアクセスするデータフォーマット或いは該第1モジュールの指令に対するデコード結果によりプログラムされ、現在のデータ伝送レベルを調整する。
 本発明はまた指令とデータアクセスをプログラマブル制御する構造を提供し、それは複数種類のデータ伝送レベルを設定し、現在のデータ伝送レベルにより指令とデータにアクセスし、その構造は、第1モジュール、第2モジュール、第3モジュール及びバーストモードコントローラを具え、該第1モジュールはバースト伝送の能力を具え、指定されたバーストレングスのデータ列によりデータアクセスを行ない、該第2モジュールは、第1モジュールの制御によりデータアクセスに供され、第3モジュールは第1モジュールの制御によりデータアクセスに供され、そのうち、各データ伝送レベルは該第2モジュールと第3モジュールのインタフェース上の連続データ伝送レングスに対応し、該バーストモードコントローラは、データアクセスに供され、各前記データ伝送レベルが第2モジュールと第1モジュールのインタフェース上の連続データ伝送レングスに対応し、該バーストモードコントローラは、第1モジュールがアクセスするデータフォーマット或いは該第1モジュールの指令に対するデコード結果によりプログラムされ、現在のデータ伝送レベルを調整する。
 本発明は指令とデータアクセスをプログラマブル制御する方法を提供し、この方法は、(A)複数種類のデータ伝送レベルを決定して、第1モジュールに現在のデータ伝送レベルにより第2モジュールの指令とデータにアクセスさせるステップと、(B)該第1モジュールがアクセスするデータフォーマット或いは該第1モジュールの指令に対するデコード結果により、現在のデータ伝送レベルを調整するステップとを具えている。
 本発明はまた、指令とデータアクセスをプログラマブル制御する方法を提供し、この方法は、(A)複数種類のデータ伝送レベルを決定して、現在のデータ伝送レベルにより第2モジュールと第3モジュール間のデータと指令の伝送を行なうステップ、(B)該第1モジュールがアクセスするデータフォーマット或いは該第1モジュールの指令に対するデコード結果により、現在のデータ伝送レベルを調整するステップとを具えている。
 請求項1の発明は、複数種類のデータ伝送レベルが設けられ、現在のデータ伝送レベルにより命令とデータにアクセスする命令とデータアクセスをプログラマブル制御する構造であって、この構造は、第1モジュール、第2モジュール、及びバーストモードコントローラを具え、
 該第1モジュールはバースト伝送の能力を具え、指定されたバーストレングスのデータ列を連続送出してデータアクセスすることができ、
 該第2モジュールはデータアクセスに供され、各データ伝送レベルは該第2モジュールと第1モジュールのインタフェース上の対応する連続データ伝送レングスを有し、
 該バーストモードコントローラは、第1モジュールがアクセスするデータフォーマット或いは該第1モジュールが指令に対して行なうデコードの結果によりプログラムされて、現在のデータ伝送レベルを調整することを特徴とする、命令とデータアクセスをプログラマブル制御する構造としている。
 請求項2の発明は、前記第2モジュールがメモリ装置とされ、前記第1モジュールが、プロセッサコアと快速アクセス装置を具え、該プロセッサコアはバースト伝送の能力を具え、指定されたバーストレングスのデータ列を連続送受或いは受け取ることによりデータアクセスを行ない、該快速アクセス装置は、該第2モジュールからの一部の命令とデータを保存し、プロセッサコアが命令とデータに快速アクセスするための記憶空間とされ、各データ伝送レベルが第2モジュールと該快速アクセス装置のインタフェース上の対応する連続データ伝送レングスを有することを特徴とする、請求項1記載の命令とデータアクセスをプログラマブル制御する構造としている。
 請求項3の発明は、前記バーストモードコントローラにプロセッサコアの指令が集中し、該バーストモードコントローラがそのうち少なくとも一種類の指令によりプログラムされることを特徴とする、請求項2記載の命令とデータアクセスをプログラマブル制御する構造としている。
 請求項4の発明は、前記命令が、バーストモードコントローラに対する命令コードを保存する命令フィールドと、指定されレベル数字を保存するレベルフィールドと、命令に関係する参考用数値を保存する参考値フィールドを具えたことを特徴とする、請求項3記載の命令とデータアクセスをプログラマブル制御する構造としている。
 請求項5の発明は、前記バーストモードコントローラがプロセッサコアからの指令中の一つのフィールドに保存された制御指示によりプログラムされることを特徴とする、請求項2記載の命令とデータアクセスをプログラマブル制御する構造としている。
 請求項6の発明は、前記指令がレベル数字を保存するためのレベルフィールドを具え、これによりバーストモードコントローラの現在のデータ伝送レベルが指定されることを特徴とする、請求項5記載の命令とデータアクセスをプログラマブル制御する構造としている。
 請求項7の発明は、前記バーストモードコントローラがプロセッサコアの指令中の制御指示によりプログラムされることを特徴とする、請求項2記載の命令とデータアクセスをプログラマブル制御する構造としている。
 請求項8の発明は、前記バーストモードコントローラがプロセッサコアの現在アクセスを要するデータのアドレスエリアにより現在のデータ伝送レベルを決定することを特徴とする、請求項2記載の命令とデータアクセスをプログラマブル制御する構造としている。
 請求項9の発明は、前記バーストモードコントローラがプロセッサコアの現在アクセスを要するデータが特定値或いは特定判断条件に符合する時に、データ伝送レベルを特定データ伝送レベルに自動的に切り換えることを特徴とする、請求項2記載の命令とデータアクセスをプログラマブル制御する構造としている。
 請求項10の発明は、前記快速アクセス装置がキャッシュモジュールとプレフェッチモジュールで構成され、各データ伝送レベルが、外部メモリ装置と該プレフェッチモジュールインタフェース上の対応する連続データ伝送レングス、及び、該キャッシュモジュールと該プレフェッチモジュールインタフェース上の対応する連続データ伝送レングスを有することを特徴とする、請求項2記載の命令とデータアクセスをプログラマブル制御する構造としている。
 請求項11の発明は、前記第1モジュールと第2モジュールがバスを介してデータ伝送することを特徴とする、請求項1記載の命令とデータアクセスをプログラマブル制御する構造としている。
 請求項12の発明は、複数種類のデータ伝送レベルが設けられ、現在のデータ伝送レベルにより命令とデータにアクセスする命令とデータアクセスをプログラマブル制御する構造であって、この構造は、第1モジュール、第2モジュール、第3モジュール及びバーストモードコントローラを具え、
 該第1モジュールはバースト伝送の能力を具え、指定されたバーストレングスのデータ列を連続送出してデータアクセスすることができ、
 該第2モジュールは第1モジュールの制御を受けてデータアクセスを行ない、
 該第3モジュールは第1モジュールの制御を受けてデータアクセスを行ない、各データ伝送レベルが第2モジュールと第3モジュールのインタフェース上の対応する連続データ伝送レングスを有し、
 該バーストモードコントローラは、第1モジュールがアクセスするデータフォーマット或いは該第1モジュールが指令に対して行なうデコードの結果によりプログラムされて、現在のデータ伝送レベルを調整することを特徴とする、命令とデータアクセスをプログラマブル制御する構造としている。
 請求項13の発明は、前記第1モジュールがDMAメインコントローラとされて第2モジュールと第3モジュールの間のデータ伝送を制御することを特徴とする、請求項12記載の命令とデータアクセスをプログラマブル制御する構造としている。
 請求項14の発明は、第1モジュールと第2モジュール間のデータと命令の伝送に供される命令とデータアクセスをプログラマブル制御する方法であり、この方法は、
 (A)複数種類のデータ伝送レベルを設定し、第1モジュールに現在のデータ伝送レベルにより第2モジュールの指令とデータにアクセスさせるステップと、
 (B)該第1モジュールがアクセスするデータフォーマット或いは該第1モジュールの指令に対するデコード結果により、現在のデータ伝送レベルを調整するステップ、
 を具えたことを特徴とする、命令とデータアクセスをプログラマブル制御する方法としている。
 請求項15の発明は、第1モジュールが第2モジュールと第3モジュール間のデータと指令の伝送を制御するのに用いられる命令とデータアクセスをプログラマブル制御する方法であり、この方法は、
 (A)複数種類のデータ伝送レベルを設定し、現在のデータ伝送レベルにより第2モジュールと第3モジュール間のデータと命令の伝送を行なうステップ、
 (B)該第1モジュールがアクセスするデータフォーマット或いは該第1モジュールの指令に対するデコード結果により、現在のデータ伝送レベルを調整するステップ、
 を具えたことを特徴とする、命令とデータアクセスをプログラマブル制御する方法。
 本発明は指令或いはデータフォーマットにより連続伝送モードを制御し、システム運転時に、実際のシステムの運転の状況により、動態でデータ伝送のモードを調整できる。ゆえにインタフェースのデータ伝送の性能を高めることができ、また、不用なデータを伝送して破棄する確率を減らすことができる。本発明の構造は新規であり、産業上の利用価値を有し、且つ確実に機能を増し、特許の要件を具備している。
 図3は本発明の指令とデータアクセスをプログラマブル制御する構造を示す。それはコンピュータシステム中の第1モジュール10と第2モジュール20の間にあって、バーストモードコントローラ33でデータの伝送を行なう。該第1モジュール10はプロセッサ、デジタル信号プロセッサ、DMAメインコントロール装置、バスメインコントローラ、特殊化された演算モジュール、或いはその他のオーディオビデオ処理モジュールとされうる。該第2モジュール20はメモリ、DMA従属装置、バス従属装置、HD/CD/DVD装置、或いはネットワーク設備とされうる。本実施例では、該第1モジュール10はプロセッサとされ、それはプロセッサコア31と快速アクセス装置32を具え、該第2モジュール20は外部メモリ装置34、例えばDRAMとされる。該快速アクセス装置32は外部メモリ装置34からの一部データを保存し、プロセッサコア31がデータに快速アクセスできるようにする記憶空間を提供し、該快速アクセス装置32はキャッシュモジュール、或いはテンポラリーメモリとされうる。本実施例では、該快速アクセス装置32はキャッシュモジュール321とプレフェッチモジュール322で構成され、該プロセッサコア31はバースト伝送の能力を具え、連続して指定されたバーストレングスのデータ列を送出してデータアクセスを行なうことができる。
 該バーストモードコントローラ33はデータフォーマット或いは該プロセッサコア31の指令に対するデコード結果により連続伝送モードを制御し、これによりシステム運転時に、実際のシステム運転の状況により、動態で該プレフェッチモジュール322と外部メモリ装置34のインタフェースのアクセスの伝送モード、及び、プレフェッチモジュール322とキャッシュモジュール321インタフェースのアクセスのデータ量を調整し、これにより指令とデータアクセスの性能を最適化する。本発明の構造中、複数のデータ伝送レベルが設けられ、各データ伝送レベルは外部メモリ装置34とプレフェッチモジュール322のインタフェース或いはキャッシュモジュール321とプレフェッチモジュール322のインタフェース上の連続データ伝送レングスに対応する。例えば、データ伝送レベル0〜Nはそれぞれ連続データ伝送レングス20 〜2N 単位レングス(Length)に対応する。
 説明に便利であるように、該外部メモリ装置34インタフェース上の伝送のモードに0、1、2、3、及び4の5種類のレベルを設け、この5個のレベルはそれぞれ1、2、4、8、及び16の5種類の連続伝送レングスを代表するものとする。比較的高いレベルは連続伝送数が比較的多い伝送モードである。五種類のレベルの伝送モードは図4に示される。図示されるように、連続伝送数が比較的多い伝送モードで同じ数の指令或いはデータを伝送する時、初期化遅延の回数を減少することができ、これにより同じ時間内で比較的多くのデータを伝送できる。しかしもし比較的少ない数の指令或いはデータだけを必要とする場合は、その他の部分は余分に伝送されるデータとなる。これから分かるように比較的高いレベルは長列の同質性のデータ演算、例えばデジタル信号処理、データサーチ、データ移送、画像処理等に適合し、比較的低いレベルは散らばった不規則なデータ或いは大量スキップ指令を有するプログラムコードのアクセスに適合する。
 図3に示されるように、バーストモードコントローラ33は指令或いはデータに組み込まれた情報によりプログラムされ、データ伝送レベルを切り換える。そのうち、指令に組み込まれた情報によりバーストモードコントローラ33がプログラムされる時は特殊な指令設定、指令フィールドのなかに内蔵された情報、或いはある指令コード(OP code)の組合せ中にこの情報が含まれる。プロセッサコア31がこの情報を解釈する時、このバーストモードコントローラ33に通知して伝送モードのプログラムを行なわせ、例えばある一つのレベルに固定するか、或いはレベルの昇降等を行なう。
 指令に組み込まれた情報により該バーストモードコントローラ33のプログラムは実施上、以下の三種類の方式により達成される。
 (1)図5に示されるように、該プロセッサコア31の指令が一種類或いは一種類以上の指令に集中するよう特別に指定し、情報を該バーストモードコントローラ33に伝送させる。図5において、この指令の指令コード(OP code)の記憶補助コードはBMCとされ、プロセッサコア31のデコードによりOP code=BMCと分かった時は、この指令が伝送モード制御指令であることを代表する。それは三つのフィールドを有する。即ち、指令(Command)フィールドがバーストモードコントローラ33の指令コードを保存し、レベル(Level)フィールドが指定されたレベル数字を保存し、参考値(Reference Value)フィールドが指令に関係する参考用数値を保存する。例えば、Level=3、Command=auto level return、Reference Value=16であれば、このバーストモードコントローラ33がデータ伝送レベルをLevel=3に切り換え、その後、16個のバーストモードレングスを伝送した後、もとのレベルに戻るようプログラムされたことを表示する。
 (2)該プロセッサコア31の全体指令フィールド中、特にあるフィールドを特に指定し、バーストモードコントローラ33の制御指示を保存する。図6に示されるように、一つのレベル(Level)フィールドに指定されたレベル数字を保存して、バーストモードコントローラ33の現在適用するレベルを指定する。
 (3)プロセッサコア31の指令コード(OP code)の制定時に、アクセスと関係する指令に対して、それにバーストモードコントローラ33の制御指示を含有させる。図7中のLOAD指令は全部でLD0〜LD4の5種類の指令コード(OP code)形式を有し、異なるOP codeは異なる伝送モード制御モジュールレベル指定を代表する。
 データに組み込まれた情報により該バーストモードコントローラ33をプログラムする時には、アクセスデータ中の情報を検出することにより、該バーストモードコントローラ33に伝送モードのプログラムを行なうよう通知し、ある一つのレベルに固定させるか、或いはレベルを昇降させる。
 データに組み込まれた情報による該バーストモードコントローラ33のプログラムは実施上、以下の二種類の方式により達成される。
 (1)アドレス判断式: あらかじめ異なるアドレスセクションを定義し、並びに一つのレベルに一つのアドレスセクションを指定し、実際のデータアクセス時に、現在アクセスを要するデータのアドレスセクションにより、バーストモードコントローラ33の異なるレベルへの進入を決定する。例えば、あるプログラムが比較的長い画像データの処理を必要とする時、この部分のアドレスを0×4000〜0×4FFFに置く。このほか、さらにばらばらの動態直列データを放置する一つのメモリ空間を必要とし、直列エレメントは四つのバイトで、この部分のアドレスを0×0200〜0×02FFに置く。このとき、該バーストモードコントローラ33中にあって、あらかじめ設定したアドレス0×4000〜0×4FFFはLevel=4のエリアとされる。0×0200〜0×02FFはLevel=2のエリアである。画像データにアクセスして処理を行なう必要がある時、バーストモードコントローラ33がデータアクセスのアドレスがLevel=4のエリアにあることを検出すれば、自動的にレベルをこのレベルに下げ、使用の必要のないデータを取り込むのを防止する。
 (2)データ判断式: データ内容が特定値或いは特定判断条件に符合する時、自動的にあるレベルに切り換えるよう設定する。例えば、もしある長いデータを処理する必要がある時、このデータの末尾を0×FFFFとする。即ちこの長いデータを処理する前に、先にバーストモードコントローラ33を低レベルより高レベルに進入するようプログラムし、その後、データ内容が0×FFFFであることを検出する時、もとのアクセスの低レベルに回復する。また、長いデータを処理する時、すでにこの長いデータ中の各バイトの値がいずれもパリティーチェックの偶数パリティー処理されたと確定した時、このようなシステムにおいて、バイト内容が非偶数パリティ−であることを検出すれば、即ちエラー状況となし、この長いデータの処理を終了して、エラー処理プログラムに進入する必要がある。これにより、長いデータを処理する前に、バーストモードコントローラ33をハイレベル状態に進入するようプログラムし、並びに検査規則を偶数パリティーに設定し、データアクセスの過程中に、データバイトが偶数パリティーに符合しないことを検出した時は、自動的にレベルを下げ、これにより長いデータの処理を終了し、比較的短いレベルでエラー処理プログラムを実行する。
 このほか、実行過程で、もし混合式のデータがあり、且つデータに対する検査規則が設けられていれば、上述の二種類の方式を混合して判断を行なう。例えば、プログラムがある長いデータを処理し、データアドレスが0×4000〜0×4FFFにあり、且つ偶数パリティーチェックを行なう必要がある時、バーストモードコントローラ33をプログラムし、データアドレスがこの範囲より逸脱するか、或いは偶数パリティーチェックが不合格の時、自動的にレベルダウンする。
 また、上述の判断方式はスレショルド値と組み合わせることで、不必要なレベル切り換えを防止することができる。即ち、上述の判断を行なう時、もし検査規則に違反する時は、一つの範囲内のスレショルド値で判断を行なう。この回数があるしきい値判断を超過する時、レベルの切り換えを行なう。
 前述の本発明の実施例は第1モジュール10(プロセッサ)でバーストモードコントローラ33をプログラムして第1モジュール10と第2モジュール20(メモリ装置)の間のデータ伝送を制御するが、実際の応用上は、第1モジュール10がバーストモードコントローラ33をプログラムすることによりコンピュータシステム中の任意の二つのモジュール間のデータ伝送を制御することもでき、図8に示される実施例では、第1モジュール10がバーストモードコントローラ33をプログラムすることで第2モジュール20と第3モジュール30の間のデータ伝送を制御し、この第1モジュール10はDMAコントローラとされ、第2モジュール20はメモリ装置とされ、第3モジュール30は外部メモリ装置或いはI/O設備とされる。図9に示される実施例では、第1モジュール10がバーストモードコントローラ33をプログラムすることにより第1モジュール10と第2モジュール20間、及び第2モジュール20と第3モジュール30間のデータ伝送を制御する。制御のモジュールがなんであれ、該バーストモードコントローラ33の制御及びデータ伝送の方式は第1実施例と同じであるため、重複した説明は行なわない。
 前述の本発明の実施例はバーストモードコントローラ33をプログラムすることにより二つのモジュール間の1対1のチャネルのデータ伝送を制御する実施例である。しかし、このバーストモードコントローラ33はまた、バス上のデータ伝送の制御にも運用でき、図10では、バス61上にプロセッサ、メモリ、I/O装置、DMAコントローラ及びバスブリッジ等のモジュールが接続され、先の実施例と同様に、この適応性バーストモードコントローラ33が任意の二つのモジュールを制御でき、これにより、バス61を透過してデータ伝送を行なう。
 以上の説明から分かるように、本発明は指令或いはデータフォーマットにより連続伝送モードを制御し、システム運転時に、実際のシステムの運転の状況により、動態でデータ伝送のモードを調整できる。ゆえにインタフェースのデータ伝送の性能を高めることができ、また、不用なデータを伝送して破棄する確率を減らすことができる。
 総合すると、本発明はその目的、手段、機能のいずれにおいても周知の技術の特徴とは異なっており、極めて実用価値を有する発明である。なお、本発明に基づきなしうる細部の修飾或いは改変は、いずれも本発明の請求範囲に属するものとする。
キャッシュ機能を具えた周知のプロセッサ構造表示図である。 キャッシュとプレフェッチ機能を具えた周知のプロセッサ構造表示図である。 本発明の実施例の指令とデータアクセスをプログラマブル制御する構造の表示図である。 本発明のデータ伝送レベルのアクセスタイミング図である。 本発明のプログラマブルバーストモードコントローラの第1種の指令フォーマット表示図である。 本発明のプログラマブルバーストモードコントローラの第2種の指令フォーマット表示図である。 本発明のプログラマブルバーストモードコントローラの第3種の指令フォーマット表示図である。 本発明の第2実施例の指令とデータアクセスをプログラマブル制御する構造の表示図である。 本発明の第3実施例の指令とデータアクセスをプログラマブル制御する構造の表示図である。 本発明の第4実施例の指令とデータアクセスをプログラマブル制御する構造の表示図である。
符号の説明
10 第1モジュール
11、321 キャッシュモジュール
12、322 プレフェッチモジュール
13、34 メモリ装置
14、31 プロセッサコア
15、16、17 インタフェース
20 第2モジュール
30 第3モジュール
32 快速アクセス装置
33 バーストモードコントローラ
61 バス

Claims (15)

  1.  複数種類のデータ伝送レベルが設けられ、現在のデータ伝送レベルにより命令とデータにアクセスする命令とデータアクセスをプログラマブル制御する構造であって、この構造は、第1モジュール、第2モジュール、及びバーストモードコントローラを具え、
     該第1モジュールはバースト伝送の能力を具え、指定されたバーストレングスのデータ列を連続送出してデータアクセスすることができ、
     該第2モジュールはデータアクセスに供され、各データ伝送レベルは該第2モジュールと第1モジュールのインタフェース上の対応する連続データ伝送レングスを有し、
     該バーストモードコントローラは、第1モジュールがアクセスするデータフォーマット或いは該第1モジュールが指令に対して行なうデコードの結果によりプログラムされて、現在のデータ伝送レベルを調整することを特徴とする、命令とデータアクセスをプログラマブル制御する構造。
  2.  前記第2モジュールがメモリ装置とされ、前記第1モジュールが、プロセッサコアと快速アクセス装置を具え、該プロセッサコアはバースト伝送の能力を具え、指定されたバーストレングスのデータ列を連続送受或いは受け取ることによりデータアクセスを行ない、該快速アクセス装置は、該第2モジュールからの一部の命令とデータを保存し、プロセッサコアが命令とデータに快速アクセスするための記憶空間とされ、各データ伝送レベルが第2モジュールと該快速アクセス装置のインタフェース上の対応する連続データ伝送レングスを有することを特徴とする、請求項1記載の命令とデータアクセスをプログラマブル制御する構造。
  3.  前記バーストモードコントローラにプロセッサコアの指令が集中し、該バーストモードコントローラがそのうち少なくとも一種類の指令によりプログラムされることを特徴とする、請求項2記載の命令とデータアクセスをプログラマブル制御する構造。
  4.  前記命令が、バーストモードコントローラに対する命令コードを保存する命令フィールドと、指定されレベル数字を保存するレベルフィールドと、命令に関係する参考用数値を保存する参考値フィールドを具えたことを特徴とする、請求項3記載の命令とデータアクセスをプログラマブル制御する構造。
  5.  前記バーストモードコントローラがプロセッサコアからの指令中の一つのフィールドに保存された制御指示によりプログラムされることを特徴とする、請求項2記載の命令とデータアクセスをプログラマブル制御する構造。
  6.  前記指令がレベル数字を保存するためのレベルフィールドを具え、これによりバーストモードコントローラの現在のデータ伝送レベルが指定されることを特徴とする、請求項5記載の命令とデータアクセスをプログラマブル制御する構造。
  7.  前記バーストモードコントローラがプロセッサコアの指令中の制御指示によりプログラムされることを特徴とする、請求項2記載の命令とデータアクセスをプログラマブル制御する構造。
  8.  前記バーストモードコントローラがプロセッサコアの現在アクセスを要するデータのアドレスエリアにより現在のデータ伝送レベルを決定することを特徴とする、請求項2記載の命令とデータアクセスをプログラマブル制御する構造。
  9.  前記バーストモードコントローラがプロセッサコアの現在アクセスを要するデータが特定値或いは特定判断条件に符合する時に、データ伝送レベルを特定データ伝送レベルに自動的に切り換えることを特徴とする、請求項2記載の命令とデータアクセスをプログラマブル制御する構造。
  10.  前記快速アクセス装置がキャッシュモジュールとプレフェッチモジュールで構成され、各データ伝送レベルが、外部メモリ装置と該プレフェッチモジュールインタフェース上の対応する連続データ伝送レングス、及び、該キャッシュモジュールと該プレフェッチモジュールインタフェース上の対応する連続データ伝送レングスを有することを特徴とする、請求項2記載の命令とデータアクセスをプログラマブル制御する構造。
  11.  前記第1モジュールと第2モジュールがバスを介してデータ伝送することを特徴とする、請求項1記載の命令とデータアクセスをプログラマブル制御する構造。
  12.  複数種類のデータ伝送レベルが設けられ、現在のデータ伝送レベルにより命令とデータにアクセスする命令とデータアクセスをプログラマブル制御する構造であって、この構造は、第1モジュール、第2モジュール、第3モジュール及びバーストモードコントローラを具え、
     該第1モジュールはバースト伝送の能力を具え、指定されたバーストレングスのデータ列を連続送出してデータアクセスすることができ、
     該第2モジュールは第1モジュールの制御を受けてデータアクセスを行ない、
     該第3モジュールは第1モジュールの制御を受けてデータアクセスを行ない、各データ伝送レベルが第2モジュールと第3モジュールのインタフェース上の対応する連続データ伝送レングスを有し、
     該バーストモードコントローラは、第1モジュールがアクセスするデータフォーマット或いは該第1モジュールが指令に対して行なうデコードの結果によりプログラムされて、現在のデータ伝送レベルを調整することを特徴とする、命令とデータアクセスをプログラマブル制御する構造。
  13.  前記第1モジュールがDMAメインコントローラとされて第2モジュールと第3モジュールの間のデータ伝送を制御することを特徴とする、請求項12記載の命令とデータアクセスをプログラマブル制御する構造。
  14.  第1モジュールと第2モジュール間のデータと命令の伝送に供される命令とデータアクセスをプログラマブル制御する方法であり、この方法は、
     (A)複数種類のデータ伝送レベルを設定し、第1モジュールに現在のデータ伝送レベルにより第2モジュールの指令とデータにアクセスさせるステップと、
     (B)該第1モジュールがアクセスするデータフォーマット或いは該第1モジュールの指令に対するデコード結果により、現在のデータ伝送レベルを調整するステップ、
     を具えたことを特徴とする、命令とデータアクセスをプログラマブル制御する方法。
  15.  第1モジュールが第2モジュールと第3モジュール間のデータと指令の伝送を制御するのに用いられる命令とデータアクセスをプログラマブル制御する方法であり、この方法は、
     (A)複数種類のデータ伝送レベルを設定し、現在のデータ伝送レベルにより第2モジュールと第3モジュール間のデータと命令の伝送を行なうステップ、
     (B)該第1モジュールがアクセスするデータフォーマット或いは該第1モジュールの指令に対するデコード結果により、現在のデータ伝送レベルを調整するステップ、
     を具えたことを特徴とする、命令とデータアクセスをプログラマブル制御する方法。
JP2003293908A 2002-09-11 2003-08-15 指令とデータアクセスをプログラマブル制御する構造及び方法 Pending JP2004103002A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW091120693A TW576977B (en) 2002-09-11 2002-09-11 Structure and method for planning control commands and data access

Publications (1)

Publication Number Publication Date
JP2004103002A true JP2004103002A (ja) 2004-04-02

Family

ID=28037953

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003293908A Pending JP2004103002A (ja) 2002-09-11 2003-08-15 指令とデータアクセスをプログラマブル制御する構造及び方法

Country Status (4)

Country Link
US (1) US6826636B2 (ja)
JP (1) JP2004103002A (ja)
GB (1) GB2394330B (ja)
TW (1) TW576977B (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7398335B2 (en) * 2004-11-22 2008-07-08 Qlogic, Corporation Method and system for DMA optimization in host bus adapters
GB2433333B (en) * 2005-12-13 2011-07-13 Advanced Risc Mach Ltd Distributed direct memory access provision within a data processing system
JP4574712B2 (ja) * 2006-02-28 2010-11-04 富士通株式会社 演算処理装置、情報処理装置及び制御方法
WO2007113757A2 (en) * 2006-04-04 2007-10-11 Koninklijke Philips Electronics N.V. System and method for supporting a hot-word-first request policy for a multi-heirarchical memory system
US8234452B2 (en) 2006-11-30 2012-07-31 Freescale Semiconductor, Inc. Device and method for fetching instructions
US8250307B2 (en) * 2008-02-01 2012-08-21 International Business Machines Corporation Sourcing differing amounts of prefetch data in response to data prefetch requests
US8255635B2 (en) * 2008-02-01 2012-08-28 International Business Machines Corporation Claiming coherency ownership of a partial cache line of data
US8108619B2 (en) * 2008-02-01 2012-01-31 International Business Machines Corporation Cache management for partial cache line operations
US8024527B2 (en) * 2008-02-01 2011-09-20 International Business Machines Corporation Partial cache line accesses based on memory access patterns
US20090198910A1 (en) * 2008-02-01 2009-08-06 Arimilli Ravi K Data processing system, processor and method that support a touch of a partial cache line of data
US8266381B2 (en) * 2008-02-01 2012-09-11 International Business Machines Corporation Varying an amount of data retrieved from memory based upon an instruction hint
US8117401B2 (en) * 2008-02-01 2012-02-14 International Business Machines Corporation Interconnect operation indicating acceptability of partial data delivery
US8140771B2 (en) 2008-02-01 2012-03-20 International Business Machines Corporation Partial cache line storage-modifying operation based upon a hint
US8117390B2 (en) * 2009-04-15 2012-02-14 International Business Machines Corporation Updating partial cache lines in a data processing system
US8140759B2 (en) * 2009-04-16 2012-03-20 International Business Machines Corporation Specifying an access hint for prefetching partial cache block data in a cache hierarchy
US9632787B2 (en) * 2012-10-23 2017-04-25 Ca, Inc. Data processing system with data characteristic based identification of corresponding instructions
US10585801B2 (en) * 2012-11-26 2020-03-10 Advanced Micro Devices, Inc. Prefetch kernels on a graphics processing unit
CN104008037A (zh) 2014-03-13 2014-08-27 英业达科技有限公司 监控模块的监控方法
US9927997B2 (en) * 2015-12-21 2018-03-27 Sandisk Technologies Llc Methods, systems, and computer readable media for automatically and selectively enabling burst mode operation in a storage device
US10423964B2 (en) 2017-12-29 2019-09-24 Scott Kimmel User controlled event record system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2599539B2 (ja) * 1991-10-15 1997-04-09 インターナショナル・ビジネス・マシーンズ・コーポレイション 直接メモリ・アクセス装置及びルック・アヘッド装置
US5280623A (en) * 1992-03-04 1994-01-18 Sun Microsystems, Inc. Versatile peripheral bus
US5450551A (en) * 1993-05-28 1995-09-12 International Business Machines Corporation System direct memory access (DMA) support logic for PCI based computer system
US5721874A (en) * 1995-06-16 1998-02-24 International Business Machines Corporation Configurable cache with variable, dynamically addressable line sizes
JP3717212B2 (ja) * 1995-10-27 2005-11-16 株式会社日立製作所 情報処理装置及び情報処理ユニット
US6185637B1 (en) * 1998-04-15 2001-02-06 Advanced Micro Devices, Inc. System for implementing an adaptive burst length for burst mode transactions of a memory by monitoring response times for different memory regions
US6202106B1 (en) * 1998-09-09 2001-03-13 Xilinx, Inc. Method for providing specific knowledge of a structure of parameter blocks to an intelligent direct memory access controller
US6266723B1 (en) * 1999-03-29 2001-07-24 Lsi Logic Corporation Method and system for optimizing of peripheral component interconnect PCI bus transfers
US6704833B2 (en) * 2002-01-04 2004-03-09 Hewlett-Packard Development Company, L.P. Atomic transfer of a block of data
US7162588B2 (en) * 2002-08-23 2007-01-09 Koninklijke Philips Electronics N.V. Processor prefetch to match memory bus protocol characteristics

Also Published As

Publication number Publication date
US20040049615A1 (en) 2004-03-11
GB2394330A (en) 2004-04-21
GB0318281D0 (en) 2003-09-10
GB2394330B (en) 2006-10-11
TW576977B (en) 2004-02-21
US6826636B2 (en) 2004-11-30

Similar Documents

Publication Publication Date Title
JP2004103002A (ja) 指令とデータアクセスをプログラマブル制御する構造及び方法
EP2732374B1 (en) Mobile memory cache read optimization
KR20050081769A (ko) 불 휘발성 메모리를 제어하기 위한 컨트롤러
CN103218310A (zh) 缓存装置、通信设备以及计算机程序产品
JP2010157130A (ja) メモリシステム
KR101093317B1 (ko) 데이터 처리 시스템 내의 프리패치 제어
US7299341B2 (en) Embedded system with instruction prefetching device, and method for fetching instructions in embedded systems
JP5040050B2 (ja) 複数チャネルdmaコントローラおよびプロセッサシステム
CN105512054A (zh) 主机接口控制器以及储存装置控制方法
TWI324755B (en) Processing modules with multilevel cache architecture
KR960038620A (ko) 미참조 선인출 캐쉬(Non-Referenced Prefetch Cache)를 이용한 명령어 선인출 방법 및 그 회로
JP2004103004A (ja) 適応性を具えた指令とデータアクセス方法と構造
JP2004103003A (ja) 指令とデータを暫時保存及び移転できるアクセス構造及び方法
US20040148464A1 (en) Cache memory device and method of controlling the cache memory device
US7146469B2 (en) Method, apparatus, and system for improving memory access speed
JPH02129746A (ja) 入出力チャネル装置
JP4431492B2 (ja) 複数のコヒーレンシー・グラニュールをサポートするデータ転送ユニット
JP4826873B2 (ja) ホットルーチンメモリを有するマイクロプロセッサシステム
EP1715587A1 (en) Encoding/decoding device
JPH0573413A (ja) キヤツシユメモリ・データ制御装置
US6625697B1 (en) Cache-storage device with a buffer storing prefetch data
JPH07121308A (ja) ディスク装置のライトバック制御方法
JP2008059155A (ja) 情報処理装置及び情報処理方法
CN112667558A (zh) 处理系统与芯片内执行控制方法
KR100385915B1 (ko) 교환기의 원격 가입자 모듈 로딩 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060705

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060711

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061005

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061024