Un processeurs avec plusieurs cœurs n'aura pas forcément d'hyperthreading.
Les coeurs d'un processeur sont quelque chose de physique, tu peux voir ces coeurs avec du matériel adapté si tu ouvres ton CPU.
De façon habituelle, chaque cœur va pouvoir gérer un fil d'execution(un Thread). Chaque cœur va gérer les instructions que tu lui envoies une à une. Si t'as 4 cœurs t'as 4 fils d'execution en parallèle donc plus de performances.
L'hyperthreading lui est une technique qui consiste à faire en sorte qu'un cœur de processeur puisse gérer plusieurs fils d'execution (2 généralement) créant ainsi des cœurs non plus physiques mais "logiques" ou "virtuels" cela permet alors a un cœur , de gérer 2 fils d’exécution et donc de faire 2 choses en même temps.
Ca a le gros avantage de permettre d'avoir plus de performances sur la même puce et donc de pouvoir gérer des applications plus lourdes sans avoir à mettre de nouveaux cœurs sur la puce.
Les i5 de chez intel par exemple on généralement pas d'hyperthreading, ils ont 4 coeurs, et 4 fils d'execution (4 thread), ils sont bien pour faire toute sortes de choses mais si tu veux faire de l'applicatif lourd (montage vidéo, streaming etc ...) un i7 est plus intéressant car celui ci a aussi 4 coeurs, mais grace à l'hyperthreading, il a 8 fils d'execution disponibles, soit 8 threads.