ARM3
ARM3
Big indian
Operating mode
ARM general registers and program counter
ARM program status registers
Thumb registers
General registers and program counter
Tsyncmax:
The longest time the request can take to pass through the synchronizer.
Tsyncmax:
Is four processor cycles.
Tldm:
The time for the longest instruction to complete. The longest instruction
is an LDM that loads all the registers including the PC. Tldm is 20 cycles
in a zero wait state system.
Texc:
The time for the Data Abort entry. Texc is three cycles.
Tfiq:
The time for FIQ entry. Tfiq is two cycles.
Reset
When the nRESET signal goes LOW a reset occurs, and the ARM7TDMI core
abandons the executing instruction and continues to increment the address bus as
if still fetching word or halfword instructions.
After reset, all register values except the PC and CPSR are indeterminate.
Bus cycles
Bus cycle types
The ARM7TDMI processor bus interface is pipelined. This gives the maximum time for
a memory cycle to decode the address and respond to the access request:
• memory request signals are broadcast in the bus cycle ahead of the bus
cycle to which they refer
• address class signals are broadcast half a clock cycle ahead of the bus cycle
to which they refer.
nRW:
specifies the direction of the transfer. nRW indicates an ARM7TDMI processor
write cycle when HIGH, and an ARM7TDMI processor read cycle when LOW. A burst
of S-cycles is always either a read burst, or a write burst. The direction cannot be
changed in the middle of a burst.
Memory signals
MAS[1:0]:
bus encodes the size of the transfer. The ARM7TDMI processor can transfer word,
alfword, and byte quantities.
All writable memory in an ARM7TDMI processor based system must support the
writing of individual bytes to enable the use of the C Compiler and the ARM debug tool
chain, for example Multi-ICE.
The address produced by the processor is always a byte address. However, the memory
system must ignore the bottom redundant bits of the address.
Memory signals
nOPC:
output conveys information about the transfer. An MMU can use this signal
to determine whether an access is an opcode fetch or a data transfer. This signal can be
used with nTRANS to implement an access permission scheme.
nTRANS:
output conveys information about the transfer. An MMU can use this
signal to determine whether an access is from a privileged mode or User mode. This
signal can be used with nOPC to implement an access permission scheme.
Memory signals
LOCK:
is used to indicate to an arbiter that an atomic operation is being performed on the
bus. LOCK is normally LOW, but is set HIGH to indicate that a SWP or SWPB
instruction is being performed. These instructions perform an atomic read/write
operation, and can be used to implement semaphores.
TBIT:
is used to indicate the operating state of the ARM7TDMI processor. When in:
• ARM state, the TBIT signal is LOW
• Thumb state, the TBIT signal is HIGH.
Memory signals
D[31:0], DOUT[31:0], and DIN[31:0]:
The ARM7TDMI processor provides both unidirectional data buses, DIN[31:0],
DOUT[31:0], and a bidirectional data bus, D[31:0]. The configuration input BUSEN is
used to select which is active.
External connection of
unidirectional buses
Data bus control circuit