JPH08286928A - Information processor - Google Patents

Information processor

Info

Publication number
JPH08286928A
JPH08286928A JP7113740A JP11374095A JPH08286928A JP H08286928 A JPH08286928 A JP H08286928A JP 7113740 A JP7113740 A JP 7113740A JP 11374095 A JP11374095 A JP 11374095A JP H08286928 A JPH08286928 A JP H08286928A
Authority
JP
Japan
Prior art keywords
data
address
relocation
storage device
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.)
Granted
Application number
JP7113740A
Other languages
Japanese (ja)
Other versions
JP2924708B2 (en
Inventor
Atsushi Torii
淳 鳥居
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to 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)

Abstract

PURPOSE: To improve a hit rate of cache by effectively utilizing a cache memory for discontinuously arranged data. CONSTITUTION: An address translating device 107 rearranges series of data, which discontinuously exist on a main storage device, on a storage device 109 for data rearrangement as series of data having continuous addresses. A cache memory 104 holds the copy of contents of these storage device 109 for data rearrangement and main storage device 106 and is controlled by a cache memory interface 103. Besides, an application program to use series of data discontinuously existent on the main storage device is reloaded to access the rearranged data.

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 main memory.

【0002】[0002]

【従来の技術】プロセッサの性能は半導体技術の向上や
アーキテクチャ的な工夫によって著しく向上している
が、データを記憶する主記憶装置のアクセスタイムはプ
ロセッサの性能向上に追いついておらず、メモリアクセ
スのコストが相対的に増大している。高性能プロセッサ
では、メモリアクセスの時間的局所性や空間的局所性を
活用して、高速なキャッシュメモリを設けることによっ
て、このメモリアクセスコストを低減し、この問題に対
処している。しかしながら、大規模な科学技術計算の中
にはメモリアクセスの局所性がほとんどないため、キャ
ッシュメモリが有効に働かず、メモリアクセスによる遅
延によって汎用のプロセッサでこれらの計算を高速処理
するのは難しいという問題があった。
2. Description of the Related Art The performance of a processor has been remarkably improved due to improvements in semiconductor technology and architectural innovations, but the access time of a main storage device for storing data has not kept pace with the improvement in the performance of the processor. The cost is increasing relatively. In a high-performance processor, the memory access cost is reduced and a problem is addressed 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 technological calculations, the cache memory does not work effectively, and it is difficult for a general-purpose processor to process these calculations at high speed due to the 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 a large-scale scientific and technological calculation at high speed, the conventional supercomputer increases the bandwidth to the main memory and prepares a large-capacity vector register for the calculation data. It is a well-known technique to construct 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). An example of the configuration of such a computer is shown in FIG.
In FIG. 6, the vector register 905 includes a register storage device 908, a read pointer 909 for designating a position for reading and writing, and a read selector 9.
11, a write pointer 910, a write selector 912, an adder 913, etc., and continuously loads the discontinuously arranged data on the main storage device 901 from the load pipeline 902, and the arithmetic pipeline 9
In 04, the calculation can be continuously performed. In addition,
Reference numeral 903 is a store pipeline, 906 is a register writing bus, and 907 is a register reading bus. Such a system configuration has a problem of high cost and limited applications.

【0004】また、汎用のマイクロプロセッサに、上述
のようなベクトルレジスタやそれに代わる専用のレジス
タを付加して、前述のような科学技術計算に適用しよう
とする技術もいくつか提案されている。例えば、中村氏
らが1993年に発表した論文(中村 宏,位守 弘
充,中澤 喜三郎,「レジスタウィンドウ方式を用いた
疑似ベクトルプロセッサの評価」,情報処理学会論文誌
Vol,34,No.4,pp669-680,1993)では、科学技術計算に用
いられる浮動小数点を格納するレジスタをウィンドウ方
式で拡張して、このレジスタに値をプリフェッチするこ
とによって、主記憶装置のレイテンシ問題に対処してい
る。この方式による浮動小数点レジスタの構成を図7に
示す。この方式では、ローカルレジスタ1006,オー
バラップレジスタ1007,グローバルレジスタ100
8から構成される物理レジスタ1001をハードウェア
で用意し、ウィンドウを切り替えることによって、現在
有効であるレジスタを切り替える。これによって、演算
に使用しているレジスタ以外のレジスタに対するデータ
のロード、ストアを演算と同時に行うことができ、演算
の効率が向上する。なお、図7において、1002〜1
005は物理レジスタで、それぞれウィンドウ0〜3に
対応している。
Further, some techniques have been proposed in which a vector register as described above or a dedicated register instead of the above is added to a general-purpose microprocessor so as to be applied to the scientific and technological calculation as described above. For example, Nakamura et al. Published a paper in 1993 (Hiroshi Nakamura, Hiromitsu Imori, Kisaburo Nakazawa, “Evaluation of Pseudo Vector Processors Using Register Window Method”, IPSJ Journal Vol, 34, No. 4, pp669-680, 1993) address the latency problem of the main memory by expanding the register that stores the floating point used in scientific and engineering calculations by the window method and prefetching the value into this register. The structure of the floating point register according to this method is shown in FIG. In this method, the local register 1006, the overlap register 1007, the global register 100
A physical register 1001 composed of 8 is prepared in hardware, and the currently valid register is switched by switching the window. As a result, it is possible to load and store data in a register 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. 7, 1002-1
A physical register 005 corresponds to windows 0 to 3, respectively.

【0005】[0005]

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

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

【0007】[0007]

【課題を解決するための手段】上記問題を解決するため
に、本発明の情報処理装置は、再配置したデータを記憶
するためのデータ再配置用記憶装置と、主記憶装置上に
不連続に存在する一連のデータをデータ再配置用記憶装
置上に連続する一連のデータとして再配置するアドレス
変換装置とを備え、キャッシュメモリはデータ再配置用
記憶装置の内容および主記憶装置の内容の写しを保持す
るようにし、また主記憶装置上に不連続に存在する一連
のデータを使用するアプリケーションプログラムは、前
記再配置後のデータをアクセスするように構成されてい
る。
In order to solve the above problems, an information processing apparatus of the present invention discontinues a data relocation storage device for storing relocated data and a main storage device. An address translation device that relocates a series of existing data as a series of continuous data on the data relocation storage device, and the cache memory stores a copy of the contents of the data relocation storage device and the main storage device. An application program that holds the data and uses a series of data that exists discontinuously on the main memory is configured to access the relocated data.

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

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

【0010】[0010]

【作用】本発明においては、アプリケーションプログラ
ムが使用する、主記憶装置上に不連続に存在する一連の
データを、アドレス変換装置が、主記憶装置とは別のデ
ータ再配置用記憶装置上または主記憶装置上に設けられ
たデータ再配置領域上に、アドレスの連続する一連のデ
ータとして再配置し、キャッシュメモリがこの再配置後
のデータをキャッシング対象とする。
According to the present invention, the address translator converts a series of data, which is used by an application program and exists discontinuously in the main memory device, into a main memory device or a data rearrangement memory device different from the main memory device. The data is rearranged as a series of data having continuous addresses in the data rearrangement area provided on the storage device, and the cache memory sets the rearranged data as a caching 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 an embodiment of the present invention. In the present embodiment, the discontinuously arranged 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 relocation virtual address space 202. Relocate to. For this purpose, the data relocation memory space 203 is prepared in the physical address space, and the address conversion device 107 is used to provide the discontinuous data 208 in the physical address space 204 (corresponding to the discontinuous allocation data 206).
Continuous data 20 on 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 that accesses the discontinuous data is rewritten to access the continuous data in another address space. This rewriting is performed by the user or the 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 essential parts of an embodiment of an information processing apparatus of the present invention having a data relocation function as described with reference to FIG. In FIG. 1, the processor core 101
Is the core part of an ordinary processor that consists of an arithmetic pipeline and register set. Processor core 10
1 is connected to the cache memory interface 103 by the processor data bus 151 for reading and writing necessary data. The cache memory interface 103 is connected to the cache memory 104 by a cache data bus 153 and a cache address bus 167, and also has a main memory device data bus 15
2 and a main memory physical address bus 166 to connect to the main memory interface 105, and the main memory interface 105 is connected to the main memory 106 via a main memory internal data bus 154 and a main memory internal address bus 168. . Also, in order to translate a virtual address into a physical address, TLB (Translation Lookasid
e Buffer) 102 is provided, and processor core 1
01 and the processor virtual address bus 165 and the TLB control line 181, and the cache memory interface 103 and the address bus 175. The part up to this point is no different from a normal processor.

【0014】本実施例ではさらに、データ再配置のため
に、アドレス変換装置107と、データ再配置用記憶装
置109と、データ再配置用記憶装置インタフェース1
08とが備えられている。
Further, in this embodiment, for the purpose of data relocation, the address translation device 107, the data relocation storage device 109, and the data relocation storage device interface 1
08 and are 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 translation device 107 is connected to the cache memory interface 103 by a signal line 183, a physical address bus 173 for address translation main storage device access, and a read data bus 157 for address translation device, and the main memory device interface 105 and address translation. The main memory device access physical address bus 173, the address conversion device read data bus 158, and the address conversion device write data bus 159 are connected, and the TLB 102 is connected.
And the address conversion virtual address buses 171 and 172 and the signal line 186, and the data relocation storage device interface 108 and the address translation relocation storage device access physical address bus 174 and the address translation device write data bus. 160 and an address translator read data bus 162. The data relocation storage device interface 108 is also connected to the cache memory interface 103 by the data relocation storage device data bus 155 and the data relocation physical address bus 169, and further, the data relocation storage 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 translation device 107 is for generating a special register 131 for designating relocation from software, a relocation address generation device 132 for generating a relocated physical address, and a relocation source physical address. Of the physical address generator 133, a sequencer 134 for controlling the whole, a conversion information table device 135 for storing conversion information, and a read buffer 136, a shifter 137, a multiplexer 138 for actually rearranging 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 used for the processor core 1.
01 and 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, and the physical address generation device 133 and the signal line 193, respectively. The sequencer 134 is connected to the special register 131, is also connected to the TLB 102 by the signal line 186, and the rearrangement address generator 1
32, physical address generator 133, read buffer 1
36, the shifter 137, the multiplexer 138, and the write buffer 139 are connected to them by a sequencer control line 185. The rearrangement address generation device 132 receives the control from the sequencer 134 via the control line 185, and the signal line 194 from the sequencer 134.
Via the physical address supplied from the TLB 102 and a physical address supplied from the TLB 102, and a physical address bus 174 for access to the address conversion relocation storage device is generated.
Through the data relocation storage device interface 108
To communicate. The physical address generation device 133 uses the control line 1
85 receives control from the sequencer 134, and the TLB 10 is transmitted through the address conversion physical address bus 172.
2 to generate a physical address for address conversion from the physical address supplied from 2 and the value supplied from the special register 131 through the signal line 193, and to the cache memory interface 103 and the main memory device interface 105 through 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に、それぞれ接続される。
Further, the write bus 140 is connected to the main memory interface 105 by the address translator write data bus 159, to the data relocation memory interface 108 via the address translator write data bus 160, and the address translator write. Data bus 161
Is connected to the write buffer 139. The read bus 141 is a read data bus 157 for the address conversion device.
To the cache memory interface 103, the address translator read data bus 158 to the main memory interface 105, the address translator read data bus 162 to the data relocation memory interface 108, and the output bus 195 to the read buffer 136. , Output bus 196 allows multiplexer 13
8 are connected 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 conversion device and fed back to the input of the multiplexer 138.

【0020】以下、このように構成された本実施例の動
作について順を追って説明する。
The operation of the present embodiment thus constructed will be described below in order.

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

【0022】例えば、仮想アドレス0x1000番地か
ら始まるデータで、0x1010,0x1020,0x
1030,…と合計100個のデータを、読み出しのみ
で仮想アドレス0x20000番地以降に再配置する場
合には、 ・データの単位 ワード ・データの開始仮想アドレス 0x1000 ・データ配置の規則 +0x10 ・データ数 100 ・再配置仮想アドレス 0x40000 といった再配置情報が特殊レジスタ131に設定され
る。
For example, data starting from the virtual address 0x1000, 0x1010, 0x1020, 0x
When relocating a total of 100 pieces of data such as 1030, ... to the virtual address 0x20000 and beyond by reading only, a unit word of data, a start virtual address of data 0x1000, a data arrangement rule + 0x10, and the number of data 100. Relocation information such as 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個のアドレスを生成して出力する。
Special register 131 by software
When the relocation information necessary for the
Is started, 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, and converts it into a physical address.
The physical address obtained by being translated by the TLB 102 is transmitted to the physical address generator 133 via the bus 172. The physical address generator 133 includes a sequencer 134.
Under the control of, the physical address transmitted from the TLB 102 is first selected, and the selected physical address is sent to the main memory device interface 105 through the physical address bus 173 as it is. Since the latest data at that address may exist in the cache memory 104, the same address is also sent to the cache memory interface 103. After that, the physical address generation device 133 sequentially generates the second and subsequent physical addresses based on the physical address generated this time and the data arrangement rule set in the special register 131, and sequentially outputs them to the physical address bus 173. The operation of the special register 131
Continue until the physical addresses for the number of data set in are generated. That is, in the above example, the virtual address 0x
Assuming that 1000 is mapped to the physical address 0x2000, the TLB 102 converts 0x1000 to the address 0x2000, and the physical address generation device 1
In 33, a total of 10 from 0x2000 to 0x10
Generates and outputs 0 addresses.

【0024】物理アドレス生成装置133からバス17
3を介して物理アドレスの供給を受けたキャッシュメモ
リインタフェース103は、キャッシュメモリ104中
に該当するデータが存在する場合には、そのデータを含
むラインをデータバス157を介してリードバス141
に送る。また、主記憶装置インタフェース105は主記
憶装置106から読み出した該当データを含むラインを
データバス158を介してリードバス141に送信す
る。
Physical address generator 133 to bus 17
The cache memory interface 103, which has been supplied with the physical address via No. 3, sends 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 memory device interface 105 transmits a line including the corresponding data read from the main memory device 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, and the data sent from the main memory device interface 105 to the read buffer 136 when the data is not sent. Write. This read buffer 136
The data written in (1) is logically shifted by the shifter 137 at the next stage as necessary and is 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 in byte units and newly writes the selected data in the write buffer 139, so that the data to be rearranged on the write buffer 139. Marshal as continuous data. The data of the write buffer 139 is the data bus 161, the write bus 140 and the data bus 1.
Data relocation storage device interface 1 via 60
08, and the data relocation storage device interface 108 writes the above data to the data relocation storage device 109 indicated by the physical address simultaneously supplied from the relocation address generation device 132 through the physical address bus 174.

【0026】これらの機能の動作の詳細を以下具体例を
用いて説明する。なお、データバスは8バイト幅、デー
タ再配置用仮想メモリ空間の0x40000番地はデー
タ再配置用記憶装置109の0x0番地にTLB102
によってマッピングされているとし、その他の設定は前
述した例と同じものとする。
Details of the operation of these functions will be described below with reference to specific examples. The data bus has a width of 8 bytes, and the address 0x40000 of the data relocation virtual memory space is the address 0x0 of the data relocation storage device 109 and the TLB 102.
The other settings are the same as the above-mentioned 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 memory device interface 10
5 or the data of addresses 0x2007-0x2000 are first transmitted in 8-byte units from the cache memory interface 103 and stored in the read buffer 136 having an 8-byte capacity. 0x2003 in this data
Data relocation storage device 10 is at address 0x2000
This is data to be stored at addresses 0x3-0x0 of 9 and, in this case, there is no need to shift, so it 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 address 0x2010 is the data relocation storage device 1
Since it is the data to be stored in the address 0x7-0x4 of 09, the shifter 137 shifts it to the left by 4 bytes, and the multiplexer 139 selects the content of the write buffer 139 for the lower 4 bytes and the content of the shifter 137 for the upper 4 bytes. Then, it 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 will be 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 0x0 of 9, 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.
It is performed by converting the physical address 0x0 by 2 and transmitting it to the relocation address generating device 132 via the bus 172, and the relocation address generating device 132 outputs the transmitted physical address 0x0 as it is. The reallocation address generation device 132 uses the first physical address 0x.
After the generation of 0, the physical address generated by itself and the increment value (0x8) input from the sequencer 134 through the signal line 194 are used to determine the physical address 0x8, 0x16, ...
In this way, an address is generated for each 0x8 address.

【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 generation 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 the write data bus. 161, light bus 14
0 and is sent to the data relocation storage device interface 108 through the write data bus 160, and the data relocation storage device interface 108 stores the above 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 to be relocated (8 bytes in total)
The relocation to 09 is completed. The address translation device 107 repeats the above-described operation to perform relocation for all relocation target data set in the special register 131. Then, when the rearrangement is completed, the sequencer 134 notifies the TLB 102 of the processor core 101 and the cache memory interface 1.
It is instructed to validate the conversion request corresponding to the data relocation virtual address space 202 from 03.

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

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

【0032】さて、上記アプリケーションコードを実行
中のプロセッサコア101が上記の再配置仮想アドレ
ス、例えば0x40000番地に対してアクセスを起こ
すと、当初は該当するデータがキャッシュメモリ104
中に存在しないため、キャッシュメモリインタフェース
103は、該当するデータを含むラインをデータ再配置
用記憶装置インタフェース108を通じてデータ再配置
用記憶装置109から読み出してキャッシュメモリ10
4に格納すると共に、当該ライン中の該当するデータを
プロセッサコア101に返却する。これは次のようにし
て行われる。
When the processor core 101 executing the application code accesses the relocated virtual address, for example, address 0x40000, the corresponding data is initially cached in the cache memory 104.
Since it does not exist in the cache memory interface 103, the cache memory interface 103 reads the line including the corresponding data from the data relocation storage device 109 through the data relocation storage device interface 108, and reads the line.
No. 4, and the corresponding data in the line is returned to the processor core 101. This is done 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 by the address bus 175, and Tx
It is converted by the LB 102 into an address for accessing the data relocation memory space 203. Next, the cache memory interface 103 transmits the line address including the converted address to the data relocation storage device interface 108 through the address bus 169. The data relocation storage device interface 108
The line of the transmitted line address is read from the data relocation 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. In this way, after the rearrangement, the rearranged data can be handled like normal data. If the processor core 101 accesses the data relocation virtual address space 202 before the relocation is completed, the TLB 102 has not yet validated the conversion request from the processor core 101 for the data relocation virtual address space. The processing of the processor core 101 is kept waiting until the rearrangement is completed.

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

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

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

【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 a special effect to the special register 131 and writes the data back to the normal space to the address translation device 107. Instruct. In the address translation device 107, the sequencer 134 first transfers the relocation information regarding the relocation data instructed to be written back from the translation information table device 135 to the special register 131, and also transfers the processor core 101 and the cache memory interface to the TLB 102. It is instructed to invalidate the conversion request corresponding to the data relocation virtual address space 202 from 103.

【0038】次に、シーケンサ134は、再配置アドレ
ス生成装置132でデータ再配置用記憶装置109中の
再配置データのアドレスを発生させて再配置データを順
次に読み取らせ、それらを物理アドレス生成装置133
で発生させた主記憶装置106上のアドレスに順次に書
き込ませていく。ここで、前述したように主記憶装置1
06は特定のバイト単位でしかリードライトできないた
め、書き込み先のデータを一旦読み出し、この読み出し
たデータ中の再配置データ部分をデータ再配置用記憶装
置109から読み出した再配置データで置換し、元のア
ドレスに書き戻すようにする。前述の例の場合、具体的
には以下のような動作が行われる。
Next, the sequencer 134 causes the relocation address generation device 132 to generate addresses of the relocation data in the data relocation storage device 109 so that the relocation data is sequentially read, and the physical addresses are generated by the physical address generation device. 133
The addresses are sequentially written to the addresses on the main storage device 106 generated in step. Here, as described above, the main storage device 1
Since 06 can be read / written only in a specific byte unit, the write destination data is read once, and the relocation data portion in the read data is replaced with the relocation data read from the data relocation storage device 109 to obtain the original data. Write back to the address of. In the case of the above example, specifically, the following operation is 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 is a special register 131.
Relocation virtual address 0x40000 set to TL
At B102, the physical address is converted to 0x0 and given to the relocation address generation device 132, and the relocation address generation device 1
32 first transmits the physical address 0x0 to the data relocation storage device interface 108 via the physical address bus 174, and the data relocation storage device interface 108 transfers data from the data relocation storage device 109 to the data relocation memory space. 203 address 0x7-0x0
The address data is read and stored in the read buffer 136 through 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
To the physical address generator 133 through 72,
The physical address generator 133 initially sets the address 0
The address x2000 is generated and transmitted to the cache memory interface 103 and the main memory device interface 105 through the address bus 173 to request a read. Physical address 0x2007-0x read by this
The data at address 2000 is transmitted from the cache memory interface 103 or the main memory device interface 105 to the read bus 141, and the read bus 141 outputs this to the multiplexer 138 through 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
Address data is physical address 0x2003-0x200
Since it suffices to write back to the address 0, the shifter 137 in this case outputs the data of 0x2007-0x2000 stored in the read buffer 136 to the multiplexer 138 without performing the shift operation, and the multiplexer 138 outputs the upper 4 bytes of the read bus 141. Data from (0x2007
(0x2004 address data), the lower 4 bytes select the data (0x3-0x0 address data) from the shifter 137, and store it in the write buffer 139. The data stored in the write buffer 139 is the write bus 1
It is sent to the main memory device interface 105 through 40, and is written in an 8-byte area starting from the address 0x2000 generated in the physical address generator 133 at that time. This completes the writing back of the relocation data of 0x3-0x0.

【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 causes the physical address generator 133 to generate the next address 0x2010, loads the data at the address 0x2017-0x2010 from the main memory 106 or the cache memory 104 to the read bus 141, and causes the multiplexer 138 to store the data. Input it. The data of addresses 0x7-0x4 remaining in the upper 4 bytes of the read buffer 136 is the physical address 0x201.
It is enough to write it back to the address 3-0x2010, so shifter 1
In this case, 37 shifts to the right by 4 bytes, and the multiplexer 138 stores 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 address) 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 device interface 105 through the write bus 140, and at that time, the physical address generation device 13
It is written in the 8-byte area starting from the address 0x2010 generated in 3. This completes the write-back of the 0x7-0x4 relocation data.

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

【0043】図3は本発明の別の実施例にかかる情報処
理装置の要部ブロック図、図4は当該実施例におけるメ
モリアクセスの概念図である。図1および図2で説明し
た実施例では、データ再配置メモリ空間のために、専用
の記憶装置としてデータ再配置用記憶装置109と、そ
のためのインタフェースとしてデータ再配置用記憶装置
インタフェース108を設けた。データ再配置用記憶装
置109は主記憶装置106よりも記憶容量的に少なく
て済むため高速な記憶装置を用いることも可能であり、
使用するデータをその使用に先立って明示的に再配置す
るため、その効果も十分あると考えられる。但し、汎用
システムではできるだけ装置数を減らして低コストにす
る必要がある。そこで、図3および図4に示す実施例で
は、データ再配置専用の記憶装置を省き、メモリ管理を
行うソフトウェアを拡張することによって、主記憶装置
上に再配置データを配置することを可能にする。以下、
本実施例について説明する。
FIG. 3 is a block diagram of an essential 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, a data relocation storage device 109 is provided as a dedicated storage device and a data relocation storage device interface 108 is provided as an interface for the data relocation memory space. . Since the data relocation storage device 109 requires less storage capacity than the main storage device 106, it is possible to use a high-speed storage device.
Since the data to be used is explicitly rearranged prior to its use, the effect is considered 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, it is possible to arrange the relocation data on the main storage device by omitting the storage device dedicated to the data relocation and expanding the software for memory management. . 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 translation device 107 is changed so that the relocation address generation device 132 and the physical address generation device 133 are changed.
Is selected by the selector 301 and supplied to the main memory device interface 105 and the cache memory interface 103 through the address bus 302.

【0045】データの再配置を行う場合には、アプリケ
ーションプログラムはOSなどに対してシステムコール
を発行し、図4に示すように、仮想アドレス空間401
上にデータ再配置仮想アドレス空間402を確保する。
このとき物理アドレス空間404中に、データ再配置仮
想アドレス空間402に対応するデータ再配置物理アド
レス空間403が割り付けられる。その後、アプリケー
ションプログラムは特殊レジスタ131に図1の実施例
と同様な再配置情報を設定する。アドレスの再配置処理
は図1の実施例と同様であるが、ライトバッファ139
に所望のデータが格納された時点でセレクタ301は再
配置アドレス生成装置132で発生するアドレスを選択
し、主記憶装置インタフェース105に送る。これによ
り、主記憶装置106のデータ再配置物理アドレス空間
403にデータを再配置することが可能となる。
When data is to be relocated, the application program issues a system call to the OS or the like, and as shown in FIG.
A data relocation virtual address space 402 is secured above.
At this time, the 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 relocation information similar to the embodiment of FIG. 1 in the special register 131. The address rearrangement process is the same as that of the embodiment of FIG.
When the desired data is stored in the selector 301, the selector 301 selects the address generated by the relocation address generator 132 and sends it to the main memory device interface 105. This allows data to 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に対して再配置データを送るという部分が異
なる。
Also when writing back the rearranged 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 loading the relocation data into the read buffer 136, the selector 30
1 differs in that the address generated by the relocation address generation device 132 is transmitted to the main storage device interface 105, and the main storage device interface 105 sends relocation data to the read buffer 136.

【0047】図5は本発明の更に別の実施例にかかる情
報処理装置の要部ブロック図である。図1および図3で
説明した実施例では、不連続配置のデータの参照の順序
を数式でアドレス変換装置に与えることによって連続デ
ータに並べ替えた。しかしながら、不連続データの参照
は数式で示すことが可能な規則性でなく、以下のように
ポインタによって示される場合も科学技術計算では多く
出現する。
FIG. 5 is a block diagram of the essential parts of an information processing apparatus according to yet another embodiment of the present invention. In the embodiment described with reference to FIGS. 1 and 3, the reference order of the discontinuously arranged data is given to the address conversion device by a mathematical expression to rearrange the continuous data. However, the reference of the discontinuous data is not the regularity that can be shown by a mathematical expression, and the cases shown by the pointer as described below often appear in scientific and technological 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 designating a pointer in which a variable indicating the data storage information is stored, the address translator automatically reads the pointer. The data is relocated. This makes it possible to refer to the discontinuous data by the variable index within the framework of the same rearrangement 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 translation device 107. The address queue 501 is a FIFO that stores the contents of pointer variables stored in the main storage device 106.
It is an O (First In First Out) type cue. Further, the selector 301 sends the contents of the address queue 501 to the TLB 102 via the virtual address bus for address conversion 171.
It is extended so that the address converted to a physical address by sending to can be selected. The operation of this embodiment will be described below 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 relocation information as described below in the special register 131. -Reference type pointer-Data unit word-Pointer start virtual address 0x1000-Pointer placement 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 rearrangement 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 the physical address generator 133 first generates this physical address. At this time, the selector 301 selects this address, and the cache memory interface 103 and the main memory device interface 10 are selected.
Send to 5. The data of the corresponding address (pointer of virtual address expression) read by this is read bus 14
1 is stored 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 selects it from the cache memory interface 10.
3 and the main storage device interface 105. The data thus obtained becomes the data to be rearranged, is stored in the read buffer 136, and thereafter, 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 address queue 501
Load the data pointer, load the required data,
After rearrangement, it will be written back. If the pointer has been rewritten before rewriting after rearrangement, the data is rewritten to the location indicated by the new pointer variable, and 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 existing discontinuously in the main memory is relocated as data of consecutive addresses in another memory area, and the data after the relocation is relocated. Is targeted for caching and is targeted for access by the application program, the locality of memory access during execution of the application program is enhanced, and the cache hit rate is improved accordingly, and the execution processing speed of the application program is improved. In the present invention, the data rearrangement process is an overhead, but once the rearrangement is performed, the subsequent rearrangement is unnecessary, and therefore a series of data existing discontinuously in the main memory is accessed many times. In such a case, it does not matter so much.

【0054】また、主記憶装置上のデータ再配置領域を
使用する構成によれば、専用のデータ再配置用記憶装置
を使用する場合に比べてハードウェア量を削減でき、低
コスト化が可能である。
Further, 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 of using the dedicated data relocation storage device. is there.

【図面の簡単な説明】[Brief description of 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の実施例の情報処理装置におけるメモリア
クセスの概念図である。
2 is a conceptual diagram of memory access in the information processing apparatus of the embodiment of FIG.

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

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

【図5】本発明の更に別の実施例の情報処理装置の要部
ブロック図である。
FIG. 5 is a block diagram of essential parts of an information processing apparatus according to still 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 memory device interface 106 ... Main memory device 107 ... Address translation device 108 ... Data relocation memory device interface 109 ... Data re- 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 relocation storage Device data bus 156 ... Data relocation storage device internal data bus 157 ... Address translation device read data bus 158 ... Address translation device read data bus 159 ... Address translation device write data bus 160 ... Address translation device write data bus 161 ... Write data bus for address translation device 162 ... Read data bus for address translation device 165 ... Processor virtual address bus 166 ... Main memory physical address bus 167 ... Cache address bus 168 ... Main memory internal address bus 169 ... Data relocation Physical address bus 170 ... Internal address bus for data relocation 171 ... Virtual address bus for address translation 172 ... Physical address bus for address translation 173 ... Physical address bus for address translation main memory device 17 ... Address translation / relocation storage device access physical address bus 175 ... Address bus 181 ... TLB control line 182 ... Special register access control line 183 ... Address translation device-cache information transmission signal line 184 ... Translation information table input / output bus 185 ... Sequencer control line 186 ... Address translator-signal line for transmitting 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 allocation data on virtual address space 207 ... Relocation data on data relocation memory space 208 ... Discontinuous data on physical address space 301 ... Selector 302 ... Address translation Physical address for access to main storage device 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 virtual address space 406 ... discontinuous data on virtual address space 407 ... data relocation Relocation data 408 on physical address space ... Discontinuous data 501 on physical address space ... Address queue

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 再配置したデータを記憶するためのデー
タ再配置用記憶装置と、主記憶装置上に不連続に存在す
る一連のデータを前記データ再配置用記憶装置上に連続
する一連のデータとして再配置するアドレス変換装置
と、データ再配置用記憶装置の内容および主記憶装置の
内容の写しを保持するキャッシュメモリとを備え、前記
主記憶装置上に不連続に存在する一連のデータを使用す
るアプリケーションプログラムは、前記再配置後のデー
タをアクセスするように構成されることを特徴とする情
報処理装置。
1. A data relocation storage device for storing relocated data, and a series of data that is discontinuous in a main storage device and continuous in the data relocation storage device. And 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 uses a series of data that exist discontinuously on the main storage device. An information processing apparatus, wherein the application program is configured to access the relocated data.
【請求項2】 主記憶装置の内容の写しを保持するキャ
ッシュメモリと、再配置したデータを記憶するための、
主記憶装置上のデータ再配置領域と、主記憶装置上に不
連続に存在する一連のデータを前記データ再配置領域上
に連続する一連のデータとして再配置するアドレス変換
装置とを備え、前記主記憶装置上に不連続に存在する一
連のデータを使用するアプリケーションプログラムは、
前記再配置後のデータをアクセスするように構成される
ことを特徴とする情報処理装置。
2. A cache memory for holding a copy of the contents of the main memory, and for storing the relocated data,
A data relocation area on the main storage device; and an address translation device for relocating a series of data existing discontinuously on the main storage device as a series of continuous data on the data relocation area. An application program that uses a series of data that exists discontinuously on a storage device
An information processing apparatus configured to access the data after the rearrangement.
【請求項3】 主記憶装置上に不連続に存在する一連の
データのアドレスが或る規則性を持っている場合に、そ
の規則性を示す再配置情報に従って前記アドレス変換装
置が再配置すべきデータの読み出しを行うことを特徴と
する請求項1または2記載の情報処理装置。
3. When the addresses of a series of data existing discontinuously on the main storage device have a certain regularity, the address translator should relocate according to the relocation information indicating the regularity. The information processing apparatus according to claim 1, wherein the information is read.
【請求項4】 主記憶装置上に不連続に存在する一連の
データのアドレスが、主記憶装置上の別の箇所に格納さ
れたポインタで示される場合に、そのポインタの格納ア
ドレスを示す再配置情報に従って前記アドレス変換装置
がポインタに従って再配置すべきデータの読み出しを行
うことを特徴とする請求項1または2記載の情報処理装
置。
4. A rearrangement indicating a storage address of a pointer when the address of a series of data existing discontinuously on the main memory is indicated by a pointer stored at another location on the main memory. 3. The information processing device according to claim 1, wherein the address translation device reads out data to be rearranged according to information according to information.
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 true JPH08286928A (en) 1996-11-01
JP2924708B2 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6507894B1 (en) 1998-12-10 2003-01-14 Nec Corporation Information processing apparatus and process

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6507894B1 (en) 1998-12-10 2003-01-14 Nec Corporation Information processing apparatus and process

Also Published As

Publication number Publication date
JP2924708B2 (en) 1999-07-26

Similar Documents

Publication Publication Date Title
US3898624A (en) Data processing system with variable prefetch and replacement algorithms
JP3816586B2 (en) Method and system for generating prefetch instructions
US4701844A (en) Dual cache for independent prefetch and execution units
JP3285644B2 (en) Data processor with cache memory
JP3666689B2 (en) Virtual address translation method
JPH04232551A (en) Method and apparatus for converting multiple virtaul addresses
JPH10232839A (en) Cache system and operation method for cache memory
JPH09506729A (en) Memory system including local and global caches for storing floating point and integer data
JPH10187533A (en) Cache system, processor, and method for operating processor
JPH0652511B2 (en) Address conversion method for information processing equipment
KR960001945B1 (en) Apparatus for increasing the number of hits in a translation
JP2575219B2 (en) Data processing system and method for facilitating instruction execution
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
JP3506024B2 (en) Information processing equipment
US5206945A (en) Single-chip pipeline processor for fetching/flushing instruction/data caches in response to first/second hit/mishit signal respectively detected in corresponding to their logical addresses
KR100373576B1 (en) System and method for invalidating an entry in a translation unit
JPH09179779A (en) Computer system and data transfer method
JPH0520197A (en) Storage control system and microprocessor
JPH0327940B2 (en)
US5895486A (en) Method and system for selectively invalidating cache lines during multiple word store operations for memory coherence
JP2924708B2 (en) Information processing device
US5197133A (en) Control store addressing from multiple sources
US6298355B1 (en) Computer system
JPH0721781B2 (en) Multiprocessor system

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