دستورالعمل در هر چرخه

دستورالعمل‌ها در هر چرخه ( IPC ) در معماری کامپیوتر که عموماً دستورالعمل‌های هر کلاک نامیده می‌شود، یکی از جنبه‌های عملکرد پردازنده است: میانگین تعداد دستورالعمل‌های اجرا شده برای هر چرخه کلاک. این معکوس ضربی چرخه های دستورالعمل است.

توضیحات 
در حالی که نسل های اولیه CPU ها تمامی مراحل اجرای یک دستور را متوالیاً انجام می دادند، CPU های مدرن می توانند کارهای زیادی را موازی با یکدیگر انجام دهند. از آنجا که نمی‌توان بارها صرفاً سرعت کلاک را دو برابر کرد، خطوط لوله دستورالعمل‌ و طراحی پردازنده فوق‌اسکالر تکامل یافته‌اند و در نتیجه CPUها می‌توانند از طیف وسیعی از واحدهای اجرایی به صورت موازی استفاده کنند - دستورالعمل‌های دریافتی را به‌منظور بهینه‌سازی آن‌ها دنبال کنند. این منجر به این می شود که دستورالعمل ها در هر چرخه تکمیل شده بسیار بالاتر از 1 باشد و مسئول بسیاری از بهبود سرعت در نسل های بعدی CPU است.

محاسبه IPC 
محاسبه IPC از طریق اجرای یک مجموعه کد، محاسبه تعداد دستورالعمل‌های سطح ماشین مورد نیاز جهت کامل کردن آن، سپس استفاده از تایمرهای با عملکرد بالا برای محاسبه تعداد چرخه‌های کلاک مورد نیاز برای کامل کردن آن بر روی سخت‌افزار واقعی صورت میگیرد. نتیجه نهایی از تقسیم تعداد دستورالعمل ها بر تعداد سیکل های کلاک CPU بدست می آید.

تعداد دستورالعمل‌ها در ثانیه و عملیات نقطه شناور در ثانیه برای یک پردازنده را می‌توان با محاسبه حاصل ضرب تعداد دستورالعمل‌ها در هر چرخه با سرعت کلاک (چرخه‌ها در ثانیه بر حسب هرتز ) پردازنده مورد نظر به دست آورد. تعداد دستورالعمل ها در هر ثانیه شاخصی است که عملکرد احتمالی پردازنده را به تقریب نشان میدهد.

دستور های اجرا شده در هر کلاک برای یک پردازنده به خصوص یک عدد ثابت نیست. بلکه بستگی به این دارد که چگونه نرم افزار اجرا شده با پردازنده در واقع با کل ماشین، به ویژه سلسله مراتب حافظه در تعامل است. با این حال، برخی از خصوصیات پردازنده ها گرایش به طراحی هایی با مقادیر IPC بالاتر از حد میانگین دارند. حضور چند واحد منطقی حسابی (یک ALU یک زیرسیستم پردازشگر است که می تواند عملیات حسابی و منطقی مقدامتی را انجام دهد) و خطوط لوله کوتاه. هنگام مقایسه مجموعه‌ دستورالعمل‌های گوناگون، یک مجموعه دستورالعمل ساده‌تر ممکن است به رقم IPC بالاتری نسبت به اجرای مجموعه دستورالعمل‌های سخت تر با استفاده از تراشه یکسان دست یابد. با این حال، مجموعه دستورهای پیچیده‌تر ممکن است بتوانند با دستورالعمل‌های کمتر به کار سودمند تری دست یابند. بنابراین مقایسه ارقام IPC بین مجموعه‌های دستورهای مختلف (مثلا x86 در مقابل ARM) معمولاً بی‌فایده می باشد.

عوامل موثر بر IPC 
مقدار دستورالعمل ها در هر ثانیه را می توان با یک IPC بالا و سرعت کلاک پایین (مانند AMD Athlon) یا از IPC پایین و سرعت کلاک بالا مانند Intel Pentium 4 و تا گسترده پایین تر AMD بولدوزر محاسبه کرد. هر دو طراحی پردازنده معتبری هستند و انتخاب بین این دو اغلب توسط تاریخچه، محدودیت های مهندسی یا فشارهای بازاریابی دیکته می شود. با این حال، IPC بالا با فرکانس بالا همیشه بهترین عملکرد را ارائه می دهد.

سرعت کامپیوتر 
کار مفیدی که می توان با هر کامپیوتری انجام داد علاوه بر سرعت پردازنده به عوامل زیادی بستگی دارد. این عوامل شامل معماری مجموعه دستورالعمل ، ریزمعماری پردازنده و سازماندهی سیستم کامپیوتری (مانند طراحی سیستم ذخیره سازی دیسک و قابلیت ها و عملکرد سایر دستگاه های متصل)، کارایی سیستم عامل و سطح بالا می باشد.

منابع