Schönen Sonntag ihr lieben,
ich versuche rauszufinden wie der C64 mit einer einzigen "Write Enable Line" bis zu 8 Ram Chips (je nach Modell) eigenständig anspricht.
Gruß,
-3dfx
Du bist in Begriff, Forum64 zu verlassen, um auf die folgende Adresse weitergeleitet zu werden:
Bitte beachte, dass wir für den Inhalt der Zielseite nicht verantwortlich sind und unsere Datenschutzbestimmungen dort keine Anwendung finden.
letzter Beitrag von Gerrit am
Schönen Sonntag ihr lieben,
ich versuche rauszufinden wie der C64 mit einer einzigen "Write Enable Line" bis zu 8 Ram Chips (je nach Modell) eigenständig anspricht.
Gruß,
-3dfx
Bei den Boards mit 8 RAMs geht jeweils eine der 8 Datenleitungen an einen RAM-Chip, sodass alle 8 gleichzeitig beschrieben werden (jeder Chip beeinhaltet 1 Bit und alle 8 Zusammen ergeben ein Byte, es gibt auf jedem dieser Chips 65536 Bits, so dass man in Summe die 65536 Bytes = 64 KiB hat).
Bei den Boards mit 2 RAMs gehen jeweils 4 der 8 Datenleitungen an einen RAM-Chip, sodass beide gleichzeitig beschrieben werden (jeder Chip beeinhaltet 4 Bits und beide Zusammen ergeben ein Byte, es gibt auf jedem dieser Chips 4 mal 65536 Bits, so dass man in Summe die 65536 Bytes = 64 KiB hat).
Bei den Boards mit 8 RAMs geht jeweils eine der 8 Datenleitungen an einen RAM-Chip, sodass alle 8 gleichzeitig beschrieben werden
Na das erklärt das ganze...
Ich bin davon ausgegangen das jeweils ein Chip mit vollen 8 bit beschrieben wird.
Dann danke
Weiß jemand, wo die Vor- und Nachteile dieser "Verteilerlösung" liegen?
Ich denke, man hat einfach die RAM-Chips genommen, mit denen man den C64 am günstigsten bauen konnte. Irgendwann war es dann wohl mal einfach günstiger, auf 4-Bit-RAMs umzusteigen, und Commodore hat dafür schnell mal eine neue Board-Revision rausgehauen.
Weiß jemand, wo die Vor- und Nachteile dieser "Verteilerlösung" liegen?
Ja. Du kannst die 8 Chips parallel schalten, bis auf die Datenleitungen halt. Das ist auch in der Praxis genauso gemacht.
Alles außer den Datenleitungen ist miteinander verbunden (RAS,CAS,/WE,CS und alle Adressleitungen)
Damit kannst du mit einmal Adresse anlegen ein komplettes Byte ins Ram schreiben und auch lesen.
Die 4464er arbeiten genauso, nur das die eben halt 4 Datenleitungen haben (also braucht man davon nur zwei Stück)
Also könnte der Vorteil in der Parallelschaltung für Geschwindigkeitsgewinn gelegen haben.
Ansonsten sehe ich da nur Probleme.
Aber wer weiß!? Könnte noch Anderes dahinterstecken.
Würdest Du 8x 8kb hintereinander legen, müsste Du einen Adressdekoder haben, welcher den passenden Ram-Chips auswählt. Das sind wieder ICs, die Geld kosten und eine Verzögerung erzeugen.
Frage: Kann man daran in bestimmten Fällen auch erkennen, welcher RAM-Chip defekt ist?
Ansonsten sehe ich da nur Probleme.
Welche denn?
Das einzige "Problem", was ich dabei sehen könnte, ist, dass man durch den Parallelbetrieb nicht die Möglichkeit hat, den Rechner mit weniger RAMs zu betreiben (wenn z.B. mal einer defekt ist). Wenn man das denn als Problem bezeichnen will.
Unproblematisch wäre ein Betrieb mit hintereinander adressierten RAMs ja auch nicht, nur eben theoretisch "irgendwie möglich". Dann müsste aber im Zweifelsfall die genutzte Software darauf angepasst werden...
Eigentlich ist es m.M.n. richtig so, wie es ist.
Also könnte der Vorteil in der Parallelschaltung für Geschwindigkeitsgewinn gelegen haben.
Ansonsten sehe ich da nur Probleme.
Aber wer weiß!? Könnte noch Anderes dahinterstecken.
Der Grund ist einfach:
Am Anfang gab es nur 64 kb DRAM-IC's. Somit hatte Commodore gar keine Alternative (außer welchen mit weniger Kapazität). Die 256 kb DRAM-IC's kamen erst einige Jahre später auf den Markt und waren am Anfang auch teurer als die 64 kb DRAM-IC's. Erst als die 256 kb DRAM-IC's günstiger einzukaufen waren, hat es sich für Commodore gelohnt, das zu ändern. Das war einfach eine technische Entscheidung und der Wechsel später eine kaufmännische Entscheidung.
Nachteile hat da im C64 oder C16/C+4 nichts, da in den Geräten DRAM's mit 200 ns Zugriffszeit verwendet werden können. Alles was schneller ist, wird nicht ausgenutzt (selbst langsamer würde vermutlich gehen) und war am Anfang, als die Geräte entwickelt wurden auch kaum verfügbar. Damals war 200 ns Zugriffszeit normal.
Weiß jemand, wo die Vor- und Nachteile dieser "Verteilerlösung" liegen?
Als DRAMs entwickelt wurden kosteten Gehäuse mit vielen Pins deutlich mehr Geld als welche mit weniger. Mit dieser Lösung (und gemultiplexten Adressen) bekommt man eben 64Kbit in 16 Pins unter.
Weiß jemand, wo die Vor- und Nachteile dieser "Verteilerlösung" liegen?
Als DRAMs entwickelt wurden kosteten Gehäuse mit vielen Pins deutlich mehr Geld als welche mit weniger. Mit dieser Lösung (und gemultiplexten Adressen) bekommt man eben 64Kbit in 16 Pins unter.
Bist Du Dir sicher, dass die Pinszahl entscheidend sein soll? Soweit ich weiß, war damals das Silizium bzw. die Fläche des Die's der entscheidende Kostenfaktor. Und 1982/1983 war die Technologie noch gar nicht soweit, dass mehr als 64 kb in Masse produziert werden konnten. Alle andere war sehr, selbst die 64 kb DRAM's waren für heutige Verhältnisse sehr teuer und mit ein entscheidender Faktor, dass der C64 am Anfang rapide im Preis runter ging, weil die DRAM's erheblich günstiger wurden.
Der entscheidende Punkt im C64 war sicher, dass keine separate Adressierungslogik benötigt wurde. Sonst hätte man ja auch 64 kBit in 8kx8-Organisation [EDIT] (oder 16kx4, wie beim C16) [/EDIT] verwenden können. Wenn man sich das Adressierungsgehampel im VC-20 ansieht erkennt man das deutlich. Daher wurden 64kx1 (später 64kx4) verwendet - sehr einfaches Design, bis auf DIN/DOUT wird alles zusammengeklemmt, fertig.
Bist Du Dir sicher, dass die Pinszahl entscheidend sein soll?
Der Preis für das Gehäuse kam zum Rest dazu. Ein DRAM mit 8K x 8 hätte mindestens 22 Pins gebraucht und ausserdem mehr Logik zur Ansteuerung. Bei 64 Kbitx1 wird die Ansteuerung einfach und man spart Pins am Gehäuse.
Bist Du Dir sicher, dass die Pinszahl entscheidend sein soll?
Der Preis für das Gehäuse kam zum Rest dazu. Ein DRAM mit 8K x 8 hätte mindestens 22 Pins gebraucht und ausserdem mehr Logik zur Ansteuerung. Bei 64 Kbitx1 wird die Ansteuerung einfach und man spart Pins am Gehäuse.
Ja, das ist schon richtig, aber damals war Die-Fläche im Verhältnis zum Gehäuse deutlich teurer als heute. Dazu kommt noch, dass der Standard auf dem Weltmarkt bei 64-kb-DRAM's halt 64k x 1 war. Ich glaube nicht, dass Commodore da eine Extra-Wurst machen wollte. Das wäre nur teurer geworden und Jack Tramiel hat damals schon sehr genau gerechnet. DRAM war damals viel teurer als ein bisschen Logik. Das sieht man auch gut, wenn man sich die Preise von damals anschaut, was eine Speicheraufrüstung bei anderen Computern gekostet hat.
Jack Tramiel hat - der Legende nach - auf (sehr rasch) fallende DRAM-Preise gesetzt (und recht behalten).
Jack Tramiel hat - der Legende nach - auf (sehr rasch) fallende DRAM-Preise gesetzt (und recht behalten).
Nebenbei hatten die 64Kx1 DRAMs den Vorteil, das sie nur +5V brauchten. Die 16Kx1 brauchten, bis auf ein paar eher spezielle Ausnahmen, zusätzlich noch +12V und -5V. Die Verwendung von 4164 im C64 sparte also Aufwand in der Schaltung, +12V wären wegen VIC und SID da gewesen, aber die -5V hätte man extra erzeugen müssen. Für ein Beispiel sehe man sich die Schaltung im ZX Spectrum an.
Die 64Kx1 hatten also fast nur Vorteile (simple Ansteuerung, einen großen Teil davon erledigt VIC, nur 1 Spannung, wenig Platzbedarf) gegenüber allen Alternativen. Einziger Nachteil war der Preis und der verschwand eben schnell.