JPH06103063A - マイクロプロセッサ - Google Patents
マイクロプロセッサInfo
- Publication number
- JPH06103063A JPH06103063A JP25099692A JP25099692A JPH06103063A JP H06103063 A JPH06103063 A JP H06103063A JP 25099692 A JP25099692 A JP 25099692A JP 25099692 A JP25099692 A JP 25099692A JP H06103063 A JPH06103063 A JP H06103063A
- Authority
- JP
- Japan
- Prior art keywords
- register
- general
- bits
- purpose register
- flag
- 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
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】
【目的】 汎用レジスタのデータサイズの最適化を図
り、汎用レジスタのメモリー領域への転送サイクルを短
くする。 【構成】 専用レジスタ群2中に設けられたモードレジ
スタmrによって示されるフラグM0、M1の値によ
り、汎用レジスタ群1のデータサイズを見かけ上8、1
6、24、32ビットのいずれかに設定する。これによ
って、汎用レジスタをアドレスポインタとして使用した
場合、それぞれ256バイト、64kバイト、16Mバ
イト、4Gバイトのメモリー領域を指定することができ
る。また、このフラグをCPUの実行ステートを制御す
るブロックに入力することにより、レジスタのメモリー
領域への転送を効率よく行なうことができる。
り、汎用レジスタのメモリー領域への転送サイクルを短
くする。 【構成】 専用レジスタ群2中に設けられたモードレジ
スタmrによって示されるフラグM0、M1の値によ
り、汎用レジスタ群1のデータサイズを見かけ上8、1
6、24、32ビットのいずれかに設定する。これによ
って、汎用レジスタをアドレスポインタとして使用した
場合、それぞれ256バイト、64kバイト、16Mバ
イト、4Gバイトのメモリー領域を指定することができ
る。また、このフラグをCPUの実行ステートを制御す
るブロックに入力することにより、レジスタのメモリー
領域への転送を効率よく行なうことができる。
Description
【0001】
【産業上の利用分野】本発明は、汎用レジスタ方式によ
るマイクロプロセッサに関するものである。
るマイクロプロセッサに関するものである。
【0002】
【従来の技術】従来の汎用レジスタ方式のマイクロプロ
セッサの場合、汎用レジスタのデータサイズは固定であ
った。例えば、16ビットアーキテクチャで設計された
汎用レジスタ方式マイクロプロセッサで、アドレスバス
幅32ビット、データバス幅16ビット、汎用レジスタ
幅32ビットのような構成になっている場合を考えてみ
る。使用するレジスタの本数が内蔵する汎用レジスタの
本数を越えてしまったり、タスク(仕事)切り替えなど
によって汎用レジスタに格納されているデータをメモリ
ー領域に転送する必要が生じたような時、32ビット幅
の汎用レジスタのデータを退避するためには16ビット
ずつに分割して転送する必要があるため、必ず2バスサ
イクル使用しなければならなかった。
セッサの場合、汎用レジスタのデータサイズは固定であ
った。例えば、16ビットアーキテクチャで設計された
汎用レジスタ方式マイクロプロセッサで、アドレスバス
幅32ビット、データバス幅16ビット、汎用レジスタ
幅32ビットのような構成になっている場合を考えてみ
る。使用するレジスタの本数が内蔵する汎用レジスタの
本数を越えてしまったり、タスク(仕事)切り替えなど
によって汎用レジスタに格納されているデータをメモリ
ー領域に転送する必要が生じたような時、32ビット幅
の汎用レジスタのデータを退避するためには16ビット
ずつに分割して転送する必要があるため、必ず2バスサ
イクル使用しなければならなかった。
【0003】一方、ユーザーが実行しようとするタスク
によっては、大きなメモリー空間や多ビットのレジスタ
は必要でない場合もあり、汎用レジスタの8ビット分や
16ビット分で事足りるような場合もあった。従来のマ
イクロプロセッサでは、このような場合でも、汎用レジ
スタをアドレスポインタとして使用する時には当該レジ
スタの全ビットがアクティヴになるため、未使用の上位
ビットも0あるいは1に値を設定する必要があった。こ
のことは、レジスタ本数のオーバーフローやタスク切り
替えなどによってレジスタに格納されているデータのメ
モリー領域への転送が発生したときに、本来重要ではな
いデータが格納されている汎用レジスタのビットを転送
するために無駄なバスサイクルを使用しなければなら
ず、大変効率の悪いものであった。
によっては、大きなメモリー空間や多ビットのレジスタ
は必要でない場合もあり、汎用レジスタの8ビット分や
16ビット分で事足りるような場合もあった。従来のマ
イクロプロセッサでは、このような場合でも、汎用レジ
スタをアドレスポインタとして使用する時には当該レジ
スタの全ビットがアクティヴになるため、未使用の上位
ビットも0あるいは1に値を設定する必要があった。こ
のことは、レジスタ本数のオーバーフローやタスク切り
替えなどによってレジスタに格納されているデータのメ
モリー領域への転送が発生したときに、本来重要ではな
いデータが格納されている汎用レジスタのビットを転送
するために無駄なバスサイクルを使用しなければなら
ず、大変効率の悪いものであった。
【0004】
【発明が解決しようとする課題】このように、タスクに
よっては、本来重要ではない値を汎用レジスタに設定し
なければならず、無駄が生じていた。また、この本来重
要ではない値を保持している汎用レジスタも、メモリー
領域への転送を行なわなければならず、無駄が生じてい
た。
よっては、本来重要ではない値を汎用レジスタに設定し
なければならず、無駄が生じていた。また、この本来重
要ではない値を保持している汎用レジスタも、メモリー
領域への転送を行なわなければならず、無駄が生じてい
た。
【0005】本発明は汎用レジスタのデータサイズの最
適化を図り、汎用レジスタのメモリー領域への転送サイ
クルを短くすることを可能にするマイクロプロセッサを
提供するものである。
適化を図り、汎用レジスタのメモリー領域への転送サイ
クルを短くすることを可能にするマイクロプロセッサを
提供するものである。
【0006】
【課題を解決するための手段】上記の目的を達成するた
めに本発明のマイクロプロセッサは、内蔵するレジスタ
の一部に現在実行中のタスクのアドレス空間の大きさを
示すフラグレジスタを設け、このフラグによって汎用レ
ジスタ群の見かけ上のデータサイズと、このレジスタに
格納されているデータのメモリー領域への転送のサイク
ルを変えることを可能にする。
めに本発明のマイクロプロセッサは、内蔵するレジスタ
の一部に現在実行中のタスクのアドレス空間の大きさを
示すフラグレジスタを設け、このフラグによって汎用レ
ジスタ群の見かけ上のデータサイズと、このレジスタに
格納されているデータのメモリー領域への転送のサイク
ルを変えることを可能にする。
【0007】
【作用】このようにすれば、小さなメモリー空間しか必
要としないタスクにおいては、内蔵するレジスタの一部
に設けたフラグをデコードすることによって、汎用レジ
スタに格納されるデータの最適化ができ、レジスタに格
納されているデータのメモリー領域への転送サイクルを
最適化することができる。
要としないタスクにおいては、内蔵するレジスタの一部
に設けたフラグをデコードすることによって、汎用レジ
スタに格納されるデータの最適化ができ、レジスタに格
納されているデータのメモリー領域への転送サイクルを
最適化することができる。
【0008】
【実施例】以下本発明の一実施例について図面を参照し
ながら説明する。
ながら説明する。
【0009】図1は本発明の一実施例の基本的な構成を
示すものである。本マイクロプロセッサは、一つの中央
演算処理装置(以後CPUという、図示せず)と、r0
〜r7で示される8本の汎用レジスタ群1、スタックポ
インタ(SP)などからなる専用レジスタ群2を有し、
この専用レジスタ群の中に汎用レジスタの有効データサ
イズを示すモードレジスタmrを設けてある。また、こ
れらのレジスタ群に格納されているデータを転送するメ
モリー領域であるRAM部3、プログラムのオブジェク
トコードが記憶されているROM部4がアドレスバス5
およびデータバス6によって接続されている。専用レジ
スタ群中に設けた汎用レジスタの有効データサイズを示
すモードレジスタmrを図2(a)に示す。モードレジ
スタmrによって示されるフラグをM0,M1とし、こ
のフラグの論理値を0にするか1にするかによって図2
(b)に示すように、 (1)8ビット有効モード (2)16ビット有効モード (3)24ビット有効モード (4)32ビット有効モード を設定することができる。
示すものである。本マイクロプロセッサは、一つの中央
演算処理装置(以後CPUという、図示せず)と、r0
〜r7で示される8本の汎用レジスタ群1、スタックポ
インタ(SP)などからなる専用レジスタ群2を有し、
この専用レジスタ群の中に汎用レジスタの有効データサ
イズを示すモードレジスタmrを設けてある。また、こ
れらのレジスタ群に格納されているデータを転送するメ
モリー領域であるRAM部3、プログラムのオブジェク
トコードが記憶されているROM部4がアドレスバス5
およびデータバス6によって接続されている。専用レジ
スタ群中に設けた汎用レジスタの有効データサイズを示
すモードレジスタmrを図2(a)に示す。モードレジ
スタmrによって示されるフラグをM0,M1とし、こ
のフラグの論理値を0にするか1にするかによって図2
(b)に示すように、 (1)8ビット有効モード (2)16ビット有効モード (3)24ビット有効モード (4)32ビット有効モード を設定することができる。
【0010】上記のいずれかの状態に設定することによ
り、汎用レジスタは見かけ上それぞれ8、16、24、
32ビットのデータサイズとなる。これをアドレスデー
タを格納するために使用した場合、それぞれ256バイ
ト、約64kバイト、約16Mバイト、約4Gバイトの
メモリー領域を指定することができる。
り、汎用レジスタは見かけ上それぞれ8、16、24、
32ビットのデータサイズとなる。これをアドレスデー
タを格納するために使用した場合、それぞれ256バイ
ト、約64kバイト、約16Mバイト、約4Gバイトの
メモリー領域を指定することができる。
【0011】図3は汎用レジスタの一本を抜き出して模
式的に示したものである。7〜10はそれぞれ8ビット
ずつに入力されているライト信号であり、11〜14は
同様に8ビットずつに入力されているリード信号であ
り、15はデータバスである。8ビット有効モードでの
ライト時は信号10のみがアクティヴとなり、ビットポ
ジション0〜7が書き込まれる。同様に16ビット有効
モードでは信号9、10がアクティヴとなりビットポジ
ション0〜15が書き込まれ、24ビット有効モードで
は信号8、9、10がアクティヴとなり、ビットポジシ
ョン0〜23が書き込まれ、32ビット有効モードでは
信号7、8、9、10全てがアクティヴになり、32ビ
ット全部が書き込まれることになる。リード時もライト
時と同様の制御が行われる。
式的に示したものである。7〜10はそれぞれ8ビット
ずつに入力されているライト信号であり、11〜14は
同様に8ビットずつに入力されているリード信号であ
り、15はデータバスである。8ビット有効モードでの
ライト時は信号10のみがアクティヴとなり、ビットポ
ジション0〜7が書き込まれる。同様に16ビット有効
モードでは信号9、10がアクティヴとなりビットポジ
ション0〜15が書き込まれ、24ビット有効モードで
は信号8、9、10がアクティヴとなり、ビットポジシ
ョン0〜23が書き込まれ、32ビット有効モードでは
信号7、8、9、10全てがアクティヴになり、32ビ
ット全部が書き込まれることになる。リード時もライト
時と同様の制御が行われる。
【0012】ここで図4に図3で用いられた制御信号7
〜10、11〜14を生成する回路の一例を示す。M
0,M1のフラグの論理値は図示したような回路によっ
てデコードされ、さらにCPUによって生成された汎用
レジスタのライトを示す信号16と、リードを示す信号
17が加味され、汎用レジスタのライト制御信号7〜1
0と、リード制御信号11〜14が生成される。
〜10、11〜14を生成する回路の一例を示す。M
0,M1のフラグの論理値は図示したような回路によっ
てデコードされ、さらにCPUによって生成された汎用
レジスタのライトを示す信号16と、リードを示す信号
17が加味され、汎用レジスタのライト制御信号7〜1
0と、リード制御信号11〜14が生成される。
【0013】次に図3に示した汎用レジスタの一本のう
ちの1ビット分の例を図5に示す。ここで15は図3で
示したデータバスの内の1ビットであり、負論理のプリ
チャージ方式のバスである。このバスは使用されないと
きにはプリチャージされており、負論理で1を示してい
る。18はデータバスの値を保持するDフリップフロッ
プである。このDフリップフロップの入力Dには前記デ
ータバス15が入力されている。また、信号19はDフ
リップフロップのイネーブルに接続されているライト信
号であり、図3に示したライト制御信号7〜10のいず
れかが接続されている。Dフリップフロップの出力Q
は、インバータを通り、図示したようにNチャンネルト
ランジスタのゲートに入力される。さらに、信号20は
Nチャンネルトランジスタのゲートに接続されており、
レジスタのリード信号となっている。また、信号20は
図3に示したリード制御信号11〜14のうち、ライト
信号に対応する信号が接続されている。これによって
8、16、24ビット有効モードの時にリード信号がア
クティヴにならなかったビットは、データバスがディス
チャージされないので、1のままとなる。すなわち、読
み出したデータは、正論理で0に符号拡張されたのと同
様になる。
ちの1ビット分の例を図5に示す。ここで15は図3で
示したデータバスの内の1ビットであり、負論理のプリ
チャージ方式のバスである。このバスは使用されないと
きにはプリチャージされており、負論理で1を示してい
る。18はデータバスの値を保持するDフリップフロッ
プである。このDフリップフロップの入力Dには前記デ
ータバス15が入力されている。また、信号19はDフ
リップフロップのイネーブルに接続されているライト信
号であり、図3に示したライト制御信号7〜10のいず
れかが接続されている。Dフリップフロップの出力Q
は、インバータを通り、図示したようにNチャンネルト
ランジスタのゲートに入力される。さらに、信号20は
Nチャンネルトランジスタのゲートに接続されており、
レジスタのリード信号となっている。また、信号20は
図3に示したリード制御信号11〜14のうち、ライト
信号に対応する信号が接続されている。これによって
8、16、24ビット有効モードの時にリード信号がア
クティヴにならなかったビットは、データバスがディス
チャージされないので、1のままとなる。すなわち、読
み出したデータは、正論理で0に符号拡張されたのと同
様になる。
【0014】またモード制御フラグM1は、CPU内の
実行ステートを制御するブロックに入力されている。こ
れによって汎用レジスタの使用本数のオーバーフローや
タスク切り替えが発生した時には、汎用レジスタに格納
されているデータのメモリー領域への転送は、図6に示
すようなフローチャートに従った制御をCPUが行うこ
とによって、実現することができる。すなわち、モード
制御フラグM1が0ならば、レジスタに格納されている
データの転送サイクルは下位16ビット分のみで終了す
る。また、モード制御フラグM1が1ならば、下位16
ビット分の転送に引続き上位16ビット分のレジスタに
格納されているデータの転送も実行される。前記のよう
な制御を行なうことによって、点線で囲った部分のステ
ートを省略することができ、レジスタのメモリー領域へ
の転送サイクルは短くなり、レジスタのメモリー領域へ
の転送を効率よく行うことができる。
実行ステートを制御するブロックに入力されている。こ
れによって汎用レジスタの使用本数のオーバーフローや
タスク切り替えが発生した時には、汎用レジスタに格納
されているデータのメモリー領域への転送は、図6に示
すようなフローチャートに従った制御をCPUが行うこ
とによって、実現することができる。すなわち、モード
制御フラグM1が0ならば、レジスタに格納されている
データの転送サイクルは下位16ビット分のみで終了す
る。また、モード制御フラグM1が1ならば、下位16
ビット分の転送に引続き上位16ビット分のレジスタに
格納されているデータの転送も実行される。前記のよう
な制御を行なうことによって、点線で囲った部分のステ
ートを省略することができ、レジスタのメモリー領域へ
の転送サイクルは短くなり、レジスタのメモリー領域へ
の転送を効率よく行うことができる。
【0015】
【発明の効果】ユーザーが実行するタスクによって、大
きなメモリー空間は必要でない場合やレジスタのビット
幅が小さくてもよい場合がある。このようなときに、上
記のモードレジスタmrをタスクごとに設定することに
よって、効率的に汎用レジスタを利用することができる
ようになる。また、汎用レジスタに格納されているデー
タをメモリー領域に転送する場合、転送サイクルが短く
なり、タスク切り替えが高速に実行できるようになる。
きなメモリー空間は必要でない場合やレジスタのビット
幅が小さくてもよい場合がある。このようなときに、上
記のモードレジスタmrをタスクごとに設定することに
よって、効率的に汎用レジスタを利用することができる
ようになる。また、汎用レジスタに格納されているデー
タをメモリー領域に転送する場合、転送サイクルが短く
なり、タスク切り替えが高速に実行できるようになる。
【図1】本発明の一実施例によるマイクロプロセッサの
ブロック図
ブロック図
【図2】本発明のモードフラグの論理値によるモード設
定の一例を示す図
定の一例を示す図
【図3】本発明の汎用レジスタの内の一つを模式的に示
した図
した図
【図4】本発明の一実施例におけるモードフラグのデコ
ード回路図
ード回路図
【図5】本発明の一実施例におけるレジスタの1ビット
分の回路図
分の回路図
【図6】本発明のレジスタに格納されているデータの転
送を制御するフローチャート
送を制御するフローチャート
1 汎用レジスタ群 2 専用レジスタ群 3 RAM部 4 ROM部 5 アドレスバス 6 データバス 7〜10 それぞれ8ビットずつのライト信号 11〜14 それぞれ8ビットずつのリード信号 15 データバス 16 CPUからくるレジスタのライト信号 17 CPUからくるレジスタのリード信号 18 Dフリップフロップ 19 ライト信号7〜10のいずれかが接続された信号 20 リード信号11〜14のいずれかが接続された信
号
号
Claims (2)
- 【請求項1】内蔵される制御用の専用レジスタ中に、汎
用レジスタのデータサイズをバイト単位で切り替えるた
めのフラグレジスタを持ち、実行するタスク(仕事)ご
とに汎用レジスタのデータサイズを切り替える機能を有
することを特徴とするマイクロプロセッサ。 - 【請求項2】フラグレジスタの値を命令実行ステートを
制御するブロックに入力し、このフラグの示す値によっ
て汎用レジスタ群のメモリー領域への転送サイクルの実
行ステートを変える制御を行なうことを特徴とする請求
項1記載のマイクロプロセッサ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25099692A JPH06103063A (ja) | 1992-09-21 | 1992-09-21 | マイクロプロセッサ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25099692A JPH06103063A (ja) | 1992-09-21 | 1992-09-21 | マイクロプロセッサ |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06103063A true JPH06103063A (ja) | 1994-04-15 |
Family
ID=17216105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25099692A Pending JPH06103063A (ja) | 1992-09-21 | 1992-09-21 | マイクロプロセッサ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH06103063A (ja) |
-
1992
- 1992-09-21 JP JP25099692A patent/JPH06103063A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR960001273B1 (ko) | 단일칩 마이크로컴퓨터 | |
US4542456A (en) | Method and apparatus for performing range checks | |
JP3694531B2 (ja) | Riscアーキテクチャを有する8ビットマイクロコントローラ | |
JPH0748190B2 (ja) | キャッシュメモリ内蔵マイクロプロセッサ | |
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 | |
JPH0527971A (ja) | 情報処理装置 | |
US5664156A (en) | Microcontroller with a reconfigurable program status word | |
KR950009271B1 (ko) | 정보처리시스템 | |
JP2551167B2 (ja) | マイクロコンピュータ | |
JPH06103063A (ja) | マイクロプロセッサ | |
JPH01124049A (ja) | マイクロプロセッサ | |
KR960016401B1 (ko) | 레지스터 페이지 포인터를 이용한 레지스터 페이지간의 페이지 선택회로 | |
JPS6362778B2 (ja) | ||
JP2517154B2 (ja) | デ―タ処理装置 | |
JP2604319Y2 (ja) | マイクロコンピュータ | |
JPH0256029A (ja) | 汎用レジスタ切換方式 | |
JPH05282133A (ja) | 演算方式 | |
JPS6362065A (ja) | デ−タ転送制御方式 | |
JPH06250711A (ja) | プログラマブルコントローラ | |
JPH033047A (ja) | 演算機能付きメモリ | |
KR200208207Y1 (ko) | 디에스피(dsp)어드레싱 모드에서의 간접 어드레싱장치 | |
JP2696578B2 (ja) | データ処理装置 | |
JP3239042B2 (ja) | マイクロコンピュータ | |
JPH05334074A (ja) | マイクロプロセッサ | |
JPH08272605A (ja) | アドレス分岐回路、マイクロコンピュータ及びそのアドレス分岐方法 |