(57)【要約】【課題】デバイスがプロセッサからの前の要求と連続する次の要求とを区別可能にする。【解決手段】プロセッサからデバイスに対する最初の要求を行うときには要求を表す信号である信号ＲＥＱｉｎは立ち上がりアクティブ状態になるが（時刻ｔ３）、プロセッサが連続して次の要求を行うときには信号ＲＥＱｉｎはアクティブ状態を継続するだけである（時刻ｔ１４）場合において、マスク開始時刻ｔ６までは信号ＲＥＱｉｎをそのまま信号ＲＥＱｏｕｔとして要求先のデバイスに出力し、マスク開始時刻ｔ６からマスク継続時間Ｔｍが経過するまでの時間である時刻ｔ６〜ｔ１４の間のみ信号ＲＥＱｏｕｔをマスクして非アクティブ状態にして要求先のデバイスに出力する。これにより、マスク継続時間が経過したあとは信号ＲＥＱｏｕｔが非アクティブ状態からアクティブ状態になるため、デバイスは前の要求と次の要求とを区別できる。【選択図】図２
2010033255.tif 000002
【特許請求の範囲】
【請求項１】
第１クロック信号に同期して動作するデバイスと、前記第１クロック信号とは異なる周期の第２クロック信号に同期して動作し、前記デバイスとのデータ通信を要求する場合にはリクエスト信号を非アクティブ状態からアクティブ状態にし、その後前記リクエスト信号に対するアクノリッジ信号を検出した後に連続して次の要求をする場合には前記リクエスト信号をアクティブ状態に維持し、連続して次の要求をしない場合には前記リクエスト信号を非アクティブ状態にするプロセッサと、の間で信号の同期化を行う信号同期化方法であって、
（ａ）前記プロセッサにより入力された前記リクエスト信号を前記第１クロック信号に同期した同期化リクエスト信号に変換するステップと、
（ｂ）前記同期化リクエスト信号を前記デバイスに出力するにあたり、該出力する同期化リクエスト信号が非アクティブ状態からアクティブ状態になり且つ前記デバイスが前記同期化リクエスト信号を受信可能になったあと前記第１クロック信号が非アクティブ状態からアクティブ状態になる時刻をマスク開始時刻とし、該マスク開始時刻までは前記同期化リクエスト信号をマスクせずに前記デバイスに出力し、該マスク開始時刻以降は該同期化リクエスト信号をマスクすることにより非アクティブ状態にして前記デバイスに出力するステップと、
（ｃ）前記アクノリッジ信号を入力した前記プロセッサが前記リクエスト信号をアクティブ状態に維持して次の要求をしたとき、該維持されたリクエスト信号のアクティブ状態を前記プロセッサから入力して前記第１クロック信号に同期した同期化リクエスト信号に変換するステップと、
（ｄ）前記マスク開始時刻から所定のマスク継続時間が経過するまでは、前記同期化リクエスト信号をマスクすることにより非アクティブ状態にして前記デバイスに出力し、前記マスク開始時刻から前記マスク継続時間が経過したあとは、前記同期化リクエスト信号をマスクせずに前記デバイスに出力するステップと、
を含み、
前記マスク継続時間は、前記マスク開始時刻から、前記ステップ（ｃ）で前記維持されたリクエスト信号のアクティブ状態を同期化リクエスト信号に変換することが前記第１クロック信号と前記第２クロック信号とのタイミングずれに関わらず可能な時刻まで、の時間以上の時間に設定されている、
信号同期化方法。
【請求項２】
前記マスク継続時間は、前記マスク開始時刻から、前記ステップ（ｃ）で前記維持されたリクエスト信号のアクティブ状態を同期化リクエスト信号に変換することが前記第１クロック信号と前記第２クロック信号とのタイミングずれに関わらず可能な時刻まで、の時間に設定されている、
請求項１に記載の信号同期化方法。
【請求項３】
前記第１クロック信号は、前記第２クロック信号より周期が長いクロック信号である、
請求項１又は２に記載の信号同期化方法。
【請求項４】
第１クロック信号に同期して動作するデバイスと、前記第１クロック信号とは異なる周期の第２クロック信号に同期して動作し、前記デバイスとのデータ通信を要求する場合にはリクエスト信号を非アクティブ状態からアクティブ状態にし、その後前記リクエスト信号に対するアクノリッジ信号を検出した後に連続して次の要求をする場合には前記リクエスト信号をアクティブ状態に維持し、連続して次の要求をしない場合には前記リクエスト信号を非アクティブ状態にするプロセッサと、の間で信号の同期化を行う信号同期化回路であって、
前記プロセッサにより入力された前記リクエスト信号を前記第１クロック信号に同期した同期化リクエスト信号に変換する同期化手段と、
前記同期化リクエスト信号を前記デバイスに出力するにあたり、該出力する同期化リクエスト信号が非アクティブ状態からアクティブ状態になり且つ前記デバイスが前記同期化リクエスト信号を受信可能になったあと前記第１クロック信号が非アクティブ状態からアクティブ状態になる時刻をマスク開始時刻とし、該マスク開始時刻までは前記同期化リクエスト信号をマスクせずに前記デバイスに出力し、該マスク開始時刻以降は該同期化リクエスト信号をマスクすることにより非アクティブ状態にして前記デバイスに出力する信号出力手段と、
を備え、
前記信号出力手段は、前記マスク開始時刻から所定のマスク継続時間が経過するまでは、前記同期化リクエスト信号をマスクすることにより非アクティブ状態にして前記デバイスに出力し、前記マスク開始時刻から前記マスク継続時間が経過したあとは、前記同期化リクエスト信号をマスクせずに前記デバイスに出力する手段であり、
前記マスク継続時間は、前記マスク開始時刻から、前記アクノリッジ信号を入力した前記プロセッサが前記リクエスト信号をアクティブ状態に維持して次の要求をしたときの該維持されたリクエスト信号のアクティブ状態を前記プロセッサから入力して前記第１クロック信号に同期した同期化リクエスト信号に前記同期化手段が変換することが前記第１クロック信号と前記第２クロック信号とのタイミングずれに関わらず可能な時刻まで、の時間以上の時間に設定されている、
信号同期化回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号同期化方法及び信号同期化回路に関する。
【背景技術】
【０００２】
異なる周期のクロック信号で動作する装置間でデータのやりとりを行う場合には、送信側装置から与えられたデータを受信側装置のクロック信号に同期化させて受信側装置に出力する同期化回路を用いることが一般に知られている（例えば、特許文献１参照）。
【特許文献１】特開２００８−７１２２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、プロセッサによっては、データのやり取りを要求するときにはリクエスト信号を非アクティブ状態からアクティブ状態にするが、連続して次の要求をするときにはリクエスト信号を非アクティブ状態にせずアクティブ状態を維持する場合がある。このような場合には、リクエスト信号を同期化回路が受信側装置のクロック信号に同期化させても連続した次の要求を検出できないという問題が発生する。この場合の一例として、２段のシフトレジスタで構成された同期化回路１００の構成を図５（ａ）に、同期化回路１００に入力するプロセッサのリクエスト信号と同期化回路１００からの出力との関係を図５（ｂ）に示す。図５（ｂ）において、プロセッサは、時刻ｔ０でリクエスト信号を立ち上げて非アクティブ状態からアクティブ状態にし、時刻ｔ３で連続した次の要求をしてリクエスト信号のアクティブ状態を維持している。この場合、最初の要求については、時刻ｔ１、ｔ２の２回の受信側装置のクロック信号の立ち上がりを経て時刻ｔ２に同期化回路１００の出力が立ち上がり非アクティブ状態からアクティブ状態になるため、受信側装置はプロセッサからの要求を検出することができる。しかし、時刻ｔ３での連続した次の要求については、前の要求と同様に時刻ｔ５に同期化回路１００の出力が立ち上がるはずであるが、最初の要求によるアクティブ状態が時刻ｔ５以前から継続しているため出力に変化がなく、受信側装置は次の要求を検出できない。
【０００４】
本発明は、上述した課題に鑑みなされたものであり、デバイスがプロセッサからの前の要求と連続する次の要求とを区別可能にすることを主目的とする。
【課題を解決するための手段】
【０００５】
本発明は、上述の主目的を達成するために以下の手段を採った。
【０００６】
本発明の信号同期化方法は、
第１クロック信号に同期して動作するデバイスと、前記第１クロック信号とは異なる周期の第２クロック信号に同期して動作し、前記デバイスとのデータ通信を要求する場合にはリクエスト信号を非アクティブ状態からアクティブ状態にし、その後前記リクエスト信号に対するアクノリッジ信号を検出した後に連続して次の要求をする場合には前記リクエスト信号をアクティブ状態に維持し、連続して次の要求をしない場合には前記リクエスト信号を非アクティブ状態にするプロセッサと、の間で信号の同期化を行う信号同期化方法であって、
（ａ）前記プロセッサにより入力された前記リクエスト信号を前記第１クロック信号に同期した同期化リクエスト信号に変換するステップと、
（ｂ）前記同期化リクエスト信号を前記デバイスに出力するにあたり、該出力する同期化リクエスト信号が非アクティブ状態からアクティブ状態になり且つ前記デバイスが前記同期化リクエスト信号を受信可能になったあと前記第１クロック信号が非アクティブ状態からアクティブ状態になる時刻をマスク開始時刻とし、該マスク開始時刻までは前記同期化リクエスト信号をマスクせずに前記デバイスに出力し、該マスク開始時刻以降は該同期化リクエスト信号をマスクすることにより非アクティブ状態にして前記デバイスに出力するステップと、
（ｃ）前記アクノリッジ信号を入力した前記プロセッサが前記リクエスト信号をアクティブ状態に維持して次の要求をしたとき、該維持されたリクエスト信号のアクティブ状態を前記プロセッサから入力して前記第１クロック信号に同期した同期化リクエスト信号に変換するステップと、
（ｄ）前記マスク開始時刻から所定のマスク継続時間が経過するまでは、前記同期化リクエスト信号をマスクすることにより非アクティブ状態にして前記デバイスに出力し、前記マスク開始時刻から前記マスク継続時間が経過したあとは、前記同期化リクエスト信号をマスクせずに前記デバイスに出力するステップと、
を含み、
前記マスク継続時間は、前記マスク開始時刻から、前記ステップ（ｃ）で前記維持されたリクエスト信号のアクティブ状態を同期化リクエスト信号に変換することが前記第１クロック信号と前記第２クロック信号とのタイミングずれに関わらず可能な時刻まで、の時間以上の時間に設定されている、
ものである。
【０００７】
この信号同期化方法では、マスク開始時刻からマスク継続時間が経過するまでの間は出力する同期化リクエスト信号をマスクすることにより非アクティブ状態にする。このため、連続して次の要求がきた場合にはマスク継続時間が経過したあとに出力する同期化リクエスト信号は非アクティブ状態からアクティブ状態になり、連続して次の要求がこない場合にはマスク時間経過後に出力する同期化リクエスト信号は非アクティブ状態が継続する。したがって、デバイスがプロセッサからの前の要求と連続する次の要求とを区別可能になる。また、マスク継続時間は、マスク開始時刻から、プロセッサがリクエスト信号をアクティブ状態に維持して次の要求をしたときの維持されたリクエスト信号のアクティブ状態をプロセッサから入力して第１クロック信号に同期した同期化リクエスト信号に変換することが第１クロック信号と第２クロック信号とのタイミングのずれに関わらず可能な時刻まで、の時間以上の時間であるため、次の要求がくる前にマスク継続時間が経過してしまうことがない。すなわち、前の要求によるリクエスト信号のアクティブ状態が継続しているときにマスク継続時間が経過してしまうことにより同期化リクエスト信号を誤って非アクティブ状態からアクティブ状態にしてデバイスに出力してしまうことがない。したがって、デバイスがプロセッサからの要求を誤検出するのを防止できる。
【０００８】
本発明の信号同期化方法において、前記マスク継続時間は、前記マスク開始時刻から、前記ステップ（ｃ）で前記維持されたリクエスト信号のアクティブ状態を同期化リクエスト信号に変換することが前記第１クロック信号と前記第２クロック信号とのタイミングずれに関わらず可能な時刻まで、の時間に設定されているものとしてもよい。こうすることにより、マスク継続時間が最小限になるため、デバイスはプロセッサからの次の要求を最小限の時間で検出できる。
【０００９】
また、本発明の信号同期化方法において、前記第１クロック信号は、前記第２クロック信号より周期が長いクロック信号であるものとすることもできる。
【００１０】
本発明の信号同期化回路は、
第１クロック信号に同期して動作するデバイスと、前記第１クロック信号とは異なる周期の第２クロック信号に同期して動作し、前記デバイスとのデータ通信を要求する場合にはリクエスト信号を非アクティブ状態からアクティブ状態にし、その後前記リクエスト信号に対するアクノリッジ信号を検出した後に連続して次の要求をする場合には前記リクエスト信号をアクティブ状態に維持し、連続して次の要求をしない場合には前記リクエスト信号を非アクティブ状態にするプロセッサと、の間で信号の同期化を行う信号同期化回路であって、
前記プロセッサにより入力された前記リクエスト信号を前記第１クロック信号に同期した同期化リクエスト信号に変換する同期化手段と、
前記同期化リクエスト信号を前記デバイスに出力するにあたり、該出力する同期化リクエスト信号が非アクティブ状態からアクティブ状態になり且つ前記デバイスが前記同期化リクエスト信号を受信可能になったあと前記第１クロック信号が非アクティブ状態からアクティブ状態になる時刻をマスク開始時刻とし、該マスク開始時刻までは前記同期化リクエスト信号をマスクせずに前記デバイスに出力し、該マスク開始時刻以降は該同期化リクエスト信号をマスクすることにより非アクティブ状態にして前記デバイスに出力する信号出力手段と、
を備え、
前記信号出力手段は、前記マスク開始時刻から所定のマスク継続時間が経過するまでは、前記同期化リクエスト信号をマスクすることにより非アクティブ状態にして前記デバイスに出力し、前記マスク開始時刻から前記マスク継続時間が経過したあとは、前記同期化リクエスト信号をマスクせずに前記デバイスに出力する手段であり、
前記マスク継続時間は、前記マスク開始時刻から、前記アクノリッジ信号を入力した前記プロセッサが前記リクエスト信号をアクティブ状態に維持して次の要求をしたときの該維持されたリクエスト信号のアクティブ状態を前記プロセッサから入力して前記第１クロック信号に同期した同期化リクエスト信号に前記同期化手段が変換することが前記第１クロック信号と前記第２クロック信号とのタイミングずれに関わらず可能な時刻まで、の時間以上の時間に設定されている、
ものである。
【００１１】
この信号同期化回路は、上述した信号同期化方法と同様に、マスク開始時刻からマスク継続時間が経過するまでの間は出力する同期化リクエスト信号をマスクすることにより非アクティブ状態にするため、デバイスがプロセッサからの前の要求と連続する次の要求とを区別可能になる効果や、マスク継続時間は、マスク開始時刻から、プロセッサがリクエスト信号をアクティブ状態に維持して次の要求をしたときの維持されたリクエスト信号のアクティブ状態をプロセッサから入力して第１クロック信号に同期した同期化リクエスト信号に変換することが第１クロック信号と第２クロック信号とのタイミングのずれに関わらず可能な時刻まで、の時間以上の時間であるため、デバイスがプロセッサからの要求を誤検出するのを防止できる効果を奏する。なお、この信号同期化回路において、上述したいずれかの信号同期化方法のステップを実現する手段を追加してもよい。
【発明を実施するための最良の形態】
【００１２】
次に、本発明の実施の形態を図面に基づいて説明する。図１は、本実施形態であるプロセッサシステム１０の構成の概略を示す構成図である。
【００１３】
プロセッサシステム１０は、図１に示すように、バス７０を介して、プロセッサ２０と、プロセッサ２０が実行するプログラムなどのデータを記憶するＲＯＭ５０と、データを一時的に記憶するＲＡＭ６０と、が接続されている。また、プロセッサ２０とＲＯＭ５０及びＲＡＭ６０とは、同期化回路３０を介しても接続されている。なお、ＲＯＭ５０及びＲＡＭ６０は周期Ｔ１（Ｔ１は正の実数）のクロック信号ＣＬＫ１で動作するデバイスであり、プロセッサ２０は周期Ｔ２（本実施形態ではＴ２＝１／２・Ｔ１）のクロック信号ＣＬＫ２で動作するデバイスである。
【００１４】
プロセッサ２０は、印刷処理の制御を行うプロセッサであり、図示しないが、計算に使われるデータを一時的に記憶するレジスタ、実際に計算を実行する算術論理ユニット、バス７０や同期化回路３０とデータや信号のやり取りを行うプロセッサインターフェース（ＰＩＦ）、プロセッサ２０内の各モジュール（レジスタ，算術論理ユニット，ＰＩＦなど）の動作を制御するシーケンサなどを備えている。また、プロセッサ２０は、ＲＯＭ５０及びＲＡＭ６０とのデータのやり取りを要求するリクエスト信号ＲＥＱを出力するＲＥＱ信号線２１と、データのやり取りの要求がＲＯＭ５０及びＲＡＭ６０に送られたことを通知するアクノリッジ信号ＡＣＫを入力するＡＣＫ信号線２２と、を介して同期化回路３０に接続されている。詳しくは後述するが、このプロセッサ２０がＲＯＭ５０やＲＡＭ６０とデータのやり取りをするときには、信号ＲＥＱを非アクティブ状態からアクティブ状態にしてデータのやり取りを要求し、信号ＡＣＫが非アクティブ状態からアクティブ状態になったときに要求が正しく相手に送られたことを確認する。また、信号ＡＣＫが非アクティブ状態からアクティブ状態になった後に、連続して次のデータをやり取りする要求を行うときには信号ＲＥＱを非アクティブ状態にせずアクティブ状態を維持し、要求を行わないときには信号ＲＥＱを非アクティブ状態にする。なお、印刷処理の制御とは、ＲＯＭ５０から読み出したプログラムにしたがってＲＡＭ６０に記憶された印刷対象の画像データを読み出し、読み出した画像データから印刷イメージデータを生成してＲＡＭ６０に記憶し、その印刷イメージデータを図示しない印刷処理装置が印刷するよう制御することをいう。
【００１５】
バス７０は、いずれも図示しないが、ＲＯＭ５０及びＲＡＭ６０のいずれとデータのやり取りを行うかを指示するアドレス信号をプロセッサ２０から入力するアドレス信号線と、読み出し又は書き込みのいずれを行うかを指示したりする各種コントロール信号をプロセッサ２０から入力するコントロール信号線と、プロセッサ２０，ＲＯＭ５０及びＲＡＭ６０とやり取りするデータを入出力するデータ信号線と、を備えている。
【００１６】
ＲＯＭ５０及びＲＡＭ６０は、ＲＯＭ５０及びＲＡＭ６０がデータを受信する準備ができているか否かを通知するレディ信号ＲＤＹを入力するＲＤＹ信号線４１と、同期化回路３０が出力する信号である信号ＲＥＱｏｕｔを入力するＲＥＱｏｕｔ信号線４２と、を介して同期化回路３０と接続されており、バス７０を介してプロセッサ２０と接続されている。なお、信号ＲＤＹは、ＲＯＭ５０及びＲＡＭ６０がデータや信号を受信する準備ができているときにアクティブ状態になり、準備ができていないときに非アクティブ状態になる。このＲＯＭ５０及びＲＡＭ６０は、上述したバス７０のアドレス信号とコントロール信号とによって読み出し又は書き込みが指示されているときには、信号ＲＥＱｏｕｔがアクティブ状態になったときのタイミングで、データをバス７０に出力したりバス７０からデータを入力したりすることにより読み出し又は書き込みを行う。
【００１７】
同期化回路３０は、クロック信号ＣＬＫ１で動作するＲＯＭ５０及びＲＡＭ６０とクロック信号ＣＬＫ２で動作するプロセッサ２０との間で信号の同期化を行う装置であり、入力同期化回路３１と、信号出力回路３２と、マスク回路３３と、アクノリッジ（ＡＣＫ）回路３４と、出力同期化回路３５と、立ち上がり検出回路３６と、を備えている。
【００１８】
入力同期化回路３１は、クロック信号ＣＬＫ１が非アクティブ状態からアクティブ状態になったときの入力を保持するレジスタ３１ａ，３１ｂを備えた２段のシフトレジスタとして構成されており、入力した信号ＲＥＱをクロック信号ＣＬＫ１に同期化した信号ＲＥＱｉｎに変換して出力する。
【００１９】
信号出力回路３２は、信号ＲＥＱｉｎと信号ＲＤＹとマスク回路３３が出力する信号ＭＡＳＫの否定（ＮＯＴ）との論理積を信号ＲＥＱｏｕｔとして出力する回路である。したがって、信号ＲＥＱｉｎがアクティブ状態であり、ＲＯＭ５０及びＲＡＭ６０がデータを受信する準備ができており、信号ＭＡＳＫが非アクティブ状態であるときに信号ＲＥＱｏｕｔはアクティブ状態になる。
【００２０】
マスク回路３３は、クロック信号ＣＬＫ１で動作し、信号ＲＥＱｏｕｔを入力して信号ＭＡＳＫを出力する回路である。このマスク回路３３は、図２に示すように、信号ＲＥＱｏｕｔが非アクティブ状態からアクティブ状態になった時刻の次にクロック信号ＣＬＫ１が非アクティブ状態からアクティブ状態になった時刻をマスク開始時刻とし、このマスク開始時刻に信号ＭＡＳＫを立ち上げて非アクティブ状態からアクティブ状態にする。そして、マスク開始時刻からマスク継続時間Ｔｍ（本実施形態ではＴｍ＝３・Ｔ１）が経過するまで信号ＭＡＳＫのアクティブ状態を継続し、マスク継続時間Ｔｍが経過すると信号ＭＡＳＫを立ち下げて非アクティブ状態にする。これにより、マスク開始時刻からマスク継続時間Ｔｍが経過するまでの間は信号出力回路３２の出力である信号ＲＥＱｏｕｔを非アクティブ状態にする。
【００２１】
ＡＣＫ回路３４は、クロック信号ＣＬＫ１で動作し、信号ＲＥＱｏｕｔを入力して信号ＡＣＫｉｎを出力する回路である。このＡＣＫ回路３４は、図２に示すように、マスク開始時刻から周期Ｔ１が経過するまでの時間のみ信号ＡＣＫｉｎをアクティブ状態にする。
【００２２】
出力同期化回路３５は、クロック信号ＣＬＫ２が非アクティブ状態からアクティブ状態になったときの入力を保持するレジスタ３５ａ，３５ｂを備えた２段のシフトレジスタとして構成されており、入力した信号ＡＣＫｉｎをクロック信号ＣＬＫ２に同期化した信号ＡＣＫｏｕｔに変換して出力する。
【００２３】
立ち上がり検出回路３６は、クロック信号ＣＬＫ２で動作し、信号ＡＣＫｏｕｔを入力して信号ＡＣＫを出力する回路である。この立ち上がり検出回路３６は、図２に示すように、入力した信号ＡＣＫｏｕｔが非アクティブ状態から立ち上がりアクティブ状態になった時刻から周期Ｔ２が経過するまでの時間のみ信号ＡＣＫをアクティブ状態にする。
【００２４】
次に、こうして構成された本実施形態のプロセッサシステム１０の動作、特に、プロセッサ２０がＲＯＭ５０及びＲＡＭ６０とデータのやり取りを行うときの同期化回路３０の動作について説明する。
【００２５】
図２は、プロセッサ２０がＲＡＭ６０にデータの書き込みを連続して要求する場合における、クロック信号ＣＬＫ２，信号ＲＥＱ，信号ＡＣＫ，信号ＡＣＫｏｕｔ，クロック信号ＣＬＫ１，信号ＲＥＱｉｎ，信号ＭＡＳＫ，信号ＲＥＱｏｕｔ，信号ＡＣＫｉｎの状態を示すタイミングチャートの一例である。なお、本実施形態ではこれらの信号は全て正論理であり、値１がアクティブ状態，値０が非アクティブ状態を表している。
【００２６】
プロセッサ２０がＲＡＭ６０にデータの書き込みをする場合には、バス７０にＲＡＭ６０を指定するアドレス信号と書き込みを指示するコントロール信号と書き込むデータであるデータ信号とを出力するとともに、クロック信号ＣＬＫ２がアクティブ状態になる図２の時刻ｔ０に信号ＲＥＱを立ち上げる。すると、信号ＲＥＱが非アクティブ状態からアクティブ状態になった時刻ｔ１以降で２回目にクロック信号ＣＬＫ１が立ち上がる時刻である時刻ｔ３において、入力同期化回路３１の出力である信号ＲＥＱｉｎが立ち上がる。そして、時刻ｔ４において信号ＲＥＱｉｎはアクティブ状態になる。この時刻ｔ４では、ＲＡＭ６０はデータや信号を受信する準備ができており、信号ＲＤＹが既にアクティブ状態になっているものとする。また、信号ＭＡＳＫは、信号ＲＥＱｏｕｔがアクティブ状態に一度もなっていないときにはアクティブ状態になることはないため、時刻ｔ４では非アクティブ状態になっている。
【００２７】
時刻ｔ４において信号ＲＥＱｉｎがアクティブ状態になると、信号ＭＡＳＫが非アクティブ状態であり、且つ、信号ＲＤＹがアクティブ状態であるため、信号出力回路３２の出力である信号ＲＥＱｏｕｔが立ち上がる。なお、ＲＡＭ６０がデータや信号を受信する準備ができていなければ、信号ＲＤＹがアクティブ状態になった時刻に信号ＲＥＱｏｕｔが立ち上がることになる。
【００２８】
信号ＲＥＱｏｕｔが時刻ｔ４で立ち上がり時刻ｔ５でアクティブ状態になると、時刻ｔ５におけるバス７０のデータ信号線のデータがＲＡＭ６０に書き込まれる。ここで、プロセッサ２０は、時刻ｔ０でバス７０に出力したアドレス信号，コントロール信号，データ信号を出力し続けているため、プロセッサ２０が書き込みを要求したデータがＲＡＭ６０に書き込まれることになる。そして、マスク回路３３は、信号ＲＥＱｏｕｔが非アクティブ状態からアクティブ状態になった時刻ｔ５の次にクロック信号ＣＬＫ１が非アクティブ状態からアクティブ状態になった時刻である時刻ｔ６をマスク開始時刻とし、出力する信号ＭＡＳＫを立ち上げる。また、ＡＣＫ回路３４は、マスク開始時刻である時刻ｔ６において信号ＡＣＫｉｎを立ち上げ、周期Ｔ１が経過するまでの間アクティブ状態にする。これにより、時刻ｔ７において信号ＭＡＳＫ及び信号ＡＣＫｉｎがアクティブ状態になる。
【００２９】
時刻ｔ７で信号ＭＡＳＫがアクティブ状態になると、信号出力回路３２の出力である信号ＲＥＱｏｕｔが立ち下がり、時刻ｔ８において非アクティブ状態になる。また、時刻ｔ７で信号ＡＣＫｉｎがアクティブ状態になると、時刻ｔ７以降で２回目にクロック信号ＣＬＫ２が立ち上がる時刻である時刻ｔ１０において、出力同期化回路３５の出力である信号ＡＣＫｏｕｔが立ち上がり、時刻ｔ１１にアクティブ状態になる。
【００３０】
時刻ｔ１１で信号ＡＣＫｏｕｔがアクティブ状態になると、立ち上がり検出回路３６の出力である信号ＡＣＫが立ち上がり、時刻ｔ１２においてアクティブ状態になる。そして、時刻ｔ１１から周期Ｔ２が経過するまでの間はアクティブ状態になる。
【００３１】
時刻ｔ１２で信号ＡＣＫがアクティブ状態になることで、プロセッサ２０は時刻ｔ０におけるＲＡＭ６０への書き込み要求に基づく書き込みが行われたことを確認する。そして、時刻ｔ１２の次にクロック信号ＣＬＫ２がアクティブ状態になる時刻である時刻ｔ１３において、プロセッサ２０が連続して次の要求を行うときには信号ＲＥＱを非アクティブ状態にせずアクティブ状態を維持する。プロセッサ２０は、時刻ｔ１３における要求が先の要求と連続していないときには、信号ＲＥＱは非アクティブ状態になっているので、時刻ｔ０の場合と同じように信号ＲＥＱを立ち上げる（図２の時刻ｔ１３における信号ＲＥＱの破線を参照）が、先の要求と連続しているときには既に信号ＲＥＱはアクティブ状態であるので、アクティブ状態を維持することで次の要求を行うのである。このようにするのは、信号ＡＣＫによって要求が行われたことを確認してから一度信号ＲＥＱを立ち下げて非アクティブ状態にし、その後再び立ち上げて次の要求を行う場合に比べて、短い時間で次の要求を行うことができるためである。なお、もし連続した次の要求がない場合には、時刻ｔ１３においてプロセッサ２０は信号ＲＥＱを立ち下げて非アクティブ状態にする。
【００３２】
図２は、時刻ｔ１３において連続して次の要求を行う場合について示しており、以下もこの場合について説明する。プロセッサが連続してＲＡＭ６０にデータの書き込みを要求する場合には、時刻ｔ１３において信号ＲＥＱのアクティブ状態を維持するとともに、時刻ｔ０で信号ＲＥＱを立ち上げたときと同様、ＲＡＭ６０を指定するアドレス信号と書き込みを指示するコントロール信号と書き込むデータであるデータ信号とをバス７０に出力する。これにより、信号ＲＥＱのアクティブ状態を継続して次の要求を行ったことに対応して、時刻ｔ１３以降で２回目にクロック信号ＣＬＫ１が立ち上がる時刻である時刻ｔ１５では、入力同期化回路３１の出力である信号ＲＥＱｉｎのアクティブ状態が継続する。ここで、時刻ｔ１５は、上述したマスク開始時刻である時刻ｔ６からマスク継続時間Ｔｍが経過した時刻である。そのため、マスク回路３３が出力する信号ＭＡＳＫは、時刻ｔ６から時刻ｔ１５までの間はアクティブ状態であるが、時刻ｔ１５において立ち下がり、時刻ｔ１６には非アクティブ状態になる。
【００３３】
時刻ｔ１６で信号ＭＡＳＫが非アクティブ状態になると、信号ＲＥＱｉｎは既にアクティブ状態であるため、信号ＲＤＹがアクティブ状態であれば、信号出力回路３２の出力である信号ＲＥＱｏｕｔが立ち上がる。この時刻ｔ１６では、上述した時刻ｔ４における場合と同様、ＲＡＭ６０がデータや信号を受信する準備ができており信号ＲＤＹが既にアクティブ状態であるものとする。このため、図２に示すように時刻ｔ１６で信号ＲＥＱｏｕｔが立ち上がる。なお、時刻ｔ１６でＲＡＭ６０がデータや信号を受信する準備ができていなければ、信号ＲＤＹがアクティブ状態になった時刻に信号ＲＥＱｏｕｔが立ち上がる。
【００３４】
時刻ｔ１６で信号ＲＥＱｏｕｔが立ち上がり時刻ｔ１７でアクティブ状態になると、時刻ｔ５の場合と同様に、時刻ｔ１７におけるバス７０のデータ信号線のデータがＲＡＭ６０に書き込まれる。そして、上述した時刻ｔ６〜ｔ８の場合と同様に、時刻ｔ１８がマスク開始時刻となって信号ＭＡＳＫが立ち上がるとともに信号ＡＣＫｉｎが立ち上がり、信号ＭＡＳＫがアクティブ状態になった時刻ｔ１９で信号ＲＥＱｏｕｔが立ち下がり、時刻ｔ２０で信号ＲＥＱｏｕｔが非アクティブ状態になる。続いて、上述した時刻ｔ１０〜ｔ１３の場合と同様に、時刻ｔ２２において信号ＡＣＫｏｕｔが立ち上がって時刻ｔ２３にアクティブ状態になり、時刻ｔ２３において信号ＡＣＫが立ち上がって時刻ｔ２４にアクティブ状態になり、プロセッサ２０は時刻ｔ１３における要求に基づく書き込みが行われたことを確認する。以降は同様に、連続した次の要求がなくなるまで時刻ｔ１３〜ｔ２４の処理を繰り返す。
【００３５】
以上はＲＡＭ６０にデータの書き込みを連続して行う場合として説明したが、ＲＯＭ５０又はＲＡＭ６０からデータの読み出しを連続して行う場合や、読み出しと書き込みとを連続して行う場合も同様である。ただし、読み出しの場合は、プロセッサ２０がデータをバス７０に出力して書き込む代わりに、図２の時刻ｔ４や時刻ｔ１６で信号ＲＥＱｏｕｔが立ち上がりアクティブ状態になったときにＲＯＭ５０又はＲＡＭ６０が指定されたデータをバス７０に出力して、図２の時刻ｔ１１や時刻ｔ２２で信号ＡＣＫが立ち上がりアクティブ状態になったときにプロセッサ２０がバス７０のデータを入力する点は異なる。プロセッサ２０は、上述した読み出し又は書き込みの要求を繰り返し行うことで、ＲＯＭ５０から読み出したプログラムにしたがってＲＡＭ６０に記憶された印刷対象の画像データを読み出し、読み出した画像データから印刷イメージデータを生成してＲＡＭ６０に記憶する処理を行い、その印刷イメージデータを図示しない印刷処理装置が印刷するよう制御する。
【００３６】
このように、同期化回路３０では、マスク開始時刻からマスク継続時間Ｔｍ経過までの間は信号ＲＥＱｏｕｔを非アクティブ状態にしておく。これにより、プロセッサ２０が前の要求から連続して次の要求を行って信号ＲＥＱのアクティブ状態が継続しており前の要求と次の要求との区別がつかない場合でも、ＲＡＭ６０に出力する信号ＲＥＱｏｕｔは時刻ｔ１６で非アクティブ状態から立ち上がって時刻ｔ１７でアクティブ状態になるため、ＲＯＭ５０やＲＡＭ６０は前の要求と次の要求とを区別できる。
【００３７】
ここで、マスク継続時間Ｔｍの設定方法について説明する。マスク継続時間Ｔｍは、マスク開始時刻から、プロセッサ２０が信号ＡＣＫの立ち上がりによって要求が相手側に送られたことを確認し信号ＲＥＱのアクティブ状態を維持することで連続して次の要求をした場合に、維持された信号ＲＥＱのアクティブ状態を入力同期化回路３１がプロセッサ２０から入力して第１クロック信号ＣＬＫ１に同期した信号ＲＥＱｉｎに変換することが可能な時刻までの時間（図２では時刻ｔ６〜ｔ１５）である仮継続時間Ｔの取り得る値の最大値として設定されている。この仮継続時間Ｔは、クロック信号ＣＬＫ１とクロック信号ＣＬＫ２とのタイミングずれＸや、周期Ｔ１，Ｔ２の値によって異なる。マスク継続時間Ｔｍを設定するための仮継続時間Ｔを、タイミングずれＸ，周期Ｔ１，Ｔ２から導出する式を式（１）に示す。ここで、タイミングずれＸとは、信号ＡＣＫｉｎの立ち上がり時刻から、信号ＡＣＫｉｎの立ち上がり時刻以降で最初にレジスタ３５ａが信号ＡＣＫｉｎのアクティブ状態を保持するまでの時間であり、図２では時刻ｔ６〜ｔ９までの時間である。本実施形態では周期Ｔ２が周期Ｔ１の１／２の値であるため、式（１）を用いるとタイミングずれＸの値に関わらず仮継続時間Ｔは周期Ｔ１の３倍の値となる。したがって、本実施形態ではマスク継続時間Ｔｍを周期Ｔ１の３倍の値としている。また、例えば、周期Ｔ２が周期Ｔ１の２／３の値である場合には、式（１）を用いるとタイミングずれＸの値によって仮継続時間ＴはＴ１の３倍の値又は４倍の値となる。このような場合は、仮継続時間Ｔの取り得る最大値であるＴ１の４倍の値をマスク継続時間Ｔｍとする。もし、仮継続時間Ｔの取り得る最大値未満の値にマスク継続時間Ｔｍを設定すると、プロセッサ２０からの次の要求に対応して信号ＲＥＱｉｎがアクティブ状態を継続する最初の時刻よりも早く信号ＭＡＳＫが非アクティブ状態になることが起こりうるため、前の要求による信号ＲＥＱのアクティブ状態に対応する信号ＲＥＱｉｎのアクティブ状態によって信号ＲＥＱｏｕｔがアクティブ状態になってしまい、ＲＯＭ５０やＲＡＭ６０に誤った要求を行ってしまうことになる。なお、式（１）において、X+2・T2は、マスク開始時刻からプロセッサ２０が連続して次の要求を行う時刻までの時間（図２では時刻ｔ６〜ｔ１３）を表しており、[(int[(X+2・T2)/T1]+1]・T1は、マスク開始時刻からプロセッサ２０が連続して次の要求を行った場合にその要求による信号ＲＥＱの継続したアクティブ状態を最初にレジスタ３１ａが保持するまでの時間（図２では時刻ｔ６〜ｔ１４）を表している。
【００３８】
T＝[(int[(X+2・T2)/T1]+1]・T1+T1    (1)
※0≦X≦T2、int(A)はAの小数点以下を切り捨てた値を意味する
【００３９】
以上詳述した本実施形態では、マスク開始時刻までは信号ＲＥＱｉｎをそのまま信号ＲＥＱｏｕｔとしてＲＯＭ５０やＲＡＭ６０に出力し、マスク開始時刻以降は信号ＲＥＱｏｕｔをマスクして非アクティブ状態にしてＲＯＭ５０やＲＡＭ６０に出力する。そして、マスク開始時刻からマスク継続時間Ｔｍが経過するまでは、信号ＲＥＱｏｕｔをマスクして非アクティブ状態にしてＲＯＭ５０やＲＡＭ６０に出力し続け、マスク継続時間Ｔｍが経過したあとは、信号ＲＥＱｉｎをそのまま信号ＲＥＱｏｕｔとしてＲＯＭ５０やＲＡＭ６０に出力する。これにより、プロセッサ２０が前の要求から連続して次の要求を行って信号ＲＥＱがアクティブ状態を継続しており前の要求と次の要求との区別がつかない場合でも、マスク開始時刻からマスク継続時間Ｔｍが経過するまでは信号ＲＥＱｏｕｔが非アクティブ状態になり、マスク継続時間Ｔｍが経過したあとは信号ＲＥＱｏｕｔが非アクティブ状態からアクティブ状態になるため、ＲＯＭ５０やＲＡＭ６０は前の要求と次の要求とを区別できる。
【００４０】
また、マスク継続時間Ｔｍは、上述した仮継続時間Ｔの取り得る値の最大値として設定されているため、次の要求がくる前にマスク継続時間Ｔｍが経過してしまうことがなく、ＲＯＭ５０やＲＡＭ６０がプロセッサ２０からの要求を誤検出するのを防止できる。
【００４１】
なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
【００４２】
例えば、上述した実施形態では、周期Ｔ２は周期Ｔ１の１／２の値としたが、周期Ｔ１，Ｔ２は値が異なっていればどのような値でもよい。例えば、周期Ｔ２が周期Ｔ１より長い時間としてもよい。周期Ｔ１，Ｔ２がどのような値であっても、式（１）で導出される仮継続時間Ｔからマスク継続時間Ｔｍを設定することができる。
【００４３】
上述した実施形態では、信号ＡＣＫがアクティブ状態になった時刻の次にクロック信号ＣＬＫ２がアクティブ状態になる時刻（ｔ１３）において、プロセッサ２０が信号ＲＥＱを非アクティブ状態にする処理と連続して次の要求を行うため信号ＲＥＱのアクティブ状態を維持する処理とのいずれかを行うものとしたが、信号ＡＣＫがアクティブ状態になった時刻以降であれば、このいずれかの処理を行う時刻は適宜決定すればよい。例えば、信号ＡＣＫがアクティブ状態になった時刻から２回目にクロック信号ＣＬＫ２がアクティブ状態になる時刻において、プロセッサ２０が信号ＲＥＱを非アクティブ状態にする処理と連続して次の要求を行うため信号ＲＥＱのアクティブ状態を維持する処理とのいずれかを行うものとしてもよい。
【００４４】
上述した実施形態では、マスク回路３３は、信号ＲＥＱｏｕｔが非アクティブ状態からアクティブ状態になった時刻の次にクロック信号ＣＬＫ１が非アクティブ状態からアクティブ状態になった時刻をマスク開始時刻としているが、信号ＲＥＱｏｕｔが非アクティブ状態からアクティブ状態になった時刻のあとであれば、どの時刻をマスク開始時刻としてもよい。
【００４５】
上述した実施形態では、ＡＣＫ回路３５は、マスク開始時刻に信号ＡＣＫｉｎを立ち上げ、周期Ｔ１が経過するまでの時間のみ信号ＡＣＫｉｎを継続してアクティブ状態にするものとしているが、信号ＲＥＱｏｕｔが非アクティブ状態からアクティブ状態になった時刻のあとであれば、どの時刻にＡＣＫｉｎを立ち上げるものとしてもよい。また、アクティブ状態を継続する時間も周期Ｔ１に限らず、プロセッサ２０が信号ＡＣＫｉｎがアクティブ状態になったことを検出できればどのような時間としてもよい。但し、信号ＲＥＱｏｕｔがアクティブ状態になった時刻以降のなるべく早い時刻にＡＣＫｉｎを立ち上げることが、プロセッサ２０に要求に基づく書き込みや読み出しが行われたことを早く通知できプロセッサ２０が早く次の要求を行うことができるという点で好ましい。
【００４６】
上述した実施形態では、マスク継続時間Ｔｍは仮継続時間Ｔの取り得る値の最大値として設定しているが、仮継続時間Ｔ以上の値であれば、どのような値としてもよい。但し、マスク継続時間Ｔｍが長いほど、連続した次の要求によって信号ＲＥＱｏｕｔが立ち上がる時刻が遅くなるため、マスク継続時間Ｔｍはなるべく短い時間とするのが、連続した次の要求による読み出しや書き込みを早くＲＯＭ５０やＲＡＭ６０が行えるという点で好ましい。
【００４７】
上述した実施形態では、プロセッサシステム１０は、プロセッサ２０と同期化回路３０とを１つずつ備えた構成としたが、複数のプロセッサを備えた構成としてもよい。その場合、複数の同期化回路がプロセッサ毎に接続される構成としてもよいし、１つの同期化回路が複数のプロセッサと接続される構成としてもよい。
【００４８】
上述した実施形態では、プロセッサ２０はＲＯＭ５０及びＲＡＭ６０とデータのやり取りを行うものとしたが、他のプロセッサや、外部に接続された機器とデータのやり取りを行う入出力ポートや、バスの使用許可を調停するバスコントローラなど、どのようなデバイスとデータのやり取りを行うものとしてもよい。
【００４９】
最後に、本発明の実施形態ではない参考例のプロセッサシステム１０ａについて、図３及び図４を用いて説明する。このプロセッサシステム１０ａでも、前の要求と連続する次の要求とを区別することができる。なお、参考例のプロセッサシステム１０ａの構成要素のうち、プロセッサシステム１０と同じものについては同じ符号を用いて説明する。
【００５０】
図３は、プロセッサシステム１０ａの構成の概略を示す構成図である。図３に示すように、プロセッサシステム１０ａの同期化回路３０ａは、同期化回路３０と異なり、マスク回路３３を備えていない。また、信号出力回路３２の代わりに、信号ＲＥＱｉｎと信号ＲＤＹとの論理積を信号ＲＥＱｏｕｔとして出力する信号出力回路３２ａを備えている。それ以外は同期化回路３０と同じ構成である。また、プロセッサシステム１０ａのプロセッサ２０ａは、プロセッサ２０と異なり、信号ＲＥＱをそのまま出力するのではなく、信号ＲＥＱに後述するマスク処理を行った信号である信号ＲＥＱ２を出力する。それ以外はプロセッサ２０と同じである。
【００５１】
このプロセッサシステム１０ａにおいて、図２と同様にプロセッサ２０ａがＲＡＭ６０にデータの書き込みを連続して要求する場合における各信号の状態を示すタイミングチャートの一例を図４に示す。なお、図４では図２と同じ時刻については同じ符号を用いて説明する。
【００５２】
図４に示すように、時刻ｔ０〜ｔ１１までの間は信号ＲＥＱ２は信号ＲＥＱと同じ状態が出力され、信号ＡＣＫ，信号ＡＣＫｏｕｔ，信号ＲＥＱｉｎ，ＲＥＱｏｕｔ，ＡＣＫｉｎは図２と同様の状態となるため説明を省略する。そして、図２と同様に時刻ｔ１１で立ち上がり検出回路３６の出力である信号ＡＣＫが立ち上がって時刻ｔ１２でアクティブ状態になると、信号ＲＥＱ２を非アクティブ状態にするマスク処理を行う。これにより、信号ＲＥＱ２は時刻ｔ１２ａで立ち下がる。このマスク処理は信号ＡＣＫがアクティブ状態になった時刻ｔ１２から３回目のクロック信号ＣＬＫ２の立ち上がり時刻である時刻ｔ１４ａまで行われる。このマスク処理により、図２の場合は時刻ｔ１３で連続して次の要求が行われてアクティブ状態を維持している信号ＲＥＱを入力同期化回路３１が入力するため時刻ｔ１５における信号ＲＥＱｉｎはアクティブ状態のままであったが、図４の場合は信号ＲＥＱ２は非アクティブ状態になっているため時刻ｔ１５において信号ＲＥＱｉｎが立ち下がって時刻ｔ１６で非アクティブ状態になる。これにより図４では信号ＲＥＱｏｕｔが時刻ｔ１６で立ち下がって時刻ｔ１７に非アクティブ状態になる。そして、図４では時刻ｔ１４ａでマスク処理が終了して信号ＲＥＱ２は立ち上がるため、時刻ｔ１９で信号ＲＥＱｏｕｔが立ち上がり時刻ｔ２０にアクティブ状態になる。これによりプロセッサ２０ａが要求した書き込みが行われる。
【００５３】
以上説明したように、信号ＡＣＫがアクティブ状態になったときにプロセッサ２０ａが出力する信号ＲＥＱ２を立ち下げて非アクティブ状態にすることで、前の要求と次の要求とを区別できる。ただし、図２で説明したプロセッサシステム１０では時刻ｔ１６で信号ＲＥＱｏｕｔが立ち上がって次の要求をＲＯＭ５０やＲＡＭ６０に出力するが、この参考例のプロセッサシステム１０ａでは、時刻ｔ１９で信号ＲＥＱｏｕｔが立ち上がっており、次の要求した処理が行われるまでに周期Ｔ１分長い時間を要する。したがって、本発明の実施形態であるプロセッサシステム１０の方がより短い時間で次の要求した処理を行うことができる。なお、この参考例における、信号ＡＣＫｉｎの立ち上がり時刻から、プロセッサ２０ａが信号ＡＣＫの立ち上がりによって要求が相手側に送られたことを確認し連続して次の要求をした場合に次の要求に対応して信号ＲＥＱｉｎがアクティブ状態になる時刻までの時間Ｔａ（図４では時刻ｔ６〜ｔ１９）をタイミングずれＸ，周期Ｔ１，Ｔ２から導出する式は式（２）のようになる。この式（２）で表される時間Ｔａは、周期Ｔ１，Ｔ２やタイミングずれＸがどのような値を取ったとしても、式（１）で表される仮継続時間Ｔより小さい値になることはない。したがって、本実施形態のプロセッサ２０では、タイミングずれＸ，周期Ｔ１，Ｔ２に関わらずプロセッサ２０ａ以下の時間で次の要求した処理を行うことができる。なお、式（２）における時間ｔは、マスク処理を行う時間（図４の時刻ｔ１２〜ｔ１４ａ）を表している。
【００５４】
Tａ＝[(int[(X+T2+t)/T1]+1]・T1+T1    (2)
※ｔ＝[int(T1/T2)+1]T2
【図面の簡単な説明】
【００５５】
【図１】本実施形態であるプロセッサシステム１０の構成の概略を示す構成図。
【図２】本実施形態における各信号の状態を示すタイミングチャートの一例。
【図３】参考例のプロセッサシステム１０ａの構成の概略を示す構成図。
【図４】参考例における各信号の状態を示すタイミングチャートの一例。
【図５】同期化回路１００の構成図及び各信号の状態を示す説明図。
【符号の説明】
【００５６】
１０，１０ａ  プロセッサシステム、２０，２０ａ  プロセッサ、２１  ＲＥＱ信号線、２２  ＡＣＫ信号線、３０，３０ａ  同期化回路、３１  入力同期化回路、３１ａ，３１ｂ  レジスタ、３２，３２ａ  信号出力回路、３３  マスク回路、３４  ＡＣＫ回路、３５  出力同期化回路、３５ａ，３５ｂ  レジスタ、４１  ＲＤＹ信号線、４２  ＲＥＱｏｕｔ信号線、５０  ＲＯＭ、６０  ＲＡＭ、７０  バス。
【図１】
2010033255.tif 000003
【図２】
2010033255.tif 000004
【図３】
2010033255.tif 000005
【図４】
2010033255.tif 000006
【図５】
2010033255.tif 000007