JP2924708B2 - Information processing device - Google Patents

Information processing device

Info

Publication number
JP2924708B2
JP2924708B2 JP7113740A JP11374095A JP2924708B2 JP 2924708 B2 JP2924708 B2 JP 2924708B2 JP 7113740 A JP7113740 A JP 7113740A JP 11374095 A JP11374095 A JP 11374095A JP 2924708 B2 JP2924708 B2 JP 2924708B2
Authority
JP
Japan
Prior art keywords
data
address
storage device
relocation
bus
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
Application number
JP7113740A
Other languages
Japanese (ja)
Other versions
JPH08286928A (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
Nippon Electric Co Ltd
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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP7113740A priority Critical patent/JP2924708B2/en
Publication of JPH08286928A publication Critical patent/JPH08286928A/en
Application granted granted Critical
Publication of JP2924708B2 publication Critical patent/JP2924708B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は主記憶の内容の写しを保
持するキャッシュメモリを備えた情報処理装置に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing apparatus having a cache memory for holding a copy of the contents of a main memory.

【0002】[0002]

【従来の技術】プロセッサの性能は半導体技術の向上や
アーキテクチャ的な工夫によって著しく向上している
が、データを記憶する主記憶装置のアクセスタイムはプ
ロセッサの性能向上に追いついておらず、メモリアクセ
スのコストが相対的に増大している。高性能プロセッサ
では、メモリアクセスの時間的局所性や空間的局所性を
活用して、高速なキャッシュメモリを設けることによっ
て、このメモリアクセスコストを低減し、この問題に対
処している。しかしながら、大規模な科学技術計算の中
にはメモリアクセスの局所性がほとんどないため、キャ
ッシュメモリが有効に働かず、メモリアクセスによる遅
延によって汎用のプロセッサでこれらの計算を高速処理
するのは難しいという問題があった。
2. Description of the Related Art The performance of a processor has been remarkably improved by the improvement of semiconductor technology and architectural measures. However, the access time of a main storage device for storing data has not been able to keep up with the performance of the processor. Costs are increasing relatively. High-performance processors reduce the memory access cost and address this problem by providing a high-speed cache memory by utilizing the temporal locality and spatial locality of memory access. However, since there is almost no locality of memory access in large-scale scientific and technical calculations, cache memory does not work effectively, and it is difficult to process these calculations at high speed with a general-purpose processor due to delay due to memory access. There was a problem.

【0003】このような大規模な科学技術計算を高速に
処理するために、従来のスーパコンピュータでは、主記
憶へのバンド幅を増やしたり、計算のデータのための大
容量のベクトルレジスタを用意し、キャッシュメモリに
頼らないシステムを構成していることは周知の技術であ
る(例えば、情報処理学会学会誌Vol.34,NO.3,pp.361-
371,1993)。このような計算機の構成例を図6に示す。
図6において、ベクトルレジスタ905は、レジスタ記
憶装置908と、その読み出しと書き込みを行う位置を
指定する読み出しポインタ909,読み出しセレクタ9
11,書き込みポインタ910および書き込みセレクタ
912と、加算器913などから構成されており、主記
憶装置901上の不連続配置のデータを連続的にロード
パイプライン902からロードし、演算パイプライン9
04で連続的に演算を行えるようになっている。なお、
903はストアパイプライン、906はレジスタ書き込
み用バス、907はレジスタ読み出し用バスである。こ
のようなシステム構成はコストが高くなり、用途が限定
されてしまうという問題が生じる。
In order to process such large-scale scientific and technological calculations at high speed, a conventional supercomputer increases the bandwidth to main memory or prepares a large-capacity vector register for calculation data. It is a well-known technology to configure a system that does not rely on cache memory (for example, Journal of Information Processing Society of Japan Vol. 34, NO. 3, pp. 361-
371, 1993). FIG. 6 shows a configuration example of such a computer.
In FIG. 6, a vector register 905 includes a register storage device 908, a read pointer 909 for designating a position where reading and writing are performed, and a read selector 9
11, a write pointer 910, a write selector 912, an adder 913, and the like. Data in a discontinuous arrangement on the main storage device 901 is continuously loaded from the load pipeline 902, and the operation pipeline 9
In step 04, calculations can be performed continuously. In addition,
903 is a store pipeline, 906 is a register write bus, and 907 is a register read bus. Such a system configuration has a problem that the cost is high and the application is limited.

【0004】また、汎用のマイクロプロセッサに、上述
のようなベクトルレジスタやそれに代わる専用のレジス
タを付加して、前述のような科学技術計算に適用しよう
とする技術もいくつか提案されている。例えば、中村氏
らが1993年に発表した論文(中村 宏,位守 弘
充,中澤 喜三郎,「レジスタウィンドウ方式を用いた
疑似ベクトルプロセッサの評価」,情報処理学会論文誌
Vol,34,No.4,pp669-680,1993)では、科学技術計算に用
いられる浮動小数点を格納するレジスタをウィンドウ方
式で拡張して、このレジスタに値をプリフェッチするこ
とによって、主記憶装置のレイテンシ問題に対処してい
る。この方式による浮動小数点レジスタの構成を図7に
示す。この方式では、ローカルレジスタ1006,オー
バラップレジスタ1007,グローバルレジスタ100
8から構成される物理レジスタ1001をハードウェア
で用意し、ウィンドウを切り替えることによって、現在
有効であるレジスタを切り替える。これによって、演算
に使用しているレジスタ以外のレジスタに対するデータ
のロード、ストアを演算と同時に行うことができ、演算
の効率が向上する。なお、図7において、1002〜1
005は物理レジスタで、それぞれウィンドウ0〜3に
対応している。
There have also been proposed some techniques for adding the above-described vector register and a dedicated register instead of the above-described vector register to a general-purpose microprocessor, and applying the above-described vector register to scientific and technological calculations as described above. For example, a paper published by Nakamura et al. In 1993 (Hiroshi Nakamura, Hiromitsu Domori, Kisaburo Nakazawa, "Evaluation of pseudo vector processor using register window method", IPSJ Journal Vol. 34, No. 4, pp. 669-680, 1993) addresses the latency problem of the main storage device by extending the register for storing the floating point used for scientific and technical calculations in a window system and prefetching the value into this register. FIG. 7 shows the configuration of the floating-point register according to this method. In this method, the local register 1006, the overlap register 1007, the global register 100
8 is prepared by hardware, and the currently valid register is switched by switching windows. As a result, data can be loaded and stored into registers other than the register used for the operation at the same time as the operation, and the efficiency of the operation is improved. In addition, in FIG.
Reference numeral 005 denotes a physical register, which corresponds to windows 0 to 3, respectively.

【0005】[0005]

【発明が解決しようとする課題】しかしながら、上記の
処理方式は、数値計算に特化した専用レジスタを用意す
るため、大規模計算に必要充分なレジスタを用意するの
はコストが大きい。また、レジスタが有効に使用できる
用途以外では、これらの資源を活用できない。従って、
価格性能比の向上を要求される汎用のプロセッサには採
用することは難しい。このため、通常のキャッシュメモ
リを有する汎用プロセッサを用いらざるを得ないが、不
連続配置のデータを用いる計算を従来の汎用プロセッサ
で実行した場合、 ・データ参照の局所性が少ないため、キャッシュのヒッ
ト率が低下し、主記憶装置のアクセス遅延が隠蔽できな
くなる。従って、演算パイプラインを有する汎用プロセ
ッサでは、所望データの供給が追いつかないためにパイ
プラインストールが多く発生する。 ・キャッシュメモリでは、所定サイズのラインと呼ばれ
る単位(例えば4ワード)でデータをキャッシングする
ため、1つのデータを読み出す場合にも計算に不必要な
隣接する複数のデータもキャッシングされてしまう。と
いう問題が生じ、性能低下の要因となる。
However, in the above-mentioned processing method, dedicated registers specializing in numerical calculations are prepared, so that it is costly to prepare registers necessary and sufficient for large-scale calculations. In addition, these resources cannot be used for purposes other than those in which registers can be used effectively. Therefore,
It is difficult to adopt it for a general-purpose processor that is required to improve the price-performance ratio. For this reason, a general-purpose processor having a normal cache memory must be used.However, when a calculation using discontinuous data is executed by a conventional general-purpose processor, The hit ratio decreases, and the access delay of the main storage device cannot be concealed. Therefore, in a general-purpose processor having an arithmetic pipeline, the supply of desired data cannot keep up, and a large number of pipeline stalls occur. In the cache memory, data is cached in a unit called a line of a predetermined size (for example, 4 words). Therefore, even when one piece of data is read, a plurality of adjacent data unnecessary for calculation is also cached. This causes a problem of performance degradation.

【0006】そこで本発明では、汎用プロセッサに広く
使用されているキャッシュメモリを不連続配置のデータ
に対して有効に活用できるようにしてキャッシュのヒッ
ト率を高め、上述した問題を解決しようとするものであ
る。
Accordingly, the present invention is to solve the above-mentioned problem by increasing the cache hit rate by effectively utilizing a cache memory widely used in general-purpose processors for data arranged discontinuously. It is.

【0007】[0007]

【課題を解決するための手段】上記問題を解決するため
に、本発明の情報処理装置は、主記憶装置よりも高速な
記憶装置であって再配置したデータを記憶するためのデ
ータ再配置用記憶装置と、主記憶装置上に不連続に存在
する一連のデータをデータ再配置用記憶装置上に連続す
る一連のデータとして再配置する、プロセッサコアとは
別に設けられたアドレス変換装置とを備え、キャッシュ
メモリはデータ再配置用記憶装置の内容および主記憶装
置の内容の写しを保持するようにし、また主記憶装置上
に不連続に存在する一連のデータを使用するアプリケー
ションプログラムは、前記再配置後のデータをアクセス
するように構成されている。
In order to solve the above-mentioned problems, an information processing apparatus according to the present invention has a higher speed than a main storage device.
A storage device for data relocation for storing the relocated data, and a series of data discontinuously present on the main storage device as a series of data continuous on the data relocation storage device. What is a processor core to be relocated?
A cache memory that holds a copy of the contents of the data relocation storage device and the contents of the main storage device, and a series of data that is discontinuously present on the main storage device. Is configured to access the data after the relocation.

【0008】また、別の実施例においては、再配置した
データを記憶するために前記データ再配置用記憶装置に
代えて主記憶装置上のデータ再配置領域を使用し、アド
レス変換装置は主記憶装置上に不連続に存在する一連の
データを前記データ再配置領域上に連続する一連のデー
タとして再配置し、キャッシュメモリは主記憶装置の内
容の写しを保持するようにし、主記憶装置上に不連続に
存在する一連のデータを使用するアプリケーションプロ
グラムは、前記再配置後のデータをアクセスするように
構成される。
In another embodiment, a data relocation area on a main storage device is used in place of the data relocation storage device to store the relocated data, and the address translation device uses a main storage device. A series of data that is discontinuously present on the device is rearranged as a series of continuous data on the data relocation area, and the cache memory holds a copy of the contents of the main storage device. An application program that uses a discontinuous set of data is configured to access the rearranged data.

【0009】アドレス変換装置は、主記憶装置上に不連
続に存在する一連のデータのアドレスが或る規則性を持
っている場合には、その規則性を示す再配置情報に従っ
て再配置すべきデータの読み出しを行い、主記憶装置上
に不連続に存在する一連のデータのアドレスが、主記憶
装置上の別の箇所に格納されたポインタで示される場合
には、そのポインタの格納アドレスを示す再配置情報に
従ってポインタの読み出しと再配置すべきデータの読み
出しとを行う。
When the address of a series of data discontinuously existing in the main storage device has a certain regularity, the address translating device relocates the data to be relocated according to the relocation information indicating the regularity. When the address of a series of data discontinuously present on the main storage device is indicated by a pointer stored in another location on the main storage device, the read address indicating the storage address of the pointer is read again. The reading of the pointer and the reading of the data to be relocated are performed according to the location information.

【0010】[0010]

【作用】本発明においては、アプリケーションプログラ
ムが使用する、主記憶装置上に不連続に存在する一連の
データを、アドレス変換装置が、主記憶装置とは別のデ
ータ再配置用記憶装置上または主記憶装置上に設けられ
たデータ再配置領域上に、アドレスの連続する一連のデ
ータとして再配置し、キャッシュメモリがこの再配置後
のデータをキャッシング対象とする。
According to the present invention, a series of data discontinuously present on a main storage device used by an application program is transferred from an address translation device to a data relocation storage device separate from the main storage device or to a main storage device. The data is rearranged as a series of data having continuous addresses on a data rearrangement area provided on the storage device, and the cache memory sets the data after the rearrangement as a cache target.

【0011】[0011]

【実施例】図2は本発明の一実施例の情報処理装置にお
けるメモリアクセスの概念図である。本実施例において
は、プロセッサコア101上で動作するソフトウェアが
アクセスする仮想アドレス空間201中に存在する不連
続配置データ206を、データ再配置仮想アドレス空間
202上で連続データ205としてアクセス可能になる
ように再配置を行う。このために、物理アドレス空間上
にデータ再配置メモリ空間203を用意し、アドレス変
換装置107を用いて物理アドレス空間204上の不連
続データ208(不連続配置データ206に対応する)
を、データ再配置メモリ空間203上に連続データ20
7(連続データ205に対応する)としてコピーするも
のである。
FIG. 2 is a conceptual diagram of memory access in an information processing apparatus according to one embodiment of the present invention. In the present embodiment, the discontinuous arrangement data 206 existing in the virtual address space 201 accessed by the software operating on the processor core 101 can be accessed as the continuous data 205 on the data rearrangement virtual address space 202. Rearrange. For this purpose, a data rearrangement memory space 203 is prepared on the physical address space, and discontinuous data 208 (corresponding to the discontinuous layout data 206) on the physical address space 204 using the address translator 107.
Is stored in the data relocation memory space 203.
7 (corresponding to the continuous data 205).

【0012】このように再配置されたデータは、別の仮
想アドレス空間に写像される。従って、不連続データを
アクセスするアプリケーションコードは、別アドレス空
間の連続データをアクセスするように書き替えられてい
る。この書き替えは、ユーザやコンパイラによって行わ
れる。
The data thus rearranged is mapped to another virtual address space. Therefore, the application code for accessing discontinuous data is rewritten to access continuous data in another address space. This rewriting is performed by a user or a compiler.

【0013】図1は図2で説明したようなデータ再配置
機能を備えた本発明の情報処理装置の一実施例の要部ブ
ロック図である。図1において、プロセッサコア101
は演算パイプラインやレジスタセットから構成される通
常のプロセッサのコア部分である。プロセッサコア10
1は、必要なデータの読み出しと書き込みの為にプロセ
ッサデータバス151によりキャッシュメモリインタフ
ェース103と接続されている。キャッシュメモリイン
タフェース103は、キャッシュデータバス153及び
キャッシュアドレスバス167によりキャッシュメモリ
104に接続されると共に、主記憶装置データバス15
2及び主記憶装置物理アドレスバス166により主記憶
装置インタフェース105に接続され、主記憶装置イン
タフェース105は主記憶装置内部データバス154及
び主記憶装置内部アドレスバス168により主記憶装置
106に接続されている。また、仮想アドレスを物理ア
ドレスに変換するためにTLB(Translation Lookasid
e Buffer)102が設けられており、プロセッサコア1
01とプロセッサ仮想アドレスバス165及びTLB制
御線181で接続され、キャッシュメモリインタフェー
ス103とアドレスバス175で接続されている。ここ
までの部分は通常のプロセッサと相違ない。
FIG. 1 is a block diagram of a main part of an embodiment of an information processing apparatus of the present invention having a data rearrangement function as described in FIG. In FIG. 1, a processor core 101
Is a core part of a normal processor composed of an operation pipeline and a register set. Processor core 10
1 is connected to the cache memory interface 103 by a processor data bus 151 for reading and writing necessary data. The cache memory interface 103 is connected to the cache memory 104 by the cache data bus 153 and the cache address bus 167, and
2 and the main storage device physical address bus 166, and the main storage device interface 105 is connected to the main storage device 106 by the main storage device internal data bus 154 and the main storage device internal address bus 168. . Also, in order to convert a virtual address into a physical address, a TLB (Translation Lookasid) is used.
e Buffer) 102 and processor core 1
01 is connected to the processor virtual address bus 165 and the TLB control line 181, and is connected to the cache memory interface 103 via the address bus 175. The part so far is no different from a normal processor.

