JPS63173130A - 計算機の命令セツトを拡張するための装置 - Google Patents

計算機の命令セツトを拡張するための装置

Info

Publication number
JPS63173130A
JPS63173130A JP62297916A JP29791687A JPS63173130A JP S63173130 A JPS63173130 A JP S63173130A JP 62297916 A JP62297916 A JP 62297916A JP 29791687 A JP29791687 A JP 29791687A JP S63173130 A JPS63173130 A JP S63173130A
Authority
JP
Japan
Prior art keywords
computer
mode
functions
instruction
class
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
JP62297916A
Other languages
English (en)
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS63173130A publication Critical patent/JPS63173130A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/223Execution means for microinstructions irrespective of the microinstruction function, e.g. decoding of microinstructions and nanoinstructions; timing of microinstructions; programmable logic arrays; delays and fan-out problems

Abstract

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

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明は、基本的な計算機により第1のクラスの非冗長
的な基本機能を実行する計算機の命令セット(機能)を
拡張する装置及び方法に関する。
B、従来技術 既存の計算機の命令セットあるいはより一般的に言えば
機能は、普通、基本的な命令の非冗長的なりラス(K1
)と、その非冗長的な機能によって完全に実現できる機
能のクラス(K2)とに分ける事ができる。
第1及び第2世代の計算機では、計算機の命令システム
は通常、布線論理回路から構成されていた。これは基本
的機能しか実行できないが、そのような機能を直接に実
行できた。この方式による欠点は、構造上の複雑さ、設
計設更に関連する問題、及び特に高い回路コストであっ
た。
計算機又はプロセッサの命令システムの改良に関する一
般的な研究は、系統的な、記憶装置に適合した、制御論
理の構造を生み出した。それはマイクロプログラミング
又はマイクロプログラム制御と呼ばれている。M、V、
Vilckesは1951年に初めてこの技術を導入し
た。”The bast、way t。
design an automatic calcu
lation machine”、Mancheste
r University Computer Ina
uguralConference、 Manches
ter、 England、 1951 。
page16及び“The goals of 1nt
erest inmicroprogrammings
 −a 1iteratura 5urvey”、Co
mputing 5urvey、 Vol、 1 、S
eptember 1969 。
PP、 139〜145を参蝋されたい。
論理的には、マイクロプログラム・ルーチンは、機械語
命令又はマクロ命令、即ちクラス1又は2の機能を実行
するためのサブルーチンである。
以前はマイクロプログラムは読取専用メモリに入れられ
、その出力はハードウェア・レベルに固定的に関係付け
られた直接的な制御機能を実行しくセット制御機能は出
力線、例えばレジスタ用のセット信号線、制御信号線等
である)、またある位置のマイクロ命令の1のビットは
そのマイクロ命令に関するその信号線が付勢される事を
示しているので、そのようなマイクロ命令の構造は、そ
の長さく約100ビツト又はそれ以上)により水平型と
呼ばれた。
その主な欠点は、マイクロプログラム用記憶装置の利用
率の低さである。各制御信号は各マイクロ・ワード又は
制御ワード毎に必ずしも必要ではないので記憶容量の大
部分はむだであり、また符号化されていないというそれ
らの特性により対応する記憶ビットはいかなる情報も構
成しない。
マイクロ命令の他の極端な形式は垂直型である。
これは通常のマクロ命令に非常に似ている。この命令の
機能はOPコード中に高密度の形で含まれている。この
命令の残りは実質的にアドレス・フィールドから成る。
というのは垂直形式では、水平型とは対照的に、マイク
ロ命令は内部局所記憶装置もアドレスできるからである
従ってこのマイクロ命令はより複雑であり、その機能的
内容は1通常逐次的に実行されるいくつかの水平型マイ
クロ命令のそれに対応する。このより複雑な機能は、対
応する個々のステップに分割され、通常は布線制御論理
によって実行された。
マイクロ命令はこの時、単にハードウェア・シーケンス
制御を呼び出すための働きをするだけである。これはo
Pコード及び他の情報の形にデコードされ、そして要素
的なステップのシーケンスに変換される。従って、この
階層的な構造はシーケンス制御回路を多重に利用させる
。垂直形式の制御記憶はより遅い可能性がある。という
のは挿入された制御論理により、実行に長時間を要する
からである。厳密な垂直形式に伴なう欠点は、制御過程
の高い直列性であり、これはプロセッサの動作速庭に全
体的に影響を与える。
水平形成及び垂直形式の妥協点は、その形式が準水平形
式であるとみなされる、コード化された命令フィールド
を複数個含むマイクロ命令によって代表される。OPコ
ード全体はその形式の各ビット群に厳密に結び付けられ
た部分機能に分割される。付加的に直接制御ビット又は
類似の機能要素が含まれていてもよい。さらに、1つの
命令が、垂直形式の場合よりも並列により多くの機能を
カバーする。これは命令の長さが再び50ビット以上に
増加する可能性を意味している。
垂直形式と比較すると、デコーディングがより単純で且
つ高速である。
直接ハードウェア制御マシンと解釈実行的、即ちマイク
ロプログラム制御式のマシンとの間の組み合せがIBM
 Technical Disclosure Bul
