JPS5830608B2 - マイクロプログラムケイサンキ - Google Patents

マイクロプログラムケイサンキ

Info

Publication number
JPS5830608B2
JPS5830608B2 JP49116796A JP11679674A JPS5830608B2 JP S5830608 B2 JPS5830608 B2 JP S5830608B2 JP 49116796 A JP49116796 A JP 49116796A JP 11679674 A JP11679674 A JP 11679674A JP S5830608 B2 JPS5830608 B2 JP S5830608B2
Authority
JP
Japan
Prior art keywords
register
microprogram
operation code
machine instructions
address
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
JP49116796A
Other languages
English (en)
Other versions
JPS5079232A (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.)
HANEIUERU INFUOMEESHON SHISUTEMU ITARIA SpA
Original Assignee
HANEIUERU INFUOMEESHON SHISUTEMU ITARIA SpA
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 HANEIUERU INFUOMEESHON SHISUTEMU ITARIA SpA filed Critical HANEIUERU INFUOMEESHON SHISUTEMU ITARIA SpA
Publication of JPS5079232A publication Critical patent/JPS5079232A/ja
Publication of JPS5830608B2 publication Critical patent/JPS5830608B2/ja
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/226Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/268Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/328Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for runtime instruction patching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling

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

【発明の詳細な説明】 本発明は制御装置を管理するためのプログラムを形成す
る一組のマイクロ命令の制御の下に種々の動作が遂行さ
れるようになったマイクロプログラム計算機に関する。
マイクロプログラム計算機においては、フォートランと
かコボルなどの高レベルの言語でプログラマ−により普
通書込まれるものの型のいわゆるマイクロ命令は多数の
機械命令を予め定めた順序で遂行することを必要とする
各機械命令は一般に読出専用記憶装置であるマイクロプ
ログラム記憶装置に含まれた一連のマイクロ命令により
実行される。
この型の計算機組織は計算機に対し与えられる機械命令
が限られた数でありそして予め定めた組のマイクロプロ
グラムまたはマイクロプログラム記憶装置に含まれてい
る予め定めた組のマイクロ命令に厳格に相関させられね
ばならないという欠点を有する。
マイクロフログラム記憶装置に含まれた一組のマイクロ
プログラムにより遂行される機械命令の組は計算機のい
わゆる「内部デコー(InteriorDecor )
J 、すなわち、考察中の特定の計算機で実行可能な
機械命令の組合せ」を構成する。
マイクロ命令の付加または変更はマイクロプログラム計
算機内においてこれらのマイクロ命令を記録する読出専
用記憶装置の付加または変更を必要とする。
これは計算機の「内部デコー」を拡張するのを困難で面
倒にする。
1973年9月26日に本出願人により出願されたイタ
リヤ特許出願29386A/73(対応日本出願が19
74年9月25日に出願されている)において、マイク
ロプログラミング記憶装置および計算機の主またはワー
キング記憶装置の両方からマイクロプログラムを呼戻す
ことができるようになったマイクロプログラム計算機が
記載されている。
上記のものは前もっては予知されない機械命令を実行す
ることのできる新しいマイクロプログラムの付加を可能
ならしめる。
しかしながら、これは問題を完全には解決せず、なぜな
らいかにして各機械命令をマイクロプログラムと相関さ
せるかを定める必要があるからである。
機械命令はオペレーションコード、演算数のアドレスお
よびそれらの長さなどの一組の情報からなることは知ら
れている。
各機械命令に対して異ナルファンクションまたはオペレ
ーションコードは遂行されるべきオペレーションが何で
あるかを指定する。
オペレーションコードは機械命令の実行を達成するマイ
クロプログラムアドレスを供給するため解読装置により
用いられ得る。
従って、新しいマイクロ命令の付加は付加的な機械命令
の実行を達成する新しいマイクロプログラムのアドレス
を供給するため新しい解読器の変更または付加を必要と
する。
上に指摘した不利を克服するために、本発明は「許可さ
れた機械命令」および「禁止された機械命令」を識別し
、マイクロプログラミング記憶装置に含まれたマイクロ
プログラムにより「許可された機械命令」を実行し、場
合によってはマイクロプログラミングルーチンにより「
禁止された機械命令」のうちでい(つかの「付加的機械
命令」および全てを識別し、そして主記憶装置に入れら
れた付加的マイクロフログラムによりこのような付加的
機械命令を実行するようになった計算機の動作装置を制
御するための改良された装置を提供する。
優利に時間の損失を避けるため、「許可された機械命令
」対「禁止された機械命令」の予備的確認がオペレーシ
ョンコードを変換する補助的記憶装置により遂行されそ
してマイクロプログラミングルーチンによる検査は「禁
止された命令」が識別された場合にだけ遂行される。
更に、優利に時間の損失を避けるため、付加的機械命令
確認に対するマイクロプログラミングルーチンはこのよ
うな予備的検査の結果が肯定のものである場合にだけ付
加的機械命令が企図されてこれらのルーチンが完全に遂
行されることを迅速に検証するためマイクロプログラム
の第■の部分を含む。
本発明の詳細な説明に進む前に上記の概念を明確にする
のが好都合である。
知られているように、機械命令は一般にオペレーション
コードまたはファンクションコードと共に演算の行われ
るべきデータの位置に関する情報および究極的な付加的
情報を含む。
機械的命令は関係するデータの量に従って比較的に長い
かまたは比較的に短い。
しかしながら、単一の計算機で用いられるオペレーショ
ンコードの全ては同じ長さを有する。
オペレーションコードは一般に命令の型および遂行され
るべきオペレーションの型を指示スる。
−たびオペレーションコードの長さが定められてしまえ
ば、成る数の異なるオペレーションコードおよび関連し
た機械命令をもつことができる。
しかしながら、計算機では、計算機がマイクロプログラ
ミング装置を設けられる対象となる機械命令を特徴づけ
るのに成る数のビットで表わし得るオペレーションコー
ドの全ては有効に用いられずに、一般にはそれらの一部
だけが用いられる。
最初のものは「許可された」オペレーションコードとし
て定義されそして関連した命令は「許可された」命令と
して定義される。
他のビット組合せは「禁示された」または「不法の1も
のとして定義されるオペレーションコードを特徴づける
主記憶装置を支持部として用いてマイクロプログラムの
数を増すことができる場合、機械命令の数を増すことが
できる。
付加的機械命令は「禁止された」または「不法の」オペ
レーションコードにより特徴づけられる。
このような「不法の」オペレーションコードは確認され
ねばならず、そしてそれらが付加的機械命令に関係して
いる場合適当なマイクロプログラムを呼戻さなければな
らない。
本発明の1つの好ましい特徴によれば、補助記憶装置は
各「許可された」オペレーションコードに対応する「許
可された」ディジタル単語を記憶すると共に「禁止され
た」オペレーションコードに対応する少くとも1つの「
禁止された」デイジタル単語を記憶する。
オペレーションコードに対する返答として、対応するデ
ィジタル単語が前記補助記憶装置から読出される。
情報の含まされた部分のうち異なる部分において各ディ
ジタル単語はこの単語に関連したオペレーションコード
が許可または禁止される。
本発明のもう1つの特徴によれば、禁止されたディジタ
ル単語に含まれた情報は「除外ルーチン」と呼ぶことに
するマイクロプログラミングルーチンを要求する。
このようなルーチンはそれを呼戻した理由の全てを前も
って決定する。
この介入に対する理由が「禁止されたファンクションコ
ード」の提示によるものであることが明らかならしめら
れた場合、このルーチンは成る特権を与えられた主記憶
装置位置の内容を考える。
このような特権を与えられた主記憶装置位置には禁止さ
れた機械命令の実行を可能ならしめる成るマイクロプロ
グラムが主記憶装置に付加されたか否かを指定する情報
が記憶される。
このような機械命令は「付加された」命令として定義さ
れ、関連したファンクションコードは「付加された」フ
ァンクションコードとして定義される。
付加されたコードが存在しない場合、導入されたコード
はいずれの場合でも禁止されたものとして考えられそし
てマイクロプログラミングルーチンは必要な機械命令の
実行が不可能なことを使用者に対して指摘する監視プロ
グラムの介入を必要とする。
付加されたコードが存在する場合、検査中のファンクシ
ョンコードが付加されたものの1つであることがあり得
、マイクロプログラミングルーチンは別のマイクロプロ
グラミングルーチンを呼戻す。
この最後のものは主記憶装置内に置くことができ、そし
て付加されたコードの確認およびその実行を達成する。
導入されたコードが付加されたもののうちで知られない
場合、上記別のマイクロプログラミングルーチンも必要
な機械命令の実行が不可能なことを使用者に対して指摘
する監視プログラムの介入を要求する。
このようにして、計算機の内部デコーの拡張がそれに対
する何らの物理的変更を必要とすることなしに可能なら
しめられる。
以下図面を参照しながら本発明を説明する。
本発明の好ましい実施例は機能的に云って下記のように
分割され得る回路を含む。
タイミング装置 マイクロプログラム化された制御装置 動作装置 ワーキング記憶装置 説明を明確ならしめるため、まず最初にタイミング装置
を考察するのが便利である。
第1図はこのようなタイミング装置の概略ブロックダイ
ヤグラムを示す。
これは実質上クロック回路20とクロック回路網21と
からなる。
クロック回路20は好都合には中間タップを有する遅延
線からなり、これは順次的なりロックパルスを循環的に
発生するため外部起動信号またはこの遅延線の端末部に
よりトリガーされるワンショット回路により給電される
別の方法として、基本周波数を発生するため高周波発振
器を使用し、これから一連のクロックパルスを分周器を
用いて得る方法が知られている。
クロック回路の動作は各サイクルの終りに「停止」端子
に加えられる指令により中断される。
クロックパルスのいくつかは出力導線T1.T2゜T3
・・・・・・・・・・・・TNを介して計算機の異なる
複数の点に加えられ、そこでこれらは予め定めたアンド
ゲートの動作可能化を循環的に制御する。
他のクロックパルスTC1,TC2,・・・・・・・・
・・・・TCnがクロック装置の一部であるクロック回
路網21に加えられる。
クロック回路網は制御装置から複数のマイクロ指令を受
け、そして複数のアンドゲート、および必要な場合は複
数のフリップフロップにより、クロックパルスTC1な
いしTCnの制御の下に、適当に整時されかつ適当な持
続時間TC1ないしTCnを有する一連のマイクロ指令
を供給し、これらのマイクロ指令は図示されていない適
当な制御回路により制御装置、動作部分および記憶部を
含む計算機の適当な複数の点に分配される。
第2,3,4図において、普通は円により表わされてい
る条件づげ要素の入力につげられている矢印は特に別の
ように指定されない場合クロックパルスT1 ないしT
Nまたはクロック整時されたマイクロ指令CT1ないし
CTNが矢印により示された接続線を通して供給される
クロックパルスとクロック整時されたマイクロ指令との
間の差異は、クロックパルスはクロック装置の各サイク
ル(機械サイクル)において無条件に供給され、これに
対して、クロック整時された指令は対応するマイクロ指
令C1ないしCが存在する機械サイクルにおいてだけ供
給される点にある。
第2図は計算機の制御装置を示す。
この制御装置は実質上読出専用記憶装置RO3で構成さ
れてよいマイクロプログラムメモリ2と、この記憶装置
に対する出力レジスタ(ROR(読出専用レジスタ)と
記す)3と、解読器4と、ROSアドレスレジスタ(R
O8ARと記す)5と、ROSアドレスを記憶するため
の補助レジスタ(RO8ARIと記す)6と、ROSア
ドレスに増分を付加するための計数装置7とからなる。
記憶装置2は、計算機の動作を制御しかつ基本的機械命
令により読出されるマイクロプログラムの形に組織され
た例えば18ビツトを有するマイクロ単語を含むように
設計されている。
円9ないし16はアンドゲートの組を表わし、これらの
アンドゲートの組はそれらに関連した接続線への信号の
転送を制御する。
各組は前述したようにクロックパルスTi またはクロ
ック整時すれたマイクロ指令CTjにより制御される。
各組は、1本の線により表わされかつ以後「チャンネル
」と呼ぶことにする一組の導線の複数の信号をその入力
に受けかつ動作可能化されたときこれらの信号をその出
力に解放する。
2進形で予め定めたROSアドレスを表わす一組の信号
がどのアンドゲートの組によっても条件づげられないチ
ャンネル8に送られる。
計算機の動作を開始するため、このアドレスは、例えば
制御コンソールで適当なスイッチをプリセットしそして
「起動」ボタンを押して導線「起動」を通しクロック装
置の動作を開始することによってこのチャンネルに入れ
られる。
このようにしてチャンネル8に存在するアドレスはレジ
スタ5に入れられ、そしてアンドゲートの組12がクロ
ックパルスにより動作可能可されるや否や記憶装置(R
O8)2がア、ドレスされ、1つのマイクロ単語が読出
され、そしてゲートの組16を通してレジスタ3に入れ
られる。
今はレジスタ3の出力導線に存在する同じマイクロ単語
は解読器4により解読され、解読された信号はオアゲー
トの回路網4Aを通してクロック回路網に転送され、そ
してそこからクロック整時されたクロック指令として出
てくる。
レジスタ5に含まれたROSアドレスは種々の方法で更
新され得る。
まず第1に、これをアンドゲートの組13を通してレジ
スタ6に入れ、そしてそこから動作可能化されたアンド
ゲートの組14を通して増分付加回路網7に供給し、そ
こでそれを例えば1だげ増すことができる。
更新されたアドレスは次いでチャンネル17およびアン
ドゲートの組11を通してレジスタ5に再び入れられる
別の方法として、このアドレスをレジスタ3に記録され
たマイクロ単語に得られる成る適当な量にだげ増し、そ
してチャンネル18およびゲート15を通して増分付加
装置7に供給することができる。
もう1つの別の方法として、RO8の新しいアドレスを
RO8から読出されかつレジスタ3に含まされたマイク
ロ単語から得ることができる。
適当な数のビットをチャンネル18およびゲート10を
通してレジスタ5に転送することができる。
更に別のアドレッシングの可能性がゲートの組9により
制御されるチャンネル19により与えられ、このゲート
の組9は第3図に示されたように計算機の動作部分に含
まれたい(つかのレジスタのうちの1つのレジスタであ
るレジスタAの内容をレジスタ5に入れるのを可能なら
しめるものである。
前記レジスタの内容は後記の説明から知られるように動
作部分の他のレジスタまたは外部周辺装置のいずれかか
らおよび主記憶装置から発することができ、従って、R
O8は一般的に云って計算機内またはそれに接続された
任意の情報源によりアドレスすることができる。
上述した制御装置の並列型式は簡単に注目するに値する
ROSアドレスのビット長はアドレスされねばならない
RO8記憶装置位置の数により左右され、RO3から読
出されたマイクロ単語の長さと無関係である。
例えばROSアドレスは15ビツトの長さを有し、従っ
て約32000の異なる記憶位置をアドレスすることが
できる。
これはROSアドレスを入れるのに用いられるチャンネ
ルの全てが15本の導線を有することおよびレジスタ5
および6が15のビットセルを有することを意味する。
他方、レジスタ3はマイクロ単語を形成するビットと同
数の個々のビット位置、例えば180ビット位置を有す
る。
これは、ROSアドレスがレジスタ3に含まれた1つの
マイクロ単語から得られる場合18ビツトのうちの15
ビツトだけがアドレスとして用いられてチャンネル18
に転送されることを意味する。
本発明によれば、マイクロプログラム記憶装置(RO8
)2はマイクロプログラムの進展中主記憶装置からマイ
クロプログラムマイクロ命令を読出すという可能性と関
係する。
このため、マイクロ命令のアドレスと関連して、前記ア
ドレスがROSアドレスであるか主記憶装置アドレスで
あるかを指定するビットである2進情報が制御装置に供
給される。
このビットはレジスタ5に関係づけられたフリップフロ
ップ24(第2図)に記憶される。
第2図から知られるように、このフリップフロップには
アンドゲート91を通してチャンネル19を形成するも
ののうちに含まれた導線に供給された1つのビットが入
れられる。
別の方法として、これに4チヤンネル18およびアンド
ゲート10′を通してレジスタ3に含まれたマイクロ命
令の特定のビットを入れることもできる。
更に、フリップフロップ24の内容をコンソールキーに
より導線8′を通して入れることもできる。
フリップフロップ24の記入モードは後述される。
主記憶装置からのマイクロ命令の読出しはそのアドレッ
シング、読出し、および転送を必要とし、従ってその動
作は多数の後読マイクロ命令により制御されねばならな
い。
これらのマイクロ命令は既に述べた制御装置の部分に適
当に接続されたハードウェア順序回路により発生される
第2図は本発明による制御装置全体のブロックダイヤグ
ラムを示し、従ってこれはノ・−ドウエア順序回路およ
びそれに関連した制御装置への接続線ならびに本発明を
有効ならしめるのに必要な変更を含む。
ハードウェア順序回路はブロック25で示されている。
ハードウェア順序回路の好ましい実施例は1973年9
月26日に本出願人により出願されたイタリヤ特許出願
29387A/73(対応日本出願が1974年9月1
7日に出願されている)に記載されている。
この時点において、本発明の目的のためには、ハードウ
ェア順序回路は好都合には例えば2ビツト型2進計数器
から構成され得ることを注意すれば充分である。
ハードウェア順序回路は各機械サイクルにおいて適当な
入力導線22に供給されるクロックパルスTにより進ま
される。
しかしながら、クロックパルスはフリップフロップ24
がセットされているとき、すなわちそれに含まれたピン
)M/Rが「1」のレベルにあるときにだけ効果を有す
る。
フリップフロップ24の出力はハードウェア順序回路2
5に対する動作可能化信号として作用する。
ハードウェア順序回路内の各進展状態は出力導線31に
一組の信号を発生する。
このような信号はゲートの組32を通して論理回路網4
Aに供給されて一組のマイクロ指令を発生し、これらの
マイクロ指令はタイミング装置に転送される。
このような整時されたマイクロ指令はマイクロ命令の文
字を有する成る情報の主記憶装置からの読出しを行う。
このような情報はチャンネル29およびアンドゲートの
組28を通して補助レジスタ(RORMと記される)2
7に再記録される。
レジスタ27はゲートの組30を通してレジスタ30入
力導線にも接続され、従って単にアンドゲートの組30
を動作可能化するだけでレジスタ27に含まれた情報を
レジスタ3へ転送することが可能である。
主記憶装置から取り出された情報はレジスタ3に含まさ
れたとき、これは真にマイクロ命令として作用する。
論理回路4Aはその最も簡単な形では複数のオア論理要
素またはゲートから構成され、そしてこれは解読回路網
4を通してのレジスタ3により発生されたマイクロ指令
のタイミング装置への転送、またはハードウェア順序回
路ならびに変換用補助記憶装置20の出力導線により発
生されたマイクロ指令の転送を行うが、これについては
後述される。
フリップフロップ24、ハードウェア順序回路25、補
助レジスタ27、および、動作部分および主記憶装置と
の図示された接続線は上記した特許出願に充分に連関さ
れているように主記憶装置に記憶されたマイクロプログ
ラムの取出しおよび実行を可能ならしめる。
ここで、許可されたオペレーションコードおよび禁止さ
れたオペレーションコードが管理される方法を考察する
必要がある。
本発明の好ましい実施例によれば、記憶装置2と小型の
変換用記憶装置20が関連づげられる。
好ましくは、記憶装置20は記憶装置2と同じ並列形式
を有し、そしてこれは同じ回路技術によりなされる。
従って、記憶装置20に記憶されたマイクロ単語は長さ
が20ビツトである。
記憶装置20は例えば256の記憶位置を有し、各記憶
位置は長さが20ビツトの変換用ディジタル単語を有す
る。
記憶装置20内の変換用ディジタル単語は8ビツト型ア
ドレスレジスタ35によりアドレスされる。
レジスタ5内に記憶された信号からの記憶装置20のア
ドレッシングは整時されたマイクロ指令から作動される
ゲートの組36を介して制御される。
これらの変換用ディジタル単語は機械命令の取出し段階
評よび実行段階中に用いられ、これらの段階はそれぞれ
取出しマイクロフログラムおよび実行マイクロプログラ
ムにより行われて記憶装置2に記憶されたマイクロ命令
を変更するための適当な制御を遂行すると共に機械命令
を実行するのに必要なマイクロプログラムのアドレスを
供給するための適当な制御を遂行する。
この目的のため、変換用ディジタル単語がゲートの組3
7および38を通して解読回路網4Aに供給される。
2つのゲート37および38は、変換用ディジタル単語
が複数の整時されたマイクロ指令の制御の下に全体的に
または部分的にそして以後の瞬間に供給されることを一
般的に示すため表わされている。
記憶装置2をアドレスするために変換用ディジタル単語
の少くとも一部をチャンネル39およびゲートの組40
を通してレジスタ5に入れることができる。
レジスタ35には計算機のレジスタBから送られた情報
がゲートの組41を通して入れられる。
このレジスタBは機械命令のオペレーションコードが入
れられるものである。
別の方法として、本発明のもう1つの特徴によれば、レ
ジスタ35にチャンネル42およびゲートの組43を通
して変換用ディジタル単語からの情報を入れることがで
きる。
事実、最も一般的な方法では機械命令に関連した取出し
および実行を達成するのに必要な全ての情報を例えば2
0ビツトよりも大きい長さを有するただ1つの変換用デ
ィジタル単語に含ませるけれども、記憶装置20の改良
された利用を達成するために、各情報を2つの変換用デ
ィジタル単語に分配するのが好ましい。
下記の説明からより一層明らかとなるように、各ディジ
タル単語の最初のビットは関連したファンクションコー
ドが許可されたコードであるか禁止されたコードである
かを示す。
このようなビットは導線44およびオアゲート45を通
して導線46に転送される。
導線46からこれは誤り信号発生論理回路、すなわち、
より一般的には例外信号発生論理回路(図示せず)に供
給される。
このビットが「0」にセットされたとき、これはオペレ
ーションコードが禁止されたものでありそして対応する
マイクロ命令が記憶装置2に存在するマイクロプログラ
ムにより実行され得ないことを意味する。
この例外信号はプログラム実行を停止または適当な手順
を開始する指示を計算機に対して供給する。
禁止されたディジタル単語の残りのビットの全ては禁止
されたオペレーションコードを翻訳する目的に対し用い
られない。
それらは消耗されてしまうであろう。
従って、許可されたオペレーションコードに対応する変
換用ディジタル単語に対しこのようなビットを関係づけ
そして1つの許可されたディジタル単語の成る数のビッ
トを用いて禁止されたディジタル単語をアドレスするこ
とによりこのようなビットを読出すのが便利であり、こ
のようにして許可されたディジタル単語の長さを拡張す
ることができる。
許可されたディジタル単語およびその拡張部分に属する
情報の全てを記憶するのに適している記憶装置20の出
力に1つのレジスタを設けるのを避けるため、好ましく
はこの拡張部分に含まれた情報はマイクロプログラムの
第2の段階、例えば実行段階に関係させられ、そしてこ
のような第2の段階の初めにおいて記憶装置20から読
出される。
第2の段階の初めに例外信号を発生するのを避けるため
最初のビットはマスクされねばならない。
記憶装置20を読出すためにゲートの組36を動作可能
化する整時されたマイクロ指令はセット指令をフリップ
フロップ44に供給し、このフリップフロップの出力は
オアゲート450入力に接続されている。
第1の変換用ディジタル単語が読出されたとき、フリッ
プフロップ47はセットされ、反転された出力は論理レ
ベルrOJになる。
従って、オアゲート45の出力は読出されたディジタル
単語の最初のビットの値によって左右される。
第2のマイクロ指令によりディジタル単語の拡張部分が
読出されたとき、フリップフロップ47はリセットされ
、反転出力は「1」になる。
オアゲート45の出力は「1」になるかまたは「1」に
留まり、そして読出された単語の最初のビットはマスク
される。
オペレーションロードの遂行に関係する制御装置1の動
作の一般的説明は下記の通りである。
基本的には制御装置は計算機に対するプログラム内で指
定された機械命令を実行する一組の命令を遂行する。
機械命令を遂行するため、機械命令のオペレーションコ
ードは記憶装置2に含まれたマイクロ70グラムを用い
てゲートの組41を通しレジスタ35に入れられる。
レジスタ35に記憶されたオペレーションコードは記憶
装置20内の対応する20ビット取出し変換用ディジタ
ル単語のアドレスとして用いられる。
この命令取出しディジタル単語の最初の12ビツトはゲ
ートの組37および38を通して解読回路網4Aに供給
される。
他の8ビツトはマイクロプログラムの第1の段階、例え
ば命令取出し段階の期間中チャンネル42に維持される
他の8ビツトはマイクロプログラムの第2の段階、例え
ば実行段階の期間中用いられるべく記憶装置20内に記
憶されたもう1つのディジタル単語を選択するためのア
ドレスとして用いられる。
記憶装置20から読出された最初の変換用ディジタル単
語は解読回路網4Aを条件づげることにより記憶装置2
から読出された命令取出しマイクロ命令の情報内容を補
足する。
記憶装置2に記憶されたマイクロプログラムの取出し段
階中にマイクロプログラムそのものの指令によりゲート
の組43は開かれそしてレジスタ35は遂行されつつあ
る機械命令と関連した記憶装置20内にもつ1つの単語
のアドレスを記憶する。
ゲートの組36が開かれるやいなやこの第2の単語は記
憶装置20から読出されそして制御装置により用いられ
て解読回路網を条件づげるか或いはチャンネル39およ
びゲートの組40を介して記憶装置2を適当にアドレス
する。
各オペレーションコードに対する記憶装置に記憶された
最初のディジタル単語の好ましい形式は下記の通りであ
る。
ビット0゜存在/不存在、すなわち云い換えれば、許可
された或いは禁止された命令コード。
このビットはレジスタ35に入れられたオペレーション
コードが計算機の内部デコー(以後I/Dと表わす)に
含まれたものの1つであるときは1に等しい。
このピントはオペレーションコードがI/Dに含まれて
いないときはOに等しい。
ピッ)1−3o形式。
各ビットは計算機が特定の状態にあるとき機械命令が翻
訳され実行されねばならないか否かを識別する。
例えば、初期モードで全ての機械命令が実行される。
監祝モードでは成る命令は実行されてはならない。
分岐命令中は成る1つのビットが分岐が絶対的なもので
あるか或いは相対的なものであるかを指定する。
ピッ)4−5o命令の長さ。
このビットは文字中の機械命令の長さを定め、その結果
マイクロプログラムはどれだけ多くの文字が主記憶装置
から読出されるべきであるかを知ると共に更にとのヲー
キングレジスタに文字が記憶されねばならないかを知る
ビット6−8゜フィールド検証。
機械命令はしばしばオペレーションコードによってばか
りではなくて他のフィールド、例えばオペレーションコ
ードの補数によっても定められるので、計算機は成るフ
ィールドが検証された内容を有するならば成るオペレー
ションコードを有する成る命令を実行する。
異なるフィールドを有する機械命令は不法と考えられ、
或いはそれらが付加的機械命令として識別されたときに
だけ実行される。
これらのビットはビット0により与えられる情報を補数
化する。
ビット9゜セグメントバイオレーション (violation ) (実行バイオレーション)
ビット9が1にセットされたときは、機械命令は飛越し
を達成しそして計算機は飛越しアドレスがまだ適当な記
憶装置セグメント内にあることを検証しなげればならな
い。
記憶装置セグメンテイションの概念はよく知られている
すなわち、命令およびデータは成る共通の特性に従って
群に分けられた記憶装置内に記憶される。
代表的なのは2セグメントの組織であり、一方のセグメ
ントは読出されて実行されるべきであるが(例えば命令
)消去はされはしない情報に対するものであり、もう一
方は読出されまたは消去されそして再書込みされるべき
であるが翻訳されはしない情報(例えばデータ)に対す
るものである。
例えば変換用テーブルなどの他のデータは単に読出され
、翻訳されたり消去されたりはしない。
ビット10oセグメントバイオレーシヨン(書込ミバイ
オレーション)。
このビットが1にセットされたときは、機械命令は主記
憶装置内における書込み動作を要求し、そして計算機は
記憶装置アドレスが書込みが許可されている適当なセグ
メントに向けられていることを検証しなげればならない
ビット11゜アドレスシラフル(5yllable)を
有する命令。
このビットが1にセットされたときは、命令のフィール
ドは演算数アドレスではなくて真のアドレスおよび他の
情報が含まれている記憶装置ゾーンのアドレスである。
ピッ)1219o記憶装置20内の第2のディジタル単
語のアドレス。
各オペレーションコードに対しての記憶装置内に記憶さ
れた第2のディジタル単語の好ましい形式は下記の通り
である。
ビット0゜このビットはオペレーションコードがいずれ
かの実行単語を直接にアドレスしたときこのオペレーシ
ョンコードが不法のものであるとして認定されるように
0にセットされる。
ビット1−3゜形式ビット。
これらのビットは機械命令が関連したオペレーションの
群内に成る特定のオペレーション、例えば減算(2進ま
たは10進)および加算(2進または10進)を必要と
することを指示する。
ビット4−19゜実行段階指示情報。
これらのビットは実行マイクロプログラムの最初のマイ
クロ命令をアドレスする。
変換用記憶装置20はオペレーションコードの許可され
たもの或いは禁止されたものとしての即座の識別を可能
ならしめる。
オペレーションコードが許可されたものであるときは全
ての情報が供給され、これはマイクロプログラムにより
このオペレーションコードに対応する機械命令を遂行す
るのに必要である。
オペレーションコードが禁止されたものであるときは導
線46に発生された例外信号が計算機に例外指示を与え
、例外を検査するためのマイクロプログラムのアドレス
をレジスタ5に入れ、結局このオペレーションコードを
検査するためのルーチンを呼掛ける。
これは計算機についての概略を通しての全説明がなされ
た後に後記説明において明確にされる。
第3図は計算機の動作部分のブロックダイヤグラムを示
し、これをここで概略的に単に説明を完全なものにする
目的だけをもって説明する。
これは実質上2つのレジスタバンク50,51゜ワーキ
ングレジスタA1および動作回路網52からなる。
レジスタバンク50は例えばそれぞれ18ビツトを有す
る16のレジスタからなり、そして入力導線53を介し
てマイクロ指令のコードによりアドレスされる。
このようなアドレッシングにより、かつ同時にこのレジ
スタバンクの入力におけるゲートの組54またはその出
力におけるゲートの組55のいずれかを制御することに
より、チャンネル56から来る情報片をアドレスされた
レジスタに記録することができ、そして二者択一的また
は同時に、ア+゛レスされたレジスタに既に含まれてい
る情報または記録されつつある情報をレジスタAに記録
することもできる。
レジスタAの内容は分配チャンネル5γに供給され、そ
してゲートの動作を介して選択的に動作回路網52に供
給される。
レジスタAの内容はチャンネル58およびゲート59を
通してレジスタバンク51にも送られる。
このレジスタバンク51もそれぞれ18ビツトを有する
16のレジスタから構成され得、そして入力60を介し
てマイクロ指令のコードによりアドレスされる。
アドレスされたレジスタの内容は常に分配チャンネル6
1に存在しそしてそこから選択的にゲートを通して動作
回路網に供給される。
レジスタバンク51のアドレスされたレジスタには種々
の情報源から発せられた情報を入れることができる。
レジスタAに含まれたデータをチャンネル58およびア
ンドゲート59を通してバンク51に転送する方法は既
に説明された。
もう1つの可能な情報源は外部周辺源から発するデータ
チャンネルである。
このようなチャンネルは「データ人力」として識別され
そしてゲートの組62により制御される。
主記憶装置からチャンネル128(第4図)に入来する
データは動作部分により処理されるべくアンドゲートの
組63を通してレジスタバンク51に転送される。
また、読出専用のマイクロプログラム記憶装置である記
憶装置2は記録のためデータをバンク51に送る。
このためレジスタ3(第2図)の出力とレジスタバンク
51との間に接続チャンネル64(第2図および第3図
)が設けられている。
このチャンネルはゲートの組65により制御される。
ゲートの組67により制御されるチャンネル66(記入
)を通して任意の予め定めた情報片をレジスタバンク5
1に入れることもできる。
チャンネル66には操作員により制御されるコンソール
スイッチにより発生された情報片を入れることができる
レジスタ50および51はバンクの各1つ内において一
時に一つだけのレジスタをアドレスするように並列に制
御され得る。
バンク50の場合これはレジスタAにより証拠づげられ
るが、同じことがバンク51に対してもあてはまり、こ
のレジスタ51は計算機の動作構造の点から毎度ただ1
つのレジスタBであるとみられる。
レジスタAおよびBは処理されるように動作回路網に与
えられる2つのデータに対し必要な同時的な物理的支持
手段を与える。
動作回路網は分配チャンネル57および61ならびに多
数のゲートによりレジスタAおよびBに接続されている
これらのゲートは、好都合には、処理されるべきデータ
の形式(2進法、パッケイジされ或いはパッケイジされ
ない10進法)、遂行されるべきオペレーションの型、
レジスタおよび動作回路網の並列型式に従って組の形に
組織される。
考察した例ではレジスタおよび動作装置52は例えば1
8ビツトの並列型式を有する。
これは単一のバイトまたはバイトのゾーンのいずれかに
作用する可能性を排除することなしに2つのバイトに対
して予め定めたオペレーションを並列に遂行するのを可
能ならしめる。
このため動作回路網520入力を分配チャンネル57お
よび61に接続するゲートは参照番号70,71,72
,73でそれぞれ示されている組に分割されている。
各組を表わすブロックは転送されるビットの順序番号を
付されている。
同様に、動作回路網の出力はゲートの組75および76
を通して収集チャンネルγ4に接続されている。
動作回路網の出力はアンドゲート77および18を通し
て解読器79に接続され、この解読器79は動作可能化
されたゲートに対応するビットの組に対してだけ「全て
O」または「全て1」のコードなどの固有の出力コード
に応答する。
この解読器の出力の信号NZ2は「検証された条件」の
信号であり、これは必要なときに動作装置により遂行さ
れたオペレーションを適当な検査に供するのに用いられ
る。
動作装置は公知の電気回路、好ましくは集積回路技術を
用いて構成される。
このような動作回路網の詳細な説明は電子計算機の設計
に関し入手できる普及している文献に見出すことができ
、それらのうちにはマクグロウーヒルにより発行された
アール・ニス・レズレイ著の権威ある文献「ディジタル
計算機および制御技術」第4部がある。
加うるに、本出願人により1973年7月10日に出願
されたイタリヤ特許出願26397A/73は動作装置
が機能的には独立の複数の異なる回路網からなるような
特定の具体例を記載し、更に詳細に知りたくばこの出願
を参照することができる。
動作回路網は一般に下記の型のオペレーションを遂行す
る。
すなわち、2進法または10進法での演算、論理積、論
理和、排他的論理和、比較などの論理操作、データシフ
ト動作、1単位またはそれ以上の単位だけの増分または
減少分の付加である。
必要なオペレーションの型は制御装置から受信されたマ
イクロ指令の組80により定められる。
動作部分の説明を完全にするため、収集チャンネル74
はチャンネル56に接続されていること、従って装置5
2により遂行されたオペレーションの結果として収集チ
ャンネルに存在するデータはバンク50の適当な1つの
レジスタに転送されて記録され、そしてそこからレジス
タAに送られ、次いで必要なときは主記憶装置への記録
のため、或いはゲートの組82およびチャンネル81を
通しての外部周辺装置への転送のためバンク51に送ら
れるということを注意すべきである。
事実、チャンネル69(第3図および第4図)は主記憶
装置に接続され、そしてゲートの組82σつ出力のチャ
ンネル81は情報の交換を制御する制御回路網により情
報を計算機から周辺装置に転送するための信号路を与え
るようにされている。
その説明は本発明の理解には必要ない。
動作装置は分配チャンネル57および61を収集チャン
ネル74に直接に接続するためのゲートの組87および
88により制御される2つの側路チャンネル83および
86を有する。
加うるに、図示されていない多数のフリップフロップが
設けられてげた上げ入力およびげた上げ出力、特別化さ
れた解読器により行われた検査の結果などの特別の条件
を記録する。
主記憶装置部分 第4図は計算機の記憶装置部分のブロックダイヤグラム
を示す。
実質上記憶装置部分は18ビツトの並列型式を有する例
えば磁心記憶装置からなる主記憶装置122と、アドレ
ッシングレジスタSIと、データレジスタDIと、多数
の通信チャンネルとからなる。
アドレッシングレジスタSIはチャンネル57(第3図
)からアンドゲートの組124を通して、レジスタAに
記憶されたコード化情報を受ける。
レジスタAは前述したように第3図に示された動作部分
に含まれている。
レジスタSIは予知される最大記憶容量に適合する容量
を有する。
例えば18ビツト位置を有するレジスタは約25600
0の記憶装置位置をアドレスすることができ、そして上
述した計算機の並列型式と一致する。
記憶装置に書込まれるべきデータはアンドゲートの組1
25により制御されるチャンネル69を通してレジスタ
DIに転送され、そして前述したように動作部分のレジ
スタBから供給される。
レジスタDIに記録されたデータはチャンネル123を
通して記憶装置位置アドレスに書込まれる。
記憶装置から読出されたデータはチャンネル127に送
られそしてゲートの組126を通してレジスタDIに送
られ、そしてそこからチャンネル128を通して動作部
分の説明で既に述べたレジスタBに供給される。
ゲートの組134により制御されるレジスタ5の出力に
ある付加的チャンネル129は記憶装置をアドレスする
ために設けられている。
このチャンネルを通してマイクロ命令アドレスをレジス
タSIに入れることができ、そしてこのマイクロ命令ア
ドレスはRO8(記憶装置2)位置の代りに主記憶装置
の位置をアドレスするのを可能ならしめる。
レジスタDIの出力はチャンネル128を通してレジス
タBに接続されると共にチャンネル29およびゲートの
組28を通してレジスタ27に接続され、その結果レジ
スタDIの内容は制御装置によりマイクロ命令として用
いられる。
計算機のオペレーション この好ましい実施例をより充分に理解するために記憶装
置20を用いるマイクロプログラム化された制御装置に
よる機械命令取出しの例を以下に説明する。
命令取出しを開始するため、マイクロプログラムの第1
のマイクロ命令の定めたアドレスがチャンネル8を通し
てレジスタ5に入れられる。
このマイクロプログラムは実行されるべき特定のプログ
ラムに属するデータを計算機のワーキングレジスタ50
および51に入れる。
このプログラムは必要な計算を完了するので実行されね
ばならない多数の機械命令を含む。
−たびこのプログラムに属するデータ(例えば、実行モ
ードすなわち本来のモード(najive mode)
または競争モード(emvlation mode)な
らびにプログラムの最初の命令のアドレス)が入れられ
てしまうと、プログラムの最初の機械命令の取出しが始
まる。
制御装置はレジスタ5に命令取出しマイクロプログラム
の最初のマイクロ命令のアドレスを入れる。
機械命令の最初の文字、例えばオペレーションコードが
主記憶装置が読出され、適当なワーキングレジスタBに
入れられ、レジスタBに転送され、そしてゲートの組4
1を通してレジスタ35に転送される。
ゲート36が動作可能化されるや否やこのオペレーショ
ンコードに対応する第1のディジタル単語が記憶装置か
ら読出され、そしてゲートの組3γおよび38を通して
転送されたとき、機械命令の残りのものを取出すため記
憶装置2に記憶されたマイクロプログラムと協力するの
に利用できる。
更に詳細には、記憶装置20からの単語は解読回路網4
Aに送られてマイクロ指令を発生するためのパラメータ
として用いられ、このマイクロ指令はこのような単語の
内容および記憶装置2に記憶されたマイクロ命令の両方
により定まる。
この構成の1つの利点は型式に無関係に計算機の内部デ
コーに含まれたマイクロ命令の全てを翻訳するのにただ
1つの命令取出しマイクロプログラムが用いられ得るこ
とである。
云い換えれば、機械命令が異なるバイト長および異なる
翻訳を必要とする異なるフィールドを有しようとも、命
令の全てを取出しそしてそれらを実行される条件におく
のにただ1つのマイクロプログラムが用いられる。
このディジタル単語から解読された情報が得られるやい
なや、記憶装置2に記憶されたマイクロプログラムは加
うるにいくつかの制御を実行する。
まず、機械命令が実行され得ることを確保するために変
換用ディジタル単語のビット0が検査される。
変換用ディジタル単語が1にされたときはマイクロプロ
グラムは命令取出し段階を進める。
機械命令の種々のバイトが主記憶装置から読出されて適
当なレジスタに入れられる。
このオペレーションは機械命令の全てが取出されてしま
うまで変換用ディジタル単語に含まれた情報の制御の下
に続けられる。
この期間中に実行バイオレーション検査、書込みバイオ
レーション検査などの特定の検査をマイクロプログラム
により課することもできる。
機械命令の取出し期間中、マイクロプログラムの適当な
マイクロ命令がゲートの組43を動作可能化して変換用
ディジタル単語の8ビツトをレジスタ35に入れる。
これらのビットは第2のディジタル単語に対するアドレ
スとして作用し、この第2のディジタル単語はゲートの
組37および38を通して解読回路網44に送られるも
のである。
加うるに、第2のディジタル単語のビットの16がチャ
ンネル39およびゲートの組40を通してレジスタ5に
転送される。
これらのビットは記憶装置2に記憶されたマイクロプロ
グラムの第2の段階の最初のマイクロ命令のアドレスと
して作用し、この段階は好ましくは実行段階と一致させ
られる。
第2のディジタル単語の残りの4ビツトは解読回路網4
により用いられてマイクロプログラムにより発生された
マイクロ指令をパラメータ情報で補足する。
上記のことは主記憶装置から読出されたオペレーショ:
、1−t−ドが許可さhたオペレーションコードである
場合にあてはまる。
読出されたオペレーションコードカ「禁止されたオペレ
ーションコード」である場合、このオペレーションコー
ドを含む機械命令に対する適当な(呼込み及び実行)マ
イクロプログラムはマイクロプログラムメモリからは得
られないが、しかしく内部デコーの拡張化のため)主記
憶装置に書込まれて記憶されていることがある。
この場合、このようなオペレーションコードが主記憶装
置から読出されてレジスタ35に入れられたとき、これ
は「禁止されたディジタル単語」が含まれている補助記
憶装置20の一部をアドレスする。
結局記憶装置20からの読出しは導線46にレベル0の
信号を発生する。
不規則性の例示の信号であるこのような信号はレジスタ
5にマイクロプログラミングアドレス(これを便宜上マ
イクロプログラム#2と表わすことにする)を入れる。
このようなマイクロフログラムは、全ての例示信号のう
ちでその介在を生じさせた特定の例外信号を分析し識別
する仕事を有する。
例えば、この識別は下記のようにして遂行され得る。
すなわち、導線46の信号と図示されていない例外につ
いての他の同様の導線の信号とがバンク5001つのレ
ジスタ内のそれぞれ予め定めた2進位置に入れられる。
「マスク」と呼ぶことにする特定の2進内容を有する以
後のマイクロ命令がバンク51の適当な1つのレジスタ
に入れられる。
「禁止されたオペレーションコード」を出現させるため
用いられる「マスク」の2進内容は例えば「禁止された
オペレーションコード」をもつ信号に寄与した2進位置
を除き全てOのものにされ得る。
マスクの記入はチャンネル64を通して遂行される。
以後のマイクロ命令は例外信号および動作回路網52内
のマスク間で遂行された論理和を指令する。
「禁止されたオペレーションコード」に対スる例外が存
在しないときは(論理レベル1)、動作回路網52の出
力は全て論理レベル1にあり、解読回路網79は論理レ
ベル1の信号NZ2を供給し、これは図示されていない
条件に関するフリップフロップに記憶される。
「禁止されたオペレーションコード」に対スル例外が存
在するときは(論理レベル0)、動作回路網52は1つ
を除いて全て論理レベル1にあり、解読回路網79は論
理レベル0にある信号NZ2を供給し、これは既に述べ
た条件のフリップフロップに記憶される。
以後のマイクロ命令は条件付き飛越しを指令する。
すなわち、条件に関するフリップフロップがセットされ
たときは、マイクロ命令アドレスの1単位の増分付加(
ゲート11の動作可能化)がなされ、このフリップフロ
ップがリセットされたときは新しいアドレスがゲート1
0または2単位以上の増分付加(ゲート15および11
)を介して与えられる。
一つの場合マイクロプログラム情適当なマスクにより他
の例外信号の検査を進め、他の場合マイクロプログラム
は「禁止されたオペレーションコード」により例外の管
理に対する新しいマイクロプログラム(#3)を呼び込
む。
このマイクロプログラム(#3)は、先ず「禁止された
機械命令」の中に(関連マイクロプログラムが主記憶装
置に記憶されている)付加命令があるかどうかの情報が
記憶されている所定の(主記憶装置内)記憶位置の読出
しを指令し、マイクロプログラムルーチン(#4)の開
始する主記憶装置アドレスの読出しを指令する。
マイクロプログラムルーチン(#4)は、当該「禁止さ
れたオペレーションコード」カ関連マイクロプログラム
が主記憶装置に記憶されている付加的命令のオペレーシ
ョンコードであるかどうかを確認する。
当該「禁止されたオペレーションコード」カ付加的命令
コードと認められたとき、マイクロフログラムルーチン
(#4)はその付加的命令用の実行マイクロプログラム
を主記憶装置から呼び込む。
実質上マイクロプログラム(#3)は、主記憶装置内の
予め定められた記憶位置の内容を読出してこれをワーキ
ングレジスタ(バンク50または51)内に記憶する。
マイクロプログラム(#3)はさらに、適当な比較マス
クによってワーキングレジスタの内容の中の特定ビット
を検査し、そのビットの論理状態に従い条件付き飛越し
を行って割込みルーチンを開始させるかあるいは別のマ
イクロプログラムルーチン(#4)を参照する。
なおマイクロプログラムルーチン(#2)、(#3)、
(#4)はマイクロプログラムメモリ(RO3)2また
は主記憶装置122のいずれに収容してもよいが、処理
速度を速くするにはマイクロプログラムメモリ2に記憶
しておくのが好ましい。
付加的コードが存在しないことが検証されたときは、プ
ログラム命令は遂行され得す、そして前記プログラムを
中断して監視プログラムを呼戻すことにより不規則性が
指摘される。
逆に、付加的コードが存在することが検証されたとさは
、必要とする命令がこれらの付加的命令内に含まれてい
るか否かを検証しなげればならず、そして検査中に進め
られるマイクロプログラミングルーチンが呼戻される(
ルーチン#4)。
詳細には、主記憶装置内に存在するこのマイクロプログ
ラミングルーチンのアドレッシングのためにフリップフ
ロップ24(第2図)がセットされ、そして保存された
記憶装置位置内のルーチン#4の実効アドレスを見つげ
出すことにより記憶装置アドレッシングが間接形で遂行
される。
このマイクロプログラミングルーチンは、レジスタ35
に含まれかつバンク50またはノくンク51のいずれか
の1つのレジスタにも記憶されているオペレーションコ
ードヲ、付加的ナオペレーションコード(対応する命令
の遂行を達成するマイクロフログラムアドレスとそれぞ
れ関連づけられている)の表と比較する。
オペレーションコードが識別されたときは、記憶装置ル
ーチンから離れて有効な命令取出しおよび実行マイクロ
フログラムの遂行を開始する。
逆に、オペレーションコードが識別されないときは、付
加的オペレーションコードの表の全てが調査されてしま
った後に監視プログラムの介入が呼戻される。
上述した翻訳機構は組織的に用いられるのではなくて「
禁止されたオペレーションコード」が現われた場合にの
み用いられることに注意すべきである。
逆に、「許可されたオペレーションコード」の確認は即
座のものであり、従って相対的機械命令が非常に短い動
作時間に遂行される。
更に注意すべきことは、加算オペレーションコードの場
合例外の原因および付加的オペレーションコードの存在
に対する一般的検査は記憶装置2内に存在するマイクロ
プログラムにより遂行され、従ってこれらのマイクロプ
ログラムは非常に迅く実行可能なことである。
また、付加的オペレーションコードの確認はワーキング
記憶装置に存在する前記マイクロプログラムを介してマ
イクロプログラムにより遂行され、従って動作時間は比
較的に短い。
同様に付加的命令の実行はマイクロプログラムによりな
され、結果として、前記マイクロプログラムが主記憶装
置内に存在しようとも動作時間は比較的に短い。
これは内部デコーの拡張に対する既知の装置と比較した
場合相当の利点を与え、そこでは内部デコーに含まれて
いない機械命令をこのような禁止された機械命令を複数
の他の許可された機械命令に変換するプログラム(従っ
て機械命令のレベルにある)により遂行することができ
る。
最後に注目すべきことは付加的機械命令の取出し、従っ
て内部デコーの拡張が計算機の何らの構造上の変更も必
要としないことである。
事実オペレーションコードの付加は補助的記憶装置20
に何らの変更も必要とせず、また主記憶装置内のマイク
ロプログラムの付加はマイクロプログラミング記憶装置
の変更を必要としない。
付加的マイクロプログラムの間接アドレッシングは記憶
装置2の堅く固定した内容から主記憶装置内にあるマイ
クロ70グラムの位置を切離す。
記憶装置2と主記憶装置との間に存在するただ1つの制
限は記憶装置2内に存在するマイクロプログラムにより
指示される保存された記憶装置位置が変更され得るそし
て前もって予知される特定のファンクションのために保
存されねばならないことである。
【図面の簡単な説明】
第1図は本発明による計算機のタイミング装置の概略ブ
ロックダイヤグラム、第2図は本発明による計算機の制
御装置の概略ブロックダイヤグラム、第3図は本発明に
よる計算機の動作部分の概略ブロックダイヤグラム、第
4図は本発明による計算機の主記憶装置の概略ブロック
ダイヤグラムで、図中、2は読出専用記憶装置(RO8
)、3は読出専用レジスタ(ROR)、4は解読器、4
Aは論理回路網、5はROSアドレスレジスタ(RO8
AR)、6は補助レジスタ、7は計数装置、9はアンド
ゲート、20はクロック回路、21はクロック回路網、
24はフリップフロップ、25はハードウェア順序回路
、27は補助レジスタ、20は記憶装置、35はアドレ
スレジスタ、45はオアゲート、50および51はレジ
スタバンク、52は動作回路網、Aはレジスタ、79は
解読器、122は主記憶装置、SIはアドレッシングレ
ジスタ、DIはデータレジスタを示す。

Claims (1)

  1. 【特許請求の範囲】 1 許可された機械命令を実行するためのマイクロプロ
    グラムを含む複数のマイクロプログラムを収容するマイ
    クロプログラムメモリを備えたマイクロプログラム型制
    御装置と、主記憶装置と、前記主記憶装置内に存在する
    付加的機械命令実行用のマイクロプログラムおよび付加
    的機械命令実行用ではないマイクロプログラムの中から
    マイクロプログラムを呼び出して実行するための第1の
    装置と、機械命令のオペレーションコードを確認し前記
    オペレーションコードが許可されたオペレーションコー
    ドであるか禁止されたオペレーションコードであるかの
    分類を行うための第2の装置とが設けられ、 前記制御装置は、禁止されたオペレーションコードの確
    認と前記禁止されたオペレーションコードを検査するマ
    イクロプログラムの実行と前記禁止すれたオペレーショ
    ンコードが前記付加的機械命令のオペレーションコード
    の中の1つであることの確認とに応答し、前記オペレー
    ションコードに関連する付加的機械命令用の実行マイク
    ロプログラムを呼び出すよう前記第1の装置に作用する
    ことを特徴とする、実行可能な機械命令の組が拡張可能
    なマイクロプログラム型計算機。
JP49116796A 1973-10-10 1974-10-09 マイクロプログラムケイサンキ Expired JPS5830608B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT29930/73A IT995722B (it) 1973-10-10 1973-10-10 Calcolatore microprogrammato a interior decore espansibile mediante riconoscimento e interpre tazione di codici di operazione aggiunti

Publications (2)

Publication Number Publication Date
JPS5079232A JPS5079232A (ja) 1975-06-27
JPS5830608B2 true JPS5830608B2 (ja) 1983-06-30

Family

ID=11228685

Family Applications (1)

Application Number Title Priority Date Filing Date
JP49116796A Expired JPS5830608B2 (ja) 1973-10-10 1974-10-09 マイクロプログラムケイサンキ

Country Status (5)

Country Link
US (1) US3949372A (ja)
JP (1) JPS5830608B2 (ja)
FR (1) FR2247766B1 (ja)
IL (1) IL45792A (ja)
IT (1) IT995722B (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59217502A (ja) * 1983-05-23 1984-12-07 Okamura Seisakusho:Kk 自動倉庫及びその使用方法
JPS6229321B2 (ja) * 1983-05-13 1987-06-25 Daifuku Kk
JPS636085Y2 (ja) * 1983-10-05 1988-02-20
JPS6312089Y2 (ja) * 1983-12-29 1988-04-07
JPS6367506U (ja) * 1987-09-18 1988-05-07
JPH0210041B2 (ja) * 1983-10-27 1990-03-06 Daifuku Kk
JPH0474513B2 (ja) * 1983-10-31 1992-11-26

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1016854B (it) * 1974-08-21 1977-06-20 Olivetti & Co Spa Calcolatore elettronico di elabora zione dati
US4001788A (en) * 1975-03-26 1977-01-04 Honeywell Information Systems, Inc. Pathfinder microprogram control system
US4010450A (en) * 1975-03-26 1977-03-01 Honeywell Information Systems, Inc. Fail soft memory
US4167778A (en) * 1975-11-28 1979-09-11 Sperry Rand Corporation Invalid instruction code detector
US4093985A (en) * 1976-11-05 1978-06-06 North Electric Company Memory sparing arrangement
JPS5618772Y2 (ja) * 1978-07-14 1981-05-01
JPS5619150A (en) * 1979-07-25 1981-02-23 Fujitsu Ltd Microprogram control system
IT1134780B (it) * 1980-12-18 1986-08-13 Honeywell Inf Systems Unita' di controllo microprogrammata con rete di salti multipli
DE3138971A1 (de) * 1981-09-30 1983-04-21 Siemens AG, 1000 Berlin und 8000 München Mikroprogrammiertr prozessor und verfahren zu seinembetrieb
IT1151683B (it) * 1982-07-06 1986-12-24 Honeywell Inf Systems Sistema multiprocessore a bus asincrono con caricamento di microistruzioni da memoria di lavoro
GB8308149D0 (en) * 1983-03-24 1983-05-05 Int Computers Ltd Computer system
US4825363A (en) * 1984-12-05 1989-04-25 Honeywell Inc. Apparatus for modifying microinstructions of a microprogrammed processor
JPS62226231A (ja) * 1986-03-27 1987-10-05 Toshiba Corp プロセツサ
US4878174A (en) * 1987-11-03 1989-10-31 Lsi Logic Corporation Flexible ASIC microcomputer permitting the modular modification of dedicated functions and macroinstructions
US5333287A (en) * 1988-12-21 1994-07-26 International Business Machines Corporation System for executing microinstruction routines by using hardware to calculate initialization parameters required therefore based upon processor status and control parameters
US7149878B1 (en) 2000-10-30 2006-12-12 Mips Technologies, Inc. Changing instruction set architecture mode by comparison of current instruction execution address with boundary address register values
US7107439B2 (en) * 2001-08-10 2006-09-12 Mips Technologies, Inc. System and method of controlling software decompression through exceptions
US7707389B2 (en) * 2003-10-31 2010-04-27 Mips Technologies, Inc. Multi-ISA instruction fetch unit for a processor, and applications thereof

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3646522A (en) * 1969-08-15 1972-02-29 Interdata Inc General purpose optimized microprogrammed miniprocessor
BE757967A (fr) * 1969-10-25 1971-04-23 Philips Nv Memoire pour microprogramme
US3634883A (en) * 1969-11-12 1972-01-11 Honeywell Inc Microinstruction address modification and branch system
US3700873A (en) * 1970-04-06 1972-10-24 Ibm Structured computer notation and system architecture utilizing same
US3673575A (en) * 1970-06-29 1972-06-27 Ibm Microprogrammed common control unit with double format control words
US3713108A (en) * 1971-03-25 1973-01-23 Ibm Branch control for a digital machine
US3728690A (en) * 1971-08-26 1973-04-17 Honeywell Inf Systems Branch facility diagnostics

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6229321B2 (ja) * 1983-05-13 1987-06-25 Daifuku Kk
JPS59217502A (ja) * 1983-05-23 1984-12-07 Okamura Seisakusho:Kk 自動倉庫及びその使用方法
JPS636085Y2 (ja) * 1983-10-05 1988-02-20
JPH0210041B2 (ja) * 1983-10-27 1990-03-06 Daifuku Kk
JPH0474513B2 (ja) * 1983-10-31 1992-11-26
JPS6312089Y2 (ja) * 1983-12-29 1988-04-07
JPS6367506U (ja) * 1987-09-18 1988-05-07

Also Published As

Publication number Publication date
AU7404774A (en) 1976-04-15
FR2247766B1 (ja) 1977-11-10
FR2247766A1 (ja) 1975-05-09
US3949372A (en) 1976-04-06
IT995722B (it) 1975-11-20
JPS5079232A (ja) 1975-06-27
IL45792A (en) 1977-04-29
IL45792A0 (en) 1974-12-31

Similar Documents

Publication Publication Date Title
JPS5830608B2 (ja) マイクロプログラムケイサンキ
US3991404A (en) Apparatus for carrying out macroinstructions in a microprogrammed computer
US4631663A (en) Macroinstruction execution in a microprogram-controlled processor
US3739352A (en) Variable word width processor control
US3753236A (en) Microprogrammable peripheral controller
US3953833A (en) Microprogrammable computer having a dual function secondary storage element
US3800291A (en) Data processing system memory relocation apparatus and method
JPS6114535B2 (ja)
US3900835A (en) Branching circuit for microprogram controlled central processor unit
JPS604491B2 (ja) デ−タ処理システム
US3956738A (en) Control unit for a microprogrammed computer with overlapping of the executive and interpretative phase of two subsequent microinstructions
US4346437A (en) Microcomputer using a double opcode instruction
JPH0241053B2 (ja)
US4251862A (en) Control store organization in a microprogrammed data processing system
EP0010196B1 (en) Control circuit and process for digital storage devices
US3969702A (en) Electronic computer with independent functional networks for simultaneously carrying out different operations on the same data
US4635188A (en) Means for fast instruction decoding for a computer
EP0110227A2 (en) Control memory organization
US4797817A (en) Single cycle store operations in a virtual memory
KR930009754B1 (ko) 마이크로컴퓨터
US3673575A (en) Microprogrammed common control unit with double format control words
US4346435A (en) Pipelined interpretive digital data processor comprised of a multi-level hierarchy of processors
JPH027097B2 (ja)
JPS6042966B2 (ja) デ−タ処理システム
US4677545A (en) Microprocessor having macro-rom and main program queues