认识SOC

1. 概念

SOC全称System on Chip,意为片上系统(或称为芯片级系统)

1.1CPU和SOC的区别

1.2 版本号之分

CPU核架构(ARM公司设计)  CPU核版本号(ARM公司定义)SOC版本号(SOC厂商定义)
ARMv7Cortex-AS5pv210(三星的)
ARMv7Cortex-AIMX6dl(恩智浦的)
 
 Cortex-AA的意思是application应用级处理器,就是手机、平板、电脑的CPU
 Cortex-MM的意思是microcontroller微控制器,就是单片机,比如最近火的stm32
 Cortex-R

R的意思是realtime实时控制器,响应速度快,主要用于工业、航空领域

 

2. 寄存器

寄存器存在于SOC内部,众所周知,我们编写程序控制硬件是通过寄存器来编程操控的,寄存器就好像是硬件提供的API供编程人员使用。

SOC中有两类寄存器:通用寄存器和特殊功能寄存器SFR(special function register)

通用寄存器(arm中有37个)是CPU的组成部分,CPU的很多活动都需要通用寄存器的支持与参与。

SFR不在CPU中,而存在于CPU的外设中,程序员通过访问外设的SFR来编程操控这个外设。

汇编可以用到通用寄存器,例如向特殊功能寄存器(地址为0x30008000,这里的地址是随便写的,方便理解)写入16,用汇编写是:

ldr r0, =16
ldr r1, =0x30008000
str r0, [r1}

用C语言写是:

int *p = (int *)0x30008000;
*p = 16;

相比可知,用汇编写用到了通用寄存器r0,r1, 而C语言写却没有,其实是C语言屏蔽了这个过程(这个过程依然存在,只是编译器在生成.s文件时帮程序员做了,不懂的可以看我的另一篇博客《编译原理》)

 

后续补充·····

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值