7
votes

Comment calculer les mips de mon processeur?

J'ai un vieux PC.
Je veux calculer MIPS (millions d'instructions par seconde) et DMIP de son processeur exactement.
Que puis-je faire pour cela?


0 commentaires

4 Réponses :


3
votes

Voici une façon très brute de faire: xxx

trouvé la suite ici (en C, int + flottant)

https://llvm.org/viewvc/llvm-project/test -Suite / Trunk / SinglaSource / Benchmarks / Dhrystone /? Diff_Format = H & Sortby = Date

Pour Dhrystone Mips, vous devez exécuter la suite Dhrystone pour obtenir le score et diviser le score d'ici 1757 .


3 commentaires

En faisant cet autre processus (comme instruction OS, ...) augmentera l'heure de fonctionnement. Cette formule fonctionne lorsque le processeur ne fait que mes instructions pas d'autres instructions. Je veux que mes MIP soient très serrés.


Ensuite, vous devrez exécuter votre code sans OS. Quel est le problème?


Voici quelques étapes rapides à exécuter sans OS: 1. Générez un binaire ELF, en commençant par décalage 1 Mo (mode protégé). Utilisez un script de lieur pour la même chose. 2. Ajoutez un en-tête exécutable multiboot. 3. Assurez-vous de disposer de votre simple mise en œuvre de fonctions de base les utilisations de référence - telles que Printf, pour imprimer des résultats, le cas échéant. Compilez et reliez-les statiquement dans votre exécutable.



2
votes

Il existe une liste de mips par processorype à un GHz spécifique à trouver sur

http://en.wikipedia.org/wiki/instructions_per_second

Sinon, vous pouvez programmer la référence et l'exécuter (dans une console sans être en cours d'exécution) ou téléchargez la référence de quelque part ADN Exécuter qui .....


0 commentaires

4
votes

En ligne avec ce que vous vouliez, voici un code de bootloader qui exécute une sorte de référence qui peut être probablement utilisé pour mesurer les mips d'une manière. L'objectif principal ici était de faible niveau, et je pense que c'est le niveau le plus bas auquel vous pouvez réellement programmer avec le PC, sauf si vous êtes prêt à remplacer votre bios ou quelque chose.

Quoi qu'il en soit, c'est le code Pour une image de disquette qui, lorsqu'elle est démarrée, essayera d'exécuter quatre instructions (deux ajouter S, un sous et un saut conditionnel) un million de fois. Combien de fois les instructions sont exécutées est contrôlée par le iTERS macro. En augmentant ou en abaissant, vous pouvez spécifier le nombre d'itérations censées être faites.

temps est mesuré à l'aide de l'instruction RDTSC , qui renvoie le nombre de ticks de processeur réalisés depuis sa Power-up en tant que nombre de 64 bits dans Registers EDX et EAX . En calculant la différence de cette valeur avant d'exécuter la boucle et auparavant, nous obtenons le nombre de ticks que le processeur dépensé l'exécutant. Cette valeur est ensuite sortie à l'écran à l'aide de l'appel BIOS 10H en tant que valeur hexadécimale. Le temps réel consacré à celui-ci est évidemment dépendant de la fréquence de l'horloge de processeur.

Voici la source. Si vous le compilez à l'aide de NASM avec -f bin , vous obtiendrez l'image de la disquette qui doit ensuite être écrite sur une disquette à l'aide d'un programme de rédaction de bloc brut, par exemple dd dd . Ensuite, lors du démarrage, choisissez la disquette comme support de démarrage. Tout cela peut également travailler avec un lecteur USB, mais c'est beaucoup plus dépendant du bios. Comme avec toutes les choses qui sont si bas de niveau, je ne prends aucune responsabilité pour les résultats d'exécution de ce logiciel sur votre ordinateur. xxx

sur mon amd athlon xp 1700+ , Je reçois 0x1e8596 à la suite de l'exécution de ce code, qui est égal à 2000278 CPU Ticks. Comme la CPU fonctionne à 1466 MHz, elle est plus ou moins égale à environ 1,36ms.


0 commentaires

1
votes

Calcul de MIPS peut être fait en sachant combien d'instructions votre processeur exécutera dans un cycle et votre vitesse d'horloge.

MIPS = (vitesse du processeur Vitesse d'horloge * INSTRUCTIONS numériques exécutées par cycle) / (10 ^ 6).

Par exemple, TI 6487 peut exécuter 8 instructions 32 bits par cycle et la vitesse d'horloge est de 1,2 GHz par noyau.

SO MIPS = ((((1.2 * 10 ^ 9) * 8) / (10 ^ 6) = 9600 mips par noyau et ce DSP a 3 cœurs, de sorte que les mips totaux du DSP sont 28800.


0 commentaires