อะไรคือความแตกต่างระหว่าง multicore proc และระบบหลายสาย


18

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

คำตอบ:


19

ตัวประมวลผลหลายตัวช่วยให้คอมพิวเตอร์ของคุณทำสองสิ่งอย่างแท้จริงในคราวเดียว (แทนที่จะทำสองอย่างพร้อมกัน แต่จริงๆแล้วแค่สลับระหว่างงานอย่างรวดเร็ว)

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

อาจมีความแตกต่างด้านประสิทธิภาพ แต่ไม่มีอะไรที่คุณจะสังเกตเห็น


2
ไม่เพียงแค่ใช้พื้นที่น้อย แต่ยังสร้างความร้อนน้อยลง (ใช้พลังงานน้อยลง) และต้องการพัดลมระบายความร้อนเพียงตัวเดียว
CarlF


3

คุณควรเริ่มต้นด้วยบทความMulti-coreและMultithreadที่ Wikipedia


1
ลิงก์สำหรับ "ความแตกต่างระหว่างการมัลติเธรดและการเขียนโปรแกรมมัลติคอร์" เสียหาย
SparkAndShine

2

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

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

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

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


3
-1: คำตอบนี้มีข้อผิดพลาดมากมาย (1) 3 GHz ไม่ใช่ "จำกัด ความเร็ว" มีตัวประมวลผลที่ทำงานที่ความถี่สูงกว่า 3 GHz ขีด จำกัด ของผู้ผลิตซีพียูที่เข้ามานั้นเหมาะสมกับโปรเซสเซอร์ที่มีประสิทธิภาพสูงกว่าภายในซองพลังงานที่ยั่งยืน (2) ย่อหน้าที่สองของคุณบอกเป็นนัยว่ามีการเปิดตัวมาเธอร์บอร์ดที่ใช้ CPU หลายตัวเนื่องจาก "ถึงขีด จำกัด ความเร็ว" แล้ว ในความเป็นจริงมาเธอร์บอร์ดซ็อกเก็ตหลายซ็อกเก็ตอยู่ที่ประมาณ 5-10 ปีก่อน (อาจนานกว่านั้นฉันไม่สามารถหาวันที่แน่นอนได้เมื่อเซิร์ฟเวอร์พีซีใช้มัลติคอร์)
hanleyp

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

มันเท่ห์มาก ฉันแค่อยากจะชี้ให้เห็นสิ่งที่ฉันคิดว่าต้องการความกระจ่าง ฉันจะยกเลิกการลงคะแนนของฉัน แต่ไม่สามารถทำได้เว้นแต่คุณจะแก้ไขคำตอบอย่างใด
hanleyp

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

2
-1: คุณอธิบายว่าทำไมเราถึงเห็นระบบมัลติคอร์ แต่นั่นไม่ใช่สิ่งที่ผู้ถามถาม คุณยังไม่ได้อธิบายความแตกต่างระหว่างหลายคอร์และโปรเซสเซอร์หลายตัว
John Fouhy

1

จากมุมมองการพัฒนาซอฟต์แวร์มีความแตกต่างค่อนข้างน้อย

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

ความแตกต่างที่สำคัญระหว่างสองสถานการณ์สำหรับจำนวนแกนประมวลผลที่มีอยู่เท่ากัน (ตัวอย่างเช่นตัวประมวลผล 1x4 คอร์ 1x กับตัวประมวลผล 2x2 คอร์) คือในกรณีของสถานการณ์ตัวประมวลผลหลายตัว -bandwidth ซึ่งหมายความว่าสำหรับเวิร์กโหลดที่มีหน่วยความจำมากคุณอาจจะดีกว่าในภายหลัง โปรดทราบว่าการล็อกแบบดั้งเดิมอาจช้าลงเล็กน้อย (ขึ้นอยู่กับการนำฮาร์ดแวร์ไปใช้) ดังนั้นอัลกอริทึมที่ใช้การซิงโครไนซ์จำนวนมากอาจทำงานได้แย่กว่าในระยะหลัง

ถึงกระนั้นฉันก็ไม่ต้องกังวลกับความแตกต่างมากนักเพราะถ้าคุณทำงานในพื้นที่ที่ความแตกต่างนี้มีความสำคัญคุณก็น่าจะรู้แล้ว (ความรู้เฉพาะโดเมน)

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