JP2002024007A - Processor system - Google Patents

Processor system

Info

Publication number
JP2002024007A
JP2002024007A JP2000215884A JP2000215884A JP2002024007A JP 2002024007 A JP2002024007 A JP 2002024007A JP 2000215884 A JP2000215884 A JP 2000215884A JP 2000215884 A JP2000215884 A JP 2000215884A JP 2002024007 A JP2002024007 A JP 2002024007A
Authority
JP
Japan
Prior art keywords
instruction
access request
request
storage
load
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.)
Granted
Application number
JP2000215884A
Other languages
Japanese (ja)
Other versions
JP3873589B2 (en
Inventor
Takayoshi Nakamura
隆喜 中村
Naonobu Sukegawa
直伸 助川
Yuuichi Saigan
裕一 西願
Masaya Nakahata
昌也 中畑
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2000215884A priority Critical patent/JP3873589B2/en
Publication of JP2002024007A publication Critical patent/JP2002024007A/en
Application granted granted Critical
Publication of JP3873589B2 publication Critical patent/JP3873589B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Advance Control (AREA)

Abstract

PROBLEM TO BE SOLVED: To reduce main storage access latency and to improve system performance when a load instruction processed by instruction processors brings about a data cache error before the request of leading prefetch instruction is completed. SOLUTION: The instruction processors 1 and 2 issue a request with an attached signal for distinguishing a load from a prefetch to a main storage controller 3, the controller 3 registers a load request and a prefetch request into different queues, a priority circuit 22 skips the preceding prefetch request and processes the subsequent load request by notifying a priority circuit 23 or 24 that the load request is currently processed.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明はデータキャッシュを
有する命令プロセッサのプロセッサシステムに関し、特
に命令プロセッサを高速に動作させるための記憶アクセ
ス制御に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a processor system of an instruction processor having a data cache, and more particularly to a storage access control for operating an instruction processor at high speed.

【0002】[0002]

【従来の技術】近年、半導体プロセス、論理方式の進歩
により、命令プロセッサの動作速度の向上が著しい。こ
れに対して主記憶は大容量化することが重要であるた
め、高速化が難しく、主記憶アクセス性能がボトルネッ
クとなっている。この課題を解決する手段の一つに、命
令プロセッサに近いところに高速に動作する小容量のデ
ータキャッシュを設け、主記憶の一部の写しを持つ方法
がある。
2. Description of the Related Art In recent years, due to advances in semiconductor processes and logic systems, the operating speed of instruction processors has been remarkably improved. On the other hand, since it is important to increase the capacity of the main memory, it is difficult to increase the speed, and the main memory access performance is a bottleneck. As a means for solving this problem, there is a method in which a small-capacity data cache that operates at a high speed near an instruction processor is provided and a part of the main memory is copied.

【0003】命令プロセッサがロード命令を処理する場
合、主記憶よりデータを読み出し、レジスタに書き込む
と同時にデータキャッシュに登録する。一旦、データキ
ャッシュに登録されたデータに対してロード命令があっ
た場合には、命令プロセッサは主記憶をアクセスせず
に、データキャッシュに対して高速なロード処理を行な
うことができる。なお、主記憶アクセスパターンに局所
性があることを考慮して、データキャッシュへのデータ
登録は真に必要なデータ(クリティカルデータ)のみ行な
うのではなく、アドレスが連続する数10Byteのデータを
ブロックとし、ブロック単位(ライン)でまとめて登録す
る方式が一般的である。
When an instruction processor processes a load instruction, data is read from the main memory, written to a register, and simultaneously registered in a data cache. Once a load instruction is issued for data registered in the data cache, the instruction processor can perform high-speed load processing on the data cache without accessing the main memory. In consideration of the locality of the main memory access pattern, data registration in the data cache is not performed only for data that is truly necessary (critical data), but data of several tens of bytes with consecutive addresses is In general, a method of collectively registering data in block units (lines) is used.

【0004】ロード命令で使用するデータがあらかじめ
予見できる場合には、特開平10-283192号に示されてい
るようにプリフェッチ命令を用いて、先行してデータキ
ャッシュにデータの登録を行なう方法がある。ロード命
令を処理する際に、データの登録が既に完了しているほ
ど充分前にプリフェッチ命令を発行できれば、命令プロ
セッサは必要なデータをデータキャッシュから得ること
ができる。
[0004] When data to be used in a load instruction can be predicted in advance, there is a method of registering data in a data cache in advance by using a prefetch instruction as shown in JP-A-10-283192. . When processing a load instruction, if the prefetch instruction can be issued long enough before data registration has been completed, the instruction processor can obtain necessary data from the data cache.

【0005】ロード命令で使用するデータがあらかじめ
予見できない場合や、予見できたとしても、プリフェッ
チ命令によるデータ登録完了後でロード命令処理前に必
要なデータがデータキャッシュから追い出されることが
ある。ロード要求のあったデータが、データキャッシュ
上にない状態をキャッシュミスという。ロードデータの
読み出しが完了するまで、ロードデータを使用する後続
の命令の実行が中断されるため、キャッシュミスしたロ
ードデータの読み出しを短時間で完了することは性能上
重要である。この問題を解決する手段として、特開平5-
233422号に示されているように、主記憶制御装置におい
て、ストア処理より、ロード処理を優先させることによ
って、ロード処理時間を短縮する方式が知られている。
If the data used in the load instruction cannot be predicted in advance, or even if the data can be predicted, necessary data may be evicted from the data cache after data registration by the prefetch instruction is completed and before the load instruction is processed. A state in which the data requested to be loaded is not in the data cache is called a cache miss. Until the reading of the load data is completed, the execution of the subsequent instruction using the load data is suspended. Therefore, it is important for performance to complete the reading of the load data with the cache miss in a short time. As means for solving this problem, Japanese Patent Application Laid-Open
As disclosed in Japanese Patent No. 233422, a method of shortening the load processing time by giving priority to load processing over store processing in a main storage control device is known.

【0006】[0006]

【発明が解決しようとする課題】命令プロセッサにより
先行して発行されたプリフェッチ命令の要求が完了する
前に、後続のロード命令がキャッシュミスするとロード
要求の処理がプリフェッチ要求処理の影響を受けて遅く
なる。これにより、ロード要求を送出した命令プロセッ
サがロード処理待ちで中断している時間が長くなり、シ
ステムの性能が低下する。
If a subsequent load instruction causes a cache miss before a prefetch instruction issued earlier by the instruction processor is completed, the processing of the load request is delayed due to the influence of the prefetch request processing. Become. As a result, the time during which the instruction processor that has sent the load request is suspended while waiting for the load processing is lengthened, and the performance of the system is reduced.

【0007】[0007]

【課題を解決するための手段】プリフェッチ要求かロー
ド要求かを区別する信号を要求に付加して、命令プロセ
ッサから主記憶制御装置に対して要求を発行し、主記憶
制御装置はロード要求を優先的に処理する。
A signal for discriminating between a prefetch request and a load request is added to the request, and a request is issued from the instruction processor to the main storage controller. The main storage controller gives priority to the load request. Processing.

【0008】具体的には命令プロセッサと主記憶制御装
置でロード要求とプリフェッチ要求で別々のキューを持
ち、セレクタにおいてロード要求を優先的に選択する。
またロード要求を実行中であることを先の処理回路にあ
らかじめ伝達しておくことで、ロード要求を優先的に処
理する。
Specifically, the instruction processor and the main storage controller have separate queues for load requests and prefetch requests, and the selector selects the load request preferentially.
Also, the fact that the load request is being executed is transmitted to the previous processing circuit in advance, so that the load request is processed with priority.

【0009】[0009]

【発明の実施の形態】図1は、本発明の一実施例のプロ
セッサシステムである。
FIG. 1 shows a processor system according to an embodiment of the present invention.

【0010】本システムは、命令プロセッサ1と命令プ
ロセッサ2、これらの命令プロセッサからのロード要
求、ストア要求、プリフェッチ要求を処理する記憶制御
装置3、記憶制御装置3からアクセスされる主記憶装置4
からなる。命令プロセッサ1と主記憶制御装置3は、要求
(リクエスト)を送出するためのアドレスパス11とデータ
を送受信するための双方向切り替えデータパス12と切り
替え制御のための信号線17で結ばれる。同様に、命令プ
ロセッサ2と主記憶制御装置3は、アドレスパス13と双方
向切り替えデータパス14と切り替え制御のための信号線
18で結ばれる。記憶制御装置3と主記憶装置4は、アドレ
スパス15と双方向切り替えデータパス16で結ばれる。
The present system comprises an instruction processor 1 and an instruction processor 2, a storage controller 3 for processing load requests, store requests and prefetch requests from these instruction processors, and a main storage device 4 accessed from the storage controller 3.
Consists of The instruction processor 1 and the main memory controller 3
An address path 11 for transmitting (request), a bidirectional switching data path 12 for transmitting and receiving data, and a signal line 17 for switching control are connected. Similarly, the instruction processor 2 and the main memory control device 3 include an address path 13, a bidirectional switching data path 14, and a signal line for switching control.
18 tied. The storage control device 3 and the main storage device 4 are connected by an address path 15 and a bidirectional switching data path 16.

【0011】アドレスユニット38は、ロード命令、スト
ア命令、プリフェッチ命令を処理する。
The address unit 38 processes a load instruction, a store instruction, and a prefetch instruction.

【0012】アドレスユニット38がストア命令を処理す
る際、ストア要求のアドレスをストア要求キュー31に格
納し、ストアデータをレジスタ36からストアデータキュ
ー34に格納する。なお、ストア要求キュー31にリクエス
トを登録する場合、登録したいストアリクエストのアド
レスとロード要求キュー32とプリフェッチ要求キュー33
の全てのリクエストのアドレスと比較して、アドレスが
一致した場合は、ロード要求キュー32とプリフェッチ要
求キュー33のリクエストが送出され、一致するアドレス
がなくなるまで登録を中断する。
When the address unit 38 processes the store instruction, the address of the store request is stored in the store request queue 31, and the store data is stored in the store data queue 34 from the register 36. When registering a request in the store request queue 31, the address of the store request to be registered, the load request queue 32, and the prefetch request queue 33
If the addresses match with the addresses of all the requests, the requests in the load request queue 32 and the prefetch request queue 33 are sent out, and the registration is suspended until there are no more matching addresses.

【0013】アドレスユニット38がロード命令を処理す
る際、まず、データキャッシュ37に要求データが登録さ
れているかどうかチェックする。要求データが登録され
ていた場合、データキャッシュ37に登録されたデータを
アドレスユニット38を介してレジスタ36に転送して処理
を完了する。要求データが登録されていなかった場合、
ロード要求キュー32にリクエストアドレスを格納し、デ
ータがリプライバッファ35に戻ってきて、データがレジ
スタ36に格納された段階で処理を完了する。
When the address unit 38 processes a load instruction, it first checks whether the requested data is registered in the data cache 37. If the requested data has been registered, the data registered in the data cache 37 is transferred to the register 36 via the address unit 38, and the process is completed. If the request data was not registered,
The request address is stored in the load request queue 32, the data is returned to the reply buffer 35, and the process is completed when the data is stored in the register 36.

【0014】アドレスユニット38がプリフェッチ命令を
処理する際、まず、データキャッシュ37に要求データが
登録されているかどうかチェックする。要求データが登
録されていた場合、何もせずに処理を完了する。要求デ
ータが登録されていなかった場合、プリフェッチ要求キ
ュー33にリクエストアドレスを格納し、処理を完了す
る。
When the address unit 38 processes a prefetch instruction, it first checks whether or not the requested data has been registered in the data cache 37. If the request data has been registered, the processing is completed without doing anything. If the request data has not been registered, the request address is stored in the prefetch request queue 33, and the process is completed.

【0015】プライオリティ回路21はキュー31〜33に格
納されたリクエストを、どの順番でアドレスパス11に送
出するかを決定する回路である。この際、リクエストに
はアドレスに加えて、どの種類の命令(ロード、プリフ
ェッチ、ストア)によるリクエストであるかという2ビ
ットの情報を付加して送出する。具体的には図3に示す
ようにロードリクエストは図2(a)のフォーマットで、プ
リフェッチリクエストは図2(b)のフォーマットで、スト
アリクエストは図2(c)のフォーマットでリクエストを送
出する。命令プロセッサはロード命令とプリフェッチ命
令によるリクエストにはさらに要求プロセッサ番号とID
番号を付加して送出する。
The priority circuit 21 is a circuit for determining in which order the requests stored in the queues 31 to 33 are sent to the address path 11. At this time, in addition to the address, 2-bit information indicating which type of instruction (load, prefetch, store) is made is transmitted to the request. Specifically, as shown in FIG. 3, the load request is transmitted in the format of FIG. 2A, the prefetch request is transmitted in the format of FIG. 2B, and the store request is transmitted in the format of FIG. 2C. The instruction processor adds a request processor number and ID to the request by the load instruction and the prefetch instruction.
A number is added and transmitted.

【0016】セレクタ61はリクエストフォーマットの最
初の2ビットを見てどの種類の命令によるリクエストか
を判断し、対応したキューにリクエストを送出するため
の回路であり、ロードリクエストはロード要求キュー42
に、プリフェッチリクエストはプリフェッチ要求キュー
43に、ストアリクエストはストア要求キュー41に送出す
る。また、セレクタ61はストアリクエストを処理する
際、ロード要求キュー42とプリフェッチ要求キュー43に
登録されたリクエストとのアドレス比較を行ない、一致
した場合は同一アドレスの先行リクエストが次の要求キ
ューに送出されるまで後続リクエストのストア要求キュ
ー41への送出を中断する。
The selector 61 is a circuit for judging the type of instruction by referring to the first two bits of the request format and sending the request to a corresponding queue. The load request is a load request queue 42
In the prefetch request queue, the prefetch request queue
At 43, the store request is sent to the store request queue 41. When processing the store request, the selector 61 compares the address of the request registered in the load request queue 42 with the request registered in the prefetch request queue 43. If the addresses match, the preceding request of the same address is sent to the next request queue. The transmission of the subsequent request to the store request queue 41 is suspended until the request is completed.

【0017】プライオリティ回路21の順序決定方法を図
4のフローに示す。
A method for determining the order of the priority circuit 21 is shown in the flow chart of FIG.

【0018】ストア要求キュー41、ロード要求キュー4
2、プリフェッチ要求キュー43にいずれも一つ以上のエ
ントリの空きがある場合において処理を行なう。空きが
ない場合には、空きができるまで処理を待つ。
Store request queue 41, load request queue 4
2. The processing is performed in a case where one or more entries are available in the prefetch request queue 43. If there is no free space, the process waits until a free space is formed.

【0019】ロード要求キュー32にリクエストが存在す
る場合、ロード要求キュー32の最も古いリクエストとス
トア要求キュー31の全てのリクエストのアドレスを比較
する。アドレスの一致するリクエストがなければ、ロー
ド要求キュー32の最も古いリクエストをアドレスパス11
とセレクタ61を経由してロード要求キュー42に送出す
る。リクエストのアドレスが一致した場合、データパス
12の使用権を確保した後、ストア要求キュー31の全ての
リクエストをアドレスパス11とセレクタ61を経由してス
トア要求キュー41に送出すると同時に、ストアデータキ
ュー34の全てのストアデータ(フォーマット図2(f))を双
方向データパス12と切り替え制御回路72とプライオリテ
ィ回路23を経由してストアデータキュー51に格納する。
その後、ロード要求キュー32の最も古いリクエストをア
ドレスパス11とセレクタ61を経由してロード要求キュー
42に送出する。
If a request exists in the load request queue 32, the address of the oldest request in the load request queue 32 and the addresses of all requests in the store request queue 31 are compared. If there is no request with the matching address, the oldest request in the load request queue 32 is transferred to the address path 11
And to the load request queue 42 via the selector 61. If the address of the request matches, the data path
After securing the right to use the storage request queue 12, all the requests in the store request queue 31 are sent to the store request queue 41 via the address path 11 and the selector 61, and at the same time, all the store data in the store data queue 34 (format FIG. (f)) is stored in the store data queue 51 via the bidirectional data path 12, the switching control circuit 72, and the priority circuit 23.
After that, the oldest request in the load request queue 32 is transferred to the load request queue via the address path 11 and the selector 61.
Send to 42.

【0020】ロード要求キュー32にリクエストが存在せ
ず、かつプリフェッチ要求キュー33にリクエストが存在
する場合、プリフェッチ要求キュー33の最も古いリクエ
ストとストア要求キュー31の全てのリクエストのアドレ
スを比較する。アドレスの一致するリクエストがなけれ
ば、プリフェッチ要求キュー33の最も古いリクエストを
アドレスパス11とセレクタ61を経由してプリフェッチ要
求キュー43に送出する。リクエストのアドレスが一致し
た場合、データパス12の使用権を確保した後、ストア要
求キュー31の全てのリクエストをアドレスパス11とセレ
クタ61を経由してストア要求キュー41に送出すると同時
に、ストアデータキュー34の全てのストアデータをデー
タパス12と切り替え制御回路72とプライオリティ回路23
を経由してストアデータキュー51に格納する。その後、
プリフェッチ要求キュー33の最も古いリクエストをアド
レスパス11とセレクタ61を経由してプリフェッチ要求キ
ュー43に送出する。
When there is no request in the load request queue 32 and there is a request in the prefetch request queue 33, the address of the oldest request in the prefetch request queue 33 is compared with the addresses of all requests in the store request queue 31. If there is no request whose address matches, the oldest request in the prefetch request queue 33 is sent to the prefetch request queue 43 via the address path 11 and the selector 61. If the request addresses match, after securing the right to use the data path 12, all requests in the store request queue 31 are sent to the store request queue 41 via the address path 11 and the selector 61, and at the same time, the store data queue All the store data of 34 are transferred to the data path 12, the switching control circuit 72 and the priority circuit 23.
Is stored in the store data queue 51 via the. afterwards,
The oldest request in the prefetch request queue 33 is sent to the prefetch request queue 43 via the address path 11 and the selector 61.

【0021】ロード要求キュー32にリクエストが存在せ
ず、かつプリフェッチ要求キュー33にリクエストが存在
しない場合、データパス12の使用権を確保した後、スト
ア要求キュー31の最も古いリクエストをアドレスパス11
とセレクタ61を経由してストア要求キュー41に送出する
と同時に、ストアデータキュー34の最も古いリクエスト
のストアデータをデータパス12と切り替え制御回路72と
プライオリティ回路23を経由してストアデータキュー51
に格納する。
If no request exists in the load request queue 32 and no request exists in the prefetch request queue 33, the right to use the data path 12 is secured, and the oldest request in the store request queue 31 is transferred to the address path 11.
And the store data of the oldest request in the store data queue 34 via the data path 12, the switching control circuit 72 and the priority circuit 23.
To be stored.

【0022】プロセッサ2からも同様にアドレスパス13
とセレクタ62を経由して、ロードリクエストはロード要
求キュー45に、プリフェッチリクエストはプリフェッチ
要求キュー46に、ストアリクエストはストア要求キュー
44に格納される。また、ストアデータはデータパス14と
切り替え制御回路73とプライオリティ回路24を経由して
ストアデータキュー54に格納される。
Similarly, the address path 13 from the processor 2
The load request goes to the load request queue 45, the prefetch request goes to the prefetch request queue 46, and the store request goes to the store request queue via the selector 62.
Stored in 44. The store data is stored in the store data queue 54 via the data path 14, the switching control circuit 73, and the priority circuit 24.

【0023】次に、命令プロセッサ1からのロード要求
キュー42のリクエストと、命令プロセッサ2からのロー
ド要求キュー45のリクエストは、全ロード要求キュー48
に格納される。同様に、命令プロセッサ1からのプリフ
ェッチ要求キュー43のリクエストと、命令プロセッサ2
からのプリフェッチ要求キュー46のリクエストは、全プ
リフェッチ要求キュー49に格納される。命令プロセッサ
1からのストア要求キュー41のリクエストと、命令プロ
セッサ2からのストア要求キュー44のリクエストは、全
ロード要求キュー48と全プリフェッチ要求キュー49に同
一アドレスのリクエストが存在しなければ、全ストア要
求キュー47に格納される。同時に、命令プロセッサ1か
らのストアデータキュー51のデータと、命令プロセッサ
2からのストアデータキュー54のデータは、全ストアデ
ータキュー57に格納される。
Next, the request of the load request queue 42 from the instruction processor 1 and the request of the load request queue 45 from the instruction processor 2 are all loaded request queues 48.
Is stored in Similarly, the request of the prefetch request queue 43 from the instruction processor 1 and the instruction processor 2
From the prefetch request queue 46 are stored in the all prefetch request queue 49. Instruction processor
The request of the store request queue 41 from the first request and the request of the store request queue 44 from the instruction processor 2 are all stored request queues unless there is a request of the same address in all the load request queues 48 and all the prefetch request queues 49. Stored in 47. At the same time, the data in the store data queue 51 from the instruction processor 1 and the instruction processor
The data of the store data queue 54 from 2 is stored in the all store data queue 57.

【0024】プライオリティ回路22はプライオリティ回
路21と同様の順序決定方法でリクエストの処理順序を決
定する。ただし、この場合リクエストキューに送出する
のではなく、アドレスパス15を経由してリクエストを主
記憶装置4に送出することにより要求を実行する。プラ
イオリティ回路22によって決定されたデータパスの方向
切り替えは、切り替え制御回路71が行なう。
The priority circuit 22 determines the request processing order in the same order determination method as the priority circuit 21. However, in this case, the request is executed by sending the request to the main storage device 4 via the address path 15 instead of sending the request to the request queue. The switching control circuit 71 switches the direction of the data path determined by the priority circuit 22.

【0025】全ロード要求キュー48のリクエストが実行
された場合、主記憶装置4はロードデータをデータパス1
6と切り替え制御回路71を経由してセレクタ63に返す。
セレクタ63はプライオリティ回路22からの信号を受け
て、それがプロセッサ1からのリクエストであった場合
にはロードデータキュー52に、プロセッサ2からのリク
エストであった場合にはロードデータキュー55に返す。
また、リクエスト実行と同時にプライオリティ回路22
は、実行中のリクエストがプロセッサ1からのロードで
あった場合には、プライオリティ回路23に対して実行中
であることを通知する。実行中のリクエストがプロセッ
サ2からのロードであった場合には、プライオリティ回
路24に対して実行中であることを通知する。
When the request of the full load request queue 48 is executed, the main storage device 4 stores the load data in the data path 1
Returned to the selector 63 via 6 and the switching control circuit 71.
The selector 63 receives the signal from the priority circuit 22 and returns the signal to the load data queue 52 when the request is from the processor 1 and to the load data queue 55 when the request is from the processor 2.
In addition, the priority circuit 22
Notifies the priority circuit 23 that the request being executed is a load from the processor 1. If the request being executed is a load from the processor 2, the priority circuit 24 is notified that the request is being executed.

【0026】全プリフェッチ要求キュー49のリクエスト
が実行された場合、主記憶装置4はプリフェッチデータ
をデータパス16と切り替え制御回路71を経由してセレク
タ63に返す。セレクタ63はプライオリティ回路22からの
信号を受けて、それがプロセッサ1からのリクエストで
あった場合にはプリフェッチデータキュー53に、プロセ
ッサ2からのリクエストであった場合にはプリフェッチ
データキュー56に返す。
When the request of the all prefetch request queue 49 is executed, the main storage device 4 returns the prefetch data to the selector 63 via the data path 16 and the switching control circuit 71. The selector 63 receives the signal from the priority circuit 22 and returns the signal to the prefetch data queue 53 when the request is from the processor 1 and to the prefetch data queue 56 when the request is from the processor 2.

【0027】全ストア要求キュー47のリクエストが実行
された場合、主記憶制御装置3は全ストアデータキュー5
7のデータを切り替え制御回路71とデータパス16を経由
して主記憶のリクエストアドレスにストアする。
When the request of the all store request queue 47 is executed, the main storage control device 3 sets the all store data queue 5
The data of 7 is stored in the request address of the main memory via the switching control circuit 71 and the data path 16.

【0028】プライオリティ回路23の順序決定方法を図
5のフローに示す。
A method for determining the order of the priority circuit 23 is shown in the flowchart of FIG.

【0029】プロセッサ1へのロードデータキュー52に
ロードデータが一つでも存在する場合、切り替え制御回
路72によってデータパス12の使用権を確保し、ロードデ
ータキュー52の全てのロードデータを切り替え制御回路
72とデータパス12と切り替え制御回路74を経由してプロ
セッサ1のリプライバッファー35に送出(フォーマット図
2(d))する。この際同時に、プライオリティ回路21がス
トアデータを送出するために、切り替え制御回路74を用
いて使用権を確保しようとしたときも、ロードデータの
送出を優先させる。使用権の情報は信号線17によって、
切り替え制御回路72と74をお互いに伝達する。
When even one load data exists in the load data queue 52 for the processor 1, the switching control circuit 72 secures the right to use the data path 12, and switches all the load data in the load data queue 52 to the switching control circuit.
The data is transmitted to the reply buffer 35 of the processor 1 via the data path 12 and the switching control circuit 74 (format diagram
2 (d)). At the same time, when the priority circuit 21 tries to secure the right to use by using the switching control circuit 74 in order to transmit the store data, the transmission of the load data is prioritized. The usage right information is transmitted via signal line 17,
The switching control circuits 72 and 74 are transmitted to each other.

【0030】プロセッサ1へのロードデータキュー52に
ロードデータがなく、プライオリティ回路23にプライオ
リティ回路22からロードリクエスト実行中の通知がな
く、プロセッサ1へのプリフェッチデータキュー53にラ
イン分以上のプリフェッチデータが存在する場合、デー
タパス12の使用権を確保し、プリフェッチデータキュー
53の全てのプリフェッチデータをデータパス12を経由し
てプロセッサ1のリプライバッファー35に送出(フォーマ
ット図2(e))する。この際同時に、プライオリティ回路2
1がストアデータを送出するためにデータパス12の使用
権を確保しようとしたときも、プリフェッチデータの送
出を優先させる。
There is no load data in the load data queue 52 to the processor 1, no notification that the load request is being executed from the priority circuit 22 to the priority circuit 23, and no more than the line of prefetch data in the prefetch data queue 53 to the processor 1. If it exists, reserve the right to use data path 12 and prefetch data queue
All 53 prefetch data are sent out to the reply buffer 35 of the processor 1 via the data path 12 (format figure 2 (e)). At this time, the priority circuit 2
Even when 1 attempts to secure the right to use the data path 12 to transmit the store data, the transmission of the prefetch data is prioritized.

【0031】プロセッサ1へのロードデータキュー52に
ロードデータがなく、プライオリティ回路23にプライオ
リティ回路22からロードリクエスト実行中の通知がな
く、プロセッサ1へのプリフェッチデータキュー53にラ
イン分未満のプリフェッチデータが存在する場合、デー
タパス12の使用権を確保し、プリフェッチデータキュー
53の最も古いプリフェッチデータをデータパス12を経由
してプロセッサ1のリプライバッファー35に送出する。
この際同時に、プライオリティ回路21がストアデータを
送出するためにデータパス12の使用権を確保しようとし
たときは、ストアデータの送出を優先させる。
There is no load data in the load data queue 52 to the processor 1, no notification that the load request is being executed from the priority circuit 22 to the priority circuit 23, and less than the line of prefetch data in the prefetch data queue 53 to the processor 1. If it exists, reserve the right to use data path 12 and prefetch data queue
The 53 oldest prefetch data is sent to the reply buffer 35 of the processor 1 via the data path 12.
At the same time, if the priority circuit 21 attempts to secure the right to use the data path 12 to transmit the stored data, the transmission of the stored data is prioritized.

【0032】プロセッサ2へのロードデータキュー55と
プロセッサ2へのプリフェッチデータキュー56とプライ
オリティ回路24と切り替え制御回路73とデータパス14と
信号線18は、プロセッサ1に対する処理と同様の処理を
命令プロセッサ2に対して行なう。
The load data queue 55 for the processor 2, the prefetch data queue 56 for the processor 2, the priority circuit 24, the switching control circuit 73, the data path 14, and the signal line 18 perform the same processing as the processing for the processor 1. Do for 2.

【0033】ロード命令によるクリティカルデータがリ
プライバッファー35に格納された際には、リプライバッ
ファー35からレジスタ36へクリティカルデータを送出す
る。プリフェッチ命令によるデータとロード命令による
データは、リプライバッファ35において同一ラインのデ
ータが揃った時点でデータキャッシュ37に登録する。
When the critical data by the load instruction is stored in the reply buffer 35, the critical data is sent from the reply buffer 35 to the register 36. The data according to the prefetch instruction and the data according to the load instruction are registered in the data cache 37 when the data of the same line is prepared in the reply buffer 35.

【0034】もう一つの実施例を図6に示す。図6の実
施例では命令プロセッサと主記憶制御装置がバス結合に
なっている。バスアービトレーションプロトコルは、奥
川峻史著「並列計算機アーキテクチャー」に示される優
先順位付きプロトコルを用いる。この際ロードミスリク
エストはプリフェッチリクエストやストアリクエストよ
りも優先順位の高いプロトコルとして取り扱う。
FIG. 6 shows another embodiment. In the embodiment of FIG. 6, the instruction processor and the main memory control device are connected by a bus. As the bus arbitration protocol, a protocol with a priority shown in "Parallel Computer Architecture" written by Satoshi Okukawa is used. At this time, the load miss request is handled as a protocol having a higher priority than the prefetch request and the store request.

【0035】本実施例では、命令プロセッサの数を2、
主記憶制御装置の数を1、主記憶装置の数を1としたが、
命令プロセッサ、主記憶制御装置、主記憶装置ともに任
意の数で実現可能である。また、命令プロセッサ、主記
憶制御装置、主記憶装置の接続形態も図示したものに限
定されない。
In this embodiment, the number of instruction processors is 2,
The number of main storage controllers was 1, and the number of main storage devices was 1.
Any number of instruction processors, main storage control devices, and main storage devices can be implemented. Further, the connection form of the instruction processor, the main storage control device, and the main storage device is not limited to the illustrated one.

【0036】[0036]

【発明の効果】先行して大量のプリフェッチリクエスト
が主記憶制御装置に対して発行されていた場合にも、後
続のロードリクエストを優先的に処理し、ロード処理待
ちでプロセッサが中断している時間を軽減することがで
きる。メモリレイテンシで数十%、実行時間で数%の性
能向上が可能である。
Even when a large number of prefetch requests have been issued to the main storage controller in advance, the subsequent load requests are processed preferentially, and the processor is suspended while waiting for the load processing. Can be reduced. It is possible to improve performance by several tens of percent in memory latency and several percent in execution time.

【0037】これにより、先行しているプリフェッチ要
求の処理時間が増加することが考えられる。しかし、プ
リフェッチ要求はレジスタに対する書き込みはないた
め、完了が遅れることによる性能の低下は小さい。プリ
フェッチ要求のデータはロード要求のデータより後に必
要としているデータであるのに対し、ロード要求のデー
タはプロセッサが直に必要としているデータである。従
って、ロード要求を優先的に処理することの効果は大き
い。
As a result, the processing time of the preceding prefetch request may increase. However, since the prefetch request does not write to the register, a decrease in performance due to delay in completion is small. The data of the prefetch request is data that is required after the data of the load request, whereas the data of the load request is data that is directly needed by the processor. Therefore, the effect of preferentially processing a load request is significant.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の一実施例のプロセッサシステムの詳細
図である。
FIG. 1 is a detailed diagram of a processor system according to an embodiment of the present invention.

【図2】図1のプロセッサシステムで用いるリクエスト
フォーマットとデータフォーマットである。
FIG. 2 shows a request format and a data format used in the processor system of FIG. 1;

【図3】命令プロセッサがリクエスト発行時に生成する
リクエストフェーマットの生成手順の詳細図である。
FIG. 3 is a detailed diagram of a procedure for generating a request format generated by the instruction processor when a request is issued.

【図4】図1のプライオリティ回路21の順序決定手順の
フロー図である。
FIG. 4 is a flowchart of an order determination procedure of the priority circuit 21 of FIG. 1;

【図5】図1のプライオリティ回路23の順序決定手順の
フロー図である。
FIG. 5 is a flowchart of an order determination procedure of the priority circuit 23 of FIG. 1;

【図6】本発明のもう一つの実施例のプロセッサシステ
ムの詳細図である。
FIG. 6 is a detailed view of a processor system according to another embodiment of the present invention.

【符号の説明】[Explanation of symbols]

1,2:命令プロセッサ 3:記憶制御装置 4:主記憶装置 11,13,15:アドレスパス 12,14,16:データパス 17,18:信号線 21,22,23,24:プライオリティ回路 31:ストア要求キュー 32:ロード要求キュー 33:プリフェッチ要求キュー 34:ストアデータキュー 35:リプライバッファー 36:レジスタ 37:データキャッシュ 38:アドレスユニット 41,44:ストア要求キュー 42,45:ロード要求キュー 43,46:プリフェッチ要求キュー 47:全ストア要求キュー 48:全ロード要求キュー 49:全プリフェッチ要求キュー 51,54:ストアデータキュー 52,55:ロードデータキュー 53,56:プリフェッチデータキュー 57:全ストアデータキュー 61,62,63:セレクタ 71,72,73,74:切り替え制御回路。 1,2: instruction processor 3: storage controller 4: main storage 11,13,15: address path 12,14,16: data path 17,18: signal line 21,22,23,24: priority circuit 31: Store request queue 32: Load request queue 33: Prefetch request queue 34: Store data queue 35: Reply buffer 36: Register 37: Data cache 38: Address unit 41,44: Store request queue 42,45: Load request queue 43,46 : Prefetch request queue 47: All store request queue 48: All load request queue 49: All prefetch request queue 51, 54: Store data queue 52, 55: Load data queue 53, 56: Prefetch data queue 57: All store data queue 61 , 62, 63: selector 71, 72, 73, 74: switching control circuit.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 西願 裕一 神奈川県秦野市堀山下1番地 株式会社日 立製作所エンタープライズサーバ事業部内 (72)発明者 中畑 昌也 神奈川県秦野市堀山下1番地 株式会社日 立製作所エンタープライズサーバ事業部内 Fターム(参考) 5B005 JJ11 MM01 NN22 5B013 AA01 AA05 DD00 5B060 CA05 CA06  ──────────────────────────────────────────────────続 き Continuing from the front page (72) Inventor Yuichi Nishigan 1 Horiyamashita, Hadano-shi, Kanagawa Prefecture Incorporated Enterprise Server Division, Hitachi, Ltd. (72) Inventor Masaya Nakahata 1- 1 Horiyamashita, Hadano-shi, Kanagawa Japan F-term in the Enterprise Server Division of Ritsusei Seisakusho (reference) 5B005 JJ11 MM01 NN22 5B013 AA01 AA05 DD00 5B060 CA05 CA06

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】ロード命令による記憶アクセス要求とプリ
フェッチ命令による記憶アクセス要求とを識別させる識
別情報を付加して記憶アクセス要求を発行する1つもし
くは複数の命令プロセッサと、 上記記憶アクセス要求の対象となる記憶装置と、 上記一つもしくは複数のプロセッサから発行される記憶
アクセス要求を受けて上記記憶装置に送出する送出回路
と、 上記記憶装置から返されるアクセス結果を要求元の命令
プロセッサに返送する返送回路とを有し、 上記送出回路と上記返送回路の少なくとも一方は、上記
識別情報に識別して、ロード命令による記憶アクセス要
求をプリフェッチ命令による記憶アクセス要求より優先
して処理することを特徴とするプロセッサシステム。
At least one instruction processor for issuing a storage access request by adding identification information for identifying a storage access request by a load instruction and a storage access request by a prefetch instruction, and an object of the storage access request A sending device that receives a storage access request issued from the one or more processors and sends it to the storage device, and a return that returns an access result returned from the storage device to the requesting instruction processor. Wherein at least one of the sending circuit and the returning circuit identifies the identification information and processes a storage access request by a load instruction in preference to a storage access request by a prefetch instruction. Processor system.
【請求項2】上記送出回路は、上記返送回路に対し、ロ
ード命令による記憶アクセス要求の処理中であることを
前記返送回路に通知することを特徴とする請求項1記載
のプロセッサシステム。
2. The processor system according to claim 1, wherein the sending circuit notifies the returning circuit that the storage access request by the load instruction is being processed.
【請求項3】一つもしくは複数の命令プロセッサと、上
記命令プロセッサからの記憶アクセス要求の対象である
一つもしくは複数の記憶装置と、上記命令プロセッサか
ら発行される記憶アクセス要求を受けて、上記記憶装置
に記憶アクセス要求を送出し、アクセス結果を要求元の
プロセッサに返送する一つもしくは複数の記憶制御装置
とを有するプロセッサシステムに用いられる記憶制御装
置であり、 上記記憶制御装置は、上記1つもしくは複数の命令プロ
セッサから発行される記憶アクセス要求をプリフェッチ
命令による記憶アクセス要求かロード要求による記憶ア
クセス要求かに区別し、ロード命令による記憶アクセス
要求を優先して処理する処理手段を有する記憶制御装
置。
3. The method according to claim 1, further comprising: receiving one or a plurality of instruction processors, one or a plurality of storage devices to which a storage access request is issued from the instruction processor, and a storage access request issued from the instruction processor. A storage controller used in a processor system having one or more storage controllers for sending a storage access request to a storage device and returning an access result to a requesting processor. Storage control having processing means for distinguishing a storage access request issued from one or more instruction processors into a storage access request by a prefetch instruction or a storage access request by a load request, and processing the storage access request by a load instruction with priority apparatus.
【請求項4】上記処理手段は、上記1つもしくは複数の
命令プロセッサから発行される記憶アクセス要求をプリ
フェッチ命令による記憶アクセス要求かロード要求によ
る記憶アクセス要求かに区別してそれぞれ要求キューを
形成し、ロード要求による記憶アクセス要求を優先して
上記記憶装置に送出する送出回路を有する請求項3記載
の記憶制御装置。
4. The processing means forms a request queue by distinguishing a storage access request issued from the one or more instruction processors into a storage access request by a prefetch instruction and a storage access request by a load request, respectively. 4. The storage control device according to claim 3, further comprising a sending circuit for sending a storage access request by a load request to said storage device with priority.
【請求項5】上記処理手段は、上記記憶装置から得られ
るアクセス結果をアクセス要求元のプロセッサ毎に、か
つプリフェッチ命令によるアクセス要求の結果かロード
命令によるアクセス要求の結果かで区別してキューを形
成し、ロード命令によるアクセス要求の結果を優先して
アクセス要求元に返送する返送回路をの有する請求項3
記載の記憶制御装置。
5. The processing unit forms a queue by distinguishing an access result obtained from the storage device for each processor of an access request source and according to a result of an access request by a prefetch instruction or a result of an access request by a load instruction. And a return circuit for giving priority to the result of the access request by the load instruction and returning the result to the access request source.
The storage control device according to any one of the preceding claims.
【請求項6】一つもしくは複数の命令プロセッサと、上
記命令プロセッサからの記憶アクセス要求の対象である
一つもしくは複数の記憶装置と、上記命令プロセッサか
ら発行される記憶アクセス要求を受けて、上記記憶装置
に記憶アクセス要求を送出する一つもしくは複数の記憶
制御装置とを有するプロセッサシステムに用いる命令プ
ロセッサであり、 上記命令プロセッサは上記記憶制御装置に対して上記記
憶アクセス要求を発行する際に、プリフェッチ命令によ
る記憶アクセス要求かロード命令による記憶アクセスか
の識別を示す情報を記憶アクセスフォーマットに付加し
て発行することを特徴とするプロセッサシステム。
6. An apparatus according to claim 1, further comprising: receiving one or a plurality of instruction processors, one or a plurality of storage devices to which a storage access request is issued from said instruction processor, and a storage access request issued from said instruction processor. An instruction processor for use in a processor system having one or more storage controllers that send a storage access request to a storage device, wherein the instruction processor issues the storage access request to the storage controller. A processor system, wherein information indicating the identification of a storage access request by a prefetch instruction or a storage access by a load instruction is added to a storage access format and issued.
【請求項7】一つもしくは複数の命令プロセッサと、上
記命令プロセッサからの記憶アクセス要求の対象である
一つもしくは複数の記憶装置と、上記命令プロセッサか
ら発行される記憶アクセス要求を受けて、上記記憶装置
に記憶アクセス要求を送出する一つもしくは複数の記憶
制御装置とを有するプロセッサシステムに用いる命令プ
ロセッサであり、 上記命令プロセッサには、前記記憶アクセス要求のうち
プリフェッチ命令による記憶アクセス要求とロード要求
による記憶アクセス要求を区別し、ロード命令による記
憶アクセス要求を優先して前記記憶制御装置に発行する
アクセス要求発行回路を有することを特徴とする命令プ
ロセッサ。
7. A method according to claim 1, further comprising: receiving one or more instruction processors, one or more storage devices to which a storage access request is made from said instruction processor, and a storage access request issued from said instruction processor. An instruction processor for use in a processor system having one or more storage controllers for sending a storage access request to a storage device, wherein the instruction processor includes a storage access request and a load request by a prefetch instruction among the storage access requests. An instruction processor comprising: an access request issuing circuit that distinguishes a storage access request by a load instruction and issues a storage access request by a load instruction to the storage control device with priority.
JP2000215884A 2000-07-12 2000-07-12 Processor system Expired - Fee Related JP3873589B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000215884A JP3873589B2 (en) 2000-07-12 2000-07-12 Processor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000215884A JP3873589B2 (en) 2000-07-12 2000-07-12 Processor system

Publications (2)

Publication Number Publication Date
JP2002024007A true JP2002024007A (en) 2002-01-25
JP3873589B2 JP3873589B2 (en) 2007-01-24

Family

ID=18711238

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000215884A Expired - Fee Related JP3873589B2 (en) 2000-07-12 2000-07-12 Processor system

Country Status (1)

Country Link
JP (1) JP3873589B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008090411A (en) * 2006-09-29 2008-04-17 Fujitsu Ltd Information processor, instruction control mechanism and instruction control method
JP2008511925A (en) * 2004-08-27 2008-04-17 クゥアルコム・インコーポレイテッド Method and apparatus for transmitting a memory prefetch command on a bus
JP2009009603A (en) * 2008-08-25 2009-01-15 Renesas Technology Corp Information processor
JP2014035678A (en) * 2012-08-09 2014-02-24 Fujitsu Ltd Arithmetic processing unit, information processing unit, and control method for information processing unit
US9824016B2 (en) 2015-01-14 2017-11-21 Fujitsu Limited Device and processing method
US11029878B2 (en) 2016-06-23 2021-06-08 Fujitsu Limited Information processing system

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008511925A (en) * 2004-08-27 2008-04-17 クゥアルコム・インコーポレイテッド Method and apparatus for transmitting a memory prefetch command on a bus
US8028143B2 (en) 2004-08-27 2011-09-27 Qualcomm Incorporated Method and apparatus for transmitting memory pre-fetch commands on a bus
JP2012009048A (en) * 2004-08-27 2012-01-12 Qualcomm Inc Method and device for transmitting memory prefetch command on bus
JP2008090411A (en) * 2006-09-29 2008-04-17 Fujitsu Ltd Information processor, instruction control mechanism and instruction control method
JP2009009603A (en) * 2008-08-25 2009-01-15 Renesas Technology Corp Information processor
JP4739380B2 (en) * 2008-08-25 2011-08-03 ルネサスエレクトロニクス株式会社 Information processing device
JP2014035678A (en) * 2012-08-09 2014-02-24 Fujitsu Ltd Arithmetic processing unit, information processing unit, and control method for information processing unit
US9824016B2 (en) 2015-01-14 2017-11-21 Fujitsu Limited Device and processing method
US11029878B2 (en) 2016-06-23 2021-06-08 Fujitsu Limited Information processing system

Also Published As

Publication number Publication date
JP3873589B2 (en) 2007-01-24

Similar Documents

Publication Publication Date Title
US11907528B2 (en) Multi-processor bridge with cache allocate awareness
KR100524575B1 (en) Reordering a plurality of memory access request signals in a data processing system
EP0599449B1 (en) Data communication system and method
US6078983A (en) Multiprocessor system having distinct data bus and address bus arbiters
US6170030B1 (en) Method and apparatus for restreaming data that has been queued in a bus bridging device
US6330630B1 (en) Computer system having improved data transfer across a bus bridge
US6754739B1 (en) Computer resource management and allocation system
JPS6327738B2 (en)
EP1412871B1 (en) Method and apparatus for transmitting packets within a symmetric multiprocessor system
US6484240B1 (en) Mechanism for reordering transactions in computer systems with snoop-based cache consistency protocols
US7418559B2 (en) Address snoop method and multi-processor system
US6754775B2 (en) Method and apparatus for facilitating flow control during accesses to cache memory
US11789658B2 (en) Peripheral component interconnect express (PCIe) interface system and method of operating the same
US7000041B2 (en) Method and an apparatus to efficiently handle read completions that satisfy a read request
JPH06309230A (en) Bus snooping method
US20090240892A1 (en) Selective interconnect transaction control for cache coherency maintenance
JP3873589B2 (en) Processor system
US20060230233A1 (en) Technique for allocating cache line ownership
US6502150B1 (en) Method and apparatus for resource sharing in a multi-processor system
US6757793B1 (en) Reducing probe traffic in multiprocessor systems using a victim record table
US8239652B2 (en) Data processing system
US7120758B2 (en) Technique for improving processor performance
CN117389915B (en) Cache system, read command scheduling method, system on chip and electronic equipment
US20240184446A1 (en) Multi-processor bridge with cache allocate awareness
US6959361B2 (en) Distributed caching mechanism for pending memory operations within a memory controller

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051025

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060418

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: 20060911

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: 20061003

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061016

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101102

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111102

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121102

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121102

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131102

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees