其他分享
首页 > 其他分享> > 计算机系统结构复习

计算机系统结构复习

作者:互联网

计算机系统结构复习

第一章 计算机系统结构的基础知识(填空题)

计算机系统=硬件+软件
计算机系统的结构层次

1. 微程序机器级(物理机)
2. 传统机器语言级(物理机)
3. 操作系统机器级(虚拟机)
4. 汇编语言机器级
5. 高级语言机器级
6. 应用语言机器级

计算机系统结构的定义

经典定义

是指传统机器程序员所看到的的计算机属性,即概念性结构与功能特性

广义的系统结构定义

把系统结构囊括为计算机设计的三个方面

  • 指令系统结构
  • 组成
  • 硬件

Amdahl定律

    加速比=系统性能改进后/系统性能改进前=总执行时间/总执行时间改进后 

例1.1

在某计算机系统中,若某一功能的处理速度被提高到15倍,而该功能的处理使用时间仅占整个系统运行时间的40%,那么可使系统的性能提高多少?

由题可知Fe=40%,Se=15
又Amdahl定律可知:
Sn=1/(1-Fe+Fe/Se)=1.6

例1.3

假设浮点数指令FP的比例为25%,
其中FPSQR占全部指令的比例为2%,
FP指令的CPI为4,FPSQR指令的CPI为20,
其他指令的平均CPI为1.33。现有两种改进方案,第一种是把FPSQR指令的CPI减至2,第二种是把所有FP指令的CPI减至2,试比较两种方案对系统性能的提高程度。

原 CPI=(20%*4)+(1.33*75%)=2
第一种 CPI=2-(20-2)*2%=1.64
第二种 CPI=2-(4-2)*25%=1.5
执行指令的平均周期来看第二种优于第一种

比较计算机的性能

总执行时间
调和平均值
几何平均值

冯诺依曼结构计算机

1. 运算器
2. 控制器
3. 存储器
4. 输入设备
5. 输出设备

存储程序的基本点是指令驱动。

实现软件可移植的3种方法

1. 统一的高级语言   
2. 采用系列机
3. 模拟和仿真

提高并行性的技术途径

1.时间重叠
2.资源重复
3.资源共享
    1. 多道程序、分时系统就是遵循这一途径产生的
    2. 资源共享既降低了成本,又提高了计算机设备的效率

第二章 指令系统的设计

CPU中用来存放操作数的存储单元有三种:堆栈、累加器、通用寄存器

通用寄存器存放变量的好处:

1.由于寄存器比存储器快,所以将变量分配给寄存器可以加快程序执行速度
2.能够减少对存储器的访问
3.可以用更少的地址位来对寄存器进行寻址    

指令系统是指传统机器语言程序设计者所看到的计算机的主要属性,是软硬件的主要界面。

对指令系统的基本要求是:

指令操作码的优化

  1. 赫夫曼编码
  2. 等长扩展码
  3. 定长操作码

第三章 流水线技术(计算,简答)

流水线的分类

1.部件级流水线、处理机级流水线、系统级流水线
2.单功能流水线与多功能流水线
3.静态流水线与动态流水线
4.线性流水线与非线性流水线
5.顺序流水线及乱序流水线

流水线的性能指标

吞吐率

TP=n/Tn

其中n为任务数,Tn是处理n个任务的时间

消除流水线瓶颈的方法

  • 细分瓶颈段
  • 重复设置瓶颈段

流水线的加速比

S=n*k/k+n-1

流水线的效率

E=使用的/总格子数

例3.2有一条动态多功能流水线由5段组成,加法用1、3、4、5段,乘法用1、2、5段,第4段的时间为2△t,其余各段时间均为△t,而且流水线的输出可以直接返回输入端或暂存于相应的流水寄存器中。若在该流水线上计算:
在这里插入图片描述

试计算其吞吐率、加速比和效率。

分析:选择适合于流水线工作的算法
应先计算A1×B1、A2×B2、A3×B3和A4×B4;
再计算(A1×B1)+(A2×B2)与(A3×B3)+(A4×B4);
然后求总的累加结果。
绘制时空图:

