JPS61241832A - パイプライン式プロセツサ - Google Patents
パイプライン式プロセツサInfo
- Publication number
- JPS61241832A JPS61241832A JP61055200A JP5520086A JPS61241832A JP S61241832 A JPS61241832 A JP S61241832A JP 61055200 A JP61055200 A JP 61055200A JP 5520086 A JP5520086 A JP 5520086A JP S61241832 A JPS61241832 A JP S61241832A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- interrupt
- bit
- register
- bits
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Databases & Information Systems (AREA)
- Advance Control (AREA)
- Complex Calculations (AREA)
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
下記の順序で本発明を説明する。
A、産業上の利用分野
B6従来技術
C6発明が解決しようとする問題点
り、問題点を解決するための手段
E、実施例
E−1,用語集
E−2,プロセッサのハードウェア機構E−6,割込み
アーキテクチャ E−4,命令セット E−5,付加的なプロセッサ機構 E−6,付 表 A、産業上の利用分野 本発明は一般的にはデータ処理システム、特にフーリエ
変換、ディジタル・フィルタ、圧縮符号化等の高速の、
反復的な計算を行なうのに適合したディジタル信号処理
コンピュータに関する。
アーキテクチャ E−4,命令セット E−5,付加的なプロセッサ機構 E−6,付 表 A、産業上の利用分野 本発明は一般的にはデータ処理システム、特にフーリエ
変換、ディジタル・フィルタ、圧縮符号化等の高速の、
反復的な計算を行なうのに適合したディジタル信号処理
コンピュータに関する。
B、従来技術
従来、種々の高速信号プロセッサが存在している。例え
ば米国特許第4041461号は、そのような設計の1
つを説明している。それは、信号処理アルゴリズムを実
行できるだけでなく、後処理及び表示フォーマツティン
グ機能を行なう事もできる汎用の高速プロセッサである
。このプロセッサは、パイプライン方式のアーキテクチ
ャを用いて設計され、バルク記憶装置、作業用記憶装置
及び算術演算要素制御記憶装置に接続された別個の記憶
装置、制御装置を用いている。算術演算プロセッサに加
えて余分の制御プロセッサを付加すると良い特性が得ら
れるが、単一の回路チップ上に容易に収容できるよシも
多くのスペース及び複雑性を必要とする可能性がある。
ば米国特許第4041461号は、そのような設計の1
つを説明している。それは、信号処理アルゴリズムを実
行できるだけでなく、後処理及び表示フォーマツティン
グ機能を行なう事もできる汎用の高速プロセッサである
。このプロセッサは、パイプライン方式のアーキテクチ
ャを用いて設計され、バルク記憶装置、作業用記憶装置
及び算術演算要素制御記憶装置に接続された別個の記憶
装置、制御装置を用いている。算術演算プロセッサに加
えて余分の制御プロセッサを付加すると良い特性が得ら
れるが、単一の回路チップ上に容易に収容できるよシも
多くのスペース及び複雑性を必要とする可能性がある。
また、コスト及び相互接続の複雑さを、好ましくない程
度にまで上昇させる。
度にまで上昇させる。
もう1つの従来技術は、米国特許第4458488号で
ある。ここでデータ処理システムは、ホス1−CPU及
びホスト主記憶に接続されたスレーブ・コンピュータを
有しておシ、2つのコンピュータはホスト主記憶のDM
Aを通じてインターフェースされる。2台の別個のコン
ピュータを使用する事は、信号源における直接的な処理
が望ましい多くの例の下での信号処理に役立たない。
ある。ここでデータ処理システムは、ホス1−CPU及
びホスト主記憶に接続されたスレーブ・コンピュータを
有しておシ、2つのコンピュータはホスト主記憶のDM
Aを通じてインターフェースされる。2台の別個のコン
ピュータを使用する事は、信号源における直接的な処理
が望ましい多くの例の下での信号処理に役立たない。
もう1つの従来技術は、米国特許第4595468号で
ある。ここでは複数の並列なパイプライン方式のプロセ
ッサ及び特に5つの独立にプログラム可能なサブシステ
ムが、同時的動作のために設計されている。それが半導
体の1つのチップの上に集積可能であるにもかかわらず
、付加的な複雑さ及びコストは、それをよシ望ましくな
いものにしている。また5つの同時的に可能な機能は、
より汎用的な割込み駆動の機械及び割込み駆動の機械に
伴なうプログラム可能に制御できる機能に役立たない。
ある。ここでは複数の並列なパイプライン方式のプロセ
ッサ及び特に5つの独立にプログラム可能なサブシステ
ムが、同時的動作のために設計されている。それが半導
体の1つのチップの上に集積可能であるにもかかわらず
、付加的な複雑さ及びコストは、それをよシ望ましくな
いものにしている。また5つの同時的に可能な機能は、
より汎用的な割込み駆動の機械及び割込み駆動の機械に
伴なうプログラム可能に制御できる機能に役立たない。
もう1つの従来技術は、米国特許第4270181号で
ある。ここでは別個のパイプラインがアーキテクチャ的
に含まれていて、それらは条件付データ以外のデータに
対して、一連の動作を行なうための主パイプライン及び
条件付データを処理するための第2パイプラインよシ成
シ、2つのパイプラインは同期的に動作する。
ある。ここでは別個のパイプラインがアーキテクチャ的
に含まれていて、それらは条件付データ以外のデータに
対して、一連の動作を行なうための主パイプライン及び
条件付データを処理するための第2パイプラインよシ成
シ、2つのパイプラインは同期的に動作する。
最後に、米国特許第4025771号は別の型のパイプ
ライン式アーキテクチャを説明している。
ライン式アーキテクチャを説明している。
ここでは算術演算ユニットにおける命令実行のオーバー
ラツプが、カスケード式に接続された複数のレジスタに
一連の命令をステップ式に移動させ、1つ以上のデータ
処理経路中の対応する段階の制御のために、レジスタ中
の各命令を別々にデコードする事によって行われている
。各段階は、制御されるパイプライン中に1つのレジス
タを外見上有し、各段階毎に別個のデコーディング・レ
ジスタが存在する。これはデータのブロック又は配列に
対する高度に反復的で構造化された動作を促進するが、
割込み駆動式の機械又は望ましいコストの削減や単純化
には役立たない。
ラツプが、カスケード式に接続された複数のレジスタに
一連の命令をステップ式に移動させ、1つ以上のデータ
処理経路中の対応する段階の制御のために、レジスタ中
の各命令を別々にデコードする事によって行われている
。各段階は、制御されるパイプライン中に1つのレジス
タを外見上有し、各段階毎に別個のデコーディング・レ
ジスタが存在する。これはデータのブロック又は配列に
対する高度に反復的で構造化された動作を促進するが、
割込み駆動式の機械又は望ましいコストの削減や単純化
には役立たない。
各々の制御レベルが対応する処理レベルに結合された、
直列に結合された制御レベルという基本的概念も米国特
許第51875591号に示されている。これはプログ
ラム可能な算術演算制御装置及び制御装置により制御さ
れるパイプライン式算術演算ユニットヲ含む。2つの別
個の制御装置、即ち算術演算制御装置及び処理制御装置
は、複雑であり、割込み処理機械を容易にしない。
直列に結合された制御レベルという基本的概念も米国特
許第51875591号に示されている。これはプログ
ラム可能な算術演算制御装置及び制御装置により制御さ
れるパイプライン式算術演算ユニットヲ含む。2つの別
個の制御装置、即ち算術演算制御装置及び処理制御装置
は、複雑であり、割込み処理機械を容易にしない。
C0発明が解決しようとする問題点
従来技術の前述の欠点を考慮すると、本発明の目的は、
単一の装置が割込み駆動モードで、完全にパイプライン
化された命令及びデータ・フローを制御する事のできる
改良された信号プロセッサを提供する事である。
単一の装置が割込み駆動モードで、完全にパイプライン
化された命令及びデータ・フローを制御する事のできる
改良された信号プロセッサを提供する事である。
本発明の他の目的は、割込みが発生した時に処理されて
いた命令のアドレスを実行するように、機械を回復させ
るためのインターロックを割込み制御論理が備えた、改
良されたパイプライン式信号プロセッサを提供する事で
ある。
いた命令のアドレスを実行するように、機械を回復させ
るためのインターロックを割込み制御論理が備えた、改
良されたパイプライン式信号プロセッサを提供する事で
ある。
本発明の他の目的は、エラーが発生した時に実行されて
いた実際の命令についての適当な記録が通常は取られな
いままになるような、複合命令において生じたエラーか
ら回復するための手段が設けられた、改良された割込み
駆動パイプライン式信号プロセッサを提供する事である
。
いた実際の命令についての適当な記録が通常は取られな
いままになるような、複合命令において生じたエラーか
ら回復するための手段が設けられた、改良された割込み
駆動パイプライン式信号プロセッサを提供する事である
。
D5問題点を解決するだめの手段
信号プロセッサは、多数の反復的な信号処理機能に適合
した新しいアーキテクチャを、特別な単一チップとして
実現したものである。このデバイスは、本質的には、信
号処理に共通に関係したある種のタスクを、能率的に処
理する事を可能にするアーキテクチャ上の特徴を備えた
高速の、新規な単一チップ・マイクロプロセッサである
。特に、順次的な乗算−累算動作は非常に効率的に行な
う事ができる。
した新しいアーキテクチャを、特別な単一チップとして
実現したものである。このデバイスは、本質的には、信
号処理に共通に関係したある種のタスクを、能率的に処
理する事を可能にするアーキテクチャ上の特徴を備えた
高速の、新規な単一チップ・マイクロプロセッサである
。特に、順次的な乗算−累算動作は非常に効率的に行な
う事ができる。
プロセッサのアーキテクチャ及び命令セットは、プロセ
ッサが典型的な信号処理のタスク、例えばフィルタリン
グ及び相関、並びにより一般的なハウスキーピング及び
算術演算のタスクを効率的に実行できるように設計され
ている。使用される命令セットのサブセットは、信号処
理に関係したタスクに特に、役立ち(下記の1複合」命
令)、一方他の命令即ち、よシ普通の命令はその性質上
よシ汎用的な傾向がある。
ッサが典型的な信号処理のタスク、例えばフィルタリン
グ及び相関、並びにより一般的なハウスキーピング及び
算術演算のタスクを効率的に実行できるように設計され
ている。使用される命令セットのサブセットは、信号処
理に関係したタスクに特に、役立ち(下記の1複合」命
令)、一方他の命令即ち、よシ普通の命令はその性質上
よシ汎用的な傾向がある。
これらの改良を与えるための、本発明の良好な実施例は
、2つの領域で一パイプライン化されたプロセッサであ
る。即ち、命令は一般に3相のパイプ2イン(取り出し
、デコード及び実行)を通シ、乗算器は2相のパイプラ
インを使用する。データ・フローは並列であり、全体的
に16ビツト幅である。命令記憶装置はデータ記憶装置
とは分離している。しかしながら、プロセッサは、それ
自身の命令記憶装置を2つの間接プログラム・アクセス
(IPA)命令、IPA読取り及びIPA書込みによっ
て、読み書きするための機構が設けられている。このプ
ロセッサのいくつかの命令は、複数の実行動作を起こさ
せる。これらの「並行」又は「複合」命令は、例えば同
時的な転送動作(記憶装置又はIloからスタックへ又
はその逆ン及びデータ・フローの別個の領域での計算動
作を起こさせる事ができる。従って、ロード(又は記憶
)及び計算動作が、単一の複合命令で指定できる。
、2つの領域で一パイプライン化されたプロセッサであ
る。即ち、命令は一般に3相のパイプ2イン(取り出し
、デコード及び実行)を通シ、乗算器は2相のパイプラ
インを使用する。データ・フローは並列であり、全体的
に16ビツト幅である。命令記憶装置はデータ記憶装置
とは分離している。しかしながら、プロセッサは、それ
自身の命令記憶装置を2つの間接プログラム・アクセス
(IPA)命令、IPA読取り及びIPA書込みによっ
て、読み書きするための機構が設けられている。このプ
ロセッサのいくつかの命令は、複数の実行動作を起こさ
せる。これらの「並行」又は「複合」命令は、例えば同
時的な転送動作(記憶装置又はIloからスタックへ又
はその逆ン及びデータ・フローの別個の領域での計算動
作を起こさせる事ができる。従って、ロード(又は記憶
)及び計算動作が、単一の複合命令で指定できる。
プロセッサの算術演算機構には、乗算器とALUの両方
が含まれている。乗算器によって形成された積はALU
の入力オペランドとして選択する事ができ、従って積を
アキュムレータに合計する事が非常に効率的なプロセス
になる。
が含まれている。乗算器によって形成された積はALU
の入力オペランドとして選択する事ができ、従って積を
アキュムレータに合計する事が非常に効率的なプロセス
になる。
このプロセッサは、割込み駆動式に設計されている。そ
の割込み機構は、最大限の柔軟性を可能にしながら、最
小限のハードウェアを用いて実現されるように設計され
ている。2つの直接メモリ・アクセス(DMA )モー
ドが、この設計で許されている。[ストップ・モードJ
DMAでは、プロセッサは停止する事を要求され、その
命令記憶装置及びデータ記憶装置のインターフェースを
外部装置に譲る。「サイクル・スチールJDMAモード
では、プロセッサはデータ・メモリヲ、必要としない時
を示すインターフェース信号を与える。
の割込み機構は、最大限の柔軟性を可能にしながら、最
小限のハードウェアを用いて実現されるように設計され
ている。2つの直接メモリ・アクセス(DMA )モー
ドが、この設計で許されている。[ストップ・モードJ
DMAでは、プロセッサは停止する事を要求され、その
命令記憶装置及びデータ記憶装置のインターフェースを
外部装置に譲る。「サイクル・スチールJDMAモード
では、プロセッサはデータ・メモリヲ、必要としない時
を示すインターフェース信号を与える。
この信号は外部装置がデータ・メモリにアクセスする事
を可能にする。
を可能にする。
このプロセッサは、ユーザにより機械制御レジスタ(M
CR)を介して、起動できる広範な診断能力を有してい
る。それに含まれているのは、命令メモリ、データ・メ
モリ及び■10転渚に対するパリティ検査並びにALU
及び乗算器の動作に対するオーバーフローの検出である
。診断能力は、パイプライン・フローの範囲内で、エラ
ーのトレース可能性を保証する命令リンク制御(ILC
)によって拡張される。プロセッサ中のステータス・レ
ジスタは、ALUの状態、割込みのステータス及びハリ
ティ・エラーや算術演算オーバーフローのような機械の
検査についての、最新の情報を含んでいる。プロセッサ
は間接プログラム・アクセス(IPA)読取り/書込み
命令を用いて、それ自身の命令記憶装置を読取り及び書
込みできるので、(ローカル又はリモートの)ホストか
ら応用プログラムを取得し、それらを実行させるために
、命令記憶装置に置くためにそれ自身の資源を利用する
事ができる。
CR)を介して、起動できる広範な診断能力を有してい
る。それに含まれているのは、命令メモリ、データ・メ
モリ及び■10転渚に対するパリティ検査並びにALU
及び乗算器の動作に対するオーバーフローの検出である
。診断能力は、パイプライン・フローの範囲内で、エラ
ーのトレース可能性を保証する命令リンク制御(ILC
)によって拡張される。プロセッサ中のステータス・レ
ジスタは、ALUの状態、割込みのステータス及びハリ
ティ・エラーや算術演算オーバーフローのような機械の
検査についての、最新の情報を含んでいる。プロセッサ
は間接プログラム・アクセス(IPA)読取り/書込み
命令を用いて、それ自身の命令記憶装置を読取り及び書
込みできるので、(ローカル又はリモートの)ホストか
ら応用プログラムを取得し、それらを実行させるために
、命令記憶装置に置くためにそれ自身の資源を利用する
事ができる。
E、実施例
第1図に概略を示すように、プロセッサの全体的な構造
は、2つの一般的な領域、即ち主データ・フロー並びに
、順序づけ及び制御論理に分割されるものと考えられる
。主データ・フローは、種々のデータの処理及び操作の
要素を含むものと考えられる。これは第1B図のブロッ
ク図の部分から成っている。順序づけ及び制御の論理は
、命令アドレス・レジスタ(I AP L命令デコード
・レジスタ(IDR)、アドレス生成(ADD GE
N)加算器、それに付属する共通アドレス・バス・レジ
スタ(CABR)、インデックス・レジスタ選択経路、
及び命令デコード論理を含み、第1A図の大部分を構成
している。
は、2つの一般的な領域、即ち主データ・フロー並びに
、順序づけ及び制御論理に分割されるものと考えられる
。主データ・フローは、種々のデータの処理及び操作の
要素を含むものと考えられる。これは第1B図のブロッ
ク図の部分から成っている。順序づけ及び制御の論理は
、命令アドレス・レジスタ(I AP L命令デコード
・レジスタ(IDR)、アドレス生成(ADD GE
N)加算器、それに付属する共通アドレス・バス・レジ
スタ(CABR)、インデックス・レジスタ選択経路、
及び命令デコード論理を含み、第1A図の大部分を構成
している。
E−1用語集
本明細書中では、多くの特殊な名前や省略語を使用する
。それらを、便宜のためここに讐約した。
。それらを、便宜のためここに讐約した。
ハードウェアに関する用語及び省略語
バス:
CDB=共通6状態データ・バス
BMUXパス=ALUOrBJ側の加数選択バスCMU
Xバス=スタックのrCJ出力、MCR。
Xバス=スタックのrCJ出力、MCR。
PSR選択バス
LMUXバス=左4レジスタ・スタック群に関する入力
選択バス RMUXバス=右4レジスタ・スタック群に関する入力
選択バス IAB=命令アドレスをプログラム記憶装置に供給する
アドレス・バス CAB=RAM及びI10アドレスを供給する共通アド
レス番パス レジスタ: RO〜R3=「左」群のスタック・レジスタR4〜R7
=「右J群のスタック・レジスタMCRH=機械制御レ
ジスタの上位16ビツト(第8A図参照) MCRL=機械制御レジスタの下位16ビツト(第8B
図参照) P S RH=機械ステータス・レジスタの上位16ビ
ツト(第9A図参照) PSRL=機械ステータス・レジスタの下位16ビツト
(第9B図参照) IDR=命令デコード・レジスタ BXR=命令実行レジスタ CABR=RAM、Ilo又はCDHに宛てられた即値
オペランド又は計算されたアドレス用の保持レジスタ I AR=命令アドレス・レジスタ I LR=割込み処理中に戻p先アドレスを保持するレ
ジスタ IRWC=インターフェース読取り/*込み制御レジス
タ(表7参照) RPP=部分積パイプライン・レジスタ(乗算器中) RP =積レジスタ(乗算器中) (注) 下記の3つの「レジスタ」は物理的なレジスタ
ではなく、積レジスタRPから選択された16ビツトの
部分である。
選択バス RMUXバス=右4レジスタ・スタック群に関する入力
選択バス IAB=命令アドレスをプログラム記憶装置に供給する
アドレス・バス CAB=RAM及びI10アドレスを供給する共通アド
レス番パス レジスタ: RO〜R3=「左」群のスタック・レジスタR4〜R7
=「右J群のスタック・レジスタMCRH=機械制御レ
ジスタの上位16ビツト(第8A図参照) MCRL=機械制御レジスタの下位16ビツト(第8B
図参照) P S RH=機械ステータス・レジスタの上位16ビ
ツト(第9A図参照) PSRL=機械ステータス・レジスタの下位16ビツト
(第9B図参照) IDR=命令デコード・レジスタ BXR=命令実行レジスタ CABR=RAM、Ilo又はCDHに宛てられた即値
オペランド又は計算されたアドレス用の保持レジスタ I AR=命令アドレス・レジスタ I LR=割込み処理中に戻p先アドレスを保持するレ
ジスタ IRWC=インターフェース読取り/*込み制御レジス
タ(表7参照) RPP=部分積パイプライン・レジスタ(乗算器中) RP =積レジスタ(乗算器中) (注) 下記の3つの「レジスタ」は物理的なレジスタ
ではなく、積レジスタRPから選択された16ビツトの
部分である。
RPL=RPから選択された下位の積の値RPM=RP
から選択された中位の積の値RPH=RPから選択され
た上位の積の値他のハードウェア要素: ADD GEN加算加算器筐即値オペランドAMアド
レス又はI10アドレスを形成するのに使われる加算器 ALU=算術論理演算ユニット RAM=読取り/書込み可変記憶装置(16ビツト ・
ワード) 種々の制御7ラグ: IX =インデクフラグ制御フィールド(表5参照) FUN=ALU機能制御フィールド(表5参照)(注)
下記の7ラグ・ピットの使用法に関しては、第5図を
参照されたい。
から選択された中位の積の値RPH=RPから選択され
た上位の積の値他のハードウェア要素: ADD GEN加算加算器筐即値オペランドAMアド
レス又はI10アドレスを形成するのに使われる加算器 ALU=算術論理演算ユニット RAM=読取り/書込み可変記憶装置(16ビツト ・
ワード) 種々の制御7ラグ: IX =インデクフラグ制御フィールド(表5参照) FUN=ALU機能制御フィールド(表5参照)(注)
下記の7ラグ・ピットの使用法に関しては、第5図を
参照されたい。
RXL=乗数(rX、l)値選択制御フラグLPH=下
位積クロック制御フラグ UE =アンクロックALU条件エネーブル・フラグ II =割込み禁止フラグ SI =ALU結果−スタック禁止フラグAI =
ALU A入カニネーブル・フラグCIE=ALUキ
ャリー人カニネーブル中フラグME −乗算器サイクル
・エネーブル・フラグRE =レジスタ選択拡張フラ
グ スタック人力/出力選択フィうルド: SA =スタックrAJ出力選択フィールド及びAL
U結果宛先選択フィールド(スタックからALU[AJ
入入気へALU出力からスタックへ) SC=スタック出力選択フィールド(スタックからCM
UXバスへ) SD =スタック・ロード宛先選択フィールド(CD
Bからスタックへ) 分岐制御フィールド: BT =分岐型フィールド(第5図及び第6A図〜第
6D図参照) BC8=分岐条件選択コード(第5図及び表4参照) 記号の規約: ・・・・ =・・・・の内容 (・・・・)=・・・・Kより特定されるR@・・・・
=・・・・によシ特定されるレジスタ・・・・ =・・
・・の大きさ =論理的否定(ビット反転) E−2,プロセッサのハードウェア機構主なデータ・フ
ローは、「スタック」レジスタ・ファイル1、ALU2
、乗算器3及びそれらの要素を接続する種々のバスより
成る。これらの要素は本明細書の、下記の小見出しを付
けた節で各々解説される。なお、表1〜表7は「発明の
詳細な説明」の末尾にまとめられている。
位積クロック制御フラグ UE =アンクロックALU条件エネーブル・フラグ II =割込み禁止フラグ SI =ALU結果−スタック禁止フラグAI =
ALU A入カニネーブル・フラグCIE=ALUキ
ャリー人カニネーブル中フラグME −乗算器サイクル
・エネーブル・フラグRE =レジスタ選択拡張フラ
グ スタック人力/出力選択フィうルド: SA =スタックrAJ出力選択フィールド及びAL
U結果宛先選択フィールド(スタックからALU[AJ
入入気へALU出力からスタックへ) SC=スタック出力選択フィールド(スタックからCM
UXバスへ) SD =スタック・ロード宛先選択フィールド(CD
Bからスタックへ) 分岐制御フィールド: BT =分岐型フィールド(第5図及び第6A図〜第
6D図参照) BC8=分岐条件選択コード(第5図及び表4参照) 記号の規約: ・・・・ =・・・・の内容 (・・・・)=・・・・Kより特定されるR@・・・・
=・・・・によシ特定されるレジスタ・・・・ =・・
・・の大きさ =論理的否定(ビット反転) E−2,プロセッサのハードウェア機構主なデータ・フ
ローは、「スタック」レジスタ・ファイル1、ALU2
、乗算器3及びそれらの要素を接続する種々のバスより
成る。これらの要素は本明細書の、下記の小見出しを付
けた節で各々解説される。なお、表1〜表7は「発明の
詳細な説明」の末尾にまとめられている。
プロセッサの主なデータ・70−は、16ビツトの共通
データ・バス4 (CDB )の周囲で組織化される。
データ・バス4 (CDB )の周囲で組織化される。
CDBは、16ビツトのデータ・ワードを信号プロセッ
サの種々の要素の間並びに外部データ・メモリ及びIl
oへ、又はそれらから転送するのに役立つ。
サの種々の要素の間並びに外部データ・メモリ及びIl
oへ、又はそれらから転送するのに役立つ。
CDBは2つの別々の部分より成る。1つはチップ上の
部分であシ、もう1つはチップ外の部分である。その区
別は名前の通シである。データがチップ内でCDB上を
移動される時、CDBの外部部分は付勢されない。従っ
て、例えばもし即値オペランドが共通バス・アドレス保
持レジスタ5から、レジスタ・ファイル1の入力へ内部
CDBを経由して移動されるとすると、外部CDBは高
インピーダンス状態のままである。CDBの外部部分(
内部部分に加えて)は、データ記憶装置(RA、 M
)又はメモリ・マツブトI10へのアクセスが必璧にな
る毎に使用される。ロード(LOAD)及び記憶(ST
ORE)のような命令の実行は、データがレジスタ・フ
ァイル(チップ上)とデータ・メモリ(RAM)又はメ
モリ・マップトIloとの間で移動される事を必璧とす
る。
部分であシ、もう1つはチップ外の部分である。その区
別は名前の通シである。データがチップ内でCDB上を
移動される時、CDBの外部部分は付勢されない。従っ
て、例えばもし即値オペランドが共通バス・アドレス保
持レジスタ5から、レジスタ・ファイル1の入力へ内部
CDBを経由して移動されるとすると、外部CDBは高
インピーダンス状態のままである。CDBの外部部分(
内部部分に加えて)は、データ記憶装置(RA、 M
)又はメモリ・マツブトI10へのアクセスが必璧にな
る毎に使用される。ロード(LOAD)及び記憶(ST
ORE)のような命令の実行は、データがレジスタ・フ
ァイル(チップ上)とデータ・メモリ(RAM)又はメ
モリ・マップトIloとの間で移動される事を必璧とす
る。
18本のCDB信号線(16本のデータ・ビット及び2
本のパリティ・ビット)が、RAM(データ記憶装置ン
及びメモリ・マツプ)Ilo(MM I O)装置の接
続のだめの、外部CDBチップ・インターフェース中に
設けられている。単純なメモリ構成が第1図に概略を示
されている。
本のパリティ・ビット)が、RAM(データ記憶装置ン
及びメモリ・マツプ)Ilo(MM I O)装置の接
続のだめの、外部CDBチップ・インターフェース中に
設けられている。単純なメモリ構成が第1図に概略を示
されている。
Cマルチプレックス式バス(CMUXバス)CMUXバ
ス6は、レジスタ・スタック1の「C」出力又はMCR
レジスタ8又はPSRレジスタ9から、変数を演算装置
(ALU2又は乗算器3)へ又は共通データ・バス(C
DB)4へ移動させるための、データ経路を提供する3
状態パスである。 。
ス6は、レジスタ・スタック1の「C」出力又はMCR
レジスタ8又はPSRレジスタ9から、変数を演算装置
(ALU2又は乗算器3)へ又は共通データ・バス(C
DB)4へ移動させるための、データ経路を提供する3
状態パスである。 。
BMUXバス10は、ALU2のrBJ入力へのデータ
経路を与える。BMUXバス10へ可能な入力は乗算器
3、CMUXバス6の内容又は符号拡張データ(PSR
H9のビット06から)からの選択された種部分である
。
経路を与える。BMUXバス10へ可能な入力は乗算器
3、CMUXバス6の内容又は符号拡張データ(PSR
H9のビット06から)からの選択された種部分である
。
LMUXバス11及びRMUXバス12は、レジスタ・
スタック1の左及び右の入力ポートにデータを供給する
。これらのマルチプレクサへの入力は、CDB4及びA
LU2の出力から来る。データはCDB4から、真数形
式及びバイト反転形式の両方の形で取り出すことができ
る。バイト反転経路は、バイトのロード/挿入命令(L
IBY)を実現する手段を提供する。
スタック1の左及び右の入力ポートにデータを供給する
。これらのマルチプレクサへの入力は、CDB4及びA
LU2の出力から来る。データはCDB4から、真数形
式及びバイト反転形式の両方の形で取り出すことができ
る。バイト反転経路は、バイトのロード/挿入命令(L
IBY)を実現する手段を提供する。
レジスタ・スタック
レジスタ・「スタック」1は、算術演算フロー経路中に
位置する、RO〜R7の番号を付けられた、8個の16
ビツトのレジスタのランダム・アクセス・ファイルであ
る。スタック・レジスタのうち6つは、下記に示すよう
な特別に割り当てられた機能を有している。他の5つは
汎用レジスタである。
位置する、RO〜R7の番号を付けられた、8個の16
ビツトのレジスタのランダム・アクセス・ファイルであ
る。スタック・レジスタのうち6つは、下記に示すよう
な特別に割り当てられた機能を有している。他の5つは
汎用レジスタである。
RO−インデックス・レジスタとしても使用されるスタ
ック・レジスタ R4−第2のインデックス・レジスタとしても使用され
るスタック・レジスタ R5−現在の乗数(rXJ)の値を含むためにも使われ
るスタック・レジスタ R1、R2、R3、R6、R7−特に定義された付加的
なハードウェア機能を持た ないスタック・レジスタ 第1図に示すように、レジスタ・スタックは2つの入カ
ポ−)f有し、その各々は4つのレジスタの群に入力経
路を提供する。このレジスタ群は本明細書中を通じて左
群及び右群と呼ばれる。スタックの入力は、共通データ
・バス(CDB)4又はALU2の出力(オーバーフロ
ーの場合に、強制的な飽和値のために)から、到来しう
る事に注意されたい。各々の4レジスタ群の中の1つの
レジスタは、1つのソースから同時に入力を受は取る事
ができる。
ック・レジスタ R4−第2のインデックス・レジスタとしても使用され
るスタック・レジスタ R5−現在の乗数(rXJ)の値を含むためにも使われ
るスタック・レジスタ R1、R2、R3、R6、R7−特に定義された付加的
なハードウェア機能を持た ないスタック・レジスタ 第1図に示すように、レジスタ・スタックは2つの入カ
ポ−)f有し、その各々は4つのレジスタの群に入力経
路を提供する。このレジスタ群は本明細書中を通じて左
群及び右群と呼ばれる。スタックの入力は、共通データ
・バス(CDB)4又はALU2の出力(オーバーフロ
ーの場合に、強制的な飽和値のために)から、到来しう
る事に注意されたい。各々の4レジスタ群の中の1つの
レジスタは、1つのソースから同時に入力を受は取る事
ができる。
スタック1には2つの出力ポートも設けられている。そ
の各々は8個のスタック・レジスタの1つに同時にアク
セスする事ができる。それらのポートの1つ、rAJボ
ートは、データをALU2のrAJ入力に与え、他のr
CJボート7は、3状態ドライバ13を経由してCMU
Xバス乙に接続されている。(他に多数の3状態ドライ
バが存在するが、便宜止金て参照番号16を付け、特定
のドライバはその入力に従って名付ける事にする。)イ
ンデックス・レジスタ(RO及びR4)は、アドレス生
成(ADD GEN)加算器14に入力を与えるマル
チプレクサに、直接接続されている。また、レジスタR
5は乗算器6のrXJ入力に直結されているので、常に
乗数値として使用される数値を含んでいる。被乗数は後
述するように、CMUXパス6を経由して供給される。
の各々は8個のスタック・レジスタの1つに同時にアク
セスする事ができる。それらのポートの1つ、rAJボ
ートは、データをALU2のrAJ入力に与え、他のr
CJボート7は、3状態ドライバ13を経由してCMU
Xバス乙に接続されている。(他に多数の3状態ドライ
バが存在するが、便宜止金て参照番号16を付け、特定
のドライバはその入力に従って名付ける事にする。)イ
ンデックス・レジスタ(RO及びR4)は、アドレス生
成(ADD GEN)加算器14に入力を与えるマル
チプレクサに、直接接続されている。また、レジスタR
5は乗算器6のrXJ入力に直結されているので、常に
乗数値として使用される数値を含んでいる。被乗数は後
述するように、CMUXパス6を経由して供給される。
乗算器
12ピツトの数を16ビツトの数に掛けることのできる
乗算器5がプロセッサ中に設けられている。本明細書中
では、12ビツトの数を「乗数」値又はrXJと呼び、
16ビツトの数を「被乗数」値又はrYJと呼ぶ。16
ビツトのR5スタック・レジスタから、12ビツトの乗
数値(rXJ ”)として、上位12ビツト(13番目
のビットを丸めたもの又は丸めないもの)、下位12ビ
ツト、又は下位4ビツト(先行するゼロを付加したもの
)を、所望により選択できる。乗算器は、2の補数の符
号付き2進数のみを取り扱うように設計されている。
乗算器5がプロセッサ中に設けられている。本明細書中
では、12ビツトの数を「乗数」値又はrXJと呼び、
16ビツトの数を「被乗数」値又はrYJと呼ぶ。16
ビツトのR5スタック・レジスタから、12ビツトの乗
数値(rXJ ”)として、上位12ビツト(13番目
のビットを丸めたもの又は丸めないもの)、下位12ビ
ツト、又は下位4ビツト(先行するゼロを付加したもの
)を、所望により選択できる。乗算器は、2の補数の符
号付き2進数のみを取り扱うように設計されている。
乗算器は28個の積ビットを発生する。これには0〜2
7の番号が付けられ、上位、下位及び中位と呼ばれる5
つの選択可能な16ビツトの横部分(RPH,RPL及
びRPM)に分割される。
7の番号が付けられ、上位、下位及び中位と呼ばれる5
つの選択可能な16ビツトの横部分(RPH,RPL及
びRPM)に分割される。
各部分を構成する実際のビットは、乗数値が(乗算器パ
イプライン中のMSビットによってフラグされるように
)乗算のために基準化される方式、及び機械制御レジス
タ8中の中位積選択制御ビットMMM(MCRI(のビ
ット10)の状態に依存する。
イプライン中のMSビットによってフラグされるように
)乗算のために基準化される方式、及び機械制御レジス
タ8中の中位積選択制御ビットMMM(MCRI(のビ
ット10)の状態に依存する。
種々の全ての条件の下での各横部分に含まれる実際のビ
ットが、第10A図〜第10C図で要約されている。第
10A図は乗数値rXJに関する4つの可能な選択肢を
示している。
ットが、第10A図〜第10C図で要約されている。第
10A図は乗数値rXJに関する4つの可能な選択肢を
示している。
横部分は各々、ALU2のrBJ側に入力される。横部
分の選択は、(記憶及び計算命令におけるように)命令
の中に含まれるALU機能制御フィールド(FUN)に
よって与えられるか、又は(種々の計算命令におけるよ
うに)明示的に指定される。
分の選択は、(記憶及び計算命令におけるように)命令
の中に含まれるALU機能制御フィールド(FUN)に
よって与えられるか、又は(種々の計算命令におけるよ
うに)明示的に指定される。
乗算器の動作は次の通りである。一般に、乗算器によっ
て形成される全ての積ビットは、被乗数値が選択された
後に2番目のサイクルに同時に現れる。複合(又は並行
)命令(opコード=ixXX)が、正規モード(MC
RHビット08=O)で実行されている時、乗算器のパ
イプライン全体、積レジスタ及び部分積レジスタの両者
が、乗算機能(機能コードIXXXX )が指定される
毎に移動する。また、下位種部分(RPL)がアクセス
される時にのみ、乗算器パイプラインのレジスタが変化
する事が許されるような第2モード(MCRHピッ)0
8=1)が提供される。この構成は、ある倍精度の乗算
/累算計算を1つ少ないスタック・レジスタを用いてプ
ログラムする事を可能にする。計算(C)命令は、積バ
イプライ/のクロッキングを制御するだめの2つの特別
のビラトラ含んでいる。即ちビット21、MEビットは
積パイプラインの全体的な制御を与え、ビット5、[L
PHJビットはパイプラインのクロッキングを部分的に
禁止する事を可能にする。従って以前の部分積及び積の
情報は、割込みに続いて回復できる。
て形成される全ての積ビットは、被乗数値が選択された
後に2番目のサイクルに同時に現れる。複合(又は並行
)命令(opコード=ixXX)が、正規モード(MC
RHビット08=O)で実行されている時、乗算器のパ
イプライン全体、積レジスタ及び部分積レジスタの両者
が、乗算機能(機能コードIXXXX )が指定される
毎に移動する。また、下位種部分(RPL)がアクセス
される時にのみ、乗算器パイプラインのレジスタが変化
する事が許されるような第2モード(MCRHピッ)0
8=1)が提供される。この構成は、ある倍精度の乗算
/累算計算を1つ少ないスタック・レジスタを用いてプ
ログラムする事を可能にする。計算(C)命令は、積バ
イプライ/のクロッキングを制御するだめの2つの特別
のビラトラ含んでいる。即ちビット21、MEビットは
積パイプラインの全体的な制御を与え、ビット5、[L
PHJビットはパイプラインのクロッキングを部分的に
禁止する事を可能にする。従って以前の部分積及び積の
情報は、割込みに続いて回復できる。
高い性能を得るために、乗算器6はその回路アレイ中に
中間パイプライン・レジスタを採用している。これは第
15図に示されている。パイプライン・レジスタRFP
及び積レジスタRPの内容は、もし割込みルーチン中で
乗算器3が使用されるならば、プロセッサが割込みを受
けた時に保存し、、そして回復しなければならない。さ
らに、乗算器3の動作の状態を定義する別の因子が存在
する。例えばMY中の乗数キャリー及び乗数(X)基準
化情報等がそれであり、これも割込み時に保存し回復し
なければならない。それらの因子を定義するビットは、
プログラム・ステータス・レジスタ(PSR)9中に含
まれている。PSRを保存し回復する事は、標準的な命
令シーケンスを用いて行なわれる。RP及びRFPレジ
スタを保存し回復するには、特別の動作が必要である。
中間パイプライン・レジスタを採用している。これは第
15図に示されている。パイプライン・レジスタRFP
及び積レジスタRPの内容は、もし割込みルーチン中で
乗算器3が使用されるならば、プロセッサが割込みを受
けた時に保存し、、そして回復しなければならない。さ
らに、乗算器3の動作の状態を定義する別の因子が存在
する。例えばMY中の乗数キャリー及び乗数(X)基準
化情報等がそれであり、これも割込み時に保存し回復し
なければならない。それらの因子を定義するビットは、
プログラム・ステータス・レジスタ(PSR)9中に含
まれている。PSRを保存し回復する事は、標準的な命
令シーケンスを用いて行なわれる。RP及びRFPレジ
スタを保存し回復するには、特別の動作が必要である。
RP及びRPPの保存
前節で述べたように、乗算器5への乗数(X)入力は、
データ・フローの左側12ビツト又は右側12ビツトの
いずれかから選択できる。左又は右の選択は、以前に説
明したように乗算命令中のX入力を識別するために使わ
れる乗数二一モニツクによって定義される。この選択は
PSR9中のzSビットとしてパイプラインを伝播し、
MSビット(やけ5PSR中の)とし7て乗算器出力に
現れる。MSは、指定された乗数(X)の基準化を反映
するように、積のビット重みを調整するために使われる
。PSRiセットする事によって直接ZSを制御する能
力は、RFP及びRPの内容を保存し回復するための戦
略の鍵である。
データ・フローの左側12ビツト又は右側12ビツトの
いずれかから選択できる。左又は右の選択は、以前に説
明したように乗算命令中のX入力を識別するために使わ
れる乗数二一モニツクによって定義される。この選択は
PSR9中のzSビットとしてパイプラインを伝播し、
MSビット(やけ5PSR中の)とし7て乗算器出力に
現れる。MSは、指定された乗数(X)の基準化を反映
するように、積のビット重みを調整するために使われる
。PSRiセットする事によって直接ZSを制御する能
力は、RFP及びRPの内容を保存し回復するための戦
略の鍵である。
RPの内容は、それを2つの部分RP1及びRP2に分
解する事によって保存される。RPlは右X基準化に関
するRPの下位16ビツトであり、RP2は左X基準化
に関するRPの上位16ビツトである。基準化の制御は
、PSR9中でビットを直接セットする事で行なわれる
。RPの下位16ビツトは右基準化によって選択され、
RPの上位16ビツトは左基準化によって選択される。
解する事によって保存される。RPlは右X基準化に関
するRPの下位16ビツトであり、RP2は左X基準化
に関するRPの上位16ビツトである。基準化の制御は
、PSR9中でビットを直接セットする事で行なわれる
。RPの下位16ビツトは右基準化によって選択され、
RPの上位16ビツトは左基準化によって選択される。
RPIをレジスタに移すためKRPLが使われる時、M
Yは使用されない。というのは、PSRが回復される時
にMYは直接に回復されるからである。上記手続きが完
了すると、乗算器3はRFPの内容をRPへ移動するよ
うに制御され、この手続きはRPP及びRPP 1及び
RP、P2の以前の内容を保存するために反復される。
Yは使用されない。というのは、PSRが回復される時
にMYは直接に回復されるからである。上記手続きが完
了すると、乗算器3はRFPの内容をRPへ移動するよ
うに制御され、この手続きはRPP及びRPP 1及び
RP、P2の以前の内容を保存するために反復される。
RP及びRFPの回復
乗算器レジスタの内容を回復するための戦略は、被乗数
(Y)として保存された変数RPI、RPPl、RP2
及びRPP2t−1乗数(X)としての適当な変数と共
に使用して、変数が組み合された時に適当なビット重み
を与える事である。例えば、積RPはRPIとRP2X
2R12(即ち、左へ12ビツト、シフトされたRP2
)の結果である。
(Y)として保存された変数RPI、RPPl、RP2
及びRPP2t−1乗数(X)としての適当な変数と共
に使用して、変数が組み合された時に適当なビット重み
を与える事である。例えば、積RPはRPIとRP2X
2R12(即ち、左へ12ビツト、シフトされたRP2
)の結果である。
この動作を行なう時に2つの問題が生じる。第1は、下
位項RPIが(1を掛ける事によって)乗算器3に入れ
られる時K、それは第2の積が形成される間に、不変の
ままでなければならない。
位項RPIが(1を掛ける事によって)乗算器3に入れ
られる時K、それは第2の積が形成される間に、不変の
ままでなければならない。
この問題は特殊な乗算命令、下位ホールド乗算命令(M
HRD)、命令中の下位積ホールド・ビットによって解
決される。これは計算命令の第5ビツトである。この命
令はRFP及びRPレジスタの下位ビットへのクロック
をデゲートシ、上位ビットに第2の積が入る時に1その
内容を固定したままに保つ。
HRD)、命令中の下位積ホールド・ビットによって解
決される。これは計算命令の第5ビツトである。この命
令はRFP及びRPレジスタの下位ビットへのクロック
をデゲートシ、上位ビットに第2の積が入る時に1その
内容を固定したままに保つ。
第2の問題は、RPフィールドにおいて12ピツト上に
RP2を位置付けるという要求から生じる。これは最初
にRP2を2倍にし、次に211を掛ける事によって行
なわれる。この後者の動作は、12ビツトに丸めた時に
211を与える(X’7FF8′のような)正のXを用
いる事によって達成される。Xに関するそのような値は
、ALU2にMYキャv−’t−発生しない事に注意さ
れたい。この事は重要である。というのは、以前に注意
したように、割込み前のパイプライン中のMYキャリー
の値は、PS R9が回復された時に、回復されるから
である。問題はRP2を2倍にする時に生じる。符号エ
ラーを生じ得るような、オーバーフローが起きる事があ
る。これを避けるために、2*RP2の符号である(P
SR中に記憶された)キヤIJ−AYが、乗算器プレイ
によって計算された符号を、オーバーライドするために
使われる。これは、特殊な命令MHRDによって実行さ
れる付加的な機能である。要約すると、MHRDは、乗
算器のレジスタの内容を回復するための鍵となる2つの
動作を行なう。
RP2を位置付けるという要求から生じる。これは最初
にRP2を2倍にし、次に211を掛ける事によって行
なわれる。この後者の動作は、12ビツトに丸めた時に
211を与える(X’7FF8′のような)正のXを用
いる事によって達成される。Xに関するそのような値は
、ALU2にMYキャv−’t−発生しない事に注意さ
れたい。この事は重要である。というのは、以前に注意
したように、割込み前のパイプライン中のMYキャリー
の値は、PS R9が回復された時に、回復されるから
である。問題はRP2を2倍にする時に生じる。符号エ
ラーを生じ得るような、オーバーフローが起きる事があ
る。これを避けるために、2*RP2の符号である(P
SR中に記憶された)キヤIJ−AYが、乗算器プレイ
によって計算された符号を、オーバーライドするために
使われる。これは、特殊な命令MHRDによって実行さ
れる付加的な機能である。要約すると、MHRDは、乗
算器のレジスタの内容を回復するための鍵となる2つの
動作を行なう。
1、乗算を行なうためにX選択から13番目の即ち丸め
ビットが使われる時、RPのRPLフィールド(及び右
基準化を行なったRPPに関する等価なビット)より成
るビットは変更されない。
ビットが使われる時、RPのRPLフィールド(及び右
基準化を行なったRPPに関する等価なビット)より成
るビットは変更されない。
2、PSR9中のキャリー・ビットAYが、乗算器3中
の符号生成をオーバーライドするために使われる。
の符号生成をオーバーライドするために使われる。
ALU
16ビツトのALU2によって実行される機能の制御は
、計算(C)、「記憶及び計算J(STC)、並びに「
ロード及び計算J(LXC)の型の命令の5ビツトの機
能制御フィールド(FUNフィールド)によって行なわ
れる。FUNフィールドは、実行される算術又は論理A
LU動作を指定し、ある程度まで使用されるAL[Jオ
ペランドを暗示する。表5Aは、スタック・レジスタが
ALUの「B」入力として指定された時の、可能なAL
U動作1に要約している。表5Bは、ALUのrBJ入
力として積レジスタが選択された時のALUの動作を示
している。
、計算(C)、「記憶及び計算J(STC)、並びに「
ロード及び計算J(LXC)の型の命令の5ビツトの機
能制御フィールド(FUNフィールド)によって行なわ
れる。FUNフィールドは、実行される算術又は論理A
LU動作を指定し、ある程度まで使用されるAL[Jオ
ペランドを暗示する。表5Aは、スタック・レジスタが
ALUの「B」入力として指定された時の、可能なAL
U動作1に要約している。表5Bは、ALUのrBJ入
力として積レジスタが選択された時のALUの動作を示
している。
A、LU2はその「A」入力として、8つのスタック・
レジスタ101つの内容(又はゼロ)f、取り、そのr
BJ入力として、BMUXバス10の内容を取る。生じ
たALU2の出力は通常、rAJ入力を供給したスタッ
ク・レジスタ1に返される。
レジスタ101つの内容(又はゼロ)f、取り、そのr
BJ入力として、BMUXバス10の内容を取る。生じ
たALU2の出力は通常、rAJ入力を供給したスタッ
ク・レジスタ1に返される。
計算命令(C)において、SIピット(表1参照)は、
ALUの結果がスタックに書き戻されるのを禁止する能
力を与える。条件付き分岐は、ALUで生じた計算結果
によってトリガされる。
ALUの結果がスタックに書き戻されるのを禁止する能
力を与える。条件付き分岐は、ALUで生じた計算結果
によってトリガされる。
機械制御レジスタ及びステータス・レジスタ上位及び下
位の機械制御レジスタ8(MCRH及びMCRL)は各
々、特別な機械の機能を制御又は変更する16ビツIf
含んでいる。上位及び下位の機械ステータス・レジスタ
9(PSR)(及びPSRL)は、機械の動作のある面
の現在のステータスを反映するビットを含む。
位の機械制御レジスタ8(MCRH及びMCRL)は各
々、特別な機械の機能を制御又は変更する16ビツIf
含んでいる。上位及び下位の機械ステータス・レジスタ
9(PSR)(及びPSRL)は、機械の動作のある面
の現在のステータスを反映するビットを含む。
上位機械制御レジスタ(MCRH)
MCRH8の16の利用可能なビットのうち、12ビツ
トは機能が割り当てられ、残りの4ビツト(ビット0〜
6)は予備である。
トは機能が割り当てられ、残りの4ビツト(ビット0〜
6)は予備である。
MCRHビットに割り当てられた制御機能は、第8A図
に要約したように、下記のような4つの一般的なカテゴ
リーに入る。
に要約したように、下記のような4つの一般的なカテゴ
リーに入る。
MCRHのビット4及び5、命令リンク制御フィールド
(ILC)は、特別な動作モードをエネーブルし、それ
によって分岐に続いてパリティ検査又はオーバーフロー
が起きた時に、命令リンク拳レジスタ15(ILR)及
び命令アドレスφレジスタ16(IAR)のクロッキン
グを禁止させる。これらのモードの目的は、分岐の時点
、即ちILR15が故障の場所を識別するために普通は
使えない時に、エラーのトレーシングを可能にする事で
ある。
(ILC)は、特別な動作モードをエネーブルし、それ
によって分岐に続いてパリティ検査又はオーバーフロー
が起きた時に、命令リンク拳レジスタ15(ILR)及
び命令アドレスφレジスタ16(IAR)のクロッキン
グを禁止させる。これらのモードの目的は、分岐の時点
、即ちILR15が故障の場所を識別するために普通は
使えない時に、エラーのトレーシングを可能にする事で
ある。
MCRH8のビット6及び7は、飽和制御モード選択フ
ィールド(SO8)を構成する。これらの制御の目的は
、スタック又は積レジスタ・オペランドのいずれかに関
係した動作のために、飽和された算術演算が呼び出され
る事を可能にするためである。飽和が呼び出されるFU
Nコードは、fi5A及び5Bに示されている。
ィールド(SO8)を構成する。これらの制御の目的は
、スタック又は積レジスタ・オペランドのいずれかに関
係した動作のために、飽和された算術演算が呼び出され
る事を可能にするためである。飽和が呼び出されるFU
Nコードは、fi5A及び5Bに示されている。
MCRL8のビット8〜12は、特殊な乗算器制御ビッ
トである。それらの機能は第7A図に定義されている。
トである。それらの機能は第7A図に定義されている。
MCRL8のビット13〜15は、アドレス生成(AD
D GEN)加算器14内のキャリーが禁止される場
所を定義する選択フィールドを構成する。
D GEN)加算器14内のキャリーが禁止される場
所を定義する選択フィールドを構成する。
命令が機械のデータ・フローの中に読込まれた時、その
命令の上位バイトはMCRH8のビット8〜15中に置
かれ、6つの命令パリティ・ビットはMCRH8のビッ
ト5.6及び7に行く。この移動を行なう経路は、主デ
ータ・フローの概略(第1図)中に示されている。
命令の上位バイトはMCRH8のビット8〜15中に置
かれ、6つの命令パリティ・ビットはMCRH8のビッ
ト5.6及び7に行く。この移動を行なう経路は、主デ
ータ・フローの概略(第1図)中に示されている。
下位機械制御レジスタ(MCRL)
MCRL8の16個のビット(第8B図に要約)は、下
記のように5つの異なった機能を制御する。
記のように5つの異なった機能を制御する。
MCRL8のビット0は、線型拡張アドレシング機構(
LEAF )の選択を可能にするフラグ・ビットである
。このビットがオ/(ビット=1)の時、IRWCビッ
トの動作は、プロセッサ外部のLEAFアダプタ論理の
制御を容易化するように変更される。
LEAF )の選択を可能にするフラグ・ビットである
。このビットがオ/(ビット=1)の時、IRWCビッ
トの動作は、プロセッサ外部のLEAFアダプタ論理の
制御を容易化するように変更される。
MCRL8のビット1及び2は、共にプロセッサのデー
タ・アドレス空間内のI10アドレスとデータ、・メモ
リ・アドレスとの間の境界を選択する手段を提供する。
タ・アドレス空間内のI10アドレスとデータ、・メモ
リ・アドレスとの間の境界を選択する手段を提供する。
rosの設定によって指定された境界に関するアドレス
の位置は、適当なIRWCの組み合せ(表7参照)を経
てインターフェースに反映される。
の位置は、適当なIRWCの組み合せ(表7参照)を経
てインターフェースに反映される。
MCRL8のビット3.4及び5は、データRAM又は
Iloへの又はそれらからの(CDB’i経由する)デ
ータの移動及び到来する命令に対するパリティ検査を禁
止する事を可能にする。
Iloへの又はそれらからの(CDB’i経由する)デ
ータの移動及び到来する命令に対するパリティ検査を禁
止する事を可能にする。
MCRL8のビット6及び7は、ALU2又は乗算器3
のオーバーフローが起きた時に、プロセッサ・リセツ)
(PROR)が開始されるが否かを制御するために使
われる。
のオーバーフローが起きた時に、プロセッサ・リセツ)
(PROR)が開始されるが否かを制御するために使
われる。
MCRL8の最後の8ビツト、ビット8〜15は、各々
レベル0〜70割込みのサービスを禁止するために使わ
れる。任意のレベルの未処理の割込みは、対応するサー
ビス禁止フラグがリセットされている(フラグ=0)場
合にだけサービスされる。
レベル0〜70割込みのサービスを禁止するために使わ
れる。任意のレベルの未処理の割込みは、対応するサー
ビス禁止フラグがリセットされている(フラグ=0)場
合にだけサービスされる。
PSRH9は、最後の機械サイクルの終了時の論理回路
のある部分の状態を反映する15個のビット(PSRH
9の1つのビット、ビット5は割り当てられていない〕
を含んでいる。特に、PSRH9は、パリティ検査がお
こなわれる特定のバイト、最後のALU2の動作によっ
て生成された条件、並びに以前の2つの積に関する乗算
器3(「X」)の基準化及び積のキャリーを示している
。
のある部分の状態を反映する15個のビット(PSRH
9の1つのビット、ビット5は割り当てられていない〕
を含んでいる。特に、PSRH9は、パリティ検査がお
こなわれる特定のバイト、最後のALU2の動作によっ
て生成された条件、並びに以前の2つの積に関する乗算
器3(「X」)の基準化及び積のキャリーを示している
。
全てのPSRHビットが、第9A図に要約されている。
この要約から下記の事に注意されたい。
3つの命令バイト、及び2つのCDBバイトに関するパ
リティ検査の状態が別々にPSRH9中に置かれる。パ
リティ検査が行なわれた時、そのバイトにエラーが生じ
たかをPSRH9から判定する事ができる。
リティ検査の状態が別々にPSRH9中に置かれる。パ
リティ検査が行なわれた時、そのバイトにエラーが生じ
たかをPSRH9から判定する事ができる。
乗算で使われるrXJの値は、16ビツトのレジスタ(
R5)から選択された12ビツトなので、乗数基準化(
MS)フラグは、PSRH9のビット7及び9を経由し
て伝播され、従って得られた積は適切に解釈される。ビ
ット9(ZS)は、部分積基準化フラグであ)、一方ビ
ッ)7(MS)は積基準化フラグである。
R5)から選択された12ビツトなので、乗数基準化(
MS)フラグは、PSRH9のビット7及び9を経由し
て伝播され、従って得られた積は適切に解釈される。ビ
ット9(ZS)は、部分積基準化フラグであ)、一方ビ
ッ)7(MS)は積基準化フラグである。
PSRH8のビット8及び10は、部分積の形成に関係
した未処理のキャリー・ビットを含んでいる。ALU動
作において「下位」の横部分がオペランドとして選択さ
れる時、MYはALUのキャリー人力として選択される
。ALUは積が使われる時、このようにして下位積を完
成させる。
した未処理のキャリー・ビットを含んでいる。ALU動
作において「下位」の横部分がオペランドとして選択さ
れる時、MYはALUのキャリー人力として選択される
。ALUは積が使われる時、このようにして下位積を完
成させる。
PSRH8のビット11〜15は、ビット6と共に最後
のALU動作に関係した情報を含んでいる。PSRH8
のビット6(BS)は、最後のALUのrBJオペラン
ドの符号を含んでいる。一方、ビット11〜15はA
I、 U 2によって行なわれた最後の計算の結果(最
後の結果の符号ビット、最後の出力=000・・・・0
、等)を反映している。
のALU動作に関係した情報を含んでいる。PSRH8
のビット6(BS)は、最後のALUのrBJオペラン
ドの符号を含んでいる。一方、ビット11〜15はA
I、 U 2によって行なわれた最後の計算の結果(最
後の結果の符号ビット、最後の出力=000・・・・0
、等)を反映している。
下位機械ステータス・レジスタ(PSRL)第9B図に
示すように、PSRL9のビットに割り当て−られた意
味は、PSRL9が読取られているか又は書込まれ(ロ
ードされ)でいるかに依存する。実際、PSRL9は直
接読取る事ができる(その内容はスタック・レジスタに
移される)が、あるかなり複雑な論理を経由してのみロ
ードする事ができる8ビツトのレジスタと考える事がで
きる。
示すように、PSRL9のビットに割り当て−られた意
味は、PSRL9が読取られているか又は書込まれ(ロ
ードされ)でいるかに依存する。実際、PSRL9は直
接読取る事ができる(その内容はスタック・レジスタに
移される)が、あるかなり複雑な論理を経由してのみロ
ードする事ができる8ビツトのレジスタと考える事がで
きる。
PSRL9と呼ばれる8ビツトのレジスタは、実際には
8つの割込みメモリ・ラッチの組である。
8つの割込みメモリ・ラッチの組である。
これらのラッチの各々は、特定の割込み信号が検出され
た事を記憶し、通常その信号に関するサービスが始まる
までセット状態を保つ。割込みラッチは、対応する割込
みエントリー・アドレスが、命令アドレス・レジスタ1
6(IAR)にロードされる時に(通常)リセットされ
る。割込みメモリ・ラッチは、下記に概略を示すPSR
L書込み命令を用いてセット又はリセットする事もでき
る。
た事を記憶し、通常その信号に関するサービスが始まる
までセット状態を保つ。割込みラッチは、対応する割込
みエントリー・アドレスが、命令アドレス・レジスタ1
6(IAR)にロードされる時に(通常)リセットされ
る。割込みメモリ・ラッチは、下記に概略を示すPSR
L書込み命令を用いてセット又はリセットする事もでき
る。
PSRL9が読取られる時、それはハードウェア中で未
処理の(又はプログラミングによって未処理の事もある
)全ての割込みを反映する。
処理の(又はプログラミングによって未処理の事もある
)全ての割込みを反映する。
PSRL9がロードされる(書込まれる)時、実際に起
きる事はCDB4の内容が割込み制御論理17への入力
として受は取られ、第8B図の下方に示したように解釈
される事である。PSRLの書込み形式は、16ビツト
が2つの8ビツト制御バイトとみなされる事を要求する
。それらは、4つの割込み信号の群の各々に相当する。
きる事はCDB4の内容が割込み制御論理17への入力
として受は取られ、第8B図の下方に示したように解釈
される事である。PSRLの書込み形式は、16ビツト
が2つの8ビツト制御バイトとみなされる事を要求する
。それらは、4つの割込み信号の群の各々に相当する。
これら2群は、2つの時分割割込み信号入力18で受信
される信号に関する制御を含んでいる。
される信号に関する制御を含んでいる。
各群の制御バイト中で、最後の4ビツトは各アドレス・
ビットとして役立ち、最初の3ピツトは群の中の1つ以
上のものに発行されるコマンドを表わす。PSRL書込
み形式のビット3及び11はrpowRJ及び[PRO
RJリセットが見い出される事を可能にする。発行でき
る6つのコマンドは、下記のようにビットによって示さ
れる。
ビットとして役立ち、最初の3ピツトは群の中の1つ以
上のものに発行されるコマンドを表わす。PSRL書込
み形式のビット3及び11はrpowRJ及び[PRO
RJリセットが見い出される事を可能にする。発行でき
る6つのコマンドは、下記のようにビットによって示さ
れる。
1’−CLRJ (クリア)ビットは、4つのアドレス
・ビットによって指定された割込みメモリ・ラッチをリ
セットさせる。PRORと一緒に使われる群1のCLR
は、「電源」又は「プロセッサ」のリセット状態から機
械を脱出させる。
・ビットによって指定された割込みメモリ・ラッチをリ
セットさせる。PRORと一緒に使われる群1のCLR
は、「電源」又は「プロセッサ」のリセット状態から機
械を脱出させる。
「FRcJ(強制)ビットは、4つのアドレス・ビット
によって指定された割込みメモリ・ラッチをセットさせ
る。群0及び群1のFRCコマンド・ビットは、各々「
電源」又は「プロセッサ」リセット条件を開始するため
に、POWR及びPRORと共に使用される。
によって指定された割込みメモリ・ラッチをセットさせ
る。群0及び群1のFRCコマンド・ビットは、各々「
電源」又は「プロセッサ」リセット条件を開始するため
に、POWR及びPRORと共に使用される。
[TsT+J(割込み信号の極性が十レベルかテストす
る)ビットは、割込み信号の極性が正であれば、4つの
アドレス・ビットで指定された割込みメモリ・ラッチを
セットさせる。TST+コマンドが実行されている時、
それは実行時にインターフェース走査クロックによって
走査されているアドレスにのみ影響を与える事ができる
。一時に4つの割込み信号のうち1つだけしか走査され
ないので、単一の特別な割込み信号の極性をテストする
ためには(同じ1つのアドレス・ビットの組を有する)
4つの連続したTST+コマンドを実行する必要がある
。
る)ビットは、割込み信号の極性が正であれば、4つの
アドレス・ビットで指定された割込みメモリ・ラッチを
セットさせる。TST+コマンドが実行されている時、
それは実行時にインターフェース走査クロックによって
走査されているアドレスにのみ影響を与える事ができる
。一時に4つの割込み信号のうち1つだけしか走査され
ないので、単一の特別な割込み信号の極性をテストする
ためには(同じ1つのアドレス・ビットの組を有する)
4つの連続したTST+コマンドを実行する必要がある
。
もし3つのコマンド・ビットのうち2つ以上が同じ群に
セットされていれば、下記の事が起きるであろう。
セットされていれば、下記の事が起きるであろう。
他のコマンド・ビットが何にセットされているかに無関
係に、CLRコマンド・ビットが常にクリア動作を起こ
させ、且つFRCコマンド・ビットがTST+コマンド
をオーバーライドする。
係に、CLRコマンド・ビットが常にクリア動作を起こ
させ、且つFRCコマンド・ビットがTST+コマンド
をオーバーライドする。
命令のパイプライン及び順序付けの制御一般的な用語「
順序付は及び制御の論理」は、ここでは、順次に命令に
アクセスし、分岐及び割込みを起こさせ、そしてアクセ
スされた命令をデコードし実行するために使われる論理
回路を示すために使う。順序付けの複雑さをある程度理
解するために、最初にプロセッサ中の命令のパイプライ
ンについて理解する必要がある。従って、最初にこれを
説明する。
順序付は及び制御の論理」は、ここでは、順次に命令に
アクセスし、分岐及び割込みを起こさせ、そしてアクセ
スされた命令をデコードし実行するために使われる論理
回路を示すために使う。順序付けの複雑さをある程度理
解するために、最初にプロセッサ中の命令のパイプライ
ンについて理解する必要がある。従って、最初にこれを
説明する。
命令パイプライン
良好な実施例は、3相の命令パイプライン(第11図に
概略を図示)を利用している。即ち、任意の与えられた
時間に、1つの命令が命令記憶装置から取り出され、−
力板前に取り出された命令は実行のためにデコードされ
(且つそれに関係したオペランド又はアドレスが、もし
あれば形成され)、そして以前にデコードされた命令は
実行されている。従って、全ての命令(分岐命令を除く
)は、取り出し、デコード及び実行のだめの3つの機械
クロック・サイクルを必要とするが、実行速度は機械サ
イクル轟シ1命令である。
概略を図示)を利用している。即ち、任意の与えられた
時間に、1つの命令が命令記憶装置から取り出され、−
力板前に取り出された命令は実行のためにデコードされ
(且つそれに関係したオペランド又はアドレスが、もし
あれば形成され)、そして以前にデコードされた命令は
実行されている。従って、全ての命令(分岐命令を除く
)は、取り出し、デコード及び実行のだめの3つの機械
クロック・サイクルを必要とするが、実行速度は機械サ
イクル轟シ1命令である。
パイプラインのアーキテクチャは、取り出される命令が
機械の制御論理に対して「可視的」でないようなもので
ある。命令は、それが取り出しサイクルの終了時に命令
デコード・レジスタ(IDR)19中に置かれた後での
み、可視的になる。
機械の制御論理に対して「可視的」でないようなもので
ある。命令は、それが取り出しサイクルの終了時に命令
デコード・レジスタ(IDR)19中に置かれた後での
み、可視的になる。
プログラム記憶装置20から取り出された各命令は、最
初に命令デコード・レジスタ(IDR)19中に置かれ
、新しい命令は各クロック(立ち上り)時にIDRにロ
ードされる。
初に命令デコード・レジスタ(IDR)19中に置かれ
、新しい命令は各クロック(立ち上り)時にIDRにロ
ードされる。
IDR中の命令は、後続する機械サイクル中にデコーダ
論理21でデコードされ、その結果は次のクロック(立
ち上り)時に実行レジスタ22(EXR)にロードされ
る。
論理21でデコードされ、その結果は次のクロック(立
ち上り)時に実行レジスタ22(EXR)にロードされ
る。
分岐命令も命令取り出しのために1機械サイクルを必要
とし、2番目の機械サイクル中にデコードされるが、I
AR16は(分岐が行なわれると仮定すると)2番目の
サイクルの終了時に分岐先アドレスをロードされる。分
岐命令の3番目のサイクルには、通常例の付加的ハード
ウェア動作も起きない。
とし、2番目の機械サイクル中にデコードされるが、I
AR16は(分岐が行なわれると仮定すると)2番目の
サイクルの終了時に分岐先アドレスをロードされる。分
岐命令の3番目のサイクルには、通常例の付加的ハード
ウェア動作も起きない。
アドレス/オペランドの形成
IDR19中の命令がデコーダ21でデコードされてい
る間、その命令のオペランド部分は、もし存在すれば、
アドレス生成(ADD GEN)加算器14によって
操作される。この加算器14への入力は、(表5に示す
ようにンデコードされている(IDR中の)命令から選
択されたオペランド・ビット及び指定されたインデック
ス・レジスタ(RO1R4又はILR)の内容又は強制
的ゼロである。この加算の結果は、分岐命令の場合のよ
うに即座に使用されるか、又はそれに関係したデコード
命令が実行レジスタ22(EXR)にロードされるのと
同時に、共通アドレス・バス・レジスタ(CABR)5
にロードされる。次に、CABR5の内容は、EXR2
2の命令の実行中にCDB4にゲートされる事も又共通
アドレス・バス23を経てRAM24にアクセスするた
めアドレスとして使用される事もある。RAM24の内
容は、CDB4に置かれる。
る間、その命令のオペランド部分は、もし存在すれば、
アドレス生成(ADD GEN)加算器14によって
操作される。この加算器14への入力は、(表5に示す
ようにンデコードされている(IDR中の)命令から選
択されたオペランド・ビット及び指定されたインデック
ス・レジスタ(RO1R4又はILR)の内容又は強制
的ゼロである。この加算の結果は、分岐命令の場合のよ
うに即座に使用されるか、又はそれに関係したデコード
命令が実行レジスタ22(EXR)にロードされるのと
同時に、共通アドレス・バス・レジスタ(CABR)5
にロードされる。次に、CABR5の内容は、EXR2
2の命令の実行中にCDB4にゲートされる事も又共通
アドレス・バス23を経てRAM24にアクセスするた
めアドレスとして使用される事もある。RAM24の内
容は、CDB4に置かれる。
ADD GEI:N加算器14がアドレスを形成する
ために使われる時、加算は、MCRH8のビット12.
14及び15によって制御される8つの選択された境界
の1つの上で巡回するようにさせる事ができる(第8A
図参照)。巡回インデクシングを実現するためのこの方
式は、ADD GEN加算器14中のキャリー伝播を
選択的に禁止する事に関連している。キャリー伝播は下
記の表に示すように、次の点で禁止する事ができる。
ために使われる時、加算は、MCRH8のビット12.
14及び15によって制御される8つの選択された境界
の1つの上で巡回するようにさせる事ができる(第8A
図参照)。巡回インデクシングを実現するためのこの方
式は、ADD GEN加算器14中のキャリー伝播を
選択的に禁止する事に関連している。キャリー伝播は下
記の表に示すように、次の点で禁止する事ができる。
すべての場合に、命令のインデックス制御フィールド(
IX)はインデックス動作を指定する(表3参照)。イ
ンデックス制御論理はIXをデコードし、適当なキャリ
ー禁止信号を発生する。さらにこの論理回路は、RO1
R4、ILRレジスタの内容又はゼロをオペランド値へ
の加数として選択させる。
IX)はインデックス動作を指定する(表3参照)。イ
ンデックス制御論理はIXをデコードし、適当なキャリ
ー禁止信号を発生する。さらにこの論理回路は、RO1
R4、ILRレジスタの内容又はゼロをオペランド値へ
の加数として選択させる。
命令順序付は論理
良好な実施例において、取り出されるべき命令のアドレ
スは、常に命令アドレス・レジスタ(■AR)16に含
まれている。ブロック図(第1図)に示されるように、
IAR16は次の命令アドレスを決定するための4つの
選択可能な入力を有する。
スは、常に命令アドレス・レジスタ(■AR)16に含
まれている。ブロック図(第1図)に示されるように、
IAR16は次の命令アドレスを決定するための4つの
選択可能な入力を有する。
「+1」加算器25の出力(この加算器は常に最後のI
AR16の内容に1を加算したものに等しいアドレスを
生成する)は、次の命令がプログラム記憶装置20から
取り出されるべき時に、次のrAR16の入力として選
択される。
AR16の内容に1を加算したものに等しいアドレスを
生成する)は、次の命令がプログラム記憶装置20から
取り出されるべき時に、次のrAR16の入力として選
択される。
アドレス生成加算器14の出力が、直接分岐が実行され
る時はTAR16の入力として選択される。
る時はTAR16の入力として選択される。
共通データバス(CDB)4の内容が、間接分岐が実行
される時はIAR16の入力として選択される。
される時はIAR16の入力として選択される。
割込みサービス・ルーチンが開始される時、割込み制御
論理17は、IAR16に置かれるべき適当な割込みエ
ントリー・アドレスを提供する。
論理17は、IAR16に置かれるべき適当な割込みエ
ントリー・アドレスを提供する。
それはまた、「電源」及び「プロセッサ」リセット・ル
ーチンに関する正しいエントリー・アドレスも発生する
。
ーチンに関する正しいエントリー・アドレスも発生する
。
順序付は論理の正規の、非分岐、弁開込み動作において
、命令アドレス・レジスタ(IAR)16の内容は、命
令アドレス・バス(IAB)に置かれ、そこでプログラ
ム記憶装置20及び同時に+1加算器25によって使用
される。次に、命令Nがプログラム記憶装置20から取
り出される時、値N+1が+1加算器25によって形成
される。
、命令アドレス・レジスタ(IAR)16の内容は、命
令アドレス・バス(IAB)に置かれ、そこでプログラ
ム記憶装置20及び同時に+1加算器25によって使用
される。次に、命令Nがプログラム記憶装置20から取
り出される時、値N+1が+1加算器25によって形成
される。
最後に、クロック時に命令Nが命令デコード・レジスタ
(IDR)19にロードされる時、新しい命令の計数値
N+1がIAR16にロードされる。
(IDR)19にロードされる時、新しい命令の計数値
N+1がIAR16にロードされる。
分岐の場合、IAR16はクロック時にCDB4の内容
又はADD GEN加算器14の出力のいずれかをロ
ードされる。その選択は分岐が、直接型か又は間接型か
によって制御される。
又はADD GEN加算器14の出力のいずれかをロ
ードされる。その選択は分岐が、直接型か又は間接型か
によって制御される。
プロセッサのブロック図(第1図)に示される命令リン
ク・レジスタ15(ILR)は、IAR16から入力を
受は取る。これはILR15が動作している間、それは
常に最後の取り出された命令(IDR19中の命令)の
アドレスを含んでいる事を意味する。ILR25を駆動
するクロックは、プロセッサが割込みにサービスするた
めに「前景(フォアグラウンド)」状態に切り換わった
時に、ロックするように制御される。従って、割込みが
サービスされる時、ILR15は停止し、分岐先として
使用できる適当な戻りアドレスを含んでいる。また、2
種類の「長い」分岐命令(第5図参照)は「前景」状態
を強制的に取らせ、そしてILR15は割込み以外の条
件の下で、戻りアドレスを保持するために使用できる。
ク・レジスタ15(ILR)は、IAR16から入力を
受は取る。これはILR15が動作している間、それは
常に最後の取り出された命令(IDR19中の命令)の
アドレスを含んでいる事を意味する。ILR25を駆動
するクロックは、プロセッサが割込みにサービスするた
めに「前景(フォアグラウンド)」状態に切り換わった
時に、ロックするように制御される。従って、割込みが
サービスされる時、ILR15は停止し、分岐先として
使用できる適当な戻りアドレスを含んでいる。また、2
種類の「長い」分岐命令(第5図参照)は「前景」状態
を強制的に取らせ、そしてILR15は割込み以外の条
件の下で、戻りアドレスを保持するために使用できる。
ILRI5は、それがインデックス・レジスタとしてア
クセスされる毎にアンロックされる。
クセスされる毎にアンロックされる。
E−30割込みアーキテクチャ
良好な実施例の割込み論理は、2つの特別な属性を考慮
して設計された。最初に、種々の割込み構造を実現する
ためのユーザのプログラミングの柔軟性が提供される。
して設計された。最初に、種々の割込み構造を実現する
ためのユーザのプログラミングの柔軟性が提供される。
もし、例えば6レベルのピラミッド型の割込み構造が望
ましければ、それはプログラミングによって達成できる
。第2に、割込みを実現するために必叢な論理回路の総
量は、比較的小さく保つ事が意図された。
ましければ、それはプログラミングによって達成できる
。第2に、割込みを実現するために必叢な論理回路の総
量は、比較的小さく保つ事が意図された。
良好な実施例は、「背景」及び「前景」と呼ばれる2つ
の割込みレベルを提供するいくつかの部分より成る本来
の割込み構造を実現している。各々の割込みは外部的に
発生した信号によってトリガされ、割込み論理内のラッ
チに記憶される。未処理の割込みは、エネーブルされた
ならば、優先度の順にサービスされる(表6参照)。ど
れかの割込みに関する割込みサービスが開始すると、処
理レベルは「背景」から「前景」に切り換わり、IAR
16はサービスされるべき割込みレベルに対応した割込
みエントリー・アドレスにセットされる。割込みを行な
う直前に取り出された命令は、命令パイプラインの影響
を補償するためにNOPとして実行するように強制され
る。これについては後述するっ プロセッサ内の論理回路の種々の部分が、本来の割込み
アーキテクチャをサポートするものとして、第1図にお
いて識別できる。それには次のものが含まれる。
の割込みレベルを提供するいくつかの部分より成る本来
の割込み構造を実現している。各々の割込みは外部的に
発生した信号によってトリガされ、割込み論理内のラッ
チに記憶される。未処理の割込みは、エネーブルされた
ならば、優先度の順にサービスされる(表6参照)。ど
れかの割込みに関する割込みサービスが開始すると、処
理レベルは「背景」から「前景」に切り換わり、IAR
16はサービスされるべき割込みレベルに対応した割込
みエントリー・アドレスにセットされる。割込みを行な
う直前に取り出された命令は、命令パイプラインの影響
を補償するためにNOPとして実行するように強制され
る。これについては後述するっ プロセッサ内の論理回路の種々の部分が、本来の割込み
アーキテクチャをサポートするものとして、第1図にお
いて識別できる。それには次のものが含まれる。
1、 割込みメモリ・ラッチは、未処理の割込みを記憶
するためにPSRL9のビット08〜15で実現される
。割込みがサービスされる時、サービスされるレベルに
対応するラッチはリセットされる。割込みがあるレベル
で未処理のままの時、そのレベルの他の割込みは認識さ
れ得ない事に注意されたい。
するためにPSRL9のビット08〜15で実現される
。割込みがサービスされる時、サービスされるレベルに
対応するラッチはリセットされる。割込みがあるレベル
で未処理のままの時、そのレベルの他の割込みは認識さ
れ得ない事に注意されたい。
2、MCRL8のビット08〜15に含まれている割込
みマスク・ビットは、個々の未処理の割込みを選択的に
禁止するのに役立つ。8つの割込みレベルの任意の組み
合せを禁止する事ができる。
みマスク・ビットは、個々の未処理の割込みを選択的に
禁止するのに役立つ。8つの割込みレベルの任意の組み
合せを禁止する事ができる。
MCRL8のビットは、プログラミングにょシ任意にセ
ット及びリセットできる。
ット及びリセットできる。
3、 割込み制御論理17は、割込みサービスが開始す
る時に、適当な割込みエントリー・アドレスをIAR1
6に挿入させる。この論理17は又、「NOP強制」フ
ラグ・ラッチ29(第1図)のセツティングも制御する
。このラッチは割込みの直前の命令をNOPとして実行
させる。
る時に、適当な割込みエントリー・アドレスをIAR1
6に挿入させる。この論理17は又、「NOP強制」フ
ラグ・ラッチ29(第1図)のセツティングも制御する
。このラッチは割込みの直前の命令をNOPとして実行
させる。
本来の割込みサービスの優先度
割込み信号をプロセッサへ伝えるために、2本のマルチ
プレクス式割込み信号線18が、プロセッサ・モジュー
ル・インターフェース論理17中に設けられる。これら
の信号線18の各々は、4つまでの時間マルチプレクス
式割込み信号を伝える事ができる。割込み信号は、2ビ
ツトの走査クロック22、l5CCO及びl5CCIの
制御の下に、2つの割込み入力ボートでサンプリングさ
れる。
プレクス式割込み信号線18が、プロセッサ・モジュー
ル・インターフェース論理17中に設けられる。これら
の信号線18の各々は、4つまでの時間マルチプレクス
式割込み信号を伝える事ができる。割込み信号は、2ビ
ツトの走査クロック22、l5CCO及びl5CCIの
制御の下に、2つの割込み入力ボートでサンプリングさ
れる。
8つの可能な割込み信号及び2つのリセット信号の各々
は、割込みサービスが開始された時にそこでタスク処理
が始まる、プログラム記憶装置20中の特別な固定した
エントリー位置を有している。これらのエントリー・ア
ドレスは、表6に示すように配列されている。割込み1
〜7及び2つのリセットに関するエントリー・アドレス
は、各レベルのために割込みサービス処理を行[うがシ
又は命令記憶装置20中の他の場所にあるよシ精巧な割
込みルーチンに分岐するために52<16進数では20
)個の命令が利用可能なように分布している。任意の長
さの割込みサービス・ルーチンを、最高の優先度の割込
みであるレベル0の割込みのエントリー・アドレスに隣
接して配置する事ができる。
は、割込みサービスが開始された時にそこでタスク処理
が始まる、プログラム記憶装置20中の特別な固定した
エントリー位置を有している。これらのエントリー・ア
ドレスは、表6に示すように配列されている。割込み1
〜7及び2つのリセットに関するエントリー・アドレス
は、各レベルのために割込みサービス処理を行[うがシ
又は命令記憶装置20中の他の場所にあるよシ精巧な割
込みルーチンに分岐するために52<16進数では20
)個の命令が利用可能なように分布している。任意の長
さの割込みサービス・ルーチンを、最高の優先度の割込
みであるレベル0の割込みのエントリー・アドレスに隣
接して配置する事ができる。
また、未処理の割込みを記憶するPSRL9よシ成るラ
ッチは、割込みエントリー・アドレスがIAR16中に
置かれた時に、個々にリセットされる事にも注意された
い。
ッチは、割込みエントリー・アドレスがIAR16中に
置かれた時に、個々にリセットされる事にも注意された
い。
割込みの割込み信号は、論理ゼロから1への遷移よシ成
シ、これはマルチプレクスされた割込み信号の現在のサ
ンプルと、前回のサンプルとを比較する事によって検出
される。そのような信号が検出されると、ラッチがその
事象を記憶するためにセットされる。このラッチはPS
RL9t−読取る事によって調べる事ができる。もし発
生した特定の割込みに関して、MCRL8により割込み
サービスが禁止されていなければ、割込み開始シーケン
スが始まる事ができる。MCRLのビット8〜15は、
セットされた(=1)時、各々割込み信号0〜7に関す
るサービスを、個々に禁止する事を思い出−していただ
きたい。もし割込みサービスが禁止されれば、個々の割
込みメモリ・ラッチはセット状態にとどまり、適当なM
CRL8のビットがリセットされて、サービスを可能に
する時に順序付は論理に現れる。
シ、これはマルチプレクスされた割込み信号の現在のサ
ンプルと、前回のサンプルとを比較する事によって検出
される。そのような信号が検出されると、ラッチがその
事象を記憶するためにセットされる。このラッチはPS
RL9t−読取る事によって調べる事ができる。もし発
生した特定の割込みに関して、MCRL8により割込み
サービスが禁止されていなければ、割込み開始シーケン
スが始まる事ができる。MCRLのビット8〜15は、
セットされた(=1)時、各々割込み信号0〜7に関す
るサービスを、個々に禁止する事を思い出−していただ
きたい。もし割込みサービスが禁止されれば、個々の割
込みメモリ・ラッチはセット状態にとどまり、適当なM
CRL8のビットがリセットされて、サービスを可能に
する時に順序付は論理に現れる。
割込みメモリ・ラッチは、所定の時刻に未処理(係属中
)の1つ以上の割込みを表示する事ができる。事象の途
中に割込み処理の開始が可能になる時、実際にサービス
を受ける割込みは、マスク・オフされていない割込みの
固有の優先度によって決定される。言いかえると、2つ
以上の割込みが未処理の時、最高の優先度を持つ、マス
クされていない割込みが最初にサービスされ、他の低い
優先度の要求は、優先度の順に後にサービスされるよう
に、ハードウェアによって保持され続ける。
)の1つ以上の割込みを表示する事ができる。事象の途
中に割込み処理の開始が可能になる時、実際にサービス
を受ける割込みは、マスク・オフされていない割込みの
固有の優先度によって決定される。言いかえると、2つ
以上の割込みが未処理の時、最高の優先度を持つ、マス
クされていない割込みが最初にサービスされ、他の低い
優先度の要求は、優先度の順に後にサービスされるよう
に、ハードウェアによって保持され続ける。
背景状態でプロセッサによって実行され始めた命令のス
トリームが、未処理の割込みにサービスするために中断
される毎に、下記の事象のシーケンスが起きる。
トリームが、未処理の割込みにサービスするために中断
される毎に、下記の事象のシーケンスが起きる。
1、 最初、命令デコード・レジスタ19(fDR)中
の「可視的な」命令が割込み保護されていれば、割込み
の開始は起き得ない。いくつかの命令は常に保護され、
あるものは決して保護されず1、φしであるものは選択
的に保護されている事忙注意されたい。表1はどの命令
が保護され、一般にどのようにして保護が行なわれるか
を示している。
の「可視的な」命令が割込み保護されていれば、割込み
の開始は起き得ない。いくつかの命令は常に保護され、
あるものは決して保護されず1、φしであるものは選択
的に保護されている事忙注意されたい。表1はどの命令
が保護され、一般にどのようにして保護が行なわれるか
を示している。
2、 デコードされた命令に関して保護の指示がなけれ
ば、そして割込みが未処理であれば、割込みエントリー
・アドレスが命令アドレス・レジスタ(TAB)16に
入れられる。同時に、命令記憶装置から以前に取り出さ
れた命令がIDR19に置かれる。しかし、割込みが許
されたので、この時、IDR19にロードされた命令を
無視させる7ジグ29もセットされる。即ち、IDR1
9にロードされた命令は21でデコードされ、その後N
OPとして実行される。NOPを実行した結果として、
機械は状態を変化させない。
ば、そして割込みが未処理であれば、割込みエントリー
・アドレスが命令アドレス・レジスタ(TAB)16に
入れられる。同時に、命令記憶装置から以前に取り出さ
れた命令がIDR19に置かれる。しかし、割込みが許
されたので、この時、IDR19にロードされた命令を
無視させる7ジグ29もセットされる。即ち、IDR1
9にロードされた命令は21でデコードされ、その後N
OPとして実行される。NOPを実行した結果として、
機械は状態を変化させない。
3、 割込みエントリー・アドレスがIAR16にロー
ドされる時、対応する割込みメモリ・ラッチはリセット
され、命令リンク・レジスタ(II4)15の内容は、
ちょうど取り出された命令のアドレスに変更される。こ
れは実行されない命令に関するものである。ILR15
はこの時点で凍結され、そこに含まれるアドレスがアク
セスされるまで凍結されたままである。従って、割込み
サービス・ルーチンの終了時に、単純にILR15の内
容によって指定されるアドレスに分岐して、正規の命令
の順序を正確に再開する事ができる。
ドされる時、対応する割込みメモリ・ラッチはリセット
され、命令リンク・レジスタ(II4)15の内容は、
ちょうど取り出された命令のアドレスに変更される。こ
れは実行されない命令に関するものである。ILR15
はこの時点で凍結され、そこに含まれるアドレスがアク
セスされるまで凍結されたままである。従って、割込み
サービス・ルーチンの終了時に、単純にILR15の内
容によって指定されるアドレスに分岐して、正規の命令
の順序を正確に再開する事ができる。
前述の一連の動作の最終的な効果は、割込みがサービス
される毎に1つの余分の命令NOPが実行される事であ
る。この方式の利点は、割込みシーケンスが開始された
時に取り出された、保護された命令をどのように取り扱
うかという問題を除去している事である。従ってこの機
械の命令に関する割込み保護の要求は単純化される。
される毎に1つの余分の命令NOPが実行される事であ
る。この方式の利点は、割込みシーケンスが開始された
時に取り出された、保護された命令をどのように取り扱
うかという問題を除去している事である。従ってこの機
械の命令に関する割込み保護の要求は単純化される。
いくつかの可能な割込み方式
プロセッサの本来の割込み構造は充分に柔軟なので、ユ
ーザーが種々の割込み取り扱い方式を実現する事が可能
である。いくつかの例を下記に示す。
ーザーが種々の割込み取り扱い方式を実現する事が可能
である。いくつかの例を下記に示す。
1、 最初に、プロセッサの本来の割込み構造をそのま
ま使用する事ができる。即ち、割込みが発生した時、そ
れは最初、係属中になり、次に本来の割込み制御論理に
よって確立された優先度の順に正規の方式でサービスさ
れる。割込みサービスが開始すると、プロセッサは前景
状態に切シ換わる。
ま使用する事ができる。即ち、割込みが発生した時、そ
れは最初、係属中になり、次に本来の割込み制御論理に
よって確立された優先度の順に正規の方式でサービスさ
れる。割込みサービスが開始すると、プロセッサは前景
状態に切シ換わる。
サービスが終了した後、レベル出口付き分岐(BLEX
)命令が、割込まれたプログラムに制御を戻しく元々N
OPで置きかえられた命令でスタートする)、プロセッ
サを背景状態に切シ換える。
)命令が、割込まれたプログラムに制御を戻しく元々N
OPで置きかえられた命令でスタートする)、プロセッ
サを背景状態に切シ換える。
2、 割込みのサービスを行なう正規の、本来の方式の
単純な変型では、割込み、割込みサービスは据置し又は
スタックに入れる事ができる。この方式では、割込みは
発生した時にはサービスされず、それが発生したという
事実が(ソフトウェアによって)保存される。この方式
では、プロセッサは、割込みがスタックに保存される短
かい時間の間だけ前景状態にとどまシ、次に普通のよう
に背景状態に戻る。後に、便利な時にスタックされた割
込みは背景状態で調査され、ユーザーが望む任意の順序
でサービスされる。
単純な変型では、割込み、割込みサービスは据置し又は
スタックに入れる事ができる。この方式では、割込みは
発生した時にはサービスされず、それが発生したという
事実が(ソフトウェアによって)保存される。この方式
では、プロセッサは、割込みがスタックに保存される短
かい時間の間だけ前景状態にとどまシ、次に普通のよう
に背景状態に戻る。後に、便利な時にスタックされた割
込みは背景状態で調査され、ユーザーが望む任意の順序
でサービスされる。
3、真の割込みは計画されていない分岐のようなもので
ある。しかしながら、本来のプロセッサの割込み構造の
設計は、通常は割込み制御回路によって行なわれるハー
ドウェア動作をオーバーライドし、完全にソフトウェア
によって実行する事を可能にしている。これは、全ての
割込みをマスキング又は禁止し、その代りに係属中の割
込みの状態をPSRL9を読取\る事によって、周期的
に調査する事によって達成される。係属中である事が判
明した割込みは、ユーザーの望み通シの順序でサービス
する事ができ、又所望によシスタックに保存する事がで
きる。もしこの技術を使った場合は、割込みメモリ・ラ
ッチはプログラミングによってリセットしなければなら
ない。これは、PSRL9に書込みを行なう命令によっ
て提供される機構を用いれば可能である。
ある。しかしながら、本来のプロセッサの割込み構造の
設計は、通常は割込み制御回路によって行なわれるハー
ドウェア動作をオーバーライドし、完全にソフトウェア
によって実行する事を可能にしている。これは、全ての
割込みをマスキング又は禁止し、その代りに係属中の割
込みの状態をPSRL9を読取\る事によって、周期的
に調査する事によって達成される。係属中である事が判
明した割込みは、ユーザーの望み通シの順序でサービス
する事ができ、又所望によシスタックに保存する事がで
きる。もしこの技術を使った場合は、割込みメモリ・ラ
ッチはプログラミングによってリセットしなければなら
ない。これは、PSRL9に書込みを行なう命令によっ
て提供される機構を用いれば可能である。
E−4,命令セット
この節では、各命令のデコード及び実行の動作の概略を
説明し、各命令中の種々の制御フィールドの目的につい
て述べる。
説明し、各命令中の種々の制御フィールドの目的につい
て述べる。
命令フォーマット及ヒ二−モニツク
全ての機械語命令は、24個のビット00〜23から成
る。各命令の最初の4ビツト(ビット00〜05)は、
命令のフォーマット及び機能を指定するのに役立つオペ
レーション9コード(OPコード)よシ成る。全ての型
の命令のフォーマットは、表1(「発明の詳細な説明」
の末尾)に要約されている。各OPコードのデコード及
び実行の動作は表2に要約されている。
る。各命令の最初の4ビツト(ビット00〜05)は、
命令のフォーマット及び機能を指定するのに役立つオペ
レーション9コード(OPコード)よシ成る。全ての型
の命令のフォーマットは、表1(「発明の詳細な説明」
の末尾)に要約されている。各OPコードのデコード及
び実行の動作は表2に要約されている。
種々の表及び図は、命令の型を1組の二−モニツクによ
って参照している。これらの「ハードウェア・ニーモニ
ツク」はここで便宜上使用しているが、アセ/グラ言語
のプログラムを書く時に使うソフトウェア・二一モニツ
クと混同すべきでない。
って参照している。これらの「ハードウェア・ニーモニ
ツク」はここで便宜上使用しているが、アセ/グラ言語
のプログラムを書く時に使うソフトウェア・二一モニツ
クと混同すべきでない。
インデックス制御フィールド
多くの命令のビット4及び5(表1参照)は、インデッ
クス制御フィールド(IX)、’e含んでいる。このフ
ィールドは、インデックス・レジスタの値(RO1R4
又はILRの内容)又はゼロ(インデックス・レジスタ
は選択されない)を選択するため、及び命令中のオペラ
ンドを変型して、アドレス又は即値を形成するために、
その選択された値がどのように使用されるかを指定する
ための両者に役立つ。IXフィールドの組み合わせに割
り当てられた意味は、命令のOPコードに依存する。表
3は全ての命令型についてIXフィールドの作用を要約
している。
クス制御フィールド(IX)、’e含んでいる。このフ
ィールドは、インデックス・レジスタの値(RO1R4
又はILRの内容)又はゼロ(インデックス・レジスタ
は選択されない)を選択するため、及び命令中のオペラ
ンドを変型して、アドレス又は即値を形成するために、
その選択された値がどのように使用されるかを指定する
ための両者に役立つ。IXフィールドの組み合わせに割
り当てられた意味は、命令のOPコードに依存する。表
3は全ての命令型についてIXフィールドの作用を要約
している。
選択されたインデックス・レジスタを命令のオペランド
に(ADD GEN加算器14で)加算する事によっ
て得られる値は、共通アドレス・バス・レジスタ5(C
ABR)に置かれる。ここでそれはアドレスとして、又
は即値オペランドとして使用される。一般1c、CAB
R5の内容をアドレスとして使用するか又は即値オペラ
ンドとして使用するかは、OPコードによって決定され
る。
に(ADD GEN加算器14で)加算する事によっ
て得られる値は、共通アドレス・バス・レジスタ5(C
ABR)に置かれる。ここでそれはアドレスとして、又
は即値オペランドとして使用される。一般1c、CAB
R5の内容をアドレスとして使用するか又は即値オペラ
ンドとして使用するかは、OPコードによって決定され
る。
分岐命令の型の場合、ADD GEN加算器14の出
力は直接の分岐先アドレスとして使用し得る。
力は直接の分岐先アドレスとして使用し得る。
もしそうであれば、ADD GEN加算器14の出力
はCABR5以外にIAR16へもロードされる。
はCABR5以外にIAR16へもロードされる。
命令実行動作
表2に示すように、各々の命令は、転送作用、計算作用
又はその両者を有している。上位のopコード・ビット
が1であるような全ての命令(複合命令)は、転送作用
及び計算作用の両者を有している。命令実行動作及び種
々の命令型のフォーマットを下記において説明する。
又はその両者を有している。上位のopコード・ビット
が1であるような全ての命令(複合命令)は、転送作用
及び計算作用の両者を有している。命令実行動作及び種
々の命令型のフォーマットを下記において説明する。
LIL及びLIR命令(各々OPコード、0000及び
oooi )は、スタック1の左側又は右側のレジスタ
に即値オペランドをロードさせる。
oooi )は、スタック1の左側又は右側のレジスタ
に即値オペランドをロードさせる。
命令のフォーマット(第2A図参照)は、2ビツトのイ
ンデックス制御フィールド(IX)、2ビツトのスタッ
ク・レジスタ宛先フィールド(SD)及び16ビツトの
オペランド・フィールドを含んでいる。
ンデックス制御フィールド(IX)、2ビツトのスタッ
ク・レジスタ宛先フィールド(SD)及び16ビツトの
オペランド・フィールドを含んでいる。
■Xフィールドは、即値データを形成するために16ピ
ツトの命令オペランド・フィールドに、インデックス・
レジスタ1(RO又はR4)、インデックス・リンク・
レジスタ(ILR)又はゼロのうちどれを加算するかを
決定する。加算の結果は、命令のデコード段階の終fi
Kc A B R5にロードされる。次にCABR5の
内容は実行段階中にCnH2に出力され、実行段階のク
ロック・パルスの終了時には適当な宛先レジスタ1にロ
ードされる。
ツトの命令オペランド・フィールドに、インデックス・
レジスタ1(RO又はR4)、インデックス・リンク・
レジスタ(ILR)又はゼロのうちどれを加算するかを
決定する。加算の結果は、命令のデコード段階の終fi
Kc A B R5にロードされる。次にCABR5の
内容は実行段階中にCnH2に出力され、実行段階のク
ロック・パルスの終了時には適当な宛先レジスタ1にロ
ードされる。
3ビツトのSDフィールドは、工Xフィールドの制御の
下で形成される即値オペランドの(スタック1内の)宛
先レジスタを決定する。即値ロード型の命令の場合、S
Dの1及び2ビツト(命令ビット6及び7)は、通常は
OPコード・ビットである命令ピッ)5(SDO)によ
って延長され、必要な6ビツトの宛先レジスタ・アドレ
スを生じる。ビットSD1及びSD2は、スタック1の
左側又は右側の4つのレジスタのどれが宛先かを決定し
、ピッ)SDOは左側又は右側のレジスタ群を選択する
。
下で形成される即値オペランドの(スタック1内の)宛
先レジスタを決定する。即値ロード型の命令の場合、S
Dの1及び2ビツト(命令ビット6及び7)は、通常は
OPコード・ビットである命令ピッ)5(SDO)によ
って延長され、必要な6ビツトの宛先レジスタ・アドレ
スを生じる。ビットSD1及びSD2は、スタック1の
左側又は右側の4つのレジスタのどれが宛先かを決定し
、ピッ)SDOは左側又は右側のレジスタ群を選択する
。
ロード命令(L)
ロード(g命令(opコード0010)(第2B図参照
)のフォーマットは、オペランド・フィールドが16ビ
ツトではなく15ビツトを含んでいる事を除けば、上記
のl’−LI(R又はL)J型の命令に類似している。
)のフォーマットは、オペランド・フィールドが16ビ
ツトではなく15ビツトを含んでいる事を除けば、上記
のl’−LI(R又はL)J型の命令に類似している。
命令のビット23、フォーマット中の下位オペランド・
ビットは、ロード命令中のSDフィールドの上位ピッ)
(SDO)として使用され、スタック1の左側又は右側
の宛先レジスタを完全に指定することを可能にする。
ビットは、ロード命令中のSDフィールドの上位ピッ)
(SDO)として使用され、スタック1の左側又は右側
の宛先レジスタを完全に指定することを可能にする。
ロード命令のオペランドは、次のようにしてRAMアド
レスを形成するのに使われる。即ち、15ビツトのオペ
ランド・フィールド及び追加されたゼロ(0)が、第2
B図に示すように、16ビツトの選択されたインデック
ス・レジスタ(■Xフィールドによって指定されるよう
にRO1R4又はゼロ)に加算され、結果がCABR5
に置かれる。
レスを形成するのに使われる。即ち、15ビツトのオペ
ランド・フィールド及び追加されたゼロ(0)が、第2
B図に示すように、16ビツトの選択されたインデック
ス・レジスタ(■Xフィールドによって指定されるよう
にRO1R4又はゼロ)に加算され、結果がCABR5
に置かれる。
この動作は命令のデコード段階中に起きるゆロード命令
の実行動作、においては、CABR5の内容がCAHに
出力されるので、これは即値オペランドとしてではなく
RAM24又はメモリ・マツブトI10(MMXo)
によってアドレスとして使用できる。このアドレスから
のデータは、実行段階中にCDB4に置かれ、そして実
行段階終了のクロック遷移において宛先スタック・レジ
スタ中にロードされる(命令のSDフィールドがレジス
タ・アドレスを指定する)。
の実行動作、においては、CABR5の内容がCAHに
出力されるので、これは即値オペランドとしてではなく
RAM24又はメモリ・マツブトI10(MMXo)
によってアドレスとして使用できる。このアドレスから
のデータは、実行段階中にCDB4に置かれ、そして実
行段階終了のクロック遷移において宛先スタック・レジ
スタ中にロードされる(命令のSDフィールドがレジス
タ・アドレスを指定する)。
記憶命令(opコードooii)は、任意のスタック・
レジスタの内容を、指定されたRAM24の記憶位置に
移動する事を可能にしている。第2C図に示すように、
この命令のフォーマットはロード命令のフォーマットに
非常によく似ている。
レジスタの内容を、指定されたRAM24の記憶位置に
移動する事を可能にしている。第2C図に示すように、
この命令のフォーマットはロード命令のフォーマットに
非常によく似ている。
相違点は、ロード命令のSDフィールドが、記憶命令の
フォーマットではSCフィールドになっている事である
。SCフィールドは、内容を記憶すべき8つのスタック
・レジスタの1つを選択するのに役立つ。
フォーマットではSCフィールドになっている事である
。SCフィールドは、内容を記憶すべき8つのスタック
・レジスタの1つを選択するのに役立つ。
記憶命令のデコード動作は、ロード命令のそれに似てい
る。即ち、15ビツトのオペランド・フィールドの内容
及び追加されたゼロ(0)は、命令中の■Xビットによ
って指定されたインデックス・フィールドにADD
GEN加算器で加算され、その結果はデコード段階の終
了時にCABR5の中に置かれる。
る。即ち、15ビツトのオペランド・フィールドの内容
及び追加されたゼロ(0)は、命令中の■Xビットによ
って指定されたインデックス・フィールドにADD
GEN加算器で加算され、その結果はデコード段階の終
了時にCABR5の中に置かれる。
実行段階中に、CABR5の内容は共通アドレス・バス
(CAB)23上に置かれ、そこでRAM24又はI1
0デバイスによってアドレスとして使用される。記憶さ
れるべきデータは、命令のSCフィールドによって指定
されるスタック・レジスタから取り出される。指定され
たレジスタの内容は、CMUXバス乙に出力され、次に
ドライバ15(第1図参照)を経由してCDB4に供給
される。実行段階を終了するクロック遷移において、C
DB4の内容は、CAB23上に存在する宛先アドレス
にロードされる。
(CAB)23上に置かれ、そこでRAM24又はI1
0デバイスによってアドレスとして使用される。記憶さ
れるべきデータは、命令のSCフィールドによって指定
されるスタック・レジスタから取り出される。指定され
たレジスタの内容は、CMUXバス乙に出力され、次に
ドライバ15(第1図参照)を経由してCDB4に供給
される。実行段階を終了するクロック遷移において、C
DB4の内容は、CAB23上に存在する宛先アドレス
にロードされる。
条件付分岐命令(BC)
条件付分岐命令(OPコード0100)のフォーマット
は、第4A図に示すように、12ビツトのオペランド・
フィールドを有している。残シの12ビツトはOPコー
ドに加えて、2ビツトの■Xフィールド、2ビツトの分
岐型(BT)フィールド及び4ビツトの分岐条件選択(
BC8)フィールドを含んでいる。インデックス(IX
)フィールドの制御動作は表3に、BC8のコードは表
4に、そして分岐型は第4A図に要約されている。
は、第4A図に示すように、12ビツトのオペランド・
フィールドを有している。残シの12ビツトはOPコー
ドに加えて、2ビツトの■Xフィールド、2ビツトの分
岐型(BT)フィールド及び4ビツトの分岐条件選択(
BC8)フィールドを含んでいる。インデックス(IX
)フィールドの制御動作は表3に、BC8のコードは表
4に、そして分岐型は第4A図に要約されている。
分岐命令は、他の全ての型の命令とは異なり、他の命令
の場合のデコード・サイクルの終了時に実行される。即
ち、分岐命令は、2番目の機械サイクルの間にデコード
され、そのサイクルの終りのクロック遷移の時に実行さ
れる。
の場合のデコード・サイクルの終了時に実行される。即
ち、分岐命令は、2番目の機械サイクルの間にデコード
され、そのサイクルの終りのクロック遷移の時に実行さ
れる。
表3に説明されている種々の分岐条件信号は、分岐命令
が実行されている時のALU2の条件から生じるか、又
はビット依存分岐の場合は、CDB上の個々のビットの
状態に基づいて生じる。分岐するか又は否かの判定は、
バッファされた条件ではなく、分岐命令の第2サイクル
の間に機械内に存在する「ホット」な条件に基づいてい
る。従って、使用される分岐条件は、分岐命令が第2サ
イクル中にある時に第3(実行ンサイクルにある命令の
結果でなければならない。
が実行されている時のALU2の条件から生じるか、又
はビット依存分岐の場合は、CDB上の個々のビットの
状態に基づいて生じる。分岐するか又は否かの判定は、
バッファされた条件ではなく、分岐命令の第2サイクル
の間に機械内に存在する「ホット」な条件に基づいてい
る。従って、使用される分岐条件は、分岐命令が第2サ
イクル中にある時に第3(実行ンサイクルにある命令の
結果でなければならない。
条件付き分岐命令の実行動作は、直接又は間接のいずれ
かでありうる。この機械の場合、直接分岐はADD
GIN加算器14の出力を直接的にIARI6にロード
する事と定義される。間接分岐はCDB4の内容をIA
RI 6にロードする事と定義される。もちろん、命令
のBCSフィールドによって指定される分岐条件が満足
されなければ、次の順序の命令アドレスがIARI6に
ロードされる。
かでありうる。この機械の場合、直接分岐はADD
GIN加算器14の出力を直接的にIARI6にロード
する事と定義される。間接分岐はCDB4の内容をIA
RI 6にロードする事と定義される。もちろん、命令
のBCSフィールドによって指定される分岐条件が満足
されなければ、次の順序の命令アドレスがIARI6に
ロードされる。
分岐の実行動作は第2段階の終りに起きるので、(第6
段階で)実行中の命令との直接的な時間の重なりが存在
する。従って、(例えば)ALU2を利用した計算動作
は分岐の実行と同時に起き、ホットな分岐条件を提供す
る事が可能である。一般に、ALU2によって形成され
る分岐条件は直接的にしか使われないので、有効な分岐
条件を提供するために、このようにして任意の条件付き
分岐をオーバラップさせる事ができる。また、間接的分
岐(CDB4の内容がIARI<5にロードされる)が
望塘れるならば、分岐命令が実行されている間に転送動
作がCDBJ上に正しい分岐先アドレスを置くようにす
る事が必要である。複合命令(STC及びLXCN)及
び計算(C)命令は、分岐が実行されている間にALU
2及びCDB4の両者を付勢する事ができる。(計算命
令は実行時にCMUXバス6の内容をCDBJ上に出力
させる。) バイト・ロード/挿入命令(LIBY)バイトのロード
/挿入命令は、プロセッサがある種のバイト操作動作を
行なえるようにするために設計された。特に、LIBY
は、CDB4の上位バイト又は下位バイトを8つのスタ
ック1のレジスタの任意のものの上位バイト又は下位バ
イト位置にロードする事を可能にする。宛先のスタック
・レジスタの影響を受けないバイトは、その過程でゼロ
にされても又不変のままでもよい。
段階で)実行中の命令との直接的な時間の重なりが存在
する。従って、(例えば)ALU2を利用した計算動作
は分岐の実行と同時に起き、ホットな分岐条件を提供す
る事が可能である。一般に、ALU2によって形成され
る分岐条件は直接的にしか使われないので、有効な分岐
条件を提供するために、このようにして任意の条件付き
分岐をオーバラップさせる事ができる。また、間接的分
岐(CDB4の内容がIARI<5にロードされる)が
望塘れるならば、分岐命令が実行されている間に転送動
作がCDBJ上に正しい分岐先アドレスを置くようにす
る事が必要である。複合命令(STC及びLXCN)及
び計算(C)命令は、分岐が実行されている間にALU
2及びCDB4の両者を付勢する事ができる。(計算命
令は実行時にCMUXバス6の内容をCDBJ上に出力
させる。) バイト・ロード/挿入命令(LIBY)バイトのロード
/挿入命令は、プロセッサがある種のバイト操作動作を
行なえるようにするために設計された。特に、LIBY
は、CDB4の上位バイト又は下位バイトを8つのスタ
ック1のレジスタの任意のものの上位バイト又は下位バ
イト位置にロードする事を可能にする。宛先のスタック
・レジスタの影響を受けないバイトは、その過程でゼロ
にされても又不変のままでもよい。
LIBYのフォーマットは、第3図に示すように、(4
ビツトのOPコードに加えて)2ビツトのIXフィール
ド、2ビツトの宛先バイト選択(DBS)フィールド、
宛先レジスタを指定するための3ビツトのアドレス・フ
ィールド、及びゼロ/挿入選択(ZIS )フラグ・ビ
ットを含んでいる。またLIBY命令には、12ビツト
のオペランド・フィールドも存在する。DBS及びZI
Sビットによって定義される動作は、第3図に要約され
ている。
ビツトのOPコードに加えて)2ビツトのIXフィール
ド、2ビツトの宛先バイト選択(DBS)フィールド、
宛先レジスタを指定するための3ビツトのアドレス・フ
ィールド、及びゼロ/挿入選択(ZIS )フラグ・ビ
ットを含んでいる。またLIBY命令には、12ビツト
のオペランド・フィールドも存在する。DBS及びZI
Sビットによって定義される動作は、第3図に要約され
ている。
LrBYのデコード段階(第2サイクル)の間に起きる
動作は、アドレスの形成がいくらか違っている点以外は
通常のロード命令と同じである。
動作は、アドレスの形成がいくらか違っている点以外は
通常のロード命令と同じである。
LIBYの場合、12ビツトのオペランド・ビット(表
3に示すように、上位ビットが拡張された4つの場所を
有する)が、IXフィールドによって指定されたインデ
ックス値に加算される。この加算結果は、デコード段階
の終了時にCABR5にロードされ、実行サイクル中に
アドレスとして使われる。実際は、CABR5の上位1
5ビツトだけがRAM又はIloのアドレスとして使わ
れ、下位ビットはCDB4のどのバイトが宛先レジスタ
にゲートされるかを決定する。
3に示すように、上位ビットが拡張された4つの場所を
有する)が、IXフィールドによって指定されたインデ
ックス値に加算される。この加算結果は、デコード段階
の終了時にCABR5にロードされ、実行サイクル中に
アドレスとして使われる。実際は、CABR5の上位1
5ビツトだけがRAM又はIloのアドレスとして使わ
れ、下位ビットはCDB4のどのバイトが宛先レジスタ
にゲートされるかを決定する。
LIBY命令に関して起きる実行動作は次の通りである
。
。
1、 CABR5の内容が共通アドレス・バス23(
CAB)にゲートされ、所望のRAM24又は■10デ
ータ全アドレスするために使われる。アクセスされたデ
ータは共通データ・バス4(CDB)上に置かれる。
CAB)にゲートされ、所望のRAM24又は■10デ
ータ全アドレスするために使われる。アクセスされたデ
ータは共通データ・バス4(CDB)上に置かれる。
2、 CABR5の下位ビットは、3ビツトの宛先ア
ドレス・フィールドによって指定されるレジスタ1の入
力にゲートされるCDB4の1つのバイトを決定する。
ドレス・フィールドによって指定されるレジスタ1の入
力にゲートされるCDB4の1つのバイトを決定する。
同時にこのレジスタの現在の内容も、rAJスタック1
の出力ポートを経由して選択され、ALU2ヘゲートさ
れる。ALU2は、命令中のZISフラグ(ビット11
)の状態に依存して、rAJ入力を出力に与えるか又は
全部ゼロの出力を与える。
の出力ポートを経由して選択され、ALU2ヘゲートさ
れる。ALU2は、命令中のZISフラグ(ビット11
)の状態に依存して、rAJ入力を出力に与えるか又は
全部ゼロの出力を与える。
!1.ALU2の出力の1バイト、CDB4から取り出
されなかったもの、はCDB4からのバイトとして同じ
宛先スタック・レジスタの入力にゲートされる。従って
、宛先スタック・レジスタが実行サイクルの終了時にク
ロックされる時、16ピツト、CDB4からの半分及び
ALU2の出力からの半分がそれにロードされる。
されなかったもの、はCDB4からのバイトとして同じ
宛先スタック・レジスタの入力にゲートされる。従って
、宛先スタック・レジスタが実行サイクルの終了時にク
ロックされる時、16ピツト、CDB4からの半分及び
ALU2の出力からの半分がそれにロードされる。
以上の動作を要約すると、下記の通りである。
デコード:
1)(IDR)デコード→EXR
2)(オペ2ンド+ゼo OR(RO> OR<R4〉
)→CABR(→CAB) 実行: 1)(RAM(CABR)>→CDB 2)<CDB(S)>→R(ABC,(MN))5)(
R(ABC))又は000・・・・0→ALU「A」入
力 (注)zrsビット(p)はALU入力の選択を決定す
る。
)→CABR(→CAB) 実行: 1)(RAM(CABR)>→CDB 2)<CDB(S)>→R(ABC,(MN))5)(
R(ABC))又は000・・・・0→ALU「A」入
力 (注)zrsビット(p)はALU入力の選択を決定す
る。
4)ALU出力→R(ABC,1(MN))無条件長分
岐命令(BLU) 無条件長分岐命令は、65556個の命令の、本来のア
ドレシング範囲内の任意の命令に即座に分岐する手段を
プロセッサに提供する。このために、第5図に示すフォ
ーマットは、16ピツトのオペランドを含んでいる。B
LU命令の型は無条件分岐だけに関するものである。
岐命令(BLU) 無条件長分岐命令は、65556個の命令の、本来のア
ドレシング範囲内の任意の命令に即座に分岐する手段を
プロセッサに提供する。このために、第5図に示すフォ
ーマットは、16ピツトのオペランドを含んでいる。B
LU命令の型は無条件分岐だけに関するものである。
第5図から、命令フォーマットは、2ビツトのIXフィ
ールド及び2ビツトの分岐型(BT)フィールドを、o
pコード(=oiio)及びオペランド・フィールドに
加えて含んでいる。インデックス選択(IX)オプショ
ンは弐6に、分岐型(BT)は第5図に要約されている
。
ールド及び2ビツトの分岐型(BT)フィールドを、o
pコード(=oiio)及びオペランド・フィールドに
加えて含んでいる。インデックス選択(IX)オプショ
ンは弐6に、分岐型(BT)は第5図に要約されている
。
条件付き分岐命令(BC)と同様、BLU命令は2査目
の機械サイクル中にデコードされ、そのサイクルを終了
させるクロック遷移の起きる時に実行される。
の機械サイクル中にデコードされ、そのサイクルを終了
させるクロック遷移の起きる時に実行される。
BLUのデコード動作では、表3に示すようK。
命令の16ビツトのオペランドに、選択されたインデッ
クス・レジスタの内容(又はゼロ)を加算する事によっ
て、分岐先アドレスを求めている。
クス・レジスタの内容(又はゼロ)を加算する事によっ
て、分岐先アドレスを求めている。
条件付き分岐におけるようK、第2(デコード)サイク
ルの終了時に、ADD GEN加算器14の出力又は
CDB4が選択され、IAR16にロードされる。従っ
て、長分岐命令は条件付き分岐のように、直接分岐又は
間接分岐のいずれも可能である。直接又は間接分岐の決
定は、命令のBTフィールドによって制御される。
ルの終了時に、ADD GEN加算器14の出力又は
CDB4が選択され、IAR16にロードされる。従っ
て、長分岐命令は条件付き分岐のように、直接分岐又は
間接分岐のいずれも可能である。直接又は間接分岐の決
定は、命令のBTフィールドによって制御される。
計算命令(C)
計算命令(C)は、一般的な計算のために使用され、転
送動作を伴なわない。転送動作が存在しないので、計算
命令はIXフィールド又はオペランドを必要としない。
送動作を伴なわない。転送動作が存在しないので、計算
命令はIXフィールド又はオペランドを必要としない。
他の命令でインデックス制御及びオペランドのために使
用されているビットは、代わりに実行される算術演算の
特別な側面を制御するために利用されている。この命令
の棟々の制御ビット、及びそれらが従うオプションは、
第6A図〜第6D図に要約されている。これらの「個々
の制御ビット」の用途は、下記の命令フォーマットの説
明において詳述される。
用されているビットは、代わりに実行される算術演算の
特別な側面を制御するために利用されている。この命令
の棟々の制御ビット、及びそれらが従うオプションは、
第6A図〜第6D図に要約されている。これらの「個々
の制御ビット」の用途は、下記の命令フォーマットの説
明において詳述される。
第6A図に示されているrXJ選択制御ビット(ビット
4)、RXCビットは、スタック1のレジスタR5から
の乗数3(rXJ)の基準化選択を制御するために、R
E、FUNO及びFUN1ビット(ビット22.11及
び12)と共に使用される。「X」の基準化選択の詳細
は第6A図に示されている。
4)、RXCビットは、スタック1のレジスタR5から
の乗数3(rXJ)の基準化選択を制御するために、R
E、FUNO及びFUN1ビット(ビット22.11及
び12)と共に使用される。「X」の基準化選択の詳細
は第6A図に示されている。
計算命令のビット5は、MEビット(ビット21)がオ
ンである事によって、乗算器のクロッキングが一般にエ
ネーブルされている場合でも、下位の16ビツトの積ビ
ット及び対応する部分積ビットへのクロッキングを選択
的に禁止する事を可能にする。この制御は、以前に保存
された積及び部分積全乗算器3のパイプラインに回復さ
せる時に使われる。
ンである事によって、乗算器のクロッキングが一般にエ
ネーブルされている場合でも、下位の16ビツトの積ビ
ット及び対応する部分積ビットへのクロッキングを選択
的に禁止する事を可能にする。この制御は、以前に保存
された積及び部分積全乗算器3のパイプラインに回復さ
せる時に使われる。
命令ビット6.7及び23は共にSCフイールドを構成
する。このフィールドは主に、内容がCMUXパス6に
ゲートされるレジスタをアドレスするのに役立つ。RE
ビット(ビット22)がオンの時、SCフィールドは積
レジスタ・セグメント(第6C図参照)又はMCR8又
はPSR9の内容(第6D図参照)を選択して、CMU
Xバス乙の上に出力するために使われる。
する。このフィールドは主に、内容がCMUXパス6に
ゲートされるレジスタをアドレスするのに役立つ。RE
ビット(ビット22)がオンの時、SCフィールドは積
レジスタ・セグメント(第6C図参照)又はMCR8又
はPSR9の内容(第6D図参照)を選択して、CMU
Xバス乙の上に出力するために使われる。
計算命令のビット8.9及び10はSAフィールドを構
成する。このフィールドは、内容IALUのrAJ入力
に供給すべきレジスタをアドレスするために使われる。
成する。このフィールドは、内容IALUのrAJ入力
に供給すべきレジスタをアドレスするために使われる。
またこれは、ALU2の出力がスタック1に書き戻され
るべき時にその出力の宛先を指定するのに役立つ。
るべき時にその出力の宛先を指定するのに役立つ。
5つの命令ビット11〜15は、ALU機能選択(FU
N)フィールドを構成する。このフィールドのピッ)1
1(FUNO)は、積又はレジスタの情報がALU2の
rBJ側に供給されるべきか否かを指定でき、且つ使用
されるALU2の機能の組を決定できるという点で、実
行される動作を変更する。表5A及び5Bは各々FUN
O=0及びFUNO=1の場合のALUの機能を示して
いる。(計算命令だけのために)選択された機能の特定
の組はレジスタ拡張ビットREとFUNOとの組み合わ
せによって決定される事に注意されたい。第6B図、第
6C図及び第6D図は、各々の場合にどのALU機能選
択コードが使用されるかを示している。
N)フィールドを構成する。このフィールドのピッ)1
1(FUNO)は、積又はレジスタの情報がALU2の
rBJ側に供給されるべきか否かを指定でき、且つ使用
されるALU2の機能の組を決定できるという点で、実
行される動作を変更する。表5A及び5Bは各々FUN
O=0及びFUNO=1の場合のALUの機能を示して
いる。(計算命令だけのために)選択された機能の特定
の組はレジスタ拡張ビットREとFUNOとの組み合わ
せによって決定される事に注意されたい。第6B図、第
6C図及び第6D図は、各々の場合にどのALU機能選
択コードが使用されるかを示している。
計算命令のビット16〜22は、特殊な制御オプション
の組を提供する。それらは下記の通シである。
の組を提供する。それらは下記の通シである。
ビット16、アンロック・エネーブル(UE)ビットは
、それがオン(1)の時、命令の実行中にALU2によ
って生成された条件がPSRH9のビット6及び11〜
15中に保存される事を可能にする。このビットがオフ
(0)の時、PSRT(9は、計算が実行される時に変
更される事は許されない。
、それがオン(1)の時、命令の実行中にALU2によ
って生成された条件がPSRH9のビット6及び11〜
15中に保存される事を可能にする。このビットがオフ
(0)の時、PSRT(9は、計算が実行される時に変
更される事は許されない。
ビット17、割込み禁止(II)フラグは、計算命令に
続く任意の命令に関する割込み保護を提供する。即ち、
もしIIがオン(ビット=1)であれば、次に引き続い
てアクセスされる命令は、たとえ割込みが係属中であっ
ても実行される。この機構は、保護された計算命令の直
後に置かれた分岐命令が、割込みの機会を与える事なく
、計算命令によって生成された条件に基いて実行される
事を可能にする。
続く任意の命令に関する割込み保護を提供する。即ち、
もしIIがオン(ビット=1)であれば、次に引き続い
てアクセスされる命令は、たとえ割込みが係属中であっ
ても実行される。この機構は、保護された計算命令の直
後に置かれた分岐命令が、割込みの機会を与える事なく
、計算命令によって生成された条件に基いて実行される
事を可能にする。
スタック禁止(SI)フラグ(ビット18)は、計算命
令によって生成されたALUの結果がスタック1に書き
戻される事を禁止する事を可能にする。書き戻しはビッ
トがオン(1)の時に禁止される。
令によって生成されたALUの結果がスタック1に書き
戻される事を禁止する事を可能にする。書き戻しはビッ
トがオン(1)の時に禁止される。
ビット19、「A」禁止(AI)フラグは、ALUのr
AJ入力を全てゼロにするために使用できる。表5A及
び5Bが特にA[=O([AJは禁止されていない)の
場合の動作を示している事に注意されたい。AI=1の
時、表5A及び5B中の項R8Aは0で置きかえなけれ
ばならない。
AJ入力を全てゼロにするために使用できる。表5A及
び5Bが特にA[=O([AJは禁止されていない)の
場合の動作を示している事に注意されたい。AI=1の
時、表5A及び5B中の項R8Aは0で置きかえなけれ
ばならない。
ALUのキャリー人力の選択は、表5A及び5Bに示す
ようにFUNフィールドによって示される。しかしなが
ら、計算命令において、キヤI7−人カニネーブル(C
IE)フラグ(ビット20)が、選択されたキャリー人
力を禁止する手段を提供する。もしエネーブルされてい
なければ(CIE=0)、ALUへの実際のキャリー人
力はゼロになる。衣5A及び5BはCIE=1の時に実
行されるALU動作を示している事に注意されたい。
ようにFUNフィールドによって示される。しかしなが
ら、計算命令において、キヤI7−人カニネーブル(C
IE)フラグ(ビット20)が、選択されたキャリー人
力を禁止する手段を提供する。もしエネーブルされてい
なければ(CIE=0)、ALUへの実際のキャリー人
力はゼロになる。衣5A及び5BはCIE=1の時に実
行されるALU動作を示している事に注意されたい。
乗算器3のパイプラインは、計算命令が実行される時、
乗算器エネーブル(ME)フラグ(ビット21)を1に
セットする事によって、それがエネーブルされている時
にのみサイクルする。種々のALtJ機能制御コードは
、計算を実行している時に乗算器のパイプラインを移動
させるが否かを決定しない事に注意されたい。MEビッ
トのみがその制御を提供している。
乗算器エネーブル(ME)フラグ(ビット21)を1に
セットする事によって、それがエネーブルされている時
にのみサイクルする。種々のALtJ機能制御コードは
、計算を実行している時に乗算器のパイプラインを移動
させるが否かを決定しない事に注意されたい。MEビッ
トのみがその制御を提供している。
レジスタ拡張フラグ(ビット22)は、ALUのrBJ
側への入力として選択できるソースの数を拡張するため
に使用される。RE及びFUNOは共に、ALUのrB
J入力を決定し、(表5A、5Bに示すように)ALU
の機能制御を選択する。
側への入力として選択できるソースの数を拡張するため
に使用される。RE及びFUNOは共に、ALUのrB
J入力を決定し、(表5A、5Bに示すように)ALU
の機能制御を選択する。
付加的な注意事項:
1、 CMtTXバス6の内容は、計算命令の実行中
にCDB4上に置かれる。従って、間接分岐命令が計算
命令の直後に置かれるならば、それは間接分岐先アドレ
スとして使用できる。
にCDB4上に置かれる。従って、間接分岐命令が計算
命令の直後に置かれるならば、それは間接分岐先アドレ
スとして使用できる。
2、計算命令はオペランド・フィールドを持たないので
、デコード段階の終りにCABR5に置かれる数値は無
意味である。
、デコード段階の終りにCABR5に置かれる数値は無
意味である。
形式IXXXのOPコードを有する全ての命令は、フォ
ーマットがいくらか類似している(第7図参照)。これ
らは、データ転送と計算の両方の動作を行なうので、複
合命令又は並行命令と呼ばれている。形式1000の1
つのOPコードは、記憶及び計算(STC)命令を表わ
している。残りの7つのOPコード(下記に示す)の命
令はロード、被乗数選択及び計算(LXC)命令である
。
ーマットがいくらか類似している(第7図参照)。これ
らは、データ転送と計算の両方の動作を行なうので、複
合命令又は並行命令と呼ばれている。形式1000の1
つのOPコードは、記憶及び計算(STC)命令を表わ
している。残りの7つのOPコード(下記に示す)の命
令はロード、被乗数選択及び計算(LXC)命令である
。
第7A図に示すように、STC命令は、8つのスタック
・レジスタのうちどれがアクセスされ、その内容がRA
M24に移動され得るかを指定するためのSCフィール
ド(ビット4.6及び7)を含んでいる。通常は■XO
である、命令ビット04はSCOとして使用される。従
ってインデックス制御オプションは、IXIビット(命
令ビット05)のみによって選択される。2つのインデ
ックス制御オプションが、表3に示すように許されてい
る。STC命令の残りのビットは、5ビツトのSAフィ
ールド、5ピツトのFUNフィールド及び8ビツトのオ
ペランドを構成する。SA及びFUNフィールドは以前
に計算(C)命令に関して定義したのと同一の性質を有
している。
・レジスタのうちどれがアクセスされ、その内容がRA
M24に移動され得るかを指定するためのSCフィール
ド(ビット4.6及び7)を含んでいる。通常は■XO
である、命令ビット04はSCOとして使用される。従
ってインデックス制御オプションは、IXIビット(命
令ビット05)のみによって選択される。2つのインデ
ックス制御オプションが、表3に示すように許されてい
る。STC命令の残りのビットは、5ビツトのSAフィ
ールド、5ピツトのFUNフィールド及び8ビツトのオ
ペランドを構成する。SA及びFUNフィールドは以前
に計算(C)命令に関して定義したのと同一の性質を有
している。
他の命令型の多くがそうであるように、STC命令に関
するデコード動作は、アドレスの形成を含んでいる。S
TC命令において、これは命令から得られた8ビツトの
オペランド・フィールドを、表3に示すような方法で、
選択されたインデックス・レジスタ(RO又はR4)の
内容に加算するステップを含んでいる。この加算を行な
う時、下位のオペランド・ビットが上位オペランド・ビ
ットの直前の位置に置換され、従ってそれは(実行中に
)アドレスとして使われる結果の上位15ピツトの形成
に関与する。デコード・、サイクルの終りのクロック遷
移の時に、デコードされた命令はEXR22にロードさ
れ、形成されたアドレスはCABR5にロードされる。
するデコード動作は、アドレスの形成を含んでいる。S
TC命令において、これは命令から得られた8ビツトの
オペランド・フィールドを、表3に示すような方法で、
選択されたインデックス・レジスタ(RO又はR4)の
内容に加算するステップを含んでいる。この加算を行な
う時、下位のオペランド・ビットが上位オペランド・ビ
ットの直前の位置に置換され、従ってそれは(実行中に
)アドレスとして使われる結果の上位15ピツトの形成
に関与する。デコード・、サイクルの終りのクロック遷
移の時に、デコードされた命令はEXR22にロードさ
れ、形成されたアドレスはCABR5にロードされる。
上記のように、STCは転送と計算の両方の実行動作を
有する。転送動作は下記のように行なわれる。
有する。転送動作は下記のように行なわれる。
1、 実行サイクル中、SC(命令ビット1.2及び6
)によって指定されたスタック・レジスタの内容がCM
UXパス6及びCDB4にゲートされ、CABR5中の
アドレスもCAB23上に置かれる。
)によって指定されたスタック・レジスタの内容がCM
UXパス6及びCDB4にゲートされ、CABR5中の
アドレスもCAB23上に置かれる。
2、実行サイクルの終りのクロック遷移において、CD
B4の内容は、CAB23(CABR5の内容)によっ
て指定されたRAM24又はIloのアドレスに書込ま
れる。
B4の内容は、CAB23(CABR5の内容)によっ
て指定されたRAM24又はIloのアドレスに書込ま
れる。
同時に、下記の計算動作が行なわれる。
1、実行サイクル中、FUNO(ビット11)、即ちF
UNフィールド(命令のビット11〜15)の上位ビッ
トは、CMUXバス6の内容又は積セグメントのどちら
がALUのrBJ入力にゲートされるかを決定する。同
時に命令のSAフィールドによって指定されるレジスタ
が、ALUのrAJ入力にゲートされる。
UNフィールド(命令のビット11〜15)の上位ビッ
トは、CMUXバス6の内容又は積セグメントのどちら
がALUのrBJ入力にゲートされるかを決定する。同
時に命令のSAフィールドによって指定されるレジスタ
が、ALUのrAJ入力にゲートされる。
2、次に、やはシ実行すイクル中に、ALUがFUNフ
ィールドの下位4ピツトによって決定されるように結果
を形成する(表5A及び5B参照)。
ィールドの下位4ピツトによって決定されるように結果
を形成する(表5A及び5B参照)。
3、 実行サイクルの終シのクロック遷移の時に、AL
Uの結果が、FUNフィールドによって指定される通り
に配置される。即ち、それはSAフィールドによって指
定されるスタック・レジスタ中に書込まれるか又はされ
ないかである。
Uの結果が、FUNフィールドによって指定される通り
に配置される。即ち、それはSAフィールドによって指
定されるスタック・レジスタ中に書込まれるか又はされ
ないかである。
以上の動作を要約すると下記の通りである。
デコード動作:
1)(IDR)デコード→EXR
2)(オペランド+〈RO〉又は(R4>)→CABR
(→CAB) 実行動作: 1ン (R(DEF)>→CMUX−4CDB、(及び
被乗数:MCRの制御の下で) 2)(CDB)→RAM(CABR) 3)<CMUX>(FUNO=0の時)又はくRP>(
FUNO=1の時)→BMUX4)(BMUX)*(R
(ABC)→R(ABC) STCに関する付加的なコメント: 1、計算命令と違って、複合命令は乗算器3のパイプラ
インのサイクル動作を制御するための特別なビットを含
まない。STC命令の場合、乗算器のパイプラインのサ
イクル動作は、MCRH8のビット09(第9A図参照
)、MSFピットによって制御される。MSFビットが
オフの時、STC命令が実行されても乗算器パイプライ
ンは決して動かない。MSFがオンの時、パイプライン
はSTC命令の実行時に常に動く。
(→CAB) 実行動作: 1ン (R(DEF)>→CMUX−4CDB、(及び
被乗数:MCRの制御の下で) 2)(CDB)→RAM(CABR) 3)<CMUX>(FUNO=0の時)又はくRP>(
FUNO=1の時)→BMUX4)(BMUX)*(R
(ABC)→R(ABC) STCに関する付加的なコメント: 1、計算命令と違って、複合命令は乗算器3のパイプラ
インのサイクル動作を制御するための特別なビットを含
まない。STC命令の場合、乗算器のパイプラインのサ
イクル動作は、MCRH8のビット09(第9A図参照
)、MSFピットによって制御される。MSFビットが
オフの時、STC命令が実行されても乗算器パイプライ
ンは決して動かない。MSFがオンの時、パイプライン
はSTC命令の実行時に常に動く。
2、CMUXバス6上に置かれた、選択されたレジスタ
内容は、乗算器パイプラインがクロックされれば、乗算
器3に関する被乗数入力として扱われる。
内容は、乗算器パイプラインがクロックされれば、乗算
器3に関する被乗数入力として扱われる。
ロード及び計算命令(LXC)
形式IXXX(但しXXXは000ではない)のOPコ
ードを有する全ての命令は、ロード、被乗数選択及び計
算命令(LXCn、但しn=1〜7)である。STC命
令同様に、これらも転送(RAM24からスタック・レ
ジスタへ)動作及び計算動作の両者を起こさせるので、
複合命令である。(第7B図参照) LXC命令の下位2バイトは、上記STC命令と同一の
SAフィールド、FUNフィールド及びオペランドを含
んでいる。上位バイトは4ビツトのOPコード・フィー
ルド、2ビツトのIXフィールド及び2ビツトのSDフ
ィールドを含む。LXCのSDフィールド(ビット6及
び7)は、RAM24からCDB4e経由して来るデー
タを受は取るための宛先レジスタを指定するのに必要な
アドレスの一部を形成する。上位SDピット、即ち左又
は右の4レジスタ群を選択するビットは、単にSAフィ
ールドの上位ビットの反転である。
ードを有する全ての命令は、ロード、被乗数選択及び計
算命令(LXCn、但しn=1〜7)である。STC命
令同様に、これらも転送(RAM24からスタック・レ
ジスタへ)動作及び計算動作の両者を起こさせるので、
複合命令である。(第7B図参照) LXC命令の下位2バイトは、上記STC命令と同一の
SAフィールド、FUNフィールド及びオペランドを含
んでいる。上位バイトは4ビツトのOPコード・フィー
ルド、2ビツトのIXフィールド及び2ビツトのSDフ
ィールドを含む。LXCのSDフィールド(ビット6及
び7)は、RAM24からCDB4e経由して来るデー
タを受は取るための宛先レジスタを指定するのに必要な
アドレスの一部を形成する。上位SDピット、即ち左又
は右の4レジスタ群を選択するビットは、単にSAフィ
ールドの上位ビットの反転である。
SAフィールドはALUによって形成された結果に関す
る宛先レジスタを指定するので、RAM24から(CD
Bを経由して)スタック・レジスタに行くデータは、A
LUの結果によって使用されていないスタックの入力ボ
ートに入らなければならない。言い換えると、ALUの
結果はSAKよって指定されたスタック入力ボートを使
用し、一方CDB4からスタック1へ行くデータは、常
に不使用中の入力ボートに指向される。
る宛先レジスタを指定するので、RAM24から(CD
Bを経由して)スタック・レジスタに行くデータは、A
LUの結果によって使用されていないスタックの入力ボ
ートに入らなければならない。言い換えると、ALUの
結果はSAKよって指定されたスタック入力ボートを使
用し、一方CDB4からスタック1へ行くデータは、常
に不使用中の入力ボートに指向される。
LXC命令のビット1.2及び6は共に、実行時に内容
がアクセスされCMUXバス乙にゲートされるスタック
・レジスタのアドレスを構成している。これら3ピツト
は実際はOPコード・フィールドの一部分であり、組み
合せ000(これはSTC命令に関するものである)を
含み得ない。
がアクセスされCMUXバス乙にゲートされるスタック
・レジスタのアドレスを構成している。これら3ピツト
は実際はOPコード・フィールドの一部分であり、組み
合せ000(これはSTC命令に関するものである)を
含み得ない。
従って、スタック・レジスタ1.2.3.4.5.6又
は7だけが、LXC命令でスタックのrCJ出力ボート
を経由してアクセスできる。表2Bから明らかなように
、7つのLXC命令の各々は、1つの特別なレジスタが
CMUXパス6に対して選択される事を前提としている
。その他の点では7つの命令は全て同一である。
は7だけが、LXC命令でスタックのrCJ出力ボート
を経由してアクセスできる。表2Bから明らかなように
、7つのLXC命令の各々は、1つの特別なレジスタが
CMUXパス6に対して選択される事を前提としている
。その他の点では7つの命令は全て同一である。
CMUXバス6上に置かれた、選択されたレジスタの内
容は、もしもFUNフィールドによって乗算が指定され
ていれば(F’UNO=I L乗算器5に関する被乗数
入力としても扱われる。STC命令と同様に、LXC命
令は乗算器パイプラインのサイクル動作を制御するため
の特別のビットを持たない。その代シに、乗算器パイプ
ラインの制御は、FUNフィールドの上位ピッ) (F
UNO)によって指定されるALU制御機能によって与
えられる。従って、形式1xxxxのALU機能制御コ
ードのみがLXC命令中に乗算器パイプラインを移動さ
せる。
容は、もしもFUNフィールドによって乗算が指定され
ていれば(F’UNO=I L乗算器5に関する被乗数
入力としても扱われる。STC命令と同様に、LXC命
令は乗算器パイプラインのサイクル動作を制御するため
の特別のビットを持たない。その代シに、乗算器パイプ
ラインの制御は、FUNフィールドの上位ピッ) (F
UNO)によって指定されるALU制御機能によって与
えられる。従って、形式1xxxxのALU機能制御コ
ードのみがLXC命令中に乗算器パイプラインを移動さ
せる。
LXC命令に関するデコード動作は、可能なインデック
ス制御オプションがよシ広範である事を除けば、STC
と同一である。表3に示すように、IXフィールドの組
み合わせOO及び01は即値ロード実行動作を指定し、
一方組み合わせ10及び11はロード実行動作を指定す
る。即値データを形成する工程は、アドレスを形成する
工程とは異なるという点で、デコード時に相違が見られ
る。
ス制御オプションがよシ広範である事を除けば、STC
と同一である。表3に示すように、IXフィールドの組
み合わせOO及び01は即値ロード実行動作を指定し、
一方組み合わせ10及び11はロード実行動作を指定す
る。即値データを形成する工程は、アドレスを形成する
工程とは異なるという点で、デコード時に相違が見られ
る。
これらの工程の各々は表3に定義されてhる。■Xフィ
ールド値がどのようなものであっても、インデックス加
算の結果はデコード・サイクルの終りのクロック遷移の
時にCABR5に置かれ、同時にデコードされた命令は
EXR22にロードされる。
ールド値がどのようなものであっても、インデックス加
算の結果はデコード・サイクルの終りのクロック遷移の
時にCABR5に置かれ、同時にデコードされた命令は
EXR22にロードされる。
STC命令と同様に、LXC命令の実行サイクル中には
転送動作及び計算動作が起きる。2つの可能な転送動作
のうち1つがLXCの実行時に起き得る。
転送動作及び計算動作が起きる。2つの可能な転送動作
のうち1つがLXCの実行時に起き得る。
1、 もし転送か即値ロード動作であれば、実行サイク
ル中に、CABR5の内容は共通データ・バス4(CA
B)及び宛先レジスタ(SD及びSAOによって定義さ
れる)にゲートされる。これらのデータは、実行サイク
ルの終シのクロック遷移の時に宛先レジスタにロードさ
れる。
ル中に、CABR5の内容は共通データ・バス4(CA
B)及び宛先レジスタ(SD及びSAOによって定義さ
れる)にゲートされる。これらのデータは、実行サイク
ルの終シのクロック遷移の時に宛先レジスタにロードさ
れる。
2、転送がロード動作であれば、CABR5の内容が共
通アドレス・バス23(CAB)にゲートされ、RAM
24又はI/Qによってアドレスとして使われる。その
アドレスに存在するデータは、次にCDBJ上に置かれ
、指定された宛先レジスタにゲートされる。再び、実行
サイクルの終りのクロック遷移がデータを宛先1/ジス
タにロードする。
通アドレス・バス23(CAB)にゲートされ、RAM
24又はI/Qによってアドレスとして使われる。その
アドレスに存在するデータは、次にCDBJ上に置かれ
、指定された宛先レジスタにゲートされる。再び、実行
サイクルの終りのクロック遷移がデータを宛先1/ジス
タにロードする。
LXC命令に関する計算動作は、一般に上記のSTCに
関して定義したものと同一である。1つの相違点は、乗
算器パイプラインのクロック動作がMCRH8ビットで
はなく、上位FUNピット(FUNO)によって制御さ
れる事である。
関して定義したものと同一である。1つの相違点は、乗
算器パイプラインのクロック動作がMCRH8ビットで
はなく、上位FUNピット(FUNO)によって制御さ
れる事である。
以上の動作を要約すると次の通シである。
デコード動作:
1)(IDR)デコード→EXR
2)(オペランド十〇又は(RO)又は<R4>)→C
ABR(→CDB) 実行動作: 1)(RAM(CABR)) →CDB →R(1A、
HD):lX0=1の時 又は(CABR)→CDB−R(IA。
ABR(→CDB) 実行動作: 1)(RAM(CABR)) →CDB →R(1A、
HD):lX0=1の時 又は(CABR)→CDB−R(IA。
HD): lX0=0の時
2)<R(DEF)>→CMUX(及び被乗数;FUN
O=1の時) 3)(CMUX)(FUNO=0の時)又はくRP)(
F’UNO= 1の時)→BMUX4)(BMUX)*
(R(ABC)>→R(ABC) 複合命令に関する一般的なコメントが必要である。即ち
、複合命令STC及びLXCは、計算命令が有している
各制御ビットを全て有しているわけではない。従って、
複合命令に関して多くの可能な制御オプションの全てを
指定するために、個々の制御の状態はALU2の機能制
御コード、FUNコードによって暗黙に指示される。言
いかえると、種々の個々の制御のデフオールド値が、複
合命令中の各々の異なったFUNコードの組み合わせ毎
に、ある値に設定されている。各FUNコード毎の各個
の制御のデフオールドは、表5A及び表5Bに定義され
ている。表を読む時、特定のFUNコードに関して定義
される動作が正しく解釈できるように、どの型の命令が
考察されているかを正しく意識する必要がめる。
O=1の時) 3)(CMUX)(FUNO=0の時)又はくRP)(
F’UNO= 1の時)→BMUX4)(BMUX)*
(R(ABC)>→R(ABC) 複合命令に関する一般的なコメントが必要である。即ち
、複合命令STC及びLXCは、計算命令が有している
各制御ビットを全て有しているわけではない。従って、
複合命令に関して多くの可能な制御オプションの全てを
指定するために、個々の制御の状態はALU2の機能制
御コード、FUNコードによって暗黙に指示される。言
いかえると、種々の個々の制御のデフオールド値が、複
合命令中の各々の異なったFUNコードの組み合わせ毎
に、ある値に設定されている。各FUNコード毎の各個
の制御のデフオールドは、表5A及び表5Bに定義され
ている。表を読む時、特定のFUNコードに関して定義
される動作が正しく解釈できるように、どの型の命令が
考察されているかを正しく意識する必要がめる。
E−5,付加的なプロセッサ機構
前述の2つの章では、パイプライン動作及び命令セラ)
t−含めて、プロセッサの基本部分について説明した。
t−含めて、プロセッサの基本部分について説明した。
この章は、以前説明しなかった機械の特殊な機構を取り
扱い、さらに特殊なインターフェースについて説明する
。
扱い、さらに特殊なインターフェースについて説明する
。
線型拡張アドレシング機構(LEAF )はオプション
の機構であり、MCRL8のビット0、LEAビット(
第8B図参照)によって起動される。
の機構であり、MCRL8のビット0、LEAビット(
第8B図参照)によって起動される。
これは、プロセッサによる命令記憶装置及びデータ記憶
装置の両者へのアドレス能力を、付加的に8ビツト拡張
する事を可能にする。この拡張を行なう論理回路は、プ
ロセッサによって制御される外部のLEAFアダプタ中
に殆んど含まれている。
装置の両者へのアドレス能力を、付加的に8ビツト拡張
する事を可能にする。この拡張を行なう論理回路は、プ
ロセッサによって制御される外部のLEAFアダプタ中
に殆んど含まれている。
プロセッサとLEAFアダプタ27との間のインターフ
エースは第12図に示されている。
エースは第12図に示されている。
拡張されたアドレス動作は、LEAFアダプタと一緒に
プロセッサによって次のように行なわれる。
プロセッサによって次のように行なわれる。
LEAFアダプタは、プロセッサの4個のアドレシング
関係レジスタIAR1ILR,RO及びR4の、各々8
ビツトまでの拡張部を含んでいる。
関係レジスタIAR1ILR,RO及びR4の、各々8
ビツトまでの拡張部を含んでいる。
プロセッサのADD GEN加算器14及び+1加算
器25からのキャリー(LEAFインターフェース信号
は各々GY及びLEAY)は、データ及び命令のアドレ
ス計算が外部レジスタにまで拡張できるように、アダプ
タに供給される。
器25からのキャリー(LEAFインターフェース信号
は各々GY及びLEAY)は、データ及び命令のアドレ
ス計算が外部レジスタにまで拡張できるように、アダプ
タに供給される。
命令型、使用されるアドレシング・レジスタ(なし、R
O1R4、ILR)、分岐型及び変位の信号を含む、取
り出された命令の上位13ピツトから直接LEAFアダ
プタ27によってデコードされた情報は、LEAFアダ
プタがプロセッサと同期して8ビツトのデータ及び命令
のアドレスの拡張部の完全な計算2行なう事を可能にす
るために、アドレスのキャリーLEAY及びGYと共に
使用される。
O1R4、ILR)、分岐型及び変位の信号を含む、取
り出された命令の上位13ピツトから直接LEAFアダ
プタ27によってデコードされた情報は、LEAFアダ
プタがプロセッサと同期して8ビツトのデータ及び命令
のアドレスの拡張部の完全な計算2行なう事を可能にす
るために、アドレスのキャリーLEAY及びGYと共に
使用される。
LEAFの動作のための流れの制御は、下記のインター
フェース信号によってLEAFアダプタ27に供給され
る(第13図参照)。
フェース信号によってLEAFアダプタ27に供給され
る(第13図参照)。
1、ILREはILRホールド・ラッチの状態を定義す
る。
る。
2、FBACは前景−背景ラッチの状態を与える。
3.6つのIRWC(インターフェース読取/書込制御
)ビットは、現在の命令が順次的なものか又は分岐が起
きたかを示すためにデコードされる。
)ビットは、現在の命令が順次的なものか又は分岐が起
きたかを示すためにデコードされる。
I RWC制御ビットはLEAFモードでは、少し違っ
たようにデコードされる(表1参照)。
たようにデコードされる(表1参照)。
LEAFの動作
LEAFモード(MCRL8のビット0がオ/)の時、
ロード(L)及び長分岐(BLU)のような命令はLE
AF’アダプタ27中の拡張レジスタがプロセッサから
ロードされる事を必要とする。拡張レジスタをロードす
るために使われる方式は、ロード命令とそれに続く特別
な条件の間接分岐命令より成る2命令系列の実行を必要
とする。上記系列を実行すると、拡張されたワードの3
番目のバイトが、間接分岐命令の3番目の段階の間に共
通アドレス・バス23を経由して、選択されたアダプタ
・レジスタに伝達される。この系列の一般的な形式は、
下記の通シである。
ロード(L)及び長分岐(BLU)のような命令はLE
AF’アダプタ27中の拡張レジスタがプロセッサから
ロードされる事を必要とする。拡張レジスタをロードす
るために使われる方式は、ロード命令とそれに続く特別
な条件の間接分岐命令より成る2命令系列の実行を必要
とする。上記系列を実行すると、拡張されたワードの3
番目のバイトが、間接分岐命令の3番目の段階の間に共
通アドレス・バス23を経由して、選択されたアダプタ
・レジスタに伝達される。この系列の一般的な形式は、
下記の通シである。
ロード
条件付き間接分岐
2つの型の拡張アドレス命令に関するプロセッサとアダ
プタとの間の信号のフローが第13図に示されている。
プタとの間の信号のフローが第13図に示されている。
両方の場合、ロード命令が最初にアドレスの下位2バイ
ト1cD84に移動させる。
ト1cD84に移動させる。
次に後続する特別な条件付き分岐命令(opコード=o
iio、BT=01 )が2つの動作を引き起こす。
iio、BT=01 )が2つの動作を引き起こす。
1、 最初に、先行するロード命令からのALUのデフ
ォルト条件に一致させるように、分岐条件選択(BC3
)コードの選択に基いて分岐が起きたシ又起きなかった
シする。
ォルト条件に一致させるように、分岐条件選択(BC3
)コードの選択に基いて分岐が起きたシ又起きなかった
シする。
2、拡張アドレスの3番目の(上位)バイトが、共通ア
ドレス・パス(CAB ) 25t−経由して、LEA
Fアダプタ27に供給される。
ドレス・パス(CAB ) 25t−経由して、LEA
Fアダプタ27に供給される。
第13図に示すように、分岐が起きなかった場合のロー
ド/BCの系列は、外部インデックス・レジスタをロー
ドするために使用される。ロード/BCI(記憶禁止の
条件付き分岐:OPコード=oioo、BT=11)系
列が実行されると、BCの動作に加えて、スタック・レ
ジスタの実際のロードが禁止される。ロード/BCI系
列は、拡張アドレシングを伴なった直接分岐又はGOT
Oを実現するために使用される。ここでBCSコードは
分岐が起きるように選択される。
ド/BCの系列は、外部インデックス・レジスタをロー
ドするために使用される。ロード/BCI(記憶禁止の
条件付き分岐:OPコード=oioo、BT=11)系
列が実行されると、BCの動作に加えて、スタック・レ
ジスタの実際のロードが禁止される。ロード/BCI系
列は、拡張アドレシングを伴なった直接分岐又はGOT
Oを実現するために使用される。ここでBCSコードは
分岐が起きるように選択される。
もし実行される2命令系列がロード/BALI(分岐及
びリンク間接;OPコード=0110、BT=11 )
であれば、BCIの動作に加えて、分岐に関する戻りア
ドレスを保存するためにILR15がロックされる。B
ALIに続く命令に関しては、NOPが強制的に実行さ
れる。ロード/B A、 L I系列は、拡張アドレシ
ングを用いたアプリケーションに対する分岐及びリンク
の可能性を提供するために使われる。
びリンク間接;OPコード=0110、BT=11 )
であれば、BCIの動作に加えて、分岐に関する戻りア
ドレスを保存するためにILR15がロックされる。B
ALIに続く命令に関しては、NOPが強制的に実行さ
れる。ロード/B A、 L I系列は、拡張アドレシ
ングを用いたアプリケーションに対する分岐及びリンク
の可能性を提供するために使われる。
一般に、分岐の間にCAB23を使用する事はLEAF
モードの動作に特有である。これはサイクル・スチール
(DMA)のメモリ・アクセスが拡張アドレス動作と一
緒には使用し得ない事を意味している。
モードの動作に特有である。これはサイクル・スチール
(DMA)のメモリ・アクセスが拡張アドレス動作と一
緒には使用し得ない事を意味している。
間接プログラム・アクセス(I PA)機構は、プロセ
ッサがそれ自身の命令記憶装置を読取り、且つ書込む事
を可能にする。従って、(常駐の制御プログラムを用い
て)■10装置を経由して受は取ったアプリケーション
又は診断プログラムを命令記憶装置に書込む事が可能に
なる。この型の動作を可能にする制御プログラムは、命
令記憶装置20の中にあるか又はRO8の形で含まれて
いる。そのような常駐のI10制御プログラムは、ロー
カル又はリモートのホストと共に動作するのに必要なプ
ロトコル及びエラー検査を全て提供するように設計でき
る。第14図はIPAに関するフロー経路のブロック図
である。
ッサがそれ自身の命令記憶装置を読取り、且つ書込む事
を可能にする。従って、(常駐の制御プログラムを用い
て)■10装置を経由して受は取ったアプリケーション
又は診断プログラムを命令記憶装置に書込む事が可能に
なる。この型の動作を可能にする制御プログラムは、命
令記憶装置20の中にあるか又はRO8の形で含まれて
いる。そのような常駐のI10制御プログラムは、ロー
カル又はリモートのホストと共に動作するのに必要なプ
ロトコル及びエラー検査を全て提供するように設計でき
る。第14図はIPAに関するフロー経路のブロック図
である。
IPA機能は、2つの特別な分岐命令の変種BIPAR
(分岐、ZPA読取)及びBIPAW(分岐、IPA書
込)を用いて、プロセッサにおいて実現される。B I
PAR命令は、命令記憶装置20から命令金プロセッ
サの内部レジスタ(R5及びMCRH8)に読取り、そ
こでデータとして操作する事を可能にする。BIPAW
命令は、プロセッサ内の1対のスタック・レジスタ(R
O又はR4及びR5)からのデータを命令として、特別
な命令記憶装置20の記憶位置に書込む事を可能にする
。
(分岐、ZPA読取)及びBIPAW(分岐、IPA書
込)を用いて、プロセッサにおいて実現される。B I
PAR命令は、命令記憶装置20から命令金プロセッ
サの内部レジスタ(R5及びMCRH8)に読取り、そ
こでデータとして操作する事を可能にする。BIPAW
命令は、プロセッサ内の1対のスタック・レジスタ(R
O又はR4及びR5)からのデータを命令として、特別
な命令記憶装置20の記憶位置に書込む事を可能にする
。
IPA読取動作
IPA読取命令B IPARは、第4B図に示される特
別な実行動作を起こさせる。BIPAR命令は、命令読
取動作を起こさせるために次のように用いられる。
別な実行動作を起こさせる。BIPAR命令は、命令読
取動作を起こさせるために次のように用いられる。
BIPARは、その実行の第3段階において、下記の2
つの特別な動作を起こさせる樵々の条件付き分岐命令(
opコード=oioo、BT=00、BCSコード=i
iii、第4B図参照)で。
つの特別な動作を起こさせる樵々の条件付き分岐命令(
opコード=oioo、BT=00、BCSコード=i
iii、第4B図参照)で。
ある。
1、 (ADDRESSへの分岐によって)ADDR
ESSから取り出された命令は、強制的にレジスタR5
−>の即値ロード命令としてデコードされる。これは、
その命令の下位2バイトを次のサイクルにR5へ移動さ
せる。
ESSから取り出された命令は、強制的にレジスタR5
−>の即値ロード命令としてデコードされる。これは、
その命令の下位2バイトを次のサイクルにR5へ移動さ
せる。
2、命令デコード・レジスタ19(IDR)とMCRI
(8との間の特別なデータ信号経路が活性化され(第1
図参照)、読取られた命令の上位バイト及びその3個の
パリティ・ビットがMCR)(80ビツト5〜15に転
送される。
(8との間の特別なデータ信号経路が活性化され(第1
図参照)、読取られた命令の上位バイト及びその3個の
パリティ・ビットがMCR)(80ビツト5〜15に転
送される。
これらの動作は、読取られた命令及びそのバヂテイt、
IDR19からMCRH8及びR5に転送させる。そこ
でそれは通常のレジスタ・データとして取り扱われる。
IDR19からMCRH8及びR5に転送させる。そこ
でそれは通常のレジスタ・データとして取り扱われる。
読取られた命令は、全ての他の命令同様にIDR19を
通過するが、デコード又は実行はされず、それは単にプ
ロセッサのデータ・レジスタ空間に移動されるだけであ
る。
通過するが、デコード又は実行はされず、それは単にプ
ロセッサのデータ・レジスタ空間に移動されるだけであ
る。
IPA書込み動作
IPA書込み機能は、BIPAW命令によって提供され
る。これは特殊な間接分岐命令(opコード=0100
、BT=01、BCSコード=1111)であって、そ
の分岐特性に加えて、その実行の第3段階にレジスタR
5の内容を、共通データ・バス4(CDB)上に出力さ
せる(あたかも分岐命令がR5記憶命令であるかのよう
に)。
る。これは特殊な間接分岐命令(opコード=0100
、BT=01、BCSコード=1111)であって、そ
の分岐特性に加えて、その実行の第3段階にレジスタR
5の内容を、共通データ・バス4(CDB)上に出力さ
せる(あたかも分岐命令がR5記憶命令であるかのよう
に)。
BIPAW命令の動作は、全て第4C図に要約されてい
る。
る。
BIPAW命令を使用するために、最初に命令ビットを
スタック・レジスタRO又はR4及びR5に記憶させる
必要がある。書込まれる命令の下位ビットはレジスタR
5の中に置かれる。上位の命令ビット及びパリティ・ビ
ットは、レジスタRO又はR4中に置かれる。BrPA
W及びBIPARを含む命令系列は、スタック1からC
AB23及びCDB4を経由して、命令記憶装置へ命令
ビットt−書込むために使われる。IPA書込み動作に
関する命令系列は次のように与えられる。
スタック・レジスタRO又はR4及びR5に記憶させる
必要がある。書込まれる命令の下位ビットはレジスタR
5の中に置かれる。上位の命令ビット及びパリティ・ビ
ットは、レジスタRO又はR4中に置かれる。BrPA
W及びBIPARを含む命令系列は、スタック1からC
AB23及びCDB4を経由して、命令記憶装置へ命令
ビットt−書込むために使われる。IPA書込み動作に
関する命令系列は次のように与えられる。
上記系列中で、LOAD命令はADDRESSの内容を
共通データ・バス4へ移動させる。ここでそれは間接分
岐BIPAWのためのアドレスを与える。BIPAWに
関するアドレス源はCDB4なので、命令実行の第6段
階において、ADDGEN加算器14は、RO又はR4
の内容(プラス変位、表6参照)を、CAB25i経由
して与えるために使用する事ができる。また、BIPA
Wはこの命令実行段階中に、R5の内容1cDB4に出
力する。従ってパリティを含めて、書込まれるべき命令
全体がプロセッサの出力に(下位2バイトはR5からC
DBJを経由して、上位バイト及びパリティはRO又は
R4からCAB23を経由して)並列に現れる。インタ
ーフェース読取/書込制御(IRWC)信号は、IPA
書込みが可能である事を外部メモリに通知する。
共通データ・バス4へ移動させる。ここでそれは間接分
岐BIPAWのためのアドレスを与える。BIPAWに
関するアドレス源はCDB4なので、命令実行の第6段
階において、ADDGEN加算器14は、RO又はR4
の内容(プラス変位、表6参照)を、CAB25i経由
して与えるために使用する事ができる。また、BIPA
Wはこの命令実行段階中に、R5の内容1cDB4に出
力する。従ってパリティを含めて、書込まれるべき命令
全体がプロセッサの出力に(下位2バイトはR5からC
DBJを経由して、上位バイト及びパリティはRO又は
R4からCAB23を経由して)並列に現れる。インタ
ーフェース読取/書込制御(IRWC)信号は、IPA
書込みが可能である事を外部メモリに通知する。
書込み系列中のB I PAR命令は、命令記憶装置2
0に書込まれる命令が、IDR19にロードされる時に
実行されるのを阻止する。命令はプロセッサに入り、I
PA読取り動作で述べたようにMCR8及びR5に書込
まれる。
0に書込まれる命令が、IDR19にロードされる時に
実行されるのを阻止する。命令はプロセッサに入り、I
PA読取り動作で述べたようにMCR8及びR5に書込
まれる。
IPA読取り及び書込み動作は、選択された拡張アドレ
シング機構(LEAF )で使用する事ができる。
シング機構(LEAF )で使用する事ができる。
診 断
プロセッサは、エラー条件の場合に、あるハードウェア
及びアプリケーションのパラメータをモニタする事を許
している。それらのパラメータは下記の通りである。
及びアプリケーションのパラメータをモニタする事を許
している。それらのパラメータは下記の通りである。
1、 アプリケーション・パ9メータ:a、ALUオー
バーフロー、AV 59乗算器オーバーフロー、MV 2、 ハードウェア・パラメータ: a、命令のパリティ、ISP (5ビツト)b。データ
記憶装置のパリティ、DSP (2ピツト) c、I10パリティ、l0P(2ビツト)上記パラメー
タのいずれも、MCRLに適当な禁止ビット(ビット6
〜7、第8B図参照)t−セットする事によってエラー
検査を行なわないようKできる。
バーフロー、AV 59乗算器オーバーフロー、MV 2、 ハードウェア・パラメータ: a、命令のパリティ、ISP (5ビツト)b。データ
記憶装置のパリティ、DSP (2ピツト) c、I10パリティ、l0P(2ビツト)上記パラメー
タのいずれも、MCRLに適当な禁止ビット(ビット6
〜7、第8B図参照)t−セットする事によってエラー
検査を行なわないようKできる。
有効な(禁止されていない)工2−検査が行なわれると
、侵犯情報がPSRH9のビット0〜4(パリティ侵犯
フラグ)及びビット13(ALUオーバーフロー・フラ
グ)に記憶される。乗算器オーバーフロー・フラグは、
積レジスタRP28に記憶されたビットから導き出され
る。いかなる侵犯もPSR9’iロックさせ、且つプロ
セッサを強制的にリセツ)(PROR)させる。
、侵犯情報がPSRH9のビット0〜4(パリティ侵犯
フラグ)及びビット13(ALUオーバーフロー・フラ
グ)に記憶される。乗算器オーバーフロー・フラグは、
積レジスタRP28に記憶されたビットから導き出され
る。いかなる侵犯もPSR9’iロックさせ、且つプロ
セッサを強制的にリセツ)(PROR)させる。
PRORが開始されると、プロセッサは0020(he
x)で始まる命令の実行を開始させられる。
x)で始まる命令の実行を開始させられる。
またプロセッサ・リセットは命令リンク・レジスタ15
(ILR)もロックするので、PRORプログラム中に
ある診断ルーチンが、ILR15からエラーを起こした
命令の記憶位置及びPAR9の内容を調べる事によって
、問題は何であったかを決定する事が可能になる。また
PRORは、特殊なPSRL90−ド命令によっても、
強制的に起こすことができる。
(ILR)もロックするので、PRORプログラム中に
ある診断ルーチンが、ILR15からエラーを起こした
命令の記憶位置及びPAR9の内容を調べる事によって
、問題は何であったかを決定する事が可能になる。また
PRORは、特殊なPSRL90−ド命令によっても、
強制的に起こすことができる。
パリティ
プロセッサにおけるパリティ検査は、パイプラインの影
響によって複雑化しているので、特別な考慮が必要であ
る。パリティは奇であると仮定され、情報バイト当り1
パリテイ・ビットによって妥当にされる。パリティは命
令が読取られる時に、命令記憶装置に関して検査される
(3パリテイ・ビット)。データ記憶装置及びIloの
パリティ(2パリテイ・ビット)は、ロード命令に関し
て(データ記憶が読取られる時)検査され、記憶命令に
関して(データ記憶が書込まれる時)生成される。パリ
ティはプロセッサ内で参照パリティを発生させ、それを
外部ソースから供給されたパリティ・ビットと比較する
事によって、妥当性を検査される。
響によって複雑化しているので、特別な考慮が必要であ
る。パリティは奇であると仮定され、情報バイト当り1
パリテイ・ビットによって妥当にされる。パリティは命
令が読取られる時に、命令記憶装置に関して検査される
(3パリテイ・ビット)。データ記憶装置及びIloの
パリティ(2パリテイ・ビット)は、ロード命令に関し
て(データ記憶が読取られる時)検査され、記憶命令に
関して(データ記憶が書込まれる時)生成される。パリ
ティはプロセッサ内で参照パリティを発生させ、それを
外部ソースから供給されたパリティ・ビットと比較する
事によって、妥当性を検査される。
データ・パリティの侵犯は、ロード動作に関してPSR
H9のビット6及び4に記憶される。全ての非ロード命
令(プロセッサ・インターフェース上のCDB Jを使
用しないものンの場合、内部データ・バスのパリティ発
生器の出力(これは通常、ロード情報の妥当性検査及び
記憶動作のためのパリティの発生のために使用される)
が、PSRH9のビット3及び4に記憶される。PSR
H9に参照パリティ発生器の出力を保存する事は、プロ
セッサの算術ユニットを使って、論理の妥当性検査が行
なわれる事を可能にする。
H9のビット6及び4に記憶される。全ての非ロード命
令(プロセッサ・インターフェース上のCDB Jを使
用しないものンの場合、内部データ・バスのパリティ発
生器の出力(これは通常、ロード情報の妥当性検査及び
記憶動作のためのパリティの発生のために使用される)
が、PSRH9のビット3及び4に記憶される。PSR
H9に参照パリティ発生器の出力を保存する事は、プロ
セッサの算術ユニットを使って、論理の妥当性検査が行
なわれる事を可能にする。
PRORが起きる時、PSRH9に記憶された結果t−
適切に解釈するために、診断プログラムは最初にMCR
L8に質関しなければならない。次に検査ピッ) (P
SRH9のビット3及び4、第9A図)が、参照パリテ
ィ・ビット又はデータ・パリティ侵犯全表わしているか
どうかを判定するために、消去の過程が用いられなけれ
ばならない。
適切に解釈するために、診断プログラムは最初にMCR
L8に質関しなければならない。次に検査ピッ) (P
SRH9のビット3及び4、第9A図)が、参照パリテ
ィ・ビット又はデータ・パリティ侵犯全表わしているか
どうかを判定するために、消去の過程が用いられなけれ
ばならない。
命令ハリティ検査は、MCRL8のビット3によってエ
ネーブルされ、独立に動作する。例えばPSRH9は、
MCRL8の制御ビット3〜5(第8B図ンによって指
定される命令及びデータの両者のパリティ検査の結果を
常に反映する。内部命令パリティ発生器は、前述の間接
プログラム・アクセス(IPA)機構を用いて、パリテ
ィに疑問のある命令をプロセッサの主データ経路に転送
し、そこで算術演算機構を用いて独立にパリティを検査
する事によって、妥当性を検査する事ができる。
ネーブルされ、独立に動作する。例えばPSRH9は、
MCRL8の制御ビット3〜5(第8B図ンによって指
定される命令及びデータの両者のパリティ検査の結果を
常に反映する。内部命令パリティ発生器は、前述の間接
プログラム・アクセス(IPA)機構を用いて、パリテ
ィに疑問のある命令をプロセッサの主データ経路に転送
し、そこで算術演算機構を用いて独立にパリティを検査
する事によって、妥当性を検査する事ができる。
下記の2つの表は、MCRL8の制御及び命令型の全て
の組み合わせに関して、PSRH9のビット0〜4に置
かれる情報を要約している。
の組み合わせに関して、PSRH9のビット0〜4に置
かれる情報を要約している。
命令パリティ
共通データ・バス・パリティ
パイプラインの影響
パイプラインの動作及びエラー解析時の相違により、エ
ラー・パラメータは所定の命令と同じ時間には検査又は
記録されない。従って、リセットが起きた時にILR1
5にロックされたアドレスは、エラーの型に依存して可
変な大きさだけ、エラーの生じた命令のアドレスから変
位する事になる。下記に、エラーの発生した命令がアド
レスNにあったと仮定して、この現象を説明する。
ラー・パラメータは所定の命令と同じ時間には検査又は
記録されない。従って、リセットが起きた時にILR1
5にロックされたアドレスは、エラーの型に依存して可
変な大きさだけ、エラーの生じた命令のアドレスから変
位する事になる。下記に、エラーの発生した命令がアド
レスNにあったと仮定して、この現象を説明する。
順次的命令(分岐なし)の場合、エラーの発生した命令
のアドレスは、PSR9からエラーの性質がわかれば、
ILR15の値を減らす事によって導き出す事ができる
。
のアドレスは、PSR9からエラーの性質がわかれば、
ILR15の値を減らす事によって導き出す事ができる
。
命令リンク制御
エラーの発生した命令のアドレスに対するILR15の
変位は、分岐が関係している場合は問題を生じる。例え
ば、分岐/ロード又は分岐/計算の系列において、ロー
ド又は計算の命令でエラーが発生すると、ILR25中
のアドレスは、分岐ストリーム中のアドレスを含んだ−
jまである。このILR15の内容から、エラーの発生
したアドレスを決定する事は不可能である。
変位は、分岐が関係している場合は問題を生じる。例え
ば、分岐/ロード又は分岐/計算の系列において、ロー
ド又は計算の命令でエラーが発生すると、ILR25中
のアドレスは、分岐ストリーム中のアドレスを含んだ−
jまである。このILR15の内容から、エラーの発生
したアドレスを決定する事は不可能である。
そのような場合に、エラーの発生したアドレスまでエラ
ーをトレースできるようKするために、プロセッサは命
令リンク制御(ILC)と呼ばれる選択可能な機構を有
している。ILCは、分岐/ロード又は分岐/計算の命
令系列が検出されると、2個のNOPを挿入する事によ
ってエラーのトレース可能性を与えている。挿入結果は
下記のようになる。
ーをトレースできるようKするために、プロセッサは命
令リンク制御(ILC)と呼ばれる選択可能な機構を有
している。ILCは、分岐/ロード又は分岐/計算の命
令系列が検出されると、2個のNOPを挿入する事によ
ってエラーのトレース可能性を与えている。挿入結果は
下記のようになる。
分岐/ロード/NOP/NoP、及び
分岐/計算/NOP/NOP
従ってILR15がロックされた時、それがエラーの発
生した命令のアドレスを含む事が保証される。ILCは
MCRH8のビット4及び5(ILCL及びILCC)
によって、分岐/ロード及び分岐/計算の命令系列毎に
起動される。
生した命令のアドレスを含む事が保証される。ILCは
MCRH8のビット4及び5(ILCL及びILCC)
によって、分岐/ロード及び分岐/計算の命令系列毎に
起動される。
分岐命令がロード命令又は計算命令に続く上記の型とは
、順序が反転した命令系列は問題を生じない事に注意さ
れたい。これは分岐命令の3番目のフェーズで、プロセ
ッサ・リセットが起きる時にILR15がラッチされる
からである。これは、分岐経路に先行する順次アドレス
が、ILR15にセットされる事を保証する。これはI
LR15の制御の通常の機能であり、MCRa中のIL
Cビットとは無関係である。
、順序が反転した命令系列は問題を生じない事に注意さ
れたい。これは分岐命令の3番目のフェーズで、プロセ
ッサ・リセットが起きる時にILR15がラッチされる
からである。これは、分岐経路に先行する順次アドレス
が、ILR15にセットされる事を保証する。これはI
LR15の制御の通常の機能であり、MCRa中のIL
Cビットとは無関係である。
以前に説明した間接プログラム・アクセス機構は、プロ
セッサによって命令記憶装置がロードされ且つ読取られ
る事を可能にする。これは、プロセッサの算術演算機構
を用いて、命令記憶装置20中のプログラムに対して(
CRC等の〕診断検査を行なう事を可能にする。
セッサによって命令記憶装置がロードされ且つ読取られ
る事を可能にする。これは、プロセッサの算術演算機構
を用いて、命令記憶装置20中のプログラムに対して(
CRC等の〕診断検査を行なう事を可能にする。
データ・メモリ及びIloのインターフェースデータ・
メモリ及びI10装置は、外部cDB4t−経由してプ
ロセッサに取り付けられ、CAB26によってアドレス
される。I10装置は、データ・メモリと同じアドレス
空間中にあると考えられる。I10アドレス空間は、M
CRL8 <第8B図参照)のIOSフィールドによっ
て、4つの可能なアドレス範囲(0〜31.63.12
7又は255)のうち1つにわたるように選択される。
メモリ及びI10装置は、外部cDB4t−経由してプ
ロセッサに取り付けられ、CAB26によってアドレス
される。I10装置は、データ・メモリと同じアドレス
空間中にあると考えられる。I10アドレス空間は、M
CRL8 <第8B図参照)のIOSフィールドによっ
て、4つの可能なアドレス範囲(0〜31.63.12
7又は255)のうち1つにわたるように選択される。
装置選択及び読取/書込の制御は、インターフェース読
取書込制御(I RWC)信号によって与えられる。デ
ータ・メモリ及びIloの制御に加えて、IRWCは、
拡張アドレシングが使用される時にLEAFアダプタに
、分岐及びリセットの指示等の流れの制御も与える。
取書込制御(I RWC)信号によって与えられる。デ
ータ・メモリ及びIloの制御に加えて、IRWCは、
拡張アドレシングが使用される時にLEAFアダプタに
、分岐及びリセットの指示等の流れの制御も与える。
I10アドレスは記憶位置0で始まシ、IOSフィール
ド(第8B図参照)によって指定される限界まで存在す
る。GPSP−16内の論理回路がCAB’iモニタし
、Iloがアドレスされている時を判定する。その時、
インターフェース内のI RWC線は適当な状態を取る
(表7参照)。
ド(第8B図参照)によって指定される限界まで存在す
る。GPSP−16内の論理回路がCAB’iモニタし
、Iloがアドレスされている時を判定する。その時、
インターフェース内のI RWC線は適当な状態を取る
(表7参照)。
CABビット00〜14だけが、I10アドレス・バス
を構成する( CAB 15はアドレシングのためには
使用されない)。その結果、各I10アドレスは常に偶
数と考えられる。従って(例えば)IO8=0の場合に
、選択される32のアドレスは0000から005E(
I(EX)までの全ての偶数アドレスを含んでいる。
を構成する( CAB 15はアドレシングのためには
使用されない)。その結果、各I10アドレスは常に偶
数と考えられる。従って(例えば)IO8=0の場合に
、選択される32のアドレスは0000から005E(
I(EX)までの全ての偶数アドレスを含んでいる。
命令記憶装置20及びデータ記憶装置1の両者は、直接
メモリ・アクセス(DMA)インターフェース制御を通
じて、外部装置によってアクセスできる。外部装置から
のDMA要求は、次のサイクル境界において内部クロッ
クをディスエーブルさせる。この時、DMA承認信号が
外部装置に与えられ、プロセッサのオフ・チップ・ドラ
イバは高インピーダンス状態にされ、外部装置はメモリ
・バスの制御を取得する事が可能になる。この状態はD
MARコマンドが終了するまで維持される。
メモリ・アクセス(DMA)インターフェース制御を通
じて、外部装置によってアクセスできる。外部装置から
のDMA要求は、次のサイクル境界において内部クロッ
クをディスエーブルさせる。この時、DMA承認信号が
外部装置に与えられ、プロセッサのオフ・チップ・ドラ
イバは高インピーダンス状態にされ、外部装置はメモリ
・バスの制御を取得する事が可能になる。この状態はD
MARコマンドが終了するまで維持される。
次にDMAAがリセットされ、プロセッサは次のクロッ
ク境界で正規のタスクを再開する。
ク境界で正規のタスクを再開する。
DMA予期(DMACン
DMA予期は、データ・メモリ・バス(CDB、CAB
、IRWC)が使われていない時に、外部装置がそれら
を制御する事を可能にする。これは「DMAサイクル・
スチール」モードの動作である。DMACインターフェ
ース信号は、デコードされている命令がロード命令でも
又記憶命令でもなく、従って次のサイクルにデータ・バ
スがプロセッサによって使用される事はなく、利用可能
であろうという事を外部装置に通報する。
、IRWC)が使われていない時に、外部装置がそれら
を制御する事を可能にする。これは「DMAサイクル・
スチール」モードの動作である。DMACインターフェ
ース信号は、デコードされている命令がロード命令でも
又記憶命令でもなく、従って次のサイクルにデータ・バ
スがプロセッサによって使用される事はなく、利用可能
であろうという事を外部装置に通報する。
外部的に生成された信号としての外g(S リセット(
又は電源リセット)は、記憶位置0000 (hex)
で始まる命令をプロセッサに実行し始めるようにする。
又は電源リセット)は、記憶位置0000 (hex)
で始まる命令をプロセッサに実行し始めるようにする。
命令記憶装置のこの領域は、機械をクリアするために設
計されたプログラムを含んでいる。
計されたプログラムを含んでいる。
POWRの動作は、POWR信号が他の全ての条件をオ
ーバーライドする事を除けば、通常の割込みと非常に類
似している。POWRは特別なPSRLロード命令全実
行する事によっても開始できる。
ーバーライドする事を除けば、通常の割込みと非常に類
似している。POWRは特別なPSRLロード命令全実
行する事によっても開始できる。
E−6,付 表
SDl、21−00のq:常にゼe+をA5又はA6に
加算:結果iRNへ、但しN譚1.2.3.4.5.6
.7゜*7−BN(N−8,9,10、・・・・23〕
は、命令のオペランド・ビットである。
加算:結果iRNへ、但しN譚1.2.3.4.5.6
.7゜*7−BN(N−8,9,10、・・・・23〕
は、命令のオペランド・ビットである。
・・
チー C1氷 具約及び省略法: ] =論理的否定(ビット反転) R@・・・・=・・・・によって指定されるレジスタく
・・・・〉=・・・・の内容 1・・・・1=・・・・の大きさく・・・・が負の時は
1の補数) CIN =下位AI、Uビット位置へのキャリー人力 SA =選択されたA−ソース/宛先スタック・レ
ジスタのアドレス SC=選択されたC−ソース・スタック・レジスタ *→ =飽和値を宛先スタック・レジスタのアドレス
に移動する。
チー C1氷 具約及び省略法: ] =論理的否定(ビット反転) R@・・・・=・・・・によって指定されるレジスタく
・・・・〉=・・・・の内容 1・・・・1=・・・・の大きさく・・・・が負の時は
1の補数) CIN =下位AI、Uビット位置へのキャリー人力 SA =選択されたA−ソース/宛先スタック・レ
ジスタのアドレス SC=選択されたC−ソース・スタック・レジスタ *→ =飽和値を宛先スタック・レジスタのアドレス
に移動する。
BO=<R@SC)の符号ビット(ビット0)がCIN
として選択される。
として選択される。
BD =中位積の丸めビットがCINとして選択さ
れる。
れる。
MY =下位積のキャリー・ビットがCINとして
選択される。
選択される。
AY =以前に保存されたALUのキャリー出力(
PSRから)がCINとして 選択される。
PSRから)がCINとして 選択される。
RPL =下位積レジスタ
RPM =中位積レジスタ
RPH=上位積レジスタ
M6&UE= OP:l−ドoiii(計算)の場合、
(M7&UE)飽和力M CRHヒツト:016 (ピ
ッ、ト。、7)とUEとの論理積によって制御され る。UEのデフオールド値はOPコ −)”=IXXXの場合に適用される。
(M7&UE)飽和力M CRHヒツト:016 (ピ
ッ、ト。、7)とUEとの論理積によって制御され る。UEのデフオールド値はOPコ −)”=IXXXの場合に適用される。
制御デフオールドの省略記法(1=付勢):RXC=
RXC乗数値(RX)基準化制御(第6A図参照) LPH=下位乗算器パイプライン・クロック禁止 UE =アンロックΦエネーブル II =割込みサービス禁止 SI =スタック書き戻し禁止 AI = l’−AJALU入力禁止CIE =
ALUキャリー人力選択器エネーブル ME =乗算器パイプライン・クロッキング・エネ
ーブル RE =拡張レジスタ選択エネーブル注二 複合命令(opコード1xxx)は、計算命令(opコ
ード0111)のような個々の制御ビットを持たない。
RXC乗数値(RX)基準化制御(第6A図参照) LPH=下位乗算器パイプライン・クロック禁止 UE =アンロックΦエネーブル II =割込みサービス禁止 SI =スタック書き戻し禁止 AI = l’−AJALU入力禁止CIE =
ALUキャリー人力選択器エネーブル ME =乗算器パイプライン・クロッキング・エネ
ーブル RE =拡張レジスタ選択エネーブル注二 複合命令(opコード1xxx)は、計算命令(opコ
ード0111)のような個々の制御ビットを持たない。
その代シに、表5A、5Bの右欄に示すように、各制御
(FUN)コードによって特別な制御ビットの設定が暗
黙に定められている。各制御ビットの機能は第6A図〜
第6D図に示されている。
(FUN)コードによって特別な制御ビットの設定が暗
黙に定められている。各制御ビットの機能は第6A図〜
第6D図に示されている。
表7
第1図は第1A図及び第1B図の関係を示す図、第1A
図、第1B図は本発明の良好な実施例の信号プロセッサ
の概略図、第2A図は即値ロード命令のフォーマットを
示す図、第2B図はロード命令のフォーマットを示す図
、第2C図は記憶命令のフォーマット全示す図、第3図
はバイト・ロード/挿入命令のフォーマットを示す図、
第4A図は条件付き分岐命令のフォーマットを示す図、
第4B図はIPA読取命令のフォーマットを示す図、第
4C図はIPA書込命令のフォーマットを示す図、第5
図は無条件分岐命令のフォーマットを示す図、第6A図
〜第6D図は計算命令のフォーマットを示す図、第7A
図及び第7B図は複合命令のフォーマツl示す図、第8
A図はMCRHの構成を示す図、第8B図はMCRLの
構成を示す図、第9A図はPSRHの構成を示す図、第
9B図はPSRLの構成を示す図、第10A図は乗算器
の入力基準化ビット・フォーマツトラ示す図、第10B
図は上位積及び下泣積の分割制御フォーマットを示す図
、第10C図は中位横分割7オーマントを示す図、第1
1図はパイプライン動作の堆り出し、デコード及び実行
に関するデータ・フローを示す図、第12図は拡張アド
レシング・インターフェース機構の概略を示す図、第1
3図は直接分岐及びインデックス・レジスタのロートニ
関する拡張アドレス動作を説明する図、第14図は間接
プログラム・アクセス機能に関するデータ・70−全示
す図、第15図は乗算器及び槓保存回復回路を示す図で
ある。
図、第1B図は本発明の良好な実施例の信号プロセッサ
の概略図、第2A図は即値ロード命令のフォーマットを
示す図、第2B図はロード命令のフォーマットを示す図
、第2C図は記憶命令のフォーマット全示す図、第3図
はバイト・ロード/挿入命令のフォーマットを示す図、
第4A図は条件付き分岐命令のフォーマットを示す図、
第4B図はIPA読取命令のフォーマットを示す図、第
4C図はIPA書込命令のフォーマットを示す図、第5
図は無条件分岐命令のフォーマットを示す図、第6A図
〜第6D図は計算命令のフォーマットを示す図、第7A
図及び第7B図は複合命令のフォーマツl示す図、第8
A図はMCRHの構成を示す図、第8B図はMCRLの
構成を示す図、第9A図はPSRHの構成を示す図、第
9B図はPSRLの構成を示す図、第10A図は乗算器
の入力基準化ビット・フォーマツトラ示す図、第10B
図は上位積及び下泣積の分割制御フォーマットを示す図
、第10C図は中位横分割7オーマントを示す図、第1
1図はパイプライン動作の堆り出し、デコード及び実行
に関するデータ・フローを示す図、第12図は拡張アド
レシング・インターフェース機構の概略を示す図、第1
3図は直接分岐及びインデックス・レジスタのロートニ
関する拡張アドレス動作を説明する図、第14図は間接
プログラム・アクセス機能に関するデータ・70−全示
す図、第15図は乗算器及び槓保存回復回路を示す図で
ある。
Claims (2)
- (1)システム・クロック、作業用ファイル・レジスタ
、命令記憶装置、命令デコード装置、算術論理演算装置
、乗算器並びに上記ファイル・レジスタ、上記算術論理
演算装置及び上記乗算器にディジタル・データを供給し
、且つ実行される命令及び割り込みに応答して、上記算
術論理演算装置及び上記乗算器を制御するための、相互
接続用のデータ・バス及び命令バスを有するパイプライ
ン式プロセッサにおいて、 上記算術論理演算装置、上記乗算器及び上記ファイル・
レジスタが上記バスを経由して相互接続され、上記記憶
装置からの命令が上記命令デコード装置においてデコー
ドされ、 上記デコードされた命令を、後続する命令のデコード及
び2番目の後続する命令の取り出しと同時に実行させる
ために、上記算術論理演算装置を同期させるように上記
システム・クロックが接続された パイプライン式プロセッサ。 - (2)上記命令デコード装置及び上記システム・クロッ
クに接続された割り込み制御論理装置と、割り込み条件
の発生を信号するために、上記割り込み制御論理装置に
接続された割り込み信号装置と、 上記命令デコード装置、上記割り込み信号装置及び上記
割り込み制御論理装置に接続され、割り込みが発生した
時に、割り込み保護されていないデコード中の命令の代
わりにノー・オペレーション・ステップを実行させ、且
つ上記割り込みに関するアドレスをアドレス・デコード
装置にロードし、且つ上記命令のアドレスを記憶する装
置とを有する特許請求の範囲第1項記載のパイプライン
式プロセッサ。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US06/723,991 US4794517A (en) | 1985-04-15 | 1985-04-15 | Three phased pipelined signal processor |
| US723991 | 1991-07-01 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS61241832A true JPS61241832A (ja) | 1986-10-28 |
| JPH0214731B2 JPH0214731B2 (ja) | 1990-04-09 |
Family
ID=24908505
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP61055200A Granted JPS61241832A (ja) | 1985-04-15 | 1986-03-14 | パイプライン式プロセツサ |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US4794517A (ja) |
| EP (1) | EP0198216B1 (ja) |
| JP (1) | JPS61241832A (ja) |
| CA (1) | CA1248638A (ja) |
| DE (1) | DE3689923T2 (ja) |
| HK (1) | HK7595A (ja) |
Families Citing this family (45)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4577282A (en) | 1982-02-22 | 1986-03-18 | Texas Instruments Incorporated | Microcomputer system for digital signal processing |
| DE3751503T2 (de) * | 1986-03-26 | 1996-05-09 | Hitachi Ltd | Datenprozessor in Pipelinestruktur mit der Fähigkeit mehrere Befehle parallel zu dekodieren und auszuführen. |
| US5007020A (en) * | 1987-03-18 | 1991-04-09 | Hayes Microcomputer Products, Inc. | Method for memory addressing and control with reversal of higher and lower address |
| US5297263A (en) * | 1987-07-17 | 1994-03-22 | Mitsubishi Denki Kabushiki Kaisha | Microprocessor with pipeline system having exception processing features |
| US5019967A (en) * | 1988-07-20 | 1991-05-28 | Digital Equipment Corporation | Pipeline bubble compression in a computer system |
| US4991169A (en) * | 1988-08-02 | 1991-02-05 | International Business Machines Corporation | Real-time digital signal processing relative to multiple digital communication channels |
| US4996661A (en) * | 1988-10-05 | 1991-02-26 | United Technologies Corporation | Single chip complex floating point numeric processor |
| JP2810068B2 (ja) * | 1988-11-11 | 1998-10-15 | 株式会社日立製作所 | プロセッサシステム、コンピュータシステム及び命令処理方法 |
| US5123095A (en) * | 1989-01-17 | 1992-06-16 | Ergo Computing, Inc. | Integrated scalar and vector processors with vector addressing by the scalar processor |
| US5187795A (en) * | 1989-01-27 | 1993-02-16 | Hughes Aircraft Company | Pipelined signal processor having a plurality of bidirectional configurable parallel ports that are configurable as individual ports or as coupled pair of ports |
| US5109497A (en) * | 1989-01-27 | 1992-04-28 | Hughes Aircraft Company | Arithmetic element controller for controlling data, control and micro store memories |
| CA2016068C (en) * | 1989-05-24 | 2000-04-04 | Robert W. Horst | Multiple instruction issue computer architecture |
| DE69032812T2 (de) * | 1989-07-07 | 1999-04-29 | Hitachi, Ltd., Tokio/Tokyo | Vorrichtung und Verfahren zur parallelen Verarbeitung |
| EP0429733B1 (en) * | 1989-11-17 | 1999-04-28 | Texas Instruments Incorporated | Multiprocessor with crossbar between processors and memories |
| US5204962A (en) * | 1989-11-30 | 1993-04-20 | Mitsubishi Denki Kabushiki Kaisha | Processor with preceding operation circuit connected to output of data register |
| JPH063583B2 (ja) * | 1990-01-11 | 1994-01-12 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | 命令デコード・サイクル中にアドレスを生成するデジタル・コンピュータおよびその方法 |
| US5768613A (en) * | 1990-07-06 | 1998-06-16 | Advanced Micro Devices, Inc. | Computing apparatus configured for partitioned processing |
| US6230255B1 (en) | 1990-07-06 | 2001-05-08 | Advanced Micro Devices, Inc. | Communications processor for voice band telecommunications |
| US5163139A (en) * | 1990-08-29 | 1992-11-10 | Hitachi America, Ltd. | Instruction preprocessor for conditionally combining short memory instructions into virtual long instructions |
| JPH04260929A (ja) * | 1991-01-21 | 1992-09-16 | Mitsubishi Electric Corp | データ処理装置 |
| US5349676A (en) * | 1991-02-11 | 1994-09-20 | General Electric Company | Data acquisition systems with programmable bit-serial digital signal processors |
| US5421028A (en) * | 1991-03-15 | 1995-05-30 | Hewlett-Packard Company | Processing commands and data in a common pipeline path in a high-speed computer graphics system |
| CA2060555A1 (en) * | 1991-04-24 | 1992-10-25 | Robert J. Bullions, Iii | System and method for draining an instruction pipeline |
| US6735685B1 (en) | 1992-09-29 | 2004-05-11 | Seiko Epson Corporation | System and method for handling load and/or store operations in a superscalar microprocessor |
| DE69329778T2 (de) * | 1992-09-29 | 2001-04-26 | Seiko Epson Corp., Tokio/Tokyo | System und verfahren zur handhabung von laden und/oder speichern in einem superskalar mikroprozessor |
| US5701450A (en) * | 1994-02-25 | 1997-12-23 | Seagate Technology, Inc. | System including ATA sequencer microprocessor which executes sequencer instructions to handle plurality of real-time events allowing to perform all operations without local microprocessor intervention |
| US6145071A (en) * | 1994-03-03 | 2000-11-07 | The George Washington University | Multi-layer multi-processor information conveyor with periodic transferring of processors' states for on-the-fly transformation of continuous information flows and operating method therefor |
| US5442789A (en) * | 1994-03-31 | 1995-08-15 | International Business Machines Corporation | System and method for efficiently loading and removing selected functions on digital signal processors without interrupting execution of other functions on the digital signal processors |
| JP3658420B2 (ja) * | 1994-04-14 | 2005-06-08 | 株式会社日立製作所 | 分散処理システム |
| US6643765B1 (en) | 1995-08-16 | 2003-11-04 | Microunity Systems Engineering, Inc. | Programmable processor with group floating point operations |
| US6546442B1 (en) | 1995-10-30 | 2003-04-08 | International Business Machines Corporation | Communications adapter having analog and digital interfaces for communications with remote systems |
| US5949762A (en) * | 1996-01-24 | 1999-09-07 | Telebit Corporation | Apparatus and method for processing multiple telephone calls |
| US5924128A (en) * | 1996-06-20 | 1999-07-13 | International Business Machines Corporation | Pseudo zero cycle address generator and fast memory access |
| US5872910A (en) * | 1996-12-27 | 1999-02-16 | Unisys Corporation | Parity-error injection system for an instruction processor |
| US6314493B1 (en) | 1998-02-03 | 2001-11-06 | International Business Machines Corporation | Branch history cache |
| US6684323B2 (en) * | 1998-10-27 | 2004-01-27 | Stmicroelectronics, Inc. | Virtual condition codes |
| KR100322277B1 (ko) * | 1998-11-20 | 2002-03-08 | 권 기 홍 | 확장 명령어를 가진 중앙처리장치 |
| US20030046516A1 (en) * | 1999-01-27 | 2003-03-06 | Cho Kyung Youn | Method and apparatus for extending instructions with extension data of an extension register |
| US6721875B1 (en) * | 2000-02-22 | 2004-04-13 | Hewlett-Packard Development Company, L.P. | Method and apparatus for implementing a single-syllable IP-relative branch instruction and a long IP-relative branch instruction in a processor which fetches instructions in bundle form |
| US6665795B1 (en) | 2000-10-06 | 2003-12-16 | Intel Corporation | Resetting a programmable processor |
| JP2002149396A (ja) * | 2000-11-07 | 2002-05-24 | Hitachi Ltd | データプロセッサ、半導体集積回路及びcpu |
| US7028129B2 (en) * | 2001-12-28 | 2006-04-11 | Intel Corporation | Method and apparatus for converting an external memory access into a local memory access in a processor core |
| US20050071830A1 (en) * | 2003-09-30 | 2005-03-31 | Starcore, Llc | Method and system for processing a sequence of instructions |
| US7386756B2 (en) * | 2004-06-17 | 2008-06-10 | Intel Corporation | Reducing false error detection in a microprocessor by tracking instructions neutral to errors |
| US7555703B2 (en) * | 2004-06-17 | 2009-06-30 | Intel Corporation | Method and apparatus for reducing false error detection in a microprocessor |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS564846A (en) * | 1979-06-21 | 1981-01-19 | Ibm | Interrupt system |
| JPS58168151A (ja) * | 1982-03-30 | 1983-10-04 | Nec Corp | パイプライン制御形情報処理装置 |
| JPS58214948A (ja) * | 1982-06-09 | 1983-12-14 | Toshiba Corp | パイプライン演算装置 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4179734A (en) * | 1976-07-02 | 1979-12-18 | Floating Point Systems, Inc. | Floating point data processor having fast access memory means |
| US4310879A (en) * | 1979-03-08 | 1982-01-12 | Pandeya Arun K | Parallel processor having central processor memory extension |
| US4598358A (en) * | 1980-02-11 | 1986-07-01 | At&T Bell Laboratories | Pipelined digital signal processor using a common data and control bus |
| US4399507A (en) * | 1981-06-30 | 1983-08-16 | Ibm Corporation | Instruction address stack in the data memory of an instruction-pipelined processor |
| US4498136A (en) * | 1982-12-15 | 1985-02-05 | Ibm Corporation | Interrupt processor |
-
1985
- 1985-04-15 US US06/723,991 patent/US4794517A/en not_active Expired - Lifetime
-
1986
- 1986-02-10 CA CA000501494A patent/CA1248638A/en not_active Expired
- 1986-03-11 EP EP86103214A patent/EP0198216B1/en not_active Expired - Lifetime
- 1986-03-11 DE DE3689923T patent/DE3689923T2/de not_active Expired - Lifetime
- 1986-03-14 JP JP61055200A patent/JPS61241832A/ja active Granted
-
1995
- 1995-01-19 HK HK7595A patent/HK7595A/en not_active IP Right Cessation
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS564846A (en) * | 1979-06-21 | 1981-01-19 | Ibm | Interrupt system |
| JPS58168151A (ja) * | 1982-03-30 | 1983-10-04 | Nec Corp | パイプライン制御形情報処理装置 |
| JPS58214948A (ja) * | 1982-06-09 | 1983-12-14 | Toshiba Corp | パイプライン演算装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0198216B1 (en) | 1994-06-22 |
| CA1248638A (en) | 1989-01-10 |
| HK7595A (en) | 1995-01-27 |
| JPH0214731B2 (ja) | 1990-04-09 |
| DE3689923D1 (de) | 1994-07-28 |
| DE3689923T2 (de) | 1995-01-05 |
| US4794517A (en) | 1988-12-27 |
| EP0198216A2 (en) | 1986-10-22 |
| EP0198216A3 (en) | 1989-12-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS61241832A (ja) | パイプライン式プロセツサ | |
| US5081574A (en) | Branch control in a three phase pipelined signal processor | |
| EP2339455A2 (en) | Multithreaded processor with interleaved instruction pipelines | |
| TW201820125A (zh) | 執行複數的熔合乘-加指令的系統與方法 | |
| CN1481529A (zh) | 流水线处理器的异常管理 | |
| JPH035835A (ja) | マイクロプロセッサ | |
| US6131158A (en) | Data processing system capable of executing groups of instructions, including at least one arithmetic instruction, in parallel | |
| JPS63273134A (ja) | マクロ命令パイプラインを用いてマイクロ命令を変更する方法及び装置 | |
| JPH081599B2 (ja) | データ処理装置 | |
| JPH1049368A (ja) | 条件実行命令を有するマイクロプロセッサ | |
| EP0772819A2 (en) | Apparatus and method for efficiently determining addresses for misaligned data stored in memory | |
| JP3578883B2 (ja) | データ処理装置 | |
| US9015216B2 (en) | Fast static rotator/shifter with non two's complemented decode and fast mask generation | |
| JP3817436B2 (ja) | プロセッサおよびリネーミング装置 | |
| WO2000068783A2 (en) | Digital signal processor computation core | |
| TWI658406B (zh) | 計算機指令的執行方法以及使用此方法的裝置 | |
| JP2000207210A (ja) | マイクロプロセッサ | |
| CN108834427A (zh) | 处理向量指令 | |
| JPS58163060A (ja) | マイクロプロセツサ・システム、マイクロコンピユ−タ装置及びマイクロプロセツサ装置 | |
| KR100389989B1 (ko) | 32비트데이타경로를사용하는배정도(64비트)시프트연산 | |
| US20060101235A1 (en) | Microprocessor | |
| JPH03204028A (ja) | 中央演算処理装置 | |
| EP2057554A1 (en) | Processor having multiple instruction sources and execution modes | |
| US20050188183A1 (en) | Digital signal processor having data address generator with speculative register file | |
| JPH0457122A (ja) | 中央演算処理装置 |