JP5549670B2 - 集積回路装置及び電子機器 - Google Patents

集積回路装置及び電子機器 Download PDF

Info

Publication number
JP5549670B2
JP5549670B2 JP2011519532A JP2011519532A JP5549670B2 JP 5549670 B2 JP5549670 B2 JP 5549670B2 JP 2011519532 A JP2011519532 A JP 2011519532A JP 2011519532 A JP2011519532 A JP 2011519532A JP 5549670 B2 JP5549670 B2 JP 5549670B2
Authority
JP
Japan
Prior art keywords
processor
sub
processing
register
unit
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.)
Expired - Fee Related
Application number
JP2011519532A
Other languages
English (en)
Other versions
JPWO2010150474A1 (ja
Inventor
政一 礒村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2011519532A priority Critical patent/JP5549670B2/ja
Publication of JPWO2010150474A1 publication Critical patent/JPWO2010150474A1/ja
Application granted granted Critical
Publication of JP5549670B2 publication Critical patent/JP5549670B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)

Description

本発明は、積回路装置及び電子機器等に関する。
近年デジタル信号処理の分野では、高速でかつ低消費電力のデータ処理装置に対する要求が高まっている。特にセンサーを搭載した携帯機器(脈拍計、デジタルカメラ等)では、センサーの出力信号をリアルタイムにかつ低消費電力で処理する必要がある。この課題に対して、積和演算などデジタル信号処理に多用される演算処理を効率的に実行するための専用プロセッサー(サブプロセッサー)が開発されている。
例えば特許文献1には、演算処理を行う専用データ処理ユニットと汎用処理を行う汎用データ処理ユニットとからなるデータ処理装置が開示されている。しかしながらこの手法では、これら2つのユニットで命令フェッチ部及びデータインターフェイスが共用されているために、協調動作の制約が大きいなどの課題があった。
特開2002−149402号公報
本発明の幾つかの態様によれば、効率的にデータ処理を行うサブプロセッサー、集積回路装置及び電子機器等を提供できる。
本発明の一態様は、バスコントローラーを介してホストプロセッサーに接続されるサブプロセッサーであって、サブプロセッサー用プログラムの命令をフェッチするための命令フェッチ部と、レジスター部と、フェッチされた命令をデコードする命令デコード部と、デコード結果に基づいて命令の実行処理を行う演算部とを含み、前記ホストプロセッサーは、前記サブプロセッサー用プログラムの格納先を示すプログラムカウンター値及びサブプロセッサーの処理開始コマンドを前記バスコントローラーを介して前記レジスター部に設定し、前記命令フェッチ部は、前記プログラムカウンター値で指定される命令をフェッチし、前記命令デコード部は、前記命令をデコードし、前記演算部は、前記命令の実行処理を行うことを特徴とするサブプロセッサーに関係する。
本発明の一態様によれば、サブプロセッサーは、バスコントローラーを介して命令をフェッチする命令フェッチ部を有するから、ホストプロセッサーを介することなく自立的にプログラムをロードして、命令の実行処理をすることができる。
また本発明の一態様では、前記バスコントローラーとの間のインターフェイス処理を行うバスコントローラーインターフェイスを含んでもよい。
このようにすれば、サブプロセッサーは、バスコントローラーインターフェイスを介して、自立的にサブプロセッサー用プログラムの命令をフェッチしたり、自立的に命令の実行のためのデータの読み出し又は書き込みを行うことができる。
また本発明の一態様では、前記バスコントローラーインターフェイスは、前記ホストプロセッサーとの間のインターフェイス処理を行うホストインターフェイスを含んでもよい。
このようにすれば、ホストプロセッサーは、ホストインターフェイスを介して、サブプロセッサーのレジスター部にアクセスすることができる。
また本発明の一態様では、前記バスコントローラーインターフェイスは、命令の実行のためのデータの読み出し又は書き込みを行うためのデータインターフェイスを含んでもよい。
このようにすれば、サブプロセッサーは、ホストプロセッサーを介さずに自立的にデータの読み出し又は書き込みをすることができる。
また本発明の一態様では、前記レジスター部は、データレジスターを有し、前記演算部は、前記バスコントローラーインターフェイスを介して前記データレジスターに書き込まれたデータとデコード結果に基づく命令とに基づいて、命令の実行処理を行ってもよい。
このようにすれば、サブプロセッサーの実行処理の開始前に、ホストプロセッサーが必要なデータをデータレジスターに書き込むことができる。
また本発明の一態様では、前記レジスター部は、前記バスコントローラーインターフェイスを介して読み出される又は書き込まれるデータのアドレス情報を格納するアドレスレジスターを有し、前記アドレスレジスターのアドレス情報は、前記バスコントローラーインターフェイスを介して前記ホストプロセッサーにより書き込まれてもよい。
このようにすれば、アドレスレジスターに格納されたアドレス情報に基づいて必要なデータの読み出し又は書き込みをすることができる。また、サブプロセッサーの実行処理の開始前に、ホストプロセッサーによりアドレス情報を書き込むことができる。
また本発明の一態様では、前記サブプロセッサー用プログラムの処理終了命令がデコードされた場合に、処理完了信号を出力してもよい。
このようにすれば、サブプロセッサーの実行処理が終了したことをホストプロセッサーに通知することができる。また、サブプロセッサーの実行処理中にホストプロセッサーへのクロック供給を停止していた場合には、処理完了信号によりクロック供給を再開することができる。
また本発明の一態様では、前記レジスター部は、前記サブプロセッサーが処理中であることを示すランビットを含む制御レジスターを有し、前記処理完了信号が出力される際に前記ランビットがクリアされてもよい。
このようにすれば、制御レジスターのランビットに1がセットされている場合には、サブプロセッサーが実行処理中であることを示し、ランビットが0にセットされている場合には、サブプロセッサーが実行処理を終了したことを示すことができる。
また本発明の一態様では、前記レジスター部は、オペレーションパラメーターレジスターを有し、前記演算部は、前記ホストプロセッサーにより前記オペレーションパラメーターレジスターにオペレーションパラメーターが書き込まれた場合に、前記オペレーションパラメーターにより設定される内容の演算処理を行ってもよい。
このようにすれば、サブプロセッサーの実行処理の開始前に、ホストプロセッサーがオペレーションパラメーターを書き込むことにより、算術右シフト制御などの演算処理に関するオプション制御の初期値を設定することができる。
また本発明の一態様では、前記レジスター部は、オペレーションパラメーターレジスターを有し、前記演算部は、前記サブプロセッサー用プログラムのオペレーションパラメーター設定命令により前記オペレーションパラメーターレジスターにオペレーションパラメーターが書き込まれた場合に、前記オペレーションパラメーターにより設定される内容の演算処理を行ってもよい。
このようにすれば、サブプロセッサー用プログラムに記述される命令によって、オペレーションパラメーターを書き込むことにより、算術右シフト制御などの演算処理に関するオプション制御をフレキシブルに実行することができる。
本発明の他の態様は、上記に記載のサブプロセッサーと、前記サブプロセッサー及び前記ホストプロセッサーに接続される前記バスコントローラーとを含み、前記バスコントローラーは、前記ホストプロセッサー用プログラム及び前記サブプロセッサー用プログラムが格納されるメモリーと、前記ホストプロセッサーと、前記サブプロセッサーとの間のバス制御を行うことを特徴とする集積回路装置に関係する。
本発明の他の態様によれば、サブプロセッサーが自立的にターゲットとするデータ処理を実行することができるから、サブプロセッサーの実行処理中に、ホストプロセッサーが上記処理とは直接依存関係のない処理を並行して行うことができる。その結果、データ処理を高速に実行することができる。
また本発明の他の態様では、前記ホストプロセッサーを含んでもよい。
また本発明の他の態様では、クロック生成回路を含み、前記クロック生成回路は、処理開始コマンドが実行された後に前記ホストプロセッサーへのクロック供給を停止し、前記サブプロセッサーの処理完了後に前記ホストプロセッサーへのクロック供給を再開してもよい。
このようにすれば、サブプロセッサーの処理実行中は、ホストプロセッサーは動作しなくてもよいため、ホストプロセッサーの動作を休止することができるから、データ処理装置(集積回路装置)の消費電力を低減することができる。
本発明の他の態様は、上記に記載の集積回路装置を含むことを特徴とする電子機器に関係する。
データ処理装置の基本的な構成例。 サブプロセッサーの構成例。 サブプロセッサーの基本的な動作のフローチャート。 サブプロセッサーの動作を説明する図。 サブプロセッサーの動作を説明する図。 サブプロセッサーの動作を説明する図。 命令コードの一例。 図8(A)、図8(B)はレジスターのビット構成の一例。 データ処理装置の変形例。 電子機器の一例。
以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
1.データ処理装置の基本的な構成例
図1は本実施形態のデータ処理装置(集積回路装置)の基本的な構成例を示す。図1に示すデータ処理装置(集積回路装置)200は、ホストプロセッサー210とサブプロセッサー100とが協調してデータ処理を行うシステムであって、サブプロセッサー100、ホストプロセッサー210、バスコントローラー220及びメモリー230を含む。なお、データ処理装置200は図1の構成に限定されず、その構成要素の一部を省略したり、他の構成要素に置き換えたり、他の構成要素を追加するなどの種々の変形実施が可能である。例えば、データ処理装置(集積回路装置)200にホストプロセッサー210を含めないで、ホストプロセッサー210を外部の集積回路装置としてもよい。
サブプロセッサー100(コプロセッサー)は、メモリー230に格納されたサブプロセッサー用プログラム250から命令をフェッチし、フェッチされた命令をデコードして、ターゲットとするデータ処理を行う。サブプロセッサー用プログラム250には、ターゲットとするデータ処理のための命令が記述されている。バスコントローラー220は、サブプロセッサー100及びホストプロセッサー210に接続され、メモリー230と、ホストプロセッサー210と、サブプロセッサー100との間のバス制御を行う。
図1に示すデータ処理装置によれば、サブプロセッサー100が、ホストプロセッサー210から処理開始コマンドを受け取った場合には、サブプロセッサー100は、ホストプロセッサー210を介することなく自立的にデータ処理を実行することができる。すなわち、サブプロセッサー100は、バスコントローラー220を介してサブプロセッサー用プログラム250から命令をフェッチし、フェッチされた命令をデコードしてターゲットとするデータ処理を行う。サブプロセッサー100は、バスコントローラー220を介してメモリー230から処理に必要なデータを読み出し、演算結果をメモリー230に書き込むことができる。自立的な実行処理が可能であるのは、後述するようにサブプロセッサー100がバスコントローラーインターフェイス150を有するからである。
以上説明したように、本実施形態のデータ処理装置(集積回路装置)200によれば、サブプロセッサー100が自立的にターゲットとするデータ処理を実行することができるから、サブプロセッサー100の実行処理中に、ホストプロセッサー210が上記処理とは直接依存関係のない処理を並行して行うことができる。その結果、データ処理を高速に実行することができる。また、サブプロセッサー100の実行処理中に、ホストプロセッサー210の処理が不要となる場合には、ホストプロセッサー210の動作を休止することができるから、データ処理装置(集積回路装置)200の消費電力を低減することができる。
なお、図1ではメモリー230はデータ処理装置(集積回路装置)200に含まれているが、メモリー230をデータ処理装置(集積回路装置)200の内部に設けることは必須ではない。メモリー230はデータ処理装置(集積回路装置)200の外部にあってもよい。
2.サブプロセッサーの構成例
図2に本実施形態のサブプロセッサー100の構成例を示す。図2に示すサブプロセッサー100は、バスコントローラーインターフェイス150、レジスター部130、命令デコード部140及び演算部160を含む。さらにバスコントローラーインターフェイス150は、ホストインターフェイス110、命令フェッチ部120及びデータインターフェイスを含む。データインターフェイスは、Xバスリード部170、Yバスリード部180、Zバスライト部190を含む。なお、演算部160、Xバスリード部170、Yバスリード部180及びZバスライト部190は、演算パイプライン部を構成する。
なお、本実施形態のサブプロセッサー100は図2の構成に限定されず、その構成要素の一部を省略したり、他の構成要素に置き換えたり、他の構成要素を追加するなどの種々の変形実施が可能である。例えば、図2のようにバスコントローラーインターフェイス150が、ホストインターフェイス110、命令フェッチ部120、Xバスリード部170、Yバスリード部180及びZバスライト部190から構成されることは必須の要件ではない。独立したホストインターフェイス110を設けずに、その代りにホストインターフェイスの機能を他の4つの構成要素のいずれかに持たせてもよい。
バスコントローラーインターフェイス150は、バスコントローラー220との間のインターフェイス処理を行う。具体的には、サブプロセッサー100とバスコントローラー220を接続するためのインターフェイス処理を行う。バスコントローラーインターフェイス150は、ホストプロセッサー210との間のインターフェイス処理を行うホストインターフェイス110を含む。具体的には、ホストインターフェイス110は、ホストプロセッサー210がレジスター部130にレジスター値を書き込み又は読み出すためのインターフェイス処理を行う。またバスコントローラーインターフェイス150は、命令の実行のためのデータの読み出し又は書き込みを行うためのデータインターフェイスを含む。具体的には、データインターフェイスは、Xバスリード部170、Yバスリード部180、Zバスライト部190を含み、Xバスリード部170及びYバスリード部180はデータの読み出しを行い、Zバスライト部190はデータの書き込みを行う。
命令フェッチ部120(プログラムインターフェイス)はサブプロセッサー用プログラム250の命令をフェッチし、命令デコード部140はフェッチされた命令をデコードする。演算部160は、デコード結果に基づいて命令の実行処理を行う。
レジスター部130は、制御レジスターCTL、プログラムカウンターPC、アドレスレジスターA0〜A3、データレジスターD0、D1、アキュムレーターレジスターACC及びオペレーションパラメーターレジスターOPRを含む。なおレジスター部130のレジスター構成はこれに限定されるものではない。
制御レジスターCTLは、サブプロセッサー100の実行処理の開始、停止及び割り込み信号の送出等の制御に関係するビットを有する。プログラムカウンターPCは、サブプロセッサー用プログラム250が格納されるアドレス(プログラムカウンター値)を格納する。アドレスレジスターA0〜A3は、データインターフェイスを介して読み出される又は書き込まれるデータのアドレス情報を格納する。データレジスターD0、D1には、処理に必要なデータがホストインターフェイス110(広義にはバスコントローラーインターフェイス150)を介して書き込まれる。アキュムレーターレジスターACCは、演算部160における演算の途中結果を一時的に格納するためのものである。オペレーションパラメーターレジスターOPRは、演算処理における種々のオプション制御をするためのオペレーションパラメーターを格納する。
図3は、サブプロセッサー100の基本的な動作を説明するフローチャートである。また、図4〜図6は、サブプロセッサー100の基本的な動作を説明するブロック図である。以下に、図3〜図6を用いて、サブプロセッサー100の動作の各ステップS1〜S7について説明する。
まず、ステップS1では、図4のB1に示すように、ホストプロセッサー210が、サブプロセッサー用プログラム250の格納先を示すアドレス(プログラムカウンター値)を、ホストインターフェイス110(広義にはバスコントローラーインターフェイス150)を介して、プログラムカウンターPCにセットする。具体的には、ホストプロセッサー210が、書き込み制御信号と共に、プログラムカウンターPCのレジスターアドレス及びプログラムカウンター値をホストインターフェイス110に供給し、ホストインターフェイス110がプログラムカウンターPCに上記プログラムカウンター値をセットする。
次に、ステップS2では、図4のB2に示すように、ホストプロセッサー210が、ホストインターフェイス110(広義にはバスコントローラーインターフェイス150)を介して、アドレスレジスターA0〜A3に必要なアドレス情報をセットする。このアドレス情報は、サブプロセッサー100が処理する入力データの所在を示すアドレス及び出力データの格納先を示すアドレスである。さらに必要に応じて、ホストプロセッサー210は、サブプロセッサー100が行うデータ処理に必要なデータを、データレジスターD0、D1にセットする。
次に、ステップS3では、図4のB3に示すように、ホストプロセッサー210が処理開始コマンドを発行する。具体的には、ホストプロセッサー210が、ホストインターフェイス110(広義にはバスコントローラーインターフェイス150)を介して、制御レジスターCTLのランビット(Runビット)に1を書き込む。
次に、ステップS4では、図5のB4に示すように、サブプロセッサー100が、サブプロセッサー用プログラム250の命令をフェッチし、フェッチされた命令をデコードして実行処理を開始する。具体的には、命令フェッチ部120がプログラムカウンター値を命令アドレスとしてバスコントローラー220に出力し、バスコントローラー220から命令コードを受け取りフェッチする。同時に、プログラムカウンター値を次の命令アドレスに更新する。さらに命令デコード部140は、命令コードをデコードし、必要な制御信号を生成し、演算部160を制御する。
演算パイプライン部は例えば以下のように演算処理を行う。Xバスリード部170及びYバスリード部180は、命令デコード部140から供給される制御信号に基づき、命令コードで指定されたアドレスレジスターA0〜A3が示すアドレス(メモリー230上の番地)からデータを読み出し、演算部160に供給する。演算部160は命令コードに基づく演算を行って、Zバスライト部190に結果を出力する。Zバスライト部190は、命令コードで指定されたアドレスレジスターA0〜A3が示すアドレス(メモリー230上の番地)へ演算結果を書き込む。
サブプロセッサー100が処理を実行している期間は、制御レジスターCTLのランビット(Runビット)に1がセットされている。すなわち、ランビット(Runビット)にセットされた1は、サブプロセッサー100が実行処理中であることを示す。
次に、ステップS5では、図6のB5に示すように、サブプロセッサー100が処理終了命令をフェッチし、デコードする。処理終了命令は、例えばEXIT命令等であって、図6のB6に示すように、サブプロセッサー用プログラム250に記述されている命令(例えばサブプロセッサー用プログラム250のプログラム処理終了のステップに記述されている命令)である。この命令をフェッチすると、サブプロセッサー100は演算処理を終了する。
次に、ステップS6では、図6のB7に示すように、サブプロセッサー100が制御レジスターCTLの所定のビット(ランビット)をクリアする、すなわち、0を書き込む。
次に、ステップS7では、図6のB8に示すように、サブプロセッサー100が処理完了信号を出力する。具体的には、サブプロセッサー100が処理終了命令をフェッチすると、制御レジスターCTLのIRQビット(割り込み要求ビット)に1をセットする。IRQビットに1がセットされると、処理完了信号が出力される。
このように命令フェッチ部120(広義にはバスコントローラーインターフェイス150)及びデータインターフェイス(広義にはバスコントローラーインターフェイス150)を有することにより、サブプロセッサー100は自立的にデータ処理を実行することができる。
以上説明したように、本実施形態では、バスコントローラー220等を介してホストプロセッサー210とのインターフェイス処理を行うためのホストインターフェイス110(広義にはバスコントローラーインターフェイス150)が設けられている。即ち、通常はこの種のサブプロセッサーには設けられていないホストインターフェイス110を設けている。そしてこのホストインターフェイス110を介して、サブプロセッサー用プログラムの格納先を示すプログラムカウンター値やサブプロセッサーの処理開始コマンドがレジスター部130に書き込まれる。従って、サブプロセッサー100は、ホストプロセッサー210が処理開始コマンドを発行した後は、プログラムカウンターPCが指示するアドレス(プログラムカウンター値)から自立的にサブプロセッサー用プログラム250をロードし、ターゲットとするデータ処理を実行することができる。また、命令コードで指定されたアドレスレジスターが示すアドレスからデータを自立的に読み出し、書き込むことができる。
このように、本実施形態のサブプロセッサー100は、ホストプロセッサー210を介することなしに、自立的にターゲットとするデータ処理を実行することができるから、サブプロセッサー100の実行処理中に、ホストプロセッサー210が上記処理とは直接依存関係のない処理を行うことができる。その結果、データ処理を高速に実行することができる。また、サブプロセッサー100の実行処理中に、ホストプロセッサー210の処理が不要となる場合には、ホストプロセッサー210の動作を休止することができるから、データ処理装置(集積回路装置)200の消費電力を低減することができる。即ち、本実施形態では、バスコントローラーインターフェイス150をサブプロセッサー100に設けることで、サブプロセッサー100による自立的なデータ処理や低消費電力化等の実現を可能にしている。
3.命令コードの構成例
図7に、本実施形態のサブプロセッサー100の命令コードの一例を示す。例えば、加算、減算、乗算などの演算命令コードは図7に示す構成を有する。
オペコードOPCは演算の種類を示し、オペランドはデータの入出力方法を示す。オペランドは、さらに図7に示すように、データの入出力のためのアドレスレジスターを指定するフィールドXS、YS、ZS及びアクセス後に上記アドレスレジスターを更新するためのディスプレースメントを指定するフィールドXDP、YDP、ZDPから構成される。
具体的には、フィールドXS、YSは、それぞれXバスリード部170及びYバスリード部180がメモリー230からデータを読み込む際のメモリー上のアドレスを格納しているアドレスレジスターA0〜A3を指定する。フィールドZSは、Zバスライト部190が演算結果を書き込む先のメモリー上のアドレスを格納しているアドレスレジスターA0〜A3を指定する。また、オペランドフィールドは、メモリー230からデータを入出力するだけでなく、即値として入力データを指定したり、レジスター部130のデータレジスターD0、D1を指定することもできる。
4.レジスターの構成例
図8(A)、図8(B)に本実施形態のサブプロセッサー100のレジスターのビット構成の一例を示す。図8(A)は制御レジスターCTLの構成を示し、図8(B)はオペレーションパラメーターレジスターOPRの構成を示す。
制御レジスターCTLは、図8(A)に示すように、ランビット(Runビット)及びIRQビット(割り込み要求ビット)を含む。上述したように、ホストプロセッサー210が、ホストインターフェイス110を介して、制御レジスターCTLのランビット(Runビット)に1を書き込むことによって、サブプロセッサー100の実行処理が開始される。そして処理実行中はランビット(Runビット)に1がセットされる。また、サブプロセッサー100が処理終了命令をフェッチすると、IRQビット(割り込み要求ビット)に1をセットする。IRQビットに1がセットされると、処理完了信号が出力される。
オペレーションパラメーターレジスターOPRは、図8(B)に示すように、演算処理における種々のオプション制御をするためのオペレーションパラメーターを格納する。例えば、算術右シフト制御は、演算結果をメモリーに書き込む際の算術右シフトを制御する。飽和処理制御は演算結果をメモリーに書き込む際の飽和処理(クリッピング)を制御する。条件付きメモリー書き込み制御は、条件判定を伴うメモリー書き込みを制御する。
これらのオペレーションパラメーターは、ホストプロセッサー210により例えばホストインターフェイス110(広義にはバスコントローラーインターフェイス150)を介して書き込まれる。或いはサブプロセッサー用プログラム250のオペレーションパラメーター設定命令により書き込まれる。即ちサブプロセッサー用プログラム250に記述されるオペレーションパラメーター設定命令により、オペレーションパラメーターの内容を変更できる。
以上説明したように、本実施形態のサブプロセッサー100では、ホストインターフェイス110を設けているから、このホストインターフェイス110を介してオペレーションパラメーターの例えば初期値等を設定できる。そしてサブプロセッサー用プログラム250に記述されるオペレーションパラメーター設定命令により、オペレーションパラメーターの内容を随時変更することができる。これによりオペレーションパラメーターによるフレキシブルなオプション制御を実現できる。
5.データ処理装置の変形例
図9は本実施形態のデータ処理装置(集積回路装置)の変形例を示す。図9のデータ処理装置(集積回路装置)200は、図1に示した構成要素に加えてクロック生成回路260を含む。
上述したように、本実施形態のサブプロセッサー100は、ホストプロセッサー210を介することなしに自立的にターゲットとするデータ処理を実行することができる。したがって、サブプロセッサー100がデータ処理を実行している期間には、ホストプロセッサー210は動作を休止することができる。そしてサブプロセッサー100の処理完了後に、ホストプロセッサー210は動作を再開すればよい。
具体的には、ホストプロセッサー210が処理開始コマンドをホストインターフェイス110(広義にはバスコントローラーインターフェイス150)を介してサブプロセッサー100に発行した後は、サブプロセッサー100が自立的に動作してデータ処理を実行する。従って、このサブプロセッサー100のデータ処理期間では、ホストプロセッサー210の動作が必要でない場合に、ホストプロセッサー210はホルト命令(HALT命令)等を発行して、クロック生成回路260からのクロック供給を停止させることで、ホストプロセッサー210は自らの動作を休止させることができる。こうすることで、データ処理期間では、ホストプロセッサー210が休止し、サブプロセッサー100だけが動作するため、無駄な電力がホストプロセッサー210で消費されてしまう事態を防止できる。
一方、データ処理の完了後には、ホストプロセッサー210は休止状態であるため、サブプロセッサー100からの処理完了信号を受け付けることができない。そこでサブプロセッサー100が、ホストプロセッサー210ではなくクロック生成回路260に対して処理完了信号を出力し、これを受けたクロック生成回路260がホストプロセッサー210へのクロック供給を再開する。こうすることで、クロック供給が再開されたホストプロセッサー210は、再び動作を開始することが可能になり、例えばサブプロセッサー100のデータ処理の結果を利用した演算処理等を実行できる。
このようにすれば、サブプロセッサー100の処理実行中にホストプロセッサー210の動作を休止することができるから、データ処理装置(集積回路装置)200の消費電力を低減することができる。
6.電子機器
図10は本実施形態のデータ処理装置(集積回路装置)を含む電子機器の一例を示す。図10の電子機器400は、センサー310、検出回路320、A/D変換器330及び処理部340を含む。処理部340は、本実施形態のデータ処理装置である集積回路装置200により実現される。なお、検出回路320やA/D変換器330を、集積回路装置200に組み込んで、1チップ構成にしてもよい。
電子機器400は、例えば脈拍計、歩数計、デジタルカメラ等である。センサー310は、ジャイロセンサー、加速度センサー、フォトセンサー、圧力センサー等であって、電子機器400の用途に応じたセンサーが用いられる。検出回路320はセンサー310からの出力信号(センサー信号)を増幅し、フィルターによりノイズを除去する。A/D変換器330は増幅された信号をデジタル信号に変換して処理部340へ出力する。
処理部340は、A/D変換器330からのデジタル信号に対して必要なデジタル信号処理を実行する。また検出回路320のゲイン制御等を行ってもよい。ここで、処理部340で行われるデジタル信号処理としては、例えばフーリエ変換等の処理を想定できる。
センサー310からのセンサー信号は一般的に微少振幅の信号であるため、センサー信号から所望信号を抽出するためには、検出回路320は、ノイズの少ない環境で所望信号の検出動作を行う必要がある。一方、微少振幅のセンサー信号から所望信号を抽出するためには、例えば高速フーリエ変換等の処理負荷が高いデータ処理が必要になる。
この点、本実施形態では、微少振幅のセンサー信号から所望信号を抽出するための処理負荷が高いデータ処理を、演算処理能力が高いサブプロセッサー100により高速に実行できる。そして、この際に図9に示すようにホストプロセッサー210を休止状態にすることで、ホストプロセッサー210からのノイズが検出回路320に悪影響を及ぼすことも防止できる。
また、脈拍計、歩数計等の電子機器400が、電池からの電源だけで、長時間動作するためには、無駄な電力の消費を抑える必要がある。この点、本実施形態では、サブプロセッサー100の動作中にはホストプロセッサー210を休止状態にしたり、或いは逆にホストプロセッサー210の動作中にはサブプロセッサー100を休止状態にすることができるため、無駄な電力の消費を抑えることができ、電池駆動の電子機器400を長時間動作させることが可能になる。
なお、以上のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。またサブプロセッサー、集積回路装置及び電子機器の構成、動作も本実施形態で説明したものに限定されず、種々の変形実施が可能である。
100 サブプロセッサー、110 ホストインターフェイス、120 命令フェッチ部、130 レジスター部、140 命令デコード部、150 バスコントローラーインターフェイス、160 演算部、170 Xバスリード部、180 Yバスリード部、190 Zバスライト部、200 データ処理装置(集積回路装置)、210 ホストプロセッサー、220 バスコントローラー、230 メモリー、240 ホストプロセッサー用プログラム、250 サブプロセッサー用プログラム、260 クロック生成回路、270 データ、310 センサー、320 検出回路、330 A/D変換器、340 処理部、400 電子機器。

Claims (9)

  1. ホストプロセッサーと、
    サブプロセッサーと、
    ホストプロセッサー用プログラム及びサブプロセッサー用プログラムが格納されるメモリーと、前記ホストプロセッサーと、前記サブプロセッサーとの間のバス制御を行うバスコントローラーと、
    クロック生成回路と、
    含み、
    前記サブプロセッサーは、
    前記サブプロセッサー用プログラム命令をフェッチする命令フェッチ部と、
    レジスター部と、
    前記サブプロセッサープログラム命令をデコードする命令デコード部と、
    前記命令デコード部の出力に基づいて命令の実行処理を行う演算部と、
    前記バスコントローラーとの間のインターフェイス処理を行うバスコントローラーインターフェイスと、
    を含み、
    前記ホストプロセッサーは、
    前記サブプロセッサー用プログラムの格納先を示すプログラムカウンター値及びサブプロセッサーの処理開始コマンドを前記レジスター部に設定し、
    前記クロック生成回路は、
    前記処理開始コマンドが発行された後に前記ホストプロセッサーへのクロック供給を停止することで、前記ホストプロセッサーを休止状態に設定し、
    前記サブプロセッサーの前記命令フェッチ部は、
    前記プログラムカウンター値で指定される第1命令をフェッチし、
    前記サブプロセッサーの前記命令デコード部は、
    前記第1命令をデコードし、
    前記サブプロセッサーの前記演算部は、
    前記第1命令の実行処理を行い、
    前記サブプロセッサーは、
    前記サブプロセッサー用プログラムの処理終了命令が前記命令デコード部によりデコードされた場合に、前記クロック生成回路に対して処理完了信号を出力し、
    前記クロック生成回路は、
    前記処理完了信号を受けた場合に、前記ホストプロセッサーへのクロック供給を再開することで、前記ホストプロセッサーの動作を再開させることを特徴とする集積回路装置。
  2. 請求項1において、
    前記ホストプロセッサーは、
    前記処理開始コマンドを発行した後にホルト命令を発行することで、前記クロック生成回路からのクロック供給を停止させることを特徴とする集積回路装置。
  3. 請求項1又は2において、
    前記バスコントローラーインターフェイスは、
    前記ホストプロセッサーとの間のインターフェイス処理を行うホストインターフェイスと
    命令の実行のためのデータの読み出し又は書き込みを行うためのデータインターフェイスと、
    を含むことを特徴とする集積回路装置
  4. 請求項1乃至3のいずれかにおいて、
    前記レジスター部は、データレジスターを有し、
    前記演算部は、
    前記バスコントローラーインターフェイスを介して前記データレジスターに書き込まれたデータと前記命令デコード部の出力とに基づいて、命令の実行処理を行うことを特徴とする集積回路装置
  5. 請求項1乃至4のいずれかにおいて、
    前記レジスター部は、前記バスコントローラーインターフェイスを介して読み出される又は書き込まれるデータのアドレス情報を格納するアドレスレジスターを有し、
    前記アドレスレジスターのアドレス情報は、前記バスコントローラーインターフェイスを介して前記ホストプロセッサーにより書き込まれることを特徴とする集積回路装置
  6. 請求項1乃至5のいずれかにおいて、
    前記レジスター部は、前記サブプロセッサーが処理中であることを示すランビットを含む制御レジスターを有し、
    前記処理完了信号が出力される際に前記ランビットがクリアされることを特徴とする集積回路装置
  7. 請求項1乃至6のいずれかにおいて、
    前記レジスター部は、オペレーションパラメーターレジスターを有し、
    前記演算部は、
    前記ホストプロセッサーにより前記オペレーションパラメーターレジスターにオペレーションパラメーターが書き込まれた場合に、
    前記オペレーションパラメーターにより設定される内容の演算処理を行うことを特徴とする集積回路装置
  8. 請求項1乃至7のいずれかにおいて、
    前記レジスター部は、オペレーションパラメーターレジスターを有し、
    前記演算部は、
    前記サブプロセッサー用プログラムのオペレーションパラメーター設定命令により前記オペレーションパラメーターレジスターにオペレーションパラメーターが書き込まれた場合に、
    前記オペレーションパラメーターにより設定される内容の演算処理を行うことを特徴とする集積回路装置
  9. 請求項1乃至8のいずれかに記載の集積回路装置を含むことを特徴とする電子機器。
JP2011519532A 2009-06-23 2010-06-10 集積回路装置及び電子機器 Expired - Fee Related JP5549670B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011519532A JP5549670B2 (ja) 2009-06-23 2010-06-10 集積回路装置及び電子機器

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2009148665 2009-06-23
JP2009148665 2009-06-23
JP2011519532A JP5549670B2 (ja) 2009-06-23 2010-06-10 集積回路装置及び電子機器
PCT/JP2010/003880 WO2010150474A1 (ja) 2009-06-23 2010-06-10 サブプロセッサー、集積回路装置及び電子機器

Publications (2)

Publication Number Publication Date
JPWO2010150474A1 JPWO2010150474A1 (ja) 2012-12-06
JP5549670B2 true JP5549670B2 (ja) 2014-07-16

Family

ID=43386264

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011519532A Expired - Fee Related JP5549670B2 (ja) 2009-06-23 2010-06-10 集積回路装置及び電子機器

Country Status (4)

Country Link
US (1) US9632794B2 (ja)
JP (1) JP5549670B2 (ja)
CN (1) CN102804136B (ja)
WO (1) WO2010150474A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5831316B2 (ja) 2012-03-19 2015-12-09 富士通株式会社 並列処理装置
US10599441B2 (en) * 2017-09-04 2020-03-24 Mellanox Technologies, Ltd. Code sequencer that, in response to a primary processing unit encountering a trigger instruction, receives a thread identifier, executes predefined instruction sequences, and offloads computations to at least one accelerator
CN108446096B (zh) 2018-03-21 2021-01-29 杭州中天微系统有限公司 数据计算系统
CN113271115B (zh) * 2021-04-29 2023-03-21 思澈科技(上海)有限公司 一种射频电路控制方法及其系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61150061A (ja) * 1984-12-25 1986-07-08 Panafacom Ltd プロセツサ結合方式
JPS63247861A (ja) * 1987-04-02 1988-10-14 Hitachi Ltd コプロセツサ制御方法
JPH01140330A (ja) * 1987-09-11 1989-06-01 Natl Semiconductor Corp <Ns> 高性能cpu−fpuクラスタ用パイプライン型スレーブプロトコル
JPH02122364A (ja) * 1988-11-01 1990-05-10 Ibiden Co Ltd マルチプロセッサシステム
WO1997014093A1 (fr) * 1995-10-09 1997-04-17 Hitachi, Ltd. Terminal
JPH09114665A (ja) * 1995-09-29 1997-05-02 Internatl Business Mach Corp <Ibm> 記憶装置と補助プロセッサ間のコマンド及びデータ転送方法及び情報処理システム
JPH09212358A (ja) * 1996-01-31 1997-08-15 Hitachi Ltd データ処理装置及びマイクロプロセッサ
JP2003208412A (ja) * 2001-11-08 2003-07-25 Matsushita Electric Ind Co Ltd 回路群制御システム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0766365B2 (ja) 1985-03-08 1995-07-19 株式会社日立製作所 コ・プロセツサ制御方式
JPH01147656A (ja) * 1987-12-03 1989-06-09 Nec Corp マイクロプロセッサ
JPH03250234A (ja) 1990-02-28 1991-11-08 Hitachi Ltd マイクロプロセッサシステム及びマイクロプロセッサシステム内におけるデータ転送方式
US5632037A (en) * 1992-03-27 1997-05-20 Cyrix Corporation Microprocessor having power management circuitry with coprocessor support
JP2810317B2 (ja) 1994-03-31 1998-10-15 三菱電機株式会社 制御命令演算処理装置
US6505290B1 (en) 1997-09-05 2003-01-07 Motorola, Inc. Method and apparatus for interfacing a processor to a coprocessor
US6480952B2 (en) 1998-05-26 2002-11-12 Advanced Micro Devices, Inc. Emulation coprocessor
US6327650B1 (en) * 1999-02-12 2001-12-04 Vsli Technology, Inc. Pipelined multiprocessing with upstream processor concurrently writing to local register and to register of downstream processor
JP2002041489A (ja) * 2000-07-25 2002-02-08 Mitsubishi Electric Corp 同期信号生成回路、それを用いたプロセッサシステムおよび同期信号生成方法
JP2002149402A (ja) 2000-11-14 2002-05-24 Pacific Design Kk データ処理装置およびその制御方法
EP1349071A1 (en) * 2002-03-29 2003-10-01 STMicroelectronics N.V. Integrated circuit with direct debugging architecture
KR100703357B1 (ko) * 2003-08-16 2007-04-03 삼성전자주식회사 보조제어부를 구비하는 휴대용 단말기의 캐시메모리구현장치 및 방법
US8145816B2 (en) 2004-09-15 2012-03-27 Intel Corporation System and method for deadlock free bus protection of resources during search execution
JP2006163684A (ja) 2004-12-06 2006-06-22 Matsushita Electric Ind Co Ltd プロセッサシミュレータ
US8806228B2 (en) * 2006-07-13 2014-08-12 International Business Machines Corporation Systems and methods for asymmetrical performance multi-processors
US9015501B2 (en) 2006-07-13 2015-04-21 International Business Machines Corporation Structure for asymmetrical performance multi-processors

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61150061A (ja) * 1984-12-25 1986-07-08 Panafacom Ltd プロセツサ結合方式
JPS63247861A (ja) * 1987-04-02 1988-10-14 Hitachi Ltd コプロセツサ制御方法
JPH01140330A (ja) * 1987-09-11 1989-06-01 Natl Semiconductor Corp <Ns> 高性能cpu−fpuクラスタ用パイプライン型スレーブプロトコル
JPH02122364A (ja) * 1988-11-01 1990-05-10 Ibiden Co Ltd マルチプロセッサシステム
JPH09114665A (ja) * 1995-09-29 1997-05-02 Internatl Business Mach Corp <Ibm> 記憶装置と補助プロセッサ間のコマンド及びデータ転送方法及び情報処理システム
WO1997014093A1 (fr) * 1995-10-09 1997-04-17 Hitachi, Ltd. Terminal
JPH09212358A (ja) * 1996-01-31 1997-08-15 Hitachi Ltd データ処理装置及びマイクロプロセッサ
JP2003208412A (ja) * 2001-11-08 2003-07-25 Matsushita Electric Ind Co Ltd 回路群制御システム

Also Published As

Publication number Publication date
CN102804136A (zh) 2012-11-28
US20120023312A1 (en) 2012-01-26
WO2010150474A1 (ja) 2010-12-29
CN102804136B (zh) 2015-03-11
JPWO2010150474A1 (ja) 2012-12-06
US9632794B2 (en) 2017-04-25

Similar Documents

Publication Publication Date Title
TWI541658B (zh) 資料處理裝置及半導體積體電路裝置
US11341085B2 (en) Low energy accelerator processor architecture with short parallel instruction word
US9524011B2 (en) Instruction loop buffer with tiered power savings
JP5549670B2 (ja) 集積回路装置及び電子機器
KR100983135B1 (ko) 패킷의 의존성 명령을 그룹핑하여 실행하는 프로세서 및 방법
JP6073392B2 (ja) 命令としてデータ値を評価するシステムおよび方法
KR102152735B1 (ko) 그래픽 처리 장치 및 이의 동작 방법
JP4800582B2 (ja) 演算処理装置
JP2008299729A (ja) プロセッサ
US20170255467A1 (en) Apparatus for Information Processing with Loop Cache and Associated Methods
JP4284559B2 (ja) マイクロプロセッサ、マイクロコンピュータ、電子機器
JP4159586B2 (ja) 情報処理装置および情報処理の高速化方法
JP2001014161A (ja) プログラマブルコントローラ
JP3729142B2 (ja) 並列演算処理装置
JP2003196085A (ja) 情報処理装置
Ünsalan et al. Microcontroller Architecture
JP5263498B2 (ja) 信号処理プロセッサ及び半導体装置
JP2011170758A (ja) プロセッサ
JP2008299740A (ja) 非同期マイクロプロセッサ、電子情報装置
JP2007156557A (ja) 並列プロセッサ
JP2009176177A (ja) プログラマブルコントローラ
JP2006163566A (ja) 情報処理装置
JPH11143597A (ja) マイクロプロセッサ装置
JP2001337821A (ja) データ処理装置
JP2011018233A (ja) シミュレーション方法、プログラム作成方法、集積回路装置及び電子機器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131029

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140106

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20140106

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20140106

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140422

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140505

R150 Certificate of patent or registration of utility model

Ref document number: 5549670

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees