JPH0895753A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH0895753A
JPH0895753A JP22971294A JP22971294A JPH0895753A JP H0895753 A JPH0895753 A JP H0895753A JP 22971294 A JP22971294 A JP 22971294A JP 22971294 A JP22971294 A JP 22971294A JP H0895753 A JPH0895753 A JP H0895753A
Authority
JP
Japan
Prior art keywords
data
information
input
register
sorting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP22971294A
Other languages
English (en)
Other versions
JP3287705B2 (ja
Inventor
Tetsuomi Tanaka
哲臣 田中
Shugoro Ueno
修五郎 上野
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP22971294A priority Critical patent/JP3287705B2/ja
Publication of JPH0895753A publication Critical patent/JPH0895753A/ja
Application granted granted Critical
Publication of JP3287705B2 publication Critical patent/JP3287705B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 【目的】 ソーティングを高速に行う為の効率的な回路
の実現。 【構成】 ソート結果を格納する為のメモリに接続する
比較器を複数設ける、或はメモリを分割し、複数の比較
器を直列や並列に接続するようにし、より効果的なパイ
プライン動作を実現し、1入力データの比較交換処理の
サイクルがデータの入力間隔を上回るようになる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、入力された複数のデー
タを昇順または降順で順位付けする情報処理装置に関す
るものである。
【0002】
【従来の技術】従来、入力された複数のデータの中から
あらかじめ決められた上位N個の候補数のデータを昇順
または降順で順位付けして取り出すソーティングに関す
る情報処理装置には図6に示されるようなものがあっ
た。
【0003】最初に各部を簡単に説明する。601はソ
ーティング結果(候補)の各候補の数値と識別コード
(タグ)を保持するFIFOメモリである。ここで出力
する候補数を100として数値とタグのデータ幅を各1
6bitとするとFIFOメモリ601は32bit×
100wordの容量を持つ。602〜604はレジス
タであり32bitのデータ幅を持つ。605は数値デ
ータの大小を比較するマクニチュードコンパレータ。6
06、607は32bit幅データセレクタ。最後に6
08はこれら全体の制御を行なう制御部である。
【0004】動作の説明であるが制御部608からの初
期化信号により初期データがセレクタ606で選択され
レジスタ603にセットされ、FIFOメモリ601の
全ワードに書き込まれる。ここで昇順(小さい値から大
きい値順に並べる)で符号無しデータをソートする場合
の初期データの数値の値はOxFFFFである。FIF
Oメモリ601の中のデータは先頭から順番に1〜10
0位に相当する。
【0005】次にFIFOメモリ601の先頭データが
レジスタ602にセットされソートにかけられる1番目
のデータがレジスタ604にセットされる。次のサイク
ルでレジスタ602とレジスタ604の数値部分がコン
パレータ605によって大小判別が行なわれその判別結
果がセレクタ606、607に入力され、レジスタ60
3にはセレクタ606によりレジスタ602、604の
小さい方のデータが入力され、レジスタ604にはセレ
クタ607により大きい方のデータが入力される。同時
にレジスタ602にはFIFOメモリ601の2番目の
データが入力される。次のサイクルではレジスタ603
にセットされたデータがFIFOメモリ601に書き込
みが行われ、前のサイクルと同様にレジスタ602と6
04の比較交換操作が行なわれると同時にレジスタ60
2にはFIFOメモリ601の次のデータが入力され
る。この操作をFIFOメモリ601の最終データ(1
00位のデータ)まで繰り返すことによりFIFOメモ
リ内のデータに新しく入力されたデータを加えて値の大
きさ順に並び変えたデータがFIFOメモリ内に残る。
以下、同様な操作を各入力データに対して行なうことで
最終的には全入力データの上位100個のデータがFI
FOメモリ内に得られる。
【0006】処理時間は図6では1入力データあたり1
02サイクルかかる。ただしFIFOメモリ601がサ
イクルタイムに対して十分高速である場合はレジスタ6
02、603は削除可能であるため100サイクルとな
る。また最初の2サイクルの間FIFOメモリ601に
対して書き込みを行なわずN番目の入力データに対して
100位のデータとの比較を行なうサイクルでセレクタ
607のロード信号によりレジスタ604に次のサイク
ルでN+1番目のデータがセットされるように制御する
と各入力データは最後の入力データは102サイクルか
かるが他の入力データの処理は100サイクルで済む。
しかしこの場合、データ入力とこの処理サイクルを同期
させる必要がある。
【0007】
【発明が解決しようとしている課題】従来の方法では、
ソーティングの1入力データに対する処理単位時間がソ
ーティングの出力候補数にほぼ比例するため、ソーティ
ングの出力候補数に比べてデータ入力の間隔が小さい場
合には、ソーティングに要する時間がデータ入力時間よ
り短く、処理時間が増加するという欠点があった。
【0008】従来の方法では、ソーティング回路を1個
の回路モジュールとした場合、出力候補数を増やすこと
が難しかった。
【0009】従来の方法では、ソーティングの処理サイ
クル時間はメモリのアクセス速度と比較交換動作の速度
の遅い方により決定される。ここでメモリのアクセス速
度を1として比較交換動作の速度を10とすると逐次入
力されるデータ毎の処理時間はメモリを基準とすると1
00であり、比較交換を基準とすると1000となる。
従来の方法では数値データを2進データとしているので
このようなことは考えられないが、数値が浮動小数点デ
ータのような場合は数値比較時間がメモリのアクセス速
度よりも遅くなることが十分考えられる。
【0010】従来の方法では、FIFOメモリに変えて
通常のRANを用いた場合、FIFOメモリのように読
み出しと書き込みを同時にできない為処理サイクルがほ
ぼ2倍になってしまうという欠点があった。
【0011】従来の方法では、複数のソーティングをす
るために複数回ソーティング回路を動作させなければな
らなかった。同時にソーティングを実行する為には複数
個このソーティング回路を用意しなければならないとい
う欠点があった。
【0012】従来の方法ではソーティングの比較条件を
変更する為には比較器そのものの動作を操作しなければ
ならず、比較器部分の回路が複雑になってしまうという
欠点があった。
【0013】
【課題を解決する為の手段】上記課題を解決する為に、
本発明は、ソーティング結果として出力する数の情報を
記憶できる記憶手段と、逐次入力される情報と前記記憶
手段に記憶されている情報とを比較交換する比較交換器
を複数個備え、前記記憶手段と前記複数の比較交換器を
パイプライン接続する情報処理装置を提供する。
【0014】上記課題を解決する為に、本発明は、ソー
ティング結果として出力する数の情報を記憶できる記憶
手段と、前記記憶手段を分割した複数の領域に接続さ
れ、逐次入力される情報と接続された領域に記憶されて
いる情報とを比較交換する複数の比較交換器を備え、前
記複数の比較交換器をパイプライン動作させることを特
徴とする情報処理装置を提供する。
【0015】上記課題を解決する為に、本発明は、ソー
ティング結果として出力する数の情報を記憶できる記憶
手段と該記憶手段に記憶されている情報と逐次入力され
る情報とを比較交換する比較交換器とを備えるソーティ
ング手段を複数個多段接続し、複数の出力を可能とする
ことを特徴とする情報処理装置を提供する。
【0016】上記課題を解決する為に、本発明は、好ま
しくは前記ソーティング手段を直列接続する。
【0017】上記課題を解決する為に、本発明は、好ま
しくは前記ソーティング手段を並列接続する。
【0018】上記課題を解決する為に、本発明は、ソー
ティング結果として出力する数の情報を記憶でき、複数
の領域に小分割された記憶手段と、逐次入力される情報
と前記記憶手段の各領域に記憶されている情報とを並列
に比較交換する並列比較交換器とを備えることを特徴と
する情報処理装置を提供する。
【0019】上記課題を解決する為に、本発明は、ソー
ティング結果として出力する数の情報を記憶できる記憶
手段と、逐次入力される情報と前記記憶手段に記憶され
ている情報とを比較交換する比較交換器と、前記比較交
換器が前記記憶手段に記憶されている情報から交換する
情報を検出した後、前記比較処理を中断するよう制御す
る制御手段とを有することを特徴とする情報処理装置を
提供する。
【0020】上記課題を解決する為に、本発明は、ソー
ティング結果として出力する数の情報を記憶できる複数
の記憶手段と、逐次入力される情報と前記記憶手段に記
憶されている情報とを比較交換する比較交換器を備え、
前記比較交換器に接続する前記記憶手段を切り替えてソ
ーティング処理を行うことを特徴とする情報処理装置を
提供する。
【0021】上記課題を解決する為に、本発明は、ソー
ティング結果として出力する数の情報を記憶できる記憶
手段と、該記憶手段に記憶されている情報と逐次入力さ
れる情報とを比較交換する比較交換器を備えるソーティ
ング手段を備え、前記ソーティング手段を時間分割して
使用するよう制御することを特徴とする情報処理装置を
提供する。
【0022】上記課題を解決する為に、本発明は、ソー
ティング結果として出力する数の情報を記憶できる記憶
手段と、逐次入力される情報と前記記憶手段に記憶され
ている情報とを比較交換する比較交換器と、前記ソーテ
ィングの条件に応じて前記入力される情報を変換するこ
とを特徴とする情報処理装置を提供する。
【0023】
【実施例】
[実施例1]図1は本実施例を最もよく表した図であ
る。
【0024】最初に各部を簡単に説明する。101はソ
ーティング結果(候補)の各候補の数値と識別コード
(タグ)を保持するFIFOメモリである。ここで出力
する候補数を100として数値とタグのデータ幅を各1
6bitとするとFIFOメモリ101は32bit×
100wordの容量を持つ。102〜106はレジス
タであり32bitのデータ幅を持つ。107、108
は数値データの大小を比較するマクニチュードコンパレ
ータ。109〜112は32bit幅データセレクタ。
最後に113はこれらの制御を行なう制御部である。
【0025】ここでレジスタ103、104とコンパレ
ータ107とセレクタ109、110で一段目の比較交
換器が構成され、次にレジスタ105、106とコンパ
レータ108とセレクタ111、112で二段目の比較
交換器が構成される。
【0026】動作説明をすると制御部113からの初期
化信号により初期データがセレクタ111で選択されて
レジスタ105にセットされ、FIFOメモリ101の
全ワードに書き込まれる。ここで昇順(小さい値から大
きい値順に並べる)で符号無しデータをソートする場合
の初期データの数値の値はOxFFFFである。FIF
Oメモリ101の中のデータは先頭から順番に1〜10
0位に相当する。次にFIFOメモリ101の先頭デー
タがレジスタ102に入力されソートにかけられる1番
目と2番目の入力データがそれぞれセレクタ110によ
りレジスタ104、セレクタ112によりレジスタ10
6に入力される。次のサイクルでレジスタ102とレジ
スタ104の数値部分がコンパレータ107によって大
小判別が行なわれ、その判定結果がセレクタ109、1
10に入力されそれによりレジスタ103には小さい方
のデータ、レジスタ104には大きい方のデータが入力
される。同時にレジスタ102にはFIFOメモリ10
1の2番目のデータが入力される。このサイクルではレ
ジスタ106のデータが変化しないようにコンパレータ
108はイネーブル信号によってセレクタ112を制御
する。このサイクルでは初段の比較交換器で第1位デー
タとレジスタ104の比較交換を行なうのである。次の
サイクルでは初段の比較交換器において先のサイクルで
行った様にレジスタ102の第2位のデータとレジスタ
104のデータとをコンパレータ107で大小判別し、
セレクタ109、110でレジスタ103、104にデ
ータを入力すると同時に、レジスタ103とレジスタ1
06の数値部分がコンパレータ108によって大小判別
が行なわれ、その判定結果がセレクタ111、113に
入力されそれによりレジスタ105には小さい方のデー
タ、レジスタ106には大きい方のデータが入力され
る。同時にレジスタ102にはFIFOメモリ101の
3番目のデータが入力される。このサイクルでは初段の
比較交換器で第2位データとレジスタ104の比較交換
を行ない、2段目の比較交換器で第1位データとレジス
タ106の比較交換を行なうのである。次のサイクルで
はレジスタ105のデータをFIFOメモリ101に書
き込み、初段の比較交換器で第3位データとレジスタ1
04の比較交換を行ない、2段目の比較交換器で第2位
データとレジスタ106の比較交換を行なう。同時にレ
ジスタ102にはFIFOメモリ101の4番目のデー
タが入力される。この操作をFIFOメモリ101内の
全データに対して行なうのである。次にレジスタ10
4、106に3番目と4番目の入力データが入力され処
理される。さらにこのあと5番目6番目、7番目8番目
とデータの入力がされ、以下最終データまで処理が繰り
返される。入力データが奇数個の場合はコンパレータ1
08のイネーブル信号によって2段目の比較交換器が動
作しないようにする。
【0027】最後に初段のFIFOメモリ101を読み
出すことによりソートされた1〜100位のデータが得
られる。
【0028】処理時間は2入力データあたり103サイ
クルかかるがFIFOメモリ101のアクセス時間が十
分高速な場合はレジスタ102と105は削除可能で1
01サイクルとなる。従来例では1入力データあたり1
00サイクルであるため約1/2の処理時間となる。ま
た従来例では入力データの時間間隔(またはサンプリン
グ時間)が100サイクル以上ないとソーティングに要
する時間が入力データの時間間隔に隠れないため全体の
処理時間が増加する。入力データの時間間隔がデータの
サンプリングのように引き伸ばすことができない場合に
データ入力する部分とソーティング部の間にバッファを
設けなければならないためコストの増加を引き起こす。
本実施例では比較交換器の段数を増やすことによって容
易にこれに対応することができる。
【0029】本実施例ではFIFOメモリを使用した例
を示したが、このFIFOメモリはシフトレジスタ、R
AM等で構成しても実現可能である。
【0030】シフトレジスタを使用すると入力データの
入力時間間隔がソーティング処理サイクルより大きい時
にはシフトレジスタにシフト動作させないためデータホ
ールド機能か入力クロックを制御する必要がでてくるが
FIFOメモリ等と比べて高速であると考えられるため
処理サイクルをぎりぎりまで短縮できる。
【0031】2ポートRAM(2方向のポートから同時
にアクセス可能なRAM)を使用した場合、一方のポー
トを読み出し専用にして他方を書き込み専用にすること
により、FIFOメモリと同様な機能を実現できる。3
ポートRAMを使用した場合、第1のポートを読み出し
専用、第2のポートを書き込み専用にして第3のポート
を結果読み出しポートにできる。通常のRAMを使用し
た場合、RAMを1個とすると読み出しサイクルと書き
込みサイクルの2サイクルを基本サイクルとするためほ
ぼ倍の処理時間がかかる。このようなランダムアクセス
メモリ(RAM、2ポートRAM、3ポートRAM…)
を用いた場合には必ずしも毎回データを一周させる必要
がないため必要数のデータがたまるまで各入力データに
対する処理時間を短縮できる。説明すると最初の入力デ
ータは無条件に先頭に書き込み、2番目の入力データは
先頭データと比較して新たな1位と2位のデータを書き
込み、3番目の入力データは前の1位と2位のデータと
比較して新たな1位〜3位のデータを書き込むというよ
うにメモリ内の全データと比較する必要がない。これを
行なうと実施例ではメモリ内の数値部分をソーティング
前に初期化しているがその必要がなくなる。
【0032】また、本実施例では最初にソーティングを
昇順で行なうか降順で行なうかによってメモリ内の数値
部分のデータの初期化を最大値または最小値で行なって
いる。そのため、入力データとしてこの初期化時と同じ
値のデータが入力された場合には、初期化時のデータが
メモリに残らないようにすべく、入力データの方をメモ
リ内の数値より優先させて選択するように制御してい
る。すなわち先に入力されたデータよりも後から入力さ
れたデータを優先しているのである。
【0033】この、本実施例の処理とは逆に先に入力さ
れたデータを優先したい場合、以下の方法がある。 (1)先に示したようにメモリとしてランダムアクセス
メモリを使用してメモリ内の有効データのみ比較交換を
行なう。 (2)入力データの識別コードに欠番を設けて初期化時
に識別コード部分をその欠番の値で初期化する。メモリ
から読み出されたコード部分がその値の場合、比較結果
にかかわらず入力データを採用する。この場合メモリ内
の数値部分の初期化は必要ないがコンパレータの数は増
えるという欠点がある。 (3)回路上のデータに初期化ビットを付加する。実施
例に沿って説明すると数値、識別コード以外に1bit
設けて33bit幅のデータとする。初期化時に1にこ
のビットをセットした場合、このメモリから読み出され
たこのビットが1の時コンパレータの比較結果にかかわ
らず入力データを採用する。勿論、入力データを採用す
る時にこのビットを0にする。この場合メモリ容量やレ
ジスタのビット幅が増えるという欠点がある。 (4)何番目の入力データとメモリ内の何番目のデータ
の比較処理しているかによってメモリ内からのデータが
有効データか無効データがおのずと決まるので、無効デ
ータと入力データが比較される場合には制御部から各セ
レクタを直接制御してデータ交換をするようにする。制
御部が複雑になるという短所もあるがメモリの初期化が
いらないという長所もある。
【0034】以上のような方法を用いると数値比較結果
が同じ場合、先に入力されたデータを優先するか後に入
力されたデータを優先するかは自由に構成できる。
【0035】また、本実施例では2入力データを同時に
比較交換器にロードしたが以下のように制御すればより
処理サイクル数を減らすことができる。
【0036】図1を用いて動作を説明すると、まず先に
説明した実施例と同じくFIFOメモリ101の初期化
をする。次にFIFOメモリ101の先頭データがレジ
スタ102に入力され1番目の入力データがセレクタ1
10によりレジスタ104に入力される。次のサイクル
でレジスタ102とレジスタ104の数値部分がコンパ
レータ107によって大小判別が行なわれ、その判定結
果がセレクタ109、110に入力されレジスタ103
にはセレクタ109により小さい方のデータ、レジスタ
104にはセレクタ110により大きい方のデータ、レ
ジスタ102にはFIFOメモリ101の2番目のデー
タが入力される。同時にレジスタ106にはセレクタ1
12により第2に入力データが入力される。すなわち奇
数番の入力データと偶数番の入力データはサイクルがず
れてレジスタにロードされるのである。次のサイクルで
はコンパレータ108に入力されたレジスタ103と1
06の数値部分の大小判別されそれによりレジスタ10
5にはセレクタ111により小さい方のデータが、レジ
スタ106にはセレクタ112により大きい方のデータ
が入力される。同時にレジスタ102とレジスタ104
の数値部分がコンパレータ107によって大小判別が行
なわれ、その判定結果がセレクタ109、110に入力
されレジスタ103にはセレクタ109により小さい方
のデータ、レジスタ104にはセレクタ110により大
きい方のデータ、レジスタ102にはFIFOメモリ1
01の3番目のデータが入力される。次のサイクルから
同じ動作を繰り返すのであるがこのサイクルで初めてレ
ジスタ105のデータをFIFOメモリ101に書き込
むようにする。以下これを続けてレジスタ102がFI
FOメモリ101の100番目のデータ(第100位の
データ)となってコンパレータ107によって比較され
ているサイクルではFIFOメモリ101の出力は1番
目のデータ(第1位のデータ)であるためセレクタ11
0によって3番目の入力データをレジスタ104に入力
する。次のサイクルではセレクタ112によりレジスタ
106に4番目の入力データを入力してやる。
【0037】このように制御するとレジスタ104、1
06の入力間隔は100サイクルであるため見かけ上5
0サイクルとなる。比較交換器の段数を増やしていった
場合もこの時間は変化せず、図1の例だと最大98段
(98入力)まで接続しても各データの入力間隔は10
0サイクルで済む。
【0038】[実施例2]図2は本実施例を最もよく表
わした図である。
【0039】最初に各部を簡単に説明する。201、2
02はソーティング結果(候補)の各候補の数値と識別
コード(タグ)を保持するFIFOメモリである。ここ
で出力する候補数を100として数値とタグのデータ幅
を各16bitとするとFIFOメモリ201と202
はそれぞれ32bit×50wordの容量を持つ。2
03〜208はレジスタであり32bitのデータ幅を
持つ。209、210は数値データの大小を比較するマ
クニチュードコンパレータ。211〜214は32bi
t幅データセレクタ。最後に215はこれらの制御を行
なう制御部である。
【0040】ここでFIFOメモリ201とレジスタ2
03〜205とコンパレータ209とセレクタ211、
212で一段目のソーティング部が構成され、次にFI
FOメモリ202とレジスタ206〜208とコンパレ
ータ210とセレクタ213、214で二段目のソーテ
ィング部が構成される。
【0041】動作の説明であるが制御部215からの初
期化信号により初期データがセレクタ211、213で
選択されてレジスタ204と207にセットされ、FI
FOメモリ201と202の全ワードに書き込まれる。
ここで昇順(小さい値から大きい値順に並べる)で符号
無しデータをソートする場合の初期データの数値の値は
OxFFFFである。FIFOメモリ201の中のデー
タは先頭から順番に1〜50位に相当し、FIFOメモ
リ202の中のデータは先頭から順番に51〜100位
に相当する。次にFIFOメモリ201の先頭データが
レジスタ203にセットされソートにかけられる1番目
の入力データがレジスタ205にセットされる。次のサ
イクルでレジスタ203とレジスタ205の数値部分が
コンパレータ209によって大小判別が行なわれ、その
判定結果がセレクタ211、212に入力されレジスタ
204には小さい方のデータ、レジスタ205には大き
い方のデータ、レジスタ203にはFIFOメモリ20
1の2番目のデータが入力される。次のサイクルでは同
様に2位のデータの比較交換がされレジスタ204に保
持されているデータがFIFOメモリ201に書き込ま
れる。以下これを繰り返して一周するとFIFOメモリ
201の先頭データにはその時点での1位のデータが格
納されレジスタ205には51位のデータが残ってい
る。この間2段目のソーティング部ではFIFOメモリ
202の内容が変化しないようにコンパレータ210の
イネーブル信号によってセレクタ213で必ずレジスタ
206の内容が選択されるようにするか、またはセレク
タ213の初期化信号によってFIFOメモリ202に
書き戻されるデータが初期化時のデータと同じになるよ
うに制御される。次にレジスタ205に2番目の入力デ
ータをロードするときにレジスタ208にはレジスタ2
05の第51位のデータがロードされ、レジスタ203
にはFIFOメモリ201のその時点での第1位のデー
タがロードされ、レジスタ206にはFIFOメモリ2
02のその時点での第51位のデータがロードされる。
ここでFIFOメモリ内のデータを一周させると初段の
ソーティング部では2番目の入力データに対して1から
50位の順序付けが行なわれ2段目のソーティング部で
は1番目の入力データ(すなわち初段の入力データの一
つ前のデータ)に対して51から100位の順序付けが
行なわれることになる。これを最終の入力データまで繰
り返した後、最終データの51から100位までの順序
付けをするためもう一周させる。このとき可能であれば
FIFOメモリ201内の1から50位のデータを初段
のソーティング部に同期して読み出しを行なう。またこ
の間初段のソーティング部ではFIFOメモリ201の
内容が変化しないようにコンパレータ209のイネーブ
ル信号によってセレクタ211で必ずレジスタ203の
内容が選択できるように制御するか、FIFOメモリ2
01の読み出し及び書き込みを禁止する。最後にこのF
IFOメモリの読み出しをすればソーティングされた上
位100個のデータが得られる。
【0042】処理時間は図2では1入力データ当たり1
04サイクルかかるが1〜50位のソートを担当する初
段のソーティング部と51〜100位のソートを担当す
る2段目のソーティング部入力データに対してパイプラ
イン動作するため見かけ上52サイクルですむ。またデ
ータ入力とソーティング処理を同期させると50サイク
ルとなる。説明すると最初の2サイクルはFIFOメモ
リ201、202への書き込みを禁止して各メモリの5
0番目のデータ(50位と100位のデータ)の比較交
換を行なうサイクルで制御部からの信号によりセレクタ
212、214でレジスタ208にはレジスタ205、
レジスタ205には次の新たな入力データを選択してや
ることにより次のサイクルではレジスタ203、206
にはFIFOメモリ201、202の先頭データがセッ
トされるので無駄なサイクルがなく処理を続行できる。
【0043】尚、本実施例においても実施例1と同様
に、FIFOメモリをシフトレジスタ、RAM等で構成
しても実現できる。
【0044】尚、本実施例においても実施例1と同様
に、先に入力されたデータを後から入力されたデータよ
り優先するようにしても良い。
【0045】図7に本実施例の図2の構成において、各
ソーティング部ごとに制御部を設けた例を示す。
【0046】最初に各部を簡単に説明する。101はソ
ーティング結果(候補)の各候補の数値と識別コード
(タグ)を保持するFIFOメモリである。ここで出力
する候補数を100として数値とタグのデータ幅を各1
6bitとするとFIFOメモリ101は32bit×
50wordの容量を持つ。102〜106はレジスタ
であり32bitのデータ幅を持つ。107、108は
数値データの大小を比較するマクニチュードコンパレー
タ。109〜112は32bit幅データセレクタ。1
13はこれらを制御する制御部である。ここでレジスタ
103、104とコンパレータ107とセレクタ10
9、110で1段目の比較交換器が構成され、レジスタ
105、106とコンパレータ108とセレクタ11
1、112で2段目の比較交換器が構成される。そして
101から113で1段のソーティング部を構成する。
701、702はそれぞれこのソーティング部をモジュ
ールとして2段に接続したものである。
【0047】動作説明をすると制御部701−113か
らの初期化信号により初期データがセレクタ701−1
11で選択されてレジスタ701−105にセットさ
れ、FIFOメモリ701−101の全ワードに書き込
まれる。ここで昇順(小さい値から大きい値順に並べ
る)で符号無しデータをソートする場合の初期データの
数値の値はOxFFFFである。FIFOメモリ701
−101の中のデータは先頭から順番に1〜50位に相
当する。初期化処理終了後、制御部701−113から
702−113に知らされ同様にFIFOメモリ702
−101の初期化が行なわれる。FIFOメモリ702
−101の中のデータは先頭から順番に51〜100位
に相当する。次にFIFOメモリ701−101の先頭
データがレジスタ701−102に入力されソートにか
けられる1番目と2番目2の入力データがそれぞれセレ
クタ701−110によりレジスタ701−104、セ
レクタ701−102によりレジスタ701−106に
入力される。次のサイクルでレジスタ701−102と
レジスタ701−104の数値部分がコンパレータ70
1−107によって大小判別が行なわれ、その判定結果
がセレクタ701−109、701−110に入力され
それによりレジスタ701−103には小さい方のデー
タ、レジスタ701−104には大きい方のデータが入
力される。同時にレジスタ701−102にはFIFO
メモリ701−101の2番目のデータが入力される。
このサイクルではレジスタ701−106のデータが変
化しないようにコンパレータ701−108はイネーブ
ル信号によってセレクタ701−112を制御する。こ
のサイクルでは701の初段の比較交換器で第1位デー
タとレジスタ701−104の比較交換を行なうのであ
る。次のサイクルではレジスタ701−103とレジス
タ701−106の数値部分がコンパレータ701−1
08によって大小判別が行なわれ、その判定結果がセレ
クタ701−111、701−113に入力されそれに
よりレジスタ701−105には小さい方のデータ、レ
ジスタ701−105には大きい方のデータが入力され
る。同時にレジスタ701−102にはFIFOメモリ
701−101の3番目のデータが入力される。このサ
イクルでは701の初段の比較交換器で第2位データと
レジスタ701−104の比較交換を行ない、2段目の
比較交換器で第1位データとレジスタ701−106の
比較交換を行なうのである。次のサイクルではレジスタ
701−105のデータをFIFOメモリ701−10
1に書き込み、701の初段の比較交換器で第3位デー
タとレジスタ701−104の比較交換を行ない、2段
目の比較交換器で第2位データとレジスタ701−10
6の比較交換を行なう。同時にレジスタ701−102
にはFIFOメモリ701−101の4番目のデータが
入力される。この操作をFIFOメモリ701−101
内の全データに対して行なうのであるが、終了時に、制
御部701−113に知らされ同様な動作が2段目のソ
ーティング部で開始される。すなわちレジスタ702−
102にはFIFOメモリ702−101の先頭のデー
タ、レジスタ702−104のデータ、レジスタ702
−106にはレジスタ701−106のデータがそれぞ
れ入力されるのである。次にレジスタ701−104、
701−106に3番目と4番目の入力データが入力さ
れ初段のソーティング部が動作を開始する。またこの入
力データに対する初段のソーティング部の処理が終了後
5番目6番目の入力がされ、以下最終データまで繰り返
される。入力データが奇数個の場合はコンパレータ10
8のイネーブル信号によって2段目の比較交換器が動作
しないようにする。
【0048】最後に初段のソーティング部701からは
1〜50位のデ−タが得られ2段目のソーティング部か
らは51〜100位のデータが得られる。
【0049】図2の実施例では制御部を1個で複数のソ
ーティング部を制御したがこの図7の実施例では各ソー
ティング部に独立して制御部を設けて前段のソーティン
グ部から次段のソーティング部へ各動作開始のトリガを
かけることにより処理をするのである。これにより1個
のソーティング部をモジュール化することが可能で必要
に応じて多段接続することにより簡単に出力データ数を
拡張できるのである。もちろん出力しなければならない
データ数が決まっているならば図7でも制御部は1個で
済む。
【0050】[実施例3]図3は本実施例を最もよく表
わした図である。
【0051】最初に各部を簡単に説明する。301、3
02はソーティング結果(候補)の各候補の数値と識別
コード(タグ)を保持するFIFOメモリである。ここ
で出力する候補数を100として数値とタグのデータ幅
を各16bitとするとFIFOメモリ301と302
はそれぞれ32bit×50wordの容量を持つ。3
03〜307はレジスタであり32bitのデータ幅を
持つ。308、309は数値データの大小を比較するマ
クニチュードコンパレータ。310〜312は32bi
t幅データセレクタ。最後に313はこれらの制御を行
なう制御部である。
【0052】ここでレジスタ303〜307とコンパレ
ータ308、309とセレクタ310〜313で2並列
比較交換器が構成される。
【0053】動作の説明であるが制御部313からの初
期化信号により初期データがセレクタ310、311で
選択されてレジスタ305と306にセットされ、FI
FOメモリ301と302の全ワードに書き込まれる。
ここで昇順(小さい値から大きい値順に並べる)で符号
無しデータをソートする場合の初期データの数値の値は
OxFFFFである。FIFOメモリ301の中のデー
タは先頭から順番に1、3、5…99位の奇数番順位に
相当しFIFOメモリ302の中のデータは先頭から順
番に2、4、6…100位の偶数番順位に相当する。次
にFIFOメモリ301、302の先頭データ(第1位
第2位)がそれぞれレジスタ303、304に入力さ
れ、ソートにかけられる1番目のデータがレジスタ30
7に入力される。次のサイクルでレジスタ303とレジ
スタ307の数値部分がコンパレータ308によって大
小判別が行なわれ、同時にレジスタ304とレジスタ3
07の数値部分がコンパレータ309によって大小判別
がおこなわれる。そのコンパレータ308判定結果がセ
レクタ310、311に入力されコンパレータ309の
判定結果がセレクタ311、312に入力される。レジ
スタ305にはコンパレータ309の出力からセレクタ
310によりレジスタ303と307の小さい方のデー
タ入力される。レジスタ306にはセレクタ311によ
りコンパレータ308の出力がレジスタ305にレジス
タ307のデータが入力される条件の場合はレジスタ3
03のデータが入力され、それ以外の場合はコンパレー
タ309の出力からレジスタ304と307の小さい方
のデータが入力される。レジスタ307にはコンパレー
タ309の出力からレジスタ304と307の大きい方
のデータがセレクタ312により入力される。つまり、
レジスタ307と第1位第2位のデータの比較交換を行
なうのである。次のサイクルでレジスタ305〜307
には前述のセレクタ310〜312により入力されたデ
ータがセットされ、レジスタ303、304にはそれぞ
れFIFOメモリ301、302の次のデータ(第3位
と第4位)がセットされ前のサイクルと同様に比較交換
の操作がなされる。次のサイクルではレジスタ305、
306にセットされているその時点での第1位と第2位
のデータがそれぞれFIFOメモリ301、302に書
き込まれ、レジスタ303、304にはそれぞれFIF
Oメモリ301、302の次のデータ(第5位と第6
位)がセットされ前のサイクルと同様に比較交換の操作
がなされる。以下これを繰り返してFIFOメモリのデ
ータが一周するとFIFOメモリ301、302の中に
は入力されたデータに対してその時点での1〜100位
の順位付けがなされていることになる。同様にこの操作
を最終入力データまで繰り返すと全入力データの上位1
00個のデータが順位付けされて並んでいるのでFIF
Oメモリ301の出力とFIFOメモリ302の出力を
交互に読み出すとソーティングなされたデータが得られ
る。
【0054】処理時間は図3の例では1入力データ当た
り52サイクルかかる。
【0055】本実施例では2並列比較交換器を用いたが
FIFOメモリ301と302のデータは同じ位置のデ
ータを比べた場合、(FIFOメモリ301のデータ)
≦(FIFOメモリ302のデータ)の関係が成り立つ
ことを利用しているので3並列、4並列比較交換器への
拡張は同様な回路構成で可能である。
【0056】尚、本実施例においても実施例1と同様
に、FIFOメモリをシフトレジスタ、RAM等で構成
しても良い。
【0057】尚、本実施例においても実施例1と同様
に、先に入力されたデータを後から入力されたデータよ
りも優先するようにしても良い。
【0058】図8に本実施例の図3の構成を2段にする
例を示す。
【0059】最初に各部を簡単に説明する。801、8
02はソーティング結果(候補)の各候補の数値と識別
コード(タグ)を保持するFIFOメモリである。ここ
で出力する候補数を100として数値とタグのデータ幅
を各16bitとするとFIFOメモリ801と802
はそれぞれ32bit×50wordの容量を持つ。8
03〜810はレジスタであり32bitのデータ幅を
持つ。811〜814は数値データの大小を比較するマ
クニチュードコンパレータ。815〜820は32bi
t幅データセレクタ。最後に821はこれらの制御を行
う制御部である。
【0060】ここでレジスタ803〜807とコンパレ
ータ811、812とセレクタ815〜817で初段の
2並列比較交換器が構成され、レジスタ805、80
6、808〜810とコンパレータ813、814とセ
レクタ818〜820で2段目の2並列比較交換器が構
成される。
【0061】動作の説明であるが制御部821からの初
期化信号により初期データがセレクタ818、819で
選択されレジスタ808と809にセットされ、FIF
Oメモリ801と802の全ワードに書き込まれる。こ
こで昇順(小さい値から大きい値順に並べる)で符号無
しデータをソートする場合の初期データの数値の値は0
xFFFFである。FIFOメモリ801の中のデータ
は先頭から順番に1、3、5…99位の奇数番順位に相
当しFIFOメモリ802の中のデータは先頭から順番
に2、4、6…100位の偶数番順位に相当する。次に
FIFOメモリ801、802の先頭データがそれぞれ
レジスタ803、804に入力されソートにかけられる
1番目のデータがレジスタ807に入力される。次のサ
イクルでレジスタ803とレジスタ807の数値部分が
コンパレータ811によって大小判別が行なわれ、同時
にレジスタ804とレジスタ807の数値部分がコンパ
レータ812によって大小判別が行なわれる。そのコン
パレータ811判定結果がセレクタ815、816に入
力されコンパレータ812の判定結果がセレクタ81
6、817に入力される。レジスタ805はコンパレー
タ811の出力からセレクタ815によりレジスタ80
3と807の小さい方のデータが入力される。レジスタ
806にはセレクタ816によりコンパレータ811の
出力がレジスタ805にレジスタ807のデータが入力
される条件の場合はレジスタ803のデータが入力さ
れ、それ以外の場合はコンパレータ812の出力からレ
ジスタ804と807の小さい方のデータが入力され
る。レジスタ807にはコンパレータ812の出力から
レジスタ804と807の大きい方のデータがセレクタ
817に入力される。つまりレジスタ807と第1位第
2位のデータの比較交換が行なわれるのである。同じサ
イクルFIFOメモリ801、802の次のデータ(第
3位、第4位)がそれぞれレジスタ803、804に入
力され、レジスタ810にはセレクタ820により2番
目の入力データが入力される。次のサイクルでレジスタ
805とレジスタ810の数値部分がコンパレータ81
3によって大小判別が行なわれ、同時にレジスタ806
とレジスタ810の数値部分がコンパレータ814によ
って大小判別が行なわれる。そのコンパレータ813判
定結果がセレクタ818、819に入力されコンパレー
タ814の判定結果がセレクタ819、820に入力さ
れる。レジスタ808にはコンパレータ813の出力か
らセレクタ818によりレジスタ805と810の小さ
い方のデータが入力される。レジスタ809にはセレク
タ819によりコンパレータ813の出力がレジスタ8
08にレジスタ810のデータが入力される条件の場合
はレジスタ805のデータが入力され、それ以外の場合
はコンパレータ814の出力からレジスタ806と81
0の小さい方のデータが入力される。レジスタ810に
はコンパレータ814の出力からレジスタ806と81
0の大きい方のデータがセレクタ820に入力される。
つまりレジスタ810と第1位第2位のデータの比較交
換が行なわれるのである。同じサイクルで初段階の並列
比較交換器ではレジスタ807と第3位第4位のデータ
の比較変換が行なわれ、レジスタ803、804にはF
IFOメモリ801、802の次のデータ(第5位第6
位)が入力される。
【0062】次のサイクルでレジスタ808、809の
データ(新しい第1位第2位のデータ)がFIFOメモ
リ801、802に書き込まれ、2段目の並列比較交換
器ではレジスタ810と第3位第4位のデータの比較変
換が行なわれ初段の並列比較交換器ではレジスタ807
と第5位第6位のデータの比較変換が行なわれ、レジス
タ802、803にはFIFOメモリ801、802の
次のデータ(第7位第8位)が入力される。これをFI
FOメモリ801、802の最後のデータまで繰り返さ
れるのであるが、初段の比較交換器でレジスタ807と
第99位第100位のデータの比較変換が行なうタイミ
ングでレジスタ807にはセレクタ817により次の入
力データ(3番目)を入力する。また2段目の比較交換
器でレジスタ810と第99位第100位のデータの比
較変換が行なうタイミングでレジスタ810にはセレク
タ820により次の入力データ(4番目)を入力する。
以下、同じことを最終入力データまで繰り返すとFIF
Oメモリ801、802の中には入力されたデータに対
して上位1〜100位のソーティングされたデータが格
納されている。ただし入力データが奇数個の場合はコン
パレータ813、814のイネーブル信号によって2段
目の並列比較交換器が動作しないようにする。従ってF
IFOメモリ801の出力とFIFOメモリ802の出
力を交互に読み出すとソーティングなされたデータが得
られる。
【0063】図3の実施例では1入力あたり52サイク
ル必要であったがこの図8の例ではデータ入力とソーテ
ィング処理を同期させることにより50サイクルで可能
にしている。
【0064】図9は本実施例の図3の構成を再構成した
ものである。
【0065】最初に各部を簡単に説明する。302はソ
ーティング結果(候補)の各候補の数値と識別コード
(タグ)を保持するFIFOメモリである。ここで出力
する候補数を100として数値とタグのデータ幅を各1
6bitとするとFIFOメモリ302は32bit×
50wordの容量を持つ。304、306、307は
レジスタであり32bitのデータ幅を持つ。309は
数値データの大小を比較するマクニチュードコンパレー
タ。311、312は32bit幅データセレクタ。9
01、902は1段のソーティング部であり302、3
04、306、309、311で構成される。903は
最下位データを保持するレジスタであり307、312
で構成される。最後に313はこれらの制御を行う制御
部である。
【0066】最上位のソーティング部901のコンパレ
ータ入力(CMP_IN)には偽の条件が固定入力され
上位のデータ入力(IN_B)がロードされないように
している。動作は第1の実施例と同じなので説明を省略
するが、図を見ると分かるようにこのソーティング部を
モジュール化すれば必要に応じて複数のソーティング部
を並列接続することにより、簡単にソーティングの出力
データ数を拡張できる。各ソーティング部は同一タイミ
ングで動作するので制御部は1個で制御でき、いくつ接
続してもデータを入力してからソーティング処理して中
のメモリ内にその結果を確定する時間が変わらないとい
う利点を持つ。
【0067】[実施例4]図4は本実施例を最もよく表
わした図である。
【0068】最初に各部を簡単に説明する。401はソ
ーティング結果(候補)の各候補の数値と識別コード
(タグ)を保持するFIFOメモリである。ここで出力
する候補数を100として数値とタグのデータ幅を各1
6bitとするとFIFOメモリ401は32bit×
100wordの容量を持つ。402〜405はレジス
タであり32bitのデータ幅を持つ。406は数値デ
ータの大小を比較するマクニチュードコンパレータ。4
07、408は32bit幅データセレクタ。409は
コンパレータ406の判定結果によりセレクタ407、
408を制御するデータ交換制御部。最後に410はこ
れら全体の制御を行なう制御部である。
【0069】動作の説明であるが制御部410からの初
期化信号により初期データがセレクタ407で選択され
レジスタ404にセットされ、FIFOメモリ401の
全ワードに書き込まれる。ここで昇順(小さい値から大
きい値順に並べる)で符号無しデータをソートする場合
の初期データの数値の値は0xFFFFである。FIF
Oメモリ401の中のデータは先頭から順番に1〜10
0位に相当する。
【0070】次にFIFOメモリ401の先頭データが
レジスタ402にセットされソートにかけられる1番目
のデータがレジスタ405にセットされる。この時次の
サイクルでレジスタ405の内容が変化しないようにデ
ータ交換制御部409はリセット信号により、コンパレ
ータ406はイネブール信号により初期化される。
【0071】次のサイクルでレジスタ402とレジスタ
405の数値部分がコンパレータ406によって大小判
別が行なわれデータ交換制御部409に入力され、レジ
スタ402にはFIFOメモリ401の2番目のデータ
が、レジスタ403にはレジスタ402のデータ(1番
目のデータ)が入力される。
【0072】次のサイクルではデータ交換制御部409
の出力によりレジスタ404はセレクタ407によりレ
ジスタ403、405の小さい方のデータが、レジスタ
405にはセレクタ408により大きい方のデータが入
力される。同時にレジスタ402(2番目のデータ)と
レジスタ405の比較がコンパレータ406により実行
される。ここでデータ交換制御部409の動作であるが
リセット信号を受けるとその出力はデータの非交換を示
す出力(レジスタ403は404へレジスタ405はデ
ータ保持)となって以降はコンパレータ406の出力を
1サイクル遅れて出力し、そのデータの非交換を示す出
力を非交換から交換条件になるまで保持する。交換条件
を検知したサイクル以降は、FIFOメモリ401から
出力されるデータが最終データに到達するまでレジスタ
404にはレジスタ405のデータが入力され、レジス
タ405にはレジスタ403のデータが入力される。つ
まり、FIFOメモリ401内のデータは(N番目のデ
ータ)≦(N+1番目のデータ)の条件が成り立ってい
るため新しい入力データに対して1番目のデータから比
較を行なっていて最初に交換するデータを見付けた後は
コンパレータの比較結果を見るまでもなく最終データま
で交換操作を続けて行けばよいのである。
【0073】処理時間は1入力データに対して103サ
イクルかかる。またデータの入力を連続して行なった場
合はデータ入力の間隔は51サイクルで処理できる。同
様にデータの比較交換の時間がより長い場合、例えば1
0サイクルを要するとするとデータの入力間隔は109
サイクルとなる。ただしコンパレータはパイプラインで
数値比較を行ない、レジスタ402から403のレジス
タ間にこの処理サイクルに合わせてシフトレジスタを入
れるなどの必要がある。このように数値比較の処理時間
への影響をかなり減らすことが可能である。
【0074】尚、本実施例においても実施例1と同様
に、FIFOメモリをシフトしジスタ、RAM等で構成
するようにしても良い。
【0075】尚、本実施例においても実施例1と同様
に、先に入力されたデータを後から入力されたデータよ
り優先するようにしても良い。
【0076】図10に本実施例の図4の構成において、
複数の比較器を用いた例を示す。
【0077】最初に各部を簡単に説明する。1001、
1002はソーティング結果(候補)の各候補の数値と
識別コード(タグ)を保持するFIFOメモリである。
ここで出力する候補数を100として数値とタグのデー
タ幅を各16bitとするとFIFOメモリ1001と
1002はそれぞれ32bit×50wordの容量を
持つ。1003〜1009はレジスタであり32bit
のデータ幅を持つ。1010、1011は数値データの
大小を比較するマクニチュードコンパレータ、1012
〜1014は32bit幅データセレクタ、1015デ
ータ交換制御部である。最後に1016はこれらの制御
を行なう制御部である。
【0078】ここでレジスタ1003、1004、10
09とコンパレータ1010、1011で並列比較器を
構成し、レジスタ1005〜1009、セレクタ101
2〜1014、データ交換制御部1015で並列データ
交換器を構成する。さらにこの並列比較器と並列データ
交換器によりパイプライン構造の並列比較交換器が構成
される。
【0079】動作の説明であるが制御部1016からの
初期化信号により初期データがセレクタ1012、10
13で選択されレジスタ1007と1008にセットさ
れ、FIFOメモリ1001と1002の全ワードに書
き込まれる。ここで昇順(小さい値から大きい値順に並
べる)で符号無しデータをソートする場合の初期データ
の数値の値は0xFFFFである。FIFOメモリ10
01の中のデータは先頭から順番に1、3、5…99位
の奇数番順位に相当しFIFOメモリ1002の中のデ
ータは先頭から順番に2、4、6…100位の偶数番順
位に相当する。次にFIFOメモリ1001、1002
の先頭データ(第1位第2位)がそれぞれレジスタ10
03、1004に入力されソートにかけられる1番目の
データがレジスタ1009に入力される。このサイクル
では同時にコンパレータ1010、1011はイネーブ
ル信号によって数値比較を禁止し、データ交換制御部1
015はリセットを受けて次のサイクルでレジスタ10
09のデータ交換が行なわれないようにする。次のサイ
クルでレジスタ1003とレジスタ1009の数値部分
がコンパレータ1010によって大小判別が行なわれ、
同時にレジスタ1004と1009の数値部分がコンパ
レータ1011によって大小判別が行なわれる。つまり
レジスタ1009と第1位第2位のデータ比較を行なう
のである。このコンパレータ1010、1011の判定
結果がデータ交換制御部1015に入力され、レジスタ
1003のデータはレジスタ1005へレジスタ100
4のデータはレジスタ1006へそれぞれ入力される。
また、レジスタ1003、1004には第3位第4位の
データが入力される。このサイクルではデータ交換制御
部1015は前のサイクルで同期リセットを受けている
のレジスタ1009の内容は変化しない。ここでデータ
交換制御部1015の動作を説明すると、通常コンパレ
ータ1010、1011からの入力をそのまま次のサイ
クルでセレクタ1012〜1014に出力する。すなわ
ち、コンパレータ1010からの入力はセレクタ101
2、1013へコンパレータ1011からの入力はセレ
クタ1013、1014出力する。しかしデータ交換制
御部1015の任意の1出力が真(レジスタ1009の
データを交換する条件)になった場合、次のサイクルか
らは2出力とも真となり再度リセットを受けるまでこれ
を保持する。次のサイクルではそのデータ交換制御部1
015の一方の出力がセレクタ1012、1013に入
力され他方の出力がセレクタ1013、1014に入力
される。レジスタ1007にはデータ交換制御部101
5の一方の出力からセレクタ1013によりレジスタ1
005と1009の小さい方のデータが入力される。レ
ジスタ1007にはセレクタ1014によりデータ交換
制御部1015の一方の出力がレジスタ1007にレジ
スタ1009のデータが入力される条件の場合はりレジ
スタ1005のデータが入力され、それ以外の場合はデ
ータ交換制御部1015の他方の出力がレジスタ100
6と1009の小さい方のデータが入力される。レジス
タ1009にはデータ交換制御部1015の他方の出力
からレジスタ1006と1009の大きい方のデータが
セレクタ817により入力される。つまりレジスタ10
09と第1位第2位のデータの交換が行なわれるのであ
る。同じサイクルでコンパレータ1010、1011に
よってレジスタ1009と第3位第4位の比較が行なわ
れ、FIFOメモリ1001、1002の次のデータ
(第5位、第6位)がそれぞれレジスタ1003、10
04に入力される。次のサイクルではレジスタ100
7、1008の第1位第2位のデータをFIFOメモリ
1001、1002に書き込み、同時に第3位第4位の
データ交換、第5位第6位のデータの比較、FIFOメ
モリから第7位第8位のデータの入力を行なう。これを
FIFOメモリ1001、1002の最終データ(第9
9位第100位)まで繰り返した後、2番目の入力デー
タを入力し同じ操作をする。以下最終データまで繰り返
し、FIFOメモリ1001、1002を交互に読み出
すことによりソートされた100個のデータが得られ
る。
【0080】これを簡単に説明するとメモリ内のデータ
は順序よく並んでいるので1個の入力データを先頭デー
タから比較していってその入力データを挿入する位置を
検出した後はデータの比較をするまでもなく1個づつデ
ータをずらしていくのである。
【0081】以上、説明したように本発明は複数個の比
較器を用いた場合でも適用できる。
【0082】図11に本実施例の図4の構成において各
処理がパイプライン処理できるようにした例を示す。
【0083】最初に各部を簡単に説明する。1101は
ソーティング結果(候補)の各候補の数値と識別コード
(タグ)を保持するFIFOメモリである。ここで出力
する候補数を100として数値とタグのデータ幅を各1
6bitとするとFIFOメモリ1101は32bit
×100wordの容量を持つ。1102〜1106は
レジスタであり32bitのデータ幅を持つ。1107
は数値データの大小を比較するマクニチュードコンパレ
ータであり、1108〜1110は32bit幅データ
セレクタであり、1111はコンパレータ1107の判
定結果によりセレクタ1109、1110制御するデー
タ交換制御部である。最後に1112はこれら全体の制
御を行なう制御部である。
【0084】この実施例では本発明の第1の実施例と比
べると回路的にはレジスタ1104、セレクタ1108
が追加されて、持続が多少変更されている。
【0085】動作の説明であるが制御部1112からの
初期化信号により初期データがセレクタ1110で選択
されレジスタ1106にセットされ、FIFOメモリ1
101の全ワードに書き込まれる。ここで昇順(小さい
値から大きい値順に並べる)で符号無しデータをソート
する場合の初期データの数値の値は0xFFFFであ
る。FIFOメモリ1101の中のデータは先頭から順
番に1〜100位に相当する。
【0086】次にFIFOメモリ1101の先頭データ
(第1位のデータ)がレジスタ1102に入力されソー
トにかけられる1番目のデータがセレクタ1108によ
ってレジスタ1104に入力される。以下のサイクルで
レジスタ1104は次の入力データが来るまでそのデー
タを保持する。次のサイクルでレジスタ1102と11
04の数値部分がコンパレータ1107によって大小判
別が行なわれデータ交換制御部1111に入力される。
同時にリセット信号を受けレジスタ1106にはセレク
タ1110によってレジスタ1104のデータが入力さ
れレジスタ1102にはFIFOメモリ1101の次の
データ(第2位)が入力される。同じくデータ交換制御
部1111もリセット信号を受けて初期化される。ここ
でデータ交換制御部1111の動作を説明するとリセッ
トを受けるとその出力は次のサイクルから偽(データの
非交換を示す出力でレジスタ1103は1105へレジ
スタ1106はデータ保持)となって、それ以降はコン
パレータ1107の出力を1サイクル遅れて出力しその
出力が非交換から交換条件になった時点から再度リセッ
トされるまでその状態を保持する。ただしリセット入力
するサイクルでコンパレータ1107からの入力が真
(データを交換する条件)であった場合はリセットされ
ず次のサイクルでデータ交換制御部1111の出力は真
となる。
【0087】次のサイクルではデータ交換制御部111
1の出力を受けてレジスタ1105にはセレクタ110
9によりレジスタ1103、1106の小さい方のデー
タが、レジスタ1106にはセレクタ1110によりレ
ジスタ1103、1106の大きいデータが入力され
る。同時にレジスタ1102(2番目のデータ)レジス
タ1104の比較がコンパレータ1107により実行さ
れ、レジスタ2にはFIFOメモリ1101の次のデー
タ(第3位)が入力される。次のサイクルでレジスタ1
105のデータはFIFOメモリ1101に書き込ま
れ、レジスタ1106とレジスタ1103の交換非交換
操作、レジスタ1102と1104の比較、FIFOメ
モリ1101の次のデータ(第4位)の入力が行なわれ
る。以下FIFOメモリ1101の最終データ(第10
0位)まで行なうのあるがレジスタ1102にその最終
データがセットされていてレジスタ1104との比較を
行なっているサイクルでセレクタ1108によって次の
入力データ(2番目の入力データ)を入力する。このと
きレジスタ1102には第1位のデータが入力されてい
る。次のサイクルでリセット信号によりデータ交換制御
部1111の初期化とレジスタ1106にセレクタ11
10によってレジスタ1104にセットされている2番
目の入力データを入力してやる。
【0088】この実施例では比較交換処理をパイプライ
ン化するだけでなく、入力データも比較する箇所とデー
タ交換する箇所でサイクルをずらしてやることにより、
データの入力間隔を図4の実施例の101サイクルから
100サイクルに短縮したものである。この例だと1サ
イクルの違いしかない比較部分が10サイクルかかると
しても100サイクルで済む。図11の場合だと最大9
6サイクルまで比較処理にかかってもデータの入力間隔
を100サイクルで維持できる。第1の実施例で説明し
た通りコンパレータはパイプラインで数値比較を行な
い、レジスタ1102から1103のレジスタ間にこの
処理サイクルに合わせてシフトレジスタを入れるなどの
必要があるがレジスタ1104とセレクタ1110の間
は追加しなくてよい。
【0089】[実施例5]図5は本実施例を最もよく表
わした図である。
【0090】最初に各部を簡単に説明する。501、5
02はソーティング結果(候補)の各候補の数値と識別
コード(タグ)を保持するRAMである。ここで出力す
る候補数を100として数値とタグのデータ幅を各16
bitとするとRAM501、502はそれぞれ32b
it×100wordの容量を持つ。503〜505は
レジスタであり32bitのデータ幅を持つ。506は
数値データの大小を比較するマクニチュードコンパレー
タ。507、508は32bit幅データセレクタ。5
09はRAM501、502のバスの切り換えを制御す
るRAM制御部。最後に510はこれら全体の制御を行
なう制御部である。
【0091】動作の説明であるが制御部510からの初
期化信号により初期データがセレクタ507で選択され
レジスタ504にセットされ、RAM501の全ワード
に書き込まれる。ここで昇順(小さい値から大きい値順
に並べる)で符号無しデータをソートする場合の初期デ
ータの数値の値は0xFFFFである。このときRAM
502を同時に初期化してもよい。(処理に影響しな
い)RAM501と502の中のデータはともに先頭ア
ドレスから順番に1〜100位に相当するものとする。
次にRAM制御部509よりRAM501は読み出し専
用となりその出力データはレジスタ503の入力に接続
されRAM502は書き込み専用となり入力にはレジス
タ504の出力データが接続される。それによりRAM
501の先頭データ(第1位のデータ)が読み出されて
レジスタ503に入力され同時にレジスタ505には1
番目の入力データが入力される。
【0092】次のサイクルではレジスタ503と505
の数値部分がコンパレータ506によって比較されその
判定結果にからセレクタ507によりレジスタ504に
はレジスタ503、505の小さい方のデータが入力さ
れ、セレクタ508によりレジスタ505にはレジスタ
503、505の大きい方のデータが入力される。すな
わちレジスタ505のデータと第1位のデータの比較交
換を行なうのである。同時にレジスタ503にはRAM
501の2番目のデータ(第2位)が入力される。
【0093】次のサイクルではレジスタ504のデータ
(第1位)がRAM502の先頭に書き込まれ、前のサ
イクルと同様にレジスタ503と505の数値部分が5
06によって比較されてその判定結果からセレクタ50
7によりレジスタ504にはレジスタ503、505の
小さい方のデータが入力され、セレクタ508によりレ
ジスタ505にはレジスタ503、505の大きい方の
データが入力される。
【0094】すなわちレジスタ505のデータと第2位
のデータの比較交換が行なわれる。同時にレジスタ50
3にはRAM501の3番目のデータ(第3位)が入力
される。以下のサイクルでRAM501の最終データに
到達するまで繰り返される。最終データがRAM502
に書き込まれた後、RAM制御部509よりRAM50
1は書き込み専用にRAM502は読み出し専用にそれ
ぞれ切り換えられ2番目の入力データに対して前述と同
様の動作がされる。以降、最終データまで繰り返すと入
力データが奇数個の場合はRAM501に偶数個の場合
はRAM502にソートされた上位100個のデータが
格納されていることになる。最終データを処理したとき
にはソート結果が格納されたRAMは書き込みモードに
なっているのでRAM制御部509より読み出しに切り
換えて読み出すことによりソートされたデータが得られ
る。
【0095】処理時間であるが1入力データあたり10
3サイクルかかる。RAM501、502、RAM制御
部509をRAM1個で構成した場合は202サイクル
かかるため本発明により処理時間が約1/2になる。
【0096】尚、本実施例ではデータ入力の間隔が10
3サイクルとしたがこれらは後ろの3サイクルで1個の
RAMの読みだしと書き込みが競合するからである。以
下のように制御すると競合をなくしてサイクル数を短縮
できる。
【0097】動作の説明であるが、制御部510からの
初期化信号により初期データがセレクタ507で選択さ
れレジスタ504にセットされ、RAM501とRAM
502の全ワードに書き込まれる。ここで昇順(小さい
値から大きい値順に並べる)で符号無しデータをソート
する場合の初期データの数値の値は0xFFFFであ
る。RAM501とRAM502の中のデータはともに
先頭アドレスから順番に1〜100位に相当する。次に
RAM制御部509によりRAM501は読み出し専用
となりその出力データはレジスタ503の入力に接続さ
れRAM502は書き込み専用となりその入力にはレジ
スタ504の出力データが接続される。それによりRA
M501の先頭データ(第1位のデータ)が読み出され
てレジスタ503に入力され同時にレジスタ505には
1番目の入力データが入力されている。次のサイクルで
はレジスタ503と505の数値部分がコンパレータ5
06によって比較されその判定結果にからセレクタ50
7によりレジスタ504にはレジスタ503、505の
小さいほうのデータが入力され、セレクタ508により
レジスタ505にはレジスタ503、505の大きい方
のデータが入力される。すなわちレジスタ505のデー
タと第1位のデータの比較交換が行なうのである。同時
にレジスタ503にはRAM501の2番目のデータ
(第2位)が入力される。次のサイクルではレジスタ5
04のデータ(第1位)がRAM502の先頭に書き込
まれ、前のサイクルと同様にレジスタ503と505の
数値部分がコンパレータ506によって比較されその判
定結果にからセレクタ507によりレジスタ504には
レジスタ503、505の小さいほうのデータが入力さ
れ、セレクタ508によりレジスタ505にはレジスタ
503、505の大きい方のデータが入力される。(レ
ジスタ505と第2位のデータ比較転換)同時にレジス
タ503にはRAM501の3番目のデータ(第3位)
が入力される。以下のサイクルでRAM501の最終デ
ータに到達するまで繰り返される。この実施例の場合、
レジスタ503に最終データを読み出すサイクルでRA
Mの切り換えを行なう。レジスタ505と第100位の
比較を行なうサイクルでRAM502からレジスタ50
3に前回更新された先頭データ(第1位)のデータを入
力し、レジスタ504にセットされている第99位のデ
ータを書き込む。同時に2番目の入力データをセレクタ
508によってレジスタ505に入力してやる。説明す
ると1番目の入力データに対する1〜98位のデータは
RAM502に書き込み99〜100位のデータはRA
M501に書き込むのである。同様に次の2番目の入力
データに対する1〜96位のデータはRAM501に書
き込み、97〜100位のデータはRAM502に書き
込む。つまり、入力データ毎にRAMの切り換えをする
タイミングが2サイクルづつずれる。(98サイクル毎
に切り換えを行なう)のである。従って最後にソーティ
ングされたデータを取り出す際に入力データ数に応じて
RAMを切り換えなければならない。
【0098】このような処理によれば制御は複雑になる
がデータの入力間隔が100サイクルで処理が可能で、
図5の実施例の場合には比較転換の処理サイクル数が増
加すると入力間隔も増加するがこの例ではある程度まで
100サイクルを維持できる。
【0099】さらに説明すると、RAMを3個用いれば
同じくデータの入力間隔が100サイクルでかつ最後の
ソート結果を単一のRAMから読み出すことが可能であ
る。
【0100】[実施例6]図6は本実施例を最もよく表
わした図である。
【0101】最初に各部を簡単に説明する。601はソ
ーティング結果(候補)の各候補の数値と識別コード
(タグ)を保持するFIFOメモリである。ここで2回
分のソートを行なうとして出力する候補数を50として
数値とタグのデータ幅を各16bitとするとFIFO
メモリ601は32bit×100wordの容量を持
つ。602〜604はレジスタであり32bitのデー
タ幅を持つ。605は数値データの大小を比較するマク
ニチュードコンパレータ。606、607は32bit
幅データセレクタ。608はコンパレータ605の判定
結果によりセレクタ606、607を制御するデータ交
換制御部。最後に608はこれら全体の制御を行なう制
御部である。
【0102】動作の説明であるが制御部608からの初
期化信号により初期データがセレクタ606で選択され
レジスタ603にセットされ、FIFOメモリ601の
全ワードに書き込まれる。ここで昇順(小さい値から大
きい値順に並べる)で符号無しデータをソートする場合
の初期データの数値の値はOxFFFFである。一方の
ソートをAとして他方をBとするFIFOメモリ601
の中のデータは先頭から順番にAの1〜50位、Bの1
〜50位に相当する。
【0103】次にFIFOメモリ601の先頭データ
(ソートをAの第1位)がレジスタ602に入力されソ
ートにかけられるソートAの1番目の入力データがセレ
クタ607によりレジスタ604に入力される。次のサ
イクルでレジスタ602とレジスタ604の数値部分が
コンパレータ605によって大小判別が行なわれその判
別結果がセレクタ606、607に入力され、レジスタ
603にはセレクタ606によりレジスタ602、60
4の小さい方のデータが入力され、レジスタ604には
セレクタ607により大きい方のデータが入力される。
同時にレジスタ602にはFIFOメモリ601の2番
目のデータが入力(ソートAの第2位)される。つまり
レジスタ604とソートAの第1位のデータの比較交換
が行なわれる。次のサイクルではレジスタ603にセッ
トされたデータがFIFOメモリ601に書き込みが行
われ、前のサイクルと同様にレジスタ602と604の
比較交換操作が行なわれると同時にレジスタ602には
FIFOメモリ601の次のデータが入力される。(ソ
ートAの第2位のデータの比較交換)この操作をFIF
Oメモリ601のソートAの最終データ(50位のデー
タ)まで繰り返すのであるが、ソートAの第50位のデ
ータの比較交換を行なうサイクルでレジスタ604にセ
レクタ607によりソートBの1番目の入力データを入
力する。また同じ操作を繰り返し、ソートBの第50位
のデータの比較交換を行なうサイクルでレジスタ604
にセレクタ607によりソートAの2番目の入力データ
を入力する。以下、各入力データに対して同様の処理を
行なうことにより最終的には全入力データに対するソー
トA上位50個のデータとソートB上位50個のデータ
がFIFOメモリ内に得られる。
【0104】ソートAとソートBは50サイクルずれ
て、それぞれのデータの入力間隔は100サイクルで動
作する。
【0105】尚、本実施例においても実施例1と同様
に、FIFOメモリをシフトレジスタ、RAM等で構成
するようにしても良い。
【0106】尚、本実施例においても実施例1と同様
に、先に入力されたデータを後から入力されたデータよ
り優先するようにしても良い。
【0107】尚、本実施例は比較交換器を複数用いた場
合や、並列比較交換器を用いた場合でも適用できる。
【0108】尚、本実施例ではソートAもソートBもと
もに昇順でソートした。通常は昇順と降順を切り換えた
い場合はコンパレータの動作モードを切り換えればよ
い。しかし、ソートAが昇順ソートでソートBが降順ソ
ートをする場合は動作途中で切り換えることになる。途
中での切り換え不可能な場合はソートBの入力データの
数値部分を補数に変換して入力することによりソーティ
ング処理可能である。また符号付、符号無の場合はオフ
セットを加えるか符号ビットの反転でソーティング処理
が可能である。数値部分のデータがそのままで不都合が
あれば出力時に戻してやればよい。
【0109】尚、本実施例ではソートAもソートBもと
もに出力候補数を50としたが10、90のような任意
の配分で行なえる。また分割数に任意であり、極端には
100個のソートで1位のみ出力させることもできる。
【0110】
【発明の効果】以上説明したように、本発明によれば、
M個の比較交換器をパイプライン動作させることにより
ソーティング時間を1/Mに短縮できる。
【0111】以上説明したように、本発明によれば、複
数のデータを一括して処理できるので並列演算等で得ら
れたデータのソーティングに適用できる。
【0112】以上説明したように、本発明によれば、ソ
ーティングモジュールをL個直接接続してパイプライン
動作できるようにしたので、ソーティングの処理時間を
1/Lに短縮できる。
【0113】以上説明したように、本発明によれば、ソ
ーティングモジュールを用意することで簡単にソーティ
ングの出力候補数をソーティングモジュールの個数分拡
張できる。
【0114】以上説明したように、本発明によれば、各
入力データに対してメモリ内の全データとを比較処理に
おいて、入力データと交換するメモリ内のデータを検出
した後は比較処理を行なわずメモリの最終データまでデ
ータの交換を行なうだけの簡単な処理にすることによ
り、比較交換を行なう部分をパイプライン化し、それに
よる速度低下を抑えられる。
【0115】以上説明したように、本発明によれば、通
常のRAMを用いてもFIFOメモリを用いた処理と同
じサイクル数でソーティング処理を実現できる。
【0116】以上説明したように、本発明によれば、通
常のRAMを使えるためアクセス速度やコストの面で選
択肢が多く、用途に適したものを選べる。
【0117】以上説明したように、本発明によれば、複
数のソーティングを1個のソーティング回路で同時に実
行できるためハードウェア資源の有効利用とコストの削
減ができる。
【0118】以上説明したように、本発明によれば、ソ
ーティングの比較条件の変更も比較器を固定したままで
良いので、回路が単純化でき、動作速度的にも有利であ
る。
【図面の簡単な説明】
【図1】実施例1の構成図。
【図2】実施例2の構成図。
【図3】実施例3の構成図。
【図4】実施例4の構成図。
【図5】実施例5の構成図。
【図6】従来の構成図。
【図7】実施例2においてソーティング部を複数直列接
続した構成図。
【図8】実施例3において並列比較交換器を多段接続し
た構成図。
【図9】実施例3においてソーティング部を複数並列接
続した構成図。
【図10】実施例4において並列比較交換器をパイプラ
イン化した構成図。
【図11】実施例4においてデータ入力をパイプライン
化した構成図。

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】 ソーティング結果として出力する数の情
    報を記憶できる記憶手段と、 逐次入力される情報と前記記憶手段に記憶されている情
    報とを比較交換する比較交換器を複数個備え、 前記記憶手段と前記複数の比較交換器をパイプライン接
    続した情報処理装置。
  2. 【請求項2】 ソーティング結果として出力する数の情
    報を記憶できる記憶手段と、 前記記憶手段を分割した複数の領域に接続され、逐次入
    力される情報と接続された領域に記憶されている情報と
    を比較交換する複数の比較交換器を備え、 前記複数の比較交換器をパイプライン動作させることを
    特徴とする情報処理装置。
  3. 【請求項3】 ソーティング結果として出力する数の情
    報を記憶できる記憶手段と該記憶手段に記憶されている
    情報と逐次入力される情報とを比較交換する比較交換器
    とを備えるソーティング手段を複数個多段接続し、 複数の出力を可能とすることを特徴とする情報処理装
    置。
  4. 【請求項4】 前記ソーティング手段を直列接続するこ
    とを特徴とする請求項3に記載の情報処理装置。
  5. 【請求項5】 前記ソーティング手段を並列接続するこ
    とを特徴とする請求項3に記載の情報処理装置。
  6. 【請求項6】 ソーティング結果として出力する数の情
    報を記憶でき、複数の領域に小分割された記憶手段と、 逐次入力される情報と前記記憶手段の各領域に記憶され
    ている情報とを並列に比較交換する並列比較交換器とを
    備えることを特徴とする情報処理装置。
  7. 【請求項7】 ソーティング結果として出力する数の情
    報を記憶できる記憶手段と、 逐次入力される情報と前記記憶手段に記憶されている情
    報とを比較交換する比較交換器と、 前記比較交換器が前記記憶手段に記憶されている情報か
    ら交換する情報を検出した後、前記比較処理を中断する
    よう制御する制御手段とを有することを特徴とする情報
    処理装置。
  8. 【請求項8】 ソーティング結果として出力する数の情
    報を記憶できる複数の記憶手段と、 逐次入力される情報と前記記憶手段に記憶されている情
    報とを比較交換する比較交換器を備え、 前記比較交換器に接続する前記記憶手段を切り替えてソ
    ーティング処理を行うことを特徴とする情報処理装置。
  9. 【請求項9】 ソーティング結果として出力する数の情
    報を記憶できる記憶手段と、該記憶手段に記憶されてい
    る情報と逐次入力される情報とを比較交換する比較交換
    器を備えるソーティング手段を備え、 前記ソーティング手段を時間分割して使用するよう制御
    することを特徴とする情報処理装置。
  10. 【請求項10】 ソーティング結果として出力する数の
    情報を記憶できる記憶手段と、 逐次入力される情報と前記記憶手段に記憶されている情
    報とを比較交換する比較交換器と、 前記ソーティングの条件に応じて前記入力される情報を
    変換することを特徴とする情報処理装置。
  11. 【請求項11】 入力された複数の情報の中から上位N
    個までの候補数の情報を昇順または降順で順位付けして
    取り出す情報処理装置において、 ソーティングを行う情報の数値範囲とその識別コードを
    格納できるデータ幅とN個のワード数を持ったメモリ
    と、 逐次入力される情報と前記メモリ内の全情報とを比較交
    換する複数個のパイプライン接続されている比較交換器
    とを備えることを特徴とする情報処理装置。
  12. 【請求項12】 入力された複数の情報の中から上位N
    個までの候補数の情報を昇順または降順で順位付けして
    取り出す情報処理装置において、 ソーティングを行う情報の数値範囲とその識別コードを
    格納できるデータ幅とN個のワード数を持ち、複数に小
    分割されたメモリと、 それぞれの前記小分割メモリに接続され、逐次入力され
    る情報と前記小分割メモリ内の全データとを比較交換す
    る比較交換器を備え、 前記各比較交換器がパイプライン動作することを特徴と
    する情報処理装置。
  13. 【請求項13】 前記比較交換器を直列接続することを
    特徴とする請求項12に記載の情報処理装置。
  14. 【請求項14】 入力された複数の情報の中から上位N
    個までの候補数の情報を昇順または降順で順位付けして
    取り出す情報処理装置において、 ソーティングを行う情報の数値範囲とその識別コードを
    格納できるデータ幅とN個のワード数を持ち、複数に小
    分割されたメモリと、 逐次入力される情報と前記メモリ内の全情報とを並列に
    比較交換を行う比較交換器を有することを特徴とする情
    報処理装置。
  15. 【請求項15】 入力された複数の情報の中から上位N
    個までの候補数の情報を昇順または降順で順位付けして
    取り出す情報処理装置において、 ソーティングを行う情報の数値範囲とその識別コードを
    格納できるデータ幅とN個のワード数を持ったメモリ
    と、逐次入力される情報と前記メモリ内の全情報とを比
    較交換する比較交換器とを備えたソーティング回路を複
    数個備え、 各ソーティング回路を多段接続することを特徴とする情
    報処理装置。
  16. 【請求項16】 前期多段接続は並列接続とすることを
    特徴とする請求項15に記載の情報処理装置。
  17. 【請求項17】 入力された複数の情報の中から上位N
    個までの候補数の情報を昇順または降順で順位付けして
    取り出す情報処理装置において、 ソーティングを行う情報の数値範囲とその識別コードを
    格納できるデータ幅とN個のワード数を持ったメモリ
    と、 逐次入力される情報と前記メモリ内の全情報とを比較交
    換する比較交換器と、 前記各入力される情報に対して前記メモリ内の情報と比
    較していき、入力情報と交換するメモリ内の情報を検出
    した後は比較を行わずメモリ内の最終情報まで情報の交
    換を行うことを特徴とする情報処理装置。
  18. 【請求項18】 入力された複数の情報の中から上位N
    個までの候補数の情報を昇順または降順で順位付けして
    取り出す情報処理装置において、 ソーティングを行う情報の数値範囲とその識別コードを
    格納できるデータ幅とN個のワード数を持ち、複数に小
    分割された複数のメモリと、 逐次入力される情報と前記メモリ内の情報とを比較交換
    する比較交換器とを備え、 前記複数のメモリを切り替えてソーティングを行うこと
    を特徴とする情報処理装置。
  19. 【請求項19】 入力された複数の情報の中から上位N
    個までの候補数の情報を昇順または降順で順位付けして
    取り出す情報処理装置において、 上位N個までの情報を格納するメモリと、入力情報と前
    記メモリ内の情報を比較交換する比較交換器を備えるソ
    ーティング回路を時間分割して使用することを特徴とす
    る情報処理装置。
  20. 【請求項20】 入力された複数の情報の中から上位N
    個までの候補数の情報を昇順または降順で順位付けして
    取り出す情報処理装置において、 上位N個までの情報を格納するメモリと、 入力情報と前記メモリ内の情報を比較交換する比較交換
    器を備え、 前記入力情報を変換することにより前記ソーティングの
    比較条件を変更することを特徴とする情報処理装置。
JP22971294A 1994-09-26 1994-09-26 情報処理装置 Expired - Fee Related JP3287705B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22971294A JP3287705B2 (ja) 1994-09-26 1994-09-26 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22971294A JP3287705B2 (ja) 1994-09-26 1994-09-26 情報処理装置

Publications (2)

Publication Number Publication Date
JPH0895753A true JPH0895753A (ja) 1996-04-12
JP3287705B2 JP3287705B2 (ja) 2002-06-04

Family

ID=16896523

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22971294A Expired - Fee Related JP3287705B2 (ja) 1994-09-26 1994-09-26 情報処理装置

Country Status (1)

Country Link
JP (1) JP3287705B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100383359B1 (ko) * 2000-07-26 2003-05-12 김종권 평형화된 파이프라인 힙을 이용한 라우터에서의 출력측데이터 처리방법
JP6986309B1 (ja) * 2021-09-22 2021-12-22 明男 三水 データ処理装置、データ処理方法、及びプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100383359B1 (ko) * 2000-07-26 2003-05-12 김종권 평형화된 파이프라인 힙을 이용한 라우터에서의 출력측데이터 처리방법
JP6986309B1 (ja) * 2021-09-22 2021-12-22 明男 三水 データ処理装置、データ処理方法、及びプログラム
WO2023047934A1 (ja) * 2021-09-22 2023-03-30 明男 三水 データ処理装置、データ処理方法、及びプログラム
JP2023045929A (ja) * 2021-09-22 2023-04-03 明男 三水 データ処理装置、データ処理方法、及びプログラム

Also Published As

Publication number Publication date
JP3287705B2 (ja) 2002-06-04

Similar Documents

Publication Publication Date Title
EP0208870B1 (en) Vector data processor
US4930100A (en) Programmable pulse input/output processing unit having register types specified by instructions
US5726923A (en) Minimum/maximum data detector
US4945518A (en) Line memory for speed conversion
US4371924A (en) Computer system apparatus for prefetching data requested by a peripheral device from memory
US5016245A (en) Modular expandable digital single-stage switching network in ATM (Asynchronous Transfer Mode) technology for a fast packet-switched transmission of information
US5673274A (en) Test method for semiconductor device
US5508967A (en) Line memory
JPH08248096A (ja) 回路試験装置
US5068822A (en) Single-stage extensible sorter for sorting data and efficiently reading out sorted data, incorporating single-bit devices
US5894213A (en) Semiconductor integrated circuit having a plurality of flip-flops
US4852130A (en) Successive approximation register
US5321400A (en) Serial data interface circuit dealing with a plurality of receiving modes
JPH0391188A (ja) Fifoメモリ
EP0910014B1 (en) Program loading method and apparatus
EP0520425B1 (en) Semiconductor memory device
JPH0895753A (ja) 情報処理装置
US5089955A (en) Programmable counter/timer device with programmable registers having programmable functions
US4651301A (en) Circuit arrangement for performing rapid sortation or selection according to rank
US5325332A (en) Dual port semiconductor memory device
US4685128A (en) Method and network for transmitting addressed signal samples from any network input to an addressed network output
EP0359192B1 (en) Vector processors and vector register control
KR100313202B1 (ko) 매크로용테스트회로
US4604726A (en) Sorting apparatus
JPH09128241A (ja) ファジーロジックプロセッサの言語入力値の所属関数値に対する配列方法および装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20020226

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

Free format text: PAYMENT UNTIL: 20080315

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090315

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100315

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees