通俗来理解 ARM芯片内核,架构,指令集,软核和硬核之间的关系

1、单片微型计算机

简称单片机,简单来说就是集CPU(运算、控制)、RAM(数据存储-内存)、ROM(程序存储)、输入输出设备(串口、并口等)和中断系统处于同一芯片的器件,在我们自己的个人电脑中,CPU、RAM、ROM、I/O这些都是单独的芯片,然后这些芯片被安装在一个主板上,这样就构成了我们的PC主板,进而组装成电脑,而单片机只是将这所有的集中在了一个芯片上而已。

2、什么是ARM芯片?

凡是采用ARM内核的芯片(或者凡是采用ARM内核的CPU)都是ARM芯片

3、什么是ARM内核?

所谓内核,就是CPU里面实现运算的核心,我们也可以将内核称之为CPU(注意,该CPU是真正意义上的CPU,因为它实现了数据的运算与处理)。所说的单片机和芯片相当于一个CPU只是指宏观意义上的CPU。ARM内核只是一个统称,它有以下几个系列:ARM7,ARM9,ARM11,CORTEX等几个内核家族,每个内核家族都有不同的内核种类,比如CORTEX内核家族就有:Cortex-A8内核、Cortex-A9内核、Cortex-R4内核、Cortex-M0内核、Cortex-M1、Cortex-M3、Cortex-M4内核等,目前使用最广的STM32系列芯片使用的就是Cortex-M3内核。

4、什么是架构?

片面上讲,我们可以将架构理解为内核所使用的指令集。例如:用于高端的(手机等)Cortex-A8,Cortex-A9等内核用的是ARMv7-A架构,或者说用的是ARMv7-A指令集架构,我们常用到的STM32的Cortex-M3内核用到的是ARMv7-M架构。

5、什么是指令集?

所谓指令集就是一整套底层指令的统称。分为RISC(简单指令集)和CISC(复杂指令集)

6、理解内核关系

M4内核是Arm公司开发的一个IP核,相当于毛胚房,其他公司买核的图纸之后,可以在这个框架已定(m4)前提下加上自己的电路形成各自的芯片(32f4)。就比如你把它建成住宅楼还是酒店、写字楼随你。ST公司生产的STM32是就是基于Cortex-M3这个核生产的CPU。(理解内核关系)

7、IP核分软核和硬核?

现在貌似也有软硬结合的核…它是什么东西呢?比如ARM指令授权,它就是软核,它只规定了CPU的指令集,好比建桥,它只告诉你桥应该建多长、多宽、大概长什么样,但是具体细节没有,不告诉你电路在芯片上怎么摆放,怎么连线。软核的好处是给了很大的发挥空间,模仿、抄袭也简单,以后做类似东西可以参考。硬核就是它只告诉你电路在芯片上具体长什么样子,把它摆上去用就行了。硬核的好处是它一般都是经过其它芯片验证的,很容易了解它的具体性能。但你几乎不可能修改它,也很难了解它的实现细节,毕竟有几千万个mos管,人怎么分析。

上一篇:Cortex-M3 和 M4 的区别


下一篇:STM32F0308DISCOVERY探索套件