您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 计算机体系结构作业答案(高性能)
1作业第一讲:计算机系统基础1.在三台不同指令系统的计算机上运行同一程序P时,A机需要执行1.0*108条指令,B机需要执行2.0*108条指令,C机需要执行4.0*108条指令,但实际执行时间都是10秒,请分别计算这三台机器在实行程序P时的实际运行速度,以MIPS为单位。这三台计算机在运行程序P时,哪台性能最高?为什么?2.如果要给标量处理器增加向量运算部件,并且假定向量模式的运算速度是标量模式的8倍,这里把向量模式所占的百分比时间称作向量化百分比。a)画出一张图来表示加速比和向量化百分比的关系,X轴为向量化百分比,Y轴为加速比。b)向量化百分比为多少时,加速比能达到2?当加速比达到2时,向量模式占了运算运行时间的百分之多少?向量化百分比为多少时,加速比能达到最大加速比的一半?c)假设程序的向量化百分比为70%。如果需要继续提升处理器的性能,一种方法是增加硬件成本将向量部件的速度提高一倍,另外一种方法是通过改进编译器来提高向量模式的应用范围,那么需要提升多少向量化百分比才能得到与向量部件运算速度提高一倍得到相同的性能?你推荐哪一种设计方案?3.假设有一个代表典型应用的基准测试程序。一款不包含浮点部件的处理器(可以通过整数指令的模拟来执行浮点指令)运行该基准程序的运行速度是120MIPS,在该处理器上增加浮点协处理器后运行该基准程序的运行速度是80MIPS。下面给出了一些参数:I-基准测试中整数指令的数目,F-基准测试中浮点指令的数目,Y-模拟一条浮点指令需要的整数指令的数目,W-无浮点协处理器时基准程序的运行时间,B-有浮点协处理器时基准程序的运行时间。a)用上面的参数符号表示出两种配置处理器的MIPS值。b)在没有协处理器的配置下,假定F=8*106,Y=50,W=4秒,求I的值。c)在上题的条件下,求B的值。d)在包含协处理器的配置下,系统的MFLOPS是多少?e)你的同事想要购买这种协处理器来提高性能,而该配置下MIPS降低了,请问他的决策正确吗?解释你的观点。4.假设晶片成品率的经验公式如下:晶片成品率=(1+b*晶片面积/a)-a,其中a=4是衡量工艺复杂度的参数。a)假设每cm2晶圆的成本为c,缺陷密度为b=0.6/cm2,利用电子表格,计算当晶片面积2从0.5cm2变化到4cm2时晶片的成本。然后,适用数学分析工具拟合出晶片成本和面积关系的多项式曲线,使其与电子表格中计算出来的数据相吻合。b)假设缺陷密度更高,b=2.0/cm2,求最接近的最低次数的多项式。5.对某处理器进行功耗测试,得到如下数据:时钟不翻转,电压1.2V时,电流为500mA;时钟频率为1GHz,电压1.2V时,电流为2500mA。请计算此处理器的静态功耗以及500MHz下的总功耗。6.证明以下结论:a)N个正数的几何平均小于算术平均;b)用归一化的SPECCPU2000程序分值进行A、B两台机器的性能比较与所使用的参考机无关;7.试讨论冯·诺伊曼结构的主要特点。a)查阅资料,分别给出一款Intel、AMD、IBM商业处理器的峰值性能和访存带宽。b)分析这3种处理器的访存带宽和存储层次参数(一级cache大小和延迟、二级cache大小和延迟等)之间的关系。8.在一台个人计算机上(如Pentium-4、Core、Opteron的CPU)a)查阅相关资料,给出该机器的浮点运算峰值。3第二讲:二进制与逻辑电路9.定点数的表示a)分别给出64位定点原码和补码表示的数的范围。解:[-263,263-1]b)在32位定点补码表示中,0x80000000表示什么数?解:-23110.浮点数的表示a)把单精度数转化为十进制数:0x7ff0000,0xbe400000,0xff800000解:0x7ff0000=0,00001111,11111110000000000000000=(1.1111111)2*2(15-127)=3.8368135610839464260099560574934e-340xbe400000=1,01111100,1000000000000000000=-(1.1)2*2(124-127)=-0.18750xff800000=1,11111111,0000000000000000000=-∞b)把双精度数转化为十进制数:0x4035000000000000,0x8008000000000000解:0x4035000000000000=0,10000000011,0101000000000000000000000000000000000000000000000000=(1.0101)2*2(1027-1023)=210x8008000000000000=1,00000000000,1000000000000000000000000000000000000000000000000000=-(0.1)2*2-1022=-2-1023c)把十进制数转化为单精度数:-100.0,0.25解:-100.0=-(1.100100)2*26=0b11000010110010000000000000000000=0xc2c800000.25=(1.0)*2-2=0b00111110100000000000000000000000=0x3e800000;d)把十进制数转化为双精度数:1024.0,0.25解:1024.0=(1.0)*210=0x40900000000000000.25=(1.0)*2-2=0x3fd000000000000011.画出e=a*b+c*d的晶体管级电路图。解:4VDDGNDababVDDGNDcdcdVDDGNDe12.计算一个FO4的延迟,假设反向器的输入电容为0.0036pf,平均每个负载连线电容为0.0044pf,翻转延迟为0.023ns,每pf延迟为4.5ns。解:FO4指的是某类型的电路单元驱动四个相同类型的电路单元。FO4延迟=本征延迟+负载延迟=0.023+4.5*((0.0036+0.0044)*4)=0.167ns13.分析CMOSEDFF触发器的建立时间、保持时间、和CLK-Q的构成。对于下图的电路,假设反相器的延迟为1ns,传输门从源到漏(或从漏到源)的延迟为0.5ns,传输门从栅到漏(或源)的延迟为0.75ns,不考虑由于latch的fight对反相器延迟的影响。请从概念上分析此电路的setup时间和hold时间为多少,给出分析过程。5解:传输门的结构许多数字电路设计都是以库单元为基本单位,这些库单元将传统的晶体管电路设计“封装”起来,只提供数字电路设计者所关心的时序、面积、功耗等信息。正是这种“封装”,促进了数字电路EDA工具的发展,解放了电路设计人员的生产力,极大丰富电子芯片种类和数量。本题深入到库单元内部的电路结构,讨论数字电路设计者所看到的某触发器建立时间、保持时间和CLKQ时间等时序的形成原因。数字电路设计者看到的“封装”后的触发器如下图所示而题中所给图是该触发器内部电路结构图,触发器内部的两个传输门控制端信号C和CN就是时钟信号形成的,它控制电路相应部分的开启和关闭。我们先观察触发器内部时钟延迟:6CKC:经过两级反相器,1+1=2nsCKCN:经过一级反相器和两级传输门,传输门的输入到输出延迟就是传输门源到漏(或漏到源)的时间(参考传输门晶体管结构),1+0.5+0.5=2ns观察如上图所示的触发器结构图,在C=1(CN=0)时,前级传输门打开,D端数据进入N1,打破N1和N2之间的反相器环,强制将N1处状态改成与D端相同,N2处状态改为与D端相反,反相器环维持新的状态,由于后级传输门关断,N2处状态无法传播到N3处。当C=0(CN=1)时,前级传输门关闭,D端数据无法影响触发器内部状态,而后级传输门打开,触发器状态则通过N3、N4和Q输出,同时N3和N4间反相器环状态也被打破更改为与N2相符,当下一个C=1(CN=0)关闭后级传输门时,N3和N4间反相器环仍能保持状态并驱动Q端。建立时间指的是在时钟触发沿(此题为下降沿)到来之前数据(D端)必须稳定的时间。换句话说,此触发器的建立时间就是在时钟信号到达CK端之前,将触发器内部N1及N2状态改变并稳定为与D端数据相符所需的时间。这样,D端数据必须通过DN0N1N2才能真正改变触发器内部状态,但即使如此,由于N1和N2间反相器环驱动能力不能确定,为保守起见,还需要加上N2N1时间。此外考虑到接口处CK端时钟信号到C和CN的传播时延,如果C和CN的传播时延不一,可能导致传输门输出弱1或弱0情况,仍从保守情况出发取两者的较小值,另外还要算上传输门控制端栅到漏(源)的延迟。这样,该触发器建立时间Tsetup=TD-N0-N1-N2-N1-(min(TCK-C,TCK-CN)+Ttran)=(1+0.5+1+1)-(min(2,2)+0.75)=0.75ns保持时间指的是在时钟触发沿到来之后数据必须保持不变的时间。换句话说,此触发器7的保持时间就是在时钟信号到达CK端之后,D端需要等待多长时间,使得即使其数据变化也不影响触发器内部状态。反过来想,那什么情况下D端数据变化可能会影响内部状态呢?只有当前级传输门在完全关断之前,D端数据已经进入到N1,进而才有可能对内部状态产生影响。所以只需保证在前级传输门关断时变化的D端数据不进入N1即可。此外也要考虑到时钟信号的传播延迟,仍从保守情况出发取两者较大值,加上传输门控制端栅到漏(源)的延迟。这样,Thold=(max(TCK-C,TCK-CN)+Ttran)-TD-N0-N1=(max(2,2)+0.75)-(1+0.5)=1.25nsCKQ时间指的是时钟触发沿到来之后Q端输出新的触发器状态所需的时间。只有当后级传输门打开后,Q端才有可能与触发器内部状态相符,也就是C=10(CN=01)时钟下降沿时,这时候N2处的状态需要通过N2N3N4Q,此时由于后级传输门出于打开状态,N3-N4处的反相器环一般不可能再破坏这个新状态。此外仍出于保守考虑时钟信号的传播延迟取较大值,并加上传输门控制端栅到漏(源)的延迟。这样,该触发器CKQ时间TCK-Q=(max(TCK-C,TCK-CN)+Ttran)+TN2-N3-N4-Q=(max(2,2)+0.75)+(0.5+1+1)=5.25ns第三讲指令系统结构14.给定下面的代码片段:A=B-C;D=A-C;B=D+A;a)分别写出上述代码片段在四种指令系统类型(堆栈型、累加器型、寄存器-存储器型、寄存器-寄存器型)下的汇编语言代码。b)假设操作码占用8位编码,内存地址和操作数都是16位,寄存器型结构有16个通用寄存器。对每种结构回答以下问题:1)需要读取多少指令字节?2)与内存交换的数据有多少字节?3)依据代码量衡量哪种结构最好?4)依据与内存交换的数据(指令和数据)量衡量哪种结构最好?解:stackaccR-MR-RPushBPushCSubPopALoadCNegAddBStoreALoadR1,BSubR1,CStoreR1,ASubR1,CLoadR1,BLoadR2,CSubR3,R1,R2StoreR3,A8PushAPushCSubPopDPushDPushAAddPopBLoadCNegAddAStoreDAddAStoreBStoreR1,DAddR1,AStoreR1,BSubR4,R3,R2StoreR4,DAddR5,R4,R3StoreR5,B1、30;18;;;2、24;16;√;;3、28;14;;;4、29;10;;√;15.16进制数0x4C4F4F4E47534F4E要存在64位双字中。a)假设存储是8字节对齐的,请依据小尾端的格式将此16进制数写入内存中,并将每个字节解释为一个ASCII字符写在对应的字节下边。解:Address0xxx0000xxx0010xxx0100xxx0110xxx1000xxx1010xxx1100xxx1110x4E4F53474E4F4F4Cb)按照
本文标题:计算机体系结构作业答案(高性能)
链接地址:https://www.777doc.com/doc-7099535 .html