Les MHZ, c'est quoi précisement ? - Hardware
Marsh Posté le 26-02-2002 à 20:38:24
D'abord les hertz c l'unite qui exprime la frequence ( en fait c des s^-1 ), c l'inverse de la periode ou tt simplement le nombre de cycle d'un signal en 1 seconde. Pour un processeur ca represente le nombre de cycles qu'il peut effectuer en 1 seconde, sachant que pendant 1 cycle il peut faire un certain nombre d'operations, ou commencer une operations qui prendra plusieurs cycles, mais un tbird 850 Mhz, par exemple, ne fera pas 850 millions en 1 secondes mais bcp plus, d'ou le fait qu'un P3 850 et un tbird 850 n'ont pas des performances identiques car tt depend des operations faites par chaque proc pendant un cycle qui different selon l'architecture de ce processus.
J'espere t'avoir aide et surtt n'avoir pas dit de connerie
[jfdsdjhfuetppo]--Message édité par Archon_Viper--[/jfdsdjhfuetppo]
Marsh Posté le 26-02-2002 à 20:43:31
add eax, eax
add ebx, 0
ces 2 instructions, des le 486, vont etre effectuées en 1 cycle d'horloge (le 486 est en fait, sauf erreur de ma part, un bi 386, capable d'effectuer ainsi 2 instructions a la seconde si la 2° instruction n'utilise pas le resultat de la 1°)
partant de la, avec en plus des préfixe genre REP, on peut coder une petite routine de demonstration qui vérifirait mes dires ...
l'addition en plus ne prend qu'un cycle d'horloge, que ce soit avec des registres, de la memoire ou de l'immediat ...
en plus avec les pipelines et tout et tout ...
Marsh Posté le 26-02-2002 à 20:48:25
De maniere generale, grace au pipeline, plusieurs instructions (decoupees en sous-instructions) sont en cours d'execution en parallele.
Au final, il me semble qu'en moyenne, un CPU execute autour de 2 operations par cycle d'horloge.
Une operation etant un ADD ou un MOV par exemple.
Marsh Posté le 26-02-2002 à 20:49:03
oui mais bon il faut penser que tout est pipeline, donc on peut pas dire tel chose en tant d'operation
en plus avec les predictions de branchements et autres, ca devient purement statistique...
Marsh Posté le 26-02-2002 à 20:57:25
mais en gros ma question c quelle est la != entre opération élémentaire et instruction processeur
et:
si une personne ne connaissant presque rien en info me demande c'est quoi les mhz comme ca a ete le cas recement, je lui repond quoi (en restant accessible pour un newbie ...) ?
Marsh Posté le 26-02-2002 à 21:00:52
Tu lui dit : c'est la vitesse a laquelle tourne le CPU
Analogie avec un moteur de voiture: c'est la cylindree du moteur. Mais ca ne represente pas forcement sa puissance reelle. Un moteur de 1.6L peut etre plus puissant qu'un moteur de 1.8L, en terme de nombre de chevaux developpes.
Bon faut que ton nioubie ait des notions de mecanique aussi
Edit: melange de pinceau
A la place de cylindree, ca peut etre le nombre de tour par minute.
De toute facon je crois que je suis a cote de la plaque
[jfdsdjhfuetppo]--Message édité par Ernestor--[/jfdsdjhfuetppo]
Marsh Posté le 26-02-2002 à 21:13:08
Ok merci
Donc j'avais raison alors
Y'en a qui m'ont beuglé dessus "eh nan c'est le nombre d'opération élémentaires par seconde"
Alors je me suis demandé si une opération élémentaire c'était pas autre chose qu'une instruction
Si j'ai bien compris :
opération élémentaire = instruction la plus courte possible ?
Marsh Posté le 26-02-2002 à 21:18:12
ReplyMarsh Posté le 26-02-2002 à 21:18:40
Ben c'est pas simple
Pour moi une operation elementaire c'est un ADD ou un MOV. Une operation assembleur donc.
Ensuite ca va etre decoupe en micro-instructions dans le CPU avant d'attaquer le pipeline (qui permet au final d'avoir statistiquement plusieurs operations executees par cycle d'horloge).
Et les instructions MMX ou autres du meme type, personnellement, je connais pas assez pour les classer en operations ou macro-operations.
Bon, c'est ce que je me souviens de mes cours (y a longtemps ) et ca concerne peut-etre plutot les CPU de type RISC...
[jfdsdjhfuetppo]--Message édité par Ernestor--[/jfdsdjhfuetppo]
Marsh Posté le 26-02-2002 à 21:21:47
Les megahertz n'ont rien a voir avec le nombre d'instruction elementaires attention !
Marsh Posté le 26-02-2002 à 21:27:29
ReplyMarsh Posté le 26-02-2002 à 21:32:43
en gros certaines instructions prennent + d'un cycle, et le cpu (depuis le pentium 1) peut aussi exécuter + d'une instruction par cycle: tout dépend de l'instruction.
Il arrive aussi que le cpu doive attendre une donnée venant de la RAM, ce qui prend pas mal de cycles (surtout quand le multiplicateur est élevé, c'est à dire que la RAM est beaucoup lente que le cpu)
pour un même cpu, augmenter les MHz augmente la puissance.
si la vitesse de la RAM augmente autant que la fréquence du cpu (quand on overclocke par le bus), la puissance sera porportionnelle à la fréquence. Si la vitesse de la RAM n'augmente pas, le gain sera moindre.
la puissance (nombre moyen d'instructions) par MHz dépend totalement du cpu. En général elle augmente à chaque nouveau cpu, sauf pour le P4, qui est moins puissant que le P3 à fréquence égale (sauf en utilisant les instructions SSE2) mais qui a été concu pour une fréquence nettement + élevée.
[jfdsdjhfuetppo]--Message édité par wave--[/jfdsdjhfuetppo]
Marsh Posté le 26-02-2002 à 21:43:08
HelloWorld a écrit a écrit : Tu peux développer stp ? |
bah comme dis au dessus il faut prendre en compte ceci :
- un processeur traite des instructions en parallele...
- un processeur a des pipeline, une instruction est divisee et traitee en plusieurs etapes en fonction de sa nature et de ses besoins
- un processur doit souvent attendre des donnees, de plus il y a des algorithme de recherche des instructions dans le cache, etc...
- la prediction de branchement est tres utilisee a present, un processeur devra donc parfois revenir en arriere, etc, donc vala...
Tout ce qu'on peut dire c que les mhz traduise le nombre de fois qu'un proc traite des donnees par seconde, vu qu'il travaille par cycle, par "vague"... mais en un cycle il peut traiter beaucoup ou peu de donnees et faire beaucoup ou peut d'instruction... c selon...
c aussi pour ca qu'a frequence egale un athlon va plus vite qu'un p4...
Marsh Posté le 26-02-2002 à 21:43:57
tes mhz,c est la frquance de l horloge interne du proc.l'horloge indique tout simplement le temp au proc pour qu il sache si le taitement est terminer ou s'il est toujour en cour.
un cycle machine est le temps qu'il faut pour executer une instruction(sur un proc sans pipline de type intel 8088)
/!\cycle horloge est different d'un cycle machine.
c'est super compliqué tout ca
Marsh Posté le 26-02-2002 à 22:19:10
Je dirais que chaque tic d'horloge correspond à un état cohérent (qui a une signification) du proc.
- Un tic -> le transistor est positionné à 1
- tic suivant : positionné à 0
Ce qui se passe entre les deux : on sait pas et on s'en fiche.
C'est un peu comme le jeu des chaises musicales.
Quand la musique s'arrête, t'es dans une certaine situation. La musique reprend, il se passe des choses mais quand elle s'arrête de nouveau : nouvel état.
Sauf que pour un proc, si tout se passe comme prévu, y a un lien entre un état et l'état suivant
Après, tu as le nombre de cycles pris pour traiter une instruction, qui correspond à l'efficacité du proc, mais ca n'a aucun rapport avec la fréquence.
[jfdsdjhfuetppo]--Message édité par bjbebert--[/jfdsdjhfuetppo]
Marsh Posté le 26-02-2002 à 20:27:57
Salut à tous. Je cherche donc à savoir ce que représentent les MHZ pour un proc.
Ca a l'air con comme ça, mais je me suis apperçu récement que je savais ce que c'était sans savoir ...
C'est la fréquence de l'horloge ... et après, qu'est ce que ca représente ?
y'en a qui ont dit que c'est le nombre d'opérations élémentaires faites en 1 seconde ...
mais il me semble qu'un processeur peut en 1 cycle d'horloge (sous certaines condition) effectuer plusieurs opérations ... un proc 1 GHZ peut donc théoriquement effectuer plus de 1 Milliard d'additions en 1 seconde ...
Et quel est le rapport entre instruction processeur et opération élémentaire ?
Merci de m'éclairer ...
---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite