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 به سه نوع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 محبوبیت بیشتری دارد.
سلام و خسته نباشید ، مطالب شما رو خوندم و خواستم تجربم رو بهتون بگم .
من اخیرا با یک آی سی MIPS درگیر و دار بودم
در حال حاضر یکی از پرکاربرد ترین محل استفاده این مدل آی سی ها روی کارتخوان های فروشگاهی هستش .
به عنوان مثال آی سی IC0400C-778-BF روی دستگاه های IC5100-IC5200-FLEX-IC3300 شرکت BITEL کره ای استفاده شده و داخل اینترنت چیز خیلی زیادی دربارش پیدا نمیکنید مگر این که به شرکت تامین کننده NDA(گواهی عدم افشای اطلاعات محرمانه) بدهید .
برای کیبورد های دستگاه های ATM هم معمولا مورد استفاده قرار میگیرند و برای همینه که یک کیبورد معمولی قیمت بالایی دارد !
قابلیت اینو دارند که در مواقع به خصوصی(با تشخیص باز شدن دستگاه) قسمت به خصوصی از حافظه داخلی رو پاک کنند .
شرکت های پرداختی(مالی)-به عنوان مثال شبکه شاپرک در ایران معمولا در زمینه امنیت دستگاه های زمینه پرداختی خیلی حساس هستند و سخت گیری میکنند و اگر برخی از خصوصیات امنیتی رعایت نشه به هیچ عنوان دستگاه تولید شده رو تایید نمیکنند و تحت هیچ شرایطی اون دستگاه تراکنش نمیزند .
یک سری مشخصات هم ازش در ادامه میزارم واستون .
موفق باشید .
IC0400C-778-BF
High-Performance, Secure, 32-Bit MIPS
Microcontroller Supporting Linux OS
MIPS32 4KSd RISC Processor
130 MIPS at 96MHz
2 x 8KB Cache
Memory Management Unit
Dedicated Cryptographic Instructions
Memories
128KB SRAM
256KB Lockable Flash Memory
256Bytes of User OTP
128KB of ROM
Security Features
Encryption Engine for External Memories
Hardware AES-128 Engine
Unique Serial Number (USN)
512-Bit Battery-Powered Key Area (BPK) with
Instant Erase Upon Tampering
Integrated Tamper Sensors (Frequency,
Voltage, Temperature, Die Shield)
12 External Sensor Inputs
True Random-Number Generator (TRNG)
Secure RTC with Interrupt Alarm
Secure Keyboard Controller (12 x 12)
♦ Interrupt Controller
♦ 1D/2D DMA
♦ LCD Interface: 8-Bit Bus, 6800 Compatible
♦ Three ISO 7816 Controllers
♦ Thermal Printer Interface
♦ USB 2.0 OTG Full Speed with 16 Endpoints
♦ Four UARTs (IrDA and Full Modem Support)
♦ I2C Master/Slave
♦ SPI Master/Slave with Up to Seven Slaves
♦ 6-Channel, 10-Bit ADC
♦ 32 GPIOs
♦ Four 16-Bit Timers/Counters
♦ Two PWMs with One 15mA Output
♦ Watchdog Timer
♦ JTAG Boundary Scan
با سلام و تشکر از مطلب
گویا در ارسال مطلب مشکلی وجود دارد، جمله هایی که دارای کلمه انگلیسی هستند، به صورت جابجا نشان داده میشوند.
من الان چک کردم مطلب رو ظاهرا چیزی بهم نریخه – میشه بگید با گوشی چک میکنید یا دستکتاپ
و کدام عبارت بهم ریخته ؟