JPS5917462B2 - デイジタル計算機におけるマイクロプログラム制御装置 - Google Patents

デイジタル計算機におけるマイクロプログラム制御装置

Info

Publication number
JPS5917462B2
JPS5917462B2 JP49116795A JP11679574A JPS5917462B2 JP S5917462 B2 JPS5917462 B2 JP S5917462B2 JP 49116795 A JP49116795 A JP 49116795A JP 11679574 A JP11679574 A JP 11679574A JP S5917462 B2 JPS5917462 B2 JP S5917462B2
Authority
JP
Japan
Prior art keywords
memory
microprogram
register
address
digital
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
JP49116795A
Other languages
English (en)
Other versions
JPS5079231A (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 JPS5079231A publication Critical patent/JPS5079231A/ja
Publication of JPS5917462B2 publication Critical patent/JPS5917462B2/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/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

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

【発明の詳細な説明】 本発明はデイジタル電子計算機の動作システムに関し、
詳細にはプログラムにより決定されるマクロインストラ
クシヨンを実行するためにマイクロプログラミングを使
用するそのような動作システムに関する。
制御用の論理マトリクスを有する計算機および制御用に
マイクロプログラミングを有する計算機がこれまでに提
案されている。
(1)制御のために論理マトリクスを使用する計算機で
はマクロインストラクシヨンのオペレーテイングコード
がそれにより条件づけられる以降のステータスを通じて
展開する論理マトリクスへの入力を与える。
この論理マトリクスの出力はオペレーテイングコード以
外のマクロインストラクシヨンを実行するに必要なマク
ロインストラクシヨンの部分をとり出すに必要なコマン
ドを与える。マクロインストラクシヨンに含まれる情報
はこの論理マトリクスがマクロインストラクシヨンをと
り出し実行する様式を条件づける。論理マトリクスの構
成は固定されている。すなわち、計算機のユーザがオペ
レーテイングコードを変えたいとき、あるいは異つた付
加的マクロインストラクシヨンを与えたいときには論理
マトリクス全体を変更しなければならない。一般にこの
変更に必要な費用と時間は問題である。これは通常論理
マトリクスは計算機内に配置されるモジユラユニツト形
には構成されずむしろ計算機の内容に従つて任意的に配
置された複数の論理回路で形成されるという事実のため
に上記の問題はさらに重大な欠点となる。(2)マィク
ロプログラムド計芹機では、マクロインストラクシヨン
のオペレーテイングコードは一組のマイクロインストラ
クシヨンからなるマイクロプログラムを含む読取専用の
メモリ(またはプログラム可能な読取専用メモリ)への
アドレスを与える。
それ故、各マクロインストラクシヨンをとり出して実行
するために別のマイクロプログラムが用いられる。この
システムは各マクロインストラクシヨンと共に用いられ
るマイクロプログラムが読取専用メモリを交換すること
により変えられるために(1)の構成よりも融通性があ
る。しかしながら経験によれば、従来のマイクロプログ
ラミング回路はその総合的な有用性を制限するような多
くの制限を有することがわかつた。例えば、各マクロイ
ンストラクシヨンのオペレーテイングコードは一般に、
読取専角メモリにアドレスを与えると共に特定の制御機
能を行うハードワイヤドデコーダ回路によりデコードさ
れる。
このデコーダ回路は一般に計算機全体に使用される論理
回路の形(ハードウエア)をとる。読取専用メモリを置
きかえることにより特定のオペレーテイングコードに関
係するマイクロプログラムを変更することは可能である
が、このオペレーテイングコード用のデコーダ回路を簡
単且つ便利に変更することは不可能である。ある種のマ
イクロプログラムド計算機では新しいマクロインストラ
クシヨンと新しいそれに対応するマイクロプログラムを
加えることにより性能を向上させることは可能であるか
もしれない。しかしながら、この新しいマクロインスト
ラクシヨンのオペレーテイングコードはデコーダ回路に
高価で時間のかかる変更を行わないかぎりデコードされ
得ない。さらに、マイクロプログラミングメモリは夫々
特定のマクロインストラクシヨンをとり出して実行する
に必要な一組の別々のマイクロプログラムを記憶するた
めに大容量のものとしなければならない。本発明はマイ
クロプログラムド計算機に有効である。
すなわち一つのマイクロプログラムで一組のマクロイン
ストラクシヨンを行うに適している。本発明によれば各
マクロインストラクシヨンに関連してマイクロプログラ
ムによりそれを行うに必要な情報を含むデイジタルワー
ドを記憶するためのメモリが設けられる。このデイジタ
ルワードに含まれる情報は一つのマイクロプログラムが
1以上のマクロインストラクシヨンの少くとも一部を行
うことの出来るようにマイクロプログラムに含まれる情
報を補う。従来技術の前述の欠点をさらに克服するため
に、本発明はまた夫々オペレーテイングコードまたはフ
アンクシヨンコードをもつ一組のマクロインストラタシ
ヨンを行うようになつたデイジタルコンピユータのオペ
レーテイングシステムを制御するための改善された装置
を提供する。
これらマクロインストラクシヨンはフエツチフエーズ(
取り出し相)と実行相とをもつ一つのマイクロプログラ
ムにより行われる。本発明のこの特徴によれば、そのよ
うなコンピユータは各マクロインストラクシヨンに関連
してマイクロプログラムのフエツチ相において必要なマ
クロインストラクシヨンはついての情報を含むフエツチ
デイジタルワードを記憶するための読取専用メモリのよ
うな第一メモリを備える。
例えばこのフエツチデイジタルワードはマクロインスト
ラクシヨンがコンピユータの特定の動作モードにおいて
解釈され実行されうるかどうかを指示する。またこれは
マクロインストラクシヨンの長さとそれを実行するため
にその種々のフイールドの必要な条件とを指示する。本
発明の一つの有利な特徴によればこのフエツチデイジタ
ルワードはまた第一メモリに記載された実行デイジタル
ワードのアドレスを含む。この実行デイジタルワードは
実行相において要求されるマクロインストラクシヨンに
ついての情報を含む。
そのような情報は一群の密接に関係したオペレーシヨン
のどれがそのマクロインストラクシヨンの実行のため行
われねばならぬかを確認出来る。例えば、マクロインス
トラクシヨンが2進減算を要求するとすれば、この実行
デイジタルワードはマイクロプログラムが2進および1
0進の減算の両方を行うため与えられる間に2進または
10進減のどちらが要求されるかを指示する。さらに、
この実行デイジタルワードはマイクロプログラムの実行
相において第一マクロインストラクシヨンのアドレスを
与える。本発明のこの特徴によれば、フエツチ相におい
て使用されるフエツチマイクロインストラクシヨンおよ
び実行相において使用される実行マイクロインストラク
シヨンの形でマイクロプログラムを記憶するための第二
メモリが設けられる。
デコーダ装置がこれらデイジタルワードとマイクロイン
ストラクシヨンを受ける。制御装置がオペレーテイング
コードのような実行されるべきマクロインストラクシヨ
ンの少くとも一部を記憶する。第一時間ペリオドにおい
てこのオペレーテイングコードに応じ実行されるべきマ
クロインストラクシヨンに対応するフエツチデイジタル
ワードが第一メモリからデコーダ装置に移される。この
ペリオドにおいてフエツチマイクロインストラクシヨン
は第二メモリからデコーダ装置に移されてマクロインス
トラクシヨンがメモリからとり出され適当なレジスタに
記憶される。第二時間ペリオドにおいて、実行されるべ
きマクロインストラクシヨンに対応する実行デイジタル
ワードが第一メモリからデコーダ装置に移される。
このペリオドにおいて、実行マイクロインストラクシヨ
ンがマクロインストラクシヨンの実行のため第二メモリ
からデコーダ装置に移される。上述の装置は多くの重要
な利点を与える。各マクロインストラクシヨンについて
の情報を含むデイジタルワードを記憶するメモリを与え
ることにより、コンピユータを動作させるに必要なマイ
クロプログラムの数は大幅に減少する。フエツチデイジ
タルワードを適当にフオーマツト化することにより、コ
ンピユータにより使用されるマクロインストラクシヨン
のすべてについて一つのフエツチマイクロプログラムを
用いることが可能である。さらに、所要の実行相マイク
ロプログラムの数も大幅に減少出来る。例えば、コンピ
ユータが10進加算と2進加算の演算を行うためのマク
ロインストラクシヨンを含むとすれば、10進減算と2
進減算の夫々の演算が第一メモリに記憶された実行デイ
ジタルワードの適当なフオーマツト化と共に一つの実行
相マイクロプログラムで処理出来る。さらに、フエツチ
および実行デイジタルワードの使用によりマイクロプロ
グラムのフエツチおよび実行相の別々のアドレスづけが
便利になる。マクロインストラクシヨンのフエツチおよ
び実行デイジタルワードを含むためのそのような補助メ
モリのモジユラの例はさらにオペレーテイングコードの
、従つてコンピユータによりとり出され実行されるマク
ロインストラクシヨンの容易な増加または変更が可能で
ある。第1図において、本発明により構成されたコンピ
ユータオペレーテイングシステムの一つの好適な形は基
本的に制御ユニツト1とタイミングユニツト1Aからな
る。
本発明はオペレーテイングシステムまたは制御システム
に関するから、このコンピユータの他の部分は省略して
ある。しかしながら、この制御がコンピユータの他の部
分と協働するし方は当業者には明らかである。タイミン
グユニツト1Aはタイミング回路TCとタイミング回路
TNからなる。
タイミング回路TCはワンシヨツトマルチパイプレータ
のようなパルス発生器からパルスを受ける複数の中間タ
ツプを有する遅延線として設計出来る。
この遅延線はそれが周期的に一連のタイミングパルスを
発生するように外部からのスタート信号または遅延線そ
れ自体からのフイードバツク信号により制御される。ま
た発振器が基本周波数を発生するために使用され、この
周波数が必要なタイミングパルスを得るために双安定マ
ルチバイブレータにより分割される。
タイミング回路TCの動作は各タイミングサイクルの終
りのストツプコマンドにより停止される。ケーブルT,
,T2、・・・Tn上の選ばれたタイミングパルスはコ
ンピユータ内の数個の回路に直接に送られ、そこでこれ
らはANDゲートのような論理ゲートの開放を周期的に
制御する。
他のタイミングパルスがケーブルTCl,TC2、・・
・TCNを介してタイミング回路TNに加えられる。タ
イミングユニツトTNは制御ユニツト1からケーブルD
l,D,、・・・DNを介して複数のマイクロコマンド
を受ける。
このタイミングユニツトはANDゲートのような複数の
論理ゲートからなり、そして必要あればフリツプフロツ
プあるいはNORまたはNANDのような他のゲートか
らなつてもよい。これらゲートは適当な幅と互いに位相
関係をもつタイミングをとられたマイクロコマンドをつ
くりためにケーブルTCl−TCNから入るタイミング
パルスによりケーブルD,−DNを介して受信されるマ
イクロコマンドのタイミングをとる。タイミングをとら
れたマイクロコマンドはケーブルCTl・・・CTNを
介して制御ユニツ口を含むコンピユータの数個の部分に
分配される。
これらマイクロコマンドがコンピユータに分配されるし
方はコンピユータの特定の設計によりきまりそして当業
者には明らかである。第1図において、丸印はANDゲ
ートまたはANDゲート群を、そしてこの丸印に接続す
る矢印は、ケーブルT,・・・TNの一つを介してタイ
ミング信号をあるいはケーブルCTl・・・CTNの一
つを介して適当にタイミングをとられたマイクロコマン
ドを受ける入力導体を示す。
これらマイクロコマンドがコンピユータ内のこれら論理
ゲートを適正に動作させるためつくられねばならぬこと
は制御ユニツトの動定についての以降の説明から明らか
となるであろう。制御ユニツト1は読取専用メモリ(R
OS)2からなる。
点線C1で示す残りのコンポーネントはROS2を制御
する回路である。この回路はデコーダ回路4に情報を与
える出力レジスタ(ROR)3を示す。ROS2へのア
クセスはアドレスレジスタ(ROSAR)5、補助アド
レスレジスタ(ROSARl)6およびインクレメンタ
回路7を介して与えられる。ROS2は長さ20ビツト
であるとよいマイクロワードまたはマイクロインストラ
クシヨンを含む。
これらマイクロインストラクシヨンは、コンピユータを
制御しプログラムまたはマクロインストラクシヨンのシ
ーケンスにより動作するマイクロプログラムとして組織
化される。ANDゲート群9−16は制御ユニツトに関
連した通信チヤンネルの上の信号のトランスフアを制御
する。各ゲート群はケーブルT1・ ・Tnの一つを
介して入るタイミング信号またはケーブルCT,・CT
Nの一つを介して入る特定のマイクロコマンドにより制
御される。例えばゲート群12,13,16はタイミン
グ信号で制御されゲート群9,10,11,14,15
はタイミングをとられたマイクロコマンドで制御される
各ゲート群はその入力に一本の線で表わされて以降の説
明でチヤンネルと呼ぶ一組の線上の複数の適当な信号を
受け、そして開かれるとその出力にそれらを出す。2進
形式で予め選ばれたROSのアドレスを表わす信号群が
論理ゲートによつては条件づけられないチヤンネル8に
入れられる。
ROSのアドレスは適当なコンピユータのコンソールの
キー(図示せず)の設定により行われる開始により、ま
たはタイミング回路TCを作動させるスタートボタンを
押すことにより得られる。チヤンネル8上のアドレスは
ROSARレジスタ5に入れられ、そしてゲート群12
がタイミングパルスにより開くと直ちにROS2がアド
レスづけされてマイクロインストラクシヨンが読取られ
る。このマイクロインストラクシヨンはゲート群16を
通り移されてRORレジスタ3な入る。
レジスタ3の出力に出るこのマイクロインストラクシヨ
ンはデコーダ回路4でデコードされる。デコードされた
信号はタイミングをとられたマイクロコマンドに変換の
ためタイミングユニツトTNに移される。レジスタ5に
含まれるROSアドレスはいくつかの方法で更新される
このアドレスがゲート群13、レジスタ6およびゲート
群14を通じて移されるならば、インクレメンタ7で1
だけ増加される。この増加したアドレスはチヤンネル1
7とゲート群11を通つてレジスタ5に再び入る。また
、このアドレスはレジスタ3に記憶されたマイクロイン
ストラクシヨンから得られそしてチヤンネル18とゲー
ト群15を通じインクレメンタ7に加えられる適当な因
子Kだけ増加することが出来る。さらに、一つの新しい
アドレスがレジスタ3内に記憶されたマイクロインスト
ラクシヨンにより得られる。
この結果はレジスタ3内に記憶されたある数のビツトを
チヤンネル18とゲート群10を介してレジスタ5に移
すことにより得られる。ROS2はまたゲート群9によ
り制御されるチヤンネル19を通じてアドレスづけされ
うる。入力チヤンネル19によりレジスタ5にはAレジ
スタ(図示せず)のようなコンピユータのオペレーテイ
ングシステム内のワーキングレジスタの一つの内容が入
りうるようになる。このコンピユータはAレジスタの内
容がオペレーテイングシステムの他のレジスタまたは主
メモリからおよび周辺または外部ユニツトから入るよう
に設計出来るから、ROS2はコンピユータのフレーム
内の任意のデータ源またはコンピユータに接続される任
意のデータ源を用いることによりアドレスづけ出来る。
この制御ユニツトの並列性を次に説明する。ROSアド
レスのビツトの長さはアドレスづけしなければならない
メモリ信号の数に関係しそしてROS2から出るマイク
ロワードの長さには無関係である。例えば、これらアド
レスは約64.000のメモリ位置のアドレスづけが可
能な16ビツトの長さをもつことが出来る。それ故、レ
ジスタ5内のROSアドレスを入れるに用いられるチヤ
ンネルは16本の線をもちレジスタ5と6は16個のメ
モリセルを有する。
しかしながら、レジスタ3内のセルの数はROS2から
読取られるマイクロワードのビツト数に等しく、例えば
20ビツトである。ROSアドレスがレジスタ3に記憶
されたマイクロワードから得られると、20ビツト中の
16ビツトのみがアドレスとして使用されてチヤンネル
18を介しレジスタ5に移される。
本発明の好適な実施例によればROS2に小さいトラン
スコードメモリ20が関連づけられる、好適にはメモリ
20はROS2.と同じ並列性をもち、これは同じ回路
技術によりつくられる。
それ故両メモリに記憶されるマイクロワードの長さは2
0ビツトである。メモリ20は夫々長さ20ビツトのト
ランスコードデイジタルワードをもつ例えば256のメ
モリ位置をもつ。点線C2で示すものはメモリ20を制
御するための制御回路である。
メモリ20内のトランスコードヂイジタルワードは8ビ
ツトアドレスレジスタ25によりアドレスづけされる。
レジスタ25に記憶された信号からのメモリ20のアド
レスづけはタイミングをとられたマイクロコマンドで作
動されるゲート群21を通じて制御される。これらトラ
ンスコードデイジタルワードは適当な制御を行うためあ
るいはROS2に記憶されたマイクロインストラクシヨ
ンを変更するためにフエツチおよび実行マイクロプログ
ラムにより夫々行われるマクロインストラクシヨンのフ
エツチ相と実行相において用いられる。このためこれら
トランスコードデイジタルワードはゲート群22と23
を通じてデコーダ回路4に加えられる。ゲート群22と
23は一般的にトランスコードデイジタルワードが全部
または部分的に次の時点で複数のタイミングをとられた
マイクロコマンドの制御のもとで加えられることを示す
ためのものである。少くともトランスコードデイジタル
ワードの一部がチヤンネル26とゲート群27を通じR
OS2のアドレスづけのためROSARレジスタ5に入
れられる。
レジスタ25にはゲート群28を通じてコンピユータオ
ペレーテイングシステムのレジスタB(図示せず)から
移される情報が入りそこでマクロインストラクシヨンの
オペレーテイングコードが保持される。
また本発明の他の特徴によれば、レジスタ25にはチヤ
ンネル24とゲート群29を通じてトランスコードデイ
ジタルワードからの情報が入る。事実、殆んどの場合、
マイクロインストラクシヨンに関連したフエツチおよび
実行マイクロプログラムを行うに必要なすべての情報は
メモリ20の改善された利用を達成するために領えば2
0ビツトより長い一つのデイジタルトランスコードワー
ドに含まれることが出来、そしてそのようなメモリの並
列性を減少するためにそのような情報を二つのデイジタ
ルワードに分配するとよい。
メモリ20の出力における第一および第二デイジタルワ
ードに与えられるすべての情報を記憶するレジスタの配
置を避けるために第二ワードに含まれる情報は例えば実
行相のようなマイクロプログラムの第二相に関係づけら
れそしてそのような第二相の始めにメモリ20から読取
られる。制御ユニツト1の動作は次の通りである。
基本的にはこの制御ユニツトはそのコンピユータ用のプ
ログラムに示されたマクロインストラクシヨンを行う一
群のマイクロインストラクシヨンを行う。
一つのマクロインストラクシヨンを行うために、そのオ
ペレーテイングコードがROS2に記憶されたマイクロ
プログラムルーチンによりゲート群28を通じてレジス
タ25に入れられる。
レジスタ25内のオペレーテイングコードはメモリ20
内の20ビツトフエツチトランスコードデイジタルワー
ドのアドレスとして用いられる。このフエツチデイジタ
ルワードのはじめの12ビツトはゲート群22と23を
通じてデコーダ4に加えられる。残りの8ビツトは例え
ばフエツチ相であるこのマイクロプログラムの第一相ペ
リオドにおいてチヤンネル24上に維持される。これら
8ビツトは第二相において使用されるべきメモリ20内
の他のデイジタルワードを選択するためのアドレスとし
て用いられる。メモリ20から読まれた第一のトランス
コードデイジタルワードはデコーダ4を条件づけること
によりROS2の読みであるフエツチマイクロインスト
ラクシヨンの情報内容を補う。ROS2内のマイクロプ
ログラムのフエツチ相においておよびマイクロプログラ
ム自体のコマンドにより、ゲート群29に開きレジスタ
25が実行されているマクロインストラクシヨンに関連
したメモリ20内の他のワードのアドレスを記憶する。
ゲート群21が開くと直ちにこの第二ワードはメモリ2
0から読取られて制御ユニツトによりデコーダ4に条件
づけあるいはチヤンネル26とゲート群27を通じて−
ROS2を適当にアドレスづけするために用いられる。
各オペレーテイングコード用のメモリ20内の第一デイ
ジタルワードの好適なフオーマツト化は次の通りである
ビツトO〜3 フォーマッチインク 各ビツトはマクロインストラクシヨンが、コンピユータ
の特定の動作モードにおいてほん訳され実行されるべき
かどうかを確認する。
例えばはじめのモードではすべてのマクロインストラク
シヨンが実行される。プリビレジ(Priuilege
d)モードまたはスーパバイザ(SuperuisOr
)モードでは或るインストラクシヨンは実行されない。
ブランチインストラクシヨン中には一つのビツトはその
ブランチが絶対であるかまたは相対であるかを特定しな
ければならない。ビツト4〜5 インストラクシヨンの
長さこれらビツトはキヤラクタ内のマクロインストラク
シヨンの長さを限定し、それによりマイクロプログラム
がいくつのキヤラクタが主メモリから読取られるべきか
そしてどのワーキングレジスタにそれらキヤラクタが記
憶されるべきかを知る。
ビツト6〜8 フイールドの確認マクロインストラクシ
ヨンはしばしばオペレーテイングコードだけでなく他の
、例えばフアンクシヨンコードの補助のような他のフイ
ールドによつても限定されるから、十群のコンピユータ
中の一つのコンピユータがあるフイールドが確認された
内容をもつならばあるオペレーテイングコードをもつあ
るインストラクシヨンを実行する。
異つたフイールド内容をもつマクロインストラクシヨン
はそのコンピユータ群の内の大きなコンピユータによつ
てのみ実行されうるかあるいは不適当と考えられる。こ
れらビツトはビツトO〜4により与えられる情報を補う
。ビツト9 セグメントバイオレーシヨン(UiOra
−TiOn)(実行バイオレーシヨン)ビツト9が1に
セツトされるならマクロインストラクシヨンはジアップ
を与え、コンピユータはジアップアドレスが適当なメモ
リセグメント内にまだあることを確めねばならない。
メモリセグメンテーシヨンの概念は周知のインストラク
シヨンでありデータは共通の特性に従つて群化されたメ
モリ内に記憶される。典型的には2セグメント組織であ
り一つは読取られ実行(例えばインストラクシヨン)さ
れねばならぬか消されない情報についてであり、もう一
つは読取られるか消去されそして再び書込まれねばなら
ぬがほん訳はされない(例えばデータ)情報についてで
ある。他のデータ、例えばトランスコードテーブルは読
取られるだけでほん訳消去はされない。ビツト10セグ
メントバイオレーシヨン(書込バイオレーシヨン):こ
のビツトが1にセツトされるとマクロインストラクシヨ
ンは主メモリ内の書込動作を要求し、そしてコンピユー
タはメモリアドレスが書込みを許された適正なセグメン
トに指定することを確めねばならない。
ビツトビツト11アドレスシラブルをもつインストラク
シヨンこのビツトが1とされるとインストラクシヨンの
フイールドはオペランドアドレスではなく真のアドレス
および他の情報を含むメモリゾーンのアドレスである。
ビツト12〜19メモリ20内の第二デイジタルワード
のアドレス各オペレーテイングコード用のメモリ20内
の第二デイジタルワードの好適なフオーマツト化は次の
通りである。
ビツト0〜3 フォーマッチインクピットこれらビツト
はマクロインストラクシヨンが例ぇば減算(2進または
10進)および加算(2進または10進)のような関連
した演算群内の特定の演算を要求する。
ビツト4〜19実行相ポインタ これらビツトは実行マイクロプログラムの第一マイクロ
インストラクシヨンをアドレスづけする。
この実施例をさらに理解するためにメモリ20を用いる
マイクロプログラムド制御ユニツトによるインストラク
シヨン フエツチングの一例を述べる。フエツチングを
スタートするために一つのマイクロプログラム内の第一
マイクロインストラクシヨンの固定アドレスがチヤンネ
ル8を介してROSARレジスタ5に入れられる。
このマイクロプログラムは実行されるべき特定のプログ
ラムに属するコンピユータデータのワーキングレジスタ
に入る。このプログラムは要求される計算を完了するた
めに実行されねばならない多数のマクロインストラクシ
ヨンを含む。このプログラムに属するデータ(例えば実
行モダリテイ(MOdality)(ネーチブモード(
NatiuemOde)またはエミユレーシヨンモード
(EmuIatiOnmOde)およびこのプログラム
中の第一インストラクシヨンのアドレス)が入れられて
しまうと、このプログラムの第一マクロインストラクシ
ヨンのフエツチングが始まる。制御ユニツト1はこのフ
エツチングマイクロプログラムの第一マイクロインスト
ラクシヨンのアドレスをROSARレジスタ5に入れる
このマクロインストラクシヨンの第一キヤラクタ(例え
ばオペレーテイングコード)はコンピユータメモリから
読取られ、適当なワーキングレジスタBに入れられそし
てゲート群28を通じてレジスタ25に移される。ゲー
ト群21が開くと同時にオペレーテイングコードに対応
する第一デイジタルワードがメモリ20から読取られ、
そしてゲート群22と23を通じて移されるとこのマク
ロインストラクシヨンの残りをフエツチするためROS
2内のマイクロプログラムと共働出来るようになる。さ
らに詳細には、メモリ20から読取られたワードはデコ
ーダ4に移されそしてそのワードの内容とROS2.内
のマイクロインストラクシヨンとによりきまるマイクロ
コマンドを発生するためのパラメータとして用いられる
。この構成の一つの利点はフオーマツトに関係なくコン
ピユータに与えられるすべてのマクロインストラクシヨ
ンをほん訳するために一つのフエツチングマイクロプロ
グラムが使用出来るということである。
言い換えるとマクロインストラクシヨンが異つたバイト
長さをもちそして異つたほん訳を必要とする異つたフイ
ールドをもつ場合でも一つのマイクロプログラムですべ
てのインストラクシヨンをフエツチしそれらを実行のた
めの条件にする。フエツチデイジタルワードからのデコ
ードされた情報が出るとすぐにROS2内のマイクロプ
ログラムが或る制御を行う。
まず、トランスコードデイジタルワードのビツトO〜3
が、マクロインストラクシヨンが実行されうることを保
証するため検出されるのであり、すなわち、このコンピ
ユータが実行を許す特定のオペレーテイングモードとな
る。このマクロインストラクシヨンが実行されえないな
らば、除外信号が発生される。この信号は適当な決定を
とるためのスーパビザリ(Super−UisOry)
プログラムのインターベンシヨン(Interuent
iOn)を行うOもし、トランスコードデイジタルワー
ドのビツト0〜3によるモニタ動作の結果が正であれば
、マイクロプログラムはフエツチ相で進む。
マクロインストラクシヨンの種々のバイトは主メモリか
ら読取られそして適当なワーキングレジスタに入れられ
る。この動作はマクロインストラクシヨンのすべてがフ
エツチされるまでトランスコードデイジタルワード内に
ある情報の制御のもとで続く。
この期間中、さらに特定のテスト、例えば実行バイオレ
ーシヨンテスト、書込バイオレーシヨンテスト等がマイ
クロプログラムにより課せられる。マクロインストラク
シヨンのフエツチング中、マイクロプログラムの適当な
マイクロインストラクシヨンがゲート群29を開いてト
ランスコードデイジタルワードの8ビツトをレジスタ2
5に入れる。
これらビツトは、メモリ20から読取られてゲート群2
2,23を介してデコーダ4に移される第二デイジタル
ワード用のアドレスとして作用する。さらに、第二デイ
ジタルワードのビツトの内の16個がチヤンネル26と
ゲート群27を介してROSARレジスタ5に移される
。これらビツトはROS2内のマイクロプログラムの第
二相の第一マイクロインストラクシヨンのアドレスとし
て作用し、この相は好適には実行相と一致する。第二デ
イジタルワードの残りの4ビツトは複数のマクロインス
トラクシヨンが一つの実行相マイクロプログラムにより
実行されるようにデコーダ4により用いられる。例えば
、コンピユータの内部デコール(InteriOrDe
cOr)(コンピユータ内のマイクロプログラムにより
コンピユータ内で行われうるマクロインストラクシヨン
群がしばしば内部デコールと呼ばれる)が算術ユニツト
により実行される10進加算、2進加算、10進減算、
2進減算用のマクロインストラクシヨンを含むならば、
一つの実行相マイクロプログラムでこれら2進演算を実
行することが出来る。減算から加算を区別する特定のマ
イクロコマンドは第二トランスコードデイジタルワード
内の情報から得られる。例えばデイジタルワードのビツ
トO〜3は実行されているマクロインストラクシヨンが
加算グループに属するか減算グループに属するという事
実に特定する。これらビツトはゲート群22,23とデ
コーダ4を通じてマイクロプログラムの或る一般的実行
相の特定化を許すように作用する。
【図面の簡単な説明】
図面は本発明の一実施例である。 1・・・・・・制御ユニツト、2・・・・・・タイミン
グユニツト、TC・・・・・・タイミング回路、TN・
・・・・・タイミング回路網、2(ROS)・・・・・
・読取専用メモリ、3(ROR)・・・・・・出力レジ
スタ、4・・・・・・デコーダ回路、5(ROSAR)
・・・・・・アドレスレジスタ、6(ROSARl)・
・・・・・補助アドレスレジスタ、7・・・・・・イン
クレメンタ回路、20・・・・・・メモリ、25・・・
・・・アドレスレジスタ。

Claims (1)

  1. 【特許請求の範囲】 1 夫々オペレーティングコードを有する一組のマクロ
    インストラクションをマイクロプログラムにより実行す
    るディジタル計算機オペレーティングシステムにおいて
    、次の構成要素からなるマイクロプログラムを制御する
    ための装置。 イ、各マクロインストラクションに関連してマイクロプ
    ログラムによりそのマクロインストラクションを実行す
    るのに必要な情報を含むディジタルワードを記憶するた
    めの第一メモリ装置。 ロ、前記マイクロプログラムを記憶するための第二メモ
    リ装置。ハ、ディジタルワードおよびマイクロプログラ
    ムを受取るデコーダ装置。 ニ、実行されるべき前記一組のマイクロンストラクシヨ
    ンの内の一つの少くとも一部を記憶すると共に前記一つ
    のマクロインストラクションに対応するディジタルワー
    ドを前記第一メモリ装置から前記デコーダ装置に伝達す
    るための第一制御装置。 ホ、前記マイクロプログラムを前記デコーダ装置に順次
    的に伝達し、それによりそのディジタルワード内の情報
    がマイクロプログラム内の情報を補い一つのマイクロプ
    ログラムをして二以上のマクロインストラクションの少
    くとも部分を実行させるのを可能ならしめるようにする
    第二制御装置。 2 少なくとも一つのマクロインストラクションのフェ
    ッチングを行う第1のマイクロインストラクション・シ
    ーケンスと少なくとも一つのマクロインストラクション
    の実行を行う第2のマイクロインストラクション・シー
    ケンスとを含むマイクロプログラムによつてマクロイン
    ストラクションを実行し、一つのタイミングサイクルの
    期間中各前記マイクロインストラクションによつてディ
    ジタルコンピュータの動作を制御するようにしたディジ
    タルコンピュータ制御装置において、前記マイクロプロ
    グラムのメモリのアドレスを記憶するための第1のアド
    レスレジスタと、前記マイクロプログラムメモリから読
    出された一つのマイクロインストラクションを各タイミ
    ングサイクル時に記憶するための前記マイクロプログラ
    ムメモリ用出力レジスタと、前記第1のアドレスレジス
    タに記憶されたアドレスを各タイミングサイクル時に更
    新するためのインクルメンタ回路と、各々が前記第1の
    マイクロインストラクション・シーケンスの複数のタイ
    ミングサイクル期間中に読出される複数のフェッチディ
    ジタルワードを収容するとともに、各々が前記第2のマ
    イクロインストラクシヨン・シーケンスの複数のタイミ
    ング・サイクル期間中に読出される複数の実行ディジタ
    ルワードを収容するトランスコードメモリと、前記トラ
    ンスコードメモリをアドレスして一時に一つの前記ディ
    ジタルワードを読出すための第2のアドレスレジスタと
    、前記出力レジスタの出力と前記トランスコードメモリ
    の出力とに接続され、複数のタイミングサイクル期間中
    に、各々のマイクロコマンド組が各タイミング・サイク
    ル期間中に1つのディジタルワードと1つのシーケンス
    の連続的なマイクロインストラクションとを組み合わせ
    てデコーディングすることにより得られる複数のマイク
    ロコマンド組を発生するデコーダ回路と、前記マイクロ
    コマンドを供給される制御回路と、一つのフェッチディ
    ジタルワードの内容によつて前記トランスコードメモリ
    内の一つの実行ディジタルワードをアドレスするための
    前記トランスコードメモリの出力から前記第2のアドレ
    スレジスタへの第1の通信路、前記トランスコードメモ
    リの出力から前記デコーダ回路への第2の通信路、一つ
    のマイクロインストラクションのオペレーティングコー
    ドによつて前記トランスコードメモリ内の一つのフェッ
    チディジタルワードをアドレスするための前記ディジタ
    ルコンピュータのワーキングレジスタから前記第2のア
    ドレスレジスタの入力への第3の通信路、および一つの
    実行ディジタルワードの内容によつて前記第2のマイク
    ロインストラクション・シーケンスの第1マイクロイン
    ストラクションをアドレスするための前記トランスコー
    ドメモリの出力から前記第1のアドレスレジスタへの第
    4の通信路を含み、前記制御回路によつて制御される通
    信回路網と、を具備することを特徴とするディジタルコ
    ンピュータ制御装置。
JP49116795A 1973-10-10 1974-10-09 デイジタル計算機におけるマイクロプログラム制御装置 Expired JPS5917462B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IT29929 1973-10-10
IT29929/73A IT995721B (it) 1973-10-10 1973-10-10 Apparato per l interpretazione di codici di funzione in calcolatori microprogrammati e per l indirizza mento indipendente di fasi inter pretative ed esecutive di micro programma

Publications (2)

Publication Number Publication Date
JPS5079231A JPS5079231A (ja) 1975-06-27
JPS5917462B2 true JPS5917462B2 (ja) 1984-04-21

Family

ID=11228681

Family Applications (1)

Application Number Title Priority Date Filing Date
JP49116795A Expired JPS5917462B2 (ja) 1973-10-10 1974-10-09 デイジタル計算機におけるマイクロプログラム制御装置

Country Status (7)

Country Link
US (1) US3991404A (ja)
JP (1) JPS5917462B2 (ja)
CA (1) CA1015456A (ja)
DE (1) DE2446224A1 (ja)
FR (1) FR2247765B1 (ja)
IT (1) IT995721B (ja)
YU (1) YU36824B (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4168523A (en) * 1975-11-07 1979-09-18 Ncr Corporation Data processor utilizing a two level microaddressing controller
US4173041A (en) * 1976-05-24 1979-10-30 International Business Machines Corporation Auxiliary microcontrol mechanism for increasing the number of different control actions in a microprogrammed digital data processor having microwords of fixed length
US4156278A (en) * 1977-11-22 1979-05-22 Honeywell Information Systems Inc. Multiple control store microprogrammable control unit including multiple function register control field
US4161026A (en) * 1977-11-22 1979-07-10 Honeywell Information Systems Inc. Hardware controlled transfers to microprogram control apparatus and return via microinstruction restart codes
US4156279A (en) * 1977-11-22 1979-05-22 Honeywell Information Systems Inc. Microprogrammed data processing unit including a multifunction secondary control store
AU530137B2 (en) * 1978-09-11 1983-07-07 K.K. Toshiba Information processor
US4262330A (en) * 1978-10-23 1981-04-14 International Business Machines Corporation I-phase controls for a computer
US4307445A (en) * 1978-11-17 1981-12-22 Motorola, Inc. Microprogrammed control apparatus having a two-level control store for data processor
US4330823A (en) * 1978-12-06 1982-05-18 Data General Corporation High speed compact digital computer system with segmentally stored microinstructions
US4342078A (en) * 1979-05-21 1982-07-27 Motorola, Inc. Instruction register sequence decoder for microprogrammed data processor and method
JPS5616243A (en) * 1979-07-18 1981-02-17 Matsushita Electric Ind Co Ltd Microaddress production system
AU541189B2 (en) * 1980-02-11 1984-12-20 Data General Corporation Data processing system
US4398243A (en) * 1980-04-25 1983-08-09 Data General Corporation Data processing system having a unique instruction processor system
JPS57209503A (en) * 1981-06-19 1982-12-22 Toyoda Mach Works Ltd Sequence controller
JPS5837744A (ja) * 1981-08-28 1983-03-05 Hitachi Ltd 処理装置のハ−ドウエア制御方式
DE3271123D1 (en) * 1982-06-08 1986-06-19 Ibm Deutschland Circuits in the control part of a microprogrammable processor for direct hardware execution of selected instructions
US4604691A (en) * 1982-09-07 1986-08-05 Nippon Electric Co., Ltd. Data processing system having branch instruction prefetching performance
EP0107952B1 (en) * 1982-10-18 1988-06-01 Nec Corporation Information processing apparatus and its instruction control system
US5167027A (en) * 1982-11-09 1992-11-24 Siemens Aktiengesellschaft Apparatus and method for forming a sequencer link for a sequencer controlled by a micro-program
US4947369A (en) * 1982-12-23 1990-08-07 International Business Machines Corporation Microword generation mechanism utilizing a separate branch decision programmable logic array
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.
US4594658A (en) * 1983-04-05 1986-06-10 Burroughs Corporation Hierarchy of control stores for overlapped data transmission
JPS6057435A (ja) * 1983-09-07 1985-04-03 Mitsubishi Electric Corp マイクロプロセツサ
US4868735A (en) * 1984-05-08 1989-09-19 Advanced Micro Devices, Inc. Interruptible structured microprogrammed sixteen-bit address sequence controller
GB8421066D0 (en) * 1984-08-18 1984-09-19 Int Computers Ltd Microprogram control
US4984151A (en) * 1985-03-01 1991-01-08 Advanced Micro Devices, Inc. Flexible, next-address generation microprogram sequencer
US4821183A (en) * 1986-12-04 1989-04-11 International Business Machines Corporation A microsequencer circuit with plural microprogrom instruction counters
US5155819A (en) * 1987-11-03 1992-10-13 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
US5197130A (en) * 1989-12-29 1993-03-23 Supercomputer Systems Limited Partnership Cluster architecture for a highly parallel scalar/vector multiprocessor system
US5623650A (en) * 1989-12-29 1997-04-22 Cray Research, Inc. Method of processing a sequence of conditional vector IF statements
US5740420A (en) * 1995-10-26 1998-04-14 Advanced Micro Devices, Inc. System and method for compiling and executing sequences of macro and micro instructions
US9748492B2 (en) 2012-11-02 2017-08-29 Idemitsu Kosan Co., Ltd. Organic electroluminescent device
KR102586628B1 (ko) * 2015-06-05 2023-10-11 삼성전자 주식회사 전자 장치 및 전자 장치의 메모리 관리 방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3404378A (en) * 1965-10-29 1968-10-01 Automatic Telephone & Elect Computers
CH485277A (de) * 1968-01-25 1970-01-31 Siemens Ag Programmablaufsteuerwerk für eine Datenverarbeitungsanlage
CA926514A (en) * 1969-01-20 1973-05-15 Saltini Fabrizio Electronic computer
US3634883A (en) * 1969-11-12 1972-01-11 Honeywell Inc Microinstruction address modification and branch system
US3735363A (en) * 1971-04-07 1973-05-22 Burroughs Corp Information processing system employing stored microprogrammed processors and access free field memories
BE795789A (fr) * 1972-03-08 1973-06-18 Burroughs Corp Microprogramme comportant une micro-instruction de recouvrement
US3781823A (en) * 1972-07-28 1973-12-25 Bell Telephone Labor Inc Computer control unit capable of dynamically reinterpreting instructions
US3839705A (en) * 1972-12-14 1974-10-01 Gen Electric Data processor including microprogram control means
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

Also Published As

Publication number Publication date
YU272874A (en) 1982-06-18
YU36824B (en) 1984-08-31
CA1015456A (en) 1977-08-09
US3991404A (en) 1976-11-09
FR2247765A1 (ja) 1975-05-09
FR2247765B1 (ja) 1978-07-13
DE2446224A1 (de) 1975-04-17
IT995721B (it) 1975-11-20
JPS5079231A (ja) 1975-06-27

Similar Documents

Publication Publication Date Title
JPS5917462B2 (ja) デイジタル計算機におけるマイクロプログラム制御装置
US4631663A (en) Macroinstruction execution in a microprogram-controlled processor
US3949370A (en) Programmable logic array control section for data processing system
US4118773A (en) Microprogram memory bank addressing system
US3949372A (en) System for extending the interior decor of a microprogrammed computer
US3585605A (en) Associative memory data processor
US3800291A (en) Data processing system memory relocation apparatus and method
US4005391A (en) Peripheral interrupt priority resolution in a micro program data processor having plural levels of subinstruction sets
US3953833A (en) Microprogrammable computer having a dual function secondary storage element
EP0011412B1 (en) Bipartite control store for microprogrammed data processor
US4124893A (en) Microword address branching bit arrangement
JPS5935056B2 (ja) デ−タ処理装置
US4446518A (en) Microprogrammed control unit with multiple branch capability
US3958221A (en) Method and apparatus for locating effective operand of an instruction
US4388682A (en) Microprogrammable instruction translator
US4346437A (en) Microcomputer using a double opcode instruction
US3786434A (en) Full capacity small size microprogrammed control unit
US4251862A (en) Control store organization in a microprogrammed data processing system
EP0010196B1 (en) Control circuit and process for digital storage devices
EP0073561B1 (en) High speed microinstruction execution apparatus
US5247624A (en) Microprogram controller including leading microinstruction from a generator executed while succeeding microinstruction from memory is read out
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
JPH027097B2 (ja)
JP2680828B2 (ja) ディジタル装置