[go: up one dir, main page]

JPH11203136A - Information processing device and recording medium - Google Patents

Information processing device and recording medium

Info

Publication number
JPH11203136A
JPH11203136A JP10003806A JP380698A JPH11203136A JP H11203136 A JPH11203136 A JP H11203136A JP 10003806 A JP10003806 A JP 10003806A JP 380698 A JP380698 A JP 380698A JP H11203136 A JPH11203136 A JP H11203136A
Authority
JP
Japan
Prior art keywords
data
instruction
read
memory device
information processing
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
JP10003806A
Other languages
Japanese (ja)
Other versions
JP3739556B2 (en
Inventor
Jiro Miyake
二郎 三宅
Masato Suzuki
正人 鈴木
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP00380698A priority Critical patent/JP3739556B2/en
Publication of JPH11203136A publication Critical patent/JPH11203136A/en
Application granted granted Critical
Publication of JP3739556B2 publication Critical patent/JP3739556B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【課題】メモリ装置から読み出したデータを直後の命令
が使う場合や、読み出し速度の遅いメモリ装置からのデ
ータの読み出しの場合の処理の中断を減らして、処理性
能の高い情報処理装置を提供することを目的とする。 【解決手段】 デコーダ1が解読した命令がデータ先読
み命令である場合、データ先読み回路8は読み出しデー
タ保持回路6に格納されているデータ、すなわち前回の
データ先読み命令によってメモリ装置40から読み出し
格納されたデータを読み出して、レジスタファイル2へ
格納する一方、新たにメモリ装置40よりデータを読み
出して読み出しデータ保持回路6に格納する。前回の命
令で格納されたデータを読み出すことでデータの読み出
しの完了を待つ必要がない。
(57) [Summary] Information with high processing performance can be obtained by reducing interruption of processing when the immediately following instruction uses data read from a memory device or when reading data from a memory device with a low reading speed. It is an object to provide a processing device. When an instruction decoded by a decoder is a data prefetch instruction, a data prefetch circuit reads and stores data stored in a read data holding circuit from a memory device by a previous data prefetch instruction. The data is read and stored in the register file 2, while the data is newly read from the memory device 40 and stored in the read data holding circuit 6. By reading the data stored by the previous instruction, there is no need to wait for the completion of the data reading.

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 for reading data from a memory device in a pipeline manner in accordance with an instruction and performing an arithmetic operation, an information processing apparatus functioning as a compiler, and a computer-readable recording medium. .

【0002】[0002]

【従来の技術】近年の電子技術の発展により、マイクロ
コンピュータをはじめ情報処理装置が普及し、あらゆる
分野で用いられている。従来、情報処理装置では、処理
性能を向上させるために、パイプライン処理を行うこと
が多い。パイプライン処理とは、1つの命令の処理を複
数のステージに分け、ステージをずらして複数の命令を
並列に実行するものである。
2. Description of the Related Art With the recent development of electronic technology, microcomputers and other information processing devices have become widespread and used in various fields. Conventionally, information processing apparatuses often perform pipeline processing in order to improve processing performance. The pipeline processing divides processing of one instruction into a plurality of stages, and executes a plurality of instructions in parallel by shifting the stages.

【0003】図8は従来の情報処理装置の構成を示すブ
ロック図である。図8において、101はメモリ装置1
40から読み出した命令120を解読するデコーダであ
り、解読結果113、114、および命令内に含まれる
即値121を出力する。102は演算に用いるデータを
格納するレジスタを複数有するレジスタファイルであ
り、103はデータ117とレジスタファイル102か
ら読み出されたデータ110、111およびデコーダ1
01が出力する即値121を用いて演算を行う演算装置
であり、104はデコーダ101で命令を解読したデコ
ード結果113に応じて、データをメモリ装置140か
ら読み出したり、データをメモリ装置140へ書き込ん
だりするための制御を行うメモリ制御回路である。10
5はデコーダ101で命令を解読したデコード結果11
4に応じて、演算装置103やレジスタファイル102
などを制御する実行制御回路である。例えば、1つの命
令を5つのステージに分けてパイプライン処理する場合
を説明する。
FIG. 8 is a block diagram showing a configuration of a conventional information processing apparatus. 8, reference numeral 101 denotes a memory device 1
It is a decoder that decodes the instruction 120 read from 40, and outputs the decoding results 113 and 114 and the immediate value 121 included in the instruction. Reference numeral 102 denotes a register file having a plurality of registers for storing data used for calculation, and 103 denotes data 117, data 110 and 111 read from the register file 102, and a decoder 1
Numeral 104 denotes an arithmetic unit that performs an arithmetic operation using the immediate value 121 output. Numeral 104 denotes a unit that reads data from the memory device 140 or writes data to the memory device 140 in accordance with a decoding result 113 obtained by decoding an instruction in the decoder 101. This is a memory control circuit that performs control for performing the operation. 10
5 is a decoding result 11 obtained by decoding the instruction by the decoder 101.
4, the arithmetic unit 103 and the register file 102
It is an execution control circuit for controlling the operation. For example, a case will be described in which one instruction is divided into five stages and pipelined.

【0004】5つのステージは、命令フェッチステージ
(以下、IFステージ)、命令デコードステージ(以
下、DECステージ)、演算ステージ(以下、EXステ
ージ)、メモリステージ(以下、MEMステージ)、書
き込みステージ(以下、WBステージ)からなる。IF
ステージでメモリ装置140から命令を読み出し、読み
出した命令120をDECステージでデコーダ101が解
読する。解読した命令が演算命令の場合は、EXステー
ジでレジスタファイル102から読み出したデータ11
0、111またはデコーダ101が出力する即値121
を用いて命令で指定された演算を行う。演算した結果は
WBステージでレジスタファイル102の中の、命令で
指定されたレジスタへ格納される。
The five stages are an instruction fetch stage (hereinafter, IF stage), an instruction decode stage (hereinafter, DEC stage), an operation stage (hereinafter, EX stage), a memory stage (hereinafter, MEM stage), and a write stage (hereinafter, stage). , WB stage). IF
The instruction is read from the memory device 140 in the stage, and the read instruction 120 is decoded by the decoder 101 in the DEC stage. If the decoded instruction is an arithmetic instruction, the data 11 read from the register file 102 in the EX stage
0, 111 or immediate 121 output by the decoder 101
To perform the operation specified by the instruction. The result of the operation is stored in the register specified by the instruction in the register file 102 in the WB stage.

【0005】解読された命令がデータ読み出し命令ある
いはデータ書き込み命令である場合は、EXステージで
演算装置103はレジスタファイル102から読み出し
たデータ110、111、または命令によって与えられ
る即値121を用いて、メモリ装置140内の場所を示
すアドレス115を生成してメモリ制御回路104へ出
力する。解読された命令がデータ読み出し命令の場合
は、メモリ制御回路104はMEMステージで演算装置1
03が出力するアドレス115をアドレス116として
出力し、メモリ装置140よりデータを読み出し、読み
出されたデータ117はレジスタファイル102へ与え
られ、WBステージでレジスタファイル102内の指定
されたレジスタへ格納される。さらに、後続の命令がデ
ータ読み出し命令の結果のデータを用いる場合は、レジ
スタファイル102は、WBステージでデータをレジス
タへ格納するのと同時にデータ110または111とし
て直接、演算装置103へ出力する。データ書き込み命
令の場合は、レジスタファイル102から読み出された
データ118がMEMステージでメモリ装置140へ与
えられ、同時にメモリ制御回路104は演算装置103
が出力するアドレス115をアドレス116としてメモ
リ装置140へ与え、WBステージでアドレス116で
指定される場所へデータ118が格納される。
If the decoded command is a data read command or a data write command, in the EX stage, the arithmetic unit 103 uses the data 110, 111 read from the register file 102 or the immediate value 121 given by the command to store data in the memory. An address 115 indicating a location in the device 140 is generated and output to the memory control circuit 104. If the decoded instruction is a data read instruction, the memory control circuit 104 uses the MEM stage to
03 is output as an address 116, data is read from the memory device 140, and the read data 117 is given to the register file 102 and stored in a designated register in the register file 102 in the WB stage. You. Furthermore, when the subsequent instruction uses the data resulting from the data read instruction, the register file 102 stores the data in the register in the WB stage and outputs it directly to the arithmetic unit 103 as data 110 or 111 at the same time. In the case of a data write command, data 118 read from the register file 102 is given to the memory device 140 in the MEM stage, and at the same time, the memory control circuit 104
Is supplied to the memory device 140 as the address 116, and the data 118 is stored in the location specified by the address 116 in the WB stage.

【0006】図9に従来の情報処理装置のパイプライン
動作の例を示す。図9では、4つの命令を実行している
様子を示している。この図で、a0,d0,d1,d2
はレジスタファイル102の中のレジスタの名前であ
る。また、(a0)はレジスタa0の値をアドレスとし
て指定されるメモリ装置内のデータを示す。第1命令お
よび第3命令はデータ読み出し命令movであり、第2
命令および第4命令は加算命令addである。第1命令
movは、レジスタa0の値をアドレスとして、メモリ
装置140からデータを読み出し、レジスタd0へ格納
する。第2命令addは、レジスタd2の値と1を加算
し、加算結果をレジスタd2に格納する。第3命令mo
vは、レジスタa0の値に4を加算し、その結果をアド
レスとしてメモリ装置140からデータを読み出し、レ
ジスタd1に格納する。第4命令addは、レジスタd
2の値と1を加算し、加算結果をレジスタd2に格納す
る。
FIG. 9 shows an example of a pipeline operation of a conventional information processing apparatus. FIG. 9 shows a state where four instructions are being executed. In this figure, a0, d0, d1, d2
Is the name of the register in the register file 102. (A0) indicates data in the memory device designated by using the value of the register a0 as an address. The first instruction and the third instruction are data read instructions mov, and the second instruction
The instruction and the fourth instruction are addition instructions add. The first instruction mov reads data from the memory device 140 using the value of the register a0 as an address and stores the data in the register d0. The second instruction add adds the value of the register d2 to 1 and stores the addition result in the register d2. 3rd instruction mo
As for v, 4 is added to the value of the register a0, data is read from the memory device 140 using the result as an address, and stored in the register d1. The fourth instruction add is the register d
The value of 2 and 1 are added, and the addition result is stored in the register d2.

【0007】各命令は、IF、DEC、EX、MEM、
WBの5つのステージに分割され、各ステージが1クロ
ックサイクルの期間に実行される。4つの命令は1ステ
ージずつずらして並列に実行される。従って、1つ1つ
の命令の処理には5クロックサイクルが必要であるが、
このようなパイプライン処理を行うことによって、命令
の結果を毎サイクル得ることができ、高い処理性能を実
現することができる。
Each instruction includes IF, DEC, EX, MEM,
The WB is divided into five stages, and each stage is executed during one clock cycle. The four instructions are executed in parallel, shifted by one stage. Therefore, processing of each instruction requires 5 clock cycles,
By performing such pipeline processing, a result of an instruction can be obtained every cycle, and high processing performance can be realized.

【0008】[0008]

【発明が解決しようとする課題】ところが、データ読み
出し命令で読み出したデータを次の命令が演算に用いる
場合やメモリ装置の読み出しが遅い場合、処理性能の低
下を生じる。図10にmov命令で読み出したデータを
直後の命令が演算に用いる場合を示す。
However, when the data read by the data read command is used by the next command for the operation or when the reading of the memory device is slow, the processing performance is reduced. FIG. 10 shows a case where the data read by the mov instruction is used by the immediately following instruction for the operation.

【0009】図10において、第1命令movはレジス
タa0の値をアドレスとしてメモリ装置140からデー
タを読み出し、レジスタd0に格納する。このデータを
Aとする。第2命令addは、第1命令movによって
d0に格納されたデータAとレジスタd1の値を加算し
て、結果のデータをレジスタd1に格納する。第3命令
movはレジスタa0の値に4を加算した値をアドレスと
してメモリ装置140からデータを読み出し、レジスタ
d0に格納する。このデータをBとする。第4命令ad
dは、第3命令movによってd0に格納されたデータ
Bとレジスタd1の値を加算して、結果のデータをレジ
スタd1に格納する。この場合、第2および第4命令a
ddは、直前の命令movによってメモリ装置140か
ら読み出されるデータを演算に用いるため、add命令
のEXステージがmov命令のWBステージの後でない
とレジスタファイル102から読出したデータは正しく
ない。このときレジスタファイル102がデータ117
をデータ110として直接、演算装置103にも供給す
ることで、add命令のEXステージをmov命令のW
Bステージと並列にすることができる。しかしそれで
も、mov命令で読み出されるデータは、mov命令の
WBステージになるまで使用できないため、add命令
のEXステージがmov命令のWBステージまで待たさ
れてしまう。このようにデータ読み出し命令で読み出し
たデータを次の命令が演算に用いる場合に命令の実行が
待たされ、処理性能の低下をもたらす。
In FIG. 10, a first instruction mov reads data from the memory device 140 using the value of the register a0 as an address and stores it in the register d0. This data is assumed to be A. The second instruction add adds the data A stored in d0 by the first instruction mov and the value of the register d1, and stores the resulting data in the register d1. 3rd instruction
mov reads data from the memory device 140 using the value obtained by adding 4 to the value of the register a0 as an address and stores the data in the register d0. This data is B. 4th instruction ad
d adds the data B stored in d0 by the third instruction mov and the value of the register d1, and stores the resulting data in the register d1. In this case, the second and fourth instructions a
Since dd uses the data read from the memory device 140 by the immediately preceding instruction mov for the operation, the data read from the register file 102 is not correct unless the EX stage of the add instruction is after the WB stage of the mov instruction. At this time, the register file 102 stores the data 117
Is directly supplied to the arithmetic unit 103 as data 110, so that the EX stage of the add instruction
It can be parallel to the B stage. However, since the data read by the mov instruction cannot be used until the WB stage of the mov instruction is reached, the EX stage of the add instruction is kept waiting until the WB stage of the mov instruction. As described above, when the next instruction uses the data read by the data read instruction for the operation, the execution of the instruction is waited, and the processing performance is reduced.

【0010】図11に、メモリ装置の読み出し速度が遅
い場合を示す。この例では、実行される命令は図9の場
合と同じであるが、メモリ装置の読み出しに図9の場合
よりさらに2クロックサイクル余分に必要である。第2
命令および第4命令addは直前の命令movが読み出
したデータを用いないが、mov命令のWBステージが
完了するまでadd命令のWBステージは待たされる。
このように、add命令も処理が中断され処理性能の低
下をもたらす。
FIG. 11 shows a case where the reading speed of the memory device is low. In this example, the instructions to be executed are the same as in FIG. 9, but reading the memory device requires an additional two clock cycles more than in FIG. Second
Although the instruction and the fourth instruction add do not use the data read by the immediately preceding instruction mov, the WB stage of the add instruction is suspended until the WB stage of the mov instruction is completed.
As described above, the processing of the add instruction is interrupted, and the processing performance is reduced.

【0011】この発明はかかる課題に鑑み、メモリから
のデータ読み出し命令による後続の命令の処理の中断を
減らし、処理性能の高い情報処理装置およびプログラム
を格納した記録媒体を提供することを目的とする。
An object of the present invention is to provide an information processing apparatus with high processing performance and a recording medium storing a program, in which interruption of processing of a subsequent instruction by a data read instruction from a memory is reduced. .

【0012】[0012]

【課題を解決するための手段】請求項1記載の情報処理
装置は、少なくともメモリ装置からの第1のデータの読
み出しと第2のデータの操作とを指示する特定の命令を
含む命令列から命令を取り出す命令読出し手段と、メモ
リ装置から読み出したデータを格納するためのデータ保
持手段と、命令読み出し手段により読み出された命令を
解読する解読手段と、レジスタを含んで成り、解読手段
により特定の命令が置かれていると解読された場合に、
第1のデータの読み出しアドレスを計算し、計算された
アドレスに基づいてメモリ装置から第1のデータを読み
出すべくアクセスを開始し、データ保持手段から第2の
データを取り出してレジスタへ格納する実行手段とを備
え、第2のデータは、特定の命令が解読される以前に解
読手段が解読した特定の命令に基づく第1のデータとし
て読み出されたデータであることを特徴とするものであ
る。
According to a first aspect of the present invention, there is provided an information processing apparatus comprising: an instruction sequence including a specific instruction for instructing at least reading of first data from a memory device and operation of second data; Command reading means for extracting the data read from the memory device, data holding means for storing data read from the memory device, decoding means for decoding the instruction read by the instruction reading means, and a register. If it is deciphered that the instruction has been placed,
Executing means for calculating a read address of the first data, starting access to read the first data from the memory device based on the calculated address, extracting the second data from the data holding means, and storing it in a register Wherein the second data is data read as the first data based on the specific command decoded by the decoding unit before the specific command is decoded.

【0013】請求項1記載の情報処理装置によれば、以
前に解読手段が解読した特定の命令の実行に基づいてメ
モリ装置から読み出されたデータをデータ保持手段から
読み出した後に、新たにメモリ装置からデータの読み出
しを実行することができ、メモリ装置からのデータの読
み出しの完了を待たずに、次の命令の処理が可能で、処
理時間の短縮を図って、処理性能の向上を実現すること
ができ、極めて有用である。
According to the information processing apparatus of the first aspect, after the data read from the memory device based on the execution of the specific instruction previously decoded by the decoding means is read from the data holding means, a new memory is read. The data can be read from the device, and the next instruction can be processed without waiting for the completion of the data reading from the memory device, thereby reducing the processing time and improving the processing performance. Can be very useful.

【0014】請求項2記載の情報処理装置は、請求項1
において、実行手段が、特定の命令によって開始された
第1のデータの読み出しのアクセスが終了したときに行
われ、読み出された第1のデータをデータ保持手段に格
納する動作を、特定の命令に後続する命令の実行と並列
に行うものである。請求項2記載の情報処理装置によれ
ば、請求項1と同様な効果がある。
[0014] The information processing apparatus according to the second aspect is the first aspect.
In the above, the execution means performs the operation of storing the read first data in the data holding means when the access for reading the first data started by the specific instruction is completed. Is performed in parallel with the execution of the instruction following the. According to the information processing apparatus of the second aspect, the same effect as that of the first aspect is obtained.

【0015】請求項3記載の情報処理装置は、請求項1
または請求項2において、情報処理装置が、命令の読出
しを行う第1のステージと、命令の解読を行う第2のス
テージと、命令によって指定される演算またはメモリ装
置をアクセスするアドレス計算を行う第3のステージ
と、メモリ装置をアクセスする第4のステージと、命令
によって指定される操作の結果をレジスタに格納する第
5のステージとの5つのステージを含むパイプライン構
造をとるものであって、命令読出し手段は第1のステー
ジにおいて作用し、解読手段は第2のステージにおいて
作用し、実行手段は第3から第5のステージにおいて作
用し、特にデータ保持手段からの第2のデータの取り出
しを第4のステージで行うものである。
According to a third aspect of the present invention, there is provided the information processing apparatus according to the first aspect.
Alternatively, the information processing apparatus according to claim 2, wherein the first stage for reading the instruction, the second stage for decoding the instruction, and the second stage for performing an operation specified by the instruction or calculating an address for accessing a memory device. A pipeline structure including five stages, a third stage, a fourth stage for accessing the memory device, and a fifth stage for storing a result of an operation specified by the instruction in a register, The instruction reading means operates in the first stage, the decoding means operates in the second stage, and the executing means operates in the third to fifth stages, and in particular, fetches the second data from the data holding means. This is performed in the fourth stage.

【0016】請求項3記載の情報処理装置によれば、請
求項1または請求項2と同様な効果がある。請求項4記
載の情報処理装置は、少なくともメモリ装置からの第1
のデータの読み出しと第2のデータの操作とを指示する
特定の命令を含む命令列から命令を取り出す命令読出し
手段と、メモリ装置から読み出した2個以上のn個のデ
ータを格納するための第1から第nのデータ保持手段
と、命令読み出し手段により読み出された命令を解読す
る解読手段と、この解読手段により特定の命令が置かれ
ていると解読されるごとに1ずつ増分され、1からnの
間を巡回する計数手段と、レジスタを含んで成り、解読
手段により特定の命令が置かれていると解読された場合
に、第1のデータの読み出しアドレスを計算し、計算さ
れたアドレスに基づいてメモリ装置から第1のデータを
読み出すべくアクセスを開始し、計数手段が示す値kで
定まる第kのデータ保持手段から第2のデータを取り出
してレジスタへ格納する実行手段とを備え、第2のデー
タは、解読された特定の命令からnだけ前の特定の命令
に基づく第1のデータとして読み出されたデータである
ことを特徴とするものである。
According to the information processing apparatus of the third aspect, the same effects as those of the first or second aspect can be obtained. The information processing device according to claim 4, wherein at least the first
Instruction reading means for extracting an instruction from an instruction sequence including a specific instruction for instructing the reading of the data and the operation of the second data, and the second means for storing two or more n data read from the memory device. A first to an n-th data holding unit, a decoding unit for decoding an instruction read by the instruction reading unit, and an increment by one each time a specific instruction is decoded by the decoding unit. And a register circulating between n and n. When the decoding means decodes that a specific instruction is placed, a read address of the first data is calculated, and the calculated address is calculated. , Access is started to read the first data from the memory device, and the second data is taken out from the k-th data holding means determined by the value k indicated by the counting means and stored in the register. And a performing unit that, the second data is characterized in that the particular instruction that is decoded is data that has been read as the first data based only on the front of a particular instruction n.

【0017】請求項4記載の情報処理装置によれば、請
求項1と同様な効果に加えて、n個までのメモリ装置か
らのデータの読み出しの完了を待たずに次の命令の処理
が可能で、処理時間の一層の短縮が図れる。請求項5記
載の情報処理装置は、請求項4において、実行手段が、
特定の命令によって開始された第1のデータの読み出し
のアクセスが終了したときに行われ、読み出された第1
のデータを第kのデータ保持手段に格納する動作を、特
定の命令に後続する命令の実行と並列に行うものであ
る。
According to the information processing apparatus of the fourth aspect, in addition to the same effect as the first aspect, the next instruction can be processed without waiting for the completion of the reading of data from the n memory devices. Thus, the processing time can be further reduced. According to a fifth aspect of the present invention, in the information processing apparatus according to the fourth aspect, the execution means includes:
This is performed when the access for reading the first data started by the specific instruction is completed, and the first read data is read.
Is stored in the k-th data holding means in parallel with the execution of the instruction following the specific instruction.

【0018】請求項5記載の情報処理装置によれば、請
求項4と同様な効果かある。請求項6記載の情報処理装
置は、少なくともメモリ装置からの第1のデータの読み
出しと第2のデータの操作とを指示する特定の命令を含
む命令列から命令を取り出す命令読出し手段と、メモリ
装置から読み出したデータを格納するためのデータ保持
手段と、このデータ保持手段が格納するデータが有効か
無効かを示すデータ有効フラグと、命令読み出し手段に
より読み出された命令を解読する解読手段と、レジスタ
を含んで成り、解読手段により特定の命令が置かれてい
ると解読された場合に、第1のデータの読み出しアドレ
スを計算し、計算されたアドレスに基づいてメモリ装置
から第1のデータを読み出すべくアクセスを開始し、デ
ータ有効フラグが有効を示す場合は、データ保持手段か
ら第2のデータを取り出してレジスタへ格納し、データ
有効フラグが無効を示す場合は、データ有効フラグが有
効を示すのを待って、データ保持手段から第2のデータ
を取り出してレジスタへ格納する実行手段とを備え、第
2のデータは、特定の命令が解読される以前に解読手段
が解読した特定の命令に基づく第1のデータとして読み
出されたデータであることを特徴とするものである。
According to the information processing apparatus of the fifth aspect, the same effect as that of the fourth aspect is obtained. 7. The information processing device according to claim 6, wherein the instruction reading unit extracts an instruction from an instruction sequence including a specific instruction instructing at least reading of the first data from the memory device and operation of the second data, and the memory device. A data holding unit for storing data read from the data holding unit, a data valid flag indicating whether the data stored by the data holding unit is valid or invalid, a decoding unit for decoding the instruction read by the instruction reading unit, A decoding unit that calculates a read address of the first data and decodes the first data from the memory device based on the calculated address when the decoding unit determines that the specific instruction is placed. When access is started to read and the data valid flag indicates valid, the second data is taken out from the data holding means and stored in the register. Executing means for, when the data valid flag indicates invalid, waiting for the data valid flag to indicate valid, extracting the second data from the data holding means and storing the second data in a register; Is data read as first data based on a specific command decoded by the decoding means before the command is decoded.

【0019】請求項6記載の情報処理装置によれば、請
求項1と同様な効果のほか、データの読み出しが完了す
る前にデータ保持手段から間違った値を読み出すことを
防ぐことができ、極めて有用である。請求項7記載の情
報処理装置は、請求項6において、実行手段が、特定の
命令によって開始された第1のデータの読み出しのアク
セスが終了したときに、読み出された第1のデータをデ
ータ保持手段に格納するとともに、データ有効フラグを
有効にする動作を、特定の命令に後続する命令の実行と
並列に行うものである。
According to the information processing apparatus of the present invention, in addition to the same effects as those of the first aspect, it is possible to prevent reading of an incorrect value from the data holding means before data reading is completed. Useful. 7. The information processing apparatus according to claim 7, wherein the execution unit stores the read first data when the access for reading the first data started by the specific instruction ends. The operation of storing the data in the holding unit and validating the data valid flag is performed in parallel with the execution of the instruction following the specific instruction.

【0020】請求項7記載の情報処理装置によれば、請
求項6と同様な効果がある。請求項8記載の情報処理装
置は、請求項6または請求項7において、解読手段がさ
らに、外部から割込み要求を受けたとき、データ有効フ
ラグが有効を示す場合は、割込み要求を受理し、データ
有効フラグが無効を示す場合は、データ有効フラグが有
効を示すのを待って、割込み要求を受理するものであ
る。
According to the information processing apparatus of the seventh aspect, the same effect as that of the sixth aspect is obtained. In the information processing apparatus according to the present invention, when the decoding means further receives an interrupt request from the outside when the data valid flag indicates valid, the decoding means receives the interrupt request, When the valid flag indicates invalid, the interrupt request is accepted after the data valid flag indicates valid.

【0021】請求項8記載の情報処理装置によれば、請
求項6または請求項7と同様な効果のほか、特定の命令
の後に発生する割込み要求についても矛盾なく対応する
ことができる。請求項9記載の情報処理装置は、請求項
8において、解読手段が、割込み要求を受理したとき、
データ保持手段に保持されているデータをメモリ装置ま
たは他のメモリ装置の所定の領域に退避するものであ
る。
According to the information processing device of the present invention, in addition to the same effects as those of the sixth or seventh embodiment, it is possible to cope with an interrupt request generated after a specific instruction without inconsistency. The information processing device according to claim 9 is the information processing device according to claim 8, wherein when the decoding unit receives the interrupt request,
The data held in the data holding means is saved in a predetermined area of the memory device or another memory device.

【0022】請求項9記載の情報処理装置によれば、請
求項8と同様な効果がある。請求項10記載の情報処理
装置は、少なくともメモリ装置からの第1のデータの読
み出しと第2のデータの操作とを指示する特定の命令を
含む命令列から命令を取り出す命令読出し手段と、メモ
リ装置から読み出したデータを格納するためのデータ保
持手段と、命令読み出し手段により読み出された命令を
解読する解読手段と、レジスタを含んで成り、解読手段
により特定の命令が置かれていると解読された場合に、
第1のデータの読み出しアドレスを計算し、計算された
アドレスに基づいてメモリ装置から第1のデータを読み
出すべくアクセスを開始し、データ保持手段から第2の
データを取り出して命令によって指示された演算を行っ
た後にレジスタへ格納する実行手段とを備え、第2のデ
ータは、特定の命令が解読される以前に解読手段が解読
した特定の命令に基づく第1のデータとして読み出され
たデータであることを特徴とするものである。
According to the information processing apparatus of the ninth aspect, the same effect as that of the eighth aspect can be obtained. 11. The information processing device according to claim 10, wherein the instruction reading unit extracts an instruction from an instruction sequence including a specific instruction instructing at least reading of the first data from the memory device and operation of the second data, and the memory device. A data holding means for storing data read from the memory, a decoding means for decoding the instruction read by the instruction reading means, and a register, wherein the decoding means decodes that a specific instruction is placed. If
The read address of the first data is calculated, access is started to read the first data from the memory device based on the calculated address, the second data is taken out from the data holding means, and the operation specified by the instruction is performed. And executing the data stored in a register after the execution of the second instruction. The second data is data read out as first data based on the specific instruction decoded by the decoding means before the specific instruction is decoded. It is characterized by having.

【0023】請求項10記載の情報処理装置によれば、
請求項1と同様な効果に加えて、データ保持手段に格納
されたデータ、すなわち以前に解読手段が解読した特定
の命令でメモリ装置より読み出されたデータを用いて演
算を行うことにより、メモリ装置の読み出しに要する時
間を削減して演算ができ、処理性能の向上を実現するこ
とができ、極めて有用である。
According to the information processing apparatus of the tenth aspect,
In addition to the same effect as in claim 1, the memory is operated by using data stored in the data holding means, that is, data read from the memory device by a specific instruction previously decoded by the decoding means. The calculation can be performed while reducing the time required for reading the device, and the processing performance can be improved, which is extremely useful.

【0024】請求項11記載の情報処理装置は、請求項
10において、実行手段が、特定の命令によって開始さ
れた第1のデータの読み出しのアクセスが終了したとき
に行われ、読み出された第1のデータをデータ保持手段
に格納する動作を、特定の命令に後続する命令の実行と
並列に行うものである。請求項11記載の情報処理装置
によれば、請求項10と同様な効果がある。
[0024] In the information processing apparatus according to claim 11, in claim 10, the execution means is executed when the access for reading the first data started by the specific instruction ends, and The operation of storing one data in the data holding means is performed in parallel with the execution of the instruction following the specific instruction. According to the information processing apparatus of the eleventh aspect, the same effect as that of the tenth aspect is obtained.

【0025】請求項12記載の情報処理装置は、請求項
10または請求項11において、命令の読出しを行う第
1のステージと、命令の解読を行う第2のステージと、
命令によって指定される演算またはメモリ装置をアクセ
スするアドレス計算を行う第3のステージと、メモリ装
置をアクセスする第4のステージと、命令によって指定
される操作の結果をレジスタに格納する第5のステージ
との5つのステージを含むパイプライン構造をとる情報
処理装置であって、命令読出し手段は第1のステージに
おいて作用し、解読手段は第2のステージにおいて作用
し、実行手段は第3から第5のステージにおいて作用
し、特にデータ保持手段からの第2のデータの取り出し
と演算とを第3のステージで行うものである。
According to a twelfth aspect of the present invention, there is provided the information processing apparatus according to the tenth or eleventh aspect, wherein the first stage for reading the instruction, the second stage for decoding the instruction,
A third stage for performing an operation specified by the instruction or calculating an address for accessing the memory device, a fourth stage for accessing the memory device, and a fifth stage for storing a result of the operation specified by the instruction in a register An instruction reading unit operates in a first stage, a decoding unit operates in a second stage, and an execution unit operates in the third to fifth stages. The operation is performed in the third stage, and in particular, the extraction and the calculation of the second data from the data holding means are performed in the third stage.

【0026】請求項12記載の情報処理装置によれば、
請求項10または請求項11と同様な効果がある。請求
項13記載の情報処理装置は、高級言語プログラムか
ら、パイプライン処理を行うプロセッサを対象とする機
械命令プログラムを生成する情報処理装置であって、高
級言語プログラム中にメモリ装置に割り付けられた変数
の読み出しを行うコードを検出する読み出しコード検出
手段と、コードが検出された場合に、変数に割り付けら
れたメモリ装置のアドレスを計算し、計算されたアドレ
スに基づいてメモリ装置の読み出しアクセスを開始させ
る第1の機械命令と、アクセスが終了したときに読み出
されたデータを所定のレジスタに格納する第2の機械命
令とを生成する機械命令生成手段とを備えたものであ
る。
According to the information processing apparatus of claim 12,
There is an effect similar to that of the tenth or eleventh aspect. 14. The information processing apparatus according to claim 13, wherein the information processing apparatus generates, from the high-level language program, a machine instruction program for a processor that performs a pipeline process, wherein the variable allocated to the memory device in the high-level language program. Read code detecting means for detecting a code for reading the data, and, when the code is detected, calculating an address of the memory device assigned to the variable, and starting a read access of the memory device based on the calculated address. It is provided with a machine instruction generating means for generating a first machine instruction and a second machine instruction for storing data read when access is completed in a predetermined register.

【0027】請求項13記載の情報処理装置によれば、
第1の機械命令の完了を待たずに、次の機械命令の処理
が可能な機械命令プログラムを生成することができる。
したがって処理性能を向上できる。請求項14記載の情
報処理装置は、請求項13において、機械命令生成手段
は、第1の機械命令と第2の機械命令とを一定命令数だ
け離間して生成するものである。
According to the information processing apparatus of claim 13,
A machine instruction program capable of processing the next machine instruction can be generated without waiting for the completion of the first machine instruction.
Therefore, processing performance can be improved. According to a fourteenth aspect of the present invention, in the information processing apparatus according to the thirteenth aspect, the machine instruction generating means generates the first machine instruction and the second machine instruction by separating them by a fixed number of instructions.

