JP3914154B2 - 多バイトバーストメモリに対する有効バイトの決定方法 - Google Patents

多バイトバーストメモリに対する有効バイトの決定方法 Download PDF

Info

Publication number
JP3914154B2
JP3914154B2 JP2002534980A JP2002534980A JP3914154B2 JP 3914154 B2 JP3914154 B2 JP 3914154B2 JP 2002534980 A JP2002534980 A JP 2002534980A JP 2002534980 A JP2002534980 A JP 2002534980A JP 3914154 B2 JP3914154 B2 JP 3914154B2
Authority
JP
Japan
Prior art keywords
value
enable
word
bit
byte
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.)
Expired - Fee Related
Application number
JP2002534980A
Other languages
English (en)
Other versions
JP2004514965A (ja
Inventor
エリック ピール
ブラッドリー ローチ
チン シュイエ
Original Assignee
エミュレックス デザイン アンド マニュファクチュアリング コーポレーション
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 エミュレックス デザイン アンド マニュファクチュアリング コーポレーション filed Critical エミュレックス デザイン アンド マニュファクチュアリング コーポレーション
Publication of JP2004514965A publication Critical patent/JP2004514965A/ja
Application granted granted Critical
Publication of JP3914154B2 publication Critical patent/JP3914154B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Description

【0001】
技術分野
本発明は、データプロセッサに関し、さらに詳しく述べるとバーストメモリアクセスをサポートするデータプロセッサに関する。
【0002】
背景
コンピュータシステムにおいて、中央処理装置(CPU)は、データ要素を集合的に記憶するメモリセル群の固有の位置を示すアドレスを指定することによってメモリをアクセスすることができる。上記CPUは、アドレスバスにアドレス指定しそして1又は2以上の制御信号を提供して、そのアドレスが有効であり、且つ、バスサイクルが始まったという信号を送ることによって、バスサイクルを開始することができる。その場合、読み取り/書き込み制御信号が、そのアクセスは読み取りアクセスなのか又は書き込みアクセスなのかを示す。その後、データ要素は、バスサイクルが読み取りサイクルであればデータバスから読み取られ、又はバスサイクルが書き込みサイクルであればデータバスに提供される。
【0003】
メモリに対する初期アクセスを実行する際には、いくつものオペレーションがなされる。これらのオペレーションは、初期アクセスを比較的遅くする場合がある。上記のように、特定の信号を設定して上記プロセスを始めることができる。次にそのアドレスを前記メモリに送る。これらステップを行った後、データ自体が転送される。このオペレーションのオーバーヘッドとレイテンシのため、メモリに対する初期アクセスは比較的長い時間がかかり、例えば多くの装置の場合4〜7のクロックサイクルを要する。
【0004】
メモリのレイテンシを減らすため、いくつかのメモリ装置は、各アクセス毎に、メモリから四つの64ビットワード(256ビットすなわち32バイト)からなるブロックを連続的に読み取る。この「バーストアクセスモード(burst access mode)」又は「バースティング(bursting)」の利点は、連続した三つのアクセスに対して初期アクセスのオーバーヘッドを繰り返すことを避けていることである。その連続したアクセスは、4〜7クロックサイクルの代わりに1〜3クロックサイクルまで短くすることができる。
【0005】
バースティングをサポートするメモリ装置は、バイトでアドレス指定できない。特定のバイトアドレスにおけるメモリ位置にアクセスする代わりに、上記メモリ装置は、データ要素の多バイトブロックを引き出すことができる。データのブロック内のデータ要素のいくつかは、前記要求に対して有効でないことがある。したがって、バーストアクセスがなされたワード内の有効なデータ要素を決定する方法を提供することは有効である。
【0006】
要約
一実施態様によれば、多バイトバーストメモリ装置のメモリコントローラは、クライアントがセットアップするパラメータに基づいて、メモリに対するアクセスを制御することができる。これらパラメータとしては、バイトのアドレス、及びクライアントがメモリに要求しているバイトの数を示すバイト数(バイトカウント)がある。これらの値及びバーストアクセスされたワード内のバイトの数を示す整数mは演算されて、バーストアクセスされたワード内の有効バイトを特定するのに使用できるワードをつくることができる。
【0007】
一実施態様によれば、前記メモリ制御器は、バーストアクセスされたワード内の有効バイトに対応する有効ビットを含むm−ビットのバイトイネーブルワード(m-bit, bytes-enable word)を生成することができる。バイトアドレスの一部を切り捨ててn−ビットワードをつくることができ、そしてイネーブル値(enable value)が、前記n−ビットワード、前記バイト数及び前記mの値から計算できる。シフト前バイトイネーブルワード(pre-shifted bytes enable word)を、前記のイネーブル値と前記mの値から生成することができる。バイトイネーブルワードは、前記シフト前バイトイネーブルワード内のビットを、前記nビットのワードの値だけシフトさせることによって生成することができる。
【0008】
1又は2以上の実施態様の詳細を、添付図面と下記説明で述べる。1又は2以上の実施態様の他の特徴、目的及び利点は、下記説明と図面から及び諸請求項から明らかになるであろう。
【0009】
詳細な説明
図1は多バイトバーストメモリ装置102を含むシステム100を例示している。メモリ制御器104は、読み取り/書き込みバス108上で、クライアント106によるメモリ装置102からの読み取りオペレーション及びメモリ装置102への書き込みオペレーションを制御することができる。
【0010】
各クライアント106は、アクセスを開始するときにパラメータをセットアップすることができる。メモリ制御器104は、これらのパラメータに基づいて、各クライアントの要求をいつ処理すべきかを決定することができる。これらパラメータは、バイト数及び開始バイトアドレス(starting byte address)を含んでいてもよい。バイト数とは、クライアント106がアクセスすることを望んでいるメモリ装置102内のバイトの数を意味する。開始バイトアドレスとは、アクセスが始まるメモリ内のバイトアドレスを意味する。メモリ装置102はバイトでアドレス指定することができないので、メモリ装置102へのアクセスは多バイトバーストで実行される。これらのバイトは、間にあるバイトをスキップすることなく、線形的に増大する順にアクセスすることができる。
【0011】
開始バイトアドレスは、最初、メモリ装置102の「細分性」のレベルすなわちメモリ装置102に対するバーストアクセスの精細さに一致するために必要なビットの数だけ切り捨てすることができる。その切り捨てられた開始バイトアドレスは、クライアント106が要求するデータ要素内の第一バイトを含む多バイトワードにアクセスするために使用できる「ワードアドレス」を形成することができる。その切り捨てられたビットは一時的に保存され、最初のアクセスからのどのバイトが有効であるかを決定するのに使用することができる。メモリ装置102からアクセスされる最初の多バイトバーストワードは、たった一つの又は2以上の有効バイト、さらに全ワードまで(の有効バイト)を含んでいてもよい。そのワードアドレスは、各アクセスが終わるごとに一つずつ増やすことができる。
【0012】
上記バイト数は、バイトアドレスと数学的に組み合わせて「イネーブル値」を計算することができる。そのイネーブル値は、アクセスされる有効バイトの数を表す。そのイネーブル値を使用して、各アクセスの後、バイト数を減少させ、アクセスされた最後のバイトアドレスを計算し、クライアントの要求を満たすためにアクセスすべき次のアドレスを計算し、そして拡張し次いで書き込みバイトもしくは読み取りバイトに対するバイトイネーブル(byte enable)及びパリティ検査イネーブルとして使用できるワードを形成することができる。
【0013】
図2Aと2Bに、多バイトバーストでアクセスされたワード中の有効バイトを決定するオペレーション200が記載されている。そのアクセスされたワードはmバイトである(但し、m=2でnはある整数である。)。オペレーション200の説明の中で、整数mは「アクセスバイト値」も意味する。
【0014】
以下の説明は、オペレーション200の実行の一実施態様である。他の実施態様では、状態(state)をスキップしたり又は異なる順序で実行することができる。
【0015】
クライアント106は、状態202において、バイトアドレス及びバイト数のパラメータをメモリ制御器104に書き込むことができる。状態204において、そのバイト数は、バイトアドレスの切り捨てられた部分に加えられて結果を生成する。バイトアドレスの切り捨てられた部分はバイトアドレスのビット0〜xを含んでいる(但しxはアクセスバイト値の2を底とする対数値マイナス1に等しい)。その結果が、状態206において、前記アクセスバイト値以下であると決定されたならば、イネーブル値は、状態208において、バイト数に設定される。結果がそうでなければ、イネーブル値は、状態210において、アクセスバイト値マイナスバイトアドレスの値と決定できる。状態212において、新しいバイト数が、バイト数マイナスイネーブル値の値と決定できる。この新しいバイト数がゼロに等しい場合、状態216において、最後のパケット値が真値に設定される。この新しいバイト数がゼロ値でない場合、前記最後のパケット値は、状態218において偽値に設定される。前記最後のパケット値を使用して、クライアントが、メモリデバイス102に要求したすべてのバイトにアクセスしたかどうか又はその要求を満たすため別のバーストアクセスが必要なのかどうかを決定できる。
【0016】
図2Bに進んで、クライアントの要求を満たすために必要な次のアクセスに対するアドレス、すなわち「次のバイトアドレス」は、状態220において、バイトアドレスをイネーブル値に加えることによって決定することができる。状態222において、値jはアクセスバイト値マイナス1に設定される。そのj値は、m−ビットのシフト前バイトイネーブルワード(m-bit pre-shifted bytes enable word)が構築されるループオペレーションに対するカウンターとして使用される整数である。上記シフト前バイトイネーブルワードは、下記のバイトイネーブルワードのプリカーサーであり、バーストアクセスされたワード内の有効バイトを確認するために使用できる。
【0017】
上記イネーブル値が、状態224において、j以下であると決定されると、シフト前バイトのイネーブルワード内のビットが、状態226においてゼロに設定される。そのビットは、ポジションyにあり、そしてyはアクセスバイト値マイナスjマイナス1に等しい。そうでなければ、ビットyは、状態228において1に設定される。上記j値は、状態230において、1だけ減らされる。
【0018】
jが、状態232でゼロ以下であると判定されると、オペレーション200が状態224に戻って、m−ビットのシフト前バイトイネーブルドワードを構築し続ける。
【0019】
jが、状態232でゼロより大きくないと判定されると、オペレーション200はループを通って下がり、mビットバイトイネーブルドワードの値を決定する。バイトイネーブルワード内の各ビットは、バーストアクセスされたワード内のバイトに対応している。状態234において、前記バイトイネーブルドワードの値は、zビットだけシフトされたビットを有するシフト前バイトイネーブルドワードの値に設定される(zは状態204で特定したバイトアドレスワードの切り捨てられた部分の値である。)。
【0020】
また、オペレーション200は、下記実施例を参照することによって理解することができる。
【0021】
実施例1
この実施例では、バイトアドレスが8であり、バイト数が42であり、そしてアクセスバイト値が32であり、すなわちバーストアクセスされたワードは32バイトの幅である。バイトアドレスとバイト数の合計は状態204で計算される。log(32)は5であるので、状態204で使用されるバイトアドレスの切り捨てられた部分は、バイトアドレスの五つの最小有効ビットを含んでいる。すなわち、
Figure 0003914154
したがって、計算された結果は50である。この結果はアクセスバイト値32より大きいので、イネーブル値は、状態210において、24と決定される(アクセスバイト32マイナスバイトアドレス8)。
【0022】
次に、新しいバイト数が、状態214において、17(バイトカウント41マイナスイネーブル値24)に設定される。この値はゼロでないので、最後のパケット値は、状態218において、偽値に設定され、これが、最後のバーストアクセスすなわちクライアント106の要求を満たすアクセスでないことを示している。
【0023】
次のバイトアドレスは、状態220において、32(バイトアドレス8プラスイネーブル値24)に設定される。j値は、状態322において31に設定される。j、つまり31はイネーブル値24より大きいので、状態226へ分岐される。シフト前バイトイネーブルドワード内の第一ビットが、状態226で下記のように計算される。
バイト_イネーブルド_プレ_シフト[32−1−31]=
バイト_イネーブルド_プレ_シフト[0]=0
このように、m−ビットのシフト前バイトイネーブルワード内のビット[0]がゼロに設定される。jの値は状態230で減らされて、ループが状態232で続く。jの値[31]から[24]に対して状態226へ分岐され、シフト前バイトイネーブルドワード内のビット[0]−[7]をゼロに設定する。j=[23]の場合、そのイネーブル値がjより大きいので、状態228に分岐される。そのループが続き、シフト前バイトのイネーブルドワード内のビット[8]−[31]を1に設定する。この段階で、そのシフト前バイトのイネーブルドワードの値は[11111111111111111111111100000000]である。
【0024】
上記シフト前バイトイネーブルワードが構築されたとき、j値は状態230において負の値に設定されて、オペレーション200は前記ループを通って、状態234に下がる。前記バイトイネーブルドワードは、zビットだけシフトされた、シフト前バイトイネーブルドワードに設定される。なお、そのzは、前記バイトアドレスの切り捨てられた部分の値である。この実施例では次のとおりである。
バイト_アドレス[logab−1:0]=
バイト_アドレス[4:0] =
01000 =810

【0025】
したがってこれらの値は8ビットシフトされて以下のようになる。
プレ_シフト_バイト_イネーブルド=11111111111111111111111100000000
バイト_イネーブルド =00000000111111111111111111111111
【0026】
この実施例では、バーストアクセスドワード内のバイト[0]−[23]は有効バイトとして取り扱うことができ、そしてバイト[24]−[31]は無効バイトとして取り扱うことができる。クライアント106は、バーストアクセスされたワード内の有効バイトだけをアクセスすることができる。
【0027】
オペレーション200は、特定セットのアクセスパラメータに対してクライアント106が最初のアクセスと最後の(最終)アクセスを行うのに最も有用である。というのは間にあるアクセスはすべての有効バイトを含んでいるからである。また、このオペレーション200を使用すると、各記憶位置に、良好なデータとパリティを書き込むことによって、メモリ装置102を初期化する必要はない。なぜならば、メモリ制御器104は、クライアント106が要求したバイトのパリティしかチェックしないからである。
【0028】
メモリ制御器104は、クライアント106に次のバイトアドレスを提供できる。一実施態様では、クライアントは、このアドレスを記憶し、全く新しいオペレーションを、新しいアクセスパラメータで始め、その後、その保存されたアドレス情報を利用して別のオペレーションを開始する。クライアント106は、次に、その前の読み取りオペレーション又は書き込みオペレーションをそのオペレーションを終了したところにおいて正確に再開することができる。
【0029】
本発明のいくつもの実施態様を説明してきた。しかし、本発明の精神と範囲から逸脱することなく各種の変形を実施することができるものである。したがって、他の実施態様は本願の請求項の範囲内にある。
【図面の簡単な説明】
【図1】 一実施態様の多バイトバーストメモリ装置を含むシステムのブロック図である。
【図2A】 一実施態様の、多バイトバーストアクセスされたワード内の有効バイトを確立するオペレーションを記載するフローチャートを示す。
【図2B】 一実施態様の、多バイトバーストアクセスされたワード内の有効バイトを確立するオペレーションを記載するフローチャートを示す。

Claims (16)

  1. バーストメモリからバーストアクセスされたmバイトのワード内の有効バイトを決定する方法であって、
    メモリに対するクライアントの読み取り又は書き込み要求におけるバイトアクセスの最初のアドレス及びバイトの数を示すバイトカウント値を含む複数のアクセスパラメータを受信し、次いで
    前記最初のアドレスを切り捨てて、nの値が、前記mの値の2を底とする対数から1をマイナスした値に等しく且つ前記最初のアドレス内の最小有効ビット乃至n位のビットの複数のビットを含んでいるnビットのワードを生成し
    前記nビットのワードを前記バイトカウント値に加えた結果を計算し、前記結果を前記mの値と比較し、前記結果が前記mの値以下であれば前記イネーブル値を前記バイトカウント値に設定し、前記結果が前記mの値より大きければ前記イネーブル値を前記mの値から前記最初のアドレスを引いた値に設定することにより、前記nビットのワードと前記バイトカウント値と前記mの値とからイネーブル値を発生し、
    jの値をm−1に設定し、(a)前記イネーブル値がjの値以下であればmビットのシフト前イネーブルワードの(m−1−j)ビットを0に設定し、前記イネーブル値がjの値より大きければ前記mビットのシフト前イネーブルワードの(m−1−j)ビットを1に設定し、(b)jの値を1だけ減少し、(c)jの値が0以下になるまで前記(a)及び前記(b)のステップを繰り返すことにより、前記イネーブル値と前記mの値とからmビットのシフト前イネーブルワードを発生し
    して、前記mビットのシフト前イネーブルワードにおけるビットを右方向に前記nビットのワードの値だけシフトすることにより、前記mバイトのワード内の少なくとも一つの有効バイトに対応する少なくとも一つの有効ビットを含むmビットイネーブルワードを、前記アクセスパラメータ及び前記mの値から生成する、ことを含む方法。
  2. 前記バイトカウント値と前記イネーブル値に応答して、メモリに対するアクセスが、そのアクセスを起こした前記クライアントの読み取り又は書き込み要求を満たしているかどうかを、前記バイトカウント値と前記イネーブル値との差が0であるか否かを計算することにより決定することをさらに含む請求項1に記載の方法。
  3. 前記最初のアドレスを前記イネーブル値に加えることにより、前記最初のアドレス及び前記イネーブル値から、メモリに次のアクセスを行うための第二アドレスを生成することをさらに含む請求項1に記載の方法。
  4. 前記mの値が32である請求項1に記載の方法。
  5. クライアント装置からのメモリに対するクライアントの読み取り又は書き込み要求におけるバイトアクセスの最初のアドレス及びバイトの数を示すバイトカウント値を含む複数のアクセスパラメータと、メモリ装置からのバーストアクセスされたmバイトのワード内のバイトの数を示すアクセスバイト値と、を受信するデータ入力、
    前記最初のアドレスを切り捨てて、nの値が、前記mの値の2を底とする対数から1をマイナスした値に等しく且つ前記最初のアドレス内の最小有効ビット乃至n位のビットの複数のビットを含んでいるnビットのワードを生成し、
    前記nビットのワードを前記バイトカウント値に加えた結果を計算し、前記結果を前記mの値と比較し、前記結果が前記mの値以下であれば前記イネーブル値を前記バイトカウント値に設定し、前記結果が前記mの値より大きければ前記イネーブル値を前記mの値から前記最初のアドレスを引いた値に設定することにより、前記nビットのワードと前記バイトカウント値と前記mの値とからイネーブル値を発生し、
    jの値をm−1に設定し、(a)前記イネーブル値がjの値以下であれば前記mビット のシフト前イネーブルワードの(m−1−j)ビットを0に設定し、前記イネーブル値がjの値より大きければ前記mビットのシフト前イネーブルワードの(m−1−j)ビットを1に設定し、(b)jの値を1だけ減少し、(c)jの値が0以下になるまで前記(a)及び前記(b)のステップを繰り返すことにより、前記イネーブル値と前記mの値とからmビットのシフト前イネーブルワードを発生し
    して、前記mビットのシフト前イネーブルワードにおけるビットを右方向に前記nビットのワードの値だけシフトして前記バーストワードの少なくとも一つの有効バイトに対応する少なくとも一つの有効ビットを含むmビットのイネーブルワードを発生することにより、前記複数のアクセスパラメータ及び前記アクセスバイト値に応答して、前記mバイトのバーストワード内の少なくとも一つの有効バイトを決定するイネーブル回路、
    を含むメモリ制御器。
  6. 前記バーストワードがmバイトのワードを含み、そして前記イネーブルワードがmビットのワードを含む請求項5に記載のメモリ制御器。
  7. 各々に関連付けられたアドレスを有する複数のメモリ要素を含むメモリ装置、
    クライアント装置、
    前記メモリ装置と前記クライアント装置の間でデータを送るバス、及び
    前記バス上で、前記メモリ装置内のバーストアクセスされるmバイトのワードに対するクライアント装置によるバーストアクセスを制御するメモリ制御器であって、前記クライアント装置からメモリに対するクライアント装置の読み取り又は書き込み要求と、同要求におけるバイトアクセスの最初のアドレス及びバイトの数を示すバイトカウント値を含む複数のアクセスパラメータと、を受信し、そして同複数のアクセスパラメータ及びmの値に応答して前記mバイトのワード内の少なくとも一つの有効バイトを決定する作動を行うメモリ制御器、
    を備えてなるシステムであって、
    前記メモリ制御器は、前記最初のアドレスを切り捨てて、nの値が、前記mの値の2を底とする対数から1をマイナスした値に等しく且つ前記最初のアドレス内の最小有効ビット乃至n位のビットの複数のビットを含んでいるnビットのワードを生成し、
    前記nビットのワードを前記バイトカウント値に加えた結果を計算し、前記結果を前記mの値と比較し、前記結果が前記mの値以下であれば前記イネーブル値を前記バイトカウント値に設定し、前記結果が前記mの値より大きければ前記イネーブル値を前記mの値から前記最初のアドレスを引いた値に設定することにより、前記nビットのワードと前記バイトカウント値と前記mの値とからイネーブル値を発生し
    jの値をm−1に設定し、(a)前記イネーブル値がjの値以下であれば前記mビットのシフト前イネーブルワードの(m−1−j)ビットを0に設定し、前記イネーブル値がjの値より大きければ前記mビットのシフト前イネーブルワードの(m−1−j)ビットを1に設定し、(b)jの値を1だけ減少し、(c)jの値が0以下になるまで前記(a)及び前記(b)のステップを繰り返すことにより、前記イネーブル値と前記mの値とからmビットのシフト前イネーブルワードを発生し
    して、前記mビットのシフト前イネーブルワードにおけるビットを右方向に前記nビットのワードの値だけシフトすることにより、前記バーストワードの少なくとも一つの有効バイトに対応する少なくとも一つの有効ビットを含むmビットのイネーブルワードを発生するイネーブルワードジェネレータを備える、システム。
  8. 前記メモリ制御器が、前記最初のアドレスに前記イネーブル値を加えることにより、前記複数のアクセスパラメータに対する次のアクセスを行うための第二アドレスを決定する作動を行う請求項7に記載のシステム。
  9. 前記クライアントが前記第二アドレスを記憶する作動を行う請求項8に記載のシステム。
  10. 前記メモリ装置がバーストメモリ装置である請求項7に記載のシステム。
  11. 前記メモリ制御器が、前記nビットのワードと前記バイトカウント値との合計を求め、その合計が前記mの値以下であるか否かを判定することにより、前記アクセスがクライアントの要求を満たすのに必要な最終アクセスであるかどうかを、決定する作動を行う請求項7に記載のシステム。
  12. 前記バスが読み取りバス及び書き込みバスを含んでいる請求項7に記載のシステム。
  13. バーストメモリからバーストアクセスされたmバイトのワード内の有効バイトを決定するための、機械可読媒体上にある命令を含む装置であって、その命令が、機械に、
    メモリに対するクライアントの読み取り又は書き込み要求におけるバイトアクセスの最初のアドレス及びバイトの数を示すバイトカウント値を含む複数のアクセスパラメータを受信させ、次いで
    前記最初のアドレスを切り捨てて、nの値が、前記mの値の2を底とする対数値から1をマイナスした値に等しく且つ前記最初のアドレス内の最小有効ビット乃至n位置のビットの複数のビットを含んでいるnビットのワードを生成し
    前記nビットのワードを前記バイトカウント値に加えた結果を計算させ、前記結果を前記mの値と比較させ、前記結果が前記mの値以下であれば前記イネーブル値を前記バイトカウント値に設定させ、前記結果が前記mの値より大きければ前記イネーブル値を前記mの値から前記最初のアドレスを引いた値に設定させることにより、前記nビットのワードと前記バイトカウント値と前記mの値とからイネーブル値を発生し、
    jの値をm−1に設定させ、(a)前記イネーブル値がjの値以下であればmビットのシフト前イネーブルワードの(m−1−j)ビットを0に設定させ、前記イネーブル値がjの値より大きければ前記mビットのシフト前イネーブルワードの(m−1−j)ビットを1に設定させ、(b)jの値を1だけ減少させ、(c)jの値が0以下になるまで前記(a)及び前記(b)のステップを繰り返させることにより、前記イネーブル値と前記mの値とからmビットのシフト前イネーブルワードを発生し
    そして、前記mビットのシフト前イネーブルワードにおけるビットを右方向に前記nビットのワードの値だけシフトすることにより、前記アクセスパラメータ及び前記mの値から、前記mバイトのワード内の少なくとも一つの有効バイトに対応する少なくとも一つの有効ビットを含むmビットのイネーブルワードを生成させる装置。
  14. 機械に、
    前記nビットのワードと前記バイトカウント値との合計を求め、その合計が前記mの値以下であるか否かを判定することにより、メモリに対するアクセスがクライアントの要求を満たすかどうかを決定させる、命令をさらに含む請求項13に記載の装置。
  15. 機械に、
    メモリに対して次のアクセスを行うための第二アクセスを、前記最初のアドレスに前記イネーブル値を加えることにより、前記最初のアドレスと前記イネーブル値から生成させる、命令をさらに含んでいる請求項13に記載の装置。
  16. 前記mの値が32である請求項13に記載の装置。
JP2002534980A 2000-10-12 2001-10-09 多バイトバーストメモリに対する有効バイトの決定方法 Expired - Fee Related JP3914154B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/687,526 US6904505B1 (en) 2000-10-12 2000-10-12 Method for determining valid bytes for multiple-byte burst memories
PCT/US2001/031750 WO2002031659A1 (en) 2000-10-12 2001-10-09 Method for determining valid bytes for multiple-byte burst memories

Publications (2)

Publication Number Publication Date
JP2004514965A JP2004514965A (ja) 2004-05-20
JP3914154B2 true JP3914154B2 (ja) 2007-05-16

Family

ID=24760759

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002534980A Expired - Fee Related JP3914154B2 (ja) 2000-10-12 2001-10-09 多バイトバーストメモリに対する有効バイトの決定方法

Country Status (6)

Country Link
US (1) US6904505B1 (ja)
EP (1) EP1325416A4 (ja)
JP (1) JP3914154B2 (ja)
KR (1) KR100523966B1 (ja)
CA (1) CA2425660A1 (ja)
WO (1) WO2002031659A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8015470B2 (en) * 2007-07-18 2011-09-06 Freescale Semiconductor, Inc. Apparatus and method for decoding bursts of coded information

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4228496A (en) 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
EP0453863A2 (en) 1990-04-27 1991-10-30 National Semiconductor Corporation Methods and apparatus for implementing a media access control/host system interface
US5452432A (en) 1990-08-14 1995-09-19 Chips And Technologies, Inc. Partially resettable, segmented DMA counter
US5604884A (en) 1993-03-22 1997-02-18 Compaq Computer Corporation Burst SRAMS for use with a high speed clock
US5630075A (en) * 1993-12-30 1997-05-13 Intel Corporation Write combining buffer for sequentially addressed partial line operations originating from a single instruction
EP0683457A1 (en) * 1994-05-20 1995-11-22 Advanced Micro Devices, Inc. A computer system including a snoop control circuit
JPH0877067A (ja) * 1994-09-01 1996-03-22 Nec Corp キャッシュメモリ制御装置
US5608892A (en) 1995-06-09 1997-03-04 Alantec Corporation Active cache for a microprocessor
US5832302A (en) 1996-07-01 1998-11-03 Sun Microsystems, Inc. Dual adder burst control governor to signal when a data burst is close to completion
US5983303A (en) 1997-05-27 1999-11-09 Fusion Micromedia Corporation Bus arrangements for interconnection of discrete and/or integrated modules in a digital system and associated method

Also Published As

Publication number Publication date
EP1325416A4 (en) 2005-08-10
JP2004514965A (ja) 2004-05-20
WO2002031659A1 (en) 2002-04-18
US6904505B1 (en) 2005-06-07
KR20030042007A (ko) 2003-05-27
CA2425660A1 (en) 2002-04-18
EP1325416A1 (en) 2003-07-09
KR100523966B1 (ko) 2005-10-26

Similar Documents

Publication Publication Date Title
US11294675B2 (en) Writing prefetched data into intra-core caches of cores identified by prefetching instructions
US6170070B1 (en) Test method of cache memory of multiprocessor system
US20050033874A1 (en) Direct memory access using memory descriptor list
JPH02287752A (ja) マイクロプロセッサ
CN1669012A (zh) 支持不同脉冲时间存取而无须变更模式寄存器中脉冲时间设定的dram
CN112199040B (zh) 存储访问方法及智能处理装置
CN114051611B (zh) 用于非连续存储器的dma分散和聚集操作
JPH0357500B2 (ja)
JP2009543183A (ja) 調停を実行する方法及び装置
JP4531223B2 (ja) 集合的メモリを共有する複数のプロセッサを備えたデータ処理装置
JP3914154B2 (ja) 多バイトバーストメモリに対する有効バイトの決定方法
JP2009217640A (ja) データ転送制御装置
US6738840B1 (en) Arrangement with a plurality of processors having an interface for a collective memory
CN114003525B (zh) 数据传输的方法、模块、装置、设备及存储介质
CN115016981A (zh) 存储区域的设置方法、数据读取、写入方法及相关装置
JP7140768B2 (ja) コヒーレント相互接続システムにおける読み取りトランザクショントラッカーのライフタイム
JPH10143428A (ja) 省電力用のメモリ制御システムおよびメモリ制御回路
TWI764311B (zh) 記憶體存取方法及智慧處理裝置
JP2008511890A (ja) アトミック・オペレーションを用いて情報単位を変更する方法及び装置
JP2004038705A (ja) メモリ制御装置およびメモリアクセス方法
CN117149447B (zh) 带宽调整方法、装置、设备及存储介质
JP3190847B2 (ja) データ転送制御装置
US6286081B1 (en) Mechanism for ensuring data coherency during sequential readings of portions of data that changes with time
JP2016170607A (ja) データ処理装置及びデータ処理方法
JPS59167891A (ja) 緩衝記憶装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050315

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050608

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050617

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050915

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20051006

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060328

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060627

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060705

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060927

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070109

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070201

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees