Visits: 191
ثبات های اشاره گر
ریزپردازنده 8086/8088 دارای پنج ثبات اشاره گر است که برای آدرس دهی حافظه استفاده می شود. دو ثبات اشاره گر به نام های BP و SP که برای آدرس دهی حافظه پشته به کار می رود. دو ثبات شاخص SI و DI و بالاخره ثبات IP که ثبات اشاره گر دستورالعملهاست. نکته مهم در مورد ثبات های اشاره گر آن است که این ثبات ها فقط به صورت 16 بیتی قابل استفاده هستند و به صورت 8 بیتی نمی توان از آنها استفاده کرد.از محتویات این ثباتها به عنوان آدرس موثر برای آدرس دهی حافظه استفاده می شود. البته در دستورالعمل ها می توان از محتویات آنها به عنوان عملوندهای محاسباتی یا منطقی هم استفاده کرد. هرچند استثناهایی نیز وجود دارد که در جای خود توضیح داده خواهد شد.
ثبات SP
به نام ثبات اشاره گر پشته نامیده می شود. این ثبات در ریزپردازنده های دیگر هم معمولا به این نام نامیده شده و به محل بالای حافظه پشته اشاره می کند. به عبارت دیگر همواره آدرس موثر آخرین محل از حافظه پشته که داده در آن قرار گرفته، در داخل ثبات SP قرار دارد. بعدا خواهیم دید که در ریزپردازنده 8086/8088 آدرس واقعی بالای حافظه پشته از ترکیب محتویات ثبات SP با ثبات قطعه SS به دست می آید.
ثبات BP
به نام ثبات اشاره گر پایه نامیده می شود. با استفاده از این ثبات می توان داده مورد نظر را در هر محلی از حافظه پشته قرار داد و یا از آن دستیابی کرد. همانند ثبات SP برای محاسبه آدرس فیزیکی از ثبات قطعه SS استفاده می شود.
ثبات های شاخص SI و DI
ریزپردازنده 8086/8088 دارای دو ثبات شاخص می باشد. نقش آنها همانند نقش سایر ثبات های شاخص در پردازنده هاست. محتویات این ثبات ها می توانند به منظور به دست آوردن آدرس موثر با محتویات سایر ثبات ها (که بدین منظور به کار برده می شود) جمع گردد. البته از این ثبات ها هم می توان در عملیات محاسباتی و منطقی به عنوان عملوند استفاده کرد. همانند سایر ثبات های اشاره گر این ثبات ها فقط به صورت 16 بیتی قابل استفاده هستند.
ثبات شاخص SI که به نام ثبات شاخص مبدا نامیده می شود، کاربرد اختصاصی آن در دستورات رشته برای آدرس دهی مبدا است. ثبات شاخص DI نیز به نام ثبات شاخص مقصد نامیده شده و کاربرد اختصاصی آن در دستورات رشته و برای آدرس دهی مقصد است.
ثبات اشاره گر دستورالعمل ها (IP)
در پردازنده های دیگر ثباتی به نام PC وجود دارد که به عنوان شمارنده برنامه عمل می کند. در ریزپردازنده 8086/8088 این ثبات به نام ثبات اشاره گر دستورالعمل ها نامیده می شود. همانند سایر ثباتهای اشاره گر 16 بیتی بوده و به عنوان آدرس موثر برای به دست آوردن آدرس های برنامه و دستورالعمل ها استفاده می گردد.
بلافاصله بعد از هر عمل واکشی از حافظه، محتویات IP به صورت خودکار تغییر می کند تا به دستور بعدی که باید به داخل ریزپردازنده واکشی شود ، اشاره کند. اگر دستورات بصورت متوالی اجرا گردد، بعد از هر واکشی مقدار آن به اندازه طول کد دستورالعمل افزایش خواهد یافت. (در فهرست مقالات سایت میکرو رایانه جستجو کنید) مثلا برای دستورات دو بایتی ، 2 واحد و برای دستورات سه بایتی 3 واحد و … افزایش خواهد یافت. در صورت استفاده از دستورات پرشی و انشعاب و نظایر آن نیز مقدار IP تصحیح خواهد شد.
این ثبات نیز همانند سایر ثباتهای آدرس فقط به صورت 16 بیتی قابل استفاده بوده و همواره برای به دست آوردن آدرس های فیزیکی برنامه از ترکیب محتویات آن به عنوان آدرس موثر با ثبات قطعه CS استفاده می شود.
تذکر این نکته ضروری است که در پردازنده های معمولی به دلیل عدم وجود صف دستورالعمل ها، هر دستورالعملی که از حافظه واکشی شود بلافاصله نیز اجرا می گردد ولی در پردازنده 8086/8088 به دلیل وجود صف دستورالعملها، دستورالعمل واکشی شده ابتدا در این صف قرار می گیرد. بنابراین شمارنده برنامه یا PC در سایر ریزپردازنده ها یک تفاوت جزئی با اشاره گر دستورالعملها (IP) در 8086/8088 خواهد داشت: PC همواره به دستور بعدی اشاره می کند که به وسیله ریزپردازنده(های معمولی) اجرا خواهد شد ولی IP در 8086/8088 به دستورالعمل بعدی اشاره می کند که به وسیله واحد BIU از حافظه واکشی خواهد شد و به همین جهت به جای لفظ شمارنده برنامه از آن با نام اشاره گر دستورالعمل ها یاد می شود.
منبع: microrayaneh.com