31
The MAXQ TM Family of High Performance Microcontrollers The MAXQ TM Family of High Performance Microcontrollers Kris Ardis Senior Software Engineer Dallas Semiconductor/MAXIM http://www.maxim-ic.com/MAXQ Microprocessor Summit [MPS-920] Booth 826 March 7, 2005 Kris Ardis Kris Ardis Senior Software Engineer Senior Software Engineer Dallas Semiconductor/MAXIM Dallas Semiconductor/MAXIM http://www.maxim http://www.maxim - - ic.com/MAXQ ic.com/MAXQ Microprocessor Summit Microprocessor Summit [MPS [MPS - - 920] 920] Booth 826 Booth 826 March 7, 2005 March 7, 2005

The MAXQTM Family of High Performance Microcontrollers · Dallas Semiconductor - MAXIM 12 MAXQ Benefits zSingle Cycle Execution zNo Instruction Pipeline Single Cycle Relative Branching

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: The MAXQTM Family of High Performance Microcontrollers · Dallas Semiconductor - MAXIM 12 MAXQ Benefits zSingle Cycle Execution zNo Instruction Pipeline Single Cycle Relative Branching

The MAXQTM Family of High Performance Microcontrollers

The MAXQTM Family of High Performance Microcontrollers

Kris ArdisSenior Software Engineer

Dallas Semiconductor/MAXIMhttp://www.maxim-ic.com/MAXQ

Microprocessor Summit[MPS-920]Booth 826

March 7, 2005

Kris ArdisKris ArdisSenior Software EngineerSenior Software Engineer

Dallas Semiconductor/MAXIMDallas Semiconductor/MAXIMhttp://www.maximhttp://www.maxim--ic.com/MAXQic.com/MAXQ

Microprocessor SummitMicroprocessor Summit[MPS[MPS--920]920]Booth 826Booth 826

March 7, 2005March 7, 2005

Page 2: The MAXQTM Family of High Performance Microcontrollers · Dallas Semiconductor - MAXIM 12 MAXQ Benefits zSingle Cycle Execution zNo Instruction Pipeline Single Cycle Relative Branching

Dallas Semiconductor - MAXIM 2

What’s Our Strategy?What’s Our Strategy?High Growth

Product DifferentiationHigh performanceLow power‘Q’uiet for Analog integration

High Growth High Growth

Product DifferentiationProduct DifferentiationHigh performanceHigh performanceLow powerLow power‘‘QQ’’uietuiet for Analog integrationfor Analog integration

Large Serviceable MarketLarge Serviceable MarketLarge Serviceable Market

0

1

2

3

4

5

6

2002 2003 2004 2005

8-bit805116-bit P

rice

Page 3: The MAXQTM Family of High Performance Microcontrollers · Dallas Semiconductor - MAXIM 12 MAXQ Benefits zSingle Cycle Execution zNo Instruction Pipeline Single Cycle Relative Branching

Dallas Semiconductor - MAXIM 3

16-bit Instruction Word16-bit Instruction Word

Classical ‘MOVE’ operationByte literal source capabilityModule[Index]=

RegisterMemory AccessTriggered Hardware Operation

Classical Classical ‘‘MOVEMOVE’’ operationoperationByte literal source capabilityByte literal source capabilityModule[Index]=Module[Index]=

RegisterRegisterMemory AccessMemory AccessTriggered Hardware OperationTriggered Hardware Operation

Page 4: The MAXQTM Family of High Performance Microcontrollers · Dallas Semiconductor - MAXIM 12 MAXQ Benefits zSingle Cycle Execution zNo Instruction Pipeline Single Cycle Relative Branching

Dallas Semiconductor - MAXIM 4

Example Transfer MapExample Transfer Map

Page 5: The MAXQTM Family of High Performance Microcontrollers · Dallas Semiconductor - MAXIM 12 MAXQ Benefits zSingle Cycle Execution zNo Instruction Pipeline Single Cycle Relative Branching

Dallas Semiconductor - MAXIM 5

