JP4230504B2 - データプロセッサ - Google Patents
データプロセッサ Download PDFInfo
- Publication number
- JP4230504B2 JP4230504B2 JP2006323537A JP2006323537A JP4230504B2 JP 4230504 B2 JP4230504 B2 JP 4230504B2 JP 2006323537 A JP2006323537 A JP 2006323537A JP 2006323537 A JP2006323537 A JP 2006323537A JP 4230504 B2 JP4230504 B2 JP 4230504B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- register
- data
- data processing
- processing circuit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 claims description 87
- 230000015654 memory Effects 0.000 claims description 43
- 238000012546 transfer Methods 0.000 claims description 31
- 238000000034 method Methods 0.000 description 31
- 238000003491 array Methods 0.000 description 26
- 238000004364 calculation method Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 12
- 238000012360 testing method Methods 0.000 description 9
- 238000010200 validation analysis Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 230000003111 delayed effect Effects 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30105—Register structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/325—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop counter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3808—Instruction prefetching for instruction reuse, e.g. trace cache, branch target cache
- G06F9/381—Loop buffering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/3826—Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
- G06F9/3828—Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage with global bypass, e.g. between pipelines, between clusters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
- G06F9/3891—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute organised in groups of units sharing resources, e.g. clusters
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Description
(1)ある命令実行前にその命令が参照するデータが全て揃っていること、即ちその命令が読出すレジスタやメモリへの先行命令による書込みが全て完了していること(フロー依存)
(2)ある命令が更新することによって破壊されてしまうデータへの参照が全て完了していること、即ちその命令が書込むレジスタやメモリへの先行命令による読出しが全て完了していること(逆依存)
(3)ある命令が更新したデータを先行する命令が上書きしないこと、即ちレジスタやメモリの更新順序が保たれること(出力依存)
そして、上記3つの依存関係を守るためには、ある命令の実行前に先行する全ての命令をデコードする必要がある。この結果、アウトオブオーダ方式のプロセッサでは前述のように大容量のバッファを用意して命令デコードを先行させ、上記3つの依存関係の解析を大幅に早めて、先行実行可能な命令を抽出している。
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
次に、実施の形態について更に詳述する。
本発明に係る各実施形態を詳細に説明する前に、まず、各実施形態の比較例となる単一命令フローによるプログラムの実行について説明する。図1には、単一命令フローによるプログラムの実行動作例を説明するための第1のプログラムが例示される。第1のプログラムは、C言語で記述されているように、N個の要素を持つ2つの配列a[i]とb[i]を加算し、配列c[i]に格納するプログラムである。この第1のプログラムを、アセンブラで記述した場合について説明する。このアセンブラプログラムでは、ポストインクリメントタイプのロード及びストア命令を有するアーキテクチャを想定している。
図4には、本発明の実施形態1に係るデータプロセッサのパイプライン構成が概略的に例示される。2つの命令フローを扱うために同一構成の中央演算処理装置であるナノプロセッサCPU1及びCPU2を備えている。夫々のナノプロセッサCPU1及びCPU2は別々の命令フローを実行し、双方のナノプロセッサによる機能の総体として一つの中央演算処理機能若しくはデータプロセッサ機能が実現される。
図13には、本発明の実施形態2に係るデータプロセッサが例示される。実施形態2においては、各ナノプロセッサが単機能化されており、命令フェッチナノプロセッサ(IF Nanoprocessor)IFN、演算ナノプロセッサ(EX Nanoprocessor)EXN、ロードナノプロセッサ(LD Nanoprocessor)LDN、ストアナノプロセッサ(ST Nanoprocessor)STN、命令メモリ(I−MEM)、及びデータメモリ(D−MEM)からなる。
図16には、本発明の実施形態3に係るデータプロセッサが例示される。実施形態3においては、実施形態2の各ナノプロセッサのうち、ロードナノプロセッサLDNとストアナノプロセッサSTNを統合して、ロードストアナノプロセッサ(LS Nanoprocessor)LSNとしている。演算に先行して実行され演算用のソースオペランドをメモリから供給するロードと演算後に演算結果をメモリに格納するストアでは、本来、最適な実行タイミングが異なるため実施形態2のように分割してタイミングをずらせるようにすると性能向上に寄与する。しかしながら、メモリアクセス間の依存関係解析を容易にするにはメモリアクセスを逐次実行することが望ましい。そして特にアドレスの処理が逐次的であることが重要である。そこで、実施形態3ではロードストアナノプロセッサLSNがメモリアクセスを逐次実行し、ストア処理では、ストアバッファを用いてストアデータを遅く受取れるようにして、メモリアクセス間の依存関係解析を容易にしながら、ストア処理を実質的に遅らせられるようにしている。
前述の実施形態1はナノプロセッサを2つ必要とし、実施形態2及び3では複数命令フローを必要とする。命令フロー分割が最も効果的なのはレイテンシの長いロード命令を先行実行する場合であるため、この場合に限定して処理フローを分割すれば既存プロセッサに近い構成を採っても処理能力を高めることが出来る。
データ転送ユニットDTUでは3及び5サイクル目にそれぞれch1及びch2のセットアップが完了してロードを開始する。そして、レイテンシ10を仮定しているため、ch1及びch2の最初のデータはそれぞれ12及び14サイクル目の終りに到着する。この結果、ループ部は15サイクル目から開始される。そして、15サイクル目で加算命令を実行するとr4が無効となるためch1からの次のデータがr4に書込まれる。更に、16サイクル目でストア命令を実行するとr5が無効となるためch2からの次のデータがr5に書込まれる。この間、ループ制御のためのデクリメント及びテスト命令dt及び分岐命令bfも実行される。その後はこれら4命令を繰返し実行する。この結果、10サイクルという長いレイテンシであっても少ないレジスタ本数で滞りなく処理を進めることが出来る。そして、更に実施形態1のようなループ構造定義命令を用いればループ本体は2命令となり1ループを1サイクルで実行することも可能である。但し、この場合メモリアクセスネックとなる恐れがあるため、データ転送ユニットDTUが4データずつロードしたり、ストア処理を4データずつコンバインしたりするか、メモリを多バンク又は多ポートにする必要がある。
前述の実施形態1から4では命令体系を刷新し、各命令においてレジスタを無効化できるようにしている。本実施形態5では、既存命令体系を温存したまま本発明の基本であるレジスタの無効化を可能とする。そして、実施形態4と同一構成で命令体系を差し替える。具体的には通常プロセッサの命令体系にレジスタ無効化命令を追加する。図24には、実施形態5に係るデータプロセッサ向けにアセンブルした第1のプログラムが例示される。初期化部は図21とほぼ同様であるが、図8のプログラムと同様にループ構造定義命令を使用してループ内の命令数を減らしている。ループ部ではレジスタ使用後にレジスタを無効化してデータ転送ユニットDTUが次のデータを供給できるようにしている。具体的には、まず加算命令「add r4,r5」で2つの配列のデータを加算した後、レジスタ無効化命令「regi r4」でr4を無効化し、r4に新しいロードデータを書込めるようにする。更に、加算結果をストア命令「mov r5,@r2+」でストアした後、レジスタ無効化命令「regi r5」でr5を無効化し、r5に新しいロードデータを書込めるようにする。
これまでに例示した第1及び第2のプログラムはループ構造はあるものの条件分岐によって処理が変わるということがなかった。そして、フローが変わったので、ロードしたレジスタを使わなくなるとか、無効化したレジスタを再度使用するといった要求はなかった。本実施形態6では、実施形態5で導入したレジスタ無効化命令及び新たに導入するレジスタ有効化命令により、フロー変化に伴うレジスタ使用状態の変化に対応できるようにする。
まず、C言語プログラムを説明する。文字列比較プログラムは何文字目で不一致となったか或いは何文字の文字列が一致したかで動作が変化する。ここでは、配列aおよびbにはそれぞれ文字列“card”及び“car”が入っているものとし、4文字目で不一致となるのもとする。また、文字列の最大文字数はNとする。プログラム本体ではN回ループしてi文字目で不一致であるか文字列が終わったらループを抜けて文字コードの差を生成する。尚、変数cはレジスタ変数とする。文字列の終りは不一致比較でループを抜けなかった場合、即ち文字が一致した場合に一方の文字のみチェックしている。一致しているのでもう一方をチェックする必要はない。
k キープフィールド
np ナノプロセッサ番号フィールド
ra、rb、rc 読出しレジスタ番号フィールド
ma,mb モディファイレジスタ番号フィールド
wa 書込みレジスタ番号フィールド
IFN 命令フェッチナノプロセッサ
EXN演算ナノプロセッサ
LDN ロードナノプロセッサ
STN ストアナノプロセッサ
LSN ロードストアナノプロセッサ
1 有効性判定論理
2 バリッドビットフラグレジスタ
Claims (10)
- 夫々が異なる命令フローを実行する複数のデータ処理回路を有し、
夫々のデータ処理回路は命令フローで参照される複数のレジスタと、前記複数のレジスタが保有するデータに対する有効性をレジスタ毎に示すフラグビットとを有し、
前記データ処理回路は、他のデータ処理回路の前記レジスタにデータを書込む操作を指示する第1命令を実行するとき、当該第1命令で前記書込む操作が指示されているレジスタが無効であるか否かを確認し、無効でなければ無効になるのを待ち、無効であれば書き込みを行い、また、前記レジスタに対する参照に併せて当該参照されるレジスタのデータを対応するフラグビットを用いて無効化する指示を与える第2命令を実行するとき、当該第2命令でデータ無効化の指示がなされているレジスタが無効な場合は有効になるまで参照の実行を抑止し、当該第2命令を実行したとき参照の終わったレジスタを無効化する制御を行う、データプロセッサ。 - 前記命令セットに含まれるロード命令及びアドレス生成命令を実行するデータ処理回路は前記命令セットに含まれるストア命令及びアドレス生成命令を実行するデータ処理回路とは分離されている請求項1記載のデータプロセッサ。
- 前記命令セットに含まれるメモリアクセス命令及びアドレス生成命令を実行するデータ処理回路は其の他の演算命令を実行するデータ処理回路から分離されている請求項1記載のデータプロセッサ。
- 命令フェッチを実行するデータ処理回路と演算を実行するデータ処理回路とを別々に有し、前記演算を実行するデータ処理回路の命令キューは前記命令フェッチを実行するデータ処理回路が扱うレジスタとみなされ、命令フェッチを実行するデータ処理装置は前記第1命令として命令キューのエントリへの書込み指示を有する命令を実行し、演算を実行するデータ処理装置は前記第2命令として命令キューのエントリ参照後に対応するフラグビットを用いてエントリの無効化を指示する命令を実行して、命令フェッチを実行するデータ処理回路から演算を実行するデータ処理回路への命令の受け渡しを行なう請求項1記載のデータプロセッサ。
- 前記第1命令はディスティネーションレジスタフィールドに対応して書込み先のデータ処理回路を特定する第1パラメータの指定フィールドを有する請求項1記載のデータプロセッサ。
- 前記第1命令はレジスタ間接アドレシングモードで指定するメモリからレジスタにデータを転送するロード命令である、請求項5記載のデータプロセッサ。
- 前記第2命令は参照後に無効にするか否かを指示する第2パラメータの指定フィールドをレジスタフィールドに対応して有する請求項1記載のデータプロセッサ。
- 前記第2パラメータの指定フィールドを有するレジスタフィールドはリードレジスタを指定するフィールドである、請求項7記載のデータプロセッサ。
- 前記第2パラメータの指定フィールドを有するレジスタフィールドにはライトレジスタを指定するフィールドおよびリード・モディファイレジスタを指定するフィールドが除外される請求項8記載のデータプロセッサ。
- 夫々が異なる命令フローを実行する複数のデータ処理回路を有し、
夫々のデータ処理回路は命令フローで参照される複数のレジスタと、前記複数のレジスタが保有するデータの有効性をレジスタ毎に示すフラグビットとを有し、
一のデータ処理回路が他のデータ処理回路の前記レジスタにデータを書込む操作を指示する第1命令と、データ処理回路の前記レジスタに対する参照に併せて当該参照されるレジスタのフラグビットに対するデータ無効化の指示を与える第2命令とを、前記複数のデータ処理回路の命令セットに含み、
前記データ処理回路は、前記第1命令を実行するとき、当該第1命令で前記書込む操作が指示されているレジスタが無効であるか否かを確認し、無効でなければ無効になるのを待ち、無効であれば書き込みを行い、前記第2命令を実行したとき参照の終わったレジスタを無効化する制御を行う、データプロセッサ。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006323537A JP4230504B2 (ja) | 2006-11-30 | 2006-11-30 | データプロセッサ |
US11/707,150 US7610471B2 (en) | 2006-11-30 | 2007-02-16 | Data processor |
US12/585,376 US7962728B2 (en) | 2006-11-30 | 2009-09-14 | Data processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006323537A JP4230504B2 (ja) | 2006-11-30 | 2006-11-30 | データプロセッサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008139964A JP2008139964A (ja) | 2008-06-19 |
JP4230504B2 true JP4230504B2 (ja) | 2009-02-25 |
Family
ID=39477241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006323537A Expired - Fee Related JP4230504B2 (ja) | 2006-11-30 | 2006-11-30 | データプロセッサ |
Country Status (2)
Country | Link |
---|---|
US (2) | US7610471B2 (ja) |
JP (1) | JP4230504B2 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013080289A1 (ja) * | 2011-11-28 | 2013-06-06 | 富士通株式会社 | 信号処理装置及び信号処理方法 |
US9424041B2 (en) * | 2013-03-15 | 2016-08-23 | Samsung Electronics Co., Ltd. | Efficient way to cancel speculative ‘source ready’ in scheduler for direct and nested dependent instructions |
GB2514618B (en) * | 2013-05-31 | 2020-11-11 | Advanced Risc Mach Ltd | Data processing systems |
US9690590B2 (en) * | 2014-10-15 | 2017-06-27 | Cavium, Inc. | Flexible instruction execution in a processor pipeline |
US9747109B2 (en) * | 2014-10-15 | 2017-08-29 | Cavium, Inc. | Flexible instruction execution in a processor pipeline |
US9817576B2 (en) * | 2015-05-27 | 2017-11-14 | Pure Storage, Inc. | Parallel update to NVRAM |
US10235219B2 (en) * | 2015-07-27 | 2019-03-19 | Sony Interactive Entertainment America Llc | Backward compatibility by algorithm matching, disabling features, or throttling performance |
US11403099B2 (en) | 2015-07-27 | 2022-08-02 | Sony Interactive Entertainment LLC | Backward compatibility by restriction of hardware resources |
US20170052782A1 (en) * | 2015-08-21 | 2017-02-23 | Apple Inc. | Delayed zero-overhead loop instruction |
US10915333B2 (en) | 2016-03-30 | 2021-02-09 | Sony Interactive Entertainment Inc. | Deriving application-specific operating parameters for backwards compatiblity |
CN112631657B (zh) * | 2019-09-24 | 2024-06-11 | 阿里巴巴集团控股有限公司 | 用于字符串处理的字节比较方法以及指令处理装置 |
CN112181492A (zh) * | 2020-09-23 | 2021-01-05 | 北京奕斯伟计算技术有限公司 | 一种指令处理方法、指令处理装置和芯片 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2779032B2 (ja) * | 1990-01-23 | 1998-07-23 | 株式会社日立製作所 | 情報処理装置 |
JP3322754B2 (ja) | 1994-05-17 | 2002-09-09 | 富士通株式会社 | 並列計算機 |
US5603005A (en) * | 1994-12-27 | 1997-02-11 | Unisys Corporation | Cache coherency scheme for XBAR storage structure with delayed invalidates until associated write request is executed |
US6862635B1 (en) * | 1998-11-13 | 2005-03-01 | Cray Inc. | Synchronization techniques in a multithreaded environment |
US6199156B1 (en) * | 1998-12-16 | 2001-03-06 | Bull Hn Information Systems Inc. | System for explicitly referencing a register for its current content when performing processor context switch |
US6519694B2 (en) * | 1999-02-04 | 2003-02-11 | Sun Microsystems, Inc. | System for handling load errors having symbolic entity generator to generate symbolic entity and ALU to propagate the symbolic entity |
US6983358B2 (en) * | 2001-10-23 | 2006-01-03 | Ip-First, Llc | Method and apparatus for maintaining status coherency between queue-separated functional units |
US6847558B1 (en) * | 2003-03-28 | 2005-01-25 | Xilinx, Inc. | Integrated circuit and method of reading data from a memory device |
US7873785B2 (en) * | 2003-08-19 | 2011-01-18 | Oracle America, Inc. | Multi-core multi-thread processor |
US7111126B2 (en) * | 2003-09-24 | 2006-09-19 | Arm Limited | Apparatus and method for loading data values |
US7257762B2 (en) * | 2004-10-07 | 2007-08-14 | Lsi Corporation | Memory interface with write buffer and encoder |
DE102004058288A1 (de) * | 2004-12-02 | 2006-06-08 | Robert Bosch Gmbh | Vorrichtung und Verfahren zur Behebung von Fehlern bei einem Prozessor mit zwei Ausführungseinheiten |
-
2006
- 2006-11-30 JP JP2006323537A patent/JP4230504B2/ja not_active Expired - Fee Related
-
2007
- 2007-02-16 US US11/707,150 patent/US7610471B2/en not_active Expired - Fee Related
-
2009
- 2009-09-14 US US12/585,376 patent/US7962728B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7962728B2 (en) | 2011-06-14 |
US20080133888A1 (en) | 2008-06-05 |
JP2008139964A (ja) | 2008-06-19 |
US7610471B2 (en) | 2009-10-27 |
US20100005279A1 (en) | 2010-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4230504B2 (ja) | データプロセッサ | |
JP3499252B2 (ja) | コンパイル装置及びデータ処理装置 | |
JP2550213B2 (ja) | 並列処理装置および並列処理方法 | |
US5911057A (en) | Superscalar microprocessor having combined register and memory renaming circuits, systems, and methods | |
US6978460B2 (en) | Processor having priority changing function according to threads | |
US20170083341A1 (en) | Segmented instruction block | |
JP5209933B2 (ja) | データ処理装置 | |
EP3660668A1 (en) | Block-based architecture with parallel execution of successive blocks | |
US20030005266A1 (en) | Multithreaded processor capable of implicit multithreaded execution of a single-thread program | |
US9811340B2 (en) | Method and apparatus for reconstructing real program order of instructions in multi-strand out-of-order processor | |
JP2004171573A (ja) | 新規な分割命令トランズアクションモデルを使用して構築したコプロセッサ拡張アーキテクチャ | |
US20060242394A1 (en) | Processor and processor instruction buffer operating method | |
JP3146707B2 (ja) | 並列演算機能を有する計算機 | |
US20210326136A1 (en) | Entering protected pipeline mode with clearing | |
US7730288B2 (en) | Method and apparatus for multiple load instruction execution | |
JP3752493B2 (ja) | レジスタ・リネーミング機能を有するプロセッサ | |
JP2021507374A (ja) | 命令を実行するためのシステム及び方法 | |
US6119220A (en) | Method of and apparatus for supplying multiple instruction strings whose addresses are discontinued by branch instructions | |
JPH1165840A (ja) | 演算処理装置およびその方法 | |
JP2828219B2 (ja) | オブジェクト・コード互換性を与える方法、オブジェクト・コード互換性並びにスカラ・プロセッサ及びスーパスカラ・プロセッサとの互換性を与える方法、ツリー命令を実行するための方法、データ処理システム | |
JP2005108086A (ja) | データ処理装置 | |
WO2009026221A2 (en) | Stall-free pipelined cache for statically scheduled and dispatched execution | |
JP2636821B2 (ja) | 並列処理装置 | |
Matsuo et al. | TURBULENCE: Complexity-effective Out-of-order Execution on GPU with Distance-based ISA | |
Scott et al. | Assembly-Level Optimizations for the M• CORE TM M3 Processor Core |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080324 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080902 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081104 |
|
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: 20081202 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081203 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111212 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111212 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121212 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131212 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |