JPH02217923A - Data processor - Google Patents

Data processor

Info

Publication number
JPH02217923A
JPH02217923A JP3761189A JP3761189A JPH02217923A JP H02217923 A JPH02217923 A JP H02217923A JP 3761189 A JP3761189 A JP 3761189A JP 3761189 A JP3761189 A JP 3761189A JP H02217923 A JPH02217923 A JP H02217923A
Authority
JP
Japan
Prior art keywords
instruction
address
operand
section
branch
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
JP3761189A
Other languages
Japanese (ja)
Inventor
Masaki Hashizume
橋詰 雅樹
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP3761189A priority Critical patent/JPH02217923A/en
Publication of JPH02217923A publication Critical patent/JPH02217923A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

PURPOSE:To shorten a waiting time required after executing a branch instruction by allowing an instruction word reading part to read out the succeeding instruction word at the succeeding clock when an instruction decoding part decides the branch instruction. CONSTITUTION:When the instruction decoding part 3 decides a branch instruction, a branch objective instruction cache memory 8 receives an operand address specifying part consisting of a direct instruction word modification register number part 12 and an operand address deforming part 13 from the decoding part 3 and sends the copy of a part of the contents stored in a storage means 1 to the decoding part 3 based upon the operand address specifying part. Thereby, a branch objective instruction can be quickly read out from the memory 8. Consequently, the waiting time required after executing the branch instruction can be shortened.

Description

【発明の詳細な説明】 [産業上の利用分野コ この発明は、バイブ・ライン方式により処理が行われる
データ処理装置に係り、特に改善された分岐命令処理を
有するデータ処理装置に関するものである。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a data processing device that performs processing using a vibe line method, and particularly to a data processing device that has improved branch instruction processing.

[従来の技術〕 第4図はこの種従来のデータ処理装置におけるパイプ・
ラインの1つのステージを示すものであり、図において
(1)はデータ及び命令語等の記憶内容が記憶された記
憶手段(MEN)、(2)はこの記憶手段に記憶された
次に実行すべき命令語を読み出す命令語読出部(IF)
、 (3)はこの命令語読出部によって読み出された命
令語を解釈する命令デコード部(IDC)、(4)はこ
の命令デコード部によって解釈された命令語の指示を受
けてオペランド・アクセスに必要な論理アドレスとして
のオペランド・アドレスを計算して出力するとともに、
命令デコード部(3)により命令語が分岐命令として判
定した場合には論理アドレスである分岐命令の飛先アド
レスを生成するオペランド・アドレス計算部(OAC)
、(5)はこのオペランド・アドレス計算部からの論理
オペランド・アドレス及び論理飛先アドレスをそれぞれ
物理アドレスに変換するアドレス変換部(TRN)で、
論理飛先アドレスを受け、飛先アドレスに続くアドレス
にある命令語を読み出す場合には物理アドレスとしての
飛先アドレスを、物理飛先アドレスに応じた命令語を上
記記憶手段(1)から読み出させるために命令語読出部
(2)に与える。(6)はこのアドレス変換部からの物
理オペランド・アドレスを受け、この物理オペランド・
アドレスにより上記記憶手段(1)をアクセスするオペ
ランド・アクセス制御部(OP)で、実行すべき命令に
応じて上記記憶手段(1)の物理オペランド・アドレス
によるアドレスに記憶されたデータの読み出し及びデー
タの書き込みを行う、(7)はこのオペランド・アクセ
ス制御部によって読み出された上記記憶手段(1)から
のデータを処理するとともに、上記記憶手段(1)に書
き込むためのデータを出力する実行部(EX[J)、(
8)は論理アドレスで参照される構造を有していて、上
記記憶手段(1)の記憶内容の一部の写しを格納してい
る、一種のキャッシュ・メモリである分岐目標命令キャ
ッシュ・メモリ(BGM)で、上記オペランド・アドレ
ス計算部(4)からの論理飛先アドレスを受け、この論
理飛先アドレスに対応した上記記憶手段(1)の記憶内
容の一部の写しが格納されていると、この格納された記
憶内容の一部の写しを上記命令デコード(3)へ送り、
格納されていなかったときは、この論理飛先アドレスを
登録するとともに、上記命令語読出部(2)から読み出
されたこの論理飛先アドレスに対応した記憶手段(1)
の記憶内容の一部を格納する。(9)は上記オペランド
・アドレス計算部(4)からの論理飛先アドレスを上記
分岐目標命令キャッシュ・メモリ(8)に伝えるための
信号線である。
[Prior art] Figure 4 shows a pipe diagram in a conventional data processing device of this type.
It shows one stage of the line, and in the figure, (1) is a storage means (MEN) in which stored contents such as data and command words are stored, and (2) is the next execution stage stored in this storage means. Instruction word reading unit (IF) that reads out the instruction word to be used
, (3) is an instruction decoding unit (IDC) that interprets the instruction word read by this instruction word reading unit, and (4) performs operand access in response to instructions from the instruction word interpreted by this instruction decoding unit. Calculates and outputs the operand address as the required logical address, and
An operand address calculation unit (OAC) that generates a jump address of the branch instruction, which is a logical address, when the instruction word is determined to be a branch instruction by the instruction decoding unit (3).
, (5) is an address translation unit (TRN) that converts the logical operand address and logical jump address from this operand address calculation unit into physical addresses, respectively.
When receiving a logical jump address and reading out a command word at an address following the jump address, the jump address as a physical address and the command word corresponding to the physical jump address are read from the storage means (1). It is given to the instruction word reading unit (2) in order to perform the instruction. (6) receives the physical operand address from this address translation section, and
An operand access control unit (OP) that accesses the storage means (1) according to an address reads data stored at an address according to a physical operand address of the storage means (1) according to an instruction to be executed. (7) is an execution unit that processes the data read from the storage means (1) by this operand access control unit and outputs data to be written to the storage means (1). (EX[J), (
8) is a branch target instruction cache memory (1) which is a type of cache memory and has a structure that is referenced by a logical address and stores a copy of a part of the memory contents of the storage means (1). BGM) receives a logical jump address from the operand address calculation unit (4), and stores a copy of a part of the memory contents of the storage means (1) corresponding to this logical jump address. , sends a copy of a portion of this stored memory content to the instruction decode (3),
If it is not stored, this logical jump address is registered, and the storage means (1) corresponding to this logical jump address read from the instruction word reading section (2) is stored.
Stores part of the memory contents of. (9) is a signal line for transmitting the logical jump address from the operand address calculation unit (4) to the branch target instruction cache memory (8).

上記記憶手段(1)に記憶される命令語は第5図に示す
ように、命令語の作用を指定する命令コード部(10)
と、命令語の作用の対象となるレジスタの番号を指定す
るオペランド・アドレス番号部(R)(11)と、上記
命令コード部(10)が指定する作用が必要とするメモ
リ・アドレスを指定する修飾レジスタ部(I>(12)
及びオペランド・アドレス変位部(DSP)(13)と
からなるオペランド・アドレス指定部とを有しているも
のである。そして、このオペランド・アドレスからメモ
リ・アドレスを求めるには。
As shown in FIG. 5, the instruction word stored in the storage means (1) includes an instruction code section (10) that specifies the action of the instruction word.
, an operand address number section (R) (11) that specifies the number of the register that is the target of the operation of the instruction word, and an operand address number section (R) (11) that specifies the memory address required for the operation specified by the instruction code section (10). Qualification register section (I>(12)
and an operand address designation section consisting of an operand address displacement section (DSP) (13). And to find the memory address from this operand address.

修飾レジスタ番号部(12)により指定された番号の修
飾レジスタの内容とオペランド・アドレス変位部(13
)の値とを加算することにより行われる。
The contents of the modification register with the number specified by the modification register number part (12) and the operand address displacement part (13)
).

次に、この様に構成されたデータ処理装置の動作につい
て説明する。まず、読み出される命令語の命令コード部
(lO)が分岐命令を指定していないものについて説明
する。記憶手段(1)から次に実行する命令語が命令語
読出部(2)によって読み出される。この読み出された
命令語は命令デコード部(3)に入力されて解釈、つま
り、命令語の命令コード部(10)を読み取る。この解
釈された命令語の指示を受けたオペランド・アドレス計
算部(4)はオペランド・アクセスに必要な論理アドレ
スとしのオペランド・アドレスを計算、つまり、命令語
の修飾レジスタ番号部(12)で指定された番号の修飾
レジスタの内容とオペランド・アドレス変位部(13)
の値とを加算して論理オペランド・アドレスを求める。
Next, the operation of the data processing apparatus configured in this manner will be explained. First, a case where the instruction code part (lO) of the instruction word to be read does not specify a branch instruction will be described. The instruction word to be executed next is read from the storage means (1) by the instruction word reading section (2). This read instruction word is input to an instruction decoding section (3) and interpreted, that is, the instruction code section (10) of the instruction word is read. The operand address calculation unit (4), which receives instructions from this interpreted instruction word, calculates the operand address as a logical address necessary for operand access, that is, specifies it in the qualified register number section (12) of the instruction word. The contents of the modified register numbered and the operand address displacement part (13)
The logical operand address is determined by adding the value of .

この論理オペランド・アドレスはアドレス変換部(5)
によって物理オペランド・アドレスに変換されてオペラ
ンド・アクセス制御部(6)に入力される。オペランド
・アクセス制御部(6)はこの物理オペランド・アドレ
スによって記憶手段(1)をアクセスする。すなわち、
命令デコード部(3)によって解釈された命令語の命令
コード部(10)による実行すべき命令がデータの読み
出しを必要とする命令であれば、オペランド・アクセス
制御部(6)は入力さ九た物理オペランド・アドレスに
従い記憶手段(1)のデータを読み出して実行部(7)
に送り、実行部(7)にてこのデータが処理される。ま
た、命令デコード部(3)によって解釈された命令語の
命令コード部(10)による実行すべき命令が実行結果
を記憶手段(1)に書き込む必要のある命令であわば、
オペランド・アクセス制御部(6)は実行部(7)の出
力を物理オペランド・アドレスにより記憶手段(1)に
実行部(7)の出力を書き込む、この様にして一連の動
作が進むものである。この一連の動作をタイムチャート
で示すと第6図のようになる。
This logical operand address is the address translation unit (5)
The address is converted into a physical operand address and input to the operand access control unit (6). The operand access control unit (6) accesses the storage means (1) using this physical operand address. That is,
If the instruction to be executed by the instruction code section (10) of the instruction word interpreted by the instruction decoding section (3) is an instruction that requires reading data, the operand access control section (6) The execution unit (7) reads data from the storage means (1) according to the physical operand address.
This data is processed by the execution unit (7). Further, the instruction to be executed by the instruction code section (10) of the instruction word interpreted by the instruction decoding section (3) is an instruction that requires writing the execution result into the storage means (1), so to speak.
The operand access control section (6) writes the output of the execution section (7) into the storage means (1) using the physical operand address, and a series of operations proceed in this manner. This series of operations is shown in a time chart as shown in FIG.

この第6図は、横軸に時間を、縦軸にパイプ・ラインの
各ステージをとったものであり、オペランド・データの
書き込みを必要としない命令A、B。
In FIG. 6, the horizontal axis shows time and the vertical axis shows each stage of the pipeline.Instructions A and B do not require writing of operand data.

Cが連続的にパイプ・ライン処理される様子を示してい
る。
It shows how C is continuously pipelined.

次に、読み出された命令語の命令コード部(1o)に分
岐命令がある場合について説明する。命令語読出部(2
)によって読み出された命令語の命令コード部(10)
が命令デコード部(3)によって分岐命令と判定すると
、この命令デコード部(3)の指示によりオペランド・
アドレス計算部(4)は命令語の修飾レジスタ番号部(
12)で指定された番号の修飾レジスタの内容とオペラ
ンド・アドレス変位部(13)の値とを加算して分岐命
令である論理飛先アドレスを生成する。この論理飛先ア
ドレスが信号、! (9)を介して分岐目標命令キャッ
シュ・メモリ(8)へ入力される。この分岐目標命令キ
ャッシュ・メモリ(8)に入力された論理飛先アドレス
に対応した記憶手段(1)の記憶内容の一部の写しが格
納されていると、この格納されている記憶内容の一部の
写しを命令デコード部(3)に送り、飛先アドレスから
の命令処理が開始される。この飛先アドレスに続くアド
レスにある命令語に基づく処理は、命令語続出部(2)
、命令デコード部(3)、オペランド・アドレス計算部
(4)、アドレス変換部(5)、オペランド・アクセス
制御部(6)及び実行部(7)にて上記した分岐命令を
有しない命令語に基づく処理と同様に処理される。一方
、分岐目標命令キャッシュ・メモリ(8)に入力された
論理飛先アドレスに対応した記憶手段(1)の記憶内容
の一部の写しが格納されていないと、この論理飛先アド
レスがアドレス変換部(5)にて物理飛先アドレスに変
換され。
Next, a case will be described in which there is a branch instruction in the instruction code section (1o) of the read instruction word. Instruction word reading section (2
) Instruction code part (10) of the instruction word read by
When the instruction decoding unit (3) determines that it is a branch instruction, the operand is determined by the instruction decoding unit (3).
The address calculation section (4) is the instruction word modification register number section (
The contents of the modification register with the number specified in step 12) and the value of the operand address displacement section (13) are added to generate a logical jump address, which is a branch instruction. This logical destination address is a signal! (9) to the branch target instruction cache memory (8). If a copy of a part of the memory contents of the storage means (1) corresponding to the input logical jump address is stored in this branch target instruction cache memory (8), one copy of the stored memory contents may be stored in the branch target instruction cache memory (8). A copy of the copy is sent to the instruction decoding section (3), and instruction processing from the destination address is started. Processing based on the instruction word at the address following this destination address is performed by the instruction word succession unit (2).
, the instruction decoding unit (3), the operand address calculation unit (4), the address translation unit (5), the operand access control unit (6), and the execution unit (7) process the instruction words that do not have the above-mentioned branch instruction. Processed in the same way as the based processing. On the other hand, if a copy of a part of the memory contents of the storage means (1) corresponding to the logical jump address inputted to the branch target instruction cache memory (8) is not stored, this logical jump address will be converted into an address. It is converted into a physical destination address in section (5).

この物理飛先アドレスを命令語読出部(2)に送り。This physical jump address is sent to the instruction word reading unit (2).

この命令語続出部(2)が物理飛先アドレスに従い記憶
手段(1)から記憶内容を読み出し、この記憶内容を分
岐目標命令キャッシュ・メモリ(8)に記憶内容の一部
の写しとして格納するとともに、オペランド・アドレス
計算部(4)からの論理飛先アドレスを登録情報として
格納する。同時に、読み出された記憶内容は命令デコー
ド部(3)に送られ、飛先アドレスからの命令処理が開
始される。この飛先アドレスに続くアドレスにある命令
語に基づく処理は、命令語読出部(2)、命令デコード
部(3)、オペランド・アドレス計算部(4)、アドレ
ス変換部(5)、オペランド・アクセス制御部(6)及
び実行部(7)にて上記した分岐命令を有しない命令語
の処理と同様に処理される。この様にして一連の動作が
進むものである。この一連の動作を分岐処理のうちの論
理飛先アドレスに対応した記憶内容の一部の写しが分岐
目標命令キャッシュ・メモリ(8)に格納されている場
合についてタイムチャートで示すと第7図のようになる
。この第7図は、横軸に時間を、縦軸にパイプ・ライン
の各ステージをとったものであり、オペランド・データ
の書き込みを必要としな、い命令A、B、C1分岐命令
BR及び分岐命令実行後の書き込みを必要としない命令
り、E、Fが連続的にパイプ・ライン処理される様子を
示している。とくに、命令りが飛先アドレスに格納され
ている命令である。この第7図から明らかなように命令
デコード部(1)にて分岐命令を判定すると、オペラン
ド・アドレス計算部(4)により論理飛先アドレスを求
めた後の次のクロックで命令語読出部(2)にて次の命
令語を読み出しているため、分岐命令実行後の待ち時間
が2クロック分必要であった。
This instruction word successive section (2) reads the memory contents from the storage means (1) according to the physical jump address, stores the memory contents in the branch target instruction cache memory (8) as a copy of a part of the memory contents, and , the logical jump address from the operand address calculation unit (4) is stored as registration information. At the same time, the read memory contents are sent to the instruction decoding section (3), and instruction processing from the destination address is started. Processing based on the instruction word at the address following this jump address is performed by the instruction word reading section (2), instruction decoding section (3), operand address calculation section (4), address conversion section (5), operand access The control unit (6) and the execution unit (7) process the instruction word in the same way as the above-mentioned instruction word without a branch instruction. A series of operations proceed in this manner. This series of operations is shown in a time chart in the case where a copy of a part of the memory contents corresponding to the logical jump address in the branch processing is stored in the branch target instruction cache memory (8). It becomes like this. This figure 7 shows time on the horizontal axis and each stage of the pipeline on the vertical axis, and shows instructions A, B, C1, branch instructions BR, and branch instructions that do not require writing operand data. This shows how instructions E and F, which do not require writing after instruction execution, are sequentially processed in a pipeline. In particular, the instruction is an instruction stored at the destination address. As is clear from FIG. 7, when the instruction decoding unit (1) determines a branch instruction, the instruction word reading unit ( Since the next instruction word is read in step 2), a waiting time of two clocks is required after execution of the branch instruction.

なお、上記した従来のパイプ・ライン方式のデータ処理
装置と同様なデータ処理装置として特開昭60−202
45号公報、特開昭57−34254号公報、特開昭5
8−1.29660号公報及び特開昭57−85148
号公報に示されている。
In addition, as a data processing device similar to the conventional pipeline type data processing device mentioned above,
No. 45, JP-A-57-34254, JP-A-Sho. 5
Publication No. 8-1.29660 and JP-A-57-85148
It is shown in the publication No.

[発明が解決しようとする課題] 上記のように構成された従来のデータ処理装置にあって
は1分岐命令と命令デコード部(3)が判定すると、オ
ペランド・アドレス計算部(4)が命令語のオペランド
・アドレス指定部に基づいて論理飛先アドレスを求めた
後に、分岐先命令の実行が行なおれるため1分岐命令実
行後の待ち時間が長く1分岐先命令の実行開始が遅れる
という問題点があった。
[Problems to be Solved by the Invention] In the conventional data processing device configured as described above, when the instruction decoding unit (3) determines that the instruction is a one-branch instruction, the operand address calculation unit (4) Since the branch destination instruction is executed after finding the logical jump address based on the operand address specification part of was there.

この発明は上記した点に鑑みてなされたものであり1分
岐命令実行後の待ち時間を短縮したパイプ・ライン方式
のデータ処理装置を得ることを目的とするものである。
The present invention has been made in view of the above-mentioned points, and an object of the present invention is to obtain a pipeline type data processing device that shortens the waiting time after execution of one branch instruction.

[課題を解決するための手段] この発明に係わるパイプ・ライン方式のデータ処理装置
は、命令語の作用を指定する命令コード部及び命令コー
ド部が指定する作用が必要とするメモリ・アドレスを指
定するオペランド・アドレス指定部を有した命令語を解
釈する命令デコード部から、分岐命令として判定した場
合に命令語のオペランド・アドレス指定部を受け、この
オペランド・アドレス指定部に基づいて対応しかつ格納
された記憶手段の記憶内容の一部の写しを命令デコード
部へ送る分岐目標命令キャッシュ・メモリを設けたもの
である。
[Means for Solving the Problems] A pipeline data processing device according to the present invention includes an instruction code section that specifies the action of an instruction word, and a memory address that specifies the action specified by the instruction code section. When the instruction word is determined to be a branch instruction, it receives the operand address specification part of the instruction word from the instruction decode unit that interprets the instruction word having the operand address specification part, and responds and stores the instruction word based on this operand address specification part. A branch target instruction cache memory is provided for sending a copy of a portion of the stored contents of the storage means to the instruction decoding section.

[作 用] この発明においては1分岐目標命令キャッシュ・メモリ
が、命令デコード部が分岐命令として判定した場合にこ
の命令デコード部から直接命令語のオペランド・アドレ
ス指定部を受け、このオペランド・アドレス指定部に基
づいて記憶手段の記憶内容の一部の写しを命令デコード
部に送らしめ。
[Function] In the present invention, when the instruction decoding unit determines that the instruction is a branch instruction, the one-branch target instruction cache memory receives the operand addressing part of the instruction word directly from the instruction decoding unit, and receives the operand addressing part of the instruction directly from the instruction decoding unit. A copy of a portion of the stored contents of the storage means is sent to the instruction decoding section based on the instruction decoding section.

分岐命令実行後の待ち時間を短くせしめる。To shorten the waiting time after executing a branch instruction.

[実施例] 以下に、この発明の一実施例を第1図に基づいて説明す
ると5図において、(1)はデータ及び命令語等の記憶
内容が記憶された記憶手段(MEN)、(2)はこの記
憶手段に記憶された次に実行すべき命令語を読み出す命
令語読出部(IF)、(3)はこの命令語続出部によっ
て読み出された命令語を解釈する命令デコード部(ID
C)、 (4)はこの命令デコード部によって解釈され
た命令語の指示を受けてオペランド・アクセスに必要な
論理アドレスとしてのオペランド・アドレスを計算して
出力するとともに、命令デコード部(3)により命令語
が分岐命令として判定した場合には論理アドレスである
分岐命令の飛先アドレスを生成するオペランド・アドレ
ス計算部(OAC)、 (5)はこのオペランド・アド
レス計算部からの論理オペランド・アドレス及び論理飛
先アドレスをそれぞれ物理アドレスに変換するアドレス
変換部(TRN)で、論理飛先アドレスを受け、飛先ア
ドレスに続くアドレスにある命令語を読み出す場合には
物理アドレスとしての飛先アドレスを、物理飛先アドレ
スに応じた命令語を上記記憶手段(1)から読み出させ
るために命令語読出部(2)に与える。(6)はこのア
ドレス変換部からの物理オペランド・アドレスを受け、
この物理オペランド・アドレスにより上記記憶手段(1
)をアクセスするオペランド・アクセス制御部(OP)
で、実行すべき命令に応じて上記記憶手段(1)の物理
オペランド・アドレスによるアドレスに記憶されたデー
タの読み出し及びデータの書き込みを行う。
[Embodiment] An embodiment of the present invention will be described below based on FIG. 1. In FIG. ) is an instruction reading unit (IF) that reads out the next instruction to be executed stored in this storage means, and (3) is an instruction decoding unit (ID) that interprets the instruction read by the instruction successive unit.
C) and (4) receive instructions from the instruction word interpreted by this instruction decoding unit, calculate and output an operand address as a logical address necessary for operand access, and are also processed by the instruction decoding unit (3). An operand address calculation unit (OAC) generates a jump address of the branch instruction, which is a logical address, when the instruction word is determined to be a branch instruction. (5) calculates the logical operand address and The address translation unit (TRN) that converts each logical jump address into a physical address receives the logical jump address, and when reading the instruction word at the address following the jump address, converts the jump address as a physical address, A command word corresponding to the physical jump address is given to the command reading unit (2) in order to read it from the storage means (1). (6) receives the physical operand address from this address translation section,
By this physical operand address, the storage means (1
) Operand access control unit (OP) that accesses
According to the instruction to be executed, reading and writing of data stored in the address according to the physical operand address of the storage means (1) is performed.

(7)はこのオペランド・アクセス制御部によって読み
出された上記記憶手段(1)からのデータを処理すると
ともに、上記記憶手段(1)に書き込むためのデータを
出力する実行部(EXU)、 (8)は論理アドレスで
参照される構造を有していて、上記記憶手段(1)の記
憶内容の一部の写しを格納している、一種のキャッシュ
・メモリである分岐目標命令キャッシュ・メモリ(BG
M)で、上記命令デコード部(3)からの出力のうちの
第5図に示した命令語の修飾レジスタ部(12)及びオ
ペランド・アドレス変位部(I3)からなるオペランド
・アドレス指定部を受け、このオペランド・アドレス指
定部とメモリ・アドレスの関係を利用してオペランド・
アドレス指定部に基づいて上記記憶手段(1)の記憶内
容の一部の写しが格納されていると、この格納された記
憶内容の一部の写しを上記命令デコード(3)へ送り。
(7) is an execution unit (EXU) which processes the data read from the storage means (1) by this operand access control unit and outputs data to be written into the storage means (1); 8) is a branch target instruction cache memory (1) which is a type of cache memory and has a structure that is referenced by a logical address and stores a copy of a part of the memory contents of the storage means (1). B.G.
M) receives an operand address designation part consisting of an instruction word modification register part (12) and an operand address displacement part (I3) shown in FIG. 5 from the output from the instruction decode part (3). , by using the relationship between this operand address specification part and the memory address.
If a copy of a part of the memory contents of the storage means (1) is stored based on the address designation part, the copy of the stored part of the memory content is sent to the instruction decode (3).

格納されていなかったときは、このオペランド・アドレ
ス指定部を登録するとともに、上記命令語続出部(2)
から読み出されたこのオペランド・アドレス指定部に対
応した記憶手段(1)の記憶内容の一部を格納する。こ
の様にオペランド・アドレス指定部を参照するための論
理アドレスとして使用できる理由は1分岐命令の飛先ア
ドレスが命令語の修飾レジスタ番号部(12)により指
定された番号の修飾レジスタの内容とオペランド・アド
レス変位部(13)の値とを加算したものであるから、
修飾レジスタの内容が変わらない限り、オペランド・ア
ドレス指定部すなわち修飾レジスタ番号部(12)とオ
ペランド・アドレス変位部(13)だけによりメモリ・
アドレスは一義的に定まる゛ことによるものである。 
(91)は上記命令デコード部(3)からの命令語のオ
ペランド・アドレス指定部を上記分岐目標命令キャッシ
ュ・メモリ(8)に伝えるための信号線である。
If it has not been stored, register this operand address specification section, and also register the instruction word succession section (2).
A part of the storage contents of the storage means (1) corresponding to this operand address designation section read from is stored. The reason why it can be used as a logical address to refer to the operand address specification section in this way is that the destination address of a branch instruction is the contents of the modification register of the number specified by the modification register number section (12) of the instruction word and the operand address.・Since it is the addition of the value of the address displacement part (13),
As long as the contents of the qualified register do not change, the memory can be accessed only by the operand address specification part, that is, the qualified register number part (12) and the operand address displacement part (13).
This is because the address is uniquely determined.
(91) is a signal line for transmitting the operand address designation part of the instruction word from the instruction decoding section (3) to the branch target instruction cache memory (8).

次に、この様に構成されたデータ処理装置の動作につい
て説明する。まず、読み出される命令語の命令コード部
(10)が分岐命令を指定していないものについて説明
する。記憶手段(1)から次に実行する命令語が命令語
続出部(2)によって読み出される。この読み出された
命令語は命令デコード部(3)に入力されて解釈、つま
り、命令語の命令コード部(10)を読み取る。この解
釈された命令語の指示を受けたオ、ベランド・アドレス
計算部(4)はオペランド・アクセスに必要な論理アド
レスとしのオペランド・アドレスを計算、つまり、命令
語の修飾レジスタ番号部(12)で指定された番号の修
飾レジスタの内容とオペランド・アドレス変位部(13
)の値とを加算して論理オペランド・アドレスを求める
。この論理オペランド・アドレスはアドレス変換部(5
)によって物理オペランド・アドレスに変換されてオペ
ランド・アクセス制御部(6)に入力される。オペラン
ド・アクセス制御部(6)はこの物理オペランド・アド
レスによって記憶手段(1)をアクセスする。すなわち
、命令デコード部(3)によって解釈された命令語の命
令コード部(10)による実行すべき命令がデータの読
み出しを必要とする命令であれば、オペランド・アクセ
ス制御部(6)は入力された物理オペランド・アドレス
に従い記憶手段(1)のデータを読み出して実行部(7
)に送り、実行部(7)にてこのデータが処理される。
Next, the operation of the data processing apparatus configured in this manner will be explained. First, a case where the instruction code section (10) of the instruction word to be read does not specify a branch instruction will be explained. The instruction word to be executed next is read out from the storage means (1) by the instruction word succession unit (2). This read instruction word is input to an instruction decoding section (3) and interpreted, that is, the instruction code section (10) of the instruction word is read. In response to instructions from this interpreted instruction word, the verando address calculation section (4) calculates the operand address as a logical address necessary for operand access, that is, the instruction word's qualified register number section (12). The contents of the modification register number specified by and the operand address displacement part (13
) to find the logical operand address. This logical operand address is determined by the address translation unit (5
) is converted into a physical operand address and input to the operand access control unit (6). The operand access control unit (6) accesses the storage means (1) using this physical operand address. That is, if the instruction to be executed by the instruction code section (10) of the instruction word interpreted by the instruction decoding section (3) is an instruction that requires data reading, the operand access control section (6) The execution unit (7) reads the data from the storage means (1) according to the physical operand address.
), and this data is processed by the execution unit (7).

また、命令デコード部(3)によって解釈された命令語
の命令コード部(10)による実行すべき命令が実行結
果を記憶手段(1)に書き込む必要のある命令であれば
、オペランド・アクセス制御部(6)は実行部(7)の
出力を物理オペランド・アドレスにより記憶手段(1)
に実行部(7)の出力を書き込む、この様にして一連の
動作が進むものである。
Further, if the instruction to be executed by the instruction code section (10) of the instruction word interpreted by the instruction decoding section (3) is an instruction that requires writing the execution result into the storage means (1), the operand access control section (6) stores the output of the execution unit (7) in the storage means (1) by physical operand address.
The output of the execution unit (7) is written to the . This is how a series of operations proceed.

次に、読み出された命令語の命令コード部(lO)に分
岐命令がある場合について説明する。命令語読出部(2
)によって読み出された命令語の命令コード部(10)
が命令デコード部(3)によって分岐命令と判定すると
、命令語の修飾レジスタ番号部(12)とオペランド・
アドレス変位部(13)とからなるオペランド・アドレ
ス指定部が信号線(91)を介して分岐目標命令キャッ
シュ・メモリ(8)へ入力される。この分岐目標命令キ
ャッシュ・メモリ(8)に入力された命令語のオペラン
ド・アドレス指定部が論理補光アドレスの変わりとして
機能し、対応した記憶手段(1)の記憶内容の一部の写
しが格納されていると、この格納されている記憶内容の
一部の写しを命令デコード部(3)に送り、飛先アドレ
スからの命令処理が開始される。この飛先アドレスに続
くアドレスにある命令語に基づく処理は、命令語続出部
(2)、命令デコード部(3)、オペランド・アドレス
計算部(4)、アドレス変換部(5)、オペランド・ア
クセス制御部(6)及び実行部(7)にて上記した分岐
命令を有しない命令語に基づく処理と同様に処理される
。一方1分岐目標命令キャッシュ・メモリ(8)に入力
された命令語のオペランド・アドレス指定部に対応した
記憶手段(1)の記憶内容の一部の写しが格納されてい
ないと、このオペランド・アドレス指定部によりオペラ
ンド・アドレス計算部(4)が計算して論理飛先アドレ
スが求められる。この論理飛先アドレスがアドレス変換
部(5)にて物理飛先アドレスに変換され、この物理飛
先アドレスを命令語読出部(2)に送り、この命令語読
出部(2)が物理飛先アドレスに従い記憶手段(1)か
ら記憶内容を読み出し、この記憶内容を分岐目標命令キ
ャッシュ・メモリ(8)に記憶内容の一部の写しとして
格納するとともに、命令語のオペランド・アドレス指定
部を登録情報として格納する。同時に、読み出された記
憶内容は命令デコード部(3)に送られ、飛先アドレス
からの命令処理が開始される。この飛先アドレスに続く
アドレスにある命令語に基づく処理は、命令語読出部(
2)、命令デコード部(3)、オペランド・アドレス計
算部(4)、アドレス変換部(5)、オペランド・アク
セス制御部(6)及び実行部(7)にて上記した分岐命
令を有しない命令語の処理と同様に処理される。この様
にして一連の動作が進むものである。この−連の動作を
分岐処理のうちの命令語のオペランド・アドレス指定部
に対応した記憶内容の一部の写しが分岐目標命令キャッ
シュ・メモリ(8)に格納されている場合についてタイ
ムチャートで示すと第2図のようになる。この第2図は
、横軸に時間を、縦軸にパイプ・ラインの各ステージを
とったものであり、オペランド・データの書き込みを必
要としない命令A、B、C1分岐命令BR及び分岐命令
実行後の書き込みを必要としない命令り、E。
Next, a case will be described in which there is a branch instruction in the instruction code section (lO) of the read instruction word. Instruction word reading section (2
) Instruction code part (10) of the instruction word read by
When the instruction decode unit (3) determines that it is a branch instruction, the instruction word's modification register number part (12) and the operand
An operand addressing section consisting of an address displacement section (13) is input to the branch target instruction cache memory (8) via a signal line (91). The operand address specification part of the instruction word input to this branch target instruction cache memory (8) functions as a logical supplementary address, and a copy of a part of the memory contents of the corresponding storage means (1) is stored. If so, a copy of this part of the stored memory contents is sent to the instruction decoding section (3), and instruction processing from the destination address is started. Processing based on the instruction word at the address following this jump address is performed by the instruction word successive section (2), instruction decoding section (3), operand address calculation section (4), address conversion section (5), and operand access section. The control unit (6) and execution unit (7) perform the same processing as the above-described processing based on an instruction word without a branch instruction. On the other hand, if a copy of a part of the memory contents of the storage means (1) corresponding to the operand address specification part of the instruction word inputted to the 1-branch target instruction cache memory (8) is not stored, this operand address The operand address calculation section (4) calculates the logical jump address using the specification section. This logical jump address is converted into a physical jump address by the address conversion unit (5), and this physical jump address is sent to the instruction word reading unit (2), which The stored contents are read from the storage means (1) according to the address, and the stored contents are stored in the branch target instruction cache memory (8) as a copy of a part of the stored contents, and the operand address designation part of the instruction word is registered in the register information. Store as . At the same time, the read memory contents are sent to the instruction decoding section (3), and instruction processing from the destination address is started. Processing based on the instruction word at the address following this destination address is performed by the instruction word reading unit (
2) Instructions that do not have the above-mentioned branch instructions in the instruction decoding unit (3), operand address calculation unit (4), address translation unit (5), operand access control unit (6), and execution unit (7) Processed in the same way as words. A series of operations proceed in this manner. This sequence of operations is shown in a time chart for the case where a copy of a part of the memory contents corresponding to the operand address specification part of the instruction word in branch processing is stored in the branch target instruction cache memory (8). and as shown in Figure 2. This figure 2 shows time on the horizontal axis and each stage of the pipeline on the vertical axis, and shows instructions A, B, and C1 that do not require writing operand data, branch instructions BR, and branch instruction execution. Instructions that do not require subsequent writing, E.

Fが連続的にバイブ・ライン処理される様子を示してい
る。この第2図から明らかなように命令デコード部(3
)にて分岐命令を判定すると1次のクロックで命令81
!出部(2)にて次の命令語を読み出させるため1分岐
命令実行後の待ち時間が第7図に示した従来のものに比
して1クロツタ分減少し、処理時間の短縮が図れるもの
である。
It shows how F is continuously processed by the vibe line. As is clear from FIG. 2, the instruction decoding section (3
), when a branch instruction is determined, instruction 81 is executed at the primary clock.
! Since the next instruction word is read at the output section (2), the waiting time after execution of one branch instruction is reduced by one crotch compared to the conventional system shown in Fig. 7, and the processing time can be shortened. It is something.

次に1分岐目標命令キャッシュ・メモリ(8)の具体的
構成例を、命令語の修飾レジスタ番号部(12)が2b
it、オペランド・アドレス変位部(13)が8bit
の場合について第3図に基づいて説明すると、図におい
て(21a)は信号IIA(21)を介して修飾レジス
タへの書込信号IRVと。信号線(22a) (22b
)をそれぞれ介して修飾レジスタ書き込み時のレジスタ
番号を2bitで示すレジスタ・デジタル番号IRAO
Next, a specific configuration example of the 1-branch target instruction cache memory (8) is shown in which the instruction word modification register number part (12) is 2b.
it, operand address displacement part (13) is 8 bits
The case will be explained based on FIG. 3. In the figure, (21a) is the write signal IRV to the modification register via the signal IIA (21). Signal line (22a) (22b
) is the register digital number IRAO that indicates the register number when writing to the modified register in 2 bits.
.

IR,41を反転信号として入力される第1の論理手段
A first logic means to which IR, 41 is input as an inverted signal.

(21b)は上記書込信号IRvと、上記レジスタ・デ
ジタル番号IRAIと、上記レジスタ・デジタル番号I
RAOを反転信号として入力される第2の論理手段、(
21c)は上記書込信号IRVと、レジスタ・デジタル
番号IRAOと、レジスタ・デジタル番号IRA lを
反転信号として入力される第3の論理手段、 (21d
)は書込信号IRVと、レジスタ・デジタル番号IRA
O5IflA1が入力される第4の論理手段、(14a
)〜(14d)は信号線(lab)を介して命令語のオ
ペランド・アドレス変位部(13)の上位4bit D
SP(4〜7)が入力されるアドレス入力端Aと、信号
線(18a)を介して命令語のオペランド・アドレス変
位部(13)の下位4 bitosp(o〜3)が入力
されるデータ入力端Iと、データ出力端Oと、書込指示
信号入力端Wと、クリア指示信号入力端Cとを有したメ
モリ・アレイにより構成された第1〜・第4のタグ・ア
レイで、それぞれのクリア指示信号入力端Cには第1〜
第2の論理手段(21a)〜(21d)の出力がそれぞ
れ入力され、クリア指示信号入力端Cが有意になると内
容が全て消去される。 (15a)〜(15d)はこれ
ら第1〜第4のタグ・アレイ(14a)〜(14d)の
出力0とオペランド・アドレス変位部(13)の下位4
bit DSP(0〜3)とを比較する第1〜第4の比
較器、(17a)はこれら第1〜第4の比較器からの出
力を受けるとともに、修飾レジスタ番号部(12)の2
bit IO,IIが信号線(23a)(23b)を介
して入力される第1のマルチプレクサで、2bit I
O,Itにより第1〜第4の比較器のうちの1つを出力
するものである。 (16a)〜(16d)は信号線(
18b)を介してオペランド・アドレス変位部(13)
の上位4bit DSP(0〜3)が入力されるアドレ
ス入力端Aと、記憶手段(1)からのデータが入力され
るデータ入力端工と、出力端Oと2書込指示信号入力端
Wとを有したメモリ・アレイにより構成された第1〜第
4のデータ・アレイ、(17b)はこれら第1〜第4の
データ・アレイの出力Oと命令語の修飾レジスタ番号部
(12)の2bit l01IIが入力される第2のマ
ルチプレクサで、2bLtIo、IIにより第1〜第4
のデータ・アレイ(16a)〜(16d)の1つを命令
デコード部(3)に出力するものである。 (24)は
命令語の修飾レジスタ番号部(12)の2bit: 1
0.  Ilが入力されて第1〜第4のタグ・アレイ(
14,a)〜(14d)及び第1〜第4のデータ・アレ
イ(16a)〜(16d)に書込指示信号を与える制御
部(CONT)である。
(21b) represents the write signal IRv, the register digital number IRAI, and the register digital number I.
a second logic means inputted with RAO as an inverted signal; (
21c) is a third logic means which receives the write signal IRV, the register digital number IRAO, and the register digital number IRA1 as inverted signals; (21d)
) is the write signal IRV and the register digital number IRA
a fourth logic means into which O5IflA1 is input, (14a
) to (14d) are the upper 4 bits D of the operand address displacement part (13) of the instruction word via the signal line (lab).
Address input terminal A to which SP (4 to 7) is input, and data input to which lower 4 bitosp (o to 3) of the operand address displacement part (13) of the instruction word is input via the signal line (18a). Each of the first to fourth tag arrays is constituted by a memory array having a terminal I, a data output terminal O, a write instruction signal input terminal W, and a clear instruction signal input terminal C. The clear instruction signal input terminal C has the first to
The outputs of the second logic means (21a) to (21d) are respectively input, and when the clear instruction signal input terminal C becomes significant, all contents are erased. (15a) to (15d) are the output 0 of these first to fourth tag arrays (14a) to (14d) and the lower 4 of the operand address displacement part (13).
The first to fourth comparators (17a) that compare bit DSP (0 to 3) receive the outputs from these first to fourth comparators, and also
A first multiplexer to which bits IO and II are input via signal lines (23a) (23b), and 2bit I
O, It outputs one of the first to fourth comparators. (16a) to (16d) are signal lines (
18b) via the operand address displacement part (13)
An address input terminal A to which the upper 4 bits of DSP (0 to 3) are input, a data input terminal to which data from the storage means (1) is input, an output terminal O, and a write instruction signal input terminal W. (17b) is the output O of these first to fourth data arrays and 2 bits of the modification register number part (12) of the instruction word. The second multiplexer to which l01II is input, the first to fourth multiplexers are input by 2bLtIo,
One of the data arrays (16a) to (16d) is output to the instruction decoding section (3). (24) is the 2 bits of the instruction word modification register number part (12): 1
0. Il is input and the first to fourth tag arrays (
14, a) to (14d) and the first to fourth data arrays (16a) to (16d).

この様に構成された分岐1橿命令キャッシュ・メモリ(
8)の動作を説明する。命令デコード部(3)によって
分岐命令と判所され、命令語のオペランド・アドレス指
定部が分岐目標命令キャッシュ・メモリ(8)に入力さ
れると、修飾レジスタ番号部(12)の2bitIO1
工1によって制御部(24)が第1〜第4のタグ・メモ
リ(14a)〜(14d)のうちの1つ及び第1〜第4
のデータ・アレイ(16a)〜(16d)の1つを選び
1選ばれたタグ・メモリの内容が比較器によって比較さ
れる。この比較結果が一致していれば、第1のマルチプ
レクサ(17a)を介して制御部(24)により修飾レ
ジスタ番号部(12)の番号に対応したデータ・アレイ
の内容、つまり、記憶手段(1)のデータの写しを第2
のマルチプレクサ(17b)を介して命令デコード部(
3)に送られる。一方、比較器(1,4a )〜(14
d)による比較結果が不一致であれば、制御部(24)
により第1〜第4のデータ・アレイ(16a)〜(16
d)はどれも選択されず、データは命令デコード部り3
)には送られず、アドレス変換部(5)が出力する物理
アドレスを使って記憶手段(1)から読み出されたデー
タをデータ・アレイに格納するとともに、オペランド・
アドレス変位部(13)の上位4 bitを登録情報と
してタグ・アレイに格納されることになる。さらに、こ
の分岐目標命令キャッシュ・メモリ(8)においては、
修飾レジスタの内容が変更されない限り、命令語のオペ
ランド・アドレス指定部だけで、飛先アドレスの記憶手
段(1)の内容が一義的に定まる性質を利用しているた
め、修飾レジスタの内容が変更された場合、修飾レジス
タ書込時のレジスタ番号を2 bitで表わしたものI
RAOlIRAIが示されるとともに、修飾レジスタへ
の書込信号lRb1が有意になるため、対応するタグ・
アレイの内容が全て消去されることになる。
Branch 1 instruction cache memory configured in this way (
The operation of 8) will be explained. When the instruction decode unit (3) determines that the instruction is a branch instruction and the operand address specification part of the instruction word is input to the branch target instruction cache memory (8), 2bit IO1 of the modification register number part (12)
The controller (24) controls one of the first to fourth tag memories (14a) to (14d) and the first to fourth tag memories (14a) to (14d).
One of the data arrays (16a) to (16d) is selected and the contents of the selected tag memory are compared by a comparator. If the comparison results match, the control section (24) controls the contents of the data array corresponding to the number in the modification register number section (12) via the first multiplexer (17a), that is, the storage means (1 ) as a second copy of the data.
The instruction decoding unit (
3). On the other hand, comparators (1, 4a) to (14
If the comparison result according to d) does not match, the control unit (24)
The first to fourth data arrays (16a) to (16
d) is not selected, and the data is stored in the instruction decode section 3.
), the data read from the storage means (1) using the physical address output by the address translation unit (5) is stored in the data array, and the operand
The upper 4 bits of the address displacement part (13) are stored in the tag array as registration information. Furthermore, in this branch target instruction cache memory (8),
Unless the contents of the qualification register are changed, the contents of the destination address storage means (1) are uniquely determined by the operand address specification part of the instruction word, so the contents of the qualification register will not change. , the register number at the time of writing the modification register is expressed in 2 bits I
RAOlIRAI is indicated and the write signal lRb1 to the modification register becomes significant, so the corresponding tag
All contents of the array will be erased.

この発明において、その具体的構成の1つは、記憶手段
に記憶されている記憶内容のうちで分岐命令である飛先
アドレスに記憶されているデータの一部の写しとこの飛
先アドレスへ分岐する分岐命令となる命令語の飛先アド
レスを指定する部分、つまりオペランド・アドレス指定
部分を上記写しの登録情報として保持する分岐目標命令
キャッシュ・メモリと1分岐命令の実行時に上記分岐目
標命令キャッシュ・メモリに記憶手段の飛先アドレスに
対応した内容の写しが格納されているか否かを分岐命令
の命令語の飛先アドレスを指定する部分から判定する手
段と、この判定の結果2分岐命令の飛先アドレスに対応
した写しが分岐目標命令キャッシュ・メモリに格納され
ていると判明した場合に上記飛先アドレスの写しを飛先
命令語として使用する手段と、上記判定の結果1分岐目
標命令キャッシュ・メモリに格納されていないと判定さ
れた場合に分岐命令の飛先アドレスを指定する部分から
求めた飛先アドレスに対応した内容を記憶手段から読み
出して分岐命令の飛先アドレスを指定する部分と共に分
岐目標命令キャッシュ・メモリに格納する手段と1分岐
命令の飛先アドレスを指定する部分から飛先アドレスを
求める時に使用するレジスタの内容が変更されたかを検
出する手段と5分岐目標命令キャッシュ・メモリが保持
している登録情報のうち変更されたレジスタを飛先アド
レスを求める時に必要とする分岐命令の飛先アドレス指
定部分が登録情報になっているものだけをすべて抹消す
る手段を備えているデータ処理装置にある。
In this invention, one of the specific configurations is to copy a part of the data stored in the destination address which is a branch instruction among the memory contents stored in the storage means and to branch to this destination address. A branch target instruction cache memory that holds the part that specifies the jump address of the instruction word that becomes the branch instruction to be executed, that is, the operand address designation part, as the registered information of the copy; means for determining whether or not a copy of the contents corresponding to the jump address of the storage means is stored in the memory from a part specifying the jump address of the instruction word of the branch instruction; means for using a copy of the destination address as a destination instruction word when it is determined that a copy corresponding to the destination address is stored in the branch target instruction cache memory; If it is determined that the jump address is not stored in the memory, the content corresponding to the jump address obtained from the part that specifies the jump address of the branch instruction is read from the storage means, and the content is branched together with the part that specifies the jump address of the branch instruction. A means for storing in a target instruction cache memory, a means for detecting whether the contents of a register used when obtaining a jump address from a part specifying a jump address of a 1-branch instruction has been changed, and a 5-branch target instruction cache memory. Data processing that is equipped with a means to delete all registered information in which the jump address specification part of the branch instruction required when finding the jump address is the register information that has been changed from among the registered information held. It's in the device.

[発明の効果] この発明は以上に述べたように、命令語の作用を指定す
る命令コード部及び命令コード部が指定する作用が必要
とするメモリ・アドレスを指定するオペランド・アドレ
ス指定部を有した命令語を解釈する命令デコード部から
2分岐命令として判定した場合に命令語のオペランド・
アドレス指定部を受け、このオペランド・アドレス指定
部に基づいて対応しかつ格納された記憶手段の記憶内容
の一部の写しを命令デコード部へ送る分岐目標命令キャ
ッシュ・メモリを設けたものとしたので。
[Effects of the Invention] As described above, the present invention has an instruction code section that specifies the action of an instruction word, and an operand address specification section that specifies the memory address required for the action specified by the instruction code section. When the instruction decoding unit that interprets the instruction word determines that it is a two-branch instruction, the operand of the instruction word
A branch target instruction cache memory is provided which receives the addressing section and sends a copy of a portion of the stored contents of the storage means corresponding to the operand addressing section to the instruction decoding section. .

分岐目標命令を早く分岐目標命令キャッシュ・メモリか
ら読み出せ、分岐命令実行後の待ち時間を短くでき、高
い処理性能を持ったデータ処理装置が得られるという効
果を有するものである。
This has the advantage that a branch target instruction can be quickly read from a branch target instruction cache memory, the waiting time after execution of a branch instruction can be shortened, and a data processing device with high processing performance can be obtained.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図ないし第3図はこの発明の一実施例を示し、第1
図はパイプ・ラインの1つのステージを示すブロック線
図、第2図は一連の動作を示すタイミング・チャート、
第3図は分岐目標命令キャッシュ・メモリ(8)の−例
を示すブロック線図、第4図は従来のデータ処理装置の
1つのステージを示すブロック線図、第5図は命令語の
形式を示す図5第6図及び第7図は第4図に示したもの
の一連の動作を示すタイミング・チャートである。 図において、(1)は記憶手段、(2)は命令語続出部
、(3)は命令デコード部、(4)はオペランド・アド
レス計算部、(5)はアドレス変換部、(6)はオペラ
ンド・アクセス制御部、(7)は実行部、(8)は分岐
目標命令キャッシュ・メモリ、 (10)は命令語の命
令コード部、 (12)(13)は命令語におけるオペ
ランド・アドレス指定部の修飾レジスタ番号部及びオペ
ランド・アドレス変位部である。 なお、各図中同一符号は同−又は相当部分を示す。
Figures 1 to 3 show one embodiment of the present invention.
The figure is a block diagram showing one stage of the pipeline, and Figure 2 is a timing chart showing a series of operations.
FIG. 3 is a block diagram showing an example of a branch target instruction cache memory (8), FIG. 4 is a block diagram showing one stage of a conventional data processing device, and FIG. 5 shows the format of an instruction word. FIGS. 6 and 7 are timing charts showing the series of operations shown in FIG. 4. In the figure, (1) is the storage means, (2) is the instruction word succession unit, (3) is the instruction decode unit, (4) is the operand address calculation unit, (5) is the address translation unit, and (6) is the operand・Access control section, (7) is the execution section, (8) is the branch target instruction cache memory, (10) is the instruction code section of the instruction word, (12) and (13) are the operand address specification section of the instruction word. These are a qualified register number part and an operand address displacement part. Note that the same reference numerals in each figure indicate the same or corresponding parts.

Claims (1)

【特許請求の範囲】[Claims] 命令語の作用を指定する命令コード部及び命令コード部
が指定する作用が必要とするメモリ・アドレスを指定す
るオペランド・アドレス指定部を有した命令語及びデー
タ等の記憶内容が記憶された記憶手段、この記憶手段に
記憶された命令語を読み出す命令語読出部、この命令語
読出部によって読み出された命令語を解釈する命令デコ
ード部、上記命令語のオペランド・アドレス指定部を登
録情報として上記記憶手段の記憶内容の一部の写しを格
納し、上記命令デコード部が命令語の命令コードによっ
て分岐命令として判定した場合に上記命令デコード部か
ら命令語のオペランド・アドレス指定部を受け、このオ
ペランド・アドレス指定部に基づいて対応しかつ格納さ
れた記憶手段の記憶内容の一部の写しを命令デコード部
へ送る分岐目標命令キャッシュ・メモリを備えたデータ
処理装置。
Storage means for storing storage contents such as instruction words and data, which has an instruction code section that specifies the action of the instruction word, and an operand address specification section that specifies the memory address required for the action specified by the instruction code section. , an instruction word reading unit that reads out the instruction word stored in this storage means, an instruction decoding unit that interprets the instruction word read by this instruction word reading unit, and an operand address designation part of the instruction word as registered information. A copy of a part of the memory contents of the storage means is stored, and when the instruction decoding section determines that the instruction word is a branch instruction based on the instruction code of the instruction word, it receives the operand address designation part of the instruction word from the instruction decoding section and reads this operand. - A data processing device comprising a branch target instruction cache memory which sends a copy of the corresponding and stored portion of the stored contents of the storage means based on the addressing section to the instruction decoding section.
JP3761189A 1989-02-17 1989-02-17 Data processor Pending JPH02217923A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3761189A JPH02217923A (en) 1989-02-17 1989-02-17 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3761189A JPH02217923A (en) 1989-02-17 1989-02-17 Data processor

Publications (1)

Publication Number Publication Date
JPH02217923A true JPH02217923A (en) 1990-08-30

Family

ID=12502397

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3761189A Pending JPH02217923A (en) 1989-02-17 1989-02-17 Data processor

Country Status (1)

Country Link
JP (1) JPH02217923A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0773104A (en) * 1993-07-01 1995-03-17 Internatl Business Mach Corp <Ibm> Cache system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0773104A (en) * 1993-07-01 1995-03-17 Internatl Business Mach Corp <Ibm> Cache system

Similar Documents

Publication Publication Date Title
JP2818529B2 (en) Information storage device
JPH02217923A (en) Data processor
JPH11328997A (en) Semiconductor memory device and burn-in test method
JPH11110214A (en) Command control system and method for the same
JPS5815810B2 (en) digital processing equipment
JPH0283736A (en) Osc detection system for buffer memory controller
JP3132566B2 (en) Instruction precedence controller
JPH05189352A (en) I/o address translation system
US20020156964A1 (en) Reduction of bank switching instructions in main memory of data processing apparatus having main memory and plural memory
JPH1040165A (en) Data read method and read buffer
JPS61220031A (en) Information processing device
JPS6391756A (en) Partial write instruction processing system for storage device
JPH04364532A (en) Data processing method of central processor
US5822775A (en) Efficient data processing method for coefficient data in a digital dignal, processor
JPS6158042A (en) Microprogram control system
JPS5919287A (en) Input and output processing system by memory access instruction
JPH0333951A (en) Microcomputer system
JPH0348535B2 (en)
JPH07114502A (en) Data processor, data storage device, and their testing method
JPS6327795B2 (en)
JPH01263830A (en) Information processor
JP2000242546A (en) Unit and method for arithmetic storage and information processor
JPH02249027A (en) Instruction fetch decoder
JPS59128644A (en) Sequence control circuit
JPH03164945A (en) Data processor