(57)【特許請求の範囲】
【請求項１】
ホストプロセッサによってセット／リセットが可能であって、サブプロセッサの動作の停止が要求される場合にセットされるホールド要求ビットと、
前記サブプロセッサによってセット／リセットが可能であって、前記サブプロセッサからホストプロセッサへと割り込みを要求する際にセットされる割り込み要求ビットと
を備え、
前記割り込み要求ビットがセットされる際には、前記ホールド要求ビットは前記サブプロセッサによってもセットされ、
前記サブプロセッサの動作の停止の要求に対する承認が示され、前記ホールド要求ビットのセット／リセットにそれぞれ対応して前記サブプロセッサによってセット／リセットされるホールド承認ビット
を更に備え、
前記ホールド要求ビットがセットされたことに対応して、前記ホールド承認ビットが前記サブプロセッサによってセットされ、その後に前記サブプロセッサが動作を停止する制御レジスタ。
【請求項２】
前記ホストプロセッサが前記サブプロセッサの動作の再開を要求する場合には、前記ホストプロセッサによって前記ホールド要求ビットがリセットされる、請求項１記載の制御レジスタ。
【請求項３】
前記ホストプロセッサによってセット／リセットが可能であって、前記サブプロセッサからの割り込みに対する承認が示される割り込み承認ビット
を更に備え、
前記ホールド承認ビットがセットされてから所定期間の経過を契機として前記割り込み承認ビットがセットされ、
前記割り込み承認ビットのセットに対応して前記割り込み要求ビットがリセットされる、請求項２記載の制御レジスタ。
【請求項４】
前記割り込み要求ビットがリセットされた後、前記ホストプロセッサによって前記ホールド要求ビットがリセットされる、請求項３記載の制御レジスタ。
【請求項５】
前記サブプロセッサと前記ホストプロセッサとのインタフェースポートを除く前記サブプロセッサのインタフェースポートがビジー状態にある場合にセットされるビジー状態ビット
を更に備え、
前記サブプロセッサの次サイクルの動作において当該インタフェースポートが使用される場合にセットされるフラグと、前記ビジー状態ビットのいずれもがセットされた場合、前記ホールド要求ビットは前記サブプロセッサによってもセットされる、請求項１又は２記載の制御レジスタ。
【請求項６】
前記フラグ及び前記ビジー状態ビットのいずれかがリセットされた場合、前記サブプロセッサによる前記ホールド要求ビットのリセットが可能となる、請求項５記載の制御レジスタ。
【請求項７】
前記フラグ及び前記ビジー状態ビットのいずれもがセットされた場合、前記割り込み要求ビットがセットされ、
前記フラグ及び前記ビジー状態ビットのいずれかがリセットされたことによっては、前記割り込み要求ビットはリセットされない、請求項５記載の制御レジスタ。
【請求項８】
前記ホストプロセッサによってセット／リセットが可能であって、前記サブプロセッサからの割り込みに対する承認が示される割り込み承認ビット
を更に備え、
前記割り込み承認ビットのセットに対応して前記割り込み要求ビットがリセットされる、請求項７記載の制御レジスタ。
【請求項９】
前記割り込み要求ビットがリセットされた後、前記ホストプロセッサによって前記ホールド要求ビットがリセットされる、請求項８記載の制御レジスタ。
【請求項１０】
前記サブプロセッサのリセットを要求する場合にセットされるリセット要求ビットを更に備え、
前記リセット要求ビットがセットされる際には、前記ホールド要求ビットは前記サブプロセッサによってもセットされる、請求項１乃至請求項４のいずれか一つに記載の制御レジスタ。
【請求項１１】
請求項１乃至請求項１０のいずれか一つに記載の制御レジスタと、
前記ホストプロセッサからアクセス可能な副制御レジスタと、
前記制御レジスタ及び前記副制御レジスタの格納内容を相互に一致させる専用パスと
を備え、
前記ホストプロセッサに対して前記サブプロセッサとして機能するプロセッサ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はホストプロセッサとサブプロセッサから構成されるシステムにおいて、サブプロセッサの稼働の可否を設定する技術に関する。
【０００２】
【従来の技術】
ホストプロセッサを補助するために、特定処理を行うための集積回路としてサブプロセッサをも併用するシステムが存在する。サブプロセッサの動作の制御は、従来、サブプロセッサからホストプロセッサへの割り込み要求、あるいはホストプロセッサがサブプロセッサの内部状態をポーリングすることを契機として行われていた。
【０００３】
【発明が解決しようとする課題】
サブプロセッサからホストプロセッサへ割り込み要求が出されてから、ホストプロセッサが割り込みを承認するまでには時間が必要である。またホストプロセッサがサブプロセッサの内部状態をポーリングする場合にも、サブプロセッサの内部が、サブプロセッサを停止させることができる状態にあるか否かを把握するのに時間が必要である。これらの時間においてはサブプロセッサが不要な電力を消費することになる。
【０００４】
システム処理性能を高くしたいシステム、携帯情報端末のように電池で駆動するシステムにおいて、このような不要な電力消費は極めて大きな問題となる。
【０００５】
本発明は上記事情に鑑みてなされたもので、サブプロセッサが不要な電力を消費しながらホストプロセッサの判断を待つという状況を回避することを目的としている。
【０００６】
【課題を解決するための手段】
この発明のうち請求項１にかかるものは制御レジスタであって、ホールド要求ビットと、割り込み要求ビットとを備える。前記ホールド要求ビットは、ホストプロセッサによってセット／リセットが可能であって、サブプロセッサの動作の停止が要求される場合にセットされる。前記割り込み要求ビットは、前記サブプロセッサによってセット／リセットが可能であって、前記サブプロセッサからホストプロセッサへと割り込みを要求する際にセットされる。そして前記割り込み要求ビットがセットされる際には、前記ホールド要求ビットは前記サブプロセッサによってもセットされる。
当該制御レジスタは、前記サブプロセッサの動作の停止の要求に対する承認が示され、前記ホールド要求ビットのセット／リセットにそれぞれ対応して前記サブプロセッサによってセット／リセットされるホールド承認ビットを更に備え、前記ホールド要求ビットがセットされたことに対応して、前記ホールド承認ビットが前記サブプロセッサによってセットされ、その後に前記サブプロセッサが動作を停止する。
【０００７】
この発明のうち請求項２にかかるものは、請求項１記載の制御レジスタであって、前記ホストプロセッサが前記サブプロセッサの動作の再開を要求する場合には、前記ホストプロセッサによって前記ホールド要求ビットがリセットされる。
【０００８】
この発明のうち請求項３にかかるものは、請求項２記載の制御レジスタであって、前記ホストプロセッサによってセット／リセットが可能であって、前記サブプロセッサからの割り込みに対する承認が示される割り込み承認ビットを更に備える。そして前記ホールド承認ビットがセットされてから所定期間の経過を契機として前記割り込み承認ビットがセットされ、前記割り込み承認ビットのセットに対応して前記割り込み要求ビットがリセットされる。
【０００９】
この発明のうち請求項４にかかるものは、請求項３記載の制御レジスタであって、前記割り込み要求ビットがリセットされた後、前記ホストプロセッサによって前記ホールド要求ビットがリセットされる。
【００１０】
この発明のうち請求項５にかかるものは、請求項１又は２記載の制御レジスタであって、前記サブプロセッサと前記ホストプロセッサとのインタフェースポートを除く前記サブプロセッサのインタフェースポートがビジー状態にある場合にセットされるビジー状態ビットを更に備える。そして、前記サブプロセッサの次サイクルの動作において当該インタフェースポートが使用される場合にセットされるフラグと、前記ビジー状態ビットのいずれもがセットされた場合、前記ホールド要求ビットは前記サブプロセッサによってもセットされる。
【００１１】
この発明のうち請求項６にかかるものは、請求項５記載の制御レジスタであって、前記フラグ及び前記ビジー状態ビットのいずれかがリセットされた場合、前記サブプロセッサによる前記ホールド要求ビットのリセットが可能となる。
【００１２】
この発明のうち請求項７にかかるものは、請求項５記載の制御レジスタであって、前記フラグ及び前記ビジー状態ビットのいずれもがセットされた場合、前記割り込み要求ビットがセットされ、前記フラグ及び前記ビジー状態ビットのいずれかがリセットされたことによっては、前記割り込み要求ビットはリセットされない。
【００１３】
この発明のうち請求項８にかかるものは、請求項７記載の制御レジスタであって、前記ホストプロセッサによってセット／リセットが可能であって、前記サブプロセッサからの割り込みに対する承認が示される割り込み承認ビットを更に備える。そして、前記割り込み承認ビットのセットに対応して前記割り込み要求ビットがリセットされる。
【００１４】
この発明のうち請求項９にかかるものは、請求項８記載の制御レジスタであって、前記割り込み要求ビットがリセットされた後、前記ホストプロセッサによって前記ホールド要求ビットがリセットされる。
【００１５】
この発明のうち請求項１０にかかるものは、請求項１乃至請求項４のいずれか一つに記載の制御レジスタであって、前記サブプロセッサのリセットを要求する場合にセットされるリセット要求ビットを更に備える。そして、前記リセット要求ビットがセットされる際には、前記ホールド要求ビットは前記サブプロセッサによってもセットされる。
【００１６】
この発明のうち請求項１１にかかるものは前記ホストプロセッサに対してサブプロセッサとして機能するプロセッサであって、請求項１乃至請求項１０のいずれか一つに記載の制御レジスタと、前記ホストプロセッサからアクセス可能な副制御レジスタと、前記制御レジスタ及び前記副制御レジスタの格納内容を相互に一致させる専用パスとを備える。
【００１９】
【発明の実施の形態】
実施の形態１．
図１は本発明の実施の形態１にかかるシステムの構成を例示するブロック図である。ホストプロセッサ１００及びサブプロセッサ２００は外部バス６を介して相互に接続されている。
【００２０】
サブプロセッサ２００は内部バス２０２、インタフェースポート２０５、制御レジスタ２０３を備えている。内部バス２０２はインタフェースポート２０５を介して外部バス６と接続され、内部バス２０２はインタフェースポート２０５と制御レジスタ２０３とを接続する。従って、制御レジスタ２０３には内部バス２０２を介してサブプロセッサ２００の内部から、また更に外部バス６及びインタフェースポート２０５を介してホストプロセッサ１００から、またそれぞれアクセス可能である。
【００２１】
なお、サブプロセッサ２００は更に、内部バス２０２に接続されるインタフェースポート２０６をも備えている。インタフェースポート２０５は例えばホストプロセッサ１００との間のインタフェースポートの機能を担い、インタフェース２０６はホストプロセッサ１００とのインタフェース機能は担わない。
【００２２】
制御レジスタ２０３の構成として、ここでは情報を呈示する単位としてのビットを９個有している場合が例示されている。即ち、制御レジスタ２０３においては、最下位から順に、リセットリクエストビット（RST-REQ）３０、ホールドリクエストビット（IDL-REQ）３１、割り込みアクノリッジビット（INT-ACK）３２、汎用アクノリッジビット（GEN-ACK）３３、プロセッサビジービット（BUSY1）３４、インタフェースポートビジービット（BUSY2）３５、ホールドアクノリッジビット（HLD-ACK）３６、割り込みリクエストビット（INT-REQ）３７、そして最上位の汎用リクエストビット（GEN-REQ）３８が設けられている。
【００２３】
リセットリクエストビット（RST-REQ）３０、ホールドリクエストビット（IDL-REQ）３１、割り込みアクノリッジビット（INT-ACK）３２、汎用アクノリッジビット（GEN-ACK）３３は、いずれもホストプロセッサ１００からセット／リセットが可能である。プロセッサビジービット（BUSY1）３４、ホールドアクノリッジビット（HLD-ACK）３６、割り込みリクエストビット（INT-REQ）３７、汎用リクエストビット（GEN-REQ）３８はサブプロセッサ２００においてセットが可能である。インタフェースポートビジービット（BUSY2）３５はインタフェースポート２０６からセットが可能である。
【００２４】
サブプロセッサ２００のリセットが要求される場合、リセットリクエストビット（RST-REQ）３０がセットされる。またサブプロセッサ２００の動作の停止が要求される場合、ホールドリクエストビット（IDL-REQ）３１がセットされる。後述するように、当該ビット３１はサブプロセッサ２００においてもセットされる。
【００２５】
割り込みアクノリッジビット（INT-ACK）３２は、サブプロセッサ２００がホストプロセッサ１００に対して行った割り込み要求を、ホストプロセッサ１００が承認した場合にセットされる。汎用アクノリッジビット（GEN-ACK）３３は、サブプロセッサ２００がホストプロセッサ１００に対して行った要求（但し割り込み要求を除く：以下「汎用要求」と称す）を、ホストプロセッサ１００が承認した場合にセットされる。プロセッサビジービット（BUSY1）３４は、サブプロセッサ２００がビジー状態にある場合に、インタフェースポートビジービット（BUSY2）３５は、インタフェースポート２０６がビジー状態にある場合に、それぞれセットされる。ホールドアクノリッジビット（HLD-ACK）３６は、サブプロセッサ２００の動作を停止する要求を、サブプロセッサ２００が承認した場合にセットされる。割り込みリクエストビット（INT-REQ）３７、汎用リクエストビット（GEN-REQ）３８は、いずれもサブプロセッサ２００が、それぞれ割り込み要求及び汎用要求を行う場合にセットされる。
【００２６】
図２はサブプロセッサ２００の動作の停止及び再開の際における、制御レジスタ２０３の各ビット３０〜３８の状況の遷移を示す図である。但し図の煩雑を避けるため符号３０〜３８の記載は省略し、各ビットの名称RST-REQ，IDL-REQ，INT-ACK，GEN-ACK，BUSY1，BUSY2，HLD-ACK，INT-REQ，GEN-REQを用いて示している。そして各名称に網掛けが施されている場合には、当該名称に対応するビットがセットされた状態であり、施されていない場合には、当該名称に対応するビットがリセットされた状態であることを示す。以下の説明では特に断らない限り、ホストプロセッサ１００からはサブプロセッサ２００の動作の停止が要求されていないとする。また、本発明ではサブプロセッサ２００の「動作の停止」においても、制御レジスタ２０３へのセット／リセット及びその内容の読み出しの動作は行われるものとする。
【００２７】
図２（ａ）は、ホストプロセッサ１００、サブプロセッサ２００が共に動作している状態であり、全てのビットがリセットされている。
【００２８】
図２（ｂ）は、サブプロセッサ２００からホストプロセッサ１００への割り込み要求が行われる際の状態を示している。この場合、割り込みリクエストビット（INT-REQ）のみならず、ホールドリクエストビット（IDL-REQ）もがサブプロセッサ２００によってセットされる。即ち、サブプロセッサ２００は、自身の動作の停止を要求するためにホールドリクエストビット（IDL-REQ）をもセットする。
【００２９】
図２（ｃ）は図２（ｂ）の状態に対応して、その次の動作クロックの遷移を契機として変化した状態を示している。図２（ｂ）に示された状態においてホールドリクエストビット（IDL-REQ）がセットされたことに対応して、ホールドアクノリッジビット（HLD-ACK）がサブプロセッサ２００によってセットされる。この後、サブプロセッサ２００は内部命令による動作を停止し、電力消費を低減する。そして下記の通り、改めてホストプロセッサ１００から動作再開のための処理が行われるまで、サブプロセッサ２００の動作の停止が継続する。
【００３０】
以上の処理により、ホストプロセッサ１００による割り込み要求ポーリングを待たずにサブプロセッサ２００自身で、サブプロセッサ２００の動作停止が可能となる。これはホストプロセッサ１００及びサブプロセッサ２００の両方を含むシステム全体としての性能劣化を抑えつつも、システム全体としての電力を節約する効果をもたらす。
【００３１】
図２（ｄ）はホストプロセッサ１００がサブプロセッサ２００の動作の再開を要求する際の状態を示している。この場合、割り込みアクノリッジビット（INT-ACK）が、ホストプロセッサ１００によってセットされる。
【００３２】
図２（ｅ）は図２（ｄ）の状態に対応して、その次の動作クロックの遷移を契機として変化した状態を示している。図２（ｄ）に示された状態において割り込みアクノリッジビット（INT-ACK）がセットされたことに対応して、割り込みリクエストビット（INT-REQ）がリセットされる。
【００３３】
図２（ｆ）は図２（ｅ）の状態の後の動作クロックの遷移を契機として変化した状態を示している。割り込みアクノリッジビット（INT-ACK）及びホールドリクエストビット（IDL-REQ）が、ホストプロセッサ１００によってリセットされる。ホールドリクエストビット（IDL-REQ）がリセットされたことに対応して、ホールドアクノリッジビット（HLD-ACK）がサブプロセッサ２００によってリセットされる。これにより、制御レジスタ２０３は図２（ａ）の状態に戻る。
【００３４】
ホストプロセッサ１００がホールドリクエストビット（IDL-REQ）３１をリセットすることで、アクノリッジビット（HLD-ACK）３６がリセットされ、サブプロセッサ２００の動作が再開する。しかもホストプロセッサ１００によってホールドリクエストビット（IDL-REQ）３１がリセットされるのは、サブプロセッサ２００によって割り込みリクエストビット（INT-REQ）がリセットされた後である。従ってホストプロセッサ１００がサブプロセッサ２００の動作の再開を要求する処理は、サブプロセッサ２００自身によってサブプロセッサ２００の動作を停止させる要求と衝突しない。
【００３５】
ホストプロセッサ１００による割り込みアクノリッジビット（INT-ACK）３２のセットは、サブプロセッサ２００によってホールドアクノリッジビット（HLD-ACK）３６がセットされてから所定期間の経過を契機として行われる。従って、ホストプロセッサ１００はポーリングを行うことなく、自動的にサブプロセッサ２００の動作を再開させる。所定期間の経過は、例えば動作クロックのパルス数に基づいて計時することができる。
【００３６】
なお、上述の説明では、ホストプロセッサ１００によってはホールドリクエストビット（IDL-REQ）３１がセットされていない場合を例示していた。しかしサブプロセッサ２００からの割り込み要求とは別途に、ホストプロセッサ１００からサブプロセッサ２００の動作の停止を要求する状況もある。この場合にはホストプロセッサ１００によってホールドリクエストビット（IDL-REQ）３１がセットされる。従って、例えばセットを“１”、リセットを“０”として論理値で表すと、割り込みリクエストビット（INT-REQ）３７の論理値と、ホストプロセッサ１００がホールドリクエストビット（IDL-REQ）３１へと書き込むべきデータの論理値の論理和が、ホールドリクエストビット（IDL-REQ）３１へと書き込まれることが望ましい。かかる論理和の機能は、サブプロセッサ２００において設けることができる。
【００３７】
実施の形態２．
図３は本発明の実施の形態２にかかるシステム３００の構成を例示するブロック図である。システム３００は実施の形態１に示されたホストプロセッサ１００及びサブプロセッサ２００を含んでいる。実施の形態１において説明された論理和の機能を果たすオアゲート２１１が模式的にサブプロセッサ２００内に備えられている。
【００３８】
しかし、本実施の形態ではオアゲート２１１は、割り込みリクエストビット（INT-REQ）３７の論理値と、ホストプロセッサ１００がホールドリクエストビット（IDL-REQ）３１へと書き込むべきデータの論理値のみならず、更にシステム３００の全体のリセットたるパワーオンリセット（POR）の論理値及びリセットリクエストビット（RST-REQ）３０の論理値との論理和を採る。但し、ここではパワーオンリセット（POR）のアサート／ネゲートにそれぞれ対応して論理値“１”／“０”を採用する。
【００３９】
図３に示される構成では、実施の形態１で説明されたようにサブプロセッサ２００自身によってサブプロセッサ２００の動作の停止が要求された場合の他、システム３００の全体をリセットする場合、ホストプロセッサ１００がサブプロセッサ２００の動作の停止を要求する場合、ホストプロセッサ１００がサブプロセッサ２００のリセットを要求する場合にも、ホールドリクエストビット（IDL-REQ）３１がセットされる。
【００４０】
本実施の形態によれば、サブプロセッサ２００のホストプロセッサ１００への割り込み要求以外にも、ホストプロセッサ１００によるサブプロセッサ２００に対するチップリセットや、システム３００全体に対するパワーオンリセット（POR）によってもサブプロセッサ２００の動作が停止する。つまりサブプロセッサ２００に対してリセットを要求することにより、その後のホストプロセッサ１００の処理を必要とすることなく、サブプロセッサ２００の動作を停止させることができる。また実施の形態１と同様にして、ホストプロセッサ１００によるポーリング処理がなくても、サブプロセッサ２００の動作を再開させることができる。
【００４１】
実施の形態３．
図４は本発明の実施の形態３にかかるシステムの構成を例示するブロック図である。本実施の形態は実施の形態１の構成に加え、更にインタフェースポート２０５が特徴的に構成されている。
【００４２】
本実施の形態ではインタフェースポート２０５は、副制御レジスタ２０４を備えている。副制御レジスタ２０４は制御レジスタ２０３と専用パス２０７を介して相互に接続されている。
【００４３】
副制御レジスタ２０４は制御レジスタ２０３のビット３０〜３８の各々に対応してビット４０〜４８を有している。そして実施の形態１と同様にして制御レジスタ２０３は内部バス２０２を用いたアクセスが可能であるが、ホストプロセッサ１００からの直接のアクセスはできない。また副制御レジスタ２０４はホストプロセッサ１００からのアクセスが可能であるが、内部バス２０２を用いたアクセスはできない。
【００４４】
専用パス２０７は制御レジスタ２０３及び副制御レジスタ２０４の格納内容を相互に一致させる機能を担う。当該機能は少なくとも、制御レジスタ２０３及び副制御レジスタ２０４の少なくともいずれか一方における格納内容が変化した場合に発揮される。例えば動作クロックの遷移の度に、専用パス２０７は制御レジスタ２０３及び副制御レジスタ２０４の格納内容を相互に一致させる。
【００４５】
内部バス２０２は制御レジスタ２０３へのアクセス以外、例えば内部命令の実行においても使用される。その場合には、ホストプロセッサ１００から内部バス２０２を用いた制御レジスタ２０３へのアクセスは待機する必要がある。しかしホストプロセッサ１００は、制御レジスタ２０３と格納内容が一致する副制御レジスタ２０４へのアクセスに際しては、内部バス２０２を用いないので、かかる待機は必要ない。またホストプロセッサ１００によって変更された副制御レジスタ２０４の格納内容は制御レジスタ２０３に、サブプロセッサ２００によって変更された制御レジスタ２０３の格納内容は副制御レジスタ２０４に、それぞれコピーされるので、当該格納内容に基づいてホストプロセッサ１００、サブプロセッサ２００は実施の形態１と同様の動作を行うことができる。
【００４６】
以上のようにして、サブプロセッサ２００の内部バス２０２の使用状況に依らずに、ホストプロセッサ１００から制御レジスタ２０３の格納内容を間接的に変更できる。従って、ホストプロセッサ１００がサブプロセッサ２００の動作状況を把握したり、ホストプロセッサ１００からサブプロセッサ２００に動作の停止を要求するのに、不要な空き時間を費やすことが回避できる。
【００４７】
実施の形態２に対して、副制御レジスタ２０４を採用し、実施の形態２を変形できることは明白かつ容易である。
【００４８】
実施の形態４．
図５は本発明の実施の形態４での、サブプロセッサ２００の動作の停止及び再開の際における、制御レジスタ２０３の各ビットの状況の遷移を示す図である。但し特に断らない限り、ホストプロセッサ１００からはサブプロセッサ２００の動作の停止が要求されていないとする。
【００４９】
本実施の形態では図１に示された構成において、インタフェースポート２０６がビジー状態にある場合の動作を説明する。図５（ａ）はインタフェースポートビジービット（BUSY2）がセットされている状態を示す。
【００５０】
サブプロセッサ２００では、公知の技術を用いることにより、自身の次サイクルの動作においてインタフェースポート２０６が使用されることが予見される場合にセットされる、次サイクル出力フラグを発生させる。そして本実施の形態においては、次サイクル出力フラグと、インタフェースポートビジービット（BUSY2）のいずれもがセットされた場合、ホールドリクエストビット（IDL-REQ）がサブプロセッサ２００によってセットされる。図５（ｂ）は図５（ａ）に示された状態において、サブプロセッサ２００が次サイクル出力フラグを発生させたことにより、ホールドリクエストビット（IDL-REQ）がセットされた状態を示す。
【００５１】
ホールドリクエストビット（IDL-REQ）がセットされたことに対応して、実施の形態１と同様に、ホールドアクノリッジビット（HLD-ACK）がサブプロセッサ２００によってセットされる。そしてサブプロセッサ２００は内部命令による動作を停止し、電力消費を低減する。
【００５２】
図５（ｄ）は図５（ｃ）の状態の後、インタフェースポート２０６のビジー状態が解消された場合を示しており、インタフェースポートビジービット（BUSY2）がリセットされている。ホストプロセッサ１００からはサブプロセッサ２００の動作の停止が要求されていないことを前提としているので、ホールドリクエストビット（IDL-REQ）のサブプロセッサ２００によるリセットが可能となる。
【００５３】
図５（ｅ）は図５（ｄ）の状態に対応して、その次の動作クロックの遷移を契機として変化した状態を示している。ホールドリクエストビット（IDL-REQ）がリセットされたことに対応して、ホールドアクノリッジビット（HLD-ACK）がリセットされ、サブプロセッサ２００の動作が再開する。このようにして、ホストプロセッサ１００とは独立してサブプロセッサ２００自身での動作の再開が可能となる。
【００５４】
実施の形態１において説明したのと同様、インタフェースポート２０６がビジー状態であるか否かとは別途に、ホストプロセッサ１００からサブプロセッサ２００の動作の停止を要求する状況もある。この場合にはホストプロセッサ１００によってホールドリクエストビット（IDL-REQ）がセットされる。図６は、このようなホストプロセッサ１００からのホールドリクエストビット（IDL-REQ）３１へのセットと、インタフェースポート２０６のビジー状態に基づくセットとを実行する態様を模式的に示すブロック図である。
【００５５】
サブプロセッサ２００は次サイクル出力フラグＦＬＧとインタフェースポートビジービット（BUSY2）３５の格納内容との論理積を採る機能を有しており、当該機能は図６においてアンドゲート２０８として表出されている。更にサブプロセッサ２００は、次サイクル出力フラグＦＬＧとインタフェースポートビジービット（BUSY2）３５の格納内容の双方がセットされている場合（即ちアンドゲート２０８の出力が論理値“１”の場合）も、ホストプロセッサ１００によっても、ホールドリクエストビット（IDL-REQ）３１を許可する機能をも有している。当該機能は図６においてオアゲート２０９として表出されている。但し、図６及び後述する図７においては、セット／リセットに対応する論理値として、それぞれ“１”，“０”を採用している。
【００５６】
図６においてはアンドゲート２０８にはインタフェースポートビジービット（BUSY2）３５の格納内容が直接に入力し、またオアゲート２０９の出力が直接にホールドリクエストビット（IDL-REQ）３１に値を与えるように示されている。しかし勿論、内部バス２０２を介して当該格納内容をアンドゲート２０８に、内部バス２０２を介して当該値をホールドリクエストビット（IDL-REQ）３１に、それぞれ入力する構成を採用することができる。
【００５７】
本実施の形態では単数のインタフェースポート２０６のビジー状態についての取り扱いを説明したが、インタフェースポート２０５以外に複数のインタフェースポートが存在した場合にも適用できることは明白かつ容易である。その場合、例えばインタフェースポートビジービット（BUSY2）３５を複数にすればよい。
【００５８】
なお、本実施の形態に対して、実施の形態３において示された副制御レジスタ２０４を採用して変形できることは明白かつ容易である。
【００５９】
実施の形態５．
実施の形態４の変形として、ホストプロセッサ１００からの許可無くしては、サブプロセッサ２００の動作が再開しない場合を説明する。
【００６０】
図７は本発明の実施の形態５にかかるシステムの構成を例示するブロック図である。サブプロセッサ２００は、アンドゲート２０８で表出される、次サイクル出力フラグＦＬＧとインタフェースポートビジービット（BUSY2）３５の格納内容との論理積を採る機能を有している。そしてアンドゲート２０８の出力する論理値が“１”の場合、割り込みリクエストビット（INT-REQ）３７がセットされる。但し、アンドゲート２０８は、その出力する論理値が“０”であっても、割り込みリクエストビット（INT-REQ）３７をリセットする機能を有しない。
【００６１】
更にサブプロセッサ２００は、アンドゲート２０８の出力が論理値“１”の場合も、割り込みリクエストビット（INT-REQ）３７がセットされている場合も、ホストプロセッサ１００によっても、ホールドリクエストビット（IDL-REQ）３１をセットする機能をも有している。またアンドゲート２０８の出力が論理値“０”であり、かつ割り込みリクエストビット（INT-REQ）３７がリセットされており、かつホストプロセッサ１００がサブプロセッサ２００の動作の停止を要求していない場合には、ホールドリクエストビット（IDL-REQ）３１はリセットされる。当該機能は図７においてオアゲート２１０として表出されている。
【００６２】
図８においてはアンドゲート２０８への入力、オアゲート２０９の出力が直接に制御レジスタ２０３との間で行われるように示されている。しかし勿論、内部バス２０２を介して入出力する構成を採用することができる。
【００６３】
図８は本実施の形態における、サブプロセッサ２００の動作の停止及び再開の際における、制御レジスタ２０３の各ビットの状況の遷移を示す図である。但し特に断らない限り、ホストプロセッサ１００からはサブプロセッサ２００の動作の停止が要求されていないとする。
【００６４】
図８（ａ）はインタフェースポート２０６がビジー状態となってインタフェースポートビジービット（BUSY2）がセットされている状態を示す。更にサブプロセッサ２００が次サイクル出力フラグを発生させると、アンドゲート２０８で表出された機能により、図８（ｂ）に示されるように割り込みリクエストビット（INT-REQ）がセットされる。またオアゲート２１０で表出された機能により、ホールドリクエストビット（IDL-REQ）がセットされる。
【００６５】
図８（ｃ）は、図８（ｂ）の状態に対応して、その次の動作クロックの遷移を契機として変化した状態を示している。ホールドリクエストビット（IDL-REQ）３１がセットされたことに対応して、ホールドアクノリッジビット（HLD-ACK）３６がサブプロセッサ２００によってセットされる。そしてサブプロセッサ２００は内部命令による動作を停止する。
【００６６】
図８（ｄ）は図８（ｃ）の状態の後、インタフェースポート２０６のビジー状態が解消された場合を示しており、インタフェースポートビジービット（BUSY2）がリセットされている。上述のように、アンドゲート２０８で表出された機能は、割り込みリクエストビット（INT-REQ）３７をリセットする機能を果たさない。従って、割り込みリクエストビット（INT-REQ）はセットされたままとなっており、ホストプロセッサ１００からはサブプロセッサ２００の動作の停止が要求されていないことを前提としているものの、ホールドリクエストビット（IDL-REQ）もセットされたままとなっている。そのため、ホールドアクノリッジビット（HLD-ACK）もセットされたままとなっている。
【００６７】
以上のようにして、本実施の形態ではインタフェースポート２０６のビジー状態が解消されても、サブプロセッサ２００のみでは自身の動作を再開させることができない。換言すればサブプロセッサ２００の動作を、ホストプロセッサ１００の指令に基づいて再開させることができる。以下、再開の手順は、再開のタイミングを除いて実施の形態１と同様である。
【００６８】
図８（ｅ）はホストプロセッサ１００がサブプロセッサ２００の動作の再開を要求する際の状態を示している。割り込みアクノリッジビット（INT-ACK）は、ホストプロセッサ１００によってセットされる。実施の形態１では割り込みアクノリッジビット（INT-ACK）をセットするタイミングを、サブプロセッサ２００によってホールドアクノリッジビット（HLD-ACK）がセットされてから所定期間の経過を契機としていた。しかし当該所定期間の経過後もインタフェースポートビジービット（BUSY2）がセットされ続けている場合がある。そこで、例えば、ホストプロセッサ１００はインタフェースポートビジービット（BUSY2）がリセットされていることを確認してから、割り込みアクノリッジビット（INT-ACK）をセットする。
【００６９】
図８（ｆ）は図８（ｅ）の状態に対応して、その次の動作クロックの遷移を契機として変化した状態を示している。割り込みアクノリッジビット（INT-ACK）がセットされたことに対応して、割り込みリクエストビット（INT-REQ）がリセットされる。
【００７０】
図８（ｇ）は図８（ｆ）の状態の後の動作クロックの遷移を契機として変化した状態を示している。割り込みアクノリッジビット（INT-ACK）及びホールドリクエストビット（IDL-REQ）が、ホストプロセッサ１００によってリセットされる。
【００７１】
図８（ｈ）は図８（ｇ）の状態に対応して、その次の動作クロックの遷移を契機として変化した状態を示している。ホールドリクエストビット（IDL-REQ）がリセットされたことに対応して、ホールドアクノリッジビット（HLD-ACK）がサブプロセッサ２００によってリセットされる。そしてサブプロセッサ２００の動作が再開する。
【００７２】
以上の動作では、実施の形態１と同様に、ホストプロセッサ１００がサブプロセッサ２００の動作の再開を要求する処理は、サブプロセッサ２００自身によってサブプロセッサ２００の動作を停止させる要求と衝突しない。
【００７３】
なお、本実施の形態に対して、実施の形態３において示された副制御レジスタ２０４を採用して変形できることは明白かつ容易である。
【００７４】
【発明の効果】
この発明のうち、請求項１にかかる制御レジスタによれば、サブプロセッサからホストプロセッサへ割り込みが要求される場合に、自身の動作の停止を要求するためにホールド要求ビットをもセットする。そしてホールド要求ビットがセットされたことに対応して、ホールド承認ビットがサブプロセッサによってセットされ、サブプロセッサが動作を停止する。これにより、ホストプロセッサによる割り込み要求ポーリングを待たずにサブプロセッサ自身での動作停止が可能となる。よってホストプロセッサ及びサブプロセッサの両方を含む全体としての性能劣化を抑えつつも、当該全体としての電力を節約する。
【００７５】
この発明のうち、請求項２にかかる制御レジスタによれば、ホストプロセッサがホールド要求単位をリセットすることで、ホールド承認単位はリセットされ、サブプロセッサの動作が再開する。
【００７６】
この発明のうち、請求項３にかかる制御レジスタによれば、ホストプロセッサはポーリングを行うことなく、例えばその動作が依拠するクロック信号のパルス数に基づいて、サブプロセッサの割り込み要求をリセットさせる。
【００７７】
この発明のうち、請求項４にかかる制御レジスタによれば、ホストプロセッサはポーリングを行うことなく、自動的にサブプロセッサの動作を再開させる。しかもサブプロセッサ自身によってサブプロセッサの動作を停止させる要求と衝突しない。
【００７８】
この発明のうち、請求項５にかかる制御レジスタによれば、サブプロセッサにおいてインタフェースポートがビジー状態であって、かつサブプロセッサの次サイクルの動作において当該インタフェースポートが使用されることが予見される場合に、自身の動作の停止を要求するためにホールド要求単位をセットする。これにより、ホストプロセッサとは独立してサブプロセッサ自身での動作停止が可能となる。よってホストプロセッサ及びサブプロセッサの両方を含む全体としての性能劣化を抑えつつも、当該全体としての電力を節約する。
【００７９】
この発明のうち、請求項６にかかる制御レジスタによれば、ホストプロセッサとは独立してサブプロセッサ自身での動作の再開が可能となる。
【００８０】
この発明のうち、請求項７にかかる制御レジスタによれば、インタフェースポートがビジー状態となって、サブプロセッサが自身の動作の停止を要求するためにホールド要求単位をセットした後、インタフェースポートがビジー状態から解除されても、割り込み要求単位はセットされたままとなる。よってサブプロセッサの動作を、ホストプロセッサの指令に基づいて再開させることができる。
【００８１】
この発明のうち、請求項８にかかる制御レジスタによれば、サブプロセッサの割り込み要求をリセットし、サブプロセッサの動作を、ホストプロセッサの指令に基づいて再開させることができる。
【００８２】
この発明のうち、請求項９にかかる制御レジスタによれば、サブプロセッサ自身によってサブプロセッサの動作を停止させる要求と衝突することなく、サブプロセッサの動作をホストプロセッサの指令に基づいて再開させることができる。
【００８３】
この発明のうち、請求項１０にかかるプロセッサによれば、これに対してリセットを要求することにより、その後のホストプロセッサの処理を必要とすることなく、サブプロセッサの動作を停止させることができる。
【００８４】
この発明のうち、請求項１１にかかるプロセッサによれば、サブプロセッサの内部バスを利用することなく、副制御レジスタを介して制御レジスタに、ホストプロセッサから間接的にアクセスすることができる。よってホストプロセッサがサブプロセッサの動作状況を把握したり、ホストプロセッサからサブプロセッサに動作の停止を要求するのに、不要な空き時間を費やすことが回避できる。
【図面の簡単な説明】
【図１】  本発明の実施の形態１の構成を例示するブロック図である。
【図２】  本発明の実施の形態１の動作の遷移を示す図である。
【図３】  本発明の実施の形態２の構成を例示するブロック図である。
【図４】  本発明の実施の形態３の構成を例示するブロック図である。
【図５】  本発明の実施の形態４の動作の遷移を示す図である。
【図６】  本発明の実施の形態４の構成を例示するブロック図である。
【図７】  本発明の実施の形態５の構成を例示するブロック図である。
【図８】  本発明の実施の形態５の動作の遷移を示す図である。
【符号の説明】
３０  リセットリクエストビット(RST-REQ）、３１  ホールドリクエストビット（IDL-REQ）、３２  割り込みアクノリッジビット（INT-ACK）、３６  ホールドアクノリッジビット（HLD-ACK）、３７  割り込みリクエストビット（INT-REQ）、１００  ホストプロセッサ、２００  サブプロセッサ、２０３  制御レジスタ、２０４  副制御レジスタ、２０５，２０６  インタフェースポート、２０７専用パス。
【図１】
0004717291.tif 000002
【図２】
0004717291.tif 000003
【図３】
0004717291.tif 000004
【図４】
0004717291.tif 000005
【図５】
0004717291.tif 000006
【図６】
0004717291.tif 000007
【図７】
0004717291.tif 000008
【図８】
0004717291.tif 000009