JPH0290228A - マイクロプロセッサ - Google Patents
マイクロプロセッサInfo
- Publication number
- JPH0290228A JPH0290228A JP24271788A JP24271788A JPH0290228A JP H0290228 A JPH0290228 A JP H0290228A JP 24271788 A JP24271788 A JP 24271788A JP 24271788 A JP24271788 A JP 24271788A JP H0290228 A JPH0290228 A JP H0290228A
- Authority
- JP
- Japan
- Prior art keywords
- register
- instruction
- microprocessor
- holding device
- instructions
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 101100412394 Drosophila melanogaster Reg-2 gene Proteins 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 1
- 238000000034 method Methods 0.000 description 1
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明はマイクロプロセッサに関し、特に命令コードに
よるレジスタ指定方式をプログラム実行中に変更できる
マイクロプロセッサに関する。
よるレジスタ指定方式をプログラム実行中に変更できる
マイクロプロセッサに関する。
(従来の技術)
従来、マイクロプロセッサにとって、実行しても内部の
状態が変化せず、実質的に意味の無い命令が複数存在す
る。例えば、M(JV regl、 reg 2のよ
うにreg2の内容’fr: reg 1に転送するよ
うな命令で、reglとreg 2によって指定される
レジスタが同一である場合などである。
状態が変化せず、実質的に意味の無い命令が複数存在す
る。例えば、M(JV regl、 reg 2のよ
うにreg2の内容’fr: reg 1に転送するよ
うな命令で、reglとreg 2によって指定される
レジスタが同一である場合などである。
以下に、このように実質的な無効命令を実行するマイク
ロプロセッサの構成ならびに動作について図面を用いて
説明する。
ロプロセッサの構成ならびに動作について図面を用いて
説明する。
第4図は、一般的な汎用マイクロプロセッサのレジスタ
及びデータバスの構成を表した図である。
及びデータバスの構成を表した図である。
第4図において、301はデータバス、302は汎用レ
ジスタAX、303は汎用レジスタBX。
ジスタAX、303は汎用レジスタBX。
304は汎用レジスタCX、305はテンポラリレジス
タである。
タである。
次に本従来例の動作について例を挙げて説明する。
N3図において、
M(JV AX、 AX
という命令を実行した場合、汎用レジスタAXリード信
号とテンポラリレジスタライト信号がアクティブとなシ
、データバス301を介して汎用レジスタAXの値がテ
ンポラリレジスタ305に書き込まれ、その後テンポラ
リレジスタリード信号と汎用レジスタAXライト信号が
アクティブとな、り、7’−pハス301’t−介して
テンポラリレジスタ305の値が汎用レジスタAX30
2に書き込まれる。このような命令は、マイクロプロセ
ッサの状態を保持したまま、クロック数を費やすための
No−uperatton”命令と同じ効果を持つこと
になる。同様に、 MOV BX、BX M(JV OX、UX という命令を実行した場合も、 −No−(Jper
atton”命令と同様の効果を持つ。
号とテンポラリレジスタライト信号がアクティブとなシ
、データバス301を介して汎用レジスタAXの値がテ
ンポラリレジスタ305に書き込まれ、その後テンポラ
リレジスタリード信号と汎用レジスタAXライト信号が
アクティブとな、り、7’−pハス301’t−介して
テンポラリレジスタ305の値が汎用レジスタAX30
2に書き込まれる。このような命令は、マイクロプロセ
ッサの状態を保持したまま、クロック数を費やすための
No−uperatton”命令と同じ効果を持つこと
になる。同様に、 MOV BX、BX M(JV OX、UX という命令を実行した場合も、 −No−(Jper
atton”命令と同様の効果を持つ。
以下、具体的な動作例について述べる。
本従来例に対して、
AX=0001H
BX=0002H
cx=o003H
の状態で
MOV AX、AX−−−−−−−−−(1)ADD
AX、BX・用旧・・(2)MOV AX、AX
・−−−−−−−−(3)という命令列を実行すると、 MOV AX、AX−−・−−−−−−(1)では何
も変化しないので、 AX=0001H nx=oOO2H cx=ooo3)1 となシ、 ADD AX、BX・・・・旧・・(2)によってA
XKBXの値が加算され Ax=oO03H BX=0002H CX=OO03H となル、 MOV AX、AX・・・・・・・・・(3)では何
も変化しないので、 AX=OO03H BX=0002H cx=ooo3)( となる。
AX、BX・用旧・・(2)MOV AX、AX
・−−−−−−−−(3)という命令列を実行すると、 MOV AX、AX−−・−−−−−−(1)では何
も変化しないので、 AX=0001H nx=oOO2H cx=ooo3)1 となシ、 ADD AX、BX・・・・旧・・(2)によってA
XKBXの値が加算され Ax=oO03H BX=0002H CX=OO03H となル、 MOV AX、AX・・・・・・・・・(3)では何
も変化しないので、 AX=OO03H BX=0002H cx=ooo3)( となる。
(発明が解決しようとする課題)
前記従来例のようなマイクロプロセッサは、実行しても
内部状態が全く何も変化しない“No−0perati
on”命令と同等で、しかも使用されることのない命令
が多数ある、という欠点t−有していた。
内部状態が全く何も変化しない“No−0perati
on”命令と同等で、しかも使用されることのない命令
が多数ある、という欠点t−有していた。
本発明の目的は、マイクロプロセッサに於て、従来のマ
イクロプロセッサと命令コードでの互換性を保ちつつ、
なおかつ、従来のマイクロプロセッサで内部状態を変化
させないような命令の幾つかに対して異なった動作を割
夛当て、上記欠点を除去し得るマイクロプロセッサを提
供する事に有る。
イクロプロセッサと命令コードでの互換性を保ちつつ、
なおかつ、従来のマイクロプロセッサで内部状態を変化
させないような命令の幾つかに対して異なった動作を割
夛当て、上記欠点を除去し得るマイクロプロセッサを提
供する事に有る。
(課題を解決するための手段)
本発明の構成は、命令コードの一部分を用いてアクセス
対象のレジスタを指定するマイクロプロセッサに於て、
そのレジスタ指定の変更情報を保持する記憶手段と、前
記命令コードの一部分によってアクセスすべきレジスタ
を指定する信号及び前記記憶手段の内容に従って前記レ
ジスタに対するリード/ライト信号を生成する信号発生
器と、前記命令コードが無効であることを検出する手段
とを具備し、前記検出手段により無効命令であることを
検出したとき前記記憶手段の内容を変更し、前記信号発
生器によって以降の命令コードによるアクセス対象のレ
ジスタ指定とは異なるレジスタに対してリード/ライト
信号を発生する事を特徴とする。
対象のレジスタを指定するマイクロプロセッサに於て、
そのレジスタ指定の変更情報を保持する記憶手段と、前
記命令コードの一部分によってアクセスすべきレジスタ
を指定する信号及び前記記憶手段の内容に従って前記レ
ジスタに対するリード/ライト信号を生成する信号発生
器と、前記命令コードが無効であることを検出する手段
とを具備し、前記検出手段により無効命令であることを
検出したとき前記記憶手段の内容を変更し、前記信号発
生器によって以降の命令コードによるアクセス対象のレ
ジスタ指定とは異なるレジスタに対してリード/ライト
信号を発生する事を特徴とする。
(実施例]
次に、本発明の構成並びに動作について図面を用いて説
明する。
明する。
本発明の第1の実施例のブロック図を第1図に示す。
第1図において、101はデータバス、102〜104
は汎用レジスタ、105はレジスタ指定情報保持装置、
106はレジスタ指定情報保持装置変更命令検出回路、
107は定数発生器である。
は汎用レジスタ、105はレジスタ指定情報保持装置、
106はレジスタ指定情報保持装置変更命令検出回路、
107は定数発生器である。
また、第3図はレジスタ指定情報保持装置105の値と
、汎用レジスタ102,104がそれぞれ割シ当てられ
るレジスタの関係を示す一例の図である。
、汎用レジスタ102,104がそれぞれ割シ当てられ
るレジスタの関係を示す一例の図である。
次に、本実施例の動作について説明する。
W、1図に於て、レジスタ指定情報保持装置105の値
が、“001010100”の状態に設定しであるとす
ると、ii1!3図に従って、汎用レジスタ102が従
来例84図のレジスタAX302に、汎用レジスタ10
3が従来例第4図のレジスタBX303に、汎用レジス
タ104が従来例第4図のレジスタCX304に相当す
る。
が、“001010100”の状態に設定しであるとす
ると、ii1!3図に従って、汎用レジスタ102が従
来例84図のレジスタAX302に、汎用レジスタ10
3が従来例第4図のレジスタBX303に、汎用レジス
タ104が従来例第4図のレジスタCX304に相当す
る。
また、従来例に於ては
MOV AX、AX
という命令は、実行前と実行後でマイクロプロセッサの
内部状態は変わらないが、本実施例に於ては MOV AX AX という命令をレジスタ指定情報保持装置変更命令検出回
路120が受は取ると、レジスタ指定情報保持装置リー
ド信号をアクティブにし、例えば、レジスタ指定情報保
持装置の値が@″001010100”ならば、BXと
CXの指定を入れ換えるような動作、すなわち、定数発
生器121にデータバス101にイミディエートデータ
”001100010”を発生させ、レジスタ指定情報
保持装置ライト信号をアクティブにして、レジスタ指定
情報保持装置105に書き込むような動作t−蔵こす。
内部状態は変わらないが、本実施例に於ては MOV AX AX という命令をレジスタ指定情報保持装置変更命令検出回
路120が受は取ると、レジスタ指定情報保持装置リー
ド信号をアクティブにし、例えば、レジスタ指定情報保
持装置の値が@″001010100”ならば、BXと
CXの指定を入れ換えるような動作、すなわち、定数発
生器121にデータバス101にイミディエートデータ
”001100010”を発生させ、レジスタ指定情報
保持装置ライト信号をアクティブにして、レジスタ指定
情報保持装置105に書き込むような動作t−蔵こす。
MOV BX、BX
MOV CX CX
も、それぞれ第3図に従ってAXとCXの指定の入れ換
え、AXとBXの入れ換えを行い、従来例とは異なった
動作をする。
え、AXとBXの入れ換えを行い、従来例とは異なった
動作をする。
次に、具体例を挙げて従来例との違いを示す。
本実施例に於て、
(AXに割シ当てられたレジスタ)=OO01H(BX
に割り当てられたレジスタ) =0002H(CXに割
シ当てられたレジスタ)=OO03Hの状態で、 MOV AX、AX・・・・・・・・・(0)ADD
AX、BX・・・・・・・・・(0)MOV A
X、AX・−−−−・・・・(0)という3命令から収
る命令列を実行したときの結果は、 (AXに割勺当てられたレジスタ)=OO04H(BX
に割シ当てられたレジスタ)=OO02H(CXに割り
当てられたレジスタ) =0003Hとなり、前記従来
例の動作と異なる。これは、MOV AX、AX−旧
旧−・(1)によって、 (AXに割り当てられたレジスタ)=0001H(BX
に割シ当てられたレジスタ)”0003)((CXに割
シ当てられたレジスタ) =0002Hとな夛、 ADD AX、BX・・・・・・・・・(2)によっ
て、(AXに割り当てられたレジスタ)に(BXに割夛
当てられたレジスタンが加算され、(AXに割り当てら
れたレジスタ)=0004H(BXに割g当てられ九レ
ジスタ) =0003H(CXに割り当てられたレジス
タ) =0002Hとな夛、2度目の MOV AX、AX・・・・・・・・・(3)によっ
て、 (AXに割り当てられたレジスタ)=0004H(BX
に割プ当てられたレジスタ) =0002H(CXに割
り当てられたレジスタ) =0003Hとなるからであ
る。
に割り当てられたレジスタ) =0002H(CXに割
シ当てられたレジスタ)=OO03Hの状態で、 MOV AX、AX・・・・・・・・・(0)ADD
AX、BX・・・・・・・・・(0)MOV A
X、AX・−−−−・・・・(0)という3命令から収
る命令列を実行したときの結果は、 (AXに割勺当てられたレジスタ)=OO04H(BX
に割シ当てられたレジスタ)=OO02H(CXに割り
当てられたレジスタ) =0003Hとなり、前記従来
例の動作と異なる。これは、MOV AX、AX−旧
旧−・(1)によって、 (AXに割り当てられたレジスタ)=0001H(BX
に割シ当てられたレジスタ)”0003)((CXに割
シ当てられたレジスタ) =0002Hとな夛、 ADD AX、BX・・・・・・・・・(2)によっ
て、(AXに割り当てられたレジスタ)に(BXに割夛
当てられたレジスタンが加算され、(AXに割り当てら
れたレジスタ)=0004H(BXに割g当てられ九レ
ジスタ) =0003H(CXに割り当てられたレジス
タ) =0002Hとな夛、2度目の MOV AX、AX・・・・・・・・・(3)によっ
て、 (AXに割り当てられたレジスタ)=0004H(BX
に割プ当てられたレジスタ) =0002H(CXに割
り当てられたレジスタ) =0003Hとなるからであ
る。
また、本実施例ではMOV命令を用いたが、XCHG
BX BX 命令等を用いても同様の効果を得ることができる。
BX BX 命令等を用いても同様の効果を得ることができる。
本実施例で述べたような、
MOV AX、AX
XCHG BX BX
のような命令は、マイクロプロセッサの内部状態を変化
させない命令であシ、従来のマイクロプロセッサで通常
用いられることがなく、単にクロックを費やすときには
”No−0peration”命令を用いるが、本実施
例では”’No−0perat 1on−命令に対して
は従来と同じ動作をする丸め、命令互換性を保つことが
できる。
させない命令であシ、従来のマイクロプロセッサで通常
用いられることがなく、単にクロックを費やすときには
”No−0peration”命令を用いるが、本実施
例では”’No−0perat 1on−命令に対して
は従来と同じ動作をする丸め、命令互換性を保つことが
できる。
また、第3図も一例であって、別の論理に従ってもよい
ことは明らかである。
ことは明らかである。
次に、本発明の別の実施例について説明する。
第2の実施例では、第1の実施例で、
MOV AX、AX
のような意味の無い命令を用いていたのに対し、従来の
マイクロプロセッサでは未定義命令コードとなっている
命令コードを検出した時に、レジスタ指定情報保持装置
205の値を変更するように、レジスタ指定情報保持装
置変更命令検出回路1060代わりに未定義命令検出回
路206t−置いた構成となってお9、他は第1の実施
例と同様である。
マイクロプロセッサでは未定義命令コードとなっている
命令コードを検出した時に、レジスタ指定情報保持装置
205の値を変更するように、レジスタ指定情報保持装
置変更命令検出回路1060代わりに未定義命令検出回
路206t−置いた構成となってお9、他は第1の実施
例と同様である。
第2の実施例の構成を第2図に示す。第2図に於て、2
01はデータバス、202.204は汎用レジスタ、2
05はレジスタ指定情報保持装置、206は未定義命令
検出回路である。
01はデータバス、202.204は汎用レジスタ、2
05はレジスタ指定情報保持装置、206は未定義命令
検出回路である。
次に、M2の実施例の動作を説明する。
未定義命令以外の命令を実行する場合は、前記従来例の
動作と全く同一であるが、未定義命令コードが命令コー
ド入力線を介して未定義命令検出回路206に入力され
た場合、未定義命令コードの種類によって、定められた
値をレジスタ指定情報保持装置205に送シ、汎用レジ
スタ202〜204の指定を変更する。
動作と全く同一であるが、未定義命令コードが命令コー
ド入力線を介して未定義命令検出回路206に入力され
た場合、未定義命令コードの種類によって、定められた
値をレジスタ指定情報保持装置205に送シ、汎用レジ
スタ202〜204の指定を変更する。
以降、命令コードによるアクセス対象のレジスタとは異
なるレジスタに対してリード/ライト動作を行う。
なるレジスタに対してリード/ライト動作を行う。
尚、iii!2の実施例は、第1の実施例と同様に”N
o−0peration−命令に対して前記従来例と同
じ動作をし、前記従来例における一No−Operat
i。
o−0peration−命令に対して前記従来例と同
じ動作をし、前記従来例における一No−Operat
i。
n”命令と同等の意味のない命令に対しても前記従来例
と同一の動作をするため、前記従来例の上位互換性を持
つ、というところが前記第1の実施例と比較して特徴的
である。
と同一の動作をするため、前記従来例の上位互換性を持
つ、というところが前記第1の実施例と比較して特徴的
である。
(発明の効果)
以上のように本発明を用いれば、従来のマイクロプロセ
ッサとの命令互換性を保ちつつ、なおかつ、従来のマイ
クロプロセッサで複数存在した、@No−0perat
ion″命令と同等の意味の無い命令コードtV効に用
い、アクセス対象のレジスタを動的に変化させる、とい
う従来のマイクロプロセッサよル有効な命令を動作させ
ることができる。
ッサとの命令互換性を保ちつつ、なおかつ、従来のマイ
クロプロセッサで複数存在した、@No−0perat
ion″命令と同等の意味の無い命令コードtV効に用
い、アクセス対象のレジスタを動的に変化させる、とい
う従来のマイクロプロセッサよル有効な命令を動作させ
ることができる。
107・・・定数発生器、206・・・未定義命令検出
回路、302・・・汎用レジスタAX、303・・・汎
用レジスタBX、304・・・汎用レジスタCX、30
5・・・テンポラリレジスタ。
回路、302・・・汎用レジスタAX、303・・・汎
用レジスタBX、304・・・汎用レジスタCX、30
5・・・テンポラリレジスタ。
第1図はW、1の実施例の構成図、第2図は第2の実施
例の構成図、第3図は実施例におけるレジスタ指定情報
保持装置の値と汎用レジスタとの対応を示す一例の図、
第4図は従来例の構成図である。
例の構成図、第3図は実施例におけるレジスタ指定情報
保持装置の値と汎用レジスタとの対応を示す一例の図、
第4図は従来例の構成図である。
Claims (1)
- 命令コードの一部分を用いてアクセス対象のレジスタを
指定するマイクロプロセッサに於て、そのレジスタ指定
の変更情報を保持する記憶手段と、前記命令コードの一
部分によってアクセスすべきレジスタを指定する信号及
び前記記憶手段の内容に従って前記レジスタに対するリ
ード/ライト信号を生成する信号発生器と、前記命令コ
ードが無効であることを検出する手段とを具備し、前記
検出手段により無効命令であることを検出したとき前記
記憶手段の内容を変更し、前記信号発生器によって以降
の命令コードによるアクセス対象のレジスタ指定とは異
なるレジスタに対してリード/ライト信号を発生する事
を特徴とするマイクロプロセッサ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP24271788A JPH0290228A (ja) | 1988-09-27 | 1988-09-27 | マイクロプロセッサ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP24271788A JPH0290228A (ja) | 1988-09-27 | 1988-09-27 | マイクロプロセッサ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0290228A true JPH0290228A (ja) | 1990-03-29 |
Family
ID=17093192
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP24271788A Pending JPH0290228A (ja) | 1988-09-27 | 1988-09-27 | マイクロプロセッサ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0290228A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007105337A (ja) * | 2005-10-17 | 2007-04-26 | Dainippon Printing Co Ltd | ランチボックス |
-
1988
- 1988-09-27 JP JP24271788A patent/JPH0290228A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007105337A (ja) * | 2005-10-17 | 2007-04-26 | Dainippon Printing Co Ltd | ランチボックス |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5812868A (en) | Method and apparatus for selecting a register file in a data processing system | |
| US6178482B1 (en) | Virtual register sets | |
| US6338134B1 (en) | Method and system in a superscalar data processing system for the efficient processing of an instruction by moving only pointers to data | |
| US5615348A (en) | Microprocessor having register bank architecture | |
| JPH0158535B2 (ja) | ||
| US7191315B2 (en) | Method and system for tracking and recycling physical register assignment | |
| JPH0290228A (ja) | マイクロプロセッサ | |
| JP2004030224A (ja) | プロセッサ、レジスタ退避方法およびレジスタ指定方法 | |
| US4816992A (en) | Method of operating a data processing system in response to an interrupt | |
| JP3539984B2 (ja) | プロセッサ | |
| EP0787326B1 (en) | System and method for processing of memory data and communication system comprising such system | |
| JP2000029690A (ja) | デ―タ処理の方法および装置 | |
| US6711655B1 (en) | Finding available memory space by finding its associated memory transfer controller | |
| EP1139214A1 (en) | System for allowing a two word instruction to be executed in a single cycle and method therefor | |
| JP2933569B2 (ja) | 中央演算処理装置 | |
| JP4116752B2 (ja) | 計算機とその制御方法 | |
| JPS62151942A (ja) | タスク切換え方式 | |
| JP2679603B2 (ja) | マイクロコンピュータ | |
| JP2657947B2 (ja) | データ処理装置 | |
| JPH0259933A (ja) | マイクロプロセッサ | |
| JPH04296954A (ja) | メモリシステム | |
| JPH0283623A (ja) | マイクロプロセッサ | |
| JPS59121455A (ja) | プレフイクシング方式 | |
| JPH05241828A (ja) | 命令処理装置 | |
| JPH01188943A (ja) | 記号処理向きデータ処理方式 |