早期的计算机采用的是串行处理,任一时刻只能进行一个操作,而并行处理能使得以上操作同时进行,主要有三种形式:时间并行,空间并行,时间并行+空间并行。
时间并行:指时间重叠,引入时间概念,让多个处理过程在时间上相互错开。
空间并行:指资源重复,引入空间概念,以“数量取胜”为原则来大幅度提高计算机的处理速度。
时间并行+空间并行:指时间重叠和资源重复的综合应用,即采用了时间并行性和空间并行性。
CPU按流水方式组织,通常由三大部分组成:指令部件,指令队列,执行部件。这三个部件可以组成一个三级流水线。
指令部件:本身构成一个流水线,即指令流水线。它是由取指令,指令译码,计算机操作数地址,取操作数等几个过程构成的
指令队列:是一个先进先出的寄存器栈,用于存放经过译码的指令和取来的操作数。
执行部件:可以具有多个算数逻辑运算部件。
执行段的速度匹配问题:通常采用并行的运算部件以及部件流水线的工作方式来解决。方法包括:
(1)将执行部件分为定点执行部件和浮点执行部件两个可并行执行的部分, 分别处理定点运算指令和浮点运算指令;
(2)在浮点执行部件中,又有浮点加法部件和浮点 乘/除部件,它们也可以同时执行不同的指令;
(3)浮点运算部件都以流水线方式工作。
CPU对于一条具体的指令执行过程:取指令->指令译码->取操作数->运算->写结果。
主频是由外频和倍频决定的,但流水线技术和主频是相互影响的,我们设计主频考虑满足执行指令和数据运算。
在理论上级数越多单位时间内,在线执行的指令就越多及CPU执行指令速度就越快,但是流水线越长,级数就越多,出错的概率就增大。流水线越长,级数越多,延迟次数增多,延迟时长就增加CPU完成单个指定时间就越来越长,影响CPU的实际工作效率。
在流水线当中出现错误,流水线停下来要先检查指令,让指令修正之后才能够进行工作,这样使得执行的效率下降。
表示流水CPU中一个指令周期的任务分解取指令,指令译码,执行运算,结果写回。
对于非流水计算机来说,上一条指令的四个子过程全部执行完毕后,才能开始下一条指令。
对于流水计算机来说,上一个指令与下一个指令的四个过程段中,时间上可以重叠执行.
超标量流水计算机,具有两条以上的指令流水线。
流水线中由三种相关冲突:资源相关,数据相关,控制相关。
资源相关:就是指多条指令进入流水线后,在同一个机器时钟周期内征用同一个功能部件所发生冲突。
数据相关:在一个程序当中,必须等一条指令完成以后才能执行后一条指令