DE3030147A1 - Fast approximate formation of function X power 2Y - is for floating point binary numbers and uses only shift register shift operations - Google Patents

Fast approximate formation of function X power 2Y - is for floating point binary numbers and uses only shift register shift operations

Info

Publication number
DE3030147A1
DE3030147A1 DE19803030147 DE3030147A DE3030147A1 DE 3030147 A1 DE3030147 A1 DE 3030147A1 DE 19803030147 DE19803030147 DE 19803030147 DE 3030147 A DE3030147 A DE 3030147A DE 3030147 A1 DE3030147 A1 DE 3030147A1
Authority
DE
Germany
Prior art keywords
register
memory
mantissa
floating point
leading
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.)
Granted
Application number
DE19803030147
Other languages
German (de)
Other versions
DE3030147C2 (en
Inventor
Georg Dipl.-Ing. 8520 Frauenaurach Heinle
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE19803030147 priority Critical patent/DE3030147A1/en
Publication of DE3030147A1 publication Critical patent/DE3030147A1/en
Application granted granted Critical
Publication of DE3030147C2 publication Critical patent/DE3030147C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/552Powers or roots, e.g. Pythagorean sums
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/552Powers or roots, e.g. Pythagorean sums
    • G06F7/5525Roots or inverse roots of single operands
    • 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/552Indexing scheme relating to groups G06F7/552 - G06F7/5525
    • G06F2207/5523Calculates a power, e.g. the square, of a number or a function, e.g. polynomials

Landscapes

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

Abstract

The number is held in two adjacent memory sections with position values decreasing from left to right. The first section contains the two's complement exponent and the second the mantissa. Y is a whole positive or negative number. For positive and negative y respectively, the register contents are shifted y places left and right respectively apart from the leading mantissa location, the storage location of the leading mantissa position not being added in. The mantissa binary point retains its position, 'o' is inserted into each now vacant location to the right, and the exponent sign bit into each vacancy to the left.

Description

Verfahren zur näherungsweisen Bildung der Funktion x2 einer normalisierten, binären Cleitkommazahl X und Schaltungsanordnungen zur Durchführung des Verfahrens Die Erfindung betrifft fin Verfahren zur näherungsweisen Bildung der Funktion X einer normalisierten, binären Gleitkommazahl X, die in einem Register mit zwei unmittelbar aneinander anschließenden Registerabschnitten und insgesamt N Speicherplätzen abgespeichert ist, wobei der Stellenwert Jedes Speicherinhalts im Register von links nach rechts abnimmt, wobei der in Zweier-Komplement-Darstellung vorliegende Exponent der Cleitkommazahl im ersten Registerabschnitt und die Mantisse der Gleitkommazahl im rechts anschließenden zweiten Registerabschnitt steht und wobei y eine ganze, positive oder negative Zahl ist.Method for the approximate formation of the function x2 of a normalized, binary floating point number X and circuit arrangements for carrying out the method The invention relates to a method for the approximate formation of the function X a normalized, binary floating point number X, which is in a register with two immediately adjoining register sections and a total of N memory locations are stored is, where the value of each memory content in the register is from left to right decreases, with the exponent of the Cleitpunkt number in two's complement representation in the first register section and the mantissa of the floating point number in the following on the right second register section and where y is an integer, positive or negative number is.

Insbesondere bei numerischen Steuerungsanlagen stellt sich häufig die Aufgabe, die eingangs genannte Funktion x2, beispielsweise das Quadrat der Zahl X oder die Wurzel der Zahl X zu bilden. Diese Funktion wurde bisher meist mit Hilfe von iterativen Verfahren, die die erforderlichen Operationen auf die Grundfunktionen Addition und Subtraktion zurUckfUhren, ausgeführt. Derartige Verfahren nehmen Jedoch eine erhebliche Rechenzeit in Anspruch, die der in der Prozeßsteuertechnik meistens gestellten Forderung nach einer schnellen Reaktionszeit entgegensteht. Die Bildung der genannten Funktion kann auch Uber Listen erfolgen, die in einem Speicher abgelegt sind. Die Listenlänge ist dabei vom Wertebereich und von der geforderten Genauigkeit abhängig. Mit diesem Verfahren ist ein sehr hoher Speicherplatzbedarf verbunden. Mit einer Vergrößerung des Speichers steigt außerdem die Zugriffszeit, so daß wieder-Sid 2 Bih / 07. 1980 um die Rechenzeit verlängert wird.In particular with numerical control systems it often arises the task, the aforementioned function x2, for example the square of the number X or the root of the number X to form. This function has so far mostly been using of iterative processes that perform the required operations on the basic functions Return addition and subtraction performed. Such procedures take however a considerable amount of computing time, which is usually the case in process control technology This is opposed to the demand for a quick response time. The education The function mentioned can also be carried out using lists that are stored in a memory are. The list length depends on the range of values and the required accuracy addicted. This method requires a very large amount of storage space. As the memory increases, so does the access time, so that Sid 2 Bih / 07. 1980 is extended by the computing time.

In der Prozeßsteuertechnik kommt es in vielen Fällen nicht auf eine hohe Genauigkeit der ermittelten Funktion an, ausschlaggebend ist vielmehr die geringe Rechenzeit.In process control engineering, in many cases there is no such thing as one high accuracy of the determined function, the decisive factor is rather the low Computing time.

Aufgabe der Erfindung ist es daher, eiq Verfahren zur näherungsweisen Bildung der Funktion X und Schaltungsanordnungen zur Durchführung des Verfahrens anzugeben, die lediglich einfache Schiebeoperationen in einem Schieberegister erfordern.The object of the invention is therefore to provide a method for approximate Formation of function X and circuit arrangements for carrying out the method which only require simple shift operations in a shift register.

Diese Aufgabe wird erfindungsgemäß dadurch gelöst, daß bei positivem Vorzeichen von y alle Speicherinhalte mit Ausnahme des Speicherinhalts der fUhrenden Mantissenstelle um y Speicherplätze nach links und bei negativem Vorzeichen von y alle Speicherinhalte mit Ausnahme des Speicherinhalts der führenden Mantissenstelle um y Speicherplätze nach rechts verschoben werden, wobei bei der Verschiebung Jeweils der Speicherplatz der führenden Mantissenstelle nicht mitgezählt wird, daß der Binärpunkt der Mantisse seine Lage beibehält und daß in Jeden links freiwerdenden Speicherplatz das Vorzeichenbit des Exponenten der Gleitkommazahl und in jeden rechts freiwerdenden Speicherplatz eine nOn nachgezogen wird.According to the invention, this object is achieved in that with positive Sign of y all memory contents with the exception of the memory contents of the leading one Mantissa position by y memory locations to the left and with a negative sign of y all memory contents with the exception of the memory contents of the leading mantissa position be shifted to the right by y memory locations, with each shifting the storage space of the leading mantissa position is not counted that the binary point the mantissa retains its position and that memory space freed up in each left the sign bit of the exponent of the floating point number and in each one that becomes free to the right Storage space a nOn is followed.

Mit diesem Verfahren ist es also öglich, ohne aufwendige Rechenoperationen die Funktion X einer normalisierten, binären Gleitkommazahl X näherungsweise zu bilden. Die bisher nur mit großem Aufwand durchzuführenden Rechenoperationen können damit rein hardwaremäßig gelöst werden, wobei abgesehen vom Register kein weiterer Speicherplatz erforderlich ist. Dementsprechend ist die für die Rechenoperationen nach dem beschriebenen Verfahren benötigte Zeit auch sehr kurz, so daß die insbesondere in der Prozeßsteuertechnik geforderten hohen Geschwindigkeiten ohne weiteres realisiert werden können.With this method it is possible without complex arithmetic operations the function X approximates a normalized, binary floating point number X. form. The arithmetic operations that previously had to be carried out only with great effort can thus be solved purely in terms of hardware, with no further apart from the register Disk space is required. Correspondingly is the one for the arithmetic operations after the method described, the time required is also very short, so that the particular in the process control technology required high speeds easily realized can be.

Eine Schaltungsanordnung zur Durchführung des Verfahrens kann vorteilhafterweise zwei Register mit jeweils N Speicherplätzen aufweisen, die in Richtung geringerer Wertigkeit durchnumeriert sind, wobei jeweils der die führende Mantissenstelle beinhaltende Speicherplatz nicht mitnumeriert ist und wobei im ersten Register die Gleitkommazahl § abgespeichert ist und im zweiten Register die Funktion X gebildet wird und wobei die Ausgänge des ersten Registers mit den Eingängen des zweiten Registers derart verbunden sind, daß jeweils der Speicherplatz mit der Nummer n des ersten Registers mit Ausnahme des die führende Mantissenstelle beinhaltenden Speicherplatzes mit dem Speicherplatz mit der Nummer (n - y) des zweiten Registers verbunden ist, daß an den freien rechten Eingängen des zweiten Registers eine feste "0" ansteht, und daß alle freien linken Eingänge des zweiten Registers mit dem das Vorzeichenbit führenden Speicherplatz des ersten Registers verbunden sind. Mit dieser Schaltungsanordnung kann das eingangs genannte Verfahren mit wenigen handelsUblichen Bauteilen sowie einer festverdrahteten Schaltung durchgefUhrt werden.A circuit arrangement for carrying out the method can advantageously have two registers each with N storage locations, which in the direction of lesser Significance are numbered consecutively, with the one containing the leading mantissa position Storage location is not numbered and the floating point number is in the first register § is stored and the function X is formed in the second register and where the outputs of the first register with the inputs of the second register in such a way are connected that in each case the memory location with the number n of the first register with the exception of the memory space containing the leading mantissa position the memory location with the number (n - y) of the second register is connected that a fixed "0" is present at the free right inputs of the second register, and that all free left inputs of the second register with the sign bit leading memory location of the first register are connected. With this circuit arrangement can use the aforementioned method with a few commercially available components as well a hardwired circuit.

Das erfindungsgemäße Verfahren kann auch durch eine Datenbus mit N Bits, der die Gleitkommazahl X Uberträgt und ein Register mit N Speicherplätzen, in dem die Funktion X gebildet wird, durchgeführt werden, wobei die Speicherplätze und die Bits in Richtung geringerer Wertigkeit durchnumeriert sind, wobei Jeweils der die führende Mantissenstelle beinhaltende Speicherplatz bzw. das entsprechende Bit nicht mitnumeriert ist und wobei eine Verbindung der einzelnen Bits des Datenbusses mit den Eingängen des Registers bei Ubernahmebefehl derart vorliegt, daß Jedes Bit mit der Nummer n des Datenbusses mit Ausnahme des die führende Mantissenstelle beinhaltenden Bits mit dem Speicherplatz mit der Nummer (n - y) des Registers verbunden ist, daß am Speicherplatz der führenden Mantissenstelle eine feste n ansteht, daß an den freien rechten Eingängen des Registers eine feste "0" ansteht und mit den freien linken Eingängen des Registers das Vorzeichenbit des Datenbusses verbunden ist. Damit ergibt sich eine Möglichkeit, das erfindungsgemäße Verfahren mit einem Datenbus durch zu führen und somit eine einfache Kopplung mit einem Rechner zu ermöglichen.The method according to the invention can also be carried out by a data bus with N Bits that transfer the floating point number X and a register with N memory locations, in which the function X is formed, the memory locations and the bits are numbered consecutively in the direction of lower significance, where each the storage space containing the leading mantissa position or the corresponding one Bit is not numbered and a connection of the individual bits of the data bus with the inputs of the register with the takeover command is present in such a way that every bit with the number n of the data bus with the exception of the leading mantissa position containing bits are connected to the memory location with the number (n - y) of the register is that a fixed n is pending at the memory location of the leading mantissa position, that a fixed "0" is present at the free right inputs of the register and with the free left inputs of the register the sign bit of the data bus is. This results in a possibility of the inventive method with a To carry out data bus and thus to enable simple coupling with a computer.

Das erfindungsgemäße Verfahren sowie Schaltungsanordnungen zur Durchführung des Verfahrens werden im folgenden beispielhaft anhand der Figuren 1 bis 5 näher erläutert.The method according to the invention and circuit arrangements for implementation of the method are explained in more detail below with the aid of FIGS. 1 to 5 by way of example explained.

Ausgangspunkt des Verfahrens ist eine normalisierte Gleitkommazahl. Bei einer normalisierten Gleitkommazahl liegt der Betrag der Mantisse M zwischen 1 und 2. Es gilt also: 1 <- tMI <- 2 Damit ist das höchstwertige Bit der Mantisse M immer 1 und der Dualpunkt steht unmittelbar rechts von dieser 1. Falls auch Zahlen kleiner als 1 dargestellt werden sollen, kann der Exponent E negativ werden. In diesen Fällen wird der Exponent im Zweier-Komplement dargestellt.The starting point of the procedure is a normalized floating point number. In the case of a normalized floating point number, the amount of the mantissa M lies between 1 and 2. The following applies: 1 <- tMI <- 2 This is the most significant bit of the mantissa M always 1 and the dual point is immediately to the right of this 1. If also numbers If you want to represent less than 1, the exponent E can be negative. In In these cases the exponent is represented in two's complement.

Anhand der Figur 1 wird zunächst ein Beispiel für die Wurzelbildung einer Zahl X - 0101.1010 graphisch dargestellt. Die Wurzelbildung entspricht dem Exponenten y y = - 1 in der Funktion x2. Die genannte Zahl X ist in einem Register abgespeichert, wobei das führende Bit das Vorzeichenbit des Expoenten E der Gleitkommazahl X ist. Zur Wurzelbildung werden alle Speicherinhalte mit Ausnahme der beiden Speicherinhalte vor dem Dualpunkt um eine Stelle nah rechts geschoben, d.h. der Stellenwert wird jeweils um 1 verringert. Die feste 1 vor dem Dualpunkt behält ihre Lage, während der Speicherinhalt links von dieser festen 1 um zwei Stellen nach rechts verschoben wird, d.h. also nach der Operation unmittelbar rechts neben dem Dualpunkt liegt. Der freiwerdende, höchstwerige Speicher des Registers wird mit dem Vorzeichenbit des Exponenten E aufgefüllt, während der Speicherinhalt mit der geringsten Wertigkeit der Zahl X wegfällt.Using FIG. 1, an example of root formation will first be given a number X - 0101.1010. The root formation corresponds to that Exponents y y = - 1 in the function x2. The mentioned number X is in a register The leading bit is the sign bit of the exponent E of the floating point number X is. All memory contents with the exception of the two memory contents are used to form the root before the dual point around moved one place close to the right, i.e. the The value is reduced by 1 each time. The fixed 1 in front of the dual point keeps its Location, while the memory contents to the left of this fixed 1 by two places is shifted to the right, i.e. immediately to the right of the after the operation Dual point. The highest value memory of the register that is released is marked with the sign bit of the exponent E, while the memory content is filled with the lowest valence of the number X is omitted.

Das Verfahren zur Wurzelbildung kann auch so beschrieben werden, daß alle Speicherinhalte mit Ausnahme des Speicherinhalts der führenden Mantissenstelle um einen Speicherplatz nach rechts verschoben werden, wobei bei der Verschiebung jeweils der Speicherplatz der führenden Mantissenstelle nicht mitgezählt wird. Die führende Mantissenstelle wird also bei der Verschiebung übersprungen. Der Binärpunkt der Mantisse behält seine Lage bei und in jeden freiwerdenden Speicherplatz wird das Vorzeichenbit nachgezogen.The process of root formation can also be described in such a way that all memory contents with the exception of the memory contents of the leading mantissa position be shifted one space to the right, with the shifting the storage space of the leading mantissa position is not included in the count. the The leading mantissa position is therefore skipped during the shift. The binary point the mantissa retains its position and becomes in any space that is freed up the sign bit pulled up.

Zur Bestimmung des im Beispiel auftretenden relativen Fehlers kann man X und W ins Dezimalsystem umrechnen und so dem berechneten Näherungswert mit dem korrekten Wert vergleichen. Eine Umrechnung von X ins Dezimalsystem ergibt: X = 0101.1010 =22 x 1,625 s 6,5 Die nach dem beschriebenen Verfahren näherungsweise berechnete 4 beträgt im Dezimalsystem: XX 0011.0101 21 x 1,3125 = 2.625 Die exakte Wurzel von X wäre: Der relative Fehler beträgt also: 2,549 - 2,625 2, 549 In Figur 2 ist die näherungsweise Bildung des Quadrats derselben Zahl X dargestellt. Dabei werden alle Speicherinhalte mit Ausnahme der beiden unmittelbar rechts vom Dualpunkt liegenden Speicherinhalte um eine Stelle nach links verschoben, d.h. die Wertigkeit wird um 1 erhöht.To determine the relative error occurring in the example, you can convert X and W into the decimal system and thus compare the calculated approximate value with the correct value. A conversion from X to the decimal system results in: X = 0101.1010 = 22 x 1.625 s 6.5 The approximate 4 calculated using the method described is in the decimal system: XX 0011.0101 21 x 1.3125 = 2.625 The exact square root of X would be: The relative error is therefore: 2.549 - 2.625 2, 549 In Figure 2, the approximate formation of the square of the same number X is shown. With the exception of the two memory contents immediately to the right of the dual point, all memory contents are shifted one place to the left, ie the value is increased by 1.

Die führende 1 der Mantisse behält ihre Lage bei, während der Speicherinhalt unmittelbar rechts vom Dualpunkt um zwei Stellen nach links verschoben wird. Der Speicherinhalt mit der höchsten Wertigkeit der Zahl X fällt bei der Verschiebung weg und der Speicherplatz mit der niedrigsten Wertigkeit, der bei der Verschiebung frei wird, wird mit einer Null aufgefüllt. Dieser Vorgang läßt sich auch so beschreiben, daß alle Speicherinhalte mit Ausnahme des Speicherinhalts der führenden Mantissenstelle um eine Stelle nach links geschoben werden, wobei bei der Verschiebung der Speicherplatz der führenden Mantissenstelle nicht mitgezählt, also übersprungen wird.The leading 1 of the mantissa retains its position while the memory contents is shifted two places to the left immediately to the right of the dual point. Of the The memory content with the highest value of the number X falls during the move away and the lowest-valued storage space that was used when moving becomes free, is padded with a zero. This process can also be described as that all memory contents with the exception of the memory contents of the leading mantissa position be shifted one place to the left, whereby when shifting the memory space the leading mantissa position is not counted, i.e. it is skipped.

Das beschriebene Verfahren läßt sich für beliebige, ganzzahlige Wert von y durchführen, indem die genannten Verfahren zur Wurzelbildung bzw. zur Quadrierung mehrmals hintereinander ausgeführt werden. Auf diese Weise kann also z.B. für v zu - 2 die vierte Wurzel, für y = + 2 die Funktion X gebildet werden. Allgemein ausgedrückt werden bei positivem Vorzeichen von y alle Speicherinhalte mit Ausnahme des Speicherinhalts der führenden Mantissenstelle um y Speicherplätze nach links und beim negativen Vorzeichen von y alle Speicherinhalte mit Ausnahme des Speicherinhaltes führenden Mantissenstelle um y Speicherplätze nach rechts verschoben. Dabei wird bei der Verschiebung jeweils der Speicherplatz der führenden Mantissenstelle nicht mitgezählt oder - anders ausge- drUckt - alle Speicherinhalte, die beim Verschieben über die führende Mantissenstelle geschoben werden, werden um y + 1 Speicherplätze verschoben. Der Binärpunkt der Mantisse behält seine Lage bei.The method described can be used for any integer value of y perform by the above root formation and squaring procedures executed several times in a row. In this way, e.g. for v to - 2 the fourth root, for y = + 2 the function X can be formed. Generally With a positive sign of y, all memory contents are expressed with the exception of the memory content of the leading mantissa position by y memory locations to the left and with the negative sign of y all memory contents with the exception of the memory contents leading mantissa position shifted to the right by y memory locations. It will not the storage space of the leading mantissa position when moving counted or - otherwise counted- presses - all memory contents, which are pushed over the leading mantissa point when moving shifted by y + 1 memory locations. The binary point of the mantissa retains its position at.

Bei der Verschiebung nach rechts wird in jeden freiwerdenden Speicherplatz das Vorzeichenbit des Exponenten E der Gleitkommazahl X, bei der Verschiebung nach links in jeden freiwerdenden Speicherplatz eine nO eingefügt.When shifting to the right, there will be free space in every space the sign bit of the exponent E of the floating point number X, when shifting to An nO is inserted on the left in each memory space that is released.

Wie allgemein bekannt ist, können Exponentialfunktionen durch Logarithmieren, Multiplikation mit dem Exponenten und Delogarithmieren gebildet werden.As is well known, exponential functions can be calculated by taking logarithms, Multiplication by the exponent and delogarithmizing can be formed.

Wie im folgenden gezeigt wird, läßt sich das Verfahren zur Wurzelbildung bzw. Quadrierung aus der Zusammenfassung dieser drei Einzel schritten, nämlich der angenäherten Logarithmierung, der Multiplikation mit zwei bzw. 1/2 und der angenäherten Delogarithmierung mathematisch nachweisen.As will be shown below, the method of rooting or squaring from the summary of these three individual steps, namely the approximate logarithmization, multiplication by two or 1/2 and the approximate Prove delogarithmization mathematically.

Es wird zunächst nachgewiesen, daß man den angenäherten Logarithmus einer in einem Register abgespeicherten normalisierten, binären Gleitkommazahl dadurch erhält, daß durch einen einen Schiebeimpuls der Inhalt des ersten Registerabschnitts, in dem der Exponent der Gleitkommazahl steht, um eine Stelle nach rechts verschiebt, wobei der Speicherplatz des zweiten Registerabschnitts überschrieben wird. In den freiwerdenden Speicher des ersten Registerabschnitts wird das Vorzeichenbit des Exponenten eingespeichert. An den Ausgängen des Registers steht dann der angenäherte Logarithmus der normalisierten Gleitkommazahl in Form einer Festpunktzahl mit einem Dualpunkt an der Stelle des Dualpunkts der ursprünglichen Gleitkommazahl an. Dieses Verfahren beruht auf einer Approximation der Exponentialfunktion z = 2E. Der approximierte Wert von z wird mit z bezeichnet. z ist ein Polygonzug, der in seinen Knickpunkten (Stützstellen" mit der Originalfunktion z übereinstimmt. Die Stützwerte sind äquidistant in E und liegen bei allen ganzzahligen Werten von E.It is first demonstrated that one can use the approximate logarithm a normalized, binary floating point number stored in a register receives that the contents of the first register section, in which the exponent of the floating point number is, shifts one place to the right, wherein the memory location of the second register section is overwritten. In the freed memory of the first register section becomes the sign bit of the Stored exponents. The approximate value is then available at the outputs of the register Logarithm of the normalized floating point number in the form of a fixed point number with a Dual point at the location of the dual point of the original floating point number. This The method is based on an approximation of the exponential function z = 2E. The approximated The value of z is denoted by z. z is a polygon running in its inflection points (nodes "coincide with the original function z. The Support values are equidistant in E and lie with all integer values of E.

Fig. 1 zeigt die Näherungsfunktion z (E) und die Originalfunktion z (E).Fig. 1 shows the approximation function z (E) and the original function z (E).

Die Funktion z (E) soll nun analytisch dargestellt werden. Dazu wird zunächst die Sekanterl3teigung s im #-ten Intervall berechnet. Das #-te Intervall ist das Intervall, das sich vom v--ten Stützwert zum (+ + 1)-ten Stützwert erstreckt. Der #-te Stützwert besitzt den Wert #als Abszissenwert. Es gilt also: E# = # z (E + 1) - (E#) z (# + 1) - z (#) (1) S = = E# + 1 - E# 1 S = 2(# + 1) - 2# = 2# (2 - 1) = 2# S = 2# = 2E (2) Damit kann man z in folgender Weise angeben: z = 2 E + s (E - E#) z = 2E + 2E# (E - E ) z = 2E# (1 + E - E#) (3) E# kann als der ganzzahlige Anteil von : betrachtet werden und entspricht, anders ausgedrückt, dem Abszissenwert der ersten Stützstelle 1 links es gerade betrachteten Wertes E. Der Wert @ E: = E - E kennzeichnet die Lage innerhalb eines Intervalls. Mit dieser Definition erhält die Gleichung 3 folgende Form: z = 2E# (1 + #E) (4) Im folgenden soll nun der Zusammenhang zwischen der Funktion z = 2E# (1 +3 E) und der Gleitkommazahldarstellung des Wertes z ermittelt werden. Bei einer Zahl Zg in normalisierter Gleitkommadarstellung gilt für die Mantisse M stets 1#M<2. Die Mantisse besitzt also genau eine Stelle links vom Dualpunkt, wobei an dieser Stelle immer eine 1 steht. Links von der Mantisse steht der ganzzahlige Exponent # #. Es gilt also: Zg = 2##MM (5) Die Mantisse M wird nun in ihren ganzzahligen Anteil und ihren gebrochenen Anteil #M aufgespalten. Wegen der obigen Normalisierung ist dies immer möglich und der ganzzahlige Anteil hat immer den Wert 1. Man kann also schreiben: zg = 2#@ (1 + M) (6) Es soll nun gelten: zg = z (7) Aufgrund der oben eingeführten Normalisierungsvorschrift gelten damit auch folgende Zusammenhänge: ## = E (8) #M M = #E (9) Zusammenfassend ergibt sich also: zg 2## . (1 + #M) = z = 2E# (1 + #E) # z = 2E = 2E# + #E (10) Aus Gleichung 10 kann man erkennen, wie aus der normalisierten Gleitkommadarstellung einer Zahl g der Näherungswert für den Logarithmus dualis dieser Zahl gefunden werden kann. Wie beschrieben, erhält man den Näherungswert fUr E, also den angenäherten Logarithmus der der Zahl z = 2E, indem man in der normalisierten Gleitkommazahldarstellung von g zunächst die höchstwertige "1" der Mantisse streicht. Durch diesen Vorgang wird zunächst #M =AE = M - 1 gebildet. Anschließend wird der Exponent E# um eine Stelle nach rechts verschoben.The function z (E) should now be represented analytically. This will be first the secant gradient s is calculated in the # -th interval. The # th interval is the interval that extends from the vth support value to the (+ + 1) th support value. The # -th reference value has the value # as the abscissa value. The following applies: E # = # z (E + 1) - (E #) z (# + 1) - z (#) (1) S = = E # + 1 - E # 1 S = 2 (# + 1) - 2 # = 2 # (2 - 1) = 2 # S = 2 # = 2E (2) This means that z can be specified in the following way: z = 2 E + s (E - E #) z = 2E + 2E # (E - E) z = 2E # (1 + E - E #) (3) E # can be used as the integer Part of: are considered and, in other words, corresponds to the abscissa value of the first support point 1 on the left of the value E just considered. The value @ E: = E - E indicates the position within an interval. With this Definition, equation 3 takes the following form: z = 2E # (1 + #E) (4) In the following the relationship between the function z = 2E # (1 +3 E) and the floating point number should now be established of the value z can be determined. For a number Zg in normalized floating point representation 1 # M <2 always applies to the mantissa M. The mantissa has exactly one place to the left of the dual point, where there is always a 1 at this point. Left of the mantissa is the integer exponent # #. The following applies: Zg = 2 ## MM (5) The mantissa M is now split into its integer part and its fractional part #M. Because of the above normalization, this is always possible and the whole number part always has the value 1. So you can write: zg = 2 # @ (1 + M) (6) It should now The following apply: zg = z (7) Due to the normalization rule introduced above, apply thus also the following relationships: ## = E (8) #M M = #E (9) In summary the result is: zg 2 ##. (1 + #M) = z = 2E # (1 + #E) # z = 2E = 2E # + #E (10) From equation 10 one can see how from the normalized floating point representation of a number g the approximate value for the logarithm dualis of this number can be found can. As described, the approximate value for E is obtained, i.e. the approximate one The logarithm of the number z = 2E by looking at the normalized floating point number representation first of all the most significant "1" of the mantissa is deleted from g. Through this process #M = AE = M - 1 is formed first. Then the exponent E # is increased by one Position moved to the right.

Durch dieses Verschieben von E# wird E# + #E = E gebildet, wenn man das so gewonnene Näherungsergebnis als Festpunktzahl interpretiert und den Dualpunkt an seiner ursprünglichen Stelle, d.h. also unmittelbar links von #E = #M beläßt. Durch dieses einfache Aneinanderreihen von E# und #E kommt also eine Addition von E# und #E zustande. Dies gilt stets, da E eine ganze Zahl ist und weil gilt: O# # E < 1.By shifting E #, E # + #E = E is formed when one the approximation result obtained in this way is interpreted as a fixed point number and the dual point in its original position, i.e. immediately to the left of #E = #M. This simple stringing together of E # and #E thus results in an addition of E # and #E come about. This is always true because E is an integer and because: O # # E <1.

E# ist also der Anteil der Zahl E vor dem Dualpunkt und # E ist stets der Anteil der Zahl E nach dem Dualpunkt.E # is the part of the number E in front of the dual point and # E is always the portion of the number E after the dual point.

Diese Aneinanderreihung von E# und # E wird in folgenden anhand eines Beispiels erläutert: Es sei: E#= 5 = 101.00 #E = 0,75 = 000.11 Man erkennt also, daß das Ane@nandereihen von E und # E mit einer Addition glelchbedeutend ist.This stringing together of E # and # E is illustrated in the following using a Example explained: Let: E # = 5 = 101.00 #E = 0.75 = 000.11 So you can see that the ane @ ne series of E and # E with an addition is equivalent.

Falls Eg negativ ist, so wird es zweckmäßigerweise im binären Zweier-Komplement dargestellt, da dann die Addition von E# und #E ebenfalls durch einfaches Hintereinanderschreiben gebildet werden kann. Die beim Verschieben von Er freiwerdende Stelle links außen muß mit dem gleichen Bit wie das Vorzeichenbit von Ev besetzt werden. Das Ergebnis E ist al. Festpunktzahl im binären Zweier-Komplement zu interpretieren.If Eg is negative, it is expedient to use binary two's complement because then the addition of E # and #E is also simply written one after the other can be formed. The position that becomes free when moving Er on the far left must be filled with the same bit as the sign bit of Ev. The result E is al. To interpret fixed point number in binary two's complement.

Die bisherigen Betrachtungen wurden stets für den Fall zg # 0 durchgeführt. Falls der Wertebereich von zg auch auf negative Werte erweitert werden soll, wird der Betrag von g zweckmäßigerweise nach dem beschriebenen Verfahren behandelt und das Vorzeichen getrennt ausgewertet.The previous considerations were always carried out for the case zg # 0. If the range of values is to be extended from zg to negative values as well, the amount of g is expediently treated according to the method described and the sign is evaluated separately.

Damit wurde der Vorgang der angenäherten Logarithmierung betrachtet. Das Verfahren kann selbstverständlich auch umgedreht werden, wobei man eine näherungsweise Delogarithmierung erhält. Dabei wird der Inhalt des Registerabschnitts links vom Dualpunkt um eine Stelle nach links verschoben, der Dualpunkt behält seine Lage bei und in den freiwerdenden Speicherplatz wird eine "1" eingefügt, An den Ausgängen des Registers steht dann die angenäherte delogarithmierte Festpunktzahl in Form einer normalisierten Gleitkommazahl an, wobei in einem zweiten Registerabschnitt, der alle Speicherplätze rechts vom Dualpunkt und einen Speicherplatz links vom Dualpunkt umfaßt, die Mantisse der Gleitkommazahl und in einem ersten Registerabschnitt, der die restliche Speicherplätze umfaßt, der Exponent der Gleitkommazahl abgespeichert ist.The process of approximate logarithmization was thus considered. The procedure can of course also be reversed, whereby an approximate Delogarithmization receives. The content of the register section to the left of the Dual point shifted one place to the left, the dual point retains its position A "1" is inserted at and in the memory space that is freed up, at the outputs of the register is then the approximate delogarithmized fixed point number in the form a normalized floating point number, where in a second register section, of all storage locations to the right of the dual point and one storage location to the left of the dual point comprises, the mantissa of the floating point number and in a first register section, the the remaining memory locations, the exponent of the floating point number is stored is.

Die beschriebenen Verfahren zur angenäherten Logarithmierung bz. Delogarithmierung sind im folgenden Schema nochmals zusarnmenefaßt: r blA r I Yg | : E 1 o E l g Logarith- f Delogarith- mierung mierung E LE E : ~~~~ Vorzeichenbit von E Nun kann die Funktion X# dadurch gebildet werden, daß man X logarithmiert, mit n multipliziert und die so erhaltene Funktion wieder delogarithmiert. Wenn n eine ganzzahlige Potenz von zwei ist, also n-2Y, so läßt sich die Multiplikation mit n durch eine einfache Verschiebung im Register um y Stellen ausführen, wobei bei positivem y der Registerinhalt um y Stellen nach links und bei negativem y der Registerinhalt um y Stellen nach rechts verschoben wird.The described procedures for the approximate logarithmization or delogarithmization are summarized again in the following scheme: r blA r I Yg | : E 1 o E l G Logarith- f Delogarith- mation mation E LE E: ~~~~ Sign bit of E The function X # can now be formed by taking X logarithmically, multiplying it by n and delogarithmizing the function obtained in this way again. If n is an integer power of two, i.e. n-2Y, then the multiplication by n can be carried out by a simple shift in the register by y places, with positive y the register content by y places to the left and with negative y the register content by y digits is shifted to the right.

Im folgenden wird die Bildung der Quadratwurzel, also die Bildung der Funktion X2 durch die Aneinanderreihung der drei genannten Schritte in allgemeiner Form dargestellt: a b c 1 . e f g h Logarith- ; mierung 0 a b c . e f g h 1/2 Delogarith- 0 0 a b . c e f g mierung 0 a b 1 . c e f g Dabei erkennt mn, daß das Ergebnis auch durch cine einzige Schiebeoperation erhalten werden kann, I:r die die eingangs für die bildung der Quadratwurzel aufgestellte Regel gilt: A]le Speicherinhalte mit Ausnahme des Speicherinhalts der führenden Mantissenstelle werden um eine Stelle nach rechts verschoben, wobei bei der Verschiebung der Speicherplatz der führenden Mantissenstelle nicht mitgezählt wird und der Binärpunkt der Mantisse seine Lage beibehält. In den freiwerdenden Speicherplatz wird eine "0" nachgezogen. Man erkennt, daß diese Regel auch für Y = + 1 gilt, wobei lediglich eine Verschiebung nach links erfolgt. Durch Aneinanderreihung mehrerer derartiger Operationen kann man die Funktion X auch fUr beliebige Werte von y bilden.In the following, the formation of the square root, i.e. the formation of the function X2 by stringing together the three steps mentioned, is shown in general form: abc 1. efgh Logarith; mation 0 abc. efgh 1/2 Delogarith- 0 0 off. cefg mation 0 from 1. cefg Here mn recognizes that the result can also be obtained by a single shift operation, I: r which applies the rule set up at the beginning for the formation of the square root: A] le memory contents with the exception of the memory contents of the leading mantissa position are shifted one position to the right, the storage space of the leading mantissa position is not counted when shifting and the binary point of the mantissa retains its position. A "0" is drawn into the memory space that is freed up. It can be seen that this rule also applies to Y = + 1, with only a shift to the left taking place. By stringing together several such operations, the function X can also be formed for any values of y.

Auch diese Aneinanderreihung von Einzeloperationen kann zu einer einzigen Schiebeoperation zusammengefaßt werden, wobei die eingangs aufgestellte, allgemeine Regel gilt: Bei positivem Vorzeichen von y sind alle Speicherinhalte mit Ausnahme des Speicher@nhalts der führenden Mantissenstelle um y Speicherplätze nach links und bei negativem Vorzeichen von y alle Speicherinhalte mit Ausnahme des Speicherinhalts der führenden Mantissenstelle um y Speicherinhalte nach rechts zu verschieben. Bei der Verschiebung wird jeweils der Speicherplatz der führenden Mantissenstelle nicht mitgezählt. Der Binärpunkt der Mantisse behält seine Lage bei und in jeden freiwerdenden Speicherplatz wird eine 0" nachgezogen. Damit wurde also eine mathematische Herleitung ftir das erfindungsgemäße Verfahren zur näherungsweisen Bildung der Funktion X2y gegeben.This sequence of individual operations can also result in a single Shift operation are summarized, with the initially established, general The rule applies: If y has a positive sign, all memory contents are exceptions the memory content of the leading mantissa position by y memory locations to the left and with a negative sign of y all memory contents with the exception of the memory contents the leading mantissa position to move y memory contents to the right. at The storage location of the leading mantissa position does not become the shift counted in. The binary point of the mantissa retains its position and in each one that becomes free Storage space is followed by a 0 ". This is a mathematical derivation for the method according to the invention for the approximate formation of the function X2y given.

In den Figuren 4 und 5 sind Schaltungsanordnungen zur Durchführung des Verfahrens dargestellt. Fig. 4 zeigt eine Schaltungsanordnung mit zwei Registern R1 und R2, wobei das Register R1 die Zahl X und das Register R2 das Ergebnis X enthalt. Die Speicherplätze des Registers R1 sind mit R11 bis R17 durchnumeriert, wobei der mit R10 bezeichnete Speicherplatz der führenden Mantissenstelle nicht mitnumeriert ist. Diesclbe Numerierung gilt für das Register R2 mit den Speicherplätzen R21 bis R27 und dem nicht mitnumerierten Speicherplatz R20. Die Ausgänge A1 bis A6 des Registers R1 sind mit den Eingängen E2 bis E7 des Registers R2 verbunden, wobei bei einem Impuls auf den Eingang S des Registers R2 die Reglsterinhalte des Registers R1 in das Register R2 übernommen werden. Dabei ist jeweils der Speicherplatz mit der Nummer n des ersten Registers R1 mit Ausnahme des die führende Mantissenstelle beinhaltenden Speicherplatzes mit dem Speicherplatz mit der Nummer (n - y) des zweiten Register verbunden, d.h. die Ausgänge A1 und A2 sind mit den ingängen E2 und E3, der Ausgang A3 ist mit dem Eingang R4 iu;d die Ausgänge A4 bis A6 sind mit den Eingängen E5 bis E7 verbunden. Der Ausgang Al, an dem das Vorzeichenbit der Gleitkomma@ahl ansteht, ist zusätzlich mit dem Eingang El des Registers R2 verbunden. Am freien Eingang E1 des zweiten Registers R2 steht eine feste "O" an. Mit dieser Schaltungsanordnung kann die Cuadratwurzel aus der im Register Rl gespeicherten Zahl @ gebildet werden. Die Bildung beispielsweise der vierten Wurzel ist möglich, indem der Registerinhalt des Registers R2 speicherplatzgleich in das Register R1 umgeladen wird und dann entsprechend der vorstehenden Verknüpfung wieder in das Register R2 geschoben wird. SelbstverständLich ist es aher auch möglich, eine Schaltungsanordnung vgn vornherein zur Bildung einer beliebigen Funktion X²y auszubilden.In Figures 4 and 5 are circuit arrangements for implementation of the procedure. 4 shows a circuit arrangement with two registers R1 and R2, where the register R1 contains the number X and the register R2 contains the result X. The memory locations of the register R1 are numbered from R11 to R17, where the memory location labeled R10 of the leading mantissa position is not is numbered. This numbering applies to register R2 with the memory locations R21 to R27 and the non-numbered memory location R20. The outputs A1 to A6 of register R1 are connected to inputs E2 to E7 of register R2, with a pulse on the input S of the register R2 the controller contents of the Register R1 can be transferred to register R2. Here is the storage space with the number n of the first register R1 with the exception of the leading mantissa position containing memory location with the memory location with the number (n - y) of the second Register connected, i.e. outputs A1 and A2 are connected to inputs E2 and E3, the output A3 is connected to the input R4 iu; d the outputs A4 to A6 are connected to the inputs E5 to E7 connected. The output Al, at which the sign bit of the floating point @ ahl pending is also connected to the input El of the register R2. At the free Input E1 of the second register R2 is a fixed "O". With this circuit arrangement the cube root can be formed from the number @ stored in register Rl. The formation of the fourth root, for example, is possible by changing the register content of the register R2 is reloaded into the register R1 with the same memory location and then is shifted back into register R2 in accordance with the above link. Of course, it is also possible to design a circuit arrangement in advance to form an arbitrary function X²y.

