در برابر ARM
هردوی این پردازندهها در یک خانواده از مجموعه دستورات قرار میگیرند، و علیرغم تفاوتهایی که با یکدیگر دارند، از بسیاری جهات نیز به هم شبیهاند. هر دو پردازنده MIPS و ARM از معماریهای مجموعه دستورات (ISA) شناختهشده در دنیای میکروپروسسور استفاده میکنند و هردوی آنها بر اساس ساختار پردازشی مجموعه دستورات کاهشیافته یا RISC و در قالب رجیستر – رجیستر طراحیشدهاند.
همچنین هر دو مجموعه دستورات از اندازه دستور (فضای آدرس) ثابت 32/64 بیتی استفاده میکنند و در دو حالت Big endian یا little endian قابل تنظیماند. علاوه بر اینها، هر دو معماری از قابلیت انطباقپذیری با نسخههای قبلی پشتیبانی میکنند. شباهت دیگر میان معماریهای MIPS و ARM بهکار رفتن آنها در پردازندههای درگوشیهای هوشمند مثل آیفون و گوشیهای اندروید و همچنین کامپیوترهای لمسی مثل تبلتهای اندرویدی یا Windows RT است. این معماریها در سیستمهای کامپیوتری رایج مثل لپتاپ یا سرورها استفاده نمیشوند.
برای مقایسه ARM و MIPS به صورت دقیقتر، و تفاوت های این دو معماری با ما همراه باشید!
معماری ARM
معماری ARM توسط شرکتی به همین نام ساخته شده است، این معماری برای اولین بار در سال 1985 بر اساس ساختار RISC طراحی و معرفی شد. در ARM برای انشعاب از دستورات شرطی استفاده میشود.
در حال حاضر چندین معماری ARM از جمله معماریهای 64/32 بیتی، معماریهای 32 بیتی cortex و معماریهای 32 بیتی legacy وجود دارند که هر کدام کاربرد خاص خودش را دارد. میتوان گفت که رایجترین معماری مجموعه دستورات امروز در دنیا ARM است. مجموعه دستورات در این معماری را به 6 دسته کلی تقسیم میکنند که شامل دستورات انشعاب، دستورات پردازش داده، دستور Load و Store، دستورات کمک پردازنده و دستورات مربوط به تولید Exception. انواع مختلف دستورات ARM به وسیله کد دستور و پرچمهای شرطی شناسایی میشوند. از دیگر خصوصیات ARM باید به 16 رجیستر همه منظوره (R0 تا R15) اشاره کرد که همه آنها 32 بیتی هستند.
R13اشارهگر پشته یا SP نامیده میشود، R14 نیز ثبات ارتباط یا LR و R15 شمارنده برنامه (PC) نامیده میشود. معماری ARM از دستورات ریاضی زیادی پشتیبانی میکند که از جمله آنها دستوراتی مثل جمع، تفریق و ضرب را میتوان نام برد.
BUS آدرس هستههای 32 بیتی است که یک فضای آدرس خطی 4 گیگابایتی را پوشش میدهد. آدرسدهی حافظه براساس بایت است اما دسترسی به آن میتواند به صورت دو کلمهای (8 بایت)، تک کلمهای (4 بایت) و یا نصف کلمهای (2 بایت) باشد.
همانطور که قبلتر اشاره شد، معماریهای ARM در گوشیهای هوشمند و کامپیوترهای تبلت، دستیارهای دیجیتال (PDA) و دستگاههای مشابه دیگر کاربرد دارند. علاوه بر این، چیپهای ARM به دلیل مصرف توان پایین، اندازه کوچک و قیمت کم، در Raspberry Pi ،BeagleBoard ،PandaBoard و کامپیوترهای تک بوردی دیگر استفاده میشوند.
معماری MIPS
MIPS در سال ۱۹۸۱ توسط شرکت فناوریهای MIPS طراحی و معرفی شد. این معماری هم مانند معماری ARM براساس ساختار RISC و با سیستم انکدینگ ثابت طراحیشده است. MIPSرجیستر های شرطی را برای انشعاب استفاده میکند، همچنین MDMX و MIPS-3D بهعنوان گسترش معماری بهکار میروند. دستورات MIPS به سه نوعR ،I J و دستهبندی میشوند که شروع هرکدام با یک کد دستور 6 بیتی است.در دستورات نوع R سه رجیستر، یک میدان برای مقدار شیفت و یک میدان تابع استفاده میشود. در دستورات نوع I، دو رجیستر و یک مقدار 16 بیتی بلافصل مشخص میشوند و در نوع J، بعد از کد دستور یک مقدار 26 بیتی برای مقصد پرش استفاده میشود. در معماری MIPS 32 رجیستر عدد صحیح وجود دارد که برای اجرای عملیات ریاضی بهکار میروند. رجیستر $0 مقدار 0 را نگهداری میکند و رجیستر $1 معمولاً برای اسمبلر رزرو شده است.
تفاوتهای MIPS و ARM چیست؟
- MIPS و ARM دو معماری مجموعه دستور متفاوت هستند که هر دو در خانواده مجموعه دستور RISC طبقهبندی میشوند.
- اگرچه اندازه کلمه دستور در هر دو معماری ثابت و یکسان است، اما ARM 16 رجیستر و MIPS 32 رجیستر دارد.
- از لحاظ سرعت تولید خروجی و همچنین بهینه بودن، معماری ARM به دلیل پشتیبانی از گذرگاه دادهی 64 بیتی میان هستهها و حافظه کش، نسبت به MIPS عملکرد بهتری دارد.
- برای سوییچ کردن بهینه میان عملیات مختلف، در معماری MIPS، پیادهسازی بانکهای رجیستری چندگانه پشتیبانی میشود. در معماری ARM برای عملیات ریاضی و دیگر توابع، تنها رجیسترهای همه منظوره وجود دارند، در حالیکه MIPS دو رجیستر مجزا نیز برای نگهداری نتایج عملیات ضرب دارد.
- MIPS هیچ دستوری معادل دستور MOV موجود در ARM ندارد.
- دستور ADD در MIPS به طور معمول در زمان Overflow تولید Exception میکند و به همین دلیل به نسبت همین دستور در ARM، کمتر استفاده میشود.
- در معماری ARM همه دستورات پردازش داده، به طور پیشفرض کدهای شرطی ALU را تغییر میدهند، در حالی که معماری MIPS برای مقایسه و تغییر بیتهای شرطی از دستور SLT استفاده میکند.
خلاصه
مقایسه ARM و MIPS
در میان ریزپردازندههای امروزی، هر دو معماری MIPS و ARM خدمات بسیار زیادی را به ما ارائه میکنند و در کاربردهای وسیعی به کار میروند. با این حال، MIPS غالباً در سیستمهای امبدد به کار میرود، در حالی که معماری ARM بسیار وسیعتر در صنعت امروز به کار میرود و نسبت به MIPS محبوبیت بیشتری دارد.
منبع:سیسوگ