JPS59148943A - メモリ回路 - Google Patents

メモリ回路

Info

Publication number
JPS59148943A
JPS59148943A JP2326683A JP2326683A JPS59148943A JP S59148943 A JPS59148943 A JP S59148943A JP 2326683 A JP2326683 A JP 2326683A JP 2326683 A JP2326683 A JP 2326683A JP S59148943 A JPS59148943 A JP S59148943A
Authority
JP
Japan
Prior art keywords
data
memory circuit
held
memory
specified position
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.)
Pending
Application number
JP2326683A
Other languages
English (en)
Inventor
Etsuo Kusumoto
楠本 悦雄
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2326683A priority Critical patent/JPS59148943A/ja
Publication of JPS59148943A publication Critical patent/JPS59148943A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/22Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
    • G06F7/24Sorting, i.e. extracting data from one or more carriers, rearranging the data in numerical or other ordered sequence, and rerecording the sorted data on the original carrier or on a different carrier or set of carriers sorting methods in general

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 産業上の利用分野 本発明はデータをソーティングして蓄積するソーティン
グ専用のメモリ回路に関する。
従来例の構成とその問題点 従来、データを大小関係によってソーティングする場合
、ソフトウェアでデータの大小を調べて並べ換えを行な
うのが一般的であった。近年、ソ。
−ティング専用のハードウェアが各拙提案されているが
、ソーティングに要する時間が短かく(データを入力し
終えた時点でソーティングが完成しているものが最も速
い。)、回路構成が簡単でハードウェアで実現し易いも
のは見られなかった。
特に最近LSIの集積度が上がり、LSI実現できる構
成のものも提案されてきた。例えば、第1図のパイプラ
インバルブソートのようなものがある。
第1図において、四角で表示されたものは基本となるセ
ルを表イ〕シ、セル中にはデータが保持される。データ
は矢印の方向に流れ、時刻0において外部からの入力が
始まる。各セルでは現在自ら保持するデータと前段から
の入力とを比較し、小さい方を保持し他は後段へ送る。
つまり時刻1で最前段のセルはデータ1を保持し新しい
入力とじてデータ8が入っている。1と8では1の方が
小さいから、時刻2では1をそのままデータとして残し
、8は後段へ送る。以下時刻と共にデータが入力され、
各セルにデータが前段から後段へ小さい順序にソーティ
ングされて、時刻8で全データのソートが完了する。こ
の方法ではデータ数をNとすると、データの比較回路が
(N−1)個必要で、ソーティング完了までの時間は(
2N−2)サイクル要する。カスケードにセルが結合さ
れており、まださほど複雑な動作ではないのでLSIで
実現するには都合のよい構成であるが、データを入力し
終えてから(N−2)サイクルしないとソーティングが
完了しない。
このように、LSIで実現しやすくかつデータが入力し
終えた時点でソーティングが完成しているようなハード
ウェアは従来なかった。
発明の目的 本発明は、データの並列比較・実時間ソーティングによ
って、高速なソーティング操作を可能にすることを目的
とする。
発明の構成 上記目的を達成するために、本発明は、カスケードに接
続する前段メモリ回路および後段メモリ回路との間でデ
ータの転送を行なうメモリ部と、データを比較する際に
比較の対象とする部分位置を指定するための外部からの
入力信号に基づいて、上記メモリ部に保持されているデ
ータと外部のデータバス上のデータとの間で指定された
位置の内容について大小を判定し、比較結果信号を内部
および上記後段メモリ回路へ出力する比較器と、外部か
らデータ書き込み信号が入力されると上記比較結果信号
と上記前段メモリ回路から入力される比較結果信号とを
もとに所定の基準に従って、上記メモリ部が現在自己が
保持しているデータを継続して保持するか、上記データ
バス上のデータを取り込むか、上記前段メモリ回路が保
持しているデータを取り込むかの制御を行ない、外部か
らデータ読み出し信号が入力された時には上記後段メモ
リ回路が保持しているデータを上記メモリ部に取り込ま
せる制御部とからなり、カスケード接続してデータのソ
ーティング用メモリを構成したもので、1書き込みサイ
クルでソーティングでき、高速ソーティングが可能とな
り、しかもソーティングするビット位置やフィールドを
指定してデータをソーティングでき、多様なソーティン
グが可能となる。
実施例の説明 以下、本発明の一実施例を図に従って貴イ千説明する。
第2図は、本発明の基本構成を表わす。
第2図において、0υはメモリ部、0のは比較器、(至
)は制御部、DBは外部から入ってくるデータバス、S
iはメモリ部0やが後段のメモリ回路のメモリ部とデー
タをやりとりするだめの信号線、S i−1はカスケー
ド接続する前段メモリ回路のメモリ部とデータをやりと
りするための信号線、CNT″RLはメモリ部aのを制
御するために制御部(ハ)から出力される信号線である
。この構成がひとつのメモリ回路であり、これがカスケ
ードに前後に複数個接続されることによってソーティン
グ用のメモリとなる。
データ線5i−1とS+、信号CH−t  とCiはそ
れぞれ同等のものであり、添字i−1はカスケードに接
続された前段のメモリ回路との間の信号線であることを
表わす。
第8図は、第2図における制御部Ojがメモリ部αυを
制御する時の基準を描いたフローチャートである。
また第4図は、第2図のメモリ回路を複数個カスケード
接続してデータのソーティング用メモリを構成したもの
である。Ml 1M2 ’・・・9Mnがそれぞ−れ第
2図のメモリ回路である。
第2図のメモリ回路の動作を述べる。外部に設けられた
CPU等からデータを書き込む時、まずデータバスDB
上に書き込むデータ■)xをのせ、データ書き込み信号
WTを送る。比較器0躇は、メモリ部0υが保持してい
るデータDiとデータバス上のデータDxを比較し、そ
の結果を比較結果信号Ciで出力している。データT′
)1は読み出し動作時以外は信号線Sjを通じて比較器
(2)へ入力されている。ここで、データの比較は全デ
ータ幅で行なうこともできるが、データの部分位置に関
して比較することができる。外部からの入力信号5LC
Tによって比較すべきデータの部分位置が指定され、比
較器(イ)はその情報に基づいてデータの対象ビット位
置についてのみ大小の比較をする。信号5LCTは、比
較を行なうビット位置を指定してもよいし、予めデータ
をいくつかのフィールドに分けて考えて1おき、そのフ
ィールドを指定するということにしてもよい。
制御部(至)には、この比較結果信号C4と前段のメモ
リ回路で同様にしてデータを比較した結果を出力した比
較結果信号C1−1とが入力されている。
制御部01は、データ書き込み信号WTが入力されると
、信号Ciと信号C1−1をもとにメモリ部αηを制御
する。この制御の手順は、データをどう並べるかによっ
て異なっているが、今ここではデータを最前段が一番大
きく後段へいくにつれ小さくなるように並べるものとす
る。制御部(至)は、データバスDB上のデータDxが
メモリ部0ルのデータI)iより小さい時は何もしない
。従ってメモリ部Opは現在のデータDiを継続して保
持する。データバスDB上のデータDXの方がメモリ部
aυのデータI)iより大きい場合には、前段のメモリ
回路の比較結果によって制御部(至)の動作が異なる。
前段のメモリ部のデー々Di−1がデータバスDB上の
データDxより大きい場合には、制御部03は信号CN
TRLを通じてメモリ部0υにデータバスDBJ二のデ
ータDxを取り込ませる。
一方、前段のメモリ部のデータDi−1がデータバスD
B上のデータl)xより大きくない場合には、制御部0
3は信号CNTRLを通じてメモリ部θυにデータ線5
i−1上に出力されているデータDilを取り込ませる
このような第2図のメモリ回路を第4図のようにカスケ
ードに接続すると、データのソーティング用メモリを構
成することができる。メモリ回路Mi−1のデータDi
−1より小さくメモリ回路M1のデータDiより大きい
データDxを書き込む時、メモリ回路Mi−1はそのま
ま現在のデータDi−1を保持し、メモリ回路Miはデ
ータバスI)B上のデータDXを取り込み、メモリ回路
Mi+1以後の段のメモリ回路は一段前のメモリ回路の
保持していたデータを取り込むことでデータをシフトさ
せる。これでデータをシフトさせる。これでデータを大
小関係に従って配列できる。
次に第4図に基づいて読み出しの動作について述べる。
蓄積されたデータは常にソーティングされたグ態にある
から、最前段のメモリ回路M、から順にデータを読み出
せばよい。データ読み出し信号RDが各メモリ回路に入
力されると、ひとつ後段のメモリ回路の保持するデータ
を取り込む。即ち、メモリ回路Miはメモリ回路J+1
の保持していたデータDi+1を取り込む。こうすると
、データ読み出し信号RDが1同人るごとにデータは後
段より前段へ一段だけシフトされる。よって、CPUは
メモリ回路M、のデータが出力される信号線S。の内容
をデータ読み出し信号RDを出しながら次々に読んでい
くことができる。
この動作は、第2図の回路では次のようにして行なわれ
る。即ち、データ読出し信号RDが入ると、制御部(至
)はメモリ部Q1へ信号CNTRLを通じて今まで保持
してきたデータDiを信号線5j−1へ出力し、次に同
様にして信号線S、へ出力されている後段メモリ回路が
今まで保持していたデータDi+1を取り込む動作を行
ない、データをシフトさせる。
以上の記述では、データをメモリ回路の前段から後段へ
大きい順にソーティングしたが、逆に小さい順にソーテ
ィングする場合でも同様である。
ただ比較回路0諺と制御部a3によるメモリ部0珍のデ
ータ取り込み制御の基準を次のように変えればよい。デ
ータバスDB上のデータDxがメモリ部01のデータD
iより大きい時は何もしない。この時、メモリ部0りは
現在のデータDiを継続して保持する。データバスDB
上のデータべがメモリ部01のデータDiより小さい時
は、前段のメモリ回路の比較結果によって動作が異なる
。前段のメモリ部のデータD41がデータバスDB上の
データD!より小さい場合には、制御部03は信号CN
TRLを通じてメモリ部aηにデータバスDB上のデー
タDxを取り込ませる。
また、前段のメモリ部のデータDi−1がデータバスD
B上のデータDxより小さくない場合には、制御部0は
信号CNTRLを通じてメモリ部Opにデータ線5i−
1からデータJ−1を取り込ませる。
ここで新しく書き込むデータDxが第4図におけるメモ
リ回路Mi−1のデータD f−1より大きく、メモリ
回路MiのデータI)iより小さい場合を考えると、こ
のデータへはメモリ回路Miに取り込まれ、それまでメ
モリ回路Miに保持されていたデータDiはメモリ回路
J+1へ移り、以後順に後段へシフトされる。こうして
データは前段から後段へ小さい順にソーティングされる
以上から、全体としての動作を記述する。まずソーティ
ングしたいデータを、ソーティングを行なうビット位置
やフィールドを指定した後、このメモリ回路に書き込ん
でいく。全て書き込み終わると、データ読み出し信号R
Dを次々に出してソーティング結果を読み出す。
なお、ソーティングしているデータがどこまで詰ってい
るか、つまりどのメモリ回路までデータが入っているか
が判かるようにするためには、そのための手段を設けね
ばならない。例えば、イニシャライズで全てリセットし
てしまいデータを0にしてしまってからデータを書き込
んでいくことが考えられる。あるいは、保持するデータ
にフラグを1ビツト付加し、データが入っているか否か
を示させることもできる。またシステムの初期動作時で
なくても、全メモリ回路のデータを一度に消すためのリ
セット信号を加えることもできるようにすることも考え
られる。
さらに、第5図のようなソーティングメモリを構成する
ことも考えられる。第5図において、a◆はレジスタで
あり、ソーティングの条件を書き込むのに使用され、ア
ドレスも割り当てられている。
信号5LCTは前述したように、データのうちソーティ
ングの対象となる部分位置を指定するものであり、信号
DIRはソーティングを大きい順に行なうか小さい順に
行なうかを指定するものである。
メモリ回路は、この信号DIRの指示に従ってデータの
ソーティング方向を変える。信号DIRは、第2図の回
路における制御部a1に入ってデータ書き込み時のデー
タ転送の基準を切り替えるか、あるいは比較器的に入っ
て比較結果信号Ciの出力のしかたを変えるかして、デ
ータの並ぶ大小の方向を変えさせる。レジスタo4には
、この信号5LCTと信号DIRを指定するためのデー
タが書き込まれる。
このレジスタ04のアドレス選択信号が信号SA、であ
り、CPUからの書き込みタイミング信号CPUWと両
方の入力によって、CPUからレジスタa4へデータが
書き込まれる。メモリへの書き込み、ソーティング結果
の睨み出しもひとつのアドレスに対するアクセスの形で
行なう。第5図における(+5はメモリ制御回路であり
、このソーティング用メモリを選択するアドレス選択信
号SAoが入力されている時に、CPUからの書き込み
タイミング信号CPUWがくるとデータ書き込み信号W
Tを出力し、CPUからの読み出しタイミング信号CP
URが入力されると、データ読み出し信号RDを出力す
る。
第5図の構成を持つソーティング用メモリを使用する時
の手順について記す。まずCPUは、レジスタ04へデ
ータをソーティングする時の条件を書き込む。即ち、デ
ータのどの位置に注目してソーティングさせるか、大小
関係のどの順でソーティングするかである。次にソーテ
ィングしたいデータをこのメモリに次々と書き込む(同
じアドレスに全て書き込む)。全データを書き1終えた
ところで、次は同じアドレスからデータを読み出す操作
をくり返すと、ソーティングし終ったデータを指定した
ソーティング順序で読み出すことができる。
発明の効果 以上本発明のメモリ回路をカスケード接続して構成した
ソーティング専用のメモリは、データバス上にのったこ
れから書き込もうとするデータと今まで保持してきたデ
ータの大小比較およびデータの取り込みを各メモリ回路
ごとに並行して行なうので、1書き込みサイクルでソー
ティングでき、高速ソーティングが可能となる。またソ
ーティングするビット位置やフィールドを指定してデー
タをソーティングできるので多様なソーティングが可能
である。
【図面の簡単な説明】
111図は従来JlIIを表わす図、第2図は掌発明の
基本構成図、第8図はデータ書き込み舞の各メモリ回路
の動作を示したフローチャート図、第4図はfs2図の
メモリ回路をカスケード接続した構成図、@5図はソー
ティング用のメモリを実現する一実施例の構成図である
。 0η・・・メモリ部、(至)・・・比較器、aト・・制
御部、04・・・レジスタ、09・・・メモリ制御回路
、(M+)〜(Mn)・・・メモリ回路、(DB)・・
・データバス 代理人 森本義弘 第1図 泊投←−一一→棧反 第2図 第3図 テ′−y*々込))4言苦W丁従クク 第4図 第S図

Claims (1)

  1. 【特許請求の範囲】 1、 カスケードに持続する前段メモリ回路および後段
    メモリ回路との間でデータの転送を行なうメモリ部と、
    データを比較する際に比較の対象とする部分位置を指定
    するための外部からの入力刊号に基づいて、上記メモリ
    部に保持されているデータと外部のデータバス上のゲー
    タとの間で指定された位置の内容について大小を判定し
    、比較、浩果信号を内部および上記後段メモリ回路へ出
    力する比較器と、外部からデータ書き込み信号が人力さ
    れると上記比較結果信号と上記前段メモリ回路から入力
    される比較結果信号とをもとに所定の基準に従って、上
    記メモリ部が現在自己が保持しているデータを継続して
    保持するか、上記データバス上のデータを取り込むか、
    上記前段メモリ回路が保持しているデータを取り込むか
    の制御を行ない、外部からデータ読み出し信号が入力さ
    れた時には上記後段メモリ回路が保持しているデータを
    上記メモリ部に取り込ませる制御部とからなり、カスケ
    ード接続してデータのソーティング用メモリを構成した
    メモリ回路。 2、制御部の所定の基準を、現在自己の保持しているデ
    ータの指定された位置の内容がデータバス上のデータの
    指定され1こ位置の内容より大きい時は現在自己の保持
    しているデータを継続して保持し、現在自己の保持して
    いるデータの指定された位置の内容がデータバス上のデ
    ータの指定された位置の内容より小さい時は、前段メモ
    リ回路の保持しているデータの指定された位置の内容が
    データバス上のデータの指定された位置の内容より小さ
    い場合前段メモリ回路の保持しているデータを取り込み
    、前段メモリ回路の保持しているデータの指定された位
    置の内容がデータバス上のデータの指定された位置の内
    容より大きい場合データバストのデータを取り込むよう
    にしたことを特徴とする特許請求の範囲第1項記載のメ
    モリ回路。 3.制御部の所定の基準を、現在自己の保持しているデ
    ータの指定された位置の内容がデータバス上のデータの
    指定された位置の内、jより小さい時は現在自己の保持
    しているデータを継続して沫持し、現在自己の保持して
    いるデータの指定さnた位置の内容がデータバス上のデ
    ータの指定された位置の内容より大きい時は、前段メモ
    リ回路の保持しているデータの指定された位置の内容が
    データバス上のデータの指定された位置の内容より大き
    い場合前段メモリ回路の保持しているデータを取り込み
    、前段メモリ回路の保持しているデータの指定された位
    置の内容がデータバス上のデータの指定された位置の内
    容より小さい場合データバス上のデータを取り込むよう
    にしたことを特徴とする特許請求の範囲第1項記載のメ
    モリ回路。
JP2326683A 1983-02-14 1983-02-14 メモリ回路 Pending JPS59148943A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2326683A JPS59148943A (ja) 1983-02-14 1983-02-14 メモリ回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2326683A JPS59148943A (ja) 1983-02-14 1983-02-14 メモリ回路

Publications (1)

Publication Number Publication Date
JPS59148943A true JPS59148943A (ja) 1984-08-25

Family

ID=12105794

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2326683A Pending JPS59148943A (ja) 1983-02-14 1983-02-14 メモリ回路

Country Status (1)

Country Link
JP (1) JPS59148943A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6318434A (ja) * 1986-07-10 1988-01-26 Nec Corp デ−タ処理装置
EP0441533A2 (en) * 1990-02-09 1991-08-14 Hewlett-Packard Company Apparatus for sorting and storing data
EP1459466A1 (en) * 2001-12-27 2004-09-22 Interdigital Technology Corporation Insertion sorter

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6318434A (ja) * 1986-07-10 1988-01-26 Nec Corp デ−タ処理装置
EP0441533A2 (en) * 1990-02-09 1991-08-14 Hewlett-Packard Company Apparatus for sorting and storing data
EP1459466A1 (en) * 2001-12-27 2004-09-22 Interdigital Technology Corporation Insertion sorter
EP1459466A4 (en) * 2001-12-27 2005-01-26 Interdigital Tech Corp INSERTION TRACKER

Similar Documents

Publication Publication Date Title
US4490786A (en) Vector processing unit
US6763426B1 (en) Cascadable content addressable memory (CAM) device and architecture
US6526474B1 (en) Content addressable memory (CAM) with accesses to multiple CAM arrays used to generate result for various matching sizes
US5535384A (en) Method and apparatus for controlling a hardware merge sorter to sort a plurality of records greater than 2n
EP1770519A2 (en) Information processing apparatus and its data processing method capable of forming descriptor queue
JP2006099719A (ja) 処理装置
US4761754A (en) Vector processor wherein outputs of vector registers are fixedly coupled to inputs of vector calculators
JPS63129425A (ja) デ−タ処理装置
US9570125B1 (en) Apparatuses and methods for shifting data during a masked write to a buffer
US5511189A (en) Data sorting apparatus capable of detecting completion of data sorting early and sorting method therefor
US7474586B1 (en) Random access memory (RAM) method of operation and device for search engine systems
JPS59148943A (ja) メモリ回路
JPH02100737A (ja) データ転送制御装置
JPS6142031A (ja) ソ−ト処理装置
US6510480B1 (en) Data transfer circuit and data processing method using data transfer circuit for handling interruption processing
JPH05143287A (ja) ハードウエアソート処理装置
JPH0668055A (ja) ディジタル信号処理装置
JPS58146935A (ja) ソ−ト処理装置
JP2859645B2 (ja) ベクトル処理システム
JPS61182136A (ja) デ−タ流待ち合せ回路
JPH04293120A (ja) データソート回路
JP2762537B2 (ja) プログラムテーブル入出力回路
JPS58105488A (ja) メモリ回路
JPH0744532A (ja) ベクトル処理装置
JPS5849960B2 (ja) 情報チエツク方式