JPS6232503B2 - - Google Patents
Info
- Publication number
- JPS6232503B2 JPS6232503B2 JP57028808A JP2880882A JPS6232503B2 JP S6232503 B2 JPS6232503 B2 JP S6232503B2 JP 57028808 A JP57028808 A JP 57028808A JP 2880882 A JP2880882 A JP 2880882A JP S6232503 B2 JPS6232503 B2 JP S6232503B2
- Authority
- JP
- Japan
- Prior art keywords
- operand
- signal line
- memory
- register
- 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
Links
- 238000010586 diagram Methods 0.000 description 9
- 108091033192 miR-620 stem-loop Proteins 0.000 description 5
- 238000000034 method Methods 0.000 description 3
- 101500028021 Drosophila melanogaster Immune-induced peptide 16 Proteins 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
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図
は、本発明で扱う可変長命令の命令形式の一例を
示すものである。第1図には、2個のオペランド
指定子OS1,OS2を持つ2オペランド命令を示し
ており、命令語はオペコード部OPと、命令にて
定められている1個、または複数個のオペランド
指定子OS1,OS2を持つことができる。このよう
な可変長命令体系は例えば、「B1700 COBOL/
RPG−S−Language、1058823−015、
Copyright 1973、Burroughs Co.」や「VAX11
Architecture Handbook、Copyright 1979、by
Digital Equipment Corporation」に示され、周
知である。
ドレツシングモードがオペレーシヨンを指定する
オペコードから独立して与えられる。このため、
デエステイネイシヨンとなるオペランドがメモリ
上かレジスタ上となるかの情報はオペコードで与
えられず、デエステイネイシヨンとなるオペラン
ドのオペランド指定子で与えられる。一般に、命
令実行のためのマイクロ命令先頭アドレスはオペ
コードをもとに生成されるが、このような命令ア
ーキテクチヤでは、デイステイネイシヨンとなる
オペランドの所在が認識されないため、マイクロ
プログラムの途中でメモリとレジスタの識別を行
うマイクロ命令を挿入する必要がある。第1図
は、本発明で扱う可変長命令の命令形式の一例を
示すものである。第1図には、2個のオペランド
指定子OS1,OS2を持つ2オペランド命令を示し
ており、命令語はオペコード部OPと、命令にて
定められている1個、または複数個のオペランド
指定子OS1,OS2を持つことができる。このよう
な可変長命令体系は例えば、「B1700 COBOL/
RPG−S−Language、1058823−015、
Copyright 1973、Burroughs Co.」や「VAX11
Architecture Handbook、Copyright 1979、by
Digital Equipment Corporation」に示され、周
知である。
第2図は、パイプライン制御を図る従来方式の
データ処理装置における実行ユニツト(Eユニツ
ト)のMOVE命令のマイクロプログラムフロー
を示すものである。MOVE命令は、第1図に示
す命令語形式と同じ2オペランド命令である。第
2図において、第1ステツプ200において、第1
オペランド(SRCOP)をワークレジスタ(WK
1)に退避し、第2ステツプ205にて、第2オペ
ランドの所在がレジスタかメモリかを判定し、次
のステツプにてそれぞれ必要となる書き込み処理
を行う。
データ処理装置における実行ユニツト(Eユニツ
ト)のMOVE命令のマイクロプログラムフロー
を示すものである。MOVE命令は、第1図に示
す命令語形式と同じ2オペランド命令である。第
2図において、第1ステツプ200において、第1
オペランド(SRCOP)をワークレジスタ(WK
1)に退避し、第2ステツプ205にて、第2オペ
ランドの所在がレジスタかメモリかを判定し、次
のステツプにてそれぞれ必要となる書き込み処理
を行う。
第2図に示す様に、従来方式では、マイクロプ
ログラム中にデエステイネイシヨンとなるオペラ
ンドの所在を判定するステツプが必要となり、こ
のため、実行時間の低下を招いていた。
ログラム中にデエステイネイシヨンとなるオペラ
ンドの所在を判定するステツプが必要となり、こ
のため、実行時間の低下を招いていた。
本発明の目的は、可変長命令を高速に実行する
マイクロプログラム制御データ処理装置を提供す
るにある。
マイクロプログラム制御データ処理装置を提供す
るにある。
本発明の特徴は、オペランド指定子で指定され
るデエステイネイシヨンとなるオペランドがレジ
スタ上にあるかメモリ上にあるかを指示する手段
を有し、マイクロプログラムがあるパターンのと
き、上記指示手段によつて指示されたオペランド
の位置への書込みを指示するようにし、デエステ
イネイシヨンとなるオペランドの所在に無関係に
1つのマイクロ命令にて、オペランド指定子で指
定される位置への書込みを可能にしていることで
ある。
るデエステイネイシヨンとなるオペランドがレジ
スタ上にあるかメモリ上にあるかを指示する手段
を有し、マイクロプログラムがあるパターンのと
き、上記指示手段によつて指示されたオペランド
の位置への書込みを指示するようにし、デエステ
イネイシヨンとなるオペランドの所在に無関係に
1つのマイクロ命令にて、オペランド指定子で指
定される位置への書込みを可能にしていることで
ある。
以下、本発明の一実施例を詳細に説明する。
第3図は、本発明を適用したマイクロプログラ
ム制御データ処理装置の一実施例の全体構成を示
すブロツク図である。このデータ処理装置は、主
記憶(略称MM)300、主記憶制御装置(略称
MCU)305、高速バツフアメモリ(略称
BM1、BM2)310,315、命令準備ユニツト
(略称IU)320、命令実行ユニツト(略称
EU)325から構成される。IU320は、命令
バツフア及びデコード部(略称IB & DEC)
330アドレス計算部(略称AALU)335、及
びオペランドメモリアクセス部(略称OPDMA)
340から構成される。
ム制御データ処理装置の一実施例の全体構成を示
すブロツク図である。このデータ処理装置は、主
記憶(略称MM)300、主記憶制御装置(略称
MCU)305、高速バツフアメモリ(略称
BM1、BM2)310,315、命令準備ユニツト
(略称IU)320、命令実行ユニツト(略称
EU)325から構成される。IU320は、命令
バツフア及びデコード部(略称IB & DEC)
330アドレス計算部(略称AALU)335、及
びオペランドメモリアクセス部(略称OPDMA)
340から構成される。
第3図において、MM300は可変長命令、及
びこの命令が扱うオペランドを記憶するもので、
MCU305の制御を受けてBM1310、BM23
15との間でシステムバス12Aを介してデータ
の授受を行う。IB & DEC330はBM131
0に信号線15Aによりアドレスを送出し、信号
線15Cによりアクセス起動信号を送出し、信号
線15Bを介して読み出した命令を命令バツフア
に取り込み、オペコードをデコードしてマイクロ
命令の先頭アドレスを生成して信号線17Aを介
してEU325に転送し、オペランド指定子を1
つずつ順次デコードして、アドレス計算の情報を
信号線17Eを介してAALU335に転送し、オ
ペランド準備のための制御信号を信号線17B
で、デエステイネイシヨンとなるジエネラルレジ
スタのアドレスを信号線17Cで、それぞれ転送
する。AALU335は、アドレス計算を行い、求
めたオペランドのアドレスを信号線18Aを介し
て、またアドレスの準備が完了した通知を信号線
18Bを介してOPDMA340に転送する。
OPDMA340は、信号線17Bにより制御信号
を受け取り、信号線18Aによりアドレスを受け
取り、メモリアクセスを行う。EU325は信号
線17Aによりマイクロプログラムの先頭アドレ
スを受け取り、命令の実行を行う。
びこの命令が扱うオペランドを記憶するもので、
MCU305の制御を受けてBM1310、BM23
15との間でシステムバス12Aを介してデータ
の授受を行う。IB & DEC330はBM131
0に信号線15Aによりアドレスを送出し、信号
線15Cによりアクセス起動信号を送出し、信号
線15Bを介して読み出した命令を命令バツフア
に取り込み、オペコードをデコードしてマイクロ
命令の先頭アドレスを生成して信号線17Aを介
してEU325に転送し、オペランド指定子を1
つずつ順次デコードして、アドレス計算の情報を
信号線17Eを介してAALU335に転送し、オ
ペランド準備のための制御信号を信号線17B
で、デエステイネイシヨンとなるジエネラルレジ
スタのアドレスを信号線17Cで、それぞれ転送
する。AALU335は、アドレス計算を行い、求
めたオペランドのアドレスを信号線18Aを介し
て、またアドレスの準備が完了した通知を信号線
18Bを介してOPDMA340に転送する。
OPDMA340は、信号線17Bにより制御信号
を受け取り、信号線18Aによりアドレスを受け
取り、メモリアクセスを行う。EU325は信号
線17Aによりマイクロプログラムの先頭アドレ
スを受け取り、命令の実行を行う。
本発明はマイクロ命令の実行とメモリアクセス
の制御方式に係わり、これは第3図のOPDMA3
40とEU325との部分に特徴がある。そこ
で、第4図、第5図、及び第6図により更にこれ
らの部分を詳細に説明する。
の制御方式に係わり、これは第3図のOPDMA3
40とEU325との部分に特徴がある。そこ
で、第4図、第5図、及び第6図により更にこれ
らの部分を詳細に説明する。
第4図は、OPDMA340の構成を示すブロツ
ク図である。OPDMA340は、メモリアドレス
レジスタ(略称MAR)430、アドレス準備完
了フラグ(略称ARDYF)425、オペランド指
定子に含まれるレジスタのアドレスを保持するレ
ジスタ(略称GRAR)420、ライトデータを保
持するメモリライトレジスタ(略称MWR)41
5、制御部(略称CONT)410、オペランドが
メモリかレジスタであるかを通知するレジスタ
(略称MODR)445、ソースとなるオペランド
を保持するバツフアレジスタ(略称OBR)44
0、OBR440にオペランドが準備されたこと
を通知するためのフラグ(略称ORDYF)43
5、ドライバ445,450を主な要素として構
成される。もちろん、この他にも説明しなかつた
いくつかの要素があるが、本発明の理解には必要
ないので説明を省略した。
ク図である。OPDMA340は、メモリアドレス
レジスタ(略称MAR)430、アドレス準備完
了フラグ(略称ARDYF)425、オペランド指
定子に含まれるレジスタのアドレスを保持するレ
ジスタ(略称GRAR)420、ライトデータを保
持するメモリライトレジスタ(略称MWR)41
5、制御部(略称CONT)410、オペランドが
メモリかレジスタであるかを通知するレジスタ
(略称MODR)445、ソースとなるオペランド
を保持するバツフアレジスタ(略称OBR)44
0、OBR440にオペランドが準備されたこと
を通知するためのフラグ(略称ORDYF)43
5、ドライバ445,450を主な要素として構
成される。もちろん、この他にも説明しなかつた
いくつかの要素があるが、本発明の理解には必要
ないので説明を省略した。
次にOPDMA340の動作オペランドがソース
の場合とデエステイネイシヨンとの場合について
説明する。
の場合とデエステイネイシヨンとの場合について
説明する。
(1) オペランドがソースの場合
MAR430に設定されたアドレスを信号線
16Aを介してBM2315に転送し、CONT4
10はメモリリードの起動信号を信号線16C
を介してBM2315に通知し、BM2315から
読み出されたデータはデータバス16Bを介し
てOBR440に格内される。オペランドの準
備を完了するとCONT410は信号線21Aを
介してORDYFをセツトし、オペランドの準備
完了を信号線19Eを介してEU325に通知
する。メモリリードアクセス中は信号線21
B,21Cによりドライバ445,450をと
もにオフ状態としてデータバス16B上でのデ
ータのぶつかりを防ぐ。オペランドがイミーデ
イエツトモードやレジスタモードで与えられる
場合にはメモリアクセスが不要である。
16Aを介してBM2315に転送し、CONT4
10はメモリリードの起動信号を信号線16C
を介してBM2315に通知し、BM2315から
読み出されたデータはデータバス16Bを介し
てOBR440に格内される。オペランドの準
備を完了するとCONT410は信号線21Aを
介してORDYFをセツトし、オペランドの準備
完了を信号線19Eを介してEU325に通知
する。メモリリードアクセス中は信号線21
B,21Cによりドライバ445,450をと
もにオフ状態としてデータバス16B上でのデ
ータのぶつかりを防ぐ。オペランドがイミーデ
イエツトモードやレジスタモードで与えられる
場合にはメモリアクセスが不要である。
この場合には、オペランドそのものがMAR
430にセツトされるため、信号線21Bによ
りドライバ450をオンさせることにより
MAR430のオペランドをOBR440に格納
する。このようにすることによつてソースオペ
ランドの所在によらずEU325は、OBR44
0からオペランドを受け取ることが可能とな
る。
430にセツトされるため、信号線21Bによ
りドライバ450をオンさせることにより
MAR430のオペランドをOBR440に格納
する。このようにすることによつてソースオペ
ランドの所在によらずEU325は、OBR44
0からオペランドを受け取ることが可能とな
る。
(2) オペランドがデエステイネイシヨンの場合。
オペランドがメモリの場合、オペランドのア
ドレスがMAR430に格納され、ARDYF42
5がセツトされて、アドレスの準備完了を信号
線19DによりEU325に通知する。この時
MODR445は“0”にセツトされ、オペラ
ンドがメモリであることを信号線19Cを介し
てEU325に通知する。EU325は、信号線
19D,19Cを受けてライトデータを信号線
19Aを介してMWR415に格納し、メモリ
ライト動作の開始を信号線19Bを介して
CONT410に通知する。CONT410は信号
線19Bの通知を受けて、信号線16Cを介し
てBM2315にメモリライトの起動信号を発行
し、信号線21Cを介してドライバ445をオ
ン状態にし、MWR415のライトデータをデ
ータバス16Bを介してBM2315に転送す
る。このような手順に従い、メモリライトの動
作を行う。
ドレスがMAR430に格納され、ARDYF42
5がセツトされて、アドレスの準備完了を信号
線19DによりEU325に通知する。この時
MODR445は“0”にセツトされ、オペラ
ンドがメモリであることを信号線19Cを介し
てEU325に通知する。EU325は、信号線
19D,19Cを受けてライトデータを信号線
19Aを介してMWR415に格納し、メモリ
ライト動作の開始を信号線19Bを介して
CONT410に通知する。CONT410は信号
線19Bの通知を受けて、信号線16Cを介し
てBM2315にメモリライトの起動信号を発行
し、信号線21Cを介してドライバ445をオ
ン状態にし、MWR415のライトデータをデ
ータバス16Bを介してBM2315に転送す
る。このような手順に従い、メモリライトの動
作を行う。
オペランドがレジスタの場合、レジスタのア
ドレスがGRAR420に格納されて、MODR4
45は“1”にセツトされ、オペランドがレジ
スタであることが信号線19Cを介してEU3
25に通知される。この時、EU325は
GRAR420の出力19Gをアドレスとしてラ
イトデータをジエネラルレジスタの該当番地に
書き込む動作を行う。この時は、信号線19B
のメモリライト開始の信号は出力されないた
め、メモリライトのアクセスは行われない。
ドレスがGRAR420に格納されて、MODR4
45は“1”にセツトされ、オペランドがレジ
スタであることが信号線19Cを介してEU3
25に通知される。この時、EU325は
GRAR420の出力19Gをアドレスとしてラ
イトデータをジエネラルレジスタの該当番地に
書き込む動作を行う。この時は、信号線19B
のメモリライト開始の信号は出力されないた
め、メモリライトのアクセスは行われない。
尚、オペランド指定子で与えられるオペランド
の形式として、ソースとデエステイネイシヨンを
兼ねたモデイフアイ形式のものがあるが、これは
先にソースオペランドとデエステイネイシヨンオ
ペランドの2つのオペランドに予め分解されて、
OPDMA340に転送されるため、新たな動作モ
ードとする必要はない。
の形式として、ソースとデエステイネイシヨンを
兼ねたモデイフアイ形式のものがあるが、これは
先にソースオペランドとデエステイネイシヨンオ
ペランドの2つのオペランドに予め分解されて、
OPDMA340に転送されるため、新たな動作モ
ードとする必要はない。
第5図はEU325の詳細を示すブロツク図で
ある。EU325は、マイクロプログラム制御部
(略称MPC)510、ジエネラルレジスタフアイ
ル(略称GR)515、ワークレジスタフアイル
(略称WK)520、セレクタ(略称SEL)52
5,530、及び演算器(略称EALU)535か
ら構成される。この他にも種々の構成要素がある
ことはもちろんである。
ある。EU325は、マイクロプログラム制御部
(略称MPC)510、ジエネラルレジスタフアイ
ル(略称GR)515、ワークレジスタフアイル
(略称WK)520、セレクタ(略称SEL)52
5,530、及び演算器(略称EALU)535か
ら構成される。この他にも種々の構成要素がある
ことはもちろんである。
EU325の中では特にマイクロプログラム制
御部(MPC)510が本発明に係わるため、第
6図によりMPC510の構成を詳しく説明す
る。MPC510は、マイクロプログラムを格納
するメモリ(RAM:Random Access Memory)
615、マイクロ命令レジスタ(略称MIR)62
0、マイクロプログラムアドレス制御部(略称
MPAC)610、デコーダ(略称DEC)62
5、ANDゲート(略称A)630,635,6
40,650、及びORゲート(略称OR)64
5,655から構成される。もちろん、この他に
多くの構成要素を含むが本発明の理解には必要な
いので省略した。
御部(MPC)510が本発明に係わるため、第
6図によりMPC510の構成を詳しく説明す
る。MPC510は、マイクロプログラムを格納
するメモリ(RAM:Random Access Memory)
615、マイクロ命令レジスタ(略称MIR)62
0、マイクロプログラムアドレス制御部(略称
MPAC)610、デコーダ(略称DEC)62
5、ANDゲート(略称A)630,635,6
40,650、及びORゲート(略称OR)64
5,655から構成される。もちろん、この他に
多くの構成要素を含むが本発明の理解には必要な
いので省略した。
MPAC610は次に実行するマイクロ命令のア
ドレスを出力するもので、信号線40Aによりア
ドレスをRAM615に送出してアクセスし、読
み出したマイクロ命令は信号線41Aを介して
MIR620にセツトされる。MIR620にセツト
されたマイクロ命令により各部動作が制御され
る。次に実行されるマイクロ命令のアドレスは
MIR620の出力42AによりMPAC610に送
られる。MIR620の出力31BはWK520の
アドレスを指定する。MIR620の出力42B
は、レジスタへの書き込み、メモリアクセスの制
御、オペランドの受け取りの制御を行う信号線で
あり、これは、DEC625によつてデコードさ
れる。DEC625の出力43Aはデエステイネ
イシヨンオペランドへの書き込みの時に“1”と
なる信号線で、出力43Bは、ソースオペランド
をEU325へ取り込むマイクロ命令の時“1”
となる信号線で、出力31CはWKへの書き込み
許可を与える信号線である。
ドレスを出力するもので、信号線40Aによりア
ドレスをRAM615に送出してアクセスし、読
み出したマイクロ命令は信号線41Aを介して
MIR620にセツトされる。MIR620にセツト
されたマイクロ命令により各部動作が制御され
る。次に実行されるマイクロ命令のアドレスは
MIR620の出力42AによりMPAC610に送
られる。MIR620の出力31BはWK520の
アドレスを指定する。MIR620の出力42B
は、レジスタへの書き込み、メモリアクセスの制
御、オペランドの受け取りの制御を行う信号線で
あり、これは、DEC625によつてデコードさ
れる。DEC625の出力43Aはデエステイネ
イシヨンオペランドへの書き込みの時に“1”と
なる信号線で、出力43Bは、ソースオペランド
をEU325へ取り込むマイクロ命令の時“1”
となる信号線で、出力31CはWKへの書き込み
許可を与える信号線である。
出力43Aが“1”の時、すなわち、デエステ
イネイシヨンオペランドへの書き込み時、
MODR445の出力19Cが“1”であれば、
GR515への書き込み許可信号であるゲート6
35の出力31Aが“1”となり、演算結果の出
力は、GR515へ書き込まれる。MODRの出力
19Cが“0”で、かつARDYF425の出力1
9Dが“1”の時、メモリライトアクセスの開始
を示す制御信号19Bが出力される。
イネイシヨンオペランドへの書き込み時、
MODR445の出力19Cが“1”であれば、
GR515への書き込み許可信号であるゲート6
35の出力31Aが“1”となり、演算結果の出
力は、GR515へ書き込まれる。MODRの出力
19Cが“0”で、かつARDYF425の出力1
9Dが“1”の時、メモリライトアクセスの開始
を示す制御信号19Bが出力される。
出力43Bが“1”の時、すなわち、ソースオ
ペランドを受け取るマイクロ命令の実行時、オペ
ランドの準備完了を示す信号線19Eが“0”の
時、信号線46A,47A,48Aはともに
“0”となる。信号線45Aは、EU325のマイ
クロ命令の実行を制御するクロツク信号の許可条
件を与えるもので、これが“0”の時、そのマシ
ンサイクルでのマイクロ命令の実行はサプレスさ
れる。出力43Aが“1”で、信号線19Cが
“0”で、かつ信号線19Dが“0”の時、すな
わちメモリがデエステイネイシヨンとなるオペラ
ンドでデエステイネイシヨンへの書き込みをマイ
クロ命令が実行しようとしたが、まだアドレスが
準備されていない状態の時で、この時もやはりゲ
ート650の出力48Aが“0”となり、マイク
ロ命令の実行はサプレスされる。
ペランドを受け取るマイクロ命令の実行時、オペ
ランドの準備完了を示す信号線19Eが“0”の
時、信号線46A,47A,48Aはともに
“0”となる。信号線45Aは、EU325のマイ
クロ命令の実行を制御するクロツク信号の許可条
件を与えるもので、これが“0”の時、そのマシ
ンサイクルでのマイクロ命令の実行はサプレスさ
れる。出力43Aが“1”で、信号線19Cが
“0”で、かつ信号線19Dが“0”の時、すな
わちメモリがデエステイネイシヨンとなるオペラ
ンドでデエステイネイシヨンへの書き込みをマイ
クロ命令が実行しようとしたが、まだアドレスが
準備されていない状態の時で、この時もやはりゲ
ート650の出力48Aが“0”となり、マイク
ロ命令の実行はサプレスされる。
第7図は、第3図、第4図、第5図、及び第6
図で説明したデータ処理装置の命令実行ユニツト
(EU)325のMOVE命令のマイクロプログラ
ムを示すものである。第1ステツプ700では、ソ
ースオペランドである第1オペランドをIU32
0から受け取つてWK1に格納し、第2ステツプ
710では、WK1の内容を第2オペランドの所在
する位置への書き込みを指示する。第1ステツプ
700で、“SRCOP”が指定されるとDEC625の出
力43Bが“1”となり、ORDYF435の出力
19Eが“1”の条件、すなわちソースオペラン
ドの準備が完了したという条件、でマイクロ命令
の実行が行われる。第2ステツプ710でデエステ
イネイシヨンに“GR or MWR”が指定される
と、DEC625の出力43Aが“1”となり、
MODR445の状態に応じてデエステイネイシ
ヨンオペランドへの書き込みが行われる。
図で説明したデータ処理装置の命令実行ユニツト
(EU)325のMOVE命令のマイクロプログラ
ムを示すものである。第1ステツプ700では、ソ
ースオペランドである第1オペランドをIU32
0から受け取つてWK1に格納し、第2ステツプ
710では、WK1の内容を第2オペランドの所在
する位置への書き込みを指示する。第1ステツプ
700で、“SRCOP”が指定されるとDEC625の出
力43Bが“1”となり、ORDYF435の出力
19Eが“1”の条件、すなわちソースオペラン
ドの準備が完了したという条件、でマイクロ命令
の実行が行われる。第2ステツプ710でデエステ
イネイシヨンに“GR or MWR”が指定される
と、DEC625の出力43Aが“1”となり、
MODR445の状態に応じてデエステイネイシ
ヨンオペランドへの書き込みが行われる。
本発明によれば、デエステイネイシヨンとなる
オペランドの所在をマイクロプログラムで判定す
る必要がなくなり、マイクロプログラムステツプ
数を短縮することができ、命令実行時間の短縮と
マイクロプログラム容量の削減を可能とすること
ができる。
オペランドの所在をマイクロプログラムで判定す
る必要がなくなり、マイクロプログラムステツプ
数を短縮することができ、命令実行時間の短縮と
マイクロプログラム容量の削減を可能とすること
ができる。
第1図は、本発明が扱う可変長命令フオーマツ
トの一例を示す図、第2図は、従来方式のマイク
ロプログラムフローを示す図、第3図は、本発明
を適用するデータ処理装置全体を示すブロツク
図、第4図、第5図は第3図の内の本発明に係わ
る部分の詳細ブロツク図、第6図は、第5図の内
の本発明に係わる部分の詳細ブロツク図、第7図
は、本発明を使用した場合のマイクロプログラム
フローを示す図である。 425,435……フラグ、415,445,
420,430,440,620……レジスタ、
625……デコーダ、630,635,640,
645,650,655……ゲート、515……
レジスタフアイル。
トの一例を示す図、第2図は、従来方式のマイク
ロプログラムフローを示す図、第3図は、本発明
を適用するデータ処理装置全体を示すブロツク
図、第4図、第5図は第3図の内の本発明に係わ
る部分の詳細ブロツク図、第6図は、第5図の内
の本発明に係わる部分の詳細ブロツク図、第7図
は、本発明を使用した場合のマイクロプログラム
フローを示す図である。 425,435……フラグ、415,445,
420,430,440,620……レジスタ、
625……デコーダ、630,635,640,
645,650,655……ゲート、515……
レジスタフアイル。
Claims (1)
- 1 オペランドのアドレツシングモードを指定す
るオペランド指定子がオペレーシヨンを指定する
オペレーシヨンコード部分から独立している可変
長命令を実行するマイクロプログラム制御データ
処理装置において、オペランドのアドレスの準備
状況を指示する第1の手段と、オペランド指定子
で指定されるデエステイネイシヨンとなるオペラ
ンドがレジスタ上にあるかメモリ上にあるかを指
示する第2の手段と、マイクロプログラムがある
パターンのとき、該第1の手段からの指示を受
け、該第2の手段がメモリ上のオペランドを指示
しているときにメモリへの書込みを指示する第3
の手段と、マイクロプログラムが上記パターンの
とき、該第2の手段がレジスタ上のオペランドを
指示しているときにレジスタへの書込みを指示す
る第4の手段を備えたことを特徴とするマイクロ
プログラム制御データ処理装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57028808A JPS58146941A (ja) | 1982-02-26 | 1982-02-26 | マイクロプログラム制御デ−タ処理装置 |
EP83101877A EP0087785B1 (en) | 1982-02-26 | 1983-02-25 | Microprogram controlled data processing apparatus |
DE8383101877T DE3380602D1 (de) | 1982-02-26 | 1983-02-25 | Microprogram controlled data processing apparatus |
US06/930,532 US4807113A (en) | 1982-02-26 | 1986-11-14 | Microprogrammed control data processing apparatus in which operand source and/or operand destination is determined independent of microprogram control |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57028808A JPS58146941A (ja) | 1982-02-26 | 1982-02-26 | マイクロプログラム制御デ−タ処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS58146941A JPS58146941A (ja) | 1983-09-01 |
JPS6232503B2 true JPS6232503B2 (ja) | 1987-07-15 |
Family
ID=12258713
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP57028808A Granted JPS58146941A (ja) | 1982-02-26 | 1982-02-26 | マイクロプログラム制御デ−タ処理装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US4807113A (ja) |
EP (1) | EP0087785B1 (ja) |
JP (1) | JPS58146941A (ja) |
DE (1) | DE3380602D1 (ja) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61285537A (ja) * | 1985-06-12 | 1986-12-16 | Hitachi Ltd | マイクロプログラム制御によるデ−タ処理装置 |
US4903196A (en) * | 1986-05-02 | 1990-02-20 | International Business Machines Corporation | Method and apparatus for guaranteeing the logical integrity of data in the general purpose registers of a complex multi-execution unit uniprocessor |
CA1271561A (en) * | 1986-07-02 | 1990-07-10 | Jeffry M. Bram | Instruction decoding microengines |
US5233695A (en) * | 1987-03-31 | 1993-08-03 | Kabushiki Kaisha Toshiba | Microprocessor with a reduced size microprogram |
JP2635057B2 (ja) * | 1987-11-04 | 1997-07-30 | 株式会社日立製作所 | マイクロプロセッサ |
JPH01183736A (ja) * | 1988-01-18 | 1989-07-21 | Toshiba Corp | 情報処理装置 |
EP0349124B1 (en) * | 1988-06-27 | 1996-10-09 | Digital Equipment Corporation | Operand specifier processing |
US5117487A (en) * | 1988-08-26 | 1992-05-26 | Kabushiki Kaisha Toshiba | Method for accessing microprocessor and microinstruction control type microprocessor including pointer register |
US5142633A (en) * | 1989-02-03 | 1992-08-25 | Digital Equipment Corporation | Preprocessing implied specifiers in a pipelined processor |
EP0388735A3 (en) * | 1989-03-10 | 1993-01-13 | Nec Corporation | Microprogram controller having fixed-instruction generator and microprogram memory |
US5487156A (en) * | 1989-12-15 | 1996-01-23 | Popescu; Valeri | Processor architecture having independently fetching issuing and updating operations of instructions which are sequentially assigned and stored in order fetched |
JPH04260929A (ja) * | 1991-01-21 | 1992-09-16 | Mitsubishi Electric Corp | データ処理装置 |
US5542058A (en) * | 1992-07-06 | 1996-07-30 | Digital Equipment Corporation | Pipelined computer with operand context queue to simplify context-dependent execution flow |
JP3339132B2 (ja) * | 1993-09-14 | 2002-10-28 | ソニー株式会社 | 中央処理装置 |
US6378062B1 (en) * | 1994-01-04 | 2002-04-23 | Intel Corporation | Method and apparatus for performing a store operation |
US5898854A (en) * | 1994-01-04 | 1999-04-27 | Intel Corporation | Apparatus for indicating an oldest non-retired load operation in an array |
US5577200A (en) * | 1994-02-28 | 1996-11-19 | Intel Corporation | Method and apparatus for loading and storing misaligned data on an out-of-order execution computer system |
US5659785A (en) * | 1995-02-10 | 1997-08-19 | International Business Machines Corporation | Array processor communication architecture with broadcast processor instructions |
US5864704A (en) * | 1995-10-10 | 1999-01-26 | Chromatic Research, Inc. | Multimedia processor using variable length instructions with opcode specification of source operand as result of prior instruction |
US7376814B1 (en) | 1999-09-07 | 2008-05-20 | Nxp B.V. | Method for forming variable length instructions in a processing system |
WO2015173853A1 (ja) * | 2014-05-12 | 2015-11-19 | 株式会社日立製作所 | 情報処理装置、その処理方法、及び入出力装置 |
US20220291947A1 (en) * | 2021-03-10 | 2022-09-15 | Meta Platforms, Inc. | Apparatus, systems, and methods for facilitating efficient hardware-firmware interactions |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS4992960A (ja) * | 1973-01-10 | 1974-09-04 | ||
JPS57756A (en) * | 1980-06-04 | 1982-01-05 | Hitachi Ltd | Data processor |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3976977A (en) * | 1975-03-26 | 1976-08-24 | Honeywell Information Systems, Inc. | Processor for input-output processing system |
CA1059639A (en) * | 1975-03-26 | 1979-07-31 | Garvin W. Patterson | Instruction look ahead having prefetch concurrency and pipe line features |
US4117536A (en) * | 1976-12-27 | 1978-09-26 | International Business Machines Corporation | Instruction processing control apparatus |
US4179738A (en) * | 1978-06-23 | 1979-12-18 | International Business Machines Corporation | Programmable control latch mechanism for a data processing system |
US4236206A (en) * | 1978-10-25 | 1980-11-25 | Digital Equipment Corporation | Central processor unit for executing instructions of variable length |
GB2062912B (en) * | 1979-09-29 | 1983-09-14 | Plessey Co Ltd | Data processing system including internal register addressing arrangements |
CA1174370A (en) * | 1980-05-19 | 1984-09-11 | Hidekazu Matsumoto | Data processing unit with pipelined operands |
US4530050A (en) * | 1981-08-26 | 1985-07-16 | Hitachi, Ltd. | Central processing unit for executing instructions of variable length having end information for operand specifiers |
-
1982
- 1982-02-26 JP JP57028808A patent/JPS58146941A/ja active Granted
-
1983
- 1983-02-25 EP EP83101877A patent/EP0087785B1/en not_active Expired
- 1983-02-25 DE DE8383101877T patent/DE3380602D1/de not_active Expired
-
1986
- 1986-11-14 US US06/930,532 patent/US4807113A/en not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS4992960A (ja) * | 1973-01-10 | 1974-09-04 | ||
JPS57756A (en) * | 1980-06-04 | 1982-01-05 | Hitachi Ltd | Data processor |
Also Published As
Publication number | Publication date |
---|---|
JPS58146941A (ja) | 1983-09-01 |
EP0087785A2 (en) | 1983-09-07 |
EP0087785B1 (en) | 1989-09-20 |
DE3380602D1 (de) | 1989-10-26 |
US4807113A (en) | 1989-02-21 |
EP0087785A3 (en) | 1986-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS6232503B2 (ja) | ||
JP2554050B2 (ja) | デ−タ処理方法 | |
JP3237858B2 (ja) | 演算装置 | |
US5077659A (en) | Data processor employing the same microprograms for data having different bit lengths | |
JPH0574096B2 (ja) | ||
JPS6217773B2 (ja) | ||
JPS623332A (ja) | 情報処理装置 | |
JP2583506B2 (ja) | データ処理装置 | |
JPH0218729B2 (ja) | ||
JP2814683B2 (ja) | 命令処理装置 | |
JPS58200349A (ja) | マイクロプログラム制御装置 | |
JPH0713757A (ja) | データ処理装置 | |
JPH0317135B2 (ja) | ||
JPS63216134A (ja) | 中央処理装置 | |
JP2543589B2 (ja) | デ―タ処理装置 | |
JP2743947B2 (ja) | マイクロプログラム制御方式 | |
JPS61235946A (ja) | デ−タ処理装置 | |
JPS6158042A (ja) | マイクロプログラム制御方式 | |
JPH0375904B2 (ja) | ||
JPS6375833A (ja) | 情報処理装置 | |
JPS6149695B2 (ja) | ||
JPH06332701A (ja) | 情報処理装置 | |
JPH0535499A (ja) | データ処理装置及びデータ処理方法 | |
JPS62226336A (ja) | マイクロプログラム制御方式 | |
JPS6014334A (ja) | デ−タ処理装置 |