Processor
Multi-core untuk Mengikuti Hukum Moore
Para
insinyur mencoba melakukan pendekatan yang berbeda untuk meningkatkan performa
dari komputer dengan memanfaatkan ekstra processor. Proses ini berkembang dan
populer digunakan pada server pada periode awal 1990an. Di saat yang sama, para
pengembang processor mendapatkan tantangan serius untuk menciptakan processor
dengan performa yang sejalan dengan hukum Moore. Processor multi-core merupakan
solusi masalah ini dimana sebuah chip tunggal dapat terdiri lebih dari satu
unit microprocessor. Setiap processor dapat bekerja secara simultan untuk
menangani instruksi secara paralel. Cara ini secara efektif melipatgandakan
performa processor berbanding lurus dengan jumlah core yang terdapat di
dalamnya.
Pada 2005, AMD merilis processor dual-core pertama dengan
nama Athlon X2. Dalam beberapa minggu, Intel meluncurkan Intel Pentium D yang
menerapkan konsep multi-core pada processor. Selain dua pemain utama ini, Sun
Microsystems juga meluncurkan Niagara dan Niagara 2 yang dirancang menggunakan
delapan inti processor. Komputer desktop modern saat ini mendukung sistem yang
menggunakan multi-core. Baik Intel maupun AMD menawarkan microprocessor yang
terdiri dari 4 dan 6 inti processor. Saat ini, AMD sedikit lebih maju dengan
meluncurkan jenis microprocessor dengan delapan inti lewat seri FX-8xxx.
Sejak kemunculan era multi-core processor, AMD dan Intel
bergantian menawarkan lini processor terdepan untuk menawarkan pengalaman
komputasi terbaik. Dalam pangsa pasar processor, Intel mengungguli AMD dengan
seri Sandy Bridge dan Ivy Bridge. Sementara pada pasar server, AMD dikenal
mampu mencapai performa superior dengan harga yang lebih baik.
A.
Multicore Processor
Multicore menyediakan 4-arah multitask pengolahan
dengan Intel HT Technology dan dua core fisik berdedikasi membantu untuk
memberikan performa tambahan di berbagai jenis aplikasi dan beban kerja. Di
bawah ini akan dijelaskan beberapa jenis core, single core sampai multicore
1.
Single
Core
Single core atau tradisional CPU eksekusi instruksi
string harus dengan memesan, jalankan, lalu simpan dalam cache secara selektif
dan pencarian cepat. Ketika data yang diperlukan di luar cache, maka akan
diambil melalui sistem bus dari random access memory (RAM) atau dari perangkat
penyimpanan.
2.
Dual
Core
Pada prosesor dual core ini akan terjadi pengabungan
dua prosesor beserta cache, namun dalam satu kemasan chip atau integrated
circuit (IC). Keuntungan dual core terutama pada cache coherency. Dengan dual
core, komunikasi antara kedua die dapat dilakukan pada clock rate yang lebih
tinggi dibandingkan jika memanfaatkan bus di luar chip.
Dalam sebuah prosesor dual core masing-masing inti
menangani string data masuk secara bersamaan untuk meningkatkan efisiensi.
Seperti halnya dua kepala lebih baik dari satu. Sekarang ketika salah satu
mengeksekusi, yang lain dapat mengakses sistem bus atau mengeksekusi kode
sendiri. Menambahkan skenario ini sangat menguntungkan, baik AMD dan Intel
sebagaimana terlihat pada dual-core adalah 64-bit.
Untuk menggunakan prosesor dual core, sistem operasi
harus dapat mengenali multi-threading dan perangkat lunak harus memiliki
simultaneous multi-threading technology (SMT) yang ditulis dalam kodenya. SMT
memungkinkan paralel multi-threading dimana core melayani instruksi
multi-threaded secara paralel. Tanpa SMT software hanya akan mengenali satu
inti. Adobe ® Photoshop ® merupakan contoh perangkat lunak yang menanggapi SMT
dengan sangat baik. TPS juga digunakan dengan sistem multi-prosesor seperti
umumnya diterapkan pada server.
a. Prosesor
”dual core” AMD
Untuk prosesor berbasis deskstop pada model dual
core ini, AMD pertama kali meluncurkan prosesor dengan nama Athlon 64 X2.
Dengan masing-masing core diperkuat 64K L1 intruction cache dan 64 K L1 data
cache.
Untuk komunikasi kedua core AMD X2 tersebut akan
berkomunikasi secara langsung melalui system request queue dan crossbar yang
akan menghubungkannya dengan onchip memory controller dan Hyper-Transport I/O.
Dengan desain arsitektur seperti ini, lebih memungkinkan kedua prosesor pada
masing-masing core dapat secara optimal memanfaatkan resource yang tersedia.
Tanpa terhambat oleh batasan, seperti katakanlah sistem bus. Ini juga akan memperkecil
latency karena semua yang disebut tadi masih terletak dalam satu chip.
b. Prosesor
“dual core” Intel
Prosesor dual core dari Intel untuk desktop diluncurkan dengan nama kode Smithfield yang memiliki kecepatan 3.2 GHz dengan masing-masing core dilengkapi dengan L2 cache sebesar 1 MB. Chip yang dinamai Pentium D tersebut memiliki kecepatan clock jauh lebih rendah dari CPU core tunggal 3.8 GHz, seperti seri 570 dan 670.
Untuk itu, pada Intel Pentium D juga dilakukan
peningkatan branch prediction unit. Dengan memperbaiki kinerja branch
prediction unit, akan membuat prosesor dapat bekerja secara optimal dan
memperkecil kemungkinan kesalahan.
Fungsi hyper-threading tidak ditinggalkan begitu
saja untuk prosesor Smithfield ini. Namun, ini hanya akan tersedia untuk
prosesor desktop versi high end dari Intel dan tidak akan menemukannya pada
setiap prosesor Smithfield, yakni Intel Pentium D 840 (3,2 GHz), Intel Pentium
D 830 (3,0 GHz), dan 820 (2,8 GHz).
3.
Core
2 Dou
Secara garis besar kan Core 2 Duo itu secara fisik
masih satu prosesor hanya saja, didalam prosesor tersebut terdapat 2 core(atau
2 otak), walau begitu proses kerja bukan berarti 2 kali lipat, tidak.. Tapi
menggunakan sistem pembagian, misalnya kernel dan aplikasi background lainnya
akan dikerjakan di core 1, tapi jika core 1 dirasa terlalu berat kerjanya maka
sebagian pekerjaan akan dipindahkan atau dialokasikan ke core 2.
4.
Multi-Core
Multi-core menyediakan 4-arah multitask pengolahan
dengan Intel HT Technology dan dua core fisik berdedikasi membantu untuk
memberikan performa tambahan di berbagai jenis aplikasi dan beban kerja
Sebuah prosesor multi-core adalah sebuah sistem
pengolahan yang terdiri dari dua atau lebih inti independen. Hal ini dapat
digambarkan sebagai sebuah sirkuit terintegrasi ke dua atau lebih individu
prosesor (disebut core dalam pengertian ini) telah terpasang. Inti biasanya
terintegrasi ke dalam satu sirkuit terpadu (dikenal sebagai chip multiprosesor
atau CMP), atau mereka mungkin diintegrasikan ke beberapa dalam satupaket chip.
Prosesor dengan banyak-inti adalah salah satu di mana jumlah core yang cukup
besar multi-prosesor tradisional teknik tidak lagi efisien – batas ini adalah
suatu tempat dalam jangkauan puluhan core – dan mungkin memerlukan jaringan
chip.
Sebuah prosesor dual-core berisi dua core, dan
quad-core prosesor berisi empat core. Sebuah prosesor multi-core
mengimplementasikan multiprocessing dalam satu paket fisik. Core dalam
perangkat multi-core dapat digabungkan bersama-sama dengan erat. Sebagai
contoh, core mungkin atau mungkin tidak berbagi cache, dan mereka dapat
mengimplementasikan pesan lewat atau memori bersama antar-metode komunikasi
inti. Umum topologi jaringan untuk menghubungkan core termasuk bus, cincin,
2-dimensi mesh, dan palang. Semua core adalah identik dalam homogen sistem
multi-core dan mereka tidak identik dalam heterogen sistem multi-core. Seperti
halnya dengan sistem prosesor tunggal, core dalam sistem multi-core dapat
mengimplementasikan arsitektur seperti superscalar , VLIW , pengolahan vektor ,
SIMD, atau multithreading.
a.
Fungsi
Multi Core-Processor
Untuk
memproses data yang diterima dari masukkan (input), seterusnya akan
menghasilkan keluaran (output). Semasa kerja memproses data tersebut, processor
juga akan senantiasa berhubungan dengan komponen komputer yang lain,
terutamanya hard disk dan RAM. Ia juga digambarkan sebagai “otak” kepada
komputer dimana setiap data akan melalui processor bagi menghasilkan keluaran
(output) yang sepautnya. Sesuai dengan fungsinya, ia juga dikenal sebagai CPU. Apabila
processor tidak berfungsi, maka komponen – komponen komputer yang lain juga
tidak dapat berfungsi.
b.
Pengaruh
Multi Core-Processor Terhadap Software
Keuntungan software dari arsitektur multicore adalah
kode-kode dapat dieksekusi secara paralel. Dalam sistem operasi, kode-kode
tersebut dieksekusi dalam thread-thread atau proses-proses yang terpisah.
Setiap aplikasi pada sistem berjalan pada prosesnya sendiri sehingga aplikasi
paralel akan mendapatkan keuntungan dari arsitektur multicore.
Banyak aplikasi software tidak dituliskan dengan
menggunakan thread-thread yang concurrent karena kesulitan dalam pembuatannya.
Concurrency memegang peranan utama dalam aplikasi paralel yang sebenarnya.
Langkah-langkah dalam mendesain aplikasi paralel
adalah sebagai berikut:
1) Partitioning.
Tahap desain ini dimaksudkan untuk membuka peluang awal pengeksekusian secara
paralel. Fokus dari tahap ini adalah mempartisi sejumlah besar tugas dalam
ukuran kecil dengan tujuan menguraikan suatu masalah menjadi butiran-butiran
kecil.
2) Communication.
Tugas-tugas yang telah terpartisi diharapkan dapat langsung dieksekusi secara
paralel tapi tidak bisa, karena pada umumnya eksekusi berjalan secara
independen. Pelaksanaan komputasi dalam satu tugas membutuhkan asosiasi data
antara masing-masing tugas. Data kemudian harus berpindah-pindah antar tugas
dalam melangsungkan komputasi. Aliran informasi inilah yang dispesifikasi dalam
fase communication.
3) Agglomeration
. Pada tahap ini kita pindah dari sesuatu yang abstrak ke yang konkret. Kita tinjau
kembali kedua tahap diatas dengan tujuan untuk mendapatkan algoritma
pengeksekusian yang lebih efisien. Kita pertimbangkan juga apakah perlu untuk
menggumpalkan ( agglomerate) tugas-tugas pada fase partition menjadi lebih
sedikit, dengan masing-masing tugas berukuran lebih besar.
4) Mapping
. Dalam tahap yang keempat dan terakhir ini, kita menspesifikasi dimana setiap
tugas akan dieksekusi. Masalah mapping ini tidak muncul padauniprocessor yang
menyediakan penjadwalan tugas.
c.
Kelebihan
Kedekatan core CPU ganda yang sama memungkinkan
koherensi cache sirkuit untuk beroperasi pada clock rate jauh lebih tinggi
daripada yang jika harus melakukan perjalanan sinyal off-chip. Menggabungkan
setara CPU secara signifikan meningkatkan performa cache snoop (alternatif: Bus
mengintai) operasi. Secara sederhana, ini berarti bahwa sinyal antara CPU yang
berbeda perjalanan jarak pendek, dan karena itu sinyal yang menurunkan kurang.
Sinyal berkualitas lebih tinggi ini memungkinkan lebih banyak data yang akan
dikirim dalam jangka waktu tertentu karena sinyal individu dapat menjadi lebih
pendek dan tidak perlu sering diulang.
Terbesar dalam kinerja meningkatkan kemungkinan akan
melihat dalam waktu respon ditingkatkan saat menjalankan proses CPU-intensif,
seperti antivirus scan, merobek / pembakaran media (yang membutuhkan konversi
file), atau mencari folder. Sebagai contoh, jika scan virus otomatis memulai
sementara film sedang dimainkan, aplikasi yang berjalan di film jauh lebih
cenderung tidak kekurangan daya prosesor, seperti program antivirus tersebut
akan diarahkan ke core prosesor yang berbeda dari yang menjalankan film.
Asumsi bahwai bisa masuk ke dalam paket, secara
fisik, multi-core CPU desain membutuhkan jauh lebih sedikit Printed Circuit
Board (PCB) ruang dari multi-chip SMP desain. Juga, sebuah prosesor dual-core
menggunakan lebih sedikit daya dari dua ditambah prosesor single-core, terutama
karena penurunan daya yang diperlukan untuk mengarahkan sinyal luar chip.
Selanjutnya, core berbagi beberapa sirkuit, seperti L2 cache dan antarmuka ke
front side bus (FSB). Bersaing dalam hal teknologi yang tersedia silikon daerah
mati, desain multi-core dapat memanfaatkan perpustakaan inti CPU terbukti
desain dan menghasilkan produk dengan risiko rendah kesalahan desain daripada merancang
sebuah desain inti baru yang lebih luas. Selain itu, penambahan cache menderita
semakin berkurang.
Keuntungan software dari arsitektur multicore adalah
kode-kode dapat dieksekusi secara parallel. Dalam system operasi kode-kode
tersebut dieksekusi dalam thread-thread atau proses-proses yang terpisah.
Setiap aplikasi system berjalan pada prosesnya sendiri sehingga aplikasi
parallel akan mendapatkan keuntungan dari arsitektur multicore. Setiap aplikasi
harus tertulis secara spesifik untuk memaksimalkan penggunaan dari banyak
thread. Banyak aplikasi software tidak dituliskan dengan menggunakan
thread-thread yang concurrent karena kesulitan dalam pembuatannya. Concurrency
memegang peranan utama dalam aplikasi parallel yang sebenarnya.
d.
Kekurangan
Selain sistem operasi (OS) dukungan, penyesuaian
perangkat lunak yang ada diwajibkan untuk memaksimalkan pemanfaatan sumber daya
komputasi yang disediakan oleh prosesor multi-core. Selain itu, kemampuan
multi-core untuk meningkatkan kinerja aplikasi tergantung pada penggunaan
benang dalam beberapa aplikasi. Situasi membaik: misalnya Valve Corporation ‘s
Sumber mesin, menawarkan dukungan multi-core, dan Crytek telah mengembangkan
teknologi serupa untuk CryEngine 2, yang kekuatan permainan mereka, Crysis
.Emergent Game Technologies’ Gamebryo mesin teknologi termasuk pintu air mereka
yang menyederhanakan multicore permainan di platform pengembangan.
Integrasi multi-core chip drive hasil produksi turun
dan mereka lebih sulit untuk mengelola termal dari kerapatan rendah desain chip
tunggal. Intel telah sebagian balas Masalah pertama ini dengan menciptakan quad
core dengan desain dengan menggabungkan dua dual-core pada satu die dengan
cache yang bersatu, maka setiap dua dual-core yang bekerja mati dapat
digunakan, berlawanan dengan memproduksi empat core pada satu mati dan
mengharuskan semua empat untuk bekerja untuk menghasilkan sebuah quad-core.
Dari sudut pandang arsitektur, pada akhirnya, desain CPU tunggal dapat membuat
lebih baik menggunakan permukaan silikon dari core multiprocessing, sehingga
komitmen pembangunan arsitektur ini dapat membawa risiko keusangan. Akhirnya,
kekuatan pemrosesan mentah bukan satu-satunya kendala pada kinerja sistem. Dua
core berbagi sama bus sistem dan bandwidth memory membatasi kinerja dunia nyata
keuntungan. Jika satu inti adalah dekat untuk menjadi terbatas bandwidth
memory, pergi ke dual-core mungkin hanya memberikan 30% sampai 70% perbaikan.
Jika memori bandwidth bukan masalah, 90% peningkatan dapat diharapkan rujukan.
Akan mungkin untuk suatu aplikasi yang menggunakan dua CPU berakhir berjalan
lebih cepat pada satu dual-core jika komunikasi antara CPU adalah faktor
pembatas, yang akan dihitung sebagai lebih dari 100% peningkatan.
sip min, makasih banyak sudah share
BalasHapussolder infrared
contohnya apa?
BalasHapus