JPH04305745A - レジスタファイルシステム - Google Patents

レジスタファイルシステム

Info

Publication number
JPH04305745A
JPH04305745A JP857291A JP857291A JPH04305745A JP H04305745 A JPH04305745 A JP H04305745A JP 857291 A JP857291 A JP 857291A JP 857291 A JP857291 A JP 857291A JP H04305745 A JPH04305745 A JP H04305745A
Authority
JP
Japan
Prior art keywords
register
address
registers
bank
register file
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
JP857291A
Other languages
English (en)
Inventor
Mikio Ogisu
荻須 幹雄
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP857291A priority Critical patent/JPH04305745A/ja
Publication of JPH04305745A publication Critical patent/JPH04305745A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はレジスタファイルシステ
ムに関し、特に複数のレジスタからなるレジスタファイ
ルのハードウェア構成に関するものである。
【0002】
【従来の技術】従来、レジスタファイルを複数有してい
ると、タックエリアへのレジスタ待避を回避できオーバ
ーヘッドを少なくすることができるため、レジスタ待避
動作が不要になるという利点があり、容易に割込み応答
性を向上させることができる。このため、複数のレジス
タを有するマルチレジスタシステムは数多くのシステム
において採用されているアーキテクチャーである。そし
てマルチレジスタシステムにおいては、レジスタファイ
ルを構成しているデータ用、アドレス用又は汎用のレジ
スタとして、オペレーティングシステムが実行するシス
テムタスク又はユーザアプリケーションプログラムが実
行するユーザータスクで使用できる数量分が各レジスタ
ファイルに同等にハードウェアとして実装されており、
また各レジスタファイルは互いに対称な構造に構成され
ている。
【0003】前記のように構成されたマルチレジスタフ
ァイルにおいては、コンテキストの際にレジスタファイ
ルを切り替えて新しいレジスタファイルで新しいタスク
や割込み処理を実行するため、レジスタファイル毎に実
行するタスクは切り替えられるが、レジスタ構成を同じ
ものにしておくことにより、タスクを構成するプログラ
ムが変わってもコンパイラの生成を一律に行なえ、プロ
グラム内の変数を制限なくレジスタに割り当てられると
いう利点を有している。
【0004】
【発明が解決しようとする課題】しかしながら、レジス
タファイルにおいては、必要な全数のレジスタをハード
ウェアとして備える負担は極めて大きいと共に、レジス
タの一部をワーキングレジスタとして使用する場合、コ
ンテキストスイッチ時には特に待避・保存しておく必要
がないので、レジスタファイルを構成するレジスタを全
数備える必要はなかった。
【0005】また、従来のマルチレジスタファイルにお
いては、レジスタファイル内のレジスタを用いてデータ
を各タスク間で引き渡す場合、各タスクで共通にアクセ
スできるレジスタエリアを設けてタスク間通信を行なっ
ていた。このため、タスク間通信を行なうデータをプロ
グラムの暴走・誤動作による破壊から保護するため、共
有レジスタエリアのアクセス権のチェックをソフトウェ
アで行なわざるを得なかった。
【0006】本発明は、前記従来の課題を解決するもの
で、複数のレジスタから構成されるレジスタファイルシ
ステムにおいて、ハードウェアとして多くのレジスタを
備える負担を極力抑制すると共に、レジスタファイル内
のレジスタを介してデータをタスク間で引き渡す場合、
アクセス権のチェックを必要としないレジスタファイル
システムを提供することを目的としている。
【0007】
【課題を解決するための手段】前記の目的を達成するた
め、請求項1及び2の発明は、ソフトウェアで指定され
たメモリアドレス又はレジスタ番号の値とハードウェア
に実装されたレジスタのアドレス値との対応関係をフラ
グにより変更可能にし、プログラム上重要な変数が優先
的にレジスタを割り当てられるようにするものである。
【0008】具体的に請求項1の発明が講じた解決手段
は、ハードウェアに実装されており複数のレジスタから
構成されるレジスタファイルと、ソフトウェアで指定さ
れたレジスタのメモリアドレス若しくはレジスタ番号の
値と前記複数のレジスタのアドレス値との対応関係をフ
ラグにより変更する手段とを備えている構成とするもの
である。
【0009】また、請求項2の発明が講じた解決手段は
、ハードウェアに実装されており複数のレジスタから構
成されるレジスタファイルと、ソフトウェアで指定され
たレジスタのメモリアドレス若しくはレジスタ番号の値
を小さい方から順にフラグによって前記複数のレジスタ
のアドレス値の小さいもの又は大きいものに対応させる
手段とを備えている構成とするものである。
【0010】さらに、請求項3の発明は、2組のバンク
に共通のアドレス領域を持たせ且つ該共通のアドレス領
域に他のバンクにより破壊されては困るデータを配置し
、各々のバンクが前記共通のアドレス領域にライトアク
セスする場合には自らのバンクにアクセスさせ、前記共
通のアドレス領域にリードアクセスする場合には他方の
バンクにアクセスさせることにより、共通のアドレス領
域に配置されたデータが他のバンクにより破壊されない
ようにするものである。
【0011】具体的に請求項3の発明が講じた解決手段
は、複数のメモリバンク又は複数のレジスタバンクから
なるマルチレジスタファイルと、前記複数のメモリバン
ク又は複数のレジスタバンクのいずれかを構成し互いに
対をなす2組のバンクとを備え、該2組のバンクの各一
部分の領域が同一のアドレス領域に配置され、前記2組
のバンクのいずれかが前記同一のアドレス領域にライト
アクセスする際には自らのバンクにアクセスし且つ前記
同一のアドレス領域にリードアクセスする際には対をな
す他方のバンクにアクセスするよう構成されているもの
である。
【0012】
【作用】請求項1の発明の構成により、ソフトウェアで
指定されたレジスタのメモリアドレス若しくはレジスタ
番号の値とハードウェアに実装されたレジスタのアドレ
ス値との対応関係をフラグにより変更する手段を備えて
いるため、フラグを適当に設定することにより、プログ
ラム上重要な変数にハードウェア上に実装されたレジス
タを優先的に割り当てることができる。
【0013】また、請求項2の発明の構成により、ソフ
トウェアで指定されたレジスタのメモリアドレス若しく
はレジスタ番号の値を小さい方から順にフラグによって
ハードウェアに実装されたレジスタのアドレス値の小さ
いもの又は大きいものに対応させることができるため、
プログラム上重要な変数に小さいメモリアドレス値又は
レジスタ番号を割り当て且つフラグを適当に設定するこ
とにより、プログラム上重要な変数にハードウェアに実
装されたレジスタを優先的に割り当てられることができ
る。
【0014】さらに、請求項3の発明の構成により、2
組のバンクの各々の一部分の領域が同一のアドレス領域
に配置され、2組のバンクのいずれかが同一のアドレス
領域にライトアクセスする際には自らのバンクにアクセ
スし且つ同一のアドレス領域にリードアクセスする際に
は他方のバンクにアクセスするよう構成されているため
、前記同一のアクセス領域に破壊されては困るデータ例
えば通信用データを配置することにより、該データが他
方のバンクにより破壊されることを確実に防止できる。
【0015】
【実施例】以下本発明の一実施例を図面に基づいて説明
する。
【0016】図1は本発明の一実施例に係り、ソフトウ
ェアで指定されるメモリアドレス又はレジスタ番号の値
とハードウェア上に実装されているレジスタのアドレス
値との対応関係をフラグにより変更することができるレ
ジスタファイルシステムの構成図であり、図2は前記レ
ジスタファイルシステムにおける方向制御回路を示す図
である。
【0017】図1において、レジスタファイル1はアド
レスAB7〜AB0とレジスタ番号2〜0とを入力とす
る2ポートメモリである。アドレスデコーダ2にはアド
レスAB7〜AB0が入力されるが、アドレスAB4〜
AB2は方向制御フラグ10を一入力とする各方向制御
回路4〜6を介して入力される。同様に、レジスタ番号
デコーダ3には、方向制御フラグ10を一入力とする方
向制御回路7〜9を介してレジスタ番号2〜0が入力さ
れる。
【0018】レジスタファイル1内のレジスタの選択は
アドレスデコーダ2又はレジスタ番号デコーダ3により
選択される。方向制御回路4〜9は、方向制御フラグ1
0の値が“0”のときには、ソフトウェアで指定された
レジスタのメモリアドレス又はレジスタ番号の値を小さ
い方から順にハードウェア上に実装されたレジスタのメ
モリアドレス値の小さいものに対応させ、メモリアドレ
ス値又はレジスタ番号値をそのままアドレスデコーダ2
又はレジスタ番号デコーダ3に入力させる一方、方向制
御フラグ10の値が“1”のときには、ソフトウェアで
指定されたメモリアドレス又はレジスタ番号の値を小さ
い方から順にハードウェア上に実装されたレジスタのメ
モリアドレス値の大きいものに対応させる。つまり、方
向制御回路4〜9はアドレス値又はレジスタ番号値を反
転させてアドレスデコーダ2又はレジスタ番号デコーダ
3に入力させる機能を有している。
【0019】図2に示すように、方向制御回路4〜9は
、各々3ステートバッファ11と3ステートインバータ
12とから構成されており、アドレス又はレジスタ番号
13を入力としてデコーダ2又は3へ出力される。この
場合、方向制御フラグ10からの出力である方向制御信
号14が“0”のときには、3ステートバッファ11が
選択され、入力されたアドレス又はレジスタ番号13の
値をそのままデコーダ2又は3に出力する。方向制御信
号14が“1”のときには、3ステートインバータ12
が選択され、入力されたアドレス又はレジスタ番号13
の値を反転してデコーダ2又は3に出力する。
【0020】図3はレジスタファイル1内のレジスタ構
成とハードウェア上で実際に実装されているレジスタの
アドレスを示した図であり、図4はレジスタを指定する
ソフトウェアで指定されたメモリアドレス又はレジスタ
番号とハードウェア上に実装されているレジスタとの対
応をフラグにより変更できる例を示した図である。
【0021】図3に示すように、レジスタファイル1は
レジスタR0〜R7で構成され、レジスタR0のハード
ウェア上に実装されているレジスタのアドレスを一例と
して(6CE0)番地とし、1バイト毎に1アドレス、
1レジスタに4アドレスが与えられており、レジスタR
7はアドレスとして(6CFC)番地が与えられている
。図4に示すアドレス(下位8ビットのみを図示してい
る)においては、レジスタ番号のR0とR7、R1とR
6、R2とR5、R3とR4は点線内のアドレスAB2
〜AB4(アドレスのビットポジション2〜4)が補数
の関係になっている。従って、方向制御フラグによって
アドレスAB2〜AB4を反転させることにより、レジ
スタR0の(6CE0)番地を指定してもレジスタR7
の(6CFC)番地が選択される。レジスタのR1とR
6、レジスタR2とR5、レジスタR3とR4も同様の
関係にある。また、図示していないが、レジスタとレジ
スタ番号との関係も同様であって、図4の点線内のアド
レスAB2〜AB4とレジスタ番号とは同様の関係にあ
る。
【0022】以上説明したように、レジスタを指定する
レジスタ番号とハードウェア上に実装されているレジス
タとの対応関係をアドレス値の小さいもの又は大きいも
のに変更することができるので、プログラム上重要な変
数にレジスタ番号の小さいものを割り当てることにより
、全レジスタを使用しない2つのアプリケーションで1
つのレジスタファイルを使用することが可能になり、ハ
ード資源を有効に使用することができる。
【0023】図5はバンク間の通信時にデータの保護機
能を有するメモリバンク又はレジスタバンクの構成を示
し、図6(a) (b) はレジスタファイルのアクセ
ス可能な領域を示している。
【0024】図5に示すように、メモリバンク又はレジ
スタバンク(以下バンクAと称する。)15はアドレス
値の小さい方からレジスタが配置されており、メモリバ
ンク又はレジスタバンク16(以下バンクBと称する。 )はアドレス値の大きい方からレジスタが配置されてい
る。バンクA15のメモリアドレスが大きい部分とバン
クB16のメモリアドレスの小さい部分とは同一アドレ
スに配置されている。つまり同一アドレス領域に二重に
メモリが配置されている。
【0025】図6(a) はバンクA15又はバンクB
16が書き込み可能なライトアクセス領域を示した図で
ある。バンクA15は領域Aa17を、バンクB16は
領域Ba18を書き込み可能で、バンクA15が領域B
18を、バンクB16が領域A17を書き込むことは禁
止されている。図6(b) はバンクA15又はバンク
B16が読み出し可能なリードアクセス領域を示した図
である。バンクA15は領域Ab20と領域Ac22を
、バンクB16は領域Bb21と領域Bc19を読み出
せ、バンクA15はバンクA15自身のBc19領域を
、バンクB16はバンクB16自身のAc22を読み出
すことができない。
【0026】以上説明したバンクA15とバンクB16
の同一アドレス領域に、破壊されては困るデータ例えば
通信用データを配置することにより、誤ってデータが自
分のバンク以外のバンクにより破壊されることを回避で
きるので、通常ソフトウェアによって行なわれるデータ
保護処理機能をハードウェアによって実現することがで
きる。
【0027】
【発明の効果】以上説明したように、請求項1の発明の
レジスタファイルシステムにより、ソフトウェアで指定
されたレジスタのメモリアドレス若しくはレジスタ番号
の値とハードウェアに実装されたレジスタのアドレス値
との対応関係をフラグにより変更する手段を備えている
ため、フラグを適当に設定することにより、プログラム
上重要な変数にハードウェアに実装されたレジスタを優
先的に割り当てることができる。
【0028】また、請求項2の発明のレジスタファイル
システムにより、ソフトウェアで指定されたレジスタの
メモリアドレス若しくはレジスタ番号の値を小さい方か
ら順にフラグによってハードウェアに実装されたレジス
タのアドレス値の小さいもの又は大きいものに対応させ
ることができるため、プログラム上重要な変数に小さい
メモリアドレス値又はレジスタ番号値を割り当て且つフ
ラグを適当に設定することにより、プログラム上重要な
変数にハードウェア上に実装されたレジスタを優先的に
割り当てられることができる。
【0029】このため、請求項1又は2の発明によると
、全レジスタを使用しない2つのアプリケーションで1
つのレジスタファイルを使用することが可能になるため
、レジスタファイルをハードウェアとして実装する負担
を極力抑制することができるので、ハード資源を有効に
使用することができる。またレジスタ構成を各レジスタ
ファイル同士で共通にできるのでコンパイラの生成を一
律に行なうことができる。
【0030】さらに、請求項3の発明により、2組のバ
ンクの各々の一部分の領域が同一のアドレス領域に配置
され、2組のバンクのいずれかが前記同一のアドレス領
域にライトアクセスする際には自らのバンクにアクセス
し且つ前記同一のアドレス領域にリードアクセスする際
には他方のバンクにアクセスするよう構成されているた
め、前記同一のアクセス領域に破壊されては困るデータ
例えば通信用データを配置することにより、該データが
他方のバンクにより破壊されることを確実に防止できる
【0031】このため、請求項3の発明により、データ
通信時におけるデータの保護をソフトウェアの介入なし
によってできるので、効率の良いマルチタスキング処理
を実現することができる。
【図面の簡単な説明】
【図1】本発明の一実施例に係り、ソフトウェアで指定
されるレジスタのメモリアドレス又はレジスタ番号の値
とハードウェア上に実装されているレジスタのアドレス
値との対応関係を変更できるレジスタファイルシステム
を示す構成図である。
【図2】前記レジスタファイルシステムにおける方向制
御回路を示す回路図である。
【図3】前記レジスタファイルシステムにおけるレジス
タファイル内のレジスタ構成及びハードウェア上に実装
されているレジスタのアドレスを示す図である。
【図4】前記レジスタファイルシステムにおいて、ソフ
トウェアで指定されるレジスタのメモリアドレス又はレ
ジスタ番号とハードウェア上に実装されているレジスタ
との対応関係をフラグにより変更する方法を説明する図
である。
【図5】本発明の一実施例に係り、複数のメモリバンク
又は複数のレジスタバンクよりなるマルチファイルシス
テムを示す構成図である。
【図6】前記マルチファイルシステムにおける各バンク
のアクセス可能な領域を示した図である。
【符号の説明】
1…レジスタファイル 2…アドレスデコーダ 3…レジスタ番号デコーダ 4,5,6,7,8,9…方向制御回路10…方向制御
フラグ 11…3ステートバッファ 12…3ステートインバータ 13…アドレス又はレジスタ番号 14…方向制御信号 15,16…バンク 17,18…ライトアクセス領域

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】  ハードウェアに実装されており複数の
    レジスタから構成されるレジスタファイルと、ソフトウ
    ェアで指定されたレジスタのメモリアドレス若しくはレ
    ジスタ番号の値と前記複数のレジスタのアドレス値との
    対応関係をフラグにより変更する手段とを備えているこ
    とを特徴とするレジスタファイルシステム。
  2. 【請求項2】  ハードウェアに実装されており複数の
    レジスタから構成されるレジスタファイルと、ソフトウ
    ェアで指定されたレジスタのメモリアドレス若しくはレ
    ジスタ番号の値を小さい方から順にフラグによって前記
    複数のレジスタのアドレス値の小さいもの又は大きいも
    のに対応させる手段とを備えていることを特徴とするレ
    ジスタファイルシステム。
  3. 【請求項3】  複数のメモリバンク又は複数のレジス
    タバンクからなるマルチレジスタファイルと、前記複数
    のメモリバンク又は複数のレジスタバンクのいずれかを
    構成し互いに対をなす2組のバンクとを備え、該2組の
    バンクの各一部分の領域が同一のアドレス領域に配置さ
    れ、前記2組のバンクのいずれかが前記同一のアドレス
    領域にライトアクセスする際には自らのバンクにアクセ
    スし且つ前記同一のアドレス領域にリードアクセスする
    際には対をなす他方のバンクにアクセスするよう構成さ
    れていることを特徴とするレジスタファイルシステム。
JP857291A 1991-01-28 1991-01-28 レジスタファイルシステム Pending JPH04305745A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP857291A JPH04305745A (ja) 1991-01-28 1991-01-28 レジスタファイルシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP857291A JPH04305745A (ja) 1991-01-28 1991-01-28 レジスタファイルシステム

Publications (1)

Publication Number Publication Date
JPH04305745A true JPH04305745A (ja) 1992-10-28

Family

ID=11696761

Family Applications (1)

Application Number Title Priority Date Filing Date
JP857291A Pending JPH04305745A (ja) 1991-01-28 1991-01-28 レジスタファイルシステム

Country Status (1)

Country Link
JP (1) JPH04305745A (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54156435A (en) * 1978-05-31 1979-12-10 Toshiba Corp Readout system of memory
JPS61288227A (ja) * 1985-06-17 1986-12-18 Toshiba Corp レジスタ選択回路

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54156435A (en) * 1978-05-31 1979-12-10 Toshiba Corp Readout system of memory
JPS61288227A (ja) * 1985-06-17 1986-12-18 Toshiba Corp レジスタ選択回路

Similar Documents

Publication Publication Date Title
KR960001273B1 (ko) 단일칩 마이크로컴퓨터
US4460972A (en) Single chip microcomputer selectively operable in response to instructions stored on the computer chip or in response to instructions stored external to the chip
EP0518479B1 (en) Processing system and method including memory selection
US5127096A (en) Information processor operative both in direct mapping and in bank mapping, and the method of switching the mapping schemes
JPH02217925A (ja) マイクロプロセッサ
JPH04305745A (ja) レジスタファイルシステム
US5347641A (en) Page register with a don't care function
JPS615348A (ja) 情報処理装置
JPS6362778B2 (ja)
JPH0635800A (ja) マイクロプロセッサ及びそれを使用したデータ処理システム
KR920003845B1 (ko) 개인용 컴퓨터의 사용자를 위한 rom의 영역 확장 시스템
JPH06231072A (ja) マイクロコンピュータ
JPH0227596A (ja) 半導体メモリ
KR100199477B1 (ko) 절약된 메모리를 갖는 전자제어 시스템 및 메모리 절약 방법
KR100236530B1 (ko) 디지탈 신호 처리장치의 어드레스 발생회로
JPS63159966A (ja) シングルチツプマイクロコンピユ−タ
JPS6073762A (ja) 記憶保護方式
JPS62251857A (ja) メモリ制御方式
JPH0477930A (ja) マイクロコンピュータ
JPS6182253A (ja) メモリ−バンク切換方式
JPS6226549A (ja) メモリ回路
JPH0261749A (ja) データ転送装置
JPH033047A (ja) 演算機能付きメモリ
JPS62151955A (ja) メモリアドレツシング方式
JPH0264828A (ja) アドレストレース回路