JPS59116855A - 制御メモリ機構 - Google Patents
制御メモリ機構Info
- Publication number
- JPS59116855A JPS59116855A JP58221355A JP22135583A JPS59116855A JP S59116855 A JPS59116855 A JP S59116855A JP 58221355 A JP58221355 A JP 58221355A JP 22135583 A JP22135583 A JP 22135583A JP S59116855 A JPS59116855 A JP S59116855A
- Authority
- JP
- Japan
- Prior art keywords
- microinstruction
- control memory
- register
- output
- inputs
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/226—Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/264—Microinstruction selection based on results of processing
- G06F9/267—Microinstruction selection based on results of processing by instruction selection on output of storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
- G06F9/30167—Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Sorption Type Refrigeration Machines (AREA)
- Magnetically Actuated Valves (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
本発明131マイクロプログラム型データ処即システム
にお(jる制御メモリ機構に関する。 マイク「1プログラム型データ処理システムは、制御メ
モリにストアされた一連の命令であるマイクロプログラ
ムを実行することによって各プログラム命令を遂行する
。 各マイクロ命令は1つのマシンサイクルで実行3− され、このサイクル期間中幾つかの電気信号またはマイ
クロ指令が該マイクロ命令のデコーディングを通じて発
生され、論理ゲートのスイッチング・オフ、マシンレジ
スタのローディング等、データ処理システムを構成する
シングル電子回路の動作を制御する。 各プログラム命令の遂行には所定数の電子回路の独立制
御を必要とし、タイミングに関してみれば所定数の動作
の順序的実行を必要とする。 マイクロ命令が長くなればなるほど、独立に制御される
電子回路の数も増える。 したが、って幾つかの限界内で設削者は、数個の電子装
置をできるだけ順次的に作動させることによってマイク
ロ命令の長さを可及的に小さくする設計(シリアル命令
展開)または命令の実行に必要な連続的マイクロ命令の
数を可及的に小さくする設計(パラレル命令展開)を行
える。 シリアル命令展開では比較的少ないパラレル数と総ビッ
ト数の制御メモリが使用される。したがってより安価な
メモリが使えるという利点がある4− 下するという欠点がある。 パラレル命令展開では命令実行時間が最小値まで短縮さ
れるが、制御メモリと関連回路間の高いパラレル度およ
び大ぎなメモリ容量を必要とし、コスト高になる。 上i11:の観点、おにび幾つかの命令は実行されるべ
きシーケンス動作おJ:び制御されるべき電子回路に関
して安4rる要イ′1を右しかつ異なる周波数を使用す
るという事実に鑑みれば、可変パラレル機構の制御シス
テムをもつことが便利である。 そうすることにより、たとえ総制御メモリ容量が制限さ
れていても、たびたび使用されおよび/または多数の電
子回路の制御を必要とするプログラム命令のパラレル展
間をできるだけ増やせる。 この目的を達成するための解決が幾つか提案されている
。 1982(+’ 7717日に公告された欧州特許出願
用00553412qには、N個のアドレス可能位置を
有する主制御メモリとM(M<N)個のアドレス可能位
置を有する副制御メモリとを並列接続してなるマイクロ
プログラム型制御システムが記載されている。 これら主および副制御メモリは、M以下のアドレスに対
しては並列にアドレスされて両メモリのパラレル度の和
に等しいパラレル度をもフ1つのマイクロ命令を協働し
て与える。 Mより大きなアドレスに対しては、主制御メモリだけが
アドレスされそのパラレル度に等しい長さのマイクロ命
令が与えられる。 このような解法はマイクロ命令を一定セットの制御メモ
リ可能アドレスまで拡張する可能性を制限してしまう欠
点があり、マイクロ命令の配置に対して強い足掴を課す
。 実際、主制御メモリのパラレル度よりも良いマイクロ命
令を含む全てのマイクロ命令を予め定められたメモリ領
域にストアしなければならないが、さもなければ別のメ
モリ領域にストアされた飛越しマイクロ命令によってそ
れらのマイクロ命令へのアクセスを1憚ることになるが
、後者の場合にはメモリ容早が増大し性能が低下する。 米国時W[第1f、251.1162号にはN個のアド
レス可能位置を右+する1−制御メモリとM (M<N
>個のアドレス可111j位1Nを右覆る副制御メモリ
とを接続してなるマrりロブログラム型制御システムが
記載されている。 主制御メ1..りから読出されるマイクロ命令は、副制
御メモリのアドレスを表わす適当なビットフィールドと
1−ピッ1〜どを通して、連続的マイクロ命令が拡張さ
れねばならないことを指示する。 このようイ1揚合、次のマイクロ命令を読出すため主メ
モリをアドレスすることに加え、マイクロ命令拡張を入
わす2進コードを読出すため副メモリをもアト1ノスす
る。 このJ:うにして、先のマイクロ命令に幾らかの減縮損
害を′jえてより長いマイクロ命令が得られる。 このJ:うイに解法は任意のメモリ位置でマイクロ命令
拡張を可能にする利点をもつが、しかし欠点も幾つかあ
る。そのなかで最も重要なものは、割 7− 込みによってより高い優先順位のマイクロプログラムを
実行するようマイクロプログラム実行を中断する必要が
生じたときにシステムがこれにうまく適合しないことで
ある。 実際、データ処理システムにおいて、例えば内部演算プ
ログラムまたはスロー周辺ユニツ1−サービスプログラ
ムは、高速周辺ユニット例えばディスクユニットより要
求されたオペレーションの実行のため任意の時点で中断
されるようになっている。 割込みは普通1つのマシンサイクル、すなわちマイクロ
命令サイクルの期間中に許諾される。 引き続くマイクロ命令に対して拡張コードをリコールす
るマイクロ命令の実行中にマイクロプログラム割込みが
発生することもある。 そのような場合、その直後に実行されるマイクロ命令は
割込みマイクロプログラムの第1マイクロ命令であり、
拡張コードは誤ってそれに結合される。 またシステムが変更可能でなければならない場 − 合、す!’t :I’) ”>システムが少なくとも部
分的に読出し/書込みメモリで構成される場合にも不便
がある。そのIAJ合、主および副メモリの双方とも読
出し/書込みメモリでなければならず、そうでないと拡
張]−ドは変更され得ない。このため両メモリに対して
論理的書込み制御回路を使う必要があり、その結束回路
構成が複雑化しコストも高くなる。 上述
にお(jる制御メモリ機構に関する。 マイク「1プログラム型データ処理システムは、制御メ
モリにストアされた一連の命令であるマイクロプログラ
ムを実行することによって各プログラム命令を遂行する
。 各マイクロ命令は1つのマシンサイクルで実行3− され、このサイクル期間中幾つかの電気信号またはマイ
クロ指令が該マイクロ命令のデコーディングを通じて発
生され、論理ゲートのスイッチング・オフ、マシンレジ
スタのローディング等、データ処理システムを構成する
シングル電子回路の動作を制御する。 各プログラム命令の遂行には所定数の電子回路の独立制
御を必要とし、タイミングに関してみれば所定数の動作
の順序的実行を必要とする。 マイクロ命令が長くなればなるほど、独立に制御される
電子回路の数も増える。 したが、って幾つかの限界内で設削者は、数個の電子装
置をできるだけ順次的に作動させることによってマイク
ロ命令の長さを可及的に小さくする設計(シリアル命令
展開)または命令の実行に必要な連続的マイクロ命令の
数を可及的に小さくする設計(パラレル命令展開)を行
える。 シリアル命令展開では比較的少ないパラレル数と総ビッ
ト数の制御メモリが使用される。したがってより安価な
メモリが使えるという利点がある4− 下するという欠点がある。 パラレル命令展開では命令実行時間が最小値まで短縮さ
れるが、制御メモリと関連回路間の高いパラレル度およ
び大ぎなメモリ容量を必要とし、コスト高になる。 上i11:の観点、おにび幾つかの命令は実行されるべ
きシーケンス動作おJ:び制御されるべき電子回路に関
して安4rる要イ′1を右しかつ異なる周波数を使用す
るという事実に鑑みれば、可変パラレル機構の制御シス
テムをもつことが便利である。 そうすることにより、たとえ総制御メモリ容量が制限さ
れていても、たびたび使用されおよび/または多数の電
子回路の制御を必要とするプログラム命令のパラレル展
間をできるだけ増やせる。 この目的を達成するための解決が幾つか提案されている
。 1982(+’ 7717日に公告された欧州特許出願
用00553412qには、N個のアドレス可能位置を
有する主制御メモリとM(M<N)個のアドレス可能位
置を有する副制御メモリとを並列接続してなるマイクロ
プログラム型制御システムが記載されている。 これら主および副制御メモリは、M以下のアドレスに対
しては並列にアドレスされて両メモリのパラレル度の和
に等しいパラレル度をもフ1つのマイクロ命令を協働し
て与える。 Mより大きなアドレスに対しては、主制御メモリだけが
アドレスされそのパラレル度に等しい長さのマイクロ命
令が与えられる。 このような解法はマイクロ命令を一定セットの制御メモ
リ可能アドレスまで拡張する可能性を制限してしまう欠
点があり、マイクロ命令の配置に対して強い足掴を課す
。 実際、主制御メモリのパラレル度よりも良いマイクロ命
令を含む全てのマイクロ命令を予め定められたメモリ領
域にストアしなければならないが、さもなければ別のメ
モリ領域にストアされた飛越しマイクロ命令によってそ
れらのマイクロ命令へのアクセスを1憚ることになるが
、後者の場合にはメモリ容早が増大し性能が低下する。 米国時W[第1f、251.1162号にはN個のアド
レス可能位置を右+する1−制御メモリとM (M<N
>個のアドレス可111j位1Nを右覆る副制御メモリ
とを接続してなるマrりロブログラム型制御システムが
記載されている。 主制御メ1..りから読出されるマイクロ命令は、副制
御メモリのアドレスを表わす適当なビットフィールドと
1−ピッ1〜どを通して、連続的マイクロ命令が拡張さ
れねばならないことを指示する。 このようイ1揚合、次のマイクロ命令を読出すため主メ
モリをアドレスすることに加え、マイクロ命令拡張を入
わす2進コードを読出すため副メモリをもアト1ノスす
る。 このJ:うにして、先のマイクロ命令に幾らかの減縮損
害を′jえてより長いマイクロ命令が得られる。 このJ:うイに解法は任意のメモリ位置でマイクロ命令
拡張を可能にする利点をもつが、しかし欠点も幾つかあ
る。そのなかで最も重要なものは、割 7− 込みによってより高い優先順位のマイクロプログラムを
実行するようマイクロプログラム実行を中断する必要が
生じたときにシステムがこれにうまく適合しないことで
ある。 実際、データ処理システムにおいて、例えば内部演算プ
ログラムまたはスロー周辺ユニツ1−サービスプログラ
ムは、高速周辺ユニット例えばディスクユニットより要
求されたオペレーションの実行のため任意の時点で中断
されるようになっている。 割込みは普通1つのマシンサイクル、すなわちマイクロ
命令サイクルの期間中に許諾される。 引き続くマイクロ命令に対して拡張コードをリコールす
るマイクロ命令の実行中にマイクロプログラム割込みが
発生することもある。 そのような場合、その直後に実行されるマイクロ命令は
割込みマイクロプログラムの第1マイクロ命令であり、
拡張コードは誤ってそれに結合される。 またシステムが変更可能でなければならない場 − 合、す!’t :I’) ”>システムが少なくとも部
分的に読出し/書込みメモリで構成される場合にも不便
がある。そのIAJ合、主および副メモリの双方とも読
出し/書込みメモリでなければならず、そうでないと拡
張]−ドは変更され得ない。このため両メモリに対して
論理的書込み制御回路を使う必要があり、その結束回路
構成が複雑化しコストも高くなる。 上述
【ノだ不便は、種々のオペレーション要件を満たす
ことのできる可変長マイクロ命令を得ることが可rll
j r 、かつマイクロプログラム割込みの可能性にり
・1して適合する本発明の制御メモリ機構にJ:ってI
’ll/ l肖される。 特に本発明の機構によれば、たびたび用いられる命令の
スピードd3J:びパラレル展間に利用可能な、所定範
囲の制御メモリアドレスに対する第1の大マイクロ命令
と、使用頻度が少なく幾つかの電子回路のパラレル制御
を必要とするオペレーションのHE間に利用可rlli
’、r 、残りの範囲の制御メモリアドレスに対する
第2の大マイクロ命令とが得−(’)− られる。 これらの利点は、主制御メモリと、主制御メモリのある
範囲のアドレスに並列接続した副制御メモリと、引き続
くマイクロ命令の拡張]−ドとして使われるべきマイク
ロ命令部分をストアするための副マイクロ命令レジスタ
とを備える制御メモリ機構によって得られる。 さらに、副制御メモリまたは該レジスタから読出された
コードによってマイクロ命令を選択的に拡張すること、
およびたとえマイクロプログラム命令割込みが発生して
も拡張コードを正確に関連マイクロ命令に連合させるこ
とを可能にするための極めて簡単な論理回路が幾つか設
けられる。 本発明の機構においては、制御メモリの少なくとも一部
が読出し/書込み型であって;その場合1つのメモリに
対する書込み制御論理回路を用いてマイクロ命令の変更
および該読出し/書込み型メモリの拡張コードの変更を
可能とする一層右利な実施例の説明おJ:び添附図面か
らより明らかになろう。 本発明の制御メモリ機構を開明するに先立ってマイク[
1プログラム型データ処理システムの動作を制御1する
マイクロプログラムの構造を示すことが有益である。 各マシンサイクルの期間中に1つのマイクロ命令が実行
され、次のり°イクルで実行されるべきマイクロ命令が
フェッチされる。 このにうなマイクロプログラム構造は概してシーケンス
的である。 別な言い方をすると、1つのマイクロプログラムは連続
的なメモリアドレスにて制御メモリにストアされた複数
のマイクロ命令によって構成される。 この構造では、前回のマイクロ命令のアドレスをインク
リメントするだけで今回のマイクロ命令をアドレスする
ことが可能である。すなわちアドレスに+1のマイクロ
命令はアドレスにのマイクロ命令に続く。 しかしこの構造的基準に完全に従うのは不可能であり、
また適当でない。 したがってアドレスにのマイクロ命令からアドレスAあ
るいはに+Cのマイクロ命令へのジャンプ(飛越し)が
行えるようになっている。 引き続くマイクロ命令の7エツヂングのためのそのよう
なアドレス更新を制御づるマイク[1命令は、それぞれ
絶対的飛越しマイクロ命令および相対的飛越しマイクロ
命令と称される。 それらの飛越しマイクロ命令は、(アドレスAまたは変
位Cを含むレジスタへの参照にJこり)飛越しアドレス
Aまたは変位Cを直接または間接的に規定する。 マイクロ命令は無条件型であったり条件付型であったり
する。 無条件飛越しマイクロ命令はいかなる場合でも飛越しを
指令する。 条件付飛越しマイクロ命令は所定の条件がデータ処理シ
ステム内で確証されたときだけ飛越しを指令する。この
条件は当該条件付飛越しマイクロ命令によって直接また
は間接的に規定されている。 加えて飛越しマイクロ命令はアドレス保管を可能にする
。 すなわち、アドレスにの飛越しマイクロ命令はアドレス
八またはに+Cのマイクロ命令をフェッチさせると11
i1115に次のアドレスに+1を適当なレジスタに保
管させることができる。 アドレス保管は、飛越しマイクロ命令によってリコール
されたマイクロプログラムサブルーチンの実行が終了し
たとぎに次の流れのマイクロプログラムに1(1帰する
のに必要である。 そのよ−)な場合、復帰マイクロ命令は、保管レジスタ
をぬ照し、間接的な仕方で絶対的復帰アドレスを規定す
る。 一般に1つのサブルーチンが別のサブルーチンをリコー
ルする、すなわち各々が他のサブルーチンの内部にある
ようなサブルーチン・ネス1〜(巣)構造を可能にする
ため、複数のレジスタが用いられる。 これらのレジスタは数個の保管アドレスを順々12− に重ねてストアするスタックを構成する。それらの保管
アドレスは保管のときと逆の順序で読出される(すなわ
ち最後に保管されたアドレスが最初に読出されるべきア
ドレスになる)。 さらに、レジスタスタックの使用はマイクロプログラム
の割込みを可能にする。 実際最近のデータ処理システムでは、1つのマイクロプ
ログラムまたは一連のマイクロプログラムを通して実行
されている際中のプロセスがより高い優先順位のオペレ
ーションの実行のために任意の時点で中断されるように
なっている。 例えば、バッファを設けないディスクユニットのような
周辺機器はそれらと中央処理装置間の情報交換をそれら
で決定した所定時間に行なうよう要求する。 したがって中央処理装置は、周辺機器によって要求され
た情報交換プロセスを開始するため進行中のプロセスを
中断できなければならず、かつその情報交換プロセスが
終了したときに該中断されていたプロセスを再開できな
ければならない。 情報文1φ要求は適当な割込み信号または割込みによっ
て中央処理装置に与えられる。 アドレス1〈のマイクロ命令の実行期間中に受取られた
割込みは、アドレスK +1の保管を行わせると同n、
′Iti’:、割込み周辺コニットにサービスするため
の割込み処理マイクロプログラムの第1マイクロ命令に
関連したアドレスを発生させる。 割込み処理が終了したどき、中断されていたマイクロブ
11グラムがアドレスに+1から再開され得る。 第1図には一例として1つのマイクロ命令のフォーマッ
トを示す。 32ピットからなる各マイクロ命令には、オペレーショ
ンコードOPを規定するフィールド(例えば8ピツ1〜
)が含まれる。 残りの24ビツトはオペレーションコードに従って可変
的な意味をもつ。 転送マイクロ命令に関しては、例えばソースレジスタと
該レジスタの内容を転送すべきデスティネーションレジ
スタとがそれら24ビツトにより規定される。 飛越しマイクロ命令にあっては、絶対的飛越し条件と可
能性のあるアドレス保管とが規定される。 演紳マイクロ命令(加算、減算等)にあっては、オペラ
ンドを収容するレジスタおにび演算結果のデスティネー
ションレジスタ等が規定される。 幾つかのマイクロ命令の中には第1図に示すような定数
日−ディングマイクロ命令もある。 このようなマイクロ命令は、オペレーションフィールド
OP(ビットO〜7)、定数が転送されるべきところの
レジスタを指定するフィールドADDR(ビット8〜1
1)、および所望の定数を表わすフィールドC0N5T
(ビット24〜31)を含む。 ビット12〜23は伯の目的に利用可能である。 上述したフォーマットは単に例示にすぎない。 次に本発明の制御メモリ機構を説明する。 第2図を参照すると、主制御メモリMC81は、例えば
32ビツトのパラレル度と64にアドレス可能位置の容
量を有し、アドレッシングレジスター ] b − RO8P八;1の出力に接続する16ビツトチヤネル2
を介してj1ドレスされる。 メモリ1の出力はブIFネル4を介してマイクロ命令レ
ジスタROR5の入力に接続し、レジスタROR5の出
力ROR(C)−31)はデコーディング回路網6の入
力に接続する。 アドレス発生装晶ΔGtJ7はマイクロ命令アドレスを
発11りる。 H首ΔGU7の出力はトリステートゲート・セット8を
介してレジスタRO8PA3の入力に接続する。 アドレス発牛装買ΔGU7は従来構成であり、その入力
にニ ー チャンネル10を介してレジスタ3の内容、−チャ
ンネル11を介してレジスタ5の内容の一部(例えばピ
ッ1〜ROR(15−31) )、−チVンネル12を
介して幾つかのシステムレジスタのうちの1つの内容、 を受取る。 アドレス発生装置△GLI7は、例えばファーム16− AMD製の集積回路(コードAm2930)で構成され
る。 本発明の目的からしてRPjAGU7の詳細は重要でな
い。 装置AGU7が加算回路、インクリメント回路、マルチ
プレクサ回路およびレジスタスタックからなることを言
えば十分である。 装置AGU7は、前述したような連続的または飛越しア
ドレスの発生および所要アドレスの保管を可能にする。 これは、チャンネル10.11.12に与えられた情報
と装置AGU7に受取られた適当なマイクロ指令とを用
いてなされる。 このようなマイクロ指令は、図示しないが、実行中のマ
イクロ命令のデコーディングによって得られる。 レジスタRO8PA3には、装置AGU7の出力からロ
ードされるだけでなく、]・リステートゲート・セット
14を介してチャンネル9に接続した割込みアドレスチ
ャンネル13からもコードされる。 割込み愼1目11NTは、適当にタイミングをとられ、
作動状態になるとゲートセット14を可能化するとli
’i111.’1にNOTグー1〜15を介してゲート
セット8を禁11−化する。 割込みアドレスは強制的アドレス、すなわちチャンネル
13の幾つかのリード線を電気的論理的レベル゛1′°
または0″に適当に接続することによって得られるアド
レスである。 別な方法として、割込み信号FIINTによって選択さ
れI、:適当なマシンレジスタから強制的アドレスを読
出してもよい。 レジスタ!−)の出力ROR(0−31)はデコーダ6
の入力に接続し、デコーダ6は該レジスタにストアされ
たマイクロ命令をデコードして複数のマイクロ指令MC
1,・・・、MCNを生成し、各マイクロ指令は可能な
タイミング信号と一緒になってデータ処理システムの1
つまたはそれ以上の電子回路を制御ll 1する。 これらマイクロ指令の幾つかは、本発明の目的からして
重要でないので第2図には示さないが、前述したように
装置A G LJ 7に送られる。 タイミング信号装fiffTtJ16は従来構成で、シ
ステム動作に必要な周期的タイミング信号を発生する。 本発明に関しては、タイミング装置16が第3図に示す
ようなタイミング信号を発生することが分れば十分であ
る。 マシンサイクルの開始に対応しlこ時点t。で信号5T
RORΔが発生される。 信号5TRORAの立上り端は、制御メモリ1から読出
されたマイクロ命令をレジスタROR5にローディング
するために用いられる。 マシンサイクルの中間時点t1で信号5TrNTが発生
される。 信号5TIN丁は割込みに対する可能化信号として使わ
れる。 時点t1の後の時点t2で信号STMIが発生され、こ
の信号はマシンレジスタのローディングのための可能化
信号として使われる。 時点t3で信号5TRADAが発生される。 19− 信号S T Rへ〇Aの立−1ニリ端はレジスタRO8
P八〇のII−ディングに用いられる。 したが・】で、このマシン°リーイクルは2つのフェー
ズからtする。 実行フ1−ズと称される第17エーズの期間中にマイク
ロ命令がレジスタ5にロー1zされ、デコードされ、実
行される。 さらに、可能なマイクロプログラム割込みも完膚しつつ
、次のリイクルで実行されるべきマイクロ命令のj′ド
レスが定められる。 信号STRΔDΔで開始する第27エーズの期間中に現
時マイクロ命令の実行がなされ、レジスタROS l’
Δ3のローディングで次のマイクロ命令の読出しが開始
する。 第2フ[−ズが終了すると、新たなマシンサイクルが開
始する。 これまで説明してきた制御メモリ機構は従来周知なもの
である。 次に第2図を参照して新規な要素を説明する。 第2の制御メモリ17は、制御メモリ1(例えば2O− 2K)よりも少ないアドレス可能位置数を有し、制御メ
モリ1と並列に接続する。 メモリ17はチャンネル18を介してレジスタ3から出
力された下位ビットC8A (05−15)によりアド
レスされる。 メモリ17の出力は、適当なパラレル度(例えば8ビツ
ト)を有し、チャンネル1つを介してマルチプレクサ2
0の第1人カセットに接続する。 マルチプレクサ20の出力は、レジスタROR5と同じ
機能をもつレジスタRORA41の対応人力に接続する
。 レジスタ41はレジスタ5と同様に信号5TRORAに
より可能化される。 レジスタ5および41は、別個のレジスタとして図示し
であるが、メモリ1および17のそれぞれのパラレル度
の和に等しいパラレル度をもつ1つのレジスタで構成さ
れてもよい。 レジスタ41の出力はデコーダ6の対応入力に接続する
。 レジスタ41にストアされた情報は適当にデコ−ドされ
るどイ・1加的マイク[1指令を与え、このマイクロ指
令は1ノジスタROR5の内容をデコードして発生され
たイ・1加的マイクロ指令と一緒になって働く。 マルヂブ1ノクザ20の第2人力(2ツト20Aは常時
論理レベル“0″に接続される、1 マルヂブ1ノクリ−20の第3および第4人カセツ1へ
はチャンネル21を介してレジスタ22の出力に接続す
る。 レジスタ22の入力はチャンネル23を介してレジスタ
ROft りの適当な出力、例えば出力ROR(24−
31) lこ接続する。 レジスタ22のクロック入力は、信号STMIとマイク
ロ指令M01を入力に受取るANDゲート24の出力に
1き続する。 実行中のマイクロ命令が定数ローディングマイクロ命令
であってレジスタ22をデスティネーションレジスタど
して指示するどき、マイクロ指令MCIは論理レベル“
1″にあり、該定数はチャンネル23にりえられ、レジ
スタ22にロードされる。 この制御メモリ機構は2つのフリップ70ツブ25、2
6と論理ゲート27.28.29.30.31によって
完成する。 J−にフリップフロップ25のJ入力はマイクロ指令M
C1を受取り、K入力は常時論理レベルII 11+に
接続される。 信号STMIはフリップフロップ25のクロック人力K
に供給される。 フリップフロップ25はMCIが論理レベル“1″
ことのできる可変長マイクロ命令を得ることが可rll
j r 、かつマイクロプログラム割込みの可能性にり
・1して適合する本発明の制御メモリ機構にJ:ってI
’ll/ l肖される。 特に本発明の機構によれば、たびたび用いられる命令の
スピードd3J:びパラレル展間に利用可能な、所定範
囲の制御メモリアドレスに対する第1の大マイクロ命令
と、使用頻度が少なく幾つかの電子回路のパラレル制御
を必要とするオペレーションのHE間に利用可rlli
’、r 、残りの範囲の制御メモリアドレスに対する
第2の大マイクロ命令とが得−(’)− られる。 これらの利点は、主制御メモリと、主制御メモリのある
範囲のアドレスに並列接続した副制御メモリと、引き続
くマイクロ命令の拡張]−ドとして使われるべきマイク
ロ命令部分をストアするための副マイクロ命令レジスタ
とを備える制御メモリ機構によって得られる。 さらに、副制御メモリまたは該レジスタから読出された
コードによってマイクロ命令を選択的に拡張すること、
およびたとえマイクロプログラム命令割込みが発生して
も拡張コードを正確に関連マイクロ命令に連合させるこ
とを可能にするための極めて簡単な論理回路が幾つか設
けられる。 本発明の機構においては、制御メモリの少なくとも一部
が読出し/書込み型であって;その場合1つのメモリに
対する書込み制御論理回路を用いてマイクロ命令の変更
および該読出し/書込み型メモリの拡張コードの変更を
可能とする一層右利な実施例の説明おJ:び添附図面か
らより明らかになろう。 本発明の制御メモリ機構を開明するに先立ってマイク[
1プログラム型データ処理システムの動作を制御1する
マイクロプログラムの構造を示すことが有益である。 各マシンサイクルの期間中に1つのマイクロ命令が実行
され、次のり°イクルで実行されるべきマイクロ命令が
フェッチされる。 このにうなマイクロプログラム構造は概してシーケンス
的である。 別な言い方をすると、1つのマイクロプログラムは連続
的なメモリアドレスにて制御メモリにストアされた複数
のマイクロ命令によって構成される。 この構造では、前回のマイクロ命令のアドレスをインク
リメントするだけで今回のマイクロ命令をアドレスする
ことが可能である。すなわちアドレスに+1のマイクロ
命令はアドレスにのマイクロ命令に続く。 しかしこの構造的基準に完全に従うのは不可能であり、
また適当でない。 したがってアドレスにのマイクロ命令からアドレスAあ
るいはに+Cのマイクロ命令へのジャンプ(飛越し)が
行えるようになっている。 引き続くマイクロ命令の7エツヂングのためのそのよう
なアドレス更新を制御づるマイク[1命令は、それぞれ
絶対的飛越しマイクロ命令および相対的飛越しマイクロ
命令と称される。 それらの飛越しマイクロ命令は、(アドレスAまたは変
位Cを含むレジスタへの参照にJこり)飛越しアドレス
Aまたは変位Cを直接または間接的に規定する。 マイクロ命令は無条件型であったり条件付型であったり
する。 無条件飛越しマイクロ命令はいかなる場合でも飛越しを
指令する。 条件付飛越しマイクロ命令は所定の条件がデータ処理シ
ステム内で確証されたときだけ飛越しを指令する。この
条件は当該条件付飛越しマイクロ命令によって直接また
は間接的に規定されている。 加えて飛越しマイクロ命令はアドレス保管を可能にする
。 すなわち、アドレスにの飛越しマイクロ命令はアドレス
八またはに+Cのマイクロ命令をフェッチさせると11
i1115に次のアドレスに+1を適当なレジスタに保
管させることができる。 アドレス保管は、飛越しマイクロ命令によってリコール
されたマイクロプログラムサブルーチンの実行が終了し
たとぎに次の流れのマイクロプログラムに1(1帰する
のに必要である。 そのよ−)な場合、復帰マイクロ命令は、保管レジスタ
をぬ照し、間接的な仕方で絶対的復帰アドレスを規定す
る。 一般に1つのサブルーチンが別のサブルーチンをリコー
ルする、すなわち各々が他のサブルーチンの内部にある
ようなサブルーチン・ネス1〜(巣)構造を可能にする
ため、複数のレジスタが用いられる。 これらのレジスタは数個の保管アドレスを順々12− に重ねてストアするスタックを構成する。それらの保管
アドレスは保管のときと逆の順序で読出される(すなわ
ち最後に保管されたアドレスが最初に読出されるべきア
ドレスになる)。 さらに、レジスタスタックの使用はマイクロプログラム
の割込みを可能にする。 実際最近のデータ処理システムでは、1つのマイクロプ
ログラムまたは一連のマイクロプログラムを通して実行
されている際中のプロセスがより高い優先順位のオペレ
ーションの実行のために任意の時点で中断されるように
なっている。 例えば、バッファを設けないディスクユニットのような
周辺機器はそれらと中央処理装置間の情報交換をそれら
で決定した所定時間に行なうよう要求する。 したがって中央処理装置は、周辺機器によって要求され
た情報交換プロセスを開始するため進行中のプロセスを
中断できなければならず、かつその情報交換プロセスが
終了したときに該中断されていたプロセスを再開できな
ければならない。 情報文1φ要求は適当な割込み信号または割込みによっ
て中央処理装置に与えられる。 アドレス1〈のマイクロ命令の実行期間中に受取られた
割込みは、アドレスK +1の保管を行わせると同n、
′Iti’:、割込み周辺コニットにサービスするため
の割込み処理マイクロプログラムの第1マイクロ命令に
関連したアドレスを発生させる。 割込み処理が終了したどき、中断されていたマイクロブ
11グラムがアドレスに+1から再開され得る。 第1図には一例として1つのマイクロ命令のフォーマッ
トを示す。 32ピットからなる各マイクロ命令には、オペレーショ
ンコードOPを規定するフィールド(例えば8ピツ1〜
)が含まれる。 残りの24ビツトはオペレーションコードに従って可変
的な意味をもつ。 転送マイクロ命令に関しては、例えばソースレジスタと
該レジスタの内容を転送すべきデスティネーションレジ
スタとがそれら24ビツトにより規定される。 飛越しマイクロ命令にあっては、絶対的飛越し条件と可
能性のあるアドレス保管とが規定される。 演紳マイクロ命令(加算、減算等)にあっては、オペラ
ンドを収容するレジスタおにび演算結果のデスティネー
ションレジスタ等が規定される。 幾つかのマイクロ命令の中には第1図に示すような定数
日−ディングマイクロ命令もある。 このようなマイクロ命令は、オペレーションフィールド
OP(ビットO〜7)、定数が転送されるべきところの
レジスタを指定するフィールドADDR(ビット8〜1
1)、および所望の定数を表わすフィールドC0N5T
(ビット24〜31)を含む。 ビット12〜23は伯の目的に利用可能である。 上述したフォーマットは単に例示にすぎない。 次に本発明の制御メモリ機構を説明する。 第2図を参照すると、主制御メモリMC81は、例えば
32ビツトのパラレル度と64にアドレス可能位置の容
量を有し、アドレッシングレジスター ] b − RO8P八;1の出力に接続する16ビツトチヤネル2
を介してj1ドレスされる。 メモリ1の出力はブIFネル4を介してマイクロ命令レ
ジスタROR5の入力に接続し、レジスタROR5の出
力ROR(C)−31)はデコーディング回路網6の入
力に接続する。 アドレス発生装晶ΔGtJ7はマイクロ命令アドレスを
発11りる。 H首ΔGU7の出力はトリステートゲート・セット8を
介してレジスタRO8PA3の入力に接続する。 アドレス発牛装買ΔGU7は従来構成であり、その入力
にニ ー チャンネル10を介してレジスタ3の内容、−チャ
ンネル11を介してレジスタ5の内容の一部(例えばピ
ッ1〜ROR(15−31) )、−チVンネル12を
介して幾つかのシステムレジスタのうちの1つの内容、 を受取る。 アドレス発生装置△GLI7は、例えばファーム16− AMD製の集積回路(コードAm2930)で構成され
る。 本発明の目的からしてRPjAGU7の詳細は重要でな
い。 装置AGU7が加算回路、インクリメント回路、マルチ
プレクサ回路およびレジスタスタックからなることを言
えば十分である。 装置AGU7は、前述したような連続的または飛越しア
ドレスの発生および所要アドレスの保管を可能にする。 これは、チャンネル10.11.12に与えられた情報
と装置AGU7に受取られた適当なマイクロ指令とを用
いてなされる。 このようなマイクロ指令は、図示しないが、実行中のマ
イクロ命令のデコーディングによって得られる。 レジスタRO8PA3には、装置AGU7の出力からロ
ードされるだけでなく、]・リステートゲート・セット
14を介してチャンネル9に接続した割込みアドレスチ
ャンネル13からもコードされる。 割込み愼1目11NTは、適当にタイミングをとられ、
作動状態になるとゲートセット14を可能化するとli
’i111.’1にNOTグー1〜15を介してゲート
セット8を禁11−化する。 割込みアドレスは強制的アドレス、すなわちチャンネル
13の幾つかのリード線を電気的論理的レベル゛1′°
または0″に適当に接続することによって得られるアド
レスである。 別な方法として、割込み信号FIINTによって選択さ
れI、:適当なマシンレジスタから強制的アドレスを読
出してもよい。 レジスタ!−)の出力ROR(0−31)はデコーダ6
の入力に接続し、デコーダ6は該レジスタにストアされ
たマイクロ命令をデコードして複数のマイクロ指令MC
1,・・・、MCNを生成し、各マイクロ指令は可能な
タイミング信号と一緒になってデータ処理システムの1
つまたはそれ以上の電子回路を制御ll 1する。 これらマイクロ指令の幾つかは、本発明の目的からして
重要でないので第2図には示さないが、前述したように
装置A G LJ 7に送られる。 タイミング信号装fiffTtJ16は従来構成で、シ
ステム動作に必要な周期的タイミング信号を発生する。 本発明に関しては、タイミング装置16が第3図に示す
ようなタイミング信号を発生することが分れば十分であ
る。 マシンサイクルの開始に対応しlこ時点t。で信号5T
RORΔが発生される。 信号5TRORAの立上り端は、制御メモリ1から読出
されたマイクロ命令をレジスタROR5にローディング
するために用いられる。 マシンサイクルの中間時点t1で信号5TrNTが発生
される。 信号5TIN丁は割込みに対する可能化信号として使わ
れる。 時点t1の後の時点t2で信号STMIが発生され、こ
の信号はマシンレジスタのローディングのための可能化
信号として使われる。 時点t3で信号5TRADAが発生される。 19− 信号S T Rへ〇Aの立−1ニリ端はレジスタRO8
P八〇のII−ディングに用いられる。 したが・】で、このマシン°リーイクルは2つのフェー
ズからtする。 実行フ1−ズと称される第17エーズの期間中にマイク
ロ命令がレジスタ5にロー1zされ、デコードされ、実
行される。 さらに、可能なマイクロプログラム割込みも完膚しつつ
、次のリイクルで実行されるべきマイクロ命令のj′ド
レスが定められる。 信号STRΔDΔで開始する第27エーズの期間中に現
時マイクロ命令の実行がなされ、レジスタROS l’
Δ3のローディングで次のマイクロ命令の読出しが開始
する。 第2フ[−ズが終了すると、新たなマシンサイクルが開
始する。 これまで説明してきた制御メモリ機構は従来周知なもの
である。 次に第2図を参照して新規な要素を説明する。 第2の制御メモリ17は、制御メモリ1(例えば2O− 2K)よりも少ないアドレス可能位置数を有し、制御メ
モリ1と並列に接続する。 メモリ17はチャンネル18を介してレジスタ3から出
力された下位ビットC8A (05−15)によりアド
レスされる。 メモリ17の出力は、適当なパラレル度(例えば8ビツ
ト)を有し、チャンネル1つを介してマルチプレクサ2
0の第1人カセットに接続する。 マルチプレクサ20の出力は、レジスタROR5と同じ
機能をもつレジスタRORA41の対応人力に接続する
。 レジスタ41はレジスタ5と同様に信号5TRORAに
より可能化される。 レジスタ5および41は、別個のレジスタとして図示し
であるが、メモリ1および17のそれぞれのパラレル度
の和に等しいパラレル度をもつ1つのレジスタで構成さ
れてもよい。 レジスタ41の出力はデコーダ6の対応入力に接続する
。 レジスタ41にストアされた情報は適当にデコ−ドされ
るどイ・1加的マイク[1指令を与え、このマイクロ指
令は1ノジスタROR5の内容をデコードして発生され
たイ・1加的マイクロ指令と一緒になって働く。 マルヂブ1ノクザ20の第2人力(2ツト20Aは常時
論理レベル“0″に接続される、1 マルヂブ1ノクリ−20の第3および第4人カセツ1へ
はチャンネル21を介してレジスタ22の出力に接続す
る。 レジスタ22の入力はチャンネル23を介してレジスタ
ROft りの適当な出力、例えば出力ROR(24−
31) lこ接続する。 レジスタ22のクロック入力は、信号STMIとマイク
ロ指令M01を入力に受取るANDゲート24の出力に
1き続する。 実行中のマイクロ命令が定数ローディングマイクロ命令
であってレジスタ22をデスティネーションレジスタど
して指示するどき、マイクロ指令MCIは論理レベル“
1″にあり、該定数はチャンネル23にりえられ、レジ
スタ22にロードされる。 この制御メモリ機構は2つのフリップ70ツブ25、2
6と論理ゲート27.28.29.30.31によって
完成する。 J−にフリップフロップ25のJ入力はマイクロ指令M
C1を受取り、K入力は常時論理レベルII 11+に
接続される。 信号STMIはフリップフロップ25のクロック人力K
に供給される。 フリップフロップ25はMCIが論理レベル“1″
【こ
あるとぎにSTMIの立」ニリ端でセットされ、そうで
汀い場合にはその状態を変えない。 J−にフリップ26のJ入力はANDゲート27の出力
から信号EIINTを受取り、K入力は論理レベル1の
信号を常時受取る。 信号STMrはフリップ70ツブ26のクロック入力O
Kに供給される。 フリップフロップ26はゲート27の出力に論理レベル
゛1″の信号EITNTが存在するときにSTMIの立
上り端でセラ]へされ、そうでない場合にはその状態を
変えない。 23− ANDゲーグー27は割込み信号TNTおよびタイミン
グ信′148T1NIを入力に受取る。 フリップ70ツブ26のリセット入力はNANDゲート
28の111力に接続する。したがってこのリセット人
力Rに論理レベル“0″の信号が供給されるとフリップ
フロップ26はリセットされる。 NΔN F)グー1〜28は信号STMIとマイクロ指
令MC2を人力に受取る。 マイク[l lit令IVLC2は、実行中のマイクロ
命令が割込み終了マイクロ命令であるとき、すなわち中
断されていたマイク1]プログラムへの復帰を指令する
ものであるとき、論理レベル゛1″である。 フリップフロップ25のリセット人力RはNANDゲー
ト2りの出力に接続する。 NAt1)グー1〜29の第1人力は信号5TRORA
を受取る。 ゲート29の第2人力はフリップフロップ26の出力Q
に接続する。 マルチプレクサ−20は2つの選択入力S+ 、S2に
よって制御される。 24− 人力S1はANDゲート30の出力に接続し、該ゲート
30の2つの入力はフリップフロップ25の出力Qおよ
びフリップフロップ26の出力Qにそれぞれ接続する。 入力S2は、制御メモリアドレッシングごットcsA
(00−04)を入力するORゲート31の出力に接続
する。 ピッ1〜C8A (00−04)が全て論理レベル゛″
OI+のとき、すなわち制御メモリアドレスが2により
小さいとぎ、ORゲート31の出力は論理レベル゛0″
である。 S2 =S+ =00とき、チャンネル19はマルチプ
レクサ20の出力に接続する。 82 =1、S+ =Oのとぎ、入力セット20Aはマ
ルチプレクサ20の出力に接続】−る。 51−1のとき、S2の論理レベルが何であってもチャ
ンネル21はマルチプレクサ20の出力に接続する。 次に制御メモリ機構の動作を述べる。 主制御メモリ1が2により小さいアドレスでアドレス2
\れるとぎ、すなわちC8A (00−24) =0の
とき、副制御メモリ17もアドレスされる。 メモリ17から読出された情報はマルチプレクサ20を
介tノでレジスタ41に転送される。 すなわら、2により小さいアドレスに対して、拡張化さ
れたマイクロ命令が得られ:このようなマイク[1命令
のビット数はメモリ1,17のパラレル醍の和に等しい
。 主制御メモリ1が2に以上のアドレスでアドレスされる
どぎ、すなわちC8A (00−04)の少なくとも1
ピツトが1″であるとき、パ全部零″のコードがマルチ
プレクサ20を介してレジスタROR41に強制入力さ
れる。 別なhい方をすると、2Kに等しいまたはそれJ:り大
さいアドレスに対して、定常な長さのマイクロ命令が1
!Vられ;このようなマイクロ命令のビット数番、1メ
モリ1のパラレル度に等しい。 しかし、レジスタ22への定数のローディングを指示す
る定数ローディングマイクロ命令を制御メモリ1に任意
のアドレスにでストアすることば可能である。 この場合、アドレスにのマイクロ命令が読出されてレジ
スタROR5にロードされると、マイクロ指令MCIが
発生される。 このようなマイクロ命令の実行期間中、信号STMIは
フリップフロップ25をセットし、マイクロ命令のビッ
ト24−31のフィールド(第1図)によって規定され
る定数がレジスタ22にロードされる。 定数ローティングマイクロ命令の実行期間中に何らの割
込みも受付けられないときには、フリップ70ツブ26
はリセット状態のままにあり、したがってANDゲート
30の出力は論理レベル゛1″である。 次のサイクルが開始すると新たなマイクロ命令が5TR
ORAの立上り端でレジスタROR5にロードされ、こ
れと同時にレジスタ22にストアされていた情報がレジ
スタ41に転送される。 このようにして、拡張化されたマイクロ命令が得られる
。 一、?/− マイク11命令の拡張化は、定数ローディングタイプで
あってその定数を規定する1ビツトフイールドを使用し
たに違いない先のマイクロ命令を犠牲にして117られ
る。 また同11,1に、信号5TRORAがNANDゲート
29を介してフリップフロップ25をリセットする。 信M S T RORAの立上り端に対して、マルチプ
レクサ20の入力S1に与えられる信号は、論理チェイ
ンNΔND29、フリップフロップ25、AND30を
伝播する信号によって決まる時間遅延をもって論理レベ
ル110 I+に立ち下がる。 アドレスにのマイクロ命令(定数ローディングマイク[
]6I)令)十の実行期間中に割込みが受付けられると
、フリップ70ツブ25に加えてフリップフロップ26
t3セツトされる。 この場合、Slは論理レベル゛0″のままであり、レジ
スタ22の定数は5TRORAの次の立上り端でレジス
タ41に転送されない。 割込み処理マイクロプログラムの展開に関係するマシン
リイクルの全期間中、フリップフロップ28− 25、26はレットされたままである。 割込み処理マイクロプログラムの最後のマイクロ命令は
割込み処理終了および中断されていたマイクロプログラ
ムへの復帰のマイクロ命令であり;このマイクロ命令に
よってフリップフロップ26をリセットせしめるマイク
ロ指令MC2が発生される。 したがって、次のマイクロ命令が5TRORAでレジス
タROR5にロードされたとき、これと同時にレジスタ
22の内容もレジスタ41に転送され、中断されていた
マイクロプログラムが情報の損失なしに再開される。 上述した制御メモリ機構によれば、割込みマイクロプロ
グラムはレジスタ22によって拡張化されたマイクロ命
令を使うことができない。というのは、中断されていた
マイクロプログラムを実行するのに必要な情報が既にレ
ジスタ22に入っているからである。 しかし、制御メモリ1にストアされ得る割込みマイクロ
プログラムのアドレスは2により小さいためその31.
うな制限は無視できるものであり、したがってマイクロ
命令拡張化は制御メモリ17によって得られる。 本発明の制御メモリ機構は多くの利点を有する。 ある範囲の主制御メモリアドレスに関して、マイクロ命
令は主制御メモリと並列にアドレスされるより小さい容
量の副制御メモリを用いて拡張可能である1゜ マイク11プログラム割込みがあったとしても、制御オ
ペ1ノージヨンの正しい実行に影響を与えない。 付加的制御メモリを通して1!7られたマイクロプログ
ラム1;1:張は、多数のシステム電子回路のパラレル
制御を要求し113J:び/まICは高周波数を使用す
るファーストオペレーション、例えば命令割込みまたは
割込処理オペレーションの実行に用いて有利である。 全メモリ容量に関しては、次のマイクロ命令に対する拡
張コードとして先のマイクロ命令の1フイールドを用い
てマイクロ命令の拡張が行える。 これに伴い、拡張化マイクロ命令に先立つマイクロ命令
は一般にレジスタ22への定数のローディングだけをタ
スクとし伯の目的には使われない。 それから、システムによって実行されるオペレーション
のスローイングが概して続く。 したがってこのようなマイクロ命令拡張は、多数の電子
装置のパラレル制御を要求するが低周波数を使用する診
断オペレーションの実行に用いて有利である。 この場合、制御オペレーションの正しい実行に影響を及
ぼすようなマイクロプログラム割込みの可能性はあまり
ない。 明らかなように、上記説明は本発明の好適な一実施例に
関するにすぎず、本発明の技術思想の範囲内で種々の変
形が可能である。 特に副メモリ17を低い重みのアドレスレンジに接続す
る代わりに主メモリ1の任意のアドレスレンジに接続し
てもよい。 その場合ORゲート31をアドレスデコーダに置換して
よい。 一、jl−
あるとぎにSTMIの立」ニリ端でセットされ、そうで
汀い場合にはその状態を変えない。 J−にフリップ26のJ入力はANDゲート27の出力
から信号EIINTを受取り、K入力は論理レベル1の
信号を常時受取る。 信号STMrはフリップ70ツブ26のクロック入力O
Kに供給される。 フリップフロップ26はゲート27の出力に論理レベル
゛1″の信号EITNTが存在するときにSTMIの立
上り端でセラ]へされ、そうでない場合にはその状態を
変えない。 23− ANDゲーグー27は割込み信号TNTおよびタイミン
グ信′148T1NIを入力に受取る。 フリップ70ツブ26のリセット入力はNANDゲート
28の111力に接続する。したがってこのリセット人
力Rに論理レベル“0″の信号が供給されるとフリップ
フロップ26はリセットされる。 NΔN F)グー1〜28は信号STMIとマイクロ指
令MC2を人力に受取る。 マイク[l lit令IVLC2は、実行中のマイクロ
命令が割込み終了マイクロ命令であるとき、すなわち中
断されていたマイク1]プログラムへの復帰を指令する
ものであるとき、論理レベル゛1″である。 フリップフロップ25のリセット人力RはNANDゲー
ト2りの出力に接続する。 NAt1)グー1〜29の第1人力は信号5TRORA
を受取る。 ゲート29の第2人力はフリップフロップ26の出力Q
に接続する。 マルチプレクサ−20は2つの選択入力S+ 、S2に
よって制御される。 24− 人力S1はANDゲート30の出力に接続し、該ゲート
30の2つの入力はフリップフロップ25の出力Qおよ
びフリップフロップ26の出力Qにそれぞれ接続する。 入力S2は、制御メモリアドレッシングごットcsA
(00−04)を入力するORゲート31の出力に接続
する。 ピッ1〜C8A (00−04)が全て論理レベル゛″
OI+のとき、すなわち制御メモリアドレスが2により
小さいとぎ、ORゲート31の出力は論理レベル゛0″
である。 S2 =S+ =00とき、チャンネル19はマルチプ
レクサ20の出力に接続する。 82 =1、S+ =Oのとぎ、入力セット20Aはマ
ルチプレクサ20の出力に接続】−る。 51−1のとき、S2の論理レベルが何であってもチャ
ンネル21はマルチプレクサ20の出力に接続する。 次に制御メモリ機構の動作を述べる。 主制御メモリ1が2により小さいアドレスでアドレス2
\れるとぎ、すなわちC8A (00−24) =0の
とき、副制御メモリ17もアドレスされる。 メモリ17から読出された情報はマルチプレクサ20を
介tノでレジスタ41に転送される。 すなわら、2により小さいアドレスに対して、拡張化さ
れたマイクロ命令が得られ:このようなマイク[1命令
のビット数はメモリ1,17のパラレル醍の和に等しい
。 主制御メモリ1が2に以上のアドレスでアドレスされる
どぎ、すなわちC8A (00−04)の少なくとも1
ピツトが1″であるとき、パ全部零″のコードがマルチ
プレクサ20を介してレジスタROR41に強制入力さ
れる。 別なhい方をすると、2Kに等しいまたはそれJ:り大
さいアドレスに対して、定常な長さのマイクロ命令が1
!Vられ;このようなマイクロ命令のビット数番、1メ
モリ1のパラレル度に等しい。 しかし、レジスタ22への定数のローディングを指示す
る定数ローディングマイクロ命令を制御メモリ1に任意
のアドレスにでストアすることば可能である。 この場合、アドレスにのマイクロ命令が読出されてレジ
スタROR5にロードされると、マイクロ指令MCIが
発生される。 このようなマイクロ命令の実行期間中、信号STMIは
フリップフロップ25をセットし、マイクロ命令のビッ
ト24−31のフィールド(第1図)によって規定され
る定数がレジスタ22にロードされる。 定数ローティングマイクロ命令の実行期間中に何らの割
込みも受付けられないときには、フリップ70ツブ26
はリセット状態のままにあり、したがってANDゲート
30の出力は論理レベル゛1″である。 次のサイクルが開始すると新たなマイクロ命令が5TR
ORAの立上り端でレジスタROR5にロードされ、こ
れと同時にレジスタ22にストアされていた情報がレジ
スタ41に転送される。 このようにして、拡張化されたマイクロ命令が得られる
。 一、?/− マイク11命令の拡張化は、定数ローディングタイプで
あってその定数を規定する1ビツトフイールドを使用し
たに違いない先のマイクロ命令を犠牲にして117られ
る。 また同11,1に、信号5TRORAがNANDゲート
29を介してフリップフロップ25をリセットする。 信M S T RORAの立上り端に対して、マルチプ
レクサ20の入力S1に与えられる信号は、論理チェイ
ンNΔND29、フリップフロップ25、AND30を
伝播する信号によって決まる時間遅延をもって論理レベ
ル110 I+に立ち下がる。 アドレスにのマイクロ命令(定数ローディングマイク[
]6I)令)十の実行期間中に割込みが受付けられると
、フリップ70ツブ25に加えてフリップフロップ26
t3セツトされる。 この場合、Slは論理レベル゛0″のままであり、レジ
スタ22の定数は5TRORAの次の立上り端でレジス
タ41に転送されない。 割込み処理マイクロプログラムの展開に関係するマシン
リイクルの全期間中、フリップフロップ28− 25、26はレットされたままである。 割込み処理マイクロプログラムの最後のマイクロ命令は
割込み処理終了および中断されていたマイクロプログラ
ムへの復帰のマイクロ命令であり;このマイクロ命令に
よってフリップフロップ26をリセットせしめるマイク
ロ指令MC2が発生される。 したがって、次のマイクロ命令が5TRORAでレジス
タROR5にロードされたとき、これと同時にレジスタ
22の内容もレジスタ41に転送され、中断されていた
マイクロプログラムが情報の損失なしに再開される。 上述した制御メモリ機構によれば、割込みマイクロプロ
グラムはレジスタ22によって拡張化されたマイクロ命
令を使うことができない。というのは、中断されていた
マイクロプログラムを実行するのに必要な情報が既にレ
ジスタ22に入っているからである。 しかし、制御メモリ1にストアされ得る割込みマイクロ
プログラムのアドレスは2により小さいためその31.
うな制限は無視できるものであり、したがってマイクロ
命令拡張化は制御メモリ17によって得られる。 本発明の制御メモリ機構は多くの利点を有する。 ある範囲の主制御メモリアドレスに関して、マイクロ命
令は主制御メモリと並列にアドレスされるより小さい容
量の副制御メモリを用いて拡張可能である1゜ マイク11プログラム割込みがあったとしても、制御オ
ペ1ノージヨンの正しい実行に影響を与えない。 付加的制御メモリを通して1!7られたマイクロプログ
ラム1;1:張は、多数のシステム電子回路のパラレル
制御を要求し113J:び/まICは高周波数を使用す
るファーストオペレーション、例えば命令割込みまたは
割込処理オペレーションの実行に用いて有利である。 全メモリ容量に関しては、次のマイクロ命令に対する拡
張コードとして先のマイクロ命令の1フイールドを用い
てマイクロ命令の拡張が行える。 これに伴い、拡張化マイクロ命令に先立つマイクロ命令
は一般にレジスタ22への定数のローディングだけをタ
スクとし伯の目的には使われない。 それから、システムによって実行されるオペレーション
のスローイングが概して続く。 したがってこのようなマイクロ命令拡張は、多数の電子
装置のパラレル制御を要求するが低周波数を使用する診
断オペレーションの実行に用いて有利である。 この場合、制御オペレーションの正しい実行に影響を及
ぼすようなマイクロプログラム割込みの可能性はあまり
ない。 明らかなように、上記説明は本発明の好適な一実施例に
関するにすぎず、本発明の技術思想の範囲内で種々の変
形が可能である。 特に副メモリ17を低い重みのアドレスレンジに接続す
る代わりに主メモリ1の任意のアドレスレンジに接続し
てもよい。 その場合ORゲート31をアドレスデコーダに置換して
よい。 一、jl−
第1図は1つのマイクロ命令のフォーマットを一例どし
て示す図、 第2図は本発明による好適な制御メモリ機構を示すブ「
179図、おJ:び 第3図は第2図の制御メモリ機構に用いられるタイミン
グ信号の幾つかを示すタイミング図である。 1・・・主制御メモリ 17・・・副制御メモリ3・
・・アドレッシングレジスタ 7・・・アドレス発生装置 4・・・f−ヤンネル 5・・・マイクロ命令レジスタ 22・・・1ノジスタ 20・・・マルチプレク
サ25、26・・・J −Kフリップフロップ27、3
0・・・ANDゲート 28、29・・・NΔNDゲート 31・・・ORゲート 32− 手続補正書 昭和r7年2月1日 1、事件の表示 昭和u年特許願第 ノ=1/3ζr号 2、発明の名称 (“1侶「メも°)才人frA− 6、補正をする者 事件との関係 特許出願人 住所 4、代理人 5、補正の対象 タイプした明Mi書 6、補正の内容
て示す図、 第2図は本発明による好適な制御メモリ機構を示すブ「
179図、おJ:び 第3図は第2図の制御メモリ機構に用いられるタイミン
グ信号の幾つかを示すタイミング図である。 1・・・主制御メモリ 17・・・副制御メモリ3・
・・アドレッシングレジスタ 7・・・アドレス発生装置 4・・・f−ヤンネル 5・・・マイクロ命令レジスタ 22・・・1ノジスタ 20・・・マルチプレク
サ25、26・・・J −Kフリップフロップ27、3
0・・・ANDゲート 28、29・・・NΔNDゲート 31・・・ORゲート 32− 手続補正書 昭和r7年2月1日 1、事件の表示 昭和u年特許願第 ノ=1/3ζr号 2、発明の名称 (“1侶「メも°)才人frA− 6、補正をする者 事件との関係 特許出願人 住所 4、代理人 5、補正の対象 タイプした明Mi書 6、補正の内容
Claims (2)
- (1) 各々のマイクロ命令が1つのマシンサイクル
で実行されるような一連のマイクロ命令が、より高い優
先準位のマイクロ命令シーケンスを実行するための割込
み信号(INT)により任意のマシンサイクル期間中に
中断され得るマイクロプログラム型データ処理システム
における制御メモリ機構であって、 −N個のアドレス可能位置を有し、アドレッシング入力
および出力を設けた主制御メモリく1)、−M個(M<
N)のアドレス可能位置を有し、アドレッシング入力お
よび出力を設けた副制御メモリ(17)、 −前記主および副制御メモリのアドレッシング入力に接
続し、それらのメモリを一緒にアドレスするための手段
(7,3)、および −前記主制御メモリの出力に接続する第1の入力セット
と第2の入力セットとを有するマイクロ命令レジスタ(
5,41)、 を備える制御メモリ機構においてニ ー 第1の所定マイクロ命令によって可能化され、前記
第1の所定マイクロ命令の1ビツトフイールドをストア
する拡張レジスタ(22)、−複数の入力セットと出力
セットを設け、第1の入力セットは前記副制御メモリの
出力に接続し、第2の入力セットは前記拡張レジスタの
出力に接続し、第3の入力には所定の論理状態が与えら
れ、前記出力セットは前記マイクロ命令レジスタの第2
の入力セットに接続してなり、かつ第1の選択信号(S
l)と第2の選択信号(S2〉によって制御される選択
的転送手段(20)、 −首記アドレッシング手段から少なくともマイクロ命令
アドレス部分を入力に受取り、所定のマイクロ命令に対
して前記第1の選択信号を発生してこの信号により前記
転送手段を可能化して前記第1の入力セットから前記出
力セットに情報を転送せしめる第1の論理回路(31)
、 および − 前記第1の所定マイクロ命令によって可能化され、
前音1割込み信号によってロックされ、第2の所定マイ
クロ命令ににって禁+L化され、前記第2の選JR(r
”i号を発生してこの信号により前記転送手段を可能化
して前記第2の入力セットから前記出力セラ1へに情報
を転送せしめる第2の論理回路(25,2G、 27.
2B、 29.30)、を更に備えることを特徴とする
制御メモリ機構。 - (2)前記)πIR的転送手段はマルチプレクサからな
ることを1!+ mとする特許請求の範囲第1項に記載
の制御メLり機構。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IT24400A/82 | 1982-11-24 | ||
IT24400/82A IT1153668B (it) | 1982-11-24 | 1982-11-24 | Organizzazione di memoria di controllo |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS59116855A true JPS59116855A (ja) | 1984-07-05 |
Family
ID=11213395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP58221355A Pending JPS59116855A (ja) | 1982-11-24 | 1983-11-24 | 制御メモリ機構 |
Country Status (6)
Country | Link |
---|---|
US (1) | US4661925A (ja) |
EP (1) | EP0110227B1 (ja) |
JP (1) | JPS59116855A (ja) |
DE (1) | DE3364541D1 (ja) |
IT (1) | IT1153668B (ja) |
YU (1) | YU45164B (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4825363A (en) * | 1984-12-05 | 1989-04-25 | Honeywell Inc. | Apparatus for modifying microinstructions of a microprogrammed processor |
JPS62117038A (ja) * | 1985-11-15 | 1987-05-28 | Mitsubishi Electric Corp | マイクロプログラム制御装置 |
US5454088A (en) * | 1985-11-15 | 1995-09-26 | Mitsubishi Denki Kabushiki Kaisha | Microprogram control device for controlling data path section including designation of instruction cycle values |
DE3751287T2 (de) * | 1986-12-01 | 1995-11-16 | Nippon Electric Co | Während einer Instruktionsausführung eine Unterbrechungsanforderung empfangender Mikroprogrammkontrolleur. |
GB2215879A (en) * | 1988-03-23 | 1989-09-27 | Benchmark Technologies | Numerical processor using microcode |
JPH02199338A (ja) * | 1989-01-25 | 1990-08-07 | Bridgestone Corp | 免震支持装置 |
JP3532975B2 (ja) * | 1993-09-27 | 2004-05-31 | 株式会社ルネサステクノロジ | マイクロコンピュータおよびそれを用いて命令を実行する方法 |
US5537629A (en) * | 1994-03-01 | 1996-07-16 | Intel Corporation | Decoder for single cycle decoding of single prefixes in variable length instructions |
US8583895B2 (en) * | 1996-05-15 | 2013-11-12 | Nytell Software LLC | Compressed instruction format for use in a VLIW processor |
US6629262B1 (en) * | 1999-09-30 | 2003-09-30 | Toshiba Tec Kabushiki Kaisha | Multiplexed storage controlling device |
EP1587324A1 (en) * | 2004-04-15 | 2005-10-19 | Deutsche Thomson-Brandt Gmbh | Method and device for handling metadata |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3859636A (en) * | 1973-03-22 | 1975-01-07 | Bell Telephone Labor Inc | Microprogram controlled data processor for executing microprogram instructions from microprogram memory or main memory |
US4109310A (en) * | 1973-08-06 | 1978-08-22 | Xerox Corporation | Variable field length addressing system having data byte interchange |
US4168523A (en) * | 1975-11-07 | 1979-09-18 | Ncr Corporation | Data processor utilizing a two level microaddressing controller |
JPS52120640A (en) * | 1976-04-02 | 1977-10-11 | Toshiba Corp | Micro program control system |
US4070703A (en) * | 1976-09-27 | 1978-01-24 | Honeywell Information Systems Inc. | Control store organization in a microprogrammed data processing system |
JPS6049332B2 (ja) * | 1977-01-31 | 1985-11-01 | 株式会社東芝 | マイクロプログラム制御方式 |
US4290102A (en) * | 1977-10-25 | 1981-09-15 | Digital Equipment Corporation | Data processing system with read operation splitting |
CA1106978A (en) * | 1978-02-15 | 1981-08-11 | Ibm Canada Limited-Ibm Canada Limitee | Simple flexible indexing method for ros storage microcomputers |
FR2472781B1 (fr) * | 1979-12-27 | 1986-02-21 | Cii Honeywell Bull | Dispositif de gestion de microinstructions enregistrees dans une memoire d'une unite de traitement de l'information |
-
1982
- 1982-11-24 IT IT24400/82A patent/IT1153668B/it active
-
1983
- 1983-11-09 US US06/550,270 patent/US4661925A/en not_active Expired - Fee Related
- 1983-11-14 EP EP83111360A patent/EP0110227B1/en not_active Expired
- 1983-11-14 DE DE8383111360T patent/DE3364541D1/de not_active Expired
- 1983-11-22 YU YU2286/83A patent/YU45164B/xx unknown
- 1983-11-24 JP JP58221355A patent/JPS59116855A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
US4661925A (en) | 1987-04-28 |
YU228683A (en) | 1986-04-30 |
IT8224400A1 (it) | 1984-05-24 |
IT8224400A0 (it) | 1982-11-24 |
EP0110227A3 (en) | 1984-07-25 |
YU45164B (en) | 1992-03-10 |
DE3364541D1 (en) | 1986-08-21 |
EP0110227B1 (en) | 1986-07-16 |
IT1153668B (it) | 1987-01-14 |
EP0110227A2 (en) | 1984-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4075687A (en) | Microprogram controlled digital computer | |
JPS58219644A (ja) | 命令実行方式 | |
US5097407A (en) | Artificial intelligence processor | |
US4446517A (en) | Microprogram memory with page addressing and address decode in memory | |
US5008807A (en) | Data processing apparatus with abbreviated jump field | |
US3958221A (en) | Method and apparatus for locating effective operand of an instruction | |
JPS61170828A (ja) | マイクロプログラム制御装置 | |
JPS59116855A (ja) | 制御メモリ機構 | |
JPH0127453B2 (ja) | ||
EP0062658B1 (en) | Stack for a data processor | |
US5247624A (en) | Microprogram controller including leading microinstruction from a generator executed while succeeding microinstruction from memory is read out | |
US4641278A (en) | Memory device with a register interchange function | |
EP0232796B1 (en) | Pseudo-microprogramming in microprocessor with compressed control rom and with strip layout of busses, alu and registers | |
AU540728B2 (en) | Stack for a data processor | |
EP0305530A1 (en) | High-speed floating point arithmetic unit | |
EP0167333A2 (en) | Data processing apparatus with data type classifier | |
JPH0375904B2 (ja) | ||
JPH0810429B2 (ja) | マイクロプログラム制御装置 | |
JPS60198639A (ja) | データ処理装置 | |
CS268027B1 (cs) | Mikroprogramově řízený řadič | |
JPH01253032A (ja) | マイクロプログラム制御型プロセッサ | |
JPH0239812B2 (ja) | ||
JPS6028014B2 (ja) | マイクロプロセツサ | |
JPS6043750A (ja) | マイクロプログラム制御装置 | |
JPS5843040A (ja) | マイクロプログラム制御情報処理装置 |