ARM เทียบกับ x86 เหตุใดพลังงานหนึ่งจึงมีประสิทธิภาพมากกว่าอื่น ๆ

ARM เทียบกับ x86

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

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

ARM เทียบกับ x86 หรือ CISC เทียบกับ RISC

RISC เทียบกับ CISC

ARM ย่อมาจาก Advanced RISC Machines ในขณะที่ทุกเครื่องใช้ x86 ซีพียู กล่าวกันว่ามีชุดคำสั่งเหมือน CISC แต่นี่หมายความว่าอย่างไร? RISC ย่อมาจาก Reduced Instruction Set Computing หรือ Computing with a Reduced Instruction Set ในขณะที่ CISC ย่อมาจาก Complex Instruction Set Computing ดังนั้นจึงเป็นวิธีการจำแนกชุดคำสั่งที่ใช้โดยโปรเซสเซอร์ที่แตกต่างกัน

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

ตัวประมวลผล Render Genérico

ตัวอย่างเช่นรหัสเครื่องของผลรวมใน RISC จะเป็นดังต่อไปนี้:

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

แทนบนโปรเซสเซอร์ CISC:

  1. เพิ่มตัวถูกดำเนินการตัวแรกและตัวที่สอง

สำหรับรหัสเครื่องก RISC ไบนารี มีคำแนะนำเพิ่มเติมดังนั้น ใช้หน่วยความจำมากขึ้น ในขณะที่ใน CISC ไบนารีโค้ดจะเบากว่ามาก

วงจรคำสั่งของโปรเซสเซอร์

เรียกถอดรหัสดำเนินการ

โปรเซสเซอร์ทุกตัวไม่ว่าจะเป็น CISC หรือ RISC ต้องผ่านขั้นตอนต่างๆสี่ขั้นตอน ได้แก่ :

ดึงข้อมูล: คำสั่งต่อไปนี้ถูกดึงมาในหน่วยความจำ

ถอดรหัส: คำสั่งถูกถอดรหัสและเตรียมพร้อมสำหรับการดำเนินการ

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

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

การแบ่งกลุ่มบน x86 เทียบกับ ARM

การแบ่งส่วน

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

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

ไม่เพียงแค่นั้น แต่ในขณะที่ตัวอย่างเช่น opcodes ของแต่ละคำสั่งใน ARM มีขนาดคงที่ในกรณีของ x86 ซึ่งเป็นตัวแปรซึ่งทำให้การถอดรหัสคำสั่งใน microinstructions ซับซ้อนมากขึ้นในกรณีของโปรเซสเซอร์ x86

บันทึกที่น้อยลงเท่ากับประสิทธิภาพการใช้พลังงานน้อยลง

ประวัติ

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

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

x86 เทียบกับ ARM บนอุปกรณ์ที่ใช้พลังงานต่ำมาก

สมาร์ทโฟน Intel

Intel ลองใช้งานเมื่อสองสามปีก่อนด้วยโปรเซสเซอร์ Intel Medfield ที่ล้มเหลว

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

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