3- 20
MC68349 USER'S MANUAL
MOTOROLA
3.2.3 Effects of Dynamic Bus Sizing and Operand Misalignment
The combination of operand size, operand alignment, and port size determines the
number of bus cycles required to perform a particular memory access. Table 3-7 lists the
number of bus cycles required for different operand sizes to different port sizes with all
possible alignment conditions for write cycles and read cycles.
Table 3-7. Memory Alignment and Port Size
Influence on Read/Write Bus Cycles
Number of Bus Cycles
(Data Port Size = 32 Bits:16 Bits:8 Bits)
A1, A0
Operand Size
00
01
10
11
Long-Word Instruction
*
1:2:4
N/A
Word Instruction
1:1:2
N/A
1:1:2
N/A
Byte Operand
1:1:1
Word Operand
1:1:2
1:2:2
1:1:2
2:2:2
Long-Word Operand
1:2:4
2:3:4
2:2:4
2:3:4
This table verifies that bus cycle throughput is significantly affected by port size and
alignment. The MC68349 system designer and programmer should be aware of and
account for these effects, particularly in time-critical applications.
The MC68349 uses a simple adaptive prefetch algorithm to minimize unused prefetches
resulting from change-of-flow instructions. Instruction fetches are either aligned long-word
or aligned word accesses, with the size of the access determined by the memory port size
signaled for the previous fetch. When a byte or word port size termination is returned for
an instruction fetch (regardless of whether that fetch is long-word or word), the next fetch
is forced to be a word access. Likewise, if a long-word termination is returned, the next
instruction fetch is a long-word access. Note that the prefetch size algorithm is not affected
by the termination size for any intervening data accesses.
3.2.4 Bus Operation
The MC68349 bus is asynchronous, allowing external devices connected to the bus to
operate at clock frequencies different from the clock for the MC68349. Bus operation uses
the handshake lines (AS
, DS, DSACK1/DSACK0 , BERR , and HALT) to control data
transfers. AS signals a valid address on the address bus, and DS is used as a condition
for valid data on a write cycle. Decoding the SIZx outputs and lower address line A0
provides strobes that select the active portion of the data bus. The slave device (memory
or peripheral) responds by placing the requested data on the correct portion of the data
bus for a read cycle or by latching the data on a write cycle; the slave asserts the
DSACK1/ DSACK0 combination that corresponds to the port size to terminate the cycle.
Alternatively, the SIM49 can be programmed to assert the DSACK1/DSACK0 combination