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

محتوای حذف‌شده محتوای افزوده‌شده
جزبدون خلاصۀ ویرایش
خط ۱۱۰:
دستورالعمل هایی که یک برنامه را تشکیل می دهند، به ندرت با استفاده از فرم داخلی، عددی آنها (کد ماشین) مشخص می‌شاین. این دستورالعمل ها ممکن است توسط برنامه نویس ها، با استفاده از یک زبان اسمبلی مشخص شوند، یا به طور شایع تر، ممکن است به وسیله کامپایلر ها از زبانهای برنامه نویسی تولید شوند.
=== طراحی ===
طراحی مجموعه های دستورالعمل یک مسئله پیچیده است. دو مرحله در تاریخ، برای ریزپردازنده ها وجود داشته است. در اولین مرحله، کامپیوترهای دارای مجموعه دستورالعمل پیچیده ( CISC) بودند، که دارای دستورالعمل های مختلف بسیاری بود. با این حال، در دهه ۱۹۷۰ مکان هایی نظیر IBM، تحقیقاتی را انجام دادند و دریافتند که بسیاری از دستورالعمل های این مجموعه را می توان حذف کرد. نتیجه آن، کامپیوترهای دارای مجموعه دستورالعمل کاهش یافته (RISC) بود که نوعی معماری است که از یک مجموعه ی کوچکتر از دستورالعمل ها استفاده می کند. یک مجموعه دستورالعمل ساده تر، به طور بالقوه می تواند موجب سرعت های بیشتر، کاهش اندازه پردازنده، و کاهش مصرف انرژی شود. با این حال، یک مجموعه ی پیچیده تر، ممکن است عملیات رایج را بهینه سازی کند، کارایی حافظه و [[حافظه نهان سی‌پی‌یو|حافظه ی نهان]] را افزایش دهد، یا برنامه نویسی را ساده کند.<br>
برخی طراحان مجموعه دستورالعمل، یک یا بیش از یک آپ کد را برای انواعی از فراخوانی های سیستم یا وقفه های نرم‌افزاری رزرو می کنند. برای مثال، MOS Technology 6502 از 00H استفاده می کند و Zilog Z80 از هشت کد  C7,CF,D7,DF,E7,EF,F7,FFH استفاده می کنند، در حالیکه Motorola 68000 از کدهایی در محدوده ی A000..AFFFH استفاده می کند.<br>
اگر یک مجموعه دستورالعمل، ملزومات مجازی سازی پوپک و گلدبرگ را(به انگلیسی:Popek and Goldberg virtualization requirements) برآورده کند، آنگاه پیاده سازی ماشین های مجازی سریع، بسیار آسان تر خواهد بود.<br>