【0014】本実施例ではさらに、データ再配置のため
に、アドレス変換装置107と、データ再配置用記憶装
置109と、データ再配置用記憶装置インタフェース1
08とが備えられている。
In this embodiment, further, for data relocation, the address translator 107, the data relocation storage device 109, and the data relocation storage device interface 1
08 is provided.

【0015】アドレス変換装置107は、キャッシュメ
モリインタフェース103と信号線183,アドレス変
換主記憶装置アクセス用物理アドレスバス173および
アドレス変換装置用リードデータバス157で接続さ
れ、主記憶装置インタフェース105とアドレス変換主
記憶装置アクセス用物理アドレスバス173,アドレス
変換装置用リードデータバス158及びアドレス変換装
置用ライトデータバス159で接続され、TLB102
とアドレス変換用仮想アドレスバス171,172およ
び信号線186で接続され、更に、データ再配置用記憶
装置インタフェース108とアドレス変換再配置用記憶
装置アクセス用物理アドレスバス174,アドレス変換
装置用ライトデータバス160およびアドレス変換装置
用リードデータバス162で接続されている。また、デ
ータ再配置用記憶装置インタフェース108はデータ再
配置用記憶装置データバス155及びデータ再配置用物
理アドレスバス169によりキャッシュメモリインタフ
ェース103にも接続され、更にデータ再配置用記憶装
置内部データバス156及びデータ再配置用内部アドレ
スバス170を介してデータ再配置用記憶装置109に
接続されている。
The address translator 107 is connected to the cache memory interface 103 via a signal line 183, a physical address bus 173 for accessing an address translation main storage device, and a read data bus 157 for an address translation device. The TLB 102 is connected by a main storage device access physical address bus 173, an address translation device read data bus 158, and an address translation device write data bus 159.
, An address conversion virtual address bus 171, 172 and a signal line 186, and further, a data relocation storage device interface 108, an address conversion relocation storage device access physical address bus 174, and an address conversion device write data bus 160 and the address conversion device read data bus 162. The data relocation storage device interface 108 is also connected to the cache memory interface 103 by a data relocation storage device data bus 155 and a data relocation physical address bus 169, and furthermore, the data relocation storage device internal data bus 156. Also, it is connected to the data relocation storage device 109 via the data relocation internal address bus 170.

【0016】アドレス変換装置107は、再配置をソフ
トウェアから指定するための特殊レジスタ131,再配
置後の物理アドレスを生成するための再配置アドレス生
成装置132,再配置元の物理アドレスを生成するため
の物理アドレス生成装置133,全体の制御を行うシー
ケンサ134,変換情報を保存する変換情報テーブル装
置135を有し、また、実際にデータを再配置するため
に、リードバッファ136,シフタ137,マルチプレ
クサ138,ライトバッファ139,ライトバス140
およびリードバス141を備えている。
The address translator 107 is a special register 131 for specifying relocation from software, a relocation address generator 132 for generating a physical address after relocation, and a relocation source physical address. A physical address generating device 133, a sequencer 134 for controlling the entire system, and a conversion information table device 135 for storing conversion information. In addition, a read buffer 136, a shifter 137, and a multiplexer 138 are provided for actually relocating data. , Write buffer 139, write bus 140
And a read bus 141.

