ARM体系结构复习

发布 2021-05-02 14:28:28 阅读 3740

冯洛伊曼计算机结构特点:

计算机由运算器,存储器,控制器,输入设备和输出设备五部分组成。

指令与数据以同等地位存放在存储器中,并可按地址对它们进行访问。

指令在存储器中顺序存放。

机器以运算器为中心,数据的传输必须通过运算器。

实现risc(精简指令系统计算机)的方法。

1、减少指令种类:

risc的指令系统只提供能完成简单操作的指令,复杂的操作由编译器或者程序员通过多条指令的组合来完成。

2、load/store结构:

存储器中的数据可以用load/store指令不经处理器直接读入寄存器,之后处理器再对寄存器的数据的操作则是访问寄存器而不是存储器了。从而提高系统工作速度。

3、采用指令流水线技术:

这种技术把一条指令的执行过程分解为多个步骤,并在处理器中为每步都配置一个硬件装置来同时工作,从而实现多条指令的并行处理。

4、在处理器中配置更多的通用寄存器。

寄存器是处理器访问速度最快的存储装置,大量地配置处理器中的寄存器有利于提高计算机系统的工作速度。

嵌入式计算机系统的特点。

1、专用性强:嵌入式系统通常是面相某个特定应用的,所以嵌入式系统的硬件是为特定用户群设计的,它通常都具有某种专用性的特点。

2、可裁剪性好:嵌入式系统的硬件和操作系统都必须设计成可裁剪的,以便用户可以根据实际应用去除冗余吗,从而达到最精简的配置。

3、实时性与可靠性好:嵌入式系统中的软件都固化在存储器芯片或单片系统的存储器里,加上精心设计的操作系统,可以快速地响应外部事件,同时提高了系统的可靠性。

4、功耗低:由于嵌入式系统中的软件都固化在存储器芯片或单片系统的存储器之中,所以它具有功耗低的特点。

并行总线:由多条传输线组成,其数目与被传输的数据的位数相同,每条线负责传输一位二进制**。它可以一次同时传送一个多位二进制**。

串行总线:在实际系统中使用一根线来传送多位二进制信息,这个多位二进制**在这根线上一位接着一位地逐一传输,这样的总线叫做串行总线。

总线:连接计算机系统多个部件的信息传输线。

数据总线:在计算机的各个部件之间传送数据的通路。

地址总线:用来传送由指令或程序计数器经地址寄存器送出的地址信息。

控制总线:用来传递控制信息的总线叫控制总线。

总线标准:1、isa标准:慢速io与高速存储器总线分开的一种双线结构。

2、pci总线:先进的局部总线。

3、usb通用串行总线接口:通用串行总线接口。

eprom芯片在写入数据后,还要以不透光的贴纸或胶布把窗口封住,以免受到周围的紫外线照射而使数据受损。

信号类型:1、数字量:二进制形式的数据。

2、模拟量:用电压的高低或电流的大小来表示物理量大小的信号。

3、开关量:可以表示为两种状态的信号。

4、脉冲量:以脉冲形式来表示的信号。

外部设备的特点:

信号种类繁多、没有地址、工作速度与处理器的工作速度不匹配。

端口:接口中每一个具有地址的寄存器叫做端口。

i/o端口的编址方式。

1、存储器映像方式:把io端口与存储器的存储单元同等看待并一起编址的方式。

2、隔离io方式:即存储器和io端口两者的地址空间互相隔离,各自进行编址。

外部设备和处理器的联络方式。

1、查询方式:当处理器需要与外设交换信息时,处理器主动读取对应设备接口的状态信息,如果设备准备就绪,就进行数据通信,否则,就重复读取设备接口的状态信息,直到设备状态信息为就绪状态为止。

2、中断方式:此方式是外部设备进行主动联络的方式,使用此方式的前提是处理器必须具有一个中断请求信号输入端。当外部设备准备就绪时,使用状态信号端通过处理器的中断请求输入端向处理器发出一个通知信号,告知处理器本外设已经具备通信的条件了,而处理器可在条件允许时中断现行程序的执行,而转向执行另一个与外设进行数据交换的程序。

优点是避免了高速的处理器因等待低速的外设而造成的时间浪费,从而大大提高了处理器的工作效率,因此它是目前处理器与外设进行信息沟通的最普遍方式。

3、dma方式:直接存储器数据传输控制器,它的工作原理是当io设备需要与主存进行数据传输时,由io设备向dma控制器发出数据传输请求信号,而dma控制逻辑向处理器发出总线请求信号hrq;处理器让出总线控制权的同时,处理器发出应答信号hlda,通过控制逻辑再以dack信号发到io设备,至此主机与io设备的联络成功。接着,就按预先设置于地址指针控制机构中的存储缓冲区起始地址开始在io设备与主存之间传输数据,数据传输完毕后,则由中断机构向处理器发出一个中断请求信号,以告知处理器。

异步和同步串行通信。

串行通信根据时钟的控制方式可分为同步通信方式和异步通信方式。如果发送设备和接收设备各自使用自己的时钟来控制通信,那么这种通信方式叫做异步串行通信方式,这种通信方式允许双方的时钟在准确度和稳定度上有一定的差异,如果发送和接收双方使用同一个时钟来控制通信,那么这种通信方式就叫做同步串行通信方式,同步通信要求双方的时钟必须严格一致。

波特率:是衡量数据传输速率的指标。表示每秒钟传输的二进制位数。

堆栈的组织方式:

满递增堆栈:堆栈指针指向最后压入的数据且由低地址向高地址生成。

满递减堆栈:堆栈指针指向最后压入的数据且由高地址向低地址生成。

空递增堆栈:指向下一个将要放入数据的空位置,且由低地址向高地址生成。

空递减堆栈:指向下一个将要放入数据的空位置,且由高地址向低地址生成。

arm核具有两种指令集:32位arm和16位thumb

arm指令分为数据处理指令、程序跳转指令、程序状态寄存器操作指令、load/store指令、协处理器指令和异常指令。

amr指令集和thumb指令集的区别:

thumb指令集中的指令不能使用“s”后缀来影响程序状态寄存器psr中的标志。

thumb指令集只有一条分支指令可以使条件指令,而其余的thumb指令都是无条件指令。

大多数指令为2操作数指令,只有极少数的指令为3操作数指令。

由于指令字长比较短,所以立即数的取值范围要小得多。

具有逻辑移位操作指令,堆栈操作更加灵活。

例:有两个128位数,第一个数由高到低存放在寄存器r7-r4中,第二个数由高到低存放在寄存器r11-r8中,编写程序把两个数相加后,运算结果由高到低存放到寄存器r3-r0中。

adds r0,r4,r8 ; 加低位的字,不带进位。

adcs r1,r5,r9 ;加第二个字,带进位。

adcs r2,r6,r10 ; 加第三个字,带进位。

adcs r3,r7,r11 ; 加第四个字,带进位。

注:adc是带进位加法指令。

rsb逆向减法指令、rsc带进位逆向减法指令、mul32位积的32位乘法运算指令、mla带加法运算的32位积的32位乘法指令、smull64位积的32乘法运算指令、smlal带加法运算的64位积32位乘法运算指令、ldr字节加载指令、str字节存储指令。

例:现已知寄存器r0中存放了数据a,寄存器r1中存放了数据b,编写程序求a和b的最大公约数并将其存入寄存器ro

gcb cmp r0,r1 ; 比较a和b的大小。

subgt r0,r0,r1 ; 如果a大于b,a=a-b

sublt r1,r1,r0 ;如果a小于b,b=b-a

bne gcb如果a!=b,返回gcb

mov pc,lr ;如果a=b,返回主程序。

例:已知r0=0x00000000和r1=0x00009000,并已知在存储器中首地址为0x00009000的区域中存放了数据0x01010101,在首地址为0x00009004的区域存放了数据0x02020202。写出执行命令ldr r0,【r1,#4】后r0和r1的数据。

r0=0x02020202,r1=0x00009000

例:执行命令ldr r0,【r1 ,#4】!后r0和r1中的数据。

r0=0x02020202,r1=0x00009004

例:执行命令ldr r0,【r1】,#4后r0和r1中的数据。

r0=0x01010101,r1=0x00009004

ldmia r0!,是指将r0所指的单元格中的数据读出到r1中,ro自增1后再重复上述步骤。i表示增加,d表示减少,a表示取数后自增,b表示取数前自增。

非屏蔽中断信号输入端:带有开关能阻止中断请求的中断输入端。

中断管理原理:

在中断源和处理器之间有一个中断控制器,用来对每个中断源设置相应的开关来决定一个中断源是否能发出中断请求。其中,中断控制开关受中断屏蔽寄存器的装置来控制,寄存器的每一位都控制一个开关。人们把这个中断屏蔽寄存器作为中断控制器的一个端口,从而使程序可以通过这个端口设置数据来对这些开关接通与断开进行控制。

中断的实现方法:

硬件实现方法:为计算机系统配备一套能按优先等级对中断源进行排队的硬件电路,以保证级别高的中断能先于级别低的中断被处理器所响应。

软件实现方法:把所有中断源的中断请求信号分成两路,其中一路经或逻辑送到处理器的中断请求输入端,而另一路则送入中断接口电路经数据总线送入处理器。当处理器发现有中断请求而响应中断并执行中断服务程序时,在中断服务程序中按中断优先级顺序对各个中断源进行查询,一发现中断源有中断请求,就转向该中断服务程序。

中断嵌套:当处理器在处理一个低级中断时,接受到一个高级中断请求,此时,计算机系统将低级的中断服务被高级中断服务所中断,这种现象叫做中断嵌套。

调用中断服务子程序的方法:调用方法和转移方法。

处理器响应中断的条件:

处理器程序状态寄存器的中断屏蔽标志处于非屏蔽状态。

没有更高级别的中断请求正在响应或正发出、正挂起。

处理器在现行指令执行结束后。

中断的处理过程:

计算机系统就会响应中断请求,并自动将被中断程序的下一条指令地址保存到堆栈和关闭中断;接着将自中断向量表查得的与该中断源对应的中断向量送入pc,并转去执行中断服务程序。

复位中断出现在系统上电或程序引起的复位,它的优先级别最高。

软中断异常用于实现处理器工作模式的切换。

未定义指令异常用于模拟某种硬件功能或自定义一些指令来完成一些特殊功能。

中断响应的四项准备工作:

把程序计数器pc中的当前地址值保存到连接寄存器lr中。

把当前程序状态寄存器中的内容保护到模式私有寄存器中。

将寄存器cpsr中的mode域设置为中断应进入的运行模式。

对cpsr的i位和f位进行相应的设置。

响应复位中断时处理器中断系统的工作过程、响应未定义指令异常时处理器中断系统。

lpc2000结构框图。

lpc2000的可用地址空间为4gb,它被分成内部存储空间、外部可扩展存储空间和io设备空间三部分。其中,片内存储空间占用2gb,片外存储空间占用1.5gb,io设备占用了处在高端地址的0.

5gb空间。

ARM体系结构

arm的体系结构。arm是随机存取存储器的意思。arm的英文是advanced risc machines,既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。首先说一下arm微处理器的特点 1 体积小 低功耗 低成本 高性能 2 支持thumb 16位 arm...

ARM体系结构版本

arm体系结构的版本。前面一段时间我搞过一次 mcu编译与运行 的专题,详细介绍从 编译到 运行以及中断机制的流程,这里想在编译部分补充一些知识点。对于嵌入式开发人员,搭建开发环境是比较困难的一步,市面上针对arm开发的ide非常多,有的编译器诸如ads或者mdk等老编译器并不支持arm11或者co...

ARM体系结构变化

处理器的体系结构定义了指令集 isa 和基于这一体系结构下处理器的程序员模型。尽管每个处理器性能不同,所面向的应用不同,每个处理器的实现都要遵循这一体系结构。arm体系结构为嵌入系统发展商提供很高的系统性能,同时保持优异的功耗和面积效率。arm体系结构的发展。arm体系结构为满足arm合作者以及设计...