Một số lưu ý về cách thức mapping giữa bộ nhớ đệm (cache) và bộ nhớ chính (RAM)
Số trang: 10
Loại file: docx
Dung lượng: 204.29 KB
Lượt xem: 13
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
1. Cách lưu trữCảcache lẫn RAM đều được phân thành nhiều ô nhớ, mỗi ô nhớ có dung lượng mặcđịnh là 1 byteo Cache = 256 KB = 218 byte Cache có tổng cộng 218 ô nhớo RAM = 4 GB = 232 byte RAM có tổng cộng 232 ô nhớĐốivới cache, nó sẽ gom W ô nhớ liên tiếp nhau (tức W byte) để tạo thành 1 Line
Nội dung trích xuất từ tài liệu:
Một số lưu ý về cách thức mapping giữa bộ nhớ đệm (cache) và bộ nhớ chính (RAM) Mộtsốlưuývềcáchthứcmappinggiữabộnhớđệm(cache)vàbộnhớchính (RAM)1. Cáchlưutrữ CảcachelẫnRAMđềuđượcphânthànhnhiềuônhớ,mỗiônhớcódunglượngmặc địnhlà1byte o Cache=256KB=218byteCachecótổngcộng218ônhớ o RAM=4GB=232byteRAMcótổngcộng232ônhớ Đốivớicache,nósẽgomWônhớliêntiếpnhau(tứcWbyte)đểtạothành1Line ĐớivớiRAM,doquyđịnhkíchthước1Block=1LinenênWônhớliêntiếptrong RAMcũngsẽtạothành1Block Nếutadùngwbitđểđánhđịachỉcácônhớtrong1Line(hoặc1Block)thìtacó côngthứcW=2w o Kíchthước1Line=1Block=W=32byte(25)MỗiLine(Block)có32ô nhớTacầnw=5bitđểcóthểđánhđịachỉtấtcảônhớtrong1Line (Block) TrongquátrìnhlưuchuyểnđểthựcthilệnhCPUcầntruyxuấtgiátrị1ônhớnàođó, nósẽđitìmtrongCachexemônhớđócónằmtrongđósẵnhaychưa,dođócó2 khảnăng: o Cachehit:ÔnhớCPUđangcầnđangnằmsẵntrongCache,dovậychỉcần lấyralàxong o Cachemiss:ÔnhớCPUđangcầnkhôngnằmsẵntrongCachemàvẫncòn nằmtrongRAM,dovậycầnphảichuyểnBlockchứaônhớđótừRAMsang CacheđểCPUtruyxuất Câuhỏiđặtralà: o GiảsửCPUmuốntìm1ônhớcóđịachỉlàX(bit),làmsaonóbiếtđượcX đangnằmtrongCache(cachehit)hayvẫncònnằmtrongRAM(Cache miss)? o NếuxảyracachemissthìnhữngBlockchứaônhớchuyểntừRAMvào CachesẽnằmởLinenàotrongCache?Việcchuyểnvàoxảyralúcnào?TrongCachengườitacầnphảicó1trườngTagkếtnốivớitừngLineđểchứathôngtintrướcđóBlocknàoRAMđãđượcđưavàoLinenàyDolượngônhớtrongCachevàRAMrấtlớn,ngườitabuộcphảicó1cáchthứclưutrữhợplývàcụthể,nếukhôngthìkhitìmkiếmphảivétcạn(duyệthếttấtcảcácônhớ)2. Cácthuậttoánmapping(ánhxạ)giữaCachevàRAM 2.1. Directmapping Đâylàphươngphápánhxạtrựctiếp,cónghĩalà: o Block0đưavàoCachechắcchắnsẽđượcđưavàoLinethứ0củaCache o Block1đưavàoCachechắcchắnsẽđượcđưavàoLinethứ1củaCache o… o Blockm–1đưavàoCachechắcchắnsẽđượcđưavàoLinethứm1của Cache GiảsửtớiđâysốlượngLinetrongCachechỉlàmLinetrongkhisốlượngBlocklớn hơnrấtnhiều,vậyBlockthứmsẽđượcđưavàoLinenào?CâutrảlờilàLinethứ0 (xoayvòng) o BlockmđưavàoCachechắcchắnsẽđượcđưavàoLinethứ0củaCache o Blockm+1đưavàoCachechắcchắnsẽđượcđưavàoLinethứ1củaCache o… SuyratổngquátBlockthứjđưavàoCachechắcchắnsẽđượcđưavàoLinethứj% mcủaCache(vớimlàtổngsốlượngLinetrongCache) DovậyđểbiếtđượcBlocknàođượcđưavàoLineđangxét,tasẽsửdụngtrường TagcủaLineđóđểxácđịnh. VậybâygiờgiảsửCPUcầntruyxuấtônhớcóđịachỉlàXgồmNbit,nếubộnhớ đangsửdụngphươngphápDirectmappingthìNbitđóphảiđượctổchứcnhưthế nàođểtrảlờiđượccáccâuhỏiđãđặtraởtrên? Trảlời:Nbitđósẽđượcchiathành3phần:Tag(bit)–Line(bit)–Word(bit)vớiý nghĩa o Word(cóWbitchínhlàsốbitđểđánhđịachỉcácônhớtrong1Linehay1 Block)GiátrịcủatrườngWordchobiếtônhớCPUđangtìmnằmởchínhxác vịtrínàotrongLine/Block(vìnólưugiátrịđịachỉônhớtrongLine/Block) o Line(cóLbitchínhlàsốbitđểđánhđịachỉcácLinetrongCache):Giátrịcủa trườngLinechobiếtônhớCPUđangtìmnằmởchínhxácLinenàotrong Cache o Tag(cóTbit=N–L–W):ÝnghĩacủaTagchobiếtBlocknàocủaRAMsẽ đượclưuởLineđangxét,dovậygiátrịcủatrườngTag(Tbit)ởđâydùngđể kiểmtraxemLineđangxétcóthựcsựlưuthôngtincủaônhớ(đượcchứabởi BlocktrongRAM)đangtìmhaykhông o Vídụ:XemvídụtrongslideBộnhớ(Slide33,34,35) Vậyvớicáchthứclưutrữmappingnhưvậy,khixácđịnhônhớcầntìmnằmởCache (màuhồng)hayRAM(màuxanh)thìquytrìnhlàmthếnào? Bước1:LấygiátrịLinetrongNbitcủaXra,đâylàgiátrịchobiếtônhớđangtìm nếunằmtrongCachechỉcóthểnằmởLinenày Bước2:LấygiátrịTagcủaLineđóra,sokhớpvớigiátrịTagcủaX,có2khảnăng: o Bằngnhau(Cachehit):ChắcchắnônhớcầntìmđangnằmởLinenày,vấn đềcònlạichỉlànằmởônhớnàotrongcácônhớcủaLineđóthôiDễ dàngxácđịnhnhờvàogiátrịWord(địachỉô ...
Nội dung trích xuất từ tài liệu:
Một số lưu ý về cách thức mapping giữa bộ nhớ đệm (cache) và bộ nhớ chính (RAM) Mộtsốlưuývềcáchthứcmappinggiữabộnhớđệm(cache)vàbộnhớchính (RAM)1. Cáchlưutrữ CảcachelẫnRAMđềuđượcphânthànhnhiềuônhớ,mỗiônhớcódunglượngmặc địnhlà1byte o Cache=256KB=218byteCachecótổngcộng218ônhớ o RAM=4GB=232byteRAMcótổngcộng232ônhớ Đốivớicache,nósẽgomWônhớliêntiếpnhau(tứcWbyte)đểtạothành1Line ĐớivớiRAM,doquyđịnhkíchthước1Block=1LinenênWônhớliêntiếptrong RAMcũngsẽtạothành1Block Nếutadùngwbitđểđánhđịachỉcácônhớtrong1Line(hoặc1Block)thìtacó côngthứcW=2w o Kíchthước1Line=1Block=W=32byte(25)MỗiLine(Block)có32ô nhớTacầnw=5bitđểcóthểđánhđịachỉtấtcảônhớtrong1Line (Block) TrongquátrìnhlưuchuyểnđểthựcthilệnhCPUcầntruyxuấtgiátrị1ônhớnàođó, nósẽđitìmtrongCachexemônhớđócónằmtrongđósẵnhaychưa,dođócó2 khảnăng: o Cachehit:ÔnhớCPUđangcầnđangnằmsẵntrongCache,dovậychỉcần lấyralàxong o Cachemiss:ÔnhớCPUđangcầnkhôngnằmsẵntrongCachemàvẫncòn nằmtrongRAM,dovậycầnphảichuyểnBlockchứaônhớđótừRAMsang CacheđểCPUtruyxuất Câuhỏiđặtralà: o GiảsửCPUmuốntìm1ônhớcóđịachỉlàX(bit),làmsaonóbiếtđượcX đangnằmtrongCache(cachehit)hayvẫncònnằmtrongRAM(Cache miss)? o NếuxảyracachemissthìnhữngBlockchứaônhớchuyểntừRAMvào CachesẽnằmởLinenàotrongCache?Việcchuyểnvàoxảyralúcnào?TrongCachengườitacầnphảicó1trườngTagkếtnốivớitừngLineđểchứathôngtintrướcđóBlocknàoRAMđãđượcđưavàoLinenàyDolượngônhớtrongCachevàRAMrấtlớn,ngườitabuộcphảicó1cáchthứclưutrữhợplývàcụthể,nếukhôngthìkhitìmkiếmphảivétcạn(duyệthếttấtcảcácônhớ)2. Cácthuậttoánmapping(ánhxạ)giữaCachevàRAM 2.1. Directmapping Đâylàphươngphápánhxạtrựctiếp,cónghĩalà: o Block0đưavàoCachechắcchắnsẽđượcđưavàoLinethứ0củaCache o Block1đưavàoCachechắcchắnsẽđượcđưavàoLinethứ1củaCache o… o Blockm–1đưavàoCachechắcchắnsẽđượcđưavàoLinethứm1của Cache GiảsửtớiđâysốlượngLinetrongCachechỉlàmLinetrongkhisốlượngBlocklớn hơnrấtnhiều,vậyBlockthứmsẽđượcđưavàoLinenào?CâutrảlờilàLinethứ0 (xoayvòng) o BlockmđưavàoCachechắcchắnsẽđượcđưavàoLinethứ0củaCache o Blockm+1đưavàoCachechắcchắnsẽđượcđưavàoLinethứ1củaCache o… SuyratổngquátBlockthứjđưavàoCachechắcchắnsẽđượcđưavàoLinethứj% mcủaCache(vớimlàtổngsốlượngLinetrongCache) DovậyđểbiếtđượcBlocknàođượcđưavàoLineđangxét,tasẽsửdụngtrường TagcủaLineđóđểxácđịnh. VậybâygiờgiảsửCPUcầntruyxuấtônhớcóđịachỉlàXgồmNbit,nếubộnhớ đangsửdụngphươngphápDirectmappingthìNbitđóphảiđượctổchứcnhưthế nàođểtrảlờiđượccáccâuhỏiđãđặtraởtrên? Trảlời:Nbitđósẽđượcchiathành3phần:Tag(bit)–Line(bit)–Word(bit)vớiý nghĩa o Word(cóWbitchínhlàsốbitđểđánhđịachỉcácônhớtrong1Linehay1 Block)GiátrịcủatrườngWordchobiếtônhớCPUđangtìmnằmởchínhxác vịtrínàotrongLine/Block(vìnólưugiátrịđịachỉônhớtrongLine/Block) o Line(cóLbitchínhlàsốbitđểđánhđịachỉcácLinetrongCache):Giátrịcủa trườngLinechobiếtônhớCPUđangtìmnằmởchínhxácLinenàotrong Cache o Tag(cóTbit=N–L–W):ÝnghĩacủaTagchobiếtBlocknàocủaRAMsẽ đượclưuởLineđangxét,dovậygiátrịcủatrườngTag(Tbit)ởđâydùngđể kiểmtraxemLineđangxétcóthựcsựlưuthôngtincủaônhớ(đượcchứabởi BlocktrongRAM)đangtìmhaykhông o Vídụ:XemvídụtrongslideBộnhớ(Slide33,34,35) Vậyvớicáchthứclưutrữmappingnhưvậy,khixácđịnhônhớcầntìmnằmởCache (màuhồng)hayRAM(màuxanh)thìquytrìnhlàmthếnào? Bước1:LấygiátrịLinetrongNbitcủaXra,đâylàgiátrịchobiếtônhớđangtìm nếunằmtrongCachechỉcóthểnằmởLinenày Bước2:LấygiátrịTagcủaLineđóra,sokhớpvớigiátrịTagcủaX,có2khảnăng: o Bằngnhau(Cachehit):ChắcchắnônhớcầntìmđangnằmởLinenày,vấn đềcònlạichỉlànằmởônhớnàotrongcácônhớcủaLineđóthôiDễ dàngxácđịnhnhờvàogiátrịWord(địachỉô ...
Tìm kiếm theo từ khóa liên quan:
kiến trúc máy tính cách thức mapping bộ nhớ đệm bộ nhớ chính cách lưu trữGợi ý tài liệu liên quan:
-
67 trang 299 1 0
-
Giáo trình Kiến trúc máy tính và quản lý hệ thống máy tính: Phần 1 - Trường ĐH Thái Bình
119 trang 232 0 0 -
105 trang 202 0 0
-
84 trang 199 2 0
-
Giải thuật và cấu trúc dữ liệu
305 trang 159 0 0 -
142 trang 146 0 0
-
Thuyết trình môn kiến trúc máy tính: CPU
20 trang 145 0 0 -
Bài giảng Lắp ráp cài đặt máy tính 1: Bài 2 - Kiến trúc máy tính
56 trang 103 0 0 -
4 trang 96 0 0
-
Giáo trình kiến trúc máy tính - ĐH Cần Thơ
95 trang 86 1 0