Tutorial

Apa untaian prosesor? perbedaan dengan nuklei

Daftar Isi:

Anonim

Dalam artikel ini kita akan mengambil waktu sejenak untuk menjelaskan apa saja thread dari prosesor atau juga disebut thread dalam bahasa Inggris atau thread pemrograman, untuk mengidentifikasi perbedaan mendasar antara ini dan inti prosesor. Di antara yang kurang ahli dan bahkan pengguna yang lebih maju, masih ada sedikit kebingungan tentang topik ini. Itu sebabnya kami telah menetapkan untuk mengklarifikasi persyaratan ini sejauh mungkin.

Konsep pemrosesan thread ini tidak perlu diketahui saat membeli prosesor untuk pengguna normal. Dalam kebanyakan kasus, lebih baik lebih dari kurang, itu hampir selalu benar. Di mana kita perlu tahu apa utasnya, ada dalam pekerjaan pengembangan program. Bergantung pada bagaimana aplikasi diprogram dan dikompilasi, itu akan memiliki eksekusi yang lebih optimal untuk prosesor dengan lebih banyak utas daripada inti. Dan di sinilah kita akan mencoba mendapatkan penjelasan kami.

Indeks isi

Apa inti dari sebuah prosesor

Kami akan mulai dengan menjelaskan inti dari prosesor kami, jadi kami akan memiliki pengetahuan sebelumnya agar tidak menjadi bingung.

Kita tahu bahwa prosesor bertanggung jawab untuk menjalankan dan menjalankan instruksi dari program yang dimuat dalam memori RAM komputer kita. Praktis semua instruksi yang diperlukan untuk melakukan tugas-tugas khas pada PC kita, menavigasi, menulis, melihat foto, dll. Melewatinya. Pada bagian fisik, prosesor adalah sirkuit terintegrasi yang terdiri dari jutaan transistor yang membentuk gerbang logis untuk melewati atau tidak melewatkan bit data dalam bentuk energi, tanpa basa-basi lagi.

Nah, chip kecil ini memiliki modul-modul berbeda yang dapat kita sebut nuklei, di samping elemen-elemen lain yang tidak kita minati sekarang. Prosesor beberapa tahun yang lalu hanya memiliki satu core ini, dan mampu memproses satu instruksi per siklus. Siklus ini diukur dalam Megahertz (MHz), semakin banyak MHz, semakin banyak instruksi yang bisa kita lakukan setiap detik.

Sekarang kita tidak hanya memiliki satu inti, tetapi beberapa inti. Setiap core mewakili subprocessor, yaitu, masing-masing subprocessor ini akan menjalankan salah satu dari instruksi ini, sehingga dapat mengeksekusi beberapa dari mereka dalam setiap siklus clock dengan CPU multi-core. Jika kami memiliki prosesor 4-core, kami dapat menjalankan 4 instruksi secara bersamaan, bukan hanya satu. Jadi peningkatan kinerja adalah empat kali lipat. Jika kita memiliki 6, maka 6 instruksi secara bersamaan. Ini adalah bagaimana prosesor saat ini jauh lebih kuat daripada yang lebih lama.

Dan ingat, inti ini secara fisik hadir dalam prosesor kami, itu bukan sesuatu yang virtual atau dibuat oleh kode.

Apa yang memproses utas?

Utas, utas, atau utas bukan merupakan bagian fisik dari prosesor, paling tidak dalam hal lebih banyak inti atau semacamnya.

Kita dapat mendefinisikan utas pemrosesan sebagai aliran kontrol data suatu program. Ini adalah cara yang memungkinkan mengelola tugas prosesor dan inti yang berbeda dengan cara yang lebih efisien. Berkat utasnya, unit alokasi minimum, yang merupakan tugas atau proses suatu program, dapat dibagi menjadi beberapa bagian untuk mengoptimalkan waktu tunggu setiap instruksi dalam antrian proses. Potongan ini disebut utas atau utas.

Dengan kata lain, setiap utas pemrosesan berisi bagian dari tugas yang harus dilakukan, sesuatu yang lebih sederhana untuk dilakukan daripada jika kita memperkenalkan tugas lengkap dalam inti fisik. Dengan cara ini CPU dapat memproses beberapa tugas pada saat yang bersamaan dan secara bersamaan, pada kenyataannya, ia akan dapat melakukan banyak tugas karena ada utas, dan biasanya ada satu atau dua untuk setiap inti. Dalam prosesor yang memiliki misalnya 6 core dan 12 thread, mereka akan dapat membagi proses menjadi 12 tugas yang berbeda, bukan hanya 6.

Cara kerja ini membuat sumber daya sistem dikelola dengan lebih adil dan efisien. Anda tahu… dia terbagi dan Anda akan menang dari semua kehidupan. Prosesor ini disebut multi-threaded. Untuk saat ini, yang harus kita jelaskan adalah bahwa prosesor dengan 12 utas tidak akan memiliki 12 inti, inti adalah sesuatu yang berasal dari fisik dan benang tersebut berasal dari yang logis.

Itu pasti agak abstrak dan sulit dipahami, jadi mari kita lihat bagaimana menerjemahkannya jika kita berbicara tentang arsitektur program di komputer kita.

Program, proses, dan utas

Kita semua tahu apa program itu, itu adalah kode yang disimpan di komputer kita dan yang ditakdirkan untuk melakukan tugas tertentu. Aplikasi adalah program, driver juga program dan bahkan sistem operasi adalah program yang mampu mengeksekusi program lain di dalamnya. Semuanya disimpan dalam bentuk biner, karena prosesor hanya memahami yang dan nol, saat ini / tidak saat ini.

Proses program

Untuk menjalankan program, itu dimuat ke dalam memori, RAM. Program ini dimuat oleh proses, yang membawa kode biner terkait dan sumber daya yang diperlukan untuk beroperasi, yang akan ditugaskan "secara cerdas" oleh sistem operasi.

Sumber daya dasar yang dibutuhkan proses adalah penghitung program dan setumpuk catatan.

  • Penghitung program (CP): ini disebut penunjuk instruksi, dan melacak urutan instruksi yang sedang diproses. Register: ini adalah gudang yang terletak di prosesor tempat instruksi, alamat penyimpanan atau data lainnya dapat disimpan. Stack: itu adalah struktur data yang menyimpan informasi yang terkait dengan instance yang program aktif di komputer.

Kemudian setiap program dibagi menjadi beberapa proses, dan disimpan di tempat tertentu dalam memori. Juga, setiap proses berjalan secara independen, dan ini sangat penting untuk dipahami karena ini adalah bagaimana prosesor dan sistem mampu mengeksekusi banyak tugas pada saat yang sama, apa yang kita sebut sistem multitasking. Sistem pemrosesan ini adalah biang keladinya kita dapat terus bekerja pada PC kita, bahkan jika suatu program telah diblokir.

Thread dari suatu proses

Di sinilah utas pemrosesan, yang disebut utas dalam sistem operasi, muncul. Thread adalah unit pelaksanaan suatu proses. Kami dapat membagi proses menjadi utas, dan masing-masing akan menjadi utas eksekusi.

Jika suatu program tidak multi-utas, proses di dalamnya hanya akan memiliki satu utas, sehingga hanya dapat diproses pada satu waktu. Sebaliknya, jika kita memiliki proses multi-utas, ini dapat dibagi menjadi beberapa bagian, dan masing-masing utas berbagi sumber daya yang ditugaskan untuk proses. Jadi kami mengatakan bahwa multithreading lebih efisien.

Selain itu, setiap utas memiliki tumpukan catatan sendiri sehingga dua atau lebih dari mereka dapat diproses pada saat yang sama, tidak seperti proses tunggal, yang harus dijalankan sekaligus. Utas adalah tugas yang lebih sederhana yang memungkinkan Anda menjalankan proses secara terpisah. Dan ini pada dasarnya adalah fungsi akhir dari utas pemrosesan. Semakin banyak utas, semakin besar pembagian proses, dan semakin besar volume perhitungan simultan dan, oleh karena itu, semakin besar efisiensinya.

Kami belum selesai, kami masih memiliki pertanyaan tentang Apa yang terjadi kemudian dengan inti dengan utas ganda ? Kami telah mengatakan bahwa setiap kernel mampu menjalankan satu instruksi pada satu waktu. CPU memiliki algoritma yang kompleks yang membagi waktu eksekusi dengan cara yang seefisien mungkin, sehingga memberikan setiap tugas interval eksekusi tertentu. Perubahan antara tugas sangat cepat, itu akan memberi perasaan bahwa inti melaksanakan tugas secara paralel.

Bisakah kita melihat utas atau utas dalam sistem?

Tidak terlalu detail, tapi ya, kita bisa melihatnya, baik di Windows maupun Mac.

Dalam kasus Windows, kita hanya perlu membuka task manager dan pergi ke " kinerja ". Kemudian kita akan mengklik tautan " resource monitor " di bawah ini. Di jendela baru ini kita akan memiliki setiap proses dibagi menjadi konsumsi CPU dan utas, ini akan menjadi utas.

Di monitor aktivitas Mac, kami akan memiliki utas secara langsung terdaftar di layar utama.

Ini menyimpulkan artikel kami tentang apakah thread pemrosesan CPU itu. Ini tentu merupakan topik yang agak rumit untuk dijelaskan dan cukup abstrak, terutama bagi pengguna yang tidak sepenuhnya memahami cara kerja prosesor. Tetapi dalam hal ini kami memiliki kabar baik karena kami juga memiliki artikel yang cukup bagus berbicara tentang cara kerja prosesor dan bagaimana seluruh siklus instruksi dilakukan.

Kunjungi artikel kami di:

Kami berharap semuanya menjadi lebih atau kurang jelas, dan kami menghargai Anda telah memilih kami untuk mengetahui lebih banyak tentang topik ini.

Tutorial

Pilihan Editor

Back to top button