JP5145659B2 - Vector renaming method and vector computer - Google Patents

Vector renaming method and vector computer Download PDF

Info

Publication number
JP5145659B2
JP5145659B2 JP2006169010A JP2006169010A JP5145659B2 JP 5145659 B2 JP5145659 B2 JP 5145659B2 JP 2006169010 A JP2006169010 A JP 2006169010A JP 2006169010 A JP2006169010 A JP 2006169010A JP 5145659 B2 JP5145659 B2 JP 5145659B2
Authority
JP
Japan
Prior art keywords
vector
cell
register
renaming
mask
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006169010A
Other languages
Japanese (ja)
Other versions
JP2007334819A (en
Inventor
聡 多賀谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2006169010A priority Critical patent/JP5145659B2/en
Publication of JP2007334819A publication Critical patent/JP2007334819A/en
Application granted granted Critical
Publication of JP5145659B2 publication Critical patent/JP5145659B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3838Dependency mechanisms, e.g. register scoreboarding
    • G06F9/384Register renaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30018Bit or string instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • G06F9/30038Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Advance Control (AREA)

Description

本発明は、ベクトル型計算機に関し、特に、レジスタリネーミングを可能にして演算スループットを向上させるためのレジスタリネーミング方式と、このようなレジスタリネーミング方式を採用したベクトル型計算機とに関する。   The present invention relates to a vector computer, and more particularly, to a register renaming method that enables register renaming to improve calculation throughput, and a vector computer that employs such a register renaming method.

計算機システムにおいてその性能を向上させるためには、単位時間当たりに実行できる命令数を高めることが必要である。特に、持続的な性能(Sustained Performance)の向上のためには、命令を発行するレート(Issueレート)を向上することが必要である。   In order to improve the performance of a computer system, it is necessary to increase the number of instructions that can be executed per unit time. In particular, in order to improve sustained performance, it is necessary to improve the rate at which instructions are issued (Issue rate).

計算機システムにおいて、演算処理は一般にレジスタ間で行われるが、パイプライン処理を用いている場合に、あるレジスタに対する命令を発行した後、同じレジスタが別の命令を実行できるようになるためには一定のマシンサイクルを必要とする。ハードウェアには、プログラムが前提とする個数よりも多くの個数のレジスタを用意しておき、プログラム上では同一のレジスタに対するものである複数の命令があるときに、命令の実行時において、プログラムで規定されているレジスタとは別のレジスタを用いるようにすることによって、演算の高速化が可能になる。このような手法で演算の高速化を図るものが、レジスタリネーミング(レジスタの名前の付け替え)である。   In computer systems, arithmetic processing is generally performed between registers. However, when pipeline processing is used, after issuing an instruction for one register, the same register can execute another instruction. Need machine cycles. The hardware has more registers than the program assumes, and when there are multiple instructions that are for the same register in the program, By using a register different from the defined register, the operation speed can be increased. Register renaming (renaming of registers) is a method for speeding up operations by such a method.

一般的に行われているレジスタリネーミングでは、ある演算結果を書き込むレジスタに別名を与え、リソースの依存性を緩和する。たとえば、命令Aが論理リソースXに対してデータを読み出している途中で、同一の論理リソースXに対する書き込みを行う後続命令Bに関して、論理リソースXに対して物理リソースX1、X2をそれぞれA,Bに割り当てておくことで、B実行によるデータの書きつぶしを防ぐことが可能となる。これは命令Bの発行制限の緩和を意味し、発行レートの向上が見込める。   In register renaming that is generally performed, an alias is given to a register to which a certain operation result is written, and resource dependency is relaxed. For example, regarding the subsequent instruction B that writes to the same logical resource X while the instruction A is reading data from the logical resource X, the physical resources X1 and X2 are changed to A and B for the logical resource X, respectively. By allocating, it becomes possible to prevent data from being overwritten by B execution. This means that the issue limit of the instruction B is relaxed, and an increase in the issue rate can be expected.

しかしながら、レジスタリネーミングをベクトル型計算機に適用しようとする場合には、ベクトル型計算機には、要素ごとに計算の有無を切り替えることのできるマスク機能が設けられており、単純にリネーミングメカニズムを実現できない、という問題点がある。たとえば前述の命令Bにマスクがかかっていた場合、マスク対象の要素には、演算結果の元の値、すなわち命令Aの実行結果の対応する要素を格納する必要がある。これは、演算がマスクされている以上、あるレジスタに既に書き込まれたデータが、あとに実行される命令で参照される可能性があるからである。ベクトル計算機におけるマスク機能については、例えば、特許文献1、2に記載されている。   However, if register renaming is to be applied to a vector computer, the vector computer is provided with a mask function that can switch the presence / absence of calculation for each element, thus realizing a simple renaming mechanism. There is a problem that it is not possible. For example, when the above-described instruction B is masked, it is necessary to store the original value of the operation result, that is, the corresponding element of the execution result of the instruction A, in the masked element. This is because data already written in a certain register may be referred to by an instruction to be executed later as long as the operation is masked. The mask function in the vector computer is described in Patent Documents 1 and 2, for example.

そのため、単純に複数の独立したリソースをA,Bに割り当てるだけで不十分で、そのリソース間での値の引渡しが必要となり、既存のレジスタリネーミング技術を単純に導入することができなかった。リソース間での値の引渡しを行うようにした構成は、例えば、特許文献3に記載されている。
特開昭60−150473号公報 特開平1−284970号公報 特開2000−172505号公報
For this reason, it is not sufficient to simply assign a plurality of independent resources to A and B, and it is necessary to pass values between the resources, and it is not possible to simply introduce an existing register renaming technique. A configuration in which a value is transferred between resources is described in Patent Document 3, for example.
JP 60-150473 A JP-A-1-284970 JP 2000-172505 A

上述したように従来のレジスタリネーミングの手法は、命令の発行レートを向上することによって演算処理性能を高める手法として広く用いられているものの、ベクトル計算機にはそのままでは適用できない、という問題点を有する。特許文献3に記載されたようにリソース間で値の引渡しを行えるような構成を採用する場合には、ハードウェア構成が複雑になる、という問題点がある。   As described above, the conventional register renaming technique is widely used as a technique for improving the arithmetic processing performance by improving the instruction issue rate, but has a problem that it cannot be applied to a vector computer as it is. . When adopting a configuration in which a value can be transferred between resources as described in Patent Document 3, there is a problem that the hardware configuration becomes complicated.

そこで本発明の目的は、単純なハードウェアを用い、ベクトル型計算機においてマスク演算動作とレジスタリネーミングを同時に実現することが可能な、ベクトルリネーミング方式と、このようなベクトルリネーミング方式を採用したベクトル型計算機とを提供することにある。   Therefore, an object of the present invention is to adopt a vector renaming method and a vector renaming method that can simultaneously realize mask operation and register renaming in a vector computer using simple hardware. It is to provide a vector type computer.

本発明のベクトルリネーミング方式は、ベクトル計算機においてマスク演算機能を実現したままレジスタリネーミングを可能にするベクトルリネーミング方式であって、論理ベクトルレジスタに対応するとともに相互に組をなす複数のリネーミングレジスタを備え、各リネーミングレジスタは、それぞれ1ビットのデータを保持するセルと、セルごとに設けられたセレクタとを有し、セレクタは、ライトデータか内の他のセルが保持する値かをマスク信号に応じて対応するセルに供給し、マスクが設定されている場合にはセル間でセルの値をコピーし、マスクが設定されていないときにはライトデータをいずれかのセルに書き込むようにしたものである。 Baie transfected Ruri naming scheme of the present invention is a vector renaming scheme that enables left register renaming to achieve a mask operation function in vector computer, a plurality of forming a pair with each other while corresponding to the logical vector register Each renaming register has a cell that holds 1-bit data and a selector provided for each cell, and the selector holds the write data or other cells in the set . The value is supplied to the corresponding cell according to the mask signal. When the mask is set, the cell value is copied between the cells. When the mask is not set, the write data is written to any cell. It is what I did.

本発明のベクトル型計算機は、レジスタリネーミングを制御する制御手段と、論理ベクトルレジスタに対応するとともに相互に組をなす複数のリネーミングレジスタと、演算器と、制御手段によって制御されて複数のリネーミングレジスタのうちの1つの出力を演算器に供給する第1のセレクタと、演算器の演算結果入力して複数のリネーミングレジスタのいずれかに格納する書き込み制御手段と、を備え、各リネーミングレジスタは、それぞれ1ビットのデータを保持するセルと、セルごとに設けられた第2のセレクタとを有し、第2のセレクタは、書き込み制御手段からのライトデータか内の他のセルが保持する値かをマスク信号に応じて対応するセルに供給し、マスクが設定されている場合にはセル間でセルの値をコピーし、マスクが設定されていないときにはライトデータをいずれかのセルに書き込むようにしたものである。 Vector type computer of the present invention includes a control unit for controlling the register renaming, a plurality of renaming register constituting a pair mutually with corresponding logical vector registers, and the arithmetic unit is controlled by the control means more A first selector that supplies an output of one of the renaming registers to the arithmetic unit, and a write control unit that inputs an operation result of the arithmetic unit and stores it in any of the plurality of renaming registers, Each renaming register has a cell that holds 1-bit data, and a second selector provided for each cell. The second selector can select either write data from the write control means or other data in the set . Is supplied to the corresponding cell according to the mask signal, and if the mask is set, the cell value is copied between cells and When the but not set is obtained so as to write the write data into one of the cells.

本発明は、論理ベクトルレジスタにマッピングされる複数のリネーミングレジスタにおいて、これらのリネーミングレジスタを結合することによってマスク演算に必要な値のコピーを行えるようにすることにより、単純なセル構成によって、マスク演算を実現したままレジスタリネーミングを実現をできるという効果がある。特に本発明は、大掛かりなハードウェアを必要とせずにマスク演算とレジスタリネーミングとを両立させているので、低コストで、ベクトル命令の発行レートを大幅に向上させることができる。   The present invention allows a plurality of renaming registers mapped to a logical vector register to copy values necessary for mask operation by combining these renaming registers, thereby enabling a simple cell configuration. There is an effect that register renaming can be realized while the mask operation is realized. In particular, according to the present invention, since the mask operation and the register renaming are made compatible without requiring a large-scale hardware, the issue rate of vector instructions can be greatly improved at low cost.

次に、本発明の好ましい実施の形態について、図面を参照して説明する。図1は本発明の実施の一形態のベクトルリネームミング方式で用いられるセルセット(セルの組)の構成を示している。   Next, a preferred embodiment of the present invention will be described with reference to the drawings. FIG. 1 shows the configuration of a cell set (cell set) used in the vector renaming method according to the embodiment of the present invention.

図1に示すセルセットは、それぞれ1ビットのRAM(ランダムアクセスメモリ)セルC0,C1を備えており、それぞれのビットは、同一論理レジスタにマップされる2つの物理レジスタに対応している。ここでは、1つの論理ベクトルレジスタが2つの物理ベクトルレジスタのいずれかにリネーミングされるものとして、2ビット分のセルを有するが、実際には、リネーミングの形態に応じて、3個以上のセルを用いて1つのセルセットを構成してもよい。   The cell set shown in FIG. 1 includes 1-bit RAM (Random Access Memory) cells C0 and C1, and each bit corresponds to two physical registers mapped to the same logical register. Here, one logical vector register is renamed to one of two physical vector registers, and has cells for 2 bits. However, actually, three or more cells are used depending on the form of renaming. One cell set may be configured using cells.

これらのセルは、ハードウェア上に近接してレイアウトされることが望ましい。このようにセルが集まった単位をセルセットと読んでいる。   These cells are preferably laid out in close proximity on the hardware. A unit in which cells are gathered in this way is read as a cell set.

各セルC0,C1に対してデータを書き込む経路には、それぞれ、セレクタS0,S1が設けられている。セルに対するライトデータWDがセルセットに入力しており、このデータWDは、セルC0,C1のいずれかあるいは両方に対して書き込みを行う際の入力データとなる。セレクタS0には、セルC1の出力RD1も接続し、セレクタS1にはセルC0の出力RD0も接続する。結局、セレクタS0,S1を介して、セルC0,C1がたすきがけとなるように接続していることになる。セレクタS0,S1には、マスク信号MASKが与えられている。マスク信号MASKがアクティブ(“1”)であれば、セレクタS0,S1は、セルC0,C1に対してそれぞれ書込データとして、相手側セルの出力(セルC1,C0の出力)を供給し、MASK信号がアクティブでなければ(すなわち“0”であれば)、ライドデータWDを供給する。各セルC0,C1からは、それぞれ、リードデータRD0,RD1が読み出される。なお、ベクトル計算機における各演算器(後述するFMAC70,73、FDV71,74、FLOGIC72,75)に対してリードRD0,RD1のどちらが供給されるかは、リソース管理部4からの選択信号42によって制御される後述するセレクタ80によって選択される。セレクタは、対をなして設けられた物理ベクトルレジスタから、論理レジスタにマップされるものを選択してその出力を各演算器に供給するために設けられている。   Selectors S0 and S1 are provided in the paths for writing data to the cells C0 and C1, respectively. Write data WD for the cell is input to the cell set, and this data WD becomes input data when writing to one or both of the cells C0 and C1. The output RD1 of the cell C1 is also connected to the selector S0, and the output RD0 of the cell C0 is also connected to the selector S1. Eventually, the cells C0 and C1 are connected through the selectors S0 and S1 so as to be opened. The selectors S0 and S1 are supplied with a mask signal MASK. If the mask signal MASK is active (“1”), the selectors S0 and S1 supply the outputs of the counterpart cell (the outputs of the cells C1 and C0) as write data to the cells C0 and C1, respectively. If the MASK signal is not active (ie, “0”), the ride data WD is supplied. Read data RD0 and RD1 are read from the cells C0 and C1, respectively. Note that the selection signal 42 from the resource management unit 4 controls which of the leads RD0 and RD1 is supplied to each computing unit (FMAC 70, 73, FDV 71, 74, FLOGIC 72, 75 described later) in the vector computer. This is selected by a selector 80 described later. The selector is provided for selecting one mapped to the logical register from the physical vector registers provided in pairs and supplying the output to each arithmetic unit.

各セルC0,C1に対しては、それぞれ、ライトイネーブル信号WE0,WE1が与えられている。WE0はC0に対するライトイネーブルであり、この信号がアクティブであれば、そのときセレクタC0で選択されている信号がセルC0に書き込まれる。すなわち、WE0がアクティブであれば、セルC0に対して、データWDあるいはセルC1の出力値が書き込まれる。例えば、マスク信号MASKが“1”のときに信号WE0がアクティブ(“1”)になると、セルC0にはセルC1の内容が書き込まれる、すなわち値がコピーされる。信号MASKが“0”の時に信号WE0がアクティブになると、セルC0にはライトデータWDの値が書き込まれる。同様に、信号WE1はセルC1に対するライトイネーブル信号であり、この信号WE1がアクティブになると、セルC1に対して、データWDあるいはセルC0の出力値が書き込まれる。   Write enable signals WE0 and WE1 are supplied to the cells C0 and C1, respectively. WE0 is a write enable for C0. If this signal is active, the signal selected by the selector C0 is written to the cell C0. That is, if WE0 is active, data WD or the output value of cell C1 is written into cell C0. For example, when the signal WE0 becomes active (“1”) when the mask signal MASK is “1”, the contents of the cell C1 are written into the cell C0, that is, the value is copied. When the signal WE0 becomes active when the signal MASK is “0”, the value of the write data WD is written in the cell C0. Similarly, the signal WE1 is a write enable signal for the cell C1, and when this signal WE1 becomes active, the output value of the data WD or the cell C0 is written into the cell C1.

結局、このセルセットでは、マスク信号(マスクビット)MASKを指定することで、書き込みデータを外部からのライトデータWD、あるいはセルセット内部の自セルの反対側のセル(自セルがセルC0であればセルC1側)のデータを切り替えて書き込むことが可能である。   After all, in this cell set, by designating the mask signal (mask bit) MASK, the write data is written from the outside or the cell on the opposite side of the own cell in the cell set (if the own cell is the cell C0). For example, data on the cell C1 side) can be switched and written.

ベクトル計算機には、演算要素ごとに演算の可否を指定できる演算マスク機能が存在し、マスクされた要素に対して値を変化させない命令であるベクトルマスク対象命令が存在する。そのため、ベクトル計算機におけるリネーミング機構では、マスクされた「変化しない」データを考慮することが必要である。論理レジスタVR0に物理レジスタVRR100,VRR108が対応する場合、論理ベクトルレジスタVR0と物理ベクトルレジスタVRR100,VRR108のうちの対応する要素との間には、情報の受け渡しパスが必要となる。   A vector computer has an operation mask function that can specify whether or not an operation can be performed for each operation element, and a vector mask target instruction that is an instruction that does not change the value of the masked element. Therefore, the renaming mechanism in the vector computer needs to consider the masked “no change” data. When the physical registers VRR100 and VRR108 correspond to the logical register VR0, an information passing path is required between the logical vector register VR0 and the corresponding elements of the physical vector registers VRR100 and VRR108.

本実施形態のセルセットを用いることにより、セルセット内のVRR(物理ベクトルレジスタ)セルのいずれかに元のデータが入っていれば、その値を反対側にあるセルの更新時に受け継ぐことが可能となり、リネーミング動作とマスク動作を両立されることが可能となる。本実施形態では、このようなセルセットが、論理ベクトルレジスタのサイズだけ存在することになる。たとえば、64ビット構成で256エントリのベクトルレジスタを論理的に8本持つアーキテクチャでは、上述したセルセットを64×256×8=131,072個用意することになる。各セルセットが2セルから構成されているとすれば、262,144個の物理セルが存在することになる。   By using the cell set of this embodiment, if the original data is contained in any of the VRR (physical vector register) cells in the cell set, the value can be inherited when the cell on the opposite side is updated. Thus, both the renaming operation and the mask operation can be achieved. In the present embodiment, such a cell set exists for the size of the logical vector register. For example, in an architecture having a 64-bit configuration and eight logically 256 vector registers, 64 × 256 × 8 = 131,072 cell sets described above are prepared. If each cell set is composed of two cells, there will be 262,144 physical cells.

図2は、上述したセルセットを用いることによってレジスタリネーミングを実行するベクトル計算機の構成の一例を示している。このベクトル計算機は、一般的な命令キャッシュなどを含む命令供給部1と、命令供給部1からの命令をデコードするデコーダ2と、デコードされた命令の発行制御を行う発行制御部3と、発行制御部3で発行された命令が用いるリソースの管理を行うリソース管理部4と、を備えている。リソース管理部4は、発行制御部3が発行する命令について、特にレジスタリネーミング機能のために論理ベクトルレジスタ番号と物理ベクトルレジスタ番号の対応テーブル41を用意する。図3は、対応テーブル41の内容の一例を示している。   FIG. 2 shows an example of the configuration of a vector computer that performs register renaming by using the above-described cell set. This vector computer includes an instruction supply unit 1 including a general instruction cache, a decoder 2 that decodes an instruction from the instruction supply unit 1, an issue control unit 3 that performs issue control of the decoded instruction, and issue control. And a resource management unit 4 that manages resources used by instructions issued by the unit 3. The resource management unit 4 prepares a correspondence table 41 of logical vector register numbers and physical vector register numbers for instructions issued by the issue control unit 3, particularly for the register renaming function. FIG. 3 shows an example of the contents of the correspondence table 41.

ここでVRR10は、ベクトルリネーミングレジスタであり、論理的にベクトルレジスタVR0〜VR7を構成する場合の実体のレジスタ群であり、物理ベクトルレジスタVRR100〜VRR115の16個から構成される。各物理ベクトルレジスタは、64ビット幅を持つデータレジスタを256エントリ備える。ベクトルリネーミングレジスタVRR10には、発行制御部3から制御信号31が供給されている。   Here, the VRR 10 is a vector renaming register, and is an actual register group in the case of logically configuring the vector registers VR0 to VR7, and includes 16 physical vector registers VRR100 to VRR115. Each physical vector register includes 256 entries of data registers having a 64-bit width. A control signal 31 is supplied from the issue control unit 3 to the vector renaming register VRR10.