【0028】請求項14記載の情報処理装置によれば、
請求項13と同様な効果がある。請求項15記載の情報
処理装置は、高級言語プログラムから、パイプライン処
理を行うプロセッサを対象とする機械命令プログラムを
生成する情報処理装置であって、高級言語プログラム中
にメモリ装置に割り付けられたn個の変数の読み出しを
行うコードを検出する読み出しコード検出手段と、コー
ドが検出された場合に、n個の変数に割り付けられたメ
モリ装置のそれぞれのアドレスを計算し、計算されたア
ドレスに基づいてメモリ装置の読み出しアクセスを開始
させる第1から第nの機械命令と、第1から第nの機械
命令に対応する第1から第nのアクセスそれぞれについ
て、アクセスが終了したときに読み出されたデータを所
定のレジスタに格納する第(n+1)から第2nの機械
命令とを第1から第2nの順に生成する機械命令生成手
段とを備えたものである。
[0028] According to the information processing apparatus of the fourteenth aspect,
This has the same effect as the thirteenth aspect. 16. The information processing apparatus according to claim 15, wherein the information processing apparatus generates a machine instruction program for a processor performing a pipeline process from the high-level language program, wherein n is assigned to a memory device in the high-level language program. Read code detecting means for detecting a code for reading the variables; and, when the code is detected, calculating respective addresses of the memory devices allocated to the n variables, and based on the calculated addresses. For each of the first to n-th machine instructions for starting a read access of the memory device and the first to n-th accesses corresponding to the first to n-th machine instructions, data read when the access is completed. Are stored in a predetermined register, and the (n + 1) -th to (2n) -th machine instructions are generated in the order of first to second-n machine instructions. It is obtained by a means.

【0029】請求項15記載の情報処理装置によれば、
第1から第nの機械命令の完了を待たずに、第nの次の
機械命令の処理が可能な機械命令プログラムを生成する
ことができる。したがって、処理性能を向上できる。請
求項16記載の情報処理装置は、請求項15において、
機械命令生成手段が、1からnまでのkについて第kの
機械命令と第(k+n)の機械命令とを一定命令数だけ
離間して生成するものである。
According to the information processing apparatus of claim 15,
A machine instruction program capable of processing the nth next machine instruction can be generated without waiting for completion of the first to nth machine instructions. Therefore, processing performance can be improved. The information processing device according to claim 16 is the information processing device according to claim 15,
The machine instruction generating means generates the k-th machine instruction and the (k + n) -th machine instruction for k from 1 to n by a fixed number of instructions.

【0030】請求項16記載の情報処理装置によれば、
請求項15と同様な効果がある。請求項17記載の情報
処理装置は、高級言語プログラムから、パイプライン処
理を行うプロセッサを対象とする機械命令プログラムを
生成する情報処理装置であって、高級言語プログラム中
にメモリ装置に割り付けられた変数の読み出しを行うコ
ードを検出する読み出しコード検出手段と、コードが検
出された場合に、変数に割り付けられたメモリ装置のア
ドレスを計算し、計算されたアドレスに基づいてメモリ
装置の読み出しアクセスを開始させる第1の機械命令
と、アクセスが終了したときに読み出されたデータに対
して然る可き演算を行った後に所定のレジスタに格納す
る第2の機械命令とを生成する機械命令生成手段とを備
えた情報処理装置。
According to the information processing apparatus of the sixteenth aspect,
There is an effect similar to that of claim 15. 18. The information processing apparatus according to claim 17, wherein the information processing apparatus generates, from the high-level language program, a machine instruction program for a processor that performs a pipeline process, wherein the variable allocated to the memory device in the high-level language program. Read code detecting means for detecting a code for reading the data, and, when the code is detected, calculating an address of the memory device assigned to the variable, and starting a read access of the memory device based on the calculated address. A machine instruction generating means for generating a first machine instruction and a second machine instruction to perform a proper operation on the data read when the access is completed and to store the second machine instruction in a predetermined register; Information processing device provided with.

【0031】請求項17記載の情報処理装置によれば、
第1の機械命令の完了を待たずに、次の機械命令の処理
が可能な上に、第2の機械命令で演算が並列に定義され
てコード効率の高い機械命令プログラムを生成すること
ができる。請求項18記載の情報処理装置は、請求項1
7において、機械命令生成手段が、第1の機械命令と第
2の機械命令とを一定命令数だけ離間して生成するもの
である。
According to the information processing apparatus of claim 17,
The next machine instruction can be processed without waiting for the completion of the first machine instruction, and furthermore, the operation is defined in parallel by the second machine instruction, so that a machine instruction program with high code efficiency can be generated. . An information processing apparatus according to claim 18 is the information processing apparatus according to claim 1.
In 7, the machine instruction generating means generates the first machine instruction and the second machine instruction by separating them by a fixed number of instructions.

【0032】請求項18記載の情報処理装置によれば、
請求項17と同様な効果がある。請求項19記載の情報
処理装置は、請求項13、請求項14、請求項17、ま
たは請求項18において、機械命令生成手段が、生成さ
れた機械命令プログラムのひとかたまりに対して、ひと
かたまりの中の最初の第1の機械命令より先行する位置
に、割込み受付を禁止する命令を配置して生成し、ひと
かたまりの中の最後の第2の機械命令より先行する位置
に、割込み受付を許可する命令を配置して生成するもの
である。
[0032] According to the information processing apparatus of the eighteenth aspect,
There is an effect similar to that of the seventeenth aspect. In the information processing apparatus according to claim 19, in claim 13, claim 14, claim 17, or claim 18, the machine instruction generating means is configured to generate a group of the generated machine instruction program in the group. An instruction for disabling interrupt reception is arranged and generated at a position preceding the first first machine instruction, and an instruction for permitting interrupt reception is generated at a position prior to the last second machine instruction in the group. It is generated by arranging.

【0033】請求項19記載の情報処理装置によれば、
請求項13、請求項14、請求項17、または請求項1
8と同様な効果のほか、第1の機械命令と第2の機械命
令との間に発生する割込み要求によって読み出しデータ
に矛盾が伴うことを防止できる。請求項20記載の記録
媒体は、パイプライン処理を行うプロセッサによって実
行される機械命令プログラムを記録した記録媒体であっ
て、機械命令プログラムは、変数に割り付けられたメモ
リ装置のアドレスを計算し、計算されたアドレスに基づ
いてメモリ装置の読み出しアクセスを開始させる第1の
機械命令と、アクセスが終了したときに読み出されたデ
ータを所定のレジスタに格納する第2の機械命令とを含
むことを特徴とするものである。
According to the information processing apparatus of the nineteenth aspect,
Claim 13, Claim 14, Claim 17, or Claim 1
In addition to the effect similar to that of FIG. 8, it is possible to prevent inconsistency in the read data due to an interrupt request generated between the first machine instruction and the second machine instruction. 21. The recording medium according to claim 20, wherein a machine instruction program executed by a processor performing pipeline processing is recorded, wherein the machine instruction program calculates an address of a memory device allocated to a variable, and calculates A first machine instruction for starting a read access of the memory device based on the read address, and a second machine instruction for storing data read in a predetermined register when the access is completed. It is assumed that.

【0034】請求項20記載の記録媒体によれば、第1
の機械命令の完了を待たずに、次の機械命令の処理が可
能な機械命令プログラムが記録される。請求項21の記
録媒体は、請求項20において、第1の機械命令と第2
の機械命令とが一定命令数だけ離間して配置されている
ものである。請求項21の記録媒体によれば、請求項2
0と同様な効果がある。
According to the recording medium of the twentieth aspect, the first
A machine instruction program capable of processing the next machine instruction without waiting for the completion of the previous machine instruction is recorded. The recording medium according to claim 21 is the recording medium according to claim 20, wherein the first machine instruction and the second
Are separated from each other by a fixed number of instructions. According to the recording medium of claim 21, claim 2 is provided.
It has the same effect as 0.

【0035】請求項22記載の記録媒体は、パイプライ
ン処理を行うプロセッサによって実行される機械命令プ
ログラムを記録した記録媒体であって、機械命令プログ
ラムは、n個の変数に割り付けられたメモリ装置のそれ
ぞれのアドレスを計算し、計算されたアドレスに基づい
てメモリ装置の読み出しアクセスを開始させる第1から
第nの機械命令と、第1から第nの機械命令に対応する
第1から第nのアクセスそれぞれについて、アクセスが
終了したときに読み出されたデータを所定のレジスタに
格納する第(n+1)から第2nの機械命令とを第1か
ら第2nの順に含むことを特徴とするものである。
A recording medium according to a twenty-second aspect is a recording medium recording a machine instruction program to be executed by a processor that performs pipeline processing, wherein the machine instruction program is stored in a memory device assigned to n variables. First to n-th machine instructions for calculating respective addresses and initiating read access of the memory device based on the calculated addresses; and first to n-th access instructions corresponding to the first to n-th machine instructions. Each of them is characterized by including (n + 1) -th to (2n) -th machine instructions for storing data read out at the time of completion of access in a predetermined register in order of first to second-n.

【0036】請求項22記載の記録媒体によれば、第1
から第nの機械命令の完了を待たずに、第nの次の機械
命令の処理が可能な機械命令プログラムが記録される。
請求項23記載の記録媒体は、請求項22において、1
からnまでのkについて、第kの機械命令と第(k+
n)の機械命令とが一定命令数だけ離間して配置されて
いるものである。
According to the recording medium of the twenty-second aspect, the first
, A machine instruction program capable of processing the nth next machine instruction without waiting for completion of the nth machine instruction.
The recording medium according to claim 23 is the recording medium according to claim 22, wherein
K to the k-th machine instruction and the (k +
The machine instruction of n) is arranged to be separated by a fixed number of instructions.

【0037】請求項23記載の記録媒体によれば、請求
項22と同様な効果がある。請求項24記載の記録媒体
は、パイプライン処理を行うプロセッサによって実行さ
れる機械命令プログラムを記録した記録媒体であって、
機械命令プログラムは、変数に割り付けられたメモリ装
置のアドレスを計算し、計算されたアドレスに基づいて
メモリ装置の読み出しアクセスを開始させる第1の機械
命令と、アクセスが終了したときに読み出されたデータ
に対して然る可き演算を行った後に所定のレジスタに格
納する第2の機械命令とを含むことを特徴とするもので
ある。
According to the recording medium of the twenty-third aspect, the same effect as that of the twenty-second aspect is obtained. The recording medium according to claim 24, wherein the machine instruction program executed by a processor that performs a pipeline process is recorded.
The machine instruction program calculates a memory device address assigned to a variable, and a first machine instruction for initiating a read access of the memory device based on the calculated address; and a machine instruction program read when the access is completed. And a second machine instruction to store the data in a predetermined register after performing an appropriate operation on the data.

【0038】請求項24記載の記録媒体によれば、第1
の機械命令の完了を待たずに、次の機械命令の処理が可
能な上に、第2の機械命令で演算が並列に定義されてコ
ード効率の高い機械命令プログラムが記録される。請求
項25記載の記録媒体は、請求項24において、第1の
機械命令と第2の機械命令とが一定命令数だけ離間して
配置されているものである。
According to the recording medium of the twenty-fourth aspect, the first
The next machine instruction can be processed without waiting for the completion of this machine instruction, and the operation is defined in parallel by the second machine instruction, so that a machine instruction program with high code efficiency is recorded. A recording medium according to a twenty-fifth aspect is the recording medium according to the twenty-fourth aspect, wherein the first machine instruction and the second machine instruction are arranged apart from each other by a fixed number of instructions.

【0039】請求項25記載の記録媒体によれば、請求
項24と同様な効果がある。請求項26記載の記録媒体
は、請求項20、請求項21、請求項24、または請求
項25において、機械命令プログラムのひとかたまりに
対して、ひとかたまりの中の最初の第1の機械命令より
先行する位置に、割込み受付を禁止する命令が配置さ
れ、ひとかたまりの中の最後の第2の機械命令より先行
する位置に、割込み受付を許可する命令が配置されてい
るものである。
According to the recording medium of the twenty-fifth aspect, the same effect as that of the twenty-fourth aspect can be obtained. The recording medium according to claim 26 is the recording medium according to claim 20, 21, 24 or 25, wherein a group of machine instruction programs precedes a first first machine instruction in the group. An instruction for disabling interrupt acceptance is arranged at a position, and an instruction for permitting interrupt acceptance is arranged at a position preceding the last second machine instruction in the group.

【0040】請求項26記載の記録媒体によれば、請求
項20、請求項21、請求項24、または請求項25と
同様な効果のほか、第1の機械命令と第2の機械命令と
の間に発生する割込み要求によって読み出しデータに矛
盾が伴うことを防止できる。
According to the recording medium of the twenty-sixth aspect, in addition to the same effects as those of the twentieth, twenty-first, twenty-fourth, or twenty-fifth aspects, the first medium instruction and the second machine instruction are It is possible to prevent read data from being accompanied by inconsistency due to an interrupt request generated therebetween.

【0041】[0041]

【発明の実施の形態】以下、この発明の実施の形態につ
いて、図1から図6を用いて説明する。 (第1の実施の形態)この発明の第1の実施の形態を図
1から図3により説明する。図1は、この発明の第1の
実施の形態における情報処理装置の構成を示すブロック
図である。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of the present invention will be described below with reference to FIGS. (First Embodiment) A first embodiment of the present invention will be described with reference to FIGS. FIG. 1 is a block diagram showing a configuration of the information processing apparatus according to the first embodiment of the present invention.

【0042】図1において、1はメモリ装置40から読
み出した命令20を解読するデコーダであり、解読した
デコード結果13、14、命令内に含まれる即値21お
よびデータ先読み信号22を出力する。2は演算に用い
るデータを格納するレジスタを複数有するレジスタファ
イルであり、3はレジスタファイル2から読み出された
データ10、11、またはデコーダ1が出力する即値2
1を用いて演算を行う演算装置であり、4はデコーダ1
のデコード結果13に応じて、データをメモリ装置40
から読み出したり、データをメモリ装置40へ書き込ん
だりするための制御を行うメモリ制御回路である。5は
デコーダ1のデコード結果14に応じて、演算装置3、
レジスタファイル2などを制御する実行制御回路であ
る。
In FIG. 1, reference numeral 1 denotes a decoder which decodes an instruction 20 read from the memory device 40, and outputs decoded results 13 and 14, an immediate value 21 included in the instruction, and a data prefetch signal 22. Reference numeral 2 denotes a register file having a plurality of registers for storing data used for the operation. Reference numeral 3 denotes data 10 and 11 read from the register file 2 or immediate data 2 output from the decoder 1.
1 is an arithmetic unit for performing an arithmetic operation, and 4 is a decoder 1
The data is stored in the memory device 40 according to the decoding result 13 of the
And a memory control circuit that performs control for reading data from and writing data to the memory device 40. 5 is an arithmetic unit 3 according to a decoding result 14 of the decoder 1;
An execution control circuit for controlling the register file 2 and the like.

【0043】6は読み出しデータ保持回路であり、メモ
リ装置40から読み出したデータを一時的に保持する。
8はデータ先読み回路であり、メモリ装置40からデー
タを読み出す前に、以前に読み出しデータ保持回路6に
格納されたデータを読み出してレジスタファイル2へ出
力する。そして、この情報処理装置は、少なくともメモ
リ装置40からの第1のデータの読み出しと第2のデー
タの操作とを指示する特定の命令を含む命令列から命令
を取り出す命令読出し手段を主に構成する命令読出し制
御回路25と、メモリ装置40から読み出したデータを
格納するためのデータ保持手段を構成する読み出しデー
タ保持回路6と、命令読み出し手段により読み出された
命令を解読する解読手段であるデコーダ1と、レジスタ
ファイル2を含んで成り、解読手段により特定の命令が
置かれていると解読された場合に、第1のデータの読み
出しアドレスを計算し、計算されたアドレスに基づいて
メモリ装置40から第1のデータを読み出すべくアクセ
スを開始し、データ保持手段から第2のデータを取り出
してレジスタファイル2へ格納する実行手段を主に構成
する実行部26とを備え、第2のデータは、特定の命令
が解読される以前に解読手段が解読した特定の命令に基
づく第1のデータとして読み出されたデータとしている
ものである。
A read data holding circuit 6 temporarily holds data read from the memory device 40.
Reference numeral 8 denotes a data pre-reading circuit which reads data previously stored in the read data holding circuit 6 and outputs the data to the register file 2 before reading data from the memory device 40. The information processing apparatus mainly includes an instruction reading unit that extracts an instruction from an instruction sequence including a specific instruction instructing at least reading of the first data from the memory device 40 and operation of the second data. An instruction read control circuit 25, a read data holding circuit 6 constituting data holding means for storing data read from the memory device 40, and a decoder 1 serving as a decoding means for decoding the instruction read by the instruction reading means. And a register file 2, and when it is determined by the decoding means that a specific instruction is placed, a read address of the first data is calculated, and from the memory device 40 based on the calculated address. Access is started to read out the first data, and the second data is taken out from the data holding means and stored in the register file 2. And an execution unit 26 mainly configured as an execution unit for storing the second instruction. The second data is read out as first data based on the specific instruction decoded by the decoding unit before the specific instruction is decoded. This is the data.

【0044】この第1の実施の形態においても、図11
で示す従来の情報処理装置と同様に、IFステージ、D
ECステージ、EXステージ、MEMステージ、およ
び、WBステージの5つのステージに分けて命令を処理
する。データ読み出し、データ書き込み、および演算命
令の処理は、従来と同様に処理される。ただし、データ
読み出しの場合、メモリ装置40から読み出されたデー
タ17はデータ24としてレジスタファイル2へ与えら
れる。
Also in the first embodiment, FIG.
As in the conventional information processing apparatus shown by, the IF stage, D
Instructions are processed in five stages: an EC stage, an EX stage, a MEM stage, and a WB stage. Data reading, data writing, and processing of operation instructions are processed in the same manner as in the related art. However, in the case of data reading, the data 17 read from the memory device 40 is given to the register file 2 as data 24.

【0045】データ先読み命令の処理について説明す
る。データ先読み命令は、指定したアドレスを用いてメ
モリ装置40から読み出したデータを読み出しデータ保
持回路6に格納する前に、読み出しデータ保持回路6に
格納されているデータを読み出して、レジスタファイル
2の指定したレジスタに格納する命令である。つまり、
前回実行したデータ先読み命令でメモリ装置40から読
み出したデータをレジスタファイル2に格納すると同時
に、メモリ装置40からの新たな読み出しを実行する命
令である。
The processing of the data prefetch instruction will be described. The data read-ahead instruction reads the data stored in the read data holding circuit 6 before storing the data read from the memory device 40 using the specified address in the read data holding circuit 6 and specifies the register file 2 This is the instruction to be stored in the registered register. That is,
This is an instruction to store data read from the memory device 40 by the previously executed data prefetch instruction in the register file 2 and to execute a new read from the memory device 40 at the same time.

【0046】図1を用いて、データ先読み命令の動作を
説明する。デコーダ1は命令読出し制御回路25によっ
てメモリ装置40から読み出された命令20を解読す
る。デコード結果13、14はメモリ制御回路4および
実行制御回路5へ出力される。さらに、解読した命令が
データ先読み命令である場合、デコーダ1はデータ先読
み信号22をデータ先読み回路8へ出力する。演算装置
3は実行制御回路5の制御に従って、EXステージでレ
ジスタファイル2から読み出したデータ10、11、ま
たは、デコーダ1が出力する即値21を用いてアドレス
を計算し、メモリ制御回路4へ出力する。メモリ制御回
路4はMEMステージで、演算装置3から出力されたア
ドレス15をアドレス16として出力し、メモリ装置4
0へデータの読み出しを要求する。データ先読み回路8
は、データ先読み信号22が与えられると、MEMステ
ージでデータ読み出し信号23を出力し、読み出しデー
タ保持回路6に格納されているデータ、すなわち、前回
のデータ先読み命令でメモリ装置40から読み出され格
納されたデータを読み出してレジスタファイル2へデー
タ24として与え、レジスタファイル2はWBステージ
で、命令で指定されたレジスタでデータ24を格納す
る。さらに、後続の命令がデータ先読み命令の結果のデ
ータを用いる場合は、レジスタファイル2は、WBステ
ージでデータをレジスタへ格納するのと同時にデータ1
0または11として直接演算装置3へ出力する。
The operation of the data prefetch instruction will be described with reference to FIG. The decoder 1 decodes the instruction 20 read from the memory device 40 by the instruction read control circuit 25. The decoding results 13 and 14 are output to the memory control circuit 4 and the execution control circuit 5. Further, when the decoded instruction is a data prefetch command, the decoder 1 outputs a data prefetch signal 22 to the data prefetch circuit 8. The arithmetic unit 3 calculates an address using the data 10 and 11 read from the register file 2 in the EX stage or the immediate 21 output from the decoder 1 under the control of the execution control circuit 5, and outputs the address to the memory control circuit 4. . The memory control circuit 4 outputs the address 15 output from the arithmetic unit 3 as the address 16 in the MEM stage,
0 is requested to read data. Data prefetch circuit 8
When the data prefetch signal 22 is applied, the data read signal 23 is output at the MEM stage, and the data stored in the read data holding circuit 6, that is, the data read from the memory device 40 by the previous data prefetch command is stored. The read data is read and given to the register file 2 as data 24, and the register file 2 stores the data 24 in the register specified by the instruction in the WB stage. Further, when the subsequent instruction uses data resulting from the data prefetch instruction, the register file 2 stores the data in the register at the same time as storing the data in the register in the WB stage.
Output directly to the arithmetic unit 3 as 0 or 11.

【0047】データ先読み命令は、演算に必要になる場
合に先だって実行しておく。そして、演算に必要になっ
た時に、再びデータ先読み命令を実行する。この2回目
のデータ先読み命令によって、1回目のデータ先読み命
令でメモリ装置40から読みだされたデータが得られ、
演算に用いられる。さらに2回目のデータ先読み命令に
よって、メモリ装置40からデータの読みだしが行わ
れ、読み出されたデータは3回目のデータ先読み命令に
よって得られ、演算に用いられる。この動作を図2と図
3とを用いて説明する。
The data prefetch instruction is executed before it becomes necessary for the operation. Then, when necessary for the operation, the data prefetch instruction is executed again. By the second data prefetch instruction, data read from the memory device 40 by the first data prefetch instruction is obtained,
Used for calculation. Further, data is read from the memory device 40 by the second data prefetch command, and the read data is obtained by the third data prefetch command and used for the operation. This operation will be described with reference to FIGS.

【0048】図2および図3はいずれも、第1の実施の
形態における情報処理装置のパイプライン動作の例を示
した図である。図2において、第1、第3、および第5
の命令はデータ先読み命令movpである。第1命令m
ovpは、EXステージでアドレス計算が行われ、得ら
れたアドレスa0を用いて、MEMステージにメモリ装置
40よりデータの読み出しを行うと同時に読み出しデー
タ保持回路6にすでに格納されているデータを読み出し
て、レジスタファイル2へ出力する。レジスタファイル
2は読み出しデータ保持回路6より読み出されたデータ
を第1命令movpのWBステージに指定されたレジス
タへ格納する。次のデータ先読み命令、すなわち、第3
命令movpでは、EXステージでアドレス計算を行
い、得られたアドレスa0+4を用いて、MEMステー
ジにメモリ装置40よりデータの読み出しを行うと同時
に読み出しデータ保持回路6にすでに格納されているデ
ータを読み出し、レジスタファイル2へ与えられる。こ
の時、読み出しデータ保持回路6には、以前のデータ先
読み命令、すなわち、第1命令movpでアドレスa0
を用いてメモリ装置40より読み出されたデータAが格
納されており、このデータAがレジスタファイル2へ与
えられ、第3命令movpのWBステージで指定された
レジスタd0へ格納される。
FIGS. 2 and 3 are diagrams showing examples of the pipeline operation of the information processing apparatus according to the first embodiment. In FIG. 2, the first, third, and fifth
Is a data prefetch instruction movp. First instruction m
In the ovp, the address calculation is performed in the EX stage, the data is read from the memory device 40 to the MEM stage using the obtained address a0, and the data already stored in the read data holding circuit 6 is read. , To the register file 2. The register file 2 stores the data read from the read data holding circuit 6 in the register specified in the WB stage of the first instruction movp. The next data look-ahead instruction, ie, the third
In the instruction movp, an address is calculated in the EX stage, data is read from the memory device 40 in the MEM stage using the obtained address a0 + 4, and at the same time, data already stored in the read data holding circuit 6 is read. This is given to register file 2. At this time, the read data holding circuit 6 stores the address a0 with the previous data prefetch instruction, that is, the first instruction movp.
And the data A read from the memory device 40 is stored in the register file 2, and is stored in the register d0 specified in the WB stage of the third instruction movp.

【0049】第4命令addは第3命令でd0に格納さ
れるデータAを用いて加算を行う。第4命令addのE
Xステージは、第3命令movpのMEMステージと並
列であり、レジスタd0にはまだデータAは格納されて
いない。そこで、レジスタファイル2は第3命令mov
pのMEMステージに読み出しデータ保持回路6から読
み出されたデータAをデータ10またはデータ11とし
て直ちに演算装置3へ与える。これによって、第4命令
addのEXステージは待たされることなく加算を実行
する。
The fourth instruction add performs addition using the data A stored in d0 in the third instruction. E of the fourth instruction add
The X stage is in parallel with the MEM stage of the third instruction movp, and the data d has not yet been stored in the register d0. Therefore, the register file 2 stores the third instruction mov
The data A read from the read data holding circuit 6 is immediately supplied to the arithmetic unit 3 as the data 10 or the data 11 to the p MEM stage. As a result, the EX stage of the fourth instruction add executes the addition without waiting.

【0050】同様に第5命令movpは、MEMステー
ジに、読み出しデータ保持回路6から、第3命令mov
pがメモリ装置40から読み出したデータBを読み出し
てレジスタファイル2へ出力し、第6命令addは、読
み出しデータ保持回路6からレジスタファイル2へ出力
されたデータBを用いて、EXステージに加算を行う。
Similarly, the fifth instruction movp is transmitted from the read data holding circuit 6 to the third instruction movp in the MEM stage.
p reads the data B read from the memory device 40 and outputs it to the register file 2, and the sixth instruction add uses the data B output from the read data holding circuit 6 to the register file 2 to add data to the EX stage. Do.

【0051】このようにして、データ先読み命令は、メ
モリ装置40からのデータの読み出しを実行するのと同
時に、前回のデータ先読み命令でメモリ装置40から読
み出されデータ保持回路6へ格納されたデータを直ちに
読み出すことにより、直後の命令がデータ先読み命令の
結果を用いる場合でも、待たされることなく処理を行う
ことができる。
As described above, the data prefetch instruction executes the reading of data from the memory device 40 and simultaneously executes the data read from the memory device 40 and stored in the data holding circuit 6 by the previous data prefetch instruction. , The process can be performed without waiting even when the instruction immediately after uses the result of the data prefetch instruction.

【0052】図3に、メモリ装置40の読み出し速度が
遅い場合のデータ先読み命令の動作を説明する。図3に
おいて、第1、第4、および第7の命令はデータ先読み
命令movpである。ここでは、図2の場合と比べて、
メモリ装置40のデータ読み出しの時間が2クロックサ
イクルだけ長く、movp命令のWBステージの2クロ
ックサイクル後のLと記されたところ(以降、疑似的に
Lステージと書く)で読み出されたデータ17が読み出
しデータ保持回路6に格納される。しかし、movp命
令は読み出しデータ保持回路6にすでに格納されている
データを読み出してレジスタファイル2に格納するの
で、movp命令のメモリ装置40からのデータ読み出
しの完了を待たずに、後続の命令は処理を行うことがで
きる。第1命令movpのLステージは第4命令mov
pのMEMステージと並列であるので、第4命令mov
pではMEMステージに、読み出しデータ保持回路6に
格納されているデータ、すなわち、第1命令movpに
よってメモリ装置40より読み出されたデータAが読み
出され、WBステージにレジスタd0へ格納される。同
様に、第7命令movpのMEMステージで、読み出し
データ保持回路6に格納されているデータ、すなわち、
第4命令movpによってメモリ装置40より読み出さ
れたデータBが読み出され、WBステージにレジスタd
1へ格納される。このように、メモリ装置40の読み出
し速度が遅い場合でも、命令の処理を止めずに実行する
ことができる。なお、ここでは、2つのデータ先読み命
令の間に、適当な命令を挿入して、先行するデータ先読
み命令movpのメモリ読み出しが完了した後に、後続
のデータ先読み命令movpが読み出しデータ保持回路
6からデータを読み出すようにタイミングの調整を行っ
ている。
FIG. 3 illustrates the operation of the data prefetch command when the read speed of the memory device 40 is low. In FIG. 3, the first, fourth, and seventh instructions are data prefetch instructions movp. Here, compared to the case of FIG.
The data reading time of the memory device 40 is longer by two clock cycles, and the data 17 read at L (hereinafter, quasi-L stage) written two clock cycles after the WB stage of the movp instruction. Is stored in the read data holding circuit 6. However, since the movp instruction reads the data already stored in the read data holding circuit 6 and stores the data in the register file 2, the subsequent instruction is processed without waiting for the completion of the data read from the memory device 40 of the movp instruction. It can be performed. The L stage of the first instruction movp is the fourth instruction mov
p is parallel to the MEM stage, so the fourth instruction mov
In p, data stored in the read data holding circuit 6, that is, data A read from the memory device 40 by the first instruction movp is read in the MEM stage and stored in the register d0 in the WB stage. Similarly, in the MEM stage of the seventh instruction movp, the data stored in the read data holding circuit 6, ie,
The data B read from the memory device 40 is read by the fourth instruction movp, and the register d is set in the WB stage.
1 is stored. As described above, even when the reading speed of the memory device 40 is low, the instruction can be executed without stopping the processing. Here, an appropriate instruction is inserted between the two data prefetch instructions, and after the memory read of the preceding data prefetch instruction movp is completed, the succeeding data prefetch instruction movp receives the data from the read data holding circuit 6. The timing is adjusted so as to read out.

【0053】以上のように、この発明の第1の実施の形
態によれば、メモリ装置40から事前に読み出したデー
タを必要な時にデータ先読み回路8によって、読み出し
データ保持回路6から読み出すことができ、したがって
データ待ちのために停止する時間を削減することがで
き、処理性能が向上する。また、メモリ装置40の読み
出し速度が遅い場合でも、メモリ装置40からのデータ
の読み出しが完了するのを待たずに、後続の命令を実行
することができ処理性能が向上する。
As described above, according to the first embodiment of the present invention, data previously read from the memory device 40 can be read from the read data holding circuit 6 by the data prefetch circuit 8 when necessary. Therefore, the time for stopping for waiting for data can be reduced, and the processing performance is improved. Further, even when the reading speed of the memory device 40 is low, the subsequent instruction can be executed without waiting for the completion of the reading of the data from the memory device 40, and the processing performance is improved.

【0054】なお、読み出しデータ保持回路6に複数の
データを保持できるようにして、複数回前のデータ先読
み命令によってメモリ装置40より読み出され、格納さ
れたデータを読み出しデータ保持回路6から読み出すと
してもよい。この場合は、読み出しデータ保持回路6に
1番目からn番目のn個のサブデータ保持回路を設け、
さらにデータ先読み命令がデコーダ1によって解読され
るたびに1ずつ増分され、1からnの間を巡回するn進
カウンタを設けて、カウンタが示す値kで定まるk番目
のサブデータ保持回路からデータを読み出し、メモリ装
置40より読み出されたデータをk番目のサブデータ保
持回路に格納することで実現できる。 (第2の実施の形態)この発明の第2の実施の形態を図
4により説明する。図4は、この発明の第2の実施の形
態における情報処理装置の構成を表すブロック図であ
る。
It is assumed that a plurality of data can be held in the read data holding circuit 6, and the data read out and stored from the memory device 40 by the data pre-read command a plurality of times before is read out from the read data holding circuit 6. Is also good. In this case, the read data holding circuit 6 is provided with first to n-th n sub-data holding circuits,
Further, an n-ary counter that is incremented by one each time the data prefetch instruction is decoded by the decoder 1 and circulates from 1 to n is provided, and data is read from the k-th sub-data holding circuit determined by the value k indicated by the counter. This can be realized by storing the data read from the memory device 40 in the k-th sub-data holding circuit. (Second Embodiment) A second embodiment of the present invention will be described with reference to FIG. FIG. 4 is a block diagram illustrating a configuration of an information processing apparatus according to the second embodiment of the present invention.

