总结:
- cortex-m3发布于2005年(产品于2006),cortex-m4发布于2010年
- cortex-m0,m0+和m1基于armv6指令集,cortex-m3和m4和m7基于armv7指令集
- m1用于fpga,m0和m0+用于超低电量和价格,m3和m4用于常规控制,m7用于高性能控制
m3和m4共同特性:
- Three-stage pipeline design
- Harvard bus architecture with uni?ed memory space: instructions and data use the same address space
- 32-bit addressing, supporting 4GB of memory space
- On-chip bus interfaces based on ARM AMBA (Advanced Microcontroller Bus Architecture)Technology,which allowpipelined bus operations for higher throughput
- An interrupt controller called NVIC (Nested Vectored Interrupt Controller)supporting up to 240 interrupt requests and from 8 to 256 interrupt priority levels(dependent on the actual device implementation)
- Support for various features for OS (Operating System) implementation such as a system tick timer, shadowed stack pointer
- Sleep mode support and various low power features
- Support for an optional MPU (Memory Protection Unit) to provide memory protection features like programmable memory, or access permission control
- Support for bit-data accesses in two speci?c memory regions using a feature called Bit Band
- The option of being used in single processor or multi-processor designs The ISA used in Cortex-M3 and Cortex-M4 processors provides a wide range of instructions:
- General data processing, including hardware divide instructions
- Memory access instructions supporting 8-bit, 16-bit, 32-bit, and 64-bit data, as well as instructions for transferring multiple 32-bit data
- Instructions for bit ?eld processing
- Multiply Accumulate (MAC) and saturate instructions
- Instructions for branches, conditional branches and function calls
- Instructions for system control, OS support, etc.
m4特性
- Single Instruction Multiple Data (SIMD) operations
- Additional fast MAC and multiply instructions
- Saturating arithmetic instructions
- Optional floating point instructions (single precision)
Because the Cortex-M4 processor has SIMD, fast MAC, and saturate arithmetic in-structions, it can also carry out some of the digital signal processing applicationsthat traditionally have been carried out by a separate Digital Signal Processor(DSP).
指令集: