ด้วยการประกาศในสัปดาห์แรกนี้ Apple Macintosh ใช้โปรเซสเซอร์ที่มี ISA ARMหลังจากที่ได้ประกาศการเปลี่ยนแปลงโดย Apple เมื่อไม่กี่เดือนที่ผ่านมาหัวข้อ ARM vs x86 ได้ปรากฏขึ้นและคำถามที่ว่าเหตุใดจึงไม่มี CPU ที่มี ISA x86 ในอุปกรณ์ที่ใช้พลังงานต่ำจึงปรากฏขึ้นอีกครั้ง แต่อะไรคือแรงจูงใจและตำนานที่อยู่รอบ ๆ ปัญหานี้?
หากคุณเคยสงสัยว่าทำไมคุณไม่เห็นสมาร์ทโฟนแท็บเล็ตและอุปกรณ์ทุกชนิดที่ใช้โปรเซสเซอร์ x86 ที่มีการบริโภคต่ำกว่า 10 W และแม้แต่ 5 W. ให้เราบอกคุณว่ามันไม่ได้เกิดจากการขาดความสนใจ อินเทล or เอเอ็มดีแต่มีสาเหตุหลายประการสำหรับสิ่งนี้ชุดของอุปสรรคที่ผ่านไม่ได้ที่เกี่ยวข้องกับลักษณะของสถาปัตยกรรม x86
ARM เทียบกับ x86 หรือ CISC เทียบกับ RISC
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 จึงประหยัดพื้นที่ในแง่ของจำนวนหน่วยความจำ
ตัวอย่างเช่นรหัสเครื่องของผลรวมใน RISC จะเป็นดังต่อไปนี้:
- จัดเก็บตัวถูกดำเนินการตัวแรกในทะเบียนตัวสะสม
- โหลดตัวถูกดำเนินการที่สองและทำการเพิ่ม
- เก็บผลลัพธ์ไว้ในทะเบียนตัวสะสม
แทนบนโปรเซสเซอร์ CISC:
- เพิ่มตัวถูกดำเนินการตัวแรกและตัวที่สอง
สำหรับรหัสเครื่องก 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 Medfield ที่ล้มเหลว
ยิ่งไปกว่านั้นหนึ่งในความเป็นไปได้ที่ได้รับการพิจารณาคือการสร้างไฟล์ CPU ผสม ซึ่งประกอบด้วย x86 ที่ถอดรหัสคำสั่งภายในเป็นคำสั่ง ARM และช่วยให้สามารถใช้งานร่วมกันได้อย่างสมบูรณ์ระหว่างสอง ISAS ซึ่งจะเป็นโปรเซสเซอร์ขั้นสุดท้าย
แต่น่าเศร้าที่ ARM หรือ Intel และ AMD โดยเฉพาะอย่างยิ่งรุ่นหลังไม่สนใจที่จะสร้างโปรเซสเซอร์แบบผสมนี้ตั้งแต่นั้นมา ทำงานในทั้งสองโหมดมันจะยากมากที่จะบรรลุ นอกเหนือจากนั้นการถอดรหัสคำสั่ง x86 จะยังคงเป็นปัญหาดังนั้นเราจะมีโปรเซสเซอร์ที่สามารถทำงานได้เพียงวิธีเดียวและส่วนใหญ่จะสูญเสียวงจร