JPH04178739A - マイクロプロセッサ - Google Patents
マイクロプロセッサInfo
- Publication number
- JPH04178739A JPH04178739A JP30657390A JP30657390A JPH04178739A JP H04178739 A JPH04178739 A JP H04178739A JP 30657390 A JP30657390 A JP 30657390A JP 30657390 A JP30657390 A JP 30657390A JP H04178739 A JPH04178739 A JP H04178739A
- Authority
- JP
- Japan
- Prior art keywords
- register
- data
- tag
- context
- memory
- 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
- 238000011084 recovery Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 101150054854 POU1F1 gene Proteins 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、情報処理装置におけるマイクロプロセッサに
関する。
関する。
マイクロプロセッサが、あるプログラムを実行中に割込
みが発生した場合、その割込み処理プログラムは、その
時点でのマイクロプロセッサの内部情報をすべて主記憶
装置に退避し、割込み処理が終了した後に再び主記憶装
置から退避しておいた情報をマイクロプロセッサに読込
み2割込み発生前に実行していた処理を続行できるよう
にしている。
みが発生した場合、その割込み処理プログラムは、その
時点でのマイクロプロセッサの内部情報をすべて主記憶
装置に退避し、割込み処理が終了した後に再び主記憶装
置から退避しておいた情報をマイクロプロセッサに読込
み2割込み発生前に実行していた処理を続行できるよう
にしている。
また、複数のプログラムを並行して実行させるマルチタ
スク型オペレーティングシステムでは、別のタスクを実
行するためにその時点で実行中のプログラムを中断させ
、マイクロプロセッサの内部情報をすべて主記憶装置に
退避し、これから実行しようとするタスクのためのプロ
セッサ内部情報をプロセッサに戻してそのタスクの実行
を始める、という制御を行なっている。この主記憶に退
避/回復するひとまとまりのプロセッサ内部情報をコン
テキストといい、これらの動作をコンテキスト切換えと
いう。
スク型オペレーティングシステムでは、別のタスクを実
行するためにその時点で実行中のプログラムを中断させ
、マイクロプロセッサの内部情報をすべて主記憶装置に
退避し、これから実行しようとするタスクのためのプロ
セッサ内部情報をプロセッサに戻してそのタスクの実行
を始める、という制御を行なっている。この主記憶に退
避/回復するひとまとまりのプロセッサ内部情報をコン
テキストといい、これらの動作をコンテキスト切換えと
いう。
例えば、日本電気部の32ビツトマイクロプロセツサμ
PD72832では、コンテキスト退避命令’S T
TAS K’ とコンテキスト回復命令“LDTASK
’によりコンテキスト切換えを行なう。ところが、32
本という多数のデータレジスタを持っているため、第7
図に示すように、176バイトのコンテキストをタスク
切換えが起こる度に、メモリに退避/回復しなければな
らなイ(日本電気“μPD72832ユーザーズマニュ
アル・アーキテクチャ編°参照)。
PD72832では、コンテキスト退避命令’S T
TAS K’ とコンテキスト回復命令“LDTASK
’によりコンテキスト切換えを行なう。ところが、32
本という多数のデータレジスタを持っているため、第7
図に示すように、176バイトのコンテキストをタスク
切換えが起こる度に、メモリに退避/回復しなければな
らなイ(日本電気“μPD72832ユーザーズマニュ
アル・アーキテクチャ編°参照)。
このようにハイエンドマイクロブレセッサでは、高度化
する要求に応えるため、データレジスタを多数持つ場合
が多くなっている。特に、浮動小数点演算を行なうプロ
セッサの場合には、1データのデータ長が整数データに
比べて長いため、そのコンテキストは非常に大きな情報
量となっている。
する要求に応えるため、データレジスタを多数持つ場合
が多くなっている。特に、浮動小数点演算を行なうプロ
セッサの場合には、1データのデータ長が整数データに
比べて長いため、そのコンテキストは非常に大きな情報
量となっている。
このようなプロセッサをマルチタスク環境で使用すると
、従来のマイクロプロセッサではコンテキスト切換えの
ために費やされる時間が長くなり、システム全体として
の性能が低下するという欠点があった。
、従来のマイクロプロセッサではコンテキスト切換えの
ために費やされる時間が長くなり、システム全体として
の性能が低下するという欠点があった。
本発明の目的は、このような欠点を除き、内容が有効で
あるデータレジスタのみをコンテキストとして退避/回
復させることにより、コンテキスト切換えの時間を短縮
したマイクロプロセッサを提供することにある。
あるデータレジスタのみをコンテキストとして退避/回
復させることにより、コンテキスト切換えの時間を短縮
したマイクロプロセッサを提供することにある。
本発明のマイクロプロセッサの構成は、複数のデータレ
ジスタと、これら複数のデータレジスタの内容が有効で
あることを示すタグレジスタと、これら複数のデータレ
ジスタおよびタグレジスタを外部メモリに書き込み読み
出すことができる入出力手段とを有し、割込み処理もし
くはタスク切り換えによりコンテキスト退避/回復を行
なう場合に、前記タグレジスタとこのタグレジスタによ
って内容が有効と示されているデータレジスタのみを選
択的にメモリ退避/回復することにより、コンテキスト
切換え時に不要なデータレジスタの退避/回復を省略す
るようにしたことを特徴とする。
ジスタと、これら複数のデータレジスタの内容が有効で
あることを示すタグレジスタと、これら複数のデータレ
ジスタおよびタグレジスタを外部メモリに書き込み読み
出すことができる入出力手段とを有し、割込み処理もし
くはタスク切り換えによりコンテキスト退避/回復を行
なう場合に、前記タグレジスタとこのタグレジスタによ
って内容が有効と示されているデータレジスタのみを選
択的にメモリ退避/回復することにより、コンテキスト
切換え時に不要なデータレジスタの退避/回復を省略す
るようにしたことを特徴とする。
以下、図面を参照しながら本発明の詳細を述べる。
第1図は本発明の一実施例のマイクロプロセッサの構成
を示すブロック図である。図中、11は″マイクロブ四
グラム制御の命令実行ユニット、12は命令実行ユニッ
ト11から外部のメモリ、工10などに対しアドレスデ
ータを供給するアドレスバス、13は命令実行ユニット
11と外部のメモリ、工/○などの間でデータを入出力
するデータバス、14はステータスレジスタ、プログラ
ムカウンタなどの制御レジスタ群、15は32本のデー
タレジスタ群、16はデータレジスタ群15においてど
のデータレジスタを現在使用中であるかを示す32個の
フラグを保持するタグレジスタ、17は内部データバス
である。
を示すブロック図である。図中、11は″マイクロブ四
グラム制御の命令実行ユニット、12は命令実行ユニッ
ト11から外部のメモリ、工10などに対しアドレスデ
ータを供給するアドレスバス、13は命令実行ユニット
11と外部のメモリ、工/○などの間でデータを入出力
するデータバス、14はステータスレジスタ、プログラ
ムカウンタなどの制御レジスタ群、15は32本のデー
タレジスタ群、16はデータレジスタ群15においてど
のデータレジスタを現在使用中であるかを示す32個の
フラグを保持するタグレジスタ、17は内部データバス
である。
第2図は第1図のデータレジスタ群15とタグレジスタ
16の詳細を示すブロック図である。図中、21は命令
実行ユニツ)11からのデータレジスタ指定アドレス、
22はデータレジスタ指定アドレス21をテコードし、
32本のデータレジスタ指定信号を生成するアドレスデ
コーダ、23は命令実行ユニット11からデータレジス
タ群15に対する書込みストローブ信号、24は命令実
行ユニット11からデータレジスタ群15に対する読出
しストローブ信号、25はn番目のデータレジスタRn
に対する書込みストローブ信号を生成するためにアドレ
スデコーダ22からのRn指定信号とデータレジスタ群
15に対する書込みストローブ信号23の論理積をとる
ANDゲート、26はn番目のデータレジスタRnに対
する読み出しストローブ信号を生成するためにアドレス
デコータ22からのRn指定信号とデータレジスタ群1
5に対する読圧しストローブ信号24の論理積をとるA
NDゲートである。
16の詳細を示すブロック図である。図中、21は命令
実行ユニツ)11からのデータレジスタ指定アドレス、
22はデータレジスタ指定アドレス21をテコードし、
32本のデータレジスタ指定信号を生成するアドレスデ
コーダ、23は命令実行ユニット11からデータレジス
タ群15に対する書込みストローブ信号、24は命令実
行ユニット11からデータレジスタ群15に対する読出
しストローブ信号、25はn番目のデータレジスタRn
に対する書込みストローブ信号を生成するためにアドレ
スデコーダ22からのRn指定信号とデータレジスタ群
15に対する書込みストローブ信号23の論理積をとる
ANDゲート、26はn番目のデータレジスタRnに対
する読み出しストローブ信号を生成するためにアドレス
デコータ22からのRn指定信号とデータレジスタ群1
5に対する読圧しストローブ信号24の論理積をとるA
NDゲートである。
次に、本実施例の動作を説明する。
まず、命令実行ユニット11がn番目のデータレジスタ
Rnにデータを書込む場合を述べる。
Rnにデータを書込む場合を述べる。
命令実行ユニット11は、データを内部バス17に出力
すると同時にデータレジスタ指定アドレス21によりデ
ータレジスタRnを指定する。
すると同時にデータレジスタ指定アドレス21によりデ
ータレジスタRnを指定する。
アドレスデコーダ22はデータレジスタ指定アドレス2
1をデコーダし、Rnに対する選択信号のみをアクティ
ブにする。続いて命令実行ユニット11は書込みストロ
ーブ信号23をアクティブにするため、ANDゲート2
5のd力が1となり、データレジスタRnに内部バス上
のデータが書込まれる。このときANDゲート25の出
力は同時にタグレジスタ16のn番目のピ′ットをセッ
トし、データレジスタRnに有効なデータが書込まれた
ことをタグレジスタ上に記録する。
1をデコーダし、Rnに対する選択信号のみをアクティ
ブにする。続いて命令実行ユニット11は書込みストロ
ーブ信号23をアクティブにするため、ANDゲート2
5のd力が1となり、データレジスタRnに内部バス上
のデータが書込まれる。このときANDゲート25の出
力は同時にタグレジスタ16のn番目のピ′ットをセッ
トし、データレジスタRnに有効なデータが書込まれた
ことをタグレジスタ上に記録する。
なお、使用しなくなったデータレジスタをデータが書込
まれていない初期状態に戻す場合は、データレジスタ初
期化命令を命令実行ユニツ)11が実行する。この命令
によりタグレジスタ中の任意のビットをリセットするこ
とができる。この動作はマイクロプログラム制御により
処理されるため、そのための特別なハードウェアは必要
ない。
まれていない初期状態に戻す場合は、データレジスタ初
期化命令を命令実行ユニツ)11が実行する。この命令
によりタグレジスタ中の任意のビットをリセットするこ
とができる。この動作はマイクロプログラム制御により
処理されるため、そのための特別なハードウェアは必要
ない。
次に、第3図により本実施例のコンテキスト退避/回復
動作を説明する。
動作を説明する。
前述の動作でデータレジスタRO,R1,R3゜R6,
R31にデータが書込まれたとする。そのとき、タグレ
ジスタの内容は 1000000000000000000000000
1001011’となる。この状態で割込みが発生し、
コンテキストを退避する場合を考える。
R31にデータが書込まれたとする。そのとき、タグレ
ジスタの内容は 1000000000000000000000000
1001011’となる。この状態で割込みが発生し、
コンテキストを退避する場合を考える。
コンテキスト退避命令は、制御レジスタ群14とタグレ
ジスタ16をメモリに退避した後、タグレジスタ16中
の対応するビットが1になっているデータレジスタのみ
をレジスタ番号の小さい順に選択的にメモリに退避する
。この場合は、ビット 0 、 ピッ ト 1 、 ピ
ッ ト 3 、 ビ゛ッ ト 6 、 ヒ゛ッ ト 3
l が1になっているため、RO,R1,、R3,R
6゜R31の5レジスタがデータレジスタとしてメモリ
に退避される。
ジスタ16をメモリに退避した後、タグレジスタ16中
の対応するビットが1になっているデータレジスタのみ
をレジスタ番号の小さい順に選択的にメモリに退避する
。この場合は、ビット 0 、 ピッ ト 1 、 ピ
ッ ト 3 、 ビ゛ッ ト 6 、 ヒ゛ッ ト 3
l が1になっているため、RO,R1,、R3,R
6゜R31の5レジスタがデータレジスタとしてメモリ
に退避される。
割込み処理が終了し、このコンテキストを回復する動作
は以下のようになる。
は以下のようになる。
コンテキスト回復命令は制御レジスタ群14とタグレジ
スタ16をメモリから読出し、プロセッサ内のそれぞれ
のレジスタに戻す。続いてメモリから読出されるデータ
レジスタの退避内容については、タグレジスタ16中の
対応するビットが1になっているデータレジスタに対し
てレジスタ番号の小さい順に読込んだデータを戻してい
く。この場合はビットO,ビット1.ビット3.ビット
6、ビット31が1になっているため、RO,R1゜R
3,R6,R31の5レジスタにメモリからのデータが
戻されることになる。
スタ16をメモリから読出し、プロセッサ内のそれぞれ
のレジスタに戻す。続いてメモリから読出されるデータ
レジスタの退避内容については、タグレジスタ16中の
対応するビットが1になっているデータレジスタに対し
てレジスタ番号の小さい順に読込んだデータを戻してい
く。この場合はビットO,ビット1.ビット3.ビット
6、ビット31が1になっているため、RO,R1゜R
3,R6,R31の5レジスタにメモリからのデータが
戻されることになる。
なお、これらのコンテキスト退避/回復命令はマイクロ
プログラム制御により処理されるため、タグフラグが1
になっているデータレジスタのみを選択する、などの動
作を行なう特別なハードウェアは必要ない。
プログラム制御により処理されるため、タグフラグが1
になっているデータレジスタのみを選択する、などの動
作を行なう特別なハードウェアは必要ない。
従来のマイクロプロセッサでは、コンテキスト切換のた
めに無条件に全てのレジスタを退避していたため、この
例の場合では36ワ一ド分のコンテキストをメモリに書
込み、読出さなくてはならなかったが、本実施例のマイ
クロプロセッサでは、前述のように無効なデータレジス
タを省略するため、前述の動作の場合では9ワ一ド分の
コンテキストをメモリに書込み、読圧すのみとなり、コ
ンテキスト切換えを高速にできるという効果がある。
めに無条件に全てのレジスタを退避していたため、この
例の場合では36ワ一ド分のコンテキストをメモリに書
込み、読出さなくてはならなかったが、本実施例のマイ
クロプロセッサでは、前述のように無効なデータレジス
タを省略するため、前述の動作の場合では9ワ一ド分の
コンテキストをメモリに書込み、読圧すのみとなり、コ
ンテキスト切換えを高速にできるという効果がある。
次に、タグ情報をデータレジスタと共に退避/回復する
場合について説明する。
場合について説明する。
第4図は本発明の第2の実施例の浮動小数点演算プロセ
ッサのレジスタセットの配列図を示す。
ッサのレジスタセットの配列図を示す。
浮動小数点演算を行うマイクロプロセッサの場合には、
異なるデータフォーマットに対する無効な演算を検出す
るため、1つ1つのデータレジスタに対してそれぞれタ
グレジスタを用意することがある。このタグ情報には、
該当するデータレジスタが保持する浮動小数点データの
データフォーマットの他に、そのデータレジスタに有効
なデータが格納されていない空状態(Empty状態)
であることを示す情報も含まれる。従って、このタグ情
報を使えばレジスタを拡張することなく本発明の実施が
可能となる。
異なるデータフォーマットに対する無効な演算を検出す
るため、1つ1つのデータレジスタに対してそれぞれタ
グレジスタを用意することがある。このタグ情報には、
該当するデータレジスタが保持する浮動小数点データの
データフォーマットの他に、そのデータレジスタに有効
なデータが格納されていない空状態(Empty状態)
であることを示す情報も含まれる。従って、このタグ情
報を使えばレジスタを拡張することなく本発明の実施が
可能となる。
第4図の浮動小数点演算プロセッサのレジスタセットに
おいて、41は丸めモード、トラップ例外の種類などを
指定する32ビツト長のコントロールレジスタ、42は
演算により発生した例外を通知する32ビツト長のステ
ータスレジスタ、43は32本の80ビツト長デ一タレ
ジスタ群、44はデータレジスタ群403のそれぞれの
データレジスタに対応する32本の7ビツト長タグレジ
スタ群である。
おいて、41は丸めモード、トラップ例外の種類などを
指定する32ビツト長のコントロールレジスタ、42は
演算により発生した例外を通知する32ビツト長のステ
ータスレジスタ、43は32本の80ビツト長デ一タレ
ジスタ群、44はデータレジスタ群403のそれぞれの
データレジスタに対応する32本の7ビツト長タグレジ
スタ群である。
データレジスタ群43の中のそれぞれのデータレジスタ
は浮動小数点データを格納するために1ヒツトの符号フ
ィールド、15ビツトの指数部フィールドおよび64ビ
ツトの仮数部フィールドに分れており、 ■ 指数部8ビット+仮数部24ビットの単精度フォー
マット ■ 指数部11ビット+仮数部53ビットの倍精度フォ
ーマット ■ 指数部15ビット+仮数部64ビットの拡張倍精度
フォーマット の3種類の浮動小数点データを格納することができる。
は浮動小数点データを格納するために1ヒツトの符号フ
ィールド、15ビツトの指数部フィールドおよび64ビ
ツトの仮数部フィールドに分れており、 ■ 指数部8ビット+仮数部24ビットの単精度フォー
マット ■ 指数部11ビット+仮数部53ビットの倍精度フォ
ーマット ■ 指数部15ビット+仮数部64ビットの拡張倍精度
フォーマット の3種類の浮動小数点データを格納することができる。
また、タグレジスタ群44の中のそれぞれのタグレジス
タは4ビツトのチータフラスフィールドと3ビツトのデ
ータフォーマットフィールドを持っており、対応するデ
ータレジスタの内容に応じて第1表、第2表に示すコー
ドを格納する。
タは4ビツトのチータフラスフィールドと3ビツトのデ
ータフォーマットフィールドを持っており、対応するデ
ータレジスタの内容に応じて第1表、第2表に示すコー
ドを格納する。
第1表 第2表
次に、本実施例の動作を述べる。なお、プロセッサ内部
の全体的な構成は第1図と同様のため省略する。また、
本実施例は、タグ情報の設定をマイクロプログラムによ
り行なうため、第2図に相当するタグ情報の設定回路は
ない。
の全体的な構成は第1図と同様のため省略する。また、
本実施例は、タグ情報の設定をマイクロプログラムによ
り行なうため、第2図に相当するタグ情報の設定回路は
ない。
今、第5図に示すようにデータレジスタFRO。
FR2,FR3,FRI6にデータが格納されており、
その他のデータレジスタは空状態であるとする。この時
、割込み/コンテキスト切換えなどにより、制御レジス
タとデータレジスタおよびタグレジスタをメモリに退避
するコンテキスト退避命令の動作を、第6図を用いて説
明する。
その他のデータレジスタは空状態であるとする。この時
、割込み/コンテキスト切換えなどにより、制御レジス
タとデータレジスタおよびタグレジスタをメモリに退避
するコンテキスト退避命令の動作を、第6図を用いて説
明する。
まず、コントロールレジスタ41およびステータスレジ
スタ42をメモリ上の領域61および62に書き込む。
スタ42をメモリ上の領域61および62に書き込む。
次に、データレジスタFROの仮数部下位32ビツトを
メモリ上の領域63に、仮数部上位32ヒツトをメモリ
上の領域64に、指数部16ビツトをメモリ上の領域6
5にそれぞれ書込む。続いてFROに対応するタグレジ
スタTAGOをメモリ上の領域66に書込む。FROお
よびそれに対応するタグレジスタの格納はこれで終了す
るが、このデータがどのデータレジスタの内容であるか
をメモリ上に記録するためにデータレジスタの番号を5
ビツト長のメモリ上フィールド67に書込む。また、デ
ータレジスタの格納がさらに続くことをメモリ上に記録
するために“継続°を示すコード’o o o’ を3
ビツト長のメモリ上フィールド68に書き込む。
メモリ上の領域63に、仮数部上位32ヒツトをメモリ
上の領域64に、指数部16ビツトをメモリ上の領域6
5にそれぞれ書込む。続いてFROに対応するタグレジ
スタTAGOをメモリ上の領域66に書込む。FROお
よびそれに対応するタグレジスタの格納はこれで終了す
るが、このデータがどのデータレジスタの内容であるか
をメモリ上に記録するためにデータレジスタの番号を5
ビツト長のメモリ上フィールド67に書込む。また、デ
ータレジスタの格納がさらに続くことをメモリ上に記録
するために“継続°を示すコード’o o o’ を3
ビツト長のメモリ上フィールド68に書き込む。
この動作をFR2,FR3に対して繰り返す。
FR16の格納時には、データレジスタ、タグレジスタ
、レジスタ番号の格納は他のデータレジスタを同様に行
ない、フィールド69にはデータレジスタの格納がこれ
で最後であることを示す”終了° コード゛111′を
書込んで命令を終了する。
、レジスタ番号の格納は他のデータレジスタを同様に行
ない、フィールド69にはデータレジスタの格納がこれ
で最後であることを示す”終了° コード゛111′を
書込んで命令を終了する。
このようにしてメモリに退避されたコンテキストをプロ
セッサに戻すコンテキスト回復命令の動作を次に説明す
る。
セッサに戻すコンテキスト回復命令の動作を次に説明す
る。
まず、領域61から読込んだ32ビツトデータをコント
ロールレジスタに、領域62から読込んた37ヒツトテ
ータをステータスレジスタにそれぞれ戻す。次に領域6
3から読込んた32ヒツトデータを仮数部下位テータ、
領域64から読込んだ32ビツトテータを仮数部上位デ
ータ、領域65から読込んだ16ビツトデータを指数部
データとして仮のデータレジスタF Rtmpに保持す
る。同様に領域66から読込んた7ビツトデータをタグ
情報としてT A G tmpに保持する。その後に領
域67から読込んだレジスタ番号が示すデータレジスタ
FRnおよびTAGnにF RtmpとTAGtmpの
内容を転送する。
ロールレジスタに、領域62から読込んた37ヒツトテ
ータをステータスレジスタにそれぞれ戻す。次に領域6
3から読込んた32ヒツトデータを仮数部下位テータ、
領域64から読込んだ32ビツトテータを仮数部上位デ
ータ、領域65から読込んだ16ビツトデータを指数部
データとして仮のデータレジスタF Rtmpに保持す
る。同様に領域66から読込んた7ビツトデータをタグ
情報としてT A G tmpに保持する。その後に領
域67から読込んだレジスタ番号が示すデータレジスタ
FRnおよびTAGnにF RtmpとTAGtmpの
内容を転送する。
第5図の場合は領域67がo o o o o’になっ
ているため、FROとTAGOに戻すことになる。最後
に領域68から“ooo’の継続コードを読込み、以降
にデータレジスタの読出しが継続することを判断し、次
のFRnに対し、同様の動作を練り返す。
ているため、FROとTAGOに戻すことになる。最後
に領域68から“ooo’の継続コードを読込み、以降
にデータレジスタの読出しが継続することを判断し、次
のFRnに対し、同様の動作を練り返す。
FR2,FR3の復帰が終了し、FR16の復帰を行な
うと、最後の3ビツトフイ〜ルド69が゛終了′を示す
“111′になっているため、プロセッサはデータレジ
スタの復帰がすべて終了したと判断し、コンテキスト回
復命令を終了する。
うと、最後の3ビツトフイ〜ルド69が゛終了′を示す
“111′になっているため、プロセッサはデータレジ
スタの復帰がすべて終了したと判断し、コンテキスト回
復命令を終了する。
以上述べたように、データレジスタ退避の継続/終了を
示すコードをメモリ上に書込んでおくことにより、タグ
情報を先に扱わなくても本発明の実施が可能となる。
示すコードをメモリ上に書込んでおくことにより、タグ
情報を先に扱わなくても本発明の実施が可能となる。
〔発明の効果〕・
以上説明したように本発明は、データレジスタの使用状
態を示すタグレジスタを使ってコンテキスト切換え時に
不要なデータレジスタの退避/回復を省略することによ
り、使用しているデータレジスタが少ない場合にはコン
テキスト切換えを高速にできるという効果がある。
態を示すタグレジスタを使ってコンテキスト切換え時に
不要なデータレジスタの退避/回復を省略することによ
り、使用しているデータレジスタが少ない場合にはコン
テキスト切換えを高速にできるという効果がある。
第1図は本発明の一実施例の構成を示すブロック図、第
2図は第1図のデータレジスタ、タグレジスタの構成を
示すブロック図、第3図は第1図の可変長コンテキスト
の退避状態を示すメモリ配置図、第4図は本発明の第2
の実施例の浮動小数点演算プロセッサのレジスタ構成図
、第5図は第4図のプロセッサ上のコンテキスト状態を
示すメモリ配置図、第6図は第4図のメモリ上のコンテ
キスト退避状態を示すメモリ配置図、第7図は従来例の
マイクロプロセッサのコンテキストの状態を示すメモリ
配置図である。 11・・・・・・命令実行ユニット、12・・・・・ア
ドレスバス、13・・・・・・データバス、14・・・
・・・制御レジスタ群、15.43・・・・・・データ
レジスタ群、16・・・・・・タグレジスタ、17・・
・・・・内部データバス、21・・・・・・データレジ
スタ指定アドレス、22・・・・・・アドレスデコータ
、23・・・・・・書込みストローフ信号、24・・・
・読出しストローブ信号、25.26・・・・・・デー
タレジスタに対する書込み、読出し信号を生成するAN
Dゲー ト、41・・・・・・コントロールレジスタ、
42・・・・・ステータスレジスタ、44・・・・・・
タグレジスタ群、66〜68・・・・・・領域、69・
・・・・・フィールド。 代理人 弁理士 内 原 晋 −(32ヒフt+ に7ヒフトー <
(支)ヒブ)
V 1ヒット
2図は第1図のデータレジスタ、タグレジスタの構成を
示すブロック図、第3図は第1図の可変長コンテキスト
の退避状態を示すメモリ配置図、第4図は本発明の第2
の実施例の浮動小数点演算プロセッサのレジスタ構成図
、第5図は第4図のプロセッサ上のコンテキスト状態を
示すメモリ配置図、第6図は第4図のメモリ上のコンテ
キスト退避状態を示すメモリ配置図、第7図は従来例の
マイクロプロセッサのコンテキストの状態を示すメモリ
配置図である。 11・・・・・・命令実行ユニット、12・・・・・ア
ドレスバス、13・・・・・・データバス、14・・・
・・・制御レジスタ群、15.43・・・・・・データ
レジスタ群、16・・・・・・タグレジスタ、17・・
・・・・内部データバス、21・・・・・・データレジ
スタ指定アドレス、22・・・・・・アドレスデコータ
、23・・・・・・書込みストローフ信号、24・・・
・読出しストローブ信号、25.26・・・・・・デー
タレジスタに対する書込み、読出し信号を生成するAN
Dゲー ト、41・・・・・・コントロールレジスタ、
42・・・・・ステータスレジスタ、44・・・・・・
タグレジスタ群、66〜68・・・・・・領域、69・
・・・・・フィールド。 代理人 弁理士 内 原 晋 −(32ヒフt+ に7ヒフトー <
(支)ヒブ)
V 1ヒット
Claims (1)
- 【特許請求の範囲】 1、複数のデータレジスタと、これら複数のデータレジ
スタの内容が有効であることを示すタグレジスタと、こ
れら複数のデータレジスタおよびタグレジスタを外部メ
モリに書き込み読み出すことができる入出力手段とを有
し、割込み処理もしくはタスク切り換えによりコンテキ
スト退避/回復を行なう場合に、前記タグレジスタとこ
のタグレジスタによって内容が有効と示されているデー
タレジスタのみを選択的にメモリ退避/回復することに
より、コンテキスト切換え時に不要なデータレジスタの
退避/回復を省略するようにしたことを特徴とするマイ
クロプロセッサ。 2、各データレジスタがそれぞれタグレジスタを有する
ものである請求項(1)記載のマイクロプロセッサ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP30657390A JPH04178739A (ja) | 1990-11-13 | 1990-11-13 | マイクロプロセッサ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP30657390A JPH04178739A (ja) | 1990-11-13 | 1990-11-13 | マイクロプロセッサ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04178739A true JPH04178739A (ja) | 1992-06-25 |
Family
ID=17958686
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP30657390A Pending JPH04178739A (ja) | 1990-11-13 | 1990-11-13 | マイクロプロセッサ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04178739A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003233508A (ja) * | 2002-01-04 | 2003-08-22 | Microsoft Corp | コンピューティングシステム中のコプロセッサの計算リソースを制御するための方法およびコンピューティング装置 |
-
1990
- 1990-11-13 JP JP30657390A patent/JPH04178739A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003233508A (ja) * | 2002-01-04 | 2003-08-22 | Microsoft Corp | コンピューティングシステム中のコプロセッサの計算リソースを制御するための方法およびコンピューティング装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5864703A (en) | Method for providing extended precision in SIMD vector arithmetic operations | |
| KR100286416B1 (ko) | 여러운영체제기술에서볼수없는상이한데이터형연산을수행하는방법 | |
| KR100312092B1 (ko) | 스택레퍼런스및비스택레퍼런스방식으로공유논리레지스터파일의레지스터를지정하는두명령어유형을실행하는방법및장치 | |
| US6151669A (en) | Methods and apparatus for efficient control of floating-point status register | |
| US7840783B1 (en) | System and method for performing a register renaming operation utilizing hardware which is capable of operating in at least two modes utilizing registers of multiple widths | |
| JP2581236B2 (ja) | データ処理装置 | |
| JPH0450621B2 (ja) | ||
| US6216222B1 (en) | Handling exceptions in a pipelined data processing apparatus | |
| WO2009073542A1 (en) | Enhanced microprocessor or microcontroller | |
| CN101470599B (zh) | 处理单元 | |
| US6338134B1 (en) | Method and system in a superscalar data processing system for the efficient processing of an instruction by moving only pointers to data | |
| JP2682232B2 (ja) | 浮動小数点演算処理装置 | |
| JP3793155B2 (ja) | データ処理装置におけるソースレジスタのロッキング | |
| CN101201736B (zh) | 数学运算处理装置 | |
| US6212539B1 (en) | Methods and apparatus for handling and storing bi-endian words in a floating-point processor | |
| JP3170472B2 (ja) | レジスタ・リマップ構造を有する情報処理システム及び方法 | |
| JP2748957B2 (ja) | データ処理装置 | |
| JPH03204718A (ja) | 情報処理装置 | |
| JPH04178739A (ja) | マイクロプロセッサ | |
| JP2553200B2 (ja) | 情報処理装置 | |
| US6944745B2 (en) | Exception handling for single instructions with multiple data | |
| JP2562838B2 (ja) | プロセッサ及びストアバッファ制御方法 | |
| JPS62267869A (ja) | ベクトル・プロセツサにおける演算例外時の処理方式 | |
| JPH0535502A (ja) | コンテキスト切換装置 | |
| JPH06266567A (ja) | マイクロプロセッサ |