شمارنده برنامه
From Wikipedia, the free encyclopedia
شمارنده برنامه (به انگلیسی: program counter = PC)، که معمولاً در اینتل اکس۸۶ و ریزپردازنده ی ایتانیوم نشانگر دستور (به انگلیسی: instruction pointer = IP) و گاهی نیز دستور آدرس ثبات (به انگلیسی: instruction address register = IAR) نامیده میشود، شمارنده دستور یا بخشی از دستور سنجش توالی در ثبات است که نشان میدهد رایانه در چه قسمتی از توالی برنامه قرار دارد ) در اکثر فرایندها، PC پس از دریافت مجموعه دستورالعمل توسعه میابد و آدرس حافظه ی (نقاط مختلف) دستور بعدی را که باید اجرا شود در خود نگه میدارد. (در فرایندهای فراخوانی با اولویت، PC به دستوری که دقیقاً در حال اجرا است اشاره میکند)
دستورها اغلب به صورت ترتیبی از حافظه بیرون کشیده میشوند، اما کنترلکنندهٔ انتقال دستورها با قرار دادن مقدار جدیدی برای PC این ترتیب را تغییر میدهد. که این شامل انشعابات (برخی اوقات پرش نامیده میشود)، فراخوان رویه و بازگشتها است. انتقالی که مشروط به درست بودن یک ادعا است به رایانه این اجازه را میدهد که تحت شرایط مختلف از ترتیبهای متفاوتی پیروی کند.
یک انشعاب دستوری را آماده میکند که توسط بخشی دیگر از حافظه فراخوانی شدهاست. یک فراخوان رویه نه تنها انشعابات را ایجاد میکند بلکه محتویات سابق PC را نیز در جایی ذخیره میکند. یک بازگشت محتویات ذخیره شدهٔ PC را بازمیگرداند و دوباره در محل PC قرار میدهد، حاصل این عمل اجرای ترتیبی با دنبالکنندهٔ فراخوان رویه است.