Which of the following is an efficient method of cache updating?

2020

Which of the following is an efficient method of cache updating?

  1. A.

    Snoopy writes

  2. B.

    Write through

  3. C.

    Write within

  4. 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.

Explore the full course: Isro