Mikro
pemproses atau lebih dikenali sebagai CPU adalah enjin kepada sebuah komputer,
sebagai mana enjin kereta yang menjadi penggerak kepada sebuah kereta. Pada
hari ini membeli sebuah CPU atau pemilihan platform komputer PC tidak lagi
semudah dahulu. Setiap pembuat cip mikro pemproses seperti AMD dan Intel,
memasarkan beberapa model kelas CPU mereka dan setiap model pula ada beberapa
model kelajuan. Ini memberi kesulitan kepada pembeli di mana adakah yang paling
mahal, paling laju, pilihan terbaik dari sudut kepantasan, kecekapan dan
ketahanan? dan yang paling murah, perlahan, lembab, tak bagus?
Contoh sebut harga bagi mikro pemproses di
pasaran (contoh);
Salah satu sebab kenapa banyak sangat variati mikro prosesor adalah disebabkan fitur dua teras CPU dalam satu cip mikro pemproses (dikenali sebagai dual core CPU), atau tiga teras CPU dalam satu cip mikro pemproses (dikenali sebagai triple core CPU), atau empat teras CPU dalam satu cip mikro pemproses (dikenali sebagai quad core CPU) dan seterusnya. Selain itu saiz memori cache aras 3, L3 juga mewujudkan variati selain daripada seni bina dalaman mikro pemproses itu sendiri.
Adakah dual, tri, quad ... core menggandakan kelajuan komputer?
Adakah benar anggapan bahawa sesetengah pihak bahawa dual core, triple core, quad core, enam core dan sebagainya menggandakan kelajuan komputer pada kadar dua kali ganda, tiga kali ganda, empat kali ganda dan seterusnya. Iaitu jika CPU dual core berfrekuensi 3 GHz, maka kelajuannya adalah 2 x 3 GHz = 6 GHz dan CPU quad core berfrekuensi 2 GHz pula kelajuannya adalah pada 4 x 2 GHz = 8 GHz.
Sebenarnya tanggapan ini hanya memudahkan penjelasan bahawa prestasi CPU boleh meningkat dengan bilangan teras yang terdapat dalamnya. Namun peningkatan prestasi mikro pemproses berkadaran dengan bilangan teras CPU dalam cip adalah tidak tepat dan juga tidak benar.
Olahan daripada artikel daripada Wikipedia:
Sebuah
prosesor berbilang teras (multi-core) adalah sebuah sistem pemprosesan yang
terdiri daripada dua atau lebih teras yang independen. Ia boleh digambarkan
sebagai litar bersepadu yang mengandungi dua atau lebih pemproses individu .
Teras (core) biasanya diintegrasi ke dalam satu dai (die) litar bersepadu
(dikenali sebagai cip multiprosesor atau CMP), atau mereka boleh diintegrasikan
ke beberapa dai dalam sebuah pakej cip tunggal.
Multi-core digunakan secara meluas dalam banyak domain aplikasi domain termasuk: tujuan umum, terbenam (embedded), rangkaian, pemprosesan isyarat digital (DSP), dan grafik.
Jumlah prestasi yang diperolehi dengan menggunakan multi-core prosesor sangat bergantung pada algoritma perisian dan implementasi.
Memahami multi pemproses dalam bahasa mudah
Perhatikan graf-graf benchmark berikut:
(c) Anandtech
Dalam benchmark
ini kita membandingkan performa dua processor model yang sama iaitu Athlon II.
Oleh itu tiada perbezaan dari segi seni bina dalaman mikro pemproses ini selain
daripada frekuensi dan bilangan teras. Athlon II X2 255 adalah processor dual
core pada frekuensi 3.1 GHz, manakala Athlon II X4 620 adalah processor quad
core pada frekuensi 2.6Ghz. Perhatikan dari graf, dalam benchmark ke 2 dan ke
4, memunjukkan Athlon II X2 255 adalah lebih pantas sedikit daripada Athlon II
X4. Ini adalah disebabkan oleh Athlon II X2 beroperasi pada frekuensi lebih
tinggi (3.1Ghz) daripada Athlon II X4 (2.6Ghz). Manakalah pada rajah 1 dan 3,
Athlon II X4 adalah lebih pantas sedikit daripada Athlon II X2.
(c) Anandtech.
Perhatikan
benchmark kedua di mana benchmark ini benchmark bagi thread. Apa itu thread
(bebenang)? Thread dalam sains komputer adalah beberapa siri tugasan (dua atau
lebih) yang dilaksanakan secara serentak atau dalam masa yang sama. Walaupun
mikro pemproses tunggal, multithreading (berbilang bebenang) boleh dilakukan
dengan pembahagian masa yang pantas. Secara mudah dalam bahasa manusia,
bebenang adalah sesuatu kerja atau tugasan, dan multi bebenang adalah berbilang
tugasan.
Dengan
mengunakan gerai nasi lemak sebagai contoh, cuba fahami bagaimana bebenang
berfungsi. Katakan Pak Ali dan Mak Minah berniaga nasik lemak. Pak Ali ini
orangnya slow rock, setiap nasi lemak yang diminta pelanggan akan diproses satu
per satu. Pak Ali akan menyiapkan bungkusan pertama, bila selesai bungkusan
pertama, barulah bungkusan kedua pula disiapkan dan begitulah seterusnya.
Begitu juga walaupun jenis tempahan yang sama diminta beberapa pelanggan, Pak
Ali akan menyelesaikan tempahan pertama dahulu, kemudian barulah kedua,
kemudian ketiga dan seterusnya. Cara Pak Ali berkerja satu kerja dalam satu
masa, dikatakan sebagai single thread (bebenang tunggal).
Mak
Minah pula jenis heavy metal, kerja sangat pantas walaupun hanya seorang. Dalam
satu masa dia boleh menyiapkan beberapa pesanan serentak. Pelanggan tidak perlu
menunggu lama untuk membeli nasi lemak, walaupun beraneka lauk. Ketika
menguruskan pelanggan yang memesan 10 nasi lemak berlauk, dia juga telah
menjual beberapa nasi lemak biasa kepada beberapa pelanggan dalam masa agak
sama. Mak Minah boleh dikatakan sebagai pemproses tunggal, tetapi ia berupaya
mengendalikan multi bebenang tugasan (multi threaded). Mikro pemproses tunggal
mengendalikan aplikasi multi threaded dengan pembahagian masa yang sangat
pantas (nano saat).
Daripada
rajah benchmark kedua, fitur multi thread hanya dapat dimanafaatkan oleh mikro
pemproses multi CPU hanya jika aplikasi itu menyokongnya atau tahu bagaimana
menggunakan kaedah multi thread (dioptimakan untuk multi thread). Oleh itu
dalam benchmark aplikasi bebenang tunggal (Single Thread Benchmark), Athlon II
X2 250 yang mempunyai frekuensi 3.1Ghz adalah lebih pantas. Dalam kes ini hanya
satu teras CPU digunakan/bekerja, sudah tentu CPU 3.1GHz adalah lebih pantas
daripada CPU 2.6GHz.
Bagaimana
pula mikro pemproses berbilang teras CPU akan menjadi lebih pantas
mengendalikan multi bebenang? Dalam cip CPU tunggal, pengendalian multi
bebenang dikendalikan dengan pembahagian masa dan suiz konteks. CPU akan
bertukar dari satu tugasan ke tugasan2 lain dengan pantas sehingga kita
beranggapan CPU itu dapat melakukan beberapa tugasan serentak. (seperti cerita
Mak Minah di atas). Manakala dalam cip multi teras CPU pula, tugasan2 atau
bebenang2 sememangnya diagih-agihkan kepada CPU dan dilarikan pada masa yang
sama (serentak).
Multi
teras CPU boleh dianggap sebagai berbilang pekerja, lebih ramai pekerja maka
kerja akan menjadi lebih ringan dan pantas. Seperti pepatah Melayu, "Berat
sama dipikul; ringan sama dijinjing" atau dalam lirik lagu Wonder Pets
"kami tak besar... dan kami tak kuat... bila bekerjasama semua jadi
mudah... "
Kembali
kepada kes gerai Mak Minah, oleh kerana kepantasannya bekerja, pelanggan
bertambah ramai, kerja juga bertambah, akhirnya Mak Minah kepenatan. Apabila
Mak Minah mengupah beberapa pekerja bagi membantunya, maka beban tugas Mak
Minah dapat dikurangkan dan Mak Minah mempunyai lebih banyak masa untuk berehat
tanpa menjejaskan perniagaannya.
Bagaimana
prestasi suatu perisian boleh dipengaruhi oleh multi thread dan multi CPU? Kita
tinggalkan cerita Mak Minah dan Pak Ali, kita ke Restoran Warisan pula.
Restoran Warisan adalah sebuah perniagaan keluarga yang baru dibuka. Selain
daripada ahli keluarga, mereka juga menggaji seorang pekerja luar. Pekerja itu
rajin, berdisplin, cekap dan berpangalaman. Oleh kerana semua yang lain adalah
ahli keluarga, maka tokeh kedai keberatan untuk menyuruh atau memaksa ahli keluarganya
bekerja. Oleh itu semua beban kerja diletakkan hanya pada bahu seorang pekerja.
Kesudahan tindakan taukeh itu, memberi impak besar kepada prestasi restorannya,
lembab, pemalas, tak maju, tak reti layan pelanggan dan sebagainya. Perisian
dalam kes ini adalah minda atau mentaliti seseorang. Walaupun mempunyai ramai
pekerja (CPU), tapi mentaliti kekeluargaan (tidak dioptimakan untuk multi
thread dan tidak tahu mengendalikan berbilang CPU) maka restoran itu tidak maju
dan berdaya saing, hanya mengekalkan warisan keluarga.
Dalam
komputer, untuk memanafaatkan mikro pemproses multi teras CPU, pertama sekali
kita hendaklah menggunakan sistem operasian yang dioptimakan untuk multi
bebenang dan multi pemproses. Kita perlukan sekurang-kurangnya Windows 2000
Pro, atau Windows XP, Windows Vista, atau Windows 7. Windows 9x, Windows ME dan
DOS tidak menyokong multi CPU. Kedua, aplikasi itu hendaklah dioptimakan dengan
multithread (bebilang bebenang) supaya berbilang bebenang itu dapat
dikendalikan oleh OS. Dalam rajah benchmark berikut pula menunjukkan jika suatu
aplikasi itu diprogramkan sokongan multithread dengan baik maka prestasi
aplikasi itu akan lebih pantas dengan multi teras CPU.
Meskipun
sekarang masih banyak aplikasi yang tidak atau sokongan multi thread yang
lemah, Windows atau sistem-sistem operasian moden dan juga perisian2 yang
dibangunkan oleh pemaju2 utama pada hari ini diprogramkan dengan intensif multi
bebenang. Oleh itu perisian2 di masa hadapan akan cenderung ke arah ini.
Tambahan pula aplikasi semakin komplek, begitu juga masalah sekuriti seperti
penyulitan (encryption), grafik tinggi dan lain-lain, maka mikro pemproses
moden berbilang teras adalah satu kemestian atau keperluan bagi sistem komputer
sekarang dan di masa hadapan.
Perbincangan kita seterusnya adalah mengenai
faktor yang perlu dipertimbangkan dalam membeli CPU baru
Mikro
pemproses atau lebih dikenali sebagai CPU adalah enjin kepada sebuah komputer,
sebagai mana enjin kereta yang menjadi penggerak kepada sebuah kereta. Pada
hari ini membeli sebuah CPU atau pemilihan platform komputer PC tidak lagi
semudah dahulu. Setiap pembuat cip mikro pemproses seperti AMD dan Intel,
memasarkan beberapa model kelas CPU mereka dan setiap model pula ada beberapa
model kelajuan. Ini memberi kesulitan kepada pembeli di mana adakah yang paling
mahal, paling laju, pilihan terbaik dari sudut kepantasan, kecekapan dan
ketahanan? dan yang paling murah, perlahan, lembab, tak bagus?
Contoh sebut harga bagi mikro pemproses di
pasaran (contoh);
Salah satu sebab kenapa banyak sangat variati mikro prosesor adalah disebabkan fitur dua teras CPU dalam satu cip mikro pemproses (dikenali sebagai dual core CPU), atau tiga teras CPU dalam satu cip mikro pemproses (dikenali sebagai triple core CPU), atau empat teras CPU dalam satu cip mikro pemproses (dikenali sebagai quad core CPU) dan seterusnya. Selain itu saiz memori cache aras 3, L3 juga mewujudkan variati selain daripada seni bina dalaman mikro pemproses itu sendiri.
Adakah dual, tri, quad ... core menggandakan kelajuan komputer?
Adakah benar anggapan bahawa sesetengah pihak bahawa dual core, triple core, quad core, enam core dan sebagainya menggandakan kelajuan komputer pada kadar dua kali ganda, tiga kali ganda, empat kali ganda dan seterusnya. Iaitu jika CPU dual core berfrekuensi 3 GHz, maka kelajuannya adalah 2 x 3 GHz = 6 GHz dan CPU quad core berfrekuensi 2 GHz pula kelajuannya adalah pada 4 x 2 GHz = 8 GHz.
Sebenarnya tanggapan ini hanya memudahkan penjelasan bahawa prestasi CPU boleh meningkat dengan bilangan teras yang terdapat dalamnya. Namun peningkatan prestasi mikro pemproses berkadaran dengan bilangan teras CPU dalam cip adalah tidak tepat dan juga tidak benar.
Olahan daripada artikel daripada Wikipedia:
Sebuah
prosesor berbilang teras (multi-core) adalah sebuah sistem pemprosesan yang
terdiri daripada dua atau lebih teras yang independen. Ia boleh digambarkan
sebagai litar bersepadu yang mengandungi dua atau lebih pemproses individu .
Teras (core) biasanya diintegrasi ke dalam satu dai (die) litar bersepadu
(dikenali sebagai cip multiprosesor atau CMP), atau mereka boleh diintegrasikan
ke beberapa dai dalam sebuah pakej cip tunggal.
Multi-core digunakan secara meluas dalam banyak domain aplikasi domain termasuk: tujuan umum, terbenam (embedded), rangkaian, pemprosesan isyarat digital (DSP), dan grafik.
Jumlah prestasi yang diperolehi dengan menggunakan multi-core prosesor sangat bergantung pada algoritma perisian dan implementasi.
Memahami multi pemproses dalam bahasa mudah
Perhatikan graf-graf benchmark berikut:
(c) Anandtech
Dalam benchmark
ini kita membandingkan performa dua processor model yang sama iaitu Athlon II.
Oleh itu tiada perbezaan dari segi seni bina dalaman mikro pemproses ini selain
daripada frekuensi dan bilangan teras. Athlon II X2 255 adalah processor dual
core pada frekuensi 3.1 GHz, manakala Athlon II X4 620 adalah processor quad
core pada frekuensi 2.6Ghz. Perhatikan dari graf, dalam benchmark ke 2 dan ke
4, memunjukkan Athlon II X2 255 adalah lebih pantas sedikit daripada Athlon II
X4. Ini adalah disebabkan oleh Athlon II X2 beroperasi pada frekuensi lebih
tinggi (3.1Ghz) daripada Athlon II X4 (2.6Ghz). Manakalah pada rajah 1 dan 3,
Athlon II X4 adalah lebih pantas sedikit daripada Athlon II X2.
(c) Anandtech.
Perhatikan
benchmark kedua di mana benchmark ini benchmark bagi thread. Apa itu thread
(bebenang)? Thread dalam sains komputer adalah beberapa siri tugasan (dua atau
lebih) yang dilaksanakan secara serentak atau dalam masa yang sama. Walaupun
mikro pemproses tunggal, multithreading (berbilang bebenang) boleh dilakukan
dengan pembahagian masa yang pantas. Secara mudah dalam bahasa manusia,
bebenang adalah sesuatu kerja atau tugasan, dan multi bebenang adalah berbilang
tugasan.
Dengan
mengunakan gerai nasi lemak sebagai contoh, cuba fahami bagaimana bebenang
berfungsi. Katakan Pak Ali dan Mak Minah berniaga nasik lemak. Pak Ali ini
orangnya slow rock, setiap nasi lemak yang diminta pelanggan akan diproses satu
per satu. Pak Ali akan menyiapkan bungkusan pertama, bila selesai bungkusan
pertama, barulah bungkusan kedua pula disiapkan dan begitulah seterusnya.
Begitu juga walaupun jenis tempahan yang sama diminta beberapa pelanggan, Pak
Ali akan menyelesaikan tempahan pertama dahulu, kemudian barulah kedua,
kemudian ketiga dan seterusnya. Cara Pak Ali berkerja satu kerja dalam satu
masa, dikatakan sebagai single thread (bebenang tunggal).
Mak
Minah pula jenis heavy metal, kerja sangat pantas walaupun hanya seorang. Dalam
satu masa dia boleh menyiapkan beberapa pesanan serentak. Pelanggan tidak perlu
menunggu lama untuk membeli nasi lemak, walaupun beraneka lauk. Ketika
menguruskan pelanggan yang memesan 10 nasi lemak berlauk, dia juga telah
menjual beberapa nasi lemak biasa kepada beberapa pelanggan dalam masa agak
sama. Mak Minah boleh dikatakan sebagai pemproses tunggal, tetapi ia berupaya
mengendalikan multi bebenang tugasan (multi threaded). Mikro pemproses tunggal
mengendalikan aplikasi multi threaded dengan pembahagian masa yang sangat
pantas (nano saat).
Daripada
rajah benchmark kedua, fitur multi thread hanya dapat dimanafaatkan oleh mikro
pemproses multi CPU hanya jika aplikasi itu menyokongnya atau tahu bagaimana
menggunakan kaedah multi thread (dioptimakan untuk multi thread). Oleh itu
dalam benchmark aplikasi bebenang tunggal (Single Thread Benchmark), Athlon II
X2 250 yang mempunyai frekuensi 3.1Ghz adalah lebih pantas. Dalam kes ini hanya
satu teras CPU digunakan/bekerja, sudah tentu CPU 3.1GHz adalah lebih pantas
daripada CPU 2.6GHz.
Bagaimana
pula mikro pemproses berbilang teras CPU akan menjadi lebih pantas
mengendalikan multi bebenang? Dalam cip CPU tunggal, pengendalian multi
bebenang dikendalikan dengan pembahagian masa dan suiz konteks. CPU akan
bertukar dari satu tugasan ke tugasan2 lain dengan pantas sehingga kita
beranggapan CPU itu dapat melakukan beberapa tugasan serentak. (seperti cerita
Mak Minah di atas). Manakala dalam cip multi teras CPU pula, tugasan2 atau
bebenang2 sememangnya diagih-agihkan kepada CPU dan dilarikan pada masa yang
sama (serentak).
Multi
teras CPU boleh dianggap sebagai berbilang pekerja, lebih ramai pekerja maka
kerja akan menjadi lebih ringan dan pantas. Seperti pepatah Melayu, "Berat
sama dipikul; ringan sama dijinjing" atau dalam lirik lagu Wonder Pets
"kami tak besar... dan kami tak kuat... bila bekerjasama semua jadi
mudah... "
Kembali
kepada kes gerai Mak Minah, oleh kerana kepantasannya bekerja, pelanggan
bertambah ramai, kerja juga bertambah, akhirnya Mak Minah kepenatan. Apabila
Mak Minah mengupah beberapa pekerja bagi membantunya, maka beban tugas Mak
Minah dapat dikurangkan dan Mak Minah mempunyai lebih banyak masa untuk berehat
tanpa menjejaskan perniagaannya.
Bagaimana
prestasi suatu perisian boleh dipengaruhi oleh multi thread dan multi CPU? Kita
tinggalkan cerita Mak Minah dan Pak Ali, kita ke Restoran Warisan pula.
Restoran Warisan adalah sebuah perniagaan keluarga yang baru dibuka. Selain
daripada ahli keluarga, mereka juga menggaji seorang pekerja luar. Pekerja itu
rajin, berdisplin, cekap dan berpangalaman. Oleh kerana semua yang lain adalah
ahli keluarga, maka tokeh kedai keberatan untuk menyuruh atau memaksa ahli keluarganya
bekerja. Oleh itu semua beban kerja diletakkan hanya pada bahu seorang pekerja.
Kesudahan tindakan taukeh itu, memberi impak besar kepada prestasi restorannya,
lembab, pemalas, tak maju, tak reti layan pelanggan dan sebagainya. Perisian
dalam kes ini adalah minda atau mentaliti seseorang. Walaupun mempunyai ramai
pekerja (CPU), tapi mentaliti kekeluargaan (tidak dioptimakan untuk multi
thread dan tidak tahu mengendalikan berbilang CPU) maka restoran itu tidak maju
dan berdaya saing, hanya mengekalkan warisan keluarga.
Dalam
komputer, untuk memanafaatkan mikro pemproses multi teras CPU, pertama sekali
kita hendaklah menggunakan sistem operasian yang dioptimakan untuk multi
bebenang dan multi pemproses. Kita perlukan sekurang-kurangnya Windows 2000
Pro, atau Windows XP, Windows Vista, atau Windows 7. Windows 9x, Windows ME dan
DOS tidak menyokong multi CPU. Kedua, aplikasi itu hendaklah dioptimakan dengan
multithread (bebilang bebenang) supaya berbilang bebenang itu dapat
dikendalikan oleh OS. Dalam rajah benchmark berikut pula menunjukkan jika suatu
aplikasi itu diprogramkan sokongan multithread dengan baik maka prestasi
aplikasi itu akan lebih pantas dengan multi teras CPU.
Meskipun
sekarang masih banyak aplikasi yang tidak atau sokongan multi thread yang
lemah, Windows atau sistem-sistem operasian moden dan juga perisian2 yang
dibangunkan oleh pemaju2 utama pada hari ini diprogramkan dengan intensif multi
bebenang. Oleh itu perisian2 di masa hadapan akan cenderung ke arah ini.
Tambahan pula aplikasi semakin komplek, begitu juga masalah sekuriti seperti
penyulitan (encryption), grafik tinggi dan lain-lain, maka mikro pemproses
moden berbilang teras adalah satu kemestian atau keperluan bagi sistem komputer
sekarang dan di masa hadapan.
Perbincangan kita seterusnya adalah mengenai
faktor yang perlu dipertimbangkan dalam membeli CPU baru
Tidak ada komentar:
Posting Komentar