مجموعه دستورالعمل
From Wikipedia, the free encyclopedia
در علوم رایانه، یک معماری مجموعهٔ دستورالعمل (به انگلیسی: instruction set architecture (ISA))، نوعی مدل انتزاعی از یک رایانه است که به آن معماری یا معماری رایانه نیز میگویند. نمود یک آیاسای، مثلاً یک واحد پردازش مرکزی، پیادهسازی (به انگلیسی: implementation) نام دارد.
بهطور کلی یک آیاسای، بیانگر انواع دادهٔ مورد پشتیبانی، رجیسترها، پشتیبانی سختافزاری برای مدیریت حافظه اصلی، ویژگیهای اساسی (همچون پایداری حافظه، حالتهای آدرسدهی، حافظهٔ مجازی) و مدل ورودی/خروجی خانوادهای از پیادهسازیهای آیاسای مورد نظر است.
یک آیاسای، رفتار کد ماشین را که روی پیادهسازیهای آن آیاسای اجرا میشود، مشخص میکند؛ به گونهای که وابستگی به مشخصات آن پیادهسازی نداشته باشد و بدین طریق موجب سازگاری باینری (به انگلیسی: binary compatibility) بین پیادهسازیها میشود. این امر امکان پیادهسازیهای متعدد از یک آیاسای که از لحاظ عملکرد، اندازه فیزیکی و قیمت تفاوت دارند ولی میتوانند کد ماشین یکسانی را اجرا کنند، فراهم میآورد، به گونهای که میتوان یک ماشین با عملکرد پایین و قیمت پایین را با یک ماشین با قیمت بالاتر و عملکرد بالاتر، بدون نیاز به تعویض نرمافزار جایگزین کرد. همچنین، این قابلیت باعث تکامل ریزمعماریهای پیادهسازیهای این آیاسای میشود؛ به نحوی که، یک پیادهسازی جدیدتر با کارایی بالاتر از یک آیاسای، بتواند نرمافزاری را اجرا کند که روی نسلهای پیشین پیادهسازی کار میکند.
اگر یک سیستمعامل، یک واسط دودویی کاربردی استاندارد و سازگار را برای یک آیاسای خاص حفظ کند، آنگاه کد ماشین برای آن آیاسای و سیستمعامل، روی پیادهسازیهای بعدی آن در آینده و نسخههای جدیدتر آن سیستمعامل نیز اجرا خواهد شد. با این وجود، اگر یک آیاسای، اجرای چندین سیستمعامل را پشتیبانی کند، این تضمین وجود ندارد که کد ماشین برای یک سیستمعامل، روی سیستمعامل دیگر اجرا شود، مگر اینکه سیستمعامل اول از اجرای کد ماشین ساخته شده برای سیستمعامل دیگر پشتیبانی کند.
یک آیاسای را میتوان با اضافه کردن دستورالعملها یا سایر قابلیتها یا اضافه کردن پشتیبانی برای آدرسها و مقادیر دادهٔ بزرگتر، بسط داد. در این حالت یک پیادهسازی از آیاسایهای بسط یافته را کماکان میتوان برای اجرای کد ماشین برای نسخههایی از همان آیاسای بدون بسطهای ذکر شده، استفاده کرد. کدهای ماشینی که از این بسطها استفاده میکنند، فقط روی پیادهسازیهایی اجرا میشوند که از این بسطها پشتیبانی کنند.
این قابلیتهای فراهم کردن سازگاری باینری، باعث شدهاست که آیاسایها، یکی از اساسیترین فرمهای انتزاعی در رایانش باشند.