
Section 11 Local Bus State Controller (LBSC)
Rev.1.00 Dec. 13, 2005 Page 395 of 1286
REJ09B0158-0100
11.5.9
Bus Arbitration
The LBSC is provided with a bus arbitration function that grants the bus to an external device
when it makes a bus request.
In normal operation, the bus is held by the LBSC (bus master), and is released to another device in
response to a bus request. It is possible to connect an external device that issues bus requests. In
the following description, an external device that issues bus requests is also referred to as a slave.
The SH7780 has three internal bus masters: the CPU, DMAC, and PCIC. In addition to these are
bus requests from external devices (highest priority). If requests occur simultaneously, the LRU
method is used to decide the request priority. The initial priority order is : CPU > DMAC > PCIC.
To prevent incorrect operation of connected devices when the bus is transferred between master
and slave, all bus control signals are negated before the bus is released. When mastership of the
bus is received, also, bus control signals begin driving the bus from the negated state. Since
signals are driven to the same value by the master and slave exchanging the bus, output buffer
collisions can be avoided. By turning off the output buffer on the side releasing the bus, and
turning on the output buffer on the side receiving the bus, simultaneously with respect to the bus
control signals, it is possible to eliminate the signal high-impedance period. It is not necessary to
provide the pull-up resistors usually inserted in these control signal lines to prevent incorrect
operation due to external noise in the high-impedance state.
Bus transfer is executed between bus cycles.
When the bus release request signal (
BREQ) is asserted, the LBSC releases the bus as soon as the
currently executing bus cycle ends, and outputs the bus use permission signal (
BACK). However,
bus release is not performed during multiple bus cycles generated because the data bus width is
smaller than the access size (for example, when performing longword access to 8-bit bus width
memory) or during a 32-byte transfer such as a cache fill or write-back. In addition, bus release is
not performed between read and write cycles during execution of a TAS instruction, or between
read and write cycles in DMA dual address mode of the bus locked. When
BREQ is negated,
BACK is negated and use of the bus is resumed.
As the CPU is connected to cache memory by a dedicated internal bus, reading from cache
memory can still be carried out when the bus is being used by another bus master inside or outside
the SH7780. When writing from the CPU, an external write cycle is generated when write-through
has been set for the cache in the SH7780, or when an access is made to a cache-off area. There is
consequently a delay until the bus is returned.