2 คอร์ 4 เธรดหมายถึงอะไรใน cpu


22

ฉันอยากรู้ว่า 2 คอร์ 4 เธรดหมายถึงอะไรเกี่ยวกับ cpu ฉันกำลังพูดถึงซีพียูนี้ที่ฉันมี

http://ark.intel.com/products/47341/Intel-Core-i5-520M-Processor-3M-Cache-2_40-GHz

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


2
เมื่อคุณทำวิจัยพื้นหลังเกี่ยวกับen.wikipedia.org/wiki/Hyper-threadingมันควรสมเหตุสมผลสำหรับคุณ โปรเซสเซอร์ที่คุณมีมีความสามารถในการทำ 4 คำสั่งพร้อมกัน คุณควรเข้าใจว่าแม้แต่ซีพียูแกนเดียวยังมีความสามารถในการรันหลายโปรแกรม เพียงแค่มันไม่มีความสามารถในการทำ 2 คำสั่งในเวลาเดียวกัน คุณดูเหมือนจะไม่ชัดเจนว่าโปรแกรมใช้งานได้จริงอย่างไร
Ramhound

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

ผมลดคำสั่งของฉันจำนวนคำสั่งต่อรอบสัญญาณนาฬิกาที่มีความแตกต่างระหว่าง Pentium D และรุ่น Core i5 ที่ 4 ลบขนาดของตายและความต้องการใช้พลังงานของหลักสูตร (จีนอีกครั้ง)
Ramhound


คำตอบนี้อาจให้การแก้ไข: superuser.com/questions/1198459/…
Jamie Hanrahan

คำตอบ:


15

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


> "นอกจากนั้นมันจะสลับที่ความเร็วสูงระหว่างกระบวนการ" อะไรทำให้สวิตช์ b / w ประมวลผลเร็วขึ้น?
Talespin_Kit

@Talespin_Kit ฉันคิดว่า @ Slowki หมายถึงวิธีที่ CPU ใช้ในการทำงานกับกระบวนการหลายกระบวนการดังนั้นจึงไม่ จำกัด เพียง 4 สิ่ง มันเป็น 4 หัวข้อในหลาย ๆ สิ่ง
Matt Sephton

3

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

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

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

การวิเคราะห์รายละเอียดสามารถพบได้ในรายงานฉบับปี 1995 ของ Tullsen

http://dl.acm.org/citation.cfm?id=224449


0

"ถ้ามันมีแค่ 2 คอร์มันถูกต้องแล้วหรือว่าคุณสามารถรันโปรแกรมแบบขนาน 2 โปรแกรมได้แม้ว่ามันจะมี 4 เธรด" หากมี 2 คอร์การคำนวณจะถูกหารด้วย 2 = parallelism อย่างไรก็ตามหากคุณมีเธรดไฮเปอร์ก็สามารถทำการคำนวณ 2 ในคอร์เดียวกันได้ทำไมคอร์เดียวกันแสดงให้ระบบปฏิบัติการเป็น 2 คอร์ ... ตรรกะคอร์


0

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

ในครั้งก่อนหน้า [ในรุ่นก่อนหน้าของ Intel] การทำไฮเปอร์เธรดนั้น จำกัด เพียง 1 คอร์ที่รัน 2 เธรดพร้อมกันหรือหลายคอร์ที่รัน 1 ชุดคำสั่ง (อาคาเธรด) ต่อแกน (ไม่มีประสิทธิภาพเลยทีเดียวถ้าคุณถามฉัน) แต่ด้วยพลังในการคำนวณที่ดีขึ้นและการพัฒนาในภายหลังเช่นโปรเซสเซอร์ i5 ของคุณคุณมีสิ่งที่ฉันต้องการเรียกเป็นโปรเซสเซอร์แบบมัลติเธรดแบบหลายแกนซึ่งมีหลายคอร์ที่ใช้ชุดคำสั่งหลายชุด (aka, เธรด) ต่อคอร์

ในกรณีของคุณ 1 คอร์จะได้รับ 2 เธรดดังนั้นเมื่อคุณทำคณิตศาสตร์คุณจะมีชุดคำสั่ง = 4 ชุด (เธรด)

อีกตัวอย่าง: # of Cores = 4, # of threads = 8 | 8/4 = 2 ดังนั้นแต่ละคอร์จะประมวลผล 2 เธรดพร้อมกัน (ไม่แน่ใจว่าตัวประมวลผลแบบใดที่ทำสิ่งนี้ แต่ฉันเกือบแน่ใจว่ามีอยู่)

หวังว่านี่จะช่วยเพื่อนของฉัน! คอมพิวเตอร์มีความสุข!

ที่มา: PEARSON IT Certification CompTIA A + Examp Cram Cert คู่มือ

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