8 Bit Speicher pro Zelle?

Ich bin ein Student der Softwareentwicklung, der seine Hardwarekenntnisse verbessern möchte.

Ich lese gerade Structured Computer Organization von Tanenbaum . In Kapitel 2 sagt der Autor Folgendes:

"[...] In den letzten Jahren haben fast alle Computerhersteller auf eine 8-Bit-Zelle standardisiert [...]".

Ich dachte, das sei richtig, aber bei der Suche über das Internet stellte ich fest, dass es keine Erinnerungen mit 8-Bit pro Zelle gibt!

Meine Frage ist also: Ist es ein Fehler des Autors oder habe ich falsch verstanden, was er zu erklären versuchte? Wenn ja, was ist "normalerweise" die Anzahl der Bits pro Zelle und wie kann ich die Bits pro Zelle meines Gedächtnisses sehen?

Ich bin sicher, Sie meinen nicht "es gibt keine Erinnerungen mit 8 Bit / Zelle": nl.mouser.com/ProductDetail/Alliance-Memory/AS4C128M8D3-12BCN/… Und dann gibt es EEPROM, FLASH usw., es gibt 1000!

Antworten (4)

Es scheint eine gewisse Verwirrung zwischen der Speicherorganisation (die meistens ganzzahlige Vielfache von 8 Bit breit ist) und Bits pro Speicherzelle zu geben.

Das Speichern von mehr als einem Bit pro Zelle kann durch Speichern einer analogen Spannung erreicht werden, in die differenziert werden kann 2 N verschiedene Ebenen für N Bits. MLC-Flash kann 2 oder 3 Bits pro Zelle haben, was 4 oder 8 Ebenen erfordert. Mit zunehmender Bitzahl wird es zunehmend schwieriger und damit fehleranfälliger und schlechtere Ausbeuten.

Es gab/gibt ein analoges IC-Speichersystem von ISD für Nachrichtenrecorder, das ein analoges Signal speicherte, das theoretisch hätte verwendet werden können, um 256 Pegel mit 8 Bit pro Zelle zu speichern, aber es wäre unzuverlässig gewesen, außer für die Speicherung von Analogwerten.
Wie @KalleMP sagt - das ISD-Produkt (jetzt ein anderer Name) ist eines der wenigen, das dies wirklich tut. Ich habe ihre Produkte für die analoge Sprachaufzeichnung verwendet (wie beabsichtigt) und für diesen Zweck funktioniert es sehr gut.
@Russell Ich habe noch ein paar Schienen der ISD-Teile von einem Werbeprojekt vor Jahren übrig.
@SpehroPefhany Ich habe auch einige - 2590er, glaube ich - die in sprechenden Kommunikationshilfen verwendet werden, die ich früher gemacht habe.

Sie müssen bedeuten, dass eine kleinste adressierbare Einheit 8 Bit ist, was als Byte bezeichnet wird, oder manchmal nennen sie diese kleinste adressierbare Einheit sogar eine Zelle. Durch Gruppieren dieser Zellen erhalten Sie ein Wort.

Ein 64-Bit-Computer hat also 8 Zellen / Wort. Es handelt sich also wahrscheinlich um x8-Systeme

Dieses Zitat scheint das Wort "Zelle" zu verwenden, um einen adressierbaren Speicherort zu bezeichnen, wobei die meisten von uns eine Zelle als etwas betrachten würden, das in der Lage ist, ein Bit zu speichern.

Ich kenne den Jahrgang dieses Buches nicht, aber ältere Speicher-ICs waren so organisiert, dass jeder adressierbare Ort 8 Bit (1 Byte oder Speicherwort) speichern würde.

1. Auflage 1974, die, die er gerade liest, wahrscheinlich um 1990 herum. Das Lustige ist, dass viele Systeme immer noch eine Byte-Adressierung zulassen. Ob es auf ihnen schnell oder wünschenswert ist, ist eine andere Sache.

Es gibt so viele Arten von Erinnerungen, die schwer zu beantworten sind.

Was "standardisiert" (welcher Standard?) war, war das Byte (Oktett) als grundlegende Größe auf einem Computer. Dies bedeutet, dass Computer normalerweise mit 8-Bit-Zahlen umgehen können, selbst wenn es sich um 32-Bit-Zahlen handelt. Ein Byte besteht überall aus 8 Bit, aber das Computer-WORD kann andere Größen haben, Multiplikationen eines Bytes (z. B.: 32-Bit-Wort, das aus vier Bytes besteht usw.). Es kann diese Bytes sogar in unterschiedlichen Reihenfolgen anordnen (MSB zuerst, LSB zuerst usw.).

Aber bei Erinnerungen finden Sie vielleicht viele Arten. Möglicherweise finden Sie ein 8-Bit-EPROM oder ein Einzelbit-RAM (wo Sie 8 RAM-Chips gruppieren müssen, um ein einzelnes Byte usw. zu erhalten). Oder sogar volle 64-Bit-Speicher, die jeweils 64-Bit-Wörter übertragen.

Aber selbst wenn alle Speicher unterschiedliche Wortgrößen haben, können Sie immer noch alle Speicher in 8-Bit-Grenzen aDRESSIEREN.

Zum Beispiel :

Wenn Ihre "Zelle" 32 Bit wäre, würde das Programm so im Speicher gespeichert werden:

100 add r1, r2, r3
101 sub r3, r5, r1
102 br 100

Wenn Ihre "Zelle" 8 Bit hat, wird sie so im Speicher gespeichert:

100 add r1, r2, r3
104 sub r3, r5, r1
108 br 100

In der Vergangenheit funktionierten einige Computer wie im ersten Beispiel mit Speicherzellen von 32 Bit (oder 36 oder 24 usw.), sodass in diesem Fall die „Standardisierung“ darin bestand, eine einzelne Speicher-„Zellengröße“ (8 Bit) zu akzeptieren. und daraus andere Größen arbeiten.

Dies bedeutet nicht, dass ein Computer nicht in Klumpen anderer Vielfacher von 8 Bit (16, 32, 64 usw.) auf den RAM zugreifen kann. Möglicherweise haben Sie Anweisungen wie

 MOV EAX, [BP+10000] // hipotetical, i dont know if this addressing mode exists
 // wich will transfer 4 bytes in a single cycle into the EAX.

Aber der BP+10000 in der Anweisung sieht den Speicher immer noch als aus 8-Bit-Zellen bestehend an.