[go: up one dir, main page]

JPS5911943B2 - デ−タ処理装置の為のトラツプ機構 - Google Patents

デ−タ処理装置の為のトラツプ機構

Info

Publication number
JPS5911943B2
JPS5911943B2 JP52060346A JP6034677A JPS5911943B2 JP S5911943 B2 JPS5911943 B2 JP S5911943B2 JP 52060346 A JP52060346 A JP 52060346A JP 6034677 A JP6034677 A JP 6034677A JP S5911943 B2 JPS5911943 B2 JP S5911943B2
Authority
JP
Japan
Prior art keywords
trap
interrupt
register
storage area
logic
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
Application number
JP52060346A
Other languages
English (en)
Other versions
JPS52144243A (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.)
HANEIUERU INFUOOMEISHON SHISUTEMUSU Inc
Original Assignee
HANEIUERU INFUOOMEISHON SHISUTEMUSU Inc
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 HANEIUERU INFUOOMEISHON SHISUTEMUSU Inc filed Critical HANEIUERU INFUOOMEISHON SHISUTEMUSU Inc
Publication of JPS52144243A publication Critical patent/JPS52144243A/ja
Publication of JPS5911943B2 publication Critical patent/JPS5911943B2/ja
Expired 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/461Saving or restoring of program or task context
    • G06F9/462Saving or restoring of program or task context with multiple register sets

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】 下記の米国特許は本文の参考として引用されている。
即ち、1.1977年4月26田こ発行された米国特許
第4,020,471号(1975年6月30日出願の
W.E.ウツヅ(WOOds)とP.E.スタンレ一(
Stanley)の米国特許出願第591,905号)
;「データ処理システムの為の割込み走査および処理装
置」2,1976年11月23田こ発行された米国特許
第3,993,981号(1975年6月30日出願の
F..カサリーノ(CassarinO)Jr.等の米
国特許出願第591,964号):「データ処理装置に
連結された共通バスのアーキテクチユア」本発明は、デ
ータ処理システムに関し、特にインタラプト処理能力お
よびトラツプ処理能力を有するデータ処理システムに関
する。
今日使用されている殆んどのコンピユータはトラツプ構
造およびインタラプト構造を有し、その種々のインプリ
メンテーシヨンは元は10年乃至15年も前に設計され
たものである。
ある点では、ロジツクが高くつくことやマイクロプログ
ラミングが未だ実現されなかつた為、それらの各種の構
造は今日のコンピユータ装置に期待される拡張された機
能性を含んでいなかつた。コンピユータのプログラミン
グを簡単にしかつ装置性能を向上させる仕方でインタラ
プト機構とトラツプ機構の統一化を可能にするためには
、弾力性と拡張性のある機能構造を有することが大切で
ある。インタラプト機構におけるそのような機能構造に
は、スケジユーリング領域、アービトレーシヨン(Ar
bitratiOn)領域、および従来ソフトウエアに
委ねられてきたターミネーシヨン領域がある。
トラツプ機構においては、パラメータの伝達や作業スペ
ースのための特別な資源が望ましい機能構造である。特
にそれらの機能件からトラツプとインタラプトとを区別
する事が重要である。
トラツプとは、コンピユータ装置における命令の実行か
ら直接生じる中断(ブレーク)である。内部割込みまた
は同期割込みとして知られる様に、トラツプは、レジス
タのオーバフロー、設定されない命令の使用、又は未導
入のメモリーに対する照合等のプロセス特有の諸条件を
取扱う為にある。トラツプサービスルーチンは、その時
活用中のプロセスにとつて代わるものであり、そのルー
チンの完了と同時に、そのルーチンの呼出された時点の
プロセスに制御を戻すかそのプロセスを中断して制御を
システムに戻す事になる。インタラプト、特にサービス
のため接続された装置からデータプロセサが受取つた外
部インタラプトは、外部の事象又はサービスを要求する
装置の如き現時プロセスと無関係な諸条件により呼込ま
れ、あるいは他のプロセスまたは外部割込みに対する現
時プロセスの状態の恒久的変化、例えばそのタスクの終
了時における現時プロセスの中断または現時プロセスの
優先順位レベルの変化等により呼込まれる。トラツプは
、トラツプ処理手続きに入る前に保管される文脈の量お
よび性質においてインタラプトとは大きく異なつている
。トラツプ機構においては、トラツプ条件、例えば未設
定のメモリ領域に対するアドレス指定に応答して、この
様なトラツプ条件が生じる毎に時間のかかるテストを行
う必要なしに、自動的にそのトラツプ条件を処理するよ
うに設計されたシーケンスに入る事が望ましい。
そのようにすると、ラインテストに多くの時間と労力を
費やす必要がなくなり、コンピユータプログラムをより
効率的に作成できるようになる。また、あるプログラム
に必要な中央プロセサのオプシヨンがシステムにない場
合でも、そのオプシヨンをシミユレートするトラツプ処
理ルーチンが与えられるため、そのプログラムの実行が
可能となる。これは、多くのプログラムのエラー条件を
検出することより、システムの統合件を高める。従つて
、トラツプ条件の検出と同時に、そのトラツプ条件に直
ちに応答して出来る限り有効な仕方で、その時実行中の
プログラムの文脈の一部を予め定めたメモリ域に保管す
ることが大切である。又、トラツプ条件の原因を記述す
るその様な文脈情報を迅速に記憶し、制御を適当な応答
プログラムに移すことも必要である。必要なメモリ域の
大きさを最少限度に抑えるため、又、その時実行中のプ
ロセスの優先順位即ちインタラプトレベルと関連して記
憶された文脈を有するそれらのメモリー域を有効に関連
させるため、そのような予め規定したメモリ域の使用に
対して柔軟性を与える事が重要である。従つて、本発明
の主目的は、データ処理システムにおいて実行中のプロ
セスにより直接又は間接に生じた種々の(トラツプ)条
件を効率的に処理するトラツプ構造を備えたデータ処理
システムを提供することにある。
前述の目的および他の目的は、本発明に従つて各々が端
報を記憶する為の複数個の記憶場所を含む複数個のトラ
ツプ保管域を含むデータ処理システムにより達成される
複数個のトラツプ保管域を相互に連結してそのような保
管域のプールを形成するための装置も提供される。この
連結用装置は、トラツプ保管域各々に別の保管域を指示
するポインタを含み、これによつて第1の保管域が第2
の保管域を指示し、又第2の保管域が第3の保管域を指
示すると云う様にして最後の保管域を指示する迄ポイン
タ指示がなされる。更に、この様なトラツプ保管域プー
ルにおける第1の保管域を指示するためのポインタが設
けられる。又、システムに結合されシステムに処理を要
求する任意の装置のインタラプト・レベル(即ち複数個
のインタラプトレベルの1つ)を表示する装置も設けら
れる。これら割込みレベルは、システムにおいて第1の
優先順位の割込みレベルが第2の優先順位の割込みレベ
ルに先んじて処理されるという意味の優先順位を表示す
る。更に、予め定められた条件に応答して、システム内
に備えられた所定のソースからの情報を第1のトラツプ
保管域の記憶場所に格納するための装置が設けられる。
又、この様な予め定められた条件に応じてトラツプ保管
域プールから第1のトラツプ保管域をアンリンクする装
置が設けられる。この様な予め定められた条件が生じた
とき処理の先行性を有するインタラプト・レベルと関連
したプロセスにそのアンリンクされた第1の保管域をリ
ンクする装置が更に設けられる。このように本発明では
、トラツプ保管域の各々に別のトラツプ保管域を指示す
るポインタ手段を含ませることにより複数個のトラツプ
保管域を相互にリンクすることができるため、[次に使
用司能なトラツプ保管域」ポインタNATSAPはトラ
ツプ保管域プール内の先頭のトラツプ保管域を指示する
だけで使用司能なトラツプ保管域の全部と使用順にリン
クすることが司能であり、他方実行プロセスは現時のト
ラツプに係るトラツプ保管域を指示するだけでそのプロ
セスに関連するトラツプ(保管域)の全部とトラツプ発
生順または復帰順にリンクすることが可能である。
またポインタ手段を適当にスワツピング(後述する三角
型のアドレス回転)するだけで、トラツプ保管域をプー
ルからアンリンクさせると同時に実行プロセスにリンク
させたり、あるいは実行プロセスからアンリンクさせる
と同時にプールにリンクさせることができ、かつ「次に
使用可能なトラツプ保管域」ポインタNATSAPは常
にプール内の先頭のトラツプ保管域を指示し、実行プロ
セスは常に現時のトラツプに係るトラツプ保管域を指示
することになるため、トラツプ処理手続が迅速かつ効率
的に行われる。
さらに、各トラツプ保管域は任意のインタラプトレベル
と関連したプロセスにリンク可能であるため、インタラ
プト機構とトラツプ機構間に弾力性と拡張件が与えられ
る。本発明の前述の目的および他の目的は、添付図面に
関して以下に記述される例示的な実施態様において達成
されるものである。本発明のトラツプ機構は、第1図に
全体的に示される如き環境に含まれている。
共通または外部バス11は、その一端部で中央プロセサ
13に結合され、他端部で少くとも1個のメモリー装置
15に結合されている。又このバス11には種々の周辺
装置コントローラが結合されており、これらコントロー
ラは、テープ又はデイスク記憶装置、通信装置、科学計
算ユニツトや算術計算ユニツトのようなオプシヨン、お
よびカードリーダのような他の周辺装置の制御に使用さ
れる。この様な周辺装置コントローラはコントローラ1
7および19として全体的に示され、これ等各コントロ
ーラは少くとも1つの周辺装置をインターフエースする
よう結合されている。コントローラ17は2個の周辺装
置21と23を制御するように例示されている。本発明
のトラツプ機構はデータプロセサ13に含まれ、そのプ
ロツク図は第2図に示される。
本発明のシステムの中央データプロセサは、各々が56
ビツトを含む例えば512の記憶場所を含む制御記憶装
置10を具備する。この様な記憶場所の各々は1つのフ
アームウエアワードを記憶でき、これ等のフアームウエ
アワードはデータプロセサ内の種々のハードウエア動作
を制御するのに使用される。この様な記憶場所および(
又は)フアームウエアワードの数およびこの様なワード
におけるビツトの数は、本発明の範囲から逸脱する事な
く増減出来る。制御記憶装置の動作およびその命令デコ
ーデイングについては、「コンピユータデザインマガジ
ン」の1974年4月号の119頁のG.W.シユルツ
(Schultz)著「マイクロプロセサの為の最適化
マイクロプログラム化された制御セクシヨンの設計]な
る論文に示されている。又、データプロセサに含まれる
のは、屡々マイクロプロセサと呼ばれるレジスタ及び論
理装置(RALU)12である。第3図は、RALUl
2の詳細を示すプロツク図である。一般に、RALUは
、レジスタフアイル、シフトロジツク、算術ロジツク及
び制御ロジツクを含む4つの区域に分割されている。こ
のレジスタフアイルは、データレジスタ、作業レジスタ
および基底レジスタを含む。シフトロジツクは、シフト
動作および通常のデータ転送の間使用される。算術ロジ
ツクは、各種のラツチ即ちバツフア、マルチプレクサ、
インバータおよび加算器を含んでいる。RALUの制御
ロジツクは、処理されるべきデータ部分を選択するため
のセレクタロジツクを含む。本発明の中央プロセサは各
種のレジスタを含んでいるが、その内のあるものは本発
明の構成に必要なものではなく、背景の為に全般的論議
に供されるものである。
状態/保護レジスタ14は、システム状態及び保護キー
を含んでいる。このレジスタは、システムが特権状態(
P)にあるかどうか又ユーザ状態にあるかどうかを表示
するビツトフイールドを含んでいる。ユーザ状態にある
間は、指定された命令が、実行される代りにいわゆるト
ラツプルーチンに入る。さらにレジスタ14はシステム
編成の間セツトされたプロセサの識別番号を表示するフ
イール,ドを含む。.さらにレジスタ14は中央プロセ
サの割込み優先レベルを表示するためのフイールドを含
。んでいる。システム内でインタラプト(割込み)を要
求する装置はどれも割込みレベルを指定する(割当てら
れている)。中央プロセサにおいて現在実行中のプログ
ラムは、最小のレベル番号が最も割込まれる司能性の少
いプロセスおよび(又は)装置を表示するという条件の
下では、その実行プログラムのレベル番号よりも少さい
レベル番号を指定する装置のインタラプトによつて、割
込まれる。このようなインタラプト構造は、1976年
10月5日発行の米国特許第3,984,820号(1
975年6月30日出願の米国特許出願第591,96
6号)に示されている。インジケータレジスタ(1)1
6はオーバフローインジケータおよびプログラム状況イ
ンジケータを含む。
さらにレジスタ16は、システム内で行われた比較の結
果を示すフイールド、最近に問合せされた周辺装置の状
態を示すためのフイールド、および最近にテストされた
ビツトの状態を示すフイールド等の各種のフイールドを
含む。MIレジスタ18はトラツプ可能モード制御キー
を含む。
この制御キーは、飛越しおよび分岐命令の為の追跡トラ
ツプ(即ち、コンピユータプログラムの動作を追跡する
際補佐するトラツプ)を可能化するためのフイールドを
含んでいる。プログラムカウンタ(Pレジスタ)20は
、現在実行中の命令のアドレスを通常含んでいる、例え
ば16ビツトのレジスタである。Yレジスタ22即ちメ
モリーアドレスレジスタは、メモリ内でアクセスされる
べきデータのアドレスを通常含む、例えば16ビツトの
レジスタである。バスデータレジスタ(BD)24は、
内部のバス28を介してレシーバロジツク26Rからプ
ロセサ内に分配されたバスデータを受取る、例えば16
ビツトのレジスタである。インタラプト・レジスタ(L
)30は、レシーバロジツク26Rを介して割込み装置
のチヤンネル番号およびレベルを受取る、例えば16ビ
ツトのレジスタである。XBレジスタ32は、プロセサ
内のビツトおよびバイトのインデツクスに使用される例
えば4ビツトのレジスタである。
このレジスタ32の出力は、内部バス28とデコーダロ
ジツタ34の双方に結合されている。命令レジスタ(F
)36は、外部バスに結合されるメモリから受取つた命
令ワードをそのまま保持する例えば16ビツトのレジス
タである。定数ゼネレータロジツク40は、内部バス2
8に対してマルチプレクサ42を介し特殊な常数を与え
るよう結合されている。
ロジツク34は、ビツト操作のためのマスクを形成する
のに使用される4乃至16ビツトのデコーダを含む。即
ち、16ビツトの中から1ビツトが、制御記憶装置10
に含まれるフアームウエアにより使用されるためのテス
トおよび(又は)修正を受けるため選択される。入力対
ロジツク44は、最上桁(左側)の文字(バイト)を二
重にするか、又は内部バス28からRALUl2に対し
て直接的転送を行うかのいずれかの機能を果たす。出力
対ロジツク61もロジツク44と同様な能力を有する。
内部バス制御ロジツク48は、制御記憶装置10におけ
るフアームウエアワードのビツト26乃至31を用い、
選択されたプロセサ内レジスタの内容を3状態マルチプ
レクサロジツク42を介して内部バス28にゲートする
。ロジツク48のゲート素子のいくつかは、上記米国特
許第3,993,981号に例示されている。
マルチプレクサロジツク42は、任意の与えられた時間
において唯1つの入力を転送可能にしてデータを内部バ
ス28に送るロジツクを含んでいる。テストロジツク5
0は、制御記憶ビツト40乃至45を用いて、例えは6
4の可能なテスト条件の1つを選択する。
テストされた条件が正しいか誤つているかに従つて、正
当信号又は誤り信号が「次のアドレス」形成ロジツク5
2に送られる。プロセサは、次のフアームウエアアドレ
スを形成するために2方法の内の1つを用いる。第1の
方法は、制御記憶ワードのビツト46乃至55を用いて
次のアドレスを形成する。これ等ビツト46乃至55は
、1024の潜在的な制御記憶場所の1つを直接アドレ
スできる、例えば10ビツトのアドレスフイールド(次
のアドレスNA)であつてよい。第2の方法は、いくつ
かの予め割当てられたアドルスを含むロジツク回路から
次のアドレスを得る。選択されるアドレスは、基本的に
Fレジスタ36の内容のデコードと制御記憶装置10の
出力とにより決定される。内部バス(BI)28は、例
えば16ビツトの巾を有し、主としてプロセサ内の各レ
ジスタ間でデータを転送する為に使用される。
メモリーアドレスとデータも、内部バス28を介して外
部バスに転送される。アドレスバスレジスタ56は、例
えば16ビツトの巾を有し、ロジツク26Rと26Tに
対して入出力アドレスやメモリー読出し書込みサソクル
の為のアドレスを転送するのに使用される。トランシー
バロジツク26(26Rおよび26T)は、中央プロセ
サと外部バス間の唯一のインターフエースである論理回
路を含む。全てのデータ、アドレスおよび割込み信号は
、このトランシーバロジツク26を通る。外部バスの動
作とトランシーバロジツク26は上記米国特許第3,9
93,981号でより詳細に記述されている。選択修飾
ロジツク(SM)58は、制御記憶装置10の制御記憶
ワードのLS(左選択)フイールドおよびRS(右選択
)フイールドにより行われるレジスタフアイル選択を修
飾するために使用されるFレジスタのビツト(もしあれ
ば)を決定する。SMロジツク58は、制御記憶ビツト
20,24および25の組合せに従つて、Fレジスタの
ビツト1乃至3、10乃至11、および13乃至15又
は12乃至15をLS(左選択)ロジツク60とRS(
右選択)ロジツク62へゲートする。LSロジツク60
およびRSロジツク62は、レジスタの選択のため、セ
レクタ修節子58の出力と制御記憶ビツト0乃至3又は
4乃至7の内容とを使用する。制御記憶ビツト0乃至3
は左側のセレクタ(LSロジツク60)により使用され
る。制御記憶ビツト4乃至7は右側のセレクタ(RSロ
ジツク62)により使用される。外部バスは、上記米国
特許第3,993,981号に示されるようなものであ
り、システム内の全ての装置(メモリも含めて)間の共
通連絡経路、すなわち共通インターフエースを与える。
外部バスは、設計上非同期であり、種々の速度を有する
装置をシステム内で有効に動作させ、3つ型の通信、即
ちメモリー転送、入出力転送、およびインタラプトを司
能にする。外部バスは、これに中央プロセサ、メモリー
装置、周辺装置コントローラ、通信コントローラ、等を
結合する。前述のレジスタ等は、1976年1月刊行の
「バネウェルレベル6ミニコンピユータハンドブツク]
と題されるバネウェル情報システム社の刊行物(注文番
号AS22)により詳しく記述されている。第3図には
、レジスタ及びロジツク装置 (RALU)12が詳細に示されている。
RALUl2は、モノリシツクメモリ一社により製造さ
れ、1974年8月刊行の同社の刊行物に記載される4
つのモデル6701マイクロコントローラからなる。前
に述べた通り、RALUl2は4つの基本的区域、即ち
レジスタフアイル、シフトロジツク、算術ロジツク、お
よび制御ロジツクに区分される。最初にレジスタフアイ
ル70に関して説明すると、このレジスタフアイル70
は、データレジスタD1乃至D7、作業レジスタDO(
又はD)およびE1および基底レジスタB1乃至B7を
含んでいる。レジスタD1乃至D7は、例えば16ビツ
トワードのオペランドレジスタで、ビツト零は最上位ビ
ツトとして扱われる。レジスタDとEも、例えは16ビ
ツトのレジスタで、フアームウエア動作の間データの操
作に使用され、レジスタDは命令レジスタ(F)36の
内容の複写保存に使用される。基底レジスタは、任意の
手続き、データ又はシステム内の任意の記憶場所を指示
することによりアドレスを形成するために使用される、
例えは16ビツトのアドレスレジスタである。さらに基
底レジスタは自動インクレメント及び自動デクレメント
の機能を有し、これによつてスタツク、キユ一およびプ
ログラムループ操作に対してこれ等基底レジスタが容易
に使用出来る。マルチプレクサ/シフトロジツク80,
82は、それぞれ、シフト操作および通常のデータ転送
の双方に使用される2つの16ビツトマルチプレクサか
ら基本的に構成される。
別の16ビツトレジスタ(Q)76は2重オペランドシ
フトの為に設けられている。ロジツク80内のマルチプ
レクサとレジスタフアイル70内の任意のデータレジス
タとの間でデータが1ビツトずつ左又は右方にシフトさ
れる。本発明においてQレジスタ76はインデツタスさ
れないアドレスを通常含み、Eレジスタ(BO)はイン
デツクス値を含む。算術ロジツクは、2つの16ビツト
のラツチ回路84と86、2つの2対1マルチプレクサ
88、90と、2つの16ビツトインバータ92,94
と、加算装置96と、出力マルチプレクサ98からなる
入力LlOOと関連するラツチは、左方のセレクタロジ
ツク60により選択されたレジスタフアイル70内のレ
ジスタからデータを受取る。同様に入力RlO2と関連
するラツチは、右方のセレクタロジツク62により選択
されたレジスタフアイル70内のレジスタからデータを
受取る。これ等ラツチの出力は、それぞれ2対1マルチ
プレクサ88,90と出力マルチプレクサ98とに送ら
れる。左方のマルチプレクサ88は、入力LlOOと関
連するラツチ84からだけでなく入力側DlO4を介し
て内部バス28からもデータを受取る。右方のマルチプ
レクサ90は、入力側RlO2と関連するラツチ86か
らだけでなく入力側QlO6を介してQレジスタ76か
らもデータを受取る。これ等のマルチプレクサ88,9
0の出力は、それぞれインバータ92,94を経て加算
器96のL入力およびR入力に与えられる。加算器96
は算術的演算の全てを行う。L入力およびR入力に加え
、制御記憶ワードビツト16(桁上げインジエクト)を
受取るための入力が加算器96に設けられている。加算
器96の出力は出力マルチプレクサ98と入力マルチプ
レクサ/シフトロジツク80,82とに与えられる。出
力マルチプレクサ98は、RALUl2の主出力である
。出力マルチプレクサ98からのデータは、プロセサ全
体に分配されるよう内部バス28に与えられる。次に、
第2図および第3図を参照してプロセサとその動作をさ
らに詳しく説明する。
図示の申央プロセサは単一の内部バス28を中心とした
配置構成で、この内部バス28はプロセサロジツクの大
部分を相互接続するとともにレシーバ26Rおよびトラ
ンスミツタ26Tを介して外部バスに接続する。前述し
たように、Yレジスタ22はメモリアドレスレジスタで
あり、Fレジスタ36は命令取出しの間命令ワードを受
取るのに使用される。
内部バス28における種々のビツトが、フアームウエア
分岐決定の際に使用されるため、テストロジツクに対す
る入力として用いられる。内部バス28からのその様な
種々のビツトに含まれる情報は、種々のハードウエア制
御フリツプフロツプ54に記憶される。内部バス28は
RALUl2に対する入力でもある。内部バス28は、
フアームウエアの制御下で動作する要素、例えば常数ゼ
ネレータ40、RALUl2、およびRALUl2から
のシフテイングによりロードされるバイト選択レジスタ
(XB)32より,駆動または制御される。
現時の命令は、制御記憶装置10の出力側で動的に得ら
れ、種々のロジツク要素で部分的にデコードされ、次い
でシステム内の残りの要素に対して指令を与えるよう使
用される。
「次のアドレス」ゼネレータロジツク52は、制御記憶
ワード即ちフアームウエアワードにおける「次のアドレ
ス」フイールドを使用し、このフイールドとテストロジ
ツク50により与えられるテスト条件とに従つて新らし
いアドレスを生成する。制御記憶装置10は、数百ナノ
秒程度のプロセサクロツクサイクル1回につき次のアド
レスに進む。フアームウエア即ち制御記憶装置における
分岐はテストロジツク50により検出される。
このロジツク50は、内部状況フリツプフロツプ54の
内容、内部バス28の状態、およびFレジスタ36の内
容を使つてテスト条件が満たされるかどうかを決定する
。このテスト条件は、前述したように、「次のアドルス
」ゼネレータロジツクに対する一人力である。このテス
ト条件は又、各種の分岐操作の間2つの形態のアドレス
生成を選択するために使用される。各種のアドレス形成
に際してフアームウエア内の入口点を選択するXA分岐
は、主としてFレジスタ36の内容に基いて入口点の決
定を行う。メモリからのオペランド取出しに関連するX
R分岐は、Fレジスタ36の0Pコードフイールドによ
りそのエントリ点を決定する。更に別の例として、XE
分岐は、命令の0Pコードを基準とし、Fレジスタ36
の0Pコードビツトにより可能化される。オペランドを
メモリに再び書込む仕方を決定する分岐であるXW分岐
は、0Pコードのタイプおよび内部状況フリツプフロツ
プ54に基いて実施される。前に述べたように、RAL
Ul2の入力および出力には、内部バス28からのデー
タ入力および内部バス28への出力を二重化(Twin
)する事が出米るネツトワークが設けられる。
すなわち入カツイン・ロジツク44を用いて、内部バス
28からRALUl2に対して16ビツトの直接転送を
行うか、あるいは8つの左側最土位ビツトをRALUl
2における1ワードの両バイト位置に二重化(複写)す
る事が出来る。同様に、RALUl2の出力に設けられ
た出力ツインネツトワーク61はRALU出力の両半分
によつて内部バス28を駆動できるようにする。RAL
Uの右半分最下位ビツトは、内部バス28に転送される
ワードの両バイト位置に二重化(複写)され得る。指標
レジスタのシフトは、あるタイプのアドレス指定の為行
われ、通常レジスターフアイル70のEレジスタである
指標レジスタに記憶された指標値をシフトする事により
行われる。インデッキシンクの間、その動作に従つて左
方又は右方にビツトがシフトされる。制御フリツプフロ
ツプ群即ちハードウエアフリツプフロツプ群54は、い
くつかのフリツプフロツプからなる。
その1つは、現在実行中の命令がメモリ参照命令である
かどうかについてのトラツクを保持する為に使用される
。他はRALUl2の出力がそれ以前のある時点で零で
あつたかどうかの事実を記憶するために使用される。F
レジスタ36は、実際上12ビツトの静的レジスタと4
ビツトの動的カウンタである。
Fレジスタの4つの右側ビツト、即ちビツト12乃至1
5は零に向つてカウントダウンされ、その内容は「次の
アドルス」形成ロジツクで使用されるためテストされる
。このカウンタはシフトのカウントに使用される。即ち
、このFレジスタ部分には、シフトが実行されるときの
シフト距離がロードされる。さらにこのFレジスタ部分
(カウンタ)は、メモリ内にレジスタを保管および復元
してレジスターフアイル70における16個のレジスタ
を連続的にカウントする。テストロジツク50は、種々
の制御記憶条件および0Pコード条件により可能化され
る複数個のセレクタを含み、一般にフアームウエアの実
行中の決定を行うのに使用されるテストを実施する。
ロジツク80と82は、加算器96の出力をレジスタフ
アイル70又はQレジスタ76に転送するか、加算器9
6の出力を1ビツト左方にまたは右方にシフトする。ロ
ジツク80はレジスタフアイル70内のレジスタに直接
結合される。もしレジスタフアイル70への入力が1ビ
ツト右方か左方にシフトされると、制御ロジツクから適
当なシフト入力が与えられて不在ビツトを供給し、同時
に他のビツトが転出される。レジスタフアイル70に含
まれるEレジスタは、指標値を保持出来るレジスタであ
る。左側のセレクタロジツク60と、右側のセレクタロ
ジツク62と、ロジツク72,74を含むセレクタモデ
イフアイアロジツク58も、RALUl2の制御ロジツ
クの一部をなしている。
制御記憶ビツト零乃至7とセレクタモデイフアイア58
の出力とは、左右のセレクタ60,62の出力を決定す
る。制御記憶ビツト8乃至15は、次のようなRALU
l2ロジツクを制御する。即ち、ビツト8乃至12は加
算器96とマルチプレクサおよびインバータ88,90
,92および94を制御し、ビツト13乃至15は入出
力マルチプレクサ80,82および98を制御する。前
に述べた様に、制御記憶装置10は、プロセサ内部の各
動作を制御する際に使用する複数個のフアームウエアワ
ードを有する。第4図はこの様なフアームウエアの総括
的フローダイヤグラムで、主なフアームウエアルーチン
間の主な分岐を示す。以下、その概要を述べる。初期設
定ルーチン110は、システムのマスタークリアに続い
てエントリされる。
このルーチンは、プロセサ内の各種のレジスタやフロツ
プをクリアし、制御パネルがロツクされているかどうか
、即ち全ての制御パネルスイツチ等が無能化されている
かどうかを決定する。制御パネルはプロセサ内に含まれ
る要素であるがプロセサの動作に不可欠のものではない
ので図面中に示されていない。もし制御パネルがロツク
されていると命令取出しルーチン112に分岐が行われ
、さもなければ制御パネルルーチン114に入いる。命
令取出しルーチン112は、次に実行する命令を得るの
に用いられる。次の実行命令は、メモリーから送られて
くると、命令レジスタ(F)36とDレジスタにロード
される。XF(命令取出し)ルーチンの間、下記の諸条
件についてチエツクが行われる。即ち、(1)回復可能
なメモリエラー、(Ii)監視タイマまたは実時間クロ
ツクサービスの要求、(IiO装置インタラプト、又は
UV)アンロツクされた制御パネルである。もしこれ等
の条件のいずれかが生じると、適当な卜・ルーチンに分
岐が行われ、さもなけれは(つまり上記条件のいずれも
生じなければ)アドレスルーチン116に入いる。
アドレスルーチン116は、主として、Fレジスタ36
に含まれる命令の一般にアドレスシラブル部分と呼はれ
る部分のデコードに使用される。
このデコードは、次のルーチンが読出し(XR)ルーチ
ンか、実行(XE)ルーチンか、あるいは以下に記述す
る罷称(XG)ルーチンかを決定する。シフトのような
命令は、アドレスルーチン116内部で完全に実行され
る。これ等命令の実行の後、XF(命令取出し)ルーチ
ン112に入つて次の命令を取出す。読出しルーチン1
18は、最後に有効なオペランドアドレスを計算し、オ
ペランドを得る位置を選択する。
必要に応じて、オペランドはこのルーチン中に得られる
。ある命令は読出しルーチン内で実行される。実行(X
E)ルーチン120は、大部分の中央プロセサ命令の実
行を完了するに使用されるいくつかのサブルーチンの1
つを選択する。書込み(XW)ルーチン122はオペラ
ンド又は命令実行後の結果を記憶する。このWRルーチ
ンには、(命令)実行後のアドレスシラブルにより指定
される記憶場所にオペランドを戻さねばならないような
命令を実行するときにのみ入いる。書込みルーチンに対
しては5つの入口点が利用司能であり、オペランドがメ
モリー又はレジスタに転送されるべきか、オペランドが
アドレスオペランドであるか、半ワードオペランドか完
全ワードオペランドであるかによつて特定の入口点が用
いられる。総称(XG)ルーチン124は、実行ルーチ
ンにより実行されないいくつかの命令を実行するのに使
用される。この様な命令の例としては、停止命令、トラ
ツプ条件命令からのリターン、又は実時間クロツク即ち
監視タイマーの状態に作用する命令がある。トラツプル
ーチン126には、トラツプ条件が検出されたときフア
ームウエア内の多くの記憶場所のどれか1つから入いる
インタラプトルーチン128には、プロセサによつて現
在実行されている処理に従つて多数のインタラプト源か
ら入いる。その様なインタラプト源には、例えば下記の
ものが含まれる。即ち、最終トラツプ保管区域の使用に
よるインタラプト、あるいはプログラムされたインタラ
プト、あるいは外部バスを介しての外部装置により生じ
るインタラプト、あるいは例えば電源の故障等によるイ
ンタラプトである。監視タイマ及び実時間クロツクルー
チン130には、もし監視タイマか実時間クロツクのい
ずれかが使用可能となれは、数ミリ秒毎(例えは、8.
33ミリ秒毎)に入いる。他に、ルーチンの1つとして
与えられているのは、プロセサーロジツクの基本的な信
頼度テストを行う品質論理テストルーチン132である
。この様に、6つの主な分岐、即ちXF,XA,XG,
XR,XEおよびXWの各分岐は以下の如く使用される
即ち、XF分岐は次の実行命令を得るのに使われ、XA
分岐はFレジスタ36に含まれるアドレスシラブルのデ
コードに必要な時に使用され、XG分岐は個々の総称命
令間で選択が必要な時に使用され、XR分岐はFレジス
タのデコードに基くオペランドの読出しに使用され、X
E分岐は各種のサブルーチン間の選択を行いかつ実際の
プロセサ命令を実行するのに使用され、XW分岐は命令
実行後にオペランドの記憶が必要な時に使用される。第
5図には、フアームウエアワード制御フオーマツトが示
される。
第5図から理解されるように、フアームウエアワードは
12の別個フイールドに区分されている。これ等の各フ
イールドは、第2図および第3図および他の図面に示さ
れるようなハードウエアロジツクの種々の部分を制御す
る。第5図には、各フイールドを構成するビツトも示さ
れる。例えは、LSフイールドは、フアームウエアワー
ドのビツト0乃至3からなる。以下は、各々のフイール
ドおよびその一般的用途の記述である。LSフイールド
は、RALUl2内の16個レジスタ70の1つを選択
するのに使用される。
LS(左側選択)フイールドにより行われる選択は、セ
レクタ修飾子フイールド(SM)による修飾を施される
。LSフイールドは、読出し動作の間だけ使用される。
RS(右側選択)フイールド(RS)は、LSフイール
ドと同様に使用され、16RALUレジスタ70の同一
レジスタ又は別のレジスタを選択する。然しRSフイー
ルドは読出しと書込みの両方の動作に使用される。AF
CフイールドおよびAFフイールドは組合されて使用さ
れ、算術ロジツク装置即ち加算器96内の全ての演算を
制御するために必要なデコードを行う。AMフイールド
は出力マルチプレクサ80,82および98を制御し、
これによりRALUl2内の全てのデータ移動およびシ
フト操作を制御する。GCフイールドは、3つのグルー
プに分類される種々のハードウエア動作を制御する。選
択される特定のグループは、GCフイールドのビツト1
7および18のデコードにより決定される。第1のグル
ープは、Pレジスタ20、Iレジスタ16およびFレジ
スタ36と関連する諸動作を制御する。第2のグループ
は、二重化(ツイン)ロジツク44、Sレジスタ14、
MIレジスタ18、XBレジスタ32、監視タイマおよ
び実時間クロツク、並びに各種のハードウエア制御用フ
リツプフロツプ群54と関連する諸動作を制御する。第
3のグループは、制御パネルの動作と関連して使用され
る。フアームウエアワードのビツト24と25を含むセ
レクタ修飾子(SM)フイールドは、GCフイールドに
含まれるビツト20をも使用する。
もし2つのSMビツトが双方とも零に等しくこれ等が使
用されていない事を示すなら、LSフイールドおよびR
Sフイールドによりなされる選択は何ら影響を受けない
。然し、もしSMビツト24と25が使用されるならは
、即ちこれ等が零でなけれは Fレジスタ36の特定の
ビツトがLSフイ)ールドおよびRSフイールドの両方
と論理的にANDされ、その結果得られたフイールドが
レジスタフアイル選択に使用される。
内部バス制御フイールド(BI)は、情報を内部バスに
転送するのに使用される。外部バス制御フイールド(B
S)は、外部バスの中央プロセサー利用を制御するのに
使用される。分岐タイプフイールド(BR)は、特定の
テスト条件の結果として行われる分岐のタイプを決定す
る。テスト条件フイールド(TC)は、分岐タイプフイ
ールドに関連して使用される特定のテスト条件を決定す
る。「次のアト5レス」フイールド(NA)は、制御記
憶装置10における次の順次フアームウエアワードアド
レスを規定する。本発明のトラツプ機構を詳細に述べる
前に、本発明のトラツプ構造と関連するインタラプト構
造について全般的に説明する。
インタラプト構造に関する詳細な説明および図解につい
ては、上記米国特許第3,984,820号および同第
4,020,471号を参照されたい。本発明のトラツ
プ構造に関連して使用されるインタラプト構造は、バス
11に接続されたどの装置からでも中央プロセサー13
がインタラプトを受取ることを可能とする。
従つて、例えCまコントローラ17はインタラプトの生
成が出来る。バスと接続した装置からのこのようなイン
タラプトは、外部インタラプトと呼ばれる。またコンピ
ユータプログラムの制御下で中央プロセサ内部で生成す
るインタラプトもある。システム内で生成されたインタ
ラプトは、プロセサ13に対して外部又は内部の如何を
問わず、プロセサ13内で処理されている現時のコンピ
ユータプログラムを含むシステム動作に対して非同期的
に生成される。
これらインタラプトは、前述したように、それらのイン
タラプト源がプロセサ13に対して外部的であるか内部
的であるかに従つて分類される。外部的に生成されたイ
ンタラプトは、次のような事象即ち、ある装置の周辺装
置がサービスを要求する事、電源の故障が生じる事、例
えば予め定めた時間内で動作が生じなかつた事を監視タ
イマー又は実時間クロツク等を介して示す時間切れ(タ
イム・アウト)が生じる事等のいずれかにより生成出来
る。内部で生成されたインタラプトは、特別の命令即ち
一般に特権(LE)命令と呼はれる命令によりされ得る
。システム内のインタラプトと関連して種々の優先レベ
ルがある。
中央プロセサにおける各コンピユータプログラムは、6
ビツトレベルコードで規定された優先レベルで実行する
。プロセサ13において実行中のコンピユータプログラ
ムは、その時実行中のプログラムのレベルより「高い」
優先レベルを有する事象により割込まれる。零に等しい
レベルは最優先順位を有し、比較的高い番号のレベルは
比較的低い優先順位を有する。システムにおいては、い
くつかのインタラプトレベル例えは64の異なるインタ
ラプトレベルが使用され、それらレベルに零から63迄
のレベル番号が附され、その場合レベル番号63が最低
順位となる。各レベルと関連するのは、専用メモリ記憶
位置に記憶された対応インタラプトベクトル(1)であ
る。これらのインタラプトベクトルは、割込み保管域(
ISA)に対するポインタである。実行中のプログラム
が割込みされる時、その文脈はその対応インタラプト保
管域内に記憶される。割込み中のプロセスの文脈は、割
込み中のレベルのインタラプト保管域から検索される。
この割込み中のプロセスは、次いでその割当てレベルで
実行を開始する。異なるプロセス又はプログラムは、異
なるレベルで実行される。更に、あるプロセス又はプロ
グラムは、これに関連するレベルを2つ以上有すること
もある。すなわち、そのようなプログラムは通常1つの
レベルで実行されるが、それが例えば電源故障以外のも
のによつて割込まれることを望まない場合で実行を開始
するときには、割込みされにくくなる様なレベルの変更
(より低い番号のレベルへの変更)が行われる。64の
異なるレベルと関連するのは、どのレベルが現在活動状
態にあるか、即ちどのレベル(従つてどのプロセス)が
実行レデイ(Ready)状態にあるかを示す64ビツ
トのレジスタ(例えばメモリ内に配置されるもの)であ
る。
通常、現在実行中のレベルは最上位ビツトのセツトに対
応している。これ等64ビツトは、活動フラツグビツト
と呼ばれ、外部のインタラプト要求によりセツトされ、
プロセサ13内部で生成されるLE命令によりセツトお
よび(又は)クリアされる。外部インタラプトが生じた
時、割込みされたレベルに対するインタラプト・ベクト
ルが抜出され、このベクトルはプロセサ13内の選択さ
れたレジスタの内容を記憶するインタラプト保管域に対
してアクセスを行う。
これ等被選択レジスタは、例えは、プログラムカウンタ
、一般に使われるメモリレジスタの如き他の特殊レジス
タ、およびその他の汎用レジスタである。保管されねは
ならない内容を有するレジスタの数(例えは16以下に
従い、例えばインタラプト保管域に含まれてよい16ビ
ツトのインタラプト保管マスクレジスタ(ISM)が、
保管すべきレジスタのサブセツトを制御する。インタラ
プトレベルに対するインタラプトベクトルは、保管され
たレジスタ内容をインタラプト保管域から各レジスタに
再びロードする際そのインタラプト保管域のアクセスに
使われる。割込み中のチヤンネルの識別名称(アイデン
テイフアイ)はそのインタラプト保管域のある場所に記
憶される。もし割込みを行うレベルのインタラプト・ベ
クトルが無効アドレスを含むならば、その割込みは受付
けられない。
特に、もしインタラプトベクトルが全て零である場合、
これは適正なインタラプト・ベクトルではあり得ない。
その理由は、定義によりベクトルは零以外の記憶場所か
ら開始するインタラプト保管域を指示しなければならな
いからである。もし割込みが受付けられれば、活動フラ
ツグビツトの走査が行われる。この様に、インタラプト
は、一般に現時プログラムと関連すず、少くとも現時プ
ログラムの操作、実行とは非同期である。
トラツプは、現時プログラムに同期し、ある意味で現時
プログラムにより生起される点で、インタラプトと区別
される。インタラプト構造の機能は、プログラムにとつ
て重要な事象がプロセサの外部で生じたときに中央プロ
セサの行う動作に関連する。これに対し、トラツプ機構
の機能は、実行中のプログラムにより生じる諸条件(そ
れが違法の命令であるか、存在しない装置オプシヨンで
あるか、存在しないメモリのアドレス指定の試みである
かは問わない)を取扱うプロセサ能力に関連し、この様
な条件が生じる毎に時間を要するテストを行うことなく
自動的にその条件を取扱うプログラムシーケンスに入る
ものである。更に、インタラプト構造に関しては、適当
な数のインタラプトレベルを与える事により、プロセサ
が優先されるタスクの実行を制御し、これによりインタ
ラプト機能を果す為の複雑なソフトウエアの必要をなく
す事が出来るという利点がある。これに対し、トラツプ
構造の利点は、多くのインラインテストの必要を除く事
により更に効率の良いコンピユータプログラムの書込み
を可能にすること、およびトラツプ・ハンドリング機構
が中央プロセサオプシヨンをシミユレート出来るために
、そのようなオプシヨンを有しないシステムにおいてそ
のようなオプシヨンを使うプログラムの実行を可能にす
ることである。前に述べた様に、プロセスからのトラツ
プ、即ち本来実行されたであろう通常のプロセスからの
逸脱は、次のような事象によつて発生する。
即ち、エラー条件の手直しを要求するトレース命令、ハ
ードウエアにはない科学的オプシヨン、ハードウエアに
は含まれない算術計算能力、ハードウエアには含まれな
いその他の能力、無効なアドレス、例えばプロセサ内の
算術計算ユニツトにより生成されたオーバフロー条件、
特権命令動作の非特権的使用、プロセサに関連するメモ
リ内の保護域に対する非特権的参照、使用不能のメモリ
スペースに対する参照、メモリのパリテイエラー条件等
である。トラツプ条件が生じたとき、このトラツプに関
連する文脈が、トラツプ文脈保管域のプールから取出さ
れた1つの保管域に記憶される。
次いでこの保管域は現時プロセスの文脈にリンクさせら
れる。最後にトラツプのタイプに固有のトラツプハンド
リング手続に入つて、トラツプハンドリングが開始する
。トラツプ条件(状態)からの復帰は、トラツプエント
リ手順の逆で、逐時的にトラツプ保管域から文脈を所定
レジスタに再ロードし、現時プロセスの文脈から保管域
をアンリンクし、最後にトラツプ保管域のプールにこの
トラツプ保管域を戻す。次に、本発明のトラツプ機構を
第6図に関して説明する。
メモリ15におけるデータ構造において、トラツプ機能
を果たすためプロセサ13の使用に供される4つの要素
がある。
その第1は複数個存在するトラツプ文脈保管域TSA2
OOである。各TSA2OOはメモリ15内で例えば8
ワードプロツクから構成され、トラツプのエントリ時に
は文脈がそれらワードプロツクに保管され、トラツプか
らの復帰時にはそれらワードプロツクから文脈が復元さ
れる。TSAプロツク200における第1の記憶場所は
、TSAP(TrapSaveAreaPOintcr
)と呼ばれる。このTSAPは、リンクされたTSAス
トリングにおける次のTSAに対するリンクである。も
し次のTSAがTSAストリングにおける最後のTSA
であるならば、そのTSAPは零に等しい。従つて、各
TSAにおいては残りの7つの場所が実際上文脈の保管
および復元機能のために使われる。この7つの場所に保
管され復元され得る文脈について全般的な記述を行う前
に、注記すべき重要な点がある。すなわち例えば64の
インタラプトレベルに対して65のTSAストリングが
存在し得ることである。この場合64のTSAストリン
グが64のレベルにそれぞれ対応し、各レベルで現在取
扱われているトラツプにより保管される文脈を含む。6
5番目のストリングは、将来のトラツプに対して使用可
能である空のTSAからなる。
この様な65番目のストリングは、以下に述べる如くT
SAプール210と呼ばれる。トラツプ文脈保管域TS
AにおいてTSAP以外の7つの場所には、Iレジスタ
16の文脈に対する場所、データレジスタ、例えばデー
タレジスタD3の文脈に対する場所、トラツプが呼込ま
れたとき実行中の命令の最初のワードに対する場所、お
よびトラツプ呼込みのときのシステム状況インジケータ
群のコレクシヨンを含む、いわゆるZワードに対する場
所が含まれる。
そのようなシステム状況情報は、トラツプがエントリす
る前のプロセサ13の特権状態情報のような情報を含み
、その中の1ビツトフイールドは現時命令がメモリ参照
命令であつたかを示し、他の4ビツトフイールドは現時
命令の開始以来取出されたワードの数を示し、他の4ビ
ツトフイールドはこの命令のオペランドのどのビツト又
はバイトがいま問題とされているか等を示す。その他、
TSAにおけるこの様な7つの場所に含まれるのは、メ
モリーにおけるオペランドの有効アドレスと、プログラ
ムカウンタ20の内容と、基底レジスタの1つ、例えば
基底レジスタB3の内容である。4つのトラツプ構造要
素の内2番目の要素は、どんなインタラプトレベルとも
関連し、どんなタイプのトラツプでも使用可能な区域で
ある空白TSA2OOのプール210である。
これは、潜在的に65番日となるTSAストリングから
なり、専用メモリ位置の「次に使用可能なトラツプ保管
域]ポインタによつて指示される。第3のトラツプ構造
要素は、例えば64のインタラプトレベルに対応する6
4個のインタラプト文脈保管域1SA204である。
各インタラプト文脈保管域の最初のワードはトラツプ保
管域ポインタTSAPである。このTSAPは、その関
連インタラプト保管域のレベルで実行中のトラツプによ
り保管される文脈を含むTSAストリングに対するポイ
ンタである。上記米国特許第4,020,471号に示
されるように、インタラプト保管域204は、割込み装
置のチヤンネルやレベル番号の如き文脈、および例えば
プログラムカウンタ20の内容やデータレジスタ、基底
レジスタの如き他のレジスタの内容を含んでいる。
マスクも又インタラプト保管域に記憶される。このマス
クは、例えば、プロセサ内の各種レジスタの中でどのレ
ジスタの内容が保管されるべきかを決定する為に使用さ
れる。従つて、このマスクは、レベル番号に従つて各種
のレジスタの内容を保管するのに使用される。1つのイ
ンタラプトに応答して保管される内容は、割込みされた
プロセスの文脈が新らしい割込みプロセスの実行後に戻
され得 (る様に十分なものでなければならない。
ISA2O4と関連しているのは、例えば64個のイン
タラプトベクトル212である。
現時のインタラプトレベルは、そのインタラプトレベル
と関連するインタラプトベクトルを指示するようなアド
レスを形成される。第6図に示される実施例においては
、インタラプトベクトル30が現時のインタラプトベク
トルとして示されている。現時のインタラプトレベル(
)アドレスを生成させる方法は、上記米国特許第4,0
20,471号に示されている。然しながら、そのよう
なアドレスの生成方法は本発明には関係がなく、さらに
はその他のアドレス生成方法も使用可能であることに留
意されたい。トラツプ構造における4番目の要素は1組
のトラツプベクトル206である。
各々のトラツプベクトルは、別個のトラツプにより生起
された条件を取扱う別個の手続の開始アドレスを含んで
いる。これらの手続は、プロセスまたはコンピユータプ
ログラムに従属するものではなく、むしろトラツプのク
ラス(種類)に特有のものである。即ち、全てのプロセ
スは、どんなインタラプトレベルにおいても同じ組のト
ラツプハンドリング手続を用い、トラツプの各クラス(
種類)が個別の手続を呼出す。而して、種々のトラツプ
クラスがあり、例えば9種のトラツプクラスが設けられ
る。この様に、各トラツプベクトル206は、トラツプ
ハンドリング手続のための開始アドレスからなるテーブ
ル内にそれと対応する開始アドレスを有する。このよう
なトラツプハンドリング手続は、いわゆるモニタ呼出し
命令、トレース(追跡)命令、浮動小数点オペレーシヨ
ンコード、規定されないオペレーシヨンコード、オーバ
ーフロー条件、特権命令の非特権的使用、不明資源、プ
ログラム論理エラー、およびパリテイエラーである。必
要に応じて他のトラツプハンドリング手続を追加するこ
とができる。第6図は、本発明のトラツプ構造の典型的
なプロツク図を示す。
トラツプ保管域200のプール210は、例えばNから
N+Xトラツプ保管域を含むものとして示されている。
NATSAP2O2はTSAN(200−N)を指示し
、TSAN(17)TSAPはTSAN+1を指示する
如くである。次のトラツプが生じたとき、このトラツプ
は、保管される各種の文脈を現時プロセスに関連ずける
即ち結合するため、プール210からTSANをアンリ
ンクする。このアンリンキングに続いて、NATSAP
はTSAN+1を指示する。次いでTSAN(:!)T
SAPは、もし現在のレベルのインタラプト保管域と関
連する従前のトラツプ保管域がなければ零を指示するが
、そうでなければ現行のISA2O4のTSAPにより
それまで指示されてきた従前のトラツプ保管域を指示す
る。この様に、プール210から新らしく獲得されたT
SA2OOは現時のISAと、それまでこれに結合され
てきたTSAとの間に挿入される。各インタラプトベク
トルは、インタラプト保管域204と関連させられる。
すなわち、VOはISAOと関連し、IV3OはISA
3Oと関連する。例えば、あるインタラプト保管域の最
初の場所は、このインタラプトレベルで使用された最後
(最近)のトラツプ保管域を指示するトラツプ保管域ポ
インタTSAPを含む。もしそのインタラプト保管域に
より現在使用中であるトラツプ保管域がない場合、TS
APは零を指す。1つのインタラプト保管域と関連する
トラツプ保管域が2つ以上あつてもよい。
例えば、インタラプトベクトル30は、3つのトラツプ
保管域を指示するISA3Oを指示する。すなわち、I
SA3OのTSAPはTSA2を指示し、TSA2のT
SAPはTSA3を指示する如くである。
実際、トラツプはトラツプハンドリングルーチンの実行
に応答しても生じるため、2つ以上のトラツプ保管域が
必要となる。例えば、プロセスがインタラプトレベル3
0で行われているとき、0Pコード命令が検出され、か
つこの命令の実行に必要な要素がシステム内に設けられ
ていない場合が考えられよう。また例えば、0Pコード
は特殊な算術計算ユニツトを必要とするが、このユニツ
トがシステム内に含まれていない場合が考えられよう。
この様な場合にはトラツプ条件が生じ、文脈はプール2
10からの適当なトラツプ保管域に記憶され、そのトラ
ツプタイプに対するトラツプベクトルがアドレスされる
。さらにこのトラツプベクトルは、第2図に示すプロセ
サに含まれるコンピユータプログラムによりベーシツク
な能力でその特殊な算術計算ユニツトを工ミニレートす
るよう設計されたトラツプハンドリング手続をアドレス
する。従つて、レベル30のプロセスは、そのような実
際には備えられていない特殊な算術計算ユニツトに対す
るトラツプハンドリング手続を用いて実行を続行する。
この様なトラツプハンドリング手続によるエミユレーシ
ヨンの間、例えばパリテイ−エラーが検出されるものと
しよう。その場合、別のトラツプ条件が検出され、別の
トラツプ保管域が文脈の記憶のためISA3Oにリンク
され、この別のトラツプ条件に対するトラツプハンドリ
ング手続が呼込まれてそのパリテイエラー条件を処理(
ハンドリング)する。パリテイエラー条件のハンドリン
グが終了すると、このパリテイエラーのハンドリングに
使われたトラツプ保管域がトラツプ保管域のプール21
0に戻される。工ミニレートされた特殊な算術計算ユニ
ツトに対する元のトラツプ保管域は、その後に戻される
。上述したように、各種のレジスタの文脈がトラツプ保
管域に記憶されたなら、当該トラツプを取扱うトラツプ
ハンドリング手続の場所を識別する事が必要であり、次
いで、トラツプ条件に応答してこの文脈を記憶するのに
使用され、かつ依然としてプール210内にリンクされ
ているトラツプ保管域をアンリンクする事が必要である
これに続いて、このトラツプ保管域を現在割当てされて
いるインタラプト保管域にリンクする事が必要である。
トラツプ保管域がその目的を果した後、前述の順序を逆
にしてこのトラツプ保管域をプール210に入れる必要
がある。この様に、一たん文脈がトラツプ保管域に保管
されると、トラツプ番号に基くトラツプベクトルアドレ
スを用いてトラツプベクトル206の1つをアドレス指
定する。前に説明した様に複数のトラツプベクトルがあ
り、各々のベクトルはインタラプトレベルとは無関係に
異なるタイプのトラツプを取扱う為に使われる異なるト
ラツプハンドリング手続を指示する。即ち、インタラプ
トレベル15で実行中のプロセスは、例えばレベルIV
O又はI63で実行中のプロセスと同じトラツプハンド
リング手続を用いる事が出来る。つまりトラツプベクト
ル206の1つをアドレス指定するのに用いたトラツプ
番号は、トラツプの性質(タイプ)から得られる。この
様に、例えば、もしパリテイエラーが存在するならば、
このエラーが検出されてトラツプ番号に関連するビツト
コードが生成される。この様にトラツプ番号を生成し、
これによりトラツプベクトルをアドルス指定する方法は
、インタラプトベクトルをアドレス指定するためのビツ
トコードの形成に使用される方法と類似している。この
様なトラツプベクトルのアドレス生成の詳細な設計は本
発明に関連しない。ただ、異なるトラツプ条件に対して
異なるトラツプ番号が受取られることだけが関連する。
トラツプベクトルの1つがアドレス指定されると、この
トラツプベクトルがそのトラツプと関連するトラツプハ
ンドリング手続214をアドレスする。前に述べた仕方
で、この手続は実行され、実行後その手続から出て、関
連トラツプ保管域がトラツプ保管域プール210に戻さ
れる。次に第7図に関して、トラツプ条件の検出に応答
して生じる動作のシーケンスを説明する。
「次に使用可能なトラツプ保管域]ポインタNATSA
P2O2により指示される保管域200(第7図におい
ては300)は、トラツプと関連する文脈をロードされ
る。
便宜上、NATSAP2O2により指示されるこのトラ
ツプ保管域には参照符号300を付す。
又説明を簡単にする為、2つだけのトラツプ保管域30
0と302がトラツプ保管域のプール210内に示され
ている。この様に、各種の要素の文脈がTSA3OOに
記憶される。
続いて、Iレジスタ、D3レジスタおよびFレジスタの
文脈、状況情報(Z入力)、有効アドレス(EA)、プ
ログラムカウンタ、および基底レジスタB3が、図示さ
れる場所に書込まれる。次に、このトラツプ保管域30
0はプール210からアンリンクされ、次いで現行のプ
ロセスインタラプトレベルのインタラプト文脈保管域に
結合するトラツプ文脈保管域ストリングの先頭にリンク
される。このアンリンクおよびリンク操作は、点線30
4,306および308により示されるようなアドレス
の3角状の回転により実施される。すなわち、TSA3
OOに対するトラツプ保管域ポインタがポインタNAT
SAP2O2に取つて代り、このNATSAP2O2が
、現在のレベルのインタラプトベクトル212により指
示されるインタラプト保管域であるインタラプト保管域
204のTSAPに取つて代る。
ISA2O4のTSAPは、TSA3OOのTSAPに
取つて代る。このアドレス回転に続いて、トラツプ条件
の性質(タイプ)の検出に応答して与えられるトラツプ
番号を用いて適当なトラツプベクトル206をアドレス
指定する。選択されたトラツプベクトルは、次いでプロ
グラムカウンタ20にロードされてトラツプハンドリン
グ手続214の開始を指示する。その結果、トラツプ保
管域300は、ISA2O4とそれまでISA2O4に
結合されていたTSA3lOとの間に結合される。トラ
ツプの完了と同時に、こうして得られたトラツプ保管域
とリンク又はポインタとによる編成は、第8図において
実線により示される。第8図は又、トラツプ保管域がト
ラツプ保管域のプール210に戻される方法をも示す。
トラツプ条件の時、使用されたトラツプ保管域は現時プ
ロセスの文脈の一部となり、もしこのプロセスがトラツ
プのサービスの間割込みされた場合、そのトラツプ保管
域は、このプロセスが再開される迄インタラプト文脈保
管域にリンクされた状態を維持する。
プロセスが再開されたとき再びトラツプサービスが行わ
れ、最後にトラツプ保管域は解放される。従つて、第8
図において、トラツプルーチンの完了時点で、NATS
AP2O2はTSA3O2を指示する。
インタラプトベクトル212はインタラプト保管域20
4を指示し続けるが、その保管域204のTSAPはT
SA3OOを指示し、更にこのTSA3OOのTSAP
はTSA3lOを指示する。すなわち、TSA3OOは
1SA204とTSA3lOとの間に結合されている。
TSA3lOのTSAPは、TSA3O2のTSAPと
同様に、後続のトラツプ保管域がない事を示す零を指示
している。これは、TSA3lOに関しては、これ以上
のトラツプ保管域がこのインタラプトレベルと関連しな
い事を意味し、又TSA3O2に関しては、これ以上の
TSA2OOがTSAのプール210にない事を意味す
る。この様な条件(零指示)が検出されると、その時点
においてある手続に入り、これにより追加のTSAが本
発明のシステムによる将来の使用のためトラツプ保管域
プールに形成される。トラツプの完了したとき、即ちト
ラツプハンドリング手続からこのトラツプの検出時に実
行されていた手続に戻る準備ができたとき、ある命令の
実行に応答して、保管された文脈の一部を再ローデング
し次いでこのトラツプ保管域をプロセスの文脈からアン
リンクし、これを使用可能のトラツプ保管域プール21
0に戻す作用を有する信号が可能となる。
最初に、トラツプ動作からのリターンと同時に、図示さ
れた要素、即ちI,D3,S(P),PおよびB3の諸
レジスタ内容がトラツプ保管域300において図示され
た場所からそれら各要素に再ロードされる。S(P)の
表示は、システム内、例えば第2図のハードウエア制御
部54内に含まれる各種の状況レジスタを表示する。ト
ラツプ保管域のアンリンキングとプール210へのリタ
ーンは、第8図の点線320,332および324によ
り示されるようなアドレスの三角型回転により行われる
。すなわち、TSA3OOのTSAP(即ち、TSA3
lO)はインタラプト保管域204におけるTSAPに
取つて代り、保管域204のTSAP(即ち、TSA3
OO)がNATSAP2O2に取つて代り、これが更に
TSA3OOの元のTSAPに取つて代る。従つて、ト
ラツプ条件からのリターンの後の編成は、このトラツプ
のエントリの前に存在していたものと同じである。第9
図の流れ図には、本発明のトラツプ機構を編成するため
制御記憶装置10の制御ワードを与える方法が示されて
いる。
この流れ図は、文脈保管に使用され、あるいはトラツプ
保管域プール210からのトラツプ保管域アンリンキン
グの際使用されるフアームウエア制御記憶ワードを示す
。プール210に対するトラツプ保管域200のリター
ンは、第9図に示される方法と同様であるが逆の方向に
行われる事になる。各種のポインタが交換又は更新され
る機構は、例えば、1970年12月8日発行の米国特
許第3,546,677号、1972年7月18日発行
の同第3,678,461号、および1971年10月
19日発行の同第3,614,746号に開示された装
置に示されている。更に第9図において、Yレジスタ2
2、RALUl2に含まれるQレジスタ、又RALUl
2に含まれるDレジスタおよびFレジスタ36等の各種
のレジスタがプロセサ13において使用される事が判る
。「次に使用可能なトラツプ保管域]ポインタ202に
より指示されたトラツプ保管域の種々の場所にこれらレ
ジスタの文脈が保管され、トラツプハンドリング手続の
開始アドレスを得てこれがRALUl2のEレジスタに
ロードされ、現時のレベルに対するインタラプトベクト
ルが得られると、第7図に示された三角型のアドレス回
転によるポインタのスワツピングが始められる。トラン
プハンドリング手続が完了すると、トラツプ保管域にお
ける文脈の使用の後、トラツプ保管域はトラツプ保管域
プール210に戻される。このようにして、トラツプ条
件からのリターンが完了する。以上本発明の一実施例に
ついて例示したが、本発明の技術的思想の範囲内で多く
の変更が可能である事を理解されたい。
【図面の簡単な説明】
第1図は本発明が含まれる環境を示す図、第2図は本発
明を包含するデータプロセサの全体的プロツク図、第3
図は第2図に示されるデータプロセサにおいて使用され
るマイクロプロセサの論理回路の全体的プロツク図、第
4図は第2図のデータプロセサに含まれる制御記憶装置
に設けられたフアームウエアルーチンを示す全体的プロ
ツク図、第5図は制御記憶装置に含まれるフアームウエ
アワードが編成される型式を示す図、第6図は本発明の
システムに含まれる各種の構成(特にトラツプ構造)を
示す全体的プロツク図、第7図は本発明のシステムがト
ラツプ条件に応答する方法を示すプロツク図、第8図は
本発明のシステムがトラツプ条件から脱する方法を示す
プロツク図、および第9図は本発明の諸目的の為制御記
憶装置に用いられるフアームウエアを示すフローチヤー
トである。 10・・・・・・制御記憶装置、11・・・・・・外部
(共通)バス、12・・・・・・レジスタ及び論理装置
(RALU)、13・・・・・・中央プロセサ、14・
・・・・ルジスタ、15メモリ装置、16・・・・・・
インジケータレジスタ()、17,19・・・・・・コ
ントローラ、18・・・・・・MIレジスタ、20・・
・・・・プログラムカウンタ(Pレジスタ)、22・・
・・・・Yレジスタ、24・・・・・・バスデータレジ
スタタ(BD)、26・・・・・・トランシーバロジツ
ク、28・・・・・・内部バス、30・・・・・・割込
みレジスタ、32・・・・・・XBレジスタ、34・・
・・・・デコーダロジツタ、36・・・・・・Fレジス
タ、40・・・・・・定数ゼネレータロジツク、42・
・・・・・マルチプレクサ、44・・・・・・入カツイ
ンロジツク、50・・・・・・テストロジツク、52・
・・・・・アドレス生成ロジツク、56・・・・・・ア
ドレスバスレジスタ、58・・・・・・選択修飾ロジツ
ク(SM)、60・・・・・・左側セレクタロジツク、
62・・・・・・右側セレクタロジツク、70・・・・
・・レジスタフアイル、80,82・・・・・・マルチ
プレクサシフトロジツク、84,86・・・・・・ラツ
チ回路、88,90・・・・・・マルチプレクサ、92
,94・・・・・・インバータ、96・・・・・・加算
器、98・・・・・・マルチプレクサ、110,112
,114,116,118,120,122,124,
126,128,130,132・・・・・・ルチーン

