Re: MESI
Da li bi neko mogao da mi objasni sledece:
Tacke 1) i 2) uzmi sa blagom rezervom, a za tacku 3) sam 99% siguran. Na kraju sam dao i svoj komentar ispitnog zadatka.
1) Znacenje WB/WT pina (malo detaljnije nego Writeback/Writethrough, tipa ko generise kontrolni signal za ovaj pin i cemu on konkretno sluzi)
Zare: postoje cetiri situacije, koje tebi nisu jasne:
1. prilikom citanja podatak iz Invalid prelazi u Exclusive (WB/WT# =1)
2. prilikom citanja iz Invalid prelazi u Shared (WB/WT# = 0)
U slucaju prve situacije, podatak u cache-u je isti kao u glavnoj memoriji, ali je moguce da podatak nije toliko bitan pa se 'ne organizuje' azuriranje ostalih cacheva u sistemu.
U slucaju druge situacije, ostali cachevi nisu IDLE, vec i oni svoje podatke azuriraju, sa kopijom koja se pojavljuje na magistrali, kada je onaj koji hoce da je procita dovlaci iz glavne memorije.
Kao sto sam objasnio u tacki pod 2) postoje podaci za koje ima smisla ovakav scenario.
3. prilikom upisa podatak iz Shared ide u Exclusive... pa slicna prica kao gore... podatak nije 'od presudnog znacaja za sistem' , pa se ne organizuje azuriranje ostalih cacheva
4. Shared to Shared... ovde to jeste
2) Tranziciju I -> S prilikom citanja
ovo je i meni misterija, ali sasvim je moguce da zbog toga sto je aktivan WT# signal (jer je tada WB/WT# = 0) , ostali cachevi nisu IDLE vec grabe svezu kopiju, u isto vreme kad i onaj koji je stvarno trazio taj podatak radi citanja. Moguce je cak i da se sistemski neki podaci oznace kao takvi da kada jedan cache zapocne njihovo citanje i dovlacenje iz glavne memorije, da i ostali cachevi krenu da azuriraju svoje kopije, iako im u tom trenutku ti podaci nisu potrebni
3) Zasto ne moze iz stanja S da se predje u stanje M prilikom pisanja?
Takvo je pravilo... prilikom prvog upisa, azurira se glavna memorija, a statistika je pokazala da ako dodje do drugog upisa nema svrhe azurirati ponovo glavnu memoriju, jer ce doci i do treceg, cetvrtog... pa se stoga podatak proglasava Modified
Sto se tice ispitnog zadatka, gde je trebala da se popuni tabela, meni i dalje ostaje misterija vezana za signale INV = 0 i INV = 1.
Al' opet, evo mog vidjenja, koje bi trebalo da otvori raspravu... cache krene u snooping iliti njuskanje.... i vidi da postoje u drugim cachevima podaci koji bi trebali da budu kao taj njegov.
Ako mu je direktiva INV=1 on te podatke u drugim cachevima ne azurira, vec ih proglasi ne vazecim.
Ako mu je direktiva INV =0 , on krece u azuriranje ostalih cacheva i sada podatak postaje Shared jer svi imaju istu kopiju.
Zare
Previous by date: Re: rezultati
Next by date: Re: MESI
Previous by thread: Re: MESI Next by thread: Re: MESI
Previous by thread: Re: MESI Next by thread: Re: MESI