JP6381019B2 - Information processing apparatus and control method - Google Patents
Information processing apparatus and control method Download PDFInfo
- Publication number
- JP6381019B2 JP6381019B2 JP2014071860A JP2014071860A JP6381019B2 JP 6381019 B2 JP6381019 B2 JP 6381019B2 JP 2014071860 A JP2014071860 A JP 2014071860A JP 2014071860 A JP2014071860 A JP 2014071860A JP 6381019 B2 JP6381019 B2 JP 6381019B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- tat
- unit
- operation instruction
- subsequent
- 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)
Description
本発明は、情報処理装置及び制御方法に関する。 The present invention relates to an information processing apparatus and a control method.
情報処理装置において演算性能の向上は長年の課題である。演算性能の向上方法として演算器の数を増やした並列動作化や、演算レジスタ読み出しから演算レジスタ書き込みまでの時間である演算ターンアラウンドタイム(以下、演算TATと称する)を短縮するなどの方法が採られてきた。しかし、演算種類によって演算TATに差が生じた場合に演算性能が発揮できない場合があるという問題点があった。 Improvement of calculation performance in an information processing apparatus has been a problem for many years. As a method for improving the computation performance, parallel operation with an increased number of computing units or a method of shortening a computation turnaround time (hereinafter referred to as computation TAT), which is a time from computation register read to computation register write, is adopted. Has been. However, when there is a difference in the calculation TAT depending on the calculation type, there is a problem that the calculation performance may not be exhibited.
例えば、異なる演算TATを持つ演算器を有する演算装置において、異なった演算器からの結果の出力は、各演算器への演算命令の投入タイミングや各演算器の演算TATの違いにより、同一タイミングで競合する可能性がある。これを避ける為、各演算器の演算TATから逆算して、結果の出力タイミングが競合する場合には、後続の演算命令の投入タイミングを遅らせていた。例えば、ある1つの演算レジスタに書込みを行う演算命令が連続する場合、先行する演算命令による書き込みが完了してから後続の演算命令による書込みを行わなければならない。このような場面で後続の演算命令の演算TATが先行する演算命令の演算TATよりも小さい場合、後続の演算命令の投入は、先行する演算処理の進行を待ってから行わなければならない。これにより、それ以降の演算命令の投入も順次遅れることになり,性能の低下を招いていた。 For example, in an arithmetic unit having arithmetic units having different arithmetic TATs, output of results from different arithmetic units is performed at the same timing depending on the input timing of arithmetic instructions to each arithmetic unit and the arithmetic TAT of each arithmetic unit. There is a possibility of conflict. In order to avoid this, if the output timing of the result conflicts from the operation TAT of each operation unit, the input timing of the subsequent operation instruction is delayed. For example, when operation instructions for writing to a certain operation register are consecutive, writing by a subsequent operation instruction must be performed after writing by the preceding operation instruction is completed. In such a situation, when the operation TAT of the subsequent operation instruction is smaller than the operation TAT of the preceding operation instruction, the subsequent operation instruction must be input after waiting for the progress of the preceding operation processing. As a result, the subsequent input of operation instructions is also sequentially delayed, leading to performance degradation.
この問題に対し、例えば特許文献1では演算TATの異なる複数の演算器において演算TATが小さい演算器に対してはその後段に単に結果の転送のみを行なうレジスタを付加し演算TATを調整することで後続の演算命令の投入タイミングを早めることができる技術が開示されている。
To deal with this problem, for example, in
また、例えば、ある演算レジスタAに書込みを行う演算命令aと、当該演算命令aによって演算レジスタAに書込まれた値を使用して行う演算命令bとが連続する場合、後続の演算命令bは、演算命令aが演算レジスタAに値を書き込んだ後に演算命令bが演算レジスタAに格納された値を読み取ることができるようなタイミングで実行されなければならない。特許文献1に開示された技術は、異なる演算TATを有する演算命令間の出力タイミングの競合を防ぎつつ処理を高速化する技術については開示があったが、このような演算命令間の演算レジスタの依存関係については考慮されていなかった。
Further, for example, when an operation instruction a that writes to a certain operation register A and an operation instruction b that uses a value written to the operation register A by the operation instruction a are consecutive, the subsequent operation instruction b Must be executed at a timing such that the operation instruction b can read the value stored in the operation register A after the operation instruction a writes the value in the operation register A. The technique disclosed in
そこでこの発明は、上述の課題を解決することのできる情報処理装置及び制御方法を提供することを目的としている。 Accordingly, an object of the present invention is to provide an information processing apparatus and a control method that can solve the above-described problems.
本発明は、複数の演算レジスタと、複数の演算器と、演算命令の発行が決定すると、当該演算命令に関係する演算レジスタ及び演算器について、当該演算命令の実行のために使用する期間を表すビジー期間情報をセットし、前記発行が決定した演算命令の進行に応じて前記ビジー期間情報を減算するビジー期間情報管理部と、前記ビジー期間情報と後続の演算命令の実行に要する時間である演算TAT(TURN AROUND TIME)とに基づいて、前記後続の演算命令を逐次的に実行したときの演算結果を確保できる前記後続の演算命令の発行タイミングを決定するチェック部と、発行が決定した前記後続の演算命令の演算TATを、当該後続の演算命令に関係する演算器に応じて決定する決定部と、前記決定部が決定した演算TATに基づいて、発行が決定した前記後続の演算命令の演算結果を前記演算レジスタに格納するタイミングを調整する制御部と、を備え、前記チェック部は、前記後続の演算命令の演算TATについて、当該演算命令について定められた所定の演算TATに基づく前記後続の演算命令の発行タイミングよりも早いタイミングで当該後続の演算命令を発行する場合に、先行する演算命令の演算結果の確保に必要な前記時間を前記後続の演算命令の演算TATとして、前記発行タイミングを決定する、ことを特徴とする情報処理装置である。 The present invention, when a plurality of arithmetic registers, a plurality of arithmetic units, and the issuing of an arithmetic instruction are determined, represents a period used for execution of the arithmetic instruction for the arithmetic register and the arithmetic unit related to the arithmetic instruction. A busy period information management unit that sets busy period information and subtracts the busy period information according to the progress of the operation instruction determined to be issued, and an operation that is the time required to execute the busy period information and a subsequent operation instruction Based on TAT (TURN AROUND TIME), a check unit that determines the issue timing of the subsequent operation instruction that can secure an operation result when the subsequent operation instruction is sequentially executed, and the subsequent determined by the issue A determination unit that determines an operation TAT of the operation instruction according to an operation unit related to the subsequent operation instruction, and an operation TAT determined by the determination unit Based on a control unit for adjusting the timing of storing the operation result of said succeeding operation instruction issued is determined in the arithmetic register, Bei example, said checking unit, for calculating TAT of the subsequent operation instruction, the The time required for securing the operation result of the preceding operation instruction when the subsequent operation instruction is issued at a timing earlier than the issue timing of the subsequent operation instruction based on the predetermined operation TAT defined for the operation instruction Is determined as the operation TAT of the subsequent operation instruction .
また本発明は、複数の演算レジスタと、複数の演算器とを有する情報処理装置において、演算命令の発行が決定すると、当該演算命令に関係する演算レジスタ及び演算器について、当該演算命令の実行のために使用する期間を表すビジー期間情報をセットし、前記発行が決定した演算命令の進行に応じて前記ビジー期間情報を減算し、前記ビジー期間情報と後続の演算命令の実行に要する時間である演算TATとに基づいて、前記後続の演算命令を逐次的に実行したときの演算結果を確保できる前記後続の演算命令の発行タイミングを決定し、発行が決定した前記後続の演算命令の演算TATを、当該後続の演算命令に関係する演算器に応じて決定し、前記決定した演算TATに基づいて、発行が決定した前記後続の演算命令の演算結果を前記演算レジスタに格納するタイミングを調整し、前記発行タイミングを決定するときは、前記後続の演算命令の演算TATについて、当該演算命令について定められた所定の演算TATに基づく前記後続の演算命令の発行タイミングよりも早いタイミングで当該後続の演算命令を発行する場合に、先行する演算命令の演算結果の確保に必要な前記時間を前記後続の演算命令の演算TATとして、前記発行タイミングを決定する、ことを特徴とする制御方法である。 In addition, in the information processing apparatus having a plurality of arithmetic registers and a plurality of arithmetic units, the present invention may execute execution of the arithmetic instruction for the arithmetic registers and arithmetic units related to the arithmetic instruction when the issuance of the arithmetic instruction is determined. This is the time required to execute busy instruction information and the subsequent operation instruction by setting busy period information indicating a period to be used for the operation, subtracting the busy period information in accordance with the progress of the operation instruction determined to be issued. Based on the operation TAT, the issue timing of the subsequent operation instruction that can secure the operation result when the subsequent operation instruction is sequentially executed is determined, and the operation TAT of the subsequent operation instruction determined to be issued is determined. , determined according to the arithmetic unit relating to the subsequent operation instruction, based on the calculated TAT which the determined, before the calculation result of the subsequent operation instructions issued decides And adjusting the timing to be stored in the arithmetic register, when determining the issuance timing, for calculating TAT of the subsequent operation instructions, issue timings of the subsequent operation instruction based on a predetermined calculation TAT defined for the arithmetic instruction Determining the issuance timing when the subsequent calculation instruction is issued at an earlier timing, with the time required for securing the calculation result of the preceding calculation instruction as the calculation TAT of the subsequent calculation instruction ; This is a characteristic control method.
本発明によれば、演算レジスタの一貫性を確保しつつ、情報処理装置の性能を向上させることができるという効果が得られる。 According to the present invention, it is possible to improve the performance of the information processing device while ensuring the consistency of the arithmetic registers.
<第一の実施形態>
以下、本発明の一実施形態による情報処理装置を図1〜図11を参照して説明する。
図1は第一の実施形態による情報処理装置の具体的な構成を示す第一の図である。図1は情報処理装置のプロセッサの概略ブロック図である。
この図において、符号20は演算パイプ制御部を表している。演算パイプ制御部20は、メモリから読み込んだ命令列をデコードして適切なタイミングで演算レジスタ、演算器等の演算リソースに指示を行い、読み込んだ命令列を実行する。
<First embodiment>
Hereinafter, an information processing apparatus according to an embodiment of the present invention will be described with reference to FIGS.
FIG. 1 is a first diagram showing a specific configuration of the information processing apparatus according to the first embodiment. FIG. 1 is a schematic block diagram of a processor of the information processing apparatus.
In this figure,
符号100、101、102、103は演算レジスタV0、V1、V2,V3である。演算パイプ制御部20は演算レジスタに対して指定されたベクトル長(以下、VLと称する)分連続してデータの読み込み又は書込みを行う。通常は複数のベクトルパイプを用いて並列してベクトル長分の演算を処理するが、本実施形態ではベクトルパイプは1本とする。従って1つのベクトル命令が発行されると演算パイプ制御部20はそのベクトル命令の処理をベクトル長分連続で行う。
なお、図1の演算レジスタV0はV0−0,1,2,3の4つの要素を持ちベクトル長が4の演算に対応することができる。
Note that the arithmetic register V0 in FIG. 1 has four elements V0-0, 1, 2, and 3 and can handle an operation with a vector length of 4.
符号110、111、112、113はオペランドセレクタで、各演算器の入力側に接続されている。また、オペランドセレクタ110〜113は、演算レジスタ100〜103に接続されている。そして演算パイプ制御部20から指示のあった演算レジスタからの出力を選択して演算器に出力する。
符号120は積和演算器で、演算パイプ制御部20からの指示に従ってベクトル長分の積和演算を実行する。積和演算器120は演算結果を伝送路900を介してクロスバー106へ出力する。
符号130は論理演算器で、演算パイプ制御部20からの指示に従ってベクトル長分の論理演算を実行する。論理演算器130は、演算結果をタイミング調整レジスタ131及びセレクタ133へ出力する。
符号131、132はタイミング調整レジスタである。タイミング調整レジスタ131は、論理演算器130の演算結果を取得すると1クロック後にタイミング調整レジスタ132に出力する。タイミング調整レジスタ132は演算結果を取得すると1クロック後にセレクタ133へ出力する。セレクタ133は、演算パイプ制御部20からの指示に従って論理演算器130、タイミング調整レジスタ131、132の出力を選択して伝送路900を介してクロスバー106へ出力する。
図2は第一の実施形態による情報処理装置の具体的な構成を示す第二の図である。図2は、図1における演算パイプ制御部20をより詳細に示した図である。
符号201は、命令バッファ部でメモリから読み込んだ命令列を格納するバッファ部である。
符号202は、命令デコーダで命令バッファ部201から読み出した命令をデコードして命令発行キュー203へ出力する。
FIG. 2 is a second diagram showing a specific configuration of the information processing apparatus according to the first embodiment. FIG. 2 is a diagram showing the operation
符号203は、命令デコーダ202が解読した命令を格納する命令発行キューである。発行が決定された命令は命令発行キュー203から削除され、命令発行キュー203は新しい命令を命令デコーダ202から取得する。なお、情報処理装置によっては発行キュー内の命令が複数発行可能なものもあるが、本明細書においては発行キュー内の命令配置方法や競合調停方法については考えないものとし、命令がキューに格納された順に1つずつ発行されるものとする。
符号204は、W→W発行チェック部である。W→W(「Write→Write」)とは、同一の演算レジスタについて連続して書き込み処理が行われる関係を示している。W→W発行チェック部204は、命令発行キュー203の命令情報および後述するW→Wビジー情報管理部210のビジー値を受け取り、個々の命令についてW→Wの関係について一貫性を確保できる場合は、命令発行チェック部208に命令発行可能であることを通知する。一貫性を確保できるとは、W→Wの関係にある連続する演算命令をこの順番で逐次的に実行したときと同じ結果が得られることをいう。特に、W→W発行チェック部204は、命令が論理演算器130を使用する命令であった場合は、積和演算器120の演算TAT(TURN AROUND TIME)と後述するW→Wビジー情報管理部210のビジー値とを比較し、一貫性を確保できる場合にはTAT決定部207にW→Wビジー情報管理部210から受け取ったビジー値を送出する。なお、ビジー値とは、各演算レジスタや演算器の使用状況を管理するために用いる値である。ビジー値が0以外のときは対応する演算レジスタ等が使用されていることを示し、また、この値はカウンタとなっていて演算命令の進行に応じて減算される。また、演算TATとは、ある演算器を用いて演算を実行した際の演算レジスタ読み出しから演算レジスタ格納までの時間である。
符号205は、R→W発行チェック部である。R→W(「Read→Write」)とは、同一の演算レジスタについて連続して読み取り処理と書き込み処理が行われる関係を示している。R→W発行チェック部205は、命令発行キュー203の命令情報および後述するR→Wビジー情報管理部220のビジー値を受け取り、個々の命令についてR→Wの関係について一貫性を確保できる場合は、命令発行チェック部208に命令発行可能であることを通知する。特に、R→W発行チェック部205は、命令が論理演算器130を使用する命令であった場合は、積和演算器120の演算TATとR→Wビジー情報管理部220の情報を比較し、一貫性を確保できる場合にはTAT決定部207にR→Wビジー情報管理部220から受け取ったビジー値を送出する。
符号206は、ビジーチェック部である。ビジーチェック部206は、命令発行キュー203およびW→Rビジー情報管理部230および演算器ビジー情報管理部240の情報を受け取り、個々の命令についてW→Rの関係および演算器のビジー状態を確認し、一貫性を確保できる場合は命令発行チェック部208に命令発行可能であることを通知する。なお、W→R(「Write→Read」)とは、同一の演算レジスタについて連続して書き込み処理と読み取り処理が行われる関係を示している。
符号207は、TAT決定部である。TAT決定部207は、論理演算器130以外を使用する命令の場合は、命令本来の演算TATを出力し、論理演算器130を使用する場合にはW→W発行チェック部204およびR→W発行チェック部205の出力値を比較して、大きい値を出力する。
符号208は命令発行チェック部で、命令発行キュー203に有効な命令が存在し且つW→W発行チェック部204およびR→W発行チェック部205およびビジーチェック部206の全てから命令発行可能である通知を受け取った場合に命令発行決定を命令発行キュー203および命令発行確定情報レジスタ270およびW→Wビジー情報生成部260,R→Wビジー情報生成部261,W→Rビジー情報生成部262,演算器ビジー情報生成部263に通知する。
符号210はW→Wビジー情報管理部である。W→Wビジー情報管理部210は、演算レジスタのW→Wとなる命令間におけるデータ一貫性を保証するためのビジー情報を管理する機能を持つ。演算レジスタV0〜V3に対応したW→Wビジー情報管理部211〜214が設けられている。
符号220はR→Wビジー情報管理部である。R→Wビジー情報管理部220は、演算レジスタのR→Wとなる命令間におけるデータ一貫性を保証するためのビジー値を管理する機能を持つ。演算レジスタV0〜V3に対応したR→Wビジー情報管理部221〜224が設けられている。
符号230はW→Rビジー情報管理部である。W→Rビジー情報管理部230は、演算レジスタのW→Rとなる命令間におけるデータ一貫性を保証するためのビジー値を管理する機能を持つ。演算レジスタV0〜V3に対応したW→Rビジー情報管理部231〜234が設けられている。
符号240は演算器ビジー情報管理部である。演算器ビジー情報管理部240は、演算器のビジー値を管理する機能を持つ。積和演算器120、論理演算器130に対応した演算器ビジー情報管理部241〜242が設けられている。
符号260は、W→Wビジー情報生成部である。W→Wビジー情報生成部260は、命令発行キュー203およびTAT決定部207および命令発行チェック部208からの信号を取得し、演算レジスタV0〜V3に書き込みを行う命令の発行確定の通知を受けた場合は、書き込み先演算レジスタ情報および演算TAT情報をW→Wビジー情報管理部210に送出する。
符号261は、R→Wビジー情報生成部である。R→Wビジー情報生成部261は、命令発行キュー203およびTAT決定部207および命令発行チェック部208からの信号を取得し、演算レジスタV0〜V3から読み出しを行う命令の発行確定の通知を受けた場合は、読み出し先演算レジスタ情報および読み出しパターン情報をR→Wビジー情報管理部220に送出する。読み出しパターン情報とは、例えば、「1サイクルに1要素を読み出す」、「1サイクルに全要素を読み出す」、「何サイクルかごとに1要素ずつ読み出す」等である。
符号262はW→Rビジー情報生成部である。W→Rビジー情報生成部262は、命令発行キュー203およびTAT決定部207および命令発行チェック部208からの信号を取得し、演算レジスタV0〜V3に書き込みを行う命令の発行確定の通知を受けた場合は、書き込み先演算レジスタ情報および演算TAT情報をW→Rビジー情報管理部230に送出する。
符号263は演算器ビジー情報生成部で、命令発行キュー203およびTAT決定部207および命令発行チェック部208からの信号を取得し、演算器を使う命令の発行確定の通知を受けた場合は、使用する演算器を示す情報およびVLを示す情報を演算器ビジー情報管理部240に送出する。
符号270は命令発行確定情報レジスタで、命令発行チェック部208から命令発行決定の通知を受け1サイクル間保持する。
符号271は発行確定命令情報レジスタで、命令発行キュー203から発行決定した命令の情報を受け1サイクル間保持する。
符号272は発行確定TAT情報レジスタで、TAT決定部207からのTAT情報を受け1T間保持する。
符号273〜278は制御タイミング調整レジスタで、図1に示す演算リソースをデータの流れるタイミングに合わせて制御する。
符号282〜287はデコーダで、図1の各機能部に発行確定した命令の必要箇所をデコードして動作指示を伝える機能を持つ。特にデコーダ285〜287は命令本来の最短TATと207で決定されたTAT情報を比較し、差分値から判断してレジスタ格納指示を出す機能を持つ。例えば、デコーダ285は、差分値が0だったらレジスタに格納するタイミングであると識別して、レジスタ格納指示を出す機能を持つ。同様にデコーダ286は差分値が1だったらレジスタ格納指示を出し、デコーダ287は差分値が2の場合にレジスタ格納指示を出す。
以下において、いくつかの命令列を例に関連する情報処理装置及び本実施形態による情報処理装置の動作を説明する。
前提としてVADD命令、VMPY命令は、積和演算器120によって実行され、演算TATは、5サイクルであるとする。また、VAND命令は、論理演算器130によって実行され、演算TATは3サイクルであるとする。
Hereinafter, an operation of the information processing apparatus and the information processing apparatus according to the present embodiment related to some instruction sequences will be described.
It is assumed that the VADD instruction and the VMPY instruction are executed by the product-
図3は、関連する情報処理装置による演算処理のタイムチャートを示す第一の図である。
図3を用いて以下の命令列「I1」、「I2」を例に関連する情報処理装置による動作を説明する。
命令「I1」 VAND V3 ← V0 & V1 VL=2
命令「I2」 VMPY V0 ← V2 × V3 VL=2
命令「I1」は、論理演算器130が、演算レジスタV0とV1の値を入力し、論理積を演算して結果を演算レジスタV3へ格納することを示している。命令「I2」は、積和演算器120が、演算レジスタV2とV3の値を入力し、これらの値を乗算して演算結果を演算レジスタV0へ格納することを示している。
命令「I1」と「I2」の関係における特徴は演算レジスタV3についてWrite→Readの関係になることである。ここで演算レジスタV3についてWrite→Readの関係になるということは演算レジスタV3に対してWrite処理が完了する前にReadが完了してはならないことを意味する。
なお、関連する情報処理装置には図1におけるタイミング調整レジスタ131、132及びセレクタ133が備えられていない。また、図3において、「L−x」(x=0,1)は、論理演算器130の出力値を示し、「M−x」(x=0,1)は、積和演算器120の出力値を示している。
FIG. 3 is a first diagram illustrating a time chart of arithmetic processing by the related information processing apparatus.
The operation of the information processing apparatus related to the following instruction sequences “I1” and “I2” will be described with reference to FIG.
Command “I1” VAND V3 ← V0 & V1 VL = 2
Command “I2” VMPY V0 ← V2 × V3 VL = 2
The instruction “I1” indicates that the
A feature of the relationship between the instructions “I1” and “I2” is that the operation register V3 has a write → read relationship. Here, the relation of Write → Read with respect to the arithmetic register V3 means that the Read must not be completed before the Write process for the arithmetic register V3 is completed.
The related information processing apparatus does not include the timing adjustment registers 131 and 132 and the
まず、クロック1において命令「I1」の発行が決定する(図3中、「Dispatch」)。するとクロック2〜3において演算レジスタV0、V1からデータが読み出される。さらに演算パイプ制御部20からの制御信号によってオペランドセレクタ112,113が演算レジスタV0、V1のデータを論理演算器130に出力する。ここでクロック2〜3の2サイクルに渡ってこれらの処理が連続して行われるのはVL=2だからである。クロック3〜4で論理演算器130は演算を行い(図3中、「演算ステージ1))、クロック4〜5で論理演算器130は演算結果をクロスバー106へ出力する。さらに演算パイプ制御部20からの制御信号によって演算レジスタV3に演算結果が格納される。クロック5で命令「I1」の最初のデータが確定し、クロック6で命令「I1」の2番目のデータが確定する。
First, the issue of the instruction “I1” is determined at clock 1 (“Dispatch” in FIG. 3). Then, data is read from the arithmetic registers V0 and V1 at
命令「I2」についても同様にして演算が行われる。命令「I1」によって演算レジスタV3への書き込み処理が完了する前に命令「I2」による演算レジスタV3からのデータ読込が行われないように一般的な演算パイプライン制御では後続の命令「I2」はクロック4で命令の発行が決定する。クロック4で命令「I2」の発行が決定すると、命令「I1」の演算結果が演算レジスタV3に格納された(図3中、クロック5の「V3レジスタ」)直後に命令「I2」で読み出される(図3中クロック5の「V3レジスタReadData」)動作となる。このように命令が最速で動作することをチェイニングという。命令「I2」のVMPY命令は、積和演算器120を使用するので演算TATは5サイクルである。従って演算レジスタ読み出しから演算レジスタ書き込みまで5サイクルかかる。よってV0レジスタでの最初の値が確定するのがクロック10である。
The operation is similarly performed for the instruction “I2”. In general arithmetic pipeline control, the subsequent instruction “I2” is not read from the arithmetic register V3 by the instruction “I2” before the write processing to the arithmetic register V3 is completed by the instruction “I1”. The issue of an instruction is determined at
図4は、関連する情報処理装置による演算処理のタイムチャートを示す第二の図である。
図4を用いて関連する情報処理装置による演算処理の問題点を説明する。図4では以下の命令列を例に関連する情報処理装置による動作を説明する。
命令「I0」 VADD* V3 ← V0 + V1 VL=2
命令「I1」 VAND* V3 ← V0 & V1 VL=2
命令「I2」 VMPY V0 ← V1 × V2 VL=2
命令「I0」は、積和演算器120が、演算レジスタV0とV1の値を入力し、これらの値を加算して演算結果を演算レジスタV3へ格納することを示している。命令「I1」は、論理演算器130が、演算レジスタV0とV1の値を入力し、論理積を演算して結果を演算レジスタV3へ格納することを示している。命令「I2」は、積和演算器120が、演算レジスタV1とV2の値を入力し、これらの値を乗算して演算結果を演算レジスタV0へ格納することを示している。
命令「I0」と「I1」の関係における特徴は演算レジスタV3についてWrite→Writeの関係になることであり、これは演算レジスタV3について命令「I0」におけるWrite処理が完了する前に命令「I0」におけるWrite処理が完了してはならないことを意味する。
また、命令「I1」と「I2」の関係における特徴は演算レジスタV0についてRead→Writeの関係になることである。演算レジスタV0について命令「I1」におけるRead処理が完了する前に命令「I2」におけるWrite処理が完了してはならないことを意味する。
FIG. 4 is a second diagram illustrating a time chart of the arithmetic processing by the related information processing apparatus.
The problem of the arithmetic processing by the related information processing apparatus will be described with reference to FIG. In FIG. 4, the operation of the information processing apparatus related to the following instruction sequence will be described.
Command “I0” VADD * V3 ← V0 + V1 VL = 2
Command “I1” VAND * V3 ← V0 & V1 VL = 2
Command “I2” VMPY V0 ← V1 × V2 VL = 2
The instruction “I0” indicates that the product-
A characteristic of the relationship between the instructions “I0” and “I1” is that the relation “Write → Write” is set for the arithmetic register V3. This means that the instruction “I0” is completed before the write processing in the instruction “I0” is completed for the arithmetic register V3. This means that the write processing in the process must not be completed.
A feature of the relationship between the instructions “I1” and “I2” is that the operation register V0 has a relationship of Read → Write. This means that the write process in the instruction “I2” must not be completed before the read process in the instruction “I1” is completed for the arithmetic register V0.
このため命令「I0」がクロック1で発行決定後、命令「I0」によって演算レジスタV3への書き込み処理が完了する前に命令「I1」による演算レジスタV3への書き込み処理が行われないように一般的な演算パイプライン制御では後続の命令「I1」の発行の決定はクロック4となる。命令「I1」の発行決定が「I0」より2サイクル遅れるのは「I0」で使用する積和演算器120の演算TAT(=5)と「I1」で使用する論理演算器130の演算TAT(=3)の差が2サイクルだからである。
このため、命令「I1」と「I2」についても演算レジスタV0について読み取りが完了する前に、書き込みが行われないように命令「I2」の発行の決定は、必ず命令「I1」が発行された後でなければならない。従って命令「I2」の発行はクロック5に決定し、本命令による最後のデータ「M−1」の演算レジスタV0への書き込みが完了し値が確定するのはクロック12である。このように、一般的な動作では、後続の演算命令の投入タイミングを遅らせることによって演算レジスタ間の一貫性を確保していた。その為、さらに後に予定されている演算命令についても次々と投入タイミングが遅れるという問題があった。
Therefore, after the instruction “I0” is determined to be issued at the
Therefore, the instruction “I1” is always issued to determine whether to issue the instruction “I2” so that the instructions “I1” and “I2” are not written before the operation register V0 is read. Must be later. Accordingly, the issue of the instruction “I2” is determined at the
図5は、本実施形態による情報処理装置のタイムチャートを示す第一の図である。
図5を用いて本実施形態における動作を説明する。本実施形態では演算器毎の演算TATは積和演算器120が5サイクルであり、論理演算器130は3〜5サイクルと可変である。また図5で説明した命令列は図4のときと同じであるものとする。
本実施形態ではこの命令列のように後続の演算命令の書込み先演算レジスタV3でWrite→Writeの関係にあるときは、演算パイプ制御部20が後続の演算命令の演算TATを先行する演算命令の演算TATに合わせて動作させる。図5の例では命令「I0」に後続する命令「I1」のVAND命令の演算TATを5サイクルにするということである。このように、演算TATを長い方に合わせることで、後続の命令は、1サイクル遅れて投入すればV3レジスタへの書き込みタイミングの競合を防ぐことができる。図5の場合、クロック1で命令「I0」の発行を決定した後、命令「I1」の発行をクロック2で決定することができる。さらに命令「I2」の発行はクロック3で決定することができ、演算レジスタV0への書き込みが完了し値が確定するのはクロック10である。
このように本実施形態の情報処理装置によれば、図4の方法に比べ2サイクル早く命令列の演算を完了することができる。
なお、本実施形態による演算TATの決定動作については後に図8を用いて説明する。
FIG. 5 is a first diagram illustrating a time chart of the information processing apparatus according to the present embodiment.
The operation in this embodiment will be described with reference to FIG. In the present embodiment, the calculation TAT for each computing unit is variable in 5 cycles for the product-
In this embodiment, when the write operation register V3 of the subsequent operation instruction is in a write-to-write relationship as in this instruction sequence, the operation
As described above, according to the information processing apparatus of this embodiment, the operation of the instruction sequence can be completed two cycles earlier than the method of FIG.
The operation for determining the calculation TAT according to the present embodiment will be described later with reference to FIG.
図6は、関連する情報処理装置による演算処理のタイムチャートを示す第三の図である。
図6及び図2を用いて演算パイプ制御部20内部のビジー管理の動作について説明する。説明に用いるのは図3でも用いた以下の命令列である。
命令「I1」 VAND V3 ← V0 & V1 VL=2
命令「I2」 VMPY V0 ← V2 × V3 VL=2
ビジー管理は、命令を発行するにあたりその命令で使用する演算レジスタや演算器が先行する命令の実行により使用中であるかどうかや、何サイクル後に使用中でなくなるかなどを把握し、命令の発行タイミングを調整するために行う。本明細書ではカウンタを用いてビジー管理を行う方法で説明するがこれに限定されない。例えばレジスタで符号を持ちまわる方法などでもよい。本実施形態においてカウンタによるビジー管理を行うのはW→Wビジー情報管理部211〜214、R→Wビジー情報管理部221〜224、W→Rビジー情報管理部231〜234、演算器ビジー情報管理部241〜242である。これらの管理部のカウンタの初期値は0であるものとする。
FIG. 6 is a third diagram illustrating a time chart of the arithmetic processing by the related information processing apparatus.
The busy management operation inside the arithmetic
Command “I1” VAND V3 ← V0 & V1 VL = 2
Command “I2” VMPY V0 ← V2 × V3 VL = 2
In busy management, when issuing an instruction, it is possible to determine whether the operation register or arithmetic unit used in the instruction is in use by executing the preceding instruction, and how many cycles it is not in use, and issue the instruction. This is done to adjust the timing. In this specification, a method of performing busy management using a counter will be described, but the present invention is not limited to this. For example, a method of holding a sign in a register may be used. In this embodiment, the busy management by the counter is performed by the W → W busy
まず、クロック1で命令「I1」の発行が決定すると、クロック2でW→Wビジー情報管理部214及びW→Rビジー情報管理部234にVAND命令の演算TAT(=3)がセットされる。演算器ビジー情報管理部242には命令「I1」の演算器使用時間である2がセットされる。演算器使用時間は、論理演算器130において演算ステージは1回(「130演算ステージ1」)で演算データがVL=2であることから2となる。これらの値がセットされたビジー情報管理部は対応する演算レジスタや演算器がビジー状態であることを示している。そして1クロックが経過するごとに各値は1ずつ減算される。以下において各ビジー情報管理部211〜214、221〜224、231〜234、241〜242が保持する値をビジー値という。ビジー値はビジー管理を行うためのカウンタである。
後続の命令「I2」は関連する演算レジスタのビジー状態を確認し、発行条件が整ったら発行を決定する。具体的には命令「I2」は「V0 ← V2 × V3」なのでReadを行う演算レジスタV2、V3についてはW→Rビジー情報管理部233、234のビジー状況を確認する。Writeを行う演算レジスタV0についてはW→Wビジー情報管理部211、R→Wビジー情報管理部221のビジー状況を確認する。そして積和演算器120を使用するので演算器ビジー情報管理部241のビジー状況を確認する。
First, when the issue of the instruction “I1” is determined at
Subsequent instruction “I2” confirms the busy state of the related arithmetic register, and determines the issue if the issue condition is satisfied. Specifically, since the instruction “I2” is “V0 ← V2 × V3”, the busy status of the W → R busy
まず、クロック2におけるビジー状況を確認する。W→Rビジー情報管理部233については、先行する命令「I1」後に値をセットとしていないのでビジー状態を示すカウンタ値は初期値の0である。これはReadを行う演算レジスタV2については、命令「I2」を発行するにあたり問題が無いことを示している。また、Writeを行う演算レジスタV0については、W→Wビジー情報管理部211、R→Wビジー情報管理部221についても同様にビジー状態を示すカウンタ値が0なのでビジーではない。また、演算器ビジー情報管理部241についてもビジー状態を示すカウンタ値は0である。次に演算レジスタV3について確認すると、クロック2においてW→Rビジー情報管理部234の値は3である。これは演算レジスタV3がビジー状態なので命令「I2」の発行ができないことを示している。
First, the busy status of the
ここで、W→Wビジー情報管理部211〜214はW→W発行チェック部204に1クロックごとにビジー値を出力する。同様に、R→Wビジー情報管理部221〜224はR→W発行チェック部205に、W→Wビジー情報管理部231〜234、演算器ビジー情報管理部241〜242はビジーチェック部206にビジー値を出力する。そして各チェック部204、205、206は取得したビジー値に基づいて後続の命令を発行するかどうかの判定を行う。判定の方法は自分が管理する対象である演算リソースの全てのビジー値が1以下となるかどうかで判定する。各チェック部204、205、206は、全てのビジー値が1以下であれば「1」を、そうでなければ「0」を命令発行チェック部208に出力する。そして命令発行チェック部208は、これらの取得した値が全て「1」であれば命令の発行が可能であると判定する。
Here, the W → W busy
図6のクロック2及び3においてW→W発行チェック部204及びR→W発行チェック部205の出力値が1であるが、ビジーチェック部206の出力値が0であるので命令発行チェック部208は後続命令の発行を決定できない。ビジーチェック部206の出力値が0であるのは、ビジーチェック部206が、W→Rビジー情報管理部234から取得したビジー値によって演算レジスタV3がビジー状態であると判断するためである。
クロック4ではW→Rビジー情報管理部234のビジー値は1となる。従って上述の判定方法によりビジーチェック部206は「1」を命令発行チェック部208に出力する。命令発行チェック部208は、各チェック部204〜206から取得した値が全て「1」となったので命令発行可能と判断して、その旨を示す「1」を伝送路999に出力する。この伝送路999に命令発行決定が伝わることをDispatchという。
このようにしてクロック4に後続の命令「I2」の発行が決定し演算レジスタV3の読み出し動作がクロック5から開始する。先行命令「I1」による最後のデータが演算レジスタV3に格納されて確定するのはクロック5である。演算レジスタV3の値はデータ確定後すぐに読み出される(チェイニング動作)。
In clocks 2 and 3 in FIG. 6, the output values of the W → W
At
In this way, it is determined that the subsequent instruction “I2” is issued in the
クロック4で命令「I2」の発行が決定されると、命令「I2」は積和演算器120を使用するのでTAT決定部207は命令本来の演算TAT値である「5」を、W→Wビジー情報生成部260に出力する。そしてW→Wビジー情報生成部260は演算TATの値「5」を、命令「I2」の書き込み先演算レジスタ番号情報「V0」とともにW→Wビジー情報管理部210に出力する。同様にW→Rビジー情報生成部262は命令「I2」の演算TATの値「5」を、演算結果格納先の演算レジスタ情報「V0」とともにW→Rビジー情報管理部230に送出する。図6ではクロック5でW→Wビジー情報管理部211およびW→Rビジー情報管理部231に値「5」がセットされ、サイクル毎に減算されていくことが示されている。
なお、R→Wビジー情報生成部261は演算レジスタから特殊な読み出しが行われる際に使用される。図6の命令列は特殊な読み出しは行わないため、有意な値とはならないが、ストアパススループットの関係から演算レジスタから4サイクル周期で読み出すようなストア命令の場合など、最後のデータが読み出される前に後続命令の書き込みが行われないよう管理している。
When the issue of the instruction “I2” is determined at the
The R → W busy
図7は、関連する情報処理装置による演算処理のタイムチャートを示す第四の図である。
図7を用いて関連する情報処理装置によるビジー値と命令発行決定について説明する。図7は図4に、ビジー情報管理部210〜及びチェック部204〜206等の情報を加えた図である。図7でも図4と同様に以下の命令列を例に動作を説明する。
命令「I0」 VADD* V3 ← V0 + V1 VL=2
命令「I1」 VAND* V3 ← V0 & V1 VL=2
命令「I2」 VMPY V0 ← V1 × V2 VL=2
図4で説明したとおり、命令「I1」の演算レジスタV3への書き込みは命令「I0」による演算レジスタV3への書き込みの後でなければならない。また、演算レジスタV0についても命令「I1」による読込みの後に命令「I2」の書き込みが行われるようにしなければならない。図6と同様に命令「I0」の発行決定後のクロック2で「VADD」の演算TATである「5」が、W→Wビジー情報管理部214及びW→Rビジー情報管理部234にセットされる。そして1クロックごとにビジー値が減算されていく。その間、R→W発行チェック部205は、R→Wビジー情報管理部220のビジー値は全て0なので命令発行可能を示す1を命令発行チェック部208へ出力する。ビジーチェック部206は、後続命令「I1」で使用する論理演算器130のビジー値は0なので命令発行可能を示す1を命令発行チェック部208へ出力する。W→W発行チェック部204は、W→Wビジー情報管理部210のビジー値のうち「I1」で書込みを行う演算レジスタV3のビジー値であるW→Wビジー情報管理部214のビジー値に注目して命令発行が可能かどうか判定する。図7に示すようにW→Wビジー情報管理部214のビジー値はクロック2〜6までの間は0ではない。この間W→W発行チェック部204は、以下の式を用いて後続命令の発行が可能かどうかを判定する。
W→Wビジー情報管理部214のビジー値 − VAND命令の演算TAT値 ≦0
例えばクロック2においてはW→Wビジー情報管理部214のビジー値は5である。また、VAND命令の演算TAT値は3である。従ってクロック2では上の式は満たさない。同様にクロック3においても「4−3=1」となるので上の式は満たさない。クロック4では「3−3=0」となり上の式を満たす。W→W発行チェック部204は、クロック4において命令発行可能を示す1を命令発行チェック部208へ出力する。命令発行チェック部208は、各チェック部204〜206から取得した値が全て1となったので命令発行可能と判断して、その旨を示す「1」を伝送路999に出力し、命令「I1」の発行が決定する。このようにして命令「I1」の発行が決定するのはクロック4となる。同様にして、命令「I2」の発行が決定するのは命令「I1」の発行決定後のクロック5となる。命令「I2」の最後のデータが確定するのは図7に示すとおりクロック12である。
FIG. 7 is a fourth diagram illustrating a time chart of arithmetic processing by the related information processing apparatus.
The busy value and instruction issue determination by the related information processing apparatus will be described with reference to FIG. FIG. 7 is a diagram in which information such as the busy
Command “I0” VADD * V3 ← V0 + V1 VL = 2
Command “I1” VAND * V3 ← V0 & V1 VL = 2
Command “I2” VMPY V0 ← V1 × V2 VL = 2
As described with reference to FIG. 4, the instruction “I1” must be written to the arithmetic register V3 after the instruction “I0” is written to the arithmetic register V3. Also, the instruction register “I2” must be written to the operation register V0 after the instruction “I1” is read. As in FIG. 6, “VADD” operation TAT “5” is set in the W → W busy
Busy value of W → W busy
For example, in
図8は、本発明の第一の実施形態による情報処理装置のタイムチャートを示す第二の図である。
図8を用いて本実施形態によるビジー値と命令発行決定について説明する。図8においても図4、5、7と同じ命令列を発行するものとする。
図7と同様に命令「I0」の発行決定後のクロック2で「VADD」の演算TATである「5」が、W→Wビジー情報管理部214及びW→Rビジー情報管理部234にセットされ、R→W発行チェック部205及びビジーチェック部206は、後続命令の発行可能を示す1を命令発行チェック部208へ出力する。
ここで本実施形態においてはW→W発行チェック部204は、以下のような動作を行う。まず、W→W発行チェック部204は、命令発行キュー203から後続の命令の情報(「VAND」)を取得し、後続の命令が論理演算器130を使用することを検出する。すると、W→W発行チェック部204は、演算TAT値の大きい積和演算器120の演算TAT値を用いて命令発行可否の判定を行うことを決定する。判定式は以下である。
W→Wビジー情報管理部214のビジー値 − VADD命令の演算TAT値 ≦0
VAND命令の演算TAT値(=3)ではなく、VADD命令の演算TAT値(=5)を用いる点が図7の判定式とは異なる。このように本実施形態においてはW→W発行チェック部204において命令の発行条件を判定する際に演算器本来の演算TAT値ではなく、他の演算器の演算TAT値のうち最大の値を用いて判定を行うところに特徴がある。上記の式を用いるとクロック2において「5−5=0」となり、上の式を満たす。従ってクロック2において、W→W発行チェック部204は、「1」を命令発行チェック部208へ出力する。命令発行チェック部208は、命令「I1」の発行可能を決定し、命令発行の決定を伝送路999、W→Wビジー情報生成部260、R→Wビジー情報生成部261、W→Rビジー情報生成部262、演算器ビジー情報生成部263へ出力する。また、W→W発行チェック部204は、TAT決定部207にW→Wビジー情報管理部214のビジー値(クロック2では「5」)を出力する。そしてTAT決定部207はそのビジー値をW→Wビジー情報生成部260、W→Rビジー情報生成部262、発行確定TAT情報レジスタ272へ出力する。W→Wビジー情報生成部260、W→Rビジー情報生成部262は、命令発行チェック部208から命令発行の決定を示す情報を取得すると、TAT決定部207から取得した演算TAT値、命令発行キュー203から取得した発行が決定した命令「I1」で書込み先となる演算レジスタV3を示す情報をそれぞれW→Wビジー情報管理部210、W→Rビジー情報管理部230へ出力する。同様にR→Wビジー情報生成部261は、0をR→Wビジー情報管理部220へ出力する。また、演算器ビジー情報生成部263は命令「I1」で使用する演算器(論理演算器130)を示す情報とVLの情報(=2)を演算器ビジー情報管理部240へ出力する。
FIG. 8 is a second diagram showing a time chart of the information processing apparatus according to the first embodiment of the present invention.
The busy value and instruction issue determination according to the present embodiment will be described with reference to FIG. Also in FIG. 8, the same instruction sequence as in FIGS.
As in FIG. 7, “5” which is the operation TAT of “VADD” is set in the W → W busy
In this embodiment, the W → W
Busy value of W → W busy
7 is different from the determination formula of FIG. 7 in that the operation TAT value (= 5) of the VADD instruction is used instead of the operation TAT value (= 3) of the VAND instruction. As described above, in the present embodiment, when the instruction issue condition is determined by the W → W
W→Wビジー情報管理部210、W→Rビジー情報管理部230は取得した情報に基づいてW→Wビジー情報管理部214及びW→Rビジー情報管理部234に「5」をセットする。R→Wビジー情報生成部220は、R→Wビジー情報生成部221、222に「0」をセットする。演算器ビジー情報管理部240は演算器ビジー情報管理部242に「2」をセットする。図8のクロック3におけるビジー情報管理部214、221、222、234、242の値はこのようにしてセットされたものである。その後、各ビジー値は1クロックごとに1ずつ減算されていく。
なお、命令「I2」の発行はクロック3に確定し、命令「I2」の最後のデータが確定するのは図8に示すとおりクロック10である。
The W → W busy
It should be noted that the issue of the instruction “I2” is decided at
以上で本実施形態において演算パイプ制御部20の各機能部でビジー管理と演算TAT値を決定する方法について記載した。以下において決定した演算TAT値に基づいて命令を実行する動作について簡単に説明する。
命令の発行が決定すると、命令発行チェック部208は、命令発行の決定を命令発行確定情報レジスタ270に通知する。命令発行キュー203は発行が決定した命令の情報を発行確定命令情報レジスタ271へ出力する。TAT決定部207は発行が決定した命令の演算TAT値を発行確定TAT情報レジスタ272へ出力する。
例えば命令「I1」(VAND* V3 ← V0 & V1 )を例に説明すると、デコーダ282は、発行確定命令情報レジスタ271から命令情報を取得してそして演算レジスタV0、V1から値をVL=2だけ連続して読み出す指示をセレクタ112、113に与える。制御タイミングレジスタ273は、命令情報を1クロック保持し、デコーダ283に出力する。次にデコーダ283は演算処理の実行を論理演算器130に指示する。制御タイミングレジスタ274は、命令情報を1クロック保持し、デコーダ284に出力する。演算が終了すると図8の例では演算器本来の演算TAT値を2増加させているので、それに合わせて論理演算器130の演算結果を1クロックずつタイミング調整レジスタ131、タイミング調整レジスタ132を経由させることで演算レジスタV3に格納するタイミングを調整する。つまりデコーダ284は、演算結果をタイミング調整レジスタ131(図1)に出力するように論理演算器130に指示する。制御タイミングレジスタ275は、命令情報を1クロック保持し、デコーダ285に出力する。デコーダ285は、演算結果をタイミング調整レジスタ132(図1)に出力するようにタイミング調整レジスタ131に指示する。制御タイミングレジスタ276は命令情報を1クロック保持し、デコーダ286に出力する。デコーダ286は、演算結果をタイミング調整レジスタ132から取得するようにセレクタ133に指示し、伝送路901を介してクロスバー106に出力する。続いて制御タイミングレジスタ277は、命令情報を1クロック保持し、デコーダ287に出力する。デコーダ287は、クロスバー106に演算結果を演算レジスタV3へ出力するよう指示を行う。
The method for determining the busy management and the calculation TAT value in each functional unit of the calculation
When the instruction issuance is determined, the instruction
For example, the instruction “I1” (VAND * V3 ← V0 & V1) will be described as an example. The
このように本実施形態によれば、演算命令で使用する演算器の本来の演算TAT値に代わって、他の演算器の演算TAT値のうち最大の値を用いることで、後続の命令を早く発行することができ、結果として命令列の演算を早く完了させることができる。
なお、図8の例では、他の演算器の演算TAT値をそのまま使用しているが、W→W発行チェック部204、R→W発行チェック部205、ビジーチェック部206の発行チェック条件と合わせてビジー期間が管理できれば、任意の値を使用可能である。この具体例については、後に図11を用いて説明する。
As described above, according to the present embodiment, instead of the original arithmetic TAT value of the arithmetic unit used in the arithmetic instruction, the maximum value among the arithmetic TAT values of other arithmetic units is used, so that the subsequent instruction can be made faster. As a result, the operation of the instruction sequence can be completed quickly.
In the example of FIG. 8, the operation TAT value of another arithmetic unit is used as it is, but it is matched with the issue check conditions of the W → W
図9は、本発明の第一の実施形態による情報処理装置のタイムチャートを示す第三の図である。
図9を用いて本実施形態によるTAT決定部207が、論理演算器130を使用する場合にW→W発行チェック部204およびR→W発行チェック部205の出力値を比較して、値の大きい方を演算TATとして出力する動作の一例を説明する。図9では以下の命令列を例に本実施形態の情報処理装置による動作を説明する。
命令「Ist」 VST Mem ← V3 VL=2
命令「I0」 VADD* V3 ← V0 + V1 VL=2
命令「I1」 VAND* V3 ← V0 & V1 VL=2
命令「I2」 VMPY V0 ← V1 × V2 VL=2
VSTはストア命令のことで命令「Ist」は、演算レジスタV3の値をメモリに書き込む処理である。本実施形態においては4サイクルに1回レジスタからデータを読み出す設定になっているものとする。VST命令における命令TATは次の式で算出するものとする。
(VST命令のVL値 − 1)×(4 − 1) ・・・ 式2
式の2項目の「4」は4サイクルに1回レジスタからデータを読み出すことによる。図9の場合、VL=2であるから式2の値は「3」となる。
命令「Ist」と「I0」、「I1」の関係における特徴は演算レジスタV3についてRead→Writeの関係になることである。また、命令「I0」と「I1」の関係における特徴は演算レジスタV3についてWrite→Writeの関係になることである。
命令「Ist」と「I0」、「I1」の関係に注目するとクロック0で命令「Ist」の発行が決定すると、クロック1で演算レジスタV3の1つ目の要素をメモリにストアする。そして4サイクル後の5クロックで2つ目の要素をメモリにストアする。命令「I0」、「I1」の演算レジスタV3への書き込みは5サイクル後に行わなければならない。命令「I0」と「I1」の関係については、図7、図8と同様である。
まず、クロック0で命令「Ist」の発行が決定すると、クロック1でR→Wビジー情報管理部224に式2で求めた値「3」がセットされる。ここでR→W発行チェック部205は、命令「I0」の発行の判定を次式で行う。
R→Wビジー情報管理部224のビジー値 − VADD命令の演算TAT値 ≦0
この例の場合、「3−5」となるので上の式は満たされる。従って命令「I0」の発行がクロック1で決定する。命令「I0」の発行が完了するとクロック2において図8と同様に「5」が、W→Wビジー情報管理部214にセットされ、クロック1で「3」だったR→Wビジー情報管理部224の値は「2」となる。
このときW→W発行チェック部204は、「I0」と「I1」におけるV3へのW→Wの関係を、
W→Wビジー情報管理部214のビジー値 − VAND命令の演算TAT値 ≦0
で判定する。ここでVAND命令の演算TAT値は、命令「I0」のVADD命令の演算TATである「5」として計算するので、この式の左辺は「5−5」となりこの式を満たす。従ってR→W発行チェック部204は、命令発行可能を示す「1」を命令発行チェック部208へ出力する。
R→W発行チェック部205は、「Ist」と「I1」におけるV3へのR→Wの関係を、
R→Wビジー情報管理部224のビジー値 − VAND命令の演算TAT値 ≦0
で判定する。ここでVAND命令の演算TAT値は、命令「Ist」の演算TATと「VAND」本来の演算TATのうち大きい方の値となるが共に「3」であるので、この式の左辺は「2−3」となり、この式を満たす。従ってR→W発行チェック部205は、命令発行可能を示す「1」を命令発行チェック部208へ出力する。これによりクロック2で命令「I1」の発行が決定する。
一方、クロック2においてTAT決定部207は、W→Wビジー情報管理部214の値「5」をW→W発行チェック部204を介して取得する。また、TAT決定部207は、R→Wビジー情報管理部224の値「2」をR→W発行チェック部205を介して取得する。そしてTAT決定部207は、命令「I1」の「VAND」の演算TATを、これらの値を比較して大きい方の値である「5」と決定する。以降の処理は図8と同じである。このようにW→Wビジー情報管理部とR→Wビジー情報管理部とに有意なビジー値を持つ場合であっても、TAT決定部207は、それらのうち大きい方の値を次の命令における演算TATの値と定める。それにより後続の命令を早く発行することができ、結果として命令列の演算を早く完了させることができる。
FIG. 9 is a third diagram showing a time chart of the information processing apparatus according to the first embodiment of the present invention.
The
Command “Ist” VST Mem ← V3 VL = 2
Command “I0” VADD * V3 ← V0 + V1 VL = 2
Command “I1” VAND * V3 ← V0 & V1 VL = 2
Command “I2” VMPY V0 ← V1 × V2 VL = 2
VST is a store instruction, and instruction “Ist” is a process of writing the value of the arithmetic register V3 into the memory. In the present embodiment, it is assumed that data is set to be read from the register once every four cycles. The instruction TAT in the VST instruction is calculated by the following formula.
(VL value of VST instruction −1) × (4-1)
“4” in the two items of the formula is obtained by reading data from the register once every four cycles. In the case of FIG. 9, since VL = 2, the value of
A feature of the relationship between the instructions “Ist”, “I0”, and “I1” is that the operation register V3 has a relationship of Read → Write. A feature of the relationship between the instructions “I0” and “I1” is that the operation register V3 has a write → write relationship.
When attention is paid to the relationship between the instruction “Ist”, “I0”, and “I1”, when the issue of the instruction “Ist” is determined at the
First, when the issue of the instruction “Ist” is determined at
R → W busy
In this example, “3-5” is satisfied, so the above equation is satisfied. Therefore, the issue of the instruction “I0” is determined by the
At this time, the W → W
Busy value of W → W busy
Judge with. Here, since the operation TAT value of the VAND instruction is calculated as “5” which is the operation TAT of the VADD instruction of the instruction “I0”, the left side of this expression is “5-5” and satisfies this expression. Therefore, the R → W
The R → W
R → W busy
Judge with. Here, the operation TAT value of the VAND instruction is “3”, which is the larger value of the operation TAT of the instruction “Ist” and the original operation TAT of “VAND”. 3 ", which satisfies this equation. Accordingly, the R → W
On the other hand, in
図10は、本発明の第一の実施形態による情報処理装置のタイムチャートを示す第四の図である。
図10を用いて本実施形態によるTAT決定部207が、他の演算器の最大演算TATだけではなく、本来の演算TAT値と他の演算器の最大演算TAT値との中間的な値を取り得る例について説明する。図10の説明で使用する命令列は図8と同じである。
この図における前提としてクロック1の時点でこの命令列以前に実行されたある演算命令によって例えばVL=4のAND命令が発行され、この図のクロック1において演算器ビジー情報管理部242のビジー値が「3」であるものとする。また、この先行する命令による演算レジスタの干渉は考えないものとする。また、先行するAND命令と干渉しない命令「I0」はクロック1で発行が決定しているものとする。するとこの図においては図8と異なり命令「I1」の発行に対して演算器ビジー情報管理部242のビジー値がネックとなる。命令「I1」もAND命令であり、論理演算器130を使用するからである。クロック3までは、演算器ビジー情報管理部242のビジー値が示すように論理演算器130がビジー状態である。そのためビジーチェック部206の値は、クロック3まで次命令の発行可能を示す「1」にはならない。クロック3においてR→W発行チェック部204、W→W発行チェック部205、ビジーチェック部206全ての値が1となり命令「I1」の発行が可能になる。そのとき命令発行チェック部208は、「1」を伝送路999に出力する。一方、TAT決定部207は、クロック3においてR→Wビジー情報管理部214の値「4」をR→W発行チェック部204を介して取得する。そしてTAT決定部207は命令「I1」の「VADD」の演算TATを「4」と決定する。命令「I1」においては、図8と異なり演算TATを4にセットしたため、タイミング調整レジスタ131からクロスバー106へ出力する。従って図8と比べの命令「I1」の全サイクルが1クロック短くなっている。その為、仮に命令「I2」が命令「I1」と演算レジスタV3についてR→W関係にある場合など、図8の例のように命令「I1」の演算TATを「5」と設定する場合に比べ1クロック早く命令発行を決定できることになる。
このように本実施形態によれば演算TATとして本来の演算TAT値と他の演算器の最大演算TAT値との中間的な値を状況に応じて柔軟に取り得ることにより計算リソースの効率的な活用、処理の高速化が可能になる。
FIG. 10 is a fourth diagram showing a time chart of the information processing apparatus according to the first embodiment of the present invention.
10, the
As an assumption in this figure, for example, an AND instruction of VL = 4 is issued by a certain arithmetic instruction executed before this instruction sequence at the time of
As described above, according to the present embodiment, as the calculation TAT, an intermediate value between the original calculation TAT value and the maximum calculation TAT value of other calculators can be flexibly taken according to the situation, thereby efficiently calculating resources. Utilization and speeding up of processing become possible.
図11は、本発明の第一の実施形態による情報処理装置のタイムチャートを示す第五の図である。
図11を用いて本実施形態が、読み出される要素が連続では無く、何サイクルか空いて飛び飛びに読み出す読み出しパターンにも対応できることを説明する。説明に用いるのは以下の命令列である。
命令「I1」 VST Mem ← V0 VL=4
命令「I2」 VAND V0 ← V2 & V3 VL=4
この命令列は、「I1」と「I2」が演算レジスタV0についてR→Wの関係になっていることが特徴である。
この例においても4サイクルに1回レジスタからデータを読み出す設定になっているものとする。図9で説明したとおりVSTの演算TATは、式2で計算する。すると図11のVSTの演算TATは「9」である。クロック1でR→Wビジー情報管理部221に「9」がセットされる。R→W発行チェック部205の判定条件は、
R→Wビジー情報管理部221 − VAND命令TAT ≦ 0
である。
本実施形態の論理演算器130の演算TATは3〜5の値を可変的にとり得る。この例では、VAND命令TATを5として判定する。するとクロック6においてこの式が満たされ、命令「I2」の発行が決定する。するとクロック14において演算レジスタV0の4要素目がメモリにストアされてから、クロック15において演算レジスタV0の4要素目に書き込みが行われデータの一貫性が保たれ、最短のタイミングでこの命令列の実行が完了する。
このように本実施形態によれば、演算レジスタから特殊な読み出しが行われる際にR→Wビジー情報生成部261を使用して図11で示した例のようにストアパススループットの関係から演算レジスタから4サイクル周期で読み出すようなストア命令の場合など、最後のデータが読み出される前に後続命令の書き込みが行われないよう管理しながら最速のタイミングで処理を実行することができる。
FIG. 11 is a fifth diagram showing a time chart of the information processing apparatus according to the first embodiment of the present invention.
With reference to FIG. 11, it will be described that the present embodiment can cope with a read pattern in which the elements to be read are not continuous, but are read several times after skipping. The following instruction sequence is used for explanation.
Command “I1” VST Mem ← V0 VL = 4
Command “I2” VAND V0 ← V2 & V3 VL = 4
This instruction sequence is characterized in that “I1” and “I2” have a relation of R → W with respect to the arithmetic register V0.
Also in this example, it is assumed that data is set to be read from the register once every four cycles. As described with reference to FIG. 9, the calculation TAT of VST is calculated by
R → W busy
It is.
The operation TAT of the
As described above, according to the present embodiment, when special reading is performed from the operation register, the operation register is calculated from the relationship of the store path throughput using the R → W busy
<第二の実施の形態>
以下、本発明の第二の実施形態による情報処理装置の動作を図12〜図13を参照して説明する。
図12に示すとおり第一の実施形態においては命令動作効率向上のためにW→Wビジー情報管理部、W→Wビジーチェック部など情報処理装置1のハードウェアによって演算TATを決定していたが、第二の実施形態において演算TATは、予めシミュレーションや実測などによって性能の良い演算TAT値を決定しておき、その決定した値を演算パイプ制御部20の外部から制御信号によってW→W発行チェック部204などに与える。例えば、図12の信号980に値「5」が含まれており、W→W発行チェック部204、演算TAT決定部207はこの信号980に含まれる値「5」を各命令の演算TAT値とする。
図13は第二実施形態におけるタームチャートである。この図における命令列は図7と同じである。図13に示す通りクロック1以降、信号980によって値「5」が与えられる。
本実施形態によると予めジョブ毎に実行性能が良い値を決定しておき、信号980を介して演算TAT値を受け取ることでより柔軟に効率の良い演算を行うことが出来る。
<Second Embodiment>
The operation of the information processing apparatus according to the second embodiment of the present invention will be described below with reference to FIGS.
As shown in FIG. 12, in the first embodiment, the calculation TAT is determined by the hardware of the
FIG. 13 is a term chart in the second embodiment. The instruction sequence in this figure is the same as in FIG. As shown in FIG. 13, the value “5” is given by the signal 980 after the
According to the present embodiment, a value with good execution performance is determined in advance for each job, and the calculation TAT value is received via the signal 980, so that more flexible and efficient calculation can be performed.
<第三の実施の形態>
以下、本発明の第三の実施形態による情報処理装置の動作を図14を参照して説明する。
図14に示すとおり第三の実施形態においては、状態カウント部800を備えている。状態カウント部800は、命令発行チェック部208が「1」を出力したときにおけるTAT決定部207が決定した演算TATの値を取得する。そして、状態カウント部800は、演算TATの分布をカウントする。そして、例えば、演算TAT=5が2455回、演算TAT=4が1244回などのように演算TAT値の最大値をカウントした回数が、他と比較して群を抜いて多い場合は、演算TAT=5と固定することを決定し、その決定した演算TATをW→W発行チェック部204などに与える。
これにより、論理回路の信号変化を抑止して省電力化を図ることができる。
<Third embodiment>
The operation of the information processing apparatus according to the third embodiment of the present invention will be described below with reference to FIG.
As shown in FIG. 14, the third embodiment includes a state count unit 800. The state count unit 800 acquires the value of the operation TAT determined by the
As a result, it is possible to save power by suppressing signal changes in the logic circuit.
また、命令発行決定時は命令本来の演算TATで命令の発行を決定し、例えばR→Wにある後続命令の発行決定時に、制御タイミングレジスタ274以降の演算TATの値を変更する構成も考えられる。
In addition, when issuing an instruction is determined, the instruction issuance is determined based on the instruction's original operation TAT. For example, when the subsequent instruction in R → W is determined to be issued, the value of the operation TAT after the
なお、W→Wビジー情報管理部210、R→Wビジー情報管理部220、W→Rビジー情報管理部230、演算器ビジー情報管理部240は、ビジー期間情報管理部の一例である。また、ビジー値は、ビジー期間情報の一例である。また、チェック部は、例えば、W→W発行チェック部204、R→W発行チェック部205、ビジーチェック部206、命令発行チェック部208で構成される。また、TAT決定部207は、決定部の一例である。また、制御部は、例えば、命令発行確定情報レジスタ270、発行確定命令情報レジスタ271、発行確定TAT情報レジスタ272、デコーダ273〜278、タイミング調整レジスタ131〜132、セレクタ133で構成される。
The W → W busy
その他、本発明の趣旨を逸脱しない範囲で、上記した実施の形態における構成要素を周知の構成要素に置き換えることは適宜可能である。また、この発明の技術範囲は上記の実施形態に限られるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更を加えることが可能である。 In addition, it is possible to appropriately replace the components in the above-described embodiments with known components without departing from the spirit of the present invention. The technical scope of the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the spirit of the present invention.
100・・・演算レジスタV0
101・・・演算レジスタV1
102・・・演算レジスタV2
103・・・演算レジスタV3
106・・・クロスバー
110、111、112、113・・・オペランドセレクタ
120・・・積和演算器
130・・・論理演算器
131、132・・・タイミング調整レジスタ
133・・・セレクタ
20・・・演算パイプ制御部
201・・・命令バッファ部
202・・・命令デコーダ
203・・・命令発行キュー
204・・・W→W発行チェック部
205・・・R→W発行チェック部
206・・・ビジーチェック部
207・・・TAT決定部
208・・・命令発行チェック部
210・・・W→Wビジー情報管理部
220・・・R→Wビジー情報管理部
230・・・W→Rビジー情報管理部
240・・・演算器ビジー情報管理部
260・・・W→Wビジー情報生成部
261・・・R→Wビジー情報生成部
262・・・W→Rビジー情報生成部
263・・・演算器ビジー情報生成部
270・・・命令発行確定情報レジスタ
271・・・発行確定命令情報レジスタ
272・・・発行確定TAT情報レジスタ
273、274、275、276、277、278・・・デコーダ
100: arithmetic register V0
101: Operation register V1
102: Operation register V2
103: arithmetic register V3
106...
Claims (8)
複数の演算器と、
演算命令の発行が決定すると、当該演算命令に関係する演算レジスタ及び演算器について、当該演算命令の実行のために使用する期間を表すビジー期間情報をセットし、前記発行が決定した演算命令の進行に応じて前記ビジー期間情報を減算するビジー期間情報管理部と、
前記ビジー期間情報と後続の演算命令の実行に要する時間である演算TAT(TURN AROUND TIME)とに基づいて、前記後続の演算命令を逐次的に実行したときの演算結果を確保できる前記後続の演算命令の発行タイミングを決定するチェック部と、
発行が決定した前記後続の演算命令の演算TATを、当該後続の演算命令に関係する演算器に応じて決定する決定部と、
前記決定部が決定した演算TATに基づいて、発行が決定した前記後続の演算命令の演算結果を前記演算レジスタに格納するタイミングを調整する制御部と、
を備え、
前記チェック部は、前記後続の演算命令の演算TATについて、当該演算命令について定められた所定の演算TATに基づく前記後続の演算命令の発行タイミングよりも早いタイミングで当該後続の演算命令を発行する場合に、先行する演算命令の演算結果の確保に必要な前記時間を前記後続の演算命令の演算TATとして、前記発行タイミングを決定する、ことを特徴とする情報処理装置。 Multiple arithmetic registers;
A plurality of arithmetic units;
When it is determined that the operation instruction is issued, busy period information indicating a period used for execution of the operation instruction is set for the operation register and the arithmetic unit related to the operation instruction, and the operation instruction determined by the issue is progressed. A busy period information management unit for subtracting the busy period information according to
Based on the busy period information and a calculation TAT (TURN AROUND TIME) that is a time required for execution of the subsequent calculation instruction, the subsequent calculation that can secure a calculation result when the subsequent calculation instruction is sequentially executed. A check unit that determines the timing of issuing instructions;
A determination unit that determines an operation TAT of the subsequent operation instruction determined to be issued according to an arithmetic unit related to the subsequent operation instruction;
A control unit that adjusts the timing of storing the calculation result of the subsequent calculation instruction determined to be issued in the calculation register based on the calculation TAT determined by the determination unit;
Bei to give a,
When the check unit issues the subsequent operation instruction for the operation TAT of the subsequent operation instruction at a timing earlier than the issue timing of the subsequent operation instruction based on a predetermined operation TAT determined for the operation instruction. And determining the issuance timing using the time required to secure the operation result of the preceding operation instruction as the operation TAT of the subsequent operation instruction .
複数の演算器と、
演算命令の発行が決定すると、当該演算命令に関係する演算レジスタ及び演算器について、当該演算命令の実行のために使用する期間を表すビジー期間情報をセットし、前記発行が決定した演算命令の進行に応じて前記ビジー期間情報を減算するビジー期間情報管理部と、
前記ビジー期間情報と後続の演算命令の実行に要する時間である演算TAT(TURN AROUND TIME)とに基づいて、前記後続の演算命令を逐次的に実行したときの演算結果を確保できる前記後続の演算命令の発行タイミングを決定するチェック部と、
発行が決定した前記後続の演算命令の演算TATを、当該後続の演算命令に関係する演算器に応じて決定する決定部と、
前記決定部が決定した演算TATに基づいて、発行が決定した前記後続の演算命令の演算結果を前記演算レジスタに格納するタイミングを調整する制御部と、
を備え、
前記チェック部は、後続の演算命令の演算TATが、先行する演算命令の演算TATよりも小さい場合、後続の演算命令の演算TATに代えて前記複数の演算器について定められた演算TATのうち最大の値を用いて前記後続の演算命令の発行タイミングを決定し、
前記決定部は、後続の演算命令の演算TATが、先行する演算命令の演算TATよりも小さい場合、発行が決定した前記後続の演算命令の演算TATを、前記発行タイミングにおける前記ビジー期間情報に基づいて決定する
ことを特徴とする情報処理装置。 Multiple arithmetic registers;
A plurality of arithmetic units;
When it is determined that the operation instruction is issued, busy period information indicating a period used for execution of the operation instruction is set for the operation register and the arithmetic unit related to the operation instruction, and the operation instruction determined by the issue is progressed. A busy period information management unit for subtracting the busy period information according to
Based on the busy period information and a calculation TAT (TURN AROUND TIME) that is a time required for execution of the subsequent calculation instruction, the subsequent calculation that can secure a calculation result when the subsequent calculation instruction is sequentially executed. A check unit that determines the timing of issuing instructions;
A determination unit that determines an operation TAT of the subsequent operation instruction determined to be issued according to an arithmetic unit related to the subsequent operation instruction;
A control unit that adjusts the timing of storing the calculation result of the subsequent calculation instruction determined to be issued in the calculation register based on the calculation TAT determined by the determination unit;
With
When the operation TAT of the subsequent operation instruction is smaller than the operation TAT of the preceding operation instruction, the check unit replaces the operation TAT of the subsequent operation instruction with the maximum of the operation TATs defined for the plurality of operation units. Determine the timing of issuing the subsequent operation instruction using the value of
When the operation TAT of the subsequent operation instruction is smaller than the operation TAT of the preceding operation instruction, the determination unit determines the operation TAT of the subsequent operation instruction determined to be issued based on the busy period information at the issue timing. determining Te information processing apparatus it said.
ことを特徴とする請求項2に記載の情報処理装置。 The information processing apparatus according to claim 2, wherein the determination unit variably determines a value that is greater than or equal to an operation TAT of a subsequent operation instruction and less than or equal to an operation TAT of a preceding operation instruction.
前記決定部は、前記発行タイミングにおける前記組み合わせ別にセットされた前記ビジー期間情報のうち、最大の値を前記後続の演算命令の演算TATとして決定する。
ことを特徴とする請求項2又は請求項3に記載の情報処理装置。 The busy period information management unit sets busy period information for each combination of write processing or read processing that is continuously performed on the arithmetic register,
The determination unit determines a maximum value among the busy period information set for each combination at the issue timing as an operation TAT of the subsequent operation instruction.
The information processing apparatus according to claim 2, wherein the information processing apparatus is an information processing apparatus.
前記チェック部は、前記組み合わせ別にセットされた前記ビジー期間情報に基づいて前記後続の演算命令の発行タイミングを決定する
ことを特徴とする請求項1から請求項4の何れか1項に記載の情報処理装置。 The busy period information management unit sets busy period information for each combination of write processing or read processing that is continuously performed on the arithmetic register,
The information according to any one of claims 1 to 4, wherein the check unit determines a timing for issuing the subsequent operation instruction based on the busy period information set for each combination. Processing equipment.
ことを特徴とする請求項1から請求項5の何れか1項に記載の情報処理装置。 The check unit obtains a predetermined value used as an operation TAT of the subsequent operation instruction from the outside, and determines an issue timing of the subsequent operation instruction based on the busy period information and the acquired value. The information processing apparatus according to any one of claims 1 to 5, wherein:
前記状態カウント部は、カウントした回数が最も多い演算TATの値が前記複数の演算器の演算TATにおける最大値である場合、その演算TATを前記チェック部に出力し、
前記チェック部は、前記ビジー期間情報と前記状態カウント部から取得した演算TATとに基づいて、前記後続の演算命令の発行タイミングを決定する
ことを特徴とする請求項1から請求項6の何れか1項に記載の情報処理装置。 A state counting unit that obtains the calculation TAT selected by the determination unit and counts the number of times determined by the determination unit for each value of the calculation TAT,
The state count unit outputs the calculation TAT to the check unit when the value of the calculation TAT with the largest number of counts is the maximum value in the calculation TAT of the plurality of calculators,
7. The check unit according to claim 1, wherein the check unit determines an issue timing of the subsequent operation instruction based on the busy period information and the operation TAT acquired from the state count unit. The information processing apparatus according to item 1.
演算命令の発行が決定すると、当該演算命令に関係する演算レジスタ及び演算器について、当該演算命令の実行のために使用する期間を表すビジー期間情報をセットし、前記発行が決定した演算命令の進行に応じて前記ビジー期間情報を減算し、
前記ビジー期間情報と後続の演算命令の実行に要する時間である演算TATとに基づいて、前記後続の演算命令を逐次的に実行したときの演算結果を確保できる前記後続の演算命令の発行タイミングを決定し、
発行が決定した前記後続の演算命令の演算TATを、当該後続の演算命令に関係する演算器に応じて決定し、
前記決定した演算TATに基づいて、発行が決定した前記後続の演算命令の演算結果を前記演算レジスタに格納するタイミングを調整し、
前記発行タイミングを決定するときは、前記後続の演算命令の演算TATについて、当該演算命令について定められた所定の演算TATに基づく前記後続の演算命令の発行タイミングよりも早いタイミングで当該後続の演算命令を発行する場合に、先行する演算命令の演算結果の確保に必要な前記時間を前記後続の演算命令の演算TATとして、前記発行タイミングを決定する、ことを特徴とする制御方法。 In an information processing apparatus having a plurality of arithmetic registers and a plurality of arithmetic units,
When it is determined that the operation instruction is issued, busy period information indicating a period used for execution of the operation instruction is set for the operation register and the arithmetic unit related to the operation instruction, and the operation instruction determined by the issue is progressed. Subtract the busy period information according to
Based on the busy period information and an operation TAT that is a time required for execution of the subsequent operation instruction, an issue timing of the subsequent operation instruction that can secure an operation result when the subsequent operation instruction is sequentially executed is determined. Decide
An operation TAT of the subsequent operation instruction determined to be issued is determined according to an arithmetic unit related to the subsequent operation instruction;
Based on the determined operation TAT, adjust the timing of storing the operation result of the subsequent operation instruction determined to be issued in the operation register ,
When determining the issuance timing, for the operation TAT of the subsequent operation instruction, the subsequent operation instruction is earlier than the issuance timing of the subsequent operation instruction based on a predetermined operation TAT determined for the operation instruction. , The issuance timing is determined using the time required for securing the operation result of the preceding operation instruction as the operation TAT of the subsequent operation instruction .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014071860A JP6381019B2 (en) | 2014-03-31 | 2014-03-31 | Information processing apparatus and control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014071860A JP6381019B2 (en) | 2014-03-31 | 2014-03-31 | Information processing apparatus and control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015194844A JP2015194844A (en) | 2015-11-05 |
JP6381019B2 true JP6381019B2 (en) | 2018-08-29 |
Family
ID=54433813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014071860A Active JP6381019B2 (en) | 2014-03-31 | 2014-03-31 | Information processing apparatus and control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6381019B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2553783B (en) * | 2016-09-13 | 2020-11-04 | Advanced Risc Mach Ltd | Vector multiply-add instruction |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000276352A (en) * | 1999-03-08 | 2000-10-06 | Texas Instr Inc <Ti> | Pipeline protection |
JP5871298B2 (en) * | 2009-09-10 | 2016-03-01 | Necプラットフォームズ株式会社 | Information processing apparatus, information processing method, and information processing program |
-
2014
- 2014-03-31 JP JP2014071860A patent/JP6381019B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015194844A (en) | 2015-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9733945B2 (en) | Pipelining out-of-order instructions | |
WO2017124648A1 (en) | Vector computing device | |
CN103942033A (en) | Allocating threads to resources using speculation metrics | |
WO2011155097A1 (en) | Instruction issue and control device and method | |
JPH01309178A (en) | Processor switching system for multi-processor | |
JP6381019B2 (en) | Information processing apparatus and control method | |
JP2013206095A (en) | Data processor and control method for data processor | |
US11481223B2 (en) | Reducing operations of sum-of-multiply-accumulate (SOMAC) instructions | |
JPWO2008155801A1 (en) | Information processing apparatus and register control method | |
KR101293700B1 (en) | Method and apparatus of generating code for coarse-grained reconfigurable architecture | |
CN112074810A (en) | Parallel processing apparatus | |
JP4444305B2 (en) | Semiconductor device | |
JP5871298B2 (en) | Information processing apparatus, information processing method, and information processing program | |
JP2004038751A (en) | Processor and instruction control method | |
JP5788920B2 (en) | Vector processing apparatus and vector processing method | |
CN103970510B (en) | For the Compilation Method and equipment being scheduled to the block in assembly line | |
CN112579168B (en) | Instruction execution unit, processor and signal processing method | |
JP5786719B2 (en) | Vector processor | |
US11416261B2 (en) | Group load register of a graph streaming processor | |
JP4720915B2 (en) | Apparatus and method for overtaking determination between vector instructions | |
JP6225554B2 (en) | Arithmetic processing device and control method of arithmetic processing device | |
JP2016091362A (en) | Information processing device, information processing method, and program | |
JP2002318689A (en) | Vliw processor for executing instruction with delay specification of resource use cycle and method for generating delay specification instruction | |
US10884738B2 (en) | Arithmetic processing device and method of controlling arithmetic processing device | |
JP6340887B2 (en) | Arithmetic processing device and control method of arithmetic processing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170208 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180226 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180313 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180501 |
|
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: 20180703 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180726 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6381019 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |