JP6290761B2 - データ転送制御システム、データ転送制御方法、及び、データ転送制御プログラム - Google Patents

データ転送制御システム、データ転送制御方法、及び、データ転送制御プログラム Download PDF

Info

Publication number
JP6290761B2
JP6290761B2 JP2014195182A JP2014195182A JP6290761B2 JP 6290761 B2 JP6290761 B2 JP 6290761B2 JP 2014195182 A JP2014195182 A JP 2014195182A JP 2014195182 A JP2014195182 A JP 2014195182A JP 6290761 B2 JP6290761 B2 JP 6290761B2
Authority
JP
Japan
Prior art keywords
information processing
data
reply
clock signal
synchronization
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.)
Active
Application number
JP2014195182A
Other languages
English (en)
Other versions
JP2016066278A (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.)
NEC Platforms Ltd
Original Assignee
NEC Platforms Ltd
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 NEC Platforms Ltd filed Critical NEC Platforms Ltd
Priority to JP2014195182A priority Critical patent/JP6290761B2/ja
Priority to US15/512,604 priority patent/US20170308487A1/en
Priority to PCT/JP2015/004709 priority patent/WO2016047104A1/ja
Publication of JP2016066278A publication Critical patent/JP2016066278A/ja
Application granted granted Critical
Publication of JP6290761B2 publication Critical patent/JP6290761B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • 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
    • 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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • 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/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised 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/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling

Description

本願発明は、複数の情報処理装置が通信可能に接続されたシステムにおいて、情報処理装置が他の情報処理装置に格納されたデータにアクセスする際に、そのシステム内の情報処理装置のうちの少なくともいずれかが順番に中継する通信パスを使用して、当該データを転送することを制御するデータ転送制御システム等に関する。
複数の情報処理装置が通信可能に接続されたシステムに関して、これらの情報処理装置を接続する様々な形態が知られている。例えば、マスター装置が複数のスレーブ装置を接続する形態に関する代表的な例として、デイジーチェーン接続がある。このデイジーチェーン接続では、マスター装置が複数のスレーブ装置を数珠つなぎに接続する。そして、マスター装置が特定のスレーブ装置に格納されたデータにアクセスする場合、マスター装置が発行したリクエストデータ、及び、その特定のスレーブ装置が発行したリプライデータは、他のスレーブ装置が中継しながら、目的の装置まで転送される。
このような、デイジーチェーン接続により複数の情報処理装置が接続されたシステムにおいては、例えば、複数のスレーブ装置に格納されたデータにアクセスするタイミングに
所定の条件がある場合、あるいは、複数のスレーブ装置に同時に高負荷なアクセスを行う場合等において、高度なデータ転送制御技術が期待されている。
このような技術の一例として、特許文献1には、ホスト装置に複数のデバイスがデイジーチェーン接続されているシステムが開示されている。このシステムは、そのホスト装置が当該各デバイスからデータをリードする際のレイテンシ(遅延時間)が同じになるように、各デバイスに関するレンテンシを調整する通信装置を備える。
また、特許文献2には、デバイスをデイジーチェーンカスケード配列によって連結した装置が開示されている。この装置では、デイジーチェーンカスケードにおける前段に位置するデバイスの出力部は、情報と制御信号を後段に位置するデバイスに転送できるように、その後段に位置するデバイスの入力部に連結される。
特開2010-57164号公報 特開2009-301586号公報
マスター装置にデイジーチェーン接続等により接続されたスレーブ装置は、一般的に、それぞれのスレーブ装置が生成した個別クロック信号により動作している。したがって、マスター装置が発行したリクエストに対してそれぞれのスレーブ装置が発行するリプライは、個別クロックと同期したタイミング、すなわち、スレーブ装置間で非同期なタイミングで発行される。これにより、リプライデータが流れる共通のリプライパスに関して、複数のスレーブ装置間で競合が発生する可能性が高くなる。
このようなリプライパスに関する競合を回避するために、例えば、リプライパスに流れるリプライデータを1つ、即ち、あるタイミングにおいて何れかのスレーブ装置によるリプライデータだけに制限することによって逐次処理することも考えられる。しかしながらこの場合、十分なデータ転送性能を確保できないことにより、システム性能が低下する問題がある。特許文献1に記載された装置では、このような問題を解決することはできない。
本願発明の主たる目的は、この問題を解決した、データ転送制御システム等を提供することである。
本願発明の一態様に係るデータ転送制御システムは、第一の情報処理装置が、自装置固有の個別クロック信号と同期して自装置に格納した格納データにアクセスする、複数の第二の情報処理装置のうちの特定の情報処理装置に格納された前記格納データにアクセスする際に、前記特定の情報処理装置が発行した前記格納データへのアクセス結果を表すリプライデータを、前記特定の情報処理装置を除く少なくともいずれかの前記第二の情報処理装置が順番に中継する通信パスを使用して入手する場合において、前記第二の情報処理装置ごとに、前記第二の情報処理装置が前記個別クロック信号と同期して生成する前記リプライデータを、前記複数の第二の情報処理装置に対して共通に分配された共通クロック信号と同期して出力する同期制御手段と、前記共通クロック信号と同期して動作し、前記同期制御手段が出力した前記リプライデータを所定の時間記憶したのち、後段に位置する前記第二の情報処理装置、あるいは、前記第一の情報処理装置へ送信するリプライ送出手段と、を備える。
上記目的を達成する他の見地において、本願発明の一態様に係るデータ転送制御方法は、第一の情報処理装置が、自装置固有の個別クロック信号と同期して自装置に格納した格納データにアクセスする、複数の第二の情報処理装置のうちの特定の情報処理装置に格納された前記格納データにアクセスする際に、前記特定の情報処理装置が発行した前記格納データへのアクセス結果を表すリプライデータを、前記特定の情報処理装置を除く少なくともいずれかの前記第二の情報処理装置が順番に中継する通信パスを使用して入手する場合において、前記複数の第二の情報処理装置によって、前記第二の情報処理装置が前記個別クロック信号と同期して生成する前記リプライデータを、前記複数の第二の情報処理装置に対して共通に分配された共通クロック信号と同期して出力し、出力した前記リプライデータを所定の時間記憶したのち、後段に位置する前記第二の情報処理装置へ、あるいは、前記第一の情報処理装置へ、前記共通クロック信号と同期して送信する。
また、上記目的を達成する更なる見地において、本願発明の一態様に係るデータ転送制御プログラムは、第一の情報処理装置が、自装置固有の個別クロック信号と同期して自装置に格納した格納データにアクセスする、複数の第二の情報処理装置のうちの特定の情報処理装置に格納された前記格納データにアクセスする際に、前記特定の情報処理装置が発行した前記格納データへのアクセス結果を表すリプライデータを、前記特定の情報処理装置を除く少なくともいずれかの前記第二の情報処理装置が順番に中継する通信パスを使用して入手する場合において、前記第二の情報処理装置が前記個別クロック信号と同期して生成する前記リプライデータを、前記複数の第二の情報処理装置に対して共通に分配された共通クロック信号と同期して出力する同期制御処理と、前記同期制御処理が出力した前記リプライデータを所定の時間記憶したのち、後段に位置する前記第二の情報処理装置、あるいは、前記第一の情報処理装置へ、前記共通クロック信号と同期して送信するリプライ送出処理と、を前記複数の第二の情報処理装置に実行させる。
更に、本発明は、係るデータ転送制御プログラム(コンピュータプログラム)が格納された、コンピュータ読み取り可能な、不揮発性の記憶媒体によっても実現可能である。
本願発明は、個別クロック信号により自装置内に格納したデータにアクセスする複数の情報処理装置が接続され、他装置からのアクセスに関するデータが複数の情報処理装置を中継する通信パスを流れるシステムにおいて、当該情報処理装置間のデータ転送性能を向上することを可能とする。
本願発明の第1の実施形態に係るデータ転送制御システムの構成を示すブロック図である。 本願発明の第1の実施形態に係るデータ処理制御部の構成を示すブロック図である。 本願発明の第1の実施形態に係るリクエストデータの構成を例示する図である。 本願発明の第1の実施形態に係るリプライデータの構成を例示する図である。 本願発明の第1の実施形態に係る同期制御部の構成を示すブロック図である。 本願発明の第1の実施形態に係るリクエストパス及びリプライパスに流れるデータに関するタイムチャートの例である。 本願発明の第1の実施形態に係るデータ転送制御システムの動作を示すフローチャート(1/2)である。 本願発明の第1の実施形態に係るデータ転送制御システムの動作を示すフローチャート(2/2)である。 本願発明の第2の実施形態に係るデータ転送制御システムの構成を示すブロック図である。 本願発明の各実施形態に係るスレーブ装置あるいは第2の情報処理装置が行う処理を実行可能な情報処理装置の構成を示すブロック図である。
以下、本願発明の実施の形態について図面を参照して詳細に説明する。
<第1の実施形態>
図1は、第1の実施形態に係るデータ転送制御システム1の構成を概念的に示すブロック図である。本実施形態に係るデータ転送制御システム1は、マスター装置10、3つのスレーブ装置20乃至40、及び、共通クロック信号分配装置50を備えている。マスター装置10は、例えば、サーバ装置等の情報処理装置である。スレーブ装置20乃至40は、装置内部に格納したデータをマスター装置10からアクセスされる装置であり、例えば、マスター装置10によって制御される記憶装置等の周辺装置である。本実施形態では、スレーブ装置20乃至40は、マスター装置10と通信可能にデイジーチェーン接続されている。尚、マスター装置10に接続されるスレーブ装置は、3つに限定されない。
スレーブ装置20乃至40は、順に、データ処理制御部200乃至400を備えている。データ処理制御部200乃至400には、スレーブ装置20乃至40が個別に生成する個別クロック信号ICが入力されている。
共通クロック信号分配装置50は、スレーブ装置20乃至40が共通して使用する共通クロック信号CCを生成して、その共通クロック信号CCを、データ処理制御部20乃至40に入力する。共通クロック信号分配装置50は、単体装置でなくてもよく、例えば、マスター装置10などに内蔵された電子回路等であってもよい。
マスター装置10は、スレーブ装置20乃至40のいずれかに格納されたデータにアクセスする際に、目的のスレーブ装置(アクセス対象とするスレーブ装置)に対してリクエストデータを発行する。当該リクエストデータは、マスター装置10と目的のスレーブ装置との間に位置するスレーブ装置によって中継されるリクエストパスを流れたのちに、目的のスレーブ装置に入力される。目的のスレーブ装置は、入力されたリクエストデータが要求する処理を行ったのち、その処理結果であるリプライデータを生成する。当該リプライデータは、目的のスレーブ装置とマスター装置10との間に位置するスレーブ装置によって中継されるリプライパスを流れたのちに、マスター装置10に入力される。
図2は、本実施形態に係るスレーブ装置30が備えるデータ処理制御部300の構成を概念的に示すブロック図である。スレーブ装置20が備えるデータ処理制御部200、及び、スレーブ装置40が備えるデータ処理制御部400の構成も、データ処理制御部300と同様である。
データ処理制御部300は、リクエスト受信部310、リプライ送出部320、同期制御部330、及び、リクエスト処理部340を備えている。リクエスト受信部310、リプライ送出部320、同期制御部330、及び、リクエスト処理部340は、電子回路の場合もあれば、コンピュータプログラムとそのコンピュータプログラムに従って動作するプロセッサによって実現される場合もある。
リクエスト受信部310は、リクエスト判定部311、及び、リプライ有無判定部312を備えている。リクエスト受信部310には、共通クロック信号分配装置50から分配された共通クロック信号CCが入力され、リクエスト受信部310は、共通クロック信号CCと同期して動作する。リクエスト判定部311は、デイジーチェーン接続においてスレーブ装置30の前段に位置するスレーブ装置20から転送された、マスター装置によって発行されたリクエストデータを受信する。
本実施形態に係るリクエストデータの構成例を図3に示す。図3に示す通り、リクエストデータ100は、有効フラグ101、命令種別102、アクセス先装置103、アクセス先アドレス104、及び、書き込みデータ105を包含している。有効フラグ101は、リクエストデータ100が有効であるか否かを示す情報であり、有効である場合は「1」、無効である場合は「0」が格納される。命令種別102は、リクエストデータ100が示す命令が、読み出し命令であるのか、あるいは、書き込み命令であるのかを示す情報である。アクセス先装置103は、マスター装置10がアクセスするスレーブ装置20乃至40の何れかを識別可能な識別子である。アクセス先アドレス104は、マスター装置10がアクセスするデータが格納されたアドレスの値である。書き込みデータ105は、リクエストデータ100が書き込み命令である場合における書き込みデータを格納している。書き込みデータ105は、リクエストデータ100が読み出し命令である場合は、未使用である。
リクエスト判別部311は、受信したリクエストデータ100におけるアクセス先装置103を参照する。アクセス先装置103がスレーブ装置30を示していない場合(すなわち、スレーブ装置40を示す場合)、リクエスト判別部311は、受信したリクエストデータ100を、デイジーチェーン接続においてスレーブ装置30の後段に位置するスレーブ装置40に転送する。アクセス先装置103がスレーブ装置30を示している場合、リクエスト判別部311は、受信したリクエストデータ100を、リプライ有無判定部312、及び、同期制御部330へ入力する。
リプライ有無判定部312は、リクエスト判別部311から入力されたリクエストデータ100における命令種別102を参照する。命令種別102が読み出し命令を示す場合、リプライ有無判定部312は、リクエストに対するリプライが必要であると判定し、その判定結果をリプライ送出部320へ入力する。命令種別102が書き込み命令を示す場合、リプライ有無判定部312は、リクエストに対するリプライが不要であると判定し、リプライ送出部320に対して、判定結果を入力しない。尚、本実施形態では、スレーブ装置20乃至40は、マスター装置10からのリクエストが読み出し命令のときのみマスター装置10に対してリプライを返す場合を例に説明しているが、当該リクエストが書き込み命令のときに、書き込み結果をリプライとして返すようにしてもよい。その場合は、リクエスト受信部310は、リプライ有無判定部312を備えなくてもよい。
リプライ送出部320は、リプライ生成部321、リプライタイミング生成部322、及び、リプライタイミング調整部323を備えている。リプライ送出部320には、共通クロック信号分配装置50から分配された共通クロック信号CCが入力され、リプライ送出部320は、共通クロック信号CCと同期して動作する。
リプライ生成部321は、スレーブ装置20がマスター装置10からのリクエストに対して生成したリプライデータを受信した場合、当該リプライデータをスレーブ装置40に転送する。リプライ生成部321は、リプライタイミング調整部323から、スレーブ装置30がマスター装置10からのリクエストに対して生成したリプライデータを入力されたときに、当該リプライデータをスレーブ装置40に転送する。
リプライタイミング生成部322は、リプライ有無判定部312からリプライに関する判定結果を入力されたときに、所定の基準に従って、スレーブ装置30が生成したリプライデータを、スレーブ装置30がスレーブ装置40に転送するタイミングを示すリプライタイミング情報を生成する。例えば、係る所定の基準が、「スレーブ装置30が自装置に対するリクエストデータを受信してから、共通クロックCCに関するサイクルを基準として、3サイクル後」であるとする。この場合、リプライタイミング生成部322は、生成したリプライタイミング情報に基づいたタイミングに、リプライデータを転送する指示を、リプライタイミング調整部323へ入力する。これにより、リプライ送出部320は、リクエスト受信部310がリクエストデータを受信してから3サイクル後に、リプライデータを転送することができる。
リプライタイミング調整部323は、スレーブ装置30がマスター装置10からのリクエストに対して生成したリプライデータを同期制御部330から入力された場合、当該リプライデータを一時記憶する。リプライタイミング調整部323は、リプライタイミング生成部322から当該リプライデータを転送する指示を入力されたときに、当該リプライデータをリプライ生成部321へ入力する。尚、リプライタイミング調整部323は、複数のリプライデータを記憶可能な複数のバッファを複数備え、例えばFIFO(First In First Out)形式により、リプライデータをリプライ生成部321へ入力してもよい。
図5は、本実施形態に係る同期制御部330の構成を概念的に示すブロック図である。同期制御部330は、リクエストデータ入力バッファ331、リクエストデータ出力バッファ332、リプライデータ入力バッファ333、及び、リプライデータ出力バッファ334を備えている。リクエストデータ入力バッファ331及びリプライデータ出力バッファ334には共通クロック信号CCが入力され、これらのバッファは、共通クロック信号CCと同期して動作する。リクエストデータ出力バッファ332及びリプライデータ入力バッファ333には個別クロック信号ICが入力され、これらのバッファは、個別クロック信号ICと同期して動作する。
リクエストデータ入力バッファ331は、リクエスト受信部310から入力されたリクエストデータを一時記憶したのち、リクエストデータ出力バッファ332へ入力する。リクエストデータ出力バッファ332は、リクエストデータ入力バッファ331から入力されたリクエストデータを一時記憶したのち、個別クロック信号ICと同期したタイミングに、当該リクエストデータをリクエスト処理部340へ入力する。
リプライデータ入力バッファ333は、リクエスト処理部340から入力されたリプライデータを一時記憶したのち、リプライデータ出力バッファ334へ入力する。リプライデータ出力バッファ334は、リプライデータ入力バッファ333から入力されたリプライデータを一時記憶したのち、共通クロック信号CCと同期したタイミングに、当該リプライデータをリプライ送出部320へ入力する。
リクエスト処理部340は、同期制御部330から入力されたリクエストデータが指示する処理を行う。リクエスト処理部340には個別クロック信号ICが入力され、リクエスト処理部340は、個別クロック信号ICと同期して動作する。
リクエスト処理部340は、図3に示す命令種別102が書き込み命令を示す場合、アクセス先アドレス104が示すアドレスに対して、書き込みデータ105が示すデータを書き込む。リクエスト処理部340は、図3に示す命令種別102が読み出し命令を示す場合、アクセス先アドレス104が示すアドレスからデータを読み出した後、読み出したデータに基づいてリプライデータを生成する。
リクエスト処理部340が生成するリプライデータの構成例を図4に示す。図4に示す通り、リプライデータ110は、有効フラグ111、アクセス先装置112、及び、読み出しデータ113を包含している。有効フラグ111は、リプライデータ110が有効であるか否かを示す情報であり、有効である場合は「1」、無効である場合は「0」が格納される。リクエスト処理部340は、リプライデータ110を生成する際に、有効フラグ111を「1」に設定する。アクセス先装置112は、リプライデータ110を発行したスレーブ装置を識別可能な識別子である。リクエスト処理部340は、アクセス先装置112として、スレーブ装置30を識別可能な識別子を設定する。読み出しデータ113は、リクエスト処理部340によって読み出されたデータである。リクエスト処理部340は、生成したリプライデータを、同期制御部330へ入力する。
図6に、本実施形態に係るリクエストパス及びリプライパスに流れるデータに関するタイムチャートの例を示す。図6に示す例の場合、スレーブ装置20乃至40はいずれも、自装置に対するリクエストデータを受信してから、共通クロック信号CCに関するサイクルを基準として3サイクル後に、生成したリプライデータを、後段に位置するスレーブ装置あるいはマスター装置10に転送するように設定されている。
図6において、リクエストA、リクエストB、及び、リクエストCは、順に、スレーブ装置20、スレーブ装置30、及び、スレーブ装置40に対して、マスター装置10から発行された読み出しリクエストである。リプライA、リプライB、及び、リプライCは、順に、リクエストA、リクエストB、及び、リクエストCに対して、スレーブ装置20、スレーブ装置30、及び、スレーブ装置40が生成したリプライである。
図6に示す通り、マスター装置10は、共通クロック信号CCを基準としたt1、t2、及び、t3サイクルにおいて、順に、リクエストA、リクエストB、及び、リクエストCを、スレーブ装置20へ入力されるリクエストパスに出力する。
スレーブ装置20は、自装置に対するリクエストであるリクエストAを処理したのち、t1から3サイクル後のt4サイクルにおいて、リプライAを、スレーブ装置20から出力されるリプライパスに出力する。スレーブ装置20は、他装置に対するリクエストであるリクエストB及びリクエストCを、順に、t3及びt4サイクルにおいて、スレーブ装置30へ入力されるリクエストパスに出力する。
スレーブ装置30は、自装置に対するリクエストであるリクエストBを処理したのち、t3から3サイクル後のt6サイクルにおいて、リプライBを、スレーブ装置30から出力されるリプライパスに出力する。スレーブ装置30は、他装置に対するリクエストであるリクエストCを、t5サイクルにおいて、スレーブ装置40へ入力されるリクエストパスに出力する。スレーブ装置30は、他装置が生成したリプライAを、t5サイクルにおいて、スレーブ装置30から出力されるリプライパスに出力する。
スレーブ装置40は、自装置に対するリクエストであるリクエストCを処理したのち、t5から3サイクル後のt8サイクルにおいて、リプライCを、スレーブ装置40から出力されるリプライパスに出力する。スレーブ装置40は、他装置が生成したリプライA及びリプライBを、順に、t6及びt7サイクルにおいて、スレーブ装置40から出力されるリプライパスに出力する。
このように、t1乃至t3サイクルにおいて、マスター装置10から出力されたリクエストA乃至Cは、順に、スレーブ装置20乃至40によって処理されたのち、t6乃至t8サイクルにおいて、最終段に位置するスレーブ装置40から、リプライA乃至Cが出力される。
次に図7A及び7Bのフローチャートを参照して、本実施形態に係るデータ転送制御システム1の動作(処理)について、スレーブ装置30の場合を例に詳細に説明する。尚、スレーブ装置20及び40の動作についても、スレーブ装置30と同様である。
リクエスト受信部310は、スレーブ装置20からリクエストデータを入手する(ステップS101)。当該リクエストデータが自装置(すなわちスレーブ装置30)宛でない場合(ステップS102でNo)、リクエスト受信部310は、入手したリクエストデータをスレーブ装置40へ転送し(ステップS103)、全体の処理は終了する。
当該リクエストデータが自装置宛である場合(ステップS102でYes)、同期制御部330は、共通クロック信号CCと同期したタイミングで、リクエスト受信部310からリク当該エストデータを入手する(ステップS104)。同期制御部330は、個別クロック信号ICと同期したタイミングで、リクエスト処理部340へ当該リクエストデータを入力する(ステップS105)。
当該リクエストが読み出しアクセスでない(すなわち書き込みアクセスである)場合(ステップS106でNo)、リクエスト処理部340は、当該リクエストデータが示すアドレスにデータを書き込み(ステップS107)、全体の処理は終了する。
当該リクエストが読み出しアクセスである場合(ステップS106でYes)、リクエスト処理部340は、当該リクエストデータが示すアドレスから、データを読み出してリプライデータを生成し、当該リプライデータを同期制御部330へ入力する(ステップS108)。
同期制御部330は、当該リプライデータを、個別クロック信号ICと同期したタイミングで記憶する(ステップS109)。同期制御部330は、当該リプライデータを、共通クロック信号CCと同期したタイミングで、リプライ送出部320へ入力する(ステップS110)。リプライ送出部320は、当該リプライデータを、所定の時間に亘って記憶したのち、スレーブ装置40へ転送し(ステップS111)、全体の処理は終了する。
本実施形態に係るデータ転送制御システム1は、個別クロック信号ICにより自装置内に格納したデータにアクセスする複数の情報処理装置が接続され、他装置からのアクセスに関するデータが複数の情報処理装置を中継する通信パスを流れるシステムにおいて、情報処理装置間のデータ転送性能を向上できる。その理由は、各情報処理装置(スレーブ装置)において、同期制御部が、アクセスリクエストに対して自装置が生成したリプライデータを、共通クロック信号CCと同期してリプライ送出部へ入力し、リプライ送出部が、当該リプライデータを所定の時間に亘って記憶したのち、後段に位置する情報処理装置へ共通クロック信号CCと同期して転送するからである。
マスター装置からアクセスされる複数の周辺装置等のスレーブ装置がマスター装置に接続されたシステムにおいて、一般的にそれらのスレーブ装置は、自装置が生成する個別クロック信号ICと同期して動作する。そして、これらのスレーブ装置が、例えばデイジーチェーン接続されている場合、リクエスト及びリプライに関するデータは、スレーブ装置を中継する共有する通信パスを流れた後、目的の装置に到達する。
この場合、各スレーブ装置は、スレーブ装置間において、同期がとれていないタイミングに、リプライデータをリプライパスに出力する。この際、複数のスレーブ装置から出力されたリプライ出力が、共有するリプライパスにおいて競合することが頻繁に発生することによって、マスター装置とスレーブ装置との間のデータ転送性能が低下する問題がある。
これに対して、本実施形態に係るデータ転送制御システム1では、共通クロック信号分配装置50が、スレーブ装置20乃至40に対して共通クロック信号CCを分配する。そして、例えばスレーブ装置30の場合、同期制御部330は、自装置が個別クロック信号ICと同期して生成したリプライデータを、共通クロック信号CCと同期してリプライ送出部320へ入力する。スレーブ装置30におけるリプライ送出部320は、同期制御部330から入力されたリプライデータを、所定の時間に亘って記憶したのち、共通クロック信号CCと同期して、共有するリプライパスに出力する。すなわち、スレーブ装置20乃至40は、スレーブ装置間において、共通クロック信号CCを介して同期がとれたタイミングに、リプライデータをリプライパスに出力する。これにより、本実施形態に係るデータ転送制御システム1は、複数のスレーブ装置から出力されたリプライ出力が、共有するリプライパスにおいて競合することを回避することによって、マスター装置10とスレーブ装置20乃至40との間のデータ転送性能を向上できる。
また、本実施形態に係るデータ転送制御システム1では、スレーブ装置20乃至40におけるリプライ送出部が、自装置が自装置に対するリクエストデータを受信してから、リプライデータをリプライパスに出力するまでに要する時間が、スレーブ装置20乃至40の間で一定となるように、リプライデータを所定の時間に亘って記憶する。例えば、図6に示す例では、スレーブ装置20乃至40におけるリプライ送出部は、リクエストデータを受信してから、リプライデータをリプライパスに出力するまでに要する時間が、共通クロック信号を基準として、3サイクルとなるように、リプライデータを記憶する。これにより、本実施形態に係るデータ転送制御システム1は、図6に示す通り、リクエストパス及びリプライパスを効率的に使用できるため、マスター装置10とスレーブ装置20乃至40との間のデータ転送性能をさらに向上できる。
また、本実施形態に係るデータ転送制御システム1では、スレーブ装置20乃至40におけるリプライ送出部が、リプライデータを所定の時間記憶可能な複数のバッファを備え、FIFO方式によって、リプライデータを読み出すことができる。これにより、本実施形態に係るデータ転送制御システム1は、マスター装置10が発行した複数のリクエストを、連続的に処理することができるため、システム性能を向上することができる。
尚、本実施形態に係るデータ転送制御システム1は、マスター装置に複数のスレーブ装置がデイジ−チェーン接続されたシステムに限定されない。例えば、1つの装置において、互いに異なるクロック信号に同期して動作する複数の回路がデイジーチェーン接続されたシステムにも、本実施形態が備える技術的思想を適用することができる。
また、本実施形態に係るデータ転送制御システム1は、複数の情報処理装置を接続する形態をデイジーチェーン接続に限定しない。例えば、複数の情報処理装置がデイジーチェーン以外の接続形態により互いに通信可能に接続されたマルチノードシステムであって、リクエストデータ及びリプライデータが、複数の情報処理装置によって中継されたのちに、目的の装置に到達するアーキテクチャを備えたシステム等にも、本実施形態が備える技術的思想を適用することができる。
<第2の実施形態>
図8は、第2の実施形態に係るデータ転送制御システム2の構成を概念的に示すブロック図である。
本実施形態に係るデータ転送制御システム2は、第1の情報処理装置60、及び、n個(nは2以上の整数)の第2の情報処理装置70−1乃至70−nを備えている。第2の情報処理装置70−1乃至70−nは、自装置固有の個別クロック信号ICと同期して自装置に格納した格納データにアクセスする。第1の情報処理装置60は、第2の情報処理装置70−1乃至70−nのうちの特定の第2の情報処理装置70−i(iは1乃至nのいずれかの整数)に格納された格納データにアクセスする。この際、第1の情報処理装置60は、第2の情報処理装置70−iが発行した当該格納データへのアクセス結果を表すリプライデータを、第2の情報処理装置70−iを除く少なくともいずれかの第2の情報処理装置が順番に中継する通信パスを使用して入手する。図8に示す例の場合、第2の情報処理装置70−iが生成したリプライデータは、第2の情報処理装置70−(i+1)乃至70−nによって順番に中継されたのち、第1の情報処理装置60に入力される。
第2の情報処理装置70−iは、リプライ送出部71−i、及び、同期制御部72−iを備えている。
同期制御部72−iは、第2の情報処理装置70−iが個別クロック信号ICと同期して生成するリプライデータを、第2の情報処理装置70−1乃至70−nに対して共通に分配された共通クロック信号CCと同期して出力する。
リプライ送出部71−iは、共通クロック信号CCと同期して動作する。リプライ送出部71−iは、同期制御部72−iが出力したリプライデータを所定の時間に亘って記憶したのち、後段に位置する第2の情報処理装置70−(i+1)へ(i=nでない場合)、あるいは、第1の情報処理装置60へ(i=nである場合)送信する。
本実施形態に係るデータ転送制御システム2は、個別クロック信号ICにより自装置内に格納したデータにアクセスする複数の情報処理装置が接続され、他装置からのアクセスに関するデータが複数の情報処理装置を中継する通信パスを流れるシステムにおいて、情報処理装置間のデータ転送性能を向上できる。その理由は、各第2の情報処理装置において、同期制御部が、アクセスリクエストに対して自装置が生成したリプライデータを、共通クロック信号CCと同期してリプライ送出部へ入力し、リプライ送出部が、当該リプライデータを所定の時間に亘って記憶したのち、後段に位置する情報処理装置へ共通クロック信号CCと同期して転送するからである。
<ハードウェア構成例>
上述した各実施形態において図2、及び、図8に示した各部は、専用のHW(HawdWare)(電子回路)によって実現することができる。また、少なくとも、リプライ送出部320及び71−i、及び、同期制御部330及び72−iは、ソフトウェアプログラムの機能(処理)単位(ソフトウェアモジュール)と捉えることができる。但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。この場合のハードウェア環境の一例を、図9を参照して説明する。
図9は、本発明の模範的な実施形態に係るスレーブ装置あるいは第2の情報処理装置を実行可能な情報処理装置900(コンピュータ)の構成を例示的に説明する図である。即ち、図9は、図2、及び、図8に示したスレーブ装置あるいは第2の情報処理装置を実現可能なコンピュータ(情報処理装置)の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。
図9に示した情報処理装置900は、構成要素として下記を備えている。
・CPU901、
・ROM(Read_Only_Memory)902、
・RAM(Random_Access_Memory)903、
・ハードディスク904(記憶装置)、
・外部装置との通信インタフェース905(Interface:以降、「I/F」と称する)、
・CD−ROM(Compact_Disc_Read_Only_Memory)等の記憶媒体907に格納されたデータを読み書き可能なリーダライタ908、
・入出力インタフェース909、
情報処理装置900は、これらの構成がバス906(通信線)を介して接続された一般的なコンピュータである。
そして、上述した実施形態を例に説明した本発明は、図9に示した情報処理装置900に対して、次の機能を実現可能なコンピュータプログラムを供給する。その機能とは、その実施形態の説明において参照したブロック構成図(図2、及び、図8)における、リプライ送出部320及び71−i、及び、同期制御部330及び72−i、或いはフローチャート(図7A及び7B)の機能である。本発明は、その後、そのコンピュータプログラムを、当該ハードウェアのCPU901に読み出して解釈し実行することによって達成される。また、当該装置内に供給されたコンピュータプログラムは、読み書き可能な揮発性の記憶メモリ(RAM903)またはハードディスク904等の不揮発性の記憶デバイスに格納すれば良い。
また、前記の場合において、当該ハードウェア内へのコンピュータプログラムの供給方法は、現在では一般的な手順を採用することができる。その手順としては、例えば、CD−ROM等の各種記憶媒体907を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等がある。そして、このような場合において、本発明は、係るコンピュータプログラムを構成するコード或いは、そのコードが格納された記憶媒体907によって構成されると捉えることができる。
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
1 データ転送制御システム
10 マスター装置
20乃至40 スレーブ装置
200乃至400 データ処理制御部
50 共通クロック信号分配装置
100 リクエストデータ
101 有効フラグ
102 命令種別
103 アクセス先装置
104 アクセス先アドレス
105 書き込みデータ
110 リプライデータ
111 有効フラグ
112 アクセス先装置
113 読み出しデータ
310 リクエスト受信部
311 リクエスト判定部
312 リプライ有無判定部
320 リプライ送出部
321 リプライ生成部
322 リプライタイミング生成部
323 リプライタイミング調整部
330 同期制御部
331 リクエストデータ入力バッファ
332 リクエストデータ出力バッファ
333 リプライデータ入力バッファ
334 リプライデータ出力バッファ
340 リクエスト処理部
2 データ転送制御システム
60 第1の情報処理装置
70−1乃至70−n 第2の情報処理装置
71−i リプライ送出部
72−i 同期制御部
900 情報処理装置
901 CPU
902 ROM
903 RAM
904 ハードディスク
905 通信インタフェース
906 バス
907 記憶媒体
908 リーダライタ
909 入出力インタフェース

Claims (10)

  1. 第一の情報処理装置が、自装置固有の個別クロック信号と同期して自装置に格納した格納データにアクセスする、複数の第二の情報処理装置のうちの特定の情報処理装置に格納された前記格納データにアクセスする際に、前記特定の情報処理装置が発行した前記格納データへのアクセス結果を表すリプライデータを、前記特定の情報処理装置を除く少なくともいずれかの前記第二の情報処理装置が順番に中継して入手する場合において、
    前記第二の情報処理装置ごとに、
    前記第二の情報処理装置が前記個別クロック信号と同期して生成する前記リプライデータを、前記複数の第二の情報処理装置に対して共通に分配された共通クロック信号と同期して出力する同期制御手段と、
    前記共通クロック信号と同期して動作し、前記第一の情報処理装置と、前記複数の第二の情報処理装置とを順番に中継する第一の通信パスを使用して受信した、自装置に格納した前記格納データに対する前記第一の情報処理装置からのリクエストデータが、自装置宛である場合、当該リクエストデータを前記同期制御手段へ出力するリクエスト受信手段と、
    前記共通クロック信号と同期して動作し、自装置宛の前記リクエストデータに対し、前記同期制御手段が出力した前記リプライデータを、前記リクエストデータを受信してから所定の時間記憶したのち、前記第一の情報処理装置と、前記複数の第二の情報処理装置とを順番に中継する第二の通信パスを使用して、後段に位置する前記第二の情報処理装置、あるいは、前記第一の情報処理装置へ送信するリプライ送出手段と、
    を備える、データ転送制御システム。
  2. 前記リプライ送出手段は、前記第二の情報処理装置が、前記リクエストデータを受信してから前記リクエストデータに対して生成した前記リプライデータを送信するまでに要する時間が、前記複数の第二の情報処理装置の間で一定となるように、前記リプライデータを所定の時間に亘って記憶する、
    請求項1に記載のデータ転送制御システム。
  3. 記同期制御手段は、前記共通クロック信号と同期して入手した前記リクエストデータを、前記個別クロック信号と同期して出力する、
    請求項1又は2に記載のデータ転送制御システム。
  4. 前記同期制御手段は、
    前記リクエスト受信手段から入力された前記リクエストデータを、前記共通クロック信号と同期して記憶するリクエストデータ入力バッファと、
    前記リクエストデータ入力バッファから出力された前記リクエストデータを、前記個別クロック信号と同期して記憶するリクエストデータ出力バッファと、
    前記第二の情報処理装置が生成した前記リプライデータを、前記個別クロック信号と同期して記憶するリプライデータ入力バッファと、
    前記リプライデータ入力バッファから出力された前記リプライデータを、前記共通クロック信号と同期して記憶するリプライデータ出力バッファと、
    を備える、請求項1乃至3のいずれかに記載のデータ転送制御システム。
  5. 前記リクエスト受信手段は、入手した前記第一の情報処理装置からのリクエストデータが他装置宛である場合、当該リクエストデータを、後段に位置する前記第二の情報処理装置へ送信する、
    請求項3又は4に記載のデータ転送制御システム。
  6. 前記リプライ送出手段は、前記リプライデータを所定の時間記憶可能な1以上のバッファを備え、先入れ先出し方式によって、前記リプライデータを読み出す、
    請求項1乃至5のいずれかに記載のデータ転送制御システム。
  7. 前記共通クロック信号を生成し、生成した前記共通クロック信号を、前記複数の第二の情報処理装置に分配する共通クロック信号分配手段、
    をさらに備える、請求項1乃至6のいずれかに記載のデータ転送制御システム。
  8. 前記複数の第二の情報処理装置は、デイジーチェーン形式によって、前記第一の情報処理装置と接続する、
    請求項1乃至7のいずれかに記載のデータ転送制御システム。
  9. 第一の情報処理装置が、自装置固有の個別クロック信号と同期して自装置に格納した格納データにアクセスする、複数の第二の情報処理装置のうちの特定の情報処理装置に格納された前記格納データにアクセスする際に、前記特定の情報処理装置が発行した前記格納データへのアクセス結果を表すリプライデータを、前記特定の情報処理装置を除く少なくともいずれかの前記第二の情報処理装置が順番に中継して入手する場合において、
    前記複数の第二の情報処理装置によって、
    前記第二の情報処理装置が前記個別クロック信号と同期して生成する前記リプライデータを、前記複数の第二の情報処理装置に対して共通に分配された共通クロック信号と同期して出力し、
    前記第一の情報処理装置と、前記複数の第二の情報処理装置とを順番に中継する第一の通信パスを使用して受信した、自装置に格納した前記格納データに対する前記第一の情報処理装置からのリクエストデータが、自装置宛である場合、当該リクエストデータを前記共通クロック信号と同期して出力し、
    自装置宛の前記リクエストデータに対して出力した前記リプライデータを所定の時間記憶したのち、前記第一の情報処理装置と、前記複数の第二の情報処理装置とを順番に中継する第二の通信パスを使用して、後段に位置する前記第二の情報処理装置へ、あるいは、前記第一の情報処理装置へ、前記共通クロック信号と同期して送信する、
    データ転送制御方法。
  10. 第一の情報処理装置が、自装置固有の個別クロック信号と同期して自装置に格納した格納データにアクセスする、複数の第二の情報処理装置のうちの特定の情報処理装置に格納された前記格納データにアクセスする際に、前記特定の情報処理装置が発行した前記格納データへのアクセス結果を表すリプライデータを、前記特定の情報処理装置を除く少なくともいずれかの前記第二の情報処理装置が順番に中継して入手する場合において、
    前記第二の情報処理装置が前記個別クロック信号と同期して生成する前記リプライデータを、前記複数の第二の情報処理装置に対して共通に分配された共通クロック信号と同期して出力する同期制御処理と、
    前記第一の情報処理装置と、前記複数の第二の情報処理装置とを順番に中継する第一の通信パスを使用して受信した、自装置に格納した前記格納データに対する前記第一の情報処理装置からのリクエストデータが、自装置宛である場合、前記リクエストデータを前記共通クロック信号と同期して出力するリクエスト受信処理と、
    自装置宛の前記リクエストデータに対して前記同期制御処理が出力した前記リプライデータを所定の時間記憶したのち、前記第一の情報処理装置と、前記複数の記第二の情報処理装置とを順番に中継する第二の通信パスを使用して、後段に位置する前記第二の情報処理装置、あるいは、前記第一の情報処理装置へ、前記共通クロック信号と同期して送信するリプライ送出処理と、
    を前記複数の第二の情報処理装置に実行させる、データ転送制御プログラム。
JP2014195182A 2014-09-25 2014-09-25 データ転送制御システム、データ転送制御方法、及び、データ転送制御プログラム Active JP6290761B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014195182A JP6290761B2 (ja) 2014-09-25 2014-09-25 データ転送制御システム、データ転送制御方法、及び、データ転送制御プログラム
US15/512,604 US20170308487A1 (en) 2014-09-25 2015-09-16 Data transfer control system, data transfer control method, and program storage medium
PCT/JP2015/004709 WO2016047104A1 (ja) 2014-09-25 2015-09-16 データ転送制御システム、データ転送制御方法、及び、プログラム記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014195182A JP6290761B2 (ja) 2014-09-25 2014-09-25 データ転送制御システム、データ転送制御方法、及び、データ転送制御プログラム

Publications (2)

Publication Number Publication Date
JP2016066278A JP2016066278A (ja) 2016-04-28
JP6290761B2 true JP6290761B2 (ja) 2018-03-07

Family

ID=55580653

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014195182A Active JP6290761B2 (ja) 2014-09-25 2014-09-25 データ転送制御システム、データ転送制御方法、及び、データ転送制御プログラム

Country Status (3)

Country Link
US (1) US20170308487A1 (ja)
JP (1) JP6290761B2 (ja)
WO (1) WO2016047104A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI612788B (zh) * 2015-12-21 2018-01-21 視動自動化科技股份有限公司 具有鏈結匯流排的通訊系統
US10212658B2 (en) * 2016-09-30 2019-02-19 Kinetic Technologies Systems and methods for managing communication between devices
US10757484B2 (en) 2017-01-05 2020-08-25 Kinetic Technologies Systems and methods for pulse-based communication

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004126647A (ja) * 2002-09-30 2004-04-22 Canon Inc 情報転送方法及び情報処理システム
US20070076502A1 (en) * 2005-09-30 2007-04-05 Pyeon Hong B Daisy chain cascading devices
JP5407633B2 (ja) * 2008-07-28 2014-02-05 株式会社リコー 通信装置及びそれを有する通信システム並びに通信方法
US9274997B2 (en) * 2012-05-02 2016-03-01 Smsc Holdings S.A.R.L. Point-to-point serial peripheral interface for data communication between devices configured in a daisy-chain

Also Published As

Publication number Publication date
JP2016066278A (ja) 2016-04-28
WO2016047104A1 (ja) 2016-03-31
US20170308487A1 (en) 2017-10-26

Similar Documents

Publication Publication Date Title
US8719476B2 (en) Communication system, master device and slave device, and communication method, configured to handle plural concurrent requests
US9471521B2 (en) Communication system for interfacing a plurality of transmission circuits with an interconnection network, and corresponding integrated circuit
JP2015520459A (ja) リングトポロジーステータス指示
JP6290761B2 (ja) データ転送制御システム、データ転送制御方法、及び、データ転送制御プログラム
JP2007034392A (ja) 情報処理装置及びデータ処理方法
JP2006293927A (ja) ダイレクトメモリアクセス制御装置及びダイレクトメモリアクセス制御装置を含むシステムlsi
US20170024146A1 (en) Memory controller, information processing device, and control method
KR102303424B1 (ko) 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치
JP2009116702A (ja) 半導体集積回路
US7130946B2 (en) Configuration and method having a first device and a second device connected to the first device through a cross bar
US20090013144A1 (en) Integrated circuit, and integrated circuit system
JP4104939B2 (ja) マルチプロセッサシステム
JP4372110B2 (ja) データ転送回路、それを利用したマルチプロセッサシステム、及びデータ転送方法
JP2005216147A (ja) 情報処理装置
JP4924970B2 (ja) データ処理システム
KR20060112349A (ko) 에스오씨 버스 시스템 및 버스 데이터 처리방법
CN116303221B (zh) 一种多核处理器片上网络系统的数据传输方法
JP6430710B2 (ja) データ転送制御装置及びデータ転送の制御方法
JP5489871B2 (ja) 画像処理装置
US10452579B2 (en) Managing input/output core processing via two different bus protocols using remote direct memory access (RDMA) off-loading processing system
JP4125933B2 (ja) 共通メモリを備えたプロセッサシステム
JP6940283B2 (ja) Dma転送制御装置、dma転送制御方法、及び、dma転送制御プログラム
KR20060009292A (ko) 분할 프로토콜 전송 방법 및 프로세싱 시스템
JP2004161207A (ja) 人工衛星搭載データ処理装置
JP6287493B2 (ja) 情報処理装置、転送装置、および制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170809

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171226

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180208

R150 Certificate of patent or registration of utility model

Ref document number: 6290761

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150