JPH02143329A - プロセッサシステム - Google Patents
プロセッサシステムInfo
- Publication number
- JPH02143329A JPH02143329A JP63297266A JP29726688A JPH02143329A JP H02143329 A JPH02143329 A JP H02143329A JP 63297266 A JP63297266 A JP 63297266A JP 29726688 A JP29726688 A JP 29726688A JP H02143329 A JPH02143329 A JP H02143329A
- Authority
- JP
- Japan
- Prior art keywords
- window
- pointer
- underflow
- processor
- window pointer
- 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
- 238000000034 method Methods 0.000 claims abstract description 16
- 238000010586 diagram Methods 0.000 description 7
- XLJKHNWPARRRJB-UHFFFAOYSA-N cobalt(2+) Chemical compound [Co+2] XLJKHNWPARRRJB-UHFFFAOYSA-N 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[発明の目的]
(産業上の利用分野)
この発明はレジスタ・ファイルを有するプロセッサシス
テムに係り、特に多重レジスタウィンドウを持っRIS
C!!2プロセッサシステムに関する。
テムに係り、特に多重レジスタウィンドウを持っRIS
C!!2プロセッサシステムに関する。
(従来の技術)
従来、多重レジスタウィンドウを持つプロセッサシステ
ム、例えばRI S C(ReducedInstru
ction Set CoIIputer)型プロセッ
サシステムでは、サブルーチンのコール/リターン時に
おけるレジスタファイルの各ウィンドウのスタックメモ
リに対するストア/ロードの処理が効率的に行われてい
ないという問題がある。例えば、オーバーフロー時やア
ンダーフロー時に4つの固定数フレームをスタックメモ
リに対してストア/ロードするような固定戦略の時、4
フレームをオーバーフロースタックにストアする場合を
考える。このとき、サブルーチンコールの深さが2フレ
ームしかなくてアンダーフローした場合、元の4フレー
ムをロードすると、このロード処理は冗長な処理となり
、アンダーフロー時におけるロード処理の高速化を図る
ことはできない。
ム、例えばRI S C(ReducedInstru
ction Set CoIIputer)型プロセッ
サシステムでは、サブルーチンのコール/リターン時に
おけるレジスタファイルの各ウィンドウのスタックメモ
リに対するストア/ロードの処理が効率的に行われてい
ないという問題がある。例えば、オーバーフロー時やア
ンダーフロー時に4つの固定数フレームをスタックメモ
リに対してストア/ロードするような固定戦略の時、4
フレームをオーバーフロースタックにストアする場合を
考える。このとき、サブルーチンコールの深さが2フレ
ームしかなくてアンダーフローした場合、元の4フレー
ムをロードすると、このロード処理は冗長な処理となり
、アンダーフロー時におけるロード処理の高速化を図る
ことはできない。
(発明が解決しようとする課題)
このように従来ではアンダーフロー時におけるロード処
理の高速化を図ることはできないという欠点がある。
理の高速化を図ることはできないという欠点がある。
この発明は上記のような事情を考慮してなされたもので
あり、その目的は、アンダーフロー時におけるロード処
理の高速化を図ることができるプロセッサシステムを提
供することにある。
あり、その目的は、アンダーフロー時におけるロード処
理の高速化を図ることができるプロセッサシステムを提
供することにある。
[発明の構成コ
(課題を解決するだめの手段)
この発明のプロセッサシステムは、プロセッサと、上記
プロセッサがプロセスを実行する際に使用されるレジス
タファイルと、上記レジスタ・ファイルの内容が退避さ
れるスタックと、上記プロセッサが直接に使用可能な上
記レジスタ・ファイルの範囲を示すカレントウィンドウ
を指示するカレントウィンドウ・ポインタ手段と、上記
プロセッサが他のプロセスをコールする際に上記レジス
タ・ファイルからオーバーフローする範囲を示すオーバ
ーフローウィンドウを指示するオーバーフローウィンド
ウ・ポインタ手段と、上記プロセッサが以前のプロセス
にリターンする際に上記レジスタ・ファイルの範囲から
アンダーフローする範囲を示すアンダーフローウィンド
ウを指示するアンダーフローウィンドウ・ポインタ手段
とを具備したことを特徴とする。
プロセッサがプロセスを実行する際に使用されるレジス
タファイルと、上記レジスタ・ファイルの内容が退避さ
れるスタックと、上記プロセッサが直接に使用可能な上
記レジスタ・ファイルの範囲を示すカレントウィンドウ
を指示するカレントウィンドウ・ポインタ手段と、上記
プロセッサが他のプロセスをコールする際に上記レジス
タ・ファイルからオーバーフローする範囲を示すオーバ
ーフローウィンドウを指示するオーバーフローウィンド
ウ・ポインタ手段と、上記プロセッサが以前のプロセス
にリターンする際に上記レジスタ・ファイルの範囲から
アンダーフローする範囲を示すアンダーフローウィンド
ウを指示するアンダーフローウィンドウ・ポインタ手段
とを具備したことを特徴とする。
(作用)
多重レジスタウィンドウを持つプロセッサシステムにお
いて、オーバーフローウィンドウ・ポインタ手段とアン
ダーフローウィンドウ・ポインタ手段を設け、カレント
ウィンドウがコールしたときに使用したデータが残って
いるの最大の位置をアンダーフローウィンドウ・ポイン
タとすることにより、アンダーフロー時におけるレジス
タロードの処理時間の短縮化を図ることができる。
いて、オーバーフローウィンドウ・ポインタ手段とアン
ダーフローウィンドウ・ポインタ手段を設け、カレント
ウィンドウがコールしたときに使用したデータが残って
いるの最大の位置をアンダーフローウィンドウ・ポイン
タとすることにより、アンダーフロー時におけるレジス
タロードの処理時間の短縮化を図ることができる。
(実施例)
以下、図面を参照してこの発明を実施例により説明する
。
。
第2図はこの発明に係るプロセッサシステムの全体の構
成を示すブロック図である。図において、10はプロセ
ッサ、11はスタックメモリ、I2は多重レジスタファ
イル、13はレジスタファイル制御回路、14は内部バ
スである。
成を示すブロック図である。図において、10はプロセ
ッサ、11はスタックメモリ、I2は多重レジスタファ
イル、13はレジスタファイル制御回路、14は内部バ
スである。
プロセッサ10は上記多重レジスタファイル12の内容
に基づいて演算を実行する。スタックメモリ11では、
プロセッサLDがサブルーチンコールを行なう場合に多
重レジスタファイル■2がオーバーフローする際にその
内容がストア(退避)され、アンダーフローが起こる際
にはそのストア内容が読み出されレジスタファイル12
にロードされる。また、レジスタファイル制御回路14
は多重レジスタファイル12の動作を制御する。
に基づいて演算を実行する。スタックメモリ11では、
プロセッサLDがサブルーチンコールを行なう場合に多
重レジスタファイル■2がオーバーフローする際にその
内容がストア(退避)され、アンダーフローが起こる際
にはそのストア内容が読み出されレジスタファイル12
にロードされる。また、レジスタファイル制御回路14
は多重レジスタファイル12の動作を制御する。
第1図は上記実施例におけるレジスタファイル制御回路
14の具体的な構成を示すブロックである。
14の具体的な構成を示すブロックである。
このレジスタファイル制御回路13は、上記多重レジス
タファイル12においてプロセッサ10が直接に使用可
能な範囲を示すカレントウィンドウを指示するカレント
ウィンドウ・ポインタを保持するカレントウィンドウポ
インタ・レジスタ21、プロセッサ■0が他のプロセス
をコールする際に多重レジスタフアイル12からオーバ
ーフローする範囲を示すオーバーフローウィンドウを指
示するオーバーフローウィンドウ・ポインタを保持する
オーバーフローウィンドウポインタ・レジスタ22、プ
ロセッサlOが以前のプロセスをリターンする際に多重
レジスタ・ファイル12の範囲からアンダーフローする
範囲を示すアンダーフローウィンドウを指示するアンダ
ーフローウィンドウ番ポインタを保持するアンダーフロ
ーウィンドウポインタ・レジスタ23、プロセッサ10
で以前に実行されたプロセスの先頭ウィンドウを指示す
る先頭ウィンドウ・ポインタを保持する先頭ウィンドウ
ポインタ・レジスタ24、各プロセス毎の上界ウィンド
ウポインタ・レジスタ25及び下界ウィンドウポインタ
・レジスタ26並びにこれらに各ポインタ・レジスタを
制御するポインタ制御回路27とから構成されている。
タファイル12においてプロセッサ10が直接に使用可
能な範囲を示すカレントウィンドウを指示するカレント
ウィンドウ・ポインタを保持するカレントウィンドウポ
インタ・レジスタ21、プロセッサ■0が他のプロセス
をコールする際に多重レジスタフアイル12からオーバ
ーフローする範囲を示すオーバーフローウィンドウを指
示するオーバーフローウィンドウ・ポインタを保持する
オーバーフローウィンドウポインタ・レジスタ22、プ
ロセッサlOが以前のプロセスをリターンする際に多重
レジスタ・ファイル12の範囲からアンダーフローする
範囲を示すアンダーフローウィンドウを指示するアンダ
ーフローウィンドウ番ポインタを保持するアンダーフロ
ーウィンドウポインタ・レジスタ23、プロセッサ10
で以前に実行されたプロセスの先頭ウィンドウを指示す
る先頭ウィンドウ・ポインタを保持する先頭ウィンドウ
ポインタ・レジスタ24、各プロセス毎の上界ウィンド
ウポインタ・レジスタ25及び下界ウィンドウポインタ
・レジスタ26並びにこれらに各ポインタ・レジスタを
制御するポインタ制御回路27とから構成されている。
上記ポインタ制御回路27は上記各ポインタ・レジスタ
に対するポインタの書き込み制御並びに読み出し制御を
行なう。そして、ポインタ制御回路27による上記各ポ
インタ・レジスタに対するポインタの書き込み制御並び
に読み出し制御は、プロセッサ10が命令を実行するこ
とによって制御される。
に対するポインタの書き込み制御並びに読み出し制御を
行なう。そして、ポインタ制御回路27による上記各ポ
インタ・レジスタに対するポインタの書き込み制御並び
に読み出し制御は、プロセッサ10が命令を実行するこ
とによって制御される。
次に上記のような構成でなるシステムの動作を説明する
。いま、第3図に示すようにウィンドウ数が4で、オー
バーフロー時にはレジスタファイル12から2フレーム
をスタックメモリIIにストアし、アンダーフロー時に
はスタックメモリ11から1フレームを多重レジスタフ
ァイル12にロードする場合を考える。
。いま、第3図に示すようにウィンドウ数が4で、オー
バーフロー時にはレジスタファイル12から2フレーム
をスタックメモリIIにストアし、アンダーフロー時に
はスタックメモリ11から1フレームを多重レジスタフ
ァイル12にロードする場合を考える。
第3図(a)はスタート時において、カレントウィンド
ウ・ポインタCWP、オーバーフローウィンドウ・ポイ
ンタOWP及びアンダーフローウィンドウ・ポインタU
WPそれぞれのウィンドウ指示状態を示す図である。こ
の状態でプロセッサ10がサブルーチンをコールすると
、第3図(b)に示すようにカレントウィンドウ・ポイ
ンタCWPは時計回りに1ウインドウ分だけ移動する。
ウ・ポインタCWP、オーバーフローウィンドウ・ポイ
ンタOWP及びアンダーフローウィンドウ・ポインタU
WPそれぞれのウィンドウ指示状態を示す図である。こ
の状態でプロセッサ10がサブルーチンをコールすると
、第3図(b)に示すようにカレントウィンドウ・ポイ
ンタCWPは時計回りに1ウインドウ分だけ移動する。
このときオルバーフローウィンドウ・ポインタOWP及
びアンダーフローウィンドウ・ポインタUWPのウィン
ドウ指示状態は変化しない。さらにプロセッサ10がサ
ブルーチンをコールすると、第3図(C)に示すように
カレントウィンドウ・ポインタCWPは時計回りに1ウ
インドウ分だけ移動する。このときもオーバーフローウ
ィンドウ・ポインタOWP及びアンダーフローウィンド
ウ・ポインタUWPのウィンドウ指示状態は変化しない
。
びアンダーフローウィンドウ・ポインタUWPのウィン
ドウ指示状態は変化しない。さらにプロセッサ10がサ
ブルーチンをコールすると、第3図(C)に示すように
カレントウィンドウ・ポインタCWPは時計回りに1ウ
インドウ分だけ移動する。このときもオーバーフローウ
ィンドウ・ポインタOWP及びアンダーフローウィンド
ウ・ポインタUWPのウィンドウ指示状態は変化しない
。
続いてプロセッサ10がサブルーチンをコールすると、
第3図(d)に示すようにカレントウィンドウ・ポイン
タCWPは時計回りに1ウインドウ分だけ移動する。こ
のとき、オーバーフローが生じ、多重レジスタファイル
12から2フレ一ム分がスタックメモリIIにストアさ
れ、これによりオーバーフローウィンドウ・ポインタO
WPは時計回りに2ウインドウだけ移動する。また、ア
ンダーフローウィンドウ・ポインタUWPは時計回りに
1ウインドウ分だけ移動する。次にプロセッサ10がサ
ブルーチンをコールすると、第3図(e)に示すように
カレントウィンドウ・ポインタCWPは時計回りに1ウ
インドウ分だけ移動し、これに伴ってアンダーフローウ
ィンドウ・ポインタUWPが時計回りに1ウインドウ分
だけ移動する。
第3図(d)に示すようにカレントウィンドウ・ポイン
タCWPは時計回りに1ウインドウ分だけ移動する。こ
のとき、オーバーフローが生じ、多重レジスタファイル
12から2フレ一ム分がスタックメモリIIにストアさ
れ、これによりオーバーフローウィンドウ・ポインタO
WPは時計回りに2ウインドウだけ移動する。また、ア
ンダーフローウィンドウ・ポインタUWPは時計回りに
1ウインドウ分だけ移動する。次にプロセッサ10がサ
ブルーチンをコールすると、第3図(e)に示すように
カレントウィンドウ・ポインタCWPは時計回りに1ウ
インドウ分だけ移動し、これに伴ってアンダーフローウ
ィンドウ・ポインタUWPが時計回りに1ウインドウ分
だけ移動する。
続いてプロセッサIOがサブルーチンリターンを行なう
と、第3図(f)に示すようにカレントウィンドウ・ポ
インタCWPが時計回りとは反対の方向に1ウインドウ
分だけ移動する。このとき、オーバーフローウィンドウ
・ポインタOWP及びアンダーフローウィンドウ・ポイ
ンタUWPのウィンドウ指示状態は変化しない。
と、第3図(f)に示すようにカレントウィンドウ・ポ
インタCWPが時計回りとは反対の方向に1ウインドウ
分だけ移動する。このとき、オーバーフローウィンドウ
・ポインタOWP及びアンダーフローウィンドウ・ポイ
ンタUWPのウィンドウ指示状態は変化しない。
次にプロセッサ10がサブルーチンリターンを行なうと
、第3図(g)に示すようにカレントウィンドウ・ポイ
ンタCWPが時計回りとは反対の方向にさらに1ウイン
ドウ分だけ移動する。このときも、オーバーフローウィ
ンドウポインタOWP及びアンダーフローウィンドウ争
ポインタUWPのウィンドウ指示状態は変化しない。続
いてプロセッサ10がサブルーチンリターンを行なうと
、第3図(h)に示すようにカレントウィンドウ・ポイ
ンタCWPが時計回りとは反対の方向に1ウインドウ分
だけ移動する。このとき、アンダ−フローが生じ、スタ
ックメモリ11から1フレ一ム分が多重レジスタファイ
ル12にロードされ、オーバーフローウィンドウ・ポイ
ンタOWP及びアンダーフローウィンドウ・ポインタU
WPは第3図(g)の指示状態に対してそれぞれ時計回
りとは反対の方向に1ウインドウ分だけ移動する。次に
プロセッサlOがサブルーチンコールを2回連続して行
なうと、第3図(i)に示すようにカレントウィンドウ
・ポインタCWPは時計回りに2ウインドウだけ移動す
る。このとき、オーバーフローウィンドウ・ポインタO
WP及びアンダーフローウィンドウ・ポインタUWPの
ウィンドウ指示状態は変化しない。
、第3図(g)に示すようにカレントウィンドウ・ポイ
ンタCWPが時計回りとは反対の方向にさらに1ウイン
ドウ分だけ移動する。このときも、オーバーフローウィ
ンドウポインタOWP及びアンダーフローウィンドウ争
ポインタUWPのウィンドウ指示状態は変化しない。続
いてプロセッサ10がサブルーチンリターンを行なうと
、第3図(h)に示すようにカレントウィンドウ・ポイ
ンタCWPが時計回りとは反対の方向に1ウインドウ分
だけ移動する。このとき、アンダ−フローが生じ、スタ
ックメモリ11から1フレ一ム分が多重レジスタファイ
ル12にロードされ、オーバーフローウィンドウ・ポイ
ンタOWP及びアンダーフローウィンドウ・ポインタU
WPは第3図(g)の指示状態に対してそれぞれ時計回
りとは反対の方向に1ウインドウ分だけ移動する。次に
プロセッサlOがサブルーチンコールを2回連続して行
なうと、第3図(i)に示すようにカレントウィンドウ
・ポインタCWPは時計回りに2ウインドウだけ移動す
る。このとき、オーバーフローウィンドウ・ポインタO
WP及びアンダーフローウィンドウ・ポインタUWPの
ウィンドウ指示状態は変化しない。
次にプロセッサIOがサブルーチンをコールすると、第
3図(j)に示すようにカレントウィンドウ・ポインタ
CWPが時計回りに1ウインドウ分だけ移動する。この
とき、オーバーフローが生じ、多重レジスタファイル1
2から2フレ一ム分がスタックメモリ11にストアされ
、これによりオーバーフローウィンドウ拳ポインタOW
Pは時計回りに2ウインドウだけ移動する。また、アン
ダーフローウィンドウ・ポインタUWPは時計回りに1
ウインドウ分だけ移動する。続いてプロセッサ10がサ
ブルーチンリターンを行なうと、第3図(k)に示すよ
うにカレントウィンドウ・ポインタCWPは時計回りと
は反対の方向に1ウインドウ分だけ移動する。このとき
、オーバーフローウィンドウ・ポインタOWP及びアン
ダーフローウィンドウ・ポインタUWPのウィンドウ指
示状態は変化しない。さらに続いてプロセッサ10がサ
ブルーチンリターンを行なうと、第3図(I)に示すよ
うにカレントウィンドウ・ポインタCWPが時計回りと
は反対の方向に1ウインドウ分だけ移動する。このとき
、オーバーフローウィンドウ・ポインタoWPも時計回
りとは反対の方向に1ウインドウ分だけ移動する。
3図(j)に示すようにカレントウィンドウ・ポインタ
CWPが時計回りに1ウインドウ分だけ移動する。この
とき、オーバーフローが生じ、多重レジスタファイル1
2から2フレ一ム分がスタックメモリ11にストアされ
、これによりオーバーフローウィンドウ拳ポインタOW
Pは時計回りに2ウインドウだけ移動する。また、アン
ダーフローウィンドウ・ポインタUWPは時計回りに1
ウインドウ分だけ移動する。続いてプロセッサ10がサ
ブルーチンリターンを行なうと、第3図(k)に示すよ
うにカレントウィンドウ・ポインタCWPは時計回りと
は反対の方向に1ウインドウ分だけ移動する。このとき
、オーバーフローウィンドウ・ポインタOWP及びアン
ダーフローウィンドウ・ポインタUWPのウィンドウ指
示状態は変化しない。さらに続いてプロセッサ10がサ
ブルーチンリターンを行なうと、第3図(I)に示すよ
うにカレントウィンドウ・ポインタCWPが時計回りと
は反対の方向に1ウインドウ分だけ移動する。このとき
、オーバーフローウィンドウ・ポインタoWPも時計回
りとは反対の方向に1ウインドウ分だけ移動する。
次にプロセッサ10がサブルーチンリターンを行なうと
、第3図(m)に示すようにカレントウィンドウ・ポイ
ンタCWPは時計回りとは反対の方向に1ウインドウ分
だけ移動する。このとき、オーバーフローウィンドウ・
ポインタOWP及びアンダーフローウィンドウ−ポイン
タUWPもそれぞれ時計回りとは反対の方向に1ウイン
ドウ分だけ移動する。続いてプロセッサ10がサブルー
チンリターンを行なうと、第3図(n)に示すようにカ
レントウィンドウ・ポインタCWPは時計回りとは反対
の方向に1ウインドウ分だけ移動し、オーバーフローウ
ィンドウ・ポインタOWP及びアンダーフローウィンド
ウ・ポインタUWPもそれぞれ時計回りとは反対の方向
に1ウインドウ分だけ移動する。
、第3図(m)に示すようにカレントウィンドウ・ポイ
ンタCWPは時計回りとは反対の方向に1ウインドウ分
だけ移動する。このとき、オーバーフローウィンドウ・
ポインタOWP及びアンダーフローウィンドウ−ポイン
タUWPもそれぞれ時計回りとは反対の方向に1ウイン
ドウ分だけ移動する。続いてプロセッサ10がサブルー
チンリターンを行なうと、第3図(n)に示すようにカ
レントウィンドウ・ポインタCWPは時計回りとは反対
の方向に1ウインドウ分だけ移動し、オーバーフローウ
ィンドウ・ポインタOWP及びアンダーフローウィンド
ウ・ポインタUWPもそれぞれ時計回りとは反対の方向
に1ウインドウ分だけ移動する。
このように、上記実施例のシステムではアンダーフロー
ウィンドウポインタ・レジスタを設け、カレントウィン
ドウがコールしたときに使用したデータが残っている最
大の位置をアンダーフローウィンドウ・ポインタとする
ようにしたので、アンダーフロー時におけるレジスタロ
ードの処理時間の短縮化を容易に図ることができる。
ウィンドウポインタ・レジスタを設け、カレントウィン
ドウがコールしたときに使用したデータが残っている最
大の位置をアンダーフローウィンドウ・ポインタとする
ようにしたので、アンダーフロー時におけるレジスタロ
ードの処理時間の短縮化を容易に図ることができる。
上記説明では、カレントウィンドウ・ポインタCWP、
オーバーフローウィンドウ壷ポインタOWP及びアンダ
ーフローウィンドウ・ポインタUWPの他のポインタに
ついては同等説明を行なわなかったが、例えば先頭ウィ
ンドウ・ポインタSWPで指示された多重レジスタファ
イルI2の内容をスタックメモリ11に退避させる場合
の動作の一例は次の通りである。第4図(a)はスター
ト時において、カレントウィンドウ・ポインタCWP、
、t−バーフローウィンドウ・ポインタowp、アンダ
ーフローウィンドウ・ポインタUWP及び先頭ウィンド
ウ−ポインタSWPそれぞれのウィンドウ指示状態を示
す図である。この状態で先頭ウィンドウ・ポインタSW
Pで指示された1ウインドウ分の内容を退避させる要求
が起こると、その1ウインドウ分の内容がスタックメモ
リ11に退避され、第4図(b)に示すように先頭ウィ
ンドウ・ポインタSWPが時計回りに1ウインドウ分だ
け移動する。次にプロセッサ10がサブルーチンをコー
ルすると、第4図(C)に示すようにカレントウィンド
ウ・ポインタCWPが時計回りに1ウインドウ分だけ移
動する。このときオーバーフローウィンドウ・ポインタ
owp、アンダーフローウィンドウ・ポインタUWP及
び先頭ウィンドウ・ポインタSWPのウィンドウ指示状
態は変化しない。続いて先頭ウィンドウ・ポインタSW
Pで指示された1ウィンドウ分の内容を退避させる要求
が起こると、その1ウィンドウ分の内容がスタックメモ
リ11に退避され、第4図(C)に示すように先頭ウィ
ンドウ・ポインタSWPが時11回りに1ウィンドウ分
だけ移動する。
オーバーフローウィンドウ壷ポインタOWP及びアンダ
ーフローウィンドウ・ポインタUWPの他のポインタに
ついては同等説明を行なわなかったが、例えば先頭ウィ
ンドウ・ポインタSWPで指示された多重レジスタファ
イルI2の内容をスタックメモリ11に退避させる場合
の動作の一例は次の通りである。第4図(a)はスター
ト時において、カレントウィンドウ・ポインタCWP、
、t−バーフローウィンドウ・ポインタowp、アンダ
ーフローウィンドウ・ポインタUWP及び先頭ウィンド
ウ−ポインタSWPそれぞれのウィンドウ指示状態を示
す図である。この状態で先頭ウィンドウ・ポインタSW
Pで指示された1ウインドウ分の内容を退避させる要求
が起こると、その1ウインドウ分の内容がスタックメモ
リ11に退避され、第4図(b)に示すように先頭ウィ
ンドウ・ポインタSWPが時計回りに1ウインドウ分だ
け移動する。次にプロセッサ10がサブルーチンをコー
ルすると、第4図(C)に示すようにカレントウィンド
ウ・ポインタCWPが時計回りに1ウインドウ分だけ移
動する。このときオーバーフローウィンドウ・ポインタ
owp、アンダーフローウィンドウ・ポインタUWP及
び先頭ウィンドウ・ポインタSWPのウィンドウ指示状
態は変化しない。続いて先頭ウィンドウ・ポインタSW
Pで指示された1ウィンドウ分の内容を退避させる要求
が起こると、その1ウィンドウ分の内容がスタックメモ
リ11に退避され、第4図(C)に示すように先頭ウィ
ンドウ・ポインタSWPが時11回りに1ウィンドウ分
だけ移動する。
さらに続いて先頭ウィンドウ・ポインタSWPで指示さ
れた1ウィンドウ分の内容を退避させる要求が起こると
、その1ウィンドウ分の内容がスタックメモリ11に退
避され、第4図(d)に示すように先頭ウィンドウ・ポ
インタSWPが時計回りに1ウィンドウ分だけ移動する
。これにより、前のプロセスの内容は全てスタックメモ
リ】】に退避されたことになる。
れた1ウィンドウ分の内容を退避させる要求が起こると
、その1ウィンドウ分の内容がスタックメモリ11に退
避され、第4図(d)に示すように先頭ウィンドウ・ポ
インタSWPが時計回りに1ウィンドウ分だけ移動する
。これにより、前のプロセスの内容は全てスタックメモ
リ】】に退避されたことになる。
次に上界ウィンドウポインタ・レジスタ25と下界ウィ
ンドウポインタ・レジスタ2Bによる制御を含む動作の
一例を説明する。第5図(a)はスタート時において、
カレントウィンドウ・ポインタcwp、オーバーフロー
ウィンドウ争ポインタowp、アンダーフローウィンド
ウやポインタUWP、上界つィンドウ伊ポインタUBP
及び下界ウィンドウ・ポインタLBPそれぞれのウィン
ドウ指示状態を示す図である。この状態から上位レジス
タバンクが利用可能になると、第5図(b)に示すよう
に」二界ウィンドウ・ポインタUBPは多重レジスタフ
ァイルの上位バンク側にその利用可能になったウィンド
ウ分だけ移動し、これに伴ってオーバーフローウィンド
ウ・ポインタOWP及びアンダーフローウィンドウ・ポ
インタUWPも上位バンク側に移動する。
ンドウポインタ・レジスタ2Bによる制御を含む動作の
一例を説明する。第5図(a)はスタート時において、
カレントウィンドウ・ポインタcwp、オーバーフロー
ウィンドウ争ポインタowp、アンダーフローウィンド
ウやポインタUWP、上界つィンドウ伊ポインタUBP
及び下界ウィンドウ・ポインタLBPそれぞれのウィン
ドウ指示状態を示す図である。この状態から上位レジス
タバンクが利用可能になると、第5図(b)に示すよう
に」二界ウィンドウ・ポインタUBPは多重レジスタフ
ァイルの上位バンク側にその利用可能になったウィンド
ウ分だけ移動し、これに伴ってオーバーフローウィンド
ウ・ポインタOWP及びアンダーフローウィンドウ・ポ
インタUWPも上位バンク側に移動する。
次にプロセッサ10がサブルーチンをコールすると、第
5図(C)に示すようにカレントウィンドウ・ポインタ
CWPが上位側に1ウィンドウ分だけ移動する。このと
き、他のポインタのウィンドウ指示状態は変化しない。
5図(C)に示すようにカレントウィンドウ・ポインタ
CWPが上位側に1ウィンドウ分だけ移動する。このと
き、他のポインタのウィンドウ指示状態は変化しない。
続いてプロセッサlOがサブルーチンコールを連続して
複数回行なった結果、第5図(d)に示すようにカレン
トウィンドウ・ポインタCWPがオーバーフローウィン
ドウ◆ポインタOWP及びアンダーフローウィンドウ・
ポインタUWPと隣接したウィンドウに位置したとする
。この状態でプロセッサ10がサブルーチンをコールす
ると、オーバーフローが生じ、第5図(e)に示すよう
にカレントウィンドウ・ポインタCWPが1ウィンドウ
分だけ上位側に移動する。さらに、第5図(d)で斜線
を施した下位2フレ一ム分が多重レジスタファイル12
からスタックメモリ11にストアされ、オーバーフロー
ウィンドウ・ポインタOWPは下界ウィンドウポインタ
LBPで指示されている最下位のウィンドウから2ウィ
ンドウ分だけ上位側に移動する。また、アンダーフロー
ウィンドウ・ポインタUWPは下界ウィンドウポインタ
LBPで指示されている最下位のウィンドウに移動する
。
複数回行なった結果、第5図(d)に示すようにカレン
トウィンドウ・ポインタCWPがオーバーフローウィン
ドウ◆ポインタOWP及びアンダーフローウィンドウ・
ポインタUWPと隣接したウィンドウに位置したとする
。この状態でプロセッサ10がサブルーチンをコールす
ると、オーバーフローが生じ、第5図(e)に示すよう
にカレントウィンドウ・ポインタCWPが1ウィンドウ
分だけ上位側に移動する。さらに、第5図(d)で斜線
を施した下位2フレ一ム分が多重レジスタファイル12
からスタックメモリ11にストアされ、オーバーフロー
ウィンドウ・ポインタOWPは下界ウィンドウポインタ
LBPで指示されている最下位のウィンドウから2ウィ
ンドウ分だけ上位側に移動する。また、アンダーフロー
ウィンドウ・ポインタUWPは下界ウィンドウポインタ
LBPで指示されている最下位のウィンドウに移動する
。
次にプロセッサIOがサブルーチンをコールすると、こ
れより上位のフレームは使用できないため、第3図(f
)に示すようにカレントウィンドウ拳ポインタCWPが
下界ウィンドウポインタLBPで指示されている最下位
のウィンドウに移動する。
れより上位のフレームは使用できないため、第3図(f
)に示すようにカレントウィンドウ拳ポインタCWPが
下界ウィンドウポインタLBPで指示されている最下位
のウィンドウに移動する。
続いてプロセッサ10がサブルーチンをコールすると、
これによってアンダーフローが生じ、図中斜線を施した
2フレ一ム分がスタックメモリ目にストアされると共に
アンダーフローウィンドウ・ポインタUWPが1ウィン
ドウ分だけ上位に移動する。次に第3図(g)に示すよ
うにカレントウィンドウ・ポインタCWP及びオーバー
フローウィンドウ・ポインタOWPがそれぞれ1ウィン
ドウ分だけ上位に移動する。
これによってアンダーフローが生じ、図中斜線を施した
2フレ一ム分がスタックメモリ目にストアされると共に
アンダーフローウィンドウ・ポインタUWPが1ウィン
ドウ分だけ上位に移動する。次に第3図(g)に示すよ
うにカレントウィンドウ・ポインタCWP及びオーバー
フローウィンドウ・ポインタOWPがそれぞれ1ウィン
ドウ分だけ上位に移動する。
次に第5図(g)の状態からプロセッサjOがサブルー
チンリターンを行なうと、第5図(h)に示すようにカ
レントウィンドウ・ポインタCWPが1ウィンドウ分だ
け下位に移動する。さらにプロセッサ10がサブルーチ
ンリターンを連続して4回行なうと、第5図(i)に示
すようにカレントウィンドウ・ポインタCWPは、第5
図(h)に示すオーバーフローウィンドウ嫌ポインタO
WPと同じ位置に移動する。オーバーフローウィンドウ
・ポインタOWPはアンダーフローウィンドウ・ポイン
タUWPと同じ位置に移動する。さらにプロセッサIO
がサブルーチンリターンを行なうと、第5図(j)に示
すようにカレントウィンドウ・ポインタcwp、オーバ
ーフローウィンドウ・ポインタOWP及びアンダーフロ
ーウィンドウ中ポインタUWPがそれぞれ1ウィンドウ
分だけ下位に移動し、図中斜線を施した1フレ一ム分が
スタックメモリ11からロードされる。
チンリターンを行なうと、第5図(h)に示すようにカ
レントウィンドウ・ポインタCWPが1ウィンドウ分だ
け下位に移動する。さらにプロセッサ10がサブルーチ
ンリターンを連続して4回行なうと、第5図(i)に示
すようにカレントウィンドウ・ポインタCWPは、第5
図(h)に示すオーバーフローウィンドウ嫌ポインタO
WPと同じ位置に移動する。オーバーフローウィンドウ
・ポインタOWPはアンダーフローウィンドウ・ポイン
タUWPと同じ位置に移動する。さらにプロセッサIO
がサブルーチンリターンを行なうと、第5図(j)に示
すようにカレントウィンドウ・ポインタcwp、オーバ
ーフローウィンドウ・ポインタOWP及びアンダーフロ
ーウィンドウ中ポインタUWPがそれぞれ1ウィンドウ
分だけ下位に移動し、図中斜線を施した1フレ一ム分が
スタックメモリ11からロードされる。
このように、上記実施例のシステムではアンダーフロー
ウィンドウポインタ・レジスタを設け、カレントウィン
ドウがコールしたときに使用したデータの残っている最
大の位置をアンダーフローウィンドウ・ポインタとする
ようにしたので、アンダーフロー時におけるレジスタロ
ードの処理時間の短縮化を容易に図ることができる。
ウィンドウポインタ・レジスタを設け、カレントウィン
ドウがコールしたときに使用したデータの残っている最
大の位置をアンダーフローウィンドウ・ポインタとする
ようにしたので、アンダーフロー時におけるレジスタロ
ードの処理時間の短縮化を容易に図ることができる。
[発明の効果〕
以上説明したようにこの発明によれば、アンダーフロー
時におけるロード処理の高速化を図ることができるプロ
セッサシステムを提供することができる。
時におけるロード処理の高速化を図ることができるプロ
セッサシステムを提供することができる。
第1図はこの発明の実施例システムで使用されるレジス
タファイル制御回路の具体的な構成を示すブロック、第
2図はこの発明に係るプロセッサシステムの全体の構成
を示すブロック図、第3図ないし第5図はそれぞれ上記
実施例のシステムの動作を説明するために使用する図で
ある。 IO・・・プロセッサ、11・・・スタックメモリ、1
2・・・多重レジスタファイル、 18・・・レジスタ
ファイル制御回路、14・・・内部バス、21・・・カ
レントウィンドウポインタ・レジスタ、22・・・オー
バーフローウィンドウポインタ・レジスタ、23・・・
アンダーフローウィンドウポインタ・レジスタ、24・
・・先頭ウィンドウポインターレジスタ、25・・・上
界ウィンドウポインタ・レジスタ、26・・・下界ウィ
ンドウポインタ・レジスタ、27・・・ポインタ制御回
路。 出願人代理人 弁理士 鈴江武彦 第1図 第2図 第3図 (a) (d) (b) 第 図 (c) (b) (c) (d) 竺 !A7 図 (h) 第 図 (j) 第 図
タファイル制御回路の具体的な構成を示すブロック、第
2図はこの発明に係るプロセッサシステムの全体の構成
を示すブロック図、第3図ないし第5図はそれぞれ上記
実施例のシステムの動作を説明するために使用する図で
ある。 IO・・・プロセッサ、11・・・スタックメモリ、1
2・・・多重レジスタファイル、 18・・・レジスタ
ファイル制御回路、14・・・内部バス、21・・・カ
レントウィンドウポインタ・レジスタ、22・・・オー
バーフローウィンドウポインタ・レジスタ、23・・・
アンダーフローウィンドウポインタ・レジスタ、24・
・・先頭ウィンドウポインターレジスタ、25・・・上
界ウィンドウポインタ・レジスタ、26・・・下界ウィ
ンドウポインタ・レジスタ、27・・・ポインタ制御回
路。 出願人代理人 弁理士 鈴江武彦 第1図 第2図 第3図 (a) (d) (b) 第 図 (c) (b) (c) (d) 竺 !A7 図 (h) 第 図 (j) 第 図
Claims (4)
- (1)プロセッサと、 上記プロセッサがプロセスを実行する際に使用されるレ
ジスタ・ファイルと、 上記レジスタ・ファイルの内容が退避されるスタックと
、 上記プロセッサが直接に使用可能な上記レジスタ・ファ
イルの範囲を示すカレントウィンドウを指示するカレン
トウィンドウ・ポインタ手段と、上記プロセッサが他の
プロセスをコールする際に上記レジスタ・ファイルから
オーバーフローする範囲を示すオーバーフローウィンド
ウを指示するオーバーフローウィンドウ・ポインタ手段
と、上記プロセッサが以前のプロセスにリターンする際
に上記レジスタ・ファイルの範囲からアンダーフローす
る範囲を示すアンダーフローウィンドウを指示するアン
ダーフローウィンドウ・ポインタ手段と、 を具備したことを特徴とするプロセッサシステム。 - (2)前記プロセッサで以前に実行されたプロセスの先
頭ウィンドウを指示する先頭ウィンドウ・ポインタ手段
をさらに具備した請求項1記載のプロセッサシステム。 - (3)各プロセス毎の下界ウィンドウ・ポインタ手段及
び上界ウィンドウ・ポインタ手段をさらに具備した請求
項1記載のプロセッサシステム。 - (4)前記カレントウィンドウ・ポインタ手段、オーバ
ーフローウィンドウ・ポインタ手段及びアンダーフロー
ウィンドウ・ポインタ手段それぞれの内容を前記プロセ
ッサが命令に基づいて読み出し、かつそれぞれの内容を
前記プロセッサが命令に基づいて書き込むようにした請
求項1記載のプロセッサシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63297266A JPH02143329A (ja) | 1988-11-25 | 1988-11-25 | プロセッサシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63297266A JPH02143329A (ja) | 1988-11-25 | 1988-11-25 | プロセッサシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH02143329A true JPH02143329A (ja) | 1990-06-01 |
Family
ID=17844297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63297266A Pending JPH02143329A (ja) | 1988-11-25 | 1988-11-25 | プロセッサシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH02143329A (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5023944A (ja) * | 1973-06-26 | 1975-03-14 | ||
JPS60169945A (ja) * | 1984-02-14 | 1985-09-03 | Fujitsu Ltd | スタツク制御方式 |
JPS62242243A (ja) * | 1986-04-14 | 1987-10-22 | Hitachi Ltd | 情報処理装置 |
-
1988
- 1988-11-25 JP JP63297266A patent/JPH02143329A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5023944A (ja) * | 1973-06-26 | 1975-03-14 | ||
JPS60169945A (ja) * | 1984-02-14 | 1985-09-03 | Fujitsu Ltd | スタツク制御方式 |
JPS62242243A (ja) * | 1986-04-14 | 1987-10-22 | Hitachi Ltd | 情報処理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR0138468B1 (ko) | 마이크로 컴퓨터 | |
US4462086A (en) | Loading system in numerical controller | |
US3710349A (en) | Data transferring circuit arrangement for transferring data between memories of a computer system | |
JPH02143329A (ja) | プロセッサシステム | |
EP0373790A2 (en) | Data processing apparatus for saving and restoring | |
KR900008402A (ko) | 저장 및 복귀방법과 이방법의 실행에 가장 적절한 프로세서 시스템 | |
EP4193250B1 (en) | Processing apparatus | |
JPS60263238A (ja) | 情報処理装置 | |
JPH0721766B2 (ja) | Fortran入出力制御処理装置 | |
JPH0391041A (ja) | ファイルの自動マイグレーション方式 | |
JPS616747A (ja) | メモリ装置 | |
JPH02214938A (ja) | データ処理装置 | |
JPS63181032A (ja) | モジユ−ル読込処理方式 | |
Winterer | A new fast controller for digital signal processing (DSP) ICS | |
CA2233435C (en) | Enhanced program counter stack for multi-tasking central processing unit | |
JPH01233628A (ja) | メモリアドレス変換制御回路 | |
JPS626344A (ja) | プログラムデバツグ方式 | |
JPH02304624A (ja) | 情報処理装置 | |
JPH06266630A (ja) | トレース機能付き入出力制御装置 | |
JPS6155741A (ja) | 演算処理装置 | |
JPH03156604A (ja) | プログラマブルコントローラ | |
JPH0341518A (ja) | プログラムの呼出し方式 | |
JP2001195253A (ja) | マイクロコンピュータ及び記録媒体 | |
JPS60198661A (ja) | 入出力制御方式 | |
JPH0235332B2 (ja) | Sainyukanopuroguramuseigyoshorihoshiki |