The IBM 3090 cache
By the early 1980s processor cycle times in IBM machines had been
reduced so much in relation to central storage cycle times that the
penalty of storing through on every store action had become
intolerable. Thus in the 308X and the 3090 multiprocessor system
[1] a
store-in-cache design is used.
In the 3090 a store operand is written into the cache of the processor
performing the store operation, but it is not sent to central storage.
A cache line (the unit of transfer between the cache and central
storage) is kept solely in that cache until another processor requests
that line or until the cache location is required for a different
line.
Access to central storage from the processors in a 3090 system is
provided through a system control element. Using the
store-in-cache principle, any lines in a cache that have been stored
into become, in effect, part of the central storage system. Thus the
latest copy of a variable may be in the processor's local cache, in
central storage, or in the cache of another processor. The design of
the system control element must therefore take this into account.
Further discussion of the problems of cache consistency in
multiprocessor systems can be found in Computer Architecture II.