JP2007213304A - Cache memory system and multiprocessor system - Google Patents

Cache memory system and multiprocessor system Download PDF

Info

Publication number
JP2007213304A
JP2007213304A JP2006032310A JP2006032310A JP2007213304A JP 2007213304 A JP2007213304 A JP 2007213304A JP 2006032310 A JP2006032310 A JP 2006032310A JP 2006032310 A JP2006032310 A JP 2006032310A JP 2007213304 A JP2007213304 A JP 2007213304A
Authority
JP
Japan
Prior art keywords
cache
data
memory
controller
cache controller
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.)
Withdrawn
Application number
JP2006032310A
Other languages
Japanese (ja)
Inventor
Shuji Otsuka
修司 大▲塚▼
Keiji So
慶治 荘
Takeya Akiyama
健也 秋山
Kazumasa Obikawa
一誠 帯川
Yoshikuni Shimazawa
嘉邦 島沢
Osamu Shibata
理 芝田
Yoshiki Tanaka
美喜 田中
Ryuichi Tsuji
龍一 辻
Fumitaka Sugimoto
文孝 杉本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2006032310A priority Critical patent/JP2007213304A/en
Publication of JP2007213304A publication Critical patent/JP2007213304A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a technique capable of suppressing extension of the time for reading of data from a main memory, in a multiprocessor system comprising each processor provided with a cache memory, and suppressing latency increase of memory access in the whole multiprocessor system. <P>SOLUTION: The cache memory system comprises a first cache memory, a second cache memory, a first cache controller, and a second cache controller. The first and second cache controllers is connected with each other and also connected to the main memory, respectively. The first cache controller determines, upon receipt of a reading request of data from a first processor, whether the data is stored in the first cache memory or not, and transmits, when it determines that the data is not stored therein, the reading request of data to the second controller. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、各プロセッサがキャッシュメモリを備えるマルチプロセッサシステムにおけるデータ読み出しの技術に関する。   The present invention relates to a technique for reading data in a multiprocessor system in which each processor includes a cache memory.

近年、複数のプロセッサを備えるマルチプロセッサシステムが種々提案されている。そして、このマルチプロセッサシステムとして、データを高速に読み出すために、各プロセッサがキャッシュメモリを備える構成のマルチプロセッサシステムが提案されている(下記特許文献1参照)。   In recent years, various multiprocessor systems including a plurality of processors have been proposed. As a multiprocessor system, there has been proposed a multiprocessor system in which each processor includes a cache memory in order to read data at high speed (see Patent Document 1 below).

特開平2003−248666号公報Japanese Patent Laid-Open No. 2003-248666

前述のように、各プロセッサがキャッシュメモリを備える構成のマルチプロセッサシステムでは、或るプロセッサ(仮に「プロセッサA」と呼ぶ。)が或るデータ(仮に「データX」と呼ぶ。)を読み出そうとする場合に、自己が備えるキャッシュメモリにデータXが格納されていない場合には、メインメモリからデータXを読み出すこととなる。メインメモリはキャッシュメモリに比べて動作速度が遅いので、プロセッサAはデータXの読み出しに比較的長時間を要することとなる。   As described above, in a multiprocessor system in which each processor includes a cache memory, a certain processor (tentatively referred to as “processor A”) will read certain data (temporarily referred to as “data X”). In the case where the data X is not stored in the cache memory provided therein, the data X is read from the main memory. Since the operation speed of the main memory is slower than that of the cache memory, the processor A takes a relatively long time to read the data X.

また、プロセッサAがデータXを読み出した後に、プロセッサAとは異なるプロセッサ(仮に「プロセッサB」と呼ぶ。)が、同じデータXを読み出そうとした場合に、プロセッサBが備えるキャッシュメモリにデータXが格納されていないと、プロセッサBは、プロセッサAと同様にメインメモリからデータXを読み出すこととなる。このとき、メインメモリにおける処理について考えてみると、同じデータXについての読み出し要求を二度も処理しなくてはならない。その結果、他のデータの読み出し要求やデータの書き込み要求などの処理が待たされることとなり、マルチプロセッサシステム全体でのメモリアクセスのレイテンシ(遅延)が増加することとなる。   Further, after the processor A reads the data X, when a processor different from the processor A (referred to as “processor B”) tries to read the same data X, the data is stored in the cache memory included in the processor B. If X is not stored, the processor B reads the data X from the main memory in the same manner as the processor A. At this time, considering the processing in the main memory, the read request for the same data X must be processed twice. As a result, processing such as another data read request or data write request is awaited, and the memory access latency (delay) in the entire multiprocessor system increases.

本発明は、各プロセッサがキャッシュメモリを備えるマルチプロセッサシステムにおいて、メインメモリからのデータの読み出しが長時間化することを抑制すると共に、マルチプロセッサシステム全体でのメモリアクセスのレイテンシ増加を抑制することができる技術を提供することを目的とする。   According to the present invention, in a multiprocessor system in which each processor includes a cache memory, it is possible to suppress an increase in the latency of memory access in the entire multiprocessor system as well as to suppress the reading of data from the main memory for a long time. The purpose is to provide technology that can be used.

前述の課題の少なくとも一部を解決するために、本発明のキャッシュメモリシステムは、2以上のキャッシュメモリを備えたキャッシュメモリシステムであって、第1のキャッシュメモリと、第2のキャッシュメモリと、第1のプロセッサに接続され、前記第1のキャッシュメモリを制御するための第1のキャッシュコントローラと、第2のプロセッサに接続され、前記第2のキャッシュメモリを制御するための第2のキャッシュコントローラと、を備え、前記第1のキャッシュコントローラ及び前記第2のキャッシュコントローラは、互いに接続されていると共に、それぞれメインメモリに接続されており、前記第1のキャッシュコントローラは、前記第1のプロセッサからデータの読み出し要求を受信すると、前記第1のキャッシュメモリに前記データが記憶されているか否かを判定し、前記第1のキャッシュメモリに前記データが記憶されていないと判定した場合に、前記第2のキャッシュコントローラに対して、前記データの読み出し要求を送信することを要旨とする。   In order to solve at least a part of the problems described above, a cache memory system of the present invention is a cache memory system including two or more cache memories, and includes a first cache memory, a second cache memory, A first cache controller connected to a first processor for controlling the first cache memory; and a second cache controller connected to a second processor for controlling the second cache memory. The first cache controller and the second cache controller are connected to each other and each connected to a main memory, and the first cache controller is connected to the first processor. Upon receiving a data read request, the first cache memo And when the data is stored in the first cache memory, a request to read the data is sent to the second cache controller. The gist is to send.

このように、本発明のキャッシュメモリシステムでは、第1のキャッシュコントローラは、第1のキャッシュメモリにデータが記憶されていないと判定した場合に、第2のキャッシュコントローラに対して、データの読み出し要求を送信するので、例えば、かかる要求を受信した第2のキャッシュメモリがデータを返信すると、そのデータを受信することでデータを取得することができる。従って、第1のキャッシュコントローラは、メインメモリにアクセスすることなく、データを取得することができるので、データの読み出しが長時間化することを抑制すると共に、マルチプロセッサシステム全体でのメモリアクセスのレイテンシ増加を抑制することができる。   As described above, in the cache memory system of the present invention, when the first cache controller determines that no data is stored in the first cache memory, a data read request is sent to the second cache controller. Therefore, for example, when the second cache memory receiving the request returns data, the data can be acquired by receiving the data. Therefore, since the first cache controller can acquire data without accessing the main memory, the reading of data is prevented from taking a long time, and the latency of memory access in the entire multiprocessor system is suppressed. Increase can be suppressed.

上記キャッシュメモリシステムにおいて、前記第2のキャッシュコントローラは、前記第1のキャッシュコントローラから、前記データの読み出し要求を受信した場合に、前記第2のキャッシュメモリに前記データが記憶されているか否かを判定し、前記第2のキャッシュコントローラは、前記第2のキャッシュメモリに前記データが記憶されていると判定した場合に、前記データを前記第2のキャッシュメモリから読み出して前記第1のキャッシュコントローラに送信し、前記第2のキャッシュメモリに前記データが記憶されていないと判定した場合に、前記第2のキャッシュメモリに前記データが記憶されていない旨を前記第1のキャッシュコントローラに送信することが好ましい。   In the cache memory system, when the second cache controller receives the data read request from the first cache controller, the second cache controller determines whether the data is stored in the second cache memory. And when the second cache controller determines that the data is stored in the second cache memory, the second cache controller reads the data from the second cache memory and sends the data to the first cache controller. And when it is determined that the data is not stored in the second cache memory, the fact that the data is not stored in the second cache memory is transmitted to the first cache controller. preferable.

このようにすることで、第2のキャッシュメモリにデータが記憶されている場合には、第1のキャッシュコントローラはデータを第2のキャッシュコントローラから受信することができ、また、第2のキャッシュメモリにデータが記憶されていない場合には、第1のキャッシュコントローラは第2のキャッシュメモリにデータが記憶されていないことを知ることができる。   Thus, when data is stored in the second cache memory, the first cache controller can receive the data from the second cache controller, and the second cache memory When no data is stored in the first cache controller, the first cache controller can know that no data is stored in the second cache memory.

上記キャッシュメモリシステムにおいて、前記第1のキャッシュコントローラは、前記第2のキャッシュコントローラから、前記データを受信した場合に、前記受信したデータを前記第1のプロセッサに送信し、前記第1のキャッシュコントローラは、前記第2のキャッシュコントローラから、前記第2のキャッシュメモリに前記データが記憶されていない旨を受信した場合に、前記メインメモリから前記データを読み出すと共に、前記読み出したデータを前記第1のプロセッサに送信することが好ましい。   In the cache memory system, when the first cache controller receives the data from the second cache controller, the first cache controller transmits the received data to the first processor, and the first cache controller Receives from the second cache controller that the data is not stored in the second cache memory, reads the data from the main memory, and reads the read data into the first cache memory. Preferably it is sent to the processor.

このようにすることで、第1のキャッシュコントローラは、第1のキャッシュメモリ及び第2のキャッシュメモリのいずれのキャッシュメモリにもデータが記憶されていない場合にのみ、メインメモリからデータを読み出すこととなる。従って、第1のキャッシュメモリにデータが記憶されておらず、第2のキャッシュメモリにデータが記憶されている場合には、第1のキャッシュコントローラは、メインメモリにアクセスせずにデータを取得することができる。その結果、データの読み出しが長時間化することを抑制すると共に、マルチプロセッサシステム全体でのメモリアクセスのレイテンシ増加を抑制することができる。   In this way, the first cache controller reads data from the main memory only when no data is stored in either the first cache memory or the second cache memory. Become. Therefore, when data is not stored in the first cache memory and data is stored in the second cache memory, the first cache controller acquires the data without accessing the main memory. be able to. As a result, it is possible to suppress the reading of data for a long time and to suppress an increase in the latency of memory access in the entire multiprocessor system.

なお、本発明は、種々の形態で実現することが可能であり、例えば、上記キャッシュメモリシステムと、上記メインメモリと、上記第1のプロセッサと、上記第2のプロセッサと、を備えるマルチプロセッサシステム、データ読み出し方法、それらの方法又は装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。   The present invention can be realized in various forms, for example, a multiprocessor system including the cache memory system, the main memory, the first processor, and the second processor. , A data reading method, a computer program for realizing the functions of the method or apparatus, a recording medium storing the computer program, a data signal including the computer program and embodied in a carrier wave, and the like be able to.

以下、本発明を実施するための最良の形態を実施例に基づいて以下の順序で説明する。
A.第1の実施例:
B.第2の実施例:
C.変形例:
Hereinafter, the best mode for carrying out the present invention will be described in the following order based on examples.
A. First embodiment:
B. Second embodiment:
C. Variation:

A.第1の実施例:
A1.マルチプロセッサシステムの概要構成:
図1は、本発明の一実施例としてのキャッシュメモリシステムを適用したマルチプロセッサシステムの概要構成を示す説明図である。マルチプロセッサシステム100は、第1プロセッサ10と、第2プロセッサ20と、キャッシュメモリシステム40と、メインメモリ50と、メインメモリ50を制御するメモリコントローラ51と、を備える。第1プロセッサ10及び第2プロセッサ20は、それぞれ、図示せざるプロセッサコア及び1次キャッシュメモリを備える。キャッシュメモリシステム40は、内部バス60を介してメモリコントローラ51に接続されている。
A. First embodiment:
A1. General configuration of multiprocessor system:
FIG. 1 is an explanatory diagram showing a schematic configuration of a multiprocessor system to which a cache memory system as an embodiment of the present invention is applied. The multiprocessor system 100 includes a first processor 10, a second processor 20, a cache memory system 40, a main memory 50, and a memory controller 51 that controls the main memory 50. The first processor 10 and the second processor 20 each include a processor core and a primary cache memory (not shown). The cache memory system 40 is connected to the memory controller 51 via the internal bus 60.

キャッシュメモリシステム40は、第1キャッシュメモリ15と、第1キャッシュメモリ15を制御する第1キャッシュコントローラ15aと、第2キャッシュメモリ25と、第2キャッシュメモリ25を制御する第2キャッシュコントローラ25aと、を備える。第1キャッシュコントローラ15aは、第1プロセッサ10及びメモリコントローラ51に接続されており、第1プロセッサ10からの要求に応じて、メモリコントローラ51を介してメインメモリ50に記憶されているデータを読み出すことができる。同様にして、第2キャッシュコントローラ25aは、第2プロセッサ20及びメモリコントローラ51に接続されており、第2プロセッサ20からの要求に応じて、メモリコントローラ51を介してメインメモリ50に記憶されているデータを読み出すことができる。これら第1キャッシュコントローラ15a及び第2キャッシュコントローラ25aは、互いに接続されており、所定のコマンドや、その応答メッセージを送受信することができる。   The cache memory system 40 includes a first cache memory 15, a first cache controller 15 a that controls the first cache memory 15, a second cache memory 25, a second cache controller 25 a that controls the second cache memory 25, Is provided. The first cache controller 15 a is connected to the first processor 10 and the memory controller 51, and reads data stored in the main memory 50 via the memory controller 51 in response to a request from the first processor 10. Can do. Similarly, the second cache controller 25a is connected to the second processor 20 and the memory controller 51, and is stored in the main memory 50 via the memory controller 51 in response to a request from the second processor 20. Data can be read out. The first cache controller 15a and the second cache controller 25a are connected to each other, and can transmit / receive a predetermined command and a response message thereof.

第1キャッシュメモリ15及び第2キャッシュメモリ25は、いずれも記憶領域として、タグ領域及びデータ領域を備えている。そして、第1キャッシュメモリ15は、これらタグ領域及びデータ領域を用いて、第1プロセッサ10の2次キャッシュメモリとして機能する。同様にして、第2キャッシュメモリ25は、第2プロセッサ20の2次キャッシュメモリとして機能する。   Each of the first cache memory 15 and the second cache memory 25 includes a tag area and a data area as storage areas. The first cache memory 15 functions as a secondary cache memory of the first processor 10 using these tag area and data area. Similarly, the second cache memory 25 functions as a secondary cache memory of the second processor 20.

例えば、第1キャッシュコントローラ15aは、第1プロセッサ10からの要求に応じて、メモリコントローラ51を介してメインメモリ50からデータx(先頭アドレス値「0009」)を読み出した場合に、読み出したデータxを第1プロセッサ10に送信すると共に第1キャッシュメモリ15のデータ領域に格納し、また、アドレス値「0009」をタグ領域に格納する。このようにすることで、次に第1プロセッサ10が同じデータxを読み出そうとする場合に、第1キャッシュコントローラ15aは、動作速度の比較的速い第1キャッシュメモリ15からデータxを読み出すことができるので、動作速度の比較的遅いメインメモリ50から読み出す場合に比べて、より高速にデータxを読み出すことができる。   For example, when the first cache controller 15a reads data x (first address value “0009”) from the main memory 50 via the memory controller 51 in response to a request from the first processor 10, the read data x Is transmitted to the first processor 10 and stored in the data area of the first cache memory 15, and the address value “0009” is stored in the tag area. In this way, when the first processor 10 next tries to read the same data x, the first cache controller 15a reads the data x from the first cache memory 15 having a relatively high operation speed. Therefore, the data x can be read at a higher speed than when reading from the main memory 50 having a relatively slow operation speed.

従来のシステムでは、第1キャッシュコントローラ15aは第2キャッシュメモリ25からデータを取得することはできず、また第2キャッシュコントローラ25aは第1キャッシュメモリ15からデータを取得することは不可能であった。これに対して、本実施例のマルチプロセッサシステム100では、以下に説明するように、第1キャッシュコントローラ15aは、第2キャッシュメモリ25からデータを取得することができ、また、第2キャッシュコントローラ25aは、第1キャッシュメモリ15からデータを取得することができるように構成されている。   In the conventional system, the first cache controller 15 a cannot acquire data from the second cache memory 25, and the second cache controller 25 a cannot acquire data from the first cache memory 15. . On the other hand, in the multiprocessor system 100 of this embodiment, as described below, the first cache controller 15a can acquire data from the second cache memory 25, and the second cache controller 25a. Is configured to be able to acquire data from the first cache memory 15.

A2.データ読み出し処理:
図1の例では、第2キャッシュメモリ25のデータ領域には、データA,m,p,nが格納されている。一方、第1キャッシュメモリ15のデータ領域には、データx,s,r,tが格納されている。この状態において、第1プロセッサ10がデータA(アドレス値「0003」)の読み出し要求を第1キャッシュコントローラ15aに送信すると(図1のステップ[1])、第1キャッシュコントローラ15aにおいてデータ読み出し処理が開始される。
A2. Data read processing:
In the example of FIG. 1, data A, m, p, and n are stored in the data area of the second cache memory 25. On the other hand, data x, s, r, and t are stored in the data area of the first cache memory 15. In this state, when the first processor 10 transmits a read request for data A (address value “0003”) to the first cache controller 15a (step [1] in FIG. 1), the first cache controller 15a performs data read processing. Be started.

図2は、第1キャッシュコントローラ15aにおいて実行されるデータ読み出し処理の手順を示すフローチャートである。図2において、各破線の矢印に付与された数字([2]〜[10])は、マルチプロセッサシステム100におけるデータのやりとりを特定するための数字であり、図1に示す数字と対応している。   FIG. 2 is a flowchart showing a procedure of data read processing executed in the first cache controller 15a. In FIG. 2, numbers ([2] to [10]) given to the broken-line arrows are numbers for specifying data exchange in the multiprocessor system 100, and correspond to the numbers shown in FIG. Yes.

図2に示すデータ読み出し処理が開始されると、図1に示す第1キャッシュコントローラ15aは、第1キャッシュメモリ15のタグ領域に格納されているアドレス値と、第1プロセッサ10から指定されたアドレス値「0003」と、を比較して、第1プロセッサ10から要求されたデータが第1キャッシュメモリ15に格納されているか否かを判定する(ステップS202)。   When the data reading process shown in FIG. 2 is started, the first cache controller 15a shown in FIG. 1 receives the address value stored in the tag area of the first cache memory 15 and the address designated by the first processor 10. The value “0003” is compared to determine whether the data requested by the first processor 10 is stored in the first cache memory 15 (step S202).

アドレス値「0003」のデータAが第1キャッシュメモリ15に格納されていないときには、第1キャッシュコントローラ15aは、そのデータの読み出し要求コマンドを第2キャッシュコントローラ25aに送信し(ステップS206)、第2キャッシュコントローラ25aから返信メッセージを受信したか否かを判定する(ステップS208)。   When the data A having the address value “0003” is not stored in the first cache memory 15, the first cache controller 15a transmits a read request command for the data to the second cache controller 25a (Step S206). It is determined whether a reply message has been received from the cache controller 25a (step S208).

ここで、第2キャッシュコントローラ25aは、第1キャッシュコントローラ15aから前述の読み出し要求コマンドを受信すると(ステップ[4])、指定されたアドレス値「0003」のデータが第2キャッシュメモリ25に格納されているか否かを判定する。そして、アドレス値「0003」のデータAが第2キャッシュメモリ25に格納されている場合には、第2キャッシュコントローラ25aは、データAを第2キャッシュメモリ25から読み出して、返信メッセージとして、ACKメッセージにデータAを付加して第1キャッシュコントローラ15aに送信する(ステップ[6])。なお、指定されたアドレス値「0003」のデータが第2キャッシュメモリ25に格納されていない場合、第2キャッシュコントローラ25aは、その旨(指定されたアドレス値のデータが第2キャッシュメモリ25に格納されていない旨)を示すNACKメッセージを、返信メッセージとして第1キャッシュコントローラ15aに送信する。   Here, when the second cache controller 25a receives the above read request command from the first cache controller 15a (step [4]), the data of the designated address value “0003” is stored in the second cache memory 25. It is determined whether or not. When the data A having the address value “0003” is stored in the second cache memory 25, the second cache controller 25a reads the data A from the second cache memory 25 and uses the ACK message as a reply message. The data A is added to the first cache controller 15a and transmitted to the first cache controller 15a (step [6]). When the data of the designated address value “0003” is not stored in the second cache memory 25, the second cache controller 25a does so (the data of the designated address value is stored in the second cache memory 25). NACK message indicating that it has not been transmitted) to the first cache controller 15a as a reply message.

第1キャッシュコントローラ15aは、返信メッセージを受信すると、受信した返信メッセージがACKメッセージであるか否かを判定する(ステップS210)。返信メッセージがACKメッセージである場合には、第1キャッシュコントローラ15aは、付加されたデータAを第1プロセッサ10に送信する(ステップS212)。このようにして、第1プロセッサ10は、アドレス値「0003」のデータAを受け取ることができる。   When receiving the reply message, the first cache controller 15a determines whether or not the received reply message is an ACK message (step S210). If the reply message is an ACK message, the first cache controller 15a transmits the added data A to the first processor 10 (step S212). In this way, the first processor 10 can receive the data A having the address value “0003”.

なお、仮に、第2キャッシュメモリ25にデータAが格納されていない場合には、第1キャッシュコントローラ15aは、NACKメッセージを受信することとなるので、ステップS210の処理において、受信した返信メッセージがACKメッセージでないと判定する(ステップS210:NO)。この場合、第1キャッシュコントローラ15aは、メモリコントローラ51に対して、アドレス「0003」を指定してデータの読み出し要求を送信し(ステップS214)、メモリコントローラ51から返信メッセージを受信したか否かを判定する(ステップS216)。   If the data A is not stored in the second cache memory 25, the first cache controller 15a receives the NACK message. Therefore, in the process of step S210, the received reply message is ACK. It is determined that it is not a message (step S210: NO). In this case, the first cache controller 15a transmits a data read request with the address “0003” specified to the memory controller 51 (step S214), and determines whether or not a reply message has been received from the memory controller 51. Determination is made (step S216).

ここで、メモリコントローラ51は、第1キャッシュコントローラ15aから前述のデータの読み出し要求を受信すると、指定されたアドレス値「0003」のデータAをメインメモリ50から読み出して第1キャッシュコントローラ15aに送信する。そして、第1キャッシュコントローラ15aは、メモリコントローラ51から受信したデータAを第1プロセッサ10に送信する(ステップS218)。   When the memory controller 51 receives the data read request from the first cache controller 15a, the memory controller 51 reads the data A having the designated address value “0003” from the main memory 50 and transmits the data A to the first cache controller 15a. . Then, the first cache controller 15a transmits the data A received from the memory controller 51 to the first processor 10 (step S218).

なお、ステップS202の処理において、第1プロセッサ10からデータの読み出し要求を受信したときに、第1キャッシュメモリ15にデータAが格納されていた場合には、第1キャッシュコントローラ15aは、第1キャッシュメモリ15からデータAを読み出して第1プロセッサ10に送信する(ステップS204)。   In the process of step S202, when data A is stored in the first cache memory 15 when a data read request is received from the first processor 10, the first cache controller 15a Data A is read from the memory 15 and transmitted to the first processor 10 (step S204).

図2に示す処理は、第2キャッシュコントローラ25aが第2プロセッサ20からデータ読み出し要求を受信したときも、第2キャッシュコントローラ25aによって同様に実行される。   The processing shown in FIG. 2 is similarly executed by the second cache controller 25a when the second cache controller 25a receives a data read request from the second processor 20.

以上説明したように、本実施例におけるデータ読み出し処理では、第1キャッシュコントローラ15aは、要求されたデータAが第1キャッシュメモリ15に格納されていない場合に、第2キャッシュコントローラ25aに対し、そのデータの読み出し要求コマンドを送信するようにしている。そして、第2キャッシュコントローラ25aは、第2キャッシュメモリ25にデータAが格納されている場合に、データAを第1キャッシュコントローラ15aに送信するようにしている。従って、第1キャッシュコントローラ15aは、動作速度の比較的遅いメインメモリ50にアクセスせずにデータAを取得して第1プロセッサ10に送信するので、第1プロセッサ10は、比較的短時間のうちにデータを読み出すことができる。   As described above, in the data read process according to the present embodiment, the first cache controller 15a sends the request to the second cache controller 25a when the requested data A is not stored in the first cache memory 15. A data read request command is transmitted. The second cache controller 25a transmits the data A to the first cache controller 15a when the data A is stored in the second cache memory 25. Accordingly, the first cache controller 15a acquires the data A without transmitting to the main memory 50 having a relatively low operation speed and transmits the data A to the first processor 10. Data can be read out.

また、メインメモリ50における処理について考えると、第2キャッシュコントローラ25aからの要求に応じてデータAを読み出した後において、第2キャッシュメモリ25にデータAが格納されている場合には、第1キャッシュコントローラ15aからデータAの読み出し要求を受信することはない。従って、メインメモリ50(メモリコントローラ51)では、同じデータの読み出し処理を行わずに済むので、他のデータの読み出しやデータの書き込み処理を行うことができる。その結果、マルチプロセッサシステム100全体でのメモリアクセスのレイテンシの増加を抑制することができる。   Considering the processing in the main memory 50, if the data A is stored in the second cache memory 25 after the data A is read in response to a request from the second cache controller 25a, the first cache A read request for data A is not received from the controller 15a. Accordingly, the main memory 50 (memory controller 51) does not have to perform the same data read process, and therefore can read other data and write data. As a result, an increase in memory access latency in the entire multiprocessor system 100 can be suppressed.

B.第2の実施例:
図3は、第2の実施例におけるマルチプロセッサシステムの概要構成を示す説明図である。上述した第1の実施例におけるマルチプロセッサシステム100は、プロセッサ,2次キャッシュメモリ,キャッシュコントローラのセットが2セット存在する構成であったが、本実施例のマルチプロセッサシステムは、かかるセットが3セット存在する構成である。なお、図3において、プロセッサ,2次キャッシュメモリ,キャッシュコントローラ以外の構成については、図1に示すマルチプロセッサシステム100の構成と同じであるので図示を省略する。
B. Second embodiment:
FIG. 3 is an explanatory diagram showing a schematic configuration of the multiprocessor system in the second embodiment. The multiprocessor system 100 in the first embodiment described above has a configuration in which two sets of processors, secondary cache memories, and cache controllers exist. However, the multiprocessor system of the present embodiment has three sets. It is an existing configuration. In FIG. 3, the configuration other than the processor, the secondary cache memory, and the cache controller is the same as that of the multiprocessor system 100 shown in FIG.

図3に示すように、第2の実施例におけるマルチプロセッサシステムは、図1に示す第1プロセッサ10,第2プロセッサ20,第1キャッシュメモリ15,第2キャッシュメモリ25,第1キャッシュコントローラ15a,第2キャッシュコントローラ25aの他に、第3プロセッサ30と、第3プロセッサ30の2次キャッシュメモリとして機能する第3キャッシュメモリ35と、第3キャッシュメモリ35を制御する第3キャッシュコントローラ35aと、を備える。そして、3つのキャッシュコントローラ15a,25a,35aは、それぞれ、他の2つのキャッシュコントローラと接続されている。   As shown in FIG. 3, the multiprocessor system in the second embodiment includes the first processor 10, the second processor 20, the first cache memory 15, the second cache memory 25, the first cache controller 15a, In addition to the second cache controller 25a, a third processor 30, a third cache memory 35 that functions as a secondary cache memory of the third processor 30, and a third cache controller 35a that controls the third cache memory 35 are provided. Prepare. The three cache controllers 15a, 25a, and 35a are connected to the other two cache controllers, respectively.

かかる構成のマルチプロセッサシステムにおいて、第1プロセッサ10から第1キャッシュコントローラ15aに対して、データの読み出し要求が送信された場合の処理について説明する。   In the multiprocessor system having such a configuration, a process when a data read request is transmitted from the first processor 10 to the first cache controller 15a will be described.

第1キャッシュコントローラ15aは、第1プロセッサ10からのデータ読み出し要求を受信すると(ステップ[1])、上述したステップS202の処理と同様に、要求されたデータが第1キャッシュメモリ15に格納されているか否かを判定する。そして、格納されていないと判定した場合、第1キャッシュコントローラ15aは、第1の実施例と異なり、第2キャッシュコントローラ25aと第3キャッシュコントローラ35aとに対して、データの読み出し要求コマンドを並列に送信する(ステップ[4],[4’])。   When the first cache controller 15a receives the data read request from the first processor 10 (step [1]), the requested data is stored in the first cache memory 15 in the same manner as in the process of step S202 described above. It is determined whether or not. If it is determined that the data is not stored, unlike the first embodiment, the first cache controller 15a sends a data read request command to the second cache controller 25a and the third cache controller 35a in parallel. Transmit (steps [4] and [4 ′]).

このとき、第2キャッシュコントローラ25a及び第3キャッシュコントローラ35aが実行する処理は、第1の実施例において第2キャッシュコントローラ25aが実行した処理と同じである。すなわち、自己に接続されたキャッシュメモリに、データ読み出し要求コマンドで要求されたデータが格納されているか否かを判定し、格納されている場合には、かかるデータを読み出して(ステップ[5],[5’])、ACKメッセージに付加して返信し、格納されていない場合にはNACKメッセージを返信する(ステップ[6],[6’])。   At this time, the processing executed by the second cache controller 25a and the third cache controller 35a is the same as the processing executed by the second cache controller 25a in the first embodiment. That is, it is determined whether or not the data requested by the data read request command is stored in the cache memory connected to itself, and if it is stored, the data is read (step [5], [5 ′]), a reply is added to the ACK message, and if not stored, a NACK message is returned (steps [6], [6 ′]).

そして、第1キャッシュコントローラ15aは、2つのキャッシュコントローラ25a,35aの少なくとも一方からACKメッセージを受信した場合には、付加されたデータを第1プロセッサ10に送信する。一方、2つのキャッシュコントローラ25a,35aのいずれからもNACKメッセージを受信した場合には、メモリコントローラ51を介してメインメモリ50からデータを読み出して第1プロセッサ10に送信する。なお、両キャッシュコントローラ25a,35aの両方からACKメッセージを受信した場合には、第1キャッシュコントローラ15aは、例えば、より早く受信したACKメッセージに付加されたデータを第1プロセッサ10に送信するようにしてもよい。   When the first cache controller 15a receives an ACK message from at least one of the two cache controllers 25a and 35a, the first cache controller 15a transmits the added data to the first processor 10. On the other hand, when a NACK message is received from either of the two cache controllers 25 a and 35 a, data is read from the main memory 50 via the memory controller 51 and transmitted to the first processor 10. When the ACK message is received from both the cache controllers 25a and 35a, the first cache controller 15a transmits the data added to the ACK message received earlier, for example, to the first processor 10. May be.

以上説明したように、本実施例におけるデータ読み出し処理では、第1キャッシュコントローラ15aは、第1キャッシュメモリ15に指定されたアドレス値のデータが格納されていない場合に、第2キャッシュコントローラ25aと第3キャッシュコントローラ35aとに対して、データの読み出し要求コマンドを並列に送信するようにしている。従って、2次キャッシュメモリにおいてデータがヒットする確率を、他の1つのキャッシュコントローラに対して要求コマンドを送信する場合に比べてより高くすることができる。   As described above, in the data read process according to this embodiment, the first cache controller 15a and the second cache controller 25a and the second cache controller 25a when the first cache memory 15 stores no data of the designated address value. A data read request command is transmitted in parallel to the three cache controller 35a. Therefore, the probability of data hit in the secondary cache memory can be made higher than when a request command is transmitted to another one cache controller.

C.変形例:
なお、本発明は、前述の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において、種々の態様において実施することが可能であり、例えば以下のような変形も可能である。
C. Variation:
The present invention is not limited to the above-described examples and embodiments, and can be implemented in various modes without departing from the gist thereof. For example, the following modifications are possible. .

C1.変形例1:
上述した第1の実施例及び第2の実施例では、第1キャッシュメモリ15,第2キャッシュメモリ25,第3キャッシュメモリ35は、いずれも2次キャッシュメモリとして機能するキャッシュメモリであるものとしたが、2次キャッシュメモリに代えて、1次キャッシュメモリや、3次キャッシュメモリなど、他のキャッシュメモリとして機能するものであっても構わない。このような構成であっても、各キャッシュコントローラにおいて上述したデータ読み出し処理が実行されることで、各プロセッサは、比較的短時間のうちにデータの読み出しを行うことができる。
C1. Modification 1:
In the first and second embodiments described above, the first cache memory 15, the second cache memory 25, and the third cache memory 35 are all cache memories that function as secondary cache memories. However, instead of the secondary cache memory, it may function as another cache memory such as a primary cache memory or a tertiary cache memory. Even in such a configuration, each processor can read data in a relatively short time by executing the above-described data reading process in each cache controller.

C2.変形例2: C2. Modification 2:

上述した第2の実施例では、第1キャッシュコントローラ15aは、第1キャッシュメモリ15に指定されたアドレスのデータが格納されていない場合に、第2キャッシュコントローラ25aと共に第3キャッシュコントローラ35aにデータ読み出し要求コマンドを送信するようにしていたが、これに代えて、予め定められた一方のキャッシュコントローラに対してのみデータ読み出し要求コマンドを送信しても構わない。   In the second embodiment described above, the first cache controller 15a reads data to the third cache controller 35a together with the second cache controller 25a when the data of the designated address is not stored in the first cache memory 15. The request command is transmitted, but instead of this, the data read request command may be transmitted to only one predetermined cache controller.

具体的には、例えば、予めデータ読み出し要求コマンドの送信先として、第1キャッシュコントローラ15aは第2キャッシュコントローラ25aを、第2キャッシュコントローラ25aは第3キャッシュコントローラ35aを、第3キャッシュコントローラ35aは第1キャッシュコントローラ15aを、それぞれ定めておくようにしてもよい。このようにしても、データ読み出し要求コマンドの送信先のキャッシュコントローラにおいて、接続されたキャッシュメモリに要求されたデータが格納されていれば、各キャッシュコントローラは、メインメモリ50にアクセスするよりも高速にデータを取得することができる。   Specifically, for example, the first cache controller 15a is the second cache controller 25a, the second cache controller 25a is the third cache controller 35a, and the third cache controller 35a is the first destination as a data read request command destination. One cache controller 15a may be determined respectively. Even in this case, if the requested data is stored in the connected cache memory in the cache controller to which the data read request command is transmitted, each cache controller is faster than accessing the main memory 50. Data can be acquired.

C3.変形例3:
上述した第2の実施例では、マルチプロセッサシステムにおいて、プロセッサ,2次キャッシュメモリ,キャッシュコントローラのセットが、3セット存在する構成であったが、4セット以上が存在する構成であっても構わない。この場合、各キャッシュコントローラをメッシュに接続するようにすることで、他のキャッシュコントローラに対してデータ読み出し要求コマンドを送信することができる。また、変形例3のように予めデータ読み出し要求コマンドの送信先を定めておく場合には、定められた送信先に対してのみ接続するようにしてもよい。
C3. Modification 3:
In the second embodiment described above, in the multiprocessor system, there are three sets of processors, secondary cache memories, and cache controllers, but there may be a configuration in which there are four or more sets. . In this case, by connecting each cache controller to the mesh, a data read request command can be transmitted to another cache controller. Further, when the transmission destination of the data read request command is determined in advance as in the third modification, the connection may be made only to the determined transmission destination.

C4.変形例4:
上述した第2の実施例では、第1キャッシュコントローラ15a,第2キャッシュコントローラ25a,第3キャッシュコントローラ35aは、それぞれ他の2つのキャッシュコントローラと接続する構成(メッシュ接続の構成)であったが、これに代えて、デイジーチェーン接続(数珠つなぎする接続)の構成であっても構わない。
C4. Modification 4:
In the second embodiment described above, the first cache controller 15a, the second cache controller 25a, and the third cache controller 35a are configured to connect to the other two cache controllers (mesh connection configuration). Instead of this, a configuration of a daisy chain connection (a connection in which daisy chains are connected) may be employed.

例えば、第1キャッシュコントローラ15a,第2キャッシュコントローラ25a,第3キャッシュコントローラ35aの順番でデイジーチェーン接続するようにしてもよい。そして、かかるデイジーチェーン接続の構成において、第1キャッシュコントローラ15aが第2キャッシュコントローラ25aにデータ読み出し要求コマンドを送信し、第2キャッシュメモリ25に要求されたデータがない場合に、第2キャッシュコントローラ25aは、さらに、第3キャッシュコントローラ35aにデータ読み出し要求コマンドを送信する構成としてもよい。このようにすることで、データ読み出し要求コマンドを受信したキャッシュコントローラが、自己に接続されたキャッシュメモリに要求されたデータがない場合にNACKメッセージを返信する構成に比べて、2次キャッシュメモリにおいてデータがヒットする確率を、より高くすることができる。   For example, the first cache controller 15a, the second cache controller 25a, and the third cache controller 35a may be daisy chain connected in this order. In such a daisy chain connection configuration, when the first cache controller 15a transmits a data read request command to the second cache controller 25a and there is no requested data in the second cache memory 25, the second cache controller 25a Further, the data read request command may be transmitted to the third cache controller 35a. In this way, the cache controller that has received the data read request command returns data in the secondary cache memory as compared with a configuration in which a NACK message is returned when there is no requested data in the cache memory connected to the cache controller. The probability of hitting can be made higher.

なお、このようなデイジーチェーン接続の構成において、データ読み出し要求コマンドの送信元のキャッシュコントローラは、かかる要求コマンドを他のキャッシュコントローラに送信してからの経過時間を測定し、所定の時間が経過した時点で返信メッセージを受信していない場合に、メモリコントローラ51に対してデータの読み出し要求を送信するようにしてもよい。多数のキャッシュコントローラがデイジーチェーン接続されている場合には、返信メッセージが要求コマンドの送信元のキャッシュコントローラに到着するまでに比較的長時間を要する場合が起こり得る。そして、この返信メッセージがNACKメッセージであると、キャッシュコントローラは、このNACKメッセージを受信してから、改めてメモリコントローラ51にデータ読み出し要求を送信するので、データの読み出しに比較的長時間を要することとなる。そこで、前述のように、所定の時間が経過した時点で、キャッシュコントローラがメモリコントローラ51に対してデータの読み出し要求を送信することにより、データの読み出しの長時間化を抑制することができる。   In such a daisy chain connection configuration, the cache controller that transmitted the data read request command measures the elapsed time since the request command was transmitted to another cache controller, and a predetermined time has elapsed. A data read request may be transmitted to the memory controller 51 when no reply message has been received at that time. When a large number of cache controllers are daisy chained, it may take a relatively long time for the reply message to arrive at the cache controller that sent the request command. If the reply message is a NACK message, the cache controller transmits a data read request to the memory controller 51 again after receiving the NACK message, so that it takes a relatively long time to read the data. Become. Therefore, as described above, when the predetermined time has elapsed, the cache controller transmits a data read request to the memory controller 51, so that it is possible to suppress an increase in data read time.

C5.変形例5:
上述した第1の実施例及び第2の実施例では、各キャッシュコントローラ15a,25a,35aには、それぞれ1つのプロセッサ10,20,30が接続される構成であったが、この構成に代えて、少なくともいずれか1つのキャッシュコントローラに、複数のプロセッサが接続される構成であっても構わない。
C5. Modification 5:
In the first and second embodiments described above, each cache controller 15a, 25a, 35a has a configuration in which one processor 10, 20, 30 is connected. However, instead of this configuration, The configuration may be such that a plurality of processors are connected to at least one of the cache controllers.

本発明の一実施例としてのキャッシュメモリシステムを適用したマルチプロセッサシステムの概要構成を示す説明図である。1 is an explanatory diagram showing a schematic configuration of a multiprocessor system to which a cache memory system as one embodiment of the present invention is applied. FIG. 第1キャッシュコントローラ15aにおいて実行されるデータ読み出し処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the data read-out process performed in the 1st cache controller 15a. 第2の実施例におけるマルチプロセッサシステムの概要構成を示す説明図である。It is explanatory drawing which shows schematic structure of the multiprocessor system in a 2nd Example.

符号の説明Explanation of symbols

10…第1プロセッサ
15…第1キャッシュメモリ
15a…第1キャッシュコントローラ
20…第2プロセッサ
25…第2キャッシュメモリ
25a…第2キャッシュコントローラ
30…第3プロセッサ
35…第3キャッシュメモリ
35a…第3キャッシュコントローラ
40…キャッシュメモリシステム
50…メインメモリ
51…メモリコントローラ
60…内部バス
100…マルチプロセッサシステム
DESCRIPTION OF SYMBOLS 10 ... 1st processor 15 ... 1st cache memory 15a ... 1st cache controller 20 ... 2nd processor 25 ... 2nd cache memory 25a ... 2nd cache controller 30 ... 3rd processor 35 ... 3rd cache memory 35a ... 3rd cache Controller 40 ... Cache memory system 50 ... Main memory 51 ... Memory controller 60 ... Internal bus 100 ... Multiprocessor system

Claims (5)

2以上のキャッシュメモリを備えたキャッシュメモリシステムであって、
第1のキャッシュメモリと、
第2のキャッシュメモリと、
第1のプロセッサに接続され、前記第1のキャッシュメモリを制御するための第1のキャッシュコントローラと、
第2のプロセッサに接続され、前記第2のキャッシュメモリを制御するための第2のキャッシュコントローラと、
を備え、
前記第1のキャッシュコントローラ及び前記第2のキャッシュコントローラは、互いに接続されていると共に、それぞれメインメモリに接続されており、
前記第1のキャッシュコントローラは、前記第1のプロセッサからデータの読み出し要求を受信すると、前記第1のキャッシュメモリに前記データが記憶されているか否かを判定し、前記第1のキャッシュメモリに前記データが記憶されていないと判定した場合に、前記第2のキャッシュコントローラに対して、前記データの読み出し要求を送信することを特徴とするキャッシュメモリシステム。
A cache memory system comprising two or more cache memories,
A first cache memory;
A second cache memory;
A first cache controller connected to a first processor for controlling the first cache memory;
A second cache controller connected to a second processor for controlling the second cache memory;
With
The first cache controller and the second cache controller are connected to each other and each connected to a main memory,
When the first cache controller receives a data read request from the first processor, the first cache controller determines whether or not the data is stored in the first cache memory, and the first cache memory stores the data in the first cache memory. A cache memory system, wherein when it is determined that no data is stored, the data read request is transmitted to the second cache controller.
請求項1に記載のキャッシュメモリシステムにおいて、
前記第2のキャッシュコントローラは、前記第1のキャッシュコントローラから、前記データの読み出し要求を受信した場合に、前記第2のキャッシュメモリに前記データが記憶されているか否かを判定し、
前記第2のキャッシュコントローラは、前記第2のキャッシュメモリに前記データが記憶されていると判定した場合に、前記データを前記第2のキャッシュメモリから読み出して前記第1のキャッシュコントローラに送信し、前記第2のキャッシュメモリに前記データが記憶されていないと判定した場合に、前記第2のキャッシュメモリに前記データが記憶されていない旨を前記第1のキャッシュコントローラに送信する、
キャッシュメモリシステム。
The cache memory system according to claim 1,
The second cache controller determines whether the data is stored in the second cache memory when receiving the data read request from the first cache controller;
When the second cache controller determines that the data is stored in the second cache memory, the second cache controller reads the data from the second cache memory and transmits the data to the first cache controller; If it is determined that the data is not stored in the second cache memory, the fact that the data is not stored in the second cache memory is transmitted to the first cache controller;
Cache memory system.
請求項2に記載のキャッシュメモリシステムにおいて、
前記第1のキャッシュコントローラは、前記第2のキャッシュコントローラから、前記データを受信した場合に、前記受信したデータを前記第1のプロセッサに送信し、
前記第1のキャッシュコントローラは、前記第2のキャッシュコントローラから、前記第2のキャッシュメモリに前記データが記憶されていない旨を受信した場合に、前記メインメモリから前記データを読み出すと共に、前記読み出したデータを前記第1のプロセッサに送信する、
キャッシュメモリシステム。
The cache memory system according to claim 2,
When the first cache controller receives the data from the second cache controller, the first cache controller transmits the received data to the first processor;
When the first cache controller receives from the second cache controller that the data is not stored in the second cache memory, the first cache controller reads the data from the main memory and reads the data. Sending data to the first processor;
Cache memory system.
請求項1ないし請求項3のいずれかに記載のキャッシュメモリシステムと、
前記メインメモリと、
前記第1のプロセッサと、
前記第2のプロセッサと、
を備えるマルチプロセッサシステム。
A cache memory system according to any one of claims 1 to 3,
The main memory;
The first processor;
The second processor;
A multiprocessor system comprising:
第1のキャッシュメモリと、第2のキャッシュメモリと、前記第1のキャッシュメモリを制御する第1のキャッシュコントローラと、前記第2のキャッシュメモリを制御する第2のキャッシュコントローラと、を備えたキャッシュメモリシステムにおいて、前記第1のキャッシュコントローラに接続された第1のプロセッサからの要求に応じて、メインメモリに記憶されているデータを読み出すためのデータ読み出し方法であって、
前記第1のキャッシュコントローラ及び前記第2のキャッシュコントローラは、互いに接続されていると共に、それぞれ前記メインメモリに接続されており、
前記方法は、
(a)前記第1のキャッシュコントローラにおいて、前記第1のプロセッサから前記データの読み出し要求を受信すると、前記第1のキャッシュメモリに前記データが記憶されているか否かを判定する工程と、
(b)前記第1のキャッシュコントローラにおいて、前記判定工程の結果、前記第1のキャッシュメモリに前記データが記憶されていないと判定された場合に、前記第2のキャッシュコントローラに対して、前記データの読み出し要求を送信する工程と、
を備えるデータ読み出し方法。
A cache comprising: a first cache memory; a second cache memory; a first cache controller that controls the first cache memory; and a second cache controller that controls the second cache memory. A data read method for reading data stored in a main memory in response to a request from a first processor connected to the first cache controller in a memory system,
The first cache controller and the second cache controller are connected to each other and each connected to the main memory,
The method
(A) in the first cache controller, when receiving the data read request from the first processor, determining whether or not the data is stored in the first cache memory;
(B) In the first cache controller, when it is determined that the data is not stored in the first cache memory as a result of the determination step, the data is transmitted to the second cache controller. Sending a read request for
A data reading method comprising:
JP2006032310A 2006-02-09 2006-02-09 Cache memory system and multiprocessor system Withdrawn JP2007213304A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006032310A JP2007213304A (en) 2006-02-09 2006-02-09 Cache memory system and multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006032310A JP2007213304A (en) 2006-02-09 2006-02-09 Cache memory system and multiprocessor system

Publications (1)

Publication Number Publication Date
JP2007213304A true JP2007213304A (en) 2007-08-23

Family

ID=38491681

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006032310A Withdrawn JP2007213304A (en) 2006-02-09 2006-02-09 Cache memory system and multiprocessor system

Country Status (1)

Country Link
JP (1) JP2007213304A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010165210A (en) * 2009-01-16 2010-07-29 Toyota Motor Corp Control device
JP2014532923A (en) * 2011-10-26 2014-12-08 クゥアルコム・テクノロジーズ・インコーポレイテッド Integrated circuit with cache coherency

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10161930A (en) * 1996-11-29 1998-06-19 Hitachi Ltd Multiprocessor system, and cache coherency control method
JP2001109662A (en) * 1999-10-08 2001-04-20 Fujitsu Ltd Cache device and control method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10161930A (en) * 1996-11-29 1998-06-19 Hitachi Ltd Multiprocessor system, and cache coherency control method
JP2001109662A (en) * 1999-10-08 2001-04-20 Fujitsu Ltd Cache device and control method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010165210A (en) * 2009-01-16 2010-07-29 Toyota Motor Corp Control device
JP2014532923A (en) * 2011-10-26 2014-12-08 クゥアルコム・テクノロジーズ・インコーポレイテッド Integrated circuit with cache coherency
JP2016157462A (en) * 2011-10-26 2016-09-01 クゥアルコム・テクノロジーズ・インコーポレイテッド Integrated circuits with cache coherency

Similar Documents

Publication Publication Date Title
US7613197B2 (en) Multi-processor system and message transferring method in the same
US20110078365A1 (en) Data access method of a memory device
TWI703501B (en) Multi-processor system having distributed mailbox architecture and communication method thereof
KR100644596B1 (en) Bus system and bus arbitration method thereof
JP2008086027A (en) Method and device for processing remote request
US20060248218A1 (en) Multi-processor system and message transferring method in the same
JP2011170848A (en) Trace data priority selection
US20060236001A1 (en) Direct memory access controller
EP1701267A2 (en) Address snoop method and multi-processor system
JP2007213304A (en) Cache memory system and multiprocessor system
US20180074983A1 (en) Data transfer method, parallel processing device, and recording medium
JP4104939B2 (en) Multiprocessor system
US20040230717A1 (en) Processing device
US8806082B2 (en) Direct memory access device for multi-core system and operating method of the same
JP2008009702A (en) Arithmetic processing system
CN101464839B (en) Access buffering mechanism and method
JP2011070259A (en) Data transfer device and data transfer method
US20120310621A1 (en) Processor, data processing method thereof, and memory system including the processor
US8239652B2 (en) Data processing system
JP6502879B2 (en) Storage device
US7805576B2 (en) Information processing system, information processing board, and method of updating cache tag and snoop tag
US20060036815A1 (en) System and method for concurrently decoding and transmitting a memory request
JP5334173B2 (en) Data transfer system and retry control method
KR100728870B1 (en) Dual port ram and method of losslessly transmitting data using the dual port ram
JP2008118211A (en) Device and method for transferring data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081211

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110920

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20111116