Hacker News

כמה אוגרים יש למעבד x86-64? (2020)

כמה אוגרים יש למעבד x86-64? (2020) חקר זה מתעמק ברבים, בוחן את המשמעות והפוטנציאל שלו - Mewayz Business OS.

4 דקות קריאה

Mewayz Team

Editorial Team

Hacker News

למעבד x86-64 יש 16 אוגרים למטרות כלליות, אך קובץ הרגיסטר המלא גדול בהרבה - וכולל למעלה מ-100 אוגרים ארכיטקטוניים כאשר אתה כולל אוגרים של נקודה צפה, SIMD, מקטע, בקרה ואוגרים ספציפיים לדגם. הבנת התמונה המלאה חשובה בין אם אתה כותב קוד ברמה נמוכה, מנקה באגים בביצועי המערכת או פשוט מספק את הסקרנות שלך לגבי מה שקורה מתחת למערכת ההפעלה.

מהם 16 הרשמים לשימוש כללי ב-x86-64?

הרחבה של 64 סיביות של ארכיטקטורת x86 (AMD64/Intel 64) הכפילה את 8 הרשמים המקוריים לשימוש כללי של IA-32 ל-16. אלו הם סוסי העבודה של חישוב יומיומי - המשמשים עבור אריתמטיקה, כתובת זיכרון, ארגומנטים של פונקציות וערכי החזרה.

RAX, RBX, RCX, RDX - אוגרי ה"מצבר", ה"בסיס", "המונה" וה"נתונים" המקוריים, מורחבים כעת לרוחב של 64 סיביות

RSI, RDI - אינדקס מקור ואינדקס יעד, בשימוש תדיר עבור פעולות מחרוזת וארגומנטים של פונקציה

RSP, RBP - מצביע מחסנית ומצביע בסיס, קריטי לניהול מחסנית השיחה ומסגרות המחסנית

R8 עד R15 - שמונה אוגרים חדשים לגמרי שהוצגו ב-x86-64, שאינם קיימים בארכיטקטורת 32 סיביות, מה שמעניק למהדרים הרבה יותר גמישות לאופטימיזציה

כל אחד מהאוגרים של 64 סיביות אלו תואם לאחור, כלומר אתה יכול להתייחס ל-32 הסיביות התחתונות (למשל, EAX), 16 סיביות (AX), או אפילו חצאי 8 סיביות בודדים (AH, AL) - מורשת עיצוב המשתרעת עד ל-Intel 8086 מ-1978.

כמה רישומים בסך הכל יש ל-x86-64 בפועל?

המספר גדל במידה ניכרת ברגע שמסתכלים מעבר לרשמים למטרות כלליות. מעבד x86-64 מודרני חושף כמה מחלקות רישום נפרדות הן לתוכניות מרחב המשתמש והן לליבת מערכת ההפעלה:

אוגר RFLAGS הוא אוגר בודד של 64 סיביות המחזיק קודי מצב - דגל אפס, דגל נשיאה, דגל גלישה - השולטים בהסתעפות מותנית לאחר כל פעולה אריתמטית או לוגית. אוגר ה-RIP (מצביע הוראות) עוקב אחר הכתובת של ההוראה הבאה לביצוע ואינו ניתן לשינוי ישיר על ידי רוב ההוראות.

💡 הידעת?

Mewayz מחליפה 8+ כלים עסקיים בפלטפורמה אחת

CRM · חיוב · משאבי אנוש · פרויקטים · הזמנות · מסחר אלקטרוני · קופה · אנליטיקה. תוכנית חינם לתמיד זמינה.

התחל בחינם →

שישה אוגרי מקטעים (CS, DS, ES, FS, GS, SS) נותרו ממודל הזיכרון המפולח של ארכיטקטורות x86 קודמות. במצב 64 סיביות, רובם שרידיים, אבל FS ו-GS עדיין נמצאים בשימוש פעיל על ידי מערכות הפעלה כדי להצביע על מבני נתונים של אחסון מקומי ומעבד מקומי.

אז יש 16 אוגרי XMM (XMM0–XMM15) שהוצגו עם SSE, כל אחד ברוחב 128 סיביות. עם AVX, אלה הופכים לרישומי YMM של 256 סיביות, ועם AVX-512 הם מתרחבים הלאה לרגיסטרים של 512 סיביות ZMM - הוספת עוד 32 אוגרים לקובץ בחומרה נתמכת. אוגרי 8 x87 FPU מדור קודם (ST0–ST7), המאורגנים כמחסנית, מטפלים בחישוב נקודה צפה ברמת דיוק מורחב של 80 סיביות.

תובנה מרכזית: המספר הכולל של רגיסטרים הנראים לקוד מרחב המשתמש בתהליך x86-64 טיפוסי הוא בסביבות 40-50 (למטרה כללית, דגלים, מצביע הוראות, מקטע ואוגרי XMM). כאשר אתה מוסיף אוגרי שליטה במצב ליבה, אוגרי ניפוי באגים ומאות הרישומים הספציפיים של מודלים (MSR), מרחב האוגרים הארכיטקטוני המלא מגיע לאלפים - שברובם לעולם לא נוגעים תוכנה רגילה.

מדוע הכפיל x86-64 את ספירת הרישום למטרות כלליות?

הקפיצה מ-8 ל-16 רגיסטרים לשימוש כללי היה אחד השיפורים המעשיים ביותר ש-AMD עשתה בעת תכנון ההרחבה x86-64 בתחילת שנות ה-2000. 8 הרגיסטרים המקוריים יצרו צוואר בקבוק רציני: המהדרים נאלצו לשפוך כל הזמן משתנים לזיכרון (המחסנית) כי פשוט לא היו מספיק אוגרים להחזיק ערכי ביניים. שפיכה זו מייצרת הוראות עומס ואחסון נוסף, וצורבת גם זמן וגם רוחב פס של הזיכרון.

עם 16 רגיסטרים למטרות כלליות, קונבנצית הקריאה x86-64 (System V AMD64 ABI ב-Linux/macOS, Microsoft x64 ABI ב-Windows) יכולה להעביר את מספר הארגומנטים הראשונים של הפונקציה במלואם ברגיסטרים - שישה ארגומנטים שלמים ב-Linux (RDI, RSI, RDX, RCX, R8, R9) - מבלי לגעת בכלל בערימה. זה מפחית באופן דרמטי

Frequently Asked Questions

How many registers does x86-64 have compared to ARM64?

ARM64 (AArch64) provides 31 general-purpose 64-bit registers (X0–X30) plus a dedicated zero register and stack pointer — nearly double the 16 of x86-64. ARM's RISC design philosophy has always favored a larger register file to minimize memory traffic, which is a key contributor to ARM's power efficiency advantage in mobile and embedded contexts.

Can a program use all 16 general-purpose registers freely?

Not entirely. The calling convention reserves specific roles for certain registers. RSP is the stack pointer and must remain aligned. RBP is often used as the frame pointer. Callee-saved registers (RBX, RBP, R12–R15 on Linux) must be preserved across function calls. In practice, a function freely controls roughly 9–10 registers at any given time without special handling.

Do more registers always mean faster code?

More registers reduce spilling to memory, which generally improves performance — but only up to a point. Modern CPUs use out-of-order execution and register renaming to extract parallelism regardless of the architectural register count. Beyond a certain number of architectural registers, the diminishing returns are significant, which is why most ISAs stabilize in the 16–32 range for general-purpose registers.


Managing the technical complexity of modern software — from low-level infrastructure to high-level business operations — requires tools as powerful and well-structured as the systems you build on. Mewayz is a 207-module business operating system used by over 138,000 users to streamline everything from project management to marketing automation, starting at just $19/month.

Start your free trial at app.mewayz.com and discover how a unified platform can give your business the same kind of performance advantage that a well-optimized register file gives a CPU — less overhead, more throughput, and results that compound.

נסו את Mewayz בחינם

פלטפורמה כוללת ל-CRM, חשבוניות, פרויקטים, משאבי אנוש ועוד. אין צורך בכרטיס אשראי.

התחילו לנהל את העסק שלכם בצורה חכמה יותר היום

הצטרפו ל-30,000+ עסקים. תוכנית חינם לתמיד · אין צורך בכרטיס אשראי.

מצאתם את זה שימושי? שתף אותו.

מוכנים ליישם את זה בפועל?

הצטרפו ל-30,000+ עסקים שמשתמשים ב-Mewayz. תוכנית חינם לתמיד — אין צורך בכרטיס אשראי.

Start Free Trial →

Ready to take action?

התחל את ניסיון החינם של Mewayz היום

פלטפורמה עסקית All-in-one. אין צורך בכרטיס אשראי.

התחל בחינם →

14 ימי ניסיון חינם · ללא כרטיס אשראי · ביטול בכל עת