مقایسه MIPS و ARM و تفاوت مهم این دو پردازنده

مقایسه MIPS و ARM و تفاوت مهم این دو پردازنده

مقایسه MIPS و ARM و تفاوت مهم این دو پردازنده
مقایسه MIPS و ARM و تفاوت مهم این دو پردازنده

MIPS در برابر 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 به سه نوع،I  J و دسته‌بندی می‌شوند که شروع هرکدام با یک کد دستور 6 بیتی است.در دستورات نوع R سه رجیستر، یک میدان برای مقدار شیفت و یک میدان تابع استفاده می‌شود. در دستورات نوع I، دو رجیستر و یک مقدار 16 بیتی بلافصل مشخص می‌شوند و در نوع J، بعد از کد دستور یک مقدار 26 بیتی برای مقصد پرش استفاده می‌شود. در معماری MIPS 32 رجیستر عدد صحیح وجود دارد که برای اجرای عملیات ریاضی بهکار می‌روند. رجیستر $0 مقدار 0 را نگه‌داری می‌کند و رجیستر $1 معمولاً برای اسمبلر رزرو شده است.

معماری MIPS در ساخت دستگاه‌هایی مثل گوشی‌های هوشمند، ابرکامپیوترها، سیستم‌های امبدد (از‌جمله روتر)، دروازه‌های محلی (Residential Gateways) و همچنین کنسول‌های بازی‌های ویدیویی مثل PlayStation به‌کار می‌رود.

 

تفاوت‌های 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 محبوبیت بیشتری دارد.

 

منبع

0 نفر

پــــســنــدیـده انـد

توجه

سیاوش
سیاوش

کارشناس ارشد الکترونیک دیجیتال، علاقه‌مند به یادگیری

دیدگاه ها

2 دیدگاه

  • امیر
    ۷ اسفند ۱۴۰۰

    با سلام و تشکر از مطلب

    گویا در ارسال مطلب مشکلی وجود دارد، جمله هایی که دارای کلمه انگلیسی هستند، به صورت جابجا نشان داده می‌شوند.

    • Zeus ‌
      Zeus ‌
      ۸ اسفند ۱۴۰۰

      من الان چک کردم مطلب رو ظاهرا چیزی بهم نریخه – میشه بگید با گوشی چک میکنید یا دستکتاپ
      و کدام عبارت بهم ریخته ؟

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه اول سیسوگ (مسابقه اول: درک سخت افزار) انتقادهای زیادی رو در پی داشت تا جایی که حتی خودمم به نتیجه مسابقه...

Zeus ‌ Zeus ‌
  • 3 سال پیش
راه اندازی LCD گرافیکی Nokia 1661

راه اندازی LCD گرافیکی Nokia 1661

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش
ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کنترل امروزه کاربرد زیادی پیدا کرده است؛ از ریموت‌های درب بازکن تا ریموت‌های دزدگیر و کنترل روشنایی همه از یک اصول اولیه پیروی می‌کنند و آن‌هم ارسال اطلاعات به‌صورت بی‌سیم است....

Zeus ‌ Zeus ‌
  • 5 سال پیش
همه چیز درباره ریموت کنترل‌های هاپینگ

همه چیز درباره ریموت کنترل‌های هاپینگ

امنیت همیشه و در همه‌ی اعصار، مقوله‌ی مهم و قابل‌توجه‌ ای بوده و همیشه نوع بشر به دنبال امنیت بیشتر، دست به ابداعات و اختراعات گوناگونی زده است. ریموت کنترل یکی از این اختراعات است. در این مقاله، به بررسی امنیت انواع ریموت‌های کنترل خواهیم پرداخت....

Zeus ‌ Zeus ‌
  • 5 سال پیش
مسابقه سوم: استخراج داده از رشته ها در زبان C

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش
مسابقه ششم: بزن میکروکنترلر را بسوزون!

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 12 ماه پیش
آموزش قدم به قدم راه اندازی NRF24L01

آموزش قدم به قدم راه اندازی NRF24L01

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش
کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

در قسمت اول به یکسری اطلاعات کلی ماژول mc60 پرداختیم، با نرم افزار QNavigator کار کردیم و یک هدربرد هم برای کار...

Mahdi.h   Mahdi.h  
  • 3 سال پیش
ساخت ماینر با FPGA و ARM

ساخت ماینر با FPGA و ARM

چند ماهی هست که تب بیت کوین و ارزهای دیجیتال خیلی بالا رفته! چه شد که این پست را نوشتم همانطور که...

Zeus ‌ Zeus ‌
  • 3 سال پیش
مسابقه چهارم: کدام حلقه سریع‌تر است؟

مسابقه چهارم: کدام حلقه سریع‌تر است؟

حدود ۷ ماه پیش، مسابقه سوم سیسوگ رو برگزار کردیم و کلی نکته در مورد خواندن رشته‌های ورودی را بررسی کردیم. فکر...

Zeus ‌ Zeus ‌
  • 2 سال پیش
سیـــســـوگ

مرجع متن باز آموزش الکترونیک