x86
![]() |
יש לערוך ערך זה. הסיבה היא: הערך לא מפרט מה יש באריכטקטורה הזו מלבד האוגרים. אין פירוט של סט הפקודות וכו'.
| |
יש לערוך ערך זה. הסיבה היא: הערך לא מפרט מה יש באריכטקטורה הזו מלבד האוגרים. אין פירוט של סט הפקודות וכו'. |
![](https://upload.wikimedia.org/wikipedia/commons/thumb/e/e8/CPU_486_386.jpg/250px-CPU_486_386.jpg)
x86 היא ארכיטקטורת פקודות והוראות (ISA) למעבדים המבוססת על המעבד 8086 של אינטל. נכון להיום, מעבדים המבוססים על ארכיטקטורת x86 והרחבתה (x64, ובשמה הנוסף AMD-64) הם הנפוצים ביותר במחשבים שולחניים־ביתיים, מחשבים ניידים, ושרתים.
היסטוריה
ארכיטקטורת x86 הופיעה לראשונה במעבד 8086 בשנת 1978. מעבד ה־8086 החליף את המעבד הקודם, אינטל 8080 (שבעצמו החליף את אינטל 4004 וה־8008). בזכות בחירתו של ה־8086 על ידי IBM כמעבד של המחשב האישי הראשון מתוצרתה, הפכה ארכיטקטורת x86 לנמכרת והמצליחה ביותר בשוק המעבדים[1].
שמה של ארכיטקטורת x86 הורחב פעמיים. בשנת 1985, אינטל הוציאה לשוק המעבדים את המעבד 386 (32 ביט) כדי שיחליף את ה־286 (16 ביט), שהיה נפוץ באותה תקופה. שבבי ה־486 תפסו את מקומם של שבבי ה־386 ב־1989. בשנת 1993 החליטה אינטל לנטוש את שיטת השמות הישנה, וקראה לדור החדש בשם המסחרי "פנטיום", במקום 586, לאחר שגילתה כי לא ניתן לרשום מספר כסמל מסחרי. מספר דורות של שבבים נקראו בשם המותג פנטיום (פנטיום פרו, פנטיום II ופנטיום D), ומאז הוסיפה אינטל גם את המותגים סלרון (Celeron) ו־Core 2 למשפחת ה־x86[1].
הרחבות ותוספות רבות חוברו ל־x86 לאורך השנים, כמעט תמיד עם תמיכה לאחור. הארכיטקטורה יושמה במעבדים של יצרני מעבדים רבים כגון: Intel, Cyrix, AMD, VIA ועוד.
מלבד אינטל, חברות רבות יצרו מעבדים מארכיטקטורת ה־x86 ובהן: Cyrix, NEC Corporation, IBM, IDT, Transmeta.
החברה המצליחה ביותר מבין החברות המתחרות באינטל ליצור מעבד בארכיטקטורה זו הייתה AMD כשהציגה את סדרת את'לון, סדרה זו לא הייתה נפוצה כמו הפנטיום אך על־פי מחקר שנערך בשנת 2006 מכירותיה של AMD בשוק המחשבים הביתיים עלו על אלו של אינטל. בשנת 2003 הציגה AMD את מעבד האת'לון 64 (Athlon 64) בעל ארכיטקטורת x64, אשר מרחיבה ותומכת לאחור ב־x86, ונקראת בשפה המקצועית EM64T, AMD64 או x86-64[1].
בשנת 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 | מקטע מוסף | אוגר אינדקס | - | - | - |
ראו גם
קישורים חיצוניים
הערות שוליים
- ^ 1.0 1.1 1.2 ארכיטקטורת מעבדי ה־x86, שנמצאת במחשבים של כולם, חוגגת 30, באתר TheMarker, 10 ביוני 2008
מעבדי אינטל | ||
---|---|---|
ייצור שהופסק | ||
BCD (4 ביטים) | Intel 4004 (שנת 1971) • Intel 4040 (שנת 1974) | ![]() |
לפני x86 (8 ביטים) | Intel 8008 (שנת 1972) • Intel 8080 (שנת 1974) • Intel 8085 (שנת 1977) | |
x86 מוקדמים (16 ביטים) | Intel 8086 (שנת 1978) • Intel 8088 (שנת 1979) • Intel 80186 (שנת 1982) • Intel 80188 (שנת 1982) • Intel 80286 (שנת 1982) | |
יחידות נקודה צפה חיצוניות | 8/16-bit databus: Intel 8087 (שנת 1980) • 16-bit databus: Intel 80187 • Intel 80287 • Intel 80387SX • 32-bit databus: Intel 80387 • Intel 80487 | |
IA-32 (32 ביטים) | Intel 80386 (SX • 376 • EX) • Intel 80486 (SX • DX2 • DX4 • SL • RapidCAD • OverDrive) • A100/A110 • Celeron (שנת 1998) (M • D (שנת 2004)) • Pentium (המקורי • OverDrive • Pro • II • II OverDrive • III • 4 • M • Dual-Core) • Core (Solo • Duo) | |
x86-64 (64 ביטים) | Celeron (D • Dual-Core) • Pentium (4 • D • Extreme Edition • Dual-Core) Intel Core (2 • Sandy Bridge) | |
אחרים | CISC: iAPX 432 • RISC: i860 • i960 • StrongARM • XScale | |
ייצור נוכחי | ||
IA-32 (32 ביטים) | EP80579 • Atom (CE • SoC) • Quark | |
x86-64 (64 ביטים) | Atom • Celeron • Pentium • Core (i3 • i5 • i7) • Xeon (E7 • E5 • E3 • Phi) | |
EPIC | Itanium |
34183262X86