ตัวประมวลผลร่วม : สถาปัตยกรรม การทำงาน ประเภท และการใช้งาน

ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา





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


โปรเซสเซอร์ร่วมคืออะไร?

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



  โปรเซสเซอร์ร่วม
โปรเซสเซอร์ร่วม

สถาปัตยกรรมตัวประมวลผลร่วม

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

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



  สถาปัตยกรรมตัวประมวลผลร่วม 8087
สถาปัตยกรรมตัวประมวลผลร่วม 8087

ในหน่วยควบคุม มีหน่วยต่างๆ เช่น บัฟเฟอร์ข้อมูล การลงทะเบียนคำควบคุมและสถานะ คิวตัวดำเนินการที่ใช้ร่วมกัน ตัวชี้ข้อยกเว้น และหน่วยระบุที่อยู่และการติดตามบัส Numeric Execution Unit หรือ NEU ส่วนใหญ่ประกอบด้วยหน่วยควบคุมไมโครโค้ด, register stack, shifter ที่ตั้งโปรแกรมได้, ชั่วคราว ลงทะเบียน , โมดูลเลขคณิต, โมดูลเลขชี้กำลัง & คิวตัวดำเนินการที่ใช้ร่วมกัน

หน่วยควบคุมในตัวประมวลผลร่วมคือการควบคุมการดำเนินการตามคำสั่ง (IE) ซึ่ง Numeric Execution Unit รับผิดชอบ โดยส่วนใหญ่ หน่วยควบคุมไมโครโค้ด (CU) ของหน่วยการดำเนินการที่เป็นตัวเลขจะได้รับคำสั่งที่เป็นตัวเลขจากหน่วยควบคุมของตัวประมวลผลร่วม โปรเซสเซอร์ร่วมนี้มี 8 รีจิสเตอร์ทั้งหมด 80 บิต และแต่ละตัวใช้ในสแต็ก LIFO ตัวถูกดำเนินการที่คำสั่งตัวประมวลผลร่วมจะเกิดขึ้นในสแต็กการลงทะเบียน

  พีซีบีเวย์

สแต็กที่มีอยู่จะถูกชี้ผ่าน SP (ตัวชี้สแต็ก) แบบ 3 บิต ซึ่งเก็บค่าไบนารีตั้งแต่ 000 – 111 เพื่อแสดงรีจิสเตอร์สแต็ก 8 ตัว ทำงานเป็นวงกลมซ้อนกันในโหมด LIFO แต่เมื่อการดำเนินการรีเซ็ตเกิดขึ้น ตัวชี้สามารถเริ่มต้นได้ด้วยค่าไบนารี '000'

ข้อมูลตัวเลขสามประเภทที่ฟังก์ชันตัวประมวลผลร่วมประกอบด้วยตัวเลขทศนิยม จำนวนจริง และจำนวนเต็มไบนารี จำนวนเต็มไบนารีมีสามประเภท คือ จำนวนเต็มเวิร์ด 16 บิต จำนวนเต็มสั้น 32 บิต และจำนวนเต็มยาว 64 บิต รูปแบบ BCD 80 บิตหมายถึงตัวเลขทศนิยมที่บรรจุในขณะที่จำนวนจริงมี 3 ประเภท; เรียลสั้น 32 บิต เรียลยาว 64 บิต และเรียลชั่วคราว 80 บิต

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

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

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

โปรเซสเซอร์ร่วมทำงานอย่างไร

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

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

ประเภทของโปรเซสเซอร์ร่วม

มีตัวประมวลผลร่วมที่แตกต่างกันตามผู้ผลิตดังต่อไปนี้

โปรเซสเซอร์ร่วม Intel 8087

Intel 8087 เป็นโปรเซสเซอร์ร่วมที่ออกแบบมาเป็นพิเศษซึ่งใช้ในการคำนวณทางคณิตศาสตร์ซึ่งรวมถึงค่าทศนิยมและจำนวนเต็ม บางครั้งเรียกอีกอย่างว่าตัวประมวลผลข้อมูลตัวเลขและตัวประมวลผลทางคณิตศาสตร์ นี่คือโปรเซสเซอร์ร่วมที่เป็นตัวเลขสำหรับโปรเซสเซอร์ Intel 80188, 8086, 80186 & 8088 โปรเซสเซอร์ร่วม 8087 ประกอบด้วยรีจิสเตอร์ทั่วไป 80 บิตแปดตัวซึ่งทำงานเป็นสแต็ก ดังนั้น การดำเนินการของจุดลอยตัวทั้งหมดทำได้โดยใช้ข้อมูลจากสแต็กและจากหน่วยความจำภายนอก

  โปรเซสเซอร์ร่วม Intel 8087
โปรเซสเซอร์ร่วม Intel 8087

โปรเซสเซอร์ร่วม Intel 8087 รองรับ BCD, จำนวนเต็ม, เลขทศนิยมแบบเดี่ยวและแบบคู่ และเลขทศนิยมแบบขยายที่มีความแม่นยำ เมื่อโปรเซสเซอร์ 8087 โหลดข้อมูลจากหน่วยความจำ ก็จะแปลงภายในเพื่อเพิ่มจำนวนความแม่นยำ & การคำนวณทั้งหมดจะดำเนินการผ่านหมายเลขนี้

ดังนั้นการเปลี่ยนจากตัวเลขที่มีความแม่นยำสองเท่าเป็นตัวเลขที่มีความแม่นยำเพียงตัวเดียว หรือเปลี่ยนจากจำนวนเต็ม 64 บิต – ตัวเลขจำนวนเต็ม 32 บิต/16 บิตไม่ได้ให้ประสิทธิภาพที่เพิ่มขึ้นมากนัก โปรเซสเซอร์ร่วม 8087 ไม่ได้ผลิตโดย Intel เท่านั้น แต่ AMD, Cyrix & IBM ยังผลิตโปรเซสเซอร์ร่วมเหล่านี้ด้วย

โมโตโรล่า 68881

Motorola 68881 เป็นโปรเซสเซอร์ร่วมที่ใช้กับ Motorola 68K รุ่นที่ 2 เป็นหลัก ไมโครโปรเซสเซอร์ เช่น Motorola 68030 & 68020 ในทางทฤษฎี ตัวประมวลผลร่วมนี้ใช้กับ CPU รุ่นก่อนหน้า 68000 หรือ 68010 เป็นอุปกรณ์ต่อพ่วง

  โมโตโรล่า 68881
โมโตโรล่า 68881

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

โปรเซสเซอร์ร่วม Motorola 68881/68882 ถูกนำมาใช้ในเวิร์กสเตชัน IBM RT PC, เวิร์กสเตชัน Sun Microsystems Sun-3, NeXT Computer, ตระกูล Apple Computer Macintosh II, Amiga 3000, Sharp X68000, Convergent Technologies MightyFrame, TT, Atari Mega STE & Falcon โปรเซสเซอร์เหล่านี้ยังใช้ในผลิตภัณฑ์ Atari & Amiga ของบริษัทอื่น เช่น อุปกรณ์ที่แมปหน่วยความจำกับ 68000

โปรเซสเซอร์ Apple Motion Co

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

  โปรเซสเซอร์ Apple Motion Co
โปรเซสเซอร์ Apple Motion Co

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

ความแตกต่างระหว่างโปรเซสเซอร์และโปรเซสเซอร์ร่วม

ความแตกต่างระหว่างตัวประมวลผลและตัวประมวลผลร่วมมีดังต่อไปนี้

โปรเซสเซอร์

โปรเซสเซอร์ร่วม

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

โปรเซสเซอร์ดูแลงานหลักทั้งหมด

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

ข้อดี

ข้อดีของตัวประมวลผลร่วมมีดังต่อไปนี้

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

ข้อเสีย

ข้อเสียของโปรเซสเซอร์ร่วมมีดังต่อไปนี้

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

แอพพลิเคชั่น

แอปพลิเคชันของตัวประมวลผลร่วมมีดังต่อไปนี้

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

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