JPH0397035A - 記憶手段構成方式 - Google Patents
記憶手段構成方式Info
- Publication number
- JPH0397035A JPH0397035A JP1232820A JP23282089A JPH0397035A JP H0397035 A JPH0397035 A JP H0397035A JP 1232820 A JP1232820 A JP 1232820A JP 23282089 A JP23282089 A JP 23282089A JP H0397035 A JPH0397035 A JP H0397035A
- Authority
- JP
- Japan
- Prior art keywords
- storage means
- save
- calculation
- bit
- register
- 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 description 22
- 230000005540 biological transmission Effects 0.000 abstract description 11
- 230000008878 coupling Effects 0.000 abstract 2
- 238000010168 coupling process Methods 0.000 abstract 2
- 238000005859 coupling reaction Methods 0.000 abstract 2
- 239000010410 layer Substances 0.000 description 36
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000004913 activation Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、タスク切換やサブルーチンコール等の場合に
プロセッサの状態の退避・復帰を行なわせるための記憶
手段の構成に関する。
プロセッサの状態の退避・復帰を行なわせるための記憶
手段の構成に関する。
A)単一レジスタ層
プロセッサ内部の記憶手段を、すべて一層の演算用記憶
手段として使う。
手段として使う。
退避・復帰のために記憶手段を使うことはせず,レジス
ター本ごとにプロセッサ外部のメモリのスタック領域に
複写して退避し、 レジスター本ごとにプロセッサ外部のメモリのスタック
領域から複写して復帰する。
ター本ごとにプロセッサ外部のメモリのスタック領域に
複写して退避し、 レジスター本ごとにプロセッサ外部のメモリのスタック
領域から複写して復帰する。
従来はほとんどこの方式しかなかった。
B)複数レジスタ層
プロセッサ内部の記憶手段を複数のレジスタ層とみなし
、一層は演算用、それ以外の層は退避用に使い、プロセ
ッサ内部で高速に退避・復帰を処理する方式である。複
数層のレジスタ全層が使用し尿くされた時には、前記の
単一レジスタ層と同様に外部メモリを用いた退避・復帰
方式をとる。プロセッサの集積度が上がるにつれ,使わ
れるようになった。
、一層は演算用、それ以外の層は退避用に使い、プロセ
ッサ内部で高速に退避・復帰を処理する方式である。複
数層のレジスタ全層が使用し尿くされた時には、前記の
単一レジスタ層と同様に外部メモリを用いた退避・復帰
方式をとる。プロセッサの集積度が上がるにつれ,使わ
れるようになった。
複数レジスタ層には、次のような例がある。
1)単一レジスタ層の外部メモリにあたるメモリの一部
をプロセッサ内部に内蔵した方式。
をプロセッサ内部に内蔵した方式。
退避・復帰方式は、単一レジスタ層と同様の、レジスタ
ー本ごとなので、複数レジスタ層の他方式より遅い。
ー本ごとなので、複数レジスタ層の他方式より遅い。
2)Hl6つま4JHD641016で使われているレ
ジスタバンクと呼ばれる方式。演算用レジスタ層を切り
換えることによりタスク切換やサブルーチンコールにお
ける退避・復帰を極めて高速に行う。
ジスタバンクと呼ばれる方式。演算用レジスタ層を切り
換えることによりタスク切換やサブルーチンコールにお
ける退避・復帰を極めて高速に行う。
3)RISCプロセッサSPARCで使われているレジ
スタウインドウと呼ばれる方式。演算用レジスタ層を切
り換えることによりサブルーチンコールにおける退避・
復帰を極めて高速に行う。
スタウインドウと呼ばれる方式。演算用レジスタ層を切
り換えることによりサブルーチンコールにおける退避・
復帰を極めて高速に行う。
4)特開昭60 − 54049号に記されている方式
。
。
各レジスタ層を1ビット毎に結合した構成をとり、演算
用レジスタ層の内容を別のレジスタ層へ一度に複写した
のち、演算用レジスタ層を複写先に切り換えることによ
り、サブルーチンコールにおける退避・復帰を極めて高
速に行う。
用レジスタ層の内容を別のレジスタ層へ一度に複写した
のち、演算用レジスタ層を複写先に切り換えることによ
り、サブルーチンコールにおける退避・復帰を極めて高
速に行う。
従来の複数レジスタ層のうち,退避・復帰の際に演算用
のレジスタ層を切り換えて使用する方式は、各層の記憶
手段を区別せず同じように使用することになり,各層の
記憶手段を同種の記憶手段で構成することが前提となっ
ていた。
のレジスタ層を切り換えて使用する方式は、各層の記憶
手段を区別せず同じように使用することになり,各層の
記憶手段を同種の記憶手段で構成することが前提となっ
ていた。
しかし複数レジスタ層は,レジスタ層が複数であるため
、膨大な数の記憶手段が必要となる。これをすべて現在
一般に使われているレジスタの回路を用いて構成すると
、チップ上の面積が極めて大きくなり1つのLSIに内
蔵する回路として実現するのが困難である。反面、チッ
プ上の面積を小さく作るためにメモリを用いて構成する
と、アクセスが遅くなり、演算を高速化できなくなる。
、膨大な数の記憶手段が必要となる。これをすべて現在
一般に使われているレジスタの回路を用いて構成すると
、チップ上の面積が極めて大きくなり1つのLSIに内
蔵する回路として実現するのが困難である。反面、チッ
プ上の面積を小さく作るためにメモリを用いて構成する
と、アクセスが遅くなり、演算を高速化できなくなる。
このように、アクセスが高速で、かつ実現可能な規模の
記憶手段が構戒できないといった問題が生じていた。
記憶手段が構戒できないといった問題が生じていた。
本発明の目的は、各レジスタ層を1ビット毎に結合した
構成をとって退避・復帰を高速化した方式において、演
算用のレジスタ層を固定し、プロセッサ内部の記憶手段
を演算用記憶手段11と退避用記憶手段工2に機能分化
することにより、演算用記憶手段11にはアクセスが高
速なレジスタを用いて演算を高速化し、退避用記憶手段
12には面積を小さく作れるメモリを用いてチップ上の
面積を小さくするというように、目的に最適な記憶手段
を選べるようにすることにある。
構成をとって退避・復帰を高速化した方式において、演
算用のレジスタ層を固定し、プロセッサ内部の記憶手段
を演算用記憶手段11と退避用記憶手段工2に機能分化
することにより、演算用記憶手段11にはアクセスが高
速なレジスタを用いて演算を高速化し、退避用記憶手段
12には面積を小さく作れるメモリを用いてチップ上の
面積を小さくするというように、目的に最適な記憶手段
を選べるようにすることにある。
演算用記憶手段11と退避用記憶手段12を退避用伝送
手段13でlビット毎に結合することを可能にするため
に、1ビットの演算用記憶手段11と、それに退避用伝
送手段l3を介して結ばれる,複数層の数のビットの退
避用記憶手段12を一つのセルに作りこみ、それを並べ
て全記憶手段を構成する. 〔作用〕 演算用記憶手段11は、現在プロセッサが実行している
処理の状態を保持しておく。
手段13でlビット毎に結合することを可能にするため
に、1ビットの演算用記憶手段11と、それに退避用伝
送手段l3を介して結ばれる,複数層の数のビットの退
避用記憶手段12を一つのセルに作りこみ、それを並べ
て全記憶手段を構成する. 〔作用〕 演算用記憶手段11は、現在プロセッサが実行している
処理の状態を保持しておく。
退避用記憶手段12は、現在プロセッサが中断している
処理の状態を退避しておく。
処理の状態を退避しておく。
退避用伝送手段13は、演算用記憶手段11の内容を退
避用記憶手段12に退避したり、退避用記憶手段12の
内容を演算用記憶手段l1に復帰したりするのに使う。
避用記憶手段12に退避したり、退避用記憶手段12の
内容を演算用記憶手段l1に復帰したりするのに使う。
〔実施例〕
(実施例1)1セル分の詳細
第2図は、本発明を実施した例のうち、1セル分の詳細
を表わした回路図である。1ビットの演算用記憶手段1
1に4ビットの退避用記憶手段12が対応している。
を表わした回路図である。1ビットの演算用記憶手段1
1に4ビットの退避用記憶手段12が対応している。
まず、演算用記憶手段11の働きを説明する。
ここでは、従来用いられてきたレジスタの技術が使われ
ている。演算用記憶手段11に保持されたデータは、読
み出し制御信号25a,25bに従い,それぞれ読み出
しデータ22a,22bに読み出され、演算器21で演
算される.演算結果は、書き込み制御信号24に従い、
演算用記憶手段11に格納される。
ている。演算用記憶手段11に保持されたデータは、読
み出し制御信号25a,25bに従い,それぞれ読み出
しデータ22a,22bに読み出され、演算器21で演
算される.演算結果は、書き込み制御信号24に従い、
演算用記憶手段11に格納される。
次に、退避用記憶手段12の働きを説明する。
ここでは,従来用いられてきたメモリの技術が使われて
いる。復帰/退避選択信号26がOの時、退避用伝送手
段13上のデータは、バンク選択信号27a,27b,
27c,27dに従い、対応する退避用記憶手段12に
書きこまれる。復帰/退避選択信号26が1の時、バン
ク選択信号27a,27b,27c,27dに従い、対
応する退避用記憶手段12から退避用伝送手段13に読
み出される。
いる。復帰/退避選択信号26がOの時、退避用伝送手
段13上のデータは、バンク選択信号27a,27b,
27c,27dに従い、対応する退避用記憶手段12に
書きこまれる。復帰/退避選択信号26が1の時、バン
ク選択信号27a,27b,27c,27dに従い、対
応する退避用記憶手段12から退避用伝送手段13に読
み出される。
本実施例では、この二つの従来技術を組み合わせ,復帰
/退避選択信号26がOの時、演算用記憶手段11に保
持されたデータを退避用伝送手段↓3に載せて退避用記
憶手段12に書き込むことにより退避を構威し、復帰/
退避線選択信号が1の時、同時に演算用記憶手段l1も
書き込みモードとし,退避用記憶手段12から読み出さ
れた退避用伝送手段13上のデータを演算用記憶手段1
1に書き込むことにより復帰を構成し、本発明を実現し
ている。
/退避選択信号26がOの時、演算用記憶手段11に保
持されたデータを退避用伝送手段↓3に載せて退避用記
憶手段12に書き込むことにより退避を構威し、復帰/
退避線選択信号が1の時、同時に演算用記憶手段l1も
書き込みモードとし,退避用記憶手段12から読み出さ
れた退避用伝送手段13上のデータを演算用記憶手段1
1に書き込むことにより復帰を構成し、本発明を実現し
ている。
(実施例2)サブルーチンコールまたはネスト状に進行
するタスク切換に使う場合。
するタスク切換に使う場合。
第3図を用いて、演算用記憶手段11一層、退避用記憶
手段12二層の場合である。
手段12二層の場合である。
l)退避方法
a)まず、演算用記憶手段11を用いて処理Aを実行し
ている. b)次に処理Aを中断,し処理Bを実行する時は、処理
Aの状態を退避用記憶手段12aに退避し、処理Bを実
行する。
ている. b)次に処理Aを中断,し処理Bを実行する時は、処理
Aの状態を退避用記憶手段12aに退避し、処理Bを実
行する。
C)さらに処理Bを中断し処理Cを実行する時は、処理
Bの状態を退避用記憶手段12bに退避し、処理Aの状
態を演算用記憶手段11を介して外部メモリ32に退避
して退避用記憶手段12aを空けたのち、処理Cを実行
する。
Bの状態を退避用記憶手段12bに退避し、処理Aの状
態を演算用記憶手段11を介して外部メモリ32に退避
して退避用記憶手段12aを空けたのち、処理Cを実行
する。
d)さらに処理Cを中断し処理Dを実行する時は、処理
Cの状態を退避用記憶手段12aに退避し、処理Bの状
態を演算用記憶手段11を介して外部メモリ32に退避
して退避用記憶手段12bを空けたのち、処理Dを実行
する。
Cの状態を退避用記憶手段12aに退避し、処理Bの状
態を演算用記憶手段11を介して外部メモリ32に退避
して退避用記憶手段12bを空けたのち、処理Dを実行
する。
さらにネストが進む場合も同様である。
2)復帰方法
これは1)の退避方法と全く逆の手順を行なえば良い。
d)まず、演算用記憶手段11を用いて処理Dを実行し
ている。
ている。
C)次に、処理Dが終了したら、処理Bの状態を外部メ
モリ32から演算用記憶手段1■を介して退避用記憶手
段12bに復帰し、退避用記憶手段12aから処理Cの
状態を演算用記憶手段11に復帰し、処理Cを実行する
. b)さらに,処理Cが終了したら、処理Aの状態を外部
メモリ32から演算用記憶手段11を介して退避用記憶
手段12aに復帰し、退避用記憶手段12bから処理B
の状態を演算用記憶手段11に復帰し、処理Bを実行す
る。
モリ32から演算用記憶手段1■を介して退避用記憶手
段12bに復帰し、退避用記憶手段12aから処理Cの
状態を演算用記憶手段11に復帰し、処理Cを実行する
. b)さらに,処理Cが終了したら、処理Aの状態を外部
メモリ32から演算用記憶手段11を介して退避用記憶
手段12aに復帰し、退避用記憶手段12bから処理B
の状態を演算用記憶手段11に復帰し、処理Bを実行す
る。
a)さらに、処理Bが終了したら、退避用記憶手段12
aから処理Aの状態を演算用記憶手段11に復帰し、処
理Aを実行する。
aから処理Aの状態を演算用記憶手段11に復帰し、処
理Aを実行する。
(実施例3)ルーチンに固有なデータと、ルーチンで共
有するデータとを使い分けする場合。
有するデータとを使い分けする場合。
サブルーチンからメインルーチンに値を返す場合につい
て、第4図を用いて説明する。演算用記憶手段l1のレ
ジスタ1本に1ビットずつソフトウエアで設定可能なマ
スクビット41を設ける。
て、第4図を用いて説明する。演算用記憶手段l1のレ
ジスタ1本に1ビットずつソフトウエアで設定可能なマ
スクビット41を設ける。
これが1の時はルーチンで独立なデータ、0の時はサブ
ルーチンからメインルーチンに返す値と決めたとする。
ルーチンからメインルーチンに返す値と決めたとする。
メインルーチンの実行中サブルーチンコールが起ると、
メインルーチンの状態を退避してサブルーチンを実行す
る6サブルーチルからメインルーチンに復帰する時に,
マスクビット41が1のレジスタは復帰しマスクビット
41がOのレジスタは復帰しないようにする。これによ
り、マスクビット41がOのレジスタは、復帰後もサブ
ルーチンで設定した値が残るので、サブルーチンからメ
インルーチンに値を返すことができる. また、例えば高級言語等における変数においても、関数
に固有な局所変数はマスクビット4工を1とし、関数の
起動に関わらず常駐する大城変数は,マスクビット41
をOとすることでサポートすることができる. (実施例4)前記例以外の、ランダムに発生するタスク
切換に行う場合。
メインルーチンの状態を退避してサブルーチンを実行す
る6サブルーチルからメインルーチンに復帰する時に,
マスクビット41が1のレジスタは復帰しマスクビット
41がOのレジスタは復帰しないようにする。これによ
り、マスクビット41がOのレジスタは、復帰後もサブ
ルーチンで設定した値が残るので、サブルーチンからメ
インルーチンに値を返すことができる. また、例えば高級言語等における変数においても、関数
に固有な局所変数はマスクビット4工を1とし、関数の
起動に関わらず常駐する大城変数は,マスクビット41
をOとすることでサポートすることができる. (実施例4)前記例以外の、ランダムに発生するタスク
切換に行う場合。
退避用記憶手段12の層が使用中か否かを示す有効ビッ
トを一層に1ビットずつ設け、ソフトウエアで設定可能
なようにする。退避に使い始めたら1、タスクを終了し
て退避の必要がなくなったらOを格納しておくと決めた
とする.新たにタスクを退避する時には,有効ビットが
0である層を選択して退避し、その層の有効ビットを1
とする.もし退避した後に有効ビットが0である層が残
つていなかったら、有効ビットがlである層のうち一つ
を選択し、その状態を外部メモリに退避して、その層の
有効ビットを0とする。
トを一層に1ビットずつ設け、ソフトウエアで設定可能
なようにする。退避に使い始めたら1、タスクを終了し
て退避の必要がなくなったらOを格納しておくと決めた
とする.新たにタスクを退避する時には,有効ビットが
0である層を選択して退避し、その層の有効ビットを1
とする.もし退避した後に有効ビットが0である層が残
つていなかったら、有効ビットがlである層のうち一つ
を選択し、その状態を外部メモリに退避して、その層の
有効ビットを0とする。
〔発明の効果〕
本発明は、以上に述べてきたように、各レジスタ層を1
ビット毎に結合した構成をとって退避・復帰を高速化し
た方式を実用的な規模で作ることを可能とする。
ビット毎に結合した構成をとって退避・復帰を高速化し
た方式を実用的な規模で作ることを可能とする。
第1図は本発明の原理を示す概念図、第2図は本発明の
実施例のlセル分の詳細を表わした回路図、第3図は本
発明のサブルーチンまたはネスト状に進行するタスク切
換に使う場合を説明する図,第4図はサブルーチンから
メインルーチンに値を返す場合のマスクビットの使用法
を説明する図である. 1l・・・演算用記憶手段、工2・・・退避用記憶手段
、13・・・退避用伝送手段,14・・・演算用伝送手
段,21・・・演算器、22・・・読み出しデータ、2
3・・・書き込みデータ、24・・・書き込み制御信号
、25・・・読み出し制御信号、26・・・復帰/退避
選択信号、27・・・バンク選択信号、31・・・プロ
セッサ,32ぅささ 1て) 渉 第1図 ク7ヒ″.アト YIL′゛ット 第 3 図
実施例のlセル分の詳細を表わした回路図、第3図は本
発明のサブルーチンまたはネスト状に進行するタスク切
換に使う場合を説明する図,第4図はサブルーチンから
メインルーチンに値を返す場合のマスクビットの使用法
を説明する図である. 1l・・・演算用記憶手段、工2・・・退避用記憶手段
、13・・・退避用伝送手段,14・・・演算用伝送手
段,21・・・演算器、22・・・読み出しデータ、2
3・・・書き込みデータ、24・・・書き込み制御信号
、25・・・読み出し制御信号、26・・・復帰/退避
選択信号、27・・・バンク選択信号、31・・・プロ
セッサ,32ぅささ 1て) 渉 第1図 ク7ヒ″.アト YIL′゛ット 第 3 図
Claims (1)
- 【特許請求の範囲】 1、演算処理装置(CPU)内において、 演算器が利用する演算用記憶手段(11)を一層と、 演算器が利用しない退避用記憶手段(12)を複数層有
し、 前記演算用記憶手段(11)と前記退避用記憶手段(1
2)の間で、記憶手段の番号及びビット位置が対応する
記憶素子間が全て接続されること を特徴とする記憶手段構成方式。 2、請求項第1項記載において、 前記演算用記憶手段(11)から前記退避用記憶手段(
12)へのデータ退避が、前記退避用記憶手段(12)
から前記演算用記憶手段(11)へのデータ復帰かを表
す復帰1退避選択信号(26)と、 複数の前記退避用記憶手段(12)のうちいずれか一つ
を選択するバンク選択信号(27)を有することを特徴
とする記憶手段構成方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1232820A JPH0397035A (ja) | 1989-09-11 | 1989-09-11 | 記憶手段構成方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1232820A JPH0397035A (ja) | 1989-09-11 | 1989-09-11 | 記憶手段構成方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0397035A true JPH0397035A (ja) | 1991-04-23 |
Family
ID=16945293
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1232820A Pending JPH0397035A (ja) | 1989-09-11 | 1989-09-11 | 記憶手段構成方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0397035A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1097461A (ja) * | 1996-07-03 | 1998-04-14 | Internatl Business Mach Corp <Ibm> | メモリ用マルチ・スレッド・セル |
KR20020027384A (ko) * | 2002-01-03 | 2002-04-13 | 강근형 | Pe드럼. |
JP2020077373A (ja) * | 2014-06-13 | 2020-05-21 | 株式会社半導体エネルギー研究所 | 半導体装置 |
-
1989
- 1989-09-11 JP JP1232820A patent/JPH0397035A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1097461A (ja) * | 1996-07-03 | 1998-04-14 | Internatl Business Mach Corp <Ibm> | メモリ用マルチ・スレッド・セル |
KR20020027384A (ko) * | 2002-01-03 | 2002-04-13 | 강근형 | Pe드럼. |
JP2020077373A (ja) * | 2014-06-13 | 2020-05-21 | 株式会社半導体エネルギー研究所 | 半導体装置 |
JP2022051728A (ja) * | 2014-06-13 | 2022-04-01 | 株式会社半導体エネルギー研究所 | 半導体装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR970008523B1 (ko) | 프로세서 | |
EP0285310B1 (en) | Device for saving and restoring register information | |
US6282627B1 (en) | Integrated processor and programmable data path chip for reconfigurable computing | |
US4907148A (en) | Cellular array processor with individual cell-level data-dependent cell control and multiport input memory | |
EP0218523B1 (en) | programmable access memory | |
US5386563A (en) | Register substitution during exception processing | |
JP2776132B2 (ja) | オペランド内の情報のスタティックおよびダイナミック・マスキングを兼ね備えるデータ処理システム | |
EP0644482B1 (en) | Dispatch of instructions to multiple execution units | |
JPS58151655A (ja) | 情報処理装置 | |
WO1999000739A1 (en) | An integrated processor and programmable data path chip for reconfigurable computing | |
JPH0133854B2 (ja) | ||
EP0223690B1 (en) | Processor array with means to control cell processing state | |
JPH0414385B2 (ja) | ||
JPS63240664A (ja) | 高速処理計算機 | |
Merigot et al. | A pyramidal system for image processing | |
EP0081358B1 (en) | Data processing system providing improved data transfer between modules | |
JPH0282330A (ja) | ムーブアウト・システム | |
JPH0397035A (ja) | 記憶手段構成方式 | |
US5179682A (en) | Method and apparatus for improved current window cache with switchable address in, out, and local cache registers | |
JP3571656B2 (ja) | ポインタレジスタ装置およびポインタ値の更新方法 | |
JPS62156742A (ja) | デ−タ書込み制御方式 | |
JP3539984B2 (ja) | プロセッサ | |
JPH0395916A (ja) | 露光データ転送方法および転送装置 | |
JPS59184943A (ja) | 情報処理装置 | |
JP2629400B2 (ja) | 自己同期型パイプライン処理装置 |