The MAXQ TM Family of High Performance Microcontrollers Kris Ardis Senior Software Engineer Dallas Semiconductor/MAXIM http://www.maxim-ic.com/maxq ic.com/maxq Microprocessor Summit [MPS-920] Booth 826 March 7, 2005
What s Our Strategy? High Growth Large Serviceable Market 6 5 4 3 2 1 8-bit 8051 16-bit Price 0 2002 2003 2004 2005 Product Differentiation High performance Low power Q uiet for Analog integration Dallas Semiconductor - MAXIM 2
16-bit Instruction Word Classical MOVE MOVE operation Byte literal source capability Module[Index]= Register Memory Access Triggered Hardware Operation Dallas Semiconductor - MAXIM 3
Example Transfer Map Dallas Semiconductor - MAXIM 4
Instruction Decode & Transfer TRANSPORT NETWORK Dallas Semiconductor - MAXIM 5
Direct MOVE Operations MOVE DP[0], A[0] TRANSPORT NETWORK Dallas Semiconductor - MAXIM 6
Indirect MOVE Operation MOVE @DP[0], A[0] TRANSPORT NETWORK Dallas Semiconductor - MAXIM 7
Triggered Hardware Operations MOVE A[4], #55h #55h TRANSPORT NETWORK Dallas Semiconductor - MAXIM 8
Indirect + Triggered Hardware MOVE @++DP[0], A[0] TRANSPORT NETWORK ++ Dallas Semiconductor - MAXIM 9
MAXQ Instruction revisited Symmetric source, destination ranges Larger register space accessible Instruction set extension Dallas Semiconductor - MAXIM 10
Prefix Usage Example move DP[0], #1234h move PFX[0],#12h Prefix register move DP[0],#34h DP[0] register Prefix register Dallas Semiconductor - MAXIM 11
MAXQ Benefits Single Cycle Execution No Instruction Pipeline Single Cycle Relative Branching Harvard Memory Map Pseudo-VonNeumann Large Register Space Useable for General Purpose Registers and Peripherals Instruction Set Expansion Capability Q uiet Environment for Analog Integration Low Power Dallas Semiconductor - MAXIM 12
Features of the MAXQ Core
Working Accumulators Direct, Indirect, or Implicit Access Auto-inc/dec/modulo Auto-inc/ inc/dec /modulo controls ALU ops implicitly target Acc Dallas Semiconductor - MAXIM 14
Data Pointers @ (++/--)DP[n] @ BP[(++/--)OFFS] @ DP[n](++/--) @ BP[OFFS(++/--)] DP[0] DP[1] BP + OFFS 16-bit 8-bit Data Memory SDPS1:0 WBS0 WBS1 WBS2 Two standard DP[n] One frame pointer FP=BP[Offs] Auto-inc/decAuto-inc/ support Selectable word or byte access modes Dallas Semiconductor - MAXIM 15
Loop Counters move LC[0], #16 ; load loop counter loop: ;----------; ; loop code ;---------- djnz LC[0], loop ; dec counter, jump <>0 Two 16-bit LC[n] registers available Reduced loop overhead Dallas Semiconductor - MAXIM 16
Built-In Debug Support 6 breakpoints supported in hardware ROM assisted routines for debug register and memory access Dallas Semiconductor - MAXIM 17
MAXQ Performance
One benchmark: MIPS At 20 MHz, MAXQ2000 approaches 20 MIPS Does this mean anything? NO Heavily instruction set architecture dependent Which machine is better? Machine 1 (20MHz) Machine 2 (10MHz) MOVE Rn,, #55h MOVE Reg,, #55h MOVE Reg, Rn MIPS requirement is application and algorithm dependent YES If we assume similar instruction set architectures Dallas Semiconductor - MAXIM 19
Normalized MIPS/MHz Calculate Average MIPS/MHz = average # instructions executed / clock = total instruction count / total cycle count Penalize poor instruction set efficiency = Avg MIPS/MHz / total instruction count MAXQ approaches 1 MIPS/MHz Dallas Semiconductor - MAXIM 20
Computing MIPS/mA ma/mhz: Metric for Dynamic Current Consumption Critical assumption of ~0 static current Use Common Supply Voltage (e.g. 3V) Use datasheet typical or extrapolate from datasheet characterization data MIPS/mA considers instruction set efficiency and consumption MAXQ2000: industry best 5.1 ma at 20 MIPS, ~4 MIPS/mA Dallas Semiconductor - MAXIM 21
MAXQ Peripherals
Existing MAXQ Peripherals Timer/Counters Capture, compare, gating and PWM output UART SPI 1-Wire LCD Controller Up to 132 segment driver (33x4), Internal LCD bias resistors Piezo-electric electric Horn Driver Analog-to-Digital Analog-to Converters 16-bit 20.8ksps Sigma-Delta Dallas Semiconductor - MAXIM 23
More MAXQ Peripherals CAN Controller 9V Regulator Analog Comparator Flash/EEPROM Controller for IAP Hardware Multiplier Signed/unsigned operations, Multiply- accumulate/subtract Dallas Semiconductor - MAXIM 24
Released: MAXQ2000 LCD Controller supports 132 segments Hardware MAC 3 timers, 2 UARTs, SPI, 1-Wire1 32k x 16 flash 1k x 16 RAM Dallas Semiconductor - MAXIM 25
MAXQ2000 Evaluation Kit 4½ 7-segment LCD RS232 shifter All I/O available Pushbuttons tied to external interrupts LED Bank 16 MHz MAX1407 ADC/DAC JTAG Debug Board and connector Dallas Semiconductor - MAXIM 26
Coming soon: MAXQ7654 CAN 2.0B Controller 12-bit ADC/DAC SPI 4 timers Hardware MAC 64k x 16 flash 1k x 16 RAM Dallas Semiconductor - MAXIM 27
Coming soon: MAXQ3210/2 9V Regulator (3210 only) 1k x 16 EEPROM 16-bit timer 64 x 16 Data EEPROM Comparator Low Battery Detection Piezoelectric Horn Driver (3210 only) Dallas Semiconductor - MAXIM 28
Coming Soon: MAXQ3120 16k x 16 flash 256 x 16 RAM 16-bit Σ ADC (> 20 ksps @ 8MHz) 112 segment LCD driver Hardware MAC 2 UARTs,, 3 Timers RTC Dallas Semiconductor - MAXIM 29
Future Directions Leverage existing expertise: Security, Network MAXIM Analog Expertise + Dallas High Performance Micros Application Targeted Integration Larger address spaces Dallas Semiconductor - MAXIM 30
World Class Tools Rowley CrossWorks CrossConnect Debugger Highly Optimized C Compiler IAR Systems Embedded Workbench C/C++ Compiler C-SPY Debugger MAX-IDE Free assembler and debugger Dallas Semiconductor - MAXIM 31