




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
姚英彪杭州电子科技大学嵌入式CPU硬件结构CPU性能公式Tcpu=N*CPI*CCTN,指令条数,由指令集决定CPI,平均每条指令时钟周期数,由指令集和处理器硬件结构共同决定CCT,处理器时钟周期,频率的倒数,主要由硬件结构决定单处理器性能提升技术降低CPI和CCT经典的RISC5级流水结构有关流水线性能的若干问题流水线并不能减少(而且一般是增加)单条指令的执行时间,但却能提高吞吐率。增加流水线的深度(段数)可以提高流水线的性能。流水线的深度受限于流水线的延迟和流水线的额外开销。流水线的额外开销包括:流水寄存器的延迟(建立时间和传输延迟)时钟扭曲当时钟周期小到与额外开销相同时,流水已没有意义。因为这时在每一个时钟周期中已没有时间来做有用的工作。有关流水线性能的若干问题需用高速的锁存器来作为流水寄存器。相关问题
如果流水线中的指令相互独立,则可以充分发挥流水线的性能。但在实际中,指令间可能会是相互依赖,这会降低流水线的性能。流水线中的相关是指相邻或相近的两条指令因存在某种关联,后一条指令不能在原指定的时钟周期开始执行。相关的种类◆结构相关
当硬件资源满足不了同时重叠执行的指令的要求,而发生资源冲突时,就发生了结构相关。◆数据相关
当一条指令需要用到前面某条指令的结果,从而不能重叠执行时,就发生了数据相关。◆控制相关
当流水线遇到分支指令和其他能够改变PC值的指令时,就会发生控制相关。结构相关的解决思路所有功能单元完全流水化如将乘法器/除法器流水设置足够的硬件资源,硬件代价很大。如采用哈佛结构有些设计方案允许有结构相关降低成本减少部件的延迟数据相关解决思路当指令在流水线中重叠执行时,流水线有可能改变指令读/写操作数的顺序,使之不同于它们在非流水实现时的顺序,这将导致数据相关。利用定向技术减少数据相关引起的暂停定向技术的主要思路:在发生上述数据相关时,如果能够将计算结果从其产生的地方直接送到需要它的地方,就可以避免暂停。当定向硬件检测到前面某条指令的结果寄存器就是当前指令的源寄存器时,控制逻辑会将前面那条指令的结果直接从其产生的地方定向到当前指令所需的位置。控制相关解决思路“冻结”或“排空”流水线
在流水线中停住或删除分支后的指令,直到知道转移目标地址。优点:简单。预测
预测分支指令是否跳转及跳转目标。预测正确,处理器正常执行;预测错误,恢复流水线。延迟分支
(delayedbranch)把分支开销为n的分支指令看成是延迟长度为n的分支指令,其后紧跟有n个延迟槽。流水线遇到分支指令时,按正常方式处理,顺带执行延迟槽中的指令,从而减少分支开销。n个延迟槽指令必须执行ARM9功能图ARM流水线体系结构:冯诺依曼结构单一存储、统一编址、分时复用体系结构:哈佛结构分开存储、独立编址、两倍带宽、执行效率更高总线总线是在模块与模块之间或者设备与设备之间传送信息的一组公用信号线,是系统在主控器(模块或设备)的控制下,将发送器(模块或设备)发出的信息准确地传送给某个接收器(模块或设备)的信号通路。总线的特点在于其公用性,即它同时挂接多个模块或设备。20总线按其信号线性质不同一般可分为:读写控制线数据传输握手线总线仲裁线中断控制线DMA控制线控制总线CB:地址总线AB:数据总线DB:总线分组分类用于把数据送入或送出MPU,为双向总线。用于指定数据送往或来自何处,为MPU发出的单向总线。总线模块连接在总线上的模块(设备)有三种:
总线主模块:工作于主控方式,可以控制和管理总线。总线从模块:工作于受控方式,只能在主模块控制下工作。主从模块:有时工作于主控方式,有时工作于受控方式。总线操作及控制
一个总线操作周期一般要分成4个阶段:总线请求和仲裁阶段寻址阶段传数阶段结束阶段需要使用总线的主模块提出请求,由总线使用的仲裁机构确定把下一个传输周期的总线使用权分配给哪一个请求源。
取得使用权的主模块通过总线发出本次要访问的从模块的存储器地址或I/O端口地址及有关命令,让参与本次传输的从模块开始启动。总线操作及控制
一个总线操作周期一般要分成4个阶段:总线请求和仲裁阶段寻址阶段传数阶段结束阶段主模块和从模块进行数据交换。在主模块发出的控制信号作用下,数据由源模块发出,经数据总线传送到目的模块
主从模块的有关信息均从系统总线上撤除,让出总线,以便其他模块能继续使用。总线操作及控制总线请求与仲裁寻址传数结束(撤出总线)总线操作四阶段总线握手总线仲裁25
总线仲裁又叫总线判决,其目的就是合理地控制和管理系统中需要占用总线的请求源,在多个源同时提出总线请求时,以一定的优先算法仲裁哪个应获得对总线的占用权。如果没有总线仲裁,很容易产生总线冲突。
总线冲突是指在总线上同时有两个或两个以上的模块要传送相互矛盾的信息时引起的冲突,冲突的表现形式后果因驱动总线的逻辑器件类型而异。
因此总线仲裁就是要确保任何时刻总线上最多只有一个模块发送信息,而决不出现多个主控器同时占用总线的现象。总线仲裁26总线握手
总线握手主要解决主模块取得总线占用权后,如何在主模块和从模块之间实现可靠的寻址和数据传输的问题。常见的总线握手方法:1.同步总线2.异步总线3.半同步总线总线性能指标总线的主要性能指标有:
总线带宽总线位宽总线工作频率
总线带宽指的是单位时间内总线上可传送的数据量,又称总线最大传输率。
总线位宽指的是总线上能同时传送的数据位数。
总线工作频率指的是用于控制总线操作周期的时钟信号频率,所以也叫总线时钟频率。
三者关系:总线带宽=总线位宽×总线工作频率总线标准所谓总线标准是指国际工业界正式公布或推荐的连接各个模块的总线规范,是把各种不同的模块或设备组成计算机系统或计算机应用系统时必须遵循的连接规范。无论哪种总线标准,尽管在设计细节和适应范围上有很多不同,各有特点,但从总体原则上看,每种总线设计所要解决的问题是大体相同的,其总线规范(Specification)一般都应包括如下几部分:机械结构规范、功能规范、电气规范AMBA总线AMBA(AdvancedMicrocontrollerBusArchitecture)是ARM公司研发的一种总线规范。包括AHB(AdvancedHigh-performanceBus):用于高性能系统模块的连接,支持突发模式数据传输和事务分割;可以有效地连接处理器、片上和片外存储器,支持流水线操作。APB(AdvancedPeripheralBus):用于较低性能外设的简单连接,一般是接在AHB系统总线上的第二级总线。AMBA总线测试接口ARMCPUSDRAMControlSRAMLCDControl桥并行接口串行接口TimerUART基于AMBA总线的典型系统AHB系统总线APB外部总线编程模型大小端格式大端的数据存放格式小端的数据存放格式低地址高地址地址A地址A+1地址A+2地址A+3worda=0xf6
73
4b
cdf6734bcd低地址高地址地址A地址A+1地址A+2地址A+3f6734bcdARM微处理器工作模式User模式程序不能访问有些受保护的资源只能通过异常的形式来改变CPU的当前运行模式特权模式可以存取系统中的任何资源System模式与User模式的运行环境一样但是它可以不受任何限制的访问任何资源该模式主要用于运行系统中的一些特权任务FIQ模式IRQ模式Supervisor模式Abort模式Undefined模式异常模式:主要是在外部中断或者程序执行非法操作时会触发ARM微处理器:寄存器ARM处理器有37个寄存器
31个通用寄存器:程序计数器、堆栈及其他通用寄存器
6个状态寄存器这些寄存器不能同时看到不同的处理器状态和工作模式确定哪些寄存器是对编程者是可见的ARM微处理器:ARMState寄存器ARM微处理器:ThumbState寄存器ARM微处理器:通用寄存器通用寄存器是R0-R15的寄存器,分为三类
没有对应影子寄存器的寄存器R0-R7
有对应影子寄存器的寄存器R8-R14
程序计数器R15(或者PC)
影子寄存器是指该寄存器在不同的模式下对应的物理寄存器ARM微处理器:通用寄存器R0-R7所有模式下,R0-R7所对应的物理寄存器都是相同的这八个寄存器是真正意义上的通用寄存器,ARM体系结构中对它们没有作任何特殊的假设,它们的功能都是等同的。在中断或者异常处理程序中一般都需要对这几个寄存器进行保存。ARM微处理器:通用寄存器R8-R14访问的物理寄存器取决于当前的处理器模式,若要访问特定的物理寄存器而不依赖当前的处理器模式,则要使用规定的名字。R8-R12各有两组物理寄存器:一组为FIQ模式,另一组是除FIQ以外的其他模式。R13-R14各有6个分组的物理寄存器,一个用于用户模式和系统模式,其他5个分别用于5种异常模式。R13(也被称为SP指针)被用作栈指针,通常在系统初始化时需要对所有模式下的SP指针赋值,当CPU在不同的模式时栈指针会被自动切换成相应模式下的值。R14有两个用途,一是在调用子程序时用于保存调用返回地址,二是在发生异常时用于保存异常返回地址。ARM微处理器:程序状态寄存器CPSR(当前程序状态寄存器)在所有的模式下都是可以读写的,它主要包含:条件标志中断使能标志当前处理器的模式其它的一些状态和控制标志ARM微处理器:程序状态寄存器置0表示执行32bit的ARM指令置1表示执行16bit的Thumb指令NegativeZeroCarryOverflowIRQ中断的响应:置1:禁止响应置0:允许响应FIQ中断的响应:置1:禁止响应置0:允许响应条件标志模式控制位ARM/Thumb控制标志中断标志ARM微处理器:程序状态寄存器模式控制位M0-M4ARM微处理器:异常异常是由内部或者外部原因引起的,当异常发生时CPU将暂停执行当前指令自动到指定的向量地址读取指令并且执行。ARM到向量地址的地方读取指令,也就是ARM的向量地址处存放的是一条指令(一般是一条跳转指令)7种异常ARM微处理器:异常Reset:CPU被复位后,进入SupervisorMode并且禁止FIQ和IRQ。UndefinedInstructions:CPU执行一条未被定义的指令时就会触发该异常。这种机制可以用于通过软件仿真的方式扩展THUMBorARM指令集。SWI:软中断(SWI)是执行SWI指令时触发的,该异常主要用于OS的系统调用。IRQ:当外部IRQ输入请求发生时(IRQ中断已经被使能),触发该异常。ARM微处理器:异常FIQ:FIQ通常被用于快速传输数据。当外部FIQ输入请求发生时(FIQ中断已经被使能),触发该异常。PrefetchAbort:CPU在读取指令时发生读内存错误并且该指令又要被执行则触发该异常;如果只是在读取指令时发生了内存错误而该指令又未被执行则不会触发该异常。DataAbort:当CPU在读写数据时,如果发生错误则触发该异常。ARM微处理器:异常异常的优先级ARM异常相量表ARM微处理器的异常处理当异常出现时,异常模式分组的R14和SPSR用于保存状态,即:
R14_<exception_mode>=returnlinkS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 面向对外汉语教学的框式结构“不A不B”研究
- 易筋经对脑卒中恢复期患者下肢运动功能的影响
- 2025至2030年中国不锈钢连接管数据监测研究报告
- 农村房屋拆迁合同范例
- 区块链项目资金申请报告(参考范文)
- 保洁股东合同范例
- 烧结锻造Al2O3-Ti(C,N)复相陶瓷微观组织和力学性能的研究
- 世纪佳缘 合同范例
- 2025年中国透明茶色市场调查研究报告
- 体操排练合同范例
- 中建二测考试题库及答案
- 2023年软件评测师《基础知识》考试题库(浓缩500题)
- 中建预制构件吊装安全专项施工方案
- 华东师范大学《外国人文经典(下)》2021-2022学年第一学期期末试卷
- 基础护理及病房管理
- 办理拆迁事项委托书
- 2023年湖北省生态环保有限公司招聘笔试真题
- 2023年新疆事业单位开展招聘考试真题
- 学校班主任谈心制度实施方案
- 2024年《工会法》知识竞赛题库及答案
- 煤矿事故现场处置管理制度
评论
0/150
提交评论