1、1,计算机体系结构期末辅导,主讲:何志杰,2,1. 期末考试题题型 一、填空题(每空1分,共14分) 二、名词解释(每题2分,共16分) 三、简答题(每题5分,共30分) 四、问答与计算题(第1题10分,第2、3题每题15分共40分) 2. 期末考试内容分布 第1章 基础知识 第2章 指令系统 第3章 存储系统设计 第4章 流水线计算机设计技术 第5章 并行处理技术(互连网络部分) 第8章 非冯.诺依曼计算机有关概念,计算机体系结构期末辅导,3,按照弗林(Flynn)分类法,计算机系统可以分为4类:SISD计算机、(SIMD计算机)、(MISD计算机)和(MIMD计算机)。 早期冯诺依曼计算机
2、的主要特点是(程序存储)、(指令驱动)、(集中控制)。 目前向量处理机的系统结构有两种:(存储器存储器型和寄存器寄存器型)。 通用计算机基本指令分为5类,它们分别是:(数据传送类,运算类,程序控制类,输入输出类,处理机控制和调试类)。 传统的冯诺依曼计算机是以控制驱动方式工作,以数据驱动方式工作的典型计算机是(数据流计算机),以需求驱动方式工作的典型计算机是(归约机),以模式匹配驱动方式工作的典型计算机是(人工智能计算机)。,3、填空题(举例),4,4、名词解释(举例) 计算机体系结构 透明性 系列机 兼容机 模拟 仿真 程序的局部性原理 MIPS 基准测试程序 高速缓冲存储器 虚拟存储器 快
3、表 程序定位 延迟转移技术 窗口重叠技术 流水线技术 先行控制技术 动态流水线 静态流水线 线性流水线 非线性流水线 流水线的吞吐率 超标量计算机 向量的分段开采技术,5,1、简述冯.诺依曼计算机的特征 。 2、什么是存储系统? 3、简述组相联映象规则。 4、引起Cache与主存内容不一致的原因是什么?为了保持Cache的一致性,在单计算机系统中一般采取哪些措施? 5、影响虚拟存储器命中率的因素有哪些?它们是如何影响的? 6、在指令编码中,缩短地址码的方法很多,请列出三种缩短地址码的方法,并说明理由。 7、什么是指令的重叠解释方式?重叠解释方式有哪三种? 8、试述页式管理虚拟存储器的工作过程
4、。,5、简答题(举例),6,6、典型例题分析与解答,例1如有一个经解释实现的计算机,可以按功能划分成4级。每一级为了执行一条指令需要下一级的N条指令解释。若执行第一级的一条指令需K(ns)时间,那么执行第2、3、4级的一条指令各需要用多少时间(ns)?,解:第二级的一条指令需第1级的N条指令解释第二级的一条指令执行时间为NKns;第三级的一条指令执行时间为N2Kns;第四级的一条指令执行时间为N3Kns。,7,本题有两个问题应特别注意:第一个问题是“上一级”与“下一级”的关系,即哪是上一级,哪是下一级?在下图中第3级是第2级的“上一级”,第1级又是第2级的“下一级”。第二个问题是该计算机是一个
5、“经解释实现的计算机”,上一级的程序在下一级上实现不是经翻译完成,只能是解释。,8,例2假设将某系统的某一部件的处理速度加快到10倍,但该部件的原处理时间仅为整个运行时间的40%,则采用加快措施后能使整个系统的性能提高多少?,解:由题意可知 fe=0.4, re=10, 根据Amdahl定律,9,例3用一台4OMHz处理机执行标准测试程序,它含的混合指令数和相应所需的时钟周期数如下: 指令类型 指令条数 时钟周期数 整数运算 45000 1 数据传送 32000 2 浮点运算 15000 2 控制传送 8000 2 求有效CPI、MIPS速率和程序的执行时间。,10,解:依题意可知 IN=10
6、5条,n=4,11,例4若某机要求有:三地址指令4条,单地址指令192条,零地址指令16条。设指令字长为12位,每个地址码长3位。问能否以扩展操作码为其编码?,12,解: 三种指令格式字如下:,OPC,000 xxx xxx xxx 011 xxx xxx xxx000 000 xxx111 101 xxx 111 111 110 000 111 111 111 111,三地址4条,一地址192条,零地址16条,3,3,3,3,三地址指令4条,单地址指令192条,零地址指令16条,13,例5假设一台模型计算机共有10种不同的操作码,如果采用固定长操作码需要4位。已知各种操作码在程序中出现的概率
7、如下表所示,计算采用Huffman编码法的操作码平均长度,并计算固定长操作码和Huffman操作码的信息冗余量(假设最短平均长度H3.1位),14,答:构造Huffman树如下:,15,Huffman编码如下表:,16,Huffman编码的平均码长为:冗余量(3.153.10)/3.151.59% 固定码长:log2104 冗余量(43.10)/422.5%,17,例6设某用户虚存共有8页, 主存有4页, 每页大小为1KB. 试根据页表计算出虚地址1023和6800的主存实地址。,提示:注意页表中虚、 实页对应关系,页表,18,每页首地址=页号X每页大小,解:页号与地址对应关系,虚地址1023
8、,虚页号为0,页内位移 为1023;根据虚页号查页表得知实页号为3,且装入位为1。 主存实地址PA=3072+1023=4095,虚地址6800,虚页号为6,页内位移 为656;根据虚页号查页表得知实页 号为0,且装入位为1。 主存实地址PA=0+656=656,虚页号虚地址1024,19,例7某机主存容量为512KB,Cache的容量为32KB,每块的大小为16个字(或字节)。划出全相联方式主、缓存的地址格式、目录表格式及其容量。 答:全相联映象方式:主存与缓存分成相同大小的数据块,主存的某 一数据块可以装入缓存的任意一块空间中。根据已知条件可以求得:主存块数:512K/1632K215;缓
9、存块数:32K/162K211;块内地址:1624,20,容量:与缓冲块数量相同即2112048(或32K/162048)。,21,图2.6 全相联地址转换,22,例8某机主存容量为512KB,Cache的容量为32KB,每块的大小为16个字(或字节)。划出直接相联方式主、缓存的地址格式、目录表格式及其容量。 答:直接相联映象方式:主存与缓存分成相同大小的数据块,将主存空间按缓存的容量分成区,主存中某区的一块存入缓存时只能存入缓存中块号相同的位置。根据已知条件可以求得:主存区数:512K/32K1624;缓存块数:32K/162K211;块内地址:1624,23,容量:与缓冲块数量相同即211
10、2048(或32K/162048)。,24,高速缓冲存储器,图2.8 直接相联地址转换,25,例9主存容量为512KB,Cache的容量为32KB,每块为64个字(或字节),缓存共分128组。划出组相联方式主、缓存的地址格式、目录表格式及其容量。 答:组相联映象方式:主存与缓存分成相同大小的数据块,主存和Cache按同样大小划分成组,将主存空间按缓存的容量分成区,当主存的数据调入缓存时,主存与缓存的组号应相等,但组内各块地址之间则可以任意存放。根据已知条件可以求得:主存区数:512K/32K1624;缓存组数:12827; 缓存块数:32K/6451229;组内块数:512/128422 块内
11、地址:6426,26,容量:29512(或32K/64512)。,27,高速缓冲存储器,图2.10 组相联映象地址转换,28,例10一个有快表和慢表的页式虚拟存储器,最多有64个用户,每个用户最多要用1024个页面,每页4K字节,主存容量8M字节。 (1)写出多用户虚地址的格式,并标出各字段的长度。 (2)写出主存地址的格式,并标出各字段的长度。 (3)快表的字长为多少位?分几个字段?各字段的长度为多少位? (4)慢表的容量是多少个存储字?每个存储字的长度为多少位?,29,答:用户号:6426,虚页号:1024210,页内地址:4K212,主存页数:8M/4K211 (1)多用户虚地址:用户号
12、(6位)虚页号(10位)页内地址(12位) 共28位 (2)主存地址:主存实页号(11位)页内地址(12位) 共23位 (3)快表字长27位;分3个字段:用户号6位,虚页号10位,实页号11位 (4)慢表容量为2(6+10),每个存储字长为:主存页号112位。,30,例11为在页式虚拟存储器中,一个程序由P1P5共5个页面组成。在程序执行过程中依次访问的页面如下:P2,P3,P2,P1,P5,P2,P4,P5,P3,P2,P5,P2假设系统分配给这个程序的主存有3个页面,分别采用FIFO、LFU和OPT三种页面替换算法对这3页主存进行调度。(1) 画出主存页面调入、替换和命中的情况表。(2)
13、统计三种页面替换算法的页命中率。 解:三种替换算法的替换过程:,31,32,例12用一条4段浮点加法器流水线求8个浮点数的和: ZABCDEFGH,求流水线的吞吐率、加速比和效率,其中t1=t2=t3=t4=t。,解:由于存在数据相关,A+B的运算结果要在第5时钟周期 才能继续做加C运算,这样,每个功能部件都要空闲3个时 钟周期,为此,可对原式作一简单变化,得到:Z(AB)(CD)(EF)(GH),33,7个加法8个数的流水线时空图如下:,34,从流水线的时空图中可以很清楚地看到,7个浮点加法共用了15个时钟周期。,35,例13设有两个向量A,B,各有4个元素,若在如图5-2-16a所示的静态
14、双功能流水线上,计算向量点积: 其中,1235组成加法流水线,145 组成乘法流水线。,36,又设每个流水线所经过的时间均为t,而且流水线的输出结果可以直接返回到输入或暂存于相应的缓冲寄存器中,其延迟时间和功能切换所需的时间都可以忽略不计。请使用合理的算法,能使完成向量点积A*B所用的时间最短,并求出流水线在此期间实际的吞吐率TP和效率E。 解:首先,应选择适合于静态流水线工作的算法。对于本题,应先连续计算al*bl、a2*b2、a3*b3和a4*b4共4次乘法,然后功能切换,按(albl+a2b2)+(a3b3+a4b4)经3次加法来求得最后的结果。按此算法可画出流水线工作时的时空图。如图5
15、-2-16b所示。,37,38,由图可见,总共在15个t的时间内流出7个结果,所以在这段时间里,流水线的实际吞吐率TP为7/15t。 若不用流水线,由于一次求积需3t,一次加法需 4 t,产生上述结果就需要43t+34t=24t。因此,加速比为S=24t/(15t)=1.6。 该流水线的效率可用阴影区面积和全部5个段的总时空图面积之比求得,即,39,例14什么是方体置换?写出方体置换函数的表达式,假设互联网有16个结点,请画出4个方体置换函数(即C0,C1,C2,C3)的输入端与输出端的连接关系。 答:方体置换是实现二进制地址编号中第k位位值不同的输入端输出端之间的连接。其表达式为:,40,C
16、0立方置换函数:,41,C1立方置换函数:,42,C2立方置换函数:,43,C3立方置换函数:,44,例15什么是均匀洗牌置换?写出均匀洗牌置换函数的表达式,假设互联网有16个结点,请画出均匀洗牌置换的输入端与输出端的连接关系。 答:均匀洗牌置换是将输入端分成数目相等的两半,前一半和后一半按序一个隔一个地从头至尾依次与输出端相连,即将输入端二进制地址循环左移一位即得到对应的输出端二进制地址。其函数关系可表示为:图略,45,例16互连网络例子:编号为0,115的16个处理器用单级互连网络连接,当互连函数分别为: (1)cube 3; (2)PM2+3; (3)shuffle;时第13号处理器各连至哪一个处理器?,答: (1)cube3=cube3(1101); 第3位取反,得0101 (5号处理器) (2)PM2+3(13)=(j+23)mod 16 =(13+8) mod 16=5 (5号处理器)(3)shuffle(Pn-1Pn-2.P2P1P0)= shuffle(Pn-2.P2P1P0Pn-1)shuffle(1101)=(1011) (11号处理器),