JPH01236328A - マイクロプログラムのディスパッチ方式 - Google Patents

マイクロプログラムのディスパッチ方式

Info

Publication number
JPH01236328A
JPH01236328A JP6297688A JP6297688A JPH01236328A JP H01236328 A JPH01236328 A JP H01236328A JP 6297688 A JP6297688 A JP 6297688A JP 6297688 A JP6297688 A JP 6297688A JP H01236328 A JPH01236328 A JP H01236328A
Authority
JP
Japan
Prior art keywords
microprogram
address
processing
program
main memory
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
JP6297688A
Other languages
English (en)
Inventor
Yutaka Kawato
川戸 豊
Yoshio Morita
森田 義雄
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 JP6297688A priority Critical patent/JPH01236328A/ja
Publication of JPH01236328A publication Critical patent/JPH01236328A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔発明の概要〕 オペレーティングシステムなどを構成するマイクロプロ
グラムのディスパッチ方式に関し、待合せ解除はマイク
ロプログラム内で処理可能にしてオーバーヘッドをなく
すことを目的とし、マイクロ命令実行機構に、マイクロ
プログラムアドレスを主記憶に格納する第1の機能およ
び格納したアドレスを取り出してそのアドレスからマイ
クロ命令を実行する第2の機能を設け、マイクロプログ
ラム実行中に待合せ処理が発生した場合、その時のアド
レスを前記第1の機能により主記憶に格納し、かつフラ
グを立て、待合せ解除時に前記第2の機能により主記憶
を読んで前記フラグが立っておれば前記格納したアドレ
スよりマイクロプログラムの実行を再開する構成とする
。
〔産業上の利用分野〕
本発明は、オペレーティングシステムなどを構成するマ
イクロプログラムのディスパッチ方式に関する。
プログラムにはマクロプログラムとマイクロプログラム
があり、マイクロプログラムはマクロな命令を解釈実行
する、細かいレベルの機械命令をいう、マクロ命令のシ
ーケンスとしてタスクを実行するより、マイクロ命令の
シーケンスとして実行した方が早いという特徴がある。
マイクロ命令も通常の命令とは一′同じであるが、動作
レベルが細かくて速い。マイクロ命令でプログラムを組
んだ場合もプログラムカウンタはあり、そしてマイクロ
プログラムで成る動作を行ない、中断して(待合せ状態
にして)他のプログラムを動作させ、その後復帰して続
きの動作を行なうことも、マイクロプログラムでオペレ
ーティングシステム(O8)を組んだような場合に発生
する。
本発明はか\る、O3をマイクロプログラミングで実現
した場合などの、待合せ後の動作再開(ディスパッチ)
処理に係るものである。なおこ\で言うO8はリアルタ
イムO3などと呼ばれるもので、通常の言語処理プロセ
ッサなどではない。
〔従来の技術〕
第2図に従来技術による待合せ処理を示す。ユーザ(マ
クロ)プログラムからO3のマイクロプログラムに移り
、あるアドレス(これは固定)で待合せ処理して、他の
処理(図ではこれもマイクロにしているがマクロのとき
もある)を行ない、該他の処理の終了で待合せ解除する
とき、−旦マクロシーケンスに戻ってマイクロ再開処理
を呼び(該他の処理の終了で割込みが入って該マイクロ
再開処理が実行され)、これによりマイクロシーケンス
に戻って(従って該マイクロ再開処理はマイクロへのジ
ャンプ命令と等価)再開処理し、その後ユーザプログラ
ム(マクロシーケンス)に戻る。
従来方式では、O3をマイクロプログラミングにより実
現し、そのマイクロプログラム内で待合せ処理が発生し
た時、次の再開に備えて、マクロ命令により処理を再び
始められる様にしなければならない。つまり、待合せを
要求したプログラムが再びそのマイクロルーチンを続け
られるようなマクロルーチンを作り、そこでプログラム
が待合せているようにO8に見せなければならなかった
。
このため、待合せ条件が解除された時、図示の如(O8
のマイクロプログラム列からユーザ(マクロ)プログラ
ムのマクロ命令に戻り、再びO8のマイクロプログラム
に戻るという処理を行なう必要がある。これは処理を複
雑にし、処理速度を低下させる原因となる。即ち、不必
要なマクロ命令の実行及びマイクロ−マクロ間インタフ
ェースルーチンの実行が必要であり、オーバーヘッド(
不必要な処理)を生じる。
ユーザプログラムが複数あり、これらがO3を呼び、待
合せ及び待合せ解除を行なうことがある。
待合せ処理や解除処理はその後で待合せ前の処理が続く
ことがあり、また他のユーザプログラムへ制御が移るこ
とがある。O3が行なう一待合せ処理−後処理−ユーザ
プログラムへの復帰−をマイクロコードで書いた場合、
待合せ処理等の後にマイクロプログラムを戻すのには、
個々のユーザプログラムに戻りマイクロプログラムアド
レスを記憶させる(タスクコントロールブロックの中)
方法及び、待合せ処理時ユーザプログラムに後処理を要
求させるような情報を記憶させ、ユーザプログラムが再
び動けるようになったとき後処理を始めさせるようマイ
クロプログラムに要求させる方法、が考えられる。
後者は、タスクコントロールブロック内に後処理を要求
するマイクロプログラム列への復帰情報を設定し、再び
プログラムが動くとき、そのマクロ列により後処理の要
求をO8に行なわせるような方法である。例えば待令せ
処理により待合せることが決定した場合、プログラムカ
ウンタセーブエリアに、O3に後処理を要求するマクロ
プログラムのアドレスを入れ、本来のプログラムカウン
タセーブエリアの内容を別エリアにセーブしておく。デ
ィスパッチ時(プログラムが再び動くとき)には後処理
要求プログラムが動(ので後処理が始まり、後処理で本
来のプログラムカウンタセーブエリアの値を戻し、ユー
ザルーチンに戻る。
〔発明が解決しようとする課題〕
第2図に示す如き、待合せ解除で一旦ユーザプログラム
に移り、マイクロ再開処理を呼んでマイクロプログラム
に移り、再開処理をするという方法では、オーバーヘッ
ドを生じる。
本発明はか\る点を改善し、待合せ解除はマイクロプロ
グラム内で処理可能にしてオーバーヘッドをなくすこと
を目的とするものである。
〔課題を解決するための手段〕
第1図に、本発明による待合せ処理を示す。第2図と対
比すれば明らかなように本発明では待合せ解除処理はO
Sマイクロプログラム内で行ない、ユーザプログラムへ
一旦戻ることはしない。
本発明ではマイクロ命令実行機構に、マイクロプログラ
ムアドレスを主記憶に格納する手段及び、そのアドレス
を取り出しそのアドレスからマイクロ命令を実行する手
段を設けてお(。
マイクロプログラムであるO8においてその処理途中に
待合せ処理が発生した場合、待合せがなかったら移行し
たたてあろうマイクロプログラムアドレスをユーザプロ
グラムに固有なエリア(タスクコントロールブロック)
に設定し、またマイクロプログラム待合せ中であること
を示すフラグを該エリアに立てる。
マイクロ命令であるO8は待合せ解除時の処理(ディス
パッチルーチン)において、マイクロプログラムで待合
せているフラグが立っておれば、先に格納されたマイク
ロ命令へ実行を移す。フラグが立っていない場合、ユー
ザプログラムの待合せ場所であるマクロ命令列へ復帰す
る。
第3図に本発明でのマイクロディスパッチ処理のフロー
を示す。このディスバンチ処理では、■そのタスクのタ
スクコントロールブロックからマイクロプログラム待合
せフラグを得、■このフラグがオンか否かチエツクする
。オンなら■該フラグを消し、■タスクコントロールブ
ロックからマイクロプログラムアドレスを得、■そのマ
イクロプログラムアドレスへ復帰する。フラグがオンで
なければ、■マクロ命令へ復帰する。
〔作用〕
本発明のディスパッチ処理では、第1図に示したように
待合せ解除時にOSマイクロプログラムからマクロユー
ザプログラムへ一旦復帰することはないので、第2図の
従来方式のようなオーバーヘッドを生じることはない。
マイクロプログラムアドレスをセーブしまたフラグを立
てるタスクコントロールプロ・ツクは主記憶内にあり、
かつ各タスク毎にあるため、待合せが多数のプログラム
(タスク)で生じても問題はない。
〔実施例〕
第4図に本発明の実施例(ハードウェア)を示す、10
は中央処理装置(CPU) 、12はマイクロプログラ
ム処理プロセッサ、14は主記憶であり、これらは制御
線16、データバス18、アドレスバス20により図示
のように接続される。
プロセッサ12内にはマイクロプログラムで組んだO8
が格納され、また主記憶14内にはユーザプログラム、
ユーザデータ、システムプログラム、OSデータなどが
格納される。
マイクロプログラム処理プロセッサ12は主記憶インタ
フェースを持ち、マイクロプログラムを高速に実行する
。該プロセッサ12はO8処理が必要なときにCPUl
0から起動され、O8処理が終了するとそれをCPUへ
伝える。処理再開用のマイクロプログラムアドレスは主
記憶14になされる。
マイクロプログラムアドレスを主記憶に格納するには色
々な方法が考えられるが、例えばマイクロプログラムに
てマイクロプログラムアドレスを特定のランチに格納す
る、マイクロプログラムアドレスをデータとして持つ、
マイクロプログラムスタックを主記憶に持つ、などが挙
げられる。
第5図は、ラッチにマイクロプログラムアドレスを格納
する例を示す。22はマイクロプログラムメモリ、24
はシーケンサ、26はデコーダ、28.32はう・7チ
、30はアダーである。シーケンサ(プログラムカウン
タ)が出力するマイクロプログラムアドレスを命令(デ
コーダ26はこれをデコード)によりランチ28に取込
み、次いでアダー30で調整して(セーブするアドレス
は次のマイクロプログラムアドレスとするなら+1など
して)ラッチ32に取込む。このラッチ32に取込んだ
アドレスを、図示しないが外部へ出力し、主記憶へ書込
む。主記憶への書込みアドレスは各タスクで固定(変更
可能であるが)である。
第6図はマイクロプログラムスタックを主記憶に格納す
る例を示す。やはり22はマイクロプログラムメモリ、
24はシーケンサ、26はデコーダ、28はランチ、3
0はアダーである。34はバスインタフェース、36は
スタックポインタ、38はインクリメンタ、40はタイ
ミングコントロールである。この場合、マイクロプログ
ラム内の特定なサブルーチンコール命令により、マイク
ロプログラムアドレスが主記憶に書かれる。
書込みデータ(シーケンサ24の出力)はランチ28、
アダー30、バスインタフェース34の経路で主記憶へ
導かれ、書込みアドレスはスタックポインタ36、バス
インタフェース34の経路で主記憶へ導かれる。スタッ
クポインタ36の初期値セットはマイクロプログラムに
より行なわれ、従って書込みアドレスは各タスクで固定
であるが、インクリメンタ38によりそれより複数のア
ドレスが供給され、複数回のアドレス退避が可能である
(第5図は1回だけ)。
第7図はマイクロプログラムメモリ22を使用しない場
合を示す。マイクロプログラムは、メモリ (ROMま
たはRAM)に格納しそれをプログラムカウンタ(シー
ケンサ)で読出して実行する他、シーケンサの出力を直
接デコードして実行機構を動作させる方式もあり、第7
図がそれである。
シーケンサ24が例えば計数値0,1,2.・・・・・
・を出力すると、各々に対するデコーダがそれをデコー
ドしてOに対応する実行機構、1に対応する実行機構、
2に対応する実行機構、・・・・・・(いずれも図示し
ない)を動作させる。またある計数値を出力するとき例
えばデコーダ26aが出力を生じ、これによりタイミン
グコントロール40が出力を生じてランチ28にシーケ
ンサ24の出力(上記計数値)をラッチさせる。以下は
第6図と同様であり、こうしてO8を構成するマイクロ
プログラムの待合せ処理発生時のマイクロプログラムア
ドレスが取込まれる。デコーダ26b、26cもアドレ
ス取込み用のデコーダで、シーケンサ24の他の計数値
で出力を生じ、該計数値をランチさせる。
実際の手段(implen+ent )ではマイクロプ
ログラムRO’M/RAMなしで第7図の如<OSを構
成することもある。
第8図は第4図に対する他の実施例で、この場合はCP
tJ10内にマクロ命令解釈実行用のマイクロ命令シー
ケンスと、O8用のマイクロ命令シーケンスがある0本
発明はO8に限るものではな(、どのようなマイクロプ
ログラムでも中断処理がある場合に有効である。
〔発明の効果〕
以上説明したように本発明によれば、マイクロプログラ
ムの実行アドレスを上記1.αに格納し、取出すことが
できるので、O3のように多数のユーザプログラムから
共用されるプログラムをマイクロプログラム化し、かつ
マイクロルーチン内に処理の中断があり他のプログラム
を実行させる必要があるときでもプログラム構造を単純
にでき、少ないオーバーヘッドで再開処理ができる利点
が得られる。
【図面の簡単な説明】
第1図は本発明の待合せ処理の説明図、第2図は従来の
待合せ処理の説明図、 第3図はマイクロディスパッチルーチンの流れ図、 第4図は本発明の実施例を示すブロック図、第5図およ
び第6図はマイクロプログラムアドレスの取込み例を示
すブロック図、 第7図は直接デコード型の例を示すブロック図、第8図
は本発明の他の実施例を示すブロック図である。

Claims (1)

  1. 【特許請求の範囲】 1、マイクロ命令実行機構に、マイクロプログラムアド
    レスを主記憶(14)に格納する第1の手段(28、3
    0、32)および格納したアドレスを取り出してそのア
    ドレスからマイクロ命令を実行する第2の手段を設け、 マイクロプログラム実行中に待合せ処理が発生した場合
    、その時のアドレスを前記第1の手段により主記憶に格
    納し、かつフラグを立て、 待合せ解除時に前記第2の手段により主記憶を読んで前
    記フラグが立っておれば前記格納したアドレスよりマイ
    クロプログラムの実行を再開することを特徴とする、マ
    イクロプログラムのディスパッチ方式。 2、マイクロプログラムはオペレーティングシステムを
    構成し、マイクロプログラム処理プロセッサ12に格納
    されたことを特徴とする請求項1記載のマイクロプログ
    ラムのディスパッチ方式。 3、マイクロプログラムはオペレーティングシステムを
    構成し、中央処理装置(10)に格納されたことを特徴
    とする請求項1記載のマイクロプログラムのディスパッ
    チ方式。
JP6297688A 1988-03-16 1988-03-16 マイクロプログラムのディスパッチ方式 Pending JPH01236328A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6297688A JPH01236328A (ja) 1988-03-16 1988-03-16 マイクロプログラムのディスパッチ方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6297688A JPH01236328A (ja) 1988-03-16 1988-03-16 マイクロプログラムのディスパッチ方式

Publications (1)

Publication Number Publication Date
JPH01236328A true JPH01236328A (ja) 1989-09-21

Family

ID=13215897

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6297688A Pending JPH01236328A (ja) 1988-03-16 1988-03-16 マイクロプログラムのディスパッチ方式

Country Status (1)

Country Link
JP (1) JPH01236328A (ja)

Similar Documents

Publication Publication Date Title
US4109311A (en) Instruction execution modification mechanism for time slice controlled data processors
KR100208889B1 (ko) 병렬처리장치 및 병렬처리방법
US9304794B2 (en) Virtual machine control method and virtual machine system using prefetch information
JPS6298434A (ja) デ−タ処理システム
JPH0766365B2 (ja) コ・プロセツサ制御方式
CN116893894A (zh) 同步微线程化
JPS645330B2 (ja)
US4821231A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
JPS6212529B2 (ja)
JPH04288625A (ja) マイクロコンピュータ
JPH03268041A (ja) キャッシュ操作明示化コンピュータ
KR950004227B1 (ko) 정보처리시스템
JP3022398B2 (ja) 仮想計算機方式
JPS6122818B2 (ja)
EP0270873A2 (en) Single ALU computer system
JP2594557B2 (ja) マルチタスク処理装置
JPS61112240A (ja) デ−タ処理装置
GB2367658A (en) Intercalling between native and non-native instruction sets
JPH0244423A (ja) コンピュータ
JPH04213120A (ja) 情報処理装置
JPS63104144A (ja) 高速コンテクスト切替装置
JPS6375833A (ja) 情報処理装置
JPS63153637A (ja) デ−タ処理装置
JPH0247726A (ja) 情報処理装置
JPH0133865B2 (ja)