JP2004185060A - マイクロコンピュータ - Google Patents
マイクロコンピュータ Download PDFInfo
- Publication number
- JP2004185060A JP2004185060A JP2002347780A JP2002347780A JP2004185060A JP 2004185060 A JP2004185060 A JP 2004185060A JP 2002347780 A JP2002347780 A JP 2002347780A JP 2002347780 A JP2002347780 A JP 2002347780A JP 2004185060 A JP2004185060 A JP 2004185060A
- Authority
- JP
- Japan
- Prior art keywords
- data
- peripheral
- bus
- register
- operation mode
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
- G06F13/4072—Drivers or receivers
- G06F13/4077—Precharging or discharging
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Microcomputers (AREA)
Abstract
【課題】動作モード設定レジスタへの書き込み後の確認をライト命令直後に自動的にリード命令を実行し動作モード設定レジスタに書き込んだデータを確認するマイクロコンピュータを得ること。
【解決手段】CPU20は、周辺イネーブル信号をアサートの状態でSFR40にデータを設定するライト動作を実行した後さらに1サイクル周辺イネーブル信号をアサートにする。これにより、周辺リード・ライト信号が有効となり、SFR40は、ライト動作時に設定されたデータを周辺データバス上に出力する。
【選択図】 図1
【解決手段】CPU20は、周辺イネーブル信号をアサートの状態でSFR40にデータを設定するライト動作を実行した後さらに1サイクル周辺イネーブル信号をアサートにする。これにより、周辺リード・ライト信号が有効となり、SFR40は、ライト動作時に設定されたデータを周辺データバス上に出力する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、マイクロコンピュータに関するものであり、特に、周辺モジュールに対する動作を指定するレジスタの内容を確認する機能を有するマイクロコンピュータに関するものである。
【0002】
【従来の技術】
近年、マイクロコンピュータは、応用範囲の拡大にともないCPU(Central Processing Unit)の高速化、大容量のメモリ、周辺機器内蔵と多様化している。周辺機器は、タイマ、A/Dコンバータ、D/Aコンバータなどがある。たとえば、タイマの場合、CPUが実行するプログラムによりタイマを動作させる基本クロックの周波数やタイマをワンタイムで用いるのか、フリーランで用いるのかなどの動作モードをタイマの動作モード設定レジスタに設定する。
【0003】
このようにマイクロコンピュータの周辺機器は、動作モード設定レジスタに設定された値にしたがって動作する。そのため、動作モード設定レジスタにデータを設定した後、そのデータを確認する必要がある。
【0004】
従来技術では、外部の周辺ハードウエアとのインタフェース部を備え、インタフェース部とCPUと周辺機器の動作モード設定レジスタとをバスで相互に接続し、CPUが動作モード設定レジスタのデータを設定または参照する際に、インタフェース部を介して動作モード設定レジスタのデータを実時間で確認するようにしている(たとえば、特許文献1)。
【0005】
【特許文献1】
特開平02−310636号公報
【0006】
【発明が解決しようとする課題】
しかしながら、上記従来技術では、外部で動作モード設定レジスタのデータを確認するようにしているためデバック時には有効であるものの、マイクロコンピュータのプログラムがSRFのデータを確認することはできなかった。そのため、デバッグが完了したプログラムにおいてSRFへのデータ設定後に、そのデータを確認するためには、SRFのデータを参照する必要がある。すなわち、動作モード設定レジスタにデータを設定するライト命令実行後にSRFのデータを参照するリード命令を実行する必要がある。
【0007】
CPUが命令を実行する場合、命令が格納されているメモリ領域にアクセスする命令フェッチと演算処理や動作モード設定レジスタへのライト・リードなどの命令の実行を交互に繰り返す。たとえば、動作モード設定レジスタへのライト命令にリードに5つの命令フェッチが必要である場合、動作モード設定レジスタに書き込んだデータを確認するためのリード命令は、5サイクル後に実行することになり、時間がかかってしまうという問題があった。
【0008】
また、ライト命令とリード命令の2命令が必要となり、プログラム領域であるROM(Read Only Memory)またはRAM(Random Access Memory)も増加してしまうという問題があった。
【0009】
この発明は上記に鑑みてなされたもので、動作モード設定レジスタへの書き込み後の確認をライト命令直後に自動的にリード命令を実行し動作モード設定レジスタに書き込んだデータを確認するマイクロコンピュータを得ることを目的としている。
【0010】
【課題を解決するための手段】
上記目的を達成するために、この発明にかかるマイクロコンピュータは、CPUが実行する命令を格納する命令格納メモリとはメモリバスで接続され、周辺モジュールの動作モードを設定する1〜複数の動作モード設定レジスタとは周辺バスで接続されるバスインタフェースユニットを備えるマイクロコンピュータにおいて、周辺イネーブル信号をアサートにした状態で所定の動作モード設定レジスタにデータを設定するライト命令によりライト動作を実行した後さらに1サイクルの間、周辺イネーブル信号をアサートにしてリード動作を実行することにより、前記CPUが前記バスインタフェースユニットを介して前記命令格納メモリからつぎの命令を読み出す命令フェッチの期間に、前記ライト動作により設定されたデータを前記周辺バス内の周辺データバスに出力することを特徴とする。
【0011】
この発明によれば、ライト動作を実行後さらに1サイクル周辺イネーブル信号をアサートにするようにしているため、つぎの命令フェッチを読み出すと同時にライト動作時に書き込んだデータを読み出すためのリード動作を実行するようにしている。
【0012】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかるマイクロコンピュータの好適な実施の形態を詳細に説明する。
【0013】
実施の形態1.
図1〜図2を用いて本発明の実施の形態1を説明する。図1は、この発明の実施の形態1のマイクロコンピュータの構成を示すブロック図である。この実施の形態1のマイクロコンピュータは、命令格納メモリ10と、CPU20と、BIU30と、複数の周辺モジュール(この場合n個)とそれら周辺モジュールの動作モード設定レジスタSFR40〜4nと、ラッチ回路50a〜cとを備えている。
【0014】
命令格納メモリ10には、ROMおよびRAMで構成され、CPU20が実行するプログラム、すなわち、CPU20が実行する命令が格納される。
【0015】
SFR40〜4nは、たとえば、タイマ、A/Dコンバータ、D/Aコンバータなどの周辺モジュールの動作モード設定レジスタである。SFR40〜4nは、特定のアドレス空間に割り当てられている。
【0016】
CPU20は、BIU30を介して命令格納メモリ10の命令を読み出し、その命令にしたがって演算処理などを行う。また、命令がSFR40〜4nへのライト命令またはリード命令の場合、BIU30を介して周辺バスおよび周辺制御信号を出力する。具体的には、SFR40〜4nが割り当てられている特定のアドレス領域の場合、周辺セレクト信号をアサートにする。すなわち、周辺セレクト信号は、SFR40〜4nのアドレス領域が指定された場合に、そのアドレス領域をデコードして生成され、周辺アドレスバスのアドレスが変化するまでアサートとなる。また、CPU20は、周辺アドレスバスが示すSFR40〜4nのいずれかに対するライト動作またはリード動作の実行に必要なサイクルだけ周辺イネーブル信号をアサートにする。周辺リード・ライト信号は、通常リード(この場合“H”)であり、ライト動作時のみ必要なサイクルだけ“L”とする。すなわち、CPU20は、周辺セレクト信号と周辺イネーブル信号をアサートにすることでSFR40〜4nのいずれか一つを選択してライト動作またはリード動作を実行する。
【0017】
BIU30は、バスインタフェースであり、メモリバス(アドレスバスおよびデータバス)で命令格納メモリ10と接続される。また、BIU30は、SFR40〜4nと周辺バス(周辺アドレスバスおよび周辺データバス)および周辺制御信号(周辺セレクト信号、周辺イネーブル信号、周辺リード・ライト信号)でSRF40〜4nと接続される。CPU20とはCPUバスで接続され、CPU20が指定したアドレスがメモリアドレスであるか周辺アドレスであるかを識別して、命令格納メモリ10またはSFR40〜4nにアクセスする。なお、一般的には、高速化のためにメモリバスと周辺バスは個別に構成されることが多いが、これに限定されるものではない。
【0018】
ラッチ回路50aは、周辺バスに接続され、周辺バスのデータが変化するまで周辺バス上のデータを保持する。ラッチ回路50bは、周辺制御信号に接続され、周辺制御信号が変化するまで周辺上のデータを保持する。ラッチ回路50cは、メモリバスに接続され、メモリバス上のデータが変化するまでメモリバス上のデータを保持する。
【0019】
図2のタイムチャートを参照して、この実施の形態1のマイクロコンピュータがSRF40にデータを書き込み、そのデータを確認する命令動作を説明する。クロックCLKは、この実施の形態1のマイクロコンピュータの動作における基本信号であり、メモリバス、周辺バスおよび周辺制御信号はクロックCLKに同期して変化する。
【0020】
CPU20は、BIU30を介して命令格納メモリ10の命令を読み出し、SFR40へのライト動作のために、CPUバスにSFR40のアドレスを出力する。BIU30は、CPUバス上のアドレスがSFR40のアドレスであることを識別し、SFR40のアドレスを周辺アドレスバスに出力する。
【0021】
CPU20は、周辺セレクト信号をアサート(この場合“L”)にする。そして、SFR40に対する周辺イネーブル信号をアサート(この場合“L”)にする。さらに、SFR40の周辺リード・ライト信号を“L”にする。CPU20は、SFR40に書き込むデータをBIU30を介して周辺データバスに出力する。周辺セレクト信号と周辺イネーブル信号と周辺リード・ライト信号とがすべて“L”であるので、周辺データバスのデータがSRF40に書き込まれる。
【0022】
SFR40にデータを書き込むライト期間である1サイクルが終了すると、CPU20は、周辺リード・ライト信号を“H”にする。ここで、CPU20は、周辺イネーブル信号を1サイクル延長する。すなわち、CPU20は、周辺リード・ライト信号が “L”から“H”に変化した後、つぎの命令フェッチを読み出す1サイクルの期間周辺イネーブル信号を“L”にする。これにより、周辺リード・ライト信号の“H”が有効となり、SFR40のデータが読み出され、周辺データバスに出力される。
【0023】
このようにこの実施の形態1では、ライト動作を実行後さらに1サイクル周辺イネーブル信号をアサートにするようにしているため、つぎの命令フェッチを読み出すと同時にライト動作時に書き込んだデータを読み出すためのリード動作を実行することが可能となり、周辺モジュールの動作モード設定レジスタに書き込んだデータを確認することができる。
【0024】
なお、CPU20が、周辺リード・ライト信号によりSFR40〜4nのいずれかにライト動作を行った後に周辺イネーブル信号を1サイクル延長させる命令は、通常のライト命令で実行してもよいし、新たな命令を追加してその命令の場合に周辺イネーブル信号を1サイクル延長させるようにしてもよい。これにより、CPUが実行する命令に柔軟性をもたせることができる。
【0025】
実施の形態2.
図3を用いて本発明の実施の形態2を説明する。図3は、この発明の実施の形態2のマイクロコンピュータの構成を示すブロック図である。この実施の形態2におけるマイクロコンピュータでは、図1に示したマイクロコンピュータに、テスト用レジスタ60と、ラッチ回路50dと、比較器70が追加されている。実施の形態1と同じ機能を持つ構成部分には同一符号を付し、重複する説明は省略する。
【0026】
テスト用レジスタ60は、専用データバスでBIU30と接続されており、SFR40〜4nのいずれかにライト動作が実行される際に書き込まれるデータと同一のデータが書き込まれる。すなわち、CPU20はBIU30を介してSFR40〜4nにデータを書き込む際には、周辺データバスと専用データバスに同一のデータを出力し、テスト用レジスタ60には、専用データバス上のデータが書き込まれる。
【0027】
ラッチ回路50dは、専用データバスに接続され、専用データバスのデータが変化するまでそのデータを保持する。
【0028】
比較器70は、周辺データバスのデータと専用データバスのデータを比較する。そして、比較した結果が異なる場合には、CPU20に割り込み要求信号を出力する。
【0029】
つぎに、この実施の形態2のマイクロコンピュータの動作を説明する。CPU20は、ライト命令を実行する。これにより、BIU30は、周辺アドレスバスにSFR40のアドレスを出力する。CPU20は、周辺セレクト信号を“L”にして、SFR40の周辺イネーブル信号と周辺リード・ライト信号を“L”にする。これらの信号はBIU30を介してSFR40に出力される。そして、CPU20は、BIU30を介して周辺データバスと専用データバスとに同一のデータを出力する。これにより、ライト動作が実行されSFR40とテスト用レジスタ60にデータが書き込まれる。
【0030】
CPU20は、周辺リード・ライト信号を“H”にする。周辺イネーブル信号は“L”であるため、リード動作が実行される。これにより、SFR40は、ライト動作時に書き込まれたデータを周辺アドレスバスを介して比較器70に出力する。また、テスト用レジスタ60は、ライト動作時に書き込まれたデータを専用データバスを介して比較器70に出力する。これらのデータはラッチ回路50a,50dにより、つぎにSFR40〜4nのいずれかへのアクセスがあるまで保持される。
【0031】
比較器70は、周辺アドレスバス上のデータと専用データバス上のデータを比較する。すなわち、SFR40に書き込まれているデータとテスト用レジスタ60に書き込まれているデータとを比較する。そして、比較の結果、2つのデータが不一致である場合には、CPU20に割り込み要求し信号を出力する。
【0032】
命令格納メモリ10には、割り込み処理のプログラムが格納されており、CPU20は、割り込み要求信号に基づいて命令格納メモリ10の割り込み処理プログラムを実行する。
【0033】
このようにこの実施の形態2では、テスト用レジスタを備え、ライト動作時に周辺モジュールの動作モード設定レジスタとテスト用レジスタの2つのレジスタに同じデータを書き込み、ライト動作直後に2つのデータを読み出して比較し、その比較の結果が不一致である場合、割り込み要求信号を出力するようにしているため、動作モード設定レジスタへのデータの書き込み動作が正しく行われたかを確認するとともに、不一致の場合の処理を行うことができる。
【0034】
実施の形態3.
図4を用いて本発明の実施の形態3を説明する。実施の形態2では、周辺データバス上に読み出された動作モード設定レジスタのデータと専用データバス上に読み出されたテスト用レジスタとのデータを比較することで動作モード設定レジスタに書き込まれたデータの確認を行うようにした。しかし、テスト用レジスタ60にデータを書き込むための専用データバスが必要となり、配線が多くなってしまう。
【0035】
この実施の形態3では、このような問題を改善するために、動作モード設定レジスタが接続されている周辺バス上にテスト用レジスタを接続して、動作モード設定レジスタに書き込んだデータを確認するものである。
【0036】
図4は、この発明の実施の形態3のマイクロコンピュータの構成を示すブロック図である。この実施の形態3におけるマイクロコンピュータでは、テスト用レジスタ60が周辺バス上に接続され、SFR40〜4nのそれぞれの出力とテスト用レジスタ60の出力とが比較器70に入力されている。実施の形態2と同じ機能を持つ構成部分には同一符号を付し、重複する説明は省略する。
【0037】
つぎに、この実施の形態3のマイクロコンピュータの動作を説明する。CPU20はライト命令を実行する。すなわち、CPUバスにSFR40のアドレスを出力する。これにより、BIU30は、周辺アドレスバスにSFR40のアドレスを出力する。CPU20は、周辺セレクト信号を“L”にして、SFR40の周辺イネーブル信号と周辺リード・ライト信号を“L”にする。これらの信号はBIU30を介してSFR40とテスト用レジスタ60に出力される。そして、CPU20は、BIU30を介して周辺データバスにSFR40に書き込むデータを出力する。これにより、ライト動作が実行されSFR40とテスト用レジスタ60にデータが書き込まれる。
【0038】
CPU20は、周辺リード・ライト信号を“H”にする。周辺イネーブル信号は“L”であるため、リード動作が実行される。これにより、SFR40とテスト用レジスタ60は、ライト動作時に書き込まれたデータをそれぞれ比較器70に出力する。
【0039】
比較器70は、SFR40から入力されたデータとテスト用レジスタ60から入力されたデータとを比較する。そして、比較の結果、2つのデータが不一致である場合には、CPU20に割り込み要求し信号を出力する。
【0040】
命令格納メモリ10には、割り込み処理のプログラムが格納されており、CPU20は、割り込み要求信号に基づいて命令格納メモリ10の割り込み処理プログラムを実行する。
【0041】
このようにこの実施の形態3では、動作モード設定レジスタが接続されている周辺バス上にテスト用レジスタを接続して、ライト動作時に、対象となる動作モード設定レジスタとテスト用レジスタに同一のデータを書き込み、その後動作モード設定レジスタとテスト用レジスタとのデータを比較するようにしているため、テスト用レジスタの専用データバスを用いることなく、少ない配線で動作モード設定レジスタに書き込んだデータを確認することができる。
【0042】
実施の形態4.
図5および図6を用いて本発明の実施の形態4を説明する。実施の形態1〜3では、ライト動作を実行後さらに1サイクル周辺イネーブル信号をアサートにするようにしているため、つぎの命令フェッチを読み出すと同時にライト動作時に書き込んだデータを読み出すためのリード動作を実行するようにした。しかし、マイクロコンピュータの動作における基本信号であるクロックの周波数が高くなり、1サイクルの周期が短くなると動作モード設定レジスタのリード動作時のマージンが取れない場合がある。すなわち、ライト動作時に動作モード設定レジスタに書き込んだデータが正しく読み出せない場合がある。
【0043】
このような問題を改善するために、この実施の形態4では、2つのテスト用レジスタ60,80を備え、ライト動作を実行後に2サイクル周辺イネーブル信号をアサートにすることで、リード動作のマージンを取るものである。
【0044】
図5は、この発明の実施の形態4のマイクロコンピュータの構成を示すブロック図である。この実施の形態4におけるマイクロコンピュータでは、図1に示したマイクロコンピュータにテスト用レジスタ60,80が追加されている。実施の形態1と同じ機能を持つ構成部分には同一符号を付し、重複する説明は省略する。
【0045】
テスト用レジスタ60は、専用データバスでBIU30と接続されており、SFR40〜4nのいずれかにライト動作が実行される際に書き込まれるデータと同一のデータが書き込まれる。すなわち、CPU20はBIU30を介してSFR40〜4nにデータを書き込む際には、周辺データバスと専用データバスに同一のデータを出力し、テスト用レジスタ60には、専用データバス上のデータが書き込まれる。
【0046】
テスト用レジスタ80には、テスト用レジスタ60に書き込まれているデータを反転させたデータが書き込まれる。
【0047】
つぎに、この実施の形態4のマイクロコンピュータの動作を説明する。CPU20はライト命令を実行する。すなわち、CPUバスにSFR40のアドレスを出力する。これにより、BIU30は、周辺アドレスバスにSFR40のアドレスを出力する。CPU20は、周辺セレクト信号を“L”にして、SFR40の周辺イネーブル信号と周辺リード・ライト信号を“L”にする。これらの信号はBIU30を介してSFR40とテスト用レジスタ60に出力される。そして、CPU20は、BIU30を介して周辺データバスと専用データバスとに同一のデータを出力する。これにより、ライト動作が実行されSFR40とテスト用レジスタ60にデータが書き込まれる。
【0048】
テスト用レジスタ60は、書き込まれたデータを反転したデータをテスト用レジスタ80に書き込む。すなわち、ライト期間に、テスト用レジスタ60には周辺バス上のデータが、テスト用レジスタ80には周辺バス上のデータの反転データがそれぞれ書き込まれる。
【0049】
CPU20は、周辺リード・ライト信号を“H”にする。周辺イネーブル信号は“L”であるため、リード動作が実行される。これにより、テスト用レジスタ80は、ライト動作時に書き込まれたデータを周辺データバスに出力する。CPU20は、さらに1サイクル周辺イネーブル信号を“L”にする。すなわち、周辺リード・ライト信号が“L”から“H”に変化してから2サイクル周辺イネーブル信号を“L”にする。これにより周辺リード・ライト信号の“H”が有効となり、SFR40は書き込まれたデータを周辺データバスに出力する。
【0050】
このようにこの実施の形態4では、2つのテスト用レジスタを備え、ライト動作時に、動作モード設定レジスタと一方のテスト用レジスタに同一のデータを書き込み、もう一方のテスト用レジスタには、動作モード設定レジスタのデータを反転させたデータを書き込む。そして、ライト動作実行後さらに2サイクル周辺イネーブル信号をアサートして、1サイクル目に反転させたデータを読み出し、つぎのサイクルで動作モード設定レジスタのデータを読み出して周辺バス上の出力するようにしている。これにより、動作モード設定レジスタにデータを書き込むライト動作と書き込んだデータを読み出すリード動作との間に、反転データを読み出すリード動作が入ることになり、動作モード設定レジスタのデータの読み出しのリード動作のマージンを確保することが可能となり、リード動作のマージン不足によるデータの不一致の発生を防ぐことができる。
【0051】
なお、動作モード設定レジスタのデータを読み出すリード動作時に同じデータを書き込んだテスト用レジスタのデータを読み出し、これら2つのデータを比較した結果が不一致の場合には、割り込み要求を発生させるようにしてもよい。これにより、動作モード設定レジスタへのデータの書き込み動作が正しく行われたかを確認するとともに、不一致の場合の処理を行うことができる。
【0052】
また、専用データバスを用いることなく、周辺データバスにテスト用レジスタを接続するようにしてもよい。これにより、少ない配線で動作モード設定レジスタのデータの読み出しのリード動作のマージンを確保し、リード動作のマージン不足によるデータの不一致の発生を防ぐことができる。
【0053】
実施の形態5.
図7を用いて本発明の実施の形態5を説明する。この実施の形態5では、テスト用レジスタを用いて複数の動作モード設定レジスタにデータを書き込み、複数の動作モード設定レジスタのテストを行うものである。
【0054】
図7は、この発明の実施の形態5のマイクロコンピュータの構成を示すブロック図である。この実施の形態5におけるマイクロコンピュータでは、テスト用レジスタ60とSFR40〜4nとがテスト用データバスで接続されている。実施の形態3と同じ機能を持つ構成部分には同一符号を付し、重複する説明は省略する。
【0055】
CPU20は、ライト動作を実行する。すなわち、BIU30を介して周辺データバス上にテスト用データを出力し、テスト用レジスタ60に、テスト用データを書き込む。ライト動作のつぎのサイクルで、テスト用レジスタ60は、テスト用データをテスト用データバスに出力し、SFR40〜4nにテスト用データを書き込む。すなわち、つぎの命令を実行するための命令フェッチを読み出す期間に、テスト用レジスタ60のデータがSFR40〜4nに一斉に書き込まれる。
【0056】
CPU20は、SFR40〜4nに対してそれぞれリード命令を実行し、SFR40〜4nのデータを読み出し、SFR40〜4nに書き込まれたデータを確認する。
【0057】
このようにこの実施の形態5では、テスト用レジスタと複数の動作モード設定レジスタとをテスト用データバスで接続し、テスト用レジスタにデータを書き込むライト動作のつぎのサイクルで、複数の動作モード設定レジスタに同時に同じデータを設定するようにしているため、複数の動作モード設定レジスタに個別にデータを設定することなく、動作モード設定レジスタのテストを行うことが可能となり、テスト時間を短縮することができる。
【0058】
なお、CPU20が、周辺リード・ライト信号によりSFR40〜4nのいずれかにライト動作を行った後に周辺イネーブル信号を1サイクル延長させる命令は、通常のライト命令で実行してもよいし、新たな命令を追加してその命令の場合に周辺イネーブル信号を1サイクル延長させるようにしてもよい。これにより、CPUが実行する命令に柔軟性をもたせることができる。
【0059】
【発明の効果】
以上説明したように、この発明にかかるマイクロコンピュータによれば、ライト動作を実行後さらに1サイクル周辺イネーブル信号をアサートにするようにしているため、つぎの命令フェッチを読み出すと同時にライト動作時に書き込んだデータを読み出すためのリード動作を実行するようにしているため、ライト命令の後にリード命令を実行することなく周辺モジュールの動作モード設定レジスタに書き込んだデータを確認することができる。
【図面の簡単な説明】
【図1】この発明における実施の形態1のマイクロコンピュータの構成を示すブロック図である。
【図2】この発明における実施の形態1のマイクロコンピュータの動作を説明するためのタイムチャートである。
【図3】この発明における実施の形態2のマイクロコンピュータの構成を示すブロック図である。
【図4】この発明における実施の形態3のマイクロコンピュータの構成を示すブロック図である。
【図5】この発明における実施の形態4のマイクロコンピュータの構成を示すブロック図である。
【図6】この発明における実施の形態4のマイクロコンピュータの動作を説明するためのタイムチャートである。
【図7】この発明における実施の形態5のマイクロコンピュータの構成を示すブロック図である。
【符号の説明】
10 命令格納メモリ、20 CPU、30 BIU、40,4n SFR、50a,50b,50c,50d ラッチ回路、60,80 テスト用レジスタ、70 比較器。
【発明の属する技術分野】
本発明は、マイクロコンピュータに関するものであり、特に、周辺モジュールに対する動作を指定するレジスタの内容を確認する機能を有するマイクロコンピュータに関するものである。
【0002】
【従来の技術】
近年、マイクロコンピュータは、応用範囲の拡大にともないCPU(Central Processing Unit)の高速化、大容量のメモリ、周辺機器内蔵と多様化している。周辺機器は、タイマ、A/Dコンバータ、D/Aコンバータなどがある。たとえば、タイマの場合、CPUが実行するプログラムによりタイマを動作させる基本クロックの周波数やタイマをワンタイムで用いるのか、フリーランで用いるのかなどの動作モードをタイマの動作モード設定レジスタに設定する。
【0003】
このようにマイクロコンピュータの周辺機器は、動作モード設定レジスタに設定された値にしたがって動作する。そのため、動作モード設定レジスタにデータを設定した後、そのデータを確認する必要がある。
【0004】
従来技術では、外部の周辺ハードウエアとのインタフェース部を備え、インタフェース部とCPUと周辺機器の動作モード設定レジスタとをバスで相互に接続し、CPUが動作モード設定レジスタのデータを設定または参照する際に、インタフェース部を介して動作モード設定レジスタのデータを実時間で確認するようにしている(たとえば、特許文献1)。
【0005】
【特許文献1】
特開平02−310636号公報
【0006】
【発明が解決しようとする課題】
しかしながら、上記従来技術では、外部で動作モード設定レジスタのデータを確認するようにしているためデバック時には有効であるものの、マイクロコンピュータのプログラムがSRFのデータを確認することはできなかった。そのため、デバッグが完了したプログラムにおいてSRFへのデータ設定後に、そのデータを確認するためには、SRFのデータを参照する必要がある。すなわち、動作モード設定レジスタにデータを設定するライト命令実行後にSRFのデータを参照するリード命令を実行する必要がある。
【0007】
CPUが命令を実行する場合、命令が格納されているメモリ領域にアクセスする命令フェッチと演算処理や動作モード設定レジスタへのライト・リードなどの命令の実行を交互に繰り返す。たとえば、動作モード設定レジスタへのライト命令にリードに5つの命令フェッチが必要である場合、動作モード設定レジスタに書き込んだデータを確認するためのリード命令は、5サイクル後に実行することになり、時間がかかってしまうという問題があった。
【0008】
また、ライト命令とリード命令の2命令が必要となり、プログラム領域であるROM(Read Only Memory)またはRAM(Random Access Memory)も増加してしまうという問題があった。
【0009】
この発明は上記に鑑みてなされたもので、動作モード設定レジスタへの書き込み後の確認をライト命令直後に自動的にリード命令を実行し動作モード設定レジスタに書き込んだデータを確認するマイクロコンピュータを得ることを目的としている。
【0010】
【課題を解決するための手段】
上記目的を達成するために、この発明にかかるマイクロコンピュータは、CPUが実行する命令を格納する命令格納メモリとはメモリバスで接続され、周辺モジュールの動作モードを設定する1〜複数の動作モード設定レジスタとは周辺バスで接続されるバスインタフェースユニットを備えるマイクロコンピュータにおいて、周辺イネーブル信号をアサートにした状態で所定の動作モード設定レジスタにデータを設定するライト命令によりライト動作を実行した後さらに1サイクルの間、周辺イネーブル信号をアサートにしてリード動作を実行することにより、前記CPUが前記バスインタフェースユニットを介して前記命令格納メモリからつぎの命令を読み出す命令フェッチの期間に、前記ライト動作により設定されたデータを前記周辺バス内の周辺データバスに出力することを特徴とする。
【0011】
この発明によれば、ライト動作を実行後さらに1サイクル周辺イネーブル信号をアサートにするようにしているため、つぎの命令フェッチを読み出すと同時にライト動作時に書き込んだデータを読み出すためのリード動作を実行するようにしている。
【0012】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかるマイクロコンピュータの好適な実施の形態を詳細に説明する。
【0013】
実施の形態1.
図1〜図2を用いて本発明の実施の形態1を説明する。図1は、この発明の実施の形態1のマイクロコンピュータの構成を示すブロック図である。この実施の形態1のマイクロコンピュータは、命令格納メモリ10と、CPU20と、BIU30と、複数の周辺モジュール(この場合n個)とそれら周辺モジュールの動作モード設定レジスタSFR40〜4nと、ラッチ回路50a〜cとを備えている。
【0014】
命令格納メモリ10には、ROMおよびRAMで構成され、CPU20が実行するプログラム、すなわち、CPU20が実行する命令が格納される。
【0015】
SFR40〜4nは、たとえば、タイマ、A/Dコンバータ、D/Aコンバータなどの周辺モジュールの動作モード設定レジスタである。SFR40〜4nは、特定のアドレス空間に割り当てられている。
【0016】
CPU20は、BIU30を介して命令格納メモリ10の命令を読み出し、その命令にしたがって演算処理などを行う。また、命令がSFR40〜4nへのライト命令またはリード命令の場合、BIU30を介して周辺バスおよび周辺制御信号を出力する。具体的には、SFR40〜4nが割り当てられている特定のアドレス領域の場合、周辺セレクト信号をアサートにする。すなわち、周辺セレクト信号は、SFR40〜4nのアドレス領域が指定された場合に、そのアドレス領域をデコードして生成され、周辺アドレスバスのアドレスが変化するまでアサートとなる。また、CPU20は、周辺アドレスバスが示すSFR40〜4nのいずれかに対するライト動作またはリード動作の実行に必要なサイクルだけ周辺イネーブル信号をアサートにする。周辺リード・ライト信号は、通常リード(この場合“H”)であり、ライト動作時のみ必要なサイクルだけ“L”とする。すなわち、CPU20は、周辺セレクト信号と周辺イネーブル信号をアサートにすることでSFR40〜4nのいずれか一つを選択してライト動作またはリード動作を実行する。
【0017】
BIU30は、バスインタフェースであり、メモリバス(アドレスバスおよびデータバス)で命令格納メモリ10と接続される。また、BIU30は、SFR40〜4nと周辺バス(周辺アドレスバスおよび周辺データバス)および周辺制御信号(周辺セレクト信号、周辺イネーブル信号、周辺リード・ライト信号)でSRF40〜4nと接続される。CPU20とはCPUバスで接続され、CPU20が指定したアドレスがメモリアドレスであるか周辺アドレスであるかを識別して、命令格納メモリ10またはSFR40〜4nにアクセスする。なお、一般的には、高速化のためにメモリバスと周辺バスは個別に構成されることが多いが、これに限定されるものではない。
【0018】
ラッチ回路50aは、周辺バスに接続され、周辺バスのデータが変化するまで周辺バス上のデータを保持する。ラッチ回路50bは、周辺制御信号に接続され、周辺制御信号が変化するまで周辺上のデータを保持する。ラッチ回路50cは、メモリバスに接続され、メモリバス上のデータが変化するまでメモリバス上のデータを保持する。
【0019】
図2のタイムチャートを参照して、この実施の形態1のマイクロコンピュータがSRF40にデータを書き込み、そのデータを確認する命令動作を説明する。クロックCLKは、この実施の形態1のマイクロコンピュータの動作における基本信号であり、メモリバス、周辺バスおよび周辺制御信号はクロックCLKに同期して変化する。
【0020】
CPU20は、BIU30を介して命令格納メモリ10の命令を読み出し、SFR40へのライト動作のために、CPUバスにSFR40のアドレスを出力する。BIU30は、CPUバス上のアドレスがSFR40のアドレスであることを識別し、SFR40のアドレスを周辺アドレスバスに出力する。
【0021】
CPU20は、周辺セレクト信号をアサート(この場合“L”)にする。そして、SFR40に対する周辺イネーブル信号をアサート(この場合“L”)にする。さらに、SFR40の周辺リード・ライト信号を“L”にする。CPU20は、SFR40に書き込むデータをBIU30を介して周辺データバスに出力する。周辺セレクト信号と周辺イネーブル信号と周辺リード・ライト信号とがすべて“L”であるので、周辺データバスのデータがSRF40に書き込まれる。
【0022】
SFR40にデータを書き込むライト期間である1サイクルが終了すると、CPU20は、周辺リード・ライト信号を“H”にする。ここで、CPU20は、周辺イネーブル信号を1サイクル延長する。すなわち、CPU20は、周辺リード・ライト信号が “L”から“H”に変化した後、つぎの命令フェッチを読み出す1サイクルの期間周辺イネーブル信号を“L”にする。これにより、周辺リード・ライト信号の“H”が有効となり、SFR40のデータが読み出され、周辺データバスに出力される。
【0023】
このようにこの実施の形態1では、ライト動作を実行後さらに1サイクル周辺イネーブル信号をアサートにするようにしているため、つぎの命令フェッチを読み出すと同時にライト動作時に書き込んだデータを読み出すためのリード動作を実行することが可能となり、周辺モジュールの動作モード設定レジスタに書き込んだデータを確認することができる。
【0024】
なお、CPU20が、周辺リード・ライト信号によりSFR40〜4nのいずれかにライト動作を行った後に周辺イネーブル信号を1サイクル延長させる命令は、通常のライト命令で実行してもよいし、新たな命令を追加してその命令の場合に周辺イネーブル信号を1サイクル延長させるようにしてもよい。これにより、CPUが実行する命令に柔軟性をもたせることができる。
【0025】
実施の形態2.
図3を用いて本発明の実施の形態2を説明する。図3は、この発明の実施の形態2のマイクロコンピュータの構成を示すブロック図である。この実施の形態2におけるマイクロコンピュータでは、図1に示したマイクロコンピュータに、テスト用レジスタ60と、ラッチ回路50dと、比較器70が追加されている。実施の形態1と同じ機能を持つ構成部分には同一符号を付し、重複する説明は省略する。
【0026】
テスト用レジスタ60は、専用データバスでBIU30と接続されており、SFR40〜4nのいずれかにライト動作が実行される際に書き込まれるデータと同一のデータが書き込まれる。すなわち、CPU20はBIU30を介してSFR40〜4nにデータを書き込む際には、周辺データバスと専用データバスに同一のデータを出力し、テスト用レジスタ60には、専用データバス上のデータが書き込まれる。
【0027】
ラッチ回路50dは、専用データバスに接続され、専用データバスのデータが変化するまでそのデータを保持する。
【0028】
比較器70は、周辺データバスのデータと専用データバスのデータを比較する。そして、比較した結果が異なる場合には、CPU20に割り込み要求信号を出力する。
【0029】
つぎに、この実施の形態2のマイクロコンピュータの動作を説明する。CPU20は、ライト命令を実行する。これにより、BIU30は、周辺アドレスバスにSFR40のアドレスを出力する。CPU20は、周辺セレクト信号を“L”にして、SFR40の周辺イネーブル信号と周辺リード・ライト信号を“L”にする。これらの信号はBIU30を介してSFR40に出力される。そして、CPU20は、BIU30を介して周辺データバスと専用データバスとに同一のデータを出力する。これにより、ライト動作が実行されSFR40とテスト用レジスタ60にデータが書き込まれる。
【0030】
CPU20は、周辺リード・ライト信号を“H”にする。周辺イネーブル信号は“L”であるため、リード動作が実行される。これにより、SFR40は、ライト動作時に書き込まれたデータを周辺アドレスバスを介して比較器70に出力する。また、テスト用レジスタ60は、ライト動作時に書き込まれたデータを専用データバスを介して比較器70に出力する。これらのデータはラッチ回路50a,50dにより、つぎにSFR40〜4nのいずれかへのアクセスがあるまで保持される。
【0031】
比較器70は、周辺アドレスバス上のデータと専用データバス上のデータを比較する。すなわち、SFR40に書き込まれているデータとテスト用レジスタ60に書き込まれているデータとを比較する。そして、比較の結果、2つのデータが不一致である場合には、CPU20に割り込み要求し信号を出力する。
【0032】
命令格納メモリ10には、割り込み処理のプログラムが格納されており、CPU20は、割り込み要求信号に基づいて命令格納メモリ10の割り込み処理プログラムを実行する。
【0033】
このようにこの実施の形態2では、テスト用レジスタを備え、ライト動作時に周辺モジュールの動作モード設定レジスタとテスト用レジスタの2つのレジスタに同じデータを書き込み、ライト動作直後に2つのデータを読み出して比較し、その比較の結果が不一致である場合、割り込み要求信号を出力するようにしているため、動作モード設定レジスタへのデータの書き込み動作が正しく行われたかを確認するとともに、不一致の場合の処理を行うことができる。
【0034】
実施の形態3.
図4を用いて本発明の実施の形態3を説明する。実施の形態2では、周辺データバス上に読み出された動作モード設定レジスタのデータと専用データバス上に読み出されたテスト用レジスタとのデータを比較することで動作モード設定レジスタに書き込まれたデータの確認を行うようにした。しかし、テスト用レジスタ60にデータを書き込むための専用データバスが必要となり、配線が多くなってしまう。
【0035】
この実施の形態3では、このような問題を改善するために、動作モード設定レジスタが接続されている周辺バス上にテスト用レジスタを接続して、動作モード設定レジスタに書き込んだデータを確認するものである。
【0036】
図4は、この発明の実施の形態3のマイクロコンピュータの構成を示すブロック図である。この実施の形態3におけるマイクロコンピュータでは、テスト用レジスタ60が周辺バス上に接続され、SFR40〜4nのそれぞれの出力とテスト用レジスタ60の出力とが比較器70に入力されている。実施の形態2と同じ機能を持つ構成部分には同一符号を付し、重複する説明は省略する。
【0037】
つぎに、この実施の形態3のマイクロコンピュータの動作を説明する。CPU20はライト命令を実行する。すなわち、CPUバスにSFR40のアドレスを出力する。これにより、BIU30は、周辺アドレスバスにSFR40のアドレスを出力する。CPU20は、周辺セレクト信号を“L”にして、SFR40の周辺イネーブル信号と周辺リード・ライト信号を“L”にする。これらの信号はBIU30を介してSFR40とテスト用レジスタ60に出力される。そして、CPU20は、BIU30を介して周辺データバスにSFR40に書き込むデータを出力する。これにより、ライト動作が実行されSFR40とテスト用レジスタ60にデータが書き込まれる。
【0038】
CPU20は、周辺リード・ライト信号を“H”にする。周辺イネーブル信号は“L”であるため、リード動作が実行される。これにより、SFR40とテスト用レジスタ60は、ライト動作時に書き込まれたデータをそれぞれ比較器70に出力する。
【0039】
比較器70は、SFR40から入力されたデータとテスト用レジスタ60から入力されたデータとを比較する。そして、比較の結果、2つのデータが不一致である場合には、CPU20に割り込み要求し信号を出力する。
【0040】
命令格納メモリ10には、割り込み処理のプログラムが格納されており、CPU20は、割り込み要求信号に基づいて命令格納メモリ10の割り込み処理プログラムを実行する。
【0041】
このようにこの実施の形態3では、動作モード設定レジスタが接続されている周辺バス上にテスト用レジスタを接続して、ライト動作時に、対象となる動作モード設定レジスタとテスト用レジスタに同一のデータを書き込み、その後動作モード設定レジスタとテスト用レジスタとのデータを比較するようにしているため、テスト用レジスタの専用データバスを用いることなく、少ない配線で動作モード設定レジスタに書き込んだデータを確認することができる。
【0042】
実施の形態4.
図5および図6を用いて本発明の実施の形態4を説明する。実施の形態1〜3では、ライト動作を実行後さらに1サイクル周辺イネーブル信号をアサートにするようにしているため、つぎの命令フェッチを読み出すと同時にライト動作時に書き込んだデータを読み出すためのリード動作を実行するようにした。しかし、マイクロコンピュータの動作における基本信号であるクロックの周波数が高くなり、1サイクルの周期が短くなると動作モード設定レジスタのリード動作時のマージンが取れない場合がある。すなわち、ライト動作時に動作モード設定レジスタに書き込んだデータが正しく読み出せない場合がある。
【0043】
このような問題を改善するために、この実施の形態4では、2つのテスト用レジスタ60,80を備え、ライト動作を実行後に2サイクル周辺イネーブル信号をアサートにすることで、リード動作のマージンを取るものである。
【0044】
図5は、この発明の実施の形態4のマイクロコンピュータの構成を示すブロック図である。この実施の形態4におけるマイクロコンピュータでは、図1に示したマイクロコンピュータにテスト用レジスタ60,80が追加されている。実施の形態1と同じ機能を持つ構成部分には同一符号を付し、重複する説明は省略する。
【0045】
テスト用レジスタ60は、専用データバスでBIU30と接続されており、SFR40〜4nのいずれかにライト動作が実行される際に書き込まれるデータと同一のデータが書き込まれる。すなわち、CPU20はBIU30を介してSFR40〜4nにデータを書き込む際には、周辺データバスと専用データバスに同一のデータを出力し、テスト用レジスタ60には、専用データバス上のデータが書き込まれる。
【0046】
テスト用レジスタ80には、テスト用レジスタ60に書き込まれているデータを反転させたデータが書き込まれる。
【0047】
つぎに、この実施の形態4のマイクロコンピュータの動作を説明する。CPU20はライト命令を実行する。すなわち、CPUバスにSFR40のアドレスを出力する。これにより、BIU30は、周辺アドレスバスにSFR40のアドレスを出力する。CPU20は、周辺セレクト信号を“L”にして、SFR40の周辺イネーブル信号と周辺リード・ライト信号を“L”にする。これらの信号はBIU30を介してSFR40とテスト用レジスタ60に出力される。そして、CPU20は、BIU30を介して周辺データバスと専用データバスとに同一のデータを出力する。これにより、ライト動作が実行されSFR40とテスト用レジスタ60にデータが書き込まれる。
【0048】
テスト用レジスタ60は、書き込まれたデータを反転したデータをテスト用レジスタ80に書き込む。すなわち、ライト期間に、テスト用レジスタ60には周辺バス上のデータが、テスト用レジスタ80には周辺バス上のデータの反転データがそれぞれ書き込まれる。
【0049】
CPU20は、周辺リード・ライト信号を“H”にする。周辺イネーブル信号は“L”であるため、リード動作が実行される。これにより、テスト用レジスタ80は、ライト動作時に書き込まれたデータを周辺データバスに出力する。CPU20は、さらに1サイクル周辺イネーブル信号を“L”にする。すなわち、周辺リード・ライト信号が“L”から“H”に変化してから2サイクル周辺イネーブル信号を“L”にする。これにより周辺リード・ライト信号の“H”が有効となり、SFR40は書き込まれたデータを周辺データバスに出力する。
【0050】
このようにこの実施の形態4では、2つのテスト用レジスタを備え、ライト動作時に、動作モード設定レジスタと一方のテスト用レジスタに同一のデータを書き込み、もう一方のテスト用レジスタには、動作モード設定レジスタのデータを反転させたデータを書き込む。そして、ライト動作実行後さらに2サイクル周辺イネーブル信号をアサートして、1サイクル目に反転させたデータを読み出し、つぎのサイクルで動作モード設定レジスタのデータを読み出して周辺バス上の出力するようにしている。これにより、動作モード設定レジスタにデータを書き込むライト動作と書き込んだデータを読み出すリード動作との間に、反転データを読み出すリード動作が入ることになり、動作モード設定レジスタのデータの読み出しのリード動作のマージンを確保することが可能となり、リード動作のマージン不足によるデータの不一致の発生を防ぐことができる。
【0051】
なお、動作モード設定レジスタのデータを読み出すリード動作時に同じデータを書き込んだテスト用レジスタのデータを読み出し、これら2つのデータを比較した結果が不一致の場合には、割り込み要求を発生させるようにしてもよい。これにより、動作モード設定レジスタへのデータの書き込み動作が正しく行われたかを確認するとともに、不一致の場合の処理を行うことができる。
【0052】
また、専用データバスを用いることなく、周辺データバスにテスト用レジスタを接続するようにしてもよい。これにより、少ない配線で動作モード設定レジスタのデータの読み出しのリード動作のマージンを確保し、リード動作のマージン不足によるデータの不一致の発生を防ぐことができる。
【0053】
実施の形態5.
図7を用いて本発明の実施の形態5を説明する。この実施の形態5では、テスト用レジスタを用いて複数の動作モード設定レジスタにデータを書き込み、複数の動作モード設定レジスタのテストを行うものである。
【0054】
図7は、この発明の実施の形態5のマイクロコンピュータの構成を示すブロック図である。この実施の形態5におけるマイクロコンピュータでは、テスト用レジスタ60とSFR40〜4nとがテスト用データバスで接続されている。実施の形態3と同じ機能を持つ構成部分には同一符号を付し、重複する説明は省略する。
【0055】
CPU20は、ライト動作を実行する。すなわち、BIU30を介して周辺データバス上にテスト用データを出力し、テスト用レジスタ60に、テスト用データを書き込む。ライト動作のつぎのサイクルで、テスト用レジスタ60は、テスト用データをテスト用データバスに出力し、SFR40〜4nにテスト用データを書き込む。すなわち、つぎの命令を実行するための命令フェッチを読み出す期間に、テスト用レジスタ60のデータがSFR40〜4nに一斉に書き込まれる。
【0056】
CPU20は、SFR40〜4nに対してそれぞれリード命令を実行し、SFR40〜4nのデータを読み出し、SFR40〜4nに書き込まれたデータを確認する。
【0057】
このようにこの実施の形態5では、テスト用レジスタと複数の動作モード設定レジスタとをテスト用データバスで接続し、テスト用レジスタにデータを書き込むライト動作のつぎのサイクルで、複数の動作モード設定レジスタに同時に同じデータを設定するようにしているため、複数の動作モード設定レジスタに個別にデータを設定することなく、動作モード設定レジスタのテストを行うことが可能となり、テスト時間を短縮することができる。
【0058】
なお、CPU20が、周辺リード・ライト信号によりSFR40〜4nのいずれかにライト動作を行った後に周辺イネーブル信号を1サイクル延長させる命令は、通常のライト命令で実行してもよいし、新たな命令を追加してその命令の場合に周辺イネーブル信号を1サイクル延長させるようにしてもよい。これにより、CPUが実行する命令に柔軟性をもたせることができる。
【0059】
【発明の効果】
以上説明したように、この発明にかかるマイクロコンピュータによれば、ライト動作を実行後さらに1サイクル周辺イネーブル信号をアサートにするようにしているため、つぎの命令フェッチを読み出すと同時にライト動作時に書き込んだデータを読み出すためのリード動作を実行するようにしているため、ライト命令の後にリード命令を実行することなく周辺モジュールの動作モード設定レジスタに書き込んだデータを確認することができる。
【図面の簡単な説明】
【図1】この発明における実施の形態1のマイクロコンピュータの構成を示すブロック図である。
【図2】この発明における実施の形態1のマイクロコンピュータの動作を説明するためのタイムチャートである。
【図3】この発明における実施の形態2のマイクロコンピュータの構成を示すブロック図である。
【図4】この発明における実施の形態3のマイクロコンピュータの構成を示すブロック図である。
【図5】この発明における実施の形態4のマイクロコンピュータの構成を示すブロック図である。
【図6】この発明における実施の形態4のマイクロコンピュータの動作を説明するためのタイムチャートである。
【図7】この発明における実施の形態5のマイクロコンピュータの構成を示すブロック図である。
【符号の説明】
10 命令格納メモリ、20 CPU、30 BIU、40,4n SFR、50a,50b,50c,50d ラッチ回路、60,80 テスト用レジスタ、70 比較器。
Claims (9)
- CPUが実行する命令を格納する命令格納メモリとはメモリバスで接続され、周辺モジュールの動作モードを設定する1〜複数の動作モード設定レジスタとは周辺バスで接続されるバスインタフェースユニットを備えるマイクロコンピュータにおいて、
周辺イネーブル信号をアサートにした状態で所定の動作モード設定レジスタにデータを設定するライト命令によりライト動作を実行した後さらに1サイクルの間、周辺イネーブル信号をアサートにしてリード動作を実行することにより、前記CPUが前記バスインタフェースユニットを介して前記命令格納メモリからつぎの命令を読み出す命令フェッチの期間に、前記ライト動作により設定されたデータを前記周辺バス内の周辺データバスに出力することを特徴とするマイクロコンピュータ。 - 前記ライト動作時には、前記所定の動作モード設定レジスタに設定さるデータと同じデータが設定され、前記リード動作時には、前記ライト動作時に設定されたデータを出力するテスト用レジスタと、
前記リード動作時に、前記所定の動作モード設定レジスタから出力されるデータと前記テスト用レジスタから出力されるデータとを比較して、比較の結果が不一致であった場合、前記CPUに割り込み要求信号を出力する比較器と、
をさらに備えたことを特徴とする請求項1に記載のマイクロコンピュータ。 - 前記テスト用レジスタは、
前記バスインタフェースユニットと専用データバスで接続され、
前記比較器は、
前記リード動作時に、前記所定の動作モード設定レジスタが周辺データバス上に出力したデータと前記テスト用レジスタが専用バス上に出力したデータとを比較することを特徴とする請求項2に記載のマイクロコンピュータ。 - 前記テスト用レジスタは、
前記バスインタフェースユニットと周辺データバスで接続され、
前記比較器は、
前記周辺データバスとは異なる信号線を介して得られた前記所定の動作モード設定レジスタからのデータと前記周辺データバスとは異なる信号線を介して得られた前記テスト用レジスタからのデータとを比較することを特徴とする請求項2に記載のマイクロコンピュータ。 - 前記ライト動作時に前記テスト用レジスタに設定されたデータを、前記ライト動作時のつぎのサイクルで前記複数の動作モード設定レジスタ全てに設定することを特徴とする請求項1〜4の何れか一つに記載のマイクロコンピュータ。
- CPUが実行する命令を格納する命令格納メモリとはメモリバスで接続され、周辺モジュールの動作モードを設定する1〜複数の動作モード設定レジスタとは周辺バスで接続されるバスインタフェースユニットを備えるマイクロコンピュータにおいて、
前記バスインタフェースユニットと専用データバスで接続される第1のテスト用レジスタと、
前記バスインタフェースユニットと周辺バス内の周辺データバスで接続される第2のテスト用レジスタと、
をさらに備え、
前記CPUは、
周辺イネーブル信号をアサートにした状態で所定の動作モード設定レジスタにデータを設定するライト命令によりライト動作を実行した後さらに2サイクルの間、周辺イネーブル信号をアサートにする信号を出力し、
前記ライト動作時には、前記所定の動作モード設定レジスタおよび前記第1のテスト用レジスタに同じデータが設定されるとともに、前記第2のテスト用レジスタには前記第1のテスト用レジスタに設定されたデータを反転させたデータが設定され、
前記ライト動作のつぎのサイクルのリード動作時には、前記第2のテスト用レジスタが設定されたデータを前記周辺データバス上に出力し、
さらにつぎのサイクルのリード動作時には、所定の動作モード設定レジスタが設定されたデータを前記周辺データバス上に出力することを特徴とするマイクロコンピュータ。 - 前記第1のテスト用レジスタは、
前記所定の動作モード設定レジスタが設定されたデータを前記周辺データバス上に出力するリードサイクル時に、前記ライト動作時に設定されたデータを専用データバス上に出力し、
前記所定の動作モード設定レジスタが前記周辺データバス上に出力したデータと前記第1のテスト用レジスタが前記専用データバス上に出力したデータとを比較して、比較の結果が不一致であった場合、前記CPUに割り込み要求信号を出力する比較器と、
をさらに備えたことを特徴とする請求項6に記載のマイクロコンピュータ。 - 前記第1のテスト用レジスタを前記周辺データバスに接続し、
前記比較器は、
前記周辺データバスとは異なる信号線を介して得られた前記所定の動作モード設定レジスタからのデータと前記周辺データバスとは異なる信号線を介して得られた前記第1のテスト用レジスタからのデータとを比較することを特徴とする請求項6に記載のマイクロコンピュータ。 - 前記ライト動作時に第1のテスト用レジスタに設定されたデータを、前記ライト動作時のつぎのサイクルで前記複数の動作モード設定レジスタ全てに設定することを特徴とする請求項6〜7の何れか一つに記載のマイクロコンピュータ。
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002347780A JP2004185060A (ja) | 2002-11-29 | 2002-11-29 | マイクロコンピュータ |
| US10/431,496 US20040107388A1 (en) | 2002-11-29 | 2003-05-08 | Microcomputer |
| TW092114682A TW200408967A (en) | 2002-11-29 | 2003-05-30 | Microcomputer |
| KR1020030053340A KR20040047543A (ko) | 2002-11-29 | 2003-08-01 | 마이크로컴퓨터 |
| CNA031601340A CN1504916A (zh) | 2002-11-29 | 2003-09-25 | 微计算机 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002347780A JP2004185060A (ja) | 2002-11-29 | 2002-11-29 | マイクロコンピュータ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2004185060A true JP2004185060A (ja) | 2004-07-02 |
Family
ID=32376098
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002347780A Pending JP2004185060A (ja) | 2002-11-29 | 2002-11-29 | マイクロコンピュータ |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US20040107388A1 (ja) |
| JP (1) | JP2004185060A (ja) |
| KR (1) | KR20040047543A (ja) |
| CN (1) | CN1504916A (ja) |
| TW (1) | TW200408967A (ja) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101009468B1 (ko) * | 2010-04-29 | 2011-01-19 | 주식회사 스타넷 | 방수기능을 갖는 발광다이오드를 이용한 형광등형 조명기구 |
| KR101993626B1 (ko) * | 2012-12-11 | 2019-06-28 | 삼성전자 주식회사 | 특수 기능 레지스터를 포함하는 시스템 온 칩 및 그 동작 방법 |
| US10210350B2 (en) * | 2015-08-10 | 2019-02-19 | Samsung Electronics Co., Ltd. | Electronic device against side channel attacks |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3671940A (en) * | 1970-03-19 | 1972-06-20 | Burroughs Corp | Test apparatus for digital computer |
| US4317200A (en) * | 1978-10-20 | 1982-02-23 | Vlsi Technology Research Association | Method and device for testing a sequential circuit divided into a plurality of partitions |
| JPS5886648A (ja) * | 1981-11-18 | 1983-05-24 | Mitsubishi Electric Corp | トレ−ス装置 |
| JP2581018B2 (ja) * | 1994-09-12 | 1997-02-12 | 日本電気株式会社 | データ処理装置 |
| US6000043A (en) * | 1996-06-28 | 1999-12-07 | Intel Corporation | Method and apparatus for management of peripheral devices coupled to a bus |
| JP2000132997A (ja) * | 1998-10-26 | 2000-05-12 | Nec Corp | 半導体集積回路 |
| EP1001432A1 (en) * | 1998-11-10 | 2000-05-17 | Lucent Technologies Inc. | Method of testing random-access memory |
| US6457067B1 (en) * | 1998-12-18 | 2002-09-24 | Unisys Corporation | System and method for detecting faults in storage device addressing logic |
| US6799291B1 (en) * | 2000-11-20 | 2004-09-28 | International Business Machines Corporation | Method and system for detecting a hard failure in a memory array |
| EP1387255B1 (en) * | 2002-07-31 | 2020-04-08 | Texas Instruments Incorporated | Test and skip processor instruction having at least one register operand |
-
2002
- 2002-11-29 JP JP2002347780A patent/JP2004185060A/ja active Pending
-
2003
- 2003-05-08 US US10/431,496 patent/US20040107388A1/en not_active Abandoned
- 2003-05-30 TW TW092114682A patent/TW200408967A/zh unknown
- 2003-08-01 KR KR1020030053340A patent/KR20040047543A/ko not_active Ceased
- 2003-09-25 CN CNA031601340A patent/CN1504916A/zh active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| CN1504916A (zh) | 2004-06-16 |
| KR20040047543A (ko) | 2004-06-05 |
| US20040107388A1 (en) | 2004-06-03 |
| TW200408967A (en) | 2004-06-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5668815A (en) | Method for testing integrated memory using an integrated DMA controller | |
| US8799715B2 (en) | System on a chip (SOC) debug controllability | |
| JPS62243058A (ja) | マルチプロセツサシステムの割込制御方法 | |
| JPH0543151B2 (ja) | ||
| JPS62249264A (ja) | デ−タ処理装置 | |
| JP2001184226A (ja) | メモリブロックを有するデジタルシステムおよびメモリのブロックのエミュレーティング方法 | |
| JP2000132430A (ja) | 信号処理装置 | |
| JPWO2002073411A1 (ja) | メモリテスト方法、情報記録媒体及び半導体集積回路 | |
| JP2004185060A (ja) | マイクロコンピュータ | |
| US7376777B2 (en) | Performing an N-bit write access to an M×N-bit-only peripheral | |
| US6463551B1 (en) | Debug circuit and microcomputer incorporating debug circuit | |
| US11521698B2 (en) | Testing read-only memory using memory built-in self-test controller | |
| US6425047B1 (en) | Process containing address decoders suited to improvements in clock speed | |
| US20070220331A1 (en) | Processor comprising an integrated debugging interface controlled by the processing unit of the processor | |
| US7020813B2 (en) | On chip debugging method of microcontrollers | |
| JPH09106359A (ja) | 半導体集積回路 | |
| CN110462603B (zh) | 微型计算机 | |
| JPS6346460B2 (ja) | ||
| JP2005038230A (ja) | システムlsi | |
| JP2004185356A (ja) | デバッグ装置 | |
| JP2006127017A (ja) | 論理検証手法 | |
| JPH0442329A (ja) | データ処理装置 | |
| JP2003029966A (ja) | データ処理装置 | |
| JPS61288243A (ja) | コンペアアンドスワツプ命令処理方式 | |
| JPH01244548A (ja) | マイクロプログラム制御装置 |