PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مقاله ثبات های قطعه در 8086-8088



آبجی
22nd March 2010, 07:27 PM
ثبات های قطعه مشابه ثبات های آدرس در سایر پردازنده ها هستند که برای آدرس دهی حافظه به کار برده می شوند. همانطوریکه اشاره شد در ریزپردازنده 8086/8088 کاربرد ثبات های قطعه برای به دست آوردن آدرس فیزیکی حافظه است. برای به دست آوردن آدرس واقعی (یا فیزیکی) حافظه، محتویات ثبات قطعه با مقدار آدرس موثر (offset) جمع می شود. پس این ثبات ها در آدرس دهی دستگاه های ورودی - خروجی هیچ نقشی ندارند.
در ریزپردازنده 8086/8088 چهار ثبات قطعه وجود دارد که بنام های CS , DS , SS و ES هستند. هر ثبات قطعه یک بلوک 64 کیلو بایتی از حافظه 8086/8088 را آدرس دهی می کند. بدیهی است که ثبات های قطعه می توانند بلوک هایی را که باهم محل های اشتراک دارند، نیز آدرس دهی نمایند. به دلیل آنکه ریزپردازنده 8086/8088 دارای چهار ثبات قطعه است، پس در هر زمان می تواند به چهار قطعه 64 کیلوبایتی از حافظه دسترسی داشته باشد (آدرس دهی نماید).
پس بنا به طبق آنچه که گفته شد حافظه 8086/8088 به چهار صفحه یا قطعه 64 کیلوبایتی مجزا از هم تفکیک نشده، بلکه هر ثبات قطعه شروع یک قطعه 64 کیلوبایتی از حافظه را مشخص می کند که می تواند با قطعه های ثبات های دیگر تداخل داشته باشد و یا نداشته باشد. هر ثبات قطعه به منظور خاصی به کار برده می شوند:

ثبات CS یا Code Segment
برای واکشی کردن دستورالعمل ها از حافظه همواره از ثبات CS استفاده می شود. یعنی برای تشکیل آدرس فیزیکی دستور العمل ها در حافظه، محتویات ثبات IP با این ثبات قطعه ترکیب می شود و این مطلب همواره ثابت و تغییر ناپذیر است.


ثبات DS یا Data Segment
آدرس دهی و مراجعات به حافظه داده ها نسبت به این ثبات قطعه صورت می گیرد. یعنی برای به دست آوردن آدرس فیزیکی داده ها در حافظه، محتویات ثبات DS به عنوان ثبات قطعه، مورد استفاده قرار می گیرد. البته سه استثنا در این مورد وجود دارد:

1- آدرس های فیزیکی حافظه پشته با استفاده از ثبات قطعه SS به دست می آیند.
2- آدرس های حافظه داده ها با استفاده از ثبات BP (یعنی وقتی ثبات BP دارای آدرس موثر حافظه داده ها باشد)، نسبت به ثبات قطعه SS محاسبه می شوند.
3- در عملیات رشته (String) موقعی که از ثبات شاخص DI به عنوان آدرس موثر استفاده می شود، تشکیل آدرس فیزیکی نسبت به ثبات قطعه اضافی (ES) صورت می گیرد.
البته لازم به ذکر است که آنچه در مورد کاربرد ثبات قطعه DS ذکر شد، حالت های پیش فرض ریزپردازنده است و می توان ثبات های قطعه دیگر را جایگزین ثبات قطعه DS نمود و این پیش فرض را لغو کرد.

ثبات SS یا Stack Segment
تمام مراجعاتی که به حافظه داده ها با استفاده از ثبات های BP و SP صورت می گیرد (یعنی وقتی ثبات های BP و SP آدرس موثر حافظه را در بر داشته باشند)، آدرس فیزیکی نسبت به ثبات قطعه SS تشکیل می گردد. محتویات ثبات SS مشخص کننده آدرس شروع قطعه حافظه موسوم به حافظه پشته است. بنابراین تمام دستورالعمل های مربوط به پشته (نظیر PUSH , POP , CALL , RET , INT , IRET) از ثبات قطعه SS به عنوان ثبات قطعه پیش فرض برای تشکیل آدرس فیزیکی استفاده می کنند. البته برای محاسبه آدرس فیزیکی سایر قطعه های حافظه داده ها نیز می توان از این ثبات قطعه استفاده کرد و این بستگی به نوع حافظه پشته و سازمان دهی آن دارد. بعدا در این مورد مطالعه خواهیم کرد.

ثبات ES یا Extra Segment
همانطوریکه که ذکر شد در آدرس دهی حافظه مربوط به عملیات رشته (String) ؛ که با استفاده از ثبات DI صورت می گیرد؛ آدرس فیزیکی حافظه نسبت به ثبات قطعه ES محاسبه خواهد شد. البته غیر از آن، این ثبات می تواند برای محاسبه آدرس حافظه داده ها نیز بکار گرفته شود.

استفاده از تمامی مطالب سایت تنها با ذکر منبع آن به نام سایت علمی نخبگان جوان و ذکر آدرس سایت مجاز است

استفاده از نام و برند نخبگان جوان به هر نحو توسط سایر سایت ها ممنوع بوده و پیگرد قانونی دارد