Friday, December 4, 2009

Central Processing Unit (CPU) Timing/Tuning for Intel


Timing dan Tuning untuk Processor Intel

Pendahuluan

Assalamualaikum dan salam sejahtera

Sekarang ini banyak sekali persoalan mengenai RAM yang lebih merujuk kepada penggunaan prosessor Intel (samada model oldskool, 478 atau LGA775). Topik ini dibuat khas untuk membincangkan konsep timing dan tuning secara detail untuk prosessor Intel.

Prosessor Intel dan AMD memiliki karikatur yang berbeza mengenai tuning dan Timing RAM. Perbezaan amat ketara apabila AMD mula memperkenalkan arkitektur built-in memory controller didalam semua product range AMD64. Berbeza dengan Intel yang masih membenarkan cipset mengawal memory bandwith dan timing.

Disebabkan perkara tersebut, timing dan tuning bagi AMD dan Intel adalah perkara yang berbeza. Timing yang bagus diantara keduanya tidak boleh digunakan untuk keduanya disebabkan perbezaan arkitektur memory controller. Penggunan Cipset sebagai memory Controller adalah satu advantage bagi Intel kerana processor boleh menggunakan teknologi kehadapan RAM dengan hanya menggunakan Cipset yang telah dinaik-taraf, dan ianya cost-effective.

Jadi, timing dan tuning bagi RAM untuk prosessor Intel amat bergantung kepada jenis Cipset yang digunakan, dan ianya meliputi keseluruhan penggunaan Cipset dan RAM. Kat bawah akan menerangkan cipset-cipset yang aku pernah kaji.

CIPSET

Oleh kerana saya still pengguna intel oldskool 478 punya, jadi kita masuk bab Cipset. Kita paham bab cipset dulu sebelum paham bab lain pasal timing RAM untuk Intel nih memang kena paham bebenar dengan cipset. Sekarang nih saya nak point kepada Cipset 865PE dan 875i. Orang lain juga digalakkan contribute mengenai cipset (tak kira ler mana-mana cipset yang korang nak terang).

Technically, cipset Intel 865 dan 875 adalah dua cipset yang mempunyai ciri-ciri yang hampir sama cuma cipset Intel 875 yang memiliki satu function yang takda kat 865, iaitu function menyokong RAM ECC (Error Checking and Correction). Dalam erti kata lain, kedua-dua cipset ini hampir memiliki function yang sama.

Perbincangan dalam posting ini adalah untuk menerangkan keboleh-upayaan cipset berkenaan dalam menyokong bandwith RAM. Untuk pengetahuan tambahan, arkitektur cipset HANYA membenarkan bandwith RAM berfungsi BERDASARKAN keboleh-upayaan FSB yang disokong oleh processor. Saya senaraikan kat sini ciri-ciri FSB dan Bandwith yang disokong oleh kedua-dua cipset berkenaan :-

1. FSB800 menyokong DDR400, DDR333 dan DDR266

2. FSB533 menyokong DDR333 dan DDR266

3. FSB400 menyokong DDR266

Ada banyak persoalan mengenai benda nih. Dan ini juga menjadi persoalan dalam menentukan kelajuan RAM. Jadi, korang mesti tertanya-tanya kenapa cipset nih hanya menyokong certain-certain RAM berdasarkan FSB CPU? Jawapan aku mudah, cipset nih BUKAN menyokong jenis RAM, tetapi menyokong JENIS kelajuan RAM berdasarkan FSB CPU.

Pening kan? Well memang pening kalau korang nak paham benda nih. Tapi korang kena gak paham memandangkan akan ada soklan macam :-

"Saya guna RAM jenis DDR400 dan CPU saya adalah 2.4Ghz FSB533. Saya heranlah kenapa kelajuan RAM saya dipaparkan sebagai DDR333 pasahal saya menggunakan DDR400? BTW saya menggunakan mobo Abit IS7 cipset 865PE"

Wokeh, kita akan try resolve soklan tersebut. Fenomena ini dalam biasa memandangkan kedua-dua cipset berkenaan menyokong dual-channel, arkitekturnya akan mapping RAM berkenaan mengikut spesifikasi FSB untuk memperolehi kelajuan Ideal bagi FSB berkenaan. Jangan tanya saya sebab apa kerana saya bukan technician Intel. Apa yang saya boleh tolong adalah untuk selesaikan persoalan yang terdapat kat benak korang.

Itu adalah limitiation dalam arkitektur kedua-dua cipset berkenaan. Wokeh bagaimana pula kalau kita memasang DDR333 untuk FSB800? Adakah DDR berkenaan akan berubah menjadi DDR400?? Well persoalan mudah camni senang nak selesaikan. Jawapanya TAK BOLEH !! Mana-mana RAM yang menggunakan slot DDR adalah boleh berfungsi pada mana-mana mobo dan cipset. Tak kiralahlah apa jenis DDR tersebut as long as RAM tersebut menggunakan slot DDR, ianya akan berfungsi seperti biasa.

Kelajuan DDR333 tidak akan sesekali mengikuti spesifikasi FSB800 kerana limitiation RAM berkenaan. Maka dengan itu, Processor dengan FSB800 dapat berfungsi bersama-sama dengan DDR333 dengan perubahan ratio RAM berkenaan. Begitulah sebaliknya dengan kes DDR400 yang berfungsi pada DDR333 apabila dikembarkan dengan Processor FSB533, ratio RAM juga diubah untuk membolehkan RAM berkenaan berfungsi pada kelajuan DDR333.

Mesti korang tengah pening-pening lalat sekaran nih. Takpa nanti saya akan sambung balik topik nih dalam bab RATIO. Korang kena fahami ratio kerana processor intel berfungsi pada ratio 1:1

Perskalaan Kelajuan RAM dan Ratio untuk cipset 865 dan 875

Okey, pada yang masih blur apasal apabila korang masukkan RAM DDR400 kat mobo yang run FSB533, speed RAM jadi DDR333?? Baiklah untuk ini, mari kita letakkan dalam perbincangan kita. Kita akan cuba explore dengan lebih lanjut tentang benda nih apasal dia jadi macam nih.

Mari renungi benda nih, kita tau kelajuan asal processor dalam hasil darab core speed dengan multiplier. Kita amik FSB800 sebagai contoh. Sekarang nih, saya akan ajar korang yang n00b basic camner nak tau core speed processor korang. Caranya? Korang bahagi kepada 4 untuk setiap nilai FSB, cth:

FSB800 / 4 = 200Mhz

Korang akan dapat nilai 200, nilai tersebut core speed bagi processor FSB800. Kemudian, andaikan yang multiplier bagi processor berkenaan adalah x15, maka speed untuk processor berkenaan ialah :-

200Mhz x 15 = 3.0Ghz

Itu adalah kelajuan processor. Tapi untuk ini, saya bukannya nak membincangkan tentang kelajuan processor tetapi tentang kelajuan core speed processor berkenaan. Masuk bab RAM pulak, RAM juga memiliki core speednya yang tersendiri. Camner nak kira? Ok bahagikan nilai jenis DDR kepada 2, cth :-

DDR400 / 2 = 200Mhz

Kita akan dapat core speed bagi DDR400 adalah 200Mhz. Lihat disini, core speed processor adalah 200Mhz, core speed RAM jugak adalah 200Mhz. Kalau kita buat perbandingan, maka kita akan dapat :-

Core Speed Processor 200Mhz : Core Speed RAM 200MHz

200Mhz : 200Mhz

1 : 1

Lihat! Kita dapat tengok pernisbahan diantara core speed Processor dan RAM dan ianya adalah 1:1! Inilah apa yang dikatakan sebagai ratio, iaitu nisbah diantara core speed Processor kepada RAM.

OKOK, kita paham dah apa yang dikatakan sebagai ratio. Sekarang nih kita akan selesaikan kenapa RAM DDR400 berfungsi pada DDR333 dalam FSB533 (dan seumpamanya jika dalam FSB400 @ DDR266). Arkitektur dalam 865 dan 875 adalah amat unik dimana ianya hanya menguruskan bandwith RAM pada skalar ratio 1:1. Cipset ini akan cuba memadankan atau menghampiri speed core processor dengan speed core RAM untuk memperolehi ratio 1:1.

Mari kita amik calculator, dari lakukan sedikit pengiraan matematik. Soalannya kenapa DDR400 hanya berfungsi pada DDR333 pada cipset 865/875 untuk FSB533? Mari kira :-

FSB533 / 4 = 133Mhz

DDR400 / 2 = 200Mhz

Ratio CPU:RAM = 133:200 = 1:2 (tak sah)

Ratio yang ditunjukkan adalah tak sah kerana sudah diberitahu, cipset 865/875 akan cuba untuk menyamakan kepada ratio. Jadi kombinasi ratio ini dianggap invalid dan cipset akan cuba padankan atau hampirkannya dengan speed yang lainnya. Ok sekarang kita cuba dengan speed ram DDR333

FSB533 / 4 = 133Mhz

DDR333 / 2 = 166Mhz

Ratio CPU:RAM = 133:166 = 1.3:1.6 (hampir)

Lihat sekali lagi, sekara ratio CPU dan RAM adalah 1.3:1.6 menghampiri 1:1. Maka dengan itu, secara automatik cipset akan memappingkan speed asal DDR400 kepada DDR333 untuk cuba memperolehi keputusan 1:1. Dalam binary elektronik, walaupon angka 1.6 dikatakan menghampiri angka 2 tetapi jika dalam elektronik, ianya tetap dibundarkan kepada 1 walaupon ianya 1.9 sekalipon.

Setakat ini dulu. Bagaimana cipset memapping core speed DDR400 kepada DDR333 maaflah saya takder jawapan untuk itu (jawapan ada, tapi panjang berjela dan korang tak perlu tau benda tu). But kesimpulanya kat sini :-

1. Kita mengetahui yang 865/875 beroperasi dengan ratio 1:1

2. Sebab kenapa speed RAM jatuh/turun sewaktu menggunakan FSB yang rendah



Mencari Timings RAM yang sesuai untuk sistem Intel

Pertama sekali ingin dinyatakan, saya punya guide nih hanya tertumpu pada DDR (untuk DDR2 tu nih..maklumlah "tak cukup budget" heheheh). Jadi dalam ruangan nih, kita akan bincangkan tentang scope dan point utama dalam mengadjust 4 benda dalam Timing RAM nih. Firstly, saya nak korang tahu yang mostly, tak semua timing itu perfect untuk Intel processor kerana Timing juga bergantung kepada jenis cip / module RAM yang dipasang atas mobo. Kekadang dengan timing yang loose juga performance untuk keseluruhan sistem mungkin akan bertambah atau..vice versa.

Kenapa perlu adjust timing? Kerana timings ini adalah set parameter yang yang menetukan kelajuan sampukkan data diantara RAM dan CPU. Kita ambil satu contoh, CAS Latency (dikenali sebagai CS atau "access time") dan keadaan data. Kalau bagi CAS 4, data yang akan dihantar daripada RAM kepada CPU akan di "delay" (dilengahkan) selama 4 clock (4 pusingan frekuensi). Dalam erti kata lain, bagi CAS 3 pula tahap "delay"nya adalah selama 3 clock pusingan. Makin kecil pusingan clock, makin cepat data @ sampukan yang bleh dilakukan terhadap RAM ke CPU. Tu tak masuk yang lain-lain parameter lagi.

Okeh then, ada 4 + 1* benda utama dalam Timing RAM nih iaitu :-

1. CL: CAS Latency
* Masa yang diambil oleh RAM untuk respons kepada arahan yang dihantar kepadanya. Ia merupakan masa diantara processor meminta data dari RAM dan kemudiannya menghantar kembali kepada RAM

2. tRCD: RAS to CAS Delay
* Masa yang diambil diantara pengaktifan garis ufuk (RAS) dan garis lintang (CAS) dimana data yang disimpan adalah dalam bentuk matrix

3. tRP: RAS Precharge
* Masa yang diambil diantara penyah-akses ke garisan data dan memulakan akses untuk garisan data seterusnya

4. tRAS: Active to Precharge Delay
* Masa (berapa lama masa) yang patut ditunggu oleh RAM sehingga akses seterusnya dapat dijalankan

5. CMD: Command Rate*
* Masa yang diambil oleh cip memori RAM untuk aktif dan bila data pertama dapat dihantar. Nilai tak dapat dipastikan. Biasanya ia menggunakan nilai T1 (1 clock per cycle) atau T2 (2 clock per cycle)

* Untuk nilai CMD biasanya tidak diubah dan dalam BIOS pon kekadang takder setting bagi CMD. Maka abaikan CMD. Kita hanya akan gunakan 4 timings sahaja untuk nih.

Okeh, sambung lagi yer. Dalam timings untuk Intel (memang untuk Intel sebab dia still pakai cip memory controller) terdapat 2 timings penting yang patut diubah oleh overclockers dalam mencapai kestabilan + kelajuan sesuatu sistem. Timings berkenaan dan yang juga prioriti untuk ini adalah timing tRP dan tRCD. Ubahan timings berkenaan perlulah dilakukan terlebih dahulu untuk mendapatkan performance yang baguih. Untuk sebab kenapa timings tRP dan tRCD perlu diubah dahulu saya tidak mahu terangkan sebab terlalu panjang sebab bab nih dah bermain dengan matrix data. Payah nak terang dengan detail.

Yang apa yang saya nak terangkan sekarang adalah camner teknik untuk timings adjusting nih. Check it out. Timings biasanya disusan dalam susunan camni:

2-2-2-5

CL-tRCD-tRP-tRAS



Jadik korang paham susunan angkan tu kan? Then saya akan tunjukkan korang camner nak adjust timings supaya cun-cun ngan korang punya RAM serta tak mengganggu ketenteraman kalau-kalau "hang" atau apa. Satu benda lagi, nilai yang paling rendah adalah nilai terbaik untuk timings dan bukan semua jenis module boleh sokong nilai terendah.

MASUK BIOS TERLEBIH DAHULU !!!

Firstly, apa yang korang bleh buat adalah korang flatkan angka tRP dan tRCD. Biar dua-dua angka nih sama terlebih (JANGAN LUPA : TURUNKAN ANGKA IKUT STEP-BY-STEP atau KORANG TERPAKSA RESET CMOS KALAU KOMPUTER TERUIH TAKLEH BOOT LEPASTU) dahulu kemedian restart @ boot PC semula. Kalau successful boot then turunkan lagi sampai satu masa korang terpaksa reset CMOS untuk membolehkan korang boot PC korang. Rekod timing tRP dan tRCD terendah semasa time bleh boot (maksud aku, guna timings tu.)

Kemudian, turunkan angka yang lain pulak angka tRAS sebanyak satu step kemudian boot. Ulang langkah berkenaan sampai korang terpaksa reset CMOS. Rokod timings berkenaan semasa time bleh boot tu (gunakan timings tu). Pastu, turunkan pulak angka CL..macam turunkan mengikut step-by-step (TAPI untuk CL...selalunya payah nak timing rendah dan kemungkinan akan dapat rendah tu...ikut jenis module jugaklah) sampai korang terpaksa reset CMOS sekali lagi.

Then...tahniah korang dah berjaya setting Timings bagi RAM korang. Tapi pastikan nilai tRP dan tRCD tersebut flat (sama) diatas sebab-sebab matrix data bagi sampukkan cipset. Dan memang tRP dan tRCD jika sama amat baguih untuk timings dalam sistem Intel. DAN jika korang bleh dapat timings CL, tRP dan tRCD sama then itu adalah kejayaan bagi korang. Tahniah diucapkan.

No comments: