JPH06100962B2 - Bus control circuit - Google Patents
Bus control circuitInfo
- Publication number
- JPH06100962B2 JPH06100962B2 JP28858888A JP28858888A JPH06100962B2 JP H06100962 B2 JPH06100962 B2 JP H06100962B2 JP 28858888 A JP28858888 A JP 28858888A JP 28858888 A JP28858888 A JP 28858888A JP H06100962 B2 JPH06100962 B2 JP H06100962B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- bus
- execution
- signal
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000013500 data storage Methods 0.000 claims description 31
- 230000005764 inhibitory process Effects 0.000 claims description 24
- 238000000034 method Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 description 29
- VOVIALXJUBGFJZ-KWVAZRHASA-N Budesonide Chemical group C1CC2=CC(=O)C=C[C@]2(C)[C@@H]2[C@@H]1[C@@H]1C[C@H]3OC(CCC)O[C@@]3(C(=O)CO)[C@@]1(C)C[C@@H]2O VOVIALXJUBGFJZ-KWVAZRHASA-N 0.000 description 12
- 230000000694 effects Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002401 inhibitory effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
Landscapes
- Information Transfer Systems (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明はデータプロセッサに用いられるマイクロプログ
ラム制御型バス制御回路に関する。The present invention relates to a micro program control type bus control circuit used in a data processor.
マイクロプログラム制御型中央処理装置(以下CPUと称
す)は、演算実行ユニット,命令のプリフェッチユニッ
ト,キャッシュメモリユニット,およびメインメモリま
たは、I/Oプロセッサとの間で行うデータ転送を制御す
るシステムバスインタフェースユニットを含み、各ユニ
ット間でのデータ転送マイクロ命令制御により行われて
いる。A micro program control type central processing unit (hereinafter referred to as a CPU) is a system bus interface that controls data transfer between an arithmetic execution unit, an instruction prefetch unit, a cache memory unit, and a main memory or an I / O processor. Data transfer between units, including units, is performed by microinstruction control.
CPUの性能向上のため、パイプライン制御やクロックサ
イクルの高速化が図られている。この結果、各ユニット
の遅延問題により全ユニットを1クロックサイクル中に
動作させることが困難となってきている。そこで動作を
2つに分割する方式が採用されている。すなわち、最初
のクロックサイクルでマイクロ命令から作成された各種
コマンドが各ユニット間で送受される。そして、次のク
ロックサイクルでコマンドに対する実行結果の送受が行
われる。例えば、キャシュメモリユニットからの命令ま
たはオペランドの取り出しは、最初のクロックでマイク
ロ命令に従い演算実行ユニットまたはプリフェッチユニ
ットからキャシュメモリユニットへのコマンド送出およ
びキャシュメモリユニット内のコマンドレジスタへのセ
ットが行われる。キャシュメモリユニットは、次のクロ
ックサイクルでこのコマンドを実行し、命令またはオペ
ランドデータをバス上に出力する。マイクロ命令の指示
に応答して必要なユニットがこのデータを取り込む。To improve CPU performance, pipeline control and faster clock cycles are being pursued. As a result, it has become difficult to operate all units within one clock cycle due to the delay problem of each unit. Therefore, a method of dividing the operation into two is adopted. That is, various commands created from microinstructions are transmitted and received between the units in the first clock cycle. Then, the execution result of the command is transmitted / received in the next clock cycle. For example, in order to fetch an instruction or an operand from the cache memory unit, a command is sent from the operation execution unit or the prefetch unit to the cache memory unit and a command register in the cache memory unit is set according to a micro instruction at the first clock. The cache memory unit executes this command on the next clock cycle and outputs the instruction or operand data on the bus. The required units capture this data in response to the instructions of the microinstruction.
このように1つの命令あるいはオペランドデータ転送が
2クロックサイクル以上にまたがる場合、データがバス
に出力されて前記必要なユニットがマイクロ命令に従っ
て取込むタイミングでマイクロ命令の実行抑止が発生す
ると仮定する。このため、実行再開時にはデータがバス
上に存在しない。従って、実行の抑止されたマイクロ命
令の1つ前のマイクロ命令に従ってコマンドを発行すれ
ばデータ転送ができる。しかし、CPUの性能は低下す
る。When one instruction or operand data transfer extends over two clock cycles or more as described above, it is assumed that micro instruction execution inhibition occurs at the timing when data is output to the bus and the necessary unit fetches it according to the micro instruction. Therefore, no data exists on the bus when execution is resumed. Therefore, data can be transferred by issuing a command in accordance with the microinstruction immediately before the microinstruction whose execution is suppressed. However, the performance of the CPU decreases.
このCPUの性能低下は、コマンドレジスタのバックアッ
プ回路を設け、実行再開時に元のコマンドレジスタに従
って実行することにより防止できる。しかし、データ転
送に2クロック以上かかるユニットが複数存在すると、
各ユニットにコマンドレジスタのバックアップ回路が必
要となり、ハードウェア量の増大を招くという欠点があ
る。This performance degradation of the CPU can be prevented by providing a backup circuit for the command register and executing it according to the original command register when the execution is restarted. However, if there are multiple units that take more than 2 clocks to transfer data,
Each unit requires a backup circuit for the command register, which has the drawback of increasing the amount of hardware.
本発明の目的は、データ転送中に実行抑止信号が発生し
ても、実行再開による性能低下をなくし、各ユニットに
コマンドレジスタのバックアップ回路を備えることな
く、実行抑止からの再開を容易に実現できるようにした
バス制御回路を提供することにある。An object of the present invention is to eliminate the performance deterioration due to execution resumption even if an execution prohibition signal is generated during data transfer, and to easily realize resumption from execution prohibition without providing a command register backup circuit in each unit. It is to provide such a bus control circuit.
本発明のバス制御回路は、データ転送に2クロック以上
かかるユニットを少なくとも1つ含む複数のユニット
と、これら複数のユニットを制御するためのマイクロプ
ログラム制御ユニットと、前記複数のユニット間でデー
タの転送を行うバスとを含む中央処理装置に設けられる
バス制御回路において、前記バスに接続され毎クロック
時にバスからのデータを格納するデータ格納回路と、こ
のマイクロプログラム制御ユニットが送出するマイクロ
命令実行レベル信号およびマイクロ命令実行抑止信号を
監視し、マイクロ命令実行抑止時あるいは割り込み処理
実行時には前記データ格納回路へデータの格納を抑止す
る指示を行い、マイクロ命令再実行時には前記データ格
納回路へ前記バスにデータを出力する指示を行うデータ
格納制御回路とを含む。The bus control circuit of the present invention includes a plurality of units including at least one unit that takes two clocks or more for data transfer, a micro program control unit for controlling the plurality of units, and data transfer between the plurality of units. In a bus control circuit provided in a central processing unit including a bus for carrying out the data, a data storage circuit connected to the bus for storing data from the bus at every clock, and a micro instruction execution level signal sent by the micro program control unit. And a microinstruction execution inhibition signal, and when microinstruction execution inhibition or interrupt processing is executed, an instruction to inhibit data storage to the data storage circuit is issued, and when the microinstruction is reexecuted, the data is stored in the bus to the data storage circuit. Including a data storage control circuit that gives instructions to output .
次に本発明の一実施例について図面を参照して詳細に説
明する。Next, an embodiment of the present invention will be described in detail with reference to the drawings.
第1図を参照すると、本発明の一実施例はCPU内の各ユ
ニット間でデータを転送するためのバス1;このバス1に
接続され主記憶(図示せず)または入出力(以下I/O)
プロセッサ(図示せず)等とのデータ転送または通信を
制御するためインタフェース信号線2a、インタフェース
回路2bおよびマイクロ命令を解読するデコーダ2cを有す
るインタフェースユニット2;前記バス1に接続されたキ
ャッシュ回路3a、コマンドレジスタ3cおよびコマンドを
解読するデコーダ3bを有し、命令またはオペランドデー
タを格納するキャッシュメモリユニット3;前記バス1に
接続された命令バッファ回路4a、この命令バッファ回路
4aからの命令を解読する命令デコーダ4bおよびマイクロ
命令を解読し命令取出コマンドおよび制御信号を生成す
るデコーダ4dを有し命令の先取を行う、プリフェッチユ
ニット4;バス1に接続されたレジスタ5aおよび5b、これ
らレジスタ5aおよび5bに接続された演算器(ALU)5dお
よびマイクロ命令を解読しデータ取出コマンドおよび制
御信号を生成するデコーダ5eを有し演算を実行する演算
実行ユニット5;データ出力制御回路7aおよび格納抑止制
御回路7bを有するデータ格納制御回路7;この回路7の格
納抑止制御回路7bから線13を介して与えられるデータ格
納抑止信号に応答して格納動作を制御するレジスタ6aお
よび6b、および前記回路7のデータ出力制御回路7aから
のデータ出力指示信号14に応答してバス1に対するデー
タ出力を制御するバス出力回路6cを有するデータ格納回
路6;およびマイクロプログラムを格納する制御記憶(C
S)8aこのCS8a、からのマイクロ命令を格納するマイク
ロ命令レジスタ8b、CSに対するアドレスを発生するマイ
クロ命令アドレス回路8cおよび割込受付制御回路8dを備
え各ユニット2−5に動作指示を与えるマイクロプログ
ラム制御ユニット8を含む。Referring to FIG. 1, one embodiment of the present invention is a bus 1 for transferring data between units in a CPU; a main memory (not shown) or an input / output (hereinafter I / I) connected to the bus 1. O)
An interface unit 2 having an interface signal line 2a for controlling data transfer or communication with a processor (not shown) or the like, an interface circuit 2b and a decoder 2c for decoding microinstructions; a cache circuit 3a connected to the bus 1. A cache memory unit 3 having a command register 3c and a decoder 3b for decoding a command, and storing instruction or operand data; an instruction buffer circuit 4a connected to the bus 1; and this instruction buffer circuit
Prefetch unit 4 having instruction decoder 4b for decoding instructions from 4a and decoder 4d for decoding microinstructions and generating instruction fetch command and control signals for prefetching instructions; registers 5a and 5b connected to bus 1 An operation execution unit 5 for executing an operation having an arithmetic unit (ALU) 5d connected to these registers 5a and 5b and a decoder 5e for decoding a micro instruction and generating a data fetch command and a control signal; a data output control circuit 7a And a data storage control circuit 7 having a storage inhibition control circuit 7b; registers 6a and 6b for controlling the storage operation in response to a data storage inhibition signal provided from the storage inhibition control circuit 7b of this circuit 7 via line 13, and A bus output circuit 6c for controlling data output to the bus 1 in response to the data output instruction signal 14 from the data output control circuit 7a of the circuit 7 is provided. Data storage circuit 6; and control storage for the microprogram (C
S) 8a Microinstruction register 8b for storing microinstructions from this CS8a, microinstruction address circuit 8c for generating an address for CS and interrupt acceptance control circuit 8d, and a microprogram for giving an operation instruction to each unit 2-5. A control unit 8 is included.
この実施例では、プリフェッチユニット4または演算実
行ユニット5でマイクロ命令に基づいて作成された命令
またはオペランドデータの取出要求が、コマンド線4cま
たは5cを介してキャッシュメモリユニット3に送出され
る。In this embodiment, a fetch request for an instruction or operand data created on the basis of a microinstruction in the prefetch unit 4 or the operation execution unit 5 is sent to the cache memory unit 3 via the command line 4c or 5c.
送出されたコマンドは、キャシュメモリユニット3のコ
マンドレジスタ3cに格納されたあとデコーダ3bで解読さ
れる。解読結果に応答してキャッシュ回路3aは、データ
をバス1に送出する。線10を介して与えられるマイクロ
プログラムの実行を抑止する実行抑止信号(以下NOEX信
号)に応答してプリフェッチユニット4および演算実行
ユニット5からキャシュメモリユニット3に出力される
コマンドも無効化される。インタフェースユニット2、
キャシュメモリユニット3、プリフェッチユニット4お
よび演算実行ユニット5からバス1データを出力する時
のドライブ信号は、マイクロ命令レジスタ8bから線9を
介して与えられるマイクロ命令またはコマンドレジスタ
3cからのコマンドを各ユニット2−5のデコーダ2c、3
b、4dおよび5eで解読することにより発生され、線11a−
11dに送出される。この線11a−11dを介して与えられる
バスドライブ信号に応答して、バス1にデータが出力さ
れる。The transmitted command is stored in the command register 3c of the cache memory unit 3 and then decoded by the decoder 3b. In response to the decoding result, the cache circuit 3a sends the data to the bus 1. The commands output from the prefetch unit 4 and the operation execution unit 5 to the cache memory unit 3 in response to the execution inhibition signal (hereinafter referred to as NOEX signal) for inhibiting the execution of the microprogram given via the line 10 are also invalidated. Interface unit 2,
The drive signal when outputting the bus 1 data from the cache memory unit 3, the prefetch unit 4 and the operation execution unit 5 is given from the microinstruction register 8b through the line 9 to the microinstruction or command register.
Decoders 2c and 3 of each unit 2-5 receive commands from 3c
generated by decoding at b, 4d and 5e, line 11a-
Sent to 11d. Data is output to bus 1 in response to a bus drive signal applied via lines 11a-11d.
例えばI/Oプロセッサ(図示せず)からの割込処理要求
がインタフェースユニット2を介して割込信号として線
2dに送出される。この割込信号に応答してマイクロプロ
グラム制御ユニット8内の割込受付制御回路8dは割込処
理の開始から終了まで有効となる実行レベル信号を発生
し線12に出力する。実行レベル信号は、マイクロプログ
ラムが割込処理中であることを示す信号である。この実
行レベル信号と線10を介して与えられるNOEX信号に基づ
いて、格納抑止制御回路7bはデータ格納抑止信号を生成
し、線13に送出するとともに、データ出力タイミング信
号を生成して線7cに送出する。このデータ出力タイミン
グ信号および線11a−11dを介して与えられるバスドライ
ブ信号に応答してデータ出力制御回路7aはデータ出力指
示信号を生成し、線14に送出する。この線13を介して与
えられるデータ格納抑止信号に応答して、データ格納回
路6のレジスタ6aおよび6bは、マイクロ命令の実行抑止
時または割込処理中、バス1からのデータ取込みを抑止
する。そして、この抑止によりレジスタ6aおよび6bに格
納されていたデータは、線14を介して与えられるデータ
出力指示信号に応答して、バス出力回路6cを介してバス
1に出力される。For example, an interrupt processing request from an I / O processor (not shown) is transmitted as an interrupt signal via the interface unit 2
Sent to 2d. In response to this interrupt signal, the interrupt acceptance control circuit 8d in the microprogram control unit 8 generates an execution level signal which is valid from the start to the end of the interrupt processing and outputs it to the line 12. The execution level signal is a signal indicating that the microprogram is in the process of interrupting. Based on this execution level signal and the NOEX signal given via the line 10, the storage inhibition control circuit 7b generates a data storage inhibition signal and sends it to the line 13 and also produces a data output timing signal to the line 7c. Send out. In response to the data output timing signal and the bus drive signal applied via lines 11a-11d, data output control circuit 7a generates a data output instruction signal and sends it to line 14. In response to the data storage inhibition signal applied via the line 13, the registers 6a and 6b of the data storage circuit 6 inhibit the data acquisition from the bus 1 when the execution of the micro instruction is inhibited or during the interrupt processing. The data stored in the registers 6a and 6b due to this inhibition is output to the bus 1 via the bus output circuit 6c in response to the data output instruction signal applied via the line 14.
実行抑止状態からそのまま実行を再開する時、キャシュ
メモリユニット3は線10上のNOEX信号に関係なく、コマ
ンドレジスタ3cの内容に従って動作する。第2図はこの
場合のバス制御動作が示されている。When the execution is resumed from the execution inhibited state, the cache memory unit 3 operates according to the contents of the command register 3c regardless of the NOEX signal on the line 10. FIG. 2 shows the bus control operation in this case.
第1図および第2図を参照すると、各ユニットは、CPU
の線15(第1図には図示せず)を介して与えられる基本
クロック信号の立上りエッジで基本的に動作を開始す
る。S1ステージで制御記憶8aに格納されたマイクロプロ
グラム9のマイクロ命令μ1による命令またはオペラン
ドデータ取出しの指示に応答して、プリフェッチユニッ
ト4のデコーダ4dまたは演算実行ユニット5のデコーダ
5eからキャシュメモリユニット3に対するコマンドC
μ1がコマンドライン4cまたは5cに出力される。そして
S1ステージの後縁すなわちS2ステージの前縁でキャシュ
メモリユニット3内のコマンドレジスタ3cにコマンドC
μ1がセットされる。キャシュメモリユニット3はS2ス
テージでこのコマンドCμ1を実行しバス1上にデータ
D1をキャシュ回路3aから出力する。このとき、本実施例
ではS2およびS3ステージ間で線10上のNOEX信号が何らか
の要因で発生し、S2およびS3ステージでのマイクロ命令
μ2の実行が抑止され、マイクロ命令μ2はS4ステージ
で実行される。このときS2ステージでキャッシュメモリ
ユニット3から出力されたデータD1はデータ格納回路6
内のレジスタ6aにロードされる。線13のうちの1つ13a
上のデータ格納抑止信号は線10上のNOEX信号の1クロッ
ク遅延信号に基づいて作成される。この信号に応答して
レジスタ6aは、S3ステージとS4ステージとの間、バスか
らのデータ格納動作が抑止される。S4ステージ上でデー
タ格納抑止制御回路7bは、線10上のNOEX信号および線12
上の割込処理中でないことを示す実行レベル信号からデ
ータ出力タイミング信号を線7cに出力する。この線7cか
らのデータ出力タイミング信号および線11a−11dを介し
て与えられる全てのユニットがドライブしていないこと
を示すドライブ信号に応答して、データ出力制御回路7a
はバス1へのデータ出力を指示するデータ出力指示信号
を発生し線14の1つ14aに出力する。この信号に応答し
て、バス出力回路6cはレジスタ6aからのデータD1をバス
1に出力する。従って、マイクロ命令μ2実行時キャッ
シュメモリユニット3が出力すべきデータD1を演算実行
ユニット5内のレジスタ5aに取込むことができる。Referring to FIG. 1 and FIG. 2, each unit is a CPU
The operation basically starts on the rising edge of the basic clock signal provided via line 15 (not shown in FIG. 1) of the. In response to an instruction for fetching an instruction or operand data by the microinstruction μ1 of the microprogram 9 stored in the control memory 8a at the S1 stage, the decoder 4d of the prefetch unit 4 or the decoder of the operation execution unit 5
Command C from 5e to cash memory unit 3
μ1 is output to the command line 4c or 5c. And
At the trailing edge of the S1 stage, that is, the leading edge of the S2 stage, the command C is sent to the command register 3c in the cache memory unit 3.
μ1 is set. The cache memory unit 3 executes this command C μ1 in the S2 stage and writes the data on the bus 1.
D1 is output from the cache circuit 3a. At this time, in this embodiment, the NOEX signal on the line 10 is generated between the S2 and S3 stages for some reason, the execution of the micro instruction μ2 in the S2 and S3 stages is suppressed, and the micro instruction μ2 is executed in the S4 stage. It At this time, the data D1 output from the cache memory unit 3 in the S2 stage is the data storage circuit 6
It is loaded into register 6a inside. One of the lines 13 13a
The data storage inhibit signal above is created based on the one clock delayed signal of the NOEX signal on line 10. In response to this signal, the register 6a suppresses the data storage operation from the bus between the S3 stage and the S4 stage. On the S4 stage, the data storage inhibition control circuit 7b detects the NOEX signal on line 10 and the line 12
The data output timing signal is output to the line 7c from the execution level signal indicating that the above interrupt processing is not in progress. In response to the data output timing signal from the line 7c and the drive signal provided via the lines 11a to 11d indicating that all the units are not driving, the data output control circuit 7a
Generates a data output instruction signal for instructing data output to the bus 1 and outputs it to one of the lines 14a. In response to this signal, the bus output circuit 6c outputs the data D1 from the register 6a to the bus 1. Therefore, the data D1 to be output by the cache memory unit 3 at the time of execution of the microinstruction μ2 can be taken into the register 5a in the operation execution unit 5.
外部からの割込処理要求に対する処理受付時、必要に応
じてマイクロ命令の実行は抑止され、割込処理ルーチン
にトラップする。処理終了後元のマイクロ命令、すなわ
ち実行が抑止されたマイクロ命令μ2から実行が再開さ
れる。第3図には時間を基礎としたこれら動作が示され
ている。When the processing for the interrupt processing request from the outside is accepted, the execution of the micro instruction is suppressed if necessary, and the processing is trapped in the interrupt processing routine. After the processing is completed, the execution is restarted from the original microinstruction, that is, the microinstruction μ2 whose execution is suppressed. These time-based operations are shown in FIG.
第1図および第3図を参照すると、S1ステージでマイク
ロ命令レジスタ8bに格納されたマイクロプログラム9の
マイクロ命令μ1が演算実行ユニット5のデコーダ5eで
解読されて、コマンドCμ1がコマンドライン5cを介し
てコマンドレジスタ3cにセットされるコマンドCμ1は
デコーダ3bで解読されてキャッシュ回路3aに与えられ
る。この解読結果に応答してキャッシュ回路3aからデー
タD1がバス1に出力される。このデータD1はマイクロ命
令μ2により演算実行ユニット5内のレジスタ5aにロー
ドされる。このロード時点で割込要因が存在し割込信号
が線2dを介してデコーダ2cから割込み受付制御回路8dに
送出される。この割込信号に応答して受込み受付け制御
回路8dから割込処理へのマイクロプログラムのトラップ
のためのNOEX信号が線10に送出され、マイクロ命令μ2
の実行が抑止される。この実行抑止に応答して、レジス
タ5aはデータD1を取込めない。しかし、データD1はデー
タ格納回路6内のレジスタ6aおよび6bに取込まれる。S3
〜S8ステージは、割込み処理実行中(マイクロ命令T0〜
T4)であり、マイクロプログラム制御ユニット8から線
12を介して与えらえる実行レベル信号でこの割込処理実
行中が伝えられる。線12を介して与えられる実行レベル
信号および線10を介して与えられるNOEX信号に応答し
て、格納抑止制御回路7bは、データ格納抑止信号を線群
13のうちの線13aを介してデータ格納抑止信号がレジス
タ6aに与えられる。このデータ格納抑止信号に応答し
て、レジスタ6aは割込処理中、バス1からのデータの格
納動作を抑止する。また、割込処理中のS4、S5およびS6
ステージで、マイクロ命令T1に応答したコマンドCT1が
デコーダ5e、コマンドライン5c、コマンドレジスタ3cお
よびデコーダ3bを介してキャッシュメモリユニット3で
実行され、キャッシュ回路3aからバス1にデータD2が出
力される。このデータD2がマイクロ命令T2により演算実
行ユニット5内のレジスタ5bに格納する時、線10を介し
て与えられるNOEX信号に応答してS5ステージでのマイク
ロ命令T2の実行は抑止される。また、データD2はデータ
格納回路6内のレジスタ6bに取込まれようとする。線10
を介して与えられるNOEX信号および線12を介して与えら
れる実行レベル信号に応答して、格納抑止制御回路7bは
線群13中の1つである線13fにデータ格納抑止信号を出
力する。このデータ格納抑止信号に応答して、レジスタ
6fはS6ステージでのバス1からのデータの格納動作を抑
止する。割込処理プログラムT2の実行再開時、線10を介
して与えられるNOEX信号および線12を介して与えられろ
実行レベル信号に応答して、格納抑止制御回路7bは線7c
にデータ出力タイミング信号を出力する。このデータ出
力タイミング信号および線11a−11dを介して与えられる
バスドライブ信号に応答してデータ出力制御回路7aは線
群14のうちの線14fにデータ出力指示信号を生成する。
このデータ出力指示信号に応答してレジスタ6fに格納さ
れたデータD2がバス1に出力され、演算実行ユニット5
内のレジスタ5bにロードされうる。そして割込処理終了
後、S9ステージでマイクロ命令μ2から実行を再開す
る。線12を介して与えられる実行レベル信号および線10
を介して与えられるNOEX信号に応答して、格納抑止制御
回路7bは出力タイミング信号を線7cに送出する。この出
力タイミング信号および線11a−11dを介して与えられる
各ユニットに対するバスドライブ信号に応答してデータ
出力制御回路7aは線群14のうちの1つの線14aにデータ
出力指示信号を出力する。このデータ出力指示信号に応
答してバス出力回路6cはレジスタ6aからのデータD1選択
しバス1に出力する。バス1に送られたデータD1をマイ
クロ命令μ2からの指示により演算実行ユニット5内の
レジスタ5aが保持する。Referring to FIGS. 1 and 3, the microinstruction μ1 of the microprogram 9 stored in the microinstruction register 8b in the S1 stage is decoded by the decoder 5e of the operation execution unit 5, and the command C μ1 changes the command line 5c. The command C μ1 set in the command register 3c via the decoder 3b is decoded by the decoder 3b and given to the cache circuit 3a. In response to this decoding result, the data D1 is output from the cache circuit 3a to the bus 1. This data D1 is loaded into the register 5a in the operation execution unit 5 by the micro instruction μ2. At the time of this load, an interrupt factor exists and an interrupt signal is sent from the decoder 2c to the interrupt acceptance control circuit 8d via the line 2d. In response to this interrupt signal, the NOEX signal for trapping the microprogram for the interrupt processing is sent from the reception / acceptance control circuit 8d to the line 10, and the microinstruction μ2
Execution is suppressed. In response to this execution inhibition, the register 5a cannot take in the data D1. However, the data D1 is taken into the registers 6a and 6b in the data storage circuit 6. S3
~ S8 stage is executing interrupt processing (micro instruction T0 ~
T4) and the line from the micro program control unit 8
The execution level signal given via 12 indicates that this interrupt processing is being executed. In response to the execution level signal applied via line 12 and the NOEX signal applied via line 10, storage inhibition control circuit 7b sends a data storage inhibition signal to the line group.
A data storage inhibition signal is applied to the register 6a via the line 13a of the line 13. In response to this data storage inhibition signal, the register 6a inhibits the data storage operation from the bus 1 during the interrupt processing. Also, S4, S5, and S6 during interrupt processing
In stage, the command C T1 decoders 5e in response to the microinstruction T1, command line 5c, is executed in the cache memory unit 3 through the command register 3c and decoder 3b, the data D2 is output to the bus 1 from the cache circuit 3a . When this data D2 is stored in the register 5b in the arithmetic execution unit 5 by the microinstruction T2, the execution of the microinstruction T2 in the S5 stage is suppressed in response to the NOEX signal given via the line 10. The data D2 is about to be taken into the register 6b in the data storage circuit 6. Line 10
In response to the NOEX signal applied via line and the execution level signal applied via line 12, storage inhibition control circuit 7b outputs a data storage inhibition signal to line 13f which is one of line group 13. In response to this data storage inhibit signal, the register
6f suppresses the data storage operation from bus 1 in the S6 stage. When the execution of the interrupt processing program T2 is resumed, in response to the NOEX signal applied via the line 10 and the execution level signal applied via the line 12, the storage inhibition control circuit 7b causes the line 7c to operate.
The data output timing signal is output to. In response to the data output timing signal and the bus drive signal applied via lines 11a-11d, data output control circuit 7a generates a data output instruction signal on line 14f of line group 14.
In response to the data output instruction signal, the data D2 stored in the register 6f is output to the bus 1 and the operation execution unit 5
Can be loaded into register 5b within. After the interrupt processing is completed, the execution is restarted from the micro instruction μ2 at the S9 stage. Run level signal provided via line 12 and line 10
In response to the NOEX signal provided via the storage inhibition control circuit 7b, the storage inhibition control circuit 7b sends an output timing signal to the line 7c. In response to this output timing signal and the bus drive signal for each unit provided via lines 11a-11d, data output control circuit 7a outputs a data output instruction signal to one line 14a of line group 14. In response to the data output instruction signal, the bus output circuit 6c selects the data D1 from the register 6a and outputs it to the bus 1. The data D1 sent to the bus 1 is held by the register 5a in the operation execution unit 5 according to an instruction from the microinstruction μ2.
本発明の特徴は、中央処理装置内部のバス1に接続され
た数ワードのレジスタ6aおよび6bを有するデータ格納回
路6が、実行抑止信号、実行レベル信号および各ユニッ
トに対するバスドライブ信号に基づいてマイクロ命令の
実行抑止時、本来演算実行回路5に取込まれるべきデー
タをバス1から入力して格納し、実行再開時必要に応じ
てバス1に該データを出力させることにある。この特徴
により、1つの命令の実行またはデータ転送が2クロッ
クにまたがって行われる場合、データの必要なユニット
で実行抑止状態が発生してもCPUの性能を低下させるこ
とはないという効果がある。A feature of the present invention is that the data storage circuit 6 having several word registers 6a and 6b connected to the bus 1 inside the central processing unit is provided with a micro controller based on an execution inhibit signal, an execution level signal and a bus drive signal for each unit. When the execution of an instruction is suppressed, the data that should be originally taken into the operation execution circuit 5 is input and stored from the bus 1, and the data is output to the bus 1 when necessary when the execution is restarted. Due to this feature, when one instruction is executed or data is transferred over two clocks, there is an effect that the performance of the CPU is not deteriorated even if the execution inhibition state occurs in the unit that requires data.
また、本発明は、この特徴により各ユニット2〜5にコ
マンドレジスタ等のバックアップ回路を構成する必要が
なくデータ転送時実行が抑止されても実行を容易に再開
できるという効果もある。Further, the present invention has an effect that it is not necessary to configure a backup circuit such as a command register in each of the units 2 to 5 and the execution can be easily resumed even if the execution at the time of data transfer is suppressed.
第1図は本発明の一実施例を示す図;および第2図およ
び第3図は本発明の一実施例の動作を示す図である。 図において1……バス、2……インタフェースユニッ
ト、3……キャッシュメモリユニット、4……プリフェ
ッチユニット、5……演算実行ユニット、6……データ
格納回路、7……データ格納制御回路、8……マイクロ
プログラム制御ユニット8。FIG. 1 is a diagram showing an embodiment of the present invention; and FIGS. 2 and 3 are diagrams showing an operation of the embodiment of the present invention. In the figure, 1 ... Bus, 2 ... Interface unit, 3 ... Cache memory unit, 4 ... Prefetch unit, 5 ... Operation execution unit, 6 ... Data storage circuit, 7 ... Data storage control circuit, 8 ... ... Microprogram control unit 8.
Claims (1)
トを少なくとも1つ含む複数のユニットと、これら複数
のユニットを制御するためのマイクロプログラム制御ユ
ニットと、前記複数のユニット間でデータの転送を行う
バスとを含む中央処理装置に設けられるバス制御回路に
おいて、 前記バスに接続され毎クロック時にバスからのデータを
格納するデータ格納回路と、 このマイクロプログラム制御ユニットが送出するマイク
ロ命令実行レベル信号およびマイクロ命令実行抑止信号
を監視し、マイクロ命令実行抑止時あるいは割り込み処
理実行時には前記データ格納回路へデータの格納を抑止
する指示を行い、マイクロ命令再実行時には前記データ
格納回路へ前記バスにデータを出力する指示を行うデー
タ格納制御回路とを含むことを特徴とするバス制御回
路。1. A plurality of units including at least one unit that requires two or more clocks for data transfer, a micro program control unit for controlling these units, and a bus for transferring data between the plurality of units. A bus control circuit provided in a central processing unit including a data storage circuit connected to the bus for storing data from the bus at every clock, and a micro instruction execution level signal and a micro instruction sent by the micro program control unit. An instruction to monitor the execution inhibition signal, to instruct the data storage circuit to store data when the microinstruction execution is inhibited or to execute an interrupt process, and to output the data to the bus to the data storage circuit when the microinstruction is reexecuted. And a data storage control circuit for performing Bus control circuit to.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP28858888A JPH06100962B2 (en) | 1987-11-30 | 1988-11-14 | Bus control circuit |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62-303551 | 1987-11-30 | ||
| JP30355187 | 1987-11-30 | ||
| JP28858888A JPH06100962B2 (en) | 1987-11-30 | 1988-11-14 | Bus control circuit |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH01230129A JPH01230129A (en) | 1989-09-13 |
| JPH06100962B2 true JPH06100962B2 (en) | 1994-12-12 |
Family
ID=26557240
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP28858888A Expired - Lifetime JPH06100962B2 (en) | 1987-11-30 | 1988-11-14 | Bus control circuit |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH06100962B2 (en) |
-
1988
- 1988-11-14 JP JP28858888A patent/JPH06100962B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH01230129A (en) | 1989-09-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4858104A (en) | Preceding instruction address based branch prediction in a pipelined processor | |
| JPH04275628A (en) | Arithmetic processor | |
| JPS6239780B2 (en) | ||
| KR100210205B1 (en) | Apparatus and method for providing a stall cache | |
| CN101495960B (en) | Efficient interrupt return address save mechanism | |
| JPH02287626A (en) | Pipeline system branch instruction controller | |
| JP3146058B2 (en) | Parallel processing type processor system and control method of parallel processing type processor system | |
| US5148525A (en) | Microprogram-controlled type bus control circuit | |
| JP2003263313A (en) | Digital processor and instruction selection method | |
| JPH0512751B2 (en) | ||
| JPH06100962B2 (en) | Bus control circuit | |
| JP3602801B2 (en) | Memory data access structure and method | |
| JPS6329292B2 (en) | ||
| JP2001014161A (en) | Programmable controller | |
| JP2668987B2 (en) | Data processing device | |
| JPH0651984A (en) | Microprocessor | |
| JP2876791B2 (en) | Exception handling device and exception handling method | |
| JP3630904B2 (en) | Calculation execution method and calculation execution apparatus | |
| JP2000029696A (en) | Processor and pipeline processing control method | |
| US20040103267A1 (en) | Data processor having cache memory | |
| JP2762441B2 (en) | Coprocessor | |
| JPS6221130B2 (en) | ||
| JP3461887B2 (en) | Variable length pipeline controller | |
| JPS63247861A (en) | Coprocessor control method | |
| JP2001216156A (en) | Method and device for instruction cache access |