Frage:
Speicherkapazität und Potenzen von 2
Kinka-Byo
2019-07-25 19:29:06 UTC
view on stackexchange narkive permalink

Warum sind Computerspeicherfunktionen oft ein Vielfaches einer Zweierpotenz, z. B. 2 ^ 10 = 1024 Byte?

Ich denke, es hat etwas mit der binären Logik zu tun, aber ich verstehe den genauen Grund dafür nicht.

https://superuser.com/questions/235030/why-are-ram-module-capacities-in-powers-of-two-512-mib-1-2-4-8-gib
Historischer Grund, warum es so ist.Es war einfacher, in Nybble- und Oktalformaten zu arbeiten, als Computeringenieure Befehlssätze erfanden.Lesen Sie die Geschichte der 70er bis 80er Jahre.Könnte auch über frühe Lochkarten lesen.Und ja, Basis 2 ist die einfachste Form der Arithmetik, wenn Sie nur zwei Spannungspegel haben.Lesen Sie auch Transistoren und so weiter.
Vier antworten:
#1
+25
Dave Tweed
2019-07-25 19:37:32 UTC
view on stackexchange narkive permalink

Speicheradressen sind Binärzahlen.Der Bereich einer N-Bit-Binärzahl (ohne Vorzeichen) liegt zwischen 0 und 2 N -1, was insgesamt 2 N verschiedenen Werten entspricht

Da Adressen als Binärzahlen an Speicherchips übergeben werden, ist es sinnvoll, sie mit einer Kapazität von 2 Potenzen aufzubauen. Auf diese Weise wird kein Adressraum verschwendet, und es ist einfach, mehrere Chips / Module zu kombinieren, um größere zu erstellenSpeichersysteme ohne Lücken im Adressraum.

#2
+13
Andy aka
2019-07-25 20:11:31 UTC
view on stackexchange narkive permalink

Ein 1024 x 1-Speicherchip benötigt 10 Adressleitungen und Sie erhalten die volle Auslastung aller Adressen.Wenn jemand einen 600 x 1-Speicherchip herausbringen würde, würde er immer noch 10 Adressleitungen benötigen.9 kann nicht verwendet werden, da dadurch nur 512 Speicherpositionen eindeutig definiert werden können.

Überlegen Sie sich dann, was passieren würde, wenn jemand zwei der 600 x 1-Speicherchips verwenden möchte, um eine kombinierte Speichergröße von 1200 zu erhalten. Wie würden die Adressleitungen (plus 1 weitere) damit umgehen, jeden Adressschlitz eindeutig und numerisch zu erfassen?Wenn eine MCU durch den Speicher inkrementiert wird, um zusammenhängende Daten zu speichern, benötigt diese MCU spezielle Kenntnisse über die nicht verwendeten binären Adressnummern.

Impliziert, aber nicht gesagt: Jede Adresszeile kann zwei Zustände haben, 0 und 1. Wenn Sie Adressleitungen mit drei Zuständen hätten, könnten Sie 59049 Bits haben.(Oder Trits, wenn diese auch Tri-State waren).Aus diesem Grund wird in der Frage ausdrücklich die binäre Logik erwähnt.
@MSalters eigentlich hat das Wort "Tri-State" eine allgemein verstandene Bedeutung, die hochohmig oder offen ist.Ich denke, was Sie meinten, war 3-Staaten.Wir können diese Logik auf Quits, Quad-States usw. usw. erweitern.
#3
+4
Justme
2019-07-25 21:51:16 UTC
view on stackexchange narkive permalink

Mit 1 Adresskabel können Sie auf 2 verschiedene Adressen zugreifen.Mit N Adressbits oder Drähten können Sie auf 2 ^ N verschiedene Adressen zugreifen.Nicht viel komplexer als das Beschriften von 10 verschiedenen Elementen mit einer einzelnen Dezimalstelle oder 26 verschiedenen Elementen mit einem einzelnen Buchstaben (abhängig davon, wie viele Buchstaben Sie natürlich in Ihrem Alphabet haben).

#4
  0
Dmitry Grigoryev
2019-07-26 11:51:43 UTC
view on stackexchange narkive permalink

Dies gilt für Computer, die das Binärsystem zur Darstellung von Zahlen verwenden, und für alle modernen Computer.Das Verwenden von Potenzen der Basis bedeutet das Verwenden runder Zahlen, was die Mathematik viel einfacher macht, und einfachere Mathematik bedeutet eine einfachere Implementierung.

Wie viele Gramm enthält beispielsweise 5 kg?5000, richtig?Stellen Sie sich nun vor, wir definieren ein Kilogramm als eine Einheit von 679 Gramm.Wie viele Gramm sind jetzt 5 kg?



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 4.0-Lizenz, unter der er vertrieben wird.
Loading...