JPH05197551A - Coprocessor control system - Google Patents

Coprocessor control system

Info

Publication number
JPH05197551A
JPH05197551A JP890792A JP890792A JPH05197551A JP H05197551 A JPH05197551 A JP H05197551A JP 890792 A JP890792 A JP 890792A JP 890792 A JP890792 A JP 890792A JP H05197551 A JPH05197551 A JP H05197551A
Authority
JP
Japan
Prior art keywords
coprocessor
instruction
cpu
exception
interrupt
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
JP890792A
Other languages
Japanese (ja)
Other versions
JP2908096B2 (en
Inventor
Takumi Maruyama
拓巳 丸山
Takahito Noda
敬人 野田
Yuji Kamisaka
裕士 神阪
Kazuyasu Nonomura
一泰 野々村
Toru Watabe
徹 渡部
Takumi Takeno
巧 竹野
Shinya Kato
慎哉 加藤
Chiyonsuwannapaisaan Poonshiyai
ポーンシャイ・チョンスワンナパイサーン
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP890792A priority Critical patent/JP2908096B2/en
Publication of JPH05197551A publication Critical patent/JPH05197551A/en
Application granted granted Critical
Publication of JP2908096B2 publication Critical patent/JP2908096B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PURPOSE:To minimize a decrease in the performance of a CPU by providing a coprocessor interruption-inhibiting status without increasing the widths of buses between a CPU and a coprocessor and operating it. CONSTITUTION:This system is equipped with the coprocessor 2 and the coprocessor interruption-inhibiting status 7 which inhibits and allows the transmission of a coprocessor exception signal in the case of that exception is generated. The CPU 1 inputs and decodes instructions in order and sends only a coprocessor instruction to the coprocessor 2 on condition that the coprocessor interruption-inhibiting status 7 is ON once deciding the coprocessor instruction, thereby inhibiting the address of the coprocessor instruction from being sent out. When the coprocessor interruption-inhibiting status 7 is OFF, on the other hand, the coprocessor instruction and its address are sent out to the coprocessor 2.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、CPUからコプロセッ
サを制御するコプロセッサ制御方式に関するものであ
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a coprocessor control system for controlling a coprocessor from a CPU.

【0002】近年のコンピュータシステムの高速化の要
求に伴い、CPUの他にコプロセッサを設けるシステム
が一般的になっている。このシステムは、CPUがフェ
ッチした命令のうち、特定の命令(以下コプロセッサ命
令という)について、コプロサッサに渡してコプロセッ
サに実行させ、その結果を受け取るものである。この
際、処理の高速化が要求されている。
With the recent demand for higher speed computer systems, systems in which a coprocessor is provided in addition to the CPU have become common. In this system, of the instructions fetched by the CPU, a specific instruction (hereinafter referred to as a coprocessor instruction) is passed to a coprocessor and executed by the coprocessor, and the result is received. At this time, high speed processing is required.

【0003】[0003]

【従来の技術】従来、CPUの他にコプロセッサを設け
たシステムとして、図4の(a)に示すような構成を持
つシステムがある。以下説明する。
2. Description of the Related Art Conventionally, as a system provided with a coprocessor in addition to a CPU, there is a system having a configuration as shown in FIG. This will be described below.

【0004】図4の(a)において、CPU31は、処
理装置であって、メモリ33から読み込んだ命令をデコ
ードして実行するものである。コプロセッサ32は、コ
プロセッサ命令を実行するものである。
In FIG. 4A, a CPU 31 is a processing device, which decodes and executes an instruction read from a memory 33. The coprocessor 32 executes coprocessor instructions.

【0005】メモリ33は、命令やデータを保持するも
のである。メモリバス34は、メモリ33からCPU3
1へ命令転送したり、メモリ33とCPU31やコプロ
セッサ32の間のデータ転送したりするものである。
The memory 33 holds instructions and data. The memory bus 34 is from the memory 33 to the CPU 3
1 and the data transfer between the memory 33 and the CPU 31 and the coprocessor 32.

【0006】コプロセッサバス35は、CPU31とコ
プロセッサ32の間の命令コード/アドレス転送するも
のである。コプロセッサ例外信号36は、コプロセッサ
32がコプロセッサ命令の実行中の例外事象(例えば浮
動小数点演算コプロセッサのときはオーバーフローやア
ンダーフローという例外事象)の発生時にCPU31に
通知するものである。
The coprocessor bus 35 transfers instruction codes / addresses between the CPU 31 and the coprocessor 32. The coprocessor exception signal 36 notifies the CPU 31 when an exception event occurs during execution of a coprocessor instruction by the coprocessor 32 (for example, an exception event such as overflow or underflow in the case of a floating point operation coprocessor).

【0007】次に、図4の(b)のタイムチャートに従
い、CPU31の命令実行は以下のシーケンスで行う。 (1) 必要な命令をメモリ33からメモリバス34を
通してフェッチする(ステージF)。
Next, according to the time chart of FIG. 4B, the instruction execution of the CPU 31 is performed in the following sequence. (1) Fetch necessary instructions from the memory 33 through the memory bus 34 (stage F).

【0008】(2) 命令をデコードする(ステージ
D)。 (3) 命令を実行する(ステージE)。 (3−1) デコード結果がコプロセッサ命令でなけれ
ば(以下一般命令という)、CPU31がこの一般命令
を実行する。
(2) The instruction is decoded (stage D). (3) Execute the instruction (stage E). (3-1) If the decoding result is not a coprocessor instruction (hereinafter referred to as a general instruction), the CPU 31 executes this general instruction.

【0009】(3−2) デコード結果がコプロセッサ
命令であれば、・コプロセッサ命令をコプロセッサバス
35を通してコプロセッサ32に送出する。
(3-2) If the decoding result is a coprocessor instruction, the coprocessor instruction is sent to the coprocessor 32 through the coprocessor bus 35.

【0010】・次のサイクルで割り込み処理に必要な資
源であるこのコプロセッサ命令のアドレスを、予めコプ
ロセッサバス35通してコプロセッサ32に送出してお
く。
The address of this coprocessor instruction, which is a resource required for interrupt processing in the next cycle, is sent to the coprocessor 32 through the coprocessor bus 35 in advance.

【0011】(4) 結果を格納する(ステージW)。 一方、コプロセッサ32のコプロセッサ命令実行は以下
のシーケンスで行う。 (11) 命令を実行する(ステージCE)。
(4) Store the result (stage W). On the other hand, the coprocessor 32 executes the coprocessor instruction in the following sequence. (11) Execute the instruction (stage CE).

【0012】(12) 結果を格納する(ステージC
W)。 ここで、ステージCW終了後にコプロセッサ例外(例え
ば浮動小数点演算コプロセッサのときはオーバーフロー
やアンダーフローという例外)が検出された場合、コプ
ロセッサ32はコプロセッサ例外信号36を通してCP
U31に例外発生を割り込みで通知する。CPU31は ・コプロセッサ割り込み許可状態ならば、当該通知によ
り割り込みを発生する。そして、割り込み処理ルーチン
で、コプロセッサ32に保持されている命令コードおよ
び命令のアドレスを用い、所定の割り込み処理を行う。
(12) Store the result (stage C
W). Here, when a coprocessor exception (for example, an exception called overflow or underflow in the case of a floating point arithmetic coprocessor) is detected after the end of the stage CW, the coprocessor 32 sends the CP via the coprocessor exception signal 36.
The U31 is notified of the exception occurrence by an interrupt. The CPU 31 generates an interrupt according to the notification if the coprocessor interrupt is enabled. Then, in the interrupt processing routine, predetermined interrupt processing is performed using the instruction code and the address of the instruction held in the coprocessor 32.

【0013】・コプロセッサ割り込み禁止状態ならば、
当該通知を無視する。
If the coprocessor interrupt is disabled,
Ignore the notification.

【0014】[0014]

【発明が解決しようとする課題】上述したように、従来
は、CPU31からコプロセッサ32に単一バスである
コプロセッサバス35を通してコプロセッサ命令および
当該命令のアドレスを常に順次送出しており、CPU3
1がこれら両者のためのサイクル必要となってしまい、
性能を低下させてしまうという問題があった。
As described above, conventionally, the coprocessor instruction and the address of the instruction are always sequentially sent from the CPU 31 to the coprocessor 32 through the coprocessor bus 35 which is a single bus.
One would need a cycle for both of these,
There was a problem that performance was lowered.

【0015】本発明は、これらの問題を解決するため、
CPUとコプロセッサ間のバス幅を増加させることな
く、コプロセッサ割込禁止ステータスを設けてこれを操
作し、CPUの性能低下を必要最小限に抑えることを目
的としている。
The present invention solves these problems by
The purpose is to provide a coprocessor interrupt prohibition status and operate it without increasing the bus width between the CPU and the coprocessor, and to suppress the deterioration of the performance of the CPU to a necessary minimum.

【0016】[0016]

【課題を解決するための手段】図1は、本発明の原理構
成図を示す。図1において、CPU1は、命令を読み込
んでデコードし、コプロセッサ命令のときにコプロセッ
サ2に実行を依頼し、それ以外の一般命令のときに実行
などするものである。
FIG. 1 is a block diagram showing the principle of the present invention. In FIG. 1, a CPU 1 reads an instruction, decodes it, requests the coprocessor 2 to execute it when it is a coprocessor instruction, and executes it when it is another general instruction.

【0017】コプロセッサ2は、CPU1から依頼を受
けたコプロセッサ命令を実行などするプロセッサであ
る。メモリ3は、命令やデータを保持するものである。
The coprocessor 2 is a processor for executing coprocessor instructions requested by the CPU 1. The memory 3 holds instructions and data.

【0018】メモリバス4は、メモリ3とCPU1やコ
プロセッサ2の間で命令やデータの転送を行うものであ
る。コプロセッサバス5は、CPU1からコプロセッサ
5にコプロセッサ命令などを送出するバスである。
The memory bus 4 transfers instructions and data between the memory 3 and the CPU 1 and the coprocessor 2. The coprocessor bus 5 is a bus for sending a coprocessor instruction or the like from the CPU 1 to the coprocessor 5.

【0019】コプロセッサ例外信号6は、コプロセッサ
2がコプロセッサ命令を実行して例外が発生したときに
これをCPU1に通知するものである。コプロセッサ割
込禁止ステータス7は、コプロセッサ2がコプロセッサ
命令実行によって例外の発生したときにコプロセッサ例
外信号をCPU1に対しての送出を禁止/許可するステ
ータスである。
The coprocessor exception signal 6 notifies the CPU 1 when the coprocessor 2 executes a coprocessor instruction and an exception occurs. The coprocessor interrupt prohibition status 7 is a status that prohibits / permits the transmission of the coprocessor exception signal to the CPU 1 when the coprocessor 2 causes an exception due to execution of the coprocessor instruction.

【0020】[0020]

【作用】本発明は、図1に示すように、CPU1がメモ
リ3から命令をメモリバス4を通して順次取り込んでデ
コードしてコプロセッサ命令と判明したとき、コプロセ
ッサ割込禁止ステータス7がONのときにコプロセッサ
命令のみをコプロセッサバス5を通してコプロセッサ2
に送出し、当該コプロセッサ命令のアドレスの送出を抑
止し、一方、コプロセッサ割込禁止ステータス7がOF
Fのときにコプロセッサ命令および当該コプロセッサ命
令のアドレスをコプロセッサ2に送出するようにしてい
る。
According to the present invention, as shown in FIG. 1, when the CPU 1 sequentially fetches an instruction from the memory 3 through the memory bus 4 and decodes it to find a coprocessor instruction, when the coprocessor interrupt prohibition status 7 is ON. Only coprocessor instructions through coprocessor bus 5 to coprocessor 2
To prevent the address of the coprocessor instruction from being sent, while the coprocessor interrupt disable status 7 indicates OF
At F, the coprocessor instruction and the address of the coprocessor instruction are sent to the coprocessor 2.

【0021】また、CPU1からコプロセッサ命令の送
出を受けてこれを取り込んだコプロセッサ2が実行して
例外発生したとき、コプロセッサ割込禁止ステータス7
がONのときに当該例外をCPU1へ通知することを抑
止すると共に例外処理を行ってその結果を実行結果とし
て格納し、一方、コプロセッサ割込禁止ステータス7が
OFFのときに当該例外(コプロセッサ例外信号6)を
CPU1へ通知し、この通知を受けたCPU1がコプロ
セッサ2の保持するコプロセッサ命令およびそのアドレ
スをもとに所定の割り込み処理を行うようにしている。
When a coprocessor instruction is sent from the CPU 1 and the coprocessor 2 that fetches the coprocessor instruction executes and an exception occurs, the coprocessor interrupt prohibition status 7
Is turned on, the notification of the exception to the CPU 1 is suppressed, exception processing is performed, and the result is stored as an execution result. On the other hand, when the coprocessor interrupt prohibition status 7 is off, the exception (coprocessor The exception signal 6) is notified to the CPU 1, and the CPU 1 having received the notification performs a predetermined interrupt process based on the coprocessor instruction held by the coprocessor 2 and its address.

【0022】従って、CPU1とコプロセッサ2の間の
バス幅を増加させることなしに、コプロセッサ割込禁止
ステータス7を設けてこれを操作して無用な命令アドレ
スの送出を無くし、CPU1の性能低下を防止すること
が可能となる。
Therefore, without increasing the bus width between the CPU 1 and the coprocessor 2, the coprocessor interrupt prohibition status 7 is provided and operated to eliminate the transmission of unnecessary instruction addresses, thereby degrading the performance of the CPU 1. Can be prevented.

【0023】[0023]

【実施例】次に、図2および図3を用いて本発明の実施
例の構成および動作を順次詳細に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, the construction and operation of an embodiment of the present invention will be described in detail with reference to FIGS.

【0024】図2は、本発明の1実施例構成図を示す。
図2において、CPU1は、メモリ3からメモリバス4
を通して命令を読み込んでデコードし、各種処理を行う
ものである。ここでは、デコードしてコプロセッサ命令
と判明したとき、コプロセッサ割込禁止ステータス7が
ONときにコプロセッサ命令のみをコプロセッバス5を
通して、ここでは浮動小数点コプロッサ21に送出して
実行依頼し、一方、コプロセッサ割込禁止ステータス7
がOFFときにコプロセッサ命令および当該命令のアド
レスを併せてコプロセッバス5を通して浮動小数点コプ
ロッサ21に送出して実行依頼する。そして、浮動小数
点コプロセッサ21がコプロセッサ命令を実行して例外
(オーバーフロー、アンダーフロー)が発生したとき、
コプロセッサ割込禁止ステータス7がONのとき、コプ
ロセッサ例外信号6を抑止すると共に例外処理を行った
結果を実行結果としてメモリ3に格納する。一方、コプ
ロセッサ割込禁止ステータス7がOFFのとき、コプロ
セッサ例外信号6をCPU1に通知し、割り込みを受け
付けたCPU1が浮動小数点コプロセッサ21が保持す
るコプロセッサ命令および命令のアドレスを参照し、所
定の割り込み処理を行う。
FIG. 2 shows a block diagram of an embodiment of the present invention.
In FIG. 2, the CPU 1 includes a memory 3 to a memory bus 4
It reads and decodes an instruction through to perform various processes. Here, when it is decoded and found to be a coprocessor instruction, only the coprocessor instruction is sent to the floating point coprocessor 21, here, to the floating point coprocessor 21 when the coprocessor interrupt prohibition status 7 is ON, and on the other hand, Coprocessor interrupt disable status 7
When is OFF, the coprocessor instruction and the address of the instruction are sent together to the floating point coprocessor 21 through the coprocessor bus 5 to request execution. When the floating-point coprocessor 21 executes the coprocessor instruction and an exception (overflow, underflow) occurs,
When the coprocessor interrupt prohibition status 7 is ON, the coprocessor exception signal 6 is suppressed and the result of exception processing is stored in the memory 3 as an execution result. On the other hand, when the coprocessor interrupt prohibition status 7 is OFF, the coprocessor exception signal 6 is notified to the CPU 1, and the CPU 1 that has accepted the interrupt refers to the coprocessor instruction and the address of the instruction held by the floating point coprocessor 21, Perform predetermined interrupt processing.

【0025】浮動小数点コプロセッサ21は、CPU1
からコプロセッサバス5を通してコプロセッサ命令を受
け取り、このコプロセッサ命令を実行するものである。
実行した結果、例外(オーバーフロー、アンダーフロ
ー)が発生した場合には、コプロセッサ割込禁止ステー
タス7がONのときは、コプロセセッサ例外信号6をC
PU1に送出することを抑止すると共に例外処理として
最大値あるいは零を実行結果としてメモリ3に格納す
る。一方、コプロセッサ割込禁止ステータス7がOFF
のときは、コプロセッサ例外信号6をCPU1に送出す
る。
The floating point coprocessor 21 is a CPU 1
From the coprocessor bus 5 and executes the coprocessor instruction.
When an exception (overflow or underflow) occurs as a result of execution, when the coprocessor interrupt disable status 7 is ON, the coprocessor exception signal 6 is set to C.
It suppresses sending to PU1 and stores the maximum value or zero as an execution result in the memory 3 as an exception process. On the other hand, the coprocessor interrupt disable status 7 is OFF
In the case of, the coprocessor exception signal 6 is sent to the CPU 1.

【0026】メモリ3は、命令やデータを保持するもの
である。メモリバス4は、メモリ3から読み出した命令
をCPU1に転送したり、CPU1から送出されたデー
タをメモリ3に転送したりなどするものである。
The memory 3 holds instructions and data. The memory bus 4 transfers an instruction read from the memory 3 to the CPU 1, transfers data sent from the CPU 1 to the memory 3, and the like.

【0027】コプロセッサバス5は、CPU1から送出
されたコプロセッサ命令や命令アドレスなどを浮動小数
点コプロセッサ21に転送したりするものである。コプ
ロセッサ例外信号6は、コプロセッサ割込禁止ステータ
ス7がOFFのときに浮動小数点コプロセッサ21が例
外発生時にCPU1に送出する信号である。
The coprocessor bus 5 transfers the coprocessor instruction, instruction address, etc. sent from the CPU 1 to the floating point coprocessor 21. The coprocessor exception signal 6 is a signal that the floating-point coprocessor 21 sends to the CPU 1 when an exception occurs when the coprocessor interrupt prohibition status 7 is OFF.

【0028】コプロセッサ割込禁止ステータス7は、浮
動小数点コプロセッサ21からの例外割込を禁止するス
テータスであって、CPU1が取り込んでデコードした
命令がコプロセッサ命令であって、これがONのときに
コプロセッサ命令のみを浮動小数点コプロセッサ21に
送出し、命令アドレスの送出を抑止する。一方、これが
OFFのときにコプロセッサ命令および当該命令のアド
レスの両者を浮動小数点コプロセッサ21に送出する。
そして、浮動小数点コプロセッサ21が依頼を受けたコ
プロセッサ命令を実行し、例外(オーバーフロー、アン
ダーフロー)が発生したときに、コプロセッサ割込禁止
ステータス7がONのとき、コプロセッサ例外信号6を
CPU1へ送出することを抑止すると共に例外処理を行
う。一方、コプロセッサ割込禁止ステータス7がOFF
のとき、コプロセッサ例外信号6をCPU1へ送出し、
CPU1が割込処理を行う。
The coprocessor interrupt prohibition status 7 is a status for prohibiting exception interruption from the floating point coprocessor 21, and the instruction fetched and decoded by the CPU 1 is a coprocessor instruction, and when this is ON. Only the coprocessor instruction is sent to the floating point coprocessor 21, and the sending of the instruction address is suppressed. On the other hand, when this is OFF, both the coprocessor instruction and the address of the instruction are sent to the floating point coprocessor 21.
Then, when the floating-point coprocessor 21 executes the requested coprocessor instruction and an exception (overflow or underflow) occurs, when the coprocessor interrupt disable status 7 is ON, the coprocessor exception signal 6 is output. It suppresses sending to the CPU 1 and performs exception processing. On the other hand, the coprocessor interrupt disable status 7 is OFF
When, the coprocessor exception signal 6 is sent to the CPU 1,
The CPU 1 performs an interrupt process.

【0029】レジスタ11は、コプロセッサ割込禁止ス
テータス7を設定するものである。このレジスタ11に
は、応用プログラムなどが予めビットをON/OFF
し、コプロセッサ割込禁止ステータス7をON/OFF
する。
The register 11 sets the coprocessor interrupt prohibition status 7. In this register 11, an application program or the like turns ON / OFF a bit in advance.
ON / OFF the coprocessor interrupt prohibition status 7.
To do.

【0030】次に、図3のタイムチャートを用いて図2
の構成の動作を詳細に説明する。図3の(a)は、コプ
ロセッサ割込禁止状態(コプロセッサ割込禁止ステータ
ス7がONの場合)のタイムチャートである。ここで、
斜線の部分が本実施例のCI(コプロセッサ命令)であ
る。
Next, referring to the time chart of FIG.
The operation of the above configuration will be described in detail. FIG. 3A is a time chart of the coprocessor interrupt prohibited state (when the coprocessor interrupt prohibited status 7 is ON). here,
The shaded area is the CI (coprocessor instruction) of this embodiment.

【0031】図3の(a)において、ステージF:CP
U1がメモリ3からメモリバス4を通して斜線を引いた
コプロセッサ命令CIをフェッチする(読み込む)。 ステージD:読み込んだコプロセッサ命令CIをデコ
ードし、ここではコプロセッサ命令と判明すると共に、
レジスタ11のコプロセッサ割込ステータス7のONを
読み取って認識する。
In FIG. 3A, stage F: CP
U1 fetches (reads) the shaded coprocessor instruction CI from the memory 3 through the memory bus 4. Stage D: The read coprocessor instruction CI is decoded, and it is determined here as a coprocessor instruction, and
The coprocessor interrupt status 7 of the register 11 is read and recognized.

【0032】ステージE:命令を実行する。ここでは、
ステージDでコプロセッサ命令と判明し、かつコプロセ
ッサ割込ステータス7がONと判明したので、このコプ
ロセッサ命令CIのみを、コプロセッサバス5を通し
て浮動小数点コプロセッサ21に送出する。この際、コ
プロセッサ割込ステータス7がONであったので、当該
コプロセッサ命令CIのアドレスの送出を抑止する。
Stage E: Execute instruction. here,
Only the coprocessor instruction CI is sent to the floating-point coprocessor 21 through the coprocessor bus 5 because it is determined that the coprocessor instruction is in the stage D and the coprocessor interrupt status 7 is turned on. At this time, since the coprocessor interrupt status 7 is ON, sending of the address of the coprocessor instruction CI is suppressed.

【0033】ステージW:一般命令では結果を格納する
が、ここではしない。結果は、依頼した浮動小数点コプ
ロセッサ21がステージCWで格納する。以上によっ
て、CPU1はステージDで命令をデコードしてコプロ
セッサ命令と判明し、かつコプロセッサ割込ステータス
7がONと判明したので、ステージEの命令実行ステー
ジで当該コプロセッサ命令のみを浮動小数点コプロセッ
サ21に通知し、実行を依頼する。これにより、CPU
1はコプロセッサ命令と従来一緒に渡していた当該コプ
ロセッサ命令のアドレスを渡す必要がなくなり、この分
だけ処理が少なくなり、CPU1の性能を向上させるこ
とが可能となる。
Stage W: The result is stored in the general instruction, but it is not stored here. The requested floating point coprocessor 21 stores the result in the stage CW. As described above, the CPU 1 decodes the instruction at the stage D and finds that it is a coprocessor instruction, and it turns out that the coprocessor interrupt status 7 is ON. Notify the processor 21 and request execution. This allows the CPU
1 does not need to pass the address of the coprocessor instruction, which has been passed along with the coprocessor instruction in the past, and the amount of processing is reduced by this amount, and the performance of the CPU 1 can be improved.

【0034】次に、ステージCE:ステージDでCPU
1からコプロセッサ命令CIを渡された浮動小数点コ
プロセッサ21は、このコプロセッサ命令CIを実行
する。
Next, stage CE: CPU at stage D
The floating point coprocessor 21 to which the coprocessor instruction CI is passed from 1 executes this coprocessor instruction CI.

【0035】ステージCW:実行した結果をメモリ3の
所定のアドレスに格納する。この実行時に例外(オーバ
ーフロー、アンダーフロー)が発生した場合、浮動小数
点コプロセッサ21はコプロセッサ割込禁止ステータス
7がONとここでは判明したので、最大値あるいは零を
結果としてメモリ3の所定のアドレスに格納する。コプ
ロセッサ例外信号はCPU6に通知しない。
Stage CW: The execution result is stored in a predetermined address of the memory 3. If an exception (overflow or underflow) occurs during this execution, the floating-point coprocessor 21 has found that the coprocessor interrupt prohibition status 7 is ON here. To store. The coprocessor exception signal is not notified to the CPU 6.

【0036】以上によって、浮動小数点コプロセッサ2
1が依頼を受けたコプロセッサ命令の実行時に例外の発
生に対応してコプロセッサ例外信号をCPU6に通知す
る必要がなく、CPU1に割込が発生しなく、処理が簡
略化されることとなる。特に上述したように、コプロセ
ッサ例外信号によりCPU1が割込処理でいずれのコプ
ロセッサ命令で例外が発生したかを判別するためのアド
レスが不要となり、依頼時にCPU1がコプロセッサ命
令のアドレスを浮動小数点コプロセッサ21に通知する
必要がなく、CPU1の処理が少なくなり、性能の低下
を防止できる。
By the above, the floating point coprocessor 2
1 does not need to notify the CPU 6 of the coprocessor exception signal in response to the occurrence of an exception when the requested coprocessor instruction is executed, so that the CPU 1 is not interrupted and the processing is simplified. .. In particular, as described above, the coprocessor exception signal eliminates the need for an address for the CPU 1 to determine which coprocessor instruction caused the exception in the interrupt processing, and when requesting, the CPU 1 sets the address of the coprocessor instruction to the floating point. Since there is no need to notify the coprocessor 21, the amount of processing by the CPU 1 is reduced, and a decrease in performance can be prevented.

【0037】図3の(b)は、コプロセッサ割込許可状
態(コプロセッサ割込禁止ステータス7がOFFの場
合)のタイムチャートである。ここで、斜線の部分が本
実施例のCI(コプロセッサ命令)である。
FIG. 3B is a time chart of the coprocessor interrupt enable state (when the coprocessor interrupt disable status 7 is OFF). Here, the shaded portion is the CI (coprocessor instruction) of this embodiment.

【0038】図3の(b)において、ステージF:CP
U1がメモリ3からメモリバス4を通して斜線を引いた
コプロセッサ命令CIをフェッチする(読み込む)。 ステージD:読み込んだコプロセッサ命令CIをデコ
ードし、ここではコプロセッサ命令と判明すると共に、
レジスタ11のコプロセッサ割込ステータス7がOFF
を読み取って認識する。
In FIG. 3B, stage F: CP
U1 fetches (reads) the shaded coprocessor instruction CI from the memory 3 through the memory bus 4. Stage D: The read coprocessor instruction CI is decoded, and it is determined here as a coprocessor instruction, and
Coprocessor interrupt status 7 of register 11 is OFF
Read and recognize.

【0039】ステージE:命令を実行する。ここでは、
ステージDでコプロセッサ命令と判明し、コプロセッサ
割込ステータス7がOFFと判明したので、このコプロ
セッサ命令CIおよび当該コプロセッサ命令CIの
アドレスの両者を、コプロセッサバス5を通して浮動小
数点コプロセッサ21に通知する。
Stage E: Execute instruction. here,
Since the coprocessor instruction is found to be a coprocessor instruction at stage D and the coprocessor interrupt status 7 is found to be OFF, both the coprocessor instruction CI and the address of the coprocessor instruction CI are transferred to the floating point coprocessor 21 through the coprocessor bus 5. To notify.

【0040】ステージW:一般命令では結果を格納する
が、ここではしない。結果は、依頼した浮動小数点コプ
ロセッサ21がステージCWで格納する。以上によっ
て、CPU1はステージDで命令をデコードしてコプロ
セッサ命令と判明したとき、コプロセッサ割込ステータ
ス7がOFFと判明したので、ステージEの命令実行ス
テージで当該コプロセッサ命令およびアドレスの両者を
浮動小数点コプロセッサ21に通知し、実行を依頼す
る。
Stage W: A general instruction stores the result, but not here. The requested floating point coprocessor 21 stores the result in the stage CW. As described above, when the CPU 1 decodes the instruction in the stage D and finds that it is a coprocessor instruction, the coprocessor interrupt status 7 is found to be OFF. Therefore, in the instruction execution stage of the stage E, both the coprocessor instruction and the address are processed. The floating point coprocessor 21 is notified and requested to be executed.

【0041】次に、ステージCE:ステージDでCPU
1からコプロセッサ命令CIを渡された浮動小数点コ
プロセッサ21は、このコプロセッサ命令CIを実行
する。
Next, in the stage CE: stage D, the CPU
The floating point coprocessor 21 to which the coprocessor instruction CI is passed from 1 executes this coprocessor instruction CI.

【0042】ステージCW:実行した結果をメモリ3の
所定のアドレスに格納する。この実行時に例外(オーバ
ーフロー、アンダーフロー)が発生した場合、浮動小数
点コプロセッサ21はコプロセッサ割込禁止ステータス
7がOFFとここでは判明したので、コプロセッサ例外
信号6をCPU1に通知する。そして、CPU1に割り
込みが発生し、割り込み処理の中で浮動小数点コプロセ
ッサ21が持つコプロセッサ命令およびそのアドレスを
もとに所定の例外処理を行う。
Stage CW: The execution result is stored in a predetermined address of the memory 3. When an exception (overflow or underflow) occurs during this execution, the floating-point coprocessor 21 notifies the CPU 1 of the coprocessor exception signal 6 because the coprocessor interrupt prohibition status 7 is found to be OFF here. Then, an interrupt is generated in the CPU 1, and in the interrupt process, a predetermined exception process is performed based on the coprocessor instruction of the floating point coprocessor 21 and its address.

【0043】[0043]

【発明の効果】以上説明したように、本発明によれば、
CPU1が命令を順次取り込んでデコードしてコプロセ
ッサ命令と判明したときにコプロセッサ割り込み禁止ス
テータス7がONのときにコプロセッサ命令のみをコプ
ロセッサ2に送出し、当該コプロセッサ命令のアドレス
の送出を抑止し、コプロセッサ2が依頼を受けたコプロ
セッサ命令を実行して例外が発生したときにコプロセッ
サ例外信号の送出を抑止してCPU1に通知しない構成
を採用しているため、CPU1とコプロセッサ2の間の
バス幅を増加させることなしに、コプロセッサ割込禁止
ステータス7を設けてこれを操作して無用な命令アドレ
スの送出を無くし、CPU1の性能低下を防止すること
ができる。
As described above, according to the present invention,
When the CPU 1 sequentially fetches and decodes the instructions and finds that they are coprocessor instructions, only the coprocessor instruction is sent to the coprocessor 2 when the coprocessor interrupt disable status 7 is ON, and the address of the coprocessor instruction is sent. Since the CPU 1 and the coprocessor 2 are configured to suppress the sending of the coprocessor exception signal when the coprocessor 2 executes the requested coprocessor instruction and an exception occurs, the coprocessor 2 does not notify the CPU 1. Without increasing the bus width between the two, the coprocessor interrupt prohibition status 7 is provided and operated to eliminate unnecessary instruction address transmission and prevent the performance degradation of the CPU 1.

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

【図1】本発明の原理構成図である。FIG. 1 is a principle configuration diagram of the present invention.

【図2】本発明の1実施例構成図である。FIG. 2 is a configuration diagram of an embodiment of the present invention.

【図3】本発明のタイムチャート例である。FIG. 3 is an example of a time chart of the present invention.

【図4】従来技術の説明図である。FIG. 4 is an explanatory diagram of a conventional technique.

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

1:CPU 11:レジスタ 2:コプロセッサ 21:浮動小数点コプロセッサ 3:メモリ 4:メモリバス 5:コプロセッサバス 6:コプロセッサ例外信号 7:コプロセッサ割込禁止ステータス 1: CPU 11: Register 2: Coprocessor 21: Floating point coprocessor 3: Memory 4: Memory bus 5: Coprocessor bus 6: Coprocessor exception signal 7: Coprocessor interrupt disable status

───────────────────────────────────────────────────── フロントページの続き (72)発明者 野々村 一泰 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 渡部 徹 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 竹野 巧 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 加藤 慎哉 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 ポーンシャイ・チョンスワンナパイサーン 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Kazuyasu Nonomura 1015 Kamiodanaka, Nakahara-ku, Kawasaki City, Kanagawa Prefecture, Fujitsu Limited (72) Inventor Toru Watanabe, 1015, Kamedotachu, Nakahara-ku, Kawasaki City, Kanagawa Prefecture, Fujitsu Limited (72) Inventor Takumi Takeno, 1015 Kamiodanaka, Nakahara-ku, Kawasaki-shi, Kanagawa, Fujitsu Limited (72) Inventor Shinya Kato, 1015, Kamikodanaka, Nakahara-ku, Kawasaki, Kanagawa, Fujitsu Limited (72) Inventor Pawnshai Chung Suvarnapaisan 1015 Kamiodanaka, Nakahara-ku, Kawasaki City, Kanagawa Prefecture, Fujitsu Limited

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】CPUからコプロセッサを制御するコプロ
セッサ制御方式において、 CPU(1)がコプロセッサ命令の実行を依頼するコプ
ロセッサ(2)と、 コプロセッサ(2)がコプロセッサ命令実行によって例
外の発生したときにコプロセッサ例外信号の送出を禁止
/許可するコプロセッサ割込禁止ステータス(7)とを
備え、 CPU(1)が命令を順次取り込んでデコードしてコプ
ロセッサ命令と判明したときに上記コプロセッサ割込禁
止ステータス(7)がONのときにコプロセッサ命令の
みをコプロセッサ(2)に送出し、当該コプロセッサ命
令のアドレスの送出を抑止し、一方、上記コプロセッサ
割込禁止ステータス(7)がOFFのときにコプロセッ
サ命令および当該コプロセッサ命令のアドレスをコプロ
セッサ(2)に送出するように構成したことを特徴とす
るコプロセッサ制御方式。
1. A coprocessor control system for controlling a coprocessor from a CPU, wherein a coprocessor (2) requests execution of a coprocessor instruction by the CPU (1) and an exception occurs when the coprocessor (2) executes the coprocessor instruction. When a CPU (1) sequentially fetches and decodes instructions, the coprocessor interrupt inhibit status (7) that inhibits / permits the sending of a coprocessor exception signal when When the coprocessor interrupt prohibition status (7) is ON, only the coprocessor instruction is sent to the coprocessor (2), the sending of the address of the coprocessor instruction is suppressed, while the coprocessor interrupt disable status is given. When (7) is OFF, the coprocessor instruction and the address of the coprocessor instruction are sent to the coprocessor (2). Coprocessor control method, characterized by being configured to.
【請求項2】上記CPU(1)からコプロセッサ命令の
送出を受けてこれを取り込んだコプロセッサ(2)が実
行して例外発生したとき、上記コプロセッサ割込禁止ス
テータス(7)がONのときに当該例外をCPU(1)
へ通知することを抑止し、一方、上記コプロセッサ割込
禁止ステータス(7)がOFFのときに当該例外をCP
U(1)へ通知し、この通知を受けたCPU(1)がコ
プロセッサ(2)の保持するデータをもとに所定の割り
込み処理を行うように構成したことを特徴とする請求項
第1項記載のコプロセッサ制御方式。
2. When a coprocessor instruction is sent from the CPU (1) and the coprocessor (2) that takes in the coprocessor instruction executes it and an exception occurs, the coprocessor interrupt disable status (7) is ON. Occasionally the CPU (1)
Notify the exception to the above, but when the coprocessor interrupt disable status (7) is OFF, the exception is sent to CP.
The U (1) is notified, and the CPU (1) that has received the notification performs a predetermined interrupt process based on the data held by the coprocessor (2). The coprocessor control method described in the paragraph.
【請求項3】上記コプロセッサ(2)が実行して例外発
生したとき、上記コプロセッサ割込禁止ステータス
(7)がONのときに当該例外をCPU(1)へ通知す
ることを抑止すると共に、例外処理した結果を実行結果
として格納するように構成したことを特徴とする請求項
第2項記載のコプロセッサ制御方式。
3. When the coprocessor (2) executes and an exception occurs, it is suppressed that the exception is notified to the CPU (1) when the coprocessor interrupt disable status (7) is ON. 3. The coprocessor control method according to claim 2, wherein the exception processing result is stored as an execution result.
JP890792A 1992-01-22 1992-01-22 Coprocessor control method Expired - Fee Related JP2908096B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP890792A JP2908096B2 (en) 1992-01-22 1992-01-22 Coprocessor control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP890792A JP2908096B2 (en) 1992-01-22 1992-01-22 Coprocessor control method

Publications (2)

Publication Number Publication Date
JPH05197551A true JPH05197551A (en) 1993-08-06
JP2908096B2 JP2908096B2 (en) 1999-06-21

Family

ID=11705748

Family Applications (1)

Application Number Title Priority Date Filing Date
JP890792A Expired - Fee Related JP2908096B2 (en) 1992-01-22 1992-01-22 Coprocessor control method

Country Status (1)

Country Link
JP (1) JP2908096B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6928523B2 (en) 2000-07-25 2005-08-09 Renesas Technology Corp. Synchronous signal producing circuit for controlling a data ready signal indicative of end of access to a shared memory and thereby controlling synchronization between processor and coprocessor
US7200741B1 (en) 1999-11-22 2007-04-03 Nec Electronics Corporation Microprocessor having main processor and co-processor
JP2016091076A (en) * 2014-10-30 2016-05-23 日本電気株式会社 Information processing device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7200741B1 (en) 1999-11-22 2007-04-03 Nec Electronics Corporation Microprocessor having main processor and co-processor
US6928523B2 (en) 2000-07-25 2005-08-09 Renesas Technology Corp. Synchronous signal producing circuit for controlling a data ready signal indicative of end of access to a shared memory and thereby controlling synchronization between processor and coprocessor
JP2016091076A (en) * 2014-10-30 2016-05-23 日本電気株式会社 Information processing device

Also Published As

Publication number Publication date
JP2908096B2 (en) 1999-06-21

Similar Documents

Publication Publication Date Title
JP3336892B2 (en) Method of executing speculative load instruction in high performance processor, processor, and data processing system
EP0423906B1 (en) Method of and apparatus for nullifying an instruction
US5386565A (en) Method and system for controlling/monitoring computer system having plural operating systems to run thereon
US5471620A (en) Data processor with means for separately receiving and processing different types of interrupts
JPH07104841B2 (en) Interrupt control method for multiprocessing system
US7051195B2 (en) Method of optimization of CPU and chipset performance by support of optional reads by CPU and chipset
JPH05197551A (en) Coprocessor control system
US6721878B1 (en) Low-latency interrupt handling during memory access delay periods in microprocessors
US6308242B1 (en) Apparatus for adaptively controlling a prefetch queue based on various flush conditions
JP2006039874A (en) Information processor
JP2009157808A (en) Data processing device and bus access control method therein
EP0212132A1 (en) Method and digital computer for recovering from errors
US20020052992A1 (en) Fast exception processing with multiple cached handlers
JP2636562B2 (en) calculator
US7035999B2 (en) Register window fill technique for retirement window having entry size less than amount of fill instructions
JPH02287828A (en) Prefetch control system
JP2011048619A (en) Processor
JPH0451329A (en) Context switching device
JP2783285B2 (en) Information processing device
JPH05165652A (en) Task switching control method
JP2504191B2 (en) Microprocessor
JPS6247746A (en) Interruption control system
JP3112861B2 (en) Microprocessor
JPH03268041A (en) Cache operation clarifying computer
JP2007280023A (en) Interrupt controller

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19990302

LAPS Cancellation because of no payment of annual fees