x86 לעומת x64
ההבדל החשוב ביותר בין x86 ל-x64 הוא שהראשון הוא ארכיטקטורת 32 סיביות והשני הוא ארכיטקטורת ערכת ההוראות של 64 סיביות. ארכיטקטורת ערכת הוראות (ISA) היא מונח חשוב מאוד שמתאים לכל מעבד. הוראות, כתובת זיכרון, אוגרים וחלקים ארכיטקטוניים רבים אחרים של מעבד מוגדרים על ידי ה-ISA. x86 הוא ISA מפורסם בעולם שהציגה אינטל בשנת 1978 עם מעבד 8086. ואז קרו הרחבות שונות, ובשנת 2000, AMD יצרה את המפרט להרחבת הוראות ה-x86 ל-64bit תחת השם AMD64. מאוחר יותר גם חברות אחרות כמו אינטל יישמו את המפרט הזה וה-AMD64 הזה הוא זה שמזוהה בשם x64.
מה זה x86?
x86 היא ארכיטקטורת ערכת הוראות שהציגה אינטל עם מעבד 8086 המפורסם. בשנת 1978 הציגה אינטל את מעבד 8086 שהיה מעבד 16 סיביות. אחר כך הם הציגו מעבדים שונים כמו 80186, 80286, 80386 ו-80486, וכולם היו תואמים לאחור עם ערכת ההוראות המקורית ששימשה במעבד 8086. מכיוון שכל המעבדים הללו מסתיימים במספר 86, ארכיטקטורת ערכת ההוראות זוהתה בשם x86. עם הצגת 80386, הוראת x86 הורחבה למערכת 32bit. כאן, 32 סיביות פירושו שכל האוגרים, אפיק הזיכרון ואפיק הנתונים הם 32 סיביות. לאחר מכן הגיעו מעבדי פנטיום כ-Pentium I, Pentium II, Pentium III, Pentium IV וכל אלה עקבו גם אחר ארכיטקטורת 32 סיביות. אבל הרחבות שונות אחרות קרו לארכיטקטורת x86, כמו הוספת הוראות כמו MMX, SSE ו-SSE2. מלבד זאת, נעשו גם שיפורים רבים אחרים. לאחר מכן, ערכת ההוראות של x86 הורחבה לקבוצת הוראות של 64 סיביות ומנקודה זו ואילך היא נקראה כ-x64, שעליה נדון בסעיף הבא.בכל מקרה, באופן כללי, x86 מתייחס לארכיטקטורת 32bit שהתפתחה מארכיטקטורת 16bit שהגיעה עם מעבד 8086.
8086 מעבד
מה זה x64?
מערכת של 32 סיביות יכולה לייצג רק 232 ערכים נפרדים, ולכן, כתובת הזיכרון מוגבלת למספר זה של כתובות. 232 בתים שווים ל-4 GB ולפיכך, ל-x86 הייתה מגבלת זיכרון שניתן לכתובת מקסימלית של 4 GB. על מנת להתגבר על כך, נעשו הרחבות נוספות לארכיטקטורת x86. AMD, בסביבות שנת 2000, הציגה מפרט כזה שהרחיב את ארכיטקטורת x86 ל-64 סיביות.זה הוצג תחת השם AMD64. x64 הוא שם נוסף שניתן לארכיטקטורת AMD64 זו. ארכיטקטורת AMD64 או x64 זו ידועה גם תחת השם x86_64. עם ארכיטקטורת 64 סיביות, כל הרגיסטרים הפכו ל-64 סיביות ואפיק הזיכרון ואפיק הנתונים הפכו גם הם ל-64 סיביות. כעת ניתן להתייחס ל-264 לערכים נפרדים וזה נותן גבול עליון ענק על הזיכרון המרבי האפשרי. AMD K8 היה המעבד הראשון שיישם ארכיטקטורת 64 סיביות זו. אז גם אינטל אימצה את הארכיטקטורה הזו. עם מעבדי Intel Core שהתחילו מ-Intel Core 2, אינטל החלה להשתמש בארכיטקטורה זו במעבדים שלהם. נכון לעכשיו, כל מעבדי אינטל כגון Core i3, Core i5 ו-Core i7 משתמשים בארכיטקטורת x64 זו. כמה דברים שחשוב להדגיש הוא שארכיטקטורת x64 זו עדיין תואמת לאחור עם ערכת ההוראות הישנה של x86.
מעבד 64 סיביות
מה ההבדל בין x86 ל-x64?
• x86 הוצג בערך בשנת 1978 בעוד ש-x64 עלה לאחרונה בשנת 2000.
• x86 נוצר מהמעבד המפורסם של אינטל 8086, ולכן, x86 הוצג על ידי אינטל. אבל x64, שהגיע כהרחבה ל-x86, הוצג על ידי AMD.
• ארכיטקטורת x86 היא 32bit. (מעבדי x86 ראשונים היו 16 סיביות, אך במעבדים מאוחרים יותר בוצעה הרחבה ל-32 סיביות). ארכיטקטורת x64 היא 64 סיביות.
• למעבדים עם ארכיטקטורת ערכת הוראות x86, לפיכך, יש אוגרים של 32 סיביות, אפיק זיכרון של 32 סיביות ואפיק נתונים של 32 סיביות. אבל ל-x64 יש אוגרים של 64 סיביות, אפיק זיכרון של 64 סיביות ואפיק נתונים של 64 סיביות.
ל-
• ל-x86 יש מגבלה על זיכרון מרבי שניתן לכתובות שהיא גבול עליון של 4 GB (232 בתים). אבל, במערכות x64, המגבלה הזו היא עצומה, שהיא 264 בתים.
• x64 היא הרחבה של x86; לכן, הוא הרבה יותר משופר וחזק מה-x86 הישן.
• ערכים שניתן לאחסן במאגר, במערכת x64, גדולים יותר מערכים שניתן לאחסן במאגר מבוסס x86. לכן, x64 יכול להתמודד עם חישוב של מספרים שלמים גדולים הרבה יותר מהר, מכיוון שאין צורך להשתמש במספר אוגרים במקרה כזה כדי לפצל את הערך ולאחסן כמו ב-x86.
• x64 יכול לשדר במקביל נתונים בגודל גדול יותר לאורך אפיק הנתונים. כלומר, אפיק נתונים של 64 סיביות יכול לשדר במקביל 64 סיביות ואילו ארכיטקטורת x86 שיש לה אפיק של 32 סיביות יכולה לשדר במקביל רק 32 סיביות.
סיכום:
x86 לעומת x64
x86 ארכיטקטורת ערכת ההוראות היא 32 סיביות ואילו ארכיטקטורת ערכת ההוראות של x64 היא 64 סיביות. x64 הגיע כהרחבה של ארכיטקטורת x86 הקיימת. הרגיסטרים, אפיק הזיכרון, אפיק הנתונים בארכיטקטורות x86 הם 32 סיביות בעוד שזה 64 סיביות ב-x64. לכן, כמות הזיכרון המקסימלית שניתן לכתובת גבוהה בהרבה במערכות x64 מאשר במערכות x86.x86 הוצג על ידי אינטל עם מעבד 8086 שהיה מעבד 16 סיביות ועם הזמן ה-x86 הזה הוארך ל-32 סיביות. מאוחר יותר, AMD הציגה את ארכיטקטורת x64 על ידי הרחבת ארכיטקטורת x86 הקיימת ו-x64 זה תואם לאחור לחלוטין עם ערכת הוראות x86.