JPS5931733B2 - 可変長さの命令を実行する中央処理装置 - Google Patents

可変長さの命令を実行する中央処理装置

Info

Publication number
JPS5931733B2
JPS5931733B2 JP53132099A JP13209978A JPS5931733B2 JP S5931733 B2 JPS5931733 B2 JP S5931733B2 JP 53132099 A JP53132099 A JP 53132099A JP 13209978 A JP13209978 A JP 13209978A JP S5931733 B2 JPS5931733 B2 JP S5931733B2
Authority
JP
Japan
Prior art keywords
register
instruction
operand
memory
information
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
JP53132099A
Other languages
English (en)
Other versions
JPS5484943A (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.)
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 JPS5484943A publication Critical patent/JPS5484943A/ja
Publication of JPS5931733B2 publication Critical patent/JPS5931733B2/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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/355Indexed addressing
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30167Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3818Decoding for concurrent execution
    • G06F9/3822Parallel decoding, e.g. parallel decode units

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)

Description

【発明の詳細な説明】 本発明は一般にデジタルデータ処理システムに係り、特
に、かかるデータ処理システムに用いるための処理装置
に係る。
デジタルデータ処理システムは3つの基本的な要素、即
ちメモリ要素と、入出力要素と、処理装置要素とを備え
ている。
メモリ要素はアドレスできる有憶位置に情報を記憶する
。この情報にはデータと、データを処理する命令とが含
まれる。処理装置要素はメモリ要素から情報を転送する
。又、処理装置は入つて来る情報をデータ又は命令とし
て解釈する。命令は、処理装置により実行さるべきオペ
レーシヨンをコード化された形態で指定するところのオ
ペレーシヨンコードを備えている。又、命令は1つ或い
はそれ以上のオペランドを指定する情報を含んでもよい
。オペランドを指定する情報はオペランド指定子と称す
る。簡単なデジタルデータ処理システムに於いては、処
理装置が、固定のフオーマツトと固定の長さを有する命
令に応答して作動する。
特に、この様な1つのデジタルデータ処理システムに於
いては、命令がメモリ参照命令ど作動命令とに分類され
、作動命令は“マイクロ命令゜゛としても知られている
。メモリ参照命令の各々は命令を参照する位置のアドレ
スを指定するためにオペランド指定子を必要とする。そ
れ故、命令はオペレーシヨンコードとオペランド指定子
とを備えている。このシステムに於いてはメモリがペー
ジに分割される。オペランドアドレスの最上位ビツトは
、処理装置が命令を含むページを参照するものとしてこ
のオペランドアドレスを解釈するか或いは基準ページを
参照するものとしてこのオペランドアドレスを解釈する
かを制御する。マイタロ命令はオペランド指定子を含ん
でおらず、オペランドは命令によつて絶対的なものとし
てアドレスされる。固定長さ及び固定フオーマツトのこ
れらの簡単な命令は非常に基本的な機能しか与えない。
それ故、主として複雑な問題を解く様なプログラムを書
くことは困難である。なぜならば、この様な問題には非
常に多数の命令が必要とされるからである。最近の処理
装置は1つの命令に応答して複雑な機能を実行する。
これらの処理装置の或るものはなおも固定フオーマツト
の命令を含むものであるが、或る程度までは可変長さの
命令に応答することができる。例えばこの様な1つの処
理装置は、オペレーシヨンコードとして解釈される初期
バイト(2進数即ちビツトの一定の群)を含んだ可変長
さの命令を許容する。命令に於いてこのオペレーシヨン
コードの後には中央処理装置の所定レジスタを指定する
次々のバイトが続く。然し乍ら、この解決策に於いても
、命令フオーマツトはなおも固定のものである。或る形
式の可変長さの命令を与える別の形式の中央処理装置が
PDPllデータ処理システムに用いられており、米国
特許第3,614,741号に開示されている。
この処理装置に於いては、命令が2つまでのオペランド
指定子を含む。更に、2つのオペランドを指定する全て
の情報並びに命令は2つ乃至6つの連続したバイト位置
をプログラムに必要とすることになる。例えば命令の演
算子群はオペランド指定子を含まないが、命令は2つの
バイトより成る1つのワードとして記憶される。他の命
令は2つのオペランドアドレスを含む。両オペランドは
命令ワード内に指定される。然し乍ら、命令に於ける両
オペランドアドレスがプログラムカウンタを示すアドレ
スモードを指定する場合には、プログラムの6つの連続
したバイト位置で命令を完全に形成することが必要とさ
れる。然し乍らこの解決策では、オペレーシヨンコード
がオペランドの数を定め且つ命令自身の他のビツトがオ
ペランド指定子の全長を定めるのでオペランドの長さが
絶対的なものとして指定される。従つてこれらの中央処
理装置に於いても、或る特定の機能を実行するために2
つ或いはそれ以上の命令を処理することがしばしば必要
である。例えば、加数を記憶している位置を妨害するこ
となく2つの数を加算してその和を第3のメモリ位置に
記憶することをプログラムが望む場合には、彼は1万の
加数を第3の位置にコピーする命令を用いそして他方の
加数を第3位置の内容と加算する命令を用いなければな
らない。これらの命令により課せられる束縛がプログラ
ミングエラーや処理装置の非効率性を招くことになる。
そこで本発明の目的は、命令を融通性のある組として処
理する様にされるデジタルデータ処理システム用の処理
装置を提供することである。
本発明の別の目的は、いかなる長さの命令も処理するこ
とのできるデジタルデータ処理システム用の処理装置を
提供することである。本発明の別の目的は、プログラム
がよりコンパクトなプログラムを書くことができる様に
色々な長さの命令を処理するデジタルデータ処理システ
ム用の処理装置を提供することである。
本発明の更に別の目的は、中央処理装置により処理され
る命令がいかなる数のオペランド指定子をも含む様に容
易に拡張できる様なデジタルデータ処理システム用の処
理装置を提供することである。
本発明の更に別の目的は、可変長さのオペレーシヨンコ
ードで命令を処理することのできる中央処理装置を提供
することである。
本発明によれば、命令は1つのオペレーシヨンコードと
或る数のオペランド指定子とを備えている。
命令はその第1バイトを含んだ位置で始まつてメモリか
ら検索される。中央処理装置はオペレーシヨンコードが
1つのバイトから成るか2つのバイトから成るかを決定
するために第1バイトを試験する。中央処理装置はオペ
レーシヨンコードに関連した次々のバイトをオペランド
指定子として解釈する。本発明は特許請求の範囲に特に
指定されている。
本発明の上記目的及び更に別の目的並びに効果は添付図
面を参照とした以下の説明より理解されよつO一般的な
説明 第1図を参照すれば、本発明によるデータ処理システム
の基本的な要素は中央処理装置10と、メモリ装置11
と、入出力装置12とを備えている。
同期バツクプレーン相互接続体(SBI)14が中央処
理装置10とメモリ装置11と入出力装置12とを相互
接続している。中央処理装置10はオペレータのコンソ
ール15と、SBインターフエイス・メモリカツシ回路
(MemOrycachecircuit)16と)ア
ドレス変換バツフア回路17と、命令バツフア回路18
と、データ路・内部レジスタ回路19とを備えているS
Bインターフエイス・メモリカツシユ回路16はSBI
l4を経てメモリ装置11及び入出力装置12へ情報を
転送するのに必要なインターフエイス回路をなす。
又、この回路16はメモリからの全てのデータと、バツ
フア回路17からの全てのアドレ入変換体とを受け取る
。この回路16は連想メモリ即ちカツシユメモリを備え
ている。いつでもデータはデータ路・内部レジスタ回路
19から回路16のカツシユメモリに書き込まれ、又、
このデータはメモリ装置11の対応位置にも書き込まれ
る。中央処理装置10のこの特定実施例は仮想アドレス
で作動する。
アドレス変換バツフア回路17はこの仮想アドレスを物
理的なアドレスに変換するが、この物理的なアドレスと
は、回路16がその対応位置からのデータを含んでいる
かどうかを決定するため、或いは又メモリ装置11の実
際の対応位置からの転送を開始するため回路16によつ
て使用されるアドレスである。命令バツフア回路18は
、以下に述べる様に、カツシユメモリから直接検索され
た又はメモリ装置11から検索された命令又はその1部
を記憶するための手段を備えている。オペレータのコン
ソール15はオペレータのインターフエイスとして働く
これはオペレータがデータを検査したり保管したり、中
央処理装置10の作動を停止したり、或いは一連のプ東
グラム命令によつて中央処理装置の作動を進めたりする
ことができる様にする。又、オペレータコンソールはオ
ペレータがブートストラツプ手順を介してシステムの作
動を開始したり全データ処理システムに於いて色々な診
断手順を実行したりもできる様にする。第1図に於いて
メモリ装置11は2つのメモリ制御器20A及び20B
を備えている。
各々のメモリ制御器は複数個のメモリ配列体に接続され
ている。特に、メモリ制御器20Aはメモリ配列体21
Aに接続され、メモリ制御器20Bはメモリ配列体21
Bに接続される。メモリ装置11の作動については米国
特許出願第845,415号特開昭54−84939号
公報に詳細に示されている。色々な形式の入出力装置1
2が示されている。入出力バスアダプタ22はテレタイ
プの様な種々の入出力(1/O)装置23をバス14に
相互接続する。/0バスアダプタ22とI/O装置23
との相互接続、作動並びに信号転送については米国特許
第3,710,324号に開示されている。2つの別の
I/0装置12がデータ処理システムの2次記憶装置を
なし、これらは2次記憶装置バスアダプタ24と複数個
のデイスク駆動装置25とを備えている。
又、2次記憶装置バスアダプタ26及びテープ駆動装置
27も示されている。2次記憶装置バスアダプタ24及
び26とそれらの各々のデイスク駆動装置25及びテー
プ駆動装置27との相互接続については米国特許第3,
999,163号に開示されている。
前記米国特許出願第845,415号にはSBIl4を
介しての各要素の相互作用について示されている。
これらの相互作用について概略的に述べ且つ本発明のこ
の特定実施例によつて処理できるデータ項目又は群の指
称を含む特定の用語を定義することが、以下の説明を理
解する上での助けとなろう。基本的な、或いは最も基本
的な情報群はバイトである。これが第2A図に示されて
おり、そして本発明のこの特定実施例に於いては8ビツ
トより成る。情報のサイズが次第に大きくなる順に述べ
ると、次の情報群はワードである。ワードは2バイトよ
り成るものとして第2B図に示されている。第2C図に
は、2つの連続したワード即ち4つの連続したバイトよ
り成る1長ワード”が示されている。第2D図には、2
つの連続した長ワード即ち4つの連続したワード即ち8
つの連続したバイトより成る14倍ワード゛が示されて
いる。SBl4を経てのいかなる情報転送も長ワードを
含む。SBIl4は時分割マルチプレクス式のものであ
り、情報及び制御信号を送るための信号路を備えている
本発明に関しては情報が制御情報とデータを備えている
。制御情報はデータ処理のための基礎をなし且つ制御を
行なうのに用いられる情報であり、データはプログラム
で作られた情報であり、処理自身の対称である。SBI
に接続される各々の装置をネクサス(連結装置)と称す
る。
第1図に示した特定システムは6つのネクサスを備えて
いる。ネクサスは情報交機中のその機能に関して更に定
義される。2つのネクサス間で情報を交換するには少な
くとも2回のSBIトランザクシヨンが必要である。
第1のトランザクシヨン中に1つのネクサスが送信コマ
ンダネクサスとしてコマンド及びアドレス情報を全ての
ネクサスに送信する。このネクサスはSBIl4を駆動
するので送信ネクサスと呼ばれ且つコマンド及びアドレ
ス情報を送信するのでコマンダネクサスと称する。この
トランザクシヨン中にはその他の全てのネクサスが受信
ネクサスである。然し乍ら、アドレス情報に応答するの
は1つの受信ネクサスだけである。このネクサスがレス
ポンダネクサスであり、これはコマンダネクサスがコマ
ンド及び−アドレス情報を送信した後に一定の間隔でそ
の情報を受信したという確認情報を送信する。従つて中
央処理装置10がメモリ御制器20Aからデータを検索
する必要がある場合には、中央処理装置10がコマンダ
ネクサスとなつて読み取りコマンド及びアドレスを送信
し、これに対してメモリ制御器20Aが先ず受信ネクサ
スとして、次いでレスポンダネクサスとして応答する。
或る時間の後、メモリ制御器20Aは検索したデータを
中央処理装置10へ送出する用意ができる。
前記特許出願に述べられた様にメモリ制御器20AはS
Bl4の制御を得ようとする。制御を得ると、メモリ制
御器20Aは送信レスポンダネクサスとなり、要求され
たデータをSBl4を経て中央処理装置10へ転送する
。このトランザクシヨン中は中央処理装置10が受信コ
マンダネクサスである。2つのネクサス間のいかなる情
報交換に対しても同様のトランザクシヨンが行なわれる
が、メモリ制御器は通常はレスポンダネクサスとして働
くだけでありそして中央処理装置は通常はコマンダネク
サスとして働くだけである。
本発明の目的として、代表的な情報交換は、命令やオペ
ランド指定子や関連情報やデータを中央処理装置10に
転送すること、並びに処理されたデータをメモリ装置1
1に戻すことを含むということが明らかであろう。SB
Iインターフエイス・メモリカツシユ回路16は、この
言葉どうりに、カツシユ即ち連想メモリを備えている。
中央処理装置10へ情報を転送するためには、このカツ
シユメモリが必要な情報を既に含んでいるがどうかを決
定するために先ず初めにこのカツシユが質問される。必
要な情報を既に含んでいれば、メモリ装置11との情報
交換は不要である。必要な情報を含んでいなければSB
インターフエイス回路は4倍ワードを含むメモリ読み取
り動作を開始する。この情報はそれに対するメモリの物
理的なアドレスと共にカツシユメモリに転送される。同
時に、この情報は命令が転送された場合には命令バツフ
ア回路18に送られ、或いは別の情報が転送された場合
にはデータ路、内部レジスタ回路19に送られる。中央
処理装置10が情報をメモリ装置11に戻す場合には、
この情報をカツシユメモリに転送する。そしてSBIイ
ンターフエイス・メモリカツシユ回路16は先ず初め必
要なコマンド及びアドレス情報を、次いでデータを送る
ために必要なSBトランザクシヨンを開始する。これら
のトランザクシヨンの詳細については米国特許出願第8
45,415号に開示されている。これらの詳細を理解
しなくても本発明を理解できよう。第3図は中央処理装
置10の一般化されたプロツク図を示している。
又、第3図はオペレータのコンソール15、SBIl4
、並びにSBlインターフエイス・メモリカツシユ回路
16とアドレス変換バツフア回路17と命令バツフア回
路18とを構成するその他の回路を示している。特に、
中央処理装置10はクロツク信号発生器30により確立
されたタイミングの下で作動する。特定のタイミングに
ついてはフローチヤートに関連した以下の説明により明
らかとなろう。SBインターフエイス・メモリカツシユ
回路16はSBIl4及び物理アドレス(PA)バス3
2に接続されたSB制御回路31を備えている。PAバ
ス32はデータカツシユ回路33及び変換バツフア34
に接続される。変換バツフア34は仮想アドレス(VA
)情報及びその他の制御情報を物理アドレスに変換し、
この物理アドレスはSBI制御器31及びデータカツシ
ユ回路33に同時に送られる。データカツシユ回路33
からのデータ或いは又SB制御器31を通るSBIl4
のその他の位置からのデータは、メモリデータ(MD)
バス35を経て中央処理装置10の他の要素に送られ′
る。
これらの装置にはデータ路36、命令バツフア・デコー
ド回路37が含まれる。マイクロプログラム制御(UP
C)バス38は命令バツフア・デコード回路37からプ
ログラム制御記憶回路40へ信号を送る。
この時プログラム制御記憶回路40は種々の制御信号を
CSバス41に発生し、このバスは変換バツフア34、
データ路36、命令バツフア・デコーダ37、及びトラ
ツプ一割り込み裁定回路42に信号を送る。これらの回
路及びオペレータのコンソール15は命令データ(ID
)バス43を経てマイクロシーケンサ44と通信し、マ
イクロシーケンサ44はプログラム制御記臆回路40に
記憶されたマイタ口命令に応答して作動シーケンスを制
御する。マイクロシーケンサ44は命令を得るための検
索状態を確立する。検索さるべき次の命令の始めのアド
レスを指定するプログラムカウントはデータ路36から
変換バツフア34を経てPAバス32に通過する。デー
タカツシユ回路33がその指定された物理アドレスに対
応する位置に有効情報を含んでいる場合は、MDバス3
5を経て命令バツフア・デコード回路37にデータを送
る。命令バツフア・デコード回路37が命令をデコード
する時は、マイクロシーケンサ44が、変換バツフア3
4に別の情報を転送する別のデータ路を確立し、それに
よりデータカツシユ回路33からデータ路36のレジス
タに別のデータを転送するか、或いはメモリ装置11又
はSBIl4のその他のメモリ位置から検索を行なつた
後に、SB制御器31からデータ路36のレジスタに別
のデータを転送する。物理的にアドレスされた位置にデ
ータを転送することを命令が要求する場合には、マイク
ロプロセツサ44が、変換バツフア34に信号を転送す
るに必要なデータ路を確立し、それにより物理的なアド
レスを形成し、且つ又データカツシユ回路33及びSB
I制御器31に同時にデータを転送する。この様な転送
中にはSBI制御器31が指定のメモリ位置との情報変
換を柵始する。第4図は第3図に示した中央処理装置1
0によつて処理することのできる代表的な命令を示して
いる。
第4図の上部に示した命令は1バイトの長さとして示さ
れたオペレーシヨンコード50を含んでいる。然し乍ら
、中央処理装置10は多バイトのオペレーシヨンコード
を処理することもできるということが以下の説明より明
らかとなろう。この特定の命令に於いては、3つのオペ
ランド指定子51,52,53がオペレーシヨンコード
の後に順に続いている。オペランド指定子51及び52
の各々は1バイトより成り、オペランド指定子53は2
バイトより成る。1バイトのオペランド指定子のフォー
マットも第4図に示されている。
このオペランド指定子は2つのフイールドより成る。そ
の高位ビツトはレジスタモードフイールドを構成しそし
てその下位ビツトはレジスタアドレスフイールドを構成
する。レジスタアドレスフイールドは、第3図に示され
たデータ路回路36に位置され且つ第5図に詳細に示さ
れた特定のレジスタを指定する。この特定の実施例に於
いては、1バイトが8ビツトより成り、従つてレジスタ
モードフイールド及びレジスタアドレスフイールドの各
々に4ビツトづつ利用でき、それによりオペランド指定
子によつて16個の汎用レジスタのうちの1つをアドレ
スすることができる。レジスタモードフイールド54の
2つの上位ビツトが零であれば(レジスタモードO乃至
3)、オペランド指定子51は10進数のO乃至63を
表わす6ビツトまでのデータ値を構成できるオペランド
即ちリテラルを備えている。
オペランド指定子53のレジスタモードフイールド54
Aに示された様に、レジスタモードフイールド54が1
0進数の4を含む場合には、インデツクスモードが指定
される。
レジスタモードフイールド54Aの様なレジスタモード
フイールドがインデツクスアドレスモードを指定する時
、それに対応するレジスタフイールド55Aは、オペラ
ンド指定子を処理する際にインデツクスレジスタとして
使用さるべき汎用レジスタの1つを指定する。2次オペ
ランド指定子はインデックスアトレス動作の命令に含ま
れる。
この2次オペランド指定子は指定されたインデツクスレ
ジスタの内容を加算すべきベースアドレスを与える。イ
ンデツタスアドレス動作については以下で詳細に説明す
る。41レジスタモードフイールド54が“5゜゛を含
んだ時にはレジスタモードアドレス動作が指定される。
このモードに於いてはレジスタフイールドによりアドレ
スされた汎用レジスタがオペランドを含む。レジスタモ
ード6,7及び8の各々に対しては、指定されたレジス
タがオペランドのメモリアドレスを含む。
モード6に於いては、指定されたレジスタがオペランド
のアドレスを含む。レジスタモード7に於いては、指定
されたレジスタの内容が、アドレスを確認する前に先ず
減少され、そしてモード8に於いては指定されたレジス
タを用いてアトレスを決定した後にその指定されたレジ
スタの内容が増加される。レジスタモード9はレジスタ
モード8に対応しているが、それらの相違点は、指定さ
れたレジスタの内容が、オペランド自身ではなくてオペ
ランドのアドレスを見い出すところのメモリアドレスを
指定するという点である。モード10乃至15は全て変
位モードである。変位モードに於いては、変位値が指定
レジスタの内容に加算されてオペランドアドレスを得る
。然して変位置はモード10,12及び14に於いては
各々バイト、ワード又は長ワードを構成するものである
。モード11,13,15に於いても対応する作動が行
なわれるが、それらの相違点は変位値とレジスタの内容
との和が、オペランドのアドレスを見い出すことのでき
るメモリアドレスを識別するという点である。前記モー
ド8乃至15の各々に於いて、オペランド指定子のレジ
スタフイールド55はプログラムカウンタを含んだ汎用
レジスタを指定することができる。
特定の説明 初期的な命令の処理 第5図及び6A図はデータ路36及び命令バツフア・デ
コード回路37を詳細に示している。
この特定実施例の或る基本的な作動特性は中央処理装置
10の性能を最適化するということである。本発明を理
解するのにこれらの作動を詳細に知る必要はなく、従つ
て概略的に説明する。第6A図を参照すれば、命令バツ
フア・デコード回路37は8つの連続したバイトを記憶
する命令バツフア60を備えている。この命令バツフア
60への転送は命令バツフア制御回路61からの信号に
応答して行なわれる。命令バツフア60の各バイト位置
は有効性のビツト位置を含んでおり、これはそのバイト
位置の残りの位置にあるデータが有効であるかどうかを
示している(即ち、この有効性のビツト位置はそのバイ
トがもはや必要とされなくなるとクリアされる)。特定
の1つ或いはそれ以上のバイト位置のデータがもはや有
効でないことをこの有効性のビツトが指示する場合には
、命令バツフア制御回路61がIBREQ信号を発生し
、この信号はデータカツシユ回路33又はSBI制御器
31からMDバス35を経て命令バツフア60へ至る情
報の転送を要求する。命令バツフア制御回路61のその
他の回路は無効データを持つた最高位のバイト位置を検
出し、そして高位のバイトをこれらのバイト位置にシフ
トする。これらの転送中に全ての高位バイトのデータが
変更される。すなわち、命令バツフア制御器61は、命
令バツフア60の有効バイトを、高位のバイト位置から
、一連の命令の無効バイトすなわち既に使用されデコー
ドされたバイトを有するより低位のバイト位置へとシフ
トさせ、且つ、命令バツフア60の高位端ではシフトさ
れたバイトの代りに新しい命令バイトを挿入させる。こ
の命令バツフア60は、フアーストインーフアーストア
ウト(先入れ先出し)バツフアに類似しているが、オペ
レーシヨンコードは、常に、バツフアの最下位バイト位
置に記憶されており、オペランド指定子のバイトは、デ
コードされるべきバツフアの最下位バイト位置より1つ
高位のバイト位置へとシフトダウンされる。MDバス3
5を経て転送される長ワード(第2C図)はマルチプレ
クサ62を通過する。
命令バツフア60の出力と、デ゛一タバイトをシフトす
る際に用いられるマルチプレクサ62の入力にはシフト
回路網63も結合される。従つて、命令バツフア制御回
路61は命令バツフア60の指定されたバイト位置に適
当な情報を正しく送る。実際上は命令バツフア制御回路
61は命令バツフア60を有効データで連続的に満たす
。代表的な命令に対する中央処理装置10の応答につい
て以下に述べる。
命令バツフア制御回路61は命令バツフア要求(BRE
Q)信号を発生する。この時に、仮想アドレスを含んだ
第5A図のプログラムカウンタレジスタ64の内容が、
第5B図のBマルチプレクサ(BMX)65及び演算論
理ユニツト(ALU)66を経て第5A図の仮想アドレ
ス(VA)ラツチ6r及び命令バツフフアドレス(IB
A)ラツチ68に転送される。仮想アドレスラツチ67
は変換バツフア回路34の回路によつて物理アドレスを
確立するため命令アドレスを記憶する。命令バツフアア
ドレスラツチ68は、命令バツフア60(第い図)らの
情報が使用されてこの情報が古い情報となつた後にこの
命令バツフア60に情報を転送する問に用いられる。上
記した作動は第7図のステツプA1を構成する。ステツ
プA2に於いては、第6A図のMDバス35に現われる
入り情報が命令の1部或いは全部を構成する。
この情報は命令バツフア制御回路61からの信号に応答
してマルチプレクサ62を経て命令バツフア60に転送
される。この時に命令バツフア60のバイトO位置はオ
ペレーシヨンコード情報を含んでいる。この特定の実施
例に於いては、各々のオペレーシヨンコードが1つのバ
イトのみから成る。然し乍ら、オペレーシヨンコードは
2つ或いはそれ以上のバイトから成ることもでき且つオ
ペランド指定子をデコードするための以下に述べる回路
に類似した回路によつてこの様な多バイトのオペレーシ
ヨンコードをデコードできるということが以下の説明よ
り理解されよう。命令バツフア60のバイトO位置のみ
がオペレーシヨンコードを含んでいると仮定すれば、バ
イト1位置は第1のオペランド指定子の1部或いは全部
を含む。バイト0は実行アドレスメモリ71を制御する
バイト0ラツチ70に記憶される。バイト1位置の内容
は実行アドレスメモリ71からの出力信号と共に指定子
デコード論理回路72に与えられる。実行アドレスメモ
リ71は中央処理装置10が実行することのできる各命
令に対する項目を備えた表を記憶している。
この表に於ける特定項目の位置はバイト0ラツチ70か
らのオペレーシヨンコード信号及び実行点カウンタ73
からの信号によつて導出される。先ず初め、実行点カウ
ンタ73が基準数(例えばO)にセツトされる。各々の
オペランド指定子がデコードされるたびに、実行点カウ
ンタ73が進められて表の新たな項目を定める。この表
の各項目は、オペランド指定子がオペランドを転送して
入れるべき位置を示しているのか或いはオペランドが転
送されて出されるところの位置を示しているのかという
ことや、予期されるデータ項目のサイズの様なオペラン
ド指定子の或る特性を識別する。各々の選択された表項
目に対する信号は、オペランド指定子をデコードするシ
ーケンスとデータ路とを確立するために第3図のマイク
ロシーケンサ44が使用するところのスタートアドレス
の1部を制御するため、指定子デコード論理回路72に
送られる。UPCバス38は指定子デコード論理回路7
2からマイクロシーケンサ44へ信号を送る。第6B図
は実行アドレスメモリ71の特定実施例に於いて保有さ
れるオペランド指定子の特性を示している。
実行アドレスメモリ71からの2つの下位ビツトは含ま
れるデータ項目の形式を指定し、通常はデータ項目は整
数又は浮動小数点数より成る。その次の2つのビツトは
オペランドの長さを指示する。それに続く2つのビツト
は行なうべき動作を指示する。最後の2ビツトはアクセ
スに関する情報を決定する。例えば、バイトOラツチ7
0及び実行点カウンタ73が2進数01001000を
含む位置を識別する場合には、それに対応するオペラン
ド指定子が、メモリから検索さるべき長ワードの整数を
指定する。
前記した様に、中央処理装置10が処理できる各命令の
各オペランド指定子に対して実行アドレスメモリ71に
入力がある。従つてバイトOラツチ70からのオペレー
シヨンコードはベースアドレスを生じ、そして実行点カ
ウンタ73は各々のオペランド指定子に対応する表項目
を順次識別するためにベースアドレスと合成される信号
を発生する。実行アドレスメモリ71からの信号並びに
命令バツフアのバイト1位置のオペランド指定子は指定
子デコード論理回路72に転送され、該デコード論理回
路72はこれらの信号に応答して所与のオペランド指定
子のスタートシーケンスアドレスを識別する。このシー
ケンスに於ける所与のマイクロ命令のスタートアドレス
は命令自身に左右される高位ビツトと、オペランド指定
子の情報の性質に左右される下位ビツトとを備えている
。代表的な下位アドレスビツトが第6C図に示されてい
る。特に、オペランド指定子のレジスタモードフイール
ドが64ラを含み且つレジスタフイールドがプログラム
カウンタを指定しない場合には、下位のスタートアドレ
スビツトが″IC″(16進表示)である。これは次い
で、スタートアドレスにより識別された位置でプログラ
ム制御記憶回路40(第3図)に配置されたマイクロ命
令で始まるシーケンスをマイクロシーケンサ44が実行
し始めるところの位置を制御する。然し乍ら、この情報
がデコードされるまでは、マイクロシーケンサ44は別
の作動を実行し続ける。
第7図のステツプA3に於いては、マイクロシーケンサ
44が命令バツフア60のバイト1位置のレジスタフイ
ールド位置を用いて、該レジスタフイールドの内容に対
応するレジスタメモリ76のレジスタの内容を第5B図
のAラツチ75に転送する。オペランド指定子のレジス
タモードフイールドがモードO乃至3のいずれを指定す
る場合にも、オペランド指定子はオペランドを含み且つ
オペランド指定子がデコードされる。次いでマイクロシ
ーケンサ44は命令の次のオペランド指定子を処理し始
めるか又は命令を実行し始める。オペランド指定子がリ
テラルを含まないと仮定すれば、マイクロシーケンサは
ステツプA3からステツプA4へと移行する。このステ
ツプに於いては、命令バツフア60のバイト1位置の情
報のレジスタフイールドにより識別された。レジスタメ
モリ80のレジスタの内容がBラツチ81に転送される
。この特定実施例に於いては、A及びBレジスタメモリ
76及び80が互いのコピーとして保持され、そしてオ
ペランド指定子のレジスタフイールドの内容によりアド
レスできる全ての汎用レジスタを構成する。リテラルモ
ード以外のモードに対してはBラツチ81がアドレスを
含む。それ故、ステツプA5に於いては、マイクロシー
ケンサ44がBマルチプレクサ65及びALU66を通
るデータ路を確立し、そして仮想アドレスラツチ67に
アドレスを転送する。更に、このアドレスは変更を生じ
ることなくシフト回路82、DFマルチプレクサ83及
びデマルチプレクサ84を経てDレジスタ85に送られ
る。浮動小数点数の指数部に対応するビツトはALU3
2からデータ路36の指数区分86に同時に転送される
。ステツプA6に於いては、システムがプログラムカウ
ンタ64の内容をプログラムカウント保管レジスタ90
に転送し、長い処理時間を要する或る命令を、割り込み
が生じる場合に中止できる様にする。割り込み状態を検
出しそして追従動作を、制御する回路が次いで可能化さ
れる。第3図のマイクロシーケンサ44は命令バツフア
60のバイ卜2乃至5位置の内容を1Dバス43を経て
、そしてCマルチプレクサ91を経てQレジスタ92に
転送する。これらのバイト位置はオペランド指定子が変
位モードの1つを定めた場合に潜在的な変位値を表わす
情報を含む。第7A図のステツプA8に於いては、命令
バツフア制御器61が可能化され、命令バツフア60を
有効情報で連続的に満たすために情報の転送を要求する
命令バツフアの或る番号のバイトをタリヤできる場合に
はこのクリア動作がステツプA9で行なわれ、そしてス
テツプAlOに於いてはクリアされた上記番号のバイト
を補償するためにプログラムカウンタ64が増加される
。このクリア動作及びプログラムカウンタの更新はQレ
ジスタ92に関連データが用意された場合に達成される
。ステツプAllに於いては中央プロセツサ10がオペ
ランド指定子がリテラルを含んでいるがどうかを決定す
る。リテラルを含んでいれば、マイクロシーケンサ44
はステツプAl2へと分岐し、Qレジスタ92にリテラ
ルを与える。次いで、その次のオペランド指定子がデコ
ードされるか、或いは全てのオペランド指定子がデコー
ドされてしまつた場合には、中央処理装置10がオペレ
ーシヨンコードに応答してオペランドを処理する。オペ
ランド指定子がリテラルを含んでいなければ、マイクロ
シーケンサ44はステツプAl3へと分岐し、オペラン
ド指定子のデコード動作を完了させる。シーケンスのこ
の点に於いて、Aラツチ75は、命令バツフア60(第
6A図)のバイト2位置からのレジスタビツト位置に対
応する情報を含んでいる。
Bラツチ81、仮想アドレスラツチ67及びDレジスタ
85は命令バツフア60のバイト1位置のレジスタフイ
ールドビツトにより選択されたレジスタの内容を含んで
いる。Qレジスタ92は存在するかもしれない命令流れ
データを含み、そしてプログラムカウンタ64は次のオ
ペランド指定子のアドレスを含む。それ以上の動作はデ
コードされる特定の命令とオペランド指定子の性質とに
左右される。中央処理装置がオペランド指定子のデコー
ド動作を行なうことのできる方法は非常にたくさんある
。考えられる各々場合を余すところなく説明するには非
常に多くの説明を要する。然し乍ら、或る代表的な命令
に応答した中央処理2置の作動を検討することによつて
本発明による″央処理装置10の作動は明確に理解でき
よう。加算命令に於けるオペランド指定子のデコード動
作b リテラル及び変位アドレスモード 第8A図は2つの位置の情報を加算しそしてその和を第
3の位置に入れ然して第1の記憶位置にも第2の記憶位
置にも影響を及ぼさない様な命令を示したものであり、
これは第7図のステツプA2に於いて命令が検索された
後に命令バツフア60に見られる場合と同様である。
第8B図ばCI′5であるこの命令に組合わされたオペ
レーシヨンコードに対して表項目に記臆された情報を示
している。オペランド指定子情報を構成する特定ビツト
位置の意味は第6B図に示されている。第1のオペラン
ド指定子は″07゛2である。
実行点カウンタ73が”00゛であれば、実行アドレス
メモリ71の対応する表項目(第8B図)は次の様な情
報を含んでいる。(1)指定子が選択されている(ビツ
ト4及び5);(2)オペランドが整数である(ビツト
O及び1);(3)オペランドが4つのバイトを含んで
いる(ビツト2及び3);(4)オペランドがメモリか
ら読み取られる(ビツト6及び7)。更に、命令バツフ
ア60のバイト1位置から指定子デコード論理回路72
に転送された情報は、マイクロシーケンサ44のスター
トアドレスの下位ビツトとして、上記論理回路72力げ
00゛を生じる様にせしめる。(第6B図を参照された
い。)第7図のシーケンスに続いてマイクロシーケンサ
44は第8C図のステツプB1に於いてこのリテラル即
ぢ7”をQレジスタ92からデータ整列器93及びDマ
ルチプレクサ84を経てDレジスタ85へ転送するのに
必要なデータ路を確立する。この点に於いて命令バツフ
ア制御器61はバイト2乃至7を1バイト位置だけ右へ
シフトしそして実行点カウンタ73を″01゛(ステツ
プB2)に進める。第8B図の表から明らかな様に、こ
れは、今やバイト1にある情報が、中央処理装置10へ
転送さるべき長ワード整数に対するオペランド指定子で
あることを示している。今やシステムはただちに第7図
のステツプに戻る。
ステツプAllに於いて第2のオペランド指定子が評価
される。第4図、6B図、6C図及び8B図の種々の表
によつて今や与えられた情報の結合に於いて、マイクロ
シーケンサはバイト変位モードのアドレス動作を用いる
オペランド指定子をデコードするに必要なデータ路のシ
ーケンスを確立する様に応答する。このデコードシーケ
ンス中にAラツチ75及びBラツチ81は両方ともレジ
スタR1の内容を受け取る(ステツプB3)。ステツプ
B4に於いてQレジスタはバイト変位値120”のバイ
ト3を受け取る。ステツプB5に於いてALU66は指
定されたレジスタの内容を含んでいるBラツチ81の内
容と、変位値を含んでいるQレジスタ92の内容との和
を作る。特に、Qレジスタ92の内容はRAマルチプレ
クサ94及びAマルチプレクサ95を経てALU66の
A入カへと送られ、一方Bラツチ81の内容はBマルチ
プレクサ65を経てALU66に送られる。これら2つ
の入力の和は変位アドレスを表わしており、これは次い
で仮想アドレスラツチ67に転送され、且つ又シフト回
路網82、DFマルチプレクサ83及びQマルチプレク
サ91を経てQレジスタ92へ戻される。今度はステツ
プB6に於いてマイクロシーケンサ44が命令バツフア
制御器61を可能化し、第2のオペランド指定子の内容
をクリアせしめ且つ又ステツプB7に於いて第2のオペ
ランドを得るための要求を開始させる。ステツプB8に
於いてはマイクロシーケンサ44が第2オペランドをM
Dバスから別のデータ整列器96及びDマルチプレタサ
84を経てDレジスタ85に転送し、そして第1のオペ
ランドがQレジスタ92に転送される〇今度はマイクロ
シーケンサ44が実行点カウンタ78を、実行を指定す
る第8B図の表の第3項目まで進める(ステツプB9)
。それ故、マイクロシーケンサ44は、ステツプBlO
中に、ALU66が2つの加数、すなわち、Qレジスタ
92及びDレジスタ85(第5C図参照)からAマルチ
プレクサ95及びBマルチプレクCサ65を通して受入
される第1オペランド及び第2オペランドの演算和を作
りそしてこの和をDレジスタ85に転送するように、A
LU66を制御する。ステツプBllに於いては、マイ
クロシーケンサ44が実行点カウンタ73を″11―即
ち第8B図に示した最終状態へと進める。
表の情報は、4バイト整数を書き込むべきメモリアドレ
スをオペランド指定子が指定することを示している。値
C2が命令バツフア60のバイト1位置にありそしてレ
ジスタモードフイールドにある゛C゛がワード変位アド
レスを定める。従つてマイクロシーケンサ44はステッ
プ0B12乃至Bl6を用いてメモリアドレスを計算し
且つそのメモリ位置への和の転送を開始する。これらの
ステツプが完了すると、マイクロシーケンサ44はステ
ツプBl7に於いて実行点カウンタ73をクリアしそし
て第7図のステツプに戻り、シーケンス中の次の命令の
転送及びデコードを開始する。b インデツクスアドレ
スモード 第8A図に示された第3のオペランド指定子はワード変
位モードを定めるものであつた。
加算命令を繰返し使用しそして次々の和を整列した位置
に記憶することが所望されるとすれば、プログラマはワ
ード変位モードを用い然も位置をインデツクスするとい
う様に選択を行なうかもしれない。この中央処理装置を
用いてこの様なインデツクス変位アドレスを作り出すこ
とができる。プログラマは第8A図に示した第3のオペ
ランド指定子を、第9A図の命令として見られる様に変
更する。この命令はR7レジスタをインデツクスレジス
タとして識別する。特に、命令バツフアの初めのバイト
4位置は命令デコード動作の始めに147゛を含んでい
る。
第9C図のステツプC1は第8C図のステツプBllに
対応する。ステツプC1に於いては、長ワードの整数で
書込み動作を示す様に第6A図の実行点カウンタ73が
進められる。この時にはAラツチ75及びBラツチ81
がレジスタ7の内容を含み、Qレジスタ92及び仮想ア
ドレスラツチ67が第2オペランドアドレスを含み、そ
してDレジスタ85が加算演算の和を含んでいる。ステ
ツプC1の時には、第3のオペランド指定子が命令バツ
フア60のバイト2乃至バイト5位置を占有する。従つ
てAラツチ75は指定されたインデツクスレジスタであ
る、R7レジスタの内容を含む。ステツプC2に於いて
は、Aラツチの内容がAマルチフーレクサ95及びAL
U66を経てシフト回路82へ転送される。シフト回路
網82はステツプC3中に実行アドレスメモリ71から
の長さ信号に相当する位置の数だけインデツクス値を左
へシフトする。
この場合は、長ワードが含まれるから、長さフイールド
は′″10ドを含みそしてインデツクス値は2つの位置
だけシフトされ、それによりインデツクス値を4で効果
的に乗算しそして転送さるべき長ワード項目のサイズを
補償する。バイトが転送される場合にはシフトが行なわ
れず、従つてインデツクスは1で効果的に乗算され、こ
れに対して4倍ワードが転送される場合にはインデツク
スレジスタの内容が3回左へシフトされ、インデツクス
を8で効果的に乗算しそして8バイトの4倍ワードサイ
ズを補償する。従つてこの作動は転送されるデータ項目
のサイズまでインデツクス値を桁移動する。この桁移動
の後、インデツタス値はステツプC4中にT7レジスタ
として指定されたCレジスタメモリ97の所定位置に記
憶される。
又、命令バツフア60のバイト1位置の内容がクリアさ
れて、値1C2゛がこのバイト1位置にシフトされる。
ステツプC5に於いでは、変位値シ゛0140”を含ん
だバイト位置2乃至5の内容がIDバス43を経てQレ
ジスタ92に転送される。次いで、処理されているオペ
ランド指定子及びオペレーシヨンコードに基いて、指定
子デコード論理72はステツプC6に於いては、二命令
バツフアのバイト位置1乃至5のクリア動作を制御しそ
してステツプC7に於いてはプログラムカウンタを対応
数だけ増加する。ステツプC8中には命令バツフア制御
器61が可能化され、仮想アドレスラツチ67の内容に
より識別された位置から情報を検索する。ステツプC9
中にはDレジスタ85の演算和がQレジスタ92に移さ
れそして変位数゛014『゛がQレジスタ92からDレ
ジスタ85に送られる。Bラツチ81はレジスタ2の内
容を含んでおり、この値はステツプClOに於いてBマ
ルチプレクサ65を経てALU66の入力に送られる。
Dレジスタ92からの変位値はA入力に送られる。その
和は変位アドレスを構成し、これはDレジスタ85及び
仮想アドレスラツチ67に戻されるが、使用されない。
ステツプCllに於いては第3のオペランド指定子の残
りのバイト部分がクリアされる。次いでインデツクス動
作が行なわれる。
ステツプCl2に於いてはレジスタメモリ97のT7レ
ジスタの内容がCラツチ98に転送される。これは桁移
動されたインデツクス値であり、ステツプCl3中にB
マルチプレクサ65を経てALU66のB入力に転送さ
れる。同時に、変位アドレスがDレジスタ85からRA
マルチプレクサ94及びAマルチプレクサ95を経てA
LU66のA入力に転送される。次いでその2つの入力
の数を加算することによつてインデツクスアドレスが作
られ、インデツクスアドレスであるその和がDレジスタ
85に転送される。ステツプCl4に於いては、このア
ドレスが仮想アドレスラツチ67へ送られる。今やオペ
ランドはQレジスタ92にある。
マイクロシーケンサ44はこの和をQレジスタ92から
Dレジスタ85に戻す。次いでステツプCl4に於いて
マイクロシーケンサ44はオペランドを別のデータ整列
器96を経てMDバス35を経てデータカツシユ回路3
3及びメモリ装置11へと転送し、仮想アドレスラツチ
67の内容によりアドレスされた位置へ送る。最後のス
テツプとして、実行点カウンタ73及び命令バツフア6
0のバイト0位置がクリアされる。これはバツフア制御
回路61が命令バツフア60にある次の有効データをO
及びそれに続くバイト位置にシフトできる様にする。前
記説明より、インデツクスモードが別個の専用のモード
でないということが明らかであろう。
これはメモリを参照する一般のアドレスモード(即ちモ
ード6乃至15)の何れかを拡張したものである。これ
らの一般モードは第4図に※印で示されている。インデ
ツクスモードはインデツクスレジスタを指定する単1バ
イトで実施され、これは1つ乃至9つの追加バイトより
成るオペランド指定子を更に拡張したものと合成するこ
とができる。この点に関してインデツクスモードは物理
的なずれを含んだベースレジスタと、物理的なずれを或
る配列で含んだインデツクスレジスタとをもたらすもの
と考えることができる。シフト作動によつて与えられる
桁移動はデータワードのサイズを自動的に補償し、従つ
てインデツクスレジスタ自身はデータ項目のサイズに拘
りなくそのデータ項目の論理的なずれを表わす。オペラ
ンド指定子の長さが可変であるという性質はインデツク
スモードを更に促進rるということが明らかであろう。
というのは、インデツクスアドレスを作るべき時に、命
令にインデツクス情報のためのスペースがありさえすれ
ばよいからである。[[)サブルーチン呼び出し命令 第10A図及び10B図は2つの別々のサブルーチン呼
び出し命令を示している。
第10A図の呼び出し命令ばCALLG゛命令であり、
そしてこの特定図面に於いては1バイトのオペレーシヨ
ンコード゛FA″を備え、その後にはアーギユメントリ
ストを定めるための1バイトのオペランド指定子と、行
先、即ち呼び出しされるサブルーチンの初めの位置、を
定めるための1バイトのオペランド指定子とが続く。第
10B図はオペレーシヨンコード1FB゛を持つた″C
ALLS”呼び出し命令を示している。第10A図に示
されたCALLG命令はアーギユメントリストがメモリ
の種々の位置に記憶されている時にサブルーチンを呼び
出し、そして第10B図のCALLS命令は呼び出しサ
ブルーチンが、使用さるべきアーギユメントリストを、
スタツタポインタレジスタとして働くRl4汎用レジス
タによつて識別されたメモリスタツクに既に転送してい
る場合に、サブルーチンを呼び出す。アーギユメントリ
ストはサブルーチンにより使用さるべき入力アドレス及
び値と、サブルーチンにより作られた出力値のための出
力アドレスとを含んでいる。さて第10C−1図を参照
すれば、ステツプD1に於いて中央処理装置10は第1
のオペランド指定子を評価し、そして第10A図に示し
た命令の場合にはアーギユメントリストアドレスを、或
いは第10B図に示した命令の場合にはアーギユメント
カウントを、Dレジスタ85に転送する。
ステツプD2に於いてDレジスタ85の内容がQ−.レ
ジスタ92に転送されそして行先オペランド指定子の行
先フイールドが評価される。それにより生じるサブルー
チンの初期アドレスはDレジスタ85及び仮想アドレス
ラツチ67に送られる。この呼び出し命令の1つの観点
によれば、サブルーチンの初めの位置は次の様に解釈さ
れるサブルーチンマスタを含んでいる。ビツト位置0乃
至11は汎用レジスタRO乃至R11に直接対応してい
る。このサブルーチンマスクの各々のビツト位置は、そ
れに対応する汎用レジスタの内容を保管すべきであるか
否かに基いてセツトされるか又はクリアされる。明らか
な様に、汎用レジスタの内容は、サブルーチンがその汎
用レジスタの内容を変えてしまう場合に保管される。そ
の他の汎用レジスタRl2乃至Rl5は常に保管される
か又は決して保管されないかのいずれかである。特に、
Rl2レジスタはアーギユメントポインタレジスタを構
成し、その内容は常に保管される。同様に、Rl3レジ
スタはサブルーチン呼出し中にスタツクヘプツシユされ
る項目のスダンクのアドレスを含むようなフレームポイ
ンタレジスタを構成し、Rl5レジスタはプログラムカ
ウンタレジスタを構成し、これらの内容も常に保管され
る。一方、Rl4レジスタはスタツクポインタレジスタ
を構成し、その内容は保管されない。従つてサブルーチ
ンマスクの最上位から4つのビツト位置はその他の目的
に用いることができる。この特定の実施例に於いては、
ビツト位置12及び13が常にOであるが、これらを他
の目的に使用することもできる。
一方、ビツト14及び15はサブルーチン自身へ入る際
の整数オバーフロ一の初期状態と、10進数オーバーフ
ローのエラー状態フラグとを確立する。第10C−1図
及びステツプD3を更に参照すれば、呼び出しルーチン
のサブルーチン呼び出し命令に続く第1命令を識別する
ためにプログラムカウンタ64が既に増加されている。
次いでQレジスタ92がクリアされそしてサブルーチン
マスクがDレジスタ85からCレジスタメモリ97のT
2レジスタに送られる。サブルーチンマスクのビツト位
置12及び13はOの値であるかどうかを決定するため
に試験される。0の値でなければ、エラー状態が存在し
そして適当なトラツプ状態が生じる。
通常は、サブルーチンマスクがCラツチ98に転送され
た時にステツプD5がステツプD6に移行する。ステツ
プD7に於いては呼び出しルーチンの状態を保管するた
めにとつておくことが必要とされる汎用レジスタの数を
確立するため、サブルーチンマスクにある1の数がカウ
ントされる。ステツプD8は第10A図に示した呼び出
し命令に対しては第10C−2A図に示されたステツプ
へ、或いは第10B図に示した呼び出し命令に対しては
第10C−2B図示されたステツプへ動作を移行すると
ころの分岐を示している。
第10A図に示されたCALLG命令がデコードされて
いると仮定すれば、呼び出しルーチンの状態により占有
されるメモリスタツクの全スペースを次に確立すること
が必要とされる。
この命令に対しては、5つの更に別の長ワードがとつて
おかれる。従つてステツプD9に於いてはその数がマス
クの1の数に加算されそしてその和がバイトの数に変換
され、次いでスタツクポインタレジスタの内容とで、ス
タツクの最後の位置を決定するのに用いられる(ステツ
プDlO)。前記した様に中央処理ユニツト10は仮想
的にアドレスされた機械として作動する。それ故、とつ
ておかれる全てのレジスタを収容するに充分なスペース
が、実施されている特定プログラムに割り当てられたメ
モリスタツクに存在するということを確かめるためのス
テツプを考慮しなければならない。ステツプDll中に
はスタツクポイントレジスタであるRl4レジスタの内
容がA及びBラツチ75及び81に転送され、そしてス
テツプDl2に於いてはRl4レジスタの最下位から2
つのビツトがCレジスタメモリ97のT4レジスタに転
送される。ステツプDl2に於いては、Rl4レジスタ
の最下位から2つのビツトを零に取り替えることによつ
てスタツクポインタも整列され、それによりこのレジス
タのアドレスをして長ワードの境界を形成せしめる。メ
モリ装置11及びカツシユメモリ装置との情報のやり取
りが長ワードの境界に於いて行なわれる時には、この整
列手順が、1回のメモリ転送によつて各々のレジスタを
とつておくことができる様にし、且つ命令の全効率を改
善する。さもなくば、各レジスタをとつておくために転
送を2回行なわねばならないという可能性が生じ、それ
により、通常整列されるサブルーチンの呼び出し命令及
びそれに続く命令を実行するのに要する時間を著しく増
加することになる。整列を行なつた後、メモリにある一
連の空の長ワード位置を次々に識別するためにSPレジ
スタの整列された内容が減少される。
これはステツプ13に於いてマイクロシーケーサ44が
プログラムカウンタ64とサブルーチンマスクに指定さ
れた汎用レジスタとの内容をメモリスタツクに転送でき
る様にする。このステツプは、呼び出し命令に続く命令
が見い出されるとこうの呼び出しルーチンの位置と、サ
ブルーチンにより使用される汎用レジスタとをとつてお
く様にする。ステツプDl3を完了した後は、呼び出し
ルーチンの状態が保管されており、従つて中央処理装置
は第10C一3図に示したステツプへと移る。第10C
−2B図は第10B図に示した CALLS命令がデコードされる場合に行なわれるステ
ツプを示している。
ステツプDl4及びDl5に於いては、再び中央処理装
置10が、それに割り当てられたメモリスタツクに、情
報を記憶するに充分なスペースがあるがどうかを決定す
る。SPレジスタの最下位から2ビツトはステツプDl
6に於いてCレジスタメモリ97のT4レジスタに送ら
れる。ステツプ17に於いては、Cレジスタメモリ97
のT3レジスタかぅのアーギユメントカウントのアドレ
スがQレジスタ92に送られる。更に、CALLG/C
ALLSフラグがセツトされる。このフラグはその後メ
モリスタツクに保管され、そしてメモリスタツクからの
情報の検索を制御するために戻り命令によつて後で使用
される。従つて、CALLG及びCALLS命令を用い
て、取替できる様にサブルーチンを呼び出すことができ
る。次に利用できる位置を識別するためにSPレジスタ
が減少され、そしてその減少された内容がDレジスタ8
5に記憶される。次いでQレジスタ92のアーギユメン
トカウントのアドレスがメモリスタツクに記憶されてア
ーギユメントリストを完成する。ステツプDl8中には
Dレジスタの内容が変更され、Rl4レジスタ即ちスタ
ツクポインタが、次に利用できる位置の長ワード境界に
於いて整列される。ステップ0D19に於いては、サブ
ルーチンにより使用される汎用レジスタ及びプログラム
カウンタの内容をメモリスタツクに保管することによつ
てマイクロシーケンサ44が呼び出しルーチンの状態を
保管する。これはメモリスタツクの整列された位置で始
められた第10C−2A図のステツプDl3の場合と同
様である。Z′ さて第10C−3図を参照すれば、マイクロシーケンサ
44は第10C−2A図のステツプDl3及び第10C
−2B図のステツプDl9により示された転送を完了し
た後にステップ1)20へと移行する。
特に、フレームポインタレジスタとして働くRl3レジ
スタの内容がメモリスタツクの次に利用できる位置に転
送される。この後にはアーギユメントポインタレジスタ
を構成するRl2レジスタの内容が続く。ステツプD2
2に於いては、呼び出しルーチンの状態フラグがクリア
される。ここで、状態フラグとは、算術演算によつて生
ずす通常の負数、零、オーバーフロー及び桁上げ(借り
)コードであつて、プロセツサ状態ワードに記憶された
状態コードである。次いで中央処理装置10はサブルー
チンのスタートアドレスを、Cレジスタメモリ97のT
1レジスタから仮想アドレスラツチ67及びプログラム
カウンタ64に転送する(ステツプD23)。この点詳
述するに、第2のオペランド指定子(ステツプD2参照
)は、サブルーチンマスクを備えるサブルーチンの最初
の命令の位置を指定する。そのサブルーチンの次の命令
は、サブルーチンマスクの後の次の位置にあり、ステツ
プD23でいうスタートアドレスである。ステツプD2
とステツプD23との間のある時(それが何時であるか
は問題でない)に、第2のオペランド指定子によつて指
定される位置が増加され、CレジスタメモリのT1レジ
スタに記憶される。Cレジスタメモリは、命令によつて
アドレス可能なA及びBレジスタメモリと違つて、スク
ラツチパツドレジスタメモリとしてプロセツサによつて
使用されるものである。次いで命令バツフア制御器61
はサブルーチンの第1命令を命令バツフア60に転送し
始める。ステツプD24に於いてマイクロシーケンサ4
4は古いプロセツサ状態ワード、サブルーチンマスクス
タツク整列ビツト及びCALLG/CALLSフラグか
らワードを形成しそしてこのワードをメモリスタツクに
保管する。ステツプD25に於いてマイクロシーケンサ
44はスタツクポインタレジスタの内容を新たなレジス
タフレーム指示体としてRl3レジスタへ転送する。次
いでステツプD26に於いては呼び出しルーチンのTビ
ツトに対応してTビツトがセツトされ、そしてステツプ
D27に於いてはマイクロシーケンサ44がサブZOル
ーチンマスクの最上位の2ビツトに基いて10進及び整
数オーバーフローフラグをセツトし、浮動アンダーフラ
グの様なその他のフラグを制御することもできる。
ここで、Tビツトについて詳述するに、Tビツトは、セ
ツトされるとき、あるプログラムの実行中、より詳細に
述べると、ある命令の実行中にエラーを検出する場合に
、プロセツサがトラツプ動作を行えるようにする。この
ようなエラーは、例えば、命令のオペランド指定子が存
在しないメモリ位置を指定したり、または、ユーザプロ
グラムがオペレーテイングシステム又はスーパーバイザ
に割り当てられていてそれによつてのみ実行されうる命
令を指定しているような場合に、生じうる。トラツプを
生じうる他のエラーの例としては、(1)命令のオペラ
ンド指定子が(例えば)バイトオペランドを指定してお
りその命令がワード又は長ワードオペランドを必要とい
ているような場合、(2)スタツクの限界が越えられた
場合、及び(3)電力故障の場合等がある。もしこれら
の状態のうちのどれかが生じ、Tビツトがセツトされる
ならば、プロセツサは、そのエラーをつきとめ、エラー
が生じたことをオペレータに知らせ、又は、その状態が
電力故障であるならばその機械の状態を保存させるよう
にルーチンを実行する。ステツプD28に於いては、新
たなアーギユメント指示体としてRl2レジスタに情報
が転送される。命令が第10A図に示したCALLG命
令であれば、この情報はアーギユメントカウントを含ん
だアーギユメントリストの第1位置のアドレスを含む。
命令が第10B図に示したCALLS命令であれば、こ
の情報はアーギユメントカウントオペランドがメモリス
タツクに送られた後のスタツクポインタの値を含むいず
れの場合にも、次に行なう動作は、メモリスタツクの次
に利用できる位置に記憶される状態取扱い体のアドレス
のために零の値を記憶することである(ステツブB28
)。これは次に続く状態取扱い体のアドレスのための位
置をメモリスタツクに確保し且つ又状態取扱い体が初め
存在しないことを示す。状態取扱い体は、1次サブルー
チンの実行中に或る例外的な状態が生じた場合に呼び出
すことのできる2次サブルーチンである。
特に、状態取扱い体サブルーチンは或るエラーが生じた
場合にデータ処理システムを既知の状態に戻すために使
用される。例えば、サブルーチンが存在しないフアイル
にアクセスしようとした場合に状態取扱いサブルーチン
を呼び出すことができる。この様な使用目的に於いては
、サブルーチンが、状態取扱い体サブルーチンのための
初期アドレスを、メモリスタツクの予約された位置に記
憶する。ステツプD28の後、中央処理装置は命令バツ
フア制御器61がステツプD23で検索を開始したとこ
ろのサブルーチンの第1命令を処理し始めることができ
る。
上記した2つのサブルーチン呼び出し命令は非常に強力
な働きをする。いずれの呼び出し命令の実行が終わつた
時にも、サブルーチンへ移行したりサブルーチンから移
行したりするのに必要な全ての情報が正しく保管されて
いる。特に、メモリスタツクは呼び出しルーチンのプロ
グラムカウンタの内容、及び呼び出しルーチンの状態を
保管するその他の情報を含んでいる。Rl2レジスタの
アーギユメントポインタを用いることによつてアーギユ
メントが容易に検索され且つ種々の状態フラグがセツト
され、従つてサブルーチンに対する環境も確立される。
サブルーチンの最後の命令は1つのオペレーシヨンコー
ドより成る戻り命令であり、これはオペランド指定子を
持つていない。
この命令に応答して、Rl3レジスタの現在フレームポ
インタの内容が変更されそしてRl4レジスタに戻され
、その前の呼び出し命令により確立されたメモリスタツ
クの最下部を指示し、マイクロシーケンサ44がたマち
にスタツクの関連部分の始めのところへ進むことができ
る様にする。メモリスタツクの次の位置の内容は、(1
)呼び出しルーチンに対する処理装置の状態と、(2)
サブルーチンマスクと、(3)サブルーチンが第10A
図の命令で呼び出されたか或いは第10B図の命令で呼
び出されたかという指示と、(4)スタツクの整列中に
記憶された2ビツト値とを含んでいる。
サブルーチンマスクはビツト位置0乃至11が零である
かどうかを決定するために試験される。もし零であれば
、レジスタを復帰する必要はなく、従つて保管されたサ
ブルーチンマスクを分離しそしてこの保管されたサブル
ーチンマスクの2つの高位ビツトを試験して10進数及
び整数オーバーフローフラグを再び確立することができ
る。サブルーチンマスクのビツト0乃至11のいずれか
が1を)含んでいれば、それらのレジスタを検索しなけ
ればならない。
次いでスタツクポインタが、保管されたスタツク整列ビ
ツトに応答して適正に整列される。中央処理装置は呼び
出し命令を識別するビツトを試験する。第10A図の命
令が呼び出され、その戻り動作が完全であれば、マイク
ロシーケンサ44は呼び出しルーチンの次の命令を処理
し始める。さもなくば、マイクロシーケンサ44はメモ
リスタツクからアーギユメントカウントを呼び出し、そ
のカウントを1だけ増加し、このカウントをバイト数に
変換し、このバイトの数をスタツクポインタレジスタの
内容に加算し、そしてその和を仮想アドレスラツチ67
に記憶する。次いで、検索されたプログラムカウンタの
内容を用いて命令バツフア制御器61は呼び出しルーチ
ンの呼び出し命令に続く命令である次の命令をメモリか
ら検索して、第10B図に示した呼び出し命令からの復
帰動作を完了することができる。この点、第11図を参
照して更に説明する。第11図は、CALLS及びCA
LLGサブルーチン呼び出し命令に応答するスタツクの
状態を示している。CALLSサブルーチンのためのア
ーギユメントは、呼び出しプログラムによつてスタツク
ヘプツシユされる。サブルーチン命令からの復帰に際し
ては次のような動作がなされる。復帰命令に応答して、
状態取扱い体が放棄され、状態ワードが状態レジスタへ
再格納され、アーギユメントポンタ、フレームポインタ
及びプログラムカウンタが再格納され、保管されたレジ
スタがサブルーチンマスクによつて指定される位置に再
格納される。この後、低位ビツトがスタツクポインタへ
再格納され、10進及び整数オーバーフローフイールド
が状態レジスタへ再格納される。この時までに、スタツ
クポインタは、もしサブルーチン呼び出し命令がCAL
LS命令であつたならば、スタツクのアーギユメントカ
ウントワードを指している(さもなければ、スタツクポ
インタは、サブルーチン呼び出し命令前のスタツクの頂
部を指している)。次に、プロセツサは、再格納された
プログラムカウンタによつて指示されている呼び出し命
令を検索し、その命令がCALLS命令であつたかCA
LLS命令であつたかを決定する。もしその命令がCA
LLG命令であつたならば、スタツクにアーギユメント
リスト又はカウントがなく、その復帰命令は完了してい
る。しかし、もしその呼び出し命令がCALLS命令で
あつたならば、プロセツサは、スタツク(スタツクポイ
ンタによつて指示されている位置にある)からアーギユ
メントカウントを検索し、そのアーギユメントカウンタ
をスタツクポインタの内容に加える。スタツクポインタ
は、スタツクへ新しいワードを加えるとき減少されるの
で(すなわち、スタツクは底部から満たされ且つ空とさ
れ、スタツクの頂部は実際にメモリのより低いアドレス
の方へ進行する)、この和は、アーギユメントリストが
呼び出しプログラムによつてスタツクヘプツシユされる
前には、スタツクの頂部にある。プログラムカウンタは
、増加され呼び出しプログラムの次の命令を指す。アー
ギユメントリストは、なおもスタツクにあるが、スタツ
クポインタは、アーギユメントが呼び出しプログラムに
よつて検索されるとき、変更される必要はない。概して
云えば、いかなる所与の長さを有することもできる色々
な形式の命令をデコードする様な処理装置を備えたデー
タ処理システムが説明された。
これらの命令の或るものはオペランド指定子を含まない
プログラム制御命令である。その他の命令は1つ或いは
それ以上のオペランド指定子を含んでもよく、各オペラ
ンド指定子はオペランドの位置を定める。本発明によれ
ば、オペランド指定子は、最終アドレスを計算するため
に中央処理装置により使用されるいかなる数のバイトを
備えもよい。色々な数のオペランド指定子及び色々なサ
イズのオペランド指定子を持つた命令をデコードできる
という中央処理装置の能力によつて命令を非常に融通性
のある組として処理することができるので、本発明の前
記した目的はこの様な処理装置によつて満足される。更
に、各々の命令のサイズは命令の流れの中で実行しなけ
ればならない機能に基いて決められるので、拘りのない
情報にまでフイールドを割ち当てなくてもよい。それ故
、プログラムがコンパクトとなり然もプログラムの作業
が簡単化される。前記した説明は本発明の特定の実施例
に限られたものであるが、種々の基本的命令を有するデ
ータ処理システムや、本明細書に述べたもの以外の内部
回路を用いたデータ処理システムに於いても本発明を実
施することができ、然して本発明の前記した目的及び効
果の1部或いは全部を達成できるということが明らかで
あろう。
それ故、本発明の範囲内に入るこの様なあらゆる変更及
び変型が特許請求の範囲に網羅されるものとする。
【図面の簡単な説明】
第1図は本発明により構成されたデジタルデータ処理シ
ステムのプロツク図、第2A図乃至2D図は本発明の特
定実施例に関連して用いられるデータの形式を示した図
、第3図は第1図に示した中央処理装置のプロツク図、
第4図は第1図及び3図に示された中央処理装置で処理
することのできる命令のフオーマツト及び編成を示した
図、第5図、5A図、5B図、及び5C図は第3図に示
したデータ路のプロツク図、第6A図は第3図に示した
命令バツフア及びデコード回路のプロツク図、並びに第
6B図及び6C図は第6A図に示された回路で伝送され
る或る信号を示した図、第7図及び第7A図は第1図及
び3図に示した中央処理装置の動作を理解する上で役立
つフローチヤート、第8A図は特定の命令のフオーマツ
トを示す図、第8B図はこの命令から導出される或る情
報を示す図、そして第8C−1図、8C−2図、及び8
C−3図は上記命令に応答した第1図及び3図の中央処
理装置の動作を示したフローチヤート、第9A及び9B
図は第8A図に示されよ命令の別のフオーマツトを示す
図、第9C−1図、及び9C−2図はこの変更された命
令に応答した第1図及び3図の中央処理装置の作動を示
すフローチヤート、第10A図及び10B図は呼び出し
サブルーチンに有用な命令のフオーマツトを示す図、そ
して第10C−1図、10C−2A図、10C−2B図
、10C−3図及び10C−4図はこれら命令に応答し
た第1図及び3図の中央処理装置の作動を示したフロー
チヤートである。 フローチヤト、第11図はCALLS及びCALLGサ
ブルーチン呼び出し命令に応答するスタツクの状態を示
す図である。10・・・・・・中央処理装置、11・・
・・・・メモリ装置、12・・・・・・入出力装置、1
4・・・・・・SB相互接続体、15・・・・・・オペ
レータのコンソール、16・・・・・・SBIインター
フエイス・メモリカツシユ回路、17・・・・・・アド
レス変換バツフア回路、18・・・・・・命令バツフア
回路、19・・・・・・データ路・内部レジスタ回路、
20A,20B・・・・・・メモリ制御器、21A,2
1B・・・・・・メモリ配列体、22・・・・・・I/
Oバスアダプタ、23・・・・・・/0装置、24,2
6・・・・・・2次記憶装置バスアダプタ、25・・・
・・・デイスク駆動装置、27・・・・・・テープ駆動
装置、30・・・・・・クロツク信号発生器、31・・
・・・・SBI制御回路、33・・・・・・データカツ
シユ回路、34・・・・・・変換バツフア、36・・・
・・・データ路、37・・・・・・命令バツフア・デコ
ード回路、40・・・・・・プログラA制御記憶回路、
42・・・・・・トラツプ一割り込み裁定回路、44・
・・・・・マイクロシーケンサ。

