ขนาดแคชหรือจำนวนคอร์สำคัญหรือไม่เมื่อชั่งน้ำหนักประสิทธิภาพของ CPU?


9

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

ฉันสังเกตเห็นว่ามีเครื่องระดับเริ่มต้นจำนวนหนึ่งที่ติดตั้งมาพร้อมกับ dual-core หรือ single-core CPU ฉันเข้าใจว่าสิ่งอื่น ๆ ที่เท่าเทียม CPU แบบดูอัลคอร์อาจทำงานได้ดีขึ้น อย่างไรก็ตามจะเกิดอะไรขึ้นถ้าคอร์เดี่ยวมีแคช L2 ที่ใหญ่กว่ามาก (กล่าวว่า 3 MB สำหรับคอร์เดี่ยวเทียบกับ 1 เมกะไบต์สำหรับคอร์คู่) ฉันรู้ว่าสิ่งนี้สามารถส่งผลกระทบต่อประสิทธิภาพได้อย่างมาก

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


2
นอกจากนี้ยังขึ้นอยู่กับสถานการณ์ของคุณกรณีใช้ ซอฟต์แวร์ที่คุณใช้อยู่ (สิ่งที่พวกเขาทำและวิธีการตั้งโปรแกรม) สามารถมีผลกระทบอย่างมากต่อสิ่งที่จะให้ประสิทธิภาพที่ดีขึ้น ตัวอย่างเช่นในอดีต Celerons ที่เร็วกว่ามักจะดีกว่าสำหรับการท่องเว็บและเกมสบาย ๆ ในขณะที่ P4s ที่ช้ากว่าจะดีกว่าสำหรับการบีบอัดและเกม 3D
Synetech

@Synetech แน่นอนว่าเขาหมายถึงแอพทั่วไปของปีนี้ + 3 ปี แอปเก่า ๆ ไม่สำคัญ
Pacerier

คำตอบ:


12

CPU Cache

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

ขนาดแคช CPU เทียบกับอัตราพลาด

จากกราฟด้านบนเราจะเห็นได้ว่าเมื่อขนาดแคชมากกว่า 1 MB ความน่าจะเป็นที่จะพลาดแคชนั้นต่ำมากแล้วและแสดงผลตอบแทนลดลงเมื่อขนาดแคชเพิ่มขึ้น

ซีพียูคอร์

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

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

...


นั่นคือสิ่งที่ฉันคิดว่ามากหรือน้อย ... แต่ฉันไม่แน่ใจว่าคุณจะได้รับผลตอบแทนจากการลดขนาดแคชอย่างไร ขอบคุณ!
เดวิด

เป็นฉันหรือเป็นแกน X ของกราฟค่อนข้างผิด? 4-1 = 3; 16-4 = 12; 64-16 = 48 ฯลฯ แต่ทั้งหมดแสดงด้วยระยะทางเดียวกัน แต่ฉันเดาว่าข้อมูลที่แสดงในกราฟยังคงถูกต้องใช่ไหม? ยังตระหนักว่าแกน Y มีสิ่งนี้เช่นกัน
Utku

@Utku ทั้งแกน x และแกน y ใช้เครื่องชั่งลอการิทึมโดยมีแกน x ใช้ฐาน -2 และแกน y ใช้ฐาน -10
Breakthrough

6

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


3

ตัวเลือกที่เหมาะสม (ความจุแคชแบบดูอัลคอร์เทียบกับความสามารถพิเศษ) ขึ้นอยู่กับแอปพลิเคชันเป้าหมายที่จะเรียกใช้บนแล็ปท็อป

โปรเซสเซอร์ Dual Core ในทางทฤษฎีจะลดเวลาในการดำเนินการลงครึ่งหนึ่งเมื่อเทียบกับโปรเซสเซอร์แกนเดียว อย่างไรก็ตามในทางปฏิบัติการเพิ่มความเร็วของ 2x นั้นทำได้ยากเนื่องจากความท้าทายในการเขียนแอปพลิเคชันแบบขนาน กฎหมาย(ลิงก์)ของ Amdahl แสดงให้เห็นว่าแม้ว่าแอปพลิเคชั่นจะมี 90% ของการประมวลผลแบบขนานอย่างสมบูรณ์ การเร่งความเร็วจากคอร์ที่สองจะลดลงเฉพาะแอปพลิเคชันที่ไม่ได้ใช้งานในลักษณะที่ปรับขนาดได้

ความจุแคช L2 ที่มากขึ้นจะลดอัตราการพลาดในแคชดังแสดงในคำตอบโดย @Breakthrough อย่างไรก็ตามคำตอบดึงข้อสรุปที่ไม่ถูกต้องจากพล็อตที่ความจุแคชเกิน 1MB จะให้การปรับปรุงเล็กน้อย จุดผลตอบแทนที่ลดลงจะขึ้นอยู่กับแอปพลิเคชัน (โดยเฉพาะลิงก์ขนาดชุดการทำงาน) ของแอปพลิเคชัน แอปพลิเคชันส่วนใหญ่มีแนวโน้มที่จะมีขนาดชุดการทำงานที่เกิน 1MB ดังนั้นแคชที่ใหญ่กว่าจะช่วยปรับปรุงประสิทธิภาพโดยการหลีกเลี่ยงการเข้าถึง DRAM แบบหน่วงเวลานาน

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


2

เป็นการยากที่จะเปรียบเทียบ AMD และ Intel 2GHz dual core AMD นั้นไม่เหมือนกับ Intel 2GHz dual core

นี่คือมาตรฐานสำหรับทั้งคู่

http://www.cpubenchmark.net/cpu_lookup.php?cpu=Intel+Celeron+925+%40+2.30GHz

http://www.cpubenchmark.net/cpu_lookup.php?cpu=AMD+C-50

ทีนี้ลองคิดดูว่าตัวเลขจำนวนมากดีหรือไม่ดี


1

ฉันอยากจะแนะนำเครื่องดูอัลคอร์มากกว่าแกนเดี่ยว

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


0

ขนาดแคชมีความสำคัญเนื่องจากช่วยลดโอกาสในการพลาดแคช Cache miss 'มีราคาแพงเนื่องจาก CPU ต้องไปที่หน่วยความจำหลักเพื่อเข้าถึงที่อยู่หน่วยความจำซึ่งใช้เวลานานกว่าและทำให้คอมพิวเตอร์ช้าลง

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

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.