Hyperthreading คืออะไรและทำไมคุณควรสนใจ


สมมติว่าคุณกำลังมองหาซื้อโปรเซสเซอร์ใหม่และคุณต้องตัดสินใจเลือกผลิตภัณฑ์สองอย่างที่เหมือนกันบนกระดาษ แต่หนึ่งในนั้นมีคุณสมบัติที่เรียกว่า การทำไฮเปอร์เธรดและ อื่น ๆ ไม่ได้

การไฮเปอร์เธรดอย่างชัดเจนเป็นสิ่งที่ดีเพราะคุณต้องจ่ายเพิ่มสำหรับมัน แต่สิ่งที่ต้องทำคืออะไร ที่สำคัญที่สุดคือ คุณที่ควรใส่ใจใช่ไหม ในการตอบคำถามที่เผาไหม้เหล่านี้เราต้องหลีกเลี่ยงวิธีการที่ CPU ทำสิ่งเหล่านี้

<รูป class = "lazy aligncenter">

พลังงานไม่ จำกัด !

แม้ว่าคุณจะไม่สนใจรายละเอียดด้านเทคนิคของเทคโนโลยีคอมพิวเตอร์ทั้งหมดก็ตามคุณอาจเคยได้ยิน กฎของมัวร์ ก่อนหน้า มันไม่ใช่กฎธรรมชาติจริงๆ แต่การสังเกตว่าส่วนประกอบพื้นฐานของวงจรรวมนั้นมีความหนาแน่นเป็นสองเท่าทุกสองปีหรือมากกว่านั้น

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

<รูป class = "lazy aligncenter">

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

ปัญหาคือไม่ว่าตัวประมวลผลจะทำงานเร็วแค่ไหน สิ่งที่เราเห็นว่าเป็น "มัลติทาสกิ้ง" จริงๆแล้วตัวประมวลผลกระโดดอย่างรวดเร็วระหว่างงานที่แตกต่างกันหลายพันงาน ไม่กี่ปีที่ผ่านมาเราเริ่มตีกำแพงอิฐสองสามก้อนเมื่อมันมาถึงการทำให้โปรเซสเซอร์ตัวเดียวเร็วขึ้นและเร็วขึ้น

ดังนั้นหนึ่งในวิธีการแก้ปัญหาคือการใส่ CPU มากกว่าหนึ่งตัวในโปรเซสเซอร์ทุกตัวเพื่อให้งานต่างๆสามารถแบ่งได้ระหว่างกัน วันนี้ซีพียู quad-core นั้นเป็นโครงร่างหลักค่อนข้างมาก

Hyperthreading(HT) เป็นชื่อของ Intel สำหรับ มัลติเธรดพร้อมกันโดยทั่วไปหมายความว่า CPU แกนหนึ่งสามารถทำงานกับปัญหาที่สองในเวลาเดียวกัน ไม่ได้หมายความว่า CPU สามารถทำงานได้มากเป็นสองเท่า เพียงแค่มันสามารถมั่นใจได้ว่าความสามารถทั้งหมดของมันถูกใช้โดยการจัดการกับปัญหาที่ง่ายกว่าหลายอย่างพร้อมกัน

สำหรับระบบปฏิบัติการของคุณแกนซิลิกอนซีพียูแต่ละตัวจะมีลักษณะเหมือนกันสองตัวดังนั้นฟีดแต่ละตัวจะทำงานเหมือนกับแยกออก เนื่องจากสิ่งที่ CPU ไม่เพียงพอที่จะทำงานให้ได้มากที่สุด HT ทำให้แน่ใจว่าคุณได้รับเงินจากชิปนั้น

<รูปที่ class = "lazy aligncenter">

ใครควรสนใจการทำไฮเปอร์เธรดหรือไม่

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

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

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

<รูป class = "lazy aligncenter">

หากซอฟต์แวร์ที่คุณต้องการเรียกใช้ไม่ได้เพิ่มจำนวนเธรดเพื่อใช้คอร์เสมือน HT คุณจะเห็นการทำงานที่ไม่เปลี่ยนทิศทางอย่างแท้จริง

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

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

The Big Gaming Question

วิดีโอเกมเป็นอีกแอปพลิเคชั่นหลักที่ค่อนข้างไม่แยแส ถึง Hyperthreading ในขณะที่เขียนในปีพ. ศ. 2562 เอ็นจิ้นวิดีโอเกมล่าสุดเริ่มมีจำนวนเธรดมากขึ้นซึ่งหมายความว่าซีพียูที่ทำงานด้วย HT จะทำงานได้ดีขึ้น ชื่อที่เก่ากว่าจะไม่ได้เปรียบอะไรเลยยกเว้นเกมประเภทจำลองสองสามเกมที่ใช้ AI หรือกระบวนการ CPU เป็นศูนย์กลางอื่น ๆ อย่างหนัก

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

คำตอบง่ายๆ

หวังว่าคำอธิบายข้างต้นจะชัดเจนเพียงพอ แต่ลองแบ่งมันเป็นบรรทัดล่าง:

  • หากคุณเป็นมืออาชีพงานด้ายหนักการทำไฮเปอร์เธรดสำคัญ
  • หากคุณเป็นผู้ใช้หลักอย่ากังวล!
  • หากคุณเป็น นักเล่นเกมจัดลำดับความสำคัญมีแกนในการสร้าง HT ครั้งต่อไปของคุณ แต่รับ HT เพิ่มเติมหากราคาถูก
  • การทำไฮเปอร์เธรดเป็นเทคโนโลยีที่ยอดเยี่ยม ตอนนี้คุณควรรู้ว่า "ใครบางคน" เป็นคุณหรือไม่!

    CPU MHz vs CPU Core/Thread อะไรสำคัญกว่ากัน ? : Get Smart by TT EP#34

    กระทู้ที่เกี่ยวข้อง:


    26.07.2019