JPH0333934A - レジスタ退避復帰方式 - Google Patents

レジスタ退避復帰方式

Info

Publication number
JPH0333934A
JPH0333934A JP16947789A JP16947789A JPH0333934A JP H0333934 A JPH0333934 A JP H0333934A JP 16947789 A JP16947789 A JP 16947789A JP 16947789 A JP16947789 A JP 16947789A JP H0333934 A JPH0333934 A JP H0333934A
Authority
JP
Japan
Prior art keywords
register
registers
saving
memory
save
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
Application number
JP16947789A
Other languages
English (en)
Inventor
Katsutoshi Harada
勝利 原田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP16947789A priority Critical patent/JPH0333934A/ja
Publication of JPH0333934A publication Critical patent/JPH0333934A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はレジスタ退避復帰命令に関し、特にマイクロプ
ロセッサにおけるレジスタの内容を退避および復帰させ
るレジスタ退避復帰方式に関する。
〔従来の技術〕
従来のマイクロプロセッサにおいて、サブルーチンコー
ルなどを行うためにレジスタ内容を保存する必要のある
場合は、全レジスタに対してpush命令を行うか、あ
るいはpush [全レジスタ]のような命令を実行し
て、レジスタ内容を外部メモリのスタック上に退避し、
サブルーチン終了時にスタックからデータをレジスタに
復帰している。
第3図はかかる従来の一例を示すマイクロプロセッサの
レジスタおよびその退避復帰制御回路のブロック図であ
る。
第3図に示すように、従来のレジスタ退避復帰制御回路
は内部データバス1と、レジスタリードライト制御部2
′と、内部データバス1に接続された汎用レジスタ7′
〜9′と、レジスタリードライト制御部2′から制御さ
れるスタックポインタ11およびスタックポインタ増加
減少器12と、内部アドレスバス13と、内部データバ
ス1および内部アドレスバス13に接続されレジスタリ
ードライト制御部2′から制御されるバスサイクル制御
部14′とを有している。
次に、上述したレジスタ退避復帰制御回路の動作をいわ
ゆるパーソナルコンピュータ等のロードに相当する復帰
命令(スタックポツプ命令)と、セーブに相当する退避
命令(スタックブツシュ命令)とに分けて説明する。
まず、スタックポツプ命令を実行する時は、レジスタリ
ードライト制御部2′からスタックポインタ11とスタ
ックポインタ増加減少器12に信号が送られ、スタック
ポインタ1■の値が内部アドレスバス13を介してバス
サイクル制御部14′に送られる。従って、スタックポ
インタ11ではその値がデクリメントされる。また、同
時にレジスタリードライト制御部2′からバスサイクル
制御部14′にも信号が送られると、メモリリードバス
サイクルを起動しリードしたデータを内部データバス1
を介してレジスタ7′〜9′に書き込む。更に、その他
の外部メモリからレジスタ7′〜9′へのリード命令を
実行するときも同様に、レジスタリードライト制御2′
からの指示によってバスサイクル制御部14′がリード
バスサイクルを起動し、外部メモリからのデータが内部
データバス1を介して汎用レジスタ7′〜9′に書き込
まれる。
次に、スタックブツシュ命令を実行する時は、レジスタ
リードライト制御部2′から信号が出力される。すなわ
ち、レジスタ退避にあたってのアドレスはスタックポイ
ンタ増加減少器12によってデクリメントされたスタッ
クポインタ11から内部アドレスバス13に出力される
。他方、レジスタリードライト制御部2′からの信号で
レジスタ7′〜9′の値が内部データバス1に出力され
る。ここで、データおよびアドレスを受は取ったバスサ
イクル制御部14′はメモリライトバスサイクルを起動
し、外部メモリへデータを書き込む。また、その他のレ
ジスタから外部メモリへのライト命令を実行するときは
、レジスタリードライト制御部2′からの指示によって
レジスタ7′〜9′の内容が内部データバス1に読みだ
される。そこで、内部データバス上を介してデータを受
は取ったバスサイクル制御部14′はメモリライトバス
サイクルを起動し、外部メモリにデータを書き込む。
上述した手順に基づき、レジスタからの退避およびレジ
スタへの復帰動作が行われる。
〔発明が解決しようとする課題〕
上述した従来のレジスタ退避復帰方式は、全レジスタを
退避/復帰させるときには、レジスタ個数分のリード/
ライトバスサイクルを必要とするので、実行速度が低下
するという欠点がある。
本発明の目的は、かかる全レジスタを退避/復帰させる
ときの実行速度を高速化させることのできるレジスタ退
避復帰方式を提供することにある。
〔課題を解決するための手段〕
本発明のレジスタ退避復帰方式は、データを保持し且つ
内部データバスを介して外部記憶装置としてのスタック
に接続される複数のレジスタと、前記スタック上の記憶
領域を指し示し且つ内部アドレスバスに接続されたスタ
ックポインタと、前記内部データバスおよび内部アドレ
スバスに接続されたバスサイクル制御部と、前記レジス
タ、スタックポインタおよびバスサイクル制御部の動作
を制御するレジスタリードライト制御部とを有し、前記
レジスタの内容を退避および復帰させるためのレジスタ
退避復帰方式において、前記レジスタリードライト制御
部に接続され前記複数のレジスタの内容を退避するため
のレジスタ退避保持メモリと、前記複数のレジスタとレ
ジスタ退避保持メモリとを並列接続するマルチプレクサ
と、前記レジスタ退避保持メモリの記憶データ量を保持
するメモリカウンタとを含み、レジスタ退避命令を実行
するとき或いは割り込み処理を開始するときに、前記レ
ジスタおよびスタックポインタの内容を共に前記マルチ
プレクサを用いて−クロックで一斉に前記レジスタ保持
メモリに退避させる一方、前記レジスタ復帰命令を実行
するとき或いは割り込み処理を終了するときに、前記レ
ジスタ退避保持メモリから前記マルチプレクサを用いて
保持内容を前記レジスタに−クロックで一斉に復帰させ
るように構成される。
〔実施例〕
次に、本発明の実施例を図面を用いて説明する。
第1図は本発明の第一の実施例を示すレジスタおよびそ
の退避復帰制御回路のブロック図である。
第1図に示すように、本実施例は内部データバス1と、
レジスタリードライト制御部2と、マルチプレクサ3と
、レジスタ退避保持メモリ4と、レジスタ退避保持メモ
リ4が保持するレジスタの組数を計数するメモリカウン
タ5と、メモリカウンタ5加減少器6と、内部データバ
ス1およびマルチプレクサ3に接続されデータを保持す
るための汎用レジスタ7〜9と、マルチプレクサ3に接
続されレジスタリードライト制御部2により制御されて
アドレスを生成するアドレス生成器1゜と、スタックポ
インタ11およびスタックポインタ増加減少器12と、
マルチプレクサ3.アドレス生成器10およびスタック
ボンイタ11等に接続された内部アドレスバス13と、
バスサイクル制御部14と、マルチプレクサ3に接続さ
れたレジスタライト指示器15とを有している。
次に、かかるレジスタ退避復帰制御回路の動作について
説明するが、本実施例が前述した従来例と異なった動作
をするのはレジスタ7〜9の内容をすべて外部記憶装置
としてのスタックに退避させること、およびそのスタッ
クからすべてのレジスタ7〜9にデータを読み込んでく
るという動作をすることである。
すなわち、本実施例において、rpush [全レジス
タ]という命令を実行するとき、レジスタリードライト
制御部2が出力する信号により、レジスタ7〜9および
内部アドレスバス13の内容をマルチプレクサ3がまと
め、同時に1クロツクで一斉にレジスタ退避保持メモリ
4に書き込む。
したがって、レジスタ退避保持メモリ4には、(スタッ
クブツシュするべき最初のアドレス〉。
(レジスタ7の内容〉、(レジスタ8の内容)。
(レジスタ9の内容〉の4つが一組となっている。ここ
で、レジスタ7〜9の内容およびアドレスをレジスタ退
避保持メモリ4に書き込むための信号が、レジスタリー
ドライト制御部2からメモリカウンタ5およびメモリカ
ウンタ5加減少器6にも入力されると、メモリカウンタ
5の値をインクリメントする。かかる一連の動作によっ
て、1クロツクで一斉に退避できる。従って、本実施例
では、従来例の全レジスタ内容をスタックへ退避させる
ためのレジスタ個数分の外部メモリライトサイクルを必
要としないで済む。
一方、スタック上から全レジスタへデータを書き込む’
pop [全レジスタ]という命令を実行するときには
、レジスタリードライト制御部2から出力された信号に
よって、レジスタ退避保持メモリ4からpush命令時
に退避されていたデータを読みだし、マルチプレクサ3
によって各レジスタ毎のデータに分割してレジスタ7〜
9へそれぞれ書き込む。また、レジスタ退避保持メモリ
4からレジスタ7〜9へ書き込みを行うための信号が、
レジスタリードライト制御部2からメモリカウンタ5お
よびメモリカウンタ5加減少器6にも入力されると、メ
モリカウンタ5の値をデクリメントする。かかる一連の
動作によって、従来のスタックから全レジスタ7〜9へ
のデータを復帰させているレジスタ個数分の外部メモリ
リードサイクル動作を必要としないで済み、1クロツク
で一斉に復帰できる。
また、サブルーチン実行の戻し値をレジスタ渡しにする
場合があるが、値戻し用レジスタをレジスタ7とすると
、「pop [レジスタ7以外]という命令によってレ
ジスタライト指示器15からマルチプレクサ3に指示が
出され、レジスタ8と9にのみ書き込みが行われる。
更に、レジスタ退避保持メモリ4の容量を超えてpus
h命令を行う場合、メモリカウンタ5加減少器6からの
通知によりメモリカウンタ5の値がレジスタ退避保持メ
モリ4の容量を超えたことをレジスタリードライト制御
部2に通知する。この通知によりレジスタリードライト
制御部2はレジスタ退避保持メモリ4の内容を外部メモ
リに書き込むバスサイクルを発行するようにバスサイク
ル制御部14に通知する。その際、レジスタの一組の先
頭アドレスのみを保持しているので、アドレス生成器1
0によってアドレスをインクリメン1へしながらメモリ
ライトする。
また、レジスタ退避保持メモリ4にデータがなく、メモ
リカウンタ5の値がOのときにpop命令を実行しよう
とするときは、メモリカウンタ5からの通知を受けてレ
ジスタリードライト制御部2が外部メモリからレジスタ
退避保持メモリ4へ外部メモリ上のスタック内容を読み
込むようなバスサイクルを発行するようにバスサイクル
制御部■4に通知する。
尚、上述したアドレス生成器10は省略しても構成する
ことができる。その場合はレジスタ退避保持メモリ4中
のアドレス部分のみを内部アドレスバス13に出力すれ
ば良いし、あるいはマルチプレクサ3から直接内部アド
レスバス13に出力することも可能である。
第2図は本発明の第二の実施例を示すレジスタおよびそ
の退避復帰制御回路のブロック図である。
第2図に示すように、本実施例は割り込み処理の際のレ
ジスタ退避/復帰を内部メモリを用いて行う方式であり
、内部データバス1と、レジスタリードライI・制御部
2Aと、マルチプレクサ3Aと、レジスタ退避保持メモ
リ4と、メモリカウンタ5と、メモリカウンタ5加減少
器6と、汎用レジスタ7〜9と、アドレス生成器10と
、スタックポインタ1(およびスタックポインタ増−加
減少器■2と、内部アドレスバス13と、バスサイクル
制御部14と、レジスタライト指示器15と、割り込み
用レジスタ退避メモリ16とを有し、レジスタリードラ
イト制御部2Aに外部割り込み信号線17が接続されて
いる。
本実施例における回路動作は、割り込み処理動作を除い
て前述した第一の実施例の回路動作と同じであるので、
以下には割り込み処理のみについて説明する。
まず、外部割り込み信号線17に割り込み信号が入力さ
れたとき、レジスタリードライト制御部2Aはマルチプ
レクサ3Aに指示し、レジスタ7〜9の内容をレジスタ
退避メモリ4に書き込む。
しかる後、割り込み処理が実行され、この割り込み処理
が終わった後、レジスタリードライト制御部2Aはマル
チプレクサ3Aに指示し、レジスタ退避メモリ4の値を
読みだし、レジスタ7〜9へ1クロツクで一斉に書き込
む。
このように、本実施例においても、レジスタの退避/復
帰を共に1クロツクで行うことができるので、従来の割
り込み処理の前に全レジスタをスタックに退避するため
に必要としたレジスタ個数分のメモリライト/リードバ
スサイクルを必要としないで済む。
尚、外部割り込みの代わりにソフトウェア割り込みが発
生した場合も同様に処理することができる。
〔発明の効果〕
以上説明したように、本発明のレジスタ退避復帰方式は
、マイクロプロセッサを構成するためのチップ上にレジ
スタ退避保持メモリを有し且つレジスタをオンチップス
タックと並列に接続することにより、全レジスタ内容の
退避/復帰動作を1クロツクにて行うことができ、レジ
スタ個数分のリード/ライトバスサイクルを必要としな
いので、レジスタの退避および復帰を行うときの実行速
度を高速化することができるという効果がある。
【図面の簡単な説明】
第1図は本発明の第一の実施例を示すレジスタおよびそ
の退避復帰制御回路のブロック図、第2図は本発明の第
二の実施例を示す第1図と同様のブロック回路図、第3
図は従来の一例を示すレジスタおよびその退避復帰制御
回路のブロック図である。 1・・・内部データバス、2,2A・・・レジスタリー
ドライト制御部、3,3A・・・マルチプレクサ、4・
・・レジスタ退避保持メモリ、5・・・メモリカウンタ
、6・・・メモリカウンタ増加減少器、7〜9・・・汎
用レジスタ、10・・・アドレス生成器、11・・・ス
タックポインタ、12・・・スタックポインタ増加減少
器、13・・・内部アドレスバス、14・・・バスサイ
クル制御部、15・・・レジスタライト指示器、16・
・・割り込み用レジスタ退避メモリ、17・・・外部割
り込み信号線。

Claims (1)

    【特許請求の範囲】
  1. データを保持し且つ内部データバスを介して外部記憶装
    置としてのスタックに接続される複数のレジスタと、前
    記スタック上の記憶領域を指し示し且つ内部アドレスバ
    スに接続されたスタックポインタと、前記内部データバ
    スおよび内部アドレスバスに接続されたバスサイクル制
    御部と、前記レジスタ、スタックポインタおよびバスサ
    イクル制御部の動作を制御するレジスタリードライト制
    御部とを有し、前記レジスタの内容を退避および復帰さ
    せるためのレジスタ退避復帰方式において、前記レジス
    タリードライト制御部に接続され前記複数のレジスタの
    内容を退避するためのレジスタ退避保持メモリと、前記
    複数のレジスタとレジスタ退避保持メモリとを並列接続
    するマルチプレクサと、前記レジスタ退避保持メモリの
    記憶データ量を保持するメモリカウンタとを含み、レジ
    スタ退避命令を実行するとき或いは割り込み処理を開始
    するときに、前記レジスタおよびスタックポインタの内
    容を共に前記マルチプレクサを用いて一クロックで一斉
    に前記レジスタ保持メモリに退避させる一方、前記レジ
    スタ復帰命令を実行するとき或いは割り込み処理を終了
    するときに、前記レジスタ退避保持メモリから前記マル
    チプレクサを用いて保持内容を前記レジスタに一クロッ
    クで一斉に復帰させることを特徴とするレジスタ退避復
    帰方式。
JP16947789A 1989-06-29 1989-06-29 レジスタ退避復帰方式 Pending JPH0333934A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16947789A JPH0333934A (ja) 1989-06-29 1989-06-29 レジスタ退避復帰方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16947789A JPH0333934A (ja) 1989-06-29 1989-06-29 レジスタ退避復帰方式

Publications (1)

Publication Number Publication Date
JPH0333934A true JPH0333934A (ja) 1991-02-14

Family

ID=15887277

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16947789A Pending JPH0333934A (ja) 1989-06-29 1989-06-29 レジスタ退避復帰方式

Country Status (1)

Country Link
JP (1) JPH0333934A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009006144A1 (de) 2008-01-29 2009-10-08 Hitachi Metals, Ltd. Magnetischer Sensor und Drehwinkel-Erfassungsvorrichtung
DE112010002899T5 (de) 2009-07-13 2012-06-14 Hitachi Metals, Ltd. Verfahren zur Herstellung eines Magnetowiderstandseffektelements, eines Magnetsensors, einer Drehwinkel-Erfassungsvorrichtung
JP2014130606A (ja) * 2005-10-20 2014-07-10 Qualcomm Incorporated スタックド・レジスタ・ファイルのレジスタ・セーブ・エンジンのためのバッキング記憶装置バッファ

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014130606A (ja) * 2005-10-20 2014-07-10 Qualcomm Incorporated スタックド・レジスタ・ファイルのレジスタ・セーブ・エンジンのためのバッキング記憶装置バッファ
DE102009006144A1 (de) 2008-01-29 2009-10-08 Hitachi Metals, Ltd. Magnetischer Sensor und Drehwinkel-Erfassungsvorrichtung
DE112010002899T5 (de) 2009-07-13 2012-06-14 Hitachi Metals, Ltd. Verfahren zur Herstellung eines Magnetowiderstandseffektelements, eines Magnetsensors, einer Drehwinkel-Erfassungsvorrichtung

Similar Documents

Publication Publication Date Title
US7590774B2 (en) Method and system for efficient context swapping
JP3676882B2 (ja) マイクロプロセッサ及びその周辺装置
JP2822782B2 (ja) シングルチップマイクロコンピュータ
JPH0333934A (ja) レジスタ退避復帰方式
US5561818A (en) Microprocessor and data processing system for data transfer using a register file
JPS59197946A (ja) メモリ装置
JPH09311812A (ja) マイクロコンピュータ
JPS6043757A (ja) 1チツプのマイクロコンピユ−タ
JP2501393B2 (ja) 直接メモリアクセス装置
JP2928036B2 (ja) 論理半導体集積回路
JP2528394B2 (ja) 演算制御装置
JPS6014435B2 (ja) 記憶装置
JP3366235B2 (ja) データ読み出し制御装置
JPS6199996A (ja) ダイナミツクram制御方式
JPH03282667A (ja) コンピュータ装置
JPH05120205A (ja) Dma転送用アドレス変換装置付きプロセツサシステムおよびdma転送方法
JPS62297954A (ja) メモリ制御方式
JPH05250161A (ja) マイクロコンピュータ装置
JPH0259933A (ja) マイクロプロセッサ
JPH07334451A (ja) ダイレクトメモリアクセスコントローラ装置
JP2001100991A (ja) ディジタル信号処理装置
JPS62239242A (ja) デバツク装置
JPS63127486A (ja) 半導体メモリ制御装置
JPS63188883A (ja) 記憶装置
JP2003122627A (ja) メモリコントローラ