Hallo, ich bin verzweifelt auf der Suche nach einer Bare Metal Benchmark für CPUs. Der Hintergrund: Ich habe in einem SoC den Memory Controller modifiziert und möchte gucken, was sich an der Systemperformanz geändert hat. Das SoC lässt sich komplett in ModelSim simulieren. Der Benchmark soll also simultativ ausgeführt werden. Gesucht: Was ich brauche ist einfach nur repräsentativer Standard C-Code, den man ohne Betriebssystem auf dem Core ausführen kann. Da ich das Ganze simultativ machen möchte, sollte es auch kein Monsterprogramm sein, dessen Ausführung auf Hardware schon ewig lange dauert. Es muss ohne I/O-Anfragen auskommen und sollte auf den Speicher zugreifen. Die Sachen die ich bisher gefunden habe, sind entweder kostepflichtig oder brauchen ein physisches System, auf dem ein Betriebssystem läuft. Die Benchmarks sind also nur Anwenderprogramme und somit nicht das, was ich suche. Ich bin für jeden Tipp dankbar. Gruß, Der Richy
Little B. schrieb: > Was spricht gegen coremark? Was willst du Testen, die RAM Geschwindigkeit? Einfach den Speicher von Oben nach unten voll schreiben und die Zeit messen wie lange es gedauert hat. Um zufällige Zugriffe zu simulieren, braucht du eine Umsetzungstabelle Zählerwert -> RAM-Adresse. Das einfachste wäre eine Bitpermutation das Zählers.
Sorry für die späte Rückmeldung. Es musste doch noch ein wenig debugged werden. @lil-b Gegen Coremark scheint nichts zu sprechen (ich habe es allerdings noch nicht runtergeladen). Ich bin selbst auch schon drauf gestoßen, habe allerdings nicht genau hingeschaut. Ich dachte auf den ersten Blick, dass die CPUs, die auf der Startseite aufgelistet sind, die jeweiligen Zielplattformen sind. Also habe ich optimierten Code erwartet. Tatsächlich sind es aber nur die erzielten Ergebnisse für die CPUs. @Kirsch Klar, eigenen Routinen haben wir natürlich geschrieben. Was wir aber brauchen, ist aufgrund von Vergleichbarkeit und Aussagekraft, Code der bestimmte Programme nachstellt. Wie gesgat Benchmarks an sich gibt es wie Sand am Meer, aber welche die einfach nur standard C Code enthalten und nicht auf einem Betriebssystem ausgeführt werden, scheinen nicht so verbreitet zu sein. Oder ich stell mich halt blöd an ;-)
Richy B. schrieb: > bestimmte Programme nachstellt. Wie gesgat Benchmarks an sich gibt es > wie Sand am Meer, aber welche die einfach nur standard C Code enthalten > und nicht auf einem Betriebssystem ausgeführt werden, scheinen nicht so > verbreitet zu sein. Oder ich stell mich halt blöd an ;-) Hmm, Standard C Code wird per Definition üblicherweise auf einem Betriebssystem ausgeführt (hosted environment nennt das der C-Standard). Ohne Betriebssystem bist Du üblicherweise bei einem "freestanding environment". Da ist so viel Zeugs "implementation defined", d.h. nicht vom Standard vorgegeben, dass es prinzipbedingt nicht allzuviel Standard C Code dafür geben kann. Logisch, oder? ;-)
Hm, das würde ich jetzt so nicht unterschreiben. Ich kann doch für meinen uC C-Routinen schreiben und dann ausführen. Das "implementation defined" macht doch dann mein Compiler. Da ich genau das schon gemacht habe, weiß ich, dass das wunderbar klappt ;-)
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.