CPU

CPU的功能:
取指令:控制器必须具有自动从储存器中取出指令的功能。控制器能自动造成指令的地址,并能发出取指令的命令,将对应地址的指令取到控制器中。第一条指令地址能够人为指定,也能够系统指定。

分析指令:1,分析要完成什么操做,2,操做数的有效地址

执行指令:根据要求完成操做控制信号序列。

除此以外,控制器还可以控制IO,总线管理,处理中断。

CPU的寄存器

1,用户可见寄存器
1)通用寄存器:可存放操做数,寻址方式所需的寄存器,存放有效地址的地址。
2)数据寄存器:存放操做数
3)地址寄存器:存放地址,也能够用于特殊寻址方式。
4)条件码寄存器:存放条件码,能够由CPU自动完成,也能够由程序员保存。

2,控制和状态寄存器
MAR:储存器地址寄存器,存放被访问的储存单元的地址
MDR:存储器数据寄存器,存放存入在储存器的数据或读出存储器中的数据。
PC:程序计数器,存放现行指令的地址。
IR:指令寄存器,存放当前欲执行的指令。

经过这四个寄存器,CPU和贮存交换信息。

控制单元和中断系统
现代计算机微操做命令序列的造成方法:1组合逻辑设计方法,硬连线逻辑2,微程序设计方法,为储存逻辑。

指令周期:CPU每取出执行一条指令所需的所有时间称为指令周期,也即CPU完成一条指令的时间。CPU按照取指-执行-再执行的顺序工做。每种指令的指令周期不一样。若是有间址寻址的指令,还须要有间址周期。这样间址寻址的指令周期包括,取指周期,间址周期,执行周期。因为CPU有时还须要进行处理中断,全部一个完整的周期应该包括,取值,间指,执行,中断。

指令周期的数据流

1,取值周期数据流

PC中存放现行指令的地址,该地址送到MAR并送至地址总线,而后由控制部件CU向储存器发读命令,使对应MAR所指单元的内容经数据总线送至MDR,再送至IR,而且CU控制PC内容+1,造成下一条指令。

2,间址周期的数据流

一旦取址周期结束,CU检查IR中的内容,肯定其是否有间址操做,若是须要间址,则MDR中指示形式地址的右N位将被送到MAR,又送地址总线,而后CU向储存器发送命令,获取有效地址并存至MDR。

3,执行周期的数据流
不一样指令的数据流不同。

4,中断周期的数据流
PC内容应该先保存起来,执行完中断进行返回。


 

由CU把用于保存程序断点的储存器特殊地址送往MAR,并送到地址总线上,由CU向储存器发送写命令,把PC内容送入MDR,最终使程序断点经数据总线存入储存器。CU还须要把中断服务程序的入口送至PC,为下一个指令周期的取值周期作好准备。

指令流水

指令流水不能加倍效率的缘由:
1,指令的执行时间通常大于取指时间,所以取指阶段可能要等待一段时间,也就是放在指令部件缓冲区的指令不能当即传给执行部件,缓冲区不能空出。
2,遇到条件指令时,下一条指令未知。等执行结束后才能得到条件,从而决定下条的地址。

一般采用猜想法:当条件转移指令从取指阶段进入执行阶段,指令部件仍按照顺序取下一条指令。若是不成立,转移没发生,没时间损失。若是成立,转移发生,丢弃掉所取的,从新取。

指令处理过程细分:
1,取指FI,从储存器取指令到指令部件缓冲区。
2,指令译码DI,肯定操做性质等。
3,计算机操做数地址CO
4,取操做数CO
5,执行指令EI
6,写操做数WO

对流水线工做的影响缘由

1,结构相关
不一样指令争用同一个功能部件产生资源冲突。

还有一种解决方法是设置两个独立的储存器存放操做数和指令。还能够采用指令预取技术,实现执行K,分析K+1。

2,数据相关
流水线中的各条指令因重叠操做,可能改变对操做数的读写访问顺序,从而致使数据相关冲突。

ADD R2+R3->R1
SUB R1-R5->R4

程序员

 

 


发生了先写后读
解决这个数据相关的方法能够采用后推法,即遇到数据相关时,就停顿后继指令的运行,直至前面指令的结果已经生成。
另外一种解决方法是采用定向技术。在产生的结果时,设置专用通路技术,将产生的结果直接送入所需它的SUB等指令,可使流水线不发生停顿。

数据相关分类:
写后读:在写入寄存器前就写入内容
读后写:在读前就写入
写后写:在写以前写

在按序流动的流水线中,只可能出现RAW。若是非按序流动能够发生,RAW,WAR,WAW。


控制相关
主要是由转移指令引发的。

并发



解决控制相关,采用尽早判别转移是否发生,尽早生成转移目标地址,预取转移成功,活不成功两个控制流方向上的目标指令。加快和提早造成条件码,提升转移方向的猜准率。

流水线性能

1,吞吐率
单位时间内流水线所完成的指令或结果数量。
最大吞吐率是流水线在连续流动达到稳定状态后所得的吞吐率。由于流水线开始时有一段创建时间,结束时有一段排空时间,实际吞吐率小于最大吞吐率。

每段时间为t,最大吞吐率为1/t

2,加速比
流水线的加速比是指M段流水线的速度与等功能的非流水线的速度之比。
Sp=m/(1+(m-1)/n)

Tip:非流水三角形和矩形的面积比

3,效率
流水线中各功能段的利用率。由于流水线有创建时间和排空时间,所以总有一段空闲时间。

TIP:矩形的占长方形的面积。


多发技术

超标量,超流水线,超长指令字


1,超标量,每一个时钟周期同时能够并发多条独立指令。
要实现,要求处理机配置多个功能部件和指令译码电路。以及多个寄存器端口和总线。存在数据相关不能进行指令并行。
2,超流水线,将一些流水寄存器插入流水线段中,比如将流水线段再分段。硬件不能调整指令的执行顺序。

3,超长指令字,和超标量同样,都是在多个部件中并行处理的体系。VLIW较超标量更高的并行处理能力,对优化编译器要求高,对Cache容量要求大。














性能

相关文章
相关标签/搜索