なお、論理レジスタVR0の物理的な値は、物理ベクトルレジスタVRR100あるいは物理ベクトルレジスタVRR108のいずれかに格納される。同様に論理レジスタVR1の物理的な値は物理ベクトルレジスタVRR101あるいは物理ベクトルレジスタVRR109のいずれかに格納され、以下同様に、論理レジスタと物理ベクトルレジスタの対応付けがなされる。   The physical value of the logical register VR0 is stored in either the physical vector register VRR100 or the physical vector register VRR108. Similarly, the physical value of the logical register VR1 is stored in either the physical vector register VRR101 or the physical vector register VRR109. Similarly, the logical register and the physical vector register are associated with each other.

ベクトル計算機には、加算及び乗算を行うFMAC(演算器)70,FMAC73と、除算を行うFDV(除算器)71,FDV74と、論理演算を行うFLOGIC(論理演算器)72,FLOGIC75が設けられ、また、それぞれの計算結果が送られてくるデータ書き込み制御部9が設けられている。データ書き込み制御部9は、論理ベクトルレジスタ番号と、割り当てられた物理ベクトルレジスタ番号(すなわちVRR100〜VRR115)の対応付け、およびマスク情報から、ベクトルリネーミングレジスタVRR10の適当な場所に、計算結果として得られたデータ、あるいは物理べクトルレジスタVRR100〜115に既に書き込まれているデータを書き込む。   The vector computer is provided with FMAC (arithmetic unit) 70 and FMAC 73 for performing addition and multiplication, FDV (divider) 71 and FDV 74 for performing division, FLOGIC (logical arithmetic unit) 72 and FLOGIC 75 for performing logical operation, In addition, a data write control unit 9 to which each calculation result is sent is provided. The data write control unit 9 obtains, as a calculation result, an appropriate location of the vector renaming register VRR10 from the correspondence between the logical vector register number and the assigned physical vector register number (that is, VRR100 to VRR115) and the mask information. Written data or data already written in the physical vector registers VRR100 to 115.

なお、対をなす物理ベクトルレジスタの出力のいずれか一方を選択するためにセレクタ80が設けられており、セレクタ80で選択された物理ベクトルレジスタから読出されたベクトルデータが、FMAC70,FDV71,FLOGIC(論理演算器)72,FMAC73,FDV74,FLOGIC75に供給される。セレクタ80はリソース管理部4からの選択信号42によって制御される。例えば、物理ベクトルレジスタVRR100および物理ベクトルレジスタVRR108の一方がセレクタ80によって選択されるようになっている。   Note that a selector 80 is provided to select one of the outputs of the paired physical vector registers, and vector data read from the physical vector register selected by the selector 80 is FMAC70, FDV71, FLOGIC ( Logic unit) 72, FMAC 73, FDV 74, and FLOGIC 75. The selector 80 is controlled by a selection signal 42 from the resource management unit 4. For example, one of the physical vector register VRR100 and the physical vector register VRR108 is selected by the selector 80.

さらにこのベクトル計算機には、LSユニット5と、外部記憶メモリ6とが設けられている。LSユニット6は、物理ベクトルレジスタVRR100〜115からのデータを外部記憶メモリ6にストアする動作、また外部記憶メモリ6からデータをロードして物理ベクトルレジスタVRR100〜115のいずれかに書き込む動作を管理する。   Further, the vector computer is provided with an LS unit 5 and an external storage memory 6. The LS unit 6 manages the operation of storing data from the physical vector registers VRR100 to 115 in the external storage memory 6, and the operation of loading data from the external storage memory 6 and writing to any of the physical vector registers VRR100 to 115. .

次に、このベクトル計算機におけるレジスタリネーミングの動作について説明する。   Next, the register renaming operation in this vector computer will be described.

以下の説明において、「ベクトル」とは、複数の要素データを内在するデータ列を意味する。ここではベクトルは、最大256個の64ビット要素データを持つこととする。以下では、図4に示す命令列を実行するものとした場合の処理を説明する。図4に示す命令列において、「VADD」はオペランドで指定した2つの論理ベクトルレジスタに格納されたベクトルデータ同士の要素ごとの加算を行い、結果をディスティネーションベクトルレジスタに格納する命令である。   In the following description, “vector” means a data string containing a plurality of element data. Here, it is assumed that the vector has a maximum of 256 64-bit element data. Hereinafter, processing when the instruction sequence shown in FIG. 4 is executed will be described. In the instruction sequence shown in FIG. 4, “VADD” is an instruction for performing addition for each element of vector data stored in two logical vector registers specified by operands and storing the result in the destination vector register.

「VSUB」は、オペランドで指定した2つの論理ベクトルレジスタに格納されたベクトルデータ同士の要素ごとの減算を行い、結果をディスティネーションベクトルレジスタに格納する命令である。   “VSUB” is an instruction that performs subtraction for each element between the vector data stored in the two logical vector registers specified by the operand, and stores the result in the destination vector register.

ここで、VADD命令およびVSUB命令は、いずれも、演算を行わない要素を選択的に指定すること(すなわちマスクをかける)が可能である。VFMK命令は、ベクトルのマスクを変更する命令である。ベクトル演算を実際に行う要素数(VL;ベクトル長)は、ソフトウエアによって0〜256の間で変化させることが可能である。LVL命令は、演算対象のベクトル要素数を変更する命令である。たとえばLVL命令でVLを10と指定すると、ベクトル演算はベクトルレジスタに含まれる要素のうち、先頭から10要素だけに対して行われる。   Here, in both the VADD instruction and the VSUB instruction, it is possible to selectively specify (that is, apply a mask) an element on which an operation is not performed. The VFMK instruction is an instruction for changing a vector mask. The number of elements (VL; vector length) in which the vector operation is actually performed can be changed between 0 and 256 by software. The LVL instruction is an instruction for changing the number of vector elements to be calculated. For example, when VL is specified as 10 by the LVL instruction, vector operation is performed on only 10 elements from the top among the elements included in the vector register.

まず、図4に示した命令群において、1行目の命令LVLが命令供給部1から供給され、デコーダ2でデコードされ、発行制御部3においてLVL命令が発行され、ベクトル長VLが4にセットされる。LVL命令でVLとして4が指定されたことにより、以下では、ベクトル演算は、ベクトルレジスタに含まれている要素のうち最初の4要素に対して行われることになる。このLVL命令の終了時における、リソース管理部4内の対応テーブル41、マスク情報、VL、およびリネーミングレジスタ(物理ベクトルレジスタ)VRR100,VRR101,VRR102,VRR108の値を図5に示す。図5に示すように、VLに4という値がセットされている。なお、現時点では、論理ベクトルレジスタVR0に対する物理ベクトルレジスタとして、VRR100が割り振られている。これは、この時点での物理ベクトルレジスタVRR100の値が論理レジスタVR0の値になっているということを示している。   First, in the instruction group shown in FIG. 4, the instruction LVL in the first row is supplied from the instruction supply unit 1, decoded by the decoder 2, the LVL instruction is issued by the issue control unit 3, and the vector length VL is set to 4. Is done. Since 4 is designated as VL in the LVL instruction, the vector operation will be performed on the first four elements included in the vector register below. FIG. 5 shows values of the correspondence table 41, mask information, VL, and renaming registers (physical vector registers) VRR100, VRR101, VRR102, and VRR108 in the resource management unit 4 at the end of the LVL instruction. As shown in FIG. 5, a value of 4 is set in VL. At this time, the VRR 100 is allocated as a physical vector register for the logical vector register VR0. This indicates that the value of the physical vector register VRR100 at this time is the value of the logical register VR0.

次に、図4に示す命令群のうち2行目の命令VFMKが命令供給部1から供給され、デコーダ2でデコードされる。発行制御部3においてLFMK命令が発行され、ベクトルマスクに“0101”がセットされる。オペランドを“0101”とするVFMK命令は、マスクが“1”になっている要素、すなわちこの場合は、第2の要素および第4の要素に対して演算を行わないようなマスクをかける命令である。   Next, the instruction VFMK in the second row in the instruction group shown in FIG. 4 is supplied from the instruction supply unit 1 and decoded by the decoder 2. The issue control unit 3 issues an LFMK instruction and sets “0101” in the vector mask. The VFMK instruction whose operand is “0101” is an instruction that applies a mask that does not perform an operation on the element whose mask is “1”, in this case, the second element and the fourth element. is there.

このVFMK命令の終了時における、リソース管理部4内の対応テーブル41、マスク情報、VL、およびリネーミングレジスタVRR100,VRR101,VRR102,VRR108の値を図6に示す。図6の通り、マスク情報に“0101”という値がセットされている。   FIG. 6 shows values of the correspondence table 41, mask information, VL, and renaming registers VRR100, VRR101, VRR102, and VRR108 in the resource management unit 4 at the end of the VFMK instruction. As shown in FIG. 6, the value “0101” is set in the mask information.

次に、3行目の命令VADDが命令供給部1から供給され、デコーダ2でデコードされる。図示した例では、この命令VADDは、論理ベクトルレジスタVR1,VR2に格納された値のベクトル加算を行って論理ベクトルレジスタVR0に格納するものである。   Next, the instruction VADD in the third row is supplied from the instruction supply unit 1 and decoded by the decoder 2. In the illustrated example, this instruction VADD performs vector addition of values stored in the logical vector registers VR1 and VR2 and stores the result in the logical vector register VR0.

発行制御部3においてVADD命令が発行される。その際、リソース管理部4は、このVADD命令の結果を書き込む論理レジスタVR0に対して、物理ベクトルレジスタVRR108側を割り当て、リソース管理部4内の対応情報を物理ベクトルレジスタVRR108に書き換える。VADD命令はFMAC70によって実行され、その計算結果は、データ書き込み制御部9に送られる。   The issue control unit 3 issues a VADD instruction. At this time, the resource management unit 4 assigns the physical vector register VRR108 side to the logical register VR0 to which the result of the VADD instruction is written, and rewrites the correspondence information in the resource management unit 4 to the physical vector register VRR108. The VADD instruction is executed by the FMAC 70, and the calculation result is sent to the data write control unit 9.

