JP2008250632A - データ処理システム - Google Patents

データ処理システム Download PDF

Info

Publication number
JP2008250632A
JP2008250632A JP2007090540A JP2007090540A JP2008250632A JP 2008250632 A JP2008250632 A JP 2008250632A JP 2007090540 A JP2007090540 A JP 2007090540A JP 2007090540 A JP2007090540 A JP 2007090540A JP 2008250632 A JP2008250632 A JP 2008250632A
Authority
JP
Japan
Prior art keywords
data
master
slave
transfer
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.)
Pending
Application number
JP2007090540A
Other languages
English (en)
Inventor
Sukenori Soga
祐紀 曽我
Daisuke Murakami
大輔 村上
Takahide Baba
貴英 馬場
裕司 ▲高▼井
Yuji Takai
Yasuo Nishioka
泰男 西岡
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2007090540A priority Critical patent/JP2008250632A/ja
Priority to US12/058,566 priority patent/US7860940B2/en
Publication of JP2008250632A publication Critical patent/JP2008250632A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/403Bus networks with centralised control, e.g. polling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0742Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in a mobile device, e.g. mobile phones, handheld devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0745Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in an input/output transactions management context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Systems (AREA)

Abstract

【課題】システム全体の動作に影響することなくマスタリセットを実現する。
【解決手段】マスタ101とスレーブ109とをつなぐバス110,111,112上に転送キャンセル部103を介在させる。転送キャンセル部103は、マスタ101のリセット中、バス上を流れる無効コマンドがスレーブ109に到達しないようバス遮断をしつつ、スレーブ109へ既に出力したアクセス要求コマンドに対応するスレーブ109へのデータ生成及びスレーブ109からのデータ受信を、リセットにより停止しているマスタ101に代わって実行する。これにより、動作中のマスタ101がリセットされた場合に、スレーブ109をリセットしなくても当該スレーブ109内にコマンドが残留せず、また当該スレーブ109を共有する他のマスタ102の動作に影響を及ぼすこともない。
【選択図】図1

Description

本発明は、互いの間でデータ通信を行うマスタ及びスレーブを有するデータ処理システムに関するものである。
システムLSIにおいて複数のマスタがバスを介して1つ又は複数のスレーブを共有する場合、システムの動作中に一部のマスタに障害が発生したとき、当該マスタにリセットをかける機能を設けることが必要である。ここに、マスタはマイクロプロセッサ、DSP(Digital Signal Processor)、DMA(Direct Memory Access)コントローラ等であり、スレーブはメモリ、周辺I/O(input/output)コントローラ等である。
ある従来技術によれば、バスにつながる装置に障害が発生してリセットをかける場合には、全ての装置を一旦停止させ、障害情報を採集し、必要なレジスタにリセットをかけてクリアさせることで、障害からの復帰を実現している(特許文献1参照)。
特開平11−312102号公報
システムの動作中にあるマスタにリセットをかける必要が生じた場合、システムの復旧のために全マスタの動作を一旦停止させることとすると、本来リセットとは無関係のマスタが影響を受け、システムの性能に大きな影響を及ぼすことになる。
加えて、マスタの動作停止や復旧動作の高速化のために、マスタやスレーブに特別な機能を新たに実装する必要があり、例えばマスタやスレーブに他社IP(Intellectual Property)を利用している場合等、修正が困難である場合には、対応ができない。
また、単一のマスタがスレーブとの間でデータ通信を行うシステムであっても、データ転送動作を実行できない状態になったマスタから既に発行されていたコマンドがスレーブ内に残留すると、システムの復旧に支障が生じる。
本発明は、上記従来技術の課題を解決するものであり、システム全体の動作に影響することなくマスタリセットを実現することを目的とする。
上記課題を解決するため、本発明は、マスタがデータ転送動作を実行できない状態になった場合に当該マスタの代わりにスレーブの動作を実行完了させる転送キャンセル部をマスタとスレーブとの間に介在させることとしたものである。
具体的に説明すると、転送キャンセル部は、マスタからスレーブへのコマンドの発行及びデータの送出を遮断するバス遮断部と、スレーブへ発行済みのコマンドに対応してスレーブへ送出すべきデータをマスタに代わって生成するデータ生成部と、スレーブへ発行済みのコマンドに対応するスレーブからの応答データをマスタに代わって受信するデータ吸収部と、これらバス遮断部、データ生成部及びデータ吸収部の制御を行う転送キャンセル制御部とを有することとする。
これにより、動作途中でのマスタリセットに際し、転送キャンセル部がリセット中のマスタからのデータを遮断し、当該マスタの代わりにスレーブの動作を完了させることで、スレーブへ発行済みの転送コマンドをキャンセルする。
本発明によれば、あるマスタが動作中にリセットされる場合でも、スレーブをリセットすることなく復旧が可能となり、かつ他のマスタの動作を停止させる必要がない。すなわち、スレーブの動作や該当するマスタ以外のマスタの動作に影響を及ぼすことなく、復旧を必要とするマスタをリセットすることが可能となる。
加えて、本発明における転送キャンセル部はマスタとスレーブとをつなぐバス上に挿入すればよいため、マスタ及びスレーブの双方とも回路の修正を行う必要が生じない。
以下、本発明の実施形態について、図面を用いて詳細に説明する。
《第1の実施形態》
図1は、本発明の第1の実施形態に係るデータ処理システムを持つ電子装置の構成を示している。ここに言う電子装置とは、例えば携帯電話機やDVDレコーダ等の任意の機器があてはまる。
図1の電子装置は、電源装置117と、電力制御部116を含む半導体集積回路100とからなる。電源装置117は電力線122により半導体集積回路100に電力の供給を行い、電力制御部116は半導体集積回路100内の各ブロックに電力を分配するとともに、各ブロックの状態をもとに電力制御信号線121を介して電源装置117からの供給電力の制御を行う。
次に、半導体集積回路100の内部について詳しく説明する。図1の半導体集積回路100は、上記電力制御部116に加えて、複数のマスタ101,102と、複数の転送キャンセル部103,104と、共有スレーブ109と、リセット制御部113とを備えている。110,111,112はマスタ101と共有スレーブ109とを接続するバスであり、110は共有スレーブ109へのアクセス要求コマンドを伝送するコマンドバス、111は共有スレーブ109への書き込みデータを伝送するライトデータバス、112は共有スレーブ109からの読み出しデータを伝送するリードデータバスである。マスタ101,102は例えばマイクロプロセッサ、DSP(Digital Signal Processor)、DMA(Direct Memory Access)コントローラ等であり、共有スレーブ109はメモリ、周辺I/O(input/output)コントローラ等である。
リセット制御部113は、マスタ101,102や共有スレーブ109のリセットを制御するブロックである。このリセット制御部113は、転送キャンセル部103と信号線114,115を介して接続され、転送キャンセル部103の制御も行っている。他の転送キャンセル部104も同様にリセット制御部113により制御される。
転送キャンセル部103は、マスタ101と共有スレーブ109とをつなぐバス110,111,112上に挿入されている。他の転送キャンセル部104も同様に、マスタ102と共有スレーブ109とをつなぐバス上に挿入されている。
転送キャンセル部103は、転送キャンセル制御部105と、バス遮断部106と、データ生成部107と、データ吸収部108とを有している。
転送キャンセル制御部105は、リセット制御部113から信号線114を介して指示を受けて転送キャンセル部103内のブロックの動作開始、終了等の制御を行う。また、転送キャンセル制御部105は、信号線115を介してリセット制御部113へ転送キャンセルの完了等、転送キャンセル部103の状態の通知を行う。また、信号線120により電力制御部116へ転送キャンセル部103の状態を通知している。電力制御部116は、信号線120の情報を含め半導体集積回路100内の各ブロックからの状態信号をもとに各ブロックが動作しているかを確認して、電力供給が必要なブロックを決定する。例えば、全マスタ101,102から共有スレーブ109へのアクセスが停止し、かつ転送キャンセル部103が転送キャンセル動作を実行していない場合には、共有スレーブ109及び転送キャンセル部103への電力供給を止めることで、電力消費を抑える。
バス遮断部106は、転送キャンセル制御部105からの制御をもとにコマンドバス110及びライトデータバス111からのデータ受信を停止し、共有スレーブ109に伝達しないようにバス遮断をする。例えば、コマンドバス110及びライトデータバス111においてマスタ101からの送信要求信号と共有スレーブ109からの受信可能信号とによるハンドシェイクによってコマンド及びデータを転送している場合、バス遮断部106においてマスタ101へ送出する受信可能信号をネゲートし、かつ共有スレーブ109への送信要求信号をネゲートすることで、バス遮断が可能となる。バス遮断部106からのコマンド出力信号線118及びライトデータ出力信号線119は、それぞれコマンドバス110及びライトデータバス111に対応しており、転送キャンセル時はコマンド及びデータを遮断し、通常時はコマンドバス110及びライトデータバス111を流れるコマンドやデータをそのまま通過させている。
データ生成部107は、転送キャンセル制御部105からの転送キャンセルの指示を受けて、共有スレーブ109へのダミーデータの生成を、リセットにより停止するマスタ101に代わって行う。例えば、共有スレーブ109が受信したコマンドで要求されるデータ転送量以上のデータを受信しない構造になっている場合、共有スレーブ109への送信要求信号を常にアサートしておけばよい。
データ吸収部108は、転送キャンセル制御部105からの転送キャンセルの指示を受けて、共有スレーブ109からのデータの受信を、リセットにより停止するマスタ101に代わって行う。例えば、リードデータバス112が上述のコマンドバス110及びライトデータバス111と同様にマスタ101からの受信可能信号と共有スレーブ109からの送信要求信号とによるハンドシェイクによってデータ転送をしている場合、共有スレーブ109への受信可能信号を常にアサートしておけばよい。
図2は、図1中のデータ処理システムの動作フロー図である。はじめに、ステップ150において、マスタ101のリセットが必要となったため転送キャンセルが必要となったことをリセット制御部113から信号線114を介して転送キャンセル部103内の転送キャンセル制御部105に通知する。これを受け、ステップ151において転送キャンセル制御部105はまずバス遮断部106にバス遮断の指示を行い、マスタ101からの無効データが共有スレーブ109に伝わらないようにする。バス遮断が完了すれば、ステップ152において転送キャンセル制御部105が信号線115を介してリセット制御部113にバス遮断の完了を通知する。
バス遮断が完了すると、ステップ155においてリセット制御部113はマスタ101をリセットする。このステップ155と並行して、ステップ153において転送キャンセル部103内のデータ生成部107及びデータ吸収部108を動作させ、共有スレーブ109との間のデータ転送をマスタ101に代わって完了させることで転送キャンセルを達成する。転送キャンセルが完了すると、ステップ154において転送キャンセル制御部105は信号線115を介してリセット制御部113に転送キャンセルの完了を通知する。
次にステップ156において、リセット制御部113はマスタ101のリセットを解除する。その後、ステップ157においてリセット制御部113は転送キャンセル制御部105に転送キャンセル状態の終了を指示し、それを受けステップ158において転送キャンセル部103はバス遮断を解除する。
以上のステップを踏むことで、あるマスタ101にリセットをかける際に、リセットのための特別な機構等を設けるために共有スレーブ109を改変することなく、共有スレーブ109内に残留するコマンドを実質的に消去することが可能となる。このようなコマンド消去方法をとることで、他のマスタ102の動作を阻害することなくシステムを復帰させることが可能となる。また、バス遮断機構によりリセット時やリセット中にバス上で発生しうる無効コマンドが共有スレーブ109に伝達することも防止できる。
なお、図1ではマスタは2つ、共有スレーブ109は1つ記載されているが、実際にはそれらの個数は任意であり、バスの形態もマルチレイヤバス等の様々な形態をとることが可能である。また、図1では全マスタ−スレーブ間に転送キャンセル部を実装しているが、マスタ毎に実装の有無を決定してもよい。
また、図1ではリセット制御部113が信号線114を介して転送キャンセル部103への指示を行っているが、転送キャンセル部103への指示はマイクロプロセッサ等のマスタが担ってもよい。全ての転送キャンセル部103,104の制御を1つのブロックが担うか別々のブロックが担うかも任意である。また、転送キャンセル制御部105は信号線115を介してリセット制御部113に転送キャンセル部103の状態を通知しているが、マイクロプロセッサへの通知のために、マイクロプロセッサからリード可能なレジスタを設けて通知してもよく、またマイクロプロセッサへの割り込みによる通知を行ってもよい。
また、上記の説明においてバス遮断部106は転送キャンセル時にマスタ101からのコマンド及びデータを受信せずマスタ101にコマンド及びデータをとどめておき、これらをマスタ101のリセットによって消去しているが、バス遮断部106においてコマンド及びデータを一旦受信し、このバス遮断部106内において消去することも可能である。この場合、マスタ101への受信可能信号はアサートし、共有スレーブ109への送信要求信号はネゲートすることとなる。
コマンドで要求されるデータ量以上のデータを共有スレーブ109が受信する構造の場合には、先行するコマンドに対して不足するデータ量を計数する機能をデータ生成部107に設け、不足データのみをデータ生成部107から共有スレーブ109へ送出すればよい。
《第2の実施形態》
図3は、本発明の第2の実施形態に係るデータ処理システムの構成を示している。図3によれば、図1の半導体集積回路100内の転送キャンセル部103において、バス遮断部106のコマンド出力信号線118上にコマンド生成部200が追加されている。
図4は、図3中のコマンド生成部200の詳細構成例を示している。図4に示すように、コマンド生成部200には状態初期化コマンド生成部201と、余剰データ消去コマンド生成部202とが含まれる。
状態初期化コマンド生成部201は、共有スレーブ109内に含まれるステートマシンを転送キャンセル時に初期化するためのコマンドを発行する。ここでは、共有スレーブ109の占有を指示するコマンドと、占有を解除するコマンドとがバスプロトコルで定義されており、共有スレーブ109の占有状況を示すステートマシンが共有スレーブ109内に含まれている場合を例にとって説明する。この場合、図2におけるステップ153において、状態初期化コマンド生成部201によって共有スレーブ109の占有解除コマンドを生成することで、共有スレーブ109の占有中にマスタ101がリセットされた場合でも、共有スレーブ109のステートを初期状態に戻し、他のマスタ102が共有スレーブ109にアクセスできない状態が続くことのないようにすることが可能である。
余剰データ消去コマンド生成部202は、共有スレーブ109がコマンドに先行してデータを受信できる回路であった場合に、共有スレーブ109内の先行データを消去するためのコマンドを生成するブロックである。具体的に説明すると、余剰データ消去コマンド生成部202は、コマンドに先行するデータを監視し、共有スレーブ109内でデータの処理を完了させるのに必要なコマンドを発行する。一例として、共有スレーブ109がメモリであり、書き込みコマンドに先行してデータを受信できるバッファを持つ場合には、余剰データ消去コマンド生成部202が先行データ量を監視し、それらのデータ全てをメモリ内のいずれかのアドレスに書き込ませるためのコマンドを発行して当該メモリへの書き込みを完了させることで、共有スレーブ109内のバッファに残るデータを消去する。
以上の構成により、共有スレーブ109がコマンドに応じて内部のステートを変化させている場合や、共有スレーブ109がコマンドに先行してデータを受信できる場合でも、第1の実施形態に示すマスタリセットの効果を実現することが可能となる。
なお、コマンド生成部200には状態初期化コマンド生成部201と余剰データ消去コマンド生成部202との両方が必ずしも含まれていなくてもよく、いずれか一方だけが含まれていてもよい。また、バスからのコマンドにより初期化することができるステートマシンであれば任意のステートを初期化することが可能である。
ただし、共有スレーブ109での処理の完了に関しては、共有スレーブ109の動作を阻害しない考慮が必要である。先に示したメモリ書き込みの例では、無効なデータを書き込んでも問題の生じないアドレスを選択する等の考慮が必要であり、書き込み先アドレスをソフトウェアにより設定変更できるようにすることが有効である。
《第3の実施形態》
図5は、本発明の第3の実施形態に係るデータ処理システムの構成を示している。図5によれば、図1の半導体集積回路100内の転送キャンセル部103において、バス遮断部106のライトデータ出力信号線119上に無効データフラグ生成部300が追加されている。
一例として、ライトデータバス111、ライトデータ出力信号線119及び共有スレーブ109が、データが有効か無効かをバイト単位で表すバイトマスク信号に対応しているものとする。図2の動作フロー図のステップ153において、共有スレーブ109へのダミーデータを生成する際に、無効データフラグ生成部300がバイトマスク信号を用いてデータの無効を表すようにする。これにより、データ生成部107によって生成された無効データが共有スレーブ109のいずれのアドレスに書き込まれても、共有スレーブ109の有効データを上書きしないようにすることができる。
なお、ここではデータの有効/無効を示す信号としてバイトマスク信号を挙げたが、使用するバスに応じて、データの無効を示す任意の信号を付加することが可能である。
《第4の実施形態》
図6は、本発明の第4の実施形態に係るデータ処理システムの構成を示している。図6によれば、図1の半導体集積回路100内の転送キャンセル部103にクロック要求生成部401が追加されている。
システムが正常に作動している場合には転送キャンセル部103が動作する必要はなく、転送キャンセル部103は、バス110,111,112のコマンド及びデータをそのまま通過させるだけでよい。そこで、消費電力の削減のため、クロック要求生成部401において、必要なときのみクロック要求信号を生成する。
クロック要求生成部401の動作の一例を説明する。リセット制御部113からの転送キャンセルの指示があると同時に、クロック要求生成部401は、半導体集積回路100内の各ブロックのクロックを制御しているクロック制御部400に対して転送キャンセル部103へのクロックの供給を信号線402により要求する。その後、クロック要求生成部401は転送キャンセル部103の状態を監視し、転送キャンセル動作が完了してリセット制御部113への通知が終わった時点で、クロック供給の停止をクロック制御部400に要求する。
本構成をとることで、転送キャンセルのために追加した転送キャンセル部103の電力消費を最小限に抑えることが可能となる。
なお、上記では転送キャンセル部103内のクロック供給を一括して要求しているが、転送キャンセル部103内の各ブロックのクロックを個別に制御し、より細かな電力制御を行うことも可能である。また、上記ではクロック要求生成部401が信号線402を介してクロック制御部400に対して直接指示を出しているが、信号線115を介してリセット制御部113に対してクロック供給要求を一旦通知し、リセット制御部113が信号線403を介してクロック制御部400に要求する等、任意の要求経路をとることができる。また、転送キャンセル部103内のクロックを一括管理するのであれば、クロック要求生成部401によらずリセット制御部113内の状態のみに応じてクロック供給の制御を行うことも可能である。
《第5の実施形態》
図7は、本発明の第5の実施形態に係るデータ処理システムの構成を示している。図7によれば、図1の半導体集積回路100内の転送キャンセル部103にキャンセル判定部500が追加されている。
図8は、図7中のキャンセル判定部500の詳細構成例を示している。キャンセル判定部500は、図8に示すように、設定レジスタ510と、バスモニタ511と、コマンド修正部512とを備えている。バスモニタ511は、バス110,111,112を監視し、設定レジスタ510から信号線505を介して通知されるモニタ条件に該当する転送を検知した場合には、転送キャンセル制御部105に対して転送キャンセルの実行を信号線501により指示し、必要に応じてコマンドの修正をコマンド修正部512に対して信号線506を介して指示する。転送キャンセル制御部105は、必要に応じてリセット制御部113に対して転送キャンセルの発生を信号線115により通知する。なお、図7及び図8中の502、503及び504は、バス110,111,112に対応するバスを表している。
バスモニタ511で監視する内容について説明する。まず、バス110,111,112によって、予め定められた形式以外のコマンドやデータが転送されたことを検出する。この際、違反を起こしたコマンドが共有スレーブ109を誤動作させることのないようにコマンド修正部512によってコマンドを修正することも有効である。これにより、あるマスタの誤動作によって発生した違反コマンドが共有スレーブ109や他のマスタの動作に影響を及ぼすことを回避することが可能となる。
バスモニタ511は、設定レジスタ510に指定されたアドレスに対してアクセスが発生したことや、設定レジスタ510に指定された形式のデータが転送されたことを検出する機能も有する。この際、コマンド修正部512によって、共有スレーブ109に影響を及ぼさないようにコマンドを修正することも有効である。これにより、あるマスタからのアクセスが共有スレーブ109や他のマスタの動作に影響を及ぼすことを防ぐことができる。
バスモニタ511は、バス110,111,112の監視により、マスタのハングアップを検出する機構も有する。例えば、共有スレーブ109に対して発行したコマンドに対応するデータが長時間マスタから転送されないことをカウンタの計数結果にて検知する方法が挙げられる。これにより、あるマスタのハングアップによって共有スレーブ109に対して負荷をかけ続ける不具合等を防止することができる。
なお、図8では設定レジスタ510への条件設定をバス110,111,112によって行っているが、別途設定用のバスを設けてもよい。設定レジスタ510による設定変更機構を設けず、予め固定的な値を指定しておいてもよい。また、設定レジスタ510及びコマンド修正部512の実装の有無は任意である。キャンセル判定部500とリセット制御部113とのうちいずれか一方を用いて最終的な転送キャンセルの実行有無を決定するか、あるいは制御信号の多数決をとる等、両方の信号を用いるかは任意である。
また、先の説明ではバスモニタ511でアドレスやデータを個別に監視しているが、アドレスとデータとの組み合わせを検出することや、連続する一連のアドレスやデータを検出することも可能である。コマンド修正部512は上記ではコマンドを修正しているが、共有スレーブ109にとって不都合なコマンドを消去してもよい。
バスモニタ511は上記に挙げた検出機能を必ずしも全て保有する必要はない。また、設定レジスタ510によって各検出を実行するかどうかを設定できるようにすることも有効である。
以上説明してきたとおり、本発明に係るデータ処理システムは、システム全体の動作に影響することなくマスタリセットを実現することができるので、マスタの動作時リセット及び復帰を行う機構を有する電子装置等において有用である。
本発明の第1の実施形態に係るデータ処理システムを持つ電子装置のブロック図である。 図1中のデータ処理システムの動作フロー図である。 本発明の第2の実施形態に係るデータ処理システムのブロック図である。 図3中のコマンド生成部の詳細構成例を示すブロック図である。 本発明の第3の実施形態に係るデータ処理システムのブロック図である。 本発明の第4の実施形態に係るデータ処理システムのブロック図である。 本発明の第5の実施形態に係るデータ処理システムのブロック図である。 図7中のキャンセル判定部の詳細構成例を示すブロック図である。
符号の説明
100 半導体集積回路
101,102 マスタ
103,104 転送キャンセル部
105 転送キャンセル制御部
106 バス遮断部
107 データ生成部
108 データ吸収部
109 共有スレーブ
110 コマンドバス
111 ライトデータバス
112 リードデータバス
113 リセット制御部
116 電力制御部
117 電源装置
200 コマンド生成部
201 状態初期化コマンド生成部
202 余剰データ消去コマンド生成部
300 無効データフラグ生成部
400 クロック制御部
401 クロック要求生成部
500 キャンセル判定部
510 設定レジスタ
511 バスモニタ
512 コマンド修正部

Claims (16)

  1. 互いの間でデータ通信を行うマスタ及びスレーブと、
    前記マスタと前記スレーブとの間に介在し、前記マスタがデータ転送動作を実行できない状態になった場合には、前記マスタの代わりに前記スレーブの動作を実行完了させる転送キャンセル部とを備え、
    前記転送キャンセル部は、
    前記マスタから前記スレーブへのコマンドの発行及びデータの送出を遮断するバス遮断部と、
    前記スレーブへ発行済みのコマンドに対応して前記スレーブへ送出すべきデータを前記マスタに代わって生成するデータ生成部と、
    前記スレーブへ発行済みの前記コマンドに対応する前記スレーブからの応答データを前記マスタに代わって受信するデータ吸収部と、
    前記バス遮断部、前記データ生成部及び前記データ吸収部の制御を行う転送キャンセル制御部とを有することを特徴とするデータ処理システム。
  2. 請求項1記載のデータ処理システムにおいて、
    前記スレーブを前記マスタと共有する他のマスタと、
    前記他のマスタと前記スレーブとの間に介在し、前記他のマスタがデータ転送動作を実行できない状態になった場合には、前記他のマスタの代わりに前記スレーブの動作を実行完了させる他の転送キャンセル部とを更に備えたことを特徴とするデータ処理システム。
  3. 請求項1記載のデータ処理システムにおいて、
    前記転送キャンセル部は、前記マスタに代わってコマンドを生成するコマンド生成部を更に有し、
    前記コマンド生成部は、前記スレーブ内のステートマシンを初期状態に戻すためのコマンドを生成することを特徴とするデータ処理システム。
  4. 請求項1記載のデータ処理システムにおいて、
    前記転送キャンセル部は、前記マスタに代わってコマンドを生成するコマンド生成部を更に有し、
    前記コマンド生成部は、前記コマンドに先行して前記スレーブへ送出されたデータの処理を完了させるためのコマンドを生成することを特徴とするデータ処理システム。
  5. 請求項1記載のデータ処理システムにおいて、
    前記転送キャンセル部は、前記データ生成部で生成した前記スレーブへのデータが無効データであることを前記スレーブへ伝えるためのフラグを生成する無効データフラグ生成部を更に有することを特徴とするデータ処理システム。
  6. 請求項1記載のデータ処理システムにおいて、
    前記転送キャンセル部は、当該転送キャンセル部へのクロック供給の必要性を示す信号を生成するクロック要求生成部を更に有することを特徴とするデータ処理システム。
  7. 請求項1記載のデータ処理システムにおいて、
    前記転送キャンセル部は、転送キャンセルの必要性を判定するキャンセル判定部を更に有することを特徴とするデータ処理システム。
  8. 請求項7記載のデータ処理システムにおいて、
    前記キャンセル判定部は、前記マスタからのコマンド及びデータを監視するバスモニタを有し、
    前記転送キャンセル部は、前記バスモニタがバスプロトコル違反を検出した際に転送キャンセルを行うことを特徴とするデータ処理システム。
  9. 請求項8記載のデータ処理システムにおいて、
    前記キャンセル判定部は、バスプロトコル違反のコマンドの修正を行うコマンド修正部を有することを特徴とするデータ処理システム。
  10. 請求項7記載のデータ処理システムにおいて、
    前記キャンセル判定部は、前記マスタからのコマンド及びデータを監視するバスモニタを有し、
    前記転送キャンセル部は、設定されたアドレス領域へのアクセスを前記バスモニタが検出した際に転送キャンセルを行うことを特徴とするデータ処理システム。
  11. 請求項7記載のデータ処理システムにおいて、
    前記キャンセル判定部は、前記マスタからのコマンド及びデータを監視するバスモニタを有し、
    前記転送キャンセル部は、設定された値に該当するデータの転送を前記バスモニタが検出した際に転送キャンセルを行うことを特徴とするデータ処理システム。
  12. 請求項7記載のデータ処理システムにおいて、
    前記キャンセル判定部は、前記マスタからのコマンド及びデータを監視するバスモニタを有し、
    前記転送キャンセル部は、前記マスタのハングアップを前記バスモニタが検出した際に転送キャンセルを行うことを特徴とするデータ処理システム。
  13. 請求項12記載のデータ処理システムにおいて、
    前記バスモニタは、前記スレーブへのコマンドの発行間隔又はデータの送出間隔の計測結果をもとにして前記マスタのハングアップを検出することを特徴とするデータ処理システム。
  14. 電源装置と、電力制御機能を有する半導体集積回路とを備えた電子装置であって、
    前記半導体集積回路は、請求項1記載のデータ処理システムを有し、かつ前記電源装置から当該半導体集積回路内の各ブロックへの電力供給を前記転送キャンセル部の状態に応じて制御することを特徴とする電子装置。
  15. 複数のマスタと共有スレーブとを有するデータ処理システムのリセット方法であって、
    リセット対象マスタから前記共有スレーブへのコマンドの発行及びデータの送出を遮断する第1のステップと、
    前記第1のステップの完了後に前記リセット対象マスタのリセットを実施する第2のステップと、
    前記第2のステップと並行して、前記共有スレーブへ発行済みのコマンドに対応して前記共有スレーブへ送出すべきデータを前記リセット対象マスタに代わって生成して前記共有スレーブへ送出し、かつ前記共有スレーブへ発行済みの前記コマンドに対応する前記共有スレーブからの応答データを前記リセット対象マスタに代わって受信して破棄することにより前記共有スレーブの動作を実行完了させる第3のステップと、
    前記第3のステップの完了後に前記リセット対象マスタのリセットを解除する第4のステップとを備えたことを特徴とするリセット方法。
  16. 互いの間でデータ通信を行うマスタ及びスレーブと、
    前記マスタと前記スレーブとの間に介在し、前記マスタがデータ転送動作を実行できない状態になった場合には、前記マスタの代わりに前記スレーブの動作を実行完了させる転送キャンセル部とを備えたことを特徴とするデータ処理システム。
JP2007090540A 2007-03-30 2007-03-30 データ処理システム Pending JP2008250632A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007090540A JP2008250632A (ja) 2007-03-30 2007-03-30 データ処理システム
US12/058,566 US7860940B2 (en) 2007-03-30 2008-03-28 System and method for bus transmission cancellation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007090540A JP2008250632A (ja) 2007-03-30 2007-03-30 データ処理システム

Publications (1)

Publication Number Publication Date
JP2008250632A true JP2008250632A (ja) 2008-10-16

Family

ID=39796201

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007090540A Pending JP2008250632A (ja) 2007-03-30 2007-03-30 データ処理システム

Country Status (2)

Country Link
US (1) US7860940B2 (ja)
JP (1) JP2008250632A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010257348A (ja) * 2009-04-27 2010-11-11 Fuji Xerox Co Ltd 外部機器接続装置、信号変換装置、ネットワークシステム、印刷システム及び接続制御プログラム
WO2011043007A1 (ja) * 2009-10-06 2011-04-14 パナソニック株式会社 データ処理システム
JP2012043171A (ja) * 2010-08-19 2012-03-01 Sony Corp バスシステムおよびバスシステムと接続機器とを接続するブリッジ回路
JP2016206891A (ja) * 2015-04-21 2016-12-08 株式会社ソシオネクスト アクセス遮断回路、半導体集積回路およびアクセス遮断方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050193246A1 (en) * 2004-02-19 2005-09-01 Marconi Communications, Inc. Method, apparatus and software for preventing switch failures in the presence of faults
US8782461B2 (en) * 2010-09-24 2014-07-15 Intel Corporation Method and system of live error recovery
US20120226839A1 (en) * 2011-03-02 2012-09-06 Texas Instruments Incorporated Method and System for Monitoring and Debugging Access to a Bus Slave Using One or More Throughput Counters
JP5794137B2 (ja) * 2011-12-20 2015-10-14 富士通株式会社 制御システムおよび中継装置
DE102012021436A1 (de) * 2012-10-30 2014-04-30 Volkswagen Aktiengesellschaft Vorrichtung zum assistierenden oder automatischen Führen eines Kraftfahrzeuges
US9747186B1 (en) * 2014-12-29 2017-08-29 Richard Mourn Method for blocking bus resets in a IEEE-1394 high-performance serial bus
US11537545B2 (en) * 2020-07-31 2022-12-27 Nxp Usa, Inc. Deadlock condition avoidance in a data processing system with a shared slave

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01161942A (ja) * 1987-12-18 1989-06-26 Hitachi Ltd データ伝送装置及び方法
JPH0635849A (ja) * 1992-06-22 1994-02-10 Internatl Business Mach Corp <Ibm> バスの使用を制御する方法及びコンピュータ・システム
JPH09179817A (ja) * 1995-12-26 1997-07-11 Saitama Nippon Denki Kk バスアクセス方式
JPH11306131A (ja) * 1998-04-22 1999-11-05 Nec Saitama Ltd バス接続管理回路

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324544A (ja) * 1992-05-15 1993-12-07 Hitachi Ltd バス制御方法
US5574945A (en) 1993-11-04 1996-11-12 International Business Machines Corporation Multi channel inter-processor coupling facility processing received commands stored in memory absent status error of channels
JPH11312102A (ja) 1998-04-27 1999-11-09 Nec Eng Ltd 情報処理装置のリセットシステム
US6581116B1 (en) * 1999-11-09 2003-06-17 International Business Machines Corporation Method and apparatus for high performance transmission of ordered packets on a bus within a data processing system
JP4063529B2 (ja) * 2001-11-28 2008-03-19 Necエレクトロニクス株式会社 バスシステムおよびリトライ方法
EP1695524B1 (en) * 2003-11-21 2016-07-06 Avaya Canada Corp. Back up of network devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01161942A (ja) * 1987-12-18 1989-06-26 Hitachi Ltd データ伝送装置及び方法
JPH0635849A (ja) * 1992-06-22 1994-02-10 Internatl Business Mach Corp <Ibm> バスの使用を制御する方法及びコンピュータ・システム
JPH09179817A (ja) * 1995-12-26 1997-07-11 Saitama Nippon Denki Kk バスアクセス方式
JPH11306131A (ja) * 1998-04-22 1999-11-05 Nec Saitama Ltd バス接続管理回路

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010257348A (ja) * 2009-04-27 2010-11-11 Fuji Xerox Co Ltd 外部機器接続装置、信号変換装置、ネットワークシステム、印刷システム及び接続制御プログラム
WO2011043007A1 (ja) * 2009-10-06 2011-04-14 パナソニック株式会社 データ処理システム
JP2012043171A (ja) * 2010-08-19 2012-03-01 Sony Corp バスシステムおよびバスシステムと接続機器とを接続するブリッジ回路
CN102375797A (zh) * 2010-08-19 2012-03-14 索尼公司 总线系统以及连接总线系统和连接设备的桥接器电路
US8762616B2 (en) 2010-08-19 2014-06-24 Sony Corporation Bus system and bridge circuit connecting bus system and connection apparatus
JP2016206891A (ja) * 2015-04-21 2016-12-08 株式会社ソシオネクスト アクセス遮断回路、半導体集積回路およびアクセス遮断方法

Also Published As

Publication number Publication date
US20080244029A1 (en) 2008-10-02
US7860940B2 (en) 2010-12-28

Similar Documents

Publication Publication Date Title
JP2008250632A (ja) データ処理システム
JP4589384B2 (ja) 高速メモリモジュール
US8990513B2 (en) Accelerated recovery for snooped addresses in a coherent attached processor proxy
EP3213220B1 (en) Methods and circuits for deadlock avoidance
US8938587B2 (en) Data recovery for coherent attached processor proxy
JP2009043256A (ja) 記憶装置のアクセス方法及び装置
JP2010140361A (ja) コンピュータシステム及び異常検出回路
CN102646446A (zh) 硬件动态高速缓存电源管理
US9251076B2 (en) Epoch-based recovery for coherent attached processor proxy
JP5332905B2 (ja) バス制御システムおよび半導体集積回路
WO2010016169A1 (ja) マルチプロセッサシステム及びその制御方法
JP2012128788A (ja) 車両制御装置、データ通信方法
JP5499987B2 (ja) 共有キャッシュメモリ装置
WO2014083442A1 (en) Coherent proxy for attached processor
JP2023537109A (ja) データ処理システム間のメモリ共有をサポートする多機能通信インターフェイス
JP4894854B2 (ja) データ送信装置、データ送受信システム及びデータ送受信システムの制御方法
CN109582634B (zh) 总线系统
JP2015215684A (ja) 情報処理装置及び情報処理プログラム
JP4410270B2 (ja) バス制御装置
US9411758B2 (en) Semiconductor device
WO2011043007A1 (ja) データ処理システム
KR20220113528A (ko) 컨텍스트 정보 공유를 위한 빌보드
JP2009211419A (ja) インタフェース制御回路および情報処理装置
JP2014059661A (ja) 情報処理装置及びその制御方法、プログラム
JP6416488B2 (ja) 半導体装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120110

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120508