Which of the following is an efficient method of cache updating?
2020
Which of the following is an efficient method of cache updating?
- A.
Snoopy writes
- B.
Write through
- C.
Write within
- D.
Buffered write
Attempted by 136 students.
Show answer & explanation
Correct answer: A
Concept. In a shared-bus multiprocessor, several caches may hold copies of the same memory block. A cache-coherence (cache-updating) mechanism must keep every cached copy consistent whenever one processor writes. The efficient class of techniques is bus snooping: a write appears as a transaction on the shared bus, every cache controller observes (snoops) that transaction, and only the controllers that actually hold the affected block act on it — the rest simply ignore it.
Application. Snoopy writes apply exactly this principle. When a processor writes to a shared block, the write is seen on the bus by all cache controllers, but only those caches that currently hold that block update (or invalidate) their copy; caches without the block do nothing. Coherence is therefore maintained by selective action on the shared-bus signal, with very little extra work — this is the efficient cache-updating method.
Contrast with the other choices.
Method | What it actually does |
|---|---|
Snoopy writes | Every controller observes the write on the shared bus, but only the caches holding the affected block update or invalidate their copy, keeping shared copies coherent with little extra work. |
Write through | A write policy: sends every write straight to main memory; it sets when memory is updated, not how separate caches stay coherent, and it adds memory traffic. |
Buffered write | Holds write data in a temporary buffer to hide latency and cut stalls; performs no coherence update of other caches. |
Write within | Not a recognised cache-updating or coherence technique; no such standard method exists. |
Cross-check. Snoopy writes is the one choice here that actually reconciles shared cached copies — each controller watches the bus and the holders of the block update or invalidate it — whereas write-through and buffered write are write-handling policies and 'write within' is not a real method, so snooping is the efficient cache-updating method.