การนับจำนวนแกนที่สูงขึ้นหรือความเร็วสัญญาณนาฬิกาที่สูงกว่ามีประโยชน์ต่อประสิทธิภาพของคอมพิวเตอร์หรือไม่ [ปิด]


16

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

ฉันจำได้เพียงไม่กี่ปีก่อนฉันมีโปรเซสเซอร์ Pentium 4 แบบ single-core ที่รวดเร็ว กรอไปข้างหน้าถึงวันนี้และฉันไม่คิดว่าคุณจะสามารถซื้อโปรเซสเซอร์แบบ Single-Core ได้ (ไม่ต้องพูดถึงการเพิ่มขึ้นของตัวประมวลผลแบบมัลติคอร์แม้ในโทรศัพท์มือถือ ) สิ่งที่กำลังเกิดขึ้นเราอาจพบคอมพิวเตอร์ที่มีคอร์หลายร้อยแกนในเวลาไม่กี่ปี (และฉันรู้ว่าระบบปฏิบัติการหลายระบบรองรับแล้ว)

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

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


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


9
ทุกอย่างขึ้นอยู่กับสิ่งที่คุณต้องการทำบนคอมพิวเตอร์เครื่องนั้น หลายแกนดีสำหรับบางสิ่งความเร็วนาฬิกาสูงขึ้นสำหรับคนอื่น
ChrisF

@ChrisF ฉันรู้คำตอบเป็นการส่วนตัว แต่ฉันขอสิ่งนี้ด้วยเหตุผลสองประการ สิ่งแรกคือการมีข้อมูลนี้ในเว็บไซต์ (ฉันเพิ่งเห็นมันถามเกี่ยวกับโปรเซสเซอร์แบบ dual หรือ quad core) และประการที่สองคือการพยายามให้ความคิดแก่ผู้คนเกี่ยวกับสิ่งที่จะมา "ในอนาคต" และเพื่อ แสดงให้เห็นว่าการใช้งานของทั้งสองด้านของสมการ
พัฒนา

1
ที่เกี่ยวข้อง: แกน CPU: ยิ่งดีกว่า
slhck

3
ฉันจะบอกว่าในขณะที่นี่เป็นคำถามที่ดีสำหรับการพูดคุยในขณะที่มีไพน์ แต่ก็ไม่ใช่คำถามสแต็คแลกเปลี่ยนที่ดี
EBGreen

1
มีตัวแปรมากเกินไปสิ่งที่ ifs และพารามิเตอร์อื่น ๆ + การเปลี่ยนแปลงเทคโนโลยีอย่างต่อเนื่องเพื่อพัฒนาคำตอบสั้น ๆ ที่จะเกี่ยวข้องกับช่วงเวลาที่กำหนด นี่เป็นหัวข้อที่น่าสนใจสำหรับฟอรัมหรือบล็อก แต่ไม่ใช่สิ่งที่จะตรึงไว้ในฐานะ 'คำตอบ' ฉันโหวตให้ปิดเพราะเหตุนี้ดังนั้นให้ลุกเป็นไฟเริ่ม !!!
Linker3000

คำตอบ:


12

มีสถานการณ์พื้นฐานสองสถานการณ์ที่ต้องพิจารณา:

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

  2. โปรเซสเซอร์ใช้สำหรับหลาย ๆ โปรแกรมที่ทำงานในเวลาเดียวกัน

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

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

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


* มีบางโปรแกรมและหวังว่าจะมีอีกไม่นานที่จะถูกสร้างขึ้นซึ่งสามารถใช้หลายคอร์พร้อมกันได้ อนาคตของซอฟต์แวร์พบได้ใน " Parallel Programming ":

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

- Intel


คำตอบที่ดีที่สุดที่ฉันเคยเห็น +1 คุณรู้หรือไม่ว่าเป็นไปได้ที่จะเพิ่มความเร็วในการเข้ารหัส / ถอดรหัสด้วยอัลกอริธึมแบบขนานบางอย่าง (หรือสิ่งนั้นมีอยู่จริง)?
พัฒนา

2

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

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

Intel อนุญาตให้คุณใช้แกนพลังงานตามความต้องการ แม้ว่าจะไม่ดีเท่าไม่มีแกนนอน แต่การมีตัวเลือกในการใช้แกนเพิ่มเติมช่วยให้คุณมีความยืดหยุ่นในการรันแอพพลิเคชั่นเพิ่มเติมจากแพลตฟอร์มฮาร์ดแวร์เดียวกัน


2

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

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

อย่างไรก็ตามคุณได้ลืมหนึ่งในงานที่พบบ่อยที่สุดในคอมพิวเตอร์ในวันนี้: การเรียกดู เบราว์เซอร์ยอดนิยมหลายตัวเปิดแต่ละแท็บในกระบวนการที่แยกต่างหาก (Chrome เป็นสิ่งเดียวที่ฉันมั่นใจว่าทำเพราะมันเป็นสิ่งที่ฉันใช้) ซึ่งหมายความว่าหากคุณมีสี่แท็บที่เปิดอยู่บนระบบ quad-core หน้าต่างการเรียกดูแต่ละหน้าต่างสามารถ (ในทางทฤษฎี) มีแกน "เป็นของตัวเอง" (ไม่สนใจเธรดและเนื้อหาของระบบปฏิบัติการ) และเร็วพอ ๆ กับที่ไม่มีแท็บ / หน้าต่างเบราว์เซอร์อื่นเปิดอยู่ สำหรับผู้ที่เรียกดูด้วยแท็บหลายแท็บที่เปิดอยู่ในคราวนี้เป็นการปรับปรุงประสิทธิภาพอย่างจริงจังโดยไม่ต้องสร้างคอร์ CPU ที่เร็วมาก

กุญแจสำคัญในการรู้ไม่ว่าจะเป็นระบบแบบ multi-core กับแกนช้าจะเร็วกว่าระบบแบบ single-core มีแกนรวดเร็วรู้ว่าถ้าคุณจะทำสิ่งต่างๆมากมายที่แตกต่างกันไปพร้อม ๆ กันหรือน้อย แต่หนักสิ่ง เช่นนี้จะแตกต่างกันมากจากผู้ใช้กับผู้ใช้ดังนั้นคำตอบสำหรับคำถามของคุณจะ


คำตอบอื่น ๆ ให้คะแนนสองประเด็นที่สำคัญเช่นกัน:

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

+1 สำหรับการวางความคิดบางอย่างในและจริงขึ้นมาพร้อมกับคำอธิบาย แต่ผมอยากจะชี้ให้เห็นสิ่งหนึ่งที่: ใช่เบราว์เซอร์บางใส่แต่ละแท็บในการแยกกระบวนการแต่ที่ทำเพียงแค่ในกรณีที่เกิดความผิดพลาดในกระบวนการ เบราว์เซอร์ส่วนใหญ่ที่ทำงานน้อยที่สุดในแต่ละแท็บในเธรดแยกต่างหากและระบบปฏิบัติการมีความสามารถในการรันหลายเธรด (จากกระบวนการเดียวกัน) บนแกนที่ต่างกัน
พัฒนา

IE 9 ทำวิธีการหลายขั้นตอน อย่างไรก็ตามฉันเชื่อว่าพวกเขาใช้จำนวนกระบวนการที่กำหนดและเพียงแค่แบ่งปันแท็บทั้งหมดระหว่างกระบวนการเหล่านั้น มันส่งผลให้กระบวนการที่น้อยกว่า Chrome สามารถจบลงได้ในขณะที่ยังคงหมายความว่าคุณจะสูญเสียแท็บเพียงไม่กี่แท็บหากทุกอย่างมาลงในกองเดียวที่ Redmond
music2myear

โอ้และขึ้นอยู่กับซอฟต์แวร์ด้วย ในขณะที่ระบบปฏิบัติการโดยทั่วไปสามารถจัดการการจัดการปริมาณการใช้งานและส่งเธรดที่รอคอยไปยังแกนที่มีอยู่ (ภาพทางจิตของ match.com ที่เกิดขึ้นภายในซิลิคอน grotty ของฉัน), โปรแกรมที่มีหลายเธรดตัวเอง (ผลิตภัณฑ์ Adobe Creative Suite และอื่น ๆ เครื่องมือพัฒนามัลติมีเดียที่ทันสมัย) จะใช้ประโยชน์จากความสามารถของระบบมัลติคอร์ที่ดีกว่ามาก
music2myear

2

ประการแรกความเร็วของคอร์เดี่ยวไม่ได้ลดลงมาก เหตุผลเดียวที่ผู้เล่นตัวจริงของ Sandy Bridge ในปัจจุบันไม่ได้ติดตั้ง Pentium 4s แบบ single-core ในแง่ของเมกะเฮิรตซ์คือ Intel ขาดการแข่งขันดังนั้นพวกเขาจึงไม่ต้องผลักดันอย่างหนัก

ประการที่สองความเร็วสัญญาณนาฬิกาไม่ใช่ทุกอย่างแม้แต่ในแกนเดียว เมื่อมองไปที่ประสิทธิภาพของโปรแกรมอีกครั้งกับ Pentium 4 ปัจจุบันผู้เล่นตัวจริงของอินเทลจะอยู่ที่ประมาณ 50% เร็วต่อวงจรนาฬิกา เหตุผลที่ Sandy Bridge เร็วกว่าต่อรอบสัญญาณนาฬิกามากกว่า Pentium 4 (Prescott เป็นชาติสุดท้ายของมัน) มีหลายแบบ แต่มีการเรียกใช้ตัวควบคุมหน่วยความจำอัจฉริยะล่วงหน้าล่วงหน้ามีตัวควบคุมหน่วยความจำบน die เดียวกันกับ CPU และInstruction Level Parallelism (ILP)มีส่วนร่วมในการที่

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

ประการที่สามการใช้งานบางอย่างได้รับประโยชน์อย่างมากจากหลายคอร์ ตัวอย่างเช่น Photoshop มักจะชอบคอร์มากกว่าความถี่ในการใช้งาน กล่าวคือ แม้แต่ quad-core ที่ช้าก็มักจะเต้นชิพ dual-core ใด ๆ ก็ตามและ dual-core ก็จะเต้นแบบ single-core ใด ๆ ก็ได้ Tri-cores เป็นกระเป๋าแบบผสมพวกเขามักชนะเหนือแกนคู่ แต่ไม่เสมอไป

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


1

ที่จริงวันนี้ปัจจัยที่สำคัญที่สุดไม่ใช่ความเร็วสัญญาณนาฬิกาของหน่วยประมวลผลมีคุณสมบัติใหม่มากมายที่เปิดตัวเนื่องจาก "การเปรียบเทียบปัจจัย" นี้ตกอยู่ในความต้องการ

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

  • จำนวนแกน
  • จำนวนเธรดการทำงานแบบขนาน
  • ตระกูลโปรเซสเซอร์ (Dual core, Pentium, Core i / Calpella, Sandy Bridge ฯลฯ )
  • การสร้างโปรเซสเซอร์ (2nd, 6, ฯลฯ ) จากนั้น
  • ความเร็วสัญญาณนาฬิกาของโปรเซสเซอร์

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


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

อืมตระกูลโปรเซสเซอร์และเจนเนอเรชั่นนั้นไม่มีอะไรเกี่ยวข้องกับความเร็วโปรเซสเซอร์ ท้ายที่สุดแล้ว Atom procs นั้นใหม่กว่า P4s หรือ Core และ Core2 มาก แต่ก็ไม่มีใครโต้แย้งได้เร็วกว่า สิ่งอื่น ๆ ที่มีผลโดยตรงกับความเร็วของ CPU คือ on-die cache, จำนวนการลงทะเบียน, สถาปัตยกรรมของชิป, ขนาดของทางเดินนำไฟฟ้า (กระบวนการ manmuring nm), ความสามารถในการทำงานของจุดลอยตัว ฯลฯ
music2myear

@ music2myear - เมื่อพูดถึงรุ่นฉันกำลังพูดถึงครอบครัว ( superuser.com/questions/314757/… ) ที่จริงแล้ว Atom D525 นั้นดีกว่า Core 2 มากมาย ( cpubenchmark.net/cpu_lookup.php?cpu=Intel+Atom+D525+%40+1.80GHz )
Diogo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.