JP2708647B2 - コプロセサによる補助機能のサポート方法 - Google Patents

コプロセサによる補助機能のサポート方法

Info

Publication number
JP2708647B2
JP2708647B2 JP11290291A JP11290291A JP2708647B2 JP 2708647 B2 JP2708647 B2 JP 2708647B2 JP 11290291 A JP11290291 A JP 11290291A JP 11290291 A JP11290291 A JP 11290291A JP 2708647 B2 JP2708647 B2 JP 2708647B2
Authority
JP
Japan
Prior art keywords
auxiliary function
coprocessor
function
auxiliary
valid
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 - Fee Related
Application number
JP11290291A
Other languages
English (en)
Other versions
JPH04340647A (ja
Inventor
敬 中村
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 JP11290291A priority Critical patent/JP2708647B2/ja
Publication of JPH04340647A publication Critical patent/JPH04340647A/ja
Application granted granted Critical
Publication of JP2708647B2 publication Critical patent/JP2708647B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は,コプロセサによって提
供される種々の補助機能を,ソフトウェアが低い定常コ
ストで実現できるようにしたコプロセサによる補助機能
のサポート方法に関するものである。
【0002】近年,CPUが提供するハードウェア機能
については,複数のコプロセサで並列処理することによ
り高速化を図る傾向にある。すなわち,ハードウェアは
種々の補助機能をコプロセサで処理する。これに伴い,
ソフトウェアはそれらのコプロセサによる補助機能を使
用可能となるようにするが,このとき個々のプロセスの
ワーキングセットを必要最低限にすることで定常コスト
を少なくする必要がある。
【0003】
【従来の技術】計算機において,例えば浮動小数点の演
算を高速化するために,メインのプロセサとは別に,浮
動小数点計算専用のコプロセサを設けて,浮動小数点命
令を処理することなどが行われている。
【0004】従来のオペレーティング・システムでは,
データを処理するアプリケーションプログラムなどのプ
ロセスが,どのコプロセサ補助機能を使用するかが事前
にわからないため,システムのサポートしているすべて
の補助機能が必要とする分の領域を,プロセスの創成時
に用意しなければならなかった。
【0005】このため,本来そのプロセスの配下で動作
するプログラムが使用しない補助機能用領域も用意する
こととなり,プロセスのメモリオーバヘッドを増大させ
ていた。図5は,その従来技術の説明図である。図5に
おいて,機能a,機能bは,それぞれハードウェアのコ
プロセサによって実現されている補助機能である。
【0006】プロセスP1は機能aのみを使用し,プロ
セスP2は機能bのみを使用する。しかし,実際に動作
するまでは,どの機能を使用しているかがわからないた
め,システムが提供している全補助機能についての領域
を用意する。すなわち,機能a用領域,機能b用領域,
機能c用領域を,各プロセスP1,P2のそれぞれに用
意する。
【0007】
【発明が解決しようとする課題】以上のように従来技術
によれば,各プロセスP1,…は,必要としない領域も
あらかじめ用意しておかなければならないという問題が
あった。例えば,コプロセサが浮動小数点演算用プロセ
サであるような場合,プロセスが浮動小数点演算命令を
使用するかしないかにかかわらず,従来技術では,浮動
小数点レジスタの退避域を準備するなどの処理が必要で
あった。
【0008】また,プログラム開始時に使用する補助機
能を宣言し,その範囲でオペレーティング・システムが
領域等の環境を用意する方式も考えられているが,次の
ような欠点が指摘されていた。 (1) 補助機能の使用を宣言し,オペレーティング・シス
テムを呼び出すことによる初期化オーバヘッドがかか
る。
【0009】(2) プログラムは,使用する補助機能に関
する初期化を意識しなければならず,プログラムが使用
する機能の宣言を忘れた場合には,補助機能を使用した
ときに異常となる。本発明は上記問題点の解決を図り,
コプロセサで提供される補助機能のうち,各々のプロセ
スが使用する機能のみが必要な領域等を,少ないオーバ
ヘッドでオペレーティング・システムが自動的に用意で
きるようにすることを目的としている。
【0010】
【課題を解決するための手段】図1は本発明の原理説明
図である。図1において,10はCPUおよびメモリを
備えたデータ処理装置,11は例えば浮動小数点演算命
令のようなコプロセサの補助機能を使用する補助機能使
用命令,12は補助機能を有効とするか無効とするかを
表示する補助機能有効/無効表示部,13はデータ処理
装置10の補助機能を提供するコプロセサを表す。
【0011】図1に示すシステムは,プロセサを備えた
データ処理装置10の一部の処理機能をハードウェアに
よって補助するコプロセサ13を有している。データ処
理装置10上で動作するプロセス(アプリケーションプ
ログラム等)には,コプロセサ13を使用するものもあ
れば,コプロセサ13を使用しないものもある。コプロ
セサ13を使用しないプロセスに対しても,無条件に補
助機能の使用に必要になる領域などの資源を割り当てる
のはダイナミック・ステップおよびメモリ容量の点で無
駄になる。そのため,本発明では,以下のように処理す
る。
【0012】 プロセスの初期化時に,補助機能有効
/無効表示部12に,コプロセサ補助機能を無効とする
ように設定する。 コプロセサ補助機能が無効に設定
されている状態で,コプロセサ補助機能が使用された場
合,すなわち補助機能有効/無効表示部12が補助機能
無効となっている状態で,補助機能使用命令11が発行
されると,ハードウェアは割込みを発生させる。
【0013】 コプロセサ補助機能の使用により割込
みが発生した場合に,オペレーティング・システムのカ
ーネルは,コプロセサ補助機能を使用する動作環境を整
える。 コプロセサ補助機能の動作環境を整えた後
に,補助機能有効/無効表示部12の該当補助機能を有
効に設定して,割込みを発生させる原因となった補助機
能使用命令11を再実行する。
【0014】コプロセサ13は1台でもよく,また複数
台でもよい。補助機能の種類が多数ある場合にも,同様
に補助機能の種類ごとに上記制御を行う。
【0015】
【作用】本発明では,あらかじめ補助機能有効/無効表
示部12に補助機能の無効を設定しておくことにより,
補助機能使用命令11が使用された場合に,プログラム
例外の割込みを発生させるので,コプロセサ13の使用
を認識することができる。そこで,補助機能の使用に必
要な動作環境を整えて,補助機能有効/無効表示部12
に有効を設定し,補助機能使用命令11の再実行によ
り,正常に処理を進めることができる。
【0016】一方,補助機能使用命令11をまったく使
用しないプロセスでは,補助機能の使用によるプログラ
ム例外が生じないので,動作環境を用意する処理を省く
ことができ,動作環境設定の無駄が生じることはない。
この動作環境とは,例えばコプロセサ13が浮動小数点
演算プロセサであるような場合,浮動小数点レジスタの
退避域のようなものである。その他,特殊用途の入出力
装置に対する専用の処理を行うコプロセサ13であるよ
うな場合,そのバッファ領域なども動作環境として扱う
ことができる。
【0017】
【実施例】図2は,本発明の実施例による補助機能有効
/無効表示部の構成例を示す。補助機能有効/無効表示
部12は,例えば図2に示すように,CPUのPSW内
に,各コプロセサの補助機能に応じて,有効とするかど
うかを示すビットを設けることによって構成される。こ
の例では,“0”が無効,“1”が有効である。
【0018】図2の例では,1台または複数台のコプロ
セサによって実現される補助機能が8個あり,対応する
ビットが“1”のときにのみ,そのコプロセサが動作し
て補助機能を実現する。ビットが“0”になっているコ
プロセサ補助機能が使用されると,コプロセサ自体の有
無にかかわりなく,プログラム例外が発生し,割込みで
ソフトウェアに通知する例外発生機構を持つ。
【0019】図3は,本発明の一実施例説明図である。
Pはコプロセサの補助機能を使用してプログラムを実行
させるプロセス,30はプロセスPが補助機能を使用し
たときに,その補助機能が無効化されていればプログラ
ム例外の割込みを発生させる例外発生機構,31は補助
機能の使用によりプログラム例外が発生した場合に,補
助機能を使用するための領域の準備などを行い,準備が
整った段階で補助機能を有効化させる例外処理機構を表
す。
【0020】プロセスPは,コプロセサの補助機能aと
補助機能bとを使用するようになっている。 このプ
ロセスPの初期化時に,カーネルはすべてのコプロセサ
の補助機能が無効となるように,コンテキスト上のPS
Wにおける補助機能有効/無効表示部12を初期化す
る。
【0021】 プロセスPが補助機能aを使用する
と,その補助機能aに対応するビット(この例では補助
機能有効/無効表示部12の先頭ビット)が“0”であ
るため,例外発生機構30が動き,例外処理機構31を
動作させる。例外処理機構31は,補助機能aを使用で
きるようにするために機能a用領域を準備し,機能aに
対応する補助機能有効/無効表示部12の先頭ビットを
“1”(有効)にして,機能aを使用する命令を再実行
させる。この再実行により,補助機能aが実際に使用さ
れることになる。
【0022】 同様に,プロセスPが補助機能bを使
用すると,例外発生機構30および例外処理機構31に
よって,その動作環境が作られ,その後の再実行処理に
よって正常に処理が続けられる。PSWの補助機能有効
/無効表示部12における機能aおよび機能bのビット
は,それぞれ“1”となり,以後,この機能を何回使用
しても,それによって例外の割込みが生じることはな
い。
【0023】図4は,本発明の一実施例による処理の流
れを示している。以下の説明における(a) 〜(e) は,図
4に示す(a) 〜(e) に対応する。 (a) プロセスの初期化時に,コンテキスト上のPSWの
全補助機能有効/無効ビットを“0”に初期化する。
【0024】(b) アプリケーションプログラムがコプロ
セサの補助機能を使用する命令を実行する。 (c) 補助機能有効/無効ビットが“0”(無効)になっ
ているので,割込みが発生する。
【0025】(d) カーネルでその補助機能の動作環境を
用意する。 (e) PSWの補助機能有効/無効ビットを“1”(有
効)に変更し,補助機能を使用する命令を再実行する。
【0026】
【発明の効果】以上説明したように,本発明によれば,
コプロセサで提供される補助機能のうち,各々のプロセ
スが使用する機能のみが必要な領域等の環境を,実際に
使用した時点で少ないオーバヘッドでオペレーティング
・システムが自動的に用意することが可能になる。これ
により,コプロセサを搭載したハードウェアを使用する
場合,CPUとメモリについての少ないオーバヘッドで
その機能を使用することができ,性能向上に寄与すると
ころが大きい。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】本発明の実施例による補助機能有効/無効表示
部の構成例を示す図である。
【図3】本発明の一実施例説明図である。
【図4】本発明の一実施例による処理の流れを示す図で
ある。
【図5】従来技術の説明図である。
【符号の説明】
10 データ処理装置 11 補助機能使用命令 12 補助機能有効/無効表示部 13 コプロセサ

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 プロセサを備えたデータ処理装置(10)の
    一部の処理機能をハードウェアによって補助するコプロ
    セサ(13)を有するシステムにおけるコプロセサによる補
    助機能のサポート方法において,プロセスの初期化時
    に,コプロセサ補助機能を無効とするように設定する過
    程()と,コプロセサ補助機能が無効に設定されてい
    る状態で,コプロセサ補助機能が使用された場合に,割
    込みを発生させる過程()と,コプロセサ補助機能の
    使用により割込みが発生した場合に,コプロセサ補助機
    能を使用する動作環境を整える過程()と,コプロセ
    サ補助機能の動作環境を整えた後に,コプロセサ補助機
    能を有効に設定して,割込みを発生させる原因となった
    命令を再実行させる過程()とを備えたことを特徴と
    するコプロセサによる補助機能のサポート方法。
JP11290291A 1991-05-17 1991-05-17 コプロセサによる補助機能のサポート方法 Expired - Fee Related JP2708647B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11290291A JP2708647B2 (ja) 1991-05-17 1991-05-17 コプロセサによる補助機能のサポート方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11290291A JP2708647B2 (ja) 1991-05-17 1991-05-17 コプロセサによる補助機能のサポート方法

Publications (2)

Publication Number Publication Date
JPH04340647A JPH04340647A (ja) 1992-11-27
JP2708647B2 true JP2708647B2 (ja) 1998-02-04

Family

ID=14598357

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11290291A Expired - Fee Related JP2708647B2 (ja) 1991-05-17 1991-05-17 コプロセサによる補助機能のサポート方法

Country Status (1)

Country Link
JP (1) JP2708647B2 (ja)

Also Published As

Publication number Publication date
JPH04340647A (ja) 1992-11-27

Similar Documents

Publication Publication Date Title
US5386565A (en) Method and system for controlling/monitoring computer system having plural operating systems to run thereon
JP3320358B2 (ja) コンパイル方法、例外処理方法、及びコンピュータ
US5003458A (en) Suspended instruction restart processing system based on a checkpoint microprogram address
JPH076151A (ja) オンチップメモリデバイスのアクセスのために最適化されたcpuコアバス
US5146569A (en) System for storing restart address of microprogram, determining the validity, and using valid restart address to resume execution upon removal of suspension
JPH07120338B2 (ja) 共同プロセッサによる命令の実行をデータプロセッサが調整する方法および該データプロセッサ
TW201433981A (zh) 多核心處理器及其相關控制方法與電腦系統
JP2708647B2 (ja) コプロセサによる補助機能のサポート方法
JP2849189B2 (ja) 例外処理システム
JPH05165652A (ja) タスク切替え制御方法
JP2510691B2 (ja) 演算処理方法
JP2856784B2 (ja) 電子計算機
JP3328867B2 (ja) マルチプロセッサ演算装置、および該装置を有するプログラマブルコントローラ
JPH0656611B2 (ja) ベクトル処理装置
JPS59172044A (ja) 命令制御方式
US20210096877A1 (en) Collapsing bubbles in a processing unit pipeline
JP2878037B2 (ja) プロセッサの停止方式
JP2899009B2 (ja) 情報処理装置
JPH113225A (ja) 情報処理装置
JP2672955B2 (ja) 付加プロセッサ制御方式
JPS63187332A (ja) 演算処理装置
JPH07120286B2 (ja) 浮動小数点関数擬似命令処理方法
JPH0772874B2 (ja) 割込み受取り装置
JPS6338729B2 (ja)
JPH052472A (ja) 演算装置

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: 19970930

LAPS Cancellation because of no payment of annual fees