letin。
Vol、 14、Na 1、June1971、pag
e298に記載されている。ハードウェア景を大幅に増
加させる事なくヤイクロプログラム制御式の計算機の処
理速度を増大させるために、マイクロ命令及びマクロ命
令の両者に同じ命令形式を採用した。この事により、単
純な機能(クラス1の要素)例えば「レジスタにロード
」、「レジスタ内容を主記憶にスI−ア」等を実行する
単純なマクロ命令が直接的に実行できるように命令制御
装置を設計する事が可能となった。しかし例えば浮動小
数点又は10進数の算術演算に関するより複雑なマクロ
命令(クラス2の要素)は解釈実行的に、(同じく直接
的に実行可能な)マイクロ命令によって、同じハードウ
ェアを用いて実行される。しかし、直接実行可能なマイ
クロ命令は、ユーザー・プログラム中に直接現われる事
もある上述の直接実行可能な単純なマクロ命令である。
従ってユーザー・プログラムは単純なマクロ命令と複雑
なマクロ命令のシーケンスより構成される。命令が実行
される時、OPコードをテストする事によって、RA在
の命令が直接実行可能なものか又は解釈実行されるべき
かが決定される。このテストは、マイクロモード又はマ
クロモードのいずれかへモード・スイッチをセットする
。複雑なマクロ命公の場合、制御記憶及び命令シーケン
サを有する通常のマイクロ制御回路である解釈実行ユニ
ットへの分岐が行なわれる。全てのマクロ命令は命令実
行ハードウェアによって実行されるので、単純なマクロ
命令と同様に複雑なマクロ命令も解釈実行ユニットから
命令実行ユニットへ転送される。
C0発明が解決しようとする問題点 そのような構成の主な欠点は、プロセス・アーキテクチ
ャ及び命令セットの自由且つ柔軟な設計が制限される事
である。というのは単純なマクロ命令が複雑なマクロ命
令に適合する事及びその逆の事に過大な注意を払わなけ
ればならないからである。さらに、特定の計算機又はデ
ータ処理システムのために多くの時間と費用をかけて書
かれたマイクロプログラムを1例えば異なった技術を用
いて構成され且つこれまで使われなかった機能を有する
新しい計算機又はデータ処理システムに移す事が不可能
である。
これは特に経済的な観点からは決定的な欠点である。
従って本発明の目的は、上述のクラス1 (Kl)の機
能を実行できる計算機の機能レパートリ−を、ハードウ
ェア及び既存のマイクロプログラムを修正する事なく、
上記クラスに属さない機能に任意に拡張できる手段を提
供する事である。
D0問題点を解決するための手段 本発明によれば、特別の動作モードで計算機により実行
されるにもかかわらず構文的及びほぼ意味論的にもクラ
ス1の一部分を形成する命令系列のみから成るプログラ
ムによる機能拡張が可能である。その理由により、それ
らはプログラム技術の観点からは標準的な計算機プログ
ラムとして取り扱う事ができる。
本発明によれば、既存の計算機アーキテクチャは次のよ
うにして実現できる。
1、その機能の総体を、前述のようにクラス1(K1)
の機能、及び非冗長的な機能によって完全に実現可能な
機能のクラス(K2)、及び非冗長的な機能のクラスに
よって部分的には実現できるが完全には実現できない機
能(とりわけ複雑な機能)のクラス(K3)に分割する
62、専らクラス1の機能を実行する事ができ、付加的
に本発明において述べた装置を含む計算機を実現する。
3、クラス2及び3の機能を実現するプログラムを書く
計算機アーキテクチャを実現する従来の方法と比較する
と、上述の方法は下記の利点を提供する。
1、クラス1の機能のみを実現する計算機のハードウェ
ア(必要なマイクロプログラムを含む)はコストが低く
且つ単純、迅速に開発でき、そしてアーキテクチャ全体
を実現する計算機よりもエラーが残る危険性が低い。
2、機能クラス2及び3を実現するプログラムを開発す
るために、通常の計算機プログラムを開発するために利
用可能な全ての方法及び手段を使う事ができる。という
のは両者のプログラムの型は、使われる命令セットに関
して等価だからである。
特に、プログラムは既知の高水準言語で書き、既存のコ
ンパイラによって処理する事ができる。
経験によれば1機能的に等価なマイクロプログラムにお
けるよりもエラーが少ない事が示されている。
3、上述の利点は、本発明に従って計算機アーキテクチ
ャを最初に実現する時から得られる。
しかし、そのアーキテクチャを繰り返して実現する時に
もそれは有用である。というのは新しい技術は機能クラ
ス1を実行する計算機を実現する事に専ら限られるが、
クラス2及び3の機能を実現するためのプログラムが、
既に初期の全体的アーキテクチャの実現のために提供さ
れており、これを新しい計算機に変更なしに使用できる
からである。
クラス1の機能のみを実行できる計算機(基本計算機)
に備え付けられる付加的な装置は下記の機構を有する。
1、クラス2及び3の機能を実現するために役立つプロ
グラムを実行している時に計算機が切り換わる基本計算
機モード。このモードは「内部モードJ(I M)と呼
ばれる。これは、「外部モードJ(EM)と呼ばれる標
準的な動作モードに付加して存在している。従って計算
機は外部モード又は内部モードのいずれかで動作する。
2、特別な条件の下で計算機を外部モードから内部モー
ドに切り換え、内部モードにおいて特別な命令(LIM
)を実行する事により計算機を外部モードに戻すスイッ
チング機構(MCH−SW)。
3、外部モードにおいてプログラムが第1の資源(PD
e)にアクセスするのを制御し、且つ内部モードにおい
てのみ、実現すべき全体的アーキテクチャにおいて定義
されない新しい資源(PDi、C816〜31)を包含
する事を可能にするアクセス機構(AC)、新しい資源
の包含とは、内部モードにおいてそれらの資源の状態に
ついて質関し且つそれを変更する事を可能にする付加的
な命令が利用可能な事を意味する。
それらの資源の状態の変更は、状態が変更された時に計
算機が外部モードでなければ基本計算機を内部モードに
切り換える効果を有する事ができる。
基本計算機の内部モードIMは従来の動作モード即ち外
部モードEMに加えて存在する。基本計算機は外部モー
ド又は内部モードのいずれかで動作する。
E、実施例 第1図は外部モード(E M)において基本計算機(B
 R)がクラス1 (Kl)の機能だけしか実行できな
い事を示している。内部モードIMでは、それはに1に
加えてクラスKl’の機能を実行できる。それらは本発
明によってカバーされる装置により実現される。命令と
して利用可能なKl’の全ての機能は下記の表1にリス
トされている。
従って内部モードで進行するプログラムはクラスに1及
びKl’の機能を使用できる。それらのプログラムP及
びデータDは全体的アーキテクチャの機能クラス2及び
3(K2及びに3)を実現するために専ら役立つ。
K2を実現するためのプログラムはに1の命令しか使わ
ない、に3を実現するためのプログラムはに1及びKl
’の命令を使う。
従って、全体的アーキテクチャのクラスに2及びに3の
機能が実行される時に基本計算機は常に内部モードで動
作する。
モードの変更(MCH)が第1図に示されている。それ
は2つの相補的なプロセスをカバーする。
−外部モードから内部モードへの基本計算機の切り換え
MCH(E→工) 一内部モードから外部モードへの基本計算機の切り換え
MCH(I→E) 外部モードから内部モードヘ: 基本計算機は、それが外部モードであり且つ事象ベクト
ルEVに事象が示される時に、外部モードから内部モー
ドに切り換わる。事象ベクトルの機能はアクセス機構A
Cに関連して説明する。
切り換えプロセスMCH(E→工)は次のように行なわ
れる。
1、外部モードで現在実行中の機能は終了させられる。
2、外部モードで現在活性なプログラムをさらに実行す
るために必要な計算機のステータス・ベクトルZeは計
算機内に記憶される。
3、内部モードでのプログラムの実行を活性化するため
の標準化されたステータス・ベクトルZiが計算機にロ
ードされる。
4、アクセス機構AC中のアクセス・ブロッカ−IMA
がスイッチ・オフされる。
5、計算機が、現在ロードされたステータス・ベクトル
Ziを活性化する。
内部モードから外部モードヘ: 基本針9機は、内部モードであり且っr内部モード離脱
」命令LIMを実行する時に、内部モードから外部モー
ドへ切り換わる(MCH(I→E))。
この命令はクラスに1′ (表1参照)に属し1次のよ
うに処理される。
1、外部モードから内部モードへの最後のスイッチング
の時に内部的に記憶されたステータス・ベクトルZeが
新たに計算機にロードされる。
このステータス・ベクトルは、現在終了したプログラム
により内部モードにおいて変更してもよい。
2、アクセス機構AC中のアクセス・ブロッカ−IMA
が再びスイッチ・オンされる。
3、計算機が、現在ロードされたステータス・ベクトル
Zeを活性化する。
計算機のプログラム及びデータは実行時に計算機の主記
憶装置にロードされていなければならない、この一般原
則は、外部モード、即ち通常の動作モードで実行される
プログラム及びデータに第1に当てはまる。内部及び外
部モードにおいて基本計算機は命令の解釈実行に関して
同様にプログラム及びデータを処理するので、内部モー
ドで実行されるプログラムP及びデータDも主記憶装置
にロードされなければならない。
第2図は主記憶MSの区分を表している。物理的に存在
する記憶域PH8Tの一部には、内部モードで実行され
るプログラム及びデータ(PDi)が導入される。残り
は外部モードにおけるプログラム及びデータ(PDe)
に利用可能である。
領域PDi及び制御ベクトルC816〜31は全体的ア
ーキテクチャGAの実現に寄与し、論理的にはそれらは
計算機の一体的な部品と考えるべきである。従って、外
部モードで実行されるプログラムに関して、PDiが存
在しないという印象が生じなければならない、これは、
内部モードのプログラムに関してアクセス領域をAPi
に制限し且つ外部モードのプログラムに関してアクセス
領域をA P eに制限するアクセス・プロツカーエM
Aによって達成される。
一方、機能クラスに2及びに3の実現において、内部モ
ードのプログラムはPDi及びPDe、即ち物理的に存
在する主記憶装置の全体にアクセスしなければならない
活性化された時、アクセス・ブロッカ−IMAは、基本
計算機からのPDi領域への全てのアクセスを阻止する
。従ってこの場合、基本計算機は、あたかも物理的に存
在する主記憶装置の外側の位置をアクセスするかのよう
に動作する。内部モードから外部モードへのモード変化
MCH(ICE)及び外部モードから内部モードへのモ
ード変化MCH(E→工)の時に装置が活性化される。
下記のアクセス機構ACは、実現すべき全体的なアーキ
テクチャにおいて定義されていない新しい資源にアクセ
スする事を可能にする。アクセスは内部モードでしか可
能でない、この装置の付加的な効果は、新しい資源のス
テータス変化の時に計算機が外部モードであれば基本計
算機が内部モードに切り換えられる事である。
この装置の本質的な要素は制御ベクトルC8の概念であ
る。制御ベクトルは線型アドレス空間である。この実施
例では、それは0と31の間の整数(特徴数)によって
識別される。第3図はその一般的な構造を示している。
これは鼓大32個の事象ビットEBを受は取るための3
2ビツトのワードを最小限1個(ワードO)有する。係
属中の事象、又は外部資源を記述するために必要な情報
(データ、アドレス、OPコード等)の数に依存して、
nワードまでのワードを含む事が可能である。
表1は制御ベクトルにアクセスするための全ての必要な
命令を示している。
一命令「制御空間読取J RC8は、制御ベクトルC8
の任意の位置を読み出す事を可能にする。
一命令「制御空間ANDJ AC3、[制御空間排他的
ORJ XC8、[制御空間OR1○CS、及び「制御
空間書込JWC3は、その名称の意味する通りに、制御
ベクトルの任意の位置を変更する事を可能にする。
全体的アーキテクチャOAにおいて定義されていない新
しい資源が、基本計算機BRの外部又はその構成部品と
して存在し得る。そのような部品は制御ベクトルの特別
な位置に示されている。その状態は上述の命令を用いて
変更しテストする事ができる。
この実施例では、最大限32の制御ベクトルが存在し得
る。第4図はその概略を示す。4つの制御ベクトルが装
置の構成部品として定義されている。
一事象ベクトル EV −アーキテクチャ・ベクトル AV −クロツク・ベクトル Zv −プログラマブル事象ベクトル Pv 特定の全体的アーキテクチャOAに関して基本計算機の
機能クラスに1が決定されると、機能クラスに3の実現
には、特別な付加的制御ベクトルzS Vi、例えば入
出カニニットを基本計算機及びその主記憶に接続するた
めのアダプタのイメージを含む制御ベクトルを定義する
必要が生じる事がある。この制御ベクトルを用いると、
全体的アーキテクチャの機能クラスに3の入出力命令が
実現できる。
事象は制御ベクトルの個々の位置の内容を変更できる。
制御ベクトルは、ワード0中の1つ又は複数のビットが
1の値を持てば、「事象係属中」を有する(第3図参照
)。ワードOの特定のビット位置の1によって識別され
る係属中の事象は、そのビットを値0にリセットする事
によって「非係属中」にされる。
以下、装置の構成部品である4つの制御ベクトルについ
て説明する。
事象ベクトルEVは参照番号Oを有する。その構造は第
5図に示される。これは係属中の事象に対して迅速な検
出と反応を可能にする。
EVは32ビツト(1ワード)長である。左側の半ワー
ド(16ビツト)は装置の一部である制御ベクトルのた
めに予約されている。右側の半ワード(16ビツト)は
全体的アーキテクチャGAを提供するためにKl’ を
実現するのに必要な付加的な制御ベクトルのために予約
されている。各ビットは正確に1つの制御ベクトルを識
別する。
常に各ビットの値は、関連する制御ベクトルのワードO
のビットO〜31の論理和である。この定義は下記の事
を意味する。
−−制御ベクトルのワード0の中の任意のビットのセッ
ト及びリセット動作が、全ビット0〜31の論理和によ
り、関連するEVビットに即座に自動的に反映される。
−表1の適当な命令によるEVビットのセット及びリセ
ット動作は効果を持たない。
第5図はEVビットと制御ベクトルとの正確な対応関係
を表わしている。
アーキテクチャ・ベクトルAVは参照番号1を有する。
実現すべき具体的な計算機アーキテクチャはその使用形
態に依存して異なる事があり、その構造の仕様の詳細は
ここでは示さない。しかし下記の構成部品は常に含まれ
ていなければならない。
1、基本計算機がクラスに2及びに3の命令をデコード
するが実行はしない事を示す事象ビットEB。この場合
、AVはデコードされた命令及びその既にデコードされ
た部分(命令の型及びオペランド)を示すものを含む。
2、事象が係属中である事を示す1つ又は複数の事象ビ
ット、これは内部モードにおけるそれ以上の解析に続い
て外部モードで特別なプログラム割込みを生じさせる事
がある。
一般に、内部モードにおけるAVは、クラスに2及びに
3の機能を実現するために必要な全体的アーキテクチャ
の要素に対するインタフェースである。クロック・ベク
トルZvは参照番号2を有する。その構造は第6図に示
されている。
Zvは、内部モードにおけるプログラムの時間制御のた
め、及び外部資源の時間モニタのために使用される。
zvは2個のカウンタ、即ち時間間隔カウンタIT及び
時間カウンタCTを含んでいる0両者のカウンタはワー
ド3のビットOの制御の下で変化する。もしこのビット
が値1を持てば、カウンタはクロック(例えば3.3ミ
リ秒)により変更される。もしそうでなければ、カウン
タは変更されない、ITは減計数され、CTは増計数さ
れる。
ITが値Oを通過し且つワード3のビット1が値1を持
つならば、Zvは係属中の事象を有する。
ITと対照的に、カウンタCTは専らカウンタであり、
Zvの事象を示す事ができない。
プログラマブル事象ベクトルPvは参照番号3を有する
。これは表1の制御ベクトルに関する命令を用いてプロ
グラム毎に事象を生成する事を可能にする。それは内部
モードにおいてプログラムのフローを制御するのに役立
つ。
Pvは例えば32ビツト長の1ワードである。
ワードO中の各ビットは事象ビットであり得るので、そ
れらのビットを値1にセットする事によって32までの
違った事象が生成できる6個々のビットの重要度は事前
に決定できる。
本発明の詳細な説明する例として、K2又はに3の命令
の実行を説明する(第7図参照)。
このプロセスは次のように行なわれる。
1、基本計算機BRは外部モードEMで動作し。
主記憶装置MSの領域PDeから命令INSを読み出す
2、デコーダDECIによりハードウェア・マイクロコ
ード・インタフェースW/MC−IFで命令をデコード
する。
3、に2又はに3の命令がそのレパートリ−に含まれな
いので命令(K1)を実行できない事を理解する。
4、AV中の命令INSの主記憶アドレス、命令の型O
P、及びオペランドOPDを記憶し゛、「無効命令」の
事象を示す事象ビットEBを値1にセットする。
5、その結果、EV中でビット1が値1にセットされ、
事象を表示する。
6、その結果、計算機は、MCH−8Wにより、外部モ
ードEMから内部モードIMへのモード変更MCH(E
→工)を実行する。
−アクセス・ブロッカ−IMAが非活性化される。その
結果、その後のプログラムは資源PDi及びPDeにア
クセスできる。
−プログラムZeのステータス・ベクトルが計算機によ
り内部的に記憶される。
−ステータス・ベクトルZiが活性化される。
それは各々、現在実行されている事象をデコードする(
デコーダ2/3)ための機構又は一般プログラムを識別
する。
7、内部CPUインタフェースI/CPU−I F中の
デコーダDEC2/3はEVを読み出し、AVが事象を
含む事を理解する。
8、AVワードOにより、命令が実行できない事を理解
する。AVから命令の型を読み出す事により1元の命令
を実行するために機構又はプログラムEXECK2/3
を識別し活性化する事ができる。
9、この機構はAVのワードO中の事象ビット「無効命
令」を値0にセットする。従って計算機はEV中のビッ
ト1を自動的にゼロにセットし、事象はもはや非係属に
なる。
10、元の命令がクラスに2のものであれば、実行機構
の即ち実行プログラムの全ての命令はクラスに1のもの
である。もし元の命令がクラスに3のものであれば、実
行機構即ち実行プログラムはに1の命令以外にKl’の
命令も含む、従って、その目的のために必要な機構がE
XECK273において付加的に設けられていなければ
、EXECKlへの依頼が生じる。
11、最後の命令として、プログラムは「内部モード離
脱(LIM)J命令を実行する。
12、その結果、計算機は内部モードIMから外部モー
ドEMへのモード変更MCH(I→E)を実行する。
−PDeへの計算機の全てのアクセスを制限するアクセ
ス・ブロッカ−が再活性化される。
一内部的に記憶されたステータス・ベクトルZeが再ロ
ードされる。
13、このようにしてに2又はに3の命令は実行に成功
し、外部モードで割り込みを受けたプログラムが続行さ
れる。
例えば命令がクラスに2でもに3でもない事によりデコ
ーダDEC2/3が命令INSをデコードできない場合
、割込みIRRPTが有効になる。
これはエラー・ルーチンFを実行するために計算機を外
部モードEMに切り換える。
主記憶MSに関するアドレスはアクセス機構ACによっ
て与えられ、これはまた他の制御信号、例えばデータ・
フローDFを切り換えるための制御信号DF−CHも供
給する。
主記憶との通信は、命令のOPコードOP及びオペラン
ドOPDを与える入出力レジスタl1O−REGにより
一層効果的になる。データの流れの方向、即ち主記憶か
らレジスタへか又はレジスタから主記憶へかは、上述の
データ・フロー制御信号DF−CHによって決定される
ハードウェア・マイクロコード・インタフェースHW/
MC−IFと内部CPUインタフェースI/CPU−I
 Fとの間に配置されたモード・スイッチMCH−8W
は、モード・ステータス信号EM又はIM及びモード変
更信号MCH(E→I)又はMCH(I−+E)を生成
する外部/内部/外部スイッチM−8W並びに外部/内
部弁別装置E/I−DIS及び内部/外部弁別装置11
/E−DISを含んでいる。ステータス変更の方向(例
えば外部から内部へ)は括弧内に(E→工)又は(工→
E)のように与えられる。
オペランド・アドレス0PD−ADR及びオペランドO
PD自体の処理は、普通に、命令実行機構EXEC(K
l −3)の目的である。これはオペランド・アドレス
を生成し、それを主記憶MSのアクセス機構に与え、処
理のために読み出したオペランドを取得する。外部から
内部へのモード又はステータスの変化を判定するための
弁別装置E/I−DISの原理が第8図に示されている
クラスに1に属さない命令のoPコードOPは、論理回
路LOG−1を経由して弁別装置中のデコーダ2/3に
与えられる。論理回路LOG−1は上述の伝送経路上に
OPコードが得られる毎に出力信号0P−AVを供給す
る。この型の命令は内部モードでのみ処理できるので、
計算機が外部モードの時はモード変更が行なわれなけれ
ばならない、この目的に必要な制御信号はゲートG1に
得られる。これは信号0P−AV、外部モードに関する
ステータス信号EM、及びクロック信号CLを論理積に
従って結合し、一致した場合に外部から内部へのモード
変更を表ルす出力信号MCH(E→工)を発生する。こ
の信号はモード切り換えスイッチM−3Wに転送され、
そこで内部状態の実際の設定を開始する。先行する命令
の実行時に計算機が既に内部モードであれば、そのよう
なステータス変更は存在し得ない。その場合、制御信号
の1つ、即ちEMがゲートG1に欠けている。
内部モードIMから外部モードEMへのモード変更を判
断するための弁別装置I/E−DISの基本動作が第9
図に示されている。命令実行装置EXFCK2/に3に
おける命令の実行に引き続いて、後続命令のアドレス0
P−ADHが7ドレツシング装[ADRに転送される。
この転送はI/E弁別装置を介して行なわれる。この弁
別装置中の論理回路LOG−2は、OPコードOPのア
ドレスである命令アドレスを識別し、終了したなかりの
命令の実行完了を示す制御信号EXECK2/3  C
OMPLを発生する。この信号はゲートG2の3つの制
御信号の1つである。このゲートはAND機能に従って
それらの信号を結合する。他の信号は、クロック信%C
L及びプログラムの最後の命令であるLIM命令により
゛発生し内部モードからの脱出を指示する信号LIMで
ある。
従ってゲートG2は、モード変更スイッチM−8Wに与
えられるモード変更信号MCH(I→E)を発生する。
スイッチM−8Wは内部モードIMから外部モードEM
へのモード即ちステータスの変更を行なう。
実際のモード変更MCHは第10図に詳細に表されてい
るモード・スイッチM−8Wによって制御される。モー
ド・スイッチM−8Wは、モード変更信号MCH(I→
E)によってセットされるフリップフロップFFより成
る。これは外部モードを特徴付ける出力信号EMを発生
し、それをE/工弁別装置E/I−DISに転送する。
フリップフロップFFは、E/I弁別装置から送られる
モード変更信号MCH(E→工)によりセットされる。
I/E弁別装置により送られるセット信号(S)はリセ
ット信号(R)と同様にアクセス機構ACに転送され、
そこで実際の切り換えプロセスが開始される。
第11図のアクセス機構AC(書込み及び読取りのプロ
セスに関して主記憶MSをアドレシングする)は古典的
なアドレス・レジスタADH−REG及びアクセス・ブ
ロッカ−IMAから構成される。後者は計算機が外部モ
ードEMにあって且つ同時にしきい値8以上のアドレス
が存在する時に活性化される。このしきい値Bは、安全
余裕を除外して、専らクラスに1の命令によりアクセス
できるプログラム及びデータPDeに関する記憶域の最
後の記憶装置である。それは一般に第1の資源と呼ぶも
のを構成する。
クラスに2及びに3 (Kl’ )に属する命令の処理
のために、付加的な第2の資源PDi、C816〜31
が利用可能でなければならない、これはこの場合、主記
憶MS中のプログラム及びデータPDiに関する記憶域
がアクセス可能でなければならない事を意味する。その
目的のために、アクセス・ブロッカ−IMAが非活性化
されなければならない。
アクセス・ブロッカ−は、アドレス・レジスタADH−
REG中のアドレスとしきい値(しきいアドレス)Bと
を比較する比較器COMPを有する。しきい値Bはレジ
スタB−REG又は主記憶の記憶域から得る事ができる
。比較器はA>Bであれば、出力信号を発生する。比較
器の出力信号は2人力のAND回路&に加えられる。A
ND回路の値入力は外部モードの存在を示す信号EMで
ある。AND回路の出力はインバータエを介してゲート
G3に印加される。ゲートG3の値入力にはアドレス・
レジスタからのアドレスAが印加される。入力に先行す
るインバータにより、AND回路&の一致条件の逆が満
足される毎に記憶装置に印加アドレスが転送される0反
転された一致条件は信号EMが加えられない、即ち計算
機が内部モードIMにあるか又はしきい値Bよりも小さ
なアドレスAが加えられるか又はそれらの条件が両方成
立する時に満足される。
下記の真理値表はアクセス・ブロッカ−IMAを活性化
又は非活性化する条件を与える。
ここではデータ・フローDFは、プログラム・ステータ
ス・ワードPSWを含むプログラム・ステータス・ワー
ド・レジスタPSW−REGと主記憶装置の入出力レジ
スタl1O−REGとの間の接続である。このプログラ
ム・ステータス・ワードはプログラムの実際の処理のス
テータスについての全ての重要なデータを含んでいて、
プログラムが他のプログラムを優先させるために中断さ
れなければならない場合、中断の箇所から処理を行なう
事ができる。これは中断されたプログラムのプログラム
・ステータス・ワードを特別なレジスタ又は特別な記憶
位置に保管し、それから処理すべきプログラムのプログ
ラム・ステータス・ワードをその記憶位置からプログラ
ム・ステータス・ワード・レジスタにロードする事によ
って行なわれる。データ・フロー装置の切り換えは、ゲ
ートG6及びG7に加えられるデータ・フロー変更信号
DF−CHによって行なわれる。遅延素子Δtより成り
、各々モード変更信号を印加される(1つはモード変更
信号MCH(ICE)、他はモード変更信号MCH(E
→工))2本の遅延線が、その各タブに制御信号DF−
OH並びにゲートG4及びG5用の制御信号を発生する
。これらのゲートは領域PDiの特定の記憶位置の内容
をアドレスとしてアドレス・レジスタADH−REGに
転送する。それらの特定の記憶位置は、外部モードにお
けるプログラムの再始動時の情報RO−PSW、及び内
部モードにおけるプログラムの始動時のRN−PSWで
ある。RO−PSWはZe、ZiのRN−PSWのサブ
セットである。
従って第11図のアクセス回路の重要な要素は、異なっ
たクラスに属する命令の処理中にアクセスを、対応する
第1の資源PDe及び付加的に第2の資源PDiに制御
するアクセス・ブロッカ−IMAである。
F1発明の効果 本発明を用いれば、計算機の設計を容易に行なう事がで
きる。
【図面の簡単な説明】
第1図は計算機構造の概略図、 第2図は主記憶装置の区画を示す図、 第3図は制御ベクトルの一般的構造を示す図、第4図は
実際Φ制御ベクトルの図、 第5図は事象ベクトルEVの図、 第6図はクロック拳ベクトルZvの図。 第7図は切り換え機構の図、 第8図は外部/内部弁別装置の図、 第9図は内部/外部弁別装置の図、 第10図はスイッチの図。 第11図はアクセス制御装置の図である。 第1図 A 第3図 第2図

Claims (2)

    【特許請求の範囲】
  1. (1)基本計算機によつて第1のクラスの非冗長的な基
    本的機能及び上記非冗長的な基本的機能によつて完全に
    実現可能な第2のクラスの機能を実行する計算機の命令
    セツトを、上記非冗長的な機能によつては不完全にしか
    実現できない第3のクラスの機能が実行できるように、
    拡張するための装置であつて、 上記第1のクラスの機能を実行する外部モードから、上
    記第2及び第3のクラスの機能を実現するように働くプ
    ログラムを実行する内部モードへ、計算機を切り換え、
    且つ上記第2及び第3のクラスに属する命令の実行が終
    了した時に制御信号により計算機を上記外部モードへリ
    セツトするスイツチング機構と、 命令の解釈及び実行に必要な資源へのプログラムのアク
    セスを外部モードにおいては制限し、且つ内部モードに
    おいては付加的な資源及び計算機の全体的アーキテクチ
    ヤにおいて提供されない付加的な機能の使用を可能にす
    る、アクセス機構とを含む、 計算機の命令セツトを拡張するため装置。
  2. (2)上記アクセス機構が、上記付加的な機能のために
    提供される複数の制御ベクトルのうち1つの任意のワー
    ドにアクセスする事を可能にする機構を含む特許請求の
    範囲第(1)項記載の装置。
JP62297916A 1986-12-30 1987-11-27 計算機の命令セツトを拡張するための装置 Pending JPS63173130A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP86118168.3 1986-12-30
EP19860118168 EP0273070B1 (de) 1986-12-30 1986-12-30 Einrichtung und Verfahren zur Erweiterung des Befehlssatzes und der Funktionen eines Rechners

Publications (1)

Publication Number Publication Date
JPS63173130A true JPS63173130A (ja) 1988-07-16

Family

ID=8195684

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62297916A Pending JPS63173130A (ja) 1986-12-30 1987-11-27 計算機の命令セツトを拡張するための装置

Country Status (3)

Country Link
EP (1) EP0273070B1 (ja)
JP (1) JPS63173130A (ja)
DE (1) DE3685117D1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05173783A (ja) * 1991-04-24 1993-07-13 Internatl Business Mach Corp <Ibm> 命令パイプラインをドレーンさせるためのシステムおよび方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0510429A3 (en) * 1991-04-24 1993-12-01 Ibm Millicode register management system
GB2266606B (en) * 1992-04-27 1996-02-14 Intel Corp A microprocessor with an external command mode
US5758141A (en) * 1995-02-10 1998-05-26 International Business Machines Corporation Method and system for selective support of non-architected instructions within a superscaler processor system utilizing a special access bit within a machine state register

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5621237A (en) * 1979-07-30 1981-02-27 Fujitsu Ltd Information processor
JPS56124952A (en) * 1980-02-20 1981-09-30 Fujitsu Ltd Information processing equipment

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3500377A1 (de) * 1984-01-16 1985-07-25 N.V. Philips' Gloeilampenfabrieken, Eindhoven Verfahren zur bearbeitung maschinencodierter befehlswoerter und datenprozessor durch durchfuehrung des verfahrens

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5621237A (en) * 1979-07-30 1981-02-27 Fujitsu Ltd Information processor
JPS56124952A (en) * 1980-02-20 1981-09-30 Fujitsu Ltd Information processing equipment

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05173783A (ja) * 1991-04-24 1993-07-13 Internatl Business Mach Corp <Ibm> 命令パイプラインをドレーンさせるためのシステムおよび方法
JPH0816870B2 (ja) * 1991-04-24 1996-02-21 インターナショナル・ビジネス・マシーンズ・コーポレイション 命令パイプラインをドレーンさせるためのシステム

Also Published As

Publication number Publication date
EP0273070B1 (de) 1992-04-29
EP0273070A1 (de) 1988-07-06
DE3685117D1 (de) 1992-06-04

Similar Documents

Publication Publication Date Title
US4074353A (en) Trap mechanism for a data processing system
US10318407B2 (en) Allocating a debug instruction set based on the current operating state in a multi-instruction-set data processing apparatus
RU2265880C2 (ru) Новый режим процессора для ограничения функционирования гостевого программного обеспечения, выполняющегося на виртуальной машине, поддерживаемой монитором виртуальной машины
US5226164A (en) Millicode register management and pipeline reset
US5187802A (en) Virtual machine system with vitual machine resetting store indicating that virtual machine processed interrupt without virtual machine control program intervention
EP0313848B1 (en) Data processor with development support features
US4077060A (en) Asymmetrical multiprocessor system
US20100115513A1 (en) Virtual machine control method and virtual machine system
JPH0430053B2 (ja)
JPH05173783A (ja) 命令パイプラインをドレーンさせるためのシステムおよび方法
JPS625441A (ja) 情報処理装置
US4731736A (en) Method and apparatus for coordinating execution of an instruction by a selected coprocessor
US11301283B1 (en) Virtualization extension modules
US4484274A (en) Computer system with improved process switch routine
US5129079A (en) Computer system having subinstruction surveillance capability
US4914578A (en) Method and apparatus for interrupting a coprocessor
US5680598A (en) Millicode extended memory addressing using operand access control register to control extended address concatenation
JPS63173130A (ja) 計算機の命令セツトを拡張するための装置
JP2000353092A (ja) 情報処理装置及びそのレジスタファイル切替方法
CN111506395B (zh) 一种混合仿真的全数字虚拟运行环境的实现方法及装置
JP2680828B2 (ja) ディジタル装置
JPH0192843A (ja) データ処理装置
EP0510429A2 (en) Millicode register management system
EP0134386A2 (en) Method and apparatus for executing object code instructions compiled from a high-level language source
US6662296B1 (en) Method and system for testing millicode branch points