JPH026091B2 - - Google Patents

Info

Publication number
JPH026091B2
JPH026091B2 JP56016779A JP1677981A JPH026091B2 JP H026091 B2 JPH026091 B2 JP H026091B2 JP 56016779 A JP56016779 A JP 56016779A JP 1677981 A JP1677981 A JP 1677981A JP H026091 B2 JPH026091 B2 JP H026091B2
Authority
JP
Japan
Prior art keywords
sequencer
access
memory
microinstruction
bus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP56016779A
Other languages
English (en)
Other versions
JPS56127250A (en
Inventor
Rii Batsudo Debitsudo
Richaado Korii Sutefuan
Resuri Domeniku Sutefuan
Resuri Gutsudoman Aran
Debitsuto Hawaado Jeimusu
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of JPS56127250A publication Critical patent/JPS56127250A/ja
Publication of JPH026091B2 publication Critical patent/JPH026091B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/226Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3824Operand accessing

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)

Description

【発明の詳細な説明】
本発明はデータ処理装置に関するものであり、
更に詳しくいえば、マクロ命令を復号してマイク
ク命令の流れを発生する命令装置により発生され
たマイクロ命令の流れ内の符号化された機能をエ
ミユレータするための改良された実行装置に関す
るものである。 1978年12月21日付の未決の米国特許出願第
971661号(米国特許第4325120号)「データ処理装
置(Date Processing System)」には、超LSI技
術における発明完成時点における技術水準の進歩
の成果を十分に利用したオブジエクト指向のデー
タ処理装置アーキテクチヤが開示されている。上
記の米国特許出願にはそのアーキテクチヤにより
サポートされる種類の広いデータ・スペクトラム
にわたつて一般化された計算を行うことができる
汎用処理装置が記述されている。そのように複雑
なマイクロプロセツサはいくつかの複雑な論理回
路を必要とする。現在の集積回路技術をもつてし
ても、この複雑なマイクロプロセツサは大規模す
ぎて1枚のチツプ上に作ることはできず、したが
つて何枚かのチツプに分割して作らなければなら
ない。 「マイクロプロセツサにおいて使用するための
マクロ命令装置」と題する、本願出願人による特
許出願昭和56年第16780号(特開56−127251号)
には、前記論理回路を分割する場所を決定する際
に考慮せねばならないいくつかの要素が論じられ
ている。この特許出願および前記特許出願に記載
されているように、マイクロプロセツサは命令装
置と実行装置に分割されてそれぞれ別のチツプに
作られる。2枚のチツプの間の通信はチツプ間の
バスを介して行われる。主メモリおよび入力/出
力装置のような外部装置とのチツプを離れた通信
は、「マイクロプロセツサ・インターフエイス制
御装置(Micro processor Interface Control
Apparatus)」と題する1978年12月21日付の米国
特許出願第972007号(米国特許第4315308号)に
より詳しく記載されているインターフエイスを介
して行なわれる。 以下に述べるのは、マイクロ命令を実行するた
めの論理回路を集積回路チツプで製造するための
いくつかの先行技術についての概要である。 米国特許第3798606号(特公昭54−7418号)に
は、データのMビツトを処理するためにCPU機
能とメモリ機能をM個のモジユールに分割するこ
とによりコンピユータを区画に分けている。この
米国特許には、パイプライン技術を用いる本発明
では用いられないビツト/スライス区画技術が示
されている。 米国特許第3943494号(特公昭53−14902号)に
は、別々のチツプにそれぞれ作られるいくつかの
同期されたサブプロセツサに区画されるマイクロ
プロセツサが開示されている。各サブプロセツサ
は命令レジスタと、命令の一部を独立して実行す
るための命令実行回路とを有する。同じ命令を各
サブプロセツサへ同時にロードすることにより実
行は開始および同期させられる。この米国特許に
は、本発明で行われている、命令装置と実行装置
の境界でマイクロプロセツサを区画するという技
術的思想は開示されておらず、その代りに各サブ
プロセツサ・チツプに命令レジスタを利用してい
る。 米国特許第3947822号(特公昭52−47976号)に
は、マイクロプロセツサをいくつかの制御器に分
割し、制御器のそれぞれの命令を時間的に重なり
合うやり方で実行する技術が開示されている。こ
の米国特許は1つの制御器を1枚のチツプ上に作
り、1つのレジスタを他の1枚のチツプ上り作
り、時分割制御機構を利用する技術が開示されて
いるが、本発明はパイプライン技術を利用してい
る。 米国特許第4075704号(特公昭60−44696号)に
はパイプライン技術で作られたマイクロプロセツ
サが開示されている。加算器と乗算器が同時に動
作するように、何本かの同時に動作できる並列バ
スにより加算器と乗算器が相互に結合される。加
算器と乗算器は、計算の途中結果を次のクロツ
ク・サイクル中に次の段で使用するために、その
途中結果を受ける中間一時記憶レジスタにより分
離される。この米国特許にはパイプライン技術で
作られたマイクロプロセツサが開示されている
が、本発明で開示されているような、命令装置/
実行装置インターフエイスでマイクロプロセツサ
を区画するという技術は開示されていない。 本発明の目的は、マイクロ命令を受けるための
実行装置を得ることである。それらのマイクロ命
令は、演算を実行することと、それらのマイクロ
命令に含まれている論理アドレスからメモリ・ア
ドレスを発生することを実行装置に指示するもの
である。 本発明の別の目的は、命令装置から受けた可変
長マイクロ命令を処理でき、かつ実行のために得
ることができる新しいマイクロ命令を命令装置が
受けることができるように、前記マイクロ命令の
実行完了前に前記命令装置へ合図する実行装置を
得ることである。 本発明の更に別の目的は、前のマクロ命令を構
成するマイクロ命令を実行装置が実行している間
に、命令装置が次のマクロ命令の復号を開始でき
るように、命令装置による要求に応じてマクロ命
令を主メモリから取り出すために演算動作の実行
を停止できるように構成された実行装置を得るこ
とである。 要約すれば、それらの目的は、チツプ上の種々
の論理ブロツクが互いに独立して機能するよう
に、それらの論理ブロツクの間に機能が分配され
るように構成されたマイクロプロセツサ実行装置
を提供する本発明によつて達成される。演算動作
を実行するために、レジスタと演算性能を含み、
種々のマイクロ命令を順次配列する数学的シーケ
ンサにより制御されるデータ操作器により演算動
作が実行される。 主メモリのアドレス・スペース内にアドレスを
発生して検査するために、ベースおよび長さレジ
スタを含み、かつ演算性能を有する参照発生器に
よりメモリの参照が実行される。この参照発生器
は、チツプとは別の所に設置されている主メモリ
とチツプ上のオペランド・スタツクとをアクセス
するために種々のマイクロ命令を順次配列するア
クセス・シーケンサにより制御される。 本発明の1つの面に従つて、主メモリとインタ
ーフエイスしてマイクロ命令のような情報をとり
出し、主メモリからのインターフエイス線をモニ
タし、情報のとり出しが完了して、実行装置が新
しいマイクロ命令を受ける用意ができた時に命令
装置に合図するための要素がアクセス・シーケン
サ内に設けられる。 本発明の別の面に従つて、可変数のクロツク・
サイクルを完了に要する演算型マイクロ命令を復
号し、そのマイクロ命令により指定されている機
能を実行するために必要なサイクルにわたつて状
態マシーンをそれぞれの状態に順序づけ、その実
行が完了した時にチツプ間バスを介して命令装置
に合図する要素が数学的シーケンサに設けられ
る。実行が実際に完了する一定時間前(たとえば
1サイクル前)に命令装置を合図することによ
り、命令装置には実行のための新しいマイクロ命
令を与える時間与えられ、それにより遊び時間が
生ずることを避ける。 演算機能とメモリ・アクセス機能を分離するこ
とにより、実行装置はマイクロ命令の流れの中間
で停止すること、命令装置により送られてきたマ
イクロ命令により指示されたメモリのとり出しを
行うこと、そのとり出しが完了した時に命令装置
へ合図すること、およびそれからマイクロ命令の
流れへ戻つて演算動作を完了することができる。
この能力により、命令デコーダとマイクロ命令シ
ーケンサ(両者ともに命令装置チツプ上にある)
およびマイクロ命令実行装置(実行装置チツプ上
にある)を含むパイプラインを、命令装置が復号
できる次のマクロ命令を実行装置がとり出すこと
ができるようにすることにより、一杯にすること
ができ、その間にマイクロ命令シーケンサ/マイ
クロ命令実行装置対が前のマクロ命令を完了す
る。 本発明の更に別の面に従つて、実行装置と命令
装置の間に障害バスが設けられる。実行装置が障
害を認めると、このバスに障害エンコーデイング
が置かれ、障害エンコーデイングが障害バスに置
かれたことを示す障害信号が同じサイクル中に発
生されて、命令装置が障害エンコーデイング情報
を保持できるように、障害が生じたことを命令装
置へ警報する。障害を認める前に命令装置が始動
していたかも知れない如何なる可変長マイクロ命
令をも取り消すために、完了線が指定されて、そ
のサイクルは障害線の指定にすぐ続いておこなわ
れる。 以下、図面を参照して本発明を詳細に説明す
る。 (1.0) 本発明の予備説明 以下に行う予備説明は、本発明が具体化され
る実行装置の種々の素子を広く述べ、この明細
書全体にわたつて用いられる用語のいくつかに
ついての説明を行うものである。本発明を具体
化できる種類のデータ処理装置が前記米国特許
出願第971661号に詳しく説明されている。この
米国特許出願の第5図と第6図には本発明の実
行装置をデータ処理装置の残りの部分とどのよ
うにして相互に接続するかが示されている。こ
の実行装置は二部分汎用データ処理装置の1つ
の部分である。他の部分は装置間バスを介して
実行装置と交信する命令装置である。命令装置
は米国特許出願第971661号と米国特許出願第
972007号に詳しく記載されている。命令装置/
実行装置対とデータ処理装置の残りの部分との
間のインターフエイスは前記米国特許出願第
972007号に詳しく記述されている。理解を容易
にするために、前記米国特許出願第971661号明
細書において各種の機能ブロツクを示すために
用いられている参照番号を、以下に行う本発明
の説明において同じ論理ブロツクを示すために
用いることにする。 まず第1図を参照して、実行装置はデータ操
作器(DMU)230と参照発生器(RGU)2
32との2つの主な論理部で構成される。
DMU230は数学的シーケンサ818により
制御され、RGU232はアクセス・シーケン
サ403により制御される。この実行装置はア
ドレス/制御/データ・バス(ACD)と装置
間バスとの2つの外部バスと相互に作用する。 ACDバス214は、バス・トランザクシヨ
ンにおける種々の時間中にアドレス、制御また
はデータを選ぶことができる。アクセス・シー
ケンサ403内のバス・インターフエイス・ロ
ジツクがISAとISBをモニタすることにより
ACDバス線の状態を決定する(これについて
は、前記米国特許出願第972007号に詳しく記述
されている)。 装置間バスは実行装置と命令装置との間の通
信リンクである。この装置間バスはマイクロ命
令と論理アドレス情報を命令装置から実行装置
へ運ぶ。また、この装置間バスは状態および障
害情報を実行装置から命令装置へ運ぶととも
に、命令装置の命令デコーダのためのビツト・
ポインタ情報を運ぶ。この装置間バスはマイク
ロ命令バス220とBP/Fバス217との2
つの主なバスを有する。更に、ブランチ・オ
ン・コンデイシヨン・ビツトを実行装置から命
令装置へ戻す真線218と、障害が実行装置に
より検出されたことを合図する障害線221と
が設けられる。 可変サイクル・マイクロ命令の実行が実行装
置により完了させられた時に、命令装置へ合図
するために完了線219が設けられる。 マイクロ命令バス220は命令装置から実行
装置への一方向バスである。このバスはマイク
ロ命令と論理アドレス・データを実行装置へ転
送するために用いられる。正常な動作の下にお
いては、マイクロ命令は命令装置のマイクロプ
ログラムROMから読出され、マイクロ命令バ
スを介して実行装置へ転送される。 データ操作器(DMU)230はレジスタを
含み、命令装置により復号されたマクロ命令の
機能を行う演算性能を有する。数学的シーケン
サ818は命令装置から受けた実行動作マイク
ロ命令の16の変化を実行する全てのシーケン
ス・ハードウエアを含む。この数学的シーケン
サはDMUの動作を制御する。 参照発生器(RGU)232はベースおよび
長さレジスタを含み、主メモリの区画されてい
るアドレス・スペース内にアドレスを発生する
ことと、それらのアドレスを検査する性能を有
する。RGU232はアクセス・シーケンサ4
03により制御される。このアクセス・シーケ
ンサは外部主メモリとオン・チツプ・オペラン
ド・スタツク404をアクセスするのに必要な
全てのハードウエアを含む。アクセス・シーケ
ンサ/RGU対は通信し、線ISAとISBの制御の
下にACDバス214を介しての主メモリへの
転送を制御する。 あるマイクロ命令の実行時に障害論理410
によりいくつかの障害が検出される。そうする
と、実行装置が内部障害状態に入り、BP/F
バス217上の障害の種類を示す4ビツト・コ
ードを命令装置へ送り、障害線221を指示す
る。この障害エンコーデイングは、命令装置の
障害ROMからの障害マイクロ命令の流れのス
タート・アドレスを選択するために命令装置に
より用いられる。障害が起ると実行装置への障
害マイクロ命令が中断され、障害マイクロ命令
の流れは実行装置へ送られる。障害の流れが終
ると、中断された流れの実行が再開される。 BP/Fバス217も分岐の実行のために用
いられる。命令装置/実行装置対のためのプロ
グラム・カウンタは2つの部分として記憶され
る。すなわち、二重バイト・ポインタは実行装
置に記憶され、ビツト・ポインタは命令装置に
記憶される。分岐の場合には、実行装置は全体
のプログラム・カウンタに対していくらかの計
算を行わねばならないことがある。これを行う
ために、命令装置はビツト・ポインタをマイク
ロ命令バス220を介して実行装置へ転送で
き、新しいビツト・ポインタ情報をBP/F線
を介して命令装置へ戻すことができる。障害線
がアサートされなければ、命令装置はBP/F
線がビツト・ポインタ情報を運ぶことを常に仮
定する。障害が確認されたとすると、BP/F
線上の情報は障害エンコーデイングと解釈され
る。BP/F線は、分岐がオペランド・スタツ
ク404の1番上を通じて行われるものとする
と、そのスタツクの1番上の下位4ビツトを転
送するためにも用いられる。 チツプ間バスの残りの線は真線と完了線であ
る。 真線はマイクロ・コード中の条件付き飛越し
が実行される時に常に用いられる。命令装置内
のマイクロプログラムは、飛越しを望む動作を
実行し、それから実行装置が(真線上の)適切
な条件フラツグを戻すことを要求する。そして
その条件フラツグは命令装置内に保持される。
それから、命令装置はその条件を基にして飛越
しを行う。 可変サイクル・マイクロ命令の実行中に完了
信号を命令装置へ戻すために完了線219が用
いられる。命令装置は、可変サイクルマイクロ
命令が実行装置へ転送されていることを検出
し、実行装置がそのマイクロ命令を終了しよう
としていることを完了線が示すまで、そのマイ
クロ命令をループ・オンする。実行装置がマイ
クロ命令を終了する2分の1サイクル前に完了
信号が実行装置によつて送り出される。これに
より、マイクロ命令バス220上に既に存在す
る次のマイクロ命令を受けることができるから
サイクルは失われない。 (2.0) 一般的なバスおよびタイミング構造 CLKAとCLKBに対する実行装置の一般的な
内部タイミングを第3図に示す。次の各節は
種々のバス構造の詳細を説明するものである。 (2.2) クロツク制御方式 実行装置には4相クロツク制御方式が用いら
れる。ph1とph2はCLKAから発生される重
り合わない信号である(ph1はCLKAが高い
時に高く、ph2はCLKAが低い時に高い)。ph
1Dとph2Dはph1とph2からそれぞれ90度
遅れている重なり合わない信号で、CLKBから
発生される信号である(ph1DはCLKBが高
い時に高く、ph2DはCLKBが低い時に高
い)。ph1の前縁部で始まり、ph2の後縁部で
終るマイクロサイクルが定められる。 (2.2) 内部バス 高度の平行関係を得るため、および与えられ
たバスについての容量性ローデイングを妥当な
レベルまで保つために、実行装置は多数内部バ
ス構造を用いる。全てのバスは、バスのプルダ
ウンを駆動する相の前縁部に続く1つまたは2
つのバツフア・インバータ4分の1サイクルの
間有効であると仮定している。以下の節は各内
部バスのタイミングと一般的な用途について述
べるものである。 (2.2.1) DMUソースおよび行先バス(Aバスと
Bバス) データ操作器(DMU)は2本の16ビツ
ト・ソース・バス、すなわちAバスおよびB
バス(A15…Aφ、B15…Bφ)と、1つの16
ビツト行先バスすなわちCバス(C15…Cφ)
を有する。これら3本のバスは予充電・条件
付放電型である。2本のソース・バスはph
2の間に駆動され、行先バスは次のph1の
間に駆動される。これに対する1つの例外は
乗算動作に対するものである。行先バスのト
ツプの2ビツト(C15、C14)はph1とph1
Dが一致している間に駆動される。ソースバ
スを駆動する素子はレジスタ、スタツク、二
重終端行列(double−ended queues)およ
びソース情報を含む素子である。行先バスを
駆動する素子はALU、エキストラクタなど
のような機能ブロツクである。ソース・バス
は行先バスを駆動する機能ブロツクへの情報
のソースであり、同様に、行先バスは各種の
スタツク、レジスタなどへの情報のソースで
ある。とくにどのバスがどのブロツクへ接続
するかについての説明はブロツクについての
説明の項で行う。 (2.2.2) RGU移動バス(M15…Mφ) 4つの移動スタツクの1つとアドレス発生
器および長さ検査ハードウエアの間を接続す
るバスとして16ビツト移動バスすなわちDバ
ス(D15…Dφ)が用いられる。このバスは
予充電(ph1の間)の条件付・放電(ph2
の間)型でもある。 (2.2.3) メモリ・インターフエイス・バス
(M15…Mφ) EDQsとACDピンの間で情報のやりとりを
するために16ビツト・バスが用いられる。メ
モリ・インターフエイス・バス、M−バス
(M15…Mφ)であるこのバスはアドレスお
よびアクセス指定情報をACDピンへ送るた
めにも用いられるとともに、DEQsからのデ
ータをベースおよび長さフアイルへ転送する
ためにも用いられる。このMバスは予備充電
(ph1・ph2D+ph2・ph1Dの間)条件付
放電型(ph1・ph1Dまたはph2・ph2D
の間)である。与えられたサイクルの間にこ
のバスが2つのデータ片を転送できねばなら
ない理由は、オペランド・スタツクのための
ものである書込みアクセスと、チツプ上では
ないメモリへ転送される書込みデータとに対
して、オペランド・スタツクのチツプ上の部
分を介して書込まねばならないからである。
すなわち、オペランド・スタツクのチツプ上
の部分は、与えられたサイクルのph2・ph
2Dの間にM15…Mφに対して、およびACD
ピンまでゲートで隔てられ、DEQからの書
込みデータはM15…Mφおよびチツプ上のオ
ペランド・スタツクまでゲート制御されて与
えられて、次のph1・ph1Dの間に古い値
に代わる。 (2.2.4) PLA入力制御バス いくつかのバスはPLA入力分配制御バス
と名づけられるものを備えている。基本的に
は、1つの分配マイクロ命令デコーダPLA
への入力である任意の信号はこのバスのメン
バーである。この群を構成する別のバスにつ
いては以後の項で説明する。 (2.2.4.1) マイクロ命令バス(MI15…MIφ) マイクロ命令バス(MI15…MIφ)は、
マイクロ命令レジスタとマイクロ命令デコ
ーダPLAsの間で交信する内部16ビツト予
備充電(ph2の間)条件付・放電(すべ
てのph1)バスである。多重サイクル・
マイクロ命令に対しては、このバスは与え
られたマイクロ命令の各サイクルに対して
同じデータを含む。 (2.2.4.2) 状態バス(T1…Tφ) 状態バス(T1…Tφ)は与えられたマイ
クロ命令の現在のサイクルを与える2ビツ
ト予備充電(ph2の間)条件付・放電(ph
1の間)バスである。種々の型式のマイク
ロ命令の符号化を以下に列挙する。 1 単一サイクル・マイクロ命令:T1、Tφ=
φφ。 2 二重サイクル・マイクロ命令:T1、Tφ=
φφ、φ1。 3 三重サイクル・マイクロ命令:T1、Tφ=
φφ、φ1、11。 4 実行動作マイクロ命令:T1、Tφ=φφ、
φ1、φ1、φ1。 5 非スタツク−アクセス・マイクロ命令:
T、Tφ=φφ、φ1、11、1φ、1φ…、1φ。 6 ポツプ・マイクロ命令(オン・チツプの
み):T1、Tφ=φφ、φ1、11。 7 ポツプ・マイクロ命令(オフ・チツプ):
T1、Tφ=φφ、φ1、11、φφ、φ1、11、1φ、
1φ、…、1φ。 8 ブツシユ・マイクロ命令(オン・チツプの
み):T1、Tφ=φφ、φ1、11、1φ。 9 プツシユ・マイクロ命令(オフ・チツ
プ):T1、Tφ=φφ、φ1、11、φ1、1φ、…、
1φ。 10 プツシユ・マイクロ命令(一部オン・チツ
プ、一部オフチツプ):T1、Tφ=φφ、φ1、
11、1φ、φφ、φ1、11、1φ、…1φ。 状態バスのための別の記号は次のとおり
である。 Sφ:=T1、Tφ=φφ S1:=T1、Tφ=φ1 S2:=T1、Tφ=11 S3:=T1、Tφ=1φ (2.2.4.3) アクセス・シーケンサ・バス
(ASxxxxxx) アクセス・シーケンサ・バス801
(ASxxxxxx)は、メモリをアクセスする
ために用いられる種々の機能ブロツクを制
御するのに用いられる8ビツト・バスであ
る。下記の1〜5項はタイミング信号であ
り、6〜8項はメモリとオン・チツプ・ス
タツク828に対するアクセスの状態を指
示するフラツグである。前記5つのタイミ
ング信号は予備充電(ph2の間)条件付
放電(ph1の間)型信号である。他の3
つの信号は駆動される信号で、ph1の間
は全て有効である。 1 ASQPOP:ADEQ400またはEDEQ4
02を読出させ、またはポツプさせ、ゲート
制御してACDピンまたはオンチツプのオペ
ランド・スタツク828へ与える。MI10と
M19がDEQを指定するとともに、DEQをポ
ツプさせるか読出させるかを指定する。マル
チダブル・バイト・アクセスがポツプが指定
されることを求める。 2 ASQDR:ADEQまたはBDEQを、ACDピ
ンまたはオンチツプ・オペランド・スタツク
からMバスへちようど転送されたデータで、
プツシユまたはドロツプさせる。MI10と
MI9がDEQを指定し、情報をDEQ内へプツ
シユまたはドロツプさせるか否かを指定す
る。オペランド・フラツグも、MI10、MI9
によりドロツプが指定された時に、この信号
のアサーシヨンを介して適切にロードされ
る。 3 ASSSPSH:メモリからACDピンへちよ
うど転送されたデータでSSSTK404をプ
ツシユさせる。 4 ASEXPPS:ACDピンまたはオン・チツ
プ・オペランド・スタツクからMバスへちよ
うど転送された一時的な実オペランドの指数
フイールドでEXPSTK406をプツシユさ
せる。ドロツプがMI10、MI9により指定さ
れると、オペランド・フラツグもこの信号の
アサーシヨンを介して適切にロードされる。 5 ASEXPP:EXPSTKをポツプさせて、
ACDピンまたはオンチツプ・オペランド・
スタツクへ送り出させる。EXPSTKがポツ
プオフされた時にSBフラツグがビツト15に
添えられる。 6 ASACCSTK:この信号は、アサートされ
た時に、アクセスのオンチツプ部分とは反対
に、アクセスのメモリ部分内に現在のスタツ
ク・アクセスがあることを示す。それは、ス
タツク・アクセスのどのサイクルが現在ある
かを決定するための状態バスとともに用いら
れる。 7 ASFUL:このフラツグはオンチツプ・オ
ペランド・スタツクが内部に有効な情報を有
するかどうかを示す。これは、SPSTKが障
害回復理由であるのでちようど同様に、ツー
デイープ・バイ・ワン・ビツト・スタツクと
して作られる。 8 ASOGTFUL:このフラツグは、指定され
た時に、ポツプ・マイクロ命令中で指定され
たオペランド長が、オンチツプ・オペラン
ド・スタツク内の二重バイトの数より大であ
ることを示す。もしそうであると、ポツプ・
マイクロ命令は、最初にオペランドの最初の
部分に対してメモリへ行かなければならず、
それからオンチツプ・オペランド・スタツク
からの最後の二重バイト(1つあれば)をピ
ツク・アツプせねばならない。 (2.2.4.4) 数学的シーケンサ・バス
(MSxxxxxx) 数学的シーケンサ・バス800
(MSxxxxxx)は数学的シーケンサ制御
ROM802の出力端子である28ビツト被
駆動バス(ph1の間は有効)である。そ
れらの信号は実行動作マイクロ命令の間に
DMU機能ブロツクを制御するために用い
られる。各信号は下記のように定義され
る。 MSAQOP:ADEQの再循環を行わせる
@BPSH、@APP、および@AQ@Aをア
サーシヨンさせる。 MSBPSH:BDEQへのC15…Cφのプツ
シユを行わせる@EPSHをアサーシヨンさ
せる。 MSBDR:BDEQへのC15…Cφのドロツ
ピングを行わせる@BDRをアサーシヨン
させる。 MSBPP:BDEQの1レベル・ポツプア
ツプさせることと、BDEQをB15…Bφへ
ゲート制御することをさせる@BPP、
@BQ@Bをアサーシヨンさせる。 MSZ@B:零をB15…Bφへゲートさせ
る@RDROMをアサーシヨンさせる。 MSFDR:@FDRをアサーシヨンさせ
る。これはFIFOへのC15…Cφのドロツピ
ングを行わせる。 MSFPP:@FPPをアサーシヨンさせ
る。これはFIFOの1レベル・ポツプアツ
プと、それのB15…Bφへのゲートを行わ
せる。 MSAU@M:@AU@Mをアサーシヨン
させる。これはALU17…ALUφをマスタ
17…マスタφへロードさせる。 MSSHORT:@SHORをアサーシヨン
させる。これはMaster17…Master2を
Slave15…Slaveφへロードさせる。 MSM@SL:MSSHORTとMSS@Cと
一致してのみアサートされる。これは
ALU1…ALUφとSlave13…SlaveφのC15
…Cφの連結を行わせて、ダブル・バイト
境界を横切つての2ビツト右桁送りを終了
させる。 MSM@B:@M@Bをアサーシヨンさ
せる。これはMaster15…MasterφをB15
…Bφへゲートする。 MSS@C:@S@Cをアサーシヨンさ
せる。これは、MSM@SLがアサートされ
なければ、Slave15…SlaveφをC15…Cφへ
ゲートする。アサートされたならば、
MSM@SLの定義を見よ。 MSB@SR:シフトレジスタへB15…Bφ
をロードする(SR15…SRφ)。 MSSR@C:SR15…SRφをC15…Cφへ
ゲートする。 MSSR2:シフトレジスタを右へ2ビツ
ト桁送りさせる。 MSSL1:シフトレジスタを左を1ビツ
ト桁送りさせる。 MSSL2:シフトレジスタを左へ2ビツ
ト桁送りさせる。 MS1ST:現在の動作サイクルの最初の
ダブル・バイトを指定する。 MSSHAL:Aバスを左へ1だけ桁送り
できるようにして、ALU入力マルチプレ
クサにおいて2の乗算を行う。この桁送り
は乗算制御ビツト(MCB2…MCBφ)に
より制御される。 MSSHAB:AバスとBバスを左へ2ビ
ツト桁送りさせる。この信号は平方根アル
ゴリズムにおいて用いられる。 MSSHB:Bバスを左へ1ビツト桁送り
させる。この信号は除算および剰余アルゴ
リズムで用いられる。 MSA16@C:フラツグ(CF)に
ALU16をロードして、除算および剰余動
作に る後の整理編集サイクルを制御す
る。この信号はREDCY1フラツグのクリ
ヤもする。 MSC18@C:ALUcy18を制御フラツグ
中にロードして、平方根動作における後の
整理編集サイクルを制御する。この信号は
REDCY1フラツグのクリヤも行う。 MSLDF:@LDFのアサーシヨンを行わ
せる。これはCバスからのALUフラツグ
をロードする。 MSCLDF:@LDFのアサーシヨンを行
わせる。これはCバスからのALUフラツ
グをロードする。 MSROC:剰余−序数−修正サイクルが
行われていることをALU制御ロジツクへ
知らせる。 MSRIC:剰余−整数−修正サイクルが
行われていることをALU制御ロジツクへ
知らせる。 MSDIC:除算−整数−修正サイクルが
行われていることをALU制御ロジツクへ
知らせる。 (2.2.5) マイクロ命令レジスタおよび状態PLA 現在のマイクロ命令をバツフアするために
16ビツト・マイクロ命令レジスタ(MIR)
804が用いられる。マイクロ命令の現在の
サイクルを状態フリツプフロツプと状態バス
を介してついてゆく状態PLAは、MIRをい
つロードするかの制御も行う。状態がT1、
Tφ=φφへ戻つた時、すなわち、@TCLRの
アサーシヨンと@INHの非アサーシヨンが
行われた時に、実際にMIRがロードされる。
(@INHはスタツク・アクセス・マイクロ命
令の間はMIRのロードを禁止するために用
いられる。その理由は、ある場合にはそれら
の命令の中間で状態T1、Tφ=φφが用いら
れるからである。)前の状態がT1、Tφ=φφ
で、次の状態がT1、Tφ=φφであれば、す
なわち、現在のマイクロ命令が単一サイク
ル・マイクロ命令であれば、MIRはまたロ
ードされる。信号@TINCは、@TCLRがア
サートされなければ、状態フリツプフロツプ
を次の状態へ進ませる。状態はグレイ・コー
ドのようにして進むものであつて、2進数の
ようにして進むのではないことに注意された
い。 障害取り扱い機構はMIRを値
111110010100BBBBにする。この値は内部
障害状態と定義される。この値がMIRa中に
ある時は実行装置は零状態へ戻つてプロセツ
サ・リセツツトマイクロ命令または障害状態
リセツト・マイクロ命令を持つ。これら2つ
のマイクロ命令の1つが命令装置からアサー
トされなければ、実行装置は無期限にアイド
ル状態となる。MIRの下位4ビツトは障害
状態の間はロードされないことに注意された
い。これが必要な理由は、変更された障害の
間にベース/長さフアイルのアドレスを保持
することである。 直接データが@MI@Cのアサーシヨンを
介してCバスへ転送される。また、テスト・
セグメント型マイクロ命令のための直接デー
タが@MI@Bのアサーシヨンを介してB7…
Bφへ転送される。 MIバス220とMIRを横切つての16ビツ
ト量の直接転送はパワーアツプ時に任意の値
(すなわち、直接転送マイクロ命令)をとる
ことができるから、実行装置をその障害状態
から抜け出させる状態は、直接転送のサイク
ル中に起る@MI@Cのアンアサーシヨンに
より修正される。たがつて、最長の直接転送
マイクロ命令は3サイクル(転送論理アドレ
ス)であるから、プロセツサ・リセツト・マ
イクロ命令をパワーアツプ時に連続する4つ
のサイクルに対してアサートせねばならな
い。事象の正常な成立においては(すなわ
ち、MIRが明確に定義されている)、実行装
置をリセツトするためにプロセツサをリセツ
トする唯一のマイクロ命令が求められる。 (2.2.6) マイクロ命令デコーダ制御PLAs マイクロ命令を復号するために実行装置全
体にわたつて各種の制御PLAsが分配させら
れる。PLAsは2つの種類に分けられる。そ
の1つはダイナミツクPLAsであつて、復号
されているマイクロ命令の現在のサイクルに
続くph1の間にそれらの出力をアサートす
る。他の1つのPLAsは静的PLAsであつて、
復号されているマイクロ命令の現在のサイク
ルのph2の間にそれらの出力をアサートす
る。(第3図のタイミング図を参照のこと。) (3.0) データ操作器(DMU) この項は実行装置内でデータを操作するため
に求められるレジスタ・フアイルと機能ブロツ
クのついて記述するものである。それらの領域
はデータ操作器230(第2図)を構成する。 (3.1) オペランド待ち行列(ADEQ、BDEQ)
および指数スタツク 2つのダブル・エンデツド待ち行列ADEQ
400、BDEQ402と指数スタツク406
が、メモリからのソース・オペランドの記憶
と、メモリへ書込むべき結果の記憶を行うため
に用いられる。要するに、1ビツトが各レジス
タに組合わされ、そのビツトがセツトされたと
すると、それに組合わされているレジスタは有
効データを含む。 ADEQの最も上のレジスタは、@AQ@Aに
アサーシヨンを介してAバスへゲートオンされ
る。ADEQは@APPを介して1レベルだけポ
ツプアツプされる。このポツピングにより、妥
当性ビツトの状態と無関係に、零を最も下のレ
ジスタへロードさせる。ADEQは1レベルだ
けプツシユ・ダウンされ、Cバスから@APSH
のアサーシヨンを介して最も上のレジスタへ書
込まれる。フルDEQへデータをプツシユオン
すると、最も下のレジスタ内のデータが失わせ
られる。データは@ADRPのアサーシヨンを
介してCバスにドロツプされ、かつCバスから
書込まれる。ドロツプ動作の後で、無効である
とマークされている全てのレジスタは、有効で
あることがマークされている最も下のレジスタ
が含んでいるのと同じデータを含む。フル
DEQへのドロツプはどのようなレジスタの中
のどのようなデータにも何の影響も及ぼさず、
ドロツプされたデータは失われる。全ての有効
データは@AFLのアサーシヨンを介して無効
であるとマークされる。 メモリまたはベースおよび長さフアイル43
0へ与えられるデータはCバスとMバスを通じ
て進む。@A@CのアサーシヨンによつてAバ
スからのADEQデータがゲート制御されてC
バスへ与えられ、CバスをMバスに対してゲー
トするC@Mのアサーシヨンをさせる。 実効動作マイクロ命令はADEQの特殊な機
能を要する。乗算、除算を行うためには
ADEQは自身で循環せねばならない、すなわ
ち、DEQは1レベルだけポツプアツプし、A
バスへ読出され、かつそれ自身へドロツプ・バ
ツクせねばならない。これは、@AQ@A、
@APPおよびMSAQOPを同時にアサーシヨン
することにより行われる。 (3.1.2) BDEQ BDEQ402は幅が16ビツトで深さが4の
ダブル・エンデツド待ち行列である。有効情
報の状態をDEQ上に貯えるために4個の妥
当性ビツトが用いられる。要するに、1ビツ
トが各レジスタに組合わされ、そのビツトが
セツトされると、そのビツトに組合わされて
いるレジスタが有効データを含む。 BDEQの最も上のレジスタは@BQ@Bの
アサーシヨンを介してBバス上にゲートオン
される。@BPPのアサーシヨンを介して
BDEQは1レベル・ポツプ・アツプされる。
そのポツピングにより、有効性ビツトの状態
とは無関係に、零が最も下のレジスタへロー
ドされる。@BPSHのアサーシヨンを介して
BDEQは1レベル・プツシユ・ダウンされ、
最上位のレジスタはCバスから書込まれる。
フルDEQへデータがプツシユ・オンされる
と、最下位のレジスタ内のデータが失わせら
れる。@DERPのアサーシヨンを介して、デ
ータはCバスにドロツプ・オンさせられ、か
つCバスから書込まれる。あるドロツプ動作
の後で、無効であるとマークされている全て
のレジスタは、有効であるとマークされてい
る最下位のレジスタが含んでいるデータと同
じデータを含む。フルDEQへのドロツプ・
インはどのようなレジスタ内のどのようなデ
ータにも何の影響も及ぼさない。全ての有効
性ビツトは@BFLのアサーシヨンを介して
無効であるとマークされる。 メモリまたはベースおよび長さフアイルへ
の外向きデータはCバスとMバスを通じて進
む。 @B@CのアサーシヨンによりBバスから
のBDEQのデータはCバスへゲートさせら
れ、CバスをMバスへゲートするC@Mをア
サーシヨンさせる。 (3.1.3) 指数スタツク 指数スタツク(EXPSTK)406は、一
時的実データ型のソス・データと結果データ
のための指数情報を貯えるために用いられ
る、幅が15ビツトで、深さが2のスタツクで
ある。この指数スタツクは@XPPP1のアサ
ーシヨンを介して1レベル・ポツプ・アツプ
され、かつBバスへ読出され、零(レジスタ
OP DEQ to DEQ、または@XPPP2のアサ
ーシヨンを介しての指数スタツク・マイクロ
命令への加算の場合)またはBバスのB15に
添えられるオペランド符号フラツグ、SB
(ASEXPPのアサーシヨンを介してのアクセ
ス・メモリ・マイクロ命令の場合)を有す
る。指数スタツクは@XPPSHのアサーシヨ
ンを介して1レベル・プツシユ・ダウンさせ
られ、Cバスから書込まれる。 メモリから一時的な実情報を読出す場合に
は、指数スタツクはいずれかのDEQ内の5
番目のレジスタの下位の15ビツトのように見
える。(符号情報はオペランド符号フラツグ
SAまたはSBに貯えられる。)一時的な実情
報をメモリへ書込む時は、書込みはBDEQか
ら起させることができるだけであるから、指
数スタツカはBDEQの5番目のレジスタの下
位15ビツトだけのように見える。(SB、すな
わちオペランド符号フラツグ、はビツト15に
添附される。) (3.2) オペランド・フラツグ オペランド・フラツグがメモリからDEQ4
00,402へロードされると、そのオペラン
ドについての情報が5つのフラツグにロードさ
れる。以下に記すのはフラツグと、それらのフ
ラツグにロードされた時にそれらのフラツグに
ついて実行できる動作を示すものである。全て
のオペランド・フラツグは48ビツト・データ型
式に対しては定義されないことに注意すべきで
ある。(3.2.1)項はそれらがどのようにしてロ
ードされるかを記したものである。 SA、SB:オペランド符号フラツグSA、SB
はキヤラクタを除く全ての種類のデータに対す
るオペランドの最上位のビツトを示す。キヤラ
クタ・オペランドに対してはそれらのフラツグ
には零が添付される。@ZSBのアサーシヨンに
よりSBフラツグがクリヤされる。@INVSAの
アサーシヨンによりSAフラツグが反転される。
@FLGXCHのアサーシヨンによりSAとSBが
交換される。@SR@SBのアサーシヨンにより
SAとSBの排他的オアがSBにロードされる。
@S@SBのアサーシヨンにより関数 (SA)(SB)+〔(SA xor SB) (RND1)(not RNDφ)〕 がSBへロードされる。 OPAEZ、OPBEZ:(プラスまたはマイナ
ス)・零のいずれかに等しいオペランド・フラ
ツグOPAEZとOPBEZは、オペランドの指数
部と仮数部が32ビツト・データ長に対して零で
あることを示す。他のオペランド長に対しては
それらのフラツグは不確定である。 OPAZ、OPBZ:零に等しいオペランド・フ
ラツグOPAZとOPBZは8ビツト、16ビツトお
よび32ビツトのオペランド長に対して全て零の
値を示す。64ビツトと80ビツトの長さに対して
はそれらのフラツグはプラス零またはマイナス
零を示す。@FLGXCHのアサーシヨンにより
OPAZとOPBZが交換される。@Z@Zのアサ
ーシヨンによりOPAEZとOPBEZはそれぞれ
OPAZとOPBZへロードされる。 INVA、INVB:無効フラツグINVAと
INVBは3つの浮動小数点データ長に対する無
効オペランドを示す。無効オペランドは全てが
1である指数部を有する値、または全てが0で
ある指数部と必ずしも全部が0でない仮数部を
有する値である。 UNNA、UNNB:正規化されていないフラ
ツグUNNAとUNNBは最上位の仮数ビツトが
0であるような有効非零一時的実オペランドを
示すものである。UNNAフラツグとUNNBフ
ラツグはマクロ命令境界でクリヤされ、一時的
オペランド読出し長がそれらのフラツグをロー
ドするから、UNNAフラツグとUNNBフラツ
グは他の全ての種類のデータに対してアサート
されないと仮定できる。@FLGXCHのアサー
シヨンによりUNNAとUNNB交換される。
@UAB@Bのアサーシヨンにより(UNNA)
(UNNB)がUNNBへロードされる。@ZUN
のアサーシヨンによりUNNAフラツグと
UNNBフラツグがクリヤされる。 (3.2.1) オペランド・フラツグシーケンシン
グ・フリツプフロツプ オペランド・フラツグ・シーケンシング・
フリツプフロツプAFTADB1とMNTSHPT
は下記の表に従つてメモリから現在ロードさ
れているフイールドを示すものである。それ
らのフリツプフロツプは@FLGZのアサーシ
ヨンを介して初期設定され、@LAFLまたは
@LBFLのアサーシヨンを介して更新され
る。それら2つのフリツプフロツプからの情
報と信号@LAFL,@LBFL,@AQLDMに
より、全てのオペランド・フラツグと全ての
一時的オペランド・フラツグを正しくロード
できる。 32ビツト・オペランド長に対して: MNTSHPT AFTADB1 第1のDB 0 0 第2のDB 1 1 64ビツト・オペランド長に対して: MNTSHPT AFTADB1 第1のDB 0 0 第2のDB 0 1 第3のDB 0 1 第4のDB 1 1 80ビツト・オペランド長に対して: MNTSHPT AFTADB1 第1のDB 0 0 第2のDB 0 1 第3のDB 0 1 第4のDB 0 1 第5のDB 0 1 (3.2.2) 一時的なオペランド・フラツグ 4個の一時的なオペランド・フラツグが、
メモリからきたデータを浮動小数点オペラン
ドのフイールドのある値について検査し、か
つ前記フラツグは以前に定義されたオペラン
ド・フラツグをセツトするために用いられ
る。それらの一時的なフラツグは下記のリス
トで定義される。 MANTZ:浮動小数点オペランドの仮数
フイールドが零の時に、このフラツグはアサ
ートされる。 MANTMSB:一時的実オペランドの最上
位の仮数ビツトが零であればこのフラツグは
アサートされる。 EXPO:浮動小数点オペランドの指数フイ
ールドが全て1であればこのフラツグはアサ
ートされる。 EXPZ:浮動小数点オペランドの指数フイ
ールドが全て0であればこのフラツグはアサ
ートされる。 (3.3) 演算論理装置(ALU) この項は18ビツトALU432について記述
するものである。このALUは、ALU入力マル
チプレクサ809と、ALU論理組合わせ器お
よび加算432と、マスタースレーブ・レジス
タ416と、シフトレジスタ806との4つの
主な論理ユニツトを有する。公称はわずかに16
ビツトのALUが用いられる。実効動作マイク
ロ命令をサポートするために高位の2ビツトが
用いられる。 (3.3.1) ALU入力マルチプレクサ ALU入力マルチプレクサ809はAバス
とBバスをALU論理組合わせおよび加算器
の入力端子まで通す(論理組合わせ器および
加算器への入力は入力マルチプレクサからの
AUINA17…AUINAφおよびAUINB17…
AUINBφである)。しかし、実行動作マイク
ロ命令のためにはスケーリングが時に要求さ
れ、適切なスケーリングが行われるのであ
る。 SHALのアサーシヨンによりAUINA17へ
のSAX、AUINA16…AUINA1へのA15…
AφおよびAφへのSA15のゲートが行われる。
MSSHABのアサーシヨンによりAUINA17
…AUINA2へのA15…Aφと、MSI1STがア
サートされなければ、AUINA1…AUINAφ
へのSA15…SA14、またはMS1STがアサー
トされるとAUINA1への非CFおよび
AUINAφへの1のゲートが行われる。
MMSHABのアサーシヨンによりAUINB17
…AUINB2へB15…Bφもゲートし、また
MS1STがアサートされなければ、AUINB1
…AUINBφへSB15…SB14をゲートし、ま
たはMS1STがアサートされればAUINB1…
AUINBφへSR15…SR14がゲートされる。
MSSHBのアサーシヨンによりAUINB16…
AUINB1へB15…Bφをゲートし、AUINBφ
へSR15をゲートする。 (3.3.2) ALU論理組合わせ器および加算器 ALU論理組合わせ器432は2つの変数
の全部で16個の論理機能を発生できる。加算
器は2つの入力値の和を発生する。論理制御
線を排他的オアにして(加算は等価を用い
る)、入力の1つの変換を行うことにより減
算が行われる。入力桁上げも1にさせられそ
れにより入力の1つの補数決定と増大を行
う。(減算の向きはB−Aであることに注意。
A−Bはサポートされない。) ALU論理組合わせ器および加算器への入
力はALUマルチプレクサからのAUINA17
…AUINAφおよびAUINB17…AUINBφ、
4本の論理制御線L3…Lφと、桁上げ不能化
AUCYDSBLと、入力桁上げAUCYφであ
る。論理組合わせ器は@AU@Cのアサーシ
ヨンを介して下位16ビツトをC15…Cφへゲ
ートする。加算器は18ビツト和(ALU17…
ALUφ)をマスタ・スレーブ・レジスタ41
6へ出力し、かつフラツグ436をセツトす
るのに必要な桁上げ線である。 下記の表はALU組合わせ器の制御器を要
約したものである。 LLLL3210 機 能 0000 零 0001 (Aではない)(Bではない) 0010 (Aではない)(Bである) 0011 Aではない 0100(Aである)(Bではない) 0101 Bではない 0110 A xor B;減算 0111 (Aでない)+(Bでない) 1000 (Aである)(Bである) 1001 AはBに等しい;加算 1010 Bである 1011 Aでない+B 1100 A 1101 A+Bでない 1110 A+B 1111 1 (3.3.3) ALUマスタ・スレーブ・レジスタ ALUマスタ・スレーブ・レジスタ(一時
レジスタ)416はALU加算器のための18
ビツト・パイプライン・レジスタである。公
称は、18ビツト加算器の出力がph1の間に
18ビツト・マスタへロードされる(上位2ビ
ツトは通常用いられない)、次にマスタの下
位16ビツトは次のph2の間にマスタの下位
16ビツトが16ビツト・スレーブへ転送され、
次のph1の間にCバスへゲートされる。
@S@Cのアサーシヨンによりスレーブを
C15…Cφへゲートする。 マスタ・スレーブ・レジスタの上記の公称
的な使用からの逸脱が、実行動作マイクロ命
令を指示するために行われる。第1に、乗算
はALUのフル18ビツトを使用を必要とする。
したがつて、マスタの出力はスレーブ内へロ
ードされる時に右へ2ビツト桁送りされて、
18ビツトの結果を@SHORのアサーシヨン
を介して16ビツト結果へ戻す。また、マルチ
ダブル・バイトに対して、ダブル・バイト境
界にまたがる乗算連結が必要であり、したが
つてMSM@SLのアサーシヨン(2.2.4.4項参
照)が連結を実行する。 短い序数および短い整数の除算および乗算
は、他の除算および乗算動作がFIFOを用い
るのと同じやり方でマスタ・スレーブを用い
る。これはマスタをBバスへゲートすること
を必要とする。@M@Bのアサーシヨンによ
りマスタはBバスへゲートされる。ある実行
動作マイクロ命令は、オペランドBの符号
(SB)に応じて全0または全1にマスタを初
期設定することを求める。@ALL1@Mのア
サーシヨンにより1がマスタの下位16ビツト
へロードされる。@ZMCBφのアサーシヨン
と@ALL1@Mの非アサーシヨンによりマス
タの18ビツト全てに0がロードされる。 (3.3.4) ALUシフトレジスタ ALUシフトレジスタ806(SR15…
SRφ)は16ビツト並列読出し、並列書込み、
左飛越し桁送り(2桁)、右飛越し桁送りシ
フトレジスタである。このシフトレジスタは
除算の商ビツトと平方根のテスト・ビツトの
発生と、乗算のための乗算制御ビツト
(MCB2…MCBφ)のロードと、および乗算
のための最後の積の発生とのために用いられ
る。 @B@SRのアサーシヨンによりBバスが
シフトレジスタへロードされる。MSSR@C
のアサーシヨンによりシフトレジスタがCバ
スへゲートされる。 乗算のためには、MSSHR2のアサーシヨ
ンによりSRnがSRn−2(n=2…15に対し
て)ロードされ、部分積の2つのLBS
(ALU1#1st…ALUφ#1st)がSR15…SR14
へロードされ、SR1…SRφがMCB2…MCB1
へロードされ、MCB2がMCBφへロードさ
れる。乗算制御ビツトが下表に従つてALU
を制御する。 MCB2…MCBφ 機 能 000 B 001 B+A 010 B+A 011 B+2A 100 B−2A 101 B−A 110 B−A 111 B @ZMCBφのアサーシヨンによりMCBφフ
ラツグがクリヤされる。 除算のために、MSSHL1のアサーシヨン
によりSRnがSRo+1(n=φ…14に対して)
へロードされ、商ビツト〔CF xor(SA)
(MI)〕がSRφへロードされる。 平方根のために、MSSHL2のアサーシヨ
ンによりSRnがSRo+2(n=φ…13に対して)
へロードされる。下位の2ビツトは失われ
る。 (3.4) 動作フラツグ データの計算またはデータの動きの結果とし
て多数のフラツグがロードされる。以下の項は
それらのフラツグを定義し、それらに関連する
機能ブロツクを示すものである。 (3.4.1) 演算および論理フラツグ(零、1、
LSB、SIGN) 4つのフラツグが演算型マイクロ命令およ
び論理型マイクロ命令の間に結果情報に従
う。それらのフラツグは、全部零の結果を示
す零と、全て1の結果を示す1と、結果の最
上位のビツトを示すと、結果の最下位ビツト
を示すLSBである。@LOADFのアサーシヨ
ンにより4つのフラツグ全部がロードさせら
れる。@LDFのアサーシヨンにより1フラ
ツグと零フラツグがロードさせられ(ただ
し、フラツグの現在の値がアサートされる場
合に限られる)、SIGNフラツグが無条件で
ロードされる(@CLDFフラツグはマルチダ
ブル・バイト・データ形式を取り扱うために
用いられる)。キヤラクタ・データ形式に対
してはSIGNフラツグには零がロードされる
が、他の全てのデータ形式に対してはSIGN
フラツグには結果のMSBがロードされる。
これは16ビツト幅のALUを有し、かつキヤ
ラクタ動作の間にMSB情報を必要としない
結果である。 それらのフラツグに影響を及ぼすマイクロ
命令の要約のために第表を参照されたい。 (3.4.2) 演算のみフラツグ(桁上げ、COMP) 桁上げフラツグとCOMPフラツグの2つ
のフラツグが演算結果条件に従う。桁上げフ
ラツグは問題とするデータ形式に対する
ALUの最上位のビツトの桁上げを示すもの
である。@C16@CYのアサーシヨンにより
ALUの15番目の段の桁上げを桁上げフラツ
グへロードさせる(φから17までカウントす
る場合には5番目の段であるが、1から18ま
でカウントする場合は16番の段である)。こ
れは16ビツト障害データ形式と第1のダブル
型の32ビツト・データ形式に用いられる。 桁上げフラツグに影響を及ぼすマイクロ命
令の要約については第表を参照のこと。 COMPフラツグは、障害を起すことがあ
るマイクロ命令のために演算の障害が起ろう
としていることを示し、それらの結果を計算
するためにALUを用いる。以下に示す信号
はCOMPフラツグをロードするために用い
られる。 @C8@CP:この信号のアサーシヨンによ
りALUの7番目の段の桁上げのCOMPフラ
ツグへのロードが行われる。これはキヤラク
タ加算動作のあふれ状態を示す。 @#C8@CP:この信号のアサーシヨンに
よりALUの7番目の段の桁上げの補数の
COMPフラツグへのロードが行われる。こ
れはキヤラクタ減算動作のあふれ条件を示
す。 @C16@CP:この信号のアサーシヨンに
よりALUの15番目の段の桁上げのCOMPフ
ラツグへのロードが行われる。これは短い序
数と序数の加算動作のあふれ状態を示す。 @C1516@C:この信号のアサーシヨンに
よりALUの14番目の段の桁上げの排他的オ
アと15番目の段の桁上げとのCOMPフラツ
グへのロードが行われる。これは短い整数と
整数の加算および減算の動作を示す。 @Z@CMP:この信号のアサーシヨンに
よりCバスの論理和がCOMPフラツグへロ
ードされる。これはテスト−セグメント型マ
イクロ命令の不一致を示す。 @S13@CMP:この信号のアサーシヨンに
よりALUの13番目の段の和がCOMPフラツ
グの中へロードされ、IPスタツクへの加算
命令への結果としてあふれ状態を示す。 @CLRCMP:この信号のアサーシヨンに
よりCOMPフラツグがリセツトされ、プロ
セツサ・マイクロ命令の結果として、または
実行装置の内部障害状態により起る。
【表】
【表】 (3.4.3) 浮動小数点フラツグ 浮動小数点フラツグはカード(G)フラツグ
と、ラウンド(R)フラツグと、ステイキイ
(S)フラツグとより成り、浮動小数点計算
中の浮動小数点の数の不正確に追従する。そ
れらのフラツグに影響を及ぼす信号を以下に
示す。 @A@GRS、@LDS−S:G+R+S+
A13+A12+…+Aφ R:=A14 G:=A15 @B@GRS、@LDS−S:=G+R+S
+B13+B12+…Bφ R:=B14 B:=B15 @C@GRS、@LDS−S:=G+R+S
+C13+C12+…Cφ R:=C14 B:=C15 @C@GRS1−S:=R+S R:=G B:=C15 @SHGRS−G:=R R:=S S:=S @ZGRS−S:=R:=G:=φ (3.4.4) コンテキスト・スイツチ時間ロード・
フラツグ @LDCTXのアサーシヨンを介してコンテ
キスト状態語(RAM810、3.9項、に記憶
されている)から5つのフラツグがロードさ
れる。それらのフラツグはまるめ制御フラツ
グRND1、RND0と、精度制御フラツグ
PREC1、PRECφと、不正確モード・フラツ
グ#XCTとである。それらのフラツグはフ
ラツグ・マルチプレクサ(3.5項参照)によ
りテストされる。 (3.4.5) プロセス・デイスパツチ時間ロード・
フラツグ トレース・モード・フラツグ(TRC1、
TRCφ)がプロセス状態語(RAM810、
3.9項に記憶されている)から@LDPCSを介
してロードされる。それらのフラツグは復号
され、フラツグ・マルチプレクサ(3.5項参
照)によりテストされる。 (3.4.6) ルツクアヘツド・フラツグ ルツクアヘツド・フラツグ(LAH)は命
令装置のデコーダの命令がルツクアヘツドモ
ードにある時を示す。このフラツグは
@SETLKのアサーシヨンを介してセツトさ
れ、@CLRLKのアサーシヨンを介してリセ
ツトされる。 (3.5) フラツグ・マルチプレクサ フラツグ・マルチプレクサはフラツグの16種
類の組合わせのうちの1つを、フラツグをブー
リマンへ変換するマイクロ命令の場合に、フラ
ツグを反映するLSBと上位15ビツトが零であ
るダブル・バイト、命令装置−状態マイクロ命
令への戻りフラツグの場合に真/偽指示、また
はフラツグ障害フラツグ・マイクロ命令の場合
に障害、のうちのいずれか1つへ変換する。そ
れらのフラツグの組合わせは、フラツグの正の
真値を選択するためのIフイールトの極性とと
もに以下に定義される。 フラツグをブールリアンへ変換するマイクロ
命令に対して、@CVT1のアサーシヨンにより
フラツグ・マルチプレクサの出力をBφへゲー
トさせる。Bバスは予め充電されているから上
位15ビツトは高レベルのままであり、したがつ
てブーリアンはALUの入力端子で反転させら
れることに注意されたい。
【表】
【表】 フラツグを命令装置へ戻す飛越し条件マイク
ロ命令に対しては、戻されるフラツグは下記の
ように定義される。
【表】 障害オン・フラツグ・マイクロ命令に対して
は、選択されたフラツグがアサートされたとす
ると、信号@FLTFLGは障害を可能とする。
それらのフラツグを下記に定義する。
【表】 (3.6) エキストラクタ エキストラクタ434は32ビツト入力フイー
ルドから隣接する16ビツトを抽出し、@Xのア
サーシヨンを介して結果をCバスへゲートす
る。この32ビツト入力フイールドは2つの16ビ
ツト・フイールドEA15…EAφおよびEB15…
EBφと考えることができ、各フイールドは抽
出マイクロ命令のAAフイールドとBBフイー
ルドにより決定される4つの値のうちの1つを
とることができる。論理ブロツク808の中に
は一時的レジスタ(EXBREG)も存在する。
このEXBREGへは抽出マイクロ命令内のTフ
イードにより定義されるように、Aバスまたは
Bバスからロードされる。EAバスとEBバスお
よびエキストラクタ・レジスタにロードする信
号を下記に定義する。
【表】
【表】 (3.6.1) 桁送りカウント・レジスタ 抽出すべき値の最下位ビツト位置は、論理
ブロツク434内の40ビツト桁送りカウン
ト・レジスタに含まれている現在の値により
指定される。@XLFTのアサーシヨンにより
左桁送りが示される。@XLFTの非アサーシ
ヨンは右桁送りを示す。 桁送りカウント・レジスタは@L@XRの
アサーシヨンを介してC3…Cφからロードさ
れ、かつ@U@XRのアサーシヨンを介して
C11…C8からロードされる。 (3.6.2) 条件付桁送りデクレメンタ 条件付桁送りデクレメンタは、ラウンデイ
ング・フラツグをどのようにして決定するた
めに条件付16位置桁送りマイクロ命令で用い
られ、ソースDEQを16ビツト位置だけ桁送
りする3ビツトデクレメンタ/レジスタであ
る。このレジスタは@L@XRのアサーシヨ
ンを介してC6…C4からロードされ、@U
@XRのアサーシヨンを介して0、C13…C12
からロードされ、かつ@LDECのアサーシヨ
ンを介して減少させられる。 (3.7) 最上位ビツト検出器 最上位ビツト検出器830は16ビツト量の最
上位ビツトを探し、最上位の2進ビツト位置に
等しい値を戻す。最上位ビツトが見出されない
と、その結果として、下記の諸条件の場合を除
き、零が戻される。最上位ビツト回路は@SB
のアサーシヨンを介して使用可能状態にされ
る。 多重倍精度上位ビツトの支持は上位ビツト・
フラツグ(SBF)とOPAZフラツグにより支持
される。上位ビツト・マイクロ命令の間に1が
見出されたとすると、SBFフラツグがセツト
される。上位ビツト・マイクロ命令の以後の実
行により、SBFがセツトされた時に、値16へ
戻る。そうすると、n個の上位ビツト・マイク
ロ命令の実行と、それに続いて行われる各結果
の加算とによりn個のダブル・バイト・オペラ
ンドの上意ビツトが見出されることになる。プ
ロセツサ・リセツト・マイクロ命令、マクロの
終り命令、または飛越マクロの終りマイクロ命
令の間に@FELのアサーシヨンを介してSBF
フラツグがリセツトされる。したがつて、マク
ロ命令ごとにただ1つの多重倍精度上位ビツト
動作を行うことができる。 OPAZフラツグがセツトされると、値16も戻
される。これは短い序数と序数上位ビツト・マ
クロ・オペレータとをサポートする。 (3.8) コンスタントROM コンスタントROM428は16ビツト×33記
憶位置ROMである。@RDROMのアサーシヨ
ンによりMI11、M18…M14によりアドレスさ
れたこのROMの内容がBバスへゲートされ
る。このROMの内容を下記に定義する。
【表】 (3.9) レジスタRAM レジスタRAM810は16ビツト×深さ4の
RAMである。@RFRANのアサーシヨンによ
りRAMの内容がBバス上へゲートされる。
@WRRAMのアサーシヨンによりCバスが
RAMへ書込まれる。RAMのアドレスを以下
の表で定義する。 uu II54 Register 00 コンテキスト状態 01 プロセツサ状態 10 プロセス状態 11 命令セグメント・セレクタ (3.10) Cバス・マスク回路 Cバス・マスク回路(第2図には示されてい
ない)は、Cバスのあるセグメントを強制的に
零にしてそれらのビツトをマスクするために用
いられる。@FZ@CLのアサーシヨンによりビ
ツトC7…Cφがクリヤされる。@FZ@CMのア
サーシヨンによりビツトC7…C5がクリヤされ
る。@FZ@CHのアサーシヨンによりビツト
C15…C8がクリヤされる。 (3.11) Cバス回路への復号されたVVV Cバス回路への復号されたVVV(第2図には
示されていない)はスケール変位マイクロ命令
中のVVVビツトを下記の表に従つて復号し、
復号された値をC3…Cφへゲートしてエキスト
ラクタ桁送りカウントレジスタへロードさせ
る。@V@Cのアサーシヨンにより値をC3…
Cφ上へゲートする。 CCCC VVV 3210 000 0000 001 0001 010 0010 011 xxxx 100 0011 101 0100 110 xxxx 111 xxxx (3.12) 数学的アルゴリズムFIF0 数学的アルゴリズムFIF0408は幅16ビツ
ト深さ4のFIF0である。妥当情報の状態を
FIF0に貯えるために4個の妥当性ビツトが用
いられる。各レジスタに1ビツトが組合わされ
る。 FIF0の1番上のレジスタはBバス上にゲー
トされ、@FPPのアサーシヨンを介してFIF0
が1レベルだけポツプアツプされる。@FDR
のアサーシヨンによりデータがCバスから
FIF0上へドロツプされる。このドロツプ動作
の後で、不当であるとマークされている全ての
レジスタが妥当であるとマークされている1番
下のレジスタが含んでいる情報と同じ情報を含
む。@FFLのアサーシヨンを介して全ての妥
当性ビツトは不当であるとマークされる。(BS
のアサーシヨンに応じて)全てが1または0の
二重バイトが、@FZ134のアサーシヨンを介し
てFIF0内へドロツプされる。@FZ134と
@FZ34のアサーシヨンを介して、全てが0の
3つの二重バイトがFIF0の上にドロツプされ
る。@FZ134、@FZ34および@FZ4のアサーシ
ヨンを介して全てが0の4つの二重バイトが
FIF0の上にドロツプされる。 (3.13) スシテム・タイミング機能 プロセツサの初期設定からの時間をたどる1
つのタイミング機能と、現在のプロセスのラン
時間をたどる1つのタイミング機能との2つの
タイミング機能が回路414で行われる。両方
のタイマはPCLKのアサーシヨンを介して時を
きざむ。(前記米国特許出願第972007号を参照
のこと。) (3.13.1) システム・タイマ・インクレメンタ システム・タイマは16ビツト・アツプ・カ
ウンタ・レジスタである。@RDSTのアサー
シヨンにより、レジスタの反転された値が
B15…Bφへゲートさせられる。PCLKのア
サーシヨンにより、増加させられた値がレジ
スタにロードされ、1つ以上の連続サイクル
に対するPCLKのアサーシヨンによりレジス
タはクリヤさせられる。 (3.13.2) プロセス・タイムアウト・デクレメン
タ プロセス・タイムアウト・デクレメンタ4
12は16ビツトのロード可能、スタート可
能、ストツプ可能および障害を起すことが可
能なダウンカウンタ・レジスタである。
@RDTIMのアサーシヨンによりレジスタは
Bバスへゲートさせられる。@WRTIMのア
サーシヨンによりレジスタへCバスから書込
まれる。@TIMG0のアサーシヨンにより、
PCLKがアサーシヨンされた時に、タイマの
デクレメントが可能にされ(プロセス・タイ
マ・スタート・マイクロ命令の場合)、また
は不能にさせられる(プロセス・タイマ・ス
トツプ・マイクロ命令またはプロセツサ・リ
セツト・マイクロ命令の場合)。タイマ・レ
ジスタ内の値が零で、タイマ・レジスタが動
作しているとすれば、マクロの終りマイクロ
命令の実行時または飛越しマクロの終りマイ
クロ命令の実行時に障害812が起る。障害
が起きた時はタイマは自身でストツプするこ
とに注意されたい。また、電源が投入された
時にはタイマは任意の値をとり得るから、タ
イマのスタート前または異常な障害が起る前
にタイマにロードせねばならない。PCLKが
ランする周波数は最大のマイクロ命令より低
くなければならないことに注意されたい。 (4.0) 移動(displacement)スタツク 主メモリ・アドレス・スペース内の種々のセ
グメントへの移動情報をバツフアするために、
実行装置に4つのスタツク404が保持され
る。アクセス・マイクロ命令に対して、アドレ
スの物理的な計算と長さの検査のために、それ
らのスタツクのうちの1つがDバスにゲートさ
れる(5.3、54項参照)。それらのスタツク中の
情報をDMUにおいて操作できるように、それ
らのスタツクはCバスから情報を受け、その情
報をBバスへゲートする。 (4.1) セグメント・セレクタ・スタツク セグメント・セレクタ・スタツク(SSSTK)
は16ビツト幅で、深さが4のスタツクである。
@SSRDのアサーシヨンを介してこのSSSTK
の1番上のエントリイの上側の14ビツトはD15
…D2へゲートされ、ゼロがD1…Dφへゲートさ
れる。@SSPPRのアサーシヨンを介して、1
番上のエントリイがR15…Bφへゲートされ、
SSSTKは1レベルだけポツプアツプされる。
@SSRDと@SSPPRのアサーシヨンによりB15
…BφへのSSSTKのゲートが禁止される。
@SSPSHのアサーシヨンを介してSSSTKが1
レベルだけプツシユダウンされ、C15…Cφか
らロードされる。このスタツクはアクセス・リ
スト・マイクロ情報のためのデイスプレースメ
ントとして用いられる。このスタツクの1番上
のエントリイは、カツシユのCAM部分433,
435内のエントリイを比較するために用いら
れるカツシユ・バス814の駆動も行う
(5.1.1および5.1.2項参照)。 (4.2) デイスプレースメント・スタツク デイスプレースメント・スタツク
(DXSTK)は幅が16ビツトで、深さが3のス
タツクである。1番上のエントリイは
@DXRDのアサーシヨンを介してDバスへゲ
ートされる。@DXPPRのアサーシヨンを介し
て1番上のエントリイがゲートされ、DXSTK
が1レベルだけポツプアツプされる。
@DXRDと@PXPPRのアサーシヨンによりB
バスへのDXSTKのゲートが禁止される。
@DXPSHのアサーシヨンを介してDXSTKが
1レベルだけプツシユ・ダウンされ、Cバスか
らロードされる。このスタツクはメモリ・アク
セス・マイクロ命令のためのデイスプレースメ
ントとして用いられる。 (4.3) 命令ポインタ・スタツク 命令ポインタ・スタツク(IPSTK)は幅12
ビツト、深さ3のスタツクであり、命令セグメ
ント・デイスプレースメントの上部12ビツトを
保持するために用いられる。命令装置は下部4
ビツトを保持し、更新する。@IPRDのアサー
シヨンを介して1番上のエントリイがD12…
D1へゲートされ、零がD15…D13へゲートされ
る。@IPPPRのアサーシヨンを介して1番上
のエントリイがB12…B1へゲートされ、零が
B15…B13、Bφへゲートされ、IPSTKが1レ
ベルだけポツプアツプされる。@IPWRのアサ
ーシヨンを介してIPSTKの上部エントリイが
C12…C1からロードされ、@IPENTのアサー
シヨンを介して「エンター」動作が実行される
(すなわち、第2のエントリイが下部のエント
リイへロードされ、上部のエントリイが第2の
エントリイへロードされ、上部のエントリイが
セーブされる)。@IPWRと@IPENTのアサー
シヨンにより正常なプツシユ動作が行わせられ
る。このスタツクは命令取り出しマイクロ命令
のためのデイスプレースメントとして用いられ
る。 (4.4) スタツク・ポインタ・スタツク スタツク・ポインタ・スタツク(SPSTK)
は幅15ビツト、深さ2のスタツクで、デイスプ
レースメントをオペランド・スタツク・セグメ
ント内に保持するために用いられる。1番上の
エントリーはD15…D1にゲートされ、零が
@SPRDのアサーシヨンを介してDφにゲート
される。1番上のエントリイがB15…B1へゲ
ートされ且つ零はBφにゲートされ、そして
SPSTKは@SPPPRのアサーシヨンを介して1
レベルだけポツプアツプされる。@SPWRの
アサーシヨンを介してSPSTKの上部エントリ
イはC15…C1からロードされ、@SPENTのア
サーシヨンを介してエンター動作が実行され
る。@SPWRと@SPENTのアサーシヨンによ
り正常なプツシユ動作が行わせられる。このス
タツクはスタツク・アクセス・マイクロ命令の
ためのデイスプレースメントとして用いられ
る。 (5.0) 参照発生器(RGU) この章はセグメント記述子をバツフアし、物
理的なアドレスの計算と検査を行う構造につい
て説明するものである。 (5.1) ベースおよび長さフアイル ベースおよび長さフアイル430は幅41ビツ
ト、エントリイ20のRAMであつて、この
RAMは22ビツトの物理的なベース・アドレス
と、16ビツトのセグメント長と、読出しおよび
書込み長と、種々のシステム・オブジエクト
と、4つのエントリイと、データ・セグメン
ト・カツシユ(Cache)と、2エントリイ・セ
グメント表カツシユとを保持する。 与えられたレジスタの全部で41ビツトはサイ
クルごとに並列に読取られ、アドレス発生器4
33と、長さ検査ハードウエア431と、ライ
ト検査ロジツク816とのために利用できる。 与えられたレジスタへ情報の書込みは次の2
通りの方法のうちの1つで行うことができる。 第1に、4つのマイクロ命令、すなわち、ラ
イトをロードする、上位の物理的アドレスをロ
ードする、下位の物理的アドレスをロードす
る、長さをロードする、がADEQ400から
の指定された情報をMバスを介してレジスタの
特定の部分の中へ動かす。ビツトはセグメント
記述子で定義されているのと同じ位置に同じ長
さで配列され、変更されたビツトはライト・ア
クセスのためのアクセス記述子で定義されてい
るのと同じ位置に配置される(前記米国特許第
971661号に記載されているように)。
@PGUWRのアサーシヨンによりそれら4つ
の量のうちの1つが書込まれる。U15とM14は
4つの量のうちのどれが実際に転送されるかを
決定する。(ロード・マイクロ命令に続くサイ
クルまでは転送は完了しないから、それらのレ
ジスタの1つを読出そうと試みるどのマイクロ
命令もそのレジスタへの移動マイクロ命令の直
後に1サイクルに遅らさなければならないこと
に注意すること。) 第2に、ベースと長さをテンポラリイへ移動
させるマイクロ命令と、テンポラリイをベース
と長さへ移動させるマイクロ命令とを、1つの
セグメント記述子から別のセグメント記述子へ
の41ビツトの転送を完了するために実行でき
る。@B@BWRのアサーシヨンにより転送が
行われる。この種の移動の間におけるカツシ
ユ・レジスタのアドレツシングはすすめられな
い。その理由は、カツシユのミスは指示されな
いからである。変更された障害が起るのであれ
ば、変更されたビツトは自動的に更新される。 種々のレジスタのアドレスが下の表に定義さ
れている。 uuuu IIII3216 レジスタ 0000 エントリイ・アクセス・リスト 0001 パブリツク・アクセス・リスト 0010 コンテキスト・オブジエクト 0011 プライベート・アクセス・リスト 0100 セグメント表デレクトリイ 0101 プロセツサ・オブジエクト 0110 デイスパツチング・オブジエクト 0111 プロセス・オブジエクト 1000 命令セグメント 1001 オペランド・スタツク 1010 コンテキスト制御セグメント 1011 プロセス制御セグメント 1100 作業レジスタA 1101 作業レジスタB 1110 データ・セグメント・カツシユ・セツト
(4) 1111 セグメント表カツシユ・セツト(2) (5.1.1) データ・カツシユ データ・カツシユは次のような要素から成
る。 1 ベースと、長さと、アクセス・ライトと、
最近用いられた4つのデータ・セグメントの
ための変更された情報とを含む4つのセグメ
ント記述子レジスタ。これらのレジスタは
BBREG=111φと2つのCAM符号器SSCA
1…SSCAφの一致によりアドレスされ。
CAM符号器の出力は、一致の場合には、
CAM中の一致ラインの符号化により決定さ
れる。しかし、レジスタの検定に間にCAM
符号器の出力は最近用いられたレジスタによ
り決定される。 2 セグメント・セレクタ・スタツカ内のトツ
プ値にマツチする4エントリイ・バイ16ビツ
トCAM。このCAMはその内容とセグメン
ト・セレクタ・スタツクのトツプ値を連続し
て変化し、一致が起らなければ信号
SSCACHEをアサートする。もし一致が見出
されると、4つの一致線が2つの信号SSCA
1…SSCAφに符号化される。アクセス中に
一致が見出されなければ(すなわち、信号
SSCACHEがアサートされる)、セグメン
ト・セレクタ・スタツクのトツプ値が最近用
いられたCAMエントリイの中にロードされ、
@SSSHFTのアサーシヨンを介して妥当で
あるとマークされる。 3 2ビツト×4エントリイ連想桁送りアレ
イ。このアレイはカツシユ・ミスの間に最近用
いられたレジスタ(LRU)を計算するために
用いられる。このアレイは@SSSHFTのアサ
ーシヨンを介してアクセスの間に更新される。 4 カツシユ・エントリイの完全性を示すため
の4個の妥当性ビツト(CAM内の各エント
リイごとに1ビツト)。これらの妥当性ビツ
トはマイクロプログラム的にリセツトでき
る。@SSFLのアサーシヨンにより4個の妥
当性ビツトが全てクリヤされる。@SELFL
のアサーシヨンと@CHK2BTの非アサーシ
ヨンにより、セグメント・セレクタ・スタツ
クのトツプ・エントリイをマツチさせるレジ
スタの妥当性ビツトがクリヤされる。
@SELFLと@CHK2BTのアサーシヨンによ
り、セグメント・セレクタ・スタツクのトツ
プ・エントリイの低位の2ビツトを一致させ
るレジスタ(すなわち、与えられたアクセ
ス・リストの全てのレジスタ)の全ての妥当
性ビツトがクリヤされる。 (5.1.2) セグメント表カツシユ セグメント表カツシユ433は次の要素よ
り成る。 1 ベースと、長さと、アクセス・ライトと、
最近用いられたセグメント表セグメントのた
めの変更された情報とを含む2つのセグメン
ト記述子レジスタ。これらのレジスタは
BBRES=1111とCAM符号器出力STCAφの
一致によりアドレスされる。CAM符号器出
力は、一致の場合に、CAM内の一致ライン
の符号化により名目上決定される。しかし、
レジスタ検定の間はCAM符号器の出力は最
近用いられた(LRU)レジスタにより決定
される。 2 セグメント・セレクタ・スタツク・ビツト
15…4内のトツプ値を一致させる2エントリ
イ×12ビツトCAM。このCAMはその内容を
セグメント・セレクタ・スタツクのトツプ値
を常に比較し、一致が起らなければ信号
STCACHEがアサートされる。一致が見出
されたとすると、2つの一致ラインが制御
STCAφに符号化される。アクセス中に一致
が見出されないとすると(すなわち、
STCACHEがアサートされると)、最近用い
られたCAMエントリイの妥当性ビツトが、
@STSHFTのアサーシヨンを介して不当で
あるとマークされる。それに続く長さロー
ド・マイクロ命令がセグメント・セレクタ・
スタツクのトツプ・エントリイを最近用いら
れたCAMエントリイ内へロードし、
@STLDのアサーシヨンを介してレジスタが
妥当であることをマークする。 3 カツシユ・ミスの間に最近用いられた
(LRU)レジスタに従うために用いられる。、
このフリツプフロツプは、一致が見出された
時に(すなわち、STCACHEがアサートさ
れた時に)アクセス中に@STSTFTのアサ
ーシヨンを介して、または長さロード・マイ
クロ命令の間に@STLDのアサーシヨンを介
して、更新される。 4 カツシユ・エントリイの完全性を示すため
の2つの妥当性ビツト(CAM内の各エント
リイに1ビツト)。それらの妥当性ビツトは
マイクロプログラム的にリセツトできる。
@STFLのアサーシヨンにより2つの妥当性
ビツトが全てクリヤされる。 (5.2) ベースおよび長さレジスタ ベースおよび長さレジスタ(BBREG)は、
カツシユ一致符号化された信号とともに、先に
掲げた表で定義されている20個のベースおよび
長さのうちの1つをアドレスする4ビツト・レ
ジスタである。MI@BBのアサーシヨンにより
MI3…MIφがBEREGの中へロードされる。
MID@BBのアサーシヨンにより、1サイクル
遅らされたMI3…MIφがBBREG内へロードさ
れて、書込まれているデータを一致させる。
SS@BBのアサーシヨンにより「φφ」CA1、
CAφがBBREGの中へロードされる。 (5.3) 長さ検査ハードウエア 長さ検査ハードウエア431はセグメント・
バウンド障害の指示を発生する。この長さ検査
ハードウエア431はベースおよび長さフアイ
ルからの長さフイールド(LEN15…LENφ)
と、デイスプレースメント・バス(D15…Dφ)
と、バイトで表わしたオペランド長(OPL2…
OPLφ)(オペランド・スタツク・セグメント
に対するバイト・アクセスは2バイトのオペラ
ンド長を有するものとして取扱われる)と、オ
ン・チツプ・オペランド・スタツク内の二重バ
イトの数を指示するASFULフラツグとを入力
として受ける。 セグメント・バウンド障害(BND)は次の
式で定義されるようにして計算される。 スタツク・アクセス読出しに対して: BND:=(D15…Dφ+AGFUL−OPL2…
OPLφ)<φ スタツク・アクセス書込みに対して: BND:=(LEN15…LENφ−D15…Dφ−
ASFUL−OPL2…OPLφ)<φ 他の全てのメモリ・アクセスに対して: BND:=(LEN15…LENφ−D15−Dφ−
OPL2…OPLφ+1)<φ (5.4) アドレス発生器および仕様レジスタ アドレス発生器433は24ビツトの物理的ア
ドレスを計算し、物理的なメモリのあふれを調
べる。仕様レジスタ(SPEC7…SPECφ)は8
ビツト・アクセス仕様情報を作る。この情報は
アドレスの下位8ビツトによりACDバスの上
位8ビツトでアサートされる。この仕様レジス
タは次式に従つて計算される。 SPEC7=LOCAL SPEC6=M17 SPEC=(not MI13)(MI12)+(MI13)(not
MI12)(MI11)(M13) SPEC4=OPL2 SPEC3=OPL1 SPEC2=(OPL2)(OPL1+OPLφ+MI13+
MI4) SPEC1=not MI3+MI2+MI1 SPECφ=not MI3+MI2+MIφ この仕様レジスタは@LA@Mのアサーシヨ
ンを介してM15…M8へゲートされる。 アドレス発生器は11ビツト加算器で構成され
る。この加算器はベースおよび長さフアイルの
22ビツト・ベース部分(BA23…BA2)と16ビ
ツト・デイスプレースメント(D15…Dφ)を
入力として受け、フル24ビツト物理的アドレス
(AG23…AGφ)と物理的メモリのあふれ
(MOV)の指示を出力として計算する。アド
レス発生は連続する2サイクルにわたつて行わ
れる。物理的なベース・アドレスは整列させら
れた語であるから、デイスプレースメントの下
位2ビツトはAG1…AGφとなる。加算器は第
1のサイクルでAG12…AG2を発生する。これ
らのアドレスのうちの最初の8ビツトだけが
ACDバスへ送り出されるから、次のサイクル
まではAG12…AG8は保持され、AG7…AG2が
LADR7…LADR2線を介してACDバツフアア
へ駆動され、AG1…AGφは@LA@Mのアサー
シヨンを介してM1…Mφへゲートされる。(加
算器を動作させて情報をMバスへゲートさせる
時間はないから、LADR7…LADR2が必要で
ある。)第2のサイクルにおいては、加算器は
AG23…AG13を発生し、@HA@Mのアサーシ
ヨンを介してAG23…AG8をM15…Mφへゲー
トする。このサイクルの間における加算器の桁
上げはサンプリングされ、アサートされたなら
ばメモリあふれ障害を示す。 (5.5) ライト検査ロジツク ライト検査ロジツク816はベースおよび長
さフアイルに記録されている3個の特別ビツト
を基にして変更され障害と、テスト書込みライ
ト障害と、読出しライト障害と、書込みライト
障害の4種類の障害を検査する。4種類の信号
がアサートされてそれらの障害の状態を示し、
以下に述べる障害優先符号器により優先順位が
つけられる。 変更されたビツトが書込みアクセスまたは
RMW読取りアクセスの間に零に等しければ、
変更された障害が示される。テスト書込みライ
ト・フリツプフロツプがセツトされるとテスト
書込みライト障害が指示される。このフリツプ
フロツプは、プロセツサをリセツトしている間
または8802障害状態マイクロ命令をリセツトし
ている間に起る@TSTWRRのアサーシヨンを
介してセツトされる。読取りライト障害
(PRFLT)と書込みライト障害(WRFLT)
はアクセス・マイクロ命令のWフイールドおよ
びMフイールド、ならびに読取りライト・ビツ
ト(RR)と書込みライト・ビツト(WR)の
関数である(下表の定義参照)。ドント・ケア
状態の場合に対する障害がRMW読取りの場合
に既に検査されているから、その状態はRMW
書込みの間に起る。
【表】
【表】 (6.0) 数学的シーケンサ 数学的シーケンサ818は16種類の実行動作
マイクロ命令を実行する全てのシーケンシン
グ・ハードウエアを含む。 (6.1) シーケンサPLA 数学的シーケンサPLA820は実行動作マ
イクロ命令を効率良く実行するために必要な内
部の制御の流れとループを制御する。PLAの
出力は次のものを含む。 @IN5…@INφ:これは、飛越しを行うので
あれば、実行すべき次の数学的マイクロ命令の
アドレスである。 @MSLD:@IN15…@INφにより指定され
たアドレスを数学的シーケンサ制御ROMアド
レス・レジスタ(PAR5…RARφ)へロードす
る。アサートされなければ、制御ROMアドレ
ス・レジスタが増加させられる。 @MSDEC:ループ・カウンタのカウントを
減少させる(5.1.3項参照)。 @MSDN:数学的シーケンサ動作可能化フ
リツプフロツプをリセツトし、doneを命令装
置へ送つて実行動作マイクロ命令が終つたこと
を示し、状態をT1、Tφ=φ1からT1、Tφ=
φφへ移行させる。 (6.1.1) 制御ROMアドレス・レジスタ(PAR5
…PARφ) 数学的シーケンサ制御ROMアドレス・レジ
スタ(PAR5…PARφ)は現在実行されている
数学的マイクロ命令をアドレスするために用い
られる6ビツト・レジスタである。このレジス
タは数学的マイクロ命令が実行される順序を制
御するために数学的シーケンサPLAへ与える
入力としても用いられる。このレジスタは
@IN5…@INφから@MSLDのアサーシヨンを
介してロードされ、または@MSLDのアンア
サーシヨンを介して増加させられる。 (6.1.2) 数学的シーケンサ使用可能化フリツプ
フロツプ(MSEN) 数学的シーケンサ使用可能化フリツプフロツ
プ(MSEN)は、実行動作マイクロ命令の間
だけ、数学的シーケンサ制御ROMの出力をア
サート可能にする。このフリツプフロツプは
@LDCCCCのアサーシヨンを介してセツトさ
れ、@MSDNまたは@CLRMSENのアサーシ
ヨンを介してリセツトされる。 (6.1.3) ループ・カウント・デクレメンタ ループ・カウント・デクレメンタ822は、
数学的マイクロ命令シーケンスが通つたループ
の数をカウントするために、数学的シーケンサ
PLAにより用いられる6ビツト・レジスタ/
デクレメンタである。このレジスタは実行動作
マイクロ命令の第1のサイクルの間にロードさ
れ、@MSDECのアサーシヨンを介して減少さ
せられる。 (6.2) MODレジスタ MODレジスタ824は6ビツト・レジスタ
であつて、このレジスタはどれだけの数のリダ
クシヨン・サイクルを実行するかを示すため
に、実行動作(64ビツトMOD)マイクロ命令
の実行前にロードされる。このレジスタは
@LDMODのアサーシヨンを介してC5…Cφか
らロードされる。MODレジスタの内容はルー
プ・カウント・デクレメンタの出力と比較さ
れ、両者が等しい時は信号EQがアサートされ
る。実行されるリダクシヨン・サイクルの数は
MODレジスタ内の値を64から差し引いたもの
に等しい。MODレジスタは0〜63の値をとる
ことができる。DEQ−OP−DEQ−toレジス
タ・マイクロ命令のRRRRフイールドが1010
の時にこのレジスタがロードされることに注意
されたい。 (6.3) 制御ROM 数学的シーケンサ制御ROM802は制御
ROMアドレス・レジスタによりアドレスされ
る28ビツト数学的マイクロ命令を含む。出力端
子はMSxxxxxx・バスを含む。それらのバス
については(2.2.4.4)項において説明した。 (7.0) アクセス・シーケンサ アクセス・シーケンサ403はメモリとオペ
ランド・スタツクをアクセスするために必要な
全てのハードウエアを含む。以下に論理ブロツ
ク403内のバツフア・レジスタと制御フラツ
グの表を示す。 ワン・レジスタ:これはACDピンへ送り出
すべき次の二重バイト・アドレス、仕様または
データをバツフアするために用いられる16ビツ
ト・レジスタである。このレジスタが必要とす
る理由は書込みデータが拡張可能だからであ
る。外部へ送り出される全てのデータとアドレ
ス情報(アドレスのビツト2…7を除く)はこ
のレジスタを通つて送られる。M@1のアサー
シヨンによりM15…Mφからの非オンチツプ・
スタツク情報はこのレジスタへロードされる。
S@1のアサーシヨンによりM15…Mφからの
オンチツプ・スタツク情報がこのレジスタへロ
ードされる。 ACDレジスタ:これは現在の二重バイト・
アドレス、仕様またはデータをACDピンに保
持する16ビツト・レジスタである。@LA
@ACDのアサーシヨンによりワン・レジスタ
からのビツト15…7、1と、アドレス発生器加
算器からのビツト7…2がロードされる。@0
@ACDのアサーシヨンによりワン・レジスタ
がACDレジスタ内へロードされる。 オンチツプ・オペランド・スタツク:これは
オペランド・スタツクの拡張である16ビツト・
レジスタである。@S@Mのアサーシヨンによ
りこのレジスタはM15…Mφへゲートされる。
@M@SのアサーシヨンによりM15…Mφがこ
のレジスタの中へゲートされる。 OPLデクレメンタ:これは@VVV@OPLの
アサーシヨンを介してオペランド長へ初期設定
され、かつ各二重バイト・データがDECOPL
のアサーシヨンを介してメモリから読出され、
またはメモリへ書込まれるにつれてカウント・
ダウンする3ビツト・レジスタ/デクレメンタ
である。このレジスタすなわち減少させられた
値は、@OPL@Aのアサーシヨンを介して、
命令セグメント読出しおよびスタツク・アクセ
ス・マイクロ命令の間にIPとSPの更新のため
に、回路826を介してAバスへゲートされ
る。 ENACDフリツプフロツプ:このフリツプフ
ロツプは読出しアクセス中のACDピン上のIO
ドライバのための3状態制御器である。 ASxxxxxxバス:これらの信号は(2.2.4.3)
項で定義されている。 (8.0) 障害の取扱い あるマイクロ命令の実行によりいくつかの障
害が実行装置により検出される。障害が検出さ
れると、実行装置は障害フリツプフロツプ
(FLT)をセツトしてその内部障害状態に入れ
(2.2.5項参照)、BP/Fバス217上の4ビツ
ト符号を命令装置へ送つて、障害ピン221の
アサーシヨンとともに一般的な障害の種類を示
す(後記の表参照)。また、ある種の障害に
対しては、その障害に関するより特殊な情報を
示す値が障害符号化レジスタへロードされる
(8.1項参照)。アクセス・マイクロ命令の間に
起るある種の障害には優先順位をつけなければ
ならない。その理由は、1つ以上の障害が実際
に起ることがあるからである。優先順位を下記
の表に示す。1つ以上の障害が同じ優先順位で
起きる場合は、ただ1つの障害のみが可能であ
ることに注意されたい。 障害優先表 1 データ・カツシユ、セグメント表カツシユ
障害 2 メモリ・バウンド障害 3 メモリ・あふれ障害 4 読取りライト、書込みライト障害 5 テスト書込みライト障害 6 変更された障害 ある特定の障害が可能である時を修 する信
号を以下に列挙する。 @FLACC1:読取りライト、書込みライト、
セグメント表カツシユ障害、データ・カツシユ
障害、変更された障害、およびテスト書込みラ
イト障害を検査する。 FLACC2:メモリ・バウンド障害とメモリ
あふれ障害を検査する。 @FLSCL:スケール・デイスプレースメン
ト障害を検査する。 @FLCMP:計算障害を検査する。 @FLADIP:IPスタツクへの加算障害を検
査する。 @FLADDX:デイスプレースメント・スタ
ツクの加算障害を検査する。 @FLTST:テスト・セグメント型障害を検
査する。 @TIMUPOK:タイムアウト障害を検査す
る。 @FLIFCH:命令とり出し特殊条件を可能に
する。
【表】 アドレス展開障害には下記のものが含まれ
る。 スケール・デイスプレースメント デイスプレースメント・スタツクへの加算 IPスタツクへの加算 テスト・セグメントの種類 メモリ・バウンド メモリあふれ 読取りライト 書込みライト テスト書込みライト (8.1) 障害符号化レジスタ 障害ロジツク410内の障害符号化レジスタ
は障害情報を保持するために用いられる16ビツ
トレジスタである。@FLT@Bのアサーシヨ
ンによりこのレジスタはB15…Bφへゲートさ
れる。(このレジスタは負値へゲートされるこ
とに注意されたい。)@MI@Fのアサーシヨン
によりMI13…MI9、MI7、MI4…MIφがこの
レジスタ内のそれぞれの適切なビツト位置へロ
ードされる。FR@FLTのアサーシヨンにより
障害ROMがレジスタ・ビツト15…14および6
…5の中にロードされる。第表は障害符号化
レジスタにロードできる各種の障害に対してそ
のレジスタに記録できる値を定義するものであ
る。この表でXは定義されない値を示し、JJ、
W、BBBB、P、Mフイールドはアクセス・
マイクロ命令中の同じ名称のフイールドに対応
する。EE、EEEE、Iフイールドは障害オ
ン・フラツグ・マイクロ命令中のフイールドに
対応する。Fフイールドは障害オン・フラツ
グ・マイクロ命令中のFFFFフイールドの最上
位の次のビツトに対応する。K、KKKKK、
SSフイールドはテスト・セグメント型マイク
ロ命令中のKKKKKKKKフイールドの最上位
ビツトと、KKKKKKKKフイールドの下位5
ビツトと、SSフイールドにそれぞれ対応する。
障害レジスタのRR、RRフイールド(第表)
は障害ROMからロードされる値(第表参
照)に対応する。(アクセス・リスト・アクセ
ス・マイクロ命令の間の変更された障害に対し
てはBBBBフイールドはMφφφである。した
がつて、障害取扱いマイクロ符号は、どのアク
セス・リストに障害が生じたかを決定するため
にSSSTKを読取らなければならない。)
【表】 ツグ
【表】
【表】 (8.2) 障害不能化フリツプフロツプ 障害ロジツク410内の障害不能化フリツプ
フロツプは、オンチツプ、オペランド・スタツ
クをプロセス・サスペンシヨンの間にメモリに
フラツシユできるように、障害を不能化するた
めに用いられる。このフリツプフロツプはスタ
ツク・セツト・フラツシユ・モード・マイクロ
命令の間に@SETFDISのアサーシヨンを介し
てセツトされる。このフリツプフロツプはスタ
ツク・クリヤ・フラツシユモード・マイクロ命
令またはプロセツサ・リセツト・マイクロ命令
の間に@CLFDISのアサーシヨンを介してクリ
ヤされる。不能状態にされる障害はメモリ・バ
ウンド障害、メモリあふれ障害、書込みライト
障害である。 (8.3) 命令とり出し中のアドレス展開障害 命令セグメント読取りマイクロ命令中に起る
アドレス展開障害は、ルツクアヘツド・モード
においては特別の注意を要する。実行装置がと
り出すことを命令装置が要求した命令が飛越し
命令の後であることがあるから、それらの障害
は実際には妥当でないことがある。このケース
を取扱うために実行装置はその障害状態に一時
的に入り、現在の命令セグメント読取りマイク
ロ命令を打ち切り、それから障害情報と完了指
示を命令装置へ送り出して次のマイクロ命令ま
で進む。それから、その障害を直すか否かを命
令装置は決定せねばならない。 (9.0) プロセツサ・インターフエイス プロセツサ・インターフエイスは前記米国特
許出願第972007号において詳しく記述されてい
る。このインターフエイスに含まれているピン
には次のものが含まれる。ACD15…ACDφ、
BIN、BOUT、HERRIN、HERROUT、
MASTER、ISA、ISB、PCLW。 (10.0) 実行装置/命令装置インターフエイス このインターフエイスは次のようなピン定義
より成る。 MI15…MIφピン220:これら16本のピン
はマイクロ命令と直接のデータを命令装置から
実行装置へ転送するために用いられるマイクロ
命令バスを有する。マイクロサイクルごとに1
つの16ビツト転送が行われる。多重サイクル・
マイクロ命令に対しては、第1のサイクルはオ
ペレータ符号を転送し、それに続くサイクルは
NO−OPデータまたは直接データを転送する。 真ピン218:このピンは、フラツグを命令
装置へ戻す飛越し条件マイクロ命令の間に、フ
ラツグ情報を実行装置から命令装置へ転送す
る。 完了ピン219:このピンは実行装置が可変
長マイクロ命令を完了したことを命令装置へ示
すために用いられる。実行装置は、完了ピンの
アサーシヨン直後のサイクルで、次のマイクロ
命令がMI15…MIφピンでアサートされること
を予測する。完了ピンは、プロセス・タイムア
ウト障害の場合を除き、障害ピン(後述する)
のアサーシヨン直後のサイクルでもアサートさ
れる。これにより、命令装置が障害を認める前
に始動できるというどのような可変長マイクロ
命令もキヤンセルされる。 BPF3…BPFφピン228:これらのピンは、
DEQをBIPマイクロ命令へ転送する場合にビ
ツト・ポインタ情報を転送するため、または認
められている障害の間に4ビツト障害符号化を
行うために用いられる。障害符号化の定義につ
いては第表を参照されたい。 障害ピン217:このピンは、ある障害ピン
がBPF3…BPFφピンでアサートされるサイク
ルと同じサイクルの間にアサートされて、障害
が起きたことを命令装置へ警報し、障害符号化
情報を保持するものである。もし両者が同時に
起きれば、障害のアサーシヨンがDEQをBIP
マイクロ命令をオーバライドすることに注意さ
れたい。 (11.0) 実行装置の典型的な動作 第2図を参照して、実行装置は命令装置のマ
イクロ命令シーケンサからのマイクロ命令の流
れを受け、復号し、実行する。それらの命令は
マイクロ命令バス220で受けられて、マイク
ロ命令レジスタ804に保持される。このマイ
クロ命令レジスタの出力は数学的シーケンサ8
18とアクセス・シーケンサ403へ与えられ
る。各シーケンサは応答すべき特定のマイクロ
を求める。マイクロ命令のセツトについては前
記米国特許出願第971661号の11節に詳しく記載
されている。 初期設定シーケンサを行つてから、命令装置
はプロセツサ・リセツト・マイクロ命令をマイ
クロ命令バスを介して送る。そのマイクロ命令
は実行装置のマイクロ命令レジスタに保持され
る。このマイクロ命令に応じて、実行装置は内
部障害条件をリセツトし、進行中であるかもし
れない多重サイクルマイクロ命令を停止し、命
令装置からの新しいマイクロ命令を待つ。マイ
クロ命令の流れは命令装置によりスタートさせ
られ、マイクロ命令バスを介して送り出され
る。それらのマイクロ命令は、前記米国特許出
願第971661号に記載されている手順に従つて実
行装置を初期設定するのに必要な動作を行う。
命令装置/実行装置プロセツサで実行すべきプ
ロセスがある場合は、そのプロセスの現在の環
境についての必要な全てのアドレツシング情報
がロードされる。命令装置のレジスタにロード
され、ビツト・ポインタと命令ポインタが初期
設定されると、命令装置の命令デコーダが始動
させられる。始動させられると、命令デコーダ
は命令セグメント読出しマイクロ命令を出すこ
とにより、命令データを主メモリからとり出す
べきことを求める。アクセス・シーケンサ40
3はIPスタツク404のトツプを利用するこ
とによりこのマイクロ命令に応答する。この
IPスタツクは読取るべき命令の流れの次の語
に対する命令セグメントへのデイスプレースメ
ントを指定する。32ビツト値が命令セグメント
から読取られ、メモリからのACDバスを介し
て命令装置のコンボーザ・レジスタへロードさ
れる。この動作が成功裡に終つてから、ALU
432へのBバスを介してスタツク404から
読取ることによりIPは4だけ増加させられる。
ALUの出力はCバスを介してIPスタツクへ戻
される。 これはメモリ・アクセス型マイクロ命令であ
るから、その完了のためには可変数のサイクル
を必要とする。実行装置がアクセス・メモリ型
マイクロ命令を命令装置から受けると、参照発
生器232が参照の主アドレスを発生し、その
アドレスをアドレス発生器433に記録する。
このアドレスはACDバス214を介してメモ
リへゲートされる。アクセス・シーケンサは参
照の型式を指定する制御情報と転送すべきバイ
トの数も構成する。これは動作が読取り動作か
書込み動作にはかかわらない。それから実行装
置はISA線を介してメモリへ合図する。実行装
置はメモリから受けているISB線をモニタす
る。命令セグメント読取りのような読取り動作
の間にISBが高レベルであることがアサートさ
れると、これは妥当性データがメモリにより
ACDバスへ置かれたことを示す。求められた
全てのバイトが転送された後で、アクセス・シ
ーケンサは完了線219をアサートして、可変
命令が完了したことを命令装置へ合図する。そ
うすると命令装置はマイクロ命令バス220を
介しての次のマイクロ命令の実行装置への転送
を続行する。 数学的シーケンサとデータ操作器(DMU)
の動作を説明するために、シヨート序数を加え
るというマクロ命令の実行順序を次に説明す
る。このマクロ命令は3つのデータ参照を必要
とする。それはシヨート序数ソース・オペラン
ドについて16ビツトの加算を行い、結果を行先
アドレス中に置く。シヨート序数あふれが起り
得る。命令装置は命令の復号を開始し、第1の
ソース・オペランドの論理アドレス(セグメン
ト・セレクタおよびデイスプレースメント)を
マイクロ命令バスを横切つて送り、実行装置の
スタツク404にそれを保持させる。それから
命令装置はマイクロ命令を送る。このマイクロ
命令は、実行装置で実行されると、主メモリま
たはオペランド・スタツク828からのソース
値をDEQAレジスタ400へロードする。
RGU232は論理アドレスを主メモリの参照
にするための物理的アドレスへ翻訳する。第2
のソース・オペランドがメモリからDEQBレジ
スタ402へ同様にしてロードされる。次に、
結果の論理アドレスがDMUへ送られてそこに
貯えられる。命令装置により復号されたマクロ
命令のOP−CODEフイールドは、これが加算
命令であることを示す。したがつて、加算マイ
クロ命令は命令装置により実行装置へ送られ
る。数学的シーケンサ818はデクレメンタ8
22を3サイクルにセツトすることにより応答
し、PLAシーケンス820を通るステツプを
続ける。PLAシーケンス820は動作を行う
のに必要なマイクロ命令をROM802から読
出す。それらのマイクロ命令によりDEQAと
DEQB内の値をALU432中の加算器へ送り、
その和をDEQBレジスタ内に置く。命令装置
が、DEQBからの結果を主メモリ内の目的場所
に記録させることを実行装置に指示するマイク
ロ命令を実行装置へ送る。 アクセス・シーケンサはメモリ・アクセス・
マイクロ命令に応答し、次のようにして、論理
アドレスから物理的アドレスを発生する。
SSCAN435内のセグメント・セレクタはベ
ースおよび長さレジスタ・カツシユ430内の
値と比較される。両者が一致しなければ、障害
が障害ロジツク410に発生されて、メモリ・
アクセスが停止される。そうすると、障害ロジ
ツクは、障害エンコーデイングをBP/Fバス
217上に置き、かつ障害線221を高レベル
にすることにより、障害が起きたことを命令装
置へ知らせる。命令装置はこの障害に応じて障
害マイクロプログラムの流れを開始する。この
障害の流れは正しいベースおよび長さ情報をレ
ジスタへロードし、それからメモリのアクセス
を再スタートさせる。 もし一致が起きたとすると、ベース・アドレ
スとアクセスすべきセグメントの長さはカツシ
ユ430から読取られる。次に、デイスプレー
スメントが長さ検査比較器431においてセグ
メントの長さと比較され、そのアクセスが限界
内にあることを調べる。アクセスがセグメント
から出ていたり、アクセス・ライト(読取りま
たは書込み)が動作を許さなければ、障害が生
じてアクセスは終了される。障害が起らなけれ
ば、ベース・アドレスがアドレス発生器433
内のデイスプレースメントへ加えられて、希望
の物理的アドレスを与える。 可変マイクロ命令はそれが終るまでは実行装
置が新しいマイクロ命令を受けないことを要求
する。マイクロ命令の終了はそれが終る1サイ
クル前に、命令装置への完了線のレベルを上昇
させることにより、合図される。たとえば、実
行動作マイクロ命令について考えてみる。この
マイクロ命令は実行装置のPLA状態マシーン
を初期設定およびスタートさせる。このPLA
状態マシーンは適切なマイクロ命令をシーケン
スして乗算、除算、剰算MOD、平方根などの
機能を行う。マイクロ命令中の4ビツト・フイ
ールドが実行すべき動作の種類を指定する。そ
のようなマイクロ命令により、実行制御が実行
装置へ実際に転送される。数学的シーケンサは
各種の演算動作のためのマイクロ命令の流れを
ROM802の中に保持している。命令装置が
可変サイクル・マイクロ命令を出した事実を命
令装置は記録するから、命令装置は完了線に信
号を受けるまでループする。実行装置は適切な
ROMの流れを開始し、動作が終る1サイクル
前に、完了線を命令装置へアサートする。それ
から命令装置は次のマイクロ命令をマイクロ命
令バス上に置く。動作が終る1サイクル前に完
了線をアサートすることにより、マイクロ命令
とマイクロ命令の間で失われるサイクルがない
ようにする。 命令装置のマイクロ命令シーケンサがマイク
ロ命令を実行装置へ送つている間に、命令装置
の命令デコーダがマクロ命令のフイールドを翻
訳している。命令デコーダがビツトからプロセ
スへランすると、そのデコーダはマイクロ命令
シーケンサ(MIS)へ知らせる。このMISはマ
イクロ命令の流れの中の適当な点において流れ
を中断し、前記した命令セグメント読取りマイ
クロ命令を実行装置へ送る。実行装置はプログ
ラム・バイト・カウンタを維持し、保持されて
いる命令セグメントのアドレスを有する。実行
装置は適切な物理的アドレスを生成し、メモリ
を参照し、プログラム・カウンタを4バイトだ
け増大させる。主メモリ内の32ビツト参照が
ACDバスを介して命令装置のレジスタへ転送
される。実行装置は完了線のレベルを高くす
る。そうすると、マイクロ命令の流れを断つた
MISへそのマイクロ命令の流れを戻ることが合
図され、命令デコーダは新しい命令ビツトの復
号と翻訳を開始する。 マクロ命令の復号と実行は、プロセスを支持
するマクロ命令が実行されるまで、または障害
が起るまで、あるいはプロセスの時間が切れる
まで続けられる。
【図面の簡単な説明】
第1図は本発明の実行装置の主な部品を示す機
能的なブロツク図、第2図は第1図に示されてい
る実行装置のより詳細なブロツク図、第3図は第
1,2図に示されている種々の部品間の全体的な
タイミング関係を示すタイミング波形図である。 232……基準発生器、230……データ操作
器、400……DQEAレジスタ、402……
DEQBレジスタ、403……アクセス・シーケン
サ、410……障害ロジツク、433……アドレ
ス発生器、804……マイクロ命令レジスタ、8
18……数学的シーケンサ、828……オペラン
ド・スタツク。

Claims (1)

  1. 【特許請求の範囲】 1 主メモリからメモリ・バスを介してマクロ命
    令を受け、それらのマクロ命令を解読し、メモ
    リ・アクセス型マイクロ命令と演算型マイクロ命
    令を発生する種類の命令装置とともに、かつ、デ
    ータとアドレスを前記メモリ・バスを介して送受
    信することにより前記主メモリとともに使用する
    実行装置であつて: アクセス・シーケンサを有し; このアクセス・シーケンサに接続されてそれに
    より制御される参照発生器にして、主メモリ・ス
    ペース内のアドレスを発生して検査でき、前記メ
    モリ・バスを介して前記主メモリへのアクセスに
    用いる物理的アドレスを、メモリ・アクセス型マ
    イクロ命令に含まれる論理アドレスから生成する
    ための演算部を含む参照発生器を有し; 第1の状態マシーンを有し; 前記命令装置により発生される前記メモリ・ア
    クセス型マイクロ命令を復号するため、前記アク
    セス・シーケンサ内に復号手段を有し; 前記アクセス・シーケンサ内の前記復号手段お
    よび前記第1の状態マシーンに接続され、前記メ
    モリ・アクセス型マイクロ命令により指定される
    機能の実行に前記参照発生器を必要とするサイク
    ルにわたつて前記第1の状態マシーンを順番付け
    るため、前記アクセス・シーケンサ内に順番付け
    手段を有し; 数学的シーケンサを有し; この数学的シーケンサに接続されてそれにより
    制御され、前記命令装置により発生される演算型
    マイクロ命令で要求される演算動作を遂行するデ
    ータ操作器を有し; 演算動作を遂行し得る演算論理装置およびレジ
    スタを前記データ操作器に有し; 第2の状態マシーンを有し; 前記命令装置により発生される前記演算型マイ
    クロ命令を復号するため、前記数学的シーケンサ
    内に復号手段を有し; 前記数学的シーケンサ内の前記復号手段および
    前記第2の状態マシーンに接続され、前記演算型
    マイクロ命令により指定される機能の実行に前記
    データ操作器の必要とするサイクルにわたつて前
    記第2の状態マシーンを順番付ける手段を有し; 実行完了時に前記命令装置に合図をする手段を
    前記数学的シーケンサに有し; 前記アクセス・シーケンサおよび前記数学的シ
    ーケンサに接続され、前記命令装置により発生さ
    れるマイクロ命令を、前記アクセス・シーケンサ
    内の前記復号手段および前記数学的シーケンサ内
    の前記復号手段に与え、もつて、前記数学的シー
    ケンサで実行可能な演算マイクロ命令を前記数学
    的シーケンサ内の前記復号手段により分離して復
    号可能とし、それにより前記データ操作器による
    即刻の実行開始に備えるとともに、前記アクセ
    ス・シーケンサで実行可能なメモリ・アクセス型
    マイクロ命令を前記アクセス・シーケンサ内の前
    記復号手段により分離して復号可能とし、それに
    より前記参照発生器による即刻の実行開始に備え
    る手段を有すること から成る命令装置および主メモリと共に使用する
    実行装置。 2 特許請求の範囲の第1項に記載の装置であつ
    て、前記アクセス・シーケンサは、転送のための
    情報を主メモリからとり出して前記命令装置へ送
    る要素を含んでいる主メモリとインターフエイス
    する要素と、前記情報のとり出しが完了したこと
    を前記命令装置に知らせて、実行装置が新しいマ
    イクロ命令を受ける用意ができていることを命令
    装置へ知らせる要素とを備えることを特徴とする
    装置。 3 特許請求の範囲の第2項に記載の装置であつ
    て、前記知らせる要素は、前記実行装置から前記
    命令装置に接続される出力線と、前記情報とり出
    しの間にかかる一連のサイクルの最後のクロツ
    ク・サイクルが終る前の一定時間に前記出力線に
    出力する要素とを備えることを特徴とする装置。 4 主メモリからメモリ・バスを介してマクロ命
    令を受け、それらのマクロ命令を解読し、メモ
    リ・アクセス型マイクロ命令と演算型マイクロ命
    令を発生する種類の命令装置とともに、かつデー
    タとアドレスを前記メモリ・バスを介して送受信
    することにより前記主メモリとともに使用する実
    行装置であつて: 前記メモリ・アクセス型マイクロ命令の実行に
    必要な動作を通して順番付けをするためのアクセ
    ス・シーケンサを有し; このアクセス・シーケンサにより制御され、前
    記メモリ・バスを介して前記主メモリをアクセス
    するために用いる物理的メモリ・アドレスを論理
    的メモリ・アドレスから生成する参照発生器を有
    し; 演算型マイクロ命令を復号する数学的シーケン
    サにして、当該マイクロ命令の実行に必要な動作
    を通して順番付けを行う手段を有する数学的シー
    ケンサを有し; この数学的シーケンサにより制御され、前記演
    算型マイクロ命令により求められる演算動作を実
    行するデータ操作器を有し; 前記命令装置により発生された前記マイクロ命
    令を前記アクセス・シーケンサと前記数学的シー
    ケンサへ与える手段を有し; 前記実行装置から前記命令装置に接続される完
    了出力線を有し; この完了出力線に接続され、メモリ・アクセス
    型マイクロ命令により求められたメモリ・アクセ
    スがほぼ完了した時に前記完了出力線に信号を与
    える手段を前記アクセス・シーケンサに有し; 前記完了出力線に接続され、演算マイクロ命令
    により求められた演算動作がほぼ完了した時に前
    記完了出力線に信号を与える手段を前記数学的シ
    ーケンサに有し; 前記数学的シーケンサと前記データ操作器によ
    り実行できる演算マイクロ命令と、前記アクセ
    ス・シーケンサと前記参照発生器により実行でき
    るメモリ・アクセス命令とが、何れかの適切なシ
    ーケンサによる迅速な実行開始のために、別々に
    復号できることを特徴とする主メモリおよび命令
    装置と共に使用する実行装置。 5 特許請求の範囲の第4項に記載の装置であつ
    て、前記数学的シーケンサの前記完了出力線に信
    号を与える前記手段は、複数サイクルのマイクロ
    命令を構成するサイクルの数をカウントして、そ
    のサイクルの数が終つた時に前記完了出力線へ信
    号を与えるカウンタを含むことを特徴とする装
    置。 6 特許請求の範囲の第4項に記載の装置であつ
    て、前記アクセス・シーケンサの前記完了出力線
    に信号を与える前記手段は、前記主メモリから
    の、前記メモリ・アクセスの終了を示す制御信号
    に応答する手段を含むことを特徴とする装置。 7 主メモリからメモリ・バスを介してマクロ命
    令を受け、それらのマクロ命令を解読し、メモ
    リ・アクセス型マイクロ命令と演算型マイクロ命
    令を発生する種類の命令装置とともに、かつデー
    タとアドレスを前記メモリ・バスを介して送受信
    することにより前記主メモリとともに使用する実
    行装置であつて: 前記メモリ・アクセス型マイクロ命令の実行に
    必要な動作を通して順番付けをするためのアクセ
    ス・シーケンサを有し; このアクセス・シーケンサにより制御され、前
    記メモリ・バスを介して前記主メモリをアクセス
    するために用いる物理的メモリ・アドレスを論理
    的メモリ・アドレスから生成する参照発生器を有
    し; 演算型マイクロ命令を復号する数学的シーケン
    サにして、当該マイクロ命令の実行に必要な動作
    を通して順番付けを行う手段を有する数学的シー
    ケンサを有し; この数学的シーケンサにより制御され、前記演
    算型マイクロ命令により求められる演算動作を実
    行するデータ操作器を有し; 前記命令装置により発生された前記マイクロ命
    令を前記アクセス・シーケンサと前記数学的シー
    ケンサへ与える分配手段を有し; 前記参照発生器と前記データ操作器から障害情
    報を受ける手段を含む障害論理手段を有し; この障害論理手段を前記命令装置へ相互接続す
    る多ビツトの障害出力線を有し; 障害エンコーデイングを前記障害出力線上に置
    く手段を前記障害論理手段に有し; 障害状態が起きたことを前記命令装置へ知らせ
    る手段を有し; 前記数学的シーケンサと前記データ操作器によ
    り実行できる演算マイクロ命令と、前記アクセ
    ス・シーケンサと前記参照発生器により実行でき
    るメモリ・アクセス命令とが、何れか適切なシー
    ケンサによる迅速な実行開始のために、別々に復
    号できることを特徴とする主メモリおよび命令装
    置と共に使用する実行装置。 8 特許請求の範囲の第7項に記載の装置であつ
    て、前記分配手段は前記マイクロ命令を前記障害
    論理手段へ分配する手段を含むことを特徴とする
    装置。
JP1677981A 1980-02-07 1981-02-06 Instructing device and executing device used with main memory Granted JPS56127250A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/119,432 US4367524A (en) 1980-02-07 1980-02-07 Microinstruction execution unit for use in a microprocessor

Publications (2)

Publication Number Publication Date
JPS56127250A JPS56127250A (en) 1981-10-05
JPH026091B2 true JPH026091B2 (ja) 1990-02-07

Family

ID=22384392

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1677981A Granted JPS56127250A (en) 1980-02-07 1981-02-06 Instructing device and executing device used with main memory

Country Status (2)

Country Link
US (1) US4367524A (ja)
JP (1) JPS56127250A (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4521858A (en) * 1980-05-20 1985-06-04 Technology Marketing, Inc. Flexible addressing and sequencing system for operand memory and control store using dedicated micro-address registers loaded solely from alu
US4430711A (en) 1980-05-30 1984-02-07 Signetics Corporation Central processing unit
US4939640A (en) * 1981-05-22 1990-07-03 Data General Corporation Data processing system having unique microinstruction control and stack means
US4525780A (en) * 1981-05-22 1985-06-25 Data General Corporation Data processing system having a memory using object-based information and a protection scheme for determining access rights to such information
US4931989A (en) * 1982-02-22 1990-06-05 International Business Machines Corporation Microword generation mechanism utilizing a separate programmable logic array for first microwords
US4519033A (en) * 1982-08-02 1985-05-21 Motorola, Inc. Control state sequencer
US4611273A (en) * 1983-12-30 1986-09-09 International Business Machines Corporation Synchronized microsequencer for a microprocessor
JP2539357B2 (ja) * 1985-03-15 1996-10-02 株式会社日立製作所 デ−タ処理装置
US5349672A (en) * 1986-03-17 1994-09-20 Hitachi, Ltd. Data processor having logical address memories and purge capabilities
US5179716A (en) * 1986-07-02 1993-01-12 Advanced Micro Devices, Inc. Programmable expandable controller with flexible I/O
DE3855524T2 (de) * 1987-06-19 1997-02-06 Hitachi Ltd Arithmetik-Parallelverarbeitungseinheit und zugehöriger Kompilator
US4891754A (en) * 1987-07-02 1990-01-02 General Datacomm Inc. Microinstruction sequencer for instructing arithmetic, logical and data move operations in a conditional manner
US4888722A (en) * 1987-07-02 1989-12-19 General Datacomm, Inc. Parallel arithmetic-logic unit for as an element of digital signal processor
US4926355A (en) * 1987-07-02 1990-05-15 General Datacomm, Inc. Digital signal processor architecture with an ALU and a serial processing section operating in parallel
US5226122A (en) * 1987-08-21 1993-07-06 Compaq Computer Corp. Programmable logic system for filtering commands to a microprocessor
JP2748957B2 (ja) * 1987-09-30 1998-05-13 健 坂村 データ処理装置
US5101344A (en) * 1988-01-28 1992-03-31 Motorola, Inc. Data processor having split level control store
US5193205A (en) * 1988-03-01 1993-03-09 Mitsubishi Denki Kabushiki Kaisha Pipeline processor, with return address stack storing only pre-return processed address for judging validity and correction of unprocessed address
EP0414811B1 (en) * 1988-05-03 1997-02-19 Wang Laboratories, Inc. Microprocessor having external control store
US5187799A (en) * 1988-05-17 1993-02-16 Calif. Institute Of Technology Arithmetic-stack processor which precalculates external stack address before needed by CPU for building high level language executing computers
JPH02190930A (ja) * 1988-12-29 1990-07-26 Internatl Business Mach Corp <Ibm> ソフトウエア命令実行装置
US5142631A (en) * 1989-02-03 1992-08-25 Digital Equipment Corporation System for queuing individual read or write mask and generating respective composite mask for controlling access to general purpose register
US5249280A (en) * 1990-07-05 1993-09-28 Motorola, Inc. Microcomputer having a memory bank switching apparatus for accessing a selected memory bank in an external memory
US5537338A (en) * 1993-11-24 1996-07-16 Intel Corporation Process and apparatus for bitwise tracking in a byte-based computer system
US5867722A (en) * 1995-04-25 1999-02-02 United Microelectronics Corporation Sticky bit detector for a floating-point processor
US5944807A (en) 1996-02-06 1999-08-31 Opti Inc. Compact ISA-bus interface
US5815724A (en) * 1996-03-29 1998-09-29 Intel Corporation Method and apparatus for controlling power consumption in a microprocessor
WO1998033115A1 (en) 1997-01-24 1998-07-30 Mitsubishi Denki Kabushiki Kaisha A data processor
US6237021B1 (en) * 1998-09-25 2001-05-22 Complex Data Technologies, Inc. Method and apparatus for the efficient processing of data-intensive applications

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3302183A (en) * 1963-11-26 1967-01-31 Burroughs Corp Micro-program digital computer
US3878514A (en) * 1972-11-20 1975-04-15 Burroughs Corp LSI programmable processor
JPS524140A (en) * 1975-06-28 1977-01-13 Victor Co Of Japan Ltd Data presentation system
US4008642A (en) * 1976-01-08 1977-02-22 Buell Industries, Inc. Fastening device
US4079455A (en) * 1976-12-13 1978-03-14 Rca Corporation Microprocessor architecture
JPS6049337B2 (ja) * 1977-05-11 1985-11-01 株式会社日立製作所 パイプライン制御方式
JPS5466048A (en) * 1977-11-07 1979-05-28 Hitachi Ltd Information processor

Also Published As

Publication number Publication date
JPS56127250A (en) 1981-10-05
US4367524A (en) 1983-01-04

Similar Documents

Publication Publication Date Title
JPH026091B2 (ja)
US6151669A (en) Methods and apparatus for efficient control of floating-point status register
JP3983857B2 (ja) ベクトルレジスタの複数バンクを用いた単一命令複数データ処理
US4862407A (en) Digital signal processing apparatus
US4794524A (en) Pipelined single chip microprocessor having on-chip cache and on-chip memory management unit
AU632559B2 (en) Control of multiple function units with parallel operation in a microcoded execution unit
US5717946A (en) Data processor
JP2535518B2 (ja) デ−タ処理システム
US4166289A (en) Storage controller for a digital signal processing system
EP0405495B1 (en) Instruction unit logic management apparatus included in a pipelined processing unit and method therefor
US5440747A (en) Data processor with control logic for storing operation mode status and associated method
US3753236A (en) Microprogrammable peripheral controller
US4713750A (en) Microprocessor with compact mapped programmable logic array
EP0124402A2 (en) Microprocessor
US4305124A (en) Pipelined computer
EP0450802A2 (en) Arithmetic unit
JPS6058490B2 (ja) 命令ブランチ機構
JPS59111542A (ja) プログラム・カランタ・スタツク方法およびネストされたサブル−チンと命令用の装置
JPS5911943B2 (ja) デ−タ処理装置の為のトラツプ機構
US5062041A (en) Processor/coprocessor interface apparatus including microinstruction clock synchronization
JPH0128409B2 (ja)
JP2807343B2 (ja) 情報処理システム
US4462072A (en) Clock system having a stall capability to enable processing of errors
US6370639B1 (en) Processor architecture having two or more floating-point status fields
US5613143A (en) Programmable controller for high-speed arithmetic operations