流水线
1、流水线的特点
计算机的流水线把一个重复的过程分解为若干个子过程,每个子过程与其他的子过程并行执行,由于采用了流水线技术,只需要增加少量的硬件就可以吧计算的运行速度提高好几倍,因此,在计算机中普遍采用这个技术。
2、指令的分段
指令一般分为以下几个阶段:
1、取值:根据PC的内容访问主存,取出的指令放入IR(指令寄存器)中,
2、分析(译码):对指令操作码进行译码,按照给定的寻址方式和地址字段中的内容形成操作数的有效地址EA,并且从有效地址EA中取出操作数。
3、执行:根据操作码字段,完成指令规定的功能
4、写回:把运算结果写到通用寄存器或者主存中
3、影响流水线的因素
1、结构相关(资源冲突):
由于多条指令在同一时刻争夺相同的资源而形成的冲突称为结构相关,有以下两种解决方法:
1. 前一条指令访存时时候一个指令暂停一个时钟周期。
2. 单独设计数据存储器和指令存储器,使亮相不同的操作各自在不同的存储器中进行,这属于资源的重复配置。
2、数据相关(数据冲突):
数据相关是指在一个程序中,存在必须等待前一条指令执行完才能执行后一条指令的情况,此时这两条指令即为数据相关,当多条指令重叠处理时就会发生数据冲突,解决的方法有以下几种:
1. 把遇到的指令相关的指令及其后续指令都暂停一个至多个时钟周期,直到数据相关性冲突消