Prosesor Multicore/Multiinti

AnugrahRiyanHadiTirtana
0

Prosesor multicore adalah sirkuit terpadu yang memiliki dua atau lebih inti prosesor yang terpasang untuk meningkatkan kinerja dan mengurangi konsumsi daya. Prosesor ini juga memungkinkan pemrosesan simultan yang lebih efisien untuk beberapa tugas, seperti pemrosesan paralel dan multithreading . Pengaturan inti ganda mirip dengan memasang beberapa prosesor terpisah di komputer. Namun, karena kedua prosesor terpasang di soket yang sama, koneksi di antara keduanya menjadi lebih cepat.

Penggunaan prosesor multicore atau mikroprosesor merupakan salah satu pendekatan untuk meningkatkan kinerja prosesor tanpa melampaui batasan praktis desain dan fabrikasi semikonduktor. Penggunaan multicore juga memastikan operasi yang aman di area seperti pembangkitan panas.

Bagaimana cara kerja prosesor multicore?

Inti dari setiap prosesor adalah mesin eksekusi, yang juga dikenal sebagai inti. Inti dirancang untuk memproses instruksi dan data sesuai dengan arahan program perangkat lunak dalam memori komputer. Selama bertahun-tahun, para perancang menemukan bahwa setiap desain prosesor baru memiliki keterbatasan. Banyak teknologi yang dikembangkan untuk mempercepat kinerja, termasuk yang berikut ini:

·       Kecepatan clock. Salah satu pendekatannya adalah membuat clock prosesor lebih cepat. Clock adalah "irama" yang digunakan untuk menyinkronkan pemrosesan instruksi dan data melalui mesin pemrosesan. Kecepatan clock telah meningkat dari beberapa megahertz menjadi beberapa gigahertz (GHz) saat ini. Namun, transistor menggunakan daya setiap kali clock berdetak. Akibatnya, kecepatan clock hampir mencapai batasnya mengingat teknik fabrikasi semikonduktor dan manajemen panas saat ini.

·       Hyper-threading. Pendekatan lain melibatkan penanganan beberapa utas instruksi. Intel menyebutnya hyper-threading. Dengan hyper-threading, inti prosesor dirancang untuk menangani dua utas instruksi terpisah pada saat yang bersamaan. Bila diaktifkan dan didukung dengan benar oleh firmware dan sistem operasi (OS) komputer, teknik hyper-threading memungkinkan satu inti fisik berfungsi sebagai dua inti logis. Namun, prosesor hanya memiliki satu inti fisik. Abstraksi logis dari prosesor fisik hanya menambahkan sedikit kinerja nyata ke prosesor selain membantu merampingkan perilaku beberapa aplikasi simultan yang berjalan di komputer.

·       Lebih banyak chip. Langkah selanjutnya adalah menambahkan chip prosesor -- atau die -- ke paket prosesor, yang merupakan perangkat fisik yang terpasang pada motherboard. Prosesor dual-core mencakup dua inti prosesor yang terpisah. Prosesor quad-core mencakup empat inti yang terpisah. Prosesor multicore saat ini dapat dengan mudah mencakup 12, 24 atau bahkan lebih banyak inti prosesor. Pendekatan multicore hampir identik dengan penggunaan motherboard multiprosesor, yang memiliki dua atau empat soket prosesor yang terpisah. Efeknya sama. Performa prosesor yang luar biasa saat ini melibatkan penggunaan produk prosesor yang menggabungkan kecepatan clock yang cepat dan beberapa inti hyper-threaded.

Prosesor multicore memiliki beberapa unit pemrosesan yang tergabung di dalamnya. Prosesor ini terhubung langsung dengan cache internal, serta dengan bus dan memori sistem.

Namun, chip multicore memiliki beberapa masalah yang perlu dipertimbangkan. Pertama, penambahan lebih banyak inti prosesor tidak secara otomatis meningkatkan kinerja komputer. OS dan aplikasi harus mengarahkan instruksi program perangkat lunak untuk mengenali dan menggunakan beberapa inti. Ini harus dilakukan secara paralel, menggunakan berbagai utas ke inti yang berbeda dalam paket prosesor. Beberapa aplikasi perangkat lunak mungkin perlu difaktorkan ulang untuk mendukung dan menggunakan platform prosesor multicore. Jika tidak, hanya inti prosesor pertama default yang digunakan, dan inti tambahan apa pun tidak digunakan atau tidak digunakan.

Kedua, manfaat kinerja inti tambahan bukanlah kelipatan langsung. Artinya, menambahkan inti kedua tidak menggandakan kinerja prosesor, atau prosesor quad-core tidak melipatgandakan kinerja prosesor hingga empat kali lipat. Hal ini terjadi karena elemen prosesor yang digunakan bersama, seperti akses ke memori internal atau cache, bus eksternal , dan memori sistem komputer.

Manfaat dari beberapa inti bisa sangat besar, tetapi ada batasan praktis. Namun, akselerasinya biasanya lebih baik daripada sistem multiprosesor tradisional karena hubungan antara inti dalam paket yang sama lebih erat dan jaraknya lebih pendek serta komponen antar inti lebih sedikit.

Coba bayangkan analogi mobil di jalan raya. Setiap mobil mungkin merupakan prosesor, tetapi setiap mobil harus berbagi jalan dan batasan lalu lintas yang sama. Lebih banyak mobil dapat mengangkut lebih banyak orang dan barang dalam waktu tertentu, tetapi lebih banyak mobil juga menyebabkan kemacetan dan masalah lainnya.

Untuk apa prosesor multicore digunakan?

Prosesor multicore bekerja pada platform perangkat keras komputer modern apa pun. Hampir semua PC dan laptop saat ini menggunakan beberapa model prosesor multicore. Akan tetapi, kekuatan dan manfaat sebenarnya dari prosesor ini bergantung pada aplikasi perangkat lunak yang dirancang untuk menekankan paralelisme . Pendekatan paralel membagi pekerjaan aplikasi ke dalam sejumlah thread pemrosesan, lalu mendistribusikan dan mengelola thread tersebut di dua atau lebih inti prosesor.

Ada beberapa kasus penggunaan utama untuk prosesor multicore, termasuk lima berikut ini:

1.     Virtualisasi.  Platform virtualisasi, seperti VMware, dirancang untuk mengabstraksi lingkungan perangkat lunak dari perangkat keras yang mendasarinya. Virtualisasi mampu mengabstraksi inti prosesor fisik menjadi prosesor virtual atau unit pemrosesan pusat ( vCPU ) yang kemudian ditetapkan ke mesin virtual ( VM ). Setiap VM menjadi server virtual yang mampu menjalankan OS dan aplikasinya sendiri. Dimungkinkan untuk menetapkan lebih dari satu vCPU ke setiap VM, yang memungkinkan setiap VM dan aplikasinya menjalankan perangkat lunak pemrosesan paralel jika diinginkan.

2.     Basis data.  Basis data adalah platform perangkat lunak kompleks yang sering kali perlu menjalankan banyak tugas secara bersamaan seperti kueri. Akibatnya, basis data sangat bergantung pada prosesor multicore untuk mendistribusikan dan menangani banyak utas tugas ini. Penggunaan beberapa prosesor dalam basis data sering kali dipadukan dengan kapasitas memori yang sangat tinggi yang dapat mencapai 1 terabyte atau lebih pada server fisik.

3.     Analisis dan HPC. Analisis big data , seperti machine learning, dan high-performance computing ( HPC ) keduanya memerlukan pemecahan tugas-tugas besar dan kompleks menjadi bagian-bagian yang lebih kecil dan lebih mudah dikelola. Setiap bagian dari upaya komputasi kemudian dapat diselesaikan dengan mendistribusikan setiap bagian masalah ke prosesor yang berbeda. Pendekatan ini memungkinkan setiap prosesor bekerja secara paralel untuk memecahkan masalah menyeluruh dengan jauh lebih cepat dan lebih efisien daripada dengan satu prosesor.

4.     Awan.  Organisasi yang membangun awan hampir pasti akan mengadopsi prosesor multicore untuk mendukung semua virtualisasi yang dibutuhkan untuk mengakomodasi tuntutan platform perangkat lunak awan yang sangat scalable dan sangat transaksional seperti OpenStack. Seperangkat server dengan prosesor multicore dapat memungkinkan awan untuk membuat dan meningkatkan skala lebih banyak instans VM sesuai permintaan.

5.     Visualisasi.  Aplikasi grafis, seperti game dan mesin perender data, memiliki persyaratan paralelisme yang sama dengan aplikasi HPC lainnya. Perenderan visual membutuhkan banyak matematika dan tugas, dan aplikasi visualisasi dapat menggunakan banyak prosesor untuk mendistribusikan kalkulasi yang dibutuhkan. Banyak aplikasi grafis mengandalkan unit pemrosesan grafis ( GPU ) dan bukan CPU. GPU dirancang khusus untuk mengoptimalkan tugas yang berhubungan dengan grafis. Paket GPU sering kali berisi beberapa inti GPU, yang pada prinsipnya mirip dengan prosesor multiinti.

Pro dan kontra prosesor multicore

Teknologi prosesor multicore sudah matang dan terdefinisi dengan baik. Namun, teknologi ini memiliki kelebihan dan kekurangannya sendiri, yang harus dipertimbangkan saat membeli dan menggunakan server baru.

Keunggulan multicore

Performa aplikasi yang lebih baik. Manfaat utama prosesor multicore adalah kemampuan pemrosesan yang lebih potensial. Setiap inti prosesor secara efektif merupakan prosesor terpisah yang dapat digunakan oleh OS dan aplikasi. Dalam server virtual, setiap VM dapat menggunakan satu atau beberapa inti prosesor virtual, yang memungkinkan banyak VM untuk hidup berdampingan dan beroperasi secara bersamaan pada server fisik. Demikian pula, aplikasi yang dirancang untuk tingkat paralelisme yang tinggi dapat menggunakan sejumlah inti untuk memberikan performa aplikasi yang tinggi yang tidak mungkin dilakukan dengan sistem chip tunggal.

Performa perangkat keras yang lebih baik. Dengan menempatkan dua atau lebih inti prosesor pada perangkat yang sama, perangkat dapat menggunakan komponen bersama -- seperti bus internal dan cache prosesor yang sama -- secara lebih efisien. Perangkat juga diuntungkan dengan performa yang lebih unggul dibandingkan dengan sistem multiprosesor yang memiliki paket prosesor terpisah pada motherboard yang sama.

Kekurangan Multicore

Bergantung pada perangkat lunak. Aplikasi menggunakan prosesor -- bukan sebaliknya. Sistem operasi dan aplikasi akan selalu menggunakan inti prosesor pertama, yang disebut inti 0. Setiap inti tambahan dalam paket prosesor akan tetap tidak digunakan atau tidak digunakan hingga aplikasi perangkat lunak diaktifkan untuk menggunakannya. Aplikasi tersebut mencakup aplikasi basis data dan alat pemrosesan data besar seperti Hadoop . Sebuah bisnis harus mempertimbangkan untuk apa server akan digunakan dan aplikasi yang akan digunakan sebelum melakukan investasi sistem multiinti untuk memastikan bahwa sistem memberikan potensi komputasi yang optimal.

Peningkatan kinerja terbatas. Beberapa prosesor dalam satu paket prosesor harus berbagi bus sistem dan cache prosesor yang sama. Semakin banyak inti prosesor yang berbagi satu paket, semakin banyak pula pembagian yang harus dilakukan di seluruh antarmuka dan sumber daya prosesor yang sama. Hal ini mengakibatkan berkurangnya hasil kinerja saat inti ditambahkan. Untuk sebagian besar situasi, manfaat kinerja dari memiliki beberapa inti jauh lebih besar daripada kinerja yang hilang akibat pembagian tersebut, tetapi ini merupakan faktor yang perlu dipertimbangkan saat menguji kinerja aplikasi.

Pembatasan daya, panas, dan clock. Komputer mungkin tidak dapat menjalankan prosesor dengan banyak inti sekeras prosesor dengan lebih sedikit inti atau prosesor inti tunggal. Inti prosesor modern mungkin berisi lebih dari 500 juta transistor. Setiap transistor menghasilkan panas saat beralih, dan panas ini meningkat seiring peningkatan kecepatan clock. Semua pembangkitan panas itu harus dihilangkan dengan aman dari inti melalui paket prosesor. Ketika lebih banyak inti yang berjalan, panas ini dapat berlipat ganda dan dengan cepat melampaui kemampuan pendinginan paket prosesor. Dengan demikian, beberapa prosesor multicore sebenarnya dapat mengurangi kecepatan clock -- misalnya, dari 3,5 GHz menjadi 3,0 GHz -- untuk membantu mengelola panas. Ini mengurangi kinerja semua inti prosesor dalam paket. Prosesor multicore kelas atas memerlukan sistem pendinginan yang kompleks dan penyebaran serta pemantauan yang cermat untuk memastikan keandalan sistem jangka panjang.

Arsitektur prosesor multicore

Untuk tujuan definisi ini, setiap prosesor multiinti terdiri dari dua atau lebih inti beserta serangkaian cache.

·       Inti adalah komponen utama atau prosesor multiinti. Inti berisi semua register dan sirkuit -- terkadang ratusan juta transistor individual -- yang dibutuhkan untuk menjalankan tugas-tugas yang disinkronkan dengan cermat, seperti menerima data dan instruksi, memproses konten tersebut, dan mengeluarkan keputusan atau hasil yang logis.

·       Rangkaian pendukung prosesor mencakup berbagai macam rangkaian kontrol dan manajemen input/output, seperti jam, konsistensi cache, kontrol daya dan termal, serta akses bus eksternal.

·       Cache adalah area yang relatif kecil dari memori yang sangat cepat. Cache menyimpan instruksi atau data yang sering digunakan, membuat konten tersebut tersedia untuk inti tanpa perlu mengakses memori sistem. Prosesor memeriksa cache terlebih dahulu. Jika konten yang diperlukan tersedia, inti mengambil konten tersebut dari cache, meningkatkan manfaat kinerja. Jika konten tidak ada, inti akan mengakses memori sistem untuk konten yang diperlukan. Cache Level 1, atau L1 , adalah cache terkecil dan tercepat yang unik untuk setiap inti. Cache Level 2, atau L2, adalah ruang penyimpanan yang lebih besar yang dibagi di antara inti. Beberapa arsitektur prosesor multiinti dapat mendedikasikan cache L1 dan L2.

Prosesor multicore homogen vs. heterogen

Inti-inti dalam prosesor multiinti bisa homogen atau heterogen. Prosesor multiinti Intel dan AMD arus utama untuk arsitektur komputer X86 bersifat homogen dan menyediakan inti-inti yang identik. Akibatnya, sebagian besar pembahasan tentang prosesor multiinti adalah tentang prosesor homogen.

Namun, mendedikasikan perangkat yang rumit untuk melakukan pekerjaan sederhana atau untuk mendapatkan efisiensi terbesar sering kali merupakan pemborosan. Ada pasar prosesor multicore heterogen yang menggunakan prosesor dengan core yang berbeda untuk tujuan yang berbeda. Core heterogen umumnya ditemukan dalam prosesor tertanam atau Arm yang mungkin mencampur core mikroprosesor dan mikrokontroler dalam paket yang sama.

Ada tiga tujuan umum untuk prosesor multicore heterogen:

1.     Performa yang dioptimalkan. Sementara prosesor multicore homogen biasanya ditujukan untuk menyediakan kemampuan pemrosesan standar atau universal, banyak prosesor tidak ditujukan untuk kasus penggunaan sistem generik tersebut. Sebaliknya, prosesor tersebut dirancang dan dijual untuk digunakan dalam sistem tertanam -- khusus atau khusus tugas -- yang dapat memanfaatkan kekuatan unik prosesor yang berbeda. Misalnya, prosesor yang ditujukan untuk perangkat pemrosesan sinyal dapat menggunakan prosesor Arm yang berisi prosesor serbaguna Cortex-A dengan inti Cortex-M untuk tugas pemrosesan sinyal khusus.

2.     Daya yang dioptimalkan. Menyediakan inti prosesor yang lebih sederhana mengurangi jumlah transistor dan meringankan kebutuhan daya. Hal ini membuat paket prosesor dan sistem secara keseluruhan lebih dingin dan lebih hemat daya.

3.     Keamanan yang dioptimalkan. Pekerjaan atau proses dapat dibagi di antara berbagai jenis inti, yang memungkinkan perancang untuk secara sengaja membangun tingkat isolasi tinggi yang secara ketat mengendalikan akses di antara berbagai inti prosesor. Kontrol dan isolasi yang lebih besar ini menawarkan stabilitas dan keamanan yang lebih baik untuk keseluruhan sistem, meskipun dengan mengorbankan fleksibilitas umum.

Contoh prosesor multicore

Sebagian besar prosesor modern yang dirancang dan dijual untuk komputasi x86 serbaguna memiliki beberapa inti prosesor. Berikut ini adalah beberapa contoh prosesor multiinti Intel generasi ke-12 terbaru:

·       Keluarga Intel Core i9 12900 menyediakan 8 inti dan 24 thread.

·       Keluarga Intel Core i7 12700 menyediakan 8 inti dan 20 thread.

·       Prosesor Intel Core i5 12600K teratas menawarkan 6 inti dan 16 thread.

Contoh prosesor multicore AMD Zen terbaru meliputi:

·       Keluarga AMD Zen 3 menyediakan 4 hingga 16 inti.

·       Keluarga AMD Zen 2 menyediakan hingga 64 inti.

·       Keluarga AMD Zen+ menyediakan 4 hingga 32 inti.

 


Sumber : https://www.techtarget.com/searchdatacenter/definition/multi-core-processor

Post a Comment

0Comments

Post a Comment (0)