Hitachi SH7095 Hardware User Manual page 212

Table of Contents

Advertisement

Data cannot be written from the DMAC to cache memory. When the DMAC causes a write to
memory, the contents of memory and the cache contents will be different. To rewrite the contents
of memory, the cache memory must be purged with software if the possibility exists that the data
for that address exists in the cache.
When the CPU starts a read access to a cache area, it first takes a cycle to find the cache. If there is
data in the cache, it fetches it and completes the access. If there is no data in the cache, cache data
is filled via the internal bus, so four consecutive longword reads occur. Misses that occur when
byte or word operands are accessed or branches occur to odd word boundaries (4n + 2 addresses)
are always filled in by longword accesses on the chip-external interface. In the cache-through area,
the access is to the actual access address. When the access is an instruction fetch, the access size is
always longword.
For cache-through areas and on-chip peripheral module read cycles, after an extra cycle is added
to determine the cycle, the read cycle is started through the internal bus. Read data is sent to the
CPU through the cache bus.
When word write cycles access cache area, the cache is searched for. When the data of said
address is found, it is written here. In parallel to this, the actual writing occurs through the internal
bus. When it has the right to use the Internal bus, it notifies the CPU that the write is completed
without waiting for the actual writing to the on-chip peripheral module or off the chip to end.
When it does not have the right to use the internal bus, as when it is being used by the DMAC or
the like, it waits until it gets the bus before notifying the CPU of completion.
Accesses to cache-through areas and on-chip peripheral modules work the same as in the cache
area, except for the cache search and write.
Because the bus state controller has one level of write buffer, the internal bus can be used for
another access even when the chip-external bus cycle has not ended. After a write has been
performed to low-speed memory off the chip, performing a read or write with an on-chip
peripheral module enables an access to the on-chip peripheral module without having to wait for
the completion of the write to low-speed memory.
During reads, the CPU always has to wait for the end of the operation. To immediately continue
processing after checking that the write to the device of actual data has ended, perform a dummy
read access to the same address consecutively to check that the write has ended.
The bus state controller's write buffer functions the same way during accesses from the DMAC. A
dual-address DMA transfer thus starts up in the next read cycle without waiting for the end of the
write cycle. When both the source address and destination address of the DMA are external spaces
to the chip, however, it must wait until the completion of the previous write cycle before starting
the next read cycle.
Hitachi 201

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents