JP6574779B2 - 複数のトランザクションを扱うためのデータ処理システム及びデータ処理方法 - Google Patents
複数のトランザクションを扱うためのデータ処理システム及びデータ処理方法 Download PDFInfo
- Publication number
- JP6574779B2 JP6574779B2 JP2016544675A JP2016544675A JP6574779B2 JP 6574779 B2 JP6574779 B2 JP 6574779B2 JP 2016544675 A JP2016544675 A JP 2016544675A JP 2016544675 A JP2016544675 A JP 2016544675A JP 6574779 B2 JP6574779 B2 JP 6574779B2
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- request
- transactions
- address
- circuit
- 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.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims description 108
- 238000003672 processing method Methods 0.000 title description 2
- 238000003860 storage Methods 0.000 claims description 154
- 230000004044 response Effects 0.000 claims description 123
- 238000012423 maintenance Methods 0.000 claims description 95
- 230000015654 memory Effects 0.000 claims description 86
- 238000000034 method Methods 0.000 claims description 23
- 230000007246 mechanism Effects 0.000 claims description 13
- 230000000116 mitigating effect Effects 0.000 claims description 13
- 230000008878 coupling Effects 0.000 claims description 5
- 238000010168 coupling process Methods 0.000 claims description 5
- 238000005859 coupling reaction Methods 0.000 claims description 5
- 230000009467 reduction Effects 0.000 claims description 5
- 208000033748 Device issues Diseases 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 claims description 3
- 230000001419 dependent effect Effects 0.000 claims description 2
- 230000001934 delay Effects 0.000 claims 1
- 230000008569 process Effects 0.000 description 15
- 238000013459 approach Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 14
- 230000000644 propagated effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005352 clarification Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
- G06F12/0828—Cache consistency protocols using directory methods with concurrent directory accessing, i.e. handling multiple concurrent coherency transactions
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/364—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
-
- 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/17306—Intercommunication techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- 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)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
Description
Claims (44)
- マスタ・デバイスと、
複数のスレーブ・デバイスと、
前記マスタ・デバイスを前記複数のスレーブ・デバイスに結合して、前記マスタ・デバイスから要求が行われると、前記複数のスレーブ・デバイスによってトランザクションが実行されることを可能にするように構成された相互接続回路とを備えるデータ処理システムであって、
前記マスタ・デバイスは、実行されるべき複数のトランザクションを識別するマルチトランザクション要求を発行するように構成され、前記マルチトランザクション要求は、基本トランザクション識別子と、実行されるべきトランザクションの数を示す数量指示と、アドレス情報とを与え、
前記相互接続回路は、前記複数のトランザクションのそれぞれに関して、そのトランザクションを実行することを要求される前記スレーブ・デバイスを決定するために前記アドレス情報及び前記数量指示を解析するように構成され、決定された各スレーブ・デバイスに対して、前記複数のトランザクションの中でその決定されたスレーブ・デバイスによって実行されるべき前記トランザクションを識別するトランザクション要求を発行するように更に構成された要求配信回路を含み、
決定された各スレーブ・デバイスは、その決定されたスレーブ・デバイスによって実行される各トランザクションの完了を識別する応答を前記マスタ・デバイスに与えるように構成され、決定された各スレーブ・デバイスは、他の任意の決定されたスレーブ・デバイスからの前記応答とは無関係にそのスレーブ・デバイスの応答を与えるように構成され、各応答は、前記基本トランザクション識別子から決定されたトランザクション識別子と、前記マスタ・デバイスが、前記マルチトランザクション要求内で識別される各トランザクションの完了を識別することを可能にするトランザクション固有の情報とを含むデータ処理システム。 - 前記要求配信回路によって発行される前記トランザクション要求は、少なくとも1つのマルチトランザクション要求を含み、前記少なくとも1つのマルチトランザクション要求のそれぞれは、そのマルチトランザクション要求が発行された前記決定されたスレーブ・デバイスによって実行されることが要求される前記複数のトランザクションのうちの複数を識別する請求項1に記載のデータ処理システム。
- 前記マスタ・デバイスによって発行される前記マルチトランザクション要求は、マルチバースト・トランザクション要求であり、前記複数のトランザクションのそれぞれは、前記マスタ・デバイスと前記決定されたスレーブ・デバイスの間で実行されるべき複数のデータ転送が指定されるバースト・トランザクションである請求項1又は請求項2に記載のデータ処理システム。
- 前記アドレス情報は、基本アドレスを備え、前記マルチトランザクション要求によって識別される各トランザクションに関するアドレスは、前記基本アドレスを基準として決定される請求項1から3までのいずれか一項に記載のデータ処理システム。
- 各前記マルチトランザクション要求は、連続的なアドレス範囲内の所定のアドレスと関係する一連のトランザクションを識別する請求項4に記載のデータ処理システム。
- 前記マルチトランザクション要求は、前記マルチトランザクション要求によって識別される各トランザクションに関する前記アドレスを決定するのに前記基本アドレスとの組合せで使用されるマスク情報を備える請求項4に記載のデータ処理システム。
- スレーブ・デバイスが、特定のトランザクションに関する応答を与える場合、前記応答の中に含められる前記トランザクション識別子を生成するのにそのスレーブ・デバイスによって前記基本トランザクション識別子との組合せで使用される前記トランザクション固有の情報は、前記トランザクションのために指定された前記アドレスのいくつかのビットを備える請求項4に記載のデータ処理システム。
- キャッシュ・ストレージを有する少なくとも1つの更なるマスタ・デバイスを更に備えるデータ処理システムであって、
そのキャッシュ・ストレージの中には、前記少なくとも1つの更なるマスタ・デバイスによってアクセスされるようにデータがキャッシュされ、
前記相互接続回路は、受信されたトランザクション要求に応答して、前記受信されたトランザクション要求に関連付けられた前記トランザクションに関して指定されたアドレスに基づいて、そのアドレスにおけるデータが前記キャッシュ・ストレージ内に記憶されているかどうかを決定するために、前記キャッシュ・ストレージに関してスヌープ動作を実行するスヌープ回路を備え、
前記要求配信回路は、前記複数のトランザクションのうちのいずれかが、前記スヌープ回路によってスヌープ動作が実行されることを要求するアドレスを指定するかどうかを決定するために前記アドレス情報及び前記数量指示を解析するように更に構成され、
前記要求配信回路は、前記複数のトランザクションのうちの少なくとも1つがスヌープ動作が実行されることを要求すると決定したことに応答して、前記マスタ・デバイスから受信された前記マルチトランザクション要求を複数のトランザクション要求に分割し、前記スヌープ回路に対して前記トランザクション要求のうちの少なくとも1つを発行する請求項1から7までのいずれか一項に記載のデータ処理システム。 - 前記スヌープ回路に対して発行される前記トランザクション要求のうちの少なくとも1つは、スヌープ動作が実行されることが要求される前記複数のトランザクションのうちの複数を識別するマルチトランザクション要求を備える請求項8に記載のデータ処理システム。
- 前記スヌープ回路は、複数のスヌープ回路を備え、各スヌープ回路は、異なるアドレス範囲に関連付けられ、前記要求配信回路は、各スヌープ回路に対して別々のトランザクション要求を発行するように構成される請求項8又は9に記載のデータ処理システム。
- 前記スヌープ回路は、前記キャッシュ・ストレージの中に記憶されたデータのアドレスのアドレス指示を保持するように構成されたスヌープ・フィルタを備え、トランザクションのために実行される前記スヌープ動作は、前記トランザクションによって指定される前記アドレスを使用して前記スヌープ・フィルタを参照すること、及び前記アドレスが、前記スヌープ・フィルタによって保持される前記アドレス指示のうちの1つと合致することを前記スヌープ・フィルタが示す場合、前記キャッシュ・ストレージに対してスヌープ要求を発行することを備える請求項8から10までのいずれか一項に記載のデータ処理システム。
- 前記複数のスレーブ・デバイスは、関連付けられたメモリ・デバイスに結合された複数のメモリ・コントローラを含む請求項1から11までのいずれか一項に記載のデータ処理システム。
- 関連付けられた各メモリ・デバイスは、アドレスのパターンに関連付けられたデータを記憶するように構成され、1つのメモリ・デバイスのアドレスの前記パターンは、別のメモリ・デバイスのアドレスの前記パターンとインターリーブされ、
前記要求配信回路は、各メモリ・コントローラに、前記関連付けられたメモリ・デバイスのアドレスの前記パターン内に指定されたアドレスがある前記複数のトランザクションの中の前記トランザクションを実行させるために、前記マルチバースト・トランザクション要求を、各メモリ・コントローラに対して発行される別々のマルチバースト・トランザクション要求に分割するように構成される、請求項3に従属する場合の請求項12に記載のデータ処理システム。 - 前記メモリ・コントローラのそれぞれは、いずれのトランザクションがそのメモリ・コントローラによる実行を要求するかを識別するのに前記メモリ・コントローラによって使用される制御データを供給される請求項13に記載のデータ処理システム。
- 前記要求配信回路は、各メモリ・コントローラに対して発行される前記マルチトランザクション要求の中に前記制御データを符号化する請求項14に記載のデータ処理システム。
- 前記マスタ・デバイスによって発行される前記マルチトランザクション要求は、各書込みトランザクションに関して前記マスタ・デバイスから前記決定されたスレーブ・デバイスに書込みデータが書き込まれることを要求する複数の書込みトランザクションを識別し、
前記相互接続回路は、前記複数の書込みトランザクションのそれぞれに関する前記書込みデータを、各書込みトランザクションに関して前記決定されたスレーブ・デバイスにルーティングするように構成された書込みデータ・ルーティング回路を含み、
前記マスタ・デバイスは、各トランザクションに関して前記書込みデータ・ルーティング回路を通る前記書込みデータの出力を、そのトランザクションに関する前記決定されたスレーブ・デバイスが、前記書込みデータを求める要求を発行するまで、遅延させるように構成される請求項1から15までのいずれか一項に記載のデータ処理システム。 - 決定された各スレーブ・デバイスが前記書込みデータを求める前記要求を発行する、決定された各スレーブ・デバイスと前記マスタ・デバイスの間のハンドシェーク機構を更に備える請求項16に記載のデータ処理システム。
- 前記マスタ・デバイスは、前記書込みデータが記憶されるキャッシュ・ストレージを備え、前記決定されたスレーブ・デバイスによって発行される前記書込みデータを求める前記要求は、前記要求された書込みデータが前記キャッシュ・ストレージから退去させられるように構成される請求項16に記載のデータ処理システム。
- 前記相互接続回路は、
前記複数のトランザクションの実行中に各スレーブ・デバイスによって発行された前記応答を前記マスタ・デバイスにルーティングするように構成された応答ルーティング回路と、
前記要求配信回路に関連付けられ、前記要求配信回路が、前記マルチトランザクション要求を、異なるスレーブ・デバイスに対して発行される複数のトランザクション要求に分割すると決定されると、異なるスレーブ・デバイスから前記応答ルーティング回路を介して応答が戻されることに起因する前記応答ルーティング回路内の競合を低減しようと努めるために、前記複数のトランザクション要求に関して競合低減対策を適用するように構成された競合緩和回路とを更に備える請求項1から18までのいずれか一項に記載のデータ処理システム。 - 前記競合低減対策は、前記異なるスレーブ・デバイスのそれぞれに、前記応答ルーティング回路内の異なるタイムスロットを割り当てることを備える請求項19に記載のデータ処理システム。
- 前記競合低減対策は、前記要求配信回路によって発行される各トランザクション要求に関連して、前記決定されたスレーブ・デバイスによって使用されるデータレートを制限するデータレート指示を与えることを備える請求項19に記載のデータ処理システム。
- 前記マルチトランザクション要求は、各書込みトランザクションに関して前記マスタ・デバイスから前記決定されたスレーブ・デバイスに書込みデータが書き込まれることを要求する複数の書込みトランザクションを識別し、前記マルチトランザクション要求は、各トランザクションに関して書き込まれるべき前記書込みデータ値を識別するフィールドを含む請求項1から21までのいずれか一項に記載のデータ処理システム。
- 前記マルチトランザクション要求は、実行されるべき複数の読取りトランザクションを識別し、各読取りデータ値が書き込まれるべきアドレスを識別するのに使用される書込みアドレス指示を更に指定し、その結果、データが、1つのアドレスから読み取られて、別の書込みトランザクション要求が発行されることなしに、次に、別のアドレスに書き込まれることを可能にする請求項1から21までのいずれか一項に記載のデータ処理システム。
- 前記マスタ・デバイスは、関連するマルチトランザクション書込み要求が後に続くマルチトランザクション読取り要求を発行するように構成され、
前記要求配信回路は、前記マルチトランザクション読取り要求及び前記関連するマルチトランザクション書込み要求に応答して、データが1つのアドレスから読み取られ、次に、別のアドレスに書き込まれるようにするよう、決定された各スレーブ・デバイスに対してトランザクション要求を発行するように構成される請求項1から21までのいずれか一項に記載のデータ処理システム。 - 前記関連付けられたマルチトランザクション書込み要求は、前記要求配信回路が、前記関連付けられたマルチトランザクション書込み要求を、前記マルチトランザクション読取り要求に関連付けられているものとして識別することを可能にするために、前記マルチトランザクション読取り要求のために使用されるのと同一の基本トランザクション識別子を指定するように構成される請求項24に記載のデータ処理システム。
- マスタ・デバイスと複数のスレーブ・デバイスを相互接続して、前記マスタ・デバイスから要求が行われると、前記複数のスレーブ・デバイスによってトランザクションが実行されることを可能にするための相互接続回路であって、
前記マスタ・デバイスから、実行されるべき複数のトランザクションを識別するマルチトランザクション要求を受信するように構成されたマスタ・インターフェースであって、前記マルチトランザクション要求は、基本トランザクション識別子と、実行されるべきトランザクションの数を示す数量指示と、アドレス情報とを与えるマスタ・インターフェースと、
前記複数のトランザクションのそれぞれに関して、前記トランザクションを実行することを要求される前記スレーブ・デバイスを決定するために前記アドレス情報及び前記数量指示を解析するように構成され、決定された各スレーブ・デバイスに対して、前記複数のトランザクションの中で前記決定されたスレーブ・デバイスによって実行されるべき前記トランザクションを識別するトランザクション要求を発行するように更に構成された要求配信回路と、
前記マスタ・デバイスに、決定された各スレーブ・デバイスから与えられる、前記決定されたスレーブ・デバイスによって実行された各トランザクションの完了を識別する応答をルーティングするように構成された応答ルーティング回路であって、決定された各スレーブ・デバイスは、他の任意の決定されたスレーブ・デバイスからの前記応答とは無関係に前記決定された各スレーブ・デバイスの応答を与え、各応答は、基本トランザクション識別子から決定されたトランザクション識別子と、トランザクション固有の情報とを含み、前記マスタ・デバイスが、前記マルチトランザクション要求内で識別される各トランザクションの完了を識別することを可能にする応答ルーティング回路とを備える相互接続回路。 - マスタ・デバイスと、
複数のキャッシュ・ストレージ・デバイスと、
前記マスタ・デバイスを前記複数のキャッシュ・ストレージ・デバイスに結合して、前記マスタ・デバイスによって指定されたキャッシュ・メンテナンス動作が、前記複数のキャッシュ・ストレージ・デバイスによって実行されることを可能にするように構成された相互接続回路とを備えるデータ処理システムであって、
前記マスタ・デバイスは、実行されるべき複数のトランザクションを識別するマルチトランザクション要求を発行するように構成され、前記マルチトランザクション要求は、実行されるべきトランザクションの数を示す数量指示と、アドレス情報とを与え、前記複数のトランザクションのそれぞれは、前記トランザクションに関連付けられたアドレスにおいて実行されるべきキャッシュ・メンテナンス動作を指定し、
前記相互接続回路は、前記複数のトランザクションのそれぞれに関して、前記複数のキャッシュ・ストレージ・デバイスのうちのいずれが前記トランザクションを実行することを要求されるかを決定するために前記アドレス情報及び前記数量指示を解析するように構成され、前記複数のキャッシュ・ストレージ・デバイスのそれぞれに対して、前記複数のトランザクションの中で前記複数のキャッシュ・ストレージ・デバイスのそれぞれによって実行されるべき前記トランザクションを識別するトランザクション要求を発行するように更に構成された要求配信回路を含み、
前記データ処理システムは、
前記複数のトランザクションの実行中に前記複数のキャッシュ・ストレージ・デバイスから進行指示を受信し、前記マスタ・デバイスに進行情報を与えて、前記複数のトランザクションがいつ完了されたかを前記マスタ・デバイスが決定することを可能にするように構成されたキャッシュ・メンテナンス追跡回路を備え、
前記要求配信回路によって発行される前記トランザクション要求は、少なくとも1つのマルチトランザクション要求を含み、前記少なくとも1つのマルチトランザクション要求のそれぞれは、前記マルチトランザクション要求が発行された前記キャッシュ・ストレージ・デバイスによって実行されることが要求される前記複数のトランザクションのうちの複数を識別する、データ処理システム。 - 前記アドレス情報は、基本アドレスを備え、前記マルチトランザクション要求によって識別される各トランザクションに関する前記アドレスは、前記基本アドレスを基準として決定される請求項27に記載のデータ処理システム。
- 更なるマスタ・デバイスを更に備えるデータ処理システムであって、前記複数のキャッシュ・ストレージ・デバイスは、前記マスタ・デバイスと前記更なるマスタ・デバイスによって共有される少なくとも1つのキャッシュ・ストレージ・デバイスを備える請求項27又は28に記載のデータ処理システム。
- 更なるマスタ・デバイスを更に備えるデータ処理システムであって、前記複数のキャッシュ・ストレージ・デバイスは、前記更なるマスタ・デバイスによってアクセスされるようにデータをキャッシュするために前記更なるマスタ・デバイスに関連して提供される少なくとも1つのキャッシュ・ストレージ・デバイスを備える請求項27又は28に記載のデータ処理システム。
- 前記要求配信回路は、前記複数のトランザクション要求のそれぞれによって指定された前記キャッシュ・メンテナンス動作を実行するために前記複数のキャッシュ・ストレージ・デバイスに関してスヌープ動作を実行するように構成されたスヌープ回路を備える請求項27から30までのいずれか一項に記載のデータ処理システム。
- 前記スヌープ回路は、複数のスヌープ回路を備え、各スヌープ回路は、異なるアドレス範囲に関連付けられ、前記要求配信回路は、前記複数のトランザクションのそれぞれに関して、前記複数のスヌープ回路のいずれが前記トランザクションによって指定される前記キャッシュ・メンテナンス動作を実行することを要求されるかを決定するために前記アドレス情報及び前記数量指示を解析し、前記決定に依存して各スヌープ回路に対して別々のトランザクション要求を発行するように構成された第1のステージ要求配信回路を更に備える請求項31に記載のデータ処理システム。
- 前記キャッシュ・メンテナンス追跡回路は、前記複数のスヌープ回路のそれぞれの内部に備えられたキャッシュ・メンテナンス追跡回路を備え、各キャッシュ・メンテナンス追跡回路は、前記関連付けられたスヌープ回路によって扱われる前記トランザクションによって指定された前記キャッシュ・メンテナンス動作の実行中に前記複数のキャッシュ・ストレージ・デバイスから進行指示を受信し、他の各キャッシュ・メンテナンス追跡回路から与えられる前記進行情報とは無関係に前記マスタ・デバイスに進行情報を与えるように構成される請求項32に記載のデータ処理システム。
- 前記スヌープ回路は、各キャッシュ・ストレージ・デバイスに関して、前記キャッシュ・ストレージ・デバイスの中に記憶されたデータのアドレスのアドレス指示を保持するように構成されたスヌープ・フィルタを備え、トランザクションのために実行される前記スヌープ動作は、前記トランザクションによって指定される前記アドレスを使用して前記スヌープ・フィルタ内でルックアップ動作を実行すること、及び、各キャッシュ・ストレージ・デバイスに関して、前記アドレスが、前記キャッシュ・ストレージ・デバイスのために前記スヌープ・フィルタによって保持される前記アドレス指示のうちの1つと合致することを前記ルックアップ動作が示す場合、前記キャッシュ・ストレージ・デバイスに対してスヌープ要求を発行することを備える請求項31から33までのいずれか一項に記載のデータ処理システム。
- 前記スヌープ・フィルタは、複数のエントリを備え、各エントリは、アドレス指示と、トランザクションの前記アドレスが前記アドレス指示と合致した場合、前記複数のキャッシュ・ストレージ・デバイスのうちのいずれに対してスヌープ要求が発行されるべきかを示すキャッシュ識別子情報とを記憶する請求項34に記載のデータ処理システム。
- 前記スヌープ・フィルタは、セット・アソシアティブ型のストレージであり、各トランザクションの前記アドレスのインデックス部分は、アドレス指示が前記アドレスと比較されるべき前記スヌープ・フィルタ内のエントリを識別するのに使用され、
前記マルチトランザクション要求によって指定された前記複数のトランザクションが、前記複数のトランザクションを処理する際に前記スヌープ・フィルタの各エントリを複数回、参照することを要求するのに十分なだけ広いアドレス範囲と関係する場合、前記スヌープ回路は、前記スヌープ・フィルタの各エントリがルックアップを1回、受けるために、前記スヌープ・フィルタ内の修正されたルックアップ動作を適用するように構成され、前記エントリから得られた前記アドレス指示のいくつかのビットがマスクされ、次に、前記トランザクションのうちの複数と共通するマスクされたアドレスと比較され、その比較が合致を示す場合、前記スヌープ・フィルタの前記エントリに関連付けられたキャッシュ識別子情報によって示される各キャッシュ・ストレージ・デバイスに対してスヌープ要求が発行される請求項34又は35に記載のデータ処理システム。 - 各キャッシュ・ストレージ・デバイスは、複数のキャッシュ・エントリを有するセット・アソシアティブ型のキャッシュ・ストレージ・デバイスであり、各キャッシュ・エントリは、アドレス指示と、1つ又は複数の関連付けられたデータ値とを備え、各トランザクションによって指定される前記キャッシュ・メンテナンス動作を実行する際、前記トランザクションの前記アドレスのインデックス部分が、アドレス指示が前記アドレスと比較されるべきキャッシュ・エントリを識別するのに使用され、
キャッシュ・ストレージ・デバイスが、前記キャッシュ・ストレージ・デバイスによって実行されることが要求される前記複数のトランザクションのうちの複数を識別するマルチトランザクション要求を前記要求配信回路から受信し、且つ前記複数のトランザクションのうちの前記複数が、前記複数のトランザクションのうちの前記複数によって指定される前記キャッシュ・メンテナンス動作を実行する際、前記キャッシュ・ストレージ・デバイスの各キャッシュ・エントリを複数回、参照することを要求するのに十分なだけ広いアドレス範囲と関係する場合、前記キャッシュ・ストレージ・デバイスは、各キャッシュ・エントリがルックアップを1回、受けるために、修正されたキャッシュ・ルックアップ動作を適用するように構成され、前記キャッシュ・エントリから得られた前記アドレス指示のいくつかのビットがマスクされ、次に、前記トランザクションのうちの複数と共通するマスクされたアドレスと比較され、前記比較が合致を示す場合、前記キャッシュ・エントリにおける前記1つ又は複数のデータ値が、前記キャッシュ・メンテナンス動作の対象とされる、請求項27から36までのいずれか一項に記載のデータ処理システム。 - 前記キャッシュ・メンテナンス追跡回路は、前記マルチトランザクション要求によって指定された前記複数のトランザクションの全てが実行されると、前記マスタ・デバイスに対する前記進行情報として単一の組み合わされた応答を与えるように構成される請求項27から37までのいずれか一項に記載のデータ処理システム。
- 前記キャッシュ・メンテナンス追跡回路は、前記マスタ・デバイスに対する前記進行情報として、進行情報の複数の別々のアイテムを与えるように構成され、進行情報の各アイテムは、カウント値を与え、前記マスタ・デバイスは、前記複数のトランザクションがいつ完了されたかを決定するために、受信された前記カウント値を累算するように構成される請求項27から37までのいずれか一項に記載のデータ処理システム。
- マスタ・デバイスと複数のキャッシュ・ストレージ・デバイスを相互接続して、前記マスタ・デバイスによって指定されたキャッシュ・メンテナンス動作が、前記複数のキャッシュ・ストレージ・デバイスによって実行されることを可能にするための相互接続回路であって、
前記マスタ・デバイスから、実行されるべき複数のトランザクションを識別するマルチトランザクション要求を受信するように構成されたマスタ・インターフェースであって、前記マルチトランザクション要求は、実行されるべきトランザクションの数を示す数量指示と、アドレス情報とを与え、前記複数のトランザクションのそれぞれは、前記トランザクションに関連付けられたアドレスにおいて実行されるべきキャッシュ・メンテナンス動作を指定するマスタ・インターフェースと、
前記複数のトランザクションのそれぞれに関して、前記複数のキャッシュ・ストレージ・デバイスのいずれが前記トランザクションを実行することを要求されるかを決定するために前記アドレス情報及び前記数量指示を解析するように構成され、前記複数のキャッシュ・ストレージ・デバイスのそれぞれに対して、前記複数のトランザクションの中で前記複数のキャッシュ・ストレージ・デバイスのそれぞれによって実行されるべき前記トランザクションを識別するトランザクション要求を発行するように更に構成された要求配信回路と、
前記複数のトランザクションの実行中に前記複数のキャッシュ・ストレージ・デバイスから進行指示を受信し、前記マスタ・デバイスに進行情報を与えて、前記複数のトランザクションがいつ完了されたかを前記マスタ・デバイスが決定することを可能にするように構成されたキャッシュ・メンテナンス追跡回路とを備え、
前記要求配信回路によって発行される前記トランザクション要求は、少なくとも1つのマルチトランザクション要求を含み、前記少なくとも1つのマルチトランザクション要求のそれぞれは、前記マルチトランザクション要求が発行された前記キャッシュ・ストレージ・デバイスによって実行されることが要求される前記複数のトランザクションのうちの複数を識別する、相互接続回路。 - マスタ・デバイスと、複数のスレーブ・デバイスと、前記マスタ・デバイスを前記複数のスレーブ・デバイスに結合して、前記マスタ・デバイスから要求が行われると、前記複数のスレーブ・デバイスによってトランザクションが実行されることを可能にする相互接続回路とを備えるデータ処理システム内で前記トランザクションを実行する方法であって、
前記マスタ・デバイスから、実行されるべき複数のトランザクションを識別するマルチトランザクション要求を発行することであって、前記マルチトランザクション要求は、基本トランザクション識別子と、実行されるべきトランザクションの数を示す数量指示と、アドレス情報とを与えることと、
前記相互接続回路内で、前記複数のトランザクションのそれぞれに関して、前記トランザクションを実行することを要求される前記スレーブ・デバイスを決定するために前記アドレス情報及び前記数量指示を解析し、決定された各スレーブ・デバイスに対して、前記複数のトランザクションの中で前記決定されたスレーブ・デバイスによって実行されるべき前記トランザクションを識別するトランザクション要求を発行することと、
前記マスタ・デバイスに対して、決定された各スレーブ・デバイスから、前記決定されたスレーブ・デバイスによって実行された各トランザクションの完了を識別する応答を発行することであって、決定された各スレーブ・デバイスは、他の任意の決定されたスレーブ・デバイスからの応答とは無関係に前記決定された各スレーブ・デバイスの応答を与え、各応答は、前記基本トランザクション識別子から決定されたトランザクション識別子と、トランザクション固有の情報とを含み、前記マスタ・デバイスが、前記マルチトランザクション要求内で識別される各トランザクションの完了を識別することを可能にする、発行することとを備える方法。 - マスタ手段と、
複数のスレーブ手段と、
前記マスタ手段を前記複数のスレーブ手段に結合して、前記マスタ手段から要求が行われると、前記複数のスレーブ手段によってトランザクションが実行されることを可能にするための相互接続手段とを備えるデータ処理システムであって、
前記マスタ手段は、実行されるべき複数のトランザクションを識別するマルチトランザクション要求を発行することを目的とし、前記マルチトランザクション要求は、基本トランザクション識別子と、実行されるべきトランザクションの数を示す数量指示と、アドレス情報とを与え、
前記相互接続手段は、前記複数のトランザクションのそれぞれに関して、前記トランザクションを実行することを要求される前記スレーブ手段を決定するために前記アドレス情報及び前記数量指示を解析することを目的とし、決定された各スレーブ手段に対して、前記複数のトランザクションの中で前記決定されたスレーブ手段によって実行されるべき前記トランザクションを識別するトランザクション要求を発行することを更に目的とする要求配信手段を含み、
決定された各スレーブ手段は、マスタ手段に、前記決定されたスレーブ手段によって実行された各トランザクションの完了を識別する応答を与えることを目的とし、決定された各スレーブ手段は、他の任意の決定されたスレーブ手段からの前記応答とは無関係に前記決定された各スレーブ手段の応答を与えることを目的とし、各応答は、前記基本トランザクション識別子から決定されたトランザクション識別子と、トランザクション固有の情報とを含み、前記マスタ手段が、前記マルチトランザクション要求内で識別される各トランザクションの完了を識別することを可能にするデータ処理システム。 - マスタ・デバイスと、複数のキャッシュ・ストレージ・デバイスと、前記マスタ・デバイスを前記複数のキャッシュ・ストレージ・デバイスに結合して、前記マスタ・デバイスによって指定されたキャッシュ・メンテナンス動作が、前記複数のキャッシュ・ストレージ・デバイスによって実行されることを可能にし、要求配信回路を含む相互接続回路とを備えるデータ処理システム内で前記キャッシュ・メンテナンス動作を実行する方法であって、
前記マスタ・デバイスから、実行されるべき複数のトランザクションを識別するマルチトランザクション要求を発行することであって、前記マルチトランザクション要求は、実行されるべきトランザクションの数を示す数量指示と、アドレス情報とを与え、前記複数のトランザクションのそれぞれは、前記トランザクションに関連付けられたアドレスにおいて実行されるべきキャッシュ・メンテナンス動作を指定する、発行することと、
前記要求配信回路内で、前記複数のトランザクションのそれぞれに関して、前記複数のキャッシュ・ストレージ・デバイスのうちのいずれが前記トランザクションを実行することを要求されるかを決定するために前記アドレス情報及び前記数量指示を解析し、前記複数のキャッシュ・ストレージ・デバイスのそれぞれに対して、前記複数のトランザクションの中で前記複数のキャッシュ・ストレージ・デバイスのそれぞれによって実行されるべき前記トランザクションを識別するトランザクション要求を発行することと、
前記相互接続回路内で、前記複数のトランザクションの実行中に前記複数のキャッシュ・ストレージ・デバイスから進行指示を受信し、前記マスタ・デバイスに進行情報を与えて、前記複数のトランザクションがいつ完了されたかを前記マスタ・デバイスが決定することを可能にすることとを備え、
前記要求配信回路によって発行される前記トランザクション要求は、少なくとも1つのマルチトランザクション要求を含み、前記少なくとも1つのマルチトランザクション要求のそれぞれは、前記マルチトランザクション要求が発行された前記キャッシュ・ストレージ・デバイスによって実行されることが要求される前記複数のトランザクションのうちの複数を識別する、方法。 - マスタ手段と、
複数のキャッシュ・ストレージ手段と、
前記マスタ手段を前記複数のキャッシュ・ストレージ手段に結合して、前記マスタ手段によって指定されたキャッシュ・メンテナンス動作が、前記複数のキャッシュ・ストレージ手段によって実行されることを可能にするための相互接続手段とを備えるデータ処理システムであって、
前記マスタ手段は、実行されるべき複数のトランザクションを識別するマルチトランザクション要求を発行することを目的とし、前記マルチトランザクション要求は、実行されるべきトランザクションの数を示す数量指示と、アドレス情報とを与え、前記複数のトランザクションのそれぞれは、前記トランザクションに関連付けられたアドレスにおいて実行されるべきキャッシュ・メンテナンス動作を指定し、
前記相互接続手段は、前記複数のトランザクションのそれぞれに関して、前記複数のキャッシュ・ストレージ手段のうちのいずれが前記トランザクションを実行することを要求されるかを決定するために前記アドレス情報及び前記数量指示を解析することを目的とし、前記複数のキャッシュ・ストレージ手段のそれぞれに対して、前記複数のトランザクションの中で前記複数のキャッシュ・ストレージ手段のそれぞれによって実行されるべき前記トランザクションを識別するトランザクション要求を発行することを更に目的とする要求配信手段を含み、
前記データ処理システムは、
前記複数のトランザクションの実行中に前記複数のキャッシュ・ストレージ手段から進行指示を受信するため、及び前記マスタ手段に進行情報を与えて、前記複数のトランザクションがいつ完了されたかを前記マスタ手段が決定することを可能にするためのキャッシュ・メンテナンス追跡手段を備え、
前記要求配信手段によって発行される前記トランザクション要求は、少なくとも1つのマルチトランザクション要求を含み、前記少なくとも1つのマルチトランザクション要求のそれぞれは、前記マルチトランザクション要求が発行された前記キャッシュ・ストレージ・デバイスによって実行されることが要求される前記複数のトランザクションのうちの複数を識別する、データ処理システム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1400503.7A GB2522057B (en) | 2014-01-13 | 2014-01-13 | A data processing system and method for handling multiple transactions |
GB1400503.7 | 2014-01-13 | ||
PCT/GB2015/050009 WO2015104535A1 (en) | 2014-01-13 | 2015-01-06 | A data processing system and method for handling multiple transactions |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017504897A JP2017504897A (ja) | 2017-02-09 |
JP6574779B2 true JP6574779B2 (ja) | 2019-09-11 |
Family
ID=50191219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016544675A Active JP6574779B2 (ja) | 2014-01-13 | 2015-01-06 | 複数のトランザクションを扱うためのデータ処理システム及びデータ処理方法 |
Country Status (9)
Country | Link |
---|---|
US (1) | US9830294B2 (ja) |
EP (1) | EP3095037B1 (ja) |
JP (1) | JP6574779B2 (ja) |
KR (1) | KR102319809B1 (ja) |
CN (1) | CN105900076B (ja) |
GB (1) | GB2522057B (ja) |
IL (1) | IL245841B (ja) |
TW (1) | TWI651620B (ja) |
WO (1) | WO2015104535A1 (ja) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102428563B1 (ko) * | 2015-09-30 | 2022-08-03 | 삼성전자주식회사 | 수눕 작동을 관리하는 코히런트 인터커넥트와 이를 포함하는 데이터 처리 장치들 |
US10157133B2 (en) | 2015-12-10 | 2018-12-18 | Arm Limited | Snoop filter for cache coherency in a data processing system |
US10417218B2 (en) | 2015-12-23 | 2019-09-17 | Intel Corporation | Techniques to achieve ordering among storage device transactions |
WO2017136455A1 (en) * | 2016-02-01 | 2017-08-10 | Qualcomm Incorporated | Scalable, high-efficiency, high-speed serialized interconnect |
US10159053B2 (en) | 2016-02-02 | 2018-12-18 | Qualcomm Incorporated | Low-latency low-uncertainty timer synchronization mechanism across multiple devices |
MX2018008949A (es) * | 2016-02-26 | 2018-09-03 | Micro Motion Inc | Metodo de comunicacion con dos o mas esclavos. |
US9817760B2 (en) | 2016-03-07 | 2017-11-14 | Qualcomm Incorporated | Self-healing coarse-grained snoop filter |
US9990292B2 (en) * | 2016-06-29 | 2018-06-05 | Arm Limited | Progressive fine to coarse grain snoop filter |
CN108228647B (zh) | 2016-12-21 | 2022-05-24 | 伊姆西Ip控股有限责任公司 | 用于数据拷贝的方法和设备 |
US10042766B1 (en) | 2017-02-02 | 2018-08-07 | Arm Limited | Data processing apparatus with snoop request address alignment and snoop response time alignment |
US10795820B2 (en) * | 2017-02-08 | 2020-10-06 | Arm Limited | Read transaction tracker lifetimes in a coherent interconnect system |
US10402349B2 (en) | 2017-02-08 | 2019-09-03 | Arm Limited | Memory controller having data access hint message for specifying the given range of one or more memory addresses |
WO2018170391A1 (en) * | 2017-03-17 | 2018-09-20 | Convida Wireless, Llc | Distributed transaction management in a network service layer |
US10692077B2 (en) | 2017-10-25 | 2020-06-23 | Mastercard International Incorporated | Method and system for conveyance of machine readable code data via payment network |
CN107809480A (zh) * | 2017-10-25 | 2018-03-16 | 上海瀚银信息技术有限公司 | 一种交易整流系统 |
EP3496020A1 (en) * | 2017-12-08 | 2019-06-12 | CoreLedger AG | Method for carrying out transactions |
GB2569304B (en) * | 2017-12-12 | 2020-05-13 | Advanced Risc Mach Ltd | Regulation for atomic data access requests |
US11347667B2 (en) * | 2018-01-10 | 2022-05-31 | Qualcomm Incorporated | Bus controller and related methods |
KR102007117B1 (ko) * | 2018-01-19 | 2019-08-02 | 전북대학교산학협력단 | 트랜잭션 처리 방법 및 트랜잭션 처리 시스템 |
US10761985B2 (en) * | 2018-08-02 | 2020-09-01 | Xilinx, Inc. | Hybrid precise and imprecise cache snoop filtering |
EP3644190B1 (en) * | 2018-10-22 | 2021-06-23 | Arm Ltd | I/o coherent request node for data processing network with improved handling of write operations |
US10783080B2 (en) * | 2018-10-29 | 2020-09-22 | Arm Limited | Cache maintenance operations in a data processing system |
US10657055B1 (en) * | 2018-12-13 | 2020-05-19 | Arm Limited | Apparatus and method for managing snoop operations |
US10936048B2 (en) | 2019-03-29 | 2021-03-02 | Intel Corporation | System, apparatus and method for bulk register accesses in a processor |
US10970225B1 (en) * | 2019-10-03 | 2021-04-06 | Arm Limited | Apparatus and method for handling cache maintenance operations |
CN113448899B (zh) * | 2020-03-25 | 2024-09-06 | 瑞昱半导体股份有限公司 | 借助于交易辨识码的属性来控制数据响应的方法以及系统 |
US11281403B2 (en) * | 2020-03-26 | 2022-03-22 | Arm Limited | Circuitry and method |
JP2020173852A (ja) * | 2020-07-10 | 2020-10-22 | マイクロ モーション インコーポレイテッド | 2つ以上のスレーブとの通信 |
EP4211566A1 (en) * | 2020-10-26 | 2023-07-19 | Google LLC | Modulating credit allocations in memory subsystems |
CN112491855B (zh) * | 2020-11-19 | 2023-04-07 | 中国联合网络通信集团有限公司 | 一种handle标识解析状态的确定方法及装置 |
KR102326892B1 (ko) * | 2020-11-25 | 2021-11-16 | 오픈엣지테크놀로지 주식회사 | 적응형 트랜잭션 처리 방법 및 이를 위한 장치 |
US11899607B2 (en) * | 2021-06-01 | 2024-02-13 | Arm Limited | Sending a request to agents coupled to an interconnect |
TWI813316B (zh) * | 2022-05-31 | 2023-08-21 | 瑞昱半導體股份有限公司 | 多端資料存取控制方法與資料存取系統 |
GB2620198B (en) * | 2022-07-01 | 2024-07-24 | Advanced Risc Mach Ltd | Coherency control |
KR102697009B1 (ko) * | 2023-08-02 | 2024-08-21 | 주식회사 에이젠글로벌 | 분산된 워크플로우를 기반으로 트랜잭션을 분석하는 방법 및 이러한 방법을 수행하는 장치 |
KR102697008B1 (ko) * | 2023-08-02 | 2024-08-21 | 주식회사 에이젠글로벌 | 분산된 워크플로우를 기반으로 트랜잭션을 분석하기 위한 큐 분리 방법 및 이러한 방법을 수행하는 장치 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6075740A (en) | 1998-10-27 | 2000-06-13 | Monolithic System Technology, Inc. | Method and apparatus for increasing the time available for refresh for 1-t SRAM compatible devices |
US6665730B1 (en) * | 1999-12-16 | 2003-12-16 | At&T Corp. | Method and apparatus for transaction routing in a connection-oriented packet network using a non-fault-tolerant directory server |
US6928520B2 (en) | 2000-04-30 | 2005-08-09 | Hewlett-Packard Development Company, L.P. | Memory controller that provides memory line caching and memory transaction coherency by using at least one memory controller agent |
US20030020397A1 (en) * | 2001-06-28 | 2003-01-30 | Lite Array Inc. | Enhancement of luminance and life in electroluminescent devices |
GB0122401D0 (en) | 2001-09-17 | 2001-11-07 | Ttp Communications Ltd | Interfacing processors with external memory |
ITRM20020281A1 (it) | 2002-05-20 | 2003-11-20 | Micron Technology Inc | Metodo ed apparecchiatura per accesso rapido di memorie. |
CN1174584C (zh) * | 2002-08-13 | 2004-11-03 | 北京长城鼎兴网络通信技术有限公司 | 一种利用串行总线实现多点通信的方法 |
US6981088B2 (en) | 2003-03-26 | 2005-12-27 | Lsi Logic Corporation | System and method of transferring data words between master and slave devices |
US7159084B1 (en) | 2003-12-30 | 2007-01-02 | Altera Corporation | Memory controller |
US7475168B2 (en) | 2004-03-11 | 2009-01-06 | Sonics, Inc. | Various methods and apparatus for width and burst conversion |
US7543088B2 (en) | 2004-03-11 | 2009-06-02 | Sonics, Inc. | Various methods and apparatuses for width and burst conversion |
US20050253858A1 (en) | 2004-05-14 | 2005-11-17 | Takahide Ohkami | Memory control system and method in which prefetch buffers are assigned uniquely to multiple burst streams |
US20070011396A1 (en) | 2005-06-30 | 2007-01-11 | Utstarcom, Inc. | Method and apparatus for bandwidth efficient and bounded latency packet buffering |
GB2440758B (en) | 2006-08-08 | 2011-03-30 | Advanced Risc Mach Ltd | Interconnect logic for a data processing apparatus |
US7984202B2 (en) * | 2007-06-01 | 2011-07-19 | Qualcomm Incorporated | Device directed memory barriers |
GB2450148A (en) * | 2007-06-14 | 2008-12-17 | Advanced Risc Mach Ltd | Controlling write transactions between initiators and recipients via interconnect logic |
US8438320B2 (en) | 2007-06-25 | 2013-05-07 | Sonics, Inc. | Various methods and apparatus for address tiling and channel interleaving throughout the integrated system |
CN102077172A (zh) * | 2008-07-02 | 2011-05-25 | Nxp股份有限公司 | 使用运行时间任务调度的多处理器电路 |
GB2473505B (en) * | 2009-09-15 | 2016-09-14 | Advanced Risc Mach Ltd | A data processing apparatus and a method for setting priority levels for transactions |
GB2474446A (en) * | 2009-10-13 | 2011-04-20 | Advanced Risc Mach Ltd | Barrier requests to maintain transaction order in an interconnect with multiple paths |
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 |
US8656078B2 (en) * | 2011-05-09 | 2014-02-18 | Arm Limited | Transaction identifier expansion circuitry and method of operation of such circuitry |
US20130318308A1 (en) * | 2012-05-24 | 2013-11-28 | Sonics, Inc. | Scalable cache coherence for a network on a chip |
-
2014
- 2014-01-13 GB GB1400503.7A patent/GB2522057B/en active Active
- 2014-12-22 US US14/579,316 patent/US9830294B2/en active Active
-
2015
- 2015-01-05 TW TW104100099A patent/TWI651620B/zh active
- 2015-01-06 KR KR1020167021460A patent/KR102319809B1/ko active IP Right Grant
- 2015-01-06 EP EP15700149.6A patent/EP3095037B1/en active Active
- 2015-01-06 JP JP2016544675A patent/JP6574779B2/ja active Active
- 2015-01-06 CN CN201580003877.9A patent/CN105900076B/zh active Active
- 2015-01-06 WO PCT/GB2015/050009 patent/WO2015104535A1/en active Application Filing
-
2016
- 2016-05-25 IL IL245841A patent/IL245841B/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
IL245841A0 (en) | 2016-07-31 |
GB2522057A (en) | 2015-07-15 |
CN105900076A (zh) | 2016-08-24 |
WO2015104535A1 (en) | 2015-07-16 |
JP2017504897A (ja) | 2017-02-09 |
GB2522057B (en) | 2021-02-24 |
US9830294B2 (en) | 2017-11-28 |
KR20160107233A (ko) | 2016-09-13 |
CN105900076B (zh) | 2019-12-06 |
IL245841B (en) | 2018-12-31 |
TWI651620B (zh) | 2019-02-21 |
KR102319809B1 (ko) | 2021-11-01 |
EP3095037A1 (en) | 2016-11-23 |
EP3095037B1 (en) | 2018-08-08 |
GB201400503D0 (en) | 2014-02-26 |
US20150199290A1 (en) | 2015-07-16 |
TW201539196A (zh) | 2015-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6574779B2 (ja) | 複数のトランザクションを扱うためのデータ処理システム及びデータ処理方法 | |
US9513904B2 (en) | Computer processor employing cache memory with per-byte valid bits | |
KR100465583B1 (ko) | 판독 요청을 원격 처리 노드에 추론적으로 전송하는 비정형 메모리 액세스 데이터 처리 시스템 및 이 시스템에서의 통신 방법 | |
US7600078B1 (en) | Speculatively performing read transactions | |
US20200117395A1 (en) | Multi-processor bridge with cache allocate awareness | |
US20160055096A1 (en) | Multi-Processor, Multi-Domain, Multi-Protocol Cache Coherent Speculation Aware Shared Memory Controller and Interconnect | |
EP0886225A1 (en) | Microprocessor architecture capable of supporting multiple heterogenous processors | |
CN103729306B (zh) | 高速缓存块无效的方法和数据处理设备 | |
US20020053004A1 (en) | Asynchronous cache coherence architecture in a shared memory multiprocessor with point-to-point links | |
US8904045B2 (en) | Opportunistic improvement of MMIO request handling based on target reporting of space requirements | |
JPH09114736A (ja) | パケット交換型キャッシュコヒーレントマルチプロセッサシステムのデータプロセッサ用高速デュアルポート型キャッシュコントローラ | |
US20070288694A1 (en) | Data processing system, processor and method of data processing having controllable store gather windows | |
JPH09101943A (ja) | パケット交換型キャッシュコヒーレントマルチプロセッサシステム | |
IE990755A1 (en) | Non-uniform memory access (numa) data processing system that speculatively issues requests on a node interconnect | |
US11321248B2 (en) | Multiple-requestor memory access pipeline and arbiter | |
US20170048358A1 (en) | Register files for i/o packet compression | |
JP2000250883A (ja) | 不均等メモリ・アクセス・システムにおいてトランザクションのキャンセルによるデータ損失を避けるための方法およびシステム | |
US6622218B2 (en) | Cache coherence protocol engine and method for efficient processing of interleaved memory transactions in a multiprocessor system | |
KR20210041485A (ko) | 데이터 신호 경로 및 태그 신호 경로를 갖는 메모리 인터페이스 | |
US20080109610A1 (en) | Selective snooping by snoop masters to locate updated data | |
EP3644190A1 (en) | I/o coherent request node for data processing network with improved handling of write operations | |
US8635411B2 (en) | Data processing apparatus and method for managing coherency of cached data | |
US20230057633A1 (en) | Systems, methods, and apparatus for transferring data between interconnected devices | |
JPH06318174A (ja) | キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法 | |
US7089376B2 (en) | Reducing snoop response time for snoopers without copies of requested data via snoop filtering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171228 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20181126 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190104 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190402 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190725 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190819 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6574779 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |