Wie groß ist eine einzelne RAM-Zelle?

Ich studiere alleine, wie der PC funktioniert, und ich verstehe eine Sache nicht. Ein 32- oder 64-Bit-Prozessor unterscheidet sich durch seine Fähigkeit, 2 ^ 32 oder 2 ^ 64 Adressen für die Zellen des RAM zuzuweisen. Was ich nicht verstehe ist, wie groß eine einzelne Zelle ist. Enthält eine einzelne Zelle nur eine 0 oder 1 oder ist sie größer (wie 1 Byte). Und hängt die "Dimension" des Wortes auch mit der CPU-Architektur zusammen?

Antworten (5)

Ein 32- oder 64-Bit-Prozessor unterscheidet sich durch seine Fähigkeit, 2 ^ 32 oder 2 ^ 64 Adressen für die Zellen des RAM zuzuweisen.

Grundannahme ist da falsch. Eine 32-Bit-CPU arbeitet nativ mit 32 Datenbits gleichzeitig. Das heißt, die internen Register und Datenpfade befinden sich in Blöcken von 32, sodass jedes Register 32 Bits hat und Daten in Blöcken von 32 Bits verschoben werden. Bei einer 64-Bit-CPU sind es 64 Bit pro Register, und Daten werden in Blöcken von 64 Bit verschoben.

Es ist oft der Fall, dass der Adressbus die gleiche Größe wie die interne native Architektur hat, nur weil das praktisch ist. Dies ist jedoch nicht immer der Fall. Nehmen Sie die Z80-CPU. Es ist eine 8-Bit-CPU, hat aber einen 16-Bit-Adressbus.

Eine Speicherzelle enthält entweder eine 1 oder eine 0. Es ist ein Bit. Sie werden in Wörter der Speicherschnittstelle gruppiert, und Sie greifen entweder als ganze Wörter oder im Fall einer Reihe von Chips als Teile von Wörtern auf den Speicher zu (viele Chips haben die Fähigkeit, die Daten zu "maskieren", um zu funktionieren mit nur einem oberen oder unteren Byte, sagen wir).

Aus Sicht der CPU ist ein Wort die Breite ihrer internen Architektur, eine 32-Bit-CPU arbeitet also mit 32-Bit-Wörtern. Aus Sicht des RAM-Chips entspricht ein Wort der Größe seiner Datenschnittstelle, ein 16-Bit-RAM-Chip hat also 16-Bit-Wörter.

Für die beste Effizienz sollten Sie die Architekturgröße der CPU und die Busbreite des RAM anpassen. Dies könnte entweder mit einer 32-Bit-CPU und 32-Bit-RAM oder häufiger durch paralleles Hinzufügen mehrerer RAM-Chips erfolgen, beispielsweise einer 64-Bit-CPU und vier 16-Bit-RAM-Chips, wobei jeder RAM-Chip ein Viertel verarbeitet der Datenleitungen. Das ist natürlich nicht immer möglich. Nehmen Sie die gute alte 68000 CPU. Intern ist es ein 32-Bit-Prozessor - er hat jedoch nur einen 16-Bit-Datenbus, kann also nur 16 Bit Daten gleichzeitig lesen oder schreiben. Dies wird oft als 16/32-Bit-Prozessor bezeichnet.

Gute Antwort. Beispielsweise kann das 32-Bit-x86 mit PAE ( en.wikipedia.org/wiki/Physical_Address_Extension ) Speicher im Wert von 48 Bit adressieren.

Unter einer einzelnen RAM-Zelle wird verstanden, dass sie ein einzelnes Bit enthält, unabhängig davon, welche Technologie sie verwendet (DRAM, SRAM, FRAM usw.). Dies unterscheidet sich von Flash, bei dem eine Zelle dank technologischer Fortschritte wie MLC mehrere Bits enthalten kann .

In modernen CPUs bezieht sich eine Adresse auf Byte, also 8 Bit. (Die Dinge waren in der Geschichte anders, aber das ist jetzt mehr oder weniger geklärt).

Auch in modernen 32- und 64-Bit-CPUs sind die Adress- und Datenbusse gleich groß, sodass eine 32-Bit-CPU 2 ^ 32 Bytes "nativ" adressieren kann und eine 64-Bit-CPU 2 ^ 64 Bytes adressieren kann. (Eine CPU kann immer Hardwarefehler wie Banking oder Segmentierung verwenden, um mehr Speicher zu adressieren, aber die Verwendung eines solchen Schemas ist umständlicher als die Verwendung nur der "nativen" Adressgröße.)

Die Frage verschmilzt / verschmilzt mehrere unterschiedliche Konzepte.

Der Adressraum einer 32-Bit- und 64-Bit-Central Processing Unit (CPU) ist typischerweise 2 32  Und  2 64 Bytes. Obwohl einige Maschinen jede Adresse verwendet haben, um auf Wörter zuzugreifen , die keine Bytes sind, ist dies bei modernen CPUs viel seltener. Eine frühe Bedeutung von "Byte" war "die kleinste adressierbare Speichereinheit", obwohl heutzutage jeder 8 Bit meint.

Ein Schlüsselmerkmal ist, dass die Speicheradresse selbst 32 Bit oder 64 Bit beträgt und daher auf bis zu zugreifen kann 2 32  Und  2 64 Speichereinheiten, Bytes.

Eine einfache Ansicht ist, dass ein 32-Bit-Prozessor typischerweise mit 32-Bit-Daten arbeitet und eine 64-Bit-CPU mit 64-Bit-Daten arbeitet. Das trifft auf moderne CPUs nicht ganz zu. Beispielsweise können alle High-End-32-Bit-CPUs mit 64-Bit-Gleitkommazahlen arbeiten, und einige unterstützen 64-Bit oder mehr, die in einem Vorgang verarbeitet werden können. Außerdem können die meisten CPUs auf kleinere Einheiten wie 8 oder 16 Bit reagieren. Es ist also etwas dezenter, aber das einfache Modell ist bequem.

Eine weitere Annäherung ist, dass eine 32-Bit-CPU 32 Bit Daten gleichzeitig abruft und eine 64-Bit-CPU 64 Bit Daten gleichzeitig aus dem Speicher abruft. Das ist aus mehreren Gründen etwas zu einfach. Am einfachsten sind Speichersysteme von der CPU durch einen Speichercontroller entkoppelt, der Speicher in größeren Einheiten abrufen kann. Der Speichercontroller einer CPU kann also 128 Bits in einem Lesevorgang aus dem Speicher abrufen. Sogar MCUs wie der 32-Bit-Cortex-M von ARM (ungefähr so ​​einfach wie das ARM-Design) können mit breiten Lesevorgängen, beispielsweise 64 oder 128 Bit, aus dem Programmspeicher implementiert werden.

Schließlich kann eine 64-Bit-CPU möglicherweise 64-Bit-Adressen verarbeiten, sie implementiert jedoch möglicherweise keinen 64-Bit-Adressbus. 2 64 Ist 1.8 10 19 Einheiten des adressierbaren Speichers (Bytes), was wahrscheinlich nicht praktikabel ist, so dass stattdessen der physikalische Adressbus viel kleiner sein kann, dh nur 40+ Bits.

Als „Vereinfachung“ verarbeitet also eine 32-Bit-CPU 32-Bit-Adressen und -Daten, und eine 64-Bit-CPU verarbeitet 64-Bit-Adressen und -Daten, aber die Realität ist subtiler und anspruchsvoller.

Übrigens - eine "Zelle" wird normalerweise als Speichereinheit interpretiert und ist in den meisten Speichertechnologien ein Bit. Diese sind in größeren Einheiten, beispielsweise Bytes, organisiert, weil es bequemer ist, größere Dateneinheiten zu adressieren und abzurufen.

Im Jahr 2018 beträgt eine einzelne Speicherzelle (1/0) etwa 40 nm^2, aber diese Größe variiert je nach Hersteller und verwendeter Technologie.

Willkommen bei EE.SE :-) Obwohl der Titel der Frage mehrdeutig ist, glaube ich, dass Sie die Einzelheiten der Frage missverstanden haben. Das OP fragte nicht nach der physischen Größe. Stattdessen fragten sie, was eine einzelne RAM-Zelle aufnehmen kann . Zitat aus der Frage: " Was ich nicht verstehe ist, wie groß eine einzelne Zelle ist. Enthält eine einzelne Zelle nur eine 0 oder 1 oder ist sie größer (wie 1 Byte). Und auch die "Dimension" des Wortes Zusammenhang mit der CPU-Architektur? " Wie Sie sehen, werden diese Punkte in Ihrer Antwort nicht angesprochen, aber sie wurden in den anderen Antworten angesprochen.
Ich gebe Ihnen jedoch +1 für die Mühe, da Sie die Frage beantwortet haben und OP die Größe nicht klar war .

Die Größe der Zelle hängt von der Technologie ab. Es gibt zwei Haupttypen, die in modernen Prozessoren verwendet werden:

Größen und Typen

Das erste ist SRAM, es erfordert mehr Transistoren (und besteht nur aus Transistoren), daher erfordert es mehr Größe und mehr Leistung. Es gibt auch mehr Wärme ab. Der Vorteil ist, dass es seinen Zustand behält, solange es Strom hat und nicht aufgefrischt werden muss. Es ist auch viel schneller als andere Arten von RAM. Aus diesem Grund wird es hauptsächlich in Prozessoren und Puffern verwendet.

Das zweite ist DRAM, es besteht aus einem Kondensator und einem Transistor, weniger Größe, weniger Leistung. Das Problem dabei ist, dass der Kondensator eine sehr kleine Strommenge abgibt und nach einer bestimmten Zeit seinen Zustand verliert.

Geben Sie hier die Bildbeschreibung einQuelle: Überblick über neue nichtflüchtige Speichertechnologien

Dies zeigt die relativen Größen der RAMs, eine einzelne Bitzelle von SRAM ab 2014 und ein 10-nm-Prozess können 0,014 um ^ 2 sein, eine DRAM-Zelle für denselben Prozess wäre ungefähr 6-mal kleiner.

Geben Sie hier die Bildbeschreibung ein
Quelle: https://www.quora.com/Will-CPU-chips-contain-the-entire-RAM-in-the-future

Adressierung und Steuerung

Die Hardware für DRAM und SRAM ist von ähnlicher Natur, beide benötigen Zeilen- und Spaltenadressierung, um die Bits auszuwählen, jedes Bit wird dann in einen Puffer gelesen. Dann kann der gesamte Puffer dorthin gelesen werden, wo er hingehört. Der Unterschied besteht darin, dass die DRAM-Steuerung den Betrieb stoppt und eine ganze Zelle auffrischt, indem der Inhalt gelesen und dann zurückgeschrieben wird, um einen Informationsverlust durch Lecks in Kondensatoren zu verhindern.

Geben Sie hier die Bildbeschreibung ein
Quelle: http://www.primrosebank.net/computers/mtx/components/memory/dram/dram.htm

Geben Sie hier die Bildbeschreibung einQuelle: Design eines 8T-SRAM-Speichers mit geringem Stromverbrauch und hoher Lesestabilität basierend auf dem modifizierten Gate-Diffusion-Eingang (m-GDI) in 32-nm-CNTFET-Technologie

Zukünftige Gedächtnistypen

Es gibt auch andere Arten von Speicher, die nicht zum Mainstream gehören, die Vorteile hinsichtlich Größe und Geschwindigkeit gegenüber aktuellen Technologien und einigen Kompromissen haben. Geben Sie hier die Bildbeschreibung einQuelle: Folie 20