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

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

Info

Publication number
JPH04340647A
JPH04340647A JP11290291A JP11290291A JPH04340647A JP H04340647 A JPH04340647 A JP H04340647A JP 11290291 A JP11290291 A JP 11290291A JP 11290291 A JP11290291 A JP 11290291A JP H04340647 A JPH04340647 A JP H04340647A
Authority
JP
Japan
Prior art keywords
coprocessor
auxiliary
auxiliary function
function
functions
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
JP11290291A
Other languages
English (en)
Other versions
JP2708647B2 (ja
Inventor
Takashi Nakamura
敬 中村
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)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

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の初期化時に,カーネルはすべてのコプロセ
サの補助機能が無効となるように,コンテキスト上のP
SWにおける補助機能有効/無効表示部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) プロセスの初期化時に,コンテキスト上のPS
Wの全補助機能有効/無効ビットを“0”に初期化する
【0024】(b) アプリケーションプログラムがコ
プロセサの補助機能を使用する命令を実行する。 (c) 補助機能有効/無効ビットが“0”(無効)に
なっているので,割込みが発生する。
【0025】(d) カーネルでその補助機能の動作環
境を用意する。 (e) PSWの補助機能有効/無効ビットを“1”(
有効)に変更し,補助機能を使用する命令を再実行する
【0026】
【発明の効果】以上説明したように,本発明によれば,
コプロセサで提供される補助機能のうち,各々のプロセ
スが使用する機能のみが必要な領域等の環境を,実際に
使用した時点で少ないオーバヘッドでオペレーティング
・システムが自動的に用意することが可能になる。これ
により,コプロセサを搭載したハードウェアを使用する
場合,CPUとメモリについての少ないオーバヘッドで
その機能を使用することができ,性能向上に寄与すると
ころが大きい。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】本発明の実施例による補助機能有効/無効表示
部の構成例を示す図である。
【図3】本発明の一実施例説明図である。
【図4】本発明の一実施例による処理の流れを示す図で
ある。
【図5】従来技術の説明図である。
【符号の説明】
10    データ処理装置 11    補助機能使用命令 12    補助機能有効/無効表示部13    コ
プロセサ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】  プロセサを備えたデータ処理装置(1
    0)の一部の処理機能をハードウェアによって補助する
    コプロセサ(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 true JPH04340647A (ja) 1992-11-27
JP2708647B2 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240080195A (ko) 2021-10-14 2024-06-05 니폰 필라고교 가부시키가이샤 글랜드 패킹

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240080195A (ko) 2021-10-14 2024-06-05 니폰 필라고교 가부시키가이샤 글랜드 패킹

Also Published As

Publication number Publication date
JP2708647B2 (ja) 1998-02-04

Similar Documents

Publication Publication Date Title
US6134653A (en) RISC processor architecture with high performance context switching in which one context can be loaded by a co-processor while another context is being accessed by an arithmetic logic unit
JP3320358B2 (ja) コンパイル方法、例外処理方法、及びコンピュータ
US5386565A (en) Method and system for controlling/monitoring computer system having plural operating systems to run thereon
EP1936500A2 (en) Structured exception handling for application-managed thread units
TW201433981A (zh) 多核心處理器及其相關控制方法與電腦系統
EP1039376B1 (en) Sub-instruction emulation in a VLIW processor
JP2708647B2 (ja) コプロセサによる補助機能のサポート方法
JPH06202868A (ja) マルチスカラー・プロセッサ・システムにおける高速浮動小数点例外起動式操作の方法およびシステム
JP4978914B2 (ja) マイクロプロセッサ上での複数命令ストリーム/複数データストリームの拡張を可能にする方法およびシステム
JPH05165652A (ja) タスク切替え制御方法
JP2510691B2 (ja) 演算処理方法
JP2878037B2 (ja) プロセッサの停止方式
JPH03268041A (ja) キャッシュ操作明示化コンピュータ
JPS61251936A (ja) 仮想計算機システム
JPH113225A (ja) 情報処理装置
JPS62125437A (ja) 付加プロセツサの制御方法
JPS6116338A (ja) 仮想計算機システムにおける割込み処理方式
JPH0656611B2 (ja) ベクトル処理装置
KR19990030951A (ko) Smm에서의 하드웨어 진단 방법
JPH02176832A (ja) マイクロコンピュータ
JPS62168259A (ja) マルチプロセツサの制御方式
JPH0440530A (ja) リアルタイム処理装置
JPH0242533A (ja) レジスタ・ハザード制御回路
JPS625439A (ja) 命令コ−ド拡張方式
JPH031234A (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