[go: up one dir, main page]

JPH11203133A - Information processing device - Google Patents

Information processing device

Info

Publication number
JPH11203133A
JPH11203133A JP201098A JP201098A JPH11203133A JP H11203133 A JPH11203133 A JP H11203133A JP 201098 A JP201098 A JP 201098A JP 201098 A JP201098 A JP 201098A JP H11203133 A JPH11203133 A JP H11203133A
Authority
JP
Japan
Prior art keywords
instruction
bus
data
words
read
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.)
Pending
Application number
JP201098A
Other languages
Japanese (ja)
Inventor
Takao Yamamoto
崇夫 山本
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 JP201098A priority Critical patent/JPH11203133A/en
Publication of JPH11203133A publication Critical patent/JPH11203133A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【課題】 少ないハードウェアで、複数語のデータの組
に対して繰り返し演算を行なうことができる情報処理装
置を提供する。 【解決手段】 情報処理装置は、命令フェッチ部1に接
続される第1の記憶部から命令をフェッチし、命令実行
部2に接続される第2の記憶部4に対してデータを読み
書きする構成をとり、複数語の即値を持つ命令を実行す
る際に、複数の即値は、通常の命令フェッチ機構を用い
て第1の記憶部3からフェッチし、他方のデータは、命
令によって指定されるアドレスに対して第2の記憶部4
からデータを読み出し、命令によって指定される演算を
それぞれのデータの組に対して実行することにより、複
数のデータに対する繰り返し演算を効率良く実行でき
る。
(57) [Problem] To provide an information processing apparatus capable of repeatedly performing an operation on a data set of a plurality of words with a small amount of hardware. An information processing apparatus fetches an instruction from a first storage unit connected to an instruction fetch unit, and reads and writes data from and to a second storage unit connected to an instruction execution unit. When executing an instruction having an immediate value of a plurality of words, the plurality of immediate values are fetched from the first storage unit 3 using a normal instruction fetch mechanism, and the other data is stored in an address specified by the instruction. For the second storage unit 4
By reading data from the data and executing the operation specified by the instruction on each set of data, it is possible to efficiently execute a repeated operation on a plurality of data.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、複数のメモリ上の
複数のデータを並列にアクセスし、それらのデータをオ
ペランドとして演算をすることによって、演算を高速に
行なう情報処理装置に関する。
[0001] 1. Field of the Invention [0002] The present invention relates to an information processing apparatus for performing a high-speed operation by accessing a plurality of data in a plurality of memories in parallel and performing an operation using the data as an operand.

【0002】[0002]

【従来の技術】複数のメモリ上のデータをそれぞれのメ
モリに接続された複数のバス(内部データバスと内部プ
ログラムバス)を用いてアクセスし、アクセスされたデ
ータをオペランドとして、主に積和演算等を行う情報処
理装置が、特開平7−49854号公報に開示されてい
る。
2. Description of the Related Art Data on a plurality of memories is accessed using a plurality of buses (an internal data bus and an internal program bus) connected to the respective memories, and the accessed data is mainly used as a product-sum operation. An information processing apparatus for performing such operations is disclosed in JP-A-7-49854.

【0003】この情報処理装置においては、プログラム
バスに接続される第2のメモリは、命令メモリまたはデ
ータメモリとして動作し、MOVE命令の実行により、
外部メモリから、第2のメモリへ命令語のブロックをロ
ードすることや、内部データバスと内部プログラムバス
の両方を用いてオペランドを乗算器へ移送し、その間に
積和演算を行なうMACD命令を持つので高速に積和演
算を実行することができる。さらに、単一命令の繰り返
し命令とMACD命令を組合せて使用することにより、
積和演算とオペランドの読み出しを重ねて実行すること
ができるので、高速にフィルタ処理などを行うことがで
きるという特徴を持つ。
In this information processing apparatus, a second memory connected to a program bus operates as an instruction memory or a data memory, and by executing a MOVE instruction,
It has a MACD instruction for loading a block of instructions from an external memory to a second memory, transferring operands to a multiplier using both an internal data bus and an internal program bus, and performing a multiply-accumulate operation between them. Therefore, the product-sum operation can be executed at high speed. Furthermore, by using a combination of a single instruction repeat instruction and a MACD instruction,
Since the product-sum operation and the reading of the operand can be performed in a superimposed manner, the feature is that the filtering process and the like can be performed at high speed.

【0004】[0004]

【発明が解決しようとする課題】しかし、上述の情報処
理装置においては、プログラムバスへのデータアクセス
時には、プログラムカウンタに保持される命令フェッチ
に用いるプログラムアドレスをスタックに退避し、プロ
グラムバスへのデータアクセスに用いるデータアドレス
をプログラムカウンタにロードして、データアクセスを
行なう。データアクセス終了後に、スタックから、命令
フェッチに用いるプログラムアドレスを復帰するという
動作が必要である。したがって、情報処理装置内にプロ
グラムカウンタのスタックを持つ必要があり、ハードウ
ェア規模を増大させるばかりか、制御を複雑にするとい
う問題がある。
However, in the above-described information processing apparatus, when accessing data to the program bus, the program address used for fetching an instruction held in the program counter is saved on the stack, and the data to the program bus is saved. The data address used for the access is loaded into the program counter to perform the data access. After the data access is completed, an operation of returning a program address used for instruction fetch from the stack is required. Therefore, it is necessary to have a stack of the program counter in the information processing apparatus, which causes a problem that not only increases the hardware scale but also complicates the control.

【0005】したがって、本発明は、上記課題に鑑みて
なされ、その目的は、少ないハードウェアで、複数語の
データの組に対して繰り返し演算を行なうことができる
情報処理装置を提供することにある。
SUMMARY OF THE INVENTION Accordingly, it is an object of the present invention to provide an information processing apparatus capable of repeatedly performing an operation on a data set of a plurality of words with a small amount of hardware. .

【0006】[0006]

【課題を解決するための手段】この課題を解決するため
請求項1記載の本発明の情報処理装置は、命令フェッチ
部によって第1のバスを使用して、第1の記憶部から命
令を読み出し、命令実行部は、実行する命令によって、
データを第2のバスを使用して、第2の記憶部から読み
出し、命令実行部内の演算器を使用して演算するように
構成された情報処理装置であって、命令の種類を示すオ
ペコード以外に、少くとも複数語の即値を持ち、その複
数語の即値を第1のバスを使用して読み出し、オペコー
ドによって指定された複数語のデータを第2のバスを使
用して読み出し、複数語の即値と第2のバスを使用して
読み出した複数語のデータとの間で演算を行う命令を実
行するように構成したものである。これにより、2つの
複数語のデータを繰り返し演算の入力データとすること
ができる。
According to a first aspect of the present invention, there is provided an information processing apparatus for reading an instruction from a first storage unit using a first bus by an instruction fetch unit. , The instruction execution unit, depending on the instruction to be executed,
An information processing apparatus configured to read data from a second storage unit using a second bus and to perform an arithmetic operation using an arithmetic unit in an instruction execution unit, wherein the information processing device does not include an operation code indicating an instruction type. Having an immediate value of at least a plurality of words, reading the immediate value of the plurality of words using the first bus, reading the data of the plurality of words specified by the operation code using the second bus, It is configured to execute an instruction for performing an operation between an immediate value and data of a plurality of words read using the second bus. As a result, the data of two words can be used as input data for the repetitive operation.

【0007】請求項2記載の本発明の情報処理装置は、
請求項1記載の命令フェッチ部は、後続の命令を先行的
に第1のバスから読み出す命令プリフェッチ手段と、命
令プリフェッチ手段によって先行的に読み出された命令
を保持する命令バッファを備え、命令の種類を示すオペ
コード以外に、少くとも複数語の即値を持ち、その複数
語の即値とオペコードによって指定されたデータとの間
で演算を行う命令の実行において、複数語の即値は、先
行的に命令プリフェッチ手段によって読み出され、命令
バッファに保持され、命令バッファから命令実行部に供
給され演算を行うように構成したものである。これによ
り、効率良く複数語の即値を命令実行部に供給すること
ができる。
According to a second aspect of the present invention, there is provided an information processing apparatus comprising:
An instruction fetch unit according to claim 1, further comprising: an instruction prefetch means for reading a subsequent instruction from a first bus in advance; and an instruction buffer for holding an instruction read in advance by the instruction prefetch means; In addition to the operation code indicating the type, when executing an instruction that has an immediate value of at least a plurality of words and performs an operation between the immediate value of the plurality of words and the data specified by the operation code, the immediate value of the multi-word The data is read out by the prefetch means, held in the instruction buffer, and supplied from the instruction buffer to the instruction execution unit to perform the operation. Thereby, immediate values of a plurality of words can be efficiently supplied to the instruction execution unit.

【0008】請求項3記載の本発明の情報処理装置は、
請求項2記載の情報処理装置であって、命令を読み出す
第1のバスのバス幅は、データをアクセスする第2のバ
スのバス幅より大きく、かつ、第1のバスのアクセス時
間は、第2のバスのアクセス時間より長いように構成し
たものである。これにより、アクセス時間の長い記憶部
から、効率良く複数語の即値を命令実行部に供給するこ
とができる。
According to a third aspect of the present invention, there is provided an information processing apparatus comprising:
3. The information processing apparatus according to claim 2, wherein a bus width of the first bus for reading the instruction is larger than a bus width of the second bus for accessing the data, and the access time of the first bus is equal to or smaller than the first bus. 2 is longer than the access time of the second bus. As a result, immediate values of a plurality of words can be efficiently supplied to the instruction execution unit from the storage unit having a long access time.

【0009】[0009]

【発明の実施の形態】以下、本発明の第1の実施の形態
について、図1、図2、図3を用いて、説明する。図1
は、本発明の第1の実施の形態における情報処理装置を
構成する主要部分のブロック図を示している。図1にお
いて、1は命令フェッチ部、2は命令実行部、3、4は
それぞれ記憶部、5、6はそれぞれバスである。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a first embodiment of the present invention will be described with reference to FIGS. FIG.
1 shows a block diagram of a main part constituting an information processing apparatus according to the first embodiment of the present invention. In FIG. 1, 1 is an instruction fetch unit, 2 is an instruction execution unit, 3 and 4 are storage units, and 5 and 6 are buses.

【0010】命令フェッチ部1は、バス5と接続し、バ
ス5には、記憶部3が接続されている。命令フェッチ部
1は、命令実行部2からの要求に対してバス5に命令ア
ドレスを出力して命令フェッチを開始する。記憶部3は
バス5の命令アドレスに対応する位置にある命令をバス
5に出力する。命令フェッチ部1は、バス5に出力され
た命令を受け取り、命令実行部2に命令を供給する。
The instruction fetch unit 1 is connected to a bus 5, and the storage unit 3 is connected to the bus 5. The instruction fetch unit 1 outputs an instruction address to the bus 5 in response to a request from the instruction execution unit 2, and starts instruction fetch. The storage unit 3 outputs an instruction at a position corresponding to the instruction address on the bus 5 to the bus 5. The instruction fetch unit 1 receives an instruction output to the bus 5 and supplies the instruction to the instruction execution unit 2.

【0011】命令実行部2は、命令フェッチ部1から供
給された命令を解釈し、命令によって示される演算等を
行なう。演算は、例えば、命令実行部2内のレジスタか
らデータを読み出し、命令実行部2内の加算器によって
加算を行ない、加算結果をレジスタに書き込むものであ
る。また、命令実行部2は、命令実行部2外の記憶部4
とのデータのやりとりをする命令を実行する。この命令
により、命令実行部2は、例えば、レジスタを読み出
し、読み出したデータをデータアドレスとしてバス6に
出力してデータアクセスを開始し、バス6を介して接続
される記憶部4は、バス6に出力されたデータアドレス
が示す位置のデータをバス6に出力し、命令実行部2
は、バス6に出力されたデータを命令実行部2内のレジ
スタに書き込むように動作するか、レジスタを読み出
し、読み出したデータをデータアドレスとしてバス6に
出力してデータアクセスを開始し、更に、レジスタを読
み出し、読み出したデータを書き込みデータとしてバス
6に出力して、記憶部4は、バス6に出力されたデータ
アドレスが示す位置に、バス6に出力された書き込みデ
ータを書き込むように動作する。
The instruction execution unit 2 interprets the instruction supplied from the instruction fetch unit 1 and performs an operation indicated by the instruction. The operation is, for example, reading data from a register in the instruction execution unit 2, performing addition by an adder in the instruction execution unit 2, and writing the addition result to the register. Further, the instruction execution unit 2 includes a storage unit 4 outside the instruction execution unit 2.
Executes an instruction to exchange data with In response to this instruction, the instruction execution unit 2 reads, for example, a register, outputs the read data to the bus 6 as a data address to start data access, and the storage unit 4 connected via the bus 6 Is output to the bus 6 at the position indicated by the data address output to the
Operates to write the data output to the bus 6 to the register in the instruction execution unit 2 or reads the register, outputs the read data to the bus 6 as a data address, and starts data access. The register is read, and the read data is output to the bus 6 as write data. The storage unit 4 operates to write the write data output to the bus 6 at a position indicated by the data address output to the bus 6. .

【0012】図2は、本発明の第1の実施の形態におい
て、複数語の即値を持ち、その複数語の即値をバス5を
使用して読み出し、オペコードによって指定された複数
語のデータをバス6を使用して読み出し、複数語の即値
とバス6を使用して読み出した複数語のデータとの間で
演算を行う命令の構成を示すものである。図2におい
て、200は命令、201はオペコード、202はオペ
ランド、210〜213は即値をそれぞれ示す。
FIG. 2 shows a first embodiment of the present invention, which has an immediate value of a plurality of words, reads out the immediate values of the plurality of words using a bus 5, and reads data of a plurality of words specified by an operation code on a bus. 6 shows the configuration of an instruction for performing an operation between an immediate value of a plurality of words and data of a plurality of words read using the bus 6. In FIG. 2, reference numeral 200 denotes an instruction, 201 denotes an operation code, 202 denotes an operand, and 210 to 213 denote immediate values.

【0013】オペコード201は、この命令200が持
つ複数語の即値210〜213の数、つまり繰り返し演
算回数、データの語長、演算の種類、オペランド202
の種類などの情報を示す。オペランド202は、複数語
の即値210〜213に対して演算に用いられるデータ
を示す。例えば、バス6を介してアクセスされる記憶部
4に格納されている複数語のデータの先頭アドレスを保
持するレジスタ番号か、命令実行部2内の複数のレジス
タ番号などである。ここでは、説明のために、記憶部4
に格納されている複数語のデータの先頭アドレスを保持
するレジスタ番号をオペランド202として指定するも
のとし、即値の数は4とする。
The operation code 201 includes the number of immediate values 210 to 213 of a plurality of words included in the instruction 200, that is, the number of repetition operations, the data word length, the type of operation, and the operand 202.
Indicates information such as the type of The operand 202 indicates data used for an operation on the immediate values 210 to 213 of a plurality of words. For example, it is a register number that holds a start address of data of a plurality of words stored in the storage unit 4 accessed via the bus 6 or a plurality of register numbers in the instruction execution unit 2. Here, for the sake of explanation, the storage unit 4
Is specified as an operand 202, and the number of immediate values is four.

【0014】図3は、本発明の第1の実施の形態におい
て、図2に示した4語の即値210〜213を持ち、そ
の4語の即値210〜213をバス5を使用して読み出
し、オペランド202によって指定された4語のデータ
をバス6を使用して読み出し、4語の即値210〜21
3とバス6を使用して読み出した4語のデータとの間で
演算を行う命令200の実行を示すタイミングチャート
である。
FIG. 3 shows, in the first embodiment of the present invention, the four word immediate values 210 to 213 shown in FIG. 2, and the four word immediate values 210 to 213 are read out using the bus 5, The 4-word data specified by the operand 202 is read using the bus 6 and the 4-word immediate values 210 to 21 are read.
6 is a timing chart showing the execution of an instruction 200 for performing an operation between data 3 and data of four words read using the bus 6.

【0015】図3において、図1と同一物には同一符号
を付してあり、300はクロックサイクル番号を示すサ
イクル、301は命令実行部2が実行中の命令のアドレ
スを示すPC、302、303、304は演算器入力、
305は演算器出力である。説明のために、演算器は積
和演算器とし、演算器入力304は、積和レジスタの出
力とする。
In FIG. 3, the same components as those in FIG. 1 are denoted by the same reference numerals, 300 is a cycle indicating a clock cycle number, 301 is a PC indicating the address of an instruction being executed by the instruction execution unit 2, 302, 303 and 304 are arithmetic unit inputs,
305 is an arithmetic unit output. For the sake of explanation, the arithmetic unit is a product-sum arithmetic unit, and the arithmetic unit input 304 is the output of the product-sum register.

【0016】以下、図1〜図3を用いて、本発明の第1
の実施の形態における情報処理装置が4語の即値210
〜213を持ち、その4語の即値210〜213をバス
5を使用して読み出し、オペランド202によって指定
された4語のデータをバス6を使用して読み出し、4語
の即値210〜213と、バス6を使用して読み出した
4語のデータとの間で演算を行う命令200を実行する
動作を説明する。
Hereinafter, the first embodiment of the present invention will be described with reference to FIGS.
The information processing apparatus according to the embodiment has an immediate value 210 of four words.
213, the four word immediate values 210 to 213 are read out using the bus 5, the four word data specified by the operand 202 are read out using the bus 6, and the four word immediate values 210 to 213 are obtained. An operation of executing an instruction 200 for performing an operation with four-word data read using the bus 6 will be described.

【0017】図3において、サイクル1では、バス5に
命令Aのアクセスが行われ、記憶部3から命令Aの先頭
語が読み出されている。ここで命令Aは、4個の即値を
持ち、オペランド202で指定されたアドレスから4個
のデータを読み出し、それぞれの4個のデータと即値2
10〜213の対に対して乗算を行ない、積和レジスタ
の値に累算を行なう命令である。
In FIG. 3, in cycle 1, the instruction A is accessed on the bus 5 and the head word of the instruction A is read from the storage unit 3. Here, the instruction A has four immediate values, reads four data from the address specified by the operand 202, and stores the four data and the immediate two
This is an instruction for multiplying 10 to 213 pairs and performing accumulation on the value of the product-sum register.

【0018】サイクル2においては、命令Aの先頭語
は、命令フェッチ部1によって、命令実行部2に供給さ
れるとともに、命令Aの2番目の語のフェッチを行う。
ここでは、説明のために、命令Aの先頭語には、図2に
示した命令200のオペコード201とオペランド20
2が含まれている。ここで、命令実行部2は、命令Aの
オペコードをデコードし、命令Aが、オペランド202
で示されるアドレスPを先頭とする4語のデータと、命
令Aの4個の即値210〜213に対して、積和演算を
実行する命令であることを認識し、命令フェッチ部1に
命令Aの第1の即値210を要求し、かつ、バス6にア
ドレスがPであるデータ語の読み出しを要求する。命令
フェッチ部1は、バス5にアドレスA+1の第1の即値
210の読み出しを要求する。
In cycle 2, the first word of instruction A is supplied to instruction execution unit 2 by instruction fetch unit 1, and the second word of instruction A is fetched.
Here, for the sake of explanation, the first word of the instruction A includes the opcode 201 and the operand 20 of the instruction 200 shown in FIG.
2 is included. Here, the instruction execution unit 2 decodes the operation code of the instruction A, and the instruction A
The instruction fetch unit 1 recognizes that an instruction to execute a multiply-accumulate operation is performed on the four words of data starting from the address P indicated by and the four immediate values 210 to 213 of the instruction A. Of the data word whose address is P is requested from the bus 6. The instruction fetch unit 1 requests the bus 5 to read the first immediate value 210 of the address A + 1.

【0019】サイクル3においては、命令実行部2は、
サイクル2において、バス5に読み出された命令Aの第
1の即値210を演算器入力302に入力し、バス6に
読み出されたアドレスPのデータ語を演算器入力303
に入力し、積和レジスタの値Qを演算器入力304に入
力し、積和演算を実行する。積和演算結果は、演算器出
力305に次のサイクルで出力される。積和演算結果R
は、サイクル4の積和レジスタの値Q+1に出力され
る。
In cycle 3, the instruction execution unit 2
In cycle 2, the first immediate value 210 of the instruction A read to the bus 5 is input to the arithmetic unit input 302, and the data word of the address P read to the bus 6 is input to the arithmetic unit input 303.
, And the value Q of the sum-of-products register is input to the calculator input 304 to execute the sum-of-products operation. The product-sum operation result is output to the calculator output 305 in the next cycle. Product-sum operation result R
Is output to the value Q + 1 of the product-sum register in cycle 4.

【0020】サイクル4、5においては、バス5、バス
6のそれぞれに対する読み出し要求のアドレスがインク
リメントされることを除いて、サイクル3と同様の動作
を行なう。
In cycles 4 and 5, the same operation as in cycle 3 is performed except that the address of the read request for each of buses 5 and 6 is incremented.

【0021】サイクル6においては、命令実行部2は、
命令Aの終了を検出して、命令フェッチ部1に命令Aの
次の命令Bのアクセス要求を行い。サイクル5におい
て、バス5に読み出された命令Aの第4の即値213を
演算器入力302に入力し、バス6に読み出されたアド
レスP+3のデータ語を演算器入力303に入力し、積
和レジスタの値を演算器入力304に入力し、積和演算
を実行する。
In cycle 6, the instruction execution unit 2
Upon detecting the end of the instruction A, the access request for the instruction B following the instruction A is made to the instruction fetch unit 1. In cycle 5, the fourth immediate value 213 of the instruction A read to the bus 5 is input to the arithmetic unit input 302, the data word of the address P + 3 read to the bus 6 is input to the arithmetic unit input 303, and the product The value of the sum register is input to the arithmetic unit input 304 to execute a product-sum operation.

【0022】命令Aの演算結果は、サイクル7の演算器
出力305にR+3として出力され、積和レジスタにそ
の値が書き込まれて命令Aの実行が完了する。
The result of the operation of the instruction A is output as R + 3 to the operation unit output 305 in cycle 7, and the value is written to the product-sum register, thereby completing the execution of the instruction A.

【0023】以上、説明したように、本発明の第1の実
施の形態の情報処理装置は、4語の即値210〜213
を持ち、その4語の即値210〜213をバス5を使用
して読み出し、オペランド202によって指定された4
語のデータをバス6を使用して読み出し、4語の即値2
10〜213とバス6を使用して読み出した4語のデー
タと積和レジスタを用いて積和演算を行う命令200を
高速に実行することができる。
As described above, the information processing apparatus according to the first embodiment of the present invention has four word immediate values 210 to 213.
And read the immediate values 210 to 213 of the four words using the bus 5 and
Read word data using bus 6, read 4 word immediate data 2
The instruction 200 for performing the product-sum operation using the product-sum register and the 4-word data read using the buses 6 and 10 to 213 can be executed at high speed.

【0024】なお、当然ではあるが、上述の命令200
の実行において、4語の即値210〜213の読み出し
は、4語の即値210〜213が命令200の一部を構
成するので、命令フェッチ部1内の後続の命令フェッチ
アドレスをカウントアップする命令フェッチカウンタ
を、そのまま使用して行なうことが可能であるので、命
令フェッチカウンタを退避するスタックを必要としな
い。
It should be understood that the above-described instruction 200
Is executed, the four words of the immediate values 210 to 213 are read out because the four words of the immediate values 210 to 213 form a part of the instruction 200. Therefore, the instruction fetch for counting up the subsequent instruction fetch address in the instruction fetch unit 1 is performed. Since the counter can be used as it is, a stack for saving the instruction fetch counter is not required.

【0025】以下、本発明の第2の実施の形態の情報処
理装置について、図2、図4、図5を用いて説明する。
Hereinafter, an information processing apparatus according to a second embodiment of the present invention will be described with reference to FIGS. 2, 4 and 5.

【0026】図4は、本発明の第2の実施の形態の情報
処理装置を構成する主要部分のブロック図を示してい
る。図4において、図1と同一物には同一符号を付して
ある。図4において、10は命令プリフェッチ手段、1
1は命令バッファ、12は命令バッファ出力である。
FIG. 4 is a block diagram showing a main part of an information processing apparatus according to a second embodiment of the present invention. 4, the same components as those in FIG. 1 are denoted by the same reference numerals. In FIG. 4, reference numeral 10 denotes an instruction prefetch unit;
1 is an instruction buffer, and 12 is an instruction buffer output.

【0027】図5は、本発明の第2の実施の形態におい
て、図2に示した4語の即値210〜213を持ち、そ
の4語の即値210〜213をバス5を使用して読み出
し、オペランド202によって指定された4語のデータ
をバス6を使用して読み出し、4語の即値210〜21
3とバス6を使用して読み出した4語のデータとの間で
演算を行う命令200の実行を示すタイミングチャート
である。図5において、図3および図4と同一物には同
一符号を付してある。図5において、命令バッファ11
A、及び命令バッファ11Bは、命令バッファ11の内
部の2語のそれぞれの命令バッファの内容を示す。
FIG. 5 shows, in the second embodiment of the present invention, the four-word immediate values 210 to 213 shown in FIG. The 4-word data specified by the operand 202 is read using the bus 6 and the 4-word immediate values 210 to 21 are read.
6 is a timing chart showing the execution of an instruction 200 for performing an operation between data 3 and data of four words read using the bus 6. 5, the same components as those in FIGS. 3 and 4 are denoted by the same reference numerals. In FIG. 5, the instruction buffer 11
A and the instruction buffer 11B indicate the contents of the instruction buffers of two words inside the instruction buffer 11, respectively.

【0028】以下、本発明の第2の実施の形態の情報処
理装置が、図2に示した4語の即値210〜213を持
ち、その4語の即値210〜213をバス5を使用して
読み出し、オペランド202によって指定された4語の
データをバス6を使用して読み出し、4語の即値210
〜213とバス6を使用して読み出した4語のデータと
の間で演算を行う命令200の形式の命令Aを実行する
動作について説明する。
Hereinafter, the information processing apparatus according to the second embodiment of the present invention has the four-word immediate values 210 to 213 shown in FIG. Read, read four word data specified by operand 202 using bus 6, read four word immediate value 210
An operation of executing an instruction A in the form of an instruction 200 for performing an operation between .about.213 and four-word data read using the bus 6 will be described.

【0029】第2の実施の形態の情報処理装置におい
て、バス5に接続される記憶部3は、2バスサイクルで
1つのアクセスを行うものである。ただし、1アクセス
で2語を読み出すことができるように構成されている。
つまり、バス5のバス幅は、バス6のバス幅より大き
く、バス5のアクセス時間は、バス6のバスアクセス時
間より長いように構成されている。
In the information processing apparatus according to the second embodiment, the storage unit 3 connected to the bus 5 performs one access in two bus cycles. However, the configuration is such that two words can be read by one access.
That is, the bus width of the bus 5 is larger than the bus width of the bus 6, and the access time of the bus 5 is longer than the bus access time of the bus 6.

【0030】これは、特に機器制御用汎用プロセッサな
どで、内蔵ROMを命令メモリと使用する場合には、デ
ータRAMに比べてアクセス速度を向上させることが難
しい場合に良く用いられる構成であるが、これが本発明
を限定するものではない。また、バス5を用いて読み出
された2語は、命令バッファ11に保持され、必要に応
じて命令バッファ出力12から命令実行部2へ選択的に
出力される。
This is a configuration that is often used when it is difficult to improve the access speed compared to the data RAM, especially when the built-in ROM is used as an instruction memory in a general-purpose processor for device control or the like. This is not a limitation of the present invention. The two words read using the bus 5 are stored in the instruction buffer 11 and selectively output from the instruction buffer output 12 to the instruction execution unit 2 as needed.

【0031】図5において、サイクル1及び2において
は、バス5を用いて命令Sとその後続命令のS+1が読
み出される。
In FIG. 5, in cycles 1 and 2, the instruction S and its subsequent instruction S + 1 are read out using the bus 5.

【0032】サイクル3においては、命令Sと後続の命
令S+1が命令バッファ11A及び命令バッファ11B
に格納され、命令Sが命令実行部2に出力され、命令S
の解読及び実行が開始される。また、命令S+1の後続
命令である命令Aの先頭の2語の読み出しが開始され
る。
In cycle 3, the instruction S and the succeeding instruction S + 1 are sent to the instruction buffer 11A and the instruction buffer 11B.
And the instruction S is output to the instruction execution unit 2 and the instruction S
Decryption and execution are started. Also, the reading of the first two words of the instruction A, which is the instruction following the instruction S + 1, is started.

【0033】サイクル4においては、命令S+1が命令
実行部2に出力され、命令S+1の解読及び実行が開始
される。また、サイクル3で開始されたバス5の読み出
しアクセスが完了する。
In cycle 4, the instruction S + 1 is output to the instruction execution unit 2, and the decoding and execution of the instruction S + 1 are started. Further, the read access to the bus 5 started in cycle 3 is completed.

【0034】サイクル5においては、命令Aと後続の即
値A+1が命令バッファ11A及び命令バッファ11B
に格納され、命令Aが命令実行部2に出力され、命令A
の実行が開始される。命令実行部は、命令Aのオペラン
ドで示されるアドレスPに対する読み出しをバス6に要
求する。また、命令フェッチ部1は、命令Aの後続部分
であるA+2以降の語の読み出しを開始する。
In cycle 5, the instruction A and the subsequent immediate value A + 1 are stored in the instruction buffer 11A and the instruction buffer 11B.
And the instruction A is output to the instruction execution unit 2 and the instruction A
Is started. The instruction execution unit requests the bus 6 to read the address P indicated by the operand of the instruction A. Further, the instruction fetch unit 1 starts reading words following A + 2, which is the subsequent part of the instruction A.

【0035】サイクル6においては、命令実行部2は、
命令バッファ出力12の第1の即値を演算器入力302
に入力し、バス6に読み出されたアドレスPのデータ語
を演算器入力303に入力し、積和レジスタの値Qを演
算器入力304に入力し、積和演算を実行する。積和演
算結果は、演算器出力305に次のサイクルで出力され
る。積和演算結果Rは、サイクル7の積和レジスタの値
Q+1に出力される。
In cycle 6, the instruction execution unit 2
The first immediate value of the instruction buffer output 12 is input to the arithmetic unit input 302.
, And the data word of the address P read to the bus 6 is input to the arithmetic unit input 303, the value Q of the product-sum register is input to the arithmetic unit input 304, and the product-sum operation is executed. The product-sum operation result is output to the calculator output 305 in the next cycle. The product-sum operation result R is output as the value Q + 1 of the product-sum register in cycle 7.

