(57)【要約】【課題】マルチポート型メモリスーパーセル及びデータ経路スイッチング回路を伴う集積回路を提供する。【解決手段】集積回路は、複数のメモリリクエスタ及びメモリスーパーセルを含む。メモリスーパーセルは、別々にアドレスできる記憶位置の各範囲を各々形成する複数のメモリバンクを備え、メモリスーパーセルは、複数のバンクグループへと編成される。複数のバンクグループの各々は、複数のメモリバンクのサブセット及びそれに対応する専用アクセスポートを含む。集積回路は、更に、複数のメモリリクエスタとメモリスーパーセルとの間に結合されたスイッチを含む。このスイッチは、複数のメモリリクエスタの所与の１つによるメモリ要求に応答して、その所与のメモリリクエスタと、メモリ要求によりアドレスされるバンクグループのうちの特定の１つバンクグループの専用アクセスポートとの間にデータ経路を接続する。【選択図】図１
2011517219.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリリクエスタと、
別々にアドレス可能な記憶位置の各範囲を各々形成する複数のメモリバンクを含むメモリスーパーセルであって、このメモリスーパーセルは、複数のバンクグループへと編成され、これら複数のバンクグループの各々は、複数のメモリバンクのサブセット及びそれに対応する専用のアクセスポートを含むものであるメモリスーパーセルと、
前記複数のメモリリクエスタとメモリスーパーセルとの間に結合されたスイッチであって、前記複数のメモリリクエスタのうちの所与の１つによるメモリ要求に応答して、その所与のメモリリクエスタと、前記メモリ要求によりアドレスされるバンクグループのうちの特定の１つのバンクグループの専用アクセスポートとの間にデータ経路を接続するように構成されたスイッチと、
を備えた集積回路。
【請求項２】
前記複数のメモリバンクのうちの各メモリバンクは、アドレスデコーダを含む、請求項１に記載の集積回路。
【請求項３】
前記スイッチは、複数のセグメント及び複数の選択回路を含み、その複数の選択回路の各々は、前記複数のセグメントのうちの特定のセグメントを前記複数のセグメントのうちの別のセグメントに電気的に接続して、特定のリクエスタと第１又は第２のアクセスポートとの間に経路を形成するように構成され、前記複数のセグメントの第１サブセットは、前記メモリスーパーセルへデータを搬送するように構成され、更に、前記複数のセグメントの第２サブセットは、前記メモリスーパーセルからデータを搬送するように構成される、請求項１又は２に記載の集積回路。
【請求項４】
第１のバンクグループの記憶位置へデータを書き込むために特定のリクエスタによって開始される書き込み要求の間に、その特定のリクエスタからのデータは、第２のアクセスポートに接続されたセグメント上にデータを駆動せずに、第１のアクセスポートへの経路上に駆動される、請求項１から３のいずれかに記載の集積回路。
【請求項５】
第１のバンクグループの記憶位置からデータを読み取るために特定のリクエスタにより開始される読み取り要求の間に、複数のリクエスタのうちの他のリクエスタに接続されたセグメント上にデータを駆動せずに、第１のアクセスポートからその特定のリクエスタへの経路上にデータが駆動される、請求項１から４のいずれかに記載の集積回路。
【請求項６】
前記メモリスーパーセルは、前記複数のメモリバンクの第１サブセットの記憶位置にアドレスされた要求に対応するデータが第１アクセスポートを経て排他的に与えられ、且つ前記複数のメモリバンクの第２サブセットの記憶位置にアドレスされた要求に対応するデータが第２アクセスポートを経て排他的に与えられるように構成され、更に、前記スイッチング回路は、前記複数のメモリリクエスタのうちの所与のメモリリクエスタによるメモリ要求に応答して、そのメモリ要求が前記複数のメモリバンクの第１サブセットの記憶位置にアドレスされた場合にはその所与のメモリリクエスタと第１アクセスポートとの間に第１の対応データ経路を接続し、且つそのメモリ要求が前記複数のメモリバンクの第２サブセットの記憶位置にアドレスされた場合にはその所与のメモリリクエスタと第２アクセスポートとの間に第２の対応データ経路を接続するように構成された、請求項１から５のいずれかに記載の集積回路。
【請求項７】
前記複数のメモリバンクは、メモリスーパーセル内の二次元アレイで編成され、その二次元アレイは、第１方向に配列された少なくとも２つのメモリバンクと、第２方向に配列された少なくとも２つのメモリバンクとを含む、請求項６に記載の集積回路。
【請求項８】
前記複数のメモリバンクの第１サブセットは、前記二次元アレイの第１行における隣接メモリバンクの第１の対により形成され、更に、前記複数のメモリバンクの第２サブセットは、前記二次元アレイの第２行における隣接メモリバンクの第２の対により形成される、請求項７に記載の集積回路。
【請求項９】
前記メモリスーパーセルは、隣接メモリバンクの複数の付加的な対を含み、前記メモリスーパーセルは、隣接メモリバンクの各付加的な対の記憶位置にアドレスされる要求に対応するデータが付加的な対応アクセスポートを経て排他的に与えられるように構成される、請求項８に記載の集積回路。
【請求項１０】
前記複数のメモリバンクの第１サブセットは、第２アクセスポートよりも第１アクセスポートに物理的に接近しており、前記複数のメモリバンクの第２サブセットは、第１アクセスポートよりも第２アクセスポートに接近している、請求項６から９のいずれかに記載の集積回路。
【請求項１１】
前記スイッチユニットは、複数のセグメントと、その複数のセグメントのうちの特定のセグメントを、その複数のセグメントのうちの別のセグメントに結合するように各々構成された複数の選択回路とを備え、前記メモリスーパーセルは、そのメモリスーパーセル内の二次元アレイで編成された複数のメモリバンクを含み、その複数のメモリバンクは、複数のメモリバンクの対応サブセットを各々含む複数のバンクグループへと分割され、それらバンクグループの各々は、前記メモリスーパーセル内の複数のバンクグループのうちの他のバンクグループとは独立して前記スイッチユニットに結合され、そして前記集積回路は、前記スイッチユニット及び前記１つ以上のリクエスタの各々に結合されたコントローラを更に備え、このコントローラは、前記リクエスタの１つからのメモリスーパーセルアクセス要求に応答して、前記スイッチユニットをして、前記選択回路が、前記リクエスタの１つと、そのリクエスタに関連した記憶位置に対応するバンクグループとの間の経路に対応するセグメントを選択するようにさせるよう構成される、請求項１から１０のいずれかに記載の集積回路。
【請求項１２】
前記リクエスタの各々は、データキャッシュ及びインストラクションキャッシュを含むプロセッサコアであり、各プロセッサコアのデータキャッシュ及びインストラクションキャッシュは、前記スイッチユニットに結合される、請求項１１に記載の集積回路。
【請求項１３】
前記メモリスーパーセルは、レベル２（Ｌ２）キャッシュの少なくとも一部分を形成する、請求項１２に記載の集積回路。
【請求項１４】
前記複数のセグメントの第１サブセットは、前記メモリスーパーセルへデータを搬送するように構成され、前記複数のセグメントの異なるサブセットは、前記メモリスーパーセルからデータを搬送するように構成される、請求項１１に記載の集積回路。
【請求項１５】
複数のメモリリクエスタと、
別々にアドレス可能な記憶位置の各範囲を各々形成する複数のメモリバンクを含むメモリスーパーセルであって、このメモリスーパーセルは、複数のバンクグループへと編成され、これら複数のバンクグループの各々は、複数のメモリバンクのサブセット及びそれに対応する専用のアクセスポートを含むものであるメモリスーパーセルと、
前記複数のメモリリクエスタとメモリスーパーセルとの間に結合されたスイッチと、
を備えた集積回路において、
前記複数のメモリリクエスタのうちの所与の１つによるメモリ要求に応答して、その所与のメモリリクエスタと、前記メモリ要求によりアドレスされるバンクグループのうちの特定の１つのバンクグループの専用アクセスポートとの間にデータ経路を接続することを含む方法。
【請求項１６】
前記スイッチは、複数のセグメント及び複数の選択回路を含み、前記データ経路を接続することは、その複数のセグメントのうちの特定のセグメントを、その複数のセグメントのうちの別のセグメントに電気的に接続して、特定のリクエスタと第１又は第２のアクセスポートとの間に経路を形成することを含み、前記複数のセグメントの第１サブセットは、前記メモリスーパーセルへデータを搬送するように構成され、前記複数のセグメントの第２サブセットは、前記メモリスーパーセルからデータを搬送するように構成された、請求項１５に記載の方法。
【請求項１７】
第１のバンクグループの記憶位置へデータを書き込むために特定のリクエスタによって開始される書き込み要求の間に、その特定のリクエスタからのデータを、第２のアクセスポートに接続されたセグメント上にデータを駆動せずに、第１のアクセスポートへの経路上に駆動させる、請求項１５又は１６に記載の方法。
【請求項１８】
第１のバンクグループの記憶位置からデータを読み取るために特定のリクエスタにより開始される読み取り要求の間に、複数のリクエスタのうちの他のリクエスタに接続されたセグメント上にデータを駆動せずに、第１のアクセスポートからその特定のリクエスタへの経路上にデータを駆動させる、請求項１５から１７のいずれかに記載の方法。
【請求項１９】
前記複数のメモリバンクの第１サブセットの記憶位置にアドレスされた要求に対応するデータを、第１アクセスポートを経て排他的に与え、
前記複数のメモリバンクの第２サブセットの記憶位置にアドレスされた要求に対応するデータを、第２アクセスポートを経て排他的に与える、
ことを更に含む請求項１５から１８のいずれかに記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路に係り、より詳細には、集積回路内のメモリ及び関連アクセス経路の配列に係る。
【背景技術】
【０００２】
コンピュータ及び他の形式の電子システムは、多数の異なるレイヤを有するメモリハイアラーキーをしばしば含む。これらレイヤの中には、不揮発性記憶装置（例えば、ハードディスク記憶装置）、ランダムアクセスメモリ（ＲＡＭ）、及び１つ以上のレベルのキャッシュメモリが含まれる。プロセッサベースのシステムは、１つ以上のコアをもつプロセッサを備え、１つ以上のコアの各々は、１つ以上のキャッシュメモリを含む。例えば、多くのプロセッサは、インストラクションキャッシュ及びデータキャッシュを有する少なくとも１つのプロセッサコアを備え、これらは、メモリハイアラーキーの頂部にある。メモリハイアラーキーの頂部にあるキャッシュメモリは、レベル１（即ちＬ１）キャッシュと称される。又、多くのプロセッサは、レベル２（即ちＬ２）キャッシュも備え、これは、プロセッサコアのデータ及びインストラクションキャッシュにより共有され、更に、マルチコアプロセッサにおける複数のプロセッサコアにより共有される。
【０００３】
これら形式のあるメモリ、例えば、Ｌ２キャッシュは、集積回路（ＩＣ）上に設けられるときに、メモリスーパーセルとして知られたものへと編成される。メモリスーパーセルとは、共通のインターフェイス（時々「タップポイント」と称される）を共有するメモリバンクの二次元アレイ（例えば、メモリバンクの行及び列）である。特に、ＩＣを設計するときには、各メモリバンクは、セルの形態であり、ＩＣダイにおけるその位置と、他の画成されたセル及び／又は他の機能的ユニットへの相互接続は、ＩＣ設計ツールによって操作される。メモリスーパーセルは、設計ツールによりＩＣ上に同様に配置される大きな一体化メモリセルを形成するように相互接続されるこのようなメモリバンクセルの集合に過ぎない。
【０００４】
このようなメモリスーパーセルでは、所与のアドレスがスーパーセルの１つのバンクへマップされる。書き込みオペレーション中にスーパーセルへ転送される情報は、インターフェイスにより受け取られ、次いで、マップされるアドレスにより指示されるメモリバンク内の位置へルーティングされる。同様に、読み取りオペレーションを遂行するときは、情報が、スーパーセルのメモリバンクの１つにおけるアドレスされた位置からインターフェイスへルーティングされ、従って、要求を発している装置へルーティングされる。
【発明の概要】
【０００５】
集積回路が開示される。一実施形態では、集積回路は、複数のメモリリクエスタ及びメモリスーパーセルを含む。メモリスーパーセルは、別々にアドレスできる記憶位置の各範囲を各々形成する複数のメモリバンクを備え、メモリスーパーセルは、複数のバンクグループへと編成される。複数のバンクグループの各々は、複数のメモリバンクのサブセット及びそれに対応する専用のアクセスポートを含む。集積回路は、更に、複数のメモリリクエスタとメモリスーパーセルとの間に結合されたスイッチを含む。このスイッチは、複数のメモリリクエスタの所与の１つによるメモリ要求に応答して、その所与のメモリリクエスタと、メモリ要求によりアドレスされるバンクグループのうちの特定の１つバンクグループの専用アクセスポートとの間にデータ経路を接続するように構成される。
【０００６】
本発明の他の態様は、添付図面を参照して以下の詳細な説明を読んだときに明らかとなろう。
【図面の簡単な説明】
【０００７】
【図１】集積回路の一実施形態のブロック図である。
【図２】メモリスーパーセルの一実施形態のブロック図である。
【図３】メモリスーパーセルの別の実施形態のブロック図である。
【図４】集積回路のブロック図で、スイッチングユニットの一実施形態を詳細に示すブロック図である。
【図５】集積回路の一実施形態を更に詳細に示すブロック図である。
【図６】複数のプロセッサコア及び一対のメモリスーパーセルを含む集積回路の一実施形態を示すブロック図である。
【図７】複数のプロセッサコア及び一対のメモリスーパーセルを含む集積回路の別の実施形態を示すブロック図である。
【発明を実施するための形態】
【０００８】
本発明は、種々の変更及び別の形態を受けるが、その特定の実施形態を一例として図示して以下に詳細に述べる。しかしながら、図面及びそれに対する説明は、本発明を、ここに開示する特定の形態に限定するものではなく、本発明は、特許請求の範囲により規定された本発明の精神及び範囲内に入る全ての変更、等効物及び代替物を網羅することを理解されたい。
【０００９】
図１は、集積回路の一実施形態のブロック図である。ここに示す実施形態では、集積回路（ＩＣ）１０は、リクエスタ(requestor)２２、２４、２６及び２８を備え、その各々は、制御ユニット１５及びスイッチユニット２０に結合される。又、ＩＣ１０は、スイッチユニット２０に結合されたメモリスーパーセル１８も備えている。図１に示すＩＣ１０の種々のコンポーネントは、ある実施形態では、単一のＩＣにおいて実施される。図示された実施形態では、スイッチユニット２０は、メモリスーパーセル１８とリクエスタ２２−２８との間（及びその外部）に物理的に配置される。
【００１０】
リクエスタ２２−２８の各々は、その外部のメモリ、例えば、メモリスーパーセル１８へのアクセスを要求するサブシステム又は装置を表す。このようなアクセスは、読み取りアクセス、書き込みアクセス、又はその両方を含む。ある実施形態では、リクエスタ２２−２８の各々は、同じ機能的ユニット（例えば、インストラクションキャッシュ及びデータキャッシュ、等を含む対称的マルチコアプロセッサのコア）でよい。他の実施形態では、リクエスタ２２−２８の少なくとも１つは、他のリクエスタとは異なるものでよい（例えば、非対称的マルチコアプロセッサのコア）。リクエスタの特定数は、実施形態ごとに変化してもよく、ここに示すものより多くても少なくてもよい。１つ程度のリクエスタを伴う実施形態も考えられ、意図される。
【００１１】
ここに示す実施形態では、メモリスーパーセル１８は、複数のメモリバンク１９を含む。上述したように、ＩＣの設計段階中に、メモリバンクの各々は、設計ツールにより操作できるセルとして画成される。メモリスーパーセル１８も、その概念において、他のセル又は機能的ユニットに対するその位置及び相互接続を設計ツールにより操作できるように画成される。図示された実施形態におけるメモリスーパーセル１８は、メモリバンク１９の二次元アレイを含む。その配列は、メモリバンク１９の少なくとも２つが第１の方向（例えば、行）に配列される一方、メモリバンク１９の少なくとも２つが第２の方向（例えば、列）に配列される。二次元の各方向におけるメモリバンク１９の特定数は、実施形態ごとに変化する。各メモリバンク１９は、別々にアドレス可能な記憶位置の各範囲を形成する。メモリアクセス要求は、各々、これらの別々にアドレス可能な記憶位置の１つ以上へアドレスすることができる。
【００１２】
図１のメモリスーパーセル１８は、この実施形態では、ポート０及びポート１と示されたポート２１（時々「タップポイント」と称される）を経てスイッチユニット２０へ結合される。以下に述べるように、図１に示す複数のメモリバンク１９は、個々のバンクグループへと編成される。所与のバンクグループのバンクへの又はバンクからのデータ（ここで使用する「データ」という語は、インストラクションも含むものとする）の転送は、その特定のバンクグループに関連したポート２１を経て排他的に行われ、一方、別のバンクグループへの／からのデータの転送は、別のポートを経て行われ、これについては、以下で詳細に説明する。
【００１３】
図示された実施形態におけるリクエスタ２２−２８の各々は、メモリスーパーセル１８へアクセスするための要求を含む信号を制御ユニット１５へ与えるように構成される。メモリスーパーセル１８へアクセスする要求を与えるときには、特定のリクエスタ２２−２８は、アクセスされるべきアドレスを指示すると共にその要求が読み取り要求であるか書き込み要求であるか指示する情報を制御ユニット１５に与える。制御ユニット１５は、それに応答して、要求により識別されるメモリ位置と、それに対応するリクエスタとの間でデータを搬送するための経路を決定するように構成される。特に、制御ユニット１５は、要求されたメモリ位置に関連したメモリスーパーセル１８のポートと、それに対応するリクエスタとの間の経路を形成するためにスイッチユニット２０の種々のセグメントを決定するように構成される。制御ユニット１５からの制御信号を受信するのに応答して、スイッチユニット２０は、リクエスタと、要求に関連したメモリスーパーセル１８のポートとの間の経路を形成するセグメントを選択するように構成される。
【００１４】
又、制御ユニット１５は、要求されたメモリ位置を含むバンクグループへある制御信号を直接与えることもできる。このような制御信号は、イネーブル信号（例えば、読み取りイネーブル、書き込みイネーブル）及び選択信号（例えば、要求に関連したバンク及びアドレスを選択するための）を含むことができる。複数の未処理のアクセス要求が受け取られる状態では、制御ユニット１５は、要求を実行する順序を決定するためにプライオリティ決め機能を遂行する。
【００１５】
図２は、メモリスーパーセル１８の一実施形態のブロック図である。又、図２は、複数のメモリバンク１９の代表的な１つを示す。ここに示す実施形態では、メモリスーパーセル１８は、８つのメモリバンク１９を含み、これらは、４つの行及び２つの列へと編成される。メモリスーパーセル１８は、更に、ここでバンクグループ０、バンクグループ１、バンクグループ２、及びバンクグループ３と称される４つのメモリユニットへと編成される。これらバンクグループの各々は、対応するＩ／Ｆユニット１８５に結合された対応するポート２１を含み、例えば、バンクグループ０は、Ｉ／Ｆ０に結合されたポート０を含み、等々となる。所与のメモリグループの各ポート２１は、そのグループのメモリバンク１９に対して排他的である。同様に、所与のメモリグループの各Ｉ／Ｆユニット１８５も、そのグループのメモリバンク１９に対して排他的である。例えば、バンクグループ０のメモリバンクへの又はメモリバンクからのデータ転送は、ポート０及びＩ／Ｆ０を経て行われ、一方、バンクグループ３のメモリバンクへの又はメモリバンクからのデータ転送は、ポート３及びＩ／Ｆ３を経て行われる。Ｉ／Ｆユニット１８５の各々は、その特定のバンクグループのメモリバンクとその特定のメモリグループの対応ポート２１との間でデータを搬送するためのインターフェイスをなす。各Ｉ／Ｆユニット１８５は、所与のメモリバンク１９内の位置へのアクセス中にそのメモリバンクとそれに対応するポート２１との間でデータをルーティングするように構成されたスイッチング回路（例えば、マルチプレクサ、デマルチプレクサ、等）を含む。ある実施形態では、各Ｉ／Ｆユニット１８５は、その特定のバンクグループのメモリバンク１９へアドレス情報及び／又は他の制御情報も与える。しかしながら、アドレス情報及び制御信号が他の機能的ユニットにより（例えば、図１の制御ユニット１５から直接）与えられる実施形態も考えられ、意図される。
【００１６】
図示された実施形態では、所与のバンクグループのメモリバンク１９の各々が、他のバンクグループに関連したポート２１より、その関連ポート２１に物理的に接近する。例えば、バンクグループ０のメモリバンク１９は、バンクグループ１−３のいずれに関連したポートよりも、ポート０に物理的に接近する。メモリスーパーセルに対して単一のポート（従って、単一ポートインターフェイスユニット）が設けられる実施形態とは対照的に、図２に示す配列では、データが外部位置からメモリスーパーセル１８内の所与のメモリバンク１９へ及びそのメモリバンク１９から外部位置へと駆動される距離が最小にされる。又、各Ｉ／Ｆユニット１８５を形成する回路は、所与のバンクグループのメモリバンク１９間のある位置に物理的に設けられることにも注意されたい。
【００１７】
ＩＣ１０のような集積回路で実施されるときには、メモリスーパーセル１８の各ポート２１は、スイッチユニット２０から第１経路を経てデータを受け取るように結合されると共に、第２経路を経てスイッチユニットへデータを与えるように結合される（即ち、データを書き込み及びデータを読み取るために単一方向性経路が使用される実施形態において）。従って、以下で詳細に述べるように、この配列は、情報が第１バンクグループ内のメモリ位置へ書き込まれると共に第２バンクグループ内のメモリ位置から読み取られる同時読み取り・書き込みオペレーションを行えるようにする。
【００１８】
上述したように、図２は、代表的なメモリバンク１９の一実施形態も示す。メモリスーパーセル１８内で実施するための他の形式のメモリバンクも考えられ、意図される。図示された実施形態では、メモリバンク１９は、行及び列のアレイに配列された複数のメモリビットセルを含む。所与の行のメモリビットセルは、ワード線によって互いに結合され、一方、所与の列のメモリビットセルは、ビット線によって互いに結合される。ここに示す実施形態では、各メモリビットセルは、単一のビット線に結合されるが、メモリビットセルが２本のビット線（例えば、真のデータ及び相補的データを搬送する）に結合されるような実施形態も考えられ、意図される。
【００１９】
ここに示す実施形態のメモリバンク１９は、アドレスデコーダ１９１及びＩ／Ｏユニット１９２を備えている。アドレスデコーダ１９１は、外部ソースから（例えば、上述した実施形態のＩ／Ｆユニット１８５又は制御ユニット１５から）アドレスを受け取るように結合され、その受け取ったアドレスをデコードするように構成される。Ｉ／Ｏユニット１９２は、メモリセルから情報を読み取り及び／又はメモリセルへ情報を書き込むための種々の回路を含む。例えば、一実施形態では、Ｉ／Ｏユニット１９２は、複数のセンス増幅器を備え、その各々は、それに対応するビット線に結合される。又、Ｉ／Ｏユニット１９２は、複数のドライブ回路も備え、その各々は、それに対応するビット線に結合される。
【００２０】
ここに示す実施形態では、アドレスデコーダ１９１は、アドレスをデコードしてそれに対応するワード線をアクチベートするように構成される。アクチベートされると、所与のワード線は、それに結合されたメモリセルをそれらの各ビット線に対して透過的となるようにする（即ち、デコードされたアドレスのメモリセルが選択される）。読み取り動作中に、その選択されたメモリセルに記憶されたデータは、Ｉ／Ｏユニット１９２のセンス増幅器により感知され、そしてメモリバンク１９からそれに対応するＩ／Ｆユニット１８５へ（従って、それに対応するポート２１へも）駆動される。書き込みオペレーション中に、データは、Ｉ／Ｏユニット１９２のドライバ回路により受け取られ、従って、選択されたメモリセルへ書き込まれる。読み取り又は書き込みオペレーションが完了すると、選択されたメモリセルのワード線がデアクチベートされ、従って、メモリセルに最も最近書き込まれたそのデータが記憶される。
【００２１】
図３は、メモリスーパーセル１８の別の実施形態のブロック図である。この特定の実施形態では、メモリスーパーセル１８は、図２の実施形態に示された４つではなく、２つのバンクグループを備える。従って、図３のメモリスーパーセル１８は、２つのポート２１及び２つのＩ／Ｆユニット１８５を含む。この特定の実施形態におけるバンクグループの各々は、４つのメモリバンク１９を含む。
【００２２】
一般的に述べると、メモリスーパーセル１８は、この開示に基づき広範囲な様々な構成で実施される。各メモリスーパーセルは、複数のバンクグループを含み、その各々は、複数のメモリバンクを含む。各バンクグループは、その特定のバンクグループに対して各々排他的なポート及びＩ／Ｆユニットを含む（即ち、所与のポートは、それに対応するバンクグループ内の位置へ書き込まれ又はそこから読み取られるデータを搬送するのに専用のものとされる（即ち、他のバンクグループへ／からデータを搬送しない））。更に、特定のバンクグループのメモリバンクは、他のバンクグループに関連したポートより、そのバンクグループに関連したポートに物理的に接近する。これは、あるバンクグループの特定のメモリバンクとそのバンクグループのポートとの間でデータが駆動される距離、ひいては、所与のメモリリクエスタへの全距離を短縮することができる。データが駆動される全距離を短縮することで、消費電力が比較的低くなり、データ転送に関連した待ち時間も短くなる。
【００２３】
図４は、スイッチユニット２０の一実施形態を更に詳細に示すＩＣ１０の図である。上述した図面の要素に対応する図４の要素は、簡略化のために同様に番号付けされる。図４に示すメモリスーパーセル１８は、とりわけ、図２の構成又は図３の構成に基づいて実施できることに注意されたい。
【００２４】
ここに示す実施形態では、スイッチユニット２０は、複数の選択回路２０２を含むと共に、複数のセグメント２０５及び２１０も含む。簡略化のために、セグメントの代表的な１つしか示されていない。セグメント２０５は、複数のセグメントの第１サブセットを形成し、リクエスタ２２−２８からメモリスーパーセル１８の選択されたバンクグループへ情報（書き込みデータ）を搬送するのに使用できる。セグメント２１０は、複数のセグメントの第２サブセットを形成し、メモリスーパーセル１８の選択されたバンクグループからリクエスタ２２−２８の１つへ情報（読み取りデータ）を搬送するのに使用できる。従って、セグメント２０５は、第１方向に単一方向性であり、一方、セグメント２１０は、第２方向に単一方向性である。各セグメントは、メモリスーパーセル１８とリクエスタ２２−２８の１つとの間でデータを転送するために情報のビットが搬送される複数の信号線（例えば、導体）を含む。
【００２５】
この実施形態における各選択回路２０２は、複数のセグメントの特定のセグメントを、複数のセグメントの少なくとも１つの他のセグメントに電気的に結合するように構成される。ここに示す実施形態では、各選択回路２０２は、マルチプレクシング機能を遂行するように構成される。より詳細には、この実施形態における選択回路２０２の各々は、別のセグメントへ電気的に接続されるべき２つのセグメントの１つを選択するように構成される。一般的に、スイッチユニット２０の種々の実施形態は、マルチプレクシング機能、デマルチプレクシング機能、ゲート機能、又はその種々の組み合せを遂行する選択回路２０２を使用して具現化される。マルチプレクシング機能を遂行する選択回路２０２は、２つ以上の入力セグメントを第３（出力）セグメントへ結合する。デマルチプレクシング機能を遂行する選択回路２０２は、入力セグメントを２つ以上の出力セグメントの１つへ結合する。ゲート機能を遂行する選択回路２０２は、イネーブルされると、入力セグメントを出力セグメントへ結合する。
【００２６】
ここには明確に示さないが、ここに示す実施形態における各選択回路２０２は、制御ユニット１５から１つ以上の制御信号を受け取るように結合される。より詳細には、この実施形態における各選択回路２０２は、２つの対応する入力セグメントのどちらをそれに対応する出力セグメントに電気的に接続すべきか示す少なくとも１つの選択信号を受信するように結合される。ある実施形態では、各選択回路２０２は、イネーブル信号を受信するようにも結合される。イネーブル信号は、リクエスタ２２−２８の１つと、メモリスーパーセル１８のバンクグループ０−３の１つとの間に経路を形成するのに選択回路２０２が使用されるときに、それをイネーブルするためにアサートされる。選択回路２０２に与えられるイネーブル信号は、その選択回路が使用されないときにはデアサートされる。選択回路２０２は、それがディスエイブルされると、出力セグメントの信号線を高インピーダンス状態に入れるようにする。
【００２７】
ここに示す実施形態は、複数のセグメントを個別の第１及び第２サブセット（即ち、セグメント２０５を含む第１サブセット及びセグメント２１０を含む第２サブセット）へと分割するので、同時の読み取り及び書き込みをサポートすることができる。例えば、データがリクエスタ２２からバンクグループ０の位置へ書き込まれると同時に、リクエスタ２８によりバンクグループ３からデータが読み取られる。又、ある実施形態では、単一のバンクグループ及び／又は単一のリクエスタを含む同時の読み取り及び書き込みをサポートすることもできる。例えば、このような実施形態では、リクエスタ２４は、バンクグループ１の位置にデータを書き込むと同時に、バンクグループ２の位置からデータを読み取ることができる。別の例において、１つのこのような実施形態では、リクエスタ２６がバンクグループ２の第１の位置へデータを書き込むと同時に、リクエスタ２４がバンクグループ２の第２の位置からデータを読み取ることがサポートされる。上述したように、制御ユニット１５は、プライオリティ決め機能を遂行するように構成され、従って、同時アクセスがサポートされる実施形態において同時の読み取り及び書き込みアクセスをスケジュールすることができる。又、制御ユニット１５は、ある状況において（例えば、同じメモリ位置から読み取り且つそこへ書き込む要求がある場合に）同時の読み取り及び書き込みを防止するように構成されてもよい。
【００２８】
図５は、リクエスタとメモリのバンクグループとの間の経路を選択する例を示すブロック図である。ここに示す例は、図４の実施形態に基づくものであり、従って、図５に示す要素は、図４の対応要素と同じ番号が付けられている。この例に示す経路は、破線及び対応する参照文字で示されたセグメントを含む。対応する参照文字をもたずに実線で示された他のセグメントは、この例の指示された経路の部分ではない。
【００２９】
図５に示す例では、リクエスタ２２は、セグメント２０５Ｄ及び２０５Ｅで形成された第１経路を経てバンクグループ０に結合される。従って、リクエスタ２２は、バンクグループ０内のメモリ位置へ情報を書き込むように結合される。この同じ例において、リクエスタ２６は、セグメント２１０Ｅ、２１０Ｆ及び２１０Ｇで形成された第２の経路によりバンクグループ２に結合される。従って、この例におけるリクエスタ２６は、バンクグループ２からデータを読み取るように結合される。これらの経路は、リクエスタ２２がバンクグループ０の位置へデータを書き込むと同時に、リクエスタ２６がバンクグループ２の位置からデータを読み取ることができるように、図示されたように構成される。メモリスーパーセル１８の第１位置からデータを読み取ると同時に、その別の位置へデータを書き込む能力は、全体的に効率的なオペレーションを可能にする。しかしながら、この例に示す経路は、同時でない異なる時間に前記読み取り及び書き込みオペレーションを行えるように構成されてもよい。
【００３０】
図５に示す例は、リクエスタ２２からバンクグループ０のポート０へデータを駆動するときに、リクエスタ２２をポート０へ電気的に接続するセグメント２０５上のみでデータが駆動されるというものである。同様に、図示された例は、バンクグループ２からリクエスタ２６へデータを駆動するときに、ポート２をリクエスタ２６へ電気的に接続するセグメント２１０上のみでデータが駆動されるというものである。一般的に、所与のリクエスタが、図示された実施形態において、メモリスーパーセル１８内の位置へデータを書き込むべきときには、開始リクエスタと、データを書き込むべき記憶位置に対応するポートとの間に電気的接続されたセグメント２０５上のみでデータが駆動される。同様に、所与のリクエスタが、図示された実施形態において、メモリスーパーセル１８内の位置からデータを読み取るべきときには、データを読み取るべきところのポート関連記憶位置と開始リクエスタの入力との間に電気的接続されたセグメント２１０上のみでデータが駆動される。その結果、比較的短いデータ経路が設けられ、データに対応する信号が駆動されるところの距離が短くなる。これは、次いで、消費電力を比較的低いものにする。
【００３１】
一般的に、スイッチング回路２０は、リクエスタ２２−２８のいずれか１つからバンクグループ０−３のいずれかへの書き込みオペレーションを可能にするために選択回路２０２のうちの特定の回路にセグメント２０５のうちの種々のセグメントを選択させるように構成される。同様に、スイッチング回路２０は、リクエスタ２２−２８のいずれか１つによるバンクグループ０−３のいずれかからの読み取りオペレーションを可能にするために選択回路２０２のうちの特定の回路にセグメント２１０のうちの種々のセグメントを選択させるように構成される。特定のセグメントの選択は、要求の形式（読み取り又は書き込み）及び要求された位置に基づいて制御ユニット１５の指示のもとで遂行される。衝突が生じない（同じアドレスでの同時の読み取り及び書き込みの試みがない）ときには、同時読み取り及び書き込みオペレーションを遂行することができる。
【００３２】
図６は、複数のプロセッサコア及びメモリスーパーセルを有する集積回路で実施されるプロセッサシステムの一実施形態のブロック図である。ここに示す実施形態では、プロセッサ１００は、第１プロセッサコア１０１及び第２プロセッサコア１０２を備えている。プロセッサコア１０１及び１０２の各々は、スイッチユニット２０に結合される。スイッチユニット２０は、次いで、メモリスーパーセル１８１及び１８２により集合的に形成されたＬ２キャッシュ１８０に結合される。スイッチユニット２０を形成する回路は、Ｌ２キャッシュ１８０と、図示された一対のプロセッサコアとの間に物理的に配置される。又、プロセッサ１００は、上述した実施形態の制御ユニット１５と同様の制御ユニットも含むが、簡略化のために図示されていない。
【００３３】
プロセッサコア１０１は、インストラクションキャッシュ１１１、データキャッシュ１１２、及びコアインターフェイス１１３を含む。同様に、プロセッサコア１０２は、インストラクションキャッシュ１２１、データキャッシュ１２２、及びコアインターフェイス１２３を含む。プロセッサコア１０１及び１０２のインストラクション及びデータキャッシュは、この実施形態では、レベル１（Ｌ１）キャッシュを形成する。この実施形態では、コアインターフェイス１１３及び１２３は、各Ｌ１キャッシュからＬ２キャッシュ１８０へ情報を書き込むように構成されたキャッシュ書き戻しユニットである。又、コアインターフェイス１１３及び１２３は、それらの各プロセッサコアと他の機能的ユニットとの間の通信を可能にする付加的なインターフェイス機能も含む。
【００３４】
この特定の実施形態では、プロセッサコア１０１及び１０２は、上述したリクエスタの役割を果たす。リクエスタとしての役割において、プロセッサコア１０１及び１０２は、メモリスーパーセル１８１及び１８２からそれらの各インストラクション又はデータキャッシュへの入力を経てデータを受け取る。情報は、この実施形態のプロセッサコア１０１及び１０２からそれらの各コアインターフェイスを経て出力される。しかしながら、図示された各インストラクションキャッシュ、データキャッシュ及びコアインターフェイス、それ自体が、リクエスタの役割を果たすことのできる実施形態も考えられ、意図されることに注意されたい。従って、これらのユニットは、リクエスタとしての役割を果たすときに、Ｌ２キャッシュ１８０へのデータの転送及び／又はＬ２キャッシュ１８０からのデータの受け取りを生じさせるアクセス要求を開始する。
【００３５】
上述したように、図６に示す実施形態では、Ｌ２キャッシュ１８０は、第１のメモリスーパーセル１８１及び第２のメモリスーパーセル１８２を備えている。図６に示すメモリスーパーセル１８１及び１８２の各々は、図２に示すメモリスーパーセル１８の実施形態と同様に構成される。即ち、メモリスーパーセル１８１及び１８２の各々は、２つのメモリバンク各々の４つのバンクグループを含み、各バンクグループは、それ自身のメモリポート２１及びそれ自身のＩ／Ｆユニット１８５を含む。
【００３６】
ここに示す実施形態におけるキャッシュ線は、この実施形態では両メモリスーパーセル１８１及び１８２にわたって記憶される（例えば、６４バイトのキャッシュ線の場合に、３２バイトの所与のキャッシュ線は、メモリスーパーセル１８１の対応するメモリバンク内に記憶され、そして残りの３２バイトは、メモリスーパーセル１８２の対応するメモリバンク内に記憶される）。従って、プロセッサシステム１００は、メモリスーパーセル１８１におけるバンクグループのメモリ位置への書き込みを、メモリスーパーセル１８２におけるバンクグループのメモリ位置への書き込みと同時にサポートする。同様に、プロセッサ１００は、メモリスーパーセル１８１におけるバンクグループのメモリ位置からの読み取りを、メモリスーパーセル１８２におけるバンクグループのメモリ位置からの読み取りと同時に遂行することもできる。種々の実施形態では、プロセッサシステム１００は、異なるキャッシュ線の同時読み取り及び書き込みを行うことができる。従って、プロセッサ１００のこの実施形態は、２つの読み取りオペレーション（１つは、第１キャッシュ線に対してメモリスーパーセル１８１から及びもう１つは、メモリスーパーセル１８２から）を、２つの書き込みオペレーション（１つは、第２キャッシュ線に対してメモリスーパーセル１８１へ及びもう１つは、メモリスーパーセル１８２へ）と同時に遂行することをサポートすることができる。
【００３７】
図７は、プロセッサシステムの別の実施形態を示すブロック図である。この特定の実施形態では、Ｌ２キャッシュ１８０のメモリスーパーセル１８１及び１８２は、各々、上述した図３の構成に基づいて実施される。各バンクグループは、対応するポート２１及び対応するＩ／Ｆユニット１８５を含む。上述した実施形態と同様に、キャッシュ線の転送は、両メモリスーパーセル１８１及び１８２からの同時の読み取り、又はメモリスーパーセル１８１及び１８２への書き込みを含む。
【００３８】
以上、特定の実施形態を参照して本発明を説明したが、これら実施形態は、例示に過ぎず、本発明の範囲は、それに限定されるものではないことを理解されたい。上述した実施形態に対して変更、修正、追加及び改善が考えられる。これら変更、修正、追加及び改善は、特許請求の範囲に規定された本発明の範囲内に包含される。
【符号の説明】
【００３９】
１０：集積回路（ＩＣ）
１５：制御ユニット
１８：メモリスーパーセル
１９：メモリバンク
２０：スイッチユニット
２１：ポート
２２、２４、２６、２８：リクエスタ
１００：プロセッサ
１０１、１０２：プロセッサコア
１１１、１２１：インストラクションキャッシュ
１１２、１２２：データキャッシュ
１１３、１２３：コアインターフェイス
１８０：Ｌ２キャッシュ
１８１、１８２：メモリスーパーセル
１８５：Ｉ／Ｆユニット
１９１：アドレスデコーダ
１９２：Ｉ／Ｏユニット
２０２：選択回路
２０５、２１０：セグメント
【図１】
2011517219.tif 000003
【図２】
2011517219.tif 000004
【図３】
2011517219.tif 000005
【図４】
2011517219.tif 000006
【図５】
2011517219.tif 000007
【図６】
2011517219.tif 000008
【図７】
2011517219.tif 000009
【国際調査報告】
2011517219.tif 000010
2011517219.tif 000011