なお、このVADD命令を実行させた結果を書き込む動作は、データ書き込み制御部9によって行われる。図7は、データ書き込み制御部9からの制御データを示している。データ書き込み制御部9からは、要素番号、書き込み物理ベクトルレジスタVRRのレジスタ名、計算結果であるライトデータWD、マスク情報MASKがリネーミングベクトルレジスタVRR10に送られる。そして、リネーミングベクトルレジスタVRR10内の対応するレジスタ、すなわち物理ベクトルレジスタVRR108内にあるセルセットにおいて、適切な書き込みが行われる。   The operation of writing the result of executing the VADD instruction is performed by the data write control unit 9. FIG. 7 shows control data from the data write control unit 9. From the data write control unit 9, the element number, the register name of the write physical vector register VRR, the write data WD as the calculation result, and the mask information MASK are sent to the renaming vector register VRR10. Then, appropriate writing is performed in the corresponding register in the renaming vector register VRR10, that is, in the cell set in the physical vector register VRR108.

たとえば、要素0の演算結果に関しては、マスク情報が“0”なので、計算結果である“12”が、ライトデータWDとして物理ベクトルレジスタVRR100側のセルに書き込まれる。図1に示したセルセットにおいて、セルC0側に物理ベクトルレジスタVRR100のデータ、セルC1側に物理ベクトルレジスタVR108のデータが書き込まれているとすると、ライトイネーブル信号WE1が“1”となり、かつMASK信号は“0”のままで、セルC1に対してライトデータWDである“12”が書き込まれる。   For example, regarding the operation result of element 0, since the mask information is “0”, the calculation result “12” is written to the cell on the physical vector register VRR 100 side as write data WD. In the cell set shown in FIG. 1, if the data of the physical vector register VRR100 is written on the cell C0 side and the data of the physical vector register VR108 is written on the cell C1 side, the write enable signal WE1 becomes “1” and MASK The signal remains “0” and “12”, which is the write data WD, is written to the cell C1.

要素1の演算結果に関しては、マスク情報が“1”すなわちアクティブであるので、物理ベクトルレジスタVRR100側のデータである“1”が反対側の物理ベクトルレジスタVRR108側のセルに書き込まれる。図1のセルセットにおいては、セルC0側に物理ベクトルレジスタVRR100側のデータ、セルC1側に物理ベクトルレジスタVR108側のデータが書き込まれているとすると、ライトイネーブル信号WE1が“1”となり、かつMASK信号は“1”となって、セルC1に、セルC0の格納値である“1”が書き込まれる。   Regarding the operation result of element 1, since the mask information is “1”, that is, active, “1”, which is data on the physical vector register VRR 100 side, is written in the cell on the opposite physical vector register VRR 108 side. In the cell set of FIG. 1, if the data on the physical vector register VRR100 side is written on the cell C0 side and the data on the physical vector register VR108 side is written on the cell C1 side, the write enable signal WE1 becomes “1”, and The MASK signal becomes “1”, and “1” which is the stored value of the cell C0 is written into the cell C1.

このVADD命令の実行終了時における、リソース管理部4内の対応テーブル41、マスク情報、VL、およびリネーミングレジスタVRR100,VRR101,VRR102,VRR108の値を図8に示す。図8に示す通り、VADD命令の実行結果は、割り当てられた物理ベクトルレジスタVRR108に、マスク情報を反映した形で格納されている。   FIG. 8 shows values of the correspondence table 41, mask information, VL, and renaming registers VRR100, VRR101, VRR102, and VRR108 in the resource management unit 4 at the end of execution of the VADD instruction. As shown in FIG. 8, the execution result of the VADD instruction is stored in the allocated physical vector register VRR 108 in a form reflecting the mask information.

最後に、4行目のVSUB命令が命令供給部1から供給され、デコーダ2でデコードされる。図示したものは、このVSUB命令は、論理ベクトルレジスタVR2の内容から論理ベクトルレジスタVR1の内容をベクトル減算し、論理ベクトルレジスタVR0に格納するものである。   Finally, the VSUB instruction in the fourth row is supplied from the instruction supply unit 1 and decoded by the decoder 2. In the illustrated example, this VSUB instruction subtracts the content of the logical vector register VR1 from the content of the logical vector register VR2 and stores the result in the logical vector register VR0.

発行制御部3においてVSUB命令が発行される。その際、リソース管理部4は、このVSUB命令の結果を書き込む論理レジスタVR0に対して、物理ベクトルレジスタVRR100側を割り当て、リソース管理部4内の対応情報を物理ベクトルレジスタVRR100に書き換える。VSUB命令はFMAC70によって実行され、その計算結果は、データ書き込み制御部9に送られる。   The issue control unit 3 issues a VSUB instruction. At this time, the resource management unit 4 assigns the physical vector register VRR100 side to the logical register VR0 to which the result of the VSUB instruction is written, and rewrites the correspondence information in the resource management unit 4 to the physical vector register VRR100. The VSUB instruction is executed by the FMAC 70, and the calculation result is sent to the data write control unit 9.

前述のVADD命令の場合と同様に、このVSUB命令の実行結果の書き込み動作は、データ書き込み制御部9によって行われる。図9は、データ書き込み制御部9からの制御データを示している。物理ベクトルレジスタVRR100内の対応するレジスタ、すなわち物理ベクトルレジスタVRR100内にあるセルセットにおいて、適切な書き込みが行われる。   As in the case of the VADD instruction described above, the write operation of the execution result of this VSUB instruction is performed by the data write control unit 9. FIG. 9 shows control data from the data write control unit 9. Appropriate writing is performed in the corresponding register in the physical vector register VRR100, that is, in the cell set in the physical vector register VRR100.

