x86

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש
מעבדי 386 ו־486 של אינטל

x86 היא שמה של ארכיטקטורת פקודות והוראות (ISA) למעבדים המבוסס על המעבד 8086 של אינטל. נכון ל־2017, מעבדים המבוססים על ארכיטקטורת x86 והרחבתה (x64, ובשמה הנוסף AMD-64) הם הנפוצים ביותר במחשבים שולחניים־ביתיים, מחשבים ניידים, ושרתים.

הרבה הרחבות ותוספות חוברו ל x86 לאורך השנים כמעט תמיד עם תמיכה לאחור. הארכיטקטורה יושמה במעבדים של יצרני מעבדים רבים כגון:  Intel, CyrixAMDVIA ועוד.

אינטל החלה לעבוד בשם המסחרי "פנטיום" למחשבים המתקדמים בארכיטקטורה זו, לאחר שבית משפט קבע שמספר לא יכול להיות סמל מסחרי. שמה של ארכיטקטורת x86 זו הורחב פעמיים. בשנת 1985, אינטל הוציאה לשוק המעבדים את המעבד 386 32 ביט כדי שיחליף את ה־286 16 ביט, שהיה נפוץ באותה תקופה.

בשנת 2003 הציגה AMD את מעבד האת'לון 64 (Athlon 64) בעל ארכיטקטורת x64, אשר מרחיבה ותומכת לאחור בx86, ונקראת בשפה המקצועית EM64T, AMD64 או x86-64.

היסטוריה[עריכת קוד מקור | עריכה]

ארכיטקטורת x86 הופיעה לראשונה במעבד 8086 בשנת 1978. מעבד ה־8086 החליף את המעבד הקודם, אינטל 8080 (שבעצמו החליף את אינטל 4004 וה־8008). בזכות בחירתו של ה־8086 על ידי IBM כמעבד של המחשב האישי הראשון מתוצרתה, הפכה ארכיטקטורת x86 לנמכרת והמצליחה ביותר בשוק המעבדים.

מלבד אינטל, חברות רבות יצרו מעבדים מארכיטקטורת ה־x86 ובהן: Cyrix, NEC Corporation, IBM, IDT, Transmeta. החברה המצליחה ביותר מבין החברות המתחרות באינטל ליצור מעבד בארכיטקטורה זו הייתה AMD כשהציגה את סדרת את'לון, סדרה זו לא הייתה נפוצה כמו הפנטיום אך על־פי מחקר שנערך בשנת 2006 מכירותיה של AMD בשוק המחשבים הביתיים עלו על אלו של אינטל.

בשנת 2001 הוציאה אינטל לשוק את מעבדי האיטניום, התומכים בארכיטקטורת 64 ביט, בשם המסחרי IA-64.

האוגרים בארכיטקטורת x86[עריכת קוד מקור | עריכה]

ארכיטקטורת x86 מיישמת מספר אוגרים. חלק מהאוגרים מורכב בצורה מבנית מיוחדת כך שכאשר אוגר מסוים, למשל EAX, שווה לערך H 78563412 (ספירה הקסדצימלית), AX ישקף את המילה התחתונה של EAX ויהיה שווה ל־3412, ה־AH (מ־High) ישקף את הבית הגבוה של AX ויהיה שווה ל־34, וה־AL (מ־Low) ישקף את הבית הנמוך של AX ויהיה שווה ל־12:

12 34 56 78
AL AH -
AX -
EAX

להלן האוגרים הקיימים בכל מעבדי אינטל תואמי־x86:

אוגר תפקיד סוג חלק תחתון חלק עליון גרסת 32 סיביות
AX צובר - Accumulator אוגר נתונים AL AH EAX
האוגר הפעיל ביותר, עליו נערכות הרבה מהפעולות האריתמטיות.
BX בסיס - Base אוגר רב־תכליתי BL BH EBX
משמש לאכסון כללי, אך במיוחד לפנייה לאזורים בזיכרון, כשמקטע ברירת המחדל שלו הוא DS.
CX מונה - Counter אוגר נתונים CL CH ECX
משמש לאכסון כללי, אך במיוחד כמונה חזרות לפקודות מסוימות.
DX נתונים - Data אוגר נתונים DL DH EDX
משמש לאכסון כללי.
SI אינדקס מקור - Source Index אוגר כתובת - - ESI
משמש כמצביע לאזור בזיכרון אשר יהווה מקור לפעולות זיכרון מסוימות. פועל לרוב מול מקטע DS.
DI אינדקס יעד - Destination Index אוגר כתובת - - EDI
משמש כמצביע לאזור בזיכרון אשר יהווה יעד לפעולות זיכרון מסוימות. פועל לרוב מול מקטע ES.
BP מצביע בסיס המחסנית - Stack Frame Base Pointer אוגר כתובת - - EBP
משמש גישה מהירה ומבוקרת למידע הנמצא במחסנית. פועל לרוב מול מקטע SS.
SP מצביע המחסנית - Stack Pointer אוגר אינדקס - - ESP
עוקב אוטומטית אחר המיקום האחרון במחסנית.
CS מקטע הקוד - Code Segment אוגר אינדקס - - -
מצביע למקטע בזיכרון בו נמצא הקוד הנוכחי. עובד מול IP.
DS מקטע הנתונים - Data Segment אוגר אינדקס - - -
מצביע למקטע בזיכרון המכיל את הנתונים של התוכנה.
ES מקטע מוסף - Extra Segment אוגר אינדקס - - -
מצביע מוסף לפנייה לאזורי זיכרון אחרים.
SS מקטע המחסנית - Stack Segment אוגר אינדקס - - -
מצביע למקטע בזיכרון המכיל את המחסנית.
IP המצביע לפקודה - Instruction Pointer אוגר מיוחד - - EIP
מצביע לאזור בזיכרון בו נמצאת הפקודה הבאה לביצוע. לא ניתן לשנות או לקרוא אותו ישירות.

עם כניסת ה־386 הוספו לארכיטקטורה עוד שני אוגרי מקטע:

FS מקטע מוסף אוגר אינדקס - - -
 
GS מקטע מוסף אוגר אינדקס - - -
 

ראו גם[עריכת קוד מקור | עריכה]

קישורים חיצוניים[עריכת קוד מקור | עריכה]

ויקישיתוף מדיה וקבצים בנושא X86 בוויקישיתוף