PicoRAM 2090 - SRAM-Emulator & Multi-Erweiterung für Busch Microtronic mit Rasperry Pi Pico

Beitrag #7534497 wurde von einem Moderator gelöscht.
Beitrag #7538606 wurde von einem Moderator gelöscht.
Gast #7539903
Lesenswert?

Vanye R. schrieb:

Du brauchst zwei Dualcore prozessoren um etwas SRAM zu simulieren? Hast du dich schonmal gefragt wie man "Dekadenz" definiert? :-D

Vanye

Schade dass Du nicht Dich nicht erst einmal informierst bevor Du Deinen Dünnsinn ablässt. Wenn Du das getan hättest, wäre Dir u.U. klar geworden, dass es nicht "nur" um SRAM-Emulation geht... und nein, mit einem 8Bit AVR geht das nicht, was hier geleistet wird. der 2. Kern wird durchaus benötigt.

Beitrag #7539933 wurde von einem Moderator gelöscht.
Beitrag #7539936 wurde von einem Moderator gelöscht.
Gast #7539938
Lesenswert?

Aber hier noch einmal etwas konstruktiver:

  • der 1. Kern implementiert SRAM in einer "tight loop"

  • und nicht nur SRAM, sondern auch Bank Switching (16 Banks). Diese können sowohl über erweiterte Op-Codes, also auch per GUI selektiert werden.

  • Über die SD-Karte können Bänke mit Programmen beladen und auch gespeichert werden (Memory Dumps)

  • der 2. Kern implementiert das GUI (OLED Display), SDCard Interface, Zugriff auf Hardware-Erweiterungen (DECtalk, RTC) und Pico Sound.

  • es sind 2 I2C (RTC, OLED Display) und 2 SPI Erweiterungen an Board (TTS Board / DECtalk von MikroE, SD-Card Modul von Adafruit)

  • der 2. Kern implementiert Befehlserweiterungen indem inhaltsleere, existierende Op-Codes des 2090 verwendet werden, um die Erweiterungen anzusprechen - "erweiterte Op-Codes". Z.B. MOV x->x, ADDI 0->x, ... Z.B. um Grafik auf dem OLED anzuzeigen, dem DECtalk ein Byte zu senden, etc.

  • diese "erweiterten Op-Codes" erhalten ihre Argumente entweder immediate, direkt im Code (esay), oder können ebenfalls auf das Register Memory zugreifen, der nicht im SRAM ist (sondern auf dem TMS1600 direkt),über einen Trick: temporäres Einblenden von "Interrogations-Programmen" (hard!)

  • diese Interrogations-Programme blenden (transparent vom User Program) ein "Unterprogramm" über eine temporäre Speicherbank ein, die über Vergleiche und bedingte Sprünge den aktuellen Registerinhalt eines Registers indirekt ermitteln. Der Pico beobachtet das Programm beim Ausführen (er hat ja nur Zugriff auf SRAM Address- und Datenbus, nicht aber auf das Register-Memory auf dem TMS1600 direkt!), und kann anhand der bedingten Sprünge den Register-Inhalt des "interrogierten Registers" ermitteln.

Ohne 2. Kern würden diese Sachen nicht funktionieren; das SRAM muss ja ständig bedient werden. Der Pico wurde übrigens auf 250 MHz übertaktet damit das so ohne Glitches funktioniert.

Gast #7540071
Lesenswert?

Schön und gut, aber diese "Kritik" kam jetzt schon 3fach auf unterschiedlichen Kanälen. Günstiger als der Pico geht's doch wohl auch kaum? Der Einwand der Verschwendung kommt meist von Leuten, die selbst Blinklichter mit nem 555 basteln... Das nervt. Das Projekt hat schon eine ansprechende Komplexität und nutzt den Pico m.E. gut aus.

Beitrag #7544361 wurde von einem Moderator gelöscht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren