MIPS לעומת ARM
ניתן לזהות מספר הבדלים בין MIPS ו-ARM למרות ששניהם נמצאים באותה משפחה של ערכות הוראות. לצורך העניין, MIPS ו-ARM הן שתי ארכיטקטורות של ערכות הוראות (ISA) הזמינות בעולם המיקרו-מעבדים. שניהם, ARM ו-MIPS, מבוססים על Reduced Instruction Set Computing (RISC) והם בסוג רישום-register. לשני ערכות ההוראות יש גודל הוראות קבוע של 32 סיביות/64 סיביות (מרחב כתובות) וניתן להגדיר את שתי ערכות ההוראות ל-Endianness גדול וגם לקטן. שתי הארכיטקטורות תומכות בתאימות לאחור. הארכיטקטורות של ARM וגם של MIPS משמשות במעבדים של טלפונים חכמים ומחשבי טאבלט כגון אייפון, אנדרואיד ו-Windows RT טאבלטים, אך לא במחשבי זרם מיינסטרים כגון מחשבים ניידים ושרתים.
מה זה ARM?
המעצב הראשי של ARM ISA הוא ARM Holdings. ארכיטקטורת ARM הוצגה בשנת 1985 ועוצבה על בסיס RISC. ISA זה משתמש בקודים מותנים בהסתעפות. ישנן מספר ארכיטקטורות ARM כגון ארכיטקטורות 64/32 סיביות, ארכיטקטורות 32 סיביות (קורטקס) וארכיטקטורות 32 סיביות (מורשת). ARM היא ארכיטקטורת ערכת ההוראות הנפוצה ביותר בעולם. ניתן לחלק את ערכת הוראות הזרוע לשישה קבוצות רחבות של הוראות כגון הוראות סניף, הוראות עיבוד נתונים, הוראות טעינה ואחסנה, הוראות מעבד משותף והוראות יוצרות חריגים. ניתן לזהות סוגים שונים של הוראות ARM באמצעות ה-opcode והדגלים המותנים. ישנם 16 אוגרים לשימוש כללי הנקראים R0 עד R15 ב-ARM ISA ולכל אחד מהם גודל של 32 סיביות. אוגר R13 נקרא Stack Pointer (SP), R14 נקרא Link Register (LR) ו-R15 נקרא Program Counter (PC). ARM ISA תומך בפעולות אריתמטיות רבות כגון חיבור, חיסור וכפל.לליבות ARM יש אפיק כתובות של 32 סיביות, המספק מרחב כתובות ליניארי שטוח של 4GB. הזיכרון מטופל בבתים וניתן לגשת אליו כמילים כפולות (8-בתים), מילים (4-בייט) או חצאי מילים (2-בייט).
ארכיטקטורות ARM משמשות בטלפונים חכמים, מחשבי לוח מחשבי כף יד ומכשירים ניידים אחרים. שבבי ARM משמשים גם ב-Raspberry Pi, BeagleBoard, PandaBoard ומחשבי לוח יחיד אחרים בגלל צריכת החשמל המועטה שלהם, הזולות והצורה הקטנה יותר.
מה זה MIPS?
MIPS תוכנן והוצג על ידי MIPS Technologies בשנת 1981. ISA זה מבוסס גם על ארכיטקטורת ערכת הוראות RISC ויש לו מערכת קידוד קבועה.אוגרי מצב משמשים להסתעפות ו-MDMX, MIPS-3D משמשים כהרחבות. ישנם שלושה סוגים של הוראות MIPS והם R, I ו-J. כל הוראה מתחילה בקוד 6 סיביות. בהוראות מסוג R, ישנם שלושה אוגרים, שדה הרכבת Shift ושדה פונקציה. בהוראות I type, ישנם שני אוגרים וערך מיידי של 16 סיביות בעוד שהוראות מסוג J עוקבות אחר opcode עם יעד קפיצה של 26 סיביות. ל-MIPS יש 32 אוגרים שלמים על מנת לבצע פעולות אריתמטיות. הרשמה $0 מחזיקה 0 והרשמה $1 שמור בדרך כלל להרכב.
ארכיטקטורת MIPs משמשת בייצור טלפונים חכמים, מחשבי ארוחת ערב, מערכות משובצות כגון נתבים, שערים למגורים וקונסולות וידאו כגון Sony PlayStations.
מה ההבדל בין MIPS ל-ARM?
• MIPS ו-ARM הן שתי ארכיטקטורות שונות של ערכות הוראות במשפחת ערכות ההוראות של RISC.
• למרות שלשני ערכות ההוראות יש גודל הוראות קבוע וזהה, ל-ARM יש רק 16 אוגרים בעוד ל-MIPS יש 32 אוגרים.
• ל-ARM יש תפוקה גבוהה ויעילות רבה מ-MIPS מכיוון שמעבדי ARM תומכים באפיקי נתונים של 64 סיביות בין הליבה למטמונים.
• על מנת לאפשר החלפת הקשר יעילה, ארכיטקטורת MIPS תומכת ביישום של מספר רב של בנקים של אוגרים. ARM מספק רק אוגרים למטרות כלליות עבור פעולות אריתמטיות וכל שאר הפונקציות, אבל MIPS מספק שני אוגרים נפרדים כדי להחזיק את התוצאות של פעולת הכפל.
• ל-MIPS אין הוראה מקבילה להוראת ARM MOV.
• הוראת MIPS ADD בדרך כלל מייצרת חריגה על הצפת יתר, כך שהיא משמשת לעתים רחוקות מאשר ב-ARM.
• כל הוראות עיבוד הנתונים של ARM קובעות את קודי התנאי של ALU כברירת מחדל, אבל MIPS מספקת את ה-SLT להשוואה.
סיכום:
MIPS לעומת ARM
בעולם המיקרו-מעבדים, MIPS ו-ARM נותנים שירות נהדר בשם ארכיטקטורות ערכות ההוראות שלהם. MIPSis מיושם בעיקר במערכות משובצות. אבל, נכון לעכשיו, ARM הפך להרבה יותר פופולרי בתעשייה מאשר MIPS.