JPH03141434A - マイクロコンピュータ - Google Patents
マイクロコンピュータInfo
- Publication number
- JPH03141434A JPH03141434A JP1258126A JP25812689A JPH03141434A JP H03141434 A JPH03141434 A JP H03141434A JP 1258126 A JP1258126 A JP 1258126A JP 25812689 A JP25812689 A JP 25812689A JP H03141434 A JPH03141434 A JP H03141434A
- Authority
- JP
- Japan
- Prior art keywords
- register
- instruction
- register set
- code
- address
- 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.)
- Granted
Links
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 238000000034 method Methods 0.000 description 11
- 238000001514 detection method Methods 0.000 description 4
- 101100325756 Arabidopsis thaliana BAM5 gene Proteins 0.000 description 2
- 101150046378 RAM1 gene Proteins 0.000 description 2
- 101100476489 Rattus norvegicus Slc20a2 gene Proteins 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はマイクロコンピュータ、特に、内蔵RAMに複
数のレジスタセットを有するマイクロコンピュータに関
する。
数のレジスタセットを有するマイクロコンピュータに関
する。
マイクロコンピュータ(以下、マイコンと記′す)は、
高速記憶手段として複数個のレジスタ、つまりレジスタ
セットを有している。
高速記憶手段として複数個のレジスタ、つまりレジスタ
セットを有している。
また、内蔵するRAM内にレジスタセットを複数設定し
たマイコンもある。
たマイコンもある。
一般に、こうした複数のレジスタセットは、ソフトウェ
アで適宜切り換えて、ある1つのレジスタセットを選択
し、使用するが、レジスタ間の転送や演算を行なう命令
で指定可能なレジスタは、同一のレジスタセット内のも
のに限られる。
アで適宜切り換えて、ある1つのレジスタセットを選択
し、使用するが、レジスタ間の転送や演算を行なう命令
で指定可能なレジスタは、同一のレジスタセット内のも
のに限られる。
尚、こうした内蔵RAMに設定された個々のレジスタセ
ットは、レジスタバンクと呼ばれることがある。
ットは、レジスタバンクと呼ばれることがある。
以上レジスタと表現してきたものは、ユーザがプログラ
ムで使用するレジスタで、以降の説明で用いるマイコン
内部の作業用レジスタとは区別するために、汎用レジス
タと呼び、後者のマイコン内部の作業用レジスタをテン
ポラリレジスタと呼ぶことにする。
ムで使用するレジスタで、以降の説明で用いるマイコン
内部の作業用レジスタとは区別するために、汎用レジス
タと呼び、後者のマイコン内部の作業用レジスタをテン
ポラリレジスタと呼ぶことにする。
以下に、従来のマイコンが実行する、内蔵RAMに設定
(マツピング)した汎用レジスタのアクセス命令の処理
方式について図面を参照しながら述べる。
(マツピング)した汎用レジスタのアクセス命令の処理
方式について図面を参照しながら述べる。
第10図は、マイコンを含む、説明に必要なユニットの
みで構成された情報処理装置のブロック図である。
みで構成された情報処理装置のブロック図である。
メモリ101には、実行すべきプログラムの命令コード
が格納されている。マイコン300は、命令先取りキュ
ー102と、命令デコーダ部303と、レジスタコード
保持部104と、マイクロコード部105と、プログラ
ム・ステータス・ワード(以下、PSWと記す)106
と、RAMアドレス生成部307と、内蔵RAM108
と、演算処理部109から構成されている。
が格納されている。マイコン300は、命令先取りキュ
ー102と、命令デコーダ部303と、レジスタコード
保持部104と、マイクロコード部105と、プログラ
ム・ステータス・ワード(以下、PSWと記す)106
と、RAMアドレス生成部307と、内蔵RAM108
と、演算処理部109から構成されている。
命令先取りキュー102は、メモリ101から逐次読み
出した命令コードを格納する。
出した命令コードを格納する。
命令デコーダ部303は、命令先取りキュ102に取り
込んだ命令コードを解析する。解析の中には、基本操作
の種類を表わすオペレーションコードと、操作対象を表
わすオペランドとへの分解が含まれる。
込んだ命令コードを解析する。解析の中には、基本操作
の種類を表わすオペレーションコードと、操作対象を表
わすオペランドとへの分解が含まれる。
レジスタコード保持部104は、命令デコーダ部303
で解析されたオペランドがレジスタコードである場合に
、これを保持しておく場所である。
で解析されたオペランドがレジスタコードである場合に
、これを保持しておく場所である。
マイクロコード部105は、命令デコーダ部303で解
析されたオペレーションコードからマイクロプログラム
の7ドレスを生成し、そのアドレスからマイクロプログ
ラムを実行するごとにより、1クロツク毎の動作を各部
に指示する。
析されたオペレーションコードからマイクロプログラム
の7ドレスを生成し、そのアドレスからマイクロプログ
ラムを実行するごとにより、1クロツク毎の動作を各部
に指示する。
演算処理部109は、算術論理演算機能を持っている。
また、図示されていないが、演算処理部109には、命
令実行過程で必要となるテンポラリレジスタも含まれて
いる。
令実行過程で必要となるテンポラリレジスタも含まれて
いる。
内蔵RAM108は、ここでは、例えば256バイトの
メモリだとする。本例の内蔵RAM108、には、第1
1図のように8個のレジスタバンクがマツピングされて
おり、ルジスタバンク32バイトである。
メモリだとする。本例の内蔵RAM108、には、第1
1図のように8個のレジスタバンクがマツピングされて
おり、ルジスタバンク32バイトである。
内蔵RAM108は、マイコン300の有するメモリ空
間において、FF0OH(Hは16進数表現であること
を示す)番地からFFFFH番地までにマツピングされ
ている。さらに、レジスタバンク0はFF0OH〜FF
IFH,レジスタバンク1はFF20H〜FF3FH,
レジスタバンク2はFF40H〜FF5FH,レジスタ
バンク3はFF60H〜FF7FH,レジスタバンク4
はFF80H〜FF9FH,レジスタバンク5はFF0
OH〜FFIFH,レジスタパンクロはFFC0H−F
FDFH,レジスタバンク7はFF0OH〜FFIFH
’Hにマツピングされている。
間において、FF0OH(Hは16進数表現であること
を示す)番地からFFFFH番地までにマツピングされ
ている。さらに、レジスタバンク0はFF0OH〜FF
IFH,レジスタバンク1はFF20H〜FF3FH,
レジスタバンク2はFF40H〜FF5FH,レジスタ
バンク3はFF60H〜FF7FH,レジスタバンク4
はFF80H〜FF9FH,レジスタバンク5はFF0
OH〜FFIFH,レジスタパンクロはFFC0H−F
FDFH,レジスタバンク7はFF0OH〜FFIFH
’Hにマツピングされている。
汎用レジスタには、各レジスタバンク毎にレジスタ1に
は(各レジスタバンクの先頭アドレス)+IEH,レジ
スタ2には(各レジスタバンクの先頭アドレス)+IC
U、 レジスタ3には(各レジスタバンクの先頭アド
レス)+IAH,レジスタ4には(各レジスタバンクの
先頭アドレス)+18Hというようにアドレスが割り当
てられている。
は(各レジスタバンクの先頭アドレス)+IEH,レジ
スタ2には(各レジスタバンクの先頭アドレス)+IC
U、 レジスタ3には(各レジスタバンクの先頭アド
レス)+IAH,レジスタ4には(各レジスタバンクの
先頭アドレス)+18Hというようにアドレスが割り当
てられている。
PSW106は、マイコン300内の動作状態を示す各
種フラグの他に、3ビツトのレジスタバンク番号を持っ
ており、その番号によってレジスタバンクが決定される
。尚、このレジスタバンク番号は、ソフトウェアによっ
て適宜与えられる。
種フラグの他に、3ビツトのレジスタバンク番号を持っ
ており、その番号によってレジスタバンクが決定される
。尚、このレジスタバンク番号は、ソフトウェアによっ
て適宜与えられる。
RAMアドレス生成部307は、内蔵RAM108内の
汎用レジスタをアクセスするときに必要となる内蔵RA
M内アドレスを生成する場所である。RAMアドレス生
成部307は、レジスタコード保持部104に保持され
たレジスタコードとPSW106内のレジスタバンク番
号を入力し、それぞれの汎用レジスタがマツピングされ
た内蔵RAMアドレスを生成する。生成方法については
、後述する。
汎用レジスタをアクセスするときに必要となる内蔵RA
M内アドレスを生成する場所である。RAMアドレス生
成部307は、レジスタコード保持部104に保持され
たレジスタコードとPSW106内のレジスタバンク番
号を入力し、それぞれの汎用レジスタがマツピングされ
た内蔵RAMアドレスを生成する。生成方法については
、後述する。
次に、汎用レジスタ間における転送命令を例にとって、
命令の構成を説明する。
命令の構成を説明する。
汎用レジスタ間の転送命令の構成を、第12図に示す。
レジスタフィールド1.レジスタフィールド2には、各
々4ビツトのレジスタコードが入っている。
々4ビツトのレジスタコードが入っている。
第12図は、プログラム上で例えば、
MOV レジスタ0.レジスタ3
と表わされ、PSW106で指定されたレジスタバンク
内のレジスタ4の内容(値)をレジスタ1に転送する命
令コードの構成を示している。ここでは、レジスタフィ
ールド1にはレジスタ1のレジスタコード、レジスタフ
ィールド2にはレジスタ4のレジスタコードが入ってい
る。
内のレジスタ4の内容(値)をレジスタ1に転送する命
令コードの構成を示している。ここでは、レジスタフィ
ールド1にはレジスタ1のレジスタコード、レジスタフ
ィールド2にはレジスタ4のレジスタコードが入ってい
る。
以下に、レジスタバンク番号3がソフトウェアでPSW
に設定されている場合の MOV レジスタ0.レジスタ3 の動作を説明する。
に設定されている場合の MOV レジスタ0.レジスタ3 の動作を説明する。
■ 命令デコーダ部303は、上記命令コードを入力、
解析し、命令コードの1バイト目をオペレーションコー
ドに、2バイト目をレジスタコードとしてのオペランド
に分解する。
解析し、命令コードの1バイト目をオペレーションコー
ドに、2バイト目をレジスタコードとしてのオペランド
に分解する。
■ 次に、レジスタコード保持部104は、オペランド
を保持する。
を保持する。
■ すると、RAMアドレス生成部307は、レジスタ
フィールド1のアドレスとレジスタフィールド2のアド
レスを生成する。
フィールド1のアドレスとレジスタフィールド2のアド
レスを生成する。
生成方法は、レジスタフィールド1に対しては、まず、
PSW106内の3ビツトのレジスタバンク番号3を読
み出す。
PSW106内の3ビツトのレジスタバンク番号3を読
み出す。
同様に、レジスタコード保持部104からレジスタ0の
レジスタコードを読み出し、RAMアドレス生成部30
7内でIEHという5ビツトのレジスタバンク内アドレ
スに変換する。そして、前者のレジスタバンク番号3を
上位3ビツト、後者のレジスタバンク内アドレスIEH
を下位5ビツトとして、8ビツトの内蔵RAM内アドレ
ス7EHを生成する。
レジスタコードを読み出し、RAMアドレス生成部30
7内でIEHという5ビツトのレジスタバンク内アドレ
スに変換する。そして、前者のレジスタバンク番号3を
上位3ビツト、後者のレジスタバンク内アドレスIEH
を下位5ビツトとして、8ビツトの内蔵RAM内アドレ
ス7EHを生成する。
レジスタフィールド2に対しては、まず、レジスタバン
ク番号3は、レジスタフィールド1と同じなので、レジ
スタコード保持部104からレジスタ3のレジスタコー
ドを読み出し、RAMアドレス生成部3o7内で18H
という5ビツトのレジスタバンク内アドレスに変換する
。よって、レジスタバンク内アドレス18Hな下位5ビ
ツトとして、8ビツトの内蔵RAM内アドレス78Hを
生成することになる。
ク番号3は、レジスタフィールド1と同じなので、レジ
スタコード保持部104からレジスタ3のレジスタコー
ドを読み出し、RAMアドレス生成部3o7内で18H
という5ビツトのレジスタバンク内アドレスに変換する
。よって、レジスタバンク内アドレス18Hな下位5ビ
ツトとして、8ビツトの内蔵RAM内アドレス78Hを
生成することになる。
■ マイクロコード部105は、オペレーションコード
から生成したマイクロプログラムの先頭アドレスからマ
イクロプログラムを実行する。まず第一に、転送元、つ
まりレジスタフィールド2の汎用レジスタのデータを演
算処理部109内のテンポラリレジスタへ格納する旨の
指示を出す。
から生成したマイクロプログラムの先頭アドレスからマ
イクロプログラムを実行する。まず第一に、転送元、つ
まりレジスタフィールド2の汎用レジスタのデータを演
算処理部109内のテンポラリレジスタへ格納する旨の
指示を出す。
■ すると、RAMアドレス生成部307は、内蔵RA
Mアドレス78Hを指定するので、内蔵RAM108か
らレジスタ3のデータが読み出され、演算処理部109
内のテンポラリレジスタに格納される。
Mアドレス78Hを指定するので、内蔵RAM108か
らレジスタ3のデータが読み出され、演算処理部109
内のテンポラリレジスタに格納される。
■ 次に、マイクロコード部105は、演算処理部10
9内のテンポラリレジスタへ格納したデータを転送先、
つまりレジスタフィールド1へ格納する旨の指示を出す
。
9内のテンポラリレジスタへ格納したデータを転送先、
つまりレジスタフィールド1へ格納する旨の指示を出す
。
■ すると、演算処理部109のテンポラリレジスタの
データが、RAMアドレス生成部307が指定するレジ
スタ0の内蔵RAM内アドレス7EHに格納される。
データが、RAMアドレス生成部307が指定するレジ
スタ0の内蔵RAM内アドレス7EHに格納される。
このようにして、
MOV レジスタ0.レジスタ3
の命令実行が終了する。
尚、ここでは、内蔵RAM領域をメモリ空間のFF0O
HからFFFFHまでとしたが、他の領域であっても、
あるいは、この領域が可変となるような機能を有するマ
イコンにおいても、汎用レジスタへのアクセスにおいて
は同じように処理を行なう。
HからFFFFHまでとしたが、他の領域であっても、
あるいは、この領域が可変となるような機能を有するマ
イコンにおいても、汎用レジスタへのアクセスにおいて
は同じように処理を行なう。
上述した従来例では、レジスタバンクを複数個有してい
ても、複数の汎用レジスタを指定する命令において、指
定する汎用レジスタは、同一のレジスタバンク内に限ら
れる。
ても、複数の汎用レジスタを指定する命令において、指
定する汎用レジスタは、同一のレジスタバンク内に限ら
れる。
よって、次のような欠点を有する。
(1) 使用可能なレジスタ数が、ルジスタバンク分
に限られるので、高速記憶手段である汎用レジスタを多
用して、ソフトウェアの動作を高速化する際の限界とな
ってしまう。
に限られるので、高速記憶手段である汎用レジスタを多
用して、ソフトウェアの動作を高速化する際の限界とな
ってしまう。
(2)1つのレジスタバンクにあるレジスタ数以上のレ
ジスタを使用したい場合、使いたいレジスタの中身を一
度メモリへ退避してからそのレジスタを使わなければな
らないため、ソフトウェアの動作速度が遅くなる。
ジスタを使用したい場合、使いたいレジスタの中身を一
度メモリへ退避してからそのレジスタを使わなければな
らないため、ソフトウェアの動作速度が遅くなる。
尚、複数のレジスタバンクを有するマイコンでは、レジ
スタバンクを切り換えて、別のレジスタバンクを使用す
るための命令や、割込み発生に呼応してレジスタバンク
を切り換える機能を有しているが、いずれの場合も切り
替えることなしに使用可能な汎用レジスタ数はルジスタ
バンク分のみであるので、上記欠点を有することになる
。
スタバンクを切り換えて、別のレジスタバンクを使用す
るための命令や、割込み発生に呼応してレジスタバンク
を切り換える機能を有しているが、いずれの場合も切り
替えることなしに使用可能な汎用レジスタ数はルジスタ
バンク分のみであるので、上記欠点を有することになる
。
本発明の目的は、全レジスタバンクの汎用レジスタを切
り換えることなしにレジスタとして使用することができ
るマイコンを提供することにある。
り換えることなしにレジスタとして使用することができ
るマイコンを提供することにある。
第1の発明のマイコンは、ソフトウェアで設定可能なレ
ジスタセットの内のひとつのレジスタセット番号を記憶
する第1のレジスタセット記憶手段と、所定のレジスタ
セット切り替え命令を入力し一時的にレジスタセットを
切り替えることを指示するレジスタセット切り替え信号
を発生するための命令解析手段と、レジスタセット切り
替え命令で指示されるレジスタセット番号を記憶する第
2のレジスタセット記憶手段と、レジスタセット切り替
え信号を参照し、第1のレジスタセット記憶手段か第2
のレジスタセット記憶手段かのいずれか一方を選択し選
択した側のレジスタセットを指定するレジスタセット選
択手段とを含んで構成される。
ジスタセットの内のひとつのレジスタセット番号を記憶
する第1のレジスタセット記憶手段と、所定のレジスタ
セット切り替え命令を入力し一時的にレジスタセットを
切り替えることを指示するレジスタセット切り替え信号
を発生するための命令解析手段と、レジスタセット切り
替え命令で指示されるレジスタセット番号を記憶する第
2のレジスタセット記憶手段と、レジスタセット切り替
え信号を参照し、第1のレジスタセット記憶手段か第2
のレジスタセット記憶手段かのいずれか一方を選択し選
択した側のレジスタセットを指定するレジスタセット選
択手段とを含んで構成される。
第2の発明のマイコンは、第1のレジスタセット記憶手
段と、レジスタセット切り替え信号を発生するための命
令解析手段と、第2のレジスタセット記憶手段と、レジ
スタセット選択手段と、レジスターレジスタ間の処理に
おいて処理方向の制御信号を発生する方向制御信号発生
手段と、レジスタセット切り替え信号と前記方向制御信
号を参照しレジスターレジスタのうちのどちらかのレジ
スタを選択するかを決定する決定手段とを含んで構成さ
れる。
段と、レジスタセット切り替え信号を発生するための命
令解析手段と、第2のレジスタセット記憶手段と、レジ
スタセット選択手段と、レジスターレジスタ間の処理に
おいて処理方向の制御信号を発生する方向制御信号発生
手段と、レジスタセット切り替え信号と前記方向制御信
号を参照しレジスターレジスタのうちのどちらかのレジ
スタを選択するかを決定する決定手段とを含んで構成さ
れる。
次に、本発明の実施例について図面を参照して説明する
。
。
第1図は、本発明の第1の実施例を示すブロック図であ
る。
る。
第1の発明のマイコンは、レジスターレジスタ間の転送
命令、演算命令等のように命令コードが2バイト構成で
、2バイト目に2つのレジスタフィールドがあるような
命令において、例えば、MOV レジスタ0.RBn
:レジスタ3というように、”REn:”で表わされる
ような、通常の命令コードの直前に付加する命令である
“プリフィクス命令”の処理を行なう。この命令は、以
降に説明するように、任意のレジスタバンクのレジスタ
を指定する時に付加される。
命令、演算命令等のように命令コードが2バイト構成で
、2バイト目に2つのレジスタフィールドがあるような
命令において、例えば、MOV レジスタ0.RBn
:レジスタ3というように、”REn:”で表わされる
ような、通常の命令コードの直前に付加する命令である
“プリフィクス命令”の処理を行なう。この命令は、以
降に説明するように、任意のレジスタバンクのレジスタ
を指定する時に付加される。
上記のようなプリフィクス命令を付加したレジスタ間の
転送命令の命令コード構成は、第2図のようになる。任
意のレジスタバンクnを指定するRBn:”が1バイト
目のプリフィクス命令となり、この命令には、アクセス
したいレジスタのレジスタバンク番号nを指定する3ビ
ツトを含んでおり、3バイト目のレジスタフィールド2
を修飾する。
転送命令の命令コード構成は、第2図のようになる。任
意のレジスタバンクnを指定するRBn:”が1バイト
目のプリフィクス命令となり、この命令には、アクセス
したいレジスタのレジスタバンク番号nを指定する3ビ
ツトを含んでおり、3バイト目のレジスタフィールド2
を修飾する。
2バイト目、3バイト目は従来例で説明した第12図の
命令の構成と同様であるので、ここでは説明を省略する
。
命令の構成と同様であるので、ここでは説明を省略する
。
第1図において、マイコン100は、命令先取りキュー
102と、命令デコーダ部103と、レジスタコード保
持部104と、マイクロコード部105と、PSWI
06と、RAMアドレス生成生成部子07内蔵RAM1
08と、演算処理部109と、レジスタバンク番号保持
部114から構成されている。
102と、命令デコーダ部103と、レジスタコード保
持部104と、マイクロコード部105と、PSWI
06と、RAMアドレス生成生成部子07内蔵RAM1
08と、演算処理部109と、レジスタバンク番号保持
部114から構成されている。
メモリ101.命令先取りキュー102.レジスタコー
ド保持部104.マイクロコード部105゜PSW10
6.内蔵RAM108.演算処理部109に関しては、
従来例と同様なので、ここでの説明を省略する。
ド保持部104.マイクロコード部105゜PSW10
6.内蔵RAM108.演算処理部109に関しては、
従来例と同様なので、ここでの説明を省略する。
命令デコーダ部103は、前述した従来例の命令デコー
ダ部303の機能に加えて、プリフィクス命令を判別す
る機能を有するプリフィクス信号発生部113を含んで
いる。プリフィクス信号発生部113は、命令デコーダ
部103が、命令コードの1バイト目がプリフィクス命
令であると判断すると、プリフィクス信号111をハイ
−レベルにする。
ダ部303の機能に加えて、プリフィクス命令を判別す
る機能を有するプリフィクス信号発生部113を含んで
いる。プリフィクス信号発生部113は、命令デコーダ
部103が、命令コードの1バイト目がプリフィクス命
令であると判断すると、プリフィクス信号111をハイ
−レベルにする。
レジスタバンク番号保持部114は、命令デコーダ部1
03内で解析された命令コードがプリフィクス命令であ
った場合に、プリフィクス命令内の3ビツトのレジスタ
バンク番号を保持しておく場所である。
03内で解析された命令コードがプリフィクス命令であ
った場合に、プリフィクス命令内の3ビツトのレジスタ
バンク番号を保持しておく場所である。
RAMアドレス生成生成部子07従来例の機能に加えて
、レジスタバンク選択回路115を有し、レジスタバン
ク選択回路115は、プリフィクス信号111がハイ−
レベルであればレジスタバンク番号保持部114内のレ
ジスタバンク番号を選択し、ロウ−レベルであればPS
WI OB内のレジスタバンク番号を選択する。よって
、RAMアドレス生成生成部子07レジスタバンク番号
を選択し、内部RAM内アドレスを生成する。
、レジスタバンク選択回路115を有し、レジスタバン
ク選択回路115は、プリフィクス信号111がハイ−
レベルであればレジスタバンク番号保持部114内のレ
ジスタバンク番号を選択し、ロウ−レベルであればPS
WI OB内のレジスタバンク番号を選択する。よって
、RAMアドレス生成生成部子07レジスタバンク番号
を選択し、内部RAM内アドレスを生成する。
次に、バンク3がソフトウェアでPSWに設定されてい
る場合の MOv レジスタ0.RB6:レジスタ3の動作を説明
する。命令の形式は、第2図に示されるものである。
る場合の MOv レジスタ0.RB6:レジスタ3の動作を説明
する。命令の形式は、第2図に示されるものである。
■ 命令デコーダ部103が、上記命令コードを入力、
解析し、この命令コードは、プリフィクス命令であると
解析する。
解析し、この命令コードは、プリフィクス命令であると
解析する。
■ すると、プリフィクス信号発生部113は、プリフ
ィクス信号111をハイ−レベルにし、レジスタバンク
番号保持部114は、レジスタバンク番号6を保持する
。
ィクス信号111をハイ−レベルにし、レジスタバンク
番号保持部114は、レジスタバンク番号6を保持する
。
■ 命令デコーダ部103は、命令先取りキュー102
からプリフィクス命令に続く命令コードを入力、解析し
、命令コードの2バイト目をオペレーションコードに、
3バイト目をレジスタコードとしてのオペランドに分解
する。
からプリフィクス命令に続く命令コードを入力、解析し
、命令コードの2バイト目をオペレーションコードに、
3バイト目をレジスタコードとしてのオペランドに分解
する。
■ 次に、レジスタコード保持部104は、オペランド
を保持する。
を保持する。
■ すると、RAMアドレス生成生成部子07レジスタ
フィールド1のアドレスとレジスタフィールド2のアド
レスを生成する。生成方法は、レジスタフィールド1に
対しては、まず、レジスタバンク選択回路115が、プ
リフィクス信号111を参照するが、レジスタフィール
ド1にとって、プリフィクス信号は意味をもたないため
、PSW106内の3ビツトのレジスタバンク番号3が
RAMアドレス生成生成部子07み出される。
フィールド1のアドレスとレジスタフィールド2のアド
レスを生成する。生成方法は、レジスタフィールド1に
対しては、まず、レジスタバンク選択回路115が、プ
リフィクス信号111を参照するが、レジスタフィール
ド1にとって、プリフィクス信号は意味をもたないため
、PSW106内の3ビツトのレジスタバンク番号3が
RAMアドレス生成生成部子07み出される。
同時に、レジスタコード保持部104からレジスタ0の
レジスタコードを読み出し、RAMアドレス生成部10
7内でIEHという5ビツトのレジスタバンク内アドレ
スに変換する。
レジスタコードを読み出し、RAMアドレス生成部10
7内でIEHという5ビツトのレジスタバンク内アドレ
スに変換する。
よって、前者のレジスタバンク番号3を上位3ビツト、
後者のレジスタバンク内アドレスIEHな下位5ビツト
として、8ビツトの内蔵RAM内アドレス7EHを生成
することになる。
後者のレジスタバンク内アドレスIEHな下位5ビツト
として、8ビツトの内蔵RAM内アドレス7EHを生成
することになる。
レジスタフィールド2に対しては、レジスタバンク選択
回路で選ばれたレジスタバンク番号を読み出すため、レ
ジスタバンク選択回路115が、プリフィクス信号11
1を参照する。
回路で選ばれたレジスタバンク番号を読み出すため、レ
ジスタバンク選択回路115が、プリフィクス信号11
1を参照する。
レジスタバンク選択回路115は、プリフィクス信号1
11が、ノ1イーレベルであると判断するとレジスタバ
ンク番号保持部114を選択し、レジスタバンク番号保
持部114内の3ビツトのレジスタバンク番号6をRA
Mアドレス生成部107に読み出す。同時に、レジスタ
コード保持部104からレジスタ3のレジスタコードを
読み出し、RAMアドレス生成部107内で18Hとい
う5ビツトのレジスタバンク内アドレスに変換する。
11が、ノ1イーレベルであると判断するとレジスタバ
ンク番号保持部114を選択し、レジスタバンク番号保
持部114内の3ビツトのレジスタバンク番号6をRA
Mアドレス生成部107に読み出す。同時に、レジスタ
コード保持部104からレジスタ3のレジスタコードを
読み出し、RAMアドレス生成部107内で18Hとい
う5ビツトのレジスタバンク内アドレスに変換する。
そして、前者のレジスタバンク番号6を上位3ビツト、
後者のレジスタバンク内アドレス18Hを下位5ビツト
として、8ビツトの内蔵RAM内アドアドレスHを生成
する。
後者のレジスタバンク内アドレス18Hを下位5ビツト
として、8ビツトの内蔵RAM内アドアドレスHを生成
する。
■ マイクロコード部105は、オペレーションコード
から生成したマイクロプログラムの先頭アドレスからマ
イクロプログラムを実行する。まず第一に、転送元、つ
まりレジスタフィールド2の汎用レジスタのデータを演
算処理部109内のテンポラリレジスタへ格納する旨の
指示を出す。
から生成したマイクロプログラムの先頭アドレスからマ
イクロプログラムを実行する。まず第一に、転送元、つ
まりレジスタフィールド2の汎用レジスタのデータを演
算処理部109内のテンポラリレジスタへ格納する旨の
指示を出す。
■ すると、’RAMアドレス生成部107は、内蔵R
AM内アドアドレスHな指定するので、内MRAMから
レジスタパンクロのレジスタ3のデータが読み出され、
演算処理部109内のテンポラリレジスタに格納される
。
AM内アドアドレスHな指定するので、内MRAMから
レジスタパンクロのレジスタ3のデータが読み出され、
演算処理部109内のテンポラリレジスタに格納される
。
■ 次に、マイクロコード部105は、演算処理部10
9内のテンポラリレジスタへ格納したデータを転送先、
つまりレジスタフィールド1のレジスタlへ格納する旨
の指示を出す。
9内のテンポラリレジスタへ格納したデータを転送先、
つまりレジスタフィールド1のレジスタlへ格納する旨
の指示を出す。
■ すると、演算処理部109のテンポラリレジスタの
データが、RAMアドレス生成部107が指定するレジ
スタバンク3のレジスタ0の内蔵RAMアドレス7EH
に格納される。
データが、RAMアドレス生成部107が指定するレジ
スタバンク3のレジスタ0の内蔵RAMアドレス7EH
に格納される。
このようにして、
MOv レジスタO,RB6:L/ジスタ3の命令の実
行が終了する。
行が終了する。
第3図は本発明の第2の実施例を示すブロック図である
。
。
第2の発明のマイコンは、命令コードにレジスタフィー
ルドを含む命令であれば、レジスターレジスタ間の転送
命令、演算命令以外の命令においても、第1の実施例で
示したようなプリフィクス命令の処理を行なう。
ルドを含む命令であれば、レジスターレジスタ間の転送
命令、演算命令以外の命令においても、第1の実施例で
示したようなプリフィクス命令の処理を行なう。
従って、命令フード構成は、第2図、第4図。
第5図のような、いずれの形式でもかまわない。
つまり、第2の実施例のマイコンは、命令によって、プ
リフィクス命令“RBn:”が命令コードのどの位置の
レジスタフィールドを修飾するのかを制御できる機能を
有する。
リフィクス命令“RBn:”が命令コードのどの位置の
レジスタフィールドを修飾するのかを制御できる機能を
有する。
マイコン200は、命令先取りキ、−102と、命令デ
コーダ部203と、レジスタコード保持部104と、マ
イクロコード部105と、PSW106と、RAMアド
レス生成部207と、内蔵RAM108と演算処理部1
09と、レジスタバンク番号保持部114から構成され
ている。
コーダ部203と、レジスタコード保持部104と、マ
イクロコード部105と、PSW106と、RAMアド
レス生成部207と、内蔵RAM108と演算処理部1
09と、レジスタバンク番号保持部114から構成され
ている。
メモリ101.命令先取りキュー102.レジスタフー
ド保持部104.マイクロコード部105゜PSWI
06.内蔵RAM108.演算処理部109、レジスタ
バンク番号保持部114に関しては、第1の実施例と同
様なので、ここでの説明を省略する。
ド保持部104.マイクロコード部105゜PSWI
06.内蔵RAM108.演算処理部109、レジスタ
バンク番号保持部114に関しては、第1の実施例と同
様なので、ここでの説明を省略する。
命令デコーダ部203は、前述した実施例1の命令デコ
ーダ部103の機能に加えて、プリフィクス命令が有効
となるレジスタフィールドを検出するレジスタフィール
ド検出部216を有している。
ーダ部103の機能に加えて、プリフィクス命令が有効
となるレジスタフィールドを検出するレジスタフィール
ド検出部216を有している。
レジスタフィールド検出部216は、オペレーションコ
ードから、プリフィクス命令が有効となるレジスタフィ
ールドが、レジスタコードの含まれる命令コード中の上
位4ビツトのときはノ1イーレベル、下位4ビツトのと
きはロウ−レベルのレジスタフィールド信号217をR
AMアドレス生成部207に出力する。
ードから、プリフィクス命令が有効となるレジスタフィ
ールドが、レジスタコードの含まれる命令コード中の上
位4ビツトのときはノ1イーレベル、下位4ビツトのと
きはロウ−レベルのレジスタフィールド信号217をR
AMアドレス生成部207に出力する。
RAMアドレス生成部207に含まれるレジスタバンク
選択回路215は、前述した第1の実施例での機能の他
に、レジスタフィールド信号217によって、どのレジ
スタフィールドのアドレスを生成する時にプリフィクス
信号111が意味をもつものになるかを判断する機能を
有する。
選択回路215は、前述した第1の実施例での機能の他
に、レジスタフィールド信号217によって、どのレジ
スタフィールドのアドレスを生成する時にプリフィクス
信号111が意味をもつものになるかを判断する機能を
有する。
次に、バンク3がソフトウェアでPSWに設定されてい
る場合の MOV RB6:レジスタ0.イミディエトデータ の動作を説明する。
る場合の MOV RB6:レジスタ0.イミディエトデータ の動作を説明する。
上記のような、プリフィクス命令を付加したイミディエ
トデータのレジスタへの転送命令の命令コード構成は、
第4図のようになる。
トデータのレジスタへの転送命令の命令コード構成は、
第4図のようになる。
尚、以下の説明では、第1の実施例と同様のところは省
略し、異なるところのみを述べることにする。
略し、異なるところのみを述べることにする。
■
第1の実施例の■〜■と同様。
ただし、1バイト命令の場合は、この1バイトの命令コ
ードをレジスタコード保持部104とマイクロコード部
105とに出力する。
ードをレジスタコード保持部104とマイクロコード部
105とに出力する。
■ レジスタフィールド検出部216は、オペレーショ
ンコードから、レジスタフィールド1に対してプリフィ
クス命令が有効になることを検出すると、RAMアドレ
ス生成部207に対し、レジスタフィールド信号217
をハイ−レベルにする。
ンコードから、レジスタフィールド1に対してプリフィ
クス命令が有効になることを検出すると、RAMアドレ
ス生成部207に対し、レジスタフィールド信号217
をハイ−レベルにする。
■ 次に、レジスタコード保持部104は、オペランド
を保持する。
を保持する。
■ すると、RAMアドレス生成部207は、レジスタ
フィールド1のアドレスを生成する。
フィールド1のアドレスを生成する。
生成方法は、レジスタバンク選択回路215が、まず、
レジスタフィールド信号217とプリフィクス信号11
1を参照する。
レジスタフィールド信号217とプリフィクス信号11
1を参照する。
レジスタ情報信号217は、ハイ−レベルなので、プリ
フィクス信号111が、意味をもつ信号であると判断す
る。そして、レジスタバンク選択回路215は、プリフ
ィクス信号111が、ハイ−レベルなのでレジスタバン
ク番号保持部114を選択し、レジスタバンク番号保持
部114内の3ビツトのレジスタバンク番号6をRAM
アドレス生成部207に書き込む。
フィクス信号111が、意味をもつ信号であると判断す
る。そして、レジスタバンク選択回路215は、プリフ
ィクス信号111が、ハイ−レベルなのでレジスタバン
ク番号保持部114を選択し、レジスタバンク番号保持
部114内の3ビツトのレジスタバンク番号6をRAM
アドレス生成部207に書き込む。
同時に、レジスタコード保持部104からレジスタ0の
レジスタコードを読み出し、RAMアドレス生成部20
7内で、IEHという5ビツトのレジスタバンク内アド
レスに変換する。
レジスタコードを読み出し、RAMアドレス生成部20
7内で、IEHという5ビツトのレジスタバンク内アド
レスに変換する。
そして、前者のレジスタバンク番号6を上位3ビ、ト、
後者のレジスタバンク内アドレスIEHを下位5ビツト
として、8ビツトの内蔵RAM内アドアドレスHを生成
する。
後者のレジスタバンク内アドレスIEHを下位5ビツト
として、8ビツトの内蔵RAM内アドアドレスHを生成
する。
■ マイクロコード部105は、オペレーションコード
から生成したマイク四プログラムの先頭アドレスからマ
イクロプログラムを実行する。まず第一に、転送するデ
ータ、つまりイミディエトデータを命令先取りキュー1
02から読み出し、演算処理部109内のテンポラリレ
ジスタへ格納する旨の指示を出す。
から生成したマイク四プログラムの先頭アドレスからマ
イクロプログラムを実行する。まず第一に、転送するデ
ータ、つまりイミディエトデータを命令先取りキュー1
02から読み出し、演算処理部109内のテンポラリレ
ジスタへ格納する旨の指示を出す。
よって、命令先取りキュー102から読み出されたデー
タが、演算部109内のテンポラリレジスタに書き込ま
れる。
タが、演算部109内のテンポラリレジスタに書き込ま
れる。
■ 次に、マイクロコード部105は、演算処理部10
9内のテンポラリレジスタへ格納したデータを転送先、
つまりレジスタフィールド1の汎用レジスタへ格納する
旨の指示を出す。
9内のテンポラリレジスタへ格納したデータを転送先、
つまりレジスタフィールド1の汎用レジスタへ格納する
旨の指示を出す。
■ すると、演算処理部109のテンポラリレジスタの
データが、RAMアドレス生成部207が指定するレジ
スタパンクロのレジスタ1の内蔵RAM内アドアドレス
Hに格納される。
データが、RAMアドレス生成部207が指定するレジ
スタパンクロのレジスタ1の内蔵RAM内アドアドレス
Hに格納される。
このようにして
MOV RB8:レジスタO,イミディエトデータ
の命令の実行が終了する。
以上説明したように、レジスタフィールドを有するすべ
ての命令に対して、任意のレジスタバンクを指定するプ
リフィクス命令を処理することが可能である。
ての命令に対して、任意のレジスタバンクを指定するプ
リフィクス命令を処理することが可能である。
また、第1の実施例、第2の実施例では、レジスタフィ
ールドが4ビツトであり、命令コードの上位4ビツトあ
るいは下位4ビツトに配置されているが、第1の実施例
に対し、第2実施例でレジスタフィールドの位置の自由
どを簡単に高めたように、第1の発明は、レジスタフィ
ールドのビット数、位置にかかわらず実施可能である。
ールドが4ビツトであり、命令コードの上位4ビツトあ
るいは下位4ビツトに配置されているが、第1の実施例
に対し、第2実施例でレジスタフィールドの位置の自由
どを簡単に高めたように、第1の発明は、レジスタフィ
ールドのビット数、位置にかかわらず実施可能である。
次に、本発明の第3の実施例について説明する。
第6図は本発明の第3の実施例を示すブロック図である
。
。
レジスターレジスタ間の転送命令において、第1の実施
例では、任意のレジスタバンクを指定スるRBn:を転
送元のレジスタのみにつることができたが、本第3の実
施例では、以下に記す2つの命令の様に、RBn:を転
送元のレジスタにも転送先のレジスタにもつけることが
できる。
例では、任意のレジスタバンクを指定スるRBn:を転
送元のレジスタのみにつることができたが、本第3の実
施例では、以下に記す2つの命令の様に、RBn:を転
送元のレジスタにも転送先のレジスタにもつけることが
できる。
MOV レジスタO,RBn:レジスタ3M0V
RBn:レジスタ3.レジスタ0この命令の構成は、第
7図に示すようになっている。
RBn:レジスタ3.レジスタ0この命令の構成は、第
7図に示すようになっている。
次に、この命令を処理するシステムを簡単に説明する。
第1の実施例のマイコンでは、命令上でRBn:と表現
されるプリフィクス命令は、レジスタ2のみを修飾する
ように処理する。そして、処理する転送方向は、レジス
タフィールド2→レジスタフイールド1だけである。
されるプリフィクス命令は、レジスタ2のみを修飾する
ように処理する。そして、処理する転送方向は、レジス
タフィールド2→レジスタフイールド1だけである。
第3の実施例のマイコンでは、プリフィクス命令が、レ
ジスタ2のみを修飾するように処理することは第1の実
施例と同様であるが、処理する転送方向に関しては、第
7図に示される命令の2バイト目のオペコードに転送方
向を指定する1ビツト(以下、方向制御ビットと記す)
が含まれており、第3の実施例のマイコンでは、方向制
御ビットが、 ′0′の場合、レジスタフィールド1←
レジスタフイールド2、 ’1’ の場合、レジスタフ
ィールド2←レジスタフイールド1というように2つの
レジスタフィールドを転送元、転送先、どちらのレジス
タとしての処理も行なう。
ジスタ2のみを修飾するように処理することは第1の実
施例と同様であるが、処理する転送方向に関しては、第
7図に示される命令の2バイト目のオペコードに転送方
向を指定する1ビツト(以下、方向制御ビットと記す)
が含まれており、第3の実施例のマイコンでは、方向制
御ビットが、 ′0′の場合、レジスタフィールド1←
レジスタフイールド2、 ’1’ の場合、レジスタフ
ィールド2←レジスタフイールド1というように2つの
レジスタフィールドを転送元、転送先、どちらのレジス
タとしての処理も行なう。
これは、演算命令の被演算数、演算数の関係についても
同様である。
同様である。
第6図において、マイコン900は、命令先取りキュー
102と、命令デコーダ部903と、レジスタコード保
持部104と、マイクロコード部105と、PSWI
06と、RAMアドレス生成部907と、内蔵RAM1
08と、演算処理部109と、レジスタバンク番号保持
部114から構成されている。
102と、命令デコーダ部903と、レジスタコード保
持部104と、マイクロコード部105と、PSWI
06と、RAMアドレス生成部907と、内蔵RAM1
08と、演算処理部109と、レジスタバンク番号保持
部114から構成されている。
メモリ1p1.命令先取りキュー102.レジスタコー
ド保持部104.マイクロコード部105゜PSWI
08.内蔵RAM108.演算処理部109、レジスタ
バンク番号保持部114に関しては、第1の実施例と同
様なので、ここでの説明を省略する。
ド保持部104.マイクロコード部105゜PSWI
08.内蔵RAM108.演算処理部109、レジスタ
バンク番号保持部114に関しては、第1の実施例と同
様なので、ここでの説明を省略する。
命令デコーダ部903は、第1の実施例の命令デコーダ
部103の機能に加えて、方向制御ビットを判別する機
能を有する方向制御信号発生部918を含んでいる。
部103の機能に加えて、方向制御ビットを判別する機
能を有する方向制御信号発生部918を含んでいる。
方向制御信号発生部918は、命令デコーダ部903が
、命令コードの2バイト目が方向制御ビラトラ含ムオペ
レーションコードであると判断すると、方向制御ビット
が1であれば方向指示信号919をハイ−レベルにし、
方向制御ビットが0であれば方向制御信号919をロウ
−レベルにする。
、命令コードの2バイト目が方向制御ビラトラ含ムオペ
レーションコードであると判断すると、方向制御ビット
が1であれば方向指示信号919をハイ−レベルにし、
方向制御ビットが0であれば方向制御信号919をロウ
−レベルにする。
RAMアドレス生成部907は、レジスタバンク番号と
レジスタコードからRAMアドレスを生成する部分であ
る。また、RAMアドレス生成部907は、レジスタフ
ィールド決定回路920とレジスタバンク選択回路91
5を含んでおり、レジスタフィールド決定回路920は
、マイクロフード部105が出す転送元、転送先の情報
と、方向制御信号発生部918が出す方向制御信号91
9からRAMアドレス生成部907が生成するのは、レ
ジスタフィールド1のレジスタアドレスかレジスタフィ
ールド2のレジスタアドレスかを決定する。決定方法は
、第8図のとおりである。
レジスタコードからRAMアドレスを生成する部分であ
る。また、RAMアドレス生成部907は、レジスタフ
ィールド決定回路920とレジスタバンク選択回路91
5を含んでおり、レジスタフィールド決定回路920は
、マイクロフード部105が出す転送元、転送先の情報
と、方向制御信号発生部918が出す方向制御信号91
9からRAMアドレス生成部907が生成するのは、レ
ジスタフィールド1のレジスタアドレスかレジスタフィ
ールド2のレジスタアドレスかを決定する。決定方法は
、第8図のとおりである。
レジスタバンク選択回路915は、プリフィクス信号1
11とレジスタフィールド決定回路920の状態からレ
ジスタバンク番号保持部114かPSW106のどちら
かのレジスタバンク番号を選択する。選択方法は、第9
図のとおりである。
11とレジスタフィールド決定回路920の状態からレ
ジスタバンク番号保持部114かPSW106のどちら
かのレジスタバンク番号を選択する。選択方法は、第9
図のとおりである。
次に、バンク3がソフトウェアによりPSWに設定され
ている場合の MOv Rb2:レジスタ3.レジスタ0の動作を説明
する。この場合、方向制御ビットはlである。
ている場合の MOv Rb2:レジスタ3.レジスタ0の動作を説明
する。この場合、方向制御ビットはlである。
■ 命令デコーダ部903が、上記命令コードを入力、
解析し、この命令コードはブリフィクス命令であると解
析する。
解析し、この命令コードはブリフィクス命令であると解
析する。
■ すると、プリフィクス信号発生部113は、プリフ
ィクス信号111をハイ−レベルにし、レジスタバンク
番号保持部114は、レジスタバンク番号6を保持する
。
ィクス信号111をハイ−レベルにし、レジスタバンク
番号保持部114は、レジスタバンク番号6を保持する
。
■ 命令デコーダ部903は、命令先取りキュー102
からプリフィクス命令に続く命令コードを入力、解析し
、命令コードの2バイト目をオペレーションコードに、
3バイト目をレジスタコードとしてのオペランドに分解
する。
からプリフィクス命令に続く命令コードを入力、解析し
、命令コードの2バイト目をオペレーションコードに、
3バイト目をレジスタコードとしてのオペランドに分解
する。
■ さらに、2バイト目は方向制御ビットを含むオペレ
ーションコードであると解析されると、方向制御信号発
生部916は、2バイト目の方向制御ビットが1である
ため、方向制御信号917ハイーレベルにする。
ーションコードであると解析されると、方向制御信号発
生部916は、2バイト目の方向制御ビットが1である
ため、方向制御信号917ハイーレベルにする。
■ レジスタコード保持部104は、3バイト目のオペ
ランドを保持する。
ランドを保持する。
■ マイクロコード部105は、オペレーションコード
から生成したマイクロプログラムの先頭ア下レスからマ
イクロプログラムを実行する。まず第一に、内蔵RAM
108内の転送元のレジスタアドレスからデータを読み
出し、演算処理部109内のテンポラリレジスタに格納
する旨の指示を示す。
から生成したマイクロプログラムの先頭ア下レスからマ
イクロプログラムを実行する。まず第一に、内蔵RAM
108内の転送元のレジスタアドレスからデータを読み
出し、演算処理部109内のテンポラリレジスタに格納
する旨の指示を示す。
■ すると、レジスタフィールド決定回路920は、方
向制御信号919が1で、マイクロコード部105から
の情報が転送元であることから、第8図のようにレジス
タフィールド1であると決定する。
向制御信号919が1で、マイクロコード部105から
の情報が転送元であることから、第8図のようにレジス
タフィールド1であると決定する。
レジスタバンク選択回路915は、プリフィクス信号i
llがハイ−レベルでレジスタフィールド決定回路92
0の決定がレジスタコ−ドエなので、第9図からPSW 106内の3ビツトのレジスタバンク番号3を選択する
。
llがハイ−レベルでレジスタフィールド決定回路92
0の決定がレジスタコ−ドエなので、第9図からPSW 106内の3ビツトのレジスタバンク番号3を選択する
。
同時に、RAMアドレス生成部907は、レジスタコー
ド保持部104のレジスタOのレジスタコードを選ぶと
、5ビツトのレジスタバンク内アドレスIEHに変換す
る。
ド保持部104のレジスタOのレジスタコードを選ぶと
、5ビツトのレジスタバンク内アドレスIEHに変換す
る。
よって、前者のレジスタバンク番号3を上位3ビツト、
後者のレジスタバンク内アドレスを下位5ビツトとして
、8ビツトの内蔵RAM内アドレス7EHを生成するこ
とになる。
後者のレジスタバンク内アドレスを下位5ビツトとして
、8ビツトの内蔵RAM内アドレス7EHを生成するこ
とになる。
■ RAMアドレス生成部907が、内蔵RAM内アド
レスを指定することにより、内蔵RAM108からレジ
スタバンク3のレジスタ1のデータが読み出され、演算
処理部109内のテンポラリレジスタに格納される。
レスを指定することにより、内蔵RAM108からレジ
スタバンク3のレジスタ1のデータが読み出され、演算
処理部109内のテンポラリレジスタに格納される。
■ 次に、マイクロコード部105は、演算処理部10
9内のテンポラリレジスタへ格納したデータを内蔵RA
M108内の転送先のレジスタアドレスへ格納する旨の
指示を出す。
9内のテンポラリレジスタへ格納したデータを内蔵RA
M108内の転送先のレジスタアドレスへ格納する旨の
指示を出す。
■ すると、レジスタフィールド決定回路920は、方
向制御信号919が1で、マイクロコード部105から
の情報が転送先であることから、第8図のようにレジス
タフィールド2であると決定する。
向制御信号919が1で、マイクロコード部105から
の情報が転送先であることから、第8図のようにレジス
タフィールド2であると決定する。
レジスタバンク選択回路915は、プリフィクス信号1
11がハイ−レベルでレジスタフィールド決定回路92
0の決定がレジスタフィールド2なので、第9図からレ
ジスタバンク番号保持部114内の3ビツトのレジスタ
バンク番号6を選択する。
11がハイ−レベルでレジスタフィールド決定回路92
0の決定がレジスタフィールド2なので、第9図からレ
ジスタバンク番号保持部114内の3ビツトのレジスタ
バンク番号6を選択する。
同時に、’RAMアドレス生成部907は、レジスタコ
ード保持部104のレジスタ3のレジスタコードを選ぶ
と、5ビツトのレジスタバンク内アドレス18Hに変換
スる。
ード保持部104のレジスタ3のレジスタコードを選ぶ
と、5ビツトのレジスタバンク内アドレス18Hに変換
スる。
よって、前者のレジスタバンク番号3を上位3ビツト、
後者のレジスタバンク内アドレスを下位5ビツトとして
、8ビツトの内蔵RAM内アドレスD8Hを生成するこ
とになる。
後者のレジスタバンク内アドレスを下位5ビツトとして
、8ビツトの内蔵RAM内アドレスD8Hを生成するこ
とになる。
■ すると、■で格納された、演算処理部109内のテ
ンポラリレジスタのデータが、RAMアドレス生成部9
07が指定するレジスタパンクロのレジスタ3の内蔵R
AM内アドレスに格納される。
ンポラリレジスタのデータが、RAMアドレス生成部9
07が指定するレジスタパンクロのレジスタ3の内蔵R
AM内アドレスに格納される。
このようにして、
MOV RB6:レジスタ3.L/レジスタの命令の
実行が終了する。
実行が終了する。
方向制御ビットがOの場合も、上述のように処理が行な
われ、 MOV レジスタO%RB6:レジスタ3の命令が実
行さhる。
われ、 MOV レジスタO%RB6:レジスタ3の命令が実
行さhる。
また、第3の実施例でも、第1の実施例、第2の実施例
と同様に、レジスタフィールドが4ビツトであり、命令
コードの上位4ビツトあるいは下位4ビツトに配置され
ているが、第2の発明は、レジスタフィールドのビット
数、位置にかかわらず実施可能である。
と同様に、レジスタフィールドが4ビツトであり、命令
コードの上位4ビツトあるいは下位4ビツトに配置され
ているが、第2の発明は、レジスタフィールドのビット
数、位置にかかわらず実施可能である。
上述したように、本発明のマイコンは、全レジスタバン
クの汎用レジスタを切り換えることなしにレジスタとし
て使用することができるので次のような効果を得ること
ができる。
クの汎用レジスタを切り換えることなしにレジスタとし
て使用することができるので次のような効果を得ること
ができる。
(1) 使用可能なレジスタ数が、lレジスタバンク
分に限られないので、高速記憶手段である汎用レジスタ
を多用して、ソフトウェアの動作をより高速化すること
が可能である。
分に限られないので、高速記憶手段である汎用レジスタ
を多用して、ソフトウェアの動作をより高速化すること
が可能である。
(2)1つのレジスタバンクにあるレジスタ数以上のレ
ジスタを使用したい場合、使いたいレジスタの中身を一
度メモリへ退避する必要がないので、ソフトウェアの動
作速度が遅くなることはない。
ジスタを使用したい場合、使いたいレジスタの中身を一
度メモリへ退避する必要がないので、ソフトウェアの動
作速度が遅くなることはない。
(3) レジスターレジスタ間の処理の場合、プリフ
ィクス命令は、常にレジスタフィールド2を修飾するが
、方向制御ビットを付加することにより、転送命令の場
合は、レジスタフィールド2を転送元にも転送先にもす
ることができ、また、演算命令の場合には、被演算数に
も演算数にもすることができる。
ィクス命令は、常にレジスタフィールド2を修飾するが
、方向制御ビットを付加することにより、転送命令の場
合は、レジスタフィールド2を転送元にも転送先にもす
ることができ、また、演算命令の場合には、被演算数に
も演算数にもすることができる。
第1図は本発明の第1の実施例のブロック図、第2図は
命令コード構成図、第3図は本発明の第2の実施例を示
すブロック図、第4図および第5図は命令コード構成図
、第6図は本発明の第3の実施例を示すブロック図、第
7図は命令コード構成図、第8図はレジスタ決定条件を
示す図、第9図はレジスタバンク選択条件を示す図、第
10図は従来の一例を示すブロック図、第11図は内蔵
RAM領域マツプ、第12図は命令コード構成図である
。 100.200,300,900・・・・・・マイコン
、101・・・・・・メモリ、102・・印・命令先取
りキュー103.203,303,903・・・・・・
命令デコーダ部、104・・・・・・レジスタフード保
持部、105・・・・・・マイクロコード部、106・
・・・・・PSW、107゜207.307,907・
・・・・・RAMアドレス生成部、108・・・・・・
内蔵RAM、109・・・・・・演算処理部、111・
・・・・・プリフィクス信号、113・・・・・・プリ
フィクス信号発生部、114・・・・・・レジスタバン
ク番号保持部、115,215,915・・印・レジス
タバンク選択回路、216・・・・・・レジスタフィー
ルド検出部、217・・・・・・レジスタフィールド信
号、918・・・・・・方向制御信号発生部、919・
・・・・・方向制御信号、920・・・・・・レジスタ
フィールド決定回路。 代理本 弁理士 内 原 晋 殆 7 図 竿i 図 察 グ 閉 蒙t2図
命令コード構成図、第3図は本発明の第2の実施例を示
すブロック図、第4図および第5図は命令コード構成図
、第6図は本発明の第3の実施例を示すブロック図、第
7図は命令コード構成図、第8図はレジスタ決定条件を
示す図、第9図はレジスタバンク選択条件を示す図、第
10図は従来の一例を示すブロック図、第11図は内蔵
RAM領域マツプ、第12図は命令コード構成図である
。 100.200,300,900・・・・・・マイコン
、101・・・・・・メモリ、102・・印・命令先取
りキュー103.203,303,903・・・・・・
命令デコーダ部、104・・・・・・レジスタフード保
持部、105・・・・・・マイクロコード部、106・
・・・・・PSW、107゜207.307,907・
・・・・・RAMアドレス生成部、108・・・・・・
内蔵RAM、109・・・・・・演算処理部、111・
・・・・・プリフィクス信号、113・・・・・・プリ
フィクス信号発生部、114・・・・・・レジスタバン
ク番号保持部、115,215,915・・印・レジス
タバンク選択回路、216・・・・・・レジスタフィー
ルド検出部、217・・・・・・レジスタフィールド信
号、918・・・・・・方向制御信号発生部、919・
・・・・・方向制御信号、920・・・・・・レジスタ
フィールド決定回路。 代理本 弁理士 内 原 晋 殆 7 図 竿i 図 察 グ 閉 蒙t2図
Claims (2)
- (1)複数のレジスタセットを内蔵RAMに設定するマ
イクロコンピュータにおいて、ソフトウェアで設定可能
な前記レジスタセットの内のひとつのレジスタセット番
号を記憶する第1のレジスタセット記憶手段と、所定の
レジスタセット切り替え命令を入力し一時的にレジスタ
セットを切り替えることを指示するレジスタセット切り
替え信号を発生するための命令解析手段と、前記レジス
タセット切り替え命令で指示されるレジスタセット番号
を記憶する第2のレジスタセット記憶手段と、前記レジ
スタセット切り替え信号を参照し前記第1のレジスタセ
ット記憶手段か前記第2のレジスタセット記憶手段かの
いずれか一方を選択し選択した側のレジスタセットを指
定するレジスタセット選択手段とを含むことを特徴とす
るマイクロコンピュータ。 - (2)レジスターレジスタ間の処理において処理方向の
制御信号を発生する方向制御信号発生手段と、前記レジ
スタセット切り替え信号と前記方向制御信号を参照し前
記レジスターレジスタのうちのどちらのレジスタを選択
するかを決定する決定手段とを含む請求項(1)記載の
マイクロコンピュータ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1-157663 | 1989-06-19 | ||
JP15766389 | 1989-06-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH03141434A true JPH03141434A (ja) | 1991-06-17 |
JP2551167B2 JP2551167B2 (ja) | 1996-11-06 |
Family
ID=15654661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1258126A Expired - Lifetime JP2551167B2 (ja) | 1989-06-19 | 1989-10-02 | マイクロコンピュータ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2551167B2 (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08202582A (ja) * | 1995-01-30 | 1996-08-09 | Sanyo Electric Co Ltd | マイクロプロセッサのデータ転送装置 |
JPH1011352A (ja) * | 1996-06-19 | 1998-01-16 | Hitachi Ltd | データ処理装置およびそのレジスタアドレス変換方法 |
JP2001202243A (ja) * | 1999-04-30 | 2001-07-27 | Hitachi Ltd | データ処理装置 |
JP2001256046A (ja) * | 2000-03-10 | 2001-09-21 | Yaskawa Electric Corp | 命令実行装置 |
WO2004036416A1 (ja) * | 2002-10-18 | 2004-04-29 | Tops Systems Corporation | マルチバンクレジスタを有するプロセッサおよびプロセッサの制御方法 |
JP2005353105A (ja) * | 1999-04-30 | 2005-12-22 | Renesas Technology Corp | データ処理装置及びマイクロコンピュータ |
JP2006313561A (ja) * | 1999-04-30 | 2006-11-16 | Renesas Technology Corp | データ処理装置 |
JP2007052811A (ja) * | 2006-10-23 | 2007-03-01 | Tops Systems:Kk | マルチバンクレジスタを有するプロセッサおよびプロセッサの制御方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008220068A (ja) | 2007-03-06 | 2008-09-18 | Matsushita Electric Ind Co Ltd | モータ |
-
1989
- 1989-10-02 JP JP1258126A patent/JP2551167B2/ja not_active Expired - Lifetime
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08202582A (ja) * | 1995-01-30 | 1996-08-09 | Sanyo Electric Co Ltd | マイクロプロセッサのデータ転送装置 |
JPH1011352A (ja) * | 1996-06-19 | 1998-01-16 | Hitachi Ltd | データ処理装置およびそのレジスタアドレス変換方法 |
JP2001202243A (ja) * | 1999-04-30 | 2001-07-27 | Hitachi Ltd | データ処理装置 |
JP2005353105A (ja) * | 1999-04-30 | 2005-12-22 | Renesas Technology Corp | データ処理装置及びマイクロコンピュータ |
JP2006313561A (ja) * | 1999-04-30 | 2006-11-16 | Renesas Technology Corp | データ処理装置 |
JP2001256046A (ja) * | 2000-03-10 | 2001-09-21 | Yaskawa Electric Corp | 命令実行装置 |
WO2004036416A1 (ja) * | 2002-10-18 | 2004-04-29 | Tops Systems Corporation | マルチバンクレジスタを有するプロセッサおよびプロセッサの制御方法 |
JPWO2004036416A1 (ja) * | 2002-10-18 | 2006-02-16 | 株式会社トプスシステムズ | マルチバンクレジスタを有するプロセッサおよびプロセッサの制御方法 |
JP2007052811A (ja) * | 2006-10-23 | 2007-03-01 | Tops Systems:Kk | マルチバンクレジスタを有するプロセッサおよびプロセッサの制御方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2551167B2 (ja) | 1996-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6564179B1 (en) | DSP emulating a microcontroller | |
US5867726A (en) | Microcomputer | |
KR100266337B1 (ko) | 정보처리회로,반도체집적회로장치,마이크로컴퓨터,및전자기기 | |
JPH04172533A (ja) | 電子計算機 | |
JPS59501684A (ja) | 目的命令ストリ−ムへ殆んど実時間で插入するためのソ−スおよび目的命令ストリ−ムの外部における加速式命令写像 | |
KR20010043826A (ko) | 마이크로 컨트롤러 명령어 집합 | |
EP0465248A2 (en) | A microcontroller having a pseudo-linear bank switching memory expansion scheme | |
JP3694531B2 (ja) | Riscアーキテクチャを有する8ビットマイクロコントローラ | |
US6687808B2 (en) | Data processor using indirect register addressing | |
JP2970821B2 (ja) | データ処理装置 | |
JPH03141434A (ja) | マイクロコンピュータ | |
JPH1049369A (ja) | データ処理装置 | |
KR19990036893A (ko) | 다중 어드레싱 모드를 실행하는 프로세서 구조 및 그 설계방법 | |
JP2002215387A (ja) | 命令トランスレータを備えたデータ処理装置およびメモリインタフェース装置 | |
KR100277805B1 (ko) | 데이타처리장치 | |
JPH034936B2 (ja) | ||
JPS62140137A (ja) | Aluを用いたデータ保持方法 | |
GB2366426A (en) | Multi-processor system with registers having a common address map | |
JP3570287B2 (ja) | マイクロコンピュータ | |
JPH04104350A (ja) | マイクロプロセッサ | |
JPH0895850A (ja) | マイクロプロセッサ | |
JPH04268928A (ja) | エミュレーション装置及び半導体装置 | |
JPH0667896A (ja) | シングルチップマイクロコンピュータ | |
JP2004005738A (ja) | データ処理装置及び命令セット拡張方法 | |
JPH0259829A (ja) | マイクロコンピュータ |