BLOG

CPU Overclock 101

อยากรู้มั๊ยว่า โอเวอร์คล็อก เขาทำกันยังไง?

ก่อนอื่น ต้องขอออกตัวก่อนว่า โพสนี้เป็นโพสที่เขียนสำหรับ เครื่อง LEVEL51 Gen 8 หรือรุ่นที่ใช้เป็น CPU Desktop นะ แต่ถ้าคนที่มีคอมพิวเตอร์ที่เป็น CPU K จะอ่านเอาไอเดียเพิ่มก็ได้

จากการที่ลองใช้ทั้ง AMD, Intel มาแล้ว (จริงๆ จะบอกว่า Cyrix ด้วย แต่คนส่วนมากคงจะไม่รู้จัก ฮือๆ) ขอบอกว่า การโอเวอร์คล็อก ของ Intel มีอะไรให้ปรับได้เยอะกว่า ปรับได้ละเอียดกว่า แล้วก็ดูน่าตื่นเต้นกว่ามากเลย โปรแกรมของ Intel ที่ใช้ในการโอเวอร์คล็อก เรียกว่า Intel XTU ซึ่งถ้ายังไม่มี ก็ไปดาวน์โหลดมาได้จากที่นี่เลยนะ และก็ถ้ายังไม่ได้อ่านโพสที่อธิบายว่า ทำไม i7-8750H ทำงานได้ความเร็วไม่ถึง 4.1GHz ก็ขอแนะนำให้ไปอ่านปูพื้นมาก่อนเลย เพื่อให้พอได้ไอเดียคร่าวๆ ว่าอะไรมันสัมพะันธ์กันยังไง

สำหรับสาวก AMD ที่ใช้ Ryzen ซึ่งผมเองก็ใช้ Ryzen 7 1700x อยู่ จะใช้โปรแกรม Ryzen Master เพื่อทำการโอเวอร์คล็อก โดยตอนนี้ผมก็ปรับอยู่ที่ 3.9GHz ด้วยแรงดันไฟ 1.35V เพราะถ้าใช้ที่ 3.5GHz ผมรู้สึก(อาจจะรู้สึกไปเองก็ได้)ว่ามันช้ามาก สำหรับตัวโปรแกรมมันก็ดูใช้ง่ายดี แต่ก็ปรับได้แค่ว่า จะให้ความเร็ว กับแรงดันไฟเท่าไหร่ ไม่มีอะไรให้ลุ้นเลย จะเขียนบล็อก ก็ยังไม่รู้จะเขียนอะไรเลย เหอๆ (เพราะเป็นคนเพ้อเจ้อ ชอบเขียนยาวๆ ท้าวความ ชักแม่น้ำทั้งห้า ลิงค์ Wikipedia ไปอีกสิบน่ะ) สำหรับโปรแกรม Ryzen Master โหลดได้ที่นี่นะ ซึ่งไม่มีอะไรมาก ปรับ 3.9GHz / 1.35V จบ ใจอยากจะให้ถึง 4.0GHz ปรากฏว่าใส่ไป 1.45V แล้ว ก็ยังไม่ได้ เดี๋ยวค้างเดี๋ยว Blue Screen ตลอดเลยยอมแพ้ละ 

เอาละ บ่นจบ กลับมาที่การโอเวอร์คล็อค Intel กันต่อ

เราจะปรับค่าอะไรกันบ้างเพื่อ Overclock?

สำหรับการโอเวอร์คล็อก CPU ของ Intel จะมีการตั้งค่าที่เกี่ยวข้องกันสองอย่าง คือ ความร้อน (Thermal) กับ ความเร็ว (Clock Speed) นะ สองอย่างนี้สัมพันธ์กันอย่างหลีกเลี่ยงไม่ได้เลย เพราะว่า เมื่อความเร็วสูงขึ้น CPU ก็จะปล่อยความร้อนออกมามากขึ้น 

โดยสำหรับ โน๊ตบุ้ค LEVEL51 รุ่น NX, SX, QX, XAVIA จะใช้ CPU แบบ i7-8750H ซึ่งเป็นซีพียูแบบที่ไม่สามารถโอเวอร์คล็อคได้ จะสามารถปรับจูนเรื่องความร้อนได้อย่างเดียว แต่ก็ยังสามารถทำให้มันทำงานที่ความเร็วสูงขึ้นได้

ส่วนโน๊ตบุ้คของเรา ที่ใช้ CPU ของเครื่อง PC ได้แก่รุ่น NXL, XM15, XL17, ROSHARN จะสามารถเลือกใช้ซีพียู ที่มีตัว K อยู่ในชื่อ ซีพียูพวกนี้นอกจากจะสามารถปรับจูนเรื่องความร้อนแล้ว ก็ยังสามารถปรับความเร็ว ได้ด้วย

ในเรื่องของความร้อน ถ้ายังไม่ได่้อ่านโพสก่อนนี้ ย้อนไปเล่าหน่อยก็ได้ว่ามันคือการปรับค่า TDP (Thermal Design Power) ของตัวซีพียูนั่นไง ซีพียูแต่ละรุ่นทาง Intel จะระบุมาว่า มันสามารถปล่อยความร้อนออกมาได้แค่ไหน ทั้งนี้ก็เพื่อให้คนออกแบบ Heatsink มีจุดอ่้างอิงว่า จะต้องออกแบบให้สามารถระบายความร้อนได้แค่ไหน ตัวซีพียูที่มันระบายจึงจะไม่ความร้อนสูงเกินไป สังเกตว่า ยิ่ง Heatsink รุ่นที่เขาว่าดีว่าเย็น มันก็จะแพง ก็เพราะว่ามันมีความสามารถในการระบายความร้อนได้เยอะยังไงละ และพอเราใส่ Heatsink เทพพวกนั้นแล้วเห็นว่าอุณหภูมิมันลดลงบ้าง ก็เป็นเพราะว่ามันสามารถระบายได้เยอะกว่าที่ซีพียูต้องการ ประมาณนั้น 

ส่วนแรกเลยที่ขอพูดถึง ก็คือการปรับความร้อน ซึ่งผมตั้งชื่อให้มันเองว่า มันคือ "Power Limit Tuning" ละกัน เหอๆๆ

Power Limit Tuning

อย่างที่ได้เกริ่นไปแล้วว่า Heatsink ก็จะออกแบบมาเพื่อรองรับการระบายความร้อนของซีพียู ตาม TDP ที่ระบุไว้ แต่อีกจุดนึงที่มีผลต่อการระบายความร้อนก็คือ ตัวนำความร้อน หรือที่คนไทยเราเรียกว่าซิลิโคน ฝรั่งเรียก TIM (Thermal Interface Material) บางคนเรียก Thermal Grease บางคนเรียก Thermal Paste นั่นไง

แน่นอนว่าทางคนทำโน๊ตบุ้คเขาก็ได้ออกแบบระบบระบายความร้อน โดยคำนึงถึงประสิทธิภาพของ TIM ที่เขาใช้ไว้แล้วด้วย พอเราใช้ตัวที่มันดีกว่า มันก็เลยมีผลทำให้ซีพียูมันเย็นลง ประมาณนั้น ส่วนถ้าถามว่า ทำไมเขาไม่เลือกใช้ตัวที่ดีเวอร์มาเลยแต่ต้น ก็น่าจะเพราะเหตุผลเรื่องการผลิต และก็ราคาดัวยมั๊งนะ

สำหรับเครื่อง LEVEL51 จะสามารถเลือกตัวนำความร้อนที่ดีที่สุดที่เขายอมขายให้เรา (อีกเจ้าส่งเมลล์ไปเขาไม่ตอบ เชอะ!) ก็คือ LIQUID Pro ครับ ตัวนี้ทำจากโลหะล้วน และก็มีผลทดสอบจากช่อง YouTube ช่อง Play3r TV ที่เทสไว้ EPIC สะใจมาก เทียบกัน 26 ตัว!! (คลิกเพื่อเปิดวีดีโอ)

สำหรับเครื่องที่เลือกใช้ตัวนำความร้อนที่มันดีขึ้นเยอะมาก เช่นอย่าง LIQUID Pro หรือ IC Diamond (ไม่ค่อยจะขายของเล้ย) ตัวซีพียูก็จะสามารถระบายความร้อนได้เร็วกว่า ทำให้มันสามารถทำงานที่ระดับ TDP ที่สูงกว่าได้ เช่น ปกติซีพียู i7-8750H จะตั้งค่าไว้ที่ 45W เราก็สามารถตั้งค่าให้มันทำงานที่ระดับ TDP สูงขึ้นได้ โดยที่ความร้อนจริงที่วัดได้ ยังไม่สูงจนเกินไปยังไงละ

เอาละได้เวลาเปิด Intel XTU ขึ้นมาได้แล้ว การตั้งค่าในโปรแกรม XTU ให้กดทางซ้าย เลือก All Controls ที่อยู่ข้างใต้ Advanced Tuning ได้เลย

สำหรับตัวเลือกที่เกี่ยวข้องกับความร้อน ก็จะมีตามนี้

Core Voltage Offset : นี่คือแรงดันไฟ ที่จะจ่ายให้กับซีพียู ซึ่งเราจะไม่ตั้งค่าตายตัว เราจะตั้งเป็น Offset หมายถึงว่า ถ้า CPU เลือกใช้ 1.0V เราจะให้มันน้อยลงเท่าไหร่ เช่นถ้าเราตั้งค่าไว้ -0.050V ก็แปลว่า ถ้าซีพียูเลือก 1.0V มันจะใช้ค่า 0.95V แทน

ผลเสียจากการลด Voltage Offset ก็คือ เครื่องเราจะไม่ค่อยเสถียร อันนี้ขึ้นอยู่กับดวงล้วนๆ ว่า เราจะสามารถลดได้เยอะแค่ไหน ถึงยังเสถียรอยู่ ความไม่เสียร เป็นสิ่งที่ให้คำจำกัดความยากเหมือนกัน แต่เวลามันเกิดขึ้น มาจะมาในรูป Blue Screen ที่สาเหตุแปลกๆ หรือไม่ก็เครื่องค้างนิ่ง หรือไม่ก็ดับไปเลย

Turbo Boost Short Power Max : อันนี้คือ Power Limit 2 (PL2) เป็นช่วงที่ตอนเครื่องยังไม่ร้อน หรือว่าทำงานกะปริดกะปรอย จะให้ TDP อยู่ที่เท่าไหร่ ปกติเขาจะตั้งไว้สูงกว่า TDP ประมาณ 20-30% ได้ 

ผลเสียจากการเพิ่ม PL2 ก็คือ มีโอกาสเจอ Thermal Throttling ได้ เพราะถึงตอนนั้น Heatsink ยังไม่ร้อน แต่ถ้าตั้งไว้สูงมาก ความร้อนก็อาจจะวิ่งออกไปไม่ทันเหมือนกันนะ จากที่สังเกตคือ บางทีความร้อนภายในตัวซีพียูอาจจะพุ่งไปถึง 95+ องศาแว๊บนึงได้เลย และถ้าไม่สบายใจ จะปิดไม่ให้มันทำงานเลยก็ได้ โดยเลือก Turbo Boost Short Power Max Enable เป็น Disable (Off)

Turbo Boost Power TimeTime Window : อันนี้คือเวลาที่เราจะอนุญาตให้ซีพียู ทำงานที่ TDP เกิน PL1 ได้ หน่วยเป็นวินาที ในโน๊ตบุ้ค ตั้งไว้ที่ 28 วินาที เรียกว่า PL1 Time ส่วนของ Desktop ตั้งไว้ 8 วินาที จริงๆ มันควรจะเรียก PL2 Time มากกว่า...แต่เอาเถอะ

ผลเสียจากการเพิ่ม Turbo Boost Time Window ก็คือ ซีพียูจะทำงานที่ TDP ระดับมากกว่า PL1 แต่น้อยกว่า PL2 นานขึ้น ทำให้คาดเดาความร้อนที่แท้จริงได้ยาก และจะทำให้ความร้อนอยู่ระดับสูงตลอด ไม่ยอมลด จากที่สังเกตคือ ถ้าความร้อนยิ่งเยอะ ซีพียูจะเลือกใช้แรงดันไฟสูงขึ้นอีก แล้วมันก็จะร้อนขึ้น แล้วมันก็จะเลือกแรงดันไฟสูงขึ้น...เห็นภาพแล้วนะ

Turbo Boost Power Max : อันนี้คือ Power Limit 1 (PL1) พูดอีกอย่างก็คือ TDP ของตัวซีพียูนั่นเอง ปกติจะตั้งไว้ให้เท่ากับ TDP นั่นแหละ

ผลเสียจากการเพิ่ม PL1 ก็คือ ซีพียูจะทำงานที่ความร้อนสูงขึ้น เพราะว่าระบบระบายความร้อนจะถูกออกแบบมาพอดีกับ TDP ของซีพียูที่มันใช้งานอยู่ยังไงละ

AVX Offset : ถ้าเกิดว่ามีการใช้ ชุดคำสั่ง AVX ซึ่งเป็นชุดคำสั่งเพื่อเพิ่มประสิทธิภาพการทำงานกับเลขทศนิยมจำนวนมาก (Floating Point) ในแบบ Single Instruction Multiple Data (SIMD) ที่มันกินไฟมากกว่าปกติ จะให้มันลดความเร็วลงเท่าไหร่ (หน่วยเป็นตัวคูณ) เช่นถ้าตอนนั้นซีพียูทำงานที่ 4.0GHz ถ้าตั้ง AVX Offset 5 มันก็จะทำงานที่ 3.5GHz แทน

ผลเสียจากการเพิ่ม AVX Offset ก็คือ ซีพียูจะทำงานที่ความเร็วต่ำลง เมื่อมีการใช้ชุดคำสั่ง AVX

ก่อนอื่น ต้องเข้าใจการติดสเตตัสก่อน!

ไม่ใช่เกมนะ ไม่มีติดพิษ! :P

เพื่อจะเล่นเราต้องมีเครื่องมือ เพื่อใช้ในการทดสอบก่อน ขอแนะนำให้ใช้ LinX แล้วกัน โหลดได้จากหลายที่มาก แนะนำให้โหลดจากเว็บ Softpedia นะ

เปิดมาปุ๊บ กด Settings แล้วปรับ Priority Class เป็น Idle ไว้ก่อนเลย เพราะไม่งั้นเครื่องเรามันจะกดอะไรไม่ไปเลย เพราะ Linx (Linpack) จะใช้ซีพียูเราไปจนหมด ไม่เหลือให้เอามาประมวลผลการคลิกของเราได้ แล้วก็ก่อนกดปุ่ม Start ให้กดที่ All หลัง Memory (MiB) ด้วย เพื่อให้มันขยาย Problem Size ให้ใหญ่ขึ้น มันจะได้รันนานหน่อยต่อรอบ เพราะระหว่างรอบมันจะมีการหยุดและช่วงต้นของการทดสอบเหมือน AVX จะไม่ทำงานนะ

ทีนี้ เพื่อให้ดูว่า PL1 มันมีผลกะความเร็ว และความร้อนเราด้วย นี่คือสเตตัสจากหน้าจอ XTU ที่จับภาพจาก i7-8700K ใน NXL ที่ปรับ PL1 ไว้ที่ 45W เท่า i7-8750H และปิด Turbo Boost Short Power Max ครับ

ทีนี้เรามาดูกันก่อนว่า กราฟกะสเตตัสมันบอกอะไรเรามั่ง

Power Limit Throttling ตัวเหลืองที่โชว์อยู่ตอนนี้ และเขียนว่า Yes  อันนี้มันบอกเราว่า ปัจจุบันนี้ซีพียูเราปล่อยความร้อนมาที่ PL1 แล้ว และเรากำลังโดน Throttle อยู่

Package TDP ก็คือปริมาณความร้อนที่ซีพียูกำลังปล่อยออกมาในตอนนี้ จะเห็นว่าคือ 45W เท่ากับที่เราตั้งไว้ในค่าของ PL1 (Turbo Boost Power Max) อันนี้รวมทุกส่วนบนตัวซีพียู นั่นก็คือถ้า GPU บนตัวมันทำงาน ก็จะรวมอยู่ใน Package TDP ด้วย

Max Core Frequency คือ ความเร็วสูงสุดจากทุก Core ที่กำลังทำงานอยู่ในตอนนี้ ตอนนี้มันบอก Active Core Count เป็น 6 ก็คือมันถูกใช้งานอยู่ทั้ง 6 Core บนตัว i7-8700K และตอนนี้ มันทำงานที่ความเร็วแค่ 3.0GHz พอๆ กับ i7-8750H ตอนที่ 6 Core Active นั่นเองไง

Processor Cache Frequency เป็นความเร็วของ Cache หรือหน่วยความจำความเร็วสูงบนตัวซีพียู เข้าใจว่ามันคือความเร็วของ L3 Cache นะ ปกติ L1, L2 ควรจะทำงานที่ความเร็วเท่าความเร็ว Core อยู่แล้ว ไหนๆ สนใจอ่านโพสนี้แล้ว แนะนำให้ไปอ่านเรื่อง Cache/Memory Coherency ด้วย มันคือเหตุผลหนึ่งที่เรามีเมนบอร์ด Server แยกกะ Desktop และ Xeon/Opteron แยกกับ Core i/Ryzen ใบ้ให้ว่า Xeon ใช้วิธี "ดม" นะ เหอๆๆๆ

Current Limit Throttling / EDP (Electrical Design Power) Throttling อันนี้คือสิ่งที่เราเกลียดที่สุด ถ้ามันขึ้นมาก็คือว่าตอนนี้เราถูก Throttle เพราะปริมาณกระแสไฟที่จ่ายให้กับซีพียูมันมากเกิน มีหลายกระแสที่พยายามอธิบายว่ามันคืออะไรกันแน่ บางคนก็บอกว่าแก้ได้ บางคนก็บอกว่าแก้ไม่ได้ ผมอ่านแล้วก็ไม่เข้าใจเหมือนกันว่ามันเกิดจากอะไรแน่ :P แต่วิธีนึงที่เราจะปลอดจาก Current Limit ก็คือลด Core Voltage Offset จร้า จากสูตร V = I x R, I (กระแส) เลยผลจาก V (Volt) ด้วย ส่วน R (Resistance) คือความต้านทาน

Mainboard VR Thermal Throttling และ Thermal Throttling เป็นอีกสองสิ่งที่ควรหลีกเลี่ยงเหมือนกัน ตัวแรกหมายถึง ภาคจ่ายไฟเรามันร้อนเกินไปแล้ว (VR = Voltage Regulator) เพราะว่าเราอาจจะใส่แรงดันไฟเยอะไป ส่วนตัวถัดมา หมายถึง ตัวซีพียูเราเองที่ร้อนเกินไป ถ้าเจอ Thermal Throttling แสดงว่ามี Core นึง ที่วิ่งอยู่ที่ประมาณ 95c ขึ้นไปแล้วละ

Package Temperature ก็คือความร้อน อันนี้แล้วแต่ความสบายใจว่า ร้อนไปคือเท่าไหร่ :) แต่ปกติถ้าอยู่ที่ 90c ก็ถือว่ายังโอเคนะ ยังห่างไกลจุดที่มันจะเริ่ม Throttle ลงอีกเยอะ ความร้อนนี้ รวมความร้อนของ GPU ที่อยู่บนตัวซีพียูด้วย ถ้าเกิดว่าใช้ทั้ง GPU ด้วย ความร้อนก็ย่อมจะเพิ่มขึ้น

ส่วนคำว่า Throttling โดยรวมหมายถึงว่า ความเร็วของซีพียูกำลังถูกควบคุมอยู่ (Throttle) เพราะว่าเหตุผลต่างๆ นาๆ ที่อธิบายไป ดีที่สุดก็คือเราไม่อยากจะเจอกับ Throttling เลยสักอย่าง แต่ว่ายังไงก็จะต้องเจอกับ EDP Throttling แน่ๆ ถ้า Overclock ความเร็วขึ้นสูงมาก

นอกจากนี้ เรายังสามารถกดปุ่ม สัญลักษณ์รูปประแจ เพื่อเลือกเฉพาะสเตตัสที่เราอยากดูก็ได้ ซึ่งสิ่งที่ผมสนใจ จะมีแค่เท่าที่บอกมาตะกี้ กับ Core Voltage อีกตัวนึง

เอาละ วิธีการ Power Limit Tuning!

สิ่งที่เราต้องการจากการเล่น Power Limit Tuning ก็คือ หาทางทำให้ซีพียู ทำงานที่ความเร็วสูงที่สุด โดยที่ไม่ร้อนจนเกินไป ซึ่งสำหรับบนเครื่อง PC อาจจะไม่ค่อยจำเป็นเท่าไหร่ แต่ว่าถ้าเรารู้ว่า Heatsink, Closed Loop Liquid Cooling เรารับความร้อนได้แค่ไหน ก็เอามาช่วยปรับไม่ให้ความร้อนสูงจนเกินไปได้เหมือนกันนะ

เริ่มต้น แนะนำให้ปรับแบบนี้

  • - Turbo Boost Short Power Max Enable : กดเป็น Disable
  • - Turbo Boost Power Max: 45W สำหรับเครื่องรุ่นอื่น หรือ 65W สำหรับ NXL ส่วนถ้าเป็น XM15, XL17, ROSHARN ได้ถึง 120W เลยจ้า ต่อไปนี้จะเรียกมันว่า PL1 นะ
  • - Turbo Boost Power Time Window: 0.25s
  • - AVX Offset : 0

จากนั้นเปิด LinX แล้วตั้งค่าให้มัันทำงานไป ประมาณ 3 นาทัีแล้วดูว่าความร้อนวิ่งไปอยู่ที่ระดีับไหน ถ้ายังแค่ 70-85c ให้เริ่มเพิ่ม Turbo Boost Power Max ขึ้นทีละ 5 เช่นเดิม 45 เป็น 50 เป็นต้น มาดู i7-8700K ที่โดนจำกัดจำเขี่ยงบประมาณ TDP ไว้ จะเห็นว่า 45W พอเพิ่มเป็น 50W ก็ความเร็วเพิ่มจาก 3.0GHz เป็นประมาณ 3.1GHz เลย

สำหรับเครื่อง LEVEL51 อย่าลืมกด Fn กับเลข 1 (ทางซ้าย ไม่ใช่ Numpad) เพื่อเร่งพัดลมสูงสุดด้วย จะได้รู้ลิมิตจริงๆ ว่ามันแค่ไหน

ก็เพิ่ม PL1 ไปเรื่อยๆ จนถึงระดับความร้อนที่พอรับได้ โดยดูความร้อนที่ขณะที่ติด Power Limit Throttling นะ แปลว่าตอนนั้นคือมันสุดแล้วจริงๆ

สังเกตว่ามันจะมีบางช่วงที่ไม่ติด Power Limit Throttling และความร้อนลดลงด้วย ทั้งที่ Utilization อยู่ที่ 100% แสดงว่าตอนนั้น AVX ไม่ได้ทำงาน มันเลยยังไม่ติด และพอ AVX ทำงานที TDP เพิ่มขึ้นถึงเกือบ 10W กันเลยทีเดียว

เมื่อพอใจกับความร้อนแล้ว (เครื่อง NXL ที่ Delid + ลง LIQUID Pro จะได้ 80W เนี่ยแหละ ได้กำไรมา 23%) เราก็มาลด Voltage Offset กันบ้าง อันนี้เขาจะเรียกกันว่า Undervolt โดยเริ่มจาก -0.1000V ก่อนเลย เท่าที่ลองมา ไม่เคยมีเครื่องไหนไม่ได้ -0.1V มาก่อน ก็เลยแนะนำเท่านี้ อิอิ ยำ้อีกที ลด นะ ไม่ใช่เพิ่ม ต้องมีเครื่องหมาย - ข้างหน้าด้วย เช่น -0.1000V

และเนื่องจากตั้งแต่นี้ต่อไป เครื่องมีสิทธิ์ค้าง ก็แนะนำให้เซฟ Profile เก็บเอาไว้ก่อนได้ จะได้ไม่ต้องมาตั้งใหม่ทุกครั้ง (โหลด Profile ได้จากเมนู Profile ซ้ายมือ)

เมื่อเซฟแล้ว ก็เปิด LinX ลุย!!

จะเห็นว่า พอลด Voltage Offset ไป -0.100V ความเร็วเพิ่มจาก 3.77GHz มาเป็น 4.08GHz เลย (เพิ่มขึ้น 8%) ถ้ารันไปพักนึง มันยังไม่ดับ ไม่ค้าง ไม่ Blue Screen แสดงว่ายังไหว เราก็เพิ่มไปอีก แนะนำทีละ 0.025V เช่น

  • -0.1000V เป็น -0.1250V
    -0.1250V เป็น -0.1500V
    -0.1500V เป็น -0.1750V

ถ้าได้ถึง -0.150V โดยไม่ค่้างนี่ นับว่าโคตรโชคดีแล้วละ เหอๆๆ อันนี้ตอนลดไป -0.125V จะเห็นว่า จาก 3.77GHz มาเป็น 4.17GHz แล้ว (เพิ่มขึ้น 10%)

แล้วยังไปต่ออีก เป็น -0.1500V ก็ได้ความเร็ว เพิ่มมาเป็น 4.23GHz (เพิ่มขึ้น 12%)

แต่ว่าสำหรับเครื่องนี้ ไม่รอดจ้า -0.1500V แล้ว เกิด Blue Screen 

พอเปิดเครื่องกลับขึ้นมาใหม่ Intel XTU จะรีีเซ็ตค่าออกหมดทุกอย่าง เราต้องตั้งใหม่ หรือเปิด Profile กลับขึ้นมา เห็นมั๊ยว่า มันค่อนข้างจะปลอดภัยพอสมควร ตั้งมากไป มันก็โดนรีเซ๊ต ยังไงก็เข้าวินโดวส์ได้แน่

พอเรารู้แล้วว่า มันไม่ไหวที่ -0.1500V เราจะเลือกที่ -0.125V เลยก็ได้ หรือจะซนเพิ่มอีกหน่อย โดยหาค่าที่อยู่ระหว่าง -0.1250V กับ -0.1500V ก็ได้เหมือนกัน ถ้าจะทำ ก็แนะนำให้เพิ่มทีละ 0.01 เลย จนพอใจแล้วก็เลิก 

ในภาพนี้ เป็นที่ -0.1350V จะเห็นว่า ความเร็วมันไม่ต่างจาก -0.125V เลย ใช้ -0.125 ดีกว่า

ถ้าเกิดว่าความเร็วยังไม่ได้ตามที่ต้องการ ก็ลองเพิ่ม TDP ดูได้เหมือนกัน อาจจะ 80 -> 83W เป็นต้น 

เอาละนะ เมื่อเจอ Maximum TDP, Minimum Voltage ก็เป็นอันว่าสิ้นสุดการ Power Limit Tuning!~ ที่สำคัญคือ อันนี้คือความเร็ว/ความร้อนที่เราจะได้ เมื่อ AVX ทำงานอยู่ด้วย ถ้าเกิดว่าโปรแกรม(ส่วนมาก)ที่ไม่ได้ใช้ AVX เราก็จะได้ความร้อนต่ำลงกว่านี้อีก นั่นแปลว่าต่อไปเราจะไปเพิ่มความเร็ว แล้วใช้ AVX Offset แก้เอา สำหรับโปรแกรมที่ใช้ AVX ก็ได้เหมือนกัน

และก็มาถึงช่วงที่ทุกคนแอบรอคอยหรือเปล่า ก็คือการ Overclock จริงๆ ละ

Multiplier Tuning

การ "Overclock" ในสมัยนี้ เอาจริงแล้วมันคือการแค่ปรับ "ตัวคูณ" นี้ เท่านั้นเองแหละ ก็คือรุ่นที่บอกว่าสามารถโอเวอร์คล็อคได้ คือรุ่นที่เราสามารถปรับตัวคูณนี้ได้เท่านั้นเอง อย่าลืมว่า โดยปกติ ซีพียูที่เราใช้ทุกวันนี้ มันโอเวอร์คล็อคอัตโนมัติอยู่แล้วนะ นี่คือเราแค่ไปอนุญาตให้มัน Overclock ได้มากขึ้นไปอีก

การตั้งค่า ก็ยังอยู่ใน XTU เหมือนเดิม อยู่ตรงนี้

การตั้งค่าก็ตรงตัวมาก นั่นก็คือ ถ้ามี Core ที่ทำงานอยู่ X Core จะให้ตัวคูณเป็น Y เท่า ทั้งนี้คงจะพอเดาได้แล้วละ ว่า 1x คือ 100MHz นะ เพราะว่า i7-8700K ความเร็วสูงสุดที่เขาโฆษณามา อยู่ที่ 4700MHz หรือ 47x100MHz หรือ 4.7GHz นั่นเอง

สำหรับการตั้งค่าตัวคุณ จากความรู้ที่เราสะสมมาในสองโพสนี้ เรารู้แล้วว่า TDP 80W ที่เราตั้งไว้ มันคือสำหรับทั้ง 6 Core (และ GPU) ใช้ร่วมกัน ดังนั้น เราก็รู้แล้วว่า เราจะตั้งตัวคูณไปเท่าไหนก็ได้ เพราะมี PL1 Limit มันไว้อยู่แล้ว เวลาที่เราใช้งานไม่เต็ม 100% มันก็จะวิ่งความเร็วสูง แล้วพอเราเกิดเปิดโปรแกรม 3D Render หรือ Export VDO จาก Premiere ขึ้นมา เดี๋ยวมันก็จะโดน Power Limit Throttling จำกัดความร้อน แล้วก็ลดความเร็วลงอัตโนมัติ

ดังนั้น เราจะบ้าบอ ตั้งไปขนาดนี้เลยก็ได้

แนะนำให้กดจาก 6 Core Active ไป มันจะเพิ่มตัวบนๆ ให้ด้วย :) ถ้าตั้งไว้แบบนี้ หมายถึง ต่อให้มี 6 Core Active มันก็จะพยายามทำความเร็วที่ 4.7GHz ไปเลย ถ้า TDP ยังไม่เกิน 80W จะเห็นว่า ช่วงต้นของ LinX มันวิ่งอยู่ 4.7GHz เลย และ TDP เกินไปหน่อยๆ

แล้วพอเราปล่อยมันรันไป ก็จะเห็นว่าความเร็วมาหยุดที่ 4.1GHz เท่ากับตอนแรกที่เราทดสอบได้จากตอนเราทำการ Power Limit Tuning รอไว้แล้ว และสังเกตว่า เวลาลดลงจาก 69 วินาที เป็น 67 วินาทีด้วย

แต่! ถ้าตั้งค่าแบบนี้ ช่วงที่มันวิ่ง 4.7GHz 6 Core พร้อมกัน มันจะมีจังหวะที่ร้อนเกินไปเกิดขึ้นได้ โดยที่ยังไม่ทันติด Power Limit แบบนี้

(สามารถกดรูปประแจที่กราฟ เพื่อแสดง Thermal Throttling ได้นะ) จะเห็นว่า ภายใน 3 นาที เกิดมาแล้ว 5 ครั้ง อาจจะทำให้หลายท่านไม่ค่อยสบายใจ

ก็แนะนำว่า ให้ไปลดตัวคูณ 6 Core Active ให้เหลือเท่ากับที่เราทดสอบได้ตอน Power Limit Tuning ก็ได้ ซึ่งสำหรับเครื่องที่ใช้ทำโพสนี้ นี้ก็จะเป็น 4.2GHz หรือ 42x เพื่อให้เกิด Thermal Throttling น้อยที่สุด อันนี้ 3 นาทีเหลือเกิด 2 ครั้ง

แน่นอนว่า ถ้าไม่อยากให้เกิดเลย จะลดตัวคูณลงหน่อยก็ได้ จาก 42 เป็น 41 เป็นต้น :D

เรียบร้อย ฟินกันยัง~

ส่วนถ้าจะตั้งความเร็ว สูงกว่า 4.7GHz อันนี้ก็จะเป็นเรื่องของดวงอีกเหมือนกันว่าได้ชิพดีแค่ไหน แต่ว่าหลังจากที่เราได้ลด Voltage (Undervolt) มาแล้ว โอกาสที่มันจะทำความเร็วสูงขึ้น จะเป็นไปได้น้อยลง เพราะความเร็วสูงขึ้น ก็จะต้องการแรงดันไฟสูงขึ้น และพอแรงดันไฟสูงขึ้น มันก็ร้อนอีก ติด Power Limit เร็วขึ้น วนไปแบบนี้แหละ

สำหรับ PC ก็ทำกลับกันคือ ตั้งความเร็วที่ต้องการเอาไว้ก่อน แล้วแทนที่จะไปลด Volt ก็ไปเพิ่ม Volt แทน โดย PL1 ก็จะเป็นคนช่วยไม่ให้ความร้อนเกินเองจ้า ส่วนถ้าเกิดว่า ความร้อนมันยังอยู่ใน PL1 จะเพิ่ม Clock ขึ้นมาอีกก็ได้

และท้ายที่สุด...

เนื่องจากว่า ปัญหาที่เรากำลังเล่นอยู่นี้ มันเป็น Optimization Problem ก็คือ เราปรับแต่งมาเพื่อการรัน Linpack (ผ่าน Linx) ซึ่งมันเป็นโปรแกรม Multi-Thread โดยเฉพาะ มันจะเกิดกรณีเรียกว่า Over-Optimized ขึ้นมา คือเราไปปรับซะเพื่ออันนี้โดยเฉพาะ ไม่เผื่ออย่างอื่นบ้างเลย

แล้วถ้าเกิดเราเอาไปรันโปรแกรม Single-Thread ละ จะเป็นยังไง? สามารถทำได้โดยการทดลองไปเปลี่ยน Affinity ของ Process Linx โดยการเปิด Task Manager ขึ้นมา แล้วคลิกขวาที่ Linx เลือก Go To Details

แล้วคลิกขวาอีกที เลือก Set Affinity จากนั้นเลือกให้มันใช้แค่ Core 0 กับ 1 (2 Thread ใน 1 Core)

จะเห็นว่า ปัญหาใหม่เกิดซะแล้ว เพราะว่า เวลาที่ 1 Core Active ตัว Package TDP นั้น ยังไม่ถึง TDP Limit ที่เราตั้งเอาไว้ แต่ความร้อนจะทะลุโลกจนติด Thermal Throttling ไปเลย

นั่นก็คือ ถ้าเกิดว่ามีโปรแกรม Single Thread ทำงานจริงๆ เต็มเหนี่ยวอยู่โปรแกรมเดียว ถึงแม้ว่ามันจะยังความร้อนโดยรวมน้อยกว่าที่ Heatsink สามารถระบายได้ (51W จาก 65W) ก็ยังมีโอกาสเกิด Thermal Throttling ได้ด้วย และส่วนนึงอาจจะเป็นเพราะว่าเราไปบังคับ Affinity เอาไว้ Windows ก็เลย Schedule งานให้เฉพาะ Core นี้ Core เดียว ถ้าเกิดว่าเราไม่ได้บังคับไว้ Scheduler อาจจะฉลาดพอที่จะส่งงานเวียนไปหลาย Core เพื่อให้ความร้อนไม่ไปกระจุกตัวที่ Core นี้ก็ได้

เหตุการณ์นี้น่าจะไม่เกิดขึ้นบ่อยนักในปัจจุบัน แต่ก็เป็นสาเหตุที่ในซีพียูต้องมีระบบป้องกัน (Throttling) ทั้งหลาย เอาไว้หลายจุดไปหมด นี่ก็เป็นอีกตัวอย่างนึงนะ แล้วถ้าเกิดว่า Cooling เราดีมากกว่านี้อีก ก็อาจจะไม่เกิด Thermal Throttling แต่ไปติด Current Limit Throttling แทน เพราะว่า CPU ก็จะเลือกแรงดันไฟสูงขึ้นมาก (จะเห็นว่า 1 Core Active แต่ Volt อยู่ที่ 1.278V ในขณะที่ 6 Core Active ใช้ 1.14V) เพื่อให้สามารถทำงานความเร็วสูงได้

ที่จะสรุปก็คือ เรื่องการ Overclock มันเป็นศิลปะมากๆ ถ้าหวังว่าเซ็ตครั้งเดียวจบเลย ก็จะยากหน่อย แต่ละงานก็จะมีความต้องการของตัวเอง เราก็ต้องมาปรับจูนเอา สำหรับโปรแกรมนั้นๆ กันเลย ถ้าจะให้รีดประสิทธิภาพออกมาได้มากที่สุด และใน XTU ก็มีระบบให้เราโหลด Profile ตามโปรแกรมที่ใช้ด้วยอีกต่างหาก ลองเปิดดูสิ :)

หวังว่าโพสนี้ คงจะช่วยให้ทุกท่าน รีดประสิทธิภาพของเครื่องมาได้มากยิ่งขึ้นนะ ขอบคุณที่ติดตามอ่านมาถึงตรงนี้ ถ้าโพสนี้ดูดีมีความรู้ ก็ฝากแชร์ให้เพื่อนๆ ที่สนใจ มาอ่านกันบ้างนะครับ :D


BLOG