快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

深入浅出处理器(上)_基本概念-创新互联

专题1—深入浅出处理器

1.处理器基本概念

1.1处理器于微控制器的区别:

微控制器一般是指:CPU + 片内内存 + 片外外设
微处理器一般指单充的CPU
对于目前的嵌入式设备而言,通常使用的都是微控制器,或这称为SoC(system on chip),低成本、地功耗。对于软件工程师而言,微控制器和微处理器没有任何区别

为洛浦等地区用户提供了全套网页设计制作服务,及洛浦网站建设行业解决方案。主营业务为成都网站制作、成都网站设计、洛浦网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

1.2什么是CPU?

CPU在固定频率的时钟控制下节奏运行。
CPU可以通过总线读取外部存储设备中的二进制指令集,然后解码执行。
这些可以被CPU解码执行的二进制指令集是CPU设计的时候确定的,是CPU的设计者(ARM公司等)定义的,本质上是一串由1和0组成的数字。这就是CPU的汇编指令集。
从源代码到CPU执行过程:
深入浅出处理器(上)_基本概念

1.3寄存器的分类;

A.CPU寄存器
—CPU寄存器负责专有指令执行,数据运算,变量处理、参数传递
B.外设寄存器
—外设寄存器用于控制外设的行为和工作方式,配置值需要根据外设的芯片手册完成。
—外设寄存器是编程者控制硬件的关键,是留作外设被编程控制的“活动开关”,正如汇编指令集是CPU的编程接口API一样,寄存器是外设硬件的软件编程接口API。使用软件编程控制某一硬件,其实就是编程读写该硬件的寄存器。

1.4两个关键寄存器

对于CPU寄存器我们需要特别关注这两个寄存器
A.PC指针-程序计数器(指令指针IP)
之所以被称之为PC指针,是因为其指向的是即将执行的下一条指令(这里我们不考虑多级缓存的问题),类似于指针。每执行一条指令,PC的值就会发生相应的变化。
B.SP指针-栈指针
栈指针始终只想栈空间的顶部,实现LIFO特性
保存中断断点、函数调用的的返回值,保存CPU现场等
PC指针和SP指针的使用示例:最初PC指针指向mov 指令,进行下一次跳转(执行jmp)指令之前会进行现场保存,从SP指针所指的位置开始,将数据保存在栈空间,SP指针依次移动,这里还有一个BP指针(基址指针),用于保存上一次SP的值,则此时BP与SP之间保存的就是指令跳转前的现场,当函数返回,或者中断执行完毕后,就会从该段地址进行现场恢复,SP指针指向其原来的值。
深入浅出处理器(上)_基本概念

1.5 IO操作

处理器的IO操作:
A.处理器与外设之间的数据通过IO操作完成
B.内存映射IO空间(内存与IO统一编址)
外设通过精密的硬件连接映射到处理器的地址空间
通过地址访问的方式与外设进行通信
C.独立IO映射(内存与IO独立编址)
a)独立于地址空间,无法通过地址访问外设
b)使用专用指令于外设进行通信
D.操作IO其实就是配置控制寄存器,对寄存器进行读写操作。

1.6地址映射

通过具体的硬件设计,可以使得地址总线上的值在某个范围内,片选信号为真,即:使能连接设备从而读取相应地址中的数据。
片选信号由地址线产生。
深入浅出处理器(上)_基本概念
地址映射示例:
如下面的地址0XFFFF1234,这是一个32位地址,如何映射到只有16位的地址空间??
通常的做法,使用高位地址通过&&运算产生一个片选信号,然后直接通过低位地址访问实际的内存空间。
深入浅出处理器(上)_基本概念

1.7处理器启动过程

处理器上电之后,PC指针固话了一个默认值(通常是0),PC指针的默认值用于决定第一条执行的指令。然后接着执行后续的指令,整个过程如下图所示。
深入浅出处理器(上)_基本概念
启动程序(BootLoader):
BootLoader是系统上电后运行的第一个程序,通常用于启动操作系统。根据运行阶段,体积和功能的不同分为三个部分(通常的做法):
BL0-固话于硬件之中,用于初始化最基本的硬件,并加载BL1;
BL1-存储于外部存储设备中,用于初始化主存,加载并运行BL2;
BL2-存储于外部设备中,用于引导和启动操作系统。
实例分析:
对于S3C6410,这款芯片,其启动过程的设计和我们上面所讲的完全相符
第一阶段:首先系统上电后会运行固化在IROM内部的BL0,这部分程序的工程完成最基本的初始化工作(关看门狗、初始化指令cache、初始化栈、堆,加载BL1到内部IRAM,跳转到BL1去执行)。
第二阶段:然后IRAM中的代码负责初始化内存(SDRAM)然后加载BL2到SRM中,并跳转到SRAM.
第三阶段:BL2在SDRAM中运行,然后加载OS到SDRAM并启动操作系统
深入浅出处理器(上)_基本概念

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网页标题:深入浅出处理器(上)_基本概念-创新互联
分享链接:http://6mz.cn/article/coiieg.html

其他资讯