1、flynn分类
体系结构类型 | 结构 | 关键特性 | 代表 |
单指令流数据流SISD | 控制部分:1个 处理器:1个 主存模块:1个 | 单处理器系统 | |
单指令流多数据流SIMD | 控制部分:1个 处理器:多个 主存模块:多个 | 各处理器以异步的形式执行同一条指令 | 并行处理机 阵列处理机 超级向量处理机 |
多指令流单数据流MISD | 控制部分:多个 处理器:1个 主存模块:多个 | 被证明不可能,至少是不实际 | 目前没有文献称流水线计算机为此类 |
多指令流多数据流MIMD | 控制部分:多个 处理器:多个 主存模块:多个 | 能够实现作业、任务、指令等各级全面并行 | 多处理机系统多计算机 |
例题:Flynn分类法根据计算机在执行程序的过程中(A)的不同组合,将计算机分为4类。当前主流的多核计算机属于(D)计算机
A.指令流和数据流 B.数据流和控制流 C.指令流和控制流 D.数据流和总线带宽
A.SISD B.SIMD C.MISD D.MIMD
2、计算机指令
计算机指令的组成:1条指令由操作码和操作数2部分组成,操作码决定要完成的操作,操作数指参加运算的数据及其所在的单元地址。
在计算机中,操作要求和操作数地址都由二进制数码表示,分别称作操作码和地址码。整条指令以二进制编码的形式存放在存储器中。
计算机指令执行过程:
取指令→分析指令→执行指令
3、指令寻址方式
指令寻址方式
- 顺序寻址方式:当前执行一段程序时,是一条指令接着一条指令顺序执行。
- 跳跃寻址方式:指下一条指令的地址码不是由程序计算器给出,而是由本条指令直接给出。程序跳跃后,按新的指令地址开始顺序执行。因此,程序计算器的内容也必须相应的改变,以便及时跟踪新的指令地址。
指令操作数的寻址方式
- 立即寻址方式:指令的地址码字段指出的不是地址,而是操作数本身。
- 直接寻址方式:在指令的地址字段中直接指出操作数在主存中的地址。
- 间接寻址方式:指令地址码字段所指向的存储单元中存储的时操作数地址。
- 寄存器寻址方式:指令中的地址时寄存器的编号。
其他寻址方式
4、指令系统
CISC:时复杂指令系统,兼容性强,指繁多、长度可变,由微程序实现;
RISC:时精简指令系统,指令少,使用频繁接近,注意依靠硬件实现(通用寄存器,硬布线逻辑控制)
CISC和RISC
指令系统类型 | 指令 | 寻址方式 | 实现方式 | 其他 |
CISC | 数量多,使用频率差别大,可变长格式 | 支持多种 | 微程序控制技术(微码) | 研制周期长 |
RISC | 数量少,使用频率接近,定长格式,大部分单周期指令,操作寄存器,只有load/store操作内存 | 支持方式少 | 增加了通用寄存器; 硬布线逻辑控制为主; 适合采用流水线 | 优化编译,有效支持高级语言 |
例题:以下关于复杂指令集计算机(complex instruction set computer,CISC)的叙述中正确的是(D)
A、只设置使用频率高的一些简单指令,不同指令执行时间差别小
B、CPU中设置大量寄存器,利用率低
C、常采用执行速度更快的组合逻辑实现控制器
D、指令长度不固定,指令各种和寻址方式多
5、指令流水线
指令流水线原理:将指令分成不同段,每段由不同的部分取处理,因此可以产生叠加的效果,所有的部件取处理指令的不同段
流水线相关计算
- 流水线周期:指令分成不同执行段,其中执行时间最长的段位流水线周期。
- 流水线执行时间:1条指令总执行时间+(总指令条数-1)* 流水线周期。
- 流水线吞吐率:总指令条数/流水线执行时间。
- 流水线加速比:不使用流水线总执行时间/使用流水线总执行时间
超标量流水线技术:常规流水线是度位1的,即每个流水线阶段只执行1部分。当度大于1时,就意味这超标量技术,当度位3时,相当于3条流水线并行执行,即取值,分析,执行每个阶段都是同时处理3条指令。当题目提到度的概念时,计算时需要将:指令条数=指令条数/度。然后再套流水线执行时间公式。
例题1:
流水线的吞吐率是指流水线在单位时间里所完成的任务数或输出的结果数。设某流水线有5段,有1段的时间位2ns,另外4段每段时间位1ns,利用次流水线完成100个任务的吞吐率约为(B)个/S
A.500*106
B.490*106
C.250*106
D.167*106
解析:吞吐率时单位时间内执行任务的个数,即将总任务/总时间;
流水线执行100个任务所需要的时间为:【1条指令总执行时间+(总指令条数-1)* 流水线周期】(2+1+1+1+1)+(100-1)*2=204ns。所有没秒吞吐率为:
(100/204)*109=490*106
例题2:
流水线计算时通过并行硬件来提高系统性能的常用方法。对于1个K段流水线,假设七个段的执行时间均相等(设为t),输入到流水线中的任务时连续的理想情况下,完成n个连续任务需要的总时间为(B)。若某流水线浮点加法运算器分为5段,所需要的时间分别时6ns、7ns、8ns、9ns、6ns、则最大加速比为(A)
A、nkt B、(k+n-1)t C、(n-t)kt D、(k+n+1)t
A、4 B、5 C、6 D、7
总时间:1条指令总执行时间+(总指令条数-1)* 流水线周期
加速比:不使用流水线总执行时间/使用流水线总执行时间=1条指令总执行时间+(总指令条数-1)* 流水线周期
n值越大,数字27可以忽悠,就等于36n/9n=4
6、存储系统
计算机存储系统层次结构(容量越大,速度越小)
计算机采用分级存储体系的主要目的时为了解决存储容量、成本和速度之间的矛盾问题。
两级存储:cache=主存、主存-辅存(虚拟存储体系)
局部性原理:在CPU运行时,所访问的数据会趋向于1个较小的局部空间地址内,包括下面2个方面
- 时间局部性原理:如果1个数据项正在被访问,那么在近期很可能会被再次访问,即在相邻的时间里会访问同1个数据项
- 空间局部性原理:在最近的将来会用到的数据的地址和现在正在访问的数据地址很可能时相近的,即相邻的空间地址会被连续访问。
高速缓冲cache
高速缓冲cahche用来存储当前最活跃的程序和数据,直接和CPU交互,位于CPU和主存之间,容量小,速度为内存的5-10倍,由半导体材料构成。内容是主存内存的副本拷贝,对于程序原是透明的。
cache由控制部分和存储器组成,存储器存储数据,控制部分判断CPU要访问的数据是否在Cache中,则命中,不在则依据一定的算法从主存中替换。
地址映射:在CPU工作时,送出的时主存单元的地址,而应从cache存储器中读/写信息。需要将主存地址转换为cache存储器地址,地址的转换称为地址映像,由硬件自动完成映射,可以分为3种方法:
- 直接映射:将cache存储器等分成块,主存也等分成块并编号。主存的块与cache种的块的对于关系时固定的,即2者块号相同才能命中。地址变换简单,但不灵活,容易造成资源浪费
- 全相联映像:同样都等分成块并编号。主存种的任意1块都和cache中任意1块对应。因此可以随意调入cache任意位置,但地址变换复杂,速度较慢。因为主存可以随意调入cache任意块,只有当cache满了才会发送块冲突,市最不容易发送块冲突的映像方式。
- 组组相连映像:前面2种方式的结合,将cache存储器先分块再分组,主存也同样先分块再分组,组间采用直接映像,即主存中组号和cache中组号相同的组才能命中,但是组全相联映像,即组号相同的2个组内的所有块可以任意调换
例题:按照cache地址映射的块冲突概率,从高到底排列的是()
B、直接映像→组组相联映像→全相联映像
cache命中率
当CPU所访问的数据在cache中时,称为命中,直接从cache中读取数据,否则没有命中,需要从主存中读取所需的数据
例题:
使用cache改善系统性能的依据时程序的局部性原理。程序中大部分指令时(A)的。设某计算机主存的读写时间为100ns,由1个指令和数据合一的cache,一只该cache的读写时间为10ns,取指令的命中率为98%,取数的命中率95%。在执行某类程序时,约有1/5指令需要额外存/取1个操作数。假设指令流水线在任何适合都不阻塞,则设置cache后,每条指令的评价读取时间为()ns
A、顺序存储、顺序执行
B、随机存储、顺序执行
C、顺序存储、随机执行
D、随机存储、随机执行
A、12.3 B、14.7
C、23.4 D、26.3
(98%*10+2%*100)+(95%*10*20%+5%*100)
7、主存编址
主存编址的考察情况
例题:地址编号从80000H到BFFFFH,且按字节编址的内存内容量为(B)KB,若用16K*4bit的存储器芯片构成该内存,共需要(C)片
A、128 B、256 C、512 D、1024
A、 8 B、16 C、32 D、64
解析:首先计算出地址段包含存储空间数,为BFFFFH-80000H+1=40000H,按字节编制,即1个存储空间占1个字节,共40000H个字节,转换为十进制即256KB;该促成你芯片总容量为16K*0.5B=8KB,因此共需256/8=32片,该芯片才够存储。
KB=1024
kB=1000
1Bit=8bit
8、总线结构
广义:任何连接2个以上电子元器件的导线都是可以称为总线,通常分为3类:
- 内部总线:内部芯片级别的总线,芯片和处理器之间的通信总线
- 系统总线:板级总线,用于计算器内各部分之间的连接,具体分为数据总线(并行数据传输位数)、地址总线(系统可管理的内存空间的大小)、控制总线(传送控制命令)。代表的由ISA总线,EISA总线,PCI总线
- 外部总线:设备1级的总线,微机和外部设备的总线。代表由RS232(串行总线)、SCSI(并行总线)、USB(通用串行总线,即插即用,支持热插拔)、
9、系统可靠性分析
- 平均无故障时间MTTF=1/失效率
- 平均故障修复时间MTTR=1/修复率
- 平均故障间隔时间MTBF=MTTF+MTTR
- 系统可用性=MTTF/(MTTF+MTTR)*100%
本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
暂无评论
要发表评论,您必须先 登录