JP3274634B2 - Lead control device - Google Patents

Lead control device

Info

Publication number
JP3274634B2
JP3274634B2 JP26404197A JP26404197A JP3274634B2 JP 3274634 B2 JP3274634 B2 JP 3274634B2 JP 26404197 A JP26404197 A JP 26404197A JP 26404197 A JP26404197 A JP 26404197A JP 3274634 B2 JP3274634 B2 JP 3274634B2
Authority
JP
Japan
Prior art keywords
request
read
memory
bus
issued
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
JP26404197A
Other languages
Japanese (ja)
Other versions
JPH11110343A (en
Inventor
晋樹 阿部
洋 長澤
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP26404197A priority Critical patent/JP3274634B2/en
Publication of JPH11110343A publication Critical patent/JPH11110343A/en
Application granted granted Critical
Publication of JP3274634B2 publication Critical patent/JP3274634B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Description

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

【0001】[0001]

【発明の属する技術分野】本発明はコンピュータ・シス
テムのリード制御装置に関し、特に、システム・バスに
リード・スプリット方式を採用したリード制御装置に関
する。ここに、リード・スプリット方式とは、リード・
リクエストに対するレスポンスがリード・リクエスト発
行先に返されるまでの間、バスを解放する方式をいう。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a read control device for a computer system, and more particularly to a read control device employing a read split system for a system bus. Here, the lead split method is
This is a method of releasing the bus until a response to the request is returned to the read request issue destination.

【0002】[0002]

【従来の技術】従来、この種のリード制御装置は、リー
ド・リクエストとレスポンスとを対応付けるためにリー
ド管理テーブルを必要とし、これらの技術として例え
ば、特開平8−95905号公報に開示されている方法
がある。この技術はリード・リクエストに対して一意の
番号をテーブルに保存し、レスポンス待ち時間にも、テ
ーブルのエントリの個数内で他のトランザクションを実
行可能とすることを特徴としている。
2. Description of the Related Art Conventionally, this type of read control apparatus requires a read management table for associating a read request with a response, and such a technique is disclosed in, for example, Japanese Patent Application Laid-Open No. 8-95905. There is a way. This technique is characterized in that a unique number is stored in a table for a read request, and another transaction can be executed within the number of entries in the table even during a response wait time.

【0003】本方式では、リード・リクエストとレスポ
ンスを対応付ける番号をバス・インタフェース下に接続
されるデバイスに割り当てており、複数のデバイスが複
数のバス・インタフェースに接続された場合、識別番号
が増大することが考慮されていない。また、プロセッサ
毎にキャッシュを有し、メモリを共有するシンメトリカ
ル・マルチ・プロセッサ・システム(以下SMPシステ
ム)においては、リード・アドレスが管理されないた
め、同一アドレスのトランザクションが発行された場合
など、メモリのコヒーレンシ維持が非常に複雑になると
共にハードウェア量の増大を招き、現実的ではない。
In this system, a number that associates a read request with a response is assigned to a device connected under a bus interface. When a plurality of devices are connected to a plurality of bus interfaces, the identification number increases. That is not taken into account. Further, in a symmetric multi-processor system (hereinafter referred to as an SMP system) having a cache for each processor and sharing a memory, a read address is not managed. Maintaining coherency becomes very complicated and increases the amount of hardware, which is not practical.

【0004】そこで、最近ではリードに対してシステム
全体で一意に付けられる番号と共にリード・アドレスを
管理テーブルに保存する方式が用いられるようになって
きている。本方式では、バス・トランザクション発行の
際、管理テーブル内のレスポンスを待ちリード・アドレ
スを参照し、一定の処理を行うことにより、SMPシス
テムでのコヒーレンシの維持をハード・ウェア・レベル
で容易に実現することを可能としている。
Therefore, recently, a method has been used in which a read address is stored in a management table together with a number uniquely assigned to the read throughout the system. In this method, at the time of issuing a bus transaction, waiting for a response in the management table, referring to the read address, and performing certain processing, it is easy to maintain coherency in the SMP system at the hardware level. It is possible to do.

【0005】[0005]

【発明が解決しようとする課題】しかしながら、上述し
た従来のリード・スプリット方式を採用するSMPシス
テムでは、コヒーレンシの維持を必要としないI/Oリ
ードまでが、メモリ・リードと同一の管理テーブルへ登
録されるため、リード・アドレス保存エリアが無駄にな
る等の問題を抱えている。また、メモリ・リードとI/
Oリードの管理テーブルを共有しているため、管理テー
ブルのエントリがメモリに比してレスポンス速度の遅い
I/Oリードに独占され、メモリ・リード・リクエスト
の発行が阻害される原因を生じている。
However, in the above-described SMP system adopting the conventional read split system, even the I / O read that does not need to maintain coherency is registered in the same management table as the memory read. Therefore, there is a problem that the read address storage area is wasted. In addition, memory read and I /
Since the management table of the O-read is shared, the entry of the management table is monopolized by the I / O read whose response speed is slower than that of the memory, which causes a problem that the issue of the memory read request is obstructed. .

【0006】このような問題を回避する方法として、管
理テーブルのエントリ数を増やす手段もあるが、多くの
ビットを必要とするリード・アドレスの保持に際して多
大なハード量の増加を招き、また、エントリ数を増やし
てもI/Oリードが頻発した場合には、多くのI/Oリ
ードが管理テーブルのエントリを占拠してしまうため根
本的は解決にはならない。
As a method for avoiding such a problem, there is a means for increasing the number of entries in the management table. However, a large amount of hardware is required when a read address requiring a large number of bits is held. Even if the number is increased, if I / O reads frequently occur, many I / O reads occupy the entries in the management table, and this is not a fundamental solution.

【0007】本発明の目的は、レスポンス速度の遅いI
/Oリードと比較的レスポンス速度の速いメモリ・リー
ドが混在して発行されるシステム・バスにおいて、バス
の使用効率、特にメモリ・リードに対するバス使用効率
を改善することにある。
It is an object of the present invention to provide an image processing apparatus having a low response speed.
An object of the present invention is to improve the bus use efficiency, particularly the bus use efficiency for memory reads, in a system bus in which / O reads and memory reads having a relatively high response speed are issued in a mixed manner.

【0008】本発明の他の目的は、Out−of−Or
der実行といったプロセッサ上のプログラムの命令順
序に関係なくリクエストを発行する技術を用いたプロセ
ッサを採用した場合、プロセッサ自身が順序性を保つ機
構を内部に有しているため、プロセッサから発行された
リクエストとシステム・バスヘ発行するリクエストは、
大きく逸脱しない限り順序を厳密に必要に保つ必要はな
いため、バス・インタフェースでリクエスト発行順序の
最適化を行いバスの使用効率を改善することにある。
Another object of the present invention is to provide an Out-of-Or
When a processor using a technology that issues requests irrespective of the instruction order of a program on the processor, such as der execution, is employed, the request issued from the processor is internally provided because the processor itself has a mechanism for maintaining order. And the request issued to the system bus
Since it is not necessary to keep the order strictly necessary unless there is a large deviation, it is an object of the present invention to optimize the request issue order at the bus interface and improve the bus use efficiency.

【0009】[0009]

【課題を解決するための手段】本発明のリード制御装置
は、リード・リクエストに対するレスポンスがリード・
リクエスト発行元に返されるまでの間、バスを解放する
リード・スプリット方式のシステム・バスに、1個また
は複数のプロセッサと前記システム・バスとの入出力を
制御するCPU制御バス・インタフェースと、I/Oデ
バイスと前記システム・バス間との入出力を制御しバス
・マスタとなりうるI/O制御バス・インタフェース
と、メモリと前記システム・バス間との入出力を制御す
るメモリ制御バス・インタフェースが接続され、プロセ
ッサ、及びI/Oのキャッシュとメモリ間のコヒーレン
シがハードウェア・レベルでサポートされるライト・バ
ック方式を採用するシングル・プロセッサ、及びマルチ
・プロセッサ・システムにおけるリード制御装置におい
て、前記3種のバス・インタフェースは、前記システム
・バスヘ発行されたリード・リクエストの発行アドレス
からメモり・リードとI/Oリードの種別を判断する機
能を有するバス制御部と、メモリに対するリード・リク
エスト毎にシステムに一意に割り当てられるメモリ用I
D番号、自バス・インタフェースが発行したリード・リ
クエストであることを示す自発行識別フラグおよびリー
ド・アドレスを複数個保持し、メモリからのレスポンス
との対応を管理するメモリ・リード用管理テーブルとを
有し、前記CPU制御バス・インタフェースと前記I/
O制御バス・インタフェースは、I/Oに対するリード
・リクエスト毎にシステムに一意に割り当てられるI/
O用ID番号とを複数個保持しI/Oからのレスポンス
との対応を管理するI/Oリード用管理テーブルを有
し、メモリからのレスポンス速度に比してレスポンス速
度の遅いI/Oによって管理テーブルが独占され、メモ
リへのリードが阻害されることのないようにしたことを
特徴とする。
According to the read control apparatus of the present invention, a response to a read request is a read request.
A read-split system bus for releasing the bus until the request is returned to the request source; a CPU control bus interface for controlling input / output between one or more processors and the system bus; An I / O control bus interface that controls input / output between an I / O device and the system bus and can be a bus master, and a memory control bus interface that controls input / output between a memory and the system bus. A read processor in a single processor and a multi-processor system, which employs a write-back scheme in which a coherency between a processor and an I / O cache and a memory is supported at a hardware level. Kind of bus interface was issued to the system bus A bus control unit having a function of determining the type of issuing the address of the memory read and I / O read over de request, memory for I to be uniquely assigned to the system for each read request to the memory
A memory read management table that holds a plurality of D numbers, self-issued identification flags indicating read requests issued by its own bus interface, and read addresses, and manages correspondence with responses from the memory. The CPU control bus interface and the I / O
The O control bus interface is an I / O that is uniquely assigned to the system for each read request for I / O.
It has an I / O read management table for holding a plurality of O ID numbers and managing the correspondence with the response from the I / O, and the I / O having a slower response speed than the response speed from the memory. It is characterized in that the management table is monopolized so that reading to the memory is not hindered.

【0010】[0010]

【発明の実施の形態】次に本発明にリード制御装置の実
施例について図面を参照して詳細に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, an embodiment of a read control device according to the present invention will be described in detail with reference to the drawings.

【0011】図1は本発明の第1の実施例のブロック図
であり、CPUノード110,I/Oノード210およ
びメモリノード310がシステム・バス100に接続さ
れている。また、CPUノード110とメモリノード2
10とはI/Oレスポンス通知線101,CPUノード
110とI/Oノード210とメモリ・ノード310と
はID通知線102にもそれぞれ接続されている。
FIG. 1 is a block diagram of a first embodiment of the present invention. A CPU node 110, an I / O node 210 and a memory node 310 are connected to a system bus 100. Also, the CPU node 110 and the memory node 2
10 is also connected to the I / O response notification line 101, and the CPU node 110, the I / O node 210, and the memory node 310 are also connected to the ID notification line 102, respectively.

【0012】CPUノード110においては、複数のプ
ロセッサ120.130と、システム・バス100との
入出力を制御するCPUバスインタフェース150とが
クラスタバス140に接続されている。
In the CPU node 110, a plurality of processors 120.130 and a CPU bus interface 150 for controlling input and output to and from the system bus 100 are connected to a cluster bus 140.

【0013】CPUバス・インタフェース150は、バ
ス制御部180の他に、メモリ・リード用管理テーブル
160と、I/Oリード用管理テーブル170と、これ
らの両テーブル160,170を制御するテーブル制御
部190を有する。
The CPU bus interface 150 includes, in addition to the bus controller 180, a memory read management table 160, an I / O read management table 170, and a table controller for controlling these two tables 160, 170. 190.

【0014】メモリ・リード用管理テーブル160は、
(m+1)個のエントリを持ち、各エントリは、リード
とレスポンスを対応付けるためにシステム全体で一意に
付けられたメモリ用ID番号161と、有効フラグ16
2と、自ノードが発行したリクエストかどうかの自発行
識別フラグ163と、リード・アドレス・バッファ16
4からなる。I/Oリード用管理テーブル170は(n
+1)個のエントリを持ち、エントリは、リードとレス
ポンスを対応付けるためにシステム全体で一意に付けら
れたI/O用ID番号171と、有効フラグ172から
なる。
The memory read management table 160 is
It has (m + 1) entries, and each entry has a memory ID number 161 uniquely assigned to the entire system for associating a read with a response, and a valid flag 16
2, a self-issued identification flag 163 indicating whether the request is issued by the own node, and a read address buffer 16
Consists of four. The I / O read management table 170 is (n
It has +1) entries, and each entry is composed of an I / O ID number 171 and a valid flag 172 uniquely assigned to the entire system in order to associate a read with a response.

【0015】I/Oノード210もCPUノード110
と類似の構成である。即ち複数のI/Oデバイス22
0,230と、システムバス100との入出力を制御す
るI/O制御バスインタフェース250とがI/Oバス
240に接続され、I/O制御バスインタフェース25
0は、バス制御部280、メモリ・リード用管理テーブ
ル260、I/Oリード用管理テーブル270、これら
の両テーブル260,270を制御するテーブル制御部
290を有する。また、メモリ・リード用管理テーブル
260も(m+1)個のエントリを持ち、各エントリ
は、メモリ用ID番号261、有効フラグ262、自発
行識別フラグ263、リードアドレス・バッファ264
からなり、I/Oノード用管理テーブル270は(n+
1)個のエントリを持ち、各エントリはI/O用ID番
号271と、有効フラグ272からなる。
The I / O node 210 is also a CPU node 110
It is a configuration similar to. That is, a plurality of I / O devices 22
0, 230 and an I / O control bus interface 250 for controlling input / output to / from the system bus 100 are connected to the I / O bus 240.
0 has a bus control unit 280, a memory read management table 260, an I / O read management table 270, and a table control unit 290 that controls these two tables 260 and 270. The memory read management table 260 also has (m + 1) entries, and each entry has a memory ID number 261, a valid flag 262, a self-issued identification flag 263, and a read address buffer 264.
And the I / O node management table 270 has (n +
Each entry has an I / O ID number 271 and a valid flag 272.

【0016】メモリ・ノード310は、メインメモリで
あるメモリアレイ312と、システム・バス100との
入出力を制御するメモリバスインタフェース350から
なり、自らシステムバス100へリクエストを発行する
ことがないため、メモリ制御バスインタフェース350
は、バス制御部380、メモリ・リード用管理テーブル
360およびこのテーブル360を制御するテーブル制
御部290からなる。メモリ・リード用管理テーブル3
60は(n+1)個のエントリを持ち、各エントリはメ
モリ用ID番号361と、有効フラグ362を備えてい
る。
The memory node 310 is composed of a memory array 312 as a main memory and a memory bus interface 350 for controlling input / output to / from the system bus 100, and does not issue a request to the system bus 100 by itself. Memory control bus interface 350
Is composed of a bus control unit 380, a memory read management table 360, and a table control unit 290 that controls the table 360. Management table 3 for memory read
60 has (n + 1) entries, each entry having a memory ID number 361 and a valid flag 362.

【0017】ここで、メモリ・リード用管理テーブル1
60,I/Oリード用管理テーブル170のエントリ数
はシステム・バス100へ発行されたペンディング中の
リード・リクエストの数を示し、システム構成、規模に
よって任意に設定される。メモリ・リード用管理テーブ
ル160とI/Oリード用管理テーブル170の有効フ
ラグ162、172は、システム・バスヘリード発行済
みで、かつ、レスポンス待ち状態であることを示す。ま
た、各バス・インタフェース150,250,350が
システム・バス100に対しリクエストを発行する際に
は、それぞれ管理テーブル160,260,360を参
照し、該当テーブルの全てが埋まっている場合は、該当
テーブル上のエントリが空くまでリクエストの発行は保
留される。
Here, the memory read management table 1
60, the number of entries in the I / O read management table 170 indicates the number of pending read requests issued to the system bus 100, and is arbitrarily set according to the system configuration and scale. The valid flags 162 and 172 of the memory read management table 160 and the I / O read management table 170 indicate that the read has been issued to the system bus and that the system is in a response waiting state. When each bus interface 150, 250, 350 issues a request to the system bus 100, it refers to the management tables 160, 260, 360, respectively. Issuance of the request is suspended until an entry on the table becomes available.

【0018】メモリ・リード用管理テーブル160内の
アドレス・バッファ164に格納されるアドレスは、メ
モリ系リクエスト発行直前に参照され、メモリ・リード
・アドレスが既にメモリ・リード用管理テーブル160
に登録されている場合は、メモリ領域のコヒーレンシの
維持を容易にするため、該エントリが空くまでリクエス
トの発行は保留される。
The address stored in the address buffer 164 in the memory read management table 160 is referred to immediately before the issuance of a memory request, and the memory read address is already set.
In order to facilitate maintenance of the coherency of the memory area, the issuance of the request is suspended until the entry becomes empty.

【0019】プロセッサ120,130によるメモリ領
域をアドレスとするリード・リクエスト発行、またはI
/Oノード210によるメモリ領域に対するDMAリー
ド・リクエスト発行などを契機に、CPU制御バス・イ
ンタフェース150、またはI/O制御用バス・インタ
フェース250がリード・リクエストをシステム・バス
100へ発行すると、全てのノード110,210,3
10のバス・インタフェース150,250,350
は、発行されたアドレスをデコードし、メモリ・リード
と判断されると、テーブル制御部190,290,39
0を介してメモリ・リード用管理テーブル160,26
0,360への登録を行う。この時、テーブル制御部1
90,290,390はメモリ・リード用管理テーブル
160,260,360の有効フラグ162,262,
362の有無を調べ、空いているID番号161,26
1,361を選び、該エントリの有効フラグ162,2
62,362をセットし、リクエスト・アドレスを該エ
ントリのアドレス・バッファ164,264へ格納す
る。
The processor 120 or 130 issues a read request using a memory area as an address, or
When the CPU control bus interface 150 or the I / O control bus interface 250 issues a read request to the system bus 100 when the I / O node 210 issues a DMA read request to the memory area, all Nodes 110, 210, 3
10 bus interfaces 150, 250, 350
Decodes the issued address, and when it is determined that the address is a memory read, the table control units 190, 290, and 39
0 and memory read management tables 160 and 26
Registration at 0,360. At this time, the table control unit 1
90, 290, 390 are valid flags 162, 262, of the memory read management tables 160, 260, 360.
The presence or absence of 362 is checked, and empty ID numbers 161, 26
1, 361, and the valid flag 162, 2 of the entry is selected.
62, 362 are set, and the request address is stored in the address buffer 164, 264 of the entry.

【0020】また、自ノードがリード・リクエストを発
行した場合は、更に自発行識別フラグ163、または2
63をセットする。全ノードのテーブル制御部190,
290,390は同構成となっているため、このメモリ
・リードは、システム全体で同一のID番号が付けられ
ることになる。リード・アドレスのターゲットとなるメ
モリ・ノード310は、リードを受信し、該リードに対
するレスポンスが準備できた時点でバスを獲得し、リー
ドに対応するID通知線102を介してメモリ用ID番
号361をバスヘ通知し、リクエスト発行元のCPUノ
ード110またはI/Oノード210に対してシステム
・バス100を介してレスポンス・データを返す。
If the own node has issued a read request, the self-issued identification flag 163 or 2
Set 63. Table control units 190 of all nodes,
Since 290 and 390 have the same configuration, this memory read is assigned the same ID number throughout the system. The memory node 310 that is the target of the read address receives the read, acquires the bus when a response to the read is ready, and assigns the memory ID number 361 via the ID notification line 102 corresponding to the read. Notification is sent to the bus, and response data is returned via the system bus 100 to the CPU node 110 or the I / O node 210 that issued the request.

【0021】CPUノード110とI/Oノード210
は、ID通知線102を監視し、通知されたID番号か
ら、自発行識別フラグ163,263を参照し、フラグ
がセットされていた場合は自ノードに対するレスポンス
と認識し、レスポンス・データを引き取る。同時に、テ
ーブル制御部190は該テーブルの有効ビット162を
消去する。
CPU node 110 and I / O node 210
Monitors the ID notification line 102, refers to the self-issued identification flag 163, 263 from the notified ID number, and if the flag is set, recognizes it as a response to its own node, and retrieves the response data. At the same time, the table control unit 190 deletes the valid bit 162 of the table.

【0022】一方、CPUノード110がI/O領域を
アドレスとするリード・リクエストをシステム・バス1
00へ発行すると、テーブル制御部190,290を介
してI/Oリード用管理テーブル170,270への登
録を行う。この時、メモリ・リード時と同様に、テーブ
ル制御部190.290はI/Oリード用管理テーブル
170,270の有効フラグ172,272の有無を調
べ、空いているID番号171,271を選び、該エン
トリの有効フラグ172,272をセットする。I/D
リード・リクエストはコヒーレンシを維持する必要がな
いため、リクエスト・アドレスは保存されない。また、
該I/Oリードはメモリ・リード同様に、システム全体
で同一のID番号が付けられることになる。
On the other hand, the CPU node 110 sends a read request using the I / O area as an address to the system bus 1.
When issued to the I / O read management tables 170 and 270, the I / O read management tables 170 and 270 are registered. At this time, as in the case of the memory read, the table control unit 190.290 checks the presence or absence of the valid flags 172 and 272 of the I / O read management tables 170 and 270, and selects a free ID number 171 or 271. The valid flags 172 and 272 of the entry are set. I / D
The request address is not preserved because the read request does not need to maintain coherency. Also,
The I / O read has the same ID number throughout the system as the memory read.

【0023】リード・アドレスのターゲットとなるI/
Oノード210は、リードを受信し、該リードに対する
レスポンスが準備できた時点でバスを獲得し、リードに
対応するI/O用番号271を付加してCPUノード1
10に対してレスポンスを返すと共に、I/Oからのレ
スポンスを明示するI/Oレスポンス通知線101をア
サートする。CPUノード110はレスポンス・データ
を引きとると同時に、テーブル制御部190がID通知
線102より通知されたID番号のI/Oリード用管理
テーブル170の有効ビット172を消去する。
I / I as a target of the read address
The O node 210 receives the read, acquires the bus when a response to the read is ready, adds the I / O number 271 corresponding to the read, and
10 and returns an I / O response notification line 101 for specifying a response from the I / O. At the same time as the CPU node 110 receives the response data, the table control unit 190 deletes the valid bit 172 of the I / O read management table 170 of the ID number notified from the ID notification line 102.

【0024】以上の動作により、メモリとI/Oへの各
リード管理を完全に分離することで、メモリに比してレ
スポンス速度の遅いI/Oリードによって、リード管理
テーブルが占有されメモリへのリード・リクエストが妨
げられることがなくなり、メモリへのリード発行をシス
テム・バスが持つ最高許容数まで行うことができる。
With the above operation, each read management for the memory and the I / O is completely separated, so that the read management table is occupied by the I / O read whose response speed is slower than that of the memory, and the read management table is allocated to the memory. The read request is not interrupted, and the read can be issued to the memory up to the maximum allowable number of the system bus.

【0025】次に、プロセッサがOut−of−Ord
er実行、即ちプロセッサ上のプログラムの命令の順序
に関係なくリクエストを発行し、プログラムの順序性を
プロセッサ自身が内部的に保証する技術を用いている場
合の実施例について図2を用いて説明を行う。図2はO
ut−of−Oeder技術を用いたプロセッサを採用
した場合のブロック図である。
Next, the processor sets Out-of-Ord.
FIG. 2 shows an embodiment in which a request is issued irrespective of the order of instructions of a program on the processor, that is, the processor itself internally guarantees the order of the program. Do. FIG. 2 shows O
It is a block diagram in the case of employing a processor using out-of-Oeder technology.

【0026】図2において、システム・バス103は、
図1で示したシステムバス100,I/D通知線102
およびI/Oレスポンス通知線101を含んでいる。シ
ステムバス103には、複数のCPUノード110,1
11と、複数のI/Oノード210,211と、複数の
メモリ・ノード310,311とが接続されてSMPシ
ステムを構成している。
In FIG. 2, the system bus 103 is
The system bus 100 and the I / D notification line 102 shown in FIG.
And an I / O response notification line 101. The system bus 103 includes a plurality of CPU nodes 110, 1
11, the plurality of I / O nodes 210 and 211, and the plurality of memory nodes 310 and 311 are connected to form an SMP system.

【0027】CPUノード110,111は、Out−
of−Order技術を採用した複数のプロセッサ12
1,131と、システム・バス103との入出力を制御
するCPUバス・インタフェース150からなる。メモ
リノード310,311は、メモリとシステムバス10
3との入出力を制御するメモリ・バス・インタフェース
を含み、I/Oノード210,211は、I/Oデバイ
スとシステム・バス103との入出力を制御するI/O
バス・インタフェースを含む。なお、I/Oノード21
0,211とメモリ・ノード310,311の内部構成
は図1で図示するものと全く同じであるため、その詳細
は省略する。
The CPU nodes 110 and 111 have Out-
Plurality of processors 12 employing of-Order technology
1 and 131 and a CPU bus interface 150 for controlling input and output to and from the system bus 103. The memory nodes 310 and 311 are connected to the memory and the system bus 10.
3 includes a memory bus interface for controlling input / output to / from the I / O device 3 and I / O nodes 210 and 211 for controlling input / output between the I / O device and the system bus 103.
Includes bus interface. The I / O node 21
The internal configurations of the memory nodes 0 and 211 and the memory nodes 310 and 311 are exactly the same as those shown in FIG.

【0028】CPUノード110,111内のCPUバ
ス・インタフェース150は、バス制御180の他に、
メモリ・リード用管理テーブル160と、I/Oリード
用管理テーブル170と、これらの両テーブル160,
170を制御するテーブル制御部190を備える。メモ
リ・リード用管理テーブル160は(m+1)個のエン
トリを持ち、各エントリは、リードとレスポンスを対応
付けるためにシステム全体で一意に付けられたメモリ用
ID番号161と、有効フラグ162と、自発行識別フ
ラグ163とリード・アドレス・バッファ164を備え
る。I/Oリード用管理テーブル170は(n+1)個
のエントリを持ち、各エントリは、レスポンスを対応付
けるためにシステム全体で一意に付けられたI/O用I
D番号171と、有効フラグ172と、CPUノードが
複数実装された場合を考慮し自発行識別フラグ173を
備える。
The CPU bus interface 150 in each of the CPU nodes 110 and 111 has, in addition to the bus control 180,
A memory read management table 160, an I / O read management table 170, and both these tables 160,
A table control unit 190 that controls the 170 is provided. The memory read management table 160 has (m + 1) entries. Each entry has a memory ID number 161 uniquely assigned to the entire system for associating a read with a response, a valid flag 162, and a self-issued flag. An identification flag 163 and a read address buffer 164 are provided. The I / O read management table 170 has (n + 1) entries, and each entry is an I / O I / O uniquely assigned to the entire system in order to associate a response.
A D number 171, a valid flag 172, and a self-issued identification flag 173 are provided in consideration of a case where a plurality of CPU nodes are mounted.

【0029】CPUバスインタフェース150は、さら
に、プロセッサ121,131からのリクエスト・アド
レスをデコードし・メモリ系リクエストであれば、メモ
リ・リクエスト・キュー510にリクエストを登録し、
I/O系リクエストであれば、I/Oリクエスト・キュ
ー511にリクエスト登録する制御を行うプロセッサ・
リクエスト制御部500と、両キュー510、511に
登録されるリクエストの順序性を制御するリクエスト・
キュー制御部520を備える。メモリ・リード用管理テ
ーブル160,I/Oリード用管理テーブル170の機
能については先に図1を説明した通りである。
The CPU bus interface 150 further decodes request addresses from the processors 121 and 131. If the request is a memory request, the request is registered in a memory request queue 510,
If the request is an I / O request, a processor that controls registration of the request in the I / O request queue 511
A request control unit 500 and a request for controlling the order of requests registered in both queues 510 and 511.
A queue control unit 520 is provided. The functions of the memory read management table 160 and the I / O read management table 170 are as described above with reference to FIG.

【0030】プロセッサ121,131からリクエスト
か発行されると、プロセッサ・リクエスト制御部500
においてリクエストがメモリ系とI/O系に振り分けら
れ、それぞれメモリ・リクエスト・キュー510に登録
される。リクエスト・キュー制御部520は両キューの
登録順番を記憶し、プロセッサ121,131が発行さ
れたリクエスト順にバス制御部180を介してバスにリ
クエストを発行するが、I/Oリード発行の場合におい
てI/Oリード用管理テーブル170の全エントリの有
効フラグ172を調べI/Oのエントリが全て満たされ
れており、I/Oリードが発行できない場合は、I/O
ノード210,211から何らかのレスポンスが返され
てI/O用エントリが空くまで、メモリ・リクエストキ
ュー510に登録されているリクエストとを先に発行す
る。これにより、プロセッサ121,131から発行さ
れるリクエストの順序性を崩すが前述の通りOut−o
fOrder技術を採用したプロセッサで有れば何ら問
題はなく、I/Oリード用管理テーブル170がフルエ
ントリされ、さらに、I/Oリード・リクエストが存在
する場合、I/Oリード・リクエストが発行できないが
ために後続のメモリ・リクエストが発行できないという
事態を回避することが可能である。
When a request is issued from the processors 121 and 131, the processor / request control unit 500
Are distributed to a memory system and an I / O system, and are registered in the memory request queue 510 respectively. The request / queue control unit 520 stores the registration order of both queues, and issues requests to the bus via the bus control unit 180 in the order of requests issued by the processors 121 and 131. In the case of I / O read issuance, The validity flags 172 of all the entries in the / O read management table 170 are checked, and if all the I / O entries are satisfied and the I / O read cannot be issued, the I / O read cannot be issued.
Until a response is returned from the nodes 210 and 211 and the I / O entry becomes empty, the request registered in the memory request queue 510 is issued first. This breaks the order of requests issued from the processors 121 and 131, but as described above, Out-o
If the processor employs the fOrder technology, there is no problem. If the I / O read management table 170 is full-entry and an I / O read request exists, the I / O read request cannot be issued. Therefore, it is possible to avoid a situation in which a subsequent memory request cannot be issued.

【0031】次に、図3を用いて本発明の第3の実施例
を説明する。なお、本実施例では、システム・バス、複
数のI/Oノード、複数のメモリ・ノード、Out−o
f−Order技術を用いたプロセッサ等、図2で示し
た実施例と全く構成が同じため、CPUバス・インタフ
ェース150のみを抜き出して説明する。
Next, a third embodiment of the present invention will be described with reference to FIG. In this embodiment, a system bus, a plurality of I / O nodes, a plurality of memory nodes, and Out-o
Since the configuration such as the processor using the f-Order technology is completely the same as that of the embodiment shown in FIG. 2, only the CPU bus interface 150 will be described.

【0032】CPUバス・インタフェース150は、プ
ロセッサからのリクエストを、(x+1)このプロセッ
サ・リクエストを保持可能なFIFO形式のリクエスト
・キュー610へ登録する機能を持つプロセッサ・リク
エスト・制御部600と、リクエスト・キュー610に
登録されているリクエスト・アドレスから、どのメモリ
ノードまたはどのI/Oへ対するリクエストなのかを判
断し、メモリ・ノード数分用意された複数のメモリ・リ
ード用管理テーブル160,165と、I/Oノード数
分用意された複数のI/Oノード用管理テーブル17
0,175を参照し、テーブルの登録状況からシステム
・バスヘのリクエストの発行可能状態を示す発行可能フ
ラグ620をセットする機構を含むリクエストは発行判
断部630と、発行可能フラグ620の状態とリクエス
ト・キュー610の登録順番によりシステム・バスヘ発
行するリクエストを決定する機構を含むリクエスト・キ
ュー制御部640と、システム・バスに発行されたリク
エスト・アドレスからどのメモリ・ノード、またはどの
I/Oノードへ対するリクエストなのかを判断し、該当
するテーブルのエントリにリクエストを登録するテーブ
ル制御部190と、バス制御部180とから構成され
る。
The CPU bus interface 150 has a processor request / control unit 600 having a function of registering a request from the processor in a (x + 1) FIFO type request queue 610 capable of holding the processor request, From the request addresses registered in the queue 610, it is determined which memory node or I / O is to be requested, and a plurality of memory read management tables 160 and 165 prepared by the number of memory nodes are determined. , A plurality of I / O node management tables 17 prepared for the number of I / O nodes
0, 175, the request including a mechanism for setting the issuable flag 620 indicating the issuable state of the request to the system bus from the registration status of the table is issued by the issuance determination unit 630, the state of the issuable flag 620 and the request A request queue control unit 640 including a mechanism for determining a request to be issued to the system bus according to the registration order of the queue 610, and a request to a memory node or an I / O node from a request address issued to the system bus. It comprises a table control unit 190 for determining whether the request is a request and registering the request in an entry of the corresponding table, and a bus control unit 180.

【0033】ここで、メモリ・リード用管理テーブル1
60,165のエントリ数(m+1)個は、1個のメモ
リ・ノードが受け付けることが出来るリードの最大許容
数に等しくすることが望ましいが、ハードウェア量との
兼ね合いで決定される。I/Oリード用管理テーブル1
70,175も同様に、1個のI/Oノードが受け付け
ることが出来るリードの最大許容数に等しくすることが
望ましい。また、リードリクエスト・キューのエントリ
数(x+1)個は接続されるプロセッサのリード・リク
エストの最大発行数に等しくすることが望ましい。
Here, the memory read management table 1
The number of entries (m + 1) of 60 and 165 is preferably equal to the maximum allowable number of reads that can be accepted by one memory node, but is determined in consideration of the amount of hardware. I / O read management table 1
Similarly, it is desirable that 70 and 175 be equal to the maximum allowable number of reads that can be accepted by one I / O node. Further, it is desirable that the number of entries (x + 1) in the read request queue be equal to the maximum number of read requests issued by the connected processor.

【0034】システム・バス上にリード・リクエストが
発行されるとバス制御部180は、そのリード・アドレ
スから、どのメモリ・ノードまたはどのI/Oノードか
を判断し、テーブル160,165,170,175の
うち該当するテーブルに対し、テーブル制御部190を
介して空いているエントリにリクエストを登録する。一
方、プロセッサからリクエストが発行されると、プロセ
ッサ・リクエスト制御部600を介してリクエスト・キ
ュー610に登録される。
When a read request is issued on the system bus, the bus controller 180 determines which memory node or which I / O node is based on the read address, and the tables 160, 165, 170, and The request is registered in a vacant entry via the table control unit 190 for the corresponding table out of 175. On the other hand, when a request is issued from the processor, the request is registered in the request queue 610 via the processor request control unit 600.

【0035】リクエスト発行判断部630は、常にリク
エスト・キュー610と管理テーブル160,165,
170,175を監視しており、リクエスト・キュー6
10の全エントリのリード・リクエストに対し、そのリ
クエスト・アドレスからどのメモリ・ノードまたはどの
I/Oノードに対するリードかを判断し、メモリ・リク
エストの場合は、該当するメモリ・ノードのメモリ用管
理テーブルの有効フラグ162または167と、全ノー
ドのメモリ用管理テーブル170,175のリード・ア
ドレス・バッファ164,169を参照し、該当ノード
のテーブルがフルエントリ、または全メモリ・リード用
管理テーブル160,165のアドレス・フィールドの
どれかとアドレス一致と判断された場合は発行可能フラ
グ620の対応するエントリに保留ビットをセットす
る。同様に、I/Oリクエストの場合は該当するI/O
用管理テーブルの有効フラグ172または177を参照
し、フルエントリであった場合は発行可能フラグ620
の対応するエントリに保留ビットをセットする。
The request issuance judging section 630 always requests the request queue 610 and the management tables 160, 165,
170 and 175 are monitored and request queue 6
For read requests of all 10 entries, it is determined from the request address which memory node or which I / O node is to be read, and in the case of a memory request, the memory management table of the corresponding memory node The effective flag 162 or 167 and the read address buffers 164 and 169 of the memory management tables 170 and 175 of all nodes are referred to, and the table of the corresponding node is full entry or the management tables 160 and 165 for all memory read. Is set to the corresponding entry of the issuable flag 620, the pending bit is set. Similarly, in the case of an I / O request, the corresponding I / O
Refer to the validity flag 172 or 177 of the application management table, and if it is a full entry, issue permission flag 620
Set the pending bit in the corresponding entry of.

【0036】リクエスト・キュー制御部640は、発行
可能フラグ620の全エントリを参照し、リクエストが
発行可能状態でかつ、リクエスト発行順序に最も近いエ
ントリを選択し、バス制御部180を介してシステム・
バスに対しリクエストを発行する。
The request queue control unit 640 refers to all the entries of the issuable flag 620, selects the entry in which the request can be issued and is closest to the request issuance order, and sends the request to the system via the bus control unit 180.
Issues a request to the bus.

【0037】以上により、メモリ、I/Oのリード受付
状態をノードごとに監視し、さらにリクエストの追い越
し制御を行うことにより、システムに対し最適なリクエ
ストを発行することを可能とし、また無用なリクエスト
をシステム・バスに発行しバスを混雑させるという要因
を取り除くことを可能とし、結果的にシステム・バスの
スループットを向上させることが可能である。
As described above, it is possible to issue an optimal request to the system by monitoring the read acceptance state of the memory and the I / O for each node, and performing the overtaking control of the request. Is issued to the system bus to eliminate the factor of congesting the bus, and as a result, the throughput of the system bus can be improved.

【0038】[0038]

【発明の効果】以上の説明で明らかなように、本発明に
よると、メモリ・リードとI/Oの管理テーブルを別々
に分割して制御することにより、レスポンス速度の遅い
I/Oリードがリード管理テーブルを占有しメモリ・リ
ード・リクエストの発行が妨げられることが無くなり、
ごく少量の回路の増加によって、メモリへのリードの発
行をシステム・バスが持つ最高許容数まで行うことがで
き、システム・バスのスループットを向上させることが
可能となる。また、I/Oに対するリードはコヒーレン
シを維持する必要がないため、リード・アドレスの保持
も必要なく、同じ管理テーブル・エントリ数であれば、
管理テーブルをI/O、メモリとも共用した場合に比べ
て、回路規模を縮小させることが可能である。さらに、
プロセッサに動的命令スケジューリング、Out−of
−Order実行といったプロセッサ上のプログラムの
順序に関係なくリクエストを発行し、前記プログラムの
順序性をプロセッサ自身が内部的に保証する技術を用い
たプロセッサを採用した場合、リクエスト発行順序の最
適化を行うことによりI/Oリードの滞りによってメモ
リ・リードの発行が阻害されることがなくなり、バスの
スループット向上が可能である。
As is apparent from the above description, according to the present invention, by separately dividing and controlling the memory read and I / O management tables, an I / O read having a low response speed can be read. The management table is occupied and the issue of memory read requests is not interrupted,
With a small increase in the number of circuits, it is possible to issue the read to the memory up to the maximum allowable number of the system bus, and it is possible to improve the throughput of the system bus. In addition, since it is not necessary to maintain coherency in reading to I / O, it is not necessary to hold a read address, and if the number of management table entries is the same,
The circuit scale can be reduced as compared with the case where the management table is shared with the I / O and the memory. further,
Dynamic instruction scheduling for processor, Out-of
When a processor that issues a request irrespective of the order of programs on the processor, such as Order execution, and uses a technique that internally guarantees the order of the program itself, employs a processor that optimizes the order of issuing requests. As a result, the issue of the memory read is not hindered by the delay of the I / O read, and the bus throughput can be improved.

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

【図1】本発明の第1の実施例を示すブロック図。FIG. 1 is a block diagram showing a first embodiment of the present invention.

【図2】本発明の第2の実施例を示すブロック図。FIG. 2 is a block diagram showing a second embodiment of the present invention.

【図3】本発明の第3の実施例を示すブロック図。FIG. 3 is a block diagram showing a third embodiment of the present invention.

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

100 システム・バス 101 I/Oレスポンス通知線 102 ID通知線 103 システム・バス 110 CPUノード 120,130 プロセッサ 140 クラスタ・バス 150 CPUバス・インタフェース 160,165,260,360 メモリ・リード用
管理テーブル 161,166,261,361 メモリ用ID番号 162,167,262,362 有効フラグ 163,168,263 自発行識別フラグ 164,169,264 リード・アドレス・バッフ
ァ 170,175,270 I/Oリード用管理テーブ
ル 171,176,271 I/O用ID番号 172,177,272 有効フラグ 173,178 自発行識別フラグ 180,280,380 バス制御部 190,290,390 テーブル制御部 240 I/Oバス 500 プロセッサ・リクエスト制御部 510 メモリ・リクエスト・キュー 511 I/Oリクエスト・キュー 520 リクエスト・キュー制御部 600 プロセッサ・リクエスト制御部 610 リクエスト・キュー 620 発行可能フラグ 630 リクエスト発行判断部 640 リクエスト・キュー制御部
REFERENCE SIGNS LIST 100 system bus 101 I / O response notification line 102 ID notification line 103 system bus 110 CPU node 120, 130 processor 140 cluster bus 150 CPU bus interface 160, 165, 260, 360 memory read management table 161, 166, 261, 361 Memory ID number 162, 167, 262, 362 Valid flag 163, 168, 263 Self-issued identification flag 164, 169, 264 Read address buffer 170, 175, 270 I / O read management table 171 , 176, 271 I / O ID number 172, 177, 272 Valid flag 173, 178 Self-issued identification flag 180, 280, 380 Bus control unit 190, 290, 390 Table control unit 240 I / O bus 500 Processor Request Control Unit 510 Memory Request Queue 511 I / O Request Queue 520 Request Queue Control Unit 600 Processor Request Control Unit 610 Request Queue 620 Issuable Flag 630 Request Issuance Determination Unit 640 Request Queue Control Unit

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平6−149730(JP,A) 特開 平9−244989(JP,A) 特開 平6−177915(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 13/36,13/362,13/38 ────────────────────────────────────────────────── ─── Continuation of the front page (56) References JP-A-6-149730 (JP, A) JP-A-9-244989 (JP, A) JP-A-6-177915 (JP, A) (58) Field (Int.Cl. 7 , DB name) G06F 13 / 36,13 / 362,13 / 38

Claims (6)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 リード・リクエストに対するレスポンス
がリード・リクエスト発行元に返されるまでの間、バス
を解放するリード・スプリット方式のシステム・バス
に、1個または複数のプロセッサと前記システム・バス
との入出力を制御するCPU制御バス・インタフェース
と、I/Oデバイスと前記システム・バス間との入出力
を制御しバス・マスタとなりうるI/O制御バス・イン
タフェースと、メモリと前記システム・バス間との入出
力を制御するメモリ制御バス・インタフェースが接続さ
れ、 プロセッサ、及びI/Oのキャッシュとメモリ間のコヒ
ーレンシがハードウェア・レベルでサポートされるライ
ト・バック方式を採用するシングル・プロセッサ、及び
マルチ・プロセッサ・システムにおけるリード制御装置
において、 前記3種のバス・インタフェースは、前記システム・バ
スヘ発行されたリード・リクエストの発行アドレスから
メモり・リードとI/Oリードの種別を判断する機能を
有するバス制御部と、メモリに対するリード・リクエス
ト毎にシステムに一意に割り当てられるメモリ用ID番
号、自バス・インタフェースが発行したリード・リクエ
ストであることを示す自発行識別フラグおよびリード・
アドレスを複数個保持し、メモリからのレスポンスとの
対応を管理するメモリ・リード用管理テーブルとを有
し、 前記CPU制御バス・インタフェースと前記I/O制御
バス・インタフェースは、I/Oに対するリード・リク
エスト毎にシステムに一意に割り当てられるI/O用I
D番号とを複数個保持しI/Oからのレスポンスとの対
応を管理するI/Oリード用管理テーブルを有し、 メモリからのレスポンス速度に比してレスポンス速度の
遅いI/Oによって管理テーブルが独占され、メモリへ
のリードが阻害されることのないようにしたことを特徴
とするリード制御装置。
1. A read-split system bus for releasing a bus until a response to a read request is returned to a read request issuer, wherein one or more processors and one or more processors are connected to the system bus. A CPU control bus interface for controlling input / output, an I / O control bus interface for controlling input / output between I / O devices and the system bus, and an I / O control bus interface capable of acting as a bus master; A memory control bus interface for controlling input / output to / from the processor, a processor, and a single processor employing a write-back method in which coherency between an I / O cache and a memory is supported at a hardware level; and A read control device in a multiprocessor system, The type of bus interface includes a bus control unit having a function of determining the type of a memory read and an I / O read from an issue address of a read request issued to the system bus, and a bus control unit for each read request to a memory. A memory ID number uniquely assigned to the system, a self-issued identification flag indicating a read request issued by the own bus interface, and a read
A memory read management table for holding a plurality of addresses and managing correspondence with a response from a memory, wherein the CPU control bus interface and the I / O control bus interface -I / O I assigned uniquely to the system for each request
An I / O read management table for holding a plurality of D numbers and managing correspondence with a response from the I / O, and a management table for the I / O having a slower response speed than the response speed from the memory. The read control device is characterized in that the device is monopolized so that reading to the memory is not hindered.
【請求項2】 前記システム・バスに複数のCPU制御
バス・インタフェースが接続されるマルチ・プロセッサ
・システムにおけるリード制御装置において、前記CP
U制御装置バス・インタフェース内のI/Oリード用管
理テーブルは、自バス・インタフェースが発行したリー
ド・リクエストであることを示す自発行識別フラグを更
に有し、前記CPU制御バス・インタフェースがI/O
リード・リクエストを発行の際該自発行識別フラグをセ
ットすることにより、I/Oからのレスポンスと複数の
プロセッサ間との対応を管理することを特徴とする請求
項1のリード制御装置。
2. A read control device in a multi-processor system in which a plurality of CPU control bus interfaces are connected to the system bus.
The I / O read management table in the U control device bus interface further has a self-issue identification flag indicating that the read request is issued by the own bus interface. O
2. The read control device according to claim 1, wherein when the read request is issued, the correspondence between the response from the I / O and the plurality of processors is managed by setting the self-issue identification flag.
【請求項3】 前記CPU制御バス・インタフェースに
接続される複数プロセッサがOut−of−Order
実行、即ちプロセッサ上のプログラムの命令の順序に関
係なくリクエストを発行し、前記プログラムの命令の順
序性を該プロセッサが保証する技術を用いている場合に
おいて、 前記CPU制御バス・インタフェースは、前記プロセッ
サが発行するリクエスト・アドレスからI/Oに対する
リクエストとメモリに対するリクエストを判断する機能
を有するプロセッサ・リクエスト制御部を有し、前記シ
ステム・バスへ発行する前記I/Oリクエストを登録す
るI/Oリクエスト・キューと、前記システム・バスへ
発行する前記メモリ・リクエストを登録するメモリ・リ
クエスト・キューと、前記2種類のキューから前記シス
テム・バスヘのリクエスト発行順序を制御する手段を更
に有し、 前記I/Oリード用管理テーブルにI/Oリードがフル
・エントリされ、I/Oリードが前記システム・バスヘ
発行出来ない場合は、前記メモリリクエスト・キューの
リクエストを先に発行し、同様にメモリ・リード用管理
テーブルにメモリ・リードがフル・エントリ、またはコ
ヒーレンシ維持のためにメモリ・リード・リクエストが
発行できない場合は、前記I/Oリクエスト・キューの
リクエストを先に発行する制御手段を含むことを特徴と
する請求項2記載のリード制御装置。
3. The processor connected to the CPU control bus interface includes an Out-of-Order processor.
In the case of using a technique for executing, that is, issuing a request irrespective of the order of instructions of a program on a processor and guaranteeing the order of instructions of the program by the processor, the CPU control bus interface includes the processor An I / O request that has a function of determining a request for I / O and a request for memory from a request address issued by the I / O request and registers the I / O request to be issued to the system bus A queue, a memory request queue for registering the memory request to be issued to the system bus, and means for controlling a request issuance order from the two types of queues to the system bus; I / O leads are not stored in the I / O lead management table. If an entry has been made and an I / O read cannot be issued to the system bus, the request in the memory request queue is issued first, and the memory read is similarly full-entry in the memory read management table, or 3. The read control device according to claim 2, further comprising a control unit that issues a request in the I / O request queue first when a memory read request cannot be issued to maintain coherency.
【請求項4】 前記CPU制御バス・インタフェース
は、 プロセッサから次々と発行されるリクエストを発行順に
保持するリクエスト・キューと、 前記リクエスト・キューに対応付けられ、リクエストの
前記システム・バスヘの発行保留を示す発行可能フラグ
と、 リクエスト・キュー内のリクエストのうち全てのリード
・リクエストに関し、そのアドレスからメモリ・リー
ド、またはI/Oリードの判断を行い、メモリ・リード
に関しては前記メモリ・リード用管理テーブルを参照
し、I/Oリードに関しては前記I/Oリード用管理テ
ーブルを参照し、前記システム・バスヘ発行可能または
発行保留であるかを判断し、前記発行保留フラグのセッ
ト/リセットを行う機能を有するリクエスト発行判断部
と、 前記リクエスト・キューのリクエスト登録順と前記発行
可能フラグの状態を参照し、前記システム・バス発行す
るリクエストの決定、前記リクエスト・キューの制御を
行う機能を含むリクエスト・キュー制御部とを有し、 前記リクエスト・キュー制御部は、前記リクエスト・キ
ューの登録順に発行可能フラグを参照し、発行可能なリ
クエストを前記リクエスト・キュー登録順に発行するこ
とにより、前記リクエスト・キューに先に登録されたリ
ード・リクエストが、前記システム・バスヘ発行できな
い場合でも、後続の発行可能リクエストを先に発行す
る、リクエストの追い越し制御手段を含むことを特徴と
する請求項2記載のリード制御装置。
4. The CPU control bus interface includes: a request queue for holding requests issued one after another from a processor in the order of issuance; and a request queue associated with the request queue for holding a request to be issued to the system bus. For all read requests among requests in the request queue, a memory read or an I / O read is determined from the address, and for the memory read, the memory read management table is used. For the I / O read, refer to the I / O read management table, determine whether the system bus can be issued or issuance pending, and set / reset the issue pending flag. Request issuance determination unit having the request queue request A request queue control unit including a function of determining a request to be issued by the system bus and controlling the request queue by referring to the order of registration of a request and the state of the issuable flag; The unit refers to the issuable flag in the order of registration of the request queue, and issues issuable requests in the order of registration of the request queue, so that the read request registered earlier in the request queue is 3. The read control device according to claim 2, further comprising a request overtaking control unit that issues a subsequent issuable request first even if it cannot be issued to the bus.
【請求項5】 前記システム・バスに複数のI/O制御
バス・インタフェースが接続されており、前記各I/O
バス・インタフェースへのリクエスト先がリクエスト・
アドレスによって区別される場合において、 前記CPU制御バス・インタフェースは、前記I/Oリ
ード用管理テーブルを、前記システム・バスに接続可能
なI/O制御バス・インタフェースの最大数分だけ有
し、前記プロセッサが発行するI/Oに対するリクエス
ト・アドレスから、複数のI/O制御バス・インタフェ
ースのうちどのI/O制御バス・インタフェースに対す
るリクエストであるかを判断するリクエスト発行判断部
をさらに有し、 前記複数のI/Oリード用管理テーブルのうち、一つあ
るいはいくつかのテーブルがフル・エントリされ、I/
Oリードが前記システム・バスヘ発行できない場合は、
I/Oリクエストの追い越しを可能とすることにより、
レスポンス速度の遅いI/Oによって他のI/Oへのリ
ード・リクエスト発行が阻害されることのないようにし
たことを特徴とする請求項4記載のリード制御装置。
5. A system bus, wherein a plurality of I / O control bus interfaces are connected to each of said I / O control bus interfaces.
The request destination to the bus interface is
In the case where the CPU control bus interface is distinguished by an address, the CPU control bus interface has the I / O read management table for the maximum number of I / O control bus interfaces that can be connected to the system bus. A request issuance determination unit that determines which I / O control bus interface of the plurality of I / O control bus interfaces is a request from a request address for I / O issued by the processor, One or several of the plurality of I / O read management tables are full-entry, and
If the O-lead cannot be issued to the system bus,
By enabling overtaking of I / O requests,
5. The read control device according to claim 4, wherein issuance of a read request to another I / O is not hindered by an I / O having a slow response speed.
【請求項6】 前記システム・バスに複数のメモリ制御
バス・インタフェースが接続されており、前記各メモリ
・バス・インタフェースへのリクエスト先がリクエスト
・アドレスによって区別される場合において、 前記CPU制御バス・インタフェースは前記メモリ・リ
ード用管理テーブルを、前記システム・バスに接続可能
なメモリ制御バス・インタフェースの最大数分だけを有
し、前記プロセッサが発行するメモリに対するリクエス
ト・アドレスから、複数のメモリ制御バス・インタフェ
ースのうちどのメモリ制御バス・インタフェースに対す
るリクエストであるかを判断するリクエスト発行判断部
を更に有し、 前記複数のメモリ・リード用管理テーブルのうち、一つ
あるいはいくつかのテーブルがフル・エントリされる、
またはコヒーレンシ維持のためなどでメモリ・リードが
前記システム・バスヘ発行できない場合は、メモリ・リ
クエストの追い越しを可能とすることにより、メモリ・
リード・リクエスト発行が阻害されることのないように
したことを特徴とする請求項4記載のリード制御装置。
6. When a plurality of memory control bus interfaces are connected to the system bus and a request destination to each of the memory bus interfaces is identified by a request address, the CPU control bus The interface has the memory read management table only for the maximum number of memory control bus interfaces that can be connected to the system bus, and stores a plurality of memory control buses from a request address for a memory issued by the processor. A request issue determination unit that determines which memory control bus interface is the request among the interfaces, wherein one or some of the plurality of memory read management tables are full entries Done,
Alternatively, when a memory read cannot be issued to the system bus, for example, to maintain coherency, the memory request can be overtaken to enable
5. The read control device according to claim 4, wherein issuance of the read request is prevented.
JP26404197A 1997-09-29 1997-09-29 Lead control device Expired - Fee Related JP3274634B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26404197A JP3274634B2 (en) 1997-09-29 1997-09-29 Lead control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26404197A JP3274634B2 (en) 1997-09-29 1997-09-29 Lead control device

Publications (2)

Publication Number Publication Date
JPH11110343A JPH11110343A (en) 1999-04-23
JP3274634B2 true JP3274634B2 (en) 2002-04-15

Family

ID=17397737

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26404197A Expired - Fee Related JP3274634B2 (en) 1997-09-29 1997-09-29 Lead control device

Country Status (1)

Country Link
JP (1) JP3274634B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007096980A1 (en) 2006-02-24 2007-08-30 Fujitsu Limited Record control device and record control method
JP4469911B2 (en) * 2006-02-27 2010-06-02 富士通株式会社 Request generating apparatus, request processing system, and control method
JP4862593B2 (en) * 2006-10-04 2012-01-25 富士ゼロックス株式会社 Data transfer apparatus and image forming apparatus

Also Published As

Publication number Publication date
JPH11110343A (en) 1999-04-23

Similar Documents

Publication Publication Date Title
CN108027804B (en) On-chip atomic transaction engine
US6279064B1 (en) System and method for loading commands to a bus, directly loading selective commands while queuing and strictly ordering other commands
US6128711A (en) Performance optimization and system bus duty cycle reduction by I/O bridge partial cache line writes
US7657712B2 (en) Microprocessor architecture capable of supporting multiple heterogeneous processors
US5953538A (en) Method and apparatus providing DMA transfers between devices coupled to different host bus bridges
US7890708B2 (en) Prioritization of out-of-order data transfers on shared data bus
JP3699833B2 (en) Priority encoding and decoding for memory architecture
US9405696B2 (en) Cache and method for cache bypass functionality
CN102414671B (en) Hierarchical memory arbitration technique for disparate sources
US6275885B1 (en) System and method for maintaining ownership of a processor bus while sending a programmed number of snoop cycles to the processor cache
US5572703A (en) Method and apparatus for snoop stretching using signals that convey snoop results
US6021456A (en) Method for communicating interrupt data structure in a multi-processor computer system
US6519666B1 (en) Arbitration scheme for optimal performance
JPH1031625A (en) Write back buffer for improved copy back performance in multiprocessor system
US5822765A (en) System and method for resolving contention arising from execution of cache coherency operations in a multiple cache computer system
JP2010501951A (en) Management module, producer and consumer processor, configuration thereof, interprocessor communication method via shared memory
JPH0997184A (en) Information-processing system inclusive of efficient interrupt handling
US6209052B1 (en) System and method for suppressing processor cycles to memory until after a peripheral device write cycle is acknowledged by the memory arbiter
JP3274634B2 (en) Lead control device
US20010037426A1 (en) Interrupt handling via a proxy processor
US6502150B1 (en) Method and apparatus for resource sharing in a multi-processor system
JP2002024007A (en) Processor system
JP3237569B2 (en) Memory access control device
JPH0423062A (en) Method and device for arbitration of digital data processor

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20020108

LAPS Cancellation because of no payment of annual fees