Bon allez 
Dans un système d'exploitation, toutes les instructions requièrent d'être exécutées par le processeur.
La fréquence processeur est un certain nombre d'instructions par cycle d'horloge. Ainsi, un processeur à 3GHz peut effectuer 3*10^9 instructions. Maintenant, une instruction c'est quoi? C'est un truc du genre (pour un processeur à registre comme le tiens): copier tel bit à tel endroit ou comparer l'état de tel bit ou encore envoyer telle adresse sur une pile...
C'est fou comme le simple fait de bouger ta souris est complexe!
Ensuite, pour un processeur à pile basique, chaque processus peut occuper 1 processeur.
WTF? vas-tu me dire.
Les processus sont en fait interrompu régulièrement pour pouvoir en lancer d'autre (en fonction du temps depuis lequel ils sont en travail ou encore en fonction de leur utilisation de la mémoire) et ce extrêmement souvent (tellement souvent que le passage de relais est la plupart du temps imperceptible; c'est aussi un raison pour ne pas bouger ta souris comme un autiste au moindre freeze du pc).
Bon, je sais plus où j'en étais. ah oui, tu peux maintenant constater l'importance d'avoir plusieurs "coeur" à ton processeur, qui pourra ainsi gérer plusieurs processus en même temps et ainsi être plus efficace, en théorie tout du moins. Il faut encore que le programme soit capable de gérer 2 processus en parallèle réel etc. Je connais pas trop les détails.
Donc résumé:
Fréquence => rapidité d'exécution
Coeurs => quantité de choses faites
Architecture => façon dont les instructions sont gérées.
Voili voilou, ce n'est ni exhaustif, ni parfait. Je ne doute pas qu'il y ait des fautes.
pavé César