【0036】以下、同様に命令Aの実行を行なうことが
できる。ここで、命令Aが4語の即値を持つ命令である
ので、サイクル3からバス5に対して行なわれた命令フ
ェッチによって、命令バッファ11にフェッチされた第
1の即値をサイクル6で演算に使用することができる。
Thereafter, the execution of instruction A can be performed in the same manner. Here, since the instruction A is an instruction having an immediate value of 4 words, the first immediate value fetched in the instruction buffer 11 by the instruction fetch performed on the bus 5 from the cycle 3 is used for the operation in the cycle 6 can do.

【0037】しかし、もし、即値でなく、第2のオペラ
ンドによって指定される複数語をバス5からフェッチす
る構成の命令であると、少くとも命令Aのオペコードの
デコード後、つまり、サイクル5から、その第2のオペ
ランドによって指定されるアドレスに対するアクセスを
開始することになるので、オペランドが揃って演算可能
になるのがサイクル7になってしまい、無駄なサイクル
が必要となってしまう。また、先行的にフェッチした命
令A+1を破棄する場合は、余分な命令フェッチアクセ
スを必要とするので消費電力を増加させることにもな
る。
However, if the instruction is not an immediate value but an instruction configured to fetch a plurality of words specified by the second operand from the bus 5, at least after decoding the operation code of the instruction A, that is, from cycle 5, Since the access to the address specified by the second operand is started, the operation can be performed with all the operands in cycle 7, and a useless cycle is required. Further, when the instruction A + 1 fetched earlier is discarded, an extra instruction fetch access is required, so that the power consumption is increased.

【0038】したがって、命令Aが4語の即値を持つ命
令であることが、高速化及び低消費電力の効果をもたら
す。
Therefore, if the instruction A is an instruction having an immediate value of four words, the effects of high speed and low power consumption can be obtained.

【0039】以上、説明したように、本発明の第2の実
施の形態の情報処理装置は、2サイクルアクセスの記憶
部から命令2語を読み出すように構成されていても、4
語の即値210〜213を持ち、その4語の即値210
〜213をバス5を使用して読み出し、オペコードによ
って指定された4語のデータをバス6を使用して読み出
し、4語の即値210〜213とバス6を使用して読み
出した4語のデータと積和レジスタを用いて積和演算演
算を行う命令を、高速に実行することができる。
As described above, even if the information processing apparatus according to the second embodiment of the present invention is configured to read two instructions from a two-cycle access storage unit, it is possible to read four instructions.
It has word immediates 210 to 213, and its four words immediate 210
To 213 are read out using the bus 5, the 4-word data specified by the operation code is read out using the bus 6, the 4-word immediate values 210 to 213 and the 4-word data read out using the bus 6 are read out. An instruction for performing a product-sum operation using the product-sum register can be executed at high speed.

【0040】なお、本発明の実施の形態では、記憶部
3、4は、RAMまたはROMであるように説明されて
いるが、キャッシュメモリを用いた構成でも良く、本発
明は、これを限定するものではない。
In the embodiment of the present invention, the storage units 3 and 4 are described as being a RAM or a ROM. However, a configuration using a cache memory may be used, and the present invention is not limited to this. Not something.

【0041】[0041]

【発明の効果】以上説明したように本発明によれば、複
数の即値語を持つ命令を用いて、複数のデータに対する
繰り返し演算を高速に行なうことが可能になる。
As described above, according to the present invention, it is possible to perform an iterative operation on a plurality of data at high speed by using an instruction having a plurality of immediate words.

【0042】また、命令を先行的に読み出す構成の場合
にも、本来の命令フェッチ部を即値語の読み出しに利用
可能であるので、少いハードウェア量及び低消費電力で
実現することが可能である。
Even in the case of reading instructions in advance, the original instruction fetch unit can be used for reading an immediate word, so that it can be realized with a small amount of hardware and low power consumption. is there.

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

【図1】本発明の第1の実施の形態における情報処理装
置を構成する主要部分のブロック図
FIG. 1 is a block diagram of main parts constituting an information processing apparatus according to a first embodiment of the present invention;

【図2】本発明の第1及び第2の実施の形態における複
数語の即値を持つ命令の構成図
FIG. 2 is a configuration diagram of an instruction having an immediate value of a plurality of words according to the first and second embodiments of the present invention;

【図3】同実施の形態における情報処理装置の動作を示
すタイミングチャート
FIG. 3 is a timing chart showing the operation of the information processing apparatus according to the embodiment;

【図4】本発明の第2の実施の形態における情報処理装
置を構成する主要部分のブロック図
FIG. 4 is a block diagram of a main part constituting an information processing apparatus according to a second embodiment of the present invention;

【図5】同実施の形態における情報処理装置の動作を示
すタイミングチャート
FIG. 5 is a timing chart showing the operation of the information processing apparatus according to the embodiment;

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

1 命令フェッチ部 2 命令実行部 3,4 記憶部 5,6 バス 10 命令プリフェッチ手段 11 命令バッファ 12 命令バッファ出力 300 サイクル 301 プログラムカウンタ(PC) 302,303,304 演算器入力 305 演算器出力 Reference Signs List 1 instruction fetch unit 2 instruction execution unit 3, 4 storage unit 5, 6 bus 10 instruction prefetch means 11 instruction buffer 12 instruction buffer output 300 cycle 301 program counter (PC) 302, 303, 304 computing unit input 305 computing unit output

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 命令フェッチ部と、 前記命令フェッチ部に接続される第1のバスと、 前記第1のバスに接続される第1の記憶部と、 前記命令フェッチ部によってフェッチされた命令を実行
する命令実行部と、 前記命令実行部に接続される第2のバスと、 前記第2のバスに接続される第2の記憶部とを備え、 前記命令実行部は、前記第1のバスから複数語のデータ
を読み出し、かつ、前記第2のバスから複数語のデータ
を読み出し、それぞれの前記複数語のデータを用いて演
算を行う命令を実行し、前記第1のバスから読み出す複
数語が、前記命令の一部を構成する即値であることを特
徴とする情報処理装置。
An instruction fetch unit, a first bus connected to the instruction fetch unit, a first storage unit connected to the first bus, and an instruction fetched by the instruction fetch unit. An instruction execution unit to be executed; a second bus connected to the instruction execution unit; and a second storage unit connected to the second bus, wherein the instruction execution unit includes the first bus. A plurality of words from the second bus, read a plurality of words of data from the second bus, execute an instruction to perform an operation using each of the plurality of words of data, and read a plurality of words from the first bus. Is an immediate value forming a part of the instruction.
【請求項2】 前記命令フェッチ部は、後続の命令を前
記第1のバスから先行的に読み出す命令プリフェッチ手
段と、前記先行的に読み出した命令を保持する命令バッ
ファを備え、前記第1のバスから、自命令の一部を構成
する複数語のデータを読み出して、前記複数語のデータ
を用いて演算を行なう命令の実行において、前記第1の
バスから読み出す複数語のデータを先行的に前記命令バ
ッファに読み出し、前記命令実行部に前記命令バッファ
から前記複数語のデータを供給することを特徴とする請
求項1記載の情報処理装置。
2. An instruction fetch unit comprising: an instruction prefetch means for reading a subsequent instruction from the first bus in advance; and an instruction buffer for holding the previously read instruction. Read the data of a plurality of words constituting a part of the own instruction, and execute the instruction of performing an operation using the data of the plurality of words. 2. The information processing apparatus according to claim 1, wherein the data is read to an instruction buffer, and the instruction execution unit is supplied with the data of the plurality of words from the instruction buffer.
【請求項3】 前記第1のバスのバス幅は、前記第2の
バスのバス幅より大きく、前記第1のバスのアクセス時
間は、前記第2のバスのバスアクセス時間より長いこと
を特徴とする請求項2記載の情報処理装置。
3. A bus width of the first bus is larger than a bus width of the second bus, and an access time of the first bus is longer than a bus access time of the second bus. The information processing apparatus according to claim 2, wherein
JP201098A 1998-01-08 1998-01-08 Information processing device Pending JPH11203133A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP201098A JPH11203133A (en) 1998-01-08 1998-01-08 Information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP201098A JPH11203133A (en) 1998-01-08 1998-01-08 Information processing device

Publications (1)

Publication Number Publication Date
JPH11203133A true JPH11203133A (en) 1999-07-30

Family

ID=11517417

Family Applications (1)

Application Number Title Priority Date Filing Date
JP201098A Pending JPH11203133A (en) 1998-01-08 1998-01-08 Information processing device

Country Status (1)

Country Link
JP (1) JPH11203133A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007088819A1 (en) * 2006-02-03 2007-08-09 Matsushita Electric Industrial Co., Ltd. Processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007088819A1 (en) * 2006-02-03 2007-08-09 Matsushita Electric Industrial Co., Ltd. Processor

Similar Documents

Publication Publication Date Title
US5123095A (en) Integrated scalar and vector processors with vector addressing by the scalar processor
JP2581236B2 (en) Data processing device
KR100983135B1 (en) Processor and method for grouping and executing dependency instructions of packets
US5996059A (en) System for monitoring an execution pipeline utilizing an address pipeline in parallel with the execution pipeline
EP1861775B1 (en) Processor and method of indirect register read and write operations
US6055628A (en) Microprocessor with a nestable delayed branch instruction without branch related pipeline interlocks
CN108959180B (en) Data processing method and system
JP3510729B2 (en) Instruction execution method and instruction execution device
JPH03233630A (en) Information processor
JPH11203133A (en) Information processing device
JPH10124312A (en) Central processor
JP2668987B2 (en) Data processing device
JP3461887B2 (en) Variable length pipeline controller
JP2861560B2 (en) Data processing device
JP3405106B2 (en) Programmable controller
JPH0222413B2 (en)
JPH0193825A (en) Prefetch queue control system
JP2856784B2 (en) Electronic computer
JP3490191B2 (en) calculator
JPH0524537B2 (en)
JPH0241770B2 (en)
JPS63157235A (en) Controller for computer system
CN118057308A (en) Instruction processing optimization method and related device
JPH0721018A (en) Central processing unit for microprogram control system
JP2545594B2 (en) Operand data prefetching method