JP7408954B2 - Memory control method, memory control device, program - Google Patents

Memory control method, memory control device, program Download PDF

Info

Publication number
JP7408954B2
JP7408954B2 JP2019159545A JP2019159545A JP7408954B2 JP 7408954 B2 JP7408954 B2 JP 7408954B2 JP 2019159545 A JP2019159545 A JP 2019159545A JP 2019159545 A JP2019159545 A JP 2019159545A JP 7408954 B2 JP7408954 B2 JP 7408954B2
Authority
JP
Japan
Prior art keywords
memory
memory control
bank
address
memories
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
Application number
JP2019159545A
Other languages
Japanese (ja)
Other versions
JP2021039486A (en
Inventor
修作 内堀
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2019159545A priority Critical patent/JP7408954B2/en
Publication of JP2021039486A publication Critical patent/JP2021039486A/en
Application granted granted Critical
Publication of JP7408954B2 publication Critical patent/JP7408954B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、複数のバンクを有するメモリを制御するメモリ制御方法、メモリ制御装置、プログラムに関する。 The present invention relates to a memory control method, a memory control device, and a program for controlling a memory having a plurality of banks.

プロセッサは、外部メモリ及びキャッシュメモリからデータを転送し、かかるデータに対する演算処理を行う。このため、データの演算処理性能は、メモリ帯域の影響を受ける。特に、ベクトルプロセッサにおいては、複数の演算処理を並列して行うため、さらにメモリ帯域の影響を受けやすくなり、メモリ帯域が重要である。そこで、ベクトルプロセッサ装置では、多数のメモリチャネルを接続し、チャネル間をインタリーブすることによってメモリ帯域を上げている。また、近年では、コスト面からDDR SDRAMを使用するケースが増えている。DDR SDRAMは、メモリ帯域性能を上げるために複数のバンクから構成される。そして、特許文献1に示すように、このような複数のバンクが構成されるメモリにおいて、バンク間でインタリーブすることで、メモリ帯域を上げることも行われている。 The processor transfers data from external memory and cache memory and performs arithmetic processing on the data. Therefore, data arithmetic processing performance is affected by memory bandwidth. In particular, vector processors perform multiple arithmetic operations in parallel, so they are more susceptible to the influence of memory bandwidth, and memory bandwidth is important. Therefore, in vector processor devices, memory bandwidth is increased by connecting a large number of memory channels and interleaving the channels. Additionally, in recent years, the use of DDR SDRAM has increased due to cost considerations. DDR SDRAM consists of multiple banks to increase memory bandwidth performance. As shown in Patent Document 1, in such a memory configured with a plurality of banks, interleaving is performed between the banks to increase the memory bandwidth.

特開2002-342306号公報Japanese Patent Application Publication No. 2002-342306

ここで、DDR SDRAMをベクトルプロセッサ装置のメモリとして使用した場合について説明する。この場合、ベクトルプロセッサ装置は、複数バンクを備えた複数のメモリを備えており、当該複数のメモリに1つのメモリ制御装置を介してベクトルプロセッサが接続されることとなる。そして、例えば、図1に示すように、1つのメモリ制御装置100は、バンクアドレス生成部101とメモリアドレス生成部102とを備えており、バンクアドレス生成部101は、図2に示すように、ベクトルプロセッサからメモリアクセスが行われた際に送信された物理アドレス内のバンク番号を抽出して、バンクアドレスを生成する。 Here, a case will be described in which DDR SDRAM is used as a memory of a vector processor device. In this case, the vector processor device includes a plurality of memories each having a plurality of banks, and the vector processor is connected to the plurality of memories via one memory control device. For example, as shown in FIG. 1, one memory control device 100 includes a bank address generation section 101 and a memory address generation section 102, and the bank address generation section 101 includes, as shown in FIG. A bank address is generated by extracting the bank number from the physical address sent when the vector processor accesses the memory.

しかしながら、上述したバンクアドレス生成部101は、複数のメモリに対して共通であるため、メモリに対する複数のシーケンシャルアクセス間のバンク競合が発生し、メモリ帯域を効率的に使えないこととなる。つまり、あるメモリでバンク競合が発生すると、他のメモリでもバンク競合が発生し、複数のシーケンシャルアクセスの間、ずっとバンク競合が発生することとなり、メモリ帯域を効率的に使用できない、という問題が生じる。一方で、メモリに対する複数のシーケンシャルアクセス間のバンク競合を避けるためには、ソフトウエアによるメモリ空間確保の調整が必要となり、構成が複雑となる。 However, since the bank address generation unit 101 described above is common to a plurality of memories, bank conflicts occur between a plurality of sequential accesses to the memories, and memory bandwidth cannot be used efficiently. In other words, when bank conflict occurs in one memory, bank conflict occurs in other memories, and bank conflict occurs throughout multiple sequential accesses, creating the problem that memory bandwidth cannot be used efficiently. . On the other hand, in order to avoid bank conflicts between multiple sequential accesses to memory, it is necessary to adjust the memory space reservation by software, which makes the configuration complicated.

このため、本発明の目的は、構成が複雑となることと、メモリ帯域を効率的に利用できないこと、を解決することができるメモリ制御方法、メモリ制御装置、プログラムを提供することにある。 Therefore, an object of the present invention is to provide a memory control method, a memory control device, and a program that can solve the problems of a complicated configuration and an inability to use memory bandwidth efficiently.

本発明の一形態であるメモリ制御方法は、
複数のバンクをそれぞれ有する複数のメモリに対するアクセスを制御するメモリ制御方法であって、
指定された物理アドレスから複数の前記メモリをそれぞれアクセス先として指定する複数のメモリアドレスを生成すると共に、前記物理アドレスから複数の前記メモリ内の所定の前記バンクをそれぞれアクセス先として指定する複数のバンクアドレスを生成する際に前記メモリ毎に異なる複数の前記バンクアドレスを生成する、
という構成をとる。
A memory control method that is one form of the present invention includes:
A memory control method for controlling access to a plurality of memories each having a plurality of banks, the method comprising:
Generating a plurality of memory addresses that designate each of the plurality of memories as an access destination from a specified physical address, and a plurality of banks that designate each of the predetermined banks in the plurality of memories as an access destination from the physical address. generating a plurality of bank addresses that are different for each memory when generating addresses;
The structure is as follows.

また、本発明の一形態であるメモリ制御装置は、
複数のバンクをそれぞれ有する複数のメモリに対するアクセスを制御するメモリ制御装置であって、
指定された物理アドレスから複数の前記メモリをそれぞれアクセス先として指定する複数のメモリアドレスを生成し、前記物理アドレスから複数の前記メモリ内の所定の前記バンクをそれぞれアクセス先として指定する複数のバンクアドレスを生成する際に前記メモリ毎に異なる複数の前記バンクアドレスを生成する、
という構成をとる。
Further, a memory control device that is one form of the present invention includes:
A memory control device that controls access to a plurality of memories each having a plurality of banks, the memory control device comprising:
Generating a plurality of memory addresses specifying each of the plurality of memories as an access destination from a specified physical address, and a plurality of bank addresses specifying each of the predetermined banks in the plurality of memories as an access destination from the physical address. generating a plurality of bank addresses that are different for each memory when generating the bank address;
The structure is as follows.

また、本発明の一形態であるプログラムは、
複数のバンクをそれぞれ有する複数のメモリに対するアクセスを制御するメモリ制御装置に、
指定された物理アドレスから複数の前記メモリをそれぞれアクセス先として指定する複数のメモリアドレスを生成し、前記物理アドレスから複数の前記メモリ内の所定の前記バンクをそれぞれアクセス先として指定する複数のバンクアドレスを生成する際に前記メモリ毎に異なる複数の前記バンクアドレスを生成する処理、
を実行させる、
という構成をとる。
Further, a program that is one form of the present invention is
A memory control device that controls access to a plurality of memories each having a plurality of banks;
Generating a plurality of memory addresses specifying each of the plurality of memories as an access destination from a specified physical address, and a plurality of bank addresses specifying each of the predetermined banks in the plurality of memories as an access destination from the physical address. a process of generating a plurality of bank addresses that are different for each memory when generating a bank address;
to execute,
The structure is as follows.

また、本発明の一形態であるベクトルプロセッサ装置は、
ベクトルプロセッサと、複数のバンクをそれぞれ有する複数のメモリと、前記メモリに対するアクセスを制御するメモリ制御装置と、を備え、
前記メモリ制御装置は、前記ベクトルプロセッサにて指定された物理アドレスから複数の前記メモリをそれぞれアクセス先として指定する複数のメモリアドレスを生成すると共に、前記物理アドレスから複数の前記メモリ内の所定の前記バンクをそれぞれアクセス先として指定する複数のバンクアドレスを生成する際に前記メモリ毎に異なる複数の前記バンクアドレスを生成する、
という構成をとる。
Further, a vector processor device that is one form of the present invention includes
A vector processor, a plurality of memories each having a plurality of banks, and a memory control device that controls access to the memory,
The memory control device generates a plurality of memory addresses that designate each of the plurality of memories as an access destination from the physical address specified by the vector processor, and also generates a plurality of memory addresses that designate each of the plurality of memories as an access destination from the physical address, and generating a plurality of bank addresses that are different for each of the memories when generating a plurality of bank addresses each specifying a bank as an access destination;
The structure is as follows.

本発明は、以上のように構成されることにより、メモリ帯域を効率的に利用することができる。 By being configured as described above, the present invention can efficiently utilize memory bandwidth.

本発明の背景技術を説明するための図である。BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a diagram for explaining the background technology of the present invention. 本発明の背景技術を説明するための図である。BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a diagram for explaining the background technology of the present invention. 本発明の実施形態1におけるベクトルプロセッサ装置の構成を示す図である。1 is a diagram showing the configuration of a vector processor device in Embodiment 1 of the present invention. 図3に開示したメモリ制御部の構成を示す機能ブロック図である。4 is a functional block diagram showing the configuration of the memory control unit disclosed in FIG. 3. FIG. 図3に開示したメモリ制御部によるアドレスの算出方法の一例を示す図である。4 is a diagram illustrating an example of an address calculation method by the memory control unit disclosed in FIG. 3. FIG. 図3に開示したメモリ制御部によるアドレスの算出方法の一例を示す図である。4 is a diagram illustrating an example of an address calculation method by the memory control unit disclosed in FIG. 3. FIG. 図3に開示したメモリ制御部によるアドレスの算出方法の一例を示す図である。4 is a diagram illustrating an example of an address calculation method by the memory control unit disclosed in FIG. 3. FIG. 図3に開示したメモリ制御部によるアドレスの算出方法の一例を示す図である。4 is a diagram illustrating an example of an address calculation method by the memory control unit disclosed in FIG. 3. FIG. 図3に開示したメモリ制御部によるアドレスの算出方法の一例を示す図である。4 is a diagram illustrating an example of an address calculation method by the memory control unit disclosed in FIG. 3. FIG. 本発明の実施形態2におけるメモリ制御装置の構成を示す図である。FIG. 7 is a diagram showing the configuration of a memory control device in Embodiment 2 of the present invention.

<実施形態1>
本発明の第1の実施形態を、図3乃至図9を参照して説明する。図3に示すように、本発明のベクトルプロセッサ装置1は、ベクトルプロセッサ40と、メモリネットワーク30と、複数のメモリ制御部10と、複数のメモリ20と、を備えている。そして、ベクトルプロセッサ40が、メモリネットワーク30を経由して複数のメモリ制御部10に接続されており、また、各メモリ制御部10は、各メモリ20に接続されている。図3の例では、例えば、4つのメモリ制御部10(番号0~3)にそれぞれメモリ20(番号0~3)が接続されている。また、各メモリ20は、それぞれ複数バンク21を備えており、例えば、DDR SDRAMにて構成されている。図3の例では、各メモリ20は、例えば、それぞれ8つのバンク21(番号0~7)を備えている。なお、ベクトルプロセッサ装置1は、装備された複数のメモリに対するアクセスを制御するため、メモリ制御装置として機能する。
<Embodiment 1>
A first embodiment of the present invention will be described with reference to FIGS. 3 to 9. As shown in FIG. 3, the vector processor device 1 of the present invention includes a vector processor 40, a memory network 30, a plurality of memory control units 10, and a plurality of memories 20. The vector processor 40 is connected to a plurality of memory control units 10 via the memory network 30, and each memory control unit 10 is connected to each memory 20. In the example of FIG. 3, for example, the memories 20 (numbers 0 to 3) are connected to the four memory control units 10 (numbers 0 to 3), respectively. Further, each memory 20 includes a plurality of banks 21, and is configured of, for example, DDR SDRAM. In the example of FIG. 3, each memory 20 includes, for example, eight banks 21 (numbered 0 to 7). Note that the vector processor device 1 functions as a memory control device in order to control access to a plurality of installed memories.

上記メモリ制御部10は、演算装置で構成されており、プログラムを実行することで構築されたバンクアドレス生成部11と、メモリアドレス生成部12と、を備えている。メモリアドレス生成部12は、後述するようにベクトルプロセッサ40から発行されるベクトルロード命令またはベクトルストア命令による物理アドレスから、接続されているメモリ20をアクセス先として指定するメモリアドレスを生成する。また、バンクアドレス生成部11は、上記物理アドレスから、接続されているメモリ20内のバンクをアクセス先として指定するバンクアドレスを生成する。本発明では、後述するように、複数のメモリ制御部10の各バンクアドレス生成部11が、それぞれ異なる演算方法を用いて、同一の物理アドレスからそれぞれ異なるバンクアドレス(バンク番号)を生成する。 The memory control unit 10 is composed of an arithmetic unit, and includes a bank address generation unit 11 and a memory address generation unit 12, which are constructed by executing a program. The memory address generation unit 12 generates a memory address that designates the connected memory 20 as an access destination from a physical address according to a vector load instruction or a vector store instruction issued from the vector processor 40, as described later. Further, the bank address generation unit 11 generates a bank address that designates a bank in the connected memory 20 as an access destination from the physical address. In the present invention, as will be described later, each bank address generation unit 11 of a plurality of memory control units 10 generates different bank addresses (bank numbers) from the same physical address using different calculation methods.

ここで、上述したバンクアドレス生成部11とメモリアドレス生成部12とによる各アドレスの生成方法について、詳しく説明する。まず、ベクトルプロセッサ40からのベクトルロード命令またはベクトルストア命令に応じてメモリアクセスが行われ、かかるメモリアクセスは、物理アドレスで行われる。このとき、ベクトルロード命令およびベクトルストア命令では、連続した物理アドレスがメモリネットワーク30を経由して各メモリ制御部10にインタリーブされるため、各メモリ制御部10に送信される物理アドレスは同一である。なお、物理アドレスは、図5に示すように、下位ビットから、ライン内アドレス、バンク番号、上位アドレス、を含んで構成される。 Here, the method of generating each address by the bank address generation section 11 and memory address generation section 12 described above will be explained in detail. First, memory access is performed in response to a vector load instruction or a vector store instruction from the vector processor 40, and such memory access is performed using a physical address. At this time, in the vector load instruction and the vector store instruction, consecutive physical addresses are interleaved to each memory control unit 10 via the memory network 30, so the physical addresses sent to each memory control unit 10 are the same. . Note that, as shown in FIG. 5, the physical address includes, from the lower bit, an in-line address, a bank number, and an upper address.

そして、上述したように物理アドレスを受け付けた各メモリアドレス生成部12は、図5に示すように、物理アドレス内の上位アドレスとライン内アドレスとを結合してメモリアドレスを生成する。このため、同一の物理アドレスを受け付けた各メモリアドレス生成部15は、それぞれ同一のメモリアドレスを生成することとなり、それぞれに接続されたメモリ20をアクセス先として指定することとなる。 Then, each memory address generation unit 12 that has received the physical address as described above generates a memory address by combining the upper address in the physical address and the in-line address, as shown in FIG. Therefore, each memory address generation unit 15 that receives the same physical address generates the same memory address, and designates the memory 20 connected to each one as the access destination.

また、上述したように物理アドレスを受け付けた各バンクアドレス生成部11は、図5に示すように、物理アドレス内の上位アドレスとバンク番号とを用いて、それぞれに接続されたメモリ20内のいずれかのバンク21をアクセス先として指定するバンクアドレスを生成する。具体的に、各バンクアドレス生成部11は、まず、接続されるメモリ20毎にそれぞれ異なる関数(演算方法)を用いて、物理アドレスの「上位アドレス」から、バンク21を指定する「バンク番号」と同一のビットサイズの中間データ(変形データ)を生成する。つまり、図5に示すように、まず、関数「fメモリ番号(上位アドレス)」にて、上位アドレスから接続されるメモリ20毎にそれぞれ異なる第一データを生成し、かかる第一データを必要に応じて複数に分割して、中間データを生成する。そして、各バンクアドレス生成部11は、生成した「中間データ」と、物理アドレスに含まれる「バンク番号」とのビットごとの排他的論理和を取ることにより、バンクアドレスを生成する。 Further, each bank address generation unit 11 that has received the physical address as described above uses the upper address in the physical address and the bank number to determine which address in the memory 20 connected to each bank address, as shown in FIG. A bank address that specifies the bank 21 as the access destination is generated. Specifically, each bank address generation unit 11 first generates a "bank number" that specifies the bank 21 from the "upper address" of the physical address using a different function (calculation method) for each connected memory 20. Generate intermediate data (modified data) with the same bit size as . That is, as shown in FIG. 5, first, the function "f memory number (upper address)" generates different first data for each memory 20 connected from the upper address, and then uses the first data as needed. Accordingly, the data is divided into multiple parts to generate intermediate data. Then, each bank address generation unit 11 generates a bank address by performing a bit-by-bit exclusive OR of the generated "intermediate data" and the "bank number" included in the physical address.

ここで、各メモリ20に接続された各メモリ制御部10(番号0~3)がそれぞれ備えるバンクアドレス生成部11によるバンクアドレスの生成の一例を、図6乃至図9を参照して説明する。まず、図6は、メモリ番号0のメモリ20に対応するバンクアドレス生成部11による生成例を示している。図6に示すように、まず「上位アドレス」をそのまま第一データとして用い、かかる第一データを「バンク番号」と同一のビットサイズに分割した中間データを生成する。ここでは、第一データを3つに分割しているが、分割数は一例である。そして、分割した各上位アドレスである中間データの排他的論理和と、さらにバンク番号との排他的論理和により、バンクアドレスを生成する。 Here, an example of bank address generation by the bank address generation section 11 included in each memory control section 10 (numbered 0 to 3) connected to each memory 20 will be described with reference to FIGS. 6 to 9. First, FIG. 6 shows an example of generation by the bank address generation unit 11 corresponding to the memory 20 with memory number 0. As shown in FIG. 6, first, the "upper address" is used as it is as first data, and intermediate data is generated by dividing the first data into the same bit size as the "bank number." Here, the first data is divided into three parts, but the number of divisions is just an example. Then, a bank address is generated by the exclusive OR of the intermediate data, which is each divided upper address, and the exclusive OR of the bank number.

また、図7は、メモリ番号1のメモリ20に対応するバンクアドレス生成部11による生成例を示している。図7に示すように、メモリ番号1のメモリ20に対しては、まず「上位アドレス」を1ビット右ローテートして第一データを生成する。つまり、「上位アドレス」の最下位ビットを最上位ビットとし、その他のビットをそれぞれ1ビットずつ下位にずらす。そして、1ビットずらして生成した第一データを、バンク番号と同一のビットサイズに分割して(例えば、3分割)中間データを生成し、それぞれの排他的論理和とバンク番号との排他的論理和により、バンクアドレスを生成する。 Further, FIG. 7 shows an example of generation by the bank address generation unit 11 corresponding to the memory 20 with memory number 1. As shown in FIG. 7, for the memory 20 with memory number 1, first data is generated by rotating the "higher address" by 1 bit to the right. In other words, the least significant bit of the "upper address" is made the most significant bit, and the other bits are each shifted lower by one bit. Then, the first data generated by shifting one bit is divided into the same bit size as the bank number (for example, divided into three) to generate intermediate data, and the exclusive OR of each and the bank number is A bank address is generated by the sum.

また、図8は、メモリ番号2のメモリ20に対応するバンクアドレス生成部11による生成例を示している。図8に示すように、メモリ番号2のメモリ20に対しては、まず「上位アドレス」を2ビット右ローテートして第一データを生成する。つまり、「上位アドレス」の最下位2ビットを最上位2ビットとし、その他のビットをそれぞれ2ビットずつ下位にずらす。そして、2ビットずらして生成した第一データを、バンク番号と同一のビットサイズに分割して(例えば、3分割)中間データを生成し、それぞれの排他的論理和とバンク番号との排他的論理和により、バンクアドレスを生成する。 Further, FIG. 8 shows an example of generation by the bank address generation unit 11 corresponding to the memory 20 with memory number 2. As shown in FIG. 8, for the memory 20 with memory number 2, the "upper address" is first rotated to the right by 2 bits to generate first data. In other words, the two least significant bits of the "upper address" are made the two most significant bits, and the other bits are each shifted two bits lower. Then, the first data generated by shifting 2 bits is divided into the same bit size as the bank number (for example, divided into 3) to generate intermediate data, and the exclusive OR of each and the bank number is A bank address is generated by the sum.

また、図9は、メモリ番号3のメモリ20に対応するバンクアドレス生成部11による生成例を示している。図9に示すように、メモリ番号3のメモリ20に対しては、まず「上位アドレス」を3ビット右ローテートして第一データを生成する。つまり、「上位アドレス」の最下位3ビットを最上位3ビットとし、その他のビットをそれぞれ3ビットずつ下位にずらす。そして、3ビットずらして生成した第一データを、バンク番号と同一のビットサイズに分割して(例えば、3分割)中間データを生成し、それぞれの排他的論理和とバンク番号との排他的論理和により、バンクアドレスを生成する。 Further, FIG. 9 shows an example of generation by the bank address generation unit 11 corresponding to the memory 20 with memory number 3. As shown in FIG. 9, for the memory 20 with memory number 3, the "upper address" is first rotated to the right by 3 bits to generate first data. In other words, the least significant three bits of the "higher address" are made the most significant three bits, and the other bits are each shifted three bits lower. Then, the first data generated by shifting 3 bits is divided into the same bit size as the bank number (for example, divided into 3) to generate intermediate data, and the exclusive OR of each and the bank number is A bank address is generated by the sum.

以上のように、本発明では、複数のメモリ20毎に、同一の物理アドレスに対してそれぞれ異なる関数を用いて、つまり、それぞれ異なるビット数をローテートさせて中間データを生成し、かかる中間データからバンクアドレスを生成している。このため、複数のメモリ20毎にそれぞれ異なるバンクアドレスが生成されることとなり、メモリ20に対する複数のシーケンシャルアクセス間のバンク競合を減らすことができる。その結果、メモリ帯域の向上を実現することができる。 As described above, in the present invention, intermediate data is generated for each of the plurality of memories 20 by using different functions for the same physical address, that is, by rotating different numbers of bits, and from such intermediate data. Generating bank address. Therefore, different bank addresses are generated for each of the plurality of memories 20, and bank conflicts between the plurality of sequential accesses to the memories 20 can be reduced. As a result, it is possible to improve memory bandwidth.

<実施形態2>
次に、本発明の第2の実施形態を、図10を参照して説明する。図10は、実施形態2メモリ制御装置の構成を示すブロック図である。なお、本実施形態では、実施形態1で説明したベクトルプロセッサ装置の構成の概略を示している。
<Embodiment 2>
Next, a second embodiment of the present invention will be described with reference to FIG. FIG. 10 is a block diagram showing the configuration of a memory control device according to the second embodiment. Note that this embodiment shows an outline of the configuration of the vector processor device described in the first embodiment.

図10に示すように、本実施形態におけるメモリ制御装置200は、
複数のバンク211をそれぞれ有する複数のメモリ210に対するアクセスを制御するメモリ制御装置200であって、
指定された物理アドレスから複数の前記メモリ210をそれぞれアクセス先として指定する複数のメモリアドレスを生成し、前記物理アドレスから複数の前記メモリ内の所定の前記バンクをそれぞれアクセス先として指定する複数のバンクアドレスを生成する際に前記メモリ毎に異なる複数の前記バンクアドレスを生成する、
という構成を有する。
As shown in FIG. 10, the memory control device 200 in this embodiment includes:
A memory control device 200 that controls access to a plurality of memories 210 each having a plurality of banks 211,
A plurality of memory addresses that designate each of the plurality of memories 210 as an access destination are generated from a specified physical address, and a plurality of banks that designate each of the predetermined banks in the plurality of memories as an access destination from the physical address. generating a plurality of bank addresses that are different for each memory when generating addresses;
It has the following structure.

なお、上記メモリ制御装置200による機能は、メモリ制御装置200がプログラムを実行することで実現される。 Note that the functions of the memory control device 200 are realized by the memory control device 200 executing a program.

そして、上記構成のメモリ制御装置200は、
複数のバンクをそれぞれ有する複数のメモリに対するアクセスを制御するメモリ制御方法として、
指定された物理アドレスから複数の前記メモリをそれぞれアクセス先として指定する複数のメモリアドレスを生成すると共に、前記物理アドレスから複数の前記メモリ内の所定の前記バンクをそれぞれアクセス先として指定する複数のバンクアドレスを生成する際に前記メモリ毎に異なる複数の前記バンクアドレスを生成する、
という処理を実行するよう作動する。
The memory control device 200 having the above configuration has the following features:
As a memory control method for controlling access to multiple memories each having multiple banks,
Generating a plurality of memory addresses that designate each of the plurality of memories as an access destination from a specified physical address, and a plurality of banks that designate each of the predetermined banks in the plurality of memories as an access destination from the physical address. generating a plurality of bank addresses that are different for each memory when generating addresses;
It operates to execute the process.

以上のように、本発明によると、複数のメモリ毎にそれぞれ異なるバンクアドレスを生成している。このため、メモリに対する複数のシーケンシャルアクセス間のバンク競合を減らすことができ、メモリ帯域の向上を実現することができる。 As described above, according to the present invention, different bank addresses are generated for each of a plurality of memories. Therefore, bank conflicts between multiple sequential accesses to memory can be reduced, and memory bandwidth can be improved.

<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるメモリ制御方法、メモリ制御装置、プログラムの構成の概略を説明する。但し、本発明は、以下の構成に限定されない。
<Additional notes>
Part or all of the above embodiments may also be described as in the following additional notes. Hereinafter, the outline of the structure of the memory control method, memory control device, and program according to the present invention will be explained. However, the present invention is not limited to the following configuration.

(付記1)
複数のバンクをそれぞれ有する複数のメモリに対するアクセスを制御するメモリ制御方法であって、
指定された物理アドレスから複数の前記メモリをそれぞれアクセス先として指定する複数のメモリアドレスを生成すると共に、前記物理アドレスから複数の前記メモリ内の所定の前記バンクをそれぞれアクセス先として指定する複数のバンクアドレスを生成する際に前記メモリ毎に異なる複数の前記バンクアドレスを生成する、
メモリ制御方法。
(Additional note 1)
A memory control method for controlling access to a plurality of memories each having a plurality of banks, the method comprising:
Generating a plurality of memory addresses specifying each of the plurality of memories as an access destination from a specified physical address, and a plurality of banks specifying each of the predetermined banks in the plurality of memories as an access destination from the physical address. generating a plurality of bank addresses that are different for each memory when generating addresses;
Memory control method.

(付記2)
付記1に記載のメモリ制御方法であって、
前記メモリ毎にそれぞれ接続されたメモリ制御部がそれぞれ、前記物理アドレスから前記メモリ毎に異なる前記バンクアドレスを生成する、
メモリ制御方法。
(Additional note 2)
The memory control method according to appendix 1, comprising:
Each memory control unit connected to each of the memories generates the bank address, which is different for each of the memories, from the physical address.
Memory control method.

(付記3)
付記1又は2に記載のメモリ制御方法であって、
前記メモリ毎にそれぞれ異なる演算方法を用いて、前記物理アドレスから前記メモリ毎に異なる前記バンクアドレスを生成する、
メモリ制御方法。
(Additional note 3)
The memory control method according to supplementary note 1 or 2,
generating the bank address, which is different for each memory, from the physical address using a different calculation method for each memory;
Memory control method.

(付記4)
付記1乃至3のいずれかに記載のメモリ制御方法であって、
前記物理アドレスから前記メモリ毎に異なる変形データを生成し、当該変形データから前記メモリ毎に異なる前記バンクアドレスを生成する、
メモリ制御方法。
(Additional note 4)
The memory control method according to any one of Supplementary Notes 1 to 3,
generating different modified data for each of the memories from the physical address, and generating different bank addresses for each of the memories from the transformed data;
Memory control method.

(付記5)
付記4に記載のメモリ制御方法であって、
前記メモリ毎に、前記物理アドレスの少なくとも一部のデータをスライド移動させて当該メモリ毎に異なる前記変形データを生成し、当該変形データから前記メモリ毎に異なる前記バンクアドレスを生成する、
メモリ制御方法。
(Appendix 5)
The memory control method according to appendix 4, comprising:
sliding at least part of the data of the physical address for each memory to generate the deformed data that is different for each memory, and generate the bank address that is different for each memory from the deformed data;
Memory control method.

(付記6)
付記4又は5に記載のメモリ制御方法であって、
前記物理アドレスに含まれる前記バンクを指定するアドレスと、前記変形データと、に基づいて、前記メモリ毎に異なる前記バンクアドレスを生成する、
メモリ制御方法。
(Appendix 6)
The memory control method according to appendix 4 or 5,
generating a different bank address for each memory based on an address specifying the bank included in the physical address and the modified data;
Memory control method.

(付記7)
付記6に記載のメモリ制御方法であって、
前記物理アドレスに含まれる前記バンクを指定するアドレスと、前記変形データから抽出された1つ又は複数のデータと、の排他的論理和から前記メモリ毎に異なる前記バンクアドレスを生成する、
メモリ制御方法。
(Appendix 7)
The memory control method according to appendix 6, comprising:
generating a different bank address for each memory from an exclusive OR of an address specifying the bank included in the physical address and one or more data extracted from the modified data;
Memory control method.

(付記8)
複数のバンクをそれぞれ有する複数のメモリに対するアクセスを制御するメモリ制御装置であって、
指定された物理アドレスから複数の前記メモリをそれぞれアクセス先として指定する複数のメモリアドレスを生成し、前記物理アドレスから複数の前記メモリ内の所定の前記バンクをそれぞれアクセス先として指定する複数のバンクアドレスを生成する際に前記メモリ毎に異なる複数の前記バンクアドレスを生成する、
メモリ制御装置。
(Appendix 8)
A memory control device that controls access to a plurality of memories each having a plurality of banks, the memory control device comprising:
Generating a plurality of memory addresses specifying each of the plurality of memories as an access destination from a specified physical address, and a plurality of bank addresses specifying each of the predetermined banks in the plurality of memories as an access destination from the physical address. generating a plurality of bank addresses that are different for each memory when generating the bank address;
Memory controller.

(付記8-1)
付記8に記載のメモリ制御装置であって、
前記メモリ毎にそれぞれ接続されたメモリ制御部を備え、
前記メモリ制御部はそれぞれ、接続された前記メモリをアクセス先として指定する前記メモリアドレスを生成するメモリアドレス生成部と、接続された前記メモリ内の所定の前記バンクをアクセス先として指定する前記バンクアドレスを、他の前記メモリ制御部にて生成される前記バンクアドレスとは異なるよう生成するバンクアドレス生成部と、を備えた、
メモリ制御装置。
(Appendix 8-1)
The memory control device according to appendix 8,
A memory control unit connected to each of the memories,
Each of the memory control units includes a memory address generation unit that generates the memory address that specifies the connected memory as an access destination, and a bank address that specifies the predetermined bank in the connected memory as the access destination. a bank address generation unit that generates a bank address different from the bank address generated by the other memory control unit,
Memory controller.

(付記8-2)
付記8-1に記載のメモリ制御装置であって、
前記メモリ制御部の前記バンクアドレス生成部は、他の前記メモリ制御部の前記バンクアドレス生成部が用いる方法とは異なる演算方法を用いて、前記物理アドレスから前記バンクアドレスを生成する、
メモリ制御装置。
(Appendix 8-2)
The memory control device according to Appendix 8-1,
The bank address generation unit of the memory control unit generates the bank address from the physical address using a calculation method different from the method used by the bank address generation units of other memory control units.
Memory controller.

(付記8-3)
付記8-1又は8-2に記載のメモリ制御装置であって、
前記メモリ制御部の前記バンクアドレス生成部は、前記物理アドレスから他の前記メモリ制御部の前記バンクアドレス生成部が生成するデータとは異なる変形データを生成し、当該変形データから前記バンクアドレスを生成する、
メモリ制御装置。
(Appendix 8-3)
The memory control device according to appendix 8-1 or 8-2,
The bank address generation unit of the memory control unit generates modified data different from data generated by the bank address generation units of other memory control units from the physical address, and generates the bank address from the modified data. do,
Memory controller.

(付記8-4)
付記8-3に記載のメモリ制御装置であって、
前記メモリ制御部の前記バンクアドレス生成部は、前記物理アドレスの少なくとも一部のデータをそのまま用いて、又は、スライド移動させて、他の前記メモリ制御部の前記バンクアドレス生成部が生成するデータとは異なる前記変形データを生成し、当該変形データから前記バンクアドレスを生成する、
メモリ制御装置。
(Appendix 8-4)
The memory control device according to Appendix 8-3,
The bank address generation section of the memory control section uses at least part of the data of the physical address as it is or slides it to combine it with data generated by the bank address generation section of the other memory control section. generates the different modified data, and generates the bank address from the modified data;
Memory controller.

(付記8-5)
付記8-3又は8-4に記載のメモリ制御装置であって、
前記メモリ制御部の前記バンクアドレス生成部は、前記物理アドレスに含まれる前記バンクを指定するアドレスと、前記変形データと、に基づいて前記バンクアドレスを生成する、
メモリ制御装置。
(Appendix 8-5)
The memory control device according to appendix 8-3 or 8-4,
The bank address generation unit of the memory control unit generates the bank address based on the address specifying the bank included in the physical address and the modified data.
Memory controller.

(付記8-6)
付記8-5に記載のメモリ制御装置であって、
前記メモリ制御部の前記バンクアドレス生成部は、前記物理アドレスに含まれる前記バンクを指定するアドレスと、前記変形データから抽出された1つ又は複数のデータと、の排他的論理和から前記バンクアドレスを生成する、
メモリ制御装置。
(Appendix 8-6)
The memory control device according to Appendix 8-5,
The bank address generation unit of the memory control unit generates the bank address from an exclusive OR of an address specifying the bank included in the physical address and one or more data extracted from the modified data. generate,
Memory controller.

(付記9)
複数のバンクをそれぞれ有する複数のメモリに対するアクセスを制御するメモリ制御装置に、
指定された物理アドレスから複数の前記メモリをそれぞれアクセス先として指定する複数のメモリアドレスを生成し、前記物理アドレスから複数の前記メモリ内の所定の前記バンクをそれぞれアクセス先として指定する複数のバンクアドレスを生成する際に前記メモリ毎に異なる複数の前記バンクアドレスを生成する処理、
を実行させるためのプログラム。
(Appendix 9)
A memory control device that controls access to a plurality of memories each having a plurality of banks;
Generating a plurality of memory addresses specifying each of the plurality of memories as an access destination from a specified physical address, and a plurality of bank addresses specifying each of the predetermined banks in the plurality of memories as an access destination from the physical address. a process of generating a plurality of bank addresses that are different for each memory when generating a bank address;
A program to run.

(付記9-1)
付記9に記載のプログラムであって、
前記メモリ制御装置に、さらに、前記メモリ毎にそれぞれ接続されたメモリ制御部を実現させると共に、
前記メモリ制御部にそれぞれ、接続された前記メモリをアクセス先として指定する前記メモリアドレスを生成するメモリアドレス生成部と、接続された前記メモリ内の所定の前記バンクをアクセス先として指定する前記バンクアドレスを、他の前記メモリ制御部にて生成される前記バンクアドレスとは異なるよう生成するバンクアドレス生成部と、を実現させる、
ためのプログラム。
(Appendix 9-1)
The program described in Appendix 9,
The memory control device further includes a memory control unit connected to each of the memories, and
a memory address generation unit that generates the memory address that specifies the memory connected to the memory control unit as an access destination; and the bank address that specifies the predetermined bank in the connected memory as the access destination. and a bank address generation unit that generates a bank address different from the bank address generated by another of the memory control units,
program for.

(付記10)
ベクトルプロセッサと、複数のバンクをそれぞれ有する複数のメモリと、前記メモリに対するアクセスを制御するメモリ制御装置と、を備え、
前記メモリ制御装置は、前記ベクトルプロセッサにて指定された物理アドレスから複数の前記メモリをそれぞれアクセス先として指定する複数のメモリアドレスを生成すると共に、前記物理アドレスから複数の前記メモリ内の所定の前記バンクをそれぞれアクセス先として指定する複数のバンクアドレスを生成する際に前記メモリ毎に異なる複数の前記バンクアドレスを生成する、
ベクトルプロセッサ装置。
(Appendix 10)
A vector processor, a plurality of memories each having a plurality of banks, and a memory control device that controls access to the memory,
The memory control device generates a plurality of memory addresses that designate each of the plurality of memories as an access destination from the physical address specified by the vector processor, and also generates a plurality of memory addresses that designate each of the plurality of memories as an access destination from the physical address, and also generates a plurality of memory addresses from the physical address in the plurality of memories. generating a plurality of bank addresses that are different for each of the memories when generating a plurality of bank addresses specifying each bank as an access destination;
Vector processor device.

(付記10-1)
付記10に記載のベクトルプロセッサ装置であって、
前記メモリ制御装置は、前記メモリ毎にそれぞれ接続されたメモリ制御部を備え、
前記メモリ制御部はそれぞれ、接続された前記メモリをアクセス先として指定する前記メモリアドレスを生成するメモリアドレス生成部と、接続された前記メモリ内の所定の前記バンクをアクセス先として指定する前記バンクアドレスを、他の前記メモリ制御部にて生成される前記バンクアドレスとは異なるよう生成するバンクアドレス生成部と、を備えた、
ベクトルプロセッサ装置。
(Appendix 10-1)
The vector processor device according to appendix 10,
The memory control device includes a memory control unit connected to each of the memories,
Each of the memory control units includes a memory address generation unit that generates the memory address that specifies the connected memory as an access destination, and a bank address that specifies the predetermined bank in the connected memory as the access destination. a bank address generation unit that generates a bank address different from the bank address generated by the other memory control unit,
Vector processor device.

なお、上記プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。 Note that the program can be stored and supplied to a computer using various types of non-transitory computer readable media. Non-transitory computer-readable media includes various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R/W, semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (Random Access Memory)). The program may also be provided to the computer on various types of transitory computer readable media. Examples of transitory computer-readable media include electrical signals, optical signals, and electromagnetic waves. The temporary computer-readable medium can provide the program to the computer via wired communication channels, such as electrical wires and fiber optics, or wireless communication channels.

以上、上記実施形態等を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることができる。 Although the present invention has been described above with reference to the above-described embodiments, the present invention is not limited to the above-described embodiments. The configuration and details of the present invention can be modified in various ways within the scope of the present invention by those skilled in the art.

1 ベクトルプロセッサ装置
10 メモリ制御部
11 バンクアドレス生成部
12 メモリアドレス生成部
20 メモリ
21 バンク
30 メモリネットワーク
40 ベクトルプロセッサ
200 メモリ制御装置
210 メモリ
211 バンク
1 Vector processor device 10 Memory control unit 11 Bank address generation unit 12 Memory address generation unit 20 Memory 21 Bank 30 Memory network 40 Vector processor 200 Memory control device 210 Memory 211 Bank

Claims (8)

複数のメモリ制御部が、複数のバンクをそれぞれ有する複数のメモリに対するアクセスを制御するメモリ制御方法であって、
前記メモリ毎にそれぞれ接続された前記メモリ制御部がそれぞれ、指定された物理アドレスから前記メモリ制御部に接続された前記メモリをアクセス先として指定するメモリアドレスを生成すると共に、前記物理アドレスから前記メモリ制御部に接続された前記メモリ内の所定の前記バンクをそれぞれアクセス先として指定する複数のバンクアドレスを生成する際に前記メモリ毎に異なる前記バンクアドレスを生成する、
メモリ制御方法。
A memory control method in which a plurality of memory control units control access to a plurality of memories each having a plurality of banks, the method comprising:
Each of the memory control units connected to each of the memories generates a memory address that designates the memory connected to the memory control unit as an access destination from a specified physical address, and generating a different bank address for each memory when generating a plurality of bank addresses each specifying a predetermined bank in the memory connected to the memory control unit as an access destination;
Memory control method.
請求項1に記載のメモリ制御方法であって、
前記メモリ制御部が、前記メモリ毎にそれぞれ異なる演算方法を用いて、前記物理アドレスから前記メモリ毎に異なる前記バンクアドレスを生成する、
メモリ制御方法。
The memory control method according to claim 1 , comprising:
the memory control unit generates the bank address, which is different for each memory, from the physical address using a different calculation method for each memory;
Memory control method.
請求項1又は2に記載のメモリ制御方法であって、
前記メモリ制御部が、前記物理アドレスから前記メモリ毎に異なる変形データを生成し、当該変形データから前記メモリ毎に異なる前記バンクアドレスを生成する、
メモリ制御方法。
The memory control method according to claim 1 or 2 ,
the memory control unit generates different modified data for each of the memories from the physical address, and generates the bank address that differs for each of the memories from the modified data;
Memory control method.
請求項3に記載のメモリ制御方法であって、
前記メモリ制御部が、前記物理アドレスに含まれる前記バンクを指定するアドレスと、前記変形データと、に基づいて、前記メモリ毎に異なる前記バンクアドレスを生成する、
メモリ制御方法。
4. The memory control method according to claim 3 ,
the memory control unit generates the bank address, which is different for each memory, based on the address specifying the bank included in the physical address and the deformation data;
Memory control method.
請求項4に記載のメモリ制御方法であって、
前記メモリ制御部が、前記物理アドレスに含まれる前記バンクを指定するアドレスと、前記変形データから抽出された1つ又は複数のデータと、の排他的論理和から前記メモリ毎に異なる前記バンクアドレスを生成する、
メモリ制御方法。
5. The memory control method according to claim 4 ,
The memory control unit determines the bank address, which is different for each memory, from an exclusive OR of an address specifying the bank included in the physical address and one or more data extracted from the modified data. generate,
Memory control method.
複数のバンクをそれぞれ有する複数のメモリに対するアクセスを制御する複数のメモリ制御部を有するメモリ制御装置であって、
前記メモリ毎にそれぞれ接続された前記メモリ制御部がそれぞれ、指定された物理アドレスから前記メモリ制御部に接続された前記メモリをアクセス先として指定するメモリアドレスを生成し、前記物理アドレスから前記メモリ制御部に接続された前記メモリ内の所定の前記バンクをそれぞれアクセス先として指定する複数のバンクアドレスを生成する際に前記メモリ毎に異なる前記バンクアドレスを生成する、
メモリ制御装置。
A memory control device having a plurality of memory control units that control access to a plurality of memories each having a plurality of banks,
Each of the memory control units connected to each of the memories generates a memory address specifying the memory connected to the memory control unit as an access destination from a specified physical address, and from the physical address. generating a different bank address for each memory when generating a plurality of bank addresses each designating a predetermined bank in the memory connected to the memory control unit as an access destination;
Memory controller.
複数のバンクをそれぞれ有する複数のメモリに対するアクセスを制御する複数のメモリ制御部を有するメモリ制御装置に、
前記メモリ毎にそれぞれ接続された前記メモリ制御部がそれぞれ、指定された物理アドレスから前記メモリ制御部に接続された前記メモリをアクセス先として指定するメモリアドレスを生成し、前記物理アドレスから前記メモリ制御部に接続された前記メモリ内の所定の前記バンクをそれぞれアクセス先として指定する複数のバンクアドレスを生成する際に前記メモリ毎に異なる前記バンクアドレスを生成する、
理を実行させるためのプログラム。
A memory control device having a plurality of memory control units that control access to a plurality of memories each having a plurality of banks;
Each of the memory control units connected to each of the memories generates a memory address specifying the memory connected to the memory control unit as an access destination from a specified physical address, and from the physical address. generating a different bank address for each memory when generating a plurality of bank addresses each designating a predetermined bank in the memory connected to the memory control unit as an access destination ;
A program to execute processing .
ベクトルプロセッサと、複数のバンクをそれぞれ有する複数のメモリと、前記メモリに対するアクセスを制御する複数のメモリ制御部を有するメモリ制御装置と、を備え、
前記メモリ毎にそれぞれ接続された前記メモリ制御部がそれぞれ、前記ベクトルプロセッサにて指定された物理アドレスから前記メモリ制御部に接続された前記メモリをアクセス先として指定するメモリアドレスを生成すると共に、前記物理アドレスから前記メモリ制御部に接続された前記メモリ内の所定の前記バンクをそれぞれアクセス先として指定する複数のバンクアドレスを生成する際に前記メモリ毎に異なる前記バンクアドレスを生成する、
ベクトルプロセッサ装置。
comprising a vector processor, a plurality of memories each having a plurality of banks, and a memory control device having a plurality of memory control units that control access to the memory,
Each of the memory control units connected to each memory generates a memory address specifying the memory connected to the memory control unit as an access destination from the physical address specified by the vector processor. and generating a different bank address for each memory when generating a plurality of bank addresses each specifying a predetermined bank in the memory connected to the memory control unit as an access destination from the physical address. do,
Vector processor device.
JP2019159545A 2019-09-02 2019-09-02 Memory control method, memory control device, program Active JP7408954B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019159545A JP7408954B2 (en) 2019-09-02 2019-09-02 Memory control method, memory control device, program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019159545A JP7408954B2 (en) 2019-09-02 2019-09-02 Memory control method, memory control device, program

Publications (2)

Publication Number Publication Date
JP2021039486A JP2021039486A (en) 2021-03-11
JP7408954B2 true JP7408954B2 (en) 2024-01-09

Family

ID=74847063

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019159545A Active JP7408954B2 (en) 2019-09-02 2019-09-02 Memory control method, memory control device, program

Country Status (1)

Country Link
JP (1) JP7408954B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7168731B1 (en) * 2021-07-19 2022-11-09 Necプラットフォームズ株式会社 MEMORY ACCESS CONTROL DEVICE, MEMORY ACCESS CONTROL METHOD, AND MEMORY ACCESS CONTROL PROGRAM

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000163316A (en) 1998-11-27 2000-06-16 Hitachi Ltd Computer system
JP2002073412A (en) 2000-07-17 2002-03-12 Internatl Business Mach Corp <Ibm> Access method to memory and memory

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000163316A (en) 1998-11-27 2000-06-16 Hitachi Ltd Computer system
JP2002073412A (en) 2000-07-17 2002-03-12 Internatl Business Mach Corp <Ibm> Access method to memory and memory

Also Published As

Publication number Publication date
JP2021039486A (en) 2021-03-11

Similar Documents

Publication Publication Date Title
JP6253514B2 (en) Processor
US10209890B2 (en) Near memory accelerator
US20220237041A1 (en) Parallel processing system performing in-memory processing
US11893398B2 (en) Methods, systems, and apparatuses to perform a compute operation according to a configuration packet and comparing the result to data in local memory
US20180329832A1 (en) Information processing apparatus, memory control circuitry, and control method of information processing apparatus
JP7408954B2 (en) Memory control method, memory control device, program
JP2014154119A (en) Memory controller and semiconductor storage device
US20200082898A1 (en) Multi-lvel memory hierarchy
WO2013184855A1 (en) Memory with bank-conflict-resolution (bcr) module including cache
US9798550B2 (en) Memory access for a vector processor
US20220318015A1 (en) Enforcing data placement requirements via address bit swapping
JP6004463B2 (en) Storage device and control method thereof
JP7225904B2 (en) Vector operation processing device, array variable initialization method by vector operation processing device, and array variable initialization program by vector operation processing device
WO2017082323A1 (en) Distributed processing system, distributed processing device, method, and storage medium
JP7346883B2 (en) Vector processor device and generation method
JP6170363B2 (en) Control device, computer system, control method, and program
KR101967857B1 (en) Processing in memory device with multiple cache and memory accessing method thereof
JP5182175B2 (en) Information processing device
US20160140034A1 (en) Devices and methods for linked list array hardware implementation
US9304917B2 (en) Flush control apparatus, flush control method and cache memory apparatus
US20220283806A1 (en) Processing-in-memory device having a plurality of global buffers and processing-in-memory system including the same
US11704052B2 (en) Processing-in-memory (PIM) systems
WO2017016489A1 (en) Intelligent code apparatus, method, and computer program for memory
KR102149153B1 (en) Page placement method and apparatus for gpgpu with heterogeneous memory
JP2007034404A (en) Information processing system and memory controller

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220805

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230919

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231031

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: 20231121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231204

R151 Written notification of patent or utility model registration

Ref document number: 7408954

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151