×
单片机 > 单片机程序设计 > 详情

初识ARM cotex—A9

发布时间:2020-08-21 发布时间:
|

1) 电阻的作用


[上拉电阻]


       接在电源和参考点之间的电阻

       (1) 作用:  使参考点的电平默认为高电平

[下拉电阻]

       接在地和参考点之间的电阻

       (1) 作用:  使参考点的电平默认为低电平



2) 局部性原理


程序执行时,访问的数据和执行的指令往往在一个局部范围内。


3)bus

       可以接多个设备的一组线叫总线

       

       (1) CPU总线

           CPU(ALU和控制器)连接内存和IO设备的一组线, 用于传输: 地址、数据和控制

           地址线

           数据线

           控制线

           

       (2) 单总线(ARM)

           内存和IO设备接在相同cpu总线上,表现为:

           1. 内存和IO设备在同一地址空间(0 - 4G)

           2. 访问内存和IO设备的方法一样(指令相同)

           

       (3) 多总线(x86)

           内存和IO设备接在不同组cpu总线上,表现为:

           1. 内存和IO设备在不在同一地址空间(0 - 4G)

           2. 访问内存和IO设备的方法一样(不同指令)


4)RISC & CISC


RISC (精简指令集): 可以不用硬件实现的功能,就用软件实现。


CISC(复杂指令集):硬件可以实现的功能,都由硬件实现。


5)ARM处理器八种工作模式


(1).正常运行


user                       运行应用程序


system                   运行内核中的进程上下文


SVC  运行操作系统的管理代码


(2)中断运行


IRQ(中断请求)  运行普通的设备中断


FIQ(快速中断请求)用于快速或安全设备的中断


(3)异常处理


Abort   读取指令或数据储存失败时,运行处理程序的模式


Undefined  Instruction      解析指令时,发现指令非法,运行处理程序的模式


(4)Monitor


Coetex-A  安全模式


6)权限


user非特权模式


其它 特权模式


7)寄存器


概念:  软硬件接口,也是存储单元。CPU内核寄存器,也是存储单元,CPU利用寄存器的名字中的编号来访问寄存器。


功能:    R0——R15通用寄存器


R0——R7  非备份寄存器


R8——R14  备份寄存器


R13  (SP) 栈指针寄存器


R14(LR)    保存返回地址寄存器


R15(PC)  Program  Count  (正在读取的指令的地址)


CPSR  状态寄存器


SPSR   备份状态寄存器


8)    CPSR        


状态标识位(ALU运算时产生)

            (1)N  


计算的结果是否为负数(保存下来的结果的最高位)

                  1               负数

                  0               正数

                  

                  例: 2 - 3 = -1         N = 1

                      0000 0000 0000 0000 0000 0000 0000 0010

                     +1111 1111 1111 1111 1111 1111 1111 1101

                     -----------------------------------------

                      1

                      

                      2 - 1 = 1          N = 0

                      0000 0000 0000 0000 0000 0000 0000 0010

                     +1111 1111 1111 1111 1111 1111 1111 1111

                     -----------------------------------------

                     10

                  

                  int x, y

                  ....

                  if (x > y)

                     

             (2) Z  


计算的结果是否为0(保存下来的结果)

                  1                为0

                  0                为非0

                  例: 2 - 2 = 0          Z = 1

                      0000 0000 0000 0000 0000 0000 0000 0010

                     +1111 1111 1111 1111 1111 1111 1111 1110

                     -----------------------------------------

                     10

                  

                  int x, y

                  ...

                  if (x == y)

                  

             (3) C  


加法运算中,是否有进位


                  1           进位

                  0           不进位

                  

                  减法运算中,是否有借位

                  1           没有借位

                  0           有借位

                  

                  例: 2 - 3 = -1         C = 0

                  

                      0000 0000 0000 0000 0000 0000 0000 0010

                     +1111 1111 1111 1111 1111 1111 1111 1101

                     -----------------------------------------

                      1

                      

                      2 - 3 = -1         C = 0

                      0000 0000 0000 0000 0000 0000 0000 0010

                     -0000 0000 0000 0000 0000 0000 0000 0011

                     -----------------------------------------

                     

                 unsigned int x, y;

                 ...

                 if (x > y)       

                      

              (4)V  


计算的结果是否超出补码的范围()

                 1           超出补码的范围

                 0           没有超出补码的范围

                 例: 0x7fffffff - (-1) = -2^31   V = 1

                     0 0111 1111 1111 1111 1111 1111 1111 1111

                    +0 0000 0000 0000 0000 0000 0000 0000 0001

                    ------------------------------------------

                     0 1                                     0

                 

-2^31 - 1 V = 1


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
51单片机中断源的扩展方法