WO2012077400A1 - マルチコアシステム、及びそのコアのデータ読み出し方法 - Google Patents
マルチコアシステム、及びそのコアのデータ読み出し方法 Download PDFInfo
- Publication number
- WO2012077400A1 WO2012077400A1 PCT/JP2011/072206 JP2011072206W WO2012077400A1 WO 2012077400 A1 WO2012077400 A1 WO 2012077400A1 JP 2011072206 W JP2011072206 W JP 2011072206W WO 2012077400 A1 WO2012077400 A1 WO 2012077400A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- core
- data
- cache
- ring bus
- controller
- Prior art date
Links
Images
Classifications
-
- 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
- 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
Definitions
- the present invention relates to reading data of a core in a ring bus type multi-core system in which one memory interface is shared by a plurality of CPU cores (also simply referred to as a CPU, a processor, or a core).
- CPU cores also simply referred to as a CPU, a processor, or a core.
- each CPU core has its own cache and actually reads from the shared main memory.
- a conceivable method is to read from cache data stored in each CPU core instead of pumping out from one main memory.
- a read request is issued from a certain CPU core (this CPU core is called a "requester core").
- this CPU core is called a "requester core"
- the other CPU core is inquired about the presence or absence of cache. The inquired CPU core searches its own cache.
- one of the CPU cores often holds data of the same address in main memory (referred to as address data) in a cache.
- address data main memory
- main memory controller issuing an instruction to transfer the contents of the cache to the requester core.
- this method needs to make inquiries to each core in order, it takes time in proportion to the number of mounted cores.
- the load on the main memory controller is high because of the inquiry to each CPU core.
- bus snooping is a function that observes transactions on the memory interface bus shared among processors, and detects whether a transaction related to data in the cache memory allocated to itself has occurred. .
- Patent Document 1 provides a processor having a cache memory capable of efficiently maintaining data coherency among processors in a multiprocessor system.
- Patent Document 1 is a model in which a plurality of processor cores have a single cache, and is different from a model in which each processor core has a cache.
- Patent Document 2 discloses a technique for effectively using cache data possessed by a plurality of processor cores and caches possessed by each processor core. This technology shows a processing method when one processor core goes to fetch data from the main memory and another processor core goes to fetch data from the same memory.
- Patent documents and the like are for updating the snoop technology for address data coherency.
- each core is not used to reference bus transactions. That is, conventionally, it has not been shown that each core snoops a bus transaction at the time of reading address data of a plurality of CPU cores connected in a ring bus shape.
- an object of the present invention is to provide a ring bus multi-core system in which one memory interface is shared by a plurality of cores, and a method of reading data by each core.
- the present invention for achieving the above object is a ring bus type multi-core when a single memory interface is shared by a plurality of cores and a single core (requester core) makes a read request of data present in the memory.
- This ring bus type multi-core has one memory, A main memory controller for connecting the memory to a ring bus, and a plurality of cores connected in a ring bus shape, the core further including a cache interface and a cache controller for controlling or managing the interface, the ring bus
- the cache controller of each core connected in a (1) querying the data of the request via the cache interface; (2) when the core cache holds the data, the core receives the request and returns the data to the requester core, and (3) the core cache performs the data If not, the main memory controller Reading the data from the memory and sending the data to the requestor core.
- the present invention for achieving the above object is a ring bus type multi-core that shares one memory interface with a plurality of cores and one core (requester core) makes a read request of data present in the memory.
- This ring bus type multi-core includes one memory, a main memory controller for connecting the memory to the ring bus, and a plurality of cores connected in a ring bus shape, and the core further includes a cache interface and its interface Including a controlling cache controller, the main memory controller further including a history of data retention of caches of all the cores,
- the cache controller of each core connected in a ring bus shape flows the request in a predetermined path direction from the requester core to the main memory controller, (1) querying the data of the request via the cache interface; (2) When the cache of the core connected in the predetermined path direction holds the data, the core receives the request and returns the data to the requester core.
- the main memory controller (A) Refer to the history of each core, (B) If a core connected in a ring bus shape in a direction opposite to the predetermined path direction holds the corresponding data, the request is sent to the core, and the cache is sent to the cache controller of the core Sending the data to be held to the requester core; (C) performing a step of reading the data from the memory and sending it to the requester core, when the core connected to the ring bus in the direction opposite to the predetermined path direction does not hold the corresponding data It is characterized by
- a feature of this memory access device is that the history includes a flag for holding data (address data) of the address of the memory and a write-out flag to another core for each of the cores.
- a feature of this memory access device is that the predetermined path direction is selected by the cache controller as a path direction with a large number of cores connected in two path directions from the rector core to the main memory controller.
- a feature of this memory access device is that the cache controller calculates ring bus traffic from the data holding flag with reference to the history, and selects a path direction in which the traffic is small as the predetermined path direction. .
- a feature of this memory access device is that the main memory controller refers to the history and confirms that the data is present in a core connected to a path reverse to the predetermined path direction.
- the present invention is a method of reading data in which one core (requester core) exists in a memory in a ring bus multi-core CPU sharing one memory interface with a plurality of cores.
- the multi-core CPU includes one memory, a main memory controller connecting the memory to a ring bus, and a plurality of cores connected in a ring bus shape
- the core further includes a cache interface Including a cache controller controlling or managing the interface, the main memory controller further including a history of data retention of caches of all the cores,
- the cache controller of each core connected in the ring bus shape flows the request in a predetermined path direction from the requester core to the controller, (1) querying the data of the request via the cache interface; (2) the core receiving the request and returning the data to the requester core, when the cache of the core connected in the path direction holds the data; (3) If the cache of the core connected in the path direction does not hold the data, the main memory controller (A) Refer to the history of each core, (B)
- FIG. 1 An overall configuration of a ring bus type multi-core in which one memory interface is shared by a plurality of cores is shown.
- the interface 2 for cache in each CPU core and the interface 3 for read / write request to the main memory are shown.
- the flow of the data read transaction is indicated by the arrows in steps (1) to (5).
- Fig. 3 shows a flowchart of steps (1) to (5) of data reading of the present invention. Indicates the contents of the access history of each core held by the main memory controller.
- Example An embodiment (hereinafter referred to as an “example”) of the present invention for reading data in a ring bus type multi-core in which a memory interface is shared by a plurality of CPU cores will be described.
- the following examples are illustrative and do not limit the contents of the present invention.
- a chip mounting the ring bus type multi-core according to the present invention is provided with the following.
- 1 Install a cache interface on each CPU core. With this interface, the contents of caches of other cores can be read directly from the main memory controller and each core.
- the contents of the cache are fixed-length data (referred to as address data) specified in the main memory address.
- FIG. 1 shows the entire configuration of a ring bus type multi-core in which one memory interface is shared by a plurality of cores. 1.
- the main memory controller 7 manages a log of the state of memory access from each core 6 in the access history.
- the access history knows which CPU core cache has which address data.
- Each CPU core 6 is equipped with a cache controller so that the contents of the cache 11 can be read from the main memory controller 7.
- a certain CPU core issues a read request for specific address data to the main memory controller through the ring bus.
- This CPU core is called a requester core.
- the cache controller 11 of each core connected on the ring bus to the main memory controller 7 looks up the contents of the incoming read request. If each core has the corresponding data in its own cache 11, it picks up the request there and returns the data to the requester core.
- the cache controller sends out address data from the cache 11 of the CPU core via the cache interface 2. This controller makes it appear as if the requester core 6 has issued a read request to the core having address data. In this case, read address data can be sent to the requester core without passing through the main memory controller 7.
- the main memory controller impersonates the requestor core and issues a read request directly to the cache for each core. There is no extra load on each CPU core (as well as the requester core and the one that has cache and is read).
- the method of the present invention reduces the load on the main memory controller (main memory load reduction effect in the first path) and reduces the memory access time for the entire core (each in the second path) Core load reduction effect).
- FIG. 2 shows a cache interface 2 in each CPU core and a read / write request interface 3 to the main memory.
- This idea is based on the configuration where multiple CPU cores are mounted in the chip and the memory is connected through the main memory controller.
- Each CPU core and main memory are connected by a ring bus with coherency.
- Each CPU core is equipped with a cache interface 2 and an interface 3 in which the CPU core accesses the main memory.
- the two interfaces 2 and 3 do not necessarily have to be separately provided. For example, the interface 3 may share two interfaces. It is possible to distinguish the interface between Snooping the ring bus track and requesting each core to read / write data from the main memory, thereby avoiding delays in each processing.
- FIG. 3 in the entire configuration of the ring bus type multi-core, the order of the flow of the data read transaction is indicated by the arrows in steps (1) to (5). Further, FIG. 4 shows a flowchart of steps (1) to (5) of data reading as a typical embodiment of the present invention.
- the CPU core X throws a read command to the main memory controller.
- the closest bus As the first path, we will choose the closest bus.
- the distance to the main memory controller for example, it is determined by the cache controller of the requester core whether to select the closer or farther bus, including factors such as congestion. Closer distance: It takes less CPU cores to reach the main memory controller. Far distance: It is more likely to hit because more CPU cores are Snooped by passing through more CPU cores.
- the main memory controller receives the request.
- the main memory controller refers to the access history. By referring to the memory access log of each CPU core, it is confirmed whether the CPU cores A to W on the opposite bus (second path) do not have the corresponding address data in the cache.
- the cache controller of the CPU core B sends the corresponding address data to the CPU core X.
- the CPU core X receives information from the CPU core B as data for the Read command issued to the main memory controller.
- FIG. 5 shows the contents of the access history of each core held by the main memory controller.
- This history is held by the main memory controller. It records whether each of the cores A to Z holds data (address data) of the address of the main memory in the cache.
- the address data generally has a fixed length.
- the write flag means that the request data is written to the requester core X.
- the cache interface of core B snoops the ring bus transaction to confirm that it holds the address data of core X. Since the core B directly responds to the read request of the core X, the read performance can be improved in that the intervention of the main memory controller can be omitted.
- the main memory controller updates the access history.
- step 3 of FIG. 4 the main memory controller confirms in the access history table whether any one of the caches of the cores A to W of the backward bus holds request data.
- the main memory controller can quickly confirm that the cache of the core B holds the address data 01 in the middle of the second path.
- the controller sends a read request to the core B and sends an instruction to send data to X.
- each CPU core not each CPU core but each cache itself can be read directly so that no load is placed on each CPU.
- each core snoops during the bus to the main memory and returns directly, which leads to avoiding transactions flowing on the ring bus and avoiding congestion.
- the main memory controller reads data from the cache of another core, the answer is directly passed to the requester core, so that the number of transactions can be reduced even through the main memory controller. That is, the number of transactions is smaller than in the method in which the main memory controller side reads data from each CPU core cache once and receives data, and then returns it to the read CPU.
- the multi-core CPU system of the present invention it is possible to avoid the congestion in the main memory controller which is considered to be concentrated in access. It is considered that the effect of the present invention is enhanced as the number of CPU cores increases.
- CPU architecture such as 128 cores is proposed as a multi-core CPU as PowerPC architecture.
- the present invention is particularly effective in multicore architectures with a large number of cores.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
Abstract
Description
しかし、この方法は各コアへの問い合わせを順番にする必要があるため 搭載されるコア数に比例して時間を要する。また、各CPUコアへの問い合わせのためメインメモリコントローラの負荷も高いという欠点がある。
前記メモリをリングバスに接続するメインメモリコントローラと、リングバス状に接続された複数のコアとを備え、前記コアは更にキャッシュ用インタフェース及びそのインタフェースを制御又は管理するキャッシュコントローラを含み、前記リングバス状に接続された各コアの前記キャッシュコントローラは、
(1)前記キャッシュ用インタフェースを介して前記リクエストのデータを覗くステップと、
(2)前記コアのキャッシュが前記データを保持している場合、前記コアが前記リクエストを受取り前記リクエスターコアに前記データを返すステップと、を実行し
(3)前記コアのキャッシュが前記データを保持していない場合、前記メインメモリコントローラは、
前記メモリから前記データを読み出して前記リクエスターコアに送るステップとを実行する、ことを特徴とする。
リクエスターコアから前記メインメモリコントローラまでの所定の経路方向に流れる前記レクエストを前記リングバス状に接続された各コアの前記キャッシュコントローラは、
(1)前記キャッシュ用インタフェースを介して前記リクエストのデータを覗くステップと、
(2)前記所定の経路方向に接続されたコアのキャッシュが前記データを保持している場合、前記コアが前記リクエストを受取り前記リクエスターコアに前記データを返すステップとを実行し
(3)前記経路方向に接続されたコアのキャッシュが前記データを保持していない場合、前記メインメモリコントローラは、
(a)前記各コアの履歴を参照し、
(b)前記所定の経路方向と逆経路方向のリングバス状に接続されたコアが該当データを保持している場合、前記コアに対して前記レクエストを送り、前記コアのキャッシュコントローラに前記キャッシュが保持するデータを前記リクエスターコアに送らせるステップと、
(c)前記所定の経路方向と逆経路方向のリングバスに接続されたコアが該当データを保持していない場合、前記メモリから前記データを読み出して前記リクエスターコアに送るステップとを実行することを特徴とする。
リクエスターコアから前記コントローラまでの所定の経路方向に流れる前記レクエストを前記リングバス状に接続された各コアの前記キャッシュコントローラは、
(1)前記キャッシュ用インタフェースを介して前記リクエストのデータを覗くステップと、
(2)前記経路方向に接続されたコアのキャッシュが前記データを保持している場合、前記コアが前記リクエストを受取り前記リクエスターコアに前記データを返すステップと、を含み、
(3)前記経路方向に接続されたコアのキャッシュが前記データを保持していない場合、前記メインメモリコントローラは、
(a)前記各コアの履歴を参照し、
(b)前記経路方向と逆経路方向のリングバス状に接続されたコアが該当データを保持している場合、前記コアに対して前記レクエストを送り、前記コアのキャッシュコントローラに前記キャッシュが保持するデータを前記リクエスターコアに送らせるステップと、(c)前記経路方向と逆経路方向のリングバス状に接続されたコアが該当データを保持していない場合、前記メモリから前記データを読み出して前記リクエスターコアに送るステップとを含む、ことを特徴とする。
1:各CPUコアにキャッシュ用インタフェースを搭載する。このインタフェースにより、メインメモリ側コントローラから、及び各コアから、他のコアのキャッシュの内容を直接読み出すことができる。キャッシュの内容は、メインメモリのアドレスに指定された固定長のデータ(アドレスデータと呼ぶ)である。
2:メインメモリコントローラは、すべてのCPUコアキャッシュの内容を履歴(アドレス履歴という)として保持している。アドレス履歴は、図5に示されるように。各コアのキャッシュアドレスデータの保持の有無を保管している。
1.メインメモリコントローラ7は、各コア6からのメモリアクセスの状況のログをアクセス履歴で管理する。アクセス履歴は、どのCPUコアのキャッシュがどのアドレスデータを持っているか把握している
2.各CPUコア六は、メインメモリコントローラ7からキャッシュ11の内容を読めるようキャッシュコントローラが搭載される。
本発明の方法はメインメモリコントローラの負荷が減るという点(第1の経路でのメインメモリ負荷低減効果)、及びコア全体でのメモリアクセス所要時間を減らせるという点(第2の経路での各コア負荷低減効果)で有効である。
本アイディアはチップ内にCPUのコアを複数搭載し、メインメモリコントローラを通して メモリが接続される構成を元に考えている。各CPUコアとメインメモリはコヒーレンシを持つリングバスで接続される。各CPU コアにはキャッシュ用インタフェース2と、CPUコアがメインメモリへアクセスするインタフェース3が搭載される。なお、2つのインタフェース2及び3は必ずしも区別して設ける必要はなく、例えばインタフェース3により2つのインタフェースを兼用させてもよい。リングバスのトラックをSnoopすることと、各コアがメインメモリにデータの読み書きリクエストすることとのインタフェースを区別して各処理の遅延を回避できる。
・近い方の距離:より少ないCPUコアをメインメモリコントローラに行き着くまでに経由することになる。
・遠い方の距離:より多いCPUコアを経由することでより多くのCPUコアにSnoopされるためヒットする確立はあがる。
もし該当データを自分が持っている場合はリクエストを自分が受信し、データをCPUコアXに返す。その後自分が処理をしたというフラグをつけて、リクエストの内容をメインメモリコントローラへ送る。受信後メインメモリコントローラはキャッシュのアクセス履歴をUpdateする。例えばCPUコアZが持っているとした場合、CPUコアZがCPUXへデータを返す。
2…メインメモリへのWrite/Read用インタフェース
5…リングバス、
6…CPUコア、
7…メインメモリコントローラ、
8…アクセス履歴、
9…ロジック、
10…メインメモリ(実メモリ)、
11…キャッシュ又はキャッシュコントローラ、
Claims (7)
- 1つのコア(リクエスターコア)がメモリに存在するデータの読み出し要求をするマルチコアシステムであって、
1つのメモリと、
前記メモリをリングバスに接続するメインメモリコントローラと、
リングバスに接続された複数のコアとを備え、
前記コアは更にキャッシュ用インタフェース及びそのインタフェースを制御するキャッシュコントローラを含み、
前記リングバスに接続された各コアの前記キャッシュコントローラは、
前記キャッシュ用インタフェースを介して前記要求のデータを覗くステップと、
前記コアのキャッシュが前記データを保持している場合、前記コアが前記リクエストを受取り前記リクエスターコアに前記データを返すステップと、を実行し
前記コアのキャッシュが前記データを保持していない場合、前記メインメモリコントローラは、前記メモリから前記データを読み出して前記リクエスターコアに送るステップとを実行する、マルチコアCPUのシステム。 - 1つの前記コア(リクエスターコア)が前記メモリに存在するデータの読出し要求をするマルチコアシステムであって、
1つのメモリと、
前記メモリをリングバスに接続するメインメモリコントローラと、
リングバスに接続された複数のコアとを備え、
前記コアは更にキャッシュ用インタフェース及びそのインタフェースを制御するキャッシュコントローラを含み、
前記メインメモリコントローラは更に全ての前記コアのキャッシュの履歴を含み、
リクエスターコアから前記メインメモリコントローラまでの所定の経路方向に流れる前記レクエストを前記リングバスに接続された各コアの前記キャッシュコントローラは、
前記キャッシュ用インタフェースを介して前記要求のデータを覗くステップと、
前記所定の経路方向に接続されたコアのキャッシュが前記データを保持している場合、前記コアが前記リクエストを受取り前記リクエスターコアに前記データを返すステップと、を実行し
前記経路方向に接続されたコアのキャッシュが前記データを保持していない場合、前記メインメモリコントローラは、
前記各コアの履歴を参照し、
前記所定の経路方向と逆経路方向のリングバスに接続されたコアが該当データを保持している場合、前記コアのキャッシュに対して前記レクエストを送り、前記コアのキャッシュコントローラに前記キャッシュが保持するデータを前記リクエスターコアに送らせるステップと、
前記所定の経路方向と逆経路方向のリングバスに接続されたコアが該当データを保持していない場合、前記メモリから前記データを読み出して前記リクエスターコアに送るステップとを実行する、マルチコアシステム。 - 前記履歴は、前記各コアについて前記メモリのアドレスのデータの保持のフラグ及び他のコアへの書出しフラグを含む請求項2に記載のマルチコアシステム。
- 前記所定の経路方向は、前記キャッシュコントローラにより前記レクエスターコアからメインメモリコントローラまで2つの経路方向に接続されたコア数の多い経路を選択する請求項3に記載のマルチコアシステム。
- 前記キャッシュコントローラは、前記履歴を参照して前記データ保持フラグからリングバスのトラフィックを計算し、前記トラフィックの小さい経路方向を前記所定の経路方向として選択する請求項4に記載のマルチコアシステム。
- 前記メインメモリコントローラは、前記履歴を参照し前記所定の経路方向と逆経路に接続されたコアに前記データが存在する確認する請求項5に記載のマルチコアシステム。
- リングバス型マルチコアCPUにおいて1つのコア(リクエスターコア)がメモリに存在するデータの読出す方法であって、
前記マルチコアCPUは、1つのメモリと、前記メモリをリングバスに接続するメインメモリコントローラと、前記リングバスに接続された複数のコアとを備え、
前記コアは更にキャッシュ用インタフェースとそのインタフェースを制御するキャッシュコントローラを含み、前記メインメモリコントローラは更に全ての前記コアの保持データの履歴を含み、
リクエスターコアから前記コントローラまでの所定の経路方向に流れる前記レクエストを前記リングバスに接続された各コアの前記キャッシュコントローラは、
前記キャッシュ用インタフェースを介して読出し要求のデータを覗くステップと、
前記経路方向に接続されたコアのキャッシュが前記データを保持している場合、前記コアが前記を受取り前記リクエスターコアに前記データを返すステップと、を含み、
前記経路方向に接続されたコアのキャッシュが前記データを保持していない場合、前記メインメモリコントローラは、
前記各コアの履歴を参照し、
前記経路方向と逆経路方向のリングバスに接続されたコアが該当データを保持している場合、前記コアに対して前記レクエストを送り、前記コアのキャッシュコントローラに前記キャッシュが保持するデータを前記リクエスターコアに送らせるステップと、
前記経路方向と逆経路方向のリングバスに接続されたコアが該当データを保持していない場合、前記メモリから前記データを読み出して前記リクエスターコアに送るステップとを含む、データの読み出す方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201180064625.9A CN103370696B (zh) | 2010-12-09 | 2011-09-28 | 多核系统以及核数据读取方法 |
DE112011104329T DE112011104329T5 (de) | 2010-12-09 | 2011-09-28 | Mehrkernsystem und Verfahren zum Lesen der Kerndaten |
GB1311211.5A GB2499765B (en) | 2010-12-09 | 2011-09-28 | Multicore system and method of reading the core data |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010-274556 | 2010-12-09 | ||
JP2010274556 | 2010-12-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2012077400A1 true WO2012077400A1 (ja) | 2012-06-14 |
Family
ID=46200595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2011/072206 WO2012077400A1 (ja) | 2010-12-09 | 2011-09-28 | マルチコアシステム、及びそのコアのデータ読み出し方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8918590B2 (ja) |
CN (1) | CN103370696B (ja) |
DE (1) | DE112011104329T5 (ja) |
GB (1) | GB2499765B (ja) |
WO (1) | WO2012077400A1 (ja) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112011104329T5 (de) | 2010-12-09 | 2013-09-26 | International Business Machines Corporation | Mehrkernsystem und Verfahren zum Lesen der Kerndaten |
WO2013084315A1 (ja) * | 2011-12-07 | 2013-06-13 | 富士通株式会社 | 演算処理装置、及び、演算処理装置の制御方法 |
WO2013084314A1 (ja) * | 2011-12-07 | 2013-06-13 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
US20140201326A1 (en) * | 2013-01-16 | 2014-07-17 | Marvell World Trade Ltd. | Interconnected ring network in a multi-processor system |
EP3014420A4 (en) * | 2013-06-29 | 2017-04-05 | Intel Corporation | On-chip mesh interconnect |
US10229043B2 (en) | 2013-07-23 | 2019-03-12 | Intel Business Machines Corporation | Requesting memory spaces and resources using a memory controller |
EP3063637A4 (en) * | 2013-10-31 | 2017-07-19 | Intel Corporation | A method, apparatus and system for dynamically controlling an addressing mode for a cache memory |
CN103902502B (zh) * | 2014-04-09 | 2017-01-04 | 上海理工大学 | 一种可扩展的分离式异构千核系统 |
US9710381B2 (en) | 2014-06-18 | 2017-07-18 | International Business Machines Corporation | Method and apparatus for cache memory data processing |
US9696789B2 (en) * | 2014-08-18 | 2017-07-04 | Xilinx, Inc. | Sub-system power management control |
CN104268121B (zh) * | 2014-09-23 | 2017-08-11 | 浪潮(北京)电子信息产业有限公司 | 超大规模芯片中访问寄存器的方法及系统 |
US9563467B1 (en) | 2015-10-29 | 2017-02-07 | International Business Machines Corporation | Interprocessor memory status communication |
US9760397B2 (en) | 2015-10-29 | 2017-09-12 | International Business Machines Corporation | Interprocessor memory status communication |
US10261827B2 (en) | 2015-10-29 | 2019-04-16 | International Business Machines Corporation | Interprocessor memory status communication |
US9916179B2 (en) * | 2015-10-29 | 2018-03-13 | International Business Machines Corporation | Interprocessor memory status communication |
US10691595B2 (en) * | 2018-08-21 | 2020-06-23 | Micron Technology, Inc. | Cache in a non-volatile memory subsystem |
CN109886395B (zh) * | 2019-03-06 | 2020-11-24 | 上海熠知电子科技有限公司 | 一种面向多核图像处理卷积神经网络的数据读取方法 |
CN112559434B (zh) * | 2019-09-25 | 2023-12-08 | 阿里巴巴集团控股有限公司 | 一种多核处理器及核间数据转发方法 |
CN113392604B (zh) * | 2021-06-04 | 2023-08-01 | 中国科学院计算技术研究所 | 基于先进封装技术的多cpu共封架构下高速缓存的动态扩容方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06314239A (ja) * | 1993-04-28 | 1994-11-08 | Hitachi Ltd | プロセッサシステム |
JPH11134312A (ja) * | 1997-08-22 | 1999-05-21 | Seitai Cho | 分散共有メモリ多重プロセッサシステム |
JP2001222517A (ja) * | 2000-02-11 | 2001-08-17 | Seitai Cho | 方向分離二重リング構造を有する分散共有メモリ多重プロセッサシステム |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1271561A (en) * | 1986-07-02 | 1990-07-10 | Jeffry M. Bram | Instruction decoding microengines |
JP3732397B2 (ja) * | 2000-10-05 | 2006-01-05 | 株式会社日立製作所 | キャッシュシステム |
KR100856626B1 (ko) * | 2002-12-24 | 2008-09-03 | 엘지노텔 주식회사 | 캐시 플러시 시스템 및 방법 |
US6988173B2 (en) * | 2003-05-12 | 2006-01-17 | International Business Machines Corporation | Bus protocol for a switchless distributed shared memory computer system |
US7069362B2 (en) * | 2003-05-12 | 2006-06-27 | International Business Machines Corporation | Topology for shared memory computer system |
CN1320464C (zh) * | 2003-10-23 | 2007-06-06 | 英特尔公司 | 用于维持共享高速缓存一致性的方法和设备 |
US7676637B2 (en) * | 2004-04-27 | 2010-03-09 | International Business Machines Corporation | Location-aware cache-to-cache transfers |
JP4904802B2 (ja) | 2005-02-01 | 2012-03-28 | セイコーエプソン株式会社 | キャッシュメモリ及びプロセッサ |
US7769956B2 (en) * | 2005-09-07 | 2010-08-03 | Intel Corporation | Pre-coherence channel |
CN101008921A (zh) * | 2007-01-26 | 2007-08-01 | 浙江大学 | 基于总线侦听的嵌入式异构多核缓存一致性方法 |
US7827391B2 (en) * | 2007-06-26 | 2010-11-02 | International Business Machines Corporation | Method and apparatus for single-stepping coherence events in a multiprocessor system under software control |
CN101452400B (zh) * | 2007-11-29 | 2011-12-28 | 国际商业机器公司 | 处理多处理器系统中事务缓冲器溢出的方法和系统 |
JP4474570B2 (ja) * | 2008-01-28 | 2010-06-09 | エヌイーシーコンピュータテクノ株式会社 | キャッシュコヒーレンシ制御方法 |
US8554851B2 (en) * | 2010-09-24 | 2013-10-08 | Intel Corporation | Apparatus, system, and methods for facilitating one-way ordering of messages |
DE112011104329T5 (de) | 2010-12-09 | 2013-09-26 | International Business Machines Corporation | Mehrkernsystem und Verfahren zum Lesen der Kerndaten |
JP5655696B2 (ja) * | 2011-05-11 | 2015-01-21 | 富士通株式会社 | ネットワーク及びその障害救済方法 |
US20130144626A1 (en) * | 2011-12-04 | 2013-06-06 | David Shau | Rap music generation |
-
2011
- 2011-09-28 DE DE112011104329T patent/DE112011104329T5/de not_active Withdrawn
- 2011-09-28 WO PCT/JP2011/072206 patent/WO2012077400A1/ja active Application Filing
- 2011-09-28 CN CN201180064625.9A patent/CN103370696B/zh not_active Expired - Fee Related
- 2011-09-28 GB GB1311211.5A patent/GB2499765B/en not_active Expired - Fee Related
- 2011-12-05 US US13/311,349 patent/US8918590B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06314239A (ja) * | 1993-04-28 | 1994-11-08 | Hitachi Ltd | プロセッサシステム |
JPH11134312A (ja) * | 1997-08-22 | 1999-05-21 | Seitai Cho | 分散共有メモリ多重プロセッサシステム |
JP2001222517A (ja) * | 2000-02-11 | 2001-08-17 | Seitai Cho | 方向分離二重リング構造を有する分散共有メモリ多重プロセッサシステム |
Also Published As
Publication number | Publication date |
---|---|
GB2499765A (en) | 2013-08-28 |
GB201311211D0 (en) | 2013-08-14 |
DE112011104329T5 (de) | 2013-09-26 |
CN103370696A (zh) | 2013-10-23 |
CN103370696B (zh) | 2016-01-20 |
GB2499765B (en) | 2014-02-19 |
US20120151152A1 (en) | 2012-06-14 |
US8918590B2 (en) | 2014-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2012077400A1 (ja) | マルチコアシステム、及びそのコアのデータ読み出し方法 | |
US9239789B2 (en) | Method and apparatus for monitor and MWAIT in a distributed cache architecture | |
Starke et al. | The cache and memory subsystems of the IBM POWER8 processor | |
US6976131B2 (en) | Method and apparatus for shared cache coherency for a chip multiprocessor or multiprocessor system | |
JP3644587B2 (ja) | 共用介入サポートを有する不均等メモリ・アクセス(numa)・データ処理システム | |
US8185695B2 (en) | Snoop filtering mechanism | |
JP4474570B2 (ja) | キャッシュコヒーレンシ制御方法 | |
US20050228952A1 (en) | Cache coherency mechanism | |
JP6174186B2 (ja) | キャッシュコヒーレンシを有する集積回路 | |
US7685373B2 (en) | Selective snooping by snoop masters to locate updated data | |
US20090259813A1 (en) | Multi-processor system and method of controlling the multi-processor system | |
JP2000250881A (ja) | 不均等メモリ・アクセス・システム内で書き戻しの衝突によって生じるライブロックを避けるための方法およびシステム | |
US7779210B2 (en) | Avoiding snoop response dependency | |
US8688919B1 (en) | Method and apparatus for associating requests and responses with identification information | |
US7779211B2 (en) | Reducing latency in responding to a snoop request | |
US8489822B2 (en) | Providing a directory cache for peripheral devices | |
US7882311B2 (en) | Non-snoop read/write operations in a system supporting snooping | |
JPWO2007096978A1 (ja) | スヌープ制御方法および情報処理装置 | |
CN112955877A (zh) | 修改存储数据的装置和方法 | |
JP5375876B2 (ja) | マルチプロセッサシステム | |
JP5724981B2 (ja) | メモリアクセス制御装置、メモリアクセス制御システム、及び、メモリアクセス制御方法 | |
JP2017199970A (ja) | データ送信装置、データ送受信システムおよびデータ送信装置の制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 201180064625.9 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11847268 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1120111043295 Country of ref document: DE Ref document number: 112011104329 Country of ref document: DE |
|
ENP | Entry into the national phase |
Ref document number: 1311211 Country of ref document: GB Kind code of ref document: A Free format text: PCT FILING DATE = 20110928 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1311211.5 Country of ref document: GB |
|
NENP | Non-entry into the national phase |
Ref country code: JP |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 11847268 Country of ref document: EP Kind code of ref document: A1 |