Warum hat der Computerspeicher nur zwei Zustände?

Warum hat der Computerspeicher nur zwei Zustände?

Warum verwenden Computer Binärsysteme, also Bits, die nur einen hohen und einen niedrigen Zustand darstellen können? Ich habe „Logic & Computer Design Fundamentals“ (von M. Morris Mano, Charles R. Kime (Autor) und Tom Martin) gelesen und verstehe den Grund dafür nicht:

Stellen Sie sich ein System mit 10 Werten vor, die die Dezimalstellen darstellen. In einem solchen System könnten die verfügbaren Spannungen – sagen wir 0 bis 1,0 Volt – in 10 Bereiche mit einer Länge von jeweils 0,1 Volt unterteilt werden. Ein Schaltkreis würde innerhalb jedes dieser 10 Bereiche eine Ausgangsspannung bereitstellen. Ein Eingang eines Schaltkreises müsste bestimmen, in welchem ​​der 10 Bereiche eine angelegte Spannung liegt. Wenn wir Rauschen in den Spannungen zulassen möchten, könnte die Ausgangsspannung für eine bestimmte Zifferndarstellung um weniger als 0,05 Volt schwanken, und die Grenzen zwischen den Eingängen könnten um weniger als 0,05 Volt variieren. Dies würde komplexe und teure elektronische Schaltkreise erfordern, und der Ausgang könnte immer noch durch kleine „Rauschspannungen“ oder kleine Abweichungen in den Schaltkreisen gestört werden, die während ihrer Herstellung oder Verwendung auftreten.

Wenn es also möglich wäre, eine Änderung von 0,05 V genau zu erkennen und sich gegen Rauschen abzuschirmen, würden wir dann Computer mit 10 Zuständen verwenden? Wenn ja, geht es dann nur darum, ein Gerät zu erfinden, das eine Änderung von 0,05 V erkennen kann? Warum nicht einfach den Maßstab vergrößern, zum Beispiel den Bereich auf 0–50 Volt einstellen und bei jedem Vielfachen von 5 einen Zustand haben (z. B. 0,5,10,15,...,50) und ein Rauschen von +/- 2 V zulassen?

Antwort1

Der Grund hierfür ist: Es ist einfacher, eine Zweizustandslogik aufzubauen, und in 99 % der Fälle bringt alles, was komplizierter ist, keinen praktischen Vorteil.

Tatsächlich ist esweitEs ist einfacher (d. h. kleiner, billiger und zuverlässiger), vier Speichereinheiten mit jeweils zwei Zuständen zu bauen (die zum Speichern einer Dezimalziffer in BCD-Notation verwendet werden können), als eine einzelne Speichereinheit zu bauen, die 10 Zustände speichern und auslesen kann.

Zukünftige technologische Verbesserungen könnten den 1-von-10-Speicher verbessern, ja. Aber die gleichen technischen Entwicklungen könnten auch auf Binärschaltungen angewendet werden, um sie kleiner, zuverlässiger und stromsparender zu machen. Die Binärschaltungen werden sich schneller verbessern als die 1-von-10-Spannungspegelschaltungen, weil die Binärschaltungen eine grundsätzlich einfachere Aufgabe erfüllen. Die 1-von-10-Schaltungen können alsoniemalsaufholen.

Die Verwendung höherer Spannungen ist ein Ding der Unmöglichkeit. Sie erhöhen den Stromverbrauch; und je höher die Spannungen in Ihren Signalleitungen sind, desto mehr Rauschen strahlen sie ab (und desto wahrscheinlicher ist es, dass sie andere Signale beeinträchtigen). Tatsächlich verlegen wir derzeit Signalleitungen so dicht beieinander, dass man bei 50 Volt nicht nur kapazitive Kopplung, sondern auch Lichtbögen befürchten müsste! Der Trend bei modernen CPUs geht zu immer niedrigeren Spannungen, nicht zu höheren.

Außerdem ist die binäre Kodierung, obwohl sie auf den ersten Blick seltsam erscheint, in vielerlei Hinsicht äußerst praktisch. Eine binäre Addierschaltung ist ein weitaus einfacheres (und zuverlässigeres) Design als ein Addierer, der unterschiedliche Spannungspegel wie die beschriebenen verwendet. (Und ich möchte gar nicht darüber nachdenken, wie Sie Multiplikation, Division oder Gleitkommazahlen durchführen würden.) Außerdem benötigen Sie ohnehin eine binäre digitale Logik, um den Rest des Computerprozessors zu implementieren.

Die Tatsache, dass Menschen im Umgang mit Computern lieber Dezimalzahlen verwenden, ist alles andere als irrelevant: Die Konvertierung zwischen Binär- und Dezimalzahlen ist ein trivialer Code.

Es ist erwähnenswert, dass es einige sehr frühe Computer gab, die Zahlen als Dezimalstellen speicherten. Aber sie taten dies nicht mit unterschiedlichen Spannungspegeln. Stattdessen verwendeten sie Schaltkreise, die „Ringzähler“ genannt wurden und im Grunde zehn Bits Speicher waren, die so eingerichtet waren, dass immer nur eines der zehn Bits „1“ sein konnte. (Schlagen Sie „Dekatron“ nach.)

Später gab es „Dezimalrechner“ wie den IBM 1401 und den IBM 1620, aber auch sie alle verwendeten grundsätzlich binäre Speicher. Die Bits wurden lediglich verwendet, um Dezimalziffern auf verschiedene Weise darzustellen. Der 1401 verwendete beispielsweise „binär codierte Dezimalzahlen“, bei denen ein Satz von vier Bits verwendet wurde, um jede Dezimalziffer zu codieren. Computer wie dieser waren zu ihrer Zeit sehr erfolgreich, und die meisten Rechner funktionieren noch immer so.

Kurz gesagt, obwohl die Dezimaldarstellung sinnvoller erscheint, liegt das eigentlich nur daran, dass wir als Zivilisation daran gewöhnt sind. Die Binärdarstellung ist für Computerschaltkreise nach allen Maßstäben der Technik sinnvoller. (Und außerdem, wenn wir ein bisschen schlauer gewesen wären, wären wir mit unseren Fingern aufgewachsen, um im Binärsystem zu zählen, und könnten nicht nur bis 10, sondern bis 1023 zählen! :) )

Antwort2

Der von Dir zitierte Artikel beantwortet Deine Frage sehr gut, Du musst nur noch ein bisschen darüber nachdenken.

Die Hauptgründe für die Verwendung der Binärdarstellung zur elektronischen Datenspeicherung und -übertragung sind die Komplexität der Schaltkreise und die Rauschtoleranz.

Ein weiterer wichtiger Grund ist, dass für die Datenspeicherung Binärzahlen der kleinste gemeinsame Nenner sind. Sie können alle Daten effizient und ohne Overhead im Binärformat darstellen. Die Verwendung von mehr als 2 Zuständen würde bei der Darstellung sehr einfacher (z. B. binärer) Daten häufig zu Overhead führen.

Was den letzten Teil Ihrer Frage betrifft, muss ich Sie daran erinnern, dass wir uns mit dem Fortschritt der Elektronikkomponentenindustrie in Richtung niedrigerer Spannungen bewegen, nicht in Richtung höherer. 50 Volt an den IO-Pins des Hauptspeichers Ihres Computers wären sehr unpraktisch, gefährlich und teuer. Moderner Computerspeicher verwendet normalerweise etwa 1,5 V.

Ich empfehle folgende Lektüre:

Antwort3

Der Speicher basiert auf Transistoren, die zwar analoger Natur sind, aber binär verwendet und an ein Taktsignal (MHz) gekoppelt werden. Der einfachste Speicher ist ein J/K (Q/Q') Flipflop. Diese Anordnung aus 4 einfachen NAND-Gattern ist das grundlegende Bit des digitalen Speichers – es speichert eine 1 oder eine 0. Das Flipflop kann keine nicht-digitalen oder Mehrfachwerte speichern.

Ein weiterer Aspekt ist das Taktsignal, das für die Speicherung der Werte sorgt. Es gibt einen Zeitpunkt, an dem sich die Werte ändern und der Ausgang unbestimmt ist. Das Taktsignal wird so gewählt, dass es etwas länger ist als die Zeit, die der Ausgang zum Einschwingen benötigt. Dadurch werden die Werte gespeichert und die Berechnung wird fortgesetzt. Wenn sich die Werte nicht rechtzeitig für den Taktimpuls einschwingen, wird der falsche Wert übertragen und der Computer stürzt ab.

verwandte Informationen