DE2619418C2 - Einrichtung zum Umsetzen einer Binärzahl in eine Zahl Modulo M - Google Patents
Einrichtung zum Umsetzen einer Binärzahl in eine Zahl Modulo MInfo
- Publication number
- DE2619418C2 DE2619418C2 DE2619418A DE2619418A DE2619418C2 DE 2619418 C2 DE2619418 C2 DE 2619418C2 DE 2619418 A DE2619418 A DE 2619418A DE 2619418 A DE2619418 A DE 2619418A DE 2619418 C2 DE2619418 C2 DE 2619418C2
- Authority
- DE
- Germany
- Prior art keywords
- adder
- binary
- modulo
- output
- input
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
- G06F11/104—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error using arithmetic codes, i.e. codes which are preserved during operation, e.g. modulo 9 or 11 check
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/14—Conversion to or from non-weighted codes
- H03M7/18—Conversion to or from residue codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Error Detection And Correction (AREA)
- Complex Calculations (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Executing Machine-Instructions (AREA)
Description
Jl 40 Gegenstand der Erfindung ist eine Einrichtung zum Umsetzen einer Binärzahl in eine Zahl Modulo M, die
ΐ| kleiner als die in mindestens zwei Bitsegmente aufgeteilte Binärzahl ist, deren erstes niederwertiges Bitsegment
%, in der Regel kleiner als die in einem Speicherglied gespeicherte Zahl Mist
Ig Eine derartige Einrichtung ist aus der US-PS 31 37 788 bekannt und bezieht sich auf ein Fehlerprüfsystem
!' unter Verwendung einer Zahlendarstellung im Restklassensystem. Der bekannten Einrichtung werden binäre
Ü; 45 Signale zugeführt, die im Binär/Dezimai-Kode kodierten Dezimalzahlen entsprechen. Die den Dezimalzahlen
|5 entsprechenden Binärziffern werden in mehreren, mit einem Ringzähler verbundenen Pufferspeichern an der
];;;. dem betreffenden Ziffernwert zugeordneten Stelle gespeichert. Vor den Pufferspeichern wird die eingegebene
vf Zahl parallel zu mehreren Restwert-Kodiervorrichtungen übertragen, wobei die Übertragung unter Steuerung
<f des Ringzählers in der Weise erfolgt, daß die den betreffenden Dezimalzahlen entsprechenden binären Signale
% 50 seriell in mehrere Kodiervorrichtungen übertragen werden, so daß das den Einem entsprechende Binärsignal als
§8 letztes und das beispielsweise den Zehntausender entsprechende Binärsignal als erstes in die zugeordnete
H Kodiervorrichtung übertragen wird. Jede Kodiervorrichtung gibt an ihren Ausgängen eine Binärzahl ab. die den
$5 Rest der durch eine bestimmte Modulo-Zahl geteilten Eingangszahl darstellt, wobei die den einzelnen Kodier-
Vh vorrichtungen zugeführten Modulo-Zahlen voneinander verschieden sind und keinen gemeinsamen Teiler auf-
5>| 55 weisen. Die von den Kodiervorrichtungen abgegebenen, den Restwerten entsprechenden Signale werden über
p weitere Pufferspeicher an Datenverarbeitungseinheiten abgegeben, die eine weitere Bearbeitung der eingege-
$ benen Ziffern unter Verwendung der dem betreffenden Datenkanal zugeordneten Modulo-Zahl vornehmen. Die
'■ Ί bearbeiteten Zahlen werden schließlich durch die betreffende Modulo-Zahl geteilt, so daß die abgegebenen
ii Binärzahlen entsprechend zusammengestellt werden können. Die Kodiervorrichtungen enthalten Adressenspei-
;;' 60 eher zur Speicherung der zur Berechnung von Modulo-Zahlen dienenden Zahlenwerte sowie arithmetische
Einheiten und Multiplikationskreise zur Restwertberechnung der eingegebenen Zahlen. Werden mit der bekannten
Vorrichtung in Binärziffern umgewandelte Dezimalzahlen mit einer großen Stellenzahl bearbeitet, so
muß eine entsprechend große Anzahl Speicher- und Kodiervorrichtungen vorgesehen werden, die die Vorrichtung
insgesamt aufwendig und damit teuer machen und darüber hinaus eine erhebliche Zeit für die Bearbeitung
der eingegebenen Zahlen bedingen.
Aufgabe der vorliegenden Erfindung ist es, eine Einrichtung zum Umsetzen einer großen Binärzahl in eine
Zahl Modulo M mit einer geringen Anzahl digitaler Bausteine zu schaffen, bei der die Bearbeitung der eingegebenen
Zahlen in geringstmögiicher Zeit sichergestellt ist.
Diese Aufgabe wird erfindungsgemäß durch einen binären Modulo-Addierer, dessen erster Binäreingang mit.
dem ersten Bitsegment, dessen zweiter Binäreingang über einen von dem Binärsegment adressierbaren Speicher
mit einem weiteren Bitsegment und dessen dritten Binäreingang mit der binär kodierten Zahl M beaufschlagt ist
und der einen ersten, die Binärzahlen des ersten und zweiten Binäreingangs addierenden Addierers, einen
zweiten die Binärzahlen des ersten und zweiten Binäreingangs abzüglich der binär kodierten Zahl M addieren- s
den Addierer und einen Multiplexer enthält, dessen Eingänge mit den Ausgängen des ersten und zweiten
Addierers verbunden sind und der in Abhängigkeit von dem Vorzeichen des Ausgangs des zweiten Addierers
das binäre Ausgangssignal des zweiten Addierers abgibt, wenn dieses positiv ist und der das Ausgangssignal des
ersten Addierers abgibt, wenn das A.usgangssignal des zweiten Addierers negativ ist, gelöst
Die erfindungsgemäße Lösung macht eine nur geringe Anzahl digitaler Bausteine erforderlich, um eine
schnelle und vollständige Umsetzung der eingegebenen Ziffer und damit Bearbeitung auch bei sehr großen
Digital- bzw. Dezimalzahlen zu ermöglichen.
Anhand eines in der Zeichnung dargestellten Ausführungsbeispieles soll der der Erfindung zugrundeliegende
Gedanke näher erläutert werden.
Es zeigt
F i g. 1 ein Blockschaltbild einer Einrichtung zum Umsetzen einer Binärzahl in eine Zahl Modulo M für eine
vorzeichenbehaftete, 23 Bit umfassende Binärzahl und M = 67;
Fig.2 eine Tabelle für einen Lesespeicher gemäß Fig. 1 zur Speicherung von Modulo Af-Umsetzungen in
Abhängigkeit von bestimmten binären Eingangssignalen;
F i g. 3 ein Blockschaltbild eines in der Einrichtung gemäß F i g. 1 verwendeten Addierers;
Fig.4 ein Blockschaltbild einer Einrichtung zum Umsetzen einer mit einem Vorzeichen v.\;sehenen, 15 Bits
umfassenden Binärzah! in einer Zahl Modulo M und
F i g. 5 ein Blockschaltbild einer Einricteung zum Umsetzen einer positiven, 23 Bits umfassenden Binärzahl in
eine Zahl Modulo M.
Die Umsetzung einer Binärzahl in eine Zahl Modulo M wird dadurch ausgeführt, daß die Binärzahl in
Gruppen von Bits aufgeteilt wird, die unabhängig umgesetzt und danach mit einer Modulo Λί-Addiuon zum
Endergebnis zusammengesetzt werden. Beispielsweise kann die Dereichsweise Aufteilung wie folgt geschehen:
\B\m = \bnbn-\...bo\m
Dabei bedeuten B eine Binärzahl der Länge n, bn das Binärbit (entweder eine 1 oder einen 0) an der men Stelle
und Bn, die Modulo Λί-Umsetzung der Binärzahl B, wobei Mganzzahlig ist und die Modulo M-Umsetzung dem
Rest gleicht, der bei der Division B durch M verbleibt.
Nachstehend werden spezielle Beispiele, die auf unterschiedliche Längen von Binärzahlen bei festem M
angewandt sind, angegeben.
Gemäß F i g. 1 wird eine mit Vorzeichen versehene 23 Bit umfassende Binärzahl 11 in eine Zahl Mcdulo fs7 mit
Hilfe zweier Speicher 13 und 15 und 256 χ 7 Bit, zweier Modulo-Addierer 17 und 19 und einem Addiererglied 21
umgesetzt. Wie aus dem Nachfolgenden weiter deutlich wird, findet eine derartige Umsetzung innerhalb einer
minimalen Taktzeit statt.
Die Bits der Binärzahl 11 werden in drei Abschnitte unierteilt. Die acht höher-wertigen Bits adressieren einen
256 χ 7 Speicher 13, die acht Bits mittlerer Position adressieren einen 256 χ 7 Speicher 15 und die sechs niederwenigen
Bits sind mit einem ersten Eingang 29 des Modulo-Addierers 19 verbunden. Eine Beschreibung der
Betriebsweise und der konkreten Ausführungsform des Modulo-Addierers 19 schließt sich an die Erörterung der
Speicher 13 und 15 an.
Die Speicher 13 und 15 sind übliche Lesespeicher mit 256 (= 28) Adressen und einer erforderlichen Wortlänge
von 7 Bits für die Modulo 65-Umsetzungen, da 67 kleiner als 128 ( = 27) und mehr als 64 ( = 26) ist. Jeder
Lesespeicher oder auch beide Lesespeicher zusammen können auf einem einzigen LSI-Chip hergestellt werden.
Die Speicher 13 und 15 werden durch ausgewählte acht Bitsegmente der Binärzähler 11 adressiert und geben
vorbestimmte Modulo-Umformungen für die gewählten acht Bit Binäradressen aus. Der Speicher 15 wird durch
die achi Bits adressiert, die die äquivalenten Dezimalwerte von 128x/ repräsentieren, wobei / alle ganzen
Zahlen zwischen 0 und 255 einschließlich bedeutet. F i g. 2 zei;n alle 256 Modulo-67 Ausgänge für die acht Bits,
die dem Speicher 15 eingegeben werden. Als Beispiel beträgt der Ausgang für die dezimal äquivalente Adresse
128x2 = (256), nämlich 55 (= 256—3x67). Die anderen 255 Speicherausg2;ige sind in ähnlicher Weir« vorbestimmt
und in dem Speicher 15 gespeichert. Die Modulo-Ausgänge für den Speicher 13 sind in ähnlicher Weise
bestimmt, werden jedoch für die Werte 32768mal / berechnet, wobei /alle genannten Zahlen zwischen 0 und 255
einschließlich bedeutet.
Der Speicher 15-Ausgang wird zu einem zweiten Eingang 31 des Modulo-Addierers 19. Der Modulo-Addierer
19 summiert sämtliche Eingänge und gibt das Modulo M Resultat aus. Da beide Eingänge 29 und 31 für den
Modulo-Addierer 19 kleiner als das Modulo M von 67 sind, ist die Modulo-Addition lediglich die Sumne der
Eingänge oder die Summe der Eingänge minus 67, wenn die Eingangssumme größer oder gleich 67 ist. Die
Modulo-Addition könnte daher auch dadurch ausgeführt werden, daß die Eingänge summiert, die Summe mit 67
verglichen und 67 von der Summe subtrahiert wird, wenn dies sich aus dem Vergleich ergibt.
Wie jedoch Fig.3 zeigt, findet die bevorzugte Ausführungsform der Modulo-Addition dadurch statt, daß
parallel die Eingänge summiert und die Eingänge minus 67 summiert werden und dann entweder die direkte
Eingangssumme oder die Eingangssumme minus 67 ausgegeben wird, je nachdem ob die letztere negativ oder
positiv ist. Der Modulo-Addierer 19 mit den Eingängen 29 und 31 summiert diese Eingänge in einem ersten
Addierer 33 mit laufendem Übertrag.
Parallel mit der direkten Summierung der Eingänge wird das Summieren der Eingänge minus 6/ in einem
zweiten Addierer 35, 37 durchgeführt, der sich aus einem Addierer 35 mit gesondertem Übertrag und einem
weiteren Addierer 37 mit fortlaufendem Übertrag zusammensetzt.
Die Ausgänge 39 und 41 des erste"» Addierers 33 sowie des zweiten Addierers 37 stellen Eingänge für einen
Multiplexer 43 dar, der entweder den \usgang 39 oder den Ausgang 41 durchschaltet, je nachdem ob Ausgang
41 negativ oder positiv ist, wie das der Jteuereingang 44 anzeigt.
Wie man der F i g. 1 entnimmt, wird der Ausgang 45 des Multiplexers 43 als ein Eingang dem Modulo-Addierer
17 zugeführt, der ebenso wie der Modulo-Addierer 19 arbeitet. Ein zweiter Eingang für den Modulo-Addierer
17 kommt vom Ausgang 47 des Speichers 13. Der Speicher 13 speichert die Modulo 67-Umsetzungen für die
höchststelligen acht Bits der mit Vorzeichen versehenen Binärzahl 11, ebenso wie der Speicher 15 die Modulo
67-Umsetzungen für die mittleren acht Bits speichert. Die Modulo 67-Umsetzungen für den Speicher 13 sind in
ähnlicher Weise vorbestimmt unter Anwendung des Verfahrens, das zur Festlegung der Modulo 67-Umsetzungen
für den Speicher 15 wie oben erwähnt dient.
Der Ausgang des Modulo-Addierers 17 wird als erster Eingang einem Addierglied 21 zugeführt. Der zweite
Eingang 51 stellt die Modulo-Zahl 67 dar. Ein Steuereingang 53 wird durch das Vorzeichen-Bit 55 der Binärzahl
11 gebildet. Wenn das Vorzeichen-Bit 55 positiv ist, dann wird der erste Eingang 49 praktisch direkt durch das
Addiererglied 21 zum Addierer-Ausgang 57 durchgeleitet, der die fertige Binär/Moduio 67-ümsetzung repräsentiert.
Wenn andererseits das Vorzeichenbit 55 negativ ist, dann wird der erste Eingang 49 vom zweiten
Eingang 51, der die Zahl 67 darstellt, subtrahiert, und das Ergebnis wird ausgegeben, das dann die fertige
Umsetzung darstellt.
Einige im Handel erhältliche Addierer/Subtrahierer führen die Subtraktionen einfach durch Komplementieren
eines Eingangs und nachfolgendes Addieren aus. Das Ergebnis ergibt den richtigen Differenzwert minus 1. In
solchem Fall muß die Zahi 68 dem zweiten Addierereingang zugeführt werden, um die richtige Binär/Modulo
67-Umsetzungen zu gewährleisten.
Wie aus dem vorstehenden entnommen werden kann, wird dann, wenn die umzusetzende Binärzahl stets
positiv ist, das Addierglied 21 nicht benötigt, da der Ausgang-M&aiilo 67 die vollständige Umsetzung darstellt.
Zur Erläuterung werden zwei weitere Beispiele von Modulo 67-Umsetzungen nachstehend erläutert.
Zunächst wird gemäß F i g. 4 eine Binärzahl 59 mit 15 Bit und Vorzeichen in eine Zahl-Modulo 67 umgesetzt, wobei nur ein Lesespeicher, ein Modulo-Addierer und ein Einfach-Addierer benötigt werden. Durch Vergleich mit F i g. 1 ergibt sich deutlich, daß die Umsetzung der mit Vorzeichen behafteten 15 Bit-Binärzahl in gleicher Weise abläuft wie die Umsetzung der Vorzeichen behafteten, 23 Bit umfassenden Binärzahl, jedoch ohne Speicher 13 und ohne Modulo-Addierer 17, die zum Umsetzen der 15 Bit-Zahl nicht erforderlich sind.
Gemäß F i g. 5 ist weiter eine stets positive, 23 Bit umfassende Binärzahl 61 in Modulo 67 umgesetzt, wobei nur zwei Lesespeicher, zwei Modulo-Addierer und ein Einfach-Addierer sowie ein Multiplexer verwendet werden. Durch Vergleich mit Fig.! ergibt sich, daß die Umsetzung der stets positiven 23 Bit-Binärzah! in gleicher Weise abläuft wie die Umsetzung der mit beliebigem Vorzeichen versehenen Binärzahl mit 23 Bits mit Ausnahme der Umsetzung der niedrigstelligen 7 Bits. 7 Bits können die Zahlen von O bis 127 darstellen. Daher ist die Modulo 67-Umsetzung entweder direkt die Binärzahl, wenn diese nur von 0 bis 66 reicht, oder die Binärzahl minus 67. wenn ihr Wert zwischen 67 und 127 liegt. Die Zahl 67 wird von den letzten sieben Bits 63 im Addierer 65 subtrahiert. Der Ausgang des Addierers 65 wird als erster Eingang 69 dem Multiplexer 71 zugeführt. Die niedrigststelligen sieben Bits 63 bilden den zweiten Eingang 73 für den Multiplexer 71. Der Ausgang 75 des Multiplexers 71 ist identisch entweder mit ersten Eingang 69 oder mit dem zweiten Eingang 73, je nachdem, ob das Ergebnis aus dem Addierer 65 negativ oder positiv ist. Ein Steuereingang 77 für den Multiplexer 71 kommt von dem Addierer 65 und stellt den Multiplexer 71 vom ersten Eingang 69 auf den zweiten Eingang 73 oder entgegengesetzt um. Die Beendigung der Modul 67-Umsetzung für die positive 23 Bit Binärzahl 61 findet in ähnlicher Weise wie oben beschrieben für 23 Bit umfassende, mit Vorzeichen behaftete Binärzahl 11 statt.
Zunächst wird gemäß F i g. 4 eine Binärzahl 59 mit 15 Bit und Vorzeichen in eine Zahl-Modulo 67 umgesetzt, wobei nur ein Lesespeicher, ein Modulo-Addierer und ein Einfach-Addierer benötigt werden. Durch Vergleich mit F i g. 1 ergibt sich deutlich, daß die Umsetzung der mit Vorzeichen behafteten 15 Bit-Binärzahl in gleicher Weise abläuft wie die Umsetzung der Vorzeichen behafteten, 23 Bit umfassenden Binärzahl, jedoch ohne Speicher 13 und ohne Modulo-Addierer 17, die zum Umsetzen der 15 Bit-Zahl nicht erforderlich sind.
Gemäß F i g. 5 ist weiter eine stets positive, 23 Bit umfassende Binärzahl 61 in Modulo 67 umgesetzt, wobei nur zwei Lesespeicher, zwei Modulo-Addierer und ein Einfach-Addierer sowie ein Multiplexer verwendet werden. Durch Vergleich mit Fig.! ergibt sich, daß die Umsetzung der stets positiven 23 Bit-Binärzah! in gleicher Weise abläuft wie die Umsetzung der mit beliebigem Vorzeichen versehenen Binärzahl mit 23 Bits mit Ausnahme der Umsetzung der niedrigstelligen 7 Bits. 7 Bits können die Zahlen von O bis 127 darstellen. Daher ist die Modulo 67-Umsetzung entweder direkt die Binärzahl, wenn diese nur von 0 bis 66 reicht, oder die Binärzahl minus 67. wenn ihr Wert zwischen 67 und 127 liegt. Die Zahl 67 wird von den letzten sieben Bits 63 im Addierer 65 subtrahiert. Der Ausgang des Addierers 65 wird als erster Eingang 69 dem Multiplexer 71 zugeführt. Die niedrigststelligen sieben Bits 63 bilden den zweiten Eingang 73 für den Multiplexer 71. Der Ausgang 75 des Multiplexers 71 ist identisch entweder mit ersten Eingang 69 oder mit dem zweiten Eingang 73, je nachdem, ob das Ergebnis aus dem Addierer 65 negativ oder positiv ist. Ein Steuereingang 77 für den Multiplexer 71 kommt von dem Addierer 65 und stellt den Multiplexer 71 vom ersten Eingang 69 auf den zweiten Eingang 73 oder entgegengesetzt um. Die Beendigung der Modul 67-Umsetzung für die positive 23 Bit Binärzahl 61 findet in ähnlicher Weise wie oben beschrieben für 23 Bit umfassende, mit Vorzeichen behaftete Binärzahl 11 statt.
Insgesamt wird die Modulo Λί-Umsetzung an einer großen Binärzahl von η Bits dadurch ausgeführt, daß die
Binärzahl in zusammenhängenden Gruppen von jeweils ungefähr k Bits unterteilt wird, daß die Modulo M R»ste
für jede k Bitgruppe in einem eigenen zugehörigen Lesespeicher vorgespeichert werden, und daß die Modulo
Λί-Reste für das zugehörige k Bitsegment der Binärzahl aus dem zugehörigen Speicher ausgelesen und eine
Modulo-M-Addition an den ausgelesenen Resten ausgeführt wird. Auf diese Weise wird die Modulo M-Umsetzung
einer positiven Zahl in n/k Modulo jVf-Addition und einer Tabellen-Nachschau ausgeführt, wobei die
Tabelle in n/k Lesespeichern gespeichert ist. Eine nachfolgende Modulo M Subtraktion wird ausgeführt, wenn
die Binärzah! negativ ist.
Hierzu 3 Blatt Zeichnungen
Claims (5)
1. Einrichtung zum Umsetzen einer Binärzahl in eine Zahl Modulo M, die kleiner als die in mindestens zwei
Bitsegmente aufgeteilte Binärzahl ist, deren erstes niederwertiges Bitsegment in der Regel kleiner als die in
einem Speicherglied gespeicherte Zahl M ist, gekennzeichnet durch einen binären Modulo-Addierer
(17; 19), dessen erster Binäreingang mit dem ersten Bitsegment, dessen zweiter Binäreingang über einen
von dem Binärsegment adressierbaren Speicher mit einem weiteren Bitsegment und dessen dritter Binäreingang
mit der binär kodierten Zahl M beaufschlagt ist und der einen ersten, die Binärzahlen des ersten und
zweiten Binäreingangs addierenden Addierer (33), einen zweiten die Binärzahlen des ersten und zweiten
ίο Binäreingangs abzüglich der binär kodierten Zahl M addierenden Addierer (35, 37) und einen Multiplexer
(43) enthält, dessen Eingänge mit den Ausgängen des ersten und zweiten Addierers (33; 35,37) verbunden
sind und der in Abhängigkeit von dem Vorzeichen des Ausgangs des zweiten Addierers (35,37) das binäre
Ausgangssignal des zweiten Addierers (35,37) abgibt, wenn dieses positiv ist und der das Ausgangssignal des
ersten Addierers (33) abgibt, wenn das Ausgangssigna!:des zweiten Addierers (35,37) negativ ist.
2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß für eine mit einem Vorzeichen versehene
Binärzahl ein Addierglied (21) vorgesehen ist, dessen erster Eingang mit dem Vorzeichen (55, 59) der
Binärzahl, dessen zweiter Eingang mit dem Ausgang des Modulo-Addierers (17; 19) und dessen dritter
Eingang mit dem Ausgang des die Zahl M abgebenden Speichergliedes beaufschlagt ist und dessen Ausgang
die Modulo M-Zahl abgibt
3. Einriüitung nach Anspruch 2, dadurch gekennzeichnet, daß für ein weiteres Bitsegment ein eingangsseitig
mit dem weiteren Bitsegment über einen weiteren Speicher (13), mit dem die Zahi M abgebenden
Speicherglied und mit dem Ausgang des ersten Modulo-Addierers (19) verbundener Modulo-Addierer (17)
vorgesehen ist, dessen Ausgang einen Eingang des Addiergliedes (21) beaufschlagt
4. Einrichtung nach Anspruch 1 für eine vorzeichenlose Binärzahl, dadurch gekennzeichnet, daß der erste
Binäreingang des Modulo-Addierers (19) über einen Addierer (65) und einen Multiplexer (71) mit dem ersten
Bitsegment verbunden ist, wobei der Addierer sowohl mit dem ersten Bitsegment als auch mit dem Ausgang
des die Zahl M speichernden Speichergliedes verbunden ist und an seinem Ausgang die Differenz zwischen
der Zahl M und dem ersten Segment der Binärzahl sowie das Vorzeichen des Subtraktionsergebnisses an
seinem Ausgang abgibt und der Multiplexer (71) den Ausgang des Addierers (65) weitergeleitet, wenn das
Ausgangssignal des Addierers (65) positiv ist und das erste Binärsigment weiterleitet, wenn der Ausgang des
Addierers (65) negativ ist.
5. Einrichtung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß der erste Addierer
(33) des Modulo-Adaierers (17; 19) aus einem carry propagate-Addierer mit mitlaufendem Übertrag und der
zweiten Addierer (35,37}des Modulo-Addierers (i7; 19) aus einer Reihenschaltung eines carry save-Addie-
rers mit gesondertem Übertrag (35) und einem Addierer mit mitlaufendem Übertrag (37) besteht.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/576,002 US3980874A (en) | 1975-05-09 | 1975-05-09 | Binary to modulo M translation |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2619418A1 DE2619418A1 (de) | 1976-11-18 |
DE2619418C2 true DE2619418C2 (de) | 1986-05-15 |
Family
ID=24302582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2619418A Expired DE2619418C2 (de) | 1975-05-09 | 1976-05-03 | Einrichtung zum Umsetzen einer Binärzahl in eine Zahl Modulo M |
Country Status (9)
Country | Link |
---|---|
US (1) | US3980874A (de) |
JP (1) | JPS5932817B2 (de) |
BE (1) | BE838859A (de) |
BR (1) | BR7602549A (de) |
CA (1) | CA1075818A (de) |
DE (1) | DE2619418C2 (de) |
FR (1) | FR2310592A1 (de) |
GB (3) | GB1513102A (de) |
NL (1) | NL7603875A (de) |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4051551A (en) * | 1976-05-03 | 1977-09-27 | Burroughs Corporation | Multidimensional parallel access computer memory system |
US4041284A (en) * | 1976-09-07 | 1977-08-09 | The United States Of America As Represented By The Secretary Of The Navy | Signal processing devices using residue class arithmetic |
US4095275A (en) * | 1977-02-14 | 1978-06-13 | Westinghouse Electric Corp. | Pulse width modulated sine cosine generator |
US4190893A (en) * | 1977-11-17 | 1980-02-26 | Burroughs Corporation | Modular modulo 3 module |
US4202035A (en) * | 1977-11-25 | 1980-05-06 | Mcdonnell Douglas Corporation | Modulo addressing apparatus for use in a microprocessor |
FR2420167B1 (fr) * | 1978-03-14 | 1985-10-04 | Constr Telephoniques | Systeme de manipulation de champs d'elements binaires |
US4189767A (en) * | 1978-06-05 | 1980-02-19 | Bell Telephone Laboratories, Incorporated | Accessing arrangement for interleaved modular memories |
US4187549A (en) * | 1978-09-05 | 1980-02-05 | The United States Of America As Represented By The Secretary Of The Navy | Double precision residue combiners/coders |
US4218587A (en) * | 1978-09-18 | 1980-08-19 | Storage Technology Corporation | Complex signal generation and transmission |
US4433389A (en) * | 1978-12-26 | 1984-02-21 | Burroughs Corporation | Memory address translation system for accessing memory locations via job names |
US4281391A (en) * | 1979-01-15 | 1981-07-28 | Leland Stanford Junior University | Number theoretic processor |
JPS55161281A (en) * | 1979-06-01 | 1980-12-15 | Canon Kk | Display control unit |
US4418394A (en) * | 1980-08-13 | 1983-11-29 | Environmental Research Institute Of Michigan | Optical residue arithmetic computer having programmable computation module |
JPS5936854A (ja) * | 1982-08-25 | 1984-02-29 | Matsushita Electric Ind Co Ltd | 自然数の剰余数変換装置 |
US4538238A (en) * | 1983-01-18 | 1985-08-27 | Honeywell Information Systems Inc. | Method and apparatus for calculating the residue of a signed binary number |
US4555769A (en) * | 1983-05-25 | 1985-11-26 | International Business Machines Corporation | Circuit apparatus for generating modulus-N residues |
DE3326044A1 (de) * | 1983-07-20 | 1985-02-07 | Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt | Verfahren zur ausfuehrung der galois-feld-multiplikation oder -division und schaltungsanordnung zur durchfuehrung des verfahrens |
JPH0681164B2 (ja) * | 1984-02-01 | 1994-10-12 | 株式会社日立製作所 | 符号変調方式 |
US4722067A (en) * | 1985-03-25 | 1988-01-26 | Motorola, Inc. | Method and apparatus for implementing modulo arithmetic calculations |
US4742479A (en) * | 1985-03-25 | 1988-05-03 | Motorola, Inc. | Modulo arithmetic unit having arbitrary offset and modulo values |
JPS6270936A (ja) * | 1985-09-24 | 1987-04-01 | Nec Corp | モジユロ3剰余発生器 |
JPS63200233A (ja) * | 1987-02-16 | 1988-08-18 | Fujitsu Ltd | 高速並列乗除計算機 |
JP2553548B2 (ja) * | 1987-03-27 | 1996-11-13 | 松下電器産業株式会社 | 乗算剰余演算装置 |
US4833602A (en) * | 1987-06-29 | 1989-05-23 | International Business Machines Corporation | Signal generator using modulo means |
US4949293A (en) * | 1987-09-25 | 1990-08-14 | Kabushiki Kaisha Toshiba | Method and apparatus for computing residue with respect to arbitrary modulus |
EP0312030A3 (de) * | 1987-10-12 | 1990-08-29 | Sony Corporation | Verfahren und Vorrichtung zur Kodierung und Dekodierung von Daten in Residuendarstellung |
US5293607A (en) * | 1991-04-03 | 1994-03-08 | Hewlett-Packard Company | Flexible N-way memory interleaving |
US5617538A (en) * | 1991-07-02 | 1997-04-01 | Tm Patents, L.P. | Message transfer system and method for parallel computer with message transfers being scheduled by skew and roll functions to avoid bottlenecks |
JPH0720778A (ja) * | 1993-07-02 | 1995-01-24 | Fujitsu Ltd | 剰余計算装置、テーブル作成装置および乗算剰余計算装置 |
KR950015177B1 (ko) * | 1993-12-06 | 1995-12-23 | 한국전기통신공사 | 사전 계산 테이블을 이용한 모듈로 리덕션 방법 |
US5623423A (en) * | 1994-12-12 | 1997-04-22 | Univ. Of Texas | Apparatus and method for video decoding |
US8229109B2 (en) * | 2006-06-27 | 2012-07-24 | Intel Corporation | Modular reduction using folding |
US7827471B2 (en) * | 2006-10-12 | 2010-11-02 | Intel Corporation | Determining message residue using a set of polynomials |
US8689078B2 (en) * | 2007-07-13 | 2014-04-01 | Intel Corporation | Determining a message residue |
US8042025B2 (en) * | 2007-12-18 | 2011-10-18 | Intel Corporation | Determining a message residue |
US7886214B2 (en) * | 2007-12-18 | 2011-02-08 | Intel Corporation | Determining a message residue |
US8886898B2 (en) * | 2009-08-19 | 2014-11-11 | Oracle America, Inc. | Efficient interleaving between a non-power-of-two number of entities |
US8930431B2 (en) * | 2010-12-15 | 2015-01-06 | International Business Machines Corporation | Parallel computation of a remainder by division of a sequence of bytes |
US8984039B2 (en) * | 2012-02-06 | 2015-03-17 | International Business Machines Corporation | Residue-based error detection for a processor execution unit that supports vector operations |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3137788A (en) * | 1960-11-04 | 1964-06-16 | Emi Ltd | Error checking system using residue redundancy |
US3316393A (en) * | 1965-03-25 | 1967-04-25 | Honeywell Inc | Conditional sum and/or carry adder |
US3863248A (en) * | 1973-01-02 | 1975-01-28 | Univ Sherbrooke | Digital compressor-expander |
US3882483A (en) * | 1973-05-07 | 1975-05-06 | Electronic Associates | Code converter system and method |
-
1975
- 1975-05-09 US US05/576,002 patent/US3980874A/en not_active Expired - Lifetime
-
1976
- 1976-02-11 FR FR7603782A patent/FR2310592A1/fr active Granted
- 1976-02-24 BE BE164565A patent/BE838859A/xx unknown
- 1976-04-09 GB GB14561/76A patent/GB1513102A/en not_active Expired
- 1976-04-09 GB GB17051/77A patent/GB1513103A/en not_active Expired
- 1976-04-09 GB GB17052/77A patent/GB1513229A/en not_active Expired
- 1976-04-12 NL NL7603875A patent/NL7603875A/xx not_active Application Discontinuation
- 1976-04-22 CA CA250,788A patent/CA1075818A/en not_active Expired
- 1976-04-23 JP JP51047139A patent/JPS5932817B2/ja not_active Expired
- 1976-04-26 BR BR2549/76A patent/BR7602549A/pt unknown
- 1976-05-03 DE DE2619418A patent/DE2619418C2/de not_active Expired
Also Published As
Publication number | Publication date |
---|---|
GB1513229A (en) | 1978-06-07 |
JPS5284937A (en) | 1977-07-14 |
US3980874A (en) | 1976-09-14 |
NL7603875A (nl) | 1976-11-11 |
BE838859A (fr) | 1976-06-16 |
GB1513102A (en) | 1978-06-07 |
FR2310592A1 (fr) | 1976-12-03 |
DE2619418A1 (de) | 1976-11-18 |
CA1075818A (en) | 1980-04-15 |
GB1513103A (en) | 1978-06-07 |
JPS5932817B2 (ja) | 1984-08-11 |
BR7602549A (pt) | 1976-11-16 |
FR2310592B1 (de) | 1980-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2619418C2 (de) | Einrichtung zum Umsetzen einer Binärzahl in eine Zahl Modulo M | |
DE69030778T2 (de) | Ein Lernsystem in einem neuronalen Rechner | |
EP0049216B1 (de) | Rechenwerkeinheit mit einer parallelen bidirektionalen Schiebeeinrichtung | |
DE4101004C2 (de) | Paralleler Multiplizierer mit Sprungfeld und modifiziertem Wallac-Baum | |
DE2644506A1 (de) | Rechner zur berechnung der diskreten fourier-transformierten | |
DE1766366B2 (de) | Phasenmeßanordnung | |
DE2232222A1 (de) | Funktionsgeneratormodul | |
DE2918692A1 (de) | Digitalfilter | |
DE4019646C2 (de) | Vorrichtung und Verfahren zum Multiplizieren von Datenwörtern in Zweier-Komplement-Darstellung | |
DE3751355T2 (de) | Hochauflösender schneller Analog/Digitalwandler. | |
DE3340362C2 (de) | ||
DE2727051C3 (de) | Einrichtung zur binären Multiplikation einer ersten Zahl als Multiplikand mit einer den Multiplikator ergebenden Summe aus einer zweiten und dritten Zahl im Binärcode | |
EP0139207A2 (de) | Schaltung zur CSD-Codierung einer im Zweierkomplement dargestellten, binären Zahl | |
DE3524797A1 (de) | Anordnung zur bitparallelen addition von binaerzahlen | |
DE3685772T2 (de) | Digital/analogwandler. | |
DE4212003A1 (de) | Einrichtung zum lesen einer wahrscheinlichkeits-bewertungstabelle | |
DE2321298A1 (de) | Dezimal-binaer-umsetzer | |
DE2300505A1 (de) | Vorrichtung zur schwellwertdecodierung | |
EP0264999A2 (de) | System zum Übertragen oder Speichern von Eingangssignalen | |
DE68927673T2 (de) | Residuenarithmetisches Gerät | |
DE1915493C3 (de) | Schaltung für Multiplikation nach dem Prinzip der fortgesetzten, stellenversetzten Addition | |
DE1524347A1 (de) | Binaer-Dezimal-Umwandler | |
EP0188779A1 (de) | Schneller digitaler Multiplizierer | |
DE3335565C2 (de) | ||
DE2550801C2 (de) | Schaltungsanordnung zur Umsetzung eines dezimalen Eingangscodes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8128 | New person/name/address of the agent |
Representative=s name: EISENFUEHR, G., DIPL.-ING. SPEISER, D., DIPL.-ING. |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |