嵌入式第二次作业--流水线影响因素和ARM工作模式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式第二次作业--流水线影响因素和ARM工作模式
1、影响流水线处理器性能发挥的主要因素有哪些?
答:流水过程由多个相互联系的子过程组成,每个子过程称为流水线的“级”或“段”。
主要因素有:
1)流水线的级数:流水线处理器的性能的提高与流水线的深度,
即流水线的级数成比例;
2)硬件成本:流水段之间增加了缓存导致成本上升,但是超过一
个特定点之后,流水线成本的增加会导致其性能的下降;
3)程序依赖和流水危险:如
a) 结构相关:典型的结构相关由访存造成。
b) 数据相关(资源相关):由于使用流水线,因此当相邻的
两条指令对同一个资源进行操作时,或者前一条指令的输
出是后一条指令的输入时,在没有流水线的情况下是正常
的,在有流水线时就可能出现主要错误。
c) 分支相关:在存在转移指令的情况下,下一条需要执行的
指令未必是程序计数器所指定的指令。
只有在这条转移指
令执行完成之后,才能判断下一条指令是什么。
2、分析ARM处理器不同工作模式的作用,举例说明切换过程。
答:
在软件控制下可以改变模式,外部中断或异常处理也可以引起模式发生改变。
大多数应用程序在用户模式下执行。
当处理器工作在用户模式时,正在执行的程序不能访问某些被保护的系统资源,也不能
改变模式,除非异常发生。
这允许适当编写操作系统来控制系统资源的使用。
除用户模式外的其他模式称为“特权模式”,它们可以自由地访问系统资源和改变模式。
比如当发生外部中断时,需要进行异常处理。
当应用程序发生异常时,进入相应的异常模式,每一种异常模式下都有一组寄存器,可以保证在进入异常模式时,用户模式下的寄存器不被破坏。
3、分析ARM处理器的中断响应时间。
答:中断响应时间定义为从中断触发到中断服务程序入口点所经历的时间,以FIQ中断为例,最坏情况下的中断响应时间(即最长响应时间)由下列时间段组成:
1)中断请求信号通过同步器的时间T syncmax
2)完成当前正在处理的指令的时间T ldm
3)取数异常的处理时间T exc
4)FIQ中断服务程序入口时间Tfiq
IRQ的最长响应时间计算与此类似
4、FIQ为何快?
答: FIQ模式是特权模式中的一种,同时也属于异常模式一
类。
用于高速数据传输或通道处理,在触发快速中断请求(FIQ)时
进入。
ARM 处理器有 FIQ 和 IRQ 两级外部中断,它们都是由对电
平敏感的低电平(LOW) 信号激活进入处理器的。
为了产生中断,CPSR 中的相应禁用位必须清零。
FIQ比IRQ快是因为:
1)FIQ的优先级比IRQ高:当发生多个中断时,首先处理FIQ,
处理 FIQ 会导致禁用 IRQ 和后续 FIQ,在 FIQ 处理程序启
用之前,不会处理 IRQ 和后续 FIQ。
2)FIQ模式下,比IRQ模式多了几个独立的寄存器:ARM在编译
的时候,如果FIQ中断处理程序足够用这几个独立的寄存器来
运作,它就不会进行通用寄存器的压栈,这样节省了一些时间。
3)FIQ 向量是向量表的最后一个入口,因此FIQ 处理程序可直
接放在该向量位置并从该地址顺序执行这避免了跳转以及相关的延迟,并意味着如果系统有高速缓存,则向量表和 FIQ 处理程序可能都锁定在高速缓存中的一个块内。