MTE מסביר: ההבדלים בין ARM ו- Intel
עם שמועה מתמשכת של Macbooks ARM צובר אנרגיה מחודשת, הגיע הזמן לקבל הבנה של ההבדלים הטכניים בין מעבדי ARM ואת מעבדי x86 נפוצים יותר שנעשו על ידי אינטל ו- AMD.
מה המשמעות של x86 מתכוון בכל זאת?
מעבדי Intel שנמצאו במחשבים שולחניים וניידים מכונים לעתים "מעבדי x86". זה יכול להיות קצת מבלבל אם אי פעם הבחנת שתי תיקיות קבצים התוכנית שלך ב- Windows.
Windows 7, 8 ו -10 מתייחסים לתוכניות 32 סיביות שלהם עם המונח "x86", ותוכניות 64 סיביות (בכמה הקשרים) כמו "x64". זה לא מדויק לחלוטין. מעבדים בעלי יכולת 64 סיביות צריכים להיקרא x86-64, אבל זה הרבה יותר קל.
השם "x86" מגיע ממעבדי אינטל המקוריים של 16 סיביות שהשתמשו במערך x86instruction, 8086. דורות העתיד ששיתפו את אותה ערכת הוראות גם שיתפו את אותה סיומת, כמו 80386. זה המשיך עד שבבי Pentium, אשר שבר את האמנה למתן שמות, אבל אנחנו עדיין משתמשים "x86" כדי להתייחס אלה סוגים של צ 'יפס.
ערכות הדרכה
כל המעבדים מבוססים סביב מה שנקרא "ערכת הוראות". זוהי סדרה של פעולות ראשוניות שבב יכול לבצע והוראות כיצד לבצע אותן. זה אומר שבב איך לעשות מתמטיקה בסיסית להעביר נתונים מסביב. שפת התכנות עבור הוראות אלה נקראת שפת הרכבה.
ההבדל הליבה בין ARM ו שבבי x86 הוא ערכת ההוראה שלהם. שבבי ה- x86 הם CISC, אשר מייצג "קומפוזיציה מסובכת של הגדרת ההוראה". שבבי CISC מנסים לייצג משימה מסוימת בקווים המעטים ביותר של הרכבה ככל האפשר, תוך הפשטת פונקציות בסיסיות. אלה פעולות מורכבות יותר גם צריך לרוץ על פני מחזורי השעון מרובים. שבבי ARM הם RISC, אשר מייצג "צמצום ההוראה להגדיר את המחשוב." שבבי RISC כוללים ערכות הוראה ראשוני מאוד, לשבור כל תהליך למטה לצעדים קטנים מאוד, פשוטים. כל אחד מהצעדים הקטנים האלה ניתן לביצוע במחזור שעון אחד.
CISC לעומת RISC
אם שבב CISC צריך להכפיל שני מספרים, הוא עשוי להריץ פקודה אחת: MULT 2, 3
. פקודה אחת זו תכסה מספרי טעינה מהזיכרון, תכפיל אותם יחד ותאחסן את התוצאה במיקום הזיכרון הנכון. שבב RISC המבצע את אותה פעולה ידרוש צעדים רבים נוספים. ראשית, הוראה LOAD
להעביר את המספרים מן הרשמים יחידת ההוצאה להורג. לאחר מכן, הוראה PROD
להכפיל את המספרים. לבסוף, הוראה STOR
למקם את התוצאה ברישום הנכון.
בעוד שבב ה- CISC עשוי להיראות יעיל יותר משום שהפקודות שלו מופיעות פשוטות יותר, זכור כמה הבדלים חשובים:
- ראשית, שבבי CISC מבצעים פקודות על פני מחזורי שעון מרובים, בעוד שכל הוראה בשבב RISC מבוצעת במחזור שעון יחיד. מסיבה זו, הפקודה
MULT
היפותטית שלנו עשויה לפעול באותה כמות של מחזורי כמו קבוצת הוראות RISC המבצעות אותה משימה. - שנית, כל ההנחיות והלוגיקה של CISC צריכות להיות מאוחסנות בטרנזיסטורים. שבבי RISC יכולים להשתמש בטרנזיסטורים פחות כי הם צריכים לאחסן פחות הוראות.
- שלישית, המספר הנמוך יותר של טרנזיסטורים הנדרשים על ידי RISC מאפשר צריכת חשמל נמוכה יותר.
יש כמה יתרונות ל- CISC. ראשית, המחשב אינו צריך לעשות הרבה עבודה כדי להמיר מתוך שפת תכנות ברמה אנושית כמו C לשפה ברמת הרכבה ברמה. למעשה, הפקודה MULT
שהוזכרה לעיל דומה מאוד לפקודה C foo = foo * bar
. שבבי RISC מבקשים מהדר לעשות הרבה יותר עבודה כדי לקבל קוד למטה לתוך שפת הרכבה. שבבים CISC יכול גם לפעול ישירות על הזיכרון הראשי בעוד שבבי RISC יכול לפעול רק על רושמי CPU.
צריכת חשמל
ההבדל הליבה השני בין הארכיטקטורות הוא צריכת החשמל. הודות ערכות ההוראה שלהם מופחת, שבבי RISC דורשים פחות טרנזיסטורים לתפקד. משמעות הדבר היא כי טרנזיסטורים פחות צריך להיות מופעל, המוביל לחיסכון בחשמל והפחתת החום. זה הביא שבבי ARM כוח כמעט כל המכשירים הניידים.
שבבי x86 של Intel ו- AMD טובים יותר עבור מחשבים שולחניים שבהם צריכת החשמל אינה עניין רב. הם כלולים גם מחשבים ניידים אשר הם כמובן מופעל על ידי סוללה. עם זאת, כוח הוא לא כל כך הרבה פרמיה כמו טלפונים חכמים, המאפשר שבבים חזקים יותר.
סיכום
ההבחנה הגבוהה ביותר בין השבבים מבוססת על כוח ומהירות. שבבי ARM נהדרים עבור סביבות צריכת חשמל נמוכה, אך בדרך כלל איטיים יותר, בעוד שבבי x86 פועלים במהירות אך אינם מודעים למודעות. ההכללה הבסיסית הזו משתנה, עם זאת, כאשר אינטל מנסה לייצר גרסאות נמוכות של שבבי ה- x86 שלה, ושבבי ARM, כמו ה- A10 Fusion של אפל, מתחילים לעקוף שבבי מחשב ניידים.