(57)【要約】【課題】  ＣＰＵのプログラムのデバッグ時において、プログラムトレースのための専用端子や、ＣＰＵと制御デバイスとの間の通信専用端子を設けることなく、効率の良いメモリアクセスを可能とするＣＰＵ制御装置を提供する。【解決手段】  ＣＰＵ１０２とデバッグ環境の制御デバイス１１４により共有されているメモリ１１３の内部空間に、ＣＰＵ１０２からは読み込み専用であり、制御デバイス１１４からは書き込み専用である第１のメモリアドレス空間と、ＣＰＵからは書き込み専用であり、制御デバイスからは読み込み専用である第２のメモリアドレス空間とを設定することにより、専用端子を用いることなくプログラムトレースを行なうことを可能とした。また、前記メモリアドレス空間に、コマンドの書き込みに応じて値を変化させるＩＤを設定し、ＣＰＵ、及び制御デバイスが前記ＩＤをポーリングすることにより、互いのメモリアクセス状況を確認することとした。【選択図】図１
2005202617.tif 000002
【特許請求の範囲】
【請求項１】
共有メモリに書き込まれたコマンドを実行し、その処理結果を前記共有メモリの所定の領域に書き込むＣＰＵと、
前記共有メモリの所定の領域に前記ＣＰＵに対するコマンドを書き込み、前記共有メモリの所定の領域から前記ＣＰＵの前記コマンドの処理結果を読み取る制御デバイスと、
前記ＣＰＵ、及び前記制御デバイスのいずれかによる前記共有メモリへのアクセスを制御するバス制御回路と、を備える、
ことを特徴とするＣＰＵ制御装置。
【請求項２】
請求項１に記載のＣＰＵ制御装置において、
前記ＣＰＵ、及び前記制御デバイスは、それぞれ異なるバスにより前記共有メモリに接続されている、
ことを特徴とするＣＰＵ制御装置。
【請求項３】
請求項２に記載のＣＰＵ制御装置において、
前記共有メモリは、前記ＣＰＵからはデータの読み込み専用であり前記制御デバイスからはデータの書き込み専用である第１のメモリアドレス空間と、前記ＣＰＵからはデータの書き込み専用であり前記制御デバイスからはデータの読み込み専用である第２のメモリアドレス空間と、を備えるものである、
ことを特徴とするＣＰＵ制御装置。
【請求項４】
請求項３に記載のＣＰＵ制御装置において、
前記第１のメモリアドレス空間、及び前記第２のメモリアドレス空間は、前記ＣＰＵ、あるいは前記制御デバイスからコマンドを書き込むためのコマンド領域と、前記コマンドに対応するコマンドパラメータを書き込むためのパラメータ領域と、前記コマンドの書き込みに応じて値が変化するＩＤを書き込むための領域と、を備えるものである、
ことを特徴とするＣＰＵ制御装置。
【請求項５】
請求項４に記載のＣＰＵ制御装置において、
前記ＣＰＵは、前記第１のメモリアドレス空間の前記ＩＤを所定の時間毎に読み取り、前回読み取ったＩＤと値が異なる場合に、前記第１のメモリアドレス空間に書き込まれた前記コマンド、及び前記コマンドパラメータを読み取るものであり、
前記制御デバイスは、前記第２のメモリアドレス空間の前記ＩＤを所定の時間毎に読み取り、前回読み取ったＩＤと値が異なる場合に、前記第２のメモリアドレス空間に書き込まれた前記コマンド、及び前記コマンドパラメータを読み取るものである、
ことを特徴とするＣＰＵ制御装置。
【請求項６】
請求項５に記載のＣＰＵ制御装置において、
前記ＣＰＵに対するＣＰＵ用命令コードを格納する外付け命令メモリが、前記ＣＰＵと前記共有メモリとを接続するバス上に前記共有メモリと並列に接続されており、
前記共有メモリ、及び前記外付け命令メモリは、前記ＣＰＵによりチップセレクト信号に基づいて選択される、
ことを特徴とするＣＰＵ制御装置。
【請求項７】
請求項６に記載のＣＰＵ制御装置において、
前記第１のメモリアドレス空間の所定のアドレスに前記制御デバイスからのコマンドの書き込みが完了したときに、前記ＣＰＵに対して割込み信号を出力し、前記第２のメモリアドレス空間の所定のアドレスに前記ＣＰＵからのコマンドの書き込みが完了したときに、前記制御デバイスに対して割り込み信号を出力する割り込み制御回路を備える、
ことを特徴とするＣＰＵ制御装置。
【請求項８】
請求項６に記載のＣＰＵ制御装置において、
前記第１のメモリアドレス空間の所定のアドレスに前記制御デバイスからのコマンドが書き込まれたときに、前記ＣＰＵに対するウエイト制御を解除すると共に前記制御デバイスに対してウエイト制御を行い、前記第２のメモリアドレス空間の所定のアドレスに前記ＣＰＵからのコマンドが書き込まれたときに、前記制御デバイスに対するウエイト制御を解除すると共に前記ＣＰＵに対してウエイト制御を行なうウエイト制御回路を備える、
ことを特徴とするＣＰＵ制御回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部からＣＰＵを制御するためのＣＰＵ制御装置に係り、特にＣＰＵと該ＣＰＵのプログラムのデバッグを行なう制御デバイスとから成るＣＰＵ制御装置に関する。
【背景技術】
【０００２】
従来、２つのＣＰＵが１つのメモリを共有する場合において、各ＣＰＵからのメモリアクセスを制御するためのＣＰＵ制御装置は、例えば特許文献１に記載の電子制御装置のように、メモリアクセスの効率性を高めるために、メモリにアクセスするＣＰＵや制御装置同士が汎用ポートを使用して互いに通信を行い、相手のＣＰＵのメモリアクセス状況を確認しながらメモリアクセスを行なっている。また、ＣＰＵのプログラムのデバックにおいては、例えば、特許文献２に記載されているように、プログラムのトレース情報やＣＰＵ周辺のＬＳＩの動作結果等を得るために、専用の端子やオンチップデバッガをＬＳＩの内部に搭載している。
【特許文献１】特開２００１−２１６２８４号公報
【特許文献２】特開２００２−１７５１９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記第１のＣＰＵ制御装置は、ＣＰＵ間の通信のための専用端子や専用回路、あるいは専用のプログラムが必要となり、通常の動作時にはこれらが常に動作していることから、ＣＰＵやＬＳＩにかかる負担が大きくなるといった課題を有していた。また、上記第２の構成では、デバッグ専用の端子や回路をＣＰＵ内部に設ける必要があるが、これらは、通常の動作時には使用するものではないにもかかわらず、ＬＳＩの一定面積を占めることになるため、ＬＳＩの製作コストが増加するといった課題を有していた。
【０００４】
本発明は上記課題を解決するためになされたものであり、ＣＰＵと共有メモリとを接続する既存のバス、及び共有メモリとＣＰＵの制御デバイスとを接続する既存のバスを使用して、前記共有メモリに対するアクセス制御、及び制御デバイスによるＣＰＵの動作の制御を可能とするＣＰＵ制御装置の提供を目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明の請求項１に係るＣＰＵ制御装置は、共有メモリに書き込まれたコマンドを実行し、その処理結果を前記共有メモリの所定の領域に書き込むＣＰＵと、前記共有メモリの所定の領域に前記ＣＰＵに対するコマンドを書き込み、前記共有メモリの所定の領域から前記ＣＰＵの前記コマンドの処理結果を読み取る制御デバイスと、前記ＣＰＵ、及び前記制御デバイスのいずれかによる前記共有メモリへのアクセスを制御するバス制御回路とを備えることを特徴とする。
【０００６】
また、請求項２に係るＣＰＵ制御装置は、請求項１に記載のＣＰＵ制御装置において、前記ＣＰＵ、及び前記制御デバイスは、それぞれ異なるバスにより前記共有メモリに接続されていることを特徴とする。
【０００７】
また、請求項３に係るＣＰＵ制御装置は、請求項２に記載のＣＰＵ制御装置において、前記共有メモリは、前記ＣＰＵからはデータの読み込み専用であり前記制御デバイスからはデータの書き込み専用である第１のメモリアドレス空間と、前記ＣＰＵからはデータの書き込み専用であり前記制御デバイスからはデータの読み込み専用である第２のメモリアドレス空間とを備えるものであることを特徴とする。
【０００８】
また、請求項４に係るＣＰＵ制御装置は、請求項３に記載のＣＰＵ制御装置において、前記第１のメモリアドレス空間、及び前記第２のメモリアドレス空間は、前記ＣＰＵ、あるいは前記制御デバイスからコマンドを書き込むためのコマンド領域と、前記コマンドに対応するコマンドパラメータを書き込むためのパラメータ領域と、前記コマンドの書き込みに応じて値が変化するＩＤを書き込むための領域とを備えるものであることを特徴とする。
【０００９】
また、請求項５に係るＣＰＵ制御装置は、請求項４に記載のＣＰＵ制御装置において、前記ＣＰＵは、前記第１のメモリアドレス空間の前記ＩＤを所定の時間毎に読み取り、前回読み取ったＩＤと値が異なる場合に、前記第１のメモリアドレス空間に書き込まれた前記コマンド、及び前記コマンドパラメータを読み取るものであり、前記制御デバイスは、前記第２のメモリアドレス空間の前記ＩＤを所定の時間毎に読み取り、前回読み取ったＩＤと値が異なる場合に、前記第２のメモリアドレス空間に書き込まれた前記コマンド、及び前記コマンドパラメータを読み取るものであることを特徴とする。
【００１０】
また、請求項６に係るＣＰＵ制御装置は、請求項５に記載のＣＰＵ制御装置において、前記ＣＰＵに対するＣＰＵ用命令コードを格納する外付け命令メモリが、前記ＣＰＵと前記共有メモリとを接続するバス上に前記共有メモリと並列に接続されており、前記共有メモリ、及び前記外付け命令メモリは、前記ＣＰＵによりチップセレクト信号に基づいて選択されることを特徴とする。
【００１１】
また、請求項７に係るＣＰＵ制御装置は、請求項６に記載のＣＰＵ制御装置において、前記第１のメモリアドレス空間の所定のアドレスに前記制御デバイスからのコマンドの書き込みが完了したときに、前記ＣＰＵに対して割込み信号を出力し、前記第２のメモリアドレス空間の所定のアドレスに前記ＣＰＵからのコマンドの書き込みが完了したときに、前記制御デバイスに対して割り込み信号を出力する割り込み制御回路を備えることを特徴とする。
【００１２】
また、請求項８に係るＣＰＵ制御装置は、請求項６に記載のＣＰＵ制御装置において、前記第１のメモリアドレス空間の所定のアドレスに前記制御デバイスからのコマンドが書き込まれたときに、前記ＣＰＵに対するウエイト制御を解除すると共に前記制御デバイスに対してウエイト制御を行い、前記第２のメモリアドレス空間の所定のアドレスに前記ＣＰＵからのコマンドが書き込まれたときに、前記制御デバイスに対するウエイト制御を解除すると共に前記ＣＰＵに対してウエイト制御を行なうウエイト制御回路を備えることを特徴とする。
【発明の効果】
【００１３】
以上のように、本発明のＣＰＵ制御装置によれば、ＣＰＵと該ＣＰＵの制御デバイスに共有されているメモリの内部空間に、制御デバイスからは書き込み専用であり且つシステムからは読み込み専用である第１のメモリ空間と、システムからは書き込み専用であり且つ制御デバイスからは読み込み専用である第２のメモリ空間を設定し、前記制御デバイスは、前記第１のメモリ空間に前記ＣＰＵに対するコマンドを書き込み、前記ＣＰＵは該コマンドに従い所定の処理を行ない、該処理結果を前記第２のメモリ空間に書き込み、前記制御デバイスは前記第２のメモリ空間からＣＰＵの処理結果を取得することとしたので、ＣＰＵの処理結果を取得するために必要とされていた専用端子を削減することが可能となる。
【００１４】
また、前記第１のメモリ空間、及び第２のメモリ空間内に、ＣＰＵあるいは制御デバイスからのコマンドの書き込み毎に値を変化させるＩＤを設定し、ＣＰＵ、及びデバッグ環境の制御デバイスのそれぞれが前記ＩＤをポーリングすることにより相手のメモリアクセス状況を確認することとしたので、メモリを共有するＣＰＵ間に必要とされていた通信専用端子を削減することができＣＰＵが搭載されている集積回路の規模の縮小を図ることが可能となる。
【００１５】
また、ＣＰＵと前記共有メモリとを接続するバス上に該ＣＰＵのファームウェアを格納する外付けメモリを前記共有メモリに対して並列に接続し、チップセレクト信号により前記ＣＰＵのアクセスメモリを切り替えることとしたので、前記ＣＰＵを備える集積回路は前記制御デバイスを接続した状態であっても通常の動作を行うことが可能となり、必要に応じて、チップセレクト信号を切り替えることにより前記制御デバイス主体の動作を行なわせることが可能となる。
【００１６】
また、システム側のＣＰＵ、あるいは制御デバイスのいずれかが共有メモリに対してアクセスするときには、他方の共有メモリに対するアクセスを割り込み信号、あるいはＷａｉｔ信号により制限することとしたので、共有メモリに対する不必要なアクセスを制限することができ、ＣＰＵ制御装置の動作の高速化を図ることが可能となる。
【発明を実施するための最良の形態】
【００１７】
（実施の形態１）
図１は、本発明の実施の形態１におけるＣＰＵ制御装置のブロック図を表すものである。図１において、１０１は、ＣＰＵを中心として構成されるシステムであり、例えば特定用途に応じた演算処理等を行なう。１０２は、演算処理を行なうＣＰＵである。１０３は、Ｒｅａｄ ｏｎｌｙ Ｍｅｍｏｒｙ（ＲＯＭ）であり、ＣＰＵ１０２用の命令が格納されている。１０４は、Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ（ＤＲＡＭ）であり、ＣＰＵが処理したデータを一時的に格納する。１０５は外付けのＤｙｎａｍｉｃ Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ（ＤＲＡＭ）であり、ＣＰＵ１０２が演算を行なうために必要なデータを一時的に格納する。１０６は、周辺ブロックを表し、システム１０１の動作に必要な所定の演算処理等を行なう。１０７は、ＤＲＡＭ１０５にアクセスするためのインターフェイス（ＩＦ）である。１０８はバスコントローラ（ＢＣＵ）であり、ＤＲＡＭＩＦ１０７や周辺ブロック１０６、あるいは後述するＩＦ１０９へのＣＰＵ１０２のアクセスを制御する。１０９は、システム１０１が、外部に接続されているフラッシュメモリ等の書き換え可能な不揮発性メモリに対してアクセスするためのインターフェイスである。
【００１８】
１１０は、システム１０１の制御システムを表し、本実施の形態においては、システム１０１のデバッグを行うためのデバッグ環境を表す。１１１はバッファを表し、バス制御回路１１２とメモリ１１３を備えている。ここで、システム１０１と制御デバイス１１４は、それぞれ独自のアドレスバス、データバス、あるいはコントロールバス等を介してバス制御回路１１２に接続されており、バス制御回路１１２はシステム１０１側からのメモリ１１３に対するアクセスと、後述する制御デバイス１１４からのメモリ１１３に対するアクセスを排他制御している。また、メモリ１１３は、システム１０１のＣＰＵ１０２と制御デバイス１１４に共有される共有メモリであり、制御デバイス１１４によりシステム１０１を動作させるために必要な命令コード、及びデバッグコードが格納されている。なお、本発明の実施の形態１においては、メモリ１１３として不揮発性の書き換え可能なメモリを用いている。１１４は、ＣＰＵ１０２の制御を行なうための制御デバイスである。
【００１９】
次に、ＣＰＵのメモリマッピングを図２に示す。図２に示すように、バッファ１１１用領域とＲＯＭ１０３や外付けメモリ１０５用領域を異なるアドレス空間に設けているため、ＣＰＵ１０２からバッファ１１１へのアクセスが可能となる。
【００２０】
次に、メモリ１１３の内部構造について図３を用いて説明する。図３における３０３はメモリ１１３の内部を表す模式図である。メモリ１１３は、ＩＮ領域３０４、ＯＵＴ領域３０５、及びデータ領域３０６から構成されており、これらの領域はアドレスにより範囲分けされている。このうち、ＩＮ領域３０４は、システム１０１のＣＰＵ１０２からはデータの読み込み専用のメモリアドレス空間であり、かつデバッグ環境１１０の制御デバイス１１４からはデータの書き込み専用のメモリアドレス空間である。ＯＵＴ領域３０５は、システム１０１のＣＰＵ１０２からはデータの書き込み専用のメモリアドレス空間であり、かつデバッグ環境１１０の制御デバイス１１４からはデータの読み込み専用のメモリアドレス空間である。データ領域３０６は、システム１０１のＣＰＵ１０２、及びデバッグ環境１１０の制御デバイス１１４の双方からデータの読み込み、及びデータの書き込みが可能な領域である。  
【００２１】
さらに、ＩＮ３０４、及びＯＵＴ３０５のそれぞれの領域は、ＣＰＵ１０２、あるいは制御デバイス１１４のコマンドの書き込みに応じて値を１つインクリメントさせるＩＤを書き込むための領域と、ＣＰＵ１０２、及び制御デバイス１１４から発行される命令コマンドを書き込むための領域と、前記命令コマンド用の各種のオプションや、動作モード等を設定するためのコマンドパラメータを書き込むための領域とにより構成されている。なお、所定の命令に対応する１のコマンドコードと１のコマンドパラメータとを予め定めておく。また、ＩＤ、及びコマンドコードのサイズはそれぞれ１ｂｙｔｅとしている。
【００２２】
次に、以上のように構成されたＣＰＵ制御装置の動作について図３を用いて説明する。図３は、本発明の実施の形態１におけるＣＰＵ制御装置の動作フローを表すものである。図３において３０１は、図１におけるシステム１０１側の動作フローを表す。３０２は、図１におけるデバッグ環境１１０側の動作フローを表す。３０３は上述したようにメモリ１１３の内部を表す模式図である。
【００２３】
まず、システム１０１は、ＲＯＭ１０３に格納されているプログラムにしたがって起動し、必要な初期化設定を実行した後、メモリ１１３に格納されているデバッグ用の命令コードにジャンプする。これ以降のシステム１０１は、デバッグ環境１１０から発行されるデバッグ用の命令コードに従った動作になる。
【００２４】
次に、システム１０１は、ＩＮ領域３０４のＩＤを所定の時間毎に読み取る。ＩＤの初期値は０Ｘ００であり、読み取った値に変化がなければ、システム１０１は繰り返しＩＮ領域３０４のＩＤを読み続ける。
【００２５】
次に、デバッグ環境１１０の制御デバイス１１４は、システム１０１に命令を発行する。このとき、制御デバイス１１４は、目的とする動作に応じたコマンドコード、及びコマンドパラメータに対応する値をＩＮ領域３０４に書き込み、さらにＩＤを１つインクリメントして書き換える。これにより、ＩＤは初期値０Ｘ００から０Ｘ０１になる。なお、デバッグ環境１１０の制御デバイス１１４は、システム１０１に命令を発行した後はＯＵＴ領域３０５のＩＤを所定の時間毎に読み取り、該ＩＤの初期値が変化するまで繰り返しＯＵＴ領域３０５のＩＤを読み続ける。
【００２６】
システム１０１は、読み続けていたＩＮ領域３０４のＩＤが、０Ｘ００から０Ｘ０１へ変化したことを受けて、デバッグ環境１１０の制御デバイス１１４からコマンドが発行されたものと判断する。そして制御デバイス１１４がＩＮ領域３０４に書き込んだコマンドコード、及びコマンドパラメータを読み込み、これらのコマンド、及びパラメータに応じた処理を実行する。システム１０１は、処理した結果をメモリ１１３のデータ領域３０６に書き込み、全てのコマンド処理が完了すると、コマンド完了情報やデータ領域３０６に情報が存在する情報等を情報コマンドとしてＯＵＴ領域３０５に書き込む。このとき、コマンドの書き込みと同時にＯＵＴ領域３０５のＩＤを１つインクリメントさせ、０Ｘ００から０Ｘ０１に変化させる。
【００２７】
制御デバイス１１４は、上述のようにコマンドの発行後は、ＯＵＴ領域３０５のＩＤ情報を読み続けており、ＯＵＴ領域３０５のＩＤが０Ｘ００から０Ｘ０１へ変化したことを受けて、システム１０１からコマンドが発行されたものと判断する。そして、システム１０１がＯＵＴ領域３０５の所定の領域に書き込んだコマンドコード、及びコマンドパラメータを読み取り、これらのコマンドに応じた処理を実行する。例えば、システム側１０１のコマンドに対する処理が正常終了し、該処理結果がデータ領域に存在する旨を示す情報コマンドを読み取り、データ領域３０６に書き込まれたシステム１０１の処理結果を取得する。これ以降についても上述の動作を繰り返し行うことによって、制御デバイス１１４は、目的とする命令に対するシステム１０１の処理結果を順次取得していく。
【００２８】
以上のように、本実施の形態１のＣＰＵ制御装置によれば、ＣＰＵと該ＣＰＵのプログラムのデバッグを行なう制御デバイスにより共有されているメモリの内部空間に、制御デバイスからは書き込み専用でありシステムからは読み込み専用である第１のメモリ空間と、システムからは書き込み専用であり制御デバイスからは読み込み専用である第２のメモリ空間を設定し、デバッグ環境側の制御デバイスは、前記第１のメモリ空間に前記ＣＰＵに対するコマンドを書き込み、ＣＰＵは該コマンドに従い所定の処理を行ない、該処理結果を前記第２のメモリ空間に書き込み、前記制御デバイスは前記第２のメモリ空間からＣＰＵの処理結果を取得することとしたので、プログラムトレースに必要とされていた専用端子やデバッグ専用回路を削減することが可能となる。
【００２９】
また、前記第１のメモリ空間、及び第２のメモリ空間内に、ＣＰＵあるいはデバッグ環境の制御デバイスからのコマンドの書き込み毎に値を変化させるＩＤを設定し、ＣＰＵ、及びデバッグ環境の制御デバイスのそれぞれが前記ＩＤをポーリングすることにより相手のメモリアクセス状況を確認することとしたので、メモリを共有するＣＰＵ間に必要とされていた通信専用端子を削減することができＣＰＵが搭載されている集積回路の規模の縮小を図ることが可能となる。
【００３０】
なお、上記説明においては、デバッグコードをバッファ１１１のメモリ１１３に格納しているが、メモリ１１３にシステム１０１を動作させるのに必要なファームウエアを配置しても良く、またＲＯＭ１０３にデバッグコードを配置しておき、デバッグルーティンをコールしても良い。
【００３１】
（実施の形態２）
図４は、本発明の実施の形態２におけるＣＰＵ制御装置のブロック図を表す。図４において、図１と同じ構成要素については同じ符号を用いその説明を省略する。
【００３２】
図４において、４０３は、ＣＰＵ１０２用命令コードであるファームウエアを格納する不揮発性の外付け命令メモリである。外付け命令メモリ４０３は、システム４０１とデバッグ環境４０２内のバッファ１１１とを接続するアドレスバス、データバス、及び制御信号バス上にバッファ１１１に対して並列に接続されている。４０４は、チップセレクト信号であり、ＣＰＵ１０２のメモリアクセス先として、外付け命令メモリ４０３、またはバッファ１１１内のメモリ１１３のいずれかを選択する。
【００３３】
次に、本実施の形態２におけるＣＰＵのメモリマッピングを図５に示す。図５に示すように、バッファ１１１用領域と外付け命令メモリ４０３用領域を異なるアドレス空間に設けているため、ＣＰＵ１０２はバッファ１１１、及び不揮発性外付け命令メモリ４０３に対する独立したアクセスが可能となる。
【００３４】
次に、以上のように構成されたＣＰＵ制御装置の動作について説明する。
まず、システム４０１は、ＲＯＭ１０３に格納されているプログラムにしたがって起動し、ＲＯＭ１０３、及び外付け命令メモリ４０３に格納されているファームウエアに従い通常の動作を行なう。通常の動作中にデバッグを行ないたいときには、チップセレクト信号４０４を切り替え、ＣＰＵ１０２の動作プログラムをメモリ１１３に格納されているデバッグ用命令コードにジャンプさせる。これによりＣＰＵの動作は、デバッグ環境４０２から発行されるデバッグ用命令コードに従った動作に切り替わる。これ以降の動作については、実施の形態１と同様であるためその説明を省略する。
【００３５】
以上のように、本実施の形態２のＣＰＵ制御装置によれば、ＣＰＵと前記共有メモリとを接続するバス上に該ＣＰＵのファームウェアを格納する外付けメモリを前記共有メモリに対して並列に接続し、チップセレクト信号により前記ＣＰＵのアクセスメモリを切り替えることとしたので、システムはデバッグ環境を接続した状態で通常の動作を行うことが可能となり、デバッグ動作が必要なときには、チップセレクト信号を切り替えることによりデバッグ動作を行うことが可能となる。
【００３６】
また、上述した実施の形態１と同様に、ＣＰＵと該ＣＰＵのプログラムのデバッグを行なう制御デバイスに共有されているメモリの内部空間に、制御デバイスからは書き込み専用であり且つシステムからは読み込み専用である第１のメモリ空間と、システムからは書き込み専用であり且つ制御デバイスからは読み込み専用である第２のメモリ空間を設定し、デバッグ環境側の制御デバイスは、前記第１のメモリ空間に前記ＣＰＵに対するコマンドを書き込み、ＣＰＵは該コマンドに従い所定の処理を行ない、該処理結果を前記第２のメモリ空間に書き込み、前記制御デバイスは前記第２のメモリ空間からＣＰＵの処理結果を取得することとしたので、プログラムトレースに必要とされていた専用端子やデバッグ専用回路を削減することが可能となる。また、前記第１のメモリ空間、及び第２のメモリ空間内に、ＣＰＵあるいはデバッグ環境の制御デバイスからのコマンドの書き込み毎に値を変化させるＩＤを設定し、ＣＰＵ、及びデバッグ環境の制御デバイスのそれぞれが前記ＩＤをポーリングすることにより相手のメモリアクセス状況を確認することとしたので、メモリを共有するＣＰＵ間に必要とされていた通信専用端子を削減することができＣＰＵが搭載されている集積回路の規模の縮小を図ることが可能となる。
【００３７】
（実施の形態３）
図６は、本発明の実施の形態３におけるＣＰＵ制御装置のブロック図を表す。図６において、図４と同じ構成要素については同じ符号を使用しその説明を省略する。図６において、６０３は、デバッグ環境６０２からシステム６０１側に割込み通知するための割り込み通知信号（以下、ＩｎｔＳとする）であり、６０４は、制御デバイス１１４に割り込み通知を行うための割り込み通知信号（以下、ＩｎｔＤとする）である。６０５は、ＩｎｔＳ６０３及びＩｎｔＤ６０４を出力する割り込み制御回路である。
【００３８】
次に、以上のように構成されたＣＰＵ制御装置の動作について、図７を用いて説明する。図７は、本発明の実施の形態３におけるＣＰＵ制御装置の制御フローを表す図である。図７において７０１は、システム６０１側の動作フローを表す。７０２は、デバッグ環境６０２側の動作フローを表す。７０３はバッファ１１１のメモリ１１３の内部を表す模式図であり、その内部構造は実施の形態１において説明したものと同じであるため、その説明を省略する。なお、以下の説明においては、メモリ１１３の内部構造以外の符号については、図６において示す符号を用いる。
【００３９】
まず、デバッグ環境６０２は、ＣＰＵ１０２に実行させる命令コマンドとパラメータをＩＮ領域７０４に書き込む。ここで、前記命令コマンドが、あらかじめアドレス設定しているＩＮ領域７０４のコマンド領域に書き込まれると、割り込み制御回路６０５からシステム６０１に対してＩｎｔＳ６０３が出力される。システム６０１は、ＩｎｔＳ６０３の出力を受けると、ＩＮ領域７０４に書き込まれた前記コマンドコード、及びコマンドパラメータを読み込み、目的に応じた処理を実行する。
【００４０】
次に、システム６０１は、前記コマンドの処理結果をデータ領域７０６に書き込み、全てのコマンド処理が完了すると、コマンド完了情報やデータ領域７０６に情報がある旨を情報コマンドとしてＯＵＴ領域７０５の予めアドレス設定しているコマンド領域に書き込む。ＯＵＴ領域７０５の前記コマンド領域にシステム６０１からコマンドが書き込まれると、割り込み信号制御回路６０５はデバッグ環境６０２の制御デバイス１１４に対して、ＩｎｔＤ６０４を出力する。
【００４１】
デバッグ環境６０２の制御デバイス１１４は、ＩｎｔＤ６０４を受けると、ＯＵＴ領域７０５に書き込まれたコマンドコード、及びコマンドパラメータを読み取り、目的に応じた処理を実行する。これ以降についても上述の動作を繰り返し行うことによって、制御デバイス１１４は、目的とする命令に対するシステム６０１の処理結果を順次取得していく。
【００４２】
以上のように、本実施の形態３のＣＰＵ制御装置によれば、ＣＰＵと該ＣＰＵのプログラムのデバッグを行なう制御デバイスに共有されているメモリの内部空間に、制御デバイスからは書き込み専用であり且つシステムからは読み込み専用である第１のメモリ空間と、システムからは書き込み専用であり且つ制御デバイスからは読み込み専用である第２のメモリ空間を設定し、制御デバイスが前記第１のメモリ空間にコマンドを書き込む毎に、システム側のＣＰＵに対して割り込み信号を出力し、システム側のＣＰＵが前記第２のメモリ空間にコマンドを書き込む毎に制御デバイスに対して割り込み信号を出力することとし、システム側のＣＰＵ、及び制御デバイスは割り込み信号を受けたときに第１のメモリ空間、あるいは第２のメモリ空間にアクセスを行ないコマンドを読み込むこととしたので、メモリを共有するＣＰＵ間に必要とされていた通信専用端子を削減することができ、システム側の集積回路の規模の縮小を図ることが可能となると共に、ＣＰＵあるいは制御デバイスからの不必要なメモリアクセスを制限することができるため、ＣＰＵ制御装置の動作の高速化を図ることが可能となる。
【００４３】
また、上述した実施の形態１と同様に、デバッグ環境側の制御デバイスは、前記第１のメモリ空間に前記ＣＰＵに対するコマンドを書き込み、ＣＰＵは該コマンドに従い所定の処理を行ない、該処理結果を前記第２のメモリ空間に書き込み、前記制御デバイスは前記第２のメモリ空間からＣＰＵの処理結果を取得することとしたので、プログラムトレースに必要とされていた専用端子やデバッグ専用回路を削減することが可能となる。
【００４４】
また、上述した実施の形態２と同様に、ＣＰＵと前記共有メモリとを接続するバス上に該ＣＰＵのファームウェアを格納する外付けメモリを前記共有メモリに対して並列に接続し、チップセレクト信号により前記ＣＰＵのアクセスメモリを切り替えることとしたので、システムはデバッグ環境を接続した状態で通常の動作を行うことが可能となり、デバッグ動作が必要なときには、チップセレクト信号を切り替えることによりデバッグ動作を行うことが可能となる。
【００４５】
（実施の形態４）
図８は、実施の形態４におけるＣＰＵ制御装置のブロック図を表す。図８において、図６と同じ構成要素については同じ符号を用いその説明を省略する。図８において、８０３は、システム８０１のＣＰＵ１０２のメモリ１１３に対するアクセスを制限するためのＷａｉｔＳ信号である。８０４は、制御デバイス１１４のメモリ１１３に対するアクセスを制限するためのＷａｉｔＤ信号である。８０５はＷａｉｔ信号の制御を行うウエイト制御回路である。
【００４６】
以上のように構成されたＣＰＵ制御装置の動作について、図９を用いて説明する。図９は、本発明の実施の形態４におけるＣＰＵ制御装置の制御フローを表す図である。図９において９０１は、図８におけるシステム８０１側の動作フローを表す。９０２は、図８におけるデバッグ環境８０２側の動作フローを表す。９０３はバッファ１１１のメモリ１１３の内部を表す模式図であり、その内部構造については実施の形態１と同様であるため、その説明を省略する。なお、以下の説明においては、メモリ１１３の内部構造以外の符号については、図８において示す符号を用いる。
【００４７】
まず、ＷａｉｔＤ８０４が解除されており、ＷａｉｔＳ８０３がイネーブルである状態において、デバッグ環境８０２の制御デバイス１１４は、ＣＰＵ１０２に対する命令コマンドとパラメータをあらかじめアドレス設定されているＩＮ領域９０４のコマンド領域に書き込む。これによりＩＮ領域９０４のＩＤの値が１つインクリメントすると共に、システム８０１に対するＷａｉｔＳ８０３がウエイト制御回路８０５により解除され、システム８０１からＩＮ領域９０４に対してアクセスできるようになる。その一方でウエイト制御回路８０５は、制御デバイス１１４のＷａｉｔＤ８０４をイネーブルにして制御デバイス１１４からメモリ１１３へのアクセスを制限する。
【００４８】
システム８０１は、ＩＮ領域９０４に書き込まれたコマンドコード、及びコマンドパラメータを読み取り、目的に応じた処理を実行する。その後、システム８０１は、前記コマンドの処理結果等をメモリ１１３のデータ領域９０６に書き込み、全てのコマンド処理が完了すると、データ領域９０６に情報がある旨のパラメータやコマンド完了情報等をあらかじめアドレス設定されているＯＵＴ領域９０５のコマンド領域に書き込む。これによりＯＵＴ領域９０５のＩＤが１つインクリメントし、ＷａｉｔＤ８０４がウエイト制御回路８０５により解除され、制御デバイス１１４からメモリ１１３にアクセスできるようになると共に、システム８０１のＷａｉｔＳ８０３をイネーブルにし、システム８０１からメモリ１１３へのアクセスを制限する。
【００４９】
デバッグ環境８０２の制御デバイス１１４は、ＯＵＴ領域９０５に書き込まれたコマンドコード、コマンドパラメータを読み取り、目的に応じた処理結果を取得する。これ以降についても上述の動作を繰り返し行うことによって、制御デバイス１１４は、目的とする命令に対するシステム８０１の処理結果を順次取得していく。
【００５０】
以上のように、本実施の形態４のＣＰＵ制御装置によれば、ＣＰＵと該ＣＰＵのプログラムのデバッグを行なう制御デバイスに共有されているメモリの内部空間に、制御デバイスからは書き込み専用であり且つシステムからは読み込み専用である第１のメモリ空間と、システムからは書き込み専用であり且つ制御デバイスからは読み込み専用である第２のメモリ空間を設定すると共に、ＣＰＵ、及び制御デバイスに対してＷａｉｔ信号を出力し、制御デバイスからのコマンドの書き込みに応じてＣＰＵに対するＷａｉｔ信号を解除する一方で制御デバイスに対するＷａｉｔ信号をイネーブルにし、ＣＰＵからのコマンドの書き込みに応じて、制御デバイスに対するＷａｉｔ信号を解除する一方でＣＰＵに対するＷａｉｔ信号をイネーブルにすることとしたので、メモリを共有するＣＰＵ間に必要とされていた通信専用端子を削減することができ、ＣＰＵが搭載されている集積回路の規模の縮小を図ることが可能となると共に、ＣＰＵ及び制御デバイスからの不必要なメモリアクセスを制限することができるため、ＣＰＵ制御装置の動作の高速化を図ることが可能となる。
【００５１】
また、上述した実施の形態１と同様に、デバッグ環境側の制御デバイスは、前記第１のメモリ空間に前記ＣＰＵに対するコマンドを書き込み、ＣＰＵは該コマンドに従い所定の処理を行ない、該処理結果を前記第２のメモリ空間に書き込み、前記制御デバイスは前記第２のメモリ空間からＣＰＵの処理結果を取得することとしたので、プログラムトレースに必要とされていた専用端子やデバッグ専用回路を削減することが可能となる。
【００５２】
また、上述した実施の形態２と同様に、ＣＰＵと前記共有メモリとを接続するバス上に該ＣＰＵのファームウェアを格納する外付けメモリを前記共有メモリに対して並列に接続し、チップセレクト信号により前記ＣＰＵのアクセスメモリを切り替えることとしたので、システムはデバッグ環境を接続した状態で通常の動作を行うことが可能となり、デバッグ動作が必要なときには、チップセレクト信号を切り替えることによりデバッグ動作を行うことが可能となる。
【産業上の利用可能性】
【００５３】
本発明のＣＰＵ制御装置によれば、高速動作が可能であり且つ価格製造コストが低廉なＣＰＵ制御装置を提供することが可能となる点において有用である。
【図面の簡単な説明】
【００５４】
【図１】本発明の実施の形態１におけるＣＰＵ制御装置の構成を表すブロック図である。
【図２】本発明の実施の形態１におけるＣＰＵのメモリマップを表す模式図である。
【図３】本発明の実施の形態１におけるＣＰＵ制御装置の動作フローを表す図である。
【図４】本発明の実施の形態２におけるＣＰＵ制御装置の構成を表すブロック図である。
【図５】本発明の実施の形態２におけるＣＰＵのメモリマップを表す模式図である。
【図６】本発明の実施の形態３におけるＣＰＵ制御装置の構成を表すブロック図である。
【図７】本発明の実施の形態３におけるＣＰＵ制御装置の動作フローを表す図である。
【図８】本発明の実施の形態４におけるＣＰＵ制御装置の構成を表すブロック図である。
【図９】本発明の実施の形態４におけるＣＰＵ制御装置の動作フローを表す図である。
【符号の説明】
【００５５】
１０１，４０１，６０１，８０１  システム
１０２  ＣＰＵ
１０３  ＲＯＭ
１０４  データＲＡＭ
１０５  外付けメモリ
１０６  周辺ブロック
１０７  ＤＲＡＭ  ＩＦ
１０８  バスコントローラ
１０９  ＩＦ
１１０  デバッグ環境
１１１  バッファ
１１２  バス制御回路
１１３  メモリ
１１４  制御デバイス
４０３  外付け命令メモリ
４０４  チップセレクト信号
６０３  ＩｎｔＳ信号
６０４  ＩｎｔＤ信号
６０５  割り込み信号制御回路
８０３  ＷａｉｔＳ信号
８０４  ＷａｉｔＤ信号
８０５  ウエイト制御回路
【図１】
2005202617.tif 000003
【図２】
2005202617.tif 000004
【図３】
2005202617.tif 000005
【図４】
2005202617.tif 000006
【図５】
2005202617.tif 000007
【図６】
2005202617.tif 000008
【図７】
2005202617.tif 000009
【図８】
2005202617.tif 000010
【図９】
2005202617.tif 000011