Knowledge

Write-once (cache coherence)

Source 📝

265: 220: 185: 175: 160: 150: 140: 130: 295: 285: 275: 250: 240: 230: 205: 195: 315: 92:: The block is the only copy of the memory and it is incoherent. This copy was written one or more times. This is the only state that generates a write-back when the block is replaced in the cache. 100:(they are simply listed in reverse order), but this is a simplified form of it that avoids the Read for Ownership operation. Instead, all invalidation is done by writes to main memory. 399:: A partial cache line write is handled as a read miss (if necessary to fetch the unwritten portion of the cache line) followed by a write hit. This leaves all other caches in the 411:
This is a variant of the MESI protocol, but there is no explicit read-for-ownership or broadcast invalidate operation to bring a line into cache in the
35:
defined. It has the optimization of executing write-through on the first write and a write-back on all subsequent writes, reducing the overall
351:
state, the read is interrupted long enough to write the data back to memory before it is allowed to continue. Any copies in the
488:
Archibald, J.; Baer, J. L. (November 1986). "Cache coherence protocols: Evaluation using a multiprocessor simulation model".
423:) cache line performs a write through to memory, which implicitly invalidates other caches. After that, the line is in the 103:
For any given pair of caches, the permitted states of a given cache line are as follows (abbreviated in the order above):
86:: The block is the only copy of the memory, but it is still coherent. No write-back is needed if the block is replaced. 534: 385:
state, a write-through operation is executed updating the block and the memory and the block state is changed to
80:: This block has a coherent copy of the memory. The data may be possibly shared, but its content is not modified. 521:. International Symposium on Computer Architecture: Stockholm, Sweden, June 13–17, 1983. pp. 124–131. 17: 431:) state, and further writes can be done without reference to main memory, leaving the cache line in the 48: 553: 52: 325:
state is erroneous; the write must be written through to memory and so leaves the line in the
519:
Proceedings of the 10th annual international symposium on Computer architecture - ISCA '83
8: 505: 530: 522: 497: 469: 44: 40: 509: 36: 24: 517:
Goodman, J. R. (1983). "Using cache memory to reduce processor-memory traffic".
314: 67:
In this protocol, each block in the local cache is in one of these four states:
547: 97: 32: 415:
state without performing a main memory write. Instead, the first write to a
474: 457: 344: 526: 501: 96:
These states have exactly the same meanings as the four states of the
56: 337:: The information is supplied by the current cache. No state change. 377:
state, the cache line is updated in place and its state is set to
47:
in (1983). Cache coherence protocols are an important issue in
311:
The protocol follows some transition rules for each event:
458:"Using cache memory to reduce processor-memory traffic" 389:. Other caches snoop the write and set their copies to 347:
by other caches; if any of them have the line in the
381:without updating memory. If the information is in 74:: This block has an incoherent copy of the memory. 343:: The data is read from main memory. The read is 545: 487: 473: 369:: If the information in the cache is in 313: 516: 455: 546: 462:ACM Sigarch Computer Architecture News 39:traffic in consecutive writes to the 403:state, and the current cache in the 13: 14: 565: 293: 283: 273: 263: 248: 238: 228: 218: 203: 193: 183: 173: 158: 148: 138: 128: 449: 306: 1: 442: 321:The "WM" transition from the 319:Write-Once Transition Diagram 43:. It was first described by 7: 18:Write once (disambiguation) 10: 570: 456:Goodman, James R. (1983). 15: 62: 49:Symmetric multiprocessing 490:ACM Trans. Comput. Syst 475:10.1145/1067651.801647 359:states are set to the 330: 527:10.1145/800046.801647 317: 27:protocol literature, 51:systems, where each 16:For other uses, see 331: 502:10.1145/6513.6514 304: 303: 561: 540: 513: 480: 479: 477: 453: 300: 297: 296: 290: 287: 286: 280: 277: 276: 270: 267: 266: 255: 252: 251: 245: 242: 241: 235: 232: 231: 225: 222: 221: 210: 207: 206: 200: 197: 196: 190: 187: 186: 180: 177: 176: 165: 162: 161: 155: 152: 151: 145: 142: 141: 135: 132: 131: 106: 105: 45:James R. Goodman 569: 568: 564: 563: 562: 560: 559: 558: 554:Cache coherency 544: 543: 537: 484: 483: 454: 450: 445: 320: 309: 298: 294: 288: 284: 278: 274: 268: 264: 253: 249: 243: 239: 233: 229: 223: 219: 208: 204: 198: 194: 188: 184: 178: 174: 163: 159: 153: 149: 143: 139: 133: 129: 65: 59:of the memory. 41:computer memory 25:cache coherency 21: 12: 11: 5: 567: 557: 556: 542: 541: 535: 514: 496:(4): 273–298. 482: 481: 468:(3): 124–131. 447: 446: 444: 441: 409: 408: 394: 364: 338: 318: 308: 305: 302: 301: 291: 281: 271: 261: 260: D  257: 256: 246: 236: 226: 216: 215: R  212: 211: 201: 191: 181: 171: 170: V  167: 166: 156: 146: 136: 126: 125: I  122: 121: 120: D  118: 115: 112: 109: 94: 93: 87: 81: 75: 64: 61: 31:was the first 9: 6: 4: 3: 2: 566: 555: 552: 551: 549: 538: 536:0-89791-101-6 532: 528: 524: 520: 515: 511: 507: 503: 499: 495: 491: 486: 485: 476: 471: 467: 463: 459: 452: 448: 440: 438: 434: 430: 426: 422: 418: 414: 406: 402: 398: 395: 392: 388: 384: 380: 376: 372: 368: 365: 362: 358: 354: 350: 346: 342: 339: 336: 333: 332: 328: 324: 316: 312: 292: 282: 272: 262: 259: 258: 247: 237: 227: 217: 214: 213: 202: 192: 182: 172: 169: 168: 157: 147: 137: 127: 124: 123: 119: 117: R  116: 114: V  113: 111: I  110: 108: 107: 104: 101: 99: 98:MESI protocol 91: 88: 85: 82: 79: 76: 73: 70: 69: 68: 60: 58: 54: 50: 46: 42: 38: 34: 33:MESI protocol 30: 26: 19: 518: 493: 489: 465: 461: 451: 436: 432: 428: 424: 420: 416: 412: 410: 404: 400: 396: 390: 386: 382: 378: 374: 370: 366: 360: 356: 352: 348: 340: 334: 326: 322: 310: 102: 95: 89: 83: 77: 71: 66: 55:maintains a 28: 22: 307:Transitions 443:References 397:Write miss 29:Write-Once 439:) state. 429:Exclusive 413:Exclusive 367:Write hit 341:Read miss 548:Category 437:Modified 425:Reserved 419:(a.k.a. 405:Reserved 387:Reserved 375:Reserved 357:Reserved 335:Read hit 327:Reserved 84:Reserved 401:Invalid 391:Invalid 345:snooped 323:Invalid 72:Invalid 533:  510:713808 508:  421:Shared 407:state. 363:state. 329:state. 63:States 506:S2CID 433:Dirty 417:Valid 383:Valid 379:Dirty 371:Dirty 361:Valid 353:Dirty 349:Dirty 90:Dirty 78:Valid 57:cache 531:ISBN 523:doi 498:doi 470:doi 373:or 355:or 53:CPU 37:bus 23:In 550:: 529:. 504:. 492:. 466:11 464:. 460:. 539:. 525:: 512:. 500:: 494:4 478:. 472:: 435:( 427:( 393:. 299:N 289:N 279:N 269:Y 254:N 244:N 234:N 224:Y 209:N 199:N 189:Y 179:Y 164:Y 154:Y 144:Y 134:Y 20:.

Index

Write once (disambiguation)
cache coherency
MESI protocol
bus
computer memory
James R. Goodman
Symmetric multiprocessing
CPU
cache
MESI protocol

snooped
"Using cache memory to reduce processor-memory traffic"
doi
10.1145/1067651.801647
doi
10.1145/6513.6514
S2CID
713808
doi
10.1145/800046.801647
ISBN
0-89791-101-6
Category
Cache coherency

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.