JPH0628031B2 - 情報処理装置の制御方法 - Google Patents

情報処理装置の制御方法

Info

Publication number
JPH0628031B2
JPH0628031B2 JP63233266A JP23326688A JPH0628031B2 JP H0628031 B2 JPH0628031 B2 JP H0628031B2 JP 63233266 A JP63233266 A JP 63233266A JP 23326688 A JP23326688 A JP 23326688A JP H0628031 B2 JPH0628031 B2 JP H0628031B2
Authority
JP
Japan
Prior art keywords
instruction
timer
interrupt
software timer
information 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.)
Expired - Lifetime
Application number
JP63233266A
Other languages
English (en)
Other versions
JPH0281129A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP63233266A priority Critical patent/JPH0628031B2/ja
Publication of JPH0281129A publication Critical patent/JPH0281129A/ja
Publication of JPH0628031B2 publication Critical patent/JPH0628031B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、情報処理装置の制御方法に関し、特に異なる
機種の装置においても、プログラムに互換性を持たせ
て、規定の実行時間で動作を行うことができるようなソ
フトウェアタイマ命令により制御する情報処理装置の制
御方法に関する。
〔従来の技術〕
従来より、命令体系について互換性を有する情報処理装
置は、上位機から下位機までシリーズ化されて、異なる
性能の複数の機種が販売されている。これらの情報処理
装置の命令の性能、つまり1命令の処理速度は、プログ
ラム実行の命令ステップ間隔を定めるマシンサイクルタ
イムにより決定される。一般にマシンサイクルタイム
は、そのサイクル内で実行すべき処理に応じて固定値で
あるが、これらの中には、接続された記憶装置の動作速
度に応じて異なるサイクルタイムを選択できるような方
法を用いる装置もある。
一方、例えば、特公昭62−52897号公報に記載さ
れたコンピュータのように、異なるグレードの機種にグ
レード設定スイッチを設け、グレードに応じてそのスイ
ッチにより種々のサイクルタイムを選択できるような方
法を用いた装置もある。ここで、グレードとは、メモ
リ、チャネル、オペレーティング・システム等の各グレ
ードであり、グレード設定部の出力はサイクル遅延部に
入力されて、設定されたグレードに対応して処理サイク
ルを遅延させるようにしている。
〔発明が解決しようとする課題〕
従来、入出力制御等においては、ソフトウェアタイマを
使用してサイクルタイムを変更する方法があるが、この
方法では、命令性能別にタイマ値を設定しているため、
必ずしもソフトウェアの互換性を維持することができな
かった。
このように、従来の方法では、命令体系では互換性を有
するが、命令性能が異なるため、命令実行時間を期待し
たソフトウェア、例えば、ソフトウェアタイマを持つプ
ログラムでは、命令性能が異なる機種ごとにタイマ値を
変更しなければならず、ソフトウェア互換性の点で問題
を残していた。一方、コンピュータは、システムの外部
からの要求や、処理装置内部あるいは入出力装置で発生
したある状態を要因として、実行中のプログラムを中断
し、これらの要因に応じた割込み処理を実行する機能を
組み込むことにより、中央処理装置(CPU)と入出力
装置を共用しながら実行させることによるスループット
の向上を図るマルチジョブあるいはマルチタスクを実現
している例が多い。
このような場合、ある割込み処理中に、別の割込み要因
が発生することがあり、この新たな割込みを受け付ける
か否かを決定する必要がある。そのために、各割込み要
因ごと、あるいは、割込みの種類ごとに割込みの優先順
位を示すレベルを予め設定し、かつ、この割込みレベル
ごとに割込み禁止を指定するための割込みマスクを設け
ているのが一般的である。
もし、ソフトウェアタイマを、実行中の割込み禁止状態
とすると、応答時間に制限がある割込み要因が発生して
も、ソフトウェアタイマで指定した時間中は処理されず
問題となる。そのため、指定する時間が長いソフトウェ
アタイマを使用するプログラムは、短い応答時間を要求
する割込みを受け付ける必要があり、このような割込み
には、予め優先順位の高いレベルを設定する。
しかし、従来の技術では、ソフトウェアタイマの実行中
に、タイマ値が残っている状態で割込みを受け付けた場
合、この割込み処理の後に、再度、ソフトウェアタイマ
を実行すると、残りのループ回数分のループを続行す
る。通常のプログラムでは、ソフトウェアタイマに期待
する時間は、割込みを受け付けてからリターンするまで
の処理時間を考慮していないので、この時間が、ソフト
ウェアタイマで設定した時間よりも大きい場合には、上
述の残りループ回数だけループを続ける時間は無駄であ
り、CPU(Central Processing
Unit、中央処理装置)の有効利用ができていないこ
ととなる。
また、従来のソフトウェアタイマを実行する命令では、
メモリアクセスを回避することが考慮されていない。そ
のために、ソフトウェアタイマの実行中に割込み要因が
発生しない場合や、または、発生した割込み要因の優先
順位が低く、割込みがマスクされて受け付けられない場
合においても、もし、ソフトウェアタイマを実行する命
令に基づきメモリアクセスを行なうと、例えば、ダイレ
クトメモリアクセス(DMA)転送との競合や、キャッ
シュメモリによる読み出し速度の変化により、マシンサ
イクルタイムへの影響を受けてしまい、指定された時間
の誤差が大きくなってしまう等の問題が発生してしま
う。
なお、ソフトウェアタイマは、ハードウェアタイマでは
設定できない場合等に使用されるものであって、例えば
次のようなときに用いられる。
(i)ハードウェアタイマ設定命令が特権命令である
が、特権命令が動作できるスーパバイザ制御状態ではな
く、特権命令が動作できないプログラム実行状態でタイ
マを設定したい場合、 (ii)タイマ設定値がハードウェアタイマの最小設定値
よりも小さい場合、 (iii)タイマ設定をスーパバイザマクロプログラムに
より行う時、タイマ設定値が小さ過ぎて、スーパバイザ
処理のために精度が向上できない場合、 また、従来、ソフトウェアタイマの実行は、タイマカウ
ントとブランチを実行する命令によって実現していた。
本発明の目的は、このような従来の課題を解決し、異な
る機種でも、規定範囲内の命令実行時間でソフトウェア
タイマ命令を確実に実行することができ、かつ、プログ
ラム実行状態あるいはスーパバイザ制御状態のいずれの
状態でも実行することができ、さらに、短い応答時間を
要求するような優先順位レベルの高い割込みを受け付け
た場合におけるCPUの有効利用ができ、ソフトウェア
タイマを持つプログラムの互換性を維持することが可能
な情報処理装置の制御方法を提供することにある。
〔課題を解決するための手段〕
上記目的を達成するため、本発明による情報処理装置の
制御方法は、プログラム実行状態もしくはスーパバイザ
制御状態のいずれかの動作状態にあり、かつ割込みによ
り動作状態を変化させる情報処理装置のソフトウェアタ
イマ制御方法において、プログラム実行状態、もしく
は、スーパバイザ制御状態のいずれでも実行可能なソフ
トウェアタイマ命令で指定されたタイマ値のカウントに
用いるカウント値をアキュムレータにロードし、ソフト
ウェアタイマ命令のマイクロ命令群に基づき、タイマの
単位および1ステージ時間に応じた回数の自己ループ処
理とアキュムレータのカウント値のカウントダウンを行
ない、情報処理装置に対応してマシンサイクルを延長す
るとともに、自己ループの期間中、マシンサイクルの変
更を伴うメモリアクセスの発行を中止し、かつ、割込み
を受け付けた場合には、自己ループ処理とアキュムレー
タのカウント値のカウントダウンを中止して、ソフトウ
ェアタイマ命令を終了させることを特徴とする。
〔作用〕
本発明においては、ソフトウェアタイマ専用の命令コー
ドを解読した後、この命令を実現するマイクロ命令群に
分岐し、これらのマイクロ命令は指定された実行時間だ
け自己ループを続行する。しかし、予め設定された割込
みが許可される優先順位レベルより高い優先順位レベル
の割込み要因が発生したときには、割込み処理に分岐す
る。この場合、マイクロ命令でループする間、マイクロ
命令はマシンサイクルの変更を伴うメモリアクセスを発
行しないようにするため、指定された時間の誤差を少な
くできる。
このように、本発明では、ソフトウェアタイマ命令コー
ドを解読した後、命令語を実現するマイクロ命令群に分
岐し、その間に、優先順位の高い割込み要因を検出した
ときには割込みが生じるが、優先順位の高い割込み要因
が発生しない限り、指定された時間だけマイクロ命令が
自己ループを続行する。また、割込みを受け付けた時に
は、自己ループとアキュムレータの値のカウントダウン
を中止して命令を終了させ、ループ回数が残っていて
も、割込み処理の回復後は、ソフトウェアタイマ命令を
続行せず、次の命令を実行する。このことにより、無駄
な時間ループを続けることを回避することができる。
〔実施例〕
以下、本発明の実施例を、図面により詳細に説明する。
第1図は、本発明の一実施例を示す情報処理装置の要部
ブロック図である。
第1図において、1は中央処理装置、2は制御記憶(C
S)から読み出されたマイクロ命令を格納するためのマ
イクロ命令レジスタ、3はマイクロ命令レジスタ2内の
マシンサイクルの延長を設定するタイムフィールド(T
IM)に従って、マシンサイクルの延長を実行するため
のステージ生成回路である。ここまでは、マイクロプロ
グラムの制御部に属する部分である。次に、4〜9は機
械命令を有するマクロプログラムの制御部に属する部分
である。4は主メモリより命令をフェッチしてここに格
納するための命令フェッチユニット、5は命令フェッチ
ユニット4の命令をデコードするための命令デコードユ
ニット、6は命令がオペランドを必要とする場合には、
オペランドの読み出しのためにアドレスを演算するアド
レス演算ユニット、7は演算されたアドレスにより主メ
モリからオペランドを読み出すためのオペランドフェッ
チユニット、8は命令の操作部で指示された演算をオペ
ランドに対して行うための演算ユニット、9は演算の結
果を主メモリの指定されたアドレスに書き込むためのオ
ペランドライトユニットである。
第1図において、先ず中央処理装置1は、予め主メモリ
(図示省略)上に格納されている命令を、命令フェッチ
ユニット4により読み出し、読み出した命令を格納す
る。次に、命令デコードユニット5によりこの命令の操
作部を解読し、オペランド読み出しとオペランド書込み
が必要な命令である場合には、アドレス演算ユニット6
によりオペランドアドレスを演算することにより求め
る。次に、求められたアドレスを用いて、オペランドフ
ェッチユニット7により主メモリからオペランドを読み
出し、演算ユニット8において演算を実行する。そし
て、必要に応じてオペランドライトユニット9により演
算結果のオペランドを主メモリに書き込む。
第2図は、本発明のソフトウェアタイマ命令仕様を示す
図である。
第2図において、Iはソフトウェアタイマの単位を示
す。ここでは、I=1のときには0.5μS、I=2のと
きには1μS、I=3のときには1.5μS、・・・・・
・I=iのときには、0.5iμSである。タイマのカウ
ント値は、演算用レジスタであるアキュムレータ(A
C)に別の命令でロードされる。すなわち、ソフトウェ
アでアキュムレータにタイマ値をロードした後、ソフト
ウェアタイマ命令を発行すれば、命令で設定された時間
だけ、この命令を実行する。
ソフトウェアタイマ命令は、オペランドを持たないた
め、アドレス演算、オペランドフェッチ、およびオペラ
ンドライトは、いずれも実行されず、演算ユニット8に
よる演算のみを行う。このことは、メモリアクセスによ
るDMA(ダイレクトメモリアクセス)転送の競合や、
キャッシュメモリが付加されている場合の読み出し速度
の変化等により、マシンサイクルタイムは影響を受けな
いことを意味する。
マイクロ命令は、優先順位の高い割込み発生がない場
合、指定された時間だけ自己ループを続行するが、時間
のカウント動作は、マイクロ命令によりカウントしても
よく、またマイクロレベルハードタイマを設けて、この
ハードタイマによりカウントしても勿論よい。本実施例
では、特別にハードウェアを持たないマイクロ命令によ
るタイマ設定を例にして詳述する。ただし、タイマ値の
精度を上げるために、マシンサイクルをマイクロ命令で
延長する方法の例を示している。
第3図は、本発明の一実施例を示すマイクロ命令動作の
フローチャートである。
第1図および第3図により、ソフトウェアタイマ命令の
動作を説明する。
第1図の中央処理装置1は、予め主メモリ上に格納され
ている命令を、命令フェッチユニット4より読み出し
(ステップ101)、命令デコードユニット5により読
み出された命令を解読する(ステップ102)。この場
合、解読される対象は、第2図に示す命令のオペコード
部(操作部)とともに、I部(単位指定部)であって、
これら両方が解読される。解読の結果、ソフトウェアタ
イマ命令であると判断されたときには、ソフトウェアタ
イマ命令を実現するマイクロ命令群に分岐し、マイクロ
命令群がソフトウェアタイマ命令を実行する。
マイクロ命令は制御記憶(CS)に格納されており、制
御記憶から順次読み出されてマイクロ命令レジスタ2に
セットされる。ソフトウェアタイマ命令がマイクロ命令
レジスタ2にセットされると、このレジスタ2の値に従
って動作する。
マイクロ命令レジスタ2内には、マシンサイクルの延長
を設定するタイムフィールド(TIM)があり、マイク
ロ命令が指定したマシンサイクル延長数に従って、ステ
ージ生成回路3を用いてマシンサイクルの延長を実行す
る。マシンサイクルを延長する方法については、例え
ば、特願昭63−17052号明細書および図面に記載
されている。上記明細書に記載されているので、詳述は
しないが、概略を説明すると、次のようにして延長す
る。すなわち、1つのマシンサイクルは、複数のタイミ
ングステージにより構成されており、1マシンサイクル
の間に、例えば1算術演算の実行、主メモリに対するデ
ータの読み出し、書き込み等の処理を行う。1マシンサ
イクルは多段のフリップフロップで構成されるステージ
回路で作成され、固定のステージで構成されるが、マイ
クロ命令指定、あるいは主メモリアクセスタイムによる
ダイナミック指定によるダミーステージ分が挿入されて
マシンサイクルが再構成されて、マシンサイクルが延長
される。
次に、第3図のステップ103以降のソフトウェアタイ
マ命令を実行するマイクロ命令の動作説明を続行する。
マイクロ命令は、命令で指定された時間の単位(0.5μ
S×i(i=1,2,・・・))と実行される装置の1
ステージ時間に応じて、ループ回数をワークレジスタ1
(WK1)に設定する。(ステップ103)。また、実
行される装置に合わせて、クロック延長数を決定し、指
定された時間の誤差を最小限に留めるようにする。本実
施例では、1ステージ時間が80nS、クロック延長が
20nS×Nにすることのできる装置を例にとって説明
する。すなわち、この装置では、1マシンサイクル=
(80nS)+(20×NnS)(ここで、N=0,
1,2,・・・・)であって、ワークレジスタ(WK
1)には機械語のI部を切り出した値がセットされ、マ
イクロ命令ループ内では1マシンサイクルは80nS+
20nS×1=100nSで実行される。
次に、ワークレジスタ1(WK1)は、ワークレジスタ
2(WK2)に一時退避され(ステップ104)、WK
2をカウントダウンする(ステップ105)。WK2≠
0の場合には(ステップ106)、5ステップでループ
する。このループでは割込み判定を行い(ステップ10
7)、割込み受付け可能な優先順位にある割込みが発生
した場合には、ループを止め、割込み処理に分岐する。
一方、WK2=0の場合には(ステップ106)、アキ
ュムレータの値をカウントダウンした後(ステップ11
1)、アキュムレータ(AC)の値が0か否かを判定す
る(ステップ112)。AC≠0の場合には、ループ
し、ステップ104に戻る。また、AC=0の場合に
は、命令を終了する(END)。ループ中は、メモリア
クセスを実行しない。
なお、第3図において、ブロック内にがあるステップ
108、109は、クロック延長が指示されていること
を示している。
この実施例におけるソフトウェアタイマ命令によるタイ
マ値の誤差は、ループ回数設定時間に要する時間と、ス
テージ回路および発振器の誤差である。なお、本実施例
では、説明を簡単にするために、マシンサイクルを延長
して100nSとしたが、切れの悪いマシンサイクルの
場合には、ダミーステップとクロック延長数で最適化を
図ることができる。そして、この場合でも、通常の命令
で実現するよりは、格段に精度のよいソフトウェアタイ
マを実現できる。さらに、精度が必要な場合には、上記
ループをマイクロ命令のみで設定可能なハードウェアタ
イマを使用すれば、精度の向上が可能である。もし、優
先順位レベルが高い割込み処理が実行された後でも、ル
ープを続けたい場合には、アキュムレータの内容(A
C)が、AC≠0であれば、ソフトウェアタイマ命令へ
分岐させることにより、再度、ソフトウェアタイマ命令
を実行し、ループを続行させることができる。
〔発明の効果〕
以上説明したように、本発明によれば、異なる機種で
も、規定範囲内の命令実行時間で確実に実行することが
できるソフトウェアタイマを備えることができるので、
ソフトウェアタイマを持つプログラムの互換性を維持す
ることが可能である。さらに、プログラム実行状態ある
いはスーパバイザ制御状態のいずれの状態でも実行する
ことができ、かつ、短い応答時間を要求するような優先
順位の高い割込み受け付けた場合におけるCPUの有効
利用が可能である。
【図面の簡単な説明】
第1図は本発明の一実施例を示す情報処理装置のブロッ
ク図、第2図は本発明で使用されるソフトウェアタイマ
命令の仕様を示す図、第3図は本発明におけるマイクロ
命令の動作フローチャートである。 1:中央処理装置、2:マイクロ命令レジスタ、3:ス
テージ生成回路、4:命令フェッチユニット、5:命令
デコードユニット、6:アドレス演算ユニット、7:オ
ペランドフェッチユニット、8:演算ユニット、7:オ
ペランドフェッチユニット、8:演算ユニット、9:オ
ペランドライトユニット。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】プログラム実行状態もしくはスーパバイザ
    制御状態のいずれかの動作状態にあり、かつ割込みによ
    り上記動作状態を変化させる情報処理装置のソフトウェ
    アタイマ制御方法において、上記プログラム実行状態、
    もしくは、スーパバイザ制御状態のいずれでも実行可能
    なソフトウェアタイマ命令で指定されたタイマ値のカウ
    ントに用いるカウント値をアキュムレータにロードし、
    上記ソフトウェアタイマ命令のマイクロ命令群に基づ
    き、上記タイマの単位および1ステージ時間に応じた回
    数の自己ループ処理と上記アキュムレータのカウント値
    のカウントダウンを行ない、情報処理装置に対応してマ
    シンサイクルを延長するとともに、上記自己ループの期
    間中、マシンサイクルの変更を伴うメモリアクセスの発
    行を中止し、かつ、上記割込みを受け付けた場合には、
    上記自己ループ処理とアキュムレータのカウント値のカ
    ウントダウンを中止して、上記ソフトウェアタイマ命令
    を終了させることを特徴とする情報処理装置の制御方
    法。
JP63233266A 1988-09-17 1988-09-17 情報処理装置の制御方法 Expired - Lifetime JPH0628031B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63233266A JPH0628031B2 (ja) 1988-09-17 1988-09-17 情報処理装置の制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63233266A JPH0628031B2 (ja) 1988-09-17 1988-09-17 情報処理装置の制御方法

Publications (2)

Publication Number Publication Date
JPH0281129A JPH0281129A (ja) 1990-03-22
JPH0628031B2 true JPH0628031B2 (ja) 1994-04-13

Family

ID=16952393

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63233266A Expired - Lifetime JPH0628031B2 (ja) 1988-09-17 1988-09-17 情報処理装置の制御方法

Country Status (1)

Country Link
JP (1) JPH0628031B2 (ja)

Also Published As

Publication number Publication date
JPH0281129A (ja) 1990-03-22

Similar Documents

Publication Publication Date Title
JP4750865B2 (ja) デ―タ・プロセッサにおいて後続の命令処理に影響を及ぼす方法および装置
US5619704A (en) Asynchronous interrupt inhibit method and apparatus for avoiding interrupt of an inseparable operation
JP3242508B2 (ja) マイクロコンピュータ
JPH10505444A (ja) 処理システム、プロセッサ、命令ストリーム格納用メモリ及びコンパイラ
JPH0810437B2 (ja) 仮想計算機システムのゲスト実行制御方式
KR101838474B1 (ko) 다중프로세서 시스템에서의 예외 제어
US4409653A (en) Method of performing a clear and wait operation with a single instruction
JP2005521937A (ja) コンピュータオペレーティングシステムにおけるコンテキスト切り替え方法及び装置
JPH08255476A (ja) データ処理システムにおけるメモリ拡張スタック装置および方法
JPH0628031B2 (ja) 情報処理装置の制御方法
US6061787A (en) Interrupt branch address formed by concatenation of base address and bits corresponding to highest priority interrupt asserted and enabled
US7421595B2 (en) Device and method for managing a standby state of a microprocessor
JPH0377137A (ja) 情報処理装置
JPH06324861A (ja) Cpu制御システム及び制御方法
JP3493768B2 (ja) データ処理装置
JP2504191B2 (ja) マイクロプロセッサ
JPS5916054A (ja) マイクロ・プロセツサ
JP2508026B2 (ja) タイマ制御方式
JPS6236581B2 (ja)
JPH0440532A (ja) リアルタイム処理装置
KR950004227B1 (ko) 정보처리시스템
JPS62151936A (ja) マイクロプロセツサに内蔵されるキヤツシユ回路
JPH0462093B2 (ja)
JPS61220035A (ja) 割り込み発生回路
JPH0683986A (ja) シングルチップ・マイクロコンピュータ