JPH0523447B2 - - Google Patents
Info
- Publication number
- JPH0523447B2 JPH0523447B2 JP61067050A JP6705086A JPH0523447B2 JP H0523447 B2 JPH0523447 B2 JP H0523447B2 JP 61067050 A JP61067050 A JP 61067050A JP 6705086 A JP6705086 A JP 6705086A JP H0523447 B2 JPH0523447 B2 JP H0523447B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- address
- memory
- internal
- effective
- 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 - Lifetime
Links
- 238000000034 method Methods 0.000 claims description 13
- 238000010586 diagram Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000000694 effects Effects 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/3017—Runtime instruction translation, e.g. macros
-
- 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)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Description
【発明の詳細な説明】
[発明の目的]
(産業上の利用分野)
この発明は複数のメモリオペランドを有する命
令の実行を、所謂パイプライン方式において高速
に行なうことのできるプロセツサに関する。
令の実行を、所謂パイプライン方式において高速
に行なうことのできるプロセツサに関する。
(従来の技術)
最近のマイクロコンピユータにおいては、命令
の高速処理を行なうために、所謂パイプライン方
式が多用されている。パイプライン方式は命令を
何段かのステージに分割して処理を行ない、それ
ぞれのステージを並列動作させて、命令の処理速
度を向上させる方式である。
の高速処理を行なうために、所謂パイプライン方
式が多用されている。パイプライン方式は命令を
何段かのステージに分割して処理を行ない、それ
ぞれのステージを並列動作させて、命令の処理速
度を向上させる方式である。
このようなパイプライン方式により命令の実行
処理が行なわれるマイクロプロセツサにおいて、
複数のメモリオペランドを有する機械語による命
令は、その実行処理を行なうために、機械語によ
る命令がパイプライン処理に適応した命令形式
(内部命令)に変換される際に、おのおののメモ
リオペランドに対応する実効アドレスが算出され
る。
処理が行なわれるマイクロプロセツサにおいて、
複数のメモリオペランドを有する機械語による命
令は、その実行処理を行なうために、機械語によ
る命令がパイプライン処理に適応した命令形式
(内部命令)に変換される際に、おのおののメモ
リオペランドに対応する実効アドレスが算出され
る。
このように1つの命令に対して複数のメモリオ
ペランドの実効アドレスを算出するためには、命
令のメモリオペランドの実効アドレスを算出する
実効メモリオペランドアドレス算出回路をメモリ
オペランドの個数と同じ数だけ用意して、それぞ
れのメモリオペランドに対応した実効アドレス
が、それぞれのメモリオペランドに対応した実効
アドレス算出回路によりそれぞれ独立して算出さ
れていた。
ペランドの実効アドレスを算出するためには、命
令のメモリオペランドの実効アドレスを算出する
実効メモリオペランドアドレス算出回路をメモリ
オペランドの個数と同じ数だけ用意して、それぞ
れのメモリオペランドに対応した実効アドレス
が、それぞれのメモリオペランドに対応した実効
アドレス算出回路によりそれぞれ独立して算出さ
れていた。
しかしながら、複数の実効メモリオペランドア
ドレス算出回路をマイクロプロセツサに設けるこ
とは、マイクロプロセツサが複雑化するとともに
マイクロプロセツサの大型化を招くという不具合
が生じていた。
ドレス算出回路をマイクロプロセツサに設けるこ
とは、マイクロプロセツサが複雑化するとともに
マイクロプロセツサの大型化を招くという不具合
が生じていた。
一方、複数のメモリオペランドに対応する実効
アドレスを、1個の実効メモリオペランドアドレ
ス算出回路により、順次1つずつ算出する方法も
用いられていた。この方法によれば、実効メモリ
オペランドアドレス算出回路は1つだけで複数の
メモリオペランドに対応するそれぞれの実効アド
レスを算出することができることになる。しかし
ながら、実効アドレスの算出は、1つのメモリオ
ペランド毎順次行なわれるために、複数のメモリ
オペランドを有する命令の実行時間が遅くなると
いう問題があつた。
アドレスを、1個の実効メモリオペランドアドレ
ス算出回路により、順次1つずつ算出する方法も
用いられていた。この方法によれば、実効メモリ
オペランドアドレス算出回路は1つだけで複数の
メモリオペランドに対応するそれぞれの実効アド
レスを算出することができることになる。しかし
ながら、実効アドレスの算出は、1つのメモリオ
ペランド毎順次行なわれるために、複数のメモリ
オペランドを有する命令の実行時間が遅くなると
いう問題があつた。
(発明が解決しようとする問題点)
以上説明したように、複数のメモリオペランド
を有する機械語による命令を処理するプロセツサ
において、それぞれのメモリオペランドの実効ア
ドレスを算出するために、複数の実効メモリオペ
ランドアドレス算出回路を用いた場合には、プロ
セツサの複雑化及び大型を招くという問題があつ
た。これに対して、1個の実効メモリオペランド
アドレス算出回路により、1つのメモリオペラン
ド毎に順次それぞれのメモリオペランドに対する
実効アドレスを算出する場合には、複数のメモリ
オペランドを有する命令を高速に実行処理するこ
とができないという問題があつた。
を有する機械語による命令を処理するプロセツサ
において、それぞれのメモリオペランドの実効ア
ドレスを算出するために、複数の実効メモリオペ
ランドアドレス算出回路を用いた場合には、プロ
セツサの複雑化及び大型を招くという問題があつ
た。これに対して、1個の実効メモリオペランド
アドレス算出回路により、1つのメモリオペラン
ド毎に順次それぞれのメモリオペランドに対する
実効アドレスを算出する場合には、複数のメモリ
オペランドを有する命令を高速に実行処理するこ
とができないという問題があつた。
そこで、この発明は複数のメモリオペランドを
有する機械語による命令を、構成を複雑かつ大型
化することなく実行処理速度を向上させたプロセ
ツサを提供することを目的とする。
有する機械語による命令を、構成を複雑かつ大型
化することなく実行処理速度を向上させたプロセ
ツサを提供することを目的とする。
[発明の構成]
(問題点を解決するための手段)
上記目的を達成するために、この発明は、外部
から供給される複数のメモリオペランドを有する
命令を内部命令に変換するデコード手段と、前記
デコード手段によつて得られた内部命令を1つの
メモリオペランドを有する複数の内部命令に分割
する分割手段と、実効アドレスを算出する1つの
実効アドレス算出手段を備え、前記分割手段によ
つて分割された1つのメモリオペランドを有する
それぞれの内部命令の実効アドレスを前記実効ア
ドレス算出手段によつて算出し、パイプライン方
式により順次実行処理する実行手段と、前記デコ
ード手段及び実行手段と外部との情報の転送を制
御するバス制御手段とから構成される。
から供給される複数のメモリオペランドを有する
命令を内部命令に変換するデコード手段と、前記
デコード手段によつて得られた内部命令を1つの
メモリオペランドを有する複数の内部命令に分割
する分割手段と、実効アドレスを算出する1つの
実効アドレス算出手段を備え、前記分割手段によ
つて分割された1つのメモリオペランドを有する
それぞれの内部命令の実効アドレスを前記実効ア
ドレス算出手段によつて算出し、パイプライン方
式により順次実行処理する実行手段と、前記デコ
ード手段及び実行手段と外部との情報の転送を制
御するバス制御手段とから構成される。
(作 用)
上記構成において、この発明は、複数のメモリ
オペランドを有する内部命令を、1つのメモリオ
ペランドを有する複数の内部命令に分割し、分割
されたそれぞれの内部命令をパイプライン方式に
より順次実行処理し、メモリオペランドの実効ア
ドレスの算出と内部命令の実行処理とを並行して
行うようにしている。
オペランドを有する内部命令を、1つのメモリオ
ペランドを有する複数の内部命令に分割し、分割
されたそれぞれの内部命令をパイプライン方式に
より順次実行処理し、メモリオペランドの実効ア
ドレスの算出と内部命令の実行処理とを並行して
行うようにしている。
(実施例)
以下図面を用いてこの発明の実施例を説明す
る。
る。
第1図はこの発明の一実施例に係るプロセツサ
の構成図である。このプロセツサはデコード部
1,分割部3,実行部5,バス制御部7とで構成
されている。
の構成図である。このプロセツサはデコード部
1,分割部3,実行部5,バス制御部7とで構成
されている。
デコード部1はバス制御部7に接続されている
バスライン9を介して、機械語命令が記憶されて
いる図示しない主記憶装置に接続されている。デ
コード部1には主記憶装置からバスライン9を介
して機械語命令が供給され、デコード部1はこの
機械語命令を解釈し、実行部5において実行可能
な形式の命令(以下「内部命令」と呼ぶ)に変換
して、この内部命令を分割部3に供給する。
バスライン9を介して、機械語命令が記憶されて
いる図示しない主記憶装置に接続されている。デ
コード部1には主記憶装置からバスライン9を介
して機械語命令が供給され、デコード部1はこの
機械語命令を解釈し、実行部5において実行可能
な形式の命令(以下「内部命令」と呼ぶ)に変換
して、この内部命令を分割部3に供給する。
分割部3はデコード部1から供給された内部命
令のメモリオペランドの個数を算出する。次に、
この内部命令の種類を判別して、複数のメモリオ
ペランドを有する内部命令の場合には、この内部
命令をそれぞれ1つのメモリオペランドを有する
複数の内部命令に分割して、分割された内部命令
の実行順序を指定するものである。
令のメモリオペランドの個数を算出する。次に、
この内部命令の種類を判別して、複数のメモリオ
ペランドを有する内部命令の場合には、この内部
命令をそれぞれ1つのメモリオペランドを有する
複数の内部命令に分割して、分割された内部命令
の実行順序を指定するものである。
具体的には、例えば第2図aに示す命令フオー
マツトのPUSH DISP(I×2)という2つのメ
モリオペランドを有する命令が分割部3に与えら
れた場合について説明する。
マツトのPUSH DISP(I×2)という2つのメ
モリオペランドを有する命令が分割部3に与えら
れた場合について説明する。
この命令はDISPの領域の値にI×2の領域で
指定される汎用レジスタの内容を加えたものを一
方のメモリオペランドの実効アドレス(アドレス
A)とし、I×1の領域で指定される汎用レジス
タの内容を他方のメモリオペランドの実効アドレ
ス(アドレスB)として、主記憶装置のアドレス
Aに格納されているメモリオペランドを主記憶装
置のアドレスBに格納する命令である。
指定される汎用レジスタの内容を加えたものを一
方のメモリオペランドの実効アドレス(アドレス
A)とし、I×1の領域で指定される汎用レジス
タの内容を他方のメモリオペランドの実効アドレ
ス(アドレスB)として、主記憶装置のアドレス
Aに格納されているメモリオペランドを主記憶装
置のアドレスBに格納する命令である。
このPUSH DISP(I×2)という命令が分割
部3に与えられると、分割部3はこの命令が2つ
のメモリオペランドを有することを算出する。そ
の後、この命令が第2図bに示す如く、主記憶装
置のアドレスAに格納されているメモリオペラン
ドを読み出すロード命令(LD DISP(I×2))
と、第2図cに示す如く、読み出されたメモリオ
ペランドを主記憶装置のアドレスBに格納するス
トア命令(ST(I×1))とであることを判別す
る。次に、それぞれの内部命令に分割して、実行
部5にロード命令(LD DISP(I×2))を供給
するとともに、ストア命令(ST(I×1))を供
給する。
部3に与えられると、分割部3はこの命令が2つ
のメモリオペランドを有することを算出する。そ
の後、この命令が第2図bに示す如く、主記憶装
置のアドレスAに格納されているメモリオペラン
ドを読み出すロード命令(LD DISP(I×2))
と、第2図cに示す如く、読み出されたメモリオ
ペランドを主記憶装置のアドレスBに格納するス
トア命令(ST(I×1))とであることを判別す
る。次に、それぞれの内部命令に分割して、実行
部5にロード命令(LD DISP(I×2))を供給
するとともに、ストア命令(ST(I×1))を供
給する。
実行部5は分割部3から供給される内部命令
を、パイプライン方式により実行処理するもので
ある。バス制御部7は、機械語命令の読み込み、
メモリオペランドの転送を行なうバスライン9の
制御を行ない、バスライン9を介してバス制御部
7に接続されている主記憶装置から機械語命令を
命令デコード1に供給するとともに、実行部5と
メモリオペランドデータの転送を行なうものであ
る。
を、パイプライン方式により実行処理するもので
ある。バス制御部7は、機械語命令の読み込み、
メモリオペランドの転送を行なうバスライン9の
制御を行ない、バスライン9を介してバス制御部
7に接続されている主記憶装置から機械語命令を
命令デコード1に供給するとともに、実行部5と
メモリオペランドデータの転送を行なうものであ
る。
第3図は実行部5の詳細な構成図である。実行
部5は、それぞれのメモリオペランドの実効アド
レスを算出する実効メモリオペランドアドレス算
出回路10と、マイクロシーケンサ17,ROM
19,デコード21とから構成されている。
部5は、それぞれのメモリオペランドの実効アド
レスを算出する実効メモリオペランドアドレス算
出回路10と、マイクロシーケンサ17,ROM
19,デコード21とから構成されている。
実効メモリオペランドアドレス算出回路10
は、汎用レジスタ11と加算器13とレジスタ1
5とを有している。汎用レジスタ11は複数のレ
ジスタを有しており、それぞれのレジスタは、内
部命令のIXの領域で指定され、メモリオペラン
ドの実効アドレスの算出に用いられる情報が格納
されている。加算器13は内部命令のIXの領域
で指定される汎用レジスタ11の中の修飾レジス
タに格納されている情報と、内部命令のDISPの
領域の情報とを加算するものである。すなわち、
加算器15は内部命令のIXの領域で指定される
修飾レジスタの内容と、内部命令のDISPの領域
の内容とを加算することにより、内部命令の実効
アドレスを算出するものである。レジスタ15は
この加算器15により算出された実効アドレスを
格納するものである。
は、汎用レジスタ11と加算器13とレジスタ1
5とを有している。汎用レジスタ11は複数のレ
ジスタを有しており、それぞれのレジスタは、内
部命令のIXの領域で指定され、メモリオペラン
ドの実効アドレスの算出に用いられる情報が格納
されている。加算器13は内部命令のIXの領域
で指定される汎用レジスタ11の中の修飾レジス
タに格納されている情報と、内部命令のDISPの
領域の情報とを加算するものである。すなわち、
加算器15は内部命令のIXの領域で指定される
修飾レジスタの内容と、内部命令のDISPの領域
の内容とを加算することにより、内部命令の実効
アドレスを算出するものである。レジスタ15は
この加算器15により算出された実効アドレスを
格納するものである。
マイクロシーケンサ17は、それぞれの内部命
令に対応するマイクロ命令が格納されている
ROM19のアドレスを、このマイクロ命令が格
納されているROM19に供給するものである。
マイクロシーケンサ17は、内部命令のOP領域
のオペレーシヨンナルコードに基づいて、それぞ
れの内部命令に対応するマイクロ命令が格納され
ているアドレスを、このマイクロ命令が格納され
ているROM19に供給する。デコーダ21はこ
のROM19から読み出されたマイクロ命令を解
釈するものである。
令に対応するマイクロ命令が格納されている
ROM19のアドレスを、このマイクロ命令が格
納されているROM19に供給するものである。
マイクロシーケンサ17は、内部命令のOP領域
のオペレーシヨンナルコードに基づいて、それぞ
れの内部命令に対応するマイクロ命令が格納され
ているアドレスを、このマイクロ命令が格納され
ているROM19に供給する。デコーダ21はこ
のROM19から読み出されたマイクロ命令を解
釈するものである。
以上説明したように、この実施例のプロセツサ
は構成されており、次にこの実施例の作用を説明
する。
は構成されており、次にこの実施例の作用を説明
する。
複数のメモリオペランドを有する機械語による
命令がバスライン9からバス制御部7を介してデ
コード部1に供給されると、この複数のメモリオ
ペランドを有する機械語による命令は、デコード
部1により解釈されて内部命令に変換される。こ
の内部命令が例えば前述したPUSH DISP(I×
2)で表わされる2つのメモリオペランドを有す
るプツシユ命令である場合の処理を以下に説明す
る。
命令がバスライン9からバス制御部7を介してデ
コード部1に供給されると、この複数のメモリオ
ペランドを有する機械語による命令は、デコード
部1により解釈されて内部命令に変換される。こ
の内部命令が例えば前述したPUSH DISP(I×
2)で表わされる2つのメモリオペランドを有す
るプツシユ命令である場合の処理を以下に説明す
る。
デコード部1により解釈されたプツシユ命令
は、分割部3に供給されて、このプツシユ命令
は、LD DISP(I×2)で表わされるロード命令
と、ST(I×2)で表わされるストア命令の1つ
のメモリオペランドを有する2つの内部命令に分
割される。
は、分割部3に供給されて、このプツシユ命令
は、LD DISP(I×2)で表わされるロード命令
と、ST(I×2)で表わされるストア命令の1つ
のメモリオペランドを有する2つの内部命令に分
割される。
分割されたそれぞれの内部命令のうち、まずは
じめに、ロード命令が実行部5に供給されて実行
される。実行部5にロード命令(LD DISP(I×
2))が供給されて、このロード命令がパイプラ
インのステージQ1にセツトされると、汎用レジ
スタ11の中からロード命令のI×2の領域で指
定される修飾レジスタに格納されている内容が読
み出される。修飾レジスタから読み出された内容
は、ロード命令のDISPの領域の内容が加算器1
3により加算されて、ロード命令の実効アドレス
(アドレスA)が算出される。算出されたロード
命令の実効アドレス(アドレスA)はレジスタ1
5に格納される。
じめに、ロード命令が実行部5に供給されて実行
される。実行部5にロード命令(LD DISP(I×
2))が供給されて、このロード命令がパイプラ
インのステージQ1にセツトされると、汎用レジ
スタ11の中からロード命令のI×2の領域で指
定される修飾レジスタに格納されている内容が読
み出される。修飾レジスタから読み出された内容
は、ロード命令のDISPの領域の内容が加算器1
3により加算されて、ロード命令の実効アドレス
(アドレスA)が算出される。算出されたロード
命令の実効アドレス(アドレスA)はレジスタ1
5に格納される。
次に、ロード命令がパイプラインのステージQ
2に移動して、このロード命令を実行処理するた
めに、ロード命令をこのロード命令に対応するマ
イクロ命令に変換すべく、マイクロ命令が格納さ
れているアドレスが、ロード命令のオペレーシヨ
ナルコードに基づいて、マイクロ命令が格納され
ているROM19に供給される。このアドレスに
格納されているロード命令に対応するマイクロ命
令がROM19から読み出され、読み出されたマ
イクロ命令はデコード21により解釈される。そ
して、デコード21により解釈されたマイクロ命
令により、主記憶装置のレジスタ15に格納され
たロード命令の実効アドレス(アドレスA)か
ら、メモリオペランドが読み出される。
2に移動して、このロード命令を実行処理するた
めに、ロード命令をこのロード命令に対応するマ
イクロ命令に変換すべく、マイクロ命令が格納さ
れているアドレスが、ロード命令のオペレーシヨ
ナルコードに基づいて、マイクロ命令が格納され
ているROM19に供給される。このアドレスに
格納されているロード命令に対応するマイクロ命
令がROM19から読み出され、読み出されたマ
イクロ命令はデコード21により解釈される。そ
して、デコード21により解釈されたマイクロ命
令により、主記憶装置のレジスタ15に格納され
たロード命令の実効アドレス(アドレスA)か
ら、メモリオペランドが読み出される。
また、ロード命令がパイプラインのステージQ
2にセツトされると同時に、ストア命令(ST(I
×1))はパイプラインのステージQ1にセツト
される。ストア命令がパイプラインのステージQ
1にセツトされると、汎用レジスタ11の中から
ストア命令のI×1の領域で指定される修飾レジ
スタに格納されている内容、すなわち、ストア命
令の実効アドレス(アドレスB)が読み出され
て、レジスタ15に格納される。
2にセツトされると同時に、ストア命令(ST(I
×1))はパイプラインのステージQ1にセツト
される。ストア命令がパイプラインのステージQ
1にセツトされると、汎用レジスタ11の中から
ストア命令のI×1の領域で指定される修飾レジ
スタに格納されている内容、すなわち、ストア命
令の実効アドレス(アドレスB)が読み出され
て、レジスタ15に格納される。
次に、ストア命令がパイプラインのステージQ
2に移動して、このストア命令のオペレーシヨナ
ルコードにより、ロード命令と同様にしてROM
19からストア命令に対応するマイクロ命令が読
み出される。このマイクロ命令により、主記憶装
置のアドレスAからロード命令により読み出され
たメモリオペランドが、主記憶装置のレジスタ1
5に格納されたストア命令の実効アドレス(アド
レスB)に書き込まれる。
2に移動して、このストア命令のオペレーシヨナ
ルコードにより、ロード命令と同様にしてROM
19からストア命令に対応するマイクロ命令が読
み出される。このマイクロ命令により、主記憶装
置のアドレスAからロード命令により読み出され
たメモリオペランドが、主記憶装置のレジスタ1
5に格納されたストア命令の実効アドレス(アド
レスB)に書き込まれる。
このように、プツシユ命令(PUSH DISP(I
×2))は、ロード命令(LD DISP(I×2))
と、ストア命令(ST (I×1))とに分割され
て、ロード命令の実行処理と、ストア命令の実効
アドレスの算出とが同時に行なわれることにな
る。したがつて、2つのメモリオペランドを有す
る命令は、2つの実効メモリオペランドアドレス
算出回路を有するプロセツサにおいては、第4図
Aに示す如く、一方のメモリオペランドに対応す
る実効アドレス(アドレスA)の算出及び、他方
のメモリオペランドに対応する実効アドレス(ア
ドレスB)の算出(a1)と、アドレスAからの
オペランドの読み出し(b)と、このオペランドのア
ドレスBへの書き込み(c)との3クロツクの実行速
度で実行され、また、実効アドレスを1つの実効
メモリオペランドアドレス算出回路により順次算
出するプロセツサにおいては、第4図Bに示す如
く、アドレスAの算出(a2)と、このアドレス
Aからのオペランドの読み出し(b)と、アドレスB
の算出(a3)と、アドレスAから読み出された
オペランドのアドレスBへの書き込み(c)との4ク
ロツクの実行速度で実行されていたのに対して、
この実施例においては、1つの実効メモリオペラ
ンドアドレス算出回路で、第4図Cに示す如く、
アドレスAからのオペランドの読み出し(b)と、ア
ドレスB(a3)の算出とを同時に行なうことによ
り3クロツクの実行速度を実現することができ
る。
×2))は、ロード命令(LD DISP(I×2))
と、ストア命令(ST (I×1))とに分割され
て、ロード命令の実行処理と、ストア命令の実効
アドレスの算出とが同時に行なわれることにな
る。したがつて、2つのメモリオペランドを有す
る命令は、2つの実効メモリオペランドアドレス
算出回路を有するプロセツサにおいては、第4図
Aに示す如く、一方のメモリオペランドに対応す
る実効アドレス(アドレスA)の算出及び、他方
のメモリオペランドに対応する実効アドレス(ア
ドレスB)の算出(a1)と、アドレスAからの
オペランドの読み出し(b)と、このオペランドのア
ドレスBへの書き込み(c)との3クロツクの実行速
度で実行され、また、実効アドレスを1つの実効
メモリオペランドアドレス算出回路により順次算
出するプロセツサにおいては、第4図Bに示す如
く、アドレスAの算出(a2)と、このアドレス
Aからのオペランドの読み出し(b)と、アドレスB
の算出(a3)と、アドレスAから読み出された
オペランドのアドレスBへの書き込み(c)との4ク
ロツクの実行速度で実行されていたのに対して、
この実施例においては、1つの実効メモリオペラ
ンドアドレス算出回路で、第4図Cに示す如く、
アドレスAからのオペランドの読み出し(b)と、ア
ドレスB(a3)の算出とを同時に行なうことによ
り3クロツクの実行速度を実現することができ
る。
[発明の効果]
以上説明したように、この発明によれば、複数
のメモリオペランドを有する命令を1つのメモリ
オペランドを有する複数の内部命令に分割して、
それぞれの内部命令をパイプライン方式において
順次実行処理するようにしたので、メモリオペラ
ンドの実効アドレスの算出及び処理を同時に行な
うことが可能となり、実効アドレスを算出する回
路を複数用いることなく、複数のメモリオペラン
ドを有する命令の実行処理速度を向上させるプロ
セツサを提供することができる。
のメモリオペランドを有する命令を1つのメモリ
オペランドを有する複数の内部命令に分割して、
それぞれの内部命令をパイプライン方式において
順次実行処理するようにしたので、メモリオペラ
ンドの実効アドレスの算出及び処理を同時に行な
うことが可能となり、実効アドレスを算出する回
路を複数用いることなく、複数のメモリオペラン
ドを有する命令の実行処理速度を向上させるプロ
セツサを提供することができる。
第1図はこの発明の一実施例に係るプロセツト
の構成ブロツク図、第2図a〜第2図cは第1図
で用いられる命令フオーマツトの一例、第3図は
第1図の一部の詳細な構成ブロツク図、第4図A
〜第4図Cはプロセツサのタイミング説明図であ
る。 図の主要な部分を表わす符号の説明、1…デコ
ード部、3…分割部、5…実行部、7…バス制御
部。
の構成ブロツク図、第2図a〜第2図cは第1図
で用いられる命令フオーマツトの一例、第3図は
第1図の一部の詳細な構成ブロツク図、第4図A
〜第4図Cはプロセツサのタイミング説明図であ
る。 図の主要な部分を表わす符号の説明、1…デコ
ード部、3…分割部、5…実行部、7…バス制御
部。
Claims (1)
- 【特許請求の範囲】 1 外部から供給される複数のメモリオペランド
を有する命令を内部命令に変換するデコード手段
と、 前記デコード手段によつて得られた内部命令を
1つのメモリオペランドを有する複数の内部命令
に分割する分割手段と、 実効アドレスを算出する1つの実効アドレス算
出手段を備え、前記分割手段によつて分割された
1つのメモリオペランドを有するそれぞれの内部
命令の実効アドレスを前記実効アドレス算出手段
によつて算出し、パイプライン方式により順次実
行処理する実行手段と、 前記デコード手段及び実行手段と外部との情報
の転送を制御するバス制御手段と を有することを特徴とするプロセツサ。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61067050A JPS62226231A (ja) | 1986-03-27 | 1986-03-27 | プロセツサ |
DE86117099T DE3688973T2 (de) | 1986-03-27 | 1986-12-09 | Verarbeitungssystem in Pipelinestruktur und Mikroprozessor mit einem derartigen System. |
EP86117099A EP0240606B1 (en) | 1986-03-27 | 1986-12-09 | Pipe-line processing system and microprocessor using the system |
US07/940,749 US5390306A (en) | 1986-03-27 | 1992-09-08 | Pipeline processing system and microprocessor using the system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61067050A JPS62226231A (ja) | 1986-03-27 | 1986-03-27 | プロセツサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS62226231A JPS62226231A (ja) | 1987-10-05 |
JPH0523447B2 true JPH0523447B2 (ja) | 1993-04-02 |
Family
ID=13333625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61067050A Granted JPS62226231A (ja) | 1986-03-27 | 1986-03-27 | プロセツサ |
Country Status (4)
Country | Link |
---|---|
US (1) | US5390306A (ja) |
EP (1) | EP0240606B1 (ja) |
JP (1) | JPS62226231A (ja) |
DE (1) | DE3688973T2 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01255036A (ja) * | 1988-04-04 | 1989-10-11 | Toshiba Corp | マイクロプロセッサ |
JPS6453235A (en) * | 1988-05-25 | 1989-03-01 | Nec Corp | Risc type microprocessor |
JPH0769805B2 (ja) * | 1988-10-04 | 1995-07-31 | 三菱電機株式会社 | データ処理装置 |
GB2230116B (en) * | 1989-04-07 | 1993-02-17 | Intel Corp | An improvement for pipelined decoding of instructions in a pipelined processor |
US5293592A (en) * | 1989-04-07 | 1994-03-08 | Intel Corporatino | Decoder for pipelined system having portion indicating type of address generation and other portion controlling address generation within pipeline |
JP2847974B2 (ja) * | 1991-01-21 | 1999-01-20 | 三菱電機株式会社 | データ処理装置 |
JPH04260929A (ja) * | 1991-01-21 | 1992-09-16 | Mitsubishi Electric Corp | データ処理装置 |
US6061755A (en) * | 1997-04-14 | 2000-05-09 | International Business Machines Corporation | Method of layering cache and architectural specific functions to promote operation symmetry |
US5978871A (en) * | 1997-04-14 | 1999-11-02 | International Business Machines Corporation | Method of layering cache and architectural specific functions for operation splitting |
US7472259B2 (en) * | 2000-12-06 | 2008-12-30 | Analog Devices, Inc. | Multi-cycle instructions |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5441039A (en) * | 1977-09-08 | 1979-03-31 | Nec Corp | Processing unit of high level language program |
JPS57161943A (en) * | 1981-03-31 | 1982-10-05 | Hitachi Ltd | Data processing device |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3725868A (en) * | 1970-10-19 | 1973-04-03 | Burroughs Corp | Small reconfigurable processor for a variety of data processing applications |
IT995722B (it) * | 1973-10-10 | 1975-11-20 | Honeywell Inf Systems Italia | Calcolatore microprogrammato a interior decore espansibile mediante riconoscimento e interpre tazione di codici di operazione aggiunti |
JPS5621240A (en) * | 1979-07-27 | 1981-02-27 | Hitachi Ltd | Information processor |
US4415969A (en) * | 1980-02-07 | 1983-11-15 | Intel Corporation | Macroinstruction translator unit for use in a microprocessor |
CA1126406A (en) * | 1980-03-31 | 1982-06-22 | Northern Telecom Limited | Sequence control circuit for a computer |
CA1174370A (en) * | 1980-05-19 | 1984-09-11 | Hidekazu Matsumoto | Data processing unit with pipelined operands |
US4797808A (en) * | 1981-06-22 | 1989-01-10 | Texas Instruments Incorporated | Microcomputer with self-test of macrocode |
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 |
JPS58106636A (ja) * | 1981-12-18 | 1983-06-25 | Hitachi Ltd | パイプライン演算装置 |
US4553205A (en) * | 1982-09-21 | 1985-11-12 | Salvatore Porchia | Flexible macro expansion process |
US4471432A (en) * | 1982-10-13 | 1984-09-11 | Wilhite John E | Method and apparatus for initiating the execution of instructions using a central pipeline execution unit |
US4914578A (en) * | 1983-04-18 | 1990-04-03 | Motorola, Inc. | Method and apparatus for interrupting a coprocessor |
EP0150177A1 (en) * | 1983-07-11 | 1985-08-07 | Prime Computer, Inc. | Data processing system |
US4685058A (en) * | 1983-08-29 | 1987-08-04 | Amdahl Corporation | Two-stage pipelined execution unit and control stores |
JPS60120439A (ja) * | 1983-12-05 | 1985-06-27 | Nec Corp | 演算処理装置 |
US4667290A (en) * | 1984-09-10 | 1987-05-19 | 501 Philon, Inc. | Compilers using a universal intermediate language |
US4975837A (en) * | 1984-10-01 | 1990-12-04 | Unisys Corporation | Programmable unit having plural levels of subinstruction sets where a portion of the lower level is embedded in the code stream of the upper level of the subinstruction sets |
US4791551A (en) * | 1985-02-11 | 1988-12-13 | Analog Devices, Inc. | Microprogrammable devices using transparent latch |
US4823252A (en) * | 1986-03-28 | 1989-04-18 | Tandem Computers Incorporated | Overlapped control store |
US4890218A (en) * | 1986-07-02 | 1989-12-26 | Raytheon Company | Variable length instruction decoding apparatus having cross coupled first and second microengines |
US4812989A (en) * | 1986-10-15 | 1989-03-14 | Amdahl Corporation | Method for executing machine language instructions |
-
1986
- 1986-03-27 JP JP61067050A patent/JPS62226231A/ja active Granted
- 1986-12-09 DE DE86117099T patent/DE3688973T2/de not_active Expired - Fee Related
- 1986-12-09 EP EP86117099A patent/EP0240606B1/en not_active Expired - Lifetime
-
1992
- 1992-09-08 US US07/940,749 patent/US5390306A/en not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5441039A (en) * | 1977-09-08 | 1979-03-31 | Nec Corp | Processing unit of high level language program |
JPS57161943A (en) * | 1981-03-31 | 1982-10-05 | Hitachi Ltd | Data processing device |
Also Published As
Publication number | Publication date |
---|---|
DE3688973T2 (de) | 1994-02-17 |
EP0240606B1 (en) | 1993-09-01 |
JPS62226231A (ja) | 1987-10-05 |
EP0240606A3 (en) | 1989-04-26 |
DE3688973D1 (de) | 1993-10-07 |
EP0240606A2 (en) | 1987-10-14 |
US5390306A (en) | 1995-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5077657A (en) | Emulator Assist unit which forms addresses of user instruction operands in response to emulator assist unit commands from host processor | |
JPS6313215B2 (ja) | ||
JPH1091443A (ja) | 情報処理回路、マイクロコンピュータ及び電子機器 | |
JPH0523447B2 (ja) | ||
US4771376A (en) | Processor | |
JP2609618B2 (ja) | データ処理装置 | |
JPS6250934A (ja) | 処理装置の割込制御方式 | |
JPS62115542A (ja) | 情報処理装置 | |
JP2826309B2 (ja) | 情報処理装置 | |
JPS6217773B2 (ja) | ||
JPH056281A (ja) | 情報処理装置 | |
JPH0377137A (ja) | 情報処理装置 | |
JPS58200349A (ja) | マイクロプログラム制御装置 | |
JP2000112754A (ja) | データ処理装置 | |
JPH0524537B2 (ja) | ||
JPH07110769A (ja) | Vliw型計算機 | |
JP2743947B2 (ja) | マイクロプログラム制御方式 | |
JPH01271840A (ja) | マイクロコンピュータ | |
JPH05181673A (ja) | マイクロプロセッサ | |
JP2618703B2 (ja) | プログラマブルシーケンスコントローラの高速演算処理方式 | |
JPS5829051A (ja) | 演算処理装置 | |
JPH0218732B2 (ja) | ||
JPS63141131A (ja) | パイプライン制御方式 | |
JPH02128223A (ja) | 演算処理装置 | |
JPH036735A (ja) | データ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EXPY | Cancellation because of completion of term |