JP4945953B2 - 調停回路 - Google Patents

調停回路 Download PDF

Info

Publication number
JP4945953B2
JP4945953B2 JP2005235899A JP2005235899A JP4945953B2 JP 4945953 B2 JP4945953 B2 JP 4945953B2 JP 2005235899 A JP2005235899 A JP 2005235899A JP 2005235899 A JP2005235899 A JP 2005235899A JP 4945953 B2 JP4945953 B2 JP 4945953B2
Authority
JP
Japan
Prior art keywords
register
priority
rank
registers
order
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.)
Expired - Fee Related
Application number
JP2005235899A
Other languages
English (en)
Other versions
JP2007052545A (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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation 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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2005235899A priority Critical patent/JP4945953B2/ja
Publication of JP2007052545A publication Critical patent/JP2007052545A/ja
Application granted granted Critical
Publication of JP4945953B2 publication Critical patent/JP4945953B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ラウンドロビン方式を適用して、メモリなどへの複数のアクセス要求を調停する調停回路に関する。
複数のモジュールなどからメモリなどへのアクセス要求を調停する調停回路には、優先順位が固定された方式に加えて、優先順位を切り替えるラウンドロビン方式がある。優先順位が固定された調停回路は、アクセス権が優先順位の高いモジュールに偏るという問題があり、これに対して、ラウンドロビン方式を適用した調停回路では、要求元となる各モジュールから順にアクセス要求があれば各モジュールに均等にアクセス権を付与することが可能となる。
一方、ラウンドロビン方式を適用した調停回路では、要求元の数で帯域を分け合うため、保証される最低帯域は、要求数の均等割りとなり、帯域の調整が困難となる。
ここから、要求元である複数のバスマスタに対して重み付けを設定し、重み付けに応じて分割したバス要求を、ラウンドロビンバス調停回路へ入力することにより、特定のバスマスタによってバスが独占されるのを防止しながら、重要度に配慮したバス調停を行うようにしたバス調停装置が提案されている(例えば、特許文献1参照。)。
また、予め決められた優先順位にしたがって全て要求元にバス使用許可を与えるまでは、新たなバス使用要求の受け付けを抑制することにより、優先順位の一番高いバスアクセス回路(要求元)がバス使用要求を連続して発したときに、そのバスアクセス回路に連続してバス使用許可を与えることになってしまうのを防止する提案もなされている(例えば、特許文献2参照。)。
ところで、ラウンドロビン方式では、調停を要求するモジュールごとに優先度レジスタを設け、バス権を有するモジュールのバス使用を終了するたびに、そのモジュールの優先度を最下位に下げると共に、優先度の低いモジュールの優先度レジスタの内容を1レベルずつ繰り上げるようにしている。
このとき、優先度レジスタの更新は、デコーダ、カウンタないし、インクリメンタなどを用いているため、更新動作の高速化が困難となっている。
ここから、帯域の調整を行うときの優先度の順位情報をエントロピー符号化することで、優先順位の高いものがラウンドロビンの中に複数回入るようにし、優先順位の高いモジュールからの要求に対して、より多くのアクセス権獲得を可能とする提案がなされている(例えば、特許文献3参照。)。
優先順位をビット位置に応じて決定することで、順位確定のための回路の簡素化及び高速化を図るようにした提案がなされている(例えば、特許文献4参照。)。
しかしながら、特許文献3の提案では、順位情報からエントロピー符号化することで帯域の調整を行っているために、調整後の帯域は固定されてしまい、特定の要求元に対してのみの帯域調整などに対応することが困難となり、エントロピー符号化が回路の高速化を妨げることになってしまう。
また、特許文献4の提案では、ビット位置で順位を決定することで付属する回路の高速化は見込めるが、固定順位で調整を行うために、帯域調整ができないという問題がある。
特開平8−95906号公報 特開平11−31123号公報 特開2003−263401号公報 特開2002−132514号公報
本発明は上記事実に鑑みてなされたものであり、高速化を図りながら、要求元ごとに所望の優先順位を確保し、帯域の調整の自由度を高めることが可能な調停回路を提供することを目的とする。
上記目的を達成するために本発明は、アクセス対象にアクセスする複数の要求元のそれぞれに対して優先順位が設定され、前記要求元から前記アクセス対象へのアクセス要求が入力されることにより、該当要求元に対する前記優先順位に基づき、最も高い優先順位要求元に対してアクセス許可を発する調停回路であって、少なくとも前記複数の要求元の数のレジスタが優先順に直列に配列され、優先情報を示すデータを保持する前記レジスタの前記配列位置により前記優先順位が示される順位レジスタと、前記レジスタのそれぞれに対応して設けられ、入力端に自己が対応する前記レジスタの出力端及び該レジスタより前記配列位置が前記優先順位の上位側の前記レジスタのそれぞれの出力端が接続され、第1の制御信号が入力されることにより前記入力端に入力されるデータを自己の出力端から出力する第1のセレクタと、前記レジスタのそれぞれに対応して設けられ、第1の入力端に前記第1のセレクタの出力端が接続され、第2の入力端に自己が対応する前記レジスタより前記配列位置が前記優先順位の下位の前記レジスタの前記出力端が接続され、第2の制御信号が入力されることにより、前記第2の入力端に入力されるデータに換えて前記第1の入力端に入力されるデータを自己の出力端から出力する第2のセレクタと、前記レジスタのそれぞれに対応して設けられ、入力端に前記第2のセレクタの前記出力端が接続され、第3の制御信号が入力されることにより自己の対応する前記レジスタが保持しているデータを該レジスタの出力端から出力するのに同期して、自己の前記入力端に入力されるデータを出力端から前記レジスタの入力端に入力し、該レジスタが保持するデータを更新する第3のセレクタと、前記複数の要求元ごとの前記順位レジスタを備え、前記要求元に対応する前記順位レジスタにより要求元ごとの前記優先順位が示される順位レジスタ部と、前記順位レジスタ部の前記順位レジスタのそれぞれに対し、前記配列位置が前記アクセス許可の発せられた前記要求元の前記優先順位の前記レジスタに対応する前記第1のセレクタに前記第1の制御信号を出力し、前記配列位置が前記第1の制御信号を出力した前記レジスタよりも前記優先順位の下位側で予め設定された順位の前記レジスタに対応する前記第2のセレクタに前記第2の制御信号を出力し、かつ前記配列位置が前記第1の制御信号を出力する前記優先順位から前記第2の制御信号を出力する前記優先順位の範囲の前記レジスタに対応する前記第3のセレクタへ前記第3の制御信号を出力することにより、前記アクセス許可が発せられた前記要求元の前記優先順位を前記予め設定された順位に下げると共に、前記優先順位が前記予め設定された順位以上で前記アクセス許可の発せられた前記要求元の優先順位からより低い前記要求元の優先順位を繰り上げるように更新する更新制御手段と、を含む。
また、本発明は、前記順位レジスタのそれぞれに、前記要求元の数より多い前記レジスタが設けられ、前記要求元の少なくとも一つに対して複数の優先順位が設定される。
さらに、本発明は、前記複数の要求元が、グループ内で前記優先順位が連続する少なくとも2つのグループに区分けされ、前記更新制御手段は、前記グループ内の前記要求元に対して前記アクセス許可が発せられることにより、該当グループ内で前記配列位置が前記優先順位で最下位の前記レジスタに前記第2の制御信号を出力する。
また、本発明は、前記区分けされた前記グループに前記優先順位の更新を行わない固定順位グループを含む。
なお、巡回順位グループは、ラウンドロビン方式で優先順位を更新し、また、複数のグループの間で優先順位が設定されている。
これにより、順位レジスタが保持する優先順位は、巡回順位グループ内でのみ更新されるので、優先順位の更新範囲を複数の順位レジスタの間で設定することが可能となる。
また、本発明では、前記順位レジスタのグループに、グループ内の順位レジスタの間で順位が固定された固定順位グループを含むことにより、順位レジスタごとの優先順位の設定や更新範囲の設定の自由度を高くすることができる。
このような本発明においては、前記巡回順位グループ内の前記順位レジスタのそれぞれが、優先順位数に応じたビット数のデータを保持可能なレジスタを含み、所定のデータを保持するレジスタの位置によって優先順位が設定されるときに、前記更新制御手段が、前記順位レジスタのそれぞれに対し、前記アクセス許可が発行された前記要求元の前記優先順位に該当する位置の前記レジスタ内のデータを優先順位が下位のレジスタへ繰り下げることにより、順位レジスタが保持する優先順位の更新を行うことができる。
また、本発明は、アクセス対象にアクセスする複数の要求元のそれぞれに対して設けられ、要求元に対する優先順位を保持する順位レジスタと、前記要求元から前記アクセス対象へのアクセス要求が入力されることにより、前記順位レジスタから取得した前記優先順位を付加する順位出力手段と、前記順位出力手段によって付加された前記優先順位から最も高い優先順位を確定する順位確定手段と、前記順位確定手段によって確定された優先順位の前記要求元に対してアクセス許可を発する許可発行手段と、を含むことができる
これにより、順位レジスタのそれぞれが、ビットデータを保持可能な複数のレジスタの配列によって形成され、所定のデータを保持するレジスタの位置によって優先順位が定まる。
このときの優先順位の更新は、アクセス許可された要求元優先順位に対応するレジスタのデータを、下位のデータを保持するレジスタに下げると共に、下位のレジスタのデータのそれぞれを繰り上げる。
また、要求元の数を越えるレジスタを、各順位レジスタに設けることにより、少なくとも一つの要求元に対して、複数の優先順位を設定することが可能となる。
これにより、順位レジスタの間で帯域を異ならせることができるので、優先順を調整するときの自由度を高くすることができる。
このような本発明においては、前記変更制御手段が、前記アクセス許可された前記要求元の前記優先順位に基づいて前記各順位レジスタでデータを更新する前記レジスタの範囲を設定して、設定した範囲内でデータのローテーションを行うことができ好ましい。
また、本発明では、順位更新をするための回路の簡略化と共に高速化を可能とすることができる。
このような本発明は、前記複数の要求元を所定数のグループに区分けする区分け手段を含んでも良く、前記レジスタのそれぞれに所定のデータを書き込むことにより、前記要求元ごとの前記優先順位を設定する初期設定手段を含むことができ、これにより、優先順位の調整の自由度をより高くすることができる。
以上説明したように本発明によれば、要求元のそれぞれに対応する順位レジスタが保持する優先順位を調整するときの自由度を高めることができ、所望の優先順位でのアクセス許可が可能となり、帯域の調整の自由度が高まるという優れた効果が得られる。
また、ラウンドロビン方式で優先順位を更新するときの回路の簡略化と共に、高速化が可能となる。
以下に、図面を参照しながら本発明の実施の形態を説明する。図1には、本実施の形態に適用した調停回路10の概略構成を示している。この調停回路10は、例えば、DMA(Direct Memory Access)などに対して、要求元とする複数のモジュールからアクセス対象とするメモリ(何れも本実施の形態では図示を省略)へのアクセス要求がなされるときに、アクセス要求を調停して、メモリへのアクセス権を付与するモジュールを設定する。なお、本発明の調停回路10は、これに限らず、複数の要求元からの要求を調停する任意の構成のアービタに適用することができる。
調停回路10は、順位出力部12、順位確定部14、許可発行部16及び順位レジスタ部18を含んで構成されている。順位出力部12には、要求元となる図示しないモジュールのそれぞれからアクセス要求信号(REQ)が入力されるようになっている。なお、ここでは、一例として8台のモジュールから、アクセス要求信号REQ−A〜REQ−Hが入力されるものとしている。
順位レジスタ部18には、各モジュールごとに設定されている優先順位を保持する複数の順位レジスタ20が設けられており、順位レジスタ20のそれぞれが保持している順位が、モジュールごとの優先順位となっている。順位レジスタ部18は、順位レジスタ20に保持している順位情報を順位出力部12及び許可発行部16のそれぞれに出力されるようになっている。
順位出力部12は、アクセス要求信号REQが入力されると、入力されたアクセス要求信号REQの要求元に設定されている優先順位に基づいて、アクセス順位信号REQ-ORDER(REQ-ORDER−A〜REQ-ORDER−H)を出力する。
順位確定部14は、アクセス順位信号REQ-ORDERに基づいて要求元の中で、最も優先順位の高い要求元に対する最優先信号TOP-PRIを出力する。
許可発行部16は、最優先信号TOP-PRIに基づいて、該当する要求元にアクセスを許可するアクセス許可信号ACK(ACK−A〜ACK−H)を出力する。
これにより、複数の要求元の中から、アクセス許可信号ACKによって許可された要求元となるモジュールが、メモリなどへのアクセス対象へアクセスが可能となる。
順位レジスタ部18には、変更制御部22が設けられている。順位レジスタ部18では、順位レジスタ20に保持する優先順位を、ラウンドロビン方式で入れ替える機能を備えている。
許可発行部16では、許可信号ACKを出力すると、順位レジスタ部18の変更制御部22へ順位入れ替え信号として、許可信号ACKを発した要求元に対する順位レジスタ20が保持する順位を下げるダウン要求信号DOWN−ORDERを出力するようになっている。
順位レジスタ部18の変更制御部22は、ダウン要求信号DOWN−ORDERが入力されることにより、ラウンドロビン方式で、順位レジスタ20に保持している順位の入れ替えを行うようにしている。
ところで、本実施の形態に適用した調停回路10では、ラウンドロビン方式で優先順位の入れ替えを行うモジュールに対応する順位レジスタ20のグループ(巡回順位グループ24)と、優先順位が固定されているモジュールに対応する順位レジスタ20のグループ(固定順位グループ26)に分けられており、また、巡回順位グループ24と固定順位グループ26の間でも優先順位が設定されている。
図2には、この順位レジスタ部18の概略を示しており、図3には、順位レジスタ20の間での優先順位の一例を示している。なお、本実施の形態では、8つのモジュールのそれぞれに対応して順位レジスタ20A、20B、20C、20D、20E、20F、20G、20Hを設けており、図3では、順位レジスタ20A〜20Hを、レジスタA〜Hとして示している。
また、図3に示されるように、本実施の形態では、順位レジスタ20A〜20D(レジスタA〜D)で巡回順位グループ24を形成し、順位レジスタ20E〜20H(レジスタE〜H)で固定順位グループを形成しており、巡回順位グループ24の優先順位が固定順位グループ26の優先順位より高くしている。
さらに、巡回順位グループ24内では、いずれかの順位レジスタ20に複数の順位を設定できるようにしており、ここでは、一例として、順位レジスタ20B(レジスタB)に2つの順位が設定されるようにしている。優先順位は、0位が最も高く、数字が大きくなるにしたがって低くなるようにしており、ここでは、0位をレベル0とし、以下優先順位の高い方から順に、レベル1、レベル2、・・としている。
ここから、順位レジスタ20A〜20Dは、優先順位が最も高い0位(レベル0)から4位(レベル4)までの順位が設定され、順位レジスタ20E〜20Hは、優先順位が5位(レベル5)から8位(レベル8)の間となっている。なお、固定順位グループ26内では、順位レジスタ20Eから20Hの間の順位が予め設定され、順位レジスタ20E〜20Hには、設定された順位情報が保持されている。
ここで、まず、巡回順位グループ24に適用するラウンドロビン方式の基本構成を説明する。
図4には、順位レジスタ部18の基本構成(以下、順位レジスタ部30とする)を示している。この順位レジスタ部30には、要求元(モジュール)のそれぞれに対応する順位レジスタ32が形成されている。なお、順位レジスタ32は、基本的構成が順位レジスタ20と同じになっている。また、図4では、一例として4台(4箇所)の要求元のそれぞれに対応する順位レジスタ32A、32B、32C、32Dが形成されている。
順位レジスタ32A〜32Dのそれぞれには、優先順位の数に応じたレベルユニット34が形成されている。なお、ここでは、一例として優先順位を、レベル0、レベル1、レベル2、レベル3の4レベルとして、レベル0の優先順位が最も高く、レベル3の優先順位が最も低いものとしており、順位レジスタ32には、優先順位の数に応じたレベルユニット34(レベルユニット34A、34B、34C、34D)が設けられている。
レベルユニット34には、1ビットのデータが保持されるようになっており、順位レジスタ32では、レベルユニット34A〜34Dの何れに「1」のデータが保持されているかによって優先順位が示される。
すなわち、レベルユニット34A〜34Dは、優先順位に基づいて並べられており、レベルユニット34Aに「1」が保持されている順位レジスタ32の優先順位が最も高く、レベルユニット34Dに「1」が保持されている順位レジスタ32の優先順位が最も低くなっている。言い換えれば、各順位レジスタ32は、レベルユニット34Dにデータが保持されているときに優先順位が最も低く、レベルユニット34Aにデータが保持されているときに、優先順位が最も高いと判断される。
順位レジスタ32では、レベルユニット34A〜34Dの間でシフトレジスタが形成されており、変更制御部22Aから入力される制御信号に基づいて、レベルユニット34A〜34Dの間で、データの繰り上げ及び繰り下げが行われるようになっている。
このとき、順位レジスタ32では、データの繰り下げを行うときには、レベルユニット34A〜34Cのデータのいずれかがレベルユニット34Dに落とされ、移動元のレベルユニット34に、下位のレベルユニット34のデータが繰り上げられる。
図5には、このような構成の順位レジスタ32が設けられた順位レジスタ部30の具体的構成を示している。各順位レジスタ32のレベルユニット34(レベルユニット34A〜34D)は、レジスタユニット36と、第2のセレクタとされるセレクタ38第1のセレクタとされる40を含んで形成されている。
図6に示されるように、レジスタユニット36は、レジスタ42と第1のセレクタとされるセレクタ44によって形成されており、レジスタ42には、1ビット(「0」又は「1」)のデータが保持される。また、レジスタユニット36では、変更制御部22A(図5参照)からセレクタ44に第3の制御信号とされる更新信号updateが入力されることにより、レジスタ42に保持しているデータを出力すると共に、セレクタ44を介してレジスタ42に入力されるデータ、レジスタ42に保持される。
図5に示されるセレクタ38は、ラウンドロビンの下位側の範囲位置の選択用となっており、下位のレベルユニット34を更新するか、その範囲でデータを最下位に下ろすべきレベルユニット34を選択しかつ更新するか、の選択用となっている。
また、セレクタ40は、自身が含まれるレベルユニット34及びそれより上位から最下位にデータを下ろすレベルユニット34の選択用となっている。
図5に示されるように、セレクタ38には、変更制御部22Aからラウンドロビンの後端を示す第2の制御信号とされる後端信号end-stopが入力されるようになっている。また、変更制御部22Aでは、下位に下げるレベルユニット34のセレクタ40に、第1の制御信号とされるダウン要求信号down-orderを出力するようになっている。
変更制御部22Aでは、ダウン要求信号down-order、更新信号update及び後端信号end-stopのテーブル(LUT:Look−up table)が設定されて記憶されており、このLUTに基づいてダウン要求信号down-order、更新信号update及び、後端信号end-stopを出力する。
図7には、一例として、レベル0(レベルユニット34A)のデータを、レベル3(レベルユニット34D)に繰り下げ、レベル1(レベルユニット34B)、レベル2(レベルユニット34C)、レベル3のデータをそれぞれ1ステップずつ繰り上げるときのLUTを示している。なお、LUTの1段目がレベル0を繰り下げる場合、2段目がレベル1を繰り下げる場合、3段目がレベル2を繰り下げる場合であり、4段目がレベル3を繰り下げる場合(この場合には、実質レベルに変化が生じない)となっている。
このとき、ラウンドロビンの範囲が、レベル0〜レベル3となるので、更新信号updateは、レベル0〜レベル3のレジスタ42(レジスタユニット36)のデータを更新し、レベル1〜レベル3のデータを順に繰り上げるように設定されている。また、ラウンドロビンの後端がレベル3となるので、レベルユニット34Dのレジスタ38に後端信号end-stopが出力されるように設定される
変更制御部22Aは、ダウン要求信号down-orderとして、レベル0のデータを最下位に落とす信号(down-order(0:3))が入力されると、図7に示すLUTに沿って更新信号update、ダウン要求信号down-order 、及び後端信号end-stopを、順位レジスタ32A〜32Dのレベルユニット34A〜34Dへ出力するようにしている。
このように構成されている順位レジスタ部30では、例えば、図8(A)に示されるように、順位レジスタ32A(レジスタA)のレベル3(レベルユニット34D)、順位レジスタ32B(レジスタB)のレベル1(レベルユニット34B)、順位レジスタ32C(レジスタC)のレベル0(レベルユニット34A)及び、順位レジスタ32D(レジスタD)のレベル2(レベルユニット34C)のそれぞれに「1」が保持されていると、優先順位は、順位レジスタ32C、順位レジスタ32B、順位レジスタ32D、順位レジスタ32Aとなる。
ここで、レベルユニット34Bに対応するモジュールに許可信号ACK(許可信号ACK−Bが出力され、レベルユニット34Bの順位をラウンドロビン方式で下げるダウン要求信号down-order(1:3)が入力されると、図8(B)に示されるように、各順位レジスタ32のレベルユニット34Bに保持されているデータ(1chのデータ)が、レベルユニット34Dに下げられて、レベルユニット34Dのデータ(レベル3のデータ)として保持される。
これと共に、レベルユニット34C、34Dのデータ(レベル2のデータとレベル3のデータ)が、順に繰り上げられ、レベルユニット34B、34Cのデータ(レベル1のデータとレベル2のデータ)として保持される。
この結果として、図8(C)に示されるように、順位レジスタ32Bの優先順位が最下位に下げられると共に、順位レジスタ32A、32Dの優先順位が繰り上げられ、順位レジスタ32A〜順位レジスタ32の優先順位が、順位レジスタ32C、順位レジスタ32D、順位レジスタ32A、順位レジスタ32Bに更新される。
このように、4つの順位レジスタ32A〜32Dに対して、優先順位を4レベルに設定することにより、各レジスタの帯域は、1/4となり、順位レジスタ32A〜32Dの間では、帯域のバランスが均等となる。
一方、図2に示されるように、本実施の形態に適用した順位レジスタ部18では、巡回順位グループ24内の順位レジスタ20(順位レジスタ20A〜20D)のいずれかに対して、2つの順位設定可能となっている。
このときには、4つの順位レジスタ20A〜20Dに対して、5つの順位を設定するために、各順位レジスタ20A〜20に、レベルユニット34A〜34Dと同じ構成のレベルユニット34Eを付加して、5つのレベルユニット34A〜34Eを設けている。
これにより、図3に示されるように、巡回順位グループ24では、順位レジスタ20A〜20Dのいずれかに、複数の順位を設定することができるようになっている。
なお、図3では、一例として、順位レジスタ20Bに複数の順位を設定しており、これにより、順位レジスタ20A〜20Dの間では、優先順位が順位レジスタ20A、順位レジスタ20B、順位レジスタ20B、順位レジスタ20C、順位レジスタ20Dとなっており、順位レジスタ20A、20C、20Dの帯域が1/5であるのに対して、順位レジスタ20Bの帯域が2/5となっている。
図2に示されるように、変更制御部22では、レベルユニット34Dの各セレクタ38、40、44(図6参照、レジスタユニット36内)にも、ダウン要求信号down-order、更新信号update及び、後端信号end-stopを、許可発行部16から入力される信号(ダウン要求信号DOWN-ORDER)に基づいて出力するようになっている。
これにより、順位レジスタ部18では、巡回順位グループ24内の4つの順位レジスタ20A〜20Dを、5レベルの優先順位でラウンドロビンを行うことができるようになっている。
一方、順位レジスタ部18には、固定順位グループの順位レジスタ20(順位レジスタ20E〜20H)のそれぞれに、固定順位グループに割り当てられている優先順位のレベル数に合わせた数のレジスタ46が設けられている。
なお、本実施の形態では、固定順位グループ26に、優先順位がレベル5からレベル8までの4レベルが割り当てられており、ここから、順位レジスタ20E〜20Hには、レジスタ46A、46B、46C、46Dが設けられている。
ここで、順位レジスタ20E〜20では、レジスタ46Aのデータが「1」であるときに固定順位グループ26内で最も優先順位が高く、レジスタ46Dのデータが「1」であるときに、固定順位グループ26内で最も優先順位が低くなっている。
順位レジスタ20E〜20では、レジスタ46A〜46Dのいずれかのデータが「1」であるかによって優先順位が設定されている。図3では、一例として、順位レジスタ20E(レジスタE)、順位レジスタ20F(レジスタF)、順位レジスタ20G(レジスタG)、順位レジスタ20H(レジスタH)の順で優先順位が設定されている。
すなわち、順位レジスタ20Eのレジスタ46A、順位レジスタ20Fのレジスタ46B、順位レジスタ20Gのレジスタ46C、順位レジスタ20Hのレジスタ46Dのデータが「1」に設定されている。
一方、順位レジスタ部18に設けている変更制御部22では、外部から順位レジスタ20の優先順位の初期値を入力可能となっている。すなわち、変更制御部22では、順位レジスタ20A〜20Dのレベルユニット34A〜34Dのデータの書き換え及び、順位レジスタ20E〜20Hの各レジスタ46A〜46Dのデータの書き換えが可能となっている。
これにより、調停回路10では、巡回順位グループ24内の順位レジスタ20A〜20Dの優先順位の初期値及び、固定順位グループ26内の順位レジスタ20E〜20Hの優先順位の初期値を任意に設定可能となっている。
このように構成されている調停回路10では、順位出力部12にアクセス要求REQが入力されると、順位レジスタ部18から、要求元のモジュールに対応する順位レジスタ20に保持されている優先順位を取得し、アクセス順位信号REQ−ORDERを順位確定部14へ出力する。
順位確定部14では、アクセス順位信号REQ−ORDERが入力されると、要求元に対する優先順位に基づいて優先順位の高い要求元(アクセス要求信号REQ)を示す最優先信号TOP−PRIを許可発行部16へ出力する。
許可発行部16では、最優先信号TOP−PRIを受信すると、この最優先信号TOP−PRIによって特定される要求元に対して、許可信号ACKを出力する。
これにより、許可信号ACKを取得した要求元が、メモリなどへのアクセス対象へのアクセス可能となる。
ここで、順位出力部12に複数の要求元からアクセス信号REQが入力されたときには、それぞれの要求元の順位レジスタ20に保持されている優先順位を取得し、アクセス信号REQごとに優先順位を付加したアクセス順位信号REQ−ORDER を順位確定部14へ出力する。
これにより、順位確定部14では、優先順位の最も高い要求元に対する最優先信号TOP−PRIを、許可発行部16へ出力し、該当要求元に対する許可信号ACKが発行されるようにしている。
ところで、調停回路10に設けている発行許可部16は、許可信号ACKを出力すると、許可信号ACKの出力先に対するダウン要求信号DOWN-ORDERを、順位レジスタ部18へ出力するようになっており、順位レジスタ部18では、このダウン要求信号DOWN−ORDERに基づいて、優先順位の変更を行うようになっている。
ここで、許可信号ACKに応じた順位レジスタ部18での優先順位の変更を説明する。順位レジスタ部18には、要求元のそれぞれに対応する順位レジスタ20が設けられており、それぞれの順位レジスタ20に優先順位を示すデータ(順位情報)が保持されている。
また、順位レジスタ部18には、順位レジスタ20が巡回順位グループ24と固定順位グループ26に分けられており、巡回順位グループ24と固定順位グループ26の間で優先順位が設定されている。
巡回順位グループ24の順位レジスタ20A〜20Dでは、レベルユニット34A〜34E内のレジスタ42に保持されるデータに応じて優先順位が定まるようになっており、固定順位グループ26の順位レジスタ20E〜20Hでは、レジスタ46A〜46Dに保持されるデータに応じて優先順位が定まるようになっている。
また、順位レジスタ部18では、変更制御部22から、順位レジスタ20A〜20Dの各レベルユニット34A〜34Eのレジスタ42で保持するデータ及び、順位レジスタ20E〜20Hの各レジスタ46A〜46Dで保持するデータの書き換えが可能となっている。
これにより、順位レジスタ18では、巡回順位グループ24内及び、固定順位グループ26内のそれぞれで、各順位レジスタ20の優先順の初期値を、任意に設定することができる。なお、レジスタ42及び46(46A〜46D)へのデータの書き込み及び、書き込むデータの入力は、任意の構成を適用することができる。なお、巡回順位グループ24内の順位レジスタ20A〜20Dのレベルユニット34E〜34H及び、固定順位グループ内の順位レジスタ20E〜20Hのレベルユニット34A〜34Dも書き換え可能として、この部分も含めた巡回順位グループ/固定順位グループの再編、再設定ができるようにしても良く、これにより、より自由度を高めることができる。
図3には、このような順位レジスタ部18での優先順位の設定の一例を示している。
順位レジスタ部18では、巡回順位グループ24の優先順位が、固定順位グループ26の優先順位より高く設定されており、これにより、巡回順位グループ24のいずれかの順位レジスタ20に対応するアクセス要求信号REQと、固定順位グループ26のいずれかの順位レジスタ20に対応するアクセス要求信号REQが、順位出力部12に入力されたときには、巡回順位グループ24の順位レジスタ20に対して許可信号ACKが出力されるようになっている。
例えば、順位レジスタ20Dに対応するアクセス要求信号REQ−Dと、順位レジスタ20Eに対応するアクセス要求信号REQ−Eが入力されたときには、順位レジスタ20Dに対応する要求元に対して許可信号ACK−Dが出力される。
固定順位グループ26内では、順位レジスタ20E〜20Hの保持する優先順位が固定されていることにより、例えば、順位レジスタ20Eに対応するアクセス要求信号REQ−Eと、順位レジスタ20Fに対応するアクセス要求信号REQ−Fが、順位出力部12に入力されたときには、アクセス要求信号REQ−Eに対する許可信号ACK−Eが出力される。
また、順位レジスタ部18では、順位レジスタ20E〜20Hの優先順位が固定であるため、アクセス要求信号REQ −E〜REQのいずれかに対する許可信号ACK(ACK−E〜ACK−Hが出力されたときには、優先順位の変更が行われない。
これに対して、順位レジスタ部18では、巡回順位グループ24の順位レジスタ20に対応する許可信号ACK(許可信号ACK−A〜ACK−D)が出力されたときには、許可発行部16から出力されるダウン要求信号DOWN−ORDERに基づいた優先順位の変更を行う。このとき、順位レジスタ部18では、ラウンドロビン方式で優先順位の変更を行うようになっている。
ここで、例えば、図9(A)に示すように、順位レジスタ20A〜20Dの間で優先順位が設定されているときに、優先順位が最も高い0レベルの順位レジスタ20Bに対応する許可信号ACK−Bが出力されることにより、順位レジスタ部18の変更制御部22には、順位レジスタ20Bの優先順位を巡回グループ24内で最下位に落とすために、レベルユニット34A〜34Dの全てのセレクタ40にダウン要求信号DOWN−ORDERを出力して、順位を下げるべきレベルユニットを指定し、最下位であるレベル4のレベルユニット34Eのセレクタ38に後端信号end-stopを出力する。そして、更新すべきレベル0〜4のレベルユニット34のセレクタ44(レジスタユニット36)に更新信号updateを出力する。
これにより、図9(B)と図9(C)に示されるように、レベル0であった順位レジスタ20Bの優先順位が巡回順位グループ24の最下位に落とされ、順位レジスタ20A、20C、20Dの優先順位がそれぞれ繰り上げられる。
一方、順位レジスタ部18では、巡回順位グループ24内で最上位の順位レジスタ20に対応する許可信号ACKが順に出力されることにより、図9(C)から図9(G)に示されるように、レベル0となった順位レジスタ20が、レベル4に落とされ、他の順位レジスタ20の優先順位(レベル)が順に繰り上げられるのが繰り替えされる。
このとき、図9(A)に示されるように、順位レジスタ20Aには、2つの優先順位が設定されており、これにより、レベル0の順位レジスタ20に対応する許可信号ACKが順に出力されたときには、順位レジスタ20B〜20Dのそれぞれに対応する許可信号ACK(ACK−B〜ACK−D)は1回ずつとなるのに対して、順位レジスタ20Aに対応する許可信号ACK−Aは、2回となる。
すなわち、順位レジスタ20B〜20Dに対する帯域が1/5であるのに対して、順位レジスタ20Aに対する帯域が2/5となっている。
順位レジスタ20A〜20Dの間の帯域は、初期値として設定することにより何れの順位レジスタ20の帯域を広げるかを調節することが可能となる。
このように順位レジスタ部18では、巡回順位グループ24と固定順位グループ26を設け、グループ間での優先順位を異ならせると共に、巡回順位グループ24内でも、順位レジスタ20の帯域を異ならせることができる。
これにより、優先順位の調整が可能であり、優先順位を設定するときの自由度を高くすることができる。すなわち、複数の順位レジスタ20の間で優先順位を設定するときの自由度を格段に向上させることができ、また、アクセス要求信号REQに応じた許可信号ACKを、所望の優先度で付与することが可能となる。
また、巡回順位グループ24に設けている順位レジスタ20は、レジスタ42とセレクタ38、40、44を用いた簡単な構成であり、これにより、ラウンドロビン方式による優先順位の変更(繰り下げ及び繰り上げ)の高速化が可能となっている。
なお、ここで説明した調停回路10の順位レジスタ部18は、一例を示すものであり、各種の構成をとりうる。
例えば、本実施の形態では、4つの順位レジスタ20(順位レジスタ20A〜20D)の間で5レベルの優先順位を設定可能としているが、これに限らず、6レベル以上の順位が設定できるものであっても良い。このときには、順位レジスタ20のそれぞれにレベル数分のレベルユニット34を設けてシフトレジスタを形成するようにすれば良い。
これにより、優先順位を巡回する順位レジスタ20の数及びレベル数に応じて、順位レジスタ20ごとの帯域調整を行ってバランスを取ることができる。
また、順位レジスタ部18には、一つの巡回順位グループ24と、一つの固定順位グループ26を設けると共に、巡回順位グループ24の優先順位を、固定順位グループの優先順位より高くしたが、グループの数及びグループ間の優先順位はこれに限るものではない。
例えば、図10に示すように、10個の順位レジスタ50A〜50Jを、ラウンドロビン方式で優先順位を変更する2つの巡回順位グループ52A、52Bと、順位レジスタ50D〜50Gによって形成され、順位レジスタ50D〜50Gの間で優先順位が固定されている一つの固定順位グループ54に分けたものであっても良い。
ここでは、順位レジスタ50A〜50Cによって形成する巡回順位グループ52Aの優先順位が最も高く、順位レジスタ50H〜50Jによって形成する巡回順位グループ52Bの優先順位が他のグループよりも低くしている。
これにより、順位レジスタ50A〜50C、50H〜50Jのいずれかに対する許可信号ACKが出力されたときには、該当順位レジスタ50が含まれる巡回順位グループ52(52A又は52B)内で、優先順位の繰り下げおよび繰り上げが行われるが、順位レジスタ50D〜50Gのいずれかに対する許可信号ACKが出力されたときには、優先順位の変更が生じないようにすることができる。
また、グループ分けはこれに限るものではなく、例えば、固定順位グループを設けずに、ラウンドロビン方式で優先順位を変更する複数の巡回順位グループによって形成するようにしても良い。
すなわち、本発明は、少なくとも一つの巡回順位グループが含まれるように複数のグループに分けて、巡回順位グループ内でラウンドロビン方式による優先順位の変更を行うものであれば良い。
なお、本発明を適用した調停回路10は、メモリへのアクセス制御を行うDMA(Direct Memory Access)などは勿論、複数の要求元から所定のデバイスなどにアクセス可能とするときの、アクセス制御を行う調停回路として適用することができる。
本実施の形態に適用した調停回路の概略構成図である。 順位レジスタ部に設ける順位レジスタの構成を示す概略回路図である。 優先順位の設定の一例を表す概略図である。 ラウンドロビン方式で優先順位の更新が行われる順位レジスタの基本構成を示す概略図である。 図4に示す順位レジスタの具体的構成を示す概略回路図である。 各レベルユニットに設けるレジスタユニットの一例を示す概略回路図である。 図4及び図5に示す順位レジスタでの優先順位の更新(ローテーション)に用いるLUTの一例を示す概略図である。 (A)〜(C)は図4及び図5に示す順位レジスタでのデータの更新の一例を示す概略図である。 (A)は図2に示す巡回順位グループの順位レジスタに保持される優先順位を示すビットデータの一例を示す概略図、(B)〜(G)のそれぞれは、最上位のレジスタの優先順位を順に最下位に落としたときの優先順位の変化を示す概略図である。 本発明が適用されるグループ分けの他の一例を表す概略図である。
符号の説明
10 調停回路
12 順位出力部
14 順位確定部
16 許可発行部
18、30 順位レジスタ部
20、32、50 順位レジスタ
20A〜20D、32A〜32D、50A〜50C、50H〜50J 順位レジスタ
20E〜20H、50D〜50G 順位レジスタ
22、22A 変更制御部
24、52A、52B 巡回順位グループ
26、54 固定順位グループ
34(34A〜34E) レベルユニット
36 レジスタユニット
38 セレクタ
40 セレクタ
42 レジスタ
44 セレクタ
46(46A〜46D) レジスタ

Claims (6)

  1. アクセス対象にアクセスする複数の要求元のそれぞれに対して優先順位が設定され、前記要求元から前記アクセス対象へのアクセス要求が入力されることにより、該当要求元に対する前記優先順位に基づき、最も高い優先順位要求元に対してアクセス許可を発する調停回路であって、
    少なくとも前記複数の要求元の数のレジスタが優先順に直列に配列され、優先情報を示すデータを保持する前記レジスタの前記配列位置により前記優先順位が示される順位レジスタと、
    前記レジスタのそれぞれに対応して設けられ、入力端に自己が対応する前記レジスタの出力端及び該レジスタより前記配列位置が前記優先順位の上位側の前記レジスタのそれぞれの出力端が接続され、第1の制御信号が入力されることにより前記入力端に入力されるデータを自己の出力端から出力する第1のセレクタと、
    前記レジスタのそれぞれに対応して設けられ、第1の入力端に前記第1のセレクタの出力端が接続され、第2の入力端に自己が対応する前記レジスタより前記配列位置が前記優先順位の下位の前記レジスタの前記出力端が接続され、第2の制御信号が入力されることにより、前記第2の入力端に入力されるデータに換えて前記第1の入力端に入力されるデータを自己の出力端から出力する第2のセレクタと、
    前記レジスタのそれぞれに対応して設けられ、入力端に前記第2のセレクタの前記出力端が接続され、第3の制御信号が入力されることにより自己の対応する前記レジスタが保持しているデータを該レジスタの出力端から出力するのに同期して、自己の前記入力端に入力されるデータを出力端から前記レジスタの入力端に入力し、該レジスタが保持するデータを更新する第3のセレクタと、
    前記複数の要求元ごとの前記順位レジスタを備え、前記要求元に対応する前記順位レジスタにより要求元ごとの前記優先順位が示される順位レジスタ部と、
    前記順位レジスタ部の前記順位レジスタのそれぞれに対し、前記配列位置が前記アクセス許可の発せられた前記要求元の前記優先順位の前記レジスタに対応する前記第1のセレクタに前記第1の制御信号を出力し、前記配列位置が前記第1の制御信号を出力した前記レジスタよりも前記優先順位の下位側で予め設定された順位の前記レジスタに対応する前記第2のセレクタに前記第2の制御信号を出力し、かつ前記配列位置が前記第1の制御信号を出力する前記優先順位から前記第2の制御信号を出力する前記優先順位の範囲の前記レジスタに対応する前記第3のセレクタへ前記第3の制御信号を出力することにより、前記アクセス許可が発せられた前記要求元の前記優先順位を前記予め設定された順位に下げると共に、前記優先順位が前記予め設定された順位以上で前記アクセス許可の発せられた前記要求元の優先順位からより低い前記要求元の優先順位を繰り上げるように更新する更新制御手段と、
    を含む調停回路。
  2. 前記順位レジスタのそれぞれに、前記要求元の数より多い前記レジスタが設けられ、前記要求元の少なくとも一つに対して複数の優先順位が設定された請求項1に記載の調停回路。
  3. 前記複数の要求元が、グループ内で前記優先順位が連続する少なくとも2つのグループに区分けされ、
    前記更新制御手段前記グループ内の前記要求元に対して前記アクセス許可が発せられることにより、該当グループ内で前記配列位置が前記優先順位で最下位の前記レジスタに前記第2の制御信号を出力する請求項1又は請求項2に記載の調停回路。
  4. 前記区分けされた前記グループに前記優先順位の更新を行わない固定順位グループを含む請求項3に記載の調停回路。
  5. 前記複数の要求元を所定数のグループに区分けする区分け手段を含む請求項3又は請求項4に記載の調停回路。
  6. 記レジスタのそれぞれに所定のデータを書き込むことにより、前記要求元ごとの前記優先順位を設定する初期設定手段を含む請求項1から請求項5の何れか1項に記載の調停回路。
JP2005235899A 2005-08-16 2005-08-16 調停回路 Expired - Fee Related JP4945953B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005235899A JP4945953B2 (ja) 2005-08-16 2005-08-16 調停回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005235899A JP4945953B2 (ja) 2005-08-16 2005-08-16 調停回路

Publications (2)

Publication Number Publication Date
JP2007052545A JP2007052545A (ja) 2007-03-01
JP4945953B2 true JP4945953B2 (ja) 2012-06-06

Family

ID=37916968

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005235899A Expired - Fee Related JP4945953B2 (ja) 2005-08-16 2005-08-16 調停回路

Country Status (1)

Country Link
JP (1) JP4945953B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5418193B2 (ja) 2009-12-14 2014-02-19 富士ゼロックス株式会社 調停装置、画像処理装置、及び画像形成システム
JP2011133940A (ja) * 2009-12-22 2011-07-07 Seiko Epson Corp アクセス調停装置、集積回路装置、電子機器、アクセス調停方法、及びプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001084219A (ja) * 1999-09-10 2001-03-30 Hitachi Ltd 可変バスアービトレーション方式
JP2002312309A (ja) * 2001-04-09 2002-10-25 Nec Eng Ltd 調停回路及び調停方法
JP2003323335A (ja) * 2002-05-01 2003-11-14 Pfu Ltd メモリ装置及びその制御方法

Also Published As

Publication number Publication date
JP2007052545A (ja) 2007-03-01

Similar Documents

Publication Publication Date Title
EP1403773B1 (en) Resource management device
US7484024B2 (en) Apparatus and method for interrupt source signal allocation
US7051133B2 (en) Arbitration circuit and data processing system
US5303382A (en) Arbiter with programmable dynamic request prioritization
JPH07244635A (ja) バス使用権調停回路及び方法
KR20080075910A (ko) 메모리 액세스 요청 중재
KR101283524B1 (ko) 조정을 실행하기 위한 방법 및 장치
US6990541B2 (en) Arbitration unit for prioritizing requests based on multiple request groups
US20040103231A1 (en) Hierarchical bus arbitration
JP4945953B2 (ja) 調停回路
US7127540B2 (en) Apparatus and method for controlling frequency of bus use
US20080256279A1 (en) Resource arbiter
US7299311B1 (en) Apparatus and method for arbitrating for a resource group with programmable weights
US20030221033A1 (en) Bus arbiter for integrated circuit systems
US20200104271A1 (en) Prioritized arbitration using fixed priority arbiter
KR100657256B1 (ko) 중재기 및 그 중재기를 채용한 버스 시스템
JP2001356961A (ja) 調停装置
US7073003B2 (en) Programmable fixed priority and round robin arbiter for providing high-speed arbitration and bus control method therein
CN113496283A (zh) 基于优先级的仲裁
US8868817B2 (en) Crossbar circuitry for applying an adaptive priority scheme and method of operation of such crossbar circuitry
JP2004246862A (ja) リソース管理装置
KR100486308B1 (ko) 다양한 버스 중재 알고리즘을 프로그램 할 수 있는 아비터
US20080028110A1 (en) Peripheral Supplied Addressing In A Simple DMA
KR20050116781A (ko) 아날로그 신호 처리 회로, 및 그 데이터 레지스터 재기록방법과 그 데이터 통신 방법
JP6582598B2 (ja) 調停回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080522

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110623

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

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

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

Free format text: PAYMENT UNTIL: 20150316

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4945953

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees