JP5324568B2 - ソフトウェア無線端末のためのプログラマブルデバイス - Google Patents
ソフトウェア無線端末のためのプログラマブルデバイス Download PDFInfo
- Publication number
- JP5324568B2 JP5324568B2 JP2010512532A JP2010512532A JP5324568B2 JP 5324568 B2 JP5324568 B2 JP 5324568B2 JP 2010512532 A JP2010512532 A JP 2010512532A JP 2010512532 A JP2010512532 A JP 2010512532A JP 5324568 B2 JP5324568 B2 JP 5324568B2
- Authority
- JP
- Japan
- Prior art keywords
- vector
- programmable device
- scalar
- instruction
- parts
- 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
- 239000013598 vector Substances 0.000 claims description 109
- 238000000034 method Methods 0.000 claims description 15
- 238000001514 detection method Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 6
- 230000004913 activation Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 13
- 238000013459 approach Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 238000009825 accumulation Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 101000985296 Homo sapiens Neuron-specific calcium-binding protein hippocalcin Proteins 0.000 description 1
- 101000935117 Homo sapiens Voltage-dependent P/Q-type calcium channel subunit alpha-1A Proteins 0.000 description 1
- 102100025330 Voltage-dependent P/Q-type calcium channel subunit alpha-1A Human genes 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation 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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8053—Vector processors
-
- 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/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Executing Machine-Instructions (AREA)
- Transceivers (AREA)
- Complex Calculations (AREA)
- Devices For Executing Special Programs (AREA)
- Advance Control (AREA)
Description
上記方法は、
高水準プログラミング言語で上記アルゴリズムを記述するステップと、
上記アルゴリズムをデータフローグラフに変換するステップと、
プロファイリングを実行して、上記データフローグラフの起動を評価するステップと、
上記プロファイリングの結果に基づいて上記命令セットを導出するステップと、
上記命令セットの部分集合を上記スカラー部及び/又は上記少なくとも2つのベクトル部に割り当てるステップとを備える。
このアプローチは、スロットごとの異なる命令の数を最小化することを可能にし、かつ先行するステップにおいて抽出されたプロファイリングデータに基づいて密なスケジューリングを可能にする。
通常、ASIPの設計は、目標とされるアルゴリズムを注意深く解析することから始まる。フローは、プロファイリングがアプリケーション上で実行される場所に適用されて、命令セットを定義し、分割し、かついくつかの並列のクラスタ化された命令セットに割り当てる。したがって、第1のステップでは、目標とされるアルゴリズムが、Cなどの高水準言語で記述されなければならない。その後、これらのアルゴリズムは、データフローグラフに変換され、アプリケーションを代表するランダムな刺激(励振)セットを用いて実行される。それによって、よく起動されるデータフローグラフの複数の部分が識別される。その後、半自動的な方法で、特別な命令が定義され、組み込み関数の形式でアルゴリズムに導入される。特別な命令の粒度は、目標とされる技術、及びクロック周波数に依存する。
(1)スロットごとの異なる命令の数が最小化され、それによって、演算子のタイプの数、及び全体の演算子の数が最小化され、
(2)(データの依存関係を含む)演算のシーケンスが制限された穴を有することを保証することによって、より密なスケジューリングが実行可能にされ、かつ
(3)(演算子のグループごとに)これらのシーケンスが、実時間の制約よりも短いクリティカルパスを有するように、グループ分けされ、又は演算子のグループごとに複製される。目標とするクロック速度が既知であるので、これは自動化されることができる。
ベクトル処理のための能力を有するインオーダVLIWマシン(In-order VLIW machine)が、SDRに対して最もエネルギー効率的である。命令セットの定義の後、方法は、最小のエネルギーコストで実時間の性能を保証するために必要な並列処理の量について決定しなければならない。
典型的に、共有のマルチポート化されたレジスタファイルは、VLIW構造においてスケーラビリティのボトルネックであり、かつ最大の電力の消費者のうちの1つでもある。したがって、クラスタ化されたレジスタファイルの実装が好ましい。
Claims (14)
- スカラーデータパスとスカラーレジスタファイルとを提供し、スカラー命令を実行するように設けられたスカラー部と、
少なくとも2つの相互接続されたベクトル部とを備えたプログラマブルデバイスであって、
上記複数のベクトル部は、上記スカラー部に接続され、
上記少なくとも2つのベクトル部のそれぞれは、ベクトルデータパスとベクトルレジスタファイルとを提供し、上記少なくとも2つのベクトル部の任意の他のベクトル部によって実行されるベクトル命令と異なる少なくとも1つのベクトル命令を実行するように設けられ、
上記各ベクトルレジスタファイルは、上記複数のベクトル部の間のブロードキャスト演算のために1つだけの読み出しポートを有し、
上記プログラマブルデバイスは、
上記複数のベクトル部の間のデータ通信のための、ソフトウェア制御される相互接続を備えたプログラマブルデバイス。 - 上記スカラー部及び上記少なくとも2つのベクトル部のそれぞれは、複数のそれぞれの命令を記憶する局所記憶手段を備えた請求項1記載のプログラマブルデバイス。
- 上記少なくとも2つのベクトル部の第1のベクトル部は、算術論理演算装置の命令のための演算子を備え、
第2のベクトル部は、乗算演算子を備えた請求項1又は2記載のプログラマブルデバイス。 - 上記少なくとも1つのベクトル命令を提供するように設けられたプログラミング手段をさらに備えた請求項1から3のうちのいずれか1つの請求項記載のプログラマブルデバイス。
- 第2のスカラー部及び3つの相互接続されたベクトル部をさらに備えた請求項1から4のうちのいずれか1つの請求項記載のプログラマブルデバイス。
- それぞれのベクトルレジスタファイルは、3つの読み出しポート及び1つの書き込みポートを有する請求項1から5のうちのいずれか1つの請求項記載のプログラマブルデバイス。
- 上記複数の読み出しポートのうちの2つは、上記ベクトルデータパスにおける機能ユニット専用である請求項6記載のプログラマブルデバイス。
- 上記複数の読み出しポートのうちの1つは、上記複数のベクトル部の間の読み出しのために設けられた請求項6又は7記載のプログラマブルデバイス。
- 上記少なくとも2つのベクトル部のベクトル部において実行可能なすべてのベクトル命令は、任意の他のベクトル部において実行可能なベクトル命令と異なる請求項1から8のうちのいずれか1つの請求項記載のプログラマブルデバイス。
- IEEE802.11a/g/n,IEEE802.16e,3GPP−LTEを含む規格のグループに属する規格にしたがって通信を実行するようにさらに設けられた請求項1から9のうちのいずれか1つの請求項記載のプログラマブルデバイス。
- 請求項1から10のうちのいずれか1つの請求項記載のプログラマブルデバイスを備えたデジタルフロントエンド回路。
- 請求項1から11のうちのいずれか1つの請求項記載のプログラマブルデバイスを備えたソフトウェア無線端末。
- 請求項1から10のうちのいずれか1つの請求項記載のプログラマブルデバイス上のアルゴリズムのための命令セットを自動的に設計する方法であって、
高水準プログラミング言語で上記アルゴリズムを記述するステップと、
上記アルゴリズムをデータフローグラフに変換するステップと、
プロファイリングを実行して、上記データフローグラフの起動を評価するステップと、
上記プロファイリングの結果に基づいて上記命令セットを導出するステップとを備えた方法において、
上記方法はさらに、スロットごとの命令の数が最小化されるように、上記命令セットの部分集合を上記スカラー部及び上記少なくとも2つのベクトル部に割り当てるステップを備えたことを特徴とする方法。 - 請求項1から10のうちのいずれか1つの請求項記載のプログラマブルデバイスを用いて、複数のデータパケットの間の相関を解析するステップを備えた受信されたデータパケットのパケット検出のための方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP07110493.9 | 2007-06-18 | ||
EP07110493 | 2007-06-18 | ||
PCT/EP2007/061220 WO2008154963A1 (en) | 2007-06-18 | 2007-10-19 | Programmable device for software defined radio terminal |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010530677A JP2010530677A (ja) | 2010-09-09 |
JP5324568B2 true JP5324568B2 (ja) | 2013-10-23 |
Family
ID=38800885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010512532A Expired - Fee Related JP5324568B2 (ja) | 2007-06-18 | 2007-10-19 | ソフトウェア無線端末のためのプログラマブルデバイス |
Country Status (5)
Country | Link |
---|---|
US (3) | US20100186006A1 (ja) |
EP (1) | EP2171609A1 (ja) |
JP (1) | JP5324568B2 (ja) |
KR (1) | KR101445794B1 (ja) |
WO (1) | WO2008154963A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8656376B2 (en) * | 2011-09-01 | 2014-02-18 | National Tsing Hua University | Compiler for providing intrinsic supports for VLIW PAC processors with distributed register files and method thereof |
KR20130089418A (ko) * | 2012-02-02 | 2013-08-12 | 삼성전자주식회사 | Asip를 포함하는 연산장치 및 설계 방법 |
JP6102528B2 (ja) * | 2013-06-03 | 2017-03-29 | 富士通株式会社 | 信号処理装置及び信号処理方法 |
KR102179385B1 (ko) * | 2013-11-29 | 2020-11-16 | 삼성전자주식회사 | 명령어를 실행하는 방법 및 프로세서, 명령어를 부호화하는 방법 및 장치 및 기록매체 |
JP6237241B2 (ja) * | 2014-01-07 | 2017-11-29 | 富士通株式会社 | 処理装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0814411A3 (en) * | 1988-06-07 | 1998-03-04 | Fujitsu Limited | Vector data processing apparatus |
US5752035A (en) * | 1995-04-05 | 1998-05-12 | Xilinx, Inc. | Method for compiling and executing programs for reprogrammable instruction set accelerator |
US7100026B2 (en) * | 2001-05-30 | 2006-08-29 | The Massachusetts Institute Of Technology | System and method for performing efficient conditional vector operations for data parallel architectures involving both input and conditional vector values |
US6301653B1 (en) * | 1998-10-14 | 2001-10-09 | Conexant Systems, Inc. | Processor containing data path units with forwarding paths between two data path units and a unique configuration or register blocks |
US6366998B1 (en) * | 1998-10-14 | 2002-04-02 | Conexant Systems, Inc. | Reconfigurable functional units for implementing a hybrid VLIW-SIMD programming model |
US7721069B2 (en) * | 2004-07-13 | 2010-05-18 | 3Plus1 Technology, Inc | Low power, high performance, heterogeneous, scalable processor architecture |
US7299342B2 (en) * | 2005-05-24 | 2007-11-20 | Coresonic Ab | Complex vector executing clustered SIMD micro-architecture DSP with accelerator coupled complex ALU paths each further including short multiplier/accumulator using two's complement |
-
2007
- 2007-10-19 KR KR1020107000185A patent/KR101445794B1/ko active IP Right Grant
- 2007-10-19 WO PCT/EP2007/061220 patent/WO2008154963A1/en active Application Filing
- 2007-10-19 JP JP2010512532A patent/JP5324568B2/ja not_active Expired - Fee Related
- 2007-10-19 EP EP07821584A patent/EP2171609A1/en not_active Withdrawn
-
2009
- 2009-12-17 US US12/641,035 patent/US20100186006A1/en not_active Abandoned
-
2012
- 2012-12-07 US US13/708,857 patent/US20130173884A1/en not_active Abandoned
-
2013
- 2013-10-02 US US14/044,513 patent/US20140040594A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JP2010530677A (ja) | 2010-09-09 |
KR101445794B1 (ko) | 2014-11-03 |
US20140040594A1 (en) | 2014-02-06 |
KR20100018039A (ko) | 2010-02-16 |
US20100186006A1 (en) | 2010-07-22 |
EP2171609A1 (en) | 2010-04-07 |
US20130173884A1 (en) | 2013-07-04 |
WO2008154963A1 (en) | 2008-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109213723B (zh) | 一种用于数据流图处理的处理器、方法、设备、及一种非暂时性机器可读介质 | |
US10445451B2 (en) | Processors, methods, and systems for a configurable spatial accelerator with performance, correctness, and power reduction features | |
EP3726389B1 (en) | Apparatuses, methods, and systems for memory interface circuit allocation in a configurable spatial accelerator | |
US11086816B2 (en) | Processors, methods, and systems for debugging a configurable spatial accelerator | |
US10416999B2 (en) | Processors, methods, and systems with a configurable spatial accelerator | |
US10380063B2 (en) | Processors, methods, and systems with a configurable spatial accelerator having a sequencer dataflow operator | |
US10558575B2 (en) | Processors, methods, and systems with a configurable spatial accelerator | |
US20190095369A1 (en) | Processors, methods, and systems for a memory fence in a configurable spatial accelerator | |
WO2020005449A1 (en) | Apparatuses, methods, and systems for conditional operations in a configurable spatial accelerator | |
JP5324568B2 (ja) | ソフトウェア無線端末のためのプログラマブルデバイス | |
She et al. | Scheduling for register file energy minimization in explicit datapath architectures | |
CN113934455A (zh) | 指令转换方法及装置 | |
US20100005274A1 (en) | Virtual functional units for vliw processors | |
Pothineni et al. | Application specific datapath extension with distributed i/o functional units | |
She et al. | OpenCL code generation for low energy wide SIMD architectures with explicit datapath | |
She et al. | Energy efficient special instruction support in an embedded processor with compact ISA | |
Schuster et al. | Design of a low power pre-synchronization ASIP for multimode SDR terminals | |
Meijer et al. | Automatic partitioning and mapping of stream-based applications onto the intel ixp network processor | |
Jungeblut et al. | A systematic approach for optimized bypass configurations for application-specific embedded processors | |
Lin et al. | A system solution for High-Performance, low power SDR | |
Sunny et al. | Energy efficient hardware loop based optimization for CGRAs | |
Liang et al. | A green software-defined communication processor for dynamic spectrum access | |
Seto et al. | Custom instruction generation for configurable processors with limited numbers of operands | |
Yuan et al. | Octopus: A Flexible, Efficient MPSoC Prototype for Non-linear Interference Cancellation | |
Llopard et al. | Code generation for an application-specific VLIW processor with clustered, addressable register files |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100901 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121113 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121217 |
|
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: 20130702 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130718 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5324568 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |