۰
subtitle
ارسال: #۱
  
نگاشت شرکت پذیر مجموعه ای
کسی می تونه این نگاشته رو یه جور واضح واسه من توضیح بده
من خودم توی دور اول که خوندمش تقریبا متوجه شدم ولی الان باز یادم رفت سیستمش چطوریه
فکر می کنم اگه یه شکل مختصر ازش بکشم بهتر می تونم حلش کنم ولی بعضی اوقات با همین کشیدن شکلشم مشکل پیدا می کنم.
فرمولاشم دلم نمیخواد حفظ کنم.
یکی لطف کنه این نگاشت شرکت پذیر مجموعه ای رو واسه من بازش کنه.
مثلا توی این سوال
در یک حافظه نهان شرکت پذیر مجموعه ای با دو بلوک در هر مجموعه (Two-way Set Associative Cache) از بلوک های ۴ کلمه ای استفاده می شود. این حافظه نهان می تواند در مجموع ۲۰۴۸ کلمه از حافظه اصلی را در خود جای دهد. اندازه حافظه اصلی ۱۲۸K کلمه است. برچسب (Tag) در این حافظه چند بیت است؟
۶
۷
۸
۹
جواب ۷ میشه.
اگه یه شکل کوچولو هم ازش بکشید خیلی خوب میشه
مرسی
من خودم توی دور اول که خوندمش تقریبا متوجه شدم ولی الان باز یادم رفت سیستمش چطوریه
فکر می کنم اگه یه شکل مختصر ازش بکشم بهتر می تونم حلش کنم ولی بعضی اوقات با همین کشیدن شکلشم مشکل پیدا می کنم.
فرمولاشم دلم نمیخواد حفظ کنم.
یکی لطف کنه این نگاشت شرکت پذیر مجموعه ای رو واسه من بازش کنه.
مثلا توی این سوال
در یک حافظه نهان شرکت پذیر مجموعه ای با دو بلوک در هر مجموعه (Two-way Set Associative Cache) از بلوک های ۴ کلمه ای استفاده می شود. این حافظه نهان می تواند در مجموع ۲۰۴۸ کلمه از حافظه اصلی را در خود جای دهد. اندازه حافظه اصلی ۱۲۸K کلمه است. برچسب (Tag) در این حافظه چند بیت است؟
۶
۷
۸
۹
جواب ۷ میشه.
اگه یه شکل کوچولو هم ازش بکشید خیلی خوب میشه
مرسی
۳
ارسال: #۲
  
RE: نگاشت شرکت پذیر مجموعه ای
جواب:
راحته حلش .
ببینید شما اول باید تکلیف ۲ تا چیز را مشخص کنید: ۱- اندازه حافظه نهان ۲- اندازه حافظه اصلی
با داشتن این دو می تونیم تعداد بیت های مورد نیاز برای آدرس دهی هر کدام را بدست بیاریم.
آدرس تولید شده توسط پردازنده بطور کلی شامل ۲ قسمت میشه: tag , Index که خود Index شامل یکسری اجزای دیگه هست که بستگی به نوع حافظه نهان ما داره.
اندازه حافظه اصلی ما ۱۲۸K هستش، [tex]n=log(128k)= 17 bits[/tex] اندازه آدرسی که پردازنده تولید می کنه .
خود n با توجه شکل مشخصات حافظه نهان ۳ قسمتی هستش
حافظه نهان ما میتونه ۲۰۴۸ کلمه از حافظه اصلی را در خودش جای بده اما چون هر دو کلمه در یک مجموعه قرار میگیرن بنابرین اندازه حافظه نهان ما برابر ۲۰۴۸/۲ = ۱۰۲۴ میشه . یعنی ۱۰۲۴ مجموعه ۲ کلمه ای که از اندیس ۰ تا ۱۰۲۳ شماره گذاری میشه.
[tex]Index = set word = log(1024) = 10 bits[/tex]
[tex]n = Tag Index = 17 \Rightarrow Tag = 7 bits[/tex]
راحته حلش .
ببینید شما اول باید تکلیف ۲ تا چیز را مشخص کنید: ۱- اندازه حافظه نهان ۲- اندازه حافظه اصلی
با داشتن این دو می تونیم تعداد بیت های مورد نیاز برای آدرس دهی هر کدام را بدست بیاریم.
آدرس تولید شده توسط پردازنده بطور کلی شامل ۲ قسمت میشه: tag , Index که خود Index شامل یکسری اجزای دیگه هست که بستگی به نوع حافظه نهان ما داره.
اندازه حافظه اصلی ما ۱۲۸K هستش، [tex]n=log(128k)= 17 bits[/tex] اندازه آدرسی که پردازنده تولید می کنه .
خود n با توجه شکل مشخصات حافظه نهان ۳ قسمتی هستش
حافظه نهان ما میتونه ۲۰۴۸ کلمه از حافظه اصلی را در خودش جای بده اما چون هر دو کلمه در یک مجموعه قرار میگیرن بنابرین اندازه حافظه نهان ما برابر ۲۰۴۸/۲ = ۱۰۲۴ میشه . یعنی ۱۰۲۴ مجموعه ۲ کلمه ای که از اندیس ۰ تا ۱۰۲۳ شماره گذاری میشه.
[tex]Index = set word = log(1024) = 10 bits[/tex]
[tex]n = Tag Index = 17 \Rightarrow Tag = 7 bits[/tex]
۰
۰
ارسال: #۴
  
نگاشت شرکت پذیر مجموعه ای
من که هرچی از اینها تست حل کردم(جالبه که خیلی هاشو درست میزدم) اما آخرش هم نفهمیدم چی به چیه!!!!
۰
ارسال: #۵
  
نگاشت شرکت پذیر مجموعه ای
خیلی ممنون
فقط من بعضی جاها که اومده سر خود کلمات رو ۱ بایتی یا ۴ بایتی گرفته و وقتی ۴ بایتی گرفته ۲ بیت هم به byteoffset اختصاص داده رو نمیدونم چه جوریه.
فقط من بعضی جاها که اومده سر خود کلمات رو ۱ بایتی یا ۴ بایتی گرفته و وقتی ۴ بایتی گرفته ۲ بیت هم به byteoffset اختصاص داده رو نمیدونم چه جوریه.
۰
ارسال: #۶
  
نگاشت شرکت پذیر مجموعه ای
ممنونم
tag چی رو مشخص میکنه؟
مگه توی شکلی که کشیدین ۲ تا ستون منظور ۲ تا مجموعه نیست که هر کدون یه tag دارن؟
tag چی رو مشخص میکنه؟
مگه توی شکلی که کشیدین ۲ تا ستون منظور ۲ تا مجموعه نیست که هر کدون یه tag دارن؟
۰
ارسال: #۷
  
نگاشت شرکت پذیر مجموعه ای
tag اینو مشخص میکنه که داده ما داخل حافظه نهان هست یا خیر .
طبق شکل هر ردیف شامل ۲ کلمه یا دو تا داده هست( در یک مجموعه )که آدرس یکسان یعنی index یکسان در کش دارند ولی با tag های متفاوت . برای همین ۲۰۴۸ را بر ۲ تقسیم کردیم.
طبق شکل هر ردیف شامل ۲ کلمه یا دو تا داده هست( در یک مجموعه )که آدرس یکسان یعنی index یکسان در کش دارند ولی با tag های متفاوت . برای همین ۲۰۴۸ را بر ۲ تقسیم کردیم.
۰
ارسال: #۸
  
RE: نگاشت شرکت پذیر مجموعه ای
گاهی که می گن بلوک مثلا ۴ کلمه ایست، سایز word رو باید ۲ در نظر بگیریم یا اینکه باید سایز هر بلوک رو به بایت تبدیل کنیم بعد مثلا [tex]4*2^{2}[/tex]؟ تو بعضی سوالات به بایت تبدیل کرده تو بعضی دیگه اومده همون تعداد بیت برای word رو در نظر گرفته. چه باید کرد؟
۰
ارسال: #۹
  
نگاشت شرکت پذیر مجموعه ای
یعنی ۲۰۴۸کلمه همزمان نمیتونه توی حافظه کش باشه.
و به خاطر همین هم توی آدرسدهی فیلدی برای شماره بلوک گذاشته نمیشه.
درست برداشت کردم دوستان؟
در جواب سوال Arshad90 به نظر من بستگی به این داره که سطح دسترسی در سیستم به بایت باشه یا کلمه.
یعنی اگر قراره تو برنامه روی بایتها کار بشه پس باید به اندازه لگاریتم تعداد بایتهای هر بلوک فیلد اختصاص داده بشه توی آدرس
و اگر قراره به کلمه دسترسی بشه به اندازه لگاریتم تعداد کلمات بلوک فیلد نیاز داریم.
و به خاطر همین هم توی آدرسدهی فیلدی برای شماره بلوک گذاشته نمیشه.
درست برداشت کردم دوستان؟
در جواب سوال Arshad90 به نظر من بستگی به این داره که سطح دسترسی در سیستم به بایت باشه یا کلمه.
یعنی اگر قراره تو برنامه روی بایتها کار بشه پس باید به اندازه لگاریتم تعداد بایتهای هر بلوک فیلد اختصاص داده بشه توی آدرس
و اگر قراره به کلمه دسترسی بشه به اندازه لگاریتم تعداد کلمات بلوک فیلد نیاز داریم.
۰
ارسال: #۱۰
  
نگاشت شرکت پذیر مجموعه ای
۲۰۴۸ کلمه میتونه همزمان در کش قرار بگیره، ولی فقط ما با ۱۰۲۴ آدرس میتونیم اونها را آدرس دهی و بیابیم در نتیجه تعداد بیت ایندکس ما ۱۰ بیت است
در اصل اندازه حافظه نهان ما ۱۰۲۴ مجموعه ۲ کلمه ای هست که میشه ۲۰۴۸ کلمه.
در اصل اندازه حافظه نهان ما ۱۰۲۴ مجموعه ۲ کلمه ای هست که میشه ۲۰۴۸ کلمه.
۰
ارسال: #۱۱
  
نگاشت شرکت پذیر مجموعه ای
سلام . می دونم این پست دیگه قدیمی شده اما امیدوارم هنوز خواننده داشته باشه... سوالم اینه که: در متن سوال گفته شده
از طرح این سوال و پاسخش بسیار ممنونم ..
(۲۱ بهمن ۱۳۸۹ ۰۸:۳۵ ق.ظ)zr2358 نوشته شده توسط: با دو بلوک در هر مجموعه (Two-way Set Associative Cache) از بلوک های ۴ کلمه ای استفاده می شودو در پاسخ گفته شده
(۲۱ بهمن ۱۳۸۹ ۰۹:۳۹ ب.ظ)mohanddes نوشته شده توسط: چون هر دو کلمه در یک مجموعه قرار میگیرن.... مفهوم مجموعه یا همون set چیه دقیقا؟ در یک مجموعه ۲ کلمه قرار می گیرد یا در یک مجموعه ۲ بلوک که هر کدوم ۴ کلمه دارند قرار می گیرد؟؟
از طرح این سوال و پاسخش بسیار ممنونم ..
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close