JPH0441376B2 - - Google Patents

Info

Publication number
JPH0441376B2
JPH0441376B2 JP58501844A JP50184483A JPH0441376B2 JP H0441376 B2 JPH0441376 B2 JP H0441376B2 JP 58501844 A JP58501844 A JP 58501844A JP 50184483 A JP50184483 A JP 50184483A JP H0441376 B2 JPH0441376 B2 JP H0441376B2
Authority
JP
Japan
Prior art keywords
items
sorting
module
item
key
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 - Lifetime
Application number
JP58501844A
Other languages
Japanese (ja)
Other versions
JPS59500786A (en
Inventor
Aran Fuan
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.)
AT&T Corp
Original Assignee
AT&T Technologies Inc
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 AT&T Technologies Inc filed Critical AT&T Technologies Inc
Priority claimed from PCT/US1983/000542 external-priority patent/WO1983004116A1/en
Publication of JPS59500786A publication Critical patent/JPS59500786A/en
Publication of JPH0441376B2 publication Critical patent/JPH0441376B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Sorting Of Articles (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

請求の範囲 1 直列に与えられた項目を受信する少なくとも
ひとつのソーテイングモジユール700と、 項目の対の値を比較することによつて項目を出
力する順序を決定するよう動作するための各モジ
ユール中の比較回路703と を含む所望の順序に項目を再配置するための装置
において、 モジユールは 対をなす順序に与えられた項目の一方が一義的
なスペーサ項目であるかどうかを検出する検出回
路704と、 一義的なスペーサ項目の検出に応動して一義的
なスペーサ項目を含む項目の対を、その項目の対
がモジユールに受信された順序で出力する第1の
回路711−714,705と を含むことを特徴とする項目を所望の順序に再配
置する装置。
Claim 1: at least one sorting module 700 receiving items provided in series; each module operative to determine the order in which the items are output by comparing the values of pairs of items; a detector circuit for detecting whether one of the items given in the paired order is a unique spacer item; 704, and a first circuit 711-714, 705 responsive to detecting a unique spacer item to output pairs of items including the unique spacer item in the order in which the pairs of items were received by the module. Apparatus for rearranging items in a desired order, characterized in that:

2 請求の範囲第1項に記載の装置において、 項目は予め定められた関係に従つてソートされ
るべき英数字のシンボルであることを特徴とする 項目を所望の順序に再配置する装置。
2. Device according to claim 1, characterized in that the items are alphanumeric symbols to be sorted according to a predetermined relationship.

3 請求の範囲第1項に記載の装置において、 項目はそれらの数値に従つてソートされるべき
多ビツトワードであることを特徴とする 項目を所望の順序に再配置する装置。
3. Apparatus according to claim 1 for rearranging items into a desired order, characterized in that the items are multi-bit words to be sorted according to their numerical values.

4 請求の範囲第1項に記載の装置において、 項目はアルフアベツト順にソートされるべきア
ルフアベツトシンボルであることを特徴とする 項目を所望の順序に再配置する装置。
4. A device for rearranging items in a desired order, wherein the items are alphabetic symbols to be sorted in alphabetical order.

5 請求の範囲第1項に記載の装置において、 項目は関連するレコードを持つキー値であるこ
とを特徴とする 項目を所望の順序に再装置する装置。
5. Apparatus according to claim 1, characterized in that the items are key values with associated records, for reordering items in a desired order.

6 請求の範囲第5項に記載の装置において、 装置はさらにレコードを関連するキーと同一の
順序に再配置するためのスレーブ回路750を含
むことを特徴とする 項目を所望の順序に再配置する装置。
6. The apparatus of claim 5, wherein the apparatus further comprises a slave circuit 750 for rearranging the records in the same order as the associated keys. Device.

7 請求の範囲第1項に記載の装置において、 該装置はさらに N個までの項目のバツチをソートするために構
成されたN個の直列に接続されたモジユールの列
を含み、バツチの各々は少なくとも1個の一義的
なスペーサ項目によつて分離されていることを特
徴とする 項目を所望の順序に再配置する装置。
7. The apparatus of claim 1, further comprising: an array of N serially connected modules configured to sort batches of up to N items, each batch having a Apparatus for rearranging items into a desired order, characterized in that they are separated by at least one unique spacer item.

8 請求の範囲第7項に記載の装置において、 項目は関連するレコードを持つキー値であるこ
とを特徴とする 項目を所望の順序に再配置する装置。
8. Apparatus according to claim 7 for rearranging items in a desired order, characterized in that the items are key values with associated records.

9 請求の範囲第8項に記載の装置において、 該装置はさらに、 レコードを関連するキーと同一の順序に再配置
するためのN個の直列に接続されたスレーブ回路
の列を含むことを特徴とする 項目を所望の順序に再配置する装置。
9. The apparatus of claim 8, further comprising: a bank of N serially connected slave circuits for rearranging the records in the same order as the associated keys. A device that rearranges items in a desired order.

10 請求の範囲第9項に記載の装置において、 レコードは時分割多重信号のタイムスロツト中
の情報であり、該装置はさらに ソーテイングのあとのタイムスロツトの情報は
所望の順序に入替られるようにレコードにキーを
割当てる割当回路1104を含むことを特徴とす
る 項目を所望の順序に再配置する装置。
10. In the device according to claim 9, the record is information in a time slot of a time division multiplexed signal, and the device further comprises: An apparatus for rearranging items in a desired order, comprising an assignment circuit 1104 for assigning keys to items.

11 請求の範囲第10項に記載の装置におい
て、 タイムスロツトはフレームを形成して生じ、 時分割多重信号の各フレームの第1のキーは一
義的なスペーサ項目であることを特徴とする 項目を所望の順序に再配置する装置。
11. The device according to claim 10, characterized in that the time slots occur forming frames, and the first key of each frame of the time division multiplexed signal is a unique spacer item. Device to rearrange into desired order.

発明の背景 本発明は順次に与えられた項目を受信する少な
くともひとつのソーテイングモジエールと、項目
の対の値を比較することによつて項目を出力する
順序を決定するよう通常動作する各モジユールに
おける比較回路とを含む、項目を所望の順序でな
らべなおす装置に関する。
BACKGROUND OF THE INVENTION The present invention includes at least one sorting module that receives items provided in sequence, and each module that normally operates to determine the order in which items are output by comparing the values of pairs of items. and a comparison circuit for rearranging items in a desired order.

「プログラミングのほとんどすべての重要な点
ではソーテイングあるいは探索が関連している」
(D.E.クヌース、コンピユータプログラム技術−
D.E.Knuth)The Art of
Computerprogramming、Vol.Addision
wesley、1973)と言われるほどであるから、こ
の問題はコンピユータ科学者によつてもエレクト
ロニクスのハードウエア設計者によつても広く研
究されており、選択ソート、ヒープソート、挿入
ソートおよびアージソートを種々の手法が文献で
伸べられている。“バブルソーテイング”とよば
れるさらに他の手法も良くしられており、この手
法はいくつかの名前で知られ、インターチエンジ
ソーテイング、イクスチエンジソーテイング、沈
み込みソーテイングなどとも呼ばれている。その
用語は広く変わるが、バブルソートの本質はソー
トされるかたまりの中の隣接した項目を入れ替え
ることであるということは一般に合意されてい
る。各々の入れ替えの間、項目の値が比較され、
項目を予め定めた関係、例えば最も小さいものを
第1にあるいは最も大きいものを第1に与えるよ
うに必要に応じて項目が入れ替えられる。入れ替
えは典型的には順次に実行され、一般にそれ以上
の入れ替えが必要なくなるまで、かたまりの中の
すべての項目を繰り返して走査し、必要がなくな
つたときに、かたまり全体がソートされたことに
なる。バブルソートの手法の大部分はソフトウエ
ア実現され(例えばPopular Computing Vol.8、
No.11November1980の“Bubble Sorting”P、
2−10参照)従つて、大多数の汎用計算機はひと
つのプロセツサしか特にないために、一連の順序
動作を実行することに限定されることになる。こ
の結果生ずる処理速度の限界を克服するために、
通常の集積回路手法を使つたり磁気バブル磁返デ
バイスを使つて種々のハードウエア的な実現法が
工夫されている。後者の例はD.T.Lee他の“An
On−Chip Compare/Steer Bubble Sorter”と
題するIEEE Trans.on Computers Vol.C−30
No.6 June1981、PP.396−405(特にその第6図
参照)に示されており、またICによる実現法はP.
G.Jansen他の“The DIMOND;A
Component for the Modulator Construction
of Switching Networks”IEEE Trans on
Computers VoL.C−29、No.120ct、1980 pp.884
−889(特に第9図参照)と題する論文に述べられ
ている。
"Almost every important point in programming involves sorting or exploration."
(DE Knuth, Computer Programming Technology -
DEKnuth)The Art of
Computer programming, Vol. Addition
(Wesley, 1973), this problem has been widely studied by both computer scientists and electronics hardware designers, and has been extensively studied by both computer scientists and electronics hardware designers, using various techniques such as selection sort, heap sort, insertion sort, and arge sort. Methods have been developed in the literature. Yet another technique, called "bubble sorting," is well known and is known by several names, including interchain disorting, single chain disorting, and subduction sorting. Although the terminology varies widely, it is generally agreed that the essence of bubble sort is to swap adjacent items within the chunks being sorted. During each permutation, the values of the items are compared and
Items are rearranged as necessary so that the items are given a predetermined relationship, for example, the smallest item is given first or the largest item is given first. Permutations are typically performed sequentially, typically repeatedly scanning all items in a chunk until no further permutations are needed, at which point it is determined that the entire chunk has been sorted. Become. Most of the bubble sort methods have been implemented in software (e.g. Popular Computing Vol.8,
No.11November1980 “Bubble Sorting”P,
(See 2-10) Therefore, since most general-purpose computers have only one processor in particular, they are limited to executing a series of sequential operations. To overcome the resulting processing speed limitations,
Various hardware implementations have been devised using conventional integrated circuit techniques and using magnetic bubble return devices. An example of the latter is DTLee et al.
IEEE Trans.on Computers Vol.C-30 entitled “On-Chip Compare/Steer Bubble Sorter”
No. 6 June 1981, PP. 396-405 (see especially Figure 6), and the implementation method using IC is shown in P.
“The DIMOND;A” by G. Jansen et al.
Component for the Modulator Construction
of Switching Networks”IEEE Trans on
Computers VoL.C−29, No.120ct, 1980 pp.884
-889 (see especially Figure 9).

従来技術のバブルソート装置のこのようなもの
でも、その有効性は実現可能なスループツト、時
間遅れおよび所要の記憶をサイズのような多数の
要素で計測することができる。この装置は各々の
かたまりとしてソートすることができる項目の数
に制限があり、また設計はVLSI技術を使つたモ
ジユール構成には、適合していない。上述した判
定条件のいくつかにおいて成功している周知のソ
ーテイング装置の多くは、しかし高価であつた
り、実現が困難であつたりする。
The effectiveness of such prior art bubble sort devices can be measured on a number of factors, such as size, achievable throughput, time delay, and storage requirements. This device is limited in the number of items that can be sorted in each chunk, and the design is not compatible with modular construction using VLSI technology. Many of the known sorting devices that are successful in meeting some of the above criteria are, however, expensive or difficult to implement.

発明の要約 本発明に従えば、この問題はモジユールは対を
なして順次に与えられる項目が一義的なスペーサ
項目かどうかを検出するための検出回路と、一義
的スペーサ項目の検出に応動して一義的なスペー
サ項目を含む項目の対をその項目の対がモジユー
ルによつて受信されたのと同一の順序で出力する
第1の回路とを含む項目を所望の順序に再配置す
る装置によつて解決される。
SUMMARY OF THE INVENTION In accordance with the present invention, this problem is solved by a module that includes a detection circuit for detecting whether an item provided sequentially in a pair is a unique spacer item, and a detection circuit responsive to the detection of a unique spacer item. a first circuit for outputting pairs of items including unique spacer items in the same order in which the pairs of items were received by the module; It will be resolved.

本発明はそのすべてが同期してクロツクを受け
るソーテイングモジユールの一連の連鎖を含んで
いる。ソートされべき項目はひとかたまりになつ
て生じ、各項目には典型的はその項目をそのたか
まり中の他の項目と比較して配置すべき順序を決
める値を持つている。各クロツク、パルスによつ
て、項目は第1のモジユールにあたえられ二つの
項目を持つ各モジユールは項目の値を比較して所
望のソートのタイプに従つて項目の内のいずれか
を次のモジユールに転送するように構成されてい
る。項目は数字でソートすることもでき、アルフ
アベツトでソートすることもでき、あるいは任意
の他の予め定められた関係に従つてリートするこ
ともできる。通過しなかつた項目は保存され、次
の比較で使用される。
The invention includes a chain of sorting modules all clocked synchronously. The items to be sorted occur in groups, and each item typically has a value that determines the order in which it should be placed relative to other items in the group. With each clock pulse, an item is applied to the first module and each module with two items compares the values of the items and assigns one of the items to the next module according to the type of sort desired. is configured to forward to. Items can be sorted numerically, alphabetically, or according to any other predetermined relationship. Items that do not pass are saved and used in the next comparison.

本発明に従えば、各モジユールはリートされる
べき項目のかたまり(バツチ)の前にある、ある
いはあるかたまりを次のかたまりと区別する特別
の“スペーサ”項目を識別するように構成されて
いる。スペーサ項目がソーテイングモジユールに
よつて受信されとき、そのスペーサ項目とそれに
含まれた他の項目は(次の二つのクロツクパルス
で)それが受信されたのと同一の順序で出力され
る。これによつて、上述したように構成されたN
個の項目のかたまりを、各かたまりの項目がスペ
ーサ項目によつて分離されている限り効率良くソ
ートすることができる。この結果として、スルー
プツトが増大し、この構成は従来のバルブソータ
より融通性の高いものとなる。
In accordance with the invention, each module is configured to identify a special "spacer" item that precedes or distinguishes one batch of items from the next. When a spacer item is received by the sorting module, that spacer item and the other items it contained are output (on the next two clock pulses) in the same order in which they were received. As a result, N
Clusters of items can be efficiently sorted as long as the items in each cluster are separated by spacer items. This results in increased throughput and makes the configuration more flexible than conventional valve sorters.

データと関連するキーを含むレコードをソート
するためにも同様のシステムを使用すことができ
る。この構成においては、キーがソーテイングモ
ジユールに与えられ、一方対応するデータは一連
のスレーブモジユールで再配置される。
A similar system can be used to sort records containing keys associated with data. In this configuration, a key is provided to a sorting module while corresponding data is rearranged in a series of slave modules.

本発明によつて可能となる能率の良いソーテイ
ングはまた所望の方法でラベルの付替を行うか、
レコードキーを取り扱うことによつて、ならべか
えを実行するのに使用すことができる。一例とし
て減少する順序で項目に対してキーを割り当てる
ことによつて項目のならびの順序を逆にすること
ができる。これらのレコードのキーが増大する方
向でソーテイングを行うことによつて、逆の時間
順序で項目を発生することができる。
Efficient sorting made possible by the present invention also allows labeling to be done in a desired manner;
By manipulating the record key, it can be used to perform sorting. As an example, the order of the items can be reversed by assigning keys to the items in decreasing order. By sorting these records in the direction of increasing keys, items can be generated in reverse chronological order.

その特定の応用は時分割多重信号のタイムスロ
ツトの入れ替えである。例えば時分割多重信号の
各タイムスロツトはレコードのデータ部であると
見ることができる。各タイムスロツトのデータに
キーを関連させることによつて、スロツトの順序
を本発明のソーテイングシステムを使つて単にレ
コードを処理するだけで、スロツトの順序を簡単
に入れ替えることができる。
Its particular application is the interchanging of time slots in time division multiplexed signals. For example, each time slot of a time division multiplexed signal can be viewed as a data portion of a record. By associating a key with each time slot's data, the slot order can be easily changed by simply processing the records using the sorting system of the present invention.

【図面の簡単な説明】[Brief explanation of drawings]

本発明の彼此の特徴および利点は添付の図面を
参照して以下の詳細な説明を検討することによつ
て、より完全に得られるものである。
These features and advantages of the invention will be more fully realized by studying the following detailed description in conjunction with the accompanying drawings.

第1図乃至第3図は従来技術のバブルソート手
法を用いて一連の項目をソートする方法を示す
図; 第4図乃至第6図は本発明に従うバブルソート
を用いて二つの項目のかたまりをソートする方法
を示す図; 第7図および第8図は本発明に従つて構成され
たレコードのソートのための他のモジユールの構
成の実施例のブロツク図; 第9図は第8図のソーテイングモジユールにお
いて、スペーサの検出機能を実行するための他の
構成を示す図; 第10図は従来技術のタイムスロツト入替装
置; 第11図は時分割多重(TDM)信号のタイム
スロツトを入れ替えるための第7図あるいは第8
図に示すようなレコードソーテイングモジユール
の直列の連鎖の使用法を示す図; 第12図はTDM信号の空タイムスロツトを再
配置するための第7図あるいは第8図に示すタイ
プのレコードソーテイングモジユールの連鎖の使
用法を示す図である。
Figures 1 to 3 are diagrams illustrating a method for sorting a series of items using a prior art bubble sort technique; Figures 4 to 6 are diagrams showing how to sort two groups of items using bubble sort according to the present invention; 7 and 8 are block diagrams of embodiments of other module configurations for sorting records constructed in accordance with the present invention; FIG. 9 is a diagram illustrating the sorting method of FIG. Fig. 10 is a conventional time slot switching device; Fig. 11 is for switching time slots of a time division multiplexed (TDM) signal. Figure 7 or 8 of
A diagram illustrating the use of a serial chain of record sorting modules as shown in FIG. FIG. 3 is a diagram illustrating the use of a chain of teaching modules;

詳細な説明 第1図乃至第3図は通常のバルブソート動作の
開始、中間おび最終サイクルを示すグラフであ
る。これらの三つの図において、同一の番号は同
一の要素を示すのに用いられている。第1図に示
すように、数値8、0、1、9、7、5、3、
6、4、8を持つ10個の項目のシーケンスがソー
トされるものとし、これらの項目が時刻t=0に
おいて個々の記録位置101−18乃至101−10を持つ
10位置のシフトレジスタ101に予めロードされ
る。各々の引き続く線102上のクロツクパルス
φによつて、レジスタ101の内容は1位置だけ
右に移動し、そのとき位置101−1に含まれて
いる項目は10個のソーテイングモジユール111
−1乃至111−10の直列の連鎖の入力に与え
られる。
DETAILED DESCRIPTION FIGS. 1-3 are graphs illustrating the beginning, intermediate and final cycles of a typical valve sort operation. In these three figures, the same numbers are used to refer to the same elements. As shown in Figure 1, the numbers 8, 0, 1, 9, 7, 5, 3,
Let a sequence of 10 items with values 6, 4, and 8 be sorted, and these items have individual recording positions 101-18 to 101-10 at time t=0.
It is preloaded into a 10-position shift register 101. A clock pulse φ on each successive line 102 causes the contents of register 101 to move one position to the right such that the item contained in position 101-1 is equal to or greater than 10 sorting modules 111.
-1 to 111-10 serial chain inputs.

各々のソーテイングモジユールは上下に示され
た、記録エレメントに二つの与えられた項目を記
憶し、記憶された項目の値を比較し、所望のソー
テイングのタイプに従つて、一方の項目を選択す
るようになつている。以下の例では一番低いもの
から高いものへの順番とする構成を述べる。各モ
ジユールは選択された項目をその出力に与え、こ
れらは次のソーテイングモジユールに結合される
か、最後のモジユールの場合には利用デバイスに
与えられる。同時に各モジユールは前のモジユー
ルから次の項目の入力受理し、最初のモジユール
の場合にはレジスタ101から受理する。典型的
にはモジユールはクロツク源(図示せず)からの
クロツクパルスの制御下に同期的に動作する。最
後のモジユール111−10の出力はレジスタ1
21のような利用装置に結合され、これは(レジ
スタ101と同様に)10個の記憶位置121−1
乃至121−10を有し、線102上のパルスに
よつてクロツク同期される。
Each sorting module stores two given items in the recording elements shown above and below, compares the values of the stored items, and selects one item according to the type of sorting desired. I'm starting to do that. The following example describes a configuration in which the order is from lowest to highest. Each module provides selected items at its output, which are either coupled to the next sorting module or, in the case of the last module, provided to the utilization device. At the same time, each module accepts the input of the next item from the previous module, or from the register 101 in the case of the first module. Typically, the modules operate synchronously under the control of clock pulses from a clock source (not shown). The output of the last module 111-10 is in register 1
21, which (as well as register 101) has ten storage locations 121-1.
121-10 and is clocked by the pulse on line 102.

第1図に示すように、ソーテイングモジユール
111−1乃至111−10のすべては時刻t=
0で初期化され、各々は文字“S”で示される
“極めて小さい”値を持つ二つの項目を含むよう
になる。定義により、値“S”はソートされる項
目のかたまり(バツチ)に現れることが予期され
るどのような期待される値よりも小さい。初期化
は種々の方法で実現されるが、以下に述べる目的
で従来技術の装置では必要である。時刻t=0に
おいて、ひとつのクロツクパルスφが生じた後
で、レジスタ101の内容は1位置だけ右にシフ
トし、記憶位置101−1からの値“8”を持つ
項目が、ソーテイングモジユール111−1に記
憶される。すべてのモジユール111−1乃至1
11−10は第1のクロツクパルスが生ずる前に
は同一の値Sを持つ項目を含んでいるから、各モ
ジユールのひとつの記憶位置の内容(グラフでは
上半分)がシフトされ、第1のクロツクサイクル
の終わりでは、記憶位置101−1から度信され
た値“8”を持つ項目がモジユール111−1の
空になつた記憶位置を満たすことになる。最後の
ソーテイングモジユール111−10から出力さ
れた値“S”を持つ項目はそれ以上の有用な機能
はないから捨てられる。
As shown in FIG. 1, all of the sorting modules 111-1 to 111-10 operate at time t=
Initialized with 0, each will contain two items with a "very small" value, denoted by the letter "S". By definition, the value "S" is less than any expected value that would be expected to appear in the batch of items being sorted. Initialization can be accomplished in a variety of ways, but is necessary in prior art devices for the purposes described below. At time t=0, after one clock pulse φ has occurred, the contents of register 101 are shifted one position to the right, and the entry with the value "8" from memory location 101-1 is transferred to sorting module 111. -1 is stored. All modules 111-1 to 1
Since 11-10 contains items with the same value S before the first clock pulse occurs, the contents of one storage location of each module (the upper half in the graph) are shifted and the first clock pulse At the end of the cycle, the item with the value "8" received from memory location 101-1 will fill the emptied memory location in module 111-1. The item with the value "S" output from the last sorting module 111-10 is discarded because it has no further useful function.

次のクロツクパルスが生じた後(t=2)、レ
ジスタ101の内容は再び右方にシフトされ、記
憶位置101−1からの“0”の値を持つ項目が
ソーテイングモジユール111−1に入力されて
いる。モジユール111−1は同時にそのとき二
つの記憶位置に同時に記憶されている項目の値8
と“S”を比較、値“S”を持つ項目をモジユー
ル111−2に通過させ、値“O”を持つ項目は
モジユール111−1の今空きになつた(下半
分)の位置に入れられる。残りのモジユールもす
べて同様に動作する。時刻t=2においては、す
べての他のモジユー、ルは値“S”の項目を含ん
でいるから、これらの項目は残りのモジユールの
空になつた位置(上半分)を通して伝般し、値”
S”を持つ第2の項目が捨てられる。
After the next clock pulse occurs (t=2), the contents of register 101 are shifted to the right again and the entry with a value of "0" from memory location 101-1 is input to sorting module 111-1. has been done. Module 111-1 simultaneously stores the value 8 of the item stored in two storage locations at the same time.
and "S" are compared, the item with the value "S" is passed through module 111-2, and the item with the value "O" is placed in the now empty (lower half) position of module 111-1. . All remaining modules work similarly. At time t = 2, all other modules contain items with value "S", so these items propagate through the empty positions (top halves) of the remaining modules, and the values ”
The second entry with "S" is discarded.

以上のプロセスは引き続くクロツクパルスφの
各々で繰り返される。第3のクロツクパルスの後
では、モジユール111−1ではじめの二つの入
力項目のキー値(8と0)の間で比較が行われ
る。“0”の方が小さいのでその項目が連鎖の次
のモジユール111−2に与えられる。さらに他
のクロツクパルスが生じたとき“0”はモジユー
ル111−2の“S”の値と比較され、先に述べ
たように“S”の値が小さいのでその項目がシフ
トされる。第1図乃至第3図のグラフ表示の中で
シフトされるべき項目の位置を見やすくするため
に、小さい方の値を持つ(次のパルスφを与える
前に)項目に入つたモジユールの上半分または下
半分の角に影を付けて示してある。
The above process is repeated for each subsequent clock pulse φ. After the third clock pulse, a comparison is made between the key values (8 and 0) of the first two entries in module 111-1. Since "0" is smaller, that item is given to the next module 111-2 in the chain. When yet another clock pulse occurs, the "0" is compared to the value of "S" in module 111-2 and, as previously stated, since the value of "S" is small, that entry is shifted. To make it easier to see the position of the item to be shifted in the graphical representations of Figures 1-3, the upper half of the module that entered the item with the smaller value (before applying the next pulse φ) or shown with shading in the corners of the lower half.

10クロツクサイクルの終わりで、レジスタ10
1は空になり、その内容はその各々が二つの項目
を記憶するソーテイングモジユール111−1乃
至111−5に完全に記憶されることになる。以
下に示す理由で、これからはそのときすでにソー
テイングモジユールにある任意の可能な値より大
きい、シンボル”L”で示される大きい値を持つ
項目でソーテイングモジユールの連鎖を一杯にす
る動作を開始することが重要である。大きい値の
項目(この例では20で良い)でを入れるには、ソ
ートしたいと思う項目の各かたまりの終わりに所
望の大きい値を持つ項目を付加するか、あるいは
スイツチ125の位置を変換して、補助レジスタ
130に記憶されている大きい値の各バツチの項
目が連鎖に完全に入つた後でソーテイングモジユ
ールの連鎖に対して与えられるようにするのが良
い。
At the end of 10 clock cycles, register 10
1 will be empty and its contents will be completely stored in sorting modules 111-1 to 111-5, each of which stores two items. For the reasons given below, we will now fill the chain of the sorting module with items with large values, denoted by the symbol "L", that are greater than any possible value already in the sorting module at that time. It is important to start. To include an item with a large value (20 is fine in this example), add the item with the desired large value to the end of each group of items you want to sort, or change the position of switch 125. , the items of each batch of large values stored in the auxiliary register 130 are preferably provided to the chain of sorting modules after they have completely entered the chain.

第2図を参照して同じ例を続ければ、11番目の
クロツクパルス(t=11)の後で、値“L”を持
つ第1の項目がソーテイングモジユール111−
1に入れられる。14個のクロツクパルスが生じた
とき、第2図では項目が所望のソートされた、順
序になつていることがわかる。しかし、この項目
は、残りのモジユールを通して処理する、必要が
ある。このN項目までの他のかたまりをソートす
るときに、N個のモジユールが必要あからであ
る。20個のクロツクパルスが生じた後で、項目が
モジユール111−10を出力準備ができたこと
になる。説明の目的で、第3図に次の10サイクル
の間に項目の内容がソーテイングモジユールがレ
ジスタ121に出力される様子を示しており、従
つて、30個のクロツスパルスの後にはレジスタ1
21には所望の順序で、すなわち一番小さい値を
持つ項目が最初に出る順序で、ソートされた項目
がはいることになる。このとき、ソーテイングモ
ジユール111−1乃至111−10の20個の記
憶位置は値“L”を持つ項目で埋められ、これら
の項目は次のバツチをソートする準備として値
“S”を持つ項目に置換しても良い。
Continuing the same example with reference to FIG.
It can be placed in 1. When 14 clock pulses occur, it can be seen in FIG. 2 that the items are in the desired sorted order. However, this item needs to be processed through the remaining modules. This is because N modules are required when sorting other groups up to N items. After 20 clock pulses have occurred, the item is ready to output module 111-10. For illustrative purposes, Figure 3 shows how the contents of the sorting module are output to register 121 during the next 10 cycles, so that after 30 cross pulses
21 contains the sorted items in the desired order, that is, in the order in which the item with the smallest value appears first. At this time, the 20 storage locations of the sorting modules 111-1 to 111-10 are filled with items with the value "L", and these items are filled with the value "S" in preparation for sorting the next batch. It may be replaced with an item.

従来技術のバブルソート装置で初期の“S”お
よび最後の“L”ヘツダおよびトレイラを与える
目的は、ソーテイングモジユールの直列の連鎖に
与えられる隣り合つたかたまりの項目を分離し、
ひとつのかたまりからの項目が前あるいは後のか
たまりの項目と混合するものを防止するためであ
る。例えば、値“L”を持つた第1の項目がその
代わりにすべての先の項目の値より大きくない値
を持つとすれば、これは10番目のクロツクパルス
と30番目のクロツクパルスの間でソーテイングモ
ジユール中の先の項目のどれかの前に出てしま
い、誤りを生ずる。同様に、もし値“S”を持つ
初期項目がすべての前の項目の値より小さくない
値を持てば、最小値を持つ項、目が先のかたまり
の項目のどれかにおき代わり、この場合にもソー
タの出力シーケンスは不適切なものとなる。レジ
スタ101中に元々記憶されているバツチがそれ
ぞれ4項目、6項目を持つた別々のバツチと関連
しておりその分離のために特別のヘツダ(“S”
の値)あるいは。トレイラ(“L”のち)が存在
しないと考えれば、バツチの間の干渉の現像をさ
らに説明することができる。これらの10項目(8
−0−1−9及び7−5−3−6−4−8)がソ
ートされたあとの所望の結果は0−1−8−9と
3−4−5−6−7−8である異なるバツチの項
目の間の区別は失われているから、実際に生ずる
第1のグループは0−1−3−4であり、第2の
グループは5−6−7−8−8−9となる。
The purpose of providing initial "S" and final "L" headers and trailers in prior art bubble sorting devices is to separate adjacent cluster items provided in a serial chain of sorting modules;
This is to prevent items from one cluster from being mixed with items from previous or subsequent clusters. For example, if the first item with the value "L" instead has a value not greater than the value of all previous items, this will cause the sorting between the 10th clock pulse and the 30th clock pulse. It appears before any of the previous items in the module, causing an error. Similarly, if the initial item with the value "S" has a value that is not less than the value of all previous items, it will be replaced by the item with the smallest value, whichever item is first in the cluster, and in this case The output sequence of the sorter will also be inappropriate. The batches originally stored in register 101 are associated with separate batches with 4 and 6 items, respectively, and a special header (“S”) is used to separate them.
value) or. The development of interference between batches can be further explained if we consider that the trailer (after "L") is not present. These 10 items (8
-0-1-9 and 7-5-3-6-4-8) are sorted, the desired result is 0-1-8-9 and 3-4-5-6-7-8 Since the distinction between items in different batches is lost, the first group that actually occurs is 0-1-3-4, and the second group is 5-6-7-8-8-9. Become.

n項目の各バツチについてヘツダおよびトレイ
ラとして特別の項目を設けると、“S”の値を持
つ項目で初期化したり、“L”の値を持つ項目で
値を追い出すパージする動作は各々2nクロツク
サイクルの期間で直列に行わなければならないの
で、ソーテイングに要する時間を2nから4nクロ
ツクサイクルに2倍にしてしまう。先の“L”の
値を持つ2n個の値をSの値を持つ次の2n個のグ
ループに変化する動作は、場合によつては同時に
1クロツクサイクルで実行でき、さもなければ、
さらに2nの期間が必要になる。従来のハードウ
エアによるバブルソータの実現では、上述した初
期化とパージ動作によつて生ずる処理速度の損失
は、相対的にさらに重大である。詳しく述べれ
ば、ソートされるべき項目のバツチ大きければソ
ートモジユールの連鎖はその最大のものを扱うよ
うに充分に大きくしなければならず、バツチの最
大の大きさをNとすれば、Nモジユールが設けら
れる。もし短いバツチがあつても、ソーテイング
モジユールを全部初期化し、2N個のSおよびL
のヘツダ/トレイラ項目で初期化とパージを行わ
なければならない。この場合には、初期化/パー
ミングには実際のソーテイングに要するよりも長
い時間を必要とする。
If special items are provided as headers and trailers for each batch of n items, initializing with an item with a value of “S” and purging to remove a value with an item with a value of “L” will each take 2n clocks. Since it must be done serially over the period of a cycle, the time required for sorting doubles from 2n to 4n clock cycles. The operation of changing the previous 2n values with the value of "L" to the next 2n groups with the value of S can be performed in one clock cycle, possibly simultaneously, or else:
An additional 2n period is required. In conventional hardware bubble sorter implementations, the processing speed losses caused by the initialization and purging operations described above are relatively more significant. Specifically, if the batch of items to be sorted is large, the chain of sort modules must be large enough to handle the largest batch, and if the maximum batch size is N, then the number of N modules is provided. Even if there is a short batch, initialize all sorting modules and use 2N S and L
Initialization and purging must be done in the header/trailer items. In this case, initialization/palming requires longer time than actual sorting.

本発明に従えば、ソートされるべき項目の各バ
ツチの値の間に一義的な値を持つスペーサ項目を
挿入し、各ソーテイングモジユールをスペーサの
存在を検知できるようにすることによつ、上述し
た初期化とパージプロセスによつて生ずる困難を
防止すつこができる。スペーサは第4図乃至第6
図ではグラフ的に“*”印で示されている。モジ
ユールによつてスペーサが検出されると、そのモ
ジユールは次の2クロツクパルスの間モジユール
はソートされた項目が与えられたと同一の順序で
出力されるようになつている。この構成によつ
て、各バツチからの項目が前のバツチあるいは後
のバツチに浸入してゆかないように保障すること
ができる。図の例では;第1図乃至第3図の例に
使用されると同一の値を有する10項目が4項目
(8−0−1−9)を持つ第1のバツチと6項目
(7−5−3−6−4−8)を持つ第2のバツチ
から成るもと仮定する。しかし、バツチは第4図
の“*”によつてシンボル的に示される一義的な
値を持つ余分のスペーサ項目あるいは一義的キー
によつて分離されている。この例では、ソーテイ
ングモジユール111−1乃至111−10は初
期にはひとつあるいはそれ以上の前のバツチから
の値Pを含んでおり、最も最近のモジユール11
1−1への入力はスペーサ項目で、これが前の項
目のバツチを今処理されるよとしている値8−0
−1−9を持つバツチと区切つており、そのバツ
チはレジスタ位置101−1乃至101−4に記
憶されているものである。
According to the invention, by inserting a spacer item with a unique value between the values of each batch of items to be sorted, each sorting module is enabled to detect the presence of the spacer. , the difficulties caused by the initialization and purging processes described above can be avoided. The spacers are shown in Figures 4 to 6.
In the figure, it is graphically indicated with a "*" mark. When a spacer is detected by a module, the module is configured to output the sorted items in the same order as they were presented during the next two clock pulses. This arrangement ensures that items from each batch do not leak into previous or subsequent batches. In the illustrated example; the 10 items with the same values as used in the examples of Figures 1-3 are the first batch with 4 items (8-0-1-9) and the 6 items (7- 5-3-6-4-8). However, the batches are separated by extra spacer items or unique keys with unique values, indicated symbolically by "*" in FIG. In this example, sorting modules 111-1 through 111-10 initially contain values P from one or more previous batches, and the most recent module 111-10 contains values P from one or more previous batches.
The input to 1-1 is a spacer item, which gives the batch of previous items the value 8-0 that is now being processed.
-1-9, which are stored in register locations 101-1 to 101-4.

第1のクロツクパルスの発生後(+=1)、ソ
ーテイングモジユール111−1の記憶位置のひ
とつ(下半分)に先に記憶されていた項目は次の
モジユール111−2に移動され、記憶位置10
1−1に記憶されていた値(8)を持つ初期項目がそ
れに置き換えられる。アステリクス“*”で示さ
れるスペーサ項目はモジユール111−1に入る
べき最終項目であるから、このような動作が生ず
るのである。スペーサ項目が検出さたときにはモ
ジユール111−1はその項目を保持し、他の記
憶された項目を次のモジユールに通過させるよう
に動作する。これと同じ理由で、第2のクロツク
パルスの後で(t=2)、スペーサ項目はモジユ
ール111−1は入つた最も新しい内容ではない
ので、モジユール111−1はこれをモジユール
111−2に移動する。第4図に示すように、4
クロツクパルスの後で、最初のバツチのすべての
項目はソーテイングモジユール111−1と11
1−2に入ることになる。次のクロツクパルスが
生じたとき、第1のバツチの後に続き、これを次
のバツチと分離するスペーサ項目がモジユール1
11−1に入る。
After the occurrence of the first clock pulse (+=1), the item previously stored in one of the storage locations (lower half) of sorting module 111-1 is moved to the next module 111-2 and the item stored in the storage location 10
The initial item with the value (8) stored in 1-1 is replaced by it. This operation occurs because the spacer item indicated by the asterisk "*" is the last item to be included in module 111-1. When a spacer item is detected, module 111-1 operates to hold that item and pass other stored items to the next module. For this same reason, after the second clock pulse (t=2), the spacer item is not the most recent content entered by module 111-1, so module 111-1 moves it to module 111-2. . As shown in Figure 4, 4
After the clock pulse, all items in the first batch are sorted by sorting modules 111-1 and 11.
It will come in at 1-2. When the next clock pulse occurs, a spacer item following the first batch and separating it from the next batch is placed in module 1.
Enter 11-1.

次にスペーサ項目が存在する条件のソーテイン
グモジユールの動作を第6番目のクロツクパルス
の前と後におけるモジユールの状態を比較するこ
とによつて説明する。モジユール111−3のス
ペーサ項目はすでに2クロツクサイクルの間その
場所にあるら、ソーテイングモジユール111−
3内のスペーサ項目はこの期間の間に次のモジユ
ールに移動することになる。これに対して、ソー
テイングモジユール111−1のスペーサ項目は
直前のサイクルで入つたばかりであり、従つて最
も新しく入つた項目であるから、そのスペーサ項
目は移動しない。要約すれば、本発明のソーテイ
ングモジユールは各クロツクサイクルで二つのソ
ートされる項目を比較し、項目の値の間の関係に
従つて一方の項目を次のモジユールに与える。通
常は項目の値を数値的に、アルフアベツト的にあ
るいは他の所望の関係に従つて比較する。しか
し、一義的な値を持つスペーサ項目が検出された
ときには、これは特別の扱いを受け、モジユール
は別の動作を実行する。このときには次のモジユ
ールに転送される項目の選択はその項目がそのモ
ジユールに与えられた順序に従うことになる。一
番古い項目はその値とは関係なく独立して次のモ
ジユールに与えられ、一方最も新しく与えられた
項目は各モジユールで1クロツク時間の間保持さ
れる。
Next, the operation of the sorting module in the presence of a spacer item will be explained by comparing the states of the module before and after the sixth clock pulse. If the spacer item in module 111-3 has already been in place for two clock cycles, sorting module 111-
Spacer items within 3 will move to the next module during this period. On the other hand, since the spacer item of sorting module 111-1 has just entered in the previous cycle and is therefore the newest entry, that spacer item is not moved. In summary, the sorting module of the present invention compares two sorted items on each clock cycle and presents one item to the next module according to the relationship between the values of the items. Typically, the values of the items are compared numerically, alphabetically, or according to some other desired relationship. However, when a spacer item with a unique value is detected, it is treated specially and the module performs another action. In this case, the selection of items to be transferred to the next module will follow the order in which the items are given to that module. The oldest item is independently applied to the next module without regard to its value, while the most recently applied item is held for one clock time in each module.

第5図の説明を継続すれば、12番目のクロツク
パルスが生じた後で、第2のバツチの6個の項目
と、このバツチをさらに次のバツチと区別するス
ペーサ項目が完全にソーテイングモジユールの連
鎖の中に入ることになる。このバツチの後でさら
に他の項目を入れてもよいが、この例の目的で
は、これらの項目は単にシンボル“A”で示され
ている。
Continuing with Figure 5, after the twelfth clock pulse occurs, the six items of the second batch and the spacer items that distinguish this batch from the next batch are completely removed from the sorting module. will be included in the chain. Additional items may be included after this batch, but for the purposes of this example, these items are simply designated by the symbol "A."

ソーテイング装置の動作はさらにあと数サイク
ルの間継続し、20番目のサイクルの後で(第5図
参照)、第1のバツチの初期項目をモジユール1
10−10から出力する準備ができることにな
る。出力項目は蓄積レジスタに入れてもよく、他
の利用装置に与えてもよい。しかし、説明の目的
では、第6図は項目がレジスタ121に入れられ
てシフトされる様子が図示されている。図に見ら
れるように、30クロツクパルスの後で、両方の項
目のバツチは適切にソートされ、第1図乃至第3
図に示した例で典型的に示された従来技術の装置
で必要であつたような小さい(S)あるいは大き
い(L)キーを持つ特別の項目で初期化したり、バツ
イを追い出したりするのに必要な無駄時間を必要
としないことがわかる。
Operation of the sorting device continues for several more cycles, and after the 20th cycle (see Figure 5), the initial items of the first batch are sorted into module 1.
It will be ready to output from 10-10. Output items may be placed in storage registers or provided to other utilization devices. However, for illustrative purposes, FIG. 6 depicts items being shifted into register 121. As can be seen in the figure, after 30 clock pulses, both batches of items are properly sorted and
To initialize with special items or to eliminate bugs with a small (S) or large (L) key, as was necessary in the prior art devices typically shown in the example shown in the figure. It turns out there is no need for wasted time.

本発明の原理に従うレコードソーテイングモジ
ユールの一実施例のブロツク図を第7図に示す。
基本的には、各々のレコードソーテイングモジユ
ールは上述した方法で各レコードに関連したキー
をソーテイングするソーテイング回路と、各レコ
ードのデータを対応するキーと同一の順序に再配
置するためのスレーブ回路750とから成る。ソ
ーテイング回路700は各レコードに関連したキ
ーを受信し、上述した方法でキーを比較し、その
相対値とキーの入力の順序に従つて一方のキーを
選択して出力することによつて、ソーテイングを
実行する。スレーブ回路750は対応するキーを
持つレコードのデータを受信し、ソーテイング回
路で対応するキーが選択されたときに、一方のレ
コードのデータを選択して出力する。
A block diagram of one embodiment of a record sorting module according to the principles of the present invention is shown in FIG.
Basically, each record sorting module includes a sorting circuit that sorts the keys associated with each record in the manner described above, and a slave circuit that rearranges the data of each record in the same order as the corresponding keys. It consists of 750. The sorting circuit 700 receives the keys associated with each record, compares the keys in the manner described above, and performs sorting by selecting and outputting one key according to its relative value and the order of input of the keys. Execute. The slave circuit 750 receives the data of the record having the corresponding key, and when the corresponding key is selected in the sorting circuit, selects and outputs the data of one record.

キーソーテイングを実行するために、レコード
に関連したキーは線740上に入力され、図示し
ていないクロツク源から発生されたクロツクパル
スφが次に生じたときに、二つのキーレジスタ7
01あるいは702の一方あるいは他方に入れら
れる。キーを受信するレジスタの特定の一方には
これらのレジスタに記憶されたキーの内のいずれ
か連鎖中の次のモジユールのソーテイング回路に
与えるために選択されたかによつて決定される。
この選択は通常はレジスタ701および702に
記憶されたキーの値を比較することによつて行わ
れる。これらの値は以下の説明では簡単のため、
それぞれ“A”および“B”と名付られる。しか
し記憶されたキーの一方がスペーサ項目として認
識される一義的な値を持つているときには、その
値は無視され、キーはそれがレジスタ701と7
02に入れられたと同一の時間的順序に従つて出
力に出される。キーの値にもとずく選択は両方の
レジスタ701,702から入力(すなわちAお
よびB)を受信し、例えば低い方から高い方への
数字の順序で項目をソートすることが必要なとき
にはABであれば線707に高レベルの出力を
生ずるように動作する比較器703によつて行わ
れる。もし逆の数値的順序を望むときには、比較
器703はAとBのときに高いレベルの出力を生
ずるように容易に変更することができる。
To perform key sorting, the keys associated with a record are entered on line 740 and the next occurrence of a clock pulse φ generated from a clock source, not shown, causes the two key registers 7
01 or 702 or the other. The particular one of the registers that receives a key is determined by which of the keys stored in these registers is selected for presentation to the sorting circuit of the next module in the chain.
This selection is typically made by comparing the values of keys stored in registers 701 and 702. These values are for simplicity in the explanation below.
They are named "A" and "B" respectively. However, if one of the stored keys has a unique value that is recognized as a spacer item, that value is ignored and the key is stored in registers 701 and 701.
02 are placed on the output according to the same chronological order as entered. Selection based on the value of a key receives inputs (i.e. A and B) from both registers 701, 702, and AB when it is desired to sort the items in numerical order from lowest to highest, for example. This is done by comparator 703 which operates to produce a high level output on line 707, if any. If the reverse numerical order is desired, comparator 703 can be easily modified to produce a high level output for A and B.

レジスタ701に記憶されたキー(A)がレジスタ
702中のキー(B)より小であれば比較器703か
らの高レベルの出力がANDゲート711とORゲ
ート712を通過し、レジスタ701の付勢入力
721に与えられ、現在記憶されているキー(A)を
線731に出力されるようにし、一方新しいキー
(入力線740上)をレジスタに入れる。インバ
ータ716を用いてORゲート712の高レベル
出力を反転することによつてABのときにはレ
ジスタ702の入力722は付勢されないように
する。キーAはマルチプレクサスイツチ705を
経由してソーテイング回路700の出力710の
結合されており、これはまたORゲート712か
ら位置制御入力を受信する。第7図に図示するよ
うに、スイツチ705はORゲート712の出力
が高レベルであるときに、値Aを出力710に結
合する。この代わりにレジスタ701のキーがレ
ジスタ702のキーより大であるとき(A>B)、
ANDゲート711とORゲート712の力力は低
レベルであり、インバータ716がレジスタ70
2を付勢して(線722経由)、それに記憶され
たキーをスイツチ705に与えて、次のキーを線
740から受理すようにする。キーBは切り替え
られたスイツチ705を経由して出力710に結
合される。
If the key (A) stored in register 701 is smaller than the key (B) in register 702, a high level output from comparator 703 passes through AND gate 711 and OR gate 712, and register 701 is activated. The currently stored key (A) applied to input 721 causes it to be output on line 731, while the new key (on input line 740) is placed in the register. By inverting the high level output of OR gate 712 using inverter 716, input 722 of register 702 is not activated during AB. Key A is coupled to output 710 of sorting circuit 700 via multiplexer switch 705, which also receives a position control input from OR gate 712. As shown in FIG. 7, switch 705 couples value A to output 710 when the output of OR gate 712 is high. Alternatively, when the key of register 701 is greater than the key of register 702 (A>B),
The forces of AND gate 711 and OR gate 712 are at a low level, and inverter 716
2 is energized (via line 722) to provide the key stored on it to switch 705 so that it will accept the next key on line 740. Key B is coupled to output 710 via toggled switch 705.

第7図のソーテイング回路はまたスペーサ項目
検出器704を含み、これは両方のレジスタ70
1および702から入力を受信していずれかの記
憶位置に存在する一義的なスペーサ項目の存在を
監視する。検出されると、検出器の出力は高レベ
ルとなり、インバータ714によつてANDゲー
ト711を消勢し、ANDゲート713を付勢し
てフリツプフロツプ706の反転出力()から
誘導された信号をORゲート712に通過させ
る。フリツプフロツプ706はORゲート712
の出力をそのデータ(D)入力に受信し、次のクロツ
クパルスφがそのクロツク入力に与えられるまで
その値を記憶する1ビツトのメモリーとして動作
する。例えば、もしスペーサ項目がレジスタ70
1の一番最近の入力であれば、その入力を許した
ORゲート712の高レベル出力によつて、フリ
ツプフロツプ706の出力を低レベルとし、こ
れが次のクロツクパルスが生じたときにANDゲ
ート713とORゲートと712の力を低レベル
にする。この結果として、マルチプレクサ705
に与えられる次の項目は値の比較とは関係なく、
レジスタ702から来ることになる。スペーサ項
目はレジスタ701に留つているから、検出器7
04の出力は高レベルのままで、ANDゲート7
13を次のサイクルの開始で付勢された状態に保
つ。しかし、ORゲート712の低レベル出力は
次のクロツクパルスφでフリツプフロツプ出力
を高レベルにする。ANDゲート713とORゲー
ト712のこの結果得られる高レベル出力はスペ
ーサキーをレジスタ701から出力し、所望の2
サイクルの動作を完了する。要約すれば、正常の
動作では、ソーテイング回路700は次のモジユ
ールに与えられるキーをキーの相対値を関数とし
て選択する。しかし、スペーサ項目の検出の後で
は、ソーテイングモジユールのキーはそれが与え
られた順序で読み出される。
The sorting circuit of FIG. 7 also includes a spacer item detector 704, which is connected to both registers 70.
1 and 702 to monitor the presence of a unique spacer item in either storage location. When detected, the output of the detector goes high, disabling AND gate 711 via inverter 714 and energizing AND gate 713 to OR gate the signal derived from the inverted output () of flip-flop 706. Pass to 712. Flip-flop 706 is OR gate 712
It operates as a 1-bit memory that receives the output of the clock at its data (D) input and stores that value until the next clock pulse φ is applied to its clock input. For example, if the spacer item is in register 70
If it is the most recent input of 1, the input is allowed.
The high output of OR gate 712 causes the output of flip-flop 706 to go low, which causes AND gate 713 and OR gate 712 to go low when the next clock pulse occurs. As a result of this, multiplexer 705
The next item given to is independent of value comparison,
It will come from register 702. Since the spacer item remains in register 701, detector 7
The output of 04 remains at high level, and AND gate 7
13 remains energized at the beginning of the next cycle. However, the low output of OR gate 712 causes the flip-flop output to go high on the next clock pulse φ. The resulting high level outputs of AND gate 713 and OR gate 712 output the spacer key from register 701 and the desired two
Complete the operation of the cycle. In summary, in normal operation, sorting circuit 700 selects the key to be applied to the next module as a function of the relative value of the key. However, after the detection of the spacer item, the keys of the sorting module are read in the order in which they are given.

第4図−第6図のレコードソーテイングモジユ
ール111−1乃至111−10の各々は各レコ
ードのデータをそのレコードに関連した対応する
キーと同一の順序に並らべる第7図の回路750
のようなスレーブ回路を含んでいる。この目的の
ために、回路750は各々がデータ入力760に
受信されたレコードのデータをソートすることが
できるデータレジスタ751および752を含ん
でいる。ORゲート712の出力はレジスタ70
1を直接付勢し、またインバータ716を経由し
てレジスタ702を付勢するが、これはまた付勢
入力を直接レジスタ751に、またインバータ7
56を経由してレジスタ752に与える。これら
のレジスタをソーテイング回路700のレジスタ
に従属させることによつて、次のフロツクパルス
φが生じたときにデータは適切なレジスタに入れ
られる。スレーブ回路750はまたマルチプレク
サ755と同様のマルチプレクサスイツチ755
を含み、これはまたORゲート712に応動して
レジスタ751あるいは752の内の選択された
ものの出力をデータ出力770に結合するように
する。
Each of the record sorting modules 111-1 through 111-10 of FIGS. 4-6 includes the circuitry of FIG. 7 that arranges the data of each record in the same order as the corresponding keys associated with that record. 750
Contains slave circuits such as To this end, circuit 750 includes data registers 751 and 752, each capable of sorting the data of records received at data input 760. The output of the OR gate 712 is the register 70
1 directly and also energizes resistor 702 via inverter 716, which also energizes the energize input directly to register 751 and also to inverter 702.
56 to register 752. By subordinating these registers to the registers of sorting circuit 700, data is placed into the appropriate register when the next flock pulse φ occurs. Slave circuit 750 also includes a multiplexer switch 755 similar to multiplexer 755.
, which is also responsive to OR gate 712 to couple the output of the selected one of registers 751 or 752 to data output 770 .

ソートされるべき項目の性質に従つて、本発明
のソーテイングモジユールは当業者によつて種々
に表形することができる。通常は項目は多ビツト
のワードで、符号ビツトはレジスタ701および
702に与えられ、比較器703は値を数値的に
比較して符号ビツトを識別する。しかし場合によ
つては絶対値だけでソーテイングを行うことが望
ましいこともある。項目はまたアルフアベツト的
にソートされるワードでもよく、あるいは英数字
のシンボルを他の予め定められた関係に従つてソ
ートしてもよい。スペーサ項目はこの目的のため
の一義的な(通常は多ビツト)のワードであり、
検出器704は各々の入力をスペーサ項目の予め
記憶されらものと比較するように構成された論理
回路である。レコードがソートされるときには、
レジスタ751と752は、それぞが含むデータ
の量にもよるが、レジスタ701と702より大
きいレジスタである。
Depending on the nature of the items to be sorted, the sorting module of the invention can be configured in various ways by those skilled in the art. Typically, the items are multi-bit words, with the sign bit provided in registers 701 and 702, and comparator 703 numerically comparing the values to identify the sign bit. However, in some cases, it may be desirable to perform sorting using only absolute values. The items may also be words sorted alphabetically, or alphanumeric symbols sorted according to other predetermined relationships. A spacer item is a unique (usually multi-bit) word for this purpose,
Detector 704 is a logic circuit configured to compare each input to a pre-stored set of spacer items. When records are sorted,
Registers 751 and 752 are larger registers than registers 701 and 702, depending on the amount of data each contains.

本発明の原理に従つて構成されたレコードソー
テイングモジユールの他の実施例を第8図に示
す。上述した構成と同様に、ソーテイング回路8
00とスレーブ回路850はそれぞれレコードの
バツチのキーと対応するデータをソートするため
に設けられている。ソーテイング回路800は第
1および第2のキー記憶レジスタ801および8
02を含むが、入力線840に与えられた各々の
キーは各クロツクパルスφにおいて常に第1のレ
ジスタ801に入れられる。レジスタ801と8
02に記憶されたキーは比較器803で比較さ
れ、低位から高位への数値によるソーテイングが
望ましいと仮定して、レジスタ801の値(A)がレ
ジスタ802中の値(B)を超えたときに高レベルの
出力を生ずるようになつている。高位から低位へ
のソーテイングの場合には、ABであるときに
比較器803の出力が高レベルになる。
Another embodiment of a record sorting module constructed in accordance with the principles of the present invention is shown in FIG. Similar to the configuration described above, the sorting circuit 8
00 and slave circuit 850 are provided for sorting the keys and corresponding data of batches of records, respectively. Sorting circuit 800 includes first and second key storage registers 801 and 8
02, but each key applied to input line 840 is always entered into first register 801 on each clock pulse φ. Registers 801 and 8
The keys stored in 02 are compared in a comparator 803, and assuming that numerical sorting from low to high is desired, when the value (A) in register 801 exceeds the value in register 802 (B), It is designed to produce a high level of output. In the case of sorting from high to low, the output of comparator 803 goes high when AB.

比較器803の出力が高レベルであれば、OR
ゲート806の高レベルの出力によつて、マルチ
プレクサ805はレジスタ802中のキーを出力
線810に与える。ANDゲート807が付勢さ
れて、クロツクパルスφをレジスタ802に与
え、それに記憶されたキーは実際に出力されて、
レジスタ801に記憶されたキーに置き換えられ
る。これに対して、比較器803の出力が低レベ
ルであり、スペーサ項目が存在しなばORゲート
806の出力も低レベルとなる。この場合には、
スイツチ805はレジスタ801に記憶されたキ
ー(A)を直接マルチプレクサ805に結合するよう
に切り替えられる。このときANDゲート807
は消勢されており、従つてレジスタ802中のキ
ーは乱されない。要約すれば、ソーテイング回路
800はレジスタ801に記憶された各キーの値
をレジスタ802に記憶された先のキー入力の値
と比較する。もし特定の予め低められた関係が満
足されていると、(例えば、最近の入力が前の入
力より小)、新たに受信されたキーがソーテイン
グ回路の出力810に与えられる。もしこの関係
が満足されなければ(例えば最近の入力がより大
であれば)レジスタ802中の先に受信されたキ
ーが出力810に接続され、最近の入力に置換さ
れる。もしスペーサ項目が検出されると、検出切
804aと804bからの高レベルの出力が、
ORゲート806を経由して結合されて、マルチ
プレクサ805が第8図に示した位置のままであ
ることが保証される。この条件はレジスタ802
に長い時間記憶されていた方のキーが出力され、
スペーサ項目に関連したキーがレジスタ802に
転送され、クロツクパルスφが次に生じたときに
出力される。スペーサキーが検出されたときに
は、このようにしてキーの順序が保たれることに
なる。
If the output of comparator 803 is high level, OR
The high output of gate 806 causes multiplexer 805 to provide the key in register 802 to output line 810. AND gate 807 is activated to provide a clock pulse φ to register 802 so that the key stored therein is actually output and
It is replaced by the key stored in register 801. On the other hand, if the output of comparator 803 is low and no spacer item is present, the output of OR gate 806 will also be low. In this case,
Switch 805 is switched to couple the key (A) stored in register 801 directly to multiplexer 805 . At this time, AND gate 807
is deactivated, so the keys in register 802 are not disturbed. In summary, sorting circuit 800 compares the value of each key stored in register 801 with the value of the previous key input stored in register 802. If a certain pre-lowered relationship is satisfied (eg, the most recent input is less than the previous input), then the newly received key is provided to the output 810 of the sorting circuit. If this relationship is not satisfied (eg, if the recent input is greater), the previously received key in register 802 is connected to output 810 and replaced by the recent input. If a spacer item is detected, the high level outputs from detection switches 804a and 804b are
The combination via OR gate 806 ensures that multiplexer 805 remains in the position shown in FIG. This condition is in register 802
The key that has been stored for a long time will be output.
The key associated with the spacer item is transferred to register 802 and output on the next occurrence of clock pulse φ. This will preserve the order of the keys when a spacer key is detected.

第7図の構成と同様に、第8図の構成ではその
項目に関連したキーに従つて各項目のデータある
いはレコードをソーテイングするスレーブ回路8
50を含んでいる。回路850は第1および第2
のデータレジスタ851および852を含み、レ
ジスタ851は線860からの入力ワードを受信
し、ABでスイツチ855が下の位置にあると
きに、マルチプレクサ855を経由してその内容
を出力線870に与える。A>Bであるか、ある
いはスペーサキーが検出されたときには、ORゲ
ート806の出力は高レベルトなり、マルチプレ
クサ855は第8図に示したように上の位置とな
り、レジスタ852に保持された情報が出力さ
れ、ANDゲート857を経由してクロツク与え
られたときに、レジスタ851中のデータで置き
換えられる。
Similar to the configuration in FIG. 7, in the configuration in FIG. 8, a slave circuit 8 sorts the data or records of each item according to the key associated with that item.
Contains 50. Circuit 850 connects the first and second
register 851 receives an input word from line 860 and provides its contents via multiplexer 855 to output line 870 when switch 855 is in the down position at AB. When A>B or a spacer key is detected, the output of OR gate 806 goes high, multiplexer 855 is in the upper position as shown in FIG. 8, and the information held in register 852 is It is output and replaced by the data in register 851 when clocked through AND gate 857.

第8図に示したソーテイングモジユール回路の
一部を変更して第9図に示すようにスペーサ検出
器804b代わりに、検出器804aの出力を受
信して、次のクロツクパルスφで高レベル出力を
生ずる遅延回路901にかえることもできる。こ
の簡単化はスペーサキーがレジスタ801で検出
されたとき(検出器804aによつて)には、こ
れは1サイクル後には(検出器804bによつ
て)いつめもレジスタ802によつて検出される
ことを認識したものである。
A part of the sorting module circuit shown in FIG. 8 is changed to receive the output of the detector 804a instead of the spacer detector 804b and output a high level at the next clock pulse φ, as shown in FIG. It is also possible to replace it with a delay circuit 901 that generates . This simplification means that when a spacer key is detected in register 801 (by detector 804a), it will also be detected by register 802 one cycle later (by detector 804b). It is recognized that

上述したソーテイング装置を手法の多くの利用
法がある。その一例は時分割多重化されたデータ
信号の列を再配置することができるタイムスロツ
ト入替装置のようなものである。伝統的なタイム
スロツト入替装置(イクスチエンジヤ)が第10
図に示されている。一連のタイムスロツト100
0のデータがバツフア1001と1002を含む
ダブルバツフアのメモリーに順次に格納される。
バツフアの一方が格納されているときに、他方か
らのデータが処理される。同様に、バツフア10
05と1006はダブルバツフアとして構成され
ており、バツフア1006が読み出されていると
きにバツフア1005には書込みが行われてお
り、またこの逆も行われている。メモリー100
4は所望の入替装置の処理ユニツト1003に指
示を与えるように構成されている。例えば、タイ
ムスロツトEにあるデータはタイムスロツトBを
宛先とするかもしれず、以下同様である。処理ユ
ニツト1003はバツフア1001あるいは10
02のタイムスロツトEのデータを取り出し、こ
れをタイムスロツトBに対応するバツフア100
5あるいは1006中の位置に入れる。バツフア
1001あるいは1002に記憶されたすべての
タイムスロツトからのデータが、バツフア100
5あるいは1006に転送されたあとで、所望の
タイムスロツトシーケンス1007が得られる。
しかし、この従来技術の入替手法ではかなりの量
のハードウエアと比較的長い処理時間を必要とす
る。各タイムスロツト入替はメモリーからの一回
の読み出しと、バツフアらの一回の読み出しと、
バツフアへの一回の書込みを必要とする。従つ
て、Nタイムスツトには2Nサイクルの処理が必
要である。この結果として、3Nサイクルごとに
入出力バツフアを入れ替えられるだけである。こ
のようなタイムスロツト入替装置の全体の遅れは
9Nサイクルになる。新しいタイムスロツトは3
サイクルごとにしかタイムスロツト入替装置に与
えることができない。
There are many uses of the sorting device technique described above. An example is a time slot shuffling device that can rearrange a sequence of time division multiplexed data signals. The traditional time slot changer is the 10th
As shown in the figure. Series of 100 time slots
Data of 0 is sequentially stored in a double buffer memory including buffers 1001 and 1002.
While one of the buffers is being stored, data from the other is being processed. Similarly, Batsuhua 10
05 and 1006 are configured as a double buffer, so that when buffer 1006 is being read, buffer 1005 is being written to, and vice versa. memory 100
4 is configured to give instructions to the processing unit 1003 of the desired replacement device. For example, data in timeslot E may be destined for timeslot B, and so on. The processing unit 1003 has a buffer 1001 or 10
02 time slot E is extracted and transferred to the buffer 100 corresponding to time slot B.
Place it in position 5 or 1006. The data from all time slots stored in buffer 1001 or 1002 is transferred to buffer 100.
5 or 1006, the desired time slot sequence 1007 is obtained.
However, this prior art replacement technique requires a significant amount of hardware and a relatively long processing time. Each time slot exchange involves one read from the memory, one read from the buffer,
Requires one-time writing to buffer. Therefore, 2N cycles of processing are required for N timestamps. As a result, the input/output buffers can only be replaced every 3N cycles. The overall delay of such a time slot switching device is
It becomes 9N cycle. The new time slot is 3
It can only be applied to the time slot switching device on a cycle-by-cycle basis.

本発明のソーテイング手法を使用して、処理時
間を大幅に改善するタイムスロツト入替装置は、
ブロツク図の形式で第11図に示されている。入
替装置は第7図あるいは第8図に示すようなレコ
ードソーテイングモジユールを使用して実現され
る。この構成において、ソートされるべきデータ
は時分割多重信号の各フレームの中のタイムスロ
ツトの内容である。関連するキーは所望のタイム
スロツト位置を示すためにキー割当回路1104
によつてデータに追加される。一例として、第1
1図に示すような5タイムスロツトA−Eを持つ
フレーム中のデータ線1101に与えられて、受
信された順序(D−B−E−C−A)でレジスタ
1102に入れられる。タイムスロツト順序を
(C−A−D−E−B)のような所望の順序にな
らび変えるためには、キー割当回路1104が各
タイムスロツトにキーを割当てる。第11図の例
では、スロツトCのデータを第4から第1の位置
に利動したいので、これは値“1”が割当られ
る。同様に、スロツトBのデータは第2位置か
ら、第5位置に移動されるから、これにはキー値
“5”が割当られる。一義的なスペーサキー11
03は5レコードから成るフレームの頭に発生器
1105によつて付けられる。
A time slot replacement device that uses the sorting method of the present invention to significantly improve processing time is:
It is shown in FIG. 11 in block diagram form. The replacement device is realized using a record sorting module as shown in FIG. 7 or 8. In this configuration, the data to be sorted is the contents of the time slots within each frame of the time division multiplexed signal. The associated keys are assigned to key assignment circuit 1104 to indicate the desired time slot position.
added to the data by As an example, the first
The signals are applied to data line 1101 in a frame having five time slots A-E as shown in FIG. To change the time slot order to a desired order, such as (C-A-D-E-B), key assignment circuit 1104 assigns a key to each time slot. In the example of FIG. 11, it is desired to transfer the data of slot C from the fourth position to the first position, so the value "1" is assigned to it. Similarly, since the data in slot B is moved from the second position to the fifth position, it is assigned a key value of "5". Unique spacer key 11
03 is added by the generator 1105 to the beginning of a frame consisting of five records.

タイムスロツト入替はレコード(キーとデー
タ)をN個のレコードソーテイングモジユール1
120−1,1120−2,…1120−Nに与
えることによつて実行される。これは先に述べた
ように、ソータ回路とスレーブ回路を含み、第7
図あるいは第8図に図示したように構成される。
キーはそれがあるモジユールのソーテイング回路
から、次のモジユールのソーテイング回路に転送
されるときにソートされ、一方データはスレーブ
回路によつて対応する順序でソートされる。Nの
値はレコードの最大の予期されるバツチの大きさ
に選択される。(この場合は5スロツト)。モジユ
ールの連鎖の最後のソーテイング回路からの出力
は所望の順序にソートされた元のデータである。
このデータはレジスタ1110に入れてもよい
し、またもし必要なら、キーを捨てながら次の処
理回路に与えてもよい。
Time slot replacement is performed using N record sorting module 1 (key and data).
120-1, 1120-2, . . . 1120-N. As mentioned earlier, this includes a sorter circuit and a slave circuit, and the seventh
It is constructed as shown in FIG.
The keys are sorted as they are transferred from one module's sorting circuit to the next module's sorting circuit, while the data is sorted in a corresponding order by the slave circuit. The value of N is chosen to be the largest expected batch size of records. (5 slots in this case). The output from the last sorting circuit in the chain of modules is the original data sorted in the desired order.
This data may be placed in register 1110, or may be provided to the next processing circuit, discarding the key, if desired.

上述したタイムスロツト入替装置は3Nの遅れ
時間があり、これは現在のフレームからの情報を
出力する前に3個の前のフレームまでの情報を処
理する必要があり、各サイクルでは新しいタイム
スロツトを処理しなければならないことを示す。
これによつて第10図に示した伝統的なタイムス
ロツト入替装置に比べて遅れ時間は1/3に縮まり、
スループツトは3倍に向上する。
The time slot shuffling device described above has a delay time of 3N, which means that the information from up to three previous frames must be processed before outputting the information from the current frame, and in each cycle a new time slot is inserted. Indicates that it must be processed.
As a result, the delay time is reduced to 1/3 compared to the traditional time slot switching device shown in Figure 10.
Throughput is improved three times.

第7図および第8図に示したタイプのレコード
ソーテイングモジユールの連鎖を用いて、空きタ
イムスロツトを利用する目的で時分割多重信号の
各フレームのタイムスロツトを再配置することも
できる。
A chain of record sorting modules of the type shown in FIGS. 7 and 8 may also be used to rearrange the time slots of each frame of a time division multiplexed signal in order to utilize free time slots.

フレーム1201と1211はくれぐれ第1お
よび第2の時分割多重信号のタイムスロツトを含
んでいる。キー1乃至Mは各フレームのM個のス
ロツトに割当られており、フレームは再配置の後
で併合されるようになつている。詳しく述べれ
ば、一方の信号のタイムスロツトを満たすキーは
他方の信号の空きタイムスロツトに割り当てられ
たキーから一義的に選択されている。各フレーム
の残りのタイムスロツトに関連するキーは、必用
に応じて元のM個のキーの残りの未使用のものか
ら必用に応じて割当てられる。各フレームに割当
られたキーは次に別々にソートされ、これに対応
して関連するタイムスロツトデータも再配置され
る。このようにして発生された新しいフレームは
併合されて、空きタイムスロツトが少ない最終の
シーケンスを生ずる。この手法は両方のフレーム
の塞つたスロツトの全数が各フレームのスロツト
の数より小さい限り、適用することができる。第
12図に示した例では、フレーム1201中の空
きスロツト1,3および4にはキー1,3および
5が割当てられ、フレーム1211の塞つたスロ
ツト1,2,3にはフレーム1201の空きスロ
ツトに割当られたのと同一の集合(1、3、5)
から一義的に選択されたキーが割当られる。残り
のキーはこの例に示したシーケンス1202,1
212中のフレーム1201および1211中の
残りのスロツトが割当られる。
Frames 1201 and 1211 contain the time slots of first and second time division multiplexed signals. Keys 1 through M are assigned to M slots in each frame such that the frames are merged after relocation. Specifically, the keys that fill the time slots of one signal are uniquely selected from the keys assigned to empty time slots of the other signal. The keys associated with the remaining time slots of each frame are allocated as needed from the remaining unused keys of the original M keys. The keys assigned to each frame are then sorted separately and the associated timeslot data is also rearranged accordingly. The new frames thus generated are merged to produce a final sequence with fewer free time slots. This approach can be applied as long as the total number of occupied slots in both frames is less than the number of slots in each frame. In the example shown in FIG. 12, keys 1, 3, and 5 are assigned to empty slots 1, 3, and 4 in frame 1201, and keys 1, 3, and 5 are assigned to empty slots 1, 2, and 3 in frame 1211. the same set (1, 3, 5) assigned to
A uniquely selected key is assigned. The remaining keys are the sequence 1202,1 shown in this example.
The remaining slots in frames 1201 and 1211 in 212 are allocated.

このようにして形成されたレコード(キー、プ
ラス、タイムスロツトデータ)はレコードソーテ
イングモジユール1203および1213によつ
て別々に再配列され、これによつてそれぞれ新し
いフレーム1204,1214が生ずる。これら
のフレームマルチプレクサ1220あるいは他の
同様な組合せ回路によつて併合することができ、
組合わされた出力フレーム1230を形成でき、
これは有利なことに過剰空きタイムスロツトを含
まないものになる。
The records thus formed (key, plus, time slot data) are rearranged separately by record sorting modules 1203 and 1213, resulting in new frames 1204 and 1214, respectively. These frames can be merged by a frame multiplexer 1220 or other similar combinational circuit,
A combined output frame 1230 can be formed;
This advantageously excludes excess free time slots.

本発明のソーテイングモジユールの構成は
VLSI技術を使つて容易に実現でき、設計のモジ
ユール性によつて種々の能率の良さを利用でき
る。
The configuration of the sorting module of the present invention is
It can be easily implemented using VLSI technology, and the modularity of the design allows for various efficiencies.

本発明の種々の適応化と変更は本発明の精神と
範囲を逸脱することなく当業者には可能である。
従つて、本発明は添付の請求の範囲によつてのみ
限定されるものである。例えば、ソーテイングモ
ジユールは単一のクロツク源からクロツクパルス
を受信するものとして図示されているが、タイミ
ングに関してモジユールを直列に相互接続し、こ
れによつて各モジユールが前のモジユールからタ
イミングパルスを受信するようにしても良い。さ
らにソーテイングと並べ換えは極めて似ているか
ら、ソーテイング用の連鎖はキーの値のラベルを
変えることによつて並べ換えを実行するのにも使
用できる。
Various adaptations and modifications of the invention can be made by those skilled in the art without departing from the spirit and scope of the invention.
Accordingly, the invention is limited only by the scope of the appended claims. For example, although the sorting module is illustrated as receiving clock pulses from a single clock source, it is possible to interconnect the modules in series with respect to timing, such that each module receives timing pulses from the previous module. You may also do this. Furthermore, since sorting and permuting are very similar, sorting chains can also be used to perform permutations by changing the labels of key values.

JP50184483A 1982-05-06 1983-04-14 sorting device Granted JPS59500786A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US375669 1982-05-06
PCT/US1983/000542 WO1983004116A1 (en) 1982-05-06 1983-04-14 Sorting technique

Publications (2)

Publication Number Publication Date
JPS59500786A JPS59500786A (en) 1984-05-04
JPH0441376B2 true JPH0441376B2 (en) 1992-07-08

Family

ID=22175006

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50184483A Granted JPS59500786A (en) 1982-05-06 1983-04-14 sorting device

Country Status (1)

Country Link
JP (1) JPS59500786A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5866152A (en) * 1981-10-16 1983-04-20 Canon Inc Character processing device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5866152A (en) * 1981-10-16 1983-04-20 Canon Inc Character processing device

Also Published As

Publication number Publication date
JPS59500786A (en) 1984-05-04

Similar Documents

Publication Publication Date Title
US4499555A (en) Sorting technique
US5394031A (en) Apparatus and method to improve programming speed of field programmable gate arrays
KR940000293B1 (en) Simplified synchronous mesh processor
US4553203A (en) Easily schedulable horizontal computer
EP0151653B1 (en) Series-parallel/parallel-series device for variable bit length configuration
US7111224B1 (en) FPGA configuration memory with built-in error correction mechanism
US3636519A (en) Information processing apparatus
EP0242599A2 (en) Method and apparatus for simulating memory arrays in a logic simulation machine
WO1995004402A1 (en) Microprocessor-based fpga
US4064556A (en) Packed loop memory with data manipulation capabilities
US4110837A (en) Apparatus for the sorting of records overlapped with loading and unloading of records into a storage apparatus
JPH011042A (en) Hardware simulator and its simulation method
US3505653A (en) Sorting array
EP0182358B1 (en) Scan control apparatus and method for a data processing apparatus
GB1571961A (en) Data handling apparatus for storing and permuting equal length records
WO1993025975A2 (en) A programmable logic device
EP0416513B1 (en) Fifo memory device
US4831623A (en) Swap scan testing of digital logic
EP0204130B1 (en) Apparatus for reducing test data storage requirements for high speed vlsi circuit testing
EP0520425B1 (en) Semiconductor memory device
US3806886A (en) Apparatus for storing several messages received simultaneously
US4811201A (en) Interconnect circuit
US6839783B2 (en) Programmable state machine interface
JPS6142031A (en) Sorting processor
RU84615U1 (en) ASSOCIATIVE MEMORIAL MATRIX