Hallo Besucher, der Thread wurde 50k mal aufgerufen und enthält 209 Antworten

letzter Beitrag von ZEUS am

A600 Vampire II

  • Aber die waren wenigstens von Motorola lizenziert welche herzustellen und somit keine Emulation :D


    Fragt sich allerdings, was da noch zu lizenzieren ist - der Chip kam 1979 auf den Markt und alle Patente darauf sollten abgelaufen sein.


    Mich interessieren eher die philosophischen Erwägungen, die dazu führen, dass eine Hardwareimplementierung als "Emulation" bezeichnet wird. Im Original verwendet der 68000 einen zweistufigen Mikrocode (Stichwort für die Websuche: "nanocode"), was man unter Umständen auch als Emulation ansehen könnte. Eine hypotherische alternative Implementierung des Prozessors, die aus Kostengründen nur auf einem FPGA statt einem ASIC läuft könnte den Prozessor komplett ohne Mikrocode konstruieren - wäre für so etwas wirklich der Begriff "Emulation" sinnvoll?


    Oder sollte es tatächlich Leute geben, die den Begriff an der verwendeten Hardwareimplementierung festmachen? Anders ausgedrückt: Wenn ich den gleichen Verilog-Quellcode eines ARM Cortex M0 einmal für einen FPGA und einmal für einen Full-Custom-ASIC synthetisiere, ist eines davon dann eine Emulation, nur weil die Hardware unterschiedlich umgesetzt wird? Wo liegt dann die Grenze, an der es keine Emulation mehr ist? Es gibt da ein breites Spektrum vom nur einmal programmierbaren FPGA, über sowas wie Alteras Hardcopy (ASIC mit FPGA-Struktur, der durch Änderungen im letzten Maskenset fest konfiguriert wird), Semi-Custom ASIC (Array aus Standardgates, wird in den letzten Metall-Layern passend für das Design verdrahtet), Standardzellen-ASIC (frei definierbarer ASIC, zusammengesetzt aus Standardbauteilen die vom Chiphersteller vorgegeben werden) bis hin zum Full-Custom-ASIC (frei layoutbar aus Einzeltransistoren).


    Oder wird es strikt an "Der Chip ist nicht vom Originalhersteller entworfen" festgemacht? Dann könnten zB die DDR-KC-Rechner mit U880-CPU unter Emulation fallen (irgendein westlicher Z80-kompatibler war angeblich auch unlizenziert - evtl. NEC uPD780?). Oder das NES, dessen 6502 ein unlizenzierter und um den patentierten Dezimal-Modus erleichterter Nachbau ist. Oder die grosse Anzahl von 386/486-kompatiblen Chips im PC-Bereich. Oder die Massen von (oft verbesserten/beschleunigten) Mikrocontroller mit 8051-Kern.

  • Ohne viel Ahnung zu haben finde die Entscheidung statt auf reale Prozessoren auf FPGA zu setzen absolut sinnvoll.
    Hier schlummert Leistung ohne Ende und man ist weg von dem alten Kram.
    Die Prozessoren sind ja auch nicht leicht zu beschaffen und neue gibts ja scheinbar auch nicht mehr.
    800 Stück von Hand zusammenzulöten und zu testen das ware ja eine kaum lösbare Aufgabe.
    Wenn dem so ist, darf man sich wohl an den Gedanken gewöhnen, das es mit den Versionen für A500 und A1200 nichts mehr wird, oder was sinnvoll wäre, man setzt doch auf maschinelle Bestückung auch wenn es dann teurer wird.

  • Ich finde die Vampire II auf jeden Fall ein interessantes Stück Hardware - toll, was sich inzwischen mit FPGAs im Hobbybereich realisieren lässt! Ich finde die Bezeichnung "Emulation" im Bereich der FPGAs eher irreführend und bevorzuge den Begriff "rekonfigurierbare Hardware". Schlussendlich wird die Funktion eines Designs im FPGA durch Verschaltung "echter" Hardware realisiert und man kann jedem im FPGA benutzten Element die jeweilige Funktion zuordnen. Man kann sogar sehen, wo was zu liegen kommt und könnte auch den Signalen von einem Logikelement zum nächsten folgen. Ich hänge mal einen Screenshot an, wo für eine von mir gebastelte 32-bit RISC-V CPU (https://github.com/maikmerten/riscv-tomthumb) hervorgehoben ist, wo im FPGA-Chip (hier ein kleinerer Cyclone IV) was zu liegen kommt (Steuerwerk, Dekoder, Register, ALU und die Buseinheit). Es gibt "echte" Signallaufzeiten und somit "echte" physikalische Auswirkungen, was z.B. die Taktbarkeit des Designs angeht. In dieser Beziehung ist das schon ziemlich nah dran an festverdrahteter Logik in einem ASIC. Im Gegensatz zu einer Software-Emulation könnte ich das Design auch unter Verwendung einer Zellenbibliothek eines Auftragsfertigers zu einem "echten" Chip machen.



    Das heisst natürlich nicht, dass die Leute falsch liegen, die einen FPGA nicht "original genug" für einen Nostalgierechner finden - ich finde das ist persönliche Geschmackssache.


  • Du ich bin da voll auf deiner Seite und meine Beiträge waren eher ironisch gemeint, so dass derjenige sich mal mit dem Thema auseinander setzten sollte...


    Aber nun mal ernsthaft.
    Das Thema kann man aus verschiedenen Aspekten betrachten und es wird sicherlich nie eine abschließende Erklärung geben.


    Ich denke(!) der Verfasser des Textes meinte mit Emulation, dass es kein echter Chip ist aus der Epoche, in dem er wahrhaftig hergestellt und vermarktet wurde. Für alle anderen Erklärungen gibt es immer wieder für und wieder und man kommt zu keinem Schluss.
    Für das Gefühl, es handle sich nur um eine Emulation könnte die Tatsache schuld sein, dass der FPGA einfach zu flexibel ist. Heute bildet er ein 680x0 und morgen einen x86. Einfach durch diese Tatsache, dass es mit einer Funktion beim Booten geimpft wird. Dies wird vermutlich der Hauptgrund dafür sein, dass viele unerfahrene User das ganze als Emulation abtun, was technisch gesehen nicht stimmt. Ich bin mir ziemlich sicher, wäre er weniger flexibel, z.B. durch die eine Beschränkung, dass er nur einmal mit einem Image bespielt werden könnte, würden die meisten schon nicht mehr von Emulation sprechen.


    Eine Technische Erklärung wird hier nicht helfen, denn wie du auch schreibst könnte man bei genügend Geldmitteln den Verilog/VHDL-Code auch in ein Asic kippen und hätte dann einen "echten" Chip. Fehlen würde nur der damals originale Aufdruck.
    Das Thema microcode lass ich mal unterm Tisch fallen, denn nahezu jeder komplexere Chip hat diesen im Bauch und es wäre jetzt sehr sonderbar bei diesem Begriff von Emulation zu sprechen oder? Dann dann wäre ja jeder x86 seit dem ersten Pentium (oder wars doch schon früher?) nur noch eine Emulation.

  • Du ich bin da voll auf deiner Seite und meine Beiträge waren eher ironisch gemeint, so dass derjenige sich mal mit dem Thema auseinander setzten sollte...

    Also ich finde es schon spannend, mal die "Grenzen" des recht schwammig definierten Begriffs auszuloten =)


    Zitat

    Dann dann wäre ja jeder x86 seit dem ersten Pentium (oder wars doch schon früher?) nur noch eine Emulation.

    Schon der allererste 8086 war mittels Microcode implementiert, weil das typischerweise kompakter ist als alles in hartverdrahteter Logik umzusetzen.


    Zitat

    nahezu jeder komplexere Chip hat diesen im Bauch und es wäre jetzt sehr sonderbar bei diesem Begriff von Emulation zu sprechen oder?

    Es gibt dann noch diese interessanten Fälle von Architekturen mit nachladbarem Microcode, die bei der Emulation eines älteren Systems einen Microcode verwenden, der entweder den Job erleichtert oder gar den kompletten Befehlssatz des alten Systems abbildet.

  • Moin!


    Hab ich gerade Salz in Wunden gestreut? :D Mein Wort hat ja ne regelrechte Diskussion ausgelöst! :bgdev
    Es geht mir nicht um ethnische Ansichten, was drauf steht oder ob es sich um einen original Chip handelt - oder nicht.


    Ich habe Emulation geschrieben, da der FPGA halt in Software programmiert wird und man eine Schaltung nicht 1:1 nachbauen kann, da die ganzen Abläufe in der original Hardware nicht bekannt sind. Das bedeutet, es wird nie ein Orignal 1:1 nachbau im FPGA sein. Wenn dem so wäre, würde eine FPGA Progammmierung ja sofort wie das original laufen und es gäbe keine Bugs mehr. Das ist selbst beim Chamäleon der einfacher als ein Amiga ist nicht gegeben. Timings sind auch alle unbekannt und schwierig nachzuahmen.


    Auch, wenn ein FPGA Vorteile hat wie sehr wenig Stromverbrauch, günstig, kein Betriebssystem im Hintergrund, niedrige Latzenz und tatsächlich Abläufe parallel ablaufen lässt, wie echte Hardware, ist es nun mal trotzdem nicht 1:1, weil man es einfach nicht hinbekommt.
    Demnach ist es eine Emulation, Simulation oder wie auch immer man es nennen mag.


    VG
    PhantombrainM

  • Das der 68k-FPGA nicht perfekt ist liegt einfach daran, dass die Leute das mit begrenzten mitteln machen.
    Wenn man nen 68000er abschleift und unter ein Mikroskop legt und dieses dann analysiert ist es sehr wohl möglich eine 1:1 Kopie davon zu machen. Und diese Kopie hätte dann alle Fehler des Originals. Dies wäre aber bei der Anzahl an Transistoren sicherlich eine schöne langwierige Aufgabe.
    Und ich bin mir nicht sicher wie viele 68er eigentlich Fehler von der Produktion tragen, aber es keinem aufgefallen ist, da sie nur unter bestimmten Bedingungen auftreten.

  • Ich habe Emulation geschrieben, da der FPGA halt in Software programmiert wird und man eine Schaltung nicht 1:1 nachbauen kann, da die ganzen Abläufe in der original Hardware nicht bekannt sind.

    Und was ist mit der oben beschriebenen Situation, wo man aus dem gleichen Stück Quellcode entweder einen FPGA-Bitstream oder einen ASIC synthetisiert?


    Gibts übrigens für den 68000 von Cadence.


    Wenn man nen 68000er abschleift und unter ein Mikroskop legt

    zB hier


    Zitat

    und dieses dann analysiert

    zB hier


    Zitat

    Dies wäre aber bei der Anzahl an Transistoren sicherlich eine schöne langwierige Aufgabe

    Unterschätze niemals das Potential gelangweilter Nerds! ;)

  • Ich habe Emulation geschrieben, da der FPGA halt in Software programmiert wird

    Wobei wohlgemerkt in den FPGA kein Programm (im Sinne einer Sequenz von Befehlen) geladen wird, sondern eine Konfiguration, die die "Verdrahtung" der Logik im FPGA erledigt. (Nicht dass ich unterstellen will, dass Du was anderes meintest, nur zur Vermeidung von Missverständnissen.)


    Wenn dem so wäre, würde eine FPGA Progammmierung ja sofort wie das original laufen und es gäbe keine Bugs mehr. Das ist selbst beim Chamäleon der einfacher als ein Amiga ist nicht gegeben.


    Ich meine gehört zu haben, dass es einfacher ist, einen Amiga nachzubauen als einen C64. Bei letzterem stecken doch viele Käferchen drin, deren Besonderheiten man ganz genau treffen muss, damit auch "trickreiche" Software richtig läuft. Im Vergleich soll wohl der Amiga-Chipsatz "langweiliger" (also vorhersagbarer) sein, mit weniger Randfällen. Man mag mich korrigieren, sollte ich mich da irren.

  • Am Wochenende hab ich eine Mail bekommen. Die Vampire kann jetzt ausgeliefert werden. Allerdings nicht mehr für 150€, sondern für 250€ vzw. 298€.
    Da hört dann doch meine Begeisterung auf. Alles im Detail hier (englisch).
    http://www.kipper2k.com/updates.html

  • Autsch. Das muss ich mir nun auch nochmal genauestens überlegen. Allerdings ist es aus Perspektive Kipper2k der einfachste Weg, die Nachfrage zu senken, wenn das Angebot sie sowieso niemals bedienen könnte.


    Gesendet von meinem D6503 mit Tapatalk

    Gruß, Goethe.
    _______________
    C64, C128DCR, SX64, C16, plus/4, A1200+Blizzard1230/IV, A600HD+Vampire600V2, A300+ACA620, MEGA65, Atari 800+810
    Vectrex, Game Boy, NDSi, GameCube, Game Gear, Mega Drive, Mega CD, 32X, Multimega, Nomad, Saturn, Dreamcast, XBox, PS2, PSP, PS3, PS Vita, Ouya, PS4, PS5

  • Schade, dass das Teil dann trotzdem noch aus Kanada kommt -> Umsatzeinfuhrsteuer.


    Aber immerhin ist die Zeit der großen Sprüche jetzt vorbei. Ich hatte irgendwo ziemlich "selbstbewusste" Tone gelesen, dass die iComp quasi fällig wäre, weil niemand mehr eine ACA kaufen würde. Und schon hat die Realität die Vampire eingeholt :)