4D33811G02,4D33811G02
4D33811G024D33811G02
為了保證CPU訪問時(shí)有較高的命中率,Cache中的內(nèi)容應(yīng)該按一定的算法替換。一種較常用的算法是“近少使用算法”(LRU算法),它是將近一段時(shí)間內(nèi)少被訪問過的行淘汰出局。因此需要為每行設(shè)置一個(gè)計(jì)數(shù)器,LRU算法是把命中行的計(jì)數(shù)器清零,其他各行計(jì)數(shù)器加1。當(dāng)需要替換時(shí)淘汰行計(jì)數(shù)器計(jì)數(shù)值大的數(shù)據(jù)行出局。這是一種高效、科學(xué)的算法,其計(jì)數(shù)器清零過程可以把一些頻繁調(diào)用后再不需要的數(shù)據(jù)淘汰出Cache,提高Cache的利用率。
Cache的替換算法對(duì)命中率的影響。 當(dāng)新的主存塊需要調(diào)入Cache并且它的可用空間位置又被占滿時(shí),需要替換掉Cache的數(shù)據(jù),這就產(chǎn)生了替換策略(算法)問題。根據(jù)程序局部性規(guī)律可知:程序在運(yùn)行中,總是頻繁地使用那些近被使用過的指令和數(shù)據(jù)。這就提供了替換策略的理論依據(jù)。 替換算法目標(biāo)就是使Cache獲得高的命中率。Cache替換算法是影響代理緩存系統(tǒng)性能的一個(gè)重要因素,一個(gè)好的Cache替換算法可以產(chǎn)生較高的命中率。常用算法如下:
(1)隨機(jī)法(RAND法) 隨機(jī)替換算法就是用隨機(jī)數(shù)發(fā)生器產(chǎn)生一個(gè)要替換的塊號(hào),將該塊替換出去,此算法簡單、易于實(shí)現(xiàn),而且它不考慮Cache塊過去、現(xiàn)在及將來的使用情況,但是沒有利用上層存儲(chǔ)器使用的“歷史信息”、沒有根據(jù)訪存的局部性原理,故不能提高Cache的命中率,命中率較低。
(2)先進(jìn)先出法(FIFO法) 先進(jìn)先出(First-In-First-Out,F(xiàn)IFO)算法。就是將先進(jìn)入Cache的信息塊替換出去。FIFO算法按調(diào)入Cache的先后決定淘汰的順序,選擇早調(diào)入Cache的字塊進(jìn)行替換,它不需要記錄各字塊的使用情況,比較容易實(shí)現(xiàn),系統(tǒng)開銷小,其缺點(diǎn)是可能會(huì)把一些需要經(jīng)常使用的程序塊(如循環(huán)程序)也作為早進(jìn)入Cache的塊替換掉,而且沒有根據(jù)訪存的局部性原理,故不能提高Cache的命中率。因?yàn)樵缯{(diào)入的信息可能以后還要用到,或者經(jīng)常要用到,如循環(huán)程序。此法簡單、方便,利用了主存的“歷史信息”, 但并不能說先進(jìn)入的就不經(jīng)常使用,其缺點(diǎn)是不能正確反映程序局部性原理,命中率不高,可能出現(xiàn)一種異?,F(xiàn)象。
ABB NDCU-21 DRIVE CONTACT UNIT
LOT OF 10 ALLEN BRADLEY 1734-IB8 SER D INPUT MODULE DATE CODE 03/16/12
TB WOODS WFC4002-0CHT E-TRAC AC INVERTER 380-460V INPUT
BOSCH 0 608 701 015
GE FANUC IC3600LIBB1B INPUT BUFFER BOARD
CUTLER-HAMMER CIRCUIT BREAKER GD3080DA3
GENERAL ELECTRIC 531X309SPCAHG1 PC BOARD SIGNAL PROCESS
GE FANUC IC697MEM731B
HI-SPEED P2-80-101 PROCESSOR BOARD
SEALED YASKAWA USASGM-05-HGA1
MITSUBISHI MELSEC-Q Q06HCPU CPU UNIT
MITSUBISHI AC SERVO MOTOR HC-SFS152