[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP5233360B2 - メモリ制御装置,メモリ制御装置の制御方法および情報処理装置 - Google Patents

メモリ制御装置,メモリ制御装置の制御方法および情報処理装置 Download PDF

Info

Publication number
JP5233360B2
JP5233360B2 JP2008082718A JP2008082718A JP5233360B2 JP 5233360 B2 JP5233360 B2 JP 5233360B2 JP 2008082718 A JP2008082718 A JP 2008082718A JP 2008082718 A JP2008082718 A JP 2008082718A JP 5233360 B2 JP5233360 B2 JP 5233360B2
Authority
JP
Japan
Prior art keywords
response data
unit
holding
data
fetch response
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
JP2008082718A
Other languages
English (en)
Other versions
JP2009237872A (ja
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008082718A priority Critical patent/JP5233360B2/ja
Priority to EP08173094A priority patent/EP2105840B1/en
Priority to KR1020090002661A priority patent/KR101052809B1/ko
Priority to CN2009100087019A priority patent/CN101546300B/zh
Priority to US12/411,651 priority patent/US8166259B2/en
Publication of JP2009237872A publication Critical patent/JP2009237872A/ja
Application granted granted Critical
Publication of JP5233360B2 publication Critical patent/JP5233360B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Memory System (AREA)
  • Small-Scale Networks (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、例えば、プロセッサからのフェッチ要求に対応するフェッチ応答データを主記憶装置から取り出してプロセッサに送出する技術に関する。
一般に、情報処理装置の高速化および高性能化という観点から、情報処理装置のシステムボード上に実装される集積回路は、より短時間でパケットの処理や送受信を行なうことが要求されている(例えば、下記特許文献1参照)。
図8は従来の情報処理装置のシステムボードの構成例を模式的に示すブロック図である。図9はそのシステムコントローラの構成例を模式的に示すブロック図である。
例えば、従来の情報処理装置80においては、システムボード81をそなえ、図8に示すように、システムボード81上に、I/O(Input /Output;IO)装置(外部入出力コントローラ)82,CPU(Central Processing Unit)83,複数(図8に示す例では2つ)のメモリ(Memory)84a,84bおよび複数(図8に示す例では2つ)のシステムコントローラ(System Controller;SC)85a,85bが実装されている。
I/O装置82は、システムボード81の外部との信号の送受信を制御する装置である。このI/O装置82は、例えば、外部から受信したデータをシステムコントローラ85aを介してCPU83に送信するようになっている。
CPU83は、システムコントローラ85a,85bから受信したデータを用いて各種の演算を行なう装置である。このCPU83は、後述するメモリ84a,84bに対するフェッチ要求をシステムコントローラ85a,85bに発行し、フェッチ要求に対応するフェッチ応答データをシステムコントローラ85a,85bから受信するようになっている。なお、フェッチ応答データは、パケット化されたデータである(以下、パケットという場合もある)。メモリ84a,84bは、データを記憶、保持する装置である。
以下、従来の情報処理装置80の詳細について、システムコントローラ85aを例に説明する。
システムコントローラ85aは、CPU83とメモリ84aおよびI/O装置82との間のデータのやり取りを制御する装置である。
このシステムコントローラ85aは、CPU83のフェッチ要求に対応するフェッチ応答データをメモリ84aから取り出してCPU83に送出するようになっている。
例えば、システムコントローラ85aは、図9に示すように、MAC(Memory Access Controller;メモリアクセスコントローラ)86,データキュー(DATA-Q)87,フェッチ応答データ用ポート88,複数(図9に示す例ではk個;kは自然数)のポート89−1〜89−kおよび送出制御部(CPU送出プライオリティ)90をそなえて構成されている。
そして、CPU83からのメモリフェッチ要求を受取ったシステムコントローラ85aは、フェッチ応答データをメモリ84aから取り出す。メモリ84aから取り出されたフェッチ応答データは、MAC86においてCPU83で処理可能なパケットフォーマットに整形され、FIFO(First-In First-Out)方式で構成されるデータキュー87に格納される。そして、プライオリティ制御に参加するためのフェッチ応答データ用ポート88に空きがあれば、フェッチ応答データをデータキュー87から取り出して、フェッチ応答データ用ポート88にセットする。その後、フェッチ応答データ用ポート88にセットされたフェッチ応答データは、送出制御部90におけるプライオリティを獲得した時点で、フェッチ応答データ用ポート88からCPU83に向けて送出される。
なお、システムコントローラ85bは、CPU83とメモリ84bおよびI/O装置82との間のデータのやり取りを制御する装置であり、システムコントローラ85bにおける構成および動作も、上述したシステムコントローラ85aの構成および動作と同様である。
特開昭62−245462号公報
しかしながら、従来の情報処理装置80においては、メモリ84aから取り出した全てのフェッチ応答データは、デ−タキュー87に一旦取り込まれてからCPU83に向けて送出される。そのため、フェッチ応答データの容量が大きい場合には、デ−タキュー87への書き込み動作とデ−タキュー87からの読み出し動作に時間を要することになる。
また、CPU83へ送出するパケットが少なく、CPU送出バスに余裕がある状態であっても、フェッチ応答データはデータキュー87を必ず通過しなければならない。そのため、このような状態であっても、書き込み動作および読み出し動作に一定の時間を要することになる。
なお、一般に、フェッチの早さはシステムの性能そのものに直接的に影響することが知られている。
従って、フェッチ応答データを常にデ−タキュー87を経由してCPU83に送出することは、レイテンシを悪化させる原因となり、情報処理装置の性能向上の妨げになる。
また、上記以外のレイテンシを悪化させる原因として、システムコントローラ85a内部をフェッチ応答データが通過する際の実経路が挙げられる。
図10は従来の情報処理装置のシステムコントローラにおけるフェッチ応答経路を説明するための図であり、SCチップ上における各部の配置例を示している。
例えば、図10に示すように、従来のシステムコントローラ85aにおいては、MAC86がSCチップ上の一方端に、データキュー87がSCチップ上の他方端にそれぞれ配置されており、送出制御部90がSCチップ上におけるMAC86とデータキュー87との間に配置されている。
そして、図10に示す例では、メモリ84aから取り込んだフェッチ応答データが、MAC86からデータキュー87に送信された後に(図10の符号“C1”参照)、データキュー87からフェッチ応答データ用ポート88(図10において図示省略)を介して送出制御部90に送信されるようになっている(図10の符号“C2”参照)。
このように、チップのレイアウト上において、フェッチ応答データをデータキュー87に取り込んでからプライオリティ制御に参加させるパス(C1+C2)は長距離パスになってしまう。そのため、このような長距離パスでフェッチ応答データを転送することも、レイテンシを悪化させる原因となり、情報処理装置の性能向上の妨げになる。
本発明は、このような課題に鑑み創案されたもので、プロセッサからのフェッチ要求に対応するフェッチ応答データを主記憶装置から取り出してプロセッサに送出する場合において、フェッチ応答データが到着してからプロセッサに向けて送出されるまでのレイテンシを短縮することを目的とする。
上記目的を達成するために、開示のメモリ制御装置は、演算処理装置からの要求に対応する応答データを主記憶装置から読み出して前記演算処理装置応答するメモリ制御装置において、前記主記憶装置から読み出した応答データを格納する格納部と、前記主記憶装置から読み出した応答データを、前記格納部に格納せずに保持する第1の保持部と、前記主記憶装置から読み出した応答データを、前記第1の保持部保持できない場合、前記格納部に格納された応答データを保持する第2の保持部と、前記主記憶装置から読み出した応答データが特定のデータである場合、前記主記憶装置から読み出した応答データを、前記格納部と前記第1の保持部とにそれぞれ送信する送信制御部と、所定の優先度に基づき、前記第1の保持部に保持された応答データ又は前記第2の保持部に保持された応答データのいずれかを、前記演算処理装置に送出する送出制御部と、前記送信制御部が前記格納部と前記第1の保持部とにそれぞれ送信した応答データのうち、前記第1の保持部に送信した応答データが前記第1の保持部に保持された場合、前記送信制御部が前記格納部に送信した応答データを前記格納部から破棄させるキャンセル部と有している。
また、開示のメモリ制御装置の制御方法は、演算処理装置からの要求に対応する応答データを主記憶装置から読み出して前記演算処理装置応答するとともに、前記主記憶装置から読み出した応答データを、格納する格納部と、前記主記憶装置から読み出した応答データを、前記格納部に格納せずに保持する第1の保持部と、前記主記憶装置から読み出した応答データを、前記第1の保持部に保持できない場合、前記格納部に格納された応答データを保持する第2の保持部とを有するメモリ制御装置の制御方法において、前記メモリ制御装置が有する送信制御部が、前記主記憶装置から読み出した応答データが特定のデータである場合、前記主記憶装置から読み出した応答データを、前記格納部と前記第1の保持部とにそれぞれ送信し、前記メモリ制御装置が有する送出制御部が、所定の優先度に基づき、前記第1の保持部に保持された応答データ又は前記第2の保持部に保持された応答データのいずれかを、前記演算処理装置に送出し、前記送信制御部が前記格納部と前記第1の保持部とにそれぞれ送信した応答データのうち、前記第1の保持部に送信した応答データが前記第1の保持部に保持された場合、前記メモリ制御装置が有するキャンセル部が、前記送信制御部が前記格納部に送信した応答データを前記格納部から破棄させる。
さらに、開示の情報処理装置は、主記憶装置と、前記主記憶装置に対して要求を発行する演算処理装置と、前記演算処理装置からの要求に対応する応答データを、前記主記憶装置から読み出して前記演算処理装置応答するシステムコントローラとを有し前記システムコントローラが、前記主記憶装置から読み出した応答データを格納する格納部と、前記主記憶装置から読み出した応答データを、前記格納部に格納せずに保持する第1の保持部と、前記主記憶装置から読み出した応答データを、前記第1の保持部保持できない場合、前記格納部に格納された応答データを保持する第2の保持部と、前記主記憶装置から読み出した応答データが特定のデータである場合、前記主記憶装置から読み出した応答データを、前記格納部と前記第1の保持部とにそれぞれ送信する送信制御部と、所定の優先度に基づき、前記第1の保持部に保持された応答データ又は前記第2の保持部に保持された応答データのいずれかを、前記演算処理装置に送出する送出制御部と、前記送信制御部が前記格納部と前記第1の保持部とにそれぞれ送信した応答データのうち、前記第1の保持部に送信した応答データが前記第1の保持部に保持された場合、前記送信制御部が前記格納部に送信した応答データを前記格納部から破棄させるキャンセル部と有している。
開示の技術によれば、以下の少なくともいずれか1つの効果ないし利点がある。
(1)フェッチ応答データを第1のポートにセットできた場合に、格納部への書き込み動作および読み出し動作を省略して、フェッチ応答データを送出制御部に高速転送することができる。
(2)フェッチ応答データが到着してからプロセッサに向けて送出されるまでのレイテンシを短縮することができる。
(3)外部信号を取り込むことなく、バイパス可能もしくはバイパス不可能を判断することができるので、高速でデータを転送することができる。
以下、図面を参照しながら本発明の実施の形態について説明する。
〔1〕本発明の一実施形態について
図1は本発明の一実施形態としての情報処理装置10の構成例を模式的に示すブロック図である。
本発明の一実施形態としての情報処理装置10は、集積回路で構成されたシステムボード11をそなえ、図1に示すように、システムボード11上に、I/O(Input /Output;IO)装置(外部入出力コントローラ)12,CPU(Central Processing Unit;プロセッサ)13,複数(図1に示す例では2つ)のメモリ(Memory;主記憶装置)14a,14bおよび複数(図1に示す例では2つ)のシステムコントローラ(System Controller;SC;メモリ制御装置;システムチップ)15a,15bをそなえて構成されている。
I/O装置12は、システムボード11の外部との信号の送受信を制御する装置である。このI/O装置12は、例えば、外部から受信したデータをシステムコントローラ15aを介してCPU13に送信するようになっている。なお、本実施形態においては、外部との間で授受するデータとして、パケット化されたデータ(パケット)を用いている。
CPU13は、システムコントローラ15a,15bから受信したデータを用いて各種の演算を行なう装置である。このCPU13は、後述するメモリ14a,14bに対するフェッチ要求をシステムコントローラ15a,15bに発行し、フェッチ要求に対応するフェッチ応答データをシステムコントローラ15a,15bから受信するようになっている。なお、本実施形態においては、フェッチ応答データとして、上述したデータと同様に、パケット化されたデータ(パケット;応答パケットデータ)を用いている。
メモリ14a,14bは、データを記憶、保持する装置である。本実施形態においては、これらのメモリ14a,14bには、CPU13から発行されたフェッチ要求に対応するフェッチ応答データが記憶されている。
以下、本発明の一実施形態としての情報処理装置10及びメモリ制御方法の詳細について、システムコントローラ15aを例に説明する。
図2は本発明の一実施形態としての情報処理装置10におけるシステムコントローラ15aの構成例を示すブロック図である。図3はそのシステムコントローラ15aにおけるデータキュー経由回路Aのフェッチ応答経路を説明するための図であり、SCチップ上における各部の配置例を示している。図4はそのシステムコントローラ15aにおけるデータキューバイパス回路Bのフェッチ応答経路を説明するための図であり、SCチップ上における各部の配置例を示している。
システムコントローラ15aは、CPU13とメモリ14aおよびI/O装置12との間のデータの送受信(やり取り)を制御する装置である。
このシステムコントローラ15aは、CPU13のフェッチ要求に対応するフェッチ応答データをメモリ14aから取り出してCPU13に送出するようになっている。
例えば、システムコントローラ15aは、図2に示すように、MAC16,送信制御部17,第1のポート(バイパス側ポート)18,データキュー(DATA-Q;格納部)19,第2のポート20,複数(図2に示す例ではn個;nは自然数)のポート21−1〜21−nおよび送出制御部(CPU送出プライオリティ)22をそなえて構成されている。
また、このシステムコントローラ15aにおいては、例えば、図3および図4に示すように、MAC16がSCチップ上の一方端に、データキュー19がSCチップ上の他方端にそれぞれ配置されており、送出制御部22がSCチップ上におけるMAC16とデータキュー19との間に配置されている。
なお、システムコントローラ15aにおいては、当該システムコントローラ15aにフェッチ応答データが短時間で大量に到着した場合を想定して、データキュー経由回路Aとデータキューバイパス回路(バイパス回路)Bとが並列に実装されている。
データキュー経由回路Aは、送出制御部22からデータキュー19,第2のポート20,送出制御部22の順に直列に接続されている。
図3に示す例では、メモリ14aから取り込んだフェッチ応答データが、データキュー経由回路Aにおいて、MAC16から送信制御部17を介してデータキュー19に送信された後に(図3の符号“A1”参照)、データキュー19から第2のポート20を介して送出制御部22に送信されるようになっている(図3の符号“A2”参照)。
データキューバイパス回路Bは、送出制御部22から第1のポート18,送出制御部22の順に直列に接続されている。
図4に示す例では、メモリ14aから取り込んだフェッチ応答データが、データキューバイパス回路Bにおいて、MAC16から送信制御部17および第1のポート18を介して送出制御部22に送信されるようになっている(図4の符号“B1”参照)。即ち、データキューバイパス回路Bでは、メモリ14aから取り込んだフェッチ応答データをデータキュー19をバイパスして送出制御部22に送信するのである。
MAC16は、メモリ14aから受信した(取り出した)フェッチ応答データをCPU13で処理可能なパケットフォーマットに整形するものである。
例えば、MAC16は、メモリ14aからのフェッチ応答データが到着すると、このフェッチ応答データを、メモリ14aで取り扱われていたパケットフォーマットから、CPU13で処理可能なパケットフォーマットに整形する。本実施形態においては、メモリ14aで取り扱われていたパケットフォーマットは、(ヘッダ+16τ)×1セットである。又、CPU13で処理可能なパケットフォーマットは、(ヘッダ+8τ)×2セットである。なお、τ(タウ)はクロック数を示す単位であり、ヘッダは1τである。即ち、MAC16は、フェッチ応答データを、17τのパケットフォーマットから18τのパケットフォーマットに整形するのである。なお、MAC16は、17τのパケットフォーマット以外のフェッチ応答データについても、既知の手法を用いて所定のパケットフォーマット(例えば、6τのパケットフォーマット)に整形するようになっている。
送信制御部17は、MAC16から受信したフェッチ応答データの送信を制御するものであって、後述する第1のポート18やデータキュー19へのフェッチ応答データの送信を制御するようになっている。
例えば、送信制御部17は、メモリ14aから取り出したフェッチ応答データが特定の種類のデータである場合に、当該フェッチ応答データを後述するデータキュー19と第1のポート18との双方(両方)に送信(分配)するようになっている。
ここで、特定の種類のデータとは、データキュー19をバイパスすべきバイパス対象のデータである。本実施形態においては、送信制御部17は、18τのパケットフォーマットで整形されたフェッチ応答データを特定の種類のデータと判断するようになっている。なお、18τのパケットフォーマットであるか否かの判定は、フェッチ応答データに含まれるヘッダ(1τ目のパケット)のレングス情報に基づいて行なわれる。これにより、バイパス対象となるフェッチ応答データであることが確認されるのである。
なお、送信制御部17は、メモリ14aから取り出したフェッチ応答データが特定の種類のデータ以外である場合に、当該フェッチ応答データを、第1のポート18に送信することなく、データキュー19にのみ送信するようになっている。ここで、特定の種類のデータ以外とは、18τ以外のパケットフォーマットで整形されたフェッチ応答データのことであり、例えば、6τのパケットフォーマットで整形されたフェッチ応答データのことである。
第1のポート18は、送信制御部17から受信したフェッチ応答データ(以下、一方のフェッチ応答データという場合もある)を後述する送出制御部22におけるプライオリティ制御に参加させるためのポートである。なお、プライオリティ制御の詳細については後述する。
この第1のポート18は、フェッチ応答データをセット可能な複数(図2に示す例では4つ)のセット領域をそなえて構成されている。これらの複数のセット領域は、それぞれ、18τのデータをセット可能に構成されている。
そして、第1のポート18は、複数のセット領域のうちのいずれかに空き状態のセット領域(以下、空き領域という場合もある)が存在する場合には、データキュー19をバイパス可能と判断し、送信制御部17から受信したフェッチ応答データを当該空き状態のセット領域にセットする。フェッチ応答データは、空き状態のセット領域にセットされると、プライオリティ制御への参加が確定する。
従って、第1のポート18は、メモリ14aから取り出したフェッチ応答データを後述するデータキュー19をバイパスして受信し、この受信したフェッチ応答データを所定条件下で空き領域にセットするのである。これにより、データキューバイパス回路B側において、第1のポート18のポート使用状況が確認されるのである。
また、第1のポート18は、送信制御部17から受信した一方のフェッチ応答データが第1のポート18にセットされた場合に、送信制御部17からデータキュー19に送信されたフェッチ応答データ(以下、他方のフェッチ応答データという場合もある)を破棄させるキャンセル部として機能するようになっている。
具体的には、キャンセル部は、送信制御部17から受信した一方のフェッチ応答データが第1のポート18の空き領域にセットされると、データキュー19をバイパス可能と判断し、キャンセル信号を他方のフェッチ応答データに向けて出力(発信)する。ここで、キャンセル信号は、データキュー19に送信された他方のフェッチ応答データを無効化するための信号であって、本実施形態においては、1ビットのHi信号が用いられる。
そして、キャンセル部から出力されたキャンセル信号は、他方のフェッチ応答データがデータキュー19に受信される前に、他方のフェッチ応答データに入力(適用)される。なお、一方および他方のフェッチ応答データが送信制御部17から同時に送信された場合においては、一方のフェッチ応答データが第1のポート18の空き領域にセットされてから、キャンセル信号が他方のフェッチ応答データに入力されるまでのタイミングは固定である。そのため、キャンセル部から出力されたキャンセル信号は、送信制御部17とデータキュー19とを接続する信号経路上の固定位置で他方のフェッチ応答データに入力される。
他方のフェッチ応答データは、キャンセル信号が入力されると、自身に含まれる有効状態か無効状態かを示すフラグ(バリッドビット)が有効状態から無効状態に変更される。なお、キャンセル信号によりフェッチ応答データを有効状態から無効状態に変更する手法については、既知の種々の手法を用いることができる。
従って、本実施形態におけるシステムコントローラ15aは、フェッチ応答データの転送をより高速化するために、特定の種類のデータであるフェッチ応答データをデータキュー経由回路Aとデータキューバイパス回路Bとに同時に送信する。その後、システムコントローラ15aは、一方のフェッチ応答データについてのデータキュー19のバイパスが確定すると、データキュー経由回路A側の他方のフェッチ応答データを無効化するのである。
また、第1のポート18は、空き状態のセット領域が存在しない場合には、送信制御部17から受信したフェッチ応答データを、複数のセット領域のいずれにもセットすることなく破棄するようになっている。即ち、データキューバイパス回路B側の第1のポート18は、CPU13への送出待ちのフェッチ応答データで全てのセット領域が埋まっている場合には、キャンセル信号を出力することなく、送信制御部17から受信したフェッチ応答データを破棄するのである。なお、フェッチ応答データの破棄には、上述の如くフェッチ応答データを積極的に受信して破棄することを含む他、フェッチ応答データの受信を拒否することも含まれる。
データキュー19は、送信制御部17から送信されたフェッチ応答データを所定条件下で格納(蓄積)するものである。このデータキュー19は、例えば、送信制御部17から送信されたフェッチ応答データを順次書き込んで蓄積するようになっている。そして、データキュー19は、例えば、後述する第2のポート20に空き状態のセット領域ができる都度、蓄積したフェッチ応答データをFIFO(First-In First-Out)方式で順次読み出して、後述する第2のポート20に送信するようになっている。
また、データキュー19は、キャンセル信号により無効状態にされたフェッチ応答データを受信した場合には、当該無効状態のフェッチ応答データを書き込むことなく(又は、書き込む動作を止めて)破棄するようになっている。なお、フェッチ応答データの破棄には、上述の如くフェッチ応答データを受信して積極的に破棄することを含む他、フェッチ応答データの受信を拒否することも含まれる。従って、データキュー19は、メモリ14aから取り出したフェッチ応答データを第1のポート18にセットできない場合に、当該フェッチ応答データを格納するといえる。又、データキュー19は、送信制御部17から送信された特定の種類のデータ以外であるフェッチ応答データを格納するともいえる。
第2のポート20は、データキュー19から受信したフェッチ応答データを後述する送出制御部22におけるプライオリティ制御に参加させるためのポートである。なお、プライオリティ制御の詳細については後述する。
この第2のポート20は、フェッチ応答データをセット可能な複数(図2に示す例では2つ)のセット領域をそなえて構成されている。これらの複数のセット領域は、それぞれ、18τのデータをセット可能に構成されている。
そして、第2のポート20は、複数のセット領域のうちのいずれかに空き状態のセット領域が存在する都度、データキュー19に蓄積されたフェッチ応答データを読み出して、この読み出したフェッチ応答データを当該空き状態のセット領域にセットする。即ち、第2のポート20は、一方のフェッチ応答データを第1のポート18にセットできない場合に、他方のフェッチ応答データをデータキュー19を経由してセットするのである。又、第2のポート20は、送信制御部17から送信された特定のデータ以外であるフェッチ応答データをデータキュー19を経由してセットするのである。フェッチ応答データは、空き状態のセット領域にセットされると、プライオリティ制御への参加が確定する。
複数のポート21−1〜21−nは、それぞれ、メモリ14a以外の装置(例えば、I/O装置12やシステムコントローラ15b;図1参照)から受信したデータを後述する送出制御部22におけるプライオリティ制御に参加させるためのポートである。なお、プライオリティ制御の詳細については後述する。
これらの複数のポート21−1〜21−nは、それぞれ、各種のCPU宛パケットをセット可能なセット領域をそなえて構成されている。
そして、複数のポート21−1〜21−nは、それぞれ、空き状態のセット領域が存在する都度、メモリ14a以外の装置から受信したデータを当該空き状態のセット領域にセットする。データは、空き状態のセット領域にセットされると、プライオリティ制御への参加が確定する。
送出制御部22は、第1のポート18,第2のポート20および複数のポート21−1〜21−nにセットされたデータに対してプライオリティ制御を行なうものである。
ここで、プライオリティ制御とは、各ポート18,20,21−1〜21−nにセットされたデータに対して、ポート毎に予め規定されたプライオリティ(優先度)に従ってプライオリティを獲得させ、このプライオリティを獲得したデータをプライオリティの獲得順にCPU13に送出することをいう(CPU送出バスのプライオリティ制御)。
なお、本実施形態においては、第1のポート18に規定されたプライオリティが高く設定されている。又、本実施形態においては、送出制御部22は、第1のポート18がCPU送出バスのプライオリティを獲得してフェッチ応答データを送信する際には、CPU送出バスを18τ使用する。更に、本実施形態においては、送出制御部22は、第1のポート18と第2のポート20との両方がプライオリティ制御に参加している場合は、LRU(Least Recently Used)によって交互に優先権を与えるようになっている。これは、片側のポートに設定されたフェッチ応答データが抜け出せなくなるのを防ぐためである。
従って、送出制御部22は、プライオリティの高い特定(18τ)のフェッチ応答データのみを、データキュー19をバイパスして、短距離でCPU13に高速転送する。又、送出制御部22は、第1のポート18のセット領域が飽和状態の場合は、データキュー19を経由して、CPU13に転送する。つまり、送出制御部22の混雑具合により、データキューバイパス回路Bもしくはデータキュー経由回路Aのどちらかを選択してフェッチ応答データを送信するのである。
なお、送信制御部17がデータキュー19と第1のポート18との双方にフェッチ応答データを送信した場合には、送出制御部22は、第1のポート18にセットされた一方のフェッチ応答データまたは第2のポート20にセットされた他方のフェッチ応答データに対してプライオリティ制御を行なう。
ここで、短時間のうちに大量のパケットがシステムコントローラ15aに到着した場合には、CPU13に対する送出にも時間がかかる。本実施形態においては、先頭の数パケットについてデータキューバイパス回路Bを使って最短時間でプライオリティ制御に参加させることにより、その後のパケットについてはデータキュー19に書込みと読出しをする時間的余裕がうまれることになる。これにより、必要最小限のポート実装容量でデータキューバイパス回路Bによるレイテンシ短縮の効果が得られるのである。
また、送出制御部22は、第1のポート18の使用状況(トラフィック量;混雑状況)に応じて、フェッチ応答データのCPU13への転送を、分断モード(他パケット挿入可能)または連続モード(高速パケット占有)のいずれかを自律的(動的)に切り替えるようになっている。具体的には、送出制御部22は、分断送出部23,連続送出部24および切替部25として機能するようになっている。
図5は本発明の一実施形態としての情報処理装置10における分断送出部23の機能を説明するための図である。図6はその連続送出部24の機能を説明するための図である。
分断送出部23は、第1のポート18にセットされたフェッチ応答データよりもプライオリティの高いデータを優先度に従って割り込ませることにより、当該フェッチ応答データを分断し、CPU13に送出する分断モードを実行するものである。なお、本実施形態において、フェッチ応答データよりも優先度の高いデータは、例えば、データなしの命令や、応答パケット(1τ)である。
図5に示す例では、分断送出部23は、18τで構成されるフェッチ応答データ(図5に示す“フェッチ応答−0”〜“フェッチ応答−17”参照)の間に、フェッチ応答データよりも優先度の高いその他のデータ(図5に示す“フェッチ応答−2”と“フェッチ応答−3”との間の“その他のパケット”、“フェッチ応答−6”と“フェッチ応答−7”との間の“その他のパケット”参照)を割り込ませてCPU13に送出するようになっている。従って、フェッチ応答データの最初のパケット送出から最終のパケット送出までの必要クロック数は、18τ+α(αは割り込みパケット数)になる。
連続送出部24は、第1のポート18にセットされたフェッチ応答データを連続する一塊のデータとしてCPU13に送出する連続モードを実行するものである。
図6に示す例では、連続送出部24は、フェッチ応答データ以外の他のデータの割り込みを抑止し、18τで構成されるフェッチ応答データ(図6に示す“フェッチ応答−0”〜“フェッチ応答−17”参照)を連続で送信するようになっている。従って、フェッチ応答データの最初のパケット送出から最終のパケット送出までの必要クロック数は、必ず18τになる。
切替部25は、分断送出部23と連続送出部24とを、第1のポート18の使用状況に応じて選択的に切り替えるものである。即ち、切替部25は、CPUバスへの送出プライオリティを動的に切り替えるのである(送出モード切替)。この切替部25は、例えば、第1のポート18にそなえられた全てのセット領域とAND回路(図示省略)を介して接続されている。
そして、例えば、第1のポート18にそなえられたいずれかのセット領域にフェッチ対象データがセットされていない場合には、AND回路からLo信号が出力される。切替部25は、AND回路からのLo信号が入力されると、第1のポート18が混雑していないと判断し、フェッチ応答データよりもプライオリティの高いその他のデータを溜め込まないために、分断送出部23に切り替える。
また、例えば、第1のポート18にそなえられた全てのセット領域にフェッチ対象データがセットされている場合には、AND回路からHi信号が出力される。切替部25は、AND回路からのHi信号が入力されると、第1のポート18が混雑していると判断し、このフェッチ対象データのCPU13への送出を優先すべく、連続送出部24に切り替える。これにより、第1のポート18にフェッチ対象データを溜め続けることがなくなり、データキュー19をバイパスする効果をより発揮させることができるのである。
上述の如く構成された本発明の一実施形態に係る情報処理装置10においてフェッチ応答データがメモリ14aからCPU13に送出される手順を、図7に示すフローチャート(ステップS11〜S25)に従って説明する。
先ず、CPU13からフェッチ要求が発行されると、メモリ14aは、フェッチ応答データを送信する(ステップS11)。
次に、MAC16は、メモリ14aから送信されたフェッチ応答データを受信する(ステップS12)。そして、MAC16は、受信したフェッチ応答データを、メモリ14aで取り扱われていたパケットフォーマットから、CPU13で処理可能なパケットフォーマットに整形する(ステップS13)。
送信制御部17は、MAC16から送信されたフェッチ応答データが特定の種類のデータであるか否かを、当該フェッチ応答データに含まれるヘッダのレングス情報に基づいて判断する。送信制御部17は、フェッチ応答データが特定の種類のデータであると判断した場合には、当該フェッチ応答データをデータキュー19と第1のポート18との双方に送信する(送信制御ステップ)。
第1のポート18は、自身のセット領域に空き状態のセット領域が存在する場合には、バイパスが成功することになる(ステップS14の“YES”ルート参照)。そして、第1のポート18は、送信制御部17から受信したフェッチ応答データを当該空き状態のセット領域にセット(PTセット)する(ステップS15;第1のセットステップ)。ここで、第1のポート18にセットされたフェッチ応答データは、送出制御部22におけるプライオリティを獲得するまで、第1のポート18にセットされ続ける(ステップS16の“NO”ルート参照)。
また、第1のポート18は、一方のフェッチ応答データが第1のポート18にセットされると、キャンセル信号を他方のフェッチ応答データに出力し、送信制御部17からデータキュー19に送信された他方のフェッチ応答データを破棄させる(図7の“データキュ側キャンセル”参照;キャンセルステップ)。
送出制御部22は、第1のポート18にセットされたフェッチ応答データに対してプライオリティ制御を行なう(送出制御ステップ)。そして、第1のポート18にセットされたフェッチ応答データがプライオリティを獲得すると(ステップS16の“YESルート”参照)、送出制御部22は、フェッチ応答データを取り込む。
切替部25は、第1のポート18の使用状況(PT混雑状況)を確認する(ステップS17)。第1のポート18にそなえられたいずれかのセット領域にフェッチ対象データがセットされていない場合には、切替部25は、第1のポート18が混雑していないと判断し、分断送出部23に切り替える(ステップS17の“NO”ルート参照;切替ステップ)。分断送出部23は、第1のポート18にセットされた18τのフェッチ応答データを分断し、当該フェッチ応答データよりもプライオリティの高いパケットを割り込ませてCPU13に送出する(ステップS18;分断送出ステップ)。CPU13は、分断送出部23から送出されたフェッチ応答データを受信して(ステップS19)、処理を終了する。
一方、第1のポート18にそなえられた全てのセット領域にフェッチ対象データがセットされている場合には、切替部25は、第1のポート18が混雑していると判断し、連続送出部24に切り替える(ステップS17の“YES”ルート参照;切替ステップ)。連続送出部24は、フェッチ応答データ以外の他のデータの割り込みを抑止し、第1のポート18にセットされた18τのフェッチ応答データを連続してCPUに送出する(ステップS20;連続送出ステップ)。CPU13は、連続送出部24から送出されたフェッチ応答データを受信して(ステップS19)、処理を終了する。
また、送信制御部17は、フェッチ応答データが特定の種類のデータ以外であると判断した場合には、当該フェッチ応答データをデータキュー19にのみ送信する。又、フェッチ応答データが特定の種類のデータであるが第1のポート18のセット領域に空き状態のセット領域が存在しない場合には、送信制御部17から送信されたフェッチ応答データは、第1のポート18からのキャンセル信号が入力されることなく、データキュー19に到達する。
これら場合には、データキュー19のバイパスが失敗したことになり(ステップS14の“NO”ルート参照)、データキュー19は、送信制御部17から送信されたフェッチ応答データを書き込んで蓄積する(ステップS21)。
そして、フェッチ応答データは、第2のポート20のセット領域に空き状態のセット領域ができるまで(つまり、送出される順番がまわってくるまで)データキュー19に格納され続ける(ステップS22の“NO”ルート参照)。
第2のポート20は、自身のセット領域に空き状態のセット領域ができると(ステップS22の“YES”ルート参照)、データキュー19に蓄積されたフェッチ応答データをFIFO方式で読み出して(ステップS23)、当該空き状態のセット領域にセットする(ステップS24;第2のセットステップ)。ここで、第2のポート20にセットされたフェッチ応答データは、プライオリティを獲得するまで、第2のポート20にセットされ続ける(ステップS25の“NO”ルート参照)。
送出制御部22は、第2のポート20にセットされたフェッチ応答データに対してプライオリティ制御を行なう(送出制御ステップ)。そして、第2のポート20にセットされたフェッチ応答データがプライオリティを獲得すると(ステップS25の“YESルート”参照)、送出制御部22は、フェッチ応答データを取り込む。
送出制御部22は、取り込んだフェッチ応答データをCPU13に送出し、CPU13は、送出制御部22から送出されたフェッチ応答データを受信して(ステップS19)、処理を終了する。
以上、本発明の一実施形態としてのメモリ制御方法(情報処理装置10の動作)について、システムコントローラ15aにおける動作を中心に説明した。なお、システムコントローラ15bは、CPU13とメモリ14bおよびI/O装置12との間のデータの送受信を制御する装置であり、システムコントローラ15bにおける構成および動作も、上述したシステムコントローラ15aの構成および動作と同様である。
このように、本発明の一実施形態としての情報処理装置10によれば、CPU13からのフェッチ要求に対応するフェッチ応答データがメモリ14a,14bから返ってきた時に、データキューバイパス回路Bの第1のポート18のセット領域に空きがあれば、データキュー19を経由することなくダイレクトに第1のポート18にセットされる。そして、フェッチ応答データは、第1のポート18にセットされると、プライオリティ制御への参加が確定する。一方、データキューバイパス回路Bの第1のポート18のセット領域に空きがない場合には、フェッチ応答データは、従来の経路と同様に、一旦データキュー19に取り込まれてから第2のポート20にセットされる。そして、フェッチ応答データは、第2のポート20にセットされると、プライオリティ制御への参加が確定する。
そのため、フェッチ応答データが第1のポート18にセットされた場合には、データキュー19への書き込み動作および読み出し動作を省略して、フェッチ応答データを送出制御部22に高速転送することができる。従って、フェッチ応答データがシステムコントローラ15a,15bに到着してからCPU13に向けて送出されるまでのレイテンシを短縮することができる。
また、チップのレイアウト上においても、フェッチ応答データをデータキュー19を介さずにプライオリティ制御に参加させるパス(図4の符号“B1”参照)を設定することにより、フェッチ応答データを短距離パスで高速転送することができる。従って、フェッチ応答データがシステムコントローラ15a,15bに到着してからCPU13に向けて送出されるまでのレイテンシをより短縮することができる。
なお、本実施形態においては、データキューバイパス回路Bを増設することで、従来のデータキュー19経由の転送と比べて、レイテンシが14τ改善される。これは、CPU13がフェッチ要求を発行した時点からCPU13がフェッチ応答データを受信するまでの総レイテンシで見ると約10%強の短縮となる。
また、キャンセル部が、送信制御部17から受信した一方のフェッチ応答データが第1のポート18にセットされた場合に、送信制御部17からデータキュー19に送信された他方のフェッチ応答データを破棄させることにより、フェッチ応答データのCPU13への送出についての信頼性が向上する。
さらに、外部信号を取り込むことなく、バイパス可能もしくはバイパス不可能を判断することができるので、レイテンシの観点から最速(高速)でデータを転送することができる。
また、切替部25は、第1のポート18が混雑していると判断した場合に、連続送出部24に切り替えることにより、第1のポート18に溜まっているフェッチ応答データを送出しやすくなる。これにより、第1のポート18が混雑し難くなり、データキュー19のバイパスの実行確率(成功確率)を高めることができる。
〔2〕その他
なお、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上述した実施形態では、システムボード11上の集積回路を例に説明したが、それに限定されるものではなく、キューを用いたパケット転送に関する回路であれば本発明を適用することができる。
また、上記実施形態では、MAC16がSCチップ上の一方端に、データキュー19がSCチップ上の他方端にそれぞれ配置されており、送出制御部22がMAC16とデータキュー19との間に配置されているシステムコントローラ15aを例に説明したが、それに限定されるものではなく、SCチップ上のレイアウトを任意に変更することができる。
さらに、上記実施形態では、メモリ14aで処理可能なパケットフォーマットとして、(ヘッダ+16τ)×1セットを用いるとともに、CPU13で処理可能なパケットフォーマットとして、(ヘッダ+8τ)×2セットを用いる場合を例に説明したが、それに限定されるものではなく、メモリ14aで処理可能なパケットフォーマットやCPU13で処理可能なパケットフォーマットとして、任意のパケットフォーマットを用いることができる。
また、上記実施形態では、送信制御部17は、メモリ14aから取り出したフェッチ応答データが特定の種類のデータである場合に、当該フェッチ応答データを後述するデータキュー19と第1のポート18との双方に送信する例について説明したが、それに限定されるものではなく、メモリ14aから取り出したフェッチ応答データの種類に関わらず、当該フェッチ応答データを後述するデータキュー19と第1のポート18との双方に送信してもよい。
さらに、上記実施形態では、18τのパケットフォーマットで整形されたフェッチ応答データを特定の種類のデータとして用いた場合を例について説明したが、それに限定されるものではなく、任意のパケットフォーマットで整形されたフェッチ応答データを特定の種類のデータとして用いることができる。
さらに、上記実施形態では、第1のポート18が4つのセット領域をそなえるとともに、第2のポート20が2つのセット領域をそなえる場合を例について説明したが、それに限定されるものではなく、第1のポート18が任意のセット領域をそなえてもよく、第2のポート20が任意のセット領域をそなえてもよい。
また、上記実施形態では、1ビットのHi信号をキャンセル信号として用いた場合を例について説明したが、それに限定されるものではなく、データキュー19に送信された他方のフェッチ応答データを無効化することができる既知の種々の信号を用いることができる。
さらに、上記実施形態では、データキュー19がFIFO方式で第2のポート20に送信する場合を例について説明したが、それに限定されるものではなく、FIFO方式以外の既知の種々の方式を用いることができる。
〔3〕付記
(付記1) プロセッサのフェッチ要求に対応するフェッチ応答データを主記憶装置から取り出して該プロセッサに送出するメモリ制御装置であって、
該主記憶装置から取り出した該フェッチ応答データを格納可能な格納部と、
該主記憶装置から取り出した該フェッチ応答データを該格納部をバイパスして受信し、当該受信したフェッチ応答データをセット可能な第1のポートと、
該フェッチ応答データを該第1のポートにセットできない場合に、該主記憶装置から取り出した該フェッチ応答データを該格納部を経由してセットする第2のポートと、
該第1のポートまたは該第2のポートにセットされた該フェッチ応答データに対して、予め規定された優先度に従って該プロセッサに送出するプライオリティ制御を行なう送出制御部とをそなえることを特徴とする、メモリ制御装置。
(付記2) 該第1のポートは、該フェッチ応答データをセット可能な空き領域が存在する場合に、受信した該フェッチ応答データを該空き領域にセットすることを特徴とする、付記1に記載のメモリ制御装置。
(付記3) 該第1のポートは、該空き領域が存在しない場合に、受信した該フェッチ応答データを破棄することを特徴とする、付記2に記載のメモリ制御装置。
(付記4) 該主記憶装置から取り出した該フェッチ応答データが特定のデータである場合に、当該フェッチ応答データを該格納部と該第1のポートとの双方に送信する送信制御部と、
該送信制御部から送信された一方のフェッチ応答データが該第1のポートにセットされた場合に、該送信制御部から該格納部に送信された他方のフェッチ応答データを破棄させるキャンセル部とをそなえることを特徴とする、付記1〜3のいずれか1項に記載のメモリ制御装置。
(付記5) 該送信制御部は、該主記憶装置から取り出した該フェッチ応答データが特定のデータ以外である場合に、当該フェッチ応答データを該格納部に送信し、
該第2のポートは、該送信制御部から送信された前記特定のデータ以外である該フェッチ応答データを該格納部を経由してセットすることを特徴とする、付記4に記載のメモリ制御装置。
(付記6) 該送出制御部は、
該第1のポートにセットされた該フェッチ応答データを分断し、当該フェッチ応答データ以外のデータを該優先度に従って割り込ませて該プロセッサに送出する分断送出部と、
該第1のポートにセットされた該フェッチ応答データを連続して該プロセッサに送出する連続送出部と
該分断送出部と該連続送出部とを、該第1のポートの使用状況に応じて選択的に切り替える切替部とをそなえることを特徴とする、付記1〜5のいずれか1項に記載のメモリ制御装置。
(付記7) プロセッサのフェッチ要求に対応するフェッチ応答データを主記憶装置から取り出して該プロセッサに送出するメモリ制御方法であって、
該主記憶装置から取り出した該フェッチ応答データを格納部をバイパスして受信し、当該受信したフェッチ応答データを所定条件下で第1のポートにセットする第1のセットステップと、
該第1のセットステップにおいて該フェッチ応答データを該第1のポートにセットできない場合に、該主記憶装置から取り出した該フェッチ応答データを格納部を経由して第2のポートにセットする第2のセットステップと、
該第1のポートまたは該第2のポートにセットされた該フェッチ応答データに対して、予め規定された優先度に従って該プロセッサに送出するプライオリティ制御を行なう送出制御ステップとをそなえることを特徴とする、メモリ制御方法。
(付記8) 該第1のセットステップにおいて、該フェッチ応答データをセット可能な空き領域が該第1のポートに存在する場合を該所定条件として、受信した該フェッチ応答データを該空き領域にセットすることを特徴とする、付記7に記載のメモリ制御方法。
(付記9) 該第1のセットステップにおいて、該空き領域が該第1のポートに存在しない場合に、受信した該フェッチ応答データを破棄することを特徴とする、付記8に記載のメモリ制御方法。
(付記10) 該主記憶装置から取り出した該フェッチ応答データが特定のデータである場合に、当該フェッチ応答データを該格納部と該第1のポートとの双方に送信する送信制御ステップと、
該送信制御ステップにおいて送信された一方のフェッチ応答データが該第1のポートにセットされた場合に、該送信制御ステップにおいて該格納部に送信された他方のフェッチ応答データを破棄させるキャンセルステップとをそなえることを特徴とする、付記7〜9のいずれか1項に記載のメモリ制御方法。
(付記11) 該送信制御ステップにおいて、該主記憶装置から取り出した該フェッチ応答データが特定のデータ以外である場合に、当該フェッチ応答データを該格納部に送信し、
該第2のセットステップにおいて、該送信制御ステップにおいて送信された前記特定のデータ以外である該フェッチ応答データを該格納部を経由して該第2のポートにセットすることを特徴とする、付記10に記載のメモリ制御方法。
(付記12) 該送出制御ステップにおいて、
該第1のポートにセットされた該フェッチ応答データを分断し、当該フェッチ応答データ以外のデータを該優先度に従って割り込ませて該プロセッサに送出する分断送出ステップと、
該第1のポートにセットされた該フェッチ応答データを連続して該プロセッサに送出する連続送出ステップと
該分断送出ステップと該連続送出ステップとを、該第1のポートの使用状況に応じて選択的に切り替える切替ステップとをそなえることを特徴とする、付記7〜11のいずれか1項に記載のメモリ制御方法。
(付記13) 主記憶装置と、
該主記憶装置に対してフェッチ要求を発行するプロセッサと、
該プロセッサのフェッチ要求に対応するフェッチ応答データを該主記憶装置から取り出して該プロセッサに送出するシステムコントローラとをそなえ、
該システムコントローラが、
該主記憶装置から取り出した該フェッチ応答データを格納可能な格納部と、
該主記憶装置から取り出した該フェッチ応答データを該格納部をバイパスして受信し、当該受信したフェッチ応答データをセット可能な第1のポートと、
該フェッチ応答データを該第1のポートにセットできない場合に、該主記憶装置から取り出した該フェッチ応答データを該格納部を経由してセットする第2のポートと、
該第1のポートまたは該第2のポートにセットされた該フェッチ応答データに対して、予め規定された優先度に従って該プロセッサに送出するプライオリティ制御を行なう送出制御部とをそなえることを特徴とする、情報処理装置。
(付記14) 該第1のポートは、該フェッチ応答データをセット可能な空き領域が存在する場合に、受信した該フェッチ応答データを該空き領域にセットすることを特徴とする、付記13に記載の情報処理装置。
(付記15) 該第1のポートは、該空き領域が存在しない場合に、受信した該フェッチ応答データを破棄することを特徴とする、付記14に記載の情報処理装置。
(付記16) 該主記憶装置から取り出した該フェッチ応答データが特定のデータである場合に、当該フェッチ応答データを該格納部と該第1のポートとの双方に送信する送信制御部と、
該送信制御部から送信された一方のフェッチ応答データが該第1のポートにセットされた場合に、該送信制御部から該格納部に送信された他方のフェッチ応答データを破棄させるキャンセル部とをそなえることを特徴とする、付記13〜15のいずれか1項に記載の情報処理装置。
(付記17) 該送信制御部は、該主記憶装置から取り出した該フェッチ応答データが特定のデータ以外である場合に、当該フェッチ応答データを該格納部に送信し、
該第2のポートは、該送信制御部から送信された前記特定のデータ以外である該フェッチ応答データを該格納部を経由してセットすることを特徴とする、付記16に記載の情報処理装置。
(付記18) 該送出制御部は、
該第1のポートにセットされた該フェッチ応答データを分断し、当該フェッチ応答データ以外のデータを該優先度に従って割り込ませて該プロセッサに送出する分断送出部と、
該第1のポートにセットされた該フェッチ応答データを連続して該プロセッサに送出する連続送出部と
該分断送出部と該連続送出部とを、該第1のポートの使用状況に応じて選択的に切り替える切替部とをそなえることを特徴とする、付記13〜17のいずれか1項に記載の情報処理装置。
本発明の一実施形態としての情報処理装置の構成例を模式的に示すブロック図である。 本発明の一実施形態としての情報処理装置におけるシステムコントローラの構成例を示すブロック図である。 本発明の一実施形態としての情報処理装置のシステムコントローラにおけるデータキュー経由回路のフェッチ応答経路を説明するための図である。 本発明の一実施形態としての情報処理装置のシステムコントローラにおけるデータキューバイパス回路のフェッチ応答経路を説明するための図である。 本発明の一実施形態としての情報処理装置における分断送出部の機能を説明するための図である。 本発明の一実施形態としての情報処理装置における連続送出部の機能を説明するための図である。 本発明の一実施形態としての情報処理装置においてフェッチ応答データがメモリからCPUに送出される手順を示すフローチャートである。 従来の情報処理装置のシステムボードの構成例を模式的に示すブロック図である。 従来の情報処理装置におけるシステムコントローラの構成例を示すブロック図である。 従来の情報処理装置のシステムコントローラにおけるフェッチ応答経路を説明するための図である。
符号の説明
10,80 情報処理装置
11,81 システムボード
12,82 I/O装置
13,83 CPU(プロセッサ)
14a,14b,84a,84b メモリ(主記憶装置)
15a,15b,85a,85b システムコントローラ(メモリ制御装置)
16,86 MAC
17 送信制御部
18 第1のポート(キャンセル部)
19,87 データキュー(格納部)
20 第2のポート
21−1〜21−n,89−1〜89−k ポート
22,90 送出制御部
23 分断送出部
24 連続送出部
25 切替部
88 フェッチ応答データ用ポート
A データキュー経由回路
B データキューバイパス回路

Claims (8)

  1. 演算処理装置からの要求に対応する応答データを主記憶装置から読み出して前記演算処理装置応答するメモリ制御装置において、
    前記主記憶装置から読み出した応答データを格納する格納部と、
    前記主記憶装置から読み出した応答データを、前記格納部に格納せずに保持する第1の保持部と、
    前記主記憶装置から読み出した応答データを、前記第1の保持部保持できない場合、前記格納部に格納された応答データを保持する第2の保持部と、
    前記主記憶装置から読み出した応答データが特定のデータである場合、前記主記憶装置から読み出した応答データを、前記格納部と前記第1の保持部とにそれぞれ送信する送信制御部と、
    所定の優先度に基づき、前記第1の保持部に保持された応答データ又は前記第2の保持部に保持された応答データのいずれかを、前記演算処理装置に送出する送出制御部と
    前記送信制御部が前記格納部と前記第1の保持部とにそれぞれ送信した応答データのうち、前記第1の保持部に送信した応答データが前記第1の保持部に保持された場合、前記送信制御部が前記格納部に送信した応答データを前記格納部から破棄させるキャンセル部と有することを特徴とするメモリ制御装置。
  2. 前記第1の保持部は、前記主記憶装置から読み出した応答データを、保持可能な空き領域が存在する場合、前記空き領域に保持することを特徴とする、請求項1に記載のメモリ制御装置。
  3. 前記第1の保持部は、前記空き領域が存在しない場合、前記主記憶装置から読み出した応答データを破棄することを特徴とする、請求項2に記載のメモリ制御装置
  4. 前記送信制御部は、前記主記憶装置から読み出した応答データが特定のデータ以外である場合、前記主記憶装置から読み出した応答データを、前記格納部に送信し、
    前記第2の保持部は、前記送信制御部から送信された前記特定のデータ以外である応答データを、前記格納部から読み出して保持することを特徴とする、請求項に記載のメモリ制御装置。
  5. 前記送出制御部は、
    前記第1の保持部保持された応答データを分断し、前記優先度に基づき、前記分断した応答データ以外のデータを、割り込ませて前記演算処理装置に送出する分断送出部と、
    前記第1の保持部保持された応答データを連続して前記演算処理装置に送出する連続送出部と
    前記分断送出部と前記連続送出部とを、前記第1の保持部の使用状況に応じて選択的に切り替える切替部とを有することを特徴とする、請求項1〜のいずれか1項に記載のメモリ制御装置。
  6. 演算処理装置からの要求に対応する応答データを主記憶装置から読み出して前記演算処理装置応答するとともに、前記主記憶装置から読み出した応答データを、格納する格納部と、前記主記憶装置から読み出した応答データを、前記格納部に格納せずに保持する第1の保持部と、前記主記憶装置から読み出した応答データを、前記第1の保持部に保持できない場合、前記格納部に格納された応答データを保持する第2の保持部とを有するメモリ制御装置の制御方法において、
    前記メモリ制御装置が有する送信制御部が、前記主記憶装置から読み出した応答データが特定のデータである場合、前記主記憶装置から読み出した応答データを、前記格納部と前記第1の保持部とにそれぞれ送信し、
    前記メモリ制御装置が有する送出制御部が、所定の優先度に基づき、前記第1の保持部に保持された応答データ又は前記第2の保持部に保持された応答データのいずれかを、前記演算処理装置に送出し、
    前記送信制御部が前記格納部と前記第1の保持部とにそれぞれ送信した応答データのうち、前記第1の保持部に送信した応答データが前記第1の保持部に保持された場合、前記メモリ制御装置が有するキャンセル部が、前記送信制御部が前記格納部に送信した応答データを前記格納部から破棄させることを特徴とするメモリ制御装置の制御方法
  7. 前記送出制御部が有する分断送出部が、前記第1の保持部保持された応答データを分断し、前記優先度に基づき、前記分断した応答データ以外のデータを、割り込ませて前記演算処理装置に送出
    前記送出制御部が有する連続送出部が、前記第1の保持部保持された応答データを連続して前記演算処理装置に送出し、
    前記送出制御部が有する切替部が、前記分断送出前記連続送出とを、前記第1の保持部の使用状況に応じて選択的に切り替えることを特徴とする、請求項に記載のメモリ制御装置の制御方法。
  8. 主記憶装置と、
    前記主記憶装置に対して要求を発行する演算処理装置と、
    前記演算処理装置からの要求に対応する応答データを、前記主記憶装置から読み出して前記演算処理装置応答するシステムコントローラとを有し
    前記システムコントローラが、
    前記主記憶装置から読み出した応答データを格納する格納部と、
    前記主記憶装置から読み出した応答データを、前記格納部に格納せずに保持する第1の保持部と、
    前記主記憶装置から読み出した応答データを、前記第1の保持部保持できない場合、前記格納部に格納された応答データを保持する第2の保持部と、
    前記主記憶装置から読み出した応答データが特定のデータである場合、前記主記憶装置から読み出した応答データを、前記格納部と前記第1の保持部とにそれぞれ送信する送信制御部と、
    所定の優先度に基づき、前記第1の保持部に保持された応答データ又は前記第2の保持部に保持された応答データのいずれかを、前記演算処理装置に送出する送出制御部と
    前記送信制御部が前記格納部と前記第1の保持部とにそれぞれ送信した応答データのうち、前記第1の保持部に送信した応答データが前記第1の保持部に保持された場合、前記送信制御部が前記格納部に送信した応答データを前記格納部から破棄させるキャンセル部と有することを特徴とする情報処理装置。
JP2008082718A 2008-03-27 2008-03-27 メモリ制御装置,メモリ制御装置の制御方法および情報処理装置 Expired - Fee Related JP5233360B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2008082718A JP5233360B2 (ja) 2008-03-27 2008-03-27 メモリ制御装置,メモリ制御装置の制御方法および情報処理装置
EP08173094A EP2105840B1 (en) 2008-03-27 2008-12-30 Memory control apparatus, memory control method and information processing system
KR1020090002661A KR101052809B1 (ko) 2008-03-27 2009-01-13 메모리 제어 장치, 메모리 제어 방법 및 정보 처리 장치
CN2009100087019A CN101546300B (zh) 2008-03-27 2009-01-21 存储器控制装置、存储器控制方法和信息处理系统
US12/411,651 US8166259B2 (en) 2008-03-27 2009-03-26 Memory control apparatus, memory control method and information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008082718A JP5233360B2 (ja) 2008-03-27 2008-03-27 メモリ制御装置,メモリ制御装置の制御方法および情報処理装置

Publications (2)

Publication Number Publication Date
JP2009237872A JP2009237872A (ja) 2009-10-15
JP5233360B2 true JP5233360B2 (ja) 2013-07-10

Family

ID=40821646

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008082718A Expired - Fee Related JP5233360B2 (ja) 2008-03-27 2008-03-27 メモリ制御装置,メモリ制御装置の制御方法および情報処理装置

Country Status (5)

Country Link
US (1) US8166259B2 (ja)
EP (1) EP2105840B1 (ja)
JP (1) JP5233360B2 (ja)
KR (1) KR101052809B1 (ja)
CN (1) CN101546300B (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9208109B2 (en) * 2011-06-01 2015-12-08 Altera Corporation Memory controllers with dynamic port priority assignment capabilities
US9244867B1 (en) * 2011-06-01 2016-01-26 Altera Corporation Memory controller interface with adjustable port widths
JP5793690B2 (ja) * 2012-12-28 2015-10-14 パナソニックIpマネジメント株式会社 インタフェース装置、およびメモリバスシステム
TWI498732B (zh) * 2014-02-20 2015-09-01 Phison Electronics Corp 資料傳輸方法、記憶體控制電路單元與記憶體儲存裝置
US9552045B2 (en) 2014-03-20 2017-01-24 Intel Corporation Method, apparatus, and system for controlling power consumption of unused hardware of a link interface
RU2627132C1 (ru) * 2016-06-30 2017-08-03 Общество с ограниченной ответственностью "Гроссмейстер" Способ получения последовательности случайных двоичных чисел и устройство для его осуществления

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4371927A (en) * 1977-11-22 1983-02-01 Honeywell Information Systems Inc. Data processing system programmable pre-read capability
JPS62245462A (ja) * 1986-04-18 1987-10-26 Fujitsu Ltd メモリアクセス制御装置
US5461718A (en) 1992-04-24 1995-10-24 Digital Equipment Corporation System for sequential read of memory stream buffer detecting page mode cycles availability fetching data into a selected FIFO, and sending data without aceessing memory
US5845323A (en) * 1995-08-31 1998-12-01 Advanced Micro Devices, Inc. Way prediction structure for predicting the way of a cache in which an access hits, thereby speeding cache access time
US5860104A (en) * 1995-08-31 1999-01-12 Advanced Micro Devices, Inc. Data cache which speculatively updates a predicted data cache storage location with store data and subsequently corrects mispredicted updates
TW387072B (en) * 1997-04-04 2000-04-11 Ibm Low latency first data access in a data buffered smp memory controller
US6131155A (en) 1997-11-07 2000-10-10 Pmc Sierra Ltd. Programmer-visible uncached load/store unit having burst capability
US6212603B1 (en) * 1998-04-09 2001-04-03 Institute For The Development Of Emerging Architectures, L.L.C. Processor with apparatus for tracking prefetch and demand fetch instructions serviced by cache memory
JP3481477B2 (ja) 1998-12-15 2003-12-22 エヌイーシーコンピュータテクノ株式会社 インターコネクションネットワーク装置
US6681274B2 (en) * 2001-10-15 2004-01-20 Advanced Micro Devices, Inc. Virtual channel buffer bypass for an I/O node of a computer system
US20030172235A1 (en) * 2002-02-27 2003-09-11 Letey George Thomas Read data storage controller with bypass read data return path
US7120743B2 (en) * 2003-10-20 2006-10-10 Micron Technology, Inc. Arbitration system and method for memory responses in a hub-based memory system
KR101198981B1 (ko) * 2003-12-09 2012-11-07 톰슨 라이센싱 메모리 제어기
JP2005276104A (ja) 2004-03-26 2005-10-06 Nec Electronics Corp マイクロコンピュータ
US7392331B2 (en) * 2004-08-31 2008-06-24 Micron Technology, Inc. System and method for transmitting data packets in a computer system having a memory hub architecture
US7081593B2 (en) * 2004-12-15 2006-07-25 John David Hopkins Quiet snap action switch
KR20070089460A (ko) * 2006-02-28 2007-08-31 삼성전자주식회사 우선 순위에 따른 비휘발성 메모리의 연산 처리 장치 및방법
US7769955B2 (en) * 2007-04-27 2010-08-03 Arm Limited Multiple thread instruction fetch from different cache levels
US7890699B2 (en) * 2008-01-10 2011-02-15 International Business Machines Corporation Processing unit incorporating L1 cache bypass

Also Published As

Publication number Publication date
KR20090103696A (ko) 2009-10-01
EP2105840A2 (en) 2009-09-30
CN101546300B (zh) 2011-08-17
EP2105840B1 (en) 2012-10-03
JP2009237872A (ja) 2009-10-15
US20090248999A1 (en) 2009-10-01
CN101546300A (zh) 2009-09-30
EP2105840A3 (en) 2011-04-06
KR101052809B1 (ko) 2011-07-29
US8166259B2 (en) 2012-04-24

Similar Documents

Publication Publication Date Title
JP6377844B2 (ja) Sfenceを用いずに最適化されたpio書込みシーケンスを用いるパケット送信
JP5186382B2 (ja) メモリ・システム内で不確定な読み取りデータ待ち時間を可能にする方法及びシステム
JP5233360B2 (ja) メモリ制御装置,メモリ制御装置の制御方法および情報処理装置
US20090067431A1 (en) High performance network adapter (hpna)
US20040151176A1 (en) Device to receive., buffer, and transmit packets of data in a packet switching network
CN112084136A (zh) 队列缓存管理方法、系统、存储介质、计算机设备及应用
US7320056B2 (en) Multi-processor system
CN112491715B (zh) 路由装置及片上网络的路由设备
JP6075169B2 (ja) スイッチ装置、パケット制御方法及びデータ通信システム
EP1891503B1 (en) Concurrent read response acknowledge enhanced direct memory access unit
US7475170B2 (en) Data transfer device for transferring data to and from memory via a bus
KR101495811B1 (ko) 고속의 패킷 라우팅 시스템 장치 및 방법
CN115004163A (zh) 管理跨存储器构架物理层接口的分组传送的设备和方法
EP2133797A1 (en) Dma transfer device and method
US8284790B1 (en) Packet switch with enqueue structure for odering packets
EP2854042A1 (en) Information processing apparatus, data transfer apparatus, and data transfer method
US8072882B1 (en) Method and apparatus for a graceful flow control mechanism in a TDM-based packet processing architecture
JP6127872B2 (ja) 演算処理装置及び演算処理装置の制御方法
US12045190B2 (en) Packet control apparatus and packet control method
JP2010271874A (ja) 情報処理装置および画像形成装置
CN118368337A (zh) 无阻塞片上网络的数据传输方法、装置以及存储介质
JP4263115B2 (ja) データバッファ制御方法およびデータ中継装置
JP2009164911A (ja) バッファ装置
JP4679601B2 (ja) パケット制御回路、パケット処理装置、および、パケット処理方法
JPH098813A (ja) エラスティックバッファ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101216

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121211

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130207

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130311

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5233360

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160405

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees