arm7 architecture
DESCRIPTION
ARM7 Architecture. ARM7 Core Architecture. Bus Convention. Instruction Pipelined. ARM instruction set formats. Instruction set. Instruction set. Instruction set. Addressing modes. Thumb instruction set formats. Data format. Little indian. Big indian. Operating mode. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/1.jpg)
ARM
7 Ar
chite
ctur
e
![Page 2: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/2.jpg)
ARM
7 Co
re A
rchi
tect
ure
![Page 3: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/3.jpg)
Bus Convention
![Page 4: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/4.jpg)
Instruction Pipelined
![Page 5: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/5.jpg)
ARM
inst
ructi
on s
et fo
rmat
s
![Page 6: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/6.jpg)
Inst
ructi
on s
et
![Page 7: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/7.jpg)
Inst
ructi
on s
et
![Page 8: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/8.jpg)
Inst
ructi
on s
et
![Page 9: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/9.jpg)
Addressing modes
![Page 10: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/10.jpg)
Thum
b in
stru
ction
set
form
ats
![Page 11: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/11.jpg)
Data format
Little indian
Big indian
![Page 12: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/12.jpg)
Operating mode
![Page 13: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/13.jpg)
ARM general registers and program counter
![Page 14: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/14.jpg)
ARM program status registers
![Page 15: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/15.jpg)
Thumb registers
Program status registers
General registers and program counter
![Page 16: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/16.jpg)
Map
ping
of
Thum
b on
to A
RM re
gist
ers
![Page 17: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/17.jpg)
Program status register format
Interrupt disable bitsThe I and F bits are the interrupt disable bits:• when the I bit is set, IRQ interrupts are disabled• when the F bit is set, FIQ interrupts are disabled
![Page 18: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/18.jpg)
Program status register formatT bitThe T bit reflects the operating state:• when the T bit is set, the processor is executing in Thumb state• when the T bit is clear, the processor executing in ARM state.
![Page 19: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/19.jpg)
Exception entry and exit
![Page 20: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/20.jpg)
Exception vectors
![Page 21: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/21.jpg)
Exception priority order
![Page 22: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/22.jpg)
Interrupt latenciesThe calculations for maximum and minimum latency are described in:• Maximum interrupt latencies• Minimum interrupt latencies.
Maximum interrupt latenciesWhen FIQs are enabled, the worst-case latency for FIQ comprises a combination of:
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 instructionis an LDM that loads all the registers including the PC. Tldm is 20 cyclesin 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.
![Page 23: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/23.jpg)
Reset
When the nRESET signal goes LOW a reset occurs, and the ARM7TDMI coreabandons the executing instruction and continues to increment the address bus as if still fetching word or halfword instructions.
When nRESET goes HIGH again, the ARM7TDMI processor:1. Overwrites R14_svc and SPSR_svc by copying the current values of the PC and CPSR into them. The values of the PC and CPSR are indeterminate.2. Forces M[4:0] to b10011, Supervisor mode, sets the I and F bits, and clears theT-bit in the CPSR.3. Forces the PC to fetch the next instruction from address 0x00.4.Reverts to ARM state if necessary and resumes execution.
After reset, all register values except the PC and CPSR are indeterminate.
![Page 24: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/24.jpg)
Bus cyclesBus cycle typesThe ARM7TDMI processor bus interface is pipelined. This gives the maximum time fora 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.
Single memory cycle
![Page 25: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/25.jpg)
Bus cycle types
![Page 26: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/26.jpg)
Nonsequential memory cycle
![Page 27: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/27.jpg)
Burst type
![Page 28: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/28.jpg)
Sequential access cycles
![Page 29: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/29.jpg)
Internal cycle
![Page 30: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/30.jpg)
Merged IS cycle
![Page 31: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/31.jpg)
Coprocessor register transfer cycles
![Page 32: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/32.jpg)
Memory cycle timing
![Page 33: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/33.jpg)
Memory signalsA[31:0]:is the 32-bit address bus that specifies the address for the transfer. All addressesare byte addresses, so a burst of word accesses results in the address bus incrementing by four for each cycle.The address bus provides 4GB of linear addressing space.When a word access is signaled the memory system ignores the bottom two bits, [1:0],and when a halfword access is signaled the memory system ignores the bottom bit, A[0].All data values must be aligned on their natural boundaries.All words must be word-aligned.
nRW:specifies the direction of the transfer. nRW indicates an ARM7TDMI processorwrite cycle when HIGH, and an ARM7TDMI processor read cycle when LOW. A burstof S-cycles is always either a read burst, or a write burst. The direction cannot bechanged in the middle of a burst.
![Page 34: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/34.jpg)
Memory signalsMAS[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 thewriting of individual bytes to enable the use of the C Compiler and the ARM debug toolchain, for example Multi-ICE.The address produced by the processor is always a byte address. However, the memorysystem must ignore the bottom redundant bits of the address.
![Page 35: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/35.jpg)
Memory signalsnOPC:output conveys information about the transfer. An MMU can use this signalto determine whether an access is an opcode fetch or a data transfer. This signal can beused with nTRANS to implement an access permission scheme.
nTRANS:output conveys information about the transfer. An MMU can use thissignal to determine whether an access is from a privileged mode or User mode. Thissignal can be used with nOPC to implement an access permission scheme.
![Page 36: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/36.jpg)
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 SWPBinstruction is being performed. These instructions perform an atomic read/writeoperation, 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.
![Page 37: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/37.jpg)
Memory signalsD[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 isused to select which is active.
![Page 38: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/38.jpg)
External connection ofunidirectional buses
![Page 39: ARM7 Architecture](https://reader036.vdocuments.site/reader036/viewer/2022081502/56815a34550346895dc7740e/html5/thumbnails/39.jpg)
Dat
a bu
s co
ntro
l circ
uit