本文主要针对ARM公司不同架构的芯片区别
Cortex系列属于ARMv7架构,这是到2010年为止ARM公司最新的
指令集架构。(2011年,ARMv8 架构在 TechCon 上推出)ARMv7架构定义了三大分工明确的系列:“A”系列面向尖端的基于虚拟内存的操作系统和用户应用;“R”系列针对
实时系统;“M”系列对
微控制器。
图中的ARM7,ARM9,ARM11是ARM公司未更名前的芯片命名规则,其中ARM7属于低端处理器,ARM9,ARM11为中高端处理器。
目前差用的STM32为Cortex-m3内核,属于微控制器类;
而Cortex-A系列,则属于高端处理器,属于微处理器类;
高端处理器和低端处理器最明显的区别就是能不能跑系统。
这里的系统并不是指Ucos这种实时系统,而是像Linux这种系统。
它们的区别在于,低端处理器没有CACHE和MMU:
Cache存储器:电脑中为
高速缓冲存储器,是位于
CPU和
主存储器DRAM(DynamicRandomAccessMemory)之间,规模较小,但速度很高的存储器,通常由
SRAM(StaticRandomAccessMemory静态存储器)组成。它是位于CPU与内存间的一种容量较小但速度很高的存储器。CPU的速度远高于内存,当CPU直接从内存中存取数据时要等待一定时间周期,而Cache则可以保存CPU刚用过或循环使用的一部分数据,如果CPU需要再次使用该部分数据时可从Cache中直接调用,这样就避免了重复存取数据,减少了CPU的等待时间,因而提高了系统的效率。Cache又分为L1Cache(一级缓存)和L2Cache(二级缓存),L1Cache主要是集成在CPU内部,而L2Cache集成在主板上或是CPU上。
MMU:是Memory Management Unit的缩写,中文名是
内存管理单元,它是
中央处理器(CPU)中用来管理
虚拟存储器、物理存储器的控制线路,同时也负责
虚拟地址映射为
物理地址,以及提供硬件机制的内存访问授权,多用户多进程操作系统。
将线性地址映射为物理地址
现代的多用户
多进程操作系统,需要MMU,才能达到每个用户进程都拥有自己独立的
地址空间的目标。