ทำไมโปรเซสเซอร์รุ่นใหม่ถึงเร็วกว่าด้วยความเร็วสัญญาณนาฬิกาเท่ากัน?
คุณอาจสงสัยว่าตัวประมวลผลรุ่นใหม่จะสามารถทำงานได้เร็วขึ้นด้วยความเร็วสัญญาณนาฬิกาเท่ากับตัวประมวลผลรุ่นเก่าอย่างไร มันเป็นเพียงการเปลี่ยนแปลงในสถาปัตยกรรมทางกายภาพหรือเป็นอะไรเพิ่มเติมหรือไม่ บทความถามตอบ SuperUser ในวันนี้มีคำตอบสำหรับคำถามของผู้อ่านที่อยากรู้อยากเห็น.
เซสชั่นคำถามและคำตอบในวันนี้มาถึงเราด้วยความอนุเคราะห์จาก SuperUser - แผนกย่อยของ Exchange Exchange ซึ่งเป็นกลุ่มที่ขับเคลื่อนด้วยชุมชนของเว็บไซต์ถาม - ตอบ.
ภาพถ่ายมารยาทของ Rodrigo Senna (Flickr).
คำถาม
SuperUser reader agz ต้องการทราบว่าทำไมโปรเซสเซอร์รุ่นใหม่ถึงเร็วกว่าด้วยความเร็วสัญญาณนาฬิกาเดียวกัน:
ยกตัวอย่างเช่นทำไม Core i5 แบบดูอัลคอร์ 2.66 GHz จะเร็วกว่า 2.66 GHz Core 2 Duo ซึ่งเป็นอัลคอร์ด้วยเช่นกัน?
เป็นเพราะคำแนะนำใหม่ที่สามารถประมวลผลข้อมูลในรอบสัญญาณนาฬิกาน้อยลงหรือไม่ การเปลี่ยนแปลงทางสถาปัตยกรรมอื่นใดที่เกี่ยวข้อง?
ทำไมโปรเซสเซอร์รุ่นใหม่ถึงเร็วกว่าด้วยความเร็วสัญญาณนาฬิกาเดียวกัน?
คำตอบ
ผู้มีส่วนร่วม SuperUser David Schwartz และ Breakthrough มีคำตอบสำหรับเรา มาก่อน David Schwartz:
โดยปกติไม่ใช่เพราะคำแนะนำที่ใหม่กว่า เป็นเพียงเพราะโปรเซสเซอร์ต้องการรอบการเรียนการสอนที่น้อยลงเพื่อดำเนินการคำสั่งเดียวกัน นี่อาจเป็นเพราะเหตุผลหลายประการ:
- แคชที่มีขนาดใหญ่หมายถึงการเสียเวลาน้อยกว่าการรอความทรงจำ.
- หน่วยดำเนินการเพิ่มเติมหมายถึงการรอเวลาน้อยลงในการเริ่มต้นใช้งานคำสั่ง.
- การคาดคะเนสาขาที่ดีขึ้นหมายถึงใช้เวลาน้อยลงโดยไม่ต้องดำเนินการตามคำสั่งที่ไม่จำเป็นต้องดำเนินการจริง.
- การปรับปรุงหน่วยการดำเนินการหมายถึงใช้เวลาน้อยลงในการรอคำแนะนำให้เสร็จสมบูรณ์.
- ท่อที่สั้นกว่าหมายความว่าท่อจะเต็มเร็วขึ้น.
และอื่น ๆ.
ตามด้วยคำตอบจากการพัฒนา:
การอ้างอิงที่ชัดเจนที่สุดคือคู่มือนักพัฒนาซอฟต์แวร์สถาปัตยกรรมซอฟต์แวร์ Intel 64 และ IA-32 พวกเขามีรายละเอียดการเปลี่ยนแปลงระหว่างสถาปัตยกรรมและพวกเขาเป็นทรัพยากรที่ดีในการเข้าใจสถาปัตยกรรม x86.
ฉันขอแนะนำให้คุณดาวน์โหลดไดรฟ์ข้อมูลที่รวมกัน 1 ถึง 3C (ลิงก์ดาวน์โหลดแรกในหน้าเว็บที่ลิงก์ด้านบน) เล่มที่ 1 บทที่ 2.2 มีข้อมูลที่คุณต้องการ.
ความแตกต่างทั่วไปบางส่วนที่ระบุไว้ในบทนั้นเปลี่ยนจากสถาปัตยกรรมหลักไปเป็นสถาปัตยกรรมเล็ก Nehalem / Sandy Bridge คือ:
- ปรับปรุงการทำนายสาขาการฟื้นตัวที่รวดเร็วจากการคาดคะเนผิดพลาด
- เทคโนโลยี HyperThreading
- คอนโทรลเลอร์หน่วยความจำในตัว, ลำดับชั้นแคชใหม่
- การจัดการข้อยกเว้นจุดลอยตัวที่เร็วขึ้น (เฉพาะ Sandy Bridge)
- การปรับปรุงแบนด์วิดท์ของ LEA (Sandy Bridge เท่านั้น)
- ส่วนขยายคำสั่ง AVX (Sandy Bridge เท่านั้น)
รายการทั้งหมดสามารถพบได้ในลิงค์ที่ให้ไว้ด้านบน (เล่มที่ 1 บทที่ 2.2).
อย่าลืมอ่านการสนทนาที่น่าสนใจนี้ผ่านลิงค์ด้านล่าง!
มีสิ่งที่จะเพิ่มคำอธิบายหรือไม่ ปิดเสียงในความคิดเห็น ต้องการอ่านคำตอบเพิ่มเติมจากผู้ใช้ Stack Exchange คนอื่นหรือไม่ ลองอ่านหัวข้อสนทนาเต็มได้ที่นี่.