ARM学习笔记1

1、ARM7TDMI体系结构详解 各个后缀字母的含义

T:高密度16位Thumb指令集扩展

D:支持片上调试

M:64位乘法指令

I:Embedded ICE硬件仿真功能模块

冯·诺依曼(Von Neumann)结构,指令和数据共用一条32位总线。ARM7TDMI为V4版本,直接支持的数据类型字节(8位),半字(16位),字(32位)。(V4版本之后都支持这三种形式。)所有数据操作都以字为单位。装载和保存指令可以对字节、半字和字进行操作。ARM7TDMI处理器内核使用V4T版本的ARM结构,该结构包含32位ARM指令集和16位Thumb指令集。ARM指令的长度刚好是1个字(分配为占用4个字节),Thumb指令的长度刚好是半字(占用2个字节)。两个状态之间的切换并不影响处理器模式或寄存器内容。

ARM体系结构支持7种处理器模式,分别为:用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式和系统模式。除用户模式外,其它模式均为特权模式。ARM内部寄存器和一些片内外设在硬件设计上只允许(或者可选为只允许)特权模式下访问。此外,特权模式可以自由的切换处理器模式,而用户模式不能直接切换到别的模式。快中断模式、中断模式、管理模式、中止模式、未定义模式这五种模式称为异常模式。它们除了可以通过程序切换进入外,也可以由特定的异常进入。当特定的异常出现时,处理器进入相应的模式。每种异常模式都有一些独立的寄存器,以避免异常退出时用户模式的状态不可靠。

ARM7TDMI处理器内部有37个用户可见的寄存器,分成两大类:31个通用32位寄存器和6个状态寄存器。在汇编语言中寄存器R0~R7为保存数据或地址值的通用寄存器。对于任何处理器模式,它们中的每一个都对应于相同的32位物理寄存器。它们是完全通用的寄存器,不会被体系结构作为特殊的用途,并且可用于任何使用通用寄存器的指令。堆栈指针SP对应ARM状态的寄存器R13。每个异常模式都有其自身的SP分组版本,SP通常指向各异常模式所专用的堆栈。(注意:在发生异常时,处理器自动进入ARM状态。)

ARM7TDMI内核包含1个CPSR和5个供异常处理程序使用的SPSR。CPSR反映了当前处理器的状态,其包含:

4个条件代码标志(负(N)、零(Z)、进位(C)和溢出(V) );

2个中断禁止位,分别控制一种类型的中断;

5个对当前处理器模式进行编码的位;

1个用于指示当前执行指令(ARM还是Thumb)的位。

每个异常模式还带有一个程序状态保存寄存器(SPSR),它用于保存在异常事件发生之前的CPSR。CPSR和SPSR通过特殊指令进行访问。

异常模式:只要正常的程序流被暂时中止,处理器就进入异常模式。例如响应一个来自外设的中断。异常总是在ARM状态中进行处理。当处理器处于Thumb状态时发生了异常,在异常向量地址装入PC时,会自动切换到ARM状态。中止发生在对存储器的访问不能完成时,中止包含两种类型:预取中止 发生在指令预取过程中数据中止 发生在对数据访问时。使用软件中断(SWI)指令可以进入管理模式,通常用于请求一个特定的管理函数。当ARM7TDMI处理器遇到一条自己和系统内任何协处理器都无法处理的指令时,ARM7TDMI内核执行未定义指令陷阱。

在复位后,除PC和CPSR之外的所有寄存器的值都不确定。

当nRESET信号再次变为高电平时,ARM处理器执行下列操作:

1.强制M[4:0]变为b10011(管理模式);

2.置位CPSR中的I和F位;

3.清零CPSR中的T位;

4.强制PC从地址0x00开始对下一条指令进行取指;

5.返回到ARM状态并恢复执行 。

基于ARM内核的芯片具有许多的外设,这些外设访问的标准方法是使用存储器映射的I/O,为外设的每个寄存器都分配一个地址。通常,从这些地址装载数据用于读入,向这些地址保存数据用于输出。有些地址的装载和保存用于外设的控制功能,而不是输入或输出功能。存储器映射的I/O位置的操作不同于正常的存储器位置的操作。通常,存储器映射的I/O位置没有高速缓存和无缓冲区

2、MCU和MPU介绍和区别
MCU(Microcontroller Unit,微控制器单元)和MPU(Microprocessor Unit,微处理器单元)是嵌入式系统中常见的两种处理器类型,它们有一些相似之处,但也存在一些区别。
MCU(Microcontroller Unit):
MCU是一种完整的计算机系统集成在一颗芯片上,包括处理器核心(通常是微处理器)、存储器(如闪存和RAM)、输入/输出接口(如GPIO、UART、SPI等)、定时器、模拟电路(如ADC、DAC等)和其他外设。它主要用于嵌入式系统,如家电、汽车电子、智能设备等,通常有较低的功耗和较小的体积。MCU往往具有较低的成本,可裸片运行,且通常能够自带固件(如引导加载程序)。
MPU(Microprocessor Unit):
MPU是计算机系统中的主处理器单元,通常是一颗独立的芯片,它执行所有计算、控制和处理任务。MPU通常配备与它一起工作的外部存储器(如RAM、ROM、闪存)和外部设备(如输入/输出接口、硬盘、网络接口等)。MPU的处理能力较强,适用于需要大量数据处理和高性能计算的应用,如个人电脑、服务器、嵌入式Linux系统等。
区别:

1.集成度和外设:MCU是在单个芯片上集成了处理器核心、存储器和外设,而MPU通常需要外部芯片来提供存储器和外设。MCU在集成度方面更高。

2.功耗和成本:由于MCU通常用于功耗敏感的嵌入式系统,它们通常具有较低的功耗,并且成本相对较低。MPU则更适用于需要高性能和较高功耗的应用。

3.处理能力:MPU拥有更强大的处理能力,适用于需要复杂计算和大量数据处理的任务。MCU的处理能力相对较弱,适用于较简单的嵌入式应用。

总的来说,MCU和MPU都是用于嵌入式系统的处理器,但其设计目标、特点和适用范围有所不同。在选择时,需要根据具体应用的需求,考虑功耗、成本、性能要求等因素来选择适合的处理器类型。

3.认识ARM
ARM含义?
        1. ARM代表一个公司

        2. ARM表示一种技术

        3. ARM可以表示一些处理器的统称

架构:
         m-v4,arm-v5,arm-v6,arm-v7(32Bits),arm-v8(64Bits)

        架构指支持的汇编指令集 架构不同指令集也不同

内核:
        cortex-a9,a53,a73,a77

        ARM公司授权芯片的公司,芯片产家在内核的基础上,增加了一些外设,发布一款芯片,这些芯片可以统称为SOC

SOC:
        System Of Chip:片上系统),S5P6818,骁龙855(高通),麒麟990(海思)
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值