arm 与 cpu 是什么关系?且看本文
扫描二维码
随时随地手机看文章
学习ARM裸机,是一件复杂事情,入门的概念性和基础性知识必须要了解到,以便于后面的知识的理解。
ARM概念
ARM首先是一个公司,这家公司设计CPU并向各个CPU制造商授权许可,所以ARM公司是一家CPU设计公司。同时,ARM也是ARM公司主导设计的CPU系列的简称。
ARM版本区分
ARM版本号可以分为三类:
· 内核版本号,例如ARMv5,ARMv7,ARMv7a,ARMv8a……
· Soc版本号,例如Cortex-A8,Cortex-A9...
· 芯片型号,例如2410,2440,6410,S5PV210...
Soc
Soc是System on Chip的简写,即片上系统。Soc主要包括了CPU中央处理器以及各种外设模块,CPU和外设通过集成电路被安置在一个芯片中。
现在已经没有纯粹的CPU了,都是SoC
ARM卖的内核其实就是CPU(当然还需要总线),各种外设是半导体厂商自己添加的。
单片机和嵌入式的区别
平台区别:
主流的单片机平台有51,PIC,STM32,AVR,MSP430,
主流的嵌入式平台有ARM,PPC,MIPS
资源,价格,应用领域
单片机片上资源有限,价格低,应用领域大多为小家电,终端设备。
嵌入式片上资源丰富,价格高,应用领域广泛,基本可以适用于任何领域。
开发模式
单片机一般都是裸机开发,程序规模较小,只有在比较高端的芯片上才会使用RTOS
嵌入式开发一般都会使用嵌入式系统
技术特征
单片机主要使用C语言和简单的汇编,而且C语言和标准C略有不同,很少使用C语言的高级特性,
嵌入式比较复杂,一般会进行分层设计和开发,分为底层,应用层,不同的成册可能使用不同的开发语言,例如C++与Java,较多使用C语言的高级特性
CPU设计原理和总线
CPU主要包括运算器,控制器,存储器通过总线与Flash与内存连接。
总线就类似于CPU中的道路,数据通过总线在CPU和外设之间传输,CPU也通过内部总线与SOC中的其他外设连接,例如UART设备,内部总线由于在芯片内部,抗干扰能力强,运算速度更快。
总线分为两种,地址总线和数据总线:
地址总线用于传输地址,CPU通过地址总线寻址,告诉设备要取的数据在哪个地址中,地址总线的位数决定了寻址范围
数据总线用于传输数据,CPU通过数据总线与外部交换信息,将设备要的数据通过该总线发送给对方,数据总线的位数决定了CPU单次通信能交换的信息数量
总线的速度决定了CPU和外设互换信息的速度
CPU的地址总线和数据总线的位数可以不同,CPU的位数就指的是数据总线的位数
32位CPU的寻址范围是4G所以最多支持4G内存,数据总线是32位的,那么传输一个int和传输一个char的效率是一样的。