0202通用CortexM3处理器结构与工作原理

上传人:沈*** 文档编号:179983999 上传时间:2023-01-04 格式:PPT 页数:44 大小:1.97MB
收藏 版权申诉 举报 下载
0202通用CortexM3处理器结构与工作原理_第1页
第1页 / 共44页
0202通用CortexM3处理器结构与工作原理_第2页
第2页 / 共44页
0202通用CortexM3处理器结构与工作原理_第3页
第3页 / 共44页
资源描述:

《0202通用CortexM3处理器结构与工作原理》由会员分享,可在线阅读,更多相关《0202通用CortexM3处理器结构与工作原理(44页珍藏版)》请在装配图网上搜索。

1、课本第二章课本第二章 Cortex M3处理器结构图处理器结构图 CM3内核内核 嵌套向量中断控制器嵌套向量中断控制器(NVIC)总线矩阵总线矩阵 外部总线外部总线 调试接口调试接口 多级存储结构多级存储结构 寄存器寄存器 存储器映射存储器映射 存储器的组织存储器的组织 存储格式存储格式 异常与中断异常与中断 异常的处理方式异常的处理方式-中断中断 中断的概念中断的概念 嵌套向量中断控制器的主要性能嵌套向量中断控制器的主要性能 Cortex-M3 Cortex-M3处理器基本结构处理器基本结构 Cortex-M3中央内核基于哈佛架构,指令和数据各使用一条总线(图 2-1)。与Cortex-M3

2、不同,ARM7系列处理器使用冯诺依曼架构,指令和数据共用信号总线以及存储器。由于指令和数据可以从存储器中同时读取,所以Cortex-M3处理器对多个操作并行执行,加快了应用程序的执行速度。图图 2-1 Cortex-M32-1 Cortex-M3处理器架构处理器架构Cortex-M3 处理器o集成了内核和高级系统外设的分级处理器 oCortex-M3 内核n 哈佛体系结构n 拥有分支预测功能的三级流水线 n ThumbThumb-2-2 指令集指令集和传统的 ThumbThumb指令集指令集n 带有 硬件除法和 单信号周期乘法的ALUoCortex-M3 处理器n Cortex-M3 内核n

3、可配置的中断控制器 n 总线矩阵n 先进的调试组件 n 可选择的 MPU&ETM逻辑体系逻辑体系Cortex M3Cortex M3处理器结构框透视图处理器结构框透视图STM32F10 xSTM32F10 x系列微控制器系列微控制器 系统结构系统结构课本课本p27Cortex M3Cortex M3处理器结构框透视图处理器结构框透视图STM32F10 xSTM32F10 x系列微控制器系列微控制器 系统结构系统结构STM32F10 xSTM32F10 x系列微控制器系列微控制器 系统结构系统结构 CM3CM3内核内核程序执行三步曲程序执行三步曲:取指取指 译码译码 执行执行 嵌套向量中断控制器

4、(嵌套向量中断控制器(NVICNVIC)NVIC为低延迟实现异常处理提供了方便。主要有以下特征:可配置1240个外部中断。可配置优先级位数38位。支持电平和脉冲(边沿)中断。可以动态重新分配中断优先级。优先级分组。支持尾链(tail-chaining)中断。进入中断时,处理器状态自动保存,退出中断时状态自动恢复,无额外指令开销 总线矩阵总线矩阵 Cortex-M3处理器集成了一个AMBA AHB-Lite总线来连接系统外设,并降低系统集成的复杂性。总线矩阵支持不对齐的数据访问,使不同的数据类型可以在存储器中紧密衔接可显著降低SRAM的需求和系统成本。总线矩阵将处理器、调试接口连接到外部总线。总

5、线矩阵连接到以下外部总线:外部总线:ICode总线。这是一条32位的AHB-Lite总线,主要用于从指令空间中取指和取向量。DCode总线。这是一条32位的AHB-Lite总线,主要用于从指令空间的数据读写和调试访问。系统总线。这是一条32位的AHB-Lite总线,主要用于从系统空间中取指、取向量、读写数据和调试访问。PPB(私有外设总线)。这是一条32位的APB(v2.0)总线,主要用于从PPB空间读写数据和调试访问。私有外设总线有两条:AHB私有外设总线,只用于CM3内部的AHB外设,它们是:NVIC,FPB,DWT和ITM。APB私有外设总线,既用于CM3内部的APB设备,也用于外部设备

6、(“外部外部”是对内核而言是对内核而言)。CM3允许器件制造商再添加一些片上APB外设到APB私有总线上,它们通过APB接口来访问。调试接口调试接口 硬件调试解决方案,通过一个传统的JTAG口或一个适合小封装器件的2线串行调试口(SWD),可以获得很高的处理器系统可视度。对于系统跟踪,处理器在数据观察点基础上集成了一个可选的ETM(嵌入式跟踪宏单元),它可以被配置为特定的系统事件触发。为了简化这些系统事件的处理,一个串行观测器(Serial Wire Viewer,SWV)可以通过一个引脚输出标准的ASCII数据流。Flash修补技术,使器件和系统开发者在调试或运行过程中,可以修补从ROM到S

7、RAM或Flash的代码错误,可避免昂贵的重定制 上图向我们展示了设计的 RTL 层次。其中的两条外设总线:一条72MHZ,一条36MHZ 由于 ETMETM、TPIUTPIU、SW/JTAG-DP SW/JTAG-DP 和和 ROM ROM 表表4 4个组件是可选的个组件是可选的,或者它们的实现和使用具有灵活性,因此这 4 个组件位于Cortex-M3 处理器的外面。设计实现可能与图中显示的有所不同。可能的系统实现的选项见下面的 3 个部分:TPIU的实现选项:如果您的系统中有 ETM,则会含有 TPIU格式程序,否则就不包含该格式程序。一个多内核的实现可使用单个或多个 TPIU来跟踪。AR

8、M TPIU模块可以用兼容 TPIU的指定合作伙伴的 CoreSight 取代。在生产设备中,TPIU可以移除。注:如果将 TPIU移除,则 Cortex-M3 不具有跟踪功能。SW/JTAG-DP的实现选项:设计实现可以含有 SW-DP 或 JTAG-DP中的任一个或两者都有。ARM SW-DP 可以被兼容 SW-DP的指定合作伙伴的 CoreSight 取代。ARM JTAG-DP可以被兼容 JTAG-DP 的指定合作伙伴的 CoreSight 取代。SW-DP 或 JTAG-DP可以包含指定合作伙伴的测试接口。ROM 表 如果系统中添加了附加的调试元件,则 ROM 存储器表中的描述需进行

9、修改。按照与按照与CPUCPU的数据交换速度可分为的数据交换速度可分为 寄存器:寄存器:CPUCPU内部,暂存运行中的数据,内部,暂存运行中的数据,掉电丢失。掉电丢失。RAMRAM类存储设备。类存储设备。FlashFlash闪存:闪存:CPUCPU外部,保存程序和运行外部,保存程序和运行中的数据。中的数据。ROM+RAMROM+RAM类存储设备。类存储设备。SRAMSRAM:CPUCPU外部,暂存运行中的数据。外部,暂存运行中的数据。RAMRAM类存储设备。类存储设备。寄存器寄存器 Cortex-M3Cortex-M3寄存器:寄存器:1313个通用寄存器(个通用寄存器(R0-R12R0-R12

10、)分组的堆栈指针分组的堆栈指针SPSP 链接寄存器链接寄存器R14R14 程序计数器程序计数器R15R15 特殊用途程序状态寄存器特殊用途程序状态寄存器xPSRxPSR外部设备也有各自的寄存器外部设备也有各自的寄存器课本课本p33 1、通用寄存器 通用目的寄存器 R0-R12都是32位通用寄存器,用于数据操作。注意:绝大多数16位Thumb指令只能访问R0-R7,而32位Thumb-2指令可以访问所有寄存器。复位后的初始值是不可预料的 堆栈指针R13:Cortex-M3拥有两个堆栈指针,然而它们是banked,因此任一时刻只能使用其中的一个。主堆栈指针(MSP):复位后缺省使用的堆栈指针,用于

11、操作系统内核以及异常处理例程(包括中断服务例程)进程堆栈指针(PSP):由用户的应用程序代码使用。堆栈堆栈是一种存储器的使用模型。它由一块连续的是一种存储器的使用模型。它由一块连续的内存和一个栈顶指针组成,用于实现内存和一个栈顶指针组成,用于实现“后进先出后进先出”的缓冲区。的缓冲区。其最典型的应用,就是在数据处理前先保存寄存其最典型的应用,就是在数据处理前先保存寄存器的值,再在处理任务完成后从中恢复先前保护器的值,再在处理任务完成后从中恢复先前保护的这些值。的这些值。堆栈指针用于访问堆栈,并且堆栈指针用于访问堆栈,并且PUSHPUSH指令和指令和POPPOP指指令默认使用令默认使用SPSP。

12、在执行PUSH和POP操作时,通常被称为SP的地址寄存器,会由硬件自动调整它的值,以避免后续操作破坏先前的数据。连接寄存器R14:当呼叫一个子程序时,由R14存储返回地址 程序计数寄存器R15:指向当前的程序地址。如果修改它的值,就能改变程序的执行流 2、特殊功能寄存器 Cortex-M3还在内核水平上搭载了若干特殊功能寄存器,包括:程序状态字寄存器组(PSRs)中断屏蔽寄存器组(PRIMASK,FAULTMASK,BASEPRI)控制寄存器(CONTROL)存储器的地址存储器的地址映射映射(地址分配地址分配)Cortex-M3 处理器只有一个单一固定的存储器地址映射存储器地址映射。这一点极大

13、地方便了软件在各种CM3单片机间的移植。如各款CM3单片机的NVIC和MPU都在相同的位置布设寄存器,使得它们变得与具体器件无关。虽然CM3定出的条条框框是粗线条的,但它依然允许芯片制造商灵活细腻地分配存储器地址空间,以制造出各具特色的单片机产品。什么是地址:什么是地址:地址是给每一个存储单元(寄存器单元,Flash单元,SRAM单元,甚至外部设备的寄存器单元)分配的唯一的定位标志。(类似房间门牌号码或电话号码)1个存储单元一般是对应1个字节。也可能对应1个二进制位。什么是字:什么是字:字的宽度由字的宽度由CPUCPU的数据的数据(功能功能)总线宽度来决定。总线宽度来决定。STM32STM32

14、就表示它的字宽是就表示它的字宽是4 4个字节个字节3232位。位。CM3CM3的存储器组织的存储器组织课本课本p28-30 内部SRAM区的大小是512MB,用于让芯片制造商连接片上的SRAM,这个区通过系统总线来访问。在这个区的下部,有一个1MB的区间,被称为“位带区”。该位带区还有一个对应的32MB的“位带别名(alias)区”,容纳了8M个“位变量”(对比8051的只有128个位变量)。位带区对应的是最低的1MB地址范围,而位带别名区里面的每个字对应位带区的一个比特。位带操作只适用于数据访问,不适用于取指。通过位带的功能,可以把多个布尔型数据打包在单一的字中,却依然可以从位带别名区中,像

15、访问普通内存一样地使用它们。位带别名区中的访问操作是原子的,消灭了传统的“读改写”三步曲。位带操作的细节待会还要讲到。地址空间的另一个512MB范围由片上外设(的寄存器)使用。这个区中也有一条32MB的位带别名,以便于快捷地访问外设寄存器,用法与内部SRAM区中的位带相同。如可以方便地访问各种控制位和状态位。要注意的是,外设区内不允许执行指令。还有两个1GB的范围,分别用于连接外部RAM和外部设备,它们之中没有位带。两者的区别在于外部RAM区允许执行指令,而外部设备区则不允许。最后还剩下0.5GB的隐秘地带,CM3内核的闺房就在这里面,包括了系统级组件,内部私有外设总线,外部私有外设总线,以及

16、由提供者定义的系统外设。存储格式存储格式 Cortex-M3 处理器将存储器看作从 0开始向上编号的字节的线性集合。例如:字节 0-3 存放第一个被保存的字 字节 4-7 存放第二个被保存的字 Cortex-M3 处理器能够以小端格式小端格式或大端格式大端格式访问存储器中的数据字,而访问代码时始终使用小端格式。注意:小端格式是 ARM 处理器默认的存储器格式。在小端格式中,一个字中最低地址的字节为该字的最低有效字节,最高地址的字节为最高有效字节。存储器系统地址 0 的字节与数据线 7-0 相连。在大端格式中,一个字中最低地址的字节为该字的最高有效字节,而最高地址的字节为最低有效字节。存储器系统

17、地址 0的字节与数据线 31-24 相连。小端数据格式大端数据格式2.62.6异常异常 异常是指由于执行指令时的一个错误条件异常是指由于执行指令时的一个错误条件而产生的故障。而产生的故障。异常模型异常模型 Cortex-M3 Cortex-M3 处理器和嵌套向量中断控制器(处理器和嵌套向量中断控制器(NVICNVIC)对所)对所有异常按优先级进行排序并处理。所有异常都在处理模有异常按优先级进行排序并处理。所有异常都在处理模式中操作。式中操作。出现异常时,自动将处理器状态保存到堆栈中,并在中出现异常时,自动将处理器状态保存到堆栈中,并在中断服务程序(断服务程序(ISRISR)结束时自动从堆栈中恢

18、复。)结束时自动从堆栈中恢复。在状态保存的同时取出向量快速地进入在状态保存的同时取出向量快速地进入中断中断。处理器支持末尾连锁(处理器支持末尾连锁(tail-chainingtail-chaining)中断技术,它)中断技术,它能够在没有多余的状态保存和恢复指令的情况下执行背能够在没有多余的状态保存和恢复指令的情况下执行背对背中断(对背中断(back-to-back interruptback-to-back interrupt)。)。异常类型课本课本p170什么是什么是“中断中断”?中断服务程序中断服务程序中断请求中断请求中断服务程序中断服务程序外外设设CPU CPU执行程序时,由于发生了某

19、种随机的事件(外部或内部),引起CPU暂时中断正在运行的程序,转去执行一段特殊的服务程序(中断服务子程序或中断处理程序),以处理该事件,该事件处理完后又返回被中断的程序继续执行,这一过程称为中断。例如:吃饭时突然手机铃响中中断断示示意意图图中断响应中断响应(查向量表查向量表)中断请求中断请求中断返回中断返回通过中断向量表找到通过中断向量表找到中断服务程序所在存中断服务程序所在存储单元。储单元。嵌套向量中断控制器 NVIC 支持240 个优先级可动态配置的中断,每个中断的优先级有256 个选择。低延迟的中断处理可以通过紧耦合的NVIC 和处理器内核接口来实现,让新进的中断可以得到有效的处理。提供如下的功能:可嵌套中断支持 向量中断支持 动态优先级调整支持 中断延迟大大缩短 中断可屏蔽 作业1.根据根据Cortex M3结构图分析是如何实现逻辑结构图分析是如何实现逻辑体系中的五大功能和总线功能的体系中的五大功能和总线功能的?2.Cortex M3的地址空间是如何组织的?的地址空间是如何组织的?3.什么叫异常?什么叫异常?4.简述中断的处理过程?简述中断的处理过程?5.从下节课开始带从下节课开始带U盘,盘,COPY教学资源中的教学资源中的软件,练习安装。软件,练习安装。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!