Saya pernah mendengar istilah hyper-threading yang dilemparkan sedikit baru-baru ini, apa sebenarnya hyper-threading dan mengapa itu penting?
Saya pernah mendengar istilah hyper-threading yang dilemparkan sedikit baru-baru ini, apa sebenarnya hyper-threading dan mengapa itu penting?
Jawaban:
Hyper-threading adalah tempat prosesor Anda berpura-pura memiliki 2 inti prosesor fisik, namun hanya memiliki 1 dan beberapa sampah tambahan.
Inti dari hyphreading adalah berkali-kali ketika Anda mengeksekusi kode dalam prosesor, ada bagian prosesor yang idle. Dengan memasukkan set register CPU tambahan, prosesor dapat bertindak seperti memiliki dua inti dan dengan demikian menggunakan semua bagian prosesor secara paralel. Ketika 2 core keduanya perlu menggunakan satu komponen prosesor, maka satu inti tentu saja menunggu. Inilah sebabnya mengapa tidak dapat menggantikan prosesor dual-core dan semacamnya.
Hyper-Threading Di sinilah dua utas dapat berjalan pada satu inti ulir tunggal. Ketika sebuah utas pada inti yang dimaksud macet atau dalam kondisi berhenti, hyper-threading memungkinkan inti untuk bekerja pada utas kedua.
Hyper-threading membuat OS berpikir bahwa prosesor memiliki dua kali lipat jumlah core, dan sering menghasilkan peningkatan kinerja, tetapi hanya di wilayah 15-30% secara keseluruhan - meskipun dalam beberapa keadaan, sebenarnya mungkin ada hit kinerja (= & lt; 20%).
Saat ini, sebagian besar chip Atom dan semua i7 (dan chip yang setara dengan Xeon) memiliki hyper-threading, seperti halnya beberapa P4 sebelumnya. Dalam kasus Atom, ini merupakan upaya putus asa untuk meningkatkan kinerja tanpa meningkatkan konsumsi daya banyak; dalam kasus i7s, itu membedakan mereka dari berbagai chip i5.
Pekerjaan pemrosesan yang kompleks tidak akan mendapat banyak manfaat dari HT, tetapi tugas tertentu (sederhana, sangat banyak-utas), seperti pengkodean video, mendapat manfaat dari HT. Pada kenyataannya, tidak banyak di dalamnya ...
Untuk memperluas apa yang telah dikatakan, hyperthreading berarti bahwa satu inti CPU dapat mempertahankan dua konteks eksekusi yang terpisah dan dengan cepat beralih di antara mereka, secara efektif meniru dua core pada tingkat perangkat keras.
Anda mendapatkan manfaat kecepatan sedang untuk beban kerja multi-utas bila dibandingkan dengan inti tunggal normal. Namun, tidak ada bedanya dengan memiliki dua core independen. Dalam hal kinerja, Anda sebaiknya menganggapnya sebagai dorongan kecil dalam kinerja multi-utas pada satu inti daripada memiliki kinerja yang mendekati dua inti. Ukuran peningkatan kecepatan bervariasi sesuai dengan beban kerja - memang untuk beberapa beban kerja peningkatan kinerja cukup baik.
Inti hyperthreaded hanya memiliki satu unit eksekusi utama, tetapi bagian-bagian tertentu dari CPU yang terkait dengan instruksi siap untuk memproses dan mempertahankan keadaan eksekusi digandakan.
Core prosesor memiliki pipa instruksi - antrian instruksi di masa depan yang akan dieksekusi, yang terus diperbarui, siap untuk CPU untuk mengeksekusi instruksi di kepala antrian itu. CPU menggunakan ini untuk mengoptimalkan kecepatan eksekusi dengan melihat instruksi ini di masa depan dan melakukan beberapa pra-pemrosesan tingkat rendah yang sederhana jika memungkinkan (optimisasi tersebut termasuk "eksekusi tidak sesuai pesanan" dan "prediksi cabang").
Core Hyperthreaded memiliki pipa instruksi ganda, dan ini - bersama dengan set register kedua - adalah tempat Anda mendapatkan manfaat kecepatan untuk beban kerja multithreaded. Beralih antara konteks utas tidak membuang pipa atau register, dan pipa dan register untuk utas lainnya tetap siap dan "panas" sehingga mereka dapat dialihkan ke dan digunakan segera.
Ketika Single Core dapat bertindak sebagai Dual Core
ini Hyperthreading
Implementasi Intel dari Multi-Threading Simultan dikenal sebagai Teknologi Hyper-Threading, atau Teknologi HT.
Teknologi HT membuat prosesor tunggal muncul, dari perangkat lunak
perspektif, sebagai beberapa prosesor logis. Ini memungkinkan sistem operasi
dan aplikasi untuk menjadwalkan banyak
utas ke prosesor logis sebagai
mereka akan menggunakan sistem multiprosesor.
Hyperthreading memungkinkan Prosesor Tunggal untuk mengeksekusi dua utas secara bersamaan, tetapi tidak pada semua kondisi.
Hyperthreading tidak menggandakan kinerja suatu sistem, itu dapat meningkatkan kinerja dengan lebih baik memanfaatkan sumber daya idle yang mengarah ke throughput yang lebih besar untuk jenis beban kerja penting tertentu. Aplikasi yang berjalan pada satu prosesor logis dari core yang sibuk dapat mengharapkan sedikit lebih dari setengah dari throughput yang diperolehnya saat berjalan sendiri pada prosesor yang tidak mengalami hipertipik. Peningkatan kinerja Hyperthreading sangat tergantung pada aplikasi, dan beberapa aplikasi mungkin melihat penurunan kinerja dengan hyperthreading karena banyak sumber daya prosesor (seperti cache) dibagi antara prosesor logis.
Teknologi Intel Hyper-Threading membuat setiap inti dapat memiliki dua prosesor logis yang berbagi sebagian besar sumber daya inti, seperti cache memori dan unit fungsional
Hyperthreading adalah untuk meningkatkan jumlah instruksi independen dalam pipa; itu mengambil keuntungan dari arsitektur superscalar, di mana banyak instruksi beroperasi pada data terpisah secara paralel
Intel mengatakan bahwa hyper-threading sangat efisien karena menggunakan sumber daya yang jika tidak digunakan akan menganggur atau kurang dimanfaatkan.
Tautan:
Wikipedia
StackOverflow
Pemrograman Multi-Core Digital_Edition hal # 8