JPH07302187A - データソーティング方法及びソーティング装置 - Google Patents

データソーティング方法及びソーティング装置

Info

Publication number
JPH07302187A
JPH07302187A JP7717595A JP7717595A JPH07302187A JP H07302187 A JPH07302187 A JP H07302187A JP 7717595 A JP7717595 A JP 7717595A JP 7717595 A JP7717595 A JP 7717595A JP H07302187 A JPH07302187 A JP H07302187A
Authority
JP
Japan
Prior art keywords
data
address
order
bit
read
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.)
Withdrawn
Application number
JP7717595A
Other languages
English (en)
Inventor
Takayuki Shibata
高幸 柴田
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.)
Nippon Steel Corp
Original Assignee
Nippon Steel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Steel Corp filed Critical Nippon Steel Corp
Priority to JP7717595A priority Critical patent/JPH07302187A/ja
Publication of JPH07302187A publication Critical patent/JPH07302187A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 少ないメモリ構成の高速なデータソーティン
グ方法を提供する。 【構成】 被ソートデータの最下位ビットを注目ビット
とし、最下位ビットの値に応じて最下位ビットの値が論
理“0”を示すデータの場合には第一のメモリの最先順
位が高い方から順番に書き込み、論理“1”を示すデー
タの場合には第二のメモリの最先順位が低い方から順番
に書き込む第1の処理と、被ソートデータの最下位ビッ
トから最上位ビットまで、順次注目するビットの位置を
移動させ、注目するビットが論理“0”のデータを優先
順位が高いものから順に読み出し、その後論理“1”の
データを優先順位が低いものから順に読み出し、読み出
したデータの注目するビットの値が論理“0”を示すデ
ータの場合には他方のメモリの最先順位が高い方から順
番に書き込み、論理“1”を示すデータの場合には他方
のメモリの最先順位が低い方から順番に書き込む第2の
処理を行う。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数のデータをその大
きさ順に並び替えるソーティング処理を行うソーティン
グ装置に関する。
【0002】
【従来の技術】従来のソーティングシステムではデータ
の比較の為のコンパレータを有し、1個の被ソーティン
グデータのソーティングを行う為には既にソーティング
された残りのデータから一つずつデータを読み出しコン
パレータで被ソーティングデータとの大きさの比較を順
次行い、自己より大きいまたは小さいデータと一致する
場合にその位置をその被ソーティングデータの位置と
し、以下の未比較データを一つずつ順次シフトして最終
的なソートデータとしていた。また処理を高速化するた
めに、ソートするデータを2つに分割して被ソーティン
グデータが分割されたどちらのグループに属するかを求
めて、比較の回数を減らしたヒープソートやクイックソ
ートなどの方法が実用化されている。
【0003】
【発明が解決しようとする課題】従来のソート装置で
は、処理を高速化するためには多大なメモリを用いて比
較回数データのシフトを省略するしくみとなっていた。
従来は、上記のような構成となっていた為、ソーティン
グに多大な時間がかかるか、もしくは時間短縮の為には
多大なメモリを必要とすると言う問題があった。そこ
で、この発明は、少ないメモリ構成で高速なソーティン
グを行うことができるソーティング方法およびソーティ
ング装置を提供することを目的とする。
【0004】
【課題を解決するための手段】上記目的を達成するため
に本発明のデータソーティング方法は、ソートすべきデ
ータを、該データの数に相当する数の記憶エリアを各々
が含む第1のメモリと第2のメモリとを用いて並び替え
るデータソーティング方法であって、前記記憶エリアの
各々はアドレスを有しており、該データの各々の最下位
ビットを特定ビットとして、該特定ビットの値が理論
“0”を示す場合には該アドレスの第1の順序で、ま
た、該特定ビットの該値が論理“1”を示す場合には該
第1の順序と反対の該アドレスの第2の順序で、該デー
タの各々を前記第1と第2のメモリの所定の一方に書き
込むステップと、該特定ビットの位置を該データの第2
の下位ビットから最上位ビットまで順次移動させなが
ら、該データが直前に書き込まれた前記第1と第2のメ
モリの一方から、該アドレスの該第1の順序で記憶され
た該データの各々を該アドレスの該第1の順序で読み出
すとともに、該特定ビットの値が論理“0”を示す場合
には該アドレスの該第1の順序で、また、該特定ビット
の該値が論理“1”を示す場合には該アドレスの該第2
の順序で、該読み出されたデータを前記第1と第2のメ
モリの他方に書き込み、次に、前記第1と第2のメモリ
の前記一方から、該アドレスの該第2の順序で記憶され
た該データの各々を該アドレスの該第2の順序で読み出
すとともに、該特定ビットの値が論理“0”を示す場合
には該アドレスの該第1の順序で、また、該特定ビット
の該値が論理“1”を示す場合には該アドレスの該第2
の順序で、該読み出されたデータを前記第1と第2のメ
モリの他方に書き込むことを繰り返すステップと、該デ
ータが直前に書き込まれた前記第1と第2のメモリの一
方から、該アドレスの該第1の順序で記憶された該デー
タの各々を該アドレスの該第1の順序で読み出し、次
に、該アドレスの該第2の順序で記憶された該データの
各々を該アドレスの該第2の順序で読み出すステップ
と、を具備することを特徴ものである。
【0005】
【作用】本発明は上記課題を解決するために、いわゆる
ラディックスソートの考え方をbit単位に適用し、コ
ンパレータを必要なくすると共に、1回のメモリアクセ
スでソーティングアドレスを決定し他のソーティング用
メモリへの書き込みを終了するようにしたものである。
メモリの大きさは(ソーティングするデータのビット数
+ソーティングするデータの個数を表現するビット数)
×ソーティングするデータの個数×2個の大きさで構成
する事ができるので従来のような多大なメモリ容量を必
要とする事がない。尚、ラディックスソートについて
は、技術評論社より出版されている奥村晴彦著の「C言
語による最新アルゴリズム辞典」に詳細が記載されてい
る。
【0006】以下、図面を用いて本発明の原理を説明す
る。図1に示すメモリ1には初期状態でランダムなソー
トすべきデータ(以下、ソートデータとも称する。)2
と順にならんだアドレス3とが対になって記憶されてい
る。このアドレス3は256ビット等の長いビット長を
持つデータのソートを行う場合は注目するビットだけを
取り出し元のデータとはその個数に応じた引数としての
アドレスを付加し、ソート後にこのアドレスをもとに元
のデータを読み出し全体がソートされた様にするために
用いられるものであり、一括して書き換えができるよう
な数ビットの被ソートデータのソートの場合には無くて
も問題はない。
【0007】このソートデータの最下位ビットの値が論
理“0”か論理“1”かによりメモリ2への書き込み位
置を変える。ソートデータの最下位ビットの値が論理
“0”ならばメモリ2の上から、論理“1”ならば下か
ら順にデータをつめてゆく、この作業をメモリ1の上か
ら下のデータ順に繰り返し、1bit目のソートを終了
する(図1(A)参照)。
【0008】次に図1(B)に示すようにして最下位か
ら2ビット目のデータについてソートを行う。この場合
メモリ2からデータを読み出してメモリ1に書き込む。
このときメモリ2の最下位ビットは先のソートでメモリ
2の途中から上が論理“0”下が論理“1”の領域に成
っている。この論理“0”の領域と論理“1”の領域で
はデータの読み出し順序が逆になる。“0”領域は昇
順、すなわち図1のメモリ2の上から順番にデータを読
み出し、2ビット目のデータが論理“0”か論理“1”
かに応じて論理“0”の場合はメモリ1の上から、論理
“1”ならば下から順にデータをつめてゆく。
【0009】“1”領域は降順、すなわち図1のメモリ
2の下から順番にデータを読み出し、2ビット目のデー
タが論理“0”か論理“1”かに応じて論理“0”の場
合はメモリ1の上から、論理“1”ならば下から順にデ
ータをつめてゆく。
【0010】このように下位ビットから順にメモリ1か
らメモリ2へ、メモリ2からメモリ1へと交互にデータ
を書き換えていく事によって上記の処理をソートデータ
の最上位bitに至るまで繰り返し(図1(C)参
照)、その最終時にWrite側となっているメモリの
内容が、最終のソート順となる。すなわち、最終時にW
rite側となっているメモリの最上位bitのデータ
は図1のメモリ1の上側の途中からが論理“0”の領域
下側の途中からが論理“1”の領域となる。尚、図1
(C)ではメモリ1が最終時にWrite側となってい
るメモリとしたがビット構成によってはメモリ2が最終
時にWrite側となっているメモリとなることもある
事は言うまでもない。
【0011】
【実施例】以下本発明の実施例を図面を用いて説明す
る。今4ビットのプライオリティデータを8個ソーティ
ングする例を用いて本発明の実施例を説明する。プライ
オリティデータとはスプライト描画のときの表示順序を
示すデータであり、プライオリティが高いと画面の最表
面に表示されることになる。また本実施例は、3D(3
次元)画像におけるZ軸方向のソートにも適用できる。
まず本実施例の理解を助けるために、ソート方法の概念
を図2に示す4ビットのプライオリティデータを8個ソ
ーティングする例を用いて説明する。
【0012】図2に示すように、左上のメモリRAM1
はソーティング前のプライオリティデータがアドレス
(0〜7)とともに並んでいる(図2(A))。これ
を、プライオリティデータの最下位1ビットが“0”、
“1”により“1”なら下側(即ちRAM2の下位アド
レス側から)から、“0”なら上側(即ちRAM2の上
位アドレス側から)からつめて右上のRAM2(図2
(B))にライトする。次に、いまライトしたRAM2
の上側から順番に最下位1ビットが“0”の場合はアド
レスをインクリメントし、“1”の場合はアドレスを下
側からデクリメントしてRAM2からデータをリード
し、リードしたプライオリティデータの最下位から2ビ
ット目のデータが“0”か“1”により“1”なら下側
から、“0”なら上側からつめて図2の左側中央のRA
M1にライトする(図2(C))。以下同様に繰り返
し、プライオリティデータの最上位ビットの“0”、
“1”によるリードが終了した時点(図2(E))で、
いまライトしたRAM1から上側から順番に最下位1ビ
ットが“0”のアドレスはインクリメント、“1”のア
ドレスは下側からデクリメントしてデータをリードしソ
ートが完了する(図2(F))。
【0013】図2(A),(F)はメモリに記憶された
データとして記載したが、実際にはシリアルデータとし
て、ソーティング回路に取り込まれ、または出力される
バス上のデータととらえる事もできる。これをハードウ
ェアで実現した場合、最初の並べ替えをデータ入力、最
後の整列をデータ出力と考えると、処理に要する時間は
8×3=24ステップとなる。
【0014】以下図3以降の図面を用いてソーティング
回路の回路構成および動作を説明する。図3はシリアル
に入力される16ビットのプライオリティデータ256
個を、入力された順番とともにソート順に出力するソー
ティング回路である。図2では理解を容易にするために
4ビットデータのソーティングを例に説明されている
が、以下の説明では16ビットのプライオリティデータ
をソーティングの対象としているので、以下の説明で図
2が引用されている部分は実際のデータを説明するので
はなく単にメモリの状態を表すと理解されるべきであ
る。
【0015】このソーティング回路は、2つのメモリR
AM1(31)、RAM2(32)と256進カウンタ
33、アドレスコントローラ34、35、16進カウン
タ36および16ビットから1ビットを選択するセレク
タ37を備える。
【0016】本実施例のメモリRAM1(31)、RA
M2(32)は、1アドレスにプライオリティデータ1
6ビットと最初に入力された順番を示す8ビットの合計
24ビットのデータを持ち、入力されるデータ数である
256アドレスで構成される。このRAMにそれぞれ、
リード/ライトのアドレスを制御するアドレスコントロ
ーラ(RWAC)34、35が接続されており一方のRAM
をリードしながら他方のRAMをライトするしくみを実
現している。書き込み用RAMと読み出し用RAMの選
択は16進カウンタ36によって制御されている。16
進カウンタ36の出力の最下位ビットLSBはアドレス
コントローラ2(35)の書き込み/読み出し制御端子
R/WおよびRAM2(32)のWrite enable端子に直
接供給されると共に、インバータで反転されてアドレス
コントローラ1(34)の書き込み/読み出し制御端子
R/WおよびRAM1(31)のWrite enable端子に供
給されている。16進カウンタ36は図2で説明したデ
ータの何ビット目をソートキーとして並び替えを行うか
を決定するカウンタである。リセットされた初期状態で
は16進カウンタ36の16ビット全てがゼロであるの
で、16進カウンタ36の出力の最下位ビットLSBも
ゼロとなり、初期状態ではアドレスコントローラ2(3
5)が書き込み制御状態、アドレスコントローラ1(3
4)が読み出し制御状態となる。またRAM2(32)
が書き込み可能状態となる。
【0017】システムリセットが解除され、データ入力
イネーブル端子/DIEがアサートされると256進カウン
タ33が動作を始め初期値を0とする入力順序をカウン
トするとともにデータの取り込みを開始する(図2
(A)から(B)に相当する)。この動作は図5のタイ
ミングチャートのA区間に対応する。RAM2(32)
が書き込み可能状態なので、256進カウンタ33でカ
ウントされた入力順序データは、入ってくるデータとと
もにまずRAM2(32)にストアされる。入力順序デ
ータはデータバスのゼロビットから7ビット[7:0]
によってRAM2(32)に供給され、入力されたプラ
イオリティデータはデータバスの8ビットから23ビッ
ト[23:8]によってRAM2(32)に供給され
る。アドレスコントローラ2(35)は図4を用いて後
に詳述されるアップカウンタ41(初期値として最下位
アドレスall zeroがセットされる。)ダウンカウンタ4
2(初期値として最上位アドレス“255”がセットさ
れる。)を用いて順次下記規則に従って書き込みアドレ
スを発生し、RAM2(32)のアドレス入力端子A7
〜0に供給する。
【0018】ビットセレクタ37は16進カウンタ32
の出力を受けて、アドレスバス8ビットから23ビット
[23:8]で供給されるプライオリティデータの1ビ
ット目をビット出力BITとしてアドレスコントローラ
2(35)に供給する。アドレスコントローラ2(3
5)は取り込まれたデータの第1ビット目即ちBITが
“0”の場合はアップカウンタ41をカウントアップ
し、RAM2(32)の書き込みアドレスとし、図2
(B)に示すようにRAM2(32)の下位アドレス側
からデータを順次書き込んでいく。BITが“1”の場
合はダウンカウンタ42をカウントダウンし、RAM2
(32)の書き込みアドレスとし、図2(B)に示すよ
うにRAM2(32)の上位アドレス側からデータを順
次書き込んでいく。このダウンカウンタ42が選択され
た時のアップカウンタ41の値が保持される。図6、図
5の区間Aが上記動作を説明する部分である。
【0019】256進カウンタ33が256をカウント
し終えるとデータ入力端子30に接続されたデータバス
上のゲートが閉じられるとともに、アップカウンタ41
が256をカウントし終えることによって、書き込み終
了信号バーWREND が出力される。これで図2の(B)の
状態となる。
【0020】次に書き込み終了信号バーWREND によって
16進カウンタ36がカウントアップされ、16進カウ
ンタ32の出力の最下位ビットLSBもゼロから“1”
にかわる。従ってアドレスコントローラ1(34)が書
き込み制御状態、アドレスコントローラ2(35)が読
み出し制御状態となる。またRAM1(31)が書き込
み可能状態、RAM2(32)が読み出し可能状態とな
る。
【0021】アドレスコントローラ2(35)は発生し
たアドレスと前回の書き込み時に記憶したアップカウン
タ41の最終アドレスから1を引いたアドレスを随時比
較し、両アドレスが等しくなった時点でダウンカウンタ
42を動作させ、読み出し順序を切り替えて最上位アド
レス“255”から順次減数する読み出しアドレスを出
力し、このアドレスに基づいてRAM2(32)に記憶
されたデータを順次データバス上に出力する(図2の
(B)に示すREAD順参照)。
【0022】ビットセレクタ37は16進カウンタ36
の出力を受けて、アドレスバス8ビットから23ビット
[23:8]で供給されるプライオリティデータの2ビ
ット目をビット出力BITとしてアドレスコントローラ
1(34)に供給する。アドレスコントローラ1(3
4)は読み出されたデータの第2ビット目即ちBITが
“0”の場合はアップカウンタ41をカウントアップ
し、RAM1(31)の書き込みアドレスとし、図2
(C)に示すようにRAM1(31)の下位アドレス側
からデータを順次書き込んでいく。BITが“1”の場
合はダウンカウンタ42(初期値として最上位アドレス
“255”がセットされる。)をカウントダウンし、R
AM1(31)の書き込みアドレスとし、図2(C)に
示すようにRAM1(31)の上位アドレス側からデー
タを順次書き込んでいく(図6のB区間を参照)。
【0023】全てのデータの書き込みが終わると、アド
レスコントローラ1(34)はアップカウンタ41の最
後の出力アドレスを記憶すると共に、書き込み終了信号
バーWREND を出力し16進カウンタ36をカウントアッ
プする。それによって16進カウンタ36の出力の最下
位ビットLSBが“1”からゼロにかわる。従ってアド
レスコントローラ2(35)が書き込み制御状態、アド
レスコントローラ1(34)が読み出し制御状態とな
る。またRAM2(32)が書き込み可能状態、RAM
1(31)が読み出し可能状態となる。
【0024】アドレスコントローラ1(34)は発生し
たアドレスと前回の書き込み時に記憶したアップカウン
タ41の最終アドレスから1を引いたアドレスを随時比
較し、両アドレスが等しくなった時点でダウンカウンタ
42を動作させ、読み出し順序を切り替えて最上位アド
レス“255”から順次減数する読み出しアドレスを出
力し、このアドレスに基づいてRAM1(31)に記憶
されたデータを順次データバス上に出力する。
【0025】このときビットセレクタ37は16進カウ
ンタ36の出力即ちビットセレクト信号BIT SEL
が3ビット目を示しているので、アドレスバス8ビット
から23ビット[23:8]で供給されるプライオリテ
ィデータの3ビット目をビット出力BITとしてアドレ
スコントローラ2(35)に供給する。アドレスコント
ローラ2(35)は前回アドレスコントローラ1(3
4)が行ったと同様にプライオリティデータの3ビット
目がゼロか“1”かに応じてアップカウンタ41、ダウ
ンカウンタ42の出力を選択的に切り替えてRAM2
(32)への書き込みアドレスとして出力する(図2の
(D)参照)。
【0026】以上の動作を16進カウンタ36が16カ
ウントするまで繰り返す事により図2の(E)に対応す
る状態までの並び替えが終了する。16進カウンタ36
は再びゼロを出力するので最初にRAM2(32)への
書き込みを行った時と同様にアドレスコントローラ2
(35)が書き込み制御状態、アドレスコントローラ1
(34)が読み出し制御状態となる。またRAM2(3
2)が書き込み可能状態、RAM1(31)が読み出し
可能状態となる。今回はRAM1(31)から読み出さ
れたデータはソート済みデータとしてデータバス上に出
力され、RAM2(32)への書き込みは無視(実際に
は何等かにデータを書き込む事になるが、使用されな
い)される。
【0027】アドレスコントローラ1(34)は発生し
たアドレスと前回の書き込み時に記憶したアップカウン
タ41の最終アドレスから1を引いたアドレスを随時比
較し、両アドレスが等しくなった時点でダウンカウンタ
42を動作させ、読み出し順序を切り替えて最上位アド
レス“255”から順次減数するアドレスを出力し、こ
のアドレスに基づいてRAM1(31)に記憶されたデ
ータを順次データバス上に出力する。その出力状態が図
2の(F)に示す最終ソート状態である。
【0028】図4にアドレスコントローラ1(34)、
アドレスコントローラ2(35)の具体的な回路図を示
す。アドレスコントローラ1、2(34、35)は下位
アドレス(all zero)からインクリメントするアップカ
ウンタ41と、最上位アドレス(“255”)からデク
リメントするダウンカウンタ42とを備える。ライト時
には図3のビットセレクタ37からの信号BITの
“0”か“1”かにより、リード時にはライトの最終ア
ドレス(ソートを行ったプライオリティデータのビット
の境目(図2(B)のBORDERに対応する)と同じに成っ
たか否かによりアップカウンタ41とダウンカウンタ4
2を切り換えて動作させ読み出し/書き込みアドレスを
出力する。
【0029】R/W 信号に応じて読み出し/書き込み状態
が選択されるが、まず書き込み状態の場合について説明
する。R/W 信号が“0”の時は書き込み状態である。R/
W 信号はインバータによって反転され“1”となる。マ
ルチプレクサ45は入力BITを選択する。選択された
信号BITはアップカウンタ41のenable端子(反転入
力)にそのまま、ダウンカウンタ42のenable端子(反
転入力)にインバータによって反転されて入力される。
従って、信号BITが“0”の場合はアップカウンタ4
1がenableとなり、信号BITが“1”の場合はダウン
カウンタ42がenableとなる。アップカウンタ41、ダ
ウンカウンタ42の出力はマルチプレクサ46によりア
ップカウンタ41がenableの時はアップカウンタ41の
出力を選択し、ダウンカウンタ42がenableの時はダウ
ンカウンタ42の出力が選択されて書き込みアドレスと
して出力される。
【0030】アップカウンタ41が順次カウントアップ
していくに従って順次新しい信号BITが入力される。
信号BITが“1”に変わった時点でアップカウンタ4
1とダウンカウンタ42のenable状態が反転し、ダウン
カウンタ42がenable状態となる。ラッチ回路43には
差分回路44を介してアップカウンタ41の出力端子が
接続されている。差分回路44のB入力端子には“1”
が入力されている。差分回路44はアップカウンタ41
の出力から“1”を引いたアドレス生成する。ラッチ回
路43はこのアップカウンタ41がunenableに変わった
時のアップカウンタ41の出力から“1”を引いたアド
レスを保持する(図6に符号Xで示すタイミング。この
ときDFF OUT は6F-1=6E となる。)。このアドレスが読
み出し順の切り替わりアドレスとなる。一致判定回路4
7はアップカウンタ41の出力とダウンカウンタ42の
出力が一致する事を検出し、両者が一致した時に書き込
みが終了したと判定し、書き込み終了信号バーWREND を
出力する。
【0031】次に読み出しアドレスの発生について説明
する。R/W 信号が“1”の時は読み出し状態である。R/
W 信号はインバータによって反転され“0”となる。マ
ルチプレクサ45はDフリップフロップ48の出力を選
択する。Dフリップフロップ48の出力は初期状態では
ゼロである。したがって初期的にはアップカウンタ41
がenableとなる。アップカウンタ41はクロックに従っ
て順次カウントアップしてアドレスを出力する。アップ
カウンタ41の出力は一致判定回路49によってラッチ
回路43に保持された前回の書き込みモード時に最終に
アップカウンタ41から発生したアドレスと比較され、
両者が一致した場合にはDフリップフロップ48が反転
し、ダウンカウンタ42がenable状態、アップカウンタ
41がunenableとなる(図6に符号Yで示すタイミン
グ。)。以下ダウンカウンタ42がのカウント値がアッ
プカウンタ41のカウント値と同じになるまで、即ち全
体として256個のデータが読み出されるまで、ダウン
カウンタ42がダウンカウントを繰り返す。
【0032】以上のように、本発明によれば、Pビット
からなるプライオリティデータN個を元の整列順の情報
とともにソーティングするのに必要なメモリーMと時間
Tは、 M=2×(P+log2N)×N bit T=(P−1)×N step となり、従来の方法に較べ高速のソートが実現できる。
【0033】以上の説明では予め個数が256個とわか
っている場合について説明したが、個数が分からない場
合には、一旦メモリに全データをカウントしながら取り
込んで、そのカウント値をダウンカウンタ42の初期値
としてセットするようにすれば、色々な個数のデータに
対応できる。この場合は、256進カウンタの替わりに
もっと最大許容個数をカウントできるカウンタを取り付
け、ソート対象データの個数に応じて最初に書き込むメ
モリに対する書き込み終了信号を外部から供給すればよ
い。
【0034】
【発明の効果】以上のように発明によれば、少ないメモ
リ構成で高速なデータソーティング手法およびソーティ
ング装置を提供することができる。
【図面の簡単な説明】
【図1】本発明の動作原理を説明する説明図である。
【図2】本発明の実施例の動作原理を説明する説明図で
ある。
【図3】本発明の実施例のソーティング回路の回路図で
ある。
【図4】図3に示すソーティング回路におけるアドレス
コントロール回路の詳細回路図である。
【図5】図3のソーティング回路の動作を説明するタイ
ミングチャートである。
【図6】図4に示すソーティング回路におけるアドレス
コントロール回路の動作を説明するタイミングチャート
である。
【符号の説明】
31 第1のメモリ 32 第2のメモリ 33 256進カウンタ 34,35 アドレスコントローラ 37 セレクタ

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 ソートすべきデータを、該データの数に
    相当する数の記憶エリアを各々が含む第1のメモリと第
    2のメモリとを用いて並び替えるデータソーティング方
    法であって、前記記憶エリアの各々はアドレスを有して
    おり、 該データの各々の最下位ビットを特定ビットとして、該
    特定ビットの値が理論“0”を示す場合には該アドレス
    の第1の順序で、また、該特定ビットの該値が論理
    “1”を示す場合には該第1の順序と反対の該アドレス
    の第2の順序で、該データの各々を前記第1と第2のメ
    モリの所定の一方に書き込むステップと、 該特定ビットの位置を該データの第2の下位ビットから
    最上位ビットまで順次移動させながら、該データが直前
    に書き込まれた前記第1と第2のメモリの一方から、該
    アドレスの該第1の順序で記憶された該データの各々を
    該アドレスの該第1の順序で読み出すとともに、該特定
    ビットの値が論理“0”を示す場合には該アドレスの該
    第1の順序で、また、該特定ビットの該値が論理“1”
    を示す場合には該アドレスの該第2の順序で、該読み出
    されたデータを前記第1と第2のメモリの他方に書き込
    み、次に、前記第1と第2のメモリの前記一方から、該
    アドレスの該第2の順序で記憶された該データの各々を
    該アドレスの該第2の順序で読み出すとともに、該特定
    ビットの値が論理“0”を示す場合には該アドレス該第
    1の順序で、また、該特定ビットの該値が論理“1”を
    示す場合には該アドレスの該第2の順序で、該読み出さ
    れたデータを前記第1と第2のメモリの他方に書き込む
    ことを繰り返すステップと、 該データが直前に書き込まれた前記第1と第2のメモリ
    の一方から、該アドレスの該第1の順序で記憶された該
    データの各々を該アドレスの該第1の順序で読み出し、
    次に、該アドレスの該第2の順序で記憶された該データ
    の各々を該アドレスの該第2の順序で読み出すステップ
    と、 を具備することを特徴とするデータソーティング方法。
  2. 【請求項2】 請求項1記載のデータソーティング方法
    において、前記ソートすべきデータの各々は、前記デー
    タを識別するためのアドレスとともに、前記第1、第2
    のメモリに記憶されるものである。
  3. 【請求項3】 各々が、ソートすべきデータの数に相当
    する数の記憶エリアであって、各々がアドレスを有して
    いる記憶エリアを含む第1のメモリと第2のメモリと、 該データの各々の最下位ビットを特定ビットとして、該
    特定ビットの値が論理“0”を示す場合には該アドレス
    の第1の順序で、また、該特定ビットの該値が論理
    “1”を示す場合には該第1の順序と反対の該アドレス
    の第2の順序で、該データの各々を前記第1と第2のメ
    モリの所定の一方に書き込む第1の処理手段と、 該特定ビットの位置を該データの第2の下位ビットから
    最上位ビットまで順次移動させる手段と、 該データが直前に書き込まれた前記第1と第2のメモリ
    の一方から、該アドレスの該第1の順序で記憶された該
    データの各々を該アドレスの該第1の順序で読み出すと
    ともに、該特定ビットの値が論理“0”を示す場合には
    該アドレスの該第1の順序で、また、該特定ビットの該
    値が論理“1”を示す場合には該アドレスの該第2の順
    序で、該読み出されたデータを前記第1と第2のメモリ
    の他方に書き込み、また、前記第1と第2のメモリの前
    記一方から、該アドレスの該第2の順序で記憶された該
    データの各々を該アドレスの該第2の順序で読み出すと
    ともに、該特定ビットの値が論理“0”を示す場合には
    該アドレスの該第1の順序で、また、該特定ビットの該
    値が論理“1”を示す場合には該アドレスの該第2の順
    序で、該読み出されたデータを前記第1と第2のメモリ
    の他方に書き込む第2の処理手段と、 該データが直前に書き込まれた前記第1と第2のメモリ
    の一方から、該アドレスの該第1の順序で記憶された該
    データの各々を該アドレスの該第1の順序で読み出し、
    また、該アドレスの該第2の順序で、記憶された該デー
    タの各々を該アドレスの該第2の順序で読み出す第3の
    処理手段と、 を具備することを特徴とするソーティング装置。
  4. 【請求項4】 請求項3記載のソーティング装置におい
    て、前記ソートすべきデータの各々は、前記データを識
    別するためのアドレスとともに、前記第1、第2のメモ
    リに記憶されるものである。
JP7717595A 1994-03-07 1995-03-07 データソーティング方法及びソーティング装置 Withdrawn JPH07302187A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7717595A JPH07302187A (ja) 1994-03-07 1995-03-07 データソーティング方法及びソーティング装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP6465294 1994-03-07
JP6-64652 1994-03-07
JP7717595A JPH07302187A (ja) 1994-03-07 1995-03-07 データソーティング方法及びソーティング装置

Publications (1)

Publication Number Publication Date
JPH07302187A true JPH07302187A (ja) 1995-11-14

Family

ID=26405749

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7717595A Withdrawn JPH07302187A (ja) 1994-03-07 1995-03-07 データソーティング方法及びソーティング装置

Country Status (1)

Country Link
JP (1) JPH07302187A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011040009A (ja) * 2009-08-18 2011-02-24 S Grants Co Ltd ビット列データソート装置、ソート方法及びプログラム
WO2011024376A1 (ja) * 2009-08-30 2011-03-03 株式会社エスグランツ ビット列データソート装置、方法及びプログラム
US8515976B2 (en) 2008-12-22 2013-08-20 KOUSOKUYA, Inc. Bit string data sorting apparatus, sorting method, and program

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8515976B2 (en) 2008-12-22 2013-08-20 KOUSOKUYA, Inc. Bit string data sorting apparatus, sorting method, and program
JP2011040009A (ja) * 2009-08-18 2011-02-24 S Grants Co Ltd ビット列データソート装置、ソート方法及びプログラム
WO2011021347A1 (ja) * 2009-08-18 2011-02-24 株式会社エスグランツ ビット列データソート装置、ソート方法及びプログラム
WO2011024376A1 (ja) * 2009-08-30 2011-03-03 株式会社エスグランツ ビット列データソート装置、方法及びプログラム
JP2011048801A (ja) * 2009-08-30 2011-03-10 S Grants Co Ltd ビット列データソート装置、方法及びプログラム

Similar Documents

Publication Publication Date Title
CA1069217A (en) Multistage sorter with concurrent access to interstage buffer memories
US4030077A (en) Multistage sorter having pushdown stacks for arranging an input list into numerical order
US4210961A (en) Sorting system
US7124268B2 (en) Sorting method and apparatus using a CAM
US4991134A (en) Concurrent sorting apparatus and method using FIFO stacks
JPH0728624A (ja) ソート装置及びソート方法
US4003031A (en) Information-arranging device
US4131947A (en) Random access digital sorter
US5493652A (en) Management system for a buffer memory having buffers of uniform size in which the buffers are divided into a portion of contiguous unused buffers and a portion of contiguous buffers in which at least some are used
US5142687A (en) Sort accelerator with rebound sorter repeatedly merging sorted strings
GB1570264A (en) Sorter with overlap operation
JPH07302187A (ja) データソーティング方法及びソーティング装置
JPH0666050B2 (ja) ソート処理方法
JP2841456B2 (ja) データ転送方法及びデータバッファ装置
CN87104487A (zh) 在具有虚拟存储地址的数据处理系统中进行页面置换的装置和方法
EP0322888A2 (en) Cache memory device
US5887137A (en) Data processing apparatus having a sorting unit to provide sorted data to a processor
EP0564290B1 (en) High speed sorting apparatus
JPS6312022A (ja) ソ−タの区分制御回路
JPH05298893A (ja) 連想記憶装置
JPH07120263B2 (ja) ソ−ト機能を備えた処理装置
JPH08263270A (ja) データソート方法及びデータソート装置
JPH06208614A (ja) 画像処理装置
EP0335489A2 (en) Concurrent sorting apparatus and method
JPH03105467A (ja) 検索論理演算回路

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20020507