คอร์ CPU: ยิ่งดีกว่า


69

ขณะนี้ฉันมีโปรเซสเซอร์แบบดูอัลคอร์ในที่ทำงานและเป็นแบบ quad-core ที่บ้าน ฉันสังเกตว่าพีซีทั้งสองเครื่องนั้นค่อนข้างเท่ากันกับการเปิดแอปพลิเคชั่น / ท่องเว็บ

ความแตกต่างที่ฉันเห็นคือ dual-core ของฉันคือ 2.8GHz และ quad-core ของฉันคือ 2.4GHz

จะดีกว่าไหมถ้ามี dual-core ที่มีความเร็วสัญญาณนาฬิกาที่รวดเร็วหรือ quad-core ที่มีความเร็วสัญญาณนาฬิกาปานกลาง?


5
'เร็ว' และ 'ปานกลาง' สัมพันธ์กัน ในกรณีของคุณควอดคอร์จะดีกว่าเพราะความแตกต่างของความเร็วสัญญาณนาฬิกาเพียง 400 MHz อย่างไรก็ตาม dual-core 3 GHz นั้นดีกว่า quad-core 1.5 GHz ส่วนใหญ่
Sasha Chedygov

อย่าใช้ GHz เพื่อเปรียบเทียบโปรเซสเซอร์ใช้ผลการทดสอบความเร็ว / โหลดเพื่อเปรียบเทียบความเร็วที่มีประสิทธิภาพของโปรเซสเซอร์ โปรเซสเซอร์ Dual Core 3GHz อาจช้ากว่า 2,4 GHz i7 (i7 ไม่มี front bus, ... ) ...
Ben

2
@Ben ควรจะชัดเจนว่ามันจะเป็นสถาปัตยกรรมโปรเซสเซอร์เดียวกัน (เช่น 45nm Core 2 Duo กับ Quad)
Mircea Chirea

คำตอบ:


53

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


ปัญหาหลักของคุณคือซอฟต์แวร์ที่ไม่ได้เขียนขึ้นสำหรับมัลติคอร์

ดูบทความที่ยอดเยี่ยมของ Jeff Atwood เกี่ยวกับการเลือกดูอัลคอร์หรือควอดคอร์

สำหรับซอฟต์แวร์ส่วนใหญ่คุณจะพบว่าจุดลดลงจะส่งกลับอย่างรวดเร็วหลังจากสองคอร์ ในQuad-Core เดสก์ท็อปและ Diminishing Returnฉันถามว่าซอฟต์แวร์ของวันนี้มีประสิทธิภาพมากเพียงใดสามารถใช้ CPU สี่คอร์ได้ซึ่งน้อยกว่าคอร์ที่แปดและสิบหกอย่างแน่นอนซึ่งเราจะเห็นในอีกไม่กี่ปีข้างหน้า

คุณได้รับคำตอบที่นี่ (ไฮไลท์คัดลอกมาจากบทความของ Jeff)

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


ปัญหาของFront-Side Bus (คำนั้นทำให้ฉันสนุกอยู่เสมอ)
เมื่อสิ่งต่าง ๆ ของ Nehalem เปลี่ยนไป ... ตามที่ ArsTechnica กล่าวเมื่อปีที่แล้ว

กฎของมัวร์ทำให้ผู้ออกแบบโปรเซสเซอร์รู้สึกอับอายของความร่ำรวยของทรานซิสเตอร์และไม่มีที่ไหนที่จะชัดเจนกว่าในโปรเซสเซอร์ Nehalem 45nm ของ Intel Nehalem เปิดตัวรุ่น 4 และ 8 คอร์ในปลายปีนี้ Nehalem บรรจุฮาร์ดแวร์จำนวนหนึ่งไว้ในซ็อกเก็ตตัวประมวลผลเดียว (ตัวเลขเริ่มแรกทำให้จำนวนทรานซิสเตอร์ของ Nehalem quad-core ที่ 781 ล้าน; ยังไม่มีตัวเลขสำหรับรุ่น 8-core ปรากฏขึ้น) แต่การพยายามป้อนฮาร์ดแวร์ทั้งหมดด้วยสถาปัตยกรรม frontside bus ที่มีอยู่ของแพลตฟอร์ม Intel จะเป็นความเขลา ดังนั้นที่สำคัญเช่นเดียวกับ Nehalem ก็ได้ยินเสียงฆังมรณะที่ค้างชำระนานสำหรับสถาปัตยกรรมบัส frontside สำหรับผู้สูงอายุของ Intel

การเปลี่ยนแปลงที่รุนแรงในสถานการณ์แบนด์วิดท์ระบบของ Intel ที่QuickPath Interconnect (QPI) ใหม่ของ Intel นั้นอาจจะเป็นปัจจัยเดียวที่ใหญ่ที่สุดที่หล่อหลอมการออกแบบของ Nehalem ระหว่าง QuickPath และตัวควบคุมหน่วยความจำรวมของ Nehalem โปรเซสเซอร์ Nehalem จะสามารถเข้าถึงแบนด์วิดธ์รวมที่ไม่เคยมีมาก่อนจำนวนมากโดยเฉพาะอย่างยิ่งในการใช้งานสองและสี่ซ็อกเก็ต

AMD ได้ย้ายตัวควบคุมหน่วยความจำไปยังโปรเซสเซอร์ก่อนหน้านี้และใช้ Hypertransport


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

1
ใน 8 ปีนับตั้งแต่คำถามนี้เปิดขึ้นในปี 2009 สิ่งต่าง ๆ ก็เปลี่ยนไป ตอนนี้ซอฟแวร์ดีกว่ามากในการใช้ประโยชน์จากคอร์หลายแกนและแนวโน้มนี้จะดำเนินต่อไปเท่านั้น
Contango

1
@Contango เห็นด้วยคำตอบนี้จำเป็นต้องได้รับการปรับปรุงเพื่อให้สอดคล้องกับแนวโน้มในปัจจุบัน

18

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

แต่สองถึงสี่ สำหรับคน 99% จะไม่สร้างความแตกต่าง คุณจะต้องใช้งานโปรแกรมจำนวนมากในครั้งเดียวหรือใช้โปรแกรมที่สามารถใช้ประโยชน์จากคอร์มากกว่า 2 คอร์ (และในความเป็นจริงมีจำนวนไม่มากนัก) สื่อเข้ารหัสบางตัวต้องนึกถึงฤดูใบไม้ผลิ

นอกจากนี้ยังมีความแตกต่างระหว่าง Intel Core 2s และ AMD Phenoms ในเรื่องนี้ AMD ใช้ Hypertransport ซึ่งเป็นโปรโตคอลแบบจุดต่อจุดดังนั้นแต่ละคอร์จึงมีแบนด์วิดท์เฉพาะ Intel Core 2s (แต่ไม่ใช่ Core i7s และ CPU ที่ใช้ Niehalem อื่น ๆ ) ใช้บัสด้านหน้าซึ่งเป็นแบนด์วิดท์ที่ใช้ร่วมกันเพื่อให้คุณมีคอร์มากขึ้นแข่งขันกับแบนด์วิดท์เดียวกัน

สิ่งนี้อาจทำให้ quad core ของนาฬิกาเดียวกัน (เล็กน้อย) ช้าลงในบางสถานการณ์ ความคุ้มค่าเงินยังคงอยู่กับคู่คอร์ IMHO ที่ถูกกล่าวว่าฉันมีแกนรูปสี่เหลี่ยม


1
Nehalem ใช้ QPI (QuickPathInterconnect) ซึ่งอยู่ในสวนสาธารณะเดียวกันกับ Hypertransport
nik

10

ฉันชอบที่Donald Knuth สรุปรวม :

สำหรับฉันดูเหมือนว่านักออกแบบฮาร์ดแวร์จะหมดความคิดไปแล้วและพวกเขากำลังพยายามที่จะส่งความผิดสำหรับการตายในอนาคตของกฎของมัวร์ต่อผู้เขียนซอฟต์แวร์โดยการให้เครื่องจักรที่ทำงานเร็วขึ้นเพียงไม่กี่ข้อ เกณฑ์มาตรฐานที่สำคัญ! ฉันจะไม่แปลกใจเลยถ้าแนวคิดมัลติเธรดทั้งหมดกลายเป็นฟลอพแย่กว่าแนวทาง "Itanium" ที่ควรจะยอดเยี่ยมมาก - จนกว่ามันจะปรากฎว่าคอมไพเลอร์ที่ปรารถนานั้นเป็นไปไม่ได้ที่จะเขียน .

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

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


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

3
นี่คือหนึ่งในสถานที่เหล่านั้นที่ใจของฉันไปหา Knuth แต่ใจของฉันไม่เห็นด้วยเลย
nik

5

สำหรับเดสก์ท็อปหลักที่นายจ้างของฉันฉันใช้เครื่อง Xeon ดูอัลคอร์คอร์ที่มี RAM 8 GB

เมื่อฉันกำลังเขียนโปรแกรมและฉันมี Internet Explorer, Chrome, TweetDeck, Visual Studio 2008 (หรือ 2010) และอินสแตนซ์ของ Sql Server Express ในพื้นที่ ... ทุกอย่างพร้อมไปด้วยดี

ก่อนหน้านี้ฉันมีดูอัลคอร์แล้วสิ่งต่างๆก็เริ่มคลานด้วย Visual Studio, Chrome และ Sql Express ที่กำลังทำงานอยู่

มันเป็นเรื่องของสิ่งที่คุณทำกับเครื่อง หากคุณเป็นผู้ใช้ระดับสูงที่จะทำการตัดต่อวิดีโอการสร้างแบบจำลอง 3 มิติหรือการเขียนโปรแกรมด้วยแหล่งข้อมูลที่สำคัญ .. ถ้าใช่คุณจะต้องการ quad-core และ RAM จำนวนมาก


1

สำหรับการใช้งานในชีวิตประจำวันและโปรแกรมที่ไม่ได้ปรับให้เหมาะสมแบบมัลติคอร์ dual-core ที่รวดเร็วจะเอาชนะ quad-core ที่ช้ากว่า

เมื่อเวลาผ่านไปและแอพที่มีหลายเธรดอย่างถูกต้องจะกลายเป็นควอดคอร์แบบปกติจะดึงไปข้างหน้า

จากมุมมองของเจ้าชู้สองคอร์ยังคงเป็นผู้นำที่สะดวกสบาย


1

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


1

โปรดทราบว่าโปรเซสเซอร์ i7 ล่าสุดสามารถเพิ่มความเร็วสัญญาณนาฬิกาบนแกนประมวลผลที่ใช้งานได้จริงเมื่อไม่ต้องการทั้งหมด ตัวอย่างเช่นหากคุณมี quad-core ที่ 2.4 GHz แต่ซอฟต์แวร์ต้องการเพียง 2 คอร์ในการรันดังนั้นซอฟต์แวร์อาจได้รับการโอเวอร์คล็อกได้ถึง 2.8GHz โดยอัตโนมัติ (ไม่ใช่รูปที่แท้จริงเป็นเพียงตัวอย่าง)

และรุ่นล่าสุดของ i7 ฉันคิดว่าสามารถโอเวอร์คล็อกได้ 3 หรือ 4 ถังหากจำเป็นต้องใช้หนึ่งหรือสองแกนเท่านั้น ด้วยเหตุนี้มันจึงอาจไม่ได้รับผลกระทบมากนักเนื่องจากปัจจุบัน ...


1

ตามAnandtech.com :

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

ที่ TDP ที่สูงกว่ามักจะมีห้อง headroom ความร้อนเพียงพอที่จะเรียกใช้คอร์แต่ละตัวที่ค่อนข้างสูง ที่ TDP ที่ต่ำกว่าผู้ผลิตซีพียูต้องทำการแลกเปลี่ยนระหว่างจำนวนคอร์และความเร็วนาฬิกา - นั่นคือสิ่งที่เราสามารถสนุกได้

ทั้งหมดนี้อยู่ในบริบทของการเลือกระหว่างคอร์ (หรือเธรด) และความถี่หลัก


สิ่งนี้จะเกี่ยวข้องกับการโอเวอร์คล็อกมากขึ้นหรือไม่? บทความที่ดีอยู่แล้ว
nik

0

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

นี่เป็นความสัมพันธ์ทั้งหมดแม้ว่าในขณะที่ quad-core ทำงานที่ 100 Mhz จะไม่ทำงานแบบ dual-core 4 Ghz โดยทั่วไปการพูดแม้ว่าแกนยิ่งดี


คุณกำลังสมมติว่าแอปพลิเคชันที่สามารถทำงานกับสองคอร์นั้นจะสามารถใช้ประโยชน์จากคอร์สี่แกนได้เช่นกัน นั่นไม่จริงเสมอไป
nik

@nik ไม่ฉันไม่ได้ระบุว่าแอพแบบมัลติเธรดจะทำงานได้ดีกว่าในสถาปัตยกรรมแบบมัลติคอร์ ฉันไม่ได้ระบุอะไรเกี่ยวกับการได้สัดส่วนตามจำนวนแกนที่คุณมี
โจเซฟ

0

ขึ้นอยู่กับสิ่งที่คุณกำลังทำและความสามารถของระบบปฏิบัติการและแอปพลิเคชันของคุณ

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

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


0

หากคุณทำการเข้ารหัสวิดีโอการเรนเดอร์ 3d หรือการสร้างซอร์สโค้ดจำนวนมากก็จะยิ่งดีขึ้น คุณจะเห็นความแตกต่างที่ชัดเจนเกี่ยวกับประสิทธิภาพของแอปพลิเคชั่นประเภทนี้เมื่อคุณเลื่อนจาก 1 ถึง 2 เป็น 4 ถึง 8 แกน

มิฉะนั้นการเรียกใช้แอปพลิเคชันมาตรฐานจะไม่ได้รับประโยชน์จากคอร์มากขึ้น แม้กระทั่งเกมจะไม่ใช้ประโยชน์จากหลายคอร์มากนัก IMO คุณจะดีกว่าที่จะใช้จ่ายเงินกับกราฟิกการ์ดที่ดีกว่า


0

ขึ้นอยู่กับ

เป็นอย่างมาก

คุณสามารถค้นหา quad-core ได้อย่างง่ายดายโดยใช้เพียงสองคอร์ ส่วนนี้เกี่ยวข้องกับระบบปฏิบัติการและการออกแบบซอฟต์แวร์ ยิ่งไปกว่านั้นพวกเขายังคงแบ่งปันทุกอย่างโดยเฉพาะอย่างยิ่งหน่วยความจำดิสก์และอุปกรณ์

คุณรู้ว่าระบบปฏิบัติการจะไม่บู๊ต (อย่างเห็นได้ชัด) เร็วขึ้นและหน้าเว็บจะไม่ดาวน์โหลดเร็วขึ้น (อาจทำได้เร็วกว่า)

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