DE60132328T2 - Bestimmung des minimum- oder des maximumwertes in einem datensatz - Google Patents
Bestimmung des minimum- oder des maximumwertes in einem datensatz Download PDFInfo
- Publication number
- DE60132328T2 DE60132328T2 DE60132328T DE60132328T DE60132328T2 DE 60132328 T2 DE60132328 T2 DE 60132328T2 DE 60132328 T DE60132328 T DE 60132328T DE 60132328 T DE60132328 T DE 60132328T DE 60132328 T2 DE60132328 T2 DE 60132328T2
- Authority
- DE
- Germany
- Prior art keywords
- value
- binary
- decision
- values
- pair
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/22—Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/22—Indexing scheme relating to groups G06F7/22 - G06F7/36
- G06F2207/222—Binary data tree
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)
- Complex Calculations (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
- HINTERGRUND DER ERFINDUNG
- Die vorliegende Erfindung bezieht sich auf Datenverarbeitungstechniken für die Verwendung in Kommunikationssystemen und dergleichen und insbesondere auf die Optimierung von Binärbaum-Suchstrukturen, die in derartigen Systemen verwendet werden.
- Die Bestimmung eines Minimal- oder Maximalwertes in einem Datensatz ist eine übliche Operation, die oft unter Verwendung spezialisierter Hardware ausgeführt wird. Als ein Beispiel verwenden viele Kommunikationssysteme den Viterbi-Algorithmus, der eine Bestimmung des wahrscheinlichsten Weges für jeden Zustand erfordert. Dieser muss geschätzt werden, indem der Weg, der die maximale Metrik (falls eine Korrelationsmetrik verwendet wird) oder die minimale Metrik (falls ein euklidischer Abstand verwendet wird) besitzt, unter anderen konkurrierenden Wegen gefunden wird. Es ist ein effizientes Mittel zum Bestimmen der maximalen oder minimalen Metrik erforderlich.
- Ein Verfahren zum Finden des Minimums in einer Anordnung aus N Werten, das speichereffizient ist, besteht darin, den laufenden Schätzwert des Minimums und seinen Ort zu speichern und sie mit jedem der (N – 1) anderen Werte in der Anordnung zu vergleichen. Das Verfahren erfordert (N – 1) Vergleiche, die wenigstens (N – 1) Taktzyklen erfordern.
- Für verzögerungsempfindliche Systeme oder für Systeme, die weniger als (N – 1) Taktzyklen haben, um die Vergleiche auszuführen, ist ein Standard-Ausweichzugang die Binärbaum-Suchstruktur. In einer Binärbaum-Suchstruktur enthält jede Schicht halb so viele Komparatoren und Speicherelemente wie die vorhergehende Schicht, wobei folglich die Latenzzeit auf log2N Taktzyklen verringert ist und ein Pipeline-Betrieb erlaubt ist. Die Kehrseite einer derartigen Struktur ist die Ergänzung von (N – 1) Komparatoren und Speicherelementen.
- Aus den vorhergehenden Gründen gibt es einen Bedarf an einem Verfahren und einer Vorrichtung, die die Latenzzeit begrenzen, die in Systemen inhärent ist, die einen laufenden Schätzwert verwenden, und die die Anzahl der in einer Standard-Binärbaum-Suchstruktur verwendeten Speicherelemente verringern.
- Die Beschreibung
US-A-5187675 offenbart eine Schaltung, wie sie im Oberbegriff des Anspruchs 1 spezifiziert ist. - Gemäß der vorliegenden Erfindung werden Verfahren und Vorrichtung geschaffen, wie sie in den Ansprüchen dargelegt sind.
- In einer noch weiteren Ausführungsform schafft die vorliegende Erfindung in einer Anordnung aus N Datenwerten ein Verfahren zum Bestimmen einer Adresse für ein Ergebnis. Das Ergebnis ist die Ausgabe einer binären Operation, die in der Anordnung der Datenwerte definiert ist, wobei jeder Datenwert W Bits besitzt. Das Verfahren umfasst in jeder Berechnungsstufe i von log2N Berechnungsstufen die Schritte des Ausführens von N/2i binären Operationen an den Datenwerten von N/2i Paaren von Eingangswerten. In dieser Weise erzeugt jede der binären Operationen eine binäre Entscheidung, die eine lokale Adresse eines ausgewählten Datenwertes innerhalb des Paares von Eingangswerten repräsentiert, wobei sie in jeder Berechnungsstufe jedes Paar von Eingangswerten multiplexiert, um eine durch die binäre Entscheidung bestimmte Ausgabe zu erzeugen.
- Es ist eine Aufgabe der vorliegenden Erfindung, ein Verfahren zum Finden eines bestimmten Wertes in einer Anordnung von Datenwerten zu schaffen, wobei das Verfahren die Schritte des Gruppierens mehrerer Entscheidungseinheiten in mehreren Berechnungsstufen, wobei die Anzahl der Entscheidungseinheiten in einer Berechnungsstufe auf der Ebene i gleich N/2i ist, wobei N die Größe der Anordnung ist, und des Verarbeitens der Datenwerte in jeder Entscheidungseinheit umfasst. Eine Entscheidungseinheit in einer letzten Berechnungsstufe bestimmt den bestimmten Wert.
- Die vorliegende Erfindung kann in jeder Anordnung verwendet werden, die einen transitiven binären Operator besitzt, der auf ihr definiert ist, wobei der binäre Operator jedes Paar auf die Boolesche Menge von {wahr, falsch} abbildet.
- Diese und andere Merkmale und Aufgaben der Erfindung werden aus der folgenden ausführlichen Beschreibung der bevorzugten Ausführungsformen genauer verstanden, die angesichts der beigefügten Zeichnung gelesen werden sollte.
- KURZBESCHREIBUNG DER ZEICHNUNG
- Die beigefügte Zeichnung, die in die Beschreibung aufgenommen ist und einen Teil der Beschreibung bildet, veranschaulicht die Ausführungsformen der vorliegenden Erfindung und dient zusammen mit der Beschreibung dazu, die Prinzipien der Erfindung zu erklären.
-
1 zeigt eine Logikschaltung zum Ausführen des Verfahrens der vorliegenden Erfindung; -
2 zeigt das durch das Anwenden des Verfahrens der vorliegenden Erfindung erhaltene Ergebnis; und -
3 zeigt die Speichereinsparungen, die in Bezug auf die vorhergehenden Techniken erhalten werden, wenn das vorliegende Verfahren und die vorliegende Vorrichtung verwendet werden. - AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
- Beim Beschreiben einer bevorzugten Ausführungsform der Erfindung, die in der Zeichnung veranschaulicht ist, wird um der Klarheit willen eine spezifische Terminologie verwendet. Es ist jedoch nicht vorgesehen, dass die Erfindung auf die auf diese Weise ausgewählten spezifischen Bezeichnungen eingeschränkt ist, wobei es selbstverständlich ist, dass jeder spezifische Begriff alle technischen Äquivalente umfasst, die in einer ähnlichen Weise arbeiten, um einen ähnlichen Zweck zu erreichen.
- Unter Bezugnahme auf die Zeichnung im Allgemeinen und die
1 bis3 im Besonderen wird die Vorrichtung der vorliegenden Erfindung offenbart. -
1 zeigt eine Logikschaltung zum Ausführen des Verfahrens der vorliegenden Erfindung, wobei sie eine Schaltung zum Erhalten des Minimalwertes, der in einer Anordnung von Datenwerten enthalten ist, zusammen mit der Adresse seines Ortes veranschaulicht. In dieser Ausführungsform werden sechzehn Datenwerte X15, X14, ..., X0, die in einem Speicherbereich enthalten sind, durchsucht, um den Minimalwert zu finden. Es werden vier Berechnungsstufen, von denen jede wenigstens eine Entscheidungseinheit besitzt, verwendet, um das Minimum und seinen Ort zu bestimmen. Jede Berechnungsstufe kürzt die Anzahl der möglichen Werte um die Hälfte. In dieser Ausführungsform sind die möglichen Werte die verringerte Menge, die aus der Anordnung der Datenwerte erhalten wird, indem die Hälfte der Werte entfernt wird, die nicht die Minimalwerte sind. Die Anzahl der Entscheidungseinheiten in jeder Stufe ist gleich ein halb der Anzahl der Eingangswerte. - In dieser Ausführungsform nimmt jede Entscheidungseinheit in einer Berechnungsstufe als ihre Eingabe ein Paar von Datenwerten und eine Teiladresse jedes Datenwertes, speichert das Minimum der zwei Eingangswerte und fügt zu seiner Teiladresse ein höchstwertiges Bit hinzu, das angibt, welcher der zwei Datenwerte ausgewählt worden ist. Jede Berechnungsstufe fügt ein weiteres Bit der Adresse hinzu, bis die Adresse vollständig bekannt ist.
- Wie in
1 veranschaulicht ist, umfasst eine Entscheidungseinheit einen binären Operator, der hier als ein Komparator101 dargestellt ist, einen Multiplexer103 und ein Speicherelement105 . Jeder Komparator101 in der Berechnungsstufe100 nimmt als seine Eingabe ein Paar von Datenwerten, wobei jeder acht Bit lang ist, und gibt eine binäre Entscheidung aus, die die lokale Adresse des minimalen Datenwertes innerhalb des Paares repräsentiert. Als ein Beispiel ergibt, falls X15 im Vergleich zu X14 das Minimum ist, die binäre Entscheidung eine binäre 1, weil "1" die lokale Adresse von X15 und "0" die lokale Adresse von X14 innerhalb des Paares ist. - Ein Multiplexer
103 in der ersten Berechnungsstufe100 nimmt als seine Eingabe ein Paar von Werten aus der Anordnung der Datenwerte und gibt den durch die binäre Entscheidung ausgewählten Eingangswert aus. In dieser Ausführungsform bestimmt die binäre Entscheidung, welcher Eingangswert dem Booleschen "wahr" des binären Operators und folglich dem Minimum der zwei Eingangswerte entspricht. Ein Speicherelement105 in der ersten Berechnungsstufe100 speichert die Ausgabe seines zugeordneten Multiplexers103 . - In einer Ausführungsform speichert das Speicherelement
105 den ausgewählten Datenwert in einem Abschnitt des Speichers und fügt ein lokales Adressenbit, das durch die binäre Entscheidung dargestellt wird, als das höchstwertige Bit zur Teiladresse des ausgewählten Datenwerts hinzu. Alternativ kann die lokale Adresse als das niedrigstwertige Bit des Speicherelements105 hinzugefügt werden, wobei der ausgewählte Datenwert die acht höchstwertigen Bits umfassen kann. - In dieser Ausführungsform sind in der ersten Berechnungsstufe
100 die Teiladressen der Datenwerte 0 Bit breit. In der ersten Berechnungsstufe100 enthält jedes Speicherelement105 einen ausgewählten Datenwert und ein Bit, das die Teiladresse des ausgewählten Datenwertes repräsentiert. Die Menge der Datenwerte, die in allen Speicherelementen der ersten Berechnungsstufe100 enthalten ist, repräsentiert die verringerte Menge der Datenwerte, die wahrscheinlich das Minimum der Anordnung der Datenwerte enthält. Der Minimalwert der Anordnung der Datenwerte wird außerdem als ein bestimmter Wert entsprechend der über der Anordnung der Datenwerte definierten binären Operation bezeichnet. - In der zweiten Berechnungsstufe
110 nimmt jeder Multiplexer113 als seine Eingabe die Inhalte eines Paares von Speicherelementen105 der ersten Berechnungsstufe100 . Als ein Beispiel sind die Eingaben des Multiplexers113a die Inhalte der Speicherelemente105a und105b . In einer bevorzugten Ausführungsform sind die Eingaben in eine Entscheidungseinheit die Inhalte von zwei aufeinanderfolgenden Speicherelementen der vorhergehenden Berechnungsstufe. Die Eingänge des Multiplexers113 sind neun Bits breit und repräsentieren einen acht Bit breiten ausgewählten Wert und ein Bit der Teiladresse. In einer bevorzugten Ausführungsform vergleicht der Komparator111 nur die acht niedrigstwertigen Bits der Eingangswerte, um das Minimum zu bestimmen, wobei er eine binäre Entscheidung ausgibt. Das Speicherelement115 speichert die durch die binäre Entscheidung ausgewählte Ausgabe des Multiplexers113 und fügt die binäre Entscheidung als das höchstwertige Bit zur Teiladresse hinzu. In der zweiten Berechnungsstufe110 sind die möglichen Werte auf eine Menge von vier Elementen verringert. - Die vorher in Übereinstimmung mit der ersten Berechnungsstufe
100 und der zweiten Berechnungsstufe110 beschriebene Operation wird in jeder nachfolgenden Berechnungsstufe ausgeführt. In der dritten Berechnungsstufe120 sind die Eingänge der Entscheidungseinheiten zehn Bits breit, während sie in der vierten Berechnungsstufe130 elf Bits breit sind. Die letzte Stufe, die durch die vierte Berechnungsstufe130 repräsentiert wird, enthält nur eine Entscheidungseinheit, wie in1 veranschaulicht ist. Das Speicherelement135 enthält vier Bits, die die ganze Adresse des bestimmten Wertes repräsentieren, der im Abschnitt der acht niedrigstwertigen Bits des Speicherelements135 gespeichert ist. -
2 veranschaulicht das durch das Anwenden des Verfahrens der vorliegenden Erfindung auf eine Anordnung von Werten erhaltene Ergebnis. In jeder Berechnungsstufe sind die Inhalte der Speicherelemente gezeigt. Die letzte Berechnungsstufe enthält den Minimalwert, der gleich eins ist, und seine ganze Adresse, die im binären Format 0101 ist. - Obwohl
1 eine Anordnung von Werten der Größe sechzehn zeigt, kann die vorliegende Erfindung auf jede Anordnung von Werten angewendet werden, die eine Größe N besitzt, wobei N eine Potenz von zwei ist und jeder Wert W Bits breit ist. Die Anzahl der Berechnungsstufen in diesem Fall ist gleich log2N. Jede Berechnungsstufe auf der Ebene i mit 1 ≤ i ≤ log2N enthält N/2i Entscheidungseinheiten, wobei jede Entscheidungseinheit zwei Eingaben nimmt, von denen jede (W + i – 1)-Bits breit ist. - Das Verfahren der vorliegenden Erfindung kann außerdem auf jede Menge angewendet werden, auf der eine binäre Operation definiert ist und bei der die binäre Operation eine transitive Eigenschaft besitzt. Insbesondere kann das Verfahren außerdem verwendet werden, um ein Maximum in einer Anordnung von Werten zu finden.
- Die Kurve nach
3 zeigt die Anzahl der eingesparten Speicherelemente gegenüber dem Stand der Technik, wenn das Verfahren und die Vorrichtung der vorliegenden Erfindung verwendet werden. In der Binärbaum-Suchstruktur des Standes der Technik werden die Werte zusammen mit ihrer ganzen Adresse in jeder Stufe der Suche gespeichert, während beim vorliegenden Verfahren nur Teiladressen gespeichert werden. Die Anzahl der Bitspeicherelemente (NUM FLOPS), die im früheren System notwendig ist, wird durch die folgende Formel repräsentiert: W(N – 1) + log2N(N – 1). Die Anzahl der Bitspeicherelemente, die für das vorliegende System notwendig ist, ist gleich W(N – 1) + 2N – log2N – 2. Die Gesamtspeicher-Einsparungen können dann durch die Formel: N log2N – 2N + 2 vorhergesagt werden, die durch die Kurve nach3 repräsentiert wird.
Claims (12)
- System zum Lokalisieren eines bestimmten Wertes, der in einer Anordnung aus N Datenwerten (x1, ..., x15) enthalten ist, wobei der bestimmte Wert das Ergebnis einer binären Vergleichsoperation ist, die über die Anordnung von N Datenwerten ausgeführt wird, wobei jeder Datenwert eine Breite von mehreren Bits hat, wobei das System mehrere Entscheidungseinheiten umfasst, die in aufeinander folgenden Berechnungsstufen (
100 ,110 ,120 ,130 ) gruppiert sind, wobei jede Entscheidungseinheit einen Ausgabewert erzeugt, der einen ausgewählten Datenwert und eine Teiladresse des ausgewählten Datenwerts in der Anordnung repräsentiert, wobei das System dadurch gekennzeichnet ist, dass (a) jede Entscheidungseinheit ein Paar von Eingangswerten (von105A ,105B ) als parallele Daten empfängt; und (b) jede der mehreren Entscheidungseinheiten umfasst: (i) einen binären Operator (111A ), der Datenwerte ([7:0]) des Paars von Eingangswerten parallel empfängt und eine binäre Entscheidung erzeugt, die eine lokale Adresse des ausgewählten Datenwertes repräsentiert, indem er die binäre Vergleichsoperation an den Datenwerten in den Eingangswerten (105A ,105B ) ausführt, (ii) einen Multiplexer (103A ), der durch den binären Operator (111A ) in Reaktion auf die binäre Entscheidung gesteuert wird, um einen Eingangswert des Paars von Eingangswerten (von105A ,105B ) als eine Ausgabe zu wählen, und (iii) ein Speicherelement (115A ), das mit dem binären Operator (111A ) und mit dem Multiplexer (103A ) gekoppelt ist, um die Ausgabe des Multiplexers (103A ) und die binäre Entscheidung zu speichern und so die binäre Entscheidung mit der Teiladresse des ausgewählten Datenwerts, der durch die Entscheidungseinheit erzeugt wird und in einer vorhergehenden Berechnungsstufe (100 ) gespeichert ist, zu verknüpfen. - System nach Anspruch 1, bei dem der binäre Operator den Minimalwert des Paars von Datenwerten, die in dem Paar von Eingangswerten enthalten sind, auswählt.
- System nach Anspruch 1, bei dem der binäre Operator den Maximalwert des Paars von Datenwerten, die in dem Paar von Eingangswerten enthalten sind, auswählt.
- System nach Anspruch 1, Anspruch 2 oder Anspruch 3, bei dem die Teiladresse eines Eingangswerts bei der Berechnungsstufe i das (i – 1)-höchstwertige Bit des Speicherelements der Berechnungsstufe (i – 1) ist.
- System nach Anspruch 1, Anspruch 2 oder Anspruch 3, bei dem die Teiladresse eines Eingangswertes bei der Berechnungsstufe i das (i – 1)-niedrigstwertige Bit des Speicherelements der Berechnungsstufe (i – 1) ist.
- System nach einem vorhergehenden Anspruch, bei dem die Anzahl von Berechnungsstufen (K) mit der Größe N der Anordnung von Datenwerten über die Formel K = log 2N in Beziehung steht.
- System nach Anspruch 6, bei dem die Anzahl von Entscheidungseinheiten bei der Berechnungsstufe i gleich N/2i ist, wobei 1 ≤ i ≤ K.
- System nach Anspruch 6 oder Anspruch 7, bei dem die letzte Berechnungsstufe die Adresse des bestimmten Wertes in den K höchstwertigen Bits ihres zugeordneten Speicherelements enthält und der bestimmte Wert in den W niedrigstwertigen Bits des zugeordneten Speicherelements enthalten ist.
- System nach Anspruch 6 oder Anspruch 7, bei dem die letzte Berechnungsstufe die Adresse des bestimmten Wertes in den K niedrigstwertigen Bits ihres zugeordneten Speicherelements enthält und der bestimmte Wert in den W höchstwertigen Bits des zugeordneten Speicherelements enthalten ist.
- Verfahren zum Lokalisieren eines bestimmten Wertes, der in einer Anordnung aus N Datenwerten (x1, ..., x15) enthalten ist, wobei der bestimmte Wert das Ergebnis einer binären Vergleichsoperation ist, die über die Anordnung von N Datenwerten ausgeführt wird, wobei jeder Datenwert eine Breite von mehreren Bits hat, in einem System, das mehrere Entscheidungseinheiten umfasst, die in aufeinander folgenden Berechnungsstufen (
100 ,110 ,120 ,130 ) gruppiert sind, wobei jede Entscheidungseinheit einen Ausgabewert erzeugt, der einen ausgewählten Datenwert und eine Teiladresse des ausgewählten Datenwerts in der Anordnung repräsentiert, wobei das Verfahren gekennzeichnet ist durch die folgenden Schritte: (a) Empfangen eines Paars von Eingangswerten (von105A ,105B ) als parallele Daten bei jeder Entscheidungseinheit; und (b) Ausführen der folgenden Schritte in jeder der mehreren Entscheidungseinheiten: (i) Ausführen einer binären Operation (111A ) an Datenwerten ([7:0]) des Paars von Eingangswerten, die parallel empfangen werden, und Erzeugen einer binären Entscheidung, die eine lokale Adresse des ausgewählten Datenwerts repräsentiert, durch Ausführen der binären Vergleichsoperation an den Datenwerten in den Eingangswerten (von105A ,105B ), (ii) Multiplexieren (103A ) des Paars von Eingangswerten (von105A ,105B ) in Reaktion auf die binäre Entscheidung des binären Operators (111A ), um einen Eingangswert des Paars von Eingangswerten (von105A ,105B ) als eine Ausgabe auszuwählen, und (iii) Speichern (115A ) der Ausgabe des Multiplexierungsschrittes und der binären Entscheidung und somit Verknüpfen der binären Entscheidung mit der Teiladresse des ausgewählten Datenwertes, der von der Entscheidungseinheit erzeugt wird und in einer vorhergehenden Berechnungsstufe (100 ) gespeichert ist. - Verfahren nach Anspruch 10, bei dem die binäre Operation eine Operation zum Finden des Minimums ist.
- Verfahren nach Anspruch 10, bei dem die binäre Operation eine Operation zum Finden des Maximums ist.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US532510 | 2000-03-21 | ||
US09/532,510 US6931424B1 (en) | 2000-03-21 | 2000-03-21 | Storage efficient minimization logic |
PCT/US2001/008948 WO2001071483A2 (en) | 2000-03-21 | 2001-03-21 | Determinaton of a minimum or maximum value in a set of data |
Publications (2)
Publication Number | Publication Date |
---|---|
DE60132328D1 DE60132328D1 (de) | 2008-02-21 |
DE60132328T2 true DE60132328T2 (de) | 2009-01-08 |
Family
ID=24122100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE60132328T Expired - Lifetime DE60132328T2 (de) | 2000-03-21 | 2001-03-21 | Bestimmung des minimum- oder des maximumwertes in einem datensatz |
Country Status (6)
Country | Link |
---|---|
US (1) | US6931424B1 (de) |
EP (1) | EP1290542B1 (de) |
AU (1) | AU2001245894A1 (de) |
DE (1) | DE60132328T2 (de) |
TW (1) | TW550497B (de) |
WO (1) | WO2001071483A2 (de) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7167531B2 (en) * | 2001-09-17 | 2007-01-23 | Digeo, Inc. | System and method for shared decoding using a data replay scheme |
US7161994B2 (en) * | 2001-09-17 | 2007-01-09 | Digeo, Inc. | System and method for shared decoding |
US20030133519A1 (en) * | 2001-09-17 | 2003-07-17 | Manish Shah | Forward tracing decoder apparatus and method |
US7103868B2 (en) * | 2002-11-12 | 2006-09-05 | Lsi Logic Corporation | Optimizing depths of circuits for Boolean functions |
US7072922B2 (en) * | 2002-12-13 | 2006-07-04 | Lsi Logic Corporation | Integrated circuit and process for identifying minimum or maximum input value among plural inputs |
US7434034B2 (en) * | 2004-09-13 | 2008-10-07 | Ati Technologies Inc. | SIMD processor executing min/max instructions |
JP4502223B2 (ja) * | 2007-12-05 | 2010-07-14 | 株式会社エスグランツ | ビット列のマージソート装置、方法及びプログラム |
JP4464459B1 (ja) * | 2009-03-29 | 2010-05-19 | 株式会社エスグランツ | コード列検索装置、検索方法及びプログラム |
US20200110579A1 (en) * | 2018-10-05 | 2020-04-09 | International Business Machines Corporation | Argmax function analog circuit |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4100532A (en) * | 1976-11-19 | 1978-07-11 | Hewlett-Packard Company | Digital pattern triggering circuit |
US4821290A (en) * | 1988-02-09 | 1989-04-11 | General Electric Company | Decoder for digital signal codes |
JPH04180124A (ja) * | 1990-11-15 | 1992-06-26 | Toshiba Corp | ソート処理装置 |
US5187675A (en) | 1991-09-18 | 1993-02-16 | Ericsson-Ge Mobile Communications Holding Inc. | Maximum search circuit |
US5383142A (en) * | 1993-10-01 | 1995-01-17 | Hewlett-Packard Company | Fast circuit and method for detecting predetermined bit patterns |
US5455825A (en) * | 1994-04-28 | 1995-10-03 | Mitsubishi Electric Research Laboratories | Tag-based scheduling system for digital communication switch |
US5710562A (en) * | 1995-08-31 | 1998-01-20 | Ricoh Company Ltd. | Method and apparatus for compressing arbitrary data |
-
2000
- 2000-03-21 US US09/532,510 patent/US6931424B1/en not_active Expired - Lifetime
-
2001
- 2001-03-21 WO PCT/US2001/008948 patent/WO2001071483A2/en active IP Right Grant
- 2001-03-21 EP EP01918871A patent/EP1290542B1/de not_active Expired - Lifetime
- 2001-03-21 DE DE60132328T patent/DE60132328T2/de not_active Expired - Lifetime
- 2001-03-21 AU AU2001245894A patent/AU2001245894A1/en not_active Abandoned
- 2001-03-21 TW TW090106603A patent/TW550497B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
EP1290542B1 (de) | 2008-01-09 |
AU2001245894A1 (en) | 2001-10-03 |
DE60132328D1 (de) | 2008-02-21 |
WO2001071483A2 (en) | 2001-09-27 |
WO2001071483A3 (en) | 2002-03-14 |
TW550497B (en) | 2003-09-01 |
US6931424B1 (en) | 2005-08-16 |
EP1290542A2 (de) | 2003-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60318722T2 (de) | Eine programmierbare regelverarbeitungsvorrichtung für hochgeschwindigkeits-kontextsuchen und -erkennung von mustern in daten | |
DE2521289C2 (de) | Datenverarbeitungsanordnung mit Datenfeld-Hilfsprozessor | |
DE60118973T2 (de) | Verfahren zum abfragen einer struktur komprimierter daten | |
DE69435034T2 (de) | Verfahren ind vorrichtung zur durchfuehrung einer schnellen hadamard transform | |
DE19743266C1 (de) | Verfahren zum Hinzufügen bzw. Entfernen einer Adresse in einem teilbesetzten Suchbaum | |
DE2905328A1 (de) | Verfahren und vorrichtung zur assoziativen informationswiedergewinnung | |
DE60132328T2 (de) | Bestimmung des minimum- oder des maximumwertes in einem datensatz | |
DE4403917A1 (de) | Vorrichtung zum Berechnen einer Besetzungszählung | |
DE19826252C2 (de) | Verfahren zur digitalen Signalverarbeitung | |
DE69721395T2 (de) | Verfahren und Vorrichtung zur Anpassung von Modellen zur Sprecherverifikation | |
EP0722583A1 (de) | Prozessor für zeichenketten variabler länge | |
DE3926876A1 (de) | Schaltung und verfahren zur vorhersage eines sticky-bits bei der gleitpunktmultiplikation | |
DE3518818C2 (de) | ||
DE2133638B2 (de) | Verfahren zum Betrieb eines lernfähigen Systems aus in Kaskade geschalteten, zur nicht linearen Datenverarbeitung geeigneten lernfähigen Datenverarbeitungseinheiten | |
DE112013006764T5 (de) | Suchvorrichtung | |
DE60102230T2 (de) | Mehrfacheintragsvergleich in einem inhaltsadressierbaren speicher | |
DE4210109A1 (de) | Datensortiervorrichtung zum fruehen erkennen einer fertigen datensortierung sowie sortierverfahren | |
DE3026055A1 (de) | Schaltungsanordnung zur maschinellen zeichererkennung | |
EP0342017B1 (de) | Metawissen verwendende Inferenzmaschine | |
EP0057755B1 (de) | Mikrorechnersystem zum raschen Auffinden von Kennzeichenblöcken | |
DE102019112186A1 (de) | Doppelladebefehl | |
DE4322995C2 (de) | Decoder und Decodierungsverfahren für Codes variabler Länge | |
DE4220740A1 (de) | System zum analysieren von bildsignalen | |
DD294115A5 (de) | Vorrichtung und verfahren zur signalverarbeitung | |
EP0760151B1 (de) | Verfahren zur erkennung von sprachsignalen und anordnung zum durchführen des verfahrens |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |