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
Application number
JP1258126A
Other languages
English (en)
Other versions
JP2551167B2 (ja
Inventor
Yukari Kikawa
木川 ゆかり
Katsumi Miura
勝己 三浦
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of JPH03141434A publication Critical patent/JPH03141434A/ja
Application granted granted Critical
Publication of JP2551167B2 publication Critical patent/JP2551167B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマイクロコンピュータ、特に、内蔵RAMに複
数のレジスタセットを有するマイクロコンピュータに関
する。
〔従来の技術〕
マイクロコンピュータ(以下、マイコンと記′す)は、
高速記憶手段として複数個のレジスタ、つまりレジスタ
セットを有している。
また、内蔵するRAM内にレジスタセットを複数設定し
たマイコンもある。
一般に、こうした複数のレジスタセットは、ソフトウェ
アで適宜切り換えて、ある1つのレジスタセットを選択
し、使用するが、レジスタ間の転送や演算を行なう命令
で指定可能なレジスタは、同一のレジスタセット内のも
のに限られる。
尚、こうした内蔵RAMに設定された個々のレジスタセ
ットは、レジスタバンクと呼ばれることがある。
以上レジスタと表現してきたものは、ユーザがプログラ
ムで使用するレジスタで、以降の説明で用いるマイコン
内部の作業用レジスタとは区別するために、汎用レジス
タと呼び、後者のマイコン内部の作業用レジスタをテン
ポラリレジスタと呼ぶことにする。
以下に、従来のマイコンが実行する、内蔵RAMに設定
(マツピング)した汎用レジスタのアクセス命令の処理
方式について図面を参照しながら述べる。
第10図は、マイコンを含む、説明に必要なユニットの
みで構成された情報処理装置のブロック図である。
メモリ101には、実行すべきプログラムの命令コード
が格納されている。マイコン300は、命令先取りキュ
ー102と、命令デコーダ部303と、レジスタコード
保持部104と、マイクロコード部105と、プログラ
ム・ステータス・ワード(以下、PSWと記す)106
と、RAMアドレス生成部307と、内蔵RAM108
と、演算処理部109から構成されている。
命令先取りキュー102は、メモリ101から逐次読み
出した命令コードを格納する。
命令デコーダ部303は、命令先取りキュ102に取り
込んだ命令コードを解析する。解析の中には、基本操作
の種類を表わすオペレーションコードと、操作対象を表
わすオペランドとへの分解が含まれる。
レジスタコード保持部104は、命令デコーダ部303
で解析されたオペランドがレジスタコードである場合に
、これを保持しておく場所である。
マイクロコード部105は、命令デコーダ部303で解
析されたオペレーションコードからマイクロプログラム
の7ドレスを生成し、そのアドレスからマイクロプログ
ラムを実行するごとにより、1クロツク毎の動作を各部
に指示する。
演算処理部109は、算術論理演算機能を持っている。
また、図示されていないが、演算処理部109には、命
令実行過程で必要となるテンポラリレジスタも含まれて
いる。
内蔵RAM108は、ここでは、例えば256バイトの
メモリだとする。本例の内蔵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にマツピングされている。
汎用レジスタには、各レジスタバンク毎にレジスタ1に
は(各レジスタバンクの先頭アドレス)+IEH,レジ
スタ2には(各レジスタバンクの先頭アドレス)+IC
U、  レジスタ3には(各レジスタバンクの先頭アド
レス)+IAH,レジスタ4には(各レジスタバンクの
先頭アドレス)+18Hというようにアドレスが割り当
てられている。
PSW106は、マイコン300内の動作状態を示す各
種フラグの他に、3ビツトのレジスタバンク番号を持っ
ており、その番号によってレジスタバンクが決定される
。尚、このレジスタバンク番号は、ソフトウェアによっ
て適宜与えられる。
RAMアドレス生成部307は、内蔵RAM108内の
汎用レジスタをアクセスするときに必要となる内蔵RA
M内アドレスを生成する場所である。RAMアドレス生
成部307は、レジスタコード保持部104に保持され
たレジスタコードとPSW106内のレジスタバンク番
号を入力し、それぞれの汎用レジスタがマツピングされ
た内蔵RAMアドレスを生成する。生成方法については
、後述する。
次に、汎用レジスタ間における転送命令を例にとって、
命令の構成を説明する。
汎用レジスタ間の転送命令の構成を、第12図に示す。
レジスタフィールド1.レジスタフィールド2には、各
々4ビツトのレジスタコードが入っている。
第12図は、プログラム上で例えば、 MOV  レジスタ0.レジスタ3 と表わされ、PSW106で指定されたレジスタバンク
内のレジスタ4の内容(値)をレジスタ1に転送する命
令コードの構成を示している。ここでは、レジスタフィ
ールド1にはレジスタ1のレジスタコード、レジスタフ
ィールド2にはレジスタ4のレジスタコードが入ってい
る。
以下に、レジスタバンク番号3がソフトウェアでPSW
に設定されている場合の MOV  レジスタ0.レジスタ3 の動作を説明する。
■ 命令デコーダ部303は、上記命令コードを入力、
解析し、命令コードの1バイト目をオペレーションコー
ドに、2バイト目をレジスタコードとしてのオペランド
に分解する。
■ 次に、レジスタコード保持部104は、オペランド
を保持する。
■ すると、RAMアドレス生成部307は、レジスタ
フィールド1のアドレスとレジスタフィールド2のアド
レスを生成する。
生成方法は、レジスタフィールド1に対しては、まず、
PSW106内の3ビツトのレジスタバンク番号3を読
み出す。
同様に、レジスタコード保持部104からレジスタ0の
レジスタコードを読み出し、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を
生成することになる。
■ マイクロコード部105は、オペレーションコード
から生成したマイクロプログラムの先頭アドレスからマ
イクロプログラムを実行する。まず第一に、転送元、つ
まりレジスタフィールド2の汎用レジスタのデータを演
算処理部109内のテンポラリレジスタへ格納する旨の
指示を出す。
■ すると、RAMアドレス生成部307は、内蔵RA
Mアドレス78Hを指定するので、内蔵RAM108か
らレジスタ3のデータが読み出され、演算処理部109
内のテンポラリレジスタに格納される。
■ 次に、マイクロコード部105は、演算処理部10
9内のテンポラリレジスタへ格納したデータを転送先、
つまりレジスタフィールド1へ格納する旨の指示を出す
■ すると、演算処理部109のテンポラリレジスタの
データが、RAMアドレス生成部307が指定するレジ
スタ0の内蔵RAM内アドレス7EHに格納される。
このようにして、 MOV  レジスタ0.レジスタ3 の命令実行が終了する。
尚、ここでは、内蔵RAM領域をメモリ空間のFF0O
HからFFFFHまでとしたが、他の領域であっても、
あるいは、この領域が可変となるような機能を有するマ
イコンにおいても、汎用レジスタへのアクセスにおいて
は同じように処理を行なう。
〔発明が解決しようとする課題〕
上述した従来例では、レジスタバンクを複数個有してい
ても、複数の汎用レジスタを指定する命令において、指
定する汎用レジスタは、同一のレジスタバンク内に限ら
れる。
よって、次のような欠点を有する。
(1)  使用可能なレジスタ数が、ルジスタバンク分
に限られるので、高速記憶手段である汎用レジスタを多
用して、ソフトウェアの動作を高速化する際の限界とな
ってしまう。
(2)1つのレジスタバンクにあるレジスタ数以上のレ
ジスタを使用したい場合、使いたいレジスタの中身を一
度メモリへ退避してからそのレジスタを使わなければな
らないため、ソフトウェアの動作速度が遅くなる。
尚、複数のレジスタバンクを有するマイコンでは、レジ
スタバンクを切り換えて、別のレジスタバンクを使用す
るための命令や、割込み発生に呼応してレジスタバンク
を切り換える機能を有しているが、いずれの場合も切り
替えることなしに使用可能な汎用レジスタ数はルジスタ
バンク分のみであるので、上記欠点を有することになる
本発明の目的は、全レジスタバンクの汎用レジスタを切
り換えることなしにレジスタとして使用することができ
るマイコンを提供することにある。
〔課題を解決するための手段〕
第1の発明のマイコンは、ソフトウェアで設定可能なレ
ジスタセットの内のひとつのレジスタセット番号を記憶
する第1のレジスタセット記憶手段と、所定のレジスタ
セット切り替え命令を入力し一時的にレジスタセットを
切り替えることを指示するレジスタセット切り替え信号
を発生するための命令解析手段と、レジスタセット切り
替え命令で指示されるレジスタセット番号を記憶する第
2のレジスタセット記憶手段と、レジスタセット切り替
え信号を参照し、第1のレジスタセット記憶手段か第2
のレジスタセット記憶手段かのいずれか一方を選択し選
択した側のレジスタセットを指定するレジスタセット選
択手段とを含んで構成される。
第2の発明のマイコンは、第1のレジスタセット記憶手
段と、レジスタセット切り替え信号を発生するための命
令解析手段と、第2のレジスタセット記憶手段と、レジ
スタセット選択手段と、レジスターレジスタ間の処理に
おいて処理方向の制御信号を発生する方向制御信号発生
手段と、レジスタセット切り替え信号と前記方向制御信
号を参照しレジスターレジスタのうちのどちらかのレジ
スタを選択するかを決定する決定手段とを含んで構成さ
れる。
〔実施例〕
次に、本発明の実施例について図面を参照して説明する
第1図は、本発明の第1の実施例を示すブロック図であ
る。
第1の発明のマイコンは、レジスターレジスタ間の転送
命令、演算命令等のように命令コードが2バイト構成で
、2バイト目に2つのレジスタフィールドがあるような
命令において、例えば、MOV  レジスタ0.RBn
:レジスタ3というように、”REn:”で表わされる
ような、通常の命令コードの直前に付加する命令である
“プリフィクス命令”の処理を行なう。この命令は、以
降に説明するように、任意のレジスタバンクのレジスタ
を指定する時に付加される。
上記のようなプリフィクス命令を付加したレジスタ間の
転送命令の命令コード構成は、第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から構成されている。
メモリ101.命令先取りキュー102.レジスタコー
ド保持部104.マイクロコード部105゜PSW10
6.内蔵RAM108.演算処理部109に関しては、
従来例と同様なので、ここでの説明を省略する。
命令デコーダ部103は、前述した従来例の命令デコー
ダ部303の機能に加えて、プリフィクス命令を判別す
る機能を有するプリフィクス信号発生部113を含んで
いる。プリフィクス信号発生部113は、命令デコーダ
部103が、命令コードの1バイト目がプリフィクス命
令であると判断すると、プリフィクス信号111をハイ
−レベルにする。
レジスタバンク番号保持部114は、命令デコーダ部1
03内で解析された命令コードがプリフィクス命令であ
った場合に、プリフィクス命令内の3ビツトのレジスタ
バンク番号を保持しておく場所である。
RAMアドレス生成生成部子07従来例の機能に加えて
、レジスタバンク選択回路115を有し、レジスタバン
ク選択回路115は、プリフィクス信号111がハイ−
レベルであればレジスタバンク番号保持部114内のレ
ジスタバンク番号を選択し、ロウ−レベルであればPS
WI OB内のレジスタバンク番号を選択する。よって
、RAMアドレス生成生成部子07レジスタバンク番号
を選択し、内部RAM内アドレスを生成する。
次に、バンク3がソフトウェアでPSWに設定されてい
る場合の MOv レジスタ0.RB6:レジスタ3の動作を説明
する。命令の形式は、第2図に示されるものである。
■ 命令デコーダ部103が、上記命令コードを入力、
解析し、この命令コードは、プリフィクス命令であると
解析する。
■ すると、プリフィクス信号発生部113は、プリフ
ィクス信号111をハイ−レベルにし、レジスタバンク
番号保持部114は、レジスタバンク番号6を保持する
■ 命令デコーダ部103は、命令先取りキュー102
からプリフィクス命令に続く命令コードを入力、解析し
、命令コードの2バイト目をオペレーションコードに、
3バイト目をレジスタコードとしてのオペランドに分解
する。
■ 次に、レジスタコード保持部104は、オペランド
を保持する。
■ すると、RAMアドレス生成生成部子07レジスタ
フィールド1のアドレスとレジスタフィールド2のアド
レスを生成する。生成方法は、レジスタフィールド1に
対しては、まず、レジスタバンク選択回路115が、プ
リフィクス信号111を参照するが、レジスタフィール
ド1にとって、プリフィクス信号は意味をもたないため
、PSW106内の3ビツトのレジスタバンク番号3が
RAMアドレス生成生成部子07み出される。
同時に、レジスタコード保持部104からレジスタ0の
レジスタコードを読み出し、RAMアドレス生成部10
7内でIEHという5ビツトのレジスタバンク内アドレ
スに変換する。
よって、前者のレジスタバンク番号3を上位3ビツト、
後者のレジスタバンク内アドレスIEHな下位5ビツト
として、8ビツトの内蔵RAM内アドレス7EHを生成
することになる。
レジスタフィールド2に対しては、レジスタバンク選択
回路で選ばれたレジスタバンク番号を読み出すため、レ
ジスタバンク選択回路115が、プリフィクス信号11
1を参照する。
レジスタバンク選択回路115は、プリフィクス信号1
11が、ノ1イーレベルであると判断するとレジスタバ
ンク番号保持部114を選択し、レジスタバンク番号保
持部114内の3ビツトのレジスタバンク番号6をRA
Mアドレス生成部107に読み出す。同時に、レジスタ
コード保持部104からレジスタ3のレジスタコードを
読み出し、RAMアドレス生成部107内で18Hとい
う5ビツトのレジスタバンク内アドレスに変換する。
そして、前者のレジスタバンク番号6を上位3ビツト、
後者のレジスタバンク内アドレス18Hを下位5ビツト
として、8ビツトの内蔵RAM内アドアドレスHを生成
する。
■ マイクロコード部105は、オペレーションコード
から生成したマイクロプログラムの先頭アドレスからマ
イクロプログラムを実行する。まず第一に、転送元、つ
まりレジスタフィールド2の汎用レジスタのデータを演
算処理部109内のテンポラリレジスタへ格納する旨の
指示を出す。
■ すると、’RAMアドレス生成部107は、内蔵R
AM内アドアドレスHな指定するので、内MRAMから
レジスタパンクロのレジスタ3のデータが読み出され、
演算処理部109内のテンポラリレジスタに格納される
■ 次に、マイクロコード部105は、演算処理部10
9内のテンポラリレジスタへ格納したデータを転送先、
つまりレジスタフィールド1のレジスタlへ格納する旨
の指示を出す。
■ すると、演算処理部109のテンポラリレジスタの
データが、RAMアドレス生成部107が指定するレジ
スタバンク3のレジスタ0の内蔵RAMアドレス7EH
に格納される。
このようにして、 MOv レジスタO,RB6:L/ジスタ3の命令の実
行が終了する。
第3図は本発明の第2の実施例を示すブロック図である
第2の発明のマイコンは、命令コードにレジスタフィー
ルドを含む命令であれば、レジスターレジスタ間の転送
命令、演算命令以外の命令においても、第1の実施例で
示したようなプリフィクス命令の処理を行なう。
従って、命令フード構成は、第2図、第4図。
第5図のような、いずれの形式でもかまわない。
つまり、第2の実施例のマイコンは、命令によって、プ
リフィクス命令“RBn:”が命令コードのどの位置の
レジスタフィールドを修飾するのかを制御できる機能を
有する。
マイコン200は、命令先取りキ、−102と、命令デ
コーダ部203と、レジスタコード保持部104と、マ
イクロコード部105と、PSW106と、RAMアド
レス生成部207と、内蔵RAM108と演算処理部1
09と、レジスタバンク番号保持部114から構成され
ている。
メモリ101.命令先取りキュー102.レジスタフー
ド保持部104.マイクロコード部105゜PSWI 
06.内蔵RAM108.演算処理部109、レジスタ
バンク番号保持部114に関しては、第1の実施例と同
様なので、ここでの説明を省略する。
命令デコーダ部203は、前述した実施例1の命令デコ
ーダ部103の機能に加えて、プリフィクス命令が有効
となるレジスタフィールドを検出するレジスタフィール
ド検出部216を有している。
レジスタフィールド検出部216は、オペレーションコ
ードから、プリフィクス命令が有効となるレジスタフィ
ールドが、レジスタコードの含まれる命令コード中の上
位4ビツトのときはノ1イーレベル、下位4ビツトのと
きはロウ−レベルのレジスタフィールド信号217をR
AMアドレス生成部207に出力する。
RAMアドレス生成部207に含まれるレジスタバンク
選択回路215は、前述した第1の実施例での機能の他
に、レジスタフィールド信号217によって、どのレジ
スタフィールドのアドレスを生成する時にプリフィクス
信号111が意味をもつものになるかを判断する機能を
有する。
次に、バンク3がソフトウェアでPSWに設定されてい
る場合の MOV  RB6:レジスタ0.イミディエトデータ の動作を説明する。
上記のような、プリフィクス命令を付加したイミディエ
トデータのレジスタへの転送命令の命令コード構成は、
第4図のようになる。
尚、以下の説明では、第1の実施例と同様のところは省
略し、異なるところのみを述べることにする。
■ 第1の実施例の■〜■と同様。
ただし、1バイト命令の場合は、この1バイトの命令コ
ードをレジスタコード保持部104とマイクロコード部
105とに出力する。
■ レジスタフィールド検出部216は、オペレーショ
ンコードから、レジスタフィールド1に対してプリフィ
クス命令が有効になることを検出すると、RAMアドレ
ス生成部207に対し、レジスタフィールド信号217
をハイ−レベルにする。
■ 次に、レジスタコード保持部104は、オペランド
を保持する。
■ すると、RAMアドレス生成部207は、レジスタ
フィールド1のアドレスを生成する。
生成方法は、レジスタバンク選択回路215が、まず、
レジスタフィールド信号217とプリフィクス信号11
1を参照する。
レジスタ情報信号217は、ハイ−レベルなので、プリ
フィクス信号111が、意味をもつ信号であると判断す
る。そして、レジスタバンク選択回路215は、プリフ
ィクス信号111が、ハイ−レベルなのでレジスタバン
ク番号保持部114を選択し、レジスタバンク番号保持
部114内の3ビツトのレジスタバンク番号6をRAM
アドレス生成部207に書き込む。
同時に、レジスタコード保持部104からレジスタ0の
レジスタコードを読み出し、RAMアドレス生成部20
7内で、IEHという5ビツトのレジスタバンク内アド
レスに変換する。
そして、前者のレジスタバンク番号6を上位3ビ、ト、
後者のレジスタバンク内アドレスIEHを下位5ビツト
として、8ビツトの内蔵RAM内アドアドレスHを生成
する。
■ マイクロコード部105は、オペレーションコード
から生成したマイク四プログラムの先頭アドレスからマ
イクロプログラムを実行する。まず第一に、転送するデ
ータ、つまりイミディエトデータを命令先取りキュー1
02から読み出し、演算処理部109内のテンポラリレ
ジスタへ格納する旨の指示を出す。
よって、命令先取りキュー102から読み出されたデー
タが、演算部109内のテンポラリレジスタに書き込ま
れる。
■ 次に、マイクロコード部105は、演算処理部10
9内のテンポラリレジスタへ格納したデータを転送先、
つまりレジスタフィールド1の汎用レジスタへ格納する
旨の指示を出す。
■ すると、演算処理部109のテンポラリレジスタの
データが、RAMアドレス生成部207が指定するレジ
スタパンクロのレジスタ1の内蔵RAM内アドアドレス
Hに格納される。
このようにして MOV  RB8:レジスタO,イミディエトデータ の命令の実行が終了する。
以上説明したように、レジスタフィールドを有するすべ
ての命令に対して、任意のレジスタバンクを指定するプ
リフィクス命令を処理することが可能である。
また、第1の実施例、第2の実施例では、レジスタフィ
ールドが4ビツトであり、命令コードの上位4ビツトあ
るいは下位4ビツトに配置されているが、第1の実施例
に対し、第2実施例でレジスタフィールドの位置の自由
どを簡単に高めたように、第1の発明は、レジスタフィ
ールドのビット数、位置にかかわらず実施可能である。
次に、本発明の第3の実施例について説明する。
第6図は本発明の第3の実施例を示すブロック図である
レジスターレジスタ間の転送命令において、第1の実施
例では、任意のレジスタバンクを指定スるRBn:を転
送元のレジスタのみにつることができたが、本第3の実
施例では、以下に記す2つの命令の様に、RBn:を転
送元のレジスタにも転送先のレジスタにもつけることが
できる。
MOV  レジスタO,RBn:レジスタ3M0V  
RBn:レジスタ3.レジスタ0この命令の構成は、第
7図に示すようになっている。
次に、この命令を処理するシステムを簡単に説明する。
第1の実施例のマイコンでは、命令上でRBn:と表現
されるプリフィクス命令は、レジスタ2のみを修飾する
ように処理する。そして、処理する転送方向は、レジス
タフィールド2→レジスタフイールド1だけである。
第3の実施例のマイコンでは、プリフィクス命令が、レ
ジスタ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から構成されている。
メモリ1p1.命令先取りキュー102.レジスタコー
ド保持部104.マイクロコード部105゜PSWI 
08.内蔵RAM108.演算処理部109、レジスタ
バンク番号保持部114に関しては、第1の実施例と同
様なので、ここでの説明を省略する。
命令デコーダ部903は、第1の実施例の命令デコーダ
部103の機能に加えて、方向制御ビットを判別する機
能を有する方向制御信号発生部918を含んでいる。
方向制御信号発生部918は、命令デコーダ部903が
、命令コードの2バイト目が方向制御ビラトラ含ムオペ
レーションコードであると判断すると、方向制御ビット
が1であれば方向指示信号919をハイ−レベルにし、
方向制御ビットが0であれば方向制御信号919をロウ
−レベルにする。
RAMアドレス生成部907は、レジスタバンク番号と
レジスタコードからRAMアドレスを生成する部分であ
る。また、RAMアドレス生成部907は、レジスタフ
ィールド決定回路920とレジスタバンク選択回路91
5を含んでおり、レジスタフィールド決定回路920は
、マイクロフード部105が出す転送元、転送先の情報
と、方向制御信号発生部918が出す方向制御信号91
9からRAMアドレス生成部907が生成するのは、レ
ジスタフィールド1のレジスタアドレスかレジスタフィ
ールド2のレジスタアドレスかを決定する。決定方法は
、第8図のとおりである。
レジスタバンク選択回路915は、プリフィクス信号1
11とレジスタフィールド決定回路920の状態からレ
ジスタバンク番号保持部114かPSW106のどちら
かのレジスタバンク番号を選択する。選択方法は、第9
図のとおりである。
次に、バンク3がソフトウェアによりPSWに設定され
ている場合の MOv Rb2:レジスタ3.レジスタ0の動作を説明
する。この場合、方向制御ビットはlである。
■ 命令デコーダ部903が、上記命令コードを入力、
解析し、この命令コードはブリフィクス命令であると解
析する。
■ すると、プリフィクス信号発生部113は、プリフ
ィクス信号111をハイ−レベルにし、レジスタバンク
番号保持部114は、レジスタバンク番号6を保持する
■ 命令デコーダ部903は、命令先取りキュー102
からプリフィクス命令に続く命令コードを入力、解析し
、命令コードの2バイト目をオペレーションコードに、
3バイト目をレジスタコードとしてのオペランドに分解
する。
■ さらに、2バイト目は方向制御ビットを含むオペレ
ーションコードであると解析されると、方向制御信号発
生部916は、2バイト目の方向制御ビットが1である
ため、方向制御信号917ハイーレベルにする。
■ レジスタコード保持部104は、3バイト目のオペ
ランドを保持する。
■ マイクロコード部105は、オペレーションコード
から生成したマイクロプログラムの先頭ア下レスからマ
イクロプログラムを実行する。まず第一に、内蔵RAM
108内の転送元のレジスタアドレスからデータを読み
出し、演算処理部109内のテンポラリレジスタに格納
する旨の指示を示す。
■ すると、レジスタフィールド決定回路920は、方
向制御信号919が1で、マイクロコード部105から
の情報が転送元であることから、第8図のようにレジス
タフィールド1であると決定する。
レジスタバンク選択回路915は、プリフィクス信号i
llがハイ−レベルでレジスタフィールド決定回路92
0の決定がレジスタコ−ドエなので、第9図からPSW 106内の3ビツトのレジスタバンク番号3を選択する
同時に、RAMアドレス生成部907は、レジスタコー
ド保持部104のレジスタOのレジスタコードを選ぶと
、5ビツトのレジスタバンク内アドレスIEHに変換す
る。
よって、前者のレジスタバンク番号3を上位3ビツト、
後者のレジスタバンク内アドレスを下位5ビツトとして
、8ビツトの内蔵RAM内アドレス7EHを生成するこ
とになる。
■ RAMアドレス生成部907が、内蔵RAM内アド
レスを指定することにより、内蔵RAM108からレジ
スタバンク3のレジスタ1のデータが読み出され、演算
処理部109内のテンポラリレジスタに格納される。
■ 次に、マイクロコード部105は、演算処理部10
9内のテンポラリレジスタへ格納したデータを内蔵RA
M108内の転送先のレジスタアドレスへ格納する旨の
指示を出す。
■ すると、レジスタフィールド決定回路920は、方
向制御信号919が1で、マイクロコード部105から
の情報が転送先であることから、第8図のようにレジス
タフィールド2であると決定する。
レジスタバンク選択回路915は、プリフィクス信号1
11がハイ−レベルでレジスタフィールド決定回路92
0の決定がレジスタフィールド2なので、第9図からレ
ジスタバンク番号保持部114内の3ビツトのレジスタ
バンク番号6を選択する。
同時に、’RAMアドレス生成部907は、レジスタコ
ード保持部104のレジスタ3のレジスタコードを選ぶ
と、5ビツトのレジスタバンク内アドレス18Hに変換
スる。
よって、前者のレジスタバンク番号3を上位3ビツト、
後者のレジスタバンク内アドレスを下位5ビツトとして
、8ビツトの内蔵RAM内アドレスD8Hを生成するこ
とになる。
■ すると、■で格納された、演算処理部109内のテ
ンポラリレジスタのデータが、RAMアドレス生成部9
07が指定するレジスタパンクロのレジスタ3の内蔵R
AM内アドレスに格納される。
このようにして、 MOV  RB6:レジスタ3.L/レジスタの命令の
実行が終了する。
方向制御ビットがOの場合も、上述のように処理が行な
われ、 MOV  レジスタO%RB6:レジスタ3の命令が実
行さhる。
また、第3の実施例でも、第1の実施例、第2の実施例
と同様に、レジスタフィールドが4ビツトであり、命令
コードの上位4ビツトあるいは下位4ビツトに配置され
ているが、第2の発明は、レジスタフィールドのビット
数、位置にかかわらず実施可能である。
〔発明の効果〕
上述したように、本発明のマイコンは、全レジスタバン
クの汎用レジスタを切り換えることなしにレジスタとし
て使用することができるので次のような効果を得ること
ができる。
(1)  使用可能なレジスタ数が、lレジスタバンク
分に限られないので、高速記憶手段である汎用レジスタ
を多用して、ソフトウェアの動作をより高速化すること
が可能である。
(2)1つのレジスタバンクにあるレジスタ数以上のレ
ジスタを使用したい場合、使いたいレジスタの中身を一
度メモリへ退避する必要がないので、ソフトウェアの動
作速度が遅くなることはない。
(3)  レジスターレジスタ間の処理の場合、プリフ
ィクス命令は、常にレジスタフィールド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図

Claims (2)

    【特許請求の範囲】
  1. (1)複数のレジスタセットを内蔵RAMに設定するマ
    イクロコンピュータにおいて、ソフトウェアで設定可能
    な前記レジスタセットの内のひとつのレジスタセット番
    号を記憶する第1のレジスタセット記憶手段と、所定の
    レジスタセット切り替え命令を入力し一時的にレジスタ
    セットを切り替えることを指示するレジスタセット切り
    替え信号を発生するための命令解析手段と、前記レジス
    タセット切り替え命令で指示されるレジスタセット番号
    を記憶する第2のレジスタセット記憶手段と、前記レジ
    スタセット切り替え信号を参照し前記第1のレジスタセ
    ット記憶手段か前記第2のレジスタセット記憶手段かの
    いずれか一方を選択し選択した側のレジスタセットを指
    定するレジスタセット選択手段とを含むことを特徴とす
    るマイクロコンピュータ。
  2. (2)レジスターレジスタ間の処理において処理方向の
    制御信号を発生する方向制御信号発生手段と、前記レジ
    スタセット切り替え信号と前記方向制御信号を参照し前
    記レジスターレジスタのうちのどちらのレジスタを選択
    するかを決定する決定手段とを含む請求項(1)記載の
    マイクロコンピュータ。
JP1258126A 1989-06-19 1989-10-02 マイクロコンピュータ Expired - Lifetime JP2551167B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008220068A (ja) 2007-03-06 2008-09-18 Matsushita Electric Ind Co Ltd モータ

Cited By (9)

* Cited by examiner, † Cited by third party
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) マイクロコンピュータ