Anonim

Apabila komputer peribadi dicipta pertama kali, unit pemprosesan pusat mereka (CPU) berdiri sendiri dan hanya mempunyai satu teras prosesor. Pemproses itu sendiri adalah teras; idea untuk mempunyai pemproses teras pelbagai masih belum pernah didengar. Hari ini, sama sekali tidak biasa melihat komputer, telefon, dan peranti lain dengan pelbagai teras - sememangnya, hampir semua komputer yang tersedia secara komersil dari pelbagai jenis mempunyai banyak teras. Asas-asas ini berada di unit yang sama, tunggal, CPU, atau Central Processing.

Mempunyai beberapa teras adalah kelebihan besar. Dengan hanya satu teras, komputer hanya boleh berfungsi pada satu tugas pada satu masa, setelah menyelesaikan tugas sebelum ia bergerak ke arah yang lain. Dengan lebih banyak teras, bagaimanapun, komputer dapat bekerja dengan pelbagai tugas sekaligus, yang sangat berguna bagi mereka yang melakukan banyak multitasking.

Sebelum menyelam dengan tepat bagaimana prosesor multi-core berfungsi, penting untuk membincangkan sedikit tentang backstory teknologi pemprosesan, selepas itu kita akan membincangkan apa yang dilakukan oleh pemproses berbilang teras.

Beberapa Sejarah

Sebelum prosesor dengan pelbagai teras dibina, orang dan syarikat seperti Intel dan AMD cuba membina komputer dengan berbilang CPU. Apa yang dimaksudkan ialah motherboard yang mempunyai lebih daripada satu soket CPU diperlukan. Bukan sahaja ini lebih mahal, kerana perkakasan fizikal yang diperlukan untuk soket CPU lain, tetapi ia juga meningkatkan latensi kerana peningkatan komunikasi yang diperlukan untuk berlaku antara kedua-dua pemproses. Papan induk terpaksa memisahkan data antara dua lokasi yang berasingan di dalam komputer dan bukan hanya menghantarnya ke pemproses. Jarak fizikal sebenarnya bermakna proses lebih perlahan. Meletakkan proses-proses ini pada satu cip dengan pelbagai teras bukan hanya bermakna bahawa jarak yang kurang untuk perjalanan, tetapi juga bermakna bahawa teras yang berbeza dapat berkongsi sumber untuk melaksanakan tugas-tugas yang berat. Sebagai contoh, cip Intel Pentium II dan Pentium III kedua-duanya dilaksanakan dalam versi dengan dua pemproses pada satu motherboard.

Selepas beberapa ketika, pemproses perlu lebih berkuasa, jadi pengeluar komputer datang dengan konsep hyper-threading. Konsep itu sendiri datang dari Intel, dan mula-mula dipahami pada tahun 2002 pada pemproses Xeon server syarikat, dan kemudiannya pada pemproses desktop Pentium 4. Pengelompokan Hyper masih digunakan hari ini dalam pemproses, dan juga perbezaan utama antara cip Intel i5 dan cip i7nya. Ia pada asasnya mengambil kesempatan daripada hakikat bahawa sering terdapat sumber yang tidak digunakan dalam pemproses, khususnya apabila tugas tidak memerlukan banyak kuasa pemprosesan, yang boleh digunakan untuk program lain. Pemproses yang menggunakan hyper-threading pada dasarnya membentangkan dirinya kepada sistem operasi seolah-olah ia mempunyai dua teras. Sudah tentu, ia tidak mempunyai dua teras, walau bagaimanapun untuk dua program yang menggunakan separuh daripada kuasa pemprosesan yang ada atau kurang, mungkin ada juga dua teras kerana hakikat bahawa bersama-sama mereka dapat memanfaatkan semua kuasa yang pemproses telah tawarkan. Walau bagaimanapun, penghalau hyper akan sedikit lebih perlahan daripada pemproses dengan dua teras apabila tidak ada kuasa pemprosesan yang cukup untuk berkongsi antara kedua-dua program menggunakan inti.

Anda boleh mencari video berwawasan memberikan penjelasan ringkas dan terperinci tentang hyper-threading di sini.

Pemproses pelbagai

Selepas banyak eksperimen, CPU dengan pelbagai teras akhirnya dapat dibina. Apa ini bermakna bahawa satu pemproses tunggal pada dasarnya mempunyai lebih daripada satu unit pemprosesan. Sebagai contoh, pemproses dwi-teras mempunyai dua unit pemprosesan, quad-core mempunyai empat, dan sebagainya.

Jadi mengapa syarikat membangunkan pemproses dengan pelbagai teras? Nah, keperluan untuk pemproses yang lebih cepat menjadi semakin jelas, namun perkembangan dalam pemproses teras tunggal semakin perlahan. Dari 1980-an sehingga tahun 2000, para jurutera dapat meningkatkan kelajuan pemprosesan dari beberapa megahertz kepada beberapa gigahertz. Syarikat-syarikat seperti Intel dan AMD melakukan ini dengan mengecilkan saiz transistor, yang membolehkan lebih banyak transistor dalam ruang yang sama, sehingga meningkatkan prestasi.

Oleh kerana fakta bahawa kelajuan jam prosesor sangat dikaitkan dengan berapa banyak transistor yang boleh dimuatkan pada cip, apabila teknologi transistor menyusut perlahan, perkembangan dalam kelajuan prosesor meningkat juga mula perlahan. Walaupun ini tidak apabila syarikat pertama kali mengetahui mengenai pemproses pelbagai proses, ia adalah apabila mereka mula bereksperimen dengan pemproses pelbagai guna untuk tujuan komersil. Walaupun pemproses pelbagai warna mula-mula dibangun pada pertengahan tahun 1980-an, mereka telah direka untuk syarikat-syarikat besar, dan tidak benar-benar dibalikkan sehingga teknologi teras tunggal mula perlahan. Pemproses multi-teras pertama telah dibangunkan oleh Rockwell International, dan merupakan versi cip 6501 dengan dua 6502 pemproses pada satu cip (maklumat lanjut tersedia di sini dalam entri Wikipedia ini).

Apakah Prosesor Multi-Core Adakah?

Nah, itu benar-benar semua sangat mudah. Mempunyai pelbagai teras membolehkan banyak perkara yang boleh dilakukan sekaligus. Contohnya, jika anda sedang menjalankan e-mel, membuka penyemak imbas Internet, bekerja di hamparan excel, dan mendengar muzik di iTunes, maka pemproses quad-core dapat berfungsi pada semua perkara ini sekaligus. Atau, jika pengguna mempunyai tugas yang perlu diselesaikan segera, ia boleh berpecah menjadi lebih kecil, lebih mudah untuk memproses tugas.

Menggunakan pelbagai teras juga tidak terhad kepada pelbagai program sahaja. Sebagai contoh, Google Chrome menjadikan setiap halaman baru dengan proses yang berbeza, yang bermaksud bahawa ia boleh memanfaatkan banyak teras sekaligus. Sesetengah program, bagaimanapun, adalah apa yang dipanggil single-threaded, yang bermaksud mereka tidak ditulis untuk dapat menggunakan banyak teras dan oleh itu tidak dapat berbuat demikian. Hyper-threading sekali lagi bermain di sini, membolehkan Chrome menghantar beberapa halaman ke dua "teras logik" pada satu teras sebenar.

Melangkah ke arah pemproses teras multi-core dan hyper-threading adalah konsep yang dipanggil multithreading. Multithreading pada dasarnya adalah keupayaan untuk sistem operasi untuk memanfaatkan pelbagai teras dengan memecah kod ke dalam bentuk yang paling asas, atau benang, dan memberi makan kepada teras yang berbeza pada masa yang sama. Ini, tentu saja, penting dalam pelbagai pemproses serta pemproses multi-teras. Multi-threading adalah sedikit lebih rumit daripada bunyi, kerana ia memerlukan sistem operasi untuk memerintahkan supaya kod dengan cara yang program dapat terus berjalan dengan cekap.

Sistem pengendalian sendiri melakukan perkara yang sama dengan proses mereka sendiri - ia bukan hanya terhad kepada aplikasi. Proses sistem operasi adalah perkara yang sistem operasi sentiasa dilakukan di latar belakang, tanpa pengguna semestinya mengetahui. Kerana kenyataan bahawa proses ini sentiasa berlaku, mempunyai corak hyper-threading dan / atau berganda boleh sangat membantu, kerana ia membebaskan pemproses untuk dapat mengerjakan hal-hal lain seperti apa yang sedang terjadi di aplikasi.

Bagaimana Prosesor Multi-Core berfungsi?

Pertama, motherboard dan sistem operasi perlu mengenali pemproses dan terdapat banyak teras. Komputer lama hanya mempunyai satu teras, jadi sistem operasi yang lebih lama mungkin tidak berfungsi dengan baik jika pengguna cuba memasangnya pada komputer yang lebih baru dengan banyak teras. Windows 95, sebagai contoh, tidak menyokong hyper-threading atau beberapa teras. Semua sistem operasi baru-baru ini menyokong pemproses multi-core, termasuk seperti Windows 7, 8, yang baru dikeluarkan 10, dan OS X 10.10 Apple.

Pada asasnya, sistem operasi kemudian memberitahu motherboard bahawa proses perlu dilakukan. Papan induk kemudian memberitahu pemproses. Dalam prosesor multi-teras, sistem operasi boleh memberitahu pemproses untuk melakukan pelbagai perkara sekaligus. Pada asasnya, melalui arah sistem operasi, data dipindahkan dari cakera keras atau RAM, melalui motherboard, ke pemproses.

Pemproses Multi-Teras

Dalam pemproses, terdapat banyak peringkat memori cache yang memegang data untuk operasi atau operasi seterusnya pemproses. Tahap memori cache memastikan bahawa pemproses tidak perlu kelihatan sangat jauh untuk mencari proses seterusnya, menjimatkan banyak masa. Tahap pertama memori cache ialah cache L1. Jika pemproses tidak dapat mencari data yang diperlukan untuk proses seterusnya dalam cache L1, ia kelihatan ke cache L2. L2 cache lebih besar dalam ingatan, tetapi lebih lambat daripada cache L1.

Pemproses Teras Satu

Sekiranya pemproses tidak dapat mencari apa yang dicari dalam cache L2, ia terus turun ke L3, dan jika pemproses memilikinya, L4. Selepas itu, ia akan melihat ingatan utama, atau RAM komputer.

Terdapat juga cara yang berbeza di mana pemproses yang berbeza mengendalikan perbezaan cache. Sebagai contoh, beberapa salinan data pada cache L1 pada cache L2, yang pada dasarnya adalah cara untuk memastikan bahawa pemproses dapat mencari apa yang dicari. Ini, sememangnya, mengambil lebih banyak memori dalam cache L2.

Tahap cache yang berbeza juga dimainkan dalam prosesor multi-core. Biasanya, setiap teras akan mempunyai cache L1 sendiri, tetapi mereka akan berkongsi cache L2. Ini berbeza daripada jika terdapat beberapa pemproses, kerana setiap pemproses mempunyai L1, L2 dan cache tahap apa pun. Dengan pelbagai pemproses teras tunggal, perkongsian cache semudah tidak mungkin. Salah satu kelebihan utama untuk memiliki cache yang dikongsi adalah keupayaan untuk menggunakan cache sepenuhnya, kerana hakikat bahawa jika satu teras tidak menggunakan cache, yang lain boleh.

Dalam prosesor multi-core, apabila mencari data teras boleh melihat melalui cache L1 yang unik, dan kemudian akan mengeluarkan cache L2, RAM, dan akhirnya hard drive.

Ia berkemungkinan bahawa kita akan terus melihat perkembangan lebih banyak teras. Kelajuan jam prosesor pasti akan terus menjadi lebih baik, walaupun pada kadar yang lebih perlahan daripada sebelumnya. Walaupun sekarang tidak biasa untuk melihat pemproses okta-inti dalam perkara seperti telefon pintar, tidak lama lagi kita dapat melihat pemproses dengan berpuluh-puluh teras.

Di manakah anda berfikir teknologi pemprosesan multi-teras akan diteruskan? Beri tahu kami dalam komen di bawah, atau dengan memulakan thread baru dalam forum komuniti kami.

Semua mengenai pemproses teras pelbagai: apa yang mereka ada, bagaimana mereka berfungsi, dan dari mana mereka datang