صفحه 1:
حافظه ی نهان
7 دانشگاه ایلام
صفحه 2:
انواع حافظه
Costbi
9933
$$$
$$
Gpeed
< dus
> 0055
<COw
dOOuw
SOws
Gi
> 08
60-00
46(۲ - ۲
906000 -
ato
FOGO -
deo
Dye
QRevister
Orchip GROO
OPP-chip
GROO
0۳۳00
Oisk
صفحه 3:
SPEED and COST
سلسله مراتب حافظه
a
On-Chip
SRAM
Off-Chip
SRAM
DRAM
Disk
CAPACITY
صفحه 4:
چرا سلسله مراتب حافظه کار می کند؟
محلی بودن ارجاعات
۶ مان
زمانی
* یک مکان از حافظه په صورت پشت سر هم مورد
ارجاع قرار می كيرد.
© مکانی
؟ مکانهای متوالی حافظه به صورت پشت سر هم
مورد ارجاع قرار می گيرند.
* موضوع فوق از لحاظ تجربی ثابت شده است.
* نتیجه ی مهم و با ارزشی است.
* حتی یک حافظه ی نهان کوچک OKB) 53
می تواند ۸٩۰ ارجاعات یک برنامه چند
مگابایتی را پوشش دهد.
CPU
|
A little static
RAM (cache)
|
Lots of
dynamic RAM
صفحه 5:
منال
* در قطعه کدهای روبرو شی
۶ و آرایه ی 2 از
ارجاع به محلهای متوالی حافظه
(Spatial locality) می برند.
متغییر 0لا5 از ارجاعات
همزمان به یک مکان مشابه از employee.name = “Homer Simpson”;
employee.boss = “Mr. Burns”; ۱
employee.age = 45; temporal) abil
۷ بهره می برد.
oO
صفحه 6:
چهار سوال مهم؟
* مکان یابی
* یک بلوک حافظه از حافظه ی اصلی را در کجای حافظه ی نهان ذخیره کنیم؟
* از کجا بدانیم که مطلب مورد نظر در حافظه ی نهان قرار دارد؟
* جابجایی
© در صورت پر بودن حافظه ی نهان کدام بلوک را جابجا کنیم؟
© سیاست نوشتن
* تفییرات حافظه ی نهان را کی به حافظه ی اصلی منتقل کنیم؟
صفحه 7:
مکان یابی
Coxwpiler/proyramwer
O18 wornes
O/S worrnes
Pheewedt
Oauwhere;
Aa, PP,
GPR
@uawhere
© جاسمو
Dewory
Type
Reysters
0۳0
Disk
صفحه 8:
Direct mapped
Block# 012394567
0
Data
صفحه 9:
مه
oot
o10
on
100
101
10
11
1o0LL 10101 10001 __1oLL0 10010 6زم 1.0000
tors
المي
[HOLL mod
[120104 mod 8)
(401102 med 8)=
(£4030 0d 8)
(400009 mod 8)=
[O00 moa
(20000, 04 8) = O00»
1100105 mod 8) = OF ne
11
ne
۳
iss
het
1036
110160
101209
110209
166009
م0001
10000
10020
22
28
22
25
16
28
18
صفحه 10:
۲۱ a SE)
59 5
00s 3
56 3
ous ou
16 3
205 0
0 3 یه [enHTOT
1 ۳
The en ite oft cat ater pout ©. Aer handing a iso dss 10130.)
i مس ايا ستت
ics — [Maroy 6000
oo oor
از مت || هه و۳ مت | ۷ 92
61 ۷ ۳۹ w
هد 0
101 ۷ 6
110 مس [Menai GOI 106 |
aw 2
tora 4. Aer anding a ise of ross (10002 3)
006 | ¥ | 105 [Meron (0000) 000 | فك | ؟ [Memory (10000)
561 oot
Sis | Manon OAD. 010 ¥ | io |e OOH |5 ]6ه
057 ۲ مها | 00 91 ۲ | 50 [Memory (000%)
۳ 0
sou | § 0
2۲| مهد [Maan OTTO كل | 7| ge [ean OO
aw | ند
10. After handling @ miss of address (0001449) f.After handing a miss of address (10040,
صفحه 11:
نگاشت مستقیم
Kies itera ion
Bye|
Hit
(BOO HIOOM (Dy
dor
تسوا ولب هید
فرض كنيد كه حافظه ى نهان دارای ۶۴ بلوک است و اندازه ی هر بلوک حافظه ی نهان پرایر ۱۶
بیت است و عرض حافظه ی اصلی ۸ بیت است. آدرس ۱۲۰۰ در کجا قرار می گیرد؟
صفحه 12:
* بلوک داده می تواند در هر جایی
باشد.
* یعنی باید تمام برچسب ها را
همزمان با هم مقایسه کنیم.
#اخيلى كزان اميت
Address
Data Out
32-bit Address
صفحه 13:
انجمنی چهار مسیره
Address: Data
3190-1211 10983210
(440-1 multiploxon
Hit
صفحه 14:
مکان یابی و تشخیص
بخشن
منظور
1۳ | انتخاب یک مجموعه از بلوکها
۷ ۱ب لوکمورد ننظر در دلخلمجموعه
© فرض كنيد كه <OG, 6, O> juli p
* 8التنايمى بلوك © تعداد لعضایهر مجموعه و © نيز تعداد بلوكهاىحافظه ى نهارلست
* لذاء تعداد مجموعه ها برابر است با 0/۵؛
32-bit Address
طول
2۷ | انتخاب کلمه ی مورد نظر در داخل بلوک (لندايدى بلوك) حاتم
(تسعداد لعضای ی کمجموعه Phony, (le
0-۱ - همحر
)سس :0
۵) هو رسب
(020) هه بط :۵
Derd star = OB xO = OO x x (BIS)
صفحه 15:
جابجایی
© اندازه حافظه ی نهان محدود است
* اكر حافظه ی نهان پر شد چکار کنیم؟
نمی PAPO ©
LRO (eset revel word) ©
(cet wost reveciy wed) 00۵0۸ ©
(vex, realy!) 0
* در نگاشت مستقیم کاندید جابجایی مشخص است.
۶ در نگاشت انجمنی اگر حافظه ی نهان دو مسیره باشد. (801)ما را به آسانى
می توان پیاده کرد.
* اگر تعداد مجموعه ها از ۲ بیشتر باشد. روش انتخاب شبه تصادفی مناسب
صفحه 16:
سیاست نوشتن
* سلسله مراتب حافظه
© دویا بیشتر کپی از یک بلوک یکسان
* حافظه ی اصلی و حافظه ی جانبی
* هنكام نوشت چکار کنیم؟
* در نهايت, pled كبيها بايد يكسان شوند.
* يعنى نوشتن بايد در تمام سطوح منتشر شود.
صفحه 17:
سیاست نوشتن؛ :طبر
؟ خیلی راحت است
* عمل نوشتن در سلسه مراتب حافظه منتشر می شود.
(0۱9) بط ,ری را ,امن ۰
* ایرادات
۴ پهنای باند مورد نیاز زیاد است.
۴ حافظه های سطوح پایینتر کندتر هستند.
* در عملء راو 6,ا از این سیاست استفاده می کنند.
صفحه 18:
*۴پر کاربرد است
* بايد از وضعیت هر خط از حافظه ی نهان نگهداری کنیم.
؟ 117/1 ی عنیپ لوکمورد ن_ظر در حافظه ی نهاننیست
© (): یعتی او کمورد نظر موجود لستما تفییر ن کردم لست
موزل ی عنی_لوکمورد نظر موجود لستما تغییر کرده لست
وضعیت در کنار برچسب ذخیره می شود.
* هنكام نوشتن بیت ۲۶ را تنظیم کنید.
© هنگام خروج از حافظه, اگر بیت ۲۹7 تنظیم شده بود داده را در سطوح
پایینتر ذخیره کنید.
صفحه 19:
سیاست نوشتن
؟ نسخه ی داده در سطوح پایینتر کهنه هستند.
© هميشه هنكام دسترسى به سطوح يايينترء ابتدا باید سطوح
بالاتر را جك كرد.
* در سيستمهاى تك يردازنده اى خيلى اذيت نمى كند.
* در سیستمهای چند پردازنده اى بايد همبستكى داده ها جك شود.
* دستگاههای 1/6 که مستقیما به حافظه دسترسی دایند نیز !
مشکل را دارند.
صفحه 20:
مثال حافظه ی نمان
LRU
Tag Array
Tag
1
Tag
0
۰
فقط برچسبها را تشان داده ایم.
® دنباله ی اجرا:
Hit/Miss
Set/Way
Binary
<9C0 Cavke: <BG=F,G
لنجمنیدو مسیرم 06,
در ایتدا خالی است.
Referenc
e
صفحه 21:
مثال حافظه ی نمان
LRU
Tag Array
Tag |Tag
0 1
10
۰
فقط برچسبها را تشان داده ایم.
* دنباله ی اجرا:
Set/Way | Hit/Miss
Miss 2/0
Binary
101010
<9C0 Cavke: <BG=F,G
لنجمنیدو مسیرم 06,
در ایتدا خالی است.
Referenc
e
Load
Ox2A
صفحه 22:
مثال حافظه ی نمان
LRU
Tag Array
Tag |Tag
0 1
10
۰
فقط برچسبها را تشان داده ایم.
* دنباله ی اجرا:
Set/Way | Hit/Miss
Miss 2/0
Hit 2/0
Binary
101010
101011
<98O Cache: <BG=F,G
لنجمنیدو مسیرم 06,
در ایتدا خالی است.
Referenc
e
Load
Ox2A
Load
0x2B
صفحه 23:
Jl حافظه ی نهان
LRU
Tag Array
Tag |Tag
0 1
10
11
3
* فقط برجسبها را نشان داده ايم.
* دنباله ی اجرا:
Set/Way | Hit/Miss
Miss 2/0
Hit 2/0
Miss 3/0
Binary
101010
101011
111100
<98O Cache: <BG=F,G
لنجمنیدو مسیرم 06,
در ایتدا خالی است.
Referenc
e
Load
Ox2A
Load
0x2B
Load
0836
صفحه 24:
مثال حافظه ی oe
LRU
Tag Array
Tag |Tag
0 1
10
10
11
3
* فقط برجسبها را نشان داده ايم.
* دنباله ی اجرا:
Set/Way | Hit/Miss
Miss 2/0
Hit 2/0
Miss 3/0
Miss 0/0
Binary
101010
101011
111100
100000
<98O Cache: <BG=F,G
لنجمنیدو مسیرم 06,
در ایتدا خالی است.
Referenc
e
Load
Ox2A
Load
0x2B
Load
0836
Load
صفحه 25:
مثال حافظه ی oe
LRU
Tag Array
Tag |Tag
0 1
10 گیل
10
11
3
* فقط برجسبها را نشان داده ايم.
* دنباله ی اجرا:
Set/Way | Hit/Miss
Miss 2/0
Hit 2/0
Miss 3/0
Miss 0/0
Binary
101010
101011
111100
100000
<98O Cache: <BG=F,G
لنجمنیدو مسیرم 06,
در ایتدا خالی است.
Referenc
e
Load
Ox2A
Load
0x2B
Load
0836
Load
صفحه 26:
مثال حافظه ی نمان
LRU
Tag Array
<S9CO Cache: <OG=F,G ٠ ۲29 9
لنجمنیدو مسیرم 06, ۰ 0 1
در ابتدا خالی است. * 01 1
فقط برچسبها را تشان داده ایم.
دنباله ی اجرا: *
Referenc | Binary | Set/Way | Hit/Miss 10
e
Load 101010 | 2/0 Miss 11
Ox2A
Load 101011 |2/0 Hit
0x2B
Load 111100 | 3/0 Miss
0836
Load 100000 | 0/0 Miss
صفحه 27:
Jl حافظه ی نهان
LRU
Tag Array
Tag |Tag
0 1
01 11
10 0
11
626 ٠»
۰
در آب
28 )> اه 9000>
۱2 روز لنجمتیدو مسیرم
خالی است.
۶ فقط برچسبها را نشان داده ایم.
* دنباله ی اجرا:
Set/Way | Hit/Miss
Miss
Hit
Miss
Miss
Miss
2/0
2/0
3/0
0/0
0/1
Binary
101010
101011
111100
100000
110011
Referenc
e
Load
Ox2A
Load
0x2B
Load
08236
Load
0x20
Load
صفحه 28:
© زمان امتحان پنج شنبه ۲۳آذر ۱۳۹۶ ساعت ۸
تقسیم ۱۱ بر ۴