Systemy RT i embedded Wykład 5 Mikrokontrolery 32-bitowe AVR32, ARM. Wrocław 2013

Similar documents
ARM Processors for Embedded Applications

ECE 471 Embedded Systems Lecture 2

Hercules ARM Cortex -R4 System Architecture. Processor Overview

AVR XMEGA Product Line Introduction AVR XMEGA TM. Product Introduction.

AVR32 UC3 Microcontrollers Optimized for system performance BDTIC

ECE 471 Embedded Systems Lecture 2

32-bit AVR UC3 Microcontrollers. Optimized for System Performance

Chapter 5. Introduction ARM Cortex series

ARM Cortex core microcontrollers 3. Cortex-M0, M4, M7

ARM ARCHITECTURE. Contents at a glance:

ARM Processor. Dr. P. T. Karule. Professor. Department of Electronics Engineering, Yeshwantrao Chavan College of Engineering, Nagpur

15CS44: MICROPROCESSORS AND MICROCONTROLLERS. QUESTION BANK with SOLUTIONS MODULE-4

AVR XMEGA TM. A New Reference for 8/16-bit Microcontrollers. Ingar Fredriksen AVR Product Marketing Director

CISC RISC. Compiler. Compiler. Processor. Processor

MICROPROCESSOR BASED SYSTEM DESIGN

Contents of this presentation: Some words about the ARM company

ECE 471 Embedded Systems Lecture 3

Course Introduction. Purpose: Objectives: Content: Learning Time:

Hi Hsiao-Lung Chan, Ph.D. Dept Electrical Engineering Chang Gung University, Taiwan

18-349: Embedded Real-Time Systems Lecture 2: ARM Architecture

STM32 Cortex-M3 STM32F STM32L STM32W

Intelop. *As new IP blocks become available, please contact the factory for the latest updated info.

EEM870 Embedded System and Experiment Lecture 3: ARM Processor Architecture

ARM Cortex-A9 ARM v7-a. A programmer s perspective Part1

AVR Microcontrollers Architecture

Designing with STM32F2x & STM32F4

Product Technical Brief S3C2440X Series Rev 2.0, Oct. 2003

Microcontroller basics

Product Technical Brief S3C2412 Rev 2.2, Apr. 2006

SAM A5 ARM Cortex - A5 MPUs

Module Introduction! PURPOSE: The intent of this module, 68K to ColdFire Transition, is to explain the changes to the programming model and architectu

MICROPROCESSORS AND MICROCONTROLLERS 15CS44 MODULE 4 ARM EMBEDDED SYSTEMS & ARM PROCESSOR FUNDAMENTALS ARM EMBEDDED SYSTEMS

Product Technical Brief S3C2416 May 2008

Copyright 2016 Xilinx

Chapter 4. Enhancing ARM7 architecture by embedding RTOS

XMEGA Series Of AVR Processor. Presented by: Manisha Biyani ( ) Shashank Bolia (

EE 354 Fall 2015 Lecture 1 Architecture and Introduction

ATmega128. Introduction

Introducing STM32 L0x Series. April

Product Technical Brief S3C2413 Rev 2.2, Apr. 2006

1. Microprocessor Architectures. 1.1 Intel 1.2 Motorola

Agenda. ARM Core Data Flow Model Registers Program Status Register Pipeline Exceptions Core Extensions ARM Architecture Revision

Embedded Systems: Architecture

Renesas Synergy MCUs Build a Foundation for Groundbreaking Integrated Embedded Platform Development

SoC Platforms and CPU Cores

Low Power System Design Using Atmel ARM Cortex -based Products Copyright Atmel Corporation

The Nios II Family of Configurable Soft-core Processors

STM32 Journal. In this Issue:

Samsung S3C4510B. Hsung-Pin Chang Department of Computer Science National Chung Hsing University

Interconnects, Memory, GPIO

STM32F7 series ARM Cortex -M7 powered Releasing your creativity

Diploma in Embedded Systems

acret Ameya Centre for Robotics & Embedded Technology Syllabus for Diploma in Embedded Systems (Total Eight Modules-4 Months -320 Hrs.

VIII. DSP Processors. Digital Signal Processing 8 December 24, 2009

FIFTH SEMESTER DIPLOMA EXAMINATION IN ENGINEERING/ TECHNOLOGY-MARCH 2014 EMBEDDED SYSTEMS (Common for CT,CM) [Time: 3 hours] (Maximum marks : 100)

Universität Dortmund. ARM Architecture

ELC4438: Embedded System Design Embedded Processor

5. ARM 기반모니터프로그램사용. Embedded Processors. DE1-SoC 보드 (IntelFPGA) Application Processors. Development of the ARM Architecture.

ARDUINO MEGA INTRODUCTION

Clock and Fuses. Prof. Prabhat Ranjan Dhirubhai Ambani Institute of Information and Communication Technology, Gandhinagar

STM32F3. Cuauhtémoc Carbajal ITESM CEM 12/08/2013

STM32F7 series ARM Cortex -M7 powered Releasing your creativity

AT-501 Cortex-A5 System On Module Product Brief

Computer and Hardware Architecture I. Benny Thörnberg Associate Professor in Electronics

Xynergy It really makes the difference!

Advanced Microcontrollers Grzegorz Budzyń Extras: STM32F4Discovery

Cortex-A9 MPCore Software Development

Systems Architecture The ARM Processor

ELC4438: Embedded System Design ARM Embedded Processor

ARM Cortex-M4 Architecture and Instruction Set 1: Architecture Overview

RZ Embedded Microprocessors

NXP Unveils Its First ARM Cortex -M4 Based Controller Family

ARM Processor Fundamentals

ARM Processors ARM ISA. ARM 1 in 1985 By 2001, more than 1 billion ARM processors shipped Widely used in many successful 32-bit embedded systems

The ARM Cortex-M0 Processor Architecture Part-1

CS 310 Embedded Computer Systems CPUS. Seungryoul Maeng

STM32L4+ MCU series Excellence in ultra-low-power with more performance

Microcontroller: CPU and Memory

ARM CORTEX-R52. Target Audience: Engineers and technicians who develop SoCs and systems based on the ARM Cortex-R52 architecture.

ECE 1160/2160 Embedded Systems Design. Midterm Review. Wei Gao. ECE 1160/2160 Embedded Systems Design

A Closer Look at the Epiphany IV 28nm 64 core Coprocessor. Andreas Olofsson PEGPUM 2013

STM8L and STM32 L1 series. Ultra-low-power platform

systems such as Linux (real time application interface Linux included). The unified 32-

Choosing a Micro for an Embedded System Application

The ARM Architecture. Outline. History. Introduction. Seng Lin Shee 20 th May 2004

EMAC SoM Presentation.

Getting Started With the Stellaris EK-LM4F120XL LaunchPad Workshop. Version 1.05

EMAC SoM Presentation

Advanced Microcontrollers Grzegorz Budzyń Lecture. 1: Introduction

EE 308: Microcontrollers

Embedded Operating Systems. Unit I and Unit II

Key Benefits. SAM S70 and E70 Devices

Introduction to Sitara AM437x Processors

William Stallings Computer Organization and Architecture 8 th Edition. Chapter 12 Processor Structure and Function

Arduino Uno R3 INTRODUCTION

QUESTION BANK UNIT-I. 4. With a neat diagram explain Von Neumann computer architecture

T he key to building a presence in a new market

ECE 471 Embedded Systems Lecture 2

Cortex-R5 Software Development

ARM Architecture and Assembly Programming Intro

Transcription:

Systemy RT i embedded Wykład 5 Mikrokontrolery 32-bitowe AVR32, ARM Wrocław 2013

Plan Power consumption of 8- and 16 bits - comparison AVR32 family AVR32UC AVR32AP SDRAM access ARM cores introduction History ARM7 cores

Power consumption - comparison

Power consumption - comparison

Introduction AVR32

Source: [1]

AVR32 family AVR32 core high performance member of ATMEL microcontrollers portfolio Much effort put to make the controllers extremely power efficient High performance Many intresting peripherals Two subfamilies: AVR32UC and AVR32AP

AVR32UC

AVR32UC family 32-bit AVR UC3 Microcontrollers: Optimized for System Performance True 1.6V operation More MHz per mw Unrivalled DSP performance Peripheral DMA controller

AVR32UC family The 32-bit AVR UC3 product family is built on the high-performance 32-bit AVR architecture and optimized for highly integrated applications The 32-bit AVR UC3 microcontrollers deliver: high computational throughput, deterministic real-time control, low power consumption, low system cost, high reliability and ease of use

AVR32UC family The 32-bit AVR CPU includes cutting-edge features such as: integer DSP arithmetic, fixed point DSP arithmetic, single-cycle multiply and accumulate instructions, single-cycle SRAM access, Peripheral DMA controller, multi-layer high-speed bus architecture

AVR32UC family AVR32UC is divided into subseries: L Series A0/A1 Series A3/A4 Series B series C series D series Audio series

AVR32UC family Source: [2]

AVR32UC L Series First picopower 32-bit microcontroller Device runs on 1.65 µa/mhz in active mode, 600 na with RTC running, and down to 9 na with all clocks stopped It delivers down to 0.48 mw/mhz in active operation and sleep mode consumption of 1.5uA with RTC running, or 100nA with all clocks stopped The L series delivers a wide range of technological innovations to the 32-bit microcontroller market It is the industry's first 32-bit microcontroller with a built-in Capacitive Touch Peripheral A glue logic controller can eliminate an external PLD. The FlashVault code protection allows the on-chip flash to be partially programmed and locked

AVR32UC A0/A1 Series Designed for high data throughput, low power consumption and outstanding computing performance, Features high connectivity with USB On-The-Go, Ethernet MAC and SDRAM interfaces, Fast flash and large internal SRAM, make the processor ideally suited for data-intensive applications. The A0 and A1 Series devices are used in a wide range of applications including audio, biometric, communication, industrial

AVR32UC A3/A4 Series The AVR UC3 A3 Series is designed for exceptionally high data throughput, It features: Hi-Speed USB On-The-Go, SD/SDIO card, Multi-Level-Cell (MLC) NAND flash with ECC SDRAM interfaces, Multi-layered AVR databus,

AVR32UC A3/A4 Series It features: 128 KB on-chip SRAM with triple high-speed interfaces multi-channel peripheral memory-to-memory DMA controller, Hi-Fi stereo Audio DAC, full duplex multi-channel I2S audio interface, AES crypto module

AVR32UC B Series The AVR UC3 B Series is designed for: high data throughput, low power consumption outstanding computing performance The series features: high connectivity with USB On-The-Go fast flash large internal SRAM

AVR32UC Peripheral DMA Source: [2]

AVR32UC Multilevel Interrupt Controller The 32-bit AVR UC3 CPU includes a multi-level interrupt controller Four priority levels are supported where higher level interrupts are prioritized and executed before low level interrupts All peripherals can be assigned any interrupt level and the interrupt vector addresses can be changed without stopping the CPU Interrupt latencies are very fast, typically 11 clock cycles including saving the register file to the stack.

AVR32UC Multilevel Interrupt Controller Source: [2]

AVR32UC Peripheral Event System PES an innovative event-triggered data transfer, the innovative Peripheral The Peripheral Event System allows the 32-bit AVR UC3 to send signals (events) directly to other peripherals without involving the CPU This ensures short and predictable response time at the same time it offloads the CPU and reduces power consumption.

AVR32UC Peripheral Event System Source: [2]

AVR32UC Dynamic Frequency Scaling Dynamic Frequency Scaling (DFS) reduces power consumption when maximum speed is not required throughout the execution of an application. DFS makes it possible to adapt the clock frequency on-the-fly to an application without halting program execution.

AVR32UC High speed I/O interfaces USART Asynchronous and synchronous operation SPI Mode LIN Mode Supports IrDA Up to 33 Mbps communication Peripheral DMA TWI I2C and SMBusTM compliant Full 100 khz and 400 khz support Master and Slave operation Peripheral DMA

AVR32UC High speed I/O interfaces Up to 36 PWM channels 8-bit resolution Up to 150 MHz base clock Peripheral Event System Ethernet Up to 100 Mbps communication Peripheral DMA USB On-the-Go Host mode Up to 480 Mbps communication in Hi-Speed mode Peripheral DMA

AVR32UC High speed I/O interfaces SPI Supports up to 15 external devices Up to 33 Mbps communication Peripheral DMA Synchronous Serial Controller (SSC) Full duplex 24-bit I2S Up to 33 Mbps communication Peripheral DMA

AT32UC3A0/A1 features 1/2 Key features 128-512 KB Flash 32-64 KB SRAM SRAM / SDRAM controller Peripheral DMA controller Full Speed USB Device + OTG Ethernet MAC 4 USARTs 2 SPI

AT32UC3A0/A1 features 2/2 Key features 1 I2S 24-bit input 1 I2S 24-bit output Multiple timers and PWM 16-bit Stereo bit stream DAC 5V tolerant I/O 100- and 144-pin package options QFP and BGA packages Qualified for Automotive

AT32UC3A3/A4 features 1/2 Key features 64-256 KB Flash 128 KB SRAM (64 KB + 2x32 KB) SRAM/ SDRAM controller MLC NAND Flash controller AES crypto engine Peripheral DMA controller Memory to Memory DMA

AT32UC3A3/A4 features 2/2 Key features High Speed USB Device + OTG SD/ MMC/ SDIO card controller 4 USARTs 2 SPI 1 I2S 24-bit input 1 I2S 24-bit output 16-bit Stereo bit stream DAC 100- and 144-pin package options QFP and BGA packages

AT32UC3B features 1/2 Key features 64-512 KB Flash 16-96 KB SRAM Peripheral DMA controller Full Speed USB Device + OTG 3 USARTs 2 SPI

AT32UC3B features 2/2 Key features 1 I2S 24-bit input 1 I2S 24-bit output Multiple timers and PWM 5V tolerant I/O 48- and 64-pin package options QFP and QFN packages

AT32UC3C features 1/2 Key features 64 512 KB Flash 68 KB SRAM (2 x 32 KB + 4 KB) SRAM / SDRAM controller NAND flash controller Peripheral DMA controller Memory to Memory DMA Peripheral Event System

AT32UC3C features 2/2 Key features Single / Dual CAN interface Full speed USB device + OTG 16 ch 12-bit ADC, 1.5 MSPS dual 2 ch 12-bit DAC, 1.5 MSPS PWM with dead-time insertion 4 USART 2 SPI 1 I2S 24-bit input 1 I2S 24-bit output 144-, 100- and 64-pin packages QFP, QFN and BGA packages

AT32UC3D features Key features 64-256 KB Flash 8-16 KB SRAM Peripheral DMA controller Full Speed USB device 2 USARTs 1 SPI 1 Two-Wire Interface Multiple timers and PWM 48-pin package QFP and QFN packages

AT32UC3L features 1/2 Key features 16-256 KB Flash 8-16 KB SRAM Peripheral DMA controller Peripheral Event System Full speed USB device 4 USARTs

AT32UC3L features 2/2 Key features 1 SPI 2 Two-Wire Interfaces 6 channels 12-bit ADC 8 Analog Comparators 36 PWM channels 48-pin package QFP and QFN packages

AT32UC3 - summary A0/A1 Series for Ethernet and USB OTG Applications A3/A4 Series for Hi-Speed USB Applications B Series for Battery/USB-Powered Applications C Series for Industrial Control Applications D Series for Cost-Sensitive Applications L Series for Battery-Powered Applications

AT32UC3C - CPU

AT32UC3C - CPU Features: 32-bit load/store AVR32A RISC architecture 15 general-purpose 32-bit registers 32-bit Stack Pointer, Program Counter and Link Register reside in register file Fully orthogonal instruction set Privileged and unprivileged modes enabling efficient and secure operating systems Instruction set with variable instruction length DSP extension with saturating arithmetic, and a wide variety of multiply instructions

AT32UC3C - CPU Features: 3-stage pipeline allowing one instruction per clock cycle for most instructions Byte, halfword, word, and double word memory access Multiple interrupt priority levels MPU allows for operating systems with memory protection FPU enables hardware accelerated floating point calculations Secure State for supporting FlashVaultTM

AT32UC3C - Pipeline

AT32UC3C - FREQM FREQM Frequency Meter: Accurately measures a clock frequency Selectable reference clock A selectable clock can be measured Ratio can be measured with 24-bit accuracy

AT32UC3C - FREQM

AT32UC3C - EBI EBI External Bus Interface: Optimized for application memory space support Integrates two external memory controllers: Static Memory Controller (SMC) SDRAM Controller (SDRAMC) Optimized external bus:16-bit data bus Up to 24-bit Address Bus, Up to 16-Mbytes Addressable Optimized pin multiplexing to reduce latencies on external memories Up to 4 Chip Selects, Configurable Assignment

AT32UC3C0128C - EBI

AT32UC3C0128C - EBI

SDRAM access

SDRAM vs SRAM 1. SRAM (Static RAM) is static (doesnot need powerrefreshing) while SDRAM (Synchronous Dynamic RAM) is dynamic (needs power-refreshing periodically) 2. SDRAM access speed is clock dependent while SRAM accesses directly. 3. DRAM memory can pack several gigabits on a DRAM chip while the SDRAM memory can only pack several tens of mega bits on its chip. 4. SRAMs power consumption is stable while SDRAMs is higher due to refreshing cycles. 5. SRAM is more expensive than SDRAM due to faster speed

SDRAM- basics

SDRAM- basics

SDRAM - signals Row Address Strobe (RAS) The RAS control input is used to latch the row address and to begin a memory cycle. RAS is required at the beginning of every operation and must remain selected for a predetermined minimum amount of time. Column Address Strobe (CAS) CAS is used to latch the column address and to initiate the write or read operation. CAS may also be used to trigger a CAS-before-RAS refresh cycle. This refresh cycle requires CAS to remain selected for a predetermined minimum time period. For most memory operations, CAS must remain deselected for a predetermined minimum amount of

SDRAM - signals Write Enable (WE) The WE control input is used to select a read or write operation. The operation performed is determined by the state of the WE when CAS is taken active. It is important that setup and hold timing specifications are met, with respect to CAS, to assure that the correct operation is selected. Output Enable (OE) During a read operation, OE is set active to assure data does not appear at the I/O s until required. During a write cycle, OE is ignored. Address The address inputs are used to select memory locations in the array. Theaddress inputs are used to select both the desired row and column addresses.

SDRAM vs SRAM

SDRAM vs SRAM

SDRAM - reading 1) The row address is applied to the address inputs for a specified amount of time before RAS goes active (switched from High to Low). RAS must be Low for a minimum amount of time allowing the row latch circuitry to be completed. 2) The column address is applied to the address inputs and held for a specified amount of time before CAS is set active (switched from High to Low). CAS is set Low and held for the specified amount of time. 3) WE is set HIGH for a read operation and must occur before the transition of CAS.

SDRAM - reading 4) CAS must be set active (switched from High to Low), thereby latching in the column address. 5) Data appears at the data output pins after the specified time period. 6) Before a read cycle is considered complete, both RAS and CAS control inputs must be returned to an inactive state (both RAS and CAS set from Low to High).

SDRAM - writing 1) The row address is applied to the address inputs for a specified amount of time before RAS is set active. RAS must be held active for a minimum amount of time, allowing the row latch circuitry to be completed. 2) The column address is applied to the address inputs and held for a specified amount of time before CAS is set active. CAS is set active and held for the specified amount of time. 3) WE is set Low for a write operation and must occur before the transition of CAS.

SDRAM - writing 4) CAS must be set Low, thereby latching in the column address. 5) Data must be applied to the data inputs before CAS is set active. 6) Before a read cycle is considered complete, both RAS and CAS control inputs must be returned to an inactive state (both RAS and CAS set from Low to High).

Introduction

Introduction The ARM is a 32-bit reduced instruction set computer (RISC) instruction set architecture (ISA) developed by ARM Holdings

Introduction ARM history ARM architecture was introduced in 1980 s It was invented by Acorn RISC Machine It is a successor of 6502, known from Commodore 64 The ARM architecture gain a lot of popularity by the end of 1990 s

Introduction ARM history Thanks to its simplicity and performance it found its place in applications like cell phones At present about 90% of all 32bit RISC processors are ARM based ARM processors are used from low performance driving applications up to netbook computers

Thank you for your attention

Introduction ARM features Main features: 32-bit architecture Reduced instruction set RISC Common data and instruction buses for simpler versions (von Neumann) Split data and instruction buses for faster versions (Harvard) Pipelining

ARM cores

Introduction architecture types ARM v1 (family ARM1): First version of ARM core 26-bit addressing No hardware multiplier ARM v2 (family ARM2): First commercial version Added 32-bit multiplying instructions Added coprocessor support

Introduction architecture types ARM v2a (family ARM3): First usage of cache memory (4kB) Up to 12 MIPS @ 25 MHz ARM v3 (families ARM6 and ARM7): 32-bit addressing Added coprocessor and cache buses Added memory controller (ARM7500FE) Up to 40 MIPS @ 56 MHz

Introduction architecture types ARM v4 (families ARM7TDMI, ARM8, ARM9): 3-stage and 5-stage pipelining Thumb instruction set Loop prediction Memory control units - MPU or MMU High performance at relatively simple construction Up to 200 MIPS @ 200 MHz (StrongARM) Most popular version

Introduction architecture types ARM v5 (families ARM7TDMI, ARM9, ARM10): 6-stage and 7-stage pipelining Thumb instruction set Jazelle instruction set DSP instruction set Multilevel cache Very large throughput Up to 1000 MIPS @ 1250 MHz (XScale) Very popular version

Introduction architecture types ARM v6 (families ARM11, Cortex-M0, Cortex-M1): 8-stage and 9-stage pipelining Thumb-2 instruction set Jazelle instruction set DSP instruction set SIMD Multilevel cache Large throughput Optimized for audio and video applications

Introduction architecture types ARM v7 (Cortex family without: Cortex-M0, Cortex-M1): 13-stage pipelining Thumb-2 instruction set Jazelle instruction set DSP instruction set Hardware support for divide and mutiply of integer and float numbers MultiCore (1-4 cores) SIMD (NEON) up to 16 instructions at one cycle Multilevel cache Huge throughput (up to 10000 MIPS!!!)

ARM7TDMI

ARM7TDMI Main features 1/2: 32-bit RISC processor with low power consumption Von Neumann architecture 3-stage pipelining

ARM7TDMI Main features 2/2: Two instruction sets: 32-bit ARM and 16-bit Thumb Seven work modes Operation on data: 8-bit (byte) 16-bit (halfword) 32-bit (word) TDMI: Thumb, Debug, Multiplier, Interrupts

ARM7TDMI instruction pipeline

Source: [1]

ARM7TDMI Source: [1]

ARM7TDMI operation modes User (usr): normal operation mode FIQ (fiq): data transfer mode (fast irq, DMA transfer DMA) IRQ (irq): interrupt service mode Supervisor (svc): protected mode for operating systems Abort mode (abt): error mode System (sys): privileged user mode Undefined (und): undefined instruction mode All modes except usr are privileged modes used to service interrupts or exceptions, or to access

ARM7TDMI registers 37 registers: 31 general purpose registers 6 status registers Available number depends on the operation mode and processor state R15 is always the program counter R13 is usually the stack pointer (by convention) R14 is sometimes used as Link Register (in Branch with Link BL instruction)

ARM7TDMI status registers The ARM7TDMI processor contains a CPSR (Current Program Status Register) and five SPSRs (Saved Program Status Register) for exception handlers to use. The program status registers: hold information about the most recently performed ALU operation control the enabling and disabling of interrupts set the processor operating mode.

ARM7TDMI status registers

The ARM-state register set Source: [1]

The Thumb-state register set Source: [1]

ARM7TDMI ARM instruction set Two instruction sets: full (ARM) and simplified (Thumb) ARM list is a list of 32-bit long commands ARM list commands occupy large portion of memory Each instruction can be executed conditionally Operation result can be accessed with shift Five addressing modes Each addressing mode has a few options

ARM7TDMI addressing modes Mode 1 Shifter operands for data processing instructions. Mode 2 Load and store word or unsigned byte. Mode 3 Load and store halfword or load signed byte. Mode 4 Load and store multiple. Mode 5 Load and store coprocessor. Each mode has different addressing types like: immidiate, register, pre-indexed, etc.

ARM7TDMI ARM instruction set Instruction types: Move Arithmetic Logical Branch Load Store Swap Coprocessor Software Interrupt

ARM7TDMI ARM instruction set Two instruction sets: full (ARM) and simplified (Thumb) ARM list is a list of 32-bit long commands ARM list commands occupy large portion of memory Each instruction can be executed conditionally Operation result can be accessed with shift Five addressing modes Each addressing mode has a few options Source: [1]

ARM7TDMI Thumb instruction set Thumb list is a list of 16-bit long commands This is a subset of ARM instruction set Thimb commands occupy small memory space Only some of Thumbs commands can be executed conditionally Data operation are 32-bit long In Thumb set only R0-R7 can be freely used Each Thumb instruction has its parent in the ARM set

ARM7TDMI Thumb instruction set Instruction types: Move Arithmetic Logical Shift/Rotate Branch Load Store Push/Pop Software Interrupt

Source: [1]

ARM7TDMI Virtual Memory System VMSA block is used for assigning different address spaces for different applications (processes) For the memory assignment an Memory Management Unit is used In the MMU block virtual addresses are translated to real one with the use of TLB (Translation Lookaside Buffers)

ARM7TDMI Virtual Memory System Source: [1]

ARM7TDMI Protected Memory System PMSA block is used for assigning different address spaces for different applications (processes) For the memory assignment an Memory Protection Unit is used PMSA operation principle is simpler than VMSA operation No virtual addresses Certain processes have access to certain memory spaces

ARM7TDMI Protected Memory System Source: [1]

To be continued

References [1] www.atmel.com [2] AVR32UC family documentation; www.atmel.com [3] ARM7TDMI core documentation; www.arm.com