Hallo, ich habe das Zeitalter vor den erschwinglichen Taschenrechnern nicht miterlebt, aber ich habe mich vor kurzem mit Rechenschiebern befasst und mich deshalb in die Thematik eingelesen. Als guter Bastler dachte ich natürlich an die uns allen bekannten Maschinchen, die teilweise nichts, aber vor allem keine Gleitkommazahlen gut multiplizieren, dafür aber schnell addieren können. Nun ging ich folgenden Gedankengang: Diese Multiplikationsunfähigkeit war ja früher, in der Zeit vor FPUs und GHz, noch schlimmer. Gleichzeitig muss doch der Beginn der Mikrochips in der Logarithmenadditionszeit liegen. Den ersten Assemblerprogrammierern sind solche Instrumente also noch bekannt gewesen. Diese haben quasi den Grundstein für die Assemblerkultur gelegt, es waren ja vor allem Professoren. Man scheint aber auf Logarithmentabellen verzichtet zu haben, sonst hätten die sich in dieser Sparte bis heute gehalten. Das haben sie aber nicht. Wo liegt mein Denkfehler, und warum nutzt man die nicht gerade heute, in der Zeit des mehr oder minder unbegrenzten Speichers? Vielen Dank für Eure Antworten. Besonders interessieren mich natürlich die der Zeitzeugen.
:
Verschoben durch User
Torben G. schrieb: > Professoren. Man scheint aber auf Logarithmentabellen verzichtet zu > haben, sonst hätten die sich in dieser Sparte bis heute gehalten. Das > haben sie aber nicht. Wo liegt mein Denkfehler, und warum nutzt man die > nicht gerade heute, in der Zeit des mehr oder minder unbegrenzten > Speichers? Ganz einfach, wegen Nachkommastellen.
Marc V. schrieb: > Ganz einfach, wegen Nachkommastellen. Ich bitte um eine ausführlichere Antwort. Gleitkommazahlenaddition ist halb so wild, und bei normalen Anwendungen reichen fünf Nachkommastellen völlig aus.
Torben G. schrieb: > natürlich an die uns allen bekannten Maschinchen, die teilweise nichts, > aber vor allem keine Gleitkommazahlen gut multiplizieren, dafür aber > schnell addieren können. Halb so wild. Multiplizierer für 60 Bit Fliesskommaformat gab es schon in einer Zeit, in der sie noch aus Einzeltransistoren aufgebaut wurden. Interationsfrei, rein kombinatorisch. So ein Multiplizierer war natürlich ein wenig grösser als ein Taschenrechner, aber dafür hatte das Maschinchen gleich 2 davon.
Torben G. schrieb: > Man scheint aber auf Logarithmentabellen verzichtet zu > haben, sonst hätten die sich in dieser Sparte bis heute gehalten. Das > haben sie aber nicht. Selbst die ersten Taschenrechner rechneten schon mit mindestens 8 Dezimalen. Eine Logarithmentafel müsste daher 10^8 Einträge haben. Sie wäre bei 32Bit pro Eintrag knapp 400MB groß. In Silizium gegossen hätte die Tafel damals eine ganze Halle gefüllt. Und eine binäre Multiplikation aus Additions- und Schiebeoperationen zusammenzubasteln ist auch nicht so aufwändig. Bei Taschenrechnern kommt es nun mal kaum auf die Geschwindigkeit an.
Werden denn heute noch Logarithmustabellen genutzt? Als Anwendung fielen mir spontan Echtzeitsysteme mit Sensoren ein, wie im Automotive. Speicherplatz ist ja heute nicht mehr so wichtig, solange es keine 400MB sind.
Ich habe zu 286'er und 386'er zeiten mit der Idee experimentiert. Wollte 3D Grafik Berechungen beschleunigen. Im Prinzip funktionierte das natürlich, aber in der Praxis war es langsamer als es einfach direkt zu berechnen. Schuld war die Latenz der Speicherzugriffe.
Torben G. schrieb: > Werden denn heute noch Logarithmustabellen genutzt? Was willst du denn beschleunigen, wenn eine Gleitkommamultiplikation auf modernen Systemen die gleiche Zeit wie eine einfache Addition benötigt?
Torben G. schrieb: > Als guter Bastler dachte ich natürlich an die uns allen > bekannten Maschinchen, die teilweise nichts, aber vor > allem keine Gleitkommazahlen gut multiplizieren, dafür > aber schnell addieren können. Naja, Ansichtssache. Addition der Strecken ergibt Multiplikation der Zahlen. Ist das nun "in Wahrheit" Addition oder Multiplikation? Aber egal. > Nun ging ich folgenden Gedankengang: Diese > Multiplikationsunfähigkeit war ja früher, in der Zeit vor > FPUs und GHz, noch schlimmer. Hmm. > Gleichzeitig muss doch der Beginn der Mikrochips in der > Logarithmenadditionszeit liegen. Nein, nicht wirklich. Der Beginn der Mikrochips lag in der Zeit der Großrechner. Zu dieser Zeit gab es mechanische Addiermaschinen in großer Zahl, elektromechanische Tischrechner, Lochkartentechnik, Buchungs- und Tabelliermaschinen in allen Ausführungen. > Den ersten Assemblerprogrammierern sind solche > Instrumente also noch bekannt gewesen. Diese haben > quasi den Grundstein für die Assemblerkultur gelegt, > es waren ja vor allem Professoren. Soweit ich weiss, waren weder Herman Hollerith noch Konrad Zuse Professoren. > Man scheint aber auf Logarithmentabellen verzichtet zu > haben, sonst hätten die sich in dieser Sparte bis heute > gehalten. Das haben sie aber nicht. Wo liegt mein > Denkfehler, Welcher Denkfehler? Deine Überlegung fußt auf der falschen Voraussetzung, die Ursprünge der automatisierten Datenverarbeitungsanlagen lägen in den theoretischen Ideen irgendwelcher Professoren. Tun sie aber nicht. Die tatsächlichen Ursprünge liegen in Geschäftszweigen wie der Textilindustrie, der Eisenbahn, der Buchhaltung und ähnlichen. Die Idee, Lochkarten zur Steuerung von Webstühlen zu verwenden, war deutlich vor 1900 in Frankreich populär. Laut Wikipädie kam Herman Hollerith durch mehrfach gelochte Karten, die seinerzeit bei der Eisenbahn als Fahrkarten verwendet wurden, auf die Idee, "Lochkarten" für die automatisierte Datenverarbeitung zu verwenden. Feynman beschreibt sehr amüsant, wie seine Untergebenen beim Manhattan-Project die zur Verfügung stehenden Lochkarten-Tabelliermaschinen als Datenflussmaschine verwendeten, indem sie große Stapel mit verschiedenfarbigen Lochkarten nach einem ausgeklügelten System zwischen den Maschinen hin- und hertrugen und zeitversetzt bearbeiten ließen. Auf diese Weise sind numerische Simulationen für die Bombe gemacht worden, deren Umfang auf andere Weise nicht zu bewältigen gewesen wäre. Was ich damit sagen will: Turing, Neumann, Zuse usw. sind "nur" den Schritt zur SPEICHERPROGRAMMIERBAREN Maschine gegangen -- automatisierte Datenverarbeitung, maschinelles Rechnen usw. gab es aber schon lange vorher, nur waren diese Vorläufer nicht unbedingt "turing-vollständig" und auch nicht unbedingt speicherprogrammierbar. Bekanntermaßen waren viele der Spezialmaschinen, die in Bletchley Park verwendet wurden, verbindungsprogrammiert. Die Erfindung des Computers markiert NICHT den Beginn der maschinellen Datenverarbeitung. Das Neue ist nur, dass der Computer "frei programmierbar" (=speicherprogrammierbar) ist, also ohne Hardware-Änderung für JEDES FORMULIERBARE PROBLEM verwendet werden kann. Das ging vorher nicht. Wesentlicher Vorläufer der modernen Computer sind die Geräte in der Tradition Holleriths, die von der "Internationalen Buchungs-Maschinen-Vereinigung" -- besser bekannt als "IBM" -- hergestellt wurden :) Die moderne Informatik (wie auch die Atombombe) fußt auf der Faulheit der Buchhalter :) Worauf ich hinauswill: Jeder Buchhalter beherrscht die Multiplikation mittels Verschieben und selektiven Addierens -- aber nicht alle Buchhalter beherrschen die Logarithmenrechnung. > und warum nutzt man die nicht gerade heute, in der Zeit > des mehr oder minder unbegrenzten Speichers? Was hat das miteinander zu tun? > Vielen Dank für Eure Antworten. Besonders interessieren > mich natürlich die der Zeitzeugen. Zeitzeugen? Von Hollerith?
avr schrieb: > Torben G. schrieb: >> Werden denn heute noch Logarithmustabellen genutzt? > > Was willst du denn beschleunigen, wenn eine > Gleitkommamultiplikation auf modernen Systemen die > gleiche Zeit wie eine einfache Addition benötigt? Naja, es soll gerüchteweise auch Maschinen unterhalb der GHz-Mehrkern-Klasse geben. Zahldarstellung im Vorzeichen-Logarithmus-System, Additionslogarithmen u.ä. sind zwar exotisch, aber prinzipiell machbar. Ob der Aufwand auf Gatterebene wirklich so viel höher ist, wäre abzuwarten. In Spezialfällen u.U. nützlich, für allgemeine Verwendung aber eher unpraktisch. Logarithmenrechnung lohnt sich nur dann wirklich, wenn man sehr viel Punktrechnung und anteilig nur sehr wenig Strichrechnung hat -- ansonsten überwiegt der Konvertierungsaufwand.
Torben G. schrieb: > Werden denn heute noch Logarithmustabellen genutzt? Unwahrscheinlich -- weil unpraktisch. CORDIC wurde ja schon erfunden. > Als Anwendung fielen mir spontan Echtzeitsysteme mit > Sensoren ein, wie im Automotive. Das geht schon. Der Punkt ist nur, dass das sehr ungewohnt wird, weil die Zahlen dann sinnvollerweise nicht mehr als Fließkomma- zahlen dargestellt werden, sondern in einer Vorzeichen- Logarithmus-Codierung. Außerdem braucht man Vorkehrungen, damit man, ohne ständig hinundherkonvertieren zu müssen, auch addieren und sub- trahieren kann. Geht auch (Additionslogarithmen), ist aber zusätzlicher Aufwand. Alles in allem bringt es schätzungsweise nur etwas, wenn man es direkt in Hardware gießt. Diverse Yamaha-Synthesizer sollen das System verwendet haben. > Speicherplatz ist ja heute nicht mehr so wichtig, [...] Aber Geschwindigkeit und Energieverbrauch. Tabellenzugriffe auf großen externen Speicher ist langsam, also unpraktisch.
Mike schrieb: > Eine Logarithmentafel müsste daher 10^8 Einträge haben. Sie > wäre bei 32Bit pro Eintrag knapp 400MB groß. In Silizium gegossen hätte > die Tafel damals eine ganze Halle gefüllt. Wahrscheinlich hast du nie eine Logarithmentafel benutzt. In Zeiten zu denen 400MB eine "ganze Halle gefüllt" hätten, hat man schon gewusst, dass die Logarithmus-Funktion stetig ist und sich friedlich benimmt. Bei Nutzung der Tafeln hat man das schon immer ausgenutzt und zwischen Tabellenwerten interpoliert.
Wolfgang schrieb: > Mike schrieb: >> Eine Logarithmentafel müsste daher 10^8 Einträge haben. Sie >> wäre bei 32Bit pro Eintrag knapp 400MB groß. In Silizium gegossen hätte >> die Tafel damals eine ganze Halle gefüllt. > > Wahrscheinlich hast du nie eine Logarithmentafel benutzt. In Zeiten zu > denen 400MB eine "ganze Halle gefüllt" hätten, hat man schon gewusst, > dass die Logarithmus-Funktion stetig ist und sich friedlich benimmt. Bei > Nutzung der Tafeln hat man das schon immer ausgenutzt und zwischen > Tabellenwerten interpoliert. Ich frag mich auch grad, wo auf meinem Rechenschieber 10^8 Werte versteckt sind ;)
Torben G. schrieb: > Als Anwendung fielen > mir spontan Echtzeitsysteme mit Sensoren ein, wie im Automotive. > Speicherplatz ist ja heute nicht mehr so wichtig, solange es keine 400MB > sind. Für Automotive muss ich dir da widersprechen. RAM/ROM ist (neben CPU Load) enorm wichtig, da kein Zulieferer auch nur einen Cent für einen Wechsel auf das größere Controllerderivat drauflegen will, damit irgendwas noch reinpasst. Externer Speicher wird sowieso vermieden (PCB-Platz, Security, Kosten).
Egon D. schrieb: > Worauf ich hinauswill: Jeder Buchhalter beherrscht die > Multiplikation mittels Verschieben und selektiven > Addierens -- aber nicht alle Buchhalter beherrschen die > Logarithmenrechnung. Beherrschten. Vor >50 Jahren. Heute nehmen die Excel. Oder einen Taschenrechner, aber das tun sie schon seit 50 Jahren. Warum man im Controller keine Logarithmustabellen hat: Wir haben heute im Normalfall einen Hardware-Multiplizierer (zumindest in den Controllern, die ich verwende), der genau gleich schnell ist wie ein Speicherzugriff. Also genau einen Taktzyklus. Das ist effizienter und genauer als Tabellengehampel, logischerweise. Und da rede ich nicht von dicken Luxusgeräten, sondern z.B. auch die kleinen STM32 für <1€ haben das. So zum Beispiel der hier einen STM32F031. Mein Arbeitgeber kauft die um 0,4€ pro Stück. Die numerischen Operationen sind daher nicht das, woran es scheitert ;-)
Anti-Nostalgiker schrieb: > Und da rede ich nicht von dicken Luxusgeräten Nicht nur STM, sowas haben ja schon die 0815-Atmegas drin, warum also mit Tabellen rumhampeln? Macht da keinen Sinn, da geb ich dir völlig recht. Mit Logarithmus wirklich Arbeiten war schon vor 30 Jahren nicht mehr IN, ich hab mir den Rechenschieberkram auch selbst beigebracht und dachte mir nur, dass ich Mathe damals so besser verstanden hätte statt stumpf Werte in nen Taschenrechner zu tippen.
M. K. schrieb: > Ich frag mich auch grad, wo auf meinem Rechenschieber 10^8 Werte > versteckt sind ;) Naja, hat er doch gerade nicht. Mehr als 3 Stellen (also 10^3) sinds ja nicht, und die sind auch noch analog und interpoliert.
10^3 Stellen hat er auch nicht. Wenn ich so nen Blick drauf werfe: Vielleicht so 3-4 10^2 Stellen. Zum Zählen bin ich zu faul. ;)
Egon D. schrieb: > Worauf ich hinauswill: Jeder Buchhalter beherrscht die Multiplikation > mittels Verschieben und selektiven Addierens -- aber nicht alle > Buchhalter beherrschen die Logarithmenrechnung. Buchhalter können genauso wenig mit Logarithmen anfangen wie mit floating Point oder Rechenschieber. Die Mathematik, bzw. Die Auflösung ist für Ingenieure mit Sicherheitsfaktor 3 eine andere wie Cent-genaue Millionenbeträge.
Torben G. schrieb: > Diese > Multiplikationsunfähigkeit war ja früher, in der Zeit vor FPUs und GHz, > noch schlimmer. Das war noch nie ein Problem gewesen. Die CPUs konnten doch schieben, addieren und subtrahieren. Das reicht völlig, um sich ne kleine Mul-/Div-Lib zu schreiben. Als ich mit dem 8051 angefangen hatte, hab ich mir auch eine Lib für die Grundrechenarten geschrieben, ganz nach Lehrbuch, die für 2..80 Byte (= 192 Dezimalstellen) skalierbar war.
Moin, Hier: Beitrag "VU-Meter mit Attiny13a statt LM3916" muss ich einen Logarithmus (ungenau reicht) berechnen und auch quadieren (Spezialfall der Multiplikation). "Verwirrenderweise" (aus Performancegruenden) nehm' ich fuer's Quadrieren eine Lookuptable und "berechne" den Logarithmus durch schieben und vergleichen... Gruss WK
M. K. schrieb: > Ich frag mich auch grad, wo auf meinem Rechenschieber 10^8 Werte > versteckt sind ;) Das ist doch ganz einfach wenn man mit dem Rechenschieber umgehen kann. Überschlagsrechnung und Potenzen sollte man schon gelernt haben. Gruß Frank
M. K. schrieb: > Ich frag mich auch grad, wo auf meinem Rechenschieber 10^8 Werte > versteckt sind ;) 10^8 x Zoomen. Hast du das nicht gewusst?
Frank W. schrieb: > Das ist doch ganz einfach wenn man mit dem Rechenschieber umgehen kann. Dann hast Du es entweder nicht, oder die Aussage nicht verstanden.
M. K. schrieb: > Ich frag mich auch grad, wo auf meinem Rechenschieber 10^8 Werte > versteckt sind ;) Das ist ein analoges Gerät, der enthält nicht nur 10^8, sondern unendlich viele Werte. Man muss nur genau genug draufschauen. Oder ist heute der Unterschied zwischen analog und digital nicht mehr geläufig, weil angeblich die ganze Welt digital ist? Das Universum ist nicht gepixelt, nur die Bilder davon. Georg
Frank W. schrieb: > M. K. schrieb: >> Ich frag mich auch grad, wo auf meinem Rechenschieber 10^8 Werte >> versteckt sind ;) > > Das ist doch ganz einfach wenn man mit dem Rechenschieber umgehen kann. > > Überschlagsrechnung und Potenzen sollte man schon gelernt haben. > ... und schon kann man achtstellige Numeri einstellen und auch ablesen. Toll! Allerdings bleibt die Frage, was man in der realen Welt, also außerhalb des Zugriffs von Finanzjongleuren, damit anfangen will.
georg schrieb: > Oder ist heute der Unterschied zwischen analog und digital nicht mehr > geläufig, weil angeblich die ganze Welt digital ist? Das Universum ist > nicht gepixelt, nur die Bilder davon. Oh Oh,.. ich sag nur: Max Heisenberg ;-)
georg schrieb: > Oder ist heute der Unterschied zwischen analog und digital nicht mehr > geläufig, weil angeblich die ganze Welt digital ist? Das Universum ist > nicht gepixelt, nur die Bilder davon. Nicht gepixelt, aber gequantelt…
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.