JP3006204B2 - Information processing device - Google Patents
Information processing deviceInfo
- Publication number
- JP3006204B2 JP3006204B2 JP3234590A JP23459091A JP3006204B2 JP 3006204 B2 JP3006204 B2 JP 3006204B2 JP 3234590 A JP3234590 A JP 3234590A JP 23459091 A JP23459091 A JP 23459091A JP 3006204 B2 JP3006204 B2 JP 3006204B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- register
- instruction
- storage unit
- effective address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/60—Other road transportation technologies with climate change mitigation effect
- Y02T10/72—Electric energy management in electromobility
Landscapes
- Executing Machine-Instructions (AREA)
- Memory System (AREA)
Description
【0001】[0001]
【産業上の利用分野】本発明は、電子計算機におけるメ
モリアクセスにおいて、特にロード命令の頻度が大きく
またこの処理に時間を要するような場合に、このロード
命令を高速に行うための情報処理装置に関するものであ
る。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing apparatus for executing a load instruction at a high speed in a memory access in an electronic computer, particularly when a load instruction has a high frequency and a long time is required for this processing. Things.
【0002】[0002]
【従来の技術】図4は 従来の情報処理装置の概略構成
図を示すものである。以下図4を参照しながら、従来の
情報処理装置について説明する。110はレジスタの内
容を格納するレジスタ部、102は複数の語からなるレ
ジスタファイル、101はレジスタファイル102を有
する演算処理部、103はメインメモリのバッファメモ
リであるデータキャッシュメモリまたはメインメモリか
ら構成されるデータ記憶部、104はストア命令用デー
タバス、105はロード命令用データバス、108はレ
ジスタファイル中のレジスタを示すためのレジスタ番
号、109はデータ記憶部103内部のデータを示すた
めのアドレスである。演算処理部101においてロード
命令およびストア命令が、次の数式(数1)で示す命令
列に従って実行処理が行なわれる場合の動作について説
明する。2. Description of the Related Art FIG. 4 is a schematic block diagram of a conventional information processing apparatus. Hereinafter, a conventional information processing apparatus will be described with reference to FIG. Reference numeral 110 denotes a register unit for storing the contents of the register, 102 denotes a register file including a plurality of words, 101 denotes an arithmetic processing unit having the register file 102, and 103 denotes a data cache memory or a main memory which is a buffer memory of a main memory. 104 is a data bus for store instructions, 105 is a data bus for load instructions, 108 is a register number for indicating a register in a register file, and 109 is an address for indicating data inside the data storage unit 103. is there. The operation when the load instruction and the store instruction are executed by the arithmetic processing unit 101 in accordance with the instruction sequence represented by the following equation (Equation 1) will be described.
【0003】[0003]
【数1】 (Equation 1)
【0004】ここで、loadはロード命令、storeはスト
ア命令を示し、(100)等は実効アドレスが100番地で
あるデータを示し、r0等はレジスタ番号108を示
す。例えば、(数1)の命令列の第1行目のロード命令
は、実効アドレスが100番地であるデータをレジスタ
番号108のr0のレジスタに格納する処理である。こ
れは、データ記憶部103中のアドレス109が示す1
00番地のデータAをロード用データバス105を経由
して転送し、レジスタファイル102中のレジスタ番号
108のr0のレジスタに格納する動作である。一方、
ストア命令はロード命令の逆の動作であり、(数1)の
命令列の第3行目のストア命令は、レジスタ番号108
のr2のレジスタのデータをデータ記憶部103中のア
ドレス109が示す300番地に格納する処理である。
これは、レジスタファイル102中のレジスタ番号10
8のr2のレジスタのデータCをストア用データバス1
04を経由して転送し、データ記憶部103中のアドレ
ス109が示す300番地に格納する動作である。(数
1)の命令列の第4行目のロード命令は、実効アドレス
が100番地であるデータをレジスタ番号108のr3
のレジスタに格納する処理である。これは、データ記憶
部103中のアドレス109が示す100番地のデータ
Aをロード用データバス105を経由して転送し、レジ
スタファイル102中のレジスタ番号108のr3のレ
ジスタに格納する動作であり、(数1)の命令列の第1
行目のロード命令と同じ実効アドレスのデータを異なる
レジスタへ格納することになる。このようなロード命令
は、コンパイラの最適化により取り除かれる場合が多い
が、最適化によってのみ取り除くことができるものでは
ない。Here, load indicates a load instruction, store indicates a store instruction, (100) and the like indicate data having an effective address of 100, and r0 and the like indicate a register number 108. For example, the load instruction in the first row of the instruction sequence of (Equation 1) is a process of storing data having an effective address of 100 in the register r0 of the register number 108. This corresponds to 1 indicated by the address 109 in the data storage unit 103.
In this operation, the data A at address 00 is transferred via the load data bus 105 and stored in the register r0 of the register number 108 in the register file 102. on the other hand,
The store instruction is the reverse operation of the load instruction, and the store instruction in the third row of the (1)
This is a process of storing the data of the register r2 in the data storage unit 103 at the address 300 indicated by the address 109.
This corresponds to register number 10 in register file 102.
The data C of the r2 register 8 is stored in the data bus 1 for storage.
In this operation, the data is transferred via the data storage unit 04 and stored at the address 300 indicated by the address 109 in the data storage unit 103. The load instruction in the fourth row of the instruction sequence of (Equation 1) stores the data whose effective address is 100 in r3 of the register number 108.
This is the process of storing in the register. This is an operation of transferring the data A at address 100 indicated by the address 109 in the data storage unit 103 via the load data bus 105 and storing the data A in the register r3 of the register number 108 in the register file 102. The first of the instruction sequence of (Equation 1)
The data at the same effective address as the load instruction on the line is stored in a different register. Such a load instruction is often removed by compiler optimization, but cannot be removed only by optimization.
【0005】[0005]
【発明が解決しようとする課題】しかしながら上記のよ
うな構成では、以前にロード命令によりロードしたデー
タを後続のロード命令により再度ロードする場合に、以
前のロード命令と同一の実効アドレスのデータを異なる
レジスタへ格納することになり、再度、データ記憶部を
アクセスすることになり処理時間の増大を引き起こすこ
とになり情報処理装置の処理効率を低下させるという問
題点を有していた。However, in the above configuration, when data loaded by a previous load instruction is reloaded by a subsequent load instruction, data of the same effective address as that of the previous load instruction is different. Since the data is stored in the register, the data storage unit is accessed again, which causes an increase in the processing time and a problem that the processing efficiency of the information processing apparatus is reduced.
【0006】本発明は上記問題点に鑑み、ロード命令の
実効アドレスが以前のロード命令の実効アドレスと一致
する場合に再度ロードする必要がなく処理効率を低下さ
せることのない情報処理装置を提供することを目的とす
る。SUMMARY OF THE INVENTION In view of the above problems, the present invention provides an information processing apparatus that does not need to be reloaded when the effective address of a load instruction matches the effective address of a previous load instruction and does not reduce processing efficiency. The purpose is to:
【0007】[0007]
【課題を解決するための手段】上記問題点を解決するた
めに本発明の情報処理装置は、それぞれの語が、レジス
タ部と実効アドレス記憶部と有効ビット記憶部とからな
るレジスタファイルを有する演算処理部と、データキャ
ッシュメモリまたはメインメモリで構成されるデータ記
憶部を有し、前記レジスタファイルとデータ記憶部間の
データ転送を行う命令により、このデータ記憶部に対す
る読み出しまたは書き込みしたデータおよびこのデータ
に対応する実効アドレスおよび有効ビットをレジスタフ
ァイルに登録しておき、前記データ記憶部から前記レジ
スタファイルへのデータ転送を行う命令によるデータの
実効アドレスと前記レジスタファイル中のレジスタに以
前格納されたデータに対応する実効アドレスとを比較し
一致しかつ当該レジスタのデータの有効ビットがセット
されている場合、当該レジスタへ以前に格納されたデー
タと実効アドレスと有効ビットを、前記メモリからレジ
スタへのデータ転送を行う命令に対応するレジスタと実
効アドレス記憶部と有効ビット記憶部に複写し格納する
ための処理を行い、前記レジスタファイルから前記デー
タ記憶部のデータ転送を行う命令によるデータの実効ア
ドレスと前記レジスタファイル中のレジスタに以前格納
されたデータに対応する実効アドレスとを比較し一致し
た場合に以前にセットされた当該レジスタの有効ビット
をリセットして前記レジスタからメモリへのデータ転送
を行う命令によるデータを前記データ記憶部に格納する
処理を行い、前記演算処理部において論理算術演算命令
が実行される場合にこの演算結果のデータを格納するた
めのレジスタに対応する有効ビットをリセットして演算
結果のデータをこのレジスタに格納する処理を行うこと
を特徴とするものである。In order to solve the above-mentioned problems, an information processing apparatus according to the present invention provides an information processing apparatus in which each word has a register file including a register section, an effective address storage section, and an effective bit storage section. A data storage unit comprising a processing unit and a data cache memory or a main memory, wherein data read or written to the data storage unit is read by an instruction for data transfer between the register file and the data storage unit; Are registered in the register file, and the effective address of the data according to the instruction for performing the data transfer from the data storage unit to the register file and the data previously stored in the register in the register file are stored. Is compared with the effective address corresponding to the When the valid bit of the data of the register is set, the data previously stored in the register, the effective address, and the valid bit are stored in the register and the effective address storage unit corresponding to the instruction for performing the data transfer from the memory to the register. And a process for copying and storing the data in the effective bit storage unit, and corresponding to an effective address of data by an instruction for performing data transfer from the register file to the data storage unit and data previously stored in a register in the register file. Comparing the effective address with the effective address to reset the valid bit of the register that was previously set and storing data by an instruction for performing data transfer from the register to the memory in the data storage unit, When a logical arithmetic operation instruction is executed in the arithmetic processing unit, It is characterized in that performing data valid bit reset to operation result corresponding to the register for storing over data processing to be stored in this register.
【0008】[0008]
【作用】本発明は前記した構成によって、以前にロード
したデータと同一のデータを後続のロード命令により再
度ロードする場合において、後続のロード命令を実行す
る代わりに以前のロード命令と同一の実効アドレスのデ
ータを異なるレジスタへ複写し格納することにより、再
度データ記憶部をアクセスすることによる処理時間の増
大を引き起こすことなく情報処理装置の処理効率を向上
させることになる。According to the present invention, when the same data as the previously loaded data is reloaded by a subsequent load instruction, the present invention provides the same effective address as the previous load instruction instead of executing the subsequent load instruction. By copying and storing the data in a different register, the processing efficiency of the information processing apparatus can be improved without causing an increase in processing time due to accessing the data storage unit again.
【0009】[0009]
【実施例】図1は本発明の実施例における情報処理装置
の概略構成図を示すものである。図1において、10は
レジスタの内容を格納するレジスタ部、2は複数の語か
らなるレジスタファイル、1はレジスタファイルを有す
る演算処理部、3はメインメモリのバッファメモリであ
るデータキャッシュメモリまたはメインメモリで構成さ
れるデータ記憶部、4はストア命令用データバス、5は
ロード命令用データバス、8はレジスタファイル2中の
レジスタを示すためのレジスタ番号、9はデータ記憶部
3内部のデータを示すためのアドレスである。6はレジ
スタのデータが有効であることを示す有効ビットをレジ
スタファイル2中のレジスタに対応して格納する有効ビ
ット記憶部、7はロード命令またはストア命令によりデ
ータ記憶部3に対して読み書きするデータの実効アドレ
スをレジスタファイル2中のレジスタに対応して格納す
る実効アドレス記憶部である。FIG. 1 is a schematic block diagram of an information processing apparatus according to an embodiment of the present invention. In FIG. 1, reference numeral 10 denotes a register unit for storing the contents of a register, 2 denotes a register file comprising a plurality of words, 1 denotes an arithmetic processing unit having a register file, and 3 denotes a data cache memory or a main memory which is a buffer memory of a main memory. , 4 is a data bus for a store instruction, 5 is a data bus for a load instruction, 8 is a register number for indicating a register in the register file 2, and 9 is data in the data storage unit 3. Address. Reference numeral 6 denotes a valid bit storage unit that stores a valid bit indicating that the data of the register is valid, corresponding to the register in the register file 2, and 7 denotes data that is read from or written to the data storage unit 3 by a load instruction or a store instruction. Is an effective address storage unit that stores the effective address of the register corresponding to the register in the register file 2.
【0010】以上のように構成された情報処理装置につ
いて、以下その動作について説明する。演算処理部1に
おいてロード命令およびストア命令が、次の数式(数
2)で示す命令列に従い実行処理が行なわれる場合の動
作について説明する。The operation of the information processing apparatus configured as described above will be described below. The operation in the case where the load instruction and the store instruction are executed in the arithmetic processing unit 1 in accordance with the instruction sequence represented by the following equation (Equation 2) will be described.
【0011】[0011]
【数2】 (Equation 2)
【0012】(数2)の命令列の第4行目のロード命令
は、実効アドレスが100番地であるデータをレジスタ
番号8のr3のレジスタに格納する処理である。このロ
ード命令によるデータの実効アドレス100とレジスタ
ファイル2中のレジスタに対応して以前格納されたデー
タの実効アドレスとを比較し一致した時かつ当該レジス
タのデータの有効ビットがセットされている時、つまり
この場合はレジスタr0へ以前に格納されたロードデー
タA、実効アドレス100、有効ビット1をこのロード
命令に対応するレジスタ番号r3のレジスタ、実効アド
レス記憶部、有効ビット記憶部にそれぞれ複写し格納す
る。(数2)の命令列の第5行目のロード命令は、実効
アドレスが300番地であるデータをレジスタ番号r4
のレジスタに格納する処理である。このロード命令によ
るデータの実効アドレス300とレジスタファイル2中
のレジスタに対応して以前格納されたデータの実効アド
レスとを比較し一致した時かつ当該レジスタのデータの
有効ビットがセットされている時、つまりレジスタr2
へ以前に格納されたストアデータC、実効アドレス30
0、有効ビット1をこのロード命令に対応するレジスタ
番号r4のレジスタ、実効アドレス記憶部、有効ビット
記憶部にそれぞれ複写し格納する。The load instruction in the fourth row of the instruction sequence of (Equation 2) is a process of storing data having an effective address of 100 in the register r3 of register number 8. When the effective address 100 of the data by the load instruction is compared with the effective address of the data previously stored corresponding to the register in the register file 2 and they match, and when the valid bit of the data of the register is set, That is, in this case, the load data A, the effective address 100, and the effective bit 1 previously stored in the register r0 are copied and stored in the register of the register number r3, the effective address storage unit, and the effective bit storage unit corresponding to the load instruction. I do. The load instruction in the fifth row of the instruction sequence of (Equation 2) stores the data whose effective address is 300 in the register number r4.
This is the process of storing in the register. When the effective address 300 of the data by the load instruction is compared with the effective address of the data previously stored corresponding to the register in the register file 2 and they match, and the valid bit of the data of the register is set, That is, the register r2
To previously stored data C, effective address 30
0 and valid bit 1 are copied and stored in the register of register number r4 corresponding to the load instruction, the effective address storage unit, and the valid bit storage unit, respectively.
【0013】図2は、図1に示した情報処理装置におい
て、レジスタからメモリへのデータ転送を行う場合の動
作を示すものである。演算処理部1においてロード命令
/ストア命令および算術和演算命令が、次の数式(数
3)で示す命令列に従い実行処理が行なわれる場合の動
作について説明する。FIG. 2 shows an operation when data is transferred from a register to a memory in the information processing apparatus shown in FIG. The operation in the case where the load instruction / store instruction and the arithmetic sum operation instruction are executed in the arithmetic processing unit 1 in accordance with the instruction sequence represented by the following equation (Equation 3) will be described.
【0014】[0014]
【数3】 (Equation 3)
【0015】(数3)の命令列の第5行目のストア命令
は、前記算術和演算結果Dが格納されたr3のデータを
データ記憶部3中のアドレス9が示す100番地にデー
タを格納する処理である。まず、レジスタファイル2中
のr3のレジスタのデータDをストア用データバス4を
経由して転送し、データ記憶部3中の100番地が示す
古いデータAをDに更新し、レジスタファイル2中のr
3に対応する実効アドレス記憶部7に実効アドレス10
0を格納しかつ有効ビット記憶部6の有効ビットをセッ
トする。さらに、この実効アドレス100とレジスタフ
ァイル2中に以前格納されたデータの実効アドレスとを
比較し一致したレジスタr0のデータの有効ビットをリ
セットする。The store instruction in the fifth row of the instruction sequence of (Equation 3) stores the data of r3 in which the result D of the arithmetic sum operation is stored at the address 100 indicated by the address 9 in the data storage unit 3. This is the processing to be performed. First, the data D of the register r3 in the register file 2 is transferred via the storage data bus 4, and the old data A indicated by the address 100 in the data storage unit 3 is updated to D. r
The effective address 10 is stored in the effective address storage unit 7 corresponding to
0 is stored and the valid bit of the valid bit storage unit 6 is set. Further, the effective address 100 is compared with the effective address of the data previously stored in the register file 2, and the valid bit of the data of the register r0 that matches is reset.
【0016】図3は、図1に示した情報処理装置におい
て、算術論理演算を行う場合の動作を示すものである。
演算処理部1においてロード命令および算術和演算命令
が、次の数式(数4)で示す命令列に従い実行処理が行
なわれる場合の動作について説明する。FIG. 3 shows the operation when the arithmetic and logic operation is performed in the information processing apparatus shown in FIG.
The operation in the case where the load instruction and the arithmetic sum operation instruction are executed in the arithmetic processing unit 1 in accordance with the instruction sequence represented by the following equation (Equation 4) will be described.
【0017】[0017]
【数4】 (Equation 4)
【0018】(数4)の命令列の第4行目の算術和演算
命令は、r1とr2の演算結果Dをr0のレジスタに格
納する処理である。この時、結果の格納先レジスタであ
るr0の有効ビット記憶部6の有効ビットをリセットす
る。The arithmetic sum operation instruction on the fourth line of the instruction sequence of (Equation 4) is a process of storing the operation result D of r1 and r2 in the register of r0. At this time, the valid bit of the valid bit storage unit 6 of the result storage register r0 is reset.
【0019】以上のように本発明によれば、ロード命令
またはストア命令によりこのデータ記憶部に対して読み
書きするデータの実効アドレスおよびこのデータが有効
であることを示す有効ビットを格納する記憶部をこのレ
ジスタファイルの各レジスタに対応して設け、ロード命
令またはストア命令によりこのデータ記憶部に対して読
み書きしたデータおよびこのデータに対応する実効アド
レスおよび有効ビットをレジスタファイルに登録してお
くことにより、後に続くロード命令が以前のロード命令
またはストア命令と同じ実効アドレスのデータを必要と
する場合に、データ記憶部から再度ロードすることな
く、レジスタへ以前に格納されたデータをこのロード命
令に対応する格納先レジスタへ複写して格納することが
できる。また、以前のロード命令またはストア命令と同
じ実効アドレスのデータを後続のストア命令により更新
する時、このデータを無効化しておき、かつ、以前のロ
ード命令またはストア命令と同じ実効アドレスのデータ
を格納しているレジスタを算術論理演算命令が更新する
時にこのデータを無効化しておくことにより、後続のロ
ード命令により再度このデータがロードされないように
データのコンシステンシを保証することができる。これ
により、データ記憶部が階層メモリの構成をとる場合に
おいて、ロードしようとするデータが最下層のメモリに
存在する時に、そのデータ転送に伴う処理時間を除去で
きる効果は非常に大きい。As described above, according to the present invention, a storage unit for storing an effective address of data to be read from or written to the data storage unit by a load instruction or a store instruction and a valid bit indicating that the data is valid. By providing data corresponding to each register of the register file and registering data read / written to / from the data storage unit by a load instruction or a store instruction and an effective address and valid bit corresponding to the data in the register file, If a subsequent load instruction requires data at the same effective address as a previous load or store instruction, the data previously stored in the register corresponds to this load instruction without reloading from the data store. It can be copied and stored in the storage destination register. When updating the data at the same effective address as the previous load instruction or store instruction by the subsequent store instruction, invalidate this data and store the data at the same effective address as the previous load instruction or store instruction. By invalidating this data when the arithmetic and logic operation instruction updates the register being executed, it is possible to guarantee data consistency so that this data is not loaded again by a subsequent load instruction. As a result, when the data storage unit has a hierarchical memory configuration, when the data to be loaded exists in the lowest memory, the processing time required for the data transfer can be greatly reduced.
【0020】なお、本実施例では、仮想記憶機構は考慮
していないが、仮想記憶の情報処理装置の場合において
も、現在実行しているプロセスから、異なるプロセスへ
処理が切り替わる場合に、前記レジスタファイル2中の
有効ビット記憶部6をすべてリセットしレジスタの内容
を無効化することにより、本発明を有効に適用できるこ
とは言うまでもない。Although this embodiment does not consider a virtual storage mechanism, even in the case of a virtual storage information processing apparatus, when processing is switched from a currently executing process to a different process, the above-described register is not used. It goes without saying that the present invention can be effectively applied by resetting all the valid bit storage units 6 in the file 2 and invalidating the contents of the registers.
【0021】また、本実施例においては、ロード命令、
ストア命令および算術演算命令をそれぞれ独立している
が、算術演算とロードの複合命令、あるいは算術演算と
ストアの複合命令などの場合にも同様の動作を実現で
き、本発明を適用できることは言うまでもない。また、
図2においては、ストア用データバス4とロード用デー
タバス5とをそれぞれ独立して設けているが、1つのデ
ータバスによりそれらを兼ねることができるのは言うま
でもない。In this embodiment, a load instruction,
Although the store instruction and the arithmetic operation instruction are independent of each other, the same operation can be realized in the case of a composite instruction of arithmetic operation and load, or a composite instruction of arithmetic operation and store, and it goes without saying that the present invention can be applied. . Also,
In FIG. 2, the store data bus 4 and the load data bus 5 are provided independently of each other, but it goes without saying that one data bus can serve as both.
【0022】[0022]
【発明の効果】以上のように本発明は、ロード命令また
はストア命令によりデータ記憶部に対して読み書きする
データの実効アドレスおよびこのデータが有効であるこ
とを示す有効ビットを格納する記憶部をレジスタファイ
ルの各レジスタに対応して設け、ロード命令またはスト
ア命令によりこのデータ記憶部に対して読み書きしたデ
ータおよびこのデータに対応する実効アドレスおよび有
効ビットをレジスタファイルに登録しておくことによ
り、後に続くロード命令が以前のロード命令またはスト
ア命令と同じ実効アドレスのデータを必要とする場合
に、データ記憶部から再度ロードすることなく、レジス
タへ以前に格納されたデータをこのロード命令に対応す
る格納先レジスタへ複写して格納することができる。ま
た後続のストア命令の実効アドレスと一致する以前のロ
ード命令またはストア命令により格納されたデータを無
効化し、以前のロード命令またはストア命令のデータを
格納しているレジスタを算術論理演算命令が更新する時
にこのデータを無効化しておくことにより、後続のロー
ド命令により再度このデータがロードされないようにデ
ータのコンシステンシを保証することができる。従っ
て、再度、データ記憶部をアクセスし処理時間の増大を
引き起こすことなくロード命令の高速化を図り、電子計
算機への応用による実用的効果は非常に大きい。As described above, according to the present invention, a storage unit for storing an effective address of data to be read from or written to a data storage unit by a load instruction or a store instruction and a storage unit for storing a valid bit indicating that the data is valid. By providing data corresponding to each register of the file and registering data read / written to / from this data storage unit by a load instruction or a store instruction and an effective address and an effective bit corresponding to the data in a register file, When a load instruction requires data at the same effective address as a previous load or store instruction, the data previously stored in the register is stored in the storage location corresponding to this load instruction without reloading from the data storage unit. It can be copied and stored in a register. Further, the data stored by the previous load or store instruction that matches the effective address of the subsequent store instruction is invalidated, and the register storing the data of the previous load or store instruction is updated by the arithmetic and logic operation instruction. Sometimes, by invalidating this data, it is possible to guarantee data consistency so that this data is not loaded again by a subsequent load instruction. Therefore, the speed of the load instruction can be increased without causing an increase in the processing time by accessing the data storage unit again, and the practical effect of application to the electronic computer is very large.
【図1】本発明の実施例における情報処理装置の概略構
成図FIG. 1 is a schematic configuration diagram of an information processing apparatus according to an embodiment of the present invention.
【図2】同実施例における動作説明のための情報処理装
置の概略構成図FIG. 2 is a schematic configuration diagram of an information processing apparatus for explaining operation in the embodiment.
【図3】同実施例における動作説明のための情報処理装
置の概略構成図FIG. 3 is a schematic configuration diagram of an information processing apparatus for explaining operation in the embodiment.
【図4】従来の情報処理装置の概略構成図FIG. 4 is a schematic configuration diagram of a conventional information processing apparatus.
1 演算処理部 2 レジスタファイル 3 データ記憶部 4 ストア用データバス 5 ロード用データバス 6 有効ビット記憶部 7 実効アドレス記憶部 10 レジスタ部 REFERENCE SIGNS LIST 1 arithmetic processing unit 2 register file 3 data storage unit 4 store data bus 5 load data bus 6 effective bit storage unit 7 effective address storage unit 10 register unit
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 12/00 560 G06F 9/34 ──────────────────────────────────────────────────続 き Continued on front page (58) Field surveyed (Int.Cl. 7 , DB name) G06F 12/00 560 G06F 9/34
Claims (1)
レス記憶部と有効ビット記憶部とからなるレジスタファ
イルを有する演算処理部と、データキャッシュメモリま
たはメインメモリで構成されるデータ記憶部を有し、前
記レジスタファイルとデータ記憶部間のデータ転送を行
う命令により、このデータ記憶部に対する読み出しまた
は書き込みしたデータおよびこのデータに対応する実効
アドレスおよび有効ビットを前記レジスタファイルに登
録しておき、前記データ記憶部から前記レジスタファイ
ルへのデータ転送を行う命令によるデータの実効アドレ
スと前記レジスタファイル中のレジスタに以前格納され
たデータに対応する実効アドレスとを比較し一致しかつ
当該レジスタのデータの有効ビットがセットされている
場合、当該レジスタへ以前に格納されたデータと実効ア
ドレスと有効ビットを、前記メモリからレジスタへのデ
ータ転送を行う命令に対応する前記レジスタファイル内
の前記レジスタ部と前記実効アドレス記憶部と前記有効
ビット記憶部に複写し格納するための処理を行い、 前記レジスタファイルから前記データ記憶部のデータ転
送を行う命令によるデータの実効アドレスと前記レジス
タファイル中のレジスタに以前格納されたデータに対応
する実効アドレスとを比較し一致した場合に以前にセッ
トされた当該レジスタの有効ビットをリセットして前記
レジスタからメモリへのデータ転送を行う命令によるデ
ータを前記データ記憶部に格納する処理を行い、前記演
算処理部において論理算術演算命令が実行される場合に
この演算結果のデータを格納するためのレジスタに対応
する有効ビットをリセットして演算結果のデータをこの
レジスタに格納する処理を行うことを特徴とする情報処
理装置。Each word has an arithmetic processing unit having a register file including a register unit, an effective address storage unit, and an effective bit storage unit, and a data storage unit including a data cache memory or a main memory. According to an instruction for performing data transfer between the register file and the data storage unit, data read or written to the data storage unit and an effective address and an effective bit corresponding to the data are registered in the register file. An effective address of data according to an instruction for performing data transfer from the storage unit to the register file is compared with an effective address corresponding to data previously stored in a register in the register file, and the effective address of the data of the register matches. If is set, the corresponding register The previously stored data, effective address, and valid bit are stored in the register file corresponding to the instruction for performing data transfer from the memory to the register .
Said register unit and performs processing for copying stored in the effective address storing unit and the valid bit storage section, the effective address of the data by the instruction for performing data transfer of the data storage unit from said register file register file Compares with the effective address corresponding to the data previously stored in the register in the middle register, and when there is a match, resets the valid bit of the previously set register and resets the effective bit of the register to transfer data from the register to the memory. When a logical arithmetic operation instruction is executed in the arithmetic processing unit, a valid bit corresponding to a register for storing data of the arithmetic result is reset and the data of the arithmetic result is reset. An information processing apparatus, which performs a process of storing in a register.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3234590A JP3006204B2 (en) | 1991-09-13 | 1991-09-13 | Information processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3234590A JP3006204B2 (en) | 1991-09-13 | 1991-09-13 | Information processing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0573398A JPH0573398A (en) | 1993-03-26 |
JP3006204B2 true JP3006204B2 (en) | 2000-02-07 |
Family
ID=16973412
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3234590A Expired - Fee Related JP3006204B2 (en) | 1991-09-13 | 1991-09-13 | Information processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3006204B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101910934B1 (en) * | 2012-03-26 | 2018-12-28 | 삼성전자 주식회사 | Apparatus and method for processing invalid operation of prologue or epilogue of loop |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5085180B2 (en) * | 2007-04-24 | 2012-11-28 | 株式会社東芝 | Information processing apparatus and access control method |
JP2012088909A (en) * | 2010-10-19 | 2012-05-10 | Tokyo Univ Of Agriculture & Technology | Converter and conversion method |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS53124941A (en) * | 1977-04-08 | 1978-10-31 | Hitachi Ltd | Data processor |
JPS5819954A (en) * | 1981-07-29 | 1983-02-05 | Toshiba Corp | Data processing device |
-
1991
- 1991-09-13 JP JP3234590A patent/JP3006204B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101910934B1 (en) * | 2012-03-26 | 2018-12-28 | 삼성전자 주식회사 | Apparatus and method for processing invalid operation of prologue or epilogue of loop |
Also Published As
Publication number | Publication date |
---|---|
JPH0573398A (en) | 1993-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5586297A (en) | Partial cache line write transactions in a computing system with a write back cache | |
KR100204741B1 (en) | Method to increase performance in a multi-level cache system by the use of forced cache misses | |
US5095424A (en) | Computer system architecture implementing split instruction and operand cache line-pair-state management | |
JP3067112B2 (en) | How to reload lazy push into copy back data cache | |
EP0514024B1 (en) | Method and apparatus for an improved memory architecture | |
JPH05210585A (en) | Cash management system | |
US6915396B2 (en) | Fast priority determination circuit with rotating priority | |
EP0669579B1 (en) | Coherence index generation for use by an input/output adapter | |
US5155828A (en) | Computing system with a cache memory and an additional look-aside cache memory | |
US10474575B2 (en) | Cache-based communication between execution threads of a data processing system | |
JP2575598B2 (en) | Method and system for increasing concurrency of system memory in a multiprocessor computer system | |
JP2007048296A (en) | Method, apparatus and system for invalidating multiple address cache entries | |
US5530835A (en) | Computer memory data merging technique for computers with write-back caches | |
US6704833B2 (en) | Atomic transfer of a block of data | |
JP3006204B2 (en) | Information processing device | |
CN1149494C (en) | Method and system for keping uniforming of cache buffer memory | |
EP0726524A2 (en) | Protocol and system for performing line-fill addressing during copy-back operation | |
EP0271187B1 (en) | Split instruction and operand cache management | |
JPS6194159A (en) | Memory | |
JPS6135583B2 (en) | ||
EP0407053B1 (en) | Small, fast, look-aside data cache memory | |
WO2023239671A1 (en) | Virtual memory paging system and translation lookaside buffer with pagelets | |
US7840757B2 (en) | Method and apparatus for providing high speed memory for a processing unit | |
JP3651857B6 (en) | Cache coherent DMA write method | |
JPS6324337A (en) | Cache memory managing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |