JPH0529933B2 - - Google Patents
Info
- Publication number
- JPH0529933B2 JPH0529933B2 JP60246099A JP24609985A JPH0529933B2 JP H0529933 B2 JPH0529933 B2 JP H0529933B2 JP 60246099 A JP60246099 A JP 60246099A JP 24609985 A JP24609985 A JP 24609985A JP H0529933 B2 JPH0529933 B2 JP H0529933B2
- Authority
- JP
- Japan
- Prior art keywords
- signal
- address
- interrupt
- trap
- instruction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
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/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/268—Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
- Debugging And Monitoring (AREA)
- Programmable Controllers (AREA)
Description
【発明の詳細な説明】
関連出願についての相互参照
この発明に特別に関係のある関連の係属出願
は、オレ・モーラとサンジエイ・イヤのために
1984年5月8日に出願され本出願の譲受人に譲渡
されている「割込可能に構成されたマイクロプロ
グラム16ビツトアドレス・シーケンス・コントロ
ーラ」と題する米国出願第608319号である。
は、オレ・モーラとサンジエイ・イヤのために
1984年5月8日に出願され本出願の譲受人に譲渡
されている「割込可能に構成されたマイクロプロ
グラム16ビツトアドレス・シーケンス・コントロ
ーラ」と題する米国出願第608319号である。
この発明は一般にはマイクロプログラムメモリ
に記憶されているマイクロインストラクシヨンの
実行シーケンスを制御するワンチツプの割込およ
びトラツプ可能なマイクロプログラム・シーケン
ス・コントローラに関するものであり、より特定
的には割込モードまたはトラツプモードのいずれ
かでコントローラの使用者選択操作を与えるチツ
プ上の回路を持つたマイクロプログラム・シーケ
ンス・コントローラに関する。発明の背景 典型的にマイクロプログラムシステムは建築物
における建造ブロツクのように使用される様々な
超大規模集積回路(VLSI)チツプから構成され、
それは2つのサブセクシヨンに分けることができ
る。それは実行されるべきインストラクシヨンの
順序や解読を管理する制御セクシヨンと、データ
上の命令によつて要求される動作を遂行するデー
タ処理セクシヨンである。制御セクシヨンはマイ
クロプログラムアドレスを発行するマイクロプロ
グラム・シーケンス・コントローラと、マイクロ
インストラクシヨンを保有するマイクロプログラ
ムメモリとを含んでいるのが普通である。
に記憶されているマイクロインストラクシヨンの
実行シーケンスを制御するワンチツプの割込およ
びトラツプ可能なマイクロプログラム・シーケン
ス・コントローラに関するものであり、より特定
的には割込モードまたはトラツプモードのいずれ
かでコントローラの使用者選択操作を与えるチツ
プ上の回路を持つたマイクロプログラム・シーケ
ンス・コントローラに関する。発明の背景 典型的にマイクロプログラムシステムは建築物
における建造ブロツクのように使用される様々な
超大規模集積回路(VLSI)チツプから構成され、
それは2つのサブセクシヨンに分けることができ
る。それは実行されるべきインストラクシヨンの
順序や解読を管理する制御セクシヨンと、データ
上の命令によつて要求される動作を遂行するデー
タ処理セクシヨンである。制御セクシヨンはマイ
クロプログラムアドレスを発行するマイクロプロ
グラム・シーケンス・コントローラと、マイクロ
インストラクシヨンを保有するマイクロプログラ
ムメモリとを含んでいるのが普通である。
各マイクロインストラクシヨンはデータ処理セ
クシヨン内の素子を制御するための複数のビツト
を含んでいる。さらに、マイクロインストラクシ
ヨンは情報処理機能を持つ周辺装置へ伝送される
複数ビツトからなる周辺制御部分を有している。
その結果、ホスト・マイクロプログラムシステム
からデータを受取るかまたは送るように要求され
る場合、その要求はホスト・マイクロコンピユー
タによる最小の時間とコントロールを要求する。
周辺のコントローラの動作において、マイクロコ
ンピユータは、しばしば電源異常、機械の誤動
作、制御パネルのサービス要求、外部タイマ信
号、および入力/出力デバイスのサービス要求と
いつた非同期式の事象への十分な同期と応答につ
いての要求に直面する。これらの非同期式事象を
ハンドリングすることは、要求される応答時間、
システムの処理能力比、ハードウエアのコスト、
およびメモリスペースの事項において、システム
遂行の真のものさしである。
クシヨン内の素子を制御するための複数のビツト
を含んでいる。さらに、マイクロインストラクシ
ヨンは情報処理機能を持つ周辺装置へ伝送される
複数ビツトからなる周辺制御部分を有している。
その結果、ホスト・マイクロプログラムシステム
からデータを受取るかまたは送るように要求され
る場合、その要求はホスト・マイクロコンピユー
タによる最小の時間とコントロールを要求する。
周辺のコントローラの動作において、マイクロコ
ンピユータは、しばしば電源異常、機械の誤動
作、制御パネルのサービス要求、外部タイマ信
号、および入力/出力デバイスのサービス要求と
いつた非同期式の事象への十分な同期と応答につ
いての要求に直面する。これらの非同期式事象を
ハンドリングすることは、要求される応答時間、
システムの処理能力比、ハードウエアのコスト、
およびメモリスペースの事項において、システム
遂行の真のものさしである。
非同期式事象をハンドリングする1つのアプロ
ーチは各可能な非同期式事象に共同する状態表示
器を設けることである。そうすればマイクロコン
ピユータはシーケンスに各表示器をテストし、事
実上サービスが必要か否かを問合せする。これは
典型的にはポリング法といわれており、しばしば
マイクロプログラムのソフトウエアで実現され
る。しかしながら、このポリング法は時間とマイ
クロプログラムメモリのスペースを消費する。シ
ステムの処理能力比が低下し、応答時間が増大
し、こういう場合でなければ付加的な目的に使用
できるであろうマイクロプログラムスペースがこ
れらの非同期式事実に対する応答のハンドリング
専用とされる。
ーチは各可能な非同期式事象に共同する状態表示
器を設けることである。そうすればマイクロコン
ピユータはシーケンスに各表示器をテストし、事
実上サービスが必要か否かを問合せする。これは
典型的にはポリング法といわれており、しばしば
マイクロプログラムのソフトウエアで実現され
る。しかしながら、このポリング法は時間とマイ
クロプログラムメモリのスペースを消費する。シ
ステムの処理能力比が低下し、応答時間が増大
し、こういう場合でなければ付加的な目的に使用
できるであろうマイクロプログラムスペースがこ
れらの非同期式事実に対する応答のハンドリング
専用とされる。
非同期式事象は「割込」と名付けられる技法を
通して統制することもでき、その場合には事象が
要求信号を発生する。要求信号の受信時にマイク
ロコンピユータシステムは、それが現在実行して
いるプログラムを中止して事象サービスルーチン
を実行し、その後その中止されたプログラムの実
行を再び行なうことができる。この方法は回路の
付加的費用をかけて、特に高性能動作システムに
好ましい。マイクロコンピユータがすべてのステ
ータス信号を登録しなければならないことによつ
て重荷を負わされることはない。むしろサービス
ルーチンは要求されたときだけ実行される。この
ようにして、応答時間が早いので一層有効であ
る。そして今日の高性能なデータ処理システムに
よつて求められるのはこの低い応答時間である。
通して統制することもでき、その場合には事象が
要求信号を発生する。要求信号の受信時にマイク
ロコンピユータシステムは、それが現在実行して
いるプログラムを中止して事象サービスルーチン
を実行し、その後その中止されたプログラムの実
行を再び行なうことができる。この方法は回路の
付加的費用をかけて、特に高性能動作システムに
好ましい。マイクロコンピユータがすべてのステ
ータス信号を登録しなければならないことによつ
て重荷を負わされることはない。むしろサービス
ルーチンは要求されたときだけ実行される。この
ようにして、応答時間が早いので一層有効であ
る。そして今日の高性能なデータ処理システムに
よつて求められるのはこの低い応答時間である。
しかし、今日得られるバイポーラマイクロコン
ピユータシステムで割込技法を使うことには、ま
た多少の問題と不利益が存在する。現在、付加的
な回路が必要であり、またシーケンサは割込要求
回路自身をサービスする時間を持つようにプログ
ラムされなければならない。さらに割込技法は現
在実行しているプログラムを中止する前に、割込
要求信号が受信されたときに実行されていたイン
ストラクシヨンが完遂されるのを許容するように
通常行なわれる。その結果すべてのレジスタとプ
ログラムカウンタの新しい内容、および或る他の
量が貯蔵され、それから制御が適当な割込事象サ
ービスルーチンへ移送される。
ピユータシステムで割込技法を使うことには、ま
た多少の問題と不利益が存在する。現在、付加的
な回路が必要であり、またシーケンサは割込要求
回路自身をサービスする時間を持つようにプログ
ラムされなければならない。さらに割込技法は現
在実行しているプログラムを中止する前に、割込
要求信号が受信されたときに実行されていたイン
ストラクシヨンが完遂されるのを許容するように
通常行なわれる。その結果すべてのレジスタとプ
ログラムカウンタの新しい内容、および或る他の
量が貯蔵され、それから制御が適当な割込事象サ
ービスルーチンへ移送される。
しかしながら、かなりの非同期式事象は現在実
行されているマイクロインストラクシヨンの完遂
が取消せないエラーを引起こすという性質を持つ
ている。たとえば、現在のマイクロインストラク
シヨンが単一サイクルでワードの境界を横切つて
メモリへワードの書込を要求している場合であ
る。そのようなエラーを避けるために、現在のマ
イクロプログラム・シーケンス・コントローラは
トラツプと名付けられるものを履行する、実質的
な量の外部論理回路を特別に装備されなければな
らない。そのような回路には、チツプ数の増加、
チツプコスト、ピンの相互接続、スペースの必要
性、およびチツプ間の信号伝播遅延が伴なう。
行されているマイクロインストラクシヨンの完遂
が取消せないエラーを引起こすという性質を持つ
ている。たとえば、現在のマイクロインストラク
シヨンが単一サイクルでワードの境界を横切つて
メモリへワードの書込を要求している場合であ
る。そのようなエラーを避けるために、現在のマ
イクロプログラム・シーケンス・コントローラは
トラツプと名付けられるものを履行する、実質的
な量の外部論理回路を特別に装備されなければな
らない。そのような回路には、チツプ数の増加、
チツプコスト、ピンの相互接続、スペースの必要
性、およびチツプ間の信号伝播遅延が伴なう。
発明の要約
本発明は現在実行しているインストラクシヨン
の流れの割込とトラツプのどちらをも許すチツプ
上の回路を有するマイクロプログラム・シーケン
ス・コントローラに向けられている。どのような
所与の適用においても、非同期式事象をハンドリ
ングする特別な方法は外部の信号の特別なセツト
をコントローラのターミナルピンへ与えることに
よつて使用者に簡単に選ばれる。全体的なコント
ローラの構造はそれが単一の集積回路として作成
できるように構成される。
の流れの割込とトラツプのどちらをも許すチツプ
上の回路を有するマイクロプログラム・シーケン
ス・コントローラに向けられている。どのような
所与の適用においても、非同期式事象をハンドリ
ングする特別な方法は外部の信号の特別なセツト
をコントローラのターミナルピンへ与えることに
よつて使用者に簡単に選ばれる。全体的なコント
ローラの構造はそれが単一の集積回路として作成
できるように構成される。
本発明によれば、マイクロプログラムメモリに
記憶されているマイクロインストラクシヨンの実
行シーケンスを制御するように意図されたアドレ
スシーケンサとして使用されるマイクロプログラ
ムコントローラは非同期式事象ハンドリング要求
(以下「トラツプ」という)に応答して、コント
ローラが現在実行しているマイクロインストラク
シヨンの実行を打切つて所定のサブルーチンへブ
ランチするのを自動的に許す回路が設けられる。
そのコントローラはシーケンシヤルなセツトのマ
イクロインストラクシヨンをアクセスするために
マイクロプログラムメモリへ与えられるシーケン
シヤルなアドレスを発生する回路、発生されたア
ドレスを保持するプログラムアドレスレジスタ、
ランダムアクセスメモリ(RAM)、ラストイン、
フアーストアウトスタツクおよび割込/トラツプ
ハンドリング論理回路を含んでいる。
記憶されているマイクロインストラクシヨンの実
行シーケンスを制御するように意図されたアドレ
スシーケンサとして使用されるマイクロプログラ
ムコントローラは非同期式事象ハンドリング要求
(以下「トラツプ」という)に応答して、コント
ローラが現在実行しているマイクロインストラク
シヨンの実行を打切つて所定のサブルーチンへブ
ランチするのを自動的に許す回路が設けられる。
そのコントローラはシーケンシヤルなセツトのマ
イクロインストラクシヨンをアクセスするために
マイクロプログラムメモリへ与えられるシーケン
シヤルなアドレスを発生する回路、発生されたア
ドレスを保持するプログラムアドレスレジスタ、
ランダムアクセスメモリ(RAM)、ラストイン、
フアーストアウトスタツクおよび割込/トラツプ
ハンドリング論理回路を含んでいる。
非同期式事象ハンドリング要求が受信される
と、割込/トラツプハンドリング論理は要求をサ
ービスするためにどのモードが採用されるべきか
を決定する。すなわち、その要求は現在実行して
いるマイクロインストラクシヨンの実行の次に現
在のインストラクシヨンの流れに割込をかけるこ
とによつて、または現在実行しているマイクロイ
ンストラクシヨンの流れをトラツプするとともに
現在実行しているマイクロインストラクシヨンを
打切ることによつてサービスされる。論理回路は
コントローラに現在残存している情報を記憶す
る。それによつて、その情報は現在実行している
流れの適当な点に戻る。すなわち、割込されたマ
イクロインストラクシヨンの次に続くマイクロイ
ンストラクシヨン、またはトラツプされたとき実
行していたマイクロインストラクシヨンのいずれ
かに非同期式事象をサービスするサブルーチンが
完遂した後で戻る。
と、割込/トラツプハンドリング論理は要求をサ
ービスするためにどのモードが採用されるべきか
を決定する。すなわち、その要求は現在実行して
いるマイクロインストラクシヨンの実行の次に現
在のインストラクシヨンの流れに割込をかけるこ
とによつて、または現在実行しているマイクロイ
ンストラクシヨンの流れをトラツプするとともに
現在実行しているマイクロインストラクシヨンを
打切ることによつてサービスされる。論理回路は
コントローラに現在残存している情報を記憶す
る。それによつて、その情報は現在実行している
流れの適当な点に戻る。すなわち、割込されたマ
イクロインストラクシヨンの次に続くマイクロイ
ンストラクシヨン、またはトラツプされたとき実
行していたマイクロインストラクシヨンのいずれ
かに非同期式事象をサービスするサブルーチンが
完遂した後で戻る。
本発明の割込/トラツプハンドリング論理は割
込/トラツプのどんな収容レベルをも統制でき
る。本発明の特徴と利益の十分な理解のために添
付図面に関係してなされる後に続く詳細な説明を
参照されたい。
込/トラツプのどんな収容レベルをも統制でき
る。本発明の特徴と利益の十分な理解のために添
付図面に関係してなされる後に続く詳細な説明を
参照されたい。
好ましい実施例の説明
A 一般
今日多くのデイジタルデバイスはマイクロプロ
グラミングを利用している。そのようなデバイス
では、デバイスコントロールの大部分がゲートや
フリツプフロツプの大きなアレイよりもむしろ、
リード・オンリ・メモリ(ROM)を利用して遂
行される。この方法はしばしばデイジタルデバイ
スにおけるパツケージ数を減少させるとともに、
ランダムロジツクの使用では存在しない高配列の
構造を提供する。さらに、マイクロプログラミン
グはデバイスのインストラクシヨン変更を非常に
簡単にセツトしてデバイスの生産後の技術コスト
を実質的に引下げる。
グラミングを利用している。そのようなデバイス
では、デバイスコントロールの大部分がゲートや
フリツプフロツプの大きなアレイよりもむしろ、
リード・オンリ・メモリ(ROM)を利用して遂
行される。この方法はしばしばデイジタルデバイ
スにおけるパツケージ数を減少させるとともに、
ランダムロジツクの使用では存在しない高配列の
構造を提供する。さらに、マイクロプログラミン
グはデバイスのインストラクシヨン変更を非常に
簡単にセツトしてデバイスの生産後の技術コスト
を実質的に引下げる。
第1図はプログラマブル・デイジタルデバイス
で使用される典型的なマイクロプロセツサシステ
ムの構成を示しており、2つの異なるセクシヨ
ン、すなわち左側のインストラクシヨン取得およ
び処理のセクシヨンAと右側のデータ取得および
処理取扱いのセクシヨンBとに分けることができ
る。セクシヨンAは、その心臓部として、一般に
参照番号10で表わされる、本発明のマイクロプ
ログラム・シーケンス・コントローラを有してい
る。データ取得および取扱いセクシヨンBは一般
に12として表示されるデータ処理回路を有して
おり、そのデータ処理回路はワーキングレジスタ
14、演算論理装置(ALU)16およびステー
タスレジスタ18を含んでいる。データ処理回路
は、プログラムカウンタ22によつてアドレスさ
れメモリアドレスレジスタ24を通してアクセス
されるメモリ20から獲得したデータを一般に2
1として表わされるデータ取得回路によつて指定
された機械命令によつて要求されるどんな動作で
もそれを実行することによつて処理する。各機械
命令はマイクロプログラム・シーケンス・コント
ローラ10により選択されたマイクロインストラ
クシヨンのシーケンスによつてマイクロプロセツ
サ上で履行される。
で使用される典型的なマイクロプロセツサシステ
ムの構成を示しており、2つの異なるセクシヨ
ン、すなわち左側のインストラクシヨン取得およ
び処理のセクシヨンAと右側のデータ取得および
処理取扱いのセクシヨンBとに分けることができ
る。セクシヨンAは、その心臓部として、一般に
参照番号10で表わされる、本発明のマイクロプ
ログラム・シーケンス・コントローラを有してい
る。データ取得および取扱いセクシヨンBは一般
に12として表示されるデータ処理回路を有して
おり、そのデータ処理回路はワーキングレジスタ
14、演算論理装置(ALU)16およびステー
タスレジスタ18を含んでいる。データ処理回路
は、プログラムカウンタ22によつてアドレスさ
れメモリアドレスレジスタ24を通してアクセス
されるメモリ20から獲得したデータを一般に2
1として表わされるデータ取得回路によつて指定
された機械命令によつて要求されるどんな動作で
もそれを実行することによつて処理する。各機械
命令はマイクロプログラム・シーケンス・コント
ローラ10により選択されたマイクロインストラ
クシヨンのシーケンスによつてマイクロプロセツ
サ上で履行される。
議論の目的のために第1図に示される或るブロ
ツクは指定のラインによつてはつきりと相互接続
されて示されているが、図示されたブロツク間の
データ伝送が双方向データバス26に沿つて行な
われるということは理解されるべきである。同様
にアドレスはアドレスバス28によつて図示のブ
ロツク間を伝送される。
ツクは指定のラインによつてはつきりと相互接続
されて示されているが、図示されたブロツク間の
データ伝送が双方向データバス26に沿つて行な
われるということは理解されるべきである。同様
にアドレスはアドレスバス28によつて図示のブ
ロツク間を伝送される。
マイクロプログラム・シーケンス・コントロー
ラ10は最終的にマイクロプログラムメモリ30
から発生するマイクロインストラクシヨンのシー
ケンスを決定するアドレスを発生する。マイクロ
プログラム・シーケンス・コントローラ10によ
つて発生されたアドレスはコントローラ10のデ
ータOUTターミナルからYアドレスバス32に
よつてマイクロプログラムメモリ30のアドレス
回路(図示せず)へ伝送される。そのようなマイ
クロインストラクシヨンアドレスの供給を受け
て、マイクロプログラムメモリ30はマイクロイ
ンストラクシヨンバス34に通常32もしくはそ
れ以上のビツトオーダのワード長からなるマイク
ロインストラクシヨンを発生する。
ラ10は最終的にマイクロプログラムメモリ30
から発生するマイクロインストラクシヨンのシー
ケンスを決定するアドレスを発生する。マイクロ
プログラム・シーケンス・コントローラ10によ
つて発生されたアドレスはコントローラ10のデ
ータOUTターミナルからYアドレスバス32に
よつてマイクロプログラムメモリ30のアドレス
回路(図示せず)へ伝送される。そのようなマイ
クロインストラクシヨンアドレスの供給を受け
て、マイクロプログラムメモリ30はマイクロイ
ンストラクシヨンバス34に通常32もしくはそ
れ以上のビツトオーダのワード長からなるマイク
ロインストラクシヨンを発生する。
マイクロインストラクシヨンバス34はパイプ
ラインレジスタ36のデータ入力にマイクロイン
ストラクシヨンを伝送する。そのパイプラインレ
ジスタはマイクロインストラクシヨンを受信し一
時的に保持する。マイクロインストラクシヨンが
パイプラインレジスタ36に入つている間、その
レジスタの出力ラインは種々のシステム素子へい
く。そのマイクロインストラクシヨンの一部は実
行されるべき次のマイクロコンピユータのアドレ
スを決定するためにシーケンス・コントローラへ
戻される。次のアドレスはマイクロプログラム・
シーケンス・コントローラ10によつて計算さ
れ、Yアドレスバス32を通してマイクロプログ
ラムメモリ30へ伝送される。そして次のマイク
ロインストラクシヨンがパイプラインレジスタ3
6の入力へ着席する。
ラインレジスタ36のデータ入力にマイクロイン
ストラクシヨンを伝送する。そのパイプラインレ
ジスタはマイクロインストラクシヨンを受信し一
時的に保持する。マイクロインストラクシヨンが
パイプラインレジスタ36に入つている間、その
レジスタの出力ラインは種々のシステム素子へい
く。そのマイクロインストラクシヨンの一部は実
行されるべき次のマイクロコンピユータのアドレ
スを決定するためにシーケンス・コントローラへ
戻される。次のアドレスはマイクロプログラム・
シーケンス・コントローラ10によつて計算さ
れ、Yアドレスバス32を通してマイクロプログ
ラムメモリ30へ伝送される。そして次のマイク
ロインストラクシヨンがパイプラインレジスタ3
6の入力へ着席する。
マイクロプログラム・シーケンス・コントロー
ラ10へ戻るマイクロインストラクシヨンのそれ
らの部分はコントローラ・インストラクシヨンバ
ス38によつて伝送される6ビツトのコントロー
ラ・インストラクシヨンワードと、コントロー
ラ・データバス40によつてシーケンス・コント
ローラ10のデータバス入力へ伝送されるマルチ
ビツトのデータワードとを含んでいる。
ラ10へ戻るマイクロインストラクシヨンのそれ
らの部分はコントローラ・インストラクシヨンバ
ス38によつて伝送される6ビツトのコントロー
ラ・インストラクシヨンワードと、コントロー
ラ・データバス40によつてシーケンス・コント
ローラ10のデータバス入力へ伝送されるマルチ
ビツトのデータワードとを含んでいる。
マイクロインストラクシヨンの他の部分はプロ
セツサ・インストラクシヨンバス42に沿つてデ
ータ処理回路12へ伝達されるコントロール信号
である。メモリ20からワーキングレジスタ14
へ移送されて演算論理装置で処理され、その結果
がメモリ20へ移送されるデータをこれらの信号
は生じさせる。データ処理の間、プロセツサは或
るビツトをステータスレジスタ18へセツトす
る。プロセツサデバイスはこの情報をマイクロプ
ログラム・シーケンス・コントローラ10へ伝送
することができる。たとえば、ステータスレジス
タ18の信号はデータ処理回路の条件テスト
(CT)出力へもたらされ得る。データ処理回路は
CT出力へ複数の条件テスト信号をマルチプレク
スできる回路を含む。ここで記述する機能を与え
るデータ処理回路の詳細な説明はジヨン ミツク
とジム ブリツクによる「ビツトスライス・マイ
クロプロセツサの設計」、Mc Graw−Hill,1980
ISBN 0−07−041781−4に記載されている。
セツサ・インストラクシヨンバス42に沿つてデ
ータ処理回路12へ伝達されるコントロール信号
である。メモリ20からワーキングレジスタ14
へ移送されて演算論理装置で処理され、その結果
がメモリ20へ移送されるデータをこれらの信号
は生じさせる。データ処理の間、プロセツサは或
るビツトをステータスレジスタ18へセツトす
る。プロセツサデバイスはこの情報をマイクロプ
ログラム・シーケンス・コントローラ10へ伝送
することができる。たとえば、ステータスレジス
タ18の信号はデータ処理回路の条件テスト
(CT)出力へもたらされ得る。データ処理回路は
CT出力へ複数の条件テスト信号をマルチプレク
スできる回路を含む。ここで記述する機能を与え
るデータ処理回路の詳細な説明はジヨン ミツク
とジム ブリツクによる「ビツトスライス・マイ
クロプロセツサの設計」、Mc Graw−Hill,1980
ISBN 0−07−041781−4に記載されている。
データ処理回路12のCT出力に現われるテス
ト信号はステータス信号ライン44を通してマイ
クロプログラム・コントローラ10のテスト入力
へ供給され、そこで選択入力S0−S3の制御のも
とで、それらはマイクロプログラムメモリ30に
与えられるアドレスを条件的に修正するために使
用される。
ト信号はステータス信号ライン44を通してマイ
クロプログラム・コントローラ10のテスト入力
へ供給され、そこで選択入力S0−S3の制御のも
とで、それらはマイクロプログラムメモリ30に
与えられるアドレスを条件的に修正するために使
用される。
マイクロインストラクシヨン・ブランチアドレ
スは5つのソースのいずれか1つから得ることが
できる:第1はマイクロプログラム・シーケン
ス・コントローラのデータイン入力へ通じるコン
トローラ・データバス40からのものである。な
お、マイクロプログラム・シーケンス・コントロ
ーラでは、それがマイクロプログラム・アドレス
に使用される。マイクロインストラクシヨン・ア
ドレスの第2の可能なソースはマイクロインスト
ラクシヨン・レジスタ51を通してマイクロプロ
グラム・シーケンス・コントローラ10のAUX
−データイン入力へ接続されるマツピング・リー
ド・オンリ・メモリ(ROM)からである。これ
らのアドレスはデータイン入力上のアドレスに対
し二者択一的なものとして或るマイクロインスト
ラクシヨンによつて利用される。マツピング
ROMは典型的に始動マイクロルーチン・ブラン
チアドレスを含んでおり、それ自身インストラク
シヨンレジスタ52の出力によつてアドレスされ
る。インストラクシヨンレジスタ52にはプログ
ラムカウンタ22の指令のもとにメモリ20から
機械命令が与えられる。機械命令は(マイクロプ
ログラムメモリ30に記憶されている)いくつか
のマイクロインストラクシヨンをシーケンスに遂
行することによつて実行される。
スは5つのソースのいずれか1つから得ることが
できる:第1はマイクロプログラム・シーケン
ス・コントローラのデータイン入力へ通じるコン
トローラ・データバス40からのものである。な
お、マイクロプログラム・シーケンス・コントロ
ーラでは、それがマイクロプログラム・アドレス
に使用される。マイクロインストラクシヨン・ア
ドレスの第2の可能なソースはマイクロインスト
ラクシヨン・レジスタ51を通してマイクロプロ
グラム・シーケンス・コントローラ10のAUX
−データイン入力へ接続されるマツピング・リー
ド・オンリ・メモリ(ROM)からである。これ
らのアドレスはデータイン入力上のアドレスに対
し二者択一的なものとして或るマイクロインスト
ラクシヨンによつて利用される。マツピング
ROMは典型的に始動マイクロルーチン・ブラン
チアドレスを含んでおり、それ自身インストラク
シヨンレジスタ52の出力によつてアドレスされ
る。インストラクシヨンレジスタ52にはプログ
ラムカウンタ22の指令のもとにメモリ20から
機械命令が与えられる。機械命令は(マイクロプ
ログラムメモリ30に記憶されている)いくつか
のマイクロインストラクシヨンをシーケンスに遂
行することによつて実行される。
マイクロプログラム・シーケンス・コントロー
ラ10へのいわゆる4ビツトマルチウエイ入力
M0,M1,M2およびM3が第3のマイクロインス
トラクシヨン・ブランスチアドレス・ソースであ
り、それによつて或るマイクロインストラクシヨ
ンはデータイン入力の2つの最下位ビツト値に依
存してそのデータイン入力の最下位4ビツトの代
わりにM0,M1,M2またはM3に現われる4ビツ
トパターンの1つを置換えるのを許容する。
ラ10へのいわゆる4ビツトマルチウエイ入力
M0,M1,M2およびM3が第3のマイクロインス
トラクシヨン・ブランスチアドレス・ソースであ
り、それによつて或るマイクロインストラクシヨ
ンはデータイン入力の2つの最下位ビツト値に依
存してそのデータイン入力の最下位4ビツトの代
わりにM0,M1,M2またはM3に現われる4ビツ
トパターンの1つを置換えるのを許容する。
第4および第5のマイクロインストラクシヨ
ン・ブランチアドレス・ソースはコントローラ1
0の内部レジスタからのものである;たとえばス
タツクレジスタのトツプからの戻りアドレスもし
くはループアドレスまたはマイクロプログラム・
カウンタレジスタからの次のシーケンスアドレス
である。
ン・ブランチアドレス・ソースはコントローラ1
0の内部レジスタからのものである;たとえばス
タツクレジスタのトツプからの戻りアドレスもし
くはループアドレスまたはマイクロプログラム・
カウンタレジスタからの次のシーケンスアドレス
である。
マイクロプログラム・シーケンス・コントロー
ラ10は内部マルチプレクサを有している。その
マルチプレクサはマイクロインストラクシヨンの
指令に基づいて5つのブランチアドレス・ソース
の特定の1つを選択するのをコントロールする。
ラ10は内部マルチプレクサを有している。その
マルチプレクサはマイクロインストラクシヨンの
指令に基づいて5つのブランチアドレス・ソース
の特定の1つを選択するのをコントロールする。
マイクロプログラム・シーケンス・コントロー
ラの典型的な適用では、非同期式事象ハンドリン
グ要求をサービスする回路54が含まれる。たと
えば第1図に示されるように割込/トラツプコン
トローラ50と割込/トラツプベクトルPROM
(IVP)58である。割込/トラツプコントロー
ラ56はその入力(1,2,…n)において
ある種のサービス(すなわち、データ移送、読出
切換等)を要求する周辺装置から対応する信号ラ
イン60を通して割込もしくはトラツプ信号を受
取る。割込もしくはトラツプ信号がその1−
n入力の1つで受信されると、割込/トラツプコ
ントローラ56は、その割込/トラツプ
(INT/TRAP)出力から割込もしくはトラツプ
要求信号を発生する。その信号は信号ライン61
を通してマイクロプログラムコントローラ10の
1組の割込/トラツプ(INTR/TRP)入力へ
伝送される。わかるように、マイクロプログラム
コントローラ10により、そのINTR/TRP入
力に受信された信号によつてそのコントローラは
コントローラ10の種々のレジスタに現在含まれ
ている情報を記憶するように記憶ルーチンを始動
させる。これは適当な場所で現在のマイクロイン
ストラクシヨン・シーケンスに戻るのを可能にす
るためである。
ラの典型的な適用では、非同期式事象ハンドリン
グ要求をサービスする回路54が含まれる。たと
えば第1図に示されるように割込/トラツプコン
トローラ50と割込/トラツプベクトルPROM
(IVP)58である。割込/トラツプコントロー
ラ56はその入力(1,2,…n)において
ある種のサービス(すなわち、データ移送、読出
切換等)を要求する周辺装置から対応する信号ラ
イン60を通して割込もしくはトラツプ信号を受
取る。割込もしくはトラツプ信号がその1−
n入力の1つで受信されると、割込/トラツプコ
ントローラ56は、その割込/トラツプ
(INT/TRAP)出力から割込もしくはトラツプ
要求信号を発生する。その信号は信号ライン61
を通してマイクロプログラムコントローラ10の
1組の割込/トラツプ(INTR/TRP)入力へ
伝送される。わかるように、マイクロプログラム
コントローラ10により、そのINTR/TRP入
力に受信された信号によつてそのコントローラは
コントローラ10の種々のレジスタに現在含まれ
ている情報を記憶するように記憶ルーチンを始動
させる。これは適当な場所で現在のマイクロイン
ストラクシヨン・シーケンスに戻るのを可能にす
るためである。
受諾した非同期事象ハンドリング要求を受信し
てから、コントローラ10は出力に承認割
込/トラツプ信号を発生する。その信号はライン
62を通してIVP58と割込/トラツプコントロ
ーラ56へ送られる。その割込/トラツプコント
ローラはサービスを要求する特定の装置を識別す
るマルチビツトワードを作り出す。その作り出さ
れたワードは信号ライン64によつてIVP58へ
伝送される。IVP58の各記憶場所は個々の要求
をサービスするのに必要なマイクロプログラムメ
モリ30に含まれている各マイクロプログラム・
シーケンスのアドレスを含んでいる。したがつ
て、割込/トラツプコントローラ56によつて発
生され信号ライン64により伝送されるコード化
ワードはIVP58のアドレス回路へ供給される。
今度はIVPが、必要となつた非同期式事象ハンド
リング・サブルーチンの第1マイクロインストラ
クシヨン・アドレスをベクトルアドレスバス66
を通してマイクロプログラムメモリ30へ伝送す
る。そのベクトルアドレスバスは3状態のバツフ
アを通してYアドレスバス32に相互接続してい
る。
てから、コントローラ10は出力に承認割
込/トラツプ信号を発生する。その信号はライン
62を通してIVP58と割込/トラツプコントロ
ーラ56へ送られる。その割込/トラツプコント
ローラはサービスを要求する特定の装置を識別す
るマルチビツトワードを作り出す。その作り出さ
れたワードは信号ライン64によつてIVP58へ
伝送される。IVP58の各記憶場所は個々の要求
をサービスするのに必要なマイクロプログラムメ
モリ30に含まれている各マイクロプログラム・
シーケンスのアドレスを含んでいる。したがつ
て、割込/トラツプコントローラ56によつて発
生され信号ライン64により伝送されるコード化
ワードはIVP58のアドレス回路へ供給される。
今度はIVPが、必要となつた非同期式事象ハンド
リング・サブルーチンの第1マイクロインストラ
クシヨン・アドレスをベクトルアドレスバス66
を通してマイクロプログラムメモリ30へ伝送す
る。そのベクトルアドレスバスは3状態のバツフ
アを通してYアドレスバス32に相互接続してい
る。
IVP58から伝送されるベクトルアドレスがマ
イクロプログラムメモリ30へ供給されると、非
同期式事象要求サービスを扱うのに必要なサブル
ーチンのためのマイクロインストラクシヨンがパ
イプラインレジスタ36へロードされる。すべて
のマイクロインストラクシヨンの場合と同様に、
パイプラインレジスタ36に含まれているマイク
ロインストラクシヨン部分はマイクロプログラ
ム・シーケンス・コントローラ10に非同期式事
象サブルーチンのマイクロインストラクシヨン・
シーケンスを制御させるためにコントローラ・イ
ンストラクシヨンバス38を通してマイクロプロ
グラム・シーケンス・コントローラ10へ戻され
る。さらに、これらのマイクロインストラクシヨ
ン部分はバス38を通して割込/トラツプコント
ローラ56へ送られる。そこではマイクロインス
トラクシヨン部分を内部制御信号を発生させるた
めに使用する。非同期式事象がサービスされてい
るとき、最後のマイクロインストラクシヨンによ
つてマイクロプログラム・シーケンス・コントロ
ーラはそれがジヤンプしたアドレス発生のプログ
ラムシーケンスに戻る。
イクロプログラムメモリ30へ供給されると、非
同期式事象要求サービスを扱うのに必要なサブル
ーチンのためのマイクロインストラクシヨンがパ
イプラインレジスタ36へロードされる。すべて
のマイクロインストラクシヨンの場合と同様に、
パイプラインレジスタ36に含まれているマイク
ロインストラクシヨン部分はマイクロプログラ
ム・シーケンス・コントローラ10に非同期式事
象サブルーチンのマイクロインストラクシヨン・
シーケンスを制御させるためにコントローラ・イ
ンストラクシヨンバス38を通してマイクロプロ
グラム・シーケンス・コントローラ10へ戻され
る。さらに、これらのマイクロインストラクシヨ
ン部分はバス38を通して割込/トラツプコント
ローラ56へ送られる。そこではマイクロインス
トラクシヨン部分を内部制御信号を発生させるた
めに使用する。非同期式事象がサービスされてい
るとき、最後のマイクロインストラクシヨンによ
つてマイクロプログラム・シーケンス・コントロ
ーラはそれがジヤンプしたアドレス発生のプログ
ラムシーケンスに戻る。
マイクロプログラム・シーケンス・コントロー
ラ10のINTR/TRP入力ターミナルへ供給さ
れる、割込駆動(INTEN)信号、トラツプ要求
信号(INTR)、強制継続(FC)信号、およびア
ドレス増分器への補数キヤリーイン(−)
信号のごとき或る外部信号の状態に依存して、前
記戻りは、割込の場合には非同期式事象要求が受
信されたとき遂行されていたマイクロインストラ
クシヨンの次に続くマイクロインストラクシヨン
に対してであり、またトラツプの場合には非同期
式事象要求が受信されたとき挫折した同じマイク
ロインストラクシヨンの再遂行のためである。
ラ10のINTR/TRP入力ターミナルへ供給さ
れる、割込駆動(INTEN)信号、トラツプ要求
信号(INTR)、強制継続(FC)信号、およびア
ドレス増分器への補数キヤリーイン(−)
信号のごとき或る外部信号の状態に依存して、前
記戻りは、割込の場合には非同期式事象要求が受
信されたとき遂行されていたマイクロインストラ
クシヨンの次に続くマイクロインストラクシヨン
に対してであり、またトラツプの場合には非同期
式事象要求が受信されたとき挫折した同じマイク
ロインストラクシヨンの再遂行のためである。
機械命令と呼ばれるものがインストラクシヨン
レジスタ52へロードされる。インストラクシヨ
ンレジスタ52の内容はマツピングROM50へ
供給され、そのROMは(インストラクシヨンレ
ジスタ52により保持された命令によつて特定さ
れる)要求された機能を実行するために遂行され
なければならないマイクロプログラムメモリ30
の第1のマイクロインストラクシヨンのアドレス
を発生する。このアドレスへのブランチがマイク
ロプログラム・シーケンス・コントローラ10を
通して起こる。機械命令は遂行されるべきいくつ
かのマイクロインストラクシヨンを要求する。た
とえばメモリ20からのデータの取出、ALU1
6内での演算または論理動作の実行、オーバーフ
ローもしくは他のステータスの表示テスト、およ
びそれに従つてステータスレジスタ18のセツト
などである。機械命令によつて要求されるマイク
ロインストラクシヨンの完了に従つて、コントロ
ーラ10は通常インストラクシヨン取出サイクル
を始動する。しかしながら、この点で、マイクロ
コードの他の部分にブランチがあるかもしれな
い。たとえば、マイクロプロセツサはIVP58か
ら割込サービスルーチンアドレスを得るために割
込コントローラ入力60の1つに割込を受信する
かもしれない。
レジスタ52へロードされる。インストラクシヨ
ンレジスタ52の内容はマツピングROM50へ
供給され、そのROMは(インストラクシヨンレ
ジスタ52により保持された命令によつて特定さ
れる)要求された機能を実行するために遂行され
なければならないマイクロプログラムメモリ30
の第1のマイクロインストラクシヨンのアドレス
を発生する。このアドレスへのブランチがマイク
ロプログラム・シーケンス・コントローラ10を
通して起こる。機械命令は遂行されるべきいくつ
かのマイクロインストラクシヨンを要求する。た
とえばメモリ20からのデータの取出、ALU1
6内での演算または論理動作の実行、オーバーフ
ローもしくは他のステータスの表示テスト、およ
びそれに従つてステータスレジスタ18のセツト
などである。機械命令によつて要求されるマイク
ロインストラクシヨンの完了に従つて、コントロ
ーラ10は通常インストラクシヨン取出サイクル
を始動する。しかしながら、この点で、マイクロ
コードの他の部分にブランチがあるかもしれな
い。たとえば、マイクロプロセツサはIVP58か
ら割込サービスルーチンアドレスを得るために割
込コントローラ入力60の1つに割込を受信する
かもしれない。
第1図のマイクロプロセツサの同期動作を行な
うためにシステムクロツク68が設けられる。こ
のシステムクロツクは第1図のマイクロプロセツ
サの各素子にクロツクライン70により伝送され
るクロツクパルスを発生する。
うためにシステムクロツク68が設けられる。こ
のシステムクロツクは第1図のマイクロプロセツ
サの各素子にクロツクライン70により伝送され
るクロツクパルスを発生する。
マイクロプログラム・シーケンス・コントロー
ラ10は内部と外部状態の故障が検出できるよう
に他のシーケンスコントローラとマスタ/スレイ
ブ構成で動作できる。2つのコントローラは並列
に動作し、1つのシーケンサはマスタとして指定
され通常上述したように動作する。第2のコント
ローラはスレイブ入力にハイ信号を与えるととも
にエラー出力以外のすべての出力をマスタコント
ローラの対応出力に接続することによつてスレイ
ブモードに設定される。マスタコントローラのエ
ラー出力のハイ信号は誤動作しているドライバも
しくはバスのごとき外部デバイスの競合を示す。
スレイブコントローラのエラー出力のハイ信号は
いずれかのコントローラでのエラーを示す。
ラ10は内部と外部状態の故障が検出できるよう
に他のシーケンスコントローラとマスタ/スレイ
ブ構成で動作できる。2つのコントローラは並列
に動作し、1つのシーケンサはマスタとして指定
され通常上述したように動作する。第2のコント
ローラはスレイブ入力にハイ信号を与えるととも
にエラー出力以外のすべての出力をマスタコント
ローラの対応出力に接続することによつてスレイ
ブモードに設定される。マスタコントローラのエ
ラー出力のハイ信号は誤動作しているドライバも
しくはバスのごとき外部デバイスの競合を示す。
スレイブコントローラのエラー出力のハイ信号は
いずれかのコントローラでのエラーを示す。
B 割込/トラツプハンドリング・マイクロプロ
グラム・コントローラ 本発明の割込/トラツプハンドリング回路は第
2図に示される特殊な内部構成を持つたマイクロ
プログラム・シーケンス・コントローラ10に関
して説明されるが、その内部構造、内部素子のタ
イプ、それによつて処理されるビツトの数などは
本発明の種々の利益を与える限り必要に応じて変
えてもよい。
グラム・コントローラ 本発明の割込/トラツプハンドリング回路は第
2図に示される特殊な内部構成を持つたマイクロ
プログラム・シーケンス・コントローラ10に関
して説明されるが、その内部構造、内部素子のタ
イプ、それによつて処理されるビツトの数などは
本発明の種々の利益を与える限り必要に応じて変
えてもよい。
第2図に示されているコントローラ10は下で
述べる点を除きすべての点で関連の継続中の米国
出願第608,319号の第2図に示されるコントロー
ラと同一である。その関連の出願はオレ・モーラ
とサンジエイ・イヤのために1984年5月8日に出
願され本出願の譲受人に譲渡されており、そして
ここに本件出願のリフアレンスとして盛込まれて
いる「割込可能に構成されたマイクロプログラム
16ビツトアドレス・シーケンス・コントローラ」
と題する出願である。本発明のコントローラの割
込/トラツプハンドリングの点について述べる限
りのものを除き、本発明のコントローラの詳細な
説明は前記関連する係属中の出願に掲載されてい
る。本件コントローラによつて支持されるマイク
ロインストラクシヨンセツトはすべての関係する
点において前記係属中の関連出願に述べられてい
るインストラクシヨンセツトと同一である。
述べる点を除きすべての点で関連の継続中の米国
出願第608,319号の第2図に示されるコントロー
ラと同一である。その関連の出願はオレ・モーラ
とサンジエイ・イヤのために1984年5月8日に出
願され本出願の譲受人に譲渡されており、そして
ここに本件出願のリフアレンスとして盛込まれて
いる「割込可能に構成されたマイクロプログラム
16ビツトアドレス・シーケンス・コントローラ」
と題する出願である。本発明のコントローラの割
込/トラツプハンドリングの点について述べる限
りのものを除き、本発明のコントローラの詳細な
説明は前記関連する係属中の出願に掲載されてい
る。本件コントローラによつて支持されるマイク
ロインストラクシヨンセツトはすべての関係する
点において前記係属中の関連出願に述べられてい
るインストラクシヨンセツトと同一である。
本出願の第2A図はすべての点で係属中の関連
出願の第2A図と同一であり、その関連出願の中
の詳細な説明はすべての点で本出願の第2A図に
あてはまる。異なる点は、コントローラ10への
強制継続(FC)入力と割込駆動(INTEN)入力
と割込要求(INTR)入力および第2A図では割
込/トラツプ論理回路176と改名されている割
込論理回路176へ接続された割込承認
()出力とを含む本出願の第1図に一括し
てINTR/TRPとして表わされた入力ターミナ
ルセツトの用意、マイクロプログラムカウンタ
(MPC)レジスタ154と増分器158の相対的
な位置、および割込/トラツプ論理回路176か
らの信号をコントロール100の割込禁止
(DIS)入力と増分器158の保持Z(ホールド
Z)入力へ伝送する信号ラインの存在、そしてコ
ントローラ10の補数キヤリーイン(−)
入力ターミナルからの信号を増分器158へ伝送
する信号ラインの存在である。−ターミナ
ルは第1図のINTR/TRPと表示されている入
力ターミナルセツトの一部である(本出願の第2
B図と係属中の関連出願の第2B図はすべての点
で同一であり、その関連出願の記載はすべての点
で本出願の第2B図にあてはまる)。
出願の第2A図と同一であり、その関連出願の中
の詳細な説明はすべての点で本出願の第2A図に
あてはまる。異なる点は、コントローラ10への
強制継続(FC)入力と割込駆動(INTEN)入力
と割込要求(INTR)入力および第2A図では割
込/トラツプ論理回路176と改名されている割
込論理回路176へ接続された割込承認
()出力とを含む本出願の第1図に一括し
てINTR/TRPとして表わされた入力ターミナ
ルセツトの用意、マイクロプログラムカウンタ
(MPC)レジスタ154と増分器158の相対的
な位置、および割込/トラツプ論理回路176か
らの信号をコントロール100の割込禁止
(DIS)入力と増分器158の保持Z(ホールド
Z)入力へ伝送する信号ラインの存在、そしてコ
ントローラ10の補数キヤリーイン(−)
入力ターミナルからの信号を増分器158へ伝送
する信号ラインの存在である。−ターミナ
ルは第1図のINTR/TRPと表示されている入
力ターミナルセツトの一部である(本出願の第2
B図と係属中の関連出願の第2B図はすべての点
で同一であり、その関連出願の記載はすべての点
で本出願の第2B図にあてはまる)。
もし、コントローラが割込を受信するように駆
動されているか、またはトラツプを受信するよう
に適合されており、かつリセツトされていないま
たは保持されている、すなわちハイがコントロー
ラ10の割込駆動(INTEN)と割込要求
(INTR)ターミナルに供給され、ローがリセツ
トおよびホールドターミナルへ供給されているな
らば、本発明のマイクロプログラム・シーケン
ス・コントローラ10は非同期式の事象を扱うこ
とができる。もしハイが強制継続(FC)ターミ
ナルと、増分器への補数キヤリーイン(−)
ターミナルとに与えられるならばトラツプが受信
できる。
動されているか、またはトラツプを受信するよう
に適合されており、かつリセツトされていないま
たは保持されている、すなわちハイがコントロー
ラ10の割込駆動(INTEN)と割込要求
(INTR)ターミナルに供給され、ローがリセツ
トおよびホールドターミナルへ供給されているな
らば、本発明のマイクロプログラム・シーケン
ス・コントローラ10は非同期式の事象を扱うこ
とができる。もしハイが強制継続(FC)ターミ
ナルと、増分器への補数キヤリーイン(−)
ターミナルとに与えられるならばトラツプが受信
できる。
本出願第2A図に関して、割込/トラツプ論理
回路176はコントローラ10の割込要求
(INTR)ターミナルで受信された信号を入力I1
で受取る。割込/トラツプ論理回路176ALU
は1組の入力I2,I3,I4,I5およびI6へ上記コント
ローラ10の他の5つの入力ターミナルで受信さ
れた信号を伝送する。それらの信号は入力I2へ通
じる割込駆動(INTEN)入力ターミナルの信
号、入力I3へ通じるリセツト(RESET)入力タ
ーミナルの信号、入力I4へ通じるHOLD入力ター
ミナルの信号、入力I5に通じるスレイブ
(SLAVE)入力ターミナルの信号および入力I6に
通じる強制継続(FC)ターミナルの信号である。
コントローラ10の割込承認()出力ター
ミナルは割込/トラツプ論理回路176の出力
(O)に接続されている。
回路176はコントローラ10の割込要求
(INTR)ターミナルで受信された信号を入力I1
で受取る。割込/トラツプ論理回路176ALU
は1組の入力I2,I3,I4,I5およびI6へ上記コント
ローラ10の他の5つの入力ターミナルで受信さ
れた信号を伝送する。それらの信号は入力I2へ通
じる割込駆動(INTEN)入力ターミナルの信
号、入力I3へ通じるリセツト(RESET)入力タ
ーミナルの信号、入力I4へ通じるHOLD入力ター
ミナルの信号、入力I5に通じるスレイブ
(SLAVE)入力ターミナルの信号および入力I6に
通じる強制継続(FC)ターミナルの信号である。
コントローラ10の割込承認()出力ター
ミナルは割込/トラツプ論理回路176の出力
(O)に接続されている。
コントローラ10のFCもしくはHOLDターミ
ナルでハイの発生を表わす信号もまた、組合わせ
論理回路(コントロール)100の割込禁止
(DIS)入力へ伝送される。その信号は第3図に
関連して後で述べるように、もしハイであればコ
ントロール100がコントロール100のINST
入力I0-5で受信されるインストラクシヨンワード
を拒絶する信号を発生するように仕向ける。
ナルでハイの発生を表わす信号もまた、組合わせ
論理回路(コントロール)100の割込禁止
(DIS)入力へ伝送される。その信号は第3図に
関連して後で述べるように、もしハイであればコ
ントロール100がコントロール100のINST
入力I0-5で受信されるインストラクシヨンワード
を拒絶する信号を発生するように仕向ける。
割込禁止(DIS)入力へ伝送される信号に加え
てコントロール100は割込/トラツプ論理回路
176から強制継続または保持(FCH−Z)入
力と割込処理(INT−Z)入力へ伝送される信
号を受信する。コントロール100はまたコント
ローラ10のFCターミナルの信号も受信する。
これらの信号の完全な説明は後で第3A図、第3
B図および第3C図の説明に関連して行なう。
てコントロール100は割込/トラツプ論理回路
176から強制継続または保持(FCH−Z)入
力と割込処理(INT−Z)入力へ伝送される信
号を受信する。コントロール100はまたコント
ローラ10のFCターミナルの信号も受信する。
これらの信号の完全な説明は後で第3A図、第3
B図および第3C図の説明に関連して行なう。
コントローラ10のRESET,SLAVE,
HOLDおよびターミナルの信号の機能と意
味は係属中の関連出願に記載されている。
HOLDおよびターミナルの信号の機能と意
味は係属中の関連出願に記載されている。
マイクロプログラム・シーケンス・コントロー
ラ10についての前記係属中の関連出願における
記載と違つて、本発明のマイクロプログラムカウ
ンタ(MPC)は現在実行されているマイクロイ
ンストラクシヨンのアドレスを含んでおり、また
増分器158は現在実行されているマイクロイン
ストラクシヨンプラス1のアドレスを含んでい
て、もしブランチが行なわれなければ実行される
次のマイクロインストラクシヨンを指定するよう
に使用される。MPCレジスタ154は信号ライ
ン174を通して割込マルチプレクサ(INT
MUX)172の出力のアドレスを受信する。
MPCレジスタ154は各クロツクサイクルでク
ロツクパルスCLKも受信する。結果の内容は信
号ライン156に沿つてMPCレジスタ154か
ら増分器158へ伝送される。その増分器は信号
ライン152を通してADDR MUX 116と
STACK MUX132へ現在のアドレスプラス1
を与える。増分器158はまたコントローラ10
の補数キヤリーイン(−)ターミナルへ供
給される信号も受信する。もし、増分器へのキヤ
リーイン−がハイであれば、増分器158
は禁止され、信号ライン156のMPCレジスタ
154から与えられるアドレスは不変のまま信号
ライン152へ導かれ、もし−がローであ
れば増分器158はMPCレジスタから受信され
たアドレスにそれが信号ライン152にもたらさ
れる前に1を付加える。
ラ10についての前記係属中の関連出願における
記載と違つて、本発明のマイクロプログラムカウ
ンタ(MPC)は現在実行されているマイクロイ
ンストラクシヨンのアドレスを含んでおり、また
増分器158は現在実行されているマイクロイン
ストラクシヨンプラス1のアドレスを含んでい
て、もしブランチが行なわれなければ実行される
次のマイクロインストラクシヨンを指定するよう
に使用される。MPCレジスタ154は信号ライ
ン174を通して割込マルチプレクサ(INT
MUX)172の出力のアドレスを受信する。
MPCレジスタ154は各クロツクサイクルでク
ロツクパルスCLKも受信する。結果の内容は信
号ライン156に沿つてMPCレジスタ154か
ら増分器158へ伝送される。その増分器は信号
ライン152を通してADDR MUX 116と
STACK MUX132へ現在のアドレスプラス1
を与える。増分器158はまたコントローラ10
の補数キヤリーイン(−)ターミナルへ供
給される信号も受信する。もし、増分器へのキヤ
リーイン−がハイであれば、増分器158
は禁止され、信号ライン156のMPCレジスタ
154から与えられるアドレスは不変のまま信号
ライン152へ導かれ、もし−がローであ
れば増分器158はMPCレジスタから受信され
たアドレスにそれが信号ライン152にもたらさ
れる前に1を付加える。
再び本出願の第2A図を参照して、ADDR
MUX116の出力を編成する16個の信号ライン
162は1組(16個の)3状態出力ドライバ16
4に連絡されている。そのドライバ164はマイ
クロプログラム・シーケンス・コントローラ10
によつて決定された16ビツトのブランチアドレス
を3状態の双方向Yバス166へもたらす。その
双方向Yバスはデータ信号を受信し、導き、コン
トローラ10のデータOUTターミナルへ送るた
めに設けられたものである。3状態出力ドライバ
164は信号ライン168に受信されるハイによ
つて駆動される。信号ライン168はマイクロプ
ログラム・シーケンス・コントローラ10の
SLAVE入力、HOLD入力ターミナルで受信され
る信号、および割込論理回路176によつて発生
される信号(INT)により制御されるNORゲー
ト170の出力である。これらの3つの信号がロ
ーのとき、NORゲート170はライン168を
ハイにセツトする。そして3状態ドライバ164
の出力は使用可能となる。それでライン162の
アドレス信号はYバス166に供給され、コント
ローラ10のデータOUTターミナルへ与えられ
る。
MUX116の出力を編成する16個の信号ライン
162は1組(16個の)3状態出力ドライバ16
4に連絡されている。そのドライバ164はマイ
クロプログラム・シーケンス・コントローラ10
によつて決定された16ビツトのブランチアドレス
を3状態の双方向Yバス166へもたらす。その
双方向Yバスはデータ信号を受信し、導き、コン
トローラ10のデータOUTターミナルへ送るた
めに設けられたものである。3状態出力ドライバ
164は信号ライン168に受信されるハイによ
つて駆動される。信号ライン168はマイクロプ
ログラム・シーケンス・コントローラ10の
SLAVE入力、HOLD入力ターミナルで受信され
る信号、および割込論理回路176によつて発生
される信号(INT)により制御されるNORゲー
ト170の出力である。これらの3つの信号がロ
ーのとき、NORゲート170はライン168を
ハイにセツトする。そして3状態ドライバ164
の出力は使用可能となる。それでライン162の
アドレス信号はYバス166に供給され、コント
ローラ10のデータOUTターミナルへ与えられ
る。
3状態の出力ドライバ164に通じるライン1
68上の信号がローのとき、その3状態出力ドラ
イバの出力はハイインピーダンス状態になり、後
で説明するように次のマイクロインストラクシヨ
ンを選択するために次のアドレス信号がIVP58
(第1図)によつてYアドレスバス32(第1図)
に供給される。
68上の信号がローのとき、その3状態出力ドラ
イバの出力はハイインピーダンス状態になり、後
で説明するように次のマイクロインストラクシヨ
ンを選択するために次のアドレス信号がIVP58
(第1図)によつてYアドレスバス32(第1図)
に供給される。
アドレス信号ライン162は割込マルチプレク
サ(INT MUX)172へも結合されている。
その割込マルチプレクサはYバス166に現われ
るブランチアドレスをMPCレジスタ154とコ
ンパレータ129へ信号ライン174を通して伝
送する。さらに、データOUTターミナルは、後
で述べるように割込アドレスを受信し、それをY
バス166に沿つて割込マルチプレクサ(INT
MUX)172へ伝送する。割込またはトラツプ
要求がマイクロプログラム・シーケンス・コント
ローラ10によつて受信されたとき、割込まれた
またはトラツプされたマイクロプログラムの戻り
アドレスを一時的に保持するために割込戻りアド
レスレジスタ(INT RET ADDR REG)17
5が使用される。
サ(INT MUX)172へも結合されている。
その割込マルチプレクサはYバス166に現われ
るブランチアドレスをMPCレジスタ154とコ
ンパレータ129へ信号ライン174を通して伝
送する。さらに、データOUTターミナルは、後
で述べるように割込アドレスを受信し、それをY
バス166に沿つて割込マルチプレクサ(INT
MUX)172へ伝送する。割込またはトラツプ
要求がマイクロプログラム・シーケンス・コント
ローラ10によつて受信されたとき、割込まれた
またはトラツプされたマイクロプログラムの戻り
アドレスを一時的に保持するために割込戻りアド
レスレジスタ(INT RET ADDR REG)17
5が使用される。
C 割込ハンドリング
係属中の関連出願が割込のハンドリングについ
て述べているごとく、すべての点で本出願の第2
A図に示されているマイクロプログラム・シーケ
ンス・コントローラ10の構造と動作はその関連
出願の第2A図に示されているマイクロプログラ
ム・シーケンス・コントローラ10の構造と動作
に本質的に同一である。簡単に繰返して言うと、
シーケンスコントローラ10へ供給される割込ま
たはトラツプ要求がなく、それがスレイブモード
で動作しておらずかつ保持されていないとき、ブ
ランチアドレスがADDR MUX出力ライン16
2からデータOUTターミナルへYバス166お
よび3状態出力ドライバ164を通して伝送され
る。さらに、これらの条件のもとで割込/トラツ
プ論理回路176が受信入力をコード化しライン
178によつてINT MUX172へ伝送される
割込信号(INT)を発生する。その結果、INT
MUX172のブランチアドレス入力がライン1
74に沿つてMPCレジスタ154とコンパレー
タ129へ渡される。
て述べているごとく、すべての点で本出願の第2
A図に示されているマイクロプログラム・シーケ
ンス・コントローラ10の構造と動作はその関連
出願の第2A図に示されているマイクロプログラ
ム・シーケンス・コントローラ10の構造と動作
に本質的に同一である。簡単に繰返して言うと、
シーケンスコントローラ10へ供給される割込ま
たはトラツプ要求がなく、それがスレイブモード
で動作しておらずかつ保持されていないとき、ブ
ランチアドレスがADDR MUX出力ライン16
2からデータOUTターミナルへYバス166お
よび3状態出力ドライバ164を通して伝送され
る。さらに、これらの条件のもとで割込/トラツ
プ論理回路176が受信入力をコード化しライン
178によつてINT MUX172へ伝送される
割込信号(INT)を発生する。その結果、INT
MUX172のブランチアドレス入力がライン1
74に沿つてMPCレジスタ154とコンパレー
タ129へ渡される。
割込がマイクロプログラム・シーケンス・コン
トローラ10によつて処理されるようになつてい
るとき、現在のマイクロインストラクシヨンは実
行を完遂するのを安全に許される。しかしなが
ら、次のコントローラのクロツクサイクルの開始
でINTENがハイ、RESETとHOLDがローとな
り割込/トラツプ論理回路176によつて割込
(INT)信号がローからハイへ変化する。そし
て、このハイ信号はライン178を通してINT
MUX172へ伝送される。このINT MUX17
2はADDR MUX116からYバス166と信
号ライン174を通してMPCレジスタ154と
コンパレータ129へ通じるアドレス伝送路を不
能になす。さらに、Yバス3状態出力ドライバ1
64がNORゲート170によつて不能にされる。
このときNORゲート170は割込/トラツプ論
理回路176によつて発生されたハイのINT信
号に応答してライン168に沿つてドライバ16
4へロー信号を送る。3状態出力ドライバ164
の出力をデータOUTターミナルへ伝送すること
に加えて、Yバス166はINT MUX172へ
も接続されている。このINT MUXは先に述べ
たように、信号ライン174を通してMPCレジ
スタ154へ、そしてそこから信号ライン156
を通して増分器158へ接続された出力を有して
いる。なお、増分器158はIVP58によつて供
給されたアドレスを増分するものである。
トローラ10によつて処理されるようになつてい
るとき、現在のマイクロインストラクシヨンは実
行を完遂するのを安全に許される。しかしなが
ら、次のコントローラのクロツクサイクルの開始
でINTENがハイ、RESETとHOLDがローとな
り割込/トラツプ論理回路176によつて割込
(INT)信号がローからハイへ変化する。そし
て、このハイ信号はライン178を通してINT
MUX172へ伝送される。このINT MUX17
2はADDR MUX116からYバス166と信
号ライン174を通してMPCレジスタ154と
コンパレータ129へ通じるアドレス伝送路を不
能になす。さらに、Yバス3状態出力ドライバ1
64がNORゲート170によつて不能にされる。
このときNORゲート170は割込/トラツプ論
理回路176によつて発生されたハイのINT信
号に応答してライン168に沿つてドライバ16
4へロー信号を送る。3状態出力ドライバ164
の出力をデータOUTターミナルへ伝送すること
に加えて、Yバス166はINT MUX172へ
も接続されている。このINT MUXは先に述べ
たように、信号ライン174を通してMPCレジ
スタ154へ、そしてそこから信号ライン156
を通して増分器158へ接続された出力を有して
いる。なお、増分器158はIVP58によつて供
給されたアドレスを増分するものである。
したがつて、ライン178上のハイINT信号
の存在によつてINT MUX172はコントロー
ラ10のデータOUTターミナルからの双方向Y
バス166の信号を受信した入力、すなわち割込
アドレスを選択する。この割込アドレスはそれか
らINT MUX172の出力信号ライン174を
通してMPCレジスタ154とコンパレータ12
9へ伝送される。ADDR MUX116からのア
ドレスはそれを割込復帰アドレスレジスタ175
へ記憶することによつて貯蔵され、そして次のク
ロツクサイクルの間にLIFOスタツク130へ押
し進められる。割込ルーチンによつて或るレジス
タの内容はLIFOスタツク130へ記憶される。
それは後で検索できる。記憶された情報はマイク
ロプログラム・シーケンス・コントローラ10が
割込要求を受けたときのマイクロインストラクシ
ヨン・シーケンスへのアドレス連係戻りを与え
る。この戻りアドレスがLIFOスタツク130に
貯蔵されるので、収容された割込は本発明の教示
に従つて構成されるマイクロプログラム・シーケ
ンス・コントローラ10によつて取扱うことがで
きる。
の存在によつてINT MUX172はコントロー
ラ10のデータOUTターミナルからの双方向Y
バス166の信号を受信した入力、すなわち割込
アドレスを選択する。この割込アドレスはそれか
らINT MUX172の出力信号ライン174を
通してMPCレジスタ154とコンパレータ12
9へ伝送される。ADDR MUX116からのア
ドレスはそれを割込復帰アドレスレジスタ175
へ記憶することによつて貯蔵され、そして次のク
ロツクサイクルの間にLIFOスタツク130へ押
し進められる。割込ルーチンによつて或るレジス
タの内容はLIFOスタツク130へ記憶される。
それは後で検索できる。記憶された情報はマイク
ロプログラム・シーケンス・コントローラ10が
割込要求を受けたときのマイクロインストラクシ
ヨン・シーケンスへのアドレス連係戻りを与え
る。この戻りアドレスがLIFOスタツク130に
貯蔵されるので、収容された割込は本発明の教示
に従つて構成されるマイクロプログラム・シーケ
ンス・コントローラ10によつて取扱うことがで
きる。
割込されたシーケンスへの連係戻りを確立する
のに必要なすべての情報がブランチの起こつた割
込サブルーチンのブランチングおよび実行ととも
に続くのを保証するためにすべての情報は1クロ
ツク期間に記憶される。したがつて、或る情報は
INT RET ADDR REG175に一時的に記憶
され、その後スタツクMUX132へ伝送され
る。INT RET ADD REG175はCP入力ター
ミナルに与えられそこから伝送されたクロツク
(CLK)をそのクロツク(CL)入力で受取る。
情報は各クロツク(インストラクシヨン)サイク
ルごとに割込戻りアドレスレジスタ175に記憶
されるが、その記憶された情報は割込信号が受信
されたときのみ使用される。
のに必要なすべての情報がブランチの起こつた割
込サブルーチンのブランチングおよび実行ととも
に続くのを保証するためにすべての情報は1クロ
ツク期間に記憶される。したがつて、或る情報は
INT RET ADDR REG175に一時的に記憶
され、その後スタツクMUX132へ伝送され
る。INT RET ADD REG175はCP入力ター
ミナルに与えられそこから伝送されたクロツク
(CLK)をそのクロツク(CL)入力で受取る。
情報は各クロツク(インストラクシヨン)サイク
ルごとに割込戻りアドレスレジスタ175に記憶
されるが、その記憶された情報は割込信号が受信
されたときのみ使用される。
D トラツプハンドリング
トラツプされる事象の発生時にトラツプを検出
するようにプログラム・シーケンス・コントロー
ラが駆動された場合、現在のマイクロプログラ
ム・インストラクシヨンは現在のコントローラの
クロツクサイクルの終わりまでに打切られて、ト
ラツプルーチンの実行の後に再実行されなければ
ならない。トラツプルーチンは入込み矯正手段を
講じるように設計される。コントローラ10が、
トラツプされるべき事象の発生を示すこれらの入
力を受信すると、すなわちINTEN,INTR,FC
および−がハイになるや否や、割込/トラ
ツプ論理回路176はすぐに割込(INT)信号
をローからハイへ変化させる。そして、このハイ
信号はライン178を通してINT MUX172
へ伝送される。このINT MUX172は割込の
場合と同じようにADDR MUX116からYバ
ス166と信号ライン174を通してMPCレジ
スタ154とコンパレータ129へ至るアドレス
伝送路を不能になす。さらにYバス3状態出力ド
ライバ164はNORゲート170によつて不能
にされる。このとき、NORゲートは割込/トラ
ツプ論理回路によつて発生されたハイのINT信
号に応答してドライバ164にライン168に沿
つてロー信号を送る。
するようにプログラム・シーケンス・コントロー
ラが駆動された場合、現在のマイクロプログラ
ム・インストラクシヨンは現在のコントローラの
クロツクサイクルの終わりまでに打切られて、ト
ラツプルーチンの実行の後に再実行されなければ
ならない。トラツプルーチンは入込み矯正手段を
講じるように設計される。コントローラ10が、
トラツプされるべき事象の発生を示すこれらの入
力を受信すると、すなわちINTEN,INTR,FC
および−がハイになるや否や、割込/トラ
ツプ論理回路176はすぐに割込(INT)信号
をローからハイへ変化させる。そして、このハイ
信号はライン178を通してINT MUX172
へ伝送される。このINT MUX172は割込の
場合と同じようにADDR MUX116からYバ
ス166と信号ライン174を通してMPCレジ
スタ154とコンパレータ129へ至るアドレス
伝送路を不能になす。さらにYバス3状態出力ド
ライバ164はNORゲート170によつて不能
にされる。このとき、NORゲートは割込/トラ
ツプ論理回路によつて発生されたハイのINT信
号に応答してドライバ164にライン168に沿
つてロー信号を送る。
したがつてライン178のハイINT信号の存
在によつてINT MUX172はコントローラ1
0のデータOUTターミナルから双方向Yバス1
66の信号を受信した入力、すなわちトラツプル
ーチンのアドレスを選択する。このトラツプアド
レスはそれからINT MUX172の出力信号ラ
イン174を通してMPCレジスタ154(およ
びコンパレータ129)へ伝送される。
在によつてINT MUX172はコントローラ1
0のデータOUTターミナルから双方向Yバス1
66の信号を受信した入力、すなわちトラツプル
ーチンのアドレスを選択する。このトラツプアド
レスはそれからINT MUX172の出力信号ラ
イン174を通してMPCレジスタ154(およ
びコンパレータ129)へ伝送される。
コントローラ10内の増分器158とMPCレ
ジスタ154の相対的な位置によつて、上述のご
とくトラツプアドレスがMPCレジスタ154に
記憶されるときに、トラツプ戻りアドレス、すな
わち打切られたマイクロインストラクシヨンのア
ドレスである、増幅器158の出力に現われるア
ドレスが得られ、このアドレスは信号ライン15
2を通してADDR MUX116へ伝送され、そ
れをINT RET ADDR REG175に記憶する
ことによつて貯蔵され(そして次のクロツクサイ
クル中に)LIFOスタツク30へ押し進められる。
ジスタ154の相対的な位置によつて、上述のご
とくトラツプアドレスがMPCレジスタ154に
記憶されるときに、トラツプ戻りアドレス、すな
わち打切られたマイクロインストラクシヨンのア
ドレスである、増幅器158の出力に現われるア
ドレスが得られ、このアドレスは信号ライン15
2を通してADDR MUX116へ伝送され、そ
れをINT RET ADDR REG175に記憶する
ことによつて貯蔵され(そして次のクロツクサイ
クル中に)LIFOスタツク30へ押し進められる。
増分器158で受信された−信号がハイ
であるので、信号ライン156を通して増分器に
よつて受信されるトラツプアドレスは不変のまま
信号ライン152を通してADDR MUX116
へ伝送される。マイクロプログラム・シーケン
ス・コントローラ10へのFC信号入力がハイで
あることに基づき、割込/トラツプ論理回路17
6によつてハイ信号が発生されコントロール10
0のDIS入力へ伝送される。それによつてコント
ロール100はADDR MUX116のCOND入
力に伝送される信号を発生する。その信号によつ
てADDR MUX116はトラツプ戻りアドレス
をその出力ライン162へ導く。それゆえ、現在
実行されているマイクロインストラクシヨンのア
ドレスはトラツプルーチンの最初のマイクロイン
ストラクシヨンのアドレスに取替えられる。現在
実行されているマイクロインストラクシヨンはハ
イのFC信号によつて実行が完遂しておらず、マ
イクロプログラム・シーケンサ10内のレジスタ
の内容は最新のものでなかつたので、トラツプル
ーチンからの戻りによりインストラクシヨンはさ
らに行動することなしに再実行できる。それゆ
え、マイクロプログラム・シーケンス・コントロ
ーラ10によるトラツプのハンドリングは割込の
場合に上述したように、この点を越えて進行でき
る。
であるので、信号ライン156を通して増分器に
よつて受信されるトラツプアドレスは不変のまま
信号ライン152を通してADDR MUX116
へ伝送される。マイクロプログラム・シーケン
ス・コントローラ10へのFC信号入力がハイで
あることに基づき、割込/トラツプ論理回路17
6によつてハイ信号が発生されコントロール10
0のDIS入力へ伝送される。それによつてコント
ロール100はADDR MUX116のCOND入
力に伝送される信号を発生する。その信号によつ
てADDR MUX116はトラツプ戻りアドレス
をその出力ライン162へ導く。それゆえ、現在
実行されているマイクロインストラクシヨンのア
ドレスはトラツプルーチンの最初のマイクロイン
ストラクシヨンのアドレスに取替えられる。現在
実行されているマイクロインストラクシヨンはハ
イのFC信号によつて実行が完遂しておらず、マ
イクロプログラム・シーケンサ10内のレジスタ
の内容は最新のものでなかつたので、トラツプル
ーチンからの戻りによりインストラクシヨンはさ
らに行動することなしに再実行できる。それゆ
え、マイクロプログラム・シーケンス・コントロ
ーラ10によるトラツプのハンドリングは割込の
場合に上述したように、この点を越えて進行でき
る。
E 割込/トラツプ検出回路
マイクロプログラム・シーケンス・コントロー
ラ10によつてその割込要求(INTR)ターミナ
ルおよび割込駆動(INTEN)ターミナルはそれ
ぞれ、そのI1,I2入力で割込/トラツプ論理回路
176へ導かれる。これらの信号は第3A図に示
される割込/トラツプ検出回路200によつてラ
ツチされる。示されているように、1対のフリツ
プフロツプ202,204が、それらのクロツク
(C)入力でCLK信号を受信する。フリツプフロ
ツプ202はそのデータ(D)入力にNORゲー
ト206で発生された割込信号(INT)を受信
する。そのNORゲート206はインバータ20
8と210を介してINTR,INTENターミナル
から伝送された信号と、コントローラのHOLD
およびRESETターミナルから伝送された信号
を、それぞれゲート206の補数入力で受信す
る。したがつて、フリツプフロツプ202の真数
(Q)出力は、もしマイクロプログラム・シーケ
ンス・コントローラ10が保持またはリセツトさ
れていなければ、先行するクロツクサイクルから
INTRターミナルの信号とINTENターミナルの
信号との論理的ANDである。このQ出力信号
(INT−Z)はANDゲート216の補数入力で
受信される。
ラ10によつてその割込要求(INTR)ターミナ
ルおよび割込駆動(INTEN)ターミナルはそれ
ぞれ、そのI1,I2入力で割込/トラツプ論理回路
176へ導かれる。これらの信号は第3A図に示
される割込/トラツプ検出回路200によつてラ
ツチされる。示されているように、1対のフリツ
プフロツプ202,204が、それらのクロツク
(C)入力でCLK信号を受信する。フリツプフロ
ツプ202はそのデータ(D)入力にNORゲー
ト206で発生された割込信号(INT)を受信
する。そのNORゲート206はインバータ20
8と210を介してINTR,INTENターミナル
から伝送された信号と、コントローラのHOLD
およびRESETターミナルから伝送された信号
を、それぞれゲート206の補数入力で受信す
る。したがつて、フリツプフロツプ202の真数
(Q)出力は、もしマイクロプログラム・シーケ
ンス・コントローラ10が保持またはリセツトさ
れていなければ、先行するクロツクサイクルから
INTRターミナルの信号とINTENターミナルの
信号との論理的ANDである。このQ出力信号
(INT−Z)はANDゲート216の補数入力で
受信される。
同様にして、フリツプフロツプ204のデータ
(D)入力はコントローラ10のHOLDターミナ
ルからの信号を導く信号ライン上の信号を受信す
る。フリツプフロツプ204の第1の真数(Q)
出力の信号は出力結合ORゲート218の入力で
受信される。フリツプフロツプ204の第2の真
数(Q)出力の信号は割込/トラツプ検出回路2
00のHOLD−Z信号出力を形成する。ゲート
218はまたその第2入力でコントローラ10の
強制継続(FC)ターミナルから伝送された信号
を受信する。HOLDターミナルの信号はフリツ
プフロツプ204でラツチされるので出力結合
ORゲート218の出力、強制継続保持(FCH−
Z)はマイクロプログラム・シーケンス・コント
ローラ100が保持されていない場合、どんなク
ロツクサイクルの期間でもFCターミナルの現在
状態に従う。したがつて、出力信号FCH−Zは
コントロール100の不能(DIS)入力へ与えら
れ、コントロール100は現在与えられているマ
イクロインストラクシヨンのビツトI0-5を無視
し、かつコントロール100によつて発生される
すべての出力信号を不作動とし、ただデータIN,
TOS,AUXデータINソースからそれぞれライン
110,140または150によつてCMUX1
18の入力を無効にするCMUXCTLが発生され
るようになすとともに、ADDR MUX116を
してライン152によつて増分器158から
ADDR MUX116の出力にもたらされかつ信
号ライン162を介してINT RET ADDR
REG175へ伝送されるべき入力を選択させる
COND信号を発生するようになす。
(D)入力はコントローラ10のHOLDターミナ
ルからの信号を導く信号ライン上の信号を受信す
る。フリツプフロツプ204の第1の真数(Q)
出力の信号は出力結合ORゲート218の入力で
受信される。フリツプフロツプ204の第2の真
数(Q)出力の信号は割込/トラツプ検出回路2
00のHOLD−Z信号出力を形成する。ゲート
218はまたその第2入力でコントローラ10の
強制継続(FC)ターミナルから伝送された信号
を受信する。HOLDターミナルの信号はフリツ
プフロツプ204でラツチされるので出力結合
ORゲート218の出力、強制継続保持(FCH−
Z)はマイクロプログラム・シーケンス・コント
ローラ100が保持されていない場合、どんなク
ロツクサイクルの期間でもFCターミナルの現在
状態に従う。したがつて、出力信号FCH−Zは
コントロール100の不能(DIS)入力へ与えら
れ、コントロール100は現在与えられているマ
イクロインストラクシヨンのビツトI0-5を無視
し、かつコントロール100によつて発生される
すべての出力信号を不作動とし、ただデータIN,
TOS,AUXデータINソースからそれぞれライン
110,140または150によつてCMUX1
18の入力を無効にするCMUXCTLが発生され
るようになすとともに、ADDR MUX116を
してライン152によつて増分器158から
ADDR MUX116の出力にもたらされかつ信
号ライン162を介してINT RET ADDR
REG175へ伝送されるべき入力を選択させる
COND信号を発生するようになす。
NORゲート206の出力に発生される信号
INTは信号ライン178を通してNORゲート1
70の入力へ伝送され、そのNORゲート170
は1組16個の3状態出力ドライバ164に高イン
ピーダンス状態を実現するようにさせる信号をラ
イン168に発生する。これはYバス166を
ADDR MUX出力ライン162から切離す。
INT信号はまたINT MUX172へも伝送され、
そこではその信号によつてIVP58によりYバス
166にもたらされた割込/トラツプアドレスが
信号ライン174を通してMPCレジスタ154
へ伝送される。
INTは信号ライン178を通してNORゲート1
70の入力へ伝送され、そのNORゲート170
は1組16個の3状態出力ドライバ164に高イン
ピーダンス状態を実現するようにさせる信号をラ
イン168に発生する。これはYバス166を
ADDR MUX出力ライン162から切離す。
INT信号はまたINT MUX172へも伝送され、
そこではその信号によつてIVP58によりYバス
166にもたらされた割込/トラツプアドレスが
信号ライン174を通してMPCレジスタ154
へ伝送される。
割込/トラツプ検出回路200はNORゲート
222を含んでおり、このNORゲートは入力に
それぞれインバータ224と212を通してコン
トローラ10のSLAVEおよびHOLDターミナル
の信号を受信する。NORゲート222の出力は
3状態バツフア226のインバーテイング駆動入
力に接続される。NORゲート206の出力であ
るINT信号はIVP58(第1図)を(そのOE入
力を介して)駆動する信号となるように反
転バツフア226を通過する。
222を含んでおり、このNORゲートは入力に
それぞれインバータ224と212を通してコン
トローラ10のSLAVEおよびHOLDターミナル
の信号を受信する。NORゲート222の出力は
3状態バツフア226のインバーテイング駆動入
力に接続される。NORゲート206の出力であ
るINT信号はIVP58(第1図)を(そのOE入
力を介して)駆動する信号となるように反
転バツフア226を通過する。
したがつて、もし現在実行しているマイクロイ
ンストラクシヨンがトラツプされると、現在実行
しているマイクロインストラクシヨンのアドレス
が次のようにINT RET ADDR REG175に
貯蔵される:すなわちトラツプの間、増分器15
8はコントローラの−ターミナルからのハ
イ信号を受信する。その信号は第3B図に示され
ているようにインバータ250を介して出力結合
ORゲート252の入力へ伝送される。フリツプ
フロツプ204によつて発生されたHOLD−Z
信号がその出力結合ORゲート252の第2入力
へ伝送される。コントローラ10が想定によつて
保持されていないので、HOLD−Z信号はロー
であり、出力結合ORゲート252のどちらの入
力もローとなる。そして結果としてのロー出力が
増分回路254によつて受信され、それによつて
増幅器158は信号ライン156によつて受信さ
れた現在実行しているマイクロインストラクシヨ
ンのアドレスを増分しないままパスする。すなわ
ちトラツプ戻りアドレスを信号ライン152にパ
スする。そこでは、そのアドレスがADDR
MUX116によつてINT RET ADDR REG1
75にパスされるように選択される。
ンストラクシヨンがトラツプされると、現在実行
しているマイクロインストラクシヨンのアドレス
が次のようにINT RET ADDR REG175に
貯蔵される:すなわちトラツプの間、増分器15
8はコントローラの−ターミナルからのハ
イ信号を受信する。その信号は第3B図に示され
ているようにインバータ250を介して出力結合
ORゲート252の入力へ伝送される。フリツプ
フロツプ204によつて発生されたHOLD−Z
信号がその出力結合ORゲート252の第2入力
へ伝送される。コントローラ10が想定によつて
保持されていないので、HOLD−Z信号はロー
であり、出力結合ORゲート252のどちらの入
力もローとなる。そして結果としてのロー出力が
増分回路254によつて受信され、それによつて
増幅器158は信号ライン156によつて受信さ
れた現在実行しているマイクロインストラクシヨ
ンのアドレスを増分しないままパスする。すなわ
ちトラツプ戻りアドレスを信号ライン152にパ
スする。そこでは、そのアドレスがADDR
MUX116によつてINT RET ADDR REG1
75にパスされるように選択される。
同時にINT MUX172はトラツプルーチン
の最初のインストラクシヨンのアドレスを受信
し、それをライン174を通してMPCレジスタ
154の入力へパスする。次のクロツクサイクル
で、このアドレスは信号ライン156により増分
器158に受信される。そして、今、ローのキヤ
リーイン−信号が増分器158に受信され
ていないので、トラツプルーチンの最初のインス
トラクシヨンの次に続くインストラクシヨンのア
ドレスがバス152を通してADDR MUX11
6へ与えられる。トラツプ戻りアドレスがINT
RET ADDR REG175の出力に存在するの
で、それはトラツプルーチンの最初のインストラ
クシヨンによつてLIFOスタツク130へ押し進
められる。したがつて、この最初のインストラク
シヨンはLIFOスタツク130を使用しない。ト
ラツプルーチンの最後のインストラクシヨンがこ
のトラツプアドレスをLIFOスタツク130から
ポツプするであろう。そして、述べたように、そ
のアドレスはスタツクへ押し進められる前に増分
されなかつたので、マイクロプログラム・シーケ
ンス・コントローラ10はトラツプルーチンから
戻つたときにデータOUTターミナル166へ戻
りアドレスを発生する。したがつて、トラツプさ
れたマイクロインストラクシヨンがトラツプルー
チン実行後に再発行される。上述したようにトラ
ツプ戻りアドレスがLIFOスタツク130へ押し
進められるので、トラツプは収容される。
の最初のインストラクシヨンのアドレスを受信
し、それをライン174を通してMPCレジスタ
154の入力へパスする。次のクロツクサイクル
で、このアドレスは信号ライン156により増分
器158に受信される。そして、今、ローのキヤ
リーイン−信号が増分器158に受信され
ていないので、トラツプルーチンの最初のインス
トラクシヨンの次に続くインストラクシヨンのア
ドレスがバス152を通してADDR MUX11
6へ与えられる。トラツプ戻りアドレスがINT
RET ADDR REG175の出力に存在するの
で、それはトラツプルーチンの最初のインストラ
クシヨンによつてLIFOスタツク130へ押し進
められる。したがつて、この最初のインストラク
シヨンはLIFOスタツク130を使用しない。ト
ラツプルーチンの最後のインストラクシヨンがこ
のトラツプアドレスをLIFOスタツク130から
ポツプするであろう。そして、述べたように、そ
のアドレスはスタツクへ押し進められる前に増分
されなかつたので、マイクロプログラム・シーケ
ンス・コントローラ10はトラツプルーチンから
戻つたときにデータOUTターミナル166へ戻
りアドレスを発生する。したがつて、トラツプさ
れたマイクロインストラクシヨンがトラツプルー
チン実行後に再発行される。上述したようにトラ
ツプ戻りアドレスがLIFOスタツク130へ押し
進められるので、トラツプは収容される。
上述したように、コントローラ10のFCター
ミナルはトラツプの間、ハイであるので、コント
ロール100の出力は前述したCMUXCTL信号
とCOND信号以外は不作動であり、現在実行し
ているマイクロインストラクシヨンビツトI0-5は
現在のコントローラのクロツクサイクルの期間無
視される。このようにして、INT RET ADDR
REG175のトラツプ戻りアドレスの記憶と
MPCレジスタ154のトラツプルーチンのアド
レスの記憶についてちょうど述べたアクシヨン以
外にはトラツプされたインストラクシヨンが打切
られる。
ミナルはトラツプの間、ハイであるので、コント
ロール100の出力は前述したCMUXCTL信号
とCOND信号以外は不作動であり、現在実行し
ているマイクロインストラクシヨンビツトI0-5は
現在のコントローラのクロツクサイクルの期間無
視される。このようにして、INT RET ADDR
REG175のトラツプ戻りアドレスの記憶と
MPCレジスタ154のトラツプルーチンのアド
レスの記憶についてちょうど述べたアクシヨン以
外にはトラツプされたインストラクシヨンが打切
られる。
あるいは、もし現在実行しているマイクロイン
ストラクシヨンが割込まれると、すなわちコント
ローラ10のFCターミナルがローであれば、出
力結合ORゲート218からのFCH−Z信号出力
がコントローラの現在のクロツクサイクルの残り
の間ロであるので、現在実行しているマイクロイ
ンストラクシヨンは実行を完遂するであろう。そ
れゆえ、コントロール100は通常のごとくすべ
ての信号を発生するのを続けるであろう。しかし
ながら、現在のクロツクサイクルの間に、NOR
ゲート206は割込が生じたときにコントローラ
10のINTRターミナルからの信号をパスし、そ
の結果の信号INTが信号ライン178により
NORゲート170へ導かれ、その信号によつて
3状態出力ドライバ164がYバス166と
ADDR MUX116の出力ライン162を遮断
し、上述したようにINT MUX172によつて
割込アドレスがMPC154へ伝送される。
ストラクシヨンが割込まれると、すなわちコント
ローラ10のFCターミナルがローであれば、出
力結合ORゲート218からのFCH−Z信号出力
がコントローラの現在のクロツクサイクルの残り
の間ロであるので、現在実行しているマイクロイ
ンストラクシヨンは実行を完遂するであろう。そ
れゆえ、コントロール100は通常のごとくすべ
ての信号を発生するのを続けるであろう。しかし
ながら、現在のクロツクサイクルの間に、NOR
ゲート206は割込が生じたときにコントローラ
10のINTRターミナルからの信号をパスし、そ
の結果の信号INTが信号ライン178により
NORゲート170へ導かれ、その信号によつて
3状態出力ドライバ164がYバス166と
ADDR MUX116の出力ライン162を遮断
し、上述したようにINT MUX172によつて
割込アドレスがMPC154へ伝送される。
したがつて、現在実行しているマイクロインス
トラクシヨンのアドレスは割込の間−ター
ミナルがハイであるのでINT RET ADDR
REGに蓄えられる。しかして増分器158は信
号ライン156により受信された現在実行中のマ
イクロインストラクシヨンのアドレスを信号ライ
ン152へパスする。そこでそれはADDR
MUX116によつてINT RET ADDR REG1
75へパスされるように選択される。同時に
INT MUX172は割込ルーチンの最初のイン
ストラクシヨンのアドレスを受信し、それをライ
ン174を通してMPCレジスタ154の入力へ
パスする。次のクロツクサイクルで、このアドレ
スは増分器158によつて受信され上述したよう
にコントローラ10によるトラツプハンドリング
に関連して増分される。同様に割込ルーチンの最
後のインストラクシヨンはこの割込戻りアドレス
をLIFOスタツク130からポツプする。プログ
ラム・シーケンス・コントローラ10は割込ルー
チンからの戻り時に割込戻りアドレスをデータ
OUTターミナル166に発生する。したがつて、
割込まれたマイクロインストラクシヨンに続く次
のマイクロインストラクシヨンが割込ルーチンの
完遂に続いて実行される。上述したように、割込
戻りアドレスがLIFOスタツク130へ押し進め
られるので割込が収容される。
トラクシヨンのアドレスは割込の間−ター
ミナルがハイであるのでINT RET ADDR
REGに蓄えられる。しかして増分器158は信
号ライン156により受信された現在実行中のマ
イクロインストラクシヨンのアドレスを信号ライ
ン152へパスする。そこでそれはADDR
MUX116によつてINT RET ADDR REG1
75へパスされるように選択される。同時に
INT MUX172は割込ルーチンの最初のイン
ストラクシヨンのアドレスを受信し、それをライ
ン174を通してMPCレジスタ154の入力へ
パスする。次のクロツクサイクルで、このアドレ
スは増分器158によつて受信され上述したよう
にコントローラ10によるトラツプハンドリング
に関連して増分される。同様に割込ルーチンの最
後のインストラクシヨンはこの割込戻りアドレス
をLIFOスタツク130からポツプする。プログ
ラム・シーケンス・コントローラ10は割込ルー
チンからの戻り時に割込戻りアドレスをデータ
OUTターミナル166に発生する。したがつて、
割込まれたマイクロインストラクシヨンに続く次
のマイクロインストラクシヨンが割込ルーチンの
完遂に続いて実行される。上述したように、割込
戻りアドレスがLIFOスタツク130へ押し進め
られるので割込が収容される。
第1図はマイクロプロセツサにおける本発明の
トラツプハンドリング・マイクロプログラム・シ
ーケンス・コントローラの典型的な適用を示す図
である。第2A図および第2B図は本発明のトラ
ツプハンドリング・マイクロプログラム・シーケ
ンス・コントローラの機能ブロツク図である。第
3A図は第2A図および第2B図の発明の割込/
トラツプ論理回路に使用される割込/トラツプ検
出回路の図である。第3B図は第2A図および第
2B図の発明の増分器で使用される増分器回路の
キヤリーインについての図である。 図において、10はマイクロプログラム・シー
ケンス・コントローラ、100はコントロール、
116はADDRマルチプレクサ、154はマイ
クロプログラム(MPC)カウンタレジスタ、1
58は増分器、164は3状態出力ドライバ、1
72は割込マルチプロクサ、175は戻りアドレ
スレジスタ、176は割込/トラツプ論理回路、
そして200は割込/トラツプ検出回路である。
トラツプハンドリング・マイクロプログラム・シ
ーケンス・コントローラの典型的な適用を示す図
である。第2A図および第2B図は本発明のトラ
ツプハンドリング・マイクロプログラム・シーケ
ンス・コントローラの機能ブロツク図である。第
3A図は第2A図および第2B図の発明の割込/
トラツプ論理回路に使用される割込/トラツプ検
出回路の図である。第3B図は第2A図および第
2B図の発明の増分器で使用される増分器回路の
キヤリーインについての図である。 図において、10はマイクロプログラム・シー
ケンス・コントローラ、100はコントロール、
116はADDRマルチプレクサ、154はマイ
クロプログラム(MPC)カウンタレジスタ、1
58は増分器、164は3状態出力ドライバ、1
72は割込マルチプロクサ、175は戻りアドレ
スレジスタ、176は割込/トラツプ論理回路、
そして200は割込/トラツプ検出回路である。
Claims (1)
- 【特許請求の範囲】 1 双方向出力データバスに命令アドレスを発生
するマイクロプログラムシーケンスコントローラ
の動作方法であつて、前記マイクロプログラムシ
ーケンスコントローラは割込モード動作またはト
ラツプモード動作を示す信号に応答して動作しか
つ複数の制御信号を発生するための命令デコード
手段と、前記命令デコード手段に結合されかつ前
記制御信号に応答して複数の命令アドレスを受け
て記憶する後入れ先出し型メモリ手段と、前記割
込モード動作または前記トラツプモード動作指示
信号に応答して、命令アドレスを受けて選択的に
増分して格納しかつ該格納した命令アドレスを出
力する命令アドレスカウント手段と、前記命令デ
コード手段および前記命令アドレスカウント手段
に結合されて前記割込モード動作および前記トラ
ツプモード動作指示信号および命令アドレスを受
けかつ割込モード信号およびトラツプモード信号
を発生する割込/トラツプ手段とを含み、 前記割込/トラツプ手段が前記割込モード指示
信号を受けたとき、 (a) 前記アドレスカウント手段が受けた命令アド
レスを増分するステツプと、 (b) 前記命令アドレスカウント手段の前記命令ア
ドレスの前記双方向出力データバス上への出力
を禁止するステツプと、 (c) 前記出力が禁止された命令アドレスを前記後
入れ先出し型メモリ手段へ割込リターンアドレ
スとして格納するステツプと、 (d) 前記双方向出力データバス上で割込サブルー
チンの最初の命令のアドレスを割込アドレスと
して受けるステツプと、 (e) 前記割込アドレスを前記命令アドレスカウン
ト手段に格納するステツプとを含み、 前記割込/トラツプ手段が前記トラツプモー
ド動作指示信号を受けたとき、 (f) 前記命令アドレスカウント手段による前記命
令アドレスの増分を禁止するステツプと、 (g) 前記命令アドレスカウント手段の前記命令ア
ドレスの前記双方向出力データバス上への出力
を禁止するステツプと、 (h) 前記出力が禁止された命令アドレスをトラツ
プリターンアドレスとして前記後入れ先出し型
メモリ手段へ格納するステツプと、 (i) 前記双方向出力データバス上でトラツプサブ
ルーチンの最小の命令のアドレスをトラツプア
ドレスとして受けるステツプと、 (j) 前記トラツプアドレスを前記アドレスカウン
ト手段に格納するステツプとを含む、マイクロ
プログラムシーケンスコントローラの動作方
法。 2 割込信号とトラツプ信号とに応動するととも
に、禁止信号に応答して割込/トラツプメモリ素
子からマイクロ命令アドレス信号を受けて複数の
マイクロ命令を格納するプログラムメモリへのア
クセスのために用いられるマイクロ命令アドレス
信号を出力する3状態双方向出力手段を有し、か
つ前記プログラムメモリに結合されて前記マイク
ロ命令アドレスに従つて前記プログラムメモリか
らアクセスされたマイクロ命令を受けて一時的に
保持する第1のレジスタ手段にバス手段を介して
結合されるマイクロプログラムシーケンスコント
ローラであつて、前記バス手段は前記第1のレジ
スタに保持されたマイクロ命令を前記マイクロプ
ログラムシーケンスコントローラへ伝達し、 前記バス手段に結合され、命令ワードおよびデ
ータワードを受けるための入力手段と、 前記入力手段に結合され、前記命令ワードを受
けてデコードして複数の制御信号を発生するデコ
ード手段と、 相互接続された第2のレジスタ手段および増分
手段を含み、イネーブル信号に応答して順次増分
されたアドレス信号を発生するための第1のアド
レス発生手段と、 前記制御信号とゲート信号とに応答して選択的
にアドレス信号を格納するための後入れ先出し型
記憶手段と、 前記3状態双方向出力手段に結合されかつ前記
マイクロ命令アドレス信号が与えられる出力端子
とを有し、かつさらに前記制御信号に応答して前
記入力手段、前記第1のアドレス発生手段および
前記後入れ先出し型記憶手段を前記出力端子に選
択的に結合する第1のマルチプレクサ手段とを備
え、前記第1のアドレス発生手段および前記後入
れ先出し型記憶手段は前記制御信号に応答して前
記出力端子から信号を受け、さらに 前記割込信号を受けて前記増分手段をイネーブ
ルするイネーブル信号を発生しかつ前記第1のマ
ルチプレクサ手段が出力するアドレス信号の前記
3状態双方向出力手段への伝達を禁止する禁止信
号を発生させるゲート信号と前記伝達が禁止され
たアドレス信号を前記後入れ先出し型記憶手段へ
格納させるためのゲート信号を発生する割込/ト
ラツプ手段を含み、 前記割込/トラツプ手段はさらに、前記トラツ
プ信号を受けて前記増分手段をイネーブルする前
記イネーブル信号の発生を禁止するゲート信号
と、前記第1のアドレス発生手段が発生して前記
出力手段へ与えるべきアドレス信号の伝達を禁止
する禁止信号を発生するゲート信号と、かつ前記
後入れ先出し型記憶手段へ前記伝達が禁止された
アドレス信号を格納するためのゲート信号を発生
する手段と、前記3状態双方向出力手段に対し、
前記割込信号および前記トラツプ信号それぞれに
応答して割込アドレス信号およびトラツプアドレ
ス信号を与えかつ前記割込アドレス信号およびト
ラツプアドレス信号を前記プログラムメモリへ伝
達するための手段とを含む、マイクロプログラム
シーケンスコントローラ。 3 前記第1のアドレス発生手段は、前記ゲート
信号に応動しかつ前記第1のマルチプレクサ手段
の前記出力端子および前記3状態双方向出力手段
に接続される第2のマルチプレクサ手段を含み、
前記第2のマルチプレクサ手段は前記ゲート信号
に応答して前記第1のマルチプレクサ手段の前記
出力端子または前記3状態双方向出力手段を前記
後入れ先出し型記憶手段および前記第1のアドレ
ス発生手段へ結合し、かつ 前記マイクロプログラムシーケンスコントロー
ラはさらに、前記3状態双方向出力手段と前記後
入れ先出し型記憶手段との間に接続され、前記割
込信号に応答して伝達が禁止されたアドレス信号
を前記後入れ先出し型記憶手段へ与えるラツチ手
段を含む、特許請求の範囲第2項記載のマイクロ
プログラムシーケンスコントローラ。 4 前記マイクロプログラムシーケンスコントロ
ーラはさらに、クロツク信号とキヤリーイン信号
とに応動し、 前記第2のレジスタ手段はさらに、前記クロツ
ク信号を受ける手段と、前記クロツク信号に応答
して、与えられたアドレス信号を1クロツクサイ
クル保持する手段とを含み、 かつさらに、 前記増分手段は、前記割込/トラツプ手段に結
合されかつさらに前記キヤリーイン信号に応答し
て次の1クロツクサイクル間アドレス信号の前記
3状態双方向出力手段への伝達を禁止する手段
と、前記割込/トラツプ手段の前記割込信号およ
び前記トラツプ信号の受信それぞれに応答してア
ドレス信号をそれぞれ増分および維持する手段
と、前記第2のレジスタ手段へ与えられたアドレ
ス信号を格納するための手段とを含む、特許請求
の範囲第3項記載のマイクロプログラムシーケン
スコントローラ。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US06/667,242 US4719565A (en) | 1984-11-01 | 1984-11-01 | Interrupt and trap handling in microprogram sequencer |
| US667242 | 1984-11-01 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS61110239A JPS61110239A (ja) | 1986-05-28 |
| JPH0529933B2 true JPH0529933B2 (ja) | 1993-05-06 |
Family
ID=24677423
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP60246099A Granted JPS61110239A (ja) | 1984-11-01 | 1985-10-31 | マイクロプログラムシーケンスコントローラおよびその動作方法 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US4719565A (ja) |
| EP (1) | EP0180476B1 (ja) |
| JP (1) | JPS61110239A (ja) |
| AT (1) | ATE77159T1 (ja) |
| DE (1) | DE3586195T2 (ja) |
Families Citing this family (28)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6282402A (ja) * | 1985-10-07 | 1987-04-15 | Toshiba Corp | シ−ケンス制御装置 |
| FR2599871B1 (fr) * | 1986-06-10 | 1988-10-07 | Denis Georges | Processeur microprogramme de resolution de programmes logiques |
| JPS6362039A (ja) * | 1986-09-03 | 1988-03-18 | Mitsubishi Electric Corp | 計算機 |
| JPS63108457A (ja) * | 1986-10-24 | 1988-05-13 | Brother Ind Ltd | デ−タ処理装置 |
| EP0270081B1 (en) * | 1986-12-01 | 1995-05-10 | Nec Corporation | Microprogram controller receiving interrupt request during instruction execution |
| US4980821A (en) * | 1987-03-24 | 1990-12-25 | Harris Corporation | Stock-memory-based writable instruction set computer having a single data bus |
| US5053952A (en) * | 1987-06-05 | 1991-10-01 | Wisc Technologies, Inc. | Stack-memory-based writable instruction set computer having a single data bus |
| US4890221A (en) * | 1988-04-01 | 1989-12-26 | Digital Equipment Corporation | Apparatus and method for reconstructing a microstack |
| US5134693A (en) * | 1989-01-18 | 1992-07-28 | Intel Corporation | System for handling occurrence of exceptions during execution of microinstructions while running floating point and non-floating point instructions in parallel |
| US4951194A (en) * | 1989-01-23 | 1990-08-21 | Tektronix, Inc. | Method for reducing memory allocations and data copying operations during program calling sequences |
| US5327567A (en) * | 1989-11-16 | 1994-07-05 | Texas Instruments Incorporated | Method and system for returning emulated results from a trap handler |
| US5463778A (en) * | 1989-11-16 | 1995-10-31 | Texas Instruments Incorporated | User controlled trap handler |
| US5103476A (en) * | 1990-11-07 | 1992-04-07 | Waite David P | Secure system for activating personal computer software at remote locations |
| DE4211245B4 (de) * | 1991-04-05 | 2009-05-14 | Kabushiki Kaisha Toshiba, Kawasaki | Prozessorsystem in Parallelverarbeitungsbauart und Verfahren zu dessen Steuerung |
| EP0522513A2 (en) * | 1991-07-09 | 1993-01-13 | Hughes Aircraft Company | High speed parallel microcode program controller |
| GB2259166B (en) * | 1991-08-30 | 1995-05-03 | Intel Corp | Transparent system interrupts with automated input/output trap restart |
| GB2266606B (en) * | 1992-04-27 | 1996-02-14 | Intel Corp | A microprocessor with an external command mode |
| US5517624A (en) * | 1992-10-02 | 1996-05-14 | Compaq Computer Corporation | Multiplexed communication protocol between central and distributed peripherals in multiprocessor computer systems |
| US5680645A (en) * | 1992-11-18 | 1997-10-21 | Canon Kabushiki Kaisha | System for executing first and second independently executable programs until each program relinquishes control or encounters real time interrupts |
| JPH06274354A (ja) * | 1993-03-12 | 1994-09-30 | Internatl Business Mach Corp <Ibm> | 破壊的なハードウェア動作を制御する方法及びシステム |
| US5745770A (en) * | 1993-12-27 | 1998-04-28 | Intel Corporation | Method and apparatus for servicing simultaneous I/O trap and debug traps in a microprocessor |
| DE19535546B4 (de) * | 1995-09-25 | 2004-04-08 | Siemens Ag | Verfahren zum Betreiben eines durch ein Realzeit-Betriebssystem gesteuerten Realzeit-Computersystems |
| US5778221A (en) * | 1997-03-17 | 1998-07-07 | International Business Machines Corporation | System for executing asynchronous branch and link in parallel processor |
| JP4018158B2 (ja) * | 1997-10-02 | 2007-12-05 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 可変命令セットコンピュータ |
| US6816934B2 (en) | 2000-12-22 | 2004-11-09 | Hewlett-Packard Development Company, L.P. | Computer system with registered peripheral component interconnect device for processing extended commands and attributes according to a registered peripheral component interconnect protocol |
| US20050182920A1 (en) * | 2004-02-13 | 2005-08-18 | Alexandre Palus | Apparatus and method for expedited exception handling using a dedicated port |
| US7930589B2 (en) * | 2005-06-17 | 2011-04-19 | Analog Devices, Inc. | Interrupt-responsive non-volatile memory system and method |
| WO2007048988A1 (en) * | 2005-10-26 | 2007-05-03 | Arm Limited | A data processing apparatus and method for handling procedure call instructions |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3909802A (en) * | 1974-04-08 | 1975-09-30 | Honeywell Inf Systems | Diagnostic maintenance and test apparatus |
| US4074353A (en) * | 1976-05-24 | 1978-02-14 | Honeywell Information Systems Inc. | Trap mechanism for a data processing system |
| US4141068A (en) * | 1977-03-24 | 1979-02-20 | Xerox Corporation | Auxiliary ROM memory system |
| JPS5341496A (en) * | 1977-05-11 | 1978-04-14 | Yoshio Watanabe | Tobacco leaves arranging apparatus equipped with safety device |
| US4339796A (en) * | 1978-06-30 | 1982-07-13 | International Business Machines Corporation | System for generating a plurality of different addresses for a working memory of a microcontroller during execution of certain instructions |
| US4241399A (en) * | 1978-10-25 | 1980-12-23 | Digital Equipment Corporation | Calling instructions for a data processing system |
| FR2474200B1 (fr) * | 1980-01-22 | 1986-05-16 | Bull Sa | Procede et dispositif d'arbitrage des conflits d'acces entre une requete asynchrone et un programme en section critique |
| US4398244A (en) * | 1980-05-07 | 1983-08-09 | Fairchild Camera & Instrument Corporation | Interruptible microprogram sequencing unit and microprogrammed apparatus utilizing same |
| US4438492A (en) * | 1980-08-01 | 1984-03-20 | Advanced Micro Devices, Inc. | Interruptable microprogram controller for microcomputer systems |
| JPS5958549A (ja) * | 1982-09-29 | 1984-04-04 | Hitachi Ltd | マイクロプログラム制御方式 |
| US4589065A (en) * | 1983-06-30 | 1986-05-13 | International Business Machines Corporation | Mechanism for implementing one machine cycle executable trap instructions in a primitive instruction set computing system |
-
1984
- 1984-11-01 US US06/667,242 patent/US4719565A/en not_active Expired - Lifetime
-
1985
- 1985-10-31 JP JP60246099A patent/JPS61110239A/ja active Granted
- 1985-10-31 DE DE8585307899T patent/DE3586195T2/de not_active Expired - Lifetime
- 1985-10-31 AT AT85307899T patent/ATE77159T1/de not_active IP Right Cessation
- 1985-10-31 EP EP85307899A patent/EP0180476B1/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| DE3586195D1 (de) | 1992-07-16 |
| EP0180476B1 (en) | 1992-06-10 |
| EP0180476A3 (en) | 1988-11-09 |
| ATE77159T1 (de) | 1992-06-15 |
| JPS61110239A (ja) | 1986-05-28 |
| US4719565A (en) | 1988-01-12 |
| DE3586195T2 (de) | 1992-12-03 |
| EP0180476A2 (en) | 1986-05-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0529933B2 (ja) | ||
| US4438492A (en) | Interruptable microprogram controller for microcomputer systems | |
| US4868735A (en) | Interruptible structured microprogrammed sixteen-bit address sequence controller | |
| EP0464494B1 (en) | A high performance pipelined emulator | |
| JP2846406B2 (ja) | 分岐処理方法及び分岐処理装置 | |
| US5596734A (en) | Method and apparatus for programming embedded memories of a variety of integrated circuits using the IEEE test access port | |
| EP0479230B1 (en) | Recovery method and apparatus for a pipelined processing unit of a multiprocessor system | |
| JP2846407B2 (ja) | 例外処理方法及び例外処理装置 | |
| US5093908A (en) | Method and apparatus for executing instructions in a single sequential instruction stream in a main processor and a coprocessor | |
| EP0461792B1 (en) | Master/slave checking system | |
| US5488728A (en) | Microprocessor having a run/stop pin for accessing an idle mode | |
| EP0024288A2 (en) | Computer system having at least two processors with shared storage | |
| JPH02232737A (ja) | パイプライン方式コンピューターシステムにおいてエラーを検出し訂正する方法及び装置 | |
| US4019033A (en) | Control store checking system and method | |
| JPS6218936B2 (ja) | ||
| KR100440361B1 (ko) | 자동정렬스택포인터를구비한데이타처리시스템및그방법 | |
| JPH07117897B2 (ja) | データ処理システムのプリフェッチ回路 | |
| US4317171A (en) | LSI Microprocessor having an error processing circuit | |
| US4432050A (en) | Data processing system write protection mechanism | |
| US4225921A (en) | Transfer control technique between two units included in a data processing system | |
| US4373182A (en) | Indirect address computation circuit | |
| US4217639A (en) | Logic for generating multiple clock pulses within a single clock cycle | |
| EP0448127B1 (en) | Microprogram sequence controller | |
| US4837681A (en) | Instruction sequencer branch mechanism | |
| US4236210A (en) | Architecture for a control store included in a data processing system |