JP5477267B2 - Information processing apparatus and information processing method - Google Patents
Information processing apparatus and information processing method Download PDFInfo
- Publication number
- JP5477267B2 JP5477267B2 JP2010268337A JP2010268337A JP5477267B2 JP 5477267 B2 JP5477267 B2 JP 5477267B2 JP 2010268337 A JP2010268337 A JP 2010268337A JP 2010268337 A JP2010268337 A JP 2010268337A JP 5477267 B2 JP5477267 B2 JP 5477267B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- instruction
- memory access
- information processing
- access
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
本発明は、情報処理装置及び情報処理方法に関する。 The present invention relates to an information processing apparatus and an information processing method.
情報処理装置の一種に、キャッシュメモリを有するプロセッサと、1以上のメモリバンクで構成された主記憶と、プロセッサと主記憶とを接続するネットワークと、を備え、メモリアクセス命令として、ベクトルロード命令やベクトルギャザー命令などのベクトル命令を命令セットに含むものがある。 A type of information processing apparatus includes a processor having a cache memory, a main memory composed of one or more memory banks, and a network connecting the processor and the main memory. Some include vector instructions such as vector gather instructions in the instruction set.
ベクトルロード命令は、命令コードと、書き込みベクトルレジスタと、開始アドレスと、ディスタンス(要素間距離)と、を備えて構成され、キャッシュメモリ又は主記憶に記憶された要素データのうち、要素間距離で指定したアドレス間隔で記憶された複数の要素データを、1命令でロードできるようになっている。 The vector load instruction includes an instruction code, a write vector register, a start address, and a distance (inter-element distance). The inter-element distance of the element data stored in the cache memory or the main memory. A plurality of element data stored at specified address intervals can be loaded with one instruction.
ベクトルギャザー命令は、命令コードと、書き込みベクトルレジスタと、各要素のアドレスと、を備えて構成され、キャッシュメモリ又は主記憶に記憶された要素データのうち、各要素のアドレスに記憶された複数の要素データを、1命令でロードできるようになっている。 The vector gather instruction includes an instruction code, a write vector register, and an address of each element. Among the element data stored in the cache memory or the main memory, a plurality of element data stored in the address of each element. Element data can be loaded with one instruction.
プロセッサの命令発行制御部がベクトル命令をデコードすると、アクセス対象となる要素データごとに1つのメモリアクセスリクエストを生成し、発行する。その際、複数のポートから同時に発行することでバンド幅を稼ぐ方法が知られているが、同一メモリバンクへと向かう複数のメモリアクセスリクエストが競合して、性能が低下する可能性がある。こういった同一メモリバンクへ向かうメモリアクセスリクエストの競合を回避するために、同一バンクへ向かうメモリアクセスリクエストを圧縮して発行する方法がとられている(例えば特許文献1参照)。 When the instruction issue control unit of the processor decodes the vector instruction, one memory access request is generated and issued for each element data to be accessed. At this time, there is known a method of increasing the bandwidth by issuing simultaneously from a plurality of ports. However, there is a possibility that a plurality of memory access requests directed to the same memory bank compete with each other and the performance is deteriorated. In order to avoid such competition of memory access requests directed to the same memory bank, a method of compressing and issuing a memory access request directed to the same bank is used (see, for example, Patent Document 1).
また、通常、キャッシュメモリを備えた情報処理装置では、キャッシュライン単位でメモリバンクごとにメモリインターリーブされており、一般的に、キャッシュライン単位でロードを行うメモリアクセスリクエストを発行する。なぜなら、局所性の原理のために、必要なデータの近傍のデータをまとめてロードしキャッシュメモリに記憶することで、次の命令を処理する際のキャッシュヒットを期待するからである。 In general, an information processing apparatus including a cache memory is memory interleaved for each memory bank in units of cache lines, and generally issues a memory access request for loading in units of cache lines. This is because, due to the principle of locality, data in the vicinity of necessary data is loaded together and stored in the cache memory, thereby expecting a cache hit when the next instruction is processed.
この仕組みはキャッシュヒット率を向上させるメリットが得られる一方で、キャッシュメモリに記憶しない命令を発行する際には、不要なデータまで読み出すデメリットを抱えている。この問題を解決するために、キャッシュメモリが無効なときには、ワード単位のキャッシュバイパスリクエストを発行する方法がとられている(例えば特許文献2参照)。 While this mechanism has the advantage of improving the cache hit rate, it has the disadvantage of reading even unnecessary data when issuing instructions that are not stored in the cache memory. In order to solve this problem, when the cache memory is invalid, a method of issuing a cache bypass request in units of words is used (see, for example, Patent Document 2).
上述した特許文献1に例示されるように、キャッシュライン中の複数の要素データをアクセスする命令の実行性能を向上する方法として、同一メモリバンクをアクセスするメモリアクセスリクエストを圧縮して、キャッシュライン単位のメモリアクセスリクエストを発行する方法がある。
As exemplified in
しかしながら、この方法では、キャッシュメモリが無効な状態でキャッシュライン中の有効要素数が少ないときには、多くの不要なデータを読み出してしまい、ロード実行性能を圧迫する。 However, in this method, when the cache memory is invalid and the number of valid elements in the cache line is small, a lot of unnecessary data is read, and the load execution performance is reduced.
一方で、上述した特許文献2に例示されるように、キャッシュメモリが無効なときの不要なデータの読み出しを避けるために、ワード単位のキャッシュバイパスリクエストを発行する方法がある。 On the other hand, as exemplified in Patent Document 2 described above, there is a method of issuing a cache bypass request in units of words in order to avoid reading unnecessary data when the cache memory is invalid.
しかしながら、この方法では同一メモリバンクへのアクセスが競合し、効率的ではない。 However, this method is not efficient because access to the same memory bank competes.
そこで本発明の目的は、これらの問題を解決し、キャッシュメモリが無効な状態でキャッシュライン中の複数の要素データをアクセスするロード命令に関して、その実行性能を向上できる情報処理装置及び情報処理方法を提供することである。 Accordingly, an object of the present invention is to provide an information processing apparatus and information processing method that can solve these problems and improve the execution performance of a load instruction that accesses a plurality of element data in a cache line while the cache memory is invalid. Is to provide.
本発明の第一の態様に係る情報処理装置は、キャッシュメモリを有するプロセッサと、1以上のメモリバンクで構成された主記憶と、前記プロセッサと前記主記憶とを接続するネットワークとを備え、前記主記憶に記憶された要素データのうち、命令で指定された複数の要素データを1命令でアクセスできるメモリアクセス命令を命令セットに含み、前記プロセッサは、前記メモリアクセス命令に従って前記主記憶にアクセスする場合に、前記メモリアクセス命令ごとに指定されたキャッシュラインの有効/無効と、当該キャッシュライン中における要素データの有効な数又は位置の少なくとも1つと、に基づいてアクセス対象バンクへの最適なアクセス単位を判定し、当該判定したアクセス単位でメモリアクセスリクエストを生成し、発行するメモリアクセスリクエスト生成発行手段を備えることを特徴とするものである。 An information processing apparatus according to a first aspect of the present invention includes a processor having a cache memory, a main memory composed of one or more memory banks, and a network connecting the processor and the main memory, Among the element data stored in the main memory, the instruction set includes a memory access instruction that can access a plurality of element data specified by the instruction with one instruction, and the processor accesses the main memory according to the memory access instruction. In this case, the optimum access unit to the bank to be accessed based on the validity / invalidity of the cache line designated for each memory access instruction and at least one of the valid number or position of the element data in the cache line Generate a memory access request for the determined access unit and issue it Is characterized in further comprising a memory access request generating issuing means that.
これにより、最適なメモリアクセス単位を判定し、メモリアクセス単位を切り替えてメモリアクセスリクエストを生成・発行することで、キャッシュメモリが無効な状態でキャッシュライン中の複数の要素データをアクセスするロード命令に関して、その実行性能を向上できる。 As a result, the optimum memory access unit is determined, the memory access unit is switched, and a memory access request is generated / issued, whereby the load instruction for accessing a plurality of element data in the cache line in a state where the cache memory is invalid The execution performance can be improved.
本発明の第二の態様に係る情報処理方法は、情報処理装置における情報処理方法であって、前記情報処理装置は、キャッシュメモリを有するプロセッサと、1以上のメモリバンクで構成された主記憶と、前記プロセッサと前記主記憶とを接続するネットワークとを備え、前記主記憶に記憶された要素データのうち、命令で指定された複数の要素データを1命令でアクセスできるメモリアクセス命令を命令セットに含み、前記プロセッサは、前記メモリアクセス命令に従って前記主記憶にアクセスする場合に、前記メモリアクセス命令ごとに指定されたキャッシュラインの有効/無効を判定するステップと、前記キャッシュライン中における要素データの有効な数又は位置の少なくとも1つと、に基づいてアクセス対象バンクへの最適なアクセス単位を判定するステップと、前記判定したアクセス単位でメモリアクセスリクエストを生成し、発行するステップと、を有することを特徴とするものである。 An information processing method according to a second aspect of the present invention is an information processing method in an information processing apparatus, wherein the information processing apparatus includes a processor having a cache memory, and a main memory including one or more memory banks. And a network connecting the processor and the main memory, and among the element data stored in the main memory, a memory access instruction that can access a plurality of element data designated by the instruction with one instruction in an instruction set The processor determines whether the cache line specified for each memory access instruction is valid / invalid when accessing the main memory according to the memory access instruction; and the validity of element data in the cache line Access to the bank to be accessed based on at least one of Determining a unit, the generating a memory access request with the determined access unit, it is characterized in that it has the steps of: issuing.
これにより、最適なメモリアクセス単位を判定し、メモリアクセス単位を切り替えてメモリアクセスリクエストを生成・発行することで、キャッシュメモリが無効な状態でキャッシュライン中の複数の要素データをアクセスするロード命令に関して、その実行性能を向上できる。 As a result, the optimum memory access unit is determined, the memory access unit is switched, and a memory access request is generated / issued, whereby the load instruction for accessing a plurality of element data in the cache line in a state where the cache memory is invalid The execution performance can be improved.
本発明によれば、キャッシュメモリが無効な状態でキャッシュライン中の複数の要素データをアクセスするロード命令に関して、その実行性能を向上できる情報処理装置及び情報処理方法を提供することができる。 According to the present invention, it is possible to provide an information processing apparatus and an information processing method capable of improving the execution performance of a load instruction that accesses a plurality of element data in a cache line when the cache memory is invalid.
本発明の実施の形態について説明するのに先立ち、図7を参照して本発明の原理について説明する。 Prior to describing the embodiment of the present invention, the principle of the present invention will be described with reference to FIG.
図に示すように、情報処理装置400は、キャッシュメモリを有するプロセッサ410と、1以上のメモリバンクで構成された主記憶420と、プロセッサ410と主記憶420とを接続するネットワーク430とを備える。また、情報処理装置400は、主記憶420に記憶された要素データのうち、命令で指定された複数の要素データを1命令でアクセスできるメモリアクセス命令を命令セットに含む。
As shown in the figure, the
プロセッサ410は、メモリアクセス命令に従って主記憶420にアクセスする場合に、メモリアクセス命令ごとに指定されたキャッシュラインの有効/無効と、そのキャッシュライン中における要素データの有効な数又は位置の少なくとも1つと、に基づいてアクセス対象バンクへの最適なアクセス単位を判定し、その判定したアクセス単位でメモリアクセスリクエストを生成し、発行するメモリアクセスリクエスト生成発行手段440を備えることを特徴とする。
When the
これにより、最適なメモリアクセス単位を判定し、メモリアクセス単位を切り替えてメモリアクセスリクエストを生成・発行することで、キャッシュメモリが無効な状態でキャッシュライン中の複数の要素データをアクセスするロード命令に関して、その実行性能を向上できる。 As a result, the optimum memory access unit is determined, the memory access unit is switched, and a memory access request is generated / issued, whereby the load instruction for accessing a plurality of element data in the cache line in a state where the cache memory is invalid The execution performance can be improved.
実施の形態1.
以下、図面を参照して本発明の実施の形態について説明する。
図1は、本実施の形態に係る情報処理装置の構成を示す図である。
図に示す様に、情報処理装置1は、プロセッサ100と、ネットワーク200と、主記憶300と、を備えて構成されている。
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 is a diagram showing a configuration of the information processing apparatus according to the present embodiment.
As illustrated, the
本実施の形態に係る情報処理装置1は、メモリアクセス命令を含む命令セットを有している。メモリアクセス命令は、複数の要素データを1命令でアクセスできるものであり、例えば、ベクトルロード命令やベクトルギャザー命令などである。また、情報処理装置1は、キャッシュメモリの有効/無効を、ソフトウェアを用いて指示する仕組みを備えている。
The
プロセッサ100は、演算部110と、命令発行制御部120と、複数のリクエストポート130と、複数のリプライポート140と、キャッシュメモリ(不図示)と、を備えている。本実施の形態では、キャッシュメモリのラインサイズは64Byteとする。
The
演算部110は、レジスタ111に格納されたデータを用いて演算を行う。
The
命令発行制御部120は、プログラム(不図示)の命令を実行順にデコードして、実行に必要な信号を発行する仕組みを備えている。また、命令発行制御部120は、圧縮可否判定部121と、メモリアクセスリクエスト生成発行部122と、を備えている。
The instruction
圧縮可否判定部121は、デコードされた命令がベクトルロード命令などのメモリアクセス命令であった場合に、メモリバンク320のメモリインターリーブ幅内の複数の要素データをアクセスするか否か、を判定する手段である。
The
メモリアクセスリクエスト生成発行部122は、メモリバンク320の幅単位でメモリアクセスリクエストを生成し、リクエストポート130へと発行する部分である。メモリアクセスリクエスト生成発行部122は、アドレス計算部123と、ゾーン情報生成部124と、メモリアクセス単位判定部125と、リクエストパケット生成部126と、を備えている。
The memory access request generation / issuance unit 122 is a part that generates a memory access request in units of the width of the
アドレス計算部123は、デコードされた命令に基づき、アクセス対象となるメモリバンク320について、そのバンクの先頭アドレスを算出する部分である。
The
ゾーン情報生成部124は、デコードされた命令に基づき、ゾーン情報を生成する部分である。ゾーン情報は、バンク内のアクセス対象とする要素データを指定する情報であり、メモリインターリーブ幅内に含まれる要素データに1対1に対応している。
The zone
メモリアクセス単位判定部125は、キャッシュの有効/無効指示と、ゾーン情報生成部123にて生成したゾーン情報と、に基づいて、各メモリアクセスリクエストの最適なメモリアクセス単位を判定する部分である。メモリアクセス単位判定部125は、各メモリアクセスリクエストがアクセスするメモリバンク320中の要素データについて、その要素データの有効な数または位置を、ゾーン情報を参照して調べ、その結果に応じて、最適なメモリアクセス単位を判定する。
The memory access
リクエストパケット生成部126は、命令種別とメモリアクセス単位判定部125の判定結果に基づいて、各メモリバンク320をアクセスするリクエストコマンドを生成する機能を有する。また、リクエストパケット生成部126は、生成したコマンドに加えて、リクエスト識別に必要な情報と、ゾーン情報生成部124にて生成したゾーン情報と、アドレス計算部123にて算出した先頭アドレスと、を合わせて、各メモリアクセスリクエストに対応したリクエストパケットを生成する部分である。
The request
リプライポート140は、ネットワーク200を通して主記憶300から転送されたリプライデータを受け取り、レジスタ111へと転送する部分である。
The
ネットワーク200は、プロセッサ100と主記憶300との間を接続するクロスバスイッチなどを用いて構成されている。ネットワーク200は、プロセッサ100から発行されたメモリアクセスリクエストを、そのリクエストパケット内のアドレスを参照して、該当するメモリバンク320に対応するメモリポート310へと転送する機能や、主記憶300から読み出したデータをリプライポート140へと転送する機能を備えている。
The
主記憶300は、バンク0からバンクNまでの複数のメモリバンク320と、各メモリバンク320に対応するメモリポート310と、を備えて構成されている。本実施の形態では、メモリアクセスの最小単位である要素データのサイズは8Byte、各メモリバンク320に対応するメモリインターリーブ幅はキャッシュラインと同じ64Byteである。また、メモリインターリーブを行うために、複数のメモリバンク320に対して、連続したアドレスを交互に割り当てている(例えば、アドレス0〜63をバンク0に割り当て、アドレス64〜127をバンク1に割り当てる。)。主記憶300は、受け取ったリクエストパケットを参照して、メモリバンク320からデータを読み出し、ネットワーク200を通して、リプライポート140にデータを送信する機能を有する。
The
次に、図2乃至図6を参照して、本実施の形態に係る情報処理装置の動作を説明する。
図2は、プロセッサ100の命令発行制御部120の動作を示すフローチャートである。命令発行制御部120は、図2に示す処理を命令ごとに実行する。
Next, the operation of the information processing apparatus according to the present embodiment will be described with reference to FIGS.
FIG. 2 is a flowchart showing the operation of the instruction
まず、命令発行制御部120は、命令のデコードを行う(S101)。デコードした命令がメモリアクセス命令以外の命令である場合(S102でNO)、命令発行制御部120は、メモリアクセス命令以外のその命令に対して、通常と同様の処理を行う(S103)。
First, the instruction
デコードした命令がメモリアクセス命令である場合(S102でYES)、圧縮可否判定部121は判定を行う(S104)。そして、ゾーン情報生成部124は、各メモリバンク320内のゾーン情報を生成する(S105)。
If the decoded instruction is a memory access instruction (YES in S102), the
メモリアクセス単位判定部125は、キャッシュメモリの有効/無効指示と、ゾーン情報生成部124が生成したゾーン情報と、に基づいて、各メモリバンク320への最適なメモリアクセス単位を判定する(S106)。
The memory access
ここで、メモリアクセス単位を判定する方法についてより詳細に説明する。メモリアクセス単位を判定する方法としては、有効要素の数に基づいてメモリアクセス単位を判定する方法と、有効要素の位置に基づいてメモリアクセス単位を判定する方法の、いずれか1つを少なくとも採用することができる。 Here, the method for determining the memory access unit will be described in more detail. As a method for determining the memory access unit, at least one of a method for determining the memory access unit based on the number of effective elements and a method for determining the memory access unit based on the position of the effective elements is employed. be able to.
まず、図3及び図4を参照して、有効要素数に基づいてメモリアクセス単位を判定する方法を説明する。
図3に示すように、メモリアクセス単位判定部125は、まず、キャッシュメモリの有効/無効の指示を受け、キャッシュメモリが有効であり、キャッシュメモリに格納する場合には(S201でYES)、ラインサイズである64Byteをメモリアクセス単位と判定する(S202)。
First, a method for determining a memory access unit based on the number of effective elements will be described with reference to FIGS.
As shown in FIG. 3, the memory access
キャッシュメモリに格納されない場合には(S201でNO)、メモリアクセス単位判定部125は、ゾーン情報に基づいてキャッシュライン中の有効要素の数を調べる。そして、メモリアクセス単位判定部125は、調べた有効要素数が閾値THより大きいか否かを判定する(S203)。閾値THは、ワードサイズ単位で主記憶300から読み出すよりも、ラインサイズ単位で主記憶300から読み出すほうが高効率となる要素数の閾値であり、所定の値が設定される。
If not stored in the cache memory (NO in S201), the memory access
有効要素数がTHよりも大きな場合(S203でYES)、メモリアクセス単位判定部125は、ラインサイズである64Byteを、メモリアクセス単位と判定する(S204)。有効要素数がTHよりも小さい場合(S203でNO)、メモリアクセス単位判定部125は、ワードサイズである8Byteをメモリアクセス単位と判定する(S205)。
When the number of valid elements is larger than TH (YES in S203), the memory access
図4に、有効要素数に基づくメモリアクセス単位の判定方法についての具体例を示す。
図4では、閾値TH=3となる主記憶300を備えた情報処理装置1が、キャッシュメモリが無効なベクトルギャザー命令を実行する際に、有効要素の数に基づいて最適なメモリアクセス単位を判定し、各メモリポート320へとリクエストを発行するようすを示している。
FIG. 4 shows a specific example of a method for determining a memory access unit based on the number of effective elements.
In FIG. 4, when the
次に、図5及び図6を参照して、有効要素位置に基づいてメモリアクセス単位を判定する方法を説明する。
図5に示すように、メモリアクセス単位判定部125は、まず、キャッシュメモリの有効/無効の指示を受け、キャッシュメモリが有効であり、キャッシュメモリに格納する場合には(S301でYES)、ラインサイズである64Byteをメモリアクセス単位と判定する(S302)。
Next, a method for determining the memory access unit based on the effective element position will be described with reference to FIGS.
As shown in FIG. 5, the memory access
キャッシュメモリに格納されない場合には(S301でNO)、メモリアクセス単位判定部125は、ゾーン情報に基づいてキャッシュライン中の有効要素の位置を調べる。そして、メモリアクセス単位判定部125は、調べた有効要素の位置がゾーン情報の前半に収まっているか否かを判定する(S303)。
If not stored in the cache memory (NO in S301), the memory access
有効要素がゾーン情報の前半に収まっている場合(S303でYES)、メモリアクセス単位判定部125は、メモリインターリーブ幅の前半をアクセスする32Byteを、メモリアクセス単位と判定する(S304)。
When the valid elements are within the first half of the zone information (YES in S303), the memory access
有効要素の位置がゾーン情報の前半に収まっていない場合には(S303でNO)、メモリアクセス単位判定部125は、有効要素の位置がゾーン情報の後半に収まっているか否かを調べる(S305)。
When the position of the valid element does not fit in the first half of the zone information (NO in S303), the memory access
有効要素がゾーン情報の後半に収まっている場合(S305でYES)、メモリアクセス単位判定部125は、メモリインターリーブ幅の後半をアクセスする32Byteを、メモリアクセス単位と判定する(S306)。有効要素がゾーン情報の後半にも収まっていない場合には(S305でNO)、メモリアクセス単位判定部125は、ラインサイズ単位をメモリアクセス単位と判定する(S307)。
When the valid elements are within the second half of the zone information (YES in S305), the memory access
図6に、有効要素位置に基づくメモリアクセス単位の判定方法についての具体例を示す。
図6では、閾値TH=3となる主記憶300を備えた情報処理装置1が、キャッシュメモリが無効なベクトルギャザー命令を実行する際に、有効要素の位置に基づいて最適なメモリアクセス単位を判定し、各メモリポート320へとリクエストを発行するようすを示している。
FIG. 6 shows a specific example of the memory access unit determination method based on the effective element position.
In FIG. 6, when the
図2に戻って説明を続ける。
リクエストパケット生成部126は、メモリアクセス単位判定部125の判定結果を受けて、各メモリバンク320をアクセスするリクエストコマンドを生成する。そして、リクエストパケット生成部126は、アドレス計算部123が算出したアドレスと、ゾーン情報生成部124が生成したゾーン情報と、その他リクエスト識別のための情報などと、をまとめて、対応するメモリバンク向けのリクエストパケットを生成する(S107)。
Returning to FIG. 2, the description will be continued.
The request
メモリアクセスリクエスト生成発行部122は、リクエストポート130を通して、リクエストパケットをネットワーク200へと発行する。
The memory access request generation / issuance unit 122 issues a request packet to the
メモリアクセスリクエスト生成発行部122は、これらS105〜S107にかけての処理を、ベクトル長だけ処理できるまでの間、繰り返す。 The memory access request generation / issuance unit 122 repeats the processes from S105 to S107 until the vector length can be processed.
ネットワーク200は、発行されたメモリアクセスリクエストを、そのリクエスト内のアドレスに基づいて特定されるメモリバンク320のメモリポート310へと転送する。
The
主記憶300は、リクエストパケットで指定されたデータを、メモリバンク320から読み出し、ネットワーク200へと転送する。
The
ネットワーク200は、リクエストパケットで指定されたデータを、対応するリプライポート140へと転送する。
The
プロセッサ100は、必要なリプライを受け取ってレジスタ111に格納し、処理を終了する。
The
以上説明したように、本実施の形態によれば、キャッシュライン単位でメモリバンクごとにメモリインターリーブされる情報処理装置1について、キャッシュメモリが無効な状態においてキャッシュライン中の複数の要素データにアクセスするロード命令に関して、命令がメモリインターリーブ幅内の要素データをいくつアクセスするか、または、そのメモリインターリーブ幅内のアクセスする位置を判定することで、該当バンクへの最適なアクセス単位を判定し、そのアクセス単位でメモリアクセスリクエストを生成して発行することで、実行性能を向上することができる。
As described above, according to the present embodiment, the
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
例えば、上述した実施の形態では、有効要素数に基づいてメモリアクセス単位を判定する方法と、有効要素位置に基づいてメモリアクセス単位を判定する方法のいずれか1つの方法を採用することができるとして説明したが、本発明はこれに限定されず、両方の方法を採用することもできる。
Note that the present invention is not limited to the above-described embodiment, and can be changed as appropriate without departing from the spirit of the present invention.
For example, in the above-described embodiment, it is possible to employ any one of the method of determining the memory access unit based on the number of effective elements and the method of determining the memory access unit based on the effective element position. Although described, this invention is not limited to this, Both methods can also be employ | adopted.
例えば、メモリアクセス単位を判定する方法として、まずは有効要素の位置を判定し、有効要素の位置が前半にも後半にも収まっていない場合には、有効要素数の判定をさらに行う等の方法を採用することもできる。 For example, as a method of determining the memory access unit, first, the position of the effective element is determined. If the position of the effective element is not within the first half or the second half, the number of effective elements is further determined. It can also be adopted.
また、有効要素位置に基づいてメモリアクセス単位を判定する方法に関して、上述した実施の形態では、位置の判定基準を前半/後半として、ラインサイズの半分単位に基づいて判定しているが、本発明はこれに限定されず、4分の1単位など、より細かく判定することもできる。 Further, regarding the method of determining the memory access unit based on the effective element position, in the above-described embodiment, the position determination criterion is the first half / second half, and the determination is based on the half unit of the line size. Is not limited to this, and can be determined more finely, such as a quarter unit.
また、上述した実施の形態では、キャッシュメモリの有効/無効をソフトウェア指示として説明したが、本発明はこれに限定されず、ページバイパス属性などのHW処理に基づいて判定して行うことも可能である。 In the above-described embodiment, the cache memory valid / invalid has been described as a software instruction. However, the present invention is not limited to this, and can be determined based on HW processing such as a page bypass attribute. is there.
また、メモリインターリーブ幅はキャッシュライン単位に限定されず、ワード単位よりも大きなブロックサイズでロードを行う装置であれば、本発明と同様の仕組みを実施できる。 Further, the memory interleave width is not limited to the cache line unit, and a mechanism similar to that of the present invention can be implemented as long as the device performs loading with a block size larger than the word unit.
また、実装の形態として、マルチコアのプロセッサや、メモリコントローラがプロセッサ内に組み込まれた構成であっても、本発明と同様の仕組みを実施することが可能である。 Further, as a form of mounting, even if a multi-core processor or a memory controller is incorporated in the processor, the same mechanism as that of the present invention can be implemented.
1 情報処理装置、
100 プロセッサ、
110 演算部、
111 レジスタ、
120 命令発行制御部、
121 圧縮可否判定部、
122 メモリアクセスリクエスト生成発行部、
123 アドレス計算部、
124 ゾーン情報生成部、
125 メモリアクセス単位判定部、
126 リクエストパケット生成部、
130 リクエストポート、
140 リプライポート、
200 ネットワーク、
300 主記憶、
310 メモリポート、
320 メモリバンク
400 情報処理装置、
410 プロセッサ、
420 主記憶、
430 ネットワーク、
440 メモリアクセスリクエスト生成発行手段
1 Information processing device,
100 processors,
110 arithmetic unit,
111 registers,
120 instruction issue control unit,
121 Compressibility determination unit,
122 memory access request generation and issue unit,
123 Address calculator,
124 zone information generator,
125 memory access unit determination unit,
126 request packet generator,
130 request port,
140 reply port,
200 network,
300 main memory,
310 memory port,
320
410 processor,
420 Main memory,
430 network,
440 Memory access request generation issuing means
Claims (4)
1以上のメモリバンクで構成された主記憶と、
前記プロセッサと前記主記憶とを接続するネットワークとを備え、
前記主記憶に記憶された要素データのうち、命令で指定された複数の要素データを1命令でアクセスできるメモリアクセス命令を命令セットに含み、
前記プロセッサは、
前記メモリアクセス命令に従って前記主記憶にアクセスする場合に、前記メモリアクセス命令ごとに指定されたキャッシュラインの有効/無効の指示を受け、当該キャッシュラインが無効である場合に、当該キャッシュライン中における要素データの有効な位置に応じて、アクセス対象バンクへのアクセス単位を判定し、当該判定したアクセス単位でメモリアクセスリクエストを生成し、発行するメモリアクセスリクエスト生成発行手段を備える
ことを特徴とする情報処理装置。 A processor having a cache memory;
A main memory composed of one or more memory banks;
A network connecting the processor and the main memory;
Among the element data stored in the main memory, the instruction set includes a memory access instruction that can access a plurality of element data specified by the instruction with one instruction,
The processor is
When accessing the main memory in accordance with the memory access instruction, an instruction for valid / invalid of the cache line designated for each memory access instruction is received, and when the cache line is invalid, an element in the cache line depending on the effective position data, and characterized in that to determine the access unit to access target banks, and generates a memory access request in the access units and the determination, a memory access request generating issuing means for issuing Information processing apparatus.
ことを特徴とする請求項1に記載の情報処理装置。 The memory access request generation and issuance means is information for designating element data to be accessed in a bank based on the memory access instruction, and has a one-to-one correspondence with element data included in the memory interleave width It generates information, by referring to the zone information thus generated, the information processing apparatus according to claim 1, characterized in that to examine the effective position of the element data in the said cache line.
ベクトルロード命令又はベクトルギャザー命令の少なくとも1を含む
ことを特徴とする請求項1又は2に記載の情報処理装置。 The memory access instruction is
Vector load instruction or the information processing apparatus according to claim 1 or 2, characterized in that it comprises at least one vector gather instruction.
前記情報処理装置は、
キャッシュメモリを有するプロセッサと、
1以上のメモリバンクで構成された主記憶と、
前記プロセッサと前記主記憶とを接続するネットワークとを備え、
前記主記憶に記憶された要素データのうち、命令で指定された複数の要素データを1命令でアクセスできるメモリアクセス命令を命令セットに含み、
前記プロセッサは、
前記メモリアクセス命令に従って前記主記憶にアクセスする場合に、前記メモリアクセス命令ごとに指定されたキャッシュラインの有効/無効を判定するステップと、
前記判定したキャッシュラインが無効である場合に、前記キャッシュライン中における要素データの有効な位置に応じて、アクセス対象バンクへのアクセス単位を判定するステップと、
前記判定したアクセス単位でメモリアクセスリクエストを生成し、発行するステップと、を有する
ことを特徴とする情報処理方法。 An information processing method in an information processing apparatus,
The information processing apparatus includes:
A processor having a cache memory;
A main memory composed of one or more memory banks;
A network connecting the processor and the main memory;
Among the element data stored in the main memory, the instruction set includes a memory access instruction that can access a plurality of element data specified by the instruction with one instruction,
The processor is
Determining the validity / invalidity of a cache line designated for each memory access instruction when accessing the main memory in accordance with the memory access instruction;
When the determined cache line is invalid, in accordance with the effective position of the element data in the said cache line, and determining the access unit to access target banks,
Generating and issuing a memory access request in the determined access unit.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010268337A JP5477267B2 (en) | 2010-12-01 | 2010-12-01 | Information processing apparatus and information processing method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010268337A JP5477267B2 (en) | 2010-12-01 | 2010-12-01 | Information processing apparatus and information processing method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2012118786A JP2012118786A (en) | 2012-06-21 |
| JP5477267B2 true JP5477267B2 (en) | 2014-04-23 |
Family
ID=46501527
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2010268337A Expired - Fee Related JP5477267B2 (en) | 2010-12-01 | 2010-12-01 | Information processing apparatus and information processing method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5477267B2 (en) |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2728591B2 (en) * | 1992-01-31 | 1998-03-18 | 富士通株式会社 | Information processing device |
| JP5223220B2 (en) * | 2007-03-30 | 2013-06-26 | 日本電気株式会社 | Vector processing apparatus and vector processing system |
-
2010
- 2010-12-01 JP JP2010268337A patent/JP5477267B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2012118786A (en) | 2012-06-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6143872B2 (en) | Apparatus, method, and system | |
| KR20100037313A (en) | Secure memory interface, system and smart card including the same | |
| US20170010967A1 (en) | Using l1 cache as re-order buffer | |
| CN110806900A (en) | Memory access instruction processing method and processor | |
| CN117421259A (en) | Serving CPU demand requests with in-flight prefetching | |
| JP2018045438A (en) | Parallel processor, transmit program, reception program and data transfer method | |
| JP5625809B2 (en) | Arithmetic processing apparatus, information processing apparatus and control method | |
| CN114661357A (en) | System, apparatus, and method for prefetching physical pages in a processor | |
| JP5477267B2 (en) | Information processing apparatus and information processing method | |
| US20120173850A1 (en) | Information processing apparatus | |
| JP4985452B2 (en) | Vector processing equipment | |
| US7134004B1 (en) | Processing device for buffering sequential and target sequences and target address information for multiple branch instructions | |
| KR100532417B1 (en) | The low power consumption cache memory device of a digital signal processor and the control method of the cache memory device | |
| KR101100143B1 (en) | Cache memory control device, and pipeline control method | |
| JP5182175B2 (en) | Information processing device | |
| US20090300313A1 (en) | Memory clearing apparatus for zero clearing | |
| JP4413663B2 (en) | Instruction cache system | |
| JP2008257508A (en) | Cache control method, cache device, and microcomputer | |
| JP5170050B2 (en) | Hardware processor, hardware processor control method, and information processing apparatus | |
| US6922767B2 (en) | System for allowing only a partial value prediction field/cache size | |
| JP5223220B2 (en) | Vector processing apparatus and vector processing system | |
| JP5445701B1 (en) | Flash control device, flash control method, and cache memory device | |
| JP5091548B2 (en) | Memory system | |
| JP4111645B2 (en) | Memory bus access control method after cache miss | |
| US20070180195A1 (en) | Method and apparatus for allowing uninterrupted address translations while performing address translation cache invalidates and other cache operations |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130430 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130521 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130718 |
|
| 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: 20140114 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140127 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5477267 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |