(57)【要約】  方法は、選択パターンに従って、ベクトルレジスタファイルの複数の素子バンクのうちの第1の素子バンクに、複数のアドレスラインのうちの第1のアドレスラインおよび複数のアドレスラインのうちの第2のアドレスラインを選択的に結合することを含む。方法はまた、単一の読取りポートを介して、第1のアドレスラインによって選択的にアドレス指定された第1の素子バンクの中に記憶されたデータにアクセスすることを含む。
2016500877.tif 000002
【特許請求の範囲】
【請求項１】
複数の素子バンクを含むベクトルレジスタファイルと、
前記複数の素子バンクの各々に選択的に結合された複数のアドレスラインと、
前記複数のアドレスラインのうちの1つによって選択的にアドレス指定された前記素子バンクの各々の中に記憶されたデータにアクセスするように構成された単一の読取りポートであって、前記複数の素子バンクのうちの少なくとも第1の素子バンクが、前記複数のアドレスラインのうちの第1のアドレスラインに選択的に結合された、単一の読取りポートと
を備える、装置。
【請求項２】
前記複数のアドレスラインが、複数のマルチプレクサのうちのそれぞれのマルチプレクサを介して、前記複数の素子バンクの各々に選択的に結合された、請求項1に記載の装置。
【請求項３】
前記複数の素子バンクのうちの少なくとも第2の素子バンクが、前記複数のアドレスラインのうちの第2のアドレスラインに選択的に結合された、請求項1に記載の装置。
【請求項４】
前記単一の読取りポートが複数のマルチプレクサを含み、前記複数のマルチプレクサの各々が前記複数の素子バンクのうちのそれぞれの素子バンクに結合され、前記複数の素子バンクの各々が素子バンク当たり1つの読取りデータラインを含む、請求項1に記載の装置。
【請求項５】
前記読取りデータラインが複数のビットを搬送するように構成された、請求項4に記載の装置。
【請求項６】
前記複数のマルチプレクサが共通データセレクタに接続され、前記共通データセレクタが、前記複数のアドレスラインのうちの1つによって選択的にアドレス指定された前記素子バンクの各々に対応する選択パターンを受信する、請求項4に記載の装置。
【請求項７】
前記複数のアドレスラインのうちの1つによって選択的にアドレス指定された前記素子バンクの各々の中にデータを記憶するように構成された単一の書込みポートをさらに備え、前記ベクトルレジスタファイルがプロセッサに統合され、前記プロセッサが、単一の命令の間、
読取りデータとして前記データにアクセスするように、前記単一の読取りポートに命令することと、
前記読取りデータを修正することと、
前記修正された読取りデータで前記ベクトルレジスタファイルを更新するように、前記単一の書込みポートに命令することと
を行うように構成された、請求項1に記載の装置。
【請求項８】
選択パターンに従って、ベクトルレジスタファイルの複数の素子バンクのうちの第1の素子バンクに、複数のアドレスラインのうちの第1のアドレスラインおよび前記複数のアドレスラインのうちの第2のアドレスラインを選択的に結合するステップと、
単一の読取りポートを介して、前記第1のアドレスラインによって選択的にアドレス指定された前記第1の素子バンクの中に記憶されたデータにアクセスするステップと
を含む、方法。
【請求項９】
前記選択パターンに従って、前記ベクトルレジスタファイルの前記複数の素子バンクのうちの第2の素子バンクに、前記複数のアドレスラインのうちの前記第2のアドレスラインを選択的に結合するステップをさらに含み、前記第1の素子バンクと前記第2の素子バンクが共通のアドレスラインに結合された、請求項8に記載の方法。
【請求項１０】
前記選択パターンに従って、前記ベクトルレジスタファイルの前記複数の素子バンクのうちの第2の素子バンクに、前記複数のアドレスラインのうちの前記第2のアドレスラインを選択的に結合するステップをさらに含み、前記第1の素子バンクと前記第2の素子バンクが異なるアドレスラインに結合された、請求項8に記載の方法。
【請求項１１】
複数の素子バンクを含む、ベクトルデータを記憶するための手段と、
前記記憶するための手段の前記複数の素子バンクの各々に、複数のアドレスラインを選択的に結合するための手段と、
単一の読取りポートを介して、前記複数のアドレスラインのうちの1つによって選択的にアドレス指定された前記素子バンクの各々の中に記憶されたデータにアクセスするための手段であって、前記素子バンクのうちの少なくとも第1の素子バンクが、前記複数のアドレスラインのうちの第1のアドレスラインに選択的に結合され、前記複数の素子バンクのうちの第2の素子バンクが、前記複数のアドレスラインのうちの第2のアドレスラインに選択的に結合された、手段と
を備える、装置。
【請求項１２】
前記選択的に結合するための手段が選択パターンに応答する、請求項11に記載の装置。
【請求項１３】
プロセッサによって実行されたとき、
ベクトルレジスタファイルの複数の素子バンクの各々に複数のアドレスラインを選択的に結合するために、選択パターンを生成することと、
単一の読取りポートを介して、前記複数のアドレスラインのうちの1つによって選択的にアドレス指定された前記素子バンクの各々の中に記憶されたデータにアクセスすることであって、前記素子バンクのうちの少なくとも1つが、前記複数のアドレスラインのうちの第1のアドレスラインに選択的に結合され、前記複数の素子バンクのうちの第2の素子バンクが、前記複数のアドレスラインのうちの第2のアドレスラインに選択的に結合された、アクセスすることと
を前記プロセッサに行わせるプロセッサ実行可能命令を含む、非一時的コンピュータ可読記録媒体。
【請求項１４】
前記複数のアドレスラインが、複数のマルチプレクサのうちのそれぞれのマルチプレクサを介して、前記素子バンクの各々に選択的に結合された、請求項13に記載の非一時的コンピュータ可読記録媒体。
【請求項１５】
複数の素子バンクを含むベクトルレジスタファイルと、
前記複数の素子バンクの各々に選択的に結合された複数のアドレスラインと、
前記複数のアドレスラインのうちの1つによって選択的にアドレス指定された前記複数の素子バンクの各々の中にデータを記憶するように構成された単一の書込みポートであって、前記複数の素子バンクのうちの少なくとも1つが、前記複数のアドレスラインのうちの第1のアドレスラインに選択的に結合された、単一の書込みポートと
を備える、装置。
【請求項１６】
前記ベクトルレジスタファイルが複数のベクトルレジスタを含み、前記複数のベクトルレジスタの各々が、それぞれのベクトルレジスタ名を参照する命令によってアクセス可能である、請求項15に記載の装置。
【請求項１７】
2つの隣接する素子バンクのグループが、前記複数のアドレスラインのうちの第2のアドレスラインに選択的に結合された、請求項15に記載の装置。
【請求項１８】
前記複数の素子バンクの各々の中に記憶されたデータにアクセスするように構成された単一の読取りポートをさらに備え、前記ベクトルレジスタファイルがプロセッサに統合され、前記プロセッサが、単一の命令の間、
読取りデータとして前記データにアクセスするように、前記単一の読取りポートに命令することと、
前記読取りデータを修正することと、
前記修正された読取りデータで前記ベクトルレジスタファイルを更新するように、前記単一の書込みポートに命令することと
を行うように構成された、請求項15に記載の装置。
【請求項１９】
前記複数の素子バンクのうちの特定の素子バンクが、前記複数のアドレスラインから複数のアドレスの各々を受信するように構成されたマルチプレクサと、前記複数のアドレスのうちの1つを選択する制御装置とに結合され、前記特定の素子バンクが書込みデータラインを有する、請求項15に記載の装置。
【請求項２０】
前記単一の書込みポートが複数のマルチプレクサに接続され、前記複数のマルチプレクサが共通データセレクタに接続され、前記共通データセレクタが、前記複数のアドレスラインのうちの1つによって選択的にアドレス指定された前記複数の素子バンクの各々に対応する選択パターンを受信するように構成された、請求項15に記載の装置。
【請求項２１】
選択パターンに従って、ベクトルレジスタファイルの複数の素子バンクのうちの第1の素子バンクに、複数のアドレスラインのうちの第1のアドレスラインおよび前記複数のアドレスラインのうちの第2のアドレスラインを選択的に結合するステップと、
単一の書込みポートを介して、前記第1のアドレスラインによって選択的にアドレス指定された前記第1の素子バンクの中にデータを記憶するステップと
を含む、方法。
【請求項２２】
前記選択パターンに従って、前記ベクトルレジスタファイルの前記複数の素子バンクのうちの第2の素子バンクに、前記複数のアドレスラインのうちの前記第2のアドレスラインを選択的に結合するステップをさらに含み、前記第1の素子バンクと前記第2の素子バンクが共通のアドレスラインに結合された、請求項21に記載の方法。
【請求項２３】
前記選択パターンに従って、前記ベクトルレジスタファイルの前記複数の素子バンクのうちの第2の素子バンクに、前記複数のアドレスラインのうちの前記第2のアドレスラインを選択的に結合するステップをさらに含み、前記第1の素子バンクと前記第2の素子バンクが異なるアドレスラインに結合された、請求項21に記載の方法。
【請求項２４】
複数の素子バンクを含む、ベクトルデータを記憶するための手段と、
前記記憶するための手段の前記複数の素子バンクの各々に、複数のアドレスラインを選択的に結合するための手段と、
単一の書込みポートを介して、前記複数のアドレスラインのうちの1つによって選択的にアドレス指定された前記複数の素子バンクの各々の中にデータを書き込むための手段であって、前記複数の素子バンクのうちの少なくとも第1の素子バンクが、前記複数のアドレスラインのうちの第1のアドレスラインに選択的に結合され、前記複数の素子バンクのうちの第2の素子バンクが、前記複数のアドレスラインのうちの第2のアドレスラインに選択的に結合された、手段と
を備える、装置。
【請求項２５】
前記選択的に結合するための手段が選択パターンに応答する、請求項24に記載の装置。
【請求項２６】
プロセッサによって実行されたとき、
ベクトルレジスタファイルの複数の素子バンクの各々に複数のアドレスラインを選択的に結合するために、選択パターンを生成することと、
単一の書込みポートを介して、前記複数のアドレスラインのうちの1つによって選択的にアドレス指定された前記複数の素子バンクの各々の中にデータを記憶することであって、前記複数の素子バンクのうちの少なくとも第1の素子バンクが、前記複数のアドレスラインのうちの第1のアドレスラインに選択的に結合され、前記複数の素子バンクのうちの第2の素子バンクが、前記複数のアドレスラインのうちの第2のアドレスラインに選択的に結合された、記憶することと
を前記プロセッサに行わせるプロセッサ実行可能命令を含む、非一時的コンピュータ可読記録媒体。
【請求項２７】
前記複数のアドレスラインが、複数のマルチプレクサのうちのそれぞれのマルチプレクサを介して、前記素子バンクの各々に選択的に結合された、請求項26に記載の非一時的コンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示はベクトルレジスタファイルに関する。
【背景技術】
【０００２】
技術の進歩により、コンピューティングデバイスは、より小型に、かつより高性能になっている。たとえば、現在、小型で、軽量で、ユーザが持ち運びやすい、ポータブルワイヤレス電話、携帯情報端末(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
【図１】
2016500877.tif 000003
【図２】
2016500877.tif 000004
【図３】
2016500877.tif 000005
【図４】
2016500877.tif 000006
【図５】
2016500877.tif 000007
【図６】
2016500877.tif 000008
【図７】
2016500877.tif 000009
【手続補正書】
【提出日】平成26年12月1日(2014.12.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の素子バンクを含むベクトルレジスタファイルと、
選択パターンに従って、前記複数の素子バンクの各素子バンクに結合されるように構成された複数のアドレスラインと、
前記複数の素子バンクの中に記憶されたデータにアクセスするように構成された単一の読取りポートであって、前記複数の素子バンクの各素子バンクが、前記複数のアドレスラインのうちの1つによってアドレス指定可能であり、前記複数の素子バンクのうちの少なくとも第1の素子バンクが、前記複数のアドレスラインのうちの第1のアドレスラインに結合された、単一の読取りポートと
を備える、装置。
【請求項２】
前記複数の素子バンクのうちの少なくとも第2の素子バンクが、前記複数のアドレスラインのうちの第2のアドレスラインに結合された、請求項1に記載の装置。
【請求項３】
前記複数のアドレスラインが、複数のマルチプレクサを介して、前記複数の素子バンクに結合された、請求項1に記載の装置。
【請求項４】
前記複数のマルチプレクサのうちの特定のマルチプレクサが前記複数の素子バンクのうちの特定の素子バンクに結合され、前記複数の素子バンクの各素子バンクが、複数のデータラインのうちの個別のデータラインを介して前記単一の読取りポートに結合された、請求項3に記載の装置。
【請求項５】
各データラインが複数のビットを搬送するように構成された、請求項4に記載の装置。
【請求項６】
前記複数のマルチプレクサが共通データセレクタに接続され、前記共通データセレクタが、前記選択パターンを受信するように構成された、請求項4に記載の装置。
【請求項７】
前記素子バンクの各々の中にデータを記憶するように構成された単一の書込みポートをさらに備え、前記ベクトルレジスタファイルがプロセッサに統合され、前記プロセッサが、単一の命令の実行中に、
読取りデータとして前記データにアクセスするように、前記単一の読取りポートに命令することと、
前記読取りデータを修正することと、
前記修正された読取りデータで前記ベクトルレジスタファイルを更新するように、前記単一の書込みポートに命令することと
を行うように構成された、請求項1に記載の装置。
【請求項８】
選択パターンに従って、ベクトルレジスタファイルの複数の素子バンクのうちの第1の素子バンクに、複数のアドレスラインのうちの第1のアドレスラインおよび前記複数のアドレスラインのうちの第2のアドレスラインのうちの1つを結合するステップと、
前記第1の素子バンクをアドレス指定するステップと、
前記ベクトルレジスタファイルの単一の読取りポートを介して、前記第1の素子バンクの中に記憶されたデータにアクセスするステップと
を含む、方法。
【請求項９】
前記選択パターンに従って、前記ベクトルレジスタファイルの前記複数の素子バンクのうちの第2の素子バンクに、前記複数のアドレスラインのうちの前記第1のアドレスラインおよび前記複数のアドレスラインのうちの前記第2のアドレスラインのうちの1つを結合するステップをさらに含み、前記第1の素子バンクと前記第2の素子バンクが共通のアドレスラインに結合された、請求項8に記載の方法。
【請求項１０】
前記選択パターンに従って、前記ベクトルレジスタファイルの前記複数の素子バンクのうちの第2の素子バンクに、前記複数のアドレスラインのうちの前記第1のアドレスラインおよび前記複数のアドレスラインのうちの前記第2のアドレスラインのうちの1つを結合するステップをさらに含み、前記第1の素子バンクと前記第2の素子バンクが異なるアドレスラインに結合された、請求項8に記載の方法。
【請求項１１】
複数の素子バンクを含む、ベクトルデータを記憶するための手段と、
選択パターンに従って、前記複数の素子バンクの各素子バンクに、複数のアドレスラインのうちの1つを結合するための手段と、
単一の読取りポートを介して、前記複数の素子バンクの中に記憶されたデータにアクセスするための手段であって、前記複数の素子バンクの各素子バンクが、前記複数のアドレスラインのうちの1つによってアドレス指定可能であり、前記複数の素子バンクのうちの少なくとも第1の素子バンクが、前記複数のアドレスラインのうちの第1のアドレスラインに結合され、前記複数の素子バンクのうちの第2の素子バンクが、前記複数のアドレスラインのうちの第2のアドレスラインに結合された、手段と
を備える、装置。
【請求項１２】
前記複数の素子バンクの各素子バンクに前記複数のアドレスラインのうちの1つを結合するための前記手段が、前記選択パターンを受信するように構成された共通データセレクタに結合された、請求項11に記載の装置。
【請求項１３】
プロセッサによって実行されたとき、
ベクトルレジスタファイルの複数の素子バンクの各素子バンクに複数のアドレスラインを結合するために、選択パターンを取得することと、
前記ベクトルレジスタファイルの単一の読取りポートを介して、前記複数の素子バンクの中に記憶されたデータにアクセスすることであって、前記複数の素子バンクの各素子バンクが、前記複数のアドレスラインのうちの1つによってアドレス指定され、前記複数の素子バンクのうちの少なくとも1つの素子バンクが、前記複数のアドレスラインのうちの第1のアドレスラインに結合され、前記複数の素子バンクのうちの第2の素子バンクが、前記複数のアドレスラインのうちの第2のアドレスラインに結合された、アクセスすることと
を前記プロセッサに行わせる命令を含む、コンピュータ可読記録媒体。
【請求項１４】
複数のマルチプレクサが、前記複数のアドレスラインと前記複数の素子バンクとの間に結合された、請求項13に記載のコンピュータ可読記録媒体。
【請求項１５】
複数の素子バンクを含むベクトルレジスタファイルと、
選択パターンに従って、前記複数の素子バンクに結合されるように構成された複数のアドレスラインと、
前記複数の素子バンクの中にデータを記憶するように構成された単一の書込みポートであって、前記複数の素子バンクの各素子バンクが、前記複数のアドレスラインのうちの1つによってアドレス指定可能であり、前記複数の素子バンクのうちの少なくとも1つの素子バンクが、前記複数のアドレスラインのうちの第1のアドレスラインに結合された、単一の書込みポートと
を備える、装置。
【請求項１６】
前記ベクトルレジスタファイルが複数のベクトルレジスタを含み、前記複数のベクトルレジスタの各ベクトルレジスタが、それぞれのベクトルレジスタ名を参照する命令によってアクセス可能である、請求項15に記載の装置。
【請求項１７】
2つの隣接する素子バンクのグループが、前記複数のアドレスラインのうちの第2のアドレスラインに結合された、請求項15に記載の装置。
【請求項１８】
前記複数の素子バンクの各素子バンクの中に記憶されたデータにアクセスするように構成された単一の読取りポートをさらに備え、前記ベクトルレジスタファイルがプロセッサに統合され、前記プロセッサが、単一の命令の実行中に、
読取りデータとして前記データにアクセスするように、前記単一の読取りポートに命令することと、
前記読取りデータを修正することと、
前記修正された読取りデータで前記ベクトルレジスタファイルを更新するように、前記単一の書込みポートに命令することと
を行うように構成された、請求項15に記載の装置。
【請求項１９】
前記複数の素子バンクのうちの特定の素子バンクが、前記複数のアドレスラインから複数のアドレスの各々を受信するように構成された複数のマルチプレクサのうちのマルチプレクサと、前記複数のアドレスのうちの1つを選択する制御装置とに結合され、前記特定の素子バンクが書込みデータラインを有する、請求項15に記載の装置。
【請求項２０】
前記複数のマルチプレクサが共通データセレクタに接続され、前記共通データセレクタが、前記選択パターンを受信するように構成された、請求項19に記載の装置。
【請求項２１】
選択パターンに従って、ベクトルレジスタファイルの複数の素子バンクのうちの第1の素子バンクに、複数のアドレスラインのうちの第1のアドレスラインおよび前記複数のアドレスラインのうちの第2のアドレスラインのうちの1つを結合するステップと、
前記第1の素子バンクをアドレス指定するステップと、
単一の書込みポートを介して、前記第1の素子バンクの中にデータを記憶するステップと
を含む、方法。
【請求項２２】
前記選択パターンに従って、前記ベクトルレジスタファイルの前記複数の素子バンクのうちの第2の素子バンクに、前記複数のアドレスラインのうちの前記第1のアドレスラインおよび前記複数のアドレスラインのうちの前記第2のアドレスラインのうちの1つを結合するステップをさらに含み、前記第1の素子バンクと前記第2の素子バンクが共通のアドレスラインに結合された、請求項21に記載の方法。
【請求項２３】
前記選択パターンに従って、前記ベクトルレジスタファイルの前記複数の素子バンクのうちの第2の素子バンクに、前記複数のアドレスラインのうちの前記第1のアドレスラインおよび前記複数のアドレスラインのうちの前記第2のアドレスラインのうちの1つを結合するステップをさらに含み、前記第1の素子バンクと前記第2の素子バンクが異なるアドレスラインに結合された、請求項21に記載の方法。
【請求項２４】
複数の素子バンクを含む、ベクトルデータを記憶するための手段と、
選択パターンに従って、前記複数の素子バンクの各素子バンクに、複数のアドレスラインのうちの1つを結合するための手段と、
単一の書込みポートを介して、前記複数の素子バンクの中にデータを書き込むための手段であって、前記複数の素子バンクの各素子バンクが、前記複数のアドレスラインのうちの1つによってアドレス指定可能であり、前記複数の素子バンクのうちの少なくとも第1の素子バンクが、前記複数のアドレスラインのうちの第1のアドレスラインに結合され、前記複数の素子バンクのうちの第2の素子バンクが、前記複数のアドレスラインのうちの第2のアドレスラインに結合された、手段と
を備える、装置。
【請求項２５】
前記複数の素子バンクの各素子バンクに前記複数のアドレスラインのうちの1つを結合するための前記手段が、共通データセレクタに結合され、前記共通データセレクタが前記選択パターンを受信するように構成された、請求項24に記載の装置。
【請求項２６】
プロセッサによって実行されたとき、
ベクトルレジスタファイルの複数の素子バンクの各素子バンクに複数のアドレスラインのうちの1つを結合するために、選択パターンを取得することと、
前記ベクトルレジスタファイルの単一の書込みポートを介して、前記複数の素子バンクの中にデータを記憶することであって、前記複数の素子バンクの各素子バンクが、前記複数のアドレスラインのうちの1つによってアドレス指定され、前記複数の素子バンクのうちの少なくとも第1の素子バンクが、前記複数のアドレスラインのうちの第1のアドレスラインに結合され、前記複数の素子バンクのうちの第2の素子バンクが、前記複数のアドレスラインのうちの第2のアドレスラインに結合された、記憶することと
を前記プロセッサに行わせる命令を含む、コンピュータ可読記録媒体。
【請求項２７】
前記複数のアドレスラインが、複数のマルチプレクサを介して、前記複数の素子バンクに結合された、請求項26に記載のコンピュータ可読記録媒体。
【国際調査報告】
2016500877.tif 000010
2016500877.tif 000011
2016500877.tif 000012