JPS6393065A - コ・プロセツサid変換方式 - Google Patents

コ・プロセツサid変換方式

Info

Publication number
JPS6393065A
JPS6393065A JP61238800A JP23880086A JPS6393065A JP S6393065 A JPS6393065 A JP S6393065A JP 61238800 A JP61238800 A JP 61238800A JP 23880086 A JP23880086 A JP 23880086A JP S6393065 A JPS6393065 A JP S6393065A
Authority
JP
Japan
Prior art keywords
processor
instruction
coprocessor
physical
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.)
Pending
Application number
JP61238800A
Other languages
English (en)
Inventor
Takeshi Kitahara
北原 毅
Taizo Sato
泰造 佐藤
Tomoo 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 JP61238800A priority Critical patent/JPS6393065A/ja
Publication of JPS6393065A publication Critical patent/JPS6393065A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Retry When Errors Occur (AREA)
  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概要〕 て、そのコ・プロセッサIDを物理的に定められたID
に変換するとともに、該IDが使用できるかどうかを調
べ、使用できない場合は、新たなIDを割付けることに
より、マルチタスク処理における共用コ・プロセッサ資
源のセーブ・リストアの削減、及びある1つのタスクに
複数のコ・プロセッサを割当てる処理の軽減化を実現す
る。
〔産業上の利用分野〕
本発明は、浮動小数点滴W、機構などを協調演算処理装
置(コ・プロセッサ)として有するシステムにおいて、
マルチタスクで共用するコ・プロセッサの資源管理方式
に関する。
浮動小数点演算機構などは内部の情報量が多く。
複数タスクで共用して使用する場合、該内部情報の退避
、復元(セーブ・リストア)の回数を削減する方式が要
求される。
〔従来の技術〕
第2図に代表的なコ・プロセッサ命令の命令フォーマッ
トを示す。命令中のCP−IDはコ・プロセッサID(
lli別子)であり、複数のコ・プロセッサが接続され
た場合にそれぞれを指定するために用いる。
OPはCPUの命令コード、 Co−Pro Comm
andはコ・プロセッサに対するコマンドである。
第5図に従来技術のCPUの内部構成を示す。
31は命令デコード直前の入力レジスタ、32はマイク
ロ命令の先頭アドレスを振り分ける為のエントリROM
、33は例外処理2割込み処理のマイクロ命令を実行す
るためのアドレス選択回路。
34はマイクロ命令の格納されるR OM (Read
Only Memory )である。
第6図は従来技術におけるCPUとコ・プロセッサの接
続概略図である。40はCPU、41はコ・プロセッサ
、42は不当なコ・プロセッサI〔発明が解決しようと
する問題点〕 第5図、第6図に示した従来技術の例においては、第1
図の命令フォーマット中のCP−IDが直接物理的なC
P−IDとしてcpuの外部へ出力される。命令中のC
P−IDが未実装のIDを指している場合、第6図に示
した42の様なチェック機構が無いと、デッドロック状
態となりシステム・ダウンしてしまう。
又従来技術でマルチ・タスクを実現した場合。
ある時点でシステム環境を使用させたタスクがコ・プロ
セッサを実際に使用したかどうかがO3で分らない。従
ってタスク切換えの際に、そのタスクが実際にコ・プロ
セッサをアクセスしていなくても、コ・プロセッサの内
部情報の退避、復元が実行されていた。浮動小数点コ・
プロセッサの様な場合には、内部情報が数十バイトにも
及ぶことがあり、タスク切換え時間を長くするといった
悪影響を与えていた。
さらに、複数個のコ・プロセッサの実装を前提として作
られたアプリケーションプログラム、例えば浮動小数点
コ・プロセッサが2つ実装されていることを前提として
作られたソフトウェア(CP・IDとして0,1.の値
を持つコ・プロセッサ命令がプログラム中に存在する)
を、コ・プロセッサが1つしか実装されていないシステ
ム(CP・IDがOしか実装されていない)で実行しよ
うとした際、第6図の42の機構があったとしても。
次の様な欠点がある。
i)未実装のCP・IDを外部チェック回路でエラー通
知し1例外処理に入った時点で1例外の原因となったコ
・プロセッサ命令のCP・IDを書き直し再実行しなけ
ればならない。しかし、この書変えたコ・プロセッサ命
令が終了した時点で又例外処理を実行しなければ、論理
的な矛盾を起こす。
第7図において、■の命令は実装されているCP−ID
を使用しているため、そのまま実行できる。■の命令は
CP−IDが未実装のコ・プロセッサを指している為9
例外処理となる。例外処理中でコ・プロセッサの内部情
報を退避、復元し。
■の命令中のCP−IDを実装されている値に書変えて
■から再実行したとする。■の命令のCP・IDは実装
されているコ・プロセッサを指しているため、そのまま
実行できる。しかし、命令■と命令■の間で内部情報が
入れ変っていないため。
論理的におかしくなってしまう。
従って従来技術では第7図のプログラムを実行するため
に■の命令を一度イリーガル命令に置き変えたり、■の
命令実行そのものをソフトウェアでエミュレーションす
るといった複雑な処理が必要であった。
〔問題を解決するための手段〕 第1図は本発明の原理ブロック図である。
図中、1は主プロセッサ(CPU)、2はコ・〔作用〕 コ・プロセッサ命令検出部3で検出されたコ・プロセッ
サ命令中のCP−IDは、物理コ・プロセッサID/フ
ラグ記憶部4により変換されると同時に、そのIDが有
効か無効かが分り、未実装のIDが命令中で指定されて
も2例外処理指示部5により例外処理が起動できる。こ
れにより、CPUの外部にチェック回路を設ける必要が
なくなる。
〔実施例〕
第4図は本発明による実施例のシステム構成図であり、
20はCPU、21は浮動小数点コ・プロセッサである
第3図は1本発明の一実施例によるcpuO内部構成図
である。
11は命令デコーダへの入力レジスタであり。
ここに外部メモリより読み込んだ命令がセットされる。
12はマイクロ命令の先頭アドレスを出力するエントリ
ROMである。コ・プロセッサ命令であるか否かを示す
信号も、このエントリROMから出力する。13は命令
中のCPiDによって選択され物理的なCP−IDを出
力すると共に。
そのCP−IDが有効か無効かを示す信号(図中)En
a b 1 e)を出力するマンピングレジスタ構成の
記憶部である。14はNANDゲートであり、命令がコ
・プロセッサ命令であり、かつマツピングレジスタから
CP−IDが無効である旨を示す信号が出力されるとき
Ena b l e=l)。
論理“0°を出力し、エントリROM12からのアドレ
スに関係なく1例外処理マクロアドレスが選択されるよ
うにアドレス選択回路15を制御する。15はアドレス
選択回路であり、エントリROM12からのマイクロア
ドレスと図示しない処理部からの例外処理アイクロアド
レスとのいずれかを選択する。16はマイクロ命令が格
納されるROMである。
本発明によれば、第6図の42に示したチェック回路が
不要となり、又以下に示す様に各エントリのEnabl
eフラグを制御することにより。
マルチ・タスク時のコ・プロセッサの内部情報の不要な
退避、復元を削減できると共に、マルチ・コ・プロセッ
サ処理のエミュレーション、マルチ・コ・プロセッサの
サポートが容易となる。
(i)マルチ・タスク処理におけるタスク切換え時の操
作。
タスクを切換えた時はマツピングレジスタのEnabl
eフラグを全てクリア(d i s a b l e状
態)するのみである。新たなタスクがコ・プロセッサ命
令を使用しなければそのまま通常にプロダラムは走行す
る。新タスクがコ・プロセンサ命令を使用すると、その
命令で例外を発生し、処理と はO8に移行する。O8は該タスクの番号は、コ・プロ
セッサ資源との対応テーブルを検索し、一致していれば
Enableフラグをセントして該ればコ・プロセッサ
の内部情報の退避復元処理をした後、対応テーブルを更
新しマンピングレジスタを更新して該コ・プロセッサ命
令より再実行する。これにより、新タスクがコ・プロセ
ッサを使用しなければコ・フロセッサの内部情報の退避
・復元は実行せずタスク切換えが効率化される。
(ii )マルチ・コ・プロセッサ処理のエミュレーシ
ョン操作 第7図に示した様な命令列の実行時に、コ・プロセッサ
が物理的に1つしか存在しない場合の操作について説明
する。
■の命令はCP−rD=oが既にEnableとなって
いるとして説明は省略する。■の命令でCP−ID=1
がdisable状態である為。
例外を検出して、処理はO8に移行する。O8はシステ
ム中にコ・プロセッサが1つしか無いので現在のコ・プ
ロセッサの内部情報の退避・復元を実行する。
その後、マツピングレジスタのCP−ID=0をEna
bleとする。そして■の命令から再実行する。命令中
ではCP−ID=1のコ・プロセッサを操作しているつ
もりが、実際はマツピングレジスタで変換されたCP−
ID (=0)のコ・プロセッサを使用している。
■の命令ではCP−ID=Oが上記の操作でd物理がO
8に移行できるので、コ・プロセッサ資源が論理的な矛
盾を発生することなく容易に管理できる。
(iii )マルチ・コ・プロセッサのサポートシステ
ムに複数のコ・プロセッサを持ち、走行する複数のタス
クがそれぞれ1つのコ・プロセッサしか必要としない場
合、各コ・プロセッサとタスクの対応テーブルの管理に
よって内部情報の退避・復元の回数が削減できるという
効果もある。
〔発明の効果〕
本発明によれば、・プロセッサをマルチ・タスクで共用
する場合の効率を大幅に改善でき、又外部に特殊なチェ
ック回路などが不要になる等の優れた効果が得られる。
【図面の簡単な説明】
第1図は本発明の原理ブロック図。 第2図はコ・プロセッサ命令の例を示す図。 第3図は本発明の実施例によるCPUの内部構成図。 第4図は本発明によるシステム構成図。 第5図は従来例の内部構成図。 第6図は従来例のシステム構成図。 第7図は従来例における複数コ・プロセッサのエミュレ
ーションを示す図である。 第3図において、11は入力レジスタ、12はエントリ
ROM、13は記憶部、14はNANDゲート、15は
アドレス選択回路、16はマイクネ金F3Hの原理7′
口・77図 含端シ イ 囚 [7しシ=下シ≦IΣ「;7囚[彊茅=;;■====
二二二二二二ニニニ]]・10ヤツサ命令の伊′] 庫 2 圀 ネ受日珂のデ方社イタ・IIてよるCPUの内部羽撃1
ρに1玲3 図 奎セ餌1くよランズテムオイ象凹 を 4 囚

Claims (1)

  1. 【特許請求の範囲】 浮動小数点演算などを、主プロセッサと共同で実行する
    機構をコ・プロセッサとして持ち、主プロセッサは該コ
    ・プロセッサへの命令を解釈・分解し、該コ・プロセッ
    サを制御するデータ処理装置において、 上記主プロセッサに、 実行すべき命令がコ・プロセッサであることを検出する
    コ・プロセッサ命令検出手段と、 コ・プロセッサ命令中のコ・プロセッサIDに対応して
    物理コ・プロセッサIDを保持し、コ・プロセッサ命令
    中のコ・プロセッサIDを物理コ・プロセッサIDに変
    換してコ・プロセッサに送出するとともに、コ・プロセ
    ッサIDが有効か無効かを示すフラグをそなえる記憶手
    段と、実行すべき命令がコ・プロセッサ命令であり、か
    つ上記フラグがコ・プロセッサID無効を示していると
    き、当該コ・プロセッサ命令について例外処理を行なう
    よう指示する例外処理指示手段とをそなえたことを特徴
    とするコ・プロセッサID変換方式。
JP61238800A 1986-10-07 1986-10-07 コ・プロセツサid変換方式 Pending JPS6393065A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61238800A JPS6393065A (ja) 1986-10-07 1986-10-07 コ・プロセツサid変換方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61238800A JPS6393065A (ja) 1986-10-07 1986-10-07 コ・プロセツサid変換方式

Publications (1)

Publication Number Publication Date
JPS6393065A true JPS6393065A (ja) 1988-04-23

Family

ID=17035475

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61238800A Pending JPS6393065A (ja) 1986-10-07 1986-10-07 コ・プロセツサid変換方式

Country Status (1)

Country Link
JP (1) JPS6393065A (ja)

Similar Documents

Publication Publication Date Title
JP3176093B2 (ja) マイクロプロセッサの割込み制御装置
JP2834837B2 (ja) プログラマブルコントローラ
US5694617A (en) System for prioritizing quiesce requests and recovering from a quiescent state in a multiprocessing system with a milli-mode operation
JPH0758466B2 (ja) ソース命令実行をエミュレートする装置
JPH05173783A (ja) 命令パイプラインをドレーンさせるためのシステムおよび方法
US5802359A (en) Mapping processor state into a millicode addressable processor state register array
JPS61204758A (ja) コ・プロセツサ制御方式
US5717933A (en) Interrupt handling that disables interrupts upon saving the registers
JPS63261449A (ja) デ−タ処理装置
US20070180163A1 (en) Multi-processor system and program for causing computer to execute controlling method of multi-processor system
JPH07120338B2 (ja) 共同プロセッサによる命令の実行をデータプロセッサが調整する方法および該データプロセッサ
US5680598A (en) Millicode extended memory addressing using operand access control register to control extended address concatenation
JPS6393065A (ja) コ・プロセツサid変換方式
EP0385136A2 (en) Microprocessor cooperating with a coprocessor
JPS6393055A (ja) 実時間型ガ−ベジコレクシヨン支援装置
US5621909A (en) Specialized millicode instruction for range checking
CN114218067A (zh) 一种异构众核软件调试装置及调试方法
EP1324191A1 (en) Processor architecture, related system and method of operation
JPH0564375B2 (ja)
JPH0192843A (ja) データ処理装置
JPH02148164A (ja) 情報処理システム
JPH056281A (ja) 情報処理装置
JPH05165652A (ja) タスク切替え制御方法
JP2553526B2 (ja) マルチタスク処理装置
JPH09106361A (ja) プロセッサ間nmi通信装置およびシステムバスコントローラ