Transcript AT91 Sales Presentation 0102
®
AT91 ARM 7 & ARM 9 MICROCONTROLLERS
ARM920T Processor
1
AT91 ARM 7 & ARM 9 MICROCONTROLLERS
®
ARM920T Processor
•
The ARM920T processor is a member of the ARM9TDMI family of general purpose microprocessors
– Includes the ARM9TDMI core plus cache and MMU.
•
ARM9TDMI processor:
– Harvard architecture • Increases available memory bandwith • Simultaneous access to instruction and data memory can be achieved – 5-stage pipeline – 32-bit ARM instruction set and 16-bit THUMB instruction set.
2
AT91 ARM 7 & ARM 9 MICROCONTROLLERS
®
ARM920T Processor
•
ARM7TDMI Instruction Fetch
FETCH
Thumb
ARM decompress ARM decode Reg Select Reg Read Shift ALU Reg Write
DECODE EXECUTE
•
ARM9TDMI Instruction Fetch
FETCH
ARM or Thumb Inst Decode Reg Decode Reg Read
DECODE
Shift + ALU
EXECUTE
Memory Access
MEMORY
Reg Write
WRITE
3
AT91 ARM 7 & ARM 9 MICROCONTROLLERS
®
ARM920T Processor
•
Cached Processor for Platform OS Applications
– 16K Instruction & Data Caches – ARMv4 MMU for: PalmOS, EPOC, Linux & WindowsCE – Includes support for Coprocessor and ETM
16K I Cache MMU ARM9TDMI CORE Write Buffer 16K D Cache MMU Control Logic & BIU Coprocessor, ETM9 & AMBA ASB Interfaces
4
AT91 ARM 7 & ARM 9 MICROCONTROLLERS
®
ARM920T MMU
•
What is an MMU ?
– Memory Management Unit • Controls memory access permissions • Translates virtual addresses into physical addresses – MMU consists of • Translation Look-aside Buffer (TLB) – Cache of recently used page translations • Hardware for page table walks – Updates TLB • Access control logic – If MMU is disabled • External address bus will output virtual addresses directly
5
AT91 ARM 7 & ARM 9 MICROCONTROLLERS
®
ARM920T MMU
•
Virtual to Physical Address Mapping
Virtual Memory
Process D Process C Process B Process A Manager
Translation and checking mechanism.
MMU I TLB D TLB Protection & Aborts
Physical Memory
Translation Tables VRAM RAM ROM RAM RAM RAM 6
AT91 ARM 7 & ARM 9 MICROCONTROLLERS
®
ARM920T MMU
•
Translation Look-aside Buffer acts as a cache of recent VA to PA translations
– Provides translation and access permission information for most memory accesses – For TLB misses, the translation table walking hardware retrieves the information from the translation table in physical memory and the TLB is updated – If the TLB is full, a value will be overwritten using a cyclic scheme –
Translation Tables resides in physical memory
– Level 1 table is a list of 4096 translations, indexed by bits 31:20 of the virtual address – Entries contain a pointer to a 1MB section of physical memory along with attribute information, or … – A pointer to the base address of a another table, containing pointers to smaller pages of physical memory
7
AT91 ARM 7 & ARM 9 MICROCONTROLLERS
®
ARM920T MMU
•
Translation Process
– Performed by hardware and is transparent to the user • Translation tables created by software
Virtual address Check if TLB contains virtual address yes Get physical address no Do translation table walk Get physical address Update TLB 8
AT91 ARM 7 & ARM 9 MICROCONTROLLERS
®
ARM920T MMU
•
Two Translation Lookaside Buffers (TLBs)
• 64-entry Instruction TLB • 64-entry Data TLB •
Two-level Hardware table walking :
• Address translation • Access control logic with permissions •
Highly flexible mapping scheme - supports:
• 1MB sections (with permissions) • 64kB large pages (permissions for each subpage of a page) • 4kB small pages (permissions for each subpage of a page) • 1kB tiny pages (with permissions)
9
AT91 ARM 7 & ARM 9 MICROCONTROLLERS
®
ARM920T MMU
•
MMU usage in Linux
– Allows Memory mapping (physical to virtual address) – Allows memory allocation – Allows to safely run several processes, each one has a protected memory area.
– Provides protection against direct access to a peripheral’s physical address
10
AT91 ARM 7 & ARM 9 MICROCONTROLLERS
®
ARM920T Caches
•
What is a cache ?
– Small fast memory, local to the processor – Holds copies of recently accessed memory locations – Relies on memory re-use – Only improves performance for slow memory or narrow memory – Reduces bus bandwidth requirements – Reduces power consumption
CPU Cache Bus Interface
Address Data
External Memory 11
AT91 ARM 7 & ARM 9 MICROCONTROLLERS
®
ARM920T Caches
• • •
16KB instruction and data caches 512 lines of 8 words arranged as a 64-way set-associative cache MMU must be enabled to enable Dcache
TAG = MVA [ 31 : 8 ] 8 words 8 words 8 words 8 words 8 words 8 words 8 words TAG 8 words 1 2 3 4 5 6 7 8 64 lines
12
AT91 ARM 7 & ARM 9 MICROCONTROLLERS
®
ARM920T Caches
•
Cache hit and miss
– Cache hit, if region is cachable, data are returned from the cache – Cache miss, an eight-word linefill is performed replacing another entry –
Replacement algorithm
– Random by default – Round-Robin : entries of each segment are replaced sequentially. More efficient.
•
Caches operate at processor speed
– Max processor speed is 180 Mhz – Max AMBA ASB speed is 60 Mhz
13
AT91 ARM 7 & ARM 9 MICROCONTROLLERS
®
ARM920T Caches
–
16-word (64Bytes) write buffer
•
Lockdown features
– Lockdown instruction and data caches independently with a granularity of 1/64 th of cache – Must lockdown the associated TLB entry in the TLB to avoid page table walks during accesses to the locked data or instruction – Provide optimum and predictable execution time
14