שאלה מדוע x86 מייצג 32bit כאשר x64 מייצג 64bit? [סגור]


השאלה שלי היא מדוע קצרנות עבור x86 32 סיביות כאשר קצרנות עבור 64 סיביות הוא x64?

אני מניח שיש לזה קשר לימי ה- 38 וה- 486, כאשר מעבדי 32 הסיביות הסתיימו ב- 86, אבל אין ספק שהיו מעבדים שלא הסתיימו ב- 86 ועדיין היו 32 סיביות?

האם מישהו יודע את ההיסטוריה של זה או יכול לכוון אותי למקור טוב של מידע?

תודה


86
2017-10-06 14:48




תמיד רציתי לדעת את זה +1 עבור סקרנות לא מודע! - Gabriel Guimarães
רק שאלתי את עצמי את זה הבוקר! - Sean Howat
אני חושב שהמונח המלא אינו x64 אלא x86_64 - Kedare
IMHO, "x86" לא אומר (ומעולם לא התכוון) רק כל גנריות 32-bit אדריכלות. התשובה של דניאל להלן נותן את ההיסטוריה. יש הרבה מעבדים אחרים של 32 סיביות, כי שניהם בעת ובעונה אחת (או יותר) 80386, וכמה לא מעטים עדיין חי וקיים בשוק היום. משפחת 68000 (בשימוש המקורי Macintosh) הוא הרבה יותר מבוגר 8086, למשל. טענה של PowerPC לתהילה כאשר חדש היה חזק תמיכה הדמיה הן x86 ו 68k. ARM הוא 32 סיביות, יותר מודרני, וגם די נפוץ גם כן. - RBerteig
אני לא רואה את זה כמו x64, לפחות אני לא כותב את זה ככה. אני כותב את זה כמו 32b ו 64b, בהתאמה. - vol7ron


תשובות:


כנראה בגלל קו x86 הפך שם נרדף עם מעבדי 32 סיביות עבור די הרבה זמן, בעוד x64 היה במיוחד ייעוד עבור 64 ביט כמו יישומים ומערכות הפעלה היו מעבר מעל, ועכשיו יש יישומי תוכנה הדורשים את 64 סיביות ייעודו כדי לרוץ (כמו כמה תוכנות VM).

במילים אחרות, זה יותר שיווק מאשר הטכנולוגיה הסיבה.


32
2017-10-06 14:53



x86 מגיע 8086, 286, 386, 486, 586, וכו 'זה יכול היה להיות בקלות "* 86" - gWaldo
ובגלל x86 שמקורו עם 8086 מעולם לא הייתי מסוגל להבין למה זה תמיד קשור עם 32 סיביות. כפי שאני זוכר, 8086 היה מעבד 16 סיביות, אשר השתמשו ברישומים כפולים כדי לאפשר 32 סיביות זיכרון פונה. אינטל היתה רחוקה מלהיות מובילה בתחום באותם ימים. BTW @ gwaldo, אתה השארת את 80186. - John Gardeniers
צירוף מקרים. מוויקיפדיה ", הן הארכיטקטורה והן השבב הפיסי פותחו על ידי קבוצה קטנה של אנשים, תוך שימוש באותם יסודות מיקרו-ארכיטקטוניים בסיסיים ובטכניקות יישום פיזיות, כפי שנעשה ב -8085 (וגם 8086). כהמשך "). היה גם 8087 ו 8089. - Bart Silverstrim
כן, עזבתי את 80186 כי אני באמת לא יכול לזכור אם זה היה מוצר משוחרר (והיה מרגיש עצלן מכדי לחפש אותו ...) - gWaldo
תשובה זו אין שום דבר רע, אבל אני באמת חושב דניאל צריך להיות אחד קיבל, כפי שהוא הרבה יותר מפורט. - Massimo


ובכן, פעם היה שבב שנקרא 8086, עם גרסה זולה יותר בשם 8088 שהיה בשימוש במחשב אישי בשם IBM PC. גרסה משופרת של שבב זה נעשה וקרא 80186, אם כי זה לא היה גרסה מאוד פופולרי. עם זאת, גרסה משופרת משופרת נעשתה אז, ונקרא 80286. עכשיו, זה היה שבב פופולרי מאוד, בפרט כי זה היה בשימוש במחשב שנקרא IBM PC AT.

מאוחר יותר, אינטל, שיצרה ומכרה את השבבים 8086, 8088, 80186 ו- 80286, כולם בעלי ארכיטקטורה של 16 סיביות, ראתה את הצורך ליצור שבב של 32 סיביות להתחרות עם הצעות דומות של אחרים. כדי לנצל את המיקום המכהן שלה, זה עשה את השבב החדש מסוגל להריץ תוכנה עשה את הצ 'יפס שהוזכרו לעיל. באופן טבעי, אינטל כינה את השבב החדש 80386.

עד אז היו הרבה מחשבים באמצעות גרסאות שונות של שבבי אינטל, והיו גם שבבים שאינם אינטל התואמים את אלה של אינטל. אז אנשים התחילו להתייחס אליהם כמו 80x86.

לאחר זמן מה, אינטל השיקה שבב חדש, אבל היא החליטה להוריד את 80, כך שזה הפך את 486 במקום 80486. כמו כן, אנשים היו להפיל את "80" מ הקדמי של "80x86", וכינה את הדברים רק x86 .

עכשיו, אני די בטוח שכמה מהם יבואו ויגידו, אינטל מיתוג את השבבים x86 שלהם בזמן כזה, מה שהם עשו, אבל לא אכפת לי.

העובדה היא שהספרה האמצעית ההולכת וגדלה צמחה ל- 80x86, ו- x86 הגיע מזה - גם אם 80186 ו- 80286 לא היו 32 סיביות.

אז, פעם אינטל סוף סוף הלך 64 סיביות, איך זה נקרא אדריכלות חדשה? ימין! IA50 :-) זה גם רטרואקטיבית שמם את x86 כדי IA32, כביכול. רק IA64 לא היה תואם ל- x86, כלומר, IA32, כך שכולם התעלמו ממנו.

ואז הגיע AMD, שהחליט השוק רצה מעבד 64 סיביות זה היה תואם, ככל האפשר, עם משפחת x86. כערעור שיווקי הם כינו אותו "משפחת x86-64", והם היו מוצלחים מאוד. עד כדי כך אינטל בסופו של דבר בצעד איטי עם שלהם 64 סיביות CPU מבוסס על x86.

מאוחר יותר, כי אנשים הם עצלן, x86-64 הפך ידוע פשוט כמו x64.

אז, בתשובה לשאלה שלך, כי x64 הוא קצר מ x86-64.


172
2017-10-06 15:23



+1 להסבר מצוין. - Gup3rSuR4c
לא כדי לבחור, אבל כדי להיות מדויקת לחלוטין, AMD מעולם לא משווק שבב 64 סיביות. x64 או x86_64 ש- AMD יצא עם סיביות של 64 סיביות נוספו להוראת x86 שנקבעה על-ידי Intel - ולכן x86_64 בניגוד ל- Itanium (IA_64) של אינטל, שהיה שבב 64 סיביות אמיתי שאינו תואם את ערכת ההוראה x86. - Jeremy Hajek
בנוסף, אני מאמין אינטל התמודדו בעיות סימני מסחר, כי הם היו רק באמצעות מספרים ואתה לא יכול סימן מסחרי רצף של מספרים, ולכן למה היה 80586 הפך פנטיום, שם למעלה כי הם יכולים להמשיך סימן מסחרי. - cdkMoose
כדי להבהיר: AMD התקשר הרחבות שלהם AMD64, אינטל שיחות שלהם (כי הם מורשים מ- AMD) Intel64. יש כמה הבדלים מתוחכמים (הם אינם תואמים 100%), ולכן רוב ספקי מערכת ההפעלה משתמשים בדרך כלל בתת-ערכת השכיחה. ב- DVD של Windows 2008, תיקיית ההתקנה נקראת למעשה AMD64 (בניגוד ל- I386 ב- 32 סיביות). אני לא יודע מאיפה מגיע x86_64: מ- AMD מאחר שהוא הרחבה ל- x86 או מספקי Unix שרצו מונח נייטרלי. - Michael Stum♦
@ Jeremy Hajek: AMD64 / x86_64 הוא עיצוב שבב 64 סיביות נכון, מצב 64 סיביות הוא לא אמולציה ואין לה השפעה על הביצועים (ולמעשה, מצב 32 סיביות שלה הוא גם לא אמולציה). שבב יש 64-bit ערכת ו 64 סיביות רושמים, זה עושה את זה שבב 64 סיביות. אני לא יודע איפה אתה מקבל את הרושם כי AMD מעולם לא משווק שבב 64 סיביות מ. זה נכון, כי AMD אף פעם לא משווק 64 סיביות כי שובר תאימות עם שבב 32 סיביות, כמו אינטל עשה עם IA64 שלה. - Lie Ryan


מ ויקיפדיהYou המונח x86 מתייחס למשפחה של ארכיטקטורות שנקבעו על סמך מעבד Intel 8086.


14
2017-10-06 14:52





טכנית x86 פשוט מתייחס למשפחה של מעבדים ואת ערכת ההוראה הם כולם משתמשים. זה לא ממש אומר משהו ספציפי על גודל הנתונים.

x86 התחיל כמערכת הוראות של 16 סיביות עבור מעבדים של 16 סיביות (מעבדי 8086 ו- 8088), ולאחר מכן הורחב לסידור של 32 סיביות עבור מעבדי 32 סיביות (80386 ו- 80486), וכעת הוארך ערכת 64 סיביות עבור מעבדי 64 סיביות. זה היה אמור להיות כתוב 80x86 כדי לשקף את השינוי המשתנה באמצע מספרי שבב המודל, אבל איפשהו לאורך הקו 80 נשמט הקדמי, משאיר רק x86.

להאשים את הפנטיום וזה צאצאים לשנות את הדרך שבה המעבדים היו שם ושיווק, למרות שכל המעבדים החדשים יותר באמצעות ערכת ההוראה x86 של אינטל עדיין מתייחסים x86, i386, או i686 תואם (כלומר, כולם משתמשים הרחבות של 8086 המקורי סט הוראות).

x64 הוא באמת איש מוזר כאן. השם הראשון עבור סיומת 64 סיביות לערכת x86 נקרא x86-64. זה היה מאוחר יותר בשם AMD64 (כי AMD היו אלה לבוא עם סיומת 64 סיביות במקור). אינטל נתנה רישיון להרשאת 64 סיביות וקראה לה את גרסת EM64T. הן ערכות ההוראה והן המעבדים המשתמשים בהם עדיין נחשבים x86.


3
2018-06-07 05:50



x86-64 חוזר להיות מונח נייטרלי של הספק הכולל AMD64 ו- EM64T. המוביל 80 תמיד היה שם חלק, אבל אחרי 80186 זה הפך להיות יותר קל לומר רק 186 לעומת 8086 לעומת 386. פנטיום מעולם לא נקרא באופן רשמי 586 או 80586 במספרי החלק שלה (cpu-world.com/sspec/Pentium.html); את i586 ו i686 תנאי היו מבוססים רק על CPUID "משפחה" שדה של איך המעבדים דיווחו עצמם. - Peter Cordes


x86 ו- x64 הם שמות המעבד ארכיטקטורות. יש יותר ארכיטקטורה המעבד מאשר רק את מספר סיביות לכל לרשום.

x64 לוקח שם כי לקפוץ ל 64 סיביות הוא הגדול ביותר לשנות את הארכיטקטורה מ x86, אבל זה לקפוץ רחוק רק שינוי.

x86 מקבל את שמו מן המעבד 8086 ומשפחה נכבד, שכלל 80286, 80368, 486, וכו 'באותו זמן כי x86 הפך להיות הוקמה בשם של אדריכלות, 32 סיביות לכל להירשם לא נחשב תכונה מספיק חשובה כדי להצדיק את הבניין J לתוך השם.


3
2017-10-07 18:28





ובכן, x64 אף פעם לא בא ממש מתוך ערכת הדרכה או יצרן שבבים. זה במקור בא מ- Windows XP. המהדורה הראשונה של 64 סיביות של Windows קיבלה את התואר Windows XP x64. ואני מניח את המונח x64 תקוע משם.

ה x86 הכינוי מגיע ממערכת ההדרכה של 32bit. אז הכל x86 מעבדים (ללא מוביל 80) להפעיל את אותה קבוצה 32 ערכת ההוראה (ולכן כולם תואמים). לכן x86 הפך שם defacto עבור קבוצה זו (ולכן 32 ביט).

AMD של 64 סיומת המקורי על x86 סט נקרא AMD64. אינטל מורשה מאוחר יותר, אבל אפילו עדיין שם עבור 64 ביט x86 ערכת ההוראה היא בדרך כלל AMD64.

אבל בעיקר זה ההבחנה המותג. הנה מה כמה הפצות שונות מערכת ההפעלה הגדולות להתקשר כל טעם 64 סיביות:

אז בעצם, נראה לינוקס מעדיף x86_64, מעדיף BSD amd64 והאחרים x64...

אבל הדבר הגדול לציין כי כולם מתכוונים אותו הדבר למטרות שיווקיות. בעדינות הם עושים דברים שונים (טוב, amd64 פירושו משהו שונה x86_64 (לשעבר להיות ספק האדריכלות הספציפית, ואת השנייה המשנה של שתי ארכיטקטורות ספקים), אבל x86_64 === x64), אבל עבור מישהו מלבד מתכנתים בכתב הרכבה או קוד מכונה זה באמת לא עושה אחרת ...


2
2017-10-07 12:50



כל x64 הנוכחי הוא למעשה AMD-64 מאז IA64 מת. - Overmind
@ Overmind: x64 ו- IA-64 היו תמיד דברים נפרדים. IA-64 אינו קשור לחלוטין ל- x86 או ל- x86-64. (מלבד זה מוקדם IA-64 יישומים כלל ליבה x86 מסיבות תאימות, כי אינטל ...) - Peter Cordes
כן זה נכון. אבל "זה מת, ג'ים". - Overmind