تالار گفتمان مانشت

نسخه‌ی کامل: برگ برگ سازی
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام دوستان میشه این سوالو نگاه کنید.متوجه نمیشم چرا پوران گفته تعداد کلمات تو هر ادرس رو دو تا در نظر میگیریم.

[تصویر:  329612_207nu0noorommr6tglty.jpg]
سلام
اینجا رو ببینید
مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.
اول اینکه stride3 یعنی آدرسهای با فاصله ۳ازدحافظه خونده بشن.یعنی ۰,۳,۶,۹,...
دوم اینکه اگر به خطوط داده شده برای برگ برگ سازی دقت کنی گفته A1,A2,A3 میبینی که A0نیست
حالا شما آدرس ها رو پشت سر هم به دودویی بنویس البته کل بیت آدرس ها رو یعنی از A0تاA15 که البته نیاز نیست کامل بنویسی از آدرس صفر تا هشت رو بنویس حالا به نحوه قرار گرفتن بیت های مخصوص برگ برگ سازی نگاه کن آدرس ها دوتا دوتا پشت هم هستند
بنابراین هر آدرس صفرویک میره تو تراشه اول آدرس دو وسه میره تو تراشه دوم و....حالا با توجه به اینکه ۸تا تراشه داریم باید آدرسهای ضریب سه رو پیدا کنی
میدونی که توحالت معمولی با تولید هر آدرس به روش high order یک آدرس خونده میشه با توجه به این مسال اگر روش معمولی بود برای هر ۱۶آدرس ۱۶مرتبه باید به ترتیب آدرس میخوندیم ولی حالا چون میتونیم آدرسای ضریب ۳ رو موازس بخونیم ۱۶آدرس ضریب ۳رو به طور موازی تو سه مرتبه میخونیم.

کوتاه تر از این اصلا نمیشد...
(05 بهمن 1393 09:24 ب.ظ)miladcr7 نوشته شده توسط: [ -> ]سلام دوستان میشه این سوالو نگاه کنید.متوجه نمیشم چرا پوران گفته تعداد کلمات تو هر ادرس رو دو تا در نظر میگیریم.

من نمی دونم پوران چی گفته و چطوری حل کرده / البته عجیب نیست که پاسخه اینطور کتاب ها غلط باشه یا دارای توجیه درستی نباشه و صرفاً به جای اینکه به سمت جواب رفته باشند، جواب رو به سمت خودش آوردند / به هر حال کتاب غیراستاندارد تو بازار زیاده متاسفانه / حالا اگه کتاب معتبری سراغ دارید (مثل کتاب اطلس نصیر) می توونم روی پاسخ هایش بحث کنیم.

ولی فکر کنم بتوونم ابهامتون رو رفع کنم:
وقتی سوال را با این فرض حل کنیم که با هر دسترسی به حافظه اصلی، یک خانه از حافظه خوانده می شود، پاسخ بدست می آوریم که در گزینه ها وجود ندارد و می توان نتیجه گرفت که فرض طراح این نبوده و می توان حدس زد که شاید فرض طراح این باشد که در هر دسترسی چندین خانه ی حافظه خوانده می شود مثلاً 2 خانه یا 4 خانه یا 8 خانه، چون هدف از حافظه Interleaved اینکه در دسترسی به چند خانه پشت سرم حافظه ویا خانه های با strideیی مشخص تسریع داشته باشیم (البته این حدس قانون کلی نمی باشد و در واقع صورت سوال دارای ابهام است و بهتر بود طراح سوال این مطلب رو در صورت سوال عنوان می کرد). به هر حال، اینکه در هر دسترسی از حافظه اصلی چندین خانه خوانده شود امری رایج است، در واقع با وجود سلسله مراتب حافظه، با هر دسترسی یک بلوک از حافظه اصلی (خانه های در یک row) خوانده می شوند و به Cache منتقل می شود.
در نصیر نوشته اگه برگ برگ سازی بر اساس A k و A k+1 و A k+2 انجام شده باشه اصولا بیشتر موارد 2 به توان k بایت حافظه خونده میشه هر بار. والسلام
اصلا لزومی نداره بگیم تو هر خونه حافظه دو کلمه هست و از داده های مسئله هم نمیشه این رو برداشت کرد من راه حلم رو قرار دادم اگه مشکلی داره بفرمایید[

مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.
(06 بهمن 1393 10:36 ق.ظ)neoncar نوشته شده توسط: [ -> ]اصلا لزومی نداره بگیم تو هر خونه حافظه دو کلمه هست و از داده های مسئله هم نمیشه این رو برداشت کرد من راه حلم رو قرار دادم اگه مشکلی داره بفرمایید[

مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.

اشتباهتونو متوجه شدم / وقتی دو تا خانه ی حافظه با آدرس متوالی در یک ماژول حافظه قرار می گیرند، یعنی برای خواندن دو خانه متوالی باید آدرس های متفاوتی داده شود، چون آدرس ها در یک تراشه هستند که در این صورت تسریعی حاصل نمیشه و پاسختون توی گزینه ها نیست.
شما در تکنیک Interleaving می توونید خانه های ماژول های مختلف به طور موازی بخوونید ولی برای خواندن خانه های یک ماژول باید آدرس عوض شود.
حالا با دانستن این موضوع می توونید جوابتونو اصلاح کنید.
لینک مرجع