JPH0258649B2 - - Google Patents

Info

Publication number
JPH0258649B2
JPH0258649B2 JP59172742A JP17274284A JPH0258649B2 JP H0258649 B2 JPH0258649 B2 JP H0258649B2 JP 59172742 A JP59172742 A JP 59172742A JP 17274284 A JP17274284 A JP 17274284A JP H0258649 B2 JPH0258649 B2 JP H0258649B2
Authority
JP
Japan
Prior art keywords
register
signal
register block
block
program
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
Application number
JP59172742A
Other languages
English (en)
Other versions
JPS6151243A (ja
Inventor
Koichi Tanaka
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.)
Toshiba Corp
Original Assignee
Tokyo Shibaura Electric Co Ltd
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 Tokyo Shibaura Electric Co Ltd filed Critical Tokyo Shibaura Electric Co Ltd
Priority to JP59172742A priority Critical patent/JPS6151243A/ja
Priority to US06/763,716 priority patent/US4733346A/en
Publication of JPS6151243A publication Critical patent/JPS6151243A/ja
Publication of JPH0258649B2 publication Critical patent/JPH0258649B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • G06F9/462Saving or restoring of program or task context with multiple register sets

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

【発明の詳細な説明】 [発明の技術分野] この発明は汎用のマイクロプロセツサなどの演
算処理装置に係り、特にスタツク、レジスタを多
用する高級言語向きのレジスタ式演算処理装置に
関する。
[発明の技術的背景とその問題点] 従来、演算処理装置(以下CPUと称する)に
おいてサブルーチンコールなどが生じた場合に
は、パラメータの受け渡し、レジスタ内データの
一時保存のため、外部メモリ上にスタツク領域を
設け、そのスタツクに対するPUSHおよびPOP
命令によりデータをメモリとの間で交換してい
る。
このPUSH命令は、CPU内にあるスタツクポ
インタ(SP)で示されるメモリ番地にデータを
格納し、その後、SPを1データ分メモリ番地の
小さい番地を指し示すように変更する命令であ
る。また、POP命令は、逆に1データ分メモリ
番地を増加し、その番地のデータを取込む命令で
ある。従つて、PUSH、POP命令だけでメモリ
を読み書きした場合、操作されるのはスタツクの
最上位にあるデータだけであるため、サブルーチ
ンコール時に待避したデータは支障なく保存され
る。
ところで、CPUには多数のレジスタが内蔵さ
れ、また高級言語が多用されるに従い、レジスタ
とメモリとの間のデータ交換が増加し、また受け
渡されるパラメータの数も増加し、メモリアクセ
ス回数が増大している。さらに、スタツク上の複
数のパラメータを任意の順序で読み書きする必要
があることから、(SP)+オフセツトをメモリア
ドレスとするため、アドレス計算にも多大な時間
が必要である。
さらにCPU本体の動作速度が速くなつている
現状に対し、大容量メモリのデータアクセス時間
が十分短くないため、CPUが待機する必要があ
り、実質的に処理速度が向上しないなどの問題も
生じてきている。
これらメモリアクセスで生じる問題点を解決す
るため、従来では次のような種々の方式が実現さ
れている。
まずその一つの方式として、米国インテル社製
の「i80186」系のCPUがある。このCPUでは、
PUSH ALL,POP ALL命令により1命令です
べてのレジスタ内データをスタツクに出入れして
いる。この方式では、命令フエツチ、解読の手順
は1回で済むが、データ移動が終了するまでは次
の命令に進めないため、結局のところデータ待
避、回復の総合時間はそれほど減少しない。
他の方式として、米国TI社製のCPU
「TMS9900」における方式がある。このCPUは
全レジスタをワークスペースポインタ(WSP)
で示された外部メモリ上に設定している。すなわ
ち、この方式ではサブルーチンコールなどでレジ
スタをスタツクに待避するのではなく、WSPを
変更するだけで待避したのと同様な効果を得るよ
うにしている。しかしながら、メモリ上のレジス
タはアクセス時間が遅く、パラメータの受け渡し
に対する解決策となつていない。
さらに他の方式として米国バークレイ大学の
「RISC」がある。この方式は、上記のような問題
の大部分を解決するため、CPU内部に非常に多
くのレジスタ群を設け、このレジスタ群を使用す
ることによりレジスタへの待避、パラメータの受
け渡し時に外部メモリをアクセスしないでも良い
方法をとつている。具体的には、一つのサブルー
チンがアクセスできるレジスタはごく一部のレジ
スタに限られ、そのレジスタ集合は機能的に、パ
ラメータ受け用、汎用、パラメータ渡し用の三種
類に分類されている。そして、サブルーチンコー
ルが生じた場合には、呼び出し側のパラメータ渡
し用レジスタは、呼び出された側ではパラメータ
受け用レジスタとしてアクセスされる。また、呼
び出された側では呼び出し側のパラメータ受け用
および汎用レジスタに対するアクセスが不可能に
なる。
この「RISC」による方式において、サブルー
チンコール時にはパラメータのデータ移動は全く
行われず、さらにデータの待避という動作も必要
ではなく、非常に速いサブルーチンコールが実現
されている。しかしながら、幾重にもサブルーチ
ンコールが生じた場合、CPU内のレジスタ群に
も限りがあることから、ある時点で、レジスタの
内容の一部を外部メモリにソフトウエアでもつて
移動させる必要がある。また、このオーバーヘツ
ドを少なくするためには極端に多くのレジスタ
(例えば138本)を必要とし、マイクロプロセツサ
の大部分をレジスタが占有するという問題が生じ
る。
[発明の目的] この発明は上記のような事情を考慮してなされ
たものであり、その目的はサブルーチンコール時
におけるレジスタ内容の待避を、演算処理装置の
プログラム処理によらずに行なうことにより、高
速にサブルーチンコールが行なえるとともに、命
令実行と独立にかつ並行してレジスタ群をメモリ
装置に読み書きできることによつてプログラムの
オーバーヘツドをなくし、かつレジスタ数の増加
を押さえたレジスタ式演算処理装置を提供するこ
とにある。
[発明の概要] 上記目的を達成するためこの発明にあつては、
サブルーチンコールおよびリターンを含むプログ
ラムを実行するプログラム実行処理手段によりア
クセスされ、それぞれ複数のレジスタで構成され
た複数のレジスタブロツクを設け、上記複数のレ
ジスタブロツクと外部メモリ装置との間でのデー
タ転送をメモリインターフエイス手段で行なわ
せ、上記レジスタブロツク内のデータを格納すべ
き上記メモリ装置のメモリアドレスをアドレス指
示手段で保持し、予め上記複数のレジスタブロツ
クに対する使用モードをレジスタ制御手段で設定
し、かつレジスタ制御手段で上記実行処理手段に
おけるサブルーチンコールまたはリターン実行時
に上記各レジスタブロツクに対する使用モードを
変更させて上記プログラム実行処理手段でアクセ
スされるレジスタブロツクを交換するとともに、
アクセス不能となつたレジスタブロツク内のデー
タの上記メモリ装置へのデータ待避およびアクセ
ス可能となつたレジスタブロツクに対するデータ
復旧を、レジスタ制御手段の制御の下に上記アド
レス指示手段のアドレスに基づき上記メモリイン
ターフエイス手段で行なわせるようにしている。
[発明の実施例] 以下、図面を参照してこの発明の一実施例を説
明する。
第1図はこの発明に係るレジスタ式演算処理装
置の構成を示すブロツク図である。図中10はマ
イクロプロセツサ本体であり、このマイクロプロ
セツサ本体10内部には、汎用CPU(プログラム
実行処理手段)11、3個のレジスタブロツク1
2,13,14、メモリインターフエイス(メモ
リインターフエイス手段)15、3個のデコーダ
16,17,18、上記3個のレジスタブロツク
12,13,14およびデコーダ16,17,1
8を制御するレジスタ制御部(レジスタ制御手
段)19、レジスタポインタ(アドレス指示手
段)20、上記CPU11と3個のレジスタブロ
ツク12,13,14およびレジスタポインタ2
0とを接続する内部データバス21、上記3個の
レジスタブロツク12,13,14メモリインタ
ーフエイス15とを接続する補助データバス2
2、CPU11とデコーダ16,17,18それ
ぞれとを接続する第1のレジスタ選択信号バス2
3、メモリインターフエイス15とデコーダ1
6,17,18それぞれとを接続する第2のレジ
スタ選択信号バス24、CPU11とレジスタ制
御部19とを接続する制御バス25および第1の
制御応答バス26、レジスタ制御部19とメモリ
インターフエイス15とを接続する第2の制御応
答バス27、レジスタ制御部19と3個のデコー
ダ16,17,18それぞれおよび3個のレジス
タブロツク12,13,14それぞれとを接続す
るデコーダ選択信号線28、3個のデコーダ1
6,17,18それぞれと3個のレジスタブロツ
ク12,13,14それぞれとを接続するデコー
ド信号線29、メモリインターフエイス15とレ
ジスタポインタ20とを接続するデータバス30
が設けられている。そしてこのマイクロプロセツ
サ本体10内のメモリインターフエイス15は、
アドレス・データバス31を介して外部メモリ
(メモリ装置)32に接続されている。
上記汎用CPU11は、プログラムの実行およ
びこのプログラム実行に基づいて各種制御を行な
うものであり必要に応じて3個のレジスタブロツ
ク13,14,15をデータ記憶手段として用い
る。また3個のレジスタブロツク13,14,1
5はそれぞれ複数ビツトのレジスタから構成され
ている。
メモリインターフエイス15は上記レジスタ制
御部19の制御の下に、外部メモリ32と上記3
個のレジスタブロツク12,13,14との間で
データの転送を行なう。
レジスタポインタ20は、レジスタブロツク1
2,13,14内のデータの待避、復旧をする際
の外部メモリ32のメモリ領域を指示する値、す
なわちメモリアドレスを保持するものであり、そ
のアドレスデータはCPU11もしくはメモリイ
ンターフエイス15により読み書きされる。
上記制御バス25は、CPU11が現レジスタ
ブロツクをアクセスしていることを示すNS信号
線25a、旧レジスタブロツクをアクセスしてい
ることを示すOS信号線25b、サブルーチンコ
ールが生じたことを示すCALL信号線25c、サ
ブルーチンリターンが生じたことを示すRET信
号線25d、CALL信号線25cおよびRET信
号線25d上の信号を取入れるためのサンブリン
グパルスが伝達されるPULSE信号線25e、レ
ジスタ制御部19を初期化するためのリセツト信
号が伝達されるRESET信号線25fから構成さ
れている。
第1の制御応答バス26は、CPU11に対し
て、その動作を停止させるための停止信号
WAITを伝達する。
第2の制御応答バス27は、レジスタブロツク
12,13,14内のデータを外部メモリ32に
待避する要求を示すブロツク待避信号を伝達する
BCALL信号線27a、外部メモリ32に待避さ
れたデータをレジスタブロツク12,13,14
に復旧させる要求を示すブロツク復旧信号を伝達
するBRET信号線27b、メモリインターフエ
イス15の動作の終了を示すEND信号を伝達す
るEND信号線27cから構成されている。
デコーダ選択信号線28は、デコーダ入力を第
1のレジスタ選択信号バス35上の信号とし、か
つCPU11の入出力データをレジスタブロツク
の入出力データとするためのPU信号を伝達する
信号線28a、同じくデコーダ入力を第2のレジ
スタ選択信号バス24上の信号とし、かつメモリ
インターフエイス15を介して伝達されるデータ
をレジスタブロツクの入出力データとするための
MIU信号を伝達する信号線28bから構成され
ている。
第2図は上記レジスタ制御部19の具体的な構
成を示す回路図である。
このレジスタ制御部19は、前記3個の各レジ
スタブロツク12,13,14の状態管理を行な
う状態管理回路41,42,43、前記CPU1
1とメモリインターフエイスとの間の仲裁を行な
う仲裁回路44、および2個のノアゲート回路4
5,46から構成されている。
上記状態管理回路41,42,43には前記制
御バス25、第2の制御応答バス27がそれぞれ
接続され、このうちのRESET信号線25fの信
号がA,B,Cの3つのリセツト入力端子のいず
れか一つに選択的に供給され、状態管理回路41
のB,Cのリセツト入力端子、状態管理回路42
のA,Cのリセツト入力端子および状態管理回路
43のA,Bのリセツト入力端子にはそれぞれ常
時“1”レベルが供給されている。これら各状態
管理回路41,42,43は、制御バス25およ
び第2の制御応答バス27の信号に応じてPU信
号、MIU信号およびFAIL信号のレベル設定を行
なう。上記各状態管理回路41,42,43でレ
ベル設定されるMIU信号は上記ノアゲート回路
45に並列に供給され、FAIL信号は上記ノアゲ
ート回路46に並列に供給される。上記両ノアゲ
ート回路45,46の出力信号は上記仲裁回路4
4に供給される。またこの仲裁回路44にも前記
制御バス25、第2の制御応答バス27がそれぞ
れ接続されており、これらの入力に応じて前記第
1の制御応答バス26、第2の制御応答バス27
に信号を出力する。
状態管理回路41,42,43は、レジスタブ
ロツク12,13,14のうち対応するものが後
述する2つのモード状態D,Eに設定されている
ときにサブルーチンコールが生じた際にFAIL信
号を出力する。
第3図は上記第2図中の状態管理回路41,4
2,43の詳細な構成を示す回路図である。これ
ら各状態管理回路41,42,43はすべて等価
な構成にされている。
この状態管理回路では、対応するレジスタブロ
ツクの状態として、CPU11が使用可能な状態
にされている第1のモード(以下、このモードを
Aモードと称する)、親プログラムからサブルー
チンプログラムがコールされ、このサブルーチン
プログラムをCPU11が実行しているときに、
親プログラムではAモードでアクセスしていたレ
ジスタブロツクであるとしてCPU11が識別し
て使用可能な状態にされている第2のモード(以
下、このモードをBモードと称する)、CPU11
が使用不可能な状態にされている第3のモード
(以下、このモードをCモードと称する)、外部メ
モリ32に待避されたデータが復旧される状態に
ある第4のモード(以下、このモードをDモード
と称する)、内部データが外部メモリ32に待避
される状態にある第5のモード(以下、このモー
ドをEモードと称する)からなる五つのモード状
態を記憶する3個のJK型フリツプフロツプ51,
52,53が設けられている。そして上記フリツ
プフロツプ51の反転セツト信号入力端子には前
記リセツト入力端子Aの信号が、フリツプフロツ
プ52の反転セツト信号入力端子には前記リセツ
ト入力端子Bの信号が、フリツプフロツプ53の
反転セツト信号入力端子には常時“1”レベルの
信号がそれぞれ供給される。フリツプフロツプ5
1の反転リセツト信号入力端子には前記リセツト
入力端子B,Cの信号が入力反転型ノアゲート回
路54を介して、フリツプフロツプ52の反転リ
セツト信号入力端子には前記リセツト入力端子
A,Cの信号が入力反転型ノアゲート回路55を
介して、フリツプフロツプ53の反転リセツト信
号入力端子には前記リセツト入力端子A,B,C
の信号およびインバータ56によつて反転される
前記信号線27c上の信号ENDが入力反転型ノ
アゲート回路57を介してそれぞれ供給される。
上記フリツプフロツプ51のQ出力信号は信号
N、出力信号は信号にされ、このうち信号N
が前記信号線25aのNS信号とともにアンドゲ
ート回路58に供給される。
上記フリツプフロツプ52のQ出力信号は信号
O、出力信号は信号にされ、このうち、信号
Oが前記MIU信号を伝達する信号線28bの反
転信号および信号線25bのOS信号ととも
にアンドゲート回路59に供給され、さらに信号
Oは信号線25bのOS信号および信号線28b
の信号MIUとともにアンドゲート回路60に供
給される。上記両アンドゲート回路58,59の
出力信号はオアゲート回路61に供給され、前記
信号線28a上を伝達されるPU信号はこのオア
ゲート回路61の出力信号として得られる。ま
た、前記FAIL信号は上記アンドゲート回路60
の出力信号として得られる。
さらに上記フリツプフロツプ53のQ出力信号
は前記信号MIU、出力信号はその反転信号
MIUにされ、信号MIUが前記信号線28b上を
伝達される。
上記JK型フリツプフロツプ51のJ入力端子
にはオアゲート回路62の出力信号が供給されて
いる。さらにこのオアゲート回路62には2個の
アンドゲート回路63,64の出力信号が並列に
供給されている。このうち、一方のアンドゲート
回路63には、上記信号,および前記信号線
25cのCALL信号が並列に供給され、他方のア
ンドゲート回路64には、上記信号,Oおよび
前記信号線25dのRET信号が並列に供給され
る。なお、この状態管理回路において、上記
CALL信号およびRET信号はオアゲート回路6
5に並列に供給されている。またフリツプフロツ
プ51のK入力端子にはアンドゲート回路66の
出力信号が供給されている。そしてこのアンドゲ
ート回路66には上記信号Nおよび上記オアゲー
ト回路65の出力信号が供給されている。
上記JK型フリツプフロツプ52のJ入力端子
にはオアゲート回路67の出力信号が供給されて
いる。さらにこのオアゲート回路67には2個の
アンドゲート回路68,69の出力信号が並列に
供給されている。このうち、一方のアンドゲート
回路68には、上記信号Nおよび前記信号線25
cのCALL信号が並列に供給され、他方のアンド
ゲート回路69には、上記信号,および前記
信号線25dのRET信号が並列に供給される。
またフリツプフロツプ52のK入力端子にはアン
ドゲート回路70の出力信号が供給されている。
そしてこのアンドゲート回路70には上記信号O
および上記オアゲート回路65の出力信号が供給
されている。
上記JK型フリツプフロツプ53のJ入力端子
にはオアゲート回路71の出力信号が供給されて
いる。さらにこのオアゲート回路71には2個の
アンドゲート回路72,73の出力信号が並列に
供給されている。このうち、一方のアンドゲート
回路72には、上記信号,および前記信号線
25dのRET信号が並列に供給され、他方のア
ンドゲート回路73には、上記信号Oおよび前記
信号線25cのCALL信号が並列に供給される。
またフリツプフロツプ52のK入力端子にはアー
ス電位が供給され、常時“0”レベルに設定され
ている。
さらに上記各JK型フリツプフロツプ51,5
2,52のクロツク入力端子にはアンドゲート回
路74の出力信号が並列に供給されている。この
アンドゲート回路74には、前記オアゲート回路
45の出力信号がインバータ75を介して供給さ
れるとともに、前記信号線25e上を伝達される
PULSE信号が供給される。
この状態管理回路において、フリツプフロツプ
51のQ出力信号Nは現ブロツクの状態を、フリ
ツプフロツプ52のQ出力信号Oは旧ブロツクの
状態を、フリツプフロツプ53のQ出力信号
MIUはメモリインターフエイス15によるデー
タのアクセス状態をそれぞれ示し、前記Aモード
ないしEモードはこの3つの状態信号のレベルの
組み合せによつて設定されている。なお、これら
のモード状態については後にさらに詳述する。
第4図は、前記第2図中の仲裁回路44の詳細
な構成を示す回路図である。この仲裁回路44
は、前記第2の制御応答バス27に出力すべきブ
ロツク待避信号BCALLおよびブロツク復旧信号
BRETと第1の制御応答バス26に出力すべき
WAIT信号それぞれのレベル設定を行なうため
の3個のJK型フリツプフロツプ81,82,8
3を備えている。
上記フリツプフロツプ81のJ入力端子にはア
ンドゲート回路84の出力信号が供給されてい
る。さらにこのアンドゲート回路84には、前記
オアゲート回路45の出力信号およびもう一つの
オアゲート回路85の出力信号が並列に供給され
ている。上記オアゲート回路85には、前記信号
線25cのCALL信号および前記信号線25dの
RET信号が並列に供給されている。またこのフ
リツプフロツプ81のK入力端子はアース電位が
供給され、常時“O”レベルに設定されている。
上記フリツプフロツプ82の入力端子には前記
信号線25cのCALL信号が供給され、K入力端
子はアース電位が供給され、常時“O”レベルに
設定されている。
上記フリツプフロツプ83のJ入力端子には前
記信号線25dのRET信号が供給され、K入力
端子はアース電位が供給され、常時“O”レベル
に設定されている。
また上記フリツプフロツプ81のクロツク入力
端子には前記信号線25e上を伝達される
PULSE信号が供給され、フリツプフロツプ82,
83のクロツク入力端子にはアンドゲート回路8
6の出力信号が供給される。このアンドゲート回
路86には前記オアゲート回路45の出力信号が
インバータ87を介して、前記信号線25e上を
伝達されるPULSE信号が並列に供給される。上
記フリツプフロツプ81,82,83の反転リセ
ツト信号入力端子には、インバータ88を介し
て、前記信号線27c上のEND信号が供給され
る。
上記フリツプフロツプ81のQ出力信号は前記
オアゲート回路46の出力信号とともにオアゲー
ト回路89に供給され、前記WAIT信号はこの
オアゲート回路89の出力信号として得られる。
さらに前記ブロツク待避信号BCALLは上記フリ
ツプフロツプ82のQ出力信号として得られ、前
記ブロツク復旧信号BRETは上記フリツプフロ
ツプ83のQ出力信号として得られる。
第5図は前記レジスタブロツク12,13,1
4のうちの一つの詳細な構成を示す回路図であ
る。これら各レジスタブロツク12,13,14
はすべて等価な構成にされている。
レジスタブロツクにはそれぞれ例えば8ビツ
ト、16ビツトもしくは32ビツト分の単位レジスタ
からなる複数のレジスタ群91が設けられてお
り、これらレジスタ群91は前記デコード信号線
29上の信号に基づいて選択される。そして選択
されたレジスタ群91からの読み出しデータもし
くはレジスタ群91に対する書き込みデータは、
前記信号線28a上のPU信号をゲート入力とす
るスイツチ用のNチヤネルMOSトランジスタ群
92を介して前記内部データバス21との間で入
出力制御されるか又は、前記信号線28b上の
MIU信号をゲート入力とするスイツチ用のNチ
ヤネルMOSトランジスタ群93を介して前記補
助データバス22との間で入出力制御される。
第6図は前記デコーダ16,17,18のうち
の一つの詳細な構成を示す回路図である。これら
各デコーダ16,17,18はすべて等価な構成
にされている。
このデコーダはm入力−n出力(nは2のm乗
の値)の2進デコード回路94と、前記信号線2
8a上のPU信号によつてゲート制御され、前記
第1のレジスタ選択信号バス23上の信号を上記
2進デコード回路94の入力信号として導くスイ
ツチ用のNチヤネルMOSトランジスタ群95と、
前記信号線28b上のMIU信号によつてゲート
制御され、前記第2のレジスタ選択信号バス24
上の信号を上記2進デコード回路94の入力信号
として導くスイツチ用のNチヤネルMOSトラン
ジスタ群96などから構成されている。
この装置では、CPU11がプログラムの実行
によりアクセスできるレジスタブロツクは前記A
モードおよびBモードに設定されている現ブロツ
クと旧ブロツクの二つである。このうち現ブロツ
クとはCPU11がプログラムを実行する上で汎
用に用いるレジスタであり、プログラム実行時に
コールするプログラムとの間のパラメータの受け
渡しにも使用される。旧ブロツクとはプログラム
をコールした元のプログラムから渡されたパラメ
ータおよびコールされたプログラムからの返値を
書き込むレジスタおよびコールしたプログラムの
レジスタを保持しているレジスタブロツクであ
る。すなわち、コールする側の現レジスタブロツ
クは、コールされた側の旧ブロツクであり、コー
ル時にパラメータ、レジスタの待避、復旧は
CPU11におけるプログラム処理によつては行
われない。
また、前記各状態管理回路41,42,43で
設定される各信号N,O,MIUの状態を(N,
O,MIU)と表わし、0はそのレベルが“0”
レベルであることを示し、1はそのレベルが
“1”レベルであることを示す。そしてこの各信
号のレベルの組み合せによつて、前記5種類のモ
ード状態が設定される。
そして前記Aモードは上記信号(N,O,
MIU)の状態が(1,0,0)、Bモードは
(0,1,0)、Cモードは(0,0,0)、Dモ
ードは(0,1,1)、Eモードは(0,0,1)
であるとする。これらのモード状態は、CPU1
1がプログラムを実行中にサブルーチンコール、
リターンが生じたときおよび前記外部メモリ32
と各レジスタブロツク12,13,14との間の
データ転送が終了して、前記メモリインターフエ
イス15からEND信号が出力されるとき毎に、
第7図の状態遷移図に示すように順次遷移される
ようになつている。なお、第7図における矢印は
添えられた信号が入力されるときの状態遷移方向
を表わしている。
次に上記のような構成でなる演算処理装置の動
作を、上記第7図の状態遷移図および第8図のレ
ジスタブロツク12,13,14の各状態遷移と
レジスタポインタ20のポインタ位置を示す説明
図を用いて説明する。
先ず、t0のときCPU11からリセツト信号線
25fを介し、レジスタ制御部19に対して
RESET信号が出力される。このRESET信号は
状態管理回路41に対してはリセツト入力端子A
に供給され、状態管理回路42に対してはリセツ
ト入力端子Bに、状態管理回路43に対してはリ
セツト入力端子Cにそれぞれ供給される。
ここでいま、状態管理回路41に着目する。こ
の状態管理回路41ではリセツト入力端子Aにの
み“0”レベルの信号が供給され、B,Cは
“1”レベルである。従つて、第3図中のフリツ
プフロツプ51の反転セツト入力端子に“0”レ
ベルの信号が供給されるので、このフリツプフロ
ツプ51はセツトされ、信号Nが“1”レベル
に、が“0”レベルにされる。このとき、他の
フリツプフロツプ52および53の反転リセツト
入力端子には、入力反転型ノアゲート回路55,
57を介して“0”レベルの信号がそれぞれ供給
されるので、両フリツプフロツプ52,53はリ
セツトされ、信号Oが“0”レベルに、が
“1”レベルに、信号MIUが“0”レベルに、
MIUが“1”レベルにそれぞれ設定される。す
なわち、リセツト時、この状態管理回路41では
前記信号(N,O,MIU)は(1,0,0)に
される。この状態はAモードに対応している。
他の状態管理回路42ではリセツト入力端子B
にのみ“0”レベルの信号が供給され、A,Cは
“1”レベルである。従つて、第3図中のフリツ
プフロツプ52の反転セツト入力端子に“0”レ
ベルの信号が供給されるので、このフリツプフロ
ツプ52はセツトされ、信号Oが“1”レベル
に、が“0”レベルに設定される。このとき、
他のフリツプフロツプ51および53の反転リセ
ツト入力端子には、入力反転型ノアゲート回路5
4,57を介して“0”レベルの信号がそれぞれ
供給されるので、両フリツプフロツプ51,53
はリセツトされ、信号Nが“0”レベルに、が
“1”レベルに、信号MIUが“0”レベルに、
MIUが“1”レベルにそれぞれ設定される。す
なわち、リセツト時、状態管理回路42では前記
信号(N,O,MIU)はBモードの状態に対応
した(0,1,0)にされる。
残りの状態管理回路43ではリセツト入力端子
Cにのみ“0”レベルの信号が供給され、B,C
は“1”レベルである。フリツプフロツプ51,
52および53の反転リセツト入力端子には、入
力反転型ノアゲート回路54,55,57を介し
て“0”レベルの信号がそれぞれ供給されるの
で、各フリツプフロツプ51,52,53はリセ
ツトされ、信号Nが“0”レベルに、が“1”
レベルに、信号Oが“0”レベルに、が“1”
レベルに、信号MIUが“1”レベルに、が
“0”レベルにそれぞれ設定される。すなわち、
リセツト時、状態管理回路43では前記信号
(N,O,MIU)はCモードの状態に対応した
(0,0,0)にされる。
従つて、この状態では第8図に示すように、レ
ジスタブロツク12が現ブロツク(モードA)に
され、レジスタブロツク13が旧ブロツク(モー
ドB)にされ、レジスタブロツク13はCPU1
1ではアクセス不可能なブロツク(モードC)に
されている。またこのとき、レジスタポインタ2
0の指示はCPU11によりレジスタスタツクの
底部BOにされている。
この状態でCPU11がレジスタをアクセスす
る時は、レジスタ番号を第1のレジスタ選択信号
バス23に出力し、かつ現ブロツクすなわちレジ
スタブロツク12のアクセスを行なう場合には
NS信号線25aに、旧ブロツクすなわちレジス
タブロツク13のアクセスを行なう場合にはOS
信号線25bにそれぞれの信号を出力する。この
信号に基づき、レジスタ制御部19内の各状態管
理回路41,42,43はPU信号、MIU信号の
レベル設定を行なう。
このとき、例えば現ブロツク(レジスタブロツ
ク12)をアクセスするため、NS信号線25a
に“1”レベルの信号が出力されたとすると、第
3図中のアンドゲート回路58の出力が“1”レ
ベルにされ、これによりPU信号が“1”レベル
にされる。そしてこのPU信号がレジスタブロツ
ク12およびデコーダ16に供給される。すると
第5図のレジスタブロツク12内のトランジスタ
群92がオン状態にされ、レジスタ群91と内部
データバス21との間でデータの授受が可能とな
る。また上記PU信号がデコーダ16に供給され
ると、第6図のデコーダ内のトランジスタ群95
がオン状態にされ、2進デコード回路94には第
1のレジスタ選択信号バス23上の信号が供給さ
れる。従つて、この後、CPU11からのアドレ
スに基づくデコーダ16出力がレジスタブロツク
12に供給されて、このレジスタブロツク12内
のデータがアクセスされる。
次にt1の時刻において、CPU11のプログラ
ム処理実行の際にサブルーチンコールが生じたと
する。このサブルーチンコールが生じたとき、
CPU11は信号線25cに“1”レベルの
CALL信号を出力する。このCALL信号は第3図
の状態管理回路に供給されている。
このとき、一つの状態管理回路41においてオ
アゲート回路62の出力信号はCALL信号にかか
わらず“0”レベルにされ、“1”レベルの信号
Nが入力されているアンドゲート回路66の出力
信号は、オアゲート回路65を介してCALL信号
が入力することにより、“1”レベルに設定され
る。従つて、フリツプフロツプ51の状態は、Q
出力信号Nが“0”レベルに反転し、出力信号
Nが“1”レベルに反転する。されに予め“1”
レベルにされている信号Nが入力しているアンド
ゲート回路68の出力信号は、CALL信号が入力
することにより、“1”レベルに設定される。こ
のときアンドゲート回路70には“0”レベルに
されている信号Oが入力しているので、このアン
ドゲート回路70の出力信号は“0”レベルにさ
れる。従つて、フリツプフロツプ52の状態は、
Q出力信号Oが“1”レベルに反転し、出力信
号が“0”レベルに反転する。またもう一つの
フリツプフロツプ53のJK入力状態は共に“0”
レベルであるので、このフリツプフロツプ53の
出力状態は変化しない。すなわち、MIU信号は
“0”レベル、信号は“1”レベルのままで
ある。
すなわち、サブルーチンコールが生じたとき、
状態管理回路41では前記信号(N,O,MIU)
はBモードの状態に対応した(0,1,0)にさ
れる。これと同様にCALL信号が状態管理回路4
2,43に入力することにより、状態管理回路4
2では前記信号(N,O,MIU)はEモードの
状態に対応した(0,0,1)にされ、状態管理
回路43ではAモードの状態に対応した(1,
0,0)にされる。
従つて、この状態では第8図に示すように、レ
ジスタブロツク12が旧ブロツクにされ、レジス
タブロツク14が現ブロツクにされ、レジスタブ
ロツク13はデータ待避可能な状態にされる。
一方、CALL信号が第4図の仲裁回路に入力す
ると、フリツプフロツプ82の出力信号すなわち
ブロツク待避信号BCALLが“1”レベルに設定
され、メモリインターフエイス15に対してブロ
ツク待避要求が発生する。メモリインターフエイ
ス15がアクセスするレジスタブロツクはMIU
信号が“1”レベルのものに限られ、この後、メ
モリインターフエイス15はレジスタポインタ2
0で示された外部メモリ32のメモリ領域にレジ
スタブロツク13の内容を順次待避する。
すなわち、このときMIU信号が“1”レベル
にされているので、第5図のレジスタブロツク1
3内のトランジスタ群93がオン状態にされ、レ
ジスタ群91と補助データバス22との間でデー
タの授受が可能となる。またMIU信号がデコー
ダ17に供給されると、第6図のデコーダ内のト
ランジスタ群96がオン状態にされ、2進デコー
ド回路94には第2のレジスタ選択信号バス24
上の信号が供給される。従つて、この後、レジス
タポインタ20からのアドレスに基づくデコーダ
16の出力がレジスタブロツク13に供給され
て、このレジスタブロツク13内のデータが読み
出され、バス31を介して外部メモリ32に順次
書き込まれ、データの待避が行われる。
時刻t2に上記レジスタブロツク13からのデー
タ待避が完了すると、メモリインターフエイス1
5からEND信号が出力される。このEND信号が
第3図で示される状態管理回路43に入力する
と、入力反転型ノアゲート回路57の出力信号が
“0”レベルにされ、その後、フリツプフロツプ
53がリセツトされ、MIU信号が“0”レベル
に設定される。従つてデータ待避完了後、状態管
理回路42では前記信号(N,O,MIU)はC
モードの状態に対応した(0,0,0)に遷移す
る。
ところで、上記レジスタブロツク13からのデ
ータ待避はCPU11の動作とは独立し、しかも
並行して行われる。従つて、時刻t1からt2の間で
CPU11は任意の時点でレジスタブロツク12,
14のアクセスが可能である。
次にt3の時刻において、CPU11のプログラ
ム処理実行の際にサブルーチンコールからのリタ
ーンが生じたとする。このサブルーチンリターン
が生じたとき、CPU11は信号線25dに“1”
レベルのRET信号を出力する。このRET信号は
第3図の状態管理回路および第4図の仲裁回路に
供給されている。
このとき、一つの状態管理回路41において、
オアゲート62の出力信号はRET信号が入力す
ると“1”レベルにされ、“0”レベルの信号N
が入力されているアンドゲート回路66の出力信
号は“0”レベルのままにされる。従つて、フリ
ツプフロツプ51の状態は、Q出力信号Nが
“1”レベルに反転し、出力信号が“0”レ
ベルに反転する。さらにオアゲート回路67の出
力信号は“0”レベルのままにされ、かつ予め
“1”レベルにされている信号Oが入力している
アンドゲート回路70の出力信号は、RET信号
が入力することにより、“1”レベルに設定され
る。従つて、フリツプフロツプ52の状態は、Q
出力信号Oが“0”レベルに反転し、出力信号
Oが“1”レベルに反転する。またもう一つのフ
リツプフロツプ53のJK入力状態は、RET信号
が入力しても共に“0”レベルであるので、この
フリツプフロツプ53の出力状態は変化しない。
すなわち、MIU信号は“0”レベル、信号
は“1”レベルのままである。
すなわち、サブルーチンリターンが生じたと
き、状態管理回路41では前記信号N,O,
MIU)はAモードの状態に対応した(1,0,
0)に遷移する。これと同様にRET信号が状態
管理回路42,43に入力することにより、状態
管理回路42では前記信号(N,O,MIU)は
Dモードの状態に対応した(0,1,1)にさ
れ、状態管理回路43ではCモードの状態に対応
した(0,0,0)にされる。
従つて、この状態では第8図に示すように、レ
ジスタブロツク12が現ブロツクにされ、レジス
タブロツク14はCPU11ではアクセス不可能
なブロツクにされ、レジスタブロツク13はデー
タ復旧された状態にされる。
一方、RET信号が第4図の仲裁回路に入力す
ると、フリツプフロツプ83の出力信号すなわち
ブロツク復旧信号BRETが“1”レベルに設定
され、メモリインターフエイス15に対してブロ
ツク復旧要求が発生する。メモリインターフエイ
ス15がアクセスするレジスタブロツクはMIU
信号が“1”レベルのものに限られ、この後、メ
モリインターフエイス15はレジスタポインタ2
0で示された外部メモリ32のメモリ領域に予め
格納されているデータを読み出し、レジスタブロ
ツク13にその内容を順次書込み、データ復旧を
行なう。
すなわち、このときMIU信号が“1”レベル
にされているので、第5図のレジスタブロツク1
3内のトランジスタ群93がオン状態にされ、レ
ジスタ群91と補助データバス22との間でデー
タの授受が可能となる。またMIU信号がデコー
ダ17に供給されると、第6図のデコーダ内のト
ランジスタ群96がオン状態にされ、2進デコー
ド回路94には第2のレジスタ選択信号バス24
上の信号が供給される。従つて、この後、レジス
タポインタ20からのアドレスに基づくデコーダ
16の出力がレジスタブロツク13に供給され、
データ待避の場合と同様にレジスタブロツク13
内にバス31を介して外部メモリ32からの読み
出しデータが順次転送されてデータの復旧が行わ
れる。
このとき、CPU11は現ブロツクであるレジ
スタブロツク12をアクセスすることは可能であ
る。ところが、旧ブロツクになるべきレジスタブ
ロツク13はDモードにあつてデータ復旧中であ
り、正常なデータが保証されない。このため、
CPU11が旧ブロツクをアクセスしたときに限
り、復旧中の旧ブロツクに対するアクセス状態を
示すFAIL信号が第3図中のアンドゲート回路6
0で発生され、さらにこの信号が第2図中のオア
ゲート回路46を介して第4図中のオアゲート回
路89に入力されることにより、その出力となる
WAIT信号がCPU11に供給され、CPU11の
動作が一時的に停止される。
時刻t4においてレジスタブロツク13における
データ復旧が完了すると、メモリインターフエイ
ス15から再びEND信号が出力される。この
END信号が第3図で示される状態管理回路42
に入力すると、入力反転型ノアゲート回路57の
出力信号が“0”レベルにされ、その後、フリツ
プフロツプ53がリセツトされ、MIU信号が
“0”レベルに設定される。従つて、データ待避
完了後、状態管理回路42では前記信号(N,
O,MIU)はBモードの状態に対応した(0,
1,0)に遷移する。この時点で一時的にその動
作が停止していたCPU11が動作を再開する。
なお、サブルーチンコールおよびリターンによ
るレジスタブロツク内のデータの待避、復旧動作
が完了する前に次のコールおよびリターンが生じ
た場合には、フリツプフロツプ81により
WAIT信号のレベル設定が行われ、上記と同様
にCPU11の動作が一時的に停止される。
このようにしてレジスタブロツク内のデータの
待避、復旧がCPU11の制御によらず行われる。
上記実施例における演算処理装置では、汎用の
レジスタまたはパラメータ受渡し用のレジスタと
して使用できるレジスタブロツクが3個あり、サ
ブルーチンコールをしたプログラムに対し現ブロ
ツクとしてアクセスされるレジスタブロツクは、
コールされたプログラムでは旧ブロツクとしてア
クセスされるので、サブルーチンコールに際して
レジスタデータの待避、復旧、パラメータの受け
渡しのためにデータを移動する必要がない。従つ
て、プログラムの実行速度が向上する。またこれ
らデータ移動を行なうプログラムを記述する必要
がないので、CPU11におけるプログラムサイ
ズもコンパクトになる。さらに多重のサブルーチ
ンコール、リターンにより生じるレジスタブロツ
クの外部メモリ32への待避、復旧は、CPU1
1とは独立し、かつ並行して行なえるので、レジ
スタブロツクの数が有限で済み(実質的には3個
でよい)、外部メモリ32とレジスタブロツク1
2,13,14間のデータ転送に要するオーバー
ヘツドはプログラムにとつて無視される。
さらにレジスタデータを復旧している旧ブロツ
クをCPU11がアクセスした場合、レジスタ制
御部19からなるハードウエアによりその状況が
検出され、復旧されるまでプログラムの実行が停
止されているので、プログラムでレジスタブロツ
クのデータ待避、復旧を管理する必要がない。
またCPU11との間で受け渡しされるデータ
は常にマイクロプロセツサ本体10内部のレジス
タブロツク内にあるため、任意の順序でデータア
クセスを高速にアクセスでき、スタツク上にパラ
メータを置く従来のCPUで問題となつているア
ドレス計算やメモリフエツチのオーバーヘツドが
存在しない。
このように上記実施例による演算処理装置で
は、サブルーチンコール、リターンが多く、受け
渡しパラメータが多いプログラムを効率的に実行
させることができる。
このような利点、すなわちサブルーチンコール
したプログラムの現ブロツクが常にマイクロプロ
セツサ本体10内に存在することから、CPU1
1内のプログラムカウンタやプロセツサ状態語
(PSW)をサブルーチンコール時に現ブロツク内
に保存することによつて、コール、リターン時の
CPU状態の変更も高速に行われる。
なお、この発明は上記実施例に限定されるもの
ではなく種々の変形が可能であることはいうまで
もない。例えば、上記実施例ではレジスタブロツ
クを3個設ける場合について説明したが、これは
その数を増加させることによつて、アクセス不可
能な状態(Eモード)にありながらメモリ転送を
行なわず、待避状態におくことにより、メモリ転
送の頻度を減少させることも可能である。
[発明の効果] 以上説明したようにこの発明によれば、サブル
ーチンコール時におけるレジスタ内容の待避を、
演算処理装置のプログラム処理によらずに行なう
ようにしたので、高速にサブルーチンコールが行
なえるとともに、命令実行と独立にかつ並行して
レジスタ群をメモリ装置に読み書きでき、これに
よりプログラムのオーハーヘツドをなくし、かつ
レジスタ数の増加を押さえることができるレジス
タ式演算処理装置を提供することができる。
【図面の簡単な説明】
第1図はこの発明の一実施例の構成を示すブロ
ツク図、第2図は第1図中のレジスタ制御部の具
体的構成を示す回路図、第3図は第2図のレジス
タ制御部内の状態管理回路の詳細な構成を示す回
路図、第4図は同じく第2図のレジスタ制御部内
の仲裁回路の詳細な構成を示す回路図、第5図は
第1図中のレジスタブロツクの詳細な構成を示す
回路図、第6図は第1図中のデコーダの詳細な構
成を示す回路図、第7図はこの発明を説明するた
めの状態遷移図、第8図はレジスタブロツクの各
状態遷移とレジスタポインタのポインタ位置を示
す説明図である。 10…マイクロプロセツサ本体、11…CPU
(プログラム実行処理手段)、12,13,14…
レジスタブロツク、15…メモリインターフエイ
ス(メモリインターフエイス手段)、16,17,
18…デコーダ、19…レジスタ制御部(レジス
タ制御手段)、20…レジスタポインタ(アドレ
ス指示手段)、21…内部データバス、22…補
助データバス、23…第1のレジスタ選択信号バ
ス、24…第2のレジスタ選択信号バス、25…
制御バス、26…第1の制御応答バス、27…第
2の制御応答バス、28…デコーダ選択信号線、
29…デコード信号線、30…データバス、31
…アドレス・データバス、32…外部メモリ(メ
モリ装置)、41,42,43…状態管理回路、
44…仲裁回路、51,52,53,81,8
2,83…JK型フリツプフロツプ、91…レジ
スタ群、94…2進デコード回路。

Claims (1)

  1. 【特許請求の範囲】 1 サブルーチンコールおよびリターンを含むプ
    ログラムを実行するプログラム実行処理手段と、 上記プログラム実行処理手段によりアクセスさ
    れ、それぞれ複数のレジスタで構成された複数の
    レジスタブロツクと、 上記複数のレジスタブロツクとの間でデータの
    交換が行われるメモリ装置と、 上記複数のレジスタブロツクと上記メモリ装置
    との間でデータの転送を行なうメモリインターフ
    エイス手段と、 上記レジスタブロツク内のデータを格納すべき
    上記メモリ装置のメモリアドレスを保持し、上記
    プログラム実行処理手段によりそのアドレスの設
    定および読み出しが可能なアドレス指示手段と、 上記プログラム実行処理手段がサブルーチンプ
    ログラムをコールした時は、このサブルーチンプ
    ログラムをコールした親プログラムがいままでア
    クセスしていた上記レジスタブロツクを旧レジス
    タブロツクとしてコールされたサブルーチンプロ
    グラムがアクセス可能状態とし、かついままでア
    クセス不能状態であつたアクセス不能レジスタブ
    ロツクをコールされたサブルーチンプログラムが
    現レジスタブロツクとしてアクセス可能状態と
    し、親プログラム実行時に旧レジスタブロツクで
    あつたレジスタブロツクをアクセス不能レジスタ
    ブロツクとし、 サブルーチンリターン時には、旧レジスタブロ
    ツクを現レジスタブロツク、アクセス不能レジス
    タブロツクを旧レジスタブロツク、現レジスタブ
    ロツクをアクセス不能レジスタブロツクとするよ
    うに各レジスタブロツクの使用モードを設定する
    と共に、 アクセス不能レジスタブロツク内のデータの上
    記メモリ装置へのデータ退避およびメモリ装置か
    らのデータ復旧を上記アドレス指示手段のアドレ
    スに基づき上記メモリインターフエイス手段で行
    わせるレジスタ制御手段と を具備したことを特徴とするレジスタ式演算処理
    装置。 2 前記レジスタブロツクが少なくとも3個設け
    られている特許請求の範囲第1項に記載のレジス
    タ式演算処理装置。 3 前記レジスタ制御手段は前記レジスタブロツ
    クの使用モードとして、 プログラム実行処理手段が通常に使用する状態
    にされている第1のモード、 プログラム実行処理手段がサブルーチンプログ
    ラムをコールし、このサブルーチンプログラムを
    コールした親プログラムがいままでアクセスして
    いたレジスタブロツクをこのサブルーチンプログ
    ラムが使用可能な状態にされている第2のモー
    ド、 プログラム実行処理手段が使用不能な状態にさ
    れている第3のモード、 内部データが前記メモリ装置に退避されている
    状態にある第4のモード、 および前記メモリ装置に退避されたデータが回
    復される状態にある第5のモードのうちのいずれ
    かを設定するように構成されている特許請求の範
    囲第1項に記載のレジスタ式演算処理装置。 4 前記レジスタ制御手段は前記第1ないし第5
    のモードを3個のフロツプフロツプで記憶するよ
    うにした特許請求の範囲第3項に記載のレジスタ
    式演算処理装置。 5 前記プログラム実行処理手段は、プログラム
    カウンタおよびプロセツサ状態語を記憶する記憶
    領域を有し、前記サブルーチンコールおよびリタ
    ーン実行時にこれらの内容を前記レジスタブロツ
    クに退避するように構成されている特許請求の範
    囲第1項に記載のレジスタ式演算処理装置。
JP59172742A 1984-08-20 1984-08-20 レジスタ式演算処理装置 Granted JPS6151243A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP59172742A JPS6151243A (ja) 1984-08-20 1984-08-20 レジスタ式演算処理装置
US06/763,716 US4733346A (en) 1984-08-20 1985-08-08 Data processor with multiple register blocks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59172742A JPS6151243A (ja) 1984-08-20 1984-08-20 レジスタ式演算処理装置

Publications (2)

Publication Number Publication Date
JPS6151243A JPS6151243A (ja) 1986-03-13
JPH0258649B2 true JPH0258649B2 (ja) 1990-12-10

Family

ID=15947473

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59172742A Granted JPS6151243A (ja) 1984-08-20 1984-08-20 レジスタ式演算処理装置

Country Status (2)

Country Link
US (1) US4733346A (ja)
JP (1) JPS6151243A (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2545789B2 (ja) * 1986-04-14 1996-10-23 株式会社日立製作所 情報処理装置
US4853849A (en) * 1986-12-17 1989-08-01 Intel Corporation Multi-tasking register set mapping system which changes a register set pointer block bit during access instruction
US4814976C1 (en) * 1986-12-23 2002-06-04 Mips Tech Inc Risc computer with unaligned reference handling and method for the same
US4901233A (en) * 1987-07-20 1990-02-13 International Business Machines Corporation Computer system with logic for writing instruction identifying data into array control lists for precise post-branch recoveries
US5134561A (en) * 1987-07-20 1992-07-28 International Business Machines Corporation Computer system with logic for writing instruction identifying data into array control lists for precise post-branch recoveries
JPH01312634A (ja) * 1988-06-10 1989-12-18 Matsushita Electric Ind Co Ltd データ処理装置
US5083263A (en) * 1988-07-28 1992-01-21 Sun Microsystems, Inc. BISC with interconnected register ring and selectively operating portion of the ring as a conventional computer
JPH02148223A (ja) * 1988-11-30 1990-06-07 Toshiba Corp レジスタ退避復活装置
JPH02187825A (ja) * 1989-01-13 1990-07-24 Mitsubishi Electric Corp コンピュータ
JP2655191B2 (ja) * 1989-07-05 1997-09-17 三菱電機株式会社 演算処理装置
JPH0353328A (ja) * 1989-07-20 1991-03-07 Hitachi Ltd レジスタ退避回復方法ならびに処理装置
US5263169A (en) * 1989-11-03 1993-11-16 Zoran Corporation Bus arbitration and resource management for concurrent vector signal processor architecture
KR960001273B1 (ko) * 1991-04-30 1996-01-25 가부시키가이샤 도시바 단일칩 마이크로컴퓨터
US5325494A (en) * 1991-06-21 1994-06-28 Kabushiki Kaisha Toshiba Computer
JPH0520071A (ja) * 1991-07-15 1993-01-29 Nec Ibaraki Ltd レジスタ情報保護回路
JPH0831041B2 (ja) * 1991-09-06 1996-03-27 インターナショナル・ビジネス・マシーンズ・コーポレイション プログラム条件処理方法およびコンピュータ・システム
JPH07114498A (ja) * 1993-10-15 1995-05-02 Toshiba Corp マイクロプロセッサ
JP2766217B2 (ja) * 1994-06-14 1998-06-18 甲府日本電気株式会社 並列処理装置
JP2677202B2 (ja) * 1994-08-12 1997-11-17 日本電気株式会社 マイクロプロセッサ
JP2889845B2 (ja) * 1995-09-22 1999-05-10 松下電器産業株式会社 情報処理装置
US6219783B1 (en) * 1998-04-21 2001-04-17 Idea Corporation Method and apparatus for executing a flush RS instruction to synchronize a register stack with instructions executed by a processor
IL124594A0 (en) 1998-05-21 1998-12-06 Nds Ltd Context saving system
US6553487B1 (en) * 2000-01-07 2003-04-22 Motorola, Inc. Device and method for performing high-speed low overhead context switch
JP2002182927A (ja) * 2000-12-13 2002-06-28 Hitachi Ltd 異種実行環境におけるレジスタの割当て方法、異種実行環境におけるソフトウェア開発方法、および、それを実行するプログラムが組み込まれたlsi
US20020099932A1 (en) * 2001-01-25 2002-07-25 Muro Manuel R. Mirroring processor stack
US7080289B2 (en) * 2001-10-10 2006-07-18 Arm Limited Tracing multiple data access instructions
US7539879B2 (en) * 2002-12-04 2009-05-26 Nxp B.V. Register file gating to reduce microprocessor power dissipation
CN100407102C (zh) * 2002-12-04 2008-07-30 Nxp股份有限公司 基于软件的微处理器功率损耗控制
US20070113056A1 (en) * 2005-11-15 2007-05-17 Dale Jason N Apparatus and method for using multiple thread contexts to improve single thread performance
US20070113055A1 (en) * 2005-11-15 2007-05-17 Dale Jason N Apparatus and method for improving single thread performance through speculative processing
US9563590B2 (en) * 2014-03-17 2017-02-07 Nxp Usa, Inc. Devices with arbitrated interface busses, and methods of their operation
US11300614B1 (en) * 2019-10-04 2022-04-12 Synopsys, Inc. Save and restore register
US20240069920A1 (en) * 2022-08-26 2024-02-29 Texas Instruments Incorporated Securing registers across security zones

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5398753A (en) * 1977-02-09 1978-08-29 Nippon Telegr & Teleph Corp <Ntt> Interrupt processing system
JPS5576448A (en) * 1978-12-05 1980-06-09 Nippon Telegr & Teleph Corp <Ntt> Multi-group register control system
JPS5697151A (en) * 1979-12-29 1981-08-05 Fujitsu Ltd Information processor

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1020819B (it) * 1974-09-18 1977-12-30 Olivetti & Co Spa Macchina contabile a configurazione variabile
US4298954A (en) * 1979-04-30 1981-11-03 International Business Machines Corporation Alternating data buffers when one buffer is empty and another buffer is variably full of data
US4493020A (en) * 1980-05-06 1985-01-08 Burroughs Corporation Microprogrammed digital data processor employing microinstruction tasking and dynamic register allocation
JPS5757345A (en) * 1980-09-24 1982-04-06 Toshiba Corp Data controller
US4530047A (en) * 1980-12-15 1985-07-16 Texas Instruments Incorporated Dual registry digital processor system with external memory interface

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5398753A (en) * 1977-02-09 1978-08-29 Nippon Telegr & Teleph Corp <Ntt> Interrupt processing system
JPS5576448A (en) * 1978-12-05 1980-06-09 Nippon Telegr & Teleph Corp <Ntt> Multi-group register control system
JPS5697151A (en) * 1979-12-29 1981-08-05 Fujitsu Ltd Information processor

Also Published As

Publication number Publication date
US4733346A (en) 1988-03-22
JPS6151243A (ja) 1986-03-13

Similar Documents

Publication Publication Date Title
JPH0258649B2 (ja)
US3781810A (en) Scheme for saving and restoring register contents in a data processor
US4112490A (en) Data transfer control apparatus and method
KR960001273B1 (ko) 단일칩 마이크로컴퓨터
JP3105223B2 (ja) マイクロコンピュータ,マイクロプロセッサおよびコア・プロセッサ集積回路用デバッグ周辺装置
JPS648387B2 (ja)
US6581120B1 (en) Interrupt controller
JPS6319058A (ja) メモリ装置
KR100204616B1 (ko) 효율적인 파우어 온 초기화를 갖는 정보 처리 시스템
JP2581080B2 (ja) デバック用マイクロプロセッサ
CN114970844A (zh) 一种通用神经网络张量处理器
JPS6352240A (ja) デ−タ処理装置
JPS6019816B2 (ja) マイクロプログラム制御アダプタ
KR950006547Y1 (ko) 프로세서 이중화시 공통메모리 액세스회로
JPH0247751A (ja) チャネル制御方式
JPH03220654A (ja) マイクロコンピュータ
JPH06175980A (ja) データ交換装置
JPS61161560A (ja) メモリ装置
JPS62241057A (ja) 入出力処理高速化回路
JPS5831465A (ja) プロセツサ制御方式
JPS6349935A (ja) 中央制御装置
JPH0546530A (ja) コンピユーター制御回路
JPS63282871A (ja) マルチプロセツサシステム
JPH07129519A (ja) デュアルcpuシステム
JPH01243146A (ja) 共用メモリアクセス方式