指令系统:
指令的组成:一条指令由操作码
和操作数(操作数地址叫做地址码
)两部分组成,操作码决定要完成的操作,操作数指参加运算的数据及其所在的单元地址。
计算机指令执行过程:3个步骤,取指令——分析指令——执行指令;首先将程序计数器PC
中的指令地址取出,送入地址总线
,CPU根据指令地址去内存中取出指令内容存入指令寄存器IR
;而后由指令译码器
进行分析,分析指令操作码;最后执行指令,取出指令执行所需的源操作数。
指令寻址方式(怎么找到下一条指令?)
- 顺序寻址方式:根据PC中的指令,一条指令接着一条指令地顺序执行。
- 跳跃寻址方式:下一条指令不是由程序计数器给出,而是由本条指令直接给出,程序计数器的内容也会相应地发生变化(堆栈的应用)。
指令操作数的寻址方式(怎么找到操作数?)
- 立即寻址方式:指令的地址码字段指出的不是地址,而是操作数本身。
- 直接寻址方式:指令的地址码字段指出操作数在主存(内存)中的地址,但由于指令位数有限,能访问的存储空间是有限的,这是它相对于间接寻址方式的局限性。
- 间接寻址方式:(操作数地址的地址)指令的地址码字段指出的是[存储单元中存储的操作数的地址]
- 寄存器寻址方式:指令中的地址码是寄存器的编号。
- 基址寻址方式:将基址寄存器的内容加上指令中的形式地址(偏移量)而形成操作数的有效地址,其优点是可以扩大寻址能力。
- 变址寻址方式:将变址寄存器的内容加上指令中的形式地址而形成操作数的有效地址。基址寄存器用于存储起始地址,而变址寄存器用于存储偏移量或变址量,用于动态计算地址。
指令系统可以分为:CISC
(Complex Instruction Set Computing)和RISC
(Reduced Instruction Set Computing)。
- CISC:复杂指令集架构,兼容性强,指令繁多,长度可变,由微程序实现;
- RISC:指令少,使用频率接近,主要依靠硬件实现(通用寄存器、硬布线逻辑控制);
指令流水线原理:将指令分成不同段,每段由不同的部分去处理,因此可以叠加的效果,所有的部件去处理指令的不同段。
CISC由于指令功能复杂,规整性不好,不利于采用流水线技术来提升性能。RISC指令集,指令相对规整,功能简单,适合采用流水线技术来提高性能。
RISC架构的流水线通常包括指令提取、指令解码、执行、访存和写回等阶段。
RISC中的流水线技术:
- 超流水线(Super Pipe Line)
- 超标量(Super Scalar)
- 超长指令字(Very Long Instruction Word, VLIM)
流水线时间计算:
流水线周期
:指令分成不同执行段,其中执行时间最长的段为流水线周期。流水线执行时间
:1条指令总执行时间+(总指令条数-1)*流水线周期。- 流水线
吞吐率
计算:吞吐率即单位时间内执行的指令条数。公式:指令条数/流水线执行时间。 - 流水线的
加速比
计算:加速比是指使用流水线后的效率提升度,即比不使用流水线快了多少倍,越高表明流水线效率越高,公式:不使用流水线执行时间/使用流水线执行时间。
存储系统和缓存
计算机采用分级存储体系的目的是为了解决存储容量、成本和速度之间的矛盾问题。
高速缓存Cache用来存储当前最活跃的程序和数据,直接与CPU交互,位于CPU和主存之间,速度为内存的5~10倍,由半导体材料构成,其内容是主存的副本拷贝,对于程序员来说是透明的(程序员不用在意Cache)。
Cache由控制部分和存储器组成,存储器存储数据,控制部分判断CPU要访问的数据是否在Cache中,在则命中,不在则依据一定的算法从主存中替换。
地址映射
:在CPU工作时,送出的是主存单元的地址,而从Cache存储器中读取或写入信息时,需要处理的是Cache中的地址,因此需要将主存地址转换为Cache存储器的地址,这种地址的转换成为地址映射,由硬件自动完成映射,主要分为下列三种方法:
- 直接映射:地址变换简单但不灵活,容易造成资源浪费。
- 全相联映射:主存中任意一块都与Cache中的任意一块对应,因为可以随意调入Cache任意位置,但地址变换复杂,速度相对较慢,优点是最不容易发生块冲突的映像方式。
- 组组相连映射:前面两种方式的结合。速度和冲突概率居于二者之间。
缓存命中率:设命中率为x,从Cache中读取数据的时间为t1,从主存中读取数据的时间为t2,则CPU读取一次的平均时间为x*t1+(1-x)*t2
磁盘结构:
磁盘调度算法:
- 先来先服务FCFS:根据进程请求访问磁盘的先后顺序进行调度。
- 最短寻道时间优先SSTF:请求访问的磁道与当前磁道最近的进程优先调度,使得每次的寻道时间最短。会产生“饥饿”现象,即远处进程可能永远无法访问。
- 扫描算法SCAN:又称“电梯算法”,磁头在磁盘上双向移动,会选择离磁头当前所在磁道最近的请求访问的磁道,并且与磁头移动方向一致,磁头永远都是从里向外或者从外向里一直移动完才掉头,与电梯类似。
- 单向扫描调度算法CSCAN:与SCAN不同的是,其只做单向移动,即只能从里向外或者从外向里。
在同一个磁道内,扇区内数据的读取顺序通常是按照扇区号的顺序进行的。
标签:寻址,指令系统,Cache,存储系统,cache,操作数,地址,指令,流水线 From: https://www.cnblogs.com/freecheng/p/17963837