JP6058806B2 - ベクトルレジスタファイルの素子バンクに対するアドレスラインの選択的な結合 - Google Patents

ベクトルレジスタファイルの素子バンクに対するアドレスラインの選択的な結合 Download PDF

Info

Publication number
JP6058806B2
JP6058806B2 JP2015537735A JP2015537735A JP6058806B2 JP 6058806 B2 JP6058806 B2 JP 6058806B2 JP 2015537735 A JP2015537735 A JP 2015537735A JP 2015537735 A JP2015537735 A JP 2015537735A JP 6058806 B2 JP6058806 B2 JP 6058806B2
Authority
JP
Japan
Prior art keywords
address
hardware element
address line
address lines
lines
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
JP2015537735A
Other languages
English (en)
Other versions
JP2016500877A (ja
JP2016500877A5 (ja
Inventor
アジャイ・アナント・イングル
マーク・エム・ホフマン
ディーパック・マシュー
Original Assignee
クアルコム,インコーポレイテッド
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 クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2016500877A publication Critical patent/JP2016500877A/ja
Publication of JP2016500877A5 publication Critical patent/JP2016500877A5/ja
Application granted granted Critical
Publication of JP6058806B2 publication Critical patent/JP6058806B2/ja
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/30098Register arrangements
    • G06F9/30141Implementation provisions of register files, e.g. ports
    • 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/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • 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/30098Register arrangements
    • G06F9/30105Register structure
    • G06F9/30109Register structure having multiple operands in a single register
    • 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/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file

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)
  • Complex Calculations (AREA)
  • Static Random-Access Memory (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Description

本開示はベクトルレジスタファイルに関する。
技術の進歩により、コンピューティングデバイスは、より小型に、かつより高性能になっている。たとえば、現在、小型で、軽量で、ユーザが持ち運びやすい、ポータブルワイヤレス電話、携帯情報端末(PDA)、およびページングデバイスなどのワイヤレスコンピューティングデバイスを含む、様々なポータブルパーソナルコンピューティングデバイスが存在する。より具体的には、携帯電話およびインターネットプロトコル(IP)電話などのポータブルワイヤレス電話は、ワイヤレスネットワークを介して音声およびデータパケットを通信することができる。多くのそのようなワイヤレス電話は、エンドユーザに拡張機能を提供するために、追加のデバイスを組み込んでいる。たとえば、ワイヤレス電話は、デジタルスチルカメラ、デジタルビデオカメラ、デジタルレコーダ、およびオーディオファイルプレーヤを含むこともできる。また、そのようなワイヤレス電話は、インターネットにアクセスするために使用され得るウェブブラウザアプリケーションなどのソフトウェアアプリケーションを実行することができる。したがって、これらのワイヤレス電話は、かなりのコンピューティング能力を含むことができる。
ベクトルレジスタファイル(VRF)は、ベクトル処理において記憶機構として使用することができる。VRFは、N個の素子(たとえば、ベクトルレジスタ)を保持することができる。単一のVRFは、VRFの素子に対する読取り/書込み動作のための読取り/書込みポートに接続することができる。VRFの素子は、行と列によって画定されるグリッドパターン内に配置することができる。素子の各行は、どの特定の行が読取りポートに読み出すことができるか、または書込みポートによって更新することができるかを制御する、アドレスラインに接続することができる。読取りポートまたは書込みポートは、一度に1つの行にアクセスすることができる(すべての列にわたって、行はアドレスラインによって決定される)。
既存のVRFの実装形態では、異なる行のデータが読取り動作または書込み動作の対象とされたとき、行の各々は読取りポートまたは書込みポートによって順次アクセスすることができる。たとえば、データAとデータBの前半とを記憶するVRFの第1の素子、ならびにデータBの後半とデータCとを記憶するVRFの第2の素子を考える。データAとデータBの前半は、第1の行だが異なる列に記憶される。データBの後半とデータCは、第2の行だが異なる列に記憶される。既存のVRFの実装形態では、第1の素子および第2の素子の全体は、データBを読み取るか、またはデータBを書き込むときにアクセスされる(すなわち、第1の行と第2の行の両方がアクセスされる)。読取り動作または書込み動作に必要ではない素子(データAまたはデータC)にアクセスすると、さらなる電力が消費され、したがってVRFの電力効率が低減される。代替として、複数の読取りポートまたは書込みポートを使用することができる。各々の読取りポートまたは書込みポートが異なる行にアクセスすることができるが、読取りポートまたは書込みポートの数が増えるにつれて、電力消費および部品コストが増大する。
読取り動作または書込み動作に必要ではない素子にアクセスすると、または読取り動作または書込み動作のために複数の読取りポートまたは書込みポートを利用して素子にアクセスすると、VRFの電力効率が低減される可能性がある。本明細書に記載されるシステムおよび方法は、有利なことに、単一の読取りポートまたは書込みポートが、必要ではない素子にアクセスすることなく、読取り動作または書込み動作のためにVRF内の必要な素子にアクセスすることを可能にすることができる。単一の読取りポートまたは書込みポートを使用してVRFの異なる素子内のデータにアクセスすると、VRFの電力消費および部品コストを削減することができる。
たとえば、複数の素子バンクを有するベクトルレジスタファイル(VRF)は、単一の読取りポートおよび単一の書込みポートに接続することができる。複数の素子バンクの各々は、それぞれのマルチプレクサを介して、複数のアドレスラインに選択的に結合することができる。複数の素子バンクの各々の複数のアドレスラインへの選択的な結合を決定するために選択パターンを使用することができ、その結果、単一の読取りポートまたは書込みポートは、読取り動作または書込み動作によって指定された素子にアクセスすることができる。
特定の実施形態では、装置は、複数の素子バンクを含むベクトルレジスタファイルを含む。装置はまた、複数の素子バンクの各々に選択的に結合された複数のアドレスラインと、複数のアドレスラインのうちの1つによって選択的にアドレス指定された素子バンクの各々の中に記憶されたデータにアクセスするように構成された単一の読取りポートとを含む。複数の素子バンクのうちの少なくとも第1の素子バンクは、複数のアドレスラインのうちの第1のアドレスラインに選択的に結合される。
別の特定の実施形態では、方法は、選択パターンに従って、ベクトルレジスタファイルの複数の素子バンクのうちの第1の素子バンクに、複数のアドレスラインのうちの第1のアドレスラインおよび複数のアドレスラインのうちの第2のアドレスラインを選択的に結合することを含む。方法はまた、単一の読取りポートを介して、第1のアドレスラインによって選択的にアドレス指定された第1の素子バンクの中に記憶されたデータにアクセスすることを含む。
別の特定の実施形態では、装置は、複数の素子バンクを含むベクトルレジスタファイルを含む。装置はまた、複数の素子バンクの各々に選択的に結合された複数のアドレスラインを含む。装置はさらに、複数のアドレスラインのうちの1つによって選択的にアドレス指定された複数の素子バンクの各々の中にデータを記憶するように構成された単一の書込みポートを含む。複数の素子バンクのうちの少なくとも1つは、複数のアドレスラインのうちの第1のアドレスラインに選択的に結合される。
別の特定の実施形態では、方法は、選択パターンに従って、ベクトルレジスタファイルの複数の素子バンクのうちの第1の素子バンクに、複数のアドレスラインのうちの第1のアドレスラインおよび複数のアドレスラインのうちの第2のアドレスラインを選択的に結合することを含む。方法はまた、単一の書込みポートを介して、第1のアドレスラインによって選択的にアドレス指定された第1の素子バンクの中にデータを記憶することを含む。
別の特定の実施形態では、装置はベクトルデータを記憶するための手段を含み、記憶するための手段は複数の素子バンクを含む。装置はまた、記憶するための手段の複数の素子バンクの各々に、複数のアドレスラインを選択的に結合するための手段を含む。装置はさらに、単一の読取りポートを介して、複数のアドレスラインのうちの1つによって選択的にアドレス指定された素子バンクの各々の中に記憶されたデータにアクセスするための手段を含む。素子バンクのうちの少なくとも第1の素子バンクは、複数のアドレスラインのうちの第1のアドレスラインに選択的に結合され、複数の素子バンクのうちの第2の素子バンクは、複数のアドレスラインのうちの第2のアドレスラインに選択的に結合される。
別の特定の実施形態では、非一時的コンピュータ可読媒体は、ベクトルレジスタファイルの複数の素子バンクの各々に複数のアドレスラインを選択的に結合するために、選択パターンをプロセッサに生成させるプロセッサ実行可能命令を含む。非一時的コンピュータ可読媒体はまた、単一の読取りポートを介して、複数のアドレスラインのうちの1つによって選択的にアドレス指定された素子バンクの各々の中に記憶されたデータに、プロセッサにアクセスさせるプロセッサ実行可能命令を含む。素子バンクのうちの少なくとも1つは、複数のアドレスラインのうちの第1のアドレスラインに選択的に結合され、複数の素子バンクのうちの第2の素子バンクは、複数のアドレスラインのうちの第2のアドレスラインに選択的に結合される。
別の特定の実施形態では、装置はベクトルデータを記憶するための手段を含み、記憶するための手段は複数の素子バンクを含む。装置はまた、記憶するための手段の複数の素子バンクの各々に、複数のアドレスラインを選択的に結合するための手段を含む。装置はさらに、単一の書込みポートを介して、複数のアドレスラインのうちの1つによって選択的にアドレス指定された素子バンクの各々の中にデータを書き込むための手段を含む。複数の素子バンクのうちの少なくとも第1の素子バンクは、複数のアドレスラインのうちの第1のアドレスラインに選択的に結合され、複数の素子バンクのうちの第2の素子バンクは、複数のアドレスラインのうちの第2のアドレスラインに選択的に結合される。
別の特定の実施形態では、非一時的コンピュータ可読媒体は、ベクトルレジスタファイルの複数の素子バンクの各々に複数のアドレスラインを選択的に結合するために、選択パターンをプロセッサに生成させるプロセッサ実行可能命令を含む。非一時的コンピュータ可読媒体はまた、単一の書込みポートを介して、複数のアドレスラインのうちの1つによって選択的にアドレス指定された素子バンクの各々の中に、プロセッサにデータを記憶させるプロセッサ実行可能命令を含む。複数の素子バンクのうちの少なくとも第1の素子バンクは、複数のアドレスラインのうちの第1のアドレスラインに選択的に結合され、複数の素子バンクのうちの第2の素子バンクは、複数のアドレスラインのうちの第2のアドレスラインに選択的に結合される。
開示された実施形態のうちの少なくとも1つによって提供される1つの特定の利点は、動作(たとえば、読取り動作または書込み動作)の間にVRFの複数の異なる素子にアクセスする単一のデバイス(たとえば、読取りポートまたは書込みポート)の能力であり、それは、複数の読取りポートまたは書込みポートを使用することと比較して、向上した電力効率(たとえば、VRFによって削減された電力消費)をもたらすことができる。
本開示の他の態様、利点、および特徴は、以下のセクション、すなわち、図面の簡単な説明、発明を実施するための形態、および特許請求の範囲を含む、本出願全体の検討後に明らかになろう。
単一の読取りポートがベクトルレジスタファイルの異なる素子にアクセスすることを可能にするように動作可能なシステムの特定の実施形態を示す図である。 単一の書込みポートがベクトルレジスタファイルの異なる素子にアクセスすることを可能にするように動作可能なシステムの特定の実施形態を示す図である。 図1のベクトルレジスタファイル内の素子に関するマージ読取り動作の特定の実施形態を示す図である。 図1のベクトルレジスタファイル内の素子に関する分割書込み動作の特定の実施形態を示す図である。 図1のシステムにおける動作方法の特定の実施形態を示すフローチャートである。 図2のシステムにおける動作方法の特定の実施形態を示すフローチャートである。 単一の読取りポートおよび/または単一の書込みポートがベクトルレジスタファイルの異なる素子にアクセスすることを可能にするように動作可能な構成要素を含む通信デバイスのブロック図である。
図1は、単一の読取りポートがベクトルレジスタファイルの異なる素子にアクセスすることを可能にするように動作可能なシステム100の特定の実施形態を示す図である。システム100は、ベクトルレジスタファイル(VRF)102、読取りポート104、ならびにマルチプレクサ(MUX)106、108、110、112、114、116、118、および120を含むことができる。VRF102は、素子バンク122、124、126、128、130、132、134、および136を含むことができる。読取りポート104は、素子バンク122〜136に記憶されたデータにアクセスし、アクセスされたデータを他のエンティティ(たとえば、ベクトル算術モジュール)による使用のために保持するように構成することができる。読取りポート104は、それぞれ、対応する読取りデータライン138、140、142、144、146、148、150、および152を介して、素子バンク122〜136に結合することができる。各読取りデータライン138〜152は、複数のビットを含むことができる(たとえば、各読取りデータラインは32ビットであり得る)。
MUX106〜120は、それぞれ、結線154、156、158、160、162、164、166、および168を介して、素子バンク122〜136にそれぞれ結合することができる。各MUX106〜120は、(A[X]と示された)第1のアドレスライン170および(A[Y]と示された)第2のアドレスライン172などの複数のアドレスラインに結合することができる。MUX106〜120は、VRF102、読取りポート104、またはそれらの組合せと統合することができる。特定の実施形態では、各MUX106〜120は、2対1(2つの入力と1つの出力)MUXである。各MUX106〜120の第1の入力および第2の入力は、それぞれ、第1のアドレスライン170および第2のアドレスライン172に接続することができる。各MUX106〜120の出力は、図示されたように結線154〜168を介して、対応する素子バンク122〜136に結合することができる。共通データセレクタ174は、第1の入力または第2の入力をMUXの出力に選択的に結合するために、各MUX106〜120のセレクタポートに接続することができる。
各素子バンク122〜136は、複数の素子を有することができる。特定の実施形態では、各素子バンク122〜136は、32個の素子(たとえば、32個の入口または行)を有する。素子バンク122〜136は、素子バンク122〜136が複数の列(たとえば、8個の列)を表すことができるように、グリッドパターンに従ってVRF102内で配置することができる。各素子バンク122〜136は、同じアドレス指定方式を実装して、特定の素子バンクを有する各素子をアドレス指定することができ、データを記憶するように構成することができる。各素子バンク122〜136は、特定のレジスタ名を有するベクトルレジスタであり得、(たとえば、名前により)特定のベクトルレジスタを参照する命令によってアクセス可能であり得る。特定の実施形態では、素子バンク122〜136の各素子は、単一命令複数データ(SIMD)処理用のアドレスデコーダを有するランダムアクセスメモリ(RAM)構造である。
読取り動作中に、共通データセレクタ174は、複数の値(たとえば、ビット)を含むことができる選択パターン176を受信することができる。各値は、読取り動作に必要な特定の素子バンク内の素子のアドレスに対応することができる。選択パターン176は、プロセッサによって生成される命令の一部であり得る。図1では、選択パターン176は、{X、X、Y、Y、X、X、Y、X}であり、素子バンク122内のアドレスXに位置する素子(たとえば、素子バンク122の行Xに位置する素子)、素子バンク124内のアドレスXに位置する素子、素子バンク126内のアドレスYに位置する素子、素子バンク128内のアドレスYに位置する素子、素子バンク130内のアドレスXに位置する素子、素子バンク132内のアドレスXに位置する素子、素子バンク134内のアドレスYに位置する素子、および素子バンク136内のアドレスXに位置する素子に対応する。第1のアドレスライン170および第2のアドレスライン172は、それぞれ、アドレスXおよびアドレスYを含むことができる。特定の実施形態では、アドレスYはアドレスXの関数として計算され、逆の場合もあり得る。
各MUX106〜120は、共通データセレクタ174において受信された選択パターン176に従って、各素子バンク122〜136に第1のアドレスライン170または第2のアドレスライン172を選択的に結合することができる。選択的な結合に基づいて、(アドレスXを含む)第1のアドレスライン170または(アドレスYを含む)第2のアドレスライン172により、各素子バンク122〜136内のアドレスXまたはアドレスYに位置する特定の素子が、結線154〜168を介してそれぞれ選択されること、および特定の素子の中に記憶されたデータが、読取りデータライン138〜152を介して単一の読取りポート104に読み出されることが可能になり得る。選択パターン176の値に基づいて、素子バンク122〜136のうちのいくつかは、共通のアドレスラインに結合されてよい(たとえば、素子バンク122および素子バンク124が両方とも第1のアドレスライン170に結合される)が、素子バンク122〜136のうちの他のいくつかの素子バンクは、異なるアドレスラインに結合されてよい(たとえば、素子バンク122が第1のアドレスライン170に結合され、素子バンク126が第2のアドレスライン172に結合される)。
図1は2つのアドレスラインを示すが、任意の数のアドレスラインを使用することができ、その数のアドレスラインに適応するために、異なるサイズのMUXまたは他の選択機構を使用できることを理解されたい。図1はVRF102内の8個の素子バンクを示すが、他の実施形態では、VRF102は、より多いまたはより少ない素子バンクを有し得る。代替または追加として、VRF102は、図2を参照してさらに記載されるように、単一の書込みポートに接続することができる。
システム100は、こうして、単一のデバイス(たとえば、読取りポート104)が読取り動作中にVRFの異なる素子(たとえば、異なる行)に同時にアクセスすることを可能にすることができ、これにより、VRFの電力消費を削減することができる。
図2は、単一の書込みポートがベクトルレジスタファイルの異なる素子にアクセスすることを可能にするように動作可能であり、全体的に200と示されるシステムの特定の実施形態を示す図である。図2に示されたように、VRF102は、書込みポート202に接続することができる。書込みポート202は、それぞれ、書込みデータライン204、206、208、210、212、214、216、および218を介して、素子バンク122〜136の素子にデータを記憶するように構成することができる。書込みポート202は、データソース(たとえば、命令ユニット)から、素子バンク122〜136の素子に記憶されるべきデータを受信することができる。
書込み動作中に、共通データセレクタ174は、選択パターン176を受信することができる。各MUX106〜120は、選択パターン176に従って、各素子バンク122〜136に第1のアドレスライン170または第2のアドレスライン172を選択的に結合することができる。選択的な結合に基づいて、(アドレスXを含む)第1のアドレスライン170または(アドレスYを含む)第2のアドレスライン172により、各素子バンク122〜136内のアドレスXまたはアドレスYに位置する特定の素子が、結線154〜168を介してそれぞれ選択されること、および書込みポート202が特定の選択された素子にデータをそれぞれ記憶することが可能になり得る。
システム200は、こうして、単一のデバイス(たとえば、書込みポート202)が書込み動作中にVRFの異なる素子(たとえば、異なる行)に対する書込みアクセスを同時に実現することを可能にすることができ、これにより、VRFの電力消費を削減することができる。
図3は、図1のVRF102内の素子に関するマージ読取り動作の特定の実施形態を示す図であり、全体的に300と示される。素子に関するマージ読取り動作は、ベクトル302およびベクトル304上で実行することができる。ベクトル302およびベクトル304の各々は、図1の素子バンク122〜136にわたって特定のアドレスに位置するそれぞれの素子を含むことができる。
ベクトル302は、第1のサブベクトル306および第2のサブベクトル308を有することができる。第1のサブベクトル306は、図1の素子バンク122、124、126、および128からアドレスXにそれぞれ位置する素子に対応することができる。第2のサブベクトル308は、図1の素子バンク130、132、134、および136からアドレスXにそれぞれ位置する素子に対応することができる。ベクトル304は、第3のサブベクトル310および第4のサブベクトル312を有することができる。第3のサブベクトル310は、素子バンク122、124、126、および128からアドレスYにそれぞれ位置する素子に対応することができる。第4のサブベクトル312は、素子バンク130、132、134、および136からアドレスYにそれぞれ位置する素子に対応することができる。
素子に関するマージ読取り動作は、第2のサブベクトル308および第3のサブベクトル310を指定することができる。たとえば、第2のサブベクトル308および第3のサブベクトル310は、所望のデータ項目(たとえば、ワード、半ワード、またはバイト)を総称して表すことができる。読取りポート(たとえば、図1の読取りポート104)が、ベクトル302およびベクトル304から、指定された素子に記憶されたデータを読み取ることを可能にするために、必要な素子のアドレスに対応する選択パターン(たとえば、{Y、Y、Y、Y、X、X、X、X}の選択パターン)は、共通データセレクタ(たとえば、図1の共通データセレクタ174)を介して入力することができる。第1のサブベクトル306および第4のサブベクトル312は、素子に関するマージ読取り動作の間、読取りポートによってアクセスされない場合がある。指定された素子に記憶されたデータは、ベクトル314として(読取りポートに)記憶することができる。たとえば、ベクトル314の第1の素子316は、図1の素子バンク120のアドレスYに位置する素子に記憶されたデータに対応することができ、ベクトル314の第2の素子318は、図1の素子バンク136のアドレスXに位置する素子に記憶されたデータに対応することができる。
図示されたように、読取り動作の終了時に、第1の素子316は、ベクトル314の最初の素子として配置することができ、第2の素子318は、ベクトル314の最後の素子として配置することができる。ベクトル314内の素子が特定の順序で順次アクセスされ得るように、ベクトル314内の素子の順序は、(たとえば、読取りポート104により、命令に従ってプロセッサにより、などで)操作することができる。たとえば、行Xおよび行Yが隣接する場合、サブベクトル308およびサブベクトル310は、ワードが次の行と重複する状態を表すことができる。読取り動作の後、サブベクトル308およびサブベクトル310の順序は、VRF102から読み取られた重複ワードを表すために、反転することができる。
図4は、図1のベクトルレジスタファイル102内の素子に関する分割書込み動作の特定の実施形態を示す図であり、全体的に400と示される。素子に関する分割書込み動作中に、ベクトル402は、VRFのベクトル404およびベクトル406に記憶されるべきデータを有することができる。特定の実施形態では、ベクトル402は、ベクトル406に記憶されるべきデータを含む第1のサブベクトル408を有する。加えて、ベクトル402は、ベクトル404に記憶されるべきデータを含む第2のサブベクトル410を有する。第1のサブベクトル408は、素子バンク122〜128のアドレスYにそれぞれ位置する素子に記憶されるべきデータに対応することができる。第2のサブベクトル410は、素子バンク130〜136のアドレスXにそれぞれ位置する素子に記憶されるべきデータに対応することができる。
ベクトル404は、図1の素子バンク122〜128のアドレスXにそれぞれ位置する素子に対応する第3のサブベクトル412と、図1の素子バンク130〜136のアドレスXにそれぞれ位置する素子に対応する第4のサブベクトル414とを有することができる。ベクトル406は、図1の素子バンク122〜128のアドレスYにそれぞれ位置する素子に対応する第5のサブベクトル416と、図1の素子バンク130〜136のアドレスYにそれぞれ位置する素子に対応する第6のサブベクトル418とを有することができる。
書込みポート(たとえば、図2の書込みポート202)が、ベクトル404およびベクトル406の指定された素子にデータを記憶することを可能にするために、分割書込み動作によって指定された素子のアドレスに対応する選択パターン(たとえば、{Y、Y、Y、Y、X、X、X、X}の選択パターン)は、共通データセレクタ(たとえば、共通データセレクタ174)を介して入力することができる。素子に関する分割書込み動作の後、第1のサブベクトル408からのデータは、第5のサブベクトル416に記憶することができ、第2のサブベクトル410からのデータは、第4のサブベクトル414に記憶することができる。書込みポートは、第3のサブベクトル412および第6のサブベクトル418にデータを記憶しないか、またはそれらにアクセスしない場合がある。特定の実施形態では、書込みポート(たとえば、図2の書込みポート202)は、特定の選択パターンに従って(たとえば、第1のサブベクトル408内のデータと第2のサブベクトル410内のデータの順序が維持されるように)、第1のサブベクトル408からのデータを第4のサブベクトル414に、第2のサブベクトル410からのデータを第5のサブベクトル416に記憶する。
図3の素子に関するマージ読取り動作および図4の素子に関する分割書込み動作は、単一の命令の間に完了させることができる。特定の実施形態では、図1のVRF102はプロセッサに統合され、プロセッサは、単一の命令の間、読取りポート104に命令して、読取りデータとして素子に関するマージ読取り動作用のデータにアクセス(かつそれを記憶)し、データを修正し、書込みポート202に命令して、修正されたデータで(たとえば、修正されたデータをVRF102に記憶することによって)VRF102を更新するように構成される。
図5は、図1のシステム100における動作方法500の特定の実施形態を示すフローチャートである。方法500は、502で、選択パターンに従って、ベクトルレジスタファイルの複数の素子バンクのうちの第1の素子バンクに、複数のアドレスラインのうちの第1のアドレスラインを選択的に結合することを含み得る。たとえば、図1では、MUX106〜120は、選択パターン176に従って、素子バンク122、124、130、132、および136に、第1のアドレスライン170を選択的に結合することができる。方法500はまた、504で、単一の読取りポートを介して、第1のアドレスラインによって選択的にアドレス指定された第1の素子バンクの中に記憶されたデータにアクセスすることを含み得る。たとえば、図1では、読取りポート104は、選択パターン176に従って、各素子バンク122〜136のアドレスXまたはアドレスYに位置する特定の素子に記憶されたデータにアクセスすることができる。
図6は、図2のシステム200における動作方法600の特定の実施形態を示すフローチャートである。方法600は、602で、選択パターンに従って、ベクトルレジスタファイルの複数の素子バンクのうちの第1の素子バンクに、複数のアドレスラインのうちの第1のアドレスラインを選択的に結合することを含み得る。たとえば、図2では、MUX106〜120は、選択パターン176に従って、素子バンク122、124、130、132、および136に、第1のアドレスライン170を選択的に結合することができる。方法600はまた、604で、単一の書込みポートを介して、第1のアドレスラインによって選択的にアドレス指定された第1の素子バンクの中にデータに記憶することを含み得る。たとえば、図2では、書込みポート202は、選択パターン176に従って、各素子バンク122〜136のアドレスXまたはアドレスYに位置する特定の素子にデータに記憶することができる。
図7は、記載された教示により、ベクトルレジスタファイルの異なる素子にアクセスすることを可能にするように動作可能な構成要素を含む、通信デバイス700のブロック図である。さらに、図5および図6に記載された方法のすべてまたは一部は、通信デバイス700において、または通信デバイス700によって実行することができる。通信デバイス700は、メモリ706に結合されたプロセッサ704(たとえば、デジタル信号プロセッサ(DSP)または中央処理装置(CPU))を含み得る。プロセッサ704は、VRF702の複数の素子バンクの各々に複数のアドレスラインを選択的に結合することをサポートすることができるVRF702を含み得る。プロセッサ704はMUX732を含み得る。VRF702は、図1および図2のVRF102であり得る。VRF702は、図1の読取りポート104、図2の書込みポート202、またはそれらの組合せを含み得る。MUX732は、図1のMUX106〜120であり得る。
メモリ706は、命令730を記憶する非一時的な有形のコンピュータ可読記憶デバイスおよび/またはプロセッサ可読記憶デバイスであり得る。命令730は、図5および図6を参照して記載された方法などの、本明細書に記載された1つまたは複数の機能または方法を実行するように、プロセッサ704によって実行可能であり得る。図7は、通信デバイス700が、プロセッサ704およびディスプレイ718に結合されたディスプレイコントローラ716を含み得ることを示す。コーダ/デコーダ(コーデック)714も、プロセッサ704に結合することができる。スピーカ722およびマイクロフォン724は、コーデック714に結合することができる。図7はまた、ワイヤレスコントローラ708がプロセッサ704に結合され得るがあることを示し、ワイヤレスコントローラ708は、送受信機710を介してアンテナ712と通信している。したがって、ワイヤレスコントローラ708、送受信機710、およびアンテナ712は、通信デバイス700によるワイヤレス通信を可能にするワイヤレスインターフェースを表すことができる。通信デバイス700は多数のワイヤレスインターフェースを含み得、様々なワイヤレスネットワークは、様々なネットワーキング技術またはネットワーキング技術の組合せをサポートするように構成される。たとえば、通信デバイス700は、IEEE802.11ワイヤレスインターフェースを含み得る。
特定の実施形態では、プロセッサ704、ディスプレイコントローラ716、メモリ706、コーデック714、ワイヤレスコントローラ708、および送受信機710は、システムインパッケージデバイスまたはシステムオンチップデバイス728に含まれる。特定の実施形態では、入力デバイス720および電源726は、システムオンチップデバイス728に結合される。その上、特定の実施形態では、図7に示されているように、ディスプレイデバイス718、入力デバイス720、スピーカ722、マイクロフォン724、アンテナ712、および電源726は、システムオンチップデバイス728の外部にある。しかしながら、ディスプレイデバイス718、入力デバイス720、スピーカ722、マイクロフォン724、アンテナ712、および電源726の各々は、インターフェースまたはコントローラなどのシステムオンチップデバイス728の構成要素に結合することができる。
記載された実施形態と連携して、装置は、ベクトルデータを記憶するための手段を含み得、記憶するための手段は複数の素子バンクを含む。たとえば、記憶するための手段は、図1のVRF102、図1の素子バンク122〜136、図7のVRF702、ベクトルデータを記憶するように構成された1つもしくは複数の他のデバイス、またはそれらの組合せを含み得る。装置はまた、記憶するための手段の複数の素子バンクの各々に、複数のアドレスラインを選択的に結合するための手段を含み得る。たとえば、選択的に結合するための手段は、MUX106〜120、図1の共通データセレクタ174、図7のMUX732、VRFの素子バンクに複数のアドレスラインを選択的に結合するように構成された1つもしくは複数のデバイス、またはそれらの組合せを含み得る。装置はまた、単一の読取りポートを介して、複数のアドレスラインのうちの1つによって選択的にアドレス指定された素子バンクの各々の中に記憶されたデータにアクセスするための手段を含み得る、素子バンクのうちの少なくとも第1の素子バンクは、複数のアドレスラインのうちの第1のアドレスラインに選択的に結合され、素子バンクのうちの第2の素子バンクは、複数のアドレスラインのうちの第2のアドレスラインに選択的に結合される。たとえば、アクセスするための手段は、図1の読取りデータライン138〜152のうちの1つもしくは複数の読取りデータライン、単一の読取りポートを介してデータにアクセスするように構成された1つもしくは複数のデバイス、またはそれらの組合せを含み得る。
別の装置は、ベクトルデータを記憶するための手段を含み得、記憶するための手段は複数の素子バンクを含む。たとえば、記憶するための手段は、VRF102、図1の素子バンク122〜136、図7のVRF702、ベクトルデータを記憶するように構成された1つもしくは複数の他のデバイス、またはそれらの組合せを含み得る。装置はまた、記憶するための手段の複数の素子バンクの各々に、複数のアドレスラインを選択的に結合するための手段を含み得る。たとえば、選択的に結合するための手段は、図1のMUX106〜120、図1の共通データセレクタ174、図7のMUX732、VRFの素子バンクに複数のアドレスラインを選択的に結合するように構成された1つもしくは複数のデバイス、またはそれらの組合せを含み得る。装置はさらに、単一の書込みポートを介して、複数のアドレスラインのうちの1つによって選択的にアドレス指定された複数の素子バンクの各々の中にデータを記憶するように書き込むための手段を含み得、複数の素子バンクのうちの少なくとも第1の素子バンクは、複数のアドレスラインのうちの第1のアドレスラインに選択的に結合され、複数の素子バンクのうちの第2の素子バンクは、複数のアドレスラインのうちの第2のアドレスラインに選択的に結合される。たとえば、書き込むための手段は、図2の書込みデータライン204〜218のうちの1つもしくは複数の書込みデータライン、単一の書込みポートを介してデータを記憶するように構成された1つもしくは複数のデバイス、またはそれらの組合せを含み得る。
開示された実施形態のうちの1つまたは複数は、通信デバイス、固定位置データユニット、可動位置データユニット、モバイル電話、携帯電話、コンピュータ、タブレット、ポータブルコンピュータ、またはデスクトップコンピュータを含み得る、システムまたは装置に実装することができる。加えて、システムまたは装置は、セットトップボックス、エンターテインメントユニット、ナビゲーションデバイス、携帯情報端末(PDA)、モニタ、コンピュータモニタ、テレビジョン、チューナ、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、ビデオプレーヤ、デジタルビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、ポータブルデジタルビデオプレーヤ、データもしくはコンピュータ命令を記憶するか取り出す任意の他のデバイス、またはそれらの組合せを含み得る。別の例示的な非限定的な例として、システムまたは装置は、モバイル電話、ハンドヘルドパーソナル通信システム(PCS)ユニット、携帯情報端末などのポータブルデータユニット、全地球測位システム(GPS)対応デバイス、ナビゲーションデバイス、メータ読取り機器などの固定位置データユニット、または、データもしくはコンピュータ命令を記憶するか取り出す任意の他のデバイス、あるいはそれらの任意の組合せなどの、リモートユニットを含み得る。図1〜図7のうちの1つまたは複数は、本開示の教示に従ったシステム、装置、および/または方法を示すことができるが、本開示は、これらの示されたシステム、装置、および/または方法に限定されない。本開示の実施形態は、メモリ、プロセッサ、およびオンチップ回路を含む集積回路を含む任意のデバイスにおいて、適切に採用することができる。
本明細書で「第1の」、「第2の」などの呼称を使用する要素へのいかなる参照も、全体的にそれらの要素の量または順序を限定しないことを理解されたい。むしろ、これらの呼称は、2つ以上の要素の間、または要素の例の間を区別する都合のよい方法として、本明細書で使用され得る。したがって、第1の要素および第2の要素への参照は、2つの要素のみが採用され得ること、または何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。また、別段に記載されていない限り、要素のセットは1つまたは複数の要素を含み得る。加えて、説明または特許請求の範囲で使用される「A、B、またはCのうちの少なくとも1つ」という形態の用語は、「AもしくはBもしくはC、またはこれらの要素の任意の組合せ」を意味する。
本明細書で使用する「決定」という用語は、多種多様なアクションを包含する。たとえば、「決定」は、計算、算出、処理、導出、調査、探索(たとえば、テーブル、データベース、または別のデータ構造内の探索)、確認などを含み得る。また、「決定」は、受信(たとえば、情報を受信すること)、アクセス(たとえば、メモリ内のデータにアクセスすること)などを含み得る。また、「決定」は、解決、選択、選出、および確立などを含み得る。さらに、本明細書で使用する「チャネル幅」は、いくつかの態様では帯域幅を包含し得、または帯域幅と呼ばれる場合もある。
本明細書で使用する、項目のリスト「のうちの少なくとも1つ」を指すフレーズは、単一のメンバを含む、それらの項目の任意の組合せを指す。一例として、「a、b、またはcのうちの少なくとも1つ」は、a、b、c、a〜b、a〜c、b〜c、およびa〜b〜cを包含するものである。
様々な例示的な構成要素、ブロック、構成、モジュール、回路、およびステップについて、概してそれらの機能に関して上述されている。そのような機能がハードウェアとして実装されるか、またはプロセッサ実行可能命令として実装されるかは、特定の適用例およびシステム全体に課された設計制約に依存する。加えて、上述された方法の様々な動作は、様々なハードウェア構成要素および/もしくはソフトウェア構成要素、回路、ならびに/またはモジュールなどの、動作を実行することが可能な任意の適切な手段によって実行することができる。一般に、図1〜図7に示された任意の動作は、動作を実行することが可能な対応する機能手段によって実行することができる。当業者は、記載された機能を特定の適用例ごとに様々な方法で実装することができるが、そのような実装の決定は、本開示の範囲からの逸脱をもたらすものと解釈されるべきではない。
本開示に関連して記載された様々な例示的な論理ブロック、構成、モジュール、回路、およびアルゴリズムステップは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス(PLD)、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素(たとえば、電子ハードウェア)、プロセッサによって実行されるコンピュータソフトウェア、または本明細書に記載された機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行され得ることを、当業者はさらに諒解されよう。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の市販のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または、任意の他のそのような構成として実装することができる。
1つまたは複数の態様では、記載された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装することができる。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶することができる。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む、コンピュータ可読記憶媒体および通信媒体を含む。記憶媒体は、コンピュータによってアクセスすることができる、任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、プログラマブル読取り専用メモリ(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、コンパクトディスク読取り専用メモリ(CD-ROM)、他の光学ディスクストレージ、磁気ディスクストレージ、磁気記憶デバイス、または、命令もしくはデータ構造の形で所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る任意の他の媒体を含むことができる。代替として、コンピュータ可読媒体(たとえば、記憶媒体)は、プロセッサと一体であり得る。プロセッサおよび記憶媒体は、特定用途向け集積回路(ASIC)内に存在し得る。ASICは、コンピューティングデバイスまたはユーザ端末内に存在し得る。代替として、プロセッサおよび記憶媒体は、コンピューティングデバイスまたはユーザ端末内の個別構成要素として存在し得る。
本明細書で開示された方法は、記載された方法を実現するための1つまたは複数のステップまたはアクションを含む。方法のステップおよび/またはアクションは、特許請求の範囲から逸脱することなく、互いに置き換えることができる。言い換えれば、ステップまたはアクションの特定の順序が指定されない限り、特定のステップおよび/またはアクションの順序および/または使用は、特許請求の範囲から逸脱することなく修正することができる。
したがって、いくつかの態様は、本明細書で提示された動作を実行するためのコンピュータプログラム製品を含み得る。たとえば、そのようなコンピュータプログラム製品は、本明細書に記載された動作を実行するために、1つまたは複数のプロセッサによって実行可能な命令を記憶(および/または符号化)したコンピュータ可読記憶媒体を含み得る。いくつかの態様では、コンピュータプログラム製品はパッケージング材料を含み得る。
ソフトウェアまたは命令は、伝送媒体を介して送信され得る。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、伝送媒体の定義に含まれる。
さらに、本明細書に記載された方法および技法を実行するためのモジュールおよび/または他の適切な手段は、適用可能な場合、ユーザ端末および/または基地局によってダウンロードおよび/または場合によっては取得され得ることを諒解されたい。代替として、本明細書に記載された様々な方法は、記憶手段(たとえば、RAM、ROM、またはコンパクトディスク(CD)などの物理的な記憶媒体)を介して提供することができる。その上、本明細書に記載された方法および技法を提供するための任意の他の適切な技法を利用することができる。
特許請求の範囲は、上記に示された厳密な構成および構成要素に限定されないことを理解されたい。開示された実施形態のこれまでの説明は、当業者が開示された実施形態を作成または使用することが可能になるように提供される。上記は本開示の態様を対象としているが、本開示の他の態様およびさらなる態様は、本開示の基本的な範囲から逸脱することなく考案することができ、本開示の範囲は、以下の特許請求の範囲によって決定される。本開示または特許請求の範囲から逸脱することなく、本明細書に記載された実施形態の構成、動作および詳細において、様々な修正、変更および変形を行うことができる。したがって、本開示は、本明細書の実施形態に限定されるものではなく、以下の特許請求の範囲およびその均等物によって定義される原理および新規の特徴に整合する、可能な最大の範囲を与えられるべきである。
100 システム
102 ベクトルレジスタファイル(VRF)
104 読取りポート
106 マルチプレクサ(MUX)
108 マルチプレクサ(MUX)
110 マルチプレクサ(MUX)
112 マルチプレクサ(MUX)
114 マルチプレクサ(MUX)
116 マルチプレクサ(MUX)
118 マルチプレクサ(MUX)
120 マルチプレクサ(MUX)
122 素子バンク
124 素子バンク
126 素子バンク
128 素子バンク
130 素子バンク
132 素子バンク
134 素子バンク
136 素子バンク
138 読取りデータライン
140 読取りデータライン
142 読取りデータライン
144 読取りデータライン
146 読取りデータライン
148 読取りデータライン
150 読取りデータライン
152 読取りデータライン
154 結線
156 結線
158 結線
160 結線
162 結線
164 結線
166 結線
168 結線
170 第1のアドレスライン
172 第2のアドレスライン
174 共通データセレクタ
176 選択パターン
200 システム
202 書込みポート
204 書込みデータライン
206 書込みデータライン
208 書込みデータライン
210 書込みデータライン
212 書込みデータライン
214 書込みデータライン
216 書込みデータライン
218 書込みデータライン
300 図1のVRF102内の素子に関するマージ読取り動作の特定の実施形態を示す図
302 ベクトル
304 ベクトル
306 第1のサブベクトル
308 第2のサブベクトル
310 第3のサブベクトル
312 第4のサブベクトル
314 ベクトル
316 第1の素子
318 第2の素子
400 図1のベクトルレジスタファイル102内の素子に関する分割書込み動作の特定の実施形態を示す図
402 ベクトル
404 ベクトル
406 ベクトル
408 第1のサブベクトル
410 第2のサブベクトル
412 第3のサブベクトル
414 第4のサブベクトル
416 第5のサブベクトル
418 第6のサブベクトル
500 図1のシステム100における動作方法
600 図2のシステム200における動作方法
700 通信デバイス
702 VRF
704 プロセッサ
706 メモリ
708 ワイヤレスコントローラ
710 送受信機
712 アンテナ
714 コーダ/デコーダ(コーデック)
716 ディスプレイコントローラ
718 ディスプレイデバイス
720 入力デバイス
722 スピーカ
724 マイクロフォン
726 電源
728 システムオンチップデバイス
730 命令
732 MUX

Claims (32)

  1. 複数のハードウェア素子バンクを含むベクトルレジスタファイルと、
    アドレスラインの複数のセットであって、アドレスラインの前記複数のセットのうちのアドレスラインの各セットが、
    第1のアドレスを受信するように構成された第1のアドレスラインと、
    第2のアドレスを受信するように構成された第2のアドレスラインとを含む、アドレスラインの複数のセットと、
    複数のアドレスラインセレクタであって、前記複数のアドレスラインセレクタの各アドレスラインセレクタが、アドレスラインの前記複数のセットのうちのアドレスラインの対応するセットに結合されるとともに、前記アドレスラインセレクタに結合されたアドレスラインの前記セットのうちの前記第1のアドレスラインまたは前記第2のアドレスラインを選択することによって、出力を生成するように構成される、複数のアドレスラインセレクタと、
    前記複数のハードウェア素子バンクの中に記憶されたデータにアクセスするように構成された単一の読取りポートであって、
    前記複数のハードウェア素子バンクの各ハードウェア素子バンクが、前記第1のアドレスまたは前記第2のアドレスのうちの1つによって選択的にアドレス指定されるように構成され、
    前記複数のハードウェア素子バンクのうちの第1のハードウェア素子バンクが、第1のアドレスラインセレクタに結合されたアドレスラインの第1のセットのうちの特定の第1のアドレスラインに、前記第1のアドレスラインセレクタの第1の出力を介して、選択パターンに従って選択的に結合されるように構成される、単一の読取りポートと
    を備える、装置。
  2. アドレスラインの前記第1のセットが、前記第1のアドレスラインセレクタに結合された前記特定の第1のアドレスラインと特定の第2のアドレスラインとを備え、アドレスラインの第2のセットが、第2のアドレスラインセレクタに結合された第3のアドレスラインと、前記第2のアドレスラインセレクタに結合された第4のアドレスラインとを備え、前記特定の第1のアドレスラインと前記特定の第2のアドレスラインの各々が、前記第1のハードウェア素子バンクに、前記第1のアドレスラインセレクタの前記第1の出力を介して、選択的に結合されるように構成され、前記第3のアドレスラインと前記第4のアドレスラインの各々が、前記複数のハードウェア素子バンクのうちの第2のハードウェア素子バンクに、前記第2のアドレスラインセレクタの第2の出力を介して、選択的に結合されるように構成される、請求項1に記載の装置。
  3. 前記複数のアドレスラインセレクタが、複数のマルチプレクサを備え、
    前記複数のマルチプレクサのうちのいくつかのマルチプレクサが、前記複数のハードウェア素子バンクのうちのいくつかのハードウェア素子バンクに対応する、請求項1に記載の装置。
  4. 前記複数のマルチプレクサのうちの特定のマルチプレクサが、前記複数のハードウェア素子バンクのうちの特定のハードウェア素子バンクに結合され、複数のデータラインが、前記複数のハードウェア素子バンクを前記単一の読取りポートに結合し、
    前記複数のハードウェア素子バンクのうちの各ハードウェア素子バンクが、前記複数のデータラインのうちの個別のデータラインを介して前記単一の読取りポートに結合される、請求項3に記載の装置。
  5. アドレスラインの前記第1のセットが、前記特定の第1のアドレスラインと特定の第2のアドレスラインとを備え、アドレスラインの第2のセットが、第3のアドレスラインと第4のアドレスラインとを備え、
    前記第1のハードウェア素子バンクが、前記特定の第1のアドレスラインまたは前記特定の第2のアドレスラインのうちの1つによって選択的にアドレス指定されるように構成され、
    前記複数のハードウェア素子バンクのうちの第2のハードウェア素子バンクが、前記第3のアドレスラインまたは前記第4のアドレスラインのうちの1つによって選択的にアドレス指定されるように構成される、請求項1に記載の装置。
  6. 前記複数のアドレスラインセレクタが、複数のマルチプレクサを備えるとともに、前記複数のマルチプレクサに前記複数のハードウェア素子バンクを結合する複数の接続をさらに備え、
    前記複数のマルチプレクサが共通データセレクタに接続され、
    前記共通データセレクタが、前記複数のハードウェア素子バンクのうちの各ハードウェア素子バンクに対応する選択パターンを受信するように構成される、請求項1に記載の装置。
  7. 前記複数のハードウェア素子バンクのうちの各ハードウェア素子バンクの中にデータを記憶するように構成された単一の書込みポートをさらに備え、前記ベクトルレジスタファイルがプロセッサに統合され、前記プロセッサが、単一の命令の間、
    読取りデータとして前記データにアクセスするように、前記単一の読取りポートに命令することと、
    前記読取りデータを修正することと、
    前記修正された読取りデータで前記ベクトルレジスタファイルを更新するように、前記単一の書込みポートに命令することと
    を行うように構成される、請求項1に記載の装置。
  8. 複数のアドレスラインセレクタを使用して、ベクトルレジスタファイルの複数のハードウェア素子バンクに、アドレスラインの複数のセットのうちのアドレスラインを選択的に結合するステップであって、
    アドレスラインの前記複数のセットのうちのアドレスラインの各セットが、
    第1のアドレスを受信するように構成された第1のアドレスラインと、
    第2のアドレスを受信するように構成された第2のアドレスラインとを含み、
    前記複数のアドレスラインセレクタの各アドレスラインセレクタが、アドレスラインの前記複数のセットのうちのアドレスラインの対応するセットに結合されるとともに、前記アドレスラインセレクタに結合されたアドレスラインの前記セットのうちの前記第1のアドレスラインまたは前記第2のアドレスラインを選択することによって、出力を生成するように構成され、
    アドレスラインの前記複数のセットのうちのアドレスラインの第1のセットの前記第1のアドレスラインと、アドレスラインの前記第1のセットの前記第2のアドレスラインとが、前記複数のハードウェア素子バンクの第1のハードウェア素子バンクに選択的に結合され、
    アドレスラインの前記第1のセットの前記第1のアドレスラインと、アドレスラインの前記第1のセットの前記第2のアドレスラインとが、選択パターンに従って選択的に結合され、
    前記ベクトルレジスタファイルが、単一の読取りポートに結合される、ステップと、
    特定の選択パターンに従って、アドレスラインの前記第1のセットのうちの前記第1のアドレスラインを前記第1のハードウェア素子バンクに結合するステップと、
    アドレスラインの前記第1のセットのうちの前記第1のアドレスラインを使用して、前記第1のハードウェア素子バンクを選択的にアドレス指定するステップと、
    前記単一の読取りポートを介して、前記第1のハードウェア素子バンクの中に記憶されたデータにアクセスするステップと
    を含む、方法。
  9. 前記選択パターンに従って、前記複数のハードウェア素子バンクのうちの第2のハードウェア素子バンクに、アドレスラインの前記複数のセットのうちのアドレスラインの第2のセットの第1のアドレスラインを結合するステップをさらに含み、前記第1のハードウェア素子バンクと前記第2のハードウェア素子バンクが共通のアドレスラインに結合された、請求項8に記載の方法。
  10. 前記選択パターンに従って、前記複数のハードウェア素子バンクのうちの第2のハードウェア素子バンクに、アドレスラインの前記複数のセットのうちのアドレスラインの第2のセットの第2のアドレスラインを結合するステップをさらに含み、前記第1のハードウェア素子バンクと前記第2のハードウェア素子バンクが異なるアドレスラインに結合された、請求項8に記載の方法。
  11. 単一の読取りポートに結合されるとともに複数のハードウェア素子バンクを含む、ベクトルデータを記憶するための手段と、
    前記複数のハードウェア素子バンクに、アドレスラインの複数のセットのうちのアドレスラインを選択的に結合するための手段であって、アドレスラインの前記複数のセットのうちのアドレスラインの各セットが、第1のアドレスを受信するように構成された第1のアドレスラインと、第2のアドレスを受信するように構成された第2のアドレスラインとを含み、選択的に結合するための前記手段が、
    複数のアドレスラインセレクタを備え、前記複数のアドレスラインセレクタの各アドレスラインセレクタが、アドレスラインの前記複数のセットのうちのアドレスラインの対応するセットに結合されるとともに、前記アドレスラインセレクタに結合されたアドレスラインの前記セットのうちの前記第1のアドレスラインまたは前記第2のアドレスラインを選択することによって、出力を生成するように構成される、手段と、
    単一の読取りポートを介して、前記複数のハードウェア素子バンクの中に記憶されたデータにアクセスするための手段であって、
    前記複数のハードウェア素子バンクの各ハードウェア素子バンクが、前記第1のアドレスまたは前記第2のアドレスのうちの1つによって選択的にアドレス指定されるように構成され、
    前記複数のハードウェア素子バンクの第1のハードウェア素子バンクが、アドレスラインの前記複数のセットのうちのアドレスラインの第1のセットの第1のアドレスラインに、第1のアドレスラインセレクタの第1の出力を介して、選択パターンに従って選択的に結合されるように構成され、アドレスラインの前記第1のセットが前記第1のアドレスラインセレクタに結合され、
    前記複数のハードウェア素子バンクの第2のハードウェア素子バンクが、アドレスラインの前記複数のセットのうちのアドレスラインの第2のセットの第2のアドレスラインに、第2のアドレスラインセレクタの第2の出力を介して、前記選択パターンに従って選択的に結合されるように構成され、アドレスラインの前記第2のセットが前記第2のアドレスラインセレクタに結合される、手段と
    を備える、装置。
  12. プロセッサによって実行されたとき、
    複数のアドレスラインセレクタを使用して、ベクトルレジスタファイルの複数のハードウェア素子バンクに、アドレスラインの複数のセットのうちのアドレスラインを選択的に結合するために、選択パターンを生成することであって、
    アドレスラインの前記複数のセットのうちのアドレスラインの各セットが、
    第1のアドレスを受信するように構成された第1のアドレスラインと、
    第2のアドレスを受信するように構成された第2のアドレスラインとを含み、
    前記複数のアドレスラインセレクタの各アドレスラインセレクタが、アドレスラインの前記複数のセットのうちのアドレスラインの対応するセットに結合されるとともに、前記アドレスラインセレクタに結合されたアドレスラインの前記セットのうちの前記第1のアドレスラインまたは前記第2のアドレスラインを選択することによって、出力を生成するように構成され、
    前記ベクトルレジスタファイルが単一の読取りポートに結合される、生成することと、
    前記複数のハードウェア素子バンクの中に記憶されたデータにアクセスすることであって、
    前記複数のハードウェア素子バンクの各ハードウェア素子バンクが、前記単一の読取りポートを介して前記第1のアドレスまたは前記第2のアドレスのうちの1つによって選択的にアドレス指定されるように構成され、
    前記複数のハードウェア素子バンクの第1のハードウェア素子バンクが、アドレスラインの前記複数のセットのうちのアドレスラインの第1のセットの第1のアドレスラインに、第1のアドレスラインセレクタの第1の出力を介して、選択的に結合されるように構成され、アドレスラインの前記第1のセットが前記第1のアドレスラインセレクタに結合され、
    前記複数のハードウェア素子バンクの第2のハードウェア素子バンクが、アドレスラインの前記複数のセットのうちのアドレスラインの第2のセットの第2のアドレスラインに、第2のアドレスラインセレクタの第2の出力を介して、選択的に結合されるように構成され、アドレスラインの前記第2のセットが前記第2のアドレスラインセレクタに結合される、アクセスすることと
    を前記プロセッサに行わせるプロセッサ実行可能命令を含む、非一時的コンピュータ可読記録媒体。
  13. アドレスラインの前記複数のセットのうちの特定の第1のアドレスラインと、アドレスラインの前記複数のセットのうちの特定の第2のアドレスラインとが、複数のマルチプレクサのうちのそれぞれのマルチプレクサを介して、前記複数のハードウェア素子バンクに選択的に結合されるように構成される、請求項12に記載の非一時的コンピュータ可読記録媒体。
  14. 複数のハードウェア素子バンクを含むベクトルレジスタファイルと、
    アドレスラインの複数のセットであって、アドレスラインの前記複数のセットのうちのアドレスラインの各セットが、
    第1のアドレスを受信するように構成された第1のアドレスラインと、
    第2のアドレスを受信するように構成された第2のアドレスラインとを含む、アドレスラインの複数のセットと、
    複数のアドレスラインセレクタであって、前記複数のアドレスラインセレクタの各アドレスラインセレクタが、アドレスラインの前記複数のセットのうちのアドレスラインの対応するセットに結合されるとともに、前記アドレスラインセレクタに結合されたアドレスラインの前記セットのうちの前記第1のアドレスラインまたは前記第2のアドレスラインを選択することによって、出力を生成するように構成される、複数のアドレスラインセレクタと、
    前記複数のハードウェア素子バンクの中にデータを記憶するように構成された単一の書込みポートであって、
    前記複数のハードウェア素子バンクの各ハードウェア素子バンクが、前記第1のアドレスまたは前記第2のアドレスのうちの1つによって選択的にアドレス指定されるように構成され、
    前記複数のハードウェア素子バンクの第1のハードウェア素子バンクが、第1のアドレスラインセレクタに結合されたアドレスラインの第1のセットのうちの前記第1のアドレスラインに、前記第1のアドレスラインセレクタの第1の出力を介して、選択パターンに従って選択的に結合されるように構成される、単一の書込みポートと
    を備える、装置。
  15. 前記ベクトルレジスタファイルが複数のベクトルレジスタを含み、
    前記複数のベクトルレジスタの各ベクトルレジスタが、それぞれのベクトルレジスタ名を参照する命令によってアクセス可能である、請求項14に記載の装置。
  16. 前記複数のハードウェア素子バンクのうちの2つの隣接するハードウェア素子バンクが、アドレスラインの前記複数のセットのうちのアドレスラインの2つの対応するセットの中の2つの第2のアドレスラインに選択的に結合される、請求項14に記載の装置。
  17. 前記複数のハードウェア素子バンクの各ハードウェア素子バンクの中に記憶されたデータにアクセスするように構成された単一の読取りポートをさらに備え、前記ベクトルレジスタファイルがプロセッサに統合され、前記プロセッサが、単一の命令を実行する間、
    読取りデータとして前記データにアクセスするように、前記単一の読取りポートに命令することと、
    前記読取りデータを修正することと、
    前記修正された読取りデータで前記ベクトルレジスタファイルを更新するように、前記単一の書込みポートに命令することと
    を行うように構成される、請求項14に記載の装置。
  18. 前記複数のハードウェア素子バンクのうちの特定のハードウェア素子バンクが、アドレスラインの前記第1のセットの前記第1のアドレスラインまたは前記第2のアドレスラインのうちの1つを選択するための制御を受信するように構成される、複数のマルチプレクサのうちの1つのマルチプレクサに結合され、前記特定のハードウェア素子バンクが書込みデータラインを有する、請求項14に記載の装置。
  19. 前記複数のマルチプレクサが共通データセレクタに接続され、
    前記共通データセレクタが、前記複数のハードウェア素子バンクの各ハードウェア素子バンクに対応する選択パターンを受信するように構成される、請求項18に記載の装置。
  20. 複数のアドレスラインセレクタを使用して、ベクトルレジスタファイルの複数のハードウェア素子バンクに、アドレスラインの複数のセットのうちのアドレスラインを選択的に結合するステップであって、
    アドレスラインの前記複数のセットのうちのアドレスラインの各セットが、
    第1のアドレスを受信するように構成された第1のアドレスラインと、
    第2のアドレスを受信するように構成された第2のアドレスラインとを含み、
    前記複数のアドレスラインセレクタの各アドレスラインセレクタが、アドレスラインの前記複数のセットのうちのアドレスラインの対応するセットに結合されるとともに、前記アドレスラインセレクタに結合されたアドレスラインの前記セットのうちの前記第1のアドレスラインまたは前記第2のアドレスラインを選択することによって、出力を生成するように構成され、
    アドレスラインの前記複数のセットのうちのアドレスラインの第1のセットの前記第1のアドレスラインと、アドレスラインの前記第1のセットの前記第2のアドレスラインとが、前記複数のハードウェア素子バンクの第1のハードウェア素子バンクに選択的に結合され、
    前記ベクトルレジスタファイルが、単一の書込みポートに結合される、ステップと、
    特定の選択パターンに従って、アドレスラインの前記第1のセットのうちの前記第1のアドレスラインを前記第1のハードウェア素子バンクに結合するステップと、
    アドレスラインの前記第1のセットの前記第1のアドレスラインを使用して、前記第1のハードウェア素子バンクを選択的にアドレス指定するステップと、
    前記単一の書込みポートを介して、前記第1のハードウェア素子バンクの中にデータを記憶するステップと
    を含む、方法。
  21. 前記特定の選択パターンに従って、前記複数のハードウェア素子バンクのうちの第2のハードウェア素子バンクに、アドレスラインの前記複数のセットのうちのアドレスラインの第2のセットの第1のアドレスラインを結合するステップをさらに含み、前記第1のハードウェア素子バンクと前記第2のハードウェア素子バンクが共通のアドレスラインに結合された、請求項20に記載の方法。
  22. 前記特定の選択パターンに従って、前記複数のハードウェア素子バンクのうちの第2のハードウェア素子バンクに、アドレスラインの前記複数のセットのうちのアドレスラインの第2のセットの第2のアドレスラインを結合するステップをさらに含み、前記第1のハードウェア素子バンクと前記第2のハードウェア素子バンクが異なるアドレスラインに結合された、請求項20に記載の方法。
  23. 単一の書込みポートに結合されるとともに複数のハードウェア素子バンクを含む、ベクトルデータを記憶するための手段と、
    前記複数のハードウェア素子バンクに、アドレスラインの複数のセットのうちのアドレスラインを選択的に結合するための手段であって、アドレスラインの前記複数のセットのうちのアドレスラインの各セットが、第1のアドレスを受信するように構成された第1のアドレスラインと、第2のアドレスを受信するように構成された第2のアドレスラインとを含み、選択的に結合するための前記手段が、
    複数のアドレスラインセレクタを備え、前記複数のアドレスラインセレクタの各アドレスラインセレクタが、アドレスラインの前記複数のセットのうちのアドレスラインの対応するセットに結合されるとともに、前記アドレスラインセレクタに結合されたアドレスラインの前記セットのうちの前記第1のアドレスラインまたは前記第2のアドレスラインを選択することによって、出力を生成するように構成される、手段と、
    前記単一の書込みポートを介して、前記複数のハードウェア素子バンクにデータを書き込むための手段であって、
    前記複数のハードウェア素子バンクの各ハードウェア素子バンクが、前記第1のアドレスまたは前記第2のアドレスのうちの1つによって選択的にアドレス指定されるように構成され、
    前記複数のハードウェア素子バンクの第1のハードウェア素子バンクが、アドレスラインの前記複数のセットのうちのアドレスラインの第1のセットの第1のアドレスラインに、第1のアドレスラインセレクタの第1の出力を介して、選択パターンに従って選択的に結合されるように構成され、アドレスラインの前記第1のセットが前記第1のアドレスラインセレクタに結合され、
    前記複数のハードウェア素子バンクの第2のハードウェア素子バンクが、アドレスラインの前記複数のセットのうちのアドレスラインの第2のセットの第2のアドレスラインに、第2のアドレスラインセレクタの第2の出力を介して、前記選択パターンに従って選択的に結合されるように構成され、アドレスラインの前記第2のセットが前記第2のアドレスラインセレクタに結合される、手段と
    を備える、装置。
  24. 前記選択的に結合するための手段が選択パターンに応答する、請求項23に記載の装置。
  25. プロセッサによって実行されたとき、
    複数のアドレスラインセレクタを使用して、ベクトルレジスタファイルの複数のハードウェア素子バンクに、アドレスラインの複数のセットのうちのアドレスラインを選択的に結合するために、選択パターンを生成することであって、
    アドレスラインの前記複数のセットのうちのアドレスラインの各セットが、第1のアドレスを受信するように構成された第1のアドレスラインと、第2のアドレスを受信するように構成された第2のアドレスラインとを含み、
    前記複数のアドレスラインセレクタの各アドレスラインセレクタが、アドレスラインの前記複数のセットのうちのアドレスラインの対応するセットに結合されるとともに、前記アドレスラインセレクタに結合されたアドレスラインの前記セットのうちの前記第1のアドレスラインまたは前記第2のアドレスラインを選択することによって、出力を生成するように構成され、
    前記ベクトルレジスタファイルが単一の書込みポートに結合される、生成することと、
    前記複数のハードウェア素子バンクの中にデータを記憶することであって、
    前記複数のハードウェア素子バンクの各ハードウェア素子バンクが、前記単一の書込みポートを介して、前記第1のアドレスまたは前記第2のアドレスのうちの1つによって選択的にアドレス指定されるように構成され、
    前記複数のハードウェア素子バンクの第1のハードウェア素子バンクが、アドレスラインの前記複数のセットのうちのアドレスラインの第1のセットの第1のアドレスラインに、第1のアドレスラインセレクタの第1の出力を介して、選択的に結合されるように構成され、アドレスラインの前記第1のセットが前記第1のアドレスラインセレクタに結合され、
    前記複数のハードウェア素子バンクの第2のハードウェア素子バンクが、アドレスラインの前記複数のセットのうちのアドレスラインの第2のセットの第2のアドレスラインに、第2のアドレスラインセレクタの第2の出力を介して、選択的に結合されるように構成され、アドレスラインの前記第2のセットが前記第2のアドレスラインセレクタに結合される、記憶することと
    を前記プロセッサに行わせるプロセッサ実行可能命令を含む、非一時的コンピュータ可読記録媒体。
  26. アドレスラインの前記複数のセットのうちの特定の第1のアドレスラインと、アドレスラインの前記複数のセットのうちの特定の第2のアドレスラインとが、複数のマルチプレクサのうちのそれぞれのマルチプレクサを介して、前記複数のハードウェア素子バンクに選択的に結合されるように構成される、請求項25に記載の非一時的コンピュータ可読記録媒体。
  27. 前記複数のハードウェア素子バンクのうちのすべてのハードウェア素子バンクが、選択パターンに従って選択的にアドレス指定されるように構成される、請求項1に記載の装置。
  28. 前記複数のアドレスラインセレクタが、複数のマルチプレクサを備え、前記複数のマルチプレクサの各マルチプレクサが、前記複数のハードウェア素子バンクのうちのそれぞれのハードウェア素子バンクに、アドレスラインの前記複数のセットのうちのアドレスラインの1つのセットを選択的に結合するように構成されるとともに、前記複数のハードウェア素子バンクのうちのすべてのハードウェア素子バンクが、選択パターンに基づいて前記複数のマルチプレクサを介して、選択的にアドレス指定される、請求項1に記載の装置。
  29. 前記第1のアドレスラインセレクタが、第1のマルチプレクサを備え、前記第1のマルチプレクサの入力が、アドレスラインの前記第1のセットのうちの対応するアドレスラインに結合される、請求項1に記載の装置。
  30. 前記特定の選択パターンに従って、前記複数のハードウェア素子バンクのすべてのハードウェア素子バンクを選択的にアドレス指定するステップをさらに含む、請求項8に記載の方法。
  31. 前記複数のハードウェア素子バンクのうちのすべてのハードウェア素子バンクが、選択パターンに従って選択的にアドレス指定されるように構成される、請求項14に記載の装置。
  32. 前記特定の選択パターンに従って、前記複数のハードウェア素子バンクのすべてのハードウェア素子バンクを選択的にアドレス指定するステップとさらに含む、請求項20に記載の方法。
JP2015537735A 2012-10-18 2013-10-09 ベクトルレジスタファイルの素子バンクに対するアドレスラインの選択的な結合 Expired - Fee Related JP6058806B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/654,730 2012-10-18
US13/654,730 US9268571B2 (en) 2012-10-18 2012-10-18 Selective coupling of an address line to an element bank of a vector register file
PCT/US2013/064063 WO2014062445A1 (en) 2012-10-18 2013-10-09 Selective coupling of an address line to an element bank of a vector register file

Publications (3)

Publication Number Publication Date
JP2016500877A JP2016500877A (ja) 2016-01-14
JP2016500877A5 JP2016500877A5 (ja) 2016-06-02
JP6058806B2 true JP6058806B2 (ja) 2017-01-11

Family

ID=49484456

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015537735A Expired - Fee Related JP6058806B2 (ja) 2012-10-18 2013-10-09 ベクトルレジスタファイルの素子バンクに対するアドレスラインの選択的な結合

Country Status (6)

Country Link
US (1) US9268571B2 (ja)
EP (1) EP2909713B1 (ja)
JP (1) JP6058806B2 (ja)
KR (1) KR101635116B1 (ja)
CN (1) CN104685465B (ja)
WO (1) WO2014062445A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9136842B2 (en) 2013-06-07 2015-09-15 Altera Corporation Integrated circuit device with embedded programmable logic
US10236043B2 (en) * 2016-06-06 2019-03-19 Altera Corporation Emulated multiport memory element circuitry with exclusive-OR based control circuitry
GB2552154B (en) * 2016-07-08 2019-03-06 Advanced Risc Mach Ltd Vector register access
US10162752B2 (en) * 2016-09-22 2018-12-25 Qualcomm Incorporated Data storage at contiguous memory addresses
US11048509B2 (en) * 2018-06-05 2021-06-29 Qualcomm Incorporated Providing multi-element multi-vector (MEMV) register file access in vector-processor-based devices
US10930366B2 (en) 2019-07-17 2021-02-23 Micron Technology, Inc. Storage device with test interface

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61241870A (ja) * 1985-04-19 1986-10-28 Hitachi Ltd ベクトルプロセツサ
US4980817A (en) 1987-08-31 1990-12-25 Digital Equipment Vector register system for executing plural read/write commands concurrently and independently routing data to plural read/write ports
EP0814411A3 (en) * 1988-06-07 1998-03-04 Fujitsu Limited Vector data processing apparatus
JP2941817B2 (ja) 1988-09-14 1999-08-30 株式会社日立製作所 ベクトル処理装置
JPH0452760A (ja) * 1990-06-14 1992-02-20 Koufu Nippon Denki Kk ベクトル処理装置
JP2625277B2 (ja) * 1991-05-20 1997-07-02 富士通株式会社 メモリアクセス装置
JPH06274528A (ja) * 1993-03-18 1994-09-30 Fujitsu Ltd ベクトル演算処理装置
US5832290A (en) * 1994-06-13 1998-11-03 Hewlett-Packard Co. Apparatus, systems and method for improving memory bandwidth utilization in vector processing systems
US5922066A (en) * 1997-02-24 1999-07-13 Samsung Electronics Co., Ltd. Multifunction data aligner in wide data width processor
JPH11184674A (ja) 1997-12-24 1999-07-09 Fujitsu Ltd レジスタファイル
US6665790B1 (en) * 2000-02-29 2003-12-16 International Business Machines Corporation Vector register file with arbitrary vector addressing
JP3779540B2 (ja) 2000-11-08 2006-05-31 株式会社ルネサステクノロジ 複数レジスタ指定が可能なsimd演算方式
US20110087859A1 (en) * 2002-02-04 2011-04-14 Mimar Tibet System cycle loading and storing of misaligned vector elements in a simd processor
US7937559B1 (en) 2002-05-13 2011-05-03 Tensilica, Inc. System and method for generating a configurable processor supporting a user-defined plurality of instruction sizes
US7284113B2 (en) * 2003-01-29 2007-10-16 Via Technologies, Inc. Synchronous periodical orthogonal data converter
GB2409065B (en) * 2003-12-09 2006-10-25 Advanced Risc Mach Ltd Multiplexing operations in SIMD processing
US9557994B2 (en) * 2004-07-13 2017-01-31 Arm Limited Data processing apparatus and method for performing N-way interleaving and de-interleaving operations where N is an odd plural number
US20060259737A1 (en) * 2005-05-10 2006-11-16 Telairity Semiconductor, Inc. Vector processor with special purpose registers and high speed memory access
US20070150697A1 (en) * 2005-05-10 2007-06-28 Telairity Semiconductor, Inc. Vector processor with multi-pipe vector block matching
US7750915B1 (en) 2005-12-19 2010-07-06 Nvidia Corporation Concurrent access of data elements stored across multiple banks in a shared memory resource
WO2007135615A2 (en) 2006-05-16 2007-11-29 Nxp B.V. Memory architecture
US20080291208A1 (en) 2007-05-24 2008-11-27 Gary Keall Method and system for processing data via a 3d pipeline coupled to a generic video processing unit
US8108652B1 (en) * 2007-09-13 2012-01-31 Ronald Chi-Chun Hui Vector processing with high execution throughput
US20110320765A1 (en) 2010-06-28 2011-12-29 International Business Machines Corporation Variable width vector instruction processor
US20120110037A1 (en) 2010-11-01 2012-05-03 Qualcomm Incorporated Methods and Apparatus for a Read, Merge and Write Register File

Also Published As

Publication number Publication date
JP2016500877A (ja) 2016-01-14
KR101635116B1 (ko) 2016-06-30
CN104685465A (zh) 2015-06-03
EP2909713A1 (en) 2015-08-26
KR20150070302A (ko) 2015-06-24
EP2909713B1 (en) 2017-07-05
US20140115227A1 (en) 2014-04-24
CN104685465B (zh) 2018-05-01
WO2014062445A1 (en) 2014-04-24
US9268571B2 (en) 2016-02-23

Similar Documents

Publication Publication Date Title
JP6058806B2 (ja) ベクトルレジスタファイルの素子バンクに対するアドレスラインの選択的な結合
CN104583938B (zh) 向量处理器中的数据提取系统和方法
US10311127B2 (en) Sparse matrix vector multiplication
EP3033670B1 (en) Vector accumulation method and apparatus
EP2962187B1 (en) Vector register addressing and functions based on a scalar register data value
JP2024521099A (ja) 情報表示方法、装置、電子機器及び記憶媒体
EP3629184A1 (en) Method and apparatus for cache access mode selection
JP2024529256A (ja) テキスト入力方法、装置、電子機器及び記憶媒体
KR20240112980A (ko) 벡터 셔플 방법, 프로세서 및 전자기기
US20180365198A1 (en) Method and apparatus for providing web browsing interface
JP2016522936A (ja) データアクセスの前のメモリ内の不完全データエントリから冗長データエントリへのデータのリダイレクトならびに関連するシステムおよび方法
CN102713868A (zh) 存取二级存储器的一部分及一级存储器的系统及方法
US9575759B2 (en) Memory system and electronic device including memory system
US20110179242A1 (en) Multi-Stage Multiplexing Operation Including Combined Selection and Data Alignment or Data Replication
US9721625B2 (en) Time-constrained data copying between storage media
KR100710626B1 (ko) 데이터 버스 확장 구조를 갖는 디지털 처리 장치 및 그방법
US11243649B2 (en) Method and apparatus for providing web browsing interface including dividing the content display region into at least two spaces, and allowing selection of different modes for loading web pages ot the at elast two spaces
US20230350640A1 (en) System and method of rotating vector input
US9501584B2 (en) Apparatus and method for distributing a search key in a ternary memory array
CN107636611A (zh) 用于临时加载指令的系统、设备和方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160406

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160406

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20160406

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20160630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160711

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161011

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161207

R150 Certificate of patent or registration of utility model

Ref document number: 6058806

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

LAPS Cancellation because of no payment of annual fees