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

نسخه‌ی کامل: [درخواست راهنمایی] برگ برگ سازی حافظه + تست شماره 72 سال 88
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام
دوستان من در مورد برگ برگ سازی یه سوال ساده دارم ,
اینکه در روش high order کدوم بیت ها تغییر میکنن دقیقاً؟؟؟
مثلاً در این تست کامپیوتر ۸۸ , گفته میشه ما ۱۶ تا آدرس برای high order تولید میکنیم

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

یجورایی نامفهومه واسم, ما برای low order مشخص میکنیم کدوم بیتها تغییر میکنن و بعد طبق اون میتونیم بفهمیم چند تا آدرس تولید میشه
ولی برای high order من نمیدونم چطوریه؟؟
اینطوری که من متوجه شدم در روش high زنجیره ی آدرسای تولیدی ما همشون در یک تراشه هستن, پس به تعداد تراشه ها باید آدرس تولید کرد؟؟
مثلاً در این سوال واسه جواب high گفته ۱۶ تا , چرا ۱۶ تا؟؟
(21 دى 1393 11:10 ب.ظ)Farzamm نوشته شده توسط: [ -> ]حافظه High-order interleaved حافظه ای است که interleaving بر اساس بیت های پرارزش انجام می گیرد (در اینجا A15,A14,A13) که در این صورت خانه های با آدرس متوالی حافظه درون یک ماژول حافظه قرار می گیرند و در بین ماژول ها توزیع نمی شوند و بنابراین اگر خانه های با آدرس متوالی مورد access قرار گیرند هیچ تسریعی نسبت به حافظه معمولی (Non-interleaved) نخواهیم داشت.

من قسمت آخر سوالاتونو نفهمیدم / کجا گفته زنجیره آدرس های تولیدی همشون تو یک ماژول هستند؟ بستگی به دنباله آدرس ها داره / ممکنه تو ماژول های متفاوت باشند / چی رو گفته ۱۶ تا؟
لطف کنید موضوعات مورد سوالاتتان رو به طور واضح بیان کنید.

من مشکلم اینه که نمیدونم چطور باید فهمید آدرس دهی در روش high order بر اساس کدام بیت ها انجام میشه؟ برای low order رو متوجه میشم ولی high order نه!
منظورم از "زنجیره آدرس های تولیدی همشون تو یک ماژول هستند" این بود که شما گفتید "خانه های با آدرس متوالی حافظه درون یک ماژول حافظه قرار می گیرند و در بین ماژول ها توزیع نمی شوند" , فقط بد بیان کردم !

در جواب این تست گفته شده با 3 آدرس (به روش low order ) میتوان 16 آدرس با فاصله 3 را خواند حال آنکه این 16 آدرس در روش high order نیاز به تولید 16 آدرس دارد!
منظورم اط 16 این بود.
(21 دى 1393 11:25 ب.ظ)zahra.s نوشته شده توسط: [ -> ]من مشکلم اینه که نمیدونم چطور باید فهمید آدرس دهی در روش high order بر اساس کدام بیت ها انجام میشه؟ برای low order رو متوجه میشم ولی high order نه!
منظورم از "زنجیره آدرس های تولیدی همشون تو یک ماژول هستند" این بود که شما گفتید "خانه های با آدرس متوالی حافظه درون یک ماژول حافظه قرار می گیرند و در بین ماژول ها توزیع نمی شوند" , فقط بد بیان کردم !

در جواب این تست گفته شده با ۳ آدرس (به روش low order ) میتوان ۱۶ آدرس با فاصله ۳ را خواند حال آنکه این ۱۶ آدرس در روش high order نیاز به تولید ۱۶ آدرس دارد!
منظورم اط ۱۶ این بود.

مشکل اولتون رو احتمالاً متوجه شدید دیگه / بر اساس بیت های پرارزش، مثلاً در این تست بیت A15,A14,A13

این جواب منظورتون چه جوابی هست / از کجا؟ کدوم کتاب؟ کتاب معتبره؟ منظورتون از روش Low-order یعنی interleaving با بیت های A1,A2,A3 دیگه / من حس می کنیم شما همون روش low-order رو هم متوجه نشدید / چون اگه متوجه شده بودید high-order رو هم می فهمید / میشه اون روشی که متوجه شدید رو توضیج بدید تا ببینیم مشکل کجاست / بعد می دونید چرا در حالت اول 3تا آدرس داده شده و 16 آدرس خوانده شده؟ چرا با یک آدرس اینکارو نکرده؟ (من این سوالات رو میپرسم تا ببینم مشکلتان کجاست)
(21 دى 1393 11:52 ب.ظ)Farzamm نوشته شده توسط: [ -> ]مشکل اولتون رو احتمالاً متوجه شدید دیگه / بر اساس بیت های پرارزش، مثلاً در این تست بیت A15,A14,A13

این جواب منظورتون چه جوابی هست / از کجا؟ کدوم کتاب؟ کتاب معتبره؟ منظورتون از روش Low-order یعنی interleaving با بیت های A1,A2,A3 دیگه / من حس می کنیم شما همون روش low-order رو هم متوجه نشدید / چون اگه متوجه شده بودید high-order رو هم می فهمید / میشه اون روشی که متوجه شدید رو توضیج بدید تا ببینیم مشکل کجاست / بعد می دونید چرا در حالت اول ۳تا آدرس داده شده و ۱۶ آدرس خوانده شده؟ چرا با یک آدرس اینکارو نکرده؟ (من این سوالات رو میپرسم تا ببینم مشکلتان کجاست)

مشکل اولم هنوز حل نشده, ببینید وقتی گفته میشه high order یعنی بر اساس بیت های پرارزش , خب حالا کدوم بیت های پرارزش؟؟ به عبارتی چندتا از بیت های پرارزش؟؟ این رو چطور مشخص میکنیم؟؟
این جواب منظورم کتاب های مختلفی هست که حل کردن , هم پوران نگاه کردم هم مدرسان (یکی بدتر از دیگری)
منظورم ازLow order هم همون برگ برگ سازی با بیتهای A3A2A1

هرچی بلد بودم قاطی کردم! Undecided
سلام دوست عزیز ببینید فرق high با low چیه؟ توی high ادرس های متوالی توی یک بلوک هستن یا همون ماژول مثلا میگیم از ادرس 0 تا 127 در ماژول یک از ادرس 128 تا 255 در ماژول دوم و ...
اما توی low چطوریه؟ مثلا ادرس 0 در خونه اول ماژول اول ادرس یک در خونه اول ماژول دوم ادرس 3 در خونه اول ماژول سوم ...
یعنی یه جورای اعدادی که توی یک ماژول هستن یک مضربی از یک عددی هستن
حالا دقت کنید ما کی میگیم حافظه high order هستش؟ وقتی براساس بیت های پر ارزش ادرس برگ برگ سازی انجام بدیم یعنی اخرین بیت های ادرس دقت کنید مثلا اگر 16 بیتی هست بر روی 15و14و13 میشن پر ارزش یا اگر 8 بیت مثلا روی 7و6 یعنی high همیشه بیت های اخر ادرس هستش شما دارید 16 بیتی به دو قسمت تقسیم میکنید و 8 بیت چپ پرارزش در نظر میگیرید اینجا با اون تعریف همیشگی ما فرق داره و هر قسمتی از 8 بیت چپ نمیگیم پر ارزش بلکه چپ ترین های این 8 بیت میگیم پر ارزش
و هر حالتی غیر از چپ ترین بیت ها را میگیم low order
چرا؟ چون بر حسب سوال ما میایم و کاری میکنیم ادرس های که لازم داریم همزمان فراخوانی بشن برحسب اون موردی که لازم داریم بیت ها رو برگ برگ سازی میکنیم فک کنم الان مشکلتون حل شد که اصلا low چیه high چیه

اما سوال دقت کنید stride 3 را خواسته یعنی ما ادرس های مضرب 3 را لازم داریم یعنی
0,3,6,9,12,15,18,21....
حالا گفته برحسب 3 بیت اول برگ برگ سازی انجام بدیم و فرکانسشو نسبت به حالت high order به دست بیاریم تعداد ماژول ها هم گفته 8 تا هستش اصولش اگر بخوایم بگیم توی خونه 0 باید اینطوری پخش بشن
0,1,2,3,4,5,6,7,
خونه اول حافظه ها
8,9,10,11,12,13,14,15
با این روش اگر انجام بدیم
برای خوندن هر 8 تا ادرس ما 3 بار به حافظه مراجعه میکنیم اما برای high order ما باید 8 بار مراجعه کنیم پس فرکانسش میشه
[tex]\frac{8}{3}=2.66[/tex]

که توی جوابا نیست منم جای دیگه ندیدم کسی در مورد این تست حرفی زده باشه و توضیحی باشه همه انگاری عینا از یکی کپی کردن و اینطوری حلش کردن که
ما فرض کنیم توی هر خونه 2 تا ادرس هست یعنی ادرس
0و1 باهم توی خونه 0 ماژول اول
2و3 توی خونه 0 ماژول دوم
و...
اینطوری حساب کردن و جواب برابر
[tex]\frac{16}{3}=5.3[/tex]

حالا این مدلیشو من ندیده بودم و با این توضیحاتیم که اینا نوشتن قانع نمیشم چرا باید 2 تا 2 تا در نظر بگیریم
اگر اقای farzamm اینو بدونن و توضیحی بدهن که چرا باید 2 تا 2 تا در نظر گرفت ممنون میشم
امیدوارم مشکل شما هم حل شده باشه Big Grin
وقتی سوال را با این فرض حل کنیم که با هر دسترسی به حافظه اصلی، یک خانه از حافظه خوانده می شود، پاسخ بدست می آوریم که در گزینه ها وجود ندارد و می توان نتیجه گرفت که فرض طراح این نبوده و می توان حدس زد که شاید فرض طراح این باشد که در هر دسترسی چندین خانه ی حافظه خوانده می شود مثلاً ۲ خانه یا ۴ خانه یا ۸ خانه، چون هدف از حافظه Interleaved اینکه در دسترسی به چند خانه پشت سرم حافظه ویا خانه های با strideیی مشخص تسریع داشته باشیم (البته این حدس قانون کلی نمی باشد و در واقع صورت سوال دارای ابهام است و بهتر بود طراح سوال این مطلب رو در صورت سوال عنوان می کرد). به هر حال، اینکه در هر دسترسی از حافظه اصلی چندین خانه خوانده شود امری رایج است، در واقع با وجود سلسله مراتب حافظه، با هر دسترسی یک بلوک از حافظه اصلی (خانه های در یک row) خوانده می شوند و به Cache منتقل می شود.



(22 دى 1393 11:35 ب.ظ)Hamid_0311 نوشته شده توسط: [ -> ]... منم جای دیگه ندیدم کسی در مورد این تست حرفی زده باشه و توضیحی باشه همه انگاری عینا از یکی کپی کردن و اینطوری حلش کردن که ...

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