Part 2 defined E and O; this topic asks what they are worth. Every extra state moves work somewhere: O removes memory writes but makes a cache answer every later reader, E removes an upgrade transaction (GetM and its Data) but forces H to forward to a possibly clean holder, and the F state of MESIF lets a clean sharer stand in for memory. The lessons count those effects on the course model, extended to a third core C2 where sharing needs it.
Lesson | After it you can... |
|---|---|
Count the memory writes O saves and the duties it adds. | |
Explain how one clean sharer answers reads instead of memory. | |
Run one trace under MSI, MESI and MOESI and compare the counts. | |
Pick a state set from the sharing pattern and costs. |
Suggested order: O first, then F as its clean counterpart, then the simulator that puts numbers on both arguments, then the decision. Revise the MOESI pilot lesson and the MESI pilot lesson first: this topic builds on their traces and does not redraw them.
Not necessarily. In the course model, where data travels through H, O removes memory writes and memory reads but turns each later read into a four-leg forwarded read instead of a two-leg memory read. It saves memory bandwidth, not interconnect messages. The simulator lesson counts both.