Instruction Decode & TransferInstruction Decode & Transfer

TRANSPORTNETWORK

TRANSPORTNETWORK

Page 6: The MAXQTM Family of High Performance Microcontrollers · Dallas Semiconductor - MAXIM 12 MAXQ Benefits zSingle Cycle Execution zNo Instruction Pipeline Single Cycle Relative Branching

Dallas Semiconductor - MAXIM 6

Direct MOVE OperationsDirect MOVE Operations

MOVE DP[0], A[0]

TRANSPORTNETWORK

MOVE DP[0], A[0]

TRANSPORTNETWORK

Page 7: The MAXQTM Family of High Performance Microcontrollers · Dallas Semiconductor - MAXIM 12 MAXQ Benefits zSingle Cycle Execution zNo Instruction Pipeline Single Cycle Relative Branching

Dallas Semiconductor - MAXIM 7

Indirect MOVE OperationIndirect MOVE Operation

MOVE @DP[0], A[0]

TRANSPORTNETWORK

MOVE @DP[0], A[0]

TRANSPORTNETWORK

Page 8: The MAXQTM Family of High Performance Microcontrollers · Dallas Semiconductor - MAXIM 12 MAXQ Benefits zSingle Cycle Execution zNo Instruction Pipeline Single Cycle Relative Branching

Dallas Semiconductor - MAXIM 8

Triggered Hardware OperationsTriggered Hardware Operations

MOVE A[4], #55h

#55h TRANSPORTNETWORK

MOVE A[4], #55h

#55h TRANSPORTNETWORK

Page 9: The MAXQTM Family of High Performance Microcontrollers · Dallas Semiconductor - MAXIM 12 MAXQ Benefits zSingle Cycle Execution zNo Instruction Pipeline Single Cycle Relative Branching

Dallas Semiconductor - MAXIM 9

Indirect + Triggered HardwareIndirect + Triggered Hardware

MOVE @++DP[0], A[0]

++

TRANSPORTNETWORK

MOVE @++DP[0], A[0]

++

TRANSPORTNETWORK

Page 10: The MAXQTM Family of High Performance Microcontrollers · Dallas Semiconductor - MAXIM 12 MAXQ Benefits zSingle Cycle Execution zNo Instruction Pipeline Single Cycle Relative Branching

Dallas Semiconductor - MAXIM 10

MAXQ Instruction – revisitedMAXQ Instruction – revisited

Symmetric source, destination rangesLarger register space accessibleInstruction set extension

Symmetric source, destination rangesSymmetric source, destination rangesLarger register space accessibleLarger register space accessibleInstruction set extensionInstruction set extension

Page 11: The MAXQTM Family of High Performance Microcontrollers · Dallas Semiconductor - MAXIM 12 MAXQ Benefits zSingle Cycle Execution zNo Instruction Pipeline Single Cycle Relative Branching

Dallas Semiconductor - MAXIM 11

Prefix Usage ExamplePrefix Usage Examplemove DP[0], #1234hmove DP[0], #1234hmove DP[0], #1234h

move PFX[0],#12h

move DP[0],#34h

Prefix register

Prefix register

DP[0] register

Page 12: The MAXQTM Family of High Performance Microcontrollers · Dallas Semiconductor - MAXIM 12 MAXQ Benefits zSingle Cycle Execution zNo Instruction Pipeline Single Cycle Relative Branching

Dallas Semiconductor - MAXIM 12

MAXQ BenefitsMAXQ Benefits

Single Cycle ExecutionNo Instruction Pipeline

Single Cycle Relative BranchingHarvard Memory Map

Pseudo-VonNeumannLarge Register Space

Useable for General Purpose Registers and PeripheralsInstruction Set Expansion Capability‘Q’uiet Environment for Analog IntegrationLow Power

Single Cycle ExecutionSingle Cycle ExecutionNo Instruction PipelineNo Instruction Pipeline

Single Cycle Relative BranchingSingle Cycle Relative BranchingHarvard Memory MapHarvard Memory Map

PseudoPseudo--VonNeumannVonNeumannLarge Register SpaceLarge Register Space

Useable for General Purpose Registers and PeripheralsUseable for General Purpose Registers and PeripheralsInstruction Set Expansion CapabilityInstruction Set Expansion Capability‘‘QQ’’uietuiet Environment for Analog IntegrationEnvironment for Analog IntegrationLow PowerLow Power

Page 13: The MAXQTM Family of High Performance Microcontrollers · Dallas Semiconductor - MAXIM 12 MAXQ Benefits zSingle Cycle Execution zNo Instruction Pipeline Single Cycle Relative Branching

Features of the MAXQ CoreFeatures of the MAXQ Core

Page 14: The MAXQTM Family of High Performance Microcontrollers · Dallas Semiconductor - MAXIM 12 MAXQ Benefits zSingle Cycle Execution zNo Instruction Pipeline Single Cycle Relative Branching

Dallas Semiconductor - MAXIM 14

Working AccumulatorsWorking Accumulators

Direct, Indirect, or Implicit AccessAuto-inc/dec/modulo controlsALU ops implicitly target Acc

Direct, Indirect, or Implicit AccessDirect, Indirect, or Implicit AccessAutoAuto--inc/inc/decdec/modulo controls/modulo controlsALU ops implicitly target AccALU ops implicitly target Acc

Page 15: The MAXQTM Family of High Performance Microcontrollers · Dallas Semiconductor - MAXIM 12 MAXQ Benefits zSingle Cycle Execution zNo Instruction Pipeline Single Cycle Relative Branching

Dallas Semiconductor - MAXIM 15

Data PointersData Pointers

Two standard DP[n]One frame pointer FP=BP[Offs]Auto-inc/dec supportSelectable word or byte access modes

Two standard DP[n]Two standard DP[n]One frame pointer FP=BP[Offs]One frame pointer FP=BP[Offs]AutoAuto--inc/inc/decdec supportsupportSelectable word or byte access modesSelectable word or byte access modes

DP[0]

DP[1]

BP OFFS

@ (++/--)DP[n]@ BP[(++/--)OFFS]

@ DP[n](++/--)@ BP[OFFS(++/--)]

+

16-bit 8-bit

DataMemory

WBS0WBS1WBS2

SDPS1:0

Page 16: The MAXQTM Family of High Performance Microcontrollers · Dallas Semiconductor - MAXIM 12 MAXQ Benefits zSingle Cycle Execution zNo Instruction Pipeline Single Cycle Relative Branching

Dallas Semiconductor - MAXIM 16

Loop CountersLoop Counters

move LC[0], #16 ; load loop counterloop: ;----------

; loop code;----------djnz LC[0], loop ; dec counter, jump <>0

move LC[0], #16 ; load loop countermove LC[0], #16 ; load loop counterloop: ;loop: ;--------------------

; loop code; loop code;;--------------------djnzdjnz LC[0], loopLC[0], loop ; ; decdec counter, jump <>0counter, jump <>0

Two 16-bit LC[n] registers availableReduced loop overhead Two 16Two 16--bit LC[n] registers availablebit LC[n] registers availableReduced loop overhead Reduced loop overhead

Page 17: The MAXQTM Family of High Performance Microcontrollers · Dallas Semiconductor - MAXIM 12 MAXQ Benefits zSingle Cycle Execution zNo Instruction Pipeline Single Cycle Relative Branching

Dallas Semiconductor - MAXIM 17

Built-In Debug SupportBuilt-In Debug Support

6 breakpoints supported in hardwareROM assisted routines for debug register and memory access

6 breakpoints 6 breakpoints supported in supported in hardwarehardwareROM assisted ROM assisted routines for debug routines for debug register and memory register and memory accessaccess

Page 18: The MAXQTM Family of High Performance Microcontrollers · Dallas Semiconductor - MAXIM 12 MAXQ Benefits zSingle Cycle Execution zNo Instruction Pipeline Single Cycle Relative Branching

MAXQ PerformanceMAXQ Performance

Page 19: The MAXQTM Family of High Performance Microcontrollers · Dallas Semiconductor - MAXIM 12 MAXQ Benefits zSingle Cycle Execution zNo Instruction Pipeline Single Cycle Relative Branching

Dallas Semiconductor - MAXIM 19

One benchmark: MIPSOne benchmark: MIPSAt 20 MHz, MAXQ2000 approaches 20 MIPSDoes this mean anything?

NOHeavily instruction set architecture dependent

Which machine is better?Machine 1 (20MHz) Machine 2 (10MHz)MOVE Rn, #55h MOVE Reg, #55hMOVE Reg, Rn

MIPS requirement is application and algorithm dependent

YESIf we assume similar instruction set architectures

At 20 MHz, MAXQ2000 approaches 20 MIPSAt 20 MHz, MAXQ2000 approaches 20 MIPSDoes this mean anything?Does this mean anything?

NONOHeavily instruction set architecture dependentHeavily instruction set architecture dependent

Which machine is better?Which machine is better?Machine 1 (20MHz)Machine 1 (20MHz) Machine 2 (10MHz)Machine 2 (10MHz)MOVE MOVE RnRn, #55h, #55h MOVE MOVE RegReg, #55h, #55hMOVE MOVE RegReg, , RnRn

MIPS requirement is application and algorithm dependentMIPS requirement is application and algorithm dependent

YESYESIf we assume similar instruction set architecturesIf we assume similar instruction set architectures

Page 20: The MAXQTM Family of High Performance Microcontrollers · Dallas Semiconductor - MAXIM 12 MAXQ Benefits zSingle Cycle Execution zNo Instruction Pipeline Single Cycle Relative Branching

Dallas Semiconductor - MAXIM 20

Normalized MIPS/MHzNormalized 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

Calculate Average MIPS/MHzCalculate Average MIPS/MHz= average # instructions executed / clock= average # instructions executed / clock= total instruction count / total cycle count= total instruction count / total cycle count

Penalize poor instruction set efficiencyPenalize poor instruction set efficiency= = AvgAvg MIPS/MHz / total instruction countMIPS/MHz / total instruction count

MAXQ approaches 1 MIPS/MHzMAXQ approaches 1 MIPS/MHz

Page 21: The MAXQTM Family of High Performance Microcontrollers · Dallas Semiconductor - MAXIM 12 MAXQ Benefits zSingle Cycle Execution zNo Instruction Pipeline Single Cycle Relative Branching

Dallas Semiconductor - MAXIM 21

Computing MIPS/mAComputing MIPS/mA

mA/MHz: Metric for Dynamic Current ConsumptionCritical assumption of ~0 static currentUse Common Supply Voltage (e.g. 3V)Use datasheet typical or extrapolate from datasheet characterization data

MIPS/mA considers instruction set efficiency and consumptionMAXQ2000: industry best 5.1 mA at 20 MIPS, ~4 MIPS/mA

mAmA/MHz: /MHz: Metric for Dynamic Current ConsumptionMetric for Dynamic Current ConsumptionCritical assumption of ~0 static currentCritical assumption of ~0 static currentUse Common Supply Voltage (e.g. 3V)Use Common Supply Voltage (e.g. 3V)Use datasheet typical or extrapolate from Use datasheet typical or extrapolate from datasheet characterization datadatasheet characterization data

MIPS/MIPS/mAmA considers instruction set efficiency considers instruction set efficiency and consumptionand consumptionMAXQ2000: industry best 5.1 MAXQ2000: industry best 5.1 mAmA at 20 MIPS, at 20 MIPS, ~4 MIPS/~4 MIPS/mAmA

Page 22: The MAXQTM Family of High Performance Microcontrollers · Dallas Semiconductor - MAXIM 12 MAXQ Benefits zSingle Cycle Execution zNo Instruction Pipeline Single Cycle Relative Branching

MAXQ PeripheralsMAXQ Peripherals

Page 23: The MAXQTM Family of High Performance Microcontrollers · Dallas Semiconductor - MAXIM 12 MAXQ Benefits zSingle Cycle Execution zNo Instruction Pipeline Single Cycle Relative Branching

Dallas Semiconductor - MAXIM 23

Existing MAXQ PeripheralsExisting MAXQ PeripheralsTimer/Counters

Capture, compare, gating and PWM outputUARTSPI1-Wire LCD Controller

Up to 132 segment driver (33x4), Internal LCD bias resistors Piezo-electric Horn DriverAnalog-to-Digital Converters

16-bit 20.8ksps Sigma-Delta

Timer/CountersTimer/CountersCapture, compare, gating and PWM outputCapture, compare, gating and PWM output

UARTUARTSPISPI11--Wire Wire LCD Controller LCD Controller

Up to 132 segment driver (33x4), Internal LCD bias resistors Up to 132 segment driver (33x4), Internal LCD bias resistors PiezoPiezo--electric Horn Driverelectric Horn DriverAnalogAnalog--toto--Digital ConvertersDigital Converters

1616--bit 20.8ksps Sigmabit 20.8ksps Sigma--Delta Delta

Page 24: The MAXQTM Family of High Performance Microcontrollers · Dallas Semiconductor - MAXIM 12 MAXQ Benefits zSingle Cycle Execution zNo Instruction Pipeline Single Cycle Relative Branching

Dallas Semiconductor - MAXIM 24

More MAXQ PeripheralsMore MAXQ Peripherals

CAN Controller9V RegulatorAnalog ComparatorFlash/EEPROM Controller for IAPHardware Multiplier

Signed/unsigned operations, Multiply-accumulate/subtract

CAN ControllerCAN Controller9V Regulator9V RegulatorAnalog ComparatorAnalog ComparatorFlash/EEPROM Controller for IAPFlash/EEPROM Controller for IAPHardware MultiplierHardware Multiplier

Signed/unsigned operations, MultiplySigned/unsigned operations, Multiply--accumulate/subtractaccumulate/subtract

Page 25: The MAXQTM Family of High Performance Microcontrollers · Dallas Semiconductor - MAXIM 12 MAXQ Benefits zSingle Cycle Execution zNo Instruction Pipeline Single Cycle Relative Branching

Dallas Semiconductor - MAXIM 25

Released: MAXQ2000Released: MAXQ2000

LCD Controller supports 132 segmentsHardware MAC3 timers, 2 UARTs, SPI, 1-Wire32k x 16 flash1k x 16 RAM

LCD Controller LCD Controller supports 132 supports 132 segmentssegmentsHardware MACHardware MAC3 timers, 2 3 timers, 2 UARTsUARTs, , SPI, 1SPI, 1--WireWire32k x 16 flash32k x 16 flash1k x 16 RAM1k x 16 RAM

Page 26: The MAXQTM Family of High Performance Microcontrollers · Dallas Semiconductor - MAXIM 12 MAXQ Benefits zSingle Cycle Execution zNo Instruction Pipeline Single Cycle Relative Branching

Dallas Semiconductor - MAXIM 26

MAXQ2000 Evaluation KitMAXQ2000 Evaluation Kit4½ 7-segment LCDRS232 shifterAll I/O availablePushbuttons tied to external interruptsLED Bank16 MHzMAX1407 ADC/DACJTAG Debug Board and connector

44½½ 77--segment LCDsegment LCDRS232 shifterRS232 shifterAll I/O availableAll I/O availablePushbuttons tied to Pushbuttons tied to external interruptsexternal interruptsLED BankLED Bank16 MHz16 MHzMAX1407 ADC/DACMAX1407 ADC/DACJTAG Debug Board JTAG Debug Board and connectorand connector

Page 27: The MAXQTM Family of High Performance Microcontrollers · Dallas Semiconductor - MAXIM 12 MAXQ Benefits zSingle Cycle Execution zNo Instruction Pipeline Single Cycle Relative Branching

Dallas Semiconductor - MAXIM 27

Coming soon: MAXQ7654Coming soon: MAXQ7654

CAN 2.0B Controller12-bit ADC/DACSPI4 timersHardware MAC64k x 16 flash1k x 16 RAM

CAN 2.0B ControllerCAN 2.0B Controller1212--bit ADC/DACbit ADC/DACSPISPI4 timers4 timersHardware MACHardware MAC64k x 16 flash64k x 16 flash1k x 16 RAM1k x 16 RAM

Page 28: The MAXQTM Family of High Performance Microcontrollers · Dallas Semiconductor - MAXIM 12 MAXQ Benefits zSingle Cycle Execution zNo Instruction Pipeline Single Cycle Relative Branching

Dallas Semiconductor - MAXIM 28

Coming soon: MAXQ3210/2Coming soon: MAXQ3210/2

9V Regulator (3210 only)1k x 16 EEPROM16-bit timer64 x 16 Data EEPROMComparatorLow Battery Detection Piezoelectric Horn Driver (3210 only)

9V Regulator (3210 9V Regulator (3210 only)only)1k x 16 EEPROM1k x 16 EEPROM1616--bit timerbit timer64 x 16 Data EEPROM64 x 16 Data EEPROMComparatorComparatorLow Battery Detection Low Battery Detection Piezoelectric Horn Piezoelectric Horn Driver (3210 only)Driver (3210 only)

Page 29: The MAXQTM Family of High Performance Microcontrollers · Dallas Semiconductor - MAXIM 12 MAXQ Benefits zSingle Cycle Execution zNo Instruction Pipeline Single Cycle Relative Branching

Dallas Semiconductor - MAXIM 29

Coming Soon: MAXQ3120Coming Soon: MAXQ312016k x 16 flash256 x 16 RAM16-bit ∆Σ ADC (> 20 ksps @ 8MHz)112 segment LCD driverHardware MAC2 UARTs, 3 TimersRTC

16k x 16 flash16k x 16 flash256 x 16 RAM256 x 16 RAM1616--bit bit ∆Σ∆Σ ADC (> 20 ADC (> 20 kspsksps @ 8MHz)@ 8MHz)112 segment LCD 112 segment LCD driverdriverHardware MACHardware MAC2 2 UARTsUARTs, 3 Timers, 3 TimersRTCRTC

Page 30: The MAXQTM Family of High Performance Microcontrollers · Dallas Semiconductor - MAXIM 12 MAXQ Benefits zSingle Cycle Execution zNo Instruction Pipeline Single Cycle Relative Branching

Dallas Semiconductor - MAXIM 30

Future DirectionsFuture Directions

Leverage existing expertise: Security, NetworkMAXIM Analog Expertise + Dallas High Performance MicrosApplication Targeted IntegrationLarger address spaces

Leverage existing Leverage existing expertise: Security, expertise: Security, NetworkNetworkMAXIM Analog MAXIM Analog Expertise + Dallas Expertise + Dallas High Performance High Performance MicrosMicrosApplication Targeted Application Targeted IntegrationIntegrationLarger address Larger address spacesspaces

Page 31: The MAXQTM Family of High Performance Microcontrollers · Dallas Semiconductor - MAXIM 12 MAXQ Benefits zSingle Cycle Execution zNo Instruction Pipeline Single Cycle Relative Branching

Dallas Semiconductor - MAXIM 31

World Class ToolsWorld Class Tools

Rowley CrossWorksCrossConnect DebuggerHighly Optimized C Compiler

IAR Systems Embedded WorkbenchC/C++ CompilerC-SPY Debugger

MAX-IDEFree assembler and debugger

Rowley Rowley CrossWorksCrossWorksCrossConnectCrossConnect DebuggerDebuggerHighly Optimized C CompilerHighly Optimized C Compiler

IAR Systems Embedded WorkbenchIAR Systems Embedded WorkbenchC/C++ CompilerC/C++ CompilerCC--SPY DebuggerSPY Debugger

MAXMAX--IDEIDEFree assembler and debuggerFree assembler and debugger