Application Processors – High-end processors for mobile computing, smart phone, servers, etc. These processors
run at higher clock frequency (over 1GHz), and support Memory Management Unit (MMU), which is required for full
feature OS such as Linux, Android, MS Windows and mobile OSs. If you are planning to develop a product that requires
one of these OSs, you need to use an application processor.
Real-time Processors – These are very high-performance processors for real-time applications such as hard disk
controller, automotive power train and base band control in wireless communications. Most of these processors do not
have MMU, and usually have Memory Protection Unit (MPU), cache, and other memory features designed for industrial
applications. They can run at a fairly high clock frequency (e.g. 200MHz to >1GHz) and have very low response latency.
Although these processors cannot run full versions of Linux or Windows, there are plenty of Real Time Operating
Systems (RTOS) that can be used with these processors.
Microcontroller Processors – These processors are usually designed to have a much lower silicon area, and much
high-energy efficiency. Typically, they have shorter pipeline, and usually lower maximum frequency (although you can
find some of these processors running at over 200MHz). At the same time, the newer Cortex-M processor family is
designed to be very easy to use; therefore, they are very popular in the microcontroller and deeply embedded systems
market.
All Cortex-M processors support an instruction set called Thumb. The complete Thumb instruction set became fairly
large when it was expanded when the Thumb-2 Technology was made available. However, different Cortex-M
processors support different subset of the instructions available in the Thumb ISA.
Common features in Cortex-M processors
There are many similarities between the Cortex-M0, M0+, M3, M4 and M7 processors.
For example:
- Baseline programmer’s model
- Nested Vectored Interrupt Controller (NVIC) for interrupt management
- Architectural defined sleep modes : sleep and deep sleep
- OS support features
- Debug support.
Programmer’s model
The programmer’s model of the Cortex-M processor family is highly consistent. For example, R0 to R15, PSR,
CONTROL and PRIMASK are available to all Cortex-M processors.
Two special registers - FAULTMASK and BASEPRI
- are available only on the Cortex-M3, Cortex-M4, Cortex-M7 and Cortex-M33, and the floating-point register bank
and FPSCR (Floating Point Status and Control Register) is available on the Cortex-M4/M7/M33 within the optional
floating-point unit.
No comments:
Post a Comment