JPS62145430A - Data processor - Google Patents

Data processor

Info

Publication number
JPS62145430A
JPS62145430A JP60288742A JP28874285A JPS62145430A JP S62145430 A JPS62145430 A JP S62145430A JP 60288742 A JP60288742 A JP 60288742A JP 28874285 A JP28874285 A JP 28874285A JP S62145430 A JPS62145430 A JP S62145430A
Authority
JP
Japan
Prior art keywords
instruction
register
information
stored
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
JP60288742A
Other languages
Japanese (ja)
Other versions
JPH0812601B2 (en
Inventor
Mineo Akashi
明石 峰雄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP60288742A priority Critical patent/JPH0812601B2/en
Publication of JPS62145430A publication Critical patent/JPS62145430A/en
Publication of JPH0812601B2 publication Critical patent/JPH0812601B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PURPOSE:To reduce the processing time of program address revision by providing a means modifying the content of a register storing a program address depending on the stored control information and generating the address of an instruction executed next. CONSTITUTION:Stored operation designation information is decoded by an instruction decoder 50, and whether or not the information is an instruction of plural word lengths is discriminated, a control signal 501 is generated and stored in a word length register 110 and the information representing how many word lengths the instruction starting the processing has is stored in the register 110. Thus, the head address information of the instruction word executed next is generated by adding the storage information of the register 110 to the content of the program counter 70 being the instruction word head address in the process of execution. Further, the content of the counter 70 and the register 110 is transferred to an operation circuit 60 in the timing optimum in the instruction processing sequence to operate the next instruction address, the result of operation is stored in the counter 70 to apply the revision processing of the program address.

Description

【発明の詳細な説明】 〔技術分野〕 本発明は、ストアードグログラム制御のデータ処理装置
に関し、とくに実行している命令の語長に対応してプロ
グラムアドレス値を吏新する憬構に関する。
DETAILED DESCRIPTION OF THE INVENTION [Technical Field] The present invention relates to a stored program control data processing device, and more particularly to a mechanism for updating program address values in accordance with the word length of an instruction being executed.

〔技術の背景〕[Technology background]

ストアードプログラム制御のデータ処理装置は、プログ
ラムアドレス情報を保持するカウンタの内容でメモリを
アドレス指定しそこから命令語を読み出し、該命令語を
解読して対応するデータ転送・演算操作力どの処理を実
行している。
A stored program controlled data processing device specifies a memory address using the contents of a counter that holds program address information, reads an instruction word from there, decodes the instruction word, and executes the corresponding data transfer, arithmetic operation, etc. are doing.

装置の処理速度を支配する要因は命令語の読み出しく以
下、命令フェッチという)時間及び処理データの読み・
書きの為のメモリアクセス時間である。従って、データ
処理装置の内部レジスタ情報を処理している時に処理デ
ータアクセスの無いメモリから次に実行すべき命令語を
先行してフェッチし、これによってメモリアクセスの効
率を向上させ処理速度を高める、いわゆる先行命令フエ
、千手法が取られている。
The factors that govern the processing speed of the device are the time required to read instructions (hereinafter referred to as instruction fetch) and the time required to read and process data.
This is the memory access time for writing. Therefore, when processing internal register information of a data processing device, the instruction word to be executed next is fetched in advance from the memory where processing data is not accessed, thereby improving the efficiency of memory access and increasing the processing speed. Thousands of so-called advance orders are being used.

前述の高速化手法では、先行フェッチした命令語をバッ
ファレジスタに記憶させて、該バッファの命令語に基い
て命令デコード、データ転送、演算操作などの定められ
た処理を実行している。しかし、処理データとしてメモ
リをアクセスする命令が頻繁に実行される場合、先の手
法ではメモリから命令語のフェッチが出来ないため、実
行する命令の種類、プログラムに依存して命令語の先行
フェッチ可能な状態が変化する。この状態変化の影響を
受けずにメモリアクセスの効率を高めて高速処理を実現
するには、先行フェッチされる命令語のバッファ記憶容
量を増すことが有効であり、複数語容量のバッファ記憶
を備えた装置が提案されている。
In the above-mentioned speed-up method, the previously fetched instruction word is stored in a buffer register, and predetermined processing such as instruction decoding, data transfer, arithmetic operation, etc. is executed based on the instruction word in the buffer. However, if instructions that access memory as processing data are frequently executed, the previous method cannot fetch the instruction word from memory, so it is possible to pre-fetch the instruction word depending on the type of instruction to be executed and the program. state changes. In order to improve the efficiency of memory access and achieve high-speed processing without being affected by this state change, it is effective to increase the buffer storage capacity for pre-fetched instruction words. A device has been proposed.

複数語容量の命令バッファを備えたデータ処理装置では
、バッファ記憶の入力と出力に対応して、命令語を読み
出すメモリアドレスを指定するポインタ(以下、7エツ
チポインタという)と、実行過程の命令語アドレスを保
持するカウンタ(以下、プログラムカウンタという)と
の2a類のハードウェアレジスタを備えるのが通例であ
る。
In a data processing device equipped with an instruction buffer having a capacity of multiple words, a pointer (hereinafter referred to as a 7-etch pointer) that specifies a memory address from which an instruction word is read out and a pointer that specifies a memory address from which an instruction word is read out corresponds to the input and output of the buffer storage, and a pointer that specifies the memory address for reading out an instruction word, and a It is customary to include a class 2a hardware register including a counter (hereinafter referred to as a program counter) that holds addresses.

前者の7エツチポインタ制御は、命令語を先行フェッチ
して命令バッファに格納する動作に連動し、次にフェッ
チすべき命令のアドレス値に更新するもので、単純な論
理回路にて実現できる。しかし、後者のプログラムカウ
ンタ制御は、命令語長に対応したカウンタ情報の更新や
、分岐命令の実行における分岐アドレス値のロードや、
サブルーチンのコール・リターン命令におけるスタック
への退避・後締など単純な加算処理では実行できない複
雑な処理が必要である。
The former 7-etch pointer control is linked to the operation of prefetching an instruction word and storing it in an instruction buffer, and updates the address value of the instruction to be fetched next, and can be realized by a simple logic circuit. However, the latter program counter control involves updating counter information corresponding to the instruction word length, loading a branch address value when executing a branch instruction,
Complex processing is required that cannot be performed by simple addition processing, such as saving to the stack and post-closing in subroutine call and return instructions.

〔従来技術と問題点〕[Conventional technology and problems]

基本的な先行7エツチ制御のデータ処理装置のブロック
構成を第1図に示して説明する。第1図の装置は、プロ
グラム及び処理データを記憶するメモリ20と、実行す
る命令語を保持する命令レジスタ40と、前記命令レジ
スタ4oの命令語を解読して装置各部への制御信号50
0を発生する命令デコーダ50と、算術論理演算の処理
する演算回路60と、プログラムアドレスを保持するプ
ログラムカウンタ70と、データ転送及び演算等の処理
データを記憶し多目的に使用される汎用レジスタ80と
、処理データ等を一時記憶するテンポラリレジスタ90
に加え、先行7エツチ制御のための7エ、チアドレスを
保持するフェッチポインタ10と、先行フェッチの命令
語情報を記憶する命令バッファi0とから成り、データ
バス100を介して装置各部の間でデータ転送する。
The block configuration of a basic seven-etch data processing apparatus is shown in FIG. 1 and will be described. The apparatus shown in FIG. 1 includes a memory 20 for storing programs and processing data, an instruction register 40 for holding commands to be executed, and a control signal 50 for decoding the commands in the command register 4o to each part of the apparatus.
An instruction decoder 50 that generates 0, an arithmetic circuit 60 that processes arithmetic and logical operations, a program counter 70 that holds program addresses, and a general-purpose register 80 that stores processing data such as data transfer and calculations and is used for multiple purposes. , a temporary register 90 that temporarily stores processing data, etc.
In addition, it consists of a fetch pointer 10 that holds the 7th and 7th fetch address for controlling the preceding 7th fetch, and an instruction buffer i0 that stores the instruction word information of the preceding fetch, and is connected between each part of the device via the data bus 100. Transfer data.

一般にデータ処理装置では、メモリ操作命令に比較して
汎用レジスタ操作命令はI)種類が多い、11)命令語
長が短かい、l11)処理時間が短かい等の利点が有る
ことから汎用レジスタを使用してデータ処理を行うこと
が多い。
In general, in data processing devices, general-purpose register manipulation instructions have advantages over memory manipulation instructions, such as: (1) more types, (11) shorter instruction word length, and (11) shorter processing time. It is often used to process data.

汎用レジスタ操作命令の実行では、データバス100を
介して演算回路60と汎用レジスタ80の間でデータ転
送が行われ、メモリ20がアクセスされ入出力線202
を介してメモリデータが転送されることは無く、フェッ
チポインタlOでメモリ20をアドレス指定して命令語
をデータ線201に読み出し命令バッファ30に格納で
き、命令の実行と続く命令の7エツチとを並列に処理さ
せデータ処理装置の命令処理時間を短縮できる。
When a general-purpose register manipulation instruction is executed, data is transferred between the arithmetic circuit 60 and the general-purpose register 80 via the data bus 100, the memory 20 is accessed, and the input/output line 202 is accessed.
Memory data is not transferred via the memory 20, and the instruction word can be read out to the data line 201 and stored in the instruction buffer 30 by addressing the memory 20 with the fetch pointer IO, and the execution of the instruction and the subsequent 7 etches of the instruction can be executed. The command processing time of the data processing device can be shortened by performing parallel processing.

命令パ、7ア30の記憶容量を増せば前記先行7エツチ
が有効に働き命令バッファ30には実行すべき命令語が
十分に記憶された状態を保つことができる。しかしなが
ら該状態においては、メモリ20.演算回路60、プロ
グラムカウンタ70、汎用レジスタ80.テンポラリレ
ジスタ90などの装置各部の間でデータ転送・演算操作
をするところの命令処理シーケンスの実行時間が命令処
理時間を決定してしまうことKなり、命令処理シーケン
スを短縮できる機構が提供されれば命令処理時間をさら
に短縮することが出来る。
If the storage capacity of the instruction buffer 30 is increased, the preceding 7 etchings will work effectively and the instruction buffer 30 will be able to maintain a state in which a sufficient number of commands to be executed are stored. However, in this state, memory 20. Arithmetic circuit 60, program counter 70, general purpose register 80. The execution time of the instruction processing sequence that performs data transfer and arithmetic operations between various parts of the device such as the temporary register 90 determines the instruction processing time.If a mechanism was provided that could shorten the instruction processing sequence. Instruction processing time can be further reduced.

ここで、命令処理シーケンスは、データ転送・演算など
命令機能として定義された処理の実行と、命令実行に連
動したプログラムアドレスの更新とに分類され、本発明
は後者に関係するもので、以下プログラムアドレスの制
御を中心に説明する。
Here, the instruction processing sequence is classified into execution of processing defined as an instruction function such as data transfer and calculation, and updating of a program address linked to instruction execution. The explanation will focus on address control.

データ処理装置の命令語にはオペレージ曹ン指定だけの
単語長命令以外に処理定数やアドレス指定部を含んだ複
数語長の命令があり、いずれも命令バッファから1語づ
つ読み出して処理を実行している。
In addition to word-length instructions that only specify an operating code, the instruction words of a data processing device include multiple-word instructions that include processing constants and address specification parts, and in both cases, the instructions are read one word at a time from the instruction buffer and executed. ing.

第1図の装置では、命令の第1語であるオペレージ嘗ン
指定部を命令バッファ30からデータ線301を介して
転送して命令レジスタ40に格納しており、第2語以後
の処理定数やアドレス指定部を命令バッファ30から読
み出しデータ線302及びデータバス100を介して各
々テンポラリレジスタ90やメモリ20に転送している
。ここで、命令バッファ30からの読み出しに同期して
、1)データバス100を介してプログラムカウンタ7
0の内容を演算回路60に転送し、Il)演算回路60
にて1を加算して次の命令アドレス値を発生し、 111)前記演算結果をデータバス100を介して転送
し、プログラムカウンタ70に蜂納して、一連のプログ
ラムアドレス更新処理を行っている。
In the device shown in FIG. 1, the first word of the instruction, the operation specification part, is transferred from the instruction buffer 30 via the data line 301 and stored in the instruction register 40, and the processing constants and other words after the second word are transferred. The address designation part is read from the instruction buffer 30 and transferred to the temporary register 90 and memory 20 via the data line 302 and data bus 100, respectively. Here, in synchronization with reading from the instruction buffer 30, 1) the program counter 7 is read via the data bus 100;
0 is transferred to the arithmetic circuit 60, and Il) the arithmetic circuit 60
111) The operation result is transferred via the data bus 100 and stored in the program counter 70 to perform a series of program address update processing. .

前記アドレス更新処理の1)及び111)ではデータバ
ス100を介して転送がなされており、この間は命令バ
ッファ30からメモリ20やテンポツリレジスタ90に
命令語情報を転送することは出来ず、異なる期間で命令
情報を転送することになり処理シーケンス及びその処理
時間が増加する。
In 1) and 111) of the address update processing, transfer is performed via the data bus 100, and during this time, instruction word information cannot be transferred from the instruction buffer 30 to the memory 20 or the tempo tree register 90, and the instruction information is transferred for different periods. As a result, the processing sequence and its processing time increase.

従ってプログラムアドレス更新のための処理回数を減小
できれば命令処理時間を短縮することができ、特に複数
語長の命令では効果を発揮する。
Therefore, if the number of times of processing for updating the program address can be reduced, the instruction processing time can be shortened, which is particularly effective for instructions with a plurality of word lengths.

次にサブルーチン処理のコール命令におけるプログラム
アドレス制御に関し、以下に処理シーケンスを示して説
明する。
Next, program address control in a call instruction for subroutine processing will be explained by showing a processing sequence below.

1)命令の第1語を命令バッファ30から命令レジスタ
40に転送して命令デユーダ50にてサブルーチンコー
ル命令であることを解読し、プログラムカランタフ0の
内容を命令の第2飴に対応するアドレス値に更新する。
1) The first word of the instruction is transferred from the instruction buffer 30 to the instruction register 40, the instruction decoder 50 decodes it as a subroutine call instruction, and the contents of program callantaff 0 are transferred to the address corresponding to the second candy of the instruction. Update to value.

11)サブルーチンアドレスを示す命令の第2語を命令
バッファ30からテンポラリレジスタ90に転送し、プ
ログラムカウンタ70の内容を次の命令語の先頭アドレ
ス値に更新する。
11) Transfer the second word of the instruction indicating the subroutine address from the instruction buffer 30 to the temporary register 90, and update the contents of the program counter 70 to the start address value of the next instruction word.

111)メモリ20のスタック領域にプログラムカラ/
り内容を転送、格納して、サブルーチンからのリターン
に備えて退避する。
111) Store program color/in the stack area of memory 20.
The contents are transferred and stored, and saved in preparation for return from the subroutine.

IV)テンポラリレジスタ90の内容をプログラムカウ
ンタ70及び7エ、チポインタ10に転送して、サブル
ーチンプログラムの命令フェッチを開始する。
IV) Transfer the contents of the temporary register 90 to the program counters 70 and 7 and pointer 10 and start fetching instructions of the subroutine program.

ここで、処理シーケンスit)以前にプログラムカウン
タ70の内容を次の命令語アドレス値に更新できれば、
命令の第2語を命令バッファに置いたまま処理シーケン
ス111)のプログラムカウンタの退避処理ができる。
Here, if the contents of the program counter 70 can be updated to the next instruction word address value before the processing sequence it),
The program counter saving process of processing sequence 111) can be performed while leaving the second word of the instruction in the instruction buffer.

また、処理ジ−タンスIV)では命令バッファからサブ
ルーチアドレスであるところの命令第2語を転送するこ
とが可能になり、処理シーケンス11)及びテンポラリ
レジスタ90’は不要となる。
Furthermore, in processing sequence IV), it becomes possible to transfer the second word of the instruction, which is a subroutine address, from the instruction buffer, and the processing sequence 11) and the temporary register 90' become unnecessary.

〔発明の目的〕[Purpose of the invention]

本発明は、命令語長に対応したプログラムカウンタ情報
の更新を命令処理シーケンスの最適なタイミングで短時
間に処理できる機構を提供するものである。とくに、命
令処理時間の短縮により高速なデータ処理装置を実現し
、命令処理で使用される情報を命令バッファに最適なタ
イミングまで保持して命令の実行に必要とされるハード
ウェアを減小させることを目的にしている。
The present invention provides a mechanism that can update program counter information corresponding to the instruction word length in a short time at the optimal timing of the instruction processing sequence. In particular, the goal is to realize a high-speed data processing device by reducing instruction processing time, and to reduce the hardware required for instruction execution by holding information used in instruction processing in an instruction buffer until the optimal timing. The purpose is

〔発明の構成〕[Structure of the invention]

本発明では命令処理の開始時点で必要とされる語長分の
命令情報がパ、7アレジスタに記憶されているか判定し
、前記バッファ記憶の判定を指定した命令の制御情報を
記憶して該情報によりプログラムアドレスを保持するレ
ジスタの内容を修飾し次に実行する命令のアドレス値を
発生することを特徴にしている。
In the present invention, it is determined whether the instruction information for the word length required at the start of instruction processing is stored in the buffer storage register, and the control information of the instruction that specifies the buffer storage determination is stored. It is characterized by modifying the contents of the register that holds the program address and generating the address value of the next instruction to be executed.

これは、命令を先行フェッチしてバッファレジスタに記
憶するデータ処理装置では命令処理が可能か判別するた
めバッファレジスタに有効な命令情報があるか否かを判
別しているという知見に基づく。
This is based on the knowledge that in a data processing device that fetches an instruction in advance and stores it in a buffer register, it is determined whether or not there is valid instruction information in the buffer register in order to determine whether the instruction can be processed.

〔発明の実施例〕[Embodiments of the invention]

第2図に本発明の一実施例のデータ処理装置のブロック
構成図を示しその詳細な説明を行う。第2図中、フェッ
チポインタ10、メモリ20、命令バッファ30.命令
レジスタ40.命令デコーダ50、演算回路60、プロ
グラムカウンタ70゜汎用レジスタ80.データバス1
00及び制御イキ号500は第1図の基本的な装置と同
様であり詳細な説明を省略して、命令処理との関係を中
心に説明する。
FIG. 2 shows a block diagram of a data processing apparatus according to an embodiment of the present invention, and will be described in detail. In FIG. 2, a fetch pointer 10, a memory 20, an instruction buffer 30 . Instruction register 40. Instruction decoder 50, arithmetic circuit 60, program counter 70°, general-purpose register 80. data bus 1
00 and control key number 500 are the same as those in the basic device shown in FIG. 1, so a detailed explanation will be omitted and the explanation will focus on the relationship with command processing.

まず、命令処理が終了する時、命令デコーダ50は命令
処理が終了することを示す制御信号500を発生して命
令バッファ30に知らせ、命令パ。
First, when the instruction processing ends, the instruction decoder 50 generates a control signal 500 indicating the end of the instruction processing to inform the instruction buffer 30, and the instruction decoder 50 outputs the control signal 500 indicating the end of the instruction processing.

ファ30から次に実行する命令語のオペレージ。The operation of the instruction word to be executed next from the file 30.

ン指定情報をデータ線301を介して命令レジスタ40
に格納せしめる。次に、格納されたオペレージ璽ン指定
情報を命令デコーダ50で解読して処理定数やアドレス
指定部を含んだ複数鎖長の命令であるか否かを判別し、
制御信号501を発生して該命令語の全てが命令バッフ
ァに記憶されているかの判定を指示し、命令バッファ3
0からの判定結果信号303を判別して以後の制御を決
定する。
instruction register 40 via data line 301.
Store it in Next, the stored operation designation information is decoded by the instruction decoder 50 to determine whether it is an instruction with multiple chain lengths including processing constants and address designation parts,
A control signal 501 is generated to instruct determination as to whether all of the instruction words are stored in the instruction buffer, and the instruction buffer 3
The determination result signal 303 from 0 is determined to determine subsequent control.

前記判定にて処理実行に必要とされる情報が命令バッフ
ァ30に記憶されていることを確認したならば、命令デ
コーダ50はデータ処理装置の各部に対して実行する命
令の処理に対応する制御信号500を発生しデータ転送
、演算等の命令処理を開始させる。以前の命令処理にお
いてメモリ20に対する処理データアクセスが頻繁にあ
った場合など命令バッファ30に全ての命令情報が記憶
されてないことがあり、前記判定結果信号303により
該状態を検知したならと命令処理の開始を保留し命令7
工ツチ動作を継続させ必要とされる命令語情報が揃うま
で待つ。このデータ処理装置では、前記バッファ記憶の
状態判定と同時にその判定を指示した制御信号501を
語長レジスタ110に記憶させており、処理を開始する
命令が何殆長であるかを示す情報が語長レジスタ110
に保持されることになる。従って、実行過程の命令語先
頭アドレス値であるところのプログラムカウンタ20の
内容に、語長レジスタ110の記憶情報を加算すること
によって次に実行する命令語の先頭アドレス情報を発生
できる。さらに、命令処理り一ケンスの最適なタイミン
グで、プログラムカウンタ20及び語長レジスタ110
の内容をデータバス100を介して演算回路6oに転送
して次命令アドレスを演算し、その演′N、結果をプロ
グラムカウンタ20に格納して、プログラムアドレスの
更新処理が行われる。
If it is confirmed in the above judgment that the information required for processing execution is stored in the instruction buffer 30, the instruction decoder 50 sends a control signal corresponding to the processing of the instruction to be executed to each part of the data processing device. 500 to start processing instructions such as data transfer and calculation. If the instruction buffer 30 does not store all the instruction information, such as when there has been frequent processing data access to the memory 20 in previous instruction processing, and if this state is detected by the determination result signal 303, the instruction processing is performed. order 7 withholding the start of
Continuing the construction operation waits until the necessary command information is collected. In this data processing device, the control signal 501 instructing the determination is stored in the word length register 110 at the same time as the buffer storage state is determined, and information indicating how long the instruction to start processing is is stored in the word length register 110. long register 110
will be held. Therefore, by adding the information stored in the word length register 110 to the contents of the program counter 20, which is the instruction word start address value in the execution process, the start address information of the next instruction word to be executed can be generated. Furthermore, the program counter 20 and word length register 110 are
is transferred to the arithmetic circuit 6o via the data bus 100 to calculate the next instruction address, and the result is stored in the program counter 20 to update the program address.

なお、命令機能として定義されるメモリ20や汎用レジ
スタ800紀憶データの転送および演算操作は第1回の
装置と同様に演算回路60との間でデータ転送等を行っ
て処理される。
Note that the transfer and arithmetic operation of data stored in the memory 20 and the general-purpose register 800, which are defined as instruction functions, are processed by transferring data to and from the arithmetic circuit 60, as in the first device.

命令語のオペレージ冒ン指定情報が命令レジスタ40に
転送される場合及び命令語中の15!l理定数やアドレ
ス指定情報がデータ線3023−介して導出される場合
に、命令バッファ30に記憶された情報は不峻となる。
When the operation specification information of the instruction word is transferred to the instruction register 40 and 15! in the instruction word! When the logical constants and addressing information are derived via data line 3023-, the information stored in instruction buffer 30 becomes unreliable.

第2図の実施例では、実行過程で前記条件が満百れる時
不要となる情報の記憶ステータスをクリアして該記憶域
を空状態に設定し、命令バッファ30はバッファ記憶域
に空きが生じたことを検知して該空領域をつめバッファ
記憶情報を整列させ、同時に先行フェッチ制御信号30
4を発生してフェッチポインタl0IC知らせる。実施
例のデータ処理装置では、前記のバッファ記憶域に空き
があることを示す先行7工ツチ制御信号304が出力さ
れ、命令デコーダ50が発生する制御信号500からメ
モIJ 20に対する処理データアクセスが無いことを
検知する時、フエ、チポインタ10でメモリ20をアド
レス指定して命令語を読み出し命令バッファ30に格納
し、さらにフェッチポインタ10の内容を次に命令フェ
ッチすべきアドレス値に更新している。
In the embodiment shown in FIG. 2, when the above-mentioned conditions are satisfied during the execution process, the storage status of unnecessary information is cleared and the storage area is set to empty, and the instruction buffer 30 has an empty buffer storage area. The empty area is filled up and the buffer storage information is arranged, and at the same time, the advance fetch control signal 30 is activated.
4 to notify the fetch pointer l0IC. In the data processing device of the embodiment, the preceding seven-step control signal 304 indicating that there is space in the buffer storage area is output, and there is no processing data access to the memo IJ 20 from the control signal 500 generated by the instruction decoder 50. When this is detected, the memory 20 is addressed by the pointer 10, the instruction word is read out and stored in the instruction buffer 30, and the contents of the fetch pointer 10 are updated to the address value at which the next instruction should be fetched.

第2図の本発明実施例における命令バッファ回路30と
命令レジスタ400回路構成を第3図に示す。第3図中
で第2図と同じものには同一番号を付している。第3図
の回路では命令レジスタ40も含み4語長の命令情報を
記憶でき、レジスタ311.312,313は命令語を
バッファ記憶しファースト・イン・ファースト・アウト
のシフトする。フリ、プフロップ321,322,32
3゜324は、各々対応するレジスタ311,312゜
313、命令レジスタ40に有効な命令情報が記憶され
ているか否かのステータスを保持し、セット状態は対応
レジスタに有効情報が格納されていることを示し、リセ
ット状態は有効情報が格納されてない空状態であること
を示している。ゲート回路331,332,333,3
34は、命令パ、ファ書き込み信号341、バッファ読
み出し信号342、命令処理終了信号343がアクティ
ブとなる時に7アースト・イン・7アースト・アウトの
シフトを制御する。ステータス選択回路350は命令デ
コーダ50が発生する制御信号501の指定ニよってレ
ジスタ311〜313及び命令レジスタ40の状態を示
すフリ、プフロ、プ321〜324の信号いずれか1つ
を選択してバッファ状態判定信号303として命令デコ
ーダ50に伝達する。ステータス選択回路350でリセ
ット状態の7リツプフロ、プを選択した場合、対応した
レジスタに有効情報がない事を示す判定結果信号303
が伝達され、データ処理装置は命令処理を中断して保留
し、セット状態の79.ラフ0.プを選択した場合、有
効情報がある事を示す判定結果信号303が伝達され、
命令処理を継続する。
FIG. 3 shows the circuit configurations of the instruction buffer circuit 30 and instruction register 400 in the embodiment of the present invention shown in FIG. Components in FIG. 3 that are the same as those in FIG. 2 are given the same numbers. The circuit shown in FIG. 3 also includes an instruction register 40 and is capable of storing four-word instruction information, and registers 311, 312, and 313 buffer instruction words and shift them in a first-in first-out manner. Furi, pflop 321, 322, 32
3゜324 holds the status of whether or not valid instruction information is stored in the corresponding registers 311, 312゜313 and instruction register 40, respectively, and the set state indicates that valid information is stored in the corresponding register. The reset state indicates an empty state in which no valid information is stored. Gate circuit 331, 332, 333, 3
34 controls the 7-first-in/7-first-out shift when the instruction buffer, buffer write signal 341, buffer read signal 342, and instruction processing end signal 343 become active. The status selection circuit 350 selects any one of signals 321 to 324 indicating the states of the registers 311 to 313 and the instruction register 40 according to the specification of the control signal 501 generated by the instruction decoder 50, and determines the buffer state. It is transmitted to the instruction decoder 50 as a determination signal 303. When the status selection circuit 350 selects the 7-lip flop in the reset state, a determination result signal 303 indicating that there is no valid information in the corresponding register is generated.
is transmitted, the data processing device interrupts and suspends the instruction processing, and sets 79. Rough 0. If the option is selected, a determination result signal 303 indicating that there is valid information is transmitted;
Continue instruction processing.

まず、命令デコーダ50から命令処理の終了信号343
が発生されると、7リツプ70ツブ324がリセットさ
れ対応する命令レジスタ40が空状態となる。ゲート回
路334でフリ、プフロ、プ323.324の値を基に
命令レジス・り40が空状態でレジスタ313に有効情
報が格納されていることを判定して、レジスタ313の
記憶情報をデータ線301を介して命令レジスタ40に
転送する。該動作と同時に命令レジスタ40に対応する
フリップ70ツブ314はセットされ、レジスタ313
に対応するフリ、プフロップ313Fiリセ、トされ、
命令レジスタ4oは有効情報の格納状態となシ、レジス
タ313は有効情報が無いすなわち空状態となる。レジ
スタ313が空状態となると、隣接するレジスタ312
に有効情報が格納されているかゲート回路332で判定
し、該情報をレジスタ313に転送させレジスタ313
が有効情報格納の状態(ツリツブフロップ323がセッ
ト)でレジスタ312が空状態(フリップフロップ32
2がリセット)Kする。
First, an instruction processing end signal 343 is sent from the instruction decoder 50.
When the 70 lip 324 is generated, the 7 lip 70 tube 324 is reset and the corresponding instruction register 40 becomes empty. The gate circuit 334 determines that the instruction register 40 is empty and valid information is stored in the register 313 based on the values of FRI, PUFRO, and PUFRO 323 and 324, and transfers the stored information of the register 313 to the data line. 301 to the instruction register 40. At the same time as this operation, the flip 70 knob 314 corresponding to the instruction register 40 is set, and the register 313
The corresponding flop 313Fi resetting is done,
The instruction register 4o is in a state where no valid information is stored, and the register 313 is in a state where no valid information is stored, that is, it is in an empty state. When the register 313 becomes empty, the adjacent register 312
The gate circuit 332 determines whether valid information is stored in the register 313 and transfers the information to the register 313.
is in a state where valid information is stored (the flip-flop 323 is set) and the register 312 is in an empty state (the flip-flop 323 is set).
2 is reset)K.

同様に隣接するレジスタ312と311の状態をゲート
回路331で判定しレジスタ311の情報をレジスタ3
12に転送して7リツプフロ、プ321.322の状態
を設定する。
Similarly, the states of the adjacent registers 312 and 311 are determined by the gate circuit 331, and the information of the register 311 is transferred to the register 3.
12 and sets the status of 7 lip flops and 321 and 322.

以上の動作を連続的に次々と隣接するレジスタ間で行っ
た結果レジスタ311が空状態(フリ。
As a result of performing the above operations one after another between adjacent registers, the register 311 becomes empty (free).

プフロ、プ321がリセット)となり、該状態を示す信
号304を7エツチポインタ10に伝達して命令7エツ
チを促し、メモリ20から命令語を読み出してレジスタ
311〜313に有効情報がパ、ファ記憶された状態を
保つ制御を行う。
The signal 304 indicating this state is transmitted to the 7 etch pointer 10 to prompt the instruction 7 etch, the instruction word is read from the memory 20, and the valid information is stored in the registers 311 to 313. control to maintain the current state.

命令の処理過程において、第2Wr!以後の情報すなわ
ち命令バッファ311〜313に記憶されている情報を
処理定数やアドレス指定情報として使用する場合、命令
デコーダ50からバッファ読み出し信号342を発生し
てレジスタ313の情報をデータa302を介してデー
タバス100に導出する。同時に、バッファ読み出し信
号342を基にゲート回路333を通してフリップフロ
、プ323をリセットし、レジスタ313を空状態に設
定する。
In the process of processing the command, the second Wr! When using the subsequent information, that is, the information stored in the instruction buffers 311 to 313 as processing constants or addressing information, the instruction decoder 50 generates a buffer read signal 342 and the information in the register 313 is read as data via the data a 302. The bus 100 is routed to the bus 100. At the same time, the flip-flop 323 is reset through the gate circuit 333 based on the buffer read signal 342, and the register 313 is set to an empty state.

その後は先に述べた様に隣接するレジスタ間で有効情報
の有無を判定して情報転送をなし、パ。
After that, as mentioned above, the presence or absence of valid information is determined between adjacent registers, information is transferred, and the data is transferred.

ファ記憶を整列させる制御する。Controls the alignment of file memories.

複数語長の命令がフェッチ完了したか否かの判定は、命
令デコーダ40のオペレージ■ン指定情報を基に命令デ
コーダ50が制御信号501を発生してステータス選択
回路350に指示し、下表に示すフリップフロップ信号
を選択させ、その選択されたフリップフロップの状態を
判別することにより行う。
To determine whether fetching of a multi-word instruction has been completed, the instruction decoder 50 generates a control signal 501 to instruct the status selection circuit 350 based on the operation designation information of the instruction decoder 40, and performs the process as shown in the table below. This is done by selecting the flip-flop signal shown and determining the state of the selected flip-flop.

レジスタ311〜313及び命令レジスタ40は途中レ
ジスタに空状態を生じた場合にレジスタ情報を詰める制
御が常に行われているため、7す。
The registers 311 to 313 and the instruction register 40 are always controlled to be filled with register information when an empty state occurs in the register in the middle.

