Hal-hal jauh lebih kompleks daripada pada zaman satu instruksi CPU per satu siklus clock.
Sekarang ada saluran pipa untuk setiap instruksi yang terdiri dari sejumlah langkah. Saya sudah mendengar sebanyak 41, meskipun itu beberapa waktu lalu dan saya tidak tahu seperti apa pipa cpu saat ini. Saya tahu bahwa jika pipa cukup panjang, Anda dapat memulai instruksi baru di pipa sebelum instruksi terakhir selesai, kadang-kadang dalam siklus clock yang sama, sehingga inti tunggal Anda secara efektif melakukan dua hal sekaligus.
Tapi ada trik di sini. Anda tidak bisa hanya menggunakan ini untuk mempercepat kecepatan prosesor mengunyah instruksi dari program tertentu. Ada masalah kebenaran yang terlibat: instruksi berikutnya mungkin tergantung pada hasil instruksi sebelumnya yang belum ditentukan. Untuk memanfaatkan pipa panjang dengan aman , chip akan menghadirkan dua inti prosesor terpisah ke penjadwal sistem operasi, dan instruksi alternatif dikirim ke masing-masing inti sehingga dua instruksi ke "inti" yang sama tidak pernah ada dalam pipa pada saat yang bersamaan. Dengan cara ini kita dapat memastikan bahwa setiap instruksi yang dijalankan secara bersamaan tidak akan saling mengganggu. Ini disebut hyperthreading .
Perlu dicatat di sini bahwa meskipun HyperThreading secara signifikan dapat meningkatkan jumlah pekerjaan yang Anda dapatkan dari CPU Anda, itu sama sekali tidak memiliki banyak core fisik. Bergantung pada beban kerja Anda, itu mungkin berarti peningkatan minimal 15% atau sebanyak 40% peningkatan. Dalam beberapa keadaan, Anda bahkan mungkin ingin menonaktifkan fitur tersebut sehingga inti yang tersisa memiliki akses eksklusif penuh ke cache L1 / L2 untuk inti itu (ini kadang-kadang dilakukan dengan server database khusus).
Ketika chip Anda mengiklankan dirinya memiliki 2 core dengan 4 utas, itu berarti itu adalah prosesor dual core yang mendukung hyperthreading.