• General-purpo processors (GRA/TI review) • Digital signal processors
• Microcontrollers
• Application-specific instruction t processors • FPGAs and ASICs
• Ca studies: DSP C55x, ARM
• Advanced topics (tentative)
– CPU performance and power consumption
– CPU simulation
– configurable and customizable processors
– !• Control-dominant embedded computing
– control-dominant code (many branches and jumps)
擦键盘– few arithmetic operations, low data throughput
檀传宝
– multitasking
• Microcontrollers are optimized for that
– rather simple processor architecture
– fast context switches and interrupt processing (eg. shadow registers) – efficient bit- and logic operations
– integrated peripheral units (analog/digital and digital/analog converters, USB, CAN, timer, ...) and memory (SRAM, Flash, EEPROM, etc.)
• Microcontrollers come in families苯二氮卓
– same core with different integrated peripheral units and memories
– target different application / market requirements
! low-cost, high-performance, energy efficiency (sleep modes)
排骨土豆ARM7 Core Block Diagram ARM7 internals
– 16 registers available in ARM ur modes (overall 7 modes)
! R0-R12: general-purpo
registers
! R13: stack pointer
! R14: subroutine link register
! R15: program counter
! CPSR: status register with
condition codes
– instructions that combine a shift with an ALU operation – auto-increment/decrement addressing modes
– load/store-multiple operations to maximize data throughput • Examples for indirect addressing – register-indirect addressing
– ba plus offt addressing
(offt can also be a register)
– auto-indexing
(r1 updated with computed address) – post indexing
小班益智区教案(first fetch from3d浏览器
cell phones, tablets, ...
• Intel (discontinued in 2007)
– 8 bit MSC51 / MSC251 families: CISC cores, many compatible controllers
– 16 bit MCS96 / MCS296 families: CISC cores
– 32 bit PXA (XScale) family: successor of StrongARM, bad on ARM5, sold to Marvell in 2006
• Atmel
– 8 bit cores compatible to MSC51, AVR8 family with RISC cores (ATtiny, ATmega, AT94 with FPGA block)
– 16 bit AVR16 family with RISC cores (ATXmega)
– 32 bit AVR32 family with RISC cores, AT91/SAM with ARM7 /
ARM9 cores月季的花语
– synchronous / asynchronous rial interfaces + two-wire
• 32 bit high-performance RISC microcontroller – up to 624 MHz clock frequency
– 7 stage pipeline, branch prediction
– 32 bit data bus, 32 bit address bus
– 32 kB data and instruction caches
– virtual memory management unit
– 31 general-purpo registers, 6 status registers
• Included volatile memory
– 256kB SRAM
• Many integrated peripherals
– parallel I/O ports, rial I/O ports
– audio controller (PCM), LCD controller
蝙蝠– counters and timers
– DMA controller • 16 bit ultra-low power microcontroller
– low power modes: active ~365uA, standby ~0.6uA
– a rechargeable battery of 1.5V 2500mAh could
! keep the controller running for >9 month (active)
! retain data in RAM for about 475 years (sleep) – wakeup time from standby ~1us
– 16 registers (12 general purpo)
• Included volatile and non-volatile memory – 96kB Flash, 256B EEPROM, 4kB SRAM
• Integrated peripherals
– 2 timers/counters
– 1-channel 12bit A/D converter, 2-channel D/A converter – 4 multi-standard rial I/O interfaces
– 48-bit parallel I/O interface
Texas Instruments
Design
1
Synthesis &
Optimization
Verification
3 Testing
10000
01010
11001
Packaging
Packaging typ. ASIC
standard cells
• MPGA: mask-programmable gate array (…programmed • FPGA: field-programmable gate array ( …programmed custom