مجموعه دستورالعمل: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
خط ۱۰۸:
تحقیقاتی در رابطه با فشرده سازی قابل اجرا به عنوان یک مکانیسم برای بهبود تراکم کد انجام گرفته است. ریاضیات پیچیدگی کولموگروف، چالش ها و محدودیت های این مکانیسم را توصیف می کند.
== نمایش ==
دستورالعمل هایی که یک برنامه را تشکیل می دهند، به ندرت با استفاده از فرم داخلی،داخلی عددی آنها (کد ماشین) مشخص می‌شاینمی‌شوند. این دستورالعمل ها ممکن است توسط برنامه نویس ها، با استفاده از یک زبان اسمبلی مشخص شوند، یا به طور شایع تر، ممکن است به وسیله کامپایلر ها از زبانهای برنامه نویسی تولید شوند.
=== طراحی ===
طراحی مجموعه های دستورالعمل یک مسئله پیچیده است. دو مرحله در تاریخ، برای ریزپردازنده ها وجود داشته است. در اولین مرحله، کامپیوترهای دارای مجموعه دستورالعمل پیچیده ( CISC) بودند، که دارای دستورالعمل های مختلف بسیاری بود. با این حال، در دهه ۱۹۷۰ مکان هایی نظیر IBM، تحقیقاتی را انجام دادند و دریافتند که بسیاری از دستورالعمل های این مجموعه را می توان حذف کرد. نتیجه آن، کامپیوترهای دارای مجموعه دستورالعمل کاهش یافته (RISC) بود که نوعی معماری است که از یک مجموعه ی کوچکتر از دستورالعمل ها استفاده می کند. یک مجموعه دستورالعمل ساده تر، به طور بالقوه می تواند موجب سرعت های بیشتر، کاهش اندازه پردازنده، و کاهش مصرف انرژی شود. با این حال، یک مجموعه ی پیچیده تر، ممکن است عملیات رایج را بهینه سازی کند، کارایی حافظه و [[حافظه نهان سی‌پی‌یو|حافظه ی نهان]] را افزایش دهد، یا برنامه نویسی را ساده کند.<br>
خط ۱۱۵:
اگر وضعیت "برنامه نویسی نشده ی" حافظه به شکل دستورالعمل تهی (به انگلیسی: NOP) تفسیر شود، آن گاه پیاده سازی NOP slide که در immunity-aware programming استفاده شده است، بسیار آسان تر خواهد بود.<br>
اگر مجموعه دستورالعمل قادر به پشتیبانی از قابلیت هایی نظیر استخراج و جمع(به انگلیسی: fetch-and-add)، بارگیری-لینک/ذخیره سازی-مشروط(به انگلیسی: load-linked/store-conditional)، یا عمل مقایسه و جابجایی(به انگلیسی:compare-and-swap) اتمیک باشد، آنگاه در یک سیستم با چندین پردازنده، پیاده سازی الگوریتم های همگام سازی غیر مسدودکننده، بسیار آسان تر خواهد بود.
 
== پیاده سازی مجموعه دستورالعمل ==
هر مجموعه دستورالعمل داده شده را می توان به شیوه‌های متفاوتی پیاده‌سازی کرد. تمام شیوه های پیاده سازی یک مجموعه دستورالعمل خاص، یک مدل برنامه نویسی مشابه فراهم می‌کند. و تمام پیاده سازی های این مجموعه دستورالعمل، قادرند تا فایل یا برنامه های قابل اجرای مشابهی را اجرا کنند. شیوه های مختلف پیاده سازی یک مجموعه دستورالعمل، موجب توازن های مختلفی بین هزینه، عملکرد، مصرف انرژی، اندازه، و ... می‌شود. <br>