在这里插入图片描述

根据时空图可得 吞吐率:Tp=7/16
             加速比: S=(4*3+5*3)/16=27/16=1.69
             效率: E=(4*3+5*3)/5*16=0.338

一段经典的5段流水线执行周期可化为:

流水线的相关与冲突

1.相关

1.数据相关
2.名相关

反相关

如果指令j所写的名与指令i所读的名相同,则称i,j发生反相关

输出相关

如果指令j与指令i所写的名,则称i,j发生输出相关

3.控制相关

2.流水线冲突

  1. 结构冲突

因硬件资源满足不了指令重叠执行的要求而发生的冲突

  1. 数据冲突

当指令在流水线中重叠执行时,因需要前面指令执行的结果而发生的冲突

  1. 控制冲突

流水线遇到分支指令或其他会改变PC值的指令所引起的冲突
3.冲突的解决办法
结构冲突

插入暂停周期
设置相互独立的指令存储器和数据存储器或设置相互独立的指令cache和数据Cache
数据冲突
通过定向技术减少数据冲突引起的停顿(WAR)
停顿
依靠编译器解决数据冲突(指令调度)
控制冲突
冻结”或者“排空”流水线 (优点:简单,缺点:带来延迟(3个时钟周期)

第五章指令级并行(15分)

记分牌动态调度算法
部件:处理器有2个乘法器、1个加法器、1个除法部件和1个整数部件。
执行过程:

Tomasulo算法
load缓冲器和store缓冲器

执行步骤

  1. 流出

    完成对目的寄存器的预约工作,保留站r的执行结果将会存入目的寄存器中。
    实质:相当于提前完成写操作,消除了WAW冲突。
    如果没有空闲的保留站,指令就不能流出。
    实质:消除了结构冲突。
    
  2. 执行

     当两个操作数都就绪后,保留站就用相应的功能部件开始执行指令规定的操作。 
     注意:等到所有操作数都备齐后才开始执行指令。
     实质:用推迟执行的方法来解决RAW冲突。
     load和store指令的执行需要两个步骤。
     	计算有效地址;
     	把有效地址放入load或store缓冲器。
    
  3. 写结果

简述保留站的字段

Busy:为“yes”表示本保留站或缓冲单元“忙”
Op:要对源操作数进行的操作
Vj,Vk:源操作数的值
对于load来说,Vk字段用于保存偏移量。
Qj,Qk:将产生源操作数的保留站号
等于0表示操作数已经就绪且在Vj或Vk中,或者不需要操作数。
对于每一个操作数来说,V或Q字段只有一个有效。
A:仅load和store缓冲器有该字段。开始时存放指令中的立即数字段,地址计算后存放有效地址。 

第七章存储系统(2选择,1填空(计算),1计算,共14分)

7.2.2 映像规则

7.2.3 查找方法

每个主存块能唯一的由其标识来确定。
7.2.5

LRU和随机法分别因其不命中率低和实现简单而被广泛采用。
模拟数据表明,对于容量很大的Cache,LRU和随机法的命中率差别不大。

平均访存时间=命中时间+不命中率×不命中开销

例7.1
用一个和Alpha AXP类似的机器作为第一个例子。假设Cache不命中开销为50个时钟周期,当不考虑存储器停顿时,所有指令的执行时间都是2.0个时钟周期,访问Cache不命中率为2%,平均每条指令访存1.33次。试分析Cache对性能的影响。

CPU时间有cache=IC ×(CPIexecution+每条指令的平均访存次数
                                   ×不命中率×不命中开销)× 时钟周期时间
                               =IC ×(2.0+1.33×2 %×50)× 时钟周期时间
                                =IC × 3.33× 时钟周期时间
     即,实际CPI为3.33。
       若不采用Cache,则:CPI=2.0+50×1.33=68.5

例7.3 考虑某两级Cache:第一级Cache为L1,第二级Cache为L2。
(1)假设在1000次访存中,L1的不命中是40次,L2的不命中是20次。求各种局部不命中率和全局不命中率。
(2)假设L2的命中时间是10个时钟周期,L2的不命中开销是100时钟周期,L1的命中时间是1个时钟周期,平均每条指令访存1.5次,不考虑写操作的影响。问:平均访存时间是多少?每条指令的平均停顿时间是多少个时钟周期?

解:(1) 
       第一级Cache的不命中率(全局和局部)是40/1000,即4%;
       第二级Cache的局部不命中率是20/40,即50%;
       第二级Cache的全局不命中率是20/1000,即2%。
     (2)平均访存时间=命中时间L1+不命中率L1×(命中时间L2+
                                      不命中率L2×不命中开销L2)
                                   =1+4%×(10+50%×100)
                                   =1+4%×60=3.4个时钟周期
          所以,每次访存的平均停顿时间为:
                           3.4-1.0=2.4
         由于平均每条指令访存1.5次,推得:
              每条指令的平均停顿时间=2.4×1.5=3.6个时钟周期

第八章输入输出系统(两个选择,两个填空,一个简答,共13分)

表8-1RAID的分级及其特性

RAID级别可以容忍的故障个数以及磁盘数为8个时所需要的检测磁盘个数优点缺点公司产品
0 非冗余,条带存放0个故障,0个检测盘没有空间开销没有纠错能力广泛应用
1 镜像1个故障,8个监测盘不需要计算奇偶校验,数据恢复快,读数据快。而且其小规模写操作比更高级的RAID快检测开销最大EMC,HP,IBM
2 存储器式ECC1个故障,4个检测盘不依靠故障盘进行自诊断检测空间开销是log2m级(m是数据盘的个数)没有
3 位交叉奇偶校验1个故障盘,1个检测盘检测空间开销小(即需要检测的磁盘少),大规模读写操作带宽高对小规模、随机的读写操作没有提供专门的支持外存概念
4 块交叉奇偶校验一个故障盘,一个检测盘检测空间开销小,小规模读操作带宽更高校验盘是小规模写的瓶颈网络设备
5 块交叉奇偶分布校验1个故障盘,一个检测盘检测空间开销小,小规模读写操作带宽更高小规模写操作需要访问磁盘4次广泛应用
6 P+Q双奇偶校验2个故障盘,两个检测盘具有容忍两个故障的能力小规模写操作需要访问磁盘6次,检测空间加倍(与3,4,5相比)网络设备

8.3.1 RAID0

RAID0是非冗余磁盘阵列,它是RAID中最简单的一种,实现成本最低。
由于RAID0不提供数据冗余,数据一旦损坏将无法恢复,其中任何一个磁盘出现故障,整个系统将无法工作
适用于需要高带宽磁盘访问的场合,如视频剪辑,超级计算机等

8.3.2 RAID1

RAID1是最基本的一种冗余磁盘阵列,称为镜像磁盘
核心思想:为所有数据提供一份冗余的备份。系统中所有的数据都有两份
实现成本最高,原理和设计是所有冗余磁盘阵列中最简单的

8.3.3 RAID2

RAID2是存储器式的磁盘阵列,是按Hamming纠错码的思路来构建的
所需的冗余盘用来存放Hamming码,其个数是log<sub>2</sub>m级,m是数据字的位数
没有商业化的产品

8.5.2 通道种类

习题8.6
一个字节多路通道连接6台设备,他们的数据传输率如下表所示。

设备名称D1D2D3D4D5D6
数据传输速率/(B/ms)505040252510

(1)计算该通道实际工作流量
(2)若通道的最大数据流量等于实际工作流量,求通达的工作周期Ts+Td。

(1)通道实际流量为  f= ∑ i = 1 6 D i \sum\limits_{i=1}^6Di i=1∑6​Di=50+50+40+25+25+10=200(b/ms)
(2)由于通道的最大流量等于实际工作流量,即有 f=1/Ts+Td可得,通道的工作周期Ts+TD = 5μs。

标签:计算机系统,操作数,复习,命中率,Cache,指令,冲突,流水线,结构
来源: https://blog.csdn.net/qwj123321/article/details/111571980