JP2005527035A - 幅の広いメモリへのアクセス - Google Patents
幅の広いメモリへのアクセス Download PDFInfo
- Publication number
- JP2005527035A JP2005527035A JP2004507986A JP2004507986A JP2005527035A JP 2005527035 A JP2005527035 A JP 2005527035A JP 2004507986 A JP2004507986 A JP 2004507986A JP 2004507986 A JP2004507986 A JP 2004507986A JP 2005527035 A JP2005527035 A JP 2005527035A
- Authority
- JP
- Japan
- Prior art keywords
- data
- register
- memory
- processing system
- port
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 claims abstract description 48
- 239000013598 vector Substances 0.000 claims description 147
- 238000012937 correction Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 6
- 238000001514 detection method Methods 0.000 claims description 2
- 230000003213 activating effect Effects 0.000 claims 1
- 239000000284 extract Substances 0.000 claims 1
- 238000004364 calculation method Methods 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 230000001419 dependent effect Effects 0.000 description 10
- 238000000034 method Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- ATHVAWFAEPLPPQ-VRDBWYNSSA-N 1-stearoyl-2-oleoyl-sn-glycero-3-phosphocholine Chemical compound CCCCCCCCCCCCCCCCCC(=O)OC[C@H](COP([O-])(=O)OCC[N+](C)(C)C)OC(=O)CCCCCCC\C=C/CCCCCCCC ATHVAWFAEPLPPQ-VRDBWYNSSA-N 0.000 description 1
- LHMQDVIHBXWNII-UHFFFAOYSA-N 3-amino-4-methoxy-n-phenylbenzamide Chemical compound C1=C(N)C(OC)=CC=C1C(=O)NC1=CC=CC=C1 LHMQDVIHBXWNII-UHFFFAOYSA-N 0.000 description 1
- 230000002547 anomalous effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010295 mobile communication 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/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
-
- 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
- G06F15/8061—Details on data memory access
-
- 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/30025—Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
-
- 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/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- 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
-
- 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
-
- 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/3834—Maintaining memory consistency
-
- 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/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- 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/3887—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Complex Calculations (AREA)
- Saccharide Compounds (AREA)
- Static Random-Access Memory (AREA)
- Advance Control (AREA)
- Image Input (AREA)
- Executing Machine-Instructions (AREA)
- Multi Processors (AREA)
Abstract
Description
機能ユニットおよびローカルデータメモリ(図1ではベクトルメモリと呼ぶ)を備えるプログラム可能なスカラ/ベクトルプロセッサ120と、
限定されたオンチッププログラムおよびデータメモリを含むマイクロコントローラまたはDSPサブシステム130と、
インタフェースブロック140と、である。
アドレス関連の命令(例えば、ポインタを環状バッファにインクリメントすること、モジュロアドレス指定の利用すること)
通常のスカラ演算(即ち、ベクトルプロセッサのメインループに対応するスカラ演算
ルーピング
変則的なスカラ演算
ベクトル処理の場合、単一の命令によって(スカラ)データのベクトルに対して演算を行う。この方法は、単一命令ストリーム、複数データストリームまたはSIMDとしても知られている。複数の機能ユニットの並列処理の場合、各々がベクトルを演算する。これを、VLIW命令レベル並列性の(限定された)形式と見ることができる。
FU内では、これらのセクションの間で密接な相互作用(FU内通信)がある。相互作用は、FUの動作の一体的な部分である。例としてはSLUおよびSRUであり、発生したおよび/または消費されたスカラはFUの対応するスカラセクションへ供給されるか、またはそれから取られる。
好ましい実施の形態において、スカラ/ベクトルプロセッサは図3に示されるような複数のデータ幅およびデータタイプに対応する。メモリアドレス指定の基本単位は単一のワードとも呼ばれるワードである。データ幅は、単一のワード(W)、2ワード(DW、または2W=16ビット)、または4ワード(QW、または4W=32ビット)とすることが好ましい。ワードの大きさはW=8ビットである。スカラは、(単一の)ワード、2ワードまたは4ワードの3つのサイズとすることが好ましい。ベクトルはPQ4ワードワードの固定された大きさである。これは、好ましくは以下の3つのフォーマットのいずれかで構成されることが可能である。
4ワードの大きさのPQ要素
2ワードの大きさのPD=2PQ要素
(単一)ワードの大きさのPS=2PD=4PQ要素
CVP命令は制御命令またはVLIW命令のいずれかである。制御命令は、例えばゼロオーバーヘッドループ初期化であってよい。ブランチ、ジャンプまたはサブルーチンはない。VLIW命令はセグメントに区切られ、各命令セグメントは対応する機能ユニットによって行われる演算を指定する。セグメントはさらに一部がベクトルセクション、および(存在する場合は)スカラセクションに対して細分される。セグメントは両方の部分に対して、どのネットワーク部を用いてデータ(ベクトルセクションに対する一つ以上のベクトルおよびスカラセクションに対する一つ以上のスカラ)を受信するかに関する情報も含む。
CVPの状態はその機能ユニットの組み合わされた状態である。好ましい実施の形態において、これは
ベクトルメモリ(VMUの一部)と、
プログラムメモリ(IDUの一部)と、
ベクトルレジスタ(すべての機能ユニット)と、
スカラレジスタ(ほとんどの機能ユニット)と、
プログラムカウンタを含む制御レジスタおよびアドレスオフセットレジスタと、を備える。
図4は、本発明によるメモリ配列が使用されているメモリユニット(VMU400)のブロック図である。以下に説明する好ましい実施の形態において、メモリユニットは、ベクトル全体を記憶することができる幅を有する物理メモリとの組み合わせにおいてベクトルプロセッサ内で使用される。尚、同一の概念を従来のDSP等のスカラプロセッサに適用してもよい。VMUは、他の機能ユニットに対して非常に大きなデータ帯域幅を提供するベクトルメモリ410を含み且つ制御する。物理ベクトルメモリ410は単一ポート型のSRAMに基づいていることが好ましい。PS×W幅の埋め込みSRAMは一般的に入手できるものではないため、物理メモリは平行に配列された1つ以上の列の幅の広いランダムアクセスメモリ(RAM)によって形成するようにしてもよい。スカラデータはベクトルデータを記憶するために使用されるメモリと同一のメモリに格納されることが好ましい。このようなシステムにおいては、スカラをそれらが対応するベクトルと混合させることができる。費用効率およびメモリへの最適なアクセス時間のために、メモリは完全なベクトル線の読み出しおよび書き込みのみを許容することが好ましい。従って、論理的には、物理メモリはそれぞれがベクトルの大きさの線からなっている。スカラの読み出しおよび書き込みに対応するため、さらなるハードウェア(ラインキャッシュ430および線内でスカラを選択するサポート440)を用いてスカラのようにベクトル幅の物理メモリへアクセスする。
ベクトルの送信、またはラインの送信、またはVM記憶場所から/VM記憶場所への受信
VM記憶場所からのスカラの送信
VM記憶場所へのスカラの受信
アドレス計算ユニットの状態/出力の変更
VMU_cmd=(vopc,aid_v,ainc_v,sopc,aid_s,ainc_s,size,srcv,aid_r,ainc_r,aopc,aid_a,imm_addr)
Vopc=NOP│SENDL│SENDV│RCVL_CGU│RCVL_AMU│RCVL_SFU│RCVL_SLU│RCVL_SRU
Aid_v={0, ..., 7}
Ainc_v=NOP│INC
sopc=NOP│SEND
aid_s={0, ..., 7}
ainc_s=NOP│INC
size=WORD│DWORD│QWORD
srcv=NONE│VMU│AMU│SLU│SRU
aid_r={0, ..., 7}
ainc_r=NOP│INC
aopc= NOP│IMM│LDBASE│LDOFFS│LDINCR│LDBOUND
aid_a={0, ..., 7}
imm_addr={0.0, ..., 524288.31}│{−262144.0, ..., 262143.31}
関連するアドレス指定、即ちいわゆるベースアドレスに関連するアドレス指定はベースレジスタbaseを必要とし、
ベースアドレスに関するオフセットはオフセットレジスタoffsに格納され、
インクリメントレジスタincrに記憶された値によってオフセットを前/後インクリメントし、
バウンドレジスタboundに記憶されたアドレスに関してモジュロアドレス指定を行う。
Claims (15)
- プロセッサと、物理メモリ内のデータにアクセスするための単一の大きさのメモリポートを有する前記物理メモリとを有する処理システムであって、
前記プロセッサは、少なくとも第1のデータサイズおよびそれよりも小さな第2のデータサイズのデータに対して演算を行うように配列され、
前記第1のデータサイズは、メモリポートの大きさと同等かまたはそれよりも小さく、
前記処理システムは、前記メモリポートに接続された前記第1のデータサイズの少なくとも1つのデータレジスタと、前記データレジスタおよび前記プロセッサに接続されて第2のサイズのデータ要素へのアクセスを可能とする前記第2のデータサイズの少なくとも1つのデータポートとを備える、処理システム。 - メモリポートの大きさは、前記第2のデータサイズの少なくとも2倍である、請求項1に記載の処理システム。
- 前記データポートは読み出しポートであり、前記処理システムは、読み出しアドレスの制御の下で前記データレジスタから前記第2のデータサイズのデータ要素を選択して抽出するマルチプレクサを備える、請求項2に記載の処理システム。
- 前記データポートは書き込みポートであり、前記処理システムは、書き込みアドレスの制御の下で前記データレジスタ内の選択可能な場所で前記第2のデータサイズのデータ要素を挿入するデマルチプレクサを備える、請求項2に記載の処理システム。
- 前記処理システムは、前記プロセッサに接続された前記第2のデータサイズの複数のデータポートと、前記各データポートに対して、前記各データポートおよび前記物理メモリのポートに接続された関連したそれぞれのデータレジスタとを備える、請求項1または2に記載の処理システム。
- 前記データポートは書き込みポートであり、前記処理システムは、前記データレジスタ内に格納されたデータを識別する情報を格納するための関連した整合性チェッカをデータレジスタ毎に含む可干渉性チェッカを備え、前記可干渉性チェッカは、メモリにアクセスするための読み出しアドレスを前記可干渉性レジスタに格納された識別情報と比較することによって、前記メモリからの読み出し対象となっているデータが前記データレジスタに格納されているデータと一致するかを確認する動作を行うことができる、請求項1に記載の処理システム。
- 前記識別情報は物理メモリ内のワードにアクセスするための物理アドレスを含み、前記ワードはメモリポートの幅を有している、請求項6に記載の処理システム。
- 前記可干渉性チェッカは、整合性の競合の可能性の検出に応じて補正ステップを行う競合解消装置を含む、請求項6に記載の処理システム。
- 前記競合解消装置は、読み出しアクセスに対して無効とするようにデータレジスタにマークを付けることによって補正ステップを行うように配列され、それによってデータレジスタへの読み出しアクセスに応答して前記メモリからデータレジスタの内容が再ロードされる、請求項8に記載の処理システム。
- 前記可干渉性チェッカは、各データレジスタ内に格納されたデータを識別する情報を格納するための可干渉性レジスタをデータレジスタ毎に含み、コレクタは、データレジスタの1つへの書き込みアクセスおよび/または物理メモリへの書き込みアクセスに応答して、データレジスタまたはメモリに書き込まれた内容を他のすべてのデータレジスタ、および/または識別情報に従って同一のデータを記憶しているメモリの記憶場所へコピーすることによって補正ステップを行うように配列されている、請求項5、6および8に記載の処理システム。
- 前記データレジスタの少なくとも1つ(以下「読み出しレジスタ」)は読み出しデータポートに接続され、前記データレジスタの少なくとも1つ(以下「書き込みレジスタ」)は書き込みデータポートに接続され、前記プロセッサは、前記書き込みレジスタから前記読み出しポートへデータを選択可能に供給するバイパス経路を備え、前記可干渉性チェッカは、関連するデータレジスタに格納されたデータを識別する情報を記憶するための可干渉性レジスタをデータレジスタ毎に含み、前記競合解消装置は、読み出しレジスタが前記識別情報に基づいて同一のデータ要素を記憶している場合は、書き込みレジスタへのデータの書き込みに応答して、読み出しレジスタへの連続的な読み出しアクセスを行うバイパス経路を作動させることによって補正ステップを行うように配列されている、請求項5、6および8に記載の処理システム。
- 前記物理メモリは、単一ポート型のSRAMに基づいている、請求項1に記載の処理システム。
- 前記物理メモリは、平行に配列された複数のRAMの列によって形成されている、請求項11に記載の処理システム。
- 前記プロセッサは、前記第1のデータサイズのベクトルおよび前記第2のデータサイズのスカラに対して演算を行うように配列され、第1のデータ幅は第2のデータ幅の少なくとも2倍である、請求項1に記載の処理システム。
- 前記メモリは前記プロセッサの中に埋め込まれる、請求項1に記載の処理システム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP02077034 | 2002-05-24 | ||
EP02078618 | 2002-09-04 | ||
PCT/IB2003/001891 WO2003100599A2 (en) | 2002-05-24 | 2003-05-07 | Access to a wide memory |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005527035A true JP2005527035A (ja) | 2005-09-08 |
Family
ID=29585702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004507986A Pending JP2005527035A (ja) | 2002-05-24 | 2003-05-07 | 幅の広いメモリへのアクセス |
Country Status (9)
Country | Link |
---|---|
US (1) | US7430631B2 (ja) |
EP (1) | EP1512068B1 (ja) |
JP (1) | JP2005527035A (ja) |
CN (1) | CN1656445B (ja) |
AT (1) | ATE372542T1 (ja) |
AU (1) | AU2003222411A1 (ja) |
DE (1) | DE60316151T2 (ja) |
TW (1) | TWI291096B (ja) |
WO (1) | WO2003100599A2 (ja) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7725745B2 (en) * | 2006-12-19 | 2010-05-25 | Intel Corporation | Power aware software pipelining for hardware accelerators |
US8489825B2 (en) | 2007-04-16 | 2013-07-16 | St-Ericsson Sa | Method of storing data, method of loading data and signal processor |
US8140771B2 (en) * | 2008-02-01 | 2012-03-20 | International Business Machines Corporation | Partial cache line storage-modifying operation based upon a hint |
US8117401B2 (en) | 2008-02-01 | 2012-02-14 | International Business Machines Corporation | Interconnect operation indicating acceptability of partial data delivery |
US8255635B2 (en) * | 2008-02-01 | 2012-08-28 | International Business Machines Corporation | Claiming coherency ownership of a partial cache line of data |
US8024527B2 (en) * | 2008-02-01 | 2011-09-20 | International Business Machines Corporation | Partial cache line accesses based on memory access patterns |
US8108619B2 (en) * | 2008-02-01 | 2012-01-31 | International Business Machines Corporation | Cache management for partial cache line operations |
US7958309B2 (en) | 2008-02-01 | 2011-06-07 | International Business Machines Corporation | Dynamic selection of a memory access size |
US8250307B2 (en) * | 2008-02-01 | 2012-08-21 | International Business Machines Corporation | Sourcing differing amounts of prefetch data in response to data prefetch requests |
US20090198910A1 (en) * | 2008-02-01 | 2009-08-06 | Arimilli Ravi K | Data processing system, processor and method that support a touch of a partial cache line of data |
US8266381B2 (en) * | 2008-02-01 | 2012-09-11 | International Business Machines Corporation | Varying an amount of data retrieved from memory based upon an instruction hint |
US8035537B2 (en) * | 2008-06-13 | 2011-10-11 | Lsi Corporation | Methods and apparatus for programmable decoding of a plurality of code types |
US7895381B2 (en) * | 2009-02-16 | 2011-02-22 | Himax Media Solutions, Inc. | Data accessing system |
US8117390B2 (en) * | 2009-04-15 | 2012-02-14 | International Business Machines Corporation | Updating partial cache lines in a data processing system |
US8176254B2 (en) * | 2009-04-16 | 2012-05-08 | International Business Machines Corporation | Specifying an access hint for prefetching limited use data in a cache hierarchy |
US8140759B2 (en) * | 2009-04-16 | 2012-03-20 | International Business Machines Corporation | Specifying an access hint for prefetching partial cache block data in a cache hierarchy |
CN101986287B (zh) * | 2010-11-25 | 2012-10-17 | 中国人民解放军国防科学技术大学 | 用于向量数据流的重整理缓冲器 |
US8688957B2 (en) | 2010-12-21 | 2014-04-01 | Intel Corporation | Mechanism for conflict detection using SIMD |
CA2859999A1 (en) * | 2011-01-25 | 2012-08-02 | Cognivue Corporation | Apparatus and method of vector unit sharing |
US10037205B2 (en) * | 2011-12-23 | 2018-07-31 | Intel Corporation | Instruction and logic to provide vector blend and permute functionality |
US9342479B2 (en) | 2012-08-23 | 2016-05-17 | Qualcomm Incorporated | Systems and methods of data extraction in a vector processor |
US9411592B2 (en) | 2012-12-29 | 2016-08-09 | Intel Corporation | Vector address conflict resolution with vector population count functionality |
US9411584B2 (en) | 2012-12-29 | 2016-08-09 | Intel Corporation | Methods, apparatus, instructions, and logic to provide vector address conflict detection functionality |
US9424034B2 (en) * | 2013-06-28 | 2016-08-23 | Intel Corporation | Multiple register memory access instructions, processors, methods, and systems |
CN104679584B (zh) * | 2013-11-28 | 2017-10-24 | 中国航空工业集团公司第六三一研究所 | 矢量上下文切换方法 |
EP3193254A4 (en) * | 2014-10-09 | 2017-10-11 | Huawei Technologies Co. Ltd. | Asynchronous instruction execution apparatus and method |
CN105337995B (zh) * | 2015-11-29 | 2019-06-21 | 恒宝股份有限公司 | 一种智能卡快速个人化方法及*** |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4949247A (en) * | 1988-02-23 | 1990-08-14 | Stellar Computer, Inc. | System for transferring multiple vector data elements to and from vector memory in a single operation |
US5379393A (en) * | 1992-05-14 | 1995-01-03 | The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations | Cache memory system for vector processing |
US5426754A (en) * | 1992-05-26 | 1995-06-20 | International Business Machines Corporation | Cross-interrogate method and means for combined scaler and vector processing system |
US5537606A (en) * | 1995-01-31 | 1996-07-16 | International Business Machines Corporation | Scalar pipeline replication for parallel vector element processing |
US5689653A (en) * | 1995-02-06 | 1997-11-18 | Hewlett-Packard Company | Vector memory operations |
US6006315A (en) * | 1996-10-18 | 1999-12-21 | Samsung Electronics Co., Ltd. | Computer methods for writing a scalar value to a vector |
US5928350A (en) * | 1997-04-11 | 1999-07-27 | Raytheon Company | Wide memory architecture vector processor using nxP bits wide memory bus for transferring P n-bit vector operands in one cycle |
-
2003
- 2003-05-07 EP EP03717500A patent/EP1512068B1/en not_active Expired - Lifetime
- 2003-05-07 CN CN038118084A patent/CN1656445B/zh not_active Expired - Lifetime
- 2003-05-07 DE DE60316151T patent/DE60316151T2/de not_active Expired - Lifetime
- 2003-05-07 JP JP2004507986A patent/JP2005527035A/ja active Pending
- 2003-05-07 AT AT03717500T patent/ATE372542T1/de not_active IP Right Cessation
- 2003-05-07 AU AU2003222411A patent/AU2003222411A1/en not_active Abandoned
- 2003-05-07 US US10/515,452 patent/US7430631B2/en not_active Expired - Lifetime
- 2003-05-07 WO PCT/IB2003/001891 patent/WO2003100599A2/en active IP Right Grant
- 2003-05-21 TW TW092113718A patent/TWI291096B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
EP1512068B1 (en) | 2007-09-05 |
DE60316151D1 (de) | 2007-10-18 |
WO2003100599A2 (en) | 2003-12-04 |
US7430631B2 (en) | 2008-09-30 |
US20050240729A1 (en) | 2005-10-27 |
AU2003222411A1 (en) | 2003-12-12 |
EP1512068A2 (en) | 2005-03-09 |
TWI291096B (en) | 2007-12-11 |
CN1656445B (zh) | 2010-05-05 |
AU2003222411A8 (en) | 2003-12-12 |
ATE372542T1 (de) | 2007-09-15 |
WO2003100599A3 (en) | 2004-07-22 |
DE60316151T2 (de) | 2009-10-22 |
TW200407705A (en) | 2004-05-16 |
CN1656445A (zh) | 2005-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2005527035A (ja) | 幅の広いメモリへのアクセス | |
US20230418764A1 (en) | Tracking streaming engine vector predicates to control processor execution | |
JP4339245B2 (ja) | スカラー/ベクトルプロセッサ | |
US11151033B1 (en) | Cache coherency in multiprocessor system | |
JP2001256105A (ja) | 非整列循環アドレス指定を用いるマイクロプロセッサ | |
US7568086B2 (en) | Cache for instruction set architecture using indexes to achieve compression | |
JP4657455B2 (ja) | データプロセッサ | |
KR100268747B1 (ko) | 데이터 처리 장치 | |
EP2372530A1 (en) | Data processing method and device | |
JP4624098B2 (ja) | プロセッサのアドレス発生ユニット | |
US5781763A (en) | Independent control of DMA and I/O resources for mixed-endian computing systems | |
WO2000022508A2 (en) | Forwarding paths and operand sharing in a digital signal processor | |
US5710914A (en) | Digital signal processing method and system implementing pipelined read and write operations | |
US7805590B2 (en) | Coprocessor receiving target address to process a function and to send data transfer instructions to main processor for execution to preserve cache coherence | |
US11900117B2 (en) | Mechanism to queue multiple streams to run on streaming engine | |
JP2004501470A (ja) | スキームレジスタを用いたメモリアドレスの生成 | |
WO2004053707A1 (en) | Method and apparatus for aligning operands for a processor | |
US6728741B2 (en) | Hardware assist for data block diagonal mirror image transformation | |
US7925862B2 (en) | Coprocessor forwarding load and store instructions with displacement to main processor for cache coherent execution when program counter value falls within predetermined ranges | |
CN117009287A (zh) | 一种于弹性队列存储的动态可重构处理器 | |
Van Berkel et al. | Address generation unit for a processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060508 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071218 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080317 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080325 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080611 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20080612 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081209 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090303 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20090413 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20090501 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110104 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110111 |