【0055】図4において、図1に示した第1の実施の
形態における情報処理装置と同じ構成要素は同じ番号を
付して説明を省略し、異なる点を中心に説明する。図4
において、30はデータ有効フラグであり、読み出しデ
ータ保持回路6に、前回のデータ先読み命令によってメ
モリ装置40より読み出されたデータが格納されている
か、まだ格納されていないかをデータ有効信号31によ
って示す。データ有効信号31が“1”の場合は前回の
データ先読み命令によるメモリ装置40からのデータ読
み出しが完了し、データがすでに読み出しデータ保持回
路6に格納されていることを示し、“0”の場合は前回
のデータ先読み命令によるデータがまだ読み出しデータ
保持回路6に格納されていないことを示す。なお、デー
タ有効信号31の初期値は“1”である。
In FIG. 4, the same components as those of the information processing apparatus according to the first embodiment shown in FIG. 1 are denoted by the same reference numerals, the description thereof will be omitted, and different points will be mainly described. FIG.
In the figure, reference numeral 30 denotes a data valid flag, which determines whether data read from the memory device 40 by the previous data pre-read instruction is stored or not stored in the read data holding circuit 6 by a data valid signal 31. Show. When the data valid signal 31 is “1”, it indicates that the data read from the memory device 40 by the previous data prefetch command has been completed and the data has already been stored in the read data holding circuit 6, and when the data valid signal 31 is “0”. Indicates that the data according to the previous data prefetch instruction has not been stored in the read data holding circuit 6 yet. Note that the initial value of the data valid signal 31 is “1”.

【0056】デコーダ1に与えられた命令20がデータ
先読み命令である場合、デコーダ1はデコード結果1
3、14をメモリ制御回路4および実行制御回路5へ出
力し、データ先読み信号22をデータ先読み回路8へ出
力する。演算装置3は実行制御回路5の制御に従って、
EXステージでレジスタファイル2から読み出したデー
タ10、11またはデコーダ1が出力する即値21を用
いてアドレス15を計算し、メモリ制御回路4へ出力す
る。データ先読み回路8はデータ先読み信号22が与え
られると、データ有効フラグ30が出力するデータ有効
信号31を調べ、データ有効信号31が“0”である場
合、すなわち、前回のデータ先読み命令によるメモリ装
置40からの読み出しが完了していないことがわかった
場合は、実行制御回路5およびメモリ制御回路4に実行
停止要求信号33を出力し、これによって実行制御回路
5およびメモリ制御回路4は命令の処理を停止する。前
回のデータ先読み命令によるメモリ装置40からのデー
タ読み出しが完了し、読み出したデータ17が読み出し
データ保持回路6に格納されると、同時に、メモリ装置
40は読み出し完了信号32をデータ有効フラグ30へ
出力し、これによって、データ有効信号31が“1”に
セットされる。データ有効信号31が“1”にセットさ
れると、データ先読み回路8は実行停止要求信号33を
解除し、実行制御回路5およびメモリ制御回路4は処理
を再開する。データ先読み回路8はデータ読み出し信号
23を出力してデータ保持回路6からデータ24を読み
出す。読み出されたデータ24はレジスタファイル2へ
与えられ、WBステージに命令で指定されたレジスタへ
格納される。さらに、データ読み出し信号23が出力さ
れると、データ有効フラグ30のデータ有効信号31は
“0”にリセットされ、同時に、メモリ制御回路4は演
算装置3から与えられたアドレス15を用いてメモリ装
置40にデータの読み出しを要求する。要求されたデー
タの読み出しが完了すると、メモリ装置40はデータ1
7を出力し、読み出されたデータ17は読み出しデータ
保持回路6へ格納される。データが読み出しデータ保持
回路6へ格納され、読み出し完了信号32が与えられる
と、データ有効フラグ30はデータ有効信号31に
“1”を出力する。
When the instruction 20 given to the decoder 1 is a data prefetch instruction, the decoder 1
3 and 14 are output to the memory control circuit 4 and the execution control circuit 5, and the data prefetch signal 22 is output to the data prefetch circuit 8. The arithmetic unit 3 operates according to the control of the execution control circuit 5,
The address 15 is calculated using the data 10 and 11 read from the register file 2 or the immediate 21 output from the decoder 1 in the EX stage, and output to the memory control circuit 4. The data prefetch circuit 8 examines the data valid signal 31 output from the data valid flag 30 when the data prefetch signal 22 is supplied, and when the data valid signal 31 is “0”, that is, the memory device according to the previous data prefetch command. If it is determined that the reading from the memory 40 has not been completed, the execution stop request signal 33 is output to the execution control circuit 5 and the memory control circuit 4, whereby the execution control circuit 5 and the memory control circuit 4 process the instruction. To stop. When the data read from the memory device 40 by the previous data prefetch command is completed and the read data 17 is stored in the read data holding circuit 6, the memory device 40 simultaneously outputs the read completion signal 32 to the data valid flag 30. As a result, the data valid signal 31 is set to "1". When the data valid signal 31 is set to "1", the data prefetch circuit 8 releases the execution stop request signal 33, and the execution control circuit 5 and the memory control circuit 4 resume processing. The data prefetch circuit 8 outputs a data read signal 23 to read data 24 from the data holding circuit 6. The read data 24 is supplied to the register file 2 and stored in the register specified by the instruction in the WB stage. Further, when the data read signal 23 is output, the data valid signal 31 of the data valid flag 30 is reset to “0”, and at the same time, the memory control circuit 4 uses the address 15 given from the arithmetic unit 3 to Requests data reading to 40. When the reading of the requested data is completed, the memory device 40 stores the data 1
7, and the read data 17 is stored in the read data holding circuit 6. When the data is stored in the read data holding circuit 6 and the read completion signal 32 is given, the data valid flag 30 outputs “1” to the data valid signal 31.

【0057】データ先読み命令のMEMステージにすで
にデータ有効信号31が“1”で、前回のデータ先読み
命令によりメモリ装置40から読み出されたデータがす
でに読み出しデータ保持回路6に格納されていることが
示されると、データ先読み回路8は実行停止要求信号3
3を出力することなく、処理が続けられる。このように
して、データ先読み命令を実行する場合に、前回のデー
タ先読み命令によるメモリ装置40のデータ読み出しが
完了していなければ、データ読み出しが完了するまで、
命令の実行を停止することができ、データを格納する前
の値を誤って読み出しデータ保持回路6から読み出すこ
とを防ぐことができる。
The data valid signal 31 is already "1" at the MEM stage of the data prefetch instruction, and the data read from the memory device 40 by the previous data prefetch instruction is already stored in the read data holding circuit 6. When indicated, the data prefetch circuit 8 executes the execution stop request signal 3
The processing is continued without outputting 3. In this way, when executing the data prefetch instruction, if the data reading of the memory device 40 by the previous data prefetch instruction is not completed, the data reading is performed until the data reading is completed.
The execution of the instruction can be stopped, and the value before storing the data can be prevented from being read from the read data holding circuit 6 by mistake.

【0058】従って、2つのデータ先読み命令の間に、
データ読み出しのサイクル数分、有効な命令を挿入でき
なくても、無動作を指示するNOP命令を挿入する必要
がなく、プログラムのサイズを小さくすることができ
る。また、メモリ装置40にキャッシュメモリを用いた
場合のように、キャッシュメモリがヒットするかヒット
しないかによってデータの読み出し時間が変わるような
場合に、データの読み出しが速い場合に合わせて2つの
データ先読み命令間に命令を挿入しておいて、データ読
み出しが遅くなった場合でも、命令の実行を停止するこ
とができ、間違った値を読み出しデータ保持回路から読
み出すことを防ぎ、プログラムのサイズを小さくするこ
とができ、プログラムの作成も容易である。
Therefore, between two data prefetch instructions,
Even if a valid instruction cannot be inserted for the number of data reading cycles, there is no need to insert a NOP instruction for instructing no operation, and the size of the program can be reduced. Further, when the data read time changes depending on whether the cache memory hits or does not hit, as in the case where a cache memory is used as the memory device 40, two data prefetches are performed in accordance with the case where the data read is fast. Instructions can be stopped even if data reading is delayed by inserting instructions between instructions, preventing an incorrect value from being read from the read data holding circuit and reducing the size of the program. Program creation is easy.

【0059】なお、上記の構成に加えて、デコーダ1
に、データ有効信号31の値により外部より印加された
割込み要求を受理するか否かを決め、割込みを受理する
時に読み出しデータ保持回路6に格納されているデータ
を然る可き領域に退避する機能を付加してもよい。即
ち、所定の信号線により伝えられた割込み要求は、デー
タ有効信号31が“0”の間はペンディングされ、デー
タ有効信号31が“1”になった時に受け付けられる。
読み出しデータ保持回路6のデータの退避は、割込み処
理から復帰した時にデータを元に戻すためである。こう
することにより、データ先読み命令の後に発生する割込
み要求についても矛盾なく対応することができる。 (第3の実施の形態)この発明の第3の実施の形態を図
5および図6により説明する。図5は、この発明の第3
の実施の形態における情報処理装置の構成を表すブロッ
ク図である。
Note that, in addition to the above configuration, the decoder 1
Then, it is determined whether or not to accept an externally applied interrupt request based on the value of the data valid signal 31, and when the interrupt is received, the data stored in the read data holding circuit 6 is saved to an appropriate area. A function may be added. That is, the interrupt request transmitted by the predetermined signal line is pending while the data valid signal 31 is “0”, and is accepted when the data valid signal 31 becomes “1”.
The saving of the data in the read data holding circuit 6 is for restoring the data when returning from the interrupt processing. By doing so, it is possible to cope with an interrupt request generated after the data prefetch instruction without inconsistency. (Third Embodiment) A third embodiment of the present invention will be described with reference to FIGS. FIG. 5 shows a third embodiment of the present invention.
It is a block diagram showing the structure of the information processing apparatus in embodiment.

【0060】図5において、図1に示した第一の実施の
形態における情報処理装置と同じ構成要素は同じ番号を
付して説明を省略し、異なる点を中心に説明する。図5
の情報処理装置では、読み出しデータ保持回路6から読
み出したデータ24を演算装置3へ与え、演算に用いる
ことができる。データ先読み演算命令を実行する場合に
ついて説明する。データ先読み演算命令とは、前回実行
されたデータ先読み演算命令によってメモリ装置40か
ら読み出されたデータを用いて演算を行う命令である。
In FIG. 5, the same components as those of the information processing apparatus according to the first embodiment shown in FIG. 1 are denoted by the same reference numerals, and the description thereof will be omitted. The different points will be mainly described. FIG.
In the information processing device, the data 24 read from the read data holding circuit 6 can be given to the arithmetic device 3 and used for the arithmetic. A case of executing a data prefetch operation instruction will be described. The data prefetch operation instruction is an instruction for performing an operation using data read from the memory device 40 by the previously executed data prefetch operation instruction.

【0061】デコーダ1に与えられた命令20がデータ
先読み演算命令であることをデコーダ1が解読すると、
データ先読み信号22をデータ先読み回路8に出力す
る。データ先読み回路8はデータ先読み信号22を受け
取ると、読み出しデータ保持回路6より、前回のデータ
先読み演算命令によってメモリ装置40から読み出され
たデータを読み出して演算装置3に出力する。演算装置
3は、EXステージで、実行制御回路5の制御に従っ
て、レジスタファイル2から読み出されたデータ10、
11、またはデコーダ1から出力される即値21を用い
てアドレスを計算するのと同時に、読み出しデータ保持
回路6から読み出されたデータ24とレジスタファイル
2から読み出されたデータ10、11、またはデコーダ
1から出力される即値21を用いて、命令で指示された
演算を実行する。演算結果12は、レジスタファイル2
へ出力され、WBステージに、命令で指定されたレジス
タへ格納される。また、メモリ制御回路4は、MEMステ
ージに、演算装置3が出力するアドレス15を用いて、
メモリ装置40よりデータの読み出しを行い、読み出さ
れたデータを読み出しデータ保持回路6へ格納する。こ
の動作を図6を用いて説明する。
When the decoder 1 decodes that the instruction 20 given to the decoder 1 is a data prefetch operation instruction,
The data prefetch signal 22 is output to the data prefetch circuit 8. When receiving the data pre-reading signal 22, the data pre-reading circuit 8 reads out the data read from the memory device 40 by the previous data pre-reading operation instruction from the read data holding circuit 6 and outputs the data to the arithmetic unit 3. In the EX stage, the arithmetic unit 3 controls the data 10 read from the register file 2 under the control of the execution control circuit 5,
11 or the immediate value 21 output from the decoder 1, and at the same time, the data 24 read from the read data holding circuit 6 and the data 10, 11 or the decoder read from the register file 2 are calculated. The operation indicated by the instruction is executed using the immediate value 21 output from 1. The operation result 12 is the register file 2
And stored in the register specified by the instruction in the WB stage. Further, the memory control circuit 4 uses the address 15 output from the arithmetic unit 3 for the MEM stage,
Data is read from the memory device 40, and the read data is stored in the read data holding circuit 6. This operation will be described with reference to FIG.

【0062】図6は、第3の実施の形態における情報処
理装置により、データ先読み演算命令を実行する場合の
パイプライン動作を示した図である。図6において、第
1命令はデータ先読み命令movpであり、第3および
第5命令はデータ先読み演算命令の1つであるデータ先
読み加算命令addpである。第3命令addpは第1
命令movpによってメモリ装置40より読み出された
データAとレジスタd0の値を加算して結果をレジスタ
d0に格納する。さらに、a0+4を計算してアドレス
とし、メモリ装置40よりデータBを読み出す。第5命
令addpは第3命令addpがメモリ装置40より読
み出したデータBとレジスタd0の値を加算して結果を
レジスタd0に格納する。さらに、a0+8を計算して
アドレスとし、メモリ装置40よりデータCを読み出
す。
FIG. 6 is a diagram showing a pipeline operation when a data prefetch operation instruction is executed by the information processing apparatus according to the third embodiment. In FIG. 6, the first instruction is a data prefetch instruction movp, and the third and fifth instructions are a data prefetch addition instruction addp which is one of data prefetch operation instructions. The third instruction addp is the first
The data A read from the memory device 40 by the instruction movp is added to the value of the register d0, and the result is stored in the register d0. Further, a0 + 4 is calculated and used as an address, and data B is read from the memory device 40. The fifth instruction addp adds the data B read from the memory device 40 by the third instruction addp to the value of the register d0, and stores the result in the register d0. Further, the data C is read from the memory device 40 by calculating a0 + 8 as an address.

【0063】以上のように、この発明の第3の実施の形
態によれば、データ先読み演算命令は、前回のデータ先
読み演算命令で読み出したデータを用いて演算を行うと
同時に、次回のデータ先読み演算命令で用いるデータの
読み出し開始するので、メモリ装置40からのデータの
読み出しを待たずに演算ができ、データ待ちのサイクル
を削減でき、処理性能の向上を図ることができる。
As described above, according to the third embodiment of the present invention, the data prefetch operation instruction performs the operation using the data read by the previous data prefetch operation instruction, and simultaneously executes the next data prefetch operation. Since the reading of the data used in the operation instruction is started, the operation can be performed without waiting for the reading of the data from the memory device 40, the data waiting cycle can be reduced, and the processing performance can be improved.

【0064】なお、ここでは、データ先読み加算命令a
ddpにおいて、アドレス計算と演算はEXステージに
同時に行われるとしたが、アドレス計算と演算を別のク
ロックサイクルでシーケンシャルに行うとしてもよい。
また、この例ではデータ先読み演算命令の演算として加
算を行う場合を示したが、加算以外にも、減算、論理
積、論理和などさまざまな演算に適用することができ
る。 (第4の実施の形態)この発明の第4の実施の形態を図
7により説明する。この情報処理装置は、高級言語プロ
グラムから、パイプライン処理を行うプロセッサを対象
とする機械命令プログラムを生成する情報処理装置であ
り、高級言語プログラム中にメモリ装置に割り付けられ
た変数の読み出しを行うコードを検出する読み出しコー
ド検出手段と、機械命令生成手段とを備え、この機械命
令生成手段はコードが検出された場合に、変数に割り付
けられたメモリ装置のアドレスを計算し、計算されたア
ドレスに基づいてメモリ装置の読み出しアクセスを開始
させる第1の機械命令と、アクセスが終了したときに読
み出されたデータを所定のレジスタに格納する第2の機
械命令とを生成する。
Here, the data prefetch addition instruction a
In the ddp, the address calculation and the operation are performed simultaneously in the EX stage. However, the address calculation and the operation may be performed sequentially in another clock cycle.
In this example, addition is performed as an operation of a data prefetch operation instruction. However, the present invention can be applied to various operations other than addition, such as subtraction, logical product, and logical sum. (Fourth Embodiment) A fourth embodiment of the present invention will be described with reference to FIG. This information processing apparatus is an information processing apparatus that generates a machine instruction program for a processor that performs pipeline processing from a high-level language program, and a code that reads a variable assigned to a memory device in the high-level language program. And a machine instruction generating means for calculating the address of the memory device assigned to the variable when the code is detected, and based on the calculated address. A first machine instruction for starting a read access of the memory device and a second machine instruction for storing data read in a predetermined register when the access is completed.

