مجموعه دستورالعمل که به اختصار ISA گفته میشود، مربوط به برنامهنوسی و زبان ماشین میباشد. ISA یک انتزاع از رایانه است. ما میتوانیم مجموعه دستورالعملهای متفاوتی داشته باشیم (لیست). مجموعه دستورالمعلها را با ریزمعماری که برای هر پردازنده است اشتباه نگیرید.
ISA مجموعه دستورالعملها، دستورات مورد نیاز یک پردازند را که برای پردازش به آن ها نیاز دارد را فراهم میکند. ISA شامل آدرسها، دستورالعملها، انواع دادههای محلی، ثبت، معماری حافظه، وقفه، و مدیریت استثنا و خارجی I/O میباشد.
در هر یک از اجراهای (Implementation) مجموعه دستورالعمل -مانند x86- راهنماهای مفصلی وجود دارد که چگونگی کار با پردازندهای که این معماری را دارد توضیح میدهد. اگرچه بین تعریفهای متفاوت و بخشهای ویژه هر پردازنده تفاوتهایی هست امّا اجرای برنامهها در صورتی که از امکانات خاص نخواهند استفاده کنند بر روی همه معماریهای x86 یکسان است. از نمونههای تفاوت آنها میتوان به مجازیسازی اشاره کرد که برای اینتل و ایامدی تفاوت وجود دارد. از بخشهای اضافه شده به این مجموعه IA-32 است. این مجموعه امکان دسترسی ۳۲بیتی را رم فراهم میکند. مجموعه مهم دیگر x86-64 است که امکان دسترسی به رم را به شکل ۶۴بیتی فراهم میکند. به دلیل افزونه بودن امکان ۶۴بیتی شما میتوانید برنامههای ۳۲بیتی را نیز روی رایانه اجرا کنید زیرا همه از معماری x86 با امکان IA-32 بهره میبرند (زیرا پردازندهها خیلی وقت است از این بخش استفاده میکنند)؛ امّا برعکس آن ممکن نیست زیرا پردازنده امکان اضافه درخواست شده به نام x86-64 را ندارد. گاهی این امکان اضافه را نیز با نام amd64 یاد میکنند.
یک مجموعه دستورالعمل میتواند در سختافزار یا نرمافزار پردازنده قرار گیرد و با استفاده از مترجم، شبیهسازی شود که طراحی سختافزار برای برنامههای در حال اجرا کارآمدتر و سریع تر از نسخه نرمافزار شبیهسازی شده است. نرمافزارهایی مانند QEMU دقیقا میتوانند برای ماشینی که دستورالعملهای متفاوتی دارد برنامهها را ترجمه و اجرا کند مثلا اجرای ARM بر روی x86 یا برعکس.