Claims (1)

    【特許請求の範囲】
  1. 1 オペランド及び命令を記憶するメモリ手段(第1図
    :11)を付加的に含むデータ処理システムにおいて命
    令に応答してオペランドを処理するための中央処理装置
    (第1図:10)であつて、各オペランドは、少なくと
    も1つの情報バイト(第2A図から第2D図)からなり
    、各命令は、少なくとも1つの情報バイトを有するオペ
    レーションコード(第4図:50)を含んでおり、前記
    命令のうちのあるものは、少なくとも1つのオペランド
    指定子(第4図:51、52、53)を含んでおり、各
    オペランド指定子は、少なくとも1つの情報バイトから
    なり、前記データ処理システムにおけるオペランドのた
    めの位置を識別するようになつている中央処理装置にお
    いて、A、相続く命令におけるオペレーションコードの
    前記メモリ手段における位置を識別するためのプログラ
    ムカウンタ手段(第5A図)と、B、前記プログラムカ
    ウンタ手段に接続され且つ前記メモリ手段に接続しえて
    前記メモリ手段から相続く情報バイトを通常順次検索す
    るための命令検索手段(第3図及び第6A図:60、6
    1、62、63、70)と、C、前記命令検索手段に接
    続されたオペレーションコードに応答して命令が含んで
    いるオペランド指定子の数を確認するためのオペレーシ
    ョンコードデコード手段(第6A図:71、DEMUX
    )と、D、前記命令検索手段に接続され且つ前記オペレ
    ーションコードデコード手段に接続されオペレーション
    コードに続く情報の相続くバイトを順次デコードして各
    指定されたオペランドのための位置を識別するためのオ
    ペランド指定子デコード手段(第6A図:72、73)
    とを備えており、前記オペランド指定子デコード手段は
    、オペランド指定子における情報バイトの総数を識別す
    るオペランド指定子における情報に応答して前記メモリ
    手段における隣接するバイト位置に記憶された可変数の
    情報バイトからなる相続く命令を前記メモリ手段から検
    索しうるようにすることを特徴とする中央処理装置。
JP53132099A 1977-10-25 1978-10-25 可変長さの命令を実行する中央処理装置 Expired JPS5931733B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US84505577A 1977-10-25 1977-10-25
US000000845055 1977-10-25

Publications (2)

Publication Number Publication Date
JPS5484943A JPS5484943A (en) 1979-07-06
JPS5931733B2 true JPS5931733B2 (ja) 1984-08-03

Family

ID=25294286

Family Applications (1)

Application Number Title Priority Date Filing Date
JP53132099A Expired JPS5931733B2 (ja) 1977-10-25 1978-10-25 可変長さの命令を実行する中央処理装置

Country Status (9)

Country Link
JP (1) JPS5931733B2 (ja)
AU (1) AU518656B2 (ja)
BR (1) BR7807060A (ja)
CA (1) CA1114515A (ja)
DE (1) DE2846520A1 (ja)
ES (1) ES474427A1 (ja)
FR (1) FR2407519B1 (ja)
GB (1) GB2007887B (ja)
IN (1) IN150275B (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4415969A (en) * 1980-02-07 1983-11-15 Intel Corporation Macroinstruction translator unit for use in a microprocessor
US4491908A (en) * 1981-12-01 1985-01-01 Honeywell Information Systems Inc. Microprogrammed control of extended integer and commercial instruction processor instructions through use of a data type field in a central processor unit
US4586130A (en) * 1983-10-03 1986-04-29 Digital Equipment Corporation Central processing unit for a digital computer
US5761491A (en) * 1996-04-15 1998-06-02 Motorola Inc. Data processing system and method for storing and restoring a stack pointer

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5145946A (ja) * 1974-10-17 1976-04-19 Fujitsu Ltd Deetashorishisutemu
JPS5282149A (en) * 1975-12-29 1977-07-09 Fujitsu Ltd Instruction address control system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3573851A (en) * 1968-07-11 1971-04-06 Texas Instruments Inc Memory buffer for vector streaming
US3577189A (en) * 1969-01-15 1971-05-04 Ibm Apparatus and method in a digital computer for allowing improved program branching with branch anticipation reduction of the number of branches, and reduction of branch delays
US3614741A (en) * 1970-03-23 1971-10-19 Digital Equipment Corp Data processing system with instruction addresses identifying one of a plurality of registers including the program counter
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
US3710324A (en) * 1970-04-01 1973-01-09 Digital Equipment Corp Data processing system
US3999163A (en) * 1974-01-10 1976-12-21 Digital Equipment Corporation Secondary storage facility for data processing systems
DE2419837B2 (de) * 1974-04-24 1976-12-02 Nixdorf Computer Ag, 4790 Paderborn Schaltungsanordnung zur adressierung eines mikroprogramms in datenverarbeitungseinrichtungen und verfahren zur durchfuehrung von sprungbefehlen

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5145946A (ja) * 1974-10-17 1976-04-19 Fujitsu Ltd Deetashorishisutemu
JPS5282149A (en) * 1975-12-29 1977-07-09 Fujitsu Ltd Instruction address control system

Also Published As

Publication number Publication date
AU518656B2 (en) 1981-10-15
IN150275B (ja) 1982-08-28
CA1114515A (en) 1981-12-15
DE2846520C2 (ja) 1991-10-24
GB2007887B (en) 1982-07-28
BR7807060A (pt) 1979-07-17
FR2407519A1 (fr) 1979-05-25
JPS5484943A (en) 1979-07-06
GB2007887A (en) 1979-05-23
ES474427A1 (es) 1979-04-16
DE2846520A1 (de) 1979-04-26
AU4104578A (en) 1980-05-01
FR2407519B1 (fr) 1987-08-28

Similar Documents

Publication Publication Date Title
JPS5931734B2 (ja) 特別のオペランド指定子を持つた命令を実行する中央処理装置
US4236206A (en) Central processor unit for executing instructions of variable length
US4395758A (en) Accelerator processor for a data processing system
US4524416A (en) Stack mechanism with the ability to dynamically alter the size of a stack in a data processing system
EP0381471B1 (en) Method and apparatus for preprocessing multiple instructions in a pipeline processor
EP0782071B1 (en) Data processor
US5347636A (en) Data processor which efficiently accesses main memory and input/output devices
US4338663A (en) Calling instructions for a data processing system
EP0405495B1 (en) Instruction unit logic management apparatus included in a pipelined processing unit and method therefor
US4587632A (en) Lookahead stack oriented computer
JPS5911943B2 (ja) デ−タ処理装置の為のトラツプ機構
JPH02234229A (ja) ソース・リスト、ポインタ・キューおよび結果キュー
JPS59501684A (ja) 目的命令ストリ−ムへ殆んど実時間で插入するためのソ−スおよび目的命令ストリ−ムの外部における加速式命令写像
JPH0283735A (ja) 命令先取り装置
US4562538A (en) Microprocessor having decision pointer to process restore position
US4241399A (en) Calling instructions for a data processing system
EP0139080B1 (en) An information-processing system
US4791560A (en) Macro level control of an activity switch in a scientific vector processor which processor requires an external executive control program
US3623158A (en) Data processing system including nonassociative data store and associative working and address stores
JP2638581B2 (ja) 命令及びオペランドをプロセッサに提供する取り出し機構
JPS5931733B2 (ja) 可変長さの命令を実行する中央処理装置
JPS5931735B2 (ja) デ−タ処理システムのための中央処理装置
EP0301707A2 (en) Apparatus and method for providing an extended processing environment on nonmicrocoded data processing system
Rolund et al. The 3B20D Processor & DMERT Operating System: 3B20D Central Processing Unit
JP2626675B2 (ja) データ誘起状態信号発生装置及び方法