JP3863421B2 - データ転送組み合わせ決定方法および組み合わせ決定回路 - Google Patents

データ転送組み合わせ決定方法および組み合わせ決定回路 Download PDF

Info

Publication number
JP3863421B2
JP3863421B2 JP2001379129A JP2001379129A JP3863421B2 JP 3863421 B2 JP3863421 B2 JP 3863421B2 JP 2001379129 A JP2001379129 A JP 2001379129A JP 2001379129 A JP2001379129 A JP 2001379129A JP 3863421 B2 JP3863421 B2 JP 3863421B2
Authority
JP
Japan
Prior art keywords
row
column
candidates
minimum value
data transfer
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
JP2001379129A
Other languages
English (en)
Other versions
JP2003179622A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2001379129A priority Critical patent/JP3863421B2/ja
Priority to CA 2403337 priority patent/CA2403337A1/en
Priority to EP20020256693 priority patent/EP1322078A3/en
Priority to US10/284,383 priority patent/US7301942B2/en
Priority to CNB021481571A priority patent/CN1197295C/zh
Publication of JP2003179622A publication Critical patent/JP2003179622A/ja
Application granted granted Critical
Publication of JP3863421B2 publication Critical patent/JP3863421B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling
    • 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/2854Wide area networks, e.g. public data networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Bus Control (AREA)
  • Communication Control (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、N×Nのデータ交換を実行する入力バッファ型あるいは入出力バッファ型の通信交換装置に適用されるデータ転送組み合わせ決定方法および組み合わせ決定回路に関し、特にデータ交換の調停に一般的に用いられているラウンドロビン方式よりもデータ転送能力の高いデータ転送をなし得る斬新なアルゴリズムを用いたデータ転送組み合わせ決定方法および組み合わせ決定回路に関するものである。
【0002】
【従来の技術】
N×Nのデータ交換を実現する通信装置が、入力バッファ型あるいは入出力バッファ型と呼ばれるスイッチングアーキテクチャを持つ場合、そのデータ交換のための組み合わせ決定アルゴリズムには、N本の入力回線とN本の出力回線を1対1に対応させた組み合わせを探す機能が求められる。つまり一回のデータ転送時に、交換装置全体で見て最大N個、各回線当たりでは1個のデータまでしか転送できない。したがって、各入力回線において転送待ちをしているデータがそれぞれどの出力回線宛なのかを確認し、その都度の転送待ちデータの組み合わせにおいてできるだけ多くのデータ転送を実行していかないと、交換装置全体としての転送能力を高レベルに維持することはできない。
【0003】
この種のデータ交換の調停には、ラウンドロビン方式(以下RR方式という)が用いられることが多い。ラウンドロビン方式は、基本的に平等な扱いをされるべき要求元に対し、回線や共用帯域やバスなどの共用資源を公平にアクセスする権利を与えるべく調停するものである。
【0004】
RR方式をN×Nのデータ交換に適用する場合、従来においては、RR方式を出力回線側および入力回線側でそれぞれ実施するようなアルゴリズムが一般的であった(例えば、1998年電子情報通信学会通信ソサイエティ大会 B−6−20、入力バッファ型ATMスイッチにおけるスケジューリングアルゴリズムに関する一検討)。
【0005】
この従来技術には、シーケンシャルラウンドロビン(SRR)方式を用いた調停アルゴリズムが開示されている。SRR方式では、各入力回線に優先度を与え、最優先の入力回線において入力回線毎に保持しているポインタ値を用いて要求のある出力回線のうちの1つの出力回線をRR方式によって選択し、ポインタ値を更新する。次の優先順位の入力回線では未決定の出力回線の中からポインタ値を用いて同様にして1つの出力回線を選択する。この手順を全入力回線について繰り返す。次回は、最優先の入力回線をRR方式によってシフトさせて、同様の手順を行う。
【0006】
この従来技術によるRR方式を図14に示す4×4の交換装置を用いて説明する。図14(a)に示すようなデータ転送待ちの組み合わせがあるとする。すなわち、入力回線#1は出力回線#1,#2,#3への要求があり、入力回線#2は出力回線#1,#3への要求があり、入力回線#3は出力回線#1,#4への要求があり、入力回線#4は出力回線#3,#4への要求がある。この状態を格子点のモデルに置き換えると図14(b)のようになる。
【0007】
図14(a)において、入力回線を決定するためのRRの前回の決定結果RRa=3とし、各入力回線において出力回線を決定するためのRRの前回決定結果(ポインタ値)RRbは、#1が「4」、#2が「1」、#3が「2」、#4が「2」であったとする。
【0008】
まず入力回線を決定する前回のRR値RRa=3であるので、入力回線#4が最優先回線となる。入力回線#4には、転送待ちデータ(候補)が存在するので、入力回線#4が選択される。入力回線#4が選択されたので、入力回線を決定するRR値RRaに「4」がロードされ、RRa=4として保存される(図14(c))。
【0009】
次に入力回線#4において出力回線を決定する。ここで、入力回線#4のポインタ値RRbが2であることから出力回線#3から見ていくと、出力回線#3宛にデータが存在するので、入力回線#4と出力回線#3の組み合わせ(点線)がまず決定される。出力回線#3が選択されたので、入力回線#4のポインタ値RRbに「3」がロードされ、RRb=3として保存される(図14(d))。
【0010】
つぎに、図14(e)に示すように、入力回線#4と出力回線#3に関係する転送待ちデータの候補はもはや選択することはできないので全て削除する。ここでは、入力回線#4−出力回線#4、入力回線#1−出力回線#3、入力回線#2−出力回線#3の組み合わせが削除される。
【0011】
つぎに、図14(f)に示すように、同様にして、入力回線#1と出力回線#1の組み合わせが決定される。そして、図14(g)に示すように、選択不可能となった転送待ちデータの候補を削除する。ここでは、入力回線#2−出力回線#1、入力回線#3−出力回線#1、入力回線#1−出力回線#2の組み合わせが削除される。
【0012】
最後に、図14(h)に示すように、入力回線#3と出力回線#4の組み合わせが決定される。未選択の候補がなくなって組み合わせ決定手順は完了する。結局3本の候補が選択され、次回のデータ転送においては3つのデータを転送することが可能である。
【0013】
【発明が解決しようとする課題】
上記従来のRR方式を用いたアルゴリズムでは、4×4の交換において、3つの組み合わせしか求められなかったが、図14(b)に示したデータ転送待ちの組み合わせにおいては、実は、図15(a)(b)に示すように、4つの入出力回線の全てを選択する組み合わせが2つ存在する。図15においては、黒丸が最終的に選択される入出力回線の組み合わせを示している。
【0014】
このように上記従来のRR方式では、図15に示したどちらの組み合わせも見つけることができず、4つのデータ転送ができたはずが、3つしかデータ転送の機会を与えなかったことになる。
【0015】
勿論、従来のRR方式においても、前回のRRの決定結果によっては、図15に示した組み合わせに至る場合もある。しかし、あくまでも前回のRRの決定結果に左右されるということが問題である。このような転送待ちデータの組み合わせにおいては、あらゆるRRの前回決定結果の組み合わせについて試行すると、3つが決定する確率は51.2%、4つが決定する確率が48.8%となる。これは計算機を利用して全てのRRの前回決定結果の組み合わせについて試行することによって得ることができる。具体的な結果は、3つとなるのが524/1024、4つとなるのが500/1024である。RR値、ポインタ値は1〜4までの数値が有効で、入力回線決定のために1つ、出力回線決定のために4つ存在するので合計5つ、45=1024が全てのRR値の組み合わせパターンである。
【0016】
因みに、図14(h)に示したRR値の結果をそのまま利用して、図14と同じ転送待ちデータの組み合わせのときに、もう一度同じRR手順を実施すると、図16(a)に示すように、図15(b)の4つのデータ転送が可能な組み合わせに到達する。さらにそのまま同じパターンで手順を実施すると、図16(b)に示すような3つのデータ転送が可能な組み合わせとなる。つまり、連続して同じ組み合わせパターンが続いた場合、4つのデータ転送の組み合わせが見つかったすぐ次に、3つのデータ転送の組み合わせが適用されることになる。これでは交換装置としての転送能力を高レベルに維持することはできない。
【0017】
図17では、図16(a)の結果に至る手順の詳細を示している。この図17の手順において、各入力回線についての出力回線を選択する段階で、削除されるデータ転送の候補の数に注目すると、
入力回線#4−出力回線#4(図17(a)→図17(c)):2本
入力回線#1−出力回線#2(図17(d)→図17(e)):2本
入力回線#2−出力回線#3(図17(f)→図17(g)):1本
となっている。
【0018】
これに対し、図14の手順では、
入力回線#4−出力回線#3(図14(d)→図14(e)):3本
入力回線#1−出力回線#1(図14(f)→図14(g)):3本
である。
【0019】
このように、2組の入出力回線の組み合わせを決めた段階までに、決定した候補の他に、図17では4本、図14では6本が削除されている。そして図14の場合は、図14(g)で3本の候補を削除した段階で、何も候補の残っていない回線が存在している。結局、削除される数が多いと言うことは、入出力回線の決定が進むにつれて残りの候補がかなり少なくなることを意味している。つまり、残りの候補が少なくなることによって、より多くの入出力回線の組み合わせが得られる確率を下げているのである。
【0020】
RR方式においては、このような転送待ちデータの候補の削除数が入出力回線の組み合わせを決定するための要因、あるいは要因の一つとなっておらず、前回の決定結果が全てであるので、4つの組み合わせが選択可能な転送待ちデータの状態であっても、4つのデータ転送が可能な組み合わせに至るかどうかは、完全に確率の問題、すなわち運次第である。
【0021】
このように、RR方式は、この種のデータ交換に要求される、「N行×N列のN2個の格子点があり、そのうちの任意の格子点を選択できる状態であるときに、N行×N列の各行および各列には最大1つの候補のみ選択可能という条件の下で、最大数の格子点を選択する」という命題を解くには不向きな方式であり、入力バッファ型、あるいは入出力バッファ型のアーキテクチャを持つ通信交換装置における組み合わせ決定アルゴリズムにRR方式を採用することは、交換装置のデータ転送能力を高レベルに維持することができないことを意味するのである。
【0022】
この発明は上記に鑑みてなされたもので、データ交換能力を高レベルに維持することができる斬新なアルゴリズムを有するデータ転送組み合わせ決定方法および組み合わせ決定回路を得ることを目的とする。
【0023】
【課題を解決するための手段】
上記目的を達成するため、この発明にかかるデータ転送組み合わせ決定方法は、N個の出力回線に対するN個の入力回線のデータ転送要求の候補を示す転送要求候補データを用いて、N個の入力回線からN個の出力回線へデータ転送するときのデータ転送の組み合わせを決定するデータ転送組み合わせ決定方法において、前記データ転送要求候補データをN×Nビットで表し、このN×Nビットのデータ転送要求候補データを、1からNまでの全ての順列組み合わせパターンを表す、それぞれがN×Nビットで構成される、Nの階乗個の順列組み合わせデータと、夫々並列に論理積をとる第1ステップと、前記論理積が成立する候補数が最大となる順列組み合わせパターンを探し、そのうちの1つを前記データ転送するときのデータ転送の組み合わせとして決定する第2ステップと、を備え、前記第2ステップでは、論理積が成立する候補数が最大となる順列組み合わせパターンが複数あるとき、ラウンドロビンを用いて1つの順列組み合わせパターンを選択するとともに、前記候補数が最大となる順列組み合わせパターンを探す際の比較処理において、比較ビット中の上位ビットを前記候補数として用い、その下位ビットをラウンドロビンを行うための比較値として用い、これら比較ビットを一括して同時に比較することを特徴とする。
【0024】
この発明によれば、N×Nビットのデータ転送要求候補データを、1からNまでの全ての順列組み合わせパターンを表すN×NビットのN!個の順列組み合わせデータと夫々論理積をとり、論理積が成立する候補数が最大となる順列組み合わせパターンを探し、そのうちの1つを前記データ転送するときのデータ転送の組み合わせとして決定し、候補数が最大となる順列組み合わせパターンを探す際の候補数の比較処理において、論理積が成立する候補数が最大となる順列組み合わせパターンが複数あるとき、ラウンドロビンを用いて1つの順列組み合わせパターンを選択し、候補数が最大となる順列組み合わせパターンを探す際の候補数の比較処理において、比較ビット中の上位ビットを前記候補数として用い、その下位ビットをラウンドロビンを行うための比較値として用い、これら比較ビットを一括して同時に比較するようにしている。
【0029】
つぎの発明にかかるデータ転送組み合わせ決定方法は、N個の出力回線に対するN個の入力回線のデータ転送要求の候補を示す転送要求候補データを用いて、N個の入力回線からN個の出力回線へデータ転送するときのデータ転送の組み合わせを決定するデータ転送組み合わせ決定方法において、前記データ転送要求候補データにおける候補数を、N行×N列の格子の格子点にある候補の数として、行、列毎に計数する第1ステップと、前記計数した結果が1以上である計数値のうち最小値を検索して、該最小値を示す行または列を1つ選択して記憶する第2ステップと、選択した行または列の中の候補について、その候補が存在する列または行の候補の数のうち最小値を検索して、該最小値を示す列または行を1つ選択して記憶する第3ステップと、前記第2ステップおよび第3ステップで決定した行上の候補および列上の候補を全て削除する第4ステップとを備え、前記第1〜第4ステップを候補がなくなるまで繰り返し、候補がなくなった時点で記憶されている行、列の組み合わせを前記データ転送するときのデータ転送の組み合わせとして決定することを特徴とする。
【0030】
この発明によれば、データ転送要求候補データにおける候補数を、N行×N列の格子の格子点にある候補の数として、行、列毎に計数し、前記計数した結果が1以上である計数値のうち最小値を検索して、該最小値を示す行または列を1つ選択して記憶し、選択した行または列の中の候補について、その候補が存在する列または行の候補の数のうち最小値を検索して、該最小値を示す列または行を1つ選択して記憶し、上記決定した行上の候補および列上の候補を全て削除し、これらの処理を候補がなくなるまで繰り返し、候補がなくなった時点で記憶されている行、列の組み合わせを前記データ転送するときのデータ転送の組み合わせとして決定するようにしている。
【0031】
つぎの発明にかかるデータ転送組み合わせ決定方法は、上記の発明において、前記第2または第3ステップにおいて、行または列を選択するときに、最小値を示す行、または列が複数あった場合に、行から列へ、あるいは列から行への順にラウンドロビン方式を適用して最小値を示す行または列を一意に決定することを特徴とする。
【0032】
この発明によれば、行または列を選択するときに、最小値を示す行、または列が複数あった場合に、行から列へ、あるいは列から行への順にラウンドロビン方式を適用して最小値を示す行または列を一意に決定するようにしている。
【0033】
つぎの発明にかかるデータ転送組み合わせ決定方法は、上記の発明において、前記第2または第3ステップでは、前記候補数が最小となる順列組み合わせパターンを探す際の候補数の比較処理において、比較ビット中の上位ビットを前記候補数として用い、その下位ビットをラウンドロビンを行うための比較値として用い、これら比較ビットを一括して同時に比較することを特徴とする。
【0034】
この発明によれば、候補数が最小となる順列組み合わせパターンを探す際の候補数の比較処理において、比較ビット中の上位ビットを候補数として用い、その下位ビットをラウンドロビンを行うための比較値として用い、これら比較ビットを一括して同時に比較するようにしている。
【0035】
つぎの発明にかかるデータ転送組み合わせ決定方法は、上記の発明において、前記第2または第3ステップで、行または列を選択するときに、最小値を示す行または列が複数あった場合に、行番号または列番号の小さい方を優先して選択することにより、最小値を示す行または列を一意に決定することを特徴とする。
【0036】
この発明によれば、行または列を選択するときに、最小値を示す行または列が複数あった場合に、行番号または列番号の小さい方を優先して選択することにより、最小値を示す行または列を一意に決定するようにしている。
【0037】
つぎの発明にかかるデータ転送組み合わせ決定方法は、上記の発明において、前記第1ステップにおいて、外部要因が発生した時に、外部要因の対象となる行または列の計数値を最小値に置き換えることによって、特定の行または列が最初に選択される可能性を大きくすることを特徴とする。
【0038】
この発明によれば、外部要因が発生した時に、外部要因の対象となる行または列の計数値を最小値に置き換えることによって、特定の行または列が最初に選択される可能性を大きくするようにしている。
【0039】
つぎの発明にかかるデータ転送組み合わせ決定方法は、上記の発明において、前記第1ステップにおいて、外部要因が発生した時に、外部要因の対象となる行または列以外の計数値を0に置き換えることによって、特定の行、または列が強制的に選択されるようにすることを特徴とする。
【0040】
この発明によれば、外部要因が発生した時に、外部要因の対象となる行または列以外の計数値を0に置き換えることによって、特定の行、または列が強制的に選択されるようにしている。
【0041】
つぎの発明にかかるデータ転送組み合わせ決定方法は、上記の発明において、前記N個の出力回線に対するN個の入力回線のデータ転送要求の候補を示す前記転送要求候補データが処理順序に関する複数の優先クラスに対応して複数組備えられ、複数組の格子から候補を選択するときの条件が全ての格子の同一行および全ての格子の同一列について選択可能な候補を1つとする複数の優先クラスを扱うデータ転送に適用されるデータ転送組み合わせ決定方法であって、前記第1〜第4ステップの繰り返し処理を、上位の優先クラスに対応する格子から下位の優先クラスに対応する格子へ順に実行し、前記第4ステップにおいては、前記第2ステップおよび第3ステップで決定された当該優先クラスに対応する格子の行上の候補および列上の候補と、当該優先クラスより下位の全ての優先クラスに対応する格子の前記決定された行上の候補および列上の候補とを削除することを特徴とする。
【0042】
この発明によれば、処理順序に関する複数の優先クラスが設定されている場合において、上位の優先クラスに対応する格子から下位の優先クラスに対応する格子へ順に、上記データ転送組み合わせ処理を実行し、さらに選択決定された行上および列上の候補を全て削除する際に、当該優先クラスに対応する格子における選択決定された行上の候補および列上の候補と、当該優先クラスより下位の全ての優先クラスに対応する格子の前記選択決定された行上の候補および列上の候補を削除するようにしている。
【0043】
つぎの発明にかかるデータ転送組み合わせ決定方法は、上記の発明において、前記第2および第3ステップにおいて、最小値を検索する際、候補数が同じであった場合には、当該優先クラスに対応する格子よりも1段階または複数段階だけ下位の優先クラスに対応する格子までを含めて、候補数を順次比較することによって、下位の優先クラスの候補の状態にも基づいて組み合わせを決定することを特徴とする。
【0044】
この発明によれば、最小値を検索する際、候補数が同じであった場合には、当該優先クラスに対応する格子よりも1段階または複数段階だけ下位の優先クラスに対応する格子までを含めて、候補数を順次比較することによって、下位の優先クラスの候補の状態にも基づいて組み合わせを決定するようにしている。
【0045】
つぎの発明にかかるデータ転送組み合わせ決定方法は、N個の出力回線に対するN個の入力回線のデータ転送要求の候補を示す転送要求候補データを用いて、N個の入力回線からN個の出力回線へデータ転送するときのデータ転送の組み合わせを決定するデータ転送組み合わせ決定方法において、前記データ転送要求候補データにおける候補数を、N行×N列の格子の格子点にある候補の数として、行毎に計数する第1ステップと、前記計数した結果が1以上である計数値のうち最小値を検索して、該最小値を示す行を1つ選択して記憶する第2ステップと、選択した行の中の候補について、その候補が存在する列における候補の数を列毎に計数する第3ステップと、前記第3ステップで計数した結果が1以上である計数値のうち最小値を検索して、該最小値を示す列を1つ選択して記憶する第4ステップと、前記第2ステップおよび第4ステップで決定した行上の候補および列上の候補を全て削除する第5ステップとを備え、前記第1〜第5ステップを候補がなくなるまで繰り返し、候補がなくなった時点で記憶されている行、列の組み合わせを前記データ転送するときのデータ転送の組み合わせとして決定することを特徴とする。
【0046】
この発明によれば、データ転送要求候補データにおける候補数を、N行×N列の格子の格子点にある候補の数として、行毎に計数し、該計数された結果が1以上である計数値のうち最小値を検索して、該最小値を示す行を1つ選択して記憶し、選択された行の中の候補について、その候補が存在する列における候補の数を列毎に計数し、前記計数した結果が1以上である計数値のうち最小値を検索して、該最小値を示す列を1つ選択して記憶し、前記決定した行上の候補および列上の候補を全て削除し、前記一連の処理を候補がなくなるまで繰り返し、候補がなくなった時点で記憶されている行、列の組み合わせを前記データ転送するときのデータ転送の組み合わせとして決定するようにしている。
【0047】
つぎの発明にかかるデータ転送組み合わせ決定方法は、上記の発明において、前記第2および第4ステップで、行および列を夫々選択するときに、候補数が最小値を示す行および列が複数あった場合に、ラウンドロビンを用いて最小値を示す行および列を一意に決定することを特徴とする。
【0048】
この発明によれば、前記行および列を夫々選択するときに、候補数が最小値を示す行および列が複数あった場合に、ラウンドロビンを用いて最小値を示す行および列を一意に決定するようにしている。
【0049】
つぎの発明にかかるデータ転送組み合わせ決定方法は、上記の発明において、前記第2および第4ステップでは、前記候補数が最小となる順列組み合わせパターンを探す際の候補数の比較処理において、比較ビット中の上位ビットを前記候補数として用い、その下位ビットをラウンドロビンを行うための比較値として用い、これら比較ビットを一括して同時に比較することを特徴とする。
【0050】
この発明によれば、候補数が最小となる順列組み合わせパターンを探す際の候補数の比較処理において、比較ビット中の上位ビットを前記候補数として用い、その下位ビットをラウンドロビンを行うための比較値として用い、これら比較ビットを一括して同時に比較するようにしている。
【0051】
つぎの発明にかかるデータ転送組み合わせ決定方法は、上記の発明において、前記第2および第4ステップで、行および列を夫々選択するときに、最小値を示す行および列が複数あった場合に、行番号および列番号の小さい方を優先して選択することにより、最小値を示す行および列を一意に決定することを特徴としている。
【0052】
この発明によれば、行および列を夫々選択するときに、最小値を示す行および列が複数あった場合に、行番号および列番号の小さい方を優先して選択することにより、最小値を示す行および列を一意に決定するようにしている。
【0053】
つぎの発明にかかるデータ転送組み合わせ決定方法は、上記の発明において、前記第1ステップまたは第3ステップにおいて、外部要因が発生した時に、外部要因の対象となる行または列の計数値を最小値に置き換えることによって、特定の行または列が最初に選択される可能性を大きくすることを特徴とする。
【0054】
この発明によれば、外部要因が発生した時に、外部要因の対象となる行または列の計数値を最小値に置き換えることによって、特定の行または列が最初に選択される可能性を大きくするようにしている。
【0055】
つぎの発明にかかるデータ転送組み合わせ決定方法は、上記の発明において、前記第1ステップまたは第3ステップにおいて、外部要因が発生した時に、外部要因の対象となる行または列以外の計数値を0に置き換えることによって、特定の行または列が強制的に選択されるようにすることを特徴とする。
【0056】
この発明によれば、外部要因が発生した時に、外部要因の対象となる行または列以外の計数値を0に置き換えることによって、特定の行または列が強制的に選択されるようにしている。
【0057】
つぎの発明にかかるデータ転送組み合わせ決定方法は、上記の発明において、前記N個の出力回線に対するN個の入力回線のデータ転送要求の候補を示す前記転送要求候補データが処理順序に関する複数の優先クラスに対応して複数組備えられ、複数組の格子から候補を選択するときの条件が全ての格子の同一行および全ての格子の同一列について選択可能な候補を1つとする複数の優先クラスを扱うデータ転送に適用されるデータ転送組み合わせ決定方法であって、前記第1〜第5ステップの繰り返し処理を、上位の優先クラスに対応する格子から下位の優先クラスに対応する格子へ順に実行し、前記第5ステップにおいては、前記第2ステップおよび第4ステップで決定された当該優先クラスに対応する格子の行上の候補および列上の候補と、当該優先クラスより下位の全ての優先クラスに対応する格子の前記決定された行上の候補および列上の候補とを削除することを特徴とする。
【0058】
この発明によれば、処理順序に関する複数の優先クラスが設定されている場合において、上位の優先クラスに対応する格子から下位の優先クラスに対応する格子へ順に、上記データ転送組み合わせ処理を実行し、さらに選択決定された行上および列上の候補を全て削除する際に、当該優先クラスに対応する格子における選択決定された行上の候補および列上の候補と、当該優先クラスより下位の全ての優先クラスに対応する格子の前記選択決定された行上の候補および列上の候補を削除するようにしている。
【0059】
つぎの発明にかかるデータ転送組み合わせ決定方法は、上記の発明において、前記第2および第4ステップにおいて、最小値を検索する際、候補数が同じであった場合には、当該優先クラスに対応する格子よりも1段階または複数段階だけ下位の優先クラスに対応する格子までを含めて、候補数を順次比較することによって、下位の優先クラスの候補の状態にも基づいて組み合わせを決定することを特徴とする。
【0060】
この発明によれば、最小値を検索する際、候補数が同じであった場合には、当該優先クラスに対応する格子よりも1段階または複数段階だけ下位の優先クラスに対応する格子までを含めて、候補数を順次比較することによって、下位の優先クラスの候補の状態にも基づいて組み合わせを決定するようにしている。
【0061】
つぎの発明にかかる組み合わせ決定回路は、N個の出力回線に対するN個の入力回線のデータ転送要求の候補を示す転送要求候補データを用いて、N個の入力回線からN個の出力回線へデータ転送するときのデータ転送の組み合わせを決定する組み合わせ決定回路において、N×Nビットの前記データ転送要求候補データと、1からNまでの全ての順列組み合わせパターンを表す、それぞれがN×Nビットで構成される、Nの階乗個の順列組み合わせデータと、夫々並列に論理積をとる論理積回路と、前記複数の順列組み合わせパターン毎に、前記論理積が成立する候補数を演算する個数演算部と、前記個数演算部の複数の出力を比較することにより、候補数が最大となる順列組み合わせパターンを検索し、そのうちの1つを前記データ転送するときのデータ転送の組み合わせとして決定する検索決定回路と、を備え、前記検索決定回路は、候補数が最大となる順列組み合わせパターンが複数あるとき、ラウンドロビンを用いて1つの順列組み合わせパターンを選択するとともに、比較ビット中の上位ビットを前記候補数として用い、その下位ビットをラウンドロビンを行うための比較値として用い、これら比較ビットを一括して同時に比較することにより、候補数が最大となる順列組み合わせパターンを択一選択する比較器を備えることを特徴とする。
【0062】
この発明によれば、論理積回路によってN×Nビットの前記データ転送要求候補データと1からNまでの全ての順列組み合わせパターンを表すN×Nビットの順列組み合わせデータとの論理積を夫々求め、個数演算部によって複数の順列組み合わせパターン毎に前記論理積が成立する候補数を演算し、検索決定回路によって個数演算部の複数の出力を比較することにより、候補数が最大となる順列組み合わせパターンを検索し、そのうちの1つを前記データ転送するときのデータ転送の組み合わせとして決定し、前記検索決定回路はラウンドロビン回路を備え、候補数が最大となる順列組み合わせパターンが複数あるとき、ラウンドロビンを用いて1つの順列組み合わせパターンを選択、検索決定回路は比較器を備え、この比較器は、比較ビット中の上位ビットを前記候補数として用い、その下位ビットをラウンドロビンを行うための比較値として用い、これら比較ビットを一括して同時に比較することにより、候補数が最大となる順列組み合わせパターンを択一選択するようにしている。
【0067】
つぎの発明にかかる組み合わせ決定回路は、N個の出力回線に対するN個の入力回線のデータ転送要求の候補を示す転送要求候補データを用いて、N個の入力回線からN個の出力回線へデータ転送するときのデータ転送の組み合わせを決定する組み合わせ決定回路において、N×Nビットの前記データ転送要求候補データから、前回の組み合わせ決定結果で指定される行及び列と同一行および同一列の候補を削除する選択行列候補削除部と、前記選択行列候補削除部の出力データ中の候補数を、N行×N列の格子点にある候補の数として、行毎に計数する行候補数計算部と、前記行候補数計算部の計数結果のうちで1以上である最小値を検索して、該最小値を示す行を1つ選択する行用最小値比較器と、前記行用最小値比較器の選択行に基づいて、前記選択行列候補削除部の出力データから、前記選択行に候補の存在しない列の候補を削除する選択行非選択列候補削除部と、前記選択行非選択列候補削除部の出力データに基づき、各列における候補の数を列毎に計数する列候補数計算部と、前記列候補数計算部の計数結果のうちで1以上である最小値を検索して、該最小値を示す行を1つ選択する列用最小値比較器と、前記行用最小値比較器および列用最小値比較器の各選択結果を記憶し、その出力を選択行列候補削除部に前回の組み合わせ決定結果として入力する選択結果保存レジスタとを備え、前記選択結果保存レジスタに、前記行用最小値比較器および列用最小値比較器の各選択結果が夫々最大でN組入力されたときの選択結果保存レジスタの記憶データを最終的なデータ転送の組み合わせ結果として出力をすることを特徴とする。
【0068】
この発明によれば、行候補数計算部は、データ転送要求候補データにおける候補数をN行×N列の格子の格子点にある候補の数として行毎に計数し、行用最小値比較器は、前記計数された結果が1以上である計数値のうち最小値を検索して、該最小値を示す行を1つ選択する。選択行非選択列候補削除部は、前記行用最小値比較器の選択行に基づいて、前記選択行列候補削除部の出力データから、前記選択行に候補の存在しない列の候補を削除し、列候補数計算部は、前記選択行非選択列候補削除部の出力データに基づき各列における候補の数を列毎に計数し、列用最小値比較器は、前記列候補数計算部の計数結果のうちで1以上である最小値を検索して該最小値を示す行を1つ選択する。選択結果保存レジスタは、前記行用最小値比較器および列用最小値比較器の各選択結果を記憶し、その出力を選択行列候補削除部に前回の組み合わせ決定結果として入力する。選択行列候補削除部は、入力されるN×Nビットの前記データ転送要求候補データから、前回の組み合わせ決定結果で指定される行及び列と同一行および同一列の候補を削除する。そして、選択結果保存レジスタに、前記行用最小値比較器および列用最小値比較器の各選択結果が夫々最大でN組入力されたときの選択結果保存レジスタの記憶データを最終的なデータ転送の組み合わせ結果として出力する。
【0069】
つぎの発明にかかる組み合わせ決定回路は、上記の発明において、前記行用最小値比較器は、最小値を示す行が複数あった場合に、ラウンドロビンを用いて最小値を示す行を一意に決定するラウンドロビン回路を備え、前記列用最小値比較器は、最小値を示す列が複数あった場合に、ラウンドロビンを用いて最小値を示す列を一意に決定するラウンドロビン回路を備えることを特徴とする。
【0070】
この発明によれば、行用最小値比較器および列用最小値比較器は、ラウンドロビン回路を夫々備え、最小値を示す行および列が複数あった場合に、ラウンドロビンを用いて最小値を示す行を一意に決定するようにしている。
【0071】
つぎの発明にかかる組み合わせ決定回路は、上記の発明において、前記行用最小値比較器および列用最小値比較器は、各比較処理において、比較ビット中の上位ビットを前記候補数として用い、その下位ビットをラウンドロビンを行うための比較値として用い、これら比較ビットを一括して同時に比較することを特徴とする。
【0072】
この発明によれば、前記行用最小値比較器および列用最小値比較器は、各比較処理において、比較ビット中の上位ビットを前記候補数として用い、その下位ビットをラウンドロビンを行うための比較値として用い、これら比較ビットを一括して同時に比較するようにしている。
【0073】
つぎの発明にかかる組み合わせ決定回路は、上記の発明において、前記行用最小値比較器は、最小値を示す行が複数あった場合に、小さい行番号を優先して選択することにより、最小値を示す行を一意に決定し、前記列用最小値比較器は、最小値を示す列が複数あった場合に、小さい列番号を優先して選択することにより、最小値を示す列を一意に決定することを特徴とする。
【0074】
この発明によれば、前記行用最小値比較器および列用最小値比較器は、最小値を示す行および列が複数あった場合に、小さい行番号を優先して選択することにより、最小値を示す行および列を一意に決定するようにしている。
【0075】
つぎの発明にかかる組み合わせ決定回路は、上記の発明において、前記行候補数計算部の複数行分の計数結果のうち、外部入力信号の指定行に対応する行を最小値を置き換えて前記行用最小値比較器に入力する指定行優先選択部と、前記列候補数計算部の複数列分の計数結果のうち、外部入力信号の指定列に対応する列を最小値を置き換えて前記列行用最小値比較器に入力する指定列優先選択部とをさらに備えることを特徴とする。
【0076】
この発明によれば、指定行優先選択部は、前記行候補数計算部の複数行分の計数結果のうち、外部入力信号の指定行に対応する行を最小値を置き換えて前記行用最小値比較器に入力するとともに、指定列優先選択部は、前記列候補数計算部の複数列分の計数結果のうち、外部入力信号の指定列に対応する列を最小値を置き換えて前記列行用最小値比較器に入力するようにしている。
【0077】
つぎの発明にかかる組み合わせ決定回路は、上記の発明において、前記行候補数計算部の複数行分の計数結果のうち、外部入力信号の指定行に対応する行の計数結果をそのまま前記行用最小値比較器に入力するとともに、前記指定行以外の行の計数結果を0に置き換える手段と、前記列候補数計算部の複数列分の計数結果のうち、外部入力信号の指定列に対応する列の計数結果をそのまま前記列用最小値比較器に入力するとともに、前記指定列行以外の列の計数結果を0に置き換える手段とを備えることを特徴とする。
【0078】
この発明によれば、行候補数計算部の複数行分の計数結果のうち、外部入力信号の指定行に対応する行の計数結果をそのまま前記行用最小値比較器に入力するとともに、前記指定行以外の行の計数結果を0に置き換えるようにするとともに、列候補数計算部の複数列分の計数結果のうち、外部入力信号の指定列に対応する列の計数結果をそのまま前記列用最小値比較器に入力するとともに、前記指定列行以外の列の計数結果を0に置き換えるようにしている。
【0079】
つぎの発明にかかる組み合わせ決定回路は、N個の出力回線に対するN個の入力回線のデータ転送要求の候補を示す転送要求候補データが、処理順序に関する複数の優先クラスに対応して複数組備えられ、全ての組の転送要求候補データの同一行および同一列から選択可能な候補を各1つとする複数の優先クラスを扱うデータ転送に適用され、N個の入力回線からN個の出力回線へデータ転送するときのデータ転送の組み合わせを決定する組み合わせ決定回路において、複数の優先クラス分の前記データ転送要求候補データから、前回の組み合わせ決定結果で指定される優先クラスおよび該優先クラスより下位の全ての優先クラスにおける前回の組み合わせ決定結果が指定する入力回線および出力回線と同一入力回線および同一出力回線の候補を削除して出力する選択行列候補削除部と、前記選択行列候補削除部の出力から少なくとも1つの優先クラスについてのデータ転送要求候補データを選択し、該選択したデータ転送要求候補データを選択した優先クラスを示すクラスデータと共に出力する動作を、上位優先クラスから下位優先クラスへの順に、各優先クラスのデータ転送の組み合わせを決定する毎に繰り返し実行するクラス選択部と、前記クラス選択部から出力される1つの優先クラスのデータ転送要求候補データ中の候補数を、N行×N列の格子の格子点にある候補の数として、行毎に計数する行候補数計算部と、前記行候補数計算部の計数結果のうちで1以上である最小値を検索して、該最小値を示す行を1つ選択する行用最小値比較器と、前記行用最小値比較器の選択行に基づいて、前記クラス選択部から出力される1つの優先クラスのデータ転送要求候補データから、前記選択行に候補の存在しない列の候補を削除する選択行非選択列候補削除部と、前記選択行非選択列候補削除部の出力データに基づき、各列における候補の数を列毎に計数する列候補数計算部と、前記列候補数計算部の計数結果のうちで1以上である最小値を検索して、該最小値を示す行を1つ選択する列用最小値比較器と、前記行用最小値比較器および列用最小値比較器の各選択結果を前記クラス選択部からの前記クラス選択データと共に記憶し、その出力を選択行列候補削除部に前回の組み合わせ決定結果として入力する選択結果保存レジスタとを備え、前記選択結果保存レジスタにおける最終的な記憶データを前記データ転送の組み合わせ結果として出力をすることを特徴とする。
【0080】
この発明によれば、複数の優先クラスを扱うデータ転送に適用される組み合わせ決定回路において、選択行列候補削除部は、複数の優先クラス分のデータ転送要求候補データから、前回の組み合わせ決定結果で指定される優先クラスおよび該優先クラスより下位の全ての優先クラスにおける前回の組み合わせ決定結果が指定する入力回線および出力回線と同一入力回線および同一出力回線の候補を削除し、クラス選択部は、選択行列候補削除部の出力から少なくとも1つの優先クラスについてのデータ転送要求候補データを選択し、該選択したデータ転送要求候補データを選択した優先クラスを示すクラスデータと共に出力する動作を、上位優先クラスから下位優先クラスへの順に繰り返し実行する。行候補数計算部は、クラス選択部から出力される1つの優先クラスのデータ転送要求候補データ中の候補数を、N行×N列の格子の格子点にある候補の数として、行毎に計数し、行用最小値比較器は、行候補数計算部の計数結果のうちで1以上である最小値を検索して、該最小値を示す行を1つ選択する。選択行非選択列候補削除部は、行用最小値比較器の選択行に基づいて、前記クラス選択部から出力される1つの優先クラスのデータ転送要求候補データから、前記選択行に候補の存在しない列の候補を削除し、列候補数計算部は、選択行非選択列候補削除部の出力データに基づき、各列における候補の数を列毎に計数し、列用最小値比較器は、前記列候補数計算部の計数結果のうちで1以上である最小値を検索して、該最小値を示す行を1つ選択する。選択結果保存レジスタは、前記行用最小値比較器および列用最小値比較器の各選択結果を前記クラス選択部からの前記クラス選択データと共に記憶し、その出力を選択行列候補削除部に前回の組み合わせ決定結果として入力し、前記選択結果保存レジスタにおける最終的な記憶データを前記データ転送の組み合わせ結果として出力をするようにしている。
【0081】
つぎの発明にかかる組み合わせ決定回路は、上記の発明において、前記行用最小値比較器および列用最小値比較器において、最小値を検索する際、候補数が同じであった場合には、当該優先クラスに対応する格子よりも1段階または複数段階だけ下位の優先クラスに対応する格子までを含めて、候補数を順次比較することによって、最小値を示す行及び列を夫々選択することを特徴とする。
【0082】
この発明によれば、行用最小値比較器および列用最小値比較器は、最小値を検索する際、候補数が同じであった場合には、当該優先クラスに対応する格子よりも1段階または複数段階だけ下位の優先クラスに対応する格子までを含めて、候補数を順次比較することによって、最小値を示す行及び列を夫々選択するようにしている。
【0083】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかるデータ転送組み合わせ決定方法および組み合わせ決定回路の好適な実施の形態を詳細に説明する。
【0084】
実施の形態1.
図1は、この発明の実施の形態1の組み合わせ決定アルゴリズムを概念的に示すものである。図1(a)に示すように、N×Nのデータ交換装置を、N×Nの格子点モデルに置き換える。例えば、N行をNチャネルの入力回線に対応させ、N列をNチャネルの出力回線に対応させる。
【0085】
図1(b)は、4行4列の格子点モデルを示しており、この場合は、1行1列、1行2列、1行3列、2行1列、2行3列、3行1列、3行4列、4行3列、4行4列の格子点に、各入出力回線の転送待ちデータの候補が存在している。
【0086】
この実施の形態1においては、このような格子点モデルを用い、データ交換に要求される上述した「N行×N列のN2個の格子点があり、そのうちの任意の格子点を選択できる状態であるときに、N行×N列の各行および各列には最大1つの候補のみ選択可能という条件の下で、最大数の格子点を選択する」という命題を解くために、1からNまでの数字を並べるための順列組み合わせ(組み合わせ数=Nの階乗個(N!))のパターンを全て用意しておき、これら全ての順列組み合わせパターンを格子点上に並んだ候補と論理積をとり、出力が1となるすなわち論理積が成立した候補の数が最大となる順列組み合わせのパターンを探し、そのうちの1つを選択するようにしている。
【0087】
図1(c)は、1から4までの数字を並べるための、4行4列の順列組み合わせパターンを示しており、この場合の組み合わせパターン数は4の階乗(4!)=24となる。
【0088】
図1(d)は、図1(b)に示した格子点上に並んだ候補パターンと、図1(c)に示した全ての順列組み合わせパターンとの論理積をとることを示している。
【0089】
図1(e)に示すように、上記論理積が成立した候補の数が最大となる順列組み合わせのパターンを探し、そのうちの1つを選択する。図1の場合は、2組が最大数「4」となり、これらのうち1組を選択する。
【0090】
この実施の形態1の方式においては、論理積を取る順列組み合わせのパターン数がNの階乗で増加する。そのため、ソフトウェアならともかく高速性のためにハードウェアで実現する必要がある場合、N=6程度までが現実的な値となると予想される。基本的にはNが増えれば回路規模が爆発的に大きくなっていくだけで基本方式としては変わらない。
【0091】
図2に4×4の場合の組み合わせ決定回路のハードウェア構成例を示す。この図2に示す組み合わせ決定回路は、完全に組み合わせ回路だけで構成することができ、入力データとしての全入出力回線の転送待ちデータの有無を示す情報が出そろってから一定時間後に選択・決定された入出力回線の組み合わせが出力されるというものである。
【0092】
図2に示す組み合わせ決定回路10は、(16×順列組み合わせのパターン数)個の論理積回路11および個数算出部12を有する論理積成立数演算部(PTNAND)13と、比較およびRR動作を行う比較RR部(CNTCMP)14と、24個から1個を選択するセレクタ(PTNSLCT)15とを備えている。また、RR用の外部回路として、5ビットのレジスタ16を備えている。
【0093】
入出力インタフェースは以下の通りである。
入力信号線(16ビット)
dataw[4:1][4:1];N個の出力回線に対するN個の入力回線のデータ転送要求の候補を示す転送要求候補データである。上位の[4:1]が入力回線、下位の[4:1]が出力回線を表し、[4:1][4:1]で4×4の行列を表している。各16ビットにおいて、1:データあり、0:データなしである。
出力信号線(16ビット、組み合わせの選択結果)
datar[4:1][4:1];上位の[4:1]が入力回線、下位の[4:1]が出力回線を表し、[4:1][4:1]で4×4の行列を表している。各16ビットにおいて、1:選択、0:非選択である。
【0094】
例えば、図1(b)に示した入出力パターンを、列単位に表現した場合(縦に見た場合)、
dataw[4:1][4:1]=1110.1000.1101.0011b
となる。添え字の“b”は2進数表記であることを意味するものとする。
【0095】
また、図1(b)に示した入出力パターンを、行単位に表現した場合(横に見た場合)、
dataw[4:1][4:1]=1110.1010.1001.0011b
となる。
【0096】
論理積成立数演算部(PTNAND)13においては、上記した16ビットの入力信号線dataw[4:1][4:1]と、16ビットの順列組み合わせのパターンptn[n][4:1][4:1]とが、16個の論理積回路11に夫々入力される。16個の論理積回路11は、順列組み合わせのパターン数分(この場合24個)だけ用意されている。
【0097】
順列組み合わせパターンptn[n][4:1][4:1]は、16ビットで図1(c)に示した1つの4×4の順列組み合わせパターンを表す。ptn[n][4:1][4:1]は、以下に示す24個の固定値である順列組み合わせのパターンを有しており、これら24個の順列組み合わせのパターンが論理積回路11に同時に入力される。
【0098】
これは例えば、
Figure 0003863421
のようになっていて、1から4までの数字を並べるときの順列組み合わせパターンを数値化したものである。このように、ptn[n][4:1][4:1]は、1からNまでの全ての順列組み合わせパターンを表すNの階乗個のパターン数をもつN×Nビットの順列組み合わせデータである。
【0099】
16ビットの論理積回路11は、以下の論理積を信号線毎に実行し、その出力d_ptn[n][4:1][4:1]を個数算出部12に入力する。
d_ptn[n][4:1][4:1]=dataw[4:1][4:1]&ptn[n][4:1][4:1]
論理積回路11には、上記24個の順列組み合わせのパターンptn[n][4:1][4:1]が同時に入力されるので、24セットのd_ptn[n][4:1][4:1]が得られることになる。
【0100】
個数算出部12は、次式にしたがって、上記論理積が成立した、すなわち論理積出力が1となった行方向の候補の個数(または行方向の候補の個数)を演算する処理を、24セットのd_ptn[n][4:1][4:1]について夫々実行する。
【0101】
Figure 0003863421
ここで“|”は論理和を示す記号とする。d_cnt[n][3:1]値は、0から4までの値を取り得るので、d_cntは3ビット幅となる。
【0102】
つぎに、比較RR部(CNTCMP)14では、入力された24セットのd_cnt値をトーナメント比較して、結果として最大となったd_cnt値の番号nを比較結果cmprとして出力する。
【0103】
ここで最大値を得るとき、いくつかのd_cnt値が最大値かつ同一の値となることがあるので、この場合、比較RR部14においては、RR方式を適用して、1つのd_cnt値を一意に決定している。
【0104】
このときのRRにおいては、例えば、d_cnt値が一番大きい値を示すnが複数ある時、前回決定したnを記憶しておきそれをnPとすると、d_cnt値が最大となるnのうち、最高優先:nP+1、次優先:nP+2、…、N、1、2、…、最低優先:nPとし、この優先順位にしたがってnを決定するようにしている。
【0105】
ここで、比較RR部14では、入力された複数のd_cnt値をトーナメント比較して最大値を選択する処理と、選択結果が複数になったときに最終的に選択結果を一意に絞るためのRR処理とを行わなければならない。そこで、この場合、比較RR部14では、比較ビット長を拡張して、比較ビット中の上位ビットをd_cnt値とし、その下位ビットをRR方式を実現するための比較値とし、これらを一括して同時に比較して結果を出すことによって、複数のクロックステップなどを踏まずに高速処理をなし得るようにしている。
【0106】
すなわちこの場合、比較対象は24個なので、RR値は1〜24までの値を示す必要がある。つまりRRのビット幅は5ビットが必要である。従って、実際の比較値である決定組み合わせ数(1〜4)を表すための上位3ビットと、RRのための下位5ビットを合わせて8ビットの比較値となる。前回の決定結果がs(s:1、2、…、24)であった場合、次に最優先されるべきd_cntはs+1番目である。ここでは最大値を検索するので、s+1番目のd_cntの下位5ビットが24となり、s+2番目のd_cntの下位5ビットが23ということになり、結局、下位の5ビットを、以下のようにすればよい。
【0107】
Figure 0003863421
【0108】
このようにすることで、決定組み合わせ数の最大値を求める比較と、一意に結果を求めるためのRR手順が同時に実施され、結果的に平等性を維持しつつ常に一意に決定したものが出力されることになる。ただし、この場合はRR値について前回の決定結果を利用するため、前回の決定結果をレジスタ16にラッチし、それを内部にフィードバックする回路が必要となる。
【0109】
こうして最終的に得られた順列組み合わせパターンの番号cmprは、セレクタ(PTNSLCT)15に選択信号selとして入力される。セレクタ15には、論理積回路11の16ビット出力d_ptn[n][4:1][4:1]の分岐出力が、信号ps_ptnとして入力されており、セレクタ15は、選択信号selで示された番号に対応するps_ptnを選択して、出力信号datar[4:1][4:1]として出力する。このようにして、転送可能な入出力回線の組み合わせ結果が、datar[4:1][4:1]として出力される。
【0110】
このようにこの実施の形態1においては、入出力回線の転送待ちデータの候補をNの階乗個ある順列組み合わせの全パターンと総当たりで比較確認することで、もっとも多くのデータ転送が可能となる組み合わせのうちの1つを選択する方式を採用するようにしているので、交換装置のデータ転送能力を最大に高めることが可能となる。
【0111】
なお、上記した実施の形態1においては、入出力チャネル数が同じであるN×Nの格子点モデルについて説明したが、入出力チャネル数の異なるN×Mの格子点モデルは、max(N,M)=Kの場合のK×Kの格子点モデルの一部として考えることができるので、上述したN×Nの格子点モデルに包含されると考えることができ、上述した組み合わせ決定アルゴリズムをそのまま適用することができる。このことは、後述する実施の形態2〜4についても、同様に当てはまる。
【0112】
実施の形態2.
つぎに、図3〜図8を用いてこの発明の実施の形態2について説明する。先の実施の形態1では、Nの階乗個に相当する順列組み合わせの全てについて総当たりで確認する必要があるが、その順列組み合わせ数が、Nの値が少し増えると大きく増大するため、現状ではNは6(6!=720)程度までが現実的であり、一般の交換装置(回線数:8〜64程度)に適用することは困難である。実際、交換装置の収容回線数は2のべき乗に相当することが多いので、現実的にはN=4となることが多いだろう。
【0113】
そこで、この実施の形態2においては、1回の決定手順後毎に削除される転送待ちデータの候補数に注目し、常にそれが最小になるように入出力回線の組み合わせを決定していくという方式を採用する。この実施の形態2においては、つぎのようなアルゴリズムを採用している。
【0114】
ステップ(1)
N行×N列の格子点上にある候補の数を、行毎、列毎に計数し、
ステップ(2)
計数した結果が1以上である値のうち最小値を検索して、その値を示す行、または列を1つ選択し、
ステップ(3)
選択した行または列の中の候補について、その候補が存在する列、または行の候補の数のうち最小値を検索して、その値を示す列、または行を1つ選択し、
ステップ(4)
上記(2)および(3)の手順によって決定した行・列の組み合わせを記憶し、
ステップ(5)
決定した行・列上の候補を全て削除して、まだ決定していない行および列の候補数を再びそれぞれ計数し、(2)の処理から候補がなくなるまで繰り返し、
ステップ(6)
候補がなくなった時点で記憶されている行・列の組み合わせを最終的な入出力回線の組み合わせ結果とする。
【0115】
また、上記(2)(3)の手順において、最小値を検索するときに行および列全ての計数値を検索対象とするのでなく、行の計数値をまず最初に検索して行を決定し、次にその行の中にある候補に対応する列のうち、もっとも小さい計数値を示す列を決定するという手順を採用することで、効率よく、高速に、最小値を示す列または行を選択するようにしている。
【0116】
上記実施の形態2のアルゴリズムを図3を用いて説明する。図3において、入出力回線の転送待ちデータの組み合わせは、図14あるいは図17と同じとし、RRの前回決定値は図14と同じ状態とした。この場合、前記ステップ(1)が行われることで、入出力回線の転送待ちデータ候補数を行、列毎に計算される。この場合、入力回線#1,#2,#3,#4の転送待ちデータ候補数(各行の待ち候補数)は、3,2,2,2となる、出力回線#1,#2,#3,#4の転送待ちデータ候補数(各列の待ち候補数)は、3,1,3,2となる。
【0117】
また、図3(a)〜(e)の各下部に示したRRaは、最小値が同じ入力回線が複数あったときに1つの入力回線を選択するためのRR値であり、入力側の各ボックス内に記入された数値「4,1,2,2」(RRb)は、最小値が同じ出力回線が複数あったときに1つの出力回線を選択するためのRR値である。
【0118】
つぎに、ステップ(2)の手順を実行して、入力回線側(行)の待ち候補数のうち最小値を1つ選択する。この場合、図3(b)に示すように、入力回線側の候補数を比較すると、候補数が2である入力回線#2、#3および#4が最小値を持つ入力回線となる。この中から1つを選択するために、RR値RRa(=3)を利用して、結局入力回線#4がまず選択される。RRaは、入力回線#4を最も低い優先度とするように、RRa=4となる。
【0119】
つぎに、ステップ(3)の手順を実行して、選択した行(入力回線#4)が指定している複数の列(出力回線)についての待ち候補数を比較することにより、最小の待ち候補数を指定している列(出力回線)を1つ選択する。この場合、図3(c)に示すように、入力回線#4の2つの転送待ちデータの宛先は出力回線#3と#4であるので、それらの回線の候補数を同様に比較すると、出力回線#3の候補数は3で、出力回線#4の候補数は2であり、出力回線#4の候補数が最小かつ唯一であるので、第1回目の決定手順によって入力回線#4と出力回線#4の組み合わせが決定する(図3(d))。この場合、出力回線#4が選択されたので、入力回線#4のRR値RRbは、出力回線#4を最低優先度とするように、RRb=4とされる。
【0120】
つぎに、上記ステップ(4)(5)の手順を実行することにより、入力回線#4と出力回線#4につながる候補のうち決定したもの以外は全て削除する。この場合は、図3(d)(e)に示すように、入力回線#4−出力回線#3、入力回線#3−出力回線#4の候補が削除される。この削除により、図3(e)に示すように、入力回線側の待ち候補数は、#1が3、#2が2、#3が1、#4が0となり、出力回線側の待ち候補数は、#1が3、#2が1、#3が2、#4が0となる。
【0121】
第2回目の決定手順では、まず、入力回線として、候補数の最も少ない入力回線#3が選択される。入力回線#3が指定する出力回線は出力回線#1のみであるので、第2回目の決定手順では、入力回線#3と出力回線#1の組み合わせが選択される(図3(f))。RRaは、入力回線#3を最も低い優先度とするように3とされ、また入力回線#3のRRbは出力回線#1を最も低い優先度とするように1とされる。入力回線#3と出力回線#1につながる候補のうち決定したもの以外、この場合は、入力回線#1−出力回線#1、入力回線#2−出力回線#1の組み合わせが削除される。この削除により、図3(g)に示すように、入力回線側の待ち候補数は、#1が2、#2が1、#3が0、#4が0となり、出力回線側の待ち候補数は、#1が0、#2が1、#3が2、#4が0となる。
【0122】
第3回目の決定手順では、まず、入力回線として、候補数の最も少ない入力回線#2が選択される。入力回線#2が指定する出力回線は、出力回線#3のみであるので、第3回目の決定手順では、入力回線#2と出力回線#3の組み合わせが選択される(図3(h))。RRaは、入力回線#2を最も低い優先度とするように2とされ、また入力回線#2のRRbは出力回線#3を最も低い優先度とするように3とされる。入力回線#2と出力回線#3につながる候補のうち決定したもの以外、この場合は、入力回線#1−出力回線#3の組み合わせが削除される。この削除により、図3(i)に示すように、入力回線側の待ち候補数は、#1が1、#2が0、#3が0、#4が0となり、出力回線側の待ち候補数は、#1が0、#2が1、#3が0、#4が0となる。
【0123】
第4回目の決定手順では、図3(j)に示すように、入力回線#1と出力回線#2の組み合わせが選択される。RRaは、入力回線#1を最も低い優先度とするように1とされ、また入力回線#1のRRbは出力回線#2を最も低い優先度とするように2とされる。
【0124】
ここで、各決定段階において削除される候補数を確認すると、
図3(d)→図3(e):2本
図3(f)→図3(g):2本
図3(h)→図3(i):1本
であり、RR方式において4つの入出力回線が決定された図17の場合と、削除される候補の本数が同じであることがわかる。このようにこの実施の形態2においては、削除される候補の数をできるだけ少なくすることによって、より多くの入出力回線の組み合わせが決定できるようにする。実際、実施の形態2の方法によれば、4×4の場合には、RR値の全ての組み合わせにおいて、必ず4つの入出力回線の組み合わせが決定する。つまり、図15(a)(b)のどちらかの選択結果に至ることができる。このような結果も計算機で全てのパターンについて試行して得ることができる。
【0125】
因みに、図3の結果は、図15(b)の結果に相当するが、図3(j)のRR値の状態から同じ転送待ちデータの状態について、上記した実施の形態2の方法を行うようにすれば、図4(a)〜(h)に示すように、図15(a)の結果を得ることができる。
【0126】
図4(a)〜(h)を用いてその動作を簡単に説明する。最初に、入力回線側(行)の待ち候補数のうち最小値を1つ選択する。この場合、候補数が2である入力回線#2、#3および#4が最小値を持つ入力回線となる。RR値RRa(=1)であるので、入力回線#2がまず選択される。(図4(a))。
【0127】
つぎに、選択した行(入力回線#2)が指定している複数の列(出力回線)についての待ち候補数を比較することにより、最小の待ち候補数を指定している列(出力回線)を1つ選択する。この場合、図4(b)に示すように、入力回線#2の2つの転送待ちデータの宛先は出力回線#1と#3であるので、それらの回線の候補数を同様に比較すると、出力回線#1の候補数は3で、出力回線#3の候補数は3であり、同数である。入力回線#2のRR値RRb(=3)が参照され、出力回線#1のほうが出力回線#3より優先度が高いことが判る。したがって、第1回目の決定手順によって入力回線#2と出力回線#1の組み合わせが決定する(図4(b))。この場合、入力回線#2が選択されたので、RRaは、入力回線#2を最も低い優先度とするように、RRa=2となる。また、出力回線#1が選択されたので、入力回線#2のRR値RRbは、出力回線#1を最低優先度とするように、RRb=1とされる。
【0128】
つぎに、入力回線#2と出力回線#1につながる候補のうち決定したもの以外は全て削除する。この場合は、図4(b)(c)に示すように、入力回線#2−出力回線#3、入力回線#1−出力回線#1、入力回線#3−出力回線#1の候補が削除される。この削除により、図4(c)に示すように、入力回線側の待ち候補数は、#1が2、#2が0、#3が1、#4が2となり、出力回線側の待ち候補数は、#1が0、#2が1、#3が2、#4が2となる。
【0129】
第2回目の決定手順では、まず、入力回線として、候補数の最も少ない入力回線#3が選択される。入力回線#3が指定する出力回線は出力回線#4のみであるので、第2回目の決定手順では、入力回線#3と出力回線#4の組み合わせが選択される(図4(d))。RRaは、入力回線#3を最も低い優先度とするように3とされ、また入力回線#3のRRbは出力回線#4を最も低い優先度とするように4とされる。入力回線#3と出力回線#4につながる候補のうち決定したもの以外、この場合は、入力回線#4−出力回線#4の組み合わせが削除される。この削除により、図4(e)に示すように、入力回線側の待ち候補数は、#1が2、#2が0、#3が0、#4が1となり、出力回線側の待ち候補数は、#1が0、#2が1、#3が2、#4が0となる。
【0130】
第3回目の決定手順では、まず、入力回線として、候補数の最も少ない入力回線#4が選択される。入力回線#4が指定する出力回線は、出力回線#3のみであるので、第3回目の決定手順では、入力回線#4と出力回線#3の組み合わせが選択される(図4(f))。RRaは、入力回線#4を最も低い優先度とするように4とされ、また入力回線#4のRRbは出力回線#3を最も低い優先度とするように3とされる。入力回線#4と出力回線#3につながる候補のうち決定したもの以外、この場合は、入力回線#1−出力回線#3の組み合わせが削除される。この削除により、図4(g)に示すように、入力回線側の待ち候補数は、#1が1、#2が0、#3が0、#4が0となり、出力回線側の待ち候補数は、#1が0、#2が1、#3が0、#4が0となる。
【0131】
第4回目の決定手順では、図4(h)に示すように、入力回線#1と出力回線#2の組み合わせが選択される。RRaは、入力回線#1を最も低い優先度とするように1とされ、また入力回線#1のRRbは出力回線#2を最も低い優先度とするように2とされる。
【0132】
図5は、上述した実施の形態2のアルゴリズムを実現するための回路構成を示すものである。但し、上記図3あるいは図4の説明では、入力回線(或いは出力回線)を選択するときに、候補数の同じ入力回線(或いは出力回線)が存在しているときには、RR方式を用いて1つの入力回線(或いは出力回線)を選択するようにしているが、図5の回路においては、候補数の同じ入力回線(或いは出力回線)が存在しているときには、入力回線番号(あるいは出力回線番号)の小さい方を優先して選択するようにしている。
【0133】
図5に示す組み合わせ決定回路10は、選択行列候補削除部21と、行候補数計算部22と、行用の最小値比較器23と、デコーダ24と、選択行非選択列候補削除部25と、列候補数計算部26と、列用の最小値比較器27と、選択結果保存レジスタ28とを備えている。
【0134】
図5において、入出力インタフェースは以下の通りである。
入力信号線(N×Nビット)
dataw[N:1][N:1];N個の出力回線に対するN個の入力回線のデータ転送要求の候補を示す転送要求候補データである。上位の[N:1]が入力回線、下位の[N:1]が出力回線を表し、[N:1][N:1]でN×Nの行列を表している。各ビットにおいて、1:データあり、0:データなしである。
出力信号線(N×nビット、組み合わせの選択結果)
datar[N:1][n:1];上位の[N:1]が入力回線、下位の[n:1]が出力回線を表し、[N:1][n:1]でN×nの行列を表している。
クロック
CLK;一回の決定に最大でNクロック必要
【0135】
入力信号は、データの有無を示すdatawと、クロックCLKである。入力datawのデータ形態は、先の実施の形態1と同じである。出力datarのデータ形態は、先の実施の形態1のように、格子点にビットが立つのではなく、行毎に列番号が与えられる。この組み合わせ決定回路10では、数値に関しては、全て1から数えており、0は無効であることを意味している。出力datarは、行毎に与えられる数値が1〜Nまでの値であれば、その行には選択された候補が存在し、その数値が列番号を示しており、行毎に与えられる数値が0であった場合にはその行は候補が選択されていないことを意味する。
【0136】
また、図5において、nは、数値1〜Nを表すのに必要なビット数である。数値の内容が基本的に0からN−1ではなく1からNとしたことによって、結果を数値として示すのに必要なビット数を表すnの値は図内右下に注釈で示したようになる。N≦2(n-1)としてあるが、実現にあたってはN=2n-1となるのが一般的である。N=4のとき、例えば、n=3である。
【0137】
選択行列候補削除部21は、既に選択された行および列の候補を全て削除する処理を行うもので、選択結果保存レジスタ28から出力されるdataSelの内容から選択済みの行および列を検索し、入力されるdataw中の対応する行および列の値を0に変更するという処理を行っている。例えば、図1(b)の格子点モデルにおいて、dataSelが2行3列が選択されたことを示しているとすると、2行の全ての候補と、3列の全ての候補が0に変更される。
【0138】
この選択行列候補削除部21での処理を、数式化すると以下のようになる。
dataDel=dataw,ただし以下の変更を加える;
if dataSel[i]>0 then dataDel[i]=0 (行の0化)
if dataSel[i]=j then dataDel[k][j]=0 (列の0化)
(i,j、k=1,2,…,N)
なお、dataSel[i]は、nビット(Nビットではなく)の数値を表しており、数値は0〜Nまでの値が有効であり、0のときまだ決定していないことを示している。
【0139】
選択行列候補削除部21での処理は、数式ではループが必要な処理となるが、論理回路でこれを実現する場合は、デコーダ、セレクタ、および0化のための論理積などの組み合わせ回路となる。第1回目の決定手順では、dataSelの内容は当然全て0であるので、datawの内容がそのままdataDelへ出力されることになる。選択行列候補削除部21の出力dataDelは、行候補数計算部22および選択行非選択列候補削除部25に入力されている。
【0140】
行候補数計算部22は、各行について候補数を計算するブロックである。行候補数計算部22での処理を数式化すると以下のようになる。
cLine[i]=dataDel[i][1]+dataDel[i][2]+…+dataDel[i][N]
(i=1,2,…,N)
【0141】
行候補数計算部22で計算された各行についての候補数計算結果cLineは、そのまま最小値比較器23へ入力される。
【0142】
最小値比較器23は、入力されたN個のcLine[i]のうち、最小であるもののうちの1つを選択し、そのi値をselLへ出力するものである。このときcLine[i]=0であるものに関しては比較の対象としない。全てのcLine[i]が0である場合には、selLは0を出力する。これを回路実現イメージを絡めて数式化すると以下のようになる。
Figure 0003863421
【0143】
cLineのうち0であるものを無効とするために、最初にcLine[i]が0の場合には、実際に比較を行うためのビット列であるcLineSの最上位ビットに1を立て、必ず最大値のうちの1つになるようにしておく。そして最下位nビットには行の順番を示す値(行番号)を挿入し、cLine[i]に同じ値が複数あっても最終的にこの最下位の値によって一意に決定することができるようにしている。こうすると、選択されたcLineS、つまりcLineRの最上位ビットを確認したときに1が立っていれば候補が全くなくて無効であることを意味するので、selLに0を出力すればよく、最上位ビットが0であれば行番号に相当するcLineRの最下位nビットをselLに出力する。
【0144】
比較を行うためのビット列であるcLineS[i]は2n+1ビット幅で、以下のビット配列となっている。
Figure 0003863421
【0145】
この場合、最小値比較器23においては、最小値を示すcLine[i]が複数個あった場合には、行番号の小さい方を優先して選択するようにしている。最小値比較器23のnビット出力selLは、デコーダ24に入力され、ここでNビットにデコードされる。
【0146】
デコーダ24の出力であるdecLは、selLが0の時は全てのビットが0となって、選択されたものがないことを示している。デコーダ24での処理を数式化すると以下のようになる。
Figure 0003863421
【0147】
デコーダ24の出力decLは2つに分岐され、1つは選択行非選択列候補削除部25に入力され、もう1つは選択結果保存レジスタ28に入力される。
【0148】
次に、選択行非選択列候補削除部25について説明する。選択行非選択列候補削除部25では、デコーダ24の出力decLを用いて、選択された行についての候補の有無を確認し、選択された行に候補が存在する場合は、候補の存在しない列についての候補を全て削除する。すなわち、その後行われる最小値比較器27での比較処理では、選択された行に候補が存在する場合、候補が存在する列から最小の候補数を持つ列を選択する処理を行わなければならないが、選択された行については候補が存在しない列でも、選択されていない他の行に候補が存在している可能性はある。このような選択されていない他の行に候補が存在している列については、最小値比較器27での比較処理の対象から外さなくてはならないので、選択行非選択列候補削除部25で、選択された行で、候補のない列の候補を0化するようにしている。最小値比較器27での比較処理では、0は無視される。例えば、図1(b)の格子点モデルにおいて、decLが2行を選択されたことを示しているとすると、2行に候補のない2列の候補および4列の候補が全て0化される。
【0149】
選択行非選択列候補削除部25の動作を数式化すると以下のようになる。
dataCol=dataDel,ただし以下の変更を加える;
if dataDel[decL][j]=0 then dataCol[i][j]=0
(i、j=1,2,3,…,N)
【0150】
列候補数計算部26は、選択行非選択列候補削除部25の出力dataColを用いて各列について候補数を計算し、計算した各列の候補数値cClmを最小値比較器27に入力する。列候補数計算部26での処理を数式化すると以下のようになる。
cClm[j]=dataCol[1][j]+dataCol[2][j]+…+dataCol[N][j]
(j=1,2,…,N)
【0151】
最小値比較器27は、値が0でないcClmのうち最小であるものを選択して、その列番号をselCへ出力する。この場合、最小値比較器27は、最小値比較器23と同じ回路構成を用いている。その処理内容を数式化すると、次のようになる。
Figure 0003863421
【0152】
この場合、最小値比較器27においては、最小値比較器23と同様、0でない最小値を示すcClmが複数あった場合には列番号の小さいものが優先的に選択されるようにしている。このselCは、選択結果保存レジスタ28に入力される。
【0153】
選択結果保存レジスタ28は、複数個(N個)のレジスタを備え、先に得られたデコーダ24の出力decLによって選択されたレジスタに列情報として与えられるselCの値を保存する。選択結果保存レジスタ28の出力は、dataSelとして、選択行列候補削除部21に入力されるとともに、入出力回線の決定結果datarとして出力される。その動作を数式化したものを以下に示す。この場合、レジスタとして、イネーブル付きDタイプ-フリップフロップを用いている。
reg[N:1][n:1];
reg.CLK=CLK,reg[i][m].D=selC[m],datar=reg.Q,
reg[i][m].EN=decL[i]
(i=1,2,3,…,N),(m=1,2,…,n)
なお、reg.CLKはレジスタのクロック、reg.Dはレジスタのデータ入力、reg.Qはレジスタの保存データ出力、reg.ENはレジスタの正論理のイネーブル入力を表す。
【0154】
このように、選択結果保存レジスタ28より前段の各組み合わせ回路の内容が安定するのに十分な時間経過毎にクロックCLKを入力することで、選択された行毎に最適な列が決定され、選択行列候補削除部21の出力であるdataDelに候補がなくなるか、あるいはN回クロックを入力した時点で組み合わせ決定手順を完了することができる。
【0155】
つぎに、図6は、先の図3あるいは図4に示した方式を実現するための回路構成を示すものである。すなわち、図6に示す組み合わせ決定回路10では、入出力回線を選択するときに、候補数の同じ入出力回線が存在しているときには、RR方式を用いて1つの入出力回線を選択するようにしている。
【0156】
図6に示す組み合わせ決定回路10において、選択行列候補削除部21、行候補数計算部22、デコーダ24と、選択行非選択列候補削除部25と、列候補数計算部26および選択結果保存レジスタ28に関しては、先の図5に示したものと同じ機能を有している。
【0157】
この図6の組み合わせ決定回路10においては、nビットレジスタ30、N×nビットレジスタ31を追加するとともに、最小値比較RR回路32および33でRRが可能なように、図5の最小値比較器23および27にRR機能を追加している。
【0158】
図3あるいは図4の説明からも判るように、行を選択するRR値(RRa)は1つなのに対して列を選択するためのRR値(RRb)は行毎にあるのが望ましいので、列を選択するためのRR値はN個設けている。そして、列を選択するときに使用するRR値については、行の選択結果であるdecLを利用して、N×nビットレジスタ31から、使用するRR値のレジスタを選択している。
【0159】
まず、行選択のための最小値比較RR回路32の動作と、RR値を保存するためのnビットレジスタ30の動作を数式化したものを以下に示す。
if cLine[i]=0 then cLineS[i][2n+1]=1
Figure 0003863421
【0160】
nビットレジスタ30は、イネーブル付きDタイプ-フリップフロップを用いている。
reg[n:1];
reg.CLK=CLK,reg[m].D=selL[m],s=reg.Q,reg.EN=(selL>0)
(m=1,2,…,n)
【0161】
最小値比較RR回路32については、比較器としての実現方式は図5の最小値比較器23と同様であるが、唯一異なるのがcLineSの下位nビットに適用する内容で、((N+i−s−1)%N)+1を適用する。ここで、“%”は左辺の数値を右辺の数値で割ったときの剰余を返す演算子である。上記数式では最初の括弧内が負数にならないようにするためにNを加算しているが、回路上で有効範囲nビットの符号なし演算回路を生成すると、小さい数値から大きい数値を減算するときには自動的に桁借りが行われるのでNの加算は必要ない。
【0162】
実際に((N+i−s−1)%N)+1にi=1から適用すると、図7に示す値となる。ここで適用するRR方式では、前回の決定結果に相当する対象が今回では最も優先順位が低くなり、次の対象がもっとも優先順位が高くなる。比較結果として最小値を探すので、最も優先順位の高い対象のRR値が一番小さい値(=1)で、前回の決定結果に相当する対象はもっとも大きい値(=N)でなければならない。その間は順に巡回している必要がある。図7によれば、上記の式((N+i−s−1)%N)+1は、それを満たしていることがわかる。
【0163】
一方、比較結果については、図5の最小値比較器23の場合は、cLineSの下位nビットをそのまま利用すれば良かったが、図6の最小値比較RR回路32の場合は、上記したように変換した値を用いているので、元に戻す必要がある。
【0164】
それが((cLineR[n:1]+s−1)%N)+1の式である。この式を、上記と同様に、実際に計算してみると図8に示すような結果となる。((cLineR[n:1]+s−1)%N)+1の値はまさにiと一致する。これによって、最小比較でRR方式を実施し、その後選択された行の番号を間違いなく得られることが示された。
【0165】
RR値保存のためのnビットレジスタ30に関しては、基本的にはselLとsの間にレジスタを挿入するだけである。但し、reg.EN=(selL>0)の意味は、selLが0より大きいときには1を入力し、selLが0の時には0を入力することであり、これにより、最小値比較RR回路32の出力結果が0、つまり比較結果が無効であったときにはレジスタを変化させないようにしている。
【0166】
次に、列の選択のための最小値比較RR回路33およびN×nビットレジスタ31について説明する。
【0167】
最小値比較RR回路33の構成は、上述した行選択のための最小値比較RR回路32と全く同じであり、その説明は省略する。外部で、RR値を保存するためのN×nビットレジスタ31においては、デコーダ24の出力decLによって対応するレジスタを選択するセレクタを設けている。N×nビットレジスタ31には、イネーブル付きDタイプ-フリップフロップを用いている。その動作を数式化したものを以下に示す。
reg[N:1][n:1];
reg.CLK=CLK,reg[i][m].D=selC[m],reg[i][m].EN=decL[i],
if decL[i]=1 then s[m]=reg.Q[i][m]
(i=1,2,3,…,N)、(m=1,2,…,n)
【0168】
つまり、レジスタ31の出力sへの出力内容は、N組あるnビットのレジスタのうちdecL中のビットが1のものに対応するレジスタとなる。またクロックCLKによって、その内容を書き換えるレジスタも、同様にdecLにおける対応するビットが1となっているレジスタとなる。こうして、対象となっている行に対応する列選択用のRR値のみが最小値比較RR回路33に入力され、また、その結果を次のクロックCLKで同一のレジスタに保存することができる。
【0169】
このようにこの実施の形態2によれば、各決定手順後に削除される転送待ちデータの候補数に注目し、常にそれが最小になるように入出力回線の組み合わせを決定しているので、通信交換装置におけるデータ転送能力を、従来のRR方式よりも、向上させることができる。
【0170】
実施の形態3.
つぎに、図9を用いてこの発明の実施の形態3について説明する。この実施の形態3は、上記したアルゴリズムとは別のある要因が発生した時に、外部から特定行優先信号fctL[n:1](=1以上:要因発生、0:要因なし)および特定列優先信号fctC[n:1](=1以上:要因発生、0:要因なし)を、指定行優先選択部40および指定列優先選択部41に入力することで、特定行優先信号fctL[n:1]あるいは特定列優先信号fctC[n:1]で指定された行,列の計数値cLine,cClmを、最小値比較器23,27で最優先選択される最小値、すなわち1に一時的に置き換えるようにしている。このように、特定の行,列の計数値cLine,cClmを1に一時的に置き換えた後、最小値比較器23,27での通常の最小値選択処理を行うことで、特定の行,列が最初に選択される可能性を大きくすることができる。
【0171】
行候補数計算部22での処理を数式化すると次のようになる。
cLine[i]=dataDel[i][1]+dataDel[i][2]+…+dataDel[i][N]
(i=1,2,…,N)
【0172】
指定行優先選択部40での処理を数式化すると次のようになる。
if fctL>0 then
if cLine[fctL]>0 then cLine[fctL]=1
【0173】
列候補数計算部26での処理を数式化すると次のようになる。
cClm[j]=dataCol[1][j]+dataCol[2][j]+…+dataCol[N][j]
(j=1,2,…,N)
【0174】
指定列優先選択部41での処理を数式化すると次のようになる。
if fctC>0 then
if cClm[fctC]=1 then cClm[fctC]=1
【0175】
上式は、要因が発生して対象となった行、あるいは列に対して計数値が1となるようにする手順を追加するものである。ただし、対象となった行または列に候補がいない場合には、1への置き換え処理を実行しない。
【0176】
なお、図9の場合は、fctCについては、特に行毎に別の値を指定するための回路を図示していないが、fctC[N:1][n:1]として、行毎に別の値が与えられるようにし、デコーダから出力されるdecLの値を利用して行毎に別の値を選択するような構成をとるのが、一般的である。また行、列共にfctL、fctCが適用されることは必然ではなく、行または列のみをfctLまたはfctCによって選択させるようにしてもよい。また、図9の場合は、図5に示した組み合わせ決定回路10に、指定行優先選択部40および指定列優先選択部41を追加するようにしたが、図6に示したRR方式を用いる組み合わせ決定回路10に、指定行優先選択部40および指定列優先選択部41を追加するようにしてもよい。
【0177】
同様に、fctL、fctCの適用例として、強制的に対象となる行、または列を選択するためには最小値比較器に適用するのがもっとも現実的な方法である。すなわち、以下に示す手法では、外部要因が発生した時に、外部要因の対象となる行または列以外の計数値を0に置き換えることによって、特定の行、または列が強制的に選択されるようにする。最小値比較器で行われる処理についての数式を以下に示す。
Figure 0003863421
なお、上記の数式は、外部要因によるデータを元に、外部要因の対象となる行または列以外の計数値を0化した後の処理について記述したものである。
【0178】
ここで、selXはselLおよびselCを代表しており、cXxxはcLineおよびcClmを代表しており、fctXはfctLおよびfctCを代表している。この数式は、0より大きい最小値を探す時に、fctXの示すcXxxが0以上、つまり候補がいた場合には、selXにfctXを代入し、変更のための条件を0より大きく1より小さいという絶対に起こりえない状況にして、selXを変化させないようにしている。
【0179】
なおRR機能付きの比較器においても同様で、以下の数式となる。
Figure 0003863421
【0180】
RR値保存のためのレジスタについては全く変更はないため、特に示さない。また、前記同様、fctCについては、fctC[N:1][n:1]として、行毎に別の値が与えられるようにし、デコーダから出力されるdecLの値を利用して行毎に別の値を選択するような構成をとるのが、一般的である。また行、列共にfctL、fctCが適用されることは必然ではなく、行または列のみをfctLまたはfctCによって選択させるようにしてもよい。
【0181】
実施の形態4.
次に、図10および図11を用いてこの発明の実施の形態4について説明する。この実施の形態4は、処理順序についての複数の優先クラスがあったときの、つまりN×Nの格子モデルが複数枚あって、各格子モデル間に優先クラスが設定されているときの、組み合わせ決定アルゴリズムを示すものである。このように複数の格子モデル間に優先クラスが設定されているときは、入出力回線を選択するときの条件は、各格子モデルの同一の行と同一の列についてはそれら全てにおいて候補を1つしか選択できない、言い換えると全ての格子のi(i=1〜N)行および全ての格子のj(j=1〜N)列において選択可能な候補はただ1つであるという条件となる。
【0182】
この実施の形態4においては、つぎのようなアルゴリズムを採用している。
ステップ(1)
候補の有無を上位の優先クラスの格子から見ていき、候補があったうちの最上位の優先クラスの格子において、前述した実施の形態2の格子点選択手順を実施し、
ステップ(2)
決定した格子点の行および列について、決定した格子とそれよりも下位の全ての格子についても対応する行および列の候補を削除し、
ステップ(3)
上記ステップ(1)およびステップ(2)を候補がなくなるまで、最大N回繰り返す。
【0183】
図10は、上記アルゴリズムを実現するための組み合わせ回路の構成を示すものである。図10において、入出力インタフェースは以下の通りである。
入力信号線(M×N×Nビット)
dataw[M:1][N:1][N:1];上位の[M:1]が優先クラス、中位の[N:1]が入力回線、下位の[N:1]が出力回線を表している。
出力信号線(N×(m+n)ビット、組み合わせの選択結果)
datar[N:1][m+n:1];上位の[N:1]が入力回線、下位の[m+n:1]が出力回線と優先クラスを表している。
【0184】
以下、図6に示した実施の形態2の回路構成から追加あるいは変更になった構成要素についてのみ説明する。
【0185】
選択行列候補削除部50での処理を数式化すると次のようになる。
dataSelC=dataw、ただし以下の変更を加える;
if dataSel[i]>0 then dataSelC[h][i]=0 (行の0化)
if dataSel[i][n:1]=j then dataSelC[h][k][j]=0 (列の0化)
(h=1,2,…,M)、(i,j,k=1,2,…,N)
【0186】
ここでdataSel[i][n:1]は、dataSel[i]の下位nビットを意味する。上式によれば、削除対象となる候補は、dataSelの値に対応する行および列の全クラスの候補にわたっていることになる。
【0187】
クラス選択部51は、決定手順の実行対象となるクラスを選択し、該選択したクラスにおける選択行列候補削除部50の出力データをdataDelとして出力するとともに、選択したクラス番号classを出力する。その処理を数式化すると次のようになる。
class=0、次に以下の手順を実施;
if dataSelC[h][i][j]=1 then dataDel=dataSelC[h]、class=h
(h=1,2,…,M),(i,j=1,2,…,N)
【0188】
ここで、hは最優先クラスに対応する1から順にカウントし、各hの値についてiおよびjは全て確認する。条件が成立した時点で動作を終了する。常にクラスの上位から確認していき、候補が1つでも存在すれば、そのクラスの候補データを手順実施対象としてdataDelに出力するのと同時に、そのクラス番号をclassに出力する。実際の回路としては、dataSelCをクラス毎に全て論理和を取って、そのクラス毎の結果をプライオリティエンコーダ(優先選択回路)にかけて、論理和の結果が1であるもののうち最上位のクラスを選択し、それに対応する番号(プライオリティエンコーダの結果が0の時は0)を出力するという形態となる。
【0189】
選択結果保存レジスタ52は、クラスに関するmビットの情報も保存できるようにレジスタを追加している。すなわち、図6の選択結果保存レジスタ28に対し、datar[i]のそれぞれの上位にクラス番号を保存するためのmビットを追加した。
【0190】
つぎに、図11に、上記図10に示した組み合わせ決定回路の変形形態を示す。この図11に示す組み合わせ決定回路においては、複数の優先クラスを扱う組み合わせ決定アルゴリズムにおいて、ある優先クラスの決定手順において候補数を比較するときに、候補数が同じであった場合にはそれよりも下位の優先クラスの候補数を1クラス下位まで、あるいはそれよりも更に下位まで順次比較することによって、下位の優先クラスの候補の状態も考慮に入れて組み合わせを決定するようにしている。但し、図11に示す組み合わせ決定回路においては、下位のクラスまで考慮するのは、列決定のときのみとし、またそのとき考慮する下位のクラスを1つ下位のクラスの候補数までとし、それでも一意に決定できない場合はRRを利用するようにしている。
【0191】
以下、図10に示した回路構成から追加あるいは変更になった構成要素についてのみ説明する。
【0192】
クラス選択部60では、図10のクラス選択部51に対し、決定手順の実行対象となるクラスより1つ下位のクラスの候補データdataDel2も同時に出力する機能を追加している。最下位のクラスが手順実行対象となった場合には、1つ下位のクラスの候補データは全て0を出力する。その機能を数式化すると、つぎのようになる。
class=0、次に以下の手順を実施;
Figure 0003863421
【0193】
ここで、hは1から順にカウントし、各hの値についてiおよびjは全て確認する。条件が成立した時点で動作を終了する。
【0194】
選択行非選択列候補削除部25には、1つ下位のクラスの処理用にもう1つ回路を追加する。動作自体は、前述した選択行非選択列候補削除部25と変わらない。
【0195】
列候補数計算部26には、1つ下位のクラスの処理用にもう1つ回路を追加する。動作自体は、前述した列候補数計算部26と変わらない。
【0196】
クラス選択部60から出力されるdataDel2は、前述と同様にして、選択行非選択列候補削除部25および列候補数計算部26で処理され、対象クラスの候補数結果の下位nビットに追加されて、最小値比較RR回路61に入力される。
【0197】
最小値比較RR回路61については、1つ下のクラスも同時に比較できるよう、比較ビット幅をnビット更に拡張する。すなわち、比較ビット幅は、1(対象クラスの候補数の有無)+n(対象クラスでの候補数)+n(1つ下位クラスでの候補数)+n(RR値)で、3n+1ビット幅となる。なお、候補数が0か否かを確認する対象とするのは対象クラスの候補数に関してであり、下位クラスの候補数は問わない。最小値比較RR回路61での処理を数式化すると、次のようになる。
Figure 0003863421
【0198】
このように、図11の組み合わせ決定回路においては、対象クラスの候補数を適用するビットとRRを適用するビットの間に、下位クラスの候補数を適用するビットを設けて比較することによって、対象クラスの候補数で比較して一意に決定できない場合は、1つ下位クラスの状況を見て、削除される候補が少ない方を選択することによって、このアルゴリズムの基本原理である一回の手順で削除される候補数をできるだけ少なく維持することを実現し、結果的により多くの候補が選択されるための確率を高くすることができる。つまり、実際に通信装置にこのアルゴリズムを適用した場合に、装置としてのデータ転送能力を高レベルに維持することができる。
【0199】
シミュレーション評価結果.
図13に上記の方式を8×8の通信交換装置に適用した場合について計算機シミュレーションによる評価結果を示す。適用した手順は、RR方式については図14に示したもの、本発明におけるアルゴリズムについては図3に示した方式である。どちらもHead of Lineブロッキングによるスループットの低下を解消するために、仮想出力キューを各入力ポートに8個ずつ装備している。また交換は256バイト固定長のセル単位で、簡単のため入力トラヒックも全て256バイト固定長とした。また各入出力ポートの速度は10Gb/s(10ギガビット毎秒)である。どの測定結果も乱数ページを変えて5回測定し、その平均を測定結果とし、その95%信頼区間を併せて示した。入力トラヒックは全て指数分布を利用したもっとも一般的なマルコフ過程であり、帯域はポート速度の99%平均(9.9Gb/s)とした。そして各入力ポートから出力ポートへの帯域の振り分け方は、以下の2種類(均等、不均等)の場合について評価した。
【0200】
均等
各入力ポートから各出力ポートへそれぞれ8分の1ずつ帯域を振り分ける。つまり、ある入力ポートから見ると全ての出力ポートへ8分の1ずつトラヒックが流れるようにし、ある出力ポートから見ると全ての入力ポートから8分の1ずつトラヒックが入力している。
【0201】
不均等
図12に示したように、各入力ポートから各出力ポートへのトラヒック量は均一にはなっていない。図12では、例えば入力ポート#1から各出力ポートへの帯域の割り当ては、出力ポート番号#1から順に、7:4:8:1:6:5:2:3の比になっている。これらの値の合計は36であるので、出力ポート#1には入力ポート#1の全トラヒック量の36分の7が流れることになる。なお図12では、縦横共に合計が36となっている。これはつまり、各出力ポートでも、合計では各入力ポートのトラヒック量と同じトラヒックが平均的に流れてきており、出力ポートでの帯域不足を原因とする定常的なバッファあふれは起きないことを意味している。
【0202】
また評価したデータは廃棄率および交換決定率の2つである。
廃棄率:入力したトラヒックのうち、どれだけの量のトラヒックが入力バッファで廃棄されたのかを、比率の常用対数を取ったもの。1%の廃棄率であれば、値は−2(=log0.01)となる。
交換決定率:毎回の組み合わせ決定手順の結果、いくつの候補が決定したのかを記録し、その平均を求めたもの。8×8であり最大8の候補が決定されるので、各回にk個の候補が決定されてk個のデータが転送されたとすると、8分のkを記録して平均したものである。もともと99%トラヒックであるので、最大で約99%となる。図13に示すシミュレーション結果に対する考察を以下に示す。
【0203】
廃棄率について;
均等のトラヒックの場合には、本発明とRR方式ではほとんど差は見られない。むしろRR方式の方が廃棄率は低くなっている。ただし、取り立てて言うほどの差ではない。RR方式は、元々ポート毎の平等性を発揮するには最適な方式であるので、均等なトラヒックにおいては特にその能力を発揮することができるためである。しかし、不均等のトラヒックを入力した場合にはその結果は一変する。本発明では−4.27の廃棄率で、均等の時よりも良くなっているが(実質的にはさほど大きな差ではない)、RR方式では極端にその特性を落とし、−1.48となっている。これは30パケットに1つ廃棄するという、かなり特性の悪い状態である。これは、逆に平等性を発揮するばかりに、不均等のトラヒックには柔軟に対応できないためである。本発明では、とにかく通信装置全体としての交換能力を高めるようにアルゴリズムが設計されているため、不均等なトラヒックが入力されても柔軟に対応し、均等の時よりもわずかながら良い特性を示すほどになっているのである。現実のネットワークにおいて均等にトラヒックが流れていることなどまれであることから、本発明が優位である。
【0204】
決定率について;
RR方式の不均等トラヒックの場合以外の廃棄率が−4.0程度であるということは、10000パケットに1つ程度の廃棄ということになるが、図13中の入力トラヒック平均の値に対して、上記RR方式の不均等トラヒック以外はまさに10000分の1程度の差しかない(全体99に対して0.01程度)ことがわかる。RR方式の不均等トラヒックの場合だけははっきりしており、100分の3の違いが出ている。10000分の1に対して100分の3ということは、300倍の違いである。この特性の違いは、廃棄が一般に再送による更なるトラヒックを生み出すことから、99%といった本シミュレーションのような過酷な環境に対しても耐え抜くための不可欠の要素となる。
【0205】
【発明の効果】
以上説明したように、この発明にかかるデータ転送組み合わせ決定方法によれば、N×Nビットのデータ転送要求候補データを、1からNまでの全ての順列組み合わせパターンを表すN×NビットのN!個の順列組み合わせデータと夫々論理積をとり、論理積が成立する候補数が最大となる順列組み合わせパターンを探し、そのうちの1つを前記データ転送するときのデータ転送の組み合わせとして決定するようにしているので、通信交換装置のデータ転送能力を最大に高めることが可能となる。また、論理積が成立する候補数が最大となる順列組み合わせパターンが複数あるとき、ラウンドロビンを用いて1つの順列組み合わせパターンを選択するようにしているので、入出力回線の組み合わせ選択を平等になし得る。また、候補数が最大となる順列組み合わせパターンを探す際の候補数の比較処理において、比較ビット中の上位ビットを前記候補数として用い、その下位ビットをラウンドロビンを行うための比較値として用い、これら比較ビットを一括して同時に比較するようにしているので、これら2種類の比較手順を複数のクロックステップを踏まずに同時に実行することが可能となり、これにより回路の単純簡素化、回路の高速化等を実現することが可能となる。
【0208】
つぎの発明にかかるデータ転送組み合わせ決定方法によれば、データ転送要求候補データにおける候補数を、N行×N列の格子の格子点にある候補の数として、行、列毎に計数し、前記計数した結果が1以上である計数値のうち最小値を検索して、該最小値を示す行または列を1つ選択して記憶し、選択した行または列の中の候補について、その候補が存在する列または行の候補の数のうち最小値を検索して、該最小値を示す列または行を1つ選択して記憶し、上記決定した行上の候補および列上の候補を全て削除し、これらの処理を候補がなくなるまで繰り返し、候補がなくなった時点で記憶されている行、列の組み合わせを前記データ転送するときのデータ転送の組み合わせとして決定するようにしており、1回の決定手順後に削除される転送待ちデータの候補数に注目し、常にそれが最小になるように入出力回線の組み合わせを決定していくようにしているので、通信交換装置のデータ転送能力を高レベルに維持することを可能にする。
【0209】
つぎの発明にかかるデータ転送組み合わせ決定方法によれば、行または列を選択するときに、最小値を示す行または列が複数あった場合に、行から列へ、あるいは列から行への順にラウンドロビン方式を適用して最小値を示す行または列を一意に決定するようにしているので、入出力回線の組み合わせ選択を平等になし得る。
【0210】
つぎの発明にかかるデータ転送組み合わせ決定方法によれば、候補数が最小となる順列組み合わせパターンを探す際の候補数の比較処理において、比較ビット中の上位ビットを候補数として用い、その下位ビットをラウンドロビンを行うための比較値として用い、これら比較ビットを一括して同時に比較するようにしているので、これら2種類の比較手順を複数のクロックステップを踏まずに同時に実行することが可能となり、これにより回路の単純簡素化、回路の高速化等を実現することが可能となる。
【0211】
つぎの発明にかかるデータ転送組み合わせ決定方法によれば、行または列を選択するときに、最小値を示す行または列が複数あった場合に、行番号または列番号の小さい方を優先して選択することにより、最小値を示す行または列を一意に決定するようにしているので、最小値を示す行または列が複数あった場合でも簡便な方法で、最小値を示す行または列を択一選択することができる。
【0212】
つぎの発明にかかるデータ転送組み合わせ決定方法によれば、外部要因が発生した時に、外部要因の対象となる行または列の計数値を最小値に置き換えることによって、特定の行または列が最初に選択される可能性を大きくするようにしているので、所望の入力回線番号あるいは出力回線番号を指定するのみで簡便に所定の入力回線あるいは出力回線を優先的に選択することができる。
【0213】
つぎの発明にかかるデータ転送組み合わせ決定方法によれば、外部要因が発生した時に、外部要因の対象となる行または列以外の計数値を0に置き換えることによって、特定の行または列が強制的に選択されるようにしているので、所望の入力回線番号あるいは出力回線番号を指定するのみで簡便に所定の入力回線あるいは出力回線を強制的に選択することができる。
【0214】
つぎの発明にかかるデータ転送組み合わせ決定方法によれば、上位の優先クラスに対応する格子から下位の優先クラスに対応する格子へ順に、上記データ転送組み合わせ処理を実行し、さらに選択決定された行上および列上の候補を全て削除する際に、当該優先クラスに対応する格子における選択決定された行上の候補および列上の候補と、当該優先クラスより下位の全ての優先クラスに対応する格子の前記選択決定された行上の候補および列上の候補を削除するようにしているので、処理順序に関する複数の優先クラスが設定されている場合においても、データ転送能力を高レベルに維持したデータ交換をなし得る。
【0215】
つぎの発明にかかるデータ転送組み合わせ決定方法によれば、最小値を検索する際、候補数が同じであった場合には、当該優先クラスに対応する格子よりも1段階または複数段階だけ下位の優先クラスに対応する格子までを含めて、候補数を順次比較することによって、下位の優先クラスの候補の状態にも基づいて組み合わせを決定するようにしているので、一回の手順で削除される候補数をできるだけ少なくすることができ、結果的により多くの候補が選択される確率を高くすることができる。
【0216】
つぎの発明にかかるデータ転送組み合わせ決定方法によれば、データ転送要求候補データにおける候補数を、N行×N列の格子の格子点にある候補の数として、行毎に計数し、該計数された結果が1以上である計数値のうち最小値を検索して、該最小値を示す行を1つ選択して記憶し、選択された行の中の候補について、その候補が存在する列における候補の数を列毎に計数し、前記計数した結果が1以上である計数値のうち最小値を検索して、該最小値を示す列を1つ選択して記憶し、前記決定した行上の候補および列上の候補を全て削除し、前記一連の処理を候補がなくなるまで繰り返し、候補がなくなった時点で記憶されている行、列の組み合わせを前記データ転送するときのデータ転送の組み合わせとして決定するようにしており、1回の決定手順後に削除される転送待ちデータの候補数が最小になるように入出力回線の組み合わせを決定するとともに、各決定手順においては最初に行の候補を選択しつぎに列の候補を選択しているので、効率よく、高速に、最小値を示す列または行が選択されるとともに、通信交換装置のデータ転送能力を高レベルに維持することを可能にする。
【0217】
つぎの発明にかかるデータ転送組み合わせ決定方法によれば、前記行および列を夫々選択するときに、候補数が最小値を示す行および列が複数あった場合に、ラウンドロビンを用いて最小値を示す行および列を一意に決定するようにしているので、入出力回線の組み合わせ選択を平等になし得る。
【0218】
つぎの発明にかかるデータ転送組み合わせ決定方法によれば、候補数が最小となる順列組み合わせパターンを探す際の候補数の比較処理において、比較ビット中の上位ビットを前記候補数として用い、その下位ビットをラウンドロビンを行うための比較値として用い、これら比較ビットを一括して同時に比較するようにしているので、これら2種類の比較手順を複数のクロックステップを踏まずに同時に実行することが可能となり、これにより回路の単純簡素化、回路の高速化等を実現することが可能となる。
【0219】
つぎの発明にかかるデータ転送組み合わせ決定方法によれば、行および列を夫々選択するときに、最小値を示す行および列が複数あった場合に、行番号および列番号の小さい方を優先して選択することにより、最小値を示す行および列を一意に決定するようにしているので、最小値を示す行または列が複数あった場合でも簡便な方法で、最小値を示す行または列を択一選択することができる。
【0220】
つぎの発明にかかるデータ転送組み合わせ決定方法によれば、外部要因が発生した時に、外部要因の対象となる行または列の計数値を最小値に置き換えることによって、特定の行または列が最初に選択される可能性を大きくするようにしているので、所望の入力回線番号あるいは出力回線番号を指定するのみで簡便に所定の入力回線あるいは出力回線を優先的に選択することができる。
【0221】
つぎの発明にかかるデータ転送組み合わせ決定方法によれば、外部要因が発生した時に、外部要因の対象となる行または列以外の計数値を0に置き換えることによって、特定の行または列が強制的に選択されるようにしているので、所望の入力回線番号あるいは出力回線番号を指定するのみで簡便に所定の入力回線あるいは出力回線を強制的に選択することができる。
【0222】
つぎの発明にかかるデータ転送組み合わせ決定方法によれば、上位の優先クラスに対応する格子から下位の優先クラスに対応する格子へ順に、上記データ転送組み合わせ処理を実行し、さらに選択決定された行上および列上の候補を全て削除する際に、当該優先クラスに対応する格子における選択決定された行上の候補および列上の候補と、当該優先クラスより下位の全ての優先クラスに対応する格子の前記選択決定された行上の候補および列上の候補を削除するようにしているので、処理順序に関する複数の優先クラスが設定されている場合においても、データ転送能力を高レベルに維持したデータ交換をなし得る。
【0223】
つぎの発明にかかるデータ転送組み合わせ決定方法によれば、最小値を検索する際、候補数が同じであった場合には、当該優先クラスに対応する格子よりも1段階または複数段階だけ下位の優先クラスに対応する格子までを含めて、候補数を順次比較することによって、下位の優先クラスの候補の状態にも基づいて組み合わせを決定するようにしているので、一回の手順で削除される候補数をできるだけ少なくすることができ、結果的により多くの候補が選択される確率を高くすることができる。
【0224】
つぎの発明にかかる組み合わせ決定回路によれば、N×Nビットのデータ転送要求候補データと1からNまでの全ての順列組み合わせパターンを表すN×Nビットの順列組み合わせデータとの論理積を夫々求める論理積回路と、複数の順列組み合わせパターン毎に前記論理積が成立する候補数を演算する個数演算部と、個数演算部の複数の出力を比較することにより、候補数が最大となる順列組み合わせパターンを検索し、そのうちの1つを前記データ転送するときのデータ転送の組み合わせとして決定する検索決定回路とを備え、Nの階乗個ある全ての順列組み合わせパターンについて総当たりで確認しているので、通信交換装置のデータ転送能力を最大に高めることが可能となる。また、検索決定回路に、候補数が最大となる順列組み合わせパターンが複数あるとき、ラウンドロビンを用いて1つの順列組み合わせパターンを選択するラウンドロビン回路を備えるようにしているので、入出力回線の組み合わせ選択を平等になし得る。また、検索決定回路に、比較ビット中の上位ビットを前記候補数として用い、その下位ビットをラウンドロビンを行うための比較値として用い、これら比較ビットを一括して同時に比較することにより、候補数が最大となる順列組み合わせパターンを択一選択する比較器を備えるようにしているので、2種類の比較手順を複数のクロックステップを踏まずに同時に実行することが可能となり、これにより回路の単純簡素化、回路の高速化等を実現することが可能となる。
【0227】
つぎの発明にかかる組み合わせ決定回路によれば、行候補数計算部、行用最小値比較器、選択行非選択列候補削除部、列候補数計算部、列用最小値比較器、選択結果保存レジスタおよび選択行列候補削除部を備え、1回の決定手順後に削除される転送待ちデータの候補数が最小になるように入出力回線の組み合わせを決定していくようにするとともに、各決定手順においては最初に行の候補を選択しつぎに列の候補を選択しているので、効率よく、高速に、最小値を示す列または行が選択されるとともに、通信交換装置のデータ転送能力を高レベルに維持することを可能にする。
【0228】
つぎの発明にかかる組み合わせ決定回路によれば、行用最小値比較器および列用最小値比較器はラウンドロビン回路を夫々備え、最小値を示す行および列が複数あった場合に、ラウンドロビンを用いて最小値を示す行を一意に決定するようにしているので、入出力回線の組み合わせ選択を平等になし得る。
【0229】
つぎの発明にかかる組み合わせ決定回路によれば、行用最小値比較器および列用最小値比較器は、各比較処理において、比較ビット中の上位ビットを前記候補数として用い、その下位ビットをラウンドロビンを行うための比較値として用い、これら比較ビットを一括して同時に比較するようにしているので、2種類の比較手順を複数のクロックステップを踏まずに同時に実行することが可能となり、これにより回路の単純簡素化、回路の高速化等を実現することが可能となる。
【0230】
つぎの発明にかかる組み合わせ決定回路によれば、行用最小値比較器および列用最小値比較器は、最小値を示す行および列が複数あった場合に、小さい行番号を優先して選択することにより、最小値を示す行および列を一意に決定するようにしているので、最小値を示す行または列が複数あった場合でも簡単な構成で、最小値を示す行または列を択一選択することができる。
【0231】
つぎの発明にかかる組み合わせ決定回路によれば、指定行優先選択部は、前記行候補数計算部の複数行分の計数結果のうち、外部入力信号の指定行に対応する行を最小値を置き換えて前記行用最小値比較器に入力するとともに、指定列優先選択部は、前記列候補数計算部の複数列分の計数結果のうち、外部入力信号の指定列に対応する列を最小値を置き換えて前記列行用最小値比較器に入力するようにしているので、所望の入力回線番号あるいは出力回線番号を指定するのみで簡便に所定の入力回線あるいは出力回線を優先的に選択することができる。
【0232】
つぎの発明にかかる組み合わせ決定回路によれば、行候補数計算部の複数行分の計数結果のうち、外部入力信号の指定行に対応する行の計数結果をそのまま前記行用最小値比較器に入力するとともに、指定行以外の行の計数結果を0に置き換えるようにするとともに、列候補数計算部の複数列分の計数結果のうち、外部入力信号の指定列に対応する列の計数結果をそのまま前記列用最小値比較器に入力するとともに、指定列行以外の列の計数結果を0に置き換えるようにしているので、所望の入力回線番号あるいは出力回線番号を指定するのみで簡便に所定の入力回線あるいは出力回線を強制的に選択することができる。
【0233】
つぎの発明にかかる組み合わせ決定回路によれば、選択行列候補削除部、クラス選択部、行候補数計算部、行用最小値比較器、選択行非選択列候補削除部、列候補数計算部、列用最小値比較器、選択結果保存レジスタを備え、1回の決定手順後に削除される転送待ちデータの候補数が最小になるように入出力回線の組み合わせを決定しているので、処理順序に関する複数の優先クラスが設定されている場合において、効率よく、高速に、最小値を示す列または行が選択されるとともに、通信交換装置のデータ転送能力を高レベルに維持することを可能にする。
【0234】
つぎの発明にかかる組み合わせ決定回路によれば、行用最小値比較器および列用最小値比較器は、最小値を検索する際、候補数が同じであった場合には、当該優先クラスに対応する格子よりも1段階または複数段階だけ下位の優先クラスに対応する格子までを含めて、候補数を順次比較することによって、最小値を示す行及び列を夫々選択しているので、一回の手順で削除される候補数をできるだけ少なくすることができ、結果的により多くの候補が選択される確率を高くすることができる。
【図面の簡単な説明】
【図1】 この発明の実施の形態1の手順を説明するための図である。
【図2】 この発明の実施形態1にかかる組み合わせ決定回路を例示するブロック図である。
【図3】 この発明の実施形態2の組み合わせ決定アルゴリズムを説明するための工程図である。
【図4】 この発明の実施形態2の組み合わせ決定アルゴリズムを説明するための工程図である。
【図5】 この発明の実施形態2にかかる組み合わせ決定回路を例示するブロック図である。
【図6】 この発明の実施形態2にかかる他の組み合わせ決定回路を例示するブロック図である。
【図7】 図6に示した組み合わせ決定回路の比較器の下位nビットに適用するためのRR値の変換式を説明するための図である。
【図8】 図6に示した組み合わせ決定回路の比較器の比較結果を変換前に戻すデータ番号復元式を説明するための図である。
【図9】 この発明の実施形態3にかかる組み合わせ決定回路を例示するブロック図である。
【図10】 この発明の実施形態4にかかる組み合わせ決定回路を例示するブロック図である。
【図11】 この発明の実施形態4にかかる他の組み合わせ決定回路を例示するブロック図である。
【図12】 各入力ポートから各出力ポートへの不均等トラヒックの入力比率を示す図である。
【図13】 本発明の手法を8×8の通信交換装置に適用した場合について計算機シミュレーションによる評価結果を示す図である。
【図14】 従来のSRR方式による交換組み合わせ決定手順を説明するための工程図である。
【図15】 図14の転送待ちデータ組み合わせにおいて、最大数のデータ転送を実現する組み合わせ結果と入出力回線形態を示す図である。
【図16】 最大数のデータ転送を実現する入出力回線形態を示す図である。
【図17】 従来のSRR方式による交換組み合わせ決定手順を他のRR値に基づき実行した場合の工程図である。
【符号の説明】
10 組み合わせ決定回路、11 論理積回路、12 個数算出部、13 論理積成立数演算部、14 比較RR部、15 セレクタ、16 レジスタ、21選択行列候補削除部、22 行候補数計算部、23 最小値比較器、24 デコーダ、25 選択行非選択列候補削除部、26 列候補数計算部、27 最小値比較器、28 選択結果保存レジスタ、30 nビットレジスタ、31 N×nビットレジスタ、32,33 最小値比較RR回路、40 指定行優先選択部、41 指定列優先選択部、50 選択行列候補削除部、51 クラス選択部、52 選択結果保存レジスタ、60 クラス選択部、61 最小値比較RR回路。

Claims (26)

  1. N個の出力回線に対するN個の入力回線のデータ転送要求の候補を示す転送要求候補データを用いて、N個の入力回線からN個の出力回線へデータ転送するときのデータ転送の組み合わせを決定するデータ転送組み合わせ決定方法において、
    前記データ転送要求候補データをN×Nビットで表し、このN×Nビットのデータ転送要求候補データを、1からNまでの全ての順列組み合わせパターンを表す、それぞれがN×Nビットで構成される、Nの階乗個の順列組み合わせデータと、夫々並列に論理積をとる第1ステップと、
    前記論理積が成立する候補数が最大となる順列組み合わせパターンを探し、そのうちの1つを前記データ転送するときのデータ転送の組み合わせとして決定する第2ステップと、
    を備え、
    前記第2ステップでは、論理積が成立する候補数が最大となる順列組み合わせパターンが複数あるとき、ラウンドロビンを用いて1つの順列組み合わせパターンを選択するとともに、前記候補数が最大となる順列組み合わせパターンを探す際の比較処理において、比較ビット中の上位ビットを前記候補数として用い、その下位ビットをラウンドロビンを行うための比較値として用い、これら比較ビットを一括して同時に比較することを特徴とするデータ転送組み合わせ決定方法。
  2. N個の出力回線に対するN個の入力回線のデータ転送要求の候補を示す転送要求候補データを用いて、N個の入力回線からN個の出力回線へデータ転送するときのデータ転送の組み合わせを決定するデータ転送組み合わせ決定方法において、
    前記データ転送要求候補データにおける候補数を、N行×N列の格子の格子点にある候補の数として、行、列毎に計数する第1ステップと、
    前記計数した結果が1以上である計数値のうち最小値を検索して、該最小値を示す行または列を1つ選択して記憶する第2ステップと、
    選択した行または列の中の候補について、その候補が存在する列または行の候補の数のうち最小値を検索して、該最小値を示す列または行を1つ選択して記憶する第3ステップと、
    前記第2ステップおよび第3ステップで決定した行上の候補および列上の候補を全て削除する第4ステップと、
    を備え、前記第1〜第4ステップを候補がなくなるまで繰り返し、候補がなくなった時点で記憶されている行、列の組み合わせを前記データ転送するときのデータ転送の組み合わせとして決定することを特徴とするデータ転送組み合わせ決定方法。
  3. 前記第2または第3ステップにおいて、行または列を選択するときに、最小値を示す行、または列が複数あった場合に、行から列へ、あるいは列から行への順にラウンドロビン方式を適用して最小値を示す行または列を一意に決定することを特徴とする請求項に記載のデータ転送組み合わせ決定方法。
  4. 前記第2または第3ステップでは、前記候補数が最小となる順列組み合わせパターンを探す際の候補数の比較処理において、比較ビット中の上位ビットを前記候補数として用い、その下位ビットをラウンドロビンを行うための比較値として用い、これら比較ビットを一括して同時に比較することを特徴とする請求項に記載のデータ転送組み合わせ決定方法。
  5. 前記第2または第3ステップで、行または列を選択するときに、最小値を示す行または列が複数あった場合に、行番号または列番号の小さい方を優先して選択することにより、最小値を示す行または列を一意に決定することを特徴とする請求項に記載のデータ転送組み合わせ決定方法。
  6. 前記第1ステップにおいて、外部要因が発生した時に、外部要因の対象となる行または列の計数値を最小値に置き換えることによって、特定の行または列が最初に選択される可能性を大きくすることを特徴とする請求項のいずれか一つに記載のデータ転送組み合わせ決定方法。
  7. 前記第1ステップにおいて、外部要因が発生した時に、外部要因の対象となる行または列以外の計数値を0に置き換えることによって、特定の行、または列が強制的に選択されるようにすることを特徴とする請求項のいずれか一つに記載のデータ転送組み合わせ決定方法。
  8. 前記N個の出力回線に対するN個の入力回線のデータ転送要求の候補を示す前記転送要求候補データが処理順序に関する複数の優先クラスに対応して複数組備えられ、複数組の格子から候補を選択するときの条件が全ての格子の同一行および全ての格子の同一列について選択可能な候補を1つとする複数の優先クラスを扱うデータ転送に適用されるデータ転送組み合わせ決定方法であって、
    前記第1〜第4ステップの繰り返し処理を、上位の優先クラスに対応する格子から下位の優先クラスに対応する格子へ順に実行し、
    前記第4ステップにおいては、前記第2ステップおよび第3ステップで決定された当該優先クラスに対応する格子の行上の候補および列上の候補と、当該優先クラスより下位の全ての優先クラスに対応する格子の前記決定された行上の候補および列上の候補とを削除することを特徴とする請求項のいずれか一つに記載のデータ転送組み合わせ決定方法。
  9. 前記第2および第3ステップにおいて、最小値を検索する際、候補数が同じであった場合には、当該優先クラスに対応する格子よりも1段階または複数段階だけ下位の優先クラスに対応する格子までを含めて、候補数を順次比較することによって、下位の優先クラスの候補の状態にも基づいて組み合わせを決定することを特徴とする請求項に記載のデータ転送組み合わせ決定方法。
  10. N個の出力回線に対するN個の入力回線のデータ転送要求の候補を示す転送要求候補データを用いて、N個の入力回線からN個の出力回線へデータ転送するときのデータ転送の組み合わせを決定するデータ転送組み合わせ決定方法において、
    前記データ転送要求候補データにおける候補数を、N行×N列の格子の格子点にある候補の数として、行毎に計数する第1ステップと、
    前記計数した結果が1以上である計数値のうち最小値を検索して、該最小値を示す行を1つ選択して記憶する第2ステップと、
    選択した行の中の候補について、その候補が存在する列における候補の数を列毎に計数する第3ステップと、
    前記第3ステップで計数した結果が1以上である計数値のうち最小値を検索して、該最小値を示す列を1つ選択して記憶する第4ステップと、
    前記第2ステップおよび第4ステップで決定した行上の候補および列上の候補を全て削除する第5ステップと、
    を備え、前記第1〜第5ステップを候補がなくなるまで繰り返し、候補がなくなった時点で記憶されている行、列の組み合わせを前記データ転送するときのデータ転送の組み合わせとして決定することを特徴とするデータ転送組み合わせ決定方法。
  11. 前記第2および第4ステップで、行および列を夫々選択するときに、候補数が最小値を示す行および列が複数あった場合に、ラウンドロビンを用いて最小値を示す行および列を一意に決定することを特徴とする請求項10に記載のデータ転送組み合わせ決定方法。
  12. 前記第2および第4ステップでは、前記候補数が最小となる順列組み合わせパターンを探す際の候補数の比較処理において、比較ビット中の上位ビットを前記候補数として用い、その下位ビットをラウンドロビンを行うための比較値として用い、これら比較ビットを一括して同時に比較することを特徴とする請求項11に記載のデータ転送組み合わせ決定方法。
  13. 前記第2および第4ステップで、行および列を夫々選択するときに、最小値を示す行および列が複数あった場合に、行番号および列番号の小さい方を優先して選択することにより、最小値を示す行および列を一意に決定することを特徴とする請求項10に記載のデータ転送組み合わせ決定方法。
  14. 前記第1ステップまたは第3ステップにおいて、外部要因が発生した時に、外部要因の対象となる行または列の計数値を最小値に置き換えることによって、特定の行または列が最初に選択される可能性を大きくすることを特徴とする請求項1013のいずれか一つに記載のデータ転送組み合わせ決定方法。
  15. 前記第1ステップまたは第3ステップにおいて、外部要因が発生した時に、外部要因の対象となる行または列以外の計数値を0に置き換えることによって、特定の行または列が強制的に選択されるようにすることを特徴とする請求項1013のいずれか一つに記載のデータ転送組み合わせ決定方法。
  16. 前記N個の出力回線に対するN個の入力回線のデータ転送要求の候補を示す前記転送要求候補データが処理順序に関する複数の優先クラスに対応して複数組備えられ、複数組の格子から候補を選択するときの条件が全ての格子の同一行および全ての格子の同一列について選択可能な候補を1つとする複数の優先クラスを扱うデータ転送に適用されるデータ転送組み合わせ決定方法であって、
    前記第1〜第5ステップの繰り返し処理を、上位の優先クラスに対応する格子から下位の優先クラスに対応する格子へ順に実行し、
    前記第5ステップにおいては、前記第2ステップおよび第4ステップで決定された当該優先クラスに対応する格子の行上の候補および列上の候補と、当該優先クラスより下位の全ての優先クラスに対応する格子の前記決定された行上の候補および列上の候補とを削除することを特徴とする請求項1015に記載のデータ転送組み合わせ決定方法。
  17. 前記第2および第4ステップにおいて、最小値を検索する際、候補数が同じであった場合には、当該優先クラスに対応する格子よりも1段階または複数段階だけ下位の優先クラスに対応する格子までを含めて、候補数を順次比較することによって、下位の優先クラスの候補の状態にも基づいて組み合わせを決定することを特徴とする請求項16に記載のデータ転送組み合わせ決定方法。
  18. N個の出力回線に対するN個の入力回線のデータ転送要求の候補を示す転送要求候補データを用いて、N個の入力回線からN個の出力回線へデータ転送するときのデータ転送の組み合わせを決定する組み合わせ決定回路において、
    N×Nビットの前記データ転送要求候補データと、1からNまでの全ての順列組み合わせパターンを表す、それぞれがN×Nビットで構成される、Nの階乗個の順列組み合わせデータと、夫々並列に論理積をとる論理積回路と、
    前記複数の順列組み合わせパターン毎に、前記論理積が成立する候補数を演算する個数演算部と、
    前記個数演算部の複数の出力を比較することにより、候補数が最大となる順列組み合わせパターンを検索し、そのうちの1つを前記データ転送するときのデータ転送の組み合わせとして決定する検索決定回路と、
    を備え、
    前記検索決定回路は、
    候補数が最大となる順列組み合わせパターンが複数あるとき、ラウンドロビンを用いて1つの順列組み合わせパターンを選択するとともに、
    比較ビット中の上位ビットを前記候補数として用い、その下位ビットをラウンドロビンを行うための比較値として用い、これら比較ビットを一括して同時に比較することにより、候補数が最大となる順列組み合わせパターンを択一選択する比較器を備えることを特徴とする組み合わせ決定回路。
  19. N個の出力回線に対するN個の入力回線のデータ転送要求の候補を示す転送要求候補データを用いて、N個の入力回線からN個の出力回線へデータ転送するときのデータ転送の組み合わせを決定する組み合わせ決定回路において、
    N×Nビットの前記データ転送要求候補データから、前回の組み合わせ決定結果で指定される行及び列と同一行および同一列の候補を削除する選択行列候補削除部と、
    前記選択行列候補削除部の出力データ中の候補数を、N行×N列の格子点にある候補の数として、行毎に計数する行候補数計算部と、
    前記行候補数計算部の計数結果のうちで1以上である最小値を検索して、該最小値を示す行を1つ選択する行用最小値比較器と、
    前記行用最小値比較器の選択行に基づいて、前記選択行列候補削除部の出力データから、前記選択行に候補の存在しない列の候補を削除する選択行非選択列候補削除部と、
    前記選択行非選択列候補削除部の出力データに基づき、各列における候補の数を列毎に計数する列候補数計算部と、
    前記列候補数計算部の計数結果のうちで1以上である最小値を検索して、該最小値を示す行を1つ選択する列用最小値比較器と、
    前記行用最小値比較器および列用最小値比較器の各選択結果を記憶し、その出力を選択行列候補削除部に前回の組み合わせ決定結果として入力する選択結果保存レジスタと、
    を備え、
    前記選択結果保存レジスタに、前記行用最小値比較器および列用最小値比較器の各選択結果が夫々最大でN組入力されたときの選択結果保存レジスタの記憶データを最終的なデータ転送の組み合わせ結果として出力をすることを特徴とする組み合わせ決定回路。
  20. 前記行用最小値比較器は、最小値を示す行が複数あった場合に、ラウンドロビンを用いて最小値を示す行を一意に決定するラウンドロビン回路を備え、
    前記列用最小値比較器は、最小値を示す列が複数あった場合に、ラウンドロビンを用いて最小値を示す列を一意に決定するラウンドロビン回路を備えることを特徴とする請求項19に記載の組み合わせ決定回路。
  21. 前記行用最小値比較器および列用最小値比較器は、各比較処理において、比較ビット中の上位ビットを前記候補数として用い、その下位ビットをラウンドロビンを行うための比較値として用い、これら比較ビットを一括して同時に比較することを特徴とする請求項20に記載の組み合わせ決定回路。
  22. 前記行用最小値比較器は、最小値を示す行が複数あった場合に、小さい行番号を優先して選択することにより、最小値を示す行を一意に決定し、
    前記列用最小値比較器は、最小値を示す列が複数あった場合に、小さい列番号を優先して選択することにより、最小値を示す列を一意に決定することを特徴とする請求項19に記載の組み合わせ決定回路。
  23. 前記行候補数計算部の複数行分の計数結果のうち、外部入力信号の指定行に対応する行を最小値を置き換えて前記行用最小値比較器に入力する指定行優先選択部と、
    前記列候補数計算部の複数列分の計数結果のうち、外部入力信号の指定列に対応する列を最小値を置き換えて前記列行用最小値比較器に入力する指定列優先選択部と、
    をさらに備えることを特徴とする請求項1922のいずれか一つに記載の組み合わせ決定回路。
  24. 前記行候補数計算部の複数行分の計数結果のうち、外部入力信号の指定行に対応する行の計数結果をそのまま前記行用最小値比較器に入力するとともに、前記指定行以外の行の計数結果を0に置き換える手段と、
    前記列候補数計算部の複数列分の計数結果のうち、外部入力信号の指定列に対応する列の計数結果をそのまま前記列用最小値比較器に入力するとともに、前記指定列行以外の列の計数結果を0に置き換える手段と、
    を備えることを特徴とする請求項1922のいずれか一つに記載の組み合わせ決定回路。
  25. N個の出力回線に対するN個の入力回線のデータ転送要求の候補を示す転送要求候補データが、処理順序に関する複数の優先クラスに対応して複数組備えられ、全ての組の転送要求候補データの同一行および同一列から選択可能な候補を各1つとする複数の優先クラスを扱うデータ転送に適用され、N個の入力回線からN個の出力回線へデータ転送するときのデータ転送の組み合わせを決定する組み合わせ決定回路において、
    複数の優先クラス分の前記データ転送要求候補データから、前回の組み合わせ決定結果で指定される優先クラスおよび該優先クラスより下位の全ての優先クラスにおける前回の組み合わせ決定結果が指定する入力回線および出力回線と同一入力回線および同一出力回線の候補を削除して出力する選択行列候補削除部と、
    前記選択行列候補削除部の出力から少なくとも1つの優先クラスについてのデータ転送要求候補データを選択し、該選択したデータ転送要求候補データを選択した優先クラスを示すクラスデータと共に出力する動作を、上位優先クラスから下位優先クラスへの順に、各優先クラスのデータ転送の組み合わせを決定する毎に繰り返し実行するクラス選択部と、
    前記クラス選択部から出力される1つの優先クラスのデータ転送要求候補データ中の候補数を、N行×N列の格子の格子点にある候補の数として、行毎に計数する行候補数計算部と、
    前記行候補数計算部の計数結果のうちで1以上である最小値を検索して、該最小値を示す行を1つ選択する行用最小値比較器と、
    前記行用最小値比較器の選択行に基づいて、前記クラス選択部から出力される1つの優先クラスのデータ転送要求候補データから、前記選択行に候補の存在しない列の候補を削除する選択行非選択列候補削除部と、
    前記選択行非選択列候補削除部の出力データに基づき、各列における候補の数を列毎に計数する列候補数計算部と、
    前記列候補数計算部の計数結果のうちで1以上である最小値を検索して、該最小値を示す行を1つ選択する列用最小値比較器と、
    前記行用最小値比較器および列用最小値比較器の各選択結果を前記クラス選択部からの前記クラス選択データと共に記憶し、その出力を選択行列候補削除部に前回の組み合わせ決定結果として入力する選択結果保存レジスタと、
    を備え、前記選択結果保存レジスタにおける最終的な記憶データを前記データ転送の組み合わせ結果として出力をすることを特徴とする組み合わせ決定回路。
  26. 前記行用最小値比較器および列用最小値比較器において、最小値を検索する際、候補数が同じであった場合には、当該優先クラスに対応する格子よりも1段階または複数段階だけ下位の優先クラスに対応する格子までを含めて、候補数を順次比較することによって、最小値を示す行及び列を夫々選択することを特徴とする請求項25に記載の組み合わせ決定回路。
JP2001379129A 2001-12-12 2001-12-12 データ転送組み合わせ決定方法および組み合わせ決定回路 Expired - Fee Related JP3863421B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2001379129A JP3863421B2 (ja) 2001-12-12 2001-12-12 データ転送組み合わせ決定方法および組み合わせ決定回路
CA 2403337 CA2403337A1 (en) 2001-12-12 2002-09-16 Method for determining combination of data for transfer, and combination determining circuit
EP20020256693 EP1322078A3 (en) 2001-12-12 2002-09-26 Method for determining combination of data for transfer and combination determining circuit
US10/284,383 US7301942B2 (en) 2001-12-12 2002-10-31 Method for determining combination of data for transfer, and combination determining circuit
CNB021481571A CN1197295C (zh) 2001-12-12 2002-10-31 数据传送组合决定方法及组合决定电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001379129A JP3863421B2 (ja) 2001-12-12 2001-12-12 データ転送組み合わせ決定方法および組み合わせ決定回路

Publications (2)

Publication Number Publication Date
JP2003179622A JP2003179622A (ja) 2003-06-27
JP3863421B2 true JP3863421B2 (ja) 2006-12-27

Family

ID=19186631

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001379129A Expired - Fee Related JP3863421B2 (ja) 2001-12-12 2001-12-12 データ転送組み合わせ決定方法および組み合わせ決定回路

Country Status (5)

Country Link
US (1) US7301942B2 (ja)
EP (1) EP1322078A3 (ja)
JP (1) JP3863421B2 (ja)
CN (1) CN1197295C (ja)
CA (1) CA2403337A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5071334B2 (ja) * 2008-09-30 2012-11-14 富士通株式会社 選択回路およびパケット処理装置
JP2018173747A (ja) * 2017-03-31 2018-11-08 パナソニック デバイスSunx株式会社 電子機器、センサシステム、コントローラ及びセンサユニット
CN110968347B (zh) * 2019-12-02 2021-09-17 秒针信息技术有限公司 一种数据处理的方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5299190A (en) 1992-12-18 1994-03-29 International Business Machines Corporation Two-dimensional round-robin scheduling mechanism for switches with multiple input queues
US5500858A (en) * 1994-12-20 1996-03-19 The Regents Of The University Of California Method and apparatus for scheduling cells in an input-queued switch
US5774067A (en) * 1995-06-07 1998-06-30 International Business Machines Corporation Flash-flooding multi-stage interconnection network with parallel path seeking switching elements
JP3177206B2 (ja) 1998-01-12 2001-06-18 日本電信電話株式会社 Atmスイッチ
US6370148B1 (en) * 1998-07-06 2002-04-09 International Business Machines Corporation Data communications
JP3002726B1 (ja) 1998-07-31 2000-01-24 東京大学長 可変速度ディジタル交換方式
KR100363890B1 (ko) * 1999-10-14 2002-12-11 주식회사 케이티 입출력 버퍼형 스위치의 다중 선택형 2차원 라운드로빈 스케줄링 방법
KR100382142B1 (ko) * 2000-05-19 2003-05-01 주식회사 케이티 단순반복매칭을 이용한 입출력버퍼형 스위치의 셀스케줄링 방법

Also Published As

Publication number Publication date
CN1197295C (zh) 2005-04-13
CA2403337A1 (en) 2003-06-12
CN1426193A (zh) 2003-06-25
US20030108037A1 (en) 2003-06-12
EP1322078A3 (en) 2007-05-16
EP1322078A2 (en) 2003-06-25
JP2003179622A (ja) 2003-06-27
US7301942B2 (en) 2007-11-27

Similar Documents

Publication Publication Date Title
US7492782B2 (en) Scalable crossbar matrix switching apparatus and distributed scheduling method thereof
US6529478B1 (en) Pass/drop apparatus and method for network switching node
JP3577188B2 (ja) 多段式ネットワークにおけるマルチキャスト・セルのバッファリング
US6891834B1 (en) Apparatus and method for packet scheduling
JP4021546B2 (ja) データパケットのルーティング用スイッチ
US6961725B2 (en) Method of a data range search with plural pre-set rules
US5859835A (en) Traffic scheduling system and method for packet-switched networks
Karnaugh A new class of algorithms for multipoint network optimization
US20030137940A1 (en) Pass/drop apparatus and method for network switching node
JPH0856230A (ja) スイッチングシステム
JPH07504790A (ja) パケットネットワークのバッファの取扱いにおける優先順位付けの方法および装置
US20070192572A1 (en) Minimum processor instruction for implementing weighted fair queuing and other priority queuing
JP3863421B2 (ja) データ転送組み合わせ決定方法および組み合わせ決定回路
US6836475B2 (en) Method and apparatus for traffic shaping for IP router queues/egress
US20090182714A1 (en) Sorting apparatus and method
US7460544B2 (en) Flexible mesh structure for hierarchical scheduling
RU2672625C1 (ru) Устройство для компрессии данных
JP2002237839A (ja) スケジューリング方法及びその装置
CA2491035A1 (en) Digital cross connect switch matrix mapping method and system
Mekkittikul et al. Scheduling VOQ switches under non-uniform traffic
US7720092B1 (en) Hierarchical round robin arbiter
JP3570366B2 (ja) アービタ回路及びそれに用いる出力セルのアービトレーション方法
JP3506612B2 (ja) スケジューリング制御装置
CA2237516C (en) Atm cell spacer
JP3691297B2 (ja) シェーピング方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041028

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060612

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060620

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060818

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060928

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20091006

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101006

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111006

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121006

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20131006

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees