سازماندهي حافظه

26
ه ظ ف حا ي ه د مان ساز

Upload: jagger

Post on 05-Jan-2016

85 views

Category:

Documents


0 download

DESCRIPTION

سازماندهي حافظه. سازماندهي حافظه. سلسله مراتب حافظه حافظة اصلي حافظة جانبي حافظة انجمني حافظة نهان حافظة مجازي سخت افزار مديريت حافظه. سلسله مراتب حافظه. سلسله مراتب حافظه به خاطر سرعت بخشيدن دسترسي به حافظه با حداقل هزينه بوجود آمده است. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: سازماندهي حافظه

سازماندهي حافظه

Page 2: سازماندهي حافظه

سازماندهي حافظه

سلسله مراتب حافظه•حافظة اصلي•حافظة جانبي•حافظة انجمني•حافظة نهان•حافظة مجازي•سخت افزار مديريت حافظه•

Page 3: سازماندهي حافظه

سلسله مراتب حافظه

سلسله مراتب حافظه به خاطر سرعت بخشيدن دسترسي •به حافظه با حداقل هزينه بوجود آمده است.

در سلسله مراتب حافظه هرم)كه قاعدة آن در پائين است( •اگر از پائين به باال حركت كنيم:

سرعت دسترسي به حافظه بيشتر مي شود.1.

هزينه سخت افزار افزايش پيدا مي كند.2.

حجم حافظه كاهش پيدا مي كند.3.

Page 4: سازماندهي حافظه

سلسله مراتب حافظه

سلسله مراتب حافظهMagnetic

tapes

Magneticdisks

I/Oprocessor

CPU

Mainmemory

Cachememory

Auxiliary memory

Register

Cache

Main Memory

Magnetic Disk

Magnetic Tape

Page 5: سازماندهي حافظه

حافظة اصلي

ROMوRAMحافظه هاي •RAMنمونه اي از يك حافظة–

Chip select 1Chip select 2

ReadWrite

7-bit address

CS1CS2RDWRAD 7

128 x 8RAM

8-bit data bus

CS1 CS2 RD WR

0 0 x x 0 1 x x 1 0 0 0 1 0 0 1 1 0 1 x 1 1 x x

Memory function

Inhibit Inhibit Inhibit Write Read Inhibit

State of data bus

High-impedenceHigh-impedenceHigh-impedenceInput data to RAMOutput data from RAMHigh-impedence

Page 6: سازماندهي حافظه

ROMROMنمونه اي از يك حافظة–

Chip select 1Chip select 2

9-bit address

CS1CS2

AD 9

512 x 8ROM

8-bit data bus

Page 7: سازماندهي حافظه

نگاشت آدرس حافظه

نگاشت آدرس به يك تراشة حافظه.•مثال:

.ROMبايت 512و RAMبايت512نگاشت

RAM 1RAM 2RAM 3RAM 4ROM

0000 - 007F0080 - 00FF0100 - 017F0180 - 01FF0200 - 03FF

ComponentHexa

address

0 0 0 x x x x x x x0 0 1 x x x x x x x0 1 0 x x x x x x x0 1 1 x x x x x x x1 x x x x x x x x x

10 9 8 7 6 5 4 3 2 1

Address bus

Page 8: سازماندهي حافظه

نگاشت آدرس حافظه

.CPUاتصال حافظه به •متصل CPUاز طريق گذرگاه داده و آدرس به ROMوRAMتراشه هاي –

مي شوند.بيت هاي كم ارزش تر در خطوط آدرس بايت هاي درون يك تراشة –

حافظة وبيت هاي با ارزش بيشتر يك تراشه از چندين تراشة حافظه را انتخاب مي كنند.

Page 9: سازماندهي حافظه

CPUاتصال حافظه به

CS1CS2RDWRAD7

128 x 8RAM 1

CS1CS2RDWRAD7

128 x 8RAM 2

CS1CS2RDWRAD7

128 x 8RAM 3

CS1CS2RDWRAD7

128 x 8RAM 4

Decoder3 2 1 0

WRRD9 8 7-11016-11Address bus

Data bus

CPU

CS1CS2

512 x 8ROMAD9

1- 78

Dat

aD

ata

Dat

aD

ata

Dat

a

Page 10: سازماندهي حافظه

Associative Memory حافظة انجمني()حافظه(تداعيگر(

دسترسي به اين گونه حافظه ها بر اساس محتواي داده صورت •مي گيرد نه آدرس آن.

( CAMاين گونه حافظه ها به حافظه هاي قابل آدرس دهي با)•محتوا هم ناميده مي شوند.

Argument register(A)سازماندهي سخت افزاري•

Key register (K)

Associative memoryarray and logic

m wordsn bits per word

Matchregister

Input

Read

Write

M

Page 11: سازماندهي حافظه

Associative حافظة انجمني Memory

عملكرد حافظة انجمني•CAM(Content Addressable Memory )نام ديگر : – A(Argumentهركلمه در حافظه به طور موازي با محتويات ثبات –

Register).مقايسه مي شود.M[i]=1 آنگاه word[i]=Aاگر درحافظه،– آن به صورت ترتيبي از حافظه M[i]=1مقدارCAMتمام كلماتي كه در –

خوانده مي شود.استفاده مي Aبراي ماسك كردن يك فيلد و يا كليد در ثبات Kاز ثبات –

باشند Kدر بيت متناظر در ثبات 1كه داراي يك Aشود)تنها بيت هاي از ثباتمورد مقايسه قرار مي گيرند(.

Page 12: سازماندهي حافظه

CAMسازماندهي

CAMسازماندهي داخلي•

C11Word 1

Word i

Word m

Bit 1 Bit j Bit n

M1

Mi

Mm

A1Aj An

K1Kj Kn

C1j C1n

Ci1 Cij Cin

Cm1 Cmj Cmn

Page 13: سازماندهي حافظه

CAMسازماندهي

.CAM(در Cijسازماندهي داخلي يك سلول)•

Aj

R S Matchlogic

Input

Write

Read

Kj

M iToF ij

Page 14: سازماندهي حافظه

Match Logic

• Match Logic : Fig. 12-9– Aj = Argument, Fij = Cell ij

– xj = Aj Fij (1 AND 1)+ Aj’ Fij’ (0 AND 0)

– n bits match : Mi = x1x2…..xn

– Key bit Kj : xj + Kj’

» Kj = 0: Aj and Fij no comparison ( Kj : xj + 1 = 1 )

» Kj = 1 : Aj and Fij comparison ( Kj : xj + 0 = xj )

– Match Logic for word I :

Mi = (x1 + K1’) (x2 + K2’)…. (xn + Kn’)

Page 15: سازماندهي حافظه

مدار انطباق

(.match logicسازماندهي داخلي مدار انطباق)•

F'i1 F i1

K1 A1

F'i2 F i2

K2 A2

F'in F in

Kn An

. . . .

M i

Page 16: سازماندهي حافظه

حافظة نهان

اصل مراجعات محلي به حافظه•طب]ق اين اص]ل دسترس]ي ب]ه حافظ]ه در ب]ازه ه]اي زم]اني معين تماي]ل دارد –

كه به سلول هاي مجاور حافظه باشد.اين ن]واحي حافظ]ه را ب]ه زي]ر مجموع]ه ايي تقس]يم مي كن]د ك]ه در ط]ول –

زمان اين زير مجموعه ها با زير مجموعه هاي جديد عوض مي شوند.محلي ب]ودن م]وقت:طب]ق اين اص]ل اطالع]اتي ك]ه در آين]دة نزدي]ك م]ورد –

استفاده قرار مي گيرند،احتماال̂ هم اكنون مورد استفاده قرار گرفته اند.محلي ب]ودن ف]يزيكي:طب]ق اين اص]ل اگ]ر ي]ك كلم]ه م]ورد دس]تيابي ق]رار –

گ]رفت،كلم]ه ه]اي مج]اور ب]ا اين كلم]ه در آين]دة نزدي]ك م]ورد دس]تيابي ق]رار مي گيرن]د)ب]ه عن]وان مث]ال داده ه]اي مرب]وط ب]ه هم در ي]ك آراي]ه پشت س]رهم پش]ت اغلب و ت]رتيب ب]ه برنام]ه ي]ك در دس]تورات مي ش]وند،وي]ا ذخ]يره

سرهم اجرا مي شوند.(.

Page 17: سازماندهي حافظه

حافظة نهان

حافظة نهان•اصل محلي بودن مراجعات علت كاركرد حافظة نهان مي باشند.–حافظه ه]اي نه]ان ،حافظه ه]اي س]ريع و كم حجمي هس]تند ك]ه اطالع]اتي را –

ك]ه احتم]ال دارد ب]ه زودي م]ورد دس]تيابي ق]رار گيرن]د را در خ]ود ذخ]يره مي كنند.

Main memory

Cache memoryCPU

Page 18: سازماندهي حافظه

كارائي حافظة نهان

ترتيب دسترسي حافظه•ه]دايت – نه]ان حافظ]ة س]مت ب]ه ابت]دا حافظ]ه ب]ه دسترس]ي ها تم]ام

مي شوند.ب]ود،حافظ]ة نه]ان م]ورد دس]تيابي – اگ]ر كلم]ة م]ورد نظ]ر در حافظ]ة نه]ان

قرار مي گيرد.اگ]ر كلم]ة م]ورد نظ]ر در حافظ]ة نه]ان نب]ود بل]وك و ي]ا خطي ك]ه كلم]ة م]ورد –

نظ]ر را در ب]ر دارد از حافظ]ة اص]لي ج]ايگزين ي]ك بل]وك در حافظ]ة نه]ان مي شود.

Page 19: سازماندهي حافظه

كارائي حافظة نهان

كارائي سيستم حافظة پنهان•Hit Rate درص]دي از ك]ل دسترس]ي ه]اي ب]ه حافظ]ه ك]ه از طري]ق:

حافظة نهان برآورده مي شود.Tc.زمان دسترسي به حافظة نهان:

Tm.زمان دسترسي به حافظة اصلي:

Te ب]ه ي]ك كلم]ه از حافظ]ه درسيس]تمي كه :زم]ان م]وثر دسترس]ي ازحافظةنهان استفاده مي كند.

Te = Tc + (1 - h) Tm

مثال:Tc = 0.4µs, Tm = 1.2µs, h = 0.85%

Te = 0.4 + (1 - 0.85) * 1.2 = 0.58µs

Page 20: سازماندهي حافظه

نگاشت حافظة اصلي و نهان

انتق]ال داده ه]ا از حافظ]ة اص]لي ب]ه حافظ]ة نه]ان فراين]د نگاش]ت •ناميده مي شود.

انواع نگاشت:•نگاشت انجمني.)تداعيگر(–نگاشت مستقيم.–نگاشت انجمني مجموعه اي.–

Page 21: سازماندهي حافظه

نگاشت حافظة اصلي و نهان )نگاشت انجمني(

نگاشت انجمني•هر بل]وك از حافظ]ة نه]ان مي توان]د ه]ر بل]وك از حافظ]ة اص]لي را ذخ]يره –

كند)قابليت انعطاف(.جدول نگاشت در حافظة انجمني پياده سازي مي شود)سريع و گران(.–ذخ]يره – را آن محتوي]ات هم و حافظ]ه كلم]ة آدرس ،هم نگاش]ت جدول

address (15 bits) مي كند.

Argument register

Address Data

0 1 0 0 00 2 7 7 72 2 2 3 5

3 4 5 06 7 1 01 2 3 4

CAM

Page 22: سازماندهي حافظه

نگاشت حافظة اصلي و نهان )نگاشت مستقيم(

مي توان]د • نه]ان حافظ]ة از مك]ان ي]ك در تنه]ا حافظ]ه بل]وك هر ذخيره شود.

حافظة• از نگاش]ت حافظ]ة RAMجدول مي ش]ود بجاي س]اخته انجمني.

آدرس• تقس]]يم nيك زي]]ر قس]]مت دو ب]]ه حافظةاص]]لي -بيتي مي شوند.

–k بيت برايINDEX.–n-k بيت برايTAG.

از nاز آدرس • ب]ه حافظ]ة اص]لي و ب]راي دسترس]ي -بيت k-بي]تي براي دسترسي به حافظة نهان استفاده مي شود.

روابط بين آدرس ها•

Tag(6) Index(9)

32K x 12

Main memoryAddress = 15 bitsData = 12 bits

512 x 12Cache memory

Address = 9 bitsData = 12 bits

00 000

77 777

000

777

Page 23: سازماندهي حافظه

نگاشت حافظة اصلي و نهان )نگاشت مستقيم(

سازماندهي حافظة نهان با نگاشت مستيم:•

Memoryaddress Memory data

00000 1 2 2 0

0077701000

0177702000

02777

2 3 4 03 4 5 0

4 5 6 05 6 7 0

6 7 1 0

Indexaddress Tag Data

000 0 0 1 2 2 0

0 2 6 7 1 0777

Cache memory

Page 24: سازماندهي حافظه

نگاشت حافظة اصلي و نهان )نگاشت مستقيم(

عملكرد نگاشت مستقيم:•–cpu (يك درخواست حافظه بصورتTAG;INDEX.توليد مي كند )طري]ق – مي كن]د،يع]ني INDEXاز پي]دا دسترس]ي نه]ان حافظ]ة ب]ه

مقايسه مي كند.tagرا باTAG(و tag;dataبه)از TAG=tagاگ]ر– را ه]ا داده اس]ت.بنابراين رخ]داده اص]ابت ي]ك پس

بر مي گرداند.CPUحافظة نهان بازيابي مي كند و به پس ي]ك ع]دم اص]ابت رخ]داده و بن]ابر اين عملي]ات زي]ر TAG<>tagاگ]ر–

:حافظة نهان(:Cache:حافظة اصلي،Mرا به ترتيب انجام مي دهد).1. انتقال مي دهد رم حافظه روي بر مربوطه بلوك از پنهان حافظة ار را ها داده.2. مي كند روز به جديد هاي داده با را پنهان حافظةبه 3. اصلي حافظة روي از را ها كند cpuداده مي ارسال

Page 25: سازماندهي حافظه

نگاشت حافظة اصلي و نهان )نگاشت انجمني مجموعه اي(

در • مكانه]ا از مجم]وعه اي داراي اص]لي حافظ]ة در كلمه اي هر حافظة نهان است كه مي تواند در آنها بار شود.

مقايسه نشانه ها بصورت انجمنی صورت می گيرد•:2نگاشت انجمني مجموعه اي با مجموعه هايي با اندازة •

Index Tag Data

000 0 1 3 4 5 0 0 2 5 6 7 0

Tag Data

777 0 2 6 7 1 0 0 0 2 3 4 0

Page 26: سازماندهي حافظه

نگاشت حافظة اصلي و نهان )نگاشت انجمني مجموعه اي(

عملكرد نگاشت انجمني مجموعه اي:•( توليد مي كند.TAG;INDEX يك درخواست حافظه بصورت)–از – اس]تفاده مي كن]د.يعني INDEXبا پي]دا دسترس]ي نه]ان حافظ]ة ب]ه

((.tag1,data1(و)tag0,data0به)كلمه هاي حافظة پنهان)مقايسه مي كند.tag1وtag0را با TAGبه ترتيب ––if tag i=TAG ->Hit, CPU<-data i. –if tag i <>TAG->Miss.

(را ج]ايگزين مي كن]د)در اينج]ا tag 1,data 1(و)tag 0,data 0يكي از دو كلم]ة )•ك]نيم) ب]ه tag0,data0ف]رض مي را زي]ر ك]نيم(و س]پس عملي]ات ج]ايگزين (را

ترتيب انجام مي دهيم: M[tag 0, INDEX] <- Cache[INDEX](data 0)

Cache[INDEX](tag 0, data 0) <- (TAG, M[TAG,INDEX]),

CPU <- Cache[INDEX](data 0)