- •Table of Contents
- •List of Illustrations
- •List of Tables
- •2.1 Programmer's Model
- •2.1.2 Supervisor Programmer's Model
- •2.1.3 Status Register
- •2.2 Data Types and Addressing Modes
- •2.3 Data Organization in Registers
- •2.3.1 Data Registers
- •2.3.2 Address Registers
- •2.4 Data Organization in Memory
- •2.5 Instruction Set Summary
- •3.1 Address Bus
- •3.2 Data Bus
- •3.3 Asynchronous Bus Control
- •3.4 Bus Arbitration Control
- •3.6 System Control
- •3.7 M6800 Peripheral Control
- •3.11 Signal Summary
- •4.1 Data Transfer Operations
- •4.1.1 Read Cycle
- •4.1.2 Write Cycle
- •4.2 Other Bus Operations
- •5.1 Data Transfer Operations
- •5.1.1 Read Cycle
- •5.1.2 Write Cycle
- •5.1.4 CPU Space Cycle
- •5.2 Bus Arbitration
- •5.2.1 Requesting the Bus
- •5.2.2 Receiving the Bus Grant
- •5.3 Bus Arbitration Control
- •5.4 Bus Error and Halt Operation
- •5.4.1 Bus Error Operation
- •5.4.2 Retrying the Bus Cycle
- •5.4.4 Double Bus Fault
- •5.5 Reset Operation
- •5.7 Asynchronous Operation
- •5.8 Synchronous Operation
- •6.1 Privilege Modes
- •6.1.1 Supervisor Mode
- •6.1.2 User Mode
- •6.1.3 Privilege Mode Changes
- •6.1.4 Reference Classification
- •6.2 Exception Processing
- •6.2.1 Exception Vectors
- •6.2.2 Kinds of Exceptions
- •6.2.3 Multiple Exceptions
- •6.2.4 Exception Stack Frames
- •6.2.5 Exception Processing Sequence
- •6.3 Processing of Specific Exceptions
- •6.3.1 Reset
- •6.3.2 Interrupts
- •6.3.3 Uninitialized Interrupt
- •6.3.4 Spurious Interrupt
- •6.3.5 Instruction Traps
- •6.3.6 Illegal and Unimplemented Instructions
- •6.3.7 Privilege Violations
- •6.3.8 Tracing
- •6.3.9 Bus Error
- •6.3.10 Address Error
- •7.1 Operand Effective Address Calculation Times
- •7.2 Move Instruction Execution Times
- •7.3 Standard Instruction Execution Times
- •7.4 Immediate Instruction Execution Times
- •7.5 Single Operand Instruction Execution Times
- •7.6 Shift/Rotate Instruction Execution Times
- •7.7 Bit Manipulation Instruction Execution Times
- •7.8 Conditional Instruction Execution Times
- •7.9 JMP, JSR, LEA, PEA, and MOVEM Instruction Execution Times
- •7.10 Multiprecision Instruction Execution Times
- •7.11 Miscellaneous Instruction Execution Times
- •7.12 Exception Processing Execution Times
- •8.1 Operand Effective Address Calculation Times
- •8.2 Move Instruction Execution Times
- •8.3 Standard Instruction Execution Times
- •8.4 Immediate Instruction Execution Times
- •8.5 Single Operand Instruction Execution Times
- •8.6 Shift/Rotate Instruction Execution Times
- •8.7 Bit Manipulation Instruction Execution Times
- •8.8 Conditional Instruction Execution Times
- •8.9 JMP, JSR, LEA, PEA, and MOVEM Instruction Execution Times
- •8.10 Multiprecision Instruction Execution Times
- •8.11 Miscellaneous Instruction Execution Times
- •8.12 Exception Processing Execution Times
- •9.1 Operand Effective Address Calculation Times
- •9.2 Move Instruction Execution Times
- •9.3 Standard Instruction Execution Times
- •9.4 Immediate Instruction Execution Times
- •9.5 Single Operand Instruction Execution Times
- •9.6 Shift/Rotate Instruction Execution Times
- •9.7 Bit Manipulation Instruction Execution Times
- •9.8 Conditional Instruction Execution Times
- •9.10 Multiprecision Instruction Execution Times
- •9.11 Miscellaneous Instruction Execution Times
- •9.12 Exception Processing Execution Times
- •10.1 Maximum Ratings
- •10.2 Thermal Characteristics
- •10.3 Power Considerations
- •10.4 CMOS Considerations
- •10.5 AC Electrical Specification Definitions
- •10.6 MC68000/68008/68010 DC Electrical Characteristics
- •10.7 DC Electrical Characteristics
- •10.13 MC68EC000 DC Electrical Specifications
- •11.1 Pin Assignments
- •11.2 Package Dimensions
SECTION 4
8-BIT BUS OPERATION
The following paragraphs describe control signal and bus operation for 8-bit operation during data transfer operations, bus arbitration, bus error and halt conditions, and reset operation. The 8-bit bus operations devices are the MC68008, MC68HC001 in 8-bit mode, and MC68EC000 in 8-bit mode. The MC68HC001 and MC68EC000 select 8-bit mode by grounding mode during reset.
4.1 DATA TRANSFER OPERATIONS
Transfer of data between devices involves the following signals:
1.Address bus A0 through highest numbered address line
2.Data bus D0 through D7
3.Control signals
The address and data buses are separate parallel buses used to transfer data using an asynchronous bus structure. In all cases, the bus master must deskew all signals it issues at both the start and end of a bus cycle. In addition, the bus master must deskew the acknowledge and data signals from the slave device. For the MC68HC001 and MC68EC000, UDS is held negated and D15–D8 are undefined in 8-bit mode.
The following paragraphs describe the read, write, read-modify-write, and CPU space cycles. The indivisible read-modify-write cycle implements interlocked multiprocessor communications. A CPU space cycle is a special processor cycle.
4.1.1 Read Cycle
During a read cycle, the processor receives one byte of data from the memory or from a peripheral device. When the data is received, the processor internally positions the byte appropriately.
The 8-bit operation must perform two or four read cycles to access a word or long word, asserting the data strobe to read a single byte during each cycle. The address bus in 8-bit operation includes A0, which selects the appropriate byte for each read cycle. Figure 4-1 and 4-2 illustrate the byte read-cycle operation.
MOTOROLA |
M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL |
4-1 |
BUS MASTER
ADDRESS THE DEVICE
1)SET R/W TO READ
2)PLACE FUNCTION CODE ON FC2–FC0
3)PLACE ADDRESS ON A23-A0
4)ASSERT ADDRESS STROBE (AS)
5)ASSERT LOWER DATA STROBE (LDS) (DS ON MC68008)
ACQUIRE THE DATA
1)LATCH DATA
2)NEGATE LDS (DS FOR MC68008)
3)NEGATE AS
START NEXT CYCLE
SLAVE
INPUT THE DATA
1)DECODE ADDRESS
2)PLACE DATA ON D7–D0
3)ASSERT DATA TRANSFER ACKNOWLEDGE (DTACK)
TERMINATE THE CYCLE
1)REMOVE DATA FROM D7–D0
2)NEGATE DTACK
Figure 4-1. Byte Read-Cycle Flowchart
S0 S1 S2 S3 S4 S5 S6 S7 S0 S1 S2 S3 S4 S5 S6 S7 S0 S1 S2 S3 S4 w w w w S5 S6 S7
CLK
FC2–FC0
A23–A0
AS
(DS) LDS
R/W
DTACK
D7–D0
|
|
|
|
|
|
|
|
|
READ |
|
|
WRITE |
|
|
2 WAIT STATE READ |
||
|
|
Figure 4-2. Read and Write-Cycle Timing Diagram
4-2 |
M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL |
MOTOROLA |
A bus cycle consists of eight states. The various signals are asserted during specific states of a read cycle, as follows:
STATE 0 The read cycle starts in state 0 (S0). The processor places valid function codes on FC0–FC2 and drives R/W high to identify a read cycle.
STATE 1 Entering state 1 (S1), the processor drives a valid address on the address bus.
STATE 2 On the rising edge of state 2 (S2), the processor asserts AS and LDS, or DS.
STATE 3 During state 3 (S3), no bus signals are altered.
STATE 4 During state 4 (S4), the processor waits for a cycle termination signal (DTACK or BERR) or VPA, an M6800 peripheral signal. When VPA is asserted during S4, the cycle becomes a peripheral cycle (refer to
Appendix B M6800 Peripheral Interface). If neither termination signal is asserted before the falling edge at the end of S4, the processor inserts wait states (full clock cycles) until either DTACK or BERR is asserted.
STATE 5 During state 5 (S5), no bus signals are altered.
STATE 6 During state 6 (S6), data from the device is driven onto the data bus.
STATE 7 On the falling edge of the clock entering state 7 (S7), the processor latches data from the addressed device and negates AS and LDS, or DS. At the rising edge of S7, the processor places the address bus in the highimpedance state. The device negates DTACK or BERR at this time.
NOTE
During an active bus cycle, VPA and BERR are sampled on every falling edge of the clock beginning with S4, and data is latched on the falling edge of S6 during a read cycle. The bus cycle terminates in S7, except when BERR is asserted in the absence of DTACK. In that case, the bus cycle terminates one clock cycle later in S9.
4.1.2 Write Cycle
During a write cycle, the processor sends bytes of data to the memory or peripheral device. Figures 4-3 and 4-4 illustrate the write-cycle operation
The 8-bit operation performs two write cycles for a word write operation, issuing the data strobe signal during each cycle. The address bus includes the A0 bit to select the desired byte.
MOTOROLA |
M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL |
4-3 |
BUS MASTER
ADDRESS THE DEVICE
1)PLACE FUNCTION CODE ON FC2–FC0
2)PLACE ADDRESS ON A23–A0
3)ASSERT ADDRESS STROBE (AS)
4)SET R/W TO WRITE
5)PLACE DATA ON D0–D7
6)ASSERT LOWER DATA STROBE (LDS) OR DS
TERMINATE OUTPUT TRANSFER
1)NEGATE LDS OR DS
2)NEGATE AS
3)REMOVE DATA FROM D7-D0
4)SET R/W TO READ
START NEXT CYCLE
SLAVE
INPUT THE DATA
1)DECODE ADDRESS
2)STORE DATA ON D7–D0
3)ASSERT DATA TRANSFER ACKNOWLEDGE (DTACK)
TERMINATE THE CYCLE
1) NEGATE DTACK
Figure 4-3. Byte Write-Cycle Flowchart
S0 |
S1 |
S2 |
S3 |
S4 |
S5 |
S6 |
S7 |
S0 |
S1 |
S2 |
S3 |
S4 |
S5 |
S6 |
S7 |
S0 |
S1 |
S2 |
S3 |
S4 |
S5 |
S6 |
S7 |
CLK
FC2–FC0
A23–A0
AS
LDS
R/W
DTACK
D7–D0
ODD BYTE WRITE ODD BYTE WRITE EVEN BYTE WRITE
Figure 4-4. Write-Cycle Timing Diagram
4-4 |
M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL |
MOTOROLA |
The descriptions of the eight states of a write cycle are as follows:
STATE 0 The write cycle starts in S0. The processor places valid function codes on
FC2–FC0 and drives R/W high (if a preceding write cycle has left R/W low).
STATE 1 Entering S1, the processor drives a valid address on the address bus.
STATE 2 On the rising edge of S2, the processor asserts AS and drives R/W low.
STATE 3 During S3, the data bus is driven out of the high-impedance state as the data to be written is placed on the bus.
STATE 4 At the rising edge of S4, the processor asserts L D S, or D S. The processor waits for a cycle termination signal (DTACK or BERR) or VPA, an M6800 peripheral signal. When VPA is asserted during S4, the cycle becomes a peripheral cycle (refer to Appendix B M6800 Peripheral Interface). If neither termination signal is asserted before the falling edge at the end of S4, the processor inserts wait states (full clock cycles) until either DTACK or BERR is asserted.
STATE 5 During S5, no bus signals are altered.
STATE 6 During S6, no bus signals are altered.
STATE 7 On the falling edge of the clock entering S7, the processor negates AS, LDS, and DS. As the clock rises at the end of S7, the processor places the address and data buses in the high-impedance state, and drives R/W high. The device negates DTACK or BERR at this time.
4.1.3 Read-Modify-Write Cycle.
The read-modify-write cycle performs a read operation, modifies the data in the arithmetic logic unit, and writes the data back to the same address. The address strobe ( AS) remains asserted throughout the entire cycle, making the cycle indivisible. The test and set (TAS) instruction uses this cycle to provide a signaling capability without deadlock between processors in a multiprocessing environment. The TAS instruction (the only instruction that uses the read-modify-write cycle) only operates on bytes. Thus, all read-modify-write cycles are byte operations. Figure 4-5 and 4-6 illustrate the read-modify-write cycle operation.
MOTOROLA |
M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL |
4-5 |
BUS MASTER
ADDRESS THE DEVICE
1)SET R/W TO READ
2)PLACE FUNCTION CODE ON FC2–FC0
3)PLACE ADDRESS ON A23–A0
4)ASSERT ADDRESS STROBE (AS)
5)ASSERT LOWER DATA STROBE (LDS) (DS ON MC68008)
ACQUIRE THE DATA
1) LATCH DATA
1) NEGATE LDS OR DS
2) START DATA MODIFICATION
START OUTPUT TRANSFER
1)SET R/W TO WRITE
2)PLACE DATA ON D7–D0
3)ASSERT LOWER DATA STROBE (LDS)
(DS ON MC68008)
TERMINATE OUTPUT TRANSFER
1)NEGATE DS OR LDS
2)NEGATE AS
3)REMOVE DATA FROM D7–D0
4)SET R/W TO READ
START NEXT CYCLE
SLAVE
INPUT THE DATA
1)DECODE ADDRESS
2)PLACE DATA ON D7–D0
3)ASSERT DATA TRANSFER ACKNOWLEDGE (DTACK)
TERMINATE THE CYCLE
1)REMOVE DATA FROM D7–D0
2)NEGATE DTACK
INPUT THE DATA
1)STORE DATA ON D7–D0
2)ASSERT DATA TRANSFER ACKNOWLEDGE (DTACK)
TERMINATE THE CYCLE
1) NEGATE DTACK
Figure 4-5. Read-Modify-Write Cycle Flowchart
4-6 |
M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL |
MOTOROLA |
S0 |
S1 |
S2 |
S3 |
S4 |
S5 |
S6 |
S7 |
S8 |
S9 |
S10 |
S11 |
S12 |
S13 S14 S15 |
S16 |
S17 S18 |
S19 |
CLK
FC2–FC0
A23–A0
AS
DS OR LDS
R/W
DTACK
D7–D0
INDIVISIBLE CYCLE
Figure 4-6. Read-Modify-Write Cycle Timing Diagram
The descriptions of the read-modify-write cycle states are as follows:
STATE 0 The read cycle starts in S0. The processor places valid function codes on FC2–FC0 and drives R/W high to identify a read cycle.
STATE 1 Entering S1, the processor drives a valid address on the address bus.
STATE 2 On the rising edge of S2, the processor asserts AS and LDS, or DS.
STATE 3 During S3, no bus signals are altered.
STATE 4 During S4, the processor waits for a cycle termination signal (DTACK or BERR) or VPA, an M6800 peripheral signal. When VPA is asserted during S4, the cycle becomes a peripheral cycle (refer to Appendix B M6800 Peripheral Interface). If neither termination signal is asserted before the falling edge at the end of S4, the processor inserts wait states (full clock cycles) until either DTACK or BERR is asserted.
STATE 5 During S5, no bus signals are altered.
STATE 6 During S6, data from the device are driven onto the data bus.
STATE 7 On the falling edge of the clock entering S7, the processor accepts data from the device and negates LDS, and D S. The device negates DTACK or BERR at this time.
STATES 8–11
The bus signals are unaltered during S8–S11, during which the arithmetic logic unit makes appropriate modifications to the data.
MOTOROLA |
M68000 8-/16-/32-BIT MICROPROCESSORS USER'S MANUAL |
4-7 |