JP4368320B2 - 情報処理システム,パイプライン処理装置,ビジー判定プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 - Google Patents
情報処理システム,パイプライン処理装置,ビジー判定プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 Download PDFInfo
- Publication number
- JP4368320B2 JP4368320B2 JP2005075091A JP2005075091A JP4368320B2 JP 4368320 B2 JP4368320 B2 JP 4368320B2 JP 2005075091 A JP2005075091 A JP 2005075091A JP 2005075091 A JP2005075091 A JP 2005075091A JP 4368320 B2 JP4368320 B2 JP 4368320B2
- Authority
- JP
- Japan
- Prior art keywords
- request
- unit
- busy
- valid
- determination
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3824—Operand accessing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
このようなパイプライン処理装置がそなえられた従来の情報処理システムを図9に示す。この図9に示すように、情報処理システム100では、複数(ここでは8つ)のパイプライン処理装置110−0〜110−7(図中SB(System Board)0〜SB7と表記)がそなえられ、これら複数のパイプライン処理装置110−0〜110−7(以下、これら複数のパイプライン処理装置110−0〜110−7を特に区別しない場合には単に符号“110”を用いて説明する。)が互いに同期しながらパイプライン処理を実行するとともに、複数のパイプライン処理装置110−0〜110−7のそれぞれが、データバス(FSB:Front Side Bus)111−0〜111−7(以下、これらデータバス111−0〜111−7を特に区別しない場合には単に符号“111”を用いて説明する。)を介してリクエストを実行する2つの演算部(図中CPU(Central Processing Unit)と表記)A−0〜A−7,B−0〜B−7(以下、演算部A−0〜A−7,B−0〜B−7を特に区別しない場合には単に符号“A,B”を用いて説明する。)に接続されている。
また、図9において、パイプライン処理装置110−2,110−3,110−4,110−5,110−6、並びにデータバス111−2,111−3,111−4,111−5,111−6、及び演算部A−2,B−2,A−3,B−3,A−4,B−4,A−5,B−5,A−6,B−6は、図の簡略化のため省略している。
この情報処理システム100では、制御装置120の選択部121が、制御装置120に対するリクエストREQ0〜REQnを各リクエストREQ0〜REQnの優先度を判断して選択し、選択されたリクエストをGSA(Global System Address)−SB0〜GSA−SB7にて対応するパイプライン処理装置110−0〜110−7に同時に通知する。
さらに、LCST生成論理114は、後述するリクエストキュー(図中SLVQ_FSBと表記;Slave Request Queue)117が当該リクエストを格納しうるか否か(つまり、リクエストキュー117がビジー状態であるか否か)を判定する。
次いで、LCST生成論理114がさらに、自身のTAG情報(つまり、記憶部113の上記検索の結果、キャッシュヒットしたか否かの情報)や、当該リクエストが担当可能な有効リクエストであるか否かの動作確定情報などを、LCST−SB0〜LCST−SB7にて制御装置120に送信する。
つまり、複数のパイプライン処理装置110のうちの動作許可を得た(つまり、当該リクエストを担当させると確定された)パイプライン処理装置110が、当該リクエストをリクエストキュー117に格納する。
なお、各パイプライン処理装置110のパイプラインレジスタ112は、制御装置120からリクエストを受け取ってから自身の動作を確定するまでの間(つまり、記憶部113に保持されたTAG情報を検索する間)のタイムラグを吸収するために、当該リクエストをかかるシステムクロックに基づいて上流側から下流側に順に移行させながら保持している。
つまり、各パイプライン処理装置110は、リクエストがパイプラインレジスタ112の中途に保持されている段階で、当該リクエストが、自身が担当しうる有効リクエストであるか否か(すなわち、当該リクエストを自身の配下にある演算部A,Bにて実行可能であるか否か)の動作を確定しなければならない。
ここで、図10を参照しながら、LCST生成論理114によるリクエストキュー117の具体的なビジー状態判定方法について説明する。
つまり、LCST生成論理114は、リクエストキュー117の有効エントリ数x段と、条件生成部115からリクエストキュー117までのレジスタ112aの段数nとの和が、リクエストキュー117のすべてのエントリ数m段と等しければ、リクエストキュー117がビジー状態であると判定する。
そこで、条件生成部115が動作確定を行なう度に、n段のレジスタ112aすべてについて有効エントリが保持されているか否かを判別することが考えられるが、この方法は、各レジスタ112aに有効/無効のいずれのリクエストが保持されているかを判別するための回路等が必要になるため、ハード資源が増大してしまうとともに、製造コストが嵩んでしまう。
また、前記複数のパイプライン処理装置のそれぞれが、前記リクエストキューの有効エントリ数をカウントする第2カウンタと、前記第1カウンタによってカウントされた前記有効リクエスト数と、前記第2カウンタによってカウントされた前記有効エントリ数との和を算出する算出部とをそなえ、前記ビジー判定部が、前記算出部によって算出される前記和と、前記リクエストキューがそなえるすべてのエントリ数とを比較して、前記和が前記すべてのエントリ数と等しい場合に、前記リクエストキューがビジー状態であると判定することが好ましい(請求項3)。
さらに、前記保持判定部が、前記データ情報に基づいて前記リクエストに使用される前記データが最新のデータであるか否かを判定するように構成され、前記保持判定部が当該リクエストに使用される前記データが最新のデータであると判定した場合には、前記判定結果通知部が、当該リクエストに使用される最新のデータを保持していることを示す情報を、前記保持判定部による保持判定結果として前記制御装置に通知することが好ましい(請求項9)。
さらに、前記リクエストキューの有効エントリ数をカウントする第2カウンタと、前記第1カウンタによってカウントされた前記有効リクエスト数と、前記第2カウンタによってカウントされた前記有効エントリ数との和を算出する算出部とをそなえ、前記ビジー判定部が、前記算出部によって算出される前記和と、前記リクエストキューがそなえるすべてのエントリ数とを比較して、前記和が前記すべてのエントリ数と等しい場合に、前記リクエストキューがビジー状態であると判定することが好ましい(請求項12)。
〔1〕本発明の一実施形態について
まず、図1に示すブロック図を参照しながら、本発明の一実施形態としての情報処理システム1の構成について説明する。
図1に示すように、本情報処理システム1は、複数(ここでは8つ)のパイプライン処理装置(図中SB(System Board)と表記)10−0〜10−7,データバス(FSB:Front Side Bus)11−0〜11−7,演算部(図中CPU(Central Processing Unit)と表記)A−0〜A−7,B−0〜B−7,及び制御装置(図中XB(Crossbar Board)と表記)30をそなえて構成されている。
例えば、パイプライン処理装置10−0はデータバス11−0を介して演算部A−0,B−0に接続され、パイプライン処理装置10−1はデータバス11−1を介して演算部A−1,B−1に接続され、パイプライン処理装置10−7はデータバス11−7を介して演算部A−7,B−7に接続されている。
ここで、複数のパイプライン処理装置10のそれぞれは、互いに同期しながら後述するパイプライン処理を実行するように構成され、制御装置30は、これら複数のパイプライン処理装置10に対してリクエストを通知するとともに、当該リクエストに対する採取的な動作を決定するものである。
また、パイプラインレジスタ12は、本情報処理システム1内のシステムクロック(同期信号;パルス信号)に基づいて、リクエストを複数段のレジスタ12aの上流側から下流側に順に移行させながら保持する。つまり、パイプラインレジスタ12はシフトレジスタとして機能する。
なお、各パイプライン処理装置10は、かかるシステムクロックに基づいて他の処理(後述するLCST生成論理20,パイプラインビジーカウンタ25,加算器27,及びGCST判定論理28における処理)も互いに同期しながら実行するように構成されている。
なお、リクエストキュー13に保持された有効エントリとしてのリクエストは、自身に接続された演算部A,Bからの要求に応じてFSB11を介してかかる演算部A,Bに渡され、かかる演算部A,Bにおいて実行される。
具体的には、保持判定部21は、図2に示すごとく、以下(1)〜(6)の状態を判定する。
(2)接続された配下の演算部A,BのDIMMにヒットした[DIMM Hit]。
(3)接続された配下の演算部A,Bのうちのいずれか一方の演算部にて共有型でヒットした[Shared Single Hit]。
(5)接続された配下の演算部A,Bのいずれかの演算部に排他型でヒットした[Exclusive Hit]。
(6)接続された配下の演算部A,Bのいずれかの演算部に変更型(最新の状態)でヒットした[Modify]。
具体的には、ビジー判定部22は、図3に示すごとく、以下(a)〜(c)の状態を判定する。
(b)アドレスマッチ等のリトライ要因が検出された[Retry]。
(c)リクエストキュー13のビジー状態が検出された[Busy]。
なお、ビジー判定部22によるビジー状態であるか否かの判定方法は、図4を参照しながら後述する。
つまり、条件生成部23は、リクエストがパイプラインレジスタ12の中途に保持されている段階で、当該リクエストが、自身が担当しうる有効リクエストであるか否か(すなわち、当該リクエストを自身の配下にある演算部A,Bにて実行可能であるか否か)のリクエストに対する動作を判定して、後述するパイプラインビジーカウンタ25を“1”カウントアップ(インクリメント)するか否かを判断する。
(y)ビジー判定部22によってリクエストキュー13がビジー状態であると判定された場合[上記(c)と判定された場合]。
(z)アドレスマッチ等のリトライ要因が検出された場合[上記(b)と判定された場合]。
具体的には、判定結果通知部24は、図2に示す保持判定部21による判定結果及び図3に示すビジー判定部22による判定結果を、制御装置30に対して通知する。
パイプラインビジーカウンタ25は、上述したようにLCST生成論理20からリクエストキュー13までの間のレジスタ12aにおける、有効リクエスト数をカウントするものである。
一方、パイプラインビジーカウンタ25は、パイプラインレジスタ12の最終段のレジスタ12aを有効リクエストが通過すると、有効リクエスト数(カウント数)を1つカウントダウン(デクリメント)する。
有効エントリ数計数論理26は、リクエストキュー13における、有効なリクエストが存在しているエントリ(有効エントリ)数を計数(カウント)するものであり、図4に示すごとく、リクエストキュー13に有効リクエストがセットされた場合、つまり、リクエストキュー13に有効リクエストが有効エントリとして新たにエントリされた際に、有効エントリ数(カウント数)を1つカウントアップする。
加算器27は、パイプラインビジーカウンタ25によってカウントされた有効リクエスト数と、有効エントリ数計数論理によってカウントされた有効エントリ数とを加算することにより、これら有効リクエスト数と有効エントリ数との和を算出するものである。
なお、ビジー判定部22は、有効リクエスト数(y)と有効エントリ数(x)との和が、リクエストキュー13がそなえるすべてのエントリ数(m)よりも小さければ、リクエストキュー13がビジー状態ではないと判定する。
また、図1に示すように、GCST判定論理28は、制御装置30(具体的には後述するGCST生成論理33)から、自身がリクエストを担当するという決定結果を通知された場合、当該リクエストをリクエストキュー13に有効エントリとしてエントリする一方、制御装置30から、自身がリクエストを担当するものでないという決定結果もしくは当該リクエストの再投入(リトライ)を通知された場合、当該リクエストをリクエストキュー13に有効エントリとしてエントリすることなく、当該リクエストを無効化するものである。
そして、各パイプライン処理装置10のパイプラインレジスタ12における、最上流からLCST生成論理20までの間のレジスタ12aは、各パイプライン処理装置10内の保持判定部21及びビジー判定部22による処理(判定)時間を吸収して、他のパイプライン処理装置10に対して条件生成部23及び判定結果通知部24による処理の同期をとるためのものである。
また、LCST生成論理20からリクエストキュー13までの間のレジスタ12aは、判定結果通知部24による判定結果の通知後、制御装置30で実行される処理時間(後述するLCST集約論理33及びGCST生成論理34による処理時間)と、GCST判定論理28による処理時間を吸収するためのものである。
次に、図1を参照しながら、本情報処理システム1の制御装置30について説明すると、制御装置30は、リクエスト通知部31,パイプラインレジスタ32,LCST集約論理33,及びGCST生成論理34をそなえて構成されている。
LCST集約論理33は、パイプラインレジスタ32に介装され、各パイプライン処理装置10の判定結果通知部24からLCST−SB0〜LCST−SB7にて通知された、保持判定部21による判定結果(図2に示す“CST”)及びビジー判定部22による判定結果(図3に示す“ABTST”)を集約するものである。
ここで、決定部35によるリクエストに対する最終的な動作確定方法について、図5〜図8に示す例を参照しながら説明する。なお、図5〜図8は説明の簡略化及び図の簡略化のために、パイプライン処理装置10−3〜10−7を省略し、さらに、制御装置30にはLCST集約論理33のみを示し、パイプライン処理装置10−0〜10−2にはデータ情報保持部14及びLCST生成論理20のみを示している。また、図5〜図8に示す例は、制御装置30から各パイプライン処理装置10にメモリリードのリクエスト(以下、リード要求という)が発行(通知)された場合を示している。
そして、GCST生成論理34の決定部35は、LCST集約論理33によって集約された判定結果に基づいて、当該リード要求に対する最終的な動作を決定する。
ここでは、各パイプライン処理装置10−0〜10−2のいずれからもリクエストキュー13のビジーが検出されておらず、パイプライン処理装置10−0のみがDIMMヒットを検出しているため、決定部35は、当該リード要求を、パイプライン処理装置10−0に担当させるという決定を行なう。つまり、決定結果通知部36が、パイプライン処理装置10−0のリクエストキュー13に対して、接続された演算部AもしくはBのDIMMにリードアクセスを実行させるSLAVE_REQ(REQUEST)を発行する。
なお、この決定部35による決定結果を受けると、パイプライン処理装置10−0,10−2ではパイプラインレジスタ12に保持された当該リード要求を無効化され、パイプライン処理装置10−1では当該リード要求がリクエストキュー13に有効エントリとして登録される。
次に、図8に示す例について説明する。図8に示す例は、パイプライン処理装置10−0,10−2のLCST生成論理20のビジー判定部22が、リクエストキュー13のビジー状態を検出せず(ABTST:“00”)、パイプライン処理装置10−1のビジー判定部22がリクエストキュー13のビジー状態を検出した(ABTST:“10”)場合であって、パイプライン処理装置10−0の保持判定部21が当該リード要求のデータに対してDIMMヒットを検出し(CST:“0001”)、パイプライン処理装置10−1の保持判定部21が当該リード要求のデータに対してModifyヒットを検出し(CST:“0101”)、パイプライン処理装置10−2の保持判定部21が当該リード要求のデータを検出しなかった(CST:“0000”)場合である。
このように、決定部35は、LCST集約論理33によって集約された判定結果の優先度(図2,図3参照)に基づいて、リクエストに対する最終的な動作を決定する。このとき、各パイプライン処理装置10の保持判定部21からの判定結果に関わらず、少なくとも一のパイプライン処理装置10のビジー判定部22による判定結果が“Retry”もしくは“Busy”であれば、決定部35は、当該リクエストをいずれのパイプライン処理装置10にも担当させることなく、当該リクエストをリトライさせるべく、当該リクエストをリクエスト通知部31に再度投入させる。
なお、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上述した実施形態では、制御装置30には各パイプライン処理装置10が接続されている例をあげて説明したが、本発明はこれに限定されるものではなく、制御装置30にIOU(I/O装置ユニット;Input/Output Unit)が接続され、このIOUに対してもリクエストを実行させるべく、リクエストを通知するように構成され、さらに、LCST集約論理にてIOUからの判定結果(LCST)を集約して、GCST生成論理にてIOU及び各パイプライン処理装置10を含めた当該リクエストの最終的な動作を確定し、これらIOU及び各パイプライン処理装置10に通知するように構成されていてもよい。なお、この場合には、上記図1に示すごとく、各パイプライン処理装置10からの判定結果の集約と、IOUからの判定結果の集約との同期をとるためのレジスタ32aがそなえられることが好ましい。
10,10−0〜10−7,110,110−0〜110−7 パイプライン処理装置
11,11−0〜11−7,111,111−0〜111−7 データバス
12,32,112,124 パイプラインレジスタ
12a,32a,112a,124a レジスタ
13,117 リクエストキュー
14,113 データ情報保持部
20,114 LCST(Local Cache Status)生成論理
21 保持判定部
22 ビジー判定部
23,115 条件生成部(判定部)
24 判定結果通知部
25 パイプラインビジーカウンタ(第1カウンタ)
26 有効エントリ数計数論理(第2カウンタ)
27 加算器(算出部)
28,116 GCST(Global Cache Status)判定論理(確定部)
30,120 制御装置
31 リクエスト通知部
33,122 LCST(Local Cache Status)集約論理
34,123 GCST(Global Cache Status)生成論理
35 決定部
36 決定結果通知部
112 選択部
A−0〜A−7,B−0〜B−7 演算部
Claims (20)
- リクエストを実行する演算部に接続され、互いに同期しながらパイプライン処理を実行する複数のパイプライン処理装置と、
リクエストを前記複数のパイプライン処理装置に対して通知するとともに、当該リクエストに対する最終的な動作を決定する制御装置とからなる情報処理システムであって、
前記複数のパイプライン処理装置のそれぞれが、
前記制御装置によって通知されるリクエストを保持しうる複数段のレジスタからなり、前記リクエストを上流側から下流側に順に移行させながら保持するパイプラインレジスタと、
該パイプラインレジスタの後段にそなえられるリクエストキューと、
前記パイプラインレジスタに介装され、前記リクエストが、前記リクエストキューに保持されうる有効リクエストであるか否かの判定を行なう判定部と、
該判定部から前記リクエストキューまでの間の前記レジスタにおける、前記有効リクエストの数をカウントする第1カウンタと、
該第1カウンタによってカウントされる前記有効リクエスト数に基づいて、前記リクエストキューがビジー状態であるか否かを判定するビジー判定部と、
該ビジー判定部によるビジー状態判定結果を前記制御装置に通知する判定結果通知部とをそなえ、
前記判定部が、前記ビジー判定部によるビジー状態判定結果に基づいて前記判定を行なうように構成されるとともに、
前記制御装置が、
リクエストを前記複数のパイプライン処理装置に対して同時に通知するリクエスト通知部と、
前記複数のパイプライン処理装置の前記判定結果通知部から通知される前記ビジー状態判定結果に基づいて、当該リクエストに対する最終的な動作を決定する決定部と、
該決定部による決定結果を、前記複数のパイプライン処理装置に対して同時に通知する決定結果通知部とをそなえて構成されていることを特徴とする、情報処理システム。 - 前記ビジー判定部によって前記リクエストキューがビジー状態であると判定された場合、前記判定部は、前記リクエストを前記有効リクエストと判定しないことを特徴とする、請求項1記載の情報処理システム。
- 前記複数のパイプライン処理装置のそれぞれが、
前記リクエストキューの有効エントリ数をカウントする第2カウンタと、
前記第1カウンタによってカウントされた前記有効リクエスト数と、前記第2カウンタによってカウントされた前記有効エントリ数との和を算出する算出部とをそなえ、
前記ビジー判定部が、前記算出部によって算出される前記和と、前記リクエストキューがそなえるすべてのエントリ数とを比較して、前記和が前記すべてのエントリ数と等しい場合に、前記リクエストキューがビジー状態であると判定することを特徴とする、請求項1または請求項2記載の情報処理システム。 - 前記第2カウンタは、前記リクエストキューに前記有効リクエストが前記有効エントリとして新たにエントリされた際に、前記有効エントリ数を1つカウントアップする一方、前記リクエストキューに保持されていた前記有効エントリに関するリクエスト処理が完了されると、前記有効エントリ数を1つカウントダウンすることを特徴とする、請求項3記載の情報処理システム。
- 前記第1カウンタは、前記判定部が前記リクエストを前記有効リクエストであると判定すると、前記有効リクエスト数を1つカウントアップする一方、前記有効リクエストが前記パイプラインレジスタの最終段のレジスタを通過すると、前記有効リクエスト数を1つカウントダウンすることを特徴とする、請求項1〜請求項4のいずれか1項に記載の情報処理システム。
- 前記複数のパイプライン処理装置のそれぞれが、
前記制御装置の前記決定結果通知部から通知された前記決定結果が、前記リクエストを自身が担当するものである場合、当該リクエストを前記リクエストキューに前記有効エントリとしてエントリする一方、前記決定結果が、前記リクエストを自身が担当するものでない場合、当該リクエストを無効化する確定部をそなえて構成されていることを特徴とする、請求項1〜請求項5のいずれか1項に記載の情報処理システム。 - 前記複数のパイプライン処理装置のそれぞれが、
自身に接続された前記演算部の記憶部に保持されたデータに関するデータ情報を保持するデータ情報保持部と、
前記制御装置から通知された前記リクエストに使用されるデータを、自身に接続された前記演算部が保持しているか否かを、前記データ情報保持部に保持された前記データ情報に基づいて判定する保持判定部とをそなえ、
前記判定結果通知部が、前記保持判定部による保持判定結果を前記制御装置に通知するとともに、
前記判定部が、前記保持判定部による保持判定結果に基づいて、前記判定を行なうことを特徴とする、請求項1〜請求項6のいずれか1項に記載の情報処理システム。 - 前記制御装置の前記決定部が、前記複数のパイプライン処理装置の前記判定結果通知部から通知される前記保持判定部による保持判定結果に基づいて、前記リクエストに対する最終的な動作を決定することを特徴とする、請求項7記載の情報処理システム。
- 前記保持判定部が、前記データ情報に基づいて前記リクエストに使用される前記データが最新のデータであるか否かを判定するように構成され、
前記保持判定部が当該リクエストに使用される前記データが最新のデータであると判定した場合には、前記判定結果通知部が、当該リクエストに使用される最新のデータを保持していることを示す情報を、前記保持判定部による保持判定結果として前記制御装置に通知することを特徴とする、請求項7又は請求項8記載の情報処理システム。 - リクエストを実行する演算部と、リクエストを通知するとともに当該リクエストに対する最終的な動作を決定する制御装置とに接続され、他のパイプライン処理装置と互いに同期しながらパイプライン処理を実行するパイプライン処理装置であって、
前記制御装置によって通知されるリクエストを保持しうる複数段のレジスタからなり、前記リクエストを上流側から下流側に順に移行させながら保持するパイプラインレジスタと、
該パイプラインレジスタの後段にそなえられるリクエストキューと、
前記パイプラインレジスタに介装され、前記リクエストが、前記リクエストキューに保持されうる有効リクエストであるか否かの判定を行なう判定部と、
該判定部から前記リクエストキューまでの間の前記レジスタにおける、前記有効リクエストの数をカウントする第1カウンタと、
該第1カウンタによってカウントされる前記有効リクエスト数に基づいて、前記リクエストキューがビジー状態であるか否かを判定するビジー判定部と、
該ビジー判定部によるビジー状態判定結果を前記制御装置に通知する判定結果通知部とをそなえ、
前記判定部が、前記ビジー判定部によるビジー状態判定結果に基づいて前記判定を行なうことを特徴とする、パイプライン処理装置。 - 前記ビジー判定部によって前記リクエストキューがビジー状態であると判定された場合、前記判定部は、前記リクエストを前記有効リクエストと判定しないことを特徴とする、請求項10記載のパイプライン処理装置。
- 前記リクエストキューの有効エントリ数をカウントする第2カウンタと、
前記第1カウンタによってカウントされた前記有効リクエスト数と、前記第2カウンタによってカウントされた前記有効エントリ数との和を算出する算出部とをそなえ、
前記ビジー判定部が、前記算出部によって算出される前記和と、前記リクエストキューがそなえるすべてのエントリ数とを比較して、前記和が前記すべてのエントリ数と等しい場合に、前記リクエストキューがビジー状態であると判定することを特徴とする、請求項10または請求項11記載のパイプライン処理装置。 - 前記第2カウンタは、前記リクエストキューに前記有効リクエストが前記有効エントリとして新たにエントリされた際に、前記有効エントリ数を1つカウントアップする一方、前記リクエストキューに保持されていた前記有効エントリに関するリクエスト処理が完了されると、前記有効エントリ数を1つカウントダウンすることを特徴とする、請求項12記載のパイプライン処理装置。
- 前記第1カウンタは、前記判定部が前記リクエストを前記有効リクエストであると判定すると、前記有効リクエスト数を1つカウントアップする一方、前記有効リクエストが前記パイプラインレジスタの最終段のレジスタを通過すると、前記有効リクエスト数を1つカウントダウンすることを特徴とする、請求項10〜請求項13のいずれか1項に記載のパイプライン処理装置。
- 前記制御装置から通知された、前記リクエストに対する最終的な決定結果が、当該リクエストを自身が担当するものである場合、当該リクエストを前記リクエストキューに前記有効エントリとしてエントリする一方、当該リクエストを自身が担当するものでない場合、当該リクエストを無効化する確定部をそなえて構成されていることを特徴とする、請求項10〜請求項14のいずれか1項に記載のパイプライン処理装置。
- 自身に接続された前記演算部の記憶部に保持されたデータに関するデータ情報を保持するデータ情報保持部と、
前記制御装置から通知された前記リクエストに使用されるデータを、自身に接続された前記演算部が保持しているか否かを、前記データ情報保持部に保持された前記データ情報に基づいて判定する保持判定部とをそなえ、
前記判定結果通知部が、前記保持判定部による保持判定結果を前記制御装置に通知するとともに、
前記判定部が、前記保持判定部による保持判定結果に基づいて、前記判定を行なうことを特徴とする、請求項10〜請求項15のいずれか1項に記載のパイプライン処理装置。 - 前記保持判定部が、前記データ情報に基づいて前記リクエストに使用される前記データが最新のデータであるか否かを判定するように構成され、
前記保持判定部が当該リクエストに使用される前記データが最新のデータであると判定した場合には、前記判定結果通知部が、当該リクエストに使用される最新のデータを保持していることを示す情報を、前記保持判定部による保持判定結果として前記制御装置に通知することを特徴とする、請求項16記載のパイプライン処理装置。 - リクエストを実行する演算部と、リクエストを通知するとともに当該リクエストに対する最終的な動作を決定する制御装置とに接続され、前記制御装置によって通知されるリクエストを保持しうる複数段のレジスタからなり、前記リクエストを上流側から下流側に順に移行させながら保持するパイプラインレジスタと、該パイプラインレジスタの後段にそなえられるリクエストキューとをそなえ、互いに同期しながらパイプライン処理を実行する複数のパイプライン処理装置のそれぞれにおいて、前記リクエストが前記パイプラインレジスタの中途に保持されている段階で、当該リクエストに対する前記リクエストキューのビジー状態を判定する機能をコンピュータに実現させるためのビジー判定プログラムであって、
前記リクエストが、前記パイプラインレジスタの中途に保持されている段階で、当該リクエストが前記リクエストキューに保持されうる有効リクエストであるか否かの判定を行なう判定部、
該判定部から前記リクエストキューまでの間の前記レジスタにおける、前記有効リクエストの数をカウントする第1カウンタ、及び、
該第1カウンタによってカウントされる前記有効リクエスト数に基づいて、前記リクエストキューがビジー状態であるか否かを判定するビジー判定部として、前記コンピュータを機能させるとともに、
前記判定部が、前記ビジー判定部によるビジー状態判定結果に基づいて前記判定を行なうように、前記コンピュータを機能させることを特徴とする、ビジー判定プログラム。 - 前記リクエストキューの有効エントリ数をカウントする第2カウンタ、及び、
前記第1カウンタによってカウントされた前記有効リクエスト数と、前記第2カウンタによってカウントされた前記有効エントリ数との和を算出する算出部として、前記コンピュータを機能させるとともに、
前記ビジー判定部が、前記算出部によって算出される前記和と、前記リクエストキューがそなえるすべてのエントリ数とを比較して、前記和が前記すべてのエントリ数と等しい場合に、前記リクエストキューがビジー状態であると判定するように、前記コンピュータを機能させることを特徴とする、請求項18記載のビジー判定プログラム。 - リクエストを実行する演算部と、リクエストを通知するとともに当該リクエストに対する最終的な動作を決定する制御装置とに接続され、前記制御装置によって通知されるリクエストを保持しうる複数段のレジスタからなり、前記リクエストを上流側から下流側に順に移行させながら保持するパイプラインレジスタと、該パイプラインレジスタの後段にそなえられるリクエストキューとをそなえ、互いに同期しながらパイプライン処理を実行する複数のパイプライン処理装置のそれぞれにおいて、前記リクエストが前記パイプラインレジスタの中途に保持されている段階で、当該リクエストに対する前記リクエストキューのビジー状態を判定する機能をコンピュータに実現させるためのビジー判定プログラムを記録したコンピュータ読取可能な記録媒体であって、
前記ビジー判定プログラムが、
前記リクエストが、前記パイプラインレジスタの中途に保持されている段階で、当該リクエストが前記リクエストキューに保持されうる有効リクエストであるか否かの判定を行なう判定部、
該判定部から前記リクエストキューまでの間の前記レジスタにおける、前記有効リクエストの数をカウントする第1カウンタ、及び、
該第1カウンタによってカウントされる前記有効リクエスト数に基づいて、前記リクエストキューがビジー状態であるか否かを判定するビジー判定部として、前記コンピュータを機能させるとともに、
前記判定部が、前記ビジー判定部によるビジー状態判定結果に基づいて前記判定を行なうように、前記コンピュータを機能させることを特徴とする、ビジー判定プログラムを記録したコンピュータ読取可能な記録媒体。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005075091A JP4368320B2 (ja) | 2005-03-16 | 2005-03-16 | 情報処理システム,パイプライン処理装置,ビジー判定プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 |
US11/157,809 US7490219B2 (en) | 2005-03-16 | 2005-06-22 | Counter counts valid requests based on a judgment in a system having a plurality of pipeline processors |
EP05013582A EP1703376A3 (en) | 2005-03-16 | 2005-06-23 | Pipeline processor with queue busy judgement; program and recording medium for the same |
KR1020050066133A KR100660458B1 (ko) | 2005-03-16 | 2005-07-21 | 정보 처리 시스템, 파이프라인 처리 장치, 및 비지 판정프로그램을 기록한 컴퓨터로 판독가능한 기록 매체 |
CNB2005100870354A CN100414495C (zh) | 2005-03-16 | 2005-07-25 | 信息处理系统、管线处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005075091A JP4368320B2 (ja) | 2005-03-16 | 2005-03-16 | 情報処理システム,パイプライン処理装置,ビジー判定プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006260013A JP2006260013A (ja) | 2006-09-28 |
JP4368320B2 true JP4368320B2 (ja) | 2009-11-18 |
Family
ID=36577486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005075091A Expired - Fee Related JP4368320B2 (ja) | 2005-03-16 | 2005-03-16 | 情報処理システム,パイプライン処理装置,ビジー判定プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7490219B2 (ja) |
EP (1) | EP1703376A3 (ja) |
JP (1) | JP4368320B2 (ja) |
KR (1) | KR100660458B1 (ja) |
CN (1) | CN100414495C (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217305B (zh) * | 2008-01-02 | 2011-05-04 | 华为技术有限公司 | 专用物理数据信道数据的处理方法和装置 |
US8843651B2 (en) * | 2009-06-30 | 2014-09-23 | Oracle America, Inc. | Software aware throttle based flow control |
US20160006526A1 (en) * | 2014-07-03 | 2016-01-07 | Qualcomm Incorporated | Systems and methods of network clock comparison |
CN104239130B (zh) * | 2014-08-15 | 2020-09-11 | 北京配天技术有限公司 | 人机交互界面对操作指令响应的控制方法及终端 |
JP6996099B2 (ja) * | 2017-03-24 | 2022-01-17 | 日本電気株式会社 | データ処理システム及びデータ処理方法 |
CN107770090B (zh) * | 2017-10-20 | 2020-05-01 | 深圳市楠菲微电子有限公司 | 用于控制流水线中寄存器的方法和装置 |
US10684797B2 (en) * | 2018-08-31 | 2020-06-16 | Micron Technology, Inc. | Command-in-pipeline counter for a memory device |
CN111104166B (zh) * | 2019-12-13 | 2022-09-06 | 北京新忆科技有限公司 | 寄存器的写入方法和写入装置 |
CN111241622A (zh) * | 2020-01-19 | 2020-06-05 | 杭州群核信息技术有限公司 | 一种自适应水暖电管线调整系统及方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4847755A (en) * | 1985-10-31 | 1989-07-11 | Mcc Development, Ltd. | Parallel processing method and apparatus for increasing processing throughout by parallel processing low level instructions having natural concurrencies |
JPS6410332A (en) | 1987-07-03 | 1989-01-13 | Hitachi Ltd | Pipeline control system |
JPH0527224Y2 (ja) | 1987-07-03 | 1993-07-12 | ||
JPH04367031A (ja) | 1991-06-14 | 1992-12-18 | Nec Eng Ltd | バッファ制御方式 |
US6006318A (en) * | 1995-08-16 | 1999-12-21 | Microunity Systems Engineering, Inc. | General purpose, dynamic partitioning, programmable media processor |
US5860018A (en) * | 1997-06-25 | 1999-01-12 | Sun Microsystems, Inc. | Method for tracking pipeline resources in a superscalar processor |
US6633916B2 (en) * | 1998-06-10 | 2003-10-14 | Hewlett-Packard Development Company, L.P. | Method and apparatus for virtual resource handling in a multi-processor computer system |
JPH11306020A (ja) | 1998-04-20 | 1999-11-05 | Fujitsu Ltd | 情報処理装置におけるブロックストア命令の実行制御方式 |
US6249855B1 (en) * | 1998-06-02 | 2001-06-19 | Compaq Computer Corporation | Arbiter system for central processing unit having dual dominoed encoders for four instruction issue per machine cycle |
US6938147B1 (en) * | 1999-05-11 | 2005-08-30 | Sun Microsystems, Inc. | Processor with multiple-thread, vertically-threaded pipeline |
US6505293B1 (en) * | 1999-07-07 | 2003-01-07 | Intel Corporation | Register renaming to optimize identical register values |
US6711670B1 (en) | 1999-10-14 | 2004-03-23 | Hewlett-Packard Development Company, L.P. | System and method for detecting data hazards within an instruction group of a compiled computer program |
US6490674B1 (en) | 2000-01-28 | 2002-12-03 | Hewlett-Packard Company | System and method for coalescing data utilized to detect data hazards |
US6865663B2 (en) * | 2000-02-24 | 2005-03-08 | Pts Corporation | Control processor dynamically loading shadow instruction register associated with memory entry of coprocessor in flexible coupling mode |
EP1330706A1 (en) * | 2000-10-23 | 2003-07-30 | The Trustees of Columbia University in the City of New York | Asynchronous pipeline with latch controllers |
US7337306B2 (en) * | 2000-12-29 | 2008-02-26 | Stmicroelectronics, Inc. | Executing conditional branch instructions in a data processor having a clustered architecture |
US6961821B2 (en) * | 2002-10-16 | 2005-11-01 | International Business Machines Corporation | Reconfigurable cache controller for nonuniform memory access computer systems |
US7272664B2 (en) * | 2002-12-05 | 2007-09-18 | International Business Machines Corporation | Cross partition sharing of state information |
-
2005
- 2005-03-16 JP JP2005075091A patent/JP4368320B2/ja not_active Expired - Fee Related
- 2005-06-22 US US11/157,809 patent/US7490219B2/en not_active Expired - Fee Related
- 2005-06-23 EP EP05013582A patent/EP1703376A3/en not_active Withdrawn
- 2005-07-21 KR KR1020050066133A patent/KR100660458B1/ko not_active IP Right Cessation
- 2005-07-25 CN CNB2005100870354A patent/CN100414495C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7490219B2 (en) | 2009-02-10 |
EP1703376A3 (en) | 2008-01-23 |
KR20060101157A (ko) | 2006-09-22 |
JP2006260013A (ja) | 2006-09-28 |
US20060212683A1 (en) | 2006-09-21 |
EP1703376A2 (en) | 2006-09-20 |
KR100660458B1 (ko) | 2006-12-22 |
CN100414495C (zh) | 2008-08-27 |
CN1834900A (zh) | 2006-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4368320B2 (ja) | 情報処理システム,パイプライン処理装置,ビジー判定プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 | |
US10956328B2 (en) | Selective downstream cache processing for data access | |
US7644221B1 (en) | System interface unit | |
US20060184837A1 (en) | Method, apparatus, and computer program product in a processor for balancing hardware trace collection among different hardware trace facilities | |
US20120204004A1 (en) | Processor with a Hybrid Instruction Queue | |
JP2006309757A (ja) | メモリーに送るコマンドの選択方法、メモリーコントローラー、コンピュータシステム | |
EP3047380B1 (en) | Pattern detector for detecting hangs | |
CN104471555A (zh) | 用于高速缓存系统的多级互联系统及多级互联方法 | |
US7415557B2 (en) | Methods and system for providing low latency and scalable interrupt collection | |
CN113791892B (zh) | 数据通路仲裁方法、数据通路仲裁装置及芯片 | |
US9697127B2 (en) | Semiconductor device for controlling prefetch operation | |
JP5625737B2 (ja) | 転送装置、転送方法および転送プログラム | |
US8209492B2 (en) | Systems and methods of accessing common registers in a multi-core processor | |
CN101930408A (zh) | 高速缓存控制器、控制高速缓存控制器的方法以及计算机系统 | |
CN105980979B (zh) | 用于检测暂停的逻辑分析器 | |
WO2023093335A1 (zh) | 数据处理电路及人工智能芯片、数据处理方法和装置 | |
US9892072B2 (en) | Transaction response modification within interconnect circuitry | |
EP2348400A1 (en) | Arithmetic processor, information processor, and pipeline control method of arithmetic processor | |
CN103019945B (zh) | 一种访存指令的执行方法 | |
US10303483B2 (en) | Arithmetic processing unit and control method for arithmetic processing unit | |
CN103019946B (zh) | 一种访存指令的执行装置 | |
US9189380B2 (en) | Systems and methods to save and restore a write gather pipe |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070803 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090313 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090331 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090528 |
|
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: 20090804 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090825 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120904 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120904 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130904 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |