มัลติคอร์เทียบกับ Many-Core หรือเหตุใดเราจึงต้องใช้ไมโครโปรเซสเซอร์แบบ multi-core? โปรเซสเซอร์ Intel และ AMD ภายในโปรเซสเซอร์มีกี่คอร์?

แกนซีพียู

คำว่า "ไมโครโปรเซสเซอร์คอร์" แกนประมวลผล) ไม่มีคำจำกัดความที่ชัดเจนและอาจหมายถึง:

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

แกนไมโครโปรเซสเซอร์มักจะมีการกำหนดรหัสของตัวเอง (เช่น Deschutes)

ลักษณะสำคัญ

ลักษณะเฉพาะของเคอร์เนลโดยทั่วไปได้แก่:

  • สถาปัตยกรรมไมโคร;
  • จำนวนหน่วยการทำงาน (ALU, FPU, ท่อ ฯลฯ );
  • ปริมาณหน่วยความจำแคชในตัว
  • อินเทอร์เฟซ (เชิงตรรกะและกายภาพ);
  • ความถี่สัญญาณนาฬิกา
  • แรงดันไฟฟ้า;
  • การกระจายความร้อนสูงสุดและทั่วไป
  • เทคโนโลยีการผลิต
  • พื้นที่คริสตัล

การแก้ไขเคอร์เนล

เมื่อคอร์ไมโครโปรเซสเซอร์พัฒนาขึ้น ก็มีการเปลี่ยนแปลงเกิดขึ้น ซึ่งมักจะมีความสำคัญ ตัวอย่างเช่น สามารถเพิ่มชุดคำสั่งเพิ่มเติม ลดมาตรฐานการออกแบบกระบวนการ และสามารถเพิ่มความถี่สัญญาณนาฬิกาได้ ข้อผิดพลาดที่พบมักจะได้รับการแก้ไขเช่นกัน การเปลี่ยนแปลงดังกล่าวเรียกว่าการแก้ไขเคอร์เนล เคอร์เนลของการแก้ไขที่แตกต่างกันจะแตกต่างกันตามหมายเลขการแก้ไข (เช่น Athlon XP Thoroughbred การแก้ไข A0 และ B0) ซึ่งสามารถเข้ารหัสในเครื่องหมายไมโครโปรเซสเซอร์หรือตั้งโปรแกรมไว้ในเคอร์เนลได้ ในกรณีหลัง คุณสามารถดูรหัสหมายเลขการแก้ไข (Stepping) ได้โดยใช้คำแนะนำ

ลิงค์

มูลนิธิวิกิมีเดีย

2010.

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

    : สารบัญ 1 ฟิสิกส์นิวเคลียร์ 2 ชีววิทยา 3 วิทยาศาสตร์โลก 4 กีฬา ... วิกิพีเดีย

    สารบัญ 1 ฟิสิกส์นิวเคลียร์ 2 ชีววิทยา 3 วิทยาศาสตร์โลก ... Wikipedia

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

    แคชแคชของไมโครโปรเซสเซอร์ (over แรม) ใช้โดยไมโครโปรเซสเซอร์ของคอมพิวเตอร์เพื่อลดเวลาเฉลี่ยในการเข้าถึงหน่วยความจำคอมพิวเตอร์ เป็นหนึ่งใน ระดับบนลำดับชั้นของหน่วยความจำ ... Wikipedia

    เสนอให้เปลี่ยนชื่อเพจนี้เป็น Socket โปรเซสเซอร์ คำอธิบายเหตุผลและการสนทนาในหน้า Wikipedia: เพื่อเปลี่ยนชื่อ / 19 มีนาคม 2555 บางทีชื่อปัจจุบันอาจไม่สอดคล้องกับบรรทัดฐานของภาษารัสเซียสมัยใหม่และ/หรือ ... ... Wikipedia

    แคช (แคชภาษาอังกฤษ อ่านว่า kæʃ cache) เป็นบัฟเฟอร์ระดับกลางที่เข้าถึงได้รวดเร็ว ประกอบด้วยสำเนาของข้อมูลที่จัดเก็บไว้ในหน่วยความจำที่มีการเข้าถึงได้เร็วน้อยกว่า แต่มีแนวโน้มที่จะได้รับการร้องขอจากที่นั่น การเข้าถึงข้อมูลใน... ... Wikipedia

    แกนประมวลผลเซลล์เป็นสถาปัตยกรรมไมโครโปรเซสเซอร์ที่พัฒนาร่วมกันโดย Sony, Toshiba และ IBM ซึ่งเป็นกลุ่มพันธมิตรที่เรียกว่า "STI" การพัฒนาสถาปัตยกรรมและต้นแบบแรกถูกสร้างขึ้นที่ STI Design Center สำหรับ... ... Wikipedia

    สถาปัตยกรรมโปรเซสเซอร์ 80486 DX2 x86 (อังกฤษ Intel 80x86) พร้อมชุดชื่อเดียวกัน ... Wikipedia

    - << Athlon >> หน่วยประมวลผลกลาง... Wikipedia

หนังสือ

  • Cortex-M3 Core ของ ARM คู่มือขั้นสุดท้าย, Yu D. หนังสือเล่มนี้เป็นคู่มือที่ครอบคลุมเกี่ยวกับ Cortex-M3 ซึ่งเป็นโปรเซสเซอร์ 32 บิตใหม่ของ ARM ใน คู่มือเล่มนี้สถาปัตยกรรมของคอร์โปรเซสเซอร์มีการอธิบายไว้โดยละเอียด...

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

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

มัลติคอร์และมัลติเธรด

เมื่อเราศึกษาปัญหานี้ เราสังเกตเห็นคุณลักษณะของโปรเซสเซอร์ Intel - เครื่องมือมาตรฐาน Windows แสดงจำนวนแกนที่แตกต่างกัน นี่เป็นเพราะการทำงานของเทคโนโลยี Hyper-Threading ซึ่งให้บริการแบบมัลติเธรด

เพื่อที่คุณจะได้ไม่สับสนในแนวคิดอีกต่อไป มาทำความเข้าใจกันใหม่:

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

ผลกระทบของจำนวนคอร์ต่อประสิทธิภาพ

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

  • ผู้จัดเก็บ;
  • เครื่องเล่นสื่อ
  • ตัวเข้ารหัสวิดีโอ
  • ตัวจัดเรียงข้อมูล;
  • โปรแกรมป้องกันไวรัส;
  • บรรณาธิการกราฟิก

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

หากโปรเซสเซอร์เป็นแบบมัลติคอร์ (หรือรองรับมัลติเธรด) จะไม่มีการสับเปลี่ยนตามหลักการ ระบบจะส่งเธรดแยกไปยังแต่ละคอร์ ผลลัพธ์คือเพิ่มผลผลิตเนื่องจากไม่จำเป็นต้องเปลี่ยนไปทำงานอื่น

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

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

คุณควรเลือกกี่คอร์?

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

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

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

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

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

นอกจากนี้บนเว็บไซต์:

จำนวนแกนประมวลผลได้รับผลกระทบจากอะไรอัปเดต: 31 มกราคม 2018 โดย: ผู้ดูแลระบบ

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

การแนะนำ

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

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

โปรเซสเซอร์ Intel และ AMD

ปัจจุบัน Intel และ AMD เป็นคู่แข่งโดยตรงในตลาดโปรเซสเซอร์ หากคุณดูที่รายได้และยอดขาย ข้อได้เปรียบที่ชัดเจนจะอยู่ฝั่งเดอะบลูส์ เมื่อเร็วๆ นี้หงส์แดงพยายามตามทัน ทั้งสองบริษัทมีช่วงที่ดี โซลูชั่นสำเร็จรูปสำหรับทุกโอกาส - จาก โปรเซสเซอร์ที่เรียบง่ายจาก 1-2 คอร์ไปจนถึงสัตว์ประหลาดจริงซึ่งมีจำนวนคอร์เกิน 8 โดยทั่วไปแล้ว "สโตน" ดังกล่าวจะใช้กับ "คอมพิวเตอร์" งานพิเศษที่มีโฟกัสที่แคบ

อินเทล

ดังนั้น ในปัจจุบัน Intel ประสบความสำเร็จในโปรเซสเซอร์ 5 ประเภท ได้แก่ Celeron, Pentium และ i7 “หิน” แต่ละก้อนเหล่านี้มี ปริมาณที่แตกต่างกันแกนและมีไว้สำหรับ งานที่แตกต่างกัน- ตัวอย่างเช่น Celeron มีเพียง 2 คอร์และส่วนใหญ่จะใช้กับคอมพิวเตอร์ในสำนักงานและที่บ้าน Pentium หรือที่เรียกกันว่า "ตอไม้" ก็ใช้ในบ้านเช่นกัน แต่มีประสิทธิภาพที่ดีกว่ามากอยู่แล้วสาเหตุหลักมาจากเทคโนโลยี Hyper-Threading ซึ่ง "เพิ่ม" คอร์ทางกายภาพอีกสองคอร์ แกนเสมือนซึ่งเรียกว่าลำธาร ดังนั้น "เปอร์เซ็นต์" แบบดูอัลคอร์จึงทำงานเหมือนกับโปรเซสเซอร์ Quad-Core ที่มีงบประมาณมากที่สุดแม้ว่าจะไม่ถูกต้องทั้งหมด แต่นี่คือประเด็นหลัก

สำหรับ เส้นหลักแล้วมีสถานการณ์คล้ายกันที่นี่โดยประมาณ รุ่นน้องที่มีหมายเลข 3 มี 2 คอร์และ 2 เธรด บรรทัดที่เก่ากว่า - Core i5 - มีคอร์ 4 หรือ 6 คอร์ที่เต็มเปี่ยมอยู่แล้ว แต่ไม่มีฟังก์ชัน Hyper-Threading และไม่มีเธรดเพิ่มเติม ยกเว้นเธรดมาตรฐาน 4-6 ตัว สิ่งสุดท้าย - core i7 คือ โปรเซสเซอร์ชั้นนำซึ่งโดยทั่วไปจะมี 4 ถึง 6 คอร์และมีจำนวนเธรดเป็นสองเท่า เช่น 4 คอร์และ 8 เธรด หรือ 6 คอร์และ 12 เธรด

เอเอ็มดี

ตอนนี้มันคุ้มค่าที่จะพูดถึง AMD รายการ "ก้อนกรวด" จาก บริษัท นี้มีขนาดใหญ่มากรายการทุกอย่างไม่มีประโยชน์เนื่องจากโมเดลส่วนใหญ่ล้าสมัยไปแล้ว บางทีอาจเป็นที่น่าสังเกตว่าคนรุ่นใหม่ซึ่งในแง่หนึ่ง "คัดลอก" Intel - Ryzen บรรทัดนี้ยังประกอบด้วยรุ่นที่มีหมายเลข 3, 5 และ 7 ความแตกต่างที่สำคัญจากรุ่น "สีน้ำเงิน" ของ Ryzen ก็คือรุ่นที่อายุน้อยที่สุดให้ 4 คอร์เต็มทันทีในขณะที่รุ่นเก่าไม่มี 6 แต่มีแปดคอร์ นอกจากนี้จำนวนเธรดยังเปลี่ยนแปลงอีกด้วย Ryzen 3 - 4 เธรด, Ryzen 5 - 8-12 (ขึ้นอยู่กับจำนวนคอร์ - 4 หรือ 6) และ Ryzen 7 - 16 เธรด

เป็นเรื่องที่ควรค่าแก่การกล่าวถึงอีกเส้น "สีแดง" - FX ซึ่งปรากฏในปี 2555 และอันที่จริง แพลตฟอร์มนี้ถือว่าล้าสมัยไปแล้ว แต่ต้องขอบคุณความจริงที่ว่าตอนนี้มีมากขึ้นเรื่อยๆ โปรแกรมเพิ่มเติมและเกมเริ่มรองรับมัลติเธรด กลุ่มผลิตภัณฑ์ Vishera ก็กลับมาได้รับความนิยมอีกครั้งซึ่งนอกจากราคาที่ต่ำแล้วยังมีการเติบโตเท่านั้น

สำหรับการถกเถียงเกี่ยวกับความถี่ของโปรเซสเซอร์และจำนวนคอร์ในความเป็นจริงแล้วการมองไปที่วินาทีนั้นถูกต้องมากกว่าเนื่องจากทุกคนตัดสินใจเกี่ยวกับความถี่สัญญาณนาฬิกามานานแล้วและแม้แต่ รุ่นยอดนิยมจาก Intel ทำงานที่ความเร็ว 2.7, 2.8, 3 GHz นอกจากนี้ความถี่สามารถเพิ่มขึ้นได้เสมอโดยใช้การโอเวอร์คล็อก แต่ในกรณีของโปรเซสเซอร์ดูอัลคอร์สิ่งนี้จะไม่ส่งผลกระทบมากนัก

จะทราบได้อย่างไรว่ามีกี่คอร์

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

รับเพิ่ม ข้อมูลรายละเอียดคุณสามารถค้นหาว่า "หิน" ของคุณรองรับเทคโนโลยีใดบ้าง ความถี่สัญญาณนาฬิกาคืออะไร หมายเลขการแก้ไข และอื่นๆ อีกมากมายโดยใช้โปรแกรมพิเศษและขนาดเล็กที่เรียกว่า CPU-Z คุณสามารถดาวน์โหลดได้ฟรีบนเว็บไซต์อย่างเป็นทางการ มีรุ่นที่ไม่ต้องติดตั้ง

ข้อดีของสองคอร์

ข้อดีของโปรเซสเซอร์แบบดูอัลคอร์คืออะไร มีหลายสิ่งหลายอย่าง เช่น ในเกมหรือแอพพลิเคชั่น ในการพัฒนาซึ่งงานแบบเธรดเดียวเป็นสิ่งสำคัญอันดับแรก ยกตัวอย่างเกม Wold of Tanks โปรเซสเซอร์แบบดูอัลคอร์ทั่วไปส่วนใหญ่เช่น Pentium หรือ Celeron จะให้ผลลัพธ์ด้านประสิทธิภาพที่ค่อนข้างดี ในขณะที่ FX บางตัวจาก AMD หรือ INTEL Core จะใช้ความสามารถมากกว่ามากและผลลัพธ์จะใกล้เคียงกันโดยประมาณ

4 คอร์ที่ดีกว่า

4 คอร์จะดีกว่าสองได้อย่างไร ประสิทธิภาพที่ดีขึ้น "หิน" แบบ Quad-core ได้รับการออกแบบมาเพื่อการทำงานที่จริงจังยิ่งขึ้นโดยที่ "ตอไม้" หรือ "เซเลรอน" ธรรมดา ๆ ไม่สามารถรับมือได้ ตัวอย่างที่ดีเยี่ยมโปรแกรมใดๆ สำหรับการทำงานกับกราฟิก 3D จะใช้งานได้ที่นี่ เช่น 3Ds Max หรือ Cinema4D

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

แน่นอนคุณสามารถใช้งบประมาณ "protsyk" ได้ ครอบครัวหลักตัวอย่างเช่น i3 รุ่น 6100 แต่ 2 คอร์และ 2 เธรดเพิ่มเติมจะยังคงด้อยกว่า Quad-Core ที่มีคุณสมบัติครบถ้วน

6 และ 8 คอร์

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

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

จำนวนแกนประมวลผลได้รับผลกระทบจากอะไร

แล้วจำนวนคอร์จะส่งผลต่ออะไรอีกบ้าง? ประการแรกเพื่อเพิ่มการใช้พลังงาน ใช่ แม้จะฟังดูน่าประหลาดใจ แต่ก็เป็นความจริง ไม่จำเป็นต้องกังวลมากเกินไปเพราะในชีวิตประจำวันปัญหานี้จะไม่เห็นชัดเจน

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

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

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

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

สรุป.

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

  • บทช่วยสอน

ในบทความนี้ ฉันจะพยายามอธิบายคำศัพท์ที่ใช้อธิบายระบบที่สามารถรันหลายโปรแกรมพร้อมกันได้ นั่นคือ multi-core, multi-processor, multi-threaded ความขนานประเภทต่างๆ ใน ​​CPU IA-32 ปรากฏขึ้น เวลาที่ต่างกันและอยู่ในลำดับที่ค่อนข้างไม่สอดคล้องกัน ทั้งหมดนี้ค่อนข้างง่ายที่จะสับสน โดยเฉพาะอย่างยิ่งเมื่อพิจารณาว่าระบบปฏิบัติการซ่อนรายละเอียดอย่างระมัดระวังจากโปรแกรมแอปพลิเคชันที่ซับซ้อนน้อยกว่า

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

คำเตือนเกี่ยวกับสัญญาณ ®, ™ ในบทความ

Mine อธิบายว่าทำไมพนักงานของบริษัทจึงควรใช้ประกาศเกี่ยวกับลิขสิทธิ์ในการสื่อสารสาธารณะ ในบทความนี้ฉันต้องใช้มันค่อนข้างบ่อย

ซีพียู

แน่นอนว่าคำที่เก่าที่สุด ใช้บ่อยที่สุด และเป็นที่ถกเถียงกันคือ "โปรเซสเซอร์"

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

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

การสนับสนุนหลายอย่าง หน่วยประมวลผลกลางในระบบหนึ่งต้องมีการเปลี่ยนแปลงการออกแบบมากมาย อย่างน้อยที่สุดก็จำเป็นต้องจัดเตรียมไว้ให้ การเชื่อมต่อทางกายภาพ(มีซ็อกเก็ตหลายตัวบนเมนบอร์ด), แก้ไขปัญหาการระบุตัวโปรเซสเซอร์ (ดูภายหลังในบทความนี้ รวมถึงบันทึกย่อของฉัน), การประสานงานของการเข้าถึงหน่วยความจำและการส่งมอบการขัดจังหวะ (ตัวควบคุมการขัดจังหวะจะต้องสามารถกำหนดเส้นทางการขัดจังหวะไปยังโปรเซสเซอร์หลายตัวได้) และ แน่นอนว่าได้รับการสนับสนุนจากระบบปฏิบัติการ น่าเสียดายที่ฉันไม่พบสารคดีที่กล่าวถึงการสร้างระบบมัลติโปรเซสเซอร์ตัวแรกบนโปรเซสเซอร์ Intel แต่ Wikipedia อ้างว่า Sequent Computer Systems จัดหามาให้แล้วในปี 1987 โดยใช้โปรเซสเซอร์ Intel 80386 การรองรับชิปหลายตัวในระบบเดียวกำลังแพร่หลาย , เริ่มต้นด้วย Intel® Pentium

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


พร้อมบินขึ้น! บอร์ดเดสก์ท็อป Intel® D5400XS

แกนกลาง

ในอดีต มัลติคอร์ใน Intel IA-32 ปรากฏช้ากว่า Intel® HyperThreading แต่ในลำดับชั้นเชิงตรรกะจะปรากฏเป็นลำดับถัดไป

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

โปรเซสเซอร์ IA-32 แบบมัลติคอร์ตัวแรกจาก Intel เปิดตัวในปี 2548 ตั้งแต่นั้นเป็นต้นมา จำนวนคอร์โดยเฉลี่ยในเซิร์ฟเวอร์ เดสก์ท็อป และตอนนี้ แพลตฟอร์มมือถือกำลังเติบโตอย่างต่อเนื่อง

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


ภาพขนาดเล็กของโปรเซสเซอร์ Intel แบบ quad-core ที่มีชื่อรหัสว่า Nehalem นิวเคลียสส่วนบุคคลถูกเน้น แคชที่ใช้ร่วมกันระดับที่สามตลอดจนลิงก์ QPI ไปยังโปรเซสเซอร์อื่นและตัวควบคุมหน่วยความจำทั่วไป

ไฮเปอร์เธรด

จนกระทั่งประมาณปี 2545 วิธีเดียวเท่านั้นหากต้องการรับระบบ IA-32 ที่สามารถรันโปรแกรมสองโปรแกรมขึ้นไปพร้อมกันได้ ต้องใช้ระบบมัลติโปรเซสเซอร์ เปิดตัว Intel® Pentium® 4 และกลุ่มผลิตภัณฑ์ Xeon ที่มีชื่อรหัสว่า Foster (Netburst) เทคโนโลยีใหม่- ไฮเปอร์เธรดหรือไฮเปอร์เธรด - Intel® HyperThreading (ต่อไปนี้จะเรียกว่า HT)

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

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

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

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

มีการสังเกตสถานการณ์ที่แตกต่างกันในงานทั่วไปที่ทำกับตัวเร่งความเร็ววิดีโอ ดังนั้นสถาปัตยกรรมเหล่านี้จึงโดดเด่นด้วยการใช้เทคโนโลยี SMT ที่มีเธรดจำนวนมากขึ้น เนื่องจากโปรเซสเซอร์ร่วม Intel® Xeon Phi (เปิดตัวในปี 2010) ค่อนข้างใกล้เคียงกับการ์ดวิดีโอทั้งในด้านอุดมการณ์และลำดับวงศ์ตระกูล จึงอาจมี สี่ไฮเปอร์เธรดในแต่ละคอร์ - การกำหนดค่าเฉพาะสำหรับ IA-32

โปรเซสเซอร์แบบลอจิคัล

จาก "ระดับ" ของการขนานทั้งสามที่อธิบายไว้ (โปรเซสเซอร์, คอร์, ไฮเปอร์เธรด) บางส่วนหรือทั้งหมดอาจหายไปในระบบใดระบบหนึ่ง สิ่งนี้ได้รับอิทธิพล การตั้งค่าไบออส(มัลติคอร์และมัลติเธรดถูกปิดใช้งานโดยแยกจากกัน) คุณสมบัติสถาปัตยกรรมไมโคร (เช่น HT หายไปจาก Intel® Core™ Duo แต่ถูกส่งคืนพร้อมกับการเปิดตัว Nehalem) และเหตุการณ์ของระบบ (เซิร์ฟเวอร์มัลติโปรเซสเซอร์สามารถปิดได้ โปรเซสเซอร์ที่ล้มเหลวหากตรวจพบข้อผิดพลาดและยังคง "บิน" ต่อไปกับตัวประมวลผลที่เหลือ) สวนสัตว์แห่งการทำงานพร้อมกันหลายระดับนี้มองเห็นได้สำหรับระบบปฏิบัติการและท้ายที่สุดกับแอปพลิเคชันแอปพลิเคชันอย่างไร

นอกจากนี้ เพื่อความสะดวก เราจึงแสดงจำนวนโปรเซสเซอร์ คอร์ และเธรดในระบบหนึ่งเป็นสาม ( x, , z), ที่ไหน xคือจำนวนโปรเซสเซอร์ - จำนวนคอร์ในโปรเซสเซอร์แต่ละตัว และ z- จำนวนไฮเปอร์เธรดในแต่ละคอร์ จากนี้ไปผมจะเรียกสิ่งนี้ว่าสาม โทโพโลยี- เป็นคำที่กำหนดขึ้นซึ่งไม่เกี่ยวข้องกับสาขาวิชาคณิตศาสตร์มากนัก งาน พี = เอ็กซ์ซีสกำหนดจำนวนของเอนทิตีที่ถูกเรียก โปรเซสเซอร์แบบลอจิคัลระบบ มันกำหนดจำนวนบริบทกระบวนการสมัครอิสระในระบบด้วย หน่วยความจำที่ใช้ร่วมกันดำเนินการแบบขนานซึ่งระบบปฏิบัติการถูกบังคับให้คำนึงถึง ฉันพูดว่า "บังคับ" เพราะไม่สามารถควบคุมลำดับการดำเนินการของสองกระบวนการบนตัวประมวลผลลอจิคัลที่ต่างกันได้ นอกจากนี้ยังใช้กับไฮเปอร์เธรด: แม้ว่าจะทำงาน "ตามลำดับ" บนคอร์เดียวกัน แต่ฮาร์ดแวร์จะกำหนดลำดับเฉพาะและไม่สามารถสังเกตหรือควบคุมโดยโปรแกรมได้

บ่อยครั้งที่ระบบปฏิบัติการซ่อนคุณลักษณะของโทโพโลยีทางกายภาพของระบบที่ใช้งานอยู่จากแอปพลิเคชันปลายทาง ตัวอย่างเช่น โทโพโลยีสามรายการต่อไปนี้: (2, 1, 1), (1, 2, 1) และ (1, 1, 2) - ระบบปฏิบัติการจะเป็นตัวแทนของโปรเซสเซอร์ลอจิคัลสองตัว แม้ว่าตัวแรกจะมีโปรเซสเซอร์สองตัวก็ตาม วินาที - สองคอร์และอันที่สาม - เพียงสองเธรด


งานวินโดวส์ผู้จัดการแสดงตัวประมวลผลแบบลอจิคัล 8 ตัว แต่ราคาเท่าไหร่ในโปรเซสเซอร์, คอร์และไฮเปอร์เธรด?


Linux อันดับต้น ๆ แสดงตัวประมวลผลแบบลอจิคัล 4 ตัว

สิ่งนี้ค่อนข้างสะดวกสำหรับผู้สร้างแอปพลิเคชัน - พวกเขาไม่จำเป็นต้องจัดการกับคุณสมบัติของฮาร์ดแวร์ที่มักจะไม่สำคัญสำหรับพวกเขา

คำจำกัดความของซอฟต์แวร์โทโพโลยี

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

ข้อมูลเกี่ยวกับโทโพโลยีของระบบโดยรวม รวมถึงตำแหน่งของตัวประมวลผลแบบลอจิคัลแต่ละตัวใน IA-32 มีให้ใช้งานโดยใช้คำสั่ง CPUID นับตั้งแต่การถือกำเนิดของระบบมัลติโปรเซสเซอร์ระบบแรก รูปแบบการระบุตัวประมวลผลแบบลอจิคัลได้ถูกขยายออกไปหลายครั้ง จนถึงปัจจุบัน ชิ้นส่วนต่างๆ มีอยู่ในเอกสาร CPUID แผ่นที่ 1, 4 และ 11 แผ่นงานใดที่จะดูสามารถกำหนดได้จากผังงานต่อไปนี้ที่นำมาจากบทความ:

ฉันจะไม่ทำให้คุณเบื่อที่นี่พร้อมรายละเอียดทั้งหมดของแต่ละส่วนของอัลกอริทึมนี้ หากมีความสนใจสามารถอุทิศส่วนถัดไปของบทความนี้ได้ ฉันจะแนะนำผู้อ่านที่สนใจซึ่งจะตรวจสอบปัญหานี้อย่างละเอียดที่สุดเท่าที่จะเป็นไปได้ ในที่นี้ฉันจะอธิบายสั้น ๆ ก่อนว่า APIC คืออะไร และเกี่ยวข้องกับโทโพโลยีอย่างไร ต่อไป เราจะมาดูการทำงานกับชีต 0xB (สิบเอ็ดในฐานสิบ) ซึ่งปัจจุบันเป็นคำสุดท้ายใน "apico-building"

รหัส APIC
Local APIC (ตัวควบคุมการขัดจังหวะแบบตั้งโปรแกรมได้ขั้นสูง) เป็นอุปกรณ์ (ปัจจุบันเป็นส่วนหนึ่งของโปรเซสเซอร์) ที่รับผิดชอบในการจัดการการขัดจังหวะที่มาถึงตัวประมวลผลแบบลอจิคัลเฉพาะ ตัวประมวลผลแบบลอจิคัลแต่ละตัวมี APIC ของตัวเอง และแต่ละรายการในระบบจะต้องมีค่า APIC ID ที่ไม่ซ้ำกัน หมายเลขนี้ถูกใช้โดยตัวควบคุมการขัดจังหวะเพื่อระบุที่อยู่เมื่อส่งข้อความ และโดยคนอื่นๆ (เช่น ระบบปฏิบัติการ) เพื่อระบุตัวประมวลผลแบบลอจิคัล ข้อมูลจำเพาะสำหรับตัวควบคุมอินเทอร์รัปต์นี้ได้พัฒนาจาก Intel 8259 PIC ผ่าน Dual PIC, APIC และ xAPIC เป็น x2APIC

ปัจจุบันความกว้างของตัวเลขที่เก็บไว้ใน APIC ID มีจำนวนถึง 32 บิตเต็มแล้ว แม้ว่าในอดีตจะถูกจำกัดไว้ที่ 16 บิต และก่อนหน้านี้มีเพียง 8 บิตเท่านั้น ปัจจุบัน เศษของวันเก่าๆ กระจัดกระจายไปทั่ว CPUID แต่ CPUID.0xB.EDX ส่งคืน APIC ID ทั้ง 32 บิต ในตัวประมวลผลแบบลอจิคัลแต่ละตัวที่ดำเนินการคำสั่ง CPUID อย่างอิสระ ค่าที่แตกต่างกันจะถูกส่งกลับ

ค้นหาความสัมพันธ์ในครอบครัว
ค่า APIC ID ไม่ได้บอกอะไรคุณเกี่ยวกับโทโพโลยี หากต้องการทราบว่าตัวประมวลผลแบบลอจิคัลตัวใดสองตัวที่อยู่ในตัวประมวลผลจริงตัวเดียว (กล่าวคือ เป็นตัวประมวลผลแบบ "พี่น้อง" ) ตัวไหนสองตัวอยู่ภายในตัวประมวลผลเดียวกัน และตัวใดเป็นตัวประมวลผลที่แตกต่างกันโดยสิ้นเชิง คุณจะต้องเปรียบเทียบค่า APIC ID ของตัวประมวลผลเหล่านั้น บิตบางส่วนจะตรงกันทั้งนี้ขึ้นอยู่กับระดับของความสัมพันธ์ ข้อมูลนี้มีอยู่ในรายการย่อย CPUID.0xB ซึ่งมีการเข้ารหัสตัวถูกดำเนินการใน ECX แต่ละคนอธิบายสถานการณ์ ฟิลด์บิตหนึ่งในระดับโทโพโลยีใน EAX (แม่นยำยิ่งขึ้นคือจำนวนบิตที่ต้องเลื่อนไปทางขวาใน APIC ID เพื่อลบ ระดับล่างโทโพโลยี) เช่นเดียวกับประเภทของเลเยอร์นี้ - ไฮเปอร์เธรด, คอร์หรือโปรเซสเซอร์ - ใน ECX

สำหรับตัวประมวลผลแบบลอจิคัลที่อยู่ภายในคอร์เดียวกัน บิต APIC ID ทั้งหมดจะตรงกัน ยกเว้นบิตที่อยู่ในฟิลด์ SMT สำหรับตัวประมวลผลแบบลอจิคัลที่อยู่ในตัวประมวลผลเดียวกัน บิตทั้งหมดยกเว้นฟิลด์ Core และ SMT เนื่องจากจำนวนแผ่นย่อยสำหรับ CPUID.0xB อาจเพิ่มขึ้น โครงการนี้จะช่วยให้เราสามารถรองรับคำอธิบายของโทโพโลยีด้วยจำนวนระดับที่มากขึ้น หากจำเป็นเกิดขึ้นในอนาคต ยิ่งไปกว่านั้น ยังสามารถแนะนำระดับกลางระหว่างระดับที่มีอยู่ได้

ผลที่ตามมาที่สำคัญของการจัดระเบียบโครงการนี้คือในชุด APIC ID ทั้งหมดของตัวประมวลผลลอจิคัลทั้งหมดของระบบอาจมี "ช่องโหว่" เช่น พวกเขาจะไม่ไปตามลำดับ ตัวอย่างเช่น ในโปรเซสเซอร์แบบมัลติคอร์ที่ปิด HT รหัส APIC ทั้งหมดอาจกลายเป็นเลขคู่ เนื่องจากบิตที่มีนัยสำคัญน้อยที่สุดที่รับผิดชอบในการเข้ารหัสหมายเลขไฮเปอร์เธรดจะเป็นศูนย์เสมอ

ฉันทราบว่า CPUID.0xB ไม่ใช่แหล่งข้อมูลเดียวเกี่ยวกับโปรเซสเซอร์แบบลอจิคัลที่มีอยู่ในระบบปฏิบัติการ รายการโปรเซสเซอร์ทั้งหมดที่พร้อมใช้งาน พร้อมด้วยค่า APIC ID จะถูกเข้ารหัสในตาราง MADT ACPI

ระบบปฏิบัติการและโทโพโลยี

ระบบปฏิบัติการให้ข้อมูลเกี่ยวกับโทโพโลยีของตัวประมวลผลแบบลอจิคัลแก่แอปพลิเคชันที่ใช้อินเทอร์เฟซของตนเอง

บน Linux ข้อมูลโทโพโลยีมีอยู่ในไฟล์เทียม /proc/cpuinfo รวมถึงเอาต์พุตของคำสั่ง dmidecode ในตัวอย่างด้านล่าง ฉันกรองเนื้อหาของ cpuinfo บนระบบ Quad-Core บางระบบที่ไม่มี HT เหลือเพียงรายการที่เกี่ยวข้องกับโทโพโลยี:

ข้อความที่ซ่อนอยู่

ggg@shadowbox:~$ cat /proc/cpuinfo |grep "processor\|physical\ id\|siblings\|core\|cores\|apicid" โปรเซสเซอร์: 0 ฟิสิคัล id: 0 พี่น้อง: 4 คอร์ id: 0 คอร์ซีพียู: 2 apicid: 0 apicid เริ่มต้น: 0 ตัวประมวลผล: 1 ฟิสิคัล id: 0 พี่น้อง: 4 คอร์ id: 0 แกน cpu: 2 apicid: 1 apicid เริ่มต้น: 1 ตัวประมวลผล: 2 ฟิสิคัล id: 0 พี่น้อง: 4 คอร์ id: 1 คอร์ซีพียู: 2 apicid: 2 apicid เริ่มต้น: 2 ตัวประมวลผล: 3 id ทางกายภาพ: 0 พี่น้อง: 4 core id: 1 cpu cores: 2 apicid: 3 apicid เริ่มต้น: 3

บน FreeBSD โทโพโลยีจะถูกรายงานผ่านกลไก sysctl ในตัวแปร kern.sched.topology_spec เป็น XML:

ข้อความที่ซ่อนอยู่

ผู้ใช้ @ โฮสต์: ~ $ sysctl kern.sched.topology_spec kern.sched.topology_spec: 0, 1, 2, 3, 4, 5, 6, 7 0, 1, 2, 3, 4, 5, 6, 7 0, 1 กลุ่มเธรดกลุ่มเอสเอ็มที 2, 3 กลุ่มเธรดกลุ่มเอสเอ็มที 4, 5 กลุ่มเธรดกลุ่มเอสเอ็มที 6, 7 กลุ่มเธรดกลุ่มเอสเอ็มที

ใน MS Windows 8 ข้อมูลโทโพโลยีสามารถดูได้ในตัวจัดการงาน ตัวจัดการงาน.

การแนะนำ.

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

โปรเซสเซอร์ที่ทันสมัยที่สุดประกอบด้วย:

  • หนึ่งคอร์หรือมากกว่านั้นที่ดำเนินการตามคำสั่งทั้งหมด
  • หน่วยความจำแคชหลายระดับ (ปกติ 2 หรือสามระดับ) เร่งการโต้ตอบของโปรเซสเซอร์กับ RAM
  • ตัวควบคุมแรม;
  • ตัวควบคุม บัสระบบ(DMI, QPI, HT ฯลฯ);

และมีลักษณะเฉพาะคือ พารามิเตอร์ต่อไปนี้:

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

ตัวย่อ แผนภาพบล็อกโปรเซสเซอร์มัลติคอร์ที่ทันสมัยแสดงในรูปที่ 1

มาเริ่มการทบทวนการออกแบบโปรเซสเซอร์โดยมีส่วนหลักนั่นคือแกนกลาง

แกนประมวลผลเป็นส่วนหลักซึ่งประกอบด้วยบล็อกการทำงานทั้งหมดและดำเนินการทางลอจิคัลและทางคณิตศาสตร์ทั้งหมด

รูปที่ 1 แสดงบล็อกไดอะแกรมของแกนประมวลผล ดังที่เห็นในรูป แต่ละคอร์ของโปรเซสเซอร์ประกอบด้วยบล็อกการทำงานหลายบล็อก:

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

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

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

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



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

ใน โปรเซสเซอร์ที่ทันสมัยโดยปกติจะมีหน่วยถอดรหัสคำสั่ง 2-4 หน่วย เช่น ในโปรเซสเซอร์ อินเทลคอร์ 2 แต่ละคอร์มีสองบล็อกดังกล่าว

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

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

บล็อกการดำเนินการคำสั่งรวมบล็อกหลายประเภท:

ALU – หน่วยตรรกะทางคณิตศาสตร์

FPU – อุปกรณ์สำหรับการดำเนินการจุดลอยตัว

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

MMX (ส่วนขยายมัลติมีเดีย) คือชุดคำสั่งที่พัฒนาโดย โดยอินเทลเพื่อเพิ่มความเร็วในการเข้ารหัสและถอดรหัสข้อมูลเสียงและวิดีโอสตรีมมิ่ง

SSE (ส่วนขยาย SIMD การสตรีม) คือชุดคำสั่งที่พัฒนาโดย Intel เพื่อดำเนินการตามลำดับเดียวกันบนข้อมูลหลาย ๆ ตัวในขณะที่ทำกระบวนการประมวลผลแบบขนาน ชุดคำสั่งได้รับการปรับปรุงอย่างต่อเนื่อง และในขณะนี้มีการแก้ไข: SSE, SSE2, SSE3, SSSE3, SSE4;

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

3DNow - ชุดคำสั่งที่พัฒนาโดย AMD เพื่อขยายขีดความสามารถของชุดคำสั่ง MMX

AES (Advanced Encryption Standard) คือชุดคำสั่งที่พัฒนาโดย Intel เพื่อเร่งความเร็วแอปพลิเคชันที่ใช้การเข้ารหัสข้อมูลโดยใช้อัลกอริธึมเดียวกัน

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

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

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

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

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

รีจิสเตอร์วัตถุประสงค์ทั่วไปจะใช้เมื่อดำเนินการทางคณิตศาสตร์และ การดำเนินการเชิงตรรกะหรือการดำเนินการเฉพาะด้าน ชุดเพิ่มเติมคำแนะนำ (MMX, SSE ฯลฯ)

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

ตัวนับโปรแกรม– รีจิสเตอร์ที่มีที่อยู่ของคำสั่งที่โปรเซสเซอร์จะเริ่มทำงานในรอบสัญญาณนาฬิกาถัดไป