JP6546479B2 - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP6546479B2
JP6546479B2 JP2015166184A JP2015166184A JP6546479B2 JP 6546479 B2 JP6546479 B2 JP 6546479B2 JP 2015166184 A JP2015166184 A JP 2015166184A JP 2015166184 A JP2015166184 A JP 2015166184A JP 6546479 B2 JP6546479 B2 JP 6546479B2
Authority
JP
Japan
Prior art keywords
clock signal
request
unit
slave device
slave
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
JP2015166184A
Other languages
English (en)
Other versions
JP2017045199A (ja
JP2017045199A5 (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2015166184A priority Critical patent/JP6546479B2/ja
Priority to US15/739,875 priority patent/US10558237B2/en
Priority to PCT/JP2016/003657 priority patent/WO2017033421A1/en
Publication of JP2017045199A publication Critical patent/JP2017045199A/ja
Publication of JP2017045199A5 publication Critical patent/JP2017045199A5/ja
Application granted granted Critical
Publication of JP6546479B2 publication Critical patent/JP6546479B2/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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J29/00Details of, or accessories for, typewriters or selective printing mechanisms not otherwise provided for
    • B41J29/38Drives, motors, controls or automatic cut-off devices for the entire printing mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3284Power saving in printer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
    • G06F13/4256Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Description

本発明は、リングバスで構成されたシステムを有する情報処理装置に関する。
近年、半導体集積回路装置において、機能拡張、パフォーマンス向上に伴い、回路規模が増大し、数多くの周辺回路が使用されている。一方、環境への配慮や、各種省電力規制を満たすために、有効な消費電力の削減方法もますます注目されている。例えば、動作時に不要な周辺回路へのクロック信号の供給を停止して全体の消費電力を削減するという方法(クロックゲート)が使用される。
特許文献1には、1つのマスタデバイスと複数のスレーブデバイスとが接続されている場合、マスタデバイスのアクセス対象のスレーブデバイスのみにクロック信号を供給する構成が記載されている。また、アクセス対象ではないスレーブデバイスにはクロック信号を供給しない構成も記載されている。また、スレーブデバイスが1つのアクセス要求(リクエスト)に対して発行したレスポンス信号が検出された時に、アクセスが終了したと判定され、全てのデバイスへのクロック信号の供給を停止するという構成が記載されている。
特開平9−237131号公報
しかしながら、特許文献1に記載のクロックゲート方法を、リングバスを使用するシステムに使用すると、アクセス先のスレーブデバイスにしかクロック信号を供給しないことになり、アクセス対象ではないスレーブデバイスが動作することができない。その結果、リングバス上にあるアクセス対象でないスレーブデバイスを介して、リクエストとレスポンスのデータをリングバス上に巡回させることができなくなってしまう。そのため、特許文献1の構成は、リングバスを使用するシステムには適用することができない。
本発明の目的は、このような従来の問題点を解決することにある。上記の点に鑑み、本発明は、リングバスを使用するシステムにおいて、リングバス上のデバイスへのクロック信号の供給を適切に制御する仕組みを提供することを目的とする。
上記課題を解決するため、本発明に係る情報処理装置は、マスタデバイスと、データを受信するインタフェース部と前記インタフェース部を介して受信したデータを処理するコア部とを有するスレーブデバイスと、を有し、前記マスタデバイスと複数の前記スレーブデバイスがリングバスで通信可能に接続された情報処理装置であって、前記スレーブデバイスへのクロック信号の供給を制御するクロック信号制御部、を有し、前記クロック信号制御部は、前記マスタデバイスが前記リングバスを介して前記スレーブデバイスに発行するリクエストを検知する検知手段と、前記検知手段による前記リクエストの検知に基づいて、前記複数のスレーブデバイスの各インタフェース部にクロック信号を供給する第1クロック信号供給手段と、前記検知手段によって検知された前記リクエストで指定されたスレーブデバイスを前記複数のスレーブデバイスから選択する選択手段と、前記選択手段により選択された前記スレーブデバイスのコア部にクロック信号を供給する第2クロック信号供給手段とを有することを特徴とする。
本発明によれば、リングバスを使用するシステムにおいて、リングバス上のデバイスへのクロック信号の供給を適切に制御することができる。
印刷装置の構成を示す図である。 リングバスプロトコルに従うタイミングチャートを示す図である。 リングバスを使用する半導体集積回路装置のブロック図である。 マスタデバイスの構成を示すブロック図である。 スレーブデバイスの構成を示すブロック図である。 クロック制御ユニットの構成を示すブロック図である。 クロック制御ユニットの構成を示すブロック図である。 クロック信号の供給を制御する処理を示すフローチャートである。 クロック信号の供給を制御する処理を示すフローチャートである。
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
[第1の実施形態]
図1は、リングバスを使用する印刷装置の構成を示す図である。印刷装置100は、印刷装置100を統括的に制御するCPU(Central Processing Unit)101、プリント装置102、スキャン装置103、画像処理装置104、記憶装置105、クロック発生装置107を含んで構成される。印刷装置100は、他の構成を含んでも良い。また、不図示であるが、汎用的なROMやRAM等も含まれる。本実施形態の動作は、例えば、CPU101が記憶装置105やROM等に記憶されたプログラムを読み出して実行することにより実現される。
画像処理装置104は、例えば半導体集積回路で構成され、内部にリングバスが構成されている。1つのマスタデバイス301と複数のスレーブデバイス302、303は、リング状(環状)に相互に接続され、マスタデバイス301から発行されたリクエスト105は、リング状のバス(以下、リングバスという)上に巡回される。そして、リクエスト105は、スレーブデバイス302、303に順次、到達し、最終的にマスタデバイス301に戻る。以下、スレーブデバイス302及び303を総称する場合は、単にスレーブデバイスという。
スレーブデバイスは、リクエスト105を受けると、直ちにそのリクエストを次のスレーブデバイス或いはマスタデバイス301に送信する。同時に、そのリクエストをデコードし、デコードを行ったスレーブ自身が該当リクエストのアクセス対象であるか否かを判定する。ここで、アクセス対象であると判定した場合、本判定を行ったスレーブデバイスは、リクエストに応じて、データのリード/ライトの動作を行い、レスポンス信号106を発行する。一方、アクセス対象でないと判定した場合、本判定を行ったスレーブデバイスは、リクエストの内容を無視する。その場合には、スレーブデバイスは、受信したリクエストをリングバス上の次のデバイスにそのまま転送する。
本実施形態におけるリングバスは、以下の二つの点を特徴として有する。一つは、リングバスに接続されるデバイスは、リクエストとレスポンスをリングバス上で巡回させる機能を有していないか或いはその機能が動作していない場合、リングバス上のデータ通信を行うことができない。また、一つは、リングバスに接続されるスレーブデバイスが複数あるので、マスタデバイスは、それぞれのスレーブデバイスに対するリクエストを連続的に発行可能である。そして、各スレーブデバイスは、受信したリクエストをデコードして、自デバイスがそのリクエストを処理すべきか否かを判定し、処理すべきと判定した場合には、そのリクエストに従って処理を実行する。
図2は、リングバス上のデータ通信プロトコルに従い、データのライト動作のタイミングチャートを示す図である。リングバスプロトコルの一例を示すタイミングチャート200は、クロック信号201、リード/ライト選択信号202、リクエスト信号203の各信号のタイミングチャートを示している。また、タイミングチャート200は、リクエストデータ信号204、レスポンス信号205、レスポンスデータ信号206の各信号のタイミングチャートを示している。
クロック信号201は、リングバスの動作を保障するために必要なクロック信号である。リード/ライト選択信号202は、マスタデバイス301が発行したリクエストの種類を示す信号である。例えば、リードの場合、1_read_0_write=1のレベルが設定され、ライトの場合、1_read_0_write=0のレベルが設定される。図2は、ライトリクエストの場合を示している。
リクエスト信号203は、マスタデバイス301がリクエストを発行しようとする際、或いは、スレーブデバイスがリクエストを次のデバイスに送信しようとする際に、アサートされる(有効にされる)信号である。リクエストデータ204は、リクエスト対象であるスレーブデバイスを特定する情報であるアドレス207とライトデータ208とを含む。リクエストデータ204は、マスタデバイス301から発行され、リングバス上を巡回する。
レスポンス信号205は、スレーブデバイスが処理の実行を終了した(即ち、ライトが成功した)ことをマスタデバイス301に通知する際に、アサートされる信号である。レスポンスデータ206は、リクエストの対象であるスレーブデバイスを特定する情報であるアドレス209を含む。スレーブデバイスによる処理の実行後に、レスポンスデータ206を発行し、マスタデバイス301に返す。レスポンスデータ206のアドレス209と、リクエストデータ204のアドレス207は一致している。
以上説明したリングバスに用いられる信号及びデータ201〜206は、リングバスプロトコルの一例であり、リングバスは、他の信号やデータ体系により実現されても良い。
図3は、リングバスを使用する画像処理装置104の構成を示すブロック図である。画像処理装置104は、マスタデバイス301、スレーブデバイス302、スレーブデバイス303、クロック制御ユニット305を含んで構成されている。
マスタデバイス301、スレーブデバイス302とスレーブデバイス303は、リングバス304に接続されている。また、スレーブデバイス302、303の動作に必要なクロック信号307、308、309は、クロック制御ユニット305からスレーブデバイス302及び303に供給されている。クロック制御ユニット305は、クロック発生装置106から供給されるクロック信号306から、クロック信号307〜309を生成する。
クロック制御ユニット305は、リングバス304上のマスタデバイス301が発行したリクエストとスレーブデバイスが返したレスポンスとを監視し、スレーブデバイス302、303にクロック信号を供給すべきか否かを判定する。
図4は、マスタデバイス301の構成を示すブロック図である。マスタデバイス301は、制御部401、記憶部402、リングバス発信部403、リングバス受信部404を含んで構成されている。
制御部401は、CPU(Central Processing Unit)やRAM(Randam Access Memory)或いは専用回路装置を含み、マスタデバイス301の動作を制御する。記憶部402は、HDD(Hard Disk Drive)等の大容量記憶装置を含む。また、記憶部402は、マスタデバイス301を動作させるプログラムや、スレーブデバイス302、303へのライトデータや、スレーブデバイス302、303からのリードデータ等を格納する。
リングバス発信部403は、制御部401により制御され、リングバス304のプロトコルに従い、スレーブデバイス302、303に対してリクエストを発行する回路装置である。リングバス受信部404は、リングバス304上のプロトコルに従い、スレーブデバイス302、303からのレスポンスを受信する回路装置である。
制御部401と記憶部402には、クロック信号405が供給され、リングバス発信部403とリングバス受信部404には、クロック信号406が供給される。クロック信号405は、クロック発生装置106から供給され、マスタデバイス301のコア部分を動作させるためのクロック信号である。また、クロック信号406は、クロック発生装置106から供給され、マスタデバイス301のバスインタフェース部分(I/F)を動作させるためのクロック信号である。また、クロック信号405とクロック信号406は、同一であっても良い。
図5は、スレーブデバイス302及び303の構成を示すブロック図である。スレーブデバイス302とスレーブデバイス303の構成は同じであるので、以下、スレーブデバイス302をスレーブデバイスの代表例として説明する。スレーブデバイス302は、リングバス受信部501、リングバス発信部502、デコーダ部503、リード/ライト部504、レスポンス生成部505、記憶部506を含む。
リングバス受信部501は、リングバス304のプロトコルに従い、マスタデバイス301或いはスレーブデバイスからのデータ(リクエストデータ204/レスポンスデータ206)を受信する。そして、受信したデータをリングバス発信部502とデコーダ部503に渡す。
リングバス発信部502は、リングバス304上のプロトコルに従い、マスタデバイス301或いはスレーブデバイスにデータ(リクエストデータ204/レスポンスデータ206)を送信する。ここで、送信されるデータは、リングバス受信部501から渡されるデータ(リクエストデータ204/レスポンスデータ206)か、或いは、リード/ライト部504、レスポンス生成部505から渡されるデータである。
デコーダ部503は、リングバス受信部501から渡されたデータをデコードし、リクエストであるか若しくはレスポンスであるかを判定し、リクエストであると判定された場合、更に、自スレーブデバイスに対するリクエストであるか否かを判定する。また、デコード部503は、自スレーブデバイスへのリードリクエストであるか若しくはライトリクエストであるかを判定する。ここで、リードリクエストであると判定された場合、リード/ライト部504にリード命令を出力し、ライトリクエストであると判定された場合、リード/ライト部504にライト命令とライトデータを出力する。
リード/ライト部504は、デコーダ部503からの命令に従い、記憶部506に対し、リード/ライト動作を行う。また、リード/ライト部504は、リード/ライト動作が完了した旨をレスポンス生成部505に通知する。レスポンス生成部505は、リード/ライト部504からの通知を受けると、リングバス304上のプロトコルに従い、レスポンス信号205を生成し、リングバス発信部502に出力する。
記憶部506は、RAMやレジスタ等の記憶装置を含み、リード/ライト部504からのリード命令に従い、記憶装置の所定のアドレスに格納されたデータを読み出す。また、記憶部506は、リード/ライト部504からのライト命令に従い、記憶装置の所定のアドレスにライトデータを格納する。
リングバス受信部501とリングバス発信部502には、クロック信号507が供給され、デコーダ部503、リード/ライト部504、レスポンス生成部505、記憶部506には、クロック信号508が供給される。クロック信号507は、スレーブデバイス302のバスI/F部分を動作させるためのクロック信号であり、図3のクロック信号307に相当する。また、クロック信号508は、スレーブデバイス302のコア部分を動作させるためのクロック信号であり、図3のクロック信号308、309に相当する。
本実施形態では、説明上、以下のように参照符号を区別する。つまり、スレーブデバイス302は、リングバス受信部501、リングバス発信部502、デコーダ部503、リード/ライト部504、レスポンス生成部505、記憶部506を含んで構成される。そして、バスI/F部分にはクロック信号507が供給され、コア部分にはクロック信号508が供給される。また、スレーブデバイス303は、不図示であるが、リングバス受信部509、リングバス発信部510、デコーダ部511、リード/ライト部512、レスポンス生成部513、記憶部514を含んで構成される。そして、バスI/F部分にはクロック信号515が供給され、コア部分にはクロック信号516が供給される。
図6は、クロック制御ユニット305の構成を示すブロック図である。クロック制御ユニット305は、リクエスト受信部601、デコーダ部602、レスポンス受信部603、カウンタ部604、比較部605、クロック信号制御部606を含んで構成される。
リクエスト受信部601は、マスタデバイス301が発行したリクエスト信号607を検出し、デコーダ部602に出力する。また、リクエスト受信部601は、リクエスト信号607をカウンタ部604にも出力し、リクエスト信号の数をカウントする。デコーダ部602は、リクエスト受信部601から受けたリクエストをデコードし、アクセス対象であるスレーブデバイスを特定し、クロック信号制御部606に命令を送信する。クロック信号制御部606は、適切なクロック信号を生成し、スレーブデバイス302、303に供給する。
レスポンス受信部603は、スレーブデバイス302、303が発行したレスポンス信号608を検出し、カウンタ部604に出力し、レスポンス信号の数をカウントする。カウンタ部604は、リクエスト受信部601とレスポンス受信部603からの命令を受けて、発行したリクエスト信号の数と、返信されたレスポンス信号の数とのそれぞれをカウントする。そして、カウント部604は、そのカウント結果を、比較部605に出力する。
比較部605は、カウンタ部604からのカウント結果を受け、リクエストの数とレスポンスの数とを比較し、一致するか否かを判定する。ここで、一致すると判定した場合、比較部605は、クロック信号制御部606に命令を出力する。クロック信号制御部606は、適切にクロック信号の供給を停止する。一方、一致しないと判定した場合、比較部605は、クロック信号制御部606に命令を出力しない。
クロック信号制御部606は、デコーダ部602、比較部605からの命令を受け、入力されているクロック信号609のうち、供給すべきクロック信号610を特定し、特定したクロック信号610をスレーブデバイス302、303に供給する。図6において、クロック信号609は、図3のクロック信号306に相当する。また、クロック信号610は、図3のクロック信号307、308、309に相当する。
図8は、本実施形態におけるクロック信号の供給を制御する処理を示すフローチャートである。本実施形態では、一例として、マスタデバイス301がスレーブデバイス303に対し、リクエスト信号を一回発行し、スレーブデバイス303が該当のリクエスト信号を受け、ライト動作終了後にレスポンス信号を返すという動作について説明する。また、図8は、クロック制御ユニット305がそのリクエスト信号とレスポンス信号を検出し、クロック信号の供給を制御する処理を示すフローチャートである。図8の各処理は、例えば、CPU101がROMに記憶された画像処理装置104を制御するプログラムをRAMに読み出して実行することにより実現する。
S701〜S704は、マスタデバイス301がスレーブデバイス303に対して、ライトコマンドを1回発行し、レスポンス信号を検出する動作を示す。マスタデバイス301の制御部401は、記憶部402に格納されているプログラムを実行し、リクエスト信号を発行するか否かを判定する(S701)。ここで、リクエスト信号を発行すると判定された場合、S702に進み、リクエスト信号を発行しないと判定された場合、S701の処理を繰り返す。
マスタデバイス301の制御部401は、リングバス発信部403を介して、アクセス対象のスレーブデバイスに対して、ライトリクエスト信号を発行する(S702)。マスタデバイス301の制御部401は、リングバス受信部404を介して、スレーブデバイス303からレスポンス信号が返信されたか否かを判定する(S703)。ここで、レスポンス信号が返信されたと判定された場合、S704に進み、レスポンス信号が返信されていないと判定された場合、S703の処理を繰り返す。マスタデバイス301の制御部401は、リングバス受信部404を介して、スレーブデバイス303からのレスポンス信号を受信する(S704)。
S705〜S709は、クロック制御ユニット305がマスタデバイス301の発行したリクエスト信号を検知し、スレーブデバイス302、303に供給すべきクロック信号を、スレーブデバイス302、303に供給する動作を示す。
クロック制御ユニット305のリクエスト受信部601は、マスタデバイス301からのリクエスト信号を検出したか否かを判定する(S705)。ここで、リクエスト信号を検出したと判定された場合、S706に進み、リクエスト信号を検出していないと判定された場合、S705の処理を繰り返す。
クロック制御ユニット305のデコーダ部602は、リクエスト信号をデコードし、マスタデバイス301のアクセス対象であるスレーブデバイス303のアドレスを特定し、クロック信号制御部606に制御信号を出力する(S706)。クロック制御ユニット305のクロック信号制御部606は、入力されたクロック信号609のうち、スレーブデバイス302、303(つまり、全てのスレーブデバイス)のバスI/F部分のクロック信号をイネーブルとする(有効とする)。そして、クロック信号制御部606は、イネーブルとしたクロック信号をスレーブデバイス302、303に供給する(S707)。
クロック制御ユニット305のクロック信号制御部606は、入力されたクロック信号609のうち、アクセス対象のスレーブデバイス303のコア部分のクロック信号をイネーブルとし、スレーブデバイス303に供給する(S708)。つまり、スレーブデバイス302のコア部分へはクロック信号は供給されない。クロック制御ユニット305のカウンタ部604は、RAM等に変数領域として確保されたリクエスト数を+1インクリメントする(S709)。S709の後、S705からの処理を繰り返す。
S710〜S713では、クロック制御ユニット305は、スレーブデバイスの発行したレスポンス信号を検出する。そして、クロック制御ユニット305は、検出したレスポンス信号の数をカウントし、全てのリクエスト信号によるアクセスが終了したと判定した場合、スレーブデバイスへのクロック信号の供給を停止する。
クロック制御ユニット305のレスポンス受信部603は、スレーブデバイス303からのレスポンス信号を検出したか否かを判定する(S710)。ここで、レスポンス信号を検出したと判定された場合、S711に進み、レスポンス信号を検出していないと判定された場合、S710の処理を繰り返す。クロック制御ユニット305のカウンタ部604は、RAM等に変数領域として確保されたレスポンス数を+1インクリメントする(S711)。
クロック制御ユニット305の比較部605は、その時点のリクエスト数とレスポンス数とを比較し、リクエスト数とレスポンス数とが等しいか否かを判定する(S712)。そして、比較部605は、その比較結果をクロック信号制御部606に出力する。
クロック制御ユニット305のクロック信号制御部606は、比較結果を受信し、リクエスト数とレスポンス数とが一致している場合、全てのリクエスト信号によるアクセスが終了したと判定する。そして、クロック信号制御部606は、スレーブデバイス302、303それぞれのバスI/F部とコア部の両方へのクロック信号の供給を停止する(S713)。一方、一致していない場合、S710に戻り、レスポンス信号の検出を判定する状態に遷移する。
以上のように、クロック制御ユニット305の制御により、マスタデバイス301からのリクエスト信号によるアクセスが発生した場合、全てのスレーブデバイスのバスI/F部分にクロック信号が供給され、バスの動作が保障される。また、アクセス対象であるスレーブデバイス(例えばスレーブデバイス303)については、そのコア部分にクロック信号が供給されるので、スレーブデバイスの正常動作も保障される。かつ、アクセス対象のスレーブデバイス以外のスレーブデバイスについて、そのコア部分にはクロック信号が供給されないので、消費電力の低減が実現される。クロック制御ユニット305は、アクセス対象であるスレーブデバイス(例えばスレーブデバイス303)からの全てのレスポンス信号を検出すると、全てのアクセスが正常に終了したと判定し、スレーブデバイスへの全てのクロック信号の供給を停止する。その結果、消費電力をさらに低減することができる。
また、本実施形態では、マスタデバイス301がリクエスト信号を1回発行した場合のシステムの動作を説明した。しかしながら、リクエスト信号を複数回発行する場合でも、クロック制御ユニット305のカウンタ部604のカウント動作を利用することにより同様の動作を実現することができる。
[第2の実施形態]
次に、第2の実施形態について、第1の実施形態と異なる点について説明する。
図7は、本実施形態におけるクロック制御ユニット305の構成を示すブロック図である。クロック制御ユニット305は、リクエスト受信部601、デコーダ部602、レスポンス受信部603、カウンタ部604、比較部605、クロック信号制御部606を含んで構成される。
リクエスト受信部601は、マスタデバイス301が発行したリクエスト信号607を検出し、デコーダ部602に出力する。レスポンス受信部603は、スレーブデバイス302、303が発行したレスポンス信号608を検出し、デコーダ部602に出力する。デコーダ部602は、リクエスト信号或いはレスポンス信号をデコードし、アクセス対象であるスレーブデバイスを特定し、クロック信号制御部606に命令を出力する。クロック信号制御部606は、デコーダ部602から命令を受けると、適切なクロック信号を生成し、生成したクロック信号をスレーブデバイス302、303に供給する。また、デコーダ部602は、特定したアクセス対象であるスレーブデバイス関連のリクエスト信号或いはレスポンス信号を検出したことをカウンタ部604に通知する。
カウンタ部604は、全てのスレーブデバイスに対する総リクエスト数と全てのスレーブデバイスからの総レスポンス数をカウントする。また、カウンタ部604は、スレーブデバイス毎のリクエスト数とレスポンス数をカウントする。カウンタ部604は、そのカウント結果を比較部605に出力する。比較部605は、カウンタ部604からカウント結果を受信し、総リクエスト数と総レスポンス数とを比較し、一致するか否かを判定する。ここで、一致すると判定された場合、比較部605は、クロック信号制御部606に命令を出力し、クロック信号制御部606は、スレーブデバイスに対する全てのクロック信号の供給を停止する。一方、一致しないと判定された場合、比較部605は、更にスレーブデバイス毎のリクエスト数とレスポンス数とが一致しているか否かを判定する。ここで、一致していると判定された場合、この判定に対応するスレーブデバイスのコア部分へのクロック信号を停止する命令をクロック信号制御部606に出力する。
クロック信号制御部606は、デコーダ部602、比較部605からの命令を受信し、入力されているクロック信号609のうち、供給すべきクロック信号610を特定し、その特定したクロック信号610をスレーブデバイス302、303に供給する。図7において、クロック信号609は、図3のクロック信号306に相当する。また、クロック信号610は、図3のクロック信号307、308、309に相当する。
図9は、本実施形態におけるクロック信号の供給を制御する処理を示すフローチャートである。本実施形態では、一例として、マスタデバイス301がスレーブデバイス303に対し、リクエスト信号を1回発行した後、スレーブデバイス302に対してリクエスト信号を4回発行した場合について説明する。以下、第1の実施形態と異なる点について説明する。
S801〜S808は、マスタデバイス301がスレーブデバイス302、スレーブデバイス303に対し、リクエスト信号を複数回発行し、スレーブデバイスから返信されたレスポンス信号を受信する動作を示す。リクエスト信号とレスポンス信号の数以外は第1の実施形態の動作と同じであるので、ここでは、その説明を省略する。
S809〜S814は、クロック制御ユニット305がマスタデバイス301からのリクエスト信号を検出し、スレーブデバイス302、303に供給すべきクロック信号を、スレーブデバイス302、303に供給する動作を示す。
クロック制御ユニット305のリクエスト受信部601は、マスタデバイス301からのリクエスト信号を検知したか否かを判定する(S809)。ここで、マスタデバイス301からのリクエスト信号を検知したと判定された場合、S810に進み、検知していないと判定された場合、S809の処理を繰り返す。
クロック制御ユニット305のデコーダ部602は、リクエスト信号をデコードし、マスタデバイス301のアクセス対象のスレーブデバイスのアドレスを特定し、クロック信号制御部606に制御信号を出力する(S810)。
クロック制御ユニット305のクロック信号制御部606は、入力されたクロック信号609のうち、スレーブデバイス302、303のバスI/F部分のクロック信号をイネーブルとしてスレーブデバイス302、303に供給する(S811)。また、クロック制御ユニット305のクロック信号制御部606は、入力されたクロック信号609のうち、S810で特定されたスレーブデバイスのコア部分のクロック信号をイネーブルとして、特定されたスレーブデバイスに供給する(S812)。
クロック制御ユニット305のカウンタ部604は、RAM等に変数領域として確保された総リクエスト数を+1インクリメントする(S813)。クロック制御ユニット305のカウンタ部604は、RAM等に変数領域として確保されS810で特定されたスレーブデバイスのリクエスト数を+1インクリメントする(S814)。
マスタデバイス301がスレーブデバイス303に対して、リクエスト信号を1回発行すると、クロック制御ユニット305は、上記手順で、スレーブデバイス302、303のバスI/F部分とスレーブデバイス303のコア部分とにクロック信号を供給する。そして、マスタデバイス301がスレーブデバイス302に対して、リクエスト信号を1回発行すると、クロック制御ユニット305は、スレーブデバイス302のコア部分にもクロック信号を供給し始める。つまり、マスタデバイス301がスレーブデバイス302に対して、残りの3回リクエストを発行する時には、スレーブデバイス302のコア部分には既にクロック信号が供給されている。
S815〜S822は、クロック制御ユニット305が、スレーブデバイスからのレスポンス信号を検出し、そのレスポンス数をカウントし、適切なタイミングでクロック信号の供給を停止する動作を示す。
クロック制御ユニット305のレスポンス受信部603は、スレーブデバイスからのレスポンス信号を検出したか否かを判定する(S815)。ここで、スレーブデバイスからのレスポンス信号を検出したと判定された場合、S816へ進み、検出していないと判定された場合、S815の処理を繰り返す。
クロック制御ユニット305のデコーダ部602は、受信したレスポンスデータをデコードし、そのレスポンス信号を発行したスレーブデバイスを特定する(S816)。クロック制御ユニット305のカウンタ部604は、RAM等に変数領域として確保された総レスポンス数を+1インクリメントする(S817)。また、クロック制御ユニット305のカウンタ部604は、RAM等に変数領域として確保されS816で特定されたスレーブデバイスからのレスポンス数を+1インクリメントする(S818)。
クロック制御ユニット305の比較部605は、その時点の総リクエスト数と総レスポンス数とを比較する(S819)。ここで、総リクエスト数と総レスポンス数とが一致している場合、比較部605は、スレーブデバイスに対する全てのクロック信号の供給を停止する命令をクロック信号制御部606に送信し、S820へ進む。一方、一致していない場合、S821へ進む。
S820において、クロック制御ユニット305のクロック信号制御部606は、比較部605からの停止命令を受けると、スレーブデバイスへの全てのクロック信号の供給を停止する。その後、図9の処理を終了する。
S821において、クロック制御ユニット305の比較部605は、この時点で、S816で特定されたスレーブデバイスについて発行されたリクエスト数とそのレスポンス数とを比較する。ここで、リクエスト数とレスポンス数とが一致している場合、比較部605は、対応するスレーブデバイスのコア部分のクロック信号の供給を停止する命令をクロック信号制御部606に送信し、S822へ進む。一方、一致していない場合、S815からの処理を繰り返す。
S822において、クロック制御ユニット305のクロック信号制御部606は、比較部605からの停止命令を受けると、S816で特定されたスレーブデバイスのコア部分へのクロック信号の供給を停止する。
以上のように、スレーブデバイス303は、マスタデバイス301からのリクエストを受信し、対応する処理の実行終了後、レスポンス信号を返信する。クロック制御ユニット305は、そのレスポンス信号を検出した時点で、例えば、総リクエスト数が5、総レスポンス数が1である場合、スレーブデバイス302、303のバスI/F部分へのクロック信号の供給を停止しない。また、上記時点で、スレーブデバイス303へのリクエスト数が1、スレーブデバイス303からのレスポンス数が1であれば、クロック制御ユニット305は、スレーブデバイス303へのアクセスが全て終了したと判定する。そして、クロック制御ユニット305は、クロックスレーブデバイス303のコア部分へのクロック信号(即ち、供給される全てのクロック信号のうちの一部)の供給を他のスレーブデバイスより優先的に停止する。
その後、スレーブデバイス302がレスポンス信号を4回返信すると、総リクエスト数と総レスポンス数は両方ともに5となる。クロック制御ユニット305は、その時点で、スレーブデバイスへの全てのアクセスが終了したと判定し、スレーブデバイスへの全てのクロック信号の供給を停止する。従って、特定のスレーブデバイスに対してアクセスが頻繁に発生する場合でも、不要なクロック動作を優先的に停止することができ、消費電力を削減することができる。
[その他の実施例]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100 印刷装置: 101 CPU: 104 画像処理装置: 305 クロック制御ユニット: 301 マスタデバイス: 302、303 スレーブデバイス

Claims (14)

  1. マスタデバイスと、
    データを受信するインタフェース部と前記インタフェース部を介して受信したデータを処理するコア部とを有するスレーブデバイスと、を有し、前記マスタデバイスと複数の前記スレーブデバイスがリングバスで通信可能に接続された情報処理装置であって、
    前記スレーブデバイスへのクロック信号の供給を制御するクロック信号制御部、を有し、
    前記クロック信号制御部は、
    前記マスタデバイスが前記リングバスを介して前記スレーブデバイスに発行するリクエストを検知する検知手段と、
    前記検知手段による前記リクエストの検知に基づいて、前記複数のスレーブデバイスの各インタフェース部にクロック信号を供給する第1クロック信号供給手段と、
    前記検知手段によって検知された前記リクエストで指定されたスレーブデバイスを前記複数のスレーブデバイスから選択する選択手段と、
    前記選択手段により選択された前記スレーブデバイスのコア部にクロック信号を供給する第2クロック信号供給手段と、
    を有することを特徴とする情報処理装置。
  2. 前記第2クロック信号供給手段は、前記複数のスレーブデバイスのうち前記選択手段により選択されていないスレーブデバイスにクロック信号を供給しないことを特徴とする請求項1に記載の情報処理装置。
  3. 前記第2クロック信号供給手段は、前記選択手段により選択されたスレーブデバイス以外のスレーブデバイスを介することなく、クロック信号を前記選択手段により選択されたスレーブデバイスのコア部に供給することを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記情報処理装置は、
    前記リクエストで指定されたスレーブデバイスが前記リクエストに応じて発行したレスポンスを受信する受信手段と、
    前記マスタデバイスから発行されたリクエストの数と、前記受信手段により受信されたレスポンスの数とを比較する比較手段と、をさらに備え、
    前記第1クロック信号供給手段は、前記比較手段による比較結果に基づいて、前記複数のスレーブデバイスへのクロック信号の供給を停止することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 前記第1クロック信号供給手段は、前記比較手段により前記マスタデバイスの発行したリクエストの数と前記マスタデバイスが受信したレスポンスの数が一致したという比較結果に基づいて、前記複数のスレーブデバイスへのクロック信号の供給を停止することを特徴とする請求項4に記載の情報処理装置。
  6. 前記第2クロック信号供給手段は、前記比較手段による比較結果に基づいて、前記リクエストで指定されたスレーブデバイスのコア部へのクロック信号の供給を停止することを特徴とする請求項4または5に記載の情報処理装置。
  7. 前記第2クロック信号供給手段は、前記比較手段により前記マスタデバイスが発行したリクエストの数と前記マスタデバイスが受信したレスポンスの数が一致したという比較結果に基づいて、前記リクエストで指定されたスレーブデバイスのコア部へのクロック信号の供給を停止することを特徴とする請求項6に記載の情報処理装置。
  8. 前記マスタデバイスは、前記リングバス上のプロトコルに準ずるリクエストを発行し、前記複数のスレーブデバイスのうち、前記リクエストで指定されるスレーブデバイスから、前記リングバス上のプロトコルに準ずるレスポンスを受信することを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。
  9. 前記スレーブデバイスは、前記マスタデバイスから受信された前記リクエストに対応する処理の実行後、前記マスタデバイスに対して前記リングバス上のプロトコルに準ずるレスポンスを発行することを特徴とする請求項1乃至8のいずれか1項に記載の情報処理装置。
  10. 前記リクエストは、前記複数のスレーブデバイスから前記マスタデバイスのアクセス対象となるスレーブデバイスを選択するための情報を含むことを特徴とする請求項1乃至9のいずれか1項に記載の情報処理装置。
  11. 前記マスタデバイスと前記複数のスレーブデバイスはリング状に繋がれており、
    前記インタフェース部は、前記マスタデバイスから受信された前記リクエストで指定されたスレーブデバイスが当該スレーブデバイスと異なるスレーブデバイスである場合、前記リクエストを次のスレーブデバイスへ転送することを特徴とする請求項1乃至10のいずれか1項に記載の情報処理装置。
  12. 前記コア部は、前記マスタデバイスから発行されたリクエストをデコードし、受信した前記リクエストが当該コア部を有するスレーブデバイスに対するアクセス対象であるか否かを判定し、当該アクセス対象であると判定した場合、当該リクエストに対応する処理を実行する機能を有する回路であることを特徴とする請求項1乃至11のいずれか1項に記載の情報処理装置。
  13. 前記レスポンスは、少なくとも前記リクエストの送信先として指定されたスレーブデバイスのアドレスを含むことを特徴とする請求項1乃至12のいずれか1項に記載の情報処理装置。
  14. 前記情報処理装置において、
    前記マスタデバイスが発行されたリクエストと前記スレーブデバイスが発行したレスポンスは、前記リングバスを同一方向に転送されることを特徴とする請求項1乃至13のいずれか1項に記載の情報処理装置。
JP2015166184A 2015-08-25 2015-08-25 情報処理装置 Expired - Fee Related JP6546479B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015166184A JP6546479B2 (ja) 2015-08-25 2015-08-25 情報処理装置
US15/739,875 US10558237B2 (en) 2015-08-25 2016-08-09 Information processing apparatus
PCT/JP2016/003657 WO2017033421A1 (en) 2015-08-25 2016-08-09 Information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015166184A JP6546479B2 (ja) 2015-08-25 2015-08-25 情報処理装置

Publications (3)

Publication Number Publication Date
JP2017045199A JP2017045199A (ja) 2017-03-02
JP2017045199A5 JP2017045199A5 (ja) 2018-09-27
JP6546479B2 true JP6546479B2 (ja) 2019-07-17

Family

ID=58099741

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015166184A Expired - Fee Related JP6546479B2 (ja) 2015-08-25 2015-08-25 情報処理装置

Country Status (3)

Country Link
US (1) US10558237B2 (ja)
JP (1) JP6546479B2 (ja)
WO (1) WO2017033421A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6839893B2 (ja) * 2017-07-12 2021-03-10 日立Astemo株式会社 通信装置およびそれを備えた自動車
KR20210041233A (ko) * 2019-10-07 2021-04-15 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 동작 방법
GB2596102B (en) * 2020-06-17 2022-06-29 Graphcore Ltd Processing device comprising control bus
GB2596103B (en) 2020-06-17 2022-06-15 Graphcore Ltd Dual level management

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5206857A (en) * 1991-04-29 1993-04-27 At&T Bell Laboratories Apparatus and method for timing distribution over an asynchronous ring
US5388223A (en) * 1991-09-05 1995-02-07 International Business Machines Corporation 1-bit token ring arbitration architecture
CA2058654C (en) * 1991-12-31 1998-12-29 Thomas Gray Data transport for internal messaging
JPH09237131A (ja) 1996-03-04 1997-09-09 Fujitsu Ltd 半導体集積回路装置
JPH11234318A (ja) * 1998-02-10 1999-08-27 Fujitsu Ltd クロック再生装置
US6850995B1 (en) * 1999-01-25 2005-02-01 Canon Kabushiki Kaisha Control unit selectively connected with a first bus and a second bus for controlling a displaying process in parallel with a scanning process
US6832325B2 (en) * 2000-12-29 2004-12-14 Intel Corporation Device on a source synchronous bus sending data in quadrature phase relationship and receiving data in phase with the bus clock signal
US7194556B2 (en) * 2001-03-30 2007-03-20 Intel Corporation Method and apparatus for high accuracy distributed time synchronization using processor tick counters
US20050265262A1 (en) * 2002-12-26 2005-12-01 Yuji Mizuguchi Data transmission device, data transmission system, and method
JP2010002995A (ja) 2008-06-18 2010-01-07 Sharp Corp 多重バスインターフェースモジュールおよび多重バスシステム
JP5610799B2 (ja) * 2010-03-15 2014-10-22 キヤノン株式会社 画像形成装置
DE102011083476A1 (de) * 2011-09-27 2013-03-28 Robert Bosch Gmbh Kommunikationsanordnung mit logischer Mehrkanal-Kommunikation über eine physikalische Übertragungsstrecke zur seriellen Interchip-Datenübertragung
CN103959664B (zh) * 2011-10-07 2017-02-22 奥迪耐特有限公司 用于通过高阻抗电缆布线的组网的系统、方法和装置
EP2774336B1 (en) * 2011-11-04 2020-01-08 NXP USA, Inc. Real-time distributed network module, real-time distributed network and method therefor
EP2645638A1 (en) * 2012-03-29 2013-10-02 Robert Bosch Gmbh Communication system with chain or ring topology
US9152595B2 (en) * 2012-10-18 2015-10-06 Qualcomm Incorporated Processor-based system hybrid ring bus interconnects, and related devices, processor-based systems, and methods
US20140229644A1 (en) * 2013-02-12 2014-08-14 Haran Thanigasalam Method, apparatus, system for including interrupt functionality in sensor interconnects
DE102013226765A1 (de) * 2013-06-05 2014-12-11 Continental Teves Ag & Co. Ohg Verfahren zur Datenkommunikation, Kommunikationscontroller und Schaltungsanordnung
TWI498870B (zh) * 2013-09-23 2015-09-01 Raydium Semiconductor Corp 面板驅動電路及其環狀振盪時脈的自動同步方法
EP2897268B1 (en) * 2014-01-20 2022-01-05 ABB Schweiz AG Master/slave controller system in ring topology for modular multilevel converters
US9494997B2 (en) * 2014-06-16 2016-11-15 Apple Inc. Hierarchical clock control using hysterisis and threshold management
US9785211B2 (en) * 2015-02-13 2017-10-10 Qualcomm Incorporated Independent power collapse methodology
US10880764B2 (en) * 2015-02-15 2020-12-29 Skyworks Solutions, Inc. Circuits, devices, and methods for monitoring a serial bus
US10397021B2 (en) * 2016-01-29 2019-08-27 Analog Devices, Inc. Synchronous slave-to-slave communications

Also Published As

Publication number Publication date
US20180196461A1 (en) 2018-07-12
WO2017033421A1 (en) 2017-03-02
JP2017045199A (ja) 2017-03-02
US10558237B2 (en) 2020-02-11

Similar Documents

Publication Publication Date Title
EP3529706B1 (en) Gpu remote communication with triggered operations
JP6546479B2 (ja) 情報処理装置
US8904199B2 (en) Apparatus and method for controlling power related parameters by core unit according to detailed status information of the core and application for executing
JP6761870B2 (ja) 低電力メモリのスロットリング
EP3803663B1 (en) Watchdog timer hierarchy
US9229729B2 (en) Initializing processor cores in a multiprocessor system
US20180341620A1 (en) Core mapping
US10802742B2 (en) Memory access control
WO2014206078A1 (zh) 内存访问方法、装置及系统
JP2008009817A (ja) 半導体装置及びデータ転送方法
JP2021508871A (ja) システムオンチップシステムのビット単位書き込み装置
JP5715670B2 (ja) 通信装置
JP6070600B2 (ja) マイクロコンピュータ
US10248155B2 (en) Semiconductor device including clock generating circuit and channel management circuit
CN109478087B (zh) 用于为共享功率供给的系统维持节点功率预算的方法和装置
KR20180069801A (ko) 임계 실행 경로를 시그널링 오프하는 태스크
US20150105019A1 (en) Wireless communication device and wireless paring method thereof
US10025730B2 (en) Register device and method for software programming
JP5877348B2 (ja) メモリ制御システム及び電力制御方法
JP5390967B2 (ja) プロセッサシステム及びその制御方法
JP5653254B2 (ja) 通信装置
JP2015232841A (ja) アクセスリクエスト発行装置、アクセスリクエスト発行システム、アクセスリクエスト発行方法、及び、アクセスリクエスト発行プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180810

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180810

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: 20190524

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190621

R151 Written notification of patent or utility model registration

Ref document number: 6546479

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees