سوال از حافظه ی مجازی - نسخهی قابل چاپ |
سوال از حافظه ی مجازی - ali.majed.ha - 02 اسفند ۱۳۹۵ ۱۱:۳۳ ق.ظ
با عرض سلام من فصل حافظه ی کتاب مدرسان رو چند بار خوندم. فیلم های آقای گودرزی رو هم از دانشگاه شریف دیدم. ولی متوجه نشدم قسمت Data در حافظه ی مجازی چه جوری محاسبه می شه. مثلا توی مدرسان گفته که حافظه ی ۶۴k * 16 داریم. پس یعنی ۶۴k کلمه ی ۱۶ بیتی، یعنی قسمت Data می شه ۱۶ بیت. ولی اگه بر اساس گفته های آقای گودرزی بخوایم حساب کنیم، چون در هر بلوک (خط) حافظه ی نهان ۴ کلمه داریم، و هر کلمه ۱۶ بیت هست، پس قسمت Data می شه ۴ * ۱۶ بیت نه ۱۶بیت . می شه لطفا راهنمایی بفرمایید. با تشکر |
RE: سوال از حافظه ی مجازی - hasanmousavi - 02 اسفند ۱۳۹۵ ۰۱:۲۰ ب.ظ
(۰۲ اسفند ۱۳۹۵ ۱۱:۳۳ ق.ظ)alimamala نوشته شده توسط: با عرض سلاممحاسبه قسمت data در کش در تصویری که گذاشته اید درست است ، وقتی میگه حافظه اصلی ۶۴k کلمه ی ۱۶ بیتی، یعنی ۱ - هر کلمه ۱۶ بیت، یعنی ۲ بایت هست ۲ - ما هر بار که به حافظه اصلی آدرس میدیم دوبایت میخونیم ( چیزی که میاریم توی کش بعنوان بخش دیتا هم ذخیره می کنیم برای مراجعات بعدی هم ، قاعدتا کلمه حافظه هست) بنابراین هر وقت گفته میشه بخش دیتای کش چند بیت هست ، منظور اینه که هر کلمه حافظه چند بیت است امیدوارم تونسته باشم درست مفهوم رو برسونم |
RE: سوال از حافظه ی مجازی - ali.majed.ha - 02 اسفند ۱۳۹۵ ۰۱:۳۳ ب.ظ
یعنی تفاوت نداره توی هر بلوک کش چند کلنه قرار می گیره ؟ توی این مثال می گه ۲ بیت برای Byte Offset داریم، یعنی ۴ بایت و هر بایت ۸ بیت، پس بخش Data می شه ۳۲ بیت. حال از این روش بخوایم برای مثال قبل بریم می شه ۴ کلمه و هر کلمه ۱۶ بیت یعنی ۴*۱۶ بیت. اشتباه می گم ؟ |
RE: سوال از حافظه ی مجازی - hasanmousavi - 02 اسفند ۱۳۹۵ ۰۲:۰۵ ب.ظ
(۰۲ اسفند ۱۳۹۵ ۰۱:۳۳ ب.ظ)alimamala نوشته شده توسط: یعنی تفاوت نداره توی هر بلوک کش چند کلنه قرار می گیره ؟ببینید ما میتونیم به کلمه آدرس بدیم یا به بایت های یه کلمه آدرس بدیم. این نکته ای که عرض کردم برای همه حالت ها جواب میده ، توی این مثال هم وقتی میگه ۲ بیت برای Byte Offset داریم یعنی ما اینجا به جای اینکه به کلمه حافظه آدرس بدیم به بایتهای هر کلمه آدرس میدیم ، چون گفته ۲ بیت پس نتیجه می گیریم هر کلمه حافظه ۴ بایت ( با دو بیت میشه چهار بایت رو آدرس داد ) بنابراین قسمت دیتای کش میشه ۳۲ بیت ، شما همیشه اینجوری در نظر بگیر که ما همیشه وقتی میس رخ میده بلاک حاوی کلمه مد نظر ( که شامل کلمه آدرس داده شده و کلمات دیگری هست) رو به داخل کش میاریم حالا تو این مورد ما به بایتهای یه کلمه آدرس میدیم و بلاک حاوی کلمه بایت آدرس داده شده به داخل کش میاد ، شما همیشه در نظر داشته باشید که سایز هر کلمه حافظه با هر کلمه کش برابر است و همچنین سایز هر بلاک حافظه با هر لاین کش |
RE: سوال از حافظه ی مجازی - ali.majed.ha - 02 اسفند ۱۳۹۵ ۰۲:۰۹ ب.ظ
بسیار سپاسگزارم دوست عزیز. خیلی خوب توضیح دادین. تشکر |