设X=+11/16,Y=+6/16,试用变形补码计算x+y并判断是否溢出。
(8.0分)
[X]补=00.1011
[Y]补=00.0110
[x+Y]补=01.0001
两个符号位不同,溢出。
浮点数加、减运算过程一般包括对阶、尾数运算、规格化、舍入和判溢出等步骤。设浮点数的阶码和尾数均采用补码表示,且位数分别为 5 位和 7 位(均含 2 位符号位)。若有两个数 X=
×29/32 , Y=
×5/8 ,则用浮点加法计算 X+Y 的最终结果是?请写出计算过程。
(8.0分)
溢出
知接收到的汉明码为0100111(按配偶原则配置),试问欲传送的信息是什么?
(9.0分)
P4P2P1=110, 正确码为0100101,所以信息是0101
假设某基准程序A在某计算机上的运行时间为100秒,其中90秒为CPU时间,其余为I/O时间。若CPU 的速度提高50%,I/O速度不变,则运行基准程序A所耗费的时间为?(请写成计算过程)
(10.0分)
90*100/150+10=70秒
若某程序编译后生成的目标代码由A、B、C、D四类指令组成,它们在程序中所占比例分别为40%、20%、15%、25%。已知A、B、C、D四类指令的CPI分别为1、2、2、2。现需要对程序进行编译优化,优化后的程序中A类指令条数减少了一半,而其它指令数量未发生变化。假设运行该程序的计算机CPU主频为500MHZ。
(1)优化前、后的CPI各为多少?(各5分)
(2)优化前、后程序的MIPS为?(各5分)
(3)通过上面的计算结果,你能得出什么结论?(10分)
(30.0分)
第一空:
(1)优化前CPI=0.4*1+0.2*2+0.15*2+0.25*2=1.6 (5分)
优化后,ABCD的所占比例为25%、25%、18.75%、31.25%
CPI=0.25*1+0.25*2+0.1875*2+0.3125*2=1.75( 5分)
(2)MIPS=F/CPI
优化前 500/1.6=312.2 优化后 285.7
(3)优化后程序速度降低。原因A类指令执行频率高,执行速度快。程序优化应降低CPI高的指令的占比,或者提高运行速度快的指令的执行概率。
1
设某机主存容量为16MB,按字节编址,缓存的容量为16KB。每字块有8个字,每个字32位。设计一个四路组相连映射(即缓存每组内共有4个字块)的缓存组织,要求:
(1)给出主存地址字段中各段的位数。
(2)设缓存初态为空,CPU依次从主存第0、1、2、…、99号单元读出100个字(主存一次读出一个字),并重复此次序读8次,问命中率是多少?
(3)若缓存的速度是主存速度的6倍,试问有缓存和无缓存相比,速度提高多少倍?
(40.0分)
(1) 主存字块标记12位 组地址7位 字块内地址5位
(2)命中率
(3)缓存访问一次时间为t, 主存访问一次时间为6t, 则无缓存访问时间6t*800,有缓存访问时间为t(800-13)+6t*13,提高倍数为:
一个采用直接映射方式的16KB缓存,假设块长为8个32位的字,按字节编址,则地址为FDA459H的主存单元映射到缓存的第几块内(十进制表示)。
(40.0分)
直接映射方式下,块大小8*4B=32B, 所以块内位移占5位
16KB/32B=512,即有512个Cache块,Cache块号占9位
FDA459H=1111 1101 1010 0100 0101 1001, 从右边开始向左,5位块内位移,9位块号
为10 0100 010,十进制数为290
DRAM电容上的电荷一般只能维持1-2ms,所以每隔2ms必须刷新一次,常用的刷新方式有哪些?
(10.0分)
集中刷新,分散刷新,异步刷新
一个四体并行交叉存储器,每个模块容量是64K×32位,按字编址,存取周期为200ns,请问在一个存取周期中,整个存储器能向CPU提供多少位二进制信息?
(10.0分)
32位×4=128位
已知接收到的汉明码为0100111(按配偶原则配置),试问欲传送的信息是什么?
(20.0分)
P4P2P1=110, 正确码为0100101,所以信息是0101
若某存储器存储周期为250ns,每次读出16位,该存储器的数据传输率是多少?
(20.0分)
16位=2B,所以,数据传输率是2B/(250×10-9s)=8×106B/s
流水计算机的数据相关主要分为写后读(RAW)、读后写(WAR),写后写(WAW)。请指出下面三组指令中各存在哪种类型的数据相关?
(1)LDA R1,A ;M(A)→R1;M(A)是存储单元 (4分)
ADD R2,R1 ;(R2)+(R1) →R2
(2)ADD R3,R4 ;(R3)+(R4) →R3 (4分)
MUL R4,R5 ;(R4)*(R5) →R4
(3)LDA R6,B ;M(B) →R6,M(B)是存储单元 (2分)
MUL R6,R7 ;(R6)*(R7) →R6
(10.0分)
(1)写后读相关 (4分)
(2)读后写相关 (4分)
(3)写后写相关 (2分)
指令和数据都存于存储器中,CPU如何区分它们?
(10.0分)
完成一条指令分为取指阶段和执行阶段。在取指阶段通过访问存储器可将指令取出;在执行阶段通过访问存储器可将操作数取出。因此,虽然指令和数据都以二进制代码形式存放在存储器中,但CPU可根据指令周期的不同阶段判断从存储器取出的二进制代码是指令还是数据。
当读取并执行一条指令时,控制器的主要功能是什么?
(10.0分)
① 从主存取指令,并计算下一条指令在主存中的地址;(4分)② 对指令进行译码,产生相应的操作控制信号;(4分)③ 控制指令执行的步骤和数据流动的方向。(2分)
简述中央处理器的基本功能。
(10.0分)
(1)指令控制,即对程序运行的控制;(2分)
(2)操作控制,即对指令内操作步骤的控制;(2分)
(3)数据运算,即对数据进行算术运算和逻辑运算,这是CPU的最基本功能;(2分)
(4)异常处理和中断处理,如处理运算中的溢出等错误情况以及处理外部设备的服务请求等 此外,CPU还具有存储管理、总线管理、电源管理等扩展功能。(4分)
在程序查询方式的输入输出系统中,假设不考虑处理时间,每个查询操作需要100个时钟周期,CPU的时钟频率为50MHz。现有鼠标和硬盘两个设备,而且CPU必须每秒对鼠标进行30次查询,硬盘以32位字长为单位传输数据,即每32位被CPU查询一次,传输率为2*
B/s。求CPU对这两个设备查询所花费的时间比率,由此可得出什么结论?
(50.0分)
(1)CPU每秒对鼠标进行30次查询,所需的时钟周期数为100*30=3000。CPU的时钟频率为50MHz,即每秒50*
个时钟周期,因此对鼠标的查询占用CPU的时间比率为[3000/(50*
)]*100%=0.006%,可见,对鼠标的查询基本不影响CPU的性能。(25分)
(2)对于硬盘,每32位被CPU查询一次,因此每秒查询次数为2*
B/4B=512K;则每秒查询的时钟周期数为100*512*1024=52.4*
,因此对硬盘的查询占用CPU的时间比率为[52.4*
/(50*
)]*100%=105%,可见,即使CPU将全部时间都用于对硬盘的查询,也不能满足磁盘传输的要求,因此CPU一般不采用程序查询方式与磁盘交换信息。(25分)
某计算机的CPU主频为500MHz,CPI为5(即执行每条指令平均需要5个时钟周期)。假定某外设的数据传输率为0.5MB/s,采用中断方式与主机进行数据传送,以32位为传输单位,对应的中断服务程序包含18条指令,中断服务的其他开销相当于2条指令的执行时间。回答下列问题,要求给出计算过程。
(1)在中断方式下,CPU用于该外设I/O的时间占整个CPU时间的百分比是多少?
(2)当该外设的数据传输率达到5MB/s时,改用DMA方式传送数据。假定每次DMA传送块大小为5000B,且DMA预处理和后处理的总开销为500个时钟周期,则CPU用于该外设I/O的时间占整个CPU时间的百分比是多少?(假设DMA与CPU之间没有访存冲突)?
(50.0分)
(1)外设每秒传送0.5MB,中断时每次传送32bit=4B。由于CPI=5,在中断方式下,CPU每次用于数据传送的时钟周期为5*18+5*2=100(中断服务程序+其他开销)。为达到外设0.5MB/s的数据传输率,外设每秒申请的中断次数为0.5MB/4B=125000。
1秒内用于中断的开销为100*125000=12500000=12.5M个时钟周期。
CPU用于外设I/O的时间占整个CPU时间的百分比为12.5M/500M=2.5%。(25分)
(2)当外设数据传输率提高到5MB/s时改用DMA方式传送,每次DMA传送一个数据块,大小为5000B,则1秒内需产生的DMA次数为5MB/5000B=1000.
CPU用于DMA处理的总开销为1000*500=500000=0.5M个时钟周期。
CPU用于外设I/O的时间占整个CPU时间的百分比为0.5M/500M=0.1%。(25分)
假设指令字长为16位,操作数的地址码为6位,指令有零地址、一地址、二地址3种格式。
1)设操作码固定,若零地址指令有M种,一地址指令有N种,则二地址指令最多有几种?(15分)
2)采用扩展操作码技术,二地址指令最多有几种?(15分)
3)采用扩展操作码技术,若二地址指令有P条,零地址指令有Q条,则一地址指令最多有几种?(20分)
(50.0分)
1)操作数地址码为6位,所以二地址指令中操作码的位数为16-6-6=4,这4位操作码最多有16种操作。由于操作码固定,所以二地址指令最多有16-M-N种
2)采用扩展操作码技术,操作码位数随地址数的减少而增加。对应二地址指令,除去用于一地址扩展,最多有15种
3)设一地址指令最多有X种,则
[(24-P)×26-X]×26=Q 所以 X=(24-P)×26 -Q×2-6
某机的机器字长为16位,主存按字编址,指令格式如下:
其中,D为位移量;X为寻址特征位。
X=00: 直接寻址;
X=01: 用变址寄存器X1寻址
X=10: 用变址寄存器X2寻址;
X=11: 相对寻址
设(PC)=1234H, (X1)=0037H, (X2)=1122H(H代表十六位进制数),
请确定下列指令的有效地址:
(1)4420H (2) 2244H (3) 1322H (4) 3521H (5) 6723H
(50.0分)
取指后,PC=1235H(不是1236H,因为主存按字编址)
(1)X=00,D=20H,有效地址EA=20H
(2)X=10,D=44H,有效地址EA=1122H+44H=1166H
(3)X=11,D=22H,有效地址EA=1235H+22H=1257H
(4)X=01,D=21H,有效地址EA=0037H+21H=0058H
(5)X=11,D=23H,有效地址EA=1235H+23H=1258H