JP5348698B2 - Information processing apparatus and information processing method - Google Patents
Information processing apparatus and information processing method Download PDFInfo
- Publication number
- JP5348698B2 JP5348698B2 JP2010240447A JP2010240447A JP5348698B2 JP 5348698 B2 JP5348698 B2 JP 5348698B2 JP 2010240447 A JP2010240447 A JP 2010240447A JP 2010240447 A JP2010240447 A JP 2010240447A JP 5348698 B2 JP5348698 B2 JP 5348698B2
- Authority
- JP
- Japan
- Prior art keywords
- load
- buffer
- load data
- accompanying information
- counter
- 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.)
- Active
Links
Images
Landscapes
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
本発明は、情報処理装置に関する。 The present invention relates to an information processing apparatus.
従来より、(1)1つのロード命令から、命令で指定された複数のロードリクエストを生成し、(2)個々のロードリクエストに対するロードデータを一旦ロードバッファに格納し、(3)全てのロードデータがロードバッファに格納されることを識別し、(4)ロードバッファから演算レジスタにロードデータを転送する情報処理装置が知られている。このような情報処理装置は、例えば、特許文献1に開示されている。
Conventionally, (1) a plurality of load requests specified by an instruction is generated from one load instruction, (2) load data for each load request is temporarily stored in a load buffer, and (3) all load data Is known to be stored in a load buffer, and (4) an information processing device is known that transfers load data from the load buffer to an arithmetic register. Such an information processing apparatus is disclosed in
図10は、従来の情報処理装置のうち、ロードデータがロードバッファに格納されたことを判定する整数判定部の構成を示す図である。図10において、701はTAG認識タイミング調整回路で、4つのポートで受けたTAGを8サイクル分持ち回り、ロードバッファからの読み出し順番に対応したタイミングでTAGを識別してカウントする機能を持つ。この整列判定部の動作を図11A及び11Bに示す。
FIG. 10 is a diagram illustrating a configuration of an integer determination unit that determines that load data is stored in a load buffer in a conventional information processing apparatus. In FIG. 10,
図11Aは、整列判定部の動作を示すタイムチャートであり、図11Bは、図11Aに続くタイムチャートである。図11A及び11Bにおいて、縦軸はシーケンスの識別番号(以下No.と示す)であり、横軸はクロック数である。図11A及び11Bは、従来の整列判定部において、理想的にTAGが到着する場合のロードデータをロードバッファ#0に格納する場合の動作を示している。なお、理想的にTAGが到着する様子は、図11AのNo.4〜7に示されている。従来の整数判定部では、図11BのNo.24に示すように、ロードバッファ#0整列判定カウンタが、32要素分のTAG数をカウントする。図11Bでは、No.24のクロック25で、32要素分のTAG数のカウントが完了することにより、ロードデータがロードバッファに格納されたことを判定している。
FIG. 11A is a time chart showing the operation of the alignment determination unit, and FIG. 11B is a time chart following FIG. 11A. 11A and 11B, the vertical axis represents a sequence identification number (hereinafter referred to as “No.”), and the horizontal axis represents the number of clocks. 11A and 11B show an operation in the case of storing load data in the
しかしながら、従来の整数判定部を含む情報処理装置では、ロードデータをロードバッファに一旦格納した後で、レジスタで持ちまわった各々のタイミングで、付随情報(TAG)を識別することにより、全てのリプライ(ロードデータ)が揃っているか否か判定(整列判定)を行なっている。そのため、従来の情報処理装置では、整列判定を行なってから、ロードバッファから演算レジスタにロードデータの転送を開始するまでに時間がかかるという問題を有する。 However, in a conventional information processing apparatus including an integer determination unit, all the replies are identified by identifying the accompanying information (TAG) at each timing carried by the register after the load data is temporarily stored in the load buffer. It is determined whether or not (load data) is aligned (alignment determination). For this reason, the conventional information processing apparatus has a problem that it takes a long time to start the transfer of load data from the load buffer to the arithmetic register after performing the alignment determination.
本発明は、このような問題点に対してなされたものであり、ロードデータを演算レジスタに呼び出すまでに要する時間を短縮することができる情報処理装置を提供することを目的とする。 The present invention has been made to solve such a problem, and an object of the present invention is to provide an information processing apparatus capable of shortening the time required to load data to an operation register.
本発明の係る情報処理装置の一態様は、1つのロード命令から複数のロードリクエストを生成するロードリクエスト分解部と、個々の前記ロードリクエストに対するロードデータを格納し、演算レジスタに転送するロードバッファと、前記ロードリクエスト分解部によって生成された前記ロードリクエストを入力し、前記ロードリクエストに対する前記ロードデータをメインメモリから読み出すと共に、前記メインメモリによって生成された、前記ロードデータを前記ロードバッファから読み出す順番を示す付随情報を、前記ロードデータに先立って送出するよう制御するメモリネットワークと、前記メモリネットワークから受け付けられた当該付随情報に基づいて、前記付随情報に対応する前記ロードデータの到着の遅れを検出し、前記ロードデータの到着の遅れに基づいて、前記ロードバッファから前記演算レジスタへの前記ロードデータの読み出し開始時間を調整する整列判定部と、を備えたことを特徴とする。 One aspect of the information processing apparatus according to the present invention is a load request disassembling unit that generates a plurality of load requests from one load instruction, a load buffer that stores load data for each of the load requests, and transfers the load data to an arithmetic register. The load request generated by the load request decomposition unit is input, the load data for the load request is read from the main memory, and the load data generated by the main memory is read out from the load buffer. And detecting a delay in arrival of the load data corresponding to the accompanying information based on the accompanying information received from the memory network and a memory network that controls the accompanying information to be transmitted prior to the load data. , Said b Based on the delay of the arrival of the Dodeta, characterized in that and a alignment judging unit for adjusting the read start time of the load data from the load buffer to the arithmetic register.
本発明に係る情報処理装置は、ロードデータを演算レジスタに呼び出すまでに要する時間を短縮することができる情報処理装置を提供することができる。 The information processing apparatus according to the present invention can provide an information processing apparatus that can reduce the time required to load data to the arithmetic register.
以下、添付した図面を参照して本発明に係る情報処理装置について説明する。まず、発明の詳細な説明をする前に、後述の実施の形態に係る情報処理装置が示された図1を援用し、本発明に係る情報処理装置の概要について説明する。この情報処理装置は、ロードリクエスト分解部103、メモリネットワーク(行き)104、メモリネットワーク(帰り)106、整列判定部107、及びロードバッファ109を有している。
Hereinafter, an information processing apparatus according to the present invention will be described with reference to the accompanying drawings. First, before detailed description of the present invention, the outline of the information processing apparatus according to the present invention will be described with reference to FIG. 1 showing an information processing apparatus according to an embodiment described later. The information processing apparatus includes a load
ロードリクエスト分解部103は、1つのロード命令から複数のロードリクエストを生成する。メモリネットワーク(行き)104は、ロードリクエスト分解部103によって生成されたロードリクエストを入力し、ロードリクエストに対するロードデータをメインメモリ105から読み出す。メモリネットワーク(帰り)106は、メインメモリ105によって生成された付随情報を、ロードデータに先立って整列判定部107に送出する。付随情報には、ロードデータをロードバッファ109から読み出す順番を示す情報が含まれている。
The load
整列判定部107は、メモリネットワーク(帰り)106から受け付けられた付随情報に基づいて、付随情報に対応するロードデータの到着の遅れを検出する。そして、整列判定部107は、検出されたロードデータの到着の遅れに基づいて、ロードバッファ109から演算レジスタ110へのロードデータの読み出し開始時間を調整する。ロードバッファ109は、個々のロードリクエストに対するロードデータを格納し、演算レジスタ110に転送する。
The
また、ロードリクエスト分解部103は、ロードリクエストの数を整列判定部107に送出する。整列判定部107は、ロードリクエストの数と、受け付けられた付随情報の数を比較することにより、ロードバッファ109から演算レジスタ110への読み出しの開始時間を調整する。
In addition, the load
このように、本発明に係る情報処理装置は、ロードデータに先立って付随情報を整列判定部107に送出し、整列判定部107において付随情報に基づいてロードデータの到着の遅れを検出する。これによって、従来のようにロードデータの到着を待って、すべてのロードデータが揃ったか否かを判定する処理よりも、先行して送られた付随情報に基づいて短時間内ですべてのロードデータがロードバッファに到着したのか否か判定することができる。この結果、ロードバッファ109から演算レジスタ110へのロードデータの転送開始までに要する時間を短縮することができる。
As described above, the information processing apparatus according to the present invention sends the accompanying information to the
実施の形態.
次に、本発明の詳細な構成について説明を行う。図1は、本発明の実施の形態に係る情報処理装置の構成を示す図である。図1において、101は命令発行部で、ロード命令を発行する。102は、使用ロードバッファ決定部で、101で発行されたロード命令が使用するロードバッファ番号を決定し、ロード命令とともに103に送出する。103は、ロードリクエスト分解部で、ロード命令を指定された要素数分のロードリクエストに分解して104に送出するとともに、102において決定されたロードバッファ番号と、ロード命令情報を、ロードバッファ使用通知として整列判定部107に送出する。ロードリクエスト分解部103は、要素数分のロードリクエストに分解する際に、ロードバッファの格納位置情報を付随情報としてロードリクエストに付与して送出する。
Embodiment.
Next, a detailed configuration of the present invention will be described. FIG. 1 is a diagram showing a configuration of an information processing apparatus according to an embodiment of the present invention. In FIG. 1,
104は、メモリネットワーク(行き)で、ロードリクエスト分解部103から送られたロードリクエストと付随情報をメモリアドレスに応じたバンク宛に振り分け、必要に応じてロードリクエスト間の調停を行いメインメモリ105に送出する。105は、メインメモリで、ロードリクエストで指定されたアドレスのデータを、RAM(Random Access Memory)から読み出してメモリネットワーク(帰り)106に送出する。その際、メインメモリ105は、読み出しシーケンスに入ってからデータが読み出されるまでの時間差を利用し、ロードリクエスト付随情報を、データ送出の10サイクル前にメモリネットワーク(帰り)106に送出する。図1中の点線矢印が、帰り側ロードリクエストの付随情報(以下、TAGと呼ぶ)の経路を示している。
106は、メモリネットワーク(帰り)で、メインメモリ105から受けたTAGの情報から、送出先ポートを識別し、TAGとロードデータを調停し、TAGは整列判定部107に、データはロードバッファ109に送出する。その際、メモリネットワーク(帰り)106は、データに対して10サイクル先行して送られてくるTAGとロードデータのタイミングを保ったまま、整列判定部107及びロードバッファ109に、TAGとロードデータを送出する。
107は、整列判定部で、メモリネットワーク(帰り)106より受け取ったTAGからロードバッファ番号を識別して、ロード命令で指定された要素数分のTAGが帰ってきたことを判別し、ロードバッファ109及び演算レジスタ110に、演算レジスタへのロードデータの転送開始指示を送出する。また、整列判定部107は、受け取ったTAGをリプライTAGタイミング調整部108に送出する。
An
108は、リプライTAGタイミング調整部で、4ポート分のリプライTAGを整列判定部107より受け取って、9サイクル分タイミング調整し、メモリネットワーク(帰り)106よりデータがロードバッファ109に送られるタイミングに合わせて、TAGをロードバッファ109に送出する。109は、ロードバッファで、4ポート分のロードデータとTAGを受け取り、TAGからロードバッファ格納位置を識別してロードデータを格納する。また、ロードバッファ109は、整列判定部107からの演算レジスタ転送開始指示を受け取って、指定されたロードバッファ番号のロードデータを順番に読み出して演算レジスタ110に送出する。
110は、演算レジスタで、整列判定部107からの演算レジスタ転送指示を受け取って、ロードバッファ109から送られてきたロードデータを、指定されたレジスタに格納する。また、演算レジスタ110は、整列判定部107から演算開始指示を受けると、格納されているデータを順番に読み出して演算器111に送出する。111は、演算器で、整列判定部107からの指示を受け、演算レジスタ110より送られてきたロードデータに対し、指定された演算を行った後、演算レジスタ110に格納する。なお、演算器111の出力を演算レジスタ110に格納する動作は、一般的な動作であるので図では省略している。
An
図2は、本発明の実施の形態に係る情報処理装置における、整列判定部の構成を示す図である。ここで、ロードデータが保持されるロードバッファ109は、ロードバッファ#0とロードバッファ#1によって構成されている。整列判定部107は、ロードバッファ#0の演算レジスタ110への転送タイミングを管理する部分と、ロードバッファ#1の演算レジスタ110への転送タイミングを管理する部分により構成されている。
FIG. 2 is a diagram showing a configuration of the alignment determination unit in the information processing apparatus according to the embodiment of the present invention. Here, the
ロードバッファ#0側の管理部分は、TAG数カウンタ201、カウンタセット値最大値検出回路202、整列判定カウンタ制御回路210、整列判定カウンタ271、ロード命令情報格納レジスタ270、整列タイミング調整カウンタ制御回路211、整列タイミング調整カウンタ272、演算レジスタ転送開始条件確認回路220を備えている。
The management part on the
一方、ロードバッファ#1側の管理部分は、TAG数カウンタ203、カウンタセット値最大値検出回路204、整列判定カウンタ制御回路212、整列判定カウンタ275、ロード命令情報格納レジスタ274、整列タイミング調整カウンタ制御回路213、整列タイミング調整カウンタ276、演算レジスタ転送開始条件確認回路221を備えている。
On the other hand, the management part on the
図2において、250は、TAG受付レジスタで、メモリネットワーク(帰り)106より送出された4ポート分のTAGを受け取り、1サイクル保持する。TAG受付レジスタ250は、ロードバッファ#0と#1で共有されている。
In FIG. 2,
ロードバッファ#0側の管理部分とロードバッファ#1側の管理部分は、略同一構成を備えている。以下では、ロードバッファ#0側を例にして各要素の説明を行う。201は、ロードバッファ#0用のTAG数カウンタで、ロードバッファ#0宛ての1クロック中のTAG数をカウントする。本実施の形態では、カウント結果の最大値は、ポート数と同じ「4」である。
The management part on the
202は、ロードバッファ#0用のカウンタセット値最大値検出回路で、ロードバッファ#0宛てのTAGから要素番号を識別し、要素番号に対応したカウンタセット値の最大値を検出する。具体的には、カウンタセット値最大値検出回路202は、予め定められた図6の表に従って、複数のTAGに含まれる要素番号に対応するカウンタセット値をそれぞれ参照し、参照したカウンタセット値のうち、最大のカウンタセット値を保持する。換言すれば、カウンタセット値最大値検出回路202は、TAGに含まれる要素番号に基づいて、TAGに対応するロードデータの遅延を検出する。また、カウンタセット値最大値検出回路202は、要素番号に対応するカウンタセット値の最大値を保持することで、複数のロードデータの有する遅延時間のうち、最大の遅延時間に基づいて転送開始時間を調整する機能を果たしている。
210は、ロードバッファ#0用の整列判定カウンタ制御回路である。整列判定カウンタ制御回路210は、整列判定カウンタ271の値からTAG数カウンタ201の出力値を引いて、整列判定カウンタ271に戻す。また、ロードバッファ#0用の整列判定カウンタ制御回路210は、ロードリクエスト分解部103よりロードバッファ使用通知を受けると、要素数情報を識別して、要素数を整列判定カウンタ271にセットする機能を持つ。
211は、ロードバッファ#0用の整列タイミング調整カウンタ制御回路で、カウンタセット値最大値検出回路202の出力であるカウンタセット値の最大値と、整列タイミング調整カウンタ272の値を比較し、カウンタセット値最大値検出回路202の出力値が、整列タイミング調整カウンタ272の値以上であった場合には、カウンタセット値最大値検出回路202の出力値を、整列タイミング調整カウンタ272にセットする。整列タイミング調整カウンタ制御回路211は、それ以外の場合は、整列タイミング調整カウンタ272に保持されている値を−1とした後、その値を整列タイミング調整カウンタ272に保持する。すなわち、整列タイミング調整カウンタ制御回路211は、付随情報に基づいて、ロードデータの到着の遅れを検出し、到着の遅れを考慮して転送開始時間を調整する機能を果たしている。
なお、整列タイミング調整カウンタ制御回路211は、ロードリクエスト分解部103よりロードバッファ使用通知を受け取ったタイミングでは、特別な制御は行わず、TAGがメモリネットワーク(帰り)106より戻ったタイミングで上記の動作を行う。
The alignment timing adjustment
270は、ロードバッファ#0用のロード命令情報格納レジスタで、ロードリクエスト分解部103よりロードバッファ使用通知を受けると、演算レジスタ番号等のロード命令情報を保持する機能をもつ。ロード命令情報格納レジスタ270は、演算レジスタ転送開始指示を送出するタイミングでリセットされる。271は、ロードバッファ#0用の整列判定カウンタで、メインメモリ105からの残りロードデータ要素数値が格納される。272は、ロードバッファ#0用の整列タイミング調整カウンタで、整列判定カウンタ271の値が"0"となった場合に、演算レジスタ転送開始指示を送出するまでのサイクル数(待ちサイクル数)が格納される。
A load instruction
220は、ロードバッファ#0用の演算レジスタ転送開始条件確認回路であり、以下の(1)乃至(5)用件をすべて満足した場合に、演算レジスタ転送開始信号を調停回路230に出力する。
(1)有効なロード命令がロード命令情報格納レジスタ270に格納されていること
(2)整列判定カウンタ271の出力が"0"であること
(3)整列タイミング調整カウンタ272の出力が"0"であること
(4)ロードデータ転送パスがビジーで無いこと
(5)転送先の演算レジスタがビジーで無いこと
An arithmetic register transfer start
(1) A valid load instruction is stored in the load instruction
また、ロードバッファ#0とロードバッファ#1で共有される273は、ビジーフラグ群である。ビジーフラグ群は、ロードバッファ109から演算レジスタ110へのロードデータ転送パスのビジーフラグやデータコヒーレンシを考慮した演算レジスタへの書き込みタイミング制御フラグなどから構成されている。データパス制御やコヒーレンシ制御は一般的な動作であるため、ここでは詳しい機能・動作については省略する。230は、調停回路で、演算レジスタ転送開始条件確認回路220と221の両方から演算レジスタ転送開始信号が送出された場合に、先行のロード命令を有効にするなどの調停を行って演算レジスタ転送開始信号保持レジスタ280に出力する。280は、演算レジスタ転送開始信号保持レジスタで、1サイクルの間、演算レジスタ転送開始信号を保持する。
Also, 273 shared by the
以下、ロードバッファ#1側についても、ロードバッファ#0用の各要素と同じ機能を有する要素を有する。すなわち、203は、TAG数カウンタ(ロードバッファ#1用)で、TAG数カウンタ(ロードバッファ#0用)201と同等の機能を持つ。204は、カウンタセット値最大値検出回路(ロードバッファ#1用)で、カウンタセット値最大値検出回路(ロードバッファ#0用)202と同等の機能を持つ。274は、ロード命令情報格納レジスタ(ロードバッファ#1用)で、ロード命令情報格納レジスタ(ロードバッファ#0用)270と同等の機能を持つ。275は、整列判定カウンタ(ロードバッファ#1用)で、整列判定カウンタ(ロードバッファ#0用)271と同等の機能を持つ。
Hereinafter, the
276は、整列タイミング調整カウンタ(ロードバッファ#1用)で、整列タイミング調整カウンタ(ロードバッファ#0用)272と同等の機能を持つ。212は、整列判定カウンタ制御回路(ロードバッファ#1用)で、整列判定カウンタ制御回路(ロードバッファ#0用)210と同等の機能を持つ。213は、整列タイミング調整カウンタ制御回路(ロードバッファ#1用)で、整列タイミング調整カウンタ制御回路(ロードバッファ#0用)211と同等の機能を持つ。221は、演算レジスタ転送開始条件確認回路(ロードバッファ#1用)で、演算レジスタ転送開始条件確認回路(ロードバッファ#0用)220と同等の機能を持つ。
次に、ロードバッファ109の詳細な構成について説明する。図3には、32個に分解されたロードリクエストに対する、メモリからの32個のロードデータe00〜e31が、ロードバッファ109において格納される様子が示されている。ロードバッファ109は、ロードバッファ要素300乃至303を有している。また、ロードバッファ要素300乃至303は、それぞれロードバッファ#0とロードバッファ#1に割り当てられている。図3では、ロードバッファ要素300乃至303は、同時に2つのロード命令分のロードデータを格納する容量があることを示している。
Next, a detailed configuration of the
具体的には、ロードバッファ要素300は、ポート#0に入力されたロードデータを格納するロードバッファの一部であり、ロードデータe00、e04、e08、e12、e16、e20、e24、e28が格納される。ロードバッファ要素300は、整列判定部107から演算レジスタ転送開始信号が入力されると、e00、e04、e08、e12、e16、e20、e24、e28の順番でロードデータを読み出して演算レジスタ110に送出する。
Specifically, the
ロードバッファ要素301は、ポート#1に入力されたロードデータを格納するロードバッファの一部で、ロードバッファ要素300と同等の機能を持つ。格納されるロードデータは、ロードバッファ要素300と異なり、ロードデータe01、e05、e09、e13、e17、e21、e25、e29が格納される。読み出される順番は、e01から順に演算レジスタ110に読み出される。
The
ロードバッファ要素302は、ポート#2に入力されたロードデータを格納するロードバッファの一部で、ロードバッファ要素300と同等の機能を持つ。格納されるロードデータは、ロードデータe02、e06、e10、e14、e18、e22、e26、e30が格納される。読み出される順番は、ロードデータe02から順番に読み出される。ロードバッファ要素303は、ポート#3に入力されたロードデータを格納するロードバッファの一部で、ロードバッファ要素300と同等の機能を持つ。格納されるロードデータは、ロードデータe03、e07、e11、e15、e19、e23、e27、e31であり、e03から順に読み出される。
The
図4は、本実施の形態に係る情報処理装置における、ロードバッファと演算レジスタの接続関係を示す図である。ロードバッファ109は、4つのSRAM(Static Random Access Memory)からなるロードバッファ要素300〜303により構成されている。ロードバッファ要素300には、TAGとロードデータが同じタイミングで届くが、ロードバッファ要素300において、TAGからSRAMのライトアドレスを生成し、ロードデータが到着した2サイクル後のタイミングでロードデータをSRAMに書き込む。
FIG. 4 is a diagram illustrating a connection relationship between the load buffer and the arithmetic register in the information processing apparatus according to the present embodiment. The
ロードバッファ要素300は、整列判定部107から演算レジスタ転送開始信号が届くと、演算レジスタ転送開始信号からリードアドレスを生成し、演算レジスタ転送開始信号が届いた3サイクル後に読み出されたロードデータを演算レジスタ110に送出する。ロードバッファ109は、演算レジスタ転送開始信号が届いた後、指定された要素数の読み出しが完了するまでリードアドレスをインクリメントして連続してロードデータを演算レジスタ110に送出する。
When the arithmetic register transfer start signal arrives from the
次に、このように構成された情報処理装置の動作について説明する。図5は、本発明の実施の形態に係る情報処理装置の動作を示すフローチャートであり、図7A及び7Bは、本発明の実施の形態に係る情報処理装置の動作を示すタイムチャートである。図7A及び7Bにおいて、縦軸はシーケンスの識別番号を示し、横軸はクロック数を示している。本説明では、シーケンスの識別番号を「No.」と示し、クロック数を、「クロック」と示す。はじめに、命令発行部101から、要素数32のロード命令が発行されると、使用ロードバッファ決定部102は、使用するロードバッファ番号(例えば、#0)を決定する。また、使用ロードバッファ決定部102は、要素数と同じ32個分に相当するロードリエストを生成する(S400)。
Next, the operation of the information processing apparatus configured as described above will be described. FIG. 5 is a flowchart showing the operation of the information processing apparatus according to the embodiment of the present invention, and FIGS. 7A and 7B are time charts showing the operation of the information processing apparatus according to the embodiment of the present invention. 7A and 7B, the vertical axis represents the sequence identification number, and the horizontal axis represents the number of clocks. In this description, the sequence identification number is indicated as “No.”, and the number of clocks is indicated as “clock”. First, when a load instruction having 32 elements is issued from the
ロードリクエスト分解部103は、使用ロードバッファ決定部102によって生成されたロードリクエストを、要素数32個のロードリクエストに分解すると共に、ロードバッファ番号#0とロード命令情報から成るロードバッファ使用通知を整列判定部107に送出する(S401)。なお、ロードリクエスト分解部103から送出されるロードバッファ使用通知は、図7BのタイムチャートのNo.22のクロック2に示されている。
The load
また、整列判定部107は、ロードリクエスト分解部103からロードバッファ使用通知を受けると、ロード命令情報格納レジスタ270に、ロード命令情報をセットする(S401)。そして、整列判定部107は、整列判定カウンタ271に、要素数"32"をセットする(S402)。なお、ロードバッファ#0用の整列判定カウンタ271に要素数"32"がセットされる動作は、図7BのタイムチャートのNo.24のクロック3に示されている。
When receiving the load buffer use notification from the load
ここで、ロードリクエスト分解部103で生成された要素数32個分のロードリクエストは、メモリネットワーク(行き)104でアドレスが指定するメモリバンクにルーティングされてメインメモリ105の1つのメモリバンクに送られる。メインメモリ105は、ロードリクエストを受けつけると、RAMの読み出しシーケンスを開始する。メインメモリ105は、読み出したロードデータ出力の10サイクル前に、TAGをメモリネットワーク(帰り)106に送出する。その後、メインメモリ105は、TAGの10サイクル後に、ロードデータをメモリネットワーク(帰り)106に送出する。
Here, the load request for 32 elements generated by the load
メモリネットワーク(帰り)106は、受け取ったTAGから、ポート情報を識別してルーティングを行い整列判定部107に送出する。整列判定部107は、到着したTAGを識別し、ロードバッファ#0の到着TAG数と、ロードバッファ#1の到着TAG数を201及び203でカウントする(S403)。整列判定部107によりカウントされる到着TAG数については、図7AのNo.20に示されている。具体的には、No.20において、クロック7で識別された到着TAG数は"4"である。
The memory network (return) 106 identifies port information from the received TAG, performs routing, and sends it to the
整列判定カウンタ制御回路210は、整列判定カウンタ271に格納されているNo.24のクロック7の値"32"から、クロック7で到着した到着TAG数201の出力値"4"を引いた値である"28"を整列判定カウンタ271にセットする(S404)。この動作を、図7BのタイムチャートのNo24のクロック8に示す。
The alignment determination
ロードバッファ#0用のカウンタセット値最大値検出回路202は、ロードバッファ#0の到着TAGから、要素番号を識別し、図6の表に従って要素番号に対応するカウンタセット値を得る。具体的には、クロック7では、No.4のポート#0には要素00が、No.5のポート#1には要素01が、No.6のポート#2には要素02が、No.7のポート#3には要素03が到着している。図6を参照すれば、要素00、01、02、03に対応するカウンタセット値は、順に"7"、"7"、"7"、"7"と全て"7"である。よって、カウンタセット値最大値検出回路202の出力値は、最大値である"7"に設定される。この最大値は、整列タイミング調整カウンタ制御回路211に出力される(S405)。この動作は、図7BのタイムチャートのNo.27のクロック7に示されている。
The counter set value maximum
次に、整列タイミング調整カウンタ制御回路211は、カウンタセット値最大値検出回路202の出力値"7"と、ロードバッファ#0用の整列タイミング調整カウンタ272の格納値"0"を比較する(S406)。ここで、カウンタセット値最大値検出回路202の出力値"7"は、整列タイミング調整カウンタ272の格納値"0"以上であるため(S406においてNO)、整列タイミング調整カウンタ制御回路211は、カウンタセット値最大値検出回路202の出力値"7"を整列タイミング調整カウンタ272にセットする(S408)。この動作は、図7BのタイムチャートのNo.30のクロック8に示されている。
Next, the alignment timing adjustment
次に、演算レジスタ転送開始条件確認回路220は、整列タイミング調整カウンタ値と整列判定カウンタ値が、いずれもが"0"であるか否か判定する(S409)。ここで、図7Bのクロック8において、整列判定カウンタの値は"28"であり、整列タイミング調整カウンタの値は"7"であるため(S409においてNO)、ステップS403に戻る。図7BのタイムチャートのNo.32のクロック8において、演算レジスタ転送開始条件確認回路220は、演算レジスタ転送開始信号を有効としない。
Next, the arithmetic register transfer start
ステップS403に戻り、整列判定部107は、到着したTAGを識別し、ロードバッファ#0の到着TAG数と、ロードバッファ#1の到着TAG数を201及び202でカウントする。ここで、図7AのNo.4〜7のクロック8では、ポート#0には要素04が、ポート#1には要素05が、ポート#2には要素06が、ポート#3には要素07が到着している。そのため、到着TAG数であるTAG数カウンタ201の出力値は、"4"となる。この動作は、図7AのタイムチャートのNo.20のクロック8に示されている。
Returning to step S403, the
ステップS404に進み、整列判定カウンタ制御回路210は、整列判定カウンタ271に格納されている値"28"からTAG数カウンタ201の出力値"4"を引いて、"24"を整列判定カウンタ271にセットする。この動作は、図7BのNo.24のクロック9に示されている。
In step S 404, the alignment determination
続いて、ステップS405に進み、カウンタセット値最大値検出回路202は、ロードバッファ#0の到着TAGから、要素番号を識別し、図6の表に従って要素番号に対応するカウンタセット値を得る。ここで、クロック8では、各ポートの要素番号に相当するカウンタセット値は、順に"6"、"6"、"6"、"6"と全て"6"である。よって、カウンタセット値最大値検出回路202は、最大値である"6"を整列タイミング調整カウンタ制御回路211に出力する。この動作は、図7BのNo.27のクロック8に示されている。
In step S405, the counter set value maximum
ステップS406において、カウンタセット値最大値検出回路202の出力値"6"が整列タイミング調整カウンタ272の格納値"7"より小さいため(ステップS406においてYES)、整列タイミング調整カウンタ制御回路211は、"7"を−1し、算出した値"6"を、整列タイミング調整カウンタ272にセットする。この動作は、図7BのNo.30のクロック9に示されている。
In step S406, since the output value “6” of the counter set value maximum
ステップS409において、演算レジスタ転送開始条件確認回路220は、整列判定カウンタ271および整列タイミング調整カウンタ272の出力が"0"であるか否か判定する。いずれも"0"でないため(ステップS409においてNO)、ステップS403に戻る。すなわち、図7BのNo.32のクロック9に示すように、演算レジスタ転送開始条件確認回路220は、演算レジスタ転送開始信号は有効としない。
In step S409, the arithmetic register transfer start
以降、32個の要素中28個の要素のTAGが、整列判定部107に到着するまで、ステップ403〜S409の処理が繰り返される。この間、整列判定カウンタ271の値は"28"、"24"、"20"、"16"、"12"、"8"、"4"と順に変化する。一方、整列タイミング調整カウンタ272の値は、"7"、"6"、"5"、"4"、"3"、"2"、"1"と変化する。
Thereafter, the processes of steps 403 to S409 are repeated until TAGs of 28 elements out of 32 elements arrive at the
次に、図7AのタイムチャートのNo.4〜7のクロック14においては、32要素中、最後の4要素が到着している。具体的には、ポート#0には要素28が、ポート#1には要素29が、ポート#2には要素30が、ポート#3には要素31がそれぞれ到着している。よって、ステップS403において、TAG数カウンタ201の出力値は"4"となる。この動作は、図7AのNo.20のクロック14に示されている。
Next, No. in the time chart of FIG. In the 4 to 7
ステップS404では、整列判定カウンタ271に保持されている値"4"から、TAG数カウンタ201の出力値"4"を減ずることで、整列判定カウンタ271には"0"が格納される。この動作は、図7BのNo.24のクロック15に示されている。
In step S <b> 404, “0” is stored in the
続いて、ステップS405に移り、図6の表を参照し、各要素番号に対応するカウンタセット値を算出する。ここで、図6では、各用度番号に対応するカウンタセット値は、順に"0"、"0"、"0"、"0"と全て"0"である。よって、カウンタセット値最大値検出回路202の出力値は最大値である"0"を、整列タイミング調整カウンタ制御回路211に出力する。この動作は、図7BのNo.27のクロック14に示されている。
Subsequently, the process proceeds to step S405, and a counter set value corresponding to each element number is calculated with reference to the table of FIG. Here, in FIG. 6, the counter set values corresponding to the respective usage numbers are “0”, “0”, “0”, “0” and all “0” in order. Therefore, the counter set value maximum
ステップS406において、整列タイミング調整カウンタ制御回路211は、カウンタセット値最大値検出回路202の出力値"0"が整列タイミング調整カウンタ272の格納値"1"より小さいため(ステップS406においてYES)、整列タイミング調整カウンタ272の格納値"1"を−1して"0"を整列タイミング調整カウンタ272にセットする(ステップS407)。この動作は、図7BのタイムチャートのNo.30のクロック15に示されている。
In step S406, the alignment timing adjustment
ステップS409において、演算レジスタ転送開始条件確認回路220は、整列判定カウンタ271及び整列タイミング調整カウンタ272の出力がどちらも"0"であることを確認する。また、演算レジスタ転送開始条件確認回路220は、ロード命令情報格納レジスタ270に、有効なロード命令情報が格納されており、かつ、ビジーフラグが立っていないことを確認し、演算レジスタ転送開始信号を有効とする。
In step S409, the operation register transfer start
ここで、ロードバッファ#1側には有効なロード命令情報が存在しないため、ロードバッファ#1用の演算レジスタ転送開始条件確認回路221の出力は有効とされない。調停回路230は、ロードバッファ#0用の演算レジスタ転送開始条件確認回路220が出力する演算レジスタ転送開始信号を選択し、演算レジスタ転送開始信号保持レジスタ280に出力する。この動作は、図7BのタイムチャートのNo.32のクロック16に示されている。
Here, since there is no valid load instruction information on the
その後、演算レジスタ転送開始信号保持レジスタ280から、ロードバッファ109及び演算レジスタ110に対して演算レジスタ転送開始信号を送出する(ステップS410)。ロードバッファ109では、演算レジスタ転送開始指示をレジスタで受けてリードアドレスを生成する。この動作は、図7BのタイムチャートのNo.34のクロック17に示されている。
Thereafter, an arithmetic register transfer start signal is sent from the arithmetic register transfer start signal holding register 280 to the
そして、整列判定部107は、ロードバッファ109及び110に対して演算レジスタ転送開始指示を送出すると同時に、ステップS411において、ロードバッファ#0の開放通知をロードリクエスト分解部103に送出し、ロード命令情報格納レジスタ270をクリアする。この動作を、図7BのタイムチャートのNo.49のクロック17に示す。
Then, the
ロードバッファ109は、リードアドレスをインクリメントして順次ロードデータを読み出して、演算レジスタ110に送出する。演算レジスタ110は、整列判定部107より演算レジスタ転送開始指示を受けた後、ロードバッファ109より送られてくるロードデータを、指示された演算レジスタに格納していく。
The
以降、ロードバッファ109は、32要素全部を読み出し、演算レジスタ110は、受け取ったロードデータを32要素分格納する。これにより、1つのロード命令に対する一連の動作が完了する。
Thereafter, the
次に、図8A及び8Bを用いて、本実施の形態に係る情報処理装置の動作を説明する。図8A及び8Bは、TAG(及びロードデータ)の到着順序が乱れた場合のタイムチャートである。なお、基本的な動作については、変更が無いため、特徴のある箇所に着目して説明する。また、図8A及び8Bのシーケンスの識別番号(No.)は、図7A及び7Bのシーケンスの識別番号(No.)に対応しているため、各シーケンス名は図8A及び8Bでは省略している。 Next, the operation of the information processing apparatus according to the present embodiment will be described with reference to FIGS. 8A and 8B. 8A and 8B are time charts when the arrival order of TAG (and load data) is disturbed. In addition, since there is no change about a basic operation | movement, it demonstrates paying attention to a characteristic location. 8A and 8B corresponds to the identification number (No.) of the sequence in FIGS. 7A and 7B, and therefore each sequence name is omitted in FIGS. 8A and 8B. .
図7A及び7Bでは、TAGが順番通り理想的に到着する場合を示しており、例えば、図7A及び7Bにおいて、要素00のTAGはNo.4のクロック7で整列判定部107に到着している。しかしながら、図8AではNo.4のクロック15で要素00が到着している。また、図8Aでは、さらにその1サイクル後(クロック16)に、要素28が到着している。また、図8Aでは、No.4のクロック14で示すように、TAGが到着しないタイミングも存在する。なお、実際の情報処理装置では、メモリバンクビジーやネットワーク競合などの影響により、図8A及び8Bに示すように、到着する要素の順番が入れ替わったり、間隙が空くことは頻繁に発生する現象である。
7A and 7B show a case where TAGs arrive ideally in order. For example, in FIGS. 4 arrives at the
次に、図5のフローチャートに従って、図8A及び8Bの場合の情報処理装置の動作を説明する。なお、ステップS400〜402については、前述の通りであるので省略する。ステップS403において、1クロック内で到着したTAG数がカウントされる。例えば、図8Aのクロック7では、ロードバッファ#0宛てのTAGの到着数は"3"なのでNo.20のクロック7におけるTAG数カウンタ201の出力値も"3"となる。
Next, the operation of the information processing apparatus in the case of FIGS. 8A and 8B will be described according to the flowchart of FIG. Steps S400 to S402 are the same as described above, and will be omitted. In step S403, the number of TAGs that arrive within one clock is counted. For example, in the
ステップS404では、クロック7において保持される整列判定カウンタ271の値"32"から、到着TAG数"3"を減じた値である"29"が、整列判定カウンタ271に格納される。この動作が、No.24のクロック8に示されている。
In step S <b> 404, “29”, which is a value obtained by subtracting the arrival tag number “3” from the value “32” of the
ステップS405では、最大カウントセット値が算出される。具体的には、図8AのNo.4〜7には、クロック14において要素26と要素31が到着している。図6を参照すれば、各要素26、31に対応するカウンタセット値は"1"と"0"である。よって、最大値である"1"が、カウンタセット値最大値検出回路202から出力される。
In step S405, the maximum count set value is calculated. Specifically, No. 8 in FIG.
ステップS406では、整列タイミング調整カウンタ272の値がカウンタセット値最大値検出回路202の出力値よりも大きいか否か判定される。クロック14において、整列タイミング調整カウンタ272の値"1"は、カウンタセット値最大値検出回路202の出力値"1"と同じなので(ステップS406においてNO)、カウンタセット値最大値検出回路202の出力値"1"が、整列タイミング調整カウンタ272にセットされる(ステップS408)。
In step S406, it is determined whether or not the value of the alignment
一方、特徴的なクロックについて着目すると、No.4〜7のクロック15では、遅れて到着した要素00と要素30が到着しており、各要素00、30に対応するカウンタセット値は"7"と"0"である。よって、ステップS405では、最大値である"7"がカウンタセット値最大値検出回路202より出力される。ステップS406では、整列タイミング調整カウンタ272の値"1"は、カウンタセット値最大値検出回路202の出力値"7"より小さいので(ステップS406においてNO)、カウンタセット値最大値検出回路202の出力値"7"を、整列タイミング調整カウンタ272にセットする。
On the other hand, when focusing on the characteristic clock, no. In the
次に、図8AのNo.4〜7のクロック16では、要素28と要素29と要素23が到着している。ステップS405において、要素に対応するカウンタセット値はそれぞれ"0"と"0"と"2"なので、最大値"2"がカウンタセット値最大値検出回路202より出力される。ステップS406では、整列タイミング調整カウンタ272の値"7"はカウンタセット値最大値検出回路202の出力値である"2"より大きいので(S406においてYES)、"7"を−1した"6"を整列タイミング調整カウンタ272にセットする。
Next, in FIG. In the
また、クロック16では、最後の3つのTAGが到着したため、ステップS404において、整列判定カウンタ271の値に"0"がセットされる。
In
その後、TAGの到着は無いため、No.30に示される整列タイミング調整カウンタ272の値は、1ずつ減算され、クロック23で"0"となる。そして、クロック23において、整列判定カウンタ271(No.24)と整列タイミング調整カウンタ272(No.30)の値が共に"0"となるため、演算レジスタ転送開始条件確認回路220は、このタイミングで、有効な演算レジスタ転送開始信号を出力する。この動作が図8BのNo.32のクロック24に示されている。
After that, no TAG arrived. The value of the alignment
そして図7A及びBと同様に、調停回路230と演算レジスタ転送開始信号保持レジスタ280を経て、演算レジスタ転送開始信号がロードバッファ109及び演算レジスタ110に送出される。これにより、ロードデータの転送が開始される。
7A and 7B, the operation register transfer start signal is sent to the
このように、本実施の形態に係る情報処理装置では、整列判定カウンタ271と整列タイミング調整カウンタ272の2つのカウンタ制御を連携させることで、ロードバッファにてデータ一貫性を損なうことなく、最速のタイミングで演算レジスタ110にロードデータを格納可能となる。
As described above, in the information processing apparatus according to the present embodiment, the two counter controls of the
また、本実施の形態に係る情報処理装置では、TAGをロードデータに先行して送出する構成を有することで、カウンタを利用して最適なタイミングでロードバッファから演算レジスタへのデータ転送を開始できる。そのため、少ない面積の投資でロードTATを短縮し装置の処理能力を向上させることが可能となる。 In addition, the information processing apparatus according to the present embodiment has a configuration in which the TAG is transmitted prior to the load data, so that the data transfer from the load buffer to the arithmetic register can be started at an optimal timing using the counter. . Therefore, it is possible to shorten the load TAT and improve the processing capacity of the apparatus with a small area investment.
次に、図9A及び9Bの比較例を用いて、さらに本実施の形態の効果について説明する。本実施の形態では、カウンタセット値最大値検出回路202の最大値と整列タイミング調整カウンタ272の値と比較して、転送開始時間を調整していた。これに対し、図9A及び9Bの比較例では、カウンタセット値最大値検出回路202の出力値が"1"以上であった場合は、カウンタセット値最大値検出回路202の最大値と整列タイミング調整カウンタ272の値と比較することなく、整列タイミング調整カウンタ272に、カウンタセット値最大値検出回路202の出力値をセットする論理を有しているものとする。なお、図9A及び9BのTAG到着タイミングは、図8A及び9Bと同じであるとする。また、各シーケンス番号(No.)は、図7A及び7Bの(No.)にそれぞれ対応しているため、図示については省略する。
Next, the effect of the present embodiment will be further described using a comparative example of FIGS. 9A and 9B. In this embodiment, the transfer start time is adjusted by comparing the maximum value of the counter set value maximum
この比較例では、クロック17で、No.30に示される整列タイミング調整カウンタ272の値に"2"がセットされている。そのため、カウンタ値がディクリメントされ、2サイクル後のNo.30のクロック19で、整列タイミング調整カウンタ272の値が"0"となる。これをトリガとして、演算レジスタ転送開始指示がロードバッファ109及び演算レジスタ110に送出され、ロードデータの転送が開始される。この図9A及び9Bの比較例では、カウンタセット値最大値検出回路202の最大値と整列タイミング調整カウンタ272の値と比較していないため、要素00のロードデータがロードバッファに格納される前に、読み出しが開始されてしまうことがわかる。そのため、比較例では、データの一貫性が損なわれることが分かる。
In this comparative example, no. The value of the alignment
これに対し、本実施の形態に係る情報処理装置では、カウンタセット値最大値検出回路202の最大値と整列タイミング調整カウンタ272の値と比較し、TAG到着の最大遅延時間を考慮して読み出しを開始することができる。そのため、図8A及びBに示すように、データの一貫性が損なわれることなく、ロードデータを読み出すことができる。
On the other hand, in the information processing apparatus according to the present embodiment, the maximum value of the counter set value maximum
また、背景技術に記載した従来の情報処理装置では、図11Aに示すように、レジスタ701にてリプライTAGのタイミング調整を行っていた。すなわち、読み出し順番に対応するタイミングで、有効なリプライTAGであることを識別していた。そのため、必要論理を構成する場合は、同時読み出し数が8以上の特殊なRAMを使用するか、レジスタを用いる必要が有り、必要面積が増大してしまうという問題点があった。
Further, in the conventional information processing apparatus described in the background art, the timing of the reply TAG is adjusted by the
これに対し、本実施の形態に係る情報処理装置のリプライTAGタイミング調整機能は、108の機能を説明しているとおり、9サイクル分ロードデータを転送するタイミングを調整する機能のみを追加すればよいので、Write Port1個、Read Port1個(1R1W)の汎用的なRAMで構成することが可能であり、必要面積が少なく済むという利点がある。
On the other hand, the reply TAG timing adjustment function of the information processing apparatus according to the present embodiment only needs to add a function for adjusting the timing for transferring the load data for 9 cycles as described in the
なお、本発明は、上記の説明に限られるものではなく、当業者によって種々の設計変更を実施することが可能である。例えば、メインメモリ105のメモリバンク数とロードバッファ109のポート数は一致している必要は無く、さまざまなバリエーションを取ることが可能である。また、ロードバッファ109のSRAM構成やロードバッファ数および演算レジスタ110への出力線数もさまざまなバリエーションを取ることが可能である。また、1つのロード命令で32個以下または32個以上のロードリクエストに分解するような命令セットの構成とすることも可能である。
The present invention is not limited to the above description, and various design changes can be implemented by those skilled in the art. For example, the number of memory banks in the
また、レジスタ挿入によるクロック高速化についても対応可能である。また、1つのロード命令から生成されるロードリクエスト数が増える場合には、ロードバッファから演算レジスタへのデータ転送サイクルが増加する分、TAGをロードデータに先行して送出するとTAT短縮効果が大きくなる。 In addition, it is possible to cope with clock speedup by register insertion. Also, when the number of load requests generated from one load instruction increases, the TAT shortening effect is increased by sending the TAG in advance of the load data because the data transfer cycle from the load buffer to the operation register increases. .
具体的には、1つのロード命令から64個のロードリクエストが生成される命令セットでは、実施例の延長で実装するとロードバッファから演算レジスタへの転送サイクルが16サイクルとなり、実施例より8サイクル増加する。この場合、実施の形態ではロードデータに対して10サイクル早くTAGを送出していたところを、18サイクル早くTAGを送出する構成とすると、最大のロードTAT短縮効果が得られる。 Specifically, in an instruction set in which 64 load requests are generated from one load instruction, when implemented as an extension of the embodiment, the transfer cycle from the load buffer to the operation register is 16 cycles, which is an increase of 8 cycles from the embodiment. To do. In this case, when the TAG is sent 10 cycles earlier than the load data in the embodiment, the maximum load TAT shortening effect can be obtained if the TAG is sent 18 cycles earlier.
なお、この場合、図6のカウンタセット値の対応表は次のような手順により作成することができる。すなわち、最大のTAT短縮効果を得るために、TAGを18サイクル早く送出する構成では、ロードバッファ読み出し順で一番最後となるサイクルの要素番号"60"、"61"、"62"、"63"のカウンタセット値を0として、その1つ前に読み出される要素番号"56"、"57"、"58"、"59"のカウンタセット値を1とする。このように読み出し順番が早くなる毎にカウンタセット値を増やしていくようにして対応表を作成することができる。この場合、要素番号0、1、2、3のカウントセット値は15となる。
In this case, the counter set value correspondence table of FIG. 6 can be created by the following procedure. That is, in order to obtain the maximum TAT shortening effect, in the configuration in which the TAG is sent 18 cycles earlier, the element numbers “60”, “61”, “62”, “63” of the last cycle in the load buffer reading order. The counter set value of “0” is set to 0, and the counter set values of element numbers “56”, “57”, “58”, and “59” read immediately before are set to 1. In this way, the correspondence table can be created by increasing the counter set value every time the reading order is advanced. In this case, the count set value of
また、図5のフローチャートに示される情報処理方法は、プログラムとして実施することもでき、このプログラムは、様々な記録媒体に格納することもできる。 The information processing method shown in the flowchart of FIG. 5 can also be implemented as a program, and this program can also be stored in various recording media.
101 命令発行部
102 使用ロードバッファ決定部
103 ロードリクエスト分解部
105 メインメモリ
104、106 メモリネットワーク
107 整列判定部
109 ロードバッファ
110 演算レジスタ
111 演算器
201、203 TAG数カウンタ
202、204 カウンタセット値最大値検出回路
210、212 整列判定カウンタ制御回路
211、213 整列タイミング調整カウンタ制御回路
220、221 演算レジスタ転送開始条件確認回路
230 調停回路
270、274 ロード命令情報格納レジスタ
271、275 整列判定カウンタ
272、276 整列タイミング調整カウンタ
273 ビジーフラグ群
280 演算レジスタ転送開始信号保持レジスタ
300〜303 ロードバッファ要素
101
Claims (8)
個々の前記ロードリクエストに対するロードデータを格納し、演算レジスタに転送するロードバッファと、
前記ロードリクエスト分解部によって生成された前記ロードリクエストを入力し、前記ロードリクエストに対する前記ロードデータをメインメモリから読み出すと共に、前記メインメモリによって生成された、前記ロードデータを前記ロードバッファから読み出す順番を示す付随情報を、前記ロードデータに先立って送出するよう制御するメモリネットワークと、
先立って送出された前記付随情報に基づいて、前記付随情報に対応する前記ロードデータが前記付随情報の送出から所定時間遅れて前記ロードバッファに到着する到着の遅れを検出し、前記ロードデータの到着の遅れに基づいて、前記ロードバッファから前記演算レジスタへの前記ロードデータの読み出し開始時間を調整する整列判定部と、を備え、
前記整列判定部は、前記ロードデータを前記ロードバッファから読み出す順番と、前記読み出し開始時間を遅延させる遅延時間とが対応付けられた表を参照することで、前記付随情報に基づき前記読み出し開始時間を設定する、
情報処理装置。 A load request decomposition unit for generating a plurality of load requests from one load instruction;
A load buffer for storing load data for each of the load requests and transferring the load data to an operation register;
The load request generated by the load request decomposition unit is input, the load data corresponding to the load request is read from the main memory, and the load data generated by the main memory is read out from the load buffer. A memory network for controlling the accompanying information to be transmitted prior to the load data;
Based on the accompanying information sent in advance, a delay in arrival of the load data corresponding to the accompanying information arriving at the load buffer after a predetermined time from the sending of the accompanying information is detected, and the arrival of the load data of it based on delayed, e Preparations and alignment determination unit, the adjusting the read start time of the load data to the arithmetic register from the load buffer,
The alignment determining unit refers to a table in which the order of reading the load data from the load buffer and a delay time for delaying the read start time are referred to, thereby determining the read start time based on the accompanying information. Set,
Information processing device.
前記整列判定部は、前記ロードリクエストの数と、受け付けられた前記付随情報の数を比較することにより、前記読み出しの開始時間を調整する、請求項1又は2に記載の情報処理装置。 The load request decomposition unit sends the number of load requests to the alignment determination unit,
The alignment determination unit includes a number of load request, by comparing the number of said satellite information received, adjusts the start time of the read, the information processing apparatus according to claim 1 or 2.
生成された前記ロードリクエストを入力し、前記ロードリクエストに対するロードデータをメインメモリから読み出し、
前記メインメモリによって生成された、前記ロードデータをロードバッファから演算レジスタへ読み出す順番を示す付随情報を、前記ロードデータに先立って送出し、
先立って送出された前記付随情報に基づいて、前記付随情報に対応する前記ロードデータが前記付随情報の送出から所定時間遅れて前記ロードバッファに到着する到着の遅れを検出し、
前記ロードデータの到着の遅れに基づいて、前記ロードバッファから前記演算レジスタへの前記ロードデータの読み出し開始時間を調整し、
前記調整の際、前記ロードデータを前記ロードバッファから読み出す順番と、前記読み出し開始時間を遅延させる遅延時間とが対応付けられた表を参照することで、前記付随情報に基づき前記読み出し開始時間を設定する、
情報処理方法。 Generate multiple load requests from one load instruction,
Enter the generated said load request, reads a Carlo Dodeta that against the load request from the main memory,
The accompanying information generated by the main memory indicating the order in which the load data is read from the load buffer to the operation register is sent prior to the load data,
Based on the accompanying information sent in advance, detecting a delay in arrival of the load data corresponding to the accompanying information arriving at the load buffer after a predetermined time from sending the accompanying information ;
Based on the delay in arrival of the load data, adjust the load data read start time from the load buffer to the arithmetic register,
In the adjustment, the read start time is set based on the accompanying information by referring to a table in which the order of reading the load data from the load buffer and the delay time for delaying the read start time are referred to To
Information processing method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010240447A JP5348698B2 (en) | 2010-10-27 | 2010-10-27 | Information processing apparatus and information processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010240447A JP5348698B2 (en) | 2010-10-27 | 2010-10-27 | Information processing apparatus and information processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012093944A JP2012093944A (en) | 2012-05-17 |
JP5348698B2 true JP5348698B2 (en) | 2013-11-20 |
Family
ID=46387203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010240447A Active JP5348698B2 (en) | 2010-10-27 | 2010-10-27 | Information processing apparatus and information processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5348698B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8688880B2 (en) * | 2010-06-23 | 2014-04-01 | International Business Machines Corporation | Centralized serialization of requests in a multiprocessor system |
CN112311843A (en) * | 2020-03-18 | 2021-02-02 | 北京沃东天骏信息技术有限公司 | Data loading method and device |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2587586B2 (en) * | 1994-05-25 | 1997-03-05 | 甲府日本電気株式会社 | Data transfer method |
JP3726092B2 (en) * | 2003-07-04 | 2005-12-14 | エヌイーシーコンピュータテクノ株式会社 | Vector processing apparatus and vector loading method |
JP4789269B2 (en) * | 2008-04-10 | 2011-10-12 | エヌイーシーコンピュータテクノ株式会社 | Vector processing apparatus and vector processing method |
-
2010
- 2010-10-27 JP JP2010240447A patent/JP5348698B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2012093944A (en) | 2012-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8161274B2 (en) | Command selection method and its apparatus | |
US7694035B2 (en) | DMA shared byte counters in a parallel computer | |
CN101344871A (en) | Bus arbitration unit for guaranteeing access sequence and its implementing method | |
CN106330741B (en) | Message transmission method and device | |
JP5267328B2 (en) | Interrupt notification control device and semiconductor integrated circuit | |
JP2016189096A (en) | Semiconductor device | |
CN103870245A (en) | Tracking a relative arrival order of events being stored in multiple queues using a counter | |
JPH05342178A (en) | Arbitration circuit and data processor using the circuit | |
JP5348698B2 (en) | Information processing apparatus and information processing method | |
US20040019749A1 (en) | Apparatus, method, and computer program for resource request arbitration | |
US5848297A (en) | Control apparatus for maintaining order and accomplishing priority promotion in a computer interconnect | |
US5944788A (en) | Message transfer system and control method for multiple sending and receiving modules in a network supporting hardware and software emulated modules | |
TW449720B (en) | Routing dependent instructions to clustered execution units | |
CN113791892B (en) | Data path arbitration method, data path arbitration device and chip | |
JP2014219980A (en) | Memory controller and memory control method | |
US5983266A (en) | Control method for message communication in network supporting software emulated modules and hardware implemented modules | |
CN115145638B (en) | Command distributor, command distribution method and system, chip, board, device | |
CN105072048B (en) | A kind of packet storage dispatching method and device | |
JP2010118020A (en) | Request order control system, request order control method, and request order control program | |
US6829647B1 (en) | Scaleable hardware arbiter | |
Andreozzi et al. | A MILP approach to DRAM access worst-case analysis | |
CN116596990B (en) | Target detection method, device, equipment and storage medium | |
JP2005242500A (en) | Read request arbitration control system and its method | |
JP2005321933A (en) | Data input and output device and data input and output method | |
JP5246810B2 (en) | Output control circuit, output control circuit control method and control program thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130416 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130423 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130621 |
|
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: 20130723 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130815 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5348698 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |