Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5403380B2 - Crossbar switch, vector processing apparatus, and crossbar control method - Google Patents
[go: Go Back, main page]

JP5403380B2 - Crossbar switch, vector processing apparatus, and crossbar control method - Google Patents

Crossbar switch, vector processing apparatus, and crossbar control method Download PDF

Info

Publication number
JP5403380B2
JP5403380B2 JP2012041415A JP2012041415A JP5403380B2 JP 5403380 B2 JP5403380 B2 JP 5403380B2 JP 2012041415 A JP2012041415 A JP 2012041415A JP 2012041415 A JP2012041415 A JP 2012041415A JP 5403380 B2 JP5403380 B2 JP 5403380B2
Authority
JP
Japan
Prior art keywords
buffer
word
crossbar
crosspoint
elements
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
JP2012041415A
Other languages
Japanese (ja)
Other versions
JP2013178626A (en
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2012041415A priority Critical patent/JP5403380B2/en
Publication of JP2013178626A publication Critical patent/JP2013178626A/en
Application granted granted Critical
Publication of JP5403380B2 publication Critical patent/JP5403380B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Description

本発明は、クロスバスイッチに関し、特に、クロスポイントバッファの利用効率向上に関する。   The present invention relates to a crossbar switch, and more particularly to improvement in utilization efficiency of a crosspoint buffer.

ベクトル型コンピュータでは、クロスバを通過する通過順序を保証しつつ、クロスバで要素を調停しなければならないときがある。また、性能も必要とされるため、ハードウェア量をかけて、クロスポイントバッファを使う技術も存在する。   In a vector type computer, it is sometimes necessary to arbitrate elements with a crossbar while guaranteeing a passing order through the crossbar. In addition, since performance is also required, there is a technology that uses a crosspoint buffer with a large amount of hardware.

背景技術によるベクトル処理装置の例を、図9〜図14を用いて説明する。図9、図11、図13は、クロスバの構成を示し、図10、図12、図14はそれぞれに対応する動作例を示している。   An example of a vector processing apparatus according to the background art will be described with reference to FIGS. 9, FIG. 11, and FIG. 13 show the configuration of the crossbar, and FIG. 10, FIG. 12, and FIG.

図9は一般的なクロスバスイッチの構成を示している。ここでは、クロスバスイッチの一例として、入力バッファが16バッファあり(I00〜I15)、出力バッファが16バッファある(O00〜O15 先頭文字はアルファベットの”オー”)、16x16のクロスバを想定している。   FIG. 9 shows a configuration of a general crossbar switch. Here, as an example of the crossbar switch, a 16 × 16 crossbar is assumed in which there are 16 input buffers (I00 to I15), 16 output buffers (O00 to O15, the first character is “O” in alphabets).

図10が、図9に対応する動作例である。今、最初にS00〜S15の要素、次にL0〜L1の要素、さらに次にM0の要素、さらに次にN0の要素が入力バッファから流れるものとする。   FIG. 10 shows an operation example corresponding to FIG. Assume that the elements of S00 to S15 first, the elements of L0 to L1, then the element of M0, and then the element of N0 flow from the input buffer first.

各要素が1サイクルをかけてクロスバを抜け、順次出力バッファに出力されている。S00で見ると時間0サイクルに入力バッファから発行され、時間1サイクルに出力バッファから出力されている。   Each element exits the crossbar in one cycle and is sequentially output to the output buffer. In S00, it is issued from the input buffer at time 0 cycle and output from the output buffer at time 1 cycle.

ここで、クロスバを通過する要素は、入力バッファへ到着順を、出力バッファにおいても守らなければならないアーキテクチャを想定している。これは後述する本発明に置いても同様とする。すなわち、図10の例においては、L0、L1は、S00〜S15を追い越して、出力バッファO01に出力されてはならず、同様にM0がL0、L1を追い越して、出力バッファO01に出力されてはならないアーキテクチャを想定している。   Here, an element that passes through the crossbar is assumed to be an architecture in which the order of arrival in the input buffer must be maintained in the output buffer. The same applies to the present invention described later. In other words, in the example of FIG. 10, L0 and L1 must not be output to the output buffer O01 overtaking S00 to S15, and similarly M0 can be output to the output buffer O01 overtaking L0 and L1. An architecture that should not be assumed.

本例では、全要素が出力バッファO01に集中しているため、クロスバの調停部は、各要素を調停して、順次要素を出力しなければならない。つまり、調停の結果S00からS15が順次発行されているが、16番目の要素であるS15は、15T待たされてから発行されている。   In this example, since all the elements are concentrated in the output buffer O01, the arbitrating unit of the crossbar must arbitrate each element and sequentially output the elements. That is, the arbitration results S00 to S15 are sequentially issued, but the 16th element S15 is issued after waiting for 15T.

本例では、すべての出力先がO01であるため、すべての順序を保証しているように見えるが、たとえば、S00〜S07がO01、S08〜S15がO09、L0がO01、L1がO09を出力バッファとする場合、O01を出力先とするS07より、O09を行き先とするL1が出力バッファ全体のタイミングをみたときに、先に発行されるケースは問題とならないアーキテクチャを想定している。すなわち、各出力バッファで見た場合、その出力バッファ内で見た要素の順序が入力バッファでの到着順序を保証していればよいものとする。   In this example, since all output destinations are O01, it seems that all orders are guaranteed, but for example, S00 to S07 output O01, S08 to S15 output O09, L0 outputs O01, and L1 outputs O09. When the buffer is used, an architecture is assumed in which the case where L1 having O09 as the destination is issued first when the timing of the entire output buffer is viewed from S07 having O01 as the output destination is not a problem. That is, when viewed in each output buffer, it is only necessary that the order of elements viewed in the output buffer guarantees the arrival order in the input buffer.

具体的には、ベクトル型コンピュータがこれに当てはまり、複数要素を発行するベクトルロード命令/ストア命令を後続の複数要素を発行するベクトルロード・ストア命令が追い越してはならないため、このアーキテクチャに該当する。   Specifically, this applies to a vector type computer, and the vector load / store instruction that issues a plurality of elements must not be overtaken by the vector load / store instruction that issues a plurality of elements.

なお、より厳しい制約として、同時に入力バッファに到着した要素は、入力バッファI00側を先行到着要素として扱うものとする。本例でいうと、O01バッファにS00、S01、…S15の順で出力されるのは良いが、同時に入力バッファに到着したとはいえ、S15、S14…S00の順で出力されるのは、認められないのものとする。   Note that, as a more severe restriction, elements that arrive at the input buffer at the same time are treated as preceding arrival elements on the input buffer I00 side. In this example, it is good to output to the O01 buffer in the order of S00, S01,... S15, but at the same time, although it arrives at the input buffer, it is output in the order of S15, S14. It shall not be allowed.

優先順位をまとめると、入力バッファに先に到着したものに優先権があり、同時到着の中では、入力バッファ若番(I00側)に優先権があるものとする。   Summarizing the priorities, it is assumed that the one that arrives first in the input buffer has priority, and that the input buffer younger (I00 side) has priority in simultaneous arrival.

これらの制約を守るためには、後続のL0、L1の要素は、先行のS00〜S15までの要素が全て掃けるまで、調停に参加できない。よって、順序を保証するためにL0、L1の入力バッファへの参加開始(=調停参加)は、16サイクルになっており、同様にM0はL0、L1が調停の結果すべて掃けるまで調停に参加できないため、入力バッファへの参加開始(=調停参加)は、18サイクルになっている。   In order to observe these restrictions, the subsequent L0 and L1 elements cannot participate in the arbitration until all the preceding S00 to S15 elements have been swept. Therefore, in order to guarantee the order, participation of L0 and L1 to the input buffer (= arbitration participation) is 16 cycles. Similarly, M0 participates in arbitration until L0 and L1 have all swept as a result of the arbitration. Since this is not possible, the start of participation in the input buffer (= arbitration participation) is 18 cycles.

図9、図10の例では、要素の到着順を守らなければならないアーキテクチャにおいて、単純なクロスバ構成を用いた場合の問題点を示している。すなわち、順序を保証するために、L0、L1がS00〜S15を待ち、M0がL0、L1を待っており、その結果、出力バッファをO01以外のO00にするN0までも調停に参加できず、待っている状態になっている。結果として、クロスバの利用効率は低いものになってしまっている。   The examples of FIGS. 9 and 10 show problems when a simple crossbar configuration is used in an architecture in which the arrival order of elements must be observed. That is, in order to guarantee the order, L0 and L1 are waiting for S00 to S15, M0 is waiting for L0 and L1, and as a result, N0 that makes the output buffer O00 other than O01 cannot participate in the arbitration, Waiting. As a result, the utilization efficiency of the crossbar has become low.

図11、図12に、単純なクロスバ構成での問題点を回避する性能向上施策であるクロスポイントバッファを備えるクロスバスイッチの例を示す。入力バッファと出力バッファの交差するポイントにバッファを設ける方式であり、図11ではX00〜X15と示されている。このX00〜X15は、各出力バッファあたり1セットもたれるものである。   FIGS. 11 and 12 show an example of a crossbar switch including a crosspoint buffer, which is a performance improvement measure for avoiding problems with a simple crossbar configuration. In this system, buffers are provided at points where the input buffer and the output buffer intersect, and are indicated as X00 to X15 in FIG. This X00 to X15 is one set per output buffer.

図12にクロスポイントバッファでの動作例を示す。図10と違い、クロスポイントバッファを保持しているため、入力バッファに並んだ要素S00〜S15の要素が1サイクル後にすべてクロスポイントバッファに保持されている。クロスポイントバッファに保持されたS00〜S15までの要素は、出力バッファに対して16to1のセレクタを通り、一つずつ発行される。   FIG. 12 shows an operation example in the crosspoint buffer. Unlike FIG. 10, since the cross-point buffer is held, all the elements S00 to S15 arranged in the input buffer are held in the cross-point buffer after one cycle. The elements from S00 to S15 held in the crosspoint buffer are issued one by one through the 16 to 1 selector to the output buffer.

図10のとの違いは、後続のL0、L1の調停開始時間が、早まっている点である。すまわち、クロスポイントバッファなしでは、L0、L1の調停開始がサイクル16だったのに対し、クロスポイントバッファありでは、サイクル1になっている。すなわち、L0、L1の行き先バッファが、O01以外であれば、L0、L1はクロスポイントバッファに対して即発行できるため、性能上効果のある方式である。   The difference from FIG. 10 is that the arbitration start time of subsequent L0 and L1 is advanced. In other words, the start of arbitration of L0 and L1 was cycle 16 without the crosspoint buffer, whereas it was cycle 1 with the crosspoint buffer. In other words, if the destination buffers of L0 and L1 are other than O01, L0 and L1 can be issued immediately to the crosspoint buffer, and this is a method that is effective in performance.

ただし、本例では、後続のL0、L1の行き先バッファもS00〜S15と同じO01であるため、その後、クロスポイントバッファが空くまで待たされてしまうので全体としての性能向上はまり見られていない。   However, in this example, since the destination buffers of the subsequent L0 and L1 are also the same O01 as S00 to S15, the entire performance is not improved because the crosspoint buffer is waited thereafter.

クロスポイントバッファの性能をさらに向上させる施策として、クロスポイントバッファのワード数を増やす方式がある。図13、図14にクロスポイントバッファのワード数を2ワードにしたクロスバスイッチの例を示す。   As a measure for further improving the performance of the crosspoint buffer, there is a method of increasing the number of words of the crosspoint buffer. FIGS. 13 and 14 show examples of crossbar switches in which the number of words in the crosspoint buffer is two words.

図13では、クロスバッファバッファ1 X00〜X15に加え、その下にクロスポイントバッファ2 Y00〜Y15を備えている。   In FIG. 13, in addition to the cross buffer buffers 1 X00 to X15, cross point buffers 2 Y00 to Y15 are provided below them.

図14にワード数を2にしたクロスポイントバッファでの動作例を示す。図12と違いクロスポイントバッファを深さ方向に2ワードもっているため、先ほど、入力バッファで待たされていたL0、L1の発行が早くなっている。図12ではL0、L1の発行が16サイクルまで待たされているのに対し、図14では、待ちなしの1サイクルでの発行となっている。   FIG. 14 shows an example of operation in a crosspoint buffer with the number of words set to two. Unlike FIG. 12, since the crosspoint buffer has two words in the depth direction, the issuance of L0 and L1 that have been waiting in the input buffer earlier is earlier. In FIG. 12, issuance of L0 and L1 is waited until 16 cycles, whereas in FIG. 14, issuance is in one cycle without waiting.

このようにクロスポイントバッファの深さ方向にワード数を持つことは、性能の上で一定の効果をもたらす。   Thus, having the number of words in the depth direction of the crosspoint buffer has a certain effect on performance.

ここで、関連技術として、クロスバの利用効率をあげる技術が特許文献1に開示されている。特許文献1に開示の技術は、入力バッファ、および、クロスポイントバッファからの出力要素の選択アルゴリズムを改良して、クロスバの利用効率をあげるものである。   Here, as a related technique, Patent Document 1 discloses a technique for increasing the utilization efficiency of a crossbar. The technique disclosed in Patent Document 1 improves the utilization efficiency of the crossbar by improving the selection algorithm of the output element from the input buffer and the crosspoint buffer.

特許第4002210号公報Japanese Patent No. 4002210

図13、図14に示す例では、後続のM0の行き先バッファもL0、L1と同じO01であるため、その後、クロスポイントバッファが空くまで待たされてしまうので全体としての性能向上はまり見られていない。さらに深さ方向を増やし、クロスポイントバッファを3ワードにすれば、さらに後続の行き先バッファの違うN0は待たされることはなくなるので、性能を向上させることはできるが、この場合、多くのハードウェア量を費やすことになり、また、ワード数の増加に伴い、レイテンシが悪化するという問題もある。   In the example shown in FIG. 13 and FIG. 14, since the destination buffer of the subsequent M0 is also the same O01 as L0 and L1, the overall performance is not improved since the system waits until the crosspoint buffer becomes empty. . If the depth direction is further increased and the crosspoint buffer is set to 3 words, N0 with a different destination buffer is not waited for, so that the performance can be improved. In this case, however, a large amount of hardware is required. In addition, there is a problem that the latency deteriorates as the number of words increases.

ここまでの例から、背景技術では以下の問題があったといえる。   From the examples so far, it can be said that the background art has the following problems.

クロスポイントバッファの性能を向上させる施策として、バッファの深さ方向にワード数を持たせる方法がある。しかしながら、クロスバを通過させる要素に対して、通過順序を保証しなければならないアーキテクチャにおいては、単純に、深さ方向にワード数を持っても、特定のパターンや、ランダムアクセスにおいて性能が得られないケースが存在する。また、単純にワード数を増やした場合の解決方法には、ハードウェア量の増大と、レイテンシの悪化という問題ももっている。   As a measure for improving the performance of the cross-point buffer, there is a method of increasing the number of words in the buffer depth direction. However, in an architecture that must guarantee the passage order for elements that pass through the crossbar, performance cannot be obtained in a specific pattern or random access even if the number of words is simply in the depth direction. Case exists. In addition, the solution in the case of simply increasing the number of words also has the problem of increasing the amount of hardware and worsening the latency.

また、特許文献1に開示技術は、出力要素順序を保証する必要のないクロスバにおいて利用できる手段であるため、出力要素順を保証する必要のある構成においては利用できないという問題がある。   Further, since the technique disclosed in Patent Document 1 is a means that can be used in a crossbar that does not need to guarantee the order of output elements, there is a problem that it cannot be used in a configuration that needs to guarantee the order of output elements.

(発明の目的)
本発明の目的は、上述の課題を解決し、深さ方向に2ワード以上を持つクロスポイントバッファ方式において、クロスバの利用効率を向上させるクロスバスイッチ、ベクトル処理装置、及びクロスバ制御方法を提供することである。
(Object of invention)
An object of the present invention is to provide a crossbar switch, a vector processing device, and a crossbar control method for solving the above-described problems and improving the crossbar utilization efficiency in a crosspoint buffer system having two or more words in the depth direction. It is.

本発明の第1のクロスバスイッチは、クロスバ入力バッファとクロスバ出力バッファの間に深さ方向に2ワード以上のクロスポイントバッファを備え、クロスポイントバッファの2ワード目にシフト機能を実装し、クロスポイントバッファの1ワード目の要素数がクロスポイントバッファの2ワード目の要素数より多い場合、シフト機能を利用しないことを選択する選択手段を含む。   The first crossbar switch of the present invention includes a crosspoint buffer of 2 words or more in the depth direction between the crossbar input buffer and the crossbar output buffer, and implements a shift function in the second word of the crosspoint buffer. When the number of elements in the first word of the buffer is larger than the number of elements in the second word of the crosspoint buffer, selection means for selecting not to use the shift function is included.

本発明の第1のベクトル処理装置は、クロスバ入力バッファとクロスバ出力バッファの間に深さ方向に2ワード以上のクロスポイントバッファを含むクロスバスイッチを備え、クロスバスイッチのクロスポイントバッファの2ワード目にシフト機能を実装し、クロスバスイッチが、クロスポイントバッファの1ワード目の要素数がクロスポイントバッファの2ワード目の要素数より多い場合、シフト機能を利用しないことを選択する選択手段を含む。   A first vector processing apparatus of the present invention includes a crossbar switch including a crosspoint buffer of two words or more in the depth direction between a crossbar input buffer and a crossbar output buffer, and a second word of the crosspoint buffer of the crossbar switch. A shift function is implemented, and the crossbar switch includes selection means for selecting not to use the shift function when the number of elements in the first word of the crosspoint buffer is larger than the number of elements in the second word of the crosspoint buffer.

本発明の第1のクロスバ制御方法は、クロスバ入力バッファとクロスバ出力バッファの間に深さ方向に2ワード以上のクロスポイントバッファを備えるクロスバスイッチによるクロスバ制御方法であって、クロスポイントバッファの2ワード目にシフト機能を実装し、クロスポイントバッファの1ワード目の要素数がクロスポイントバッファの2ワード目の要素数より多い場合、シフト機能を利用しないことを選択する選択ステップを、選択手段が実行する。   A first crossbar control method according to the present invention is a crossbar control method using a crossbar switch including a crosspoint buffer of two words or more in the depth direction between a crossbar input buffer and a crossbar output buffer, and includes two words of the crosspoint buffer. When the shift function is implemented in the eyes and the number of elements in the first word of the crosspoint buffer is larger than the number of elements in the second word of the crosspoint buffer, the selection means executes a selection step for selecting not to use the shift function. To do.

本発明の第2のクロスバ制御方法は、クロスバ入力バッファとクロスバ出力バッファの間に深さ方向に2ワード以上のクロスポイントバッファを含むクロスバスイッチを備えるベクトル処理装置によるクロスバ制御方法であって、クロスポイントバッファの1ワード目の要素数がクロスポイントバッファの2ワード目の要素数より多い場合、クロスバスイッチのクロスポイントバッファの2ワード目に実装されたシフト機能を利用しないことを選択する選択ステップを、クロスバスイッチの選択手段が実行する。   A second crossbar control method according to the present invention is a crossbar control method by a vector processing device including a crossbar switch including a crosspoint buffer of two words or more in the depth direction between a crossbar input buffer and a crossbar output buffer. If the number of elements in the first word of the point buffer is greater than the number of elements in the second word of the crosspoint buffer, a selection step for selecting not to use the shift function implemented in the second word of the crosspoint buffer of the crossbar switch The crossbar switch selection means executes.

本発明によれば、深さ方向に2ワード以上を持つクロスポイントバッファ方式において、クロスバの利用効率を向上させることができる。   According to the present invention, it is possible to improve the utilization efficiency of the crossbar in the cross point buffer system having two words or more in the depth direction.

本発明の第1の実施の形態によるシフト機能を示す図である。It is a figure which shows the shift function by the 1st Embodiment of this invention. 本発明の第1の実施の形態によるシフト機能を実装したときの効果を示す図である。It is a figure which shows the effect when the shift function by the 1st Embodiment of this invention is mounted. 本発明の第1の実施の形態によるクロスバスイッチの構成を示す図である。It is a figure which shows the structure of the crossbar switch by the 1st Embodiment of this invention. 本発明の第1の実施の形態によるシフト機能を使用しなかったときの効果を示す図である。It is a figure which shows the effect when not using the shift function by the 1st Embodiment of this invention. 本発明の第1の実施の形態によるクロスバスイッチの動作を示すフローチャートである。It is a flowchart which shows operation | movement of the crossbar switch by the 1st Embodiment of this invention. 本発明の第1の実施の形態によるクロスバスイッチの動作を示すフローチャートである。It is a flowchart which shows operation | movement of the crossbar switch by the 1st Embodiment of this invention. 本発明の第1の実施の形態によるクロスバスイッチの動作を示すフローチャートである。It is a flowchart which shows operation | movement of the crossbar switch by the 1st Embodiment of this invention. 本発明の第1の実施の形態によるクロスバスイッチの動作を示すフローチャートである。It is a flowchart which shows operation | movement of the crossbar switch by the 1st Embodiment of this invention. 背景技術によるベクトル処理装置の例を示す図である。It is a figure which shows the example of the vector processing apparatus by background art. 背景技術によるベクトル処理装置の例を示す図である。It is a figure which shows the example of the vector processing apparatus by background art. 背景技術によるベクトル処理装置の例を示す図である。It is a figure which shows the example of the vector processing apparatus by background art. 背景技術によるベクトル処理装置の例を示す図である。It is a figure which shows the example of the vector processing apparatus by background art. 背景技術によるベクトル処理装置の例を示す図である。It is a figure which shows the example of the vector processing apparatus by background art. 背景技術によるベクトル処理装置の例を示す図である。It is a figure which shows the example of the vector processing apparatus by background art. 背景技術によるクロスバスイッチの構成を示す図である。It is a figure which shows the structure of the crossbar switch by background art.

本発明の上記及び他の目的、特徴及び利点を明確にすべく、添付した図面を参照しながら、本発明の実施形態を以下に詳述する。なお、上述の本願発明の目的のほか、他の技術的課題、その技術的課題を解決する手段及びその作用効果についても、以下の実施形態による開示によって明らかとなるものである。   In order to clarify the above and other objects, features and advantages of the present invention, embodiments of the present invention will be described in detail below with reference to the accompanying drawings. In addition to the above-described object of the present invention, other technical problems, means for solving the technical problems, and operational effects thereof will become apparent from the disclosure of the following embodiments.

なお、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。   In all the drawings, the same reference numerals are given to the same components, and the description will be omitted as appropriate.

(第1の実施の形態)
本発明の第1の実施の形態について図面を参照して詳細に説明する。
(First embodiment)
A first embodiment of the present invention will be described in detail with reference to the drawings.

本実施の形態によるクロスバスイッチ100は、深さ方向に2ワードを持つクロスポイントバッファを備える(図1参照)。   The crossbar switch 100 according to the present embodiment includes a crosspoint buffer having two words in the depth direction (see FIG. 1).

図15は、図14で示されている2ワードのクロスポイントバッファの1出力バッファに対応する部分である。クロスポイントバッファ1ワード目のX00〜X15(3−1)が、クロスポイントバッファ2ワード目のY00〜Y15(3−3)にそれぞれ対応している。   FIG. 15 shows a portion corresponding to one output buffer of the two-word crosspoint buffer shown in FIG. X00 to X15 (3-1) in the first word of the crosspoint buffer correspond to Y00 to Y15 (3-3) in the second word of the crosspoint buffer.

前述の通り、要素の順序を保証しなければならないことを想定しているため、図15に示す構成では、クロスポイントバッファ2ワード目のY00〜Y15(3−3)から要素がすべて発行されてからでないと、クロスポイントバッファ1ワード目のX00〜X15(3−1)からのクロスポイントバッファ2ワード目のY00〜Y15(3−3)への移動はできない。図14では、この例を示した。   As described above, since it is assumed that the order of elements must be guaranteed, in the configuration shown in FIG. 15, all elements are issued from Y00 to Y15 (3-3) in the second word of the crosspoint buffer. Otherwise, it is not possible to move from X00 to X15 (3-1) of the first word of the crosspoint buffer to Y00 to Y15 (3-3) of the second word of the crosspoint buffer. FIG. 14 shows this example.

こうした動作をするため、1出力バッファあたりのクロスポイントバッファを16x2ワードの32要素のバッファを持っているにもかかわらず、性能がでないケースが存在する。   In order to perform such an operation, there is a case where the cross-point buffer per output buffer has a 32-element buffer of 16 × 2 words, but the performance is not good.

例えば、Y14、Y15で2要素、X00で1要素と全部で3要素しか埋まっていなかったとしても、1ワード目の要素は、バッファ2ワード目が空いていないので待たされるしかない。また、さらに後続の要素が同出力バッファをめがけていたとしても、X00〜X15に入れず、結果として性能低下をもたらしていた。これは、クロスバッファを有効活用できないことに起因している。   For example, even if only 2 elements in Y14 and Y15 and 1 element in X00 are filled, the first word element has to wait because the second word in the buffer is not empty. Further, even if a subsequent element is directed to the same output buffer, it cannot enter X00 to X15, resulting in performance degradation. This is because the cross buffer cannot be effectively used.

そこで、この問題を解決するために、本発明では、図1に示すように、クロスポイントバッファの2ワード目にシフト機能を実装する。   In order to solve this problem, the present invention implements a shift function at the second word of the crosspoint buffer as shown in FIG.

2ワード目のシフト機能は、次のように動作する。   The shift function of the second word operates as follows.

第1に、2ワード目から、発行すべき要素を選択させる。選択優先順位をY00>Y01…>Y15とする。   First, the element to be issued is selected from the second word. The selection priority order is Y00> Y01...> Y15.

第2に、2ワード目から、要素が発行されると、空エントリに対して、左シフトする(Y00側が高優先順位のため。)   Second, when an element is issued from the second word, the left entry is shifted to the left (because the Y00 side has a high priority).

第3に、1ワード目ワード数 < 2ワード目ワード数の場合、1ワード目の最優先エントリを2ワード目のY15に入れる。   Third, if the number of words in the first word is smaller than the number of words in the second word, the highest priority entry for the first word is placed in Y15 for the second word.

第4に、1ワード目ワード数>=2ワード目ワード数の場合、2ワード目のエントリがすべて発行された後に、X00−>Y00、X01−>Y01、…X15−>Y15にそれぞれ入れる(1ワード目と2ワード目のエントリ数に応じて、性能のでる適切な選択を実施。)。   Fourth, if the number of words in the first word> = the number of words in the second word, after all the entries in the second word are issued, they are put into X00-> Y00, X01-> Y01,... X15-> Y15, respectively ( Depending on the number of entries in the first word and the second word, an appropriate selection is made based on performance.)

第5に、1ワード目の全エントリが空くときに後続の入力を受付。   Fifth, the subsequent input is accepted when all entries in the first word are empty.

図2に、シフト機能を実装したときの効果を示す。   FIG. 2 shows the effect when the shift function is implemented.

最初の要素S00〜S15はクロスポイントバッファ1(X00〜X15)を通過し、クロスポイントバッファ2(Y00〜Y15)に到達する。ここで、本発明では、シフト機能があるため、先行の要素が発行される毎に、Y00側にシフトされていく。後続のL0、L1もS00〜S15のあとにクロスポイントバッファ1(X00〜X01)に挿入される。   The first elements S00 to S15 pass through the crosspoint buffer 1 (X00 to X15) and reach the crosspoint buffer 2 (Y00 to Y15). Here, in the present invention, since there is a shift function, every time a preceding element is issued, it is shifted to the Y00 side. Subsequent L0 and L1 are also inserted into the crosspoint buffer 1 (X00 to X01) after S00 to S15.

改良前の図14では、クロスポイントバッファ2(Y00〜Y15)の要素が掃けるまでL0、L1はクロスポイントバッファ1(X00〜X01)でホールドされるしかなかったが、改良後はシフト機能によりクロスポイントバッファ2(Y00〜Y15)のうちのY15が空いているため、L0要素をY15に挿入できる。同様に1サイクル後にはL1をY15に挿入できるため、後続のM0は入力バッファで1サイクル待たされるのみで通過している。   In FIG. 14 before the improvement, L0 and L1 can only be held in the crosspoint buffer 1 (X00 to X01) until the elements of the crosspoint buffer 2 (Y00 to Y15) are swept. Since Y15 of the crosspoint buffer 2 (Y00 to Y15) is free, the L0 element can be inserted into Y15. Similarly, L1 can be inserted into Y15 after one cycle, so that the following M0 passes only after waiting for one cycle in the input buffer.

効果の差分としてわかりやすいのは、M0のさらに後ろのN0要素である。シフト機能を持たない図14では、N0要素は先行のM0がクロスポイントバッファ1に入るまで発行されることはないため、結果として、出力バッファでみたときに通過するのは、21サイクルとなっている。これに対し、先行要素M0が早々にクロスポイントバッファ1に挿入される図2では、出力バッファでN0が通過するのは、7サイクルとなっている。   The N0 element further behind M0 is easy to understand as the effect difference. In FIG. 14, which does not have the shift function, the N0 element is not issued until the preceding M0 enters the crosspoint buffer 1, and as a result, 21 cycles pass when viewed in the output buffer. Yes. On the other hand, in FIG. 2 where the preceding element M0 is quickly inserted into the crosspoint buffer 1, N0 passes through the output buffer in 7 cycles.

以上のように、クロスポイントバッファ2にシフト機能を追加することの性能的な効果は大きい。   As described above, the performance effect of adding the shift function to the crosspoint buffer 2 is great.

しかしながら、本シフト機能を利用しないほうが性能のでるケースが存在する。一般的にいって、シフト機能が有効に働くのは、クロスポイントバッファ2(Y00〜Y15)にある要素数とクロスポイントバッファ1(X00〜X15)の要素数を比較して、クロスポイントバッファ2の要素数の方が多いときにシフト機能は有効に働く。反対にクロスポイントバッファ1の要素数の方が多いときには、シフト機能を利用しない方式の方が性能がよい。   However, there are cases where performance is better when this shift function is not used. Generally speaking, the shift function works effectively when the number of elements in the crosspoint buffer 2 (Y00 to Y15) is compared with the number of elements in the crosspoint buffer 1 (X00 to X15), and the crosspoint buffer 2 The shift function works effectively when there are more elements. On the other hand, when the number of elements of the crosspoint buffer 1 is larger, the method that does not use the shift function has better performance.

クロスポイントバッファ1の要素数の方が多いときにシフト機能を使って、反対に性能を落としてしまうケースを図3に示す。図3の例では、クロスポイントバッファ1からクロスポイントバッファ2への移動に16サイクル要しており、性能が悪化している。   FIG. 3 shows a case where the shift function is used to reduce the performance when the number of elements of the crosspoint buffer 1 is larger. In the example of FIG. 3, the movement from the crosspoint buffer 1 to the crosspoint buffer 2 requires 16 cycles, and the performance is deteriorated.

同命令列に対してシフト機能を使わなかったときのケースを図4に示す。クロスポイントバッファ1からクロスポイントバッファ2への移動を1サイクルの待ち合わせと1サイクルの移動の計2サイクルで済ませている。   FIG. 4 shows a case where the shift function is not used for the same instruction sequence. The movement from the crosspoint buffer 1 to the crosspoint buffer 2 is completed in two cycles, that is, one cycle of waiting and one cycle of movement.

以上から、本シフト機能が有効に働くのは、(クロスポイントバッファ1の要素数)<(クロスポイントバッファ2の要素数)のときとなる。このため、本発明では、(クロスポイントバッファ1の要素数)<(クロスポイントバッファ2の要素数)を判定する選択回路も追加する。前述の第3、第4の動作がこの選択回路の部分になるが、以降の実施例で詳しく説明する。   From the above, this shift function works effectively when (number of elements of crosspoint buffer 1) <(number of elements of crosspoint buffer 2). Therefore, in the present invention, a selection circuit for determining (number of elements of the crosspoint buffer 1) <(number of elements of the crosspoint buffer 2) is also added. The third and fourth operations described above are part of this selection circuit, which will be described in detail in the following embodiments.

(第1の実施の形態の動作の説明)
次に、本実施の形態によるクロスバスイッチ100の動作について、図面を参照して詳細に説明する。
(Description of the operation of the first embodiment)
Next, the operation of the crossbar switch 100 according to the present embodiment will be described in detail with reference to the drawings.

次に、具体的な実施例を用いて本実施の形態の動作を説明する。   Next, the operation of this embodiment will be described using specific examples.

(構成の説明)
図1に、1出力バッファに対するクロスポイントバッファと、シフト機能を示す。この回路は1出力バッファあたりに存在するため、論理的に16x16のクロスバの場合には、この回路が16個存在することになる。
(Description of configuration)
FIG. 1 shows a crosspoint buffer for one output buffer and a shift function. Since this circuit exists per output buffer, in the case of a logical 16 × 16 crossbar, there are 16 such circuits.

符号41のX00〜X15は、クロスポイントバッファの1ワード目である。要素順序の保証のために、新規の挿入は、X00〜X15がすべて空くタイミングからとなる。 X00 to X15 of reference numeral 41 is the first word of the cross point buffer. In order to guarantee the element order, the new insertion starts from the timing when X00 to X15 are all free.

符号42は、3ウェイのセレクタである。ひとつは、後述のY00〜Y15自身のホールド、ひとつが、X00…X15とY00…Y15がそれぞれに対応したパスで、これら、ふたつは従来のクロスポイントバッファにも存在するウェイである。最後の3ウェイ目がシフト機能を実現するパスであり、Y00はY01、Y01はY02からのパスがつながれている。ただし、Y15は、X00〜X15のうちの最優先のものが選ばれた結果がシフトパスとしてつながっている。   Reference numeral 42 denotes a 3-way selector. One is a hold of Y00 to Y15 itself, which will be described later, and one is a path corresponding to each of X00... X15 and Y00... Y15, and these two are ways also existing in the conventional crosspoint buffer. The last third way is a path that realizes the shift function. Y00 is connected to Y01, and Y01 is connected to the path from Y02. However, for Y15, the result of selecting the highest priority among X00 to X15 is connected as a shift path.

符号43のY00〜Y15はクロスポイントバッファの2ワード目である。要素順序の保証のために、クロスポイントバッファ2から要素が発行される毎にクロスポイントバッファ2の中でシフトが実行される。   Y00 to Y15 of reference numeral 43 is the second word of the crosspoint buffer. In order to guarantee the element order, a shift is executed in the crosspoint buffer 2 every time an element is issued from the crosspoint buffer 2.

符号44は16ウェイのセレクタである。先頭要素から発行していく必要があるため、Y00〜Y15までの要素の有無をチェックし、最優先の要素を選択(Leading0回路)したのちに、クロスポイントバッファ2のうちの最初の要素を発行する。   Reference numeral 44 denotes a 16-way selector. Since it is necessary to issue from the first element, the existence of elements from Y00 to Y15 is checked, the highest priority element is selected (Leading0 circuit), and then the first element in the crosspoint buffer 2 is issued To do.

符号45は2ウェイのセレクタである。出力バッファOUT(出力レジスタ46)からは、さらに先の回路の混雑具合によって、発行できるケースとできないケースが存在する。この2ウェイセレクタは、発行できなかったときのホールドを実現する。   Reference numeral 45 is a 2-way selector. From the output buffer OUT (output register 46), there are cases where it can be issued and cases where it cannot be issued due to the congestion of the previous circuit. This 2-way selector realizes a hold when it cannot be issued.

符号47は、シフト機能を利用したときに、クロスポイントバッファ1からクロスポイントバッファ2へ要素を挿入するときに使われる16ウェイのセレクタである。最優先の要素を選択(Leading0回路)したのちに、クロスポイントバッファ1のうちの最初の要素を発行できる機能をもつ、また、その発行は常に実施するわけではなくクロスポイントバッファ1、クロスポイントバッファ2の要素数の関係によって、発行するか否かを判断する機能も持つ。   Reference numeral 47 denotes a 16-way selector used when elements are inserted from the crosspoint buffer 1 to the crosspoint buffer 2 when the shift function is used. After selecting the highest-priority element (Leading 0 circuit), it has a function that can issue the first element of the crosspoint buffer 1, and the issue is not always performed. It also has a function of determining whether or not to issue based on the relationship of the number of elements of 2.

以上が本発明の構成要素である。   The above is the component of the present invention.

(動作の説明)
図1に示した構成要素の動作を図5、図6、図7、図8のフローチャートを用いて説明する。
(Description of operation)
The operation of the constituent elements shown in FIG. 1 will be described with reference to the flowcharts of FIGS.

図5は、出力レジスタ46を中心に、2ウェイセレクタ45の動作を示している。   FIG. 5 shows the operation of the 2-way selector 45 with the output register 46 as the center.

図6は、クロスポイントバッファ2(クロスポイントバッファ44)を中心に、3ウェイセレクタ42、16ウェイセレクタ44、16ウェイセレクタ47の動作を示している。   FIG. 6 shows operations of the 3-way selector 42, the 16-way selector 44, and the 16-way selector 47 with the cross point buffer 2 (cross point buffer 44) as the center.

図7は、クロスポイントバッファ1(クロスポイントバッファ41)を中心に、3ウェイのセレクタ42、16ウェイのセレクタ47の動作を示している。   FIG. 7 shows the operation of the 3-way selector 42 and the 16-way selector 47 centering on the crosspoint buffer 1 (crosspoint buffer 41).

図8は、入力バッファ(図9、図11、図13のI00〜I15)の動作を示している。   FIG. 8 shows the operation of the input buffer (I00 to I15 in FIGS. 9, 11, and 13).

図5は、出力バッファ46を中心に示したフローチャートである。最初に電源On、リセットがあり(ステップSO−1)、要素がない状態に移行する(ステップSO−2)。   FIG. 5 is a flowchart mainly showing the output buffer 46. First, there is a power source On, reset (step SO-1), and there is no element (step SO-2).

上位のレジスタにあたるクロスポイントバッファ2に要素があるか否かを判別し(ステップSO−3)、なければ、要素なしのまま、あれば要素ありの状態になる(ステップSO−4)。   It is determined whether or not there is an element in the cross-point buffer 2 corresponding to the higher-order register (step SO-3). If there is no element, there is no element and if there is an element (step SO-4).

出力バッファOUTから、さらに先のステージへの発行可否を判断し(ステップSO−5)、不可能であれば何もしないが、可能であれば要素を発行する(ステップSO−6)。以降システムが停止するまで繰り返される(ステップSO−7)   From the output buffer OUT, it is determined whether or not it can be issued to a further stage (step SO-5). If it is not possible, nothing is done, but if possible, the element is issued (step SO-6). Thereafter, the process is repeated until the system stops (step SO-7).

図6は、クロスポイントバッファ2を中心に示したフローチャートである。最初に電源On、リセットがあり(ステップSY−1)、要素がない状態に移行する(ステップSY−2)。   FIG. 6 is a flowchart mainly showing the crosspoint buffer 2. First, there is a power source On, a reset (step SY-1), and a transition is made to a state where there are no elements (step SY-2).

上位のレジスタにあたるクロスポイントバッファ1に要素があるか否かを判別し(ステップSY−3)、なければ、要素なしのまま、あれば要素ありの状態になる(ステップSY−4)。   It is determined whether or not there is an element in the crosspoint buffer 1 corresponding to the upper register (step SY-3). If there is no element, the element remains in the absence of the element (step SY-4).

次のタイミングで出力バッファが空くか否かの判断を行い(ステップSY−5)、空かなければそのまま、空くのであれば次のステップにすすむ。   It is determined whether or not the output buffer is empty at the next timing (step SY-5). If it is not empty, the process proceeds to the next step.

2ワード目から要素が発行可能な場合には、2ワード目中の要素数が2個以上が否かを判定する(ステップSY−6)。1要素のみの場合には、当該要素を発行し(ステップSY−7)、ステップSY−3に戻り、システムが停止するまで繰り返される(ステップSY−8)。   If elements can be issued from the second word, it is determined whether or not the number of elements in the second word is two or more (step SY-6). If there is only one element, the element is issued (step SY-7), the process returns to step SY-3, and is repeated until the system stops (step SY-8).

2要素以上ある場合には、クロスポイントバッファ1とクロスポイントバッファ2の要素数を比較する(ステップSY−9)。クロスポイントバッファ1>=クロスポイントバッファ2の場合には、クロスポイントバッファ2から1要素を発行し、他の要素をシフトするのみで、ステップSY−4に進む(ステップSY−10)。クロスポイントバッファ1<クロスポイントバッファ2の場合には、クロスポイントバッファ2から1要素を発行し、他の要素をシフトし、さらに、クロスポイントバッファ1の最優先要素をクロスポイントバッファ2の最老番Y15に挿入する(ステップSY−11)。   If there are two or more elements, the number of elements in the crosspoint buffer 1 and the crosspoint buffer 2 is compared (step SY-9). In the case of crosspoint buffer 1> = crosspoint buffer 2, one element is issued from crosspoint buffer 2, and only the other elements are shifted to proceed to step SY-4 (step SY-10). When crosspoint buffer 1 <crosspoint buffer 2, one element is issued from crosspoint buffer 2, the other elements are shifted, and the highest priority element of crosspoint buffer 1 is the oldest of crosspoint buffer 2. Insert into the number Y15 (step SY-11).

図7は、クロスポイントバッファ1を中心に示したフローチャートである。最初に電源On、リセットがあり(ステップSX−1)、要素がない状態に移行する(ステップSX−2)。   FIG. 7 is a flowchart mainly showing the crosspoint buffer 1. First, there is a power source On, reset (step SX-1), and there is no element (step SX-2).

上位のレジスタにあたる入力バッファに要素があるか否かを判別し(ステップSX−3)、なければ、要素なしのまま、あれば要素ありの状態になる(ステップSX−4)。   It is determined whether or not there is an element in the input buffer corresponding to the upper register (step SX-3). If there is no element, if there is no element, the element is present if there is no element (step SX-4).

次のタイミングでクロスポイントバッファ2がすべて空くか否かの判断を行い(ステップSX−5)、空くのであれば、1ワード目の全要素を2ワード目に挿入する(ステップSX−6)。反対に空かないのであれば、ステップSX−8に進み、クロスポイントバッファ2から要素の発行があるか否かを確認する(ステップSX−8)。   At the next timing, it is determined whether or not the cross point buffer 2 is all empty (step SX-5). If it is empty, all elements of the first word are inserted into the second word (step SX-6). On the contrary, if it is not empty, the process proceeds to step SX-8, and it is confirmed whether or not an element is issued from the crosspoint buffer 2 (step SX-8).

1要素も発行がない場合には、ステップSX−4に戻る。発行ある場合には、クロスポイントバッファ1の要素数とクロスポイントバッファ2の要素数の比較を行なう。   If no element is issued, the process returns to step SX-4. If issued, the number of elements in the crosspoint buffer 1 and the number of elements in the crosspoint buffer 2 are compared.

(バッファ1の数)>=(バッファ2の数)の場合には、何もせずにステップSX−4に戻る。(バッファ1の数)<(バッファ2の数)の場合には、クロスポイントバッファ1の最優先の要素をクロスポイントバッファ2の最優先ではないY15に挿入する(ステップSX−10)。   If (the number of buffers 1)> = (the number of buffers 2), nothing is done and the process returns to step SX-4. If (the number of buffers 1) <(the number of buffers 2), the highest priority element of the crosspoint buffer 1 is inserted into Y15 which is not the highest priority of the crosspoint buffer 2 (step SX-10).

ステップSX−10で最優先の要素をY15に挿入した結果、クロスポイントバッファ1の全エントリが空になるか否かをチェックする(ステップSX−11)。空になる場合には、要素なしから状態ステップSX−3に進み、まだ要素があるならば、要素のある状態ステップSX−4に進む。   As a result of inserting the highest priority element in Y15 in step SX-10, it is checked whether or not all entries in the crosspoint buffer 1 are empty (step SX-11). If empty, proceed to state step SX-3 from no element, and if there are still elements, proceed to state step SX-4 with elements.

図8は入力バッファ(図9、図11、図13のI00〜I15)のを中心に示したフローチャートである。   FIG. 8 is a flowchart mainly showing the input buffer (I00 to I15 in FIGS. 9, 11, and 13).

最初に電源On、リセットがあり(ステップSI−1)、要素がない状態に移行する(ステップSI−2)。   First, there is a power supply On, a reset (step SI-1), and a transition is made to a state where there are no elements (step SI-2).

入力バッファよりさらに上位の回路(バッファorレジスタ)に入力バッファに登録すべき要素があるか否かを判別し(ステップSI−3)、なければ、要素なしのまま、あれば要素ありの状態になる(ステップSI−4)。   It is determined whether or not there is an element to be registered in the input buffer in a circuit (buffer or register) higher than the input buffer (step SI-3). (Step SI-4).

次に入力バッファの要素が行くべき先のクロスポイントバッファ1が次のタイミングで全て空になるか否かを確認する(ステップSI−5)。空にならなければ何もせずにSI−4に戻り、空になるのであれば、入力バッファから要素を発行する。発行した後には、新規要素があるか否かのステップに戻る。   Next, it is confirmed whether or not all the cross-point buffers 1 to which the input buffer elements should go are empty at the next timing (step SI-5). If it is not empty, do nothing and return to SI-4. If it is empty, issue an element from the input buffer. After issuing, return to the step of whether there is a new element.

以上が、各バッファで見た動作のタイミングである。   The above is the operation timing seen in each buffer.

(第1の実施の形態による効果)
本実施の形態によれば、クロスポイントバッファにシフト機能を実装することにより、クロスバの利用効率を向上させることができる。
(Effects of the first embodiment)
According to the present embodiment, it is possible to improve the utilization efficiency of the crossbar by mounting the shift function in the crosspoint buffer.

本実施の形態では、ランダム性能(調停する出力バッファがランダム)については、シフト機能なし実効性能が57.1%であるのに対し、シフト機能あり実効性能は65.1%となり、性能が改善する。また、ベクトル型コンピュータを考慮した場合、特定の命令パターンにおいても18〜45%の性能向上が見られる。   In this embodiment, for random performance (the output buffer to be arbitrated is random), the effective performance without the shift function is 57.1%, while the effective performance with the shift function is 65.1%, which improves the performance. To do. Further, when a vector type computer is considered, a performance improvement of 18 to 45% can be seen even in a specific instruction pattern.

以上、好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。   The present invention has been described above with reference to preferred embodiments. However, the present invention is not necessarily limited to the above embodiments, and various modifications can be made within the scope of the technical idea. it can.

なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。   It should be noted that any combination of the above-described constituent elements and a conversion of the expression of the present invention between a method, an apparatus, a system, a recording medium, a computer program, etc. are also effective as an aspect of the present invention.

また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。   The various components of the present invention do not necessarily have to be independent of each other. A plurality of components are formed as a single member, and a single component is formed of a plurality of members. It may be that a certain component is a part of another component, a part of a certain component overlaps with a part of another component, or the like.

また、本発明の方法およびコンピュータプログラムには複数の手順を順番に記載してあるが、その記載の順番は複数の手順を実行する順番を限定するものではない。このため、本発明の方法およびコンピュータプログラムを実施する時には、その複数の手順の順番は内容的に支障しない範囲で変更することができる。   Moreover, although the several procedure is described in order in the method and computer program of this invention, the order of the description does not limit the order which performs a several procedure. For this reason, when implementing the method and computer program of this invention, the order of the several procedure can be changed in the range which does not interfere in content.

また、本発明の方法およびコンピュータプログラムの複数の手順は個々に相違するタイミングで実行されることに限定されない。このため、ある手順の実行中に他の手順が発生すること、ある手順の実行タイミングと他の手順の実行タイミングとの一部ないし全部が重複していること、等でもよい。   The plurality of procedures of the method and the computer program of the present invention are not limited to being executed at different timings. For this reason, another procedure may occur during the execution of a certain procedure, or some or all of the execution timing of a certain procedure and the execution timing of another procedure may overlap.

本発明によれば、クロスバのような多入力対多出力の通信網を持ち、かつ、通信網を通るパケット(命令列、もしくは、データ列)間で到着順序の保証を必要とするようなコンピュータシステム、もしくは、ネットワークスイッチにおける利用の可能性が考えられる。   According to the present invention, a computer having a multi-input to multi-output communication network such as a crossbar and requiring an arrival order guarantee between packets (command sequence or data sequence) passing through the communication network. Possible use in system or network switch.

100:クロスバスイッチ
41:クロスポイントバッファ
42:セレクタ
43:クロスポイントバッファ
44:セレクタ
45:セレクタ
46:出力レジスタ
47:セレクタ
100: Crossbar switch 41: Crosspoint buffer 42: Selector 43: Crosspoint buffer 44: Selector 45: Selector 46: Output register 47: Selector

Claims (4)

クロスバ入力バッファとクロスバ出力バッファの間に深さ方向に2ワード以上のクロスポイントバッファを備え、
クロスポイントバッファの2ワード目以降の各クロスポイントバッファにシフト機能を実装し、
前記クロスバ入力バッファの要素が入力されるクロスポイントバッファの1ワード目のエントリに格納されている要素数が、前記1ワード目の要素が入力されるクロスポイントバッファの2ワード目のエントリに格納されている要素数より多い場合、シフト機能を利用しないことを選択する選択手段を含み、
前記シフト機能は、
クロスポイントバッファの2ワード目から、予め定められた優先順位に基づいて、発行すべき要素を選択し、
当該要素が発行されると、当該発行により空となったエントリに対して高優先順位側へ前記2ワード目の各要素をシフトし、1ワード目の最優先エントリを、前記シフトにより空となった前記2ワード目のエントリに入れ、
前記優先順位は、前記クロスバ入力バッファに到着した順に決定され、同時到着の要素については、入力バッファの若番順に決定される
ことを特徴とするクロスバスイッチ。
A crosspoint buffer of 2 words or more in the depth direction is provided between the crossbar input buffer and the crossbar output buffer,
A shift function is implemented in each crosspoint buffer after the second word of the crosspoint buffer .
The number of elements the elements of the crossbar input buffer is stored in the first word of the entry of the crosspoint buffer to be entered, stored in the second word of the entry cross-point buffer the first word of the element is inputted If and are greater than the number of elements, look at including a selection means you choose not to use the shift function,
The shift function is
From the second word of the crosspoint buffer, select an element to be issued based on a predetermined priority,
When the element is issued, each element of the second word is shifted to the higher priority side with respect to the entry that is empty by the issue, and the highest priority entry of the first word is emptied by the shift. Into the second word entry,
The priority order is determined in the order of arrival in the crossbar input buffer, and the elements of simultaneous arrival are determined in the order of the youngest number in the input buffer .
クロスバ入力バッファとクロスバ出力バッファの間に深さ方向に2ワード以上のクロスポイントバッファを含むクロスバスイッチを備え、
前記クロスバスイッチの前記クロスポイントバッファの2ワード目以降の各クロスポイントバッファにシフト機能を実装し、
前記クロスバスイッチが、
前記クロスバ入力バッファの要素が入力されるクロスポイントバッファの1ワード目のエントリに格納されている要素数が、前記1ワード目の要素が入力されるクロスポイントバッファの2ワード目のエントリに格納されている要素数より多い場合、シフト機能を利用しないことを選択する選択手段を含み、
前記シフト機能は、
クロスポイントバッファの2ワード目から、予め定められた優先順位に基づいて、発行すべき要素を選択し、
当該要素が発行されると、当該発行により空となったエントリに対して高優先順位側へ前記2ワード目の各要素をシフトし、1ワード目の最優先エントリを、前記シフトにより空となった前記2ワード目のエントリに入れ、
前記優先順位は、前記クロスバ入力バッファにに到着した順に決定され、同時到着の要素については、入力バッファの若番順に決定される
ことを特徴とするベクトル処理装置
A crossbar switch including a crosspoint buffer of 2 words or more in the depth direction is provided between the crossbar input buffer and the crossbar output buffer.
A shift function is implemented in each crosspoint buffer after the second word of the crosspoint buffer of the crossbar switch,
The crossbar switch is
The number of elements stored in the first word entry of the crosspoint buffer to which the crossbar input buffer element is input is stored in the second word entry of the crosspoint buffer to which the first word element is input. Including a selection means for selecting not to use the shift function when there are more elements than
The shift function is
From the second word of the crosspoint buffer, select an element to be issued based on a predetermined priority,
When the element is issued, each element of the second word is shifted to the higher priority side with respect to the entry that is empty by the issue, and the highest priority entry of the first word is emptied by the shift. Into the second word entry,
The priority order is determined in the order of arrival at the crossbar input buffer, and elements of simultaneous arrival are determined in ascending order of the input buffer.
A vector processing device characterized by that .
クロスバ入力バッファとクロスバ出力バッファの間に深さ方向に2ワード以上のクロスポイントバッファを備えるクロスバスイッチによるクロスバ制御方法であって、
クロスポイントバッファの2ワード目以降の各クロスポイントバッファにシフト機能を実装し、
前記クロスバ入力バッファの要素が入力されるクロスポイントバッファの1ワード目のエントリに格納されている要素数が、前記1ワード目の要素が入力されるクロスポイントバッファの2ワード目のエントリに格納されている要素数より多い場合、シフト機能を利用しないことを選択する選択ステップを、選択手段が実行し、
前記シフト機能は、
クロスポイントバッファの2ワード目から、予め定められた優先順位に基づいて、発行すべき要素を選択し、
当該要素が発行されると、当該発行により空となったエントリに対して高優先順位側へ前記2ワード目の各要素をシフトし、1ワード目の最優先エントリを、前記シフトにより空となった前記2ワード目のエントリに入れ、
前記優先順位は、前記クロスバ入力バッファにに到着した順に決定され、同時到着の要素については、入力バッファの若番順に決定される
ことを特徴とするクロスバ制御方法
A crossbar control method using a crossbar switch having a crosspoint buffer of two words or more in the depth direction between a crossbar input buffer and a crossbar output buffer,
A shift function is implemented in each crosspoint buffer after the second word of the crosspoint buffer.
The number of elements stored in the first word entry of the crosspoint buffer to which the crossbar input buffer element is input is stored in the second word entry of the crosspoint buffer to which the first word element is input. When the number of elements is larger than the number of elements, the selection means executes a selection step for selecting not to use the shift function,
The shift function is
From the second word of the crosspoint buffer, select an element to be issued based on a predetermined priority,
When the element is issued, each element of the second word is shifted to the higher priority side with respect to the entry that is empty by the issue, and the highest priority entry of the first word is emptied by the shift. Into the second word entry,
The priority order is determined in the order of arrival at the crossbar input buffer, and elements of simultaneous arrival are determined in ascending order of the input buffer.
A crossbar control method characterized by the above .
クロスバ入力バッファとクロスバ出力バッファの間に深さ方向に2ワード以上のクロスポイントバッファを含むクロスバスイッチを備え、クロスポイントバッファの2ワード目以降の各クロスポイントバッファにシフト機能を実装するベクトル処理装置によるクロスバ制御方法であって、
前記クロスバ入力バッファの要素が入力されるクロスポイントバッファの1ワード目のエントリに格納されている要素数が、前記1ワード目の要素が入力されるクロスポイントバッファの2ワード目のエントリに格納されている要素数より多い場合、シフト機能を利用しないことを選択する選択ステップを、前記クロスバスイッチの選択手段が実行し、
前記シフト機能は、
クロスポイントバッファの2ワード目から、予め定められた優先順位に基づいて、発行すべき要素を選択し、
当該要素が発行されると、当該発行により空となったエントリに対して高優先順位側へ前記2ワード目の各要素をシフトし、1ワード目の最優先エントリを、前記シフトにより空となった前記2ワード目のエントリに入れ、
前記優先順位は、前記クロスバ入力バッファにに到着した順に決定され、同時到着の要素については、入力バッファの若番順に決定される
ことを特徴とするクロスバ制御方法
A vector processing device having a crossbar switch including a crosspoint buffer of 2 words or more in the depth direction between a crossbar input buffer and a crossbar output buffer, and implementing a shift function in each of the crosspoint buffers after the second word of the crosspoint buffer A crossbar control method according to
The number of elements stored in the first word entry of the crosspoint buffer to which the crossbar input buffer element is input is stored in the second word entry of the crosspoint buffer to which the first word element is input. When the number of elements is larger than the number of elements, the selection unit of the crossbar switch executes a selection step of selecting not to use the shift function,
The shift function is
From the second word of the crosspoint buffer, select an element to be issued based on a predetermined priority,
When the element is issued, each element of the second word is shifted to the higher priority side with respect to the entry that is empty by the issue, and the highest priority entry of the first word is emptied by the shift. Into the second word entry,
The priority order is determined in the order of arrival at the crossbar input buffer, and elements of simultaneous arrival are determined in ascending order of the input buffer.
A crossbar control method characterized by the above .
JP2012041415A 2012-02-28 2012-02-28 Crossbar switch, vector processing apparatus, and crossbar control method Expired - Fee Related JP5403380B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012041415A JP5403380B2 (en) 2012-02-28 2012-02-28 Crossbar switch, vector processing apparatus, and crossbar control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012041415A JP5403380B2 (en) 2012-02-28 2012-02-28 Crossbar switch, vector processing apparatus, and crossbar control method

Publications (2)

Publication Number Publication Date
JP2013178626A JP2013178626A (en) 2013-09-09
JP5403380B2 true JP5403380B2 (en) 2014-01-29

Family

ID=49270209

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012041415A Expired - Fee Related JP5403380B2 (en) 2012-02-28 2012-02-28 Crossbar switch, vector processing apparatus, and crossbar control method

Country Status (1)

Country Link
JP (1) JP5403380B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2853652B2 (en) * 1996-03-30 1999-02-03 日本電気株式会社 Packet transmitting method and apparatus in inter-processor communication
JP2000332778A (en) * 1999-05-18 2000-11-30 Nippon Telegr & Teleph Corp <Ntt> ATM switch
JP4002210B2 (en) * 2003-05-13 2007-10-31 日本電信電話株式会社 Input / crosspoint buffer type switch and scheduling method thereof

Also Published As

Publication number Publication date
JP2013178626A (en) 2013-09-09

Similar Documents

Publication Publication Date Title
CA3125707C (en) Virtualization of a reconfigurable data processor
CN100557594C (en) State Engine for Data Processors
KR900006793B1 (en) Packet switched multiple queue nxm switch mode and processing method
US6647449B1 (en) System, method and circuit for performing round robin arbitration
US8050256B1 (en) Configuring routing in mesh networks
US8151088B1 (en) Configuring routing in mesh networks
EP1839166B1 (en) Shared-memory switch fabric architecture
US9384165B1 (en) Configuring routing in mesh networks
JP3674515B2 (en) Array type processor
US20200159692A1 (en) Configuration unload of a reconfigurable data processor
KR900006791B1 (en) Packet Switched Multiport Memory N × M Switch Nodes and Processing Methods
CN113811859A (en) Control flow barrier and reconfigurable data processor
JP2011503710A (en) Shared memory system for tightly coupled multiprocessors
WO2012169032A1 (en) Buffer apparatus, buffer control apparatus and buffer control method
US4521874A (en) Random access memory device
US10740269B2 (en) Arbitration circuitry
US11730325B2 (en) Dual mode interconnect
JP5403380B2 (en) Crossbar switch, vector processing apparatus, and crossbar control method
CN108541365B (en) Apparatus and method for distribution of congestion information in switches
Pérez et al. Efficient bypass in mesh and torus NoCs
JP6432348B2 (en) Arithmetic apparatus and arithmetic method
JP4314528B2 (en) Multiprocessor system and memory access method
US12267256B1 (en) Dynamic destination id in an array level network of a reconfigurable dataflow processor
Effiong et al. Roundabout: a network-on-chip router with adaptive buffer sharing
US20140082215A1 (en) Arbitrating between data paths in a bufferless free flowing interconnect

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130805

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131016

R150 Certificate of patent or registration of utility model

Ref document number: 5403380

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees