کامپیوتر با حداقل دستورالعمل

کامپیوتر با حداقل دستورالعمل (انگلیسی: Minimal instruction set computer) کامپیوتر با حداقل دستورالعمل (MISC) معماری واحد پردازش مرکزی (CPU) است که معمولاً به شکل ریزپردازنده، با تعداد بسیار کمی از عملیات اساسی و کدهای عملیاتی مربوطه، با هم یک مجموعه دستورالعمل را تشکیل می‌دهند. چنین مجموعه‌هایی بیشتر مبتنی بر #تغییرمسیر پشته هستند تا مبتنی بر ثبات برای کاهش اندازهٔ مشخص‌کننده‌های عملوند.

چنین معماری ماشین پشته ای اساساً ساده‌تر است چون که همهٔ دستورالعمل‌ها بر روی بالاترین ورودی‌های پشته عمل می‌کنند.

یکی از نتایج معماری پشته، مجموعهٔ دستورالعمل کلی کوچکتر است که به واحد رمزگشایی دستورالعمل کوچکتر و سریعتر با عملکرد کلی سریعتر دستورالعمل‌های جداگانه دستور می‌دهد.

ویژگی‌ها و فلسفهٔ طراحی

جدا از تعریف پشته معماری MISC، خود معماری MISC با استفاده از تعداد دستورالعمل‌های پشتیبانی شده تعریف می‌شود.

رایانه معمولاً مجموعه ای از دستورالعمل‌ها است که دارای حداقل ۳۲ دستورالعمل یا کمتر است، که در آن دستورالعمل‌های نوع NOP, RESET و CPUID معمولاً به دلیل ماهیت اساسی‌شان به‌طور کلی محاسبه نمی‌شوند.

حداکثر می‌توان ۳۲ دستورالعمل در نظر گرفته شود، با این حال باز هم ۱۶ یا ۸ دستورالعمل به عنوان «دستورالعمل‌های حداقلی» نزدیک تر و بهتر هستند. به دلیل اینکه که یک کامپیوتر مجموعه ای از دستورهای صفر است یک CPU MISC نمی‌تواند دستورالعمل صفر داشته باشد. CPU MISC نمی‌تواند یک دستورالعمل داشته باشد چون که یک کامپیوتر مجموعهٔ دستورالعمل است. به صورت پیش فرض دستورالعمل‌های CPU پیاده‌سازی‌شده نباید از مجموعهٔ بزرگی از ورودی‌ها پشتیبانی کند، بنابراین معمولاً به معنای CPU 8 یا ۱۶ بیتی است. اگر CPU یک بیت NX داشته باشد، به احتمال زیاد آن کامپیوتر به عنوان یک کامپیوتر با مجموعه دستورهای پیچیده (CISC) یا مجموعه دستورهای کاهش یافته (RISC) شمرده می‌شود. تراشه‌های MISC معمولاً از حافظه سخت‌افزاری محافظت نمی‌کنند، مگر اینکه دلیل خاصی برای محافظت از آن وجود داشته باشد. اگر یک CPU دارای یک زیرسیستم میکروکد باشد، آن دیگر MISC نیست. تنها حالت آدرس دهی که برای یک CPU MISC قابل قبول است، بارگذاری/ذخیره کردن است، مشابه همان حالتی که برای CPUهای کامپیوتر مجموعه دستورهای کاهش یافته (RISC) وجود دارد. CPUهای MISC معمولاً بین ۶۴ کیلوبایت تا ۴ گیگابایت حافظه آدرس پذیر می‌تواننددر دسترس داشته باشند - اما اکثر طرح‌های MISC کمتر از ۱ مگابایت هستند.

همچنین، خطوط لوله دستورالعمل MISC معمولاً بسیار ساده هستند. خطوط لوله دستورالعمل، پیش‌بینی شاخه، اجرای خارج از دستور، تغییر نام رجیستر، و اجرای گمانه‌زنی به‌طور کلی یک CPU را از طبقه‌بندی به عنوان معماری MISC محروم می‌کند.

زمانی که CPUهای ۱ بیتی دیگر از مد افتاده بودند (و MISC و OISC نبودند)، اولین کامپیوتر نانولوله کربنی که یک کامپیوتر تک بیتی با یک دستورالعمل تولید شده که تنها ۱۷۸ ترانزیستور دارد و در نتیجه کمترین پیچیدگی (یا بعدی) را دارد. (کمترین تاکنون بر اساس تعداد ترانزیستور)

تاریخ

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

در میان کامپیوترهای مختلف، فقط دو کامپیوتر ILLIAC و ORDVAC دارای مجموعه دستورالعمل‌های سازگار بودند.

منچستر بیبی (دانشگاه منچستر، انگلستان) اولین اجرای موفق خود در یک برنامه ذخیره شده را در ۲۱ ژوئن ۱۹۴۸ انجام داد.

ماشین حساب خودکار ذخیره‌سازی تأخیری الکترونیکی (EDSAC، دانشگاه کمبریج، انگلستان) اولین کامپیوتر الکترونیکی ذخیره شده کاربردی بود. (مه ۱۹۴۹) منچستر مارک ۱ (دانشگاه ویکتوریا منچستر، انگلستان) از کودکی توسعه یافت. (ژوئن ۱۹۴۹) کامپیوتر خودکار تحقیقات علمی و صنعتی مشترک المنافع (CSIRAC، شورای تحقیقات علمی و صنعتی) استرالیا (نوامبر ۱۹۴۹) رایانه خودکار متغیر گسسته الکترونیکی (EDVAC، آزمایشگاه تحقیقات بالستیک، آزمایشگاه محاسبه‌ها در زمین آزمایش آبردین ۱۹۵۱) رایانهٔ خودکار متغیر گسسته مهمات (ORDVAC، دانشگاه ایلینویز در اوربانا- شامپین) در آبردین پروینگ گراند، مریلند (تکمیل در نوامبر ۱۹۵۱) ماشین IAS در دانشگاه پرینستون (ژانویه ۱۹۵۲) Maniac I در آزمایشگاه علمی لس آلاموس (مارس ۱۹۵۲) MESM اولین آزمایش خود را در ۶ نوامبر ۱۹۵۰ در کیف انجام داد کامپیوتر اتوماتیک ایلینوی (ILLIAC) در دانشگاه ایلینویز، (سپتامبر ۱۹۵۲)

کامپیوترهای با برنامه ذخیره شده اولیه

IBM SSEC این توانایی را داشت که دستورالعمل‌ها را به عنوان داده در نظر بگیرد و در ۲۷ ژانویه ۱۹۴۸ این موضوع علنی شد. این توانایی در یک اختراع در ایالات متحده انجام شدو در تاریخ ۲۸ آوریل ۱۹۵۳ ثبت. با این حال، تا حدی الکترومکانیکی بود، نه کاملاً الکترونیکی. در عمل، دستورالعمل‌ها رابه دلیل حافظه محدود آن از روی نوار کاغذی آن می‌خواندند.

منچستر بیبی، توسط دانشگاه ویکتوریا منچستر، اولین کامپیوتر کاملاً الکترونیکی را ساخته بود که یک برنامه ذخیره شده را اجرا کرد. پس از اجرای یک برنامه تقسیم ساده و برنامه ای برای نشان دادن اینکه دو عدد نسبت به هم اول هستند، یک برنامه فاکتورگیری را به مدت ۵۲ دقیقه در ۲۱ ژوئن ۱۹۴۸ اجرا کرد. یکپارچه‌ساز عددی الکترونیکی و رایانه (ENIAC) در عمل به‌عنوان رایانه‌ای با برنامهٔ ذخیره‌شده خواندنی اولیه (با استفاده از جدول‌های تابع برای حافظه فقط خواندنی برنامه (ROM) اصلاح شد و در ۱۶ سپتامبر ۱۹۴۸ نشان داده شد. برنامه آدل گلدستاین برای فون نویمان اجرا شد. کامپیوتر باینری خودکار (BINAC) برخی از برنامه‌های آزمایشی را در فوریه، مارس و آوریل ۱۹۴۹ اجرا کرد، اگرچه تا سپتامبر ۱۹۴۹ هم تکمیل نشد. منچستر مارک ۱ در پروژه Baby ساخته شده است. یک نسخه متوسط از Mark 1 برای اجرای برنامه‌ها در آوریل ۱۹۴۹ در دسترس بود، که تا اکتبر ۱۹۴۹ تکمیل نشد. ماشین حساب خودکار ذخیره‌سازی تأخیر الکترونیکی (EDSAC) اولین برنامه خود را در ۶ می ۱۹۴۹ اجرا کرد. کامپیوتر خودکار متغیر گسسته الکترونیکی (EDVAC) در اوت ۱۹۴۹ تحویل داده شد، اما مشکلاتی داشت که باعث شد تا سال ۱۹۵۱ به‌طور منظم و درست کار نکند. کامپیوتر خودکار تحقیقات علمی و صنعتی مشترک المنافع (CSIRAC, سابقاً CSIR Mk I)اولین برنامه خود را در نوامبر ۱۹۴۹ اجرا کرد. استانداردهای کامپیوتر اتوماتیک شرقی (SEAC) در آوریل ۱۹۵۰ تثبیت شد. Pilot ACE اولین برنامه خود را در ۱۰ می ۱۹۵۰ اجرا کرد و در دسامبر ۱۹۵۰ به نمایش درآورد. استانداردهای وسترن اتوماتیک کامپیوتر (SWAC) در ژوئیه ۱۹۵۰ تکمیل شد. Whirlwind در دسامبر ۱۹۵۰ تکمیل شد و در آوریل ۱۹۵۱ مورد استفاده قرار گرفت. اولین ERA Atlas (بعدها تجاری ERA 1101/UNIVAC 1101) در دسامبر ۱۹۵۰ نصب شد.

نقاط ضعف طراحی

MISC در دستورالعمل‌ها وابستگی‌های متوالی بیشتری دارند، و موازی سازی کلی در سطح دستورالعمل را کاهش می‌دهند که این ناتوانی آن است.

معماری‌های MISC شباهت زیادی با برخی از ویژگی‌های بعضی از زبان‌های برنامه‌نویسی دارند مانند استفاده از پشته توسط Forth و ماشین مجازی جاوا. هر دو توانایی موازی سازی کامل دستورالعمل را ندارند.

CPUهای قابل توجه

احتمالاً موفق‌ترین MISC از نظر تجاری، معماری اصلی ترانسفورماتور INMOS بود که واحد ممیز شناور نداشت. با این حال، بسیاری از میکروکنترلرهای ۸ بیتی، برای برنامه‌های کاربردی کامپیوتری تولید شده، که دارای شرایط MISC هستند.

هر فضاپیمایی STEREO دارای دو CPU MISC P24 و دو CPU MISC CPU24 است.

همچنین ببینید

مجموعه دستورهای پیچیده کامپیوتر

کامپیوتر مجموعه دستورالعمل‌های کاهش یافته است

منابع