たとえば、要素0の演算結果に関しては、マスク情報が“0”であるので、計算結果である“4”が、ライトデータWDとして物理ベクトルレジスタVRR100側のセルに書き込まれる。図1のセルセットにおいては、セルC0側にV物理ベクトルレジスタRR100側のデータ、セルC1側に物理ベクトルレジスタVRR108側のデータが書き込まれているとすると、ライトイーネーブル信号WE0が“1”となり、かつMASK信号は“0”のままで、セルC0に、ライトデータWDである“12”が書き込まれる。   For example, for the operation result of element 0, since the mask information is “0”, the calculation result “4” is written in the cell on the physical vector register VRR 100 side as write data WD. In the cell set of FIG. 1, if the data on the V physical vector register RR100 side is written on the cell C0 side and the data on the physical vector register VRR108 side is written on the cell C1, the write enable signal WE0 becomes “1”. In addition, the MASK signal remains “0”, and “12”, which is the write data WD, is written into the cell C0.

要素1の演算結果に関しては、マスク情報が“1”であるので、物理ベクトルレジスタVRR100側のデータである“1”が物理ベクトルレジスタVRR108側のセルに書き込まれる。図1のセルセットにおいては、セルC0側に物理ベクトルレジスタVRR100のデータ、セルC1側に物理ベクトルレジスタVR108側のデータが書き込まれているとすると、ライトイネーブル信号WE0が“1”となり、かつMASK信号は“1”となって、セルC0には、セルC1の格納値である“1”が書き込まれる。   Regarding the operation result of element 1, since the mask information is “1”, “1”, which is data on the physical vector register VRR 100 side, is written to the cell on the physical vector register VRR 108 side. In the cell set of FIG. 1, if the data of the physical vector register VRR100 is written to the cell C0 side and the data of the physical vector register VR108 side is written to the cell C1, the write enable signal WE0 becomes “1” and MASK The signal becomes “1”, and “1” which is the stored value of the cell C1 is written into the cell C0.

このVSUB命令の終了時における、リソース管理部4内の対応テーブル41、マスク情報、VL、およびリネーミングレジスタVRR100,VRR101,VRR102,VRR108の値を図10に示す。図10に示す通り、VSUB命令の実行結果は、割り当てられた物理ベクトルレジスタVRR100に、マスク情報を反映した形で格納されている。   FIG. 10 shows the correspondence table 41 in the resource management unit 4, mask information, VL, and values of the renaming registers VRR100, VRR101, VRR102, and VRR108 at the end of the VSUB instruction. As shown in FIG. 10, the execution result of the VSUB instruction is stored in the allocated physical vector register VRR100 in a form reflecting the mask information.

このようにして、本実施形態によれば、ベクトル計算機においてマスク演算が行われていたとしても、リネームされたベクトルレジスタ側にも正常な結果が書き込まれることが保障できる。   In this way, according to the present embodiment, even if a mask operation is performed in the vector computer, it can be ensured that a normal result is written also to the renamed vector register side.

なお、上述では一つ一つの命令が非パイプライン的に動作した例を説明したが、当然のことながら、各命令はパイプライン的に動作し、それぞれの命令動作の一部が互いにオーバーラップしてもよい。   In the above description, an example in which each instruction operates in a non-pipeline is described. However, as a matter of course, each instruction operates in a pipeline, and a part of each instruction operation overlaps each other. May be.

本発明の実施の一形態のベクトルリネーミング方式で用いられるセルセットを示す回路図である。It is a circuit diagram which shows the cell set used with the vector renaming system of one Embodiment of this invention. 本発明の実施の一形態のベクトル計算機の概略構成を示すブロック図である。It is a block diagram which shows schematic structure of the vector computer of one Embodiment of this invention. リソース管理部内に設けられる対応テーブルの内容の一例を示す図である。It is a figure which shows an example of the content of the corresponding | compatible table provided in a resource management part. ベクトル計算機に与えられる命令群の一例を示す図である。It is a figure which shows an example of the command group given to a vector computer. LVL命令の終了時における、対応テーブル、マスク情報、VL、およびリネーミングレジスタの値を示す図である。It is a figure which shows the value of a correspondence table, mask information, VL, and a renaming register at the time of completion | finish of a LVL instruction | indication. VFMK命令の終了時における、対応テーブル、マスク情報、VL、およびリネーミングレジスタの値を示す図である。It is a figure which shows the value of a correspondence table, mask information, VL, and a renaming register at the time of completion | finish of a VFMK instruction | indication. データ書き込み制御部からの制御データを示す図である。It is a figure which shows the control data from a data writing control part. VADD命令の終了時における、対応テーブル、マスク情報、VL、およびリネーミングレジスタの値を示す図である。It is a figure which shows the value of a correspondence table, mask information, VL, and a renaming register at the time of completion | finish of a VADD instruction | indication. データ書き込み制御部からの制御データを示す図である。It is a figure which shows the control data from a data writing control part. VSUB命令の終了時における、対応テーブル、マスク情報、VL、およびリネーミングレジスタの値を示す図である。It is a figure which shows the value of a correspondence table, mask information, VL, and a renaming register at the time of completion | finish of a VSUB instruction.

符号の説明Explanation of symbols

1 命令供給部
2 デコーダ
3 発行制御部
4 リソース管理部
5 LSユニット
6 外部記憶メモリ
9 データ書き込み制御部
31 制御信号
41 対応テーブル
42 選択信号
80,S0,S1 セレクタ
70,73 FMAC(演算器)
71,74 FDV(除算器)
72,75 FLOGIC(論理演算器)
C0,C1 セル
VR 論理レジスタ
VRR 物理ベクトルレジスタ
DESCRIPTION OF SYMBOLS 1 Instruction supply part 2 Decoder 3 Issue control part 4 Resource management part 5 LS unit 6 External storage memory 9 Data write control part 31 Control signal 41 Correspondence table 42 Selection signal 80, S0, S1 Selector 70, 73 FMAC (arithmetic unit)
71,74 FDV (divider)
72,75 FLOGIC (logic operator)
C0, C1 cell VR logical register VRR physical vector register

Claims (3)

ベクトル計算機においてマスク演算機能を実現したままレジスタリネーミングを可能にするベクトルリネーミング方式であって、
理ベクトルレジスタに対応するとともに相互に組をなす複数のリネーミングレジスタを備え、
前記各リネーミングレジスタは、それぞれ1ビットのデータを保持するセルと、セルごとに設けられたセレクタとを有し、
前記セレクタは、ライトデータか前記内の他のセルが保持する値かをマスク信号に応じて対応するセルに供給し、
マスクが設定されている場合には前記セル間でセルの値をコピーし、前記マスクが設定されていないときには前記ライトデータをいずれかのセルに書き込むようにした、ベクトルリネーミング方式。
A vector renaming method that enables register renaming while realizing a mask operation function in a vector computer,
Comprising a plurality of renaming register constituting a pair mutually with corresponding logical vector register,
Each of the renaming registers includes a cell that holds 1-bit data, and a selector provided for each cell.
The selector supplies write data or a value held by another cell in the set to a corresponding cell according to a mask signal,
A vector renaming method in which a cell value is copied between the cells when a mask is set, and the write data is written to any cell when the mask is not set.
前記論理ベクトルレジスタごとに2個の物理ベクトルレジスタが前記複数のリネーミングレジスタとして設けられている、請求項1に記載のベクトルリネーミング方式。 The vector renaming method according to claim 1, wherein two physical vector registers are provided as the plurality of renaming registers for each logical vector register. ベクトル型計算機であって、
レジスタリネーミングを制御する制御手段と、
理ベクトルレジスタに対応するとともに相互に組をなす複数のリネーミングレジスタと、
演算器と、
前記制御手段によって制御されて前記複数のリネーミングレジスタのうちの1つの出力を前記演算器に供給する第1のセレクタと、
前記演算器の演算結果入力して前記複数のリネーミングレジスタのいずれかに格納する書き込み制御手段と、
を備え、
前記各リネーミングレジスタは、それぞれ1ビットのデータを保持するセルと、セルごとに設けられた第2のセレクタとを有し、
前記第2のセレクタは、前記書き込み制御手段からのライトデータか前記内の他のセルが保持する値かをマスク信号に応じて対応するセルに供給し、
マスクが設定されている場合には前記セル間でセルの値をコピーし、前記マスクが設定されていないときには前記ライトデータをいずれかのセルに書き込むようにした、ベクトル型計算機。
A vector calculator,
Control means for controlling register renaming;
A plurality of renaming register constituting a pair mutually with corresponding logical vector register,
An arithmetic unit;
A first selector which is controlled by the control means and supplies an output of one of the plurality of renaming registers to the computing unit;
Write control means for inputting a calculation result of the calculator and storing it in any of the plurality of renaming registers;
With
Each of the renaming registers includes a cell that holds 1-bit data, and a second selector provided for each cell,
The second selector supplies write data from the write control means or a value held by another cell in the set to a corresponding cell according to a mask signal,
A vector calculator that copies a cell value between the cells when a mask is set, and writes the write data to any cell when the mask is not set.
JP2006169010A 2006-06-19 2006-06-19 Vector renaming method and vector computer Expired - Fee Related JP5145659B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006169010A JP5145659B2 (en) 2006-06-19 2006-06-19 Vector renaming method and vector computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006169010A JP5145659B2 (en) 2006-06-19 2006-06-19 Vector renaming method and vector computer

Publications (2)

Publication Number Publication Date
JP2007334819A JP2007334819A (en) 2007-12-27
JP5145659B2 true JP5145659B2 (en) 2013-02-20

Family

ID=38934210

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006169010A Expired - Fee Related JP5145659B2 (en) 2006-06-19 2006-06-19 Vector renaming method and vector computer

Country Status (1)

Country Link
JP (1) JP5145659B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010205088A (en) * 2009-03-04 2010-09-16 Nec Computertechno Ltd Vector processing apparatus and vector processing method
JP6020428B2 (en) * 2013-12-02 2016-11-02 日本電気株式会社 Vector register renaming control method, vector processor, and vector register renaming control method
JP6705473B2 (en) * 2018-06-22 2020-06-03 日本電気株式会社 Arithmetic device and arithmetic system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01284970A (en) * 1988-05-11 1989-11-16 Nec Corp Iteration arithmetic circuit
US7685212B2 (en) * 2001-10-29 2010-03-23 Intel Corporation Fast full search motion estimation with SIMD merge instruction

Also Published As

Publication number Publication date
JP2007334819A (en) 2007-12-27

Similar Documents

Publication Publication Date Title
JP4829541B2 (en) Digital data processing apparatus with multi-level register file
JP2004158018A (en) Layout system for semiconductor floor plan of register renaming circuit
JPH09311786A (en) Data processor
JP2006509306A (en) Cell engine for cross-referencing data processing systems to related applications
WO2017021675A1 (en) Element size increasing instruction
JP5145659B2 (en) Vector renaming method and vector computer
KR102458467B1 (en) vector creation command
US9690600B2 (en) Reconfigurable processor and method of operating the same
US7143268B2 (en) Circuit and method for instruction compression and dispersal in wide-issue processors
EP1220100B1 (en) Circuit and method for hardware-assisted software flushing of data and instruction caches
CN101727435A (en) Very-long instruction word processor
JP6891596B2 (en) Processor
JP4444305B2 (en) Semiconductor device
JP4868255B2 (en) Processor, processor control method, and information processing apparatus
JP6020428B2 (en) Vector register renaming control method, vector processor, and vector register renaming control method
JP5327432B2 (en) Signal processor and semiconductor device
US5812845A (en) Method for generating an object code for a pipeline computer process to reduce swapping instruction set
JP5644571B2 (en) Processor
JP5229321B2 (en) Arithmetic processing unit
JP3737573B2 (en) VLIW processor
JP2006506727A (en) VLIW with copy register file
KR20010072490A (en) Data processor comprising a register stack
JP3705367B2 (en) Instruction processing method
JP4703735B2 (en) Compiler, code generation method, code generation program
JP5311008B2 (en) Signal processor and semiconductor device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090415

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120424

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121112

R150 Certificate of patent or registration of utility model

Ref document number: 5145659

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20151207

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees