JP6568859B2 - エミュレートされた共有メモリアーキテクチャにおける長レイテンシ演算のアーキテクチャ - Google Patents
エミュレートされた共有メモリアーキテクチャにおける長レイテンシ演算のアーキテクチャ Download PDFInfo
- Publication number
- JP6568859B2 JP6568859B2 JP2016541138A JP2016541138A JP6568859B2 JP 6568859 B2 JP6568859 B2 JP 6568859B2 JP 2016541138 A JP2016541138 A JP 2016541138A JP 2016541138 A JP2016541138 A JP 2016541138A JP 6568859 B2 JP6568859 B2 JP 6568859B2
- Authority
- JP
- Japan
- Prior art keywords
- memory access
- long latency
- latency
- pipeline
- unit
- 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
- 230000015654 memory Effects 0.000 title claims description 104
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 238000012545 processing Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000000034 method Methods 0.000 description 5
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 229910052710 silicon Inorganic materials 0.000 description 3
- 239000010703 silicon Substances 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- IERHLVCPSMICTF-XVFCMESISA-N CMP group Chemical group P(=O)(O)(O)OC[C@@H]1[C@H]([C@H]([C@@H](O1)N1C(=O)N=C(N)C=C1)O)O IERHLVCPSMICTF-XVFCMESISA-N 0.000 description 1
- 241000220010 Rhode Species 0.000 description 1
- 229920000147 Styrene maleic anhydride Polymers 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 239000013317 conjugated microporous polymer Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000003292 glue Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000003643 myeloid progenitor cell Anatomy 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000008093 supporting effect Effects 0.000 description 1
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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3873—Variable length pipelines, e.g. elastic pipeline
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30029—Logical and Boolean instructions, e.g. XOR, NOT
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- 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/3893—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
- G06F9/3895—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Multi Processors (AREA)
- Advance Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
インタリーブ型スレッド間パイプラインをそれぞれ備えた、いくつかの、好ましくは複数のマルチスレッド型プロセッサを含み、
前記パイプラインは、算術演算、論理演算、および必要に応じてさらに別の演算をデータに対して実行するための直列に配置された複数の機能ユニットを含み、よりレイテンシの低い1つまたは複数の機能ユニットは、前記パイプライン中でメモリアクセスセグメントの動作より前に動作し、より長いレイテンシに関連するより複雑な演算を実行する1つまたは複数の長レイテンシユニットは、前記メモリアクセスセグメントと並列に動作する。
102 プロセッサ
104 命令メモリモジュール
106 スクラッチパッド/ステップキャッシュユニット
108 高帯域幅同期ネットワーク
108B スイッチ
110 メモリユニット
112 データメモリ
112B メモリユニット
200 ESM CMPアーキテクチャ
206B スクラッチパッド
300 MCRCW ESMプロセッサ
302 ALU
304 MEM
306 OS
308 IF
310 SEQ
400 ESMパイプラインアーキテクチャ
402 ALU
402b 長レイテンシユニット
402c ALU
406 OS
408 IF
410 SEQ
412 メモリアクセスセグメント
412a MEM
500 パイプラインアーキテクチャ
500a ブランチ
500b ブランチ
502a 長レイテンシユニット
502b 長レイテンシユニット
Claims (13)
- エミュレートされた共有メモリ(ESM)アーキテクチャのためのプロセッサアーキテクチャ配置体であって、
インタリーブ型スレッド間パイプライン(400、500)をそれぞれ備えた、いくつかの、好ましくは複数のマルチスレッド型プロセッサを含み、
前記パイプライン(400、500)が、算術演算、論理演算、および必要に応じてさらに別の演算をデータに対して実行するための直列に配置された複数の機能ユニット(402、402b、402c、502a)を含み、よりレイテンシの短い1つまたは複数の機能ユニット(402)が、前記パイプライン中でメモリアクセスセグメント(412)の動作より前に動作し、より長いレイテンシに関連するより複雑な演算を実行する1つまたは複数の長レイテンシユニット(402b、502a)が、前記メモリアクセスセグメント(412)と並列に動作する、プロセッサアーキテクチャ配置体。 - いくつかの機能ユニット(402c)が、機能上、前記パイプライン中で前記メモリアクセスセグメント(412)の動作より後に動作する、請求項1に記載のプロセッサアーキテクチャ配置体。
- 少なくとも2つの長レイテンシユニットが連結され、長レイテンシユニットが、連結内の後続のユニットに、演算の結果を引き渡すように構成される、請求項1から2のいずれか一項に記載のプロセッサアーキテクチャ配置体。
- よりレイテンシの短い1つまたは複数の機能ユニットが、少なくとも1つの整数算術のためのALUを含む、請求項1から3のいずれか一項に記載のプロセッサアーキテクチャ配置体。
- 前記パイプラインが、少なくとも2つの並列ブランチ(500a、500b)を組み込んでおり、各ブランチが、前記メモリアクセスセグメント(412)と並列な少なくとも1つの長レイテンシユニット(502a、502b)を含む、請求項1から4のいずれか一項に記載のプロセッサアーキテクチャ。
- 少なくとも2つのブランチが、前記パイプラインに対する前記メモリアクセスセグメントを超えて延在し、その延在部が、前記メモリアクセスセグメントの動作の前および/または後に動作する、請求項5に記載のプロセッサアーキテクチャ配置体。
- ブランチ内のいくつかの機能ユニットが、機能上、前記メモリアクセスセグメントの動作より実質的に前および/または後に動作する、請求項6に記載のプロセッサアーキテクチャ配置体。
- 演算実行レイテンシの点で相互に異なる前記メモリアクセスセグメントと並列な少なくとも2つの長レイテンシユニット(402b)を含む、請求項1から7のいずれか一項に記載のプロセッサアーキテクチャ配置体。
- より長いレイテンシに関連する長レイテンシユニットが、論理的には、メモリアクセスセグメントの終端部分と並列に、かつより短いレイテンシに関連する長レイテンシユニットの動作の後に動作する、請求項8に記載のプロセッサアーキテクチャ配置体。
- 1つまたは複数の機能ユニットが、命令語(408)のいくつかの動作選択フィールドを介して制御される、請求項1から9のいずれか一項に記載のプロセッサアーキテクチャ配置体。
- 機能ユニットのためのいくつかの変数が、命令語中に与えられるいくつかの変数選択フィールドに従って、前記パイプラインの変数選択ステージ(406)中で決定される、請求項1から10のいずれか一項に記載のプロセッサアーキテクチャ配置体。
- 少なくとも1つの長レイテンシユニットが、除算、ルート計算または特定用途用に設計される、請求項1から11のいずれか一項に記載のプロセッサアーキテクチャ配置体。
- 入力データに対して1つまたは複数の演算を実行するように構成された少なくとも1つの長レイテンシユニットと、入力データに対して1つまたは複数のその他の演算を実行するように構成された少なくとも1つの他の長レイテンシユニットとを含む、請求項1から12のいずれか一項に記載のプロセッサアーキテクチャ配置体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP13198516.0 | 2013-12-19 | ||
EP13198516.0A EP2887207B1 (en) | 2013-12-19 | 2013-12-19 | Architecture for long latency operations in emulated shared memory architectures |
PCT/FI2014/051002 WO2015092131A1 (en) | 2013-12-19 | 2014-12-16 | Architecture for long latency operations in emulated shared memory architectures |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017500657A JP2017500657A (ja) | 2017-01-05 |
JP6568859B2 true JP6568859B2 (ja) | 2019-08-28 |
Family
ID=49916857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016541138A Active JP6568859B2 (ja) | 2013-12-19 | 2014-12-16 | エミュレートされた共有メモリアーキテクチャにおける長レイテンシ演算のアーキテクチャ |
Country Status (6)
Country | Link |
---|---|
US (1) | US10127048B2 (ja) |
EP (1) | EP2887207B1 (ja) |
JP (1) | JP6568859B2 (ja) |
KR (1) | KR102269157B1 (ja) |
CN (1) | CN106030517B (ja) |
WO (1) | WO2015092131A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3188025A1 (en) * | 2015-12-29 | 2017-07-05 | Teknologian Tutkimuskeskus VTT Oy | Memory node with cache for emulated shared memory computers |
CN111797107B (zh) * | 2020-07-08 | 2024-02-09 | 贵州易鲸捷信息技术有限公司 | 混合乐观锁和悲观锁的数据库事务并发控制方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US506512A (en) | 1893-10-10 | Territory | ||
US5867649A (en) * | 1996-01-23 | 1999-02-02 | Multitude Corporation | Dance/multitude concurrent computation |
AU6586898A (en) * | 1997-03-21 | 1998-10-20 | University Of Maryland | Spawn-join instruction set architecture for providing explicit multithreading |
WO2000008555A1 (en) * | 1998-08-06 | 2000-02-17 | Koninklijke Philips Electronics N.V. | Data processing device |
US6279100B1 (en) * | 1998-12-03 | 2001-08-21 | Sun Microsystems, Inc. | Local stall control method and structure in a microprocessor |
US6895479B2 (en) * | 2000-11-15 | 2005-05-17 | Texas Instruments Incorporated | Multicore DSP device having shared program memory with conditional write protection |
JP2002333978A (ja) * | 2001-05-08 | 2002-11-22 | Nec Corp | Vliw型プロセッサ |
US7131114B2 (en) * | 2001-07-16 | 2006-10-31 | Texas Instruments Incorporated | Debugger breakpoint management in a multicore DSP device having shared program memory |
EP1367485B1 (en) * | 2002-05-31 | 2012-10-31 | STMicroelectronics Limited | Pipelined processing |
TWI361379B (en) * | 2006-02-06 | 2012-04-01 | Via Tech Inc | Dual mode floating point multiply accumulate unit |
US8756404B2 (en) * | 2006-12-11 | 2014-06-17 | International Business Machines Corporation | Cascaded delayed float/vector execution pipeline |
CN101021832A (zh) * | 2007-03-19 | 2007-08-22 | 中国人民解放军国防科学技术大学 | 支持局部寄存和条件执行的64位浮点整数融合运算群 |
US20080313438A1 (en) * | 2007-06-14 | 2008-12-18 | David Arnold Luick | Unified Cascaded Delayed Execution Pipeline for Fixed and Floating Point Instructions |
CN103150146B (zh) * | 2013-01-31 | 2015-11-25 | 西安电子科技大学 | 基于可扩展处理器架构的专用指令集处理器及其实现方法 |
US9507404B2 (en) * | 2013-08-28 | 2016-11-29 | Via Technologies, Inc. | Single core wakeup multi-core synchronization mechanism |
-
2013
- 2013-12-19 EP EP13198516.0A patent/EP2887207B1/en active Active
-
2014
- 2014-12-16 JP JP2016541138A patent/JP6568859B2/ja active Active
- 2014-12-16 WO PCT/FI2014/051002 patent/WO2015092131A1/en active Application Filing
- 2014-12-16 KR KR1020167019720A patent/KR102269157B1/ko active IP Right Grant
- 2014-12-16 US US15/105,583 patent/US10127048B2/en active Active
- 2014-12-16 CN CN201480070278.4A patent/CN106030517B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US20160314001A1 (en) | 2016-10-27 |
WO2015092131A1 (en) | 2015-06-25 |
JP2017500657A (ja) | 2017-01-05 |
KR102269157B1 (ko) | 2021-06-24 |
US10127048B2 (en) | 2018-11-13 |
EP2887207B1 (en) | 2019-10-16 |
KR20170013196A (ko) | 2017-02-06 |
CN106030517B (zh) | 2020-02-28 |
EP2887207A1 (en) | 2015-06-24 |
CN106030517A (zh) | 2016-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240004666A1 (en) | Floating-point supportive pipeline for emulated shared memory architectures | |
JP5698445B2 (ja) | 多重プロセッサ・コア・ベクトル・モーフ結合機構 | |
Platzer et al. | Vicuna: A timing-predictable RISC-V vector coprocessor for scalable parallel computation | |
EP2806361B1 (en) | Memory unit for emulated shared memory architectures | |
JP6568859B2 (ja) | エミュレートされた共有メモリアーキテクチャにおける長レイテンシ演算のアーキテクチャ | |
US20120221830A1 (en) | Configurable vector length computer processor | |
US11061817B2 (en) | Memory node with cache for emulated shared memory computers | |
Forsell | TOTAL ECLIPSE–an efficient architectural realization of the parallel random access machine | |
KR100962932B1 (ko) | Vliw 프로세서 | |
CN113348446B (zh) | 用于处理tcf感知处理器的存储器访问的方法和装置 | |
Duric et al. | Imposing coarse-grained reconfiguration to general purpose processors | |
EP1442362A1 (en) | An arrangement and a method in processor technology | |
Beck et al. | Automatic dataflow execution with reconfiguration and dynamic instruction merging | |
Unrolling | Lookahead Memory Prefetching for CGRAs Using Partial Loop Unrolling | |
CA2751388A1 (en) | Method and system for mutli-mode instruction-level streaming | |
JP2003345589A (ja) | 情報処理装置 | |
McCaughan | Parallel Computing Models |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171023 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180919 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181002 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20181219 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20190227 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190329 |
|
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: 20190709 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190805 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6568859 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |