DE1259122B - Schaltungsanordnung zur Durchfuehrung verkuerzter Multiplikationen oder Divisionen - Google Patents

Schaltungsanordnung zur Durchfuehrung verkuerzter Multiplikationen oder Divisionen

Info

Publication number
DE1259122B
DE1259122B DEJ28590A DEJ0028590A DE1259122B DE 1259122 B DE1259122 B DE 1259122B DE J28590 A DEJ28590 A DE J28590A DE J0028590 A DEJ0028590 A DE J0028590A DE 1259122 B DE1259122 B DE 1259122B
Authority
DE
Germany
Prior art keywords
register
bits
circuit
multiplier
counter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DEJ28590A
Other languages
English (en)
Inventor
Stanley Herbert Pitkowsky
James Harold Shelly
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE1259122B publication Critical patent/DE1259122B/de
Withdrawn 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • G06F7/5334Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product
    • G06F7/5336Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm
    • G06F7/5338Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm each bitgroup having two new bits, e.g. 2nd order MBA
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H33/00Other toys
    • A63H33/008Playhouses, play-tents, big enough for playing inside
    • 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/52Multiplying; Dividing
    • G06F7/535Dividing only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/535Indexing scheme relating to groups G06F7/535 - G06F7/5375
    • G06F2207/5352Non-restoring division not covered by G06F7/5375

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Machine Translation (AREA)
  • Complex Calculations (AREA)
  • Error Detection And Correction (AREA)
  • Executing Machine-Instructions (AREA)

Description

BUNDESREPUBLIK DEUTSCHLAND
DEUTSCHES
PATENTAMT
AUSLEGESCHRIFT
Int. Cl.:
G06f
Deutsche Kl.: 42 m3-7/52
Nummer:
Aktenzeichen:
Anmeldetag:
Auslegetag:
1259 122
J28590IXc/42m3
17. Juli 1965
18. Januar 1968
Die Erfindung betrifft eine Schaltungsanordnung zur Durchführung verkürzter Multiplikationen oder Divisionen durch Bildung von Mehrfachen bestimmter Operanden und Parallelablauf von Teiloperationen mit 2 n-stelligen Registern, wobei in je einem «-stelligen Teil des einen Registers die Rechenoperanden und im anderen Register die Teilergebnisse zur parallelen Verarbeitung in einem Paralleladdierwerk gespeichert werden und die Seuerung der einzelnen Teiloperationszyklen durch In- bzw. Dekrementieren von Zählschaltungen erfolgt.
Die Verfahren zur binären Multiplikation und Division haben sich, ausgehend von dem Zustand, in dem einzelne Produkt- oder Quotientenbits in jedem iterativen Zyklus erzeugt werden, bis zu dem Zustand, wo eine Vielzahl von Produkt- oder Quotientenbits in jedem Zyklus einer Multiplikation oder einer Division erzeugt werden, unterschiedlich entwickelt. So wird beispielsweise in der USA.-Patentanmeldung 162 503 ein Divisionsalgorithmus angegeben, durch den eine Anzahl von Quotientenbits je Iterationszyklus erzeugt werden kann. Im USA.-Patent 3 069 085 wird ein Multiplikationsalgorithmus angegeben, in dem eine Mehrzahl von Multiplikatorbits in jedem Zyklus untersucht wird, um auf diese Weise je Zyklus eine Mehrzahl von Produktbits zu erzeugen. Die beiden genannten Verfahren verwenden während eines iterativen Additionszyklus Multiplikanden- oder Divisorvielfache, die zu einem Partialprodukt addiert oder von einem Dividenden subtrahiert werden. Die obengenannten Verfahren haben den Nachteil, daß zur Durchführung der Division ein besonderes Register für den Dividendenrest erforderlich ist, das zur Durchführung von Linksverschiebungen ausgebildet sein muß. Im Fall der Multiplikation ist ein besonderes Register für ein Partialprodukt erforderlich, das für Rechtsverschiebungen ausgebildet sein muß.
Diese zusätzlichen Register, die zusätzlich auch zur Durchführung von Links- bzw. Rechtsverschiebungen ausgebildet sein müssen, erhöhen den erforderlichen technischen Aufwand in unerwünschter Weise.
In der USA.-Patentanmeldung 290 486 wird ein Addierer beschrieben, an dessen Eingang Paritätsprüfanordnungen vorgesehen sind, die wirksam sind, auch wenn die dem Addiereingang zugeführten Operanden in bezug auf einzelnen Bitgruppen zugeordnete Paritätsbits verschoben wurden. Im Addiererausgang sind weiterhin Paritätsprüfmittel vorgesehen, die eine Paritätsprüfung am Ausgang auf Grund der ursprünglich zugeführten Operanden ermöglichen,
Schaltungsanordnung zur Durchführung
verkürzter Multiplikationen oder Divisionen
Anmelder:
International Business Machines Corporation,
Armonk, N. Y. (V. St. A.)
Vertreter:
Dipl.-Ing. H. E. Böhmer, Patentanwalt,
7030 Böblingen, Sindelfinger Str. 49
Als Erfinder benannt:
Stanley Herbert Pitkowsky,
James Harold Shelly,
Poughkeepsie, N. Y. (V. St. A.)
Beanspruchte Priorität:
V. St. ν. Amerika vom 22. Juli 1964 (384 362) - -
die in dem Addierer zur Erzeugung einer Summe verschoben wurden.
Auch durch diese Maßnahme wird der technische Aufwand in unerwünschter Weise erhöht. Durch die Verschiebung der Daten im Addierer selbst geht darüber hinaus zusätzliche Rechenzeit verloren.
In der obengenannten USA.-Patentanmeldung 503 werden zur Durchführung der Division Quotientenvielfachbits auf Grund der Erstellung eines Divisordreifachen erzeugt. Zu diesem Zweck ist ein besonderes Rechenregister zur Aufnahme von Divisordreifachen vorgesehen, die vor Beginn der Divisionsoperation erzeugt werden müssen.
Auch diese Maßnahme bedingt zusätzlichen konstruktiven Aufwand und verlängert die Rechenzeit. Um die Nachteile der in den oben angegebenen Literaturstellen beschriebenen Anordnungen zu vermeiden, wird gemäß der Erfindung eine Schaltungsanordnung zur Durchführung verkürzter Multiplikationen oder Divisionen durch Bildung von Mehrfachen bestimmter Operanden und Parallelablauf von Teiloperationen mit 2 «-stelligen Registern, wobei in je einem n-stelligen Teil des einen Registers die Rechenoperanden und im anderen Register die Teilergebnisse zur parallelen Verarbeitung in einem Paralleladdierwerk gespeichert werden und die Steue-
709 719/208
3 4
rung der einzelnen Teiloperationszyklen durch In- Standardwort aus vier Gruppen oder Bytes, die ihrer-
bzw. Dekrementieren von Zählschaltungen erfolgt, seits jeweils aus acht Bits bestehen. Obwohl in der
angegeben, die dadurch gekennzeichnet ist, daß die Figur nicht näher dargestellt, ist jedem aus acht Bits
Ausgänge des niedrigstelligen Teils des ersten Re- bestehenden Byte ein Paritätsbit zum Zwecke der gisters über eine Schaltung zur Null- oder Linksver- 5 Fehlerentdeckung zugeordnet. Die dargestellten Re-
schiebung um eine Stelle mit den Eingängen für den gister und Datenwege sind nur für Datenbits aus-
ersten Operanden des Paralleladdierwerks verbunden gelegt und sehen keine Einrichtungen für Paritäts-
sind, während die Eingänge für den zweiten Operan- bits vor.
den mit den Ausgängen eines Teils des zweiten Re- Die zu verarbeitenden Operanden können entweder gisters über eine weitere Schaltung zur Null- oder io im Hauptspeicher 100 oder im örtlichen Speicher Linksverschiebung um zwei Stellen verbunden sind, 101 untergebracht sein. Der Hauptspeicher 100 ist und daß die Ausgänge des Paralleladdierwerkes ein adressierbarer Kernspeicher, der über aussteuerbar über eine dritte Schaltung zur Null- oder gewählte Ausgangssammelschienen entweder 64 Davierstelligen Rechts- bzw. Linksverschiebung mit tenbits oder wahlweise 32 Datenbits zur Verfügung jedem Teil der beiden Register eingangsseitig ver- 15 stellen kann. Der örtliche Speicher 101 ist ein adresbunden sind. sierbarer Speicher, der eine Mehrzahl von Registern
Weiterbildungen der Erfindung sind in den Unter- enthält. Jedes dieser Register hat eine Länge von
ansprächen gekennzeichnet. 32 Datenbits. Die durch das Datenverarbeitungs-
Ausführangsbeispiele der Erfindung werden nach- system auszuführenden Operationen werden durch
folgend an Hand der F i g. 1 bis 13 näher erläutert. 20 Instruktionen bestimmt, die durch den Hauptspeicher
Es zeigt 100 zur Verfügung gestellt werden. Eine für das vor-
F i g. 1 das Blockdiagramm eines Ausführungs- liegende Ausführungsbeispiel zu verwendende In-
beispieles der Erfindung, struktion besteht aus 16 Bits, die in das Register 102
F i g. 2 ein Blockdiagramm zur Veranschaulichung eingegeben werden. Die Bits 0 bis 7 der Instruktion
der Anordnung des Paritätsbits zur Verschiebung der 25 enthalten einen Operationscode, beispielsweise »mul-
Datenbits aus dem Paralleladdierer, tipliziere« oder »dividiere«. Die Instruktion enthält
Fig. 3 eine Aufstellung zur Veranschaulichung zwei 4-Bit-Adresseni?l und i?2, die den Zugriff zu
des Multiplikationsvorganges, den Operanden in dem örtlichen Speicher 101 er-
F i g. 4 eine Aufstellung zur Veranschaulichung möglichen. Hat der Zugriff zum örtlichen Speicher
des Divisionsvorganges, 30 101 einmal stattgefunden, so werden die Bits 12 bis
F i g. 5 ein Blockdiagramm der logischen Kreise 15 im Register 102 als Zähler zur Anzeige des Fort-
zur Auswahl einer Mehrzahl der während einer MuI- schreitens des Multiplizier- oder Dividiervorganges
tiplikation zu entschlüsselnden Multiplikatorbits, verwendet. Während einer Multiplizieroperation
Fig. 6 das Blockdiagramm einer logischen Schal- werden die i?2-Bits entsprechend einem Zählerstand
tung zur Erzeugung gewisser Steuerungen zur Durch- 35 von 15 eingestellt, während für eine Divisionsopera-
führung der in F i g. 3 gezeigten Vorgänge, tion der Inhalt auf Null eingestellt wird. Während
Fig. 7 ein Blockdiagramm einer Schaltung zur der Multiplikation wird der Inhalt des i?2-Zählers
Entschlüsselung von Multiplikatorbits zur Auswahl schrittweise jeweils um einen oder zwei Punkte er-
von Vielfachen eines Multiplikanden während der niedrigt oder dekrementiert. Während der Division
Multiplikation, 40 wird der Inhalt des i?2-Zählers schrittweise um eins
F i g. 8 ein Blockdiagramm einer Schaltung zum erhöht oder inkrementiert.
Sammeln der Bits eines Produktes während einer Die Operanden zur Durchführung der verschie-
Multiplikation, denen Operationen innerhalb des Datenverarbeitungs-
F i g. 9 einen Zeitplan mit mehreren Zyklen, in systems können entweder vom Hauptspeicher 100
denen verschiedene Steuerfunktionen gemäß F i g. 5 45 oder vom örtlichen Speicher 101 wahlweise zu einer
bis 8 durchgeführt werden, Mehrzahl von Registern mit einem Inhalt von 32 Bits
F i g. 10 eine Blockdiagramm mit den Schaltungen übertragen werden. Für bestimmte Operationen, bei-
zur Entschlüsselung eines Dividendenrestes zur Aus- spielsweise fürs Multiplizieren und Dividieren, kön-
wahl eines Divisorvielfachen, nen diese Register als Einzelregister betrachtet wer-
Fig. 11 ein Blockdiagramm einer Schaltung zur 50 den und führen die Bezeichnung 5-Register 103,
Angabe der Ergebnisse einer Addition eines Divisor- T-Register 104, .4-Register 105 und .B-Register 106.
vielfachen und eines Dividendenrestes gemäß der Das .B-Register 106 enthält vier zusätzliche Bitstellen
Aufstellung nach Fig. 4, 64 bis 67, die während einer Multiplikation zur
F i g. 12 das Blockdiagramm einer Schaltung zur Übertragung der erzeugten Produktbits dienen. Den
Anzeige, wann das Ergebnis einer Divisor- und Di- 55 Registern 103 und 104 ist ein dreistelliger Zähler
videndenrestaddition nicht eindeutig ist und einen 5Γ107 zugeordnet, dessen Inhalt schrittweise um
zusätzlichen Zyklus erfordert, Eins erhöht oder erniedrigt werden kann. Der ST-
F i g. 13 das Blockdiagramm einer Schaltung zur Zähler 107 identifiziert ein bestimmtes Bit eines
Erzeugung einer Mehrzahl von Quotientenbits wäh- 8-Bit-Bytes in den ST-Registern 103 und 104. Die
rend einer Division für jeden iterativen Additions- 60 Identifizierung eines bestimmten 8-Bit-Bytes durch
zyklus. den ST-Zählerl07 ermöglicht das selektive Über-
In Fig. 1 wird den Datenweg eines besonders vor- tragen eines 8-Bit-Bytes in oder aus den 5T-Regi-
teilhaften Ausfuhrungsbeispiels der Erfindung be- stern. Während der Multiplikation enthält das 5-Re-
schrieben. Die Standardwortgröße besteht in diesem gister 103 den Multiplikator. Wie schon vorher ange-
Ausführungsbeispiel aus zweiunddreißig binären Bits. 65 geben, erfordert der Multiplizieralgorithmus dasEnt-
Diese zweiunddreißig binären Bits sind in vier als schlüsseln zweier Multiplikatorbits und beginnt mit
Bytes bezeichnete Bitgruppen unterteilt, die jeweils den beiden niedrigstelligen Bits des Multiplikators,
aus acht binären Bits bestehen. Somit besteht jedes Eine Multiplizieroperation erfordert sechzehn itera-
5 6
tive Additionen, die durch das Dekrementieren des Wie schon erwähnt, können die Vielfachen des MuI- R 2-Zählers im Register 102 überwacht werden. Da tiplikanden oder des Divisors im Addierer addiert zwei Multiplikatorbits je Zyklus untersucht werden oder subtrahiert werden, was durch Tore zur Eingabe und die Bits 14 und 15 des R 2-Zählers sich alle vier der echten oder komplementären Werte in den Ad-Zyklen wiederholen, identifiziert die Kombination 5 dierer erreicht wird. Die Tore zum Übertrag des Inder Bits 14 und 15 im Zähler R 2 und der Zustand haltes des T-Registers 104, das einen Divisor oder des Zählers R 2 in den Stellen 12 und 13 ein be- einen Multiplikanden enthält, werden durch das stimmtes Paar von Multiplikatorbits im 5-Speicher Rechteck 113 angedeutet.
103. Das identifizierte Paar von Multiplikatorbits Zwischen dem B-Register 106 und dem Addierer
wird zur Auswahl der Vielfachen eines Multiplikan- io HO sind Torschaltungen 114 vorgesehen, durch die
den während der Multiplizieroperation verwendet. ein Operand im B-Register 106 entweder in die ent-
Die Einstellung des 5T-Zählers 107 wird während sprechenden Stellen oder mit einer Linksverschiebung
einer Multiplikation oder Division zur Übertragung um zwei Stellen in den Paralleladdierer 110 über-
eines aus Produkt- oder Quotientenbits bestehenden tragen werden kann. Während der Multiplikation
8-Bit-Bytes in die betreffenden Bytestellen des 5-Re- 15 bewirkt die Kombination einer vierstelligen Rechts-
gisters verwendet. verschiebung bei der Übertragung aus dem Addierer
Des weiteren ist ein F-Register 109 vorgesehen, 110 zum B-Register 106 und der darauffolgenden
das acht Bitstellen aufweist und das während einer zweistelligen Linksverschiebung beim Übertrag aus
Multiplikation zur Ansammlung eines 8-Bit-Bytes dem B-Register 106 in den Addierer 110 eine zwei-
des Produktes und während einer Division zur An- 20 stellige Rechtsverschiebung eines Partialproduktes.
Sammlung eines 8-Bit-Bytes des Quotienten dient. Dies erfolgt in Übereinstimmung mit den an und für
Die Übertragung von zwei Bits eines Quotienten oder sich bekannten Multiplizierverfahren, in denen bei
eines Produktes in das F-Register 109 wird auch jeder iterativen Addition zwei Multiplikatorbits un-
durch den JR2-Zähler im Register 102 gesteuert, das tersucht werden. Während der Division wird ein Di
Bitpaare im i?-Register in Übereinstimmung mit den 25 videndenrest vom Paralleladdierer 110 zu den ent-
Stellen 14 und 15 des R 2-Zählers identifizieren kann. sprechenden Stellen des B-Registers 106 übertragen,
Wie schon vorher erwähnt, wird das 8-Bit-Byte in worauf normalerweise eine zweistellige Linksver-
das ^-Register unter der Steuerung des Inhaltes des Schiebung in den Paralleladdierer 110 bei der näch-
5T-Zählers 107 übertragen, wenn ein 8-Bit-Byte sten iterativen Addition erfolgt, so daß die be-
eines Produktes oder Quotienten im F-Register 109 30 kannte zweistellige Linksverschiebung eines Divi-
erzeugt wurde. dendenrestes während der Erzeugung von zwei
Der weiterhin vorgesehene Paralleladdierer 110 Quotientenbits je iterativer Addition bewerkstelligt
weist die Stellen für einen 32-Bit-Operanden und zu- wird.
sätzliche Stellen für Addieroperanden auf, die nach Obwohl im Zusammenhang mit der vorliegenden
links verschoben wurden. Der Addierer muß sowohl 35 Erfindung nicht wesentlich, ist in Fig. 1 ein serieller
für Multiplikation als auch für Division nur 32 Bit- Addierer 115 dargestellt, der in Wirklichkeit ein par-
operanden aufweisen. Es ist jedoch klar, daß die alleler 8-Bit-Addierer ist. Dieser 8-Bit-Addierer 115
Stellenzahl des Paralleladdierers auch zur Unter- kann bei anderen Operationen des Datenverarbei-
bringung von größeren Operanden, beispielsweise tungssystems zur Durchführung von Additionen,
von Operanden mit 64 Bits eingerichtet werden kann. 40 Subtraktionen oder zur Durchführung logischer Ope-
Der an und für sich bekannte Addierer 110 wird rationen mit dem Addierer 115 von den verschiebeispielsweise in der obengenannten USA.-Patent- denen Registern in Übereinstimmung mit dem Byteanmeldung Serial-Nr. 290 486 beschrieben. Im vor- angaben von entweder dem 5T-Zähler 107 oder dem liegenden Ausführungsbeispiel ist der Ausgang des y4B-Zähler 108 gemachten Byteangaben zugeführten Addierers 110 mit einer Reihe von Toren 111 ver- 45 8-Bit-Bytes verwendet werden,
bunden, die durch steuerbare Erregung eine Ver- Die in Fig. 1 weiterhin dargestellte Multiplizierschiebung der Ausgabe um vier Bitstellen nach links, steuerung 116 steuert die selektive Übertragung von nach rechts oder um Null bewirken. Der verschobene Registerinhalten in den Addierer 110 und die Ausoder nicht verschobene Addiererausgang wird dann gäbe aus dem Addierer 110 zu den Registern, in zeitweise in den Verriegelungskreisen 112 gespeichert, 50 Übereinstimmung mit der Feststellung eines Paars bevor er steuerbar zu den Registern 103, 104, 105 von Multiplikatorbits aus dem Register 5103. Die oder 106 rückübertragen wird. Aus der obengenann- Multiplikationssteuerung 116 steuert auch den Überten USA.-Patentanmeldung 290 486 geht hervor, wie trag der Endproduktbits aus den Stellen 64 bis 67 der Ausgang des Addierers 110 in Gruppen von vier des B-Registers 106 zur Ansammlung im F-Register Datenbits einer Paritätsprüfung unterzogen wird. Wie 55 109 und weiterhin zum Übertrag der 8-Bit-Bytes aus im einzelnen noch im Zusammenhang mit Fig. 2 zu dem F-FensterlO9 zu den besonderen Bytes des beschreiben ist, sind Mittel zur Einstellung der Pari- 5-Registers 103.
tat der vier Bitgruppen vorgesehen, wenn sie um vier Die Divisionssteuerung 117 gemäß F i g. 1 bewirkt
Stellen nach links verschoben werden, um die rieh- zwei Quotientenbits zur Ansammlung im F-Register
tige Parität für ein 8-Bit-Byte in den Verriegelungs- 60 109 in Übereinstimmung mit verschiedenen logischen
Schaltungen 112 vor der Rückübertragung in das Operationen, die im wesentlichen durch zwei in den
ausgewählte Register zu erzeugen. Stellen 32 und 33 des T-Registers 104 enthaltenen
Sowohl während einer Multiplikation als auch hochstelligen Bits eines Divisors und drei hochstelli-
während einer Division wird der Multiplikand oder gen Bits 32 bis 34 eines im B-Register 106 enthal-
Divisor in den Addierer 110 entweder mit einer Null- 65 tenen Dividendenrestes eingeleitet werden.
Verschiebung oder mit einer einstelligen Verschiebung Im erfindungsgemäßen Ausführungsbeispiel wird
nach links übertragen, um die Addition eines ein- durchweg eine sogenannte positive Logik verwendet,
fachen oder zweifachen Vielfachen zu ermöglichen. d. h. eine Logik, bei der bei einer erregten Leitung
in der entpsrechenden Schaltung die echten Werte vorliegen. Bestimmte Leitungen können auch positiv erregt sein, wenn die dazugehörige Schaltung nicht in ihrem echten Wertzustand ist. In diesen Fällen wird ein Strich über die logischen Zustandsangaben angebracht, der besagt, daß es sich in diesem besonderen Fall nicht um eine positive Logik handelt. So müssen z. B. bei einer Und-Schaltung alle Eingänge positive Werte aufweisen, um einen positiven Ausgang
, gg p
schiedene Steuerleitungen sind ferner Inverter vorgesehen.
In Fig. 2 wird die logische Schaltung zur Einstellung der Paritäten am Ausgang des Parallel-
um die Selektion eines zu oder von einem Partialprodukt zu addierenden oder zu subtrahierenden Multiplikandenvielfachen zu bewirken. Die Bezeichnung in der Tafel »4 X Vielfaches von vom vorhergehenden Zyklus (IX)« zeigt diejenigen Zustände an, in denen ein 1-Übertrag zu den nächstfolgenden beiden Multiplikatorbits erfolgen muß. Diese Zustände liegen immer dann vor, wenn eine Vielfachselektion ein Drei- oder ein Vieriachvielfaches er-
zu erzielen. In einer Oder-Schaltung wird bei Vor- 10 fordert. Da ein Dreifachvielfaches im vorliegenden liegen eines positiven Wertes an irgendeinem der Ausführungsbeispiel nicht vorgesehen ist, so wird das Eingänge ebenso ein positiver Ausgangswert vor- Äquivalent einen Dreifachvielfachen durch Subtrakliegen. In einer ausschließlichen Oder-Schaltung muß tion des einfachen Multiplikanden im laufenden nur einer der Eingänge einen positiven Wert auf- Zyklus, dem eine Addition des einfachen Multipliweisen, damit der Ausgangswert positiv ist. Für ver- 15 kanden im folgenden Zyklus folgt, erhalten. Dies
wird durch die Verwendung der Angabe TX erreicht, die die Addition einer binären Eins zum binären Zustand der nächsten beiden Multiplikatorbits bewirkt. Ein Vierfachvielfaches wird in Übereinstim-
addierers 110 nach Fig. 1 nach einer Verschiebung 20 mung mit der in der letzten Spalte der Tafel gezeigten der Daten- und 4-Bit-Stellen dargestellt. Die Erzeu- Kombination ausgewählt und wird durch eine Vergung der Paritäten für jede Gruppe von 4-Daten-Bits Schiebung des Partialproduktes im laufenden Zyklus, am Ausgang des Addierers wird in der oben- gefolgt von einem Einfachvielfachen im folgenden genannten USA.-Patentanmeldung 290 486 beschrie- Zyklus erreicht. Dies wird durch die Addition einer ben. In F i g. 2 wird die logische Schaltung zur Er- 25 binären Eins zu den folgenden beiden Multiplikatorzeugung der richtigen Parität in den Verriegelungs- bits bewirkt.
kreisen 112 für ein 8-Bit-Byte, bestehend aus den Es wird eine besondere Kennzeichnung zur AusBits 8 bis 15, in der Verriegelungsschaltung dar- wahl eines Null-Vielfachen (OZ) vorgesehen, das gestellt. Die Parität der Bits 8 bis 15 in der Ver- unter den in der ersten und der letzten Spalte der riegelungsschaltung 112 kann eine Kombination 30 Tafel angegebenen Umständen auftreten kann. Unter der Paritäten für die Bits 4 bis 7, 8 bis 11, diesen besonderen Umständen folgt der normalen 11 bis 15 oder 16 bis 19 sein. Wird der Aus- vierstelligen Rechtsverschiebung des Ausganges des gang des Addierers um vier Stellen nach rechts Paralleladdierers 110 in das B-Wert-Register 106 geverschoben, so wird ein Paar Und-Schaltungen 200 maß F i g. 1 nicht eine zweistellige Linksverschiebung und 201 erregt, um durch die Oder-Schaltungen 202 35 beim Übertrag in den Addierer. Die vierstellige und 203 ein Ausgangssignal zu erzeugen, wodurch Rechtsverschiebung wird beibehalten, und die Ausdie Geradzahlig-ungeradzahlig-Bedingung des Addie- wahl des Multiplikatorvielfachen für die Addition rerausganges für die Bits 4 bis 7 und 8 bis 11 korn- zum Partialprodukt wird auf Grund der beiden folbiniert wird, um schließlich die Parität für die Ver- genden Multiplikatorbits durchgeführt. Dadurch wird riegelungsschaltungsbits 8 bis 15 zu erzeugen. In der 40 eine Beschleunigung der Multiplikationsoperation ergleichen Weise wird ein Paar Und-Schaltungen 204 reicht, die normalerweise einen besonderen Zyklus und 205 erregt, um den Geradzahlig-ungeradzahlig- für die Verschiebeoperation über die binären Nullen Zustand des Addiererausganges für die Bitstellen 8 oder über die binären Einsen erfordern würde. Mit bis 11 und 11 bis 15 anzuzeigen, wenn der Addierer- anderen Worten wird eine Multiplizier-Iterationsausgang eine Nullverschiebung erfährt. Wird der 45 Addition auf Grund von vier Multiplikatorbits an Ausgang des Addierers um vier Stellen nach links Stelle der normalerweise in Betracht gezogenen zwei verschoben, so wird der Addiererausgang in den Multiplikatorbits durchgeführt. Der in Fig. 4 an-Bitstellen 11 bis 15 und 16 bis 19 verwendet, um gegebene Divisionsalgorithmus wird im wesentlichen letztlich die Parität für die Verriegelungsschaltungs- in der USA.-Patentanmeldung 162 503 beschrieben, bits 8 bis 15 zu erzeugen, was durch die Und-Schal- 50 Dieser Algorithmus ermöglicht die Erzeugung von tungen 206 und 207 angezeigt wird. Wurden die zwei Quotientenbits auf Grund der Entschlüsselung
der drei höchststelligen Bits eines Dividendenrestes und der zweihöchststelligen Bits eines Divisors. Die in F i g. 4 dargestellte Tafel ist im wesentlichen die
tungsparität für die Bits 8 bis 15 zu erzeugen, so 55 gleiche wie die in der obengenannten Patentanmelwerden die tatsächlichen Stellungen der Verriege- dung beschriebene, jedoch mit der Ausnahme, daß
im Ausführungsbeispiel gemäß der vorliegenden Erfindung die Notwendigkeit eines Divisordreifachen vermieden wird. Wie aus der Tafel ersichtlich, müs-
g gg
Paritäten der anschließenden Gruppe von vier Bits am Addiererausgang in Übereinstimmung mit der Verschiebung kombiniert, um die Verriegelungsschali f i i bi
g g
lungsschaltungsstellen 8 bis 15 nach der Verschiebung mit der eingestellten Parität in einer ausschließliehen Oder-Schaltung 208 verglichen, um einen fh
g g
Summenfehlerausgang zu erzeugen, der einen Pari- 60 sen zur Berücksichtigung des Fehlens eines Divisoräfhl i d hlih f bii
tätsfehler anzeigt, der nachträglich für beliebige Fehlerverbesserungsroutinen Verwendung finden kann.
F i g. 3 stellt eine Tafel zur Veranschaulichung eines Multiplizieralgorithmus dar, der im wesentlichen schon in der obenerwähnten USA.-Patentschrift 3 069 085 beschrieben ist. Zwei Multiplikatorbits Mt, M2 werden bei jedem Zyklus untersucht,
dreifachen bestimmte Zustände entschlüsselt werden, um anzuzeigen, daß vor der Erzeugung eines Quotientenbitpaares ein Divisorzweifach zu oder von einem Partialdividendenrest addiert oder subtrahiert werden muß und anschließend ein zusätzlicher Additionszyldus zu erfolgen hat, um eine eindeutige Angabe über die Ergebnisse der Addition zu erzielen und dadurch die Quotientenbits zu erzeugen. Wie
ίο
schon vorher angegeben, wird dies durch Einleitung eines Additionszyklus im Iterationsprozeß der Division dadurch erreicht, daß der Dividendenrest um zwei Bitstellen nach links versetzt aus dem ß-Register 106 in den Paralleladdierer 110 übertragen wird. In den besonderen Fällen, die einen zusätzlichen Zyklus zur Erlangung eines eindeutigen Ergebnisses erfordern, werden die Nullverschiebungstore vom B-Register 106 zum Addierer 110 erregt. Wie aus der
binären Zustandes der Multiplikatorbits 54 und 55 erregt.
Gemäß einer besonders vorteilhaften, jedoch im Ausführungsbeispiel nicht näher angegebenen Aus-5 führungsform des Erfindungsgedankens wird das durch die Stellen 12 und 13 des i?2-Zählers angegebene Byte des 5-Registers 103 in einer acht Bit enthaltenden Gruppe (ein Byte) zur sequentiellen Abfrage durch die Stellen 14 und 15 des i?2-Zählers
Spalte »möglicher Quotient« zu ersehen ist, wird das io durchgeschaltet. Enthalten in vorliegendem Fall die höchststellige Quotientenbit eines Paares nur durch Stellen 14 und 15 des i?2-Zählers die Kombination die Prüfung des echten oder des Komplement- 00, so stehen die nächsten beiden Multiplikatorbits zustandes eines vorherigen Restes in Zusammenhang
mit der Vielfachselektion des Divisors bestimmt. Das
des folgenden Bytes nicht zwecks Entschlüsselung zur Verfügung. Wenn die Stellen 14 und 15 des R 2-
niedrigststellige Quotientenbit des Paares kann 15 Zählers die Kombination 00 enthalten, so werden manchmal unmittelbar durch die ursprüngliche Ent- nur die Ml- und M2-Ausgänge erregt, und die NuIlschlüsselung bestimmt werden, in anderen Fällen
muß Übereinstimmung des Ergebnisses der Addition
des Divisorvielfaches und des Dividendenrestes ab-
deutig, da das höchststellige Bit des Ergebnisses eine binäre Eins und nicht mit den verwendeten Entschlüsselungsverfahren verträglich ist. Dieser Zustand leitet den erforderlichen zusätzlichen Zyklus ein.
In F i g. 5 wird eine logische Schaltung zur Auswahl von Paaren von Multiplikatorbits von einem bestimmten der 8-Bit-Bytes des 5-Registers 103 dargestellt. Die Auswahl von Multiplikatorbitpaaren
Vielfachauswahl mit Sprung zu dem nächsten Multiplikatorbitpaar ist nicht zulässig. In einer anderen Ausführungsform des Erfindungsgedankens ist es gewartet werden. Die Bestimmung des niedrigst- 20 nicht erforderlich, das bestimmte 5-Registerbyte zu stelligen Quotientenbits ist im wesentlichen eine einem Register durchzuschalten, es wurden aber auch Funktion des Vorliegens oder des Fehlens eines nicht genügend Übertragungsmöglichkeiten zwischen Übertrages aus der Addiererstelle Null. Wenn ein den R 2-Zählerstellungen 12 und 13 und 14 und 15 Übertrag auf der Addiererstelle Null anzeigt, daß jm Register 102 vorgesehen, um die beiden Multiplidie Ergebnisse der Addition eines Zweifachen einen 25 katorbits im nächstfolgenden Multiplikatorbyte zu echten Wert angeben, so ist das Ergebnis nicht ein- erkennen. Diese das Springen des R 2-Zählerinhaltes
00 in den Stellen 14,15 verhindernde Einschränkung kann durch Schaltmittel zur Ermöglichung des Überspringens der Bytegrenzen bis in das nächstfolgende 30 Multiplikatorbyte aufgehoben werden.
In F i g. 6 bilden die Und-Schaltungen 600 bis 604, die Oder-Schaltungen 605, 606 und 607 und der Inverter 608 eine logische Schaltung zur Kombination der Multiplikatorbitpaare Ml und M 2 mit der
wird durch die Zustände der Stellen 14 und 15 des 35 Vierfach-Vielfach-Übertragsangabe TX zur Bestimi?2-Zählers bewirkt. In Fig. 5 werden die Bits 50 mung der Bedingungen, die angeben, daß ein NuIlbis 57 eines bestimmten Bytes des 5-Registers jeweils Vielfach (OZ) ausgewählt werden muß oder daß die dem einen Eingang einer Reihe von Und-Schaltungen Vielfach-Auswahl nicht ein Null-Vielfaches (UX) ist. 500 bis 513 zugeführt. Paare von Und-Schaltungen Wurde ein Null-Vielfachzustand durch die Multi-500 bis 513 werden der Reihe nach durch die Ein- 40 plikatorbitsMl und M 2 angezeigt, so wird ein Ausstellungen der Stellen 14 und 15 des i?2-Zählers gangssignal zu den Verbindungstoren zwischen dem getastet. Das höchststellige Bit eines Multiplikator- ß-Register 106 und dem Paralleladdierer 110 (Fig. 1) paares Ml wird durch eine Oder-Schaltung 514 und bewirkt, um zu verursachen, daß das Partialprodukt das niedrigststellige Bit eines Bitpaares M 2 wird jm ß-Register mit einer Nullverschiebung in den durch die Oder-Schaltung 515 erzeugt. Die Ml- und 45 Addierer übertragen wird. Das in den Addierer 110 M2-Ausgänge sind positiv, wenn das ausgewählte mit einer Nullverschiebung übertragene Partialpro-Multiplikatorbit eine binäre Eins ist. Sind die abge- dukt wird dann zu einem Vielfachen des Multiplitasteten Multiplikatorbits binäre Nullen, so werden kanden im T-Register 104 addiert, das durch die zwei die negativen Ausgangssignale der Oder-Schaltungen folgenden Multiplikatorbits Ml' und M 2' ausge-514 und 515 durch die Inverter 516 und 517 in posi- 50 wählt wurde. Da für einen bestimmten, ein NuIltive Signale umgewandelt, die mit MT und Ml be- Vielfaches erfordernden iterativen Addierzyklus vier zeichnet werden. Multiplikatorbits im Zyklus verwendet werden, wird
Wie schon weiter oben angegeben, ist die Multi- der R 2-Zähler (F i g. 1) um Zwei erniedrigt, um zu plikation dadurch zu beschleunigen, daß festgestellt bewirken, daß die Vielfachauswahl im folgenden wird, wenn die Multiplikatorbits Ml' und M 2' die 55 Zyklus mittels des richtigen Multiplikatorbitpaars Auswahl eines Null-Vielfachen des Multiplikanden durchgeführt wird. So oft eine Vielfachselektion auf anzeigen, um dadurch die Auswahl der Vielfache Grund der Multiplikatorbits Ml und M 2 ein anderes durch die zwei nächstfolgenden Multiplikatorbits zu als ein Null-Vielfaches erfordert (ÖX), wird das begründen. Die Ausgänge von MV der Oder-Schal- Partialprodukt im ß-Register 106 um zwei Bitstellen tung518 und M 2' der Oder-Schaltung 519 werden 60 nach links verschoben und in den Paralleladdierer zwecks Auswahl der Vielfache erregt, wenn ein Null- 110 übertragen, um die normale Rechtsverschiebung Vielfaches durch die vorhergehenden beiden Multi- um zwei Stellen des Partialproduktes zu erhalten, da plikatorbits ermittelt wurde. Es ist aus der F i g. 5 das Partialprodukt ursprünglich in das ß-Register zu ersehen, daß, wenn die R 2-Zählerstellen 15 und 106 aus der Paralleladdiererverriegelungsschaltung den Zustand 11 haben, die Ausgänge Ml und M 2 65 mit einer vierstelligen Rechtsverschiebung übertragen den binären Zustand der Multiplikatorbits 5 6 und 5 7 wurde. Da in diesem besonderen iterativen Operaanzeigen. Beim gleichen Stand des Zählers R 2 wer- tionszyklus nur zwei Multiplikatorbits verwendet den die Ausgänge M Γ und M 2' auf Grund des wurden, wird der i?2-Zähler um Eins erniedrigt, so
709 719/208
12
daß es möglich wird, daß die Auswahl im folgenden Zyklus durch die nächsten beiden Multiplikatorbits erfolgt.
Die Oder-Schaltung 605 und der Inverter 608 unterdrücken die Null-Vielfachauswahl durch die Multiplikatorbits 50 und St in einen besonderen Multiplikatorbyte auf Grund der oben angeführten Gründe. Fernerhin wird bei einem Eingangsmultiplizieraddierzyklus, wenn der'i?2-Zähler sich in dem
bewirken, daß ein Signal an einem der Ausgänge der Oder-Schaltungen 700, 701 oder 702 auftritt. Wird ein Null-Vielfaches (OZ) des Multiplikanden durch ein bestimmtes Paar von Multiplikatorbits Ml, M 2, 5 wie im Zusammenhang mit der logischen Schaltung gemäß F i g. 6 dargestellt, ausgewählt, so werden die Und-Schaltungen 709, 710, 711 erregt. Dadurch wird eine Vielfachselektion durch die Oder-Schaltungen 700, 701 oder 702 durch Verwendung der zwei
sehe Kombination von TX', Ml' und M2' wird an die Eingänge der Oder-Schaltungen 712, 713 und 714 geleitet.
In F i g. 8 wird eine logische Schaltung dargestellt, durch die die im B-Register 106 (F i g. 1) enthaltenen Produktbits in das F-Register 109 zur Ansammlung eines 8-Bit-Bytes des Endproduktes übertragen werden. Der Übertrag der Produktbits aus dem B-Re-
bei der Oder-Schaltung 60S gezeigten Zustand be- ίο nächstfolgenden Multiplikatorbits Ml', M2'und die findet, eine Null-Vielfachauswahl verhindert, da die Anzeige von TX' (Fig. 6 und 5) bewirkt. Die logierforderlichen Produktbits noch nicht zwecks Übertrag in das F-Register 109 (F i g. 1) erzeugt worden
sind. Dies wird weiter unten im Zusammenhang mit
der Besprechung der Fig. 9 klarer herausgestellt 15
werden, aus der hervorgeht, daß die ersten Produktbits zum Übertrag in das ^-Register nicht vor drei
Zyklen nach Beginn der Eingangs-Vielfachauswahl
zur Verfügung stehen.
Wie aus F i g. 3 hervorgeht, besagt eine der zur 20 gister 106 in das F-Register 109 ist eine Funktion Mehrfachselektion erforderlichen Angaben, daß ein des im 2?2-Zähler im Register 102 enthaltenen Zäh-Übertrag eines Einfachvielfaches im nächstfolgenden lerstandes und hängt weiter davon ab, ob ein par-Zyklus durchgeführt werden muß, um die Dreifach- tielles Produkt im B-Register 106 in den Parallel- und Vierfach-Vielfachauswahl zu bewirken. Diese addiererllO mit einer Nullverschiebung oder einer Angabe (TZ) wird durch die aus den Und-Schal- 25 zweistelligen Linksverschiebung in Abhängigkeit von tungen 609 bis 612 und der Oder-Schaltung 613 be- der Vielfachauswahl übertragen werden soll oder stehende Schaltung erzeugt. Die gezeigte logische nicht. Normalerweise folgt dem Ergebnis einer itera-Schaltung liefert eine Angabe TX oder TX, die im tiven Addition eines Multiplikandenvielfaches und Zusammenhang mit den Multiplikatorbits Ml und eines Partialproduktes ein Übertrag vom Addierer M2 verwendet wird. Die durch den Inverter 615 bei 30 110 in das B-Register 106 mit einer vierstelligen Vorliegen von 00 in den Stellen 14 und 15 des R 2- Rechtsverschiebung. Im nächsten iterativen Addi-Zählers blockierte Und-Schaltung 614 liefert die tionszyklus wird das Partialprodukt im B-Register TZ'-Anzeige zur Verwendung im Zusammenhang 106 um zwei Stellen nach links verschoben, um eine mit den Multiplikatorbits Ml' und M 2'. Gesamtverschiebung des Partialproduktes um zwei
In Fig. 7 wird die logische Schaltung dargestellt, 35 Stellen nach rechts zu bewirken. Dies entspricht den die anzeigt, daß das Multiplikandenvielfache im bekannten Multiplizierverfahren, bei denen ein Par-T-Register 104 in den Paralleladdierer 110 (Fig. 1) tialprodukt um eine Anzahl von Stellen nach rechts zur Addition zu einem Partialprodukt übertragen verschoben wird, die gleich der Anzahl der in dem werden soll. Der Ausgang der Oder-Schaltung 700, iterativen Additionsprozeß verwendeten Multiplider anzeigt, daß ein Einfachvielfaches (IZ) des MuI- 40 katorbits ist. Nach jeder iterativen Addition und tiplikanden zum Partialprodukt addiert werden soll, jeder Verschiebung des Partialproduktes nehmen beliefert die nötigen Steuerungen zur Erregung der Tore stimmte Bits des Produktes nicht mehr am Multiplizwischen dem T-Register 104 und dem Addierer 110, kationsprozeß teil. Normalerweise wird das Partialum den Übertrag des echten Multiplikandenwertes produkt aus dem Addierer 110 mit einer vierstelligen in den Addierer mit einer Nullverschiebung zu be- 45 Rechtsverschiebung in das B-Register 106 übertragen, wirken. Die Oder-Schaltung 701, die ein Zweifach- um dann mit einer zweistelligen Linksverschiebung vielfaches (2Z) anfordert, erregt die Tore zwischen in den Paralleladdierer zur Durchführung der nachdem r-Register 104 und dem Paralleladdierer 110, sten iterativen Addition übertragen zu werden. Die um den Multiplikanden im T-Register in den Parallel- Bitstellen 66 und 67 des B-Registers 106 werden in addierer mit einer einstelligen Linksverschiebung zu 50 die entsprechenden Stellen des f-Registers 109 unter übertragen, was eine Multiplikation des Multipli- Steuerung des Inhaltes der Stellen 14 und 15 des kanden mit Zwei bewirkt. Die Oder-Schaltung 702 i?2-Zählers übertragen. Während die Produktbits zeigt an, daß der Multiplikand vom Partialprodukt aus dem B-Register 106 in das F-Register 109 überabgezogen werden muß. Das Minus-Einfachvielfache tragen werden, wird der i?2-Zähler in einen Zustand (-1Z) wird zum Paralleladdierer durch Erregung 55 übergeführt, der die Auswahl eines Multiplikatorbitder Tore 113 zwischen dem Γ-Register 104 und dem paares im 5-Register bewirkt, das in bezug auf die
Multiplikatorbits, die das in das F-Register 109 zu übertragende Produkt erzeugt haben, zwei Stellen links liegt. Mit anderen Worten, das in die Stellen 60 F6 und Fl des F-Registers einzulesende Produktbitpaar wäre in Übereinstimmung mit einer auf die Einstellung 11 der 14. und 15. Stelle des i?2-Zählers beruhenden Vielfachselektion erzeugt worden. Zum Zeitpunkt, in dem die beiden Produktbits tatsächlich
tungen 703, 704 und 705 (Fig. 7) erregt. In diesem 65 in das F-Register übertragen werden, sind die Stellen Fall wird der binäre 1- oder der binäre 0-Zustand 14 und 15 des i?2-Zählers um Zwei erniedrigt worvon TX (Fig. 6) und die MultiplikatorbitsMl, M2 den, so daß die Übertragung der BitsB66 und B67 (F i g. 5) bei den Oder-Schaltungen 706, 707 und 708 in die Stellen F 6 und F 7 des F-Registers durch eine
Addierer 110 übertragen, die eine Komplementierung des Multiplikanden und einen Übertrag des Komplements in den Addierer mittels einer Nullverschiebung bewirken.
Entschlüsselt die in F i g. 6 dargestellte logische Schaltung die Multiplikatorbits Ml und M 2, die anzeigen, daß das auszuwählende Vielfache nicht ein Null-Vielfaches (ÖZ) ist, so werden die Und-Schal-
Einstellung Ol in den Stellen 14 und 15 des R 2-Zählers übertragen werden.
Wird unter Bezugnahme auf F i g. 8 angenommen, daß volle acht Bits eines Produkts im F-Register 109 (Fig. 1) angesammelt wurden, ohne daß ein NuIl-Vielfachzustand aufgetreten ist, so wird die Reihe der Tore 800 bis 807 in aufeinanderfolgender Reihenfolge durch die Einstellung der Stellen 14 und 15 des .R 2-Zählers erregt und der Zustand für eine zweistellige Linksverschiebung des .B-Registers für eine OX1-Vielfachauswahl gemäß F i g. 6 den Und-Schaltungen 808, 809 und 810 zugeleitet. In diesem Fall werden die Produktbits in den Stellen #66 und 577 des .B-Registers 106 in aufeinanderfolgender Reihenfolge den Stellend6 und F 7, F4 und F5, Fl und F 3 des F-Registers 109 zugeleitet. Wenn die beiden letzten Bits eines 8-Bit-Bytes eines Produktes erzeugt worden sind, wie das beim Vorliegen von 10 in den Stellen 14 und 15 des Ä 2-Zählers der Fall ist, kann ein gleichzeitiger Übertrag der F-Registerstellen 2 bis 7 und B 66, B 67 des .B-Registers 106 in das durch den ST-Zähler angegebene 5-Register 103 erfolgen. Dadurch entfällt die Notwendigkeit, während der Erzeugung des vierten Produktbits einen etwas längeren Zeitabschnitt zum Übertrag der Bits vom B-Register B106 zum F-Register 107 und von dort zum 5-Register 103 Bytes bereitzustellen.
In manchen Fällen wird während der Ansammlung eines 8-Bit-Bytes eines Produktes im F-Register 109 eine Null-Vielfachuntersuchung durchgeführt werden, in welchem Fall die im .B-Register 106, in den Stellen 564 und .B 65 enthaltenen Produktbits nicht in den Paralleladdierer 110 zur Teilnahme an einer iterativen Addition übertragen werden. Wenn dieser Zustand durch die Erzeugung eines Signals für eine Nullverschiebung des 5-Registers (F i g. 6) erkannt wird, so kann der Zustand der Stellen 14 und 15 des .R 2-Zählers kombiniert mit dem Kommando für eine .B-Register-Nullverschiebung bei den Und-Schaltungen 811, 812 und 813 zur Bewirkung eines Übertrages der Produktbits vom .B-Register 106, Stellen B 64 bis 567 zu den richtigen Stellen des F-Registers 109 unter Benutzung der Tore 800 bis 807 und 814 bis 817 verwendet werden.
Aus der F i g. 9 ergibt sich das Verhältnis zwischen verschiedenen Zyklen eines Multiplikationsprozesses und der Erzeugung verschiedener Steuer- und Ubertragsfunktionen während des Multiplikationsvorganges. Während des Zyklus Nr. 1 wird der R2-Zähler im Register 102 (F i g. 1) auf den Wert 15 eingestellt. In diesem Fall enthalten alle Stellen dieses Zählers jeweils eine binäre »1«. Die Tatsache, daß die Stellen 12 bis 13 und die Stellen 14 und 15 des 2? 2-Zählers jeweils den binären Wert»l« enthalten, bewirkt, daß das Byte Nr. 3 des 5-Registers 103 in den Bit-Stellen 530 und 531 zur Auswahl eines Vielfachen untersucht wird. Wie schon vorher erwähnt, ist im Einsangszyklus eines Multiplikationsvorganges nur ein ÜX-Vielfachzustand zulässig, in dem der Inhalt des i? 2-Zählers um Eins erniedrigt wird. Während des ersten Zyklus gibt es keine Addition eines Multiplikanden und eines Partialproduktes, noch werden irgendwelche Produktbits gespeichert. Während des Zyklus Nr. 2 ist eine Auswahl von Null-Vielfachen (OZ) durch die Bits 528 und 529 des 5-Registers 103 dargestellt. Auf Grund der Null-Vielfachauswahl wird der Inhalt des .R 2-Zählers um Zwei erniedrigt. Es folgt ein Addierzyklus, in dem der Inhalt des B-Registers 106 in den Addierer 110 mit einer zweistelligen Linksverschiebung übertragen wird und ein Vielfaches des Multiplikanden aus dem T-Register 104 durch die Bits 30 und 31 des 5-Registers ausgewählt und addiert und das Ergebnis um vier Stellen nach rechts verschoben und in das S-Register 106 übertragen wird. Bei Beendigung des ersten Additionszyklus =sind die ersten Produktbits erzeugt worden. Der Übertrag dieser Produktbits in die geeigneten Stellen des F-Registers 109 wird jedoch nicht vor dem nächstfolgenden Zyklus eingeleitet. Während des Zyklus Nr. 3 wurde ein ÜZ'-Vielfaches auf Grund der Bits 24 und 25 im 5-Register in Übereinstimmung mit der 00-Kombination in den Stellen 14 und 15 des R 2-Zählers ausgewählt. Wegen der Auswahl eines Nullvielfachen im Zyklus Nr. 2 findet ein Additionszyklus statt, in dem der Inhalt des B-Registers 106 mit einer Nullverschiebung in den Addierer zwecks Addition mit einem Multiplikanden-
ao vielfachen übertragen wird, das in Übereinstimmung mit den in den Stellen 26 und 27 des 5-Registers 103 enthaltenen Multiplikatorbits ausgewählt wurde. Während das Partialprodukt aus dem 5-Register in den Paralleladdierer 110 übertragen wird, werden die Stellen B 64 bis 567 des 5-Registers 106 wegen der nullstelligen Linksverschiebung und des Zustandes 00 in den Stellen 14 und 15 des R 2-Zählers in die Stellen F 4 bis F 7 des F-Registers mittels der in F i g. 8 dargestellten logischen Schaltung übertragen.
Die Auswahl von Vielfachen, die Addition von Vielfachen und Partialprodukten und das Fortschalten des R 2-Zählers dauern beispielsweise bis zum Zyklus Nr. 5 an. Während des Zyklus Nr. 5 wird eine Addition des Partialproduktes im 5-Register 106 mit einer zweistelligen Linksverschiebung auf Grund einer ÜZ-Vielfachselektion im Zyklus Nr. 4 durchgeführt. Während der Durchführung des Additionszyklus bewirkt die »10«-Kombination in den Stellen 14 und 15 des R 2-Zählers den Übertrag des Inhaltes
φο der Stellen 5 66 und 567 des 5-Registers und der Stellen F2 bis F7 des F-Registers in die Stellen 24 bis 31 des 5-Registers in Übereinstimmung mit der Einstellung des 5T-Zählers 107. Auf diese Weise wurde das erste 8-Bit-Byte des Endproduktes in Form von Bitgruppen aus dem 5-Register 106 in das F-Register 109 und schließlich in ein bestimmtes Byte des 5-Registers 103 übertragen. Die angesammelten Produktbits können in das Byte des 5-Registers 103 eingegeben werden, das das erste Byte aus Multiplikatorbits enthalten hat, da das Produkt in ein Byte eingelesen wurde, das für die Erzeugung der einzulesenden Produktbits verwendet wurde. Der Multiplizervorgang wird bis zu dem Zeitpunkt fortgesetzt, zu dem der i?2-Zähler auf Null übergeht, wodurch angezeigt wird, daß 16 Paare von Multiplikatorbits geprüft wurden, so daß keine weiteren Vielfachauswahlen erforderlich sind. Es sind jetzt noch die beiden verbleibenden Multiplizierzyklen durchzuführen, die eine Schlußaddition auf Grund der durch die beiden letzten Multiplikatorbits ausgewählten Vielfache und einen Zyklus enthalten, der den Übertrag der endgültigen Bits des Produkts in die Stellen 0 bis 7 des 5-Registers bewirkt. Die Multiplikation eines 32 Bits umfassenden Multiplikators und eines 32 Bits umfassenden Multiplikanden erzeugt ein 64 Bits umfassendes Endprodukt. Die zweiunddreißig höchststelligen Bits des Endprodukts befinden sich in dem B-Register 106, und die zweiunddreißig niedrigst-
is
stelligen Bits des Endproduktes befinden sich im S-Register 103.
Der beschriebene Multiplizieralgorithmus verarbeitet normalerweise gleichzeitig zwei Multiplikatorbits. Die Geschwindigkeit kann jedoch durch die Verwendung von vier Multiplikatorbits in bestimmten Zyklen erhöht werden, so daß im allgemeinen zur Errechnung eines 64 Bitstellen umfassenden Produktes weniger als sechzehn iterative Additionen notwendig sein werden.
Die in F i g. 4 dargestellte Tafel stimmt im wesentlichen mit der in der USA.-Patentanmeldung 162 503 wiedergegebenen überein, die ein Divisionsverfahren ohne Korrekturaddition betrifft. Liegt der Dividendenrest als Echtwert vor, so wird das Divisorvielfache davon abgezogen, liegt der Dividendenrest im Komplementform vor, so wird das Divisorvielfache addiert. Das zu verwendende Divisorvielfache wird durch den echten oder komplementären Zustand des Restes der vorherbestimmten Bitkombinationen der drei höchsten Stellen des Dividendenrestes bestimmt. Es· wurde schon gesagt, daß gemäß der vorliegenden Erfindung die Notwendigkeit ein Divisordreifach zu speichern entfällt. Wie aus der in Fi g. 4 dargestellten Tafel hervorgeht, gibt es vier Fälle, in denen ein normaler iterativer Additionszyklus durchgeführt wird, jedoch zu keinem Ergebnis führt, so daß ein zusätzlicher Additionszyklus zur Erreichung einer eindeutigen Aussage erforderlich wird. Diese Fälle liegen dann vor, wenn ein Divisordreifaches erforderlich wäre.
In Fig. 10 ist eine logische Schaltung zur Auswahl eines Divisorvielfachen dargestellt, das zur oder von einem Dividendenrest addiert bzw. subtrahiert werden soll. Der im T-Register 104 (F i g. 1) enthaltene Divisor wird in den Paralleladdierer 110 entweder mit einer Nullverschiebung zur Erzeugung eines Einfachvielfachen oder einer einstelligen Linksverschiebung zur Erzeugung eines Zweifachvielfachen entweder in echter oder komplementärer Form zur Erzeugung einer Addition oder einer Subtraktion übertragen. Liegt der Dividendenrest in 5-Register 106 in echter Form vor, so stellen die Und-Schaltungen 1000,1001 und 1002 die erforderlichen Mittel zur Auswahl eines Divisoreinfachen oder Divisorzweifachen zur Subtraktion vom Dividendenrest dar. In ähnlicher Weise liefern die Und-Schaltungen 1003, 1004 und 1005 die Mittel zur Auswahl eines Divisoreinfachen oder eines Divisorzweifachen zur Addition des in komplementärer Form vorliegenden Dividendenrestes. Die Auswahl der Vielfachen wird auf Grund der Zustände der drei höchststelligen Bits des Dividendenrestes in den Stellen 5 32, 533 und 534 des 5-Registers 106 durchgeführt. Die Entschlüsselung dieser Bits kann auf Grund der Inhalte der drei höchststelligen Bits in den Verriegelungsschaltungen 112 am Ausgang des Addierers 110 durchgeführt werden. Die Zuführung der Eingangssignale zu den Und-Schaltungen 1000 und 1003, die anzeigen, daß ein zusätzlicher Zyklus nicht durchgeführt wird (zusätzlicher Zyklus), erfolgt über logische Schaltungen, die noch im Zusammenhang mit der Fig. 10 beschrieben werden.
Wurde eine Anforderung für einen zusätzlichen Zyklus entschlüsselt, was noch im Zusammenhang mit der F i g. 12 näher beschrieben wird, so nehmen die Und-Schaltungen 1006 und 1007 das Vielfache — einmal oder +einmal auf Grund der Feststellung eines echten Restes mit der höchsten Stellei (532) oder eines komplementären Restes mit der höchsten Stelle© (532) auf.
Die Oder-Schaltungen 1008 und 1009 fassen die Ausgänge der logischen Und-Schaltungen in solchen Fällen zusammen, in denen ein Minus oder ein Plus-Divisorvielfaches erforderlich ist. Die Oder-Schaltungen 1010, 1011 und 1012 und die Inverter 1013 und 1014 fassen die Vielfach-Auswahlsignale für eine
ίο noch zu beschreibende logische Schaltung zusammen. Die in Fig. 11 dargestellte logische Schaltung liefert Angaben über den echten oder komplementären Zustand eines iterativen Additionsergebnisses. Wie aus der in Fig. 4 dargestellten Tafel ersichtlich,
1S wird, wenn der als Ergebnis eines vorherigen Additionszyklus im 5-Register gespeicherte Dividendenrest als Echtwert vorliegt und wenn weder ein Minus-Einmal-(—IX)- oder Minus-zweimal-(—2X)-Vielfaches ausgewählt wurde, zeigt eine aus einer Und-Schaltung 1100, einem Inverter 1101 und einer mit dem Eingang der Oder-Schaltung 1103 verbundenen Oder-Schaltung 1102 bestehende Schaltung an, daß das Ergebnis als echter Wert vorliegt, da die höchststelligen Bits eines Dividendenrestes binäre Nullen sind, so daß genau genommen jeder iterative Zyklus eines Divisionsverfahrens im wesentlichen aus einer Verschiebeoperation besteht. Liegt der vorhergehende Rest in komplementärer Form vor oder wurde ein Minus-einmal- oder ein Minus-zweimal-Vielfaches gewählt, so ist das Ergebnis des iterativen Zyklus vollständig die Funktion eines binären Eins-Übertragers aus der Stelle© des Paralleladdierers 110. Diese Angabe wird dem zweiten Eingang der Oder-Schaltung 1103 zugeführt, die eine Angabe darüber liefert, ob das Ergebnis als echter Wert oder über den Inverter 1104 als komplementärer Wert vorliegt. In F i g. 12 wird eine logische Schaltung zur Angabe der vier entschlüsselten Zustände dargestellt, die angeben, ob ein zusätzlicher Zyklus für einen zusätzliehen iterativen Additionszyklus erforderlich ist oder nicht. Die Ausgänge der Und-Schaltungen 1200 bis 1203 sind mit dem Eingang der Oder-Schaltung 1204 verbunden und dienen zum Erkennen von acht Kombinationen von Divisor- und Dividendenrestbits. Nur vier dieser Zustände zeigen die Notwendigkeit eines zusätzlichen Zyklus an. Diese vier einen zusätzlichen Zyklus erfordernden Zustände werden mittels der Und-Schaltung 1205 angezeigt, der diejenigen Zustände angezeigt werden, die die Auswahl eines Zweifachvielfachen erfordern. Der Ausgang der Und-Schaltung 1205 besteht aus einem Signal, das als »zusätzlicher Zyklus als nächstes« bezeichnet wird. Der durch den Inverter 1206 invertierte Ausgang der Und-Schaltung 1205 liefert die Anzeige, daß als nächstes kein zusätzlicher Zyklus erforderlich ist (zusätzlicher Zyklus als nächstes). Die beiden Ausgangssignale der Und-Schaltung 1205 und des Inverters 1206 steuern den Übertrag zwischen dem 5-Register 106 und dem Paralleladdierer 110 (F i g. 1), die normalerweise immer eine zweistellige Linksverschiebung des Dividendenrestes bewirken. Wird jedoch ein zusätzlicher Zyklus notwendig, werden die Tore zwischen dem 5-Register 106 und dem Paralleladdierer 110 so eingestellt, daß eine Nullverschiebung beim Übertrag des Dividendenrestes in den Addierer erfolgt. Eine Und-Schaltung 1207 und ein Inverter 1208 erzeugen Signale, die anzeigen, daß die im Addierer 110 durchgeführte
Addition den erforderlichen zusätzlichen Additionszyklus darstellt. Obwohl im Zusammenhang mit dem Divisionsalgorithmus keine Zeitgeberfunktionen dargestellt wurden, ist die in Fig. 12 dargestellte logische Schaltung die einzige Schaltung, die eine Unterscheidung zwischen einem vorliegenden und einem folgenden Zyklus erforderlich macht. Diese Anzeige erfolgt durch die Und-Schaltungen 1205 und 1207. Der Zeitgeberzustand ist während der zweiten Hälfte eines bestimmten Dividierzyklus positiv, der als Ergebnis der Verwendung einer Rechteckschwingungszeitgeberquelle entsteht, die einen Zeitgeber und einen Zeitgeber - Zustand während des Zyklus erzeugt. Während des Zyklus, der die Notwendigkeit eines zusätzlichen Zyklus anzeigt, erregt der Zeitgeber-Zustand die Und-Schaltung 1205, so daß die Und-Schaltung 1207 im nächstfolgenden Zyklus erregt wird, wenn der Zeitgeber-Zustand positiv wird. Durch die Oder-Schaltung 1209 wird angezeigt, wenn der i?2-Zähler (Fig. 1) auf Grund der Tatsache, daß ein »zusätzlicher Zyklus als nächstes« nicht erforderlich ist oder daß ein »zusätzlicher Zyklus jetzt« durchgeführt wird, um Eins erhöht werden soll.
Mit Hilfe der in Fig. 13 dargestellten Schaltung, deren Funktion mittels der in F i g. 4 dargestellten Tafel erklärt werden kann, werden die Quotientenbits erzeugt. Die Oder-Schaltung 1300, die Und-Schaltung 1301 und die Und-Schaltung 1302 bilden eine Schaltung, die angibt, wann das höchststellige Quotientenbit eine binäre Eins sein muß. So oft ein Zweifachvielfaches ausgewählt wird, ist das höchststellige Bit eine Funktion eines Übertrages aus der Stelle 0 des Paralleladdierers 110 (Fig. 1). Das höchststellige Quotientenbit wird immer dann eine binäre Eins sein, wenn kein zweifaches Vielfaches mit dem in komplementärer Form vorliegenden Rest ausgesucht wird. Der andere Eingang zur Und-Schaltung 1302 »zusätzlicher Zyklus jetzt« verhindert während eines zusätzlichen Additionszyklus eine Änderung in der Angabe des höchststelligen Quotientenbits. Die Oder-Schaltung 1303 und die Und-Schaltungen 1304, 1305 und 1306 bilden eine Schaltung zur Erzeugung des niedrigststelligen Quotientenbits.
Der Übertrag von zwei Quotientenbits in die richtigen Stellen des F-Registers 109 (Fig. 1) auf Grund des Zustandes der 14. und 15. Stelle des i?2-Zählers erfolgt unter der Steuerung der Und-Schaltungen 1307 bis 1314. Der Zustand des Ä2-Zählers ist, ebenso wie bei dem Multipliziervorgang, nicht in Synchronismus mit dem gerade durchgeführten Zyklus zur Vielfachauswahl. Bei der Divisionsoperation ist die Einstellung des i?2-Zählers der Speicherung der Quotientenbits um einen Schritt voraus. Zum Beginn einer Divisionsoperation wird der 2?2-Zähler im Register 102 (F i g. 1) auf Null gestellt. Es wird ein 32 Bits umfassender Divisor verwendet, so daß die Divisionsoperation am Ende des sechzehnten iterativen Additionszyklus beendet ist, was dadurch angezeigt wird, daß der Inhalt des i?2-Zählers gleich 15 wird, was der Fall ist, wenn in allen Stellen des Zählers eine binäre Eins steht.
Am Beginn einer Dividieroperation befinden sich die Stellen 14 und 15 des i?2-Zählers im NuIl-Zustand, was ein Auslesen des ersten Bytes aus den Stellen 0 bis 7 des S-Registers 103 zur Folge hat. Gemäß einer bevorzugten Ausführungsform des Erfindungsgedankens wird ein 64 Bitstellen umfassender Dividend verwendet, wobei die höchststelligen 32 Bits des Dividenden in das .B-Register 106 und die niedrigststelligen Bits des Dividenden in das S-Register 103 eingegeben werden. In jedem iterativen Additionszyklus wird die binäre Kombination des Inhalts der Stellen 12 bis 15 des i?2-Zählers zum Durchschalten von zwei Bits des Dividenden, in der Reihenfolge von hohen zu niedrigen Stellen, aus dem Register 5103 zu den niedrigststelligen Stellen des B-Registers 106 verwendet. Bei Beendigung von vier
ίο iterativen Additionszyklen sind alle Dividendenbits eines bestimmten Bytes im S-Register 103 in das B-Register 106 zur Verwendung in den darauffolgenden iterativen Additionszyklen übertragen. Sind im F-Register 109 acht Quotientenbits angesammelt, so wird dieses 8-Bit-Byte des Quotienten in das 5-Register 103 übertragen, und zwar in das Byte des S-Registers 103, das soeben zur Übertragung von Dividendenbits in das B-Register 106 verwendet wurde. Dieses Byte, in das eingelesen werden soll, wird durch den Inhalt des 5T-Zählers 107 bestimmt, dessen Inhalt anschließend erhöht wird. Bei Beendigung der Dividieroperation wurde ein 32 Bits umfassender Quotient erzeugt und in das 5-Register 103 (Fig. 1) eingegeben. Ein 32 Bits umfassender Rest ist im B-Register 106 enthalten.
Kurz zusammengefaßt besteht die beschriebene Anordnung aus einem Datenweg, der einen Paralleladdierer, erste und zweite Register und Tore zur Parallelverschiebung der Operanden in und aus den Paralleladdierern enthält. Die Anordnung ermöglicht eine Beschleunigung des Operationsvorganges, da unter bestimmten Umständen mehr Multiplikatorbits in einem iterativen Additionszyklus verwendet werden können, als dies normalerweise der Fall ist. Bei Dividieroperationen entfällt die Notwendigkeit der Speicherung von Divisordreifachen. Weiterhin werden keine besonderen Verschieberegister und keine besonderen Schaltungen zur Paritätsprüfung im Zusammenhang mit jedem Register benötigt. Alle Paritätsprüfungen im ersten oder im zweiten Register können am Eingang des Paralleladdierers durchgeführt werden, worauf eine Paritätsprüfung am Addiererausgang und die Einstellung der Paritätsbitkombinationen gemäß der Parallelverschiebung der Datenbits bei der Ausgabe aus dem Paralleladdierer erfolgt.

Claims (6)

Patentansprüche:
1. Schaltungsanordnung zur Durchführung verkürzter Multiplikationen oder Divisionen durch Bildung von Mehrfachen bestimmter Operanden und Parallelablauf von Teiloperationen mit zwei 2n-stelligen Registern, wobei in je einem n-stelligen Teil des einen Registers die Rechenoperanden und im anderen Register die Teilergebnisse zur parallelen Verarbeitung in einem Paralleladdierwerk gespeichert werden und die Steuerung der einzelnen Teiloperationszyklen durch In- bzw. Dekrementieren von Zählschaltungen erfolgt, dadurch gekennzeichnet, daß die Ausgänge des niedrigstelligen Teiles (104) des ersten Registers über eine Schaltung (113) zur Nulloder Linksverschiebung um eine Stelle mit den Eingängen für den ersten Operanden des Paralleladdierwerkes (110) verbunden sind, während die Eingänge für den zweiten Operanden mit den Ausgängen eines Teiles (106) des zweiten Regi-
709 719/208
sters über eine weitere Schaltung (114) zur Nulloder Linksverschiebung um zwei Stellen verbunden sind, und daß die Ausgänge des Paralleladdierwerkes (110) steuerbar über eine dritte Schaltung (111) zur Null- oder 4stelligen Rechts- bzw. Linksverschiebung mit jedem Teil (103 bis 106) der beiden Register eingangsseitig verbunden sind.
2. Schaltungsanordnung nach Anspruch 1, gekennzeichnet durch ein zur Aufnahme des Operationscodes und der Adressen der jeweils in einer Operation zu verarbeitenden Daten dienendes Register (102), dessen letzte Stellen nach Durchführung der Datenentnahme als Zähler zur Auswahl von je zwei Multiplikatorbits (Ml, M2) bzw. bei Vorliegen von Nullvielfachen zur Auswahl der nächstfolgenden Multiplikatorbits (Ml', M 2') bzw. zur Auswahl von je zwei Divisorbits je Rechenzyklus geschaltet werden.
3. Schaltungsanordnung nach den Ansprüchen 1 und 2, gekennzeichnet durch zusätzliche Stellen (64, 65, 66, 67) des das Partialprodukt oder den Dividenden bzw. Dividendenrest aufnehmenden Registers (105, 106) zur Aufnahme und Übertragung von Endproduktbits in ein Zwischenregister (F [109]) und von dort in die niedrigstelligen Stellen des Multiplikatorregisters (103) und durch eine diese Übertragungen steuernde Multipliziersteuerung (116).
4. Schaltungsanordnung mit einer Teilschaltung zur Auswahl der jeweils zu verarbeitenden Bitpaare nach den Ansprüchen 1 bis 3, dadurch gekennzeichnet, daß den Einstellungen 00, 01, 10 und 11 zugeordnete Ausgänge eines die Auswahl der jeweils zu verarbeitenden Multiplikatorbits steuernden Zählers (R 2 [102]) und die die Einstellung der einzelnen Stellen einer Bitgruppe des Multiplikatorregisters (103) anzeigenden Leitungen (S0 bis 57 in Fig. 5) so mit einer Reihe von in zwei Gruppen (50 bis Sl und 50 bis 55) angeordneten Und-Schaltungen (500 bis 513) verbunden sind, daß bei den Zählerständen 00, 01, 10 und 11 die den Leitungen (50 und 51) der ersten Gruppe, (52 und 53) der ersten Gruppe sowie (50 und 51) der zweiten Gruppe, (54 und 55) der ersten Gruppe sowie (52 und 53) der zweiten Gruppe bzw. (56 und 57) der ersten Gruppe sowie (54 und 55) der zweiten Gruppe zugeordneten Und-Schaltungen (500 bis 513) erregt sind, daß die Ausgänge der gruppenweise angeordneten Und-Schaltungen (500 bis 503, 504 bis 507, 508 bis 510, 511 bis 513) gruppenweise mit Oder-Schaltungen (515 bis 518) verbunden sind, deren Ausgänge jeweils unmittelbar mit das Vorliegen von binären Einsen anzeigenden Ausgangsleitungen (M2, Ml, M2', Ml') und über Inverter mit das Vorliegen von binären Nullen anzeigenden Leitungen (Ml, MI, MT und MI') verbunden sind, derart, daß bei Vorliegen von Nullen in einer mit Ausnahme der höehststelligen Bitpaarstellen die den Inhalt der folgenden Bitpaarstellen des Multiplikatorregisters (103) anzeigenden Ausgangsleitungen (ΜΓ, M2') wirksam werden und eine Multiplikation mit dem nächstfolgenden Bitpaar bewirken.
5. Schaltungsanordnung nach den Ansprüchen 1 bis 4, mit einer Teilschaltungsanordnung zur Kombination der zwecks Bestimmung des jeweiligen Multiplikandenvielfachen untersuchten Multiplikatorbits (Ml, M2 in Fig. 6) mit einem gegebenenfalls vom letzten Rechenzyklus herrührenden Übertrag (TX), um beim Vorliegen bestimmter Bedingungen eine Multiplikation mit dem nächstfolgenden Bitpaar (Ml', M2') des Multiplikators einzuleiten, gekennzeichnet durch zwei Und-Schaltungen (600 und 601) mit Eingängen für (TX, MT, ΉΊ bzw. TX, Ml und M 2) und jeweils einen vierten Eingang zur Sperrung der Und-Schaltungen bei Vorliegen der Einstellung 00 der Stellen (14 bis 15) oder 1111 der Stellen (12 bis 15) des Zählers R 2 und einer nachgeschalteten Oder-Schaltung (606) zur Abgabe der Steuersignale: ».B-Register mit Nullverschiebung nach Addierer, Nullvielfaches (OZ), Ä2-Zähler —2«, durch Und-Schaltungen (602 bis 604) mit jeweils zwei Eingängen für (Ml, TX; Ml, TX; MI, M2) einer nachgeschalteten mit einem vierten, das Vorliegen der Einstellung 00 der Stellen (14 bis 15) oder 1111 der Stellen (12 bis 15) des Zählers R2 anzeigenden Eingang versehenen Oder-Schaltung (607) zur Erzeugung der Steuersignale: »B-Register zweifache Linksverschiebung zum Addierer OX, i?2-Stellel2 bis 15 —1«, durch eine dritte Gruppe Und-Schaltungen (609 bis 612) mit je drei Eingängen für ÜZ, TX, Ml, OX, Ml, M2; OX, TX' und OZ, Ml' und M 2') und durch eine nachgeschaltete Oder-Schaltung (613) zur Erzeugung des Steuersignals (TX) bzw. über einen Inverter (TX) sowie unter Berücksichtigung der über einen Inverter (615) einer Und-Schaltung (614) zugeführten Anzeige der Einstellung 00 der Stellen (14 bis 15) des Zählers R 2 zur Erzeugung der Steuersignale (TX' und TX').
6. Schaltungsanordnung nach den Ansprüchen 1 bis 5, dadurch gekennzeichnet, daß zur Durchführung einer zweistelligen Rechtsverschiebung bei einer jeweils zwei Multiplikatorbits berücksichtigenden Teilmultiplikation durch einen Schalter (111) eine vierstellige Rechtsverschiebung beim Übertrag aus dem Addierer (110) in das B-Register (106) und durch einen Schalter (114) eine zweistellige Linksverschiebung des Partialproduktes kein Übertrag aus dem B-Register in den Addierer durchgeführt wird.
Hierzu 3 Blatt Zeichnungen
709 719/208 1.68 © Bundesdruckerei Berlin
DEJ28590A 1964-07-22 1965-07-17 Schaltungsanordnung zur Durchfuehrung verkuerzter Multiplikationen oder Divisionen Withdrawn DE1259122B (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US384362A US3293420A (en) 1964-07-22 1964-07-22 Computer with compatible multiplication and division

Publications (1)

Publication Number Publication Date
DE1259122B true DE1259122B (de) 1968-01-18

Family

ID=23517035

Family Applications (1)

Application Number Title Priority Date Filing Date
DEJ28590A Withdrawn DE1259122B (de) 1964-07-22 1965-07-17 Schaltungsanordnung zur Durchfuehrung verkuerzter Multiplikationen oder Divisionen

Country Status (7)

Country Link
US (1) US3293420A (de)
CH (1) CH432892A (de)
DE (1) DE1259122B (de)
ES (1) ES315571A1 (de)
GB (1) GB1053686A (de)
NL (1) NL152998B (de)
SE (1) SE314234B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3447729A1 (de) * 1983-12-28 1985-07-18 Hitachi, Ltd., Tokio/Tokyo Verfahren und vorrichtung zur dezimal-multiplikation

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3504167A (en) * 1967-01-13 1970-03-31 Ibm Carry select divide decode
US3997771A (en) * 1975-05-05 1976-12-14 Honeywell Inc. Apparatus and method for performing an arithmetic operation and multibit shift
US4495593A (en) * 1982-07-01 1985-01-22 Hewlett-Packard Company Multiple bit encoding technique for combinational multipliers
US4665500A (en) * 1984-04-11 1987-05-12 Texas Instruments Incorporated Multiply and divide unit for a high speed processor
GB2411974C (en) * 2003-12-09 2009-09-23 Advanced Risc Mach Ltd Data shift operations

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3447729A1 (de) * 1983-12-28 1985-07-18 Hitachi, Ltd., Tokio/Tokyo Verfahren und vorrichtung zur dezimal-multiplikation

Also Published As

Publication number Publication date
NL6509472A (de) 1966-01-24
GB1053686A (de)
CH432892A (de) 1967-03-31
SE314234B (de) 1969-09-01
US3293420A (en) 1966-12-20
ES315571A1 (es) 1965-11-16
NL152998B (nl) 1977-04-15

Similar Documents

Publication Publication Date Title
DE2246968C2 (de) Einrichtung zur Multiplikation zweier Gleitkommazahlen
DE3144015C2 (de)
DE1549476C3 (de) Anordnung zur Ausführung von Divisionen
DE2712224A1 (de) Datenverarbeitungsanlage
DE2311220A1 (de) Digital-informations-verarbeitungsvorrichtung zur zeichenerkennung
DE1162111B (de) Gleitkomma-Recheneinrichtung
DE1169166B (de) Modulí¬9 Pruefzahl-Rechner
DE1549508C3 (de) Anordnung zur Übertragsberechnung mit kurzer Signallaufzeit
DE1474037C3 (de) Paritätsprüfverfahren und -prüfeinrichtung für datenverarbeitende Maschinen
DE2830334C2 (de)
DE1259122B (de) Schaltungsanordnung zur Durchfuehrung verkuerzter Multiplikationen oder Divisionen
DE3440680C2 (de)
DE2310553A1 (de) Vorrichtung zur durchfuehrung arithmetischer und logischer operationen
DE2746355A1 (de) Einrichtung und verfahren zur wahlweisen multiplikation oder division zweier als binaerzahlen vorliegender operanden
DE3447729A1 (de) Verfahren und vorrichtung zur dezimal-multiplikation
DE2523755C3 (de) Divisionsvorrichtung unter Verwendung einer Näherungsgleichung
DE1184122B (de) Addiervorrichtung
DE3302013C2 (de)
DE10219161A1 (de) Vorrichtung und Verfahren zum Umrechnen eines Terms
DE19851690A1 (de) Residuum-Prüfung von Datenumwandlungen
DE1549105C3 (de) Codeprüfanordnung für die Korrektur fehlerhaft übertragener Zeichen
DE1549449A1 (de) Einrichtung zur Verarbeitung von Gleitkommazahlen
DE1234055B (de) Anordnung zur Addition oder Subtraktion
DE1549485A1 (de) Anordnung zur Division binaerer Operanden
DE1181948B (de) Elektronische Datenverarbeitungsmaschine

Legal Events

Date Code Title Description
E77 Valid patent as to the heymanns-index 1977
8339 Ceased/non-payment of the annual fee