EasyManua.ls Logo

Mips Technologies R4000 - Manipulation of the Cache by an External Agent; Invalidate; Update; Snoop

Mips Technologies R4000
754 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Chapter 11
270 MIPS R4000 Microprocessor User's Manual
11.10 Manipulation of the Cache by an External Agent
Just as the processor accesses caches, so too can an external agent examine
and manipulate the state and content of the primary and secondary caches
through invalidate, update, snoop, and intervention transactions.
These transactions are described in the following sections. Encodings of
these request transactions are given in Chapter 12.
Invalidate
An invalidate request causes the processor to change the state of the
specified cache line to invalid in both the primary and secondary caches.
Update
An update request causes the processor to write the specified data element
into the specified cache line, and either change the state of the cache line
to shared in both the primary and secondary caches, or leave the state of
the cache line unchanged, depending on the nature of the update request.
An external agent can issue updates to cache lines that are in either the
exclusive or shared states without changing the state of the cache line (see
the SysCmd(3) bit description in Chapter 12).
NOTE: If there is an update to a line in the primary instruction cache,
the line in the secondary cache is updated and the primary instruction
cache line is invalidated.
Snoop
A snoop request to the processor causes the processor to return the
secondary cache state of the specified cache line.
At the same time, the processor atomically
sets the state of the specified
cache line in both the primary and secondary caches according to the value
of the SysCmd(2:0) bits, which define cache state change, and are supplied
by the external agent.
An atomic operation is one that cannot be split, or portions of it deferred. In this case, the
processor sets the state of both secondary and primary caches in an indivisible action; it
cannot set the state of one cache line, allow another process to interrupt, and then
complete the first process by setting the state of the remaining cache line.

Table of Contents