Claims (1)

  1. 【特許請求の範囲】 1 各々が情報を記憶するための複数個の場所を含む複
    数個のトラップ保管域と、前記トラップ保管域の各々に
    別のトラップ保管域を指示するポインタ手段を含み、こ
    れにより第1のトラップ保管域が第2のトラップ保管域
    を指示し、第2のトラップ保管域が第3のトラップ保管
    域を指示しその結果最後のトラップ保管域が指示される
    ようにしてこれら複数個のトラップ保管域を相互にリン
    クしたトラップ保管域プールを形成する第1のリンク手
    段と、データ処理システムと結合されてシステムによる
    データ処理を要求する複数の装置に各々割当てられ、第
    1の優先順位のインタラプトレベルが第2の優先順位の
    インタラプトレベルよりもシステム内で優先権を有する
    というような複数のインタラプトレベルの内いずれかの
    前記装置に割当てられた1つのインタラプトレベルを表
    示するための表示手段と、予め定めた条件に応答して、
    予め定めたソースからの情報を前記トラップ保管域の1
    つにおける前記場所にロードするための装置と、前記予
    め定めた条件に応答し、前記トラップ保管域プールから
    前記トラップ保管域の1つをアンリンクするための装置
    と、前記の予め定めた条件に応答し、この条件の発生時
    に前記優先権を有する前記インタラプトレベルの1つと
    関連したプロセスに前記アンリンクされたトラップ保管
    域をリンクするための第2のリンク手段と、を備えるこ
    とを特徴とするデータ処理システム。 2 特許請求の範囲第1項記載のデータ処理システムで
    あつて、前記予め定めたソースが、システムと結合され
    たメモリ内のアドレス位置に関連した情報と、状況表示
    と、命令及びデータ転送情報とを記憶するための複数個
    のレジスタを含むことを特徴とするデータ処理システム
JP52060346A 1976-05-24 1977-05-24 デ−タ処理装置の為のトラツプ機構 Expired JPS5911943B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US05/689,014 US4074353A (en) 1976-05-24 1976-05-24 Trap mechanism for a data processing system
US000000689014 1976-05-24

Publications (2)

Publication Number Publication Date
JPS52144243A JPS52144243A (en) 1977-12-01
JPS5911943B2 true JPS5911943B2 (ja) 1984-03-19

Family

ID=24766723

Family Applications (1)

Application Number Title Priority Date Filing Date
JP52060346A Expired JPS5911943B2 (ja) 1976-05-24 1977-05-24 デ−タ処理装置の為のトラツプ機構

Country Status (8)

Country Link
US (1) US4074353A (ja)
JP (1) JPS5911943B2 (ja)
BE (1) BE854924A (ja)
CA (1) CA1084170A (ja)
DE (1) DE2722099A1 (ja)
FR (1) FR2353102A1 (ja)
GB (1) GB1547312A (ja)
HK (1) HK37280A (ja)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4320455A (en) * 1978-01-09 1982-03-16 Honeywell Information Systems Inc. Queue structure for a data processing system
US4339796A (en) * 1978-06-30 1982-07-13 International Business Machines Corporation System for generating a plurality of different addresses for a working memory of a microcontroller during execution of certain instructions
US4435758A (en) 1980-03-10 1984-03-06 International Business Machines Corporation Method for conditional branch execution in SIMD vector processors
US4589065A (en) * 1983-06-30 1986-05-13 International Business Machines Corporation Mechanism for implementing one machine cycle executable trap instructions in a primitive instruction set computing system
US4654789A (en) * 1984-04-04 1987-03-31 Honeywell Information Systems Inc. LSI microprocessor chip with backward pin compatibility
US4677548A (en) * 1984-09-26 1987-06-30 Honeywell Information Systems Inc. LSI microprocessor chip with backward pin compatibility and forward expandable functionality
US4719565A (en) * 1984-11-01 1988-01-12 Advanced Micro Devices, Inc. Interrupt and trap handling in microprogram sequencer
JPS6362039A (ja) * 1986-09-03 1988-03-18 Mitsubishi Electric Corp 計算機
US5210832A (en) * 1986-10-14 1993-05-11 Amdahl Corporation Multiple domain emulation system with separate domain facilities which tests for emulated instruction exceptions before completion of operand fetch cycle
GB2197506A (en) * 1986-10-27 1988-05-18 Burr Brown Ltd Providing and handling break points in a software monitor
US5297383A (en) * 1989-03-13 1994-03-29 Binda Nominees Pty Ltd. File clip, apparatus and installation method
US5327567A (en) * 1989-11-16 1994-07-05 Texas Instruments Incorporated Method and system for returning emulated results from a trap handler
US5463778A (en) * 1989-11-16 1995-10-31 Texas Instruments Incorporated User controlled trap handler
US5321834A (en) * 1989-11-28 1994-06-14 Xerox Corporation Method and system for reclaiming unreferenced computer memory space
US5278985A (en) * 1990-10-31 1994-01-11 Hewlett-Packard Company Software method for implementing dismissible instructions on a computer
US5784550A (en) * 1996-10-29 1998-07-21 Hewlett-Packard Company Method for enhanced functional testing of a processor using dynamic trap handlers
US5828830A (en) * 1996-10-30 1998-10-27 Sun Microsystems, Inc. Method and system for priortizing and filtering traps from network devices
US6253317B1 (en) * 1997-01-09 2001-06-26 Sun Microsystems, Inc. Method and apparatus for providing and handling traps
US6128641A (en) * 1997-09-12 2000-10-03 Siemens Aktiengesellschaft Data processing unit with hardware assisted context switching capability
US6275749B1 (en) 1998-12-22 2001-08-14 Philips Electronics North America Corporation Interrupt-controlled thread processing
US6401155B1 (en) * 1998-12-22 2002-06-04 Philips Electronics North America Corporation Interrupt/software-controlled thread processing
US6631463B1 (en) * 1999-11-08 2003-10-07 International Business Machines Corporation Method and apparatus for patching problematic instructions in a microprocessor using software interrupts
US6975679B2 (en) * 2001-06-01 2005-12-13 Microchip Technology Incorporated Configuration fuses for setting PWM options
US7003543B2 (en) * 2001-06-01 2006-02-21 Microchip Technology Incorporated Sticky z bit
US7467178B2 (en) * 2001-06-01 2008-12-16 Microchip Technology Incorporated Dual mode arithmetic saturation processing
US20030023836A1 (en) * 2001-06-01 2003-01-30 Michael Catherwood Shadow register array control instructions
US6952711B2 (en) * 2001-06-01 2005-10-04 Microchip Technology Incorporated Maximally negative signed fractional number multiplication
US6976158B2 (en) * 2001-06-01 2005-12-13 Microchip Technology Incorporated Repeat instruction with interrupt
US20030028696A1 (en) * 2001-06-01 2003-02-06 Michael Catherwood Low overhead interrupt
US7020788B2 (en) * 2001-06-01 2006-03-28 Microchip Technology Incorporated Reduced power option
US6985986B2 (en) * 2001-06-01 2006-01-10 Microchip Technology Incorporated Variable cycle interrupt disabling
US20020184566A1 (en) * 2001-06-01 2002-12-05 Michael Catherwood Register pointer trap
US6934728B2 (en) * 2001-06-01 2005-08-23 Microchip Technology Incorporated Euclidean distance instructions
US6937084B2 (en) * 2001-06-01 2005-08-30 Microchip Technology Incorporated Processor with dual-deadtime pulse width modulation generator
US20030005268A1 (en) * 2001-06-01 2003-01-02 Catherwood Michael I. Find first bit value instruction
US20030005269A1 (en) * 2001-06-01 2003-01-02 Conner Joshua M. Multi-precision barrel shifting
US7007172B2 (en) * 2001-06-01 2006-02-28 Microchip Technology Incorporated Modified Harvard architecture processor having data memory space mapped to program memory space with erroneous execution protection
CA2383832A1 (en) * 2002-04-24 2003-10-24 Ibm Canada Limited-Ibm Canada Limitee System and method for intelligent trap analysis
US20040006619A1 (en) * 2002-07-02 2004-01-08 Fujitsu Network Communications, Inc. Structure for event reporting in SNMP systems
US7770169B2 (en) * 2004-05-17 2010-08-03 Oracle America, Inc. Thread rendezvous for read-only code in an object-oriented computing environment

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3562717A (en) * 1968-02-23 1971-02-09 Gen Electric System protection apparatus
US3614740A (en) * 1970-03-23 1971-10-19 Digital Equipment Corp Data processing system with circuits for transferring between operating routines, interruption routines and subroutines
GB1312504A (en) * 1970-05-20 1973-04-04 Ibm Control unit for serial data storage apparatus
US3639911A (en) * 1970-06-10 1972-02-01 Incoterm Digital processor having automatic conflict-resolving logic
GB1410631A (en) * 1972-01-26 1975-10-22 Plessey Co Ltd Data processing system interrupt arrangements
US3878513A (en) * 1972-02-08 1975-04-15 Burroughs Corp Data processing method and apparatus using occupancy indications to reserve storage space for a stack
US3900834A (en) * 1972-09-05 1975-08-19 Bunker Ramo Memory update apparatus utilizing chain addressing
US3858182A (en) * 1972-10-10 1974-12-31 Digital Equipment Corp Computer program protection means
FR2316660A1 (fr) * 1975-06-30 1977-01-28 Honeywell Inf Systems Appareil d'informatique comportant une ligne commune d'entree/sortie
US3984820A (en) * 1975-06-30 1976-10-05 Honeywell Information Systems, Inc. Apparatus for changing the interrupt level of a process executing in a data processing system

Also Published As

Publication number Publication date
BE854924A (fr) 1977-09-16
JPS52144243A (en) 1977-12-01
US4074353A (en) 1978-02-14
CA1084170A (en) 1980-08-19
FR2353102A1 (fr) 1977-12-23
HK37280A (en) 1980-07-18
DE2722099A1 (de) 1977-12-08
FR2353102B1 (ja) 1984-02-24
GB1547312A (en) 1979-06-06
DE2722099C2 (ja) 1991-02-07

Similar Documents

Publication Publication Date Title
JPS5911943B2 (ja) デ−タ処理装置の為のトラツプ機構
US4016545A (en) Plural memory controller apparatus
US4374409A (en) Method of and system using P and V instructions on semaphores for transferring data among processes in a multiprocessing system
US4297743A (en) Call and stack mechanism for procedures executing in different rings
US4468736A (en) Mechanism for creating dependency free code for multiple processing elements
US5218712A (en) Providing a data processor with a user-mode accessible mode of operations in which the processor performs processing operations without interruption
US4316245A (en) Apparatus and method for semaphore initialization in a multiprocessing computer system for process synchronization
US4077058A (en) Method and apparatus for executing an extended decor instruction
US5517651A (en) Method and apparatus for loading a segment register in a microprocessor capable of operating in multiple modes
US4394725A (en) Apparatus and method for transferring information units between processes in a multiprocessing system
US5197138A (en) Reporting delayed coprocessor exceptions to code threads having caused the exceptions by saving and restoring exception state during code thread switching
US5341482A (en) Method for synchronization of arithmetic exceptions in central processing units having pipelined execution units simultaneously executing instructions
US4466061A (en) Concurrent processing elements for using dependency free code
US4975836A (en) Virtual computer system
EP0333366B1 (en) Context switching method and apparatus for use in a vector processing system
US4369494A (en) Apparatus and method for providing synchronization between processes and events occurring at different times in a data processing system
US4084228A (en) Process management structures and hardware/firmware control
US4318182A (en) Deadlock detection and prevention mechanism for a computer system
US4084224A (en) System of controlling procedure execution using process control blocks
US4031517A (en) Emulation of target system interrupts through the use of counters
US5454086A (en) Dynamic program analyzer facility
EP0301220A2 (en) Register management system in a computer processor with out-of-sequence instruction execution
JPS5939785B2 (ja) デ−タ処理装置
US4562538A (en) Microprocessor having decision pointer to process restore position
US5291581A (en) Apparatus and method for synchronization of access to main memory signal groups in a multiprocessor data processing system