プフロ、プ321を選択してレジスタ311に有効情報
が格納されていることを判定すれは、レジスタ312、
レジスタ313及び命令レジスタ40にも有効情報が格
納されていることを判定でき、4語長命令の全てがフェ
ッチ完了したことを判定できる。同様に7リツプフロ、
プ322,323゜324の選択に対応して、各々3@
長命令、2語長命令、1語長命令の7エツチ完了を判定
できる。
To determine that valid information is stored in the register 311 by selecting the program 321, the register 312,
It can be determined that valid information is also stored in the register 313 and the instruction register 40, and it can be determined that all four-word long instructions have been fetched. Similarly, 7 lippflo,
3 @ corresponding to the selection of 322, 323, 324, respectively.
It is possible to determine the completion of 7 etches of long instructions, 2-word long instructions, and 1-word long instructions.

ここで、制御信号501は複数ビットのコード化された
信号で、そのコードに対応してフェッチ完了の判定語長
が決る。換言すれば、制御信号501は命令語長を示す
信号であり、第2図実施例ではこの情報を語長レジスタ
110に記憶してプログラムカウンタ70の内容に該記
憶情報を加算して次に実行する命令の先頭アドレス値を
発生している。
Here, the control signal 501 is a multi-bit coded signal, and the length of the judgment word for fetch completion is determined in accordance with the code. In other words, the control signal 501 is a signal indicating the instruction word length, and in the embodiment of FIG. 2, this information is stored in the word length register 110, the stored information is added to the contents of the program counter 70, and the next execution is performed. Generates the start address value of the instruction to be executed.

第4図に実施例の語長レジスタ1100回路構成を示す
。語長レジスタ110は、3ビツト情報であるところの
制御信号501−0.501−1゜501−2 を入力
として、該制御信号がノーオペレージ嘗ンで無い状態を
オアーゲート401で検知して、制御信号501−0.
501−1,501−2の値をそれぞれう、子回路40
2,403,404に記憶し、データ処理装置がプログ
ラムアドレス修飾の演算操作する時、ラッチ回路402
〜403出力に定数発生回路405の出力を付加してア
ドレスのビット巾に対応するデータを生成してデータバ
ス100に送出する。
FIG. 4 shows the circuit configuration of the word length register 1100 of the embodiment. The word length register 110 inputs the control signal 501-0.501-1, 501-2, which is 3-bit information, detects with the OR gate 401 that the control signal is not a no-operation state, and outputs the control signal. 501-0.
The child circuit 40 carries the values of 501-1 and 501-2, respectively.
2,403,404, and when the data processing device performs arithmetic operations for program address modification, the latch circuit 402
The output of the constant generation circuit 405 is added to the output of ~403 to generate data corresponding to the bit width of the address and sent to the data bus 100.

実施例の装置では1語長から4語長の命令が想定されて
おり、制御信号501の2進化コードが判定語長数に対
応づけられており、そのまま3ビ、トのう、子回路に記
憶し、その上位ビットに定数発生回路405で発生され
る定数Oを付加して、アドレス修飾の′、tめの語長情
報を生成している。
In the device of the embodiment, instructions with a length of 1 to 4 words are assumed, and the binary code of the control signal 501 is associated with the number of judgment word lengths. A constant O generated by a constant generation circuit 405 is added to the upper bits of the constant O to generate word length information for the ', t'th address modification.

〔発明の効果〕〔Effect of the invention〕

以上説明した様に本発明によれば、i数語長の命令であ
っても1回の演算操作で次に実行する命令の先頭アドレ
スを発生できプログラムアドレス更新の処理時間を短縮
して高速処理のデータ処理装置を提供できる。さらに、
命令語情報が未使用でバッフ丁レジスタに記憶されてい
る時点など、命令実行過程の任意のタイミングにてプロ
グラムアドレス更新の処理が可能であり、最適な処理シ
ーケンスが組めることから、命令の実行に必要とされる
ハードウェア歓を減小させることができコストパホーマ
ンスの優れたデータ処理装置を提供できる。
As explained above, according to the present invention, the start address of the next instruction to be executed can be generated with one operation even if the instruction is i several words long, and the processing time for updating the program address can be shortened, resulting in high-speed processing. data processing equipment can be provided. moreover,
It is possible to update the program address at any timing during the instruction execution process, such as when the instruction word information is unused and stored in the buffer register, and the optimal processing sequence can be created, making it easier to execute the instruction. The required hardware can be reduced, and a data processing device with excellent cost performance can be provided.

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

第1図は基本的な先行7エツチ制御を行うデータ処理装
置のブロック構成図、第2図は本発明の一実施例のデー
タ処理装置のブロック構成図、第3図は本発明の一実施
例における命令バッファと命令レジスタの回路構成図、
第4図は本発明の一実施例における語長レジスタの回路
構成図である。 lO・・・・・・フェッチポインタ、20・・・・・・
メモリ、30・・・・・・命令バッファ、40・・・・
・・命令レジスタ、50・・・・・・命令デコーダ、6
0・・・・・・演算回路、70・・・・・・プログラム
カウンタ、8G・・・・・・汎用レジスタ、90・・・
・・・テンポラリレジスタ、100・・・・・・データ
バス、110・・・・・・語長レジスタ、201,2t
)2゜301.302・・・・・・データ線、303,
304,341゜342.343・・・・・・信号線、
500,501,501−0.501−1,501−2
・・・・・・制御信号線、311゜312.313・・
・・・・レジスタ、321,322,323゜324・
・・・・・7リツグ70.プ、331,332,333
゜334・・・・・・ゲート回路、350・・・・・・
選択回路、4Q1・・・・・・オアーゲート、402,
403,404・・・・・・ラッチ回路、405・・・
・・・定数発生回路。 yf51TiJ 箔2図 躬3図 箭4図 ブ 4ρ/
FIG. 1 is a block configuration diagram of a data processing device that performs basic advance 7-etch control, FIG. 2 is a block configuration diagram of a data processing device according to an embodiment of the present invention, and FIG. 3 is an embodiment of the present invention. A circuit diagram of the instruction buffer and instruction register in
FIG. 4 is a circuit diagram of a word length register in one embodiment of the present invention. lO...Fetch pointer, 20...
Memory, 30...Instruction buffer, 40...
...Instruction register, 50 ...Instruction decoder, 6
0... Arithmetic circuit, 70... Program counter, 8G... General purpose register, 90...
... Temporary register, 100 ... Data bus, 110 ... Word length register, 201, 2t
)2゜301.302...Data line, 303,
304,341°342.343...Signal line,
500,501,501-0.501-1,501-2
...Control signal line, 311°312.313...
...Register, 321, 322, 323゜324・
・・・7ritsugu70. Pu, 331, 332, 333
゜334...Gate circuit, 350...
Selection circuit, 4Q1...OR gate, 402,
403, 404... Latch circuit, 405...
...Constant generation circuit. yf51TiJ foil 2 fig. 3 fig. 4 fig. bu 4ρ/

Claims (1)

【特許請求の範囲】[Claims] ストアードプログラム制御で命令の実行に先だって命令
語を読み出して記憶するバッファレジスタを備えたデー
タ処理装置において、実行する命令の制御情報を基に前
記バッファレジスタに必要とされる命令語情報が記憶さ
れているか否かを判別する手段と、前記判別を指定した
制御情報を記憶する手段と、前記記憶した制御情報によ
りプログラムアドレスを保持するレジスタの内容を修飾
して次に実行する命令のアドレス値を発生する手段とを
有することを特徴とするデータ処理装置。
In a data processing device equipped with a buffer register that reads and stores an instruction word prior to execution of an instruction under stored program control, necessary instruction word information is stored in the buffer register based on control information of the instruction to be executed. means for determining whether or not the program address is present; means for storing control information specifying the determination; and generating an address value for the next instruction to be executed by modifying the contents of a register holding a program address using the stored control information. 1. A data processing device comprising means for:
JP60288742A 1985-12-20 1985-12-20 Data processing device Expired - Fee Related JPH0812601B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60288742A JPH0812601B2 (en) 1985-12-20 1985-12-20 Data processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60288742A JPH0812601B2 (en) 1985-12-20 1985-12-20 Data processing device

Publications (2)

Publication Number Publication Date
JPS62145430A true JPS62145430A (en) 1987-06-29
JPH0812601B2 JPH0812601B2 (en) 1996-02-07

Family

ID=17734106

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60288742A Expired - Fee Related JPH0812601B2 (en) 1985-12-20 1985-12-20 Data processing device

Country Status (1)

Country Link
JP (1) JPH0812601B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0266628A (en) * 1988-08-31 1990-03-06 Hitachi Ltd Information processor
JPH03164945A (en) * 1989-11-24 1991-07-16 Mitsubishi Electric Corp Data processor

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5025146A (en) * 1973-07-06 1975-03-17
JPS5760441A (en) * 1980-09-30 1982-04-12 Fujitsu Ltd Information processing equipment
JPS59123053A (en) * 1982-12-28 1984-07-16 Fujitsu Ltd Instruction control system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5025146A (en) * 1973-07-06 1975-03-17
JPS5760441A (en) * 1980-09-30 1982-04-12 Fujitsu Ltd Information processing equipment
JPS59123053A (en) * 1982-12-28 1984-07-16 Fujitsu Ltd Instruction control system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0266628A (en) * 1988-08-31 1990-03-06 Hitachi Ltd Information processor
JPH03164945A (en) * 1989-11-24 1991-07-16 Mitsubishi Electric Corp Data processor

Also Published As

Publication number Publication date
JPH0812601B2 (en) 1996-02-07

Similar Documents

Publication Publication Date Title
US7694109B2 (en) Data processing apparatus of high speed process using memory of low speed and low power consumption
US4879646A (en) Data processing system with a pipelined structure for editing trace memory contents and tracing operations during system debugging
KR100346515B1 (en) Temporary pipeline register file for a superpipe lined superscalar processor
JPS6239780B2 (en)
JPH01502700A (en) RISC type computer and method for processing unaligned references
EP1193594B1 (en) Register renaming apparatus and processor
JPH03233630A (en) Information processor
EP0240606B1 (en) Pipe-line processing system and microprocessor using the system
JPH08212075A (en) Information processor
JP2916605B2 (en) Computer processor
KR950009687B1 (en) High speed ladder instruction processing apparatus for programnable logic controller
JPS62145430A (en) Data processor
JP3490005B2 (en) Instruction control apparatus and method
JPH1091441A (en) Program execution method and device using the method
JPH04104350A (en) Micro processor
JP2553728B2 (en) Arithmetic unit
JPH0222413B2 (en)
JPH03136136A (en) Instruction execution time control system
JPH07200406A (en) Cache system
JPS63163634A (en) Instruction fetch system
JP3900660B2 (en) Sequence controller
JP3182796B2 (en) Central processing unit
JPH09114733A (en) Non-aligned data transfer mechanism in cache storage device
JPH052485A (en) Pipeline control system
JPH10240525A (en) Information processor

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees