Wie berechne MIPS von meinem Prozessor?
Ich habe einen alten PC.
Ich möchte berechnen MIPS(Million Instruction Per Second) und DMIPS seiner Prozessor genau.
Was kann ich tun?
InformationsquelleAutor Soroush | 2012-07-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Einklang mit dem, was Sie wollte, hier einige bootloader-code, der ausgeführt wird, um eine Art benchmark, der kann wahrscheinlich verwendet, um zu Messen die MIPS-in einer Art und Weise. Das Hauptziel hier war, wird low-level, und ich glaube, dies ist die niedrigste Ebene, auf der Sie können tatsächlich Programmieren mit dem PC, es sei denn, Sie bereit sind, ersetzen Sie Ihre BIOS oder so etwas.
Sowieso, das ist der code für ein floppy-image, das, wenn Sie gebootet ist, werden versuchen zu führen vier Befehle (zwei
add
s, einemsub
, und ein bedingter Sprung) eine million mal. Wie oft die Anweisungen ausgeführt werden, gesteuert wird durch dieITERS
makro. Durch anheben oder absenken können Sie angeben, wie viele Iterationen gemacht werden soll.Zeit gemessen, indem die
rdtsc
Anweisung gibt die Anzahl der Prozessor-ticks seit Ihrer power-up, da eine 64-bit-Zahl im Registeredx
undeax
. Durch die Berechnung der Differenz von diesem Wert vor der Ausführung der Schleife, und bevor, wir die Anzahl der ticks, die der Prozessor für die Ausführung gebraucht haben. Dieser Wert wird dann auf dem Bildschirm ausgegeben werden, mithilfe der BIOS-10h anrufen als hexadezimal-Wert. Die tatsächliche Zeit, die darauf verbracht wird, offensichtlich ist, abhängig von der Prozessor-clock Frequenz.Hier ist die Quelle. Wenn Sie, kompilieren Sie es mit NASM mit
-f bin
erhalten Sie das floppy-image, das sollte dann geschrieben werden, um eine Diskette mit einigen raw-block-writing-Programm, zum Beispieldd
. Dann, beim Booten, wählen Sie das Diskettenlaufwerk als boot-medium. Alle, die arbeiten möglicherweise auch mit einem USB-Laufwerk, aber das ist viel mehr BIOS-abhängig. Wie bei allen Sachen, die so low-level, ich übernehme keine Verantwortung für die Ergebnisse tatsächlich ausführen dieser software auf Ihrem computer.Auf meinem ziemlich alten AMD Athlon XP 1700+, ich bekomme
0x1e8596
als Ergebnis der Ausführung dieses Codes, die gleich 2000278 CPU-Zeiteinheiten. Wie läuft die CPU auf 1466MHz, das ist mehr oder weniger gleich etwa 1,36 ms.InformationsquelleAutor Daniel Kamil Kozar
Hier ist eine sehr grobe Art und Weise tun:
Fand die suite hier (in C, int+floating)
https://llvm.org/viewvc/llvm-project/test-suite/trunk/SingleSource/Benchmarks/Dhrystone/?diff_format=h&sortby=date
Für Dhrystone-mips, die Sie benötigen, um ausführen die Dhrystone-suite, um die Punktzahl, und teilen Sie die Partitur von 1757.
Dann müssen Sie zum ausführen von code ohne Betriebssystem. Was ist das problem?
ja,es ist eine gute Idee...aber wie?vielen Dank
Hier sind ein paar schnelle Schritte zu laufen, ohne ein OS: 1. generieren ein ELF binary, beginnend bei offset 1 MB (protected mode). Verwenden Sie ein linker-Skript für den gleichen. 2. Fügen Sie ein multiboot-ausführbare Datei-header. 3. Stellen Sie sicher, dass die einfache Implementierung von grundlegenden Funktionen der benchmark verwendet - wie printf, print-Ergebnisse, wenn überhaupt. Kompilieren Sie und verknüpfen Sie diese statisch in die ausführbare Datei.
InformationsquelleAutor Karthik Kumar Viswanathan
Gibt es eine Liste von MIPS von processortype auf eine bestimmte GHZ finden Sie auf
http://en.wikipedia.org/wiki/Instructions_per_second
Ansonsten können Sie das Programm der benchmark und ausführen (in einer Konsole, ohne viel laufen) oder laden Sie die benchmark von irgendwo adn führen, dass.....
InformationsquelleAutor IvoTops
Berechnung von MIPS getan werden kann, zu wissen, wie viele Anweisungen Ihr Prozessor wird execcute in einem Zyklus und Ihre Taktfrequenz.
MIPS = (Processor clock speed * Num Anweisungen ausgeführt pro Zyklus)/(10^6).
Beispielsweise TI 6487 ausführen kann 8 32-bit-Anweisungen pro Zyklus und die Taktfrequenz von 1.2 GHz pro Kern.
also MIPS = ((1.2 * 10^9) * 8)/(10^6) = 9600 MIPS pro Kern und das DSP hat 3 Kerne, also insgesamt MIPS der DSP-28800.
InformationsquelleAutor rajez79