JP6303632B2 - Arithmetic processing device and control method of arithmetic processing device - Google Patents
Arithmetic processing device and control method of arithmetic processing device Download PDFInfo
- Publication number
- JP6303632B2 JP6303632B2 JP2014046912A JP2014046912A JP6303632B2 JP 6303632 B2 JP6303632 B2 JP 6303632B2 JP 2014046912 A JP2014046912 A JP 2014046912A JP 2014046912 A JP2014046912 A JP 2014046912A JP 6303632 B2 JP6303632 B2 JP 6303632B2
- Authority
- JP
- Japan
- Prior art keywords
- management data
- request
- data
- unit
- arithmetic processing
- 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
Images
Landscapes
- Multi Processors (AREA)
Description
本発明は、演算処理装置および演算処理装置の制御方法に関する。 The present invention relates to an arithmetic processing unit and a control method for the arithmetic processing unit.
メインフレーム等、情報処理装置の演算処理装置には、主記憶の一定記憶領域ごと、例えば4KBごとにKEYデータという主記憶管理のためのデータが存在するものがある。一定領域ごとのKEYデータは、例えば、それぞれ対応する一定領域の参照(R bit)と更新(C bit)を表現する。演算処理装置のCPU(Central Processing Unit)や、CPUに含まれるコアが主記憶内のある記憶領域へストア(ST)命令を発行すると、ストア命令の発行に伴って、以下の処理がなされる。すなわち、R bitとC bitを更新する更新要求(SET−RCと呼ぶことにする)がKEYデータを管理するKEY制御部へ発行される。以下、CPUあるいはCPUに含まれるコアをプロセッサ、あるいは演算処理装置ともいう。ただし、演算処理装置が複数のCPUを有し、各CPUが複数のコアを有する場合もある。さらに、以下、KEYデータを管理データと呼ぶことにする。 Some arithmetic processing devices such as mainframes have information for main memory management called KEY data for every fixed storage area of the main memory, for example, every 4 KB. The KEY data for each fixed area represents, for example, the reference (R bit) and update (C bit) of the corresponding fixed area. When a CPU (Central Processing Unit) of the arithmetic processing unit or a core included in the CPU issues a store (ST) instruction to a certain storage area in the main memory, the following processing is performed along with the issue of the store instruction. That is, an update request (referred to as SET-RC) for updating R bit and C bit is issued to the KEY control unit that manages the KEY data. Hereinafter, the CPU or the core included in the CPU is also referred to as a processor or an arithmetic processing unit. However, the arithmetic processing unit may have a plurality of CPUs, and each CPU may have a plurality of cores. Hereinafter, the KEY data is referred to as management data.
実際に記憶領域にストアされたデータと、データがストアされた記憶領域の管理データには、整合性が保たれていることが求められる。ストア対象のデータを別のプロセッサが参照したとき、書き込み後の最新データに伴って発行された管理データの更新要求が処理されていることが、例えば、システム管理上要求される。なお、演算処理装置において、管理データ(KEYデータ)を参照する参照命令としては、ISK(Insert Storage Key)命令が例示される。例えば、ISK命令は、オペランドで指定されたレジスタに対して、指定された主記憶のアドレスに対応するKEYデータを主記憶から読み出してセットする。OS(Operating System)は、例えば、ISK命令を用いて主記憶のR bit、C bit等を読み出し、仮想記憶におけるページの入れ替え時に、どのページを先に追い出すか等の判断に使用する。OSは、例えば、頻繁に更新、参照されるページは極力追い出さないようにページを管理すればよい。 The data actually stored in the storage area and the management data of the storage area in which the data is stored are required to be consistent. When another processor refers to the data to be stored, for example, it is requested in terms of system management that a management data update request issued with the latest data after writing is being processed. In the arithmetic processing unit, an ISK (Insert Storage Key) instruction is exemplified as a reference instruction for referring to management data (KEY data). For example, the ISK instruction reads the KEY data corresponding to the address of the designated main memory from the main memory and sets it in the register designated by the operand. An OS (Operating System) reads, for example, R bits and C bits in the main memory using an ISK instruction, and uses it to determine which page is first driven when a page is replaced in the virtual memory. For example, the OS may manage pages so that pages that are frequently updated and referenced are not driven out as much as possible.
演算処理装置においては、ロード(LD)命令で新データが参照された後に発行される管理データの参照命令によって、ストア(ST)命令発行前の管理データが参照できない制御がなされている。 In the arithmetic processing unit, control is performed such that management data before issuing a store (ST) instruction cannot be referred to by a management data reference instruction issued after new data is referenced by a load (LD) instruction.
例えば、演算処理装置が、複数のプロセッサとして、CPU0とCPU1とを有する場合の主記憶へのストアとロードの処理は、以下のように例示される。
1.CPU0 ST (A) ・・・ CPU0がAというアドレスにデータをストアした。ストアに伴って、SET−RC (A)が発行される。
2.CPU1 LD (A) ・・・ CPU1がAというアドレスのデータを読み出した。
3.CPU1 ISK (A) ・・・ CPU1がAというアドレスを含む一定範囲の記憶領域に対応するKEYデータを読み出す命令を発行する。
For example, when the arithmetic processing unit has CPU 0 and
1. CPU0 ST (A)... CPU0 stores data at address A. A SET-RC (A) is issued along with the store.
2. CPU1 LD (A)... CPU1 reads data at address A.
3. CPU1 ISK (A)... CPU1 issues a command to read KEY data corresponding to a certain range of storage area including the address A.
手順2でロードしたときに、手順1でストアしたデータが参照された場合、手順3で発行したISK(管理データの参照命令)は、手順1でのSET−RC(管理データの更新要求)後のKEYデータ(管理データ)を参照する結果となるように、KEYデータの設定と参照との関係が制御されている。
When the data stored in
図1に、主記憶へのアクセスレイテンシがどのCPUからも平等なUMA(Unifo
rm Memory Access)型の大規模SMP(Symmetric multiprocessing)構成の演算処理装置の構成を例示する。図1の演算処理装置は、複数のシステムボードを有する。また、各システムボードは、複数のCPU(CPU1−LSI、CPU2−LSI、CPU3−LSI等)と、複数のSC(System Controller; SC1−LSI、SC2−LSI、SC3−LSI等)と、複数に区分された主記憶(MEM、メインストレージ)とを有する。さらに、各CPUは、例えば、複数の演算コアと、キャッシュ制御部と、外部インターフェース部とを有する。一方、各SCは、CPUポート部と、キャッシュTAG情報部と、メモリコントローラと、KEY制御部とを有する。各CPUの外部インターフェース部と、それぞれのCPUに対応するSCのCPUポート部とが接続されている。また、各システムボードのSCは、他のシステムボードのSCと、例えば、インターコネクトと呼ばれる伝送路で接続される。
FIG. 1 shows a UMA (Unifo) where the access latency to the main memory is equal from any CPU.
An example of a configuration of an arithmetic processing device having a large-scale SMP (Symmetric multiprocessing) configuration of an rm Memory Access) type is illustrated. The arithmetic processing apparatus of FIG. 1 has a plurality of system boards. Each system board includes a plurality of CPUs (CPU1-LSI, CPU2-LSI, CPU3-LSI, etc.), a plurality of SCs (System Controller; SC1-LSI, SC2-LSI, SC3-LSI, etc.), and a plurality of CPUs. It has a divided main memory (MEM, main storage). Further, each CPU has, for example, a plurality of arithmetic cores, a cache control unit, and an external interface unit. On the other hand, each SC has a CPU port unit, a cache TAG information unit, a memory controller, and a KEY control unit. The external interface unit of each CPU is connected to the CPU port unit of the SC corresponding to each CPU. In addition, the SC of each system board is connected to the SCs of other system boards through, for example, a transmission line called an interconnect.
主記憶(図中MEM)に対するアクセス命令は演算コアから発行される。アクセス命令の対象データが演算コア内に配置されたL1キャッシュでヒットしなかった場合には、アクセス命令がL2キャッシュへのアクセスとなって転送される。さらに、アクセス命令の対象データがL2キャッシュでヒットしなかった場合、CPUの外に別チップで存在するSCへと要求が伝達される。 An access instruction to the main memory (MEM in the figure) is issued from the arithmetic core. When the target data of the access instruction does not hit in the L1 cache arranged in the arithmetic core, the access instruction is transferred as an access to the L2 cache. Further, when the target data of the access instruction does not hit in the L2 cache, the request is transmitted to the SC existing in another chip outside the CPU.
外部インターフェース部は、演算コアからSCへの要求を送り出す。要求は外部インターフェース部経由でSCへと伝えられる。SCは、キャッシュTAG情報と呼ばれる情報を保持している。キャッシュTAG情報は、アクセス対象のデータがどのSCの管理下にあるかを示す情報を含む。SCは、例えば、ローカルパイプラインと呼ばれるパイプライン処理によってキャッシュTAG情報を参照する。さらに、SCは、他のシステムボードに実装される別のSCと通信を行いながら、最終的に要求されたデータを格納するメモリを管理するメモリコントローラやKEY制御部へ要求を伝達する。SCは、キャッシュTAG情報の示すアドレスを管理するメモリコントローラにアクセス命令を送る。メモリコントローラへのアクセス要求、あるいは他のSCとの通信は、グローバルパイプラインと呼ばれるパイプライン処理によって行われる。各SCのグローバルパイプラインは、互いに同期して実行される。 The external interface unit sends a request from the computation core to the SC. The request is transmitted to the SC via the external interface unit. The SC holds information called cache TAG information. The cache TAG information includes information indicating which SC is under management of data to be accessed. The SC refers to the cache TAG information by pipeline processing called local pipeline, for example. Further, the SC communicates a request to a memory controller or a KEY control unit that manages a memory that stores the finally requested data while communicating with another SC mounted on another system board. The SC sends an access command to the memory controller that manages the address indicated by the cache TAG information. An access request to the memory controller or communication with another SC is performed by pipeline processing called a global pipeline. The global pipeline of each SC is executed in synchronization with each other.
なお、メモリコントローラはメインストレージとのデータのやり取りを行うユニットであり、KEY制御部はKEYデータを管理するユニットである。KEYデータに関係する要求においてはSCの内部は後続の要求が追い越すことはなく一旦受け付けられた要求は全てのSCで同期して動作することで到着順に処理される。
ところで、上述のように要求がSCに入ってからは、KEYデータに関係する要求の実行順序が保証される。一方、要求の発行元であるCPU側でもKEYデータに関係する要求の実行順序を保証する仕組みが求められる。ところで、CPUの外部インターフェース部では要求種別ごとにキューが分かれている。つまり、CPUの外部インターフェース部は、要求された順序とは無関係にSCに対して、要求種別間で平等に要求を発行する。
The memory controller is a unit that exchanges data with the main storage, and the KEY control unit is a unit that manages KEY data. In the request related to the KEY data, the subsequent request is not overtaken in the SC, and the received request is processed in the order of arrival by operating synchronously in all the SCs.
By the way, after the request enters the SC as described above, the execution order of the request related to the KEY data is guaranteed. On the other hand, a mechanism for guaranteeing the execution order of requests related to the KEY data is also required on the CPU side which is a request issuer. By the way, in the external interface unit of the CPU, a queue is divided for each request type. In other words, the external interface unit of the CPU issues requests equally between the request types to the SC regardless of the requested order.
図2に、演算処理装置内での要求の流れを例示する。図2において、CPUの外部インターフェース部の中にある2つの四角が要求種別毎に存在するキューを例示している。図2では先に説明したストア命令(ST)がCPU0で発行された後に、CPU1からロード命令(LD)が発行された場合を例示している。図2のS1ではCPU0の演算コアがストア命令(ST)を実行し、それに伴い管理データ(KEY)のRC bit更新要求であるSET−RC要求が発行される。SET−RC要求は外部インターフェース部内のキューへセットされる。しかしこのSET−RC要求は外部インターフェース部内のSET−RCキューの混み具合によっては直ちにSCへ発行されるとは限らない。その間に別のCPUであるCPU1が、CPU0によってストア(ST)されたアドレスに対してロード(LD)命令の要求(LD要求)を発行したとする(S2)。LD要求はSCを経由
して(S3)、実際にデータを保持しているCPU0へとデータの読み出し要求(吐き出し要求ともいう)が発行される(S4)。吐き出し要求を受けたCPU0の演算コアによって読み出されたデータは外部インターフェース部を経由してSCへと応答される。このときストア(ST)されて更新されたデータの読み出しがSET−RCを追い抜いてしまうと、管理データ(KEY)が更新されていない状態でデータの更新が他のCPUへ伝わってしまう。そのため、外部インターフェース部内のキュー取り出し部は、管理データ(KEY)の設定要求(SET−RC)がキュー内からなくなるまで読み出し要求に対するデータの応答をSCへは発行しない。
FIG. 2 illustrates a request flow in the arithmetic processing unit. FIG. 2 illustrates a queue in which two squares in the external interface unit of the CPU exist for each request type. FIG. 2 illustrates a case where the load instruction (LD) is issued from the
上述のように、従来技術では、UMA型のSMP構成の演算処理装置において、要求がSC等のCPU外の制御部に入ってから、その制御部が他の制御部と連携することで後続の要求が先行する要求を追い抜かないようになっている。一方、要求がSC等の制御部に入る前の順序保証は、CPU側で追い越しが起こらない制御によってなされていた。しかしながら、図2のようにどのCPUからもメモリが等距離にあるような構造(UMA)である場合、主記憶へのアクセスに制御部(SC)間の連携通信が入るため、レイテンシが問題となる。つまり、CPUの半導体集積度の向上に伴い、このような主記憶のレイテンシの問題や部品点数の削減などの観点から次のような課題が生じる。すなわち、例えば、CPU外で管理データ(KEY)を制御する制御部(SC)をなくするとともに、複数CPU間で主記憶の領域ごとにアクセス時間が均一とは限らないNUMA(Non-Uniform Memory Access、ヌマ)型構造を取り入れることが望まれている。しかしながら、複数のコ
ア間、あるいは複数のプロセッサ間で管理データの順序を制御する制御部(SC)をなくそうとすると、管理データ(KEY)特有の順序保証、例えば、主記憶へのアクセスに対応する管理データの設定前に、当該管理データを読み出さないようにするような制御をどのように実現するか、という課題が生じる。
As described above, according to the conventional technology, in a UMA-type arithmetic processing unit having an SMP configuration, after a request enters a control unit outside the CPU, such as an SC, the control unit cooperates with another control unit, and the subsequent control unit. The request does not overtake the preceding request. On the other hand, the order guarantee before the request enters the control unit such as the SC is made by the control that does not cause overtaking on the CPU side. However, in the case of a structure (UMA) in which the memory is equidistant from any CPU as shown in FIG. 2, the cooperative communication between the control units (SC) enters the access to the main memory, so that the latency is a problem. Become. In other words, with the improvement of the semiconductor integration degree of the CPU, the following problems arise from the viewpoint of such a problem of main memory latency and a reduction in the number of parts. That is, for example, the control unit (SC) that controls the management data (KEY) outside the CPU is eliminated, and the access time is not necessarily uniform for each area of the main memory among a plurality of CPUs. ), It is desirable to adopt a type structure. However, if an attempt is made to eliminate the control unit (SC) that controls the order of management data between a plurality of cores or between a plurality of processors, the order guarantee unique to the management data (KEY), for example, access to the main memory is supported. Before setting the management data to be performed, there arises a problem of how to realize control that prevents the management data from being read.
開示の技術の一側面は、自装置に対応する主記憶装置をそれぞれ管理するともに、他の演算処理装置が管理する他の主記憶装置に前記他の演算処理装置を通じてアクセス可能な演算処理装置によって例示される。本演算処理装置は、前記自装置に対応する主記憶装置と前記他の主記憶装置のそれぞれの記憶領域ごとに、前記記憶領域がアクセスされたときに設定される管理データの設定または読み出しを行う管理データ制御部と、前記自装置に対応する主記憶装置又は前記他の主記憶装置のいずれかの記憶領域にアクセスされた場合、アクセスされた前記記憶領域に対応する管理データの読み出しよりも管理データの設定を優先して実行させる要求処理部と、を備える。 One aspect of the disclosed technology is that each of the main storage devices corresponding to its own device is managed by an arithmetic processing device that can access another main storage device managed by the other arithmetic processing device through the other arithmetic processing device. Illustrated. The arithmetic processing unit sets or reads management data set when the storage area is accessed for each storage area of the main storage device corresponding to the own device and the other main storage device. When the management data control unit and the storage area of the main storage device corresponding to the own device or the other main storage device are accessed, management is performed rather than reading of the management data corresponding to the accessed storage area. A request processing unit that prioritizes data setting.
本演算処理装置によれば、複数の演算処理装置間で、管理データの順序保証、例えば、主記憶へのアクセスに対応する管理データの設定前に、当該管理データを読み出さないようにするような制御が可能となる。 According to this arithmetic processing unit, the management data is not read before setting the management data corresponding to the guarantee of the order of the management data, for example, access to the main memory, between the plurality of arithmetic processing units. Control becomes possible.
以下、図面を参照して、一実施形態に係る演算処理装置について説明する。以下の実施形態の構成は例示であり、本演算処理装置は実施形態の構成には限定されない。以下の実施例1、2では、メモリコントローラやKEY制御部などの機能をCPUに内蔵し、メモリをCPU直結にすることでメモリレイテンシを削減しNUMA(Non−Uniform Memory Access)構成が実現される。ただし、NUMA構成ではSCが存在しない。このため、図2に例示した仕組みでは、KEYデータ(管理データに相当)への要求の順序保証を行うことができない。そこで、以下の実施例1、2では、KEYデータへの要求の順序制御を行う新たな回路が提案される。 Hereinafter, an arithmetic processing apparatus according to an embodiment will be described with reference to the drawings. The configuration of the following embodiment is an exemplification, and the arithmetic processing apparatus is not limited to the configuration of the embodiment. In the following first and second embodiments, functions such as a memory controller and a KEY control unit are built in the CPU, and the memory is reduced by connecting the memory directly to the CPU, thereby realizing a NUMA (Non-Uniform Memory Access) configuration. . However, there is no SC in the NUMA configuration. For this reason, the mechanism illustrated in FIG. 2 cannot guarantee the order of requests to KEY data (corresponding to management data). Therefore, in the following first and second embodiments, a new circuit for performing the order control of requests for KEY data is proposed.
[実施例1]
図3から図7を参照して、実施例1に係る演算処理装置を説明する。図3に、実施例1に係るNUMA型の演算処理装置10の構成を例示する。演算処理装置10は、複数のCPU0, CPU1等と、CPU0およびCPU1等からアクセスされる主記憶(MEM)2を有する。ただし、図3では、CPU0の管理化にある主記憶2の部分を主記憶2Aといい、CPU1の管理化にある主記憶の部分を主記憶2Bという。主記憶2A、2Bを総称する場合には、主記憶2ということにする。主記憶2A、2Bが主記憶装置の一例である。ここで、主記憶2A(2B)がCPU0(CPU1)の管理化にあるとは、例えば、CPU0(CPU1)が、主記憶2A(2B)へのデータ書き込み、および読み出しを行うとともに、主記憶2A(2B)の状態を管理していることをいう。また、主記憶2A(2B)の状態としては、主記憶2A(2B)のデータがCPU0(CPU1)以外の他のCPUにCPU0(CPU1)を介して引き渡されて、読み出し中であるような状態が例示される。CPU0(CPU1)は、自身が管理する主記憶2A(2B)にアクセスするとともに、相手のCPU1(CPU0)を介して、相手のCPU1(CPU0)が管理する主記憶2B(2A)にアクセスする。したがって、演算処理装置10は、CPU0,CPU1等から主記憶2A、2Bへのアクセス時間が非均等なシステムであるNUMA型のシステムであるということができる。なお、CPU0、CPU1は、演算処理部の一例である。ただし、CPU0、CPU1は、演算処理装置の一例ということもできる。
[Example 1]
The arithmetic processing apparatus according to the first embodiment will be described with reference to FIGS. FIG. 3 illustrates the configuration of the NUMA type
<CPUの構成>
演算処理装置10内の各CPU、例えば、CPU0とCPU1とは、インターコネクトと呼ばれる伝送路3により接続されている。
<Configuration of CPU>
Each CPU in the
さらに、例えば、CPU0は、演算コア11A、メモリコントローラ12A、キャッシュ制御部13A、KEY制御部14A、およびKEYリクエスト処理部15Aを有している。なお、他のCPU、例えば、CPU1も、CPU0と同様に、演算コア11B、メモリコントローラ12B、キャッシュ制御部13B、KEY制御部14B、およびKEYリクエスト処理部15Bを有している。以下、CPU0を例にして、各CPUの構成および作用を例示する。なお、総称する場合には、CPU0、CPU1をCPUと呼び、演算コア11A、11Bを演算コア11と呼び、メモリコントローラ12A、12Bをメモリコントローラ12と呼ぶことにする。同様に、総称する場合には、キャッシュ制御部13A
、13Bをキャッシュ制御部13と呼び、KEY制御部14A、14BをKEY制御部14と呼び、KEYリクエスト処理部15A、15BをKEYリクエスト処理部15と呼ぶことにする。
Further, for example, the CPU 0 includes an
, 13B are called the cache control unit 13, the
演算コア11Aは、主記憶2Aに実行可能に展開されたコンピュータプログラムの命令を実行することにより、メモリコントローラ12Aを介して、CPU0が管理する主記憶2AあるいはCPU1等が管理する主記憶2B等に格納されたデータを処理する。なお、演算コア11Aは、CPU1等が管理する主記憶2B等に格納されたデータを処理する場合には、適切なタイミングで伝送路3を介して、CPU1から処理対象のデータを取得し、適切なタイミングで、CPU1へ処理後のデータを引き渡す。
The
メモリコントローラ12Aは、主記憶2Aのデータを管理する。例えば、メモリコントローラ12Aは、CPU0の要求に応じて、主記憶2Aのデータを取得し、CPU0に引き渡す。
The
キャッシュ制御部13Aは、図示しないキャッシュメモリへのデータの格納、読み出し等を実行する。また、キャッシュ制御部13Aは、キャッシュTAG情報を保持し、演算コア11Aから要求されたデータの管理先を判定する。例えば、要求されたデータがCPU1で管理されている場合には、キャッシュ制御部13Aは、CPU1のキャッシュ制御部13Bを介して、CPU1が管理する主記憶2Bのデータを取得する。また、キャッシュ制御部13Aは、CPU1のキャッシュ制御部13Bの要求に応じて、CPU0が管理する主記憶2Aに格納されたデータをキャッシュ制御部13Bに引き渡す。さらに、キャッシュ制御部13Aは、適切なタイミングでキャッシュ制御部13Bを介して、CPU1で処理されたデータを受け取り、CPU0が管理する主記憶2Aに格納する。CPU1のキャッシュ制御部13Bの制御もキャッシュ制御部13Aの制御と同様である。また、CPUの数が3以上の場合も、キャッシュ制御部13の制御は、キャッシュ制御部13Aと同様である。
The
KEY制御部14Aは、CPU0の演算コア11A、キャッシュ制御部13A、あるいは他のCPUからのリクエストにしたがって、主記憶2AへのKEYデータの設定、および主記憶2AからのKEYデータの読み出しを実行する。なお、KEYデータ等の管理データが主記憶に書き込まれる場合には、管理データを書き込むための書き込み要求が実際に完了したことを示す応答が返されない突き放し型と呼ばれる書き込み命令(posted write命令ともいう)が用いられる。KEY制御部14A、14Bが管理データ制御部の一例である。
The
<KEYリクエスト処理部の構成>
本実施例1では、各CPUチップは、KEYリクエスト処理部というモジュールを有する。図4に、CPU0のKEYリクエスト処理部15Aの構成を例示する。KEYリクエスト処理部15Aは、KEYデータの設定または読み出し等の要求(以下、リクエストという)を受け付けるポート部151と、どのリクエストを受理するかを決定するプライオリティ部152と、選ばれたリクエストをKEY制御部14Aへと発行するための出力部である出力バッファ153を有する。
<Configuration of KEY request processing unit>
In the first embodiment, each CPU chip has a module called a KEY request processing unit. FIG. 4 illustrates the configuration of the KEY
ポート部151と出力バッファ153はFIFO(First In First Out)によってリクエストを保持する。したがって、ポート部151と出力バッファ153においては、後続リクエストによる先行リクエストの追い越しは起こらない。ところで、リクエストには、自チップ内のコアから発生するローカルリクエストと他チップのコアが発行するリモートリクエストが存在する。これらのリクエストはCPUチップ間接続インターフェースおよび図3の伝送路3によってCPU間でやり取りされる。さらに、リク
エストは2つのグループに分類される。2つの分類は、MO系リクエスト(Move−Out:KEY書き込み系要求)とMI系リクエスト(Move−In:KEY参照系要求)と呼ばれる。MO系リクエストが、設定要求の一例である。また、MI系リクエストが読み出し要求の一例である。
The
したがって、ポート部151は、MO系のリクエストを記憶するローカルMO用のポート(LMOPT)及リモートMO用のポート(RMOPT)と、MI系のリクエストを記憶するローカルMI用のポート(LMIPT)およびリモートMI用のポート(RMIPT)とを有する。なお、ローカルMO用のポート(LMOPT)とローカルMI用のポート(LMIPT)とは、自装置、つまりCPU0の演算コア11Aあるいはキャッシュ制御部13Aで発生したリクエストを記憶する。一方、リモートMO用のポート(RMOPT)とリモートMI用のポート(RMIPT)とは、CPU0以外の他のCPU(CPU1等)で発生したリクエストを記憶する。MO系のリクエストを記憶するローカルMO用のポート(LMOPT)及リモートMO用のポート(RMOPT)が、第1の先入れ先出し記憶部の一例である。また、MI系のリクエストを記憶するローカルMI用のポート(LMIPT)およびリモートMI用のポート(RMIPT)が、第2の先入れ先出し記憶部の一例である。
Therefore, the
図4において、プライオリティ部152は2段の制御回路を有する。プライオリティ部152の第1段階の制御回路1521、1522は、MO系グループとMI系グループに分けてリクエストを受ける。例えば、制御回路1521には、ローカルのMOとリモートのMOが入力される。また、制御回路1522には、ローカルのMIとリモートのMIが入力される。制御回路1521、1522のそれぞれが、各グループ内で優先されるポートを、例えば、LRU(Least Recently Used)の手順で決定する。つまり、制御回路1521、1522は、リクエストを保持しているポートの中で最も長い間選択されていなかったポートが選択されるような論理で動作する。制御回路1521、1522は、LRUによりポート間で偏り無くKEY制御部にリクエストを発行することを可能にしている。ただし、実施例1を含むいずれの実施形態においても、第1段階の制御回路のポート決定手順がLRUに限定される訳ではない。
In FIG. 4, the
次に、第2段階の制御回路1523において、MO系とMI系のプライオリティ選択が行われる。第2段階の制御回路1523は、MO系がMI系より優先されて選択されるように制御する。以上のようなプライオリティ部152の構成により、KEYデータの更新系要求(MO系リクエスト)とKEYの参照系要求(MI系リクエスト)との間の順序が保証されている。第1段階の制御回路1521、1522は、例えば、論理ゲートと、LRUのための処理の履歴を管理するカウンタ、フラグ等で実現される。また、第2段階の制御回路1523は、論理ゲート等で実現される。KEYリクエスト処理部15が要求処理部の一例である。
Next, the second-
<比較例のシーケンス>
図5、図6に比較例に係る演算処理装置の制御シーケンスチャートを例示する。図5はCPU0が行ったストア(ST)命令の操作により発行されたSET−RC命令がCPU0の外部インターフェース部内の送信バッファ部に残っている状態でCPU1からアドレス(A)に対してデータのロード(LD)命令が発行された場合の動作を例示している。図のように要求されたデータの応答はCPU0内の外部インターフェース部で止められ、SET−RC(A)が処理されSCへ発行されるまでロード(LD)命令が先に処理されることはない。
<Sequence of Comparative Example>
5 and 6 illustrate control sequence charts of the arithmetic processing device according to the comparative example. FIG. 5 shows that the
図6は図5の状態の続きでSET−RC(A)が処理された後のシーケンスを例示している。CPU0の外部インターフェース部でロード(LD)命令の応答をSCへ返すこと
ができ、要求データは要求元であるCPU1へと応答される。応答データの到着を期にCPU1上でLD(A)命令を発行したプログラムの後続命令であるISK(A)命令が発行される。ISK(A)命令はメインストレージ上にあるKEYデータを読み出してCPUのレジスタにセットする動作を行う。比較例のシーケンスでは、ISK(A)命令が発行されるとき、既にSET−RC(A)は処理された後なので、KEYデータが突き放し型の書き込み命令(posted write命令)で設定される場合でも、KEYデータの順序を保証した動作が可能となる。
FIG. 6 illustrates a sequence after SET-RC (A) is processed following the state of FIG. A response of a load (LD) command can be returned to the SC in the external interface unit of the CPU 0, and the request data is returned to the
<実施例1のシーケンス>
図7に実施例1の方式を適用したシーケンスチャートを例示する。上記比較例での処理と同様に、CPU0がストア(ST)命令を実行することによってSET−RC(A)命令がKEYリクエスト処理部15へ送られる。このとき、SET−RC(A)命令の処理を担当するKEYリクエスト処理部15はCPU0側にあってもよいし、CPU1側にあってもよい。例えば、自CPUが管理する主記憶の部分に含まれないアドレスへのKEYリクエスト処理部へはチップ間インターコネクトを使って、SET−RC(A)命令のアドレス(A)を管理するCPUにリクエストが送出される。なお、主記憶の部分、例えば、主記憶2Aを管理するCPUと、主記憶2AのKEYを管理するCPUが一致しなくてもよい。例えば、CPU0が主記憶2Aを管理し、CPU1が主記憶2AのKEYデータを管理してもよい。
<Sequence of Example 1>
FIG. 7 illustrates a sequence chart to which the method of the first embodiment is applied. Similar to the process in the comparative example, the CPU 0 executes the store (ST) instruction, so that the SET-RC (A) instruction is sent to the KEY request processing unit 15. At this time, the KEY request processing unit 15 responsible for processing the SET-RC (A) instruction may be on the CPU0 side or on the CPU1 side. For example, a request is sent to the CPU that manages the address (A) of the SET-RC (A) instruction using the inter-chip interconnect to the KEY request processing unit for addresses not included in the main memory portion managed by the CPU. Sent out. Note that the main memory portion, for example, the CPU that manages the
図7では(A)というアドレスを担当しているのがCPU0のKEYリクエスト処理部15Aだった場合を表している。この時点では、リクエストは、KEYリクエスト処理部15Aのポート部151にセットされているが、実際のSET−RCの操作は実行されていない。ここでは仮に他のKEYリクエスト処理が集中してこのSET−RC(A)がポート部151内に滞留しているものと仮定する。このとき、CPU1側からロード(LD(A))命令が発行されると、図7の処理は図5、6の処理とは異なり、CPU0は、SET−RC(A)の処理を待たずに、ロード(LD(A))命令の応答を要求元のCPU1に返すことができる。CPU1上でロード(LD(A))命令を発行したプログラムはロード(LD(A))命令の応答を受け取ったのを期にISK(A)命令を発行する。ISK(A)命令はアドレス(A)を担当するCPU0のKEYリクエスト処理部15Aへチップ間インターコネクトである伝送路3を経由して通知される。
FIG. 7 shows a case where the key
したがって、図7の例では、KEYリクエスト処理部15AにはSET−RC(A)とISK(A)がポートに同時に存在することになる。しかし、実施例1の優先順序を制御するプライオリティ部152の制御回路1521、1522、および1523によりMI系リクエストがMO系リクエストを追い抜くことはできない。このため、図7の例では、SET−RC(A)が先に処理される。M0系リクエストに対応するSET−RC(A)命令の処理順序はKEYリクエスト処理部15Aのポート部151にセットされた時点でMI系リクエストより先に処理されることが確定する。このため、SET−RC(A)命令を発行したCPU0はKEYリクエスト処理部15Aのポート部151にセットした時点で、SET−RC(A)命令の処理完了を待つことなく、後続の処理、例えば、CPU1からのロード(LD(A))命令に対応する応答をCPU1に返す処理を続けることができる。プライオリティ部152は、選択回路の一例である。
Therefore, in the example of FIG. 7, SET-RC (A) and ISK (A) exist simultaneously in the port in the KEY
<実施例1の効果>
実施例1のリクエスト処理部15によれば、KEYリクエスト処理部15のポート部15にリクエストがセットされた時点で、処理順序を守って、リクエストが処理されることが保証できる。したがって、例えば、CPUは、KEYデータを突き放し型の書き込み命令(posted write命令)で設定する場合でも、リクエストをポート部151にセットした時点で、リクエストの処理完了とみなして次のリクエストの発行、処理の続行等が可能と
なる。
<Effect of Example 1>
According to the request processing unit 15 of the first embodiment, when a request is set in the port unit 15 of the KEY request processing unit 15, it can be guaranteed that the request is processed in accordance with the processing order. Therefore, for example, even when the CPU sets the KEY data with a write-type write command (posted write command), when the request is set in the
また、図3に例示したように、実施例1の演算処理装置10は、SCの機能をCPUに内蔵し、CPU外部のSCを無くした。このため、LSI間通信が減りレイテンシが削減される。また部品点数が削減される。
Further, as illustrated in FIG. 3, the
比較例の方式ではCPU0でストア(ST)された後のデータをCPU1がロード(LD)したものをCPU外部インターフェース部で順序を保証していたが、実施例1の方式では後続のKEYデータの参照要求はKEYデータ書き込み要求の後に処理されることが保証される。このため、例えば、図7に例示したように、実施例1のCPUは、少なくとも自身が管理する主記憶の部分のデータの読み出し要求に対しては、読み出し要求対象のデータに対応するKEYデータの書き込みと無関係に、読み出し要求対象のデータを応答可能である。
In the method of the comparative example, the order after the data stored by the CPU 0 (ST) is loaded (LD) by the
[実施例2]
図8を参照して、実施例2にかかる演算処理装置のKEYリクエスト処理部15Cを説明する。上記実施例1では、ポート部151に入力されたリクエストをプライオリティ部152により、MI系リクエストよりM0系リクエストを優先して処理するKEYリクエスト処理部15について説明した。実施例1のポート部151は、図4のように、ローカルMO用のポート、リモートのMO用のポート、ローカルのMI用のポート、およびリモートMI用のポートを有している。実施例2では、実施例1よりもさらに複雑なポート部を有するKEYリクエスト処理部を例示する。実施例2の演算処理装置の他の構成は、実施例1の演算処理装置10と同様である。そこで、同一の構成要素については、同一の符号を付してその説明を省略する。
[Example 2]
With reference to FIG. 8, a KEY
図8は、実施例2に係るキーリクエスト処理部15Cの構成を例示する。実施例2のリクエスト処理部15Cも、実施例1の場合と同様、ポート部151C、プライオリティ部152C、出力バッファ153C、153Dを有する。
FIG. 8 illustrates the configuration of the key
図8のように、実施例2のキーリクエスト処理部15Cでは、実施例1のキーリクエスト処理部15と比較して、ポート部151Cの構成が複雑となっている。すなわち、ポート部151Cは、ローカルのMO/MI用のポート(LMOPT、LMIPT)、リモートのMO/MI用のポート(RMOPT、RMIPT)に加えて、LKRPTが4つ追加されている(LKRPT00、LKRPT01、LKRPT10、LKRPT11)。実施例1で説明したように、LMOPT、LMIPT、RMOPT、RMIPTには、それぞれ、ローカルのCPUのコアから発行されるMO系リクエスト、MI系リクエスト、リモートのCPUのコアから発行されるMO系リクエスト、MI系リクエストが入力される。
As shown in FIG. 8, in the key
また、図8では、L2キャッシュは、4つにアドレスインターリーブされ、SX00、SX01、SX10、SX11で例示され、KEYリクエスト処理部15Cに接続されている。上記4つのポートLKRPT00、LKRPT01、LKRPT10、LKRPT11には、L2キャッシュから発行されるメモリアクセスに付随するKEYアクセスの要求が入力される。すなわち、CPUからの主記憶へのアクセス要求は、インターリーブされたL2キャッシュを通じて、各ポートにセットされる(LKRPT00/01/10/11)。ローカルのMO用のポート(LMOPT)、リモートのMOの用ポート(RMOPT)が第1の先入れ先出し記憶部の一例である。また、ローカルのMI用のポート(LMIPT)、リモートのMI用のポート(RMIPT)、および4つのポートLKRPTが、第2の先入れ先出し記憶部の一例である。また、キーリクエスト処理部15Cが、要求処理部の一例である。
In FIG. 8, the L2 cache is interleaved into four addresses, exemplified by SX00, SX01, SX10, and SX11, and connected to the KEY
図8では、さらに、リモートのLSI(Large Scale Integrated circuit)のルータ(RT)がKEYリクエスト処理部15Cに接続されている。MO系KEYリクエストは、RT(ルータ)受信部となるRMOPTにおいて、後続のパケットに追い越されないことが保証される。RMOPTにおいて、パケットの追い越しが発生しないことが、データとKEYの順序性保証のための要件となる。そのため、送信側LSIのルータ(RT)から受信側LSIのRMOPTに受信されるパケットがRMOPTのビジーによりRT内で待たされることがない制御が求められる。
In FIG. 8, a router (RT) of a remote LSI (Large Scale Integrated circuit) is further connected to the KEY
そこで、例えば、RMOPTは到着する全てのリクエストを受けきるように制御される。到着する全てのリクエストを受けきるようにするために、送信側のリクエスト発行部(例えば、L2キャッシュ制御部)はリクエスト送出からCPLT(Complete、完了応答)受信までクレジット管理を行う。一方、受信側のキーリクエスト処理部15Cは、クレジット数と同じ数だけのエントリ数のRMOPTを持つようにすればよい。
Therefore, for example, RMOT is controlled to receive all incoming requests. In order to receive all incoming requests, a request issuing unit (for example, L2 cache control unit) on the transmission side performs credit management from request transmission to CPLT (Complete response) reception. On the other hand, the key
実施例2のプライオリティ部152Cは、実施例1と同様に、3つの制御回路1521C、1522C、1523Cを有する。制御回路1521Cには、ポート部151Cのうち、MO系のリクエストを保持するポートLMOPT、RMOPTが接続される。また、制御回路1522Cには、LMOPT、RMOPT以外のポートが接続される。そして、実施例1と同様、制御回路1521C、1522C内では、それぞれ、たとえば、LRUにしたがってリクエストが処理される。そして、制御回路1523Cは、制御回路1522Cからのリクエスト(MI系リクエストおよびL2キャッシュからのリクエスト)よりも、制御回路1521CからのMO系のリクエストを優先して、出力バッファ153C、153Dに出力する。プライオリティ部152Cは、選択回路の一例である。
Similar to the first embodiment, the
出力バッファ153C、153Dは、アドレスインターリーブされた主記憶に対応している。出力バッファ153C、153Dは、受けたリクエストをそれぞれアドレスインターリーブされた主記憶に対応するKEY制御部KX0、KX1に発行する。図中KX0/KX1とはKEY制御部であり、内部に最近使用したKEYデータを保持できるキャッシュを備えてもよい。KX0/KX1は、例えば、メモリコントローラ(MAC)に接続されており、MAC経由で図示しない主記憶へと要求を発行する。 The output buffers 153C and 153D correspond to the address-interleaved main memory. The output buffers 153C and 153D issue the received requests to the KEY control units KX0 and KX1 corresponding to the address-interleaved main memory, respectively. In the figure, KX0 / KX1 is a KEY control unit, and may have a cache capable of holding recently used KEY data. KX0 / KX1 is connected to a memory controller (MAC), for example, and issues a request to a main memory (not shown) via the MAC.
以上述べたように、図8に示したキーリクエスト処理部15Cは、MO系のリクエストを他のKEYデータへのリクエストよりも優先して処理する。そのため、実施例2のKRYリクエスト処理部15Cを有する演算処理装置のCPUは、ポート部151Cにリクエストをセットした時点で、リクエストの処理完了とみなして次のリクエストの発行、あるいは処理の続行等が可能となる。演算処理装置のCPUは、例えば、KEYデータを突き放し型の書き込み命令(posted write命令)で設定する場合でも、ポート部151Cにリクエストをセットした時点で、リクエストの処理完了とみなして次のリクエストの発行、あるいは処理の続行等が可能となる。
As described above, the key
CPU0、CPU1 CPU
2A、2B 主記憶
3 伝送路
11A、11B 演算コア
12A、12B メモリコントローラ
13A、13B キャッシュ制御部
14A、14B KEY制御部
15A、15B KEYリクエスト処理部
151、151C ポート部
152、152C プライオリティ部
153、153C 出力バッファ
CPU0, CPU1 CPU
2A, 2B Main memory 3
Claims (7)
前記自装置に対応する主記憶装置および前記他の主記憶装置のいずれかに記憶されるデータの書き込みまたは読み出しを実行する制御部と、
前記自装置の制御部または前記他の演算処理装置の制御部が前記自装置に対応する主記憶装置の記憶領域に記憶データの書き込みを行ったときに前記記憶領域ごとに、少なくとも前記記憶領域への書込の頻度を管理する管理データの設定を前記自装置に対応する主記憶装置に行うとともに、管理データの読み出し要求に応じて前記設定された管理データの読み出しを行う管理データ制御部と、
前記自装置の制御部または前記他の演算処理装置の制御部が前記自装置に対応する主記憶装置の記憶領域に記憶データの書き込みおよび記憶された記憶データの読み出しを行ったときに、前記書込および読み出しがなされた前記記憶領域に対応する前記管理データの設定および前記管理データの読み出しのうち、前記管理データの読み出しよりも前記管理データの設定を優先して前記管理データ制御部に実行させる要求処理部と、を備える演算処理装置。 In the arithmetic processing device that manages the main storage device corresponding to its own device and can access the other main storage device managed by the other arithmetic processing device through the other arithmetic processing device,
A control unit that executes writing or reading of data stored in either the main storage device corresponding to the own device or the other main storage device;
Wherein for each of the storage area when the control unit of the control unit or the other processing unit has been written storage data in a storage area of the main storage equipment corresponding to the own apparatus of its own apparatus, at least the storage area A management data control unit configured to set management data for managing the frequency of writing to the main storage device corresponding to the own device and to read the set management data in response to a management data read request ; ,
Wherein when the control unit of the control unit or the other processing unit has performed a reading of the writing and the stored data stored in the storage data in a storage area of the main storage equipment corresponding to the own apparatus of its own apparatus, wherein of the read setting and the management data of the management data corresponding to the storage area write and read are such, in the management data controller in preference settings of the management data than the read of the management data And a request processing unit to be executed.
前記管理データ制御部に前記管理データの読み出しを要求する読み出し要求を記憶する第2の先入れ先出し記憶部と、
前記第2の先入れ先出し記憶部からの読み出し要求よりも前記第1の先入れ先出し記憶部からの設定要求を優先して選択する選択回路と、を有する請求項1に記載の演算処理装置。 The request processing unit includes a first first-in first-out storage unit that stores a setting request for requesting the management data control unit to set the management data;
A second first-in first-out storage unit that stores a read request for requesting the management data control unit to read out the management data;
The arithmetic processing apparatus according to claim 1, further comprising: a selection circuit that preferentially selects a setting request from the first first-in first-out storage unit over a read request from the second first-in first-out storage unit.
他の主記憶装置に前記他の演算処理装置を通じてアクセス可能な演算処理装置の制御方法において、
前記自装置に対応する主記憶装置および前記他の主記憶装置のいずれかに記憶されるデータの書き込みまたは読み出しを実行するステップと、
前記自装置または前記他の演算処理装置が前記自装置に対応する主記憶装置の記憶領域に記憶データの書き込みを行ったときに前記記憶領域ごとに、少なくとも前記記憶領域への書込の頻度を管理する管理データの設定を前記自装置に対応する主記憶装置に行う設定ステップと、
管理データ読み出し要求に応じて前記自装置に対応する主記憶装置から前記設定された管理データの読み出しを行う読み出しステップと、
前記自装置または前記他の演算処理装置が前記自装置に対応する主記憶装置の記憶領域に記憶データの書き込みおよび記憶された記憶データの読み出しを行ったときに、前記書込および読み出しがなされた前記記憶領域に対応する前記管理データの設定および前記管理データの読み出しのうち、前記管理データの読み出しよりも前記管理データの設定を優先して実行する処理ステップと、を有する演算処理装置の制御方法。 In the control method of the arithmetic processing unit capable of managing the main storage device corresponding to the own device and accessing the other main storage device managed by the other arithmetic processing device through the other arithmetic processing device,
And executing the writing or reading of data stored in either the main memory and the other main storage device corresponding to the own device,
When the own device or the other arithmetic processing device writes storage data to the storage area of the main storage device corresponding to the own device , at least the frequency of writing to the storage area is set for each storage area. A setting step for setting management data to be managed in a main storage device corresponding to the device;
A read step of reading the set management data from a main storage device corresponding to the own device in response to a management data read request;
Wherein when the own device or the other processing unit has performed a reading of the writing and the stored data stored in the storage data in a storage area of the main memory corresponding to the own device, the writing and reading Re name of It was among the set of management data and the management data read corresponding to the storage area, the processing unit having the processing steps that run in preference settings of the management data than the read of the management data Control method.
前記設定ステップによる前記管理データの設定を要求する設定要求を第1の先入れ先出し記憶部に記憶するステップと、
前記読み出しステップによる前記管理データの読み出しを要求する読み出し要求を第2の先入れ先出し記憶部に記憶するステップと、
前記第2の先入れ先出し記憶部からの読み出し要求よりも前記第1の先入れ先出し記憶部からの設定要求を優先して選択するステップと、を有する請求項4に記載の演算処理装置の制御方法。 The processing step includes
Storing a setting request for requesting setting of the management data in the setting step in a first first-in first-out storage unit;
Storing a read request for requesting reading of the management data in the read step in a second first-in first-out storage unit;
5. The control method of the arithmetic processing unit according to claim 4, further comprising a step of selecting a setting request from the first first-in first-out storage unit in preference to a read request from the second first-in first-out storage unit.
前記自演算処理部に対応する主記憶装置および前記他の主記憶装置のいずれかに記憶されるデータの書き込みまたは読み出しを実行する制御部と、
前記自演算処理部の制御部または前記他の演算処理部の制御部が前記自演算処理部に対応する主記憶装置の記憶領域に記憶データの書き込みを行ったときに、前記記憶領域ごとに、少なくとも前記記憶領域への書込の頻度を管理する管理データの設定を前記自演算処理部に対応する主記憶装置に行うととともに、管理データの読み出し要求に応じて前記設定された管理データの読み出しを行う管理データ制御部と、
前記自演算処理部の制御部または前記他の演算処理部の制御部が前記自演算処理部に対応する主記憶装置の記憶領域に記憶データの書き込みおよび記憶された記憶データの読み出しを行ったときに、前記書込および読み出しがなされた前記記憶領域に対応する前記管理データの設定および前記管理データの読み出しのうち、前記管理データの読み出しよりも前記管理データの設定を優先して前記管理データ制御部に実行させる要求処理部と、を備える演算処理装置。 An arithmetic processing device that has a plurality of arithmetic processing units that manage the main storage devices corresponding to their own arithmetic processing units and that can access other main storage devices managed by other arithmetic processing units through the other arithmetic processing units. And each of the arithmetic processing units
A control unit that executes writing or reading of data stored in either the main storage device corresponding to the self-processing unit or the other main storage device;
When the control unit of the own calculation processing unit or the control unit of the other calculation processing unit writes the storage data to the storage area of the main storage device corresponding to the own calculation processing unit , for each storage area , Setting of management data for managing at least the frequency of writing to the storage area is performed in a main storage device corresponding to the self-processing unit, and reading of the set management data in response to a management data read request A management data control unit for performing
When the control unit of the own calculation processing unit or the control unit of the other calculation processing unit writes the storage data to the storage area of the main storage device corresponding to the own calculation processing unit and reads the stored data stored therein in the writing and reading such has been among the set of management data and the management data read corresponding to the storage area, said management data by giving priority to setting of the control data than the read of the management data An arithmetic processing device comprising: a request processing unit to be executed by the control unit .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014046912A JP6303632B2 (en) | 2014-03-10 | 2014-03-10 | Arithmetic processing device and control method of arithmetic processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014046912A JP6303632B2 (en) | 2014-03-10 | 2014-03-10 | Arithmetic processing device and control method of arithmetic processing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015170313A JP2015170313A (en) | 2015-09-28 |
JP6303632B2 true JP6303632B2 (en) | 2018-04-04 |
Family
ID=54202944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014046912A Active JP6303632B2 (en) | 2014-03-10 | 2014-03-10 | Arithmetic processing device and control method of arithmetic processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6303632B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6146508B1 (en) | 2016-03-31 | 2017-06-14 | 日本電気株式会社 | Synchronous processing unit, device, system and method |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60134361A (en) * | 1983-12-23 | 1985-07-17 | Hitachi Ltd | Key storage control system |
JP2694076B2 (en) * | 1991-11-22 | 1997-12-24 | 富士通株式会社 | Storage unit control device |
US7000080B2 (en) * | 2002-10-03 | 2006-02-14 | Hewlett-Packard Development Company, L.P. | Channel-based late race resolution mechanism for a computer system |
JP5414912B2 (en) * | 2010-11-26 | 2014-02-12 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Method, system and program for cache coherency control |
-
2014
- 2014-03-10 JP JP2014046912A patent/JP6303632B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015170313A (en) | 2015-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11809321B2 (en) | Memory management in a multiple processor system | |
JP5787629B2 (en) | Multi-processor system on chip for machine vision | |
EP3796179A1 (en) | System, apparatus and method for processing remote direct memory access operations with a device-attached memory | |
CN108027804B (en) | On-chip atomic transaction engine | |
US10169080B2 (en) | Method for work scheduling in a multi-chip system | |
US7120755B2 (en) | Transfer of cache lines on-chip between processing cores in a multi-core system | |
JP4439491B2 (en) | Multi-graphics processor system, graphics processor and data transfer method | |
US6351784B1 (en) | System for determining whether a subsequent transaction may be allowed or must be allowed or must not be allowed to bypass a preceding transaction | |
US9529532B2 (en) | Method and apparatus for memory allocation in a multi-node system | |
JP2012038293A5 (en) | ||
US20150254182A1 (en) | Multi-core network processor interconnect with multi-node connection | |
JP2018045700A (en) | Multi-core interconnect in network processor | |
US20150254207A1 (en) | Method and system for ordering i/o access in a multi-node environment | |
US20120311266A1 (en) | Multiprocessor and image processing system using the same | |
JP2006252358A (en) | Disk array device, its shared memory device, and control program and control method for disk array device | |
US6347349B1 (en) | System for determining whether a subsequent transaction may be allowed or must be allowed or must not be allowed to bypass a preceding transaction | |
JP6303632B2 (en) | Arithmetic processing device and control method of arithmetic processing device | |
JP4856413B2 (en) | Arithmetic processing apparatus, information processing apparatus, and control method for arithmetic processing apparatus | |
JP2006313479A (en) | Semiconductor integrated circuit device and data transfer method | |
US7594080B2 (en) | Temporary storage of memory line while waiting for cache eviction | |
JP2011028343A (en) | Processor and data transfer method | |
JP5058116B2 (en) | DMAC issue mechanism by streaming ID method | |
JPWO2007088582A1 (en) | Asynchronous remote procedure call method, asynchronous remote procedure call program and recording medium in shared memory multiprocessor | |
JP2002198987A (en) | Active port of transfer controller with hub and port | |
JPWO2007097036A1 (en) | Central processing unit, control method for central processing unit, information processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161102 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171114 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171128 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180129 |
|
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: 20180206 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180219 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6303632 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |