DE112008000213T5 - Verfahren und Vorrichtung zum Bestimmen eines Minimums/Maximums einer Mehrzahl von Binärwerten - Google Patents

Verfahren und Vorrichtung zum Bestimmen eines Minimums/Maximums einer Mehrzahl von Binärwerten Download PDF

Info

Publication number
DE112008000213T5
DE112008000213T5 DE112008000213T DE112008000213T DE112008000213T5 DE 112008000213 T5 DE112008000213 T5 DE 112008000213T5 DE 112008000213 T DE112008000213 T DE 112008000213T DE 112008000213 T DE112008000213 T DE 112008000213T DE 112008000213 T5 DE112008000213 T5 DE 112008000213T5
Authority
DE
Germany
Prior art keywords
bits
bitwise
bit
values
minimum
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.)
Ceased
Application number
DE112008000213T
Other languages
English (en)
Inventor
Michael Mueller
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.)
Verigy Singapore Pte Ltd
Original Assignee
Verigy Singapore Pte 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 Verigy Singapore Pte Ltd filed Critical Verigy Singapore Pte Ltd
Publication of DE112008000213T5 publication Critical patent/DE112008000213T5/de
Ceased 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/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • 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/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/49Computations with a radix, other than binary, 8, 16 or decimal, e.g. ternary, negative or imaginary radices, mixed radix non-linear PCM

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Nonlinear Science (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Error Detection And Correction (AREA)
  • Complex Calculations (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

Ein Verfahren zum Bestimmen eines Minimums/Maximums einer Mehrzahl von Binärwerten, wobei das Verfahren folgende Schritte aufweist:
(a) Bestimmen einer Bitposition in der Mehrzahl von Binärwerten, nachfolgend zu der alle Bitwerte die gleichen sind;
(b) Auswählen dieser Binärwerte, deren Bitwert an der bei (a) bestimmten Bitposition und allen nachfolgenden Bitpositionen, falls vorhanden, einen vorbestimmten Wert aufweist, aus der Mehrzahl von Binärwerten;
(c) Wiederholen der Schritte (a) und (b), wobei der Schritt (a) auf der Basis der Binärwerte, die bei dem Schritt (b) ausgewählt werden, wiederholt wird, bis lediglich ein ausgewählter Binärwert oder eine Mehrzahl von übereinstimmenden Binärwerten verbleibt; und
(d) Liefern des verbleibenden Binärwerts als das Minimum oder Maximum.

Description

  • Ausführungsbeispiele der Erfindung betreffen ein Verfahren und eine Vorrichtung zum Bestimmen eines Minimums/Maximums einer Mehrzahl von Binärwerten, genauer gesagt betreffen Ausführungsbeispiele der vorliegenden Erfindung ein Verfahren und eine Vorrichtung zum Bestimmen eines Minimal-/Maximalwerts aus einer Mehrzahl von Binärwerten, die an unterschiedlichen Stellen entfernt von einem zentralen Prozessor gespeichert sind.
  • Speicherelemente und integrierte Schaltungen (IC, integrated circuit) müssen getestet werden, um einen ordnungsgemäßen Betrieb sicherzustellen, und insbesondere ist ein Testen bei einer Herstellung während einer IC- oder Speicherentwicklung erforderlich. Während eines Testens werden derartige Testobjekte (DUTs, devices under test) verschiedenen Arten von Stimulussignalen ausgesetzt und werden Antworten von den Vorrichtungen gemessen, verarbeitet und für gewöhnlich mit einer erwarteten Antwort verglichen. Ein derartiges Testen kann durch eine automatische Testausrüstung (ATE, automated test equipment) ausgeführt werden, die diese Aufgaben für gewöhnlich gemäß einem vorrichtungsspezifischen Testprogramm durchführt.
  • Beispiele für eine derartige automatische Testausrüstung sind die V93000-Reihe und die V5000-Reihe von Verigy, wobei die erste eine Plattform zum Testen von System-auf-einem-Chip-, System-auf-einem-Gehäuse- und Hochgeschwindigkeitsspeichervorrichtungen ist. Die letztere Reihe ist zum Testen von Speichervorrichtungen, einschließlich eines Flash-Speichers und Mehrchipgehäusen bei einer Wafersortierung und Endprüfung.
  • Bei einer derartigen automatischen Testausrüstung oder bei derartigen Testern könnte eine Mehrzahl von Testergebnissen erhalten und an verschiedenen Stellen entfernt von einem zentralen Verarbeitungsbereich gespeichert werden. Zum Beispiel könnten die Ergebnisse auf der Basis unterschiedlicher Stimulussignale erzeugt sein, die durch eine Mehrzahl von Verarbeitungsvorrichtungen oder Prozessoren geliefert werden, die nicht nur die Stimulussignale erzeugen, sondern auch die Antwortsignale von dem Testobjekt oder von einer Mehrzahl von Testobjekten empfangen. Für eine Testhandlung wird für gewöhnlich eine Testroutine an allen Kanälen parallel ausgeführt. Die Testroutinen, die ausgeführt werden, oder die Daten, die durch die Testroutinen verwendet werden, können sich unter Kanälen unterscheiden. Für eine schnelle Testausführung kann es jedoch erwünscht sein, eine Rundsendung und ein gemeinsames Lesen zu verwenden, wo immer es möglich ist, was erfordert, dass verwandte Testdaten unterschiedlicher Kanäle in all diesen Kanälen bei der gleichen Speicheradresse gespeichert sind. Das Herausfinden, wie Speicherstücke bestimmter Größen über bestimmte Sätze von Kanälen zuzuteilen sind, wird durch die Testerspeicherverwaltung vorgenommen. Bei einigen komplexen Testanwendungen kann es eine Einschränkung geben, dass verwandte Daten unterschiedlicher Kanäle bei der gleichen Adresse ausgerichtet sein müssen, was zu unbenutzten Zwischenräumen in dem Testerspeicher führt. Bei steigender Rechenleistung eines eingebetteten Prozessors innerhalb der Testprozessoren kann jeder Prozessor den Speicher desselben selbst verwalten und werden eventuell bei der Kommunikation zwischen dem zentralen Prozessor und den Testprozessoren lediglich symbolische Adressen für Speicherstücke verwendet. Durch dies kann die Beschränkung vermieden werden, dass verwandte Daten unterschiedlicher Kanäle an der gleichen Adresse ausgerichtet sein müssen. Dies kann jedoch erfordern, dass der zentrale Prozessor das Minimum oder Maximum von einigen Werten kennt, die in den Testprozessoren gespeichert sind. Ein Beispiel für dies ist die Frage: Wie viel Speicher kann man Angesichts eines Satzes von Kanälen über all diese Kanäle immer noch zuteilen, d. h. was ist die minimale Größe des größten zusammenhängenden Blocks von freiem Speicher an jedem dieser Kanäle?
  • Zusammenfassung der Erfindung
  • Es ist die Aufgabe der vorliegenden Erfindung, einen verbesserten Ansatz zum Bestimmen eines Minimal- oder Maximalwerts aus einer Mehrzahl von Binärwerten, die an unterschiedlichen Positionen gespeichert sind, auf verarbeitungs- und zeiteffiziente Weise zu schaffen.
  • Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1, ein Computerspeichermedium gemäß Anspruch 8, ein Computerprogrammprodukt gemäß Anspruch 9, ein Computerprogramm gemäß Anspruch 10, ein System gemäß Anspruch 11 und eine Vorrichtung gemäß Anspruch 14 gelöst.
  • Die vorliegende Erfindung sieht ein Verfahren zum Bestimmen eines Minimums/Maximums einer Mehrzahl von Binärwerten vor, wobei das Verfahren folgende Schritte aufweist:
    • (a) Bestimmen einer Bitposition in der Mehrzahl von Binärwerten, nachfolgend zu der alle Bitwerte die gleichen sind;
    • (b) Auswählen dieser Binärwerte, deren Bitwert an der bei (a) bestimmten Bitposition und allen nachfolgenden Bitpositionen, falls vorhanden, einen vorbestimmten Wert aufweist, aus der Mehrzahl von Binärwerten;
    • (c) Wiederholen der Schritte (a) und (b), wobei der Schritt (a) auf der Basis der Binärwerte, die bei dem Schritt (b) ausgewählt werden, wiederholt wird, bis lediglich ein ausgewählter Binärwert oder eine Mehrzahl von übereinstimmenden Binärwerten verbleibt; und
    • (d) Liefern des verbleibenden Binärwerts als das Minimum oder Maximum.
  • Ausführungsbeispiele der Erfindung sehen eine Vorrichtung zum Bestimmen eines Minimums/Maximums einer Mehrzahl von Binärwerten vor, die einen Prozessor aufweist, der konfiguriert ist, um gemäß dem Verfahren von Ausführungsbeispielen der Erfindung wirksam zu sein.
  • Weitere Ausführungsbeispiele der Erfindung sehen ein System zum Bestimmen eines Minimums/Maximums einer Mehrzahl von Binärwerten vor, wobei das System einen zentralen Prozessor, eine Logik, die mit dem zentralen Prozessor gekoppelt ist und konfiguriert ist, um eine bitweise ODER-Verknüpfung und eine bitweise UND-Verknüpfung einer Mehrzahl von Eingangswerten an den zentralen Prozessor auszugeben, und eine Mehrzahl von Speichern aufweist, die Prozessoren zugeordnet sind, wobei jeder Speicher mit der Logik gekoppelt ist und gekoppelt ist, um einen der Mehrzahl von Binärwerten zu halten, wobei der zentrale Prozessor konfiguriert ist, um gemäß dem Verfahren von Ausführungsbeispielen der Erfindung wirksam zu sein.
  • Kurze Beschreibung der Zeichnungen
  • Ausführungsbeispiele der vorliegenden Erfindung werden im Folgenden unter Bezugnahme auf die zugehörigen Zeichnungen beschrieben, in denen:
  • 1 eine schematische Ansicht eines herkömmlichen Testers zeigt;
  • 2 eine schematische Ansicht eines Testers gemäß einem Ausführungsbeispiel der Erfindung zeigt; und
  • 3 ein Flussdiagramm zeigt, das ein Ausführungsbeispiel zum Bestimmen eines Minimums/Maximums einer Mehrzahl von Binärwerten darstellt.
  • Beschreibung der bevorzugten Ausführungsbeispiele
  • 1 zeigt eine schematische Ansicht eines Testers 100, der einen zentralen Prozessor 102 und eine Mehrzahl einzelner Prozessoren P1 bis Pn aufweist, die mit dem zentralen Prozessor 102 gekoppelt sind, wie es durch die jeweiligen Pfeile angegeben ist, die in 1 gezeigt sind, die die einzelnen Prozessoren P1 bis Pn mit einem zentralen Prozessor 102 verbinden. Der Tester 100 kann mit einem einzigen Testobjekt oder einer Mehrzahl von Testobjekten verbunden oder gekoppelt sein, wie es bei 104 angegeben ist. Ferner weist der Tester 100 einen Ausgang 106 zum Liefern von Ausgangssignalen auf, die beispielsweise das Ergebnis eines Tests des DUT 104 angeben. Die Mehrzahl von Prozessoren P1 bis Pn könnte zum Liefern der jeweiligen Stimulussignale an das DUT 104 und wiederum zum Empfangen jeweiliger Antwortsignale von dem DUT vorgesehen sein. Wie es in 1 angegeben ist, könnte jeder Prozessor P1 bis Pn einen oder mehrere Werte in binärer Form halten, die ein Antwortsignal oder ein anderes Signal darstellen, das ein Testergebnis eines Tests angibt, der auf das DUT 104 mittels eines jeweiligen Prozessors angewandt wurde.
  • Bei dem in 1 gezeigten Ausführungsbeispiel speichert der einzelne Prozessor P1 den Wert 45 in binärer Form (101101), speichert der einzelne Prozessor P2 den Wert 57 in binärer Form (111001), speichert der einzelne Prozessor P3 den Wert 13 in binärer Form (001101), speichert der einzelne Prozessor P4 den Wert 44 in binärer Form (101100), speichert der einzelne Prozessor P5 den Wert 29 (011101) und speichert der einzelne Prozessor Pn den Wert 45 in binärer Form (101101).
  • In der oben beschriebenen Umgebung weist der Prozessor 100 die Front-End-Prozessoren P1 bis Pn auf, von denen jeder einen ganzzahligen Wert halt. Der zentrale Prozessor 102 kann nun anfordern, das Minimum oder Maximum all dieser Werte so schnell wie möglich in Erfahrung zu bringen. Gemäß dem in 1 gezeigten herkömmlichen Tester besteht der herkömmliche Ansatz zum Finden des Maximums oder Minimus aller Werte darin, den zentralen Prozessor 102 die Werte einzeln nacheinander aus den Prozessoren P1 bis Pn lesen zu lassen, was wiederum n Leseoperationen erfordern wird.
  • Während der zentrale Prozessor 102 im Allgemeinen einfache Verarbeitungsschritte oder Berechnungen ziemlich schnell handhaben kann, ist es nicht möglich, das Minimum oder Maximum aller Werte schnell zu erhalten, wenn im Allgemeinen die Kommunikation zwischen dem zentralen Prozessor 102 und dem jeweiligen einzelnen Prozessor P1 bis Pn verglichen mit der eben erwähnten Berechnung langsam ist, d. h. die Anzahl von erforderlichen Kommunikationsschritten dominiert die gesamte erforderliche Zeit, vorausgesetzt, dass einfache Verarbeitungsschritte oder Berechnungen in dem zentralen Prozessor ausgeführt werden sollen.
  • Deshalb besteht ein Bedarf danach, einen verbesserten Ansatz zum Bestimmen eines Minimal- oder Maximalwerts auf verarbeitungs- und zeiteffiziente Weise aus einer Mehrzahl von Binärwerten zu schaffen, die bei den unterschiedlichen Positionen gespeichert sind. Das schnelle Finden eines oder mehrerer Minimal-/Maximalwerte kann bei einem Testsystem und insbesondere zum Verwalten des Speichers verteilter Prozessoren eines derartigen Testsystems verwendet werden. Ein Beispiel eines derartigen Testsystems verwendet eine Mehrzahl von Kanälen (die Messeinheit für einen Anschlussstift eines DUT), von denen jeder einen eigenen Testprozessor mit einem zugeordneten Speicher aufweist. 2 zeigt eine schematische Ansicht eines Testers gemäß einem Ausführungsbeispiel der Erfindung. In 2 sind diesen Elementen, die bereits hinsichtlich 1 beschrieben wurden, die gleichen Bezugszeichen zugeordnet. Wie es aus 2 zu erkennen ist, weist zusätzlich zu dem Tester, der hinsichtlich 1 beschrieben wurde, der Tester 100 eine Logik 108 auf, die zwischen die jeweiligen einzelnen Prozessoren P1 bis Pn und den zentralen Prozessor 102 gekoppelt ist. Die Logik 108 ist als ein separates Element gezeigt, jedoch könnten andere Ausführungsbeispiele die Logik 108 als einen Teil des zentralen Prozessors 102 implementieren, wie es durch die gestrichelte Linie angegeben ist, die diese zwei Elemente umgibt. Wie es zu sehen ist, ist die Logik 108 konfiguriert, um die Werte, die aus den Prozessoren P1 bis Pn gelesen werden, unter Verwendung eines bitweisen „UND” („AND”) oder eines bitweisen „ODER” („OR”) zu verknüpfen. Die zwei Ausgaben der Logik 108 sind entweder die „bitweise ODER”- oder die „bitweise UND”-Ausgabe, die in den zentralen Prozessor 102 eingegeben wird. Bei dem in 2 gezeigten Ausführungsbeispiel wird angenommen, dass die einzelnen Prozessoren P1 bis Pn die gleichen Werte halten, wie es mit Bezug auf 1 beschrieben ist, und zusätzlich sind Speicherelemente M1 bis Mn gezeigt, die die angegebenen Werte halten. Die Speicher M1 bis Mn könnten entweder Teil des Prozessors P1 bis Pn, z. B. als Prozessorregister, oder Speicherelemente sein, die mit den jeweiligen Prozessoren gekoppelt sind. Die Funktionalität des in 2 gezeigten Testers ist derart, dass die Werte aus allen Prozessoren P1 bis Pn in einem Schritt durch Verknüpfen der Werte, die aus den Prozessoren gelesen werden, unter Verwendung des bitweisen „UND” oder des bitweisen „ODER” in den zentralen Prozessor 102 gelesen werden können. Ein Verwenden dieser gemeinsamen Leseoperation an allen Prozessoren ist so schnell wie das Lesen eines Werts aus einem spezifischen Prozessor. Auf ähnliche Weise können in einem Schritt Daten von dem zentralen Prozessor an alle anderen Prozessoren oder an einen einzelnen Prozessor rundgesendet werden.
  • Im Folgenden werden Beispiele zum schnellen Bestimmen des Minimums oder Maximums von Werten, die in dem verteilten Prozessor P1 bis Pn gespeichert sind, unter Verwendung gemeinsamer Lesefähigkeiten mit weiterer Bezugnahme auf 3 beschrieben.
  • 3 zeigt ein Flussdiagramm eines Ausführungsbeispiels zum Bestimmen eines oder mehrerer Minimal-/Maximalwerte, die einer Mehrzahl von Prozessoren P1 bis Pn zugeordnet sind. Die ursprünglichen Werte sind in jedem der Prozessoren gespeichert oder können anderswo gespeichert sein, aber sind einem der Prozessoren zugeordnet. Die Binärwerte weisen eine Anzahl von Bits auf, die auf k gesetzt ist, und die Bits in der Binärdarstellung sind von rechts (niederstwertiges Bit) nach links (höchstwertiges Bit) nummeriert, beginnend bei 0, d. h. die Anzahl ist als Bits (k – 1) ... 0 dargestellt. Bei i handelt es sich um die erste Bitposition von links (höchstwertiges Bit), bis zu der die Bits des Minimums bereits bekannt sind. Bei dem hinsichtlich 3 beschriebenen Beispiel gilt k = 8 und anfänglich i = k.
  • Bei einem Schritt S100 werden die folgenden Variablen initialisiert:
  • k
    = 8 (= acht Bits);
    n
    = 9 (= neun Prozessoren);
    R
    = Variable, in der die bis jetzt bekannten Bits des Ergebnisses für die Bestimmung des Minimums/Maximums gespeichert sind und bei der die nicht bekannten Bits auf 0 gesetzt sind;
    j
    = höchste Bitposition, bei der sich bitweises UND und bitweises ODER unterscheiden (wobei das niedrigstwertige Bit als 0 gezählt wird);
    VANDn
    = tatsächliche Werte für bitweises UND;
    VORn
    = tatsächliche Werte für bitweises ODER;
    Pn
    = Wert, der bei Prozessor n gespeichert/demselben zugeordnet ist
  • Nach der Initialisierung bei dem Schritt S100 wird ein Wert für j, das kleiner ist als i, derart bestimmt, dass Bits (k – 1) ... (j + 1) der Binärdarstellung aller Werte, die von den Prozessoren P1 bis Pn geliefert werden, gleich sind. Dann müssen Bits (k – 1) ... (j + 1) des Minimal-/Maximalwerts die gleichen sein und muss das Bit j des Minimums „0” sein bzw. muss das Bit j des Maximums „1” sein. Um die Position j zu bestimmen, nimmt der zentrale Prozessor 102 das bitweise „UND” und das bitweise „ODER”, die durch zwei gemeinsame Leseoperationen der Binärdarstellungen der Anzahlen der Prozessoren erhalten werden (siehe Schritt S102). An den Bitpositionen, an denen diese zwei Bitmuster gleich sind, müssen alle Werte, die von den Prozessoren geliefert werden, gleich sein. An Bitpositionen, an denen diese zwei Bitmuster sich unterscheiden, muss zumindest ein Prozessor ein 0-Bit geliefert haben und muss zumindest einer ein 1-Bit geliefert haben. Somit ist j die höchstwertige Bitposition, an der sich das bitweise UND und das bitweise ODER unterscheiden, was in dem zentralen Prozessor durch einfaches Untersuchen der einzelnen Bits berechnet werden kann. Nach diesem Schritt sind Bits (k – 1) ... j bekannt, d. h. i kann auf j gesetzt werden (siehe Schritt S104).
  • Bei einem Schritt S106 werden die bis jetzt bekannten Bits (k – 1) bis 0 für R bestimmt durch Setzen der Bits k – 1 bis j + 1 von R auf die übereinstimmenden Bits der Ergebnisse der bitweisen UND- und bitweisen ODER-Verknüpfung, Setzen des Bits j von R (falls vorhanden) auf 0 in dem Fall einer Suche nach dem Minimum und auf 1 in dem Fall einer Suche nach dem Maximum und Setzen der verbleibenden Bits j – 1 bis 0 von R (falls vorhanden) auf 0.
  • Bei einem Schritt S108 wird bestimmt, ob j kleiner oder gleich 0 ist. Falls dem so ist, endet der Prozess bei einem Schritt S110.
  • Andernfalls geht der Prozess zu einem Schritt S112 über, bei dem die Suche nun auf diese Ergebnisse eingeschränkt wird, bei denen die Bits (k – 1) ... i gleich den bereits bekannten Bits des kleinsten Maximums sind. Zum Vorbereiten dieses Schritts übermittelt der zentrale Prozessor 102 die bis jetzt bekannten Bits des Minimums/Maximums an jeden Prozessor P1 bis Pn sowie das Ergebnis des bitweisen „UND” und des bitweisen „ODER” aller Werte bei der vorhergehenden Iteration (bei der ersten Iteration die Ergebnisse des bitweisen „UND” und des bitweisen „ODER” aller ursprünglichen Werte, die in den Prozessoren gespeichert sind). Ferner weist der zentrale Prozessor 102 nun alle Prozessoren P1 bis Pn an, die folgenden Werte bei dem nächsten Schritt wie folgt zu liefern (siehe Schritte S112 bis S118).
    • – falls Bits (k – 1) bis j des ursprünglichen Werts Pn eines jeweiligen Prozessors gleich den bereits bekannten Bits des Minimums/Maximums sind, wird der ursprüngliche Wert Pn geliefert (siehe Schritte 114 und 116), und
    • – für alle anderen Prozessoren werden die ursprünglichen binären Werte nicht geliefert, sondern werden die Prozessoren angewiesen, modifizierte Werte an die Logik 108 zu liefern (siehe Schritte S114 und S118).
  • Genauer gesagt werden bei dem Schritt S118 die modifizierten Werte abhängig davon bestimmt, ob ein gemeinsamer Lesevorgang mit einer „UND”-Operation oder ein gemeinsamer Lesevorgang mit einer „ODER”-Operation ausgeführt werden soll. Für die Operation „gemeinsamer Lesevorgang mit „UND” werden die jeweiligen Prozessoren angewiesen, die bis jetzt bekannten Bits des Minimums für Bits (k – 1) ... i zurückzugeben. Zusätzlich werden auch die Bits des vorhergehenden „ODER” der gespeicherten Werte geliefert. Auf ähnliche Weise werden die Prozessoren angewiesen, jeweilige modifizierte Werte für die Operation „gemeinsamer Lesevorgang mit „ODER” zurückzugeben. Erneut werden die bis jetzt bekannten Bits der Minimum-Bits (k – 1) ... i zurückgegeben und sind die verbleibenden Bits diese des „UND” aller vorhergehenden Bits. Die eben beschriebenen modifizierten Werte beeinflussen das bitweise „UND” oder das bitweise „ODER” über die Werte der Prozessoren des eingeschränkten Suchraums nicht.
  • Der obige Prozess wird auf der Basis der ursprünglichen/modifizierten Werte wiederholt, bis j ≤ 0 (siehe Schritte 108, 110).
  • Bei den folgenden Beispielen wird veranschaulichend der obige Ansatz zum Bestimmen eines Minimal-/Maximalwerts beschrieben.
  • BEISPIEL 1
  • Bestimmen eines Minimalwerts aus Werten, die in neun Prozessoren P1 bis P9 gespeichert sind.
  • Ursprüngliche Werte:
    P1 = 112 → 01110000
    P2 = 114 → 01110010
    P3 = 111 → 01101111
    P4 = 99 → 01100011
    P5 = 101 → 01100101
    P6 = 115 → 01110011
    P7 = 115 → 01110011
    P8 = 111 → 01101111
    P9 = 114 → 01110010 ITERATION NR. 1
    Anzahl von bis jetzt bekannten Bits von Ergebnis: 0
    Bitmaske für bis jetzt bekannte Bits: 00000000
    Bits von Ergebnis: 00000000
  • Werte, die bei dieser Iteration von jedem Prozessor an den zentralen Prozessor gegeben werden:
    Figure 00090001
  • Höchste Bitposition, an der sich bitweises UND und bitweises ODER unterscheiden
    (wobei das niedrigstwertige Bit als 0 gezählt wird): 4 (j = 4)
    ⇒ nun sind die vier höchstwertigen Bits des Ergebnisses bekannt. ITERATION NR. 2
    Anzahl von bis jetzt bekannten Bits von Ergebnis: 0
    Bitmaske für bis jetzt bekannte Bits: 11110000
    Bits von Ergebnis: 01100000
  • Bis jetzt bekannte Bits von Ergebnis erzeugt durch:
    • – Bits k – 1 bis j + 1 (Bits 7 bis 5) = übereinstimmende Bits von bitweisem UND und bitweisem ODER bei Iteration Nr. 1 – bei diesem Beispiel 011.
    • – Setzen von Bit j (Bit 4) auf 0 wegen Suche nach Minimum.
    • – Verbleibende Bits j – 1 bis 0 (Bits 3 bis 0) bleiben bei 0.
    Für UND: (P1 bis P9)
    (01101111) modifiziert
    (01101111) modifiziert
    01101111 ursprünglich
    01100011 ursprünglich
    01100101 ursprünglich
    (01101111) modifiziert
    (01101111) modifiziert
    01101111 ursprünglich
    (01101111) modifiziert
    bitweises UND: 01100001
    • Ursprünglich: Ursprünglicher Wert, der beibehalten wird, weil die bis jetzt bekannten Bits des Ergebnisses, d. h. 0110, und die entsprechenden Bits in dem ursprünglichen Wert übereinstimmen.
    • Modifiziert: Ursprünglicher Wert, der modifiziert ist, weil die bis jetzt bekannten Bits des Ergebnisses, d. h. 0110, und die entsprechenden Bits in dem ursprünglichen Wert nicht übereinstimmen. Diese Bits in dem ursprünglichen Wert, die nicht übereinstimmen, werden durch die bis jetzt bekannten Bits des Ergebnisses ersetzt, d. h. 0110, und die verbleibenden Bits in dem ursprünglichen Wert werden durch die entsprechenden Bits aus dem Ergebnis des bitweisen ODER bei Iteration Nr. 1 ersetzt, d. h. 1111.
    Für ODER: (P1 bis P9)
    (01100000) modifiziert
    (01100000) modifiziert
    01101111 ursprünglich
    01100011 ursprünglich
    01100101 ursprünglich
    (01100000) modifiziert
    (01100000) modifiziert
    01101111 ursprünglich
    (01100000) modifiziert
    bitweises ODER: 01101111
    • Ursprünglich: Ursprünglicher Wert, der beibehalten wird, weil die bis jetzt bekannten Bits des Ergebnisses, d. h. 0110, und die entsprechenden Bits in dem ursprünglichen Wert übereinstimmen.
    • Modifiziert: Ursprünglicher Wert, der modifiziert ist, weil die bis jetzt bekannten Bits des Ergebnisses, d. h. 0110, und die entsprechenden Bits in dem ursprünglichen Wert nicht übereinstimmen. Diese Bits in dem ursprünglichen Wert, die nicht übereinstimmen, werden durch die bis jetzt bekannten Bits des Ergebnisses ersetzt, d. h. 0110, und die verbleibenden Bits in dem ursprünglichen Wert werden durch die entsprechenden Bits aus dem Ergebnis des bitweisen ODER bei Iteration Nr. 1 ersetzt, d. h. 0000.
  • Höchste Bitposition, bei der sich bitweises UND und bitweises ODER unterscheiden
    (wobei das niedrigstwertige Bit als 0 gezählt wird): 3 (j = 3)
    ⇒ nun sind die 5 höchstwertigen Bits des Ergebnisses bekannt. ITERATION NR. 3
    Anzahl von bis jetzt bekannten Bits von Ergebnis: 5
    Bitmaske für bis jetzt bekannte Bits: 11111000
    Bits von Ergebnis: 01100000
  • Bis jetzt bekannte Bits von Ergebnis erzeugt durch:
    • – Bits k – 1 bis j + 1 (Bits 7 bis 4) = übereinstimmende Bits von bitweisem UND und bitweisem ODER bei Iteration Nr. 2 – bei diesem Beispiel 0110.
    • – Bit j (Bit 3) auf 0 setzen wegen Suche nach Minimum.
    • – Verbleibende Bits j – 1 bis 0 (2 bis 0) bleiben bei 0.
    Für UND: (P1 bis P9)
    (01100111) modifiziert
    (01100111) modifiziert
    (01100111) modifiziert
    01100011 ursprünglich
    01100101 ursprünglich
    (01100111) modifiziert
    (01100111) modifiziert
    (01100111) modifiziert
    (01100111) modifiziert
    bitweises UND: 01100001
    • Ursprünglich: Ursprünglicher Wert, der beibehalten wird, weil die bis jetzt bekannten Bits des Ergebnisses, d. h. 01100, und die entsprechenden Bits in dem ursprünglichen Wert übereinstimmen.
    • Modifiziert: Ursprünglicher Wert, der modifiziert ist, weil die bis jetzt bekannten Bits des Ergebnisses, d. h. 01100, und die entsprechenden Bits in dem ursprünglichen Wert nicht übereinstimmen. Diese Bits in dem ursprünglichen Wert, die nicht übereinstimmen, werden durch die bis jetzt bekannten Bits des Ergebnisses ersetzt, d. h. 01100, und die verbleibenden Bits in dem ursprünglichen Wert werden durch die entsprechenden Bits aus dem Ergebnis des bitweisen ODER bei Iteration Nr. 2 ersetzt, d. h. 111.
    Für ODER: (P1 bis P9)
    (01100000) modifiziert
    (01100000) modifiziert
    (01100000) modifiziert
    01100011 ursprünglich
    01100101 ursprünglich
    (01100000) modifiziert
    (01100000) modifiziert
    (01100000) modifiziert
    (01100000) modifiziert
    bitweises ODER: 01100111
    • Ursprünglich: Ursprünglicher Wert, der beibehalten wird, weil die bis jetzt bekannten Bits des Ergebnisses, d. h. 01100, und die entsprechenden Bits in dem ursprünglichen Wert übereinstimmen.
    • Modifiziert: Ursprünglicher Wert, der modifiziert ist, weil die bis jetzt bekannten Bits des Ergebnisses, d. h. 01100, und die entsprechenden Bits in dem ursprünglichen Wert nicht übereinstimmen. Diese Bits in dem ursprünglichen Wert, die nicht übereinstimmen, werden durch die bis jetzt bekannten Bits des Ergebnisses ersetzt, d. h. 01100, und die verbleibenden Bits in dem ursprünglichen Wert werden durch die entsprechenden Bits aus dem Ergebnis des bitweisen UND bei Iteration Nr. 2 ersetzt, d. h. 000.
  • Höchste Bitposition, bei der sich bitweises UND und bitweises ODER unterscheiden
    (wobei das niedrigstwertige Bit als 0 gezählt wird): 2 (j = 2)
    ⇒ nun sind die 6 höchstwertigen Bits des Ergebnisses bekannt. ITERATION NR. 4
    Anzahl von bis jetzt bekannten Bits von Ergebnis: 6
    Bitmaske für bis jetzt bekannte Bits: 11111100
    Bits von Ergebnis: 01100000
  • Bis jetzt bekannte Bits von Ergebnis erzeugt durch:
    • – Bits k – 1 bis j + 1 (Bits 7 bis 3) = übereinstimmende Bits von bitweisem UND und bitweisem ODER bei Iteration Nr. 3 – bei diesem Beispiel 01100.
    • – Bit j (Bit 2) auf 0 setzen wegen Suche nach Minimum.
    • – Verbleibende Bits j – 1 bis 0 (1 bis 0) bleiben bei 0.
    Für UND: (P1 bis P9)
    (01100011) modifiziert
    (01100011) modifiziert
    (01100011) modifiziert
    01100011 ursprünglich
    (01100011) modifiziert
    (01100011) modifiziert
    (01100011) modifiziert
    (01100011) modifiziert
    (01100011) modifiziert
    bitweises UND: 01100011
    • Ursprünglich: Ursprünglicher Wert, der beibehalten wird, weil die bis jetzt bekannten Bits des Ergebnisses, d. h. 011000, und die entsprechenden Bits in dem ursprünglichen Wert übereinstimmen.
    • Modifiziert: Ursprünglicher Wert, der modifiziert ist, weil die bis jetzt bekannten Bits des Ergebnisses, d. h. 011000, und die entsprechenden Bits in dem ursprünglichen Wert nicht übereinstimmen. Diese Bits in dem ursprünglichen Wert, die nicht übereinstimmen, werden durch die bis jetzt bekannten Bits des Ergebnisses ersetzt, d. h. 011000, und die verbleibenden Bits in dem ursprünglichen Wert werden durch die entsprechenden Bits aus dem Ergebnis des bitweisen ODER bei Iteration Nr. 3 ersetzt, d. h. 11.
    Für ODER: (P1 bis P9)
    (01100000) modifiziert
    (01100000) modifiziert
    (01100000) modifiziert
    01100011 ursprünglich
    (01100000) modifiziert
    (01100000) modifiziert
    (01100000) modifiziert
    (01100000) modifiziert
    (01100000) modifiziert
    bitweises ODER: 01100011
    • Ursprünglich: Ursprünglicher Wert, der beibehalten wird, weil die bis jetzt bekannten Bits des Ergebnisses, d. h. 011000, und die entsprechenden Bits in dem ursprünglichen Wert übereinstimmen.
    • Modifiziert: Ursprünglicher Wert, der modifiziert ist, weil die bis jetzt bekannten Bits des Ergebnisses, d. h. 011000, und die entsprechenden Bits in dem ursprünglichen Wert nicht übereinstimmen. Diese Bits in dem ursprünglichen Wert, die nicht übereinstimmen, werden durch die bis jetzt bekannten Bits des Ergebnisses ersetzt, d. h. 011000, und die verbleibenden Bits in dem ursprünglichen Wert werden durch die entsprechenden Bits aus dem Ergebnis des bitweisen UND bei Iteration Nr. 3 ersetzt, d. h. 00.
  • Höchste Bitposition, bei der sich bitweises UND und bitweises ODER unterscheiden
    (wobei das niedrigstwertige Bit als 0 gezählt wird): –1(j = –1)
    ⇒ nun sind die 8 höchstwertigen Bits des Ergebnisses bekannt.
    Bitmaske für bis jetzt bekannte Bits: 11111111
    Bits von Ergebnis: 01100011
  • Bis jetzt bekannte Bits von Ergebnis erzeugt durch:
    • – Bits k – 1 bis j + 1 (Bits 7 bis 1) = übereinstimmende Bits von bitweisem UND und bitweisem ODER bei Iteration Nr. 4 – bei diesem Beispiel 01100011.
    • – Bit j (Bit – 1) existiert nicht.
    • – Es gibt keine verbleibenden Bits j – 1 bis 0.
    • ⇒ Nun sind alle Bits des Ergebnisses bekannt, d. h. das Ergebnis lautet 01100011 = 99. Somit hält der Prozessor P4 den Minimalwert.
  • BEISPIEL 2
  • Bestimmen eines Maximalwerts aus Werten, die in neun Prozessoren P1 bis P9 gespeichert sind.
  • Ursprüngliche Werte:
    P1 = 112 → 01110000
    P2 = 114 → 01110010
    P3 = 111 → 01101111
    P4 = 99 → 01100011
    P5 = 101 → 01100101
    P6 = 115 → 01110011
    P7 = 115 → 01110011
    P8 = 111 → 01101111
    P9 = 114 → 01110010 ITERATION NR. 1
    Anzahl von bis jetzt bekannten Bits von Ergebnis: 0
    Bitmaske für bis jetzt bekannte Bits: 00000000
    Bits von Ergebnis: 00000000
  • Werte, die bei dieser Iteration von jedem Prozessor an den zentralen Prozessor gegeben werden:
    Figure 00150001
  • Höchste Bitposition, bei der sich bitweises UND und bitweises ODER unterscheiden
    (wobei das niedrigstwertige Bit als 0 gezählt wird): 4 (j = 4)
    ⇒ nun sind die 4 höchstwertigen Bits des Ergebnisses bekannt. ITERATION NR. 2
    Anzahl von bis jetzt bekannten Bits von Ergebnis: 4
    Bitmaske für bis jetzt bekannte Bits: 11110000
    Bits von Ergebnis: 01110000
  • Bis jetzt bekannte Bits von Ergebnis erzeugt durch:
    • – Bits k – 1 bis j + 1 (Bits 7 bis 5) = übereinstimmende Bits von bitweisem UND und bitweisem ODER bei Iteration Nr. 1 – bei diesem Beispiel 011.
    • – Setzen von Bit j (Bit 4) auf 1 wegen Suche nach Maximum.
    • – Verbleibende Bits j – 1 bis 0 (Bits 3 bis 0) bleiben bei 0.
    Für UND: (P1 bis P9)
    01110000 ursprünglich
    01110010 ursprünglich
    (01111111) modifiziert
    (01111111) modifiziert
    (01111111) modifiziert
    01110011 ursprünglich
    01110011 ursprünglich
    (01111111) modifiziert
    01110010 ursprünglich
    bitweises UND: 01110000
    • Ursprünglich: Ursprünglicher Wert, der beibehalten wird, weil die bis jetzt bekannten Bits des Ergebnisses, d. h. 0111, und die entsprechenden Bits in dem ursprünglichen Wert übereinstimmen.
    • Modifiziert: Ursprünglicher Wert, der modifiziert ist, weil die bis jetzt bekannten Bits des Ergebnisses, d. h. 0111, und die entsprechenden Bits in dem ursprünglichen Wert nicht übereinstimmen. Diese Bits in dem ursprünglichen Wert, die nicht übereinstimmen, werden durch die bis jetzt bekannten Bits des Ergebnisses ersetzt, d. h. 0111, und die verbleibenden Bits in dem ursprünglichen Wert werden durch die entsprechenden Bits aus dem Ergebnis des bitweisen ODER bei Iteration Nr. 1 ersetzt, d. h. 1111.
    Für ODER: (P1 bis P9)
    01110000 ursprünglich
    01110010 ursprünglich
    (01110000) modifiziert
    (01110000) modifiziert
    (01110000) modifiziert
    01110011 ursprünglich
    01110011 ursprünglich
    (01110000) modifiziert
    01110010 ursprünglich
    bitweises ODER: 01110011
    • Ursprünglich: Ursprünglicher Wert, der beibehalten wird, weil die bis jetzt bekannten Bits des Ergebnisses, d. h. 0111, und die entsprechenden Bits in dem ursprünglichen Wert übereinstimmen.
    • Modifiziert: Ursprünglicher Wert, der modifiziert ist, weil die bis jetzt bekannten Bits des Ergebnisses, d. h. 0111, und die entsprechenden Bits in dem ursprünglichen Wert nicht übereinstimmen. Diese Bits in dem ursprünglichen Wert, die nicht übereinstimmen, werden durch die bis jetzt bekannten Bits des Ergebnisses ersetzt, d. h. 0111, und die verbleibenden Bits in dem ursprünglichen Wert werden durch die entsprechenden Bits aus dem Ergebnis des bitweisen UND bei Iteration Nr. 1 ersetzt, d. h. 0000.
  • Höchste Bitposition, bei der sich bitweises UND und bitweises ODER unterscheiden
    (wobei das niedrigstwertige Bit als 0 gezählt wird): 1 (j = 1)
    ⇒ nun sind die 7 höchstwertigen Bits des Ergebnisses bekannt.
  • ITERATION NR. 3
    Anzahl von bis jetzt bekannten Bits von Ergebnis: 7
    Bitmaske für bis jetzt bekannte Bits: 11111110
    Bits von Ergebnis: 01110010
  • Bis jetzt bekannte Bits von Ergebnis erzeugt durch:
    • – Bits k – 1 bis j + 1 (Bits 7 bis 2) = übereinstimmende Bits von bitweisem UND und bitweisem ODER bei Iteration Nr. 2 – bei diesem Beispiel 011100.
    • – Bit j (Bit 1) auf 1 setzen wegen Suche nach Maximum.
    • – Verbleibende Bits j – 1 bis 0 (0 bis 0) bleiben bei 0.
    Für UND: (P1 bis P9)
    (01110011) modifiziert
    01110010 ursprünglich
    (01110011) modifiziert
    (01110011) modifiziert
    (01110011) modifiziert
    01110011 ursprünglich
    01110011 ursprünglich
    (01110011) modifiziert
    01110010 ursprünglich
    bitweises UND: 01110010
    • Ursprünglich: Ursprünglicher Wert, der beibehalten wird, weil die bis jetzt bekannten Bits des Ergebnisses, d. h. 0111001, und die entsprechenden Bits in dem ursprünglichen Wert übereinstimmen.
    • Modifiziert: Ursprünglicher Wert, der modifiziert ist, weil die bis jetzt bekannten Bits des Ergebnisses, d. h. 0111001, und die entsprechenden Bits in dem ursprünglichen Wert nicht übereinstimmen. Diese Bits in dem ursprünglichen Wert, die nicht übereinstimmen, werden durch die bis jetzt bekannten Bits des Ergebnisses ersetzt, d. h. 0111001, und die verbleibenden Bits in dem ursprünglichen Wert werden durch die entsprechenden Bits aus dem Ergebnis des bitweisen ODER bei Iteration Nr. 2 ersetzt, d. h. 1.
    Für ODER: (P1 bis P9)
    (01110010) modifiziert
    01110010 ursprünglich
    (01110010) modifiziert
    (01110010) modifiziert
    (01110010) modifiziert
    01110011 ursprünglich
    01110011 ursprünglich
    (01110010) modifiziert
    01110010 ursprünglich
    bitweises ODER: 01110011
    • Ursprünglich: Ursprünglicher Wert, der beibehalten wird, weil die bis jetzt bekannten Bits des Ergebnisses, d. h. 0111001, und die entsprechenden Bits in dem ursprünglichen Wert übereinstimmen.
    • Modifiziert: Ursprünglicher Wert, der modifiziert ist, weil die bis jetzt bekannten Bits des Ergebnisses, d. h. 0111001, und die entsprechenden Bits in dem ursprünglichen Wert nicht übereinstimmen. Diese Bits in dem ursprünglichen Wert, die nicht übereinstimmen, werden durch die bis jetzt bekannten Bits des Ergebnisses ersetzt, d. h. 0111001, und die verbleibenden Bits in dem ursprünglichen Wert werden durch die entsprechenden Bits aus dem Ergebnis des bitweisen UND bei Iteration Nr. 2 ersetzt, d. h. 0.
  • Höchste Bitposition, bei der sich bitweises UND und bitweises ODER unterscheiden
    (wobei das niedrigstwertige Bit als 0 gezählt wird): 0 (j = 0)
    ⇒ nun sind die 8 höchstwertigen Bits des Ergebnisses bekannt.
    Bitmaske für bis jetzt bekannte Bits: 11111111
    Bits von Ergebnis: 01100011
  • Bis jetzt bekannte Bits von Ergebnis erzeugt durch:
    • – Bits k – 1 bis j + 1 (Bits 7 bis 1) = übereinstimmende Bits von bitweisem UND und bitweisem ODER bei Iteration Nr. 4 – bei diesem Beispiel 0111001.
    • – Bit j (Bit 0) auf 1 setzen wegen Suche nach Maximum.
    • – Es gibt keine verbleibenden Bits j – 1 bis 0.
    • ⇒ Nun sind alle Bits des Ergebnisses bekannt, d. h. das Ergebnis lautet 01110011 = 115. Somit hält der Prozessor P7 den Minimalwert.
  • BEISPIEL 3
  • Bestimmen eines Minimalwerts aus Werten, die in elf Prozessoren P1 bis P11 gespeichert sind. (Hinsichtlich der Bestimmung für die Werte für das bitweise UND und das bitweise ODER, siehe bitte oben Beispiele 1 und 2)
  • Ursprüngliche Werte:
    P1 = 70 → 01000110
    P2 = 97 → 01100001
    P3 = 115 → 01110011
    P4 = 116 → 01110100
    P5 = 77 → 01001101
    P6 = 105 → 01101001
    P7 = 110 → 01101110
    P8 = 68 → 01000100
    P9 = 101 → 01100101
    P10 = 109 → 01101101
    P11 = 111 → 01101111 ITERATION NR. 1
    Anzahl von bis jetzt bekannten Bits von Ergebnis R: 0
    Bitmaske für bis jetzt bekannte Bits: 00000000
    Bits von Ergebnis: 00000000
  • Werte, die bei dieser Iteration von jedem Prozessor an den zentralen Prozessor gegeben werden:
    Figure 00190001
    Figure 00200001
  • Höchste Bitposition, bei der sich bitweises UND und bitweises ODER unterscheiden
    (wobei das niedrigstwertige Bit als 0 gezählt wird): 5 (j = 5)
    ⇒ nun sind die 3 höchstwertigen Bits des Ergebnisses bekannt. ITERATION NR. 2
    Anzahl von bis jetzt bekannten Bits von Ergebnis: 3
    Bitmaske für bis jetzt bekannte Bits: 11100000
    Bits von Ergebnis: 01000000
  • Bis jetzt bekannte Bits von Ergebnis erzeugt durch:
    • – Bits k – 1 bis j + 1 (Bits 7 bis 6) = übereinstimmende Bits von bitweisem UND und bitweisem ODER bei Iteration Nr. 1 – bei diesem Beispiel 01.
    • – Setzen von Bit j (Bit 5) auf 0 wegen Suche nach Minimum.
    • – Verbleibende Bits j – 1 bis 0 (Bits 4 bis 0) bleiben bei 0.
  • Figure 00200002
  • Höchste Bitposition, bei der sich bitweises UND und bitweises ODER unterscheiden
    (wobei das niedrigstwertige Bit als 0 gezählt wird): 3 (j = 3)
    ⇒ nun sind die 5 höchstwertigen Bits des Ergebnisses bekannt. ITERATION NR. 3
    Anzahl von bis jetzt bekannten Bits von Ergebnis: 5
    Bitmaske für bis jetzt bekannte Bits: 11111000
    Bits von Ergebnis: 01000000
  • Bis jetzt bekannte Bits von Ergebnis erzeugt durch:
    • – Bits k – 1 bis j + 1 (Bits 7 bis 4) = übereinstimmende Bits von bitweisem UND und bitweisem ODER bei Iteration Nr. 2 – bei diesem Beispiel 0100.
    • – Bit j (Bit 3) auf 0 setzen wegen Suche nach Minimum.
    • – Verbleibende Bits j – 1 bis 0 (2 bis 0) bleiben bei 0.
    Figure 00210001
  • Höchste Bitposition, bei der sich bitweises UND und bitweises ODER unterscheiden
    (wobei das niedrigstwertige Bit als 0 gezählt wird): 1 (j = 1)
    ⇒ nun sind die 7 höchstwertigen Bits des Ergebnisses bekannt. ITERATION NR. 4
    Anzahl von bis jetzt bekannten Bits von Ergebnis: 7
    Bitmaske für bis jetzt bekannte Bits: 11111110
    Bits von Ergebnis: 01000100
  • Bis jetzt bekannte Bits von Ergebnis erzeugt durch:
    • – Bits k – 1 bis j + 1 (Bits 7 bis 2) = übereinstimmende Bits von bitweisem UND und bitweisem ODER bei Iteration Nr. 3 – bei diesem Beispiel 01100.
    • – Bit j (Bit 1) auf 0 setzen wegen Suche nach Minimum.
    • – Verbleibende Bits j – 1 bis 0 (0 bis 0) bleiben bei 0.
  • Figure 00220001
  • Höchste Bitposition, bei der sich bitweises UND und bitweises ODER unterscheiden
    (wobei das niedrigstwertige Bit als 0 gezählt wird): –1(j = –1)
    (d. h. alle Bits stimmen überein)
    Anzahl von bis jetzt bekannten Bits von Ergebnis: 8
    Bitmaske für bis jetzt bekannte Bits: 11111111
    Bits von Ergebnis: 01000100
  • Bis jetzt bekannte Bits von Ergebnis erzeugt durch:
    • – Bits k – 1 bis j + 1 (Bits 7 bis 0) = übereinstimmende Bits von bitweisem UND und bitweisem ODER bei Iteration Nr. 4 – bei diesem Beispiel 01000100.
    • – Bit j (Bit – 1) existiert nicht.
    • – Es gibt keine verbleibenden Bits j – 1 bis 0.
    • ⇒ Nun sind alle Bits des Ergebnisses bekannt, d. h. das Ergebnis lautet 01000100 = 68. Somit hält der Prozessor P7 den Minimalwert.
  • BEISPIEL 4
  • Bestimmen eines Maximalwerts aus Werten, die in elf Prozessoren P1 bis P11 gespeichert sind. (Hinsichtlich der Bestimmung für die Werte für das bitweise UND und das bitweise ODER, siehe bitte oben Beispiele 1 und 2)
  • Ursprüngliche Werte:
    P1 = 70 → 01000110
    P2 = 97 → 01100001
    P3 = 115 → 01110011
    P4 = 116 → 01110100
    P5 = 77 → 01001101
    P6 = 105 → 01101001
    P7 = 110 → 01101110
    P8 = 68 → 01000100
    P9 = 101 → 01100101
    P10 = 109 → 01101101
    P11 = 111 → 01101111 ITERATION NR. 1
    Anzahl von bis jetzt bekannten Bits von Ergebnis: 0
    Bitmaske für bis jetzt bekannte Bits: 00000000
    Bits von Ergebnis: 00000000
  • Werte, die bei dieser Iteration von jedem Prozessor an den zentralen Prozessor gegeben werden:
    Figure 00230001
  • Höchste Bitposition, bei der sich bitweises UND und bitweises ODER unterscheiden
    (wobei das niedrigstweitige Bit als 0 gezählt wird): 5 (j = 5)
    ⇒ nun sind die 3 höchstwertigen Bits des Ergebnisses bekannt. ITERATION NR. 2
    Anzahl von bis jetzt bekannten Bits von Ergebnis: 3
    Bitmaske für bis jetzt bekannte Bits: 11100000
    Bits von Ergebnis: 01100000
  • Bis jetzt bekannte Bits von Ergebnis erzeugt durch:
    • – Bits k – 1 bis j + 1 (Bits 7 bis 6) = übereinstimmende Bits von bitweisem UND und bitweisem ODER bei Iteration Nr. 1 – bei diesem Beispiel 01.
    • – Setzen von Bit j (Bit 5) auf 1 wegen Suche nach Maximum.
    • – Verbleibende Bits j – 1 bis 0 (Bits 4 bis 0) bleiben bei 0.
  • Figure 00240001
  • Höchste Bitposition, bei der sich bitweises UND und bitweises ODER unterscheiden
    (wobei das niedrigstwertige Bit als 0 gezählt wird): 4 (j = 4)
    ⇒ nun sind die 4 höchstwertigen Bits des Ergebnisses bekannt. ITERATION NR. 3
    Anzahl von bis jetzt bekannten Bits von Ergebnis: 4
    Bitmaske für bis jetzt bekannte Bits: 11110000
    Bits von Ergebnis: 01110000
  • Bis jetzt bekannte Bits von Ergebnis erzeugt durch:
    • – Bits k – 1 bis j + 1 (Bits 7 bis 5) = übereinstimmende Bits von bitweisem UND und bitweisem ODER bei Iteration Nr. 2 – bei diesem Beispiel 011.
    • – Bit j (Bit 4) auf 1 setzen wegen Suche nach Maximum.
    • – Verbleibende Bits j – 1 bis 0 (3 bis 0) bleiben bei 0.
  • Figure 00250001
  • Höchste Bitposition, bei der sich bitweises UND und bitweises ODER unterscheiden
    (wobei das niedrigstwertige Bit als 0 gezählt wird): 2 (j = 2)
    ⇒ nun sind die 6 höchstwertigen Bits des Ergebnisses bekannt. ITERATION NR. 4
    Anzahl von bis jetzt bekannten Bits von Ergebnis: 6
    Bitmaske für bis jetzt bekannte Bits: 11111100
    Bits von Ergebnis: 01110100
  • Bis jetzt bekannte Bits von Ergebnis erzeugt durch:
    • – Bits k – 1 bis j + 1 (Bits 7 bis 3) = übereinstimmende Bits von bitweisem UND und bitweisem ODER bei Iteration Nr. 3 – bei diesem Beispiel 01110.
    • – Bit j (Bit 2) auf 1 setzen wegen Suche nach Maximum.
    • – Verbleibende Bits j – 1 bis 0 (0 bis 0) bleiben bei 0.
  • Figure 00250002
  • Figure 00260001
  • Höchste Bitposition, bei der sich bitweises UND und bitweises ODER unterscheiden
    (wobei das niedrigstwertige Bit als 0 gezählt wird): –1 (j = –1)
    (d. h. alle Bits sind bekannt)
    Anzahl von bis jetzt bekannten Bits von Ergebnis: 8
    Bitmaske für bis jetzt bekannte Bits: 11111111
    Bits von Ergebnis: 01110100
  • Bis jetzt bekannte Bits von Ergebnis erzeugt durch:
    • – Bits k – 1 bis j + 1 (Bits 7 bis 0) = übereinstimmende Bits von bitweisem UND und bitweisem ODER bei Iteration Nr. 4 – bei diesem Beispiel 01110100.
    • – Bit j (Bit –1) existiert nicht.
    • – Es gibt keine verbleibenden Bits j – 1 bis 0.
    • ⇒ Nun sind alle Bits des Ergebnisses bekannt, d. h. das Ergebnis lautet 01110100 = 116. Somit hält der Prozessor P4 den Minimalwert.
  • BEISPIEL 5
  • Bestimmen eines Minimalwerts aus Werten, die in achtzehn Prozessoren P1 bis P18 gespeichert sind. (Hinsichtlich der Bestimmung für die Werte für das bitweise UND und das bitweise ODER, siehe bitte oben Beispiele 1 und 2)
  • Ursprüngliche Werte:
    P1 = 114 → 01110010
    P2 = 104 → 01101000
    P3 = 97 → 01100001
    P4 = 98 → 01100010
    P5 = 97 → 01100001
    P6 = 114 → 01110010
    P7 = 98 → 01100010
    P8 = 101 → 01100101
    P9 = 114 → 01110010
    P10 = 114 → 01110010
    P11 = 104 → 01101000
    P12 = 97 → 01100001
    P13 = 98 → 01100010
    P14 = 97 → 01100001
    P15 = 114 → 01110010
    P16 = 98 → 01100010
    P17 = 101 → 01100101
    P18 = 114 → 01110010 ITERATION NR. 1
    Anzahl von bis jetzt bekannten Bits von Ergebnis: 0
    Bitmaske für bis jetzt bekannte Bits: 00000000
    Bits von Ergebnis: 00000000
  • Werte, die bei dieser Iteration von jedem Prozessor an den zentralen Prozessor gegeben werden:
    Figure 00270001
  • Höchste Bitposition, bei der sich bitweises UND und bitweises ODER unterscheiden
    (wobei das niedrigstwertige Bit als 0 gezählt wird): 4 (j = 4)
    ⇒ nun sind die 4 höchstwertigen Bits des Ergebnisses bekannt. ITERATION NR. 2
    Anzahl von bis jetzt bekannten Bits von Ergebnis: 4
    Bitmaske für bis jetzt bekannte Bits: 11110000
    Bits von Ergebnis: 01100000
  • Bis jetzt bekannte Bits von Ergebnis erzeugt durch:
    • – Bits k – 1 bis j + 1 (Bits 7 bis 5) = übereinstimmende Bits von bitweisem UND und bitweisem ODER bei Iteration Nr. 1 – bei diesem Beispiel 011.
    • – Setzen von Bit j (Bit 4) auf 0 wegen Suche nach Minimum.
    • – Verbleibende Bits j – 1 bis 0 (Bits 3 bis 0) bleiben bei 0.
  • Figure 00280001
  • Höchste Bitposition, bei der sich bitweises UND und bitweises ODER unterscheiden
    (wobei das niedrigstwertige Bit als 0 gezählt wird): 3 (j = 3)
    ⇒ nun sind die 5 höchstwertigen Bits des Ergebnisses bekannt. ITERATION NR. 3
    Anzahl von bis jetzt bekannten Bits von Ergebnis: 5
    Bitmaske für bis jetzt bekannte Bits: 11111000
    Bits von Ergebnis: 01100000
  • Bis jetzt bekannte Bits von Ergebnis erzeugt durch:
    • – Bits k – 1 bis j + 1 (Bits 7 bis 4) = übereinstimmende Bits von bitweisem UND und bitweisem ODER bei Iteration Nr. 2 – bei diesem Beispiel 0110.
    • – Bit j (Bit 3) auf 0 setzen wegen Suche nach Minimum.
    • – Verbleibende Bits j – 1 bis 0 (2 bis 0) bleiben bei 0.
  • Figure 00290001
  • Höchste Bitposition, bei der sich bitweises UND und bitweises ODER unterscheiden
    (wobei das niedrigstwertige Bit als 0 gezählt wird): 2 (j = 2)
    ⇒ nun sind die 6 höchstwertigen Bits des Ergebnisses bekannt. ITERATION NR. 4
    Anzahl von bis jetzt bekannten Bits von Ergebnis: 6
    Bitmaske für bis jetzt bekannte Bits: 11111100
    Bits von Ergebnis: 01100000
  • Bis jetzt bekannte Bits von Ergebnis erzeugt durch:
    • – Bits k – 1 bis j + 1 (Bits 7 bis 3) = übereinstimmende Bits von bitweisem UND und bitweisem ODER bei Iteration Nr. 3 – bei diesem Beispiel 01100.
    • – Bit j (Bit 2) auf 0 setzen wegen Suche nach Minimum.
    • – Verbleibende Bits j – 1 bis 0 (1 bis 0) bleiben bei 0.
  • Figure 00300001
  • Höchste Bitposition, bei der sich bitweises UND und bitweises ODER unterscheiden
    (wobei das niedrigstwertige Bit als 0 gezählt wird): 1 (j = 1)
    ⇒ nun sind die 7 höchstwertigen Bits des Ergebnisses bekannt. ITERATION NR. 5
    Anzahl von bis jetzt bekannten Bits von Ergebnis: 7
    Bitmaske für bis jetzt bekannte Bits: 11111110
    Bits von Ergebnis: 01100000
  • Bis jetzt bekannte Bits von Ergebnis erzeugt durch:
    • – Bits k – 1 bis j + 1 (Bits 7 bis 2) = übereinstimmende Bits von bitweisem UND und bitweisem ODER bei Iteration Nr. 4 – bei diesem Beispiel 011000.
    • – Bit j (Bit 1) auf 0 setzen wegen Suche nach Minimum.
    • – Verbleibende Bits j – 1 bis 0 (0 bis 0) bleiben bei 0.
  • Figure 00310001
  • Höchste Bitposition, bei der sich bitweises UND und bitweises ODER unterscheiden
    (wobei das niedrigstwertige Bit als 0 gezählt wird): –1 (j = –1)
    (d. h. alle Bits sind bekannt)
    Anzahl von bis jetzt bekannten Bits von Ergebnis: 8
    Bitmaske für bis jetzt bekannte Bits: 11111111
    Bits von Ergebnis: 01100001
  • Bis jetzt bekannte Bits von Ergebnis erzeugt durch:
    • – Bits k – 1 bis j + 1 (Bits 7 bis 0) = übereinstimmende Bits von bitweisem UND und bitweisem ODER bei Iteration Nr. 4 – bei diesem Beispiel 01100001.
    • – Bit j (Bit –1) existiert nicht.
    • – Es gibt keine verbleibenden Bits j – 1 bis 0.
    • ⇒ Nun sind alle Bits des Ergebnisses bekannt, d. h. das Ergebnis lautet 01100001 = 97. Somit halten die Prozessoren P3, P5, P12 den Minimalwert.
  • BEISPIEL 6
  • Bestimmen eines Maximalwerts aus Werten, die in achtzehn Prozessoren P1 bis P18 gespeichert sind. (Hinsichtlich der Bestimmung für die Werte für das bitweise UND und das bitweise ODER, siehe bitte oben Beispiele 1 und 2)
  • Ursprüngliche Werte:
    P1 = 114 → 01110010
    P2 = 104 → 01101000
    P3 = 97 → 01100001
    P4 = 98 → 01100010
    P5 = 97 → 01100001
    P6 = 114 → 01110010
    P7 = 98 → 01100010
    P8 = 101 → 01100101
    P9 = 114 → 01110010
    P10 = 114 → 01110010
    P11 = 104 → 01101000
    P12 = 97 → 01100001
    P13 = 98 → 01100010
    P14 = 97 → 01100001
    P15 = 114 → 01110010
    P16 = 98 → 01100010
    P17 = 101 → 01100101
    P18 = 114 → 01110010 ITERATION NR. 1
    Anzahl von bis jetzt bekannten Bits von Ergebnis: 0
    Bitmaske für bis jetzt bekannte Bits: 00000000
    Bits von Ergebnis: 00000000
  • Werte, die bei dieser Iteration von jedem Prozessor an den zentralen Prozessor gegeben werden:
    Figure 00320001
    Figure 00330001
  • Höchste Bitposition, bei der sich bitweises UND und bitweises ODER unterscheiden
    (wobei das niedrigstwertige Bit als 0 gezählt wird): 4 (j = 4)
    ⇒ nun sind die 4 höchstwertigen Bits des Ergebnisses bekannt. ITERATION NR. 2
    Anzahl von bis jetzt bekannten Bits von Ergebnis: 4
    Bitmaske für bis jetzt bekannte Bits: 11110000
    Bits von Ergebnis: 01110000
  • Bis jetzt bekannte Bits von Ergebnis erzeugt durch:
    • – Bits k – 1 bis j + 1 (Bits 7 bis 5) = übereinstimmende Bits von bitweisem UND und bitweisem ODER bei Iteration Nr. 1 – bei diesem Beispiel 011.
    • – Setzen von Bit j (Bit 4) auf 1 wegen Suche nach Minimum.
    • – Verbleibende Bits j – 1 bis 0 (Bits 3 bis 0) bleiben bei 0.
  • Figure 00330002
  • Figure 00340001
  • Höchste Bitposition, bei der sich bitweises UND und bitweises ODER unterscheiden
    (wobei das niedrigstwertige Bit als 0 gezählt wird): –1 (j = –1)
    Anzahl von bis jetzt bekannten Bits von Ergebnis: 8
    Bitmaske für bis jetzt bekannte Bits: 11111111
    Bits von Ergebnis: 01110010
  • Bis jetzt bekannte Bits von Ergebnis erzeugt durch:
    • – Bits k – 1 bis j + 1 (Bits 7 bis 0) = übereinstimmende Bits von bitweisem UND und bitweisem ODER bei Iteration Nr. 4 – bei diesem Beispiel 01110010.
    • – Bit j (Bit –1) existiert nicht.
    • – Es gibt keine verbleibenden Bits j – 1 bis 0.
    • ⇒ Nun sind alle Bits des Ergebnisses bekannt, d. h. das Ergebnis lautet 01110010 = 114. Somit halten die Prozessoren P6, P9, P10, P15, P18, den Minimalwert.
  • Gemäß den oben beschriebenen Ausführungsbeispielen ist die Anzahl von Iterationen, die für diese Art des Bestimmens des Minimums benötigt wird, lediglich die Anzahl von Bits, bei denen sich die Binärdarstellung von zwei der ursprünglichen Werte unterscheidet. Jede Iteration erfordert einen gemeinsamen Lesevorgang mit „UND”, einen gemeinsamen Lesevorgang mit „ODER” und eine Rundsendung.
  • Die Anzahl von Bits, die verwendet wird, um Zahlen darzustellen, beträgt typischerweise 32, oder kann sogar 64 betragen, und die Anzahl von Bits, bei denen sich ein Satz von Werten unterscheidet, kann noch geringer sein. Falls die Anzahl n von Prozessoren erheblich größer als die Anzahl von Bits ist, bei denen sich der Satz von Werten unterscheidet, beispielsweise um mehrere Tausend größer, ist das „schnelle Minimumfinden” erheblich schneller als die oben angegebene triviale Weise, die n Leseoperationen benötigt.
  • Ausführungsbeispiele der Erfindung wurden unter Verwendung einer Mehrzahl von Prozessoren P1 bis Pn beschrieben, die jeweils einen Binärwert liefern. Andere Ausführungsbeispiele verwenden eventuell lediglich einen einzigen Prozessor oder eine verringerte Anzahl von Prozessoren, die jeweils in jeweiligen Registern von Speicherelementen, die denselben zugeordnet sind, die Binärwerte halten, deren Maximum/Minimum durch den zentralen Prozessor bestimmt werden soll.
  • Das oben beschriebene Verfahren kann in Hardware oder in Software implementiert werden. Zusätzlich kann die Implementierung in einem digitalen Speichermedium erfolgen, beispielsweise einer Platte oder einer CD, die elektronisch lesbare Steuersignale aufweist, die mit einem programmierbaren Computersystem zusammenwirken können, zum Ausführen des Verfahrens gemäß Ausführungsbeispielen der vorliegenden Erfindung. Im Allgemeinen handelt es sich bei der Erfindung auch um ein Computerprogrammprodukt, das einen Programmcode zum Ausführen des Verfahrens gemäß Ausführungsbeispielen der vorliegenden Erfindung aufweist, der auf einem maschinenlesbaren Träger gespeichert ist und ausgeführt wird, wenn das Computerprogrammprodukt auf einem Computer abläuft. Anders ausgedrückt handelt es sich bei der Erfindung auch um ein Computerprogramm, das Programmcodes zum Ausführen des Verfahrens aufweist, wenn das Computerprogramm auf einem Computer abläuft.
  • Zusammenfassung
  • Zum Bestimmen eines Minimums/Maximums einer Mehrzahl von Binärwerten wird eine Bitposition in der Mehrzahl von Binärwerten bestimmt, nachfolgend zu der alle Bitwerte die gleichen sind. Aus der Mehrzahl von Binärwerten werden diese Binärwerte ausgewählt, deren Bitwerte an der Bitposition, die bei dem vorhergehenden Schritt bestimmt werden, und allen nachfolgenden Positionen, falls vorhanden, einen vorbestimmten Wert aufweisen. Die vorhergehenden Schritte werden dann wiederholt, bis lediglich ein Binärwert verbleibt, der als das Minimum oder Maximum geliefert wird.

Claims (14)

  1. Ein Verfahren zum Bestimmen eines Minimums/Maximums einer Mehrzahl von Binärwerten, wobei das Verfahren folgende Schritte aufweist: (a) Bestimmen einer Bitposition in der Mehrzahl von Binärwerten, nachfolgend zu der alle Bitwerte die gleichen sind; (b) Auswählen dieser Binärwerte, deren Bitwert an der bei (a) bestimmten Bitposition und allen nachfolgenden Bitpositionen, falls vorhanden, einen vorbestimmten Wert aufweist, aus der Mehrzahl von Binärwerten; (c) Wiederholen der Schritte (a) und (b), wobei der Schritt (a) auf der Basis der Binärwerte, die bei dem Schritt (b) ausgewählt werden, wiederholt wird, bis lediglich ein ausgewählter Binärwert oder eine Mehrzahl von übereinstimmenden Binärwerten verbleibt; und (d) Liefern des verbleibenden Binärwerts als das Minimum oder Maximum.
  2. Das Verfahren gemäß Anspruch 1, bei dem der vordefinierte Wert „1” ist, falls ein Maximum bestimmt werden soll, und bei dem der vorbestimmte Wert „0” ist, falls ein Minimum bestimmt werden soll.
  3. Das Verfahren gemäß Anspruch 1 oder 2, bei dem die Mehrzahl von Binärwerten durch eine Mehrzahl von Speichern (M1 – Mn) gehalten wird, und wobei der Schritt (a) anfänglich folgende Schritte aufweist: (a.1) gemeinsames Lesen aller Binärwerte aus allen Speichern (M1 – Mn) und Erzeugen einer bitweisen ODER-Verknüpfung und einer bitweisen UND-Verknüpfung der gemeinsam gelesenen Binärwerte; und (a.2) Bestimmen der Bitposition in der Mehrzahl von Binärwerten, nachfolgend zu der alle Binärwerte die gleichen sind, basierend auf der bitweisen ODER-Verknüpfung und der bitweisen UND-Verknüpfung der gemeinsam gelesenen Binärwerte.
  4. Das Verfahren gemäß Anspruch 3, bei dem zum Erzeugen einer nachfolgenden bitweisen ODER-Verknüpfung und einer nachfolgenden bitweisen UND-Verknüpfung der Schritt (b) folgende Schritte aufweist: Auswählen der ursprünglichen Binärwerte, falls der Bitwert eines ursprünglichen Binärwerts an der Bitposition, die bei dem Schritt (a) bestimmt wird, dem vorbestimmten Wert entspricht, und andernfalls Auswählen des modifizierten Werts; und wobei das Wiederholen des Schritts (a) auf der nachfolgenden bitweisen ODER-Verknüpfung und der nachfolgenden bitweisen UND-Verknüpfung basiert.
  5. Das Verfahren gemäß Anspruch 4, bei dem für die nachfolgende bitweise ODER-Verknüpfung der modifizierte Wert durch die bis jetzt bekannten Bits des Minimums/Maximums und die verbleibenden Bits der bestehenden bitweisen UND-Verknüpfung gebildet wird, und für die nachfolgende bitweise UND-Verknüpfung der modifizierte Wert durch die bis jetzt bekannten Bits des Minimums/Maximums und die verbleibenden Bits der bestehenden bitweisen ODER-Verknüpfung gebildet wird.
  6. Das Verfahren gemäß Anspruch 5, bei dem der Schritt (a) folgenden Schritt aufweist: Übermitteln der bitweisen ODER-Verknüpfung und der bitweisen UND-Verknüpfung an die Speicher (M1 – Mn); und der Schritt (b) folgende Schritte aufweist: Übermitteln der bis jetzt bekannten Bitwerte des Minimums/Maximums an die Speicher (M1 – Mn), für die nachfolgende bitweise ODER-Verknüpfung, Anweisen jedes Speichers (M1 – Mn), um den ursprünglichen Wert zurückzugeben, falls der Bitwert an der Bitposition, die bei dem Schritt (a) bestimmt wird, und allen nachfolgenden Bitpositionen, falls vorhanden, den bis jetzt bekannten Binärwerten des Minimums/Maximums entspricht, und andernfalls die bis jetzt bekannten Bitwerte des Minimums/Maximums und die Bitwerte der verbleibenden Bitpositionen der bestehenden bitweisen UND-Verknüpfungen zurückzugeben, und für die nachfolgende bitweise UND-Verknüpfung, Anweisen jedes Speichers (M1 – Mn), um den ursprünglichen Wert zurückzugeben, falls der Bitwert an der Bitposition, die bei dem Schritt (a) bestimmt wird, und allen nachfolgenden Bitpositionen, falls vorhanden, den bis jetzt bekannten Binärwerten des Minimums/Maximums entspricht, und andernfalls die bis jetzt bekannten Bitwerte des Minimums/Maximums und die Bitwerte der verbleibenden Bitpositionen der bestehenden bitweisen ODER-Verknüpfungen zurückzugeben.
  7. Das Verfahren gemäß einem der Ansprüche 3 bis 6, bei dem die Speicher (M1 – Mn) Prozessorspeicher oder Speicher sind, die jeweiligen Prozessoren (P1 – Pn) zugeordnet sind.
  8. Ein Computerspeichermedium, das einen computerlesbaren Programmcode zum Ausführen des Verfahrens gemäß einem der Ansprüche 1 bis 6 aufweist, wenn der Programmcode durch einen Prozessor (102) ausgeführt wird.
  9. Ein Computerprogrammprodukt, das einen computerlesbaren Programmcode zum Ausführen des Verfahrens gemäß einem der Ansprüche 1 bis 6 aufweist, wenn der Programmcode durch einen Prozessor (102) ausgeführt wird.
  10. Ein Computerprogramm, das einen Programmcode zum Ausführen des Verfahrens gemäß einem der Ansprüche 1 bis 6 aufweist, wenn der Programmcode durch einen Prozessor (102) ausgeführt wird.
  11. Ein System zum Bestimmen eines Minimums/Maximums einer Mehrzahl von Binärwerten, wobei das System folgende Merkmale aufweist: einen zentralen Prozessor (102); eine Logik (108), die mit dem zentralen Prozessor (102) gekoppelt ist und konfiguriert ist, um eine bitweise ODER-Verknüpfung und eine bitweise UND-Verknüpfung einer Mehrzahl von Eingangswerten an den zentralen Prozessor (102) auszugeben; und eine Mehrzahl von Speichern (M1 – Mn), die jeweiligen Prozessoren (P1 – Pn) zugeordnet sind, wobei jeder der Speicher (M1 – Mn) mit der Logik (108) gekoppelt ist, und konfiguriert ist, um einen der Mehrzahl von Binärwerten zu halten, wobei der zentrale Prozessor (102) konfiguriert ist, um gemäß dem Verfahren von einem der Ansprüche 1 bis 6 wirksam zu sein.
  12. Das System gemäß Anspruch 11, bei dem die Logik (108) durch den zentralen Prozessor (102) implementiert ist.
  13. Das System gemäß Anspruch 11 oder 12, das ein Tester (100) zum Testen elektronischer Vorrichtungen (104) ist, wobei die Binärwerte Testergebnisse darstellen.
  14. Eine Vorrichtung zum Bestimmen eines Minimums/Maximums einer Mehrzahl von Binärwerten, wobei die Vorrichtung folgende Merkmale aufweist: einen Prozessor (102), der konfiguriert ist, um gemäß dem Verfahren eines der Ansprüche 1 bis 6 wirksam zu sein.
DE112008000213T 2008-08-05 2008-08-05 Verfahren und Vorrichtung zum Bestimmen eines Minimums/Maximums einer Mehrzahl von Binärwerten Ceased DE112008000213T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2008/006437 WO2010015263A1 (en) 2008-08-05 2008-08-05 Method and apparatus for determining a minimum/maximum of a plurality of binary values

Publications (1)

Publication Number Publication Date
DE112008000213T5 true DE112008000213T5 (de) 2009-11-19

Family

ID=40328717

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112008000213T Ceased DE112008000213T5 (de) 2008-08-05 2008-08-05 Verfahren und Vorrichtung zum Bestimmen eines Minimums/Maximums einer Mehrzahl von Binärwerten

Country Status (6)

Country Link
US (1) US8898210B2 (de)
JP (1) JP2010532065A (de)
KR (1) KR101043937B1 (de)
DE (1) DE112008000213T5 (de)
TW (1) TWI509507B (de)
WO (1) WO2010015263A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8234320B1 (en) 2007-10-25 2012-07-31 Marvell International Ltd. Bitwise comparator for selecting two smallest numbers from a set of numbers
US9606183B2 (en) * 2012-10-20 2017-03-28 Advantest Corporation Pseudo tester-per-site functionality on natively tester-per-pin automatic test equipment for semiconductor test
US20190266478A1 (en) * 2018-02-28 2019-08-29 International Business Machines Corporation Neuromorphic systems for computing characteristics of a set

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4539549A (en) * 1982-12-30 1985-09-03 International Business Machines Corporation Method and apparatus for determining minimum/maximum of multiple data words

Also Published As

Publication number Publication date
WO2010015263A1 (en) 2010-02-11
TW201011636A (en) 2010-03-16
JP2010532065A (ja) 2010-09-30
US20110191398A1 (en) 2011-08-04
US8898210B2 (en) 2014-11-25
KR20100038283A (ko) 2010-04-14
TWI509507B (zh) 2015-11-21
KR101043937B1 (ko) 2011-06-29

Similar Documents

Publication Publication Date Title
DE2555439C2 (de) Monolithische hochintegrierte Halbleiterschaltung
DE60005156T2 (de) Verteilte schnittstelle zur parallelen prüfung von mehreren vorrichtungen, wobei nur ein einzelner testkanal benutzt wird
DE69114183T2 (de) System zur Reduzierung von Prüfdatenspeichern.
DE2556822C2 (de) Monolithische hochintegrierte Halbleiterschaltung
DE2413805C2 (de) Verfahren zum Prüfen von Halbleiter-Schaltungsplättchen und Schaltungsanordnung zur Durchführung des Verfahrens
DE69011133T2 (de) Verfahren und gerät zur hochgenauigen erzeugung von gewichteten zufallsmustern.
DE69019555T2 (de) Technik für die serielle Prüfung eingebauter Speicher.
DE60025789T2 (de) Logische eingebaute Selbstprüfung (LBIST) Steuerschaltungen, Systeme und Verfahren mit automatischer Bestimmung der maximalen Abtastkettenlänge
DE19855488A1 (de) Testmustergenerator mit verbesserter Testsequenzverdichtung
DE602004009329T2 (de) Verfahren und system zum selektiven maskieren von testantworten
DE10343227A1 (de) System und Verfahren zum Testen eines Schaltungsaufbaus unter Verwendung einer extern erzeugten Signatur
DE102006059156A1 (de) Speichern von Mehrkern-Chiptestdaten
DE69825299T2 (de) Verfahren und vorrichtung zur anwendung von gewichteten zufallsmustern bei teilabtastung
DE102005026403B4 (de) Verfahren zum Liefern von Abtastmustern zu einer elektronischen Vorrichtung
DE602004009784T2 (de) Datenkomprimierung
DE10339940A1 (de) System und Verfahren zum heterogenen Mehrstellentesten
DE112008001707T5 (de) Finite-Feld-Operationen verwendender kryptographischer Zufallszahlengenerator
DE10335809B4 (de) Integrierte Schaltung mit einem zu testenden elektronischen Schaltkreis und Testsystem-Anordnung zum Testen der integrierten Schaltung
DE112008000213T5 (de) Verfahren und Vorrichtung zum Bestimmen eines Minimums/Maximums einer Mehrzahl von Binärwerten
DE4327660A1 (de) Vorrichtung zum Herstellen einer und Herstellungsverfahren für eine integrierte Halbleiterschaltungsvorrichtung und elektronische Schaltungsvorrichtung
DE3817143C2 (de)
DE102015102363A1 (de) Anordnung und verfahren zum überprüfen der entropie einer zufallszahlenfolge
DE112014006751T5 (de) Schlankes serielles Interface für ein Wrapper-Boundary-Register (vorrichtung und Verfahren)
DE602004007906T2 (de) Testeinrichtung und einstellverfahren
DE102005026402A1 (de) Verfahren und Vorrichtungen zum Programmieren und Betreiben einer automatischen Testausrüstung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final

Effective date: 20120313

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20120301