Loading…

جزیره سخت افزار و تجهیزات دیجیتال

ارسال کننده: امیرحسین کریم پور
امیرحسین کریم پور ، مدیر جزیره سخت افزار و تجهیزات دیجیتال انجمن تخصصی فناوری اطلاعات ایران ، متخصص شبکه و سیستم عامل های ویندوز و لینوکس ، علاقه مند به حوزه امنیت اطلاعات و تست نفوذ سنجی ...
ارسال پیام خصوصی
امتیازات این مطلب
نکته: Memory Segmentation چیست ؟
Memory Segmentation یا تقسیم بندی حافظه که در اینجا منظورمان حافظه RAM کامپیوتر است یک سیستم آدرس دهی در حافظه RAM سیستم است که ممکن است در حالت فیزیکی یا مجازی از حافظه RAM محافظت کند. Segment ناحیه ای از حافظه است که آدرس شروع آن بر 16 بخش پذیر است و حداکثر اندازه سگمنت میتواند تا 64KB باشد (در CPU های 8086). توجه کنید که به محلی از حافظه یا Memory location در اصطلاح فنی Offset میگویند که این خود میتواند برای شناسایی کرد آدرس یک Segment از حافظه و همچنین بیشترین سایز آن به سیستم کمک کند. Segmentation حافظه باعث میشود که سرعت اجرای برنامه ها در سیستم افزایش یابد از این رو پردازنده یا CPU به سرعت و آسانی میتواند داده ها را از حافظه RAM واکشی یا Fetch و سپس اجرا کند. سایز Address Bus در پردازنده های 8086 اینتل معادل 20 بیت بود و میتوانست تا 1MB حافظه RAM را آدرس دهی کند. حداقل تعداد سگمنت هایی که در حافظه ای که از پردازنده 8086 استفاده میکند و میتوان بکار برد تعداد 16 عدد میباشد. آدرس هر سگمنت به شکل 0000 هگزادسیمال تا F0000 هگزادسیمال میتواند نشان داده شود. مقدار Offset یا offset value نیز از 0000 هگزادسیمال تا FFFF هگزادسیمال میتواند مقدار دهی شود.

Image


در تصویر فوق شماتیکی از Memory Segmentation را مشاهده میکنید. در تصویر فوق Segment Number نشان دهنده شماره سگمنت میباشد که برای شناسایی سگمنت بکار میرود. Base address نیز بیانگر آدرس شروع یک Segment است. Limit یا Offset نیز بیانگر بیشترین سایز از یک سگمنت میباشد. Segment ها با یک آدرس مشخص شروع میشوند و تا حداکثر 64 کیلوبایت میتوانند ظرفیت داشته باشند حال تصور کنید که Segment دیگری در همان آدرسی که سگمنت قبلی شروع شده است شروع شود یا به عبارتی دو Segment روی هم بیفتند در این حالت در اصلاح فنی میگوییم که Segment Overlapping صورت گرفته است. حالت معکوس Segment Overlapping را Non-Overlapping Segment میگویند. Logical Address یا آدرس منطقی حافظه به شکل segment : offset مشخص میشود. Physical Address یا آدرس فیزیکی با انتقال 4 بیت از آدرس Segment به سمت چپ و اضافه نمودن آدرس Offset بدست می آید. برای مثال Logical Address ای به شکل A4FB : 4872 را در نظر بگیرید آدرس فیزیکی یا Physical Address این نوع آدرس به صورت زیر محاسبه میشود :

A4FB0 + 4872 = A9822
پیروز ، موفق و ITPRO باشید!

نویسنده : امیرحسین کریم پور
منبع : ITPRO
هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی میباشد
دیدگاه ها

هیچ دیدگاهی برای این مطلب ارسال نشده است

برای ارسال نظر وارد شوید.

Countdown