ในโปรเซสเซอร์ก่อนหน้านี้รีจิสเตอร์ทั้งหมดไม่เท่ากัน:
- ชิปมีพื้นที่ว่างไม่เพียงพอที่จะมีหน่วยแอดเดอร์สำหรับการลงทะเบียนแต่ละครั้ง
- ด้วย 8 บิตมี opcodes ไม่เพียงพอสำหรับการรวมแหล่งที่มาและปลายทางที่เป็นไปได้ทั้งหมด
ดังนั้นสมมติว่าการลงทะเบียนหนึ่งครั้งนั้นมีความเกี่ยวข้องเสมอเมื่อ adder เกี่ยวข้องทำให้ชิปซับซ้อนน้อยลงและ opcodes สั้นลง
เช่น 6510 (ใช้ใน Commodore 64) สามารถเพิ่มได้โดยใช้ register A และการทำดัชนีใช้ X หรือ Y เท่านั้นมีคำสั่ง INC X และ INC Y แต่ไม่มี INC A.
เนื่องจากรีจิสเตอร์มีประเพณีที่แตกต่างกันจึงช่วยให้จำได้ถูกเลือกให้สะท้อนถึงการใช้งาน เช่น A, X และ Y ใน 6510 (แทน A, B และ C)
ชื่อใน 8086 ได้รับเลือกให้สะท้อนถึงการใช้งานของพวกเขาเช่นกัน ด้วยการลงทะเบียนวัตถุประสงค์ทั่วไป 4 รายการจึงมีเหตุผลที่จะตั้งชื่อพวกเขาว่า AX, BX, CX และ DX รีจิสเตอร์การจัดทำดัชนีเพิ่มเติมเรียกว่า BP และ SP (ตัวช่วยจำ: Base Pointer, Stack Pointer)
เนื่องจาก opcodes หลายตัวขยายไปถึง 16 บิตมีพื้นที่บางส่วนเพื่อระบุว่าใช้หนึ่งในสี่ของเรจิสเตอร์ใด อย่างไรก็ตามเหตุผลทางประวัติศาสตร์บางส่วนยังคงมีผลบังคับใช้เนื่องจาก CX เป็นบิตพิเศษ: REP และไลค์ซึ่งเป็น 8 บิต opcodes ให้ใช้ CX เป็นตัวนับเสมอ ตัวช่วยจำอย่างง่าย CX = ตัวนับช่วยให้จดจำว่าจะใช้อันไหน
opcodes สำหรับผู้สืบทอดในยุค 8086 นั้นจะต้องมีความเข้ากันได้แบบย้อนหลังและมีความยุ่งเหยิงเนื่องจากความยาวของตัวแปร opcodes เมื่อบัส 32 บิตกลายเป็นเรื่องธรรมดาตัวประมวลผลที่มีความยาว opcode คงที่จะถูกลอง สิ่งนี้ทำให้ส่วนการถอดรหัสของ CPU ง่ายขึ้นซึ่งเพิ่มพื้นที่ว่างที่สามารถใช้สำหรับการลงทะเบียนเพิ่มเติม
ตัวประมวลผลที่ตามแนวความคิดนี้เรียกว่าโปรเซสเซอร์ RISC (ลดการเรียนการสอนซีพียู) เพื่อเปรียบเทียบกับ CISC (CPU ชุดคำสั่งที่ซับซ้อน)
การลงทะเบียนมากขึ้นส่งผลให้หน่วยความจำรั่วไหลน้อยลง โดยทั่วไปการลงทะเบียนเป็นแคชที่เร็วที่สุดที่มีอยู่ดังนั้นการเพิ่มจำนวนการลงทะเบียนจึงเป็นความคิดที่ดีแม้กระทั่งทุกวันนี้ การขาดคำแนะนำเฉพาะคือ (หวังว่ามากกว่า) ได้รับการชดเชยโดยคำแนะนำง่ายๆที่รวดเร็วกว่า
ความยาวคงที่ 32 บิต opcodes มีพื้นที่เพียงพอที่จะรวมแหล่งที่มาแหล่งที่สองการดำเนินการและปลายทาง SPARCจัดการเพื่อบีบ 5 บิตสำหรับแต่ละแหล่งที่มาที่สองและปลายทางและมี 32 เรจิสเตอร์ที่มองเห็นได้ในเวลาเดียวกัน
32 รีจิสเตอร์มีจำนวนมากเกินกว่าที่จะใช้ตัวอักษรและพวกเขาส่วนใหญ่เท่ากันอยู่แล้วดังนั้นการกำหนดหมายเลขเป็นตัวเลือกที่ชัดเจน 'R' ถูกใช้เพื่อแยกพวกมันออกจากค่าคงที่ 0..31 และ 'R' เป็นตัวช่วยจำที่ง่ายสำหรับการลงทะเบียน ดังนั้น: R0..R31
ในช่วงหลายปีที่ผ่านมา Pentium และผู้สืบทอดของ บริษัท ได้รักษาความเข้ากันได้แบบย้อนหลัง อย่างไรก็ตามแนวความคิด RISC ที่ประสบความสำเร็จก็มีอยู่มากมายเช่นกัน บ่อยครั้งคำแนะนำเหมือน RISC ใหม่เหล่านี้จะทำงานได้เร็วกว่ารุ่นที่ใช้งานร่วมกันได้
จำนวนการลงทะเบียนก็เพิ่มขึ้นโดย Intel เพื่อลดจำนวนการเข้าถึงหน่วยความจำ
และในที่สุด Intel ก็เริ่มใช้ R-สัญกรณ์ ความเข้ากันได้ย้อนหลังจะทำให้แน่ใจได้ว่า AX, BX, ... จะยังคงอยู่ แต่ฉันจะเดิมพันว่า AX เป็นเพียงคำพ้องความหมายเช่น R0
คำเตือน : ข้างต้นเป็นมุมมองของฉันในประวัติศาสตร์ มันจะไม่สมบูรณ์เนื่องจากฉันไม่ได้อยู่ใกล้ ๆ เพื่อเป็นสักขีพยานในส่วนแรกของประวัติศาสตร์มือแรก อย่างไรก็ตามฉันหวังว่ามันจะมีประโยชน์สำหรับบางคน