JP2005519389A - How to prefetch data / instructions related to externally triggered events - Google Patents
How to prefetch data / instructions related to externally triggered events Download PDFInfo
- Publication number
- JP2005519389A JP2005519389A JP2003573543A JP2003573543A JP2005519389A JP 2005519389 A JP2005519389 A JP 2005519389A JP 2003573543 A JP2003573543 A JP 2003573543A JP 2003573543 A JP2003573543 A JP 2003573543A JP 2005519389 A JP2005519389 A JP 2005519389A
- Authority
- JP
- Japan
- Prior art keywords
- data
- processor
- cache
- instructions
- memory
- 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
Links
- 230000001960 triggered effect Effects 0.000 title claims description 7
- 238000000034 method Methods 0.000 claims abstract description 36
- 238000012545 processing Methods 0.000 claims abstract description 31
- 230000008569 process Effects 0.000 claims abstract description 16
- 230000009471 action Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/383—Operand prefetching
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
- Multi Processors (AREA)
Abstract
【課題】処理するデータ/命令を受信するための入力インタフェース(20)、および処理された後にデータを送信するための出力インタフェース(22)を有する基盤構造(18)と、入力インタフェースによってデータ/命令を受信した場合にそれらを格納するためのメモリ(14)と、少なくとも一部のデータ/命令を処理するためのプロセッサ(10)とを含むシステムにおいて、外部でトリガされたイベントに関連するデータ/命令をプリフェッチする方法を提供する。
【解決手段】プロセッサは、データ/命令を処理する前に格納するキャッシュと、順次タスクをプロセッサに割り当てるための外部ソース(26)とを有する。この方法は、プロセッサが以前のタスクを実行している間に行われるステップすなわち、プロセッサによって処理されるデータ/命令のメモリ内の位置を決定するステップと、これらのメモリ位置のアドレスをキャッシュに指示するステップと、メモリ位置の内容をフェッチし、それらをキャッシュ内に書き込むステップと、データ/命令を処理するタスクをプロセッサに割り当てるステップとを備える。An infrastructure (18) having an input interface (20) for receiving data / instructions to be processed and an output interface (22) for transmitting data after being processed, and data / instructions by means of the input interface In a system that includes a memory (14) for storing them when received and a processor (10) for processing at least some data / instructions, the data / A method for prefetching instructions is provided.
The processor has a cache for storing data / instructions prior to processing and an external source (26) for sequentially assigning tasks to the processor. The method includes steps performed while the processor is performing previous tasks, i.e., determining the locations in memory of data / instructions to be processed by the processor and directing the cache of the addresses of these memory locations. Fetching the contents of the memory locations and writing them into the cache, and assigning a task to process the data / instruction to the processor.
Description
本発明は、一般に、データ/命令が以前のタスクに関連しない場合に、ネットワーク・プロセッサにおけるスケジューラ(scheduler)等の外部ソースによって、タスクを処理するためプロセッサに割り込みを行うことができるシステムに関し、具体的には、外部でトリガされたイベントに関連したデータ/命令をプリフェッチ(prefetch)する方法に関する。 The present invention relates generally to a system that can interrupt a processor to process a task by an external source, such as a scheduler in a network processor, when data / instructions are not related to a previous task. In particular, it relates to a method for prefetching data / instructions associated with externally triggered events.
最新のマイクロプロセッサおよびマイクロプロセッサ・コアの有効性は、キャッシュ(cache)の有効性に強く依存する。なぜなら、命令サイクル時間はメモリ・アクセス時間よりもはるかに短いからである。キャッシュは、メモリ・アクセスの局所性、すなわち、メモリ・アクセスが以前のアクセスに近い確率が高いという事実を利用する。 The effectiveness of modern microprocessors and microprocessor cores depends strongly on the effectiveness of the cache. This is because the instruction cycle time is much shorter than the memory access time. The cache takes advantage of the locality of the memory access, ie the fact that the memory access is likely to be close to the previous access.
キャッシュは、選択した領域(キャッシュ・ライン)に新しい内容をロードするための機構すなわちキャッシュ・コントローラを含み、そうするために、古いエントリを破棄することでこのアクションのための空間を作る。キャッシュ・コントローラは、現在、キャッチ・プリフェッチ命令を用いてソフトウエアによって活性化することができる(例えばPowerPCに準拠した全てのデバイスのData Cache Block Touch)。更に、線形ストライド(linear stride)またはリンクされたデータ構造のような通常のアクセス・パターンを認識するキャッシュ・コントローラに関する提案がある。しかしながら、この方法は、これらの状況において必要なメモリ内容が以前の処理に関連しない外部でトリガされたイベントには対応しない。かかる場合、必要なメモリ内容に関して唯一わかることは、割り込みソース、スケジューラ、またはタスクを割り当てる他のプロセッサのようなイベントのソースである。 The cache includes a mechanism or cache controller for loading new content into a selected area (cache line), and to do so, creates space for this action by discarding old entries. The cache controller can now be activated by software using a catch prefetch instruction (eg, Data Cache Block Touch for all devices compliant with PowerPC). In addition, there are proposals for cache controllers that recognize normal access patterns such as linear strides or linked data structures. However, this method does not accommodate externally triggered events where the memory content required in these situations is not related to previous processing. In such a case, the only thing known about the required memory content is the source of the event, such as an interrupt source, scheduler, or other processor that assigns tasks.
ネットワーク・プロセッサにおけるスケジューラ等の外部ソースが、以前の処理データに関連しないデータを処理するためにプロセッサに割り込みを行うことができるシステムでは、プロセッサが、キャッシュ・ミス(cache miss)を発生する。これは、プロセッサが必要とするデータがメモリからキャッシュ内にロードされるまでプロセッサが処理を停止することを意味する。これは、相当な長さの時間を無駄にする。このため、現在のメモリ技術および400MHzのプロセッサ・クロック速度では、全てのキャッシュ・ミスは36プロセッサ・クロック・サイクルに合致し、これは約40の命令を意味する。現在の技術の傾向は、メモリのレイテンシよりもプロセッサ命令速度の向上が大きいので、キャッシュ・ミス当たりの失われる命令の数は増大する。
In systems where an external source, such as a scheduler in a network processor, can interrupt the processor to process data that is not related to previous processing data, the processor generates a cache miss. This means that the processor stops processing until the data it needs is loaded from memory into the cache. This wastes a considerable amount of time. Thus, with current memory technology and 400 MHz processor clock speed, every
従って、本発明の主な目的は、アドレスを容易に決定可能なデータに関するキャッシュ・ミスを回避するため、外部でトリガされたイベントに関連するデータ/命令をプリフェッチする方法を達成することである。 Accordingly, it is a primary object of the present invention to achieve a method for prefetching data / instructions related to externally triggered events to avoid cache misses for data whose addresses can be easily determined.
従って、本発明は、基盤構造であって、該基盤構造が処理するデータ/命令を受信するための入力インタフェースおよび処理された後にデータを送信するための出力インタフェースを有する基盤構造と、入力インタフェースによってデータ/命令を受信した場合にそれらを格納するためのメモリと、少なくとも一部のデータ/命令を処理するためのプロセッサと、を含むシステムにおいて、外部でトリガされたイベントに関連するデータ/命令をプリフェッチする方法に関し、プロセッサは、データ/命令を処理する前に格納するキャッシュと、順次タスクをプロセッサに割り当てるための外部ソースとを有する。この方法は、プロセッサが以前のタスクを実行している間に行われるステップすなわち、プロセッサによって処理されるデータ/命令のメモリ内の位置を決定するステップと、これらのメモリ位置のアドレスをキャッシュに指示するステップと、メモリ位置の内容をフェッチし、それらをキャッシュ内に書き込むステップと、データ/命令を処理するタスクをプロセッサに割り当てるステップと、を備える。 Accordingly, the present invention provides an infrastructure having an input interface for receiving data / instructions processed by the infrastructure and an output interface for transmitting data after being processed, and the input interface. Data / instructions related to externally triggered events in a system including a memory for storing data / instructions as they are received and a processor for processing at least some data / instructions With respect to the method of prefetching, the processor has a cache for storing data / instructions before processing and an external source for assigning sequential tasks to the processor. The method includes steps performed while the processor is performing previous tasks, i.e., determining the locations in memory of data / instructions to be processed by the processor and indicating the addresses of these memory locations to the cache. Fetching the contents of the memory locations and writing them into the cache, and assigning a task to process the data / instruction to the processor.
本発明の上述およびその他の目的、特徴、および利点は、添付図面と関連付けた本発明の以下の更に詳細な説明を読むことによって、より良く理解されよう。 The foregoing and other objects, features and advantages of the invention will be better understood by reading the following more detailed description of the invention in conjunction with the accompanying drawings.
かかるシステムは、データ/命令キャッシュを備えたPowerPCプロセッサ・コア等のプロセッサ・コア10を含む。このシステムは、プロセッサ・ローカル・バス(PLB:Processor Local Bus)等の高性能バス12によって構成され、このバスは、例えば全ての必要なタイミング、リフレッシュ信号等を発生することで、メモリからのバス・アーキテクチャの独立性を与えるメモリ・コントローラ16を介して、データおよび命令を含む外部メモリ14(例えばA SDRAM)に接続する。
Such a system includes a
また、バス12およびメモリ14は、入力インタフェース20上でネットワークから受信したデータ・パケットを処理する基盤構造(infrastructure)18によって用いられる。基盤構造18は、パケットの組み立て、メモリの割り当ておよび割り当て解除、ならびにパケット・キューからの挿入および削除を含めて、受信および送信を管理する。
The
パケットの一部は処理する必要が無く、出力インタフェース22によってネットワークを介して直接送信される。他のパケットは、プロセッサ10によって処理しなければならない。パケットを処理する必要があるか、およびどの種類の処理を行わなければならないかの決定は、参照(look-up)および分類ユニット24によって行われる。データ・パケットを処理するために、プロセッサ10はいくつかの情報を必要とする。このため、これは、パケットのヘッダおよび基盤構造18において発生した追加の情報にアクセスしなければならない。例えば、基盤構造は、パケットが到着することができるいくつかのポートを有する場合があり、プロセッサは、パケットがどこから来るかの情報を必要とする。
Some of the packets do not need to be processed and are sent directly over the network by the
スケジューラ26は、1つまたはいくつかのキューにおいてプロセッサによる処理を必要とする全てのデータ・パケットを処理する。これらのキューは、スケジューラ内に物理的に存在する必要は無い。少なくとも、各キューの前部のエントリは、オンチップで格納しなければならない。このスケジューラは、プロセッサのアクティビティを追跡する。プロセッサがパケットの処理を終えると、これは、スケジューラに新しいタスクを要求する。しかしながら、異なる優先度を持ついくつかのキューを管理する場合、スケジューラ26は、優先度の高いものの有利になるように、優先度の低いタスクのプロセッサによる処理に割り込みを行うことができる。
The
いずれの場合でも、スケジューラ26は、プロセッサ10が処理しようとする次のタスクに関する知識を有する。選択されたタスクは、どのデータにアクセスするかを決定する。上述のようなネットワーク・プロセッサの場合、タスク(キューのエントリ)と最初にアクセスしたアドレス、すなわちパケット・ヘッダと追加情報との間の関係は、極めて簡単である。このキュー・エントリからアドレス集合への変換は、アドレス計算ユニットによって行われる。
In any case, the
プロセッサ10が新しいパケットを処理し、パケット・ヘッダ等のデータにアクセスすると、これは、通常、本発明を用いない場合にはキャッシュ・ミスを発生する。これが意味することは、必要なデータが外部メモリ14からキャッシュ内にロードされるまでプロセッサは処理を停止し、これによって、すでに述べたように、相当な時間量が無駄になるということである。本発明によるキャッシュ・プリフェッチは、確実に起こり得る、アドレスを容易に決定可能なデータ・アクセスに関するキャッシュ・ミスを回避する。
When the
機能するため、アクセスが起こる前に、キャッシュに命令して必要なデータをロードしなければならない。このアクションの開始は、キャッシュへの直接接続28を用いるスケジューラから行われる。パケット・ヘッダおよび追加情報を格納したメモリ内の位置を決定した後で、スケジューラは、アドレスを割り当てて、キャッシュにフェッチし、キャッシュ・コントローラはメモリからキャッシュ内にデータをフェッチする。この書き込みの完了後、新しいタスクが以前のタスクよりも高い優先度を有する場合、スケジューラはプロセッサに割り込みを行って、新しいパケットを処理のために割り当て、または、スケジューラは、以前のタスクの完了を待った後で新しいパケットを送出する。
In order to function, the cache must be instructed to load the necessary data before the access occurs. This action is initiated from the scheduler using a
本発明による方法は、図2に示すフローチャートによって表される。最初に、基盤構造は、新しいデータすなわち上述の例におけるデータ・パケットの受信を待つ(ステップ30)。パケットのヘッダは、分類のため用いられ、参照および分類ユニットによる処理の結果得られたヘッダおよび追加情報は、外部メモリに格納される(ステップ32)。参照および分類ユニットは、パケットをソフトウエアによって処理する必要があるか否かを判定し、その優先度を判定する(ステップ34)。パケットが処理を必要としない場合、プロセスはループを戻って新しいデータの受信を待つ(ステップ30)。 The method according to the invention is represented by the flowchart shown in FIG. Initially, the infrastructure waits for receipt of new data, ie the data packet in the above example (step 30). The header of the packet is used for classification, and the header and additional information obtained as a result of processing by the reference and classification unit are stored in external memory (step 32). The referencing and classification unit determines whether the packet needs to be processed by software and determines its priority (step 34). If the packet does not require processing, the process returns to wait for new data to be received (step 30).
データ・パケットが処理を必要とする場合、スケジューラは、プロセッサがアクセスするデータに対応するメモリ内のアドレスを計算しなければならない。この例では、これは、パケット・ヘッダのアドレスおよび、分類器の結果、入力ポート等の追加情報のアドレスである(ステップ36)。次いで、これらのアドレスを、プロセッサのデータ・キャッシュ・コントローラに転送する(ステップ38)。データ・キャッシュ・コントローラは、対応するデータをデータ・キャッシュ内に書き込む(ステップ40)。これは、現在のパケット処理によって生成されるメモリ・アクセスをインターリーブすることによって行われる。 If a data packet requires processing, the scheduler must calculate an address in memory that corresponds to the data that the processor accesses. In this example, this is the address of the packet header and the address of additional information such as classifier results, input ports, etc. (step 36). These addresses are then transferred to the processor's data cache controller (step 38). The data cache controller writes the corresponding data into the data cache (step 40). This is done by interleaving memory accesses generated by current packet processing.
この段階で、プロセスは、到着したばかりのパケットが以前のものよりも高い優先度であるか否かによって決まる(ステップ42)。その場合、スケジューラは、プロセッサによって現在行われている以前のタスクに割り込みを行い(ステップ44)、処理のため新しいパケットを割り当て、プロセッサは、処理を開始し、キャッシュ内で関連データを見出す(ステップ46)。新しいパケットが以前のものよりも高い優先度でない場合、プロセッサは、新しいものを処理する(ステップ46)前に以前の処理を完了しなければならない(ステップ48)。 At this stage, the process depends on whether the packet just arrived has a higher priority than the previous one (step 42). In that case, the scheduler interrupts the previous task currently being performed by the processor (step 44), allocates a new packet for processing, and the processor starts processing and finds the relevant data in the cache (step 46). If the new packet is not of higher priority than the previous one, the processor must complete the previous processing (step 48) before processing the new one (step 46).
高い優先度を有するパケットの場合、スケジューラは、プロセッサに割り込みを行う前にデータ・キャッシュ・フェッチの完了を待たなければならないことに留意するべきである。このため、スケジューラは、バス上のアクションを観察し、全ての割り当てアクセスが完了するまで待つことができる。あるいは、スケジューラは、固定された時間量だけ待ち、または、キャッシュ・コントローラからスケジューラへの直接フィードバックを用いることができる。 Note that for packets with high priority, the scheduler must wait for the data cache fetch to complete before interrupting the processor. Thus, the scheduler can observe the actions on the bus and wait until all assigned accesses are complete. Alternatively, the scheduler can wait for a fixed amount of time or use direct feedback from the cache controller to the scheduler.
また、キャッシュの接続されていない部分において、双方の場合に、2つのパケットが存在し、上述のように第2の優先度の高いパケットを処理するために第1のパケットの処理に割り込みを行うことが起こることに留意しなければならない。他の場合、プリフェッチされたデータは、それにアクセスする前にキャッシュから消去することができる。これは、プロセッサにおいて仮想アドレスから実アドレスへのマッピングを用いて達成可能である。なぜなら、キャシュは通常、仮想アドレスを用いてインデクスを付けるからである。 Further, in the case where the cache is not connected, in both cases, there are two packets, and as described above, the first packet processing is interrupted in order to process the second high priority packet. It must be noted that what happens. In other cases, prefetched data can be erased from the cache before accessing it. This can be achieved using virtual address to real address mapping in the processor. This is because a cache usually indexes using a virtual address.
本発明の方法について、ネットワーク・プロセッサ環境において説明してきたが、プロセッサによる何らかのデータに対するアクセスが確実に行われ、そのアドレスを容易に決定可能ないかなるシステムにおいてもこれを使用可能であることは、当業者には明らかであろう。あらゆる場合において、外部イベントは、処理対象の何らかのデータに結び付けられる。このため、一定の間隔で、新しいピクチャ(picture)が、ナビゲーションのためにカメラを用いるロボットに到着することを想定する。ピクチャの到着はイベントであり、ピクチャ・データ自体が、プリフェッチされる関連データである。 Although the method of the present invention has been described in a network processor environment, it should be noted that it can be used in any system where the processor has certain access to data and whose address can be easily determined. It will be clear to the contractor. In all cases, external events are tied to some data to be processed. For this reason, it is assumed that new pictures arrive at a robot using a camera for navigation at regular intervals. The arrival of a picture is an event, and the picture data itself is related data that is prefetched.
標準的なマイクロプロセッサでは、アドレス・バスを外部ソースとして使用可能であり、これはキャッシュ・コヒーレンシ(coherency)のためすでに観察されることに留意しなければならない。この場合、プリフェッチ要求を示すために必要な外部ワイヤは、1つのみである。 It should be noted that in a standard microprocessor, the address bus can be used as an external source, which has already been observed due to cache coherency. In this case, only one external wire is required to indicate a prefetch request.
Claims (14)
前記方法は、前記プロセッサが以前のタスクを実行している間に行われるステップすなわち、
前記プロセッサによって処理されるデータ/命令の前記メモリ内の位置を決定するステップと、
前記メモリ位置のアドレスを前記キャッシュに指示するステップと、
前記メモリ位置の内容をフェッチし、それらを前記キャッシュ内に書き込むステップと、
前記データ/命令を処理するタスクを前記プロセッサに割り当てるステップと、
を備えることを特徴とする、方法。 Infrastructure structure (18) having an input interface (20) for receiving data / instructions processed by the infrastructure structure and an output interface (22) for transmitting data after being processed And a memory (14) for storing data / instructions as they are received by the input interface, and a processor (10) for processing at least a portion of the data / instructions A method for prefetching data / instructions associated with an externally triggered event, wherein the processor stores a cache prior to processing the data / instructions and an external source for assigning sequential tasks to the processor (26)
The method is performed while the processor is performing a previous task, i.e.
Determining the location in the memory of data / instructions to be processed by the processor;
Directing the cache to the address of the memory location;
Fetching the contents of the memory locations and writing them into the cache;
Assigning a task to process the data / instruction to the processor;
A method comprising:
前記システムは、前記プロセッサが以前のタスクを実行している間に行われる手段すなわち、
前記プロセッサによって処理されるデータ/命令の前記メモリ内の位置を決定する手段と、
前記メモリ位置のアドレスを前記キャッシュに指示する手段と、
前記メモリ位置の内容をフェッチし、それらを前記キャッシュ内に書き込む手段と、
前記データ/命令を処理するタスクを前記プロセッサに割り当てる手段と、
を備えることを特徴とする、システム。 Infrastructure structure (18) having an input interface (20) for receiving data / instructions processed by the infrastructure structure and an output interface (22) for transmitting data after being processed And a memory (14) for storing data / instructions as they are received by the input interface, and a processor (10) for processing at least a portion of the data / instructions A system for prefetching data / instructions associated with externally triggered events, wherein the processor stores a cache prior to processing the data / instructions and an external source for assigning sequential tasks to the processor (26)
The system comprises means that are performed while the processor is performing previous tasks, i.e.
Means for determining a location in the memory of data / instructions to be processed by the processor;
Means for indicating the address of the memory location to the cache;
Means for fetching the contents of the memory locations and writing them into the cache;
Means for assigning a task to process the data / instruction to the processor;
A system comprising:
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP02368022 | 2002-03-05 | ||
PCT/EP2003/002923 WO2003075154A2 (en) | 2002-03-05 | 2003-02-27 | Method of prefetching data/instructions |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005519389A true JP2005519389A (en) | 2005-06-30 |
Family
ID=27771964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003573543A Pending JP2005519389A (en) | 2002-03-05 | 2003-02-27 | How to prefetch data / instructions related to externally triggered events |
Country Status (8)
Country | Link |
---|---|
JP (1) | JP2005519389A (en) |
KR (1) | KR20040101231A (en) |
CN (1) | CN100345103C (en) |
AU (1) | AU2003221510A1 (en) |
BR (1) | BR0308268A (en) |
CA (1) | CA2478007A1 (en) |
MX (1) | MXPA04008502A (en) |
WO (1) | WO2003075154A2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4837247B2 (en) * | 2003-09-24 | 2011-12-14 | パナソニック株式会社 | Processor |
US8224937B2 (en) * | 2004-03-04 | 2012-07-17 | International Business Machines Corporation | Event ownership assigner with failover for multiple event server system |
WO2006061767A1 (en) | 2004-12-10 | 2006-06-15 | Koninklijke Philips Electronics N.V. | Data processing system and method for cache replacement |
US7721071B2 (en) * | 2006-02-28 | 2010-05-18 | Mips Technologies, Inc. | System and method for propagating operand availability prediction bits with instructions through a pipeline in an out-of-order processor |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5619663A (en) * | 1994-09-16 | 1997-04-08 | Philips Electronics North America Corp. | Computer instruction prefetch system |
US5854911A (en) * | 1996-07-01 | 1998-12-29 | Sun Microsystems, Inc. | Data buffer prefetch apparatus and method |
US5761506A (en) * | 1996-09-20 | 1998-06-02 | Bay Networks, Inc. | Method and apparatus for handling cache misses in a computer system |
US6092149A (en) * | 1997-05-28 | 2000-07-18 | Western Digital Corporation | Disk drive cache system using a dynamic priority sequential stream of data segments continuously adapted according to prefetched sequential random, and repeating types of accesses |
US6625654B1 (en) * | 1999-12-28 | 2003-09-23 | Intel Corporation | Thread signaling in multi-threaded network processor |
-
2003
- 2003-02-27 CN CNB038012367A patent/CN100345103C/en not_active Expired - Fee Related
- 2003-02-27 MX MXPA04008502A patent/MXPA04008502A/en unknown
- 2003-02-27 WO PCT/EP2003/002923 patent/WO2003075154A2/en active Application Filing
- 2003-02-27 AU AU2003221510A patent/AU2003221510A1/en not_active Abandoned
- 2003-02-27 CA CA002478007A patent/CA2478007A1/en not_active Abandoned
- 2003-02-27 KR KR10-2004-7012736A patent/KR20040101231A/en not_active Application Discontinuation
- 2003-02-27 BR BR0308268-7A patent/BR0308268A/en not_active IP Right Cessation
- 2003-02-27 JP JP2003573543A patent/JP2005519389A/en active Pending
Also Published As
Publication number | Publication date |
---|---|
AU2003221510A1 (en) | 2003-09-16 |
BR0308268A (en) | 2005-01-04 |
MXPA04008502A (en) | 2004-12-06 |
CA2478007A1 (en) | 2003-09-12 |
WO2003075154A3 (en) | 2004-09-02 |
KR20040101231A (en) | 2004-12-02 |
AU2003221510A8 (en) | 2003-09-16 |
CN100345103C (en) | 2007-10-24 |
WO2003075154A2 (en) | 2003-09-12 |
CN1698031A (en) | 2005-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5197010B2 (en) | Ordering stored instructions for multi-core processors | |
US7818503B2 (en) | Method and apparatus for memory utilization | |
US7620749B2 (en) | Descriptor prefetch mechanism for high latency and out of order DMA device | |
US9535842B2 (en) | System and method for performing message driven prefetching at the network interface | |
US8196147B1 (en) | Multiple-processor core optimization for producer-consumer communication | |
US8255591B2 (en) | Method and system for managing cache injection in a multiprocessor system | |
US9626294B2 (en) | Performance-driven cache line memory access | |
JP4064924B2 (en) | Method and apparatus for controlling memory access | |
US20030145136A1 (en) | Method and apparatus for implementing a relaxed ordering model in a computer system | |
EP1031919A2 (en) | Method for prefetching structured data | |
US9645937B2 (en) | Expedited servicing of store operations in a data processing system | |
EP1139222A1 (en) | Prefetch for TLB cache | |
US9811466B2 (en) | Expedited servicing of store operations in a data processing system | |
JP2020507848A (en) | Method and apparatus for providing accelerated access to a memory system | |
US9632943B2 (en) | Expedited servicing of store operations in a data processing system | |
US9910782B2 (en) | Expedited servicing of store operations in a data processing system | |
JP2008503003A (en) | Direct processor cache access in systems with coherent multiprocessor protocols | |
JP2005519389A (en) | How to prefetch data / instructions related to externally triggered events | |
US8719499B2 (en) | Cache-line based notification | |
US20050044321A1 (en) | Method and system for multiprocess cache management | |
JP5254710B2 (en) | Data transfer device, data transfer method and processor | |
JP4504134B2 (en) | System control apparatus, speculative fetch method, and information processing apparatus | |
JP2736237B2 (en) | Remote memory access controller | |
US6308147B1 (en) | Data structure synthesis in hardware using memory transaction translation techniques | |
JP4856413B2 (en) | Arithmetic processing apparatus, information processing apparatus, and control method for arithmetic processing apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061120 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061128 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070508 |