JP2008191987A - バス調停回路 - Google Patents

バス調停回路 Download PDF

Info

Publication number
JP2008191987A
JP2008191987A JP2007026939A JP2007026939A JP2008191987A JP 2008191987 A JP2008191987 A JP 2008191987A JP 2007026939 A JP2007026939 A JP 2007026939A JP 2007026939 A JP2007026939 A JP 2007026939A JP 2008191987 A JP2008191987 A JP 2008191987A
Authority
JP
Japan
Prior art keywords
bus
priority
acquisition request
request
identification information
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.)
Granted
Application number
JP2007026939A
Other languages
English (en)
Other versions
JP4832327B2 (ja
Inventor
Chisa Nakagawa
知砂 中川
Michiyuki Suzuki
通之 鈴木
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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to JP2007026939A priority Critical patent/JP4832327B2/ja
Publication of JP2008191987A publication Critical patent/JP2008191987A/ja
Application granted granted Critical
Publication of JP4832327B2 publication Critical patent/JP4832327B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

【課題】所定のバスマスタの所定の処理に対して高い優先度を付与し、前記バスマスタの他の処理および他のバスマスタには平等にバスを割り当てることのできるバス調停回路を単純な構成で実現する。
【解決手段】複数のバスマスタからバス取得要求を受ける要求受領部と、前記バス取得要求に優先する緊急取得要求を所定のバスマスタから受ける緊急取得要求受領部と、前回のバス調停でバス使用権を取得したバスマスタを示す第1識別情報を次回のバス調停時に供給すべく保持する優先状態保持部と、第1識別情報を取得し、それに基づき回転優先順位方式で各バスマスタからの前記バス取得要求の有無を判定し、バス使用権を与えるバスマスタを決定し得る要求判定部と、緊急取得要求を受けたとき、その緊急取得要求に対応する第2識別情報を第1識別情報に代えてバス要求判定部へ供給する切替部とを備える。
【選択図】図1

Description

この発明は、複数のバスマスタからバス使用権の取得要求を受け、それらのうち1つのバスマスタにバス使用権を与えるバス調停回路に関する。
CPUを用いた装置では、CPUとその周辺との間、あるいは、周辺と周辺との間でデータをやり取りするためにバスが用いられる。バスを用いて、主体的にデータをやり取りし得るものは、バスマスタと呼ばれる。単純な構成の装置では、CPUのみがバスマスタである。しかし、周辺から周辺へデータを高速で転送する場合にダイレクト・メモリ・アクセス・コントローラ(DMA)がバスマスタとなる装置が多用されている。例えば、デジタル複合機やプリンタなどの画像形成装置では、通例、画像データを高速で転送するためにDMAコントローラが使用される。
複数のバスマスタを有する装置では、ある瞬間において一つのバスマスタのみがバスの使用権を獲得し得る。バスの使用権を獲得したものが、狭義のバスマスタである。以下、この明細書において特に断りのない場合、バスマスタの語は、バスの使用権を獲得し得るもの(広義のバスマスタ)の意味で用いる。
複数のバスマスタから同時にバス使用権の取得要求があった場合、優先順位の高いものから順にバスを使用してデータを転送させるようなバス調停(バス・アービトレーション)がなされる。バス調停を実現するため、各バスマスタからのバス使用権の取得要求を受けてそれらのうち1つのバスマスタにバス使用権を与えるバス調停回路が用いられる。
ここで、各バスマスタに対して前記優先順位をどのように付与するかが問題になる。単純な手法は固定の優先順位を各バスマスタに割り当てるもの(固定優先順位方式)であるが、優先順位の高いバスマスタが頻繁にバス使用権の取得要求を発すると、そのバスマスタに大半の時間が割り当てられ、優先順位の低いバスマスタに処理が回らないことが起こる。固定優先順位方式の短所を克服するため、各バスマスタに割り当てる優先順位を循環式に変える回転優先順位方式(ラウンド・ロビン方式)が多用されている。回転優先順位方式では、各バスマスタに対して予め定められた循環的な優先順位に従って取得要求を判定する。このとき、前回のバス調停でバス使用権を獲得したバスマスタが最も低い優先順位、即ち順位の末尾になるように各バスマスタの優先順位が割当てられる。複数回のバス調停を通してみると、各バスマスタの平均的な優先順位は等しい。従って、特定のバスマスタに大半の時間が割り当てられるといった不公平は生じない。その反面、バス使用権を緊急に取得する必要が生じた場合であっても、例えば、そのバスマスタが直近のバス調停でバス使用権を獲得していたときは、次回に最下位の優先順位が割り当てられてしまう。その結果、同時に取得要求をしている他のバスマスタがあれば、他のバスマスタが優先され、それらの処理が終わるまでバス使用権取得待ちの状態におかれてしまう。
このように、固定優先順位方式と回転優先順位方式には、それぞれの長所と短所がある。固定優先順位方式と回転優先順位方式のいずれか一方の手法だけでは適当でない用途が存在する。例えば、特定のバスマスタは、バス使用権の取得要求を行った後速やかにバスを使用する必要があり、他のバスマスタは平等にバスを使用したいといったような用途がある。このような用途に対しては、固定優先順位方式と回転優先順位方式の長所を併せ持った柔軟なバス調停回路が求められる。
これに対し、例えば、上位の優先順位を保持すべきデータ転送路と、残りのデータ転送回路とにデータ転送路とに分割し、前者に対して固定優先順位として上位の優先順位を設定し、後者に対して回転優先順位を適用するものが知られている(例えば、特許文献1参照)。また、優先順位の異なる複数のグループのいずれかに属するように複数のバスマスタを分割し、バス調停回路はいずれかのグループに対して使用許可を与え、かつ、その場合にグループに属するバスマスタからのバス要求の数だけ連続して使用許可を与えるようにし、バスマスタの切替えに要する時間の低減を図りながら公平なバス調停を実現しようとするものが知られている(例えば、特許文献2参照)。さらに、回転優先順位判定回路の外部にバス使用要求信号をマスクするマスク信号生成回路を設け、優先順位の低い装置にもバスを使用する機会を与えるようにしたものが知られている(例えば、特許文献3参照)。
特開2005−71049号公報 特開2001−175589号公報 特開平5−53979号公報
同一のバスマスタにおいて、特定の処理だけを速やかに処理し、他の処理はバスを平等に割り当てたい場合がある。例えば、画像形成装置において、原稿の画像は、原稿を走査してCCDなどのイメージセンサで読み取り、イメージセンサでサンプリングされた画像の信号をA/D変換器を通してデジタル化し、デジタル化された画像(画像データ)を画像メモリに格納する。画像データを画像メモリに格納するとき、画像データのDMA転送が行われる。一旦画像メモリに格納された画像データは、通常複数段階の画像処理が施された後、画像形成部へ出力される。各段階の画像処理においては、画像メモリから画像メモリへのDMA転送が行われる。画像形成部への出力時には、画像メモリから画像形成部へのDMA転送が行われる。イメージセンサから出力された原稿の画像データを画像メモリに格納する処理は、高い優先順位で、要求後直ちに画像データの転送を開始することが求められる。一旦原稿の走査が始まると、所定量の処理を完了するまでは機械的、電気的に一時停止させることができない。イメージセンサと画像メモリとの間の転送路には、有限容量の入力バッファが配置されており、イメージセンサと画像メモリの転送速度の差をある程度吸収する。入力バッファが満杯にならないように画像データを転送しなければならない。
画像メモリから画像形成部へのデータ転送についても、同様のことがいえる。一旦画像形成部が画像形成を開始すると、所定量の処理を完了するまでは画像形成を機械的、電気的に一時停止させることができない。画像メモリと画像形成部との間の転送路には、有限容量の出力バッファが配置されており、画像メモリと画像形成部の転送速度の差をある程度吸収する。出力バッファが空にならないように画像データを転送しなければならない。それに比べて、画像メモリから画像メモリへの転送は、所定期間内の処理を保証する必要はなく、優先順位を低くしてもよい。ただし、処理がずっと待たされていたのでは、いつまでたっても出力すべきデータの準備ができないので、平等にバス使用権を配分することが好ましい。
しかし、イメージセンサからのデータ転送であっても、例えば、原稿を読み取る速度が異なる複数の動作モードを有する画像形成装置がある。また、バス、DMAおよび画像メモリを含む構成部がユニット化されてなり、高速で原稿を読み取る画像形成装置と低速で原稿を読み取る画像形成装置とに同一種類のユニットが使用されることがある。このようなケースで、高速で原稿を読み取るモード(高速モード)と低速で原稿を読み取るモード(読取モード)の各モードに対して画像デ―タの転送処理が最適化できることが好ましい。即ち、高速モード時は、画像データの転送を高い優先順位で処理することが好ましい。一方、低速モード時は、画像データの転送を高い優先順位で処理する必要は必ずしも存在しない。むしろ画像形成部への出力を優先するために、優先順位を下げるほうが好ましい場合もある。
このような用途では、特定のバスマスタに高い優先順位を固定的に割り当てることは好ましくない。
この発明は、前述のような事情を考慮してなされたものであって、所定のバスマスタの所定の処理に対して高い優先度を付与し、前記バスマスタの他の処理および他のバスマスタには平等にバスを割り当てることのできるバス調停回路を、単純な構成で実現するものである。
この発明は、複数のバスマスタの少なくとも一つからバス使用権取得の要求を受けたとき、所定の優先順位で各バスマスタからの要求の有無を判定し、要求をしたバスマスタの一つにバス使用権を与えるバス調停用の回路であって、各バスマスタからバス取得要求を受ける要求受領部と、前記バス取得要求に優先する緊急取得要求を所定のバスマスタから受ける緊急取得要求受領部と、前回のバス調停でバス使用権を取得したバスマスタを示す第1識別情報を次回のバス調停時に供給すべく保持する優先状態保持部と、第1識別情報を取得し、それに基づき回転優先順位方式で各バスマスタからの前記バス取得要求の有無を判定し、バス使用権を与えるバスマスタを決定し得る要求判定部と、緊急取得要求を受けたとき、その緊急取得要求に対応する第2識別情報を第1識別情報に代えてバス要求判定部へ供給する切替部とを備え、前記要求判定部は、供給された第1または第2識別情報が示すバスマスタを最低順位とする回転優先順位方式で各バスマスタからのバス取得要求および緊急取得要求の有無を判定し、第2識別情報は、その緊急取得要求を発したバスマスタが最高優先順位になるように予め設定されてなることを特徴とするバス調停回路を提供する。
また、この発明は、前記バス調停回路を含んでなる半導体装置を提供する。
この発明のバス調停回路は、緊急取得要求を受けたとき、その緊急取得要求に対応する第2識別情報を第1識別情報に代えてバス要求判定部へ供給する切替部を備え、第2識別情報が、その緊急取得要求を発したバスマスタが最高優先順位になるように予め設定されてなるので、緊急取得要求を受けたとき、その要求を発したバスマスタを最初に判定することができる。また、前記要求判定部が、供給された第1または第2識別情報が示すバスマスタを最低順位とする回転優先順位方式で各バスマスタからのバス取得要求および緊急取得要求の有無を判定するので、前記バスマスタから取得要求を受けたときや他のバスマスタから取得要求を受けたときは回転優先順位方式でバス要求を判定する。
また、この発明のバス調停回路は、主として緊急取得要求受領部、優先状態保持部および切替部によって緊急取得要求に対する優先順位の切替えが処理される。それらの付加部分とバス取得要求を処理する部分、即ち、従来の回転優先順位方式のバス調停部分との機能分担が明確である。従って、従来の回転優先順位方式のバス調停回路に緊急取得要求受領部、優先状態保持部および切替部を付加する単純な構成で緊急取得要求に対応することができる。
前記切替部は、緊急取得要求を発したバスマスタにバス使用権が与えられた後、第1識別情報をバス要求判定部へ供給し優先状態保持部は、第2識別情報がバス要求判定部に供給されている間、第1識別情報を保持してもよい。このようにすれば、緊急取得要求を発したバスマスタにバス使用権が与えられた後のバス調停は、第1識別情報、即ち、バス取得要求の処理に基づく優先順位で判定される。即ち、バス取得要求は回転優先順位方式で処理され、緊急取得要求が割り込んで処理されても、その後の優先順位は緊急取得要求の処理によって影響を受けない。
また、前記バスマスタは、メモリから読み出されたデータを転送し、および/または、メモリへ格納するデータを転送するためのものであってもよい。メモリを転送元および/または転送先としたデータ転送を行うDMAコントローラは、この発明に係るバスマスタの典型例である。
されにまた、転送されるデータは、ページ単位の画像のデータであり、緊急取得要求は、各ページのデータ転送に対応して発せられてもよい。画像データは、この発明に係るバスを用いて転送されるデータの典型例である。
好ましい態様は、組み合わせることができる。
以下、図面を用いてこの発明をさらに詳述する。なお、以下の説明は、すべての点で例示であって、この発明を限定するものと解されるべきではない。
装置の全体構成
図2は、この発明のバス調停回路が用いられる装置のバスとその周辺の構成例を示すブロック図である。
図2で、バス・インターフェース部13は、装置1が有する複数の処理ブロック(周辺29)が、メモリ23、CPU21および他の周辺との間でバスを介してデータやコマンドをやり取りするためのブロックである。やり取りされるコマンドは、予めその形式と内容が定められている。各ブロックは、周辺A、周辺B、周辺C、…周辺nとして示している。例えば、画像形成装置において、周辺Aは原稿の画像を読み取り画像データとして提供するブロック、周辺Bは画像データをページ単位で格納するハードディスク装置、周辺Cは画像データに基づいて画像を形成して印刷を行う画像形成部、他の周辺(周辺nを含む)は、画像データに対して画像フィルタ処理、色補正処理、中間調の特性補正等の各種画像処理をそれぞれ行う画像処理部である。各周辺29は、それぞれが請求項にいうバスマスタであり、DMAによるデータ転送が可能である。各周辺29とバスとの間には、データ転送時の転送元と転送先の処理速度の差を吸収するためのバッファ15が設けられている。即ち、周辺Aとバスとの間にバッファAが設けられ、周辺Bとバスとの間にバッファBが設けられ、周辺Cとバスとの間にバッファCが設けられている。他の周辺についても同様である。
バス・インターフェース部13には、優先順位判定回路11が接続されている。優先順位判定回路11は、請求項にいうバス調停回路に相当する。各周辺29は、コマンドの一つとして、データ転送要求を出力する。バス・インターフェース部13は、データ転送要求を認識してバス使用権の取得要求信号Req*あるいは緊急取得要求信号EmReq*を優先順位判定回路11へ出力する。優先順位判定回路11は、それらの要求信号に応じてどの周辺にバス使用権を付与するかを決定し、決定した周辺に対してバス使用権付与信号Ack*を出力する。
図2で、取得要求信号Req*は、各周辺に対応したn本の信号がある。緊急取得要求信号EmReq*は、周辺Aだけに割り当てられている。即ち、EmReq*Aの1本のみの信号である。周辺Aから送られるデータ転送要求のコマンドには、周辺Aが転送しようとするデータの種類についての情報(例えば、通常の取得要求信号か緊急取得要求信号かを示すフラグ)が付加されている。バス・インターフェース部13は、付加された情報に基づいてReq*Aを出力すべきかEmReq*Aを出力すべきかを判断し、その結果に応じた信号を出力する。なお、この実施の形態において、緊急取得要求信号EmReq*Aを出力するときは必ずReq*Aも同時に出力する。ただし、これは、後述する優先順位判定回路11の具体的な構成に依存するものであって、この発明を限定するものではない。例えば、原稿画像を読み取った画像データを高速モードで転送するときはEmReq*Aを出力する。一方、低速モードで画像を読み取る場合はReq*Aを出力する。
なお、この実施の形態では、緊急取得要求信号を発するのは周辺Aの一つだけであるが、この発明は、これに限定されるものではなく、複数の周辺が緊急取得要求信号を発し得るように構成してもよい。
バスが開放されているとき、優先順位判定回路11は、先にバス使用権の取得要求を受け付けた周辺にバス使用権を付与する。バス使用権を獲得した周辺は、データ転送を行う。例えば、バスが開放されているときに周辺Cのみがバス使用権を要求すると、優先順位判定回路11は、周辺Cにバス使用権を付与することを決定し、Ack*C信号を出力する。周辺Cは、Ack*C信号が出力されたことを認識すると、メモリ23から周辺Cへ所定量のデータ転送を行う。その間、他の周辺は、バスを使用することができない。例えば、周辺Cのデータ転送中に周辺Bがバス使用権の取得要求を行うと、Req*C信号が出力されるが、周辺Cのデータ転送が終了するまで要求は保留される。周辺Cの転送が終了し、バスが開放されると、優先順位判定回路11は、そのときアサートされているReq*信号およびEmReq*信号のいずれか一つにバス使用権を付与すべく、判定を行う。各Req*信号については、回転優先順位方式を用いてバス使用権を付与する。EmReq*Aがアサートされている場合は、いずれのReq*よりも優先して周辺Aにバス使用権を付与する。これについては、後に詳述する。
バスは、バス変換部27を介してシステムバスに接続される。システムバスには、CPU21、メモリ23が接続されている。システムバス・インターフェース部25は、CPU21およびメモリ23がシステムバスを介してデータをやり取りできるようにするブロックである。メモリの一例は、SDRAMである。バス変換部27は、互いに構成の異なるバスとシステムバスとの間でデータのやり取りをできるようにするためのブロックである。一例では、バスはPCIバスである。システムバスは、メモリ23の種類に応じて決定される。
CPU21は、装置1を制御する制御部として機能するものである。メモリ23は、バスを介して転送されるデータを格納するほか、CPU21が実行するプログラムを格納する。さらに、メモリ23には、緊急取得要求信号の出力を許可するか否かを設定するフラグ領域として、緊急取得要求許可/禁止フラグ24が設けられている。前記フラグは、CPU21によって設定/変更可能である。そして、バス・インターフェース部13は、前記フラグの状態を直接参照することができるように構成されている。CPU21は、電源オン後の初期化処理で、前記フラグをオンあるいはオフに設定する。周辺AからEmReq*によるデータ転送を行うようコマンドが送られてきたとき、バス・インターフェース部13は、緊急取得要求許可/禁止フラグ24を参照する。前記フラグが「許可」状態のとき、EmReq*AをReq*Aと共に出力する。一方、前記フラグが「禁止」状態のときReq*Aのみを出力し、EmReq*Aを出力しないように構成されている。即ち、装置1は、CPUの実行するプログラムの内容に応じて、EmReq*Aを使用するか否かを変更きるように構成されている。CPU21が前記フラグの設定を変更すると、変更後の優先順位判定に変更された内容が反映される。
優先順位の判定
次に、優先順位判定回路11の機能について説明する。複数の周辺から同時にバス使用権の取得要求がされている場合、回転優先順位判定回路11は、それらの一つの周辺にバス使用権を付与する。その判断に際して、各周辺に割り当てた優先順位に基づいて最も優先順位の高い周辺にバス使用権を付与する。
図3は、この発明の優先順位判定回路が最優先の周辺を判定する際のルールを示す説明図である。周辺が、A,B,C,Dの4つの場合である。この発明の優先順位判定回路は、通常の取得要求信号に対しては回転優先順位方式に基づいて各周辺に優先順位を割り当てる。従って、判定時の優先順位は、前回判定時の優先順位によって異なる。図3で、鎖線の矢印は、通常の取得要求信号に基づいて判定を行う都度優先順位が切り替わることを示している。たとえば、前回最優先のものが周辺Dであった場合、今回の判定では周辺Aが最優先である。優先順位判定回路11は、周辺A(1)→周辺B→周辺C→周辺Dの順にReq*の有無を判断していき、最初にReq*がアサートされているものにバス使用権を付与する。次回の判定においては、周辺Bが最優先であり、周辺B→周辺C→周辺D→周辺A(1)の順にReq*の有無を判断する。以下、同様である。これを、まとめたものが表1である。
Figure 2008191987
EmReq*Aがアサートされた場合、優先順位判定回路11は、前回判定時の優先順位にかかわらず周辺Aを最優先で処理する。実線の矢印は、この場合の経路を示している。次回の判定においては、EmReq*Aがなかった場合と同様の優先順位で判定する。たとえば、前回最優先のものが周辺Dであった場合にEmReq*Aがアサートされると、優先順位判定回路11は、最初に周辺Aにバス使用権を付与する(周辺A(5))。次回の優先順位判定において、優先順位判定回路11は、周辺A(1)→周辺B→周辺C→周辺Dの順にReq*の有無を判断する。ここで、次回の優先順位判定でも、EmReq*Aがアサートされていると、優先順位判定回路11は再び周辺Aにバス使用権を付与するように構成されている。これが続くと他の周辺にバス使用権が付与されない。これは、周辺A側で、緊急取得要求を連続して発しないようにすることで回避できる。
EmReq*Aのネゲートからアサートまでの間隔が所定期間以上になるような回路を構成することは、当業者に容易である。この問題は、装置の制御に用いる事象をどのように選択するかという設計思想の問題といえる。合理的な設計により、EmReq*Aの連続発生が回避できる。
優先順位判定回路の構成
図1は、この発明の優先順位判定回路11の構成例を示すブロック図である。周辺が、A,B,C,Dの4つの場合を示している。図1で、回転優先判定回路31は、公知のラウンドロビン方式の優先順位判定回路である。回転優先判定回路31は、前回の優先順位(前優先状態)に基づいて、今回の判定の優先順を決定し、「現優先状態」として出力する。現優先状態は、A,B,C,D4つの周辺に対応する4ビットのデータであるが、図面の表記を簡略化するために「4」と信号線上の「/」とで4ビットの2値信号を示している。図1の他の信号も同様の表記方法を採用している。そのような明記のない信号は、1ビットの2値信号である。周辺の数が4以外の場合の構成は、図1から容易に類推できる。
また、回転優先判定回路31は、いずれの周辺にバス使用権を付与するかを示す「バス使用権付与」信号を出力する。Ack生成回路39は、前記信号を受けて、信号をアサートするタイミングを整え、Ack*信号を出力する。また、Ack生成回路39には、Abt_end信号が入力される。Abt_end信号は、バス使用権を獲得した周辺がデータ転送を終了したことを知らせる信号である。回転優先判定回路31は、請求項にいう要求判定部に相当する。
Req受付許可回路41は、Abt_end信号がアサートされている間、回転優先判定回路31へReq*信号をゲートする回路である。即ち、Abt_end信号がネゲートされている間、回転優先判定回路31へのReq*信号は、すべてネゲートされる。Req*信号が全てネゲートされている間、回転優先判定回路31は、「現優先状態」を保持する。換言すれば、「現優先状態」が変化するのは、Abt_end信号がアサートされている間に限られる。Req受付回路41は、請求項にいう要求受領部に相当する。
回転優先判定回路31から出力される「現優先状態」は、イネーブル入力付きDフリップフロップ33のD入力と接続されている。フリップフロップ33には、一定周期のクロックが供給され、クロックに同期して内部の状態が更新される。イネーブル入力Eへの信号がアサートされているとき、出力Qからは、前記クロックに同期して入力Dの状態と一致する信号(「状態ラッチ」信号)が出力される。イネーブル入力Eへの信号がネゲートされた状態では、Qの状態が更新されず、直前の「現優先状態」を保持する。イネーブル入力Eへは、EmReq*Aの状態に等しい信号em_onが反転された信号が入力される。従って、em_on信号(即ち、EmReq*A)がアサートされている間、Dフリップフロップ33からは、直前の「現優先状態」が保持された信号Qが出力される。em_on信号がネゲートされている間、Dフリップフロップ33からは、現優先状態に追従した信号Qが出力される。Dフリップフロップ33は、請求項にいう優先状態保持部に相当する。
Dフリップフロップ33の出力Qは、セレクタ35の一方の入力(0で選択される入力)に接続されている。他方の入力には、EmReq*Aがアサートされたときに、周辺Aに最高優先順位を与えるため、「前優先状態」を周辺Dにする信号pre_portが入力される。この信号は、レジスタ37に保持されている。セレクタ35は、EmReq*Aの状態に等しい信号em_on応じて切り替わる。em_onがアサートされると、セレクタ35は、pre_port信号を選択する。em_onがネゲートされているとき、セレクタ35は、「状態ラッチ」信号を選択する。セレクタ35は、請求項にいう切替部に相当する。また、「状態ラッチ」信号、pre_port信号は、請求項にいう第1識別信号、第2識別信号にそれぞれ相当する。
優先順位判定回路の動作
図4は、図3の優先順位判定回路11の信号の状態を時系列的に示す説明図である。図4の横軸は時間の経過であり、縦方向には各信号を示す。各信号がアサートされた状態をハイレベルで示している。以下、図4に沿って、優先順位判定回路11の動作を説明する。
1.第1回目のバス調停(時刻t0〜t2)
まず、優先順位判定回路11は、時刻t0で図中第1回目のバス調停を行う。このとき、Req*A、Req*B、Req*Dがアサートされており、EmReq*Aはネゲートされている。「前優先状態」は0b1000、即ち、周辺Dが前回判定時に最優先であったとする。なお、ここでは4ビットの信号の状態を表記するために前記したような二進表記を用いる。ビット0〜3の順に、周辺A,B,C,Dに対応しているものとする。
このとき、回転優先順位判定回路31は、「前優先状態」の状態から、周辺Aに最高優先順位を与える(図3および表1参照)。即ち、「現優先状態」として、0b0001、が出力される。その優先順位に従って、Req*Aが最初に判定される。Req*Aがアサートされているので、時刻t1において回転優先順位判定回路31は、バス使用権付与0b0001を出力する。それに応じて、Ack生成回路39からAck*Aが出力される。さらに、em_onがネゲートされているので、「状態ラッチ」として「現優先状態」と同じ信号0b0001が出力され、さらに、それが「前優先状態」としてセレクタ35から出力される。Ack*Aの出力に応答して、周辺Aは時刻t2でReq*Aをネゲートする。また、獲得したバスを介してデータの転送を開始する。
2.第2回目のバス調停(時刻t3〜t5)
時刻t3で周辺Aのデータの転送が終了すると、バス使用権を獲得していた周辺Aは、Abt_endをアサートする。Ack生成回路39は、Abt_end信号がアサートされると、それに応答してAck*A信号をネゲートする。また、Abt_end信号がアサートされると、Req受付許可回路41のゲートが開き、回転優先順位判定回路31に各Req*信号の状態が入力される。いずれかのReq*信号がアサートされていると、回転優先順位判定回路31は、バス調停の動作を行う。
図4では、Req*BとReq*Dがアサートされている。そこで、優先順位判定回路11は、第2回目のバス調停を行う。このとき、前優先状態が0b0001即ち周辺Aであるので、周辺Bに最高優先順位を与える。即ち、「現優先状態」として0b0010が出力される。その優先順位に従って、Req*Bが最初に判定される。Req*Bがアサートされているので、バス使用権付与として0b0010が出力され、Ack生成回路39からAck*Bが出力される。さらに、em_onがネゲートされているので、「現優先状態」と同じ信号0b0010が「状態ラッチ」として出力され、さらに、それが「前優先状態」としてセレクタ35から出力される。Ack*Bの出力に応答して、周辺Bは時刻t5でReq*BとAbt_end信号をネゲートする。また、獲得したバスを介してデータの転送を開始する。
3.第3回目のバス調停(時刻t7〜t9)
時刻t7で周辺Bのデータの転送が終了すると、バス使用権を獲得していた周辺Bは、Abt_endをアサートする。Ack生成回路39は、Abt_end信号がアサートされると、それに応答してAck*B信号をネゲートする。また、Abt_end信号がアサートされると、Req受付許可回路41のゲートが開き、回転優先順位判定回路31に各Req*信号の状態が入力される。いずれかのReq*信号がアサートされていると、回転優先順位判定回路31は、バス調停の動作を行う。このとき、EmReq*A、Req*AおよびReq*Dがアサートされている。Req*Aは、EmReq*Aと同時に、時刻t6でアサートされたものである。
ここで時間を遡り、時刻t6でEmReq*Aがアサートされたときの事象を説明する。特に、Dフリップフロップ33とセレクタ35の動作を説明する。EmReq*Aがアサートされると、em_on信号がアサートされる。すると、Dフリップフロップ33のイネーブル入力Eへの信号がネゲートされる。その結果、出力Q(「状態ラッチ」信号)は、入力Eがネゲートされた時点の「現優先状態」、00b0010を保持する。イネーブル入力Eが再びアサートされるまで出力Qが保持される。また、em_on信号がアサートされると、セレクタ35は、pre_port信号を選択するように切替わる。その結果、セレクタ35からの出力、即ち「前優先状態」は、pre_port信号に等しくなる。ここで、pre_port信号は、周辺Dに対応する値0b1000としてレジスタ37に保持されている。EmReq*Aがネゲートされるまで、Dフリップフロップ33とセレクタ35の状態は変わらない。
再び、時刻t7に戻る。時刻t7では前優先状態が0b1000即ち周辺Dであるので、優先順位判定回路11は、周辺Aに最高優先順位を与える。その優先順位に従って、Req*Aが最初に判定される。Req*Aがアサートされているので、時刻t8においてバス使用権付与として0b0001が出力される。また、Ack生成回路39からAck*Aが出力される。さらに、「現優先状態」として0b0001が出力される。em_onがアサートされているので、「状態ラッチ」として以前の状態0b0010が保持され、セレクタ35からは、「前優先状態」として、pre_portの値、0b1000が出力される。
時刻t9で、周辺AはAck*Aの出力に応答して、EmReq*AとReq*AとAbt_end信号とをネゲートする。また、獲得したバスを介してデータの転送を開始する。EmReq*Aがネゲートされると、em_onがネゲートされ、Dフリップフロップ33の出力Q(「状態ラッチ」信号)は、そのときの「現優先状態」に等しい0b0010になるが、これは結局前の状態と同じである。また、セレクタ35は、「状態ラッチ」を選択するように切り替わる。従って、「前優先状態」は0b0010になる。
4.第4回目のバス調停(時刻t10〜t12)
時刻t10で周辺Aのデータの転送が終了すると、バス使用権を獲得していた周辺Aは、Abt_endをアサートする。Ack生成回路39は、Abt_end信号がアサートされると、それに応答してAck*A信号をネゲートする。また、Abt_end信号がアサートされると、Req受付許可回路41のゲートが開き、回転優先順位判定回路31に各Req*信号の状態が入力される。いずれかのReq*信号がアサートされていると、回転優先順位判定回路31は、バス調停の動作を行う。
時刻t10では、Req*Dがアサートされている。そこで、優先順位判定回路11は、第4回目のバス調停を行う。このとき、前優先状態が0b0010即ち周辺Bであるので、周辺Cに最高優先順位を与え、周辺C→周辺D→周辺A→周辺Bの優先順位に従って、Req*信号の有無を調べる。その結果、Req*Dをアサートしている周辺Dにバス使用権与えられる。時刻t11で、優先順位判定回路11は、バス使用権付与として0b1000を出力する。それに応じて、Ack生成回路39からAck*Dが出力される。また、「現優先状態」として0b1000を出力する。さらに、em_onがネゲートされているので、「状態ラッチ」として「現優先状態」と同じ信号0b1000が出力される。さらに、それが「前優先状態」としてセレクタ35から出力される。周辺Dは、Ack*Dの出力に応答し、時刻t11でReq*DとAbt_end信号をネゲートする。また、獲得したバスを介してデータの転送を開始する。
5.第5回目のバス調停(時刻t13〜t15)
時刻t13で周辺Dのデータの転送が終了すると、バス使用権を獲得していた周辺Dは、Abt_endをアサートする。Ack生成回路39は、Abt_end信号がアサートされると、それに応答してAck*D信号をネゲートする。また、Abt_end信号がアサートされると、Req受付許可回路41のゲートが開き、回転優先順位判定回路31に各Req*信号の状態が入力される。いずれかのReq*信号がアサートされていると、回転優先順位判定回路31は、バス調停の動作を行う。
前述した手順と同様にして、優先順位判定回路11は、バス調停を行う。このとき、前優先状態が0b1000即ち周辺Dであるので、周辺Aに最高優先順位を与え、周辺A→周辺B→周辺C→周辺Dの優先順位に従って、Req*信号の有無を調べる。その結果、Req*Cをアサートしている周辺Cにバス使用権与えられる。時刻t14で、優先順位判定回路11は、バス使用権付与として0b1000を出力する。それに応じて、Ack生成回路39からAck*Cが出力される。また、「現優先状態」として0b1000を出力する。周辺Cは、Ack*Cの出力に応答し、時刻t15でReq*CとAbt_end信号をネゲートする。また、獲得したバスを介してデータの転送を開始する。
優先順位判定回路の詳細
図5は、図1の優先順位判定回路11のより詳細な回路構成を示す説明図である。図5中で、図1の各ブロックに対応する部分には、対応する符号を付している。図1のブロックが複数の素子で構成されるものには、それらを破線で囲み符号を付している。図5の回路図を参照すれば、優先順位判定回路の動作がより明確に理解できるであろう。
図5の回路は、半導体装置上に集積される回路の一部であってもよい。
なお、図5に図示していないが、Dフリップフロップ等のクロック入力端子には、システムクロックが供給されて動作する。また、図5で、信号線状の「/」とその付近の数(4または1)は、信号のビット数を示している。
図5に示すように、回転優先順位判定回路31は、複数のセレクタから構成される。そのうち、4入力のセレクタ31aは、その出力が「現優先状態」である。「前優先状態」は、セレクタ31aの選択信号である。例えば、「前優先状態」が、0b1000(周辺Dに対応)の場合、セレクタ31aは、Req*A優先回路からの入力を選択する。Req*A優先回路は、Req*A→Req*B→Req*C→Req*Dの優先順位で、最初にアサートされている信号がのビットが1、他のビットが0の信号を出力する回路である。また、いずれのReq*信号もアサートされていなければ、そのときのAck*信号を出力する。
回転優先順位判定回路31に入力されるReq*信号は、Req受付許可回路41でAbt_end信号によってゲートされている。いずれかのReq*信号がアサートされるのは、Abt_end信号がアサートされたときに限られる。従って、Abt_end信号がネゲートされている間、セレクタ31aへの4つの入力は、いずれもそのときのAck*信号である。即ち、Abt_endがネゲートされている間、「現優先状態」は、Ack*信号の状態を保持する。
前述した実施の形態の他にも、この発明について種々の変形例があり得る。それらの変形例は、この発明の範囲に属さないと解されるべきものではない。この発明には、請求の範囲と均等の意味および前記範囲内でのすべての変形とが含まれるべきである。
この発明の優先順位判定回路の構成例を示すブロック図である。 この発明のバス調停回路が用いられる装置のバスとその周辺の構成例を示すブロック図である。 この発明の優先順位判定回路が最優先の周辺を判定する際のルールを示す説明図である。 この発明の優先順位判定回路の信号の状態を時系列的に示す説明図である。 図1の優先順位判定回路のより詳細な回路構成を示す説明図である。
符号の説明
1 装置
11 優先順位判定回路
13 バス・インターフェース部
15A、15B、15C、…15n バッファ
21 CPU
23 メモリ
24 緊急取得要求許可/禁止フラグ
25 システムバス・インターフェース部
27 バス変換部
29 周辺
31 回転優先順位判定回路
33 イネーブル入力付きDフリップフロップ
35 セレクタ
37 レジスタ
39 Ack生成回路
41 Req受付許可回路

Claims (5)

  1. 複数のバスマスタの少なくとも一つからバス使用権取得の要求を受けたとき、所定の優先順位で各バスマスタからの要求の有無を判定し、要求をしたバスマスタの一つにバス使用権を与えるバス調停用の回路であって、
    各バスマスタからバス取得要求を受ける要求受領部と、
    前記バス取得要求に優先する緊急取得要求を所定のバスマスタから受ける緊急取得要求受領部と、
    前回のバス調停でバス使用権を取得したバスマスタを示す第1識別情報を次回のバス調停時に供給すべく保持する優先状態保持部と、
    第1識別情報を取得し、それに基づき回転優先順位方式で各バスマスタからの前記バス取得要求の有無を判定し、バス使用権を与えるバスマスタを決定し得る要求判定部と、
    緊急取得要求を受けたとき、その緊急取得要求に対応する第2識別情報を第1識別情報に代えてバス要求判定部へ供給する切替部とを備え、
    前記要求判定部は、供給された第1または第2識別情報が示すバスマスタを最低順位とする回転優先順位方式で各バスマスタからのバス取得要求および緊急取得要求の有無を判定し、
    第2識別情報は、その緊急取得要求を発したバスマスタが最高優先順位になるように予め設定されてなることを特徴とするバス調停回路。
  2. 前記切替部は、緊急取得要求を発したバスマスタにバス使用権が与えられた後、第1識別情報をバス要求判定部へ供給し
    優先状態保持部は、第2識別情報がバス要求判定部に供給されている間、第1識別情報を保持する請求項1記載のバス調停回路。
  3. 前記バスマスタは、メモリから読み出されたデータを転送し、および/または、メモリへ格納するデータを転送するためのものである請求項1記載のバス調停回路。
  4. 転送されるデータは、ページ単位の画像のデータであり、緊急取得要求は、各ページのデータ転送に対応して発せられる請求項3記載のバス調停回路。
  5. 請求項1記載のバス調停回路を含んでなる半導体装置。
JP2007026939A 2007-02-06 2007-02-06 バス調停回路 Active JP4832327B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007026939A JP4832327B2 (ja) 2007-02-06 2007-02-06 バス調停回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007026939A JP4832327B2 (ja) 2007-02-06 2007-02-06 バス調停回路

Publications (2)

Publication Number Publication Date
JP2008191987A true JP2008191987A (ja) 2008-08-21
JP4832327B2 JP4832327B2 (ja) 2011-12-07

Family

ID=39752023

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007026939A Active JP4832327B2 (ja) 2007-02-06 2007-02-06 バス調停回路

Country Status (1)

Country Link
JP (1) JP4832327B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07219887A (ja) * 1994-01-28 1995-08-18 Nec Eng Ltd Dma転送制御装置
JP2000141781A (ja) * 1998-11-06 2000-05-23 Canon Inc 画像生成装置及びその制御方法及び印刷装置
JP2004046782A (ja) * 2002-07-12 2004-02-12 Samsung Electronics Co Ltd 緊急チャンネルを用いた共有バス仲裁方法及び仲裁装置
JP2005056034A (ja) * 2003-08-01 2005-03-03 Nec Engineering Ltd 占有権調停装置
JP2005071049A (ja) * 2003-08-22 2005-03-17 Murata Mach Ltd データ転送制御装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07219887A (ja) * 1994-01-28 1995-08-18 Nec Eng Ltd Dma転送制御装置
JP2000141781A (ja) * 1998-11-06 2000-05-23 Canon Inc 画像生成装置及びその制御方法及び印刷装置
JP2004046782A (ja) * 2002-07-12 2004-02-12 Samsung Electronics Co Ltd 緊急チャンネルを用いた共有バス仲裁方法及び仲裁装置
JP2005056034A (ja) * 2003-08-01 2005-03-03 Nec Engineering Ltd 占有権調停装置
JP2005071049A (ja) * 2003-08-22 2005-03-17 Murata Mach Ltd データ転送制御装置

Also Published As

Publication number Publication date
JP4832327B2 (ja) 2011-12-07

Similar Documents

Publication Publication Date Title
JP4480427B2 (ja) リソース管理装置
US7349424B2 (en) On-chip inter-subsystem communication including concurrent data traffic routing
JP4907166B2 (ja) リソース管理装置
JP4485599B2 (ja) アクセス制御装置、アクセス制御集積回路、及びアクセス制御方法
KR100480605B1 (ko) 네트워크 제어기의 송신부 버퍼 및 수신부 버퍼를제어하는 방법 및 네트워크 제어기
TW200400438A (en) Bus arbiter for integrated circuit systems
JPH0630086B2 (ja) 並列に動作するコンピユ−タの間で優先度を割り当てるための装置
JP4832327B2 (ja) バス調停回路
JP6036806B2 (ja) バスアクセス調停回路およびバスアクセス調停方法
JPH09153009A (ja) 階層構成バスのアービトレーション方法
JP2000132505A (ja) バスアクセス方法および装置とその利用装置およびシステム
KR100451722B1 (ko) 직접 메모리 액세스 제어 장치
JP5332692B2 (ja) データ転送制御装置、データ転送制御方法、データ転送制御プログラム及び記録媒体
JP2006277363A (ja) 情報転送方式,画像形成装置
JPS63175964A (ja) 共有メモリ
JP4862593B2 (ja) データ転送装置及び画像形成装置
JP2005316621A (ja) バス調停装置および画像処理装置
KR20020097478A (ko) 다중 채널을 가진 고속 직접 메모리 억세스 컨트롤러
JP2006053613A (ja) データ転送制御装置及びデータ転送制御方法
JP3678537B2 (ja) データ転送方法及び装置
JP2002049581A (ja) バス調停方法及びバス制御装置
JPH10214252A (ja) バス調停方式
JPH04312156A (ja) バスアービタ
JP2007108857A (ja) データ処理装置
JPH08297631A (ja) バス制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110524

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110714

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110920

R150 Certificate of patent or registration of utility model

Ref document number: 4832327

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140930

Year of fee payment: 3