In der Schaltungsanordnung nc Figur 5 ist das beschriebene Verfahren mit einem Datenbus und einem einzigen Register R reaLisiert. Wegen der Busstruktur eignet sici diese Anordnung besonders gut t zur Ank@@@lung an einen Rechner, bei dem die ansonsten recht zeitraulbende Bildung der Funktion X' in externer hardware erfolgt. Die einzelnen Bits D1 bis D6 sind in Richtung geringerer Wertigkeit DB0 bis DB@ durchnumeriert, wobei das die führende Maijtissenstelle beinhaltende Bit D0 nicht mitnumeriert ist. Die einzelnen Bits D1 bis D6 des Datenbusses sind mit den Eingängen El bis E7 des Registers R bei Ubernahmebefehl derart verbunden, daß jedes Bit Dn mit der Nummer n des Datenbusses D mit Ausnahme des die führende Mantissenstelle beinhaltenden Bits mit dem Speicherplatz mit der Nummer n - 1 des Registers R verbunden ist, d.h. daß die Bits D1 bis D6 mit den Eingängen E2 bis E7 verbunden sind. Das Bit D1, das das Vorzeichenbit der Gleitkommazahl X darstellt, ist zusätzlich mit dem Eingang El verbunden. An dem freien Eingang E1 des Registers R steht eie feste "O" an. Im Register R wird also die Funktion x2 abgespeichert, die über den Datenbus D wieder herausgelesen werden kann, wobei in diesem Fall die Speicherplätze p. 1 bis R7 und der die führende Mantissenstelle beinhaltende Speicherplatz Rg mit den entsprechenden Bits D1 bis D7 bzw. dem Bit D0 verbunden sind. Auch sei dieser Anordnung ist es möglich, die Funktion X für beliebige Werte von y dadurch zu realisieren, daß eine Zahl mehrmals auf die beschriebene Weise in das Register R eine und wieder ausgelesen wird.In the circuit arrangement nc Figure 5 is the method described realized with a data bus and a single register R. Because of the bus structure This arrangement is particularly suitable for connecting to a computer the otherwise quite time-consuming education the function X 'in external hardware takes place. The individual bits D1 to D6 are in the lower direction Significance DB0 to DB @ numbered consecutively, with that containing the leading Maijtissen position Bit D0 is not numbered. The individual bits D1 to D6 of the data bus are connected to the inputs El to E7 of the register R in the event of a takeover command in such a way that that every bit Dn with the number n of the data bus D with the exception of the leading one Bits containing the mantissa position with the memory location with the number n - 1 des Register R is connected, i.e. that the bits D1 to D6 with the inputs E2 to E7 are connected. The bit D1, which represents the sign bit of the floating point number X, is also connected to the input El. At the free input E1 of the register R is a fixed "O". The function x2 is stored in register R, which can be read out again via the data bus D, in which case the Storage locations p. 1 to R7 and the memory location containing the leading mantissa position Rg are connected to the corresponding bits D1 to D7 or bit D0. Also be This arrangement makes it possible to use the function X for any values of y to realize that a number is entered into the register several times in the manner described R one and read out again.

Ebenso ist aber auch eine Verbindung des Datenbusses D mit dem Register R in der Weise möglich, daß die entsprechende Funktion fUr den gewtlnschten Wert von y unmittelbar gebildet wird.However, there is also a connection between the data bus D and the register R possible in such a way that the corresponding function for the desired value is formed directly by y.

Eine Durchführung des erfindungsgemäßen Verfahrens ist in äquivalenter Form auch rein durch Software möglich.Carrying out the process according to the invention is equivalent Form also possible purely through software.

Claims (3)

PatentansrUche 1 Verfahren zur näherungsweisen Bildung der Funktion X2y einer normalisierten, binären Gleitkommazahl X, die in einem Register mit zwei unmittelbar aneinander anschließenden Registerabschnitten und insgesamt N Speicherplätzen abgespeichert ist, wobei der Stellenwert Jedes Speicherinhalts im Register von links nach rechts abnimmt, wobei der In Zweier-Komplement-Darstellung vorliegende Exponent der Gleitkommazahl im ersten Registerabschnitt und die Mantisse der Gleitkommazahl im rechts anschließenden zweiten Registerabschnitt steht und wobei y eine ganze, positive oder negative Zahl ist, d a d u r c h g e k e n n z e i c h n e t , daß bei positivem Vorzeichen von y alle Speicherinhalte mit Ausnahme des S@icherinhalts der führenden Mantissenstelle um y Spercherplitze nach links und bei negativem Vorzeichen von y alle Speicherinhalte mit Ausnahme des Speicherinhalts der fuhrenden Mantissenstelle um y Speicherplätze nach rechts verschoben werden, wobei bei der Verschiebung jeweils der Speicherplatz der fUhrenden Mantissenstelle nicht mitgezählt wird, daß der Binärpunkt der Mantisse seine Lage beibehält und daß in Jeden links freiwerdenden Speicherplatz das Vorzeichenbit des Exponenten der Gleitkommazahl und in Jeden rechts freiwerdenen Speicherplatz eine "0" nachgezogen wird.Patent claims 1 method for the approximate formation of the function X2y a normalized, binary floating point number X, which is in a register with two directly adjoining register sections and a total of N storage locations is stored, with the value of each memory content in the register from the left decreases to the right, the exponent in two's complement representation the floating point number in the first register section and the mantissa of the floating point number in the second register section on the right and where y is a whole, is a positive or negative number, which means that with a positive sign of y all memory contents with the exception of the S @ ich contents the leading mantissa position by y Spercher points to the left and with a negative sign of y all memory contents with the exception of the memory contents of the leading mantissa position be shifted to the right by y memory locations, with each shifting the storage space of the leading mantissa position is not counted, that the binary point the mantissa retains its position and that memory space freed up in each left the sign bit of the exponent of the floating point number and in each to the right Memory location a "0" is followed. 2. Schaltungsanordnung zur Durchftihrung eines Verfahrens nach Anspruch 1, g e k e n n z e 1 c h n e t durch zwei Register (R1, R2) mit Jeweils N Speicherplätzen, die in Richtung geringerer Wertigkeit durchnumeriert sind, wobei Jeweils der die führende Mantissenstelle beinhaltende Speicherplatz (R10, R20) nicht nitnumeriert ist und wobei im ersten Register (R1) die Gleitkommazahl Y abgespeichert ist und im zweiten Register (R2) die Funktion X gebildet wird und durch eine Verbindung der Ausgänge (Ao bis A7) des ersten Registers (R1) mit den Eingängen (Eo bis E7) des zweiten Registers (R2) derart, daß Jeweils der Speicherplatz (R1n) mit der Nummer n des ersten Registers (R1) mit Ausnahme des die führende Mantissenstelle beinhaltenden Speicherplatzes mit dem Speicherplatz (R2 n - y) mit der Nummer (n - y) des zweiten Registers (R2) verbunden ist, daß am Speicherplatz <R20) der fahrenden Mantissenstelle des zweiten Registers (R2) eine feste "1" ansteht, daß an den freien rechten Eingängen (E1) des zweiten Registers (R2) eine feste "0" ansteht und daß alle freien linken Eingänge (E1) des zweiten Registers (R2) mit des das Vorzeichenbit führenden Speicherplatz des ersten Registers (Ri) verbunden sind. 2. Circuit arrangement for implementing a method according to claim 1, g e k e n n n z e 1 c h n e t through two registers (R1, R2) each with N memory locations, which are numbered in the direction of lower valence, with the Storage space containing leading mantissa position (R10, R20) not numbered and where the floating point number Y is stored in the first register (R1) and the function X is formed in the second register (R2) and through a connection the Outputs (Ao to A7) of the first register (R1) with the inputs (Eo to E7) of the second register (R2) in such a way that in each case the memory location (R1n) with the number n of the first register (R1) with the exception of the one containing the leading mantissa position Storage location with the storage location (R2 n - y) with the number (n - y) of the second Register (R2) is connected that at the memory location <R20) of the moving mantissa position of the second register (R2) is a fixed "1" that is present at the free right inputs (E1) of the second register (R2) is a fixed "0" and that all free links Inputs (E1) of the second register (R2) with the memory location carrying the sign bit of the first register (Ri) are connected. 3. Schaltungsanordnung zur Durchführung eines Verfahrens nach Anspruch 1, g e k e n n z e t c h n e t durch einen Datenbus (D) mit t Bits, der die Gleitkommazahl X Uberträgt und ein Register (R) mit N Speicherplätzen, in dem die Funktion x2y gebildet wird, wobei die Speicherplätze und die Bits in Richtung geringerer Wertigkeit durchnumeriert sind, wobei jeweils der die führende Mantissenstelle beinhaltende Speicherplatz (R0) bzw. das entsprechende Bit (Do) nicht mitnumeriert ist und durch eine Verbindung der einzelnen Bits des Datenbusses (Do bis D7) mit den Eingängen des Registers (Eo bis E7) bei Übernahmebefehl derart, daß Jedes bit mit der Nummer n des Datenbusses (D) mit Ausnahme des die führende Mantissenstelle beinhaltenden Bits mit dem Speicherplatz (R n - y) mit der Nummer (n - y) des Registers (R) verbunden ist, daß am Speicherplatz (Ro) der führenden Mantissenstelle eine feste "1" ansteht, daß an den freien rechten Eingängen (E1) des Registers (R) eine feste "0" ansteht und daß mit den freien linken Eingängen (R1) des Registers (R) das Vorzeichenbit (D1) des Datenbusses (D) verbunden ist.3. Circuit arrangement for performing a method according to claim 1, g e k e n n n z e t c h n e t through a data bus (D) with t bits, which is the floating point number X Transfers and a register (R) with N memory locations in which the function x2y is formed, with the memory locations and the bits in the direction of lesser significance are numbered, with the one containing the leading mantissa position Storage location (R0) or the corresponding bit (Do) is not numbered and is by a connection of the individual bits of the data bus (Do to D7) with the inputs of the register (Eo to E7) in the case of an acceptance command in such a way that each bit with the number n of the data bus (D) with the exception of the one containing the leading mantissa position Bits associated with the memory location (R n - y) with the number (n - y) of the register (R) is that a fixed "1" is pending at the memory location (Ro) of the leading mantissa position, that a fixed "0" is present at the free right inputs (E1) of the register (R) and that with the free left inputs (R1) of the register (R) the sign bit (D1) of the data bus (D) is connected.
DE19803030147 1980-08-08 1980-08-08 Fast approximate formation of function X power 2Y - is for floating point binary numbers and uses only shift register shift operations Granted DE3030147A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19803030147 DE3030147A1 (en) 1980-08-08 1980-08-08 Fast approximate formation of function X power 2Y - is for floating point binary numbers and uses only shift register shift operations

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19803030147 DE3030147A1 (en) 1980-08-08 1980-08-08 Fast approximate formation of function X power 2Y - is for floating point binary numbers and uses only shift register shift operations

Publications (2)

Publication Number Publication Date
DE3030147A1 true DE3030147A1 (en) 1982-02-25
DE3030147C2 DE3030147C2 (en) 1987-08-20

Family

ID=6109239

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19803030147 Granted DE3030147A1 (en) 1980-08-08 1980-08-08 Fast approximate formation of function X power 2Y - is for floating point binary numbers and uses only shift register shift operations

Country Status (1)

Country Link
DE (1) DE3030147A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1006437A1 (en) * 1998-11-30 2000-06-07 TELEFONAKTIEBOLAGET L M ERICSSON (publ) Digital value processor for estimating the square of a digital value

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2745451A1 (en) * 1976-10-18 1978-04-20 Burroughs Corp FAST MOVING NETWORK WITH MASK GENERATOR AND CIRCUIT DEVICE

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2745451A1 (en) * 1976-10-18 1978-04-20 Burroughs Corp FAST MOVING NETWORK WITH MASK GENERATOR AND CIRCUIT DEVICE

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SCHECHER, "Funktioneller Aufbau digitaler Rechenanlagen", Heidelberger Taschenbücher, Springer-Vlg. 1973, S. 56 bis 61 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1006437A1 (en) * 1998-11-30 2000-06-07 TELEFONAKTIEBOLAGET L M ERICSSON (publ) Digital value processor for estimating the square of a digital value
WO2000033174A1 (en) * 1998-11-30 2000-06-08 Telefonaktiebolaget Lm Ericsson (Publ) Digital value processor
US6463452B1 (en) 1998-11-30 2002-10-08 Telefonaktiebolaget Lm Ericsson Digital value processor

Also Published As

Publication number Publication date
DE3030147C2 (en) 1987-08-20

Similar Documents

Publication Publication Date Title
EP0079471B1 (en) Arrangement and method for forming scalar products and sums of floating point numbers with maximum precision
DE1162111B (en) Floating point arithmetic facility
DE19758079A1 (en) Computer system for determining product of two Galois field elements
DE3306084A1 (en) COMPUTER ARCHITECTURE FOR SLIDING ADDITION
DE2803425A1 (en) DIGITAL DEVICE FOR DETERMINING THE VALUE OF COMPLEX ARITHMETIC EXPRESSIONS
DE1549477B1 (en) DEVICE FOR THE QUICK ACCUMULATION OF A NUMBER OF MULTI-DIGIT BINARY OPERANDS
DE4403917A1 (en) Device to calculate an occupation count
DE2630430A1 (en) DEVICE FOR AUTOMATIC SETTING OF BINDING OR. Separating lines
DE2034841C3 (en) Matrix arrangement for digital computer system
DE3303269C2 (en)
DE1499281B1 (en) Calculator for logarithmic calculations
DE4019646C2 (en) Device and method for multiplying data words in two&#39;s complement representation
DE3434777C2 (en)
DE2310553A1 (en) DEVICE FOR PERFORMING ARITHMETIC AND LOGICAL OPERATIONS
DE3447634C2 (en)
DE2743575A1 (en) PROCEDURE AND DEVICE FOR MULTIPLICATING A FIRST NUMBER BY A SECOND NUMBER
EP0265555B1 (en) Method and circuitry for addition of floating point numbers
DE2039228A1 (en) Method and device for converting and shifting the value of number signals of different codes in a data processing system
DE1222290B (en) Binary computing device for the formation and accumulation of products
DE3030147A1 (en) Fast approximate formation of function X power 2Y - is for floating point binary numbers and uses only shift register shift operations
DE1449564C3 (en) Computing device for subtracting several operands or adding them by using complementary values of one of the operands
DE10219161A1 (en) Device and method for converting a term
DE2952689C2 (en)
DE2601379C3 (en) Circuit arrangement for converting virtual addresses into real addresses
DE2539245C2 (en)

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee