(57)【要約】      （修正有）【課題】メモリアドレスマップ上の任意の領域のアドレスに対して、命令の中にアドレスデータの一部を記述するだけでアドレスの指定が行えるマイクロコンピュータを提供する。【解決手段】レジスタを指定するアドレスも含むメモリアドレスマップの特定領域に対しては命令の中にアドレスデータの一部を記述するだけでアドレスの指定が行えるアドレッシングモードを有するマイクロコンピュータ１において、上記特定領域外にアドレスがある制御レジスタ４１のアドレスデータを、上記特定領域内にアドレスがあるアドレスレジスタＣ５に予め書き込んでおき、その後、上記アドレスデータの一部を記述するアドレッシングモードを使用した命令で、アドレスレジスタＣ５を選択するよう選択回路６へ選択信号を送り、アドレスデコーダ７へアドレスレジスタＣ５に格納されている制御レジスタ４１のアドレスデータを送出する。【選択図】  図１
2005004643.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも複数の制御レジスタとＣＰＵを有し、前記制御レジスタのアドレスが、第１および第２の領域を有するメモリアドレスマップ上に割り当てられ、前記第１の領域のアドレスが、前記ＣＰＵに与えられる命令の中に前記アドレス情報の一部を記述することにより指定できるアドレッシングモードを有するマイクロコンピュータであって、
前記第１の領域にアドレスが割り当てられ、前記第２の領域にアドレスを有する前記制御レジスタのアドレスデータをデータとして格納するアドレスレジスタと、
前記アドレスレジスタに格納された前記アドレスデータ、もしくは前記ＣＰＵから出力されるアドレスデータのいずれかを選択する選択手段と、
前記選択手段から出力されるアドレスデータをデコードして、前記複数の制御レジスタの中から指定された制御レジスタのアドレス信号を出力するアドレスデコーダを具備し、
前記アドレッシングモードにより前記第１の領域のアドレス情報の一部を記述した命令が前記ＣＰＵに与えられることによって、前記ＣＰＵが前記命令に記述された前記第１の領域のアドレス情報の一部が前記アドレスレジスタのアドレス情報の一部に一致すると判定した場合は、前記選択手段が前記アドレスレジスタに格納された前記アドレスデータを前記アドレスデコーダへ出力し、前記アドレスデコーダが前記第２の領域にアドレスを有する前記制御レジスタを指定するアドレス信号を出力することを特徴とするマイクロコンピュータ。
【請求項２】
少なくとも複数の制御レジスタとＣＰＵを有し、前記制御レジスタのアドレスが、第１および第２の領域を有するメモリアドレスマップ上に割り当てられ、前記第１の領域のアドレスが、前記ＣＰＵに与えられる命令の中に前記アドレス情報の一部を記述することにより指定できるアドレッシングモードを有するマイクロコンピュータであって、
前記ＣＰＵが、前記第１の領域にアドレスが割り当てられ、前記第２の領域にアドレスを有する前記制御レジスタのアドレスデータをデータとして格納するアドレスレジスタと、前記アドレスレジスタに格納された前記アドレスデータ、もしくは前記命令に記述されたアドレスデータのいずれかを選択する選択手段とを有し、
前記ＣＰＵの前記選択手段から出力されるアドレスデータをデコードして、前記複数の制御レジスタの中から指定された制御レジスタのアドレス信号を出力するアドレスデコーダを具備し、
前記アドレッシングモードにより前記第１の領域のアドレス情報の一部を記述した命令が前記ＣＰＵに与えられることにより、前記ＣＰＵが前記命令に記述された前記第１の領域のアドレス情報の一部が前記アドレスレジスタのアドレス情報の一部に一致すると判定した場合は、前記ＣＰＵの前記選択手段が前記アドレスレジスタに格納された前記アドレスデータを前記アドレスデコーダへ出力し、前記アドレスデコーダが前記第２の領域にアドレスを有する前記制御レジスタを指定するアドレス信号を出力することを特徴とするマイクロコンピュータ。
【請求項３】
少なくとも複数の制御レジスタとＣＰＵを有し、前記制御レジスタのアドレスが、第１および第２の領域を有するメモリアドレスマップ上に割り当てられ、前記第１の領域のアドレスが、前記ＣＰＵに与えられる命令の中に前記アドレス情報の一部を記述することにより指定できるアドレッシングモードを有するマイクロコンピュータであって、
前記第１の領域にアドレスが割り当てられ、前記第２の領域にアドレスを有する前記制御レジスタのアドレス情報の第１の部分をデータとして格納するアドレスレジスタと、
前記アドレスレジスタに格納された前記データと、前記ＣＰＵから出力されるアドレスデータを連結する連結手段と、
前記連結手段から出力されるデータをアドレスデータとしてデコードし、前記複数の制御レジスタの中から指定された制御レジスタのアドレス信号を出力するアドレスデコーダとを具備し、
命令の中に前記第２の領域にアドレスを有する前記制御レジスタのアドレス情報の第２の部分を記述して前記アドレスレジスタに格納された前記アドレス情報の第１の部分と連結することを指示する命令が前記ＣＰＵに与えられたとき、前記ＣＰＵが前記命令に記述された前記アドレス情報の第２の部分をアドレスデータとして出力し、前記連結手段が前記アドレスレジスタに格納された前記アドレス情報の第１の部分と前記ＣＰＵから出力された前記アドレス情報の第２の部分を連結させて前記第２の領域にアドレスを有する前記制御レジスタのアドレスデータを生成して前記アドレスデコーダへ出力し、前記アドレスデコーダが前記第２の領域にアドレスを有する前記制御レジスタを指定するアドレス信号を出力することを特徴とするマイクロコンピュータ。
【請求項４】
前記メモリアドレスマップの前記第２の領域のアドレスで指定される対象に、前記複数の制御レジスタの中のいずれかが含まれることを特徴とする請求項１乃至３のいずれか１項に記載のマイクロコンピュータ。
【請求項５】
前記複数の制御レジスタのそれぞれが、前記ＣＰＵ周辺の機能ブロックを制御する制御用レジスタであることを特徴とする請求項１乃至３のいずれか１項に記載のマイクロコンピュータ。
【請求項６】
前記アドレス情報の一部が、アドレスデータの下位桁部分であることを特徴とする請求項１または２に記載のマイクロコンピュータ。
【請求項７】
前記アドレス情報の第１の部分が、アドレスデータの上位桁部分であり、前記アドレス情報の第２の部分が、アドレスデータの下位桁部分であることを特徴とする請求項３に記載のマイクロコンピュータ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メモリアドレスマップによりレジスタのアドレスを指定するマイクロコンピュータに関する。
【０００２】
【従来の技術】
メモリマップドＩ／Ｏ方式のマイクロコンピュータにおいては、レジスタもＲＯＭやＲＡＭとともに一つのメモリアドレスマップ上で、そのアドレスが指定される。また、このアドレスを命令の中で指定するときのアドレッシングモードがいくつか用意されている。その中で、ＣＩＳＣ型マイクロコンピュータでは、メモリアドレスマップ上の一定領域に限って、アドレスデータの一部を記述するだけでアドレス指定が可能なアドレッシングモードを有するものが多い。
【０００３】
例えば、１６ビットのアドレスデータで００００ＨからＦＦＦＦＨ（Ｈは１６進数を表す記号）までのアドレスを表すメモリアドレスマップ上で、００００Ｈから００ＦＦＨまでの領域に限っては、命令の中に００ＨからＦＦＨまでの下位８ビットのアドレス情報を記述するだけで００００Ｈから００ＦＦＨまでの領域のアドレスを指定することができる。（例えば、非特許文献１参照。）。
【０００４】
このようなアドレッシングモードを使用することにより、この領域のアドレス情報を含む命令の記述の長さ、すなわち命令長を短縮することができる。
【０００５】
【非特許文献１】
「８ビットマイクロコントローラＴＬＣＳ−８７０シリーズ（Ｉ）」、株式会社東芝、２０００年１月、Ｐ．４・１０
【０００６】
【発明が解決しようとする課題】
しかしながら、このようなアドレッシングモードが使用できるアドレス領域は全体のアドレス領域に対しては僅かである。例えば、上記１６ビットのアドレスデータでアドレスを指定するメモリアドレスマップの場合、全体で６５５３６番地分のアドレス領域があるが、このうち８ビットのアドレス情報で指定できる領域は２５６番地分だけである。したがって、この２５６番地分を除く大部分の領域のアドレスを指定するときは、１６ビットのアドレスデータを命令の中に記述する必要があり、命令長を短縮することができない。
【０００７】
また、命令長が長いことによって、マイクロコンピュータの動作速度が遅くなる。
【０００８】
そこで、本発明の目的は、メモリアドレスマップ上の任意の領域のアドレスであっても、命令の中にアドレスデータの一部を記述するだけでアドレスの指定が行えるアドレッシングモードの利用が可能なマイクロコンピュータを提供することにある。
【０００９】
【課題を解決するための手段】
本発明の一態様によれば、少なくとも複数の制御レジスタとＣＰＵを有し、前記制御レジスタのアドレスが、第１および第２の領域を有するメモリアドレスマップ上に割り当てられ、前記第１の領域のアドレスが、前記ＣＰＵに与えられる命令の中に前記アドレス情報の一部を記述することにより指定できるアドレッシングモードを有するマイクロコンピュータであって、前記第１の領域にアドレスが割り当てられ、前記第２の領域にアドレスを有する前記制御レジスタのアドレスデータをデータとして格納するアドレスレジスタと、前記アドレスレジスタに格納された前記アドレスデータ、もしくは前記ＣＰＵから出力されるアドレスデータのいずれかを選択する選択手段と、前記選択手段から出力されるアドレスデータをデコードして、前記複数の制御レジスタの中から指定された制御レジスタのアドレス信号を出力するアドレスデコーダを具備し、前記アドレッシングモードにより前記第１の領域のアドレス情報の一部を記述した命令が前記ＣＰＵに与えられることによって、前記ＣＰＵが前記命令に記述された前記第１の領域のアドレス情報の一部が前記アドレスレジスタのアドレス情報の一部に一致すると判定した場合は、前記選択手段が前記アドレスレジスタに格納された前記アドレスデータを前記アドレスデコーダへ出力し、前記アドレスデコーダが前記第２の領域にアドレスを有する前記制御レジスタを指定するアドレス信号を出力することを特徴とするマイクロコンピュータが提供される。
【００１０】
また、本発明の別の一態様によれば、少なくとも複数の制御レジスタとＣＰＵを有し、前記制御レジスタのアドレスが、第１および第２の領域を有するメモリアドレスマップ上に割り当てられ、前記第１の領域のアドレスが、前記ＣＰＵに与えられる命令の中に前記アドレス情報の一部を記述することにより指定できるアドレッシングモードを有するマイクロコンピュータであって、前記ＣＰＵが、前記第１の領域にアドレスが割り当てられ、前記第２の領域にアドレスを有する前記制御レジスタのアドレスデータをデータとして格納するアドレスレジスタと、前記アドレスレジスタに格納された前記アドレスデータ、もしくは前記命令に記述されたアドレスデータのいずれかを選択する選択手段とを有し、前記ＣＰＵの前記選択手段から出力されるアドレスデータをデコードして、前記複数の制御レジスタの中から指定された制御レジスタのアドレス信号を出力するアドレスデコーダを具備し、前記アドレッシングモードにより前記第１の領域のアドレス情報の一部を記述した命令が前記ＣＰＵに与えられることにより、前記ＣＰＵが前記命令に記述された前記第１の領域のアドレス情報の一部が前記アドレスレジスタのアドレス情報の一部に一致すると判定した場合は、前記ＣＰＵの前記選択手段が前記アドレスレジスタに格納された前記アドレスデータを前記アドレスデコーダへ出力し、前記アドレスデコーダが前記第２の領域にアドレスを有する前記制御レジスタを指定するアドレス信号を出力することを特徴とするマイクロコンピュータが提供される。
【００１１】
また、本発明のさらに別の一態様によれば、少なくとも複数の制御レジスタとＣＰＵを有し、前記制御レジスタのアドレスが、第１および第２の領域を有するメモリアドレスマップ上に割り当てられ、前記第１の領域のアドレスが、前記ＣＰＵに与えられる命令の中に前記アドレス情報の一部を記述することにより指定できるアドレッシングモードを有するマイクロコンピュータであって、前記第１の領域にアドレスが割り当てられ、前記第２の領域にアドレスを有する前記制御レジスタのアドレス情報の第１の部分をデータとして格納するアドレスレジスタと、前記アドレスレジスタに格納された前記データと、前記ＣＰＵから出力されるアドレスデータを連結する連結手段と、前記連結手段から出力されるデータをアドレスデータとしてデコードし、前記複数の制御レジスタの中から指定された制御レジスタのアドレス信号を出力するアドレスデコーダとを具備し、命令の中に前記第２の領域にアドレスを有する前記制御レジスタのアドレス情報の第２の部分を記述して前記アドレスレジスタに格納された前記アドレス情報の第１の部分と連結することを指示する命令が前記ＣＰＵに与えられたとき、前記ＣＰＵが前記命令に記述された前記アドレス情報の第２の部分をアドレスデータとして出力し、前記連結手段が前記アドレスレジスタに格納された前記アドレス情報の第１の部分と前記ＣＰＵから出力された前記アドレス情報の第２の部分を連結させて前記第２の領域にアドレスを有する前記制御レジスタのアドレスデータを生成して前記アドレスデコーダへ出力し、前記アドレスデコーダが前記第２の領域にアドレスを有する前記制御レジスタを指定するアドレス信号を出力することを特徴とするマイクロコンピュータが提供される。
【００１２】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施の形態を説明する。
【００１３】
（第１の実施の形態）
図１は、本発明の第１の実施の形態に係るマイクロコンピュータの構成を示すブロック図である。
【００１４】
本実施の形態のマイクロコンピュータ１は、命令を格納している命令ＲＯＭ２と、命令ＲＯＭ２から読み出された命令に従って動作するＣＰＵ３と、ＣＰＵの周辺機能ブロック（図示せず）を制御するための制御レジスタ４１、４２とを有している。ここで、ＣＰＵ３には、命令ＲＯＭ２から読み出された命令を格納する命令レジスタ３１と、命令レジスタ３１に格納された命令を解釈する命令デコーダ３２と、命令デコーダ３２から出力される制御信号により命令の内容を実行する実行部３３が含まれている。このＣＰＵ３から出力されるライト信号（ＷＲ）により、データバス上のデータが各レジスタに書き込まれ、リード信号（ＲＤ）により、各レジスタのデータがデータバス上に読み出される。
【００１５】
また、マイクロコンピュータ１は、制御レジスタ４１等の制御レジスタのアドレスデータがライト信号（ＷＲ）によりデータバスから書き込まれるアドレスレジスタＣ５と、アドレスレジスタＣ５に書き込まれたアドレスデータもしくはＣＰＵ３から出力されるアドレスデータのいずれかをＣＰＵ３から出力される選択信号により選択する選択回路６と、選択回路６から出力されたアドレスデータをデコードして命令が動作対象としているレジスタを指定するためのアドレス信号を出力するアドレスデコーダ７を備えている。このアドレスレジスタＣ５と選択回路６の働きにより、命令の中にアドレスデータの一部を記述するだけで、制御レジスタ４１等を指定するアドレス信号を生成することができる。このアドレスレジスタＣ５と選択回路６の動作については、後で詳しく述べる。
【００１６】
図２は、本実施の形態のマイクロコンピュータ１のメモリアドレスマップの例を示す図である。
【００１７】
ここで、マイクロコンピュータ１では１６ビットのアドレスデータでメモリやレジスタのアドレスが指定されるものとする。このアドレスデータを１６進表記で表すと、アドレスは００００Ｈ番地からＦＦＦＦＨ番地までとなる。
【００１８】
そして、図１のアドレスレジスタＣ５は００００Ｈ番地に、制御レジスタ４１と制御レジスタ４２は１０１０Ｈ番地と００１１Ｈ番地に、それぞれのアドレスが割り当てられているものとする。
【００１９】
また、図２のメモリアドレスマップ上のアドレス領域で、１６進表記で上位２桁が００となる領域を特定領域とし、命令の中でこの領域のアドレスを指定するときは、下位２桁のアドレスデータ００Ｈ〜ＦＦＨを記述するだけで該当のアドレスの指定が可能なアドレッシングモードがあるものとする。そして、このアドレッシングモードを使用して、例えば、下位２桁のアドレスデータがｎｎＨのレジスタにデータｄを格納するときの命令は、
ＬＤ  （ｎｎＨ），ｄ
と記述するものとする。
【００２０】
図１の例では、アドレスレジスタＣ５と制御レジスタ４２は、この特定領域にアドレスがあるので、そのまま、上述のアドレッシングモードを用いた命令の記述が可能である。
【００２１】
一方、図１の制御レジスタ４１は、アドレスが上記の特定領域外であるため、従来、命令の中では、  ＬＤ  （１０１０Ｈ），ｄ  というように、アドレスデータを全桁記述する必要があった。しかし、本実施の形態においては、アドレスレジスタＣ５と選択回路６を用いることにより、アドレスがメモリアドレスマップ上の特定領域外の制御レジスタ４１であっても、上述のアドレッシングモードを用いた命令でアドレスの指定が行える。
【００２２】
図３を用いて、このときのアドレスレジスタＣ５と選択回路６の動作を説明する。なお、ここでは、制御レジスタ４１へデータ５５Ｈを書き込む場合を例にとる。
【００２３】
（１）アドレスレジスタＣ５への制御レジスタ４１のアドレスの書き込み
ここでは、制御レジスタ４１のアドレスデータである１０１０Ｈを、ある連続する２つのアドレスに８ビットずつ分けて書き込むというＬＤＷ命令を使って書き込むことにより、アドレスレジスタＣ５へのアドレスデータの書き込みが行われるものとする。
【００２４】
例えば、連続する２つのアドレスを８０００Ｈ、８００１Ｈとして、命令  ＬＤＷ  （８０００Ｈ），１０１０Ｈ  を実行することにより、アドレスレジスタＣ５へ制御レジスタ４１のアドレスデータ１０１０Ｈが書き込まれるものとする。
【００２５】
（２）アドレスレジスタＣ５の選択と制御レジスタ４１へのデータの書き込み
命令  ＬＤ  （００Ｈ），５５Ｈを実行する。
【００２６】
ここで、命令  ＬＤ  （ｎｎＨ），ｄ  は、アドレスデータｎｎＨが００Ｈのときは、アドレスレジスタＣ５を選択して、アドレスレジスタＣ５に書き込まれているアドレスのレジスタにデータｄを書き込み、アドレスデータｎｎＨが００Ｈでないときは、そのｎｎＨがメモリアドレスマップ上の特定領域内のアドレスとなるレジスタにデータｄを書き込むという命令になる。
【００２７】
すなわち、命令  ＬＤ  （ｎｎＨ），ｄ  が与えられると、ＣＰＵ３の実行部３３は選択回路６へ、アドレスデータを選択するための選択信号とアドレスデータｎｎＨを出力する。また、実行部３３はデータバスへデータｄを出力し、ライト信号（ＷＲ）を発生させる。
【００２８】
したがって、命令  ＬＤ  （００Ｈ），５５Ｈを実行すると、選択回路６はアドレスレジスタＣ５を選択して、そこに書き込まれている１０１０Ｈをアドレスデータとしてアドレスデコーダ７へ送出する。これにより、アドレスデコーダ７から制御レジスタ４１へアドレス信号が送られ、制御レジスタ４１にデータバスからデータ５５Ｈが書き込まれる。
【００２９】
なお、モリアドレスマップ上の特定領域内の００１１Ｈ番地にアドレスのある制御レジスタ４２にデータ５５Ｈを書き込む場合には、次のように命令を与える。
【００３０】
（３）制御レジスタ４２へのデータの書き込み
命令  ＬＤ  （１１Ｈ），５５Ｈを実行する。
【００３１】
この場合、選択回路６は、ＣＰＵ３の実行部３３から出力されたアドレスデータ１１Ｈを選択してアドレスデコーダ７へ送出する。これにより、アドレスデコーダ７から制御レジスタ４２へアドレス信号が送られ、制御レジスタ４２にデータバスからデータ５５Ｈが書き込まれる。
【００３２】
このように、本実施の形態のマイクロコンピュータ１によれば、メモリアドレスマップ上の特定領域外にアドレスのあるレジスタであっても、命令の中のアドレス記述データにはアドレスデータの下位桁データを用いるアドレッシングモードが利用できる。これにより、命令の命令長を短縮することができ、命令ＲＯＭ２に格納する命令のデータ量を少なくすることができる。
【００３３】
（第２の実施の形態）
図４は、本発明の第２の実施の形態に係るマイクロコンピュータの構成を示すブロック図である。
【００３４】
本実施の形態のマイクロコンピュータ１１が第１の実施の形態のマイクロコンピュータ１と異なるところは、ＣＰＵ１３の中にアドレスレジスタＣ１３５と選択回路１３６を設けたところであり、また、アドレスレジスタＣ１３５へのアドレス信号と選択回路１３６への選択信号を出力するデコーダ１３４がＣＰＵ１３の中に設けられていることである。
【００３５】
このうち、アドレスレジスタＣ１３５と選択回路１３６は、第１の実施の形態のマイクロコンピュータ１におけるアドレスレジスタＣ５と選択回路６と同じ動作をする回路である。
【００３６】
また、デコーダ１３４は、命令実行部１３３から出力された内部アドレスデータがアドレスレジスタＣ５のアドレスであるとき、アドレスレジスタＣ１３５を書き込み対象のレジスタとして指定するアドレス信号および選択回路１３６がアドレスレジスタＣ１３５を選択する選択信号を出力するものである。なお、命令実行部１３３は、命令レジスタ１３１に格納された命令が命令デコーダ１３２で解釈されて出力される制御信号により動作が制御される。
【００３７】
その他、マイクロコンピュータ１１は、命令ＲＯＭ２と、制御レジスタ４１、４２とアドレスデコーダ７を有するが、これらは、第１の実施の形態のマイクロコンピュータ１におけるものと同一のものである。また、マイクロコンピュータ１１のメモリアドレスマップも図２に示す第１の実施の形態のマイクロコンピュータ１と同一のものであるとする。
【００３８】
本実施の形態のマイクロコンピュータ１１においても、制御レジスタ４１、４２へのデータの書き込みには、命令  ＬＤ  （ｎｎＨ），ｄ  を用いる。
【００３９】
また、アドレスレジスタＣ１３５へのアドレスデータの書き込みには命令  ＬＤＷ  （ｎｎｎｎＨ），ｄｄ  を用いる。
【００４０】
したがって、本実施の形態においても、制御レジスタ４１、４２へのデータの書き込みは、第１の実施の形態と同じ手順で行える。
【００４１】
すなわち、例えば、制御レジスタ４１へデータ５５Ｈを書き込む場合は、次のような手順となる。
【００４２】
（１）命令  ＬＤＷ  （８０００Ｈ），１０１０Ｈ  を実行して、アドレスレジスタＣ１３５へ制御レジスタ４１のアドレスデータ１０１０Ｈを書き込む。
【００４３】
（２）命令  ＬＤ  （００Ｈ），５５Ｈを実行して、アドレスレジスタＣ１３５を選択する選択信号を選択回路１３６へ送出し、アドレスレジスタＣ１３５に書き込まれたアドレスデータ１０１０Ｈを選択回路１３６の出力としてアドレスデコーダ７へ送出する。また、実行部１３３は、データバスへデータ５５Ｈを出力し、ライト信号（ＷＲ）を発生させる。
【００４４】
これにより、アドレスデコーダ７から制御レジスタ４１へアドレス信号が送られ、制御レジスタ４１にデータバスからデータ５５Ｈが書き込まれる。
【００４５】
一方、制御レジスタ４２へデータ５５Ｈを書き込む場合には、命令  ＬＤ  （１１Ｈ），５５Ｈを実行する。
【００４６】
この場合、デコーダ１３４は、実行部１３３から出力された内部アドレスデータ１１Ｈを選択するよう選択回路１３６へ選択信号を送り、選択回路１３６はアドレスデコーダ７へアドレスデータ１１Ｈを送出する。これにより、アドレスデコーダ７から制御レジスタ４２へアドレス信号が送られ、制御レジスタ４２にデータバスからデータ５５Ｈが書き込まれる。
【００４７】
このように、本実施の形態のマイクロコンピュータ１１においても、メモリアドレスマップ上の特定領域外にアドレスのあるレジスタに対して、命令の中のアドレス記述データにはアドレスデータの下位桁データを用いるアドレッシングモードを利用することができる。これにより、命令の命令長を短縮することができ、命令ＲＯＭ２に格納する命令のデータ量を少なくすることができる。
【００４８】
また、本実施の形態のマイクロコンピュータ１１においては、アドレスレジスタＣ１３５と選択回路１３６がＣＰＵ１３の中に搭載されているため、同一のＣＰＵを用いるマイクロコンピュータファミリへの展開が容易である。
【００４９】
（第３の実施の形態）
図５は、本発明の第３の実施の形態に係るマイクロコンピュータの構成を示すブロック図である。
【００５０】
本実施の形態のマイクロコンピュータ２１においてもＣＰＵ２３の中にアドレスレジスタＣ２３５と選択回路２３６が搭載されている点は、第２の実施の形態のマイクロコンピュータ１１と同じである。本実施の形態のマイクロコンピュータ２１で第２の実施の形態のマイクロコンピュータ１１と異なる点は、アドレスレジスタＣ２３５へのアドレス信号および選択回路２３６への選択信号が、命令デコーダ２３２から出力される点である。
【００５１】
なお、本実施の形態のＣＰＵ２３以外の回路は、第２の実施の形態と同じであるので、図５においては図４と同じ回路には同じ符号を付して表わす。
【００５２】
また、本実施の形態のマイクロコンピュータ２１におけるアドレスレジスタＣ２３５と選択回路２３６の動作、および制御レジスタ４１、４２へのデータの書き込みの手順も、第２の実施の形態のマイクロコンピュータ１１と同じである。したがって、ここでは、これらについての説明は省略する。
【００５３】
本実施の形態においては、命令デコーダ２３２からアドレス信号および選択信号が出力されるため、アドレスレジスタＣ２３５のアドレスをメモリアドレスマップ上に配置しなくともアドレス信号および選択信号を生成することができる。そのため、アドレスレジスタＣ２３５のアドレスを表わすアドレスデータのビット数をメモリアドレスマップを表現するアドレスデータのビット数より少なくすることができる。
【００５４】
その分、命令における、レジスタのアドレス指定に必要なデータ量を少なくでき、命令ＲＯＭ２に格納する命令のデータ量をさらに少なくすることができる。
【００５５】
（第４の実施の形態）
図６は、本発明の第４の実施の形態に係るマイクロコンピュータの構成を示すブロック図である。
【００５６】
本実施の形態のマイクロコンピュータ３１も、命令ＲＯＭ２、命令レジスタ３３１と命令デコーダ３３２と実行部３３３を備えるＣＰＵ３３、アドレスレジスタＣ３５、制御レジスタ４１、制御レジスタ４３、アドレスデコーダ７を有する構成は、図１に示す第１の実施の形態のマイクロコンピュータ１と同様である。
【００５７】
ただし、本実施の形態のマイクロコンピュータ３１においてアドレスレジスタＣ３５に格納されるデータは、制御レジスタ４１、４３のアドレスデータの上位桁部分である。
【００５８】
また、本実施の形態のマイクロコンピュータ３１の構成において、第１の実施の形態のマイクロコンピュータ１の構成と異なる点は連結回路８を有する点である。
【００５９】
この連結回路８は、アドレスレジスタＣ３５に格納されたアドレスデータとＣＰＵ３３の実行部３３３から送出されるアドレスデータを連結する回路である。ここで、アドレスデータの連結とは、アドレスレジスタＣ３５に格納されたアドレスデータの上位桁部分に、ＣＰＵ３３の実行部３３３から送出されるアドレスデータをアドレスデータの下位桁部分として結合させることを意味する。
【００６０】
図７は、本実施の形態のマイクロコンピュータ３１のメモリアドレスマップの例を示すものである。本実施の形態のマイクロコンピュータ３１の場合、特定領域外に制御レジスタ４１、４３のアドレスを配置するとするならば、その上位２桁のアドレスデータが同じとなる領域に配置することが有用である。
【００６１】
例えば、図７では、制御レジスタ４１、４３のアドレスを上位２桁が１０Ｈとなる領域に配置し、それぞれのアドレスを１０１０Ｈ番地、１０Ｆ０Ｈ番地としている。
【００６２】
このようにアドレスを配置することにより、例えば、制御レジスタ４１、４３に連続してデータを書き込むような場合、アドレスレジスタＣ３５にアドレスデータの上位桁部分の１０Ｈを１回書き込めば、以降、制御レジスタ４１、４３の下位桁部分のデータを送るだけで、連結回路８により制御レジスタ４１、４３それぞれのアドレスデータが生成されることになる。
【００６３】
図８は、この連結回路８の動作を説明するための図である。
【００６４】
ここでは、制御レジスタ４１にデータ５５Ｈ、制御レジスタ４３にデータＡＡＨを連続して書き込む場合を例にとって説明する。なお、ここで用いる命令  ＬＤ  （ｎｎＨ），ｄ  は、ｎｎＨを下位桁として連結回路８でアドレスデータを生成し、生成後のアドレスデータでアドレスが指定される制御レジスタにデータｄを書き込めという命令である。
【００６５】
この連結回路８を動作させるには次のように命令を与える。
【００６６】
（１）命令  ＬＤ  （８０００Ｈ），１０Ｈ  の実行
アドレスレジスタＣ３５へのデータの書き込みは、例えばアドレス８０００Ｈへの書き込みを行うことによって行われるものとしておく。したがって、上記命令の実行により、アドレスレジスタＣ３５に上位桁アドレスデータ１０Ｈが書き込まれる。
【００６７】
（２）命令  ＬＤ  （１０Ｈ），５５Ｈ  の実行
連結回路８でアドレスデータ１０１０Ｈが生成され、１０１０Ｈ番地の制御レジスタ４１にデータ５５Ｈが書き込まれる。
【００６８】
（３）命令  ＬＤ  （Ｆ０Ｈ），ＡＡＨ  の実行
連結回路８でアドレスデータ１０Ｆ０Ｈが生成され、１０Ｆ０Ｈ番地の制御レジスタ４３にデータＡＡＨが書き込まれる。
【００６９】
このように、本実施の形態のマイクロコンピュータ３１においても、メモリアドレスマップ上の特定領域外にアドレスのあるレジスタに対しても、命令の中のアドレス記述データにはアドレスデータの下位桁データを用いるアドレッシングモードが利用できる。特に、レジスタのアドレスの上位桁を共通に配置すると、アドレスレジスタＣ３５に格納された上位桁データを共通に使用できるため、アドレスレジスタＣ３５へのデータ書き込み命令の実行回数を少なくすることができ、命令ＲＯＭ２に格納する命令のデータ量を少なくすることができる。
【００７０】
【発明の効果】
本発明のマイクロコンピュータによれば、メモリアドレスマップ上の任意の領域のアドレスであっても、命令の中にアドレスデータの一部を記述するだけでアドレスの指定が行えるアドレッシングモードの利用が可能である。
【００７１】
これにより、命令の命令長を短くすることができ、命令ＲＯＭに格納する命令のデータ量を少なくすることができる。
【００７２】
また、命令の命令長を短くすることによって、マイクロコンピュータの動作速度の向上を図ることができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係るマイクロコンピュータの構成を示すブロック図。
【図２】本発明の第１の実施の形態に係るマイクロコンピュータのメモリアドレスマップの例を示す図。
【図３】本発明の第１の実施の形態に係るマイクロコンピュータのアドレスレジスタＣと選択回路の動作を説明するための図。
【図４】本発明の第２の実施の形態に係るマイクロコンピュータの構成を示すブロック図。
【図５】本発明の第３の実施の形態に係るマイクロコンピュータの構成を示すブロック図。
【図６】本発明の第４の実施の形態に係るマイクロコンピュータの構成を示すブロック図。
【図７】本発明の第４の実施の形態に係るマイクロコンピュータのメモリアドレスマップの例を示す図。
【図８】本発明の第４の実施の形態に係るマイクロコンピュータのアドレスレジスタＣと連結回路の動作を説明するための図。
【符号の説明】
１、１１、２１、３１  マイクロコンピュータ
２  命令ＲＯＭ
３、１３、２３、３３  ＣＰＵ
３１、１３１、２３１、３３１  命令レジスタ
３２、１３２、２３２、３３２  命令デコーダ
３３、１３３、２３３、３３３  実行部
４１、４２、４３  制御レジスタ
５、１３５、２３５、３５  アドレスレジスタＣ
６、１３６、２３６  選択回路
７  アドレスデコーダ
８  連結回路
【図１】
2005004643.tif 000003
【図２】
2005004643.tif 000004
【図３】
2005004643.tif 000005
【図４】
2005004643.tif 000006
【図５】
2005004643.tif 000007
【図６】
2005004643.tif 000008
【図７】
2005004643.tif 000009
【図８】
2005004643.tif 000010