Thread pada prosesor dan cara kerjanya



Apa itu thread pada prosesor ?

Thread adalah komponen atau kode virtual, yang membagi inti fisik CPU menjadi beberapa inti virtual. Satu inti CPU dapat memiliki hingga 2 Thread per inti. Misalnya, jika CPU adalah dual core (yaitu, 2 core) itu akan memiliki 4 Thread. Dan jika CPU adalah inti Oktal (yaitu, 8 inti) ia akan memiliki 16 Thread dan sebaliknya.

Bagaimana Thread Bekerja ?

Masalah dasarnya adalah bahwa memori utama (RAM tidak memiliki kecepatan secepat prosesor. Dalam waktu yang diperlukan untuk mendapatkan satu kata data dari memori utama, prosesor dapat melakukan setidaknya 10 detik jika tidak 100 detik atau 1000 detik instruksi.
Tetapi ada saatnya dalam eksekusi semua program ketika tidak dapat membuat kemajuan lebih lanjut tanpa mendapatkan data dari memori. Seperti, jika kamu ingin menambahkan 1 ke data di lokasi memori A, kamu tidak akan terlalu jauh sampai kamu mendapatkan data di A. Garis pertahanan pertama yang berlawanan adalah memori cache. memori cache Ini adalah memori cepat yang dapat mengimbangi prosesor tempat menyimpan data yang baru saja digunakan. memori cache mampu mengimbangi kecepatan prosesor, tetapi juga jauh lebih kecil dari memori utama (10x hingga 100x+ lebih kecil), karena jika semakin besar, itu akan menjadi lebih lambat dan mengalahkan seluruh tujuannya. Jadi tidak semuanya bisa disimpan dalam cache.Disisi lain ternyata program sering menggunakan kembali data, jadi cache bekerja lebih baik daripada yang kita harapkan: lebih dari 90% akses data program biasa dapat dipenuhi oleh cache. Ketika sebuah program menemukan datanya dalam cache, itu disebut cache hit . Ketika hal tersebut tidak terjadi, itu disebut sebagai cache miss . Tetapi beberapa program, sangat disayangkanya, memiliki banyak cache yang hilang, dan orang-orang selalu berusaha keras untuk mendapatkan 1% kinerja lagi. Di sinilah threading masuk. Jika perangkat lunak telah menyediakan program lain (atau bagian dari program) yang juga dapat dijalankan pada saat yang sama, (ini adalah persyaratan penting).

Trik untuk mengamati Thread bekerja

Sediakan beberapa program berbeda untuk dijalankan bersamaan program kemudian, ketika satu program menemukan cache miss, lakukan multitasking dan beralih ke program lain yang statusnya disimpan. Jika berhasil berarti CPU tidak berhenti sama sekali, Siklus jam CPU berikutnya dapat berjalan menggunakan program lain. (Tidak ada perbandingan dengan pergantian perangkat lunak, hal ini membutuhkan ribuan instruksi, dan mungkin seluruh tumpukan cache sudah meleset.) Perangkat keras melakukan peralihan ini sendiri, menggunakan kumpulan data utas dan penjadwal sederhana .

Setelah kamu menjalankan program lain untuk sementara waktu, data yang diminta oleh yang pertama mungkin telah tiba dari memori, sehingga kamu dapat melanjutkannya, setelah memanfaatkan CPU dengan baik untuk sementara dengan melakukan sesuatu yang lain. Atau, jika yang kamu jalankan memiliki cache yang hilang, alihkan ke yang ketiga. Dan seterusnya.

Mengapa disebut sebagai Thread ?

Setiap status tersimpan disebut thread , atau CPU thread - untuk membedakannya dari thread yang diimplementasikan perangkat lunak.
tamivoo telah melihat perkiraan bahwa ruang ekstra yang diperlukan untuk beberapa (4, 8, sekitar) utas hanya menambahkan beberapa persen ke area CPU - penyimpanan tidak memakan banyak area - tetapi ketika cukup banyak program terpisah tersedia, agregat kinerja di semua program - yang berarti jumlah siklus CPU yang benar-benar melakukan pekerjaan yang bermanfaat, daripada menunggu - meningkat 30%.
yang artinya hal itu tidak sempurna, tetapi ini adalah tradeoff teknik yang bagus, dan banyak prosesor menggunakannya. Tidak seperti cache, ini terutama digunakan pada prosesor berperforma tinggi, sistem chip tunggal dan sistem tertanam biasanya tidak menggunakannya.


Multiprosessor dan multitasking

Kembali ke "jawaban singkat" tamivoo menyebut ini "jenis multiprosesor." Walaupun tidak benar-benar multi processing , karena beberapa program tidak pernah berjalan pada waktu yang sama persis: ketika melakukan multitasking ketika kamu mengoperasikan software seperti word dan chrome secara bergantian Ini jauh lebih mirip dengan apa yang disebut multi processing , yang telah digunakan oleh perangkat lunak untuk waktu yang sangat lama bisa menutupi waktu yang seharusnya dihabiskan untuk menunggu perangkat IO (seperti disk) untuk merespons. Maksud dari multithreading CPU persis sama dengan multiprosesor perangkat lunak, tetapi skala waktunya sangat berbeda (milidetik vs. nanodetik) dan, tentu saja, implementasinya sama sekali berbeda (perangkat lunak vs. perangkat keras).

Contoh Thread pada smatphone

Aplikasi smartphone adalah contohnya, ketika kamu membuka aplikasi, itu menunjukkan lingkaran yang berputar terus menerus, proses ini dilakukan oleh Thread yang dibuat untuk tujuan ini saja, dan Thread kedua memuat informasi dan menyajikannya dalam Grafik Antarmuka pengguna.
Satu-satunya fakta yang akan membatasi pembuatan Thread adalah jumlah Thread yang disediakan oleh CPU fisik, dan itu bervariasi dari CPU ke CPU. Gambar pertama adalah pemintal pemuatan oleh Thread pertama dan yang kedua adalah pemuatan GUI oleh Thread kedua.

tamivoo

Tamsyah Hidayat Editor Foto Jurnalis, Penulis Reviewers Pengamat pembelajaran hidup Photosop

Posting Komentar

Yuk ! Budidayakan membaca lebih rinci agar tidak terjadi kesalahan dalam memahami Tips Ataupun tutorial ,kamu juga bisa memberikan Kritik dan saran isi di kolom komentar.

Lebih baru Lebih lama