mal was schönes... https://www.heise.de/newsticker/meldung/Mehr-LEDs-MOnSter-6502-blinkt-wieder-3715460.html
Mike B. schrieb: > Was begrenzt bei einem solchen sauberen Aufbau den Takt auf 60kHz? Er hat einzelne Transistoren verwendet und keine fertigen 74xx Gatter. Da haste vergleichsweise riesige Kapazitäten und signifikante Leitungsimpedanz drin. Außerdem muss der Takt halbwegs synchron an verschiedenen Stellen auf der recht großen Platine ankommen.
Jim M. schrieb: > Mike B. schrieb: >> Was begrenzt bei einem solchen sauberen Aufbau den Takt auf 60kHz? > > Er hat einzelne Transistoren verwendet und keine fertigen 74xx Gatter. > Da haste vergleichsweise riesige Kapazitäten und signifikante > Leitungsimpedanz drin. Außerdem muss der Takt halbwegs synchron an > verschiedenen Stellen auf der recht großen Platine ankommen. Naja, bereits vor 10 Jahren hat man einen Transistor -6502 gebaut, der auf 500 kHz läuft: http://6502.org/users/dieter/mt15/mt15.htm Das der taktgenerator aus TTL-Gattern aufgebaut wurde ist m.E. nicht wesentlich von Belang, 60 kHz ist auch für Transistor-CPU's schnarch langsam. Beispielsweise lief der "Saturn Launch Vehicle Digital Computer" aus den Sechzigern mit 2.5 MHz. Ich tippe mal auf die LED's die hier eine extreme Verlangsamung erfordern.
Mike B. schrieb: > Was begrenzt bei einem solchen sauberen Aufbau den Takt auf 60kHz? Im 6502 werden Leitungskapazitäten genutzt, um latente Zustände zwischenzuspeichern. Das erfordert eine minimale Taktrate, sonst hat sich die Ladung zu schnell abgebaut. Man wollte den Monster6502 im single step betreiben können, also Takt bis Null runter. Sonst bringen die LEDs ja nichts. Dazu mussten die parasitäten Kapazitäten durch Parallelschalten realer Kondensatoren erhöht werden. Das wirkt sich leider am oberen Ende des Taktbereiches aus und reduziert die Grenzfrequenz. D.h. man musste sich quasi entscheiden, 0..60 kHz oder 100..500 kHz(?). Null ist halt für einen Demonstrator interessanter.
soul e. schrieb: > Im 6502 werden Leitungskapazitäten genutzt, um latente Zustände > zwischenzuspeichern. Interessant - wusste gar nicht, dass man das damals gemacht hat. Hast Du dazu nähere Infos?
dieses Monster hier http://www.megaprocessor.com/index.html wird bei wohl 20kHz betrieben Bei diesem riesigem Baumaß und diese Leitungslängen aber sicher kein Wunder. Aber für Tetris scheinst zu reichen...
soul e. schrieb: > Mike B. schrieb: > >> Was begrenzt bei einem solchen sauberen Aufbau den Takt auf 60kHz? > > Im 6502 werden Leitungskapazitäten genutzt, um latente Zustände > zwischenzuspeichern. Das erfordert eine minimale Taktrate, sonst hat > sich die Ladung zu schnell abgebaut. Nicht ganz korrekt, zeigt aber in richtige Richtung. Es sind nicht Leitungskapazitäten sondern Kapazitäten am Gate und parasitäre Kondensatoren. Sttichworter sind dynamische Logik und Transmission Gates. Die ersten ARMS waren auch in dynamischer Logik gefertigt und es war eine der wichtigsten Entscheidungen um mit dem ARM ein erfolgreiches IP-Geschäft zu starten diesen auf statisch umzudesignen. https://en.wikipedia.org/wiki/Dynamic_logic_(digital_electronics)
Der, der das Ding gebaut hat, weiss es wohl am besten :-) https://www.youtube.com/watch?v=FzWwUPkSEvs
http://bwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_f01/Notes/chapter7.pdf Ab Seite 282ff vermeine ich einige Beispiele für dynamische Logik zu erkennen.
Pädagoge schrieb: > http://bwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_f01/Notes/chapter7.pdf > > Ab Seite 282ff vermeine ich einige Beispiele für dynamische Logik zu > erkennen. Die dürften sich dann hier wiederfinden: http://www.downloads.reactivemicro.com/Public/Electronics/CPU/6502%20Schematic.pdf Den Schaltplan hat Balazs Beregnyei vor einigen Jahren reverse-engineered. BTW: Den 6502 gab es später auch als CMOS, 65C02. Der war dann komplett statisch, man konnte den Takt anhalten. Den 6502 durfte man auch nicht übermässig lange über die RDY-Leitung anhalten, die hat ebenfalls den Refresh unterbunden. Projekte mit Endlos-DMA (wie z.B. die Microsoft Z80 Softcard im Apple) haben den 6502 deshalb alle paar Millisekunden ein paar Takte laufen lassen.
soul e. schrieb: > Im 6502 werden Leitungskapazitäten genutzt, um latente Zustände > zwischenzuspeichern. Das erfordert eine minimale Taktrate, sonst hat > sich die Ladung zu schnell abgebaut. Sicher hat er diesen Effekt nicht mit dem Transistorgrab nachgebaut. Gruss
soul e. schrieb: > Den 6502 durfte man auch nicht übermässig lange über die RDY-Leitung > anhalten, die hat ebenfalls den Refresh unterbunden. Projekte mit > Endlos-DMA (wie z.B. die Microsoft Z80 Softcard im Apple) haben den 6502 > deshalb alle paar Millisekunden ein paar Takte laufen lassen. Der 6502 hat keinen Refresh gemacht, und beim Apple II hat das der Videocontroller (aus TTL aufgebaut) erledigt, auch wenn die Z80 aktiv war.
Hätte noch einen nahezu neuwertigen Apple IIGS im Keller, will jemand mal auf Vintage Trip (65816) gehen?
hinz schrieb: > Der 6502 hat keinen Refresh gemacht, und beim Apple II hat das der > Videocontroller (aus TTL aufgebaut) erledigt, auch wenn die Z80 aktiv > war. Die Videologik hat keinen Zugriff auf die internen Register des 6502. Das kann er nur selber machen. (Es geht hier um Akku und Program Counter, nicht das externe RAM!)
Im Gegensatz zum 6502 hatte der Z80 einen internen Refreshgenerator für externes DRAM. Der Prozessor selbst hatte aber auch dynamische Logik, was ich damals nach langer, langer Fehlersuche nur auf die harte Tour lernte. Ich hatte mir auch eine Single-Step-Logik gebaut, die auch prächtig funktionierte. Allerdings waren komischerweise die Registerinhalte völlig verbogen... Mich juckt es derzeit etwas im Lötkolben, einen statischen Z80-Clone in diskreter Logik oder gar mit Einzeltransistoren aufzubauen... Dann hat meine Frau wieder etwas zum Löten! ;-)
:
Bearbeitet durch User
Kann er mit der Menge an Transistoren wirklich alle Befehle der CPU ausführen ?
Wieso nicht? Der hat nichts eingespart. Das Original hat gemäss anderer Quelle ~3500 Transistoren.
1 | Components that correspond 1:1 with transistors in the original 6502: |
2 | Total active transistors: 4237 |
3 | 3218 enhancement mode n-channel MOSFETs |
4 | 2588 discrete |
5 | 630 located on 164 quad transistor array chips (26 of these 656 transistors are not used) |
6 | 1019 resistors (the original 6502 used depletion mode MOSFETs in place of resistors) |
:
Bearbeitet durch User
Andreas S. schrieb: > Der Prozessor selbst hatte aber auch dynamische Logik, > was ich damals nach langer, langer Fehlersuche nur auf die harte Tour > lernte. Der Z80? Ach was, sicher?
soul e. schrieb: > hinz schrieb: > >> Der 6502 hat keinen Refresh gemacht, und beim Apple II hat das der >> Videocontroller (aus TTL aufgebaut) erledigt, auch wenn die Z80 aktiv >> war. > > Die Videologik hat keinen Zugriff auf die internen Register des 6502. > Das kann er nur selber machen. > > (Es geht hier um Akku und Program Counter, nicht das externe RAM!) Stimmt, da war was... Ist aber auch schon verdammt lang her.
VOA schrieb: > Andreas S. schrieb: >> Der Prozessor selbst hatte aber auch dynamische Logik, >> was ich damals nach langer, langer Fehlersuche nur auf die harte Tour >> lernte. > > Der Z80? Ach was, sicher? Im Datenblatt von MOSTEK (1979) steht, dass er zwar statisch sei, aber dennoch wird nicht für Betrieb unterhalb 5kHz garantiert.
VOA schrieb: > Der Z80? Ach was, sicher? Ja, ganz sicher. Die neumodischen CMOS-Ausführungen waren aber sicherlich vollstatisch aufgebaut, wenn auch nicht von mir verifiziert. Hier ein paar interessante Informationen zu niedrig getakten Z80. Dort erfährt man auch, dass der 8080 (trotz NMOS) vollstatisch war, nicht aber der Z80. https://groups.google.com/forum/#!topic/sebhc/xB5t-s6zX1o
Andreas S. schrieb: > Ja, ganz sicher. Die neumodischen CMOS-Ausführungen waren aber > sicherlich vollstatisch aufgebaut, wenn auch nicht von mir verifiziert. Ich habe früher den 6502 eingesetzt, unter anderem für Prüfsysteme. Mit einem Empfäner hatte ich Ärger, dass der Prozessortakt den sauberen Abgleich unmöglich machte. Der 65SC02 macht dabei deutlich mehr Sauerei als der NMOS. Aber: Ich habe den tatsächlich angehalten und über externe Hardware den Quarz abgeschaltet. In Richtung der Portbausteine ist dabei eine Phasenbedingung einzuhalten. Dann gab es einen handbedienten Taster "weiter", Quarz wieder ein und das Programm weiterfahren. ------ Ich hatte mal eine längere Suche, mit dem In-Circut-Emulator lief das Programm, mit dem realen NMOS nicht: Der SC-Typ hat ein paar Befehle mehr, und gerade wegen des statischen Verhaltens ist im ICE natürlich der CMOS zwingend.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.