JPH0192843A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPH0192843A
JPH0192843A JP63164097A JP16409788A JPH0192843A JP H0192843 A JPH0192843 A JP H0192843A JP 63164097 A JP63164097 A JP 63164097A JP 16409788 A JP16409788 A JP 16409788A JP H0192843 A JPH0192843 A JP H0192843A
Authority
JP
Japan
Prior art keywords
data processing
instructions
mode
executing
processing device
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
JP63164097A
Other languages
English (en)
Other versions
JPH0754467B2 (ja
Inventor
David N Cutler
ディヴィッド エヌ カトラー
David A Orbits
ディヴィッド エイ オービッツ
Dileep Bhandarkar
ディリープ バンダーカー
Wayne Cardoza
ウェイン カードーザ
Richard T Witek
リチャード ティー ウィーテック
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment 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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of JPH0192843A publication Critical patent/JPH0192843A/ja
Publication of JPH0754467B2 publication Critical patent/JPH0754467B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors
    • G06F15/8061Details on data memory access
    • G06F15/8069Details on data memory access using a cache
    • 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
    • G06F9/30174Runtime instruction translation, e.g. macros for non-native instruction set, e.g. Javabyte, legacy code
    • 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/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)
  • Complex Calculations (AREA)
  • Storage Device Security (AREA)

Abstract

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

Description

