计算机组成原理第十五次笔记(异常和中断机制的概念、流水线)

1.异常:CPU内部发生的意外事件称为异常。
中断:CPU外部发送的中断请求称为中断。通常用于数据的输入和输出。只会在指令执行结束后才会中断。
2.异常的分类:
故障:在引起故障的指令启动后、执行结束前被检测到的异常事件例如:除0、缺页。对于缺页应在处理结束后再执行该指令,而除0这一类指令应直接终止进程的执行。
自陷:自己事先写好的一个trap指令,在接收到trap指令后根据不同的trap指令执行不同的操作,结束后跳到下一条指令执行。
故障和自陷属于程序性异常。
终止:指令执行时发生了计算机硬件异常使指令无法继续进行则终止进程。
终止异常和外中断属于硬件中断。
3.中断的分类
可屏蔽中断:关中断后可以屏蔽掉的中断信号,例如输入输出信号。
不可屏蔽中断:关中断也不能屏蔽掉的中断信号,例如电源掉电。。
4.中断和异常的区别
异常时指令在执行过程中发生的,而中断不和任何指令有关系,也不阻止任何指令的完成。
异常的检测由自身CPU完成,对于中断,CPU必须和外界联系才知道哪个设备发生了中断。
5.指令流水线:同一时间可以处理多条指令。
时间上的并行技术:将一个任务分为多个子阶段,每个阶段在不同的功能部件上执行,这种被称为流水线技术。
空间上的并行技术:设计多台执行相同功能的部件,同时执行多条指令,这种被称为超标量流水线。
6.将指令分为五个阶段:取指、译码、执行、访存、写回。在第一条指令取值结束后进入译码阶段,第二条指令即可进入取指阶段,这样就不会造成部件空闲,提高指令执行速率。理想情况下一条指令的CPI为1.
7.流水线执行时必须在每一步后设置一个寄存器,当寄存器确保有数据时才能确保上一层空闲,下一条指令可以进入下一阶段。
8.流水线的冒险
结构冒险:有些部件在不同阶段都要用到,比如取指要用到主存,而存入也需要主存。解决方式:指令Cache和数据Cache分离。
数据冒险:有些指令所使用的数据如果使用流水线的话可能会导致上一条指令造成的数据更改而下一条指令因为取值取早了导致数据错误。解决的方法是将可能发生数据冒险的指令前加暂停符号NOP或设置专门的通路使数据计算后不许存入主存就直接送入下一条指令。
控制冒险:当跳转指令有效时下一条应该执行的指令应该在跳转的位置而可能不是地址上挨着的下一条指令,流水线事先已经执行了,就会造成控制冒险。
9.流水线的性能指标
流水线吞吐率:单位时间流水线完成的任务数量。
TP=n/Tk.(总完成的任务数/总时间)=1/CPI
假设流水线分为k段,则第k-1时开始每一时就会完成一个任务,若单位时间为t则总时间可表示为(n+k-1)*t.
流水线吞吐率TP=n/(n+k-1)*t.
当t趋向于无穷时,TP=1/t
流水线的加速比:完成同一项任务不用流水线和用流水线的时间比。
S=T0/TK。
其中不用流水线所用时间为nkt,使用的时间为(n+k-1)*t.
S=kn/n+k-1
当n趋向于无穷时,S=k
所以流水线分的越细加速效果越好。
10.高级流水线技术
超标量技术(高速多开几条道):多加功能部件,多条指令同时运行。
超长指令字结构:寻找各个指令中使用不同部件的指令合成一个指令,在执行时各个指令互不干涉。
超流水线技术:提高流水线的段数,在原有的段数基础上再多分段进一步提高部件的利用率。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值