高级计算机系统结构期末考试复习总结

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章量化设计与分析基础

1.计算机性能提升表现在哪些方面:

半导体技术不断提高,如特征尺寸和时钟频率;

计算机体系结构不断改进,如高级语言编译器、标准化的操作系统和指令更为简单的RISC 体系结构。

2.并行分类:

1)应用程序的并行分类:

数据级并行(DLP):同时操作多数据

任务级并行(TLP):创建了一些能够独立处理但大量采用并行方式执行的工作任务

2)硬件的体系结构:

指令级并行(ILP):在编译器帮助下。利用流水线的思想开发数据级并行,利用推理执行的思想以中等水平开发数据集并行。

向量体系结构和图像处理单元(GPUs):将单条指令并行应用于一个数据集,来达到数据集并行

线程级并行:在紧耦合硬件模型中开发数据集并行或任务及并行,这种模型允许在线程之间进行交互。

请求级并行:在程序员或操作系统制定的大量去耦合任务之间开发并行

3.Flynn’s分类是如何分类的?

Flynn’s分类主要分为四类:

1)单指令流、单数据流(SISD):一条指令处理一个数据,可以利用指令级并行(ILP)

2)单指令流、多数据流(SIMD):将大量重复设置的处理单元按一定方式互连成阵列,在单一控制部件CU(Contrul Unit)控制下对各自所分配的不同数据并行执行同一指令规定的操作,主要应用于向量体系结构、多媒体扩展指令和图像处理单元(Graphics processor units) 3)多指令流、单数据流(MISD):用多个指令作用于单个数据流,没有商业实现

4)多指令流多数据流(MIMD):每个处理器都提取自己的指令,对自己的数据进行操作,主要用于开发线程级并行TLP(紧耦合MIMD)和请求级并行RLP(松耦合MIMD)

4.什么是“真正”的计算机体系结构?

1)满足目标和功能需求的组成和硬件;

2)限制条件下最大化性能:成本、功耗、可用性;

3)包括指令集体系结构(ISA),微体系结构,硬件

5.计算题:可靠性的计算

平均无故障时间:Mean time to failure (MTTF),MTTF是故障率的倒数。

平均修复时间:Mean time to repair (MTTR)

平均故障间隔时间:Mean time between failures (MTBF) = MTTF + MTTR

可用性:Availability = MTTF / MTBF

例:设磁盘子系统的组件及MTTF如下:

10个磁盘,1000000小时MTTF;

1个ATA控制器,500000小时MTTF;

1个电源,200000小时MTTF;

1个风扇,200000小时MTTF;

1根ATA电缆,1000000小时MTTF;

采用简化假设,寿命符合指数分布,各故障相互独立,试计算整个系统的MTTF.

解答:

系统故障率=10*1/1000000+1/500000+1/200000+1/200000+1/1000000=23000FIT(每10亿小时)

MTTF=1/故障率=43500小时

第二章存储器层次结构设计

1.层次化存储

寄存器→多级CACHE→内存→磁盘

2.命中时间:命中时访问需要的时间,包括判断是否命中的时间;

缺失代价:从内存中替代块的时间;

3.块放置策略有全相联映射和组相联映射两种策略

全相联映射:一个块可以放在CACHE中的任何位置;需要检索CACHE中的所有项:并行比较器

组相联映射:每个块有n个位置可放的cache称为n路组相联cache;存储器中的一个块对应到cache中唯一的组,但是可以放在组内的任意位置上

4.1)命中方法的两种方式有写直达法和写回法

写直达法:保持CACHE和主存的一致;

写回法:修改过的块被替换时才写入主存;

2)不命中(写缺失)的两种方式有写分配和写不分配

写分配:分配CACHE中的块,并写入CACHE;

写不分配:不分配,直接写主存。

5.缺失率是什么?导致缺失的原因是什么?

缺失率是指CACHE访问不命中的比率。

导致缺失的原因有强制缺失、容量缺失和冲突缺失

强制缺失:第一次访问相应cache块,cache中肯定没有改cache块

容量缺失:cache块被移除后又被访问

冲突缺失:重复访问的多个地址映射在CACHE的同一位置

6.性能的定量计算:

程序执行时间=CPU执行程序的时间+等待存储访问的时间

基于CPI的计算:

存储器阻塞时钟周期=(存储器总访问次数/指令数)*缺失率*缺失代价

平均访问时间(AMAT)=命中时间+缺失率*缺失代价

举例1:假设指令cache的缺失率为2%,数据cache的缺失率为4%,处理器的CPI为2(没有存储器阻塞),且每次缺失的代价为100个时钟周期,那么配置一个从不发生缺失的理想的cache,处理器的速度快多少?假定全部LOAD和STORE的频率为36%.

解:指令缺失时钟周期:1*2%100=2.0I

数据缺失:136%*4%*100=1.44I

总存储器阻塞:2.0 I + 1.44 I = 3.44 I

总CPU : 2 + 3.44 = 5.44

配置理想cache: 5.44 / 2 = 2.72 倍

举例2:处理器时钟周期的时间1ns,缺失代价是20个时钟周期,缺失率为每条指令0.05次缺失,cache的访问时间(包括命中判断)为1个时钟周期。假设读操作和写操作的缺失代价相同并且忽略其它写阻塞。请计算AMAT.

解:每条指令的平均存储器访问时间为:AMAT = 命中时间+缺失率缺失代价

=1+0.0520

=2个时钟周期

举例3:假定处理器基本的CPI为1.0,时钟频率为4GHz。假定主存访问时间为100ns,其中包括缺失处理时间。设一级cache中每条指令缺失率为2%。如果增加一个二级cache,命中或缺失访问的时间都是5ns,而且容量大到必须使访问主存的缺失率减少到0.5%,这时的处理器速率能提高多少?

解:主存的缺失代价:

100ns/(0.25ns/时钟周期)=400个时钟周期

只有一级cache时:

总的CPI=1.0+2%*400=9

对于两级cache:

二级cache的缺失代价:

5ns/(0.25ns/时钟周期)=20个时钟周期

总的CPI=1+2%*20+0.5%*400=3.4

有二级cache的处理器性能是没有二级cache性能的9.0/3.4=2.6倍

6.层次化存储优化方法有6种基本的CACHE优化方法:

1)更大的cache块:强制缺失减少;容量和冲突缺失增加,缺失代价增加;

2)更大的CACHE容量:缺失率降低;命中时间,功耗增加;

3)更高的相联度:冲突缺失减少;命中时间增加,功耗增加;

4)更多级CACHE:内存访问时间减少;

5)读缺失优先级更高:缺失代价降低;

6)缓存索引期间避免地址转换:减少命中时间;

第三章指令级并行

1.开发指令级并行的目标:最小化CPI(执行指令平均时钟周期数)

流水线CPI =理想流水线CPI +结构冒险停顿+数据冒险停顿+控制冒险停顿

2.Load指令的5个阶段或5级流水线的分法?5个阶段的具体内容?

Load指令的5个阶段:Ifetch (取指)、Reg/Dec (取数和译码)、Exec (执行) 、Mem (读存储器) 和Wr(写寄存器)

Ifetch (取指) : 从指令存储器取指令并计算PC+4(指令存储器、Addr)

Reg/Dec (取数和译码) : 寄存器取数,同时对指令进行译码(寄存器堆读口、指令译码器) Exec (执行) : 计算内存单元地址(扩展器、ALU)

相关文档
最新文档