【0017】特殊レジスタ131は、プロセッサコア1
01と特殊レジスタアクセス制御線182により、変換
情報テーブル装置135と変換情報テーブル入出力バス
184により、シーケンサ134と信号線191によ
り、物理アドレス生成装置133と信号線193によ
り、それぞれ接続される。シーケンサ134は特殊レジ
スタ131に接続されると共に、TLB102と信号線
186により接続され、また再配置アドレス生成装置1
32,物理アドレス生成装置133,リードバッファ1
36,シフタ137,マルチプレクサ138およびライ
トバッファ139の制御のためにそれらとシーケンサ制
御線185により接続されている。再配置アドレス生成
装置132は、制御線185によりシーケンサ134か
らの制御を受けて、シーケンサ134から信号線194
を通じて伝達される値とTLB102から供給される物
理アドレスとから再配置アドレスを生成し、アドレス変
換再配置用記憶装置アクセス用物理アドレスバス174
を通じてデータ再配置用記憶装置インタフェース108
に伝達する。物理アドレス生成装置133は、制御線1
85によりシーケンサ134からの制御を受けて、アド
レス変換用物理アドレスバス172を通じてTLB10
2から供給される物理アドレスと信号線193を通じて
特殊レジスタ131から供給される値とからアドレス変
換用物理アドレスを生成し、アドレス変換用物理アドレ
スバス173を通じてキャッシュメモリインタフェース
103及び主記憶装置インタフェース105に伝達す
る。
The special register 131 is a processor core 1
01, the special register access control line 182, the conversion information table device 135 and the conversion information table input / output bus 184, the sequencer 134 and the signal line 191, the physical address generation device 133 and the signal line 193, respectively. The sequencer 134 is connected to the special register 131, connected to the TLB 102 by a signal line 186, and
32, physical address generator 133, read buffer 1
36, a shifter 137, a multiplexer 138, and a write buffer 139, which are connected to the sequencer control line 185 for control. The relocation address generation device 132 receives control from the sequencer 134 through the control line 185 and
A relocation address is generated from the value transmitted through the TLB 102 and the physical address supplied from the TLB 102, and a physical address bus 174 for accessing a storage device for address translation and relocation.
Storage interface 108 for data relocation through
To communicate. The physical address generation device 133 controls the control line 1
85 receives control from the sequencer 134 and sends the TLB 10 through the physical address bus 172 for address conversion.
2 and a value supplied from the special register 131 via the signal line 193, and generates a physical address for address conversion to the cache memory interface 103 and the main memory interface 105 via the physical address bus for address conversion 173. introduce.

【0018】また、ライトバス140は、アドレス変換
装置用ライトデータバス159により主記憶装置インタ
フェース105に、アドレス変換装置用ライトデータバ
ス160によりデータ再配置用記憶装置インタフェース
108に、アドレス変換装置用ライトデータバス161
によりライトバッファ139に接続される。リードバス
141は、アドレス変換装置用リードデータバス157
によりキャッシュメモリインタフェース103に、アド
レス変換装置用リードデータバス158により主記憶装
置インタフェース105に、アドレス変換装置用リード
データバス162によりデータ再配置用記憶装置インタ
フェース108に、出力バス195によりリードバッフ
ァ136に、出力バス196によりマルチプレクサ13
8に、それぞれ接続される。
The write bus 140 is connected to the main memory interface 105 by the write data bus 159 for the address translator and to the storage interface 108 for data relocation by the write data bus 160 for the address translator. Data bus 161
Is connected to the write buffer 139. The read bus 141 is a read data bus 157 for the address translator.
To the main memory interface 105 via the address translation device read data bus 158, to the data relocation storage device interface 108 via the address translation device read data bus 162, and to the read buffer 136 via the output bus 195. , The output bus 196 and the multiplexer 13
8 respectively.

【0019】更に、リードバッファ136の出力はシフ
タ137の入力に接続され、シフタ137の出力は、リ
ードバス141の出力およびライトバッファ139の出
力と共にマルチプレクサ138の入力に接続される。マ
ルチプレクサ138の出力はライトバッファ139の入
力に接続され、ライトバッファ139の出力は、アドレ
ス変換装置用ライトデータバス161によりライトバス
140に接続されると共に、マルチプレクサ138の入
力にフィードバックされる。
Further, the output of the read buffer 136 is connected to the input of the shifter 137, and the output of the shifter 137 is connected to the input of the multiplexer 138 together with the output of the read bus 141 and the output of the write buffer 139. The output of the multiplexer 138 is connected to the input of the write buffer 139, and the output of the write buffer 139 is connected to the write bus 140 by the write data bus 161 for the address translation device, and is fed back to the input of the multiplexer 138.

【0020】以下、このように構成された本実施例の動
作について順を追って説明する。
Hereinafter, the operation of the embodiment constructed as described above will be described step by step.

【0021】本発明によるデータの再配置は、ハードウ
ェアとソフトウェアの協調によって実現される。最初
に、データ再配置情報を設定する必要がある。このデー
タ再配置情報は、ソフトウェアのデータ参照の順序に応
じて決まるため、その設定はソフトウェアによって行わ
れる。ソフトウェアで指示する方法には命令セットを拡
張する方法や、特殊レジスタに値を設定する方法が考え
られるが、本実施例では特殊レジスタ131によって設
定する方法を採用している。特殊レジスタ131は図1
に示すようにアドレス変換装置107中にあり、 ・データの単位(バイト,ワード,ロングワードなど) ・データの開始仮想アドレス ・データ配置の規則 ・データ数 ・再配置仮想アドレス といった再配置情報が、プロセッサコア101上で動作
するソフトウェアからの指示により特殊レジスタアクセ
ス制御線182を通じて特殊レジスタ131に設定され
る。なお、この特殊レジスタ131に設定された再配置
情報は、変換情報テーブル入出力バス184を通じて変
換情報テーブル装置135にも伝達され、後述する書き
戻し時まで保存される。
Data relocation according to the present invention is realized by cooperation between hardware and software. First, it is necessary to set data relocation information. Since the data relocation information is determined according to the order of data reference by software, the setting is performed by software. As a method of instructing by software, a method of expanding an instruction set and a method of setting a value in a special register are conceivable. In the present embodiment, a method of setting by a special register 131 is adopted. The special register 131 is shown in FIG.
The relocation information such as data unit (byte, word, long word, etc.) data start virtual address data arrangement rule data number relocation virtual address The special register 131 is set through the special register access control line 182 in accordance with an instruction from software operating on the processor core 101. The relocation information set in the special register 131 is also transmitted to the conversion information table device 135 via the conversion information table input / output bus 184, and is stored until a later-described write back.

【0022】例えば、仮想アドレス0x1000番地か
ら始まるデータで、0x1010,0x1020,0x
1030,…と合計100個のデータを、読み出しのみ
で仮想アドレス0x20000番地以降に再配置する場
合には、 ・データの単位 ワード ・データの開始仮想アドレス 0x1000 ・データ配置の規則 +0x10 ・データ数 100 ・再配置仮想アドレス 0x40000 といった再配置情報が特殊レジスタ131に設定され
る。
For example, data starting from a virtual address 0x1000, 0x1010, 0x1020, 0x
When rearranging a total of 100 pieces of data such as 1030,... After readout from a virtual address 0x20000, the following is required: data unit word data start virtual address 0x1000 data layout rule + 0x10 data number 100 Relocation information such as a relocation virtual address 0x40000 is set in the special register 131.

【0023】ソフトウェアによって特殊レジスタ131
に必要な再配置情報が設定されると、シーケンサ134
が起動され、その制御の下で再配置処理が実行される。
先ず、シーケンサ134は特殊レジスタ131に設定さ
れたデータの開始仮想アドレスをアドレスバス171を
通じてTLB102に送り物理アドレスに変換させる。
TLB102で変換されて得られた物理アドレスはバス
172を通じて物理アドレス生成装置133に伝達され
る。物理アドレス生成装置133は、シーケンサ134
の制御よって、最初はTLB102から伝達された物理
アドレスを選択し、この選択した物理アドレスをそのま
ま物理アドレスバス173を通じて主記憶装置インタフ
ェース105に送出する。なお、そのアドレスの最新デ
ータがキャッシュメモリ104中に存在する可能性もあ
るためキャッシュメモリインタフェース103に対して
も同じアドレスを送出する。その後、物理アドレス生成
装置133は、今回生成した物理アドレスと特殊レジス
タ131に設定されているデータ配置の規則とから2番
目以降の物理アドレスを順次に生成して物理アドレスバ
ス173に順次に出力する動作を、特殊レジスタ131
に設定されたデータ数分の物理アドレスを発生し終える
まで続ける。つまり、前述の例では、仮想アドレス0x
1000が物理アドレス0x2000にマッピングされ
ているとすると、TLB102によって0x1000が
0x2000番地に変換され、物理アドレス生成装置1
33では、0x2000から0x10番地毎の合計10
0個のアドレスを生成して出力する。
The special register 131 is controlled by software.
When the necessary relocation information is set, the sequencer 134
Is activated, and the relocation process is executed under the control.
First, the sequencer 134 sends the start virtual address of the data set in the special register 131 to the TLB 102 via the address bus 171 to convert it into a physical address.
The physical address obtained by the conversion in the TLB 102 is transmitted to the physical address generator 133 via the bus 172. The physical address generation device 133 includes a sequencer 134
First, the physical address transmitted from the TLB 102 is selected, and the selected physical address is transmitted to the main memory interface 105 via the physical address bus 173 as it is. Since the latest data of the address may exist in the cache memory 104, the same address is sent to the cache memory interface 103. Thereafter, the physical address generation device 133 sequentially generates the second and subsequent physical addresses from the generated physical address and the data arrangement rule set in the special register 131, and sequentially outputs the physical addresses to the physical address bus 173. The operation is performed by the special register 131
Is continued until the generation of the physical addresses for the number of data set in the step (c) is completed. That is, in the above example, the virtual address 0x
Assuming that 1000 is mapped to a physical address 0x2000, the TLB 102 converts 0x1000 to an address 0x2000.
For 33, a total of 10 for each address from 0x2000 to 0x10
Generate and output zero addresses.

【0024】物理アドレス生成装置133からバス17
3を介して物理アドレスの供給を受けたキャッシュメモ
リインタフェース103は、キャッシュメモリ104中
に該当するデータが存在する場合には、そのデータを含
むラインをデータバス157を介してリードバス141
に送る。また、主記憶装置インタフェース105は主記
憶装置106から読み出した該当データを含むラインを
データバス158を介してリードバス141に送信す
る。
The physical address generator 133 sends the bus 17
When the cache memory interface 103 receives the supply of the physical address via the data bus 157, the cache memory interface 103 transfers the line including the data to the read bus 141 via the data bus 157 when the corresponding data exists in the cache memory 104.
Send to Further, the main storage interface 105 transmits a line including the relevant data read from the main storage 106 to the read bus 141 via the data bus 158.

【0025】リードバス141は、キャッシュメモリイ
ンタフェース103からデータが送られてきた場合には
そのデータを、送られてきていない場合には主記憶装置
インタフェース105から送られてきたデータをリード
バッファ136に書き込む。このリードバッファ136
に書き込まれたデータは、次段のシフタ137によって
必要に応じて論理シフトされてマルチプレクサ138に
供給される。マルチプレクサ138は、シフタ137か
ら供給されたデータとライトバッファ139に格納され
ているデータとをバイト単位で選択して新たにライトバ
ッファ139に書き込むことで、再配置すべきデータを
ライトバッファ139上で連続するデータとして整列化
する。そして、このライトバッファ139のデータがデ
ータバス161,ライトバス140およびデータバス1
60を介してデータ再配置用記憶装置インタフェース1
08に供給され、データ再配置用記憶装置インタフェー
ス108は再配置アドレス生成装置132から物理アド
レスバス174を通じて同時に供給されている物理アド
レスが指し示すデータ再配置用記憶装置109に、上記
のデータを書き込む。
The read bus 141 sends the data sent from the cache memory interface 103 to the read buffer 136 when the data is sent from the cache memory interface 103, and sends the data sent from the main memory interface 105 to the read buffer 136 when the data is not sent from the cache memory interface 103. Write. This read buffer 136
Is logically shifted as necessary by the shifter 137 at the next stage and supplied to the multiplexer 138. The multiplexer 138 selects the data supplied from the shifter 137 and the data stored in the write buffer 139 on a byte-by-byte basis and newly writes the data to the write buffer 139, so that the data to be relocated is written on the write buffer 139. Sort as continuous data. The data in the write buffer 139 is transferred to the data bus 161, the write bus 140 and the data bus 1
60 for data relocation storage device interface 1
08, the data relocation storage device interface 108 writes the above data to the data relocation storage device 109 indicated by the physical address that is simultaneously supplied from the relocation address generation device 132 through the physical address bus 174.

【0026】これらの機能の動作の詳細を以下具体例を
用いて説明する。なお、データバスは8バイト幅、デー
タ再配置用仮想メモリ空間の0x40000番地はデー
タ再配置用記憶装置109の0x0番地にTLB102
によってマッピングされているとし、その他の設定は前
述した例と同じものとする。
The details of the operation of these functions will be described below using specific examples. The data bus is 8 bytes wide, and the address 0x40000 of the data relocation virtual memory space is set to the address 0x0 of the data relocation storage device 109 by the TLB102.
And the other settings are the same as in the above-described example.

【0027】この場合、主記憶装置インタフェース10
5或いはキャッシュメモリインタフェース103からは
8バイト単位で、0x2007−0x2000番地のデ
ータが最初に送信されて、8バイト容量のリードバッフ
ァ136に格納される。このデータ中の0x2003−
0x2000番地の部分がデータ再配置用記憶装置10
9の0x3−0x0番地に格納すべきデータであり、こ
の場合はシフトする必要がないので、シフタ137でシ
フトされることなくマルチプレクサ138を通じてライ
トバッファ139に格納される。次に、0x2017−
0x2010番地のデータが送られてきて、リードバッ
ファ136に格納される。このデータ中の0x2013
−0x2010番地の部分がデータ再配置用記憶装置1
09の0x7−0x4番地に格納すべきデータであるの
で、シフタ137によって4バイト左シフトを行い、マ
ルチプレクサ139は、下位4バイトはライトバッファ
139の内容を、上位4バイトはシフタ137の内容を
選択し、ライトバッファ139に格納する。これにより
ライトバッファ139には、順に、物理アドレス0x2
013,0x2012,0x2011,0x2010,
0x2003,0x2002,0x2001,0x20
00番地のデータが格納されることになる。
In this case, the main storage device interface 10
5 or the data at the address 0x2007-0x2000 is transmitted first in units of 8 bytes from the cache memory interface 103 and stored in the read buffer 136 having a capacity of 8 bytes. 0x2003 in this data
The portion at address 0x2000 is the storage device 10 for data relocation.
9 is to be stored in the address 0x3-0x0. In this case, there is no need to shift the data. Therefore, the data is stored in the write buffer 139 through the multiplexer 138 without being shifted by the shifter 137. Next, 0x2017-
The data at the address 0x2010 is sent and stored in the read buffer 136. 0x2013 in this data
The portion at −0x2010 is the data relocation storage device 1
Since the data is to be stored in addresses 0x7-0x4 of 09, the shifter 137 shifts left by 4 bytes, and the multiplexer 139 selects the contents of the write buffer 139 for the lower 4 bytes and the contents of the shifter 137 for the upper 4 bytes. Then, the data is stored in the write buffer 139. As a result, the physical address 0x2 is sequentially stored in the write buffer 139.
013, 0x2012, 0x2011, 0x2010,
0x2003, 0x2002, 0x2001, 0x20
The data at address 00 is stored.

【0028】このデータはデータ再配置用記憶装置10
9の0x0番地から格納すべきデータなので、再配置ア
ドレス生成装置132は0x0番地を発生する。これ
は、シーケンサ134が特殊レジスタ131に設定され
た再配置仮想アドレス0x40000番地をTLB10
2によって物理アドレス0x0に変換してバス172を
通じて再配置アドレス生成装置132に伝達し、再配置
アドレス生成装置132がこの伝達された物理アドレス
0x0をそのまま出力することで行われる。なお、再配
置アドレス生成装置132は、最初の物理アドレス0x
0を生成した後は、自ら生成した物理アドレスとシーケ
ンサ134から信号線194を通じて入力される増分値
(0x8)とから、物理アドレス0x8,0x16,…
というように、0x8番地毎にアドレスを生成する。
This data is stored in the data relocation storage device 10.
Since the data is to be stored starting from the address 9x0, the relocation address generator 132 generates the address 0x0. This is because the sequencer 134 sets the relocation virtual address 0x40000 set in the special register 131 to the TLB10
2, the physical address 0x0 is converted to a physical address 0x0 and transmitted to the relocation address generator 132 via the bus 172, and the relocation address generator 132 outputs the transmitted physical address 0x0 as it is. It should be noted that the relocation address generation device 132 outputs the first physical address 0x
After generating 0, the physical address 0x8, 0x16,... Is obtained from the generated physical address and the increment value (0x8) input from the sequencer 134 via the signal line 194.
Thus, an address is generated for each address 0x8.

【0029】再配置アドレス生成装置132で発生され
た物理アドレス0x0は物理アドレスバス174を通じ
てデータ再配置用記憶装置インタフェース108に送出
され、同時にライトバッファ139に格納されていた上
記のデータがライトデータバス161,ライトバス14
0及びライトデータバス160を通じてデータ再配置用
記憶装置インタフェース108に送出され、データ再配
置用記憶装置インタフェース108がデータ再配置用記
憶装置109の0x0番地から上記のデータを格納す
る。以上で、再配置すべきデータのうち最初の2ワード
のデータ(合計8バイト)のデータ再配置用記憶装置1
09への再配置が完了したことになる。アドレス変換装
置107は以上のような動作を繰り返すことにより、特
殊レジスタ131に設定された全ての再配置対象データ
についての再配置を実施する。そして、再配置の完了
時、シーケンサ134はTLB102に対して、プロセ
ッサコア101及びキャッシュメモリインタフェース1
03からの当該データ再配置仮想アドレス空間202に
対応する変換要求を有効化するよう指示する。
The physical address 0x0 generated by the relocation address generating device 132 is sent to the data relocation storage device interface 108 through the physical address bus 174, and at the same time, the above data stored in the write buffer 139 is transferred to the write data bus. 161, light bus 14
The data is transmitted to the data relocation storage device interface 108 via the 0 and write data bus 160, and the data relocation storage device interface 108 stores the data from the address 0x0 of the data relocation storage device 109. As described above, the data relocation storage device 1 for the first two words of data (total 8 bytes) of the data to be relocated.
This means that the relocation to 09 has been completed. The address translator 107 repeats the above operation to execute the relocation for all the relocation target data set in the special register 131. When the relocation is completed, the sequencer 134 sends the processor core 101 and the cache memory interface 1 to the TLB 102.
03, the conversion request corresponding to the data relocation virtual address space 202 is instructed to be validated.

【0030】次に、プロセッサコア101上で動作する
ソフトウェアによるメモリアクセス時の動作について説
明する。
Next, an operation at the time of memory access by software operating on the processor core 101 will be described.

【0031】プロセッサコア101上で動作するアプリ
ケーションプログラムは、前述のようにして再配置され
たデータを、再配置された仮想アドレスに対してアクセ
スし、計算等の所定の処理を実行することになる。この
ため、アプリケーションプログラム中の、例えば、 のように再配置前のアドレスでデータを参照しているコ
ード部分は、例えば、 のように書き替えられている。なお、ここではC言語レ
ベルで書き替える例を示したが、通常はコンパイラによ
ってこれらの再配置と先の再配置情報の特殊レジスタへ
の設定とを組み合わせて自動的に行うのが望ましい。
The application program operating on the processor core 101 accesses the data relocated as described above to the relocated virtual address, and executes predetermined processing such as calculation. . For this reason, for example, in the application program, The code part that refers to the data at the address before relocation like It has been rewritten as Although an example of rewriting at the C language level has been described here, it is generally desirable that the relocation and the setting of the preceding relocation information to the special register be automatically performed by a compiler in combination.

【0032】さて、上記アプリケーションコードを実行
中のプロセッサコア101が上記の再配置仮想アドレ
ス、例えば0x40000番地に対してアクセスを起こ
すと、当初は該当するデータがキャッシュメモリ104
中に存在しないため、キャッシュメモリインタフェース
103は、該当するデータを含むラインをデータ再配置
用記憶装置インタフェース108を通じてデータ再配置
用記憶装置109から読み出してキャッシュメモリ10
4に格納すると共に、当該ライン中の該当するデータを
プロセッサコア101に返却する。これは次のようにし
て行われる。
When the processor core 101 executing the application code accesses the relocation virtual address, for example, address 0x40000, the corresponding data is initially stored in the cache memory 104.
Therefore, the cache memory interface 103 reads the line containing the relevant data from the data relocation storage device 109 through the data relocation storage device interface 108, and
4 and the corresponding data in the line is returned to the processor core 101. This is performed as follows.

【0033】先ず、アクセス番地0x40000がアド
レスバス175によってTLB102に伝達されて、T
LB102によってデータ再配置メモリ空間203への
アクセスにかかるアドレスに変換される。次にキャッシ
ュメモリインタフェース103はこの変換後のアドレス
を含むラインアドレスをアドレスバス169を通じてデ
ータ再配置用記憶装置インタフェース108に伝達す
る。データ再配置用記憶装置インタフェース108は、
伝達されたラインアドレスのラインをデータ再配置用記
憶装置109から読み出し、キャッシュメモリインタフ
ェース103に返却する。キャッシュメモリインタフェ
ース103は、この返却されたラインをキャッシュメモ
リ104に格納し、且つ、そのライン中の該当するデー
タをプロセッサコア101に返却する。このように、再
配置後は通常のデータと同様に再配置データを扱うこと
ができる。なお、プロセッサコア101が再配置完了前
にデータ再配置仮想アドレス空間202をアクセスした
場合、TLB102では、当該データ再配置仮想アドレ
ス空間に対するプロセッサコア101からの変換要求が
未だ有効化されていないので、再配置が終了するまでプ
ロセッサコア101の処理が待たされる。
First, the access address 0x40000 is transmitted to the TLB 102 via the address bus 175,
The data is converted into an address for accessing the data relocation memory space 203 by the LB 102. Next, the cache memory interface 103 transmits the line address including the converted address to the data relocation storage device interface 108 via the address bus 169. The data relocation storage device interface 108
The line of the transmitted line address is read from the data rearrangement storage device 109 and returned to the cache memory interface 103. The cache memory interface 103 stores the returned line in the cache memory 104, and returns the corresponding data in the line to the processor core 101. Thus, after the rearrangement, the rearranged data can be handled in the same manner as the normal data. If the processor core 101 accesses the data relocation virtual address space 202 before the relocation is completed, the TLB 102 does not yet validate the conversion request from the processor core 101 for the data relocation virtual address space. The processing of the processor core 101 waits until the rearrangement is completed.

【0034】またキャッシュメモリ104へはライン単
位でキャッシングされるものであり、データ再配置用記
憶装置109にはアプリケーションコードがアクセスす
るデータのみを連続したアドレスに詰め込んで配置して
あるため、キャッシュのミスヒット時にデータ再配置用
記憶装置109からキャッシュメモリ104にキャッシ
ングされるデータは全てアプリケーションコードがアク
セス対象とするデータとなる。この結果、キャッシュの
ミスヒット率が低下する。
The cache memory 104 is cached in units of lines, and only data accessed by application codes is packed in continuous addresses in the data rearrangement storage device 109. All data cached from the data relocation storage device 109 to the cache memory 104 at the time of a mishit is data to be accessed by the application code. As a result, the cache miss rate decreases.

【0035】以上説明したように、本実施例によれば、
プロセッサコア101はキャッシュメモリ104であた
かも連続したアドレスのデータを扱うことが可能にな
る。この結果、 ・キャッシュメモリに不要なデータをロードすることが
なくなる。 ・キャッシュメモリの浪費を回避し、必要なデータがキ
ャッシュメモリからリプレイスされてしまう可能性が低
減する。という効果があり、キャッシュメモリ104を
効率良く利用することができる。なお、再配置の処理を
データを実際に使用するよりも十分前に行うことによ
り、データ再配置中の時間はプロセッサコア101は他
の計算処理を行うことが可能となり、さらに効率的な実
行が可能となる。
As described above, according to this embodiment,
The processor core 101 can handle data at a continuous address in the cache memory 104. As a result, there is no need to load unnecessary data into the cache memory. Avoid waste of the cache memory, and reduce the possibility that required data is replaced from the cache memory. Thus, the cache memory 104 can be used efficiently. By performing the relocation processing sufficiently before actually using the data, the processor core 101 can perform other calculation processing during the data relocation time, and more efficient execution can be performed. It becomes possible.

【0036】次に、再配置したデータの使用が終了した
場合に、それらのデータを通常空間へ書き戻す際の動作
を説明する。
Next, a description will be given of the operation of rewriting the relocated data to the normal space when the use of the relocated data is completed.

【0037】プロセッサコア101上で動作するアプリ
ケーションプログラムは、再配置したデータの使用が終
了した場合、特殊レジスタ131にその旨を設定してア
ドレス変換装置107に対してデータの通常空間への書
き戻しを指示する。アドレス変換装置107では、先ず
シーケンサ134が、書き戻しを指示された再配置デー
タに関する再配置情報を変換情報テーブル装置135か
ら特殊レジスタ131に移し、またTLB102に対し
て、プロセッサコア101及びキャッシュメモリインタ
フェース103からの当該データ再配置仮想アドレス空
間202に対応する変換要求を無効化するよう指示す
る。
When the use of the relocated data is completed, the application program operating on the processor core 101 sets that fact in the special register 131 and writes the data back to the normal space to the address translator 107. Instruct. In the address translation device 107, first, the sequencer 134 moves the relocation information relating to the relocation data instructed to be written back from the translation information table device 135 to the special register 131, and sends the processor core 101 and the cache memory interface to the TLB 102. An instruction is issued to invalidate the conversion request corresponding to the data relocation virtual address space 202 from the virtual machine 103.

【0038】次に、シーケンサ134は、再配置アドレ
ス生成装置132でデータ再配置用記憶装置109中の
再配置データのアドレスを発生させて再配置データを順
次に読み取らせ、それらを物理アドレス生成装置133
で発生させた主記憶装置106上のアドレスに順次に書
き込ませていく。ここで、前述したように主記憶装置1
06は特定のバイト単位でしかリードライトできないた
め、書き込み先のデータを一旦読み出し、この読み出し
たデータ中の再配置データ部分をデータ再配置用記憶装
置109から読み出した再配置データで置換し、元のア
ドレスに書き戻すようにする。前述の例の場合、具体的
には以下のような動作が行われる。
Next, the sequencer 134 generates an address of the relocation data in the data relocation storage device 109 by the relocation address generation device 132 to sequentially read the relocation data, 133
Are sequentially written to the addresses on the main storage device 106 generated in step (1). Here, as described above, the main storage device 1
06 is read / write only in a specific byte unit, the data at the write destination is once read, and the relocation data portion in the read data is replaced with the relocation data read from the data relocation storage device 109. Write back to the address. In the case of the above example, the following operation is specifically performed.

【0039】シーケンサ134は、特殊レジスタ131
に設定された再配置仮想アドレス0x40000をTL
B102にて物理アドレス0x0に変換して再配置アド
レス生成装置132に与え、再配置アドレス生成装置1
32は、最初にこの物理アドレス0x0を物理アドレス
バス174を通じてデータ再配置用記憶装置インタフェ
ース108に伝達し、データ再配置用記憶装置インタフ
ェース108は、データ再配置用記憶装置109からデ
ータ再配置メモリ空間203のアドレス0x7−0x0
番地のデータを読み出し、リードデータバス162,リ
ードバス141および出力バス195を通じてリードバ
ッファ136に格納する。同時にシーケンサ134は、
特殊レジスタ131に設定されている開始仮想アドレス
0x1000をTLB102に与えて物理アドレス(例
えば0x2000とする)に変換させてアドレスバス1
72を通じて物理アドレス生成装置133に供給させ、
物理アドレス生成装置133は、最初はこのアドレス0
x2000番地を発生してアドレスバス173を通じキ
ャッシュメモリインタフェース103および主記憶装置
インタフェース105に伝達してリードを要求する。こ
れにより読み出された物理アドレス0x2007−0x
2000番地のデータはキャッシュメモリインタフェー
ス103または主記憶装置インタフェース105からリ
ードバス141に伝達され、リードバス141はこれを
出力バス196を通じてマルチプレクサ138に出力す
る。
The sequencer 134 has a special register 131
The relocation virtual address 0x40000 set in TL
In B102, the physical address is converted to the physical address 0x0 and given to the relocation address generation device 132,
32 first transmits the physical address 0x0 to the data relocation storage device interface 108 through the physical address bus 174, and the data relocation storage device interface 108 transfers the data address from the data relocation storage device 109 to the data relocation memory space. 203 address 0x7-0x0
The data at the address is read and stored in the read buffer 136 via the read data bus 162, the read bus 141, and the output bus 195. At the same time, the sequencer 134
The start virtual address 0x1000 set in the special register 131 is given to the TLB 102 to be converted into a physical address (for example, 0x2000), and the address bus 1
72 to the physical address generator 133,
Initially, the physical address generation device 133
The address x2000 is generated and transmitted to the cache memory interface 103 and the main memory interface 105 via the address bus 173 to request a read. The read physical address 0x2007-0x
The data at the address 2000 is transmitted from the cache memory interface 103 or the main memory interface 105 to the read bus 141, and the read bus 141 outputs this to the multiplexer 138 via the output bus 196.

【0040】データ再配置メモリ空間の0x3−0x0
番地のデータは物理アドレス0x2003−0x200
0番地に書き戻せばよいので、シフタ137はこの場合
はシフト動作を行わずにリードバッファ136に格納さ
れた0x2007−0x2000のデータをマルチプレ
クサ138に出力し、マルチプレクサ138は上位4バ
イトはリードバス141からきたデータ(0x2007
−0x2004番地のデータ)を、下位4バイトはシフ
タ137からきたデータ(0x3−0x0番地のデー
タ)を選択し、ライトバッファ139に格納する。ライ
トバッファ139に格納されたデータは、ライトバス1
40を通じて主記憶装置インタフェース105に送ら
れ、そのとき物理アドレス生成装置133で発生されて
いる0x2000番地を先頭とする8バイトの領域に書
き込まれる。これで、0x3−0x0の再配置データの
書き戻しが終了したことになる。
0x3-0x0 of data relocation memory space
The data of the address is a physical address 0x2003-0x200
In this case, the shifter 137 outputs the data of 0x2007-0x2000 stored in the read buffer 136 to the multiplexer 138 without performing the shift operation. Data (0x2007)
The lower 4 bytes select data (data at addresses 0x3-0x0) from the shifter 137 and store them in the write buffer 139. The data stored in the write buffer 139 is
The data is sent to the main storage device interface 105 through 40, and is written into an 8-byte area starting from the address 0x2000 generated by the physical address generation device 133 at that time. Thus, the write-back of the relocation data of 0x3-0x0 has been completed.

【0041】次にシーケンサ134は、物理アドレス生
成装置133から次のアドレス0x2010を発生させ
て、主記憶装置106またはキャッシュメモリ104か
ら0x2017−0x2010番地のデータをリードバ
ス141にロードし、マルチプレクサ138の入力とす
る。リードバッファ136の上位4バイトに残っている
0x7−0x4番地のデータは物理アドレス0x201
3−0x2010番地に書き戻せばよいので、シフタ1
37はこの場合は右に4バイトシフトし、マルチプレク
サ138は上位4バイトはリードバス141からきたデ
ータ(0x2017−0x2014番地のデータ)を、
下位4バイトはシフタ137からきたデータ(0x7−
0x4番地のデータ)を選択し、ライトバッファ139
に格納する。ライトバッファ139に格納されたデータ
は、ライトバス140を通じて主記憶装置インタフェー
ス105に送られ、そのとき物理アドレス生成装置13
3で発生されている0x2010番地を先頭とする8バ
イトの領域に書き込まれる。これで、0x7−0x4の
再配置データの書き戻しが終了したことになる。
Next, the sequencer 134 generates the next address 0x2010 from the physical address generator 133, loads the data at the address 0x2017-0x2010 from the main memory 106 or the cache memory 104 onto the read bus 141, and Take as input. Data at addresses 0x7-0x4 remaining in the upper 4 bytes of the read buffer 136 is a physical address 0x201.
To write back to address 3-0x2010, shifter 1
37 shifts 4 bytes to the right in this case, the multiplexer 138 shifts the upper 4 bytes of the data (data at addresses 0x2017-0x2014) from the read bus 141,
The lower 4 bytes are data (0x7-
0x4) is selected and the write buffer 139 is selected.
To be stored. The data stored in the write buffer 139 is sent to the main memory interface 105 via the write bus 140,
3 is written in an 8-byte area starting at address 0x2010. This means that the rewriting of the relocation data of 0x7-0x4 has been completed.

【0042】以上のような動作が繰り返されることによ
って、再配置したデータが全て主記憶装置106に書き
戻される。
By repeating the above operation, all the rearranged data is written back to the main storage device 106.

【0043】図3は本発明の別の実施例にかかる情報処
理装置の要部ブロック図、図4は当該実施例におけるメ
モリアクセスの概念図である。図1および図2で説明し
た実施例では、データ再配置メモリ空間のために、専用
の記憶装置としてデータ再配置用記憶装置109と、そ
のためのインタフェースとしてデータ再配置用記憶装置
インタフェース108を設けた。データ再配置用記憶装
置109は主記憶装置106よりも記憶容量的に少なく
て済むため高速な記憶装置を用いることも可能であり、
使用するデータをその使用に先立って明示的に再配置す
るため、その効果も十分あると考えられる。但し、汎用
システムではできるだけ装置数を減らして低コストにす
る必要がある。そこで、図3および図4に示す実施例で
は、データ再配置専用の記憶装置を省き、メモリ管理を
行うソフトウェアを拡張することによって、主記憶装置
上に再配置データを配置することを可能にする。以下、
本実施例について説明する。
FIG. 3 is a block diagram of a main part of an information processing apparatus according to another embodiment of the present invention, and FIG. 4 is a conceptual diagram of memory access in the embodiment. In the embodiment described with reference to FIGS. 1 and 2, the data relocation storage device 109 is provided as a dedicated storage device for the data relocation memory space, and the data relocation storage device interface 108 is provided as an interface therefor. . Since the data relocation storage device 109 requires less storage capacity than the main storage device 106, a high-speed storage device can be used.
Since the data to be used is explicitly rearranged prior to its use, the effect is considered to be sufficient. However, in a general-purpose system, it is necessary to reduce the number of devices as much as possible to reduce the cost. Therefore, in the embodiment shown in FIGS. 3 and 4, the storage device dedicated to data relocation is omitted, and software for performing memory management is extended, so that relocation data can be allocated on the main storage device. . Less than,
This embodiment will be described.

【0044】図3に示すように、本実施例では、図1の
実施例に対して、データ再配置用記憶装置109および
データ再配置用記憶インタフェース108を取り除き、
アドレス変換装置107の内部構造を変更して、再配置
アドレス生成装置132と物理アドレス生成装置133
の出力をセレクタ301によって選択して、アドレスバ
ス302を通じて主記憶装置インタフェース105とキ
ャッシュメモリインタフェース103に供給する構成と
している。
As shown in FIG. 3, in this embodiment, the data relocation storage device 109 and the data relocation storage interface 108 are removed from the embodiment of FIG.
The internal structure of the address translator 107 is changed so that the relocation address generator 132 and the physical address generator 133
Are selected by the selector 301 and supplied to the main memory interface 105 and the cache memory interface 103 via the address bus 302.

【0045】データの再配置を行う場合には、アプリケ
ーションプログラムはOSなどに対してシステムコール
を発行し、図4に示すように、仮想アドレス空間401
上にデータ再配置仮想アドレス空間402を確保する。
このとき物理アドレス空間404中に、データ再配置仮
想アドレス空間402に対応するデータ再配置物理アド
レス空間403が割り付けられる。その後、アプリケー
ションプログラムは特殊レジスタ131に図1の実施例
と同様な再配置情報を設定する。アドレスの再配置処理
は図1の実施例と同様であるが、ライトバッファ139
に所望のデータが格納された時点でセレクタ301は再
配置アドレス生成装置132で発生するアドレスを選択
し、主記憶装置インタフェース105に送る。これによ
り、主記憶装置106のデータ再配置物理アドレス空間
403にデータを再配置することが可能となる。
To relocate data, the application program issues a system call to the OS or the like, and as shown in FIG.
The data relocation virtual address space 402 is secured above.
At this time, a data relocation physical address space 403 corresponding to the data relocation virtual address space 402 is allocated in the physical address space 404. After that, the application program sets the same reallocation information in the special register 131 as in the embodiment of FIG. The address relocation processing is the same as that of the embodiment of FIG.
The selector 301 selects the address generated by the relocation address generation device 132 when the desired data is stored in the storage device and sends it to the main storage device interface 105. As a result, data can be relocated to the data relocation physical address space 403 of the main storage device 106.

【0046】再配置データの書き戻しの際も図1の実施
例とほぼ同様に処理が進められる。但し、再配置データ
は主記憶装置106中に存在するので、再配置データを
リードバッファ136にロードする際にはセレクタ30
1によって、再配置アドレス生成装置132により生成
されたアドレスを主記憶装置インタフェース105に送
信し、主記憶装置インタフェース105は、リードバッ
ファ136に対して再配置データを送るという部分が異
なる。
When rewriting the relocation data, the processing proceeds in substantially the same manner as in the embodiment of FIG. However, since the relocation data exists in the main storage device 106, when the relocation data is loaded into the read buffer 136, the selector 30
1 differs in that the address generated by the relocation address generator 132 is transmitted to the main storage interface 105, and the main storage interface 105 sends relocation data to the read buffer 136.

【0047】図5は本発明の更に別の実施例にかかる情
報処理装置の要部ブロック図である。図1および図3で
説明した実施例では、不連続配置のデータの参照の順序
を数式でアドレス変換装置に与えることによって連続デ
ータに並べ替えた。しかしながら、不連続データの参照
は数式で示すことが可能な規則性でなく、以下のように
ポインタによって示される場合も科学技術計算では多く
出現する。
FIG. 5 is a block diagram of a main part of an information processing apparatus according to still another embodiment of the present invention. In the embodiment described with reference to FIG. 1 and FIG. 3, the order of referring to the data in the discontinuous arrangement is given to the address translator by a mathematical expression, and the data is rearranged into the continuous data. However, reference to discontinuous data is not a regularity that can be represented by a mathematical expression, and a case where it is indicated by a pointer as shown below frequently appears in scientific and technical calculations.

【0048】このような処理の場合には、データ参照の
規則を数式でアドレス変換装置に与えることができな
い。そこで、図5に示す実施例では、このような場合に
対処するために、データ格納情報を示す変数が格納され
ているポインタを指定することによって、アドレス変換
装置がそのポインタを自動的に読み出してデータの再配
置を行うようにしている。これにより変数のインデック
スによる不連続データの参照を同じ再配置機構の枠組み
で行うことが可能となる。
In the case of such processing, the rule of data reference cannot be given to the address translation device by a mathematical expression. Therefore, in the embodiment shown in FIG. 5, in order to cope with such a case, by specifying a pointer in which a variable indicating data storage information is stored, the address translation device automatically reads out the pointer and reads the pointer. The data is relocated. This makes it possible to refer to discontinuous data by the index of a variable in the framework of the same relocation mechanism.

【0049】図5の実施例は、図3の実施例に対して、
アドレス変換装置107にアドレスキュー501が新た
に設けられている。アドレスキュー501は主記憶装置
106に格納されたポインタ変数の内容を蓄えるFIF
O(First In First Out)型のキューである。また、セ
レクタ301は、アドレスキュー501の内容をアドレ
ス変換用仮想アドレスバス171を通じてTLB102
に送って物理アドレスに変換したアドレスをも選択可能
となるように拡張されている。以下、図3の実施例との
相違部分を中心に、図5および図4を参照して本実施例
の動作を説明する。
The embodiment of FIG. 5 is different from the embodiment of FIG.
An address queue 501 is newly provided in the address translator 107. The address queue 501 is a FIFO that stores the contents of the pointer variables stored in the main storage device 106.
This is an O (First In First Out) type queue. Further, the selector 301 transfers the contents of the address queue 501 to the TLB 102 through the virtual address bus 171 for address conversion.
Has been expanded so that an address converted to a physical address by the user can be selected. Hereinafter, the operation of this embodiment will be described with reference to FIGS. 5 and 4 focusing on the differences from the embodiment of FIG.

【0050】プロセッサコア101上で動作するアプリ
ケーションプログラムは、仮想メモリ空間401上にデ
ータ再配置仮想アドレス空間402を確保した後に、特
殊レジスタ131に例えば下記のような再配置情報を設
定する。 ・参照種類 ポインタ ・データの単位 ワード ・ポインタ開始仮想アドレス 0x1000 ・ポインタ配置の規則 +0x10 ・ポインタ数 100 ・再配置仮想アドレス 0x40000
The application program operating on the processor core 101 secures the data relocation virtual address space 402 in the virtual memory space 401 and then sets the following relocation information in the special register 131, for example. Reference type Pointer Data unit Word Pointer start virtual address 0x1000 Pointer arrangement rule + 0x10 Number of pointers 100 Relocation virtual address 0x40000

【0051】このような再配置情報の場合、0x100
0番地に格納されているアドレスが指す番地のデータを
最初のデータとしてロードする必要がある。そこで、シ
ーケンサ134は特殊レジスタ131に設定されたポイ
ンタ開始仮想アドレス0x1000をTLB102で物
理アドレスに変換し、この物理アドレスを物理アドレス
生成装置133から最初に発生させる。このときセレク
タ301はこのアドレスを選択し、キャッシュメモリイ
ンタフェース103及び主記憶装置インタフェース10
5に送信する。これによって読み出された該当番地のデ
ータ(仮想アドレス表現のポインタ)はリードバス14
1を介してアドレスキュー501に格納される。アドレ
スキュー501に格納されたポインタはTLB102に
よって物理アドレスに変換され、セレクタ301はこの
アドレスを選択しキャッシュメモリインタフェース10
3及び主記憶装置インタフェース105に送信する。こ
れによって得られるデータが再配置対象のデータとな
り、リードバッファ136に格納され、以下、図3の実
施例と同様の並べ替え,アドレス変換再配置が行われ
る。
In the case of such relocation information, 0x100
It is necessary to load the data at the address indicated by the address stored at address 0 as the first data. Therefore, the sequencer 134 converts the pointer start virtual address 0x1000 set in the special register 131 into a physical address by the TLB 102, and generates this physical address from the physical address generator 133 first. At this time, the selector 301 selects this address, and the cache memory interface 103 and the main memory interface 10
Send to 5. The data of the corresponding address (the pointer of the virtual address expression) thus read out is read from the read bus 14.
1 in the address queue 501. The pointer stored in the address queue 501 is converted into a physical address by the TLB 102, and the selector 301 selects this address and
3 and the main storage interface 105. The data obtained as a result is data to be rearranged and stored in the read buffer 136, and the same rearrangement and address conversion rearrangement as in the embodiment of FIG. 3 are performed.

【0052】再配置したデータを主記憶装置106に書
き戻す時にも同様に、アドレスキュー501を介して、
データのポインタをロードして、必要データをロード,
再配置後、書き戻すことになる。再配置後書き戻すまで
にポインタが書き替えられていた場合には新たなポイン
タ変数が示す場所にデータを書き戻すため、データのコ
ピーにもこのアドレス変換装置107を利用することが
可能である。
Similarly, when the rearranged data is written back to the main storage device 106, the data is transferred via the address queue 501.
Load data pointer, load necessary data,
After rearrangement, it will be rewritten. If the pointer has been rewritten after the rearrangement and before the rewriting, the data is rewritten to the location indicated by the new pointer variable. Therefore, the address translation device 107 can be used for copying the data.

【0053】[0053]

【発明の効果】以上説明したように本発明は、主記憶装
置上に不連続に存在する一連のデータを別のメモリ領域
上に連続するアドレスのデータとして再配置し、この再
配置後のデータを、キャッシング対象にすると共にアプ
リケーションプログラムのアクセス対象にしたので、ア
プリケーションプログラム実行時におけるメモリアクセ
スの局所性が高まり、その分キャッシュヒット率が向上
してアプリケーションプログラムの実行処理速度が向上
する。なお、本発明では、データの再配置処理がオーバ
ヘッドとなるが、一旦再配置すれば、その後の再配置は
不要なので、主記憶装置上に不連続に存在する一連のデ
ータを何度もアクセスするような場合には余り問題には
ならない。
As described above, according to the present invention, a series of data discontinuously existing in the main storage device is rearranged as data of a continuous address in another memory area, and the data after the rearrangement is read. Is set as a target of caching and a target of access of an application program, the locality of memory access during execution of the application program is increased, the cache hit rate is improved by that amount, and the execution processing speed of the application program is improved. In the present invention, the data rearrangement process is an overhead, but once rearranged, subsequent rearrangement is unnecessary, so that a series of discontinuous data on the main storage device is accessed many times. In such a case, it does not matter much.

【0054】また、主記憶装置上のデータ再配置領域を
使用する構成によれば、専用のデータ再配置用記憶装置
を使用する場合に比べてハードウェア量を削減でき、低
コスト化が可能である。
According to the configuration using the data relocation area on the main storage device, the amount of hardware can be reduced and the cost can be reduced as compared with the case where the dedicated data relocation storage device is used. is there.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の一実施例の情報処理装置の要部ブロッ
ク図である
FIG. 1 is a block diagram of a main part of an information processing apparatus according to an embodiment of the present invention.

【図2】図1の実施例の情報処理装置におけるメモリア
クセスの概念図である。
FIG. 2 is a conceptual diagram of memory access in the information processing apparatus of the embodiment in FIG.

【図3】本発明の別の実施例の情報処理装置の要部ブロ
ック図である
FIG. 3 is a main part block diagram of an information processing apparatus according to another embodiment of the present invention;

【図4】図3の実施例の情報処理装置におけるメモリア
クセスの概念図である。
FIG. 4 is a conceptual diagram of a memory access in the information processing apparatus of the embodiment in FIG. 3;

【図5】本発明の更に別の実施例の情報処理装置の要部
ブロック図である。
FIG. 5 is a main block diagram of an information processing apparatus according to yet another embodiment of the present invention.

【図6】従来のベクトル計算機の構成を示すブロック図
である。
FIG. 6 is a block diagram showing a configuration of a conventional vector computer.

【図7】レジスタウィンドウの概念図である。FIG. 7 is a conceptual diagram of a register window.

【符号の説明】[Explanation of symbols]

101…プロセッサコア 102…TLB(Translation Lookaside Buffer) 103…キャッシュメモリインタフェース 104…キャッシュメモリ 105…主記憶装置インタフェース 106…主記憶装置 107…アドレス変換装置 108…データ再配置用記憶装置インタフェース 109…データ再配置用記憶装置 131…特殊レジスタ 132…再配置アドレス生成装置 133…物理アドレス生成装置 134…シーケンサ 135…変換情報テーブル装置 136…リードバッファ 137…シフタ 138…マルチプレクサ 139…ライトバッファ 140…ライトバス 141…リードバス 151…プロセッサデータバス 152…主記憶装置データバス 153…キャッシュデータバス 154…主記憶装置内部データバス 155…データ再配置用記憶装置データバス 156…データ再配置用記憶装置内部データバス 157…アドレス変換装置用リードデータバス 158…アドレス変換装置用リードデータバス 159…アドレス変換装置用ライトデータバス 160…アドレス変換装置用ライトデータバス 161…アドレス変換装置用ライトデータバス 162…アドレス変換装置用リードデータバス 165…プロセッサ仮想アドレスバス 166…主記憶装置物理アドレスバス 167…キャッシュアドレスバス 168…主記憶装置内部アドレスバス 169…データ再配置用物理アドレスバス 170…データ再配置用内部アドレスバス 171…アドレス変換用仮想アドレスバス 172…アドレス変換用物理アドレスバス 173…アドレス変換主記憶装置アクセス用物理アドレ
スバス 174…アドレス変換再配置用記憶装置アクセス用物理
アドレスバス 175…アドレスバス 181…TLB制御線 182…特殊レジスタアクセス制御線 183…アドレス変換装置〜キャッシュ情報伝達用の信
号線 184…変換情報テーブル入出力バス 185…シーケンサ制御線 186…アドレス変換装置〜TLB情報伝達用の信号線 201…仮想アドレス空間 202…データ再配置仮想アドレス空間 203…データ再配置メモリ空間 204…物理アドレス空間 205…仮想アドレス空間上の再配置データ 206…仮想アドレス空間上の不連続配置データ 207…データ再配置メモリ空間上の再配置データ 208…物理アドレス空間上の不連続データ 301…セレクタ 302…アドレス変換主記憶装置アクセス用物理アドレ
スバス 401…仮想アドレス空間 402…データ再配置仮想アドレス空間 403…データ再配置物理アドレス空間 404…物理アドレス空間 405…仮想アドレス空間上の再配置データ 406…仮想アドレス空間上の不連続データ 407…データ再配置物理アドレス空間上の再配置デー
タ 408…物理アドレス空間上の不連続データ 501…アドレスキュー
101: Processor Core 102: TLB (Translation Lookaside Buffer) 103: Cache Memory Interface 104: Cache Memory 105: Main Storage Interface 106: Main Storage 107: Address Transformer 108: Storage Interface for Data Relocation 109: Data Relocation Arrangement storage device 131 Special register 132 Relocation address generation device 133 Physical address generation device 134 Sequencer 135 Conversion information table device 136 Read buffer 137 Shifter 138 Multiplexer 139 Write buffer 140 Write bus 141 Read bus 151 Processor data bus 152 Main storage device data bus 153 Cache data bus 154 Main storage device internal data bus 155 Data storage for data relocation Device data bus 156 ... Data storage internal data bus for data relocation 157 ... Read data bus for address converter 158 ... Read data bus for address converter 159 ... Write data bus for address converter 160 ... Write data bus for address converter 161, a write data bus for an address conversion device 162, a read data bus for an address conversion device 165, a processor virtual address bus 166, a main storage device physical address bus 167, a cache address bus 168, a main storage device internal address bus 169, a data relocation Physical address bus 170 for data relocation internal address bus 171 virtual address bus for address conversion 172 physical address bus for address conversion 173 physical address bus for address conversion main storage device access 17 ... Physical address bus for accessing the storage device for address conversion and relocation 175... Address bus 181... TLB control line 182... Special register access control line 183. 185: sequencer control line 186: signal line for transmitting address translation device to TLB information 201: virtual address space 202: data relocation virtual address space 203: data relocation memory space 204: physical address space 205: on virtual address space Relocation data 206: discontinuous location data on virtual address space 207: relocation data on data relocation memory space 208: discontinuous data on physical address space 301: selector 302: physical address for address conversion main storage device access Bus 401 ... virtual address space 402 ... data relocation virtual address space 403 ... data relocation physical address space 404 ... physical address space 405 ... relocation data on the virtual address space 406 ... discontinuous data on the virtual address space 407 ... data relocation Relocated data on the physical address space 408: discontinuous data on the physical address space 501: address queue

Claims (5)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 主記憶装置よりも高速な記憶装置であっ
再配置したデータを記憶するためのデータ再配置用記
憶装置と、主記憶装置上に不連続に存在する一連のデー
タを前記データ再配置用記憶装置上に連続する一連のデ
ータとして再配置する、プロセッサコアとは別に設けら
れたアドレス変換装置と、データ再配置用記憶装置の内
容および主記憶装置の内容の写しを保持するキャッシュ
メモリとを備え、前記主記憶装置上に不連続に存在する
一連のデータを使用するアプリケーションプログラム
は、前記再配置後のデータをアクセスするように構成さ
れることを特徴とする情報処理装置。
A storage device which is faster than a main storage device.
Repositioning as a series of continuous data and the data rearrangement storage device for storing the rearranged data, a series of data present discontinuously on the main memory to the data rearrangement memory on Te , Provided separately from the processor core
Applications that use the address translation device, and a cache memory which holds a copy of the contents of the contents and the main memory of the data rearrangement memory device, a series of data present discontinuously on the main storage device The information processing apparatus, wherein the program is configured to access the data after the rearrangement.
【請求項2】 主記憶装置上に不連続に存在する一連の
データのアドレスが或る規則性を持っている場合に、そ
の規則性を示す再配置情報に従って前記アドレス変換装
置が再配置すべきデータの読み出しを行うことを特徴と
する請求項1記載の情報処理装置。
2. The method according to claim 1, wherein when the addresses of a series of data discontinuously present on the main storage device have a certain regularity, the address translation device should relocate according to the relocation information indicating the regularity. 2. The information processing apparatus according to claim 1, wherein data is read.
【請求項3】 主記憶装置上に不連続に存在する一連の
データのアドレスが、主記憶装置上の別の箇所に格納さ
れたポインタで示される場合に、そのポインタの格納ア
ドレスを示す再配置情報に従って前記アドレス変換装置
がポインタに従って再配置すべきデータの読み出しを行
うことを特徴とする請求項1記載の情報処理装置。
3. When the address of a series of data discontinuously present on the main storage device is indicated by a pointer stored in another location on the main storage device, relocation indicating the storage address of the pointer is performed. 2. The information processing apparatus according to claim 1, wherein the address translator reads data to be rearranged according to the pointer according to the information.
【請求項4】 主記憶装置の内容の写しを保持するキャ
ッシュメモリと、再配置したデータを記憶するための、
主記憶装置上のデータ再配置領域と、主記憶装置上に不
連続に存在する一連のデータを前記データ再配置領域上
に連続する一連のデータとして再配置するアドレス変換
装置とを備え、前記主記憶装置上に不連続に存在する一
連のデータのアドレスが或る規則性を持っている場合
に、その規則性を示す再配置情報に従って前記アドレス
変換装置が再配置すべきデータの読み出しを行い、か
つ、前記主記憶装置上に不連続に存在する一連のデータ
を使用するアプリケーションプログラムは、前記再配置
後のデータをアクセスするように構成されることを特徴
とする情報処理装置。
4. A cache memory for holding a copy of the contents of a main storage device, and a cache memory for storing rearranged data.
Includes a data rearrangement area on the main memory, and a series of address translator to relocate as continuous data a series of data in the data rearrangement over region present discontinuously on the main memory, the main One that exists discontinuously on the storage device
When the address of a series of data has a certain regularity
The address according to the relocation information indicating its regularity.
The converter reads the data to be relocated,
One application program that uses a series of data present discontinuously on the main storage device, an information processing apparatus characterized by being configured to access the data after the relocation.
【請求項5】 主記憶装置の内容の写しを保持するキャ
ッシュメモリと、再配置したデータを記憶するための、
主記憶装置上のデータ再配置領域と、主記憶装置上に不
連続に存在する一連のデータを前記データ再配置領域上
に連続する一連のデータとして再配置するアドレス変換
装置とを備え、前記主記憶装置上に不連続に存在する一
連のデータのアドレスが、主記憶装置上の別の箇所に格
納されたポインタで示される場合に、そのポインタの格
納アドレスを示す再配置情報に従って前記アドレス変換
装置がポインタに従って再配置すべきデータの読み出し
を行い、かつ、前記主記憶装置上に不連続に存在する一
連のデータを使用するアプリケーションプログラムは、
前記再配置後のデータをアクセスするように構成される
ことを特徴とする情報処理装置。
5. A cache memory for holding a copy of the contents of a main memory, and a cache memory for storing rearranged data.
Includes a data rearrangement area on the main memory, and a series of address translator to relocate as continuous data a series of data in the data rearrangement over region present discontinuously on the main memory, the main One that exists discontinuously on the storage device
The address of the data set is stored in another location on the main storage device.
If indicated by the stored pointer, the pointer's case
The address conversion according to the relocation information indicating the delivery address
Read data to be relocated by device according to pointer
And, an application program that uses a series of data discontinuously present on the main storage device,
An information processing apparatus configured to access the data after the rearrangement.
JP7113740A 1995-04-14 1995-04-14 Information processing device Expired - Fee Related JP2924708B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7113740A JP2924708B2 (en) 1995-04-14 1995-04-14 Information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7113740A JP2924708B2 (en) 1995-04-14 1995-04-14 Information processing device

Publications (2)

Publication Number Publication Date
JPH08286928A JPH08286928A (en) 1996-11-01
JP2924708B2 true JP2924708B2 (en) 1999-07-26

Family

ID=14619936

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7113740A Expired - Fee Related JP2924708B2 (en) 1995-04-14 1995-04-14 Information processing device

Country Status (1)

Country Link
JP (1) JP2924708B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3506024B2 (en) 1998-12-10 2004-03-15 日本電気株式会社 Information processing equipment

Also Published As

Publication number Publication date
JPH08286928A (en) 1996-11-01

Similar Documents

Publication Publication Date Title
JP3816586B2 (en) Method and system for generating prefetch instructions
US4701844A (en) Dual cache for independent prefetch and execution units
KR101626533B1 (en) Gpu support for garbage collection
US3898624A (en) Data processing system with variable prefetch and replacement algorithms
US8806177B2 (en) Prefetch engine based translation prefetching
US5717895A (en) Associative scalar data cache with write-through capabilities for a vector processor
US5689653A (en) Vector memory operations
JPH09506729A (en) Memory system including local and global caches for storing floating point and integer data
JPH0652511B2 (en) Address conversion method for information processing equipment
JPH04232551A (en) Method and apparatus for converting multiple virtaul addresses
JPH0612327A (en) Data processor having cache memory
JPH10187533A (en) Cache system, processor, and method for operating processor
JPH01125640A (en) Address conversion system
JPH0711793B2 (en) Microprocessor
JPH10293720A (en) Cache coherency mechanism in computer system, and method for changing coherency state of cache content about item held in main memory
JPH06236353A (en) Method and system for increase of parallelism of system memory of multiprocessor computer system
US6012135A (en) Computer having multiple address ports, each having logical address translation with base and limit memory management
JPWO2004031943A1 (en) Data processor
JP3506024B2 (en) Information processing equipment
KR100373576B1 (en) System and method for invalidating an entry in a translation unit
JP2924708B2 (en) Information processing device
US5895486A (en) Method and system for selectively invalidating cache lines during multiple word store operations for memory coherence
US6298355B1 (en) Computer system
JPS6136264B2 (en)
JP2004240616A (en) Memory controller and memory access control method

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090507

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100507

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110507

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110507

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120507

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120507

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130507

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140507

Year of fee payment: 15

LAPS Cancellation because of no payment of annual fees