JPS581466B2 - セイギヨキオクシステム - Google Patents

セイギヨキオクシステム

Info

Publication number
JPS581466B2
JPS581466B2 JP50099851A JP9985175A JPS581466B2 JP S581466 B2 JPS581466 B2 JP S581466B2 JP 50099851 A JP50099851 A JP 50099851A JP 9985175 A JP9985175 A JP 9985175A JP S581466 B2 JPS581466 B2 JP S581466B2
Authority
JP
Japan
Prior art keywords
control
branch
word
selection
control word
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
JP50099851A
Other languages
English (en)
Other versions
JPS5148240A (ja
Inventor
チヤールズ・ダブリユ・エヴアンス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS5148240A publication Critical patent/JPS5148240A/ja
Publication of JPS581466B2 publication Critical patent/JPS581466B2/ja
Expired legal-status Critical Current

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/264—Microinstruction selection based on results of processing
    • G06F9/267—Microinstruction selection based on results of processing by instruction selection on output of storage

Landscapes

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

Description

【発明の詳細な説明】 本発明は中央処理ユニット(CPU)における基本的オ
ペレーションを制御するための制御記憶ワード選択シス
テムに係り、更に詳細に説明すれば制御記憶中で諸制御
ワードを位置づけるための融通性のあるブランチ制御装
置に係る。
ここ数年の間に製造された多くの計算機は、各システム
命令の実行中にCPUによって遂行される基本的オペレ
ーションを制御するために制御記憶型制御ユニットを使
用している。
制御記憶型制御ユニットの下では、システム命令はマイ
クロ命令のシーケンス(複数の制御ワード)から成るマ
イクロプログラムによって実行され、そしてこれらのマ
イクロ命令は複数の基本的オペレーションのうち或るも
のは同時に、他のものは逐次的に制御する。
このようなシステムでは、現システム命令のオペレーシ
ョン(OP)コードは該システム命令を遂行するために
必要なマイクロプログラムの最初のマイクロ命令のアド
レスを形成するためにデコードされる。
たとえば、8ビットのOPコードは256ウエイのブラ
ンチを遂行する能力を与えるので、256種類のマイク
ロプログラムの開始点を指示することができる。
(マイクロ命令は“制御ワード”(CW)と呼ばれるこ
ともあり、このCWは制御記憶中の制御ワード位置にあ
るコーディングである。
)多くの計算機システムに設けられた制御記憶は、”ブ
ランチ・グループ”と呼ばれる一群の制御ワード位置が
制御記憶の単一アドレツシング・サイクルでアクセスさ
れるように編成されている。
機械の現条件状態信号は、CPUで実行さるべき次の制
御ワードを得るために、アドレスされたブランチ・グル
ープにおける1つの制御ワード位置の選択を決定する。
基本の制御記憶ハードウエアはCW選択信号で制御記憶
をアクセスするために設けられるが、このハードウエア
はマイクロ命令から直接引出されるCWエミット信号と
マイクロ命令に対し外部の機械状態信号に応答する。
機械状態信号は利用可能なマイクロコード・ブランチの
数を決定し、一般にブランチ・グループにおける位置の
数よりは少ないCW選択数を与える。
かくて、2CW間の選択は2ウエイ・ブランチである、
等々である。
ブランチ・グループ・アドレツシングによる主たる利点
は次の制御ワードをアクセスするための時間が最小にな
るという点にあり、このことは機械状態信号の発生とC
W選択オペレーションとを制御記憶中に置かれた制御ワ
ードの次のブランチ・グループのアクセスと重複させる
ことによって達成される。
(アクセスされたブランチ・グループにおける利用可能
なブランチ選択から単一制御ワードの機械状態信号を選
択することは”制御記憶ブランチ・オペレーション”と
呼ばれる。
各制御ワードは“次のアドレス”を保持し、このアドレ
スは選択さるべき次の制御ワードを保持するブランチ・
グループのアドレスを与える)。
一層詳細に説明すれば、現制御ワード中の次のアドレス
は次のブランチ・グループをアクセスするために制御記
憶アドレス・デコーダへ供給され、一方、機械状態信号
回路の出力は次に遂行さるべきマイクロ命令を保持する
CW位置を選択するためにブランチ・アドレス・デコー
ダへ供給される。
必要とされる機械状態信号は、現マイクロ命令が実行を
開始するまで、該マイクロ命令に対し利用できないこと
がある。
従って、CPUクロツク・パルスはCWクロツク・パル
スの終了間際に次のCWにおいて選択を行うであろう。
先行技術のシステムでは、もし所与のマイクロ命令が種
々のマイクロルーチンで度々使用されるならば、それと
同じマイクロ命令を制御記憶中の複数の制御ワード・ロ
ケーションに別々に記憶するようにしている。
これは機械状態選択基準が異なるためであるが、このこ
とはまた制御記憶のサイズを増大させる一つの原因とな
る。
CPU制御の技術に見られる1つの問題は、ハードウエ
ア制御が比較的初期の段階で設計されるにも拘わらず、
システム命令を実行するようにCPUハードウエアを動
作させるマイクロプログラムがそれよりも後に、しかも
別の技術者によって設計されるという点にある。
ハードウエアを制御するマイクロプログラムは、複数の
目標制御ワード間の選択を与えるためにブランチ・オペ
レーションを含まねばならない。
このようなブランチ・オペレーションは可能なすべての
ブランチ、たとえば2ウエイ・ブランチ、3ウエイ・ブ
ランチ、4ウエイ・ブランチ等を取扱わねばならない。
かくて、単一の制御ワードを実行するために使用される
単一機械サイクル中に、Nワード・ブランチ・グループ
においてNウエイまでのマイクロプログラム・ブランチ
がなされうるであろう。
Nウエイより多いブランチは複数の制御ワードを必要と
する。
4ウエイより多いブランチは比較的稀れであることがわ
かった。
それゆえ、4ワードを有するブランチ・グループは単一
機械サイクル中に殆んどすべてのマイクロプログラム・
ブランチを有効に支持することができる。
前述したように、所与のブランチ・グループにおける制
御ワードの最終的選択は、現時点で存在している機械状
態信号及び現制御ワード中のエミット・フィールドに応
答して、現制御ワード・サイクルの実行終了間際に行わ
れる。
たとえば、マイクロプログラムにおける2ウエイ・ブラ
ンチは、4ワード・ブランチ・グループ中の第1及び第
4制御ワード間の選択、第1及び第3制御ワード間、第
2及び第4制御ワード間、又は第2及び第3制御ワード
間の選択を必要としうる。
同様に、マイクロプログラムにおける3ウエイ・ブラン
チは、4ワード・ブランチ・グループにおける3ウエイ
のすべての組合わせを可能にするために、任意の3制御
ワード間の選択(たとえば、第1、第3及び第4制御ワ
ード間又は第1、第2及び第4制御ワード間の選択)を
必要としうる。
同様に、4ワード・ブランチ・グループにおける4制御
ワード間で4ウエイの選択が利用可能でなければならな
い。
さらに、或る状況では諸制御ワードのうち予定された唯
一つの制御ワードが選択されうる。
1 かくて、任意のブランチ・グループにおける任意の
ワード組合わせが或るマイクロプログラム・ブランチに
よって必要とされうる。
従って、制御記憶に対するハードウエア制御を設計する
場合、任意のマイクロプログラムがブランチ・グループ
における諸ワードの任意のサブセット間で任意のブラン
チ選択を行うことができるように、完全なワード選択の
融通性を与えることが望ましい。
かくて、ブランチ・グループに4制御ワードがある場合
には、選択プロセス中にすべてのプール関係を考慮すれ
ば、4制御ワード位置の間で256通りの組合わせ的ブ
ランチ選択を与えることが可能である。
これらのすべてのプール関係を支持するような多数の特
殊ハードウエア論理回路(たとえば255個の回路)を
選択ハードウエア中に設けることができる。
もし完全な選択の融通性が利用できなければ、或る制御
ワードが重複することはありそうなことである。
この結果は一層サイズの大きな制御ワードが必要となる
ことを意味し、従ってコストが上昇しアクセス時間が低
下することは避けられない。
かくて、たとえば一定の性能/価格比を満足するように
設計仕様書中で設定された制限事項等によって制御記憶
のスペースが限定されるならば、無駄にされた各制御ワ
ードのスペースは極めて重要な意味をもつことになろう
。
たとえば、或る先行技術のシステムを設計する際、その
仕様書は、各各が90ビットの長さを有し且つ独立に変
化する2つの機械状態制御信号に従って各々が選択され
る2816個のマイクロ命令を要求したけれども、実際
には、計画された制御記憶マトリクス・スペースの殆ん
どすべては直接に必要な命令とそれらのサポートを実施
するために使用されてしまい、残りのスペースは当初予
備のために指定された要件を満たすには不充分であるこ
とがわかった。
換言すれば、100以上の制御ワードが冗長であった。
マイクロプログラム制御記憶を実現する方法に関連する
一般的検討は、S.G. Tucker;“Micro
−program Control for Syst
m/ 3 6 0”、I BM Systems J
ournal, Vol .6、No.4、1967、
pp.2 2 2−2 4 1、という文献に見出され
る。
この文献に示された制御記憶のアドレツシング方法、マ
イクロ命令の様式、制御ワードの解読及びブランチ選択
方法は必要に応じて本明細書中でも参照される。
一般的な先行技術は米国特許第3391394号及び第
3800293号に開示されている。
一層接近した先行技術は米国特許第3325785号に
見出される。
前記米国特許第3800293号及び第 3391394号は、それらがマイクロプログラム制御
領域の一般的背景を与えるという理由で引用されたもの
である。
前記米国特許第3325785号は本発明と同じ問題を
取扱かつているが、その解決方法は本発明とは異なって
いる。
前記特許第3325785号は特殊なハードウエア変換
回路(ブランチ・ビット変換回路)を提供し、この回路
は機械状態信号発生器とワード選択デコーダの間に設け
られる。
本発明はこのようなハードウエア変換回路を使用せずに
、制御記憶データ・レジスタ中の特殊フィールドによっ
てロード可能なビット・パターン・レジスタの手段によ
って一般的解決を与えようというものであり、一層詳細
には、独特のワード選択デコード回路を設け、巳一ドさ
れたビット・パターンを使用してCW選択信号を発生す
ることによりCW選択信号の発生過程における機械状態
信号の変換を制御しようというものである。
本発明のビット・パターン・レジスタ技法は、CW選択
の融通性を経済的に得るための優れた解決方法を与える
。
発明の要約 本発明は制御ワード選択の融通性を解決する新規なアプ
ローチを与えるものであり、このアプローチは特別の変
換ハードウエアを利用するという先行技術に比較して一
層経済的であるばかりか、技術的な点でも一層魅力的で
ある。
本発明によって提供された制御記憶アクセツシング・ハ
ードウエアの総合的な選択融通性を利用すれば、マイク
ロ・コードの設計者は、彼のマイクロプログラム・ブラ
ンチによって要求された諸制御ワードを保持するような
制御記憶中の任意のブランチ・グループを見出したとき
、諸制御ワードの任意の重複を回避することができ、そ
してこのことはそのブランチ・グループにおける該要求
された諸制御ワードの位置には依存しない。
従って、本発明の目的は、既知の制御記憶選択制御装置
で利用可能であった制御記憶制御ワードのブランチ選択
における融通性を一層増加させることができるような実
際的な制御記憶選択制御装置を提供することにある。
本発明の他の目的は、任意のマイクロプログラムが制御
記憶中のブランチ・グループにおける諸制御ワードの任
意のブランチ組合わせを選択できるような総合的な融通
性を有する制御記憶選択制御装置を提供することにある
。
本発明の他の目的は、機械状態信号のいかなる組合わせ
によっても制限されることなく、次のブランチ・グルー
プにおける次の制御ワードを選択するように単一制御ワ
ード・サイクルで条件づけられうる制御記憶アドレツシ
ング制御装置を提供することにある。
本発明の他の目的は、ブランチ・グループにおける制御
ワードの重複を必要とすることなく、システム中の異な
った及び無関係のマイクロプログラム又はマイクロルー
チンによって任意の制御ワードが任意の時間に使用でき
るようにするための制御記憶制御ハードウエアを提供す
ることにある。
かくて、呼出マイクロコード・シーケンスは他のマイク
ロプログラムのために書かれたマイクロコードを共有す
るという点で総合的な融通性を与えられる。
この結果、システムによって必要とされる制御ワードの
数が著しく節約できるようになる。
また、本発明によれば、同じマイクロコードは種種の呼
出マイクロコード・シーケンスによって種種の態様で使
用できる。
たとえば、呼出されたマイクロルーチンは24ビットの
固定小図点加算オペレーションを遂行する際第24ビッ
ト位置でオーバーフローを通知しうるが、これと同じマ
イクロルーチンは32ビットの固定小数点加算オペレー
ションを遂行する際第32ビット位置でオーバーフロー
を通知しうる。
本発明の他の目的は、ブランチ・アドレス変換レジスタ
(BAXR)を有し、このレジスタに先行制御ワードか
らビット・パターンをロードすることによって、制御記
憶中のアドレスされた単一グループにおける諸制御ワー
ドの任意の組合わせを選択するように機械状態信号にお
ける任意のプール・ブランチ関係を支持することができ
る処の制御記憶制御装置を提供することにある。
本発明の他の目的は、一定の変換機能を有するように設
計されたハードウエア回路を必要とすることなく、制御
記憶中のブランチ・グループにおける制御ワードの選択
に融通性を与えることにある。
本発明の他の目的は、制御記憶中の任意の制御ワード・
グループにおけるワード選択に総合的な融通性を与える
ことにある。
前記目的に従って、本発明は、現時点又は先行制御ワー
ド・フィールドによってロードされるブランチ・アドレ
ス変換レジスタ(BAXR)とワード選択回路との組合
かせを提供し、それによってBAXRの出力と機械状態
信号を組合わせて現在アクセスされているブランチ・グ
ループにおけるワード選択信号を発生する。
さらに、スイッチング回路も設けられるが、この回路は
、任意の現制御ワードがBAXR出力をスイッチ・オフ
して次の制御ワードを選択する際変換を行わないで動作
させるようにするためのものである。
このようにして、本発明はマイクロコード・ブランチ選
択にアドレツシングの融通性を与える。
総合的な融通性を支持するためのBAXRレジスタのサ
イズはN2Nビット位置であり、ここでNは次のCWを
選択するブランチ選択オペレーションのために与えられ
る機械状態の数である。
従って、4ウエイ・ブランチを可能にする2つの機械状
態信号は、総合的融通性を得るために、すなわちこのよ
うなブランチの256種類のプール変換組合わせを支持
するために、8ビット位置を有するB AXRレジスタ
を必要とする。
同様に、8ウエイ・ブランチを可能にする3つの機械状
態信号は、総合的なブランチの融通性を支持するために
、24ビット位置のBAXRレジスタを必要とする。
発明の詳細な説明 第1A図は本発明の1実施態様を図示し、ここでブラン
チ・アドレス変換レジスタ(BAXR)11は制御記憶
データ・レジスタ(CSDR)1 2からB AXRス
イッチング回路14を通してワード選択デコーダ13へ
至る通路中に置かれる。
デコーダ回路13は出力線XO−X3を有しており、こ
れらの線は制御ワード・ゲート回路15の入力へ接続さ
れて制御記憶21で現在アクセスされている4つの制御
ワードWO−W3を有するブランチ・グループ中で次の
制御ワードを選択するために使用される。
また、デコーダ13は選択された機械状態信号A及びB
を受取るが、これらの信号は先行技術で通常使用される
型のマイクロコード機械状態論理回路16及び17から
与えられる。
信号A及びBは、機械条件信号a−sの組合わせから発
生され、該条件信号は通常の計算機で行われているよう
に諸機械条件信号を別個の機械状態信号A及びBへ変換
するために論理回路によってデコードされる。
2つの機械状態信号A及びBを使用する通常の計算機は
、該信号の可能な4つの組合わせ(AB,ABAB及び
AB)に起因して、制御記憶21中のアドレスされたブ
ランチ・グループに保持された4つの制御ワード位置の
間で次の制御ワードを選択するために4ウエイ・ブラン
チを遂行することができる。
併しながら、現制御ワード(CW)が特定のものである
場合には、マイクロプログラムにおけるブランチ選択に
従って、次のCWを決定するために必要なブランチはそ
のブランチ・グルーフにある4ワードより少ないサブセ
ットへ限定されることがある。
たとえば、現制御ワードが機械状態AB又はABのいず
れかによって決定される可能な2つのブランチ選択しか
許さないことがありうる。
この場合、そのブランチ・グループにおける4ワードの
うち2ワードのみが次の制御ワードを選択するために必
要となるにすぎない。
BAXRスイッチング回路14は、BAXR11の内容
をデコーダ回路13のワード選択オペレーションへ選択
的にスイッチするために、BAXR11とデコーダ13
の間に設けられる。
BAXR11が制御ワード選択オペレーションヘスイツ
チされるのは、CSDR12のBAXR使用フィールド
12A中に1ビット状態が存在する場合である。
BAXR11の内容が制御ワード選択オペレーションヘ
スイツチされる場合、デコーダ13の出力は機械状態線
A,B上の信号及びBAXR11中のビット・パターン
によって選択される。
フィールド12Aに0ビットがあれば,BAXR11は
制御記憶オペレーションからスイッチ・オフされ、この
場合、デコーダ13の出力はBAXR11中のビット・
パターンを考慮することなく機械状態線A,Bによって
のみ選択される。
制御記憶(CS)21は通常の型式を有する高速フリツ
プ・フロツプをアレイ状に配列して構成される。
CS21はCSアドレス・デコーダ22に応答して4ワ
ードW0−W3を同時にアクセスし、該デコーダはCS
DR12中のフィールド12Fから次のブランチ・グル
ープ・アドレス(NA)を受取る。
従って、4ワードW0 −W 3は制御記憶21中のデ
コードされたアドレスで同時に付勢され、そしてそれら
はCW選択回路15の各ワード・ゲートへそれぞれ供給
される。
また、ワード・ゲート回路15はデコーダ13から選択
出力線X0−X3を受取る。
線XO−X3のうち唯一の線がデコーダ13によって付
勢されるので、CSDR12から供給される次のブラン
チ・グループ・アドレスに応答して回路15中の唯一つ
の選択ゲートが作動される。
かくて、ワードW0−W3のうち選択された1つのワー
ド(これはブランチ・オペレーションの結果である)が
バス26へ転送され、そこから該選択された制御ワード
がCSDR12へ位置づけられる。
CSDR12はCWサイクルの終了間際にクロツク・パ
ルスによってロードされる。
第1B図は第1A図において概略的に図示されたシステ
ムを一層詳細に図示する。
かくて、第1B図において、次の制御ワードはCSDR
1 2のインゲートへ加えられるクロツク・パルス2
(C.P.2)と同時にCSDR1 2ヘクロードされ
る。
この新しくロードされた制御ワードは現制御ワードとな
って新しいCWサイクルを開始する。
今やそのフィールド12Fは、次の制御ワードが選択さ
るべき制御記憶21中のブランチ・グループをアクセス
するために、CSアドレス・デコーダ22へ転送される
。
このようにして、選択された各制御ワードはCSDR1
2ヘロードされ、循環的に現制御ワードとなって次のブ
ランチ・グループのアクセスを開始するために次のアド
レスを供給する。
CSDR12は、その新規なフィールド12A−120
を除けば、普通のものである。
BAXRビット・パターン・フィールド12Cは特別の
フィールドであって、BAXR 1 1ヘセットさるベ
キ変換ビット・パターンを保持する。
BAXR口−ド・フィールド12Bはフィールド12C
がBAXR11ヘロードされるか否かを制御する。
前記したように,BAXR使用フィールド12Aは単一
ビットでもよく、その相補助出力はBAXR11の現内
容が次の制御ワードを選択するために現制御ワードによ
って使用さるべきか否かを制御する。
第1B図のフィールド12Aのために図示された相補助
的出力は、BAXR11の内容が次の制御ワードを選択
するために使用できるようにする。
すなわち、変換がスイッチ・インされるということであ
る。
併しながら、もしフィールド12A中のCSDRビット
が反転されるならば、フィールド12Aの相補的出力は
反転され、かくてBAXR11中のパターンは使用され
ないようにスイッチ・アウトされる。
つまり、BAXR11の内容がどのようなものであろう
とも、BAXR11に保持されたビット・パターンは次
の制御ワードの選択に影響しないから、変換は生じない
ということである。
このスイッチ・アウト・オペレーションは、事実上、ス
イッチング回路14をしてビット・パターン01101
100をデコーダ入力T8−T1へそれぞれ強制させる
。
但し、0及び1は、スイッチング回路14を構成する各
AND及びOR回路の真数出力における直流ダウン・レ
ベル及び直流アップ・レベルをそれぞれ示す。
BAXRロード・フィールド12Bもまた単一ビットで
よく、これはクロツク・パルス1(C.P.1)の時点
に特殊フィールド12Cに見出されるビット・パターン
のBAXR11へのインゲートを制御する。
BAXRロード・フィールド12Bがその脱勢状態へセ
ットされる場合、特殊フィールド12C中のビットはB
AXR11ヘロードされず、そしてそれらのビットは通
常の様式で他のCW用途のために利用できる。
かくて、BAXRロード・フィールド12BがBAXR
インゲーテイングを脱勢し且つBAXR使用フィールド
12Aが第1B図に図示されるように付勢される場合、
前にロードされたBAXR11の内容は妨害されず、そ
して次の制御ワードを選択するために現CWによって使
用される。
一般にBAXR11のローデイングは現制御ワードより
も先行制御ワードによってなされることが望ましいが、
それは現制御ワードの実行中におけるタイミング事項に
起因するものである。
CSDR12中のXフィールド12D及びYフィールド
12Eは通常の機械状態マスク・フィールドであり、現
在の制御ワード選択オペレーション(すなわち現在のブ
ランチ決定)においてどの機械条件が使用されるかとい
うことを決定する。
たとえば、Xフィールドは5ビットを有してもよく、こ
れらのビットは32個の機械条件a−jのマスキングを
制御してそれらの論理回路16への入力を通常の態様で
制御するようにコード化されうる。
すなわち、マスク・インされた諸機械条件は線B及びn
上に相補助信号を発生する際に論理回路16によって使
用される。
同様に、フィールドYもまたたとえば32種類の機械条
件g−s(これらの或るものは機械条件のセットa−j
に含まれてもよい)を制御するためにコード化された5
ビット位置を有し、論理回路16と同様の論理回路17
への入力を普通の態様で匍脚することにより出力線A及
びA上の相補助的信号を制御する。
第2図はワード選択デコーダ回路13の詳細な回路構成
を示す。
デコーダ回路13は4セットのAND回路4 1 A−
D , 4 3A−D , 4 5A−D及び47A−
Dから成る。
各セットはその出力をそれぞれのOR回路42,44,
46及び48へ接続されており、該OR回路は関連する
出力線XO−X3へそれぞれの出力を供給する。
第2図に図示された回路のオペレーションは次のプール
論理式を満足する。
XO=AB TIT2+AB T3T4+ABT5T6
+AB T7T8 X1=″ABTIT2+AB藩T4+A百何T6+AB
T7T8 X2=AB TIT2+ABT3T4+ABT5T6+
AB T7T8 X3=ABTIT2+ABT3T4+AB T5T6+
ABT7T8 AND回路のセット4 1 A−Dは式XOを満足する
。
式X1,X2及びX3はAND回路の各セット43A−
D,45A−D及び47A−Dによってそれぞれ満足さ
れる。
実施態様のオペレーション 第3図は第1B図の実施態様によって遂行される制御ワ
ード選択においてBAXR11がどのように動作するか
ということを補足的に説明するためのものである。
BAXR11中の諸ビット位置は複数のサブセットへ分
割され、各サブセットは独立した機械状態信号と等しい
数のビット位置から成る。
BAXR11中のサブセット(すなわちTIT2 ,T
3T4,T5T6、及びT7T8等の対)の数は機械状
態信号A及びBの組合わせの図(すなわち、4つの組合
わせAB , AB , AB及びAB)に対応し、そ
して各サブセットは異なった組合わせを表わす。
BAXR11中にある諸ビット位置の各サブセットは、
その特定の機械状態信号の組合わせによって4出力X0
−X3のうち任意の1つを選択するようにセットされう
る。
第3図において、スイッチ51−54の各々はBAXR
11中の諸ビット位置の各サブセット、たとえばTIT
2 ,T3T4 ,T5T6及びT7T8にそれぞれ対
応する。
スイッチ51−54は諸サブセットの独立したセッティ
ングを表わすように互いに独立的にセットされる。
各スイッチは4つのセッティングを有し、そしてこれら
は4つの選択可能な出力X0−X3に対応する。
4つの入力組合わせ(すなわち、AB,AB,AB及び
AB)のうち任意の1つを出力XO−X3のうち任意の
1つヘスイッチすることは、以下“A及びB機械状態信
号の変換”と呼ばれる。
各スイッチの4セッティングはBAXR 11中にある
諸ビット位置の1サブセットに対する可能なすべての出
力選択を表わす。
たとえば、スイッチ51によるT1T2を、スイッチ5
2によるT3T4を、スイッチ53によるT5T6を、
そしてスイッチ54によるT7T8を表わす。
一層詳細には、スイッチ51のセッティングは,A及び
B信号が00であるとき4出力XO−X3のうち1つを
選択するTIT2の組合わせを表わす。
スイッチ52は、A及びBが01であるとき4出力X0
−X3のうち1つを選択するT3T4の組合わせを表わ
し、スイッチ53はA及びBが10であるとき4出力X
0−X3のうち1つを選択するT5T6の組合わせを表
わし、スイッチ54はA及びBが11であるとき4出力
X0−X3のうち1つを選択するT7T8の組合わせを
表わす。
このようにして、4スイッチはBAXR11中の8ビッ
ト位置における可能なすべてのセッティングを表わし、
よって256種類の組合わせのうち任意の1つを得るこ
とを可能にする。
かくて、第3図に図示された4スイッチ51−54のセ
ッティングはBAXR 1 1に保持されるビット・パ
ターンを表わす。
(このビット・パターンは現制御ワード又は先行制御ワ
ードの間にCSDR12の特殊フィールド12CからB
AXR11へ前以てロードされたものである。
)第3図に図示された特定のスイッチ・セッティングは
BAXRビット位置TIT2 ,T3T4 ,T5T6
,T7”T8におけるビット・パターン10,11,0
0及び01をそれぞれ表わし、この例はAB(すなわち
00)をX2へ変換し、AB(01)をX3へ変換し、
AB(10)をXOへ変換し、AB(11)をX1へ変
換するものである。
従って、4スイッチの特定のセッティングの後、選択オ
ペレーションはAND回路56−59の1つを作動させ
るために現在の機械状態信号A及びBによって決定され
、そして該AND回路はスイッチ5 1 −5 4の現
セッティングを通してワード選択信号X0,X1 ,X
2又はX3を制御する。
第3図には第1B図に図示された実施態様の変形も示さ
れている。
この変形はBAXR1 1からTIT2ビット位置のサ
ブセットを取除くことによってBAXR11に6ビット
位置を与えるものである。
このT1T2を取除くことは第3図の置換スイッチ51
によって表わされており、該スイッチは線58によって
AND回路56から出力線X0へ永久結線されている。
それゆえ、残りのビット位置サブセットT3T4,T5
T6及びT7T8のみがBAXR11のビット・パター
ン・ローデイングによって融通的に制御されうる。
かくて、利用可能な変換融通性を犠性にすることによっ
てBAXR 1 1のサイズを減少させることができる
。
たとえば、BAXR1 1の2ビット位置を排除するこ
と(たとえば、サブセットT1T2を取除くことによっ
てBAXR11を6ビット位置のレジスタへ縮小させる
こと)は利用可能な変換の組合わせを128まで減少さ
せる。
併しながら、このことはCSDR12中のBAXRロー
ド用フィールドを短縮させるという望ましい結果を有す
る。
というのは、BAXR1 1ヘロードするために必要な
制御ワード中のビット位置の数は、8ビットのBAXR
11ヘロードするに必要な8ビットではなくて、特殊フ
ィールド12C中の6ビットであるからである。
或る計算機では、先に設計された制御ワードのサイズは
このトレード・オフを必要とするが、つまり減少される
BAXRビット位置の数と或る種の変換融通性の間に妥
協を図ることを必要とするが、これはその計算機で必要
とされる変換要件のすべて又はその殆んどを満足させる
に充分な融通性が残る限りにおいてなされるものである
。
もしマイクロコードの設計者が各ブランチ・グループに
おける融通性のないCW位置の使用を個別的に計画し、
そしてその融通性が残りのCW位置の間の選択において
有利に使用されることを可能にすれば、彼は必ずしもB
AXR11における2ビットの減少によって著しく制限
されることにはならないであろう。
従って、CSDR12へロード可能な制御ワードにおけ
る諸ビット位置の1以上のサブセットを取除くことによ
って変換融通性は可制御的に減少されうるのであり、し
かしてBAXR11は一層小さくすることができる。
本発明は制御記憶中の諸ワード・ロケーションを一層効
率的に使用するために種々の方法で使用することができ
、このことは任意のブランチ・グループにおける諸ワー
ド位置が同じマイクロコード・ルーチン又は異なったマ
イクロコード・ルーチンのいずれによって使用されるか
ということに関係しない。
以下本発明によって改良された制御記憶の効率を示すた
めに幾つかの例が与えられるが、その理由は、これまで
の説明によっては制御.ワード配置の融通性が明らかに
されなかったという点にある。
2ウエイ・ブランチに関する以下の簡単な例は、制御記
憶に置かれた諸制御ワードの重複を回避するために、マ
イクロコーダによって本発明がどのように使用されうる
かということを示す。
1つの例では、特定の制御ワードを実行することは信号
A及びBに対する排他的OR条件、すなわち(AB+A
B)の結果か又は(AB+AB)の結果に帰着する。
最初の結果は制御ワードCWOを選択するために使用さ
れ、第2の結果は制御ワードCW1を選択するために使
用される。
第4A図はこの排他的ORオペレーションを遂行するた
めに使用される従来の制御記憶によるオペレーションの
様式を示し、ここでは制御グループにおける土制御ワー
ド位置の全部が使用されねばならない。
すなわち、CWGは位置1及び2へ置かれ,CWIは位
置0及び3へ置かれるということである。
それゆえ、各制御ワードはブランチ・グループで重複化
されている。
かくて、最初の排他的OR結果は位置1又は位置2のい
ずれかを選択し、第2の排他的OR結果は位置0又は位
置3のいずれかを選択する。
この特定の排他的ORオペレーションに対する制御ワー
ドの重複は第4B図に表わされた特殊ハードウエア81
を設けることによって避けることができる。
このハードウエアは前記排他的ORオペレーションの発
生を認識し、CW1を選択するために線AB及び線AB
を位置0へ接続し、モしてCWOを選択するために線A
B及び線ABを位置1へ接続する。
このような特殊ハードウエア81は信号A及びBに対す
る特定の排他的OR状況を認識するためにのみ設けられ
たものであって、これは信号A及びBの他の特定の論理
的組合わせを認識するために必要な多数の特殊ハードウ
エアのうちほんの一部であるにすぎない。
このことは非常に高価な制御記憶選択システムに帰着す
るが、本発明は制御記憶における制御ワードの重複を回
避するという一層経済的な解決策を提供することによっ
て前記問題を解消させる。
本発明は、制御ワードの重複を要することなく、またい
かなる特殊ハードウエアをも要することなく、前記と同
じ排他的ORオペレーションを行わしめる。
BAXR11は、機械状態信号論理オペレーションの複
雑性に拘わりなく、そのすへての間で広汎に使用される
。
この特定の排他的オペレーションのために、本発明は,
BAXR11に第4C図のビット・パターンをロードす
ることだけを行う。
次いで、機械状態AB又はAB(すなわち01又は10
)はデコーダ13をして位置1(X1)のCW0を自動
的に選択せしめ、そして機械状態AB又はAB(00又
は11)はデコーダ13をして位置0 (XO )のC
W1を自動的に選択せしめる。
従って、CW位置2及び3は、前記と同じ又は他のマイ
クロプログラム中に見出されうる他の制御ワードによっ
て使用できるようになる。
制御ワードの重複を回避するという本発明の他の簡単な
例は第5A図に図示されており、そこには2つの−7イ
ク口プログラム1及び2が別々に示される。
マイクロプログラム1の制御ワードCW(f)及びマイ
クロプログラム2の制御ワードeW(p)は、同じ2つ
の制御ワードCW1又はCW2から次の制御ワードをそ
れぞれ選択する。
併しながら、CW(p)及びCW(f)はそれらの選択
を遂行するために異なった機械状態を使用する。
たとえば、CW(f)はCW1を選択するために機械状
態Aを使用するが、CW2は相補的機械状態AでCW1
を選択する。
それゆえ、CW(f)及びCW(p)は同じ2つの制御
ワードCW1及びCW2の間で選択を行うが、それは機
械状態信号A及びAに関して相反的になされる。
通常のCSはブランザ・グループ位置X2及びX3にあ
る重複したCW1及びCW2を制御し、そしてこれらの
ブランチ・グループ位置は、機械状態A又はAの関数と
してC W(p)によってのみ選択可能であるのに対し
、CW(f)は機械状態A又はAの関数として位置X0
及びX1に置かれたCW1及びCW2の間でのみ選択を
行う。
併しながら、本発明は位置X2及びX3に制御ワードを
重複させる必要性を極めて簡単に取除き、これらの位置
を他の用途に充用させることができる。
このことは、マイクロプログラム1のC W( f)に
よってCW選択が行われる前にBAXR11へ第5B図
のパターンをロードし、そしてマイクロプログラム2の
C W(p)によってCW選択が行われる前にBAXR
11へ第5C図のビット・パターンをロードすることに
よって達成される。
かくて、第5C図に図示されたロードされたパターンは
、機械状態Aの相反する条件に応答して、第5B図のパ
ターンによる選択と逆の選択をCW1及びCW2の間で
行うことができる。
従って、位置X2及びX3はC W( f)又はC W
(p)のいずれによっても使用されないので、第5B図
及び第5C図の2ビット・パターンは別々のマイクロプ
ログラムが位置X0及びX1に置かれたCW1及びCW
2をそれぞれ別々の態様で選択することを可能にする。
従って、たとえマイクロ命令(すなわち制脚ワード)が
2マイクロコード・シーケンスによって別々の機械状態
信号で選択されるとしても、本発明を使用することによ
って前記2マイクロコード・シーケンスは前記マイクロ
命令で結合しうる。
たとえば、マイクロルーチン1は、その機掛状態信号が
00(すなわちAB)又は01(すなわちAB)である
とき、2ウエイ・ブランチを行って次のアドレスされた
ブランチ・グループにおける2制御ワードの間で選択を
行わねばならない。
併しながら、マイクロルーチン2は、機械状態信号が1
0(すなわちAB)又は11(すなわちAB)であると
き、2ウエイ・ブランチを必要とする。
BAXR11がなければ、通常のマイクロコードは、マ
イクロルーチン1については位置X0,X1に置かれた
重複したCWを制御し、マイクロルーチン2については
位置X2及びX3に置かれた重複したCWを制御する。
併しながら、本発明によれば、BAXR11はT 1
−T 8にビット・パターン00010001をセット
され、そしてこれは両ルーチンをして位置X0及びX1
に置かれた同じ2つのCWの間で選択を行わしめるので
、残りの位置X3及びX4は他の用途に利用できること
になる。
前記で詳述した実施態様は4制御ワードを保持するブラ
ンチ・グループ中で次の各制御ワードを選択するために
2つの機械状態信号A及びBを使用しているが、本発明
は、複数の制御ワードを保持するブランチ・グループ中
で所与の制御ワードを選択するために3つ以上の機械状
態を使用するようなシステムにも等しく適用しうること
は明らかである。
たとえば、5乃至8制御ワードを保持するブランチ・グ
ループ中で次の制御ワードを選択するために3つの機械
状態信号A,B及びCを使用することができよう。
第6図の実施態様は、出力線X0−X7によってそれぞ
れ表わされる8制御ワード位置を有するブランチ・グル
ープと、入力信号A,B,C及びそれらの補数信号によ
って表わされる3つの機械状態信号を使用するものであ
って、これらの信号は第6図のAND回路71−78に
よって表わされる8つの入力組合わせを与え、該AND
回路は対応するスイッチ81−88へそれぞれ接続され
、そして該スイッチの各々は8出力線X0−X7へそれ
ぞれ接続される8位置を有する。
第6図の回路は、BAXR11によって3つの機械状態
信号に対する可能なすべてのビット・パターンの変換を
与える。
BAXR11は、可能なすべての変換組合わせを供給す
るために8サブセットを有しており、その各々は全部で
24ビットの位置に対して3ビット位置を有する。
各サブセットが3ビット位置を有するのは、3つの独立
した機械状態信号が存在するからである。
BAXR11中のビット位置の数Tと機械状態信号の数
Nの間の一般化された関係は、可能なすべての変換を行
うとすれば、T=N2Nによって与えられる。
以上詳述した処を要約すると、本明細書で開示された事
項は次のようなものである。
ブランチ・アドレス変換レジスタ(BAXR)は現制御
ワード又は先行制御ワードのフィールドによってロード
される。
ワード選択デコーダ回路はBAXRの出力を受取り、そ
れらを機械状態信号と組合わせることによりワード選択
信号を発生する。
このワード選択信号は制御記憶中の現在アクセスされた
ブランチ・グループから所与の制御ワードを選択するた
めに使用される。
また、任意の制御ワードがBAXR出力をスイッチ・オ
フし、そして変換を行うことなく制御ワードが選択され
るようにするために、BAXRスイッチング回路が設け
られる。
【図面の簡単な説明】
第1A図及び1B図は本発明に従って設計された制御記
憶ブランチ選択システムを示す図、第2図は第1B図の
システムに含まれるワード選択デコーダ回路の回路図、
第3図は制御記憶中でアクセスされている諸制御ワード
位置を有するブランチ・グループから所与の制御ワード
を選択するために第1B図の実施態様がどのように動作
するかということを示す図、第4A図は先行技術の制御
記憶制御システムによる制御ワードの選択の例を示す図
、第4B図は本発明によって達成可能なオペレーション
の改良を表わす図、第4c図は制御ワードを重複させる
ことなくCW選択を行うために使用されるBAXRビッ
ト・パターンを示す図、第5A図乃志5C図は、制御ワ
ードの選択が別々の機械状態信号の組合わせに独立に依
存しているような環境で、2つの独立したマイクロプロ
グラムが同じ制御ワードを選択できるようにすることに
よって、制御記憶中に置かれた制御ワードの重複を回避
させるようにした本発明の他の例を示す図、第6図は3
つの機械状態信号A,B及びCを使用することによって
8制御ワードを保持するブランチ・グループ中で次のC
Wを選択する処の本発明の実施態様を示す図である。 第1八図中、11・・・・・・ブランチ・アドレス変換
レジスタ、12・・・・・・制御記憶データ・レジスタ
、13・・・・・・ワード選択デコーダ回路、14・・
・・・・BAXRスイッチ回路、15・・・・・・制御
ワード・ゲート回路、16,17・・・・・・機械状態
回路、21・・・・・・制御記憶、22・・・・・・制
御記憶アドレス・デコーダ。

Claims (1)

    【特許請求の範囲】
  1. 1 それぞれ複数の制御ワード位置を有する複数のブラ
    ンチ・グループを保持する制御記憶と、ブランチ・グル
    ープをアクセスするための次のアドレス・フィールドを
    有する現制御ワードを保持する制御記憶データ・レジス
    タと、前記制御記憶でアクセスされたブランチ・グルー
    プにおける1つの制御ワード位置を選択するために使用
    される機械状態出力を供給する機械状態回路とを備えた
    制御記憶システムにおいて:前記制御記憶データ・レジ
    スタ中のブランチ・アドレス変換レジスタ(BAXR)
    フィールドへBAXRインゲート回路を介して接続され
    たブランチ・アドレス変換レジスタと、一方の入力を前
    記機械状態出力へ接続されたワード選択デコーダ回路と
    、前記ブランチ・アドレス変換レジスタの出力を前記ワ
    ード選択デコーダ回路の他方の入力へ接続する手段とを
    備え、前記機械状態出力及び前記ブランチ・アドレス変
    換レジスタ中の各ビット・パターンのセットに応答する
    前記ワード選択デコーダ回路によって複数の制御ワード
    選択線のうち1つの選択線を付勢しうる如くしたことを
    特徴とする制御記憶システム。
JP50099851A 1974-09-24 1975-08-19 セイギヨキオクシステム Expired JPS581466B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/508,797 US3958227A (en) 1974-09-24 1974-09-24 Control store system with flexible control word selection

Publications (2)

Publication Number Publication Date
JPS5148240A JPS5148240A (ja) 1976-04-24
JPS581466B2 true JPS581466B2 (ja) 1983-01-11

Family

ID=24024114

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50099851A Expired JPS581466B2 (ja) 1974-09-24 1975-08-19 セイギヨキオクシステム

Country Status (5)

Country Link
US (1) US3958227A (ja)
JP (1) JPS581466B2 (ja)
DE (1) DE2536622C2 (ja)
FR (1) FR2286438A1 (ja)
GB (1) GB1512222A (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4042913A (en) * 1976-04-30 1977-08-16 International Business Machines Corporation Address key register load/store instruction system
US4124893A (en) * 1976-10-18 1978-11-07 Honeywell Information Systems Inc. Microword address branching bit arrangement
US4118773A (en) * 1977-04-01 1978-10-03 Honeywell Information Systems Inc. Microprogram memory bank addressing system
DE2747304C3 (de) * 1977-10-21 1981-03-26 IBM Deutschland GmbH, 70569 Stuttgart Einrichtung zur Mikrobefehlssteuerung
US4181942A (en) * 1978-03-31 1980-01-01 International Business Machines Corporation Program branching method and apparatus
JPS5748139A (en) * 1980-09-04 1982-03-19 Nec Corp Microprogram control device
US4434465A (en) 1981-04-13 1984-02-28 Texas Instruments Incorporated Shared microinstruction states in control ROM addressing for a microcoded single chip microcomputer
US4531199A (en) * 1981-06-01 1985-07-23 International Business Machines Corporation Binary number substitution mechanism in a control store element
JPS57199050A (en) * 1981-06-01 1982-12-06 Ibm Micro order control memory mechanism
US4422144A (en) * 1981-06-01 1983-12-20 International Business Machines Corp. Microinstruction substitution mechanism in a control store
JPS5896349A (ja) * 1981-12-02 1983-06-08 Hitachi Ltd マイクロ命令制御のデータ処理装置
JPS58114244A (ja) * 1981-12-28 1983-07-07 Nec Corp マイクロプログラム制御装置
NL8205076A (nl) * 1982-12-31 1984-07-16 Philips Nv Data processor eenheid voorzien van een stuurgedeelte welk een adresgenerator bevat voor het genereren van adressen welke uit karakteristieke adresdelen zijn samengesteld.
DE3810166A1 (de) * 1988-03-25 1989-10-05 Henkel Kgaa Verwendung eines waessrigen konzentrates, enthaltend ein ethylen-acrylsaeure-copolymerisat, sowie verfahren zur koagulation von lacken und anderen organischen beschichtungsmitteln
JPH04328634A (ja) * 1991-04-26 1992-11-17 Nec Corp マイクロプログラム制御装置
US5386549A (en) * 1992-11-19 1995-01-31 Amdahl Corporation Error recovery system for recovering errors that occur in control store in a computer system employing pipeline architecture
US5568622A (en) * 1993-04-15 1996-10-22 Bull Hn Information Systems Inc. Method and apparatus for minimizing the number of control words in a brom control store of a microprogrammed central processor
US5812808A (en) * 1996-06-11 1998-09-22 Driker; Benjamin Totally pipelined computer, interconnected with others
US7861071B2 (en) * 2001-06-11 2010-12-28 Broadcom Corporation Conditional branch instruction capable of testing a plurality of indicators in a predicate register
US6986025B2 (en) * 2001-06-11 2006-01-10 Broadcom Corporation Conditional execution per lane
US7127593B2 (en) * 2001-06-11 2006-10-24 Broadcom Corporation Conditional execution with multiple destination stores

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3325785A (en) * 1964-12-18 1967-06-13 Ibm Efficient utilization of control storage and access controls therefor
US3391394A (en) * 1965-10-22 1968-07-02 Ibm Microprogram control for a data processing system
US3445818A (en) * 1966-08-01 1969-05-20 Rca Corp Memory accessing system
US3573854A (en) * 1968-12-04 1971-04-06 Texas Instruments Inc Look-ahead control for operation of program loops
US3656123A (en) * 1970-04-16 1972-04-11 Ibm Microprogrammed processor with variable basic machine cycle lengths
US3728686A (en) * 1971-06-07 1973-04-17 Rca Corp Computer memory with improved next word accessing
US3704448A (en) * 1971-08-02 1972-11-28 Hewlett Packard Co Data processing control system
US3800293A (en) * 1972-12-26 1974-03-26 Ibm Microprogram control subsystem

Also Published As

Publication number Publication date
DE2536622C2 (de) 1983-11-03
JPS5148240A (ja) 1976-04-24
US3958227A (en) 1976-05-18
GB1512222A (en) 1978-05-24
FR2286438A1 (fr) 1976-04-23
FR2286438B1 (ja) 1977-12-16
DE2536622A1 (de) 1976-04-08

Similar Documents

Publication Publication Date Title
US3958227A (en) Control store system with flexible control word selection
US4293907A (en) Data processing apparatus having op-code extension register
US4118773A (en) Microprogram memory bank addressing system
EP0056008A2 (en) Apparatus for writing into variable-length fields in memory words
US4558411A (en) Polymorphic programmable units employing plural levels of sub-instruction sets
US4314333A (en) Data processor
US3983541A (en) Polymorphic programmable units employing plural levels of phased sub-instruction sets
US4583162A (en) Look ahead memory interface
US3325785A (en) Efficient utilization of control storage and access controls therefor
EP0522513A2 (en) High speed parallel microcode program controller
US3602889A (en) Extended addressing for programmed data processor having improved register loading means
US4285039A (en) Memory array selection mechanism
JPH0124655Y2 (ja)
US4685058A (en) Two-stage pipelined execution unit and control stores
US4258417A (en) System for interfacing between main store memory and a central processor
US3631401A (en) Direct function data processor
EP0660229B1 (en) Method and apparatus for modifying the contents of a register
JPH02162422A (ja) 優先ブランチ機構を備えたデータ処理システム
JPH05197619A (ja) マルチcpu用メモリ制御回路
JPS6142298B2 (ja)
JP3027627B2 (ja) プログラマブルコントローラの演算プロセッサ
JPH08305685A (ja) ベクトルデータ処理装置
JPS6155130B2 (ja)
JP2583614B2 (ja) ベクトル演算装置
JPS63142434A (ja) 割込み制御方式