MESIF-protokolla - MESIF protocol
MESIF protokolla on välimuisti koossapysyvyys ja muistin yhtenäisyyden kehittämä protokolla Intel varten välimuistin johdonmukainen ei-yhtenäinen muisti arkkitehtuurit . Protokolla koostuu viidestä tilasta, Modified (M), Exclusive (E), Shared (S), Invalid (I) and Forward (F).
M-, E-, S- ja I-tilat ovat samat kuin MESI-protokollassa . F-tila on S-tilan erikoistunut muoto, ja se osoittaa, että välimuistin tulisi toimia nimettynä vastaajana kaikille annetun linjan pyynnöille. Protokolla varmistaa, että jos jollakin välimuistilla on rivi S-tilassa, korkeintaan yksi (toinen) välimuisti pitää sen F-tilassa.
Välimuistijärjestelmässä, joka käyttää MESI-protokollaa, välimuistilinjapyyntö, joka vastaanotetaan useilla välimuiskeilla, joilla on linja S-tilassa, palvellaan tehottomasti. Se voi joko olla tyytyväinen (hitaasta) päämuistista, tai kaikki jakavat välimuistit voivat vastata, pommittaen pyynnön esittäjää redundanteilla vastauksilla. Välimuistijärjestelmässä, joka käyttää MESIF-protokollaa, välimuistilinjapyyntöön vastataan vain välimuistilla, jolla linja on F-tilassa. Tämän avulla pyynnön esittäjä voi vastaanottaa kopion välimuistista välimuistiin, samalla kun sallitaan niin monen ryhmälähetyspaketin käyttö kuin verkon topologia sallii.
| M | E | S | minä | F | |
|---|---|---|---|---|---|
| M |
|
|
|
|
|
| E |
|
|
|
|
|
| S |
|
|
|
|
|
| minä |
|
|
|
|
|
| F |
|
|
|
|
|
Koska välimuisti voi yksipuolisesti hylätä (mitätöidä) rivin S- tai F-tilassa, on mahdollista, että yhdellä välimuistilla ei ole kopioita F-tilassa, vaikka kopioita S-tilassa onkin. Tässä tapauksessa linjapyyntö täytetään (vähemmän tehokkaasti, mutta silti oikein) päämuistista. F-linjan hylkäämisen mahdollisuuden minimoimiseksi kiinnostuksen puutteen vuoksi linjan viimeisimmälle pyynnölle osoitetaan F-tila; kun F-tilan välimuisti vastaa, se luovuttaa F-tilan uudelle välimuistille.
Siten tärkein ero MESI-protokollasta on, että pyyntö kopion välimuistiriviltä lukemiseksi tulee aina välimuistiin F-tilassa. Ainoa tapa päästä S-tilaan on tyydyttää lukupyyntö päämuistista.
Kullekin välimuistiparille tietyn välimuistirivin sallitut tilat on lueteltu oikealla olevassa taulukossa. Tilaluetteloiden järjestyksellä ei ole muuta merkitystä kuin lyhenteen MESIF ääntämisessä.
On myös muita tekniikoita jaettujen välimuissien lukupyyntöjen tyydyttämiseksi ja tarpeettomien vastausten torjumiseksi, mutta jos vain yksi nimetty välimuisti vastaa, kaikkien kopioiden mitätöinti on helpompaa tarvittaessa siirtymiseen yksinoikeustilaan.
Vertailu MOESI-protokollaan
Tämän protokollan F-tilaa ei pidä sekoittaa MOESI-protokollan "Omistaja" -tilaan. Vaikka molemmat tilat identifioivat yhden välimuistin jakajasarjasta datan siirtämiseksi tehokkaasti välimuistiin välimuistiin välimuiskeilla (sen sijaan, että odotettaisiin tietoja päämuistista), näiden kahden tilan tarkoituksessa on ero.
- Välimuistilinja F-tilassa on puhdas ja se voidaan hävittää milloin tahansa ilman erillistä ilmoitusta.
- Välimuistirivi O-tilassa on likainen ja se on kirjoitettava takaisin muistiin ennen hävittämistä.
MESIF-protokollan F-tila on yksinkertaisesti tapa valita yksi puhtaan välimuistilinjan jakajista vastaamaan luettuihin tietopyyntöihin käyttämällä suoraa välimuistin siirtoa välimuistiin sen sijaan, että odotettaisiin datan tulevan pääsivulta muisti. Tämä optimointi on järkevää arkkitehtuureissa, joissa välimuistin välimuistin latenssi on paljon pienempi kuin päämuistin käyttöaika. Keskeinen huomioitava asia on tässä, että kuten MESI-protokolla, kun data on jaetussa tilassa (yhden välimuistin ollessa F-tilassa), data on puhdas.
MOESI-protokollan O-tila on optimointi MESI-protokollille, jossa jaetun tiedon puhtauden vaatimusta lievennetään. Toisin sanoen välimuistit voivat jakaa likaisia tietoja, kunhan yksi jakajista vastaa tietojen omistamisesta . Omistaja tyydyttää nyt jaettuja tietoja koskevat pyynnöt. Tämä optimointi mahdollistaa tietojen kirjoittamisen viivästymisen sallimalla likaisen tiedon jakamisen. Keskeinen ero MOESI-protokollassa on, että toisin kuin MESIF-protokolla, Omistettu tila ei ole puhdas.
On mahdollista rakentaa MOESIF-protokolla.