Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Founded in November 1990 y Spun out of Acorn Computers Designs the ARM range of RISC processor cores Licenses ARM core designs to semiconductor partners who fabricate and sell to their customers. y ARM does not fabricate silicon itself Also develop technologies to assist with the design-in of the ARM architecture y Software tools, boards, debug hardware, application software, bus architectures, peripherals etc
Nomenclature
ARM Architecture
y 32- it RI y y y y y y y y
- r cess r c re (32- it i structi s) 37 ieces f 32- it i te er re isters (16 availa le) i eli e (ARM7: 3 sta es) ache ( e e i the i le e tati ) V eu a -ty e us structure (ARM7), Harvar (ARM ) 8 / 16 / 32 - it ata ty es 7 es f erati (usr, fiq, irq, svc, a t, sys, u ) i le structure -> reas a ly s ee / er c su ti rati
Pr c ss r
instruction is executed
y Abort : used to handle memory access violations y Undef : used to handle undefined instructions y System : privileged mode using the same registers as user mode
r9 r10 r11 r12 r13 (sp) r14 (lr) r15 (pc) cpsr spsr
spsr
FIQ
r r r9 r10 r11
IRQ
SVC
Undef
Abort
spsr
spsr
spsr
spsr
FIQ
IRQ
SVC
Undef
Abort
r9
r10 r11 r12 r13 (sp) r14 (lr) r15 (pc) cpsr
r9 r10 r11 r12 r13 (sp) r14 (lr) r13 (sp) r14 (lr) r13 (sp) r14 (lr) r13 (sp) r14 (lr) r13 (sp) r14 (lr)
spsr
r r7
spsr
spsr
spsr
spsr
The Registers
y ARM as 37 re isters all f ic are 32- its l y 1 e icate r ra c ter y 1 e icate c rre t r ra stat s re ister y 5 e icate save r ra stat s re isters y 3 e eral r se re isters y T e c rre t r cess r
e ver s e ca access
ic
f several a
s is
y a artic lar set f r -r12 re isters y a artic lar r13 (t e stac i ter, s ) a y t e r ra c ter, r15 ( c) y t e c rre t r ra stat s re ister, c sr
r1 (t e li
re ister, lr)
rivile e
y
NZCVQ f
U n d e f i n e d s x
I F T mode c
y I = 1: Disables the IRQ. N = Negative result from ALU y F = 1: Disables the FIQ. y Z = Zero result from ALU y C = ALU operation Carried out y V = ALU operation oVerflowed y T Bit y Architecture xT only y Sticky Overflow flag - Q flag y T = 0: Processor in ARM state y Architecture 5TE/J only y T = 1: Processor in Thumb state y Indicates if saturation has occurred y J bit y Mode bits y Architecture 5TEJ only y Specify the processor mode y J = 1: Processor in Jazelle state
All instructions are 32 bits wide All instructions must be word aligned Therefore the pc value is stored in bits [31:2] with bits [1:0] undefined (as instruction cannot be halfword or byte aligned).
All instructions are 1 bits wide All instructions must be halfword aligned Therefore the pc value is stored in bits [31:1] with bit [0] undefined (as instruction cannot be byte aligned).
All instructions are bits wide Processor performs a word access to read 4 instructions at once
ARM7 FAMILY
y Current low-end ARM core for applications like digital
mobile phones y 32 bit RISC processor. y Uses Von Neumann architecture y as 3-stage pipeline
15
17
memory interface
bus control
ARM7TDMI core
tapsm[3:0] ir[3:0] tdoen tck1 tck2 screg[3:0] drivebs ecapclkbs icapclkbs highz pclkbs rstclkbs sdinbs sdoutbs shclkbs shclk2bs TRST TCK TMS TDI TDO
TAP information
debug
JTAG controls
y Memory interface
32-bit address A[31:0], bidirectional data bus D[31:0], separate data out Dout[31:0], data in Din[31:0] y seq indicates that the memory address will be se uential to that used in the previous cycle
y
mre q 0 0 1 1
s eq 0 1 0 1
Cy c l e N S I C
Us e Non-sequential memory access Sequential memory access Internal cycle bus and memory inactive Coprocessor register transfer memory inactive
19
Contd .
Lock indicates that the processor should keep the bus to ensure the atomicity of the read and write phase of a SWAP instruction y \r/w, read or write y mas[1:0], encode memory access size byte, half-word or word y bl[3:0], externally controlled enables on latches on each of the 4 bytes on the data input bus
y
y MMU interface
\trans (translation control), 0: user mode, 1: privileged mode y \mode[4:0], bottom 5 bits of the CPSR (inverted) y Abort, disallow access
y
y State
y
T bit, whether the processor is currently executing ARM or Thumb instructions Bigend, big-endian or little-endian
20
y Configuration
y
Contd .
y Interrupt
\fi , fast interrupt re uest, higher priority y \ir , normal interrupt re uest y isync, allow the interrupt synchronizer to be passed
y
y Initialization
y
\reset, starts the processor from a known state, executing from address 000000001
y ARM7TDMI characteristics
Process Metal layers Vdd
0.35 um 3 3.3 V
60 87 mW 690
21
CPU Core
Consists of the ARM processor core and some tightly coupled function blocks Cache and memory management blocks E.g.: ARM710T, ARM720T, ARM74T, ARM920T, ARM922T, ARM940T, ARM946E-S, and ARM966ES
MMU in structio n & d ata ca che AR M 7T D M I
Em b edd ed IC E & JTAG
p hysica l a ddre ss
in struct io ns & da ta
CP 1 5
A MB A AM BA a dd re ss d ata
ARM710T
22
Memory Access
y The ARM7 is a Von Neumann, load/store architecture, i.e.,
Only 32 bit data bus for both inst. And data. y Only the load/store inst. (and SWP) access memory.
y
y Memory is addressed as a 32 bit address space y Data type can be bit bytes, 1 bit halfwords or 32 bit words, and may be seen as a byte line folded into 4-byte words y Words must be aligned to 4 byte boundaries, and half-words to 2 byte boundaries. y Always ensure that memory controller supports all three access sizes
23
y Internal (I cycle)
y (nMREQ, SEQ) = (1, 0) y The ARM core does not re uire a transfer, as it performing an internal function,
24
MMU
Write Buffer
y ARM71 T
8K ifie rite t r cac e y ll e ry a a e e t it s rti virt al e ry y rite ffer
y
ARM72 T
As ARM 71 T s rt
t it
ARM 7
T
cac e it
25
ARM-mode (usr, user) R0 - R12 are general purpose registers R13 is Stack Pointer (SP) R14 is subroutine Link Register olds the value of R15 when BL-instruction is executed R15 is Program Counter (PC) Bits 1 and 0 are zeroes in ARM-state (32-bit addressing) R1 is state register (CPSR,Current Program Status Register
performance y Supports both ARM and Thumb instruction sets y Harvard architecture - Separate Instruction & Data memory interfaces
y Increased available memory bandwidth y Simultaneous access to I & D memory y Improved performance
PIPELINE OPERATIONS
enhancements, for low power, data intensive, embedded real-time applications y ARM946E-S: DSP enhanced cached processor with an MPU for real-time applications running an RTOS y ARM926EJ-S: Application processor with Java acceleration, DSP extensions and an MMU, for OS based applications
ARM 9 Application
y Consumer: Smartphones, PDA, Set top box, PMP,
y y y y
Electronic toys, Digital still cameras, Digital video cameras etc Networking: Wireless LAN, 802.11, Bluetooth, Firewire, SCSI, 2.5G/3G Baseband etc Automotive : Power train, ABS, Body systems, Navigation, Infotainment etc Embedded : USB controllers,bluetooth controllers, medical scanners etc Storage: DD controllers, solid state drives etc
ARM10 FAMILY
y 32-bit RISC processor with ARM, Thumb and DSP
y Instruction set expanded to version 5 (V5te) y Improved instruction execution y Uses Harvard Architecture y Widely used in videophone, PDAs, set-top boxes, game
ARM 11
y The ARM11 Family y 32-bit RISC processor with ARM, Thumb and DSP y y y y
instruction sets. Uses Harvard Architecture. Supports eight-stage Pipelines except ARM1156T2 uses nine-stage pipeline. Widely used in automotive and industrial control systems, 3D graphics, security critical applications. introduces 32-bit SIMD for media processing
deterministic, interrupt management - low gate count low power consumption. y Cortex-R series: for deeply embedded real-time applications - low power and good interrupt behaviour are balanced with exceptional performance and strong compatibility with existing platforms.
to be done without increasing the frequency or power requirements y Low power consumption: enabling longer battery life, especially critical in portable products including wireless networking applications y Enhanced determinism: guaranteeing that critical tasks and interrupts are serviced as quickly as possible and in a known number of cycles y Improved code density: ensuring that code fits in even the smallest memory footprints
debugging for the growing number of 8-bit and 16-bit users migrating to 32 bits y Lower cost solutions: reducing 32-bit-based system costs close to those of legacy 8-bit and 16-bit devices and enabling low-end, 32-bit microcontrollers to be priced at less than US$1 for the first time y Wide choice of development tools: from low-cost or free compilers to full-featured development suites from many development tool vendors
microcontrollers,which are commonly used in consumer products - lower power, high performance, and ease-ofuse enables embedded developers to migrate to 32-bit systems y Automotive: very high-performance efficiency and low interrupt latency, allowing it to be used in real-time systems. - supports up to 240 external vectored interrupts, with a built-in interrupt controller with nested interrupt supports , making it ideal for highly integrated and cost-sensitive automotive applications.
Continued ..
y Data communications: low power and high efficiency,
coupled with instructions in Thumb-2 for bit-field manipulation, make the Cortex-M3 ideal for many communications applications, such as Bluetooth and ZigBee. y Industrial control: In industrial control applications, simplicity, fast response, and reliability are key factors. y Consumer products: being a small processor, is highly efficient and low in power and supports an MPU enabling complex software to execute while providing robust memory protection.
CONCLUSION
y Continuous evolution of the ARM processors. y Use of various design techniques such as RISC architectures, pipelines, DSP extension and Jazelle technology. y High performance, lower power consumption and system cost, low silicon area and time-to-market. y Provide benefits in the wide area of technology design and developments such as embedded real time applications, automotive control systems, portable applications and secure applications.
Ipod ARM 7
ARM 11