JP2010531518A - トランザクション順序付けを維持しながら複数のターゲットへの未処理要求をサポートする種々の方法および装置 - Google Patents
トランザクション順序付けを維持しながら複数のターゲットへの未処理要求をサポートする種々の方法および装置 Download PDFInfo
- Publication number
- JP2010531518A JP2010531518A JP2010515052A JP2010515052A JP2010531518A JP 2010531518 A JP2010531518 A JP 2010531518A JP 2010515052 A JP2010515052 A JP 2010515052A JP 2010515052 A JP2010515052 A JP 2010515052A JP 2010531518 A JP2010531518 A JP 2010531518A
- Authority
- JP
- Japan
- Prior art keywords
- target
- channel
- memory
- address
- burst
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title abstract description 27
- 230000004044 response Effects 0.000 claims abstract description 246
- 230000015654 memory Effects 0.000 claims description 435
- 239000003999 initiator Substances 0.000 claims description 313
- 239000003795 chemical substances by application Substances 0.000 claims description 181
- 238000013461 design Methods 0.000 claims description 76
- 238000012545 processing Methods 0.000 claims description 20
- 238000000638 solvent extraction Methods 0.000 claims description 18
- 230000003139 buffering effect Effects 0.000 claims description 17
- 238000003860 storage Methods 0.000 claims description 13
- 238000005192 partition Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 abstract description 16
- 230000004927 fusion Effects 0.000 description 102
- 238000012546 transfer Methods 0.000 description 63
- 239000000872 buffer Substances 0.000 description 54
- 230000007246 mechanism Effects 0.000 description 45
- 230000000875 corresponding effect Effects 0.000 description 27
- 230000006870 function Effects 0.000 description 27
- 238000013467 fragmentation Methods 0.000 description 26
- 238000006062 fragmentation reaction Methods 0.000 description 26
- 238000010586 diagram Methods 0.000 description 24
- 238000006243 chemical reaction Methods 0.000 description 17
- 238000004088 simulation Methods 0.000 description 15
- 238000012360 testing method Methods 0.000 description 14
- 238000004422 calculation algorithm Methods 0.000 description 13
- 230000008520 organization Effects 0.000 description 13
- 230000000903 blocking effect Effects 0.000 description 12
- 238000011144 upstream manufacturing Methods 0.000 description 12
- 230000008901 benefit Effects 0.000 description 11
- 238000004519 manufacturing process Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 9
- 230000015572 biosynthetic process Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 8
- 238000003786 synthesis reaction Methods 0.000 description 8
- 238000013459 approach Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 238000012795 verification Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 5
- 230000002829 reductive effect Effects 0.000 description 5
- 238000013515 script Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000004806 packaging method and process Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000012141 concentrate Substances 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 238000012938 design process Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000001459 lithography Methods 0.000 description 2
- 230000013011 mating Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 229910000679 solder Inorganic materials 0.000 description 2
- 230000008685 targeting Effects 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 241001481833 Coryphaena hippurus Species 0.000 description 1
- 101000596298 Homo sapiens Modulator of macroautophagy TMEM150B Proteins 0.000 description 1
- 101000836005 Homo sapiens S-phase kinase-associated protein 1 Proteins 0.000 description 1
- 102100035252 Modulator of macroautophagy TMEM150B Human genes 0.000 description 1
- 101001122448 Rattus norvegicus Nociceptin receptor Proteins 0.000 description 1
- 102100025487 S-phase kinase-associated protein 1 Human genes 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 235000003642 hunger Nutrition 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 235000013599 spices Nutrition 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000002459 sustained effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1072—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
- G06F15/17368—Indirect interconnection networks non hierarchical topologies
- G06F15/17375—One dimensional, e.g. linear array, ring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0607—Interleaved addressing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Dram (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Logic Circuits (AREA)
- Bus Control (AREA)
- Memory System (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Multi Processors (AREA)
Abstract
Description
本出願は、2007年6月25日出願の「内部制御を実施するインターコネクト」という名称の米国特許仮出願出願番号第60/946、096号、並びに2008年6月24日出願の「内部制御を実施するインターコネクト」という名称の米国一般特許出願出願番号第12/144、883号に関し、かつこれらの特許の恩典を請求するものである。
本特許文書の開示内容の一部は、著作権保護を受ける材料を含む。著作権所有者は、ソフトウエアエンジン及びそのモジュールの何人による複製にも、それが米国特許商標局特許ファイル又は記録に現れる時には異議はないが、他の場合には、全ての著作権を保有するものである。
本発明の実施形態は、一般的に内部制御を実施するインターコネクト装置に関する。
典型的な手法では、トラフィックが合流してターゲットから来るのが早すぎる応答データを保持する点でエリア消費型並べ替えバッファリングが用いられる。
多くの種類のIPコア・ターゲット・ブロックは、結合させると、それらのアドレス空間をインタリーブさせることができる。以下で説明する内容では、システム・アドレス空間内に単一の集合ターゲットを作成するためにインタリーブされるターゲットブロックとしてメモリ・ブロックを使用する。以下で説明する例示的な「集合ターゲット」は、集合ターゲット・セットにわたってインタリーブされたアドレス指定をサポートする1つ又はそれよりも多くのアドレス領域を共有する異なる外部DRAMチップのような個々のメモリ・チャネルの集合である。別の集合ターゲットは、システムにより単一のターゲットとして認識かつ処理される異なるIPブロックの集合である。
図4は、例示的な個別の「DRAM IP」コアが所定のメモリ・インタリーブ・セグメントに分割され、次に、他の「DRAM IP」ブロックからのメモリ・セグメントとインタリーブされる構成パラメータを有する連続アドレス空間のマップの実施形態を示している。設計者又はユーザは、構成パラメータ460を供給することができるが、1つ又はそれよりも多くの「DRAM IP」ブロックがこの設計では不要であるとシミュレーション又は設計変更後に判断することが考えられ、設計者は、アドレス・マップをプログラムし直すことができる。ユーザインタフェース観点から、ユーザは、1)いくつかの個別のIPメモリコアを列挙し、2)アドレス・マップ内にいくつかの領域を列挙し、3)アドレス・マップ内のいくつかの領域に個別のIPメモリコアをマップし、4)領域からチャネルを除去し、これが、その後にその領域の残りのチャネルによりポピュレートされたシステム・アドレスを崩壊させることができ、5)領域内のチャネルの存在をリセットし、6)更に小型化/狭小化のような集合ターゲット内の1つ又はそれよりも多くのメモリ・チャネル内のシステム利用可能空間を変え、7)メモリ・インタリーブ・セグメントの所定のサイズ粒度を変え、8)1つの領域内のチャネル数を判断して、領域間でチャネル数を割り当て直し、それによって全てインタリーブ境界がリセットされ、チャネルがある領域もあれば、チャネルのない領域もあり、9)そのあらゆる組合せ、かつ10)設計に対して他の類似した変更を設定することをユーザが行うことを可能にする構成パラメータで中央レジスタを構成することができる。
図6Aは、複数のスレッド融合・スレッド分割のユニットを有するインターコネクト装置上で読取及び書込要求の要求順序を維持する複数のイニシエータIPコア及び複数のターゲットIPコアを有するSoCのような集積回路の実施形態のブロック図を示している。「中央演算処理装置」IPコア602のような各イニシエータIPコアは、インターコネクト装置618とインタフェースで接続するそれ独自のイニシエータ・エージェント658を有することができる。第1の「DRAM IP」コアのような各ターゲットIPコアは、インターコネクト装置618とインタフェースで接続するそれ独自のイニシエータ・エージェントを有することができる。各「DRAM IP」コア620〜624は、関連のメモリ・スケジューラ632、DRAMコントローラ634、及びPHYユニット635を有することができる。インターコネクト装置658は、インターコネクト装置618自体の内部にあるフロー制御論理を実施して、スレッド当たりを条件として、所定のスレッド内の各出された要求が各スレッドの宛先アドレスで到着した時の順序を管理する。インターコネクト装置618も、応答ネットワーク内のインターコネクト装置の内部にあるフロー制御プロトコルを実施して、送信された場合に対応する要求の順序で同じスレッド内の応答を戻す時期の順序付け制限事項を実行する。インターコネクト装置618は、インターコネクト装置自体の内部にあるフロー制御論理及びフロー制御プロトコルを実施して、供される同じスレッド内の1組の出された要求、及び互いに対して、ただし、別のスレッドの順序付けとは独立に、順序正しく返送される応答を順序付ける予想される実施を管理する。スレッド分割ユニットのフロー制御論理は、1つのイニシエータ・スレッドからのトランザクションが同時に複数のチャネルに対して、及び従って同時に多重チャネル・ターゲット内の複数の個々のターゲットに対して未処理であることを可能にする。これには、2つの異なるチャネルでターゲットとされるトランザクション、並びに単一であるが異なるチャネルで各々ターゲットとされる2つのトランザクション(同じイニシエータ・スレッドから)が含まれ、ここで、これらの2つの異なるチャネルは、多重チャネル・ターゲット内の2つの個々のターゲットにマップされている。
図11は、2つのスレッド分割ユニット及び2つのスレッド融合ユニットを通過する2つのターゲット・エージェントから2つのイニシエータ・エージェントまでの応答経路の実施形態のブロック図を示している。2つのターゲット・エージェント1120、1122の各々は、第1のターゲット・エージェント1120の第1のスレッド分割ユニット1141及び第2のターゲット・エージェント1122の第2のスレッド分割ユニット1141のような1つ又はそれよりも多くの関連のスレッド分割ユニットを有することができる。2つのターゲット・エージェント1120、1122の各々は、第1のターゲット・エージェント1120の第1のスレッド融合ユニット1145及び第2のターゲット・エージェント1122の第2のスレッド融合ユニット1147のような1つ又はそれよりも多くの関連のスレッド融合ユニットを有することができる。ターゲット・エージェント又はメモリ・スケジューラは、並べ替えバッファを使用するのではなく、フロー制御プロトコルを実施して、対応する要求が送信された順序で同じスレッド内の応答を戻す融合ユニット1145、1147と協働する第1の応答フローバッファ1149のようなFIFO応答フローバッファを有することができる。
i. =(Ch0_rd_latency+Ch0_rd_length) - (Chop_delay+Ch1_rd_latency)
ii. =(Ch0_rd_latency-Ch1_rd_latency) + (Ch0_rd_length-Chop_delay)
i. Ch1_rd_latency=Ch0_rd_latency+(Ch0_rd_length-Chop_delay)
図14は、チャネル・アドレス境界と交差する個々のトランザクションを同じスレッドからの2以上のトランザクション/要求に分断することを直接にサポートする分断論理の実施形態を示しており、それによってトラフィックを発生させるソフトウエア及びハードウエアは、所定のSoCの特定の多重チャネル構成に対する依存度が小さくなる。
図16a〜図16eは、ブロック・バースト要求に関するチャネル・ベースの分断の5つの形式、すなわち、通常のブロック分断、ブロック行(ロウ)分断、ブロック高さ分断、ブロックデッドロック分断、及びブロックデッドロック分断及びその後のブロック高さ分断を示している。状態機械は、以下のようにチャネル・ベースの分断規則を実施するように構成することができる。
チャネル3により供されるRow_2D0_の単一の1行(ロウ)ブロック・バースト、チャネル0により供される多くの行(ロウ)2D1_から成るより小さい2Dブロック・バースト、チャネル3により供される多くの行(ロウ)2D2_から成るより小さい2Dブロック・バースト、及びチャネル0により供されるRow_2D3_の別の単一の1行(ロウ)ブロック・バーストである。
「Rows_2D0_ch3及び2D1_ch0の最初の行(ロウ)」のためのチャネルMerger0の2Dブロック・バーストロック条件は存在しないので(初期1つのバーストではなく、ここでは2つの異なるバーストに属する)、上述の周期的依存度は砕かれており、従って、デッドロックはない。
i.例えば、MAddrから開始し、イニシエータブロック・バーストは、MAddr2でチャネル境界と交差し、かつMBurstHeight=15を有するイニシエータブロック・バーストは、以下の新しい(MAddr、MBurstHeight)タプルを有する一連の8個のブロック・バーストに分断される:
1. (MAddr、8)、(MAddr2、8);
[(MAddr+8*MBurstStride、4)、(MAddr2+8*MBurstStride、4)];
[(MAddr+(8+4)*MBurstStride、2)、(MAddr2+(8+4)*MBurstStride、2)];
[(MAddr+(8+4+2)*MBurstStride、1);
(MAddr2+(8+4+2)*MBurstStride、1)]、
i.アトミック・シーケンスとして送られる対を角括弧に示している。チャネルブロック・バーストの新しいMBurstLengthは、明暸さを期すために示されていない。新しいMBurstStrideは、元のものと同じである。
p_mburststride、p_mburstheight、及びp_mrowlast
がD1リンクバンドルに追加される。これらの信号はイニシエータ・エージェントによって発生されて、ターゲット・エージェントにインターコネクト装置ファブリックにより透過的に渡される。p_mburststride信号は、バイト単位であり、かつイニシエータ・エージェントから出てきている間、元のOCPブロック・バーストにより担持されるMBurstStride値、又はブロック・バーストに対してイニシエータ・エージェントでチャネル分割が実施された場合には、このMBurstStride値をアクティブ・チャネル数で割ったものに等しいとすることができる。また、p_mburstheight信号は、元のブロック・バーストにより担持されるMBurstHeight値に等しい。p_mburststride及びp_mburstheight信号は、要求ネットワーク専用信号である。MBurstStride値は、図18のイニシエータブロックに示すように「チャネル選択ビット」と記載されたアドレスビットの廃棄によるものである。アクティブ・チャネルの数は、図5のactive_targets設定から導出することができる。
i. active_channel_set[i]=j、for 0≦i≦num_active_channels、and 0≦j≦num_channels.
i. num_active_channels_log=log2(num_active_channels).
ii.次に、OCP要求相の以下のMAddrビットフィールドは、アドレスが属するアクティブ・チャネルIDを符号化する。
i. MAddr[num_active_channels_log + channel_interleave_size-1: channel_interleave_size]
−−a.イニシエータ・エージェントは、通常のチャネル・ベースの分断規則に従っていくつかのより小さいバーストに各イニシエータバーストを分断する。イニシエータ・エージェントは、対応する読取応答ワードをアセンブルして正しい描写(例えばSRespLast及びSRespRowLast)をOCPインタフェースに転送すべきである。書込応答が必要な場合、イニシエータ・エージェントは送信されたバースト分断(書込要求は、インターコネクト装置コアにSRMDバーストとして送られる)当たりの1つの応答を回収して、SRMD書込バーストに対して単一のOCP応答を、又はMRMD書込バーストに対してOCP応答MBurstLength数を生成すべきである。
−−b.実施形態では、書込ポスティングが有効にされた時、適切な書込応答ドロップカウントは、ポスティングされたOCP書込応答対応物がイニシエータに送り返されていた時、dlinポートから戻されたインターコネクト装置書込応答を廃棄するために維持する必要がある。
−−c.dlinポートからイニシエータ・エージェントにより受信されるイニシエータ・スレッド応答当たりのワードは、多重チャネル・ターゲットへのアクセスに対してさえも順序正しいものであると保証される。要求ネットワーク上の下流側チャネル分割ユニットのクロスオーバー待ち行列を使用して、応答経路上のイニシエータ・エージェントに順々に渡す前に、応答ネットワーク上でイニシエータ・エージェントの上流側にある対応するチャネル融合ユニットが正しい順序でこのようなチャネル応答を回収するのを助ける。
−−d.イニシエータ・エージェントは、応答アセンブルのためのイニシエータ・スレッド当たりのクロスオーバー待ち行列を有する。しかし、ブロック及びINT_blockのようなインターコネクト装置によりサポートされる種類のバーストをサポートするために、クロスオーバー待ち行列内にエントリ当たりで付加的な情報が格納される。イニシエータOCPインタフェースがブロック・バーストをサポートしない場合、それに続くフィールドは不要である。
−−a.chop_burst_lengthカウントを使用して、ブロック以外のバースト分断内の応答の個数、又はブロック又はINT_blockバースト分断内の行(ロウ)の長さを数える(更なる詳細に対しては、以下のchop_partial_burst_lengthの説明を参照されたい)。フィールドchop_blck=1及びpartial_burst_length=0である場合、このバースト分断に関連の各chop_burst_length応答の終了時に、イニシエータ・エージェントは、信号が存在する場合にSRespRowLast=1を設定することができる。イニシエータブロック・バーストがブロック以外のバースト(例えば、INCR)に分断された場合、その全てがchop_blck=1を有するクロスオーバーエントリを有するというわけではないことに注意されたい。行(ロウ)の終了と一致するものみが、chop_blck=1を有する。
−−b.chop_burst_heightフィールドは、ブロック及びINT_blockバースト分断のために使用される。全てのブロック以外のバースト分断に対しては1であり、かつブロック又はINT_blockバースト内の完全な行(ロウ)の数に等しくなければならない。ブロックデッドロック分断が使用される時、得られるINT_blockバーストは、元のチャネル交差バーストより完全な行(ロウ)数が2つ少ない。
−−c.chop_partial__burst_lengthフィールドは、ブロックデッドロック分断の結果であるINT_blockバースト分断に対してのみ非ゼロである。このようなINT_blockバースト分断は、第1の行(ロウ)の第1の部分及びチャネルに交差する境界での最終行(ロウ)の最終部分をはずしている。このようなバーストに対しては、このカウントは、INT_blockバーストの第2の構成要素ブロック・バースト、すなわち、番号が最も高いアクティブ・チャネルで開始するブロックのp_mburstlengthに設定される。あらゆる他の種類のバースト分断(特に、chop_blck=0の時)に対しては、このフィールドは、0でなければならない。一例として、チャネル7で開始して行(ロウ)の第7番目のワードの後にチャネル0内に交差し、イニシエータをMBurstLength=10を有するブロック・バーストを考えてみる。ブロックデッドロック分断が実施されることになっているので、得られるINT_blockバースト分断は、chop_partial_burst_length=7を有するものとする。partial_burst_lengthに関する非ゼロの値は、フィールド分断blck=1が常に伴うものとする。更に、その場合のchop_burst_lengthは、INT_blockバーストの第1の構成要素ブロック・バースト、すなわち、数字が最も低いアクティブ・チャネル(例えば、上述の例のchop_burst_length=3)で開始するブロックのp_mburstlengthに設定されるものとする。
chop_blck=1及びchop_deadlock_blck=1(すなわち、partial_burst_legnth! = 0)である場合、以下のようになる。
−−a.イニシエータ・エージェントは、chop_burst_length*MBurstHeight応答を検索して送り、chop_blck = 1である場合、chop_burst_length応答の各シーケンスは、SRespRowLast = 1で終了する。
i.要求側MBurstHeight値は、クロスオーバー待ち行列内に格納することができる。
−−a.どのバースト−分断が、SBurstLast = 1で終了すべきかを示すフィールドがクロスオーバーエントリにある必要がある。イニシエータバーストのまさに最終バースト分断のみが、このフィールドが1に設定されたクロスオーバーエントリを有するものとする。
−−a.広範な実施において、イニシエータ・エージェント(分断されるバーストに対して完全な知識を有する)は、上述の全ての必要な情報(chop_burst_length、chop_burst_height及びchop_partial_burst_length)を有するINT_blockバースト分断当たりに1つのエントリを格納する。しかし、このような実施では、chop_deadlock_blckフィールドは、その値がchop_partial_burst_lengthの値と共に捕捉されると思われるので、冗長であると考えられる。
−−b.クロスオーバー待ち行列の奥深い実施において、イニシエータ・エージェントは、INT_blockバースト分断に対して2つのエントリを転換待ち行列に格納し、第1のエントリは、フィールドchop_deadlock_blck上に第2のエントリの存在を示す1の値を有する:すなわち、第1のエントリは、chop_burst_lengthを担持し、第2のエントリは、上述のchop_partial_burst_lengthを担持することになる。すなわち、クロスオーバー待ち行列は、より狭くすることができるが、恐らく少し深めにすべきである。この場合、イニシエータ・エージェント応答論理は、第2のエントリの付加的な情報にアクセス可能なように第1のエントリをポップ表示する。要求側では、INT_blockの各エントリは、関連の構成要素ブロック・バーストの第1の転送と共にクロスオーバー待ち行列に押し進められる。
より高性能のアクセス保護
インターコネクト装置の分断論理は、アクセス保護機構(PM)検査に向けて新しい高性能化されたアーキテクチャを使用することができる。このアーキテクチャは、二重ルックアップアーキテクチャである。ターゲット・エージェントから出される各要求バーストは、最初に、並列に2つのルックアップを使用するPMにより資格が認定される。第1のルックアップは、バーストに対して開始アドレスに基づくものである。第2のルックアップは、バーストに対して計算終了アドレスに基づくものである。アクセス許可の資格付けには、第1のルックアップに関連のSMXで現在必要とされる全ての条件に1つの新しい条件を加えたものが必要である。新しい条件とは、第1及び第2のルックアップが同じ保護領域をヒットすべきであるということである。それによってたとえ適切な許可が開始及び終了領域内に設定されているとしても、保護領域境界と交差するバーストが失格になる。単一の保護領域は、バーストがアクセスするデータセットを対象とすることが予想かつ必要とされる。
インターコネクト装置は、複数の非同期クロック入力をサポートする。1つは、ベースクロックと指定され、SMXに供給される単一のクロックに対応する。SMX−C0リリースと同時に、Sonicsは、高性能OCP2間非同期電圧隔離ブリッジを利用可能にする。SSXにより、非同期入力クロックを各ソケットに関連付けることができる。このような関連付けが行われた時、非同期ブリッジのインスタンスがソケットに対して自動的に含まれる。そのブリッジは、電圧隔離に向けて戦術的セルを含むように構成することができるRTL階層の新しい最上層は、階層内での電圧領域の分離を助けるために作成される。
108 マルチメディアIPコア
116 イニシエータ・エージェント
118 インターコネクト装置
Claims (20)
- 1つ又はそれよりも多くのイニシエータ・アイピー(IP)コアとインターコネクト装置に結合された複数のターゲットIPコアとの間でトランザクションを通信する集積回路のためのインターコネクト装置であって、
集積回路内のターゲットIPコアに対して割り当てられたアドレスでアドレス・マップを実施して該集積回路内の該ターゲットIPコア及びイニシエータIPコアの間でトランザクションを経路指定し、
前記ターゲットIPコアの第1の集合ターゲットが、前記アドレス・マップ内の該第1の集合ターゲットのためのアドレス空間においてインタリーブされた2以上のメモリ・チャネルを含み、各メモリ・チャネルは、所定のメモリ・インタリーブ・セグメントに分割されて、その後に他のメモリ・チャネルのメモリ・インタリーブ・セグメントとインタリーブされ、
前記アドレス・マップは、2以上の領域に分割され、各インタリーブされたメモリ・インタリーブ・セグメントが、それらの領域の少なくとも1つに割り当てられて、その領域に対する前記アドレス空間をポピュレートし、該領域及びメモリ・インタリーブ・セグメントに関連するパラメータが設定可能である、
ことを特徴とするインターコネクト装置。 - 第1のメモリ・チャネルが、前記アドレス・マップ内の第1の領域の設定可能なパラメータによって制御された第1のサイズの第1のメモリ・インタリーブ・セグメントと、該アドレス・マップ内の第2の領域の設定可能なパラメータによって制御された第2のサイズの第2のメモリ・インタリーブ・セグメントとを有することを特徴とする請求項1に記載の装置。
- それらのメモリ・チャネルの各メモリ・インタリーブ・セグメントは、該メモリ・チャネルを形成する1つ又はそれよりも多くのDRAMデバイスに構成された最小バースト・サイズと、該メモリ・チャネルのサポートされた構成に対して予測される最大DRAMメモリ・ページサイズとによって境界された所定の長さで前記アドレス空間において定義かつインタリーブされ、前記トランザクションは、1つ又はそれよりも多くの要求及び1つ又はそれよりも多くの任意的な応答を含むことを特徴とする請求項1に記載の装置。
- 所定の領域に割り当てられた前記アドレス空間内の前記メモリ・インタリーブ・セグメントの前記所定の長さを制御する前記設定可能なパラメータは、その領域において該メモリ・インタリーブ・セグメントによるトランザクションを有すると予想される予測された種類のアプリケーションに基づくことを特徴とする請求項1に記載の装置。
- 前記アドレス・マップ内の第1の領域が、第1の量のバイトで構成された粒度を有して第1のメモリ・チャネルからその領域に割り当てられた所定のメモリ・インタリーブ・セグメントを有し、該アドレス・マップ内の第2の領域が、第2の量のバイトで構成された粒度を有して該第1のメモリ・チャネルからその領域に割り当てられた所定のメモリ・インタリーブ・セグメントを有することを特徴とする請求項1に記載の装置。
- 1つ又はそれよりも多くのイニシエータ・アイピー(IP)コアとインターコネクト装置に結合された複数のターゲットIPコアとの間でトランザクションを該トランザクションを該ターゲットIPコアに関連付ける供給されたトランザクションアドレスに基づいて経路指定する集積回路のためのインターコネクト装置であって、
第1の集合ターゲットを構成する2以上のチャネルを含むターゲットIPコアに対して割り当てられたアドレスでアドレス・マップを実施し、
前記2以上のチャネルは、前記第1の集合ターゲットに割り当てられたアドレス空間をポピュレートしてイニシエータIPコアへの単一のターゲットとして呈示され、インターコネクト装置が、分断論理を実施して、前記第1の集合ターゲット内の第1のチャネルから第2のチャネルまでのチャネル・アドレス境界と交差するアドレス・シーケンスを有する第1のイニシエータIPコアからの個々のトランザクションを2以上のバーストトランザクションに分断し、
第1の分断されたバーストトランザクションが、前記第1のチャネルの前記アドレス境界内に適合するように分断され、第2の分断されたバーストトランザクションが、前記第2のチャネルの前記アドレス境界内に適合するように分断される、
ことを特徴とするインターコネクト装置。 - 前記トランザクションは、1つ又はそれよりも多くの要求及び1つ又はそれよりも多くの任意的な応答を含み、該トランザクションは、前記第1のイニシエータIPコアからの同じスレッドの一部であることを特徴とする請求項6に記載の装置。
- 前記複数のターゲットIPコアの前記第1の集合ターゲットは、前記アドレス・マップ内の該第1の集合ターゲットのためのアドレス空間内でインタリーブされた2以上のメモリ・チャネルを含み、該チャネルは、メモリ・チャネルであり、分断論理が、該第1の集合ターゲットにおいて前記チャネル・アドレス境界と交差する個々のバーストトランザクションを検出かつその後に分断して各バースト・トランザクションのバースト・サイズ及び開始アドレスが該チャネル境界から独立であることを可能にすることを特徴とする請求項6に記載の装置。
- 前記集積回路内のターゲットIPコアに対して割り当てられたアドレスでアドレス・マップを実施して、該集積回路内の該ターゲットIPコアとイニシエータIPコアの間で前記トランザクションを経路指定し、
各メモリ・チャネルが、所定のメモリ・インタリーブ・セグメントに分割されて、その後に他のメモリ・チャネルからのメモリ・インタリーブ・セグメントとインタリーブされ、それらのメモリ・チャネルの各メモリ・インタリーブ・セグメントは、システム設計者によるメモリ設計仕様によって許容されるバースト長要求によって抑制されないサイズ粒度で前記アドレス空間において定義かつインタリーブされる、
ことを特徴とする請求項8に記載の装置。 - 前記インタリーブされた2以上のメモリ・チャネルの前記集合ターゲットへの第1の要求に関連する論理宛先アドレスに基づいて第1のイニシエータIPコアが前記アドレス・マップに問い合わせるためにインターコネクト装置とインタフェース接続し、かつどのメモリ・チャネルが該第1の要求に供することになるかということと、該第1のIPコアが該集合ターゲット内の各メモリ・チャネルの物理的IPアドレスを知る必要がないように、該第1の要求をその要求に供する該集合ターゲット内の各メモリ・チャネルの該物理的IPアドレスに経路指定する方法とを判断するイニシエータ・エージェント、
を更に含み、
メモリ・インタリーブ・セグメントのサイズ粒度が、DRAM内に構成されたDRAMメモリ設計仕様によって許容される最小バースト長さ要求と該メモリ構成によって認識されるような予測最大DRAMメモリページ長さとの間の所定の長さであり、この粒度のサイズが、設定可能である、
ことを特徴とする請求項6に記載の装置。 - 1つ又はそれよりも多くのイニシエータ・アイピー(IP)コアとインターコネクト装置に結合された複数のターゲットIPコアとの間でトランザクションを通信する集積回路のためのインターコネクト装置であって、
2以上のメモリ・チャネルが、ターゲットIPコアの第1の集合ターゲットを構成し、該2以上のメモリ・チャネルは、該第1の集合ターゲットに割り当てられたアドレス空間をポピュレートして、イニシエータIPコアの単一のターゲットとして呈示され、
インターコネクト装置が、分断論理を実施して、前記第1の集合ターゲット内の第1のメモリ・チャネルから第2のメモリ・チャネルまでのメモリ・チャネル・アドレス境界と交差する個々の2次元(2D)トランザクションを、1よりも大きい高さ値、並びにストライド寸法及び幅寸法を有する2以上の2Dトランザクションに分断し、これらは、該第1の集合ターゲットのメモリ・チャネル・アドレス境界内に適合するように分断される、
ことを特徴とするインターコネクト装置。 - 前記第1の集合ターゲットIPコアに経路指定されたトランザクションに対する順序付けを維持するためにインターコネクト装置の内部にあるフロー制御論理、
を更に含み、
前記フロー制御論理は、同じイニシエータIPコアスレッドからの複数のトランザクションが、同時に集合ターゲットの複数のチャネルに対して未処理であることを可能にするように構成され、該第1の集合ターゲット内の該複数のチャネルは、物理的に異なるアドレスを有するターゲットIPコアにマップされ、
前記トランザクションは、1つ又はそれよりも多くの要求及び1つ又はそれよりも多くの任意的な応答を含み、該トランザクションは、第1のイニシエータIPコアからの同じスレッドの一部である、
ことを特徴とする請求項11に記載の装置。 - バースト要求内の要求バイトの最初のワードの開始アドレス及び該バースト要求の要求バイトの最後のワードの最終アドレスにより、そのバースト要求内の該要求バイトが1つ又はそれよりも多くのチャネル・アドレス境界にわたって及んで該バースト要求内のワード要求の全てを満たす時を検出する検出器、
を更に含み、
前記トランザクションは、1つ又はそれよりも多くの要求及び1つ又はそれよりも多くの任意的な応答を含む、
ことを特徴とする請求項12に記載の装置。 - 前記アドレス・マップの第1の領域が、タイル方式のピクセルデータとして含まれる2Dデータの格納に対して割り当てられ、
DRAMメモリ・アドレスが、所定のピクセルに隣接する行(ロウ)及び列(コラム)のピクセルが同じDRAMページに格納されるように編成される、
ことを特徴とする請求項12に記載の装置。 - 前記フロー制御論理は、少なくとも第1及び第2のメモリ・チャネルにわたって及ぶデータを利用する、第1のイニシエータIPコアから前記第1の集合ターゲットまでの第1のスレッドからの第1の2Dトランザクションと、デッドロック分断論理を実施する該フロー制御論理に基づいて同時に未処理であるように少なくとも該第1及び該第2のメモリ・チャネルにわたって及ぶデータを利用する、第2のイニシエータIPコアから該第1の集合ターゲットまでの第2のスレッドからの第2の2Dトランザクションとをサポートするように構成されることを特徴とする請求項13に記載の装置。
- 1つ又はそれよりも多くのイニシエータ・アイピー(IP)コアとインターコネクト装置に結合された複数のターゲットIPコアとの間でトランザクションを通信する集積回路のためのインターコネクト装置であって、
第1のイニシエータIPコアから複数のターゲットIPコアに出された複数のトランザクションをサポートし、同時に該トランザクション内の予想実行順序を維持するように構成された論理を実施し、
前記論理は、第2のトランザクションが、前記第1のイニシエータIPコアから第2のターゲットIPコアに、同じ第1のイニシエータIPコアから第1のターゲットIPコアに出された第1のトランザクションが完了する前に出されることをサポートし、同時に、該論理がいかなる並べ替えバッファリングも含まない場合に該第1のトランザクションが該第2のトランザクションの前に完了することを保証し、かつ該第1のトランザクション及び第2のトランザクション内の予想実行順序が維持されることを保証する、
ことを特徴とするインターコネクト装置。 - 前記第1及び第2のトランザクションは、前記第1のイニシエータIPコアからの同じスレッドの一部であり、該第1のトランザクション内の前記予想実行順序は、他のスレッドの順序付けから独立していることを特徴とする請求項16に記載の装置。
- 前記第1及び第2のトランザクションの各々は、1つ又はそれよりも多くの要求及び1つ又はそれよりも多くの任意的な応答から成り、前記複数のターゲットIPコアの集合ターゲットIPコアが、アドレス・マップ内の集合ターゲットのためのアドレス空間内でインタリーブされた2以上のメモリ・チャネルを含むことを特徴とする請求項16に記載の装置。
- 前記論理は、前記第1のイニシエータIPコアから前記第1及び第2のターゲットIPコアに出された前記複数のトランザクションと同時に、第2のイニシエータIPコアから少なくとも該第1のターゲットIPコアに出された1つ又はそれよりも多くのトランザクションをサポートし、一方で該トランザクションの全てに対する前記予想実行順序を維持し、それによっていくつかのイニシエータからのトランザクションがいくつかのターゲットに対して同時に未処理であることを可能にするように構成されることを特徴とする請求項16に記載の装置。
- 前記フロー制御論理は、ターゲットIPコアの宛先アドレスまでの要求経路内のスレッド分割ユニットに関連付けられ、該スレッド分割ユニットは、フロー制御を実施して、前記第1のイニシエータIPコアからの同じスレッドからのその同じスレッド内の未処理要求によって使用されている現在の物理的経路以外の第1の物理的経路に向かう次の要求を出すことを該現在の物理的経路に向かうその同じスレッド内の未処理要求からの全ての肯定応答通知が該スレッド分割ユニットに通信されて戻るまで防止することを特徴とする請求項18に記載の装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US94609607P | 2007-06-25 | 2007-06-25 | |
US12/144,883 US8407433B2 (en) | 2007-06-25 | 2008-06-24 | Interconnect implementing internal controls |
PCT/US2008/068107 WO2009002998A1 (en) | 2007-06-25 | 2008-06-25 | An interconnect implementing internal controls |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010225561A Division JP2011054184A (ja) | 2007-06-25 | 2010-10-05 | トランザクション順序付けを維持しながら複数のターゲットへの未処理要求をサポートする種々の方法および装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010531518A true JP2010531518A (ja) | 2010-09-24 |
Family
ID=40137732
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010515052A Pending JP2010531518A (ja) | 2007-06-25 | 2008-06-25 | トランザクション順序付けを維持しながら複数のターゲットへの未処理要求をサポートする種々の方法および装置 |
JP2010225561A Pending JP2011054184A (ja) | 2007-06-25 | 2010-10-05 | トランザクション順序付けを維持しながら複数のターゲットへの未処理要求をサポートする種々の方法および装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010225561A Pending JP2011054184A (ja) | 2007-06-25 | 2010-10-05 | トランザクション順序付けを維持しながら複数のターゲットへの未処理要求をサポートする種々の方法および装置 |
Country Status (4)
Country | Link |
---|---|
US (6) | US8407433B2 (ja) |
EP (3) | EP2413355B1 (ja) |
JP (2) | JP2010531518A (ja) |
WO (1) | WO2009002998A1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012078895A (ja) * | 2010-09-30 | 2012-04-19 | Kyocera Mita Corp | 情報処理装置 |
WO2014103144A1 (ja) * | 2012-12-28 | 2014-07-03 | パナソニック株式会社 | インタフェース装置、およびメモリバスシステム |
JP2015158943A (ja) * | 2011-12-09 | 2015-09-03 | クアルコム,インコーポレイテッド | 複数のメモリ領域にわたる強順序付けされたデバイス、および排他的トランザクションの自動順序付け |
KR101752117B1 (ko) | 2013-12-27 | 2017-06-28 | 퀄컴 인코포레이티드 | 단일 채널 내에서의 dram 공간적 통합을 위한 방법 및 장치 |
Families Citing this family (186)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8407433B2 (en) | 2007-06-25 | 2013-03-26 | Sonics, Inc. | Interconnect implementing internal controls |
US8504992B2 (en) | 2003-10-31 | 2013-08-06 | Sonics, Inc. | Method and apparatus for establishing a quality of service model |
US9087036B1 (en) | 2004-08-12 | 2015-07-21 | Sonics, Inc. | Methods and apparatuses for time annotated transaction level modeling |
US7913043B2 (en) * | 2004-05-14 | 2011-03-22 | Bakbone Software, Inc. | Method for backup storage device selection |
US7562194B2 (en) * | 2006-02-06 | 2009-07-14 | Intel Corporation | Method and apparatus for exploiting parallelism across multiple traffic streams through a single channel |
US8327115B2 (en) | 2006-04-12 | 2012-12-04 | Soft Machines, Inc. | Plural matrices of execution units for processing matrices of row dependent instructions in single clock cycle in super or separate mode |
EP2523101B1 (en) | 2006-11-14 | 2014-06-04 | Soft Machines, Inc. | Apparatus and method for processing complex instruction formats in a multi- threaded architecture supporting various context switch modes and virtualization schemes |
US8868397B2 (en) | 2006-11-20 | 2014-10-21 | Sonics, Inc. | Transaction co-validation across abstraction layers |
US8108648B2 (en) * | 2007-06-25 | 2012-01-31 | Sonics, Inc. | Various methods and apparatus for address tiling |
US8438320B2 (en) * | 2007-06-25 | 2013-05-07 | Sonics, Inc. | Various methods and apparatus for address tiling and channel interleaving throughout the integrated system |
US8464009B2 (en) * | 2008-06-04 | 2013-06-11 | Oracle America, Inc. | Method for memory interleave support with a ceiling mask |
US8145805B2 (en) * | 2008-06-09 | 2012-03-27 | Emulex Design & Manufacturing Corporation | Method for re-sequencing commands and data between a master and target devices utilizing parallel processing |
US8190848B2 (en) * | 2008-07-28 | 2012-05-29 | Lantiq Deutschland Gmbh | Interleaver memory allocation method and apparatus |
US20100070656A1 (en) * | 2008-09-12 | 2010-03-18 | Atto Technology, Inc. | System and method for enhanced load balancing in a storage system |
US8627017B2 (en) * | 2008-12-30 | 2014-01-07 | Intel Corporation | Read and write monitoring attributes in transactional memory (TM) systems |
US9785462B2 (en) | 2008-12-30 | 2017-10-10 | Intel Corporation | Registering a user-handler in hardware for transactional memory event handling |
US8086783B2 (en) * | 2009-02-23 | 2011-12-27 | International Business Machines Corporation | High availability memory system |
WO2010101754A2 (en) * | 2009-03-06 | 2010-09-10 | Rambus Inc. | Memory interface with interleaved control information |
US8190804B1 (en) * | 2009-03-12 | 2012-05-29 | Sonics, Inc. | Various methods and apparatus for a memory scheduler with an arbiter |
JP4881404B2 (ja) * | 2009-03-27 | 2012-02-22 | 株式会社東芝 | 回路記述生成装置および機能検証方法 |
JP5365336B2 (ja) * | 2009-05-01 | 2013-12-11 | ソニー株式会社 | メモリ制御装置およびメモリ制御方法 |
US8713248B2 (en) * | 2009-06-02 | 2014-04-29 | Nokia Corporation | Memory device and method for dynamic random access memory having serial interface and integral instruction buffer |
US8359421B2 (en) * | 2009-08-06 | 2013-01-22 | Qualcomm Incorporated | Partitioning a crossbar interconnect in a multi-channel memory system |
US8291313B1 (en) * | 2009-08-26 | 2012-10-16 | Adobe Systems Incorporated | Generation of a container hierarchy from a document design |
US8478946B2 (en) * | 2009-09-08 | 2013-07-02 | Advanced Micro Devices, Inc. | Method and system for local data sharing |
US9063825B1 (en) * | 2009-09-21 | 2015-06-23 | Tilera Corporation | Memory controller load balancing with configurable striping domains |
US8356122B2 (en) | 2010-01-08 | 2013-01-15 | International Business Machines Corporation | Distributed trace using central performance counter memory |
EP2503741B1 (en) * | 2009-11-18 | 2014-09-17 | Nec Corporation | Dynamic route branching system and dynamic route branching method |
US8694947B1 (en) * | 2009-12-09 | 2014-04-08 | The Mathworks, Inc. | Resource sharing workflows within executable graphical models |
US20110213949A1 (en) * | 2010-03-01 | 2011-09-01 | Sonics, Inc. | Methods and apparatus for optimizing concurrency in multiple core systems |
US8150215B2 (en) * | 2010-03-24 | 2012-04-03 | Altek Corporation | Routable image pipeline device |
US8392689B1 (en) * | 2010-05-24 | 2013-03-05 | Western Digital Technologies, Inc. | Address optimized buffer transfer requests |
US20110314256A1 (en) * | 2010-06-18 | 2011-12-22 | Microsoft Corporation | Data Parallel Programming Model |
US8972995B2 (en) * | 2010-08-06 | 2015-03-03 | Sonics, Inc. | Apparatus and methods to concurrently perform per-thread as well as per-tag memory access scheduling within a thread and across two or more threads |
US9268720B2 (en) * | 2010-08-31 | 2016-02-23 | Qualcomm Incorporated | Load balancing scheme in multiple channel DRAM systems |
US8601288B2 (en) | 2010-08-31 | 2013-12-03 | Sonics, Inc. | Intelligent power controller |
WO2012036905A1 (en) * | 2010-09-16 | 2012-03-22 | Apple Inc. | Multi-ported memory controller with ports associated with traffic classes |
US8314807B2 (en) | 2010-09-16 | 2012-11-20 | Apple Inc. | Memory controller with QoS-aware scheduling |
US8631213B2 (en) | 2010-09-16 | 2014-01-14 | Apple Inc. | Dynamic QoS upgrading |
KR101685247B1 (ko) | 2010-09-17 | 2016-12-09 | 소프트 머신즈, 인크. | 조기 원거리 분기 예측을 위한 섀도우 캐시를 포함하는 단일 사이클 다중 분기 예측 |
EP2444903A1 (en) | 2010-09-29 | 2012-04-25 | STMicroelectronics (Grenoble 2) SAS | A transaction reordering arrangement |
EP2442231A1 (en) * | 2010-09-29 | 2012-04-18 | STMicroelectronics (Grenoble 2) SAS | Reordering arrangement |
US9424210B1 (en) * | 2010-10-22 | 2016-08-23 | Altera Corporation | SDRAM memory organization and efficient access |
US8438306B2 (en) | 2010-11-02 | 2013-05-07 | Sonics, Inc. | Apparatus and methods for on layer concurrency in an integrated circuit |
US9405700B2 (en) | 2010-11-04 | 2016-08-02 | Sonics, Inc. | Methods and apparatus for virtualization in an integrated circuit |
US8892844B2 (en) | 2011-03-07 | 2014-11-18 | Micron Technology, Inc. | Methods of accessing memory cells, methods of distributing memory requests, systems, and memory controllers |
EP2689327B1 (en) | 2011-03-25 | 2021-07-28 | Intel Corporation | Executing instruction sequence code blocks by using virtual cores instantiated by partitionable engines |
KR101966712B1 (ko) | 2011-03-25 | 2019-04-09 | 인텔 코포레이션 | 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 코드 블록의 실행을 지원하는 메모리 프래그먼트 |
CN108376097B (zh) | 2011-03-25 | 2022-04-15 | 英特尔公司 | 用于通过使用由可分割引擎实例化的虚拟核来支持代码块执行的寄存器文件段 |
US8484235B2 (en) * | 2011-03-28 | 2013-07-09 | International Business Machines Corporation | Dynamically switching the serialization method of a data structure |
US10838886B2 (en) | 2011-04-19 | 2020-11-17 | Micron Technology, Inc. | Channel depth adjustment in memory systems |
US9158592B2 (en) * | 2011-05-02 | 2015-10-13 | Green Hills Software, Inc. | System and method for time variant scheduling of affinity groups comprising processor core and address spaces on a synchronized multicore processor |
KR101639853B1 (ko) | 2011-05-20 | 2016-07-14 | 소프트 머신즈, 인크. | 복수의 엔진에 의해 명령어 시퀀스들의 실행을 지원하기 위한 자원들 및 상호접속 구조들의 비집중 할당 |
CN103649931B (zh) | 2011-05-20 | 2016-10-12 | 索夫特机械公司 | 用于支持由多个引擎执行指令序列的互连结构 |
TWI467372B (zh) * | 2011-07-06 | 2015-01-01 | Phison Electronics Corp | 指令執行方法、記憶體控制器與記憶體儲存裝置 |
MX348600B (es) | 2011-08-18 | 2017-06-21 | Unitload Pty Ltd | Estructura de soporte de carga. |
KR101687273B1 (ko) * | 2011-08-22 | 2016-12-16 | 인텔 코포레이션 | 동적으로 선택 가능한 중복 공유된 링크 물리적 경로들을 사용하여 개방형 코어 프로토콜 기반 상호 접속 네트워크들에서 데이터 처리량 개선을 위한 방법 |
US11048410B2 (en) * | 2011-08-24 | 2021-06-29 | Rambus Inc. | Distributed procedure execution and file systems on a memory interface |
US8798038B2 (en) * | 2011-08-26 | 2014-08-05 | Sonics, Inc. | Efficient header generation in packetized protocols for flexible system on chip architectures |
US8514889B2 (en) | 2011-08-26 | 2013-08-20 | Sonics, Inc. | Use of common data format to facilitate link width conversion in a router with flexible link widths |
US8868941B2 (en) | 2011-09-19 | 2014-10-21 | Sonics, Inc. | Apparatus and methods for an interconnect power manager |
US8874976B2 (en) | 2011-09-29 | 2014-10-28 | Intel Corporation | Providing error handling support to legacy devices |
US8713234B2 (en) | 2011-09-29 | 2014-04-29 | Intel Corporation | Supporting multiple channels of a single interface |
US8713240B2 (en) | 2011-09-29 | 2014-04-29 | Intel Corporation | Providing multiple decode options for a system-on-chip (SoC) fabric |
US8711875B2 (en) | 2011-09-29 | 2014-04-29 | Intel Corporation | Aggregating completion messages in a sideband interface |
US8929373B2 (en) | 2011-09-29 | 2015-01-06 | Intel Corporation | Sending packets with expanded headers |
US9280468B2 (en) | 2011-10-26 | 2016-03-08 | Qualcomm Technologies, Inc. | Three channel cache-coherency socket protocol |
KR101703401B1 (ko) | 2011-11-22 | 2017-02-06 | 소프트 머신즈, 인크. | 다중 엔진 마이크로프로세서용 가속 코드 최적화기 |
WO2013077876A1 (en) | 2011-11-22 | 2013-05-30 | Soft Machines, Inc. | A microprocessor accelerated code optimizer |
EP2597815B1 (de) * | 2011-11-23 | 2019-07-24 | Siemens Schweiz AG | Verfahren zur identifikation von in einem kommunikationsnetzwerk zusammengefassten geräten |
US9053251B2 (en) | 2011-11-29 | 2015-06-09 | Intel Corporation | Providing a sideband message interface for system on a chip (SoC) |
CN102609378B (zh) * | 2012-01-18 | 2016-03-30 | 中国科学院计算技术研究所 | 一种消息式内存访问装置及其访问方法 |
US9239786B2 (en) | 2012-01-18 | 2016-01-19 | Samsung Electronics Co., Ltd. | Reconfigurable storage device |
KR20130085672A (ko) * | 2012-01-20 | 2013-07-30 | 삼성전자주식회사 | 메모리 컨트롤러 및 이를 포함하는 시스템의 동작 방법 |
US20130205051A1 (en) * | 2012-02-07 | 2013-08-08 | Qualcomm Incorporated | Methods and Devices for Buffer Allocation |
US9047018B1 (en) * | 2012-03-20 | 2015-06-02 | Emc Corporation | Method and system for zero-copy disk IO using sector unaligned buffers |
US9135384B1 (en) * | 2012-05-10 | 2015-09-15 | Xilinx, Inc. | Compilation and simulation of a circuit design |
ITTO20120470A1 (it) | 2012-05-30 | 2013-12-01 | St Microelectronics Srl | Procedimento per gestire transazioni di accesso e relativo sistema |
US9378023B2 (en) * | 2012-06-13 | 2016-06-28 | International Business Machines Corporation | Cross-pipe serialization for multi-pipeline processor |
US9569393B2 (en) | 2012-08-10 | 2017-02-14 | Rambus Inc. | Memory module threading with staggered data transfers |
US8791573B1 (en) * | 2012-08-31 | 2014-07-29 | Altera Corporation | Skewed partial column input/output floorplan |
US9092327B2 (en) | 2012-12-10 | 2015-07-28 | Qualcomm Incorporated | System and method for allocating memory to dissimilar memory devices using quality of service |
US9053058B2 (en) | 2012-12-20 | 2015-06-09 | Apple Inc. | QoS inband upgrade |
US9652376B2 (en) | 2013-01-28 | 2017-05-16 | Radian Memory Systems, Inc. | Cooperative flash memory control |
US11249652B1 (en) | 2013-01-28 | 2022-02-15 | Radian Memory Systems, Inc. | Maintenance of nonvolatile memory on host selected namespaces by a common memory controller |
US10445229B1 (en) | 2013-01-28 | 2019-10-15 | Radian Memory Systems, Inc. | Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies |
WO2014150806A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for populating register view data structure by using register template snapshots |
US9632825B2 (en) | 2013-03-15 | 2017-04-25 | Intel Corporation | Method and apparatus for efficient scheduling for asymmetrical execution units |
US9811342B2 (en) | 2013-03-15 | 2017-11-07 | Intel Corporation | Method for performing dual dispatch of blocks and half blocks |
WO2014151043A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for emulating a guest centralized flag architecture by using a native distributed flag architecture |
WO2014150971A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for dependency broadcasting through a block organized source view data structure |
US10275255B2 (en) | 2013-03-15 | 2019-04-30 | Intel Corporation | Method for dependency broadcasting through a source organized source view data structure |
WO2014150991A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for implementing a reduced size register view data structure in a microprocessor |
WO2014151018A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for executing multithreaded instructions grouped onto blocks |
US9886279B2 (en) | 2013-03-15 | 2018-02-06 | Intel Corporation | Method for populating and instruction view data structure by using register template snapshots |
US9904625B2 (en) | 2013-03-15 | 2018-02-27 | Intel Corporation | Methods, systems and apparatus for predicting the way of a set associative cache |
US9569216B2 (en) | 2013-03-15 | 2017-02-14 | Soft Machines, Inc. | Method for populating a source view data structure by using register template snapshots |
US9891924B2 (en) | 2013-03-15 | 2018-02-13 | Intel Corporation | Method for implementing a reduced size register view data structure in a microprocessor |
US10140138B2 (en) | 2013-03-15 | 2018-11-27 | Intel Corporation | Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation |
US20140310503A1 (en) * | 2013-04-12 | 2014-10-16 | Texas Instruments Incorporated | Memory interleaving on memory channels |
US20140310484A1 (en) * | 2013-04-16 | 2014-10-16 | Nvidia Corporation | System and method for globally addressable gpu memory |
US9471521B2 (en) * | 2013-05-15 | 2016-10-18 | Stmicroelectronics S.R.L. | Communication system for interfacing a plurality of transmission circuits with an interconnection network, and corresponding integrated circuit |
US9015388B2 (en) * | 2013-06-28 | 2015-04-21 | Intel Corporation | Controlling access to storage in a computing device |
US8973002B1 (en) * | 2013-09-16 | 2015-03-03 | Fmr Llc | Business rules batch processor |
GB2519349B (en) * | 2013-10-18 | 2018-06-27 | Stmicroelectronics Grenoble2 Sas | Method and apparatus for supporting the use of interleaved memory regions |
GB2519351A (en) * | 2013-10-18 | 2015-04-22 | St Microelectronics Sa | A method and apparatus for use with different memory maps |
US9652373B2 (en) | 2013-12-16 | 2017-05-16 | International Business Machines Corporation | Adaptive statistics for a linear address space |
KR20150093004A (ko) * | 2014-02-06 | 2015-08-17 | 삼성전자주식회사 | 불휘발성 저장 장치의 동작 방법 및 불휘발성 저장 장치를 액세스하는 컴퓨팅 장치의 동작 방법 |
US9460012B2 (en) * | 2014-02-18 | 2016-10-04 | National University Of Singapore | Fusible and reconfigurable cache architecture |
US10616333B2 (en) | 2014-04-09 | 2020-04-07 | Stmicroelectronics S.R.L. | System for the management of out-of-order traffic in an interconnect network and corresponding method and integrated circuit |
US20160026588A1 (en) * | 2014-07-23 | 2016-01-28 | Qualcomm Incorporated | System and method for bus width conversion in a system on a chip |
KR20160028680A (ko) * | 2014-09-04 | 2016-03-14 | 삼성전자주식회사 | 데이터 저장 장치와 이의 작동 방법 |
US9542118B1 (en) | 2014-09-09 | 2017-01-10 | Radian Memory Systems, Inc. | Expositive flash memory control |
US9665518B2 (en) * | 2014-09-24 | 2017-05-30 | Nxp Usa, Inc. | Methods and systems for controlling ordered write transactions to multiple devices using switch point networks |
US10042784B2 (en) * | 2014-10-13 | 2018-08-07 | Microchip Technology Incorporated | Side channel access through USB streams |
US10503405B2 (en) * | 2015-02-10 | 2019-12-10 | Red Hat Israel, Ltd. | Zero copy memory reclaim using copy-on-write |
US9378049B1 (en) * | 2015-02-12 | 2016-06-28 | Amazon Technologies, Inc. | Servicing I/O requests in an I/O adapter device |
US10037301B2 (en) * | 2015-03-04 | 2018-07-31 | Xilinx, Inc. | Circuits and methods for inter-processor communication |
US10049001B1 (en) | 2015-03-27 | 2018-08-14 | Amazon Technologies, Inc. | Dynamic error correction configuration |
US9886405B1 (en) | 2015-03-30 | 2018-02-06 | Amazon Technologies, Inc. | Low latency write requests over a network using a pipelined I/O adapter device |
US9940284B1 (en) | 2015-03-30 | 2018-04-10 | Amazon Technologies, Inc. | Streaming interconnect architecture |
US11151533B2 (en) | 2015-03-31 | 2021-10-19 | Visa International Service Association | Multi-protocol data transfer |
US10387343B2 (en) * | 2015-04-07 | 2019-08-20 | International Business Machines Corporation | Processing of events for accelerators utilized for parallel processing |
KR102464801B1 (ko) | 2015-04-14 | 2022-11-07 | 삼성전자주식회사 | 반도체 장치의 동작 방법 및 반도체 시스템 |
US10394743B2 (en) * | 2015-05-28 | 2019-08-27 | Dell Products, L.P. | Interchangeable I/O modules with individual and shared personalities |
US10152112B2 (en) | 2015-06-10 | 2018-12-11 | Sonics, Inc. | Power manager with a power switch arbitrator |
US9864538B1 (en) | 2015-06-25 | 2018-01-09 | Amazon Technologies, Inc. | Data size reduction |
US10552058B1 (en) | 2015-07-17 | 2020-02-04 | Radian Memory Systems, Inc. | Techniques for delegating data processing to a cooperative memory controller |
US10579519B2 (en) | 2015-07-30 | 2020-03-03 | Hewlett Packard Enterprise Development Lp | Interleaved access of memory |
US9904635B2 (en) | 2015-08-27 | 2018-02-27 | Samsung Electronics Co., Ltd. | High performance transaction-based memory systems |
US10423733B1 (en) | 2015-12-03 | 2019-09-24 | The Mathworks, Inc. | Systems and methods for sharing resources having different data types |
US9772874B2 (en) | 2016-01-29 | 2017-09-26 | International Business Machines Corporation | Prioritization of transactions based on execution by transactional core with super core indicator |
KR102707683B1 (ko) * | 2016-07-12 | 2024-09-20 | 삼성전자주식회사 | 메모리 채널의 소프트웨어 트레이닝을 수행하는 전자 장치 및 그것의 메모리 채널 트레이닝 방법 |
US10437946B1 (en) * | 2016-09-01 | 2019-10-08 | Xilinx, Inc. | Using implemented core sources for simulation |
US9971691B2 (en) | 2016-09-12 | 2018-05-15 | Intel Corporation | Selevtive application of interleave based on type of data to be stored in memory |
US10911261B2 (en) | 2016-12-19 | 2021-02-02 | Intel Corporation | Method, apparatus and system for hierarchical network on chip routing |
US10846126B2 (en) | 2016-12-28 | 2020-11-24 | Intel Corporation | Method, apparatus and system for handling non-posted memory write transactions in a fabric |
US10921874B2 (en) | 2017-03-06 | 2021-02-16 | Facebook Technologies, Llc | Hardware-based operating point controller for circuit regions in an integrated circuit |
US11231769B2 (en) | 2017-03-06 | 2022-01-25 | Facebook Technologies, Llc | Sequencer-based protocol adapter |
JP6705401B2 (ja) * | 2017-03-13 | 2020-06-03 | 富士通株式会社 | 情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム |
US10762006B2 (en) * | 2017-03-31 | 2020-09-01 | Intel Corporation | Techniques to dynamically enable memory channels on a compute platform |
US10243882B1 (en) | 2017-04-13 | 2019-03-26 | Xilinx, Inc. | Network on chip switch interconnect |
CN108363615B (zh) * | 2017-09-18 | 2019-05-14 | 清华大学 | 用于可重构处理系统的任务分配方法和系统 |
US10936221B2 (en) | 2017-10-24 | 2021-03-02 | Micron Technology, Inc. | Reconfigurable memory architectures |
US11281608B2 (en) * | 2017-12-11 | 2022-03-22 | Micron Technology, Inc. | Translation system for finer grain memory architectures |
US10673745B2 (en) | 2018-02-01 | 2020-06-02 | Xilinx, Inc. | End-to-end quality-of-service in a network-on-chip |
US11709624B2 (en) * | 2018-02-15 | 2023-07-25 | Xilinx, Inc. | System-on-chip having multiple circuits and memory controller in separate and independent power domains |
US11041211B2 (en) | 2018-02-22 | 2021-06-22 | Xilinx, Inc. | Power distribution for active-on-active die stack with reduced resistance |
US10503690B2 (en) | 2018-02-23 | 2019-12-10 | Xilinx, Inc. | Programmable NOC compatible with multiple interface communication protocol |
US10621129B2 (en) | 2018-03-27 | 2020-04-14 | Xilinx, Inc. | Peripheral interconnect for configurable slave endpoint circuits |
US10628308B2 (en) * | 2018-05-24 | 2020-04-21 | Qualcomm Incorporated | Dynamic adjustment of memory channel interleave granularity |
US10505548B1 (en) | 2018-05-25 | 2019-12-10 | Xilinx, Inc. | Multi-chip structure having configurable network-on-chip |
US11055217B2 (en) * | 2018-06-01 | 2021-07-06 | Apple Inc. | Using additional intermediate buffer queues to identify interleaved media data to be read together |
CN108845958B (zh) * | 2018-06-19 | 2022-05-17 | 中国科学院软件研究所 | 一种交织器映射和动态内存管理系统及方法 |
US10929060B2 (en) * | 2018-07-17 | 2021-02-23 | Arm Limited | Data access request specifying enable vector |
US10838908B2 (en) | 2018-07-20 | 2020-11-17 | Xilinx, Inc. | Configurable network-on-chip for a programmable device |
WO2020024113A1 (zh) * | 2018-07-31 | 2020-02-06 | 华为技术有限公司 | 一种内存交织方法及装置 |
US10824505B1 (en) | 2018-08-21 | 2020-11-03 | Xilinx, Inc. | ECC proxy extension and byte organization for multi-master systems |
US10963460B2 (en) | 2018-12-06 | 2021-03-30 | Xilinx, Inc. | Integrated circuits and methods to accelerate data queries |
US10761822B1 (en) * | 2018-12-12 | 2020-09-01 | Amazon Technologies, Inc. | Synchronization of computation engines with non-blocking instructions |
US10990517B1 (en) * | 2019-01-28 | 2021-04-27 | Xilinx, Inc. | Configurable overlay on wide memory channels for efficient memory access |
US10936486B1 (en) | 2019-02-21 | 2021-03-02 | Xilinx, Inc. | Address interleave support in a programmable device |
US10680615B1 (en) | 2019-03-27 | 2020-06-09 | Xilinx, Inc. | Circuit for and method of configuring and partially reconfiguring function blocks of an integrated circuit device |
US11188312B2 (en) | 2019-05-23 | 2021-11-30 | Xilinx, Inc. | Hardware-software design flow with high-level synthesis for heterogeneous and programmable devices |
US10891414B2 (en) | 2019-05-23 | 2021-01-12 | Xilinx, Inc. | Hardware-software design flow for heterogeneous and programmable devices |
US10891132B2 (en) | 2019-05-23 | 2021-01-12 | Xilinx, Inc. | Flow convergence during hardware-software design for heterogeneous and programmable devices |
US11301295B1 (en) | 2019-05-23 | 2022-04-12 | Xilinx, Inc. | Implementing an application specified as a data flow graph in an array of data processing engines |
US10977018B1 (en) | 2019-12-05 | 2021-04-13 | Xilinx, Inc. | Development environment for heterogeneous devices |
US11210221B2 (en) | 2019-12-10 | 2021-12-28 | Pony Ai Inc. | Memory architecture for efficient spatial-temporal data storage and access |
US11200167B2 (en) * | 2019-12-10 | 2021-12-14 | Pony Ai Inc. | Dynamic memory address encoding |
US11222258B2 (en) | 2020-03-27 | 2022-01-11 | Google Llc | Load balancing for memory channel controllers |
IT202000009364A1 (it) * | 2020-04-29 | 2021-10-29 | St Microelectronics Srl | Procedimento per accedere a una memoria e circuito corrispondente |
CN111930651B (zh) * | 2020-08-14 | 2022-03-08 | 山东云海国创云计算装备产业创新中心有限公司 | 一种指令执行方法、装置、设备及可读存储介质 |
US11496418B1 (en) | 2020-08-25 | 2022-11-08 | Xilinx, Inc. | Packet-based and time-multiplexed network-on-chip |
WO2022086559A1 (en) * | 2020-10-23 | 2022-04-28 | Hewlett-Packard Development Company, L.P. | Access to volatile memories |
JP2024507141A (ja) * | 2021-02-16 | 2024-02-16 | グーグル エルエルシー | メモリ保護データを使用すること |
US11520717B1 (en) | 2021-03-09 | 2022-12-06 | Xilinx, Inc. | Memory tiles in data processing engine array |
US11336287B1 (en) | 2021-03-09 | 2022-05-17 | Xilinx, Inc. | Data processing engine array architecture with memory tiles |
US11687281B2 (en) * | 2021-03-31 | 2023-06-27 | Advanced Micro Devices, Inc. | DRAM command streak efficiency management |
CN113271475B (zh) * | 2021-04-12 | 2023-01-10 | 北京奇艺世纪科技有限公司 | 一种数据处理方法、系统、电子设备及存储介质 |
US20220358434A1 (en) * | 2021-05-06 | 2022-11-10 | Honeywell International Inc. | Foundation applications as an accelerator providing well defined extensibility and collection of seeded templates for enhanced user experience and quicker turnaround |
US20230057903A1 (en) | 2021-08-20 | 2023-02-23 | Xilinx, Inc. | Controlling a data processing array using an array controller |
WO2023122127A1 (en) * | 2021-12-21 | 2023-06-29 | Sambanova Systems Inc | Non-uniform memory interleaving processor and method |
US11848670B2 (en) | 2022-04-15 | 2023-12-19 | Xilinx, Inc. | Multiple partitions in a data processing array |
CN114896182B (zh) | 2022-05-11 | 2023-10-20 | 地平线(上海)人工智能技术有限公司 | 存储装置、方法、电子设备和存储介质 |
US12079158B2 (en) | 2022-07-25 | 2024-09-03 | Xilinx, Inc. | Reconfigurable neural engine with extensible instruction set architecture |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006277404A (ja) * | 2005-03-29 | 2006-10-12 | Nec Corp | マルチプロセッサシステムおよびメモリアクセス方法 |
Family Cites Families (65)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4189767A (en) * | 1978-06-05 | 1980-02-19 | Bell Telephone Laboratories, Incorporated | Accessing arrangement for interleaved modular memories |
ATE185631T1 (de) * | 1991-08-16 | 1999-10-15 | Cypress Semiconductor Corp | Dynamisches hochleistungsspeichersystem |
US5708659A (en) * | 1993-10-20 | 1998-01-13 | Lsi Logic Corporation | Method for hashing in a packet network switching system |
US5860159A (en) * | 1996-07-01 | 1999-01-12 | Sun Microsystems, Inc. | Multiprocessing system including an apparatus for optimizing spin--lock operations |
US5946710A (en) * | 1996-11-14 | 1999-08-31 | Unisys Corporation | Selectable two-way, four-way double cache interleave scheme |
US5835741A (en) * | 1996-12-31 | 1998-11-10 | Compaq Computer Corporation | Bus-to-bus bridge in computer system, with fast burst memory range |
US5948089A (en) * | 1997-09-05 | 1999-09-07 | Sonics, Inc. | Fully-pipelined fixed-latency communications system with a real time dynamic bandwidth allocation |
US6097212A (en) * | 1997-10-09 | 2000-08-01 | Lattice Semiconductor Corporation | Variable grain architecture for FPGA integrated circuits |
US6292705B1 (en) * | 1998-09-29 | 2001-09-18 | Conexant Systems, Inc. | Method and apparatus for address transfers, system serialization, and centralized cache and transaction control, in a symetric multiprocessor system |
US6182183B1 (en) * | 1998-11-13 | 2001-01-30 | Sonics, Inc. | Communications system and method with multilevel connection identification |
US6393500B1 (en) * | 1999-08-12 | 2002-05-21 | Mips Technologies, Inc. | Burst-configurable data bus |
US6487621B1 (en) * | 1999-08-17 | 2002-11-26 | Compaq Information Technologies Group, L.P. | Architecture, system and method for ensuring an ordered transaction on at least one of a plurality of multi-processor buses that experience a hit-to-modified snoop cycle |
US6526462B1 (en) * | 1999-11-19 | 2003-02-25 | Hammam Elabd | Programmable multi-tasking memory management system |
US6330225B1 (en) | 2000-05-26 | 2001-12-11 | Sonics, Inc. | Communication system and method for different quality of service guarantees for different data flows |
US7325221B1 (en) * | 2000-08-08 | 2008-01-29 | Sonics, Incorporated | Logic system with configurable interface |
US6820165B2 (en) * | 2000-08-31 | 2004-11-16 | Hewlett-Packard Development Company, L.P. | System and method for increasing the count of outstanding split transactions |
US6874039B2 (en) * | 2000-09-08 | 2005-03-29 | Intel Corporation | Method and apparatus for distributed direct memory access for systems on chip |
US6625685B1 (en) * | 2000-09-20 | 2003-09-23 | Broadcom Corporation | Memory controller with programmable configuration |
US6601145B2 (en) * | 2000-12-27 | 2003-07-29 | International Business Machines Corporation | Multiprocessor system snoop scheduling mechanism for limited bandwidth snoopers that uses dynamic hardware/software controls |
US6845482B2 (en) * | 2001-02-28 | 2005-01-18 | Qualcomm Incorporated | Interleaver for turbo decoder |
US7165094B2 (en) | 2001-03-09 | 2007-01-16 | Sonics, Inc. | Communications system and method with non-blocking shared interface |
US6392572B1 (en) * | 2001-05-11 | 2002-05-21 | Qualcomm Incorporated | Buffer architecture for a turbo decoder |
US20030004699A1 (en) * | 2001-06-04 | 2003-01-02 | Choi Charles Y. | Method and apparatus for evaluating an integrated circuit model |
US20040010652A1 (en) | 2001-06-26 | 2004-01-15 | Palmchip Corporation | System-on-chip (SOC) architecture with arbitrary pipeline depth |
US20030023794A1 (en) * | 2001-07-26 | 2003-01-30 | Venkitakrishnan Padmanabha I. | Cache coherent split transaction memory bus architecture and protocol for a multi processor chip device |
US6578117B2 (en) | 2001-10-12 | 2003-06-10 | Sonics, Inc. | Method and apparatus for scheduling requests using ordered stages of scheduling criteria |
US7194561B2 (en) | 2001-10-12 | 2007-03-20 | Sonics, Inc. | Method and apparatus for scheduling requests to a resource using a configurable threshold |
US20030088721A1 (en) * | 2001-11-05 | 2003-05-08 | Sharma Debendra Das | Method and system for controlling flow of ordered, pipelined transactions between intercommunicating electronic devices |
US7194566B2 (en) * | 2002-05-03 | 2007-03-20 | Sonics, Inc. | Communication system and method with configurable posting points |
US7269709B2 (en) * | 2002-05-15 | 2007-09-11 | Broadcom Corporation | Memory controller configurable to allow bandwidth/latency tradeoff |
US7100013B1 (en) * | 2002-08-30 | 2006-08-29 | Nvidia Corporation | Method and apparatus for partial memory power shutoff |
US7120765B2 (en) * | 2002-10-30 | 2006-10-10 | Intel Corporation | Memory transaction ordering |
US7243264B2 (en) * | 2002-11-01 | 2007-07-10 | Sonics, Inc. | Method and apparatus for error handling in networks |
EP1568036B1 (en) * | 2002-11-20 | 2008-08-27 | Nxp B.V. | Sdram address mapping optimized for two-dimensional access |
US7149829B2 (en) | 2003-04-18 | 2006-12-12 | Sonics, Inc. | Various methods and apparatuses for arbitration among blocks of functionality |
FR2857114B1 (fr) * | 2003-07-04 | 2005-09-30 | Arteris | Systeme et procede de communication entre des modules |
FR2858895B1 (fr) * | 2003-08-13 | 2006-05-05 | Arteris | Procede et dispositif de gestion de priorite lors de la transmission d'un message |
US7296105B2 (en) * | 2003-10-03 | 2007-11-13 | Sonics, Inc. | Method and apparatus for configuring an interconnect to implement arbitration |
US7665069B2 (en) * | 2003-10-31 | 2010-02-16 | Sonics, Inc. | Method and apparatus for establishing a quality of service model |
US8407433B2 (en) * | 2007-06-25 | 2013-03-26 | Sonics, Inc. | Interconnect implementing internal controls |
FR2862457B1 (fr) * | 2003-11-13 | 2006-02-24 | Arteris | Systeme et procede de transmission d'une sequence de messages dans un reseau d'interconnexions. |
FR2865334B1 (fr) * | 2004-01-21 | 2006-03-03 | Arteris | Procede et systeme de transmission de messages dans un reseau d'interconnexions. |
FR2867338B1 (fr) * | 2004-03-02 | 2007-08-10 | Arteris | Procede et dispositif de commutation entre des agents |
US7543088B2 (en) * | 2004-03-11 | 2009-06-02 | Sonics, Inc. | Various methods and apparatuses for width and burst conversion |
US7053351B2 (en) * | 2004-03-30 | 2006-05-30 | Matsushita Electric Industrial, Co., Ltd | Near-field scanning optical microscope for laser machining of micro- and nano- structures |
JPWO2005109205A1 (ja) | 2004-04-15 | 2008-03-21 | 松下電器産業株式会社 | 情報処理装置およびデータアクセス方法 |
ATE425495T1 (de) * | 2004-08-30 | 2009-03-15 | Magima Digital Information Co | Verfahren und system zum datentransfer |
US7116131B1 (en) | 2004-09-15 | 2006-10-03 | Xilinx, Inc. | High performance programmable logic devices utilizing dynamic circuitry |
TWI254856B (en) * | 2004-10-29 | 2006-05-11 | Via Tech Inc | Memory interleave method |
US7155554B2 (en) * | 2004-11-02 | 2006-12-26 | Sonics, Inc. | Methods and apparatuses for generating a single request for block transactions over a communication fabric |
JP4820566B2 (ja) | 2005-03-25 | 2011-11-24 | パナソニック株式会社 | メモリアクセス制御回路 |
US7461190B2 (en) * | 2005-08-11 | 2008-12-02 | P.A. Semi, Inc. | Non-blocking address switch with shallow per agent queues |
US7616036B1 (en) * | 2005-09-12 | 2009-11-10 | Virage Logic Corporation | Programmable strobe and clock generator |
FR2893471B1 (fr) * | 2005-11-16 | 2008-01-25 | Arteris Sa | Systeme et procede de routage statique de flux de paquets de donnees dans un reseau d'interconnexion |
US20080005516A1 (en) * | 2006-06-30 | 2008-01-03 | Meinschein Robert J | Memory power management through high-speed intra-memory data transfer and dynamic memory address remapping |
FR2904445B1 (fr) * | 2006-07-26 | 2008-10-10 | Arteris Sa | Systeme de gestion de messages transmis dans un reseau d'interconnexions sur puce |
JP2008033722A (ja) * | 2006-07-31 | 2008-02-14 | Matsushita Electric Ind Co Ltd | エンディアン変換回路を備えたデータ転送制御装置 |
US20080086577A1 (en) * | 2006-10-04 | 2008-04-10 | Mediatek Inc. | Digital Television System, Memory Controller, and Method for Data Access |
US7680988B1 (en) * | 2006-10-30 | 2010-03-16 | Nvidia Corporation | Single interconnect providing read and write access to a memory shared by concurrent threads |
US20080235421A1 (en) * | 2007-03-22 | 2008-09-25 | Siva Shankar Jayaratnam | Technique and apparatus to optimize inter-port memory transaction sequencing on a multi-ported memory controller unit |
JP5121291B2 (ja) * | 2007-04-20 | 2013-01-16 | 株式会社ニューフレアテクノロジー | データ転送システム |
US8438320B2 (en) * | 2007-06-25 | 2013-05-07 | Sonics, Inc. | Various methods and apparatus for address tiling and channel interleaving throughout the integrated system |
US8108648B2 (en) | 2007-06-25 | 2012-01-31 | Sonics, Inc. | Various methods and apparatus for address tiling |
US7818497B2 (en) * | 2007-08-31 | 2010-10-19 | International Business Machines Corporation | Buffered memory module supporting two independent memory channels |
US8429386B2 (en) | 2009-06-30 | 2013-04-23 | Oracle America, Inc. | Dynamic tag allocation in a multithreaded out-of-order processor |
-
2008
- 2008-06-24 US US12/144,883 patent/US8407433B2/en active Active
- 2008-06-24 US US12/144,987 patent/US9495290B2/en active Active
- 2008-06-24 US US12/145,052 patent/US9292436B2/en active Active
- 2008-06-24 US US12/145,257 patent/US20080320255A1/en not_active Abandoned
- 2008-06-25 EP EP11186954.1A patent/EP2413355B1/en active Active
- 2008-06-25 JP JP2010515052A patent/JP2010531518A/ja active Pending
- 2008-06-25 WO PCT/US2008/068107 patent/WO2009002998A1/en active Application Filing
- 2008-06-25 EP EP08780967A patent/EP2160762A4/en not_active Withdrawn
- 2008-06-25 EP EP10157427.5A patent/EP2216722B8/en active Active
-
2010
- 2010-10-05 JP JP2010225561A patent/JP2011054184A/ja active Pending
-
2011
- 2011-10-18 US US13/276,041 patent/US20120036296A1/en not_active Abandoned
-
2016
- 2016-11-23 US US15/359,895 patent/US10062422B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006277404A (ja) * | 2005-03-29 | 2006-10-12 | Nec Corp | マルチプロセッサシステムおよびメモリアクセス方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012078895A (ja) * | 2010-09-30 | 2012-04-19 | Kyocera Mita Corp | 情報処理装置 |
JP2015158943A (ja) * | 2011-12-09 | 2015-09-03 | クアルコム,インコーポレイテッド | 複数のメモリ領域にわたる強順序付けされたデバイス、および排他的トランザクションの自動順序付け |
WO2014103144A1 (ja) * | 2012-12-28 | 2014-07-03 | パナソニック株式会社 | インタフェース装置、およびメモリバスシステム |
JP5793690B2 (ja) * | 2012-12-28 | 2015-10-14 | パナソニックIpマネジメント株式会社 | インタフェース装置、およびメモリバスシステム |
US10225168B2 (en) | 2012-12-28 | 2019-03-05 | Panasonic Intellectual Property Management Co. Ltd | Interface apparatus and memory bus system |
KR101752117B1 (ko) | 2013-12-27 | 2017-06-28 | 퀄컴 인코포레이티드 | 단일 채널 내에서의 dram 공간적 통합을 위한 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
EP2413355A1 (en) | 2012-02-01 |
US20120036296A1 (en) | 2012-02-09 |
US20080320255A1 (en) | 2008-12-25 |
EP2216722A2 (en) | 2010-08-11 |
WO2009002998A1 (en) | 2008-12-31 |
EP2216722B1 (en) | 2019-06-19 |
EP2216722A3 (en) | 2012-11-21 |
US10062422B2 (en) | 2018-08-28 |
JP2011054184A (ja) | 2011-03-17 |
US20080320268A1 (en) | 2008-12-25 |
US9495290B2 (en) | 2016-11-15 |
US9292436B2 (en) | 2016-03-22 |
EP2216722B8 (en) | 2021-08-25 |
US20170140800A1 (en) | 2017-05-18 |
US20080320476A1 (en) | 2008-12-25 |
US20080320254A1 (en) | 2008-12-25 |
EP2160762A1 (en) | 2010-03-10 |
EP2413355B1 (en) | 2021-08-11 |
EP2160762A4 (en) | 2011-01-26 |
US8407433B2 (en) | 2013-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10062422B2 (en) | Various methods and apparatus for configurable mapping of address regions onto one or more aggregate targets | |
US10664421B1 (en) | Reordering responses in a high performance on-chip network | |
KR101579897B1 (ko) | 각각의 스레드 및 태그에 대한 메모리 액세스를 동시에 수행하기 위한 장치 및 방법 | |
KR101467932B1 (ko) | 상호접속부에서 멀티-쓰레드 오더링된 큐들에 대한 공유 저장기 | |
Kumary et al. | A 4.6 Tbits/s 3.6 GHz single-cycle NoC router with a novel switch allocator in 65nm CMOS | |
US8438320B2 (en) | Various methods and apparatus for address tiling and channel interleaving throughout the integrated system | |
US8438306B2 (en) | Apparatus and methods for on layer concurrency in an integrated circuit | |
US8484397B1 (en) | Various methods and apparatus for a memory scheduler with an arbiter | |
US20110213949A1 (en) | Methods and apparatus for optimizing concurrency in multiple core systems | |
KR20200091339A (ko) | 최소 스토리지를 활용한 플렉시블 링크 폭들을 갖는 라우터에서 크레딧 흐름 제어 방식 | |
JP2009505171A (ja) | ステートフルなトランザクション指向のシステムを指定する方法、及び半導体デバイスの構造的に構成可能なイン・メモリ処理へ柔軟にマッピングする装置 | |
Bononi et al. | System-Level Tools for NoC-Based Multi-Core Design | |
Zhang | Design of On-chip Bus of Heterogeneous 3DIC Micro-processors. | |
Wang et al. | Modeling a code-division multiple-access network-on-chip using SystemC | |
Hassan | Customizable Memory Controller Architecture and Service Continuity for Off-Chip SDRAM Access in NoC-Based MPSoCs | |
van Hintum | Resource virtualization for mapping multiple applications on the same platform |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20100813 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20100813 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120425 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120508 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120808 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20121002 |