29.03.2022
Rumah / Internet / teknologi ht. Apa itu hyper threading dan mengapa? CPU dengan Dukungan Hyper Threading

teknologi ht. Apa itu hyper threading dan mengapa? CPU dengan Dukungan Hyper Threading

15.03.2013

Teknologi Hyper-Threading muncul di prosesor Intel, menakutkan untuk dikatakan, lebih dari 10 tahun yang lalu. Dan saat ini merupakan elemen penting dari prosesor Core. Namun, pertanyaan tentang perlunya HT dalam game masih belum sepenuhnya dipahami. Kami memutuskan untuk melakukan tes untuk melihat apakah gamer membutuhkan Core i7, atau lebih baik bertahan dengan Core i5. Dan juga cari tahu bagaimana Core i3 lebih baik dari Pentium.


Teknologi Hyper-Threading, yang dikembangkan oleh Intel dan digunakan secara eksklusif di prosesor perusahaan, dimulai dengan Pentium 4 yang mengesankan, sekarang menjadi sesuatu yang biasa. Ini dilengkapi dengan sejumlah besar prosesor dari generasi saat ini dan sebelumnya. Itu juga akan digunakan dalam waktu dekat.

Dan harus diakui bahwa teknologi Hyper-Threading berguna dan memiliki efek positif pada kinerja, jika tidak, Intel tidak akan menggunakannya untuk memposisikan prosesornya di dalam garis. Dan bukan sebagai elemen kecil, tetapi salah satu yang paling penting, jika bukan yang paling penting. Untuk memperjelas apa yang sedang kita bicarakan, kami telah menyiapkan tabel yang memudahkan untuk mengevaluasi prinsip segmentasi prosesor Intel.


Seperti yang Anda lihat, ada sedikit perbedaan antara Pentium dan Core i3, serta antara Core i5 dan Core i7. Faktanya, model i3 dan i7 berbeda dari Pentium dan i5 hanya dalam ukuran cache tingkat ketiga per inti (tentu saja tidak termasuk frekuensi clock). Pasangan pertama adalah 1,5 megabyte, dan yang kedua adalah 2 megabyte. Perbedaan ini tidak dapat secara radikal mempengaruhi kinerja prosesor, karena perbedaan ukuran cache sangat kecil. Itulah sebabnya Core i3 dan Core i7 menerima dukungan untuk teknologi Hyper-Threading, yang merupakan elemen utama yang memungkinkan prosesor ini memiliki keunggulan kinerja masing-masing dibandingkan Pentium dan Core i5.

Akibatnya, cache yang sedikit lebih besar dan dukungan untuk Hyper-Threading akan memungkinkan Anda untuk menetapkan harga prosesor yang jauh lebih tinggi. Misalnya, prosesor garis Pentium (sekitar 10 ribu tenge) kira-kira dua kali lebih murah daripada Core i3 (sekitar 20 ribu tenge), dan terlepas dari kenyataan bahwa secara fisik, pada tingkat perangkat keras, mereka benar-benar sama, dan karenanya , memiliki biaya yang sama . Perbedaan harga antara Core i5 (sekitar 30 ribu tenge) dan Core i7 (sekitar 50 ribu tenge) juga sangat besar, meskipun kurang dari dua kali lipat pada model yang lebih muda.


Bagaimana dibenarkan kenaikan harga seperti itu? Apa keuntungan nyata yang diberikan Hyper-Threading? Jawabannya sudah lama diketahui: peningkatannya bisa berbeda - semuanya tergantung pada aplikasi dan pengoptimalannya. Kami memutuskan untuk memeriksa apa yang dilakukan HT dalam game, sebagai salah satu aplikasi "rumah tangga" yang paling menuntut. Selain itu, pengujian ini akan menjadi tambahan yang bagus untuk materi kami sebelumnya tentang dampak jumlah inti prosesor pada kinerja game.

Sebelum beralih ke tes, mari kita ingat (baik, atau cari tahu) apa itu Teknologi Hyper-Threading. Seperti yang dikatakan Intel sendiri, memperkenalkan teknologi ini bertahun-tahun yang lalu, tidak ada yang terlalu rumit tentang hal itu. Faktanya, semua yang diperlukan untuk memperkenalkan HT pada tingkat fisik adalah dengan menambahkan bukan satu set register dan pengontrol interupsi, tetapi dua, ke satu inti fisik. Di prosesor Pentium 4, ini elemen tambahan meningkatkan jumlah transistor hanya lima persen. Pada inti Ivy Bridge saat ini (juga di Sandy Bridge dan Haswell yang akan datang), elemen tambahan untuk empat inti tidak meningkatkan cetakan bahkan sebesar 1 persen.


Register tambahan dan pengontrol interupsi, ditambah dengan dukungan perangkat lunak, memungkinkan sistem operasi untuk melihat bukan hanya satu inti fisik, tetapi dua inti logis. Pada saat yang sama, pemrosesan data dari dua aliran yang dikirim oleh sistem masih berjalan pada inti yang sama, tetapi dengan beberapa fitur. Seluruh prosesor masih tetap dalam pembuangan satu utas, tetapi segera setelah beberapa blok CPU dibebaskan dan menganggur, mereka segera ditempatkan di pembuangan utas kedua. Berkat ini, dimungkinkan untuk menggunakan semua unit prosesor secara bersamaan, dan dengan demikian meningkatkan efisiensinya. Seperti yang diungkapkan oleh Intel sendiri, peningkatan performa dalam kondisi ideal bisa mencapai hingga 30 persen. Benar, angka-angka ini hanya berlaku untuk Pentium 4 dengan jalur pipa yang sangat panjang, prosesor modern kurang mendapat manfaat dari HT.

Tetapi kondisi ideal untuk Hyper-Threading tidak selalu demikian. Dan yang paling penting, hasil terburuk dari pekerjaan HT bukanlah kurangnya peningkatan kinerja, tetapi penurunannya. Artinya, dalam kondisi tertentu, kinerja prosesor dengan HT akan turun relatif terhadap prosesor tanpa HT karena fakta bahwa overhead pemisahan utas dan antrian akan secara signifikan melebihi keuntungan dari penghitungan utas paralel, yang dimungkinkan dalam hal ini. kasus. Dan kasus seperti itu jauh lebih umum daripada yang diinginkan Intel. Selain itu, bertahun-tahun menggunakan Hyper-Threading tidak memperbaiki situasi. Ini terutama berlaku untuk game yang sangat kompleks dan sama sekali tidak konvensional dalam hal penghitungan data, aplikasi.

Untuk mengetahui dampak Hyper-Threading pada kinerja game, kami kembali menggunakan prosesor uji Core i7-2700K kami yang telah lama menderita, dan mensimulasikan empat prosesor sekaligus dengan menonaktifkan core dan mengaktifkan / menonaktifkan HT. Secara konvensional, mereka dapat disebut Pentium (2 core, HT off), Core i3 (2 core, HT on), Core i5 (4 core, HT off), dan Core i7 (4 core, HT on). Mengapa dengan syarat? Pertama-tama, karena menurut beberapa karakteristik mereka tidak sesuai dengan produk nyata. Secara khusus, menonaktifkan inti tidak mengarah pada pengurangan yang sesuai dalam volume cache tingkat ketiga - volumenya untuk semua adalah 8 megabita. Dan selain itu, semua prosesor "bersyarat" kami beroperasi pada frekuensi 3,5 GHz yang sama, yang belum dicapai oleh semua prosesor Intel.


Namun, ini bahkan menjadi lebih baik, karena berkat kekekalan semua parameter penting kita akan dapat mengetahui dampak nyata dari Hyper-Threading pada kinerja game tanpa syarat apa pun. Dan perbedaan persentase kinerja antara Pentium "bersyarat" dan Core i3 kami akan mendekati perbedaan antara prosesor nyata, asalkan frekuensinya sama. Seharusnya juga tidak memalukan bahwa kami menggunakan prosesor Sandy Bridge, karena uji efisiensi kami, yang dapat Anda baca di artikel “Kinerja telanjang - Menjelajahi efisiensi ALU dan FPU”, menunjukkan bahwa dampak Hyper-Threading di generasi terbaru dari prosesor Core tetap tidak berubah. Kemungkinan besar relevan materi yang diberikan juga akan tersedia untuk prosesor Haswell yang akan datang.

Nah, tampaknya semua pertanyaan tentang metodologi pengujian, serta fitur fungsi Teknologi Hyper-Threading, telah dibahas, dan oleh karena itu saatnya untuk beralih ke hal yang paling menarik - tes.

Kembali dalam pengujian, di mana kami mempelajari pengaruh jumlah inti prosesor pada kinerja game, kami menemukan bahwa 3DMark 11 cukup tenang tentang kinerja CPU, bekerja dengan sempurna bahkan pada satu inti. Hyper-Threading memiliki pengaruh "kuat" yang sama. Seperti yang Anda lihat, tes ini sama sekali tidak melihat perbedaan antara Pentium dan Core i7, belum lagi model menengah.

Metro 2033

Tapi Metro 2033 jelas melihat munculnya Hyper-Threading. Dan bereaksi negatif! Ya, benar: mengaktifkan HT di game ini berdampak negatif pada performa. Dampak kecil, tentu saja - 0,5 frame per detik dengan empat inti fisik, dan 0,7 dengan dua inti. Tapi fakta ini memberikan setiap alasan untuk mengatakan bahwa di Metro 2033 Pentium lebih cepat dari Core i3, dan Core i5 lebih baik dari Core i7. Ini dia konfirmasi fakta bahwa Hyper-Threading tidak menunjukkan keefektifannya tidak selalu dan tidak di mana-mana.

Krisis 2

Permainan ini menunjukkan hasil yang sangat menarik. Pertama-tama, kami mencatat bahwa pengaruh Hyper-Threading terlihat jelas dalam prosesor dual-core - Core i3 mengungguli Pentium hampir 9 persen, yang cukup banyak untuk game ini. Kemenangan untuk HT dan Intel? Tidak juga, karena Core i7 tidak menunjukkan peningkatan apa pun dibandingkan Core i5 yang jauh lebih murah. Tapi ada penjelasan yang masuk akal untuk ini - Crysis 2 tidak tahu bagaimana menggunakan lebih dari empat aliran data. Karena itu, kami melihat peningkatan yang baik dalam dual-core dengan HT - lagipula, empat utas, meskipun logis, lebih baik daripada dua. Di sisi lain, tidak ada tempat untuk meletakkan utas Core i7 tambahan, empat core fisik sudah cukup di sana. Jadi, menurut hasil pengujian ini, kita dapat mencatat pengaruh positif HT pada Core i3, yang secara nyata lebih baik daripada Pentium di sini. Namun di antara quad-core Core i5 lagi-lagi sepertinya solusi yang lebih masuk akal.

Medan Perang 3

Di sini hasilnya sangat aneh. Jika dalam pengujian jumlah inti, medan perang adalah sampel peningkatan mikroskopis tetapi linier, maka dimasukkannya Hyper-Threading membawa kekacauan pada hasilnya. Faktanya, kita dapat menyatakan bahwa Core i3, dengan dua core dan HT, ternyata menjadi yang terbaik, bahkan di depan Core i5 dan Core i7. Aneh, tentu saja, tetapi pada saat yang sama, Core i5 dan Core i7 kembali berada di level yang sama. Apa yang menjelaskan ini tidak jelas. Kemungkinan besar, metodologi pengujian dalam game ini berperan di sini, yang memberikan kesalahan lebih besar daripada tolok ukur standar.

Dalam uji coba terakhir, F1 2011 menunjukkan dirinya sebagai salah satu game yang sangat kritis terhadap jumlah core, dan pada kali ini kembali dikejutkan dengan dampak yang sangat baik pada kinerja teknologi Hyper-Threading. Dan sekali lagi, seperti pada Crysis 2, penyertaan HT terbukti sangat baik pada prosesor dual-core. Lihatlah perbedaan antara Core i3 dan Pentium bersyarat kami - ini lebih dari dua kali lipat! Anda dapat dengan jelas melihat bahwa gim ini sangat kehilangan dua inti, dan pada saat yang sama kodenya diparalelkan dengan sangat baik sehingga efeknya luar biasa. Di sisi lain, Anda tidak dapat mengalahkan empat inti fisik - Core i5 terasa lebih cepat daripada Core i3. Tetapi Core i7, sekali lagi, seperti pada game sebelumnya, tidak menunjukkan sesuatu yang luar biasa dengan latar belakang Core i5. Alasannya sama - gim tidak dapat menggunakan lebih dari 4 utas, dan overhead HT mengurangi kinerja Core i7 di bawah level Core i5.

Seorang pejuang tua membutuhkan Hyper-Threading tidak lebih dari seekor landak membutuhkan T-shirt - pengaruhnya sama sekali tidak seperti di F1 2011 atau Crysis 2. Pada saat yang sama, kami masih mencatat bahwa mengaktifkan HT pada dual-core prosesor membawa 1 bingkai ekstra. Tentu saja, ini tidak cukup untuk mengatakan bahwa Core i3 lebih baik daripada Pentium. Setidaknya, peningkatan ini jelas tidak sebanding dengan perbedaan harga prosesor tersebut. Dan perbedaan harga antara Core i5 dan Core i7 bahkan tidak perlu diingat, karena prosesor tanpa dukungan HT ternyata lebih cepat lagi. Dan terasa lebih cepat - sebesar 7 persen. Suka atau tidak, kami kembali menyatakan fakta bahwa empat utas adalah maksimum untuk game ini, dan oleh karena itu HyperThreading di kasus ini tidak membantu Core i7, tetapi mengganggu.

Jika Anda hati-hati melihat isi BIOS Setup, maka Anda mungkin melihat opsi CPU di sana. Hyper Threading teknologi. Dan mungkin mereka bertanya-tanya apa itu Hyper Threading (Super-threading atau hyper-threading, nama resminya adalah Hyper Threading Technology, HTT), dan mengapa opsi ini diperlukan.

Hyper Threading relatif teknologi baru, yang dikembangkan oleh Intel untuk prosesor arsitektur Pentium. Seperti yang telah ditunjukkan oleh praktik, penggunaan teknologi Hyper Threading telah memungkinkan dalam banyak kasus untuk meningkatkan kinerja CPU sekitar 20-30%.

Di sini Anda perlu mengingat bagaimana unit pemrosesan pusat komputer umumnya bekerja. Segera setelah Anda menyalakan komputer dan menjalankan program di dalamnya, CPU mulai membaca instruksi yang terkandung di dalamnya, yang ditulis dalam apa yang disebut kode mesin. Ia membaca setiap instruksi secara bergantian dan mengeksekusinya satu per satu.

Namun, banyak program memiliki beberapa proses perangkat lunak yang berjalan secara bersamaan. Selain itu, sistem operasi modern memungkinkan pengguna untuk memiliki beberapa menjalankan program. Dan tidak hanya mengizinkan - pada kenyataannya, situasi ketika satu proses berjalan di sistem operasi benar-benar tidak terpikirkan hari ini. Oleh karena itu, prosesor yang dikembangkan menggunakan teknologi lama memiliki kinerja yang buruk dalam kasus di mana perlu untuk memproses beberapa proses simultan sekaligus.

Tentu saja, untuk mengatasi masalah ini, Anda dapat memasukkan beberapa prosesor dalam sistem sekaligus, atau prosesor yang menggunakan beberapa inti komputasi fisik. Tetapi perbaikan seperti itu ternyata mahal, rumit secara teknis dan tidak selalu efektif dari sudut pandang praktis.

Sejarah perkembangan

Oleh karena itu, diputuskan untuk membuat teknologi yang memungkinkan pemrosesan beberapa proses pada satu inti fisik. Pada saat yang sama, untuk program, masalah ini secara lahiriah akan terlihat seolah-olah ada beberapa inti prosesor dalam sistem sekaligus.

Dukungan untuk teknologi Hyper Threading pertama kali muncul di prosesor pada tahun 2002. Ini adalah prosesor dari keluarga Pentium 4 dan prosesor server Xeon dengan kecepatan clock di atas 2 GHz. Awalnya, teknologi ini diberi nama sandi Jackson, tetapi kemudian namanya diubah menjadi Hyper Threading, yang lebih mudah dipahami oleh masyarakat umum - yang secara kasar dapat diterjemahkan sebagai "superthreading".

Pada saat yang sama, menurut Intel, permukaan chip prosesor yang mendukung Hyper Threading telah meningkat dibandingkan dengan model sebelumnya yang tidak mendukungnya, hanya 5%, sementara meningkatkan kinerja rata-rata 20%.

Terlepas dari kenyataan bahwa teknologi secara keseluruhan telah membuktikan dirinya dengan baik, namun, karena beberapa alasan, Intel memutuskan untuk menonaktifkan teknologi Hyper Threading pada prosesor keluarga Core 2 yang menggantikan Pentium 4. Hyper Threading, bagaimanapun, kemudian muncul kembali. dalam arsitektur prosesor Sandy Bridge, Ivy Bridge dan Haswell, yang secara substansial didesain ulang di dalamnya.

Inti dari teknologi

Memahami Hyper Threading penting karena merupakan salah satu fungsi utama dalam prosesor Intel.

Terlepas dari semua keberhasilan yang telah dicapai oleh prosesor, mereka memiliki satu kelemahan signifikan - mereka hanya dapat mengeksekusi satu instruksi pada satu waktu. Katakanlah Anda memiliki aplikasi yang berjalan pada saat yang sama, seperti editor teks, peramban, dan Skype. Dari sudut pandang pengguna, lingkungan perangkat lunak ini dapat disebut multitasking, namun dari sudut pandang prosesor, ini jauh dari kenyataan. Inti prosesor masih akan menjalankan satu instruksi untuk jangka waktu tertentu. Dalam hal ini, tugas prosesor mencakup distribusi sumber daya waktu prosesor antara aplikasi individu. Karena eksekusi instruksi berurutan ini sangat cepat, Anda tidak menyadarinya. Dan bagi Anda tampaknya tidak ada penundaan.

Tapi masih ada penundaan. Penundaan muncul karena cara prosesor disuplai dengan data dari masing-masing program. Setiap aliran data harus tiba pada waktu tertentu dan diproses oleh prosesor secara individual. Teknologi Hyper Threading memungkinkan setiap inti prosesor untuk menjadwalkan pemrosesan data dan mengalokasikan sumber daya secara bersamaan untuk dua utas.

Perlu dicatat bahwa dalam inti prosesor modern ada beberapa yang disebut unit eksekusi sekaligus, yang masing-masing dirancang untuk melakukan operasi spesifik pada data. Pada saat yang sama, beberapa perangkat eksekutif ini mungkin menganggur selama pemrosesan data dari satu utas.

Untuk memahami situasi ini, kita dapat menggambar analogi dengan pekerja yang bekerja di bengkel perakitan di konveyor dan memproses berbagai jenis suku cadang. Setiap pekerja dilengkapi dengan alat khusus yang dirancang untuk melakukan suatu tugas. Namun, jika suku cadang tiba dengan urutan yang salah, maka ada penundaan - karena beberapa pekerja menunggu giliran untuk mulai bekerja. Hyper Threading dapat dibandingkan dengan sabuk konveyor tambahan yang dipasang di toko sehingga pekerja yang sebelumnya menganggur akan melakukan tugas mereka secara independen dari orang lain. Toko masih sendiri, tetapi suku cadang diproses lebih cepat dan efisien, sehingga waktu henti berkurang. Dengan demikian, Hyper Threading memungkinkan untuk memasukkan perangkat eksekutif prosesor yang menganggur saat menjalankan instruksi dari satu utas ke dalam pekerjaan.

Segera setelah Anda menyalakan komputer dengan prosesor dual-core yang mendukung Hyper Threading dan membuka Windows Task Manager (Task Manager) pada tab Performance (Kinerja), Anda akan menemukan empat grafik di dalamnya. Tetapi ini tidak berarti bahwa Anda benar-benar memiliki 4 inti prosesor.

Ini karena Windows berpikir bahwa setiap inti memiliki dua prosesor logis. Istilah "prosesor logis" terdengar lucu, tetapi itu berarti prosesor yang tidak ada secara fisik. Windows dapat mengirim aliran data ke setiap prosesor logis, tetapi hanya satu inti yang benar-benar bekerja. Oleh karena itu, satu inti dengan teknologi Hyper Threading berbeda secara signifikan dari inti fisik yang terpisah.

Teknologi Hyper Threading membutuhkan dukungan dari perangkat keras dan perangkat lunak berikut:

  • CPU
  • chipset papan utama
  • Sistem operasi

Manfaat Teknologi

Sekarang pertimbangkan pertanyaan berikutnya - seberapa besar teknologi Hyper Threading meningkatkan kinerja komputer? Dalam tugas sehari-hari seperti berselancar di Internet dan mengetik, manfaat teknologi tidak begitu jelas. Namun, perlu diingat bahwa prosesor saat ini sangat kuat sehingga tugas sehari-hari jarang menggunakan prosesor dengan kapasitas penuh. Selain itu, banyak tergantung pada cara penulisannya perangkat lunak. Anda dapat menjalankan beberapa program sekaligus, namun, dengan melihat grafik beban, Anda akan melihat bahwa hanya satu prosesor logis per inti yang digunakan. Ini karena perangkat lunak tidak mendukung distribusi proses antar inti.

Namun, dalam tugas yang lebih kompleks, Hyper Threading bisa lebih bermanfaat. Aplikasi seperti program pemodelan 3D, game 3D, program encoding/decoding musik atau video, dan banyak aplikasi ilmiah ditulis untuk memaksimalkan multithreading. Oleh karena itu, Anda dapat merasakan manfaat kinerja komputer hyper-threaded saat bermain game yang kompleks, mendengarkan musik, atau menonton film. Ini dapat meningkatkan kinerja hingga 30%, meskipun mungkin ada situasi di mana Hyper Threading tidak memberikan keuntungan sama sekali. Terkadang, jika kedua utas memuat semua perangkat eksekutif prosesor dengan tugas yang sama, bahkan mungkin ada penurunan kinerja.

Kembali ke keberadaan di BIOS Setup dari opsi yang sesuai yang memungkinkan Anda untuk mengatur parameter Hyper Threading, dalam banyak kasus disarankan untuk mengaktifkan fitur ini. Namun, Anda selalu dapat mematikannya jika ternyata komputer bekerja dengan kesalahan atau bahkan memiliki kinerja yang kurang dari yang Anda harapkan.

Kesimpulan

Karena peningkatan performa maksimum saat menggunakan Hyper Threading adalah 30%, tidak dapat dikatakan bahwa teknologi tersebut setara dengan menggandakan jumlah inti prosesor. Namun demikian, Hyper Threading adalah opsi yang berguna, dan Anda, sebagai pemilik komputer, tidak akan mengganggunya. Keuntungannya sangat terlihat, misalnya, ketika Anda mengedit file multimedia atau menggunakan komputer Anda sebagai workstation untuk program profesional seperti Photoshop atau Maya.

Ada saat ketika perlu untuk mengevaluasi kinerja memori dalam konteks teknologi Hyper-threading. Kami sampai pada kesimpulan bahwa pengaruhnya tidak selalu positif. Ketika ada kuantum waktu luang, ada keinginan untuk melanjutkan penelitian dan mempertimbangkan proses yang sedang berlangsung dengan akurasi siklus dan bit mesin, menggunakan perangkat lunak desain kami sendiri.

Platform yang Diteliti

Objek percobaan- laptop asus N750JK dengan prosesor Intel Core i7-4700HQ. Kecepatan clock adalah 2.4GHz, didorong oleh mode Intel Turbo Boost hingga 3.4GHz. 16 gigabyte terpasang memori akses acak DDR3-1600 (PC3-12800) beroperasi dalam mode saluran ganda. Sistem operasi - Microsoft Windows 8.1 64 bit.

Gbr.1 Konfigurasi platform yang dipelajari.

Prosesor platform yang diteliti berisi 4 inti, yang, ketika teknologi Hyper-Threading diaktifkan, menyediakan dukungan perangkat keras untuk 8 utas atau prosesor logis. Firmware platform meneruskan informasi ini ke sistem operasi melalui tabel ACPI MADT (Multiple APIC Description Table). Karena platform hanya berisi satu pengontrol RAM, tidak ada SRAT (System Resource Affinity Table) yang menyatakan kedekatan inti prosesor dengan pengontrol memori. Jelas, laptop yang dimaksud bukan platform NUMA, tapi sistem operasi, untuk tujuan penyatuan, menganggapnya sebagai sistem NUMA dengan satu domain, seperti yang ditunjukkan oleh baris NUMA Nodes = 1. Fakta yang mendasar untuk percobaan kami adalah bahwa cache data tingkat pertama memiliki ukuran 32 kilobyte untuk masing-masing dari empat inti. Dua prosesor logis yang berbagi inti yang sama berbagi cache L1 dan L2.

Operasi yang diselidiki

Kami akan menyelidiki ketergantungan kecepatan membaca blok data pada ukurannya. Untuk melakukan ini, kami akan memilih metode yang paling produktif, yaitu membaca operan 256-bit menggunakan instruksi VMOVAPD AVX. Pada grafik, sumbu X menunjukkan ukuran blok, dan sumbu Y menunjukkan kecepatan membaca. Di sekitar titik X, yang sesuai dengan ukuran cache tingkat pertama, kami berharap untuk melihat titik belok, karena kinerja akan turun setelah blok yang diproses keluar dari cache. Dalam pengujian kami, dalam kasus multithreading, masing-masing dari 16 utas yang dimulai bekerja dengan rentang alamat yang terpisah. Untuk mengontrol teknologi Hyper-Threading dalam aplikasi, setiap utas menggunakan fungsi API SetThreadAffinityMask, yang menetapkan topeng di mana setiap prosesor logis sesuai dengan satu bit. Nilai tunggal bit memungkinkan penggunaan prosesor yang ditentukan oleh utas yang ditentukan, nilai nol melarangnya. Untuk 8 prosesor logis dari platform yang dipelajari, mask 11111111b memungkinkan menggunakan semua prosesor (Hyper-Threading diaktifkan), mask 01010101b memungkinkan menggunakan satu prosesor logis di setiap inti (Hyper-Threading dinonaktifkan).

Singkatan berikut digunakan pada grafik:

MBPS (Megabyte per Detik)blokir kecepatan baca dalam megabyte per detik;

CPI (Jam per Instruksi)jumlah siklus per instruksi;

TSC (Penghitung Cap Waktu)penghitung siklus prosesor.

Catatan: Kecepatan clock register TSC mungkin tidak sesuai dengan kecepatan clock prosesor saat dijalankan dalam mode Turbo Boost. Ini harus diperhitungkan ketika menafsirkan hasil.

Di sisi kanan grafik, dump heksadesimal dari instruksi yang membentuk tubuh siklus operasi target yang dilakukan di setiap utas program, atau 128 byte pertama dari kode ini, divisualisasikan.

Pengalaman nomor 1. Satu utas



Gbr.2 Membaca dalam satu utas

Kecepatan maksimum adalah 213563 megabyte per detik. Titik belok terjadi pada ukuran blok sekitar 32 kilobyte.

Pengalaman nomor 2. 16 utas pada 4 prosesor, Hyper-Threading dinonaktifkan



Gbr.3 Membaca dalam enam belas utas. Jumlah prosesor logis yang digunakan adalah empat

Hyper-threading dinonaktifkan. Kecepatan maksimumnya adalah 797598 megabyte per detik. Titik belok terjadi pada ukuran blok sekitar 32 kilobyte. Seperti yang diharapkan, dibandingkan dengan membaca dengan satu utas, kecepatannya meningkat sekitar 4 kali lipat, dalam hal jumlah inti yang berfungsi.

Pengalaman nomor 3. 16 utas pada 8 prosesor, Hyper-Threading diaktifkan



Gbr.4 Membaca dalam enam belas utas. Jumlah prosesor logis yang digunakan adalah delapan

Hyper-threading diaktifkan. Kecepatan maksimum 800722 megabyte per detik, sebagai hasil dari penyertaan Hyper-Threading, hampir tidak meningkat. Minus besar adalah bahwa titik belok terjadi pada ukuran blok sekitar 16 kilobyte. Mengaktifkan Hyper-Threading sedikit meningkatkan kecepatan maksimum, tetapi sekarang penurunan kecepatan terjadi pada setengah ukuran blok - sekitar 16 kilobyte, sehingga kecepatan rata-rata telah turun secara signifikan. Ini tidak mengherankan, setiap inti memiliki cache L1 sendiri, sedangkan prosesor logis dalam inti yang sama membaginya.

kesimpulan

Skala operasi yang diselidiki cukup baik pada prosesor multi-core. Alasannya adalah bahwa masing-masing inti berisi memori cache sendiri dari tingkat pertama dan kedua, ukuran blok target sebanding dengan ukuran memori cache, dan masing-masing utas bekerja dengan rentang alamatnya sendiri. Untuk tujuan akademis, kami menciptakan kondisi seperti itu dalam pengujian sintetis, menyadari bahwa aplikasi nyata biasanya jauh dari optimalisasi ideal. Tetapi dimasukkannya Hyper-Threading, bahkan dalam kondisi ini, memiliki efek negatif, dengan sedikit peningkatan kecepatan puncak, ada kerugian yang signifikan dalam kecepatan pemrosesan blok, yang ukurannya berkisar antara 16 hingga 32 kilobyte.

Halo pecinta komputer dan perangkat keras.

Apakah Anda ingin memiliki prosesor berperforma tinggi di komputer Anda yang dapat melakukan banyak tugas sekaligus dengan kecepatan kilat? Siapa yang akan menolak, kan? Maka saya sarankan Anda berkenalan dengan teknologi hyper threading: apa itu dan bagaimana cara kerjanya, Anda akan belajar dari artikel ini.


Penjelasan konsep

Hyper-threading diterjemahkan dari bahasa Inggris sebagai "hyper-accuracy". Teknologi mendapat nama besar karena suatu alasan. Bagaimanapun, sistem operasi membutuhkan satu prosesor fisik yang dilengkapi dengannya untuk dua inti logis. Akibatnya, lebih banyak perintah diproses, dan kinerja tidak turun.

Bagaimana ini mungkin? Karena fakta bahwa prosesor:

  • Menyimpan informasi tentang beberapa utas yang sedang berjalan sekaligus;
  • Untuk setiap prosesor logis, ada satu set register - blok memori internal cepat, serta satu blok interupsi. Yang terakhir ini bertanggung jawab atas eksekusi berurutan permintaan dari perangkat yang berbeda.

Seperti apa praktiknya? Misalkan sekarang prosesor fisik memproses perintah prosesor logis pertama. Tetapi yang terakhir ada semacam kegagalan, dan, misalnya, dia perlu menunggu data dari memori. Fisik tidak akan membuang waktu dan akan segera beralih ke prosesor logis kedua.

Tentang meningkatkan kinerja

Efisiensi prosesor fisik, sebagai suatu peraturan, tidak lebih dari 70%. Mengapa? Seringkali, beberapa blok tidak diperlukan untuk melakukan tugas tertentu. Misalnya, ketika CPU melakukan tindakan komputasi sepele, blok instruksi dan ekstensi SIMD tidak terlibat. Terjadi kegagalan pada modul prediksi cabang atau saat mengakses cache.

Dalam situasi seperti itu, Hyper-threading mengisi "kesenjangan" dengan tugas lain. Dengan demikian, efektivitas teknologi terletak pada kenyataan bahwa pekerjaan yang bermanfaat tidak menganggur dan diberikan ke perangkat yang tidak digunakan.

Penampilan dan implementasi

Kita dapat berasumsi bahwa Hyper-threading telah merayakan hari jadinya yang ke-15. Bagaimanapun, itu dikembangkan berdasarkan teknologi super-threading, yang dirilis pada tahun 2002 dan pertama kali mulai bekerja di produk Xeon, kemudian pada tahun yang sama diintegrasikan ke Pentium 4. Hak cipta untuk teknologi ini adalah milik Intel.

HT diimplementasikan dalam prosesor yang berjalan pada mikroarsitektur NetBurst, yang dicirikan oleh kecepatan clock yang tinggi. Dukungan teknologi diimplementasikan dalam model keluarga Core vPro, M dan Xeon. Namun, dalam seri Core 2 ("Duo", "Quad"), tidak terintegrasi. Teknologi yang serupa dalam prinsip operasi diimplementasikan dalam proses Atom dan Itanium.

Bagaimana cara mengaktifkannya? Anda harus memiliki tidak hanya salah satu dari prosesor di atas, tetapi juga sistem operasi yang mendukung teknologi dan BIOS yang memiliki opsi untuk menghidupkan dan mematikan HT. Jika tidak, perbarui BIOS.

Pro dan Kontra dari Hyperthreading

Anda sudah bisa menarik kesimpulan tentang beberapa keunggulan teknologi dari informasi di atas. Saya akan menambahkan beberapa kata lagi untuk mereka:

  • Pengoperasian yang stabil dari beberapa program secara paralel;
  • Mengurangi waktu respons saat berselancar di Internet atau menggunakan aplikasi.

Seperti yang Anda pahami, itu bukan tanpa lalat di salep. Mungkin tidak ada peningkatan kinerja karena alasan berikut:

  • Memori cache tidak cukup. Misalnya, dalam prosesor 4-core i7, cache adalah 8 MB, tetapi ada jumlah inti logis yang sama. Kami hanya mendapatkan 1 MB per inti, yang tidak cukup untuk sebagian besar program untuk melakukan tugas komputasi. Karena itu, kinerja tidak hanya berhenti, tetapi bahkan jatuh.

  • Ketergantungan data. Misalkan utas pertama segera membutuhkan informasi dari utas kedua, tetapi belum siap atau sedang mengantri untuk utas lain. Itu juga terjadi bahwa data siklik membutuhkan blok tertentu untuk menyelesaikan tugas dengan cepat, tetapi mereka sudah sibuk dengan pekerjaan lain.
  • kelebihan muatan kernel. Kebetulan kernel mungkin sudah kelebihan beban, tetapi meskipun demikian, modul prediksi masih mengirim data ke sana, akibatnya komputer mulai melambat.

Di mana Hyper-threading dibutuhkan?

Teknologi ini akan berguna saat menggunakan program intensif sumber daya: editor audio, video dan foto, game, pengarsipan. Ini termasuk Photoshop, Maya, 3D's Max, Corel Draw, WinRar, dll.

Penting bahwa perangkat lunak dioptimalkan untuk Hyper-threading. Jika tidak, penundaan dapat terjadi. Faktanya adalah bahwa program menganggap inti logis sebagai fisik, sehingga mereka dapat mengirim tugas yang berbeda ke blok yang sama.

Menantikan untuk melihat Anda di blog saya.

Pengguna yang setidaknya pernah mengonfigurasi BIOS mungkin telah memperhatikan bahwa ada parameter Intel Hyper Threading yang tidak dapat dipahami oleh banyak orang. Banyak yang tidak tahu apa teknologi ini dan untuk tujuan apa digunakan. Mari kita coba mencari tahu apa itu Hyper Threading dan bagaimana Anda dapat mengaktifkan penggunaan dukungan ini. Kami juga akan mencoba mencari tahu keuntungan apa yang diberikannya pada komputer. pengaturan ini. Pada prinsipnya, tidak ada yang sulit untuk dipahami di sini.

Intel Hyper Threading: apa itu?
Jika Anda tidak masuk jauh ke dalam hutan terminologi komputer, tetapi secara sederhana, maka teknologi ini dikembangkan untuk meningkatkan aliran perintah yang diproses secara bersamaan oleh prosesor pusat. Chip prosesor modern, sebagai suatu peraturan, hanya menggunakan 70% dari kemampuan komputasi yang tersedia. Sisanya, bisa dikatakan, sebagai cadangan. Untuk pemrosesan aliran data, dalam banyak kasus hanya satu utas yang digunakan, meskipun faktanya sistem menggunakan prosesor multi-inti.

Prinsip dasar kerja
Untuk meningkatkan kemampuan prosesor pusat, itu dikembangkan teknologi khusus hyperthreading. Teknologi ini memudahkan untuk membagi satu aliran perintah menjadi dua. Dimungkinkan juga untuk menambahkan aliran kedua ke aliran yang sudah ada. Hanya aliran seperti itu yang virtual dan tidak berfungsi pada tingkat fisik. Pendekatan ini memungkinkan Anda untuk meningkatkan kinerja prosesor secara signifikan. Seluruh sistem, karenanya, mulai bekerja lebih cepat. Peningkatan kinerja CPU dapat berfluktuasi cukup banyak. Ini akan dibahas secara terpisah. Namun, para pengembang teknologi Hyper Threading sendiri mengklaim bahwa itu kurang dari inti yang lengkap. Dalam beberapa kasus, penggunaan teknologi ini sepenuhnya dibenarkan. Jika Anda mengetahui esensi dari prosesor Hyper Threading, maka hasilnya tidak akan lama datang.

Referensi sejarah
Mari selami sedikit sejarah perkembangan ini. Dukungan untuk Hyper Threading pertama kali muncul hanya di prosesor Intel Pentium 4. Kemudian, penerapan teknologi ini dilanjutkan di seri Intel Core iX (X singkatan dari seri prosesor di sini). Perlu dicatat bahwa untuk beberapa alasan itu tidak ada di jajaran chip prosesor Core 2. Benar, maka peningkatan produktivitas agak lemah: di suatu tempat di tingkat 15-20%. Ini menunjukkan bahwa prosesor tidak memiliki kekuatan pemrosesan yang diperlukan, dan teknologi yang dibuat praktis lebih maju dari masanya. Saat ini, dukungan untuk teknologi Hyper Threading sudah tersedia di hampir semua chip modern. Untuk meningkatkan kekuatan prosesor pusat, proses itu sendiri hanya menggunakan 5% dari permukaan kristal, sambil meninggalkan ruang untuk memproses perintah dan data.

Pertanyaan tentang konflik dan kinerja
Semua ini tentu bagus, tetapi dalam beberapa kasus, saat memproses data, mungkin ada perlambatan dalam pekerjaan. Ini sebagian besar disebabkan oleh apa yang disebut modul prediksi cabang dan ukuran cache yang tidak mencukupi ketika terus-menerus dimuat ulang. Jika kita berbicara tentang modul utama, maka dalam kasus ini situasinya sedemikian rupa sehingga dalam beberapa kasus utas pertama mungkin memerlukan data dari yang kedua, yang mungkin tidak diproses pada saat itu atau sedang dalam antrian untuk diproses. Juga, yang tidak kalah umum adalah situasi ketika inti prosesor pusat memiliki beban yang sangat serius, dan modul utama, meskipun demikian, terus mengirim data ke sana. Beberapa program dan aplikasi, seperti game online yang membutuhkan banyak sumber daya, dapat menjadi sangat lambat hanya karena kurangnya pengoptimalan untuk penggunaan teknologi Hyper Threading. Apa yang terjadi dengan game? Sistem komputer pengguna, pada bagiannya, mencoba mengoptimalkan aliran data dari aplikasi ke server. Masalahnya adalah gim ini tidak tahu cara mendistribusikan aliran data secara mandiri, membuang semuanya dalam satu tumpukan. Pada umumnya, itu mungkin tidak dirancang untuk ini. Terkadang dalam prosesor dual-core, peningkatan kinerja secara signifikan lebih tinggi daripada di prosesor 4-core. Mereka hanya tidak memiliki kekuatan pemrosesan.

Bagaimana cara mengaktifkan Hyper Threading di BIOS?
Kami telah mengetahui sedikit tentang apa itu teknologi Hyper Threading dan berkenalan dengan sejarah perkembangannya. Kami hampir memahami apa itu teknologi Hyper Threading. Bagaimana cara mengaktifkan teknologi ini untuk digunakan di prosesor? Di sini semuanya dilakukan dengan cukup sederhana. Anda harus menggunakan subsistem manajemen BIOS. Subsistem dimasukkan menggunakan tombol Del, F1, F2, F3, F8, F12, F2+Del, dll. Jika Anda menggunakan laptop Sony Vaio, mereka memiliki input khusus saat menggunakan kunci ASSIST khusus. Dalam pengaturan BIOS, jika prosesor yang Anda gunakan mendukung teknologi Hyper Threading, harus ada jalur pengaturan khusus. Dalam kebanyakan kasus, ini terlihat seperti Teknologi Hyper Threading, dan terkadang terlihat seperti Fungsi. Tergantung pada pengembang subsistem dan versi BIOS, pengaturan parameter ini dapat dimuat di menu utama atau di pengaturan lanjutan. Untuk mengaktifkan teknologi ini, Anda harus masuk ke menu opsi dan mengatur nilainya ke Diaktifkan. Setelah itu, Anda perlu menyimpan perubahan yang dibuat dan mem-boot ulang sistem.

Mengapa Hyper Threading berguna?
Sebagai penutup, saya ingin berbicara tentang manfaat penggunaan teknologi Hyper Threading. Untuk apa semua ini? Mengapa perlu meningkatkan daya prosesor saat memproses informasi? Para pengguna yang bekerja dengan aplikasi dan program intensif sumber daya tidak perlu menjelaskan apa pun. Banyak orang mungkin tahu bahwa paket perangkat lunak desain grafis, matematika, membutuhkan banyak sumber daya sistem dalam proses kerjanya. Karena itu, seluruh sistem dimuat begitu banyak sehingga mulai sangat lambat. Untuk mencegah hal ini terjadi, disarankan untuk mengaktifkan dukungan Hyper Threading.