کامپیوتر با حداقل دستورالعمل
کامپیوتر با حداقل دستورالعمل (انگلیسی: Minimal instruction set computer) کامپیوتر با حداقل دستورالعمل (MISC) معماری واحد پردازش مرکزی (CPU) است که معمولاً به شکل ریزپردازنده، با تعداد بسیار کمی از عملیات اساسی و کدهای عملیاتی مربوطه، با هم یک مجموعه دستورالعمل را تشکیل میدهند. چنین مجموعههایی بیشتر مبتنی بر #تغییرمسیر پشته هستند تا مبتنی بر ثبات برای کاهش اندازه ی مشخصکنندههای عملوند.
چنین معماری ماشین پشته ای اساسا ساده تر است چون که همه ی دستورالعمل ها بر روی بالاترین ورودی های پشته عمل می کنند.
یکی از نتایج معماری پشته، مجموعه ی دستورالعمل کلی کوچکتر است که به واحد رمزگشایی دستورالعمل کوچکتر و سریعتر با عملکرد کلی سریعتر دستورالعمل های جداگانه دستور می دهد.
ویژگی ها و فلسفه ی طراحی
جدا از تعریف پشته معماری MISC، خود معماری MISC با استفاده از تعداد دستورالعمل های پشتیبانی شده تعریف می شود.
رایانه معمولا مجموعه ای از دستورالعمل ها است که دارای حداقل 32 دستورالعمل یا کمتر است،، که در آن دستورالعملهای نوع NOP، RESET و CPUID معمولاً به دلیل ماهیت اساسیشان به طور کلی محاسبه نمیشوند.
حداکثر می توان 32 دستورالعمل در نظر گرفته شود، با این حال باز هم 16 یا 8 دستورالعمل به عنوان "دستورالعمل های حداقلی" نزدیک تر و بهتر هستند . به دلیل اینکه که یک کامپیوتر مجموعه ای از دستورهای صفر است یک CPU MISC نمی تواند دستورالعمل صفر داشته باشد. CPU MISC نمی تواند یک دستورالعمل داشته باشد چون که یک کامپیوتر مجموعه ی دستورالعمل است . به صورت پیش فرض دستورالعملهای CPU پیادهسازیشده نباید از مجموعه ی بزرگی از ورودیها پشتیبانی کند، بنابراین معمولاً به معنای CPU 8 یا 16 بیتی است. اگر CPU یک بیت NX داشته باشد، به احتمال زیاد آن کامپیوتر به عنوان یک کامپیوتر با مجموعه دستورهای پیچیده (CISC) یا مجموعه دستورهای کاهش یافته (RISC) شمرده می شود. تراشههای MISC معمولاً از حافظه سختافزاری محافظت نمی کنند، مگر اینکه دلیل خاصی برای محافظت از آن وجود داشته باشد. اگر یک CPU دارای یک زیرسیستم میکروکد باشد، آن دیگر MISC نیست. تنها حالت آدرس دهی که برای یک CPU MISC قابل قبول است، بارگذاری/ذخیره کردن است، مشابه همان حالتی که برای CPUهای کامپیوتر مجموعه دستورهای کاهش یافته (RISC) وجود دارد. CPUهای MISC معمولاً بین 64 کیلوبایت تا 4 گیگابایت حافظه آدرس پذیر می تواننددر دسترس داشته باشند - اما اکثر طرح های MISC کمتر از 1 مگابایت هستند.
همچنین، خطوط لوله دستورالعمل MISC معمولاً بسیار ساده هستند. خطوط لوله دستورالعمل، پیشبینی شاخه، اجرای خارج از دستور، تغییر نام رجیستر، و اجرای گمانهزنی به طور کلی یک CPU را از طبقهبندی به عنوان معماری MISC محروم میکند.
زمانی که CPUهای 1 بیتی دیگر از مد افتاده بودند (و MISC و OISC نبودند)، اولین کامپیوتر نانولوله کربنی که یک کامپیوتر تک بیتی با یک دستورالعمل تولید شده که تنها 178 ترانزیستور دارد و در نتیجه کمترین پیچیدگی (یا بعدی) را دارد. (کمترین تاکنون بر اساس تعداد ترانزیستور)
تاریخ
برخی از اولین رایانههای دیجیتالی که با مجموعههای دستورالعمل پیادهسازی شدند، طبق تعریف مدرن رایانهها ،حداقل مجموعه دستورالعمل بودند.
در میان کامپیوترهای مختلف،فقط دو کامپیوتر ILLIAC و ORDVAC دارای مجموعه دستورالعملهای سازگار بودند.
منچستر بیبی (دانشگاه منچستر، انگلستان) اولین اجرای موفق خود در یک برنامه ذخیره شده را در 21 ژوئن 1948 انجام داد.
ماشین حساب خودکار ذخیره سازی تاخیری الکترونیکی (EDSAC، دانشگاه کمبریج ، انگلستان) اولین کامپیوتر الکترونیکی ذخیره شده کاربردی بود. (مه 1949) منچستر مارک 1 ( دانشگاه ویکتوریا منچستر ، انگلستان) از کودکی توسعه یافت. (ژوئن 1949) کامپیوتر خودکار تحقیقات علمی و صنعتی مشترک المنافع ( CSIRAC ، شورای تحقیقات علمی و صنعتی ) استرالیا (نوامبر 1949) رایانه خودکار متغیر گسسته الکترونیکی ( EDVAC ، آزمایشگاه تحقیقات بالستیک، آزمایشگاه محاسبه ها در زمین آزمایش آبردین 1951) رایانه ی خودکار متغیر گسسته مهمات ( ORDVAC ، دانشگاه ایلینویز در اوربانا- شامپین) در آبردین پروینگ گراند، مریلند (تکمیل در نوامبر 1951) ماشین IAS در دانشگاه پرینستون (ژانویه 1952) Maniac I در آزمایشگاه علمی لس آلاموس (مارس 1952) MESM اولین آزمایش خود را در 6 نوامبر 1950 در کیف انجام داد کامپیوتر اتوماتیک ایلینوی ( ILLIAC ) در دانشگاه ایلینویز ، (سپتامبر 1952)
کامپیوترهای با برنامه ذخیره شده اولیه
IBM SSEC این توانایی را داشت که دستورالعمل ها را به عنوان داده در نظر بگیرد و در 27 ژانویه 1948 این موضوع علنی شد. این توانایی در یک اختراع در ایالات متحده انجام شدو در تاریخ 28 آوریل 1953 ثبت . با این حال، تا حدی الکترومکانیکی بود، نه کاملاً الکترونیکی. در عمل، دستورالعمل ها رابه دلیل حافظه محدود آن از روی نوار کاغذی آن می خواندند .
منچستر بیبی، توسط دانشگاه ویکتوریا منچستر، اولین کامپیوتر کاملا الکترونیکی را ساخته بود که یک برنامه ذخیره شده را اجرا کرد. پس از اجرای یک برنامه تقسیم ساده و برنامه ای برای نشان دادن اینکه دو عدد نسبت به هم اول هستند، یک برنامه فاکتورگیری را به مدت 52 دقیقه در 21 ژوئن 1948 اجرا کرد. یکپارچهساز عددی الکترونیکی و رایانه (ENIAC) در عمل بهعنوان رایانهای با برنامه ی ذخیرهشده خواندنی اولیه (با استفاده از جدولهای تابع برای حافظه فقط خواندنی برنامه (ROM) اصلاح شد و در 16 سپتامبر 1948 نشان داده شد. برنامه آدل گلدستاین برای فون نویمان اجرا شد. کامپیوتر باینری خودکار (BINAC) برخی از برنامه های آزمایشی را در فوریه، مارس و آوریل 1949 اجرا کرد، اگرچه تا سپتامبر 1949 هم تکمیل نشد. منچستر مارک 1 در پروژه Baby ساخته شده است. یک نسخه متوسط از Mark 1 برای اجرای برنامه ها در آوریل 1949 در دسترس بود، که تا اکتبر 1949 تکمیل نشد. ماشین حساب خودکار ذخیره سازی تاخیر الکترونیکی (EDSAC) اولین برنامه خود را در 6 می 1949 اجرا کرد. کامپیوتر خودکار متغیر گسسته الکترونیکی (EDVAC) در آگوست 1949 تحویل داده شد، اما مشکلاتی داشت که باعث شد تا سال 1951 به طور منظم و درست کار نکند. کامپیوتر خودکار تحقیقات علمی و صنعتی مشترک المنافع (CSIRAC, سابقا CSIR Mk I)اولین برنامه خود را در نوامبر 1949 اجرا کرد. استانداردهای کامپیوتر اتوماتیک شرقی (SEAC) در آوریل 1950 تثبیت شد. Pilot ACE اولین برنامه خود را در 10 می 1950 اجرا کرد و در دسامبر 1950 به نمایش درآورد. استانداردهای وسترن اتوماتیک کامپیوتر (SWAC) در جولای 1950 تکمیل شد. Whirlwind در دسامبر 1950 تکمیل شد و در آوریل 1951 مورد استفاده قرار گرفت. اولین ERA Atlas (بعدها تجاری ERA 1101/UNIVAC 1101) در دسامبر 1950 نصب شد.
نقاط ضعف طراحی
MISC در دستورالعمل ها وابستگی های متوالی بیشتری دارند ، و موازی سازی کلی در سطح دستورالعمل را کاهش می دهند که این ناتوانی آن است.
معماری های MISC شباهت زیادی با برخی از ویژگی های بعضی از زبان های برنامه نویسی دارند مانند استفاده از پشته توسط Forth و ماشین مجازی جاوا . هر دو توانایی موازی سازی کامل دستورالعمل را ندارند.
CPU های قابل توجه
احتمالاً موفق ترین MISC از نظر تجاری، معماری اصلی ترانسفورماتور INMOS بود که واحد ممیز شناور نداشت. با این حال، بسیاری از میکروکنترلرهای 8 بیتی، برای برنامه های کاربردی کامپیوتری تولید شده ، که دارای شرایط MISC هستند.
هر فضاپیمایی STEREO دارای دو CPU MISC P24 و دو CPU MISC CPU24 است.
همچنین ببینید
مجموعه دستورهای پیچیده کامپیوتر
کامپیوتر مجموعه دستورالعمل های کاهش یافته است
منابع
[ویرایش]- مشارکتکنندگان ویکیپدیا. «Minimal instruction set computer». در دانشنامهٔ ویکیپدیای انگلیسی، بازبینیشده در ۲۸ ژانویه ۲۰۲۳.