Guten Abend, ich würde gern auf verschiedenen Z80-artigen Architekturen ein paar Standardbenchmarks (Whetstone, Dhrystone, Coremark) ausführen. Dazu bräuchte ich Boards, die über mindestens mindestens 16 KB Programmspeicher sowie zusätzlich 6KB RAM verfügen. Zur Datenausgabe sollte RS232 dienen. Und das auszuführende Programm sollte sich von einem GNU/Linux-Rechner aus möglichst mit freien Werkzeugen auf das Board laden lassen. dabei interessiere ich mich für folgene Architekturen: * Z80 * Z180 * Rabbit 2000 oder 3000 * Rabbit 3000A oder 4000 * TLCS-90 * LR35902 * HC08 * S08 * 8051 * PIC16 Was könntet Ihr mir empfehlen? Philipp
Philipp Klaus K. schrieb: > * Z80 > * Z180 > * Rabbit 2000 oder 3000 > * Rabbit 3000A oder 4000 Soweit kann ich folgen. > * HC08 > * S08 > * 8051 > * PIC16 Aber diese als "Z80-artig" zu betrachten fällt mir etwas schwer. Und das mit den 6KB RAM könnte sich beim PIC16 als interessante Aufgabe erweisen.
:
Bearbeitet durch User
Hilfreich wäre auch ein Compiler, der die Stärken der jeweiligen Prozessoren ausspielen kann. Dem SDCC traue ich da nicht über den Weg.
Philipp Klaus K. schrieb: > Standardbenchmarks (Whetstone Den Whetstone als Standardbenchmark für diese Klasse von Architekturen zu betrachten ist auch ein leicht wunderlicher Gedanke.
A. K. schrieb: > Philipp Klaus K. schrieb: >> * HC08 >> * S08 >> * 8051 >> * PIC16 > > Aber diese als "Z80-artig" zu betrachten fällt mir etwas schwer. Und das > mit den 6KB RAM könnte sich beim PIC16 als interessante Aufgabe > erweisen. Ja, da hätte ich besser den gesamten Beitrag nochmal in Ruhe durchgelesen, nachdem ich mich dann doch entschieden hatte diese vier Architekturen, die mir nicht so wichtig wie die anderen sind, doch noch an die Liste anzuhängen. Philipp
A. K. schrieb: > Philipp Klaus K. schrieb: >> Standardbenchmarks (Whetstone > > Den Whetstone als Standardbenchmark für diese Klasse von Architekturen > zu betrachten ist auch ein leicht wunderlicher Gedanke. Er mag ja als Benchmark für diese Architekturen unüblich sein, aber er ist ein Standardbenchmark, und er lässt sich auf diesen Architekturen ausführen. Philipp
S. R. schrieb: > Hilfreich wäre auch ein Compiler, der die Stärken der jeweiligen > Prozessoren ausspielen kann. Dem SDCC traue ich da nicht über den Weg. Für alle der geannten Architekturen, oder nur für bestimmte davon? Falls letzteres, welche? Und wie sieht es mit SDCC für STM8 aus? Philipp
Philipp Klaus K. schrieb: >> Dem SDCC traue ich da nicht über den Weg. > > Für alle der geannten Architekturen, oder nur für bestimmte davon? Falls > letzteres, welche? Und wie sieht es mit SDCC für STM8 aus? Meine (begrenzten) Erfahrungen stammen nur vom Z80, decken sich aber mit denen eines größeren Projekts. SDCC braucht deutlich mehr Händchenhalten als z.B. avr-gcc, und macht beim Übersetzen gelegentlich auch groben Unfug. Man sollte ständig mit einem Auge auf den generierten Code schielen. Der Linker ist auch nicht wirklich mein Freund. Zu STM8 und PIC16 kann ich nichts sagen, aber meines Wissens ist 8051 die Hauptarchitektur vom SDCC und wird am besten unterstützt.
S. R. schrieb: > Meine (begrenzten) Erfahrungen stammen nur vom Z80, decken sich aber mit > denen eines größeren Projekts. SDCC braucht deutlich mehr Händchenhalten > als z.B. avr-gcc, und macht beim Übersetzen gelegentlich auch groben > Unfug. Man sollte ständig mit einem Auge auf den generierten Code > schielen. Heißt "grobe[r] Unfug" fehlerhafter, oder nur ineffizienter Code? Welche Version von SDCC war es? Philipp
Gelegentlich wurde mir C-Code und daraus generierter Asm-Code gezeigt, wo man nur mit dem Kopf schüttelt. Aber gelegentlich hat der Compiler auch mal Register erst überschrieben und dann benutzt statt umgekehrt, oder die eigenen lokalen Variablen falsch adressiert (und dann natürlich die falschen Bytes überschrieben), oder sowas. Wenn man leicht ungewöhnlichen C-Code schreibt (am Rande des Verbotenen), dann generiert SDCC gelegentlich auch Mist. Also muss man aufpassen, ein Auge auf dem Ergebnis halten und im Zweifelsfall auch mal Händchen halten (z.B. Register manuell reservieren oder Pointerarithmetik in C ausschreiben, statt eine komplexe struct zu benutzen).
Zilog fertigt immer noch Z80-Prozessoren. Die sind allerdings ein klein wenig moderner. http://www.zilog.com/index.php?option=com_product&task=product&businessLine=1&id=77&parent_id=77&Itemid=57 Dazu gibts einen JTAG-artigen Debugger und eine Windows IDE mit ziemlich gutem Compiler und einem RTOS. Wenn Du den gesehen hast, willst Du keinen SDCC mehr. fchk
Frank K. schrieb: > Zilog fertigt immer noch Z80-Prozessoren. Die sind allerdings ein klein > wenig moderner. Moderner, und auch kein Z80 mehr: der eZ80 ist ja schon eine 8/24-bit-Architektur, mit 24-bit breiten Registern und Adressen. Philipp Edit: Zilog stellt auch noch richtige Z80 und Z180 her, aber bietet dafür, so weit ich weiß, selbst keine Compiler an.
:
Bearbeitet durch User
Philipp Klaus K. schrieb: > Frank K. schrieb: >> Zilog fertigt immer noch Z80-Prozessoren. Die sind allerdings ein klein >> wenig moderner. > > Moderner, und auch kein Z80 mehr: der eZ80 ist ja schon eine > 8/24-bit-Architektur, mit 24-bit breiten Registern und Adressen. startet aber immer noch nach einem Reset im Z80-Modus und ist hier absolut binärkompatibel. Der Compiler sollte das auch können.
Philipp Klaus K. schrieb: > dabei interessiere ich mich für folgene > Architekturen: * Z180 Bitteschön: Beitrag "Re: Z180-Stamp Modul"
Joe G. schrieb: > Philipp Klaus K. schrieb: >> dabei interessiere ich mich für folgene >> Architekturen: * Z180 > > Bitteschön: > Beitrag "Re: Z180-Stamp Modul" Da ist ein unübershichtlicher Thread mit ca. 500 Beiträgen, Du verlinkst auf einen Beitrag, in dem etwas von einem "BUS-LP" steht, einem Begriff, der im ganzen Thread noch genau im Beitrag darunter vorkommt, sonst nirgendwo. Es ist im Thread noch ein svn verlinkt, in dem es ein Verzeichnis "doc" gibt, da gibt es dann pdfs mit Platinenlayouts, und Pinouts für das "Z180-Stamp Modul". Gibt es zu diesem "Z180-Stamp Modul" und "BUS-LP" noch irgendeine Wikiseite oder sonstigen Überblick? Selbst eine einfache Textdatei mit einer kurzen Beschreibung, worum es geht, wäre hilfreich. Philipp
Philipp Klaus K. schrieb: > Da ist ein unübershichtlicher Thread mit ca. 500 Beiträgen, Ich stimme Dir zu, dass der Thread für einen Mathematiker recht unstrukturiert erscheint, Feinmechaniker scheinen doch mehr praktisch veranlagt zu sein ;-) Nein, es existiert weder in Wiki noch eine kurze Textdatei zum Z180 System. Die einzige textliche Dokumentation im SVN ist die Datei Stamp_Doku.PDF. Eine kurze Übersicht [1] ist gerade im Aufbau, wird jedoch erst ende der Woche freigeschaltet. Kurzübersicht Das Z180-Stamp Modul beinhaltet nichts weiter als einen Z180 Prozessor sowie 512kx8 statischen RAM, linear adressierbar. Alle Busleitungen des Z180 sind auf zwei Stiftleisten seitlich rausgeführt. Weiterhin existiert ein weitgehend pinkompatibles AVR-Stamp Modul. Dieses beinhaltet nichts weiter als einen AVR und etwas Peripherie (seriell/USB, SD-Card, RTC). Über ein Monitorprogramm [2] kann nun der AVR den RAM des Z180 übernehmen und dort Lese- und Schreiboperationen ausführen. Weiterhin lassen sich Programme ablegen, starten oder debuggen. Dazu beinhaltet der Monitor auch ein eigenes DDTZ. Die angedeutete Busplatine ist nicht zwingend notwendig. Sie beinhaltet nur noch etwas zusätzliche Hardware. Für ein Minimalsystem können beide Stamp-Module direkt übereinander gesteckt werden [3]. Was der Anwender letztlich damit tut, bleibt tatsächlich ihm überlassen. Die derzeitige Motivation bestand jedoch darin, ein CP/M-System aufzubauen. Zum jetzigen Arbeiterstand läuft gerade CP/M Plus. Jörg [1] http://www.openmechatronics.de/ [2] Stamp_Doku.pdf [3] Beitrag "Re: Z180-Stamp Modul"
Mit Z180- und AVR-Stamp könnte ich dann vom Hostsystem über den Umweg über den AVR, ein Programm auf den Z180 laden, und diesen resetten, und dann über eine serielle Verbindung zwischen Z180-Stamp und Hostsystem direkt Daten zwischen Hostsystem und meinem auf dem Z180 laufenden Programm übertragen? Wozu würde die Busplatine dienen? RS232? Stromversorgung? Ließen sich einfach weitere Stamp-Module (z.B. Z80 mit UART und Timer, oder TLCS-90) anstelle des Z180-Moduls einsetzen, und dann in der gleichen Weise nutzen? Philipp
Philipp Klaus K. schrieb: > Mit Z180- und AVR-Stamp könnte ich dann vom Hostsystem über den Umweg > über den AVR, ein Programm auf den Z180 laden, und diesen resetten, und > dann über eine serielle Verbindung zwischen Z180-Stamp und Hostsystem > direkt Daten zwischen Hostsystem und meinem auf dem Z180 laufenden > Programm übertragen? korrekt > Wozu würde die Busplatine dienen? Die Busplatine hat mehrere Funktionen: - Bereitstellung des Z80 Busses an einem ECB-Steckverbinder - RS232-Pegelwandler - 2. SD Card - Single-Step Logik für den Z180 - Steckplätze für seriell-USB Wandler > Ließen sich einfach weitere Stamp-Module (z.B. Z80 mit UART und Timer, > oder TLCS-90) anstelle des Z180-Moduls einsetzen, Ja, sicherlich. Es gibt sogar schon eine Variante dazu [1] [1] Beitrag "Re: Z180-Stamp Modul"
Der Z180-Stamp hat den Nachteil, dass die Dokumentation aus tausenden Threadbeiträgen hier im Forum besteht. Da wäre mit etwas mit Schaltplänen, Software und leserlicher Dokumentation auf Github, Sourceforge oder dergleichen lieber. Hat jemand Erfahrung mit dem Z80-MBC2? https://hackaday.io/project/159973-z80-mbc2-a-4-ics-homebrew-z80-computer https://github.com/SuperFabius/Z80-MBC2 https://shop.mcjohn.it/en/8-diy-kit
Der ist ziemlich cool. Platine gibt's auf tindie. Und die Doku ist exzellent
Philipp Klaus K. schrieb: > Der Z180-Stamp hat den Nachteil, dass die Dokumentation aus tausenden > Threadbeiträgen hier im Forum besteht. Nicht ganz, es gibt sogar eine Doku dazu ;-)
Die Z180-Stamp hätte sicher den Vorteil, dass ein Z180 drauf ist, und damit auch gleich die für Benchmarks nötigen Timer. Gibt es die Aussicht, dass es irgendwann ein svn oder git-repo gibt, in dem Stamp-Dokumentation, Schaltpläne, Software, etc liegen werden?
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.