【発明の詳細な説明】 (産業上の利用分野) この発明は一般にデータ処理システムに間し、特に1つ
のマクロ命令を実行するのに多数の命令の実行を必要と
するデータ処理システムに間する。
(従来の技術) 複雑なデータ処理システムにおいて、頻繁に使われる実
行ツールはマイクロコード式中央処理装置の使用である
。この実行方式では、データ処理システム命令が、一般
にマイクロシーケンサと称される専用処理装置での作業
を開始する。マシン命令に応じて、マイクロシーケンサ
が一連の専用マイクロ命令を検索し、マイクロ命令はデ
ータ処理システム命令用のフォーマットと全く無間係の
フォーマットを有する。これらのマイクロ命令は一般に
、 「制御記憶装置」と呼ばれる専用メモリ内に記ぜさ
れている。またマイクロ命令は、複雑で高性能なデータ
処理システムにおいて、データ処理システム命令よりは
るかに一般的である。
マイクロコード化方式は、プログラム割込のない分割不
能な原子的ユニットとして多数のオペレーションを行う
複雑なマシン命令を実行する手段を与える。一方、マイ
クロコード化方式は、専用の高速制御記憶装置とマイク
ロ命令を順序付けするハードウェアロジックを必要とす
るという欠点を有する。一般に「命令減少設定コンピュ
ータ」(RISC)と呼ばれる他のデータ処理システム
においては、マイクロコート化方式が使われていない。
その代わりこのデータ処理システムは、マイクロコード
化方式を必要とせずにハードウェアで直接実行可能なシ
ステム命令に制限される。このような制限は、必要な原
始的オペレーションを欠いているデータ処理システムに
対処しなけれはならないソフトウェアプログラムに追加
の負担を課す。
(発明が解決しようとする課題) 従って、複雑なオペレーションとなるデータ処理システ
ムの機能を与えるのにマイクロコートを含まないデータ
処理システムを可能とする方式の必要が痛感されている
。このような複雑なオペレーションは、ハードウェアに
おける例外条件の不在と割込不能なオペレーションを保
証する原子的オペレーションとして与えられるべきであ
る。
本発明の目的は、改良データ処理装置を提供することに
ある。
本発明の一特徴は、複数の種類のデータ処理システムに
対してソフトウェアプログラムを動作可能とする方式を
提供することにある。
本発明の別の特徴は、マイクロコード式データ処理シス
テム及び非マイクロコード式データ処理システムに対し
てソフトウェアプログラムが動作可能となる方式を提供
することにある。
本発明の他の別の特徴は、通常の非特権モード及び特権
モードに加えて、命令実行用のデータ処理システムの動
作モードを提供することにある。
本発明の更に別の特徴は、−群の事前に選定さ伯 れた命令の実行を、割込のない原子的な方法で可能とす
ることにある。
本発明の更に別の特徴は、事前に確定された命令シーケ
ンスを実行するためのユーザ動作モード、オペレーティ
ングシステム動作モード、及び第3動作モードを提供す
ることにある。
本発明の更に別の特徴は、データ処理システムにおける
文脈環境内での移行を同期化することにある。
(課題を解決するための手段) 上記及びその他の特徴は、本発明によれば1.命令を実
行する3つのモードを備えたデータ処理システムを提供
することによって達成される。一般にアプリケーション
プログラムが実行されろユーザモードと、一般に特権命
令が実行される核モードとがデータ処理システムの通常
モードである。
これら2つのモードの他に、本発明では、以下EPIC
ODE  (拡張プロセッサ命令コート)モードと称す
る第3のモードを加える。EPICODEモードは、専
用のEPICODE命令又は事前に選定された事象によ
って開始される。EPICODEモードでの動作中、通
常の命令シーケンスの実行に割込をかける事象が動作不
能とされる一方、EP I C0DEモードにおける命
令の実行を容易とする一定の命令及び装置は動作可能と
される。EPICODEモードはデータ処理システムに
、コンポネント命令のシーケンスによって実施され且つ
命令シーケンスの割込が望まし々4 くない命令について、命令を原子的とする能力を適宜与
える。
本発明の前記及びその池の特徴は、図面に沿って以下の
説明を読み進むことによって理解されよ(実施例) 11図面の詳細な説明 次に第1A及び18図を参照すると、本発明を使用可能
な2つの例示データ処理システムの構成が示しである。
第1A図において、中央処理装置(#1)11はシステ
ムバス19に接続されている。曲の中央処理装置(例え
ば#N)12も、システムに接続可能である。1つ又は
複数の中央処理装置11(〜12)が、中央処理装置内
の制御プログラムと協働して中央処理装置の構造に従っ
てデータを処理し、制御プログラムは主メモリ装置15
内に常駐する命令からなる。非常駐データ及び命令は一
般に1つ又は複数の大容量記憶装置内に記憶され、シス
テムバス19を介して主メモリ装置15へ及びそこから
伝送される。1つ又は複数の入/出力装置(#N1B(
〜(#M)17)が、大容量記憶装置、ユーザ端末記憶
装置及び通信装置等の各種装置を、システムバス19に
よってデータ処理システムに接続する。大容量記憶装置
が、データ処理装置にとって必要なデータ及び命令を記
憶する。一般にデータ及び/又は命令のページとして指
定され、中央処理装置11〜12の動作に必要な複数組
のデータ及び/又は命令が、中央処理装置によって比較
的遅いアクセス能力を持つ大容量記憶装置から比較的速
くアクセスされる主メモリ装置へと転送される。かかる
バス指向のシステムは、システムを再構成するのが比較
的容易という利点を持つ反面、各システム構成要素がシ
ステムバスとのインタフェースを与える制御装置を必要
とするという欠点を有する。次に第1B図を参照すると
、1つ又は複数の中央処理装置11(〜12)及び1つ
又は?i!数の入/出力装置(#1) 16 (〜(#
M)17)がメモリ制iaI+装置14を介して主メモ
リ装置15に接続されたデータ処理システムが示してあ
り、メモリ制御装置14が第1A図に示したバス指向の
データ処理構成におけるシステムバス19及び個々のデ
ータ処理システムの構成要素によって行われる制御機能
を代わりに果たす、メモリ制御装置14がデータ及び命
令の転送の集中制御とモニタリングを行い、これは第1
図のバス指向構成より効率的だが、フレキシビリティが
失われている。
次に第2図を参照すると、本発明を有効に利用可能な例
示中央処理装置の10ツク図が示しである。発出(イッ
シュ)装置22が、スカラー演算アドレス発生装置24
、少なくとも1つの実行装置(#1)25 (〜実1テ
装置(#Q)2B)及びヘクトル演算装置28からなる
複数の専用実行装置に(デコードされた)命令を与える
役割を果たし、ベクトル演算装置2日はベクトル演算処
理装置28A、ベクトル演算アドレス発生装置28B及
びベクトル演算レジスタ28Cを含む。実行装置によっ
て処理されろデータは一般に、スカラーレジスタ23又
はベクトルレジスタ28Cから抽出される。実行装置か
ら得られたデータは、スカラーレジスタ23、ベクトル
レジスタ28C又はデータキャッシュメモリ装置27内
に記憶される。
データキャッシュメモリ装a27は、主メモリ装置15
と中央処理装置11の間のインタフェースを与えるキャ
ッシュメモリ装置として見なすことができる。 (デー
タキャッシュメモリ装置27は、第2図で主メモリ装置
に直接接続されるものとして示しである。第1A及び1
8図に示したように、実際の接続では介在するデータ処
理装置を含めることができる。)発出装置22は、どの
実行装置が選定データを処理するかを決めると共に、選
ばれた実行装置がいつデータ処理のために使用可能とな
るべきかを決める装置を含む。この後者の特徴は、宛先
記憶ロケーションが処理されたデータを記憶するのに使
えるかを確認することも含んでいる。命令キャッシュメ
モリ装置21は、発出装置22によってデコ、−ドされ
該当の実行装置に送られる命令を記憶する。発出装置2
2は、各実行装置の処理演算を最大限化しようとする装
置を有している。つまり、発出装置22はプリフェッチ
装置と、 (任意の分岐命令を含め)該当の命令が必要
に応じ発出装置22で利用可能なことを保証するアルゴ
リズムとを含んでいる。複数の実行装置は、スカラー演
算アドレス発生装置24とベクトル演算装置28で示し
たように、ある一定クラスの処理演算を扱う専用の処理
装置である。例えば実行vi置は、浮動小数点演算や整
数算術演算などを扱うように構成できろ。発出装置22
は、プログラムを実行したり、データ処理演算のレコー
ドを与えるのに必要なデータを記憶可能な付属のスカラ
ーレジスタ23を備えている。例えば、1つのレジスタ
は、プログラム命令シーケンスの実行において、処理す
べき次の命令のく仮想)アトしスを記憶するプログラム
カウンタレジスタである。スカラー演算アドレス発生装
置24が、vi想アドレスを主メモリ装置15内の物理
ロケーションへ変換するのに使われる。また発出装置2
2は、各実1デ装置が異なる速度で命令を処理するとき
に、実行装置からのデータを正しいシーケンスで再順序
付けする役割も果たす。
ヘクトル演算装置28はベクトル演算処理装置28A、
ベクトル演算アドレス発生装置28B及びベクトル演算
レジスタ28Cを含む。ベクトル演算処理V装置28 
Aの動作は、実行装置24〜26へのデータの配分及び
そこでの命令実行を制御可能である。別の実施例(不図
示)では、l\クトル演算装置28による命令の実行専
用の実行装置をデータ処理システムで用いることもてき
る。実行装置がベクトル及びスカラー両演算に使用可能
である場合、制御はデータ処理装置の資源を割り当てろ
発出装置22の全体的なシステム制御下に置かれる。
改に第3図を参照すると、好ましい実施例の仮想アドレ
シング機構の説明が例示しである。発出装置22内の命
令301は、命令のオペレーションが行われるべきデー
タ要素を識別する付属の仮想アドレス302を有する。
発出装置が、仮想アドレス302をスカラーアドレス発
生装置24(又は場合によってはベクトルアドレス発生
装置28B)に転送する。アドレス発生装置24(又は
28B)では、主メモリ装置15内のページテーブルエ
ントリ304を(アドレス発生装置内の装置303によ
って)識別するのに、仮想アドレスの一部が使われる。
ページテーブルエントリ304はアドレス発生装置24
(又は28B)に転送され、その中のfi装306がペ
ージテーブルエントリ内の選定されたフィールドをテス
トし、データ要素に間して試みられているアクセスが容
認されるかどうかを判定する。アクセスが容認されなか
ったときには、アクセス違反(バイオレーション)30
6が識別され、そのアクセス違反にどう応答するかを判
定するのに適切なオペレーティングシステムプログラム
が呼び出される。データ要素312へのアクセスが容認
されることをテスト305が判定すると、ページテーブ
ルエントリ304についてテスト307が行われ、命令
に必要なデータ要素が主メモリ装置15で得られるかど
うかを判定する。データ要素が存在しないことをテスト
307が指示すると、ページ障害308が発生され、適
切なオペレーティングシステムプログラムがデータ要素
を主メモリ装置15(ロケーション312)に転送し、
関連のページテーブルエントリ304を更新し、ページ
障害を生じた命令を再実行する。テスト307での判定
の結果必要なデータ要素が主メモリ装置で得られれば、
次のテスト309でページテーブルエントリ304をテ
ストし、関連の命令によってデータ要素を必要とする作
業が障害をもたらすものとして指定されるかどうかを判
定する。命令によって決まる作業が障害状態として指定
されると、場合に応じて読取障害、書込障害、又は実行
障害が、それぞれの障害状態に応答するオペレーティン
グシステムプログラムを呼び出す。関連のデータ要素に
対する命令の作業が障害状態として指定されないことを
テスト309が指示すると、アドレス発生装置24(又
は28B)が、必要なデータ要素が記憶さ−れている主
メモリ装置15内の物理アドレス311を求める。この
アドレスのデータ要素312が、スカラーレジスタ23
、ベクトル演算レジスタ28C1あるいは命令キャッシ
ュメモリ装置21(つまりデータ要素が命令である場合
)内の記憶ロケーション313に転送される。こうして
、仮想アドレスによって識別された必要なデータ要素が
、命令301による処理のために利用可能となろ。
次に第4図を参照すると、2つの一般的なシステム動作
モードと EPICODEモードとの間の関係が示しで
ある。ユーザモード4Aは一般に、ユーザにとって即座
に興味のある処理機能を行うアプリケーション型プログ
ラムを実行する。ユーザには、所望の処理能力を1辱る
ために比較的完全な制御が与えられる。命令は一般に、
命令の順序及び選択された特徴がユーザのi、IJ御下
にあるという意味で非特権的である。咳モード4Bは、
オペレーティングシステムが命令を実行するモードであ
る。核モードは、ユーザモードで利用可能な全ての命令
、及び特権的であるためユーザによる操作において利用
可能でない核モード4Bに関連した追加の命令を実行す
る。特権命令は、他のユーザ又はプログラムの安全を脅
かす可能性があるので、ユーザモードでは許可されない
。データ処理システムのEPICODEモードでの動作
は、割込なしで実行すべき及び/又はデータ処理システ
ムが所定の状態になければ実行すべきでない命令シーケ
ンスのために確保されている。ユーザモード4A又は核
モード4Bで実行可能な一部の命令が、Ep+cooE
モード4Cへの移行を必要とする。このEPICO[l
Eモードは、命令シーケンスの割込不能なく原子的)実
行を保証するためのストラテジーを実施する一定の専用
ハードウェアと一定の特権を備えている。
次に第5図を参照すると、何れかの動作モードから E
PICODEモードに入るステップが示しである。
EP I C0DEフオーマツトでの命令、割込又はハ
ードウェア例外などの事象501が、EPICODEモ
ードへ入るための必要条件をデータ処理システムに伝え
る。ステップ502で、発出装置は新たな命令を発しな
いようにされるが、すてに実行が開始されている命令は
完了される。現在実行されている命令の完了が、EPI
CODEモードでの実行前に、全てのハードウェア例外
を信号発生可能とする。ステップ503で外部割込が不
能とされ、またステップ504で命令流れ参照のための
仮想アドレスマツピングが不能とされる。ステップ50
5て、EPICODEモードのために確保された専用の
命令を実行する特権が使用可能とされる。ステップ50
6で、 EPICO[)Eモードにおける実行によって
破壊されろ恐れのあるプロセッサ状態がセーブされる。
例えば、プログラムカウンタの内容がこのステップでセ
ーブされる。EPICODEモードに関連した一組の専
用レジスタへのアクセスが、ステップ507て可能とさ
れる。ステップ508で、ハードウェアレジスタ(EP
ICODEベースアドレスレジスタと呼ばれる)からの
アドレスを一定の状態信号フラグと紹み合わせることに
よって、新たなプログラムカウンタアドレスが形成され
る。そしてステップ509で、アドレスされた EPI
CODEモードプログラムを形成するEF’1CODE
及び通常の両命令のシーケンスが実行されろ。
次に第6図を参照すると、主メモリ装置15はEPIC
ODEに関連した命令シーケンスが記憶される予約領域
151を有する。この情報が、EPICODEベースア
ドレスレジスタ238からアドレスされる。レジスタ2
38は、EPICODEモードによってのみ利用可能な
複数のレジスタの1つとし得る(例えばアクセスは事前
に確定されたビット位置によって可能とされる)。一定
のフラグまたは状態信号を用い、フラグ及び状態信号を
生じる条件に応答して命令シーケンスに間するベースア
ドレスからの変位を求めることができる。
26  好ましい実施例の動作 好ましい実施例では、第2図のバイブライン式実行装置
を有する中央処理装置を幾つかの制約下で実施したが、
他の設計方式でも本発明を使用できる。中央処理装置は
複数の実行装置を含み、各実行Haが1つのクラスの命
令を実行する。−例として、1つの実行装置であるスカ
ラーアドレス発生装置24は、中央処理装置と主メモリ
装置の間でのデータの転送を制御する、すなわちスカラ
ーロード/ストア命令を実行する。更に、1つの実行装
置はデータのシフト演算を実行し、1つの実行装置は浮
動小数点前/減演算を実行し、1つの実行装置は整数及
び浮動小数点乗算を実行し、1つの実行装置は整数及び
浮動小数点除算を実(テする。専用の実行装置はバイブ
ライン式構成とし得るが、必ずしもその構成で実施され
なくともよい。中央処理装置の別の特徴は次の通りであ
る。
現在実行される命令シーケンス中の命令は、命令キャッ
シュメモリ装置21から発出装置22に転送されろ。発
出装置22内では、命令がその構成部分に分解され、デ
ータに依存した制御信号及びアドレス信号がそこから発
生される。しかし、命令が実行開始可能となる(すなわ
ち発せられる)前に、幾つかの制約が満たされねばなら
ない。先ず、命令用の出所及び宛先レジスタが全て利用
可能でなければならない、すなわち必要なレジスタへの
書込動作が未決着のままであってはならない。
その命令が処理された量を記憶する別のサイクルで、レ
ジスタ書込経路が利用可能でなければならない。また、
実行中命令を処理するのに必要となる実行装置が、オペ
レーションを行うのに利用可能でなければならない。ベ
クトル演算装置については、ベクトル演算の継続中、ベ
クトル演算が実行装置を確保する。メモリロード/スト
ア命令がキャッシュメモリ装置のミスに出会うと、キャ
ッシュメモリミスの応答が完了するまで、ロート/スト
ア装置使用中フラグによフで次のロード/ストア命令が
遅延される。命令が発せられると、その結果のための宛
先レジスタと書込経路サイクルが確保される。オペラン
ドの設定中に、命令と独立の全てのレジスタアドレスが
発生され、オペランドが読み取られて記憶され、データ
依存の制御信号が発生される。命令オペランドと制御信
号が関連の実行装置に送られ、実行される。実行装置に
よって発生された結果は、レジスタファイルまたはデー
タキャッシュメモリ装置27内に適宜記憶されろ。命令
が一旦発せられろと、処理の結果は数マシンサイクルの
間利用できない。一方次のサイクルでは、必要な発出条
件が満たされていれば、次の命令をデコードして発する
ことができろ。
つまり、命令は通常の命令シーケンスでデコードされ発
せられるが、実行装置の命令実行時間がさまざまである
ため、それらの結果は異なる順序で記憶可能である。こ
の一定順序でない記憶は、障害命令の例外扱いと再試行
を複雑にする。しかし、これらの事象は比較的希で、一
定順序でない記憶は実行及びハードウェア上の利点を与
える。
第3rMに間しては、仮想アドレシング方式の使用が広
〈実施されている。この方式によれば、プログラマはデ
ータ及び命令要素の実際のロケーションと係わらなくて
よく、アドレス発生I8!構がプログラムアドレスとデ
ータ処理装置内の命令要素との間のインタフェースを与
えろ。データ及び命令要素のページを使うことによって
、バルクつまり大容量記憶媒体からのデータ及び命令要
素の転送が速められ、個々のデータ及び命令要素を転送
する必要がない。またプログラムは一般に、順番の命令
実行に必要なデータ及び命令要素をプログラムまたはフ
ァイル内で比較的接近して記憶するフォーマットで書か
れる。従って、データ及び命令要素のページは一般に、
プログラム実行のための多数の関連データ及び命令要素
を含んでいる。
だがそれにも拘らず、ページ方式は比較的硬直なため、
特にベクトル命令の実行において、−群の関連データ及
び命令要素がページの境界を越え、データ処理システム
の主メモリ装置内に存在しないページへと延びる結果に
至ることがある。そこでデータ処理システムは一般に、
必要な情報ページが主メモリ装置内にないことを信号発
生する装置、及び情報の不在ページを検索することによ
ってページ障害に応答するプログラム等、仮想アドレシ
ング方式に付属の手順を含んでいる。
上記したデータ処理システムは典型例で、その池多くの
方法で実施可能である。特に、マイクロコード方式は、
そのような構造の実施において任意に選択し得る。マイ
クロコード方式を使わないと、データ処理システムの多
くの必須機能は複雑な順序付けを必要とするが、それで
も中央処理装置内の別の作業に対して原子的に実施され
なければならない。かかる機能の例には次のものが含ま
れる: 1、割込及び例外ディスパッチ、 2、翻訳バッファ充填等のメモリ管理制御機能、3、例
外又は割込からのリターン(REI)命令等、複雑な順
序付けを必要とする命令、4、メモリ装置のインターロ
ックをもたらす命令等、プロセッサ資源への制御された
アクセスを必要とする命令、 5、ソフトウェアの互換性のため全ての実行にわたって
体系化されたインタフェースを必要とするが、その物理
的実施が各実行間で広く異なり得る命令。例として、例
外及び割込からのリターンと、プロセッサレジスタへの
/からの移動が含まれる。
これらの81能は、マイクロコード式データ処理システ
ムでは容易に実施される。El”1CODEモードは、
マイクロ命令方式で実施されないデータ処理システムに
おいて、それらの命令を実施する方式を与える。
好ましい実施例では、次の事象の何れかがデータ処理シ
ステム内で識別されると、EPICODEモードに入る
。割込信号が、外部の入/出力装置又は別のプロセッサ
から受信されたとき。ハードウェア例外が、現在実行中
のプログラムから発生されたとき。あるいは、複雑な命
令を原子的に実施するのに、EPICODEフォーマッ
ト命令が実行されるるとき。これらの事象に対する応答
のため、EPICODE命令シーケンスは、原子的で且
つ一般には割込不能な方法で実行される。
EPICODEモードはデータ処理システム内における
動作モード間での移行モードとして使われるので、EP
ICODEモードへのエントリは自動的に、そのモード
へ入る前に現在実行中の命令が残らず実行を完了するの
を可能とする。これにより、事象が発生した文脈環境内
で、εP I C0DEモードへの移行前に例外事象に
対して応答することができる。
EPICODEモードは、EPICODEモードへの及
びそこからの移行を含め、動作モード間の移行を同期化
する。
好ましい実施例において、EPICODEモードでの実
行を必要とする命令は専用のフォーマットを有する。ま
た、EPICODE命令を実施するのに使用可能な命令
レパートリには、EPICODEモードての実行のため
に確保された専用の作業を実施する専用の命令及びソフ
トウェアの命令セットを含めることができる。EPIC
ODEモードは、そのオペレーティングモードでの性能
とフレキシビリティを増すために利用可能な多数の専用
レジスタを(スカラーレジスタ装置23内に)を有する
。このため、EPICODEモードは確1呆されたレジ
スタとの対話を可能とする機構も与える。
以上の説明は好ましい実施例の動作を例示するためにこ
こに含めたものであり、発明の範囲を制限することを意
味しない。発明の範囲は、特許請求の範囲の記載によっ
てのみ限定される。以上の説明から、発明の精神及び範
囲に含まれる多くの変形が可能なことは当業者にとって
明らかであるう。
【図面の簡単な説明】
第1A及び18図は本発明を使用可能なデータ処理シス
テム実施の各側、第2図は本発明を使用可能なデータ処
理装置の中央処理装置の一例、第3図は仮想メモリ式デ
ータ処理システムの構成を示す、第4図はデータ処理シ
ステムの動作モード間の関係を示す概略図、第5図はユ
ーザモード又は核モードからEPICODEモードへの
移行ステップを示す、及び第6図はEPICODE命令
シーケンスが主メモリ装置の予約領域内に記憶されるこ
とを示す。 4A・・・第1動作モード(ユーザモード)、4B・・
・第2動作モード(核モード)、4C・・・第3動作モ
ード(EPICO(lEモード)、15・・・主メモリ
装置、151・・・予約部分、238・・・第3動作モ
ード用レジスタ。 q す

Claims (1)

  1. 【特許請求の範囲】 1、命令シーケンスを実行するデータ処理装置において
    ; 非特権命令を実行する第1動作モード; 特権及び非特権命令を実行する第2動作モード;及び 関連の選定された命令に応じて、事前に確定され割込不
    能な命令シーケンスを実行する第3動作モードで、前記
    割込不能な命令シーケンスが前記選定された命令を除外
    する; を備えたデータ処理装置。 2、前記第3動作モード中、割込が不能とされる請求項
    1記載のデータ処理装置。 3、前記第3動作モードを実行する命令シーケンスが、
    第3動作モードと関連した主メモリ装置の予約部分内に
    記憶される請求項1記載のデータ処理装置。 4、前記データ処理装置が仮想アドレシング方式を使用
    し、該仮想アドレシング手順が前記第3動作モードでの
    前記データ処理装置による動作中、命令流れ参照につい
    て不能とされる請求項1記載のデータ処理装置。 5、割込事象に応答する手順が前記第3動作モードで実
    行される請求項1記載のデータ処理装置。 6、前記第3動作モードへ前記第1動作モード及び前記
    第2動作モードから入れる請求項1記載のデータ処理装
    置。 7、前記第1動作モードにおける複数の事前に選定され
    た命令の1つの実行の結果として、及び前記第2動作モ
    ードで実行される複数の所定命令の1つの実行の結果と
    して、前記第3動作モードへと入れる請求項6記載のデ
    ータ処理装置。 8、前記データ処理装置が、前記第3動作モードにおい
    てだけ実行可能な複数の所定命令を有する請求項1記載
    のデータ処理装置。 9、前記データ処理装置が、データ処理装置が前記第3
    動作モードにあるときだけアクセス可能な複数のレジス
    タを有する請求項1記載のデータ処理装置。 10、前記データ処理装置が割込条件に応答する装置を
    含み、データ処理装置が前記第3動作モードにあるとき
    前記割込応答装置が動作不能とされる請求項1記載のデ
    ータ処理装置。 11、前記データ処理装置が前記第1及び前記第2動作
    モードで複数の重複命令を実行可能で、前記データ処理
    装置が前記第3動作モードへ入る前に、前記第1及び前
    記第2動作モードにおける現在実行中の全命令の実行を
    完了する請求項1記載のデータ処理装置。 12、非特権命令を実行する第1動作モードと特権及び
    非特権命令を実行する第2動作モードとを有するデータ
    処理装置でプログラムを実行する方法において; 前記データ処理装置に第3動作モードを与えるステップ
    ;及び 前記第3動作モードにおいて関連の特権及び非特権命令
    を実施する事前に選定された命令シーケンスを実行する
    ステップで、前記事前に選定された命令シーケンスが割
    込不能な方法で実行されるステップ; を含むソフトウェアプログラム実行方法。 13、前記実行ステップが、前記事前に選定された命令
    シーケンスを、前記データ処理装置の主メモリ装置の予
    約部分内に記憶することを含む請求項12記載のソフト
    ウェアプログラム実行方法。 14、前記事前に選定された命令シーケンスを前記第3
    モードで実行するときに、割込装置を動作不能とするス
    テップを更に含む請求項12記載のソフトウェアプログ
    ラム実行方法。 15、前記第3動作モード中前記データ処理装置の仮想
    アドレシング機構を動作不能とすることを更に含む請求
    項12記載のソフトウェアプログラム実行方法。 16、前記第3動作モードで例外手順を実行するステッ
    プを更に含む請求項12記載のソフトウェアプログラム
    実行方法。 17、前記第3動作モードにおいてだけ事前に定義され
    たレジスタにアクセスするステップを更に含む請求項1
    2記載のソフトウェアプログラム実行方法。 18、前記第3動作モードで命令を実行する前に、現在
    実行中の命令を全て完了するステップを更に含む請求項
    12記載のソフトウェアプログラム実行方法。 19、命令を実行するデータ処理装置において非特権命
    令を実行する第1動作モード; 特権及び非特権命令を実行する第2動作モード;及び 選定された命令が前記第1及び第2動作モードで実行さ
    れることに応じて、前記特権及び非特権命令の割込不能
    なシーケンスを実行する第3動作モードで、前記割込不
    能な命令シーケンスが前記選定された命令を除外する; を備えたデータ処理装置。 20、前記割込不能な命令シーケンスが、前記特権及び
    非特権命令の他に専用の命令を含む請求項19記載のデ
    ータ処理装置。 21、前記割込不能な命令シーケンスの実行が、例外及
    び割込事象に応答して可能となる請求項19記載のデー
    タ処理装置。 22、例外及び割込事象に応答する装置を更に備え、前
    記割込不能な命令シーケンスの実行中にが前記応答装置
    が動作不能とされる請求項19記載のデータ処理装置。 23、前記データ処理装置が前記第1及び前記第2動作
    モードで複数の重複命令を実行可能で、前記選定された
    命令の1つが識別されると、現在実行中の全命令が完了
    され、それ以上の命令が発せられない請求項19記載の
    データ処理装置。
JP63164097A 1987-07-01 1988-06-30 データ処理装置 Expired - Fee Related JPH0754467B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US6936587A 1987-07-01 1987-07-01
US69365 1987-07-01

Publications (2)

Publication Number Publication Date
JPH0192843A true JPH0192843A (ja) 1989-04-12
JPH0754467B2 JPH0754467B2 (ja) 1995-06-07

Family

ID=22088506

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63164097A Expired - Fee Related JPH0754467B2 (ja) 1987-07-01 1988-06-30 データ処理装置

Country Status (10)

Country Link
EP (1) EP0301707B1 (ja)
JP (1) JPH0754467B2 (ja)
KR (1) KR890002765A (ja)
CN (1) CN1016905B (ja)
AU (1) AU626263B2 (ja)
BR (1) BR8803378A (ja)
CA (1) CA1302579C (ja)
DE (1) DE3854905T2 (ja)
IE (1) IE75357B1 (ja)
IN (1) IN170672B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7577954B2 (en) 2004-06-03 2009-08-18 Ricoh Company Limited Process management method and image forming apparatus

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE85853T1 (de) * 1987-03-20 1993-03-15 Digital Equipment Corp Vorrichtung und verfahren zur synchronisation von arithmetischen exceptionen in parallelen pipeline-ausfuehrungseinheiten.
DE69029995T2 (de) * 1989-11-09 1997-08-21 Ibm Multiprozessor mit relativ atomaren Befehlen
DE69110908T2 (de) * 1991-04-01 1996-02-08 Cray Research Inc Auffangen eines priviligierten befehlswortes zur kontrolle eines betriebssystems.
CN103631561B (zh) * 2012-08-27 2017-02-08 长沙富力电子科技有限公司 一种基于超复杂指令集系统的微处理器架构
US10719321B2 (en) * 2015-09-19 2020-07-21 Microsoft Technology Licensing, Llc Prefetching instruction blocks

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5140728A (en) * 1974-10-02 1976-04-05 Ayao Miura Haamueanyoru ronrikikai
JPS51141537A (en) * 1975-05-31 1976-12-06 Toshiba Corp Memory access control device
JPS5374859A (en) * 1976-12-15 1978-07-03 Fujitsu Ltd Interruption cotrol system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4791557A (en) * 1985-07-31 1988-12-13 Wang Laboratories, Inc. Apparatus and method for monitoring and controlling the prefetching of instructions by an information processing system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5140728A (en) * 1974-10-02 1976-04-05 Ayao Miura Haamueanyoru ronrikikai
JPS51141537A (en) * 1975-05-31 1976-12-06 Toshiba Corp Memory access control device
JPS5374859A (en) * 1976-12-15 1978-07-03 Fujitsu Ltd Interruption cotrol system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7577954B2 (en) 2004-06-03 2009-08-18 Ricoh Company Limited Process management method and image forming apparatus

Also Published As

Publication number Publication date
KR890002765A (ko) 1989-04-11
IE75357B1 (en) 1997-08-27
AU1863488A (en) 1989-01-05
IN170672B (ja) 1992-05-02
JPH0754467B2 (ja) 1995-06-07
CA1302579C (en) 1992-06-02
DE3854905D1 (de) 1996-02-29
CN1030308A (zh) 1989-01-11
CN1016905B (zh) 1992-06-03
BR8803378A (pt) 1989-01-24
IE881984L (en) 1989-01-01
EP0301707A3 (en) 1992-01-08
EP0301707A2 (en) 1989-02-01
EP0301707B1 (en) 1996-01-17
AU626263B2 (en) 1992-07-30
DE3854905T2 (de) 1996-09-05

Similar Documents

Publication Publication Date Title
US5218712A (en) Providing a data processor with a user-mode accessible mode of operations in which the processor performs processing operations without interruption
Case et al. Architecture of the IBM System/370
US5280593A (en) Computer system permitting switching between architected and interpretation instructions in a pipeline by enabling pipeline drain
US5226164A (en) Millicode register management and pipeline reset
US4715013A (en) Coprocessor instruction format
US4729094A (en) Method and apparatus for coordinating execution of an instruction by a coprocessor
JPS5911943B2 (ja) デ−タ処理装置の為のトラツプ機構
JPH03217949A (ja) 計算機システム
JPH0430053B2 (ja)
US4731736A (en) Method and apparatus for coordinating execution of an instruction by a selected coprocessor
US4562538A (en) Microprocessor having decision pointer to process restore position
US4750110A (en) Method and apparatus for executing an instruction contingent upon a condition present in another data processor
US5021991A (en) Coprocessor instruction format
EP0526911B1 (en) A method and apparatus for coordinating execution of an instruction by a coprocessor
US4758950A (en) Method and apparatus for selectively delaying an interrupt of a coprocessor
US4821231A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
US4914578A (en) Method and apparatus for interrupting a coprocessor
US5003468A (en) Guest machine execution control system for virutal machine system
JPH0192843A (ja) データ処理装置
US4994961A (en) Coprocessor instruction format
CA1302580C (en) Apparatus and method for using lockout for synchronization of access to main memory signal groups in a multiprocessor data processing system
US4758978A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
JPH0668725B2 (ja) データ処理システムにおける割込条件に応答する装置及び非同期割込条件に応答する方法
EP0510429A2 (en) Millicode register management system
JPH1049373A (ja) パイプライン・デジタル・プロセッサにおいて多重で高精度の事象を操作する方法と装置

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080607

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees