(57)【要約】【課題】複数の異なる構成をしたプロセッサのデバッグを行う際、所望のプロセッサのプログラムのみを同時に停止させることが可能なマルチプロセッサを搭載した半導体集積回路装置を得る。【解決手段】プロセッサを２つ以上備える半導体集積回路装置において、メモリ制御部３０は、プロセッサ１０がメモリ部５０の所定のアドレスにアクセスする際に、プロセッサ１０およびプロセッサ２０のプログラムを同時に停止させるための停止信号ｓｉｇ１を出力するアクセスブレーク制御部３１を備え、メモリ制御部３０とプロセッサ２０の間には、停止信号ｓｉｇ１をプロセッサ１０へ入力するか否かの制御を行うオア回路１を備えることを特徴とする半導体集積回路装置。【選択図】      図１
2004342001.tif 000002
【特許請求の範囲】
【請求項１】
独立したメモリ制御部とメモリ部が割り当てられかつメモリ制御部を介してメモリ部にプログラムを実行させるプロセッサを２つ以上備える半導体集積回路装置において、
デバッグ対象のプロセッサに割り当てられたメモリ制御部は、
前記デバッグ対象のプロセッサがメモリ部の所定のアドレスにアクセスする際に、デバッグ対象のプロセッサおよびデバッグ対象以外のプロセッサのプログラムを同時に停止させるための停止信号を出力する停止信号出力手段を備え、
前記メモリ制御部と前記デバッグ対象以外のプロセッサの間には、前記停止信号を該デバッグ対象以外のプロセッサへ入力するか否かの制御を行う第１のセレクタを備えることを特徴とする半導体集積回路装置。
【請求項２】
１つのメモリ制御部と１つのメモリ部が共通に割り当てられかつメモリ制御部を介してメモリ部にプログラムを実行させる複数のプロセッサを備える半導体集積回路装置において、
前記メモリ制御部は、
デバッグ対象のプロセッサがメモリ部の所定のアドレスにアクセスする際に、デバッグ対象のプロセッサおよびデバッグ対象以外のプロセッサのプログラムを同時に停止させるための停止信号を出力する停止信号出力手段を備えることを特徴とする半導体集積回路装置。
【請求項３】
前記メモリ制御部と前記デバッグ対象以外のプロセッサの間には、前記停止信号を該デバッグ対象以外のプロセッサへ入力するか否かの制御を行う第１のセレクタをさらに備えることを特徴とする請求項２に記載の半導体集積回路装置。
【請求項４】
前記第１のセレクタは、前記デバッグ対象のプロセッサまたは前記デバッグ対象以外のプロセッサからの第１の選択信号によって制御されることを特徴とする請求項１または３に記載の半導体集積回路装置。
【請求項５】
第２の選択信号によって前記第１のセレクタを制御する制御回路または第１の外部入力端子をさらに備えることを特徴とする請求項１または３に半導体集積回路装置。
【請求項６】
第２の外部入力端子からの第３の選択信号によって、前記第１または第２の選択信号とは関係なく前記停止信号を前記デバッグ対象以外のプロセッサに入力する場合と前記第１または第２の選択信号によって前記停止信号を前記デバッグ対象以外のプロセッサに入力するか否かの制御を行う場合とを選択する第２のセレクタをさらに備える
ことを特徴とする請求項１，３〜５のいずれか１つに記載の半導体集積回路装置。
【請求項７】
前記メモリ制御部からの第４の選択信号によって、前記第１または第２の選択信号とは関係なく前記停止信号を前記デバッグ対象以外のプロセッサに入力する場合と前記第１または第２の選択信号によって前記停止信号を前記デバッグ対象以外のプロセッサに入力するか否かの制御を行う場合とを選択する第３のセレクタをさらに備える
ことを特徴とする請求項１，３〜５のいずれか１つに記載の半導体集積回路装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は半導体集積回路装置に関し、特に、デバッグを行う際１つのプロセッサのメモリ制御ユニットからプログラムの停止信号が出力された場合に他のプロセッサのプログラムも同時に停止させることが可能なマルチプロセッサを搭載した半導体集積回路装置に関するものである。
【０００２】
【従来の技術】
コンピュータプログラムは人間によって作成されるものであるため、コンピュータプログラムの作成時においてはバグ（誤り）が混入する。このため、プログラムの開発過程においてはプログラムのデバッグ（バグの除去）をする必要がある。
【０００３】
通常、１つのプロセッサからなるマイクロコンピュータのプログラムをデバッグする場合、アドレスストップと呼ばれる方法によって動作中のプログラムを所定のアドレスで停止させていた。そして、所定のアドレスで停止させたプログラムのバグを確認しデバッグを行っている。
【０００４】
しかし、プロセッサが複数からなるマルチプロセッサのデバッグを行う場合、アドレスストップを行ったプロセッサのアドレスは所定のアドレスでプログラムを停止させることができるが、アドレスストップを行った以外のプロセッサは所定のアドレスでプログラムを停止させることができないといった問題があった。そこで、マルチプロセッサを搭載した半導体集積回路装置のデバッグにおいては、アドレスストップを複数のプロセッサで同時に行うことが要求される。
【０００５】
特許文献１に記載のデバッグ方法（情報処理装置）では、１つのプロセッサ（中央処理装置）内で出力するアドレスの停止信号（ストップアドレス）をシステムバスを通じて他のプロセッサに伝え、全てのプロセッサをほぼ同時に停止させている。
【０００６】
特許文献２に記載のデバッグ装置では、アドレスをストップさせるための情報（フェッチ・アドレス・ストップやストア・アドレス・ストップの指示）は予めシステムメモリ内の特定領域にセットしている。そして、自己のプロセッサに対するストップ指示があると、ＳＰＵ（システム・プロセッサ・ユニット）を介して他のプロセッサにストップ指示があったことを通知している。この通知を受けた他のプロセッサは、システムメモリにアクセスして物理アドレス等を読み出し（リードし）、アドレスストップを行っている。これによって、所定のプロセッサに対して同時にアドレスストップを行っている。
【０００７】
【特許文献１】
特開平２−８７２３８号公報（第３頁）
【０００８】
【特許文献２】
特開平２−１５３４４２号公報（第３，４頁）
【０００９】
【発明が解決しようとする課題】
しかしながら、前者の従来技術によればアドレスストップを行う際、全てのプロセッサを停止させているため、停止させる必要のないプロセッサも同時に停止させることになる。そのため、プロセッサの実動作に近い状態でのデバッグを行うことができず、マルチプロセッサのデバッグ処理を行う装置としては汎用性に欠けるという問題があった。
【００１０】
また、後者の従来技術によれば１つのプロセッサに対して１つのメモリが割り当てられるような構成のマルチプロセッサには対応できないといった問題があった。また、複数のプロセッサが夫々異なる構成をしている場合には、全てのプロセッサから同一の停止信号やその通知出力させるためにプロセッサの内部回路を変更する必要があるといった問題があった。さらに、複数のアドレスストップを行う際、アドレスストップの指示があったプロセッサからＳＰＵを介して他のプロセッサにアドレスストップの通知を行い、他のプロセッサはメモリにアクセスして物理アドレスを読み出すという複雑な手順を踏まなければならないといった問題があった。
【００１１】
この発明は上記に鑑みてなされたものであって、複数の異なる構成をしたプロセッサのデバッグを行う際、所望のプロセッサのプログラムのみを同時に停止させることが可能なマルチプロセッサを搭載した半導体集積回路装置を得ることを目的とする。
【００１２】
【課題を解決するための手段】
上述した課題を解決し、目的を達成するために、本発明にかかる半導体集積回路装置にあっては、独立したメモリ制御部とメモリ部が割り当てられかつメモリ制御部を介してメモリ部にプログラムを実行させるプロセッサを２つ以上備える半導体集積回路装置において、デバッグ対象のプロセッサに割り当てられたメモリ制御部は、前記デバッグ対象のプロセッサがメモリ部の所定のアドレスにアクセスする際に、デバッグ対象のプロセッサおよびデバッグ対象以外のプロセッサのプログラムを同時に停止させるための停止信号を出力する停止信号出力手段を備え、前記メモリ制御部と前記デバッグ対象以外のプロセッサの間には、前記停止信号を該デバッグ対象以外のプロセッサへ入力するか否かの制御を行う第１のセレクタを備えることを特徴とする。
【００１３】
この発明によれば、メモリ制御部から複数のプロセッサに停止信号が入力されるため各プロセッサからプログラムの停止信号を出す必要がなく、複数のプロセッサが夫々異なる構成をしている場合であっても複数のプロセッサを同時に停止させることができる。
【００１４】
【発明の実施の形態】
以下、本発明にかかる半導体集積回路装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１５】
実施の形態１．
図１および図２に従ってこの発明の実施の形態１について説明する。図１はこの発明の実施の形態１にかかるマルチプロセッサを搭載した半導体集積回路装置のブロック図である。図１において半導体集積回路装置１００は、プロセッサ１０、メモリ制御部３０、メモリ部５０、プロセッサ２０、メモリ制御部４０、メモリ部６０、例えばオア回路１からなるセレクタからなる。
【００１６】
プロセッサ１０，２０は、命令のデコードや実行を行うプロセッサコア１１，２１と、プロセッサの外部からプログラム停止信号が入力された場合このプロセッサのプログラムを停止させプロセッサをデバッグモードに移行させるデバッグ支援回路１２，２２からなる。
【００１７】
メモリ制御部３０とメモリ制御部４０は、それぞれプロセッサ１０，２０の要求を受けメモリ部５０，６０を制御するものである。メモリ制御部３０はプロセッサ１０と電気的に接続され、アクセスブレーク制御部３１を備える。メモリ制御部４０はプロセッサ２０と電気的に接続され、アクセスブレーク制御部４１を備えている。アクセスブレーク制御部３１は、メモリ制御部３０がプロセッサ１０からメモリ部５０内の所定の領域（アドレス）へのアクセス要求を受け付けるとプロセッサ１０とオア回路１に対して同時に停止信号ｓｉｇ１を出力する。
【００１８】
また、半導体集積回路装置１００において、アクセスブレーク制御部３１から出力される停止信号ｓｉｇ１とデバッグ支援回路２２から出力される選択信号ｓｉｇ２はオア回路１に入力され、オア回路１の出力信号ｓｉｇ３がプロセッサ２０に入力される構成となっている。なお、この選択信号ｓｉｇ２はデバッグ処理をする作業者によって入力されるものであり、停止信号ｓｉｇ１をプロセッサ２０に入力させるか否かの制御を行うものである。
【００１９】
メモリ部５０は、メモリ制御部３０と電気的に接続され、メモリ部６０はメモリ制御部４０と電気的に接続されている。
【００２０】
つぎに、図２に従ってこの発明の実施の形態１にかかるデバッグ処理手順について説明する。図２はこの発明の実施の形態１にかかるマルチプロセッサを搭載した半導体集積回路装置のデバッグの処理手順を示すフローチャートである。
【００２１】
デバッグ支援回路２２の選択信号ｓｉｇ２の設定をした後、プロセッサ１０がプログラムの実行を開始すると、プロセッサ１０はメモリ制御部３０を介してメモリ部５０にアクセスする（ステップＳ１００）。メモリ制御部３０のアクセスブレーク制御部３１は、メモリ制御部３０がプロセッサ１０からメモリ部５０内への所定の領域（アドレス）へのアクセス要求を受け付けるとプロセッサ１０とオア回路１に対してプログラムの停止信号ｓｉｇ１を出力する（ステップＳ１１０）。なお、アクセスブレーク制御部３１からプロセッサ１０へ出力する停止信号はプロセッサ１０がメモリ制御部３０を介してメモリ部５０へアクセスする前であってもよいし、アクセスした後であってもよい。
【００２２】
また、プロセッサ２０のデバッグ支援回路２２からオア回路１へは選択信号ｓｉｇ２が入力されている。この選択信号ｓｉｇ２によって、オア回路１が停止信号ｓｉｇ１をプロセッサ２０へ入力するか否かを決定する（ステップＳ１２０）。ｓｉｇ２が０である場合、オア回路１のｓｉｇ３には停止信号ｓｉｇ１が出力されプロセッサ２０が実行中のプログラムは停止する（ステップＳ１３０）。また、プロセッサ２０からの選択信号ｓｉｇ２が“１”である場合、プロセッサ２０が実行中のプログラムは停止しない。
【００２３】
なお、本実施の形態１においてはデバッグ支援回路１２，２２がプロセッサ１０，２０の内部に備えられている場合について説明したが、プロセッサ１０，２０の外部に備えられるような構成であってもよい。
【００２４】
また、本実施の形態１においてはオア回路１へ入力される選択信号の１つがプロセッサ２０から出力される選択信号ｓｉｇ２である場合について説明したが、プロセッサ２０とは別のプロセッサ１０、制御回路、外部端子からオア回路１へ選択信号を入力してもよい。
【００２５】
さらに、本実施の形態１においては半導体集積回路装置が２つのプロセッサで構成されている場合について説明したが、半導体集積回路装置は３つ以上のプロセッサで構成されていてもよい。この場合、プロセッサ毎にオア回路を設置しこのオア回路毎に停止信号ｓｉｇ１とそのプロセッサが備えるデバッグ支援回路からの選択信号を入力し、オア回路１の出力信号をこのプロセッサに出力するような構成にすればよい。
【００２６】
さらに、本実施の形態１においてはプロセッサ１０に停止信号が入力された場合にプロセッサ２０と電気的に接続されたオア回路１に停止信号ｓｉｇ１が送信される場合について説明したが、アクセスブレーク制御部４１からプロセッサ１０，２０へ停止信号を出力するようにしてもよい。
【００２７】
この場合、プロセッサ１０はプロセッサ２０と同様にオア回路（図示せず）と接続される必要がある。そして、アクセスブレーク制御部４１から出力される停止信号とプロセッサ１０から出力される選択信号をこのオア回路に入力し、このオア回路の出力信号をデバッグ支援回路１２に入力すればよい。
【００２８】
このように、実施の形態１によれば、アクセスブレーク制御部３１とプロセッサ２０の間にオア回路１を１つ設けるという簡単な構成で、プロセッサ１０とプロセッサ２０のプログラムを同時に停止させることができる。
【００２９】
また、プロセッサからプログラムの停止信号を出す必要がないため、プロセッサ１０の内部回路を変更することなくプロセッサ１０とプロセッサ２０のプログラムを同時に停止させることができる。また、複数のプロセッサが夫々異なる構成をしている場合であっても各プロセッサから停止信号を出力させることなく複数のプロセッサを同時に停止させることが可能となる。
【００３０】
さらに、プロセッサ２０からの選択信号ｓｉｇ２をオア回路１に入力しているので、メモリ制御部３０からの停止信号を入力させるか否かをプロセッサ２０の設定によって決定することができる。これによって所望のプロセッサのみを同時に停止させることができるため、停止させる必要のないプロセッサに対してはその動作を妨げることなく実動作に近い状態のデバッグを行うことが可能となる。したがって、汎用性に富む半導体集積回路装置を得ることができるとともに、プログラムのデバッグを行う時間を短縮することが可能となる。
【００３１】
実施の形態２．
図３および図４に従ってこの発明の実施の形態２について説明する。図３はこの発明の実施の形態２にかかるマルチプロセッサを搭載したで半導体集積回路装置のブロック図であり、図３の各構成要素のうち図１に示す実施の形態１の半導体集積回路装置と同一の機能を達成する構成要素については同一番号を付しており、重複する説明は省略する。図３において半導体集積回路装置２００は、プロセッサ１０、プロセッサ２０、メモリ制御部７０、メモリ部８０からなる。
【００３２】
メモリ制御部７０は、プロセッサ１０およびプロセッサ２０と電気的に接続され、プロセッサ１０，２０の要求を受けメモリ部８０を制御するものでありアクセスブレーク制御部７１を備えている。さらに、アクセスブレーク制御部７１から出力されるプログラムの停止信号ｓｉｇ４はプロセッサ１０，２０に同時に入力されるような回路構成としている。
【００３３】
メモリ部８０は、メモリ制御部７０と電気的に接続されてプロセッサ１０およびプロセッサ２０に共有されるものである。
【００３４】
つぎに、図４に従ってこの発明の実施の形態２にかかるデバッグ処理手順について説明する。図４はこの発明の実施の形態２にかかるマルチプロセッサを搭載した半導体集積回路装置のデバッグの処理手順を示すフローチャートである。
【００３５】
プロセッサ１０がプログラムの実行を開始すると、プロセッサ１０はメモリ制御部７０を介してメモリ部８０にアクセスする（ステップＳ２００）。メモリ制御部７０のアクセスブレーク制御部７１は、メモリ制御部７０がプロセッサ１０からメモリ部８０内の所定の領域（アドレス）へのアクセス要求を受け付けるとプロセッサ１０およびプロセッサ２０に対して同時にプログラムの停止信号ｓｉｇ４を出力する（ステップＳ２１０）。
【００３６】
プロセッサ１０，２０に対してプログラムの停止信号ｓｉｇ４が入力されると、プロセッサ１０およびプロセッサ２０が実行中のプログラムは同時に停止する（ステップＳ２２０）。
【００３７】
なお、アクセスブレーク制御部７１からプロセッサ１０へ出力する停止信号ｓｉｇ４はプロセッサ１０がメモリ制御部７０を介してメモリ部８０へアクセスする前であってもよいし、アクセスした後であってもよい。
【００３８】
また、本実施の形態２においては半導体集積回路装置２００が２つのプロセッサで構成されている場合について説明したが、半導体集積回路装置は３つ以上のプロセッサで構成されていてもよい。
【００３９】
この場合、メモリ制御部７０のアクセスブレーク制御部７１は、メモリ制御部７０がプロセッサ１０からメモリ部８０内の所定の領域（アドレス）へのアクセス要求を受け付けると半導体集積回路装置２００内の全てのプロセッサに対して同時にプログラムの停止信号ｓｉｇ４を出力する。半導体集積回路装置２００内の全てのプロセッサに対してプログラムの停止信号ｓｉｇ４が入力されると、半導体集積回路装置２００内の全てのプロセッサが実行中のプログラムは全て同時に停止する。
【００４０】
なお、半導体集積回路装置２００内のプロセッサにおいてプロセッサ１０と同時に停止させる必要がないプロセッサに対しては、アクセスブレーク制御部７１からのｓｉｇ４を入力しなければよい。
【００４１】
また、アクセスブレーク制御部７１が半導体集積回路装置２００内のプロセッサ１０以外の所定のプロセッサからメモリ部８０内の所定の領域（アドレス）へのアクセス要求を受け付けると半導体集積回路装置２００内の全てのプロセッサまたは所定のプロセッサに対して同時に停止信号ｓｉｇ４の出力をするようにしてもよい。
【００４２】
このように、実施の形態２によれば、プロセッサ１０とプロセッサ２０が共通のメモリ制御部７０と共通のメモリ部８０を割り当てられるような構成の半導体集積回路装置に対しても、簡単な構成でプロセッサ１０とプロセッサ２０のプログラムを同時に停止させることができる。
【００４３】
また、プロセッサからプログラムの停止信号を出す必要がないため、プロセッサ１０の内部回路を変更することなくプロセッサ１０とプロセッサ２０のプログラムを同時に停止させることができる。また、複数のプロセッサが夫々異なる構成をしている場合であっても各プロセッサから停止信号を出力させることなく複数のプロセッサを同時に停止させることが可能となる。
【００４４】
実施の形態３．
図５に従ってこの発明の実施の形態３について説明する。図５はこの発明の実施の形態３にかかるマルチプロセッサを搭載した半導体集積回路装置のブロック図であり、図５の各構成要素のうち図１または図３に示す半導体集積回路装置と同一の機能を達成する構成要素については同一番号を付しており、重複する説明は省略する。図５において半導体集積回路装置３００は、プロセッサ１０、プロセッサ２０、メモリ制御部７０、メモリ部８０、例えばオア回路３からなるセレクタからなる。
【００４５】
また、半導体集積回路装置３００において、アクセスブレーク制御部７１から出力される停止信号ｓｉｇ４とデバッグ支援回路２２から出力される停止信号ｓｉｇ２はオア回路３に入力され、オア回路３の出力信号ｓｉｇ３がプロセッサ２０に入力される構成となっている。さらに、停止信号ｓｉｇ４はオア回路３に入力するのと同時にプロセッサ１０に入力される構成となっている。
【００４６】
つぎに、この発明の実施の形態３にかかるデバッグ処理手順について説明する。実施の形態３では、図２に示した実施の形態１と同様の手順によって半導体集積回路装置によるデバッグ処理が行われるが、実施の形態３においては、メモリ制御部７０がプロセッサ１０からメモリ部８０内の所定の領域（アドレス）へのアクセス要求を受け付けると、メモリ制御部７０のアクセスブレーク制御部７１がプロセッサ１０およびオア回路３に対してプログラムの停止信号ｓｉｇ４を同時に出力する。そして、選択信号ｓｉｇ２によって、プロセッサ２０は停止信号ｓｉｇ４をプロセッサ２０へ入力させるか否かを決定する。
【００４７】
なお、本実施の形態３においては半導体集積回路装置が２つのプロセッサで構成されている場合について説明したが、半導体集積回路装置は３つ以上のプロセッサで構成されていてもよい。この場合、プロセッサ毎にオア回路を設置しこのオア回路毎に停止信号ｓｉｇ４とそのプロセッサが備えるデバッグ支援回路からの選択信号を入力し、オア回路３の出力信号をこのプロセッサに入力するような構成にすればよい。
【００４８】
このように、実施の形態３によれば、プロセッサ２０からの選択信号ｓｉｇ２をオア回路３に入力しているので、プロセッサ１０とプロセッサ２０が共通のメモリ制御部７０と共通のメモリ部８０を割り当てられるような構成の半導体集積回路装置に対しても、メモリ制御部３０からの停止信号を入力させるか否かをプロセッサ２０の設定によって決定することができる。これによって所望のプロセッサのみを同時に停止させることができるため、停止させる必要のないプロセッサに対してはその動作を妨げることなく実動作に近い状態のデバッグを行うことが可能となる。したがって、汎用性に富む半導体集積回路装置を得ることができるとともに、プログラムのデバッグを行う時間を短縮することが可能となる。
【００４９】
実施の形態４．
図６および図７に従ってこの発明の実施の形態４について説明する。図６はこの発明の実施の形態４にかかるマルチプロセッサを搭載した半導体集積回路装置のブロック図であり、図６の各構成要素のうち図１に示す半導体集積回路装置と同一の機能を達成する構成要素については同一番号を付しており、重複する説明は省略する。図７において半導体集積回路装置４００は、プロセッサ１０、メモリ制御部３０、メモリ部５０、プロセッサ２０、メモリ制御部４０、メモリ部６０、セレクタ９０からなる。
【００５０】
セレクタ９０はオア回路４，５とアンド回路６で構成されている。さらに、オア回路４の出力信号とオア回路５の出力信号はアンド回路６に入力されアンド回路６の出力信号ｓｉｇ５はプロセッサ２０に入力される構成となっている。
【００５１】
また、半導体集積回路装置４００においては図示しない外部入力端子からの入力信号によってプロセッサ２０へ入力する停止信号を選択することが可能なモード選択信号ｓｉｇ６をセレクタ９０へ入力するよう構成されている。
【００５２】
オア回路４へは、プロセッサ２０のデバッグ支援回路２２から出力される選択信号ｓｉｇ２、メモリ制御部３０のアクセスブレーク制御部３１から出力される停止信号ｓｉｇ１、外部からのモード選択信号ｓｉｇ６が入力される構成となっており、オア回路５へは、メモリ制御部３０のアクセスブレーク制御部３１から出力されるｓｉｇ１、外部からのモード選択信号ｓｉｇ６を反転した信号が入力される構成となっている。
【００５３】
つぎに、図７に従ってこの発明の実施の形態４にかかるデバッグ処理手順について説明する。図７はこの発明の実施の形態４にかかるマルチプロセッサを搭載した半導体集積回路装置のデバッグの処理手順を示すフローチャートである。
【００５４】
デバッグ支援回路２２の選択信号ｓｉｇ２の設定をした後、プロセッサ１０がプログラムの実行を開始すると、プロセッサ１０はメモリ制御部３０を介してメモリ部５０にアクセスする（ステップＳ４００）。メモリ制御部３０のアクセスブレーク制御部３１は、メモリ制御部３０がプロセッサ１０からメモリ部５０内の所定の領域（アドレス）へのアクセス要求を受け付けるとプロセッサ１０と同時にオア回路４，５へプログラムの停止信号ｓｉｇ１を出力する（ステップＳ４１０）。
【００５５】
また、プロセッサ２０のデバッグ支援回路２２からオア回路４へは選択信号ｓｉｇ２が入力されている。さらに、外部からオア回路４へはモード選択信号ｓｉｇ６を入力しており、オア回路５へはモード選択信号ｓｉｇ６を反転させた信号を入力している。
【００５６】
アクセスブレーク制御部３１からセレクタ９０のオア回路４，５に停止信号ｓｉｇ１が入力された場合、デバッグ支援回路２２からの選択信号ｓｉｇ２と外部からのモード選択信号ｓｉｇ６に基づいてセレクタ９０のアンド回路６からデバッグ支援回路２２に出力される信号が決定される（ステップＳ４２０，Ｓ４３０）。
【００５７】
モード選択信号ｓｉｇ６が０の場合であって選択信号ｓｉｇ２が“１”の場合、オア回路４，５からは“１”が出力され、アンド回路６からは“１”が出力される。モード選択信号ｓｉｇ６が０の場合であって選択信号ｓｉｇ２が０の場合、オア回路４からは停止信号ｓｉｇ１が出力され、オア回路５からは１が出力される。したがってアンド回路６からは停止信号ｓｉｇ１が出力される。
【００５８】
一方モード選択信号ｓｉｇ６が１の場合、オア回路５からの出力信号は停止信号ｓｉｇ１となるため選択信号ｓｉｇ２の出力信号に関わらずアンド回路６からは停止信号ｓｉｇ１が出力される。
【００５９】
このように、モード選択信号ｓｉｇ６の出力信号によって選択信号ｓｉｇ２とは関係なく停止信号ｓｉｇ１をプロセッサ２０に入力させる場合と、選択信号ｓｉｇ２の出力信号によって停止信号ｓｉｇ１をプロセッサ２０に入力させるか否かを決定する場合を選択することが可能となる。アンド回路６から停止信号ｓｉｇ１が出力される場合、プロセッサ２０が実行中のプログラムは停止する（ステップＳ４４０）。
【００６０】
このように、実施の形態４によれば、１つのプロセッサに対して独立したメモリ制御部とメモリ部が割り当てられるような構成の半導体集積回路装置に対しても、モード選択信号ｓｉｇ６を入力するための外部入力端子とセレクタ９０を備えているので、半導体集積回路装置４００の外部からのモード選択信号ｓｉｇ６の出力信号によって選択信号ｓｉｇ２とは関係なく停止信号ｓｉｇ１をプロセッサ２０に入力させる場合と、選択信号ｓｉｇ２の出力信号によって停止信号ｓｉｇ１をプロセッサ２０に入力させるか否かを決定する場合を選択することが可能となる。
【００６１】
これによって所望のプロセッサのみを同時に停止させることができるため、停止させる必要のないプロセッサに対してはその動作を妨げることなく実動作に近い状態のデバッグを行うことが可能となる。したがって、汎用性に富む半導体集積回路装置を得ることができるとともに、プログラムのデバッグを行う時間を短縮することが可能となる。
【００６２】
実施の形態５．
図８に従ってこの発明の実施の形態５について説明する。図８はこの発明の実施の形態５にかかるマルチプロセッサを搭載した半導体集積回路装置のブロック図であり、図８の各構成要素のうち図３または図５に示す半導体集積回路装置と同一の機能を達成する構成要素については同一番号を付しており、重複する説明は省略する。図８において半導体集積回路装置５００は、プロセッサ１０、プロセッサ２０、メモリ制御部７０、メモリ部８０、セレクタ９０からなる。
【００６３】
オア回路４へは、プロセッサ２０のデバッグ支援回路２２から出力される選択信号ｓｉｇ２、メモリ制御部７０のアクセスブレーク制御部７１から出力される停止信号ｓｉｇ４、外部からのモード選択信号ｓｉｇ６が入力される構成となっており、オア回路５へは、メモリ制御部７０のアクセスブレーク制御部７１から出力される選択信号ｓｉｇ４、外部からのモード選択信号ｓｉｇ６を反転した信号が入力される構成となっている。アクセスブレーク制御部７１から出力される停止信号ｓｉｇ４はプロセッサ１０とオア回路４，５へ同時に出力される。
【００６４】
つぎに、この発明の実施の形態５にかかるデバッグ処理手順について説明する。実施の形態５においては、図７に示した実施の形態４と同様の手順によって半導体集積回路装置によるデバッグ処理が行われるが、実施の形態５においては、メモリ制御部７０がプロセッサ１０からメモリ部８０内の所定の領域（アドレス）へのアクセス要求を受け付けると、メモリ制御部７０のアクセスブレーク制御部７１がプロセッサ１０およびオア回路４，５に対して同時にプログラムの停止信号ｓｉｇ４を出力する。
【００６５】
そして、アクセスブレーク制御部７１からセレクタ９０のオア回路４，５に停止信号ｓｉｇ１が入力された際、デバッグ支援回路２２と外部からのモード選択信号ｓｉｇ６に基づいてセレクタ９０のアンド回路６からデバッグ支援回路２２に出力される信号が決定される。
【００６６】
このように、実施の形態５によれば、プロセッサ１０とプロセッサ２０が共通のメモリ制御部７０と共通のメモリ部８０を割り当てられるような構成の半導体集積回路装置に対しても、モード選択信号ｓｉｇ６を入力するための外部入力端子とセレクタ９０を備えているので、半導体集積回路装置５００の外部からのモード選択信号ｓｉｇ６の出力信号によって選択信号ｓｉｇ２とは関係なく停止信号ｓｉｇ１をプロセッサ２０に入力させる場合と、選択信号ｓｉｇ２の出力信号によってｓｉｇ１をプロセッサ２０に入力させるか否かを決定する場合を選択することが可能となる。これによって所望のプロセッサのみを同時に停止させることができるため、停止させる必要のないプロセッサに対してはその動作を妨げることなく実動作に近い状態のデバッグを行うことが可能となる。したがって、汎用性に富む半導体集積回路装置を得ることができるとともに、プログラムのデバッグを行う時間を短縮することが可能となる。
【００６７】
実施の形態６．
図９および図１０に従ってこの発明の実施の形態６について説明する。図９はこの発明の実施の形態６にかかるマルチプロセッサを搭載した半導体集積回路装置のブロック図であり、図９の各構成要素のうち図１または図６に示す半導体集積回路装置と同一の機能を達成する構成要素については同一番号を付しており、重複する説明は省略する。図９において半導体集積回路装置６００は、プロセッサ１０、メモリ制御部３０、メモリ部５０、プロセッサ２０、メモリ制御部４０、メモリ部６０、セレクタ９０からなる。
【００６８】
メモリ制御部３０は、プロセッサ１０がメモリ部５０内において実際にアクセスしているアドレスが予め設定した所定のアドレス内に入っているか否かの比較を行い、所定のアドレス内に入っている場合には“１”を出力し、そうでない場合は“０”を出力するアドレス比較部３２を備えている。また、半導体集積回路装置６００は、アドレス比較部３２から出力される選択信号ｓｉｇ７をオア回路４，５へ入力するよう構成されている。
【００６９】
オア回路４へは、プロセッサ２０のデバッグ支援回路２２から出力される選択信号ｓｉｇ２、メモリ制御部３０のアクセスブレーク制御部３１から出力される停止信号ｓｉｇ１、メモリ制御部３０のアドレス比較部３２から出力される選択信号ｓｉｇ７が入力される構成となっており、オア回路５へは、メモリ制御部３０のアクセスブレーク制御部３１から出力される停止信号ｓｉｇ１、メモリ制御部３０のアドレス比較部３２から出力される選択信号ｓｉｇ７を反転した信号が入力される構成となっている。さらに、オア回路４の出力信号とオア回路５の出力信号はアンド回路６に入力されアンド回路６の出力信号はプロセッサ２０に入力される構成となっている。
【００７０】
つぎに、図１０に従ってこの発明の実施の形態６にかかるデバッグ処理手順について説明する。図１０はこの発明の実施の形態６にかかるマルチプロセッサを搭載した半導体集積回路装置のデバッグ処理手順を示すフローチャートである。
【００７１】
デバッグ支援回路２２の選択信号ｓｉｇ２の設定をした後、プロセッサ１０がプログラムの実行を開始すると、プロセッサ１０はメモリ制御部３０を介してメモリ部５０にアクセスする（ステップＳ６００）。メモリ制御部３０のアクセスブレーク制御部３１は、メモリ制御部３０がプロセッサ１０からメモリ部５０内の所定の領域（アドレス）へのアクセス要求を受け付けるとプロセッサ１０と同時にオア回路４，５へプログラムの停止信号ｓｉｇ１を出力する（ステップＳ６１０）。
【００７２】
また、プロセッサ２０のデバッグ支援回路２２からオア回路４へは選択信号ｓｉｇ２が入力されている。さらに、メモリ制御部３０のアドレス比較部３２からオア回路４へは選択信号ｓｉｇ７を入力しており、オア回路５へは選択信号ｓｉｇ７を反転させた信号を入力している。
【００７３】
アクセスブレーク制御部３１からセレクタ９０のオア回路４，５に停止信号ｓｉｇ１が入力された場合、デバッグ支援回路２２からの選択信号ｓｉｇ２とアドレス比較部３２からの選択信号ｓｉｇ７に基づいてセレクタ９０のアンド回路６からデバッグ支援回路２２に出力される信号が決定される（ステップＳ６２０，Ｓ６３０）。
【００７４】
選択信号ｓｉｇ７が０の場合であって選択信号ｓｉｇ２が“１”の場合、オア回路４，５からは“１”が出力され、アンド回路６からは“１”が出力される。選択信号ｓｉｇ７が０の場合であって選択信号ｓｉｇ２が０の場合、オア回路４からは停止信号ｓｉｇ１が出力され、オア回路５からは“１”が出力される。したがってアンド回路６からは停止信号ｓｉｇ１が出力される。
【００７５】
一方選択信号ｓｉｇ７が１の場合、オア回路５からの出力信号は停止信号ｓｉｇ１となるため選択信号ｓｉｇ２の出力信号に関わらずアンド回路６からは停止信号ｓｉｇ１が出力される。
【００７６】
このように、選択信号ｓｉｇ７の出力信号によって選択信号ｓｉｇ２とは関係なく停止信号ｓｉｇ１をプロセッサ２０に入力させる場合と、停止信号ｓｉｇ１を選択信号ｓｉｇ２の出力信号によってプロセッサ２０に入力させるか否かを決定する場合を選択することが可能となる。
【００７７】
アンド回路６から停止信号ｓｉｇ１が出力される場合、プロセッサ２０が実行中のプログラムは停止する（ステップＳ６４０）。
【００７８】
このように、実施の形態６によれば、１つのプロセッサに対して独立したメモリ制御部とメモリ部が割り当てられるような構成の半導体集積回路装置に対しても、選択信号ｓｉｇ７を出力するアドレス比較部３２とセレクタ９０を備えているので、プロセッサ１０がメモリ部５０の所定のアドレスにアクセスしたか否かによって選択信号ｓｉｇ２とは関係なく停止信号ｓｉｇ１をプロセッサ２０に入力させる場合と、選択信号ｓｉｇ２の出力信号によって停止信号ｓｉｇ１をプロセッサ２０に入力させるか否かを決定する場合を自動的に選択することが可能となる。
【００７９】
これによって所定の条件を満たした所望のプロセッサのみを同時に停止させることができるため、停止させる必要のないプロセッサに対してはその動作を妨げることなく実動作に近い状態のデバッグを行うことが可能となる。したがって、汎用性に富む半導体集積回路装置を得ることができるとともに、プログラムのデバッグを行う時間を短縮することが可能となる。
【００８０】
実施の形態７．
図１１に従ってこの発明の実施の形態７について説明する。図１１はこの発明の実施の形態７にかかるマルチプロセッサを搭載した半導体集積回路装置のブロック図であり、図１１の各構成要素のうち図３または図９に示す半導体集積回路装置と同一の機能を達成する構成要素については同一番号を付しており、重複する説明は省略する。図１１において半導体集積回路装置７００は、プロセッサ１０、プロセッサ２０、メモリ制御部７０、メモリ部８０、セレクタ９０からなる。
【００８１】
メモリ制御部７０は、プロセッサ１０が実際にアクセスしているメモリ部５０のアドレスが予め設定した所定のアドレス内に入っているか否かの比較を行うアドレス比較部７２を備えている。
【００８２】
オア回路４へは、プロセッサ２０のデバッグ支援回路２２から出力される選択信号ｓｉｇ２、メモリ制御部７０のアクセスブレーク制御部７１から出力される停止信号ｓｉｇ１、メモリ制御部７０のアドレス比較部７２からの選択信号ｓｉｇ７が入力される構成となっており、オア回路５へは、メモリ制御部７０のアクセスブレーク制御部７１から出力される停止信号ｓｉｇ１、メモリ制御部７０のアドレス比較部７２からの選択信号ｓｉｇ７を反転した信号が入力される構成となっている。アクセスブレーク制御部７１から出力される停止信号ｓｉｇ４は、プロセッサ１０とオア回路４，５へ同時に出力される。また、アドレス比較部７２から出力される選択信号ｓｉｇ７は、オア回路４とオア回路５へ同時に出力される。
【００８３】
つぎに、この発明の実施の形態７にかかるデバッグ処理手順について説明する。実施の形態７においては、図１０に示した実施の形態６と同様の手順によって半導体集積回路装置によるデバッグ処理が行われるが、実施の形態７においては、メモリ制御部７０がプロセッサ１０からメモリ部８０内の所定の領域（アドレス）へのアクセス要求を受け付けると、メモリ制御部７０のアクセスブレーク制御部７１がプロセッサ１０およびオア回路４，５に対して同時にプログラムの停止信号ｓｉｇ４を出力する。
【００８４】
そして、アクセスブレーク制御部７１からセレクタ９０のオア回路４，５に停止信号ｓｉｇ１が入力された際、デバッグ支援回路２２からのｓｉｇ２とアドレス比較部７２からの選択信号ｓｉｇ７に基づいてセレクタ９０のアンド回路６からデバッグ支援回路２２に出力される信号が決定される。
【００８５】
このように、実施の形態７によれば、プロセッサ１０とプロセッサ２０が共通のメモリ制御部７０と共通のメモリ部８０を割り当てられるような構成の半導体集積回路装置に対しても、選択信号ｓｉｇ７を出力するアドレス比較部３２とセレクタ９０を備えているので、プロセッサ１０がメモリ部５０の所定のアドレスにアクセスしたか否かによって選択信号ｓｉｇ２とは関係なく停止信号ｓｉｇ１をプロセッサ２０に入力させる場合と、選択信号ｓｉｇ２の出力信号によってｓｉｇ１をプロセッサ２０に入力させるか否かを決定する場合を選択することが可能となる。
【００８６】
これによって所定の条件を満たした所望のプロセッサのみを同時に停止させることができるため、停止させる必要のないプロセッサに対してはその動作を妨げることなく実動作に近い状態のデバッグを行うことが可能となる。したがって、汎用性に富む半導体集積回路装置を得ることができるとともに、プログラムのデバッグを行う時間を短縮することが可能となる。
【００８７】
【発明の効果】
以上説明したとおり、この発明によれば、複数のプロセッサが夫々異なる構成をしている場合であってもプロセッサからプログラムの停止信号を出す必要がないため、プロセッサの内部回路を変更することなく所望のプロセッサのプログラムを同時に停止させることができ、実動作に近い状態でのデバッグが可能になるという効果を奏する。
【図面の簡単な説明】
【図１】この発明の実施の形態１にかかるマルチプロセッサを搭載した半導体集積回路装置のブロック図である。
【図２】この発明の実施の形態１にかかるマルチプロセッサを搭載した半導体集積回路装置のデバッグの処理手順を示すフローチャートである。
【図３】この発明の実施の形態２にかかるマルチプロセッサを搭載した半導体集積回路装置のブロック図である。
【図４】この発明の実施の形態２にかかるマルチプロセッサを搭載した半導体集積回路装置のデバッグの処理手順を示すフローチャートである。
【図５】この発明の実施の形態３にかかるマルチプロセッサを搭載した半導体集積回路装置のブロック図である。
【図６】この発明の実施の形態４にかかるマルチプロセッサを搭載した半導体集積回路装置のブロック図である。
【図７】この発明の実施の形態４にかかるマルチプロセッサを搭載した半導体集積回路装置のデバッグの処理手順を示すフローチャートである。
【図８】この発明の実施の形態５にかかるマルチプロセッサを搭載した半導体集積回路装置のブロック図である。
【図９】この発明の実施の形態６にかかるマルチプロセッサを搭載した半導体集積回路装置のブロック図である。
【図１０】この発明の実施の形態６にかかるマルチプロセッサを搭載した半導体集積回路装置のデバッグの処理手順を示すフローチャートである。
【図１１】この発明の実施の形態７にかかるマルチプロセッサを搭載した半導体集積回路装置のブロック図である。
【符号の説明】
１，３，４，５  オア回路、６  アンド回路、  １０，２０  プロセッサ、１１，２１  プロセッサコア、１２，２２  デバッグ支援回路、３０，４０，７０メモリ制御部、３１，４１，７１  アクセスブレーク制御部、３２  アドレス比較部、５０，６０，８０  メモリ部、７２  アドレス比較部、９０  セレクタ、１００，２００，３００，４００，５００，６００，７００  半導体集積回路装置。
【図１】
2004342001.tif 000003
【図２】
2004342001.tif 000004
【図３】
2004342001.tif 000005
【図４】
2004342001.tif 000006
【図５】
2004342001.tif 000007
【図６】
2004342001.tif 000008
【図７】
2004342001.tif 000009
【図８】
2004342001.tif 000010
【図９】
2004342001.tif 000011
【図１０】
2004342001.tif 000012
【図１１】
2004342001.tif 000013