(57)【要約】【課題】リード要求とライト要求とが異なる信号線によって転送される場合において、処理の性能低下を抑えつつ、連続して転送されるコマンドの順番を担保すること。【解決手段】要求の発行に際して、スレーブ側において要求の順番が入れ替わったことを検知するためのコマンド番号を送信し、発行される要求を記憶媒体に一時的に保持し、スレーブにおいて要求の順番が入れ替わったことが検知されることにより再送要求を受けた場合に、一時的に保持している要求を再送することを特徴とする。【選択図】図４
2016031547.tif 000002
【特許請求の範囲】
【請求項１】
要求を発行するマスターと要求に応答するスレーブとを含み、情報の書き込み要求と読み出し要求とを異なる信号線によってやり取りする信号転送装置であって、
前記マスターが、
要求の発行に際して、スレーブ側において要求の順番が入れ替わったことを検知するための順番整合情報を送信し、
発行される要求を記憶媒体に一時的に保持し、
前記スレーブにおいて要求の順番が入れ替わったことが検知されることにより再送要求を受けた場合に、一時的に保持している要求を再送し、
前記スレーブが、
前記順番整合情報に基づいて要求の順番が入れ替わったことを検知した場合に、受け付けた要求を破棄すると共に要求に対する応答としてエラーを示す応答を行うことを特徴とする信号転送装置。
【請求項２】
前記マスターは、情報の書き込み要求と読み出し要求とで共通して連番となる番号を示す情報を前記順番整合情報として送信し、
前記スレーブは、要求の受信に際して受信した前記順番整合情報が示す番号が連番ではなかった場合に要求の順番が入れ替わったことを検知することを特徴とする請求項１に記載の信号転送装置。
【請求項３】
前記スレーブは、最も新しく受信された順番整合情報を記憶する記憶部と、１つ前に受信された順番整合情報を記憶する記憶部とを含み、最も新しく受信された順番整合情報が示す番号が１つ前に受信された順番整合情報と連番ではなかった場合に、要求の順番が入れ替わったことを検知し、最も新しく受信された要求を破棄すると共にその要求に対応する応答としてエラーを示す応答を行うことを特徴とする請求項２に記載の信号転送装置。
【請求項４】
前記マスターは、書き込み要求の後に読み出し要求が連続する場合において、前記書き込み要求の直前の要求に際して追い越し禁止を示す識別子を前記順番整合情報として送信し、
前記スレーブは、前記追い越し禁止を示す識別子を受信した直後に読み出し要求を受信した場合に要求の順番が入れ替わったことを検知することを特徴とする請求項１に記載の信号転送装置。
【請求項５】
前記マスターは、連続する要求において情報の書き込み及び読み出しの対象のアドレスが重複している場合にのみ前記順番整合情報を送信することを特徴とする請求項１乃至４いずれか１項に記載の信号転送装置。
【請求項６】
前記スレーブは、連続する要求において情報の書き込み及び読み出しの対象のアドレスが重複している場合にのみ前記順番整合情報に基づいて要求の順番が入れ替わったことを検知することを特徴とする請求項１乃至４いずれか１項に記載の信号転送装置。
【請求項７】
前記マスターは、前記順番整合情報を前記要求のサイドバンド信号として発行することを特徴とする請求項１乃至６いずれか１項に記載の信号転送装置。
【請求項８】
前記マスターは、前記順番整合情報を前記要求に含めて発行することを特徴とする請求項１乃至６いずれか１項に記載の信号転送装置。
【請求項９】
要求を発行するマスターと要求に応答するスレーブとを含み、情報の書き込み要求と読み出し要求とを異なる信号線によってやり取りする信号転送装置の制御方法であって、
前記マスターにおいて、
要求の発行に際して、スレーブ側において要求の順番が入れ替わったことを検知するための順番整合情報を送信し、
発行される要求を記憶媒体に一時的に保持し、
前記スレーブにおいて要求の順番が入れ替わったことが検知されることにより再送要求を受けた場合に、一時的に保持している要求を再送し、
前記スレーブにおいて、
前記順番整合情報に基づいて要求の順番が入れ替わったことを検知した場合に、受け付けた要求を破棄すると共に要求に対する応答としてエラーを示す応答を行うことを特徴とする信号転送装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号転送装置及び信号転送装置の制御方法に関し、特に、連続して転送されるコマンドの順番の担保に関する。
【背景技術】
【０００２】
情報処理装置においてマスターからスレーブに対して信号を転送する際のプロトコルとして、ＡＸＩ（Ａｄｖａｎｃｅｄ  ｅＸｔｅｎｓｉｂｌｅ  Ｉｎｔｅｒｆａｃｅ）プロトコルのような、マスターからスレーブまでのデータ転送経路においてリード要求とライト要求とが異なる信号線によって転送される転送プロトコルがある。
【０００３】
ＯＣＰ（Ｏｐｅｎ  Ｃｏｒｅ  Ｐｒｏｔｏｃｏｌ）のような、リード要求とライト要求とが同一の信号線によって転送される転送プロトコルの場合、同一のマスターから出力されたリード要求とライト要求とは前後関係を保ったままスレーブに転送される。
【０００４】
これに対して、上述したＡＸＩプロトコルの場合、経路上のバッファや他のマスターから発行されたリード／ライト要求との調停によって発生する待ち時間により、同一のマスターから出力されたリード要求とラインと要求との前後関係が逆転してしまう場合がある。
【０００５】
その結果、例えば同一アドレスに対するライト要求をリード要求が追い越した場合、追い越されたライト要求によって書き換えられる前のデータがリードされることとなり、リード要求を発行したマスターの意図に反した間違ったデータが返ってしまうことになる。また、同一アドレスに対するリード要求をライト要求が追い越した場合、追い越したライト要求が、リードにより不要となったデータに対する上書き命令であった場合には、追い越されたリード要求が本来読み出すはずであったデータが上書きされてしまうこととなる。
【０００６】
このようなリード／ライト要求の前後関係を保つ仕組みとして、先に発行されるコマンドのレスポンスを待ってから、後のコマンドを発行する方法が既に知られている。しかしながら、このような方法の場合、先のコマンドのレスポンスを待つ分、処理が遅れてしまう。従って、リード処理とライト処理とが頻繁に入れ替わりながらメモリにアクセスするような処理の場合、処理の性能低下が著しい。
【０００７】
これに対して、上述したような先に発行されるコマンドのレスポンスを待つ場合を限定することにより、性能低下を抑える方法が提案されている（例えば、特許文献１参照）。特許文献１では、ライトコマンドのアドレス情報を保持し、新たに転送しようとするリードコマンドのアドレスが先に発行したライトコマンドのアドレスと重複していた場合に、レスポンスが返ってくるのを待ってからリードコマンドを発行する。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１の方法を用いる場合、先に発行されるコマンドのレスポンスを待つ機会は低減されるが、それでもライトコマンドとリードコマンドとが頻繁に入れ替わるような処理の場合にはそのような機会が多く、生産性の低下は避けられない。
【０００９】
本発明は、このような課題を解決するためになされたものであり、リード要求とライト要求とが異なる信号線によって転送される場合において、処理の性能低下を抑えつつ、連続して転送されるコマンドの順番を担保することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明の一態様は、要求を発行するマスターと要求に応答するスレーブとを含み、情報の書き込み要求と読み出し要求とを異なる信号線によってやり取りする信号転送装置であって、前記マスターが、要求の発行に際して、スレーブ側において要求の順番が入れ替わったことを検知するための順番整合情報を送信し、発行される要求を記憶媒体に一時的に保持し、前記スレーブにおいて要求の順番が入れ替わったことが検知されることにより再送要求を受けた場合に、一時的に保持している要求を再送し、前記スレーブが、前記順番整合情報に基づいて要求の順番が入れ替わったことを検知した場合に、受け付けた要求を破棄すると共に要求に対する応答としてエラーを示す応答を行うことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、リード要求とライト要求とが異なる信号線によって転送される場合において、処理の性能低下を抑えつつ、連続して転送されるコマンドの順番を担保することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係る信号転送装置の構成を示すブロック図である。
【図２】本発明の実施形態に係る信号転送装置においてマスター側となる画像処理装置の構成を示すブロック図である。
【図３】本発明の実施形態に係る信号転送装置においてスレーブ側となるプロトコル変換装置の構成を示すブロック図である。
【図４】本発明の実施形態に係るマスター側の動作を示すフローチャートである。
【図５】本発明の実施形態に係るスレーブ側の動作を示すフローチャートである。
【図６】従来技術に係る信号転送の態様を示すタイミングチャートである。
【図７】本発明の実施形態に係る信号転送の態様を示すタイミングチャートである。
【図８】本発明の実施形態に係る信号転送の態様を示すタイミングチャートである。
【図９】本発明の実施形態に係る信号転送装置においてマスター側となる画像処理装置の構成を示すブロック図である。
【図１０】本発明の実施形態に係る追い越し禁止フラグの設定態様を示す図である。
【図１１】本発明の実施形態に係る信号転送装置においてスレーブ側となるプロトコル変換装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１３】
実施の形態１．
以下、図面を参照して、本発明の実施形態について説明する。本実施系形態においては、印刷ジョブに従って画像形成出力を実行する画像形成装置において、出力対象の画像が画素毎に記述された画素情報を生成する際の画像処理を行う画像処理部が共有メモリとの間で情報をやり取りする際の転送制御について説明する。図１は、本実施形態に係る信号転送装置を含む画像形成装置の一部を示す図である。
【００１４】
図１に示すように、本実施形態に係る画像形成装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１、共有メモリ１０２、メモリコントローラ１０３、内部バス１０４、画像処理装置Ａ１０５、プロトコル変換装置１０６、画像処理装置Ｂ１０７を含む。
【００１５】
ＣＰＵ１０１は、所定のプログラムに従って演算を行うことにより画像形成装置１全体を制御する演算装置である。ＣＰＵ１０１は、画像処理装置Ａ１０５や内部バス１０４への動作モード設定、起動指示、共有メモリ１０２のアドレス管理を行う。
【００１６】
共有メモリ１０２は、ＣＰＵ１０１が処理を実行する際の処理領域や、画像処理装置Ａ１０５、画像処理装置Ｂ１０７が処理する画像情報を一時的に格納する記憶媒体であり、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）によって構成される。
【００１７】
メモリコントローラ１０３は、共有メモリ１０２へのアクセスを制御する。メモリコントローラ１０３は、共有メモリ１０２へのリード要求とライト要求とを同一の信号線を用いて転送するプロトコルに従ってリード要求、ライト要求を取得し、共有メモリ１０２に対するマスターとしてデータの出し入れ等の制御を行う。
【００１８】
尚、本実施形態に係るメモリコントローラ１０３は、リード要求とライト要求とを同一の信号線を用いて転送するプロトコルに従うが、これは一例であり、ＰＣＩｅ  ＥｘｐｒｅｓｓバスやＯＣＰ（Ｏｐｅｎ  Ｃｏｒｅ  Ｐｒｏｔｏｃｏｌ）規格を用いても良い。
【００１９】
内部バス１０４は、リード要求とライト要求とを異なる信号線を用いて転送するプロトコルに従って信号転送を行う。内部バス１０４のプロトコルとしては、例えば、ＡＸＩ（Ａｄｖａｎｃｅｄ  ｅＸｔｅｎｓｉｂｌｅ  Ｉｎｔｅｒｆａｃｅ）プロトコルが用いられる。
【００２０】
本実施形態に係る内部バス１０４は、共有メモリ１０２にアクセスする各マスターのアクセス順番を制御するデータバスである。システムとして共有メモリを効率的に利用できるように優先順位を調停する役割を持つが、リード要求とライト要求とが異なる信号線を用いて転送されるため、ライト要求とリード要求の転送順番についての制御は行わない。また、本実施形態に係る内部バス１０４は、サイドバンド信号としてリードアドレスフェースと同期したリードコマンド番号信号線とライトアドレスフェーズと同期したライトコマンド番号信号線を備える。
【００２１】
画像処理装置Ａ１０５、画像処理装置Ｂ１０７は、共有メモリ１０２への画像情報の書き込み及び共有メモリ１０２からの画像情報の読み出しを繰り返しながら上述した画素情報を生成する画像処理を実行する。画像処理装置Ａ１０５、画像処理装置Ｂ１０７は、内部バス１０４と同様に、リード要求とライト要求とを異なる信号線を用いて転送するプロトコルに従って信号転送を行う。
【００２２】
プロトコル変換装置１０６は、内部バス１０４とメモリコントローラ１０３との間で動作し、共有メモリ１０２へのリード要求とライト要求とを同一の信号線を用いて転送するプロトコルと、リード要求とライト要求とを異なる信号線を用いて転送するプロトコルとを相互に変換する。
【００２３】
ＣＰＵ１０１、画像処理装置Ａ１０５、画像処理装置Ｂ１０７がマスター側として内部バス１０４に対してリード要求及びライト要求を発行し、内部バス１０４によって行われる調停結果に従って順に共有メモリ１０２にアクセスする。画像処理装置Ａ１０５と画像処理装置Ｂ１０７とは同一の機能を有するため、以降の説明においては画像処理装置Ａ１０５のみについて説明する。本実施形態においては、画像処理装置Ａ１０５とプロトコル変換装置１０６とが連動して信号転送装置として用いられる。
【００２４】
画像処理装置Ａ１０５、内部バス１０４及びプロトコル変換装置１０６は、リード要求ａｒ、ライト要求ａｗを転送するアドレスバスのサイドバンド信号としてそれぞれリードコマンド番号信号及びライトコマンド番号信号が接続されている。リード要求ａｒに対してはリードレスポンスｒが返る。他方、ライト要求ａｗと共にライトデータｗが送信され、ライトレスポンスｂが返る。
【００２５】
リードコマンド番号、ライトコマンド番号は、共通して連番となっており、画像処理装置Ａ１０５が実行する画像処理の流れに従って発生するリード要求、ライト要求の順に連番となっている。即ち、画像処理装置Ａ１０５は、リード要求及びライト要求を含めて連番となっているコマンド番号を、リード要求、ライト要求と共に発行する。
【００２６】
プロトコル変換装置１０６は、内部バス１０４を介して上述したリード要求、ライト要求と共に、再度バンド信号であるコマンド番号を取得し、このコマンド番号が連番となっているか否かを確認することにより、コマンドの追い越し有無を確認する。即ち、本実施形態においては、リードコマンド番号、ライトコマンド番号が、スレーブ側において要求の順番が入れ替わったことを検知するための順番整合情報として用いられる。リード要求やライト要求が連番で入力されていれば、コマンドの追い越しはなかったものとして、入力されたコマンドのプロトコルを変換してメモリコントローラ１０３に出力する。
【００２７】
他方、リード要求、ライト要求と共に取得されたコマンド番号に番号の飛びが発生した場合には、内部バス１０４においてコマンドの追い越しが発生したものと判断する。その場合、プロトコル変換装置１０６は、追い越しにより入力されたコマンドをメモリコントローラ１０３には入力せずに破棄し、内部バス１０４に対してエラーレスポンスを返すことにより、コマンドの再送を求める。
【００２８】
画像処理装置Ａ１０５は、内部にリードコマンド、ライトコマンドを保持するバッファを含み、プロトコル変換装置１０６からコマンドの再送要求を受信した場合、バッファに保持されているコマンドを再送する。このような処理により、ライト要求とリード要求の順番を正しく保つことが、本実施形態に係る要旨である。
【００２９】
次に、図２を参照して本実施形態に係る画像処理装置Ａ１０５の機能について更に詳細に説明する。画像処理装置Ａ１０５は、リードコマンド番号及びライトコマンド番号の生成と、リード要求、ライト要求に対してエラーレスポンスがあった場合の要求再送を行うため以下のような構成を有する。
【００３０】
図２に示すように、画像処理装置Ａ１０５は、リードコマンド転送部２０１、ライトコマンド＆データ転送部２０２、コマンド番号生成部２０３、リードレスポンス受信部２０４、ライトレスポンス受信部２０５を含む。リードコマンド転送部２０１は、画像処理対象のデータを共有メモリ１０２から読み出すためのリード要求を転送する。
【００３１】
リード要求ａｒの発行に際して、リードコマンド転送部２０１は、コマンド番号生成部２０３に対してリードコマンド番号要求を行い、リードコマンド番号の発行を受ける。これにより、リードコマンド転送部２０１は、リードコマンドａｒのサイドバンド信号としてリードコマンド番号を転送する。
【００３２】
また、リードコマンド転送部２０１は、内部にリードコマンドバッファ５０１を備え、リードコマンドａｒとして転送するリードコマンドを一時的に保持する。そして、リードレスポンス受信部２０４がリードレスポンスｒとしてエラーを示すレスポンスを受けた場合、リードコマンド転送部２０１は、リードレスポンス受信部２０４からの再送要求に応じてリードコマンドバッファ５０１に保持されているリードコマンドを再送する。
【００３３】
他方、リードレスポンス受信部２０４がリードレスポンスｒとしてリード完了通知を受けた場合、リードコマンド転送部２０１は、リードコマンドバッファ５０１に保持されているリードコマンドを破棄する。
【００３４】
ライトコマンド＆データ転送部２０２は、画像処理装置Ａ１０５による画像処理後のデータを共有メモリ１０２に書き込む手段である。ライト要求ａｗの発行に際して、ライトコマンド＆データ転送部２０２は、コマンド番号生成部２０３に対してライトコマンド番号要求を行い、ライトコマンド番号の発行を受ける。これにより、ライトコマンド＆データ転送部２０２は、ライトコマンドａｗのサイドバンド信号としてライトコマンド番号を転送する。
【００３５】
また、ライトコマンド＆データ転送部２０２は、内部にライトコマンドバッファ５０２を備え、ライトコマンドａｗとして転送するライトコマンドを一時的に保持する。そして、ライトレスポンス受信部２０５がライトレスポンスｂとしてエラーを示すレスポンスを受けた場合、ライトコマンド＆データ転送部２０２は、ライトレスポンス受信部２０５からの再送要求に応じてライトコマンドバッファ５０２に保持されているライトコマンドを再送する。この際、ライトデータは、画像処理装置Ａ１０５の内部から再び供給される。
【００３６】
他方、ライトレスポンス受信部２０５がライトレスポンスｂとしてライト完了通知を受けた場合、ライトコマンド＆データ転送部２０２は、ライトコマンドバッファ５０２に保持されているライトコマンドを破棄する。
【００３７】
コマンド番号生成部２０３は、リードコマンド転送部２０１のリードコマンド番号要求及びライトコマンド＆データ転送部２０２のライトコマンド番号要求に従ってそれぞれリードコマンド番号及びライトコマンド番号を発行する手段である。コマンド番号は連番で生成され、リード及びライトコマンド番号として発行される。コマンド番号は画像処理装置Ａ１０５としてメモリアクセスしたい順番を示し、内部バス１０４を通してプロトコル変換装置１０６に伝達される。
【００３８】
リードレスポンス受信部２０４は、内部バス１０４からリードレスポンスを受け取り、画像処理機能にデータを転送する機能である。上述した通り、レスポンスがエラーであった場合、リードレスポンス受信部２０４は、データ転送を行わずにリードコマンド転送部２０１に再送要求を発行し、エラーでなかった場合はリード完了通知を発行する。
【００３９】
ライトレスポンス受信部２０５は、内部バス１０４からライトレスポンスを受けとる。上述した通り、レスポンスがエラーであった場合、ライトレスポンス受信部２０５は、ライトコマンド＆データ転送部２０２に再送要求を発行し、エラーでなかった場合は、ライト完了通知を発行する。
【００４０】
次に、図３を参照して本実施形態に係るプロトコル変換装置１０６の機能について更に詳細に説明する。プロトコル変換装置１０６は、リード要求とライト要求とが異なる信号線を用いて転送されるプロトコルから、リード要求とライト要求を同一の信号線を用いて転送されるプロトコルに変換するにあたり、リード要求とライト要求をシリアルに並べる機能を持つ。また、各コマンドの受信時において、コマンドの追い越しが発生していないか否かを確認し、追い越していた場合はそのコマンドの要求をメモリコントローラ１０３に転送せずにエラーレスポンスとして内部バス１０４に返送する。以上の機能を実現するため以下の手段を備える。
【００４１】
図３に示すように、プロトコル変換装置１０６は、コマンド＆ライトデータプロトコル変換部３０１、ライトレスポンス生成部３０２及びリードレスポンスプロトコル変換部３０３を含む。コマンド＆ライトデータプロトコル変換部３０１は、シリアル化処理部４０１においてリード要求ａｒ、リードコマンド番号、ライト要求ａｗ、ライトデータｗ及びライトコマンド番号を受信し、リード要求ａｒとライト要求ａｗとを同一のコマンドバスに転送するためにシリアルに並べて出力する。
【００４２】
シリアル化処理部４０１の出力はコマンド＆データバッファ４０２に接続されている。また、コマンド＆データバッファ４０２にはコマンド＆データバッファ４０３が接続されており、２つのバッファが直列に接続されている。これら２つのバッファは、プロトコル変換装置１０６が受信した要求を記憶しておく記憶部である。
【００４３】
コマンド＆データバッファ４０２は、受信されたコマンドのうち最新のものを保持している。コマンド＆データバッファ４０３は、コマンド＆データバッファ４０２に対してシリアル化処理部４０１から新たなコマンドが出力されて格納される際に、それまでコマンド＆データバッファ４０２に格納されていたコマンド番号、即ち、１つ前に受信された要求のコマンド番号を取得して保持する。これにより、コマンド＆データバッファ４０２、４０３には、プロトコル変換装置１０６に連続して入力されたコマンド番号が夫々格納されることとなる。
【００４４】
番号確認部４０４は、コマンド＆データバッファ４０２に格納されたコマンド番号がコマンド＆データバッファ４０３に格納されたコマンド番号と連番になっているか確認する。そして、連番になっていた場合には、コマンドの追い越しが発生していないと判断し、コマンド出力部４０５に対してＯＫ通知を行う。これにより、コマンド出力部４０５は、コマンド＆データバッファ４０２に格納されているコマンドａ及びライトコマンドの場合にはライトコマンドｗを、メモリコントローラ１０３に対応したプロトコルに変換して出力する。
【００４５】
また、追い越しが発生していない場合、番号確認部４０４は、コマンド＆データバッファ４０２に格納されているコマンドがライトコマンドである場合には、ライトレスポンス生成部３０２に対してＯＫ通知を行う。これにより、ライトレスポンス生成部３０２は、内部バス１０４に対して、ライト要求に対する応答として画像処理装置Ａ１０５宛のライトレスポンスｂを発行する。
【００４６】
他方、番号確認部４０４は、コマンド＆データバッファ４０２に格納されたコマンド番号がコマンド＆データバッファ４０３に格納されたコマンド番号と連番になっていない場合、コマンドの追い越しが発生していると判断する。コマンドの追い越しが発生していると判断した場合、番号確認部４０４は、コマンド＆データバッファ４０２に格納されているコマンドを破棄すると共に、コマンドの種類に応じてライトレスポンス生成部３０２及びリードレスポンスプロトコル変換部３０３に対してＮＧ通知を行う。
【００４７】
ライトレスポンス生成部３０２は、番号確認部４０４からのＯＫ通知、ＮＧ通知に応じて、ライト要求に対する応答として上述した通り内部バス１０４に対して画像処理装置Ａ１０５宛のライトレスポンスｂを発行する。リードレスポンスプロトコル変換部３０３は、メモリコントローラ１０３から受信したリードレスポンスｒ´をプロトコル変換してリード要求に対する応答であるリードレスポンスｒとして内部バス１０４に発行する。
【００４８】
また、リードレスポンスプロトコル変換部３０３は、番号確認部４０４からＮＧ通知を受けた場合、リードレスポンスｒにエラー情報を付加してリード要求に対する応答として内部バス１０４に発行する。このように、マスター側である画像処理装置Ａ１０５における信号転送機能と、スレーブ側であるプロトコル変換装置１０６における信号転送機能とで本実施形態に係る信号転送装置が構成される。
【００４９】
そして、本実施形態に係る信号転送装置においては、マスター側においてコマンドに通し番号を付し、スレーブ側において通し番号が連続していることを確認することにより、コマンドの追い越し有無を確認する。以下、マスター側及びスレーブ側の動作について説明する。
【００５０】
図４は、マスター側、即ち画像処理装置Ａ１０５による処理を示すフローチャートである。図４に示すように、画像処理装置Ａ１０５における処理に応じて、リードコマンド転送部２０１若しくはライトコマンド＆データ転送部２０２に情報が通知されることによりコマンドが発生する（Ｓ４０１）。ここでは、リードコマンドが発生したものとして説明するが、ライトコマンドの場合も同様である。
【００５１】
コマンドが発生すると、リードコマンド転送部２０１は、コマンド番号生成部２０３にリードコマンド番号を要求する（Ｓ４０３）。これにより、コマンド番号生成部２０３からリードコマンド転送部２０１に対してリードコマンド番号が発行される。リードコマンド番号を取得したリードコマンド転送部２０１は、取得したリードコマンド番号と共にリード要求のコマンドを内部バス１０４に発行する（Ｓ４０３）。また、リードコマンドバッファ５０１にリードコマンドを蓄積する。
【００５２】
リードコマンド転送部２０１がリードコマンドを発行すると、プロトコル変換装置１０６からのリードレスポンスがリードレスポンス受信部２０４によって受信される。リードレスポンス受信部２０４が受信したリードレスポンスがエラーレスポンスであった場合（Ｓ４０５／ＮＯ）、リードレスポンス受信部２０４は、リードコマンド転送部２０１に対して再送要求を通知する（Ｓ４０９）。
【００５３】
再送要求を受けたリードコマンド転送部２０１は、リードコマンドバッファ５０１に格納されているリードコマンドを再度内部バス１０４に対して発行し（Ｓ４１０）、Ｓ４０５からの処理を繰り返す。他方、リードレスポンス受信部２０４が受信したレスポンスがエラーレスポンスでなく正常にリードされたことを示すレスポンスであれば（Ｓ４０５／ＹＥＳ）、リードレスポンス受信部２０４はリード完了通知をリードコマンド転送部２０１に発行する（Ｓ４０６）。
【００５４】
リード完了通知を受けたリードコマンド転送部２０１は、リードコマンドバッファ５０１に保持していたリードコマンドを破棄する（Ｓ４０７）。画像処理装置Ａ１０５は、１ページ分の画像処理が完了するまで、順次発生するリート要求、ライト要求に応じてＳ４０１からの処理を繰り返し（Ｓ４０８／ＮＯ）、１ページ分の画像処理が完了したら（Ｓ４０８／ＹＥＳ）、処理を終了する。
【００５５】
図５は、スレーブ側、即ちプロトコル変換装置１０６による処理を示すフローチャートである。図４において説明したようにマスター側の処理が実行されることにより、スレーブ側であるプロトコル変換装置１０６にコマンドが発生する（Ｓ５０１）。
【００５６】
コマンドが発生すると、シリアル化処理部４０１は、受信したコマンド、コマンド番号及びライトコマンドの場合はライトデータをコマンド＆データバッファ４０２に記憶させる（Ｓ５０２）。これにより、それまでコマンド＆データバッファ４０２に記憶されていたコマンド、即ち、直前に入力されたコマンドのコマンド番号はコマンド＆データバッファ４０３に記憶される。結果的に、コマンド＆データバッファ４０２、４０３には、連続して受信されたコマンドのコマンド番号が蓄積される。
【００５７】
新たなコマンドが蓄積されると、番号確認部４０４がコマンド＆データバッファ４０２、４０３夫々に記憶されているコマンド番号を参照する。そして、コマンド＆データバッファ４０２に記憶されているコマンド番号が、コマンド＆データバッファ４０３に記憶されているコマンド番号と連番であるか否か確認する（Ｓ５０３）。
【００５８】
Ｓ５０３の判断の結果、コマンド番号が連番であった場合（Ｓ５０３／ＹＥＳ）、番号確認部４０４は、コマンド出力部４０５に対して連番であることを確認したＯＫ通知を行う（Ｓ４０５）。これにより、コマンド出力部４０５は、コマンド＆データバッファ４０２に格納されているコマンドのプロトコルを変換してメモリコントローラ１０３に出力する（Ｓ５０５）。
【００５９】
また、コマンド＆データバッファ４０２に記憶されているコマンドがライトコマンドであった場合には、Ｓ５０５においてライトデータも出力する。また、コマンド＆データバッファ４０２に記憶されているコマンドがライトコマンドであった場合、Ｓ５０４において番号確認部４０４は、ライトレスポンス生成部３０２に対してもＯＫ通知を行う。これにより、ライトレスポンス生成部３０２は、ライト要求が正常に処理されたことを示すライトレスポンスｂを出力する。
【００６０】
Ｓ５０３の確認の結果、コマンドが連番ではなかった場合（Ｓ５０３／ＮＯ）、番号確認部４０４は、コマンドの種類に応じてライトレスポンス生成部３０２、リードレスポンスプロトコル変換部３０３のいずれかに連番エラー通知を行う。これにより、通知を受けたライトレスポンス生成部３０２、リードレスポンスプロトコル変換部３０３は、エラーレスポンスを内部バス１０４に対して発行する。
【００６１】
また、番号確認部４０４は、コマンド＆データバッファ４０２に記憶されているコマンド等をコマンド出力部４０５に出力させずに破棄する（Ｓ５０８）。プロトコル変換装置１０６は、コマンドが発生するたびにＳ５０１からの処理を繰り返す。
【００６２】
次に、本実施形態に係る信号転送装置を用いた場合の効果について説明する。図６は、本実施形態に係る比較例として、先に発行したライトコマンドのレスポンスを待ってから次のリードコマンドを発行する場合の処理のタイミングを示す図である。図６に示すように、先に発行したライトコマンドのレスポンスを待ってから次のリードコマンドを発行する場合、タイミングｔ１でリードが完了する。
【００６３】
図７は、本実施形態に係る処理であり、先に発行したライトコマンドのレスポンスを待つことなく次のリードコマンドを発行する場合の処理のタイミングを示す図である。図７に示すように、先に発行したライトコマンドのレスポンスを待つことなく次のリードコマンドを発行する場合、レスポンスを待つ必要がないため、タイミングｔ１よりも大幅に時間が短縮されたタイミングｔ２においてリードが完了する。
【００６４】
但し、図７の処理を行う場合、内部バス１０４の状況などにより、後から発行したリードコマンドがライトコマンドを追い越す場合がある。図８は、そのような場合の処理のタイミングを示す図である。図８に示すように、後から発行したリードコマンドが先に発行したライトコマンドを追い越した場合、リードレスポンスとしてエラーレスポンスが返る。
【００６５】
これにより、上述したようにリードコマンドが再発行されることとなる。リードコマンドが再発行される間に、先に発行されたライトコマンドが完了しているため、再発行されたリードコマンドも正常に処理され、リードコマンドが完了する。
【００６６】
このように、本実施形態に係る信号転送装置によれば、リード要求とライト要求とが異なる信号線を用いて転送されるプロトコルにおいて、先に発行されたリード／ライトのいずれか一方の要求のレスポンスを待つことなく、リード／ライトの他方の次の要求を発行する。その際、要求の順番に応じた通し番号を付して要求を発行する。
【００６７】
スレーブ側においては、コマンドの通し番号に飛びが発生した場合に、そのコマンドを転送せずに破棄して再送要求を行う。そして、図８に示すように、コマンドが再送される間に追い越されたコマンドが処理されることとなり、続いて再送されたコマンドが適切に処理される。
【００６８】
このように、本実施形態に係る信号転送装置によれば、画像処理装置Ａ１０５は、通常は要求に対するレスポンスを待つことなく次のコマンドを転送して処理を迅速化する。そして、後から発行されたコマンドが先に発行されたコマンドを追い越してスレーブに到達した場合には、信号を再送する。このため、処理に遅延が生じるのは、信号の追い越しが生じた場合のみであり、リード要求とライト要求とが異なる信号線によって転送される場合において、処理の性能低下を抑えつつ、連続して転送されるコマンドの順番を担保することができる。
【００６９】
尚、上記実施形態においては、画像処理装置Ａ１０５から発行される全てのコマンドについてコマンド番号を付加し、全てのコマンドの順番を担保する場合を例としている。しかしながらこれは一例である。コマンドの追い越しを防ぐ必要があるのは、例えば、同一のアドレスに対するリード／ライトが連続する場合である。
【００７０】
従って、上述したコマンドの順番を担保するための機能を、連続するコマンドであって対象のアドレスが重複している場合等、特定のコマンドに限っても良い。そのような態様は、画像処理装置Ａの上位側の処理機能から、順番を担保するべきコマンドの通知を受けることにより可能である。
【００７１】
例えば、リードコマンド転送部２０１、ライトコマンド＆データ転送部２０２は、コマンドを発行する際、上位の処理機能からコマンドの順番を担保する必要があることを示すフラグを受信した場合に、リードコマンド、ライトコマンドにフラグ情報を付加する。そして、プロトコル変換装置１０６において、番号確認部４０４は、フラグ情報が付加されたコマンドについてのみ、図５のＳ５０３の処理を行う。このような処理により、順番を担保する必要のないコマンドについては連番の確認及び再送要求が行われないため、不要な再送要求を排除し、処理の遅延をなくすことが出来る。
【００７２】
また、スレーブ側であるプロトコル変換装置１０６において、要求の追い越し確認を行うコマンドを限定することも可能である。例えば、番号確認部４０４が、コマンド＆データバッファ４０２、４０３夫々に格納されたコマンドの対象アドレスを確認し、対象アドレスが重複している場合にのみ、コマンド番号の連番確認を行うようにしても良い。
【００７３】
また、上記実施形態においては、ＡＸＩプロトコルを例とし、サイドバンド信号としてコマンド番号を通知する場合を例として説明した。しかしながら、これは一例であり、要求の発行に際して、リード要求とライト要求とで共有して連番となる番号を示す情報をスレーブ側に通知すれば、上記と同様の効果を得ることが可能である。
【００７４】
サイドバンド信号を定義することができないプロトコルの場合、例えば要求に含まれるアドレス信号にコマンド番号を追加して転送する態様を用いることが出来る。この場合、プロトコル変換装置１０６においては、番号確認部４０４がリード要求、ライト要求を構成するビットのうち、コマンド番号が格納されているビットを確認することにより上記と同様の処理を実現可能である。
【００７５】
また、コマンド出力部４０５は、番号確認部４０４からのＯＫ通知に応じてプロトコル変換を行ってメモリコントローラ１０３に要求を転送する際、コマンド番号が格納されているビットを削除する。これにより、上記と同様の効果を得ることが可能となる。
【００７６】
また、画像処理装置Ａ１０５のリードコマンド転送部２０１及びライトコマンド＆データ転送部２０２においては、再送要求の回数や単位時間あたりの再送要求の頻度を把握することが可能である。従って、再送要求の頻度が所定の閾値を超えた場合には、リード要求、ライト要求が連続して発行される場合に、一方の要求が発行された後、他方の要求を発行するまでの間隔を調整して遅らせることが好ましい。
【００７７】
これにより、要求の追い越しが発生する可能性を低減し、処理の遅延が生じる回数を低減することが出来る。このような判断は、画像処理装置Ａ１０５のより上位の機能において実現することが出来る。即ち、画像処理装置Ａ１０５においてリードコマンド転送部２０１及びライトコマンド＆データ転送部２０２に転送要求を指示する上位機能が、リードコマンド転送部２０１及びライトコマンド＆データ転送部２０２に発生した再送要求を監視する。そして、再送要求の頻度が所定の閾値を超えた場合には、リード要求、ライト要求が連続して発行される場合に、一方の要求が発行された後、他方の要求を発行するまでの間隔を調整して遅らせることにより実現可能である。
【００７８】
実施の形態２．
実施の形態１においては、リード要求及びライト要求の全てで連番となるコマンド番号を付与することによりコマンドの順番を担保する場合を例として説明した。本実施形態においては、追い越しを防ぐべきコマンドの種類を限定し、コマンドに付与したフラグによってコマンドの追い越しを検知する態様について説明する。尚、実施の形態１と同一の符号を付す構成については同一または相当部を示すものとし、詳細な説明を省略する。
【００７９】
本実施形態においては、リードコマンドによるライトコマンドの追い越しを防ぐことを目的とした態様について説明する。同一アドレスに対してライトコマンドの後にリードコマンドが配置されている場合、そのリードコマンドによって読み出されるべきデータは直前のライトコマンドによって書き込まれたデータであることが想定されている。
【００８０】
しかしながら、そのリードコマンドがライトコマンドを追い越してしまうと、直前のライトコマンドによって書き込まれたデータではないデータがリードされることとなってしまい、以降の処理が適切に実行されなくなってしまう。本実施形態においては、そのような不具合を防ぐため、リードコマンドによるライトコマンドの追い越しを防ぐことを前提として説明する。
【００８１】
図９は、本実施形態に係る画像処理装置Ａ１０５の構成を示す図である。図９に示すように、本実施形態に係る画像処理装置Ａ１０５は、コマンド番号生成部２０３に替えて追い越し禁止判定部２０６を含む。また、本実施形態においては、ライトコマンドの再送要求は発生しないため、ライトコマンド＆データ転送部２０２はコマンドバッファを含まず、発生したコマンドを転送するのみである。
【００８２】
リードコマンド転送部２０１は、実施の形態１と同様に、画像処理対象のデータを共有メモリ１０２から読み出すためのリード要求を転送する。本実施形態に係るリードコマンド転送部２０１は、リードコマンド番号ではなく、追い越し禁止フラグを出力する。図１０は、本実施形態に係る追い越し禁止フラグの設定対象を示す図である。
【００８３】
図１０に示すように、リード要求１０ａ、ライト要求１０ｂ、リード要求１０ｃの順にコマンドが転送される場合において、リード要求１０ｃによるライト要求１０ｂの追い越しを禁止する場合を考える。この場合、本実施形態に係るリードコマンド転送部２０１は、リード要求１０ａのタイミングで追い越し禁止フラグを転送する。
【００８４】
そのため、追い越し禁止判定部２０６は、リード要求１０ａのタイミングでリードコマンド転送部２０１に対して追い越し禁止指示を行う。これにより、リードコマンド転送部２０１は、リード要求１０ａのタイミングで追い越し禁止フラグを転送する。追い越し禁止判定部２０６は、画像処理部Ａ１０５のより上位の機能から通知を受けることにより、図１０に示すリード要求１０ａのタイミングで追い越し禁止指示を行う。
【００８５】
即ち、本実施形態に係る追い越し禁止フラグは、追い越し禁止を示す識別子であり、ライト要求の後にリード要求が連続する場合において、ライト要求の直前に発行される要求に際して送信される識別子である。本実施形態においては、この追い越し禁止フラグが順番整合情報として用いられる。
【００８６】
画像処理装置Ａ１０５の上位の機能においては、画像処理の内容や流れに応じて追い越しを禁止するべきコマンドが予め把握されている。その一態様としては、上述したように、ライト要求とリード要求とが連続する場合において、その対象のアドレスが重複している場合である。即ち、画像処理装置Ａ１０５の上位の機能は、ライト要求の直後にリード要求が発生する場合において、夫々の対象のアドレスが重複している場合に、その更に前のリード要求のタイミングで追い越し禁止フラグを設定するための通知を行う。
【００８７】
尚、リードコマンド転送部２０１が内部にリードコマンドバッファ５０１を含み、リードレスポンス受信部２０４からの通知に応じて再送若しくはコマンドの破棄を行うことは実施の形態１と同様である。
【００８８】
図１１は、本実施形態に係るプロトコル変換装置１０６の機能を示す図である。本実施形態に係るプロトコル変換装置１０６は、画像処理装置Ａ１０５から発行される追い越し禁止フラグに基づき、追い越し禁止が設定されたリード要求がライト要求を追い越した場合にのみ再送要求を行う。図１１に示すように、プロトコル変換装置１０６は、コマンド＆ライトデータプロトコル変換部３０１、ライトレスポンス生成部３０２及びリードレスポンスプロトコル変換部３０３を含むことは実施の形態１と同様である。
【００８９】
本実施形態に係るコマンド＆ライトデータプロトコル変換部３０１は、図１１に示すようにシリアル化処理部４０１、コマンド出力部４０５及び追い越し判定部４０６を含む。シリアル化処理部４０１にはリード要求ａｒ、ライト要求ａｗ、ライドデータｗが夫々入力され、部個に入力されたライト要求及びライトデータと、リード要求とをシリアル化してコマンド出力部４０５に入力する。
【００９０】
他方、追い越し禁止フラグは追い越し判定部４０６に入力される。追い越し判定部４０６は、図１０に示すようにリード要求１０ａと同じタイミングで入力される追い越し禁止フラグをラッチし、その状態で次に入力されるコマンドをコマンド出力部４０５に格納されるコマンドを監視することで確認する。
【００９１】
そして、追い越し判定部４０６は、追い越し禁止フラグをラッチした状態で次にコマンド出力部４０５に格納されたコマンドがライト要求であれば、コマンドの追い越しは発生していないと判断し、コマンド出力部４０５に対してコマンド出力要求を行う。これにより、コマンド出力部４０５は、保持しているコマンドのプロトコルを変換してメモリコントローラ１０３に対して出力する。
【００９２】
コマンド出力部４０５は、メモリコントローラ１０３にたいしてライト要求を出力する際、ライト完了通知をライトレスポンス生成部３０２に対して通知する。これにより、ライトレスポンス生成部３０２は、ライト要求が正常に処理されたことを示すライトレスポンスｂを発行する。
【００９３】
他方、追い越し禁止フラグをラッチした状態で次にコマンド出力部４０５に格納されたコマンドがリード要求であれば、図１０に示すリード要求１０ｃがライト要求１０ｂを追い越したと判断する。その場合、追い越し判定部４０６は、コマンド出力部４０５に対して保持しているコマンドを破棄させると共に、リードレスポンスプロトコル変換部３０３に対してＮＧ通知を行う。これにより、リードレスポンスプロトコル変換部３０３が、実施の形態１と同様にエラー情報を付加したリードレスポンスｒを内部バス１０４に発行する。
【００９４】
尚、追い越し判定部４０６は、追い越し禁止フラグをラッチしていない状態でコマンド出力部４０５に新たなコマンドが格納された場合、通常の処理としてリード要求、ライト要求に関わらずコマンド出力部４０５にコマンド出力要求を行う。これにより、コマンドがライト要求であれば、コマンド出力部４０５は上記と同様にプロトコルを変換した上でライト要求を転送すると共にライトレスポンス生成部３０２にＯＫ通知を行う。
【００９５】
他方、コマンド出力部４０５に格納されているコマンドがリード要求であれば、コマンド出力部４０５はプロトコルを変換した上でリード要求を転送する。また、追い越し判定部４０６は、リードレスポンスプロトコル変換部３０３に対してＯＫ通知を行う。
【００９６】
このように本実施形態に係る信号転送装置によれば、マスター側において追い越しを禁止する場合にのみフラグ設定を行い、スレーブ側において、追い越し禁止フラグに基づいてコマンドの種類を確認して再送要求を行う。このような構成により、実施の形態１と同様に、リード要求とライト要求とが異なる信号線によって転送される場合において、処理の性能低下を抑えつつ、連続して転送されるコマンドの順番を担保することができる。
【符号の説明】
【００９７】
１  画像形成装置
１０１  ＣＰＵ
１０２  共有メモリ
１０３  メモリコントローラ
１０４  内部バス
１０５  画像処理装置Ａ
１０６  プロトコル変換装置
１０７  画像処理装置Ｂ
２０１  リードコマンド転送部
２０２  ライトコマンド＆データ転送部
２０３  コマンド番号生成部
２０４  リードレスポンス受信部
２０５  ライトレスポンス受信部
２０６  追い越し禁止判定部
３０１  コマンド＆ライトデータプロトコル変換部
３０２  ライトレスポンス生成部
３０３  リードレスポンスプロトコル変換部
４０１  シリアル化処理部
４０２、４０３  コマンド＆データバッファ
４０４  番号確認部
４０５  コマンド出力部
５０１  リードコマンドバッファ
５０２  ライトコマンドバッファ
【先行技術文献】
【特許文献】
【００９８】
【特許文献１】特開平１０−１３４１６９号公報
【図１】
2016031547.tif 000003
【図２】
2016031547.tif 000004
【図３】
2016031547.tif 000005
【図４】
2016031547.tif 000006
【図５】
2016031547.tif 000007
【図６】
2016031547.tif 000008
【図７】
2016031547.tif 000009
【図８】
2016031547.tif 000010
【図９】
2016031547.tif 000011
【図１０】
2016031547.tif 000012
【図１１】
2016031547.tif 000013