Hyperthreading adalah alternatif yang lebih murah dan lebih lambat untuk memiliki dual-core
The Intel Pedoman Volume 3 Panduan Sistem Pemrograman - 325384-056US September 2015 8,7 "INTEL Teknologi Hyper-Threading ARSITEKTUR" menggambarkan HT singkat. Ini berisi diagram berikut:
TODO itu lebih lambat oleh berapa persen rata-rata dalam aplikasi nyata?
Hyperthreading dimungkinkan karena core CPU tunggal modern sudah menjalankan banyak instruksi sekaligus dengan pipa instruksi https://en.wikipedia.org/wiki/Instruction_pipelining
Pipa instruksi adalah pemisahan fungsi di dalam inti tunggal untuk memastikan bahwa setiap bagian dari sirkuit digunakan pada waktu tertentu: membaca memori, instruksi decoding, instruksi pelaksanaan, dll.
Hyperthreading memisahkan fungsi lebih lanjut dengan menggunakan:
backend tunggal, yang benar-benar menjalankan instruksi dengan pipanya.
Dual core memiliki dua backend, yang menjelaskan biaya dan kinerja yang lebih besar.
dua ujung depan, yang mengambil dua aliran instruksi dan memesannya dengan cara untuk memaksimalkan penggunaan pipa backend tunggal dengan menghindari bahaya .
Dual core juga akan memiliki 2 ujung depan, satu untuk setiap backend.
Ada kasus-kasus tepi di mana penataan ulang instruksi tidak menghasilkan manfaat, sehingga membuat hipertensi tidak berguna. Tetapi menghasilkan peningkatan yang signifikan dalam rata-rata.
Dua hyperthread dalam satu inti berbagi tingkat cache lebih lanjut (TODO berapa banyak? L1?) Dari dua core yang berbeda, yang hanya berbagi L3, lihat:
Antarmuka yang diekspos oleh masing-masing hyperthread ke sistem operasi mirip dengan inti aktual, dan keduanya dapat dikontrol secara terpisah. Dengan demikian cat /proc/cpuinfo
menunjukkan kepada saya 4 prosesor, meskipun saya hanya memiliki 2 core dengan masing-masing 2 hyperthreads.
Namun sistem operasi dapat mengambil keuntungan dari mengetahui hyperhread mana yang berada pada inti yang sama untuk menjalankan beberapa utas dari program yang diberikan pada satu inti, yang dapat meningkatkan penggunaan cache.
Video LinusTechTips ini berisi penjelasan non-teknis yang menyenangkan: https://www.youtube.com/watch?v=wnS50lJicXc