【0065】図7は、この発明の第4の実施の形態にお
ける情報処理装置の構成を示すブロック図である。情報
処理装置702は、ユーザが記述したC言語プログラム
701を翻訳し、機械命令プログラム710を出力する
コンパイラとして機能する。情報処理装置702は、C
言語プログラム701を読込用バッファ704に読み込
むファイル読込部703と、読込用バッファ704に読
み込まれたC言語プログラムの構文や意味を解析して中
間コードを生成し中間コード用バッファ706に書き込
む構文解析部705と、中間コード用バッファ706に
格納された中間コードを入力して機械命令プログラムを
生成し出力用バッファ708に書き込む機械命令生成部
707と、出力用バッファ708に格納された機械命令
プログラムをファイルに出力するファイル出力部709
とから構成される。
FIG. 7 is a block diagram showing a configuration of an information processing apparatus according to the fourth embodiment of the present invention. The information processing device 702 functions as a compiler that translates a C language program 701 written by a user and outputs a machine instruction program 710. The information processing device 702
A file reading unit 703 that reads the language program 701 into the reading buffer 704, and a syntax analysis unit that generates an intermediate code by analyzing the syntax and meaning of the C language program read into the reading buffer 704 and writes the intermediate code into the intermediate code buffer 706. 705, a machine instruction generation unit 707 that receives the intermediate code stored in the intermediate code buffer 706 to generate a machine instruction program and writes the machine instruction program to the output buffer 708, and stores the machine instruction program stored in the output buffer 708 in a file. File output unit 709 to output to
It is composed of

【0066】表1は、C言語プログラムの例を示すプロ
グラムリストである。
Table 1 is a program list showing an example of a C language program.

【0067】[0067]

【表1】 [Table 1]

【0068】表2は、図8に示すC言語プログラムを入
力として与えた場合に、情報処理装置702の中間コー
ド用バッファ706に格納された中間コードプログラム
を示したリストである。
Table 2 is a list showing the intermediate code programs stored in the intermediate code buffer 706 of the information processing device 702 when the C language program shown in FIG.

【0069】[0069]

【表2】 [Table 2]

【0070】表3は、表1に示すC言語プログラムを入
力として与えた場合に、情報処理装置702により生成
された機械命令プログラム710を示したリストであ
る。なお、機械命令プログラムは本来0と1のビット列
であるが、意味を表すために図10ではニモニック表記
してある。
Table 3 is a list showing a machine instruction program 710 generated by the information processing device 702 when the C language program shown in Table 1 is given as an input. Note that the machine instruction program is originally a bit string of 0s and 1s, but is represented by a mnemonic in FIG. 10 to represent the meaning.

【0071】[0071]

【表3】 [Table 3]

【0072】以下に、表1のプログラムリストを入力と
した場合における上記構成をもつ情報処理装置の動作に
ついて表1〜表3を用いて説明する。ファイル読込部7
03は、ユーザが記述したC言語プログラム701を読
み込み、読込用バッファ704に格納する。構文解析部
705は、読込用バッファ704に格納されたC言語プ
ログラムを取り出す。表1に示すプログラムの「int
eger A,B;」および「register
r;」については、以下の各行を中間コードに展開する
場合に、変数Aと変数Bとはメモリに割り付け、変数r
はレジスタに割り付けるとして処理を進める。
Hereinafter, the operation of the information processing apparatus having the above configuration when the program list of Table 1 is input will be described with reference to Tables 1 to 3. File reading unit 7
03 reads the C language program 701 written by the user and stores it in the read buffer 704. The syntax analysis unit 705 extracts the C language program stored in the read buffer 704. "Int" of the program shown in Table 1
eger A, B; "and" register "
r; ”, when the following lines are expanded into intermediate code, the variables A and B are allocated to the memory, and the variable r
Proceeds assuming that is assigned to a register.

【0073】次に構文解析部705は、読込用バッファ
704に格納されたC言語プログラムを取り出す。表1
に示すプログラムの「r=r+A;」については、変数
Aが格納されたメモリからデータを読み出してレジスタ
d0に格納する意味の中間コード1「d0←mem
(A)」と、レジスタd0と変数rが格納されたレジス
タd1とを加算しd1に格納する意味の中間コード2
「d1←d1+d0」とを中間コード用バッファ706
に出力する。
Next, the syntax analyzer 705 extracts the C language program stored in the read buffer 704. Table 1
For the program “r = r + A;”, the intermediate code 1 “d0 ← mem” meaning that data is read from the memory storing the variable A and stored in the register d0
(A) ", an intermediate code 2 meaning that the register d0 and the register d1 storing the variable r are added and stored in d1.
“D1 ← d1 + d0” is stored in the intermediate code buffer 706
Output to

【0074】さらに構文解析部705は、読込用バッフ
ァ704に格納されたC言語プログラムを取り出す。表
1に示すプログラムの「r=r+B;」については、変数Bが
格納されたメモリからデータを読み出してレジスタd0
に格納する意味の中間コード3「d0←mem(B)」
と、レジスタd0と変数rが格納されたレジスタd1と
を加算しd1に格納する意味の中間コード4「d1←d
1+d0」とを中間コード用バッファ706に出力す
る。
Further, the syntax analyzer 705 extracts the C language program stored in the read buffer 704. For “r = r + B;” in the program shown in Table 1, data is read from the memory in which the variable B is stored, and the data is read from the register d0.
Code "d0 ← mem (B)" meaning intermediate code 3
And the intermediate code 4 “d1 ← d” which means to add the register d0 and the register d1 in which the variable r is stored and store the result in d1.
1 + d0 ”to the intermediate code buffer 706.

【0075】C言語プログラムには以下同様の記述がな
されているとする。機械命令生成部707は、中間コー
ド用バッファ706に格納された中間コード1を取り出
し、対応する命令1を生成する。変数Aはメモリのレジ
スタa0で指示される番地に割り付けられているとす
る。次に機械命令生成部707は、中間コード用バッフ
ァ706に格納された中間コード2を取り出すが、ここ
でレジスタd0は命令1の結果に依存するため、この時
点ではいかなる命令も生成しない。
It is assumed that the following description is made in the C language program. The machine instruction generation unit 707 extracts the intermediate code 1 stored in the intermediate code buffer 706 and generates a corresponding instruction 1. It is assumed that the variable A is assigned to the address indicated by the register a0 of the memory. Next, the machine instruction generation unit 707 extracts the intermediate code 2 stored in the intermediate code buffer 706. Here, since the register d0 depends on the result of the instruction 1, no instruction is generated at this time.

【0076】次に機械命令生成部707は、中間コード
用バッファ706に格納された中間コード3を取り出
す。この時、メモリを読み出す中間コードなので、中間
コード2の加算に対応する命令を生成する前に、命令3
を生成し、続いて中間コード2の加算に対応する命令4
を生成する。但し、命令1と命令4との間は2つの命令
を挿入することが求められるので、無動作命令のnop
命令2を命令3の前に挿入する。変数Bはメモリのレジ
スタa0で指示される番地から4番地だけ離れた位置に
割り付けられているとする。
Next, the machine instruction generation unit 707 extracts the intermediate code 3 stored in the intermediate code buffer 706. At this time, since the intermediate code is for reading the memory, the instruction 3 is generated before the instruction corresponding to the addition of the intermediate code 2 is generated.
And then an instruction 4 corresponding to the addition of the intermediate code 2
Generate However, since it is required to insert two instructions between the instruction 1 and the instruction 4, the no-operation instruction nop
Insert instruction 2 before instruction 3. It is assumed that the variable B is allocated at a position which is four addresses away from the address indicated by the register a0 of the memory.

【0077】次に機械命令生成部707は、中間コード
用バッファ706に格納された中間コード4を取り出す
が、ここでレジスタd0は命令3の結果に依存するた
め、この時点ではいかなる命令も生成しない。次に機械
命令生成部707は、中間コード用バッファ706に格
納された中間コード(図示せず)を取り出す。この時、
メモリを読み出す中間コードなので、中間コード4の加
算に対応する命令を生成する前に、命令5を生成し、続
いて中間コード4の加算に対応する命令6を生成する。
このとき命令3と命令6との間には既に2つの命令が挿
入されているので、nop命令を新たに挿入する必要は
ない。
Next, the machine instruction generation unit 707 extracts the intermediate code 4 stored in the intermediate code buffer 706. Here, since the register d0 depends on the result of the instruction 3, no instruction is generated at this time. . Next, the machine instruction generation unit 707 extracts the intermediate code (not shown) stored in the intermediate code buffer 706. At this time,
Since the intermediate code is for reading the memory, the instruction 5 is generated before generating the instruction corresponding to the addition of the intermediate code 4, and subsequently, the instruction 6 corresponding to the addition of the intermediate code 4 is generated.
At this time, since two instructions have already been inserted between the instruction 3 and the instruction 6, there is no need to newly insert a nop instruction.

【0078】ファイル出力部709は、出力用バッファ
708に格納された機械命令を、ファイルに出力する。
このファイルに出力された機械命令プログラムは、表3
のリストに示すようになる。表3に示す命令列は、第1
の実施の形態における情報処理装置の図2のパイプライ
ン動作の例に示した命令列と命令2を除いて同じである
ため説明を省略する。命令2は無動作命令である。
The file output unit 709 outputs the machine instruction stored in the output buffer 708 to a file.
Table 3 shows the machine instruction program output to this file.
As shown in the list. The instruction sequence shown in Table 3 is the first
Since the instruction sequence is the same as the instruction sequence shown in the example of the pipeline operation in FIG. Instruction 2 is a non-operation instruction.

【0079】以上のように、この発明の第4の実施の形
態によれば、C言語プログラムからデータ先読み命令を
含む機械命令プログラムを生成することができる。な
お、ここではデータ先読み命令と先読みされたデータを
使用する命令との間の命令数を一定に保つようにしてい
るが、機械命令プログラムを実行する機械にデータ先読
み命令によるメモリ装置40からのデータの読み出しが
完了したかどうかを示すデータ有効フラグを備えられて
いれば、データ先読み命令と先読みされたデータを使用
する命令との間の命令数を一定に保つために挿入された
上記のnop命令2は生成する必要がなくなる。
As described above, according to the fourth embodiment of the present invention, a machine instruction program including a data prefetch instruction can be generated from a C language program. In this case, the number of instructions between the data prefetch instruction and the instruction using the prefetched data is kept constant. However, the machine executing the machine instruction program sends the data from the memory device 40 by the data prefetch instruction to the machine. Is provided with a data valid flag indicating whether or not the reading of data has been completed, the above-mentioned nop instruction inserted in order to keep the number of instructions between the data prefetch instruction and the instruction using the prefetched data constant. 2 need not be generated.

【0080】また、機械命令生成部707は、機械命令
プログラムを生成する際に、そのプログラムのひとかた
まりに対して、最初のデータ先読み命令の前に割込み受
付を禁止する命令を配置し、最後のデータ先読み命令の
後に割込み受付を許可する命令を配置するようにしても
よい。機械命令プログラムのひとかたまりとは、サブル
ーチンやモジュールなど意味的な区切りでも、データ先
読み命令の出現が他と比べて高い箇所の区切りでもよ
い。但し、割込み受付を許可する命令の直前のデータ先
読み命令は次のデータ先読み命令へつながらないものと
する。こうすることにより、データ先読み命令の間に発
生する割込み要求によって読み出しデータに矛盾が伴う
ことを防止できる。 (第5の実施の形態)この発明の記録媒体の実施の形態
として、図7の機械命令プログラム710を記録した磁
気ディスク(フロッピーディスクやハードディスクな
ど)、光ディスク(CD−ROMやPDなど)、光磁気
ディスク、半導体メモリ(ROMやフラッシュメモリな
ど)がある。
Further, when generating a machine instruction program, the machine instruction generation unit 707 arranges an instruction for inhibiting interrupt acceptance before a first data prefetch instruction for a group of the program, and An instruction for permitting interrupt acceptance may be arranged after the prefetch instruction. The group of the machine instruction program may be a semantic delimiter such as a subroutine or a module, or a delimiter of a place where the appearance of a data prefetch instruction is higher than others. However, it is assumed that the data prefetch instruction immediately before the instruction that permits the acceptance of the interrupt does not lead to the next data prefetch instruction. By doing so, it is possible to prevent inconsistency in the read data due to an interrupt request generated during the data prefetch instruction. (Fifth Embodiment) As an embodiment of the recording medium of the present invention, a magnetic disk (floppy disk, hard disk, or the like), an optical disk (CD-ROM, PD, or the like) on which the machine instruction program 710 of FIG. There are a magnetic disk and a semiconductor memory (ROM, flash memory, etc.).

【0081】[0081]

【発明の効果】請求項1記載の情報処理装置によれば、
以前に解読手段が解読した特定の命令の実行に基づいて
メモリ装置から読み出されたデータをデータ保持手段か
ら読み出した後に、新たにメモリ装置からデータの読み
出しを実行することができ、メモリ装置からのデータの
読み出しの完了を待たずに、次の命令の処理が可能で、
処理時間の短縮を図って、処理性能の向上を実現するこ
とができ、極めて有用である。
According to the information processing apparatus of the first aspect,
After reading the data read from the memory device based on the execution of the specific instruction previously decoded by the decoding device from the data holding device, data can be newly read from the memory device. The next instruction can be processed without waiting for the completion of reading the data of
The processing time can be shortened and the processing performance can be improved, which is extremely useful.

【0082】請求項2記載の情報処理装置によれば、請
求項1と同様な効果がある。請求項3記載の情報処理装
置によれば、請求項1または請求項2と同様な効果があ
る。請求項4記載の情報処理装置によれば、請求項1と
同様な効果に加えて、n個までのメモリ装置からのデー
タの読み出しの完了を待たずに次の命令の処理が可能
で、処理時間の一層の短縮が図れる。
According to the information processing apparatus of the second aspect, the same effect as that of the first aspect is obtained. According to the information processing apparatus of the third aspect, the same effects as those of the first or second aspect can be obtained. According to the information processing apparatus of the fourth aspect, in addition to the same effect as the first aspect, processing of the next instruction can be performed without waiting for completion of reading of data from up to n memory devices. The time can be further reduced.

【0083】請求項5記載の情報処理装置によれば、請
求項4と同様な効果かある。請求項6記載の情報処理装
置によれば、請求項1と同様な効果のほか、データの読
み出しが完了する前にデータ保持手段から間違った値を
読み出すことを防ぐことができ、極めて有用である。請
求項7記載の情報処理装置によれば、請求項6と同様な
効果がある。
According to the information processing apparatus of the fifth aspect, the same effect as that of the fourth aspect is obtained. According to the information processing apparatus of the sixth aspect, in addition to the same effect as the first aspect, it is possible to prevent reading an erroneous value from the data holding unit before data reading is completed, which is extremely useful. . According to the information processing apparatus of the seventh aspect, the same effect as that of the sixth aspect is obtained.

【0084】請求項8記載の情報処理装置によれば、請
求項6または請求項7と同様な効果のほか、特定の命令
の後に発生する割込み要求についても矛盾なく対応する
ことができる。請求項9記載の情報処理装置によれば、
請求項8と同様な効果がある。請求項10記載の情報処
理装置によれば、請求項1と同様な効果に加えて、デー
タ保持手段に格納されたデータ、すなわち以前に解読手
段が解読した特定の命令でメモリ装置より読み出された
データを用いて演算を行うことにより、メモリ装置の読
み出しに要する時間を削減して演算ができ、処理性能の
向上を実現することができ、極めて有用である。
According to the information processing apparatus of the eighth aspect, in addition to the same effects as those of the sixth and seventh aspects, it is possible to cope with an interrupt request generated after a specific instruction without contradiction. According to the information processing apparatus of claim 9,
This has the same effect as the eighth aspect. According to the information processing apparatus of the tenth aspect, in addition to the same effect as the first aspect, in addition to the data stored in the data holding unit, that is, the data read from the memory device by a specific instruction previously decoded by the decoding unit. By performing an operation using the data obtained, the operation can be performed while reducing the time required for reading data from the memory device, and the processing performance can be improved, which is extremely useful.

【0085】請求項11記載の情報処理装置によれば、
請求項10と同様な効果がある。請求項12記載の情報
処理装置によれば、請求項10または請求項11と同様
な効果がある。請求項13記載の情報処理装置によれ
ば、第1の機械命令の完了を待たずに、次の機械命令の
処理が可能な機械命令プログラムを生成することができ
る。したがって処理性能を向上できる。
According to the information processing apparatus of claim 11,
An effect similar to that of the tenth aspect is obtained. According to the information processing apparatus of the twelfth aspect, the same effect as that of the tenth or eleventh aspect is obtained. According to the information processing apparatus of the thirteenth aspect, it is possible to generate a machine instruction program capable of processing the next machine instruction without waiting for the completion of the first machine instruction. Therefore, processing performance can be improved.

【0086】請求項14記載の情報処理装置によれば、
請求項13と同様な効果がある。請求項15記載の情報
処理装置によれば、第1から第nの機械命令の完了を待
たずに、第nの次の機械命令の処理が可能な機械命令プ
ログラムを生成することができる。したがって、処理性
能を向上できる。請求項16記載の情報処理装置によれ
ば、請求項15と同様な効果がある。
According to the information processing apparatus of claim 14,
This has the same effect as the thirteenth aspect. According to the information processing apparatus of the present invention, it is possible to generate a machine instruction program capable of processing the next n-th machine instruction without waiting for completion of the first to n-th machine instructions. Therefore, processing performance can be improved. According to the information processing apparatus of the sixteenth aspect, the same effect as that of the fifteenth aspect can be obtained.

【0087】請求項17記載の情報処理装置によれば、
第1の機械命令の完了を待たずに、次の機械命令の処理
が可能な上に、第2の機械命令で演算が並列に定義され
てコード効率の高い機械命令プログラムを生成すること
ができる。請求項18記載の情報処理装置によれば、請
求項17と同様な効果がある。請求項19記載の情報処
理装置によれば、請求項13、請求項14、請求項1
7、または請求項18と同様な効果のほか、第1の機械
命令と第2の機械命令との間に発生する割込み要求によ
って読み出しデータに矛盾が伴うことを防止できる。
According to the information processing apparatus of the seventeenth aspect,
The next machine instruction can be processed without waiting for the completion of the first machine instruction, and furthermore, the operation is defined in parallel by the second machine instruction, so that a machine instruction program with high code efficiency can be generated. . According to the information processing apparatus of the eighteenth aspect, the same effect as that of the seventeenth aspect can be obtained. According to the information processing apparatus of claim 19, claim 13, claim 14, claim 1
In addition to the same effect as that of the seventh or the eighteenth aspect, inconsistency of read data due to an interrupt request generated between the first machine instruction and the second machine instruction can be prevented.

【0088】請求項20記載の記録媒体によれば、第1
の機械命令の完了を待たずに、次の機械命令の処理が可
能な機械命令プログラムが記録される。請求項21記載
の記録媒体によれば、請求項20と同様な効果がある。
請求項22記載の記録媒体によれば、第1から第nの機
械命令の完了を待たずに、第nの次の機械命令の処理が
可能な機械命令プログラムが記録される。
According to the recording medium of the twentieth aspect, the first
A machine instruction program capable of processing the next machine instruction without waiting for the completion of the previous machine instruction is recorded. According to the recording medium of the twenty-first aspect, the same effects as those of the twentieth aspect can be obtained.
According to the recording medium of the twenty-second aspect, a machine instruction program capable of processing the next n-th machine instruction without waiting for completion of the first to n-th machine instructions is recorded.

【0089】請求項23記載の記録媒体によれば、請求
項22と同様な効果がある。請求項24記載の記録媒体
によれば、第1の機械命令の完了を待たずに、次の機械
命令の処理が可能な上に、第2の機械命令で演算が並列
に定義されてコード効率の高い機械命令プログラムが記
録される。請求項25記載の記録媒体によれば、請求項
24と同様な効果がある。
According to the recording medium of the twenty-third aspect, the same effects as those of the twenty-second aspect are obtained. According to the recording medium of the twenty-fourth aspect, the next machine instruction can be processed without waiting for the completion of the first machine instruction, and the operation is defined in parallel by the second machine instruction, thereby improving the code efficiency. High machine instruction program is recorded. According to the recording medium of the twenty-fifth aspect, the same effect as that of the twenty-fourth aspect can be obtained.

【0090】請求項26記載の記録媒体によれば、請求
項20、請求項21、請求項24、または請求項25と
同様な効果のほか、第1の機械命令と第2の機械命令と
の間に発生する割込み要求によって読み出しデータに矛
盾が伴うことを防止できる。
According to the recording medium of the twenty-sixth aspect, in addition to the effects similar to the twentieth, twenty-first, twenty-fourth, and twenty-fifth aspects, the recording medium of the first and second machine instructions It is possible to prevent read data from being accompanied by inconsistency due to an interrupt request generated therebetween.

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

【図1】この発明の第1の実施の形態における情報処理
装置の構成を示すブロック図である。
FIG. 1 is a block diagram illustrating a configuration of an information processing apparatus according to a first embodiment of the present invention.

【図2】第1の実施の形態による情報処理装置のパイプ
ライン動作の例を示した説明図である。
FIG. 2 is an explanatory diagram showing an example of a pipeline operation of the information processing device according to the first embodiment.

【図3】メモリ装置の読出し速度が遅い場合の第1の実
施の形態による情報処理装置のパイプライン動作の例を
示した説明図である。
FIG. 3 is an explanatory diagram showing an example of a pipeline operation of the information processing device according to the first embodiment when the reading speed of the memory device is low.

【図4】第2の実施の形態における情報処理装置の構成
を示すブロック図である。
FIG. 4 is a block diagram illustrating a configuration of an information processing apparatus according to a second embodiment.

【図5】第3の実施の形態における情報処理装置の構成
を示すブロック図である。
FIG. 5 is a block diagram illustrating a configuration of an information processing device according to a third embodiment.

【図6】その情報処理装置のパイプライン動作の例を示
した説明図である。
FIG. 6 is an explanatory diagram showing an example of a pipeline operation of the information processing device.

【図7】第4の実施の形態における情報処理装置の構成
を示すブロック図である。
FIG. 7 is a block diagram illustrating a configuration of an information processing apparatus according to a fourth embodiment.

【図8】従来の情報処理装置の構成を示すブロック図で
ある。
FIG. 8 is a block diagram illustrating a configuration of a conventional information processing apparatus.

【図9】従来のデータ処理装置のパイプライン動作を示
す説明図である。
FIG. 9 is an explanatory diagram showing a pipeline operation of a conventional data processing device.

【図10】MOV命令で読み出したデータを直後の命令
が演算に用いる場合の従来のデータ処理装置のパイプラ
イン動作を示す説明図である。
FIG. 10 is an explanatory diagram showing a pipeline operation of a conventional data processing device when data read by an MOV instruction is used by an immediately following instruction for an operation.

【図11】メモリ装置の読出し速度が遅い場合の従来の
データ処理装置のパイプライン動作を示す説明図であ
る。
FIG. 11 is an explanatory diagram showing a pipeline operation of the conventional data processing device when the reading speed of the memory device is low.

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

1、101 デコーダ 2、102 レジスタファイル 3、103 演算装置 4、104 メモリ制御装置 5、105 実行制御回路 6 読み出しデータ保持回路 8 データ先読み回路 10、11、12、17、18、24、110、11
1、112、117、118 データ 15、16、115、116 アドレス 25 命令読出し制御回路 26 実行部 40、140 メモリ装置 21、121 即値 22 データ先読み信号 23 データ読み出し信号 30 データ有効フラグ 31 データ有効信号 32 読み出し完了信号 33 実行停止要求信号 701 C言語プログラム 702 コンパイラ 703 ファイル読込部 704 読込用バッファ 705 構文解析部 706 中間コード用バッファ 707 機械命令生成部 708 出力用バッファ 709 ファイル出力部 710 機械命令プログラム
1, 101 Decoder 2, 102 Register file 3, 103 Arithmetic unit 4, 104 Memory control unit 5, 105 Execution control circuit 6 Read data holding circuit 8 Data pre-reading circuit 10, 11, 12, 17, 18, 24, 110, 11
1, 112, 117, 118 Data 15, 16, 115, 116 Address 25 Instruction read control circuit 26 Execution unit 40, 140 Memory device 21, 121 Immediate value 22 Data prefetch signal 23 Data read signal 30 Data valid flag 31 Data valid signal 32 Read completion signal 33 Execution stop request signal 701 C language program 702 Compiler 703 File reading unit 704 Reading buffer 705 Syntax analysis unit 706 Intermediate code buffer 707 Machine instruction generation unit 708 Output buffer 709 File output unit 710 Machine instruction program

Claims (26)

【特許請求の範囲】[Claims] 【請求項1】 少なくともメモリ装置からの第1のデー
タの読み出しと第2のデータの操作とを指示する特定の
命令を含む命令列から命令を取り出す命令読出し手段
と、 前記メモリ装置から読み出したデータを格納するための
データ保持手段と、 前記命令読み出し手段により読み出された命令を解読す
る解読手段と、 レジスタを含んで成り、前記解読手段により前記特定の
命令が置かれていると解読された場合に、前記第1のデ
ータの読み出しアドレスを計算し、計算されたアドレス
に基づいて前記メモリ装置から前記第1のデータを読み
出すべくアクセスを開始し、前記データ保持手段から前
記第2のデータを取り出して前記レジスタへ格納する実
行手段とを備え、 前記第2のデータは、前記特定の命令が解読される以前
に前記解読手段が解読した前記特定の命令に基づく第1
のデータとして読み出されたデータであることを特徴と
する情報処理装置。
1. Instruction reading means for extracting an instruction from an instruction sequence including a specific instruction instructing at least reading of first data and operation of second data from a memory device, and data read from the memory device And a decoding means for decoding the instruction read by the instruction reading means, and a register, wherein the specific instruction is decoded by the decoding means. In this case, a read address of the first data is calculated, access is started to read the first data from the memory device based on the calculated address, and the second data is read from the data holding unit. Executing means for extracting and storing the data in the register, wherein the second data is read before the specific instruction is decoded. First based on the specific instruction of decoding
An information processing apparatus characterized in that the data is data read as the data.
【請求項2】 実行手段は、特定の命令によって開始さ
れた第1のデータの読み出しのアクセスが終了したとき
に行われ、読み出された前記第1のデータをデータ保持
手段に格納する動作を、前記特定の命令に後続する命令
の実行と並列に行う請求項1記載の情報処理装置。
2. The execution means, which is executed when the access for reading the first data started by a specific instruction is completed, and stores the read first data in the data holding means. 2. The information processing apparatus according to claim 1, wherein said instruction is executed in parallel with execution of an instruction subsequent to said specific instruction.
【請求項3】 情報処理装置は、命令の読出しを行う第
1のステージと、命令の解読を行う第2のステージと、
命令によって指定される演算またはメモリ装置をアクセ
スするアドレス計算を行う第3のステージと、メモリ装
置をアクセスする第4のステージと、命令によって指定
される操作の結果をレジスタに格納する第5のステージ
との5つのステージを含むパイプライン構造をとるもの
であって、 命令読出し手段は前記第1のステージにおいて作用し、
解読手段は前記第2のステージにおいて作用し、実行手
段は前記第3から第5のステージにおいて作用し、特に
データ保持手段からの第2のデータの取り出しを前記第
4のステージで行う請求項1または請求項2記載の情報
処理装置。
3. An information processing apparatus comprising: a first stage for reading an instruction; a second stage for decoding an instruction;
A third stage for performing an operation specified by the instruction or calculating an address for accessing the memory device, a fourth stage for accessing the memory device, and a fifth stage for storing a result of the operation specified by the instruction in a register Wherein the instruction reading means operates in the first stage,
The decoding means operates in the second stage, and the execution means operates in the third to fifth stages, and in particular, fetches the second data from the data holding means in the fourth stage. Alternatively, the information processing apparatus according to claim 2.
【請求項4】 少なくともメモリ装置からの第1のデー
タの読み出しと第2のデータの操作とを指示する特定の
命令を含む命令列から命令を取り出す命令読出し手段
と、 前記メモリ装置から読み出した2個以上のn個のデータ
を格納するための第1から第nのデータ保持手段と、 前記命令読み出し手段により読み出された命令を解読す
る解読手段と、 この解読手段により前記特定の命令が置かれていると解
読されるごとに1ずつ増分され、1からnの間を巡回す
る計数手段と、 レジスタを含んで成り、前記解読手段により前記特定の
命令が置かれていると解読された場合に、前記第1のデ
ータの読み出しアドレスを計算し、計算されたアドレス
に基づいて前記メモリ装置から前記第1のデータを読み
出すべくアクセスを開始し、前記計数手段が示す値kで
定まる第kのデータ保持手段から前記第2のデータを取
り出して前記レジスタへ格納する実行手段とを備え、前
記第2のデータは、解読された前記特定の命令からnだ
け前の前記特定の命令に基づく第1のデータとして読み
出されたデータであることを特徴とする情報処理装置。
4. An instruction reading means for extracting an instruction from an instruction sequence including a specific instruction for instructing at least reading of first data from a memory device and operation of second data; First to n-th data holding means for storing at least n pieces of data; decoding means for decoding the instruction read by the instruction reading means; and the specific instruction being placed by the decoding means. A counting means that increments by one each time it is deciphered, and a register that circulates between 1 and n; and a register. Calculating an address for reading the first data, starting access to read the first data from the memory device based on the calculated address, Executing means for taking out the second data from the k-th data holding means determined by the value k indicated by and storing the second data in the register, wherein the second data is n times before the decoded specific instruction. An information processing apparatus characterized in that the information is data read out as first data based on the specific instruction.
【請求項5】 実行手段は、特定の命令によって開始さ
れた第1のデータの読み出しのアクセスが終了したとき
に行われ、読み出された前記第1のデータを第kのデー
タ保持手段に格納する動作を、前記特定の命令に後続す
る命令の実行と並列に行う請求項4記載の情報処理装
置。
5. The execution means is executed when the access for reading the first data started by the specific instruction is completed, and stores the read first data in the k-th data holding means. The information processing apparatus according to claim 4, wherein the operation of performing the instruction is performed in parallel with execution of an instruction subsequent to the specific instruction.
【請求項6】 少なくともメモリ装置からの第1のデー
タの読み出しと第2のデータの操作とを指示する特定の
命令を含む命令列から命令を取り出す命令読出し手段
と、 前記メモリ装置から読み出したデータを格納するための
データ保持手段と、 このデータ保持手段が格納するデータが有効か無効かを
示すデータ有効フラグと、 前記命令読み出し手段により読み出された命令を解読す
る解読手段と、 レジスタを含んで成り、前記解読手段により前記特定の
命令が置かれていると解読された場合に、前記第1のデ
ータの読み出しアドレスを計算し、計算されたアドレス
に基づいて前記メモリ装置から前記第1のデータを読み
出すべくアクセスを開始し、 前記データ有効フラグが有効を示す場合は、前記データ
保持手段から前記第2のデータを取り出して前記レジス
タへ格納し、 前記データ有効フラグが無効を示す場合は、前記データ
有効フラグが有効を示すのを待って、前記データ保持手
段から前記第2のデータを取り出して前記レジスタへ格
納する実行手段とを備え、 前記第2のデータは、前記特定の命令が解読される以前
に前記解読手段が解読した前記特定の命令に基づく第1
のデータとして読み出されたデータであることを特徴と
する情報処理装置。
6. An instruction reading means for extracting an instruction from an instruction sequence including a specific instruction for instructing at least reading of first data and operation of second data from a memory device, and data read from the memory device , A data valid flag indicating whether data stored in the data holding unit is valid or invalid, a decoding unit for decoding the instruction read by the instruction reading unit, and a register. When the decoding means decodes that the specific instruction is located, the read address of the first data is calculated, and the first address is read from the memory device based on the calculated address. Access is started to read data, and when the data valid flag indicates valid, the second data is read from the data holding unit. If the data valid flag indicates invalid, wait for the data valid flag to indicate valid, take out the second data from the data holding means, and store the second data in the register. Executing means for performing the first data based on the specific instruction decoded by the decoding means before the specific instruction is decoded.
An information processing apparatus characterized in that the data is data read as the data.
【請求項7】 実行手段は、特定の命令によって開始さ
れた第1のデータの読み出しのアクセスが終了したとき
に、読み出された前記第1のデータをデータ保持手段に
格納するとともに、データ有効フラグを有効にする動作
を、前記特定の命令に後続する命令の実行と並列に行う
請求項6記載の情報処理装置。
7. The execution means stores the read first data in a data holding means when the read access of the first data started by a specific instruction is completed, and executes the data validity. 7. The information processing apparatus according to claim 6, wherein an operation of validating the flag is performed in parallel with execution of an instruction subsequent to the specific instruction.
【請求項8】 解読手段はさらに、外部から割込み要求
を受けたとき、データ有効フラグが有効を示す場合は、
割込み要求を受理し、前記データ有効フラグが無効を示
す場合は、前記データ有効フラグが有効を示すのを待っ
て、前記割込み要求を受理する請求項6または7記載の
情報処理装置。
8. The decoding means further comprises: when receiving an interrupt request from outside, when the data valid flag indicates valid,
The information processing apparatus according to claim 6, wherein the interrupt request is accepted, and when the data valid flag indicates invalid, the interrupt request is accepted after waiting for the data valid flag to indicate valid.
【請求項9】 解読手段は、割込み要求を受理したと
き、データ保持手段に保持されているデータを前記メモ
リ装置または他のメモリ装置の所定の領域に退避する請
求項8記載の情報処理装置。
9. The information processing apparatus according to claim 8, wherein the decoding means saves the data held in the data holding means to a predetermined area of the memory device or another memory device when receiving the interrupt request.
【請求項10】 少なくともメモリ装置からの第1のデ
ータの読み出しと第2のデータの操作とを指示する特定
の命令を含む命令列から命令を取り出す命令読出し手段
と、 前記メモリ装置から読み出したデータを格納するための
データ保持手段と、 前記命令読み出し手段により読み出された命令を解読す
る解読手段と、 レジスタを含んで成り、前記解読手段により前記特定の
命令が置かれていると解読された場合に、前記第1のデ
ータの読み出しアドレスを計算し、計算されたアドレス
に基づいて前記メモリ装置から前記第1のデータを読み
出すべくアクセスを開始し、前記データ保持手段から前
記第2のデータを取り出して前記命令によって指示され
た演算を行った後に前記レジスタへ格納する実行手段と
を備え、 前記第2のデータは、前記特定の命令が解読される以前
に前記解読手段が解読した前記特定の命令に基づく第1
のデータとして読み出されたデータであることを特徴と
する情報処理装置。
10. An instruction reading means for extracting an instruction from an instruction sequence including a specific instruction for instructing at least reading of first data and operation of second data from a memory device, and data read from the memory device. And a decoding means for decoding the instruction read by the instruction reading means, and a register, wherein the specific instruction is decoded by the decoding means. In this case, a read address of the first data is calculated, access is started to read the first data from the memory device based on the calculated address, and the second data is read from the data holding unit. Executing means for taking out and performing an operation instructed by the instruction and storing the result in the register, wherein the second data is: First the serial particular instruction based on the particular instruction to said decoding means is decrypted before being decrypted
An information processing apparatus characterized in that the data is data read as the data.
【請求項11】 実行手段は、特定の命令によって開始
された第1のデータの読み出しのアクセスが終了したと
きに行われ、読み出された前記第1のデータをデータ保
持手段に格納する動作を、前記特定の命令に後続する命
令の実行と並列に行う請求項10記載の情報処理装置。
11. The execution means, which is executed when the access for reading the first data started by the specific instruction is completed, and stores the read first data in the data holding means. The information processing apparatus according to claim 10, wherein the instruction is executed in parallel with execution of an instruction subsequent to the specific instruction.
【請求項12】 命令の読出しを行う第1のステージ
と、命令の解読を行う第2のステージと、命令によって
指定される演算またはメモリ装置をアクセスするアドレ
ス計算を行う第3のステージと、前記メモリ装置をアク
セスする第4のステージと、命令によって指定される操
作の結果をレジスタに格納する第5のステージとの5つ
のステージを含むパイプライン構造をとる情報処理装置
であって、 命令読出し手段は前記第1のステージにおいて作用し、
解読手段は前記第2のステージにおいて作用し、実行手
段は前記第3から第5のステージにおいて作用し、特に
データ保持手段からの第2のデータの取り出しと演算と
を前記第3のステージで行う請求項10または11記載
の情報処理装置。
12. A first stage for reading an instruction, a second stage for decoding an instruction, a third stage for performing an operation specified by the instruction or an address calculation for accessing a memory device, An information processing apparatus having a pipeline structure including five stages of a fourth stage for accessing a memory device and a fifth stage for storing a result of an operation specified by an instruction in a register, comprising: an instruction reading means. Acts in the first stage,
The decryption means operates in the second stage, and the execution means operates in the third to fifth stages. In particular, the second data is fetched from the data holding means and the operation is performed in the third stage. The information processing device according to claim 10.
【請求項13】 高級言語プログラムから、パイプライ
ン処理を行うプロセッサを対象とする機械命令プログラ
ムを生成する情報処理装置であって、 前記高級言語プログラム中にメモリ装置に割り付けられ
た変数の読み出しを行うコードを検出する読み出しコー
ド検出手段と、 前記コードが検出された場合に、前記変数に割り付けら
れた前記メモリ装置のアドレスを計算し、計算されたア
ドレスに基づいて前記メモリ装置の読み出しアクセスを
開始させる第1の機械命令と、前記アクセスが終了した
ときに読み出されたデータを所定のレジスタに格納する
第2の機械命令とを生成する機械命令生成手段とを備え
た情報処理装置。
13. An information processing apparatus for generating, from a high-level language program, a machine instruction program for a processor performing a pipeline process, reading a variable allocated to a memory device in the high-level language program. Read code detecting means for detecting a code, when the code is detected, calculating an address of the memory device allocated to the variable, and starting a read access of the memory device based on the calculated address. An information processing apparatus comprising: a first machine instruction; and a second machine instruction generating unit configured to generate a second machine instruction for storing data read when the access is completed in a predetermined register.
【請求項14】 機械命令生成手段は、第1の機械命令
と第2の機械命令とを一定命令数だけ離間して生成する
請求項13記載の情報処理装置。
14. The information processing apparatus according to claim 13, wherein the machine instruction generating means generates the first machine instruction and the second machine instruction by separating them by a fixed number of instructions.
【請求項15】 高級言語プログラムから、パイプライ
ン処理を行うプロセッサを対象とする機械命令プログラ
ムを生成する情報処理装置であって、 前記高級言語プログラム中にメモリ装置に割り付けられ
たn個の変数の読み出しを行うコードを検出する読み出
しコード検出手段と、 前記コードが検出された場合に、前記n個の変数に割り
付けられた前記メモリ装置のそれぞれのアドレスを計算
し、計算されたアドレスに基づいて前記メモリ装置の読
み出しアクセスを開始させる第1から第nの機械命令
と、前記第1から第nの機械命令に対応する第1から第
nのアクセスそれぞれについて、アクセスが終了したと
きに読み出されたデータを所定のレジスタに格納する第
(n+1)から第2nの機械命令とを第1から第2nの
順に生成する機械命令生成手段とを備えた情報処理装
置。
15. An information processing apparatus for generating, from a high-level language program, a machine instruction program for a processor performing a pipeline process, wherein the n high-level language program includes n variables assigned to a memory device. Read code detecting means for detecting a code to be read; and, when the code is detected, calculating respective addresses of the memory device allocated to the n variables, based on the calculated address. The first to n-th machine instructions for starting the read access of the memory device and the first to n-th accesses corresponding to the first to n-th machine instructions are read when the access is completed. (N + 1) -th to (2n) -th machine instructions for storing data in a predetermined register, in order from first to (2n) -th The information processing apparatus that includes a command generating unit.
【請求項16】 機械命令生成手段は、1からnまでの
kについて第kの機械命令と第(k+n)の機械命令と
を一定命令数だけ離間して生成する請求項15記載の情
報処理装置。
16. The information processing apparatus according to claim 15, wherein the machine instruction generating means generates the k-th machine instruction and the (k + n) -th machine instruction for k from 1 to n by a fixed number of instructions. .
【請求項17】 高級言語プログラムから、パイプライ
ン処理を行うプロセッサを対象とする機械命令プログラ
ムを生成する情報処理装置であって、 前記高級言語プログラム中にメモリ装置に割り付けられ
た変数の読み出しを行うコードを検出する読み出しコー
ド検出手段と、 前記コードが検出された場合に、前記変数に割り付けら
れた前記メモリ装置のアドレスを計算し、計算されたア
ドレスに基づいて前記メモリ装置の読み出しアクセスを
開始させる第1の機械命令と、前記アクセスが終了した
ときに読み出されたデータに対して然る可き演算を行っ
た後に所定のレジスタに格納する第2の機械命令とを生
成する機械命令生成手段とを備えた情報処理装置。
17. An information processing apparatus for generating, from a high-level language program, a machine instruction program for a processor performing pipeline processing, reading a variable assigned to a memory device in the high-level language program. Read code detecting means for detecting a code, when the code is detected, calculating an address of the memory device allocated to the variable, and starting a read access of the memory device based on the calculated address. Machine instruction generating means for generating a first machine instruction and a second machine instruction to be stored in a predetermined register after performing an appropriate operation on data read when the access is completed An information processing apparatus comprising:
【請求項18】 機械命令生成手段は、第1の機械命令
と第2の機械命令とを一定命令数だけ離間して生成する
請求項17記載の情報処理装置。
18. The information processing apparatus according to claim 17, wherein the machine instruction generating means generates the first machine instruction and the second machine instruction by separating them by a fixed number of instructions.
【請求項19】 機械命令生成手段は、生成された機械
命令プログラムのひとかたまりに対して、前記ひとかた
まりの中の最初の前記第1の機械命令より先行する位置
に、割込み受付を禁止する命令を配置して生成し、前記
ひとかたまりの中の最後の前記第2の機械命令より先行
する位置に、割込み受付を許可する命令を配置して生成
する請求項13、請求項14、請求項17、または請求
項18記載の情報処理装置。
19. A machine instruction generating means arranges an instruction for inhibiting interrupt acceptance at a position preceding a first machine instruction in the group of generated machine instruction programs. And generating an instruction that permits interrupt acceptance at a position preceding the last of the second machine instruction in the group. Item 19. The information processing device according to Item 18.
【請求項20】 パイプライン処理を行うプロセッサに
よって実行される機械命令プログラムを記録した記録媒
体であって、 前記機械命令プログラムは、変数に割り付けられたメモ
リ装置のアドレスを計算し、計算されたアドレスに基づ
いて前記メモリ装置の読み出しアクセスを開始させる第
1の機械命令と、前記アクセスが終了したときに読み出
されたデータを所定のレジスタに格納する第2の機械命
令とを含むことを特徴とする記録媒体。
20. A recording medium recording a machine instruction program executed by a processor that performs pipeline processing, wherein the machine instruction program calculates an address of a memory device allocated to a variable, and calculates the calculated address. A first machine instruction for starting a read access to the memory device based on the first and second machine instructions for storing data read in a predetermined register when the access is completed. Recording medium.
【請求項21】 第1の機械命令と第2の機械命令とが
一定命令数だけ離間して配置されている請求項20記載
の記録媒体。
21. The recording medium according to claim 20, wherein the first machine instruction and the second machine instruction are arranged apart by a fixed number of instructions.
【請求項22】 パイプライン処理を行うプロセッサに
よって実行される機械命令プログラムを記録した記録媒
体であって、 前記機械命令プログラムは、n個の変数に割り付けられ
たメモリ装置のそれぞれのアドレスを計算し、計算され
たアドレスに基づいて前記メモリ装置の読み出しアクセ
スを開始させる第1から第nの機械命令と、前記第1か
ら第nの機械命令に対応する第1から第nのアクセスそ
れぞれについて、アクセスが終了したときに読み出され
たデータを所定のレジスタに格納する第(n+1)から
第2nの機械命令とを第1から第2nの順に含むことを
特徴とする記録媒体。
22. A recording medium recording a machine instruction program executed by a processor that performs pipeline processing, wherein the machine instruction program calculates respective addresses of a memory device allocated to n variables. A first to an n-th machine instruction for starting a read access of the memory device based on the calculated address, and a first to an n-th access corresponding to the first to the n-th machine instruction. A (n + 1) -th to (2n) -th machine instruction for storing data read in a predetermined register when the processing is completed, in the order of first to second n.
【請求項23】 1からnまでのkについて、第kの機
械命令と第(k+n)の機械命令とが一定命令数だけ離
間して配置されている請求項22記載の記録媒体。
23. The recording medium according to claim 22, wherein, for k from 1 to n, a k-th machine instruction and a (k + n) -th machine instruction are spaced apart by a fixed number of instructions.
【請求項24】 パイプライン処理を行うプロセッサに
よって実行される機械命令プログラムを記録した記録媒
体であって、 前記機械命令プログラムは、変数に割り付けられたメモ
リ装置のアドレスを計算し、計算されたアドレスに基づ
いて前記メモリ装置の読み出しアクセスを開始させる第
1の機械命令と、前記アクセスが終了したときに読み出
されたデータに対して然る可き演算を行った後に所定の
レジスタに格納する第2の機械命令とを含むことを特徴
とする記録媒体。
24. A recording medium recording a machine instruction program executed by a processor performing pipeline processing, wherein the machine instruction program calculates an address of a memory device assigned to a variable, and calculates the calculated address. A first machine instruction for starting a read access of the memory device based on the first and second instructions, and performing a proper operation on the read data when the access is completed, and storing the result in a predetermined register. Recording medium comprising: a second machine instruction.
【請求項25】 第1の機械命令と第2の機械命令とが
一定命令数だけ離間して配置されている請求項24記載
の記録媒体。
25. The recording medium according to claim 24, wherein the first machine instruction and the second machine instruction are spaced apart by a fixed number of instructions.
【請求項26】 機械命令プログラムのひとかたまりに
対して、前記ひとかたまりの中の最初の第1の機械命令
より先行する位置に、割込み受付を禁止する命令が配置
され、前記ひとかたまりの中の最後の第2の機械命令よ
り先行する位置に、割込み受付を許可する命令が配置さ
れている請求項20、請求項21、請求項24、または
請求項25記載の記録媒体。
26. An instruction for inhibiting acceptance of an interrupt is arranged at a position preceding a first first machine instruction in the group of machine instruction programs, and the last one of the group of machine instruction programs is arranged in the group. 26. The recording medium according to claim 20, wherein an instruction for permitting interrupt reception is arranged at a position preceding the second machine instruction.
JP00380698A 1998-01-12 1998-01-12 Information processing device Expired - Fee Related JP3739556B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP00380698A JP3739556B2 (en) 1998-01-12 1998-01-12 Information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP00380698A JP3739556B2 (en) 1998-01-12 1998-01-12 Information processing device

Publications (2)

Publication Number Publication Date
JPH11203136A true JPH11203136A (en) 1999-07-30
JP3739556B2 JP3739556B2 (en) 2006-01-25

Family

ID=11567446

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00380698A Expired - Fee Related JP3739556B2 (en) 1998-01-12 1998-01-12 Information processing device

Country Status (1)

Country Link
JP (1) JP3739556B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002101562A1 (en) * 2001-06-12 2002-12-19 Tops Systems Corporation Multiprocessor system and signal processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002101562A1 (en) * 2001-06-12 2002-12-19 Tops Systems Corporation Multiprocessor system and signal processor

Also Published As

Publication number Publication date
JP3739556B2 (en) 2006-01-25

Similar Documents

Publication Publication Date Title
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
US8171266B2 (en) Look-ahead load pre-fetch in a processor
US20010005882A1 (en) Circuit and method for initiating exception routines using implicit exception checking
JP2003085000A (en) Trace information generating apparatus and method
US6301654B1 (en) System and method for permitting out-of-order execution of load and store instructions
CN111159062A (en) Cache data scheduling method and device, CPU chip and server
JP3130446B2 (en) Program conversion device and processor
JP2773471B2 (en) Information processing device
US6189093B1 (en) System for initiating exception routine in response to memory access exception by storing exception information and exception bit within architectured register
KR0163179B1 (en) Data processor
JPH07120284B2 (en) Data processing device
JP3739556B2 (en) Information processing device
JP2008299729A (en) Processor
US6016544A (en) Apparatus and method for tracking changes in address size and for different size retranslate second instruction with an indicator from address size
JP3490005B2 (en) Instruction control apparatus and method
KR100300875B1 (en) How to deal with cache misses
JP2532560B2 (en) Data processing device for high-performance exception handling
JP2915680B2 (en) RISC processor
JP2503223B2 (en) Prior control method
JPH07182165A (en) Method and apparatus for processing instruction with commit condition
KR100635111B1 (en) Branch processor with assignable delay slots and squashing conditions
JP3493110B2 (en) High-speed branch processing unit
JP2856703B2 (en) Processor
JP2545594B2 (en) Operand data prefetching method
JPH1040106A (en) Function type language processor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041006

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050830

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051006

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051101

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051102

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

Free format text: PAYMENT UNTIL: 20091111

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091111

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101111

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111111

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121111

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees