DE2712582C2 - DDA-Rechner (Digital-Differential-Analysator) - Google Patents

DDA-Rechner (Digital-Differential-Analysator)

Info

Publication number
DE2712582C2
DE2712582C2 DE2712582A DE2712582A DE2712582C2 DE 2712582 C2 DE2712582 C2 DE 2712582C2 DE 2712582 A DE2712582 A DE 2712582A DE 2712582 A DE2712582 A DE 2712582A DE 2712582 C2 DE2712582 C2 DE 2712582C2
Authority
DE
Germany
Prior art keywords
memory
increment
adder
value
content
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
Application number
DE2712582A
Other languages
English (en)
Other versions
DE2712582A1 (de
Inventor
Takeyuki Endoh
Yoshiharu Itatsuda
Kunihiro Okada
Shigeru Tokio/Tokyo Yabuuchi
Norio Fuchu Yokozawa
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.)
Hitachi Denshi KK
Hitachi Ltd
Original Assignee
Hitachi Denshi KK
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Denshi KK, Hitachi Ltd filed Critical Hitachi Denshi KK
Publication of DE2712582A1 publication Critical patent/DE2712582A1/de
Application granted granted Critical
Publication of DE2712582C2 publication Critical patent/DE2712582C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • G06F17/13Differential equations
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/17Systems in which incident light is modified in accordance with the properties of the material investigated
    • G01N21/25Colour; Spectral properties, i.e. comparison of effect of material on the light at two or more different wavelengths or wavelength bands
    • G01N21/27Colour; Spectral properties, i.e. comparison of effect of material on the light at two or more different wavelengths or wavelength bands using photo-electric detection ; circuits for computing concentration
    • G01N21/272Colour; Spectral properties, i.e. comparison of effect of material on the light at two or more different wavelengths or wavelength bands using photo-electric detection ; circuits for computing concentration for following a reaction, e.g. for determining photometrically a reaction rate (photometric cinetic analysis)

Description

Die Erfindung betrifft einen DDA-Rechner (Digital-Differential-Analysator) nach dem Oberbegriff des Patentanspruchs.
Digital-Differential-Analysatoren oder Integrieranlagen oder Differentialgleichungsmaschinen (im folgenden als DD A's bezeichnet) dienen zur Lösung (Integration) von Differentialgleichungen und arbeiten nach dem Prinzip der Berechnung des Flächeninhalts eines Segment-Bereiches.
Die DDA's können in Serien-DDA's, bei denen ein Digital-Integrierer Operationen stufenweise in Reihe ausführt, und in Parallel-DDA's eingeteilt werden, bei denen alle Digital-Integrierer gleichzeitig arbeiten.
Serien-DDA's sind weniger aufwendig, da ein Rechenwerk einschließlich des Integrierers gemeinsam verwendet werden kann. Das Ergebnis ist genau, weil das zuvo? ermittelte Ergebnis des Integrierers bei den folgenden Operationen verwertet werden kann. Deshalb wurden bisher meistens Serien-DDA's verwendet. Diese arbeiten jedoch langsam, da der Digital-Integrierer die Operationen schritt- oder stufenweise ausführt.
Andererseits arbeiten Parallel-DDA's sehr schnell, da alle Digital-Integrierer gleichzeitig eingesetzt werden. Da jedoch die Eingangssignale (Primär-Inkrement und Sekundär-Inkrement) des Digital-Integrierers immerauf diejenigen von einer oder mehreren vorhergehenden Iterationszeiten beschränkt sind, sind abhängig vom Verzögerungsgrad dieser Eingangssignale verschiedene Kompensationsoperationen erforderlich. Da die Kompensationsoperation kompliziert wird, werden die erforderlichen Rechenwerke ebenfalls kompliziert. Daher kann mit Parallel-DDA's, bei denen ein Rechenwerk für jeden Digital-Integrierer erforderlich ist, nur schwierig ein für die Praxis geeigneter DDA erzielt werden, wenn nicht die Rechenwerke mit weniger Bauteilen aufgebaut und die Operationen schnell ausgeführt werden.
Wie bei einem herkömmlichen Digital-Reehner können die Operationen im DDA in drei Kategorien eingeteilt werden:
Serien-Addition, bei der die Daten Bit-weise addiert werden,
Parallel-Addition, bei der alle Bits gleichzeitig addiert werden, und
eine Kombination hiervon.
Der Serien-DDA, bei dem das gemeinsame Rechenwerk einsetzbar ist, verwendet im allgemeinen die Parallel-Addition, um eine hohe Operations- oder Betriebsgeschwindigkeit zu erzielen, während der Parullel-DDA im allgemeinen die Serien-Addition benutzt, um die Anzahl der Bauteile zu verringern. Da jedoch die Parallel-
■mmatim
Addition in der Betriebsgeschwindigkeit der Serien-Addition überlegen ist, verwenden einige Parallel-DDA's zur Erzielung der hohen Betriebsgeschwindigkeit die Parallel-Addition. Bei der Parallel-Addition ist eine Ausrichtung der Bit-Stellen eines integrierten Ergebnisses und eines Sekundär-Inkrements erforderlich, um hiervon eine Summe zu bilden, und dies bestimmt die Betriebszeit des DDA.
Durch die GB-PS 9 38 204 ist ein DDA-Rechner bekannt geworden, bei dem ein einziger, in Serie arbeitender Integrator im Zeitmultiplexbetrieb verwendet wird zur Durchführung von Integrationsoperationen an Daten, die von einem Speicher mit wahlfreiem Zugriff angeliefert werden. Der Abruf von Daten vom Speicher und das Einschreiben von Resultaten erfolgt durch ein gespeichertes Programm. Im Gegensatz zur vorliegenden Erfindung kann mit diesem DDA-Rechner nur jeweils eine Rechenoperation durchgeführt werden; ein überlappender Betrieb von Rechenwerken ist nicht möglich.
Es ist auch ein in Serie arbeitender DDA-Rechner mit mehreren Integratoren bekannt (Journal BriL I.R.E., Mai 1963, S. 461 -473), bei dem die Inkremente für die Integrationsvariable durch eine mehrstellige binäre Zahl dargestellt werden. Bei diesem »Inkrement-Rechner« werden die zur Verarbeitung bestimmten Daten den Integratoren von Verzögerungsleitungen angeliefert. Im Gegensatz zur vorliegenden Erfindung liegt bei dem »Inkrement-Rechner« jedoch die Betriebsart, insbesondere die zur Errechnung desTertiärinkrements, unverän- IS derbar fest.
In der Technik der Rechenanlagen ist auch das »Pipelining-Konzept« bekannt, d. h. die Anordnung von Zwischenspeichern zwischen einzelnen, hintereinander angeordneten Rechenwerken, um so die Möglichkeit zur gleichzeitigen Verarbeitung von Daten in den Rechenwerken zu schaffen (IEEE Transactions on Computers, August 1972, S. 880-886; »Taschenbuch der Informatik«, Springer-Verlag, Berlin, Heidelberg, New York 1974, S. 170-175; Elektronische Rechenanlagen, 1975, Heft 2,S. 80-83), Dieses bekannte Konzept gikü jedoch keinen Hinweis, wie ein an sich bekannter DDA-R ;:chner gestaltet werden muß, um die Operationszeit zu verkürzen bei gleichzeitiger Erzielung optimaler Genauigkeit des Rechenergebnisses.
Es ist daher Aufgabe der vorliegenden Erfindung, einen DDA-Rechner nach dem Oberbegriff des Patentanspruchs mit hoher Betriebsgeschwindigkeit und optimaler Rechengenauigkeit anzugeben.
Gelöst wird diese Aufgabe durch die im kennzeichnenden Teil des Patentanspruchs angegebenen Merkmale.
Nachfolgend wird die Erfindung anhand der Zeichnung näher eriäutert. Es zeigt
Fig. 1 ein Schaltbild eines Ausführungsbeispiels des erfindungsgemäßen DDA,
Fig. 2 Signale zur Erläuterung des Betriebs der Schaltung der Fig. 1,
Fig. 3 bis 7 bestimmte Ausführungsbeispiele von Teilen der Schaltung der Fig. 1, nämlich in Fig. 3 einen Wähler, in Fi g. 4 einen Entschlüssler, in Fig. 5 einen Primär-Inkrement-Diskriminator, in Fi g. 6 einen Tertiär-Inkrement-Entscheider und in Fig. 7 ein J-K-Flipflop, und
Fig. 8 ein Tabelle zur Erläuterung der Beziehung zwischen der Eingabe/Ausgabe des Entschlüsslers der Fig. 4 und der Betriebsart.
Bevor ein Ausführungsbeispiel der Erfindung näher eriäutert wird, soll zunächst deren Prinzip beschrieben werden.
Die Betriebszeit eines Digital-Integrierers besteht im allgemeinen aus einer Zeit 7>, die zum Berechnen der Gesamtsumme eines Sekundär-Inkrements erforderlich ist, einer Zeit Ts> die zum Ausrichten der Bit-Stellen beim Addieren des Sekundär-Inkrements zu einem Integranden erforderlich ist, und einer Zeit 7), die zum Berechnen des Integrals erforderlich ist, um ein Tertiär-Inkrement (einschließlich einer zum Kompensieren benötigten Zeit) zu erzeugen. Obwohl die Erfindung entweder auf Parallel-Addition oder Serien-Addition anwendbar ist, werden wesentlich mehr Vorteile erzielt und weniger Schaltungsbauelemente benötigt, wenn sie zur Serien-Addition verwendet wird. Daher wird im folgenden der Serien-Additions-DDA näher eriäutert.
Beim Serien-Additions-DDA hat Ts den Wert Null, da die Ausrichtung der Bit-Stellen beim Addieren des Sekundär-Inkrements zum Integranden durch zeitliches Einstellen für dessen Addition ersetzt werden kann. Damit ist die Betriebszeit Γ des Digital-Integrierers im Serien-Additions-DDA gegeben durch:
wobei Tp abhängig ist von der Additions-Art für die Sekundär-Inkremente; wenn diese nacheinander für die Addition durch einen Zweirichtungszähler abgetastet werden, wie dies weiter unten näher eriäutert wird, ist 7> abhängig von der Anzahl der Bits der Sekundär-Inkremente; wenn diese durch einen Addierer addiert werden, ist Tp durch eine Datenübermittlungs-Verzögerungszeit des Addierers bestimmt.
Wenn beim herkömmlichen DDA der Addierer zum Berechnen des Integranden, der Addierer zum Kompensieren und der Addierer zum Quantisieren für die Berechnung des Tertiär-Inkrements direkt in Kaskade geschal· tet sind und alle Operationen zuerst für ein Bit des den Integranden darstellenden Datenwerts und dann die Operationen für das nächste Bit ausgeführt werden, hängt die obige Zeit T1 von der Datenübermittlungs-Verzögerungszeit Td dieser Addierer und der Anzahl Nder Bits des den Integranden darstellenden Datenwerts ab und ist gegeben durch:
60 T1 = NT11. (2)
Wenn andererseits bei der Erfindung Zwischenspeicher, wie z. B. Pufferregister, zum Zwischenspeichern der Operations- oder Betriebsergebnisse der vorhergehenden Addierer zwischen den Addierern vorgesehen sind, kann die Zeit T1 auf die folgende Weise bestimmt werden. Insbesondere ist die Datenübermittlungs-Verzögeruoßszeit T,m zwischen den jeweiligen Registern gegeben durch:
Μ+\
(3)
mit M - Anzahl der PufFerregister zwischen den Addierern.
Weiterhin können bei der Erfindung die Operationen infolge der PufFerregister gleichzeitig in den jeweiligen Rechenwerken durchgeführt werden. Während z. B. der Addierer zum Kompensieren die Kompensation für ein Bit ausführt, kann der Addierer zum Integrieren die Integration für das nächste Bit durchführen.
Wenn demgemäß angenommen wird, daß jeder Addierer die Operation für ein Bit für jede Periode (Takt) entsprechend der Datenübermittlungs-Verzögerungszeit TdB ausführt, sind M Bit-Perioden erforderlich, bevor das im Pufferregister der ersten Stufe gespeicherte Bit im Pufferregister der letzten Stufe gespeichert wird. Damit sind (M + yV)-Bit-Perioden erforderlich, um die Operationen für die W Bits durchzuführen. Deshalb ist die Zeit T1 gegeben durch:
, e (4)
Demgemäß ist die Betriebszeit Γ des Integrierers gegeben durch:
r ll (j)u. (5)
Mit M> 1 folgt aus Gleichung (5):
(6)
Damit ist die Zeit T1 beim herkömmlichen DDA durch die Gleichung (2) und bei der Erfindung durch den zweiten Term der rechten Seite von Gleichung (6) gegeben. Mit N/bfSi 1 wird die Betriebszeit T1 bei der Erfindung um den Faktor /V/ im Vergleich zu herkömmlichen Analysatoren verringert.
Wie oben erläutert wurde, kann die Betriebszeit 7"beträchtlich herabgesetzt werden, wenn die Pufferregister zwischen den Addierern vorgesehen werden. Mit z. B. 7> = 400 ns, N = 16, M = 4 und T11 = 400 ns, beträgt die Zeit Tbei der Erfindung 2,0 i^s, was mehr als 3mal kürzer als bei den herkömmlichen Anordnungen mit 7=6,8 ;iS ist.
Die Fig. 1 zeigt ein Ausführungsbeispiel des erfindungsgemäßen DDA. In Fig. 1 sind vorgesehen ein Wähler 1 zum Wählen von Signalen +DYq, -DYo-, +DYi, +Z)J^, -DY2 entsprechend den Sekundär-Inkrementen dy und von Signalen +DX, -DY entsprechend den Primär-Inkrementen dx in entsprechenden Zeitpunkten, ein Zweirichtungszähler 2 zum Aufwärts- oder Abwärtszählen der Sekundär-Inkremente vom Wähler 1, um die Gesamtsumme der Sekundär-Inkremente zu berechnen, ein Schieberegister 3 zum Addieren der Gesamtsumme der Sekundär-Inkremente des Zählers Z zu einem Integral, Fiipfiops 28 und 29 zum Halten der Primär-Inkremente, UND-Glieder 6,7,8,10,25,33,36,38,42,43, ODER-Glieder 17,21,49 und Inverter 9,35. Weiterhin sind Addierwerke 12,1?·, 27,39 vorgesehen, deren Übertrag-Ausgangssignale in Flipflops 13,18,26,40 gehalten werden, um als Übertrag-Eingangssignale bei der Addition für das nächste Bit verwendet zu werden. Weiterhin sind bei der Erfindung zusätzlich als Speicher Pufferregister 14,15,16,22,23,31 vorgesehen, die beim dargestellten Ausführungsbeispiel Flipflops aufweisen. Fiipfiops 45 und 46 halten das Tertiär-Inkrement dz. Mit zwei Begrenzungslinien dargestellte Blöcke sind D-Flipflops. Weiterhin sind als erster und achter Speicher Schieberegister 11 und 41 vorgesehen. Das Schieberegister U speichert den Integranden und das Schieberegister 41 speichert den Rest des Integrales. Sie werden als K-Register bzw. Ä-Register bezeichnet. Weiterhin sind Register 4 und 34 vorgesehen. Das Register 4 speichert einen numerischen Wert zum Bestimmen der Additionszeiten des Sekundär-Inkremenis dy und das Register34 speichert einen numerischen Wert zum Bestimmen der Betriebsart. Obwohl die Inhalte der Register 4,11 und 34 von außen einstellbar sein können, z. B. von einem Digital-Rechner, wird zur Vereinfachung der Darstellung angenommen, daß vor dem Betrieb in diesen Registern vorbestimmte numerische Werte eingestellt wurden.
Der Inhalt des Registers 4 wird an einen Zahler 5 abgegeben. Wenn der Inhalt den Wert Null erreicht, erzeugt der Zähler 5 einen Übertrag (Borrow), der seinerseits ein Flipflop 48 setzt. Ein Entschlüssler 37 erzeugt ein Signal, um die Betriebsart zu bestimmen; ein Tertiär-Inkrement-Entscheider 44 entscheidet das Vorliegen oder Nichtvorliegen des Tertiär-Inkrements dz', Ausschließüch-ODER-Kreise 24 und 32 berechnen 2's-Komplemente und ein Primär-Inkrement-Diskriminator 30 erfaßt den positiven, negativen oder Null-Wert des Primär-Inkrements dx. Weiterhin sind ein Schalter 20 und ein J-K-Flipflop 47 vorgesehen, das die Polarität des K-Registers 11 (erster Speicher) angibt.
Bevor der Betrieb der Schaltung der Fig. 1 näher erläutert wird, werden die an verschiedenen Punkten in Fig. I liegenden Taktsignale anhand der Fig. 2 beschrieben. Beim folgenden Beispiel wird angenommen, daß die Anzahl der Bits des y-Speichers 11 bzw. des Ä-Speichers 41 zum Speichern des Integranden bzw. des Restes des Integrals 16 beträgt, daß die Anzahl der Eingänge, an denen die Sekundär-Inkremente liegen, den Wert 3 hat, und daß ein Eingang vorliegt, an den das Primär-Inkrement abgegeben wird, obwohl auch andere Anzahlen der Bits der Register und der Eingänge verwendet werden können.
In Fig. 2 stellt 7„(mit η = ganzzahlig) die Zeitpunkte zur Steuerung der Operationen der Register, Fiipfiops und Zähler in Fig. I dar, und DYbezeichnet Wähl-Signaie für die Sekundär-Inkremente entsprechend Taktsignalen CT0 bis CT2, die in Zeitpunkten T0 bis Ti erzeugt werden, wobei die Wähl-Signaie an den Wähler 1 abgegeben werden, um Signale ±DY0 entsprechend dem Sekundär-Inkrement dy0 im Zeitpunkt T0, Signale ±DY\
entsprechend dem Sekundär-Inkrement dy, im Zeitpunkt T, und Signale ±D Y2 entsprechend dem Sekundär-Inkrcmcnt dy2 im Zeitpunkt T2 zu wählen. Der im Zeitpunkt 7;, erzeugte Taktimpuls CT,, löscht die Flipflops 13, 18,26 und 40, und der im Zeitpunkt T2 erzeugte Taktimpuls CT2 liest den Inhalt des Registers 2 zum Zähler 5. Der im Zeitpunkt Tj, erzeugte Taktimpuls CTt, wird an den Wähler 1 abgegeben, um Signale ± DX entsprechend dem Primiir-Inkrement i/xzu wählen. Der Taktimpuls CTt, löschtauch die PufTerregister (Speicher) 14,15,16,22 und 23 und setzt Übertrag-Eingangssignale zu den Flipflops 26 und 40 bei Subtraktion. Ein während der Zeit Ty erzeugter Impuls CYSgibt das gewählte Primär-Inkrementandie Flipflops 28 und 29 als die Signale XA und XB lib UiV lädt die Gesamtsumme der während der Zeiten T0 bis T2 addierten Sekundär-Inkremente in das Schieberegister der Eingabe-Einrichtung 3. Taktimpulse LCPzutn Setzen von Daten in den PufTerregistern 15,18,22,23, 26 und 31 bestehen aus 19 Impulsen, die jeweils in den Zeitpunkten 7j bis T22 erzeugt sind. YCP bezeichnet Schiebeimpulse für das y-Register (erster Speicher) 11 und ebenfalls Taktimpuise für den Zähler 5, um die Addilionszciten der Gesamtsumme ^dy der Sekundär-Inkremente zu bestimmen, und für das Schieberegister der Hingabe-Einrichtung 3 um die Gesamtsumme ldy zu verschieben. Die Impulse KCVsind auch Setz-Impulse für die Pullerrcgister 13,14,16 und 47 und haben 16 in den Zeitpunkten T4 bis 7Vj erzeugte Impulse. ACPbezeichnet Schiebeimpulse fürdas/?-Register41 (achter Speicher) und ebenfalls Setz-Impulse für das Flipflop 40 und hat 16 Impulse, die in den Zeitpunkten T1 bis T22 erzeugt sind. CTi 9 stellt einen während des Zeitpunktes 7Vi erzeugten >|
Impuls dar und dient als J-und «.-Eingangssignal des J-K-Flipfiops47. CTn stellt einen während des Zeitpunktes -1
'Λ ι erzeugten Impuls dar und sperrt ein Eingangssignal vom vierten Addierwerk 39 zum Λ-Register 41, bewirkt ;.J
ein positives Vorzcichcn-Bii des Registers 41 id. h. »O«) und setzt den Ausgang desTertii-r-lnkrcment-Entschei- g
dcrs 44 zu den Flipllops 45 und 46. 2u |j
Obwohl die Abschnitte zum Erzeugen dieser Steuersignale nicht in Fig. 1 dargestellt sind, wird im folgenden $j
der Betrieb der Schaltung der F i g. 1 unter der Annahme erläutert, daß die obigen Steuersignale an den geeigne- t|
ten Punkten in Fig. 1 liegen. Das Ausführungsbeispiel der Fig. 1 ist so ausgelegt, daß es jeden der folgenden ;|
sechs Werte als Kompensationsterm der Integration wählen kann. Wenn insbesondere die Kompensation von f|
Λ 25 *"'
±^r^dy, für den integrierten Wert >·,, ausgeführt wird, kann für K jeder der sechs Werte -2, -1,0, + 1, +2 und +3 pjj
gewählt werden. Weiterhin ist das Ausführungsbeispiel so ausgelegt, daß eine Hillsoperation und ein Vergleich ;$|
zusätzlich zur Integration ausgeführt werden können. Die HilfsOperation ist als eine Operation zum Erzeugen ||
des Tertiär-Inkremcnts, wie in Gleichung (7) gezeigt, abhängig davon, ob der Inhalt des /-Registers 11 positiv, j-
negativ oder Null ist, definiert, und der Vergleich ist als Operation zum Erzeugen des Tertiär-Inkrements, wie in 30 " itj
Gle.»;hung (8) dargestellt, abhängig davon, ob der Inhalt des K-Registers 11 positiv, negativ oder Null ist, defi- Ji
nicrl: ^
(7) if
35 ;.i
(8) 4P
mit
45
y,i = y, ι + ^dy„
y, ι = Operationsergebnis der vorhergehenden Iteration, und
Σ'(ν, = umlaufende Gesamtsumme der Sekundär-Inkremente.
50
In Fig. 1 werden die Sekundär-Inkrement-Signale +DY0 und -DY0 für das erste Bit im Wähler 1 durch das Wähl-Signal (Taktimpuls) CT0 gewählt, und die Signale +DY\ und -DY, für das nächste Bit werden durch das Wähl-Signal CT\ gewählt, und die Signale +Dy2 und ~DY2 für e'n weiteres Bit werden durch CT2 gewählt. Die Primär-Inkrement-Signale +DX und -DX werden durch das Taktsignal CT3 gewählt.
Die F i g. 3 zeigt ein bestimmtes Beispiel des Wählers 1 mit einem ODER-Glied 51, Gliedern oder Gattern 52 bis 54, Invertern55 bis 57, UND-Gliedern 58 bis 63 und Gliedern 64 und 65 zum Erzeugen eines »1«-Signales. Die übrigen Bezugszeichen entsprechen den Bezugszeichen der Fig. 1.
Wenn die Sekundär-Inkrement-Signale +DYund -D^die Werte (»1«, »0«), (»0«, »1«) oder (»0«, »0«) haben, beträgt das Sekundär-Inkrement dy jeweils +1, -1 oderO; mit +DY0 = »1« und -DY0 = »0« sind die Glieder 52 entsprechend den Anschlüssen Gi und Gg durch den Taktimpuls C7"o geöffnet, so daß Signale »1« und »0« an den Anschlüssen G14 und G\$ auftreten, weiche Signale an den Zweirichtungszähler 2 in Fig. 1 als Aufwärts- und Abwärts-Zählsignale UP bzw. DW abgegeben werden. Auf ähnliche Weise sind für das Primär-Inkrement die Glieder 52 entsprechend den Anschlüssen G5 und Gb durch den Taktimpuls CTj geöffnet, so daß das Signal DXS die UND-Glieder 61 und 63 öffnet, damit Signale zu den Anschlüssen (J16 und Gn übertragen werden können. In diesem Zeitpunkt werden die Primär-Inkrement-Signale XA und XB an den Anschlüssen Ci6 und Gn erzeugt, wobei das Primär-Inkrement zu den Flipflops 28 und 29 in Fig. 1 durch den Taktimpuls CTj gesetzt ist. Die Sekundär-Inkremente Oy0, dyx und dy2 werden im Zähler 2 addiert, um die Gesamtsumme der Sekundär-Inkremente zu berechnen. Die Gesamtsumme ^dy der im Zähler 2 berechneten Sekundär-Inkremente wird zur
Eingabe-Einrichtung 3 durch den Impuls DXSgesetzt. Die Eingabe-Einrichtung 3 ist ein Vier-Bit-Schieberegister einschließlich drei Daten-Bit-Stellen und einer Vorzeichen-Bit-Stelle, und ein (nicht dargestelltes) Vorzeichen-Bit wird wiederholt eingespeist, um das Vorzeichen-Bit der Gesamtsumme ~£dy zu halten. Das Schieberegister 3 hat drei Daten-Bit-Stellen, so daß die Summe der Sekundär-Inkremente dazwischen berechnet wird, wenn das Primär-Inkrement dx den Wert Null hat.
Die Gesamtsumme ^dy der im Schieberegister 3 gesetzten Sekundär-Inkremente wird zum Inhalt des V-ReJJisters addiert, um einen integrierten Wert zu berechnen. Eine vorbestimmte Gewichtsbeziehung wurde zuvor zwischen den Sekundär-Inkrementen und dem vorhergehenden Wert eingestellt, so daß dessen Addition entsprechend dieser Beziehung durchgeführt wird. Die Ziffer L wird in das Register 4 der F i g. 1 mit der geringwer-
tigsten Bit-Stelle der Gesamtsumme Y.dy gesetzt, die an die I-te Bit-Stelle von der geringwertigsten Bit-Stelle des y-Registers 11 (erster Speicher) angepaßt ist, und der Inhalt des Registers 4 wird zum Zähler 5 beim Taktimpuls C7"2 gesetzt. Der Zähler 5 wird durch den Taktimpuls CTj abwärtsgezählt, und der folgende Taktimpuls YCP dient zum Verschieben des K-Registers 11, und wenn der Inhalt des Zählers 5 den Wert Null erreicht, erzeugt der Zähler 5 einen Übertrag am Anschluß C4, um das Flipflop 48 zu setzen. Das Ausgangssignal des Flipflops 48
bewirkt, daß sich die Gatter oder Glieder 6 und 7 öffnen, so daß der Taktimpuls YCPan das Schieberegister 3 abgegeben wird, und die Gesamtsumme ^dy wird an den Anschluß G2 des ersten Addierwerks 12 Bit-weise vom geringwertigsten Bit zum höchstwertigen Bit über das Glied 7 abgegeben. Ein Bit im Zeitpunkt T1 des im ersten Addierwerks 12 berechneten integrierten Wertes wird zum K-Register 11 (erster Speicher) gesetzt und gleichzeitig zum zweiten Speicher 16 mit dem gleichen Takt gesetzt, und ein Bit von vrfy wird im Zeitpunkt T1 zum dritten
Speicher 14 gescUt. Demgemäß haiten die Speicher 14 und 16 Daten-Bits mit der gleichen Zeitbeziehung od«r dem gleichen Takt. Das heißt, der aus der Eingabe-Einrichtung 3 gelesene Datenwert wird zum zweiten Speicher 16 über die Datenübermittlungszeiten im Glied 7 und im ersten Addierwerk 12 gesetzt. Nach Integration für das nächste Bit im Zeitpunkt T1+ , wird der Datenwert des im Zeitpunkt Tt gesetzten dritten Speichers 14 in den vierten Speicher 15 gesetzt, und das Daten-Bit im Zeitpunkt 7/+1 wird in den zweiten Speicher 16 gesetzt. Demgemäß
addiert das zweite Addierwerk 19 den doppelten Wert der Sekundär-Inkremente ν dy zum Wert im K-Register U. Die fünften und sechsten Speicher 22 und 23 werden ebenfalls im gleichen Zeitpunkt wie der zweite Speicher 16 gesetzt. Der in den fünften Speicher 22 gesetzte Datenwert ist der Datenwert am Anschluß G1 oder G7 des Schalters 20, wobei dieser Datenwert ein Daten-Bit ist, das einen Takt vor dem Daten-Bit der Sekundär-Inkremente vrfy berechnet ist, die zum integrierten Wert addiert und vom dritten Speicher 14 abgegeben werden, oder ein
Daten-Bit, das im gleichen Zeitpunkt berechnet und vom Schieberegister 3 abgegeben wird. Das Ausgangssignal des fünften Speichers 22 wird zum dritten Adderwerk 27 über den ersten Ausschließlich-ODER-Kreis 24 gespeist, der ein 2-j-Komplement erzeugt, so daß die Addition oder Substraktion mit dem Datenwert des sechsten Speichers 23 im dritten Addierwerk 27 ausgeführt wird. Die Zeitbeziehung der in die Speicher 23 und 22 gesetzten Daten ist so, daß bei Wahl des Anschlusses G, des Schalters 20 in dem Zeitpunkt, wenn das geringwcr-
tigste Bit der Gesamtsumme ^dy der Sekundär-Inkremente im sechsten Speicher 23 eingestellt ist, das geringwertigste Bit in den fünften Speicher22 gesetzt wird, und bei Wahl des Anschlusses G2 wird das nächste geringerwertige Bit im fünften Speicher 22 gesetzt. Damit wird der halbe oder der ganze Wert des Sekundär-Inkrements als Kornpensatiop.sterm zum integrierten Wert addiert oder von diesem subtrahiert. Der Kompensationsterm kann auf die folgende Weise verwendet werden:
Wie in der linken Spalte der F i g. 8 gezeigt ist, wird der im Register 34 gesetzte Datenwert durch Eingangssignale A, S, C und D dargestellt, die die in der mittleren Spalte der F i g. 8 gezeigten Operationsarten bestimmen. Die sich ergebenden Ausgangssignale an den Ausgangsanschlüssen G, bis G7 des Entschlüsslers 37 'ind in der rechten Spalte in Fig. 8 dargestellt.
Die F i g. 4 zeigt ein Beispiel des Entschlüsslers 37 mit einem Decodierer 66, ODER-Gliedern 67 bis 70 und Invertern 71 bis 73.
Im folgenden wird ein Beispiel mit A = B = D = »0« und C - »1« erläutert, d. h., die Anschlüsse G8, G, und O11 haben den Wert »0«, und der Anschluß G10 hat den Wert »1«. In diesem Fall haben lediglich die Signale an den Ausgangsanschlüssen G, und G5 des Entschlüsslers 37 den Wert »1«. Demgemäß werden Signale zum Löschanschluß des vierten Speichers 15 über das ODER-Glied 17 und zum Anschluß G5 des Schalters 20 gespeist, so daß
der Anschluß G2 des zweiten Addierwerks 19 den Wert »0« annimmt, und das Signal am Anschluß G2 des Schalters 20 wird an den Daten-Eingangsanschluß des fünften Speichers 22 abgegeben. Da das Signal am Eingangsanschluß G2 des ersten Ausschließlich-ODER-Kreises 24 den Wert »0« in diesem Zeitpunkt hat, wird das Ausgangssignal des fünften Speichers 22 an den Anschluß G2 des dritten Addierwerks 27 unverändert abgegeben, so daß der Kompensationsterm von — ^dyt zum integrierten Wert addiert wird. Das Ausgangssignal des fünften Addierwerks 27 wird in den siebten Speicher 31 gesetzt und im folgenden Takt an den Eingangsanschluß G2 des vierten Addierwerks 39 über den zweiten Ausschließlich-ODER-Kreis 32 für eine Quantisierung mit den Inhalten des Ä-Registers 41 (achter Speicher) abgegeben.
Die durch die bestimmte Kombination der Eingangssignale A, B, C und D (vgl. F i g. 8) festgelegte Kompensation wird in den Addierwerken 19 und 27 in Fig. 1 ausgeführt, was zur Kompensation zum Addieren von
Σ* ο + Σ*+ Σ*'oder + γ
zum integrierten Wert führt.
Andererseits werden die in den Flipflops 28 und 29 gesetzten Primär-Inkremente zum Primar-Inkrement-hntscheider 30 gespeist, der verschiedene Signale erzeugt.
Die Fig. 5 zeigt ein Beispiel einer bestimmten Schaltung des Primär-lnkrement-EntscheidersSO mit UND-Gliedern 74 bis 76 und ODER-Gliedern 77 und 78. Die Ausgangssignale QA und Q4 des Flipflops 28 werden an die Eingangsanschlüsse G\ und G2 abgegeben; die Ausgangssignale Qg und QB des Flipflops 29 werden an die Eingangsanschlüsse G3 und G4 abgegeben; das Integral im PufTerregister 16 wird an den Eingangsanschluß G5 abgegeben. Wenn das Primär-Inkrement den Wert Null hat, erzeugt der Ausgangsanschluß G9 ein »1«-Ausgangssignal; wenn das Primär-Inkrement negativ ist, erzeugt der Ausgangsanschluß Gg ein »1«-Ausgangssignal. Wenn das Primär-Inkrement positiv oder negativ ist, tritt ein »1 «-Ausgangssignal am Ausgangsanschluß G6 oder G7 auf.
Wenn das Ausgangssignal am Ausgangsanschluß G.; auftritt, d. h. wenn das Primär-Inkrement den Wert Null hat, wird der siebte Speicher 31 gelöscht, so daß das Quantisieren und Integrieren nicht ausgeführt werden, und die Einspeisung des Taktimpulses wird durch den Inverter 9 und die UND-Glieder 10 und 43 verhindert, während das Aufnehmen der Sekundär-Inkremente zum Speichern der Gesamtsumme der Sekundär-Inkremente erlaubt ist. Wenn der Ausgangsanschluß G<> den Wert Null hat, wird der Zähler 2 durch das UND-Glied 8 mit dem Taktimpuls CTn gelöscht. Wenn das Ausgangssignal am Ausgangsanschluß G8 auftritt, wird der integrierte Wert des siebten Speichers 31 durch den zweiten Ausschiießlich-ODER-Kreis 32 komplementiert, und das Flipflop 40 wird nach »1« gesetzt, damit die Subtraktion im vierten Addierwerk 39 ausgeführt wird. Auf diese Weise werden die Operationen Bit-weise vom geringwertigsten Bit ausgeführt, und wenn das höchstwertige Bit (Vurzeichen-Bit) des Λ-Registers 41 (achter Speicher), das Tertiär-Inkrement erzeugt wird, wird das UND-Glied 42 durch den Taktimpuls CTj2 geschlossen, um das hücrisiwei tigc Bit (Vorzeichen-ßit) des /?-Rcgistcrs4i auf den Wert Null /u bringen. Das heißt, wenn der Rest des Integrals im Ä-Register41 negativ ist, wird das Tertiär-Inkrement -dz erzeugt, wie weiter unten näher erläutert ist, und der Inhalt dts Ä-Registers 41 wird auf einen positiven Wert geändert.
Das Vorliegen und Nichtvorliegen des Tertiär-Inkrements wird durch den Tertiär-Inkrement-Entscheider44 aufgrund der folgenden Gleichungen bestimmt:
Wenn R,., + ( Y1 ± yV jy\ cix. < ο : -dz .
Wenn R,- , + ίκ, + yV dy\ dx, > 0 : 0 .
Wenn RM + ( Y1± -y VJ dyA dx, ein Positiv-Überlauf ist: +dz .
Die F i g. 6 zeigt ein Beispiel einer bestimmten Schaltung des Tertiär-Inkrement-Entscheiders 44 mit Invertern 71 bis 81, ODER-Gliedern 82 bis 84 und UND-Gliedern 85 bis 88.
Wenn z. B. das Vorzeichen des Integrals, das das Ausgangssigr.a! des zweiten Ausschließlich-ODER-Kreises 32 ist, positiv und das Vorzeichen des Restes des Integrals im Ä-Register41 (achter Speicher) ebenfalls positiv ist, und wenn das Vorzeichen von dessen Summe negativ ist, wird das Tertiär-Inkremeit +dz vom Ausgangsanschluß Gin als Überlauf erzeugt. Wenn das Vorzeichen des Integrals negativ und das Vorzeichen der Summe ebenfalls negativ ist, wird das Tertiär-Inkrement -dz am Ausgangsanschluß Gu erzeugt.
Zusätzlich zur oben erläuterten Integration können die Hilfs-Operation und der Vergleich durchgeführt werden, indem die Inhalte des ersten Speichers 11 auf die oben beschriebene Weise bestimmt werden.
Im folgenden werden die Operationen näher erläutert.
Ein in Fig. 7 dargestelltes J-K-Flipflop 47 hat einen Anschluß G1, an den der Wert Yd im ersten Speicher 11 abgegeben wird, und einen Anschluß G2, in den der Taktimpuls YCP eingespeist wird. V/enn das Signal am Anschluß G1 den Wert »1« (d. h., wenn der Wert von Null verschieden ist) in irgendeinem Zeitpunkt während der Takte 7"4 bis T^ annimmt, wird Q = »1« gehalten. Wenn das Signal am Anschluß G, den Wert »0« beim nächsten Taktimpuls CT19 hat, wird Q = »1« beibehalten, aber wenn das Signal am Anschluß Gi den Wert »1« hat (d. h., wenn der Wert negativ ist), wird Q = »0« (Q = »1«) erzeugt. Wenn demgemäß der Ausgangsanschluß G4 den Wert»1« annimmt, so zeigt dies, daß der Wert negativ oder Null ist, und wenn der Ausgangsanschluß G4 den Wert »0« annimmt, so zeigt dies, daß der Wert positiv ist. Da andererseits das Pufferregister 16 das höchstwertige Bit (Vorzeichen-Bit» des ersten Speichers 11 während und nach dem Takt Ti9 hält, verhindern die Ergebnisse der Glieder35 und 36, daß die Signale X1 und X2 in Fi g. 6 (d. h. das Tertiär-Inkrement) auftreten, da das Integral den Wert Null hat, wenn das Ausgangssignal des Gliedes 36 den Wert »0« hat. Beim Vergleichen wird durch das Ausgangssignal Si des Entschlüsslers 37 und das Ausgangssignal des zweiten Speichers 16 verhindert, daß die Signale X, und X1 auftreten. Demgemäß tritt entweder +dxoder -dxam Ausgang des Entscheiders 44 nur dann auf, wenn der Inhalt des ersten Speichers 11 beim Vergleichen positiv ist, und wenn der Inhalt des ersten Speichers 11 bei der Hilfs-Operation nicht den Wert Null hat. Das Ausgangssignal des Entscheiders 44 wird in die Flipflops 45 und 46 beim Taktimpuls CT22 gesetzt, um die Tertiär-Inkrement-Signale +DZund -£>Zzu erzeugen.
Wie aus den obigen Ausführungsbeispielen der Erfindung folgt, können durch die Speicher 14,15,16,20,23 und 31 zum Speichern der Eingangssignale und Summen verschiedene Daten-Bits gleichzeitig in den Addierwerken verarbeitet werden, was zu einer hohen Betriebsgeschwindigkeit führt.
Weiterhin können die in die Speicher in verschiedenen Zeitpunkten gesetzten Daten gespeichert und verschiedene Kompensationen ausgeführt werden, was zu sehr genauen Ergebnissen führt. Bei der herkömmlichen
Kompensation kann lediglich die Kompensation von ±— Xrfy ausgeführt werden.
Die oben beschriebenen Ausfuhrungsbeispiele beziehen sich auf Serien-Additions-DD A's; selbstverständlich kann die Erfindung jedoch auch auf Parallel-Additions-DDA's oder eine Kombination von Serien- und Parallel-DD A's angewendet werden. In diesem Fall ist jedoch eirj Pufferregister fürjedes Daten-Bit erforderlich. Daher werden weniger Bauelemente benötigt, wenn die Erfindung für einen Serien-Additions-DD A eingesetzt 5 wird.
Hierzu 5 Blatt Zeichnungen

Claims (1)

  1. Patentanspruch:
    DDA-Rechner (Digital-Differential-Analysator) bestehend aus Eingabeeinrichtungen zur Eingabe von wenigstens einem Primär-Inkxement
    und wenigstens einem Sekundär-Inkrement und einer Recheneinrichtung zur Bildung eines Tertiär-Inkrements auf der Grundlage der Eingabe der Primär- und Sekundärinkremente,
    dadurch gekennzeichnet, daß die Recheneinrichtung besteht aus
    einem ersten Addierwerk (12) zur Durchführung einer Integrations-Operation durch Addition des Sekuiulär-Inkrements, das von der Eingabe-Einrichtung (3) geliefert wird, zum Inhalt eines ersten Speichers (Jl), in dem der Wert des Integranden gespeichert ist,
    einem zweiten Speicher (16) zur zwischenzeitlichen Speicherung des Resultates, das vom ersten Addierwerk (12) ausgegeben wird,
    einem dritten Speicher (14) zur zwischenzeitlichen Speicherung des Sekundär-Inkrements, das von der Eingabe-Einrichtung (3) geliefert wird,
    einem vierten Speicher (15) zur zwischenzeitlichen Speicherung des Inhalts, der vom dritten Speicher (14) angeliefert wird,
    einem fünften Speicher (22) zur zwischenzeitlichen Speicherung entweder des Sekundär-Inkrements, das von der Eingabe-Einrichtung (3) geliefert wird oder des Inhalts des dritten Speichers (14), der dieses Sekundär-Inkrement zwischenspeichert, wobei die Auswahl zwischen den beiden Werten (von 3 bzw. 14) durch einen Schalter (20) erfolgt,
    einem zweiten Addierwerk (19) zur Addition des Inhalts des im vierten Speicher (15) gespeicherten Wertes zu dem im zweiten Speicher (16) gespeicherten Wert,
    einem sechsten Speicher (23) zur zwischenzeitlichen Speicherung der im zweiten Addierwerk (19) gebildeten Summe,
    einem dritten Addierwerk (27) zur Addition oder Subtraktion des Inhalts des fünften Speichers (22) zum oder vom Inhalt des sechsten Speichers (23), wobei der Inhalt des fünften Speichers (22) über einen ersten Ausschließlich-Oder-Kreis (24) geleitet wird,
    einem siebten Speicher (31) zur zwischenzeitlichen Speicherung des Ergebnisses, das vom dritten Addierwerk (27) ausgegeben wird,
    einem vierten Addierwerk (39), dem der im siebten Speicher (31) gespeicherte Wert und das Primär-Inkrement über einen zweiten Ausschließlich-Oder-Kreis (32) zugeführt werden und zusätzlich der in einem achten Speicher (41) befindliche Restwert der Integrations-Operation zur Bildung des Tertiär-Inkrements, und
    aus einer Steuereinrichtung, bestehend aus einem Register (34) und einem Entschlüssler (37), zur Ansteuerung der dritten, vierten und "ünften Speicher (14,15,22), des Schalters (20) und des ersten Ausschließlich-Oder-Kreises (24) zur parallelen und voneinander unabhängigen Steuerung der Operationen in den ersten, zweiten und dritten Addierwerken.
DE2712582A 1976-03-24 1977-03-22 DDA-Rechner (Digital-Differential-Analysator) Expired DE2712582C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP51031338A JPS5842890B2 (ja) 1976-03-24 1976-03-24 デイジタル微分解析機

Publications (2)

Publication Number Publication Date
DE2712582A1 DE2712582A1 (de) 1977-10-06
DE2712582C2 true DE2712582C2 (de) 1986-07-24

Family

ID=12328451

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2712582A Expired DE2712582C2 (de) 1976-03-24 1977-03-22 DDA-Rechner (Digital-Differential-Analysator)

Country Status (3)

Country Link
US (1) US4106100A (de)
JP (1) JPS5842890B2 (de)
DE (1) DE2712582C2 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5556252A (en) * 1978-10-20 1980-04-24 Hitachi Ltd Digital differential analyzer
JPS57120157A (en) * 1981-01-16 1982-07-27 Hitachi Ltd Method and device for generation of waste time
JPS58106638A (ja) * 1981-12-18 1983-06-25 Hitachi Ltd デイジタル微分解析機の演算方式
JPS61123884A (ja) * 1984-11-20 1986-06-11 松下電器産業株式会社 電子楽器の鍵盤スイツチ
JP2576619B2 (ja) * 1989-01-13 1997-01-29 ヤマハ株式会社 楽音発生装置
US6531152B1 (en) 1998-09-30 2003-03-11 Dexcel Pharma Technologies Ltd. Immediate release gastrointestinal drug delivery system
US7002315B2 (en) * 2002-05-28 2006-02-21 Toshiba Kikai Kabushiki Kaisha Servo control device

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB938204A (en) * 1961-05-31 1963-10-02 Gen Electric Co Ltd Improvements in or relating to electrical digital differential analysers
US3506812A (en) * 1964-02-03 1970-04-14 Bunker Ramo Circular interpolation system
US3419711A (en) * 1964-10-07 1968-12-31 Litton Systems Inc Combinational computer system
US3598974A (en) * 1967-09-15 1971-08-10 Sperry Rand Corp Programmable digital differential analyzer integrator
US3586837A (en) * 1968-04-30 1971-06-22 Teledync Ind Inc Electrically alterable digital differential analyzer
US3701890A (en) * 1970-12-08 1972-10-31 Allen Bradley Co Digital differential analyzer employing multiple overflow bits

Also Published As

Publication number Publication date
JPS5842890B2 (ja) 1983-09-22
DE2712582A1 (de) 1977-10-06
US4106100A (en) 1978-08-08
JPS52115135A (en) 1977-09-27

Similar Documents

Publication Publication Date Title
DE3144015C2 (de)
DE1956209C3 (de) Multipliziervorrichtung
DE2246968A1 (de) Einrichtung zur kombination, insbesondere multiplikation, zweier gleitkommazahlen
DE2712224A1 (de) Datenverarbeitungsanlage
DE1162111B (de) Gleitkomma-Recheneinrichtung
DE1549584A1 (de) Datenverarbeiter zum Erhalt komplexer Fourierreihe-Koeffizienten
DE1549508C3 (de) Anordnung zur Übertragsberechnung mit kurzer Signallaufzeit
DE2712582C2 (de) DDA-Rechner (Digital-Differential-Analysator)
EP0453641A2 (de) CORDIC-Prozessor für Vektordrehungen in Carry-Save-Architektur
DE2612750A1 (de) Multipliziereinrichtung
DE3303269C2 (de)
DE3440680C2 (de)
DE3434777C2 (de)
DE2732008B2 (de) Einrichtung zur Reduzierung von Fibonacci-p-Codes auf die Minimalform
DE2746355A1 (de) Einrichtung und verfahren zur wahlweisen multiplikation oder division zweier als binaerzahlen vorliegender operanden
DE3340362C2 (de)
DE2523755C3 (de) Divisionsvorrichtung unter Verwendung einer Näherungsgleichung
DE2313246A1 (de) Spezialrechner
DE3132611C2 (de)
DE1774674A1 (de) Digitale Rechenanlage fuer Regelsysteme
DE3609056C2 (de)
DE2902766A1 (de) Zwei-term-vektor-multiplizierschaltung
DE1234055B (de) Anordnung zur Addition oder Subtraktion
DE1524197B1 (de) Aritmetisch-logische einheit
DE2426648B2 (de) Schaltungsanordnung zur erzeugung von interpolationsimpulsen

Legal Events

Date Code Title Description
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee