![ARM体系结构复习_第1页](http://file3.renrendoc.com/fileroot_temp3/2021-12/4/7873c472-8d7a-4bff-9cf7-cd1c6d591080/7873c472-8d7a-4bff-9cf7-cd1c6d5910801.gif)
![ARM体系结构复习_第2页](http://file3.renrendoc.com/fileroot_temp3/2021-12/4/7873c472-8d7a-4bff-9cf7-cd1c6d591080/7873c472-8d7a-4bff-9cf7-cd1c6d5910802.gif)
![ARM体系结构复习_第3页](http://file3.renrendoc.com/fileroot_temp3/2021-12/4/7873c472-8d7a-4bff-9cf7-cd1c6d591080/7873c472-8d7a-4bff-9cf7-cd1c6d5910803.gif)
![ARM体系结构复习_第4页](http://file3.renrendoc.com/fileroot_temp3/2021-12/4/7873c472-8d7a-4bff-9cf7-cd1c6d591080/7873c472-8d7a-4bff-9cf7-cd1c6d5910804.gif)
![ARM体系结构复习_第5页](http://file3.renrendoc.com/fileroot_temp3/2021-12/4/7873c472-8d7a-4bff-9cf7-cd1c6d591080/7873c472-8d7a-4bff-9cf7-cd1c6d5910805.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章冯洛伊曼计算机结构特点:计算机由运算器,存储器,控制器,输入设备和输出设备五部分组成。指令与数据以同等地位存放在存储器中,并可按地址对它们进行访问。指令在存储器中顺序存放。控制器输出设备输入设备运算器存储器机器以运算器为中心,数据的传输必须通过运算器。实现RISC(精简指令系统计算机)的方法1、 减少指令种类:RISC的指令系统只提供能完成简单操作的指令,复杂的操作由编译器或者程序员通过多条指令的组合来完成。2、 Load/Store结构:存储器中的数据可以用Load/Store指令不经处理器直接读入寄存器,之后处理器再对寄存器的数据的操作则是访问寄存器而不是存储器了。从而提高系统工作速
2、度。3、 采用指令流水线技术:这种技术把一条指令的执行过程分解为多个步骤,并在处理器中为每步都配置一个硬件装置来同时工作,从而实现多条指令的并行处理。4、 在处理器中配置更多的通用寄存器寄存器是处理器访问速度最快的存储装置,大量地配置处理器中的寄存器有利于提高计算机系统的工作速度。嵌入式计算机系统的特点1、 专用性强:嵌入式系统通常是面相某个特定应用的,所以嵌入式系统的硬件是为特定用户群设计的,它通常都具有某种专用性的特点。2、 可裁剪性好:嵌入式系统的硬件和操作系统都必须设计成可裁剪的,以便用户可以根据实际应用去除冗余吗,从而达到最精简的配置。3、 实时性与可靠性好:嵌入式系统中的软件都固化
3、在存储器芯片或单片系统的存储器里,加上精心设计的操作系统,可以快速地响应外部事件,同时提高了系统的可靠性。4、 功耗低:由于嵌入式系统中的软件都固化在存储器芯片或单片系统的存储器之中,所以它具有功耗低的特点。第二章并行总线:由多条传输线组成,其数目与被传输的数据的位数相同,每条线负责传输一位二进制代码。它可以一次同时传送一个多位二进制代码。串行总线:在实际系统中使用一根线来传送多位二进制信息,这个多位二进制代码在这根线上一位接着一位地逐一传输,这样的总线叫做串行总线。总线:连接计算机系统多个部件的信息传输线数据总线:在计算机的各个部件之间传送数据的通路。 地址总线:用来传送由指令或程序计数器经
4、地址寄存器送出的地址信息。控制总线:用来传递控制信息的总线叫控制总线。总线标准:1、 ISA标准:慢速IO与高速存储器总线分开的一种双线结构。2、 PCI总线:先进的局部总线。3、 USB通用串行总线接口:通用串行总线接口。EPROM芯片在写入数据后,还要以不透光的贴纸或胶布把窗口封住,以免受到周围的紫外线照射而使数据受损。信号类型:1、 数字量:二进制形式的数据2、 模拟量:用电压的高低或电流的大小来表示物理量大小的信号3、 开关量:可以表示为0、1两种状态的信号4、 脉冲量:以脉冲形式来表示的信号外部设备的特点:信号种类繁多、没有地址、工作速度与处理器的工作速度不匹配端口:接口中每一个具有
5、地址的寄存器叫做端口I/O端口的编址方式1、 存储器映像方式:把IO端口与存储器的存储单元同等看待并一起编址的方式2、 隔离IO方式:即存储器和IO端口两者的地址空间互相隔离,各自进行编址。外部设备和处理器的联络方式1、 查询方式:当处理器需要与外设交换信息时,处理器主动读取对应设备接口的状态信息,如果设备准备就绪,就进行数据通信,否则,就重复读取设备接口的状态信息,直到设备状态信息为就绪状态为止。2、 中断方式:此方式是外部设备进行主动联络的方式,使用此方式的前提是处理器必须具有一个中断请求信号输入端。当外部设备准备就绪时,使用状态信号端通过处理器的中断请求输入端向处理器发出一个通知信号,告
6、知处理器本外设已经具备通信的条件了,而处理器可在条件允许时中断现行程序的执行,而转向执行另一个与外设进行数据交换的程序。优点是避免了高速的处理器因等待低速的外设而造成的时间浪费,从而大大提高了处理器的工作效率,因此它是目前处理器与外设进行信息沟通的最普遍方式。3、 DMA方式:直接存储器数据传输控制器,它的工作原理是当io设备需要与主存进行数据传输时,由io设备向DMA控制器发出数据传输请求信号,而DMA控制逻辑向处理器发出总线请求信号HRQ;处理器让出总线控制权的同时,处理器发出应答信号HLDA,通过控制逻辑再以DACK信号发到IO设备,至此主机与IO设备的联络成功。接着,就按预先设置于地址
7、指针控制机构中的存储缓冲区起始地址开始在IO设备与主存之间传输数据,数据传输完毕后,则由中断机构向处理器发出一个中断请求信号,以告知处理器。异步和同步串行通信串行通信根据时钟的控制方式可分为同步通信方式和异步通信方式。如果发送设备和接收设备各自使用自己的时钟来控制通信,那么这种通信方式叫做异步串行通信方式,这种通信方式允许双方的时钟在准确度和稳定度上有一定的差异,如果发送和接收双方使用同一个时钟来控制通信,那么这种通信方式就叫做同步串行通信方式,同步通信要求双方的时钟必须严格一致。波特率:是衡量数据传输速率的指标。表示每秒钟传输的二进制位数。堆栈的组织方式:满递增堆栈:堆栈指针指向最后压入的数
8、据且由低地址向高地址生成。满递减堆栈:堆栈指针指向最后压入的数据且由高地址向低地址生成。空递增堆栈:指向下一个将要放入数据的空位置,且由低地址向高地址生成。空递减堆栈:指向下一个将要放入数据的空位置,且由高地址向低地址生成。ARM核具有两种指令集:32位ARM和16位ThumbARM指令分为数据处理指令、程序跳转指令、程序状态寄存器操作指令、load/store指令、协处理器指令和异常指令。AMR指令集和Thumb指令集的区别:Thumb指令集中的指令不能使用“S”后缀来影响程序状态寄存器PSR中的标志。Thumb指令集只有一条分支指令可以使条件指令,而其余的Thumb指令都是无条件指令。大多
9、数指令为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位
10、积的32位乘法运算指令、MLA带加法运算的32位积的32位乘法指令、SMULL64位积的32乘法运算指令、SMLAL带加法运算的64位积32位乘法运算指令、LDR字节加载指令、STR字节存储指令。例:现已知寄存器R0中存放了数据a,寄存器R1中存放了数据b,编写程序求a和b的最大公约数并将其存入寄存器ROgcb 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和R
11、1=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=0x00009004LDMIA R0!,R1-R3是指将R0所指的单元格中的数据读出到R1中,RO
12、自增1后再重复上述步骤。I表示增加,D表示减少,A表示取数后自增,B表示取数前自增。非屏蔽中断信号输入端:带有开关能阻止中断请求的中断输入端中断管理原理:在中断源和处理器之间有一个中断控制器,用来对每个中断源设置相应的开关来决定一个中断源是否能发出中断请求。其中,中断控制开关受中断屏蔽寄存器的装置来控制,寄存器的每一位都控制一个开关。人们把这个中断屏蔽寄存器作为中断控制器的一个端口,从而使程序可以通过这个端口设置数据来对这些开关接通与断开进行控制。中断的实现方法:硬件实现方法:为计算机系统配备一套能按优先等级对中断源进行 排队的硬件电路,以保证级别高的中断能先于级别低的中断被处理器所响应。软件
13、实现方法:把所有中断源的中断请求信号分成两路,其中一路经或逻辑送到处理器的中断请求输入端,而另一路则送入中断接口电路经数据总线送入处理器。当处理器发现有中断请求而响应中断并执行中断服务程序时,在中断服务程序中按中断优先级顺序对各个中断源进行查询,一发现中断源有中断请求,就转向该中断服务程序。中断嵌套: 当处理器在处理一个低级中断时,接受到一个高级中断请求,此时,计算机系统将低级的中断服务被高级中断服务所中断,这种现象叫做中断嵌套。调用中断服务子程序的方法:调用方法和转移方法处理器响应中断的条件:处理器程序状态寄存器的中断屏蔽标志处于非屏蔽状态没有更高级别的中断请求正在响应或正发出、正挂起处理器
14、在现行指令执行结束后中断的处理过程:计算机系统就会响应中断请求,并自动将被中断程序的下一条指令地址保存到堆栈和关闭中断;接着将自中断向量表查得的与该中断源对应的中断向量送入PC,并转去执行中断服务程序。复位中断出现在系统上电或程序引起的复位,它的优先级别最高软中断异常用于实现处理器工作模式的切换未定义指令异常用于模拟某种硬件功能或自定义一些指令来完成一些特殊功能。中断响应的四项准备工作:把程序计数器PC中的当前地址值保存到连接寄存器LR中把当前程序状态寄存器中的内容保护到模式私有寄存器中将寄存器CPSR中的MODE域设置为中断应进入的运行模式对cpsr的I位和F位进行相应的设置响应复位中断时处
15、理器中断系统的工作过程、响应未定义指令异常时处理器中断系统LPC2000结构框图LPC2000的可用地址空间为4GB,它被分成内部存储空间、外部可扩展存储空间和IO设备空间三部分。其中,片内存储空间占用2GB,片外存储空间占用1.5GB,IO设备占用了处在高端地址的0.5GB空间。EMC(外部存储器控制模块)与外部存储器组连接示意图DB为数据总线(32位);AB为地址总线(24位);CS0、CS1、CS2和CS3用来选通Bank0、Bank1、Bank2、Bank3四个片选信号;BLS0、BLS1、BLS2和BLS3为四个字长控制信号。LPC2000锁相环PLL原理图定时器原理和功能: 定时器
16、的核心部件是一个32位加法计数器TC,用户程序可用匹配寄存器MR0-MR3来产生定时事件,用捕获寄存器CR0-CR3来读取定时器的当前值。 TC的初始值为0,当TC被启动之后,计数器每收到一个计数脉冲计数器就加1.如果在计数过程中一直没有复位信号使之复位,则计数器会一直计到最高值0xFFFFFFFF,并在再加1时回卷到0x00000000重新开始计数,如此循环往复。 为产生定时事件,定时器配置有四个可以预先设置数据的匹配寄存器MR0-MR3。在计数器TC计数过程中,当TC的当前值与某个MR的预置值相等时,该MR会触发一个由匹配控制寄存器MCR指定的事件。 为使程序可以读取定时器的当前值,定时器
17、还配有四个可以由处理器外部引脚(CAP0-CAP3)触发的捕获寄存器CR0-CR3,在外部触发信号CAP有效时,CR可以捕获计数器TC的当前值。每个外部触发信号CAP都可以通过LPC2000的引脚连接模块与芯片外部的一个活多个引脚相连接,该信号的有效形式则由捕获寄存器CCR的相关位来指定。脉宽调制器是一种能把输入信号的大小转换成输出信号的脉冲宽度的转换电路或装置。单边沿脉冲信号的初始化代码PWMPCR=0x200; /设置输出信号为单边沿信号PWMMCR=0x02; /当匹配寄存器0匹配时复位定时器TCPWMMR0=0x1000; /设置周期T=1000个定时脉冲PWMMR1=0x600; /
18、设置脉宽=600个定时脉冲PWMLER=0x03; /允许匹配寄存器0和匹配寄存器1锁存PWMTCR=0x09; /启动定时器TC双边沿脉冲信号的初始化代码:PWMPCR=0x404; /设置输出信号为单边沿信号PWMMCR=0x02; /当匹配寄存器0匹配时复位定时器TCPWMMR0=0x1000; /设置周期T=1000个定时脉冲PWMMR1=0x200; /设置脉宽=200个定时脉冲PWMMR2=0x500; /设置500个定时脉冲PWMLER=0x07; /允许匹配寄存器0、1、2锁存PWMTCR=0x09; /启动定时器TC看门狗:可以自动进行复位的硬件电路。看门狗实质上是一个定时器
19、,如果它在一个预定时间内未接收到一个表示计算机工作正常的信号,它就会依靠计数器的溢出信号启动复位电路,将系统复位并重新启动;如果在预定时间内收到了工作正常信号,则将定时器本身复位,重新开始新的定时过程。其中的信号俗称喂狗看门狗逻辑框图看门狗的初始化:WDTC=0x10000; /设置TC时间限定值WDMODE=0x03; /设置工作模式并启动看门狗喂狗代码:Void EDTFEED()WDFEED=0xAA;WDFEED=0x55;LPC2000的功率控制模式:掉电模式:通过禁止PLL来冻结处理器和外设的时钟,这时系统的功耗仅取决于电路的漏电流。外部设备的中断请求会将处理器从功率控制状态中醒来
20、。空闲模式:仅停止对处理器的时钟供给,任何中断请求都可以将系统唤醒UART(通用异步收发器)数据的发送 发送数据时,处理器首先通过状态寄存器检查发送数据寄存器是否为空,如果为空,则将待发送数据由处理器写入发送数据寄存器UxTHR;然后由接口自动按照通信格式控制寄存器UxLCR的设置,给数据加上启动位、奇偶校验位和停止位;最后通过发送移位寄存器将数据串行地通过发送端TxD发送给其它设备。UART(通用异步收发器)数据的接受接收数据时,自接收端RxD接收到的串行数据首先由接收移位寄存器接收;然后将其转换成并行数据暂存到接收寄存器UxRBR中,当处理器通过状态寄存器发现接收寄存器为满状态时,处理器就
21、读取该数据;接下来UART可以接收下一个数据。SPI通信原理与SPI接口逻辑框图: 主设备移位寄存器的数据输出端MOSI和数据输入端MISO与从设备移位寄存器连成环形结构。通信时,一个脉冲传送一位数据。在事先约定的正脉冲或负脉冲作用下,在前沿时刻完成数据的输出,在后沿时刻完成数据的输入IC总线构成总线仲裁: 总线上的所有器件都具有获得总线控制权而成为主器件的权力,所以常常会由于发生两个或多个器件同时企图获得总线控制权而发生所谓的总线竞争。这时总线就会发生一个以某种规则确定主器件的过程,这个过程叫做仲裁。AD转换器框图LPC2000中断管理原理LPC2000处理器内置了中断控制器VIC。为把芯片
22、外部的外设中断引入芯片,并在引入过程中对外部中断进行管理,LPC2000还设置了外部中断通道。这样,LPC2000的中断管理就形成了由外部中断通道、VIC和中断向量表所组成的3层结构。VIC的组成图VIC中断通道输入部分逻辑图VIC分组控制部分图快中断IRQ组处理部分图独立按钮键盘:特点是每一个键都占用一条接口线。矩阵式键盘:每个按钮都被安排在行线和列线的交叉处,这样,16个键占用了8条接口线。这种键盘占用接口线的数目为键数目的开平方。触摸屏:由触摸检测部件和触摸屏控制器两部分组成。触摸检测部件安装在显示屏前面,将用户触摸位置转换为电信号;而触摸屏控制器的主要作用是从触摸点检测装置上接收电信号
23、,并将它转换成数字量形式的触点坐标信息馈送给处理器。ISP叫做系统编程,无须从系统上拔下存储器芯片就可以对它进行编程;IAP叫做在应用编程,允许在应用程序运行中由应用程序对存储器芯片进行编程。向量表的重映射概念: 在系统启动后,依靠硬件使MEM1:0=00,暂时注销用户程序向量表的地址空间,而把BootBlock的向量表暂时映射到从0x00000000开始的64字节空间。这样,处理器在开机时从地址0x00000000处得到的就是跳转到BootBlock的指令,而先执行BootBlock了。至于用户程序的执行,则由BootBlock在适当时机,再通过修改MEM1:0进行地址重映射,把用户程序的中
24、断向量表恢复到元位置。LPC2000要求有效用户程序的中断向量表的所有指令的机器码相加之和必须为0RAM空间的重映射 为提高系统效率,经常需要将放在Flash中的用户程序中断向量表以及后续的FIQ服务程序转存到速度较高的RAM中,然后把这块RAM空间重映射到0x00000000开始的空间上。Cache存储器的组成: 它是一个存储阵列,其基本存储单位叫做cache行。一个cache行除了要存放从主存复制来的信息之外,还要存储一些其他信息,所以每一个cache行又分为三段:cache标签(目录段)、状态段和数据段。数据段用来存放从主存复制来的指令或数据Cache标签用来表示数据源地址状态段用来表示
25、数据的状态。在cache行中设置了V标志来表示数据是否有效;设置d标志来表示数据是否被修改过。颠簸现象:当应用程序需要连续访问与同一个cache行所共享的多个内存块中的数据时,会使cache频繁地进行内存块的替换操作。解决颠簸现象的方法:多设置几个相同的cache存储器,这样就会有多个具有相同行地址的cache行,而使原来只有一个cache行的内存块群有多个cache行使用,这种技术叫做cache的组相联。写策略:处理器核有两种对存储器进行写操作的策略。一种是同时向cache存储器和内存写入数据,将两处的数据同时进行更新,这种做法叫做直写法;另一种是处理器核只把数据写入cache行,只有当相应
26、的cache行需要替换时,才把数据写入内存,这种方法叫回写法。行替换策略:cache控制器总是在一个淘汰完成后,即准备下一次需要淘汰的行。Cache控制器选择下一个要丢弃行的策略叫做替换策略。ARM核支持两种替换策略:轮转法和伪随机替换法。失败时的分配策略:当采用读写分配策略时,不管是在对内存进行读操作还是写操作,只要被操作对象未在cache中,cache控制器都要为操作对象分配cache行,而采用读操作分配策略时,cache控制器只对内存的读操作对象分配cache行,而写操作则只直接更新内存内容,不分配cache行。虚拟存储空间:程序在辅存中的存储空间物理存储空间:计算机实际配置的物理内存空
27、间映射机构的重定位器:用来指示目标地址的寄存器,把虚拟空间的程序复制到物理空间中。MMU用来完成虚拟存储管理工作。页表是物理内存空间的一个抽象,即用户是使用虚拟地址通过页表来使用实际物理内存的。快表的工作原理: 处理器在使用虚拟地址访问某个虚存空间时,先到MMU的快表中去查找所要访问的虚存页是否有对应的表项,如果有,则转换成物理地址去读写数据;如果没有就到内存的页表中去查找。找到后就看表项中是否有有效的页框码;如果有,则将其复制到快表中,并转换成物理地址去读写数据,如果没有,就产生一个缺页异常信号启动操作系统的内存分配模块,为虚拟页分配页框并把页复制到该页框,同时在页表中建立对应的页表项并将其
28、复制到快表中,然后再转换成物理地址到物理内存去访问该数据。二级页表的工作原理:虚拟地址被分成三段,系统用主表基地址拼接了虚拟地址的最高段;在主表中查找二级页表的基地址,再把二级页表的基地址拼接了虚拟地址的中断;在二级页表查找页框码,最后把页框码拼接成虚拟地址的低段,形成物理地址。虚拟存储技术的优点:用户应用程序都有自己的页表,这使应用程序的虚拟存储空间各自是独立的,而不会发生彼此干扰,从而实现了用户存储空间的保护。用户应用程序值使用虚拟地址,而不必去考虑物理内存的问题。可以运行比物理内存大的应用程序。冯·诺依曼机主要特点:计算机由运算器、存储器、控制器、输入设备和输出设备五部分组成。指令与数据以同等地位存放在存储器中,并可按地址对它们进行访问。 指令在存储器中顺序存放。机器以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 桩基础施工合同范本
- 两人合作经营业务合同样本
- 个人投资合伙合同范本
- 个人房产抵押借款协议合同
- 亲朋好友合伙购房合同范例
- 2025版建筑工程施工总承包合同
- 个人租房合同格式及模板
- 个人租赁住宅合同范本解析
- 上海商业地产租赁合同范本
- 上海市租客与房东合同范本
- (正式版)JBT 11270-2024 立体仓库组合式钢结构货架技术规范
- DB11∕T 2035-2022 供暖民用建筑室温无线采集系统技术要求
- 《复旦大学》课件
- 针灸与按摩综合疗法
- 煤矿井下安全避险六大系统建设完善基本规范
- Photoshop 2022从入门到精通
- T-GDWJ 013-2022 广东省健康医疗数据安全分类分级管理技术规范
- 校本课程生活中的化学
- DB43-T 2775-2023 花榈木播种育苗技术规程
- 《我的家族史》课件
- 高空作业安全方案及应急预案
评论
0/150
提交评论