x86

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

ארכיטקטורת x86 היא שם כולל לסדרת מעבדים שפותחו ויוצרו על ידי אינטל. כיום (2006), ארכיטקטורת x86 היא הנפוצה ביותר במחשבים שולחניים ומחשבים ניידים.

ארכיטקטורה זו נקראת בשם x86 מפני שהמעבדים הראשונים במשפחת מעבדים זו, זוהו על ידי שמם שנגמר תמיד ב-86: 8086, 80186, 80286, 386, ו-486.

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

ארכיטקטורת 32 ביט נקראה x86-32 או IA-32 (קיצור של Intel Architecture 32 bit). בשנת 2003, הציגה AMD את מעבד האת'לון 64 (Athlon 64) בארכיטקטורת 64 ביט, ונקרא בשפה המקצועית 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 מקטע מוסף אוגר אינדקס - - -
 

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