JPS5922588Y2 - マイクロプログラムプロセツサ - Google Patents

マイクロプログラムプロセツサ

Info

Publication number
JPS5922588Y2
JPS5922588Y2 JP57-41106U JP4110682U JPS5922588Y2 JP S5922588 Y2 JPS5922588 Y2 JP S5922588Y2 JP 4110682 U JP4110682 U JP 4110682U JP S5922588 Y2 JPS5922588 Y2 JP S5922588Y2
Authority
JP
Japan
Prior art keywords
block
register
microroutine
address
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
JP57-41106U
Other languages
English (en)
Other versions
JPS5922588Y1 (ja
Inventor
イラ・ガバート
ジヨン・マイケル
ダビツト・アール・エリス
Original Assignee
ザ パ−キンエルマ− コ−ポレ−シヨン
Filing date
Publication date
Application filed by ザ パ−キンエルマ− コ−ポレ−シヨン filed Critical ザ パ−キンエルマ− コ−ポレ−シヨン
Priority to JP57-41106U priority Critical patent/JPS5922588Y2/ja
Application granted granted Critical
Publication of JPS5922588Y2 publication Critical patent/JPS5922588Y2/ja
Publication of JPS5922588Y1 publication Critical patent/JPS5922588Y1/ja
Expired legal-status Critical Current

Links

Description

【考案の詳細な説明】 本考案は、マイクロ命令を実行する汎用ディジタル処理
装置の技術分野に関する。
比較的小型の処理装置においては、マイクロプログラム
が融通性と経済性を高めるために使用されてきた。
読取り専用メモリー(ROM)と組合せてマイクロプロ
グラミングを使用すると、一群の特定の演算に対する処
理装置の演算時間は大巾に低減される。
しかしながら、このようなマイクロプログラム方式の処
理装置における重大な問題点は、リアルタイム(実時間
)応答が制限されることである。
特に従来の処理装置においては、外部から問合せが来た
ときプログラム状態語(psw)を交換するために1つ
のコア・ロケーションが予約された。
このとき処理装置は、割り込みを発生し、ソフトウェア
を使用して割り込みを確認し、次に装置を識別して必要
な演算を行なう必要がある。
この動作には比較的時間を要し、特別のルーチンおよび
「テーブル(表)」のために多数のコア・メモリーを使
用した。
従来のマイクロプログラム方式の処理装置として、例え
ば、(1)、「雑誌、DATAMATION、Jan。
1967、第22−24頁」、(2)、「雑誌、C0N
TR0LENGINEERING、 Aug、1967
、第65−68頁」、(3)、「雑誌、情報処理Vol
、5、A1、Jan、1964、第31−34頁」が
知られている。
上記文献(1)はコンピュータの制御メモリーに格納さ
れるマイクロプログラムを実行するものであるが、マイ
クロルーチンを格納するための特別のメモリー(例えば
読取り専用メモリー;ROM)が主メモリーと別にもう
けられていないので、例えば割込み処理を行なうときに
時間がかかり、かつそのとき実行中のプログラムが妨害
されるという欠点を有する。
上記文献(2)は読取り専用メモリー(ROM)を具備
しているが、該メモリーに格納される各マイクロルーチ
ンの開始番地を与える第2の読取り専用メモリー(DR
OM)ぎ具備されていないので、各マイクロプログラム
(又はマイクロルーチン)の実行に時間がかかるという
欠点があり、かつ、新しいマイクロルーチンを処理装置
に具備させようとするときの、処理装置の改造量が大き
くなるといゐ欠点を有する。
上記文献(3)も各マイクロルーチンの開始番地を与え
るメモリ(DROM)を具備していないので、上記文献
(2)と同様の欠点を有する。
従って本考案は従来の技術の上記欠点を改善することを
目的とするもので、その特徴は、主メモリーに格納され
る利用者命令をもつ処理装置のプログラムに従って、読
取り専用メモリーに記憶されるマイクロルーチンを実行
するための次の構成を有する装置にある。
(a) 外部装置に対応する信号番号を有する割込み
信号を発生させる割込み装置; (b) 前記マイクロルーチンの各々の読取り専用メ
モリー(ROM)における開始番地を保持するためのテ
゛コード用の第2読取り専用メモリー;(DROM) (C) 前記割込み信号を確認しその信号番号がら外
部装置を決定する確認機構; (d) 前記主メモリーの中のサービスポインタ表が
らとり出され、前記信号番号に対応するサービスポイン
タ; (e)予め定められたサービスポインタに従って主メモ
リーから取り出される割込みサービスブロック機能; (f) 前記割込みサービスブロック機能に従って、
前記第2読取り専用メモリー(DROM)により指定さ
れる開始番地に応答して前記読取り専用メモリー(RO
M:20)の中に格納される前記割込み装置に対する入
出カサ−ビスを、実行中のプログラムに妨害を与えずに
実行する機構。
特に注目すべきは、本考案では(1)マイクロルーチン
を格納する為に、主メモリーとは別の読取り専用メモリ
ー(ROM)がもうけられること、及び(2)ROMに
おける各マイクロルーチンの開始番地を与える為の、第
2の読取り専用メモリー(DROM)がもうけられるこ
とである。
上記2つの読取り専用メモリーを具備することにより、
命令のデコードとハウスキープの仕事(これらの仕事は
従来処理装置の速度を大きく減少させていた)が実質的
に減少した。
さらに追加の利用者命令を簡単に追加することが出来る
利用者命令を追加するための仕事はROMにマイクロル
ーチンを配線し、DROMにそのマイクロルーチンの開
始番地を□配線することだけである。
もしDROMが存在しないと、利用者命令のOP部から
ROMの開始番地を得る為の複雑な電子回路を必要とし
、さらにOP部の構成そのものに制約が加えられること
となろう。
次に本考案の実施例を順に説明する。
定義 マイクロ命令−特定の機械動作を行なわせるハードウェ
ア・レベルでの命令。
マイ”クロプログラム−特定の利用者命令または他の機
能を実行させる一群のマイクロ命令。
マイクロルーチン−マイクロプログラムの機能的部分。
利用者命令−コアメモリーに置かれるプログラマにより
作られた命令。
割り込み一連行中のプログラムを停止し、そのプログラ
ムの状態を保留し、プログラム状態語(psw)を変え
て該割り込みに対応する新しいプログラムに分岐させ、
かつ新しいプログラムを遂行させるための命令。
問合せ一側辺装置から処理装置への要求である外部割り
込み信号。
マイクロ演算−10個の基本的マイクロ演算があり、こ
れらはマイクロプログラムに組合され、これによりハー
ドウェアは利用者命令を実行するのにハードウェア・レ
ベルで必要なステップを行なうことになる。
マイクロ演算には次のものがある。
A 加算 S 減算 X 排他的論理和 N 論理積 O論理和 L ロード(load) C指令(コマンド) T テスト (試験) B 条件分岐 D デコード(復号) フォーマット (形式)−4つのフォーマットがあり、
10個のマイクロ演算はこれら4つのフォーマットのど
れかに入る。
レジスタからレジスタへのフォーマット 加算、減算、排他的論理和、論理積、論理和およてJ゛
ロー ド−宛名 フィールド 演算の結果はこのフィールド内のアドレス(番地)のレ
ジスタに置かれる。
S−ソース・フィールド 第2オペランド(演算数)を含むレジスタのアドレスが
このフィールドにある。
第1オペランドはAレジスタ(AR)がら米る。
E−延長演算 フィールド これは演算のオプション(選択性または補助手段)を特
定する。
即答フォーマット 即答加算、即答減算、即答排他的論理和、即答論理積、
即答論理和、および即答ロード D=宛名 フィールド 演算の結果はこのフィールド内にあるアドレス(番地)
のレジスタに置かれる テ゛−ター第2オペランドがこのフィールド内にある。
第1オペランドはAレジスタ(AR)から来る。
試験および指令(コマンド)フォーマットTCコード=
試験または指令コード これは試験(テスト)される信号を特定し、たは実行さ
れる指令を特定する。
条件分岐フォーマット ま C−キャリー(桁上げ) ■=ニオ−バフローあふれ) G−零より大きい L=零より小さい アドレス=特定された条件(C,V、 G、またはL)
のどれかが満足されるとプログラムは、このフィールド
に特定されている8ビツトのアドレスへ転送される。
第1A図および第1B図のハードウェアである処理装置
10の説明 第1A図および第1B図には、マイクロ命令を実行する
ように設計された汎用テ゛イジタル処理装置10が示さ
れている。
これらマイクロ命令はサブルーチンにプログラムされて
おり、これらサブルーチンは永久的に配線されており、
読出しはプログラムによって変更されない。
組合わさったサブルーチンは、利用者の命令の夫々を作
っているより複雑な演算を寒行する。
これら演算は実行すべき利用者の命令に関係なく実行す
べき特定の関数である。
すなわちこの命令はコアメモリー25から取り出し、復
号(デコード)し、次に実行されなければならない。
処理装置10は、16個の16ビツト万能レジスタ14
と、算術論理ユニット(ALU)16と、命令レジスタ
(!R)17と、読取り専用メモリー20と、テ゛コー
ド用の第2読取り専用メモリー(DROM)21と、入
出力装置24と、主メモリ一つまりコアメモリー25と
、一群のマイクロレジスタ15と、制御ロジック23と
、表示装置27と、から威る。
処理装置10のこれら主要装置は、一般的な方法でAL
U16により、S母線とS母線の間に接続きれている。
処理装置10の動作は基本的にはROL 20を中心に
行なわれ、このROM20はマイクロプログラムを含み
、処理装置10内の演算をすべて指揮する。
ROMのロケーションは12ビツトのレジスタ(RA)
20 aにより呼出される。
ROM20から読取られた情報は16ビツトのデータレ
ジスタ(RD)34に置かれる。
テ゛−タレジスタ(RD) 34のO−3ビツトは実行
されるべきマイクロ演算を特定し、このマイクロ演算は
残りの12ビツトの意味を規定する。
マイクロプログラムは、変換器を介して電線を配線する
ことにより(ROM)20内に予しめ配線される。
(ROM)20から読取られたマイクロ命令は処理装置
制御ユニット23を介して処理装置10を指揮する。
マイクロコードに依りユニット23は、ALU16を所
望の演算モードにセットしたり、特定されたハードウェ
アの状態を試験したり、機能命令を発してハードウェア
の状態を確立したり、メモリーサイクルを起動させたり
、マイクロプログラムのループを設定したり、ハードウ
ェアのレジスタ群14および15にある選定しスフ(M
l)1−ドし、あるいはアンロードしたりする。
5つの汎用マイクロレジスタ15a−eがあり夫々MR
O−MR4と記入されており、夫々は16ビツトの容量
を有しテ゛−タレジスタRD34により直接呼出される
レジスタ15a−eは汎用レジスタでありマイクロプロ
グラムにより異なる目的に使用され得る。
しかしながら、プログラム状態語(PSWGRO−GR
15)14a〜〜Oレジスタであり、処理装置10にお
いて特定の利用法を有するマイクロプログラムは特定の
方法でレジスタ15g〜hと同様にレジスタ15 fを
使用しなければならない。
レジスタ15 fは実行されている利用者プログラムに
関しての装置の状態を指示している。
レジスタ15 fのピッ)O〜11は機械の状態を規定
する。
ビット12〜15は条件コードレジスタ(15j)に別
に置かれてあり、このレジスタ15 jはフラグレジス
タ15 iからだけロードされる。
レジスタ15 fがロードされると、母線30のビット
12〜15はレジスタ15 jのかわりにレジスタ15
1にロードされる。
これにより利用者の状態は、利用者レベルからハードウ
ェアの動作するマイクロレベルへ伝達される。
FLRレジスタ15 iおよび最終的にはレジスタ15
iは、今実行されたマイクロ命令の結果、または利用
者マイクロルーチンの場合には命令を反映する。
ロケーションカウンタ(LOC) 15 hはレジスタ
15 fの16ビツトの付加物であり、実行されるべき
次の利用者命令のアドレスを保持している。
レジスタ15hはレジスタ34により直接呼出され得る
しかしながら、ロケーションカウンタ15hは以下に述
べるように、デコードマイクロ命令において、レジスタ
34にかかわらず強制的に選定される。
メモリーアドレスレジスタ(MAR) 15 gは16
ビツトレジスタであり、コアメモリー25のロケーショ
ンを呼出すのに使用される。
レジスタ15 gは2個ある。
1つはコアメモリー25へのインターフェース(中継)
に、1つはレジスタ15にある。
コアメモリー25にロードされるのは、図示された第4
A図の割り込みサービセブロック(ISB)と第4B図
のISB機能コードに対する機能である。
メモリーチ゛−タレジスタ35は16ビツトレジスタで
゛あり、コアメモリー25から読出されたまたは書込ま
れるテ゛−夕を保持するのに使用される。
レジスタ35はレジスタ34により直接呼出され得る。
2バイトのレジスタ35はMDIレジスタ35aとMD
Lレジスタ35 bとから構成され、両者は交叉シフト
動作によりロードされる。
IRレジスタ17は16ビツトレジスタであり、その時
点で処理されている利用者の命令を保持している。
レジスタ17はレジスタ34により直接呼出され得る。
更に、利用者のブランチを実行するとき、レジスタ17
のビット8〜11のみをS母線31のビット12〜15
ヘアンロードし、レジスタ17のマスク(Ml)17a
フイールドとレジスタ15 iを比較する手段が設けら
れている。
レジスタ17のビットO〜7(利用者の演算コード17
b)は(DROM)21内のロケーションを呼出すため
に使用される。
残りの8ビツトは汎用レジスタ14を選定する。
汎用レジスタ14の夫々は16ビツトの容量を有する。
これらのレジスタ(GRO−GR15)14 a −0
はレジスタ34から直接には呼出し得ない。
上述では、すべてのレジスタはレジスタ34により直接
呼出された。
しかしながら、汎用レジスタ14の選定は間接的に行な
われる。
特定のレジスタ14 a〜0を呼出すには、所望のレジ
スタ143〜0のアドレスを含む適当なlR17フイー
ルドを呼出す必要がある。
lR17のビット8〜11により特定されるレジスタを
呼出すために利用者の標識(YD)が呼出され、IRビ
ット12〜15により特定されるレジスタを呼出すには
、利用者のソース(ys)が呼出される。
特に、アドレスはレジスタ34から取出され、このアド
レスは処理装置にYDかYSから指定する。
YDかYSのとき起こる数はデコードされ汎用レジスタ
14 a〜0の特定の1つを選定する。
したがって、汎用レジスタ14 a〜0の1つが選定さ
れる前に、IRレジスタ17が正しいアドレスを含むこ
とが必要である。
(DROM)21は、読取り専用メモリーにより夫々1
2ビツトの長さを有する最大128個の予じめ配線され
た「語」を構成する。
このメモリーは当技術に周知の方法で配線されている。
DROM21はテ゛コードマイクロ命令によってのみ間
合され、読取られた結果の12ビツトはRAレジスタ2
0 aにロードされる。
DROM21は、利用者命令を実行するのに必要なマイ
クロルーチンの開始アドレスを保持する。
レジスタ20 aはまた、デコードマイクロ命令におけ
るハードウェアで発生されたアドレスによりロードされ
る。
DROM21の出力の最上位のビット(MSB)は、そ
の特定の利用者命令が特権を与えられているかどうかを
表わす。
利用者プログラムによりセットされると、PSWのピッ
)7(15f)は特権を与えられた命令(PI)を阻止
する。
次に、PSW07群によりPIが試験されると、ハード
ウェアはレジスダ20 aを破算して、内部の不適法な
命令を中断させる。
カウンタレジスタ18は4ビツトの減少レジスタである
このレジスタは、単一のマイクロ命令またはマイクロ命
令のプロ、ツクの反復回数を計数するために、0〜15
内の任意の数を予しめロードされる。
こおりウンタは、以下において説明するマイクロ命令群
の16回の反復を行なわせるために、乗算または割算に
おいて使用される。
演算レジスタ(AR) 16aは16ビツトレジスタで
あり、四則演算または論理マイクロ演算における第1オ
ペランドを保持するのに使用される。
これはALU16Cへの2つの直接入力の1つである。
ALU16Cへの別の入力は16ビツトの母線31であ
り、この母、線は29の信号源のどれかからデータを受
取る。
母線31の8ビツトから戊る2バイトは、交叉シフトロ
ジック16 bと呼ばれるゲート回路を介してビット位
置0〜7の前半の8ビツトと8〜15の後半の8ビツト
とが相互に交換され得る。
ALU16Cは1ビツトの予測キャリー(桁上げ)を有
した16ビツトの並列な加算−減算論理回路網である。
回路網16 Cからの16ビツトの演算または論理の結
果は、S母線30へ送られ、更にそこから33個所の可
能な宛先の1つへ送られる。
入出力の転送はROM20に含まれている単一のマイク
ロ命令により行なわれる。
I10制御線24aはRDレジスタ34のRDビット1
4および15からテ゛コードされる。
入カテ゛−夕はテ゛−タ要求線(DRLO〜7)24b
から取出され、直接母線31のビット8〜15に置かれ
る。
出力テ゛−夕は母線30のビット8〜15から取出され
、データ利用線(DAL)O〜7 (24a)へ直接ロ
ードされる。
処理装置10の一般的動作 処理装置10は根本的には、インターテ゛−タ・インコ
ーホレーテッド社のリファレンスマニュアル出版番号2
9−004RD1における標準利用者命令群に合うよう
になっている。
利用者命令は、命令を遂行するマイクロルーチンを実際
に入力する前に多くのど\−ドウエアおよび゛マイクロ
ップログラム機能を行なわせる。
命令群は3つの基本的クラスに分類される。
第1のクラスはRRと呼ばれ、レジスタからレジスタへ
の転送を意味する。
第2のクラスはRXであり、レジスタからインチ゛ツク
スされたメモリーへを意味する。
第3のクラスはR5であり、命令形式の混合を意味する
第3クラスの大部分は即答命令から成る。
即答命令は、アドレスフィールドがテ゛−タのアドレス
のかわりにデータとして取扱われるようになった命令で
ある。
処理装置10には、第2図に示されているように「行程
」と呼ばれる4つのハードウェア状態がある。
各行程はマイクロ命令の対応する群を有する。一般に、
行程0は利用者命令の取出しおよびクラスの分割である
行程1は第2オペランドをインデツクス(索引)するこ
とである。
行程2は利用者命令の実行を行ない、行程3は割り込み
および表示を行なわせる。
これら行程は進行し、デコードマイクロ命令によっての
み進行される。
マイクロコードコマンドにより、適切な次の行程が始ま
る。
進行する行程は、その時点の行程と他の機能の状態の関
数である。
第2図は、すべての利用者命令に共通のハードウェアと
マイクロプログラム機能との一般的なフローチャートで
ある。
すべての基本的マイクロプログラムの詳細は、以下にお
いて述べる。
次に利用者命令の典型的な実行サイクルを説明する。
利用者命令の実行は行程0になると始まる。行程0に入
る前に、行程2または3を始動させるデコード命令は、
ロケーションカウンタ15hにより特定されたロケーシ
ョンのコアメモリー25を続出させる。
同時にロケーションカウンタが「2」だけ増加され、ア
ドレスレジスタ20 aは行程Oのマイクロ命令列40
の最初のアドレスに変更される。
ロケーション0010−0012のマイクロ命令はハー
ドウェアにより検査するために適切なレジスタにOP−
コードを入れるのに使用される。
特に、命令レジスタ17はレジスタ35からロードされ
、レジスタ25 aはレジスタ15hからロードされる
動作においても、もしレジスタ17に置かれたOP−コ
ードの形式が、命令はRXかR8であることを示してい
れば、行程0を終了させ、命令の第2の半分を取出し、
同時にレジスタ15hの内容を「2」だけ増加させる。
レジスタ17に置かれたOPコードの形式が命令はRR
であることを示していれば、行程Oを終了させ、行程2
へ進ませる。
これらが行程0ブロツク42の一般的な動作である。
詳細には、行程0に進ませるデコード命令は次のハード
ウェアでの決定を行なわせる。
命令のOPコード形式がブロック43によりRRである
と決定されると、ブロック43を終了し行程2に進む。
決定が「否」であればブロック43を出てブロック44
に進む。
もしOP−コードがR3でかつインチ゛ツクスされてい
なければ、ブロック44を出てブロック46に入り、ブ
ロック46を出て行程2のブロック50に進む。
OP−コードがR8でインデックスされていれば、行程
1に進み、アドレスフィールドをインチ゛ツクスするた
めにマイクロプログラムのロケーション0004に進む
このインデックス作業の実行後、行程2のブロック50
へ進む。
OP−コードがRRでもR8でもなければ、RXである
ので決定ブロック45に進む。
インチ゛ツスされていれば、行程1に進み、マイクロプ
ログラム(ブロック51)のアドレスooo cに進み
、ブロック53によりインデックスしかつ第2オペラン
ドを取出す。
この動作の完了後ブロック50へ進む。
OP−コードがRXでインチ゛ツクスされていれば、行
程1に進み、マイクロプログラムのロケーション000
8に進み、ブロック56において第2オペランドを取出
す。
この動作の後ブロック50へ進む。
ブロック48.53および56で実行される演算は不連
続な命令であり、以下に述べるマイクロプログラムのブ
ロック47.51および55の夫夫のアドレスにおいて
見られる。
夫々のアドレスは行程Oを出るデコード命令によりハー
ドウェアからのみ選定される。
ディジタル計算機の主要な機能は、命令をデコード(復
号)し処理装置の正しい実行サイクルに進むことであ乞
一般にこれらの機能は、かなり大きな比較的高価なハー
ドウェア、またはOPコードに対する時間を要する論理
操作を必要とした。
本発明にしたがえば、最適なコスト対性能の状態は、読
取り専用メモリー技術と最小数の論理素子により得られ
た。
一般に、行程0または行程1から行程2に進むときは常
にDROM21を間合せなければならない。
DROM21はIRレジスタ17の演算コード(ビット
O〜7)によりアドレスされる(呼出される)。
各利用者命令は特定の12ビツトの語をもち、これらは
あらかじめDROM21に配線されている。
この語は特定の利用者命令を遂行するマイクロルーチン
の開始アドレスである。
DROM21の読出しは自動的にROM20のアドレス
レジスタ20 aヘジャンプ(飛越)される。
第2図のブロック50に関連したハードウェアは第3図
に詳細に示されている。
論理的説明のために、第3図を第2図の行程2および3
の前に述べる。
第3図のブロックのあるものは第1A図のものとほぼ同
二であるが、第3図での説明のためにロケーションおよ
び形を多少変更されている。
レジスタ17からのOP−コードのビットは線60を介
してゲート62へ、線63を介してゲート64へ取出さ
れる。
ゲート62において、OP−コードは16個のX−線ス
イッチの1つを選択するために使用され、ゲート64に
おいてOP−コードは8個のY−線スイッチの1つを選
択するために使用される。
ゲート62および64は、8×16のダイオードマトリ
ックス65に接続されている。
ゲート64は8本のY−線1つに正の電流パルスを与え
、ゲート62は16本のX−線の1つにアース帰路を与
える。
各Y−線はマトリックスの16個の個々のダイオードに
接続している。
ダイオードに接続するY−線とX−線の間に接続された
ワード(語)線67は12個の変圧器68列に通されて
いる。
このようにして、128本のワード線67の1つがパル
スを与えられる。
各適法な利用者命令はDROM 21のワード線67の
各1つと関連させられる。
したがって、各ワード線は、特定の利用者命令を実行す
るマイクロルーチンの開始アドレスを保持する。
読取り専用メモリーは当分野において周知であり、例え
ば、AF−IPS会議会報第27巻の1 (1965)
に記載されている。
ワード線67は、その特定の1つにパルスが与えられた
とき所望の12ビツトの開始アドレスを与えるように変
圧器68に配線されている。
ワード線67にパルスを与えたとき変圧器68により発
生される開始アドレスは、各変圧器68毎に設けられて
いる12個の読出し増幅器70に与えられる。
増幅された後、開始アドレスは線71を介してRAレジ
スタ20 aに与えられる。
このようにして、パルスを与えられたワード線67から
読出されたデータはアドレスとしてレジスタ20 aに
与えられる。
したがって本考案にしたがえば、この時点で、利用者命
令のマイクロルーチンのアドレスはレジスタ20 aに
置かれたことになり、このレジスタはIRレジスタ17
に置かれた所望の利用者命令を実行することになる。
本考案にしたがえば、今まで特定の利用者命令群のため
の処理装置の速度を減少させていた処理装置の定常的動
作および命令デコード(復号)作業は大幅に減少される
更に、追加の利用者命令を利用者命令群に追加すること
は簡単に低コストで行えることになる。
詳細には、各新しい命令に対し、マイクロルーチンがR
OM20に配線されこのマイクロルーチンの開始アドレ
スが、終端のY−線ダイオードとX−線の間にワード線
を追加してDROM21に配線される。
ワード線は、12ビツトの開始アドレスが読出されるよ
うに変圧器68に配線される。
この開始アドレスは新しい命令のOP−コー ドのある
アドレスロケーションに配線される。
複数のゲートとフリップフロップがら戊る論理ブロック
73は、第2図のブロック42の行程0に関して述べた
多数の論理決定部分を含む。
更にブロック73は、正しい信号列を与えてDROMを
クノヤー線74を介してレジスタ20 aに読出させ、
それに続いて作動線75に作動信号が与えられる。
ROM20の出力バッファはRDレジスタ34により与
えられる。
ビットO〜3は線73 aを介して論理ブロック73へ
与えられ、レジスタ34がデコード命令を含むことを示
す。
更にビット12〜15は線73 aを介してブロック7
3に与えられ、延長演算フィールドを規定する。
線73 aからのこれらの情報と共にブロック73は更
に、線73 bを介してIRレジスタ17から情報を受
取る。
IRレジスタ17のビット0〜3は、どのようなりラス
の利用者命令がIRに保持されているかを示す。
ビット12〜15は命令がインデックスされているかど
うかを示す。
以上でブロック50ニ関連したハードウェアを第3図に
参照して説明した。
次に再び第2図にもどる。
前述において行程2への進入点50はDROM21から
与えられた。
前述したように、DROM21は128ビツトまでの語
容量を有し、ており1.語はlR17の利用者命令によ
り呼出されるDROM21は、利用者命令群の各命令に
対するワード線を有する。
DROM21の動作により選定されたワード線は行程0
または行程1のデコード命令中パルスを与えられ、DR
OM21のビット0はPSWのビット7とrAND」操
作される。
その結果が「真」でなければ、読出しにより行程2のマ
イクロルーチンの開始アドレスが与えられRAレジスタ
20 aに置かれる。
もし真であれば読出しは零にセットされ、命令は不適法
であることになる。
これにより、PSWのビット7の制御の下に特権付き命
令が与えられる。
利用者命令群にない命令は不適法であり、DROM21
に対応するワード線を有しない。
行程2に進み存在しないDROMのワード線がパルスを
与えられると、すべて零の読出しがレジスタ20aに置
かれる。
ROM20のロケーション零(oooo)はすべて零(
oooo)に配線されている。
ROMのアドレス0000が読出されると内容はRDレ
ジスタ34に置かれる。
RDレジスタ34がすべて零で゛あることは「不適法」
と定義され、決定ブロック82(適法か不適法かの決定
)に示されているように無条件の行程3となる。
したがって、ROMアドレスはアドレス0200を有す
るブロック84に変更される。
これは不適法命令のトラップ用マイクロルーチンの進入
点である。
もし利用者命令が不適法でなければ、利用者サブルーチ
ンブロック88に入る。
このブロック88は利用者命令群の利用者命令の数に対
応した個数だけである。
以下に第4図を参照して述べるこれら命令群の1つは乗
算および割算である。
したがってこの時点で利用者命令のサブルーチンが実行
される。
実行されるサブルーチンにかかわらず、ブロック88を
出るデコード命令により行なわれる機能は相似である。
詳細には、ブロック90において行程2を出ると、テ゛
コードマイクロ命令は割り込みを試験する。
外部注意信号以外の割り込みが真であれば、行程3に進
み、ROMアドレスレジスタ20aはブロック91にお
いてアドレス0014をロードされる。
割り込みが存在しないと、ブロック92に進み、コア2
5から次の利用者命令を取出す。
同時に行程Oに進み、レジスタ20 aのROMアドレ
スはブロック40においてアドレス0010となる。
このようにして、主コアメモリー25から次の利用者命
令をテ゛コードし実行するループが形成される。
行程3、ブロック100において、マイクロルーチン群
は表示と割り込みを行なわせる。
ブロック100への進入点は、0014のブロック91
と0200のブロック84である。
ブロック85は不適法な命令を確認してプログラム状態
語を交換し、その後ブロック93に進む。
ブロック93はそのとき存在する割り込みに対するサー
ビスを行なう。
すべての割り込みに引続きサービスした後ブロック93
を出てブロック96に入る。
ここで表示パネルの状態を検査する。
操作員による割り込みが存在しなければ、ブロック95
に進み、デコード命令を実行する。
これによりコアメモリー25から次の利用者命令を取出
し、次に行程0のブロック40に進む。
もし割り込み命令が外部注意信号により与えられている
と第5A図乃至第5D図の特別のマイクロルーチンに進
む。
第5A図において、外部注意信号のブロック140が介
入し、処理装置10は注意信号ブロック140を働かせ
るマイクロルーチンに進む。
マイクロルーチンにおいてブロック142は割り込み命
令を確認する。
同様に、本装置はプログラム制御の下で1己試験される
この場合本装置は外部装置により割り込み信号が送られ
るようにシュミレートを行なう。
処理装置10はシュミレートされた割り込み信号をブロ
ック260へ送る。
ブロック260を出てブロック262に入り、外部装置
の番号が発生される。
次にマイクロルーチンは、プログラムがブロック142
を確認したすぐ後に直接プログラムに進む。
装置番号は情報通路を識別し、マイクロルーチンの命令
を指揮するために特定されなければならない。
確認されると、ブロック144に進み、コアメモリー2
5に収納されているサービスポインタ表がらサービスポ
インタ(Pointer)を取出す。
ブロック146は割り込みを確認し、外部装置からもど
ってきたアドレスを基にして、コアメモリー25内のサ
ービスポインタ表によりインデックスを行なう。
ブロック146はサービスポインタ表の外部装置に対す
る値を検査して、もしこの値が偶数であれば、ブロック
146を出てブロック148に進み、ルーチンはサービ
スポインタ表の値で示されるロケーションにおいて即答
プログラム状態語の交換を行ない、ブロック150へ進
む。
プログラムはブロック146からブロック148へ進み
最後に即答割り込みのブロック150から退出する。
この機構により256の各場所の利用者はプログラム状
態語を交換し、特定の装置を識別することができる。
もしサービスポインタ表からブロック146へ取出され
た値が奇数であれば、ルーチンはブロック146を退出
しブロック152に進み、サービスポインタ表により示
されたロケーションから割り込みサービスブロック機能
を取出す。
ブロック152を出てブロック154に入り、第4A図
乃至第4B図に示された割り込みサービスブロックの機
能がデータの転送であるかどうか決定する。
機能がデータ転送であれば、ブロック154を退出して
ブロック156に進み、第5B図の通路にしたがう。
もし機能がデータ転送でなければ、ブロック154から
ブロック158に進み、第5C図の通路にしたがう。
第5B図において機能コードがデータ転送を示している
場合には、テ゛−タ転送を示す信号がブロック150か
らブロック220へ進み、マイクロルーチンは、2つの
そのレジスタに、第4A図および゛第4B図のISB
(割込みサービスブロック)から現在のアドレスと最終
アドレスをロードする。
レジスタにロードされるとブロック222に進み、機能
によりバイトの計数値がセットされ、ブロック224に
おいて外部装置が呼出され、状態が保持される。
この状態はブロック226においてチェックされ、もし
容認されるものであれば、ブロック228に進み、送ら
れたのが読取り命令であるか書込み命令であるか決定す
る。
読取り命令が存在すると仮定すれば、ブロック230内
においてデータが読取られ、その時点のアドレスに記憶
され、アドレスは増加されバイトの計数値は減少される
ブロック234においてチェックされてバイトの計数値
が零でないとすれば、マイクロルーチンはブロック23
0にもどり読取ったデータの機能を続はバイトの計数値
を減少させ、これを、ブロック234においてバイトの
計数値が零になるまで続ける。
バイトの計数値が零に等しくなると、その時点でのアド
レスが、ブロック246に示されているように、ISB
に記憶される。
次にマイクロルーチンはブロック248に進み、ここで
現時点アドレスと最終アドレスとが比較される。
現時点アドレスが最終アドレスより小さいか等しいとき
には、流れはブロック250に進み終了文字ビットがセ
ットされているかどうかチェックする。
もし終了文字ビットがセットされていなければ、マイク
ロルーチンはブロック162で示された「完了」行程に
進む。
もし終了文字ビットがセットされていれば、ブロック2
52に進み終了文字がISBから取出される。
次に終了文字が最後の文字と比較され、もし等しくなけ
れば、マイクロルーチンはブロック162で示された「
完了」行程に進む。
ブロック254においての比較により終了文字が最終文
字に等しいか、現時点アドレスがブロック248におけ
る最終アドレスより大きれば、マイクロルーチンはブロ
ック240に示されているように機能を無演算にセット
する。
ブロック242に進むと機能はISBに記憶される。
マイクロルーチンはブロック242を退出してブロック
244に進み、ここで装置番号の状態がISHに記憶さ
れる。
この点からマイクロルーチンはブロック178で表わさ
れた終了行程に進む。
同様にして、書込み命令が送られブロック228におい
てチェックされた場合には、マイクロルーチンはブロッ
ク232にもどされ、ここでデータが現時点アドレスか
ら書込まれ、現時点アドレスが増加され、バイトの計数
値が減少される。
ブロック236内において、バイトの計数値が零である
かどうか決定される。
もしバイトの計数値が零でなければ、マイクロルーチン
は再びブロック232に進み、ブロック236により零
が検出されるまでバイトの計数値を減少させ続ける。
バイトの計数値が零になると、マイクロルーチンは、読
取り命令に関して述べたと同じ通路に進む。
ブロック226にもどり、ここで状態がチェックされ、
もし状態が容認できるものでないならばマイクロルーチ
ンはブロック238に進み、初期設定ビット、無演算ビ
ット、および「Q」ビットをセットし、最後にチェイン
(鎖)ビットをリセットする。
ここで「Q」ビットとは終了行程において「入力」が行
なわれるかどうかを決定するビットである。
次にマイクロルーチンはブロック240に進み機能を無
演算状態にセットし、ブロック226における状態チェ
ックが容認すべきものであるときとまったく同一の仕方
で終了ブロック178へ続く。
機能が非データ転送であると決定された場合の第5C図
において、信号は第5A図からブロック158に入り、
NOPブロック160へ進む。
ここではNOPビットがセットされているが、セットさ
れていないかが決定される。
もし示された機能が無演算であれば、信号はブロック1
60を出てブロック162に入り、マイクロルーチンは
PSWで特定される次の指令に進む。
NOPビットがセットされていない場合には、ブロック
160から出ると信号はブロック164に入り、この場
合初期設定ビットはリセットつまりOである。
もし初期設定された機能が示されているときは、ブロッ
ク164において、マイクロルーチンはブロック166
内の初期設定インチ゛イケータをリセットし、ブロック
168に進み出力コマンド1をチェックする。
もし出力コマンド1がブロック168においてセットさ
れていると、マイクロルーチンの信号はアドレスブロッ
ク170に入り、装置が呼出され、ブロック172にお
いてISBからコマンドバイトを出力する。
次に信号は第5D図に示された完了行程のブロック16
2へ退出する。
ブロック168内の出力コマンドがセットされていなけ
れば、マイクロルーチンはブロック174に入り、減少
メモリー兼試験であるか「無効J (Null)である
かをチェックする。
機能コードのビット2および3は減少メモリー兼試験(
DMT)を表わす。
この演算においてはISBの計数フィールドが各割り込
み信号当り1つづつ減少される。
計数値が零になった場合終了行程に入る。
更に、機能コードのビット2および3の両方がセットさ
れているときは、無効(Null)機能を表わし、終了
行程に入る。
もし両方がセットされていなければ、マイクロルーチン
は第5B図のCブロック156に進む。
信号はブロック176に進みDMTをチェックする。
もしDMTでなければ、ビットがセットされ、マイクロ
ルーチンは終了フ゛ロック178に進む。
もし機能がブロック176において減少メモリー兼試験
を表わしていると判定されれば、マイクロルーチンは、
ブロック179に入り、ISBから計数値を取出し、ブ
ロック179を退出し、ブロック180に進み、計数値
を「1」だけ減少させ、再び記憶させる。
ブロック182はバイトの計数値をチェックし、もし零
であれば、プログラムは第5D図の終了行程Eブロック
178に進む。
ブロック162が非零計数値を示している場合には、プ
ログラムは第5D図の完了行程Dブロック162へ退出
する。
初期設定ビットかブロック164においてリセットされ
ない場合には、信号は、ブロック166、168および
174を通過し、DMTブロック176に再び入り、前
述した残りの命令を遂行する。
もし減少メモリー兼試験でなければ「無効」でありした
がってマイクロルーチンは第5D図の終了行程Eへ退出
する。
減少メモリー兼試験機能により今までの演算における割
り込みを計数することができる。
次に第5D図のブロック178より終了行程を説明する
と、マイクロルーチンはブロック184においてISB
の機能コードにおけるキュー(queueまたは列)ビ
ットをチェックする。
もしキュービットがブロック184内で゛セットされて
いるとすれば、完了行程での参照のためにフラグ(fl
ag)をセットし、信号はブロック186へ送られ、こ
こでコア内のキューが決定される。
もしキューがいっばいであれば、ブロック188に進み
、ISBのアドレスがロケーション8Aに入れられ、ブ
ロック190においてロケーション8Cから新しいPS
Wをロードし、最後にブロック192で示されたPSW
の交換を行なう。
もしキューがいっばいでなければ、ISHのアドレスが
ブロック194においてキューに置かれる。
次にチェインビットがブロック196において分析され
る。
もしチェインビットがセットされていれば、ISBから
のチェイン値がブロック198において、この装置に特
定されたサービスポインタ表のロケーションに置かれる
次にDOITビットがブロック200において機能コー
ドから分析される。
DOITビットがセットされていれば、マイクロルーチ
ンは第5A図および5D図に示されているように再びブ
ロック202から始まる。
第5A図に示されているように、再進入行程は、ブロッ
ク144と146の間でプログラムに入る。
これによりIO転送の終了時に即答指令が発生し得る。
あるいは、別の■0転送の開始が、新しい割り込みサー
ビスブロックを使用している同一装置に行なえる。
このようにして、別のIO転送を行なうのにソフトウェ
アを必要としないので、処理時間が節約される。
ブロック196においてチェインビットがセットされて
いなければ、またはブロック200においてDOITビ
ットがセットされていなければ、第5D図のブロック1
62の完了行程に進む。
完了行程に進むと、マイクロルーチンはブロック163
においてキューフラグをチェックする。
もしリセットされていれば、退出ブロック150へ進む
もしキューフラグがセットされていれば、マイクロルー
チンはブロック204に進み、PSWのビット6のチェ
ックが行なわれる。
もしこれがリセットされていれば、マイクロルーチンは
退出ブロック150へ進み、次の命令の実行の前に、外
部割り込み信号のチェックが行なわれる。
もし、外部割り込み信号が存在すれば、マイクロルーチ
ンは次の命令を実行する前にこれを処理する。
ブロック204においてPSWのビット6がセットされ
ている場合には、Aレジスタはブロック205に示され
ているようにX 0082にセットされ、PSWの交換
がブロック206において次に行なわれる。
ブロック208においてこの時点でのPSWのビット6
がリセットされていれば、マイクロルーチンはブロック
210に進み、ブロック150Aで退出する。
PSWのビット6がセットされていれは゛、キューが記
入(エントリー)についてチェックされる。
もしどれか記入があれば、マイクロルーチンはブロック
212に進む。
もしキューに記入がなければ、マイクロルーチンはブロ
ック210においてPSWのビット0をチェックする。
もしこれがセットされていれば、ブロック214の待ち
状態に進む。
もしリセットされていれば、マイクロルーチンは行程O
のブロック150Aへ退出する。
このマイクロルーチンには2つの主要な利点がある。
その1つは即答割り込みであり、これにより、利用者は
各装置に1つづつ256までの呼出しロケーションを利
用することが可能で、かつ割り込みを行なう装置を識別
する必要がない。
他の利点は、動り込みサービスブロックの機構に依るも
ので゛あり、これにより、進行中のプログラムを中断す
ることなくバックグランド(背景的)形態において、デ
ータが転送されパルスが計数され得る。
すべてのマイクロルーチンは正規の利用者命令の実行の
間に遂行される。
更に、実時間のプログラムを中断することなく実時間プ
ログラムを間合わせることが出来る。
外部注意状態は、本装置にそのとき連動していない装置
によりシュミレートされ得る。
本装置は処理装置のプログラム制御下で試験される。
上記の如きシュミレートした割り込みが存在しないとき
は、計算機に取付けられた周辺装置群はプログラムを試
験するために信号を発生する必要がある。
更に、マイクロルーチンのシュミレート割り込み機能に
より、利用者はプログラムが特定の動作を行なうように
する割り込みをシュミレートすることができる。
特に、操作員がプログラムにフローチャートの特定の通
路を通るようにさせたい場合には、シュミレート割り込
み信号をマイクロルーチンに送ってマイクロルーチンが
必要な通路を通るようにすることができる。
【図面の簡単な説明】
第1A図および第1B図は合わさって、本考案にしたが
ったマイクロ命令を実行する汎用ディジタル処理装置を
ブロック形式で示している。 第2図は第1図の4つめ行程に対するフローチャートを
示している。 第3図は第1図の復号(デコード)用の第2読取り専用
メモリーの詳細なブロック図である。 第4A図および第4B図は合わさって、割り込みサービ
スブロックのブロック図と割り込みサービスブロックの
ファンクションコード(機能符号)を示している。 第5A図は模擬装置を介してまたはいくつかの外部装置
から割り込み信号が送られる動作順序を示すブロック図
である。 第5B1図および第5B2図は合わさって、完了または
終了行程へのテ゛−タ転送順序を示す図面である。 第5C図はパルス計数動作に対する割り込みを計数する
ための順序をブロック図で示す。 第5D図は外部装置の割り込み信号に対する終了または
完了順序のブロック随である。

Claims (1)

  1. 【実用新案登録請求の範囲】 次の構成を有し、読取り専用メモリ(ROM)に記憶さ
    れるマイクロルーチンに従って実行される使用者命令を
    もつ主メモリを具備するマイクロプログラムプリセッサ
    ; (a) マイクロルーチンの各々に関連して各使用者
    命令のマイクロルーチンの先頭番地を保持するデコード
    読取り専用メモリ (DROM)、(b) 命令レジ
    スタ、 (C) 使用者命令を主メモリから取出し命令レジス
    タに格納するための第1デコード命令手段、(d)
    使用者命令の操作コードを命令レジスタからとり出し前
    記デコード読取り専用メモリ (DROM)により当該使用者命令に関するマイクロル
    ーチンの先頭アドレスを得る手段、(e) 使用者命
    令を実行するためのマイクロルーチンをもつ読取り専用
    メモリ(ROM)のアドレスを与えるために前記先頭番
    地を受容し、順次歩進されるアドレスレジスタ、 (f) 主メモリから次の使用者命令をとり出すため
    の第2デコード命令手段。
JP57-41106U 1982-03-25 マイクロプログラムプロセツサ Expired JPS5922588Y2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57-41106U JPS5922588Y2 (ja) 1982-03-25 マイクロプログラムプロセツサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57-41106U JPS5922588Y2 (ja) 1982-03-25 マイクロプログラムプロセツサ

Publications (2)

Publication Number Publication Date
JPS5922588Y2 true JPS5922588Y2 (ja) 1984-07-05
JPS5922588Y1 JPS5922588Y1 (ja) 1984-07-05

Family

ID=

Similar Documents

Publication Publication Date Title
US3646522A (en) General purpose optimized microprogrammed miniprocessor
US5287465A (en) Parallel processing apparatus and method capable of switching parallel and successive processing modes
US5430862A (en) Emulation of CISC instructions by RISC instructions using two pipelined stages for overlapped CISC decoding and RISC execution
RU2137184C1 (ru) Отображение с помощью мультинаборов команд
US4729094A (en) Method and apparatus for coordinating execution of an instruction by a coprocessor
US4591972A (en) Data processing system with unique microcode control
US4569018A (en) Digital data processing system having dual-purpose scratchpad and address translation memory
JPS6339931B2 (ja)
JPS5918737B2 (ja) デ−タ処理システム
US4731736A (en) Method and apparatus for coordinating execution of an instruction by a selected coprocessor
US4750110A (en) Method and apparatus for executing an instruction contingent upon a condition present in another data processor
JP2581236B2 (ja) データ処理装置
JPS5811654B2 (ja) デ−タシヨリシステム
JPH0810428B2 (ja) データ処理装置
US5021991A (en) Coprocessor instruction format
US4597041A (en) Method and apparatus for enhancing the operation of a data processing system
EP1034473A2 (en) Enhanced instruction decoding
EP0526911B1 (en) A method and apparatus for coordinating execution of an instruction by a coprocessor
CA1321652C (en) Operand specifier processing
US4821231A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
JPS5922588Y2 (ja) マイクロプログラムプロセツサ
JP2680828B2 (ja) ディジタル装置
JPS6217773B2 (ja)
EP0312183A2 (en) Digital data processing system
JPH09274612A (ja) ベクトル処理装置