222222

假设某基准程序A在某计算机上的运行时间为100秒,其中90秒为CPU时间,其余为I/O时间。若CPU 的速度提高50%,I/O速度不变,则运行基准程序A所耗费的时间为?(请写成计算过程)

90*100/150+10=70

22. 若某程序编译后生成的目标代码由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分)

正确答案:

(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高的指令的占比,或者提高运行速度快的指令的执行概率。

21. 当读取并执行一条指令时,控制器的主要功能是什么?

① 从主存取指令,并计算下一条指令在主存中的地址;(4分)② 对指令进行译码,产生相应的操作控制信号;(4分)③ 控制指令执行的步骤和数据流动的方向。(2分)

22.简述中央处理器的基本功能。

(1)指令控制,即对程序运行的控制;(2分)

(2)操作控制,即对指令内操作步骤的控制;(2分)

(3)数据运算,即对数据进行算术运算和逻辑运算,这是CPU的最基本功能;(2分)

(4)异常处理和中断处理,如处理运算中的溢出等错误情况以及处理外部设备的服务请求等 此外,CPU还具有存储管理、总线管理、电源管理等扩展功能。(4分)

16. 流水计算机的数据相关主要分为写后读(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

正确答案:

(1)写后读相关   (4分)

(2)读后写相关   (4分)

(3)写后写相关   (2分)

17. (简答题, 10分)指令和数据都存于存储器中,CPU如何区分它们?

完成一条指令分为取指阶段和执行阶段。在取指阶段通过访问存储器可将指令取出;在执行阶段通过访问存储器可将操作数取出。因此,虽然指令和数据都以二进制代码形式存放在存储器中,但CPU可根据指令周期的不同阶段判断从存储器取出的二进制代码是指令还是数据。

6. (计算题, 40分)一个采用直接映射方式的16KB缓存,假设块长为8个32位的字,按字节编址,则地址为FDA459H的主存单元映射到缓存的第几块内(十进制表示)。

正确答案:

直接映射方式下,块大小8*4B=32B, 所以块内位移占5位

    16KB/32B=512,即有512个Cache块,Cache块号占9位

FDA459H=1111 1101 1010 0100 0101 1001, 从右边开始向左,5位块内位移,9位块号

为10 0100 010,十进制数为290

1. 某机的机器字长为16位,主存按字编址,指令格式如下:

15       10  9         8  7       0

   操作码         X           D  

其中,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

正确答案:

取址后,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

2. 假设指令字长为16位,操作数的地址码为6位,指令有零地址、一地址、二地址3种格式。

1)设操作码固定,若零地址指令有M种,一地址指令有N种,则二地址指令最多有几种?

操作数地址码为6位,所以二地址指令中操作码的位数为16-6-6=4,这4位操作码最多有16种操作。由于操作码固定,所以二地址指令最多有16-M-N种

2)采用扩展操作码技术,二地址指令最多有几种?

采用扩展操作码技术,操作码位数随地址数的减少而增加。对应二地址指令,除去用于一地址扩展,最多有15种

3)采用扩展操作码技术,若二地址指令有P条,零地址指令有Q条,则一地址指令最多有几种?(20分)

设一地址指令最多有X种,则 [(24-P)×26-X]×26=Q 所以 X=(24-P)×26 -Q×2-6

3.某模型机共有64种操作,操作码位数固定,且具有以下特点。

(1) 采用一地址或二地址格式。

(2) 有寄存器寻址、直接寻址和相对寻址(位移量-128~+127)三种寻址方式。

(3) 有16个通用寄存器,算术运算和逻辑运算的操作数均在寄存器中,结果也在寄存器中。

(4) 取数/存数指令在通用寄存器和存储器之间传递数据。

(5) 存取器容量为1MB,按字节编址。

要求设计算术/逻辑指令、取数/存数指令和相对转移指令的格式。

正确答案:

  1. 算术/逻辑指令格式为寄存器--寄存器型,取单字长16位。

6      2        4       4

OP    M       Ri       Rj

其中,OP为操作码,6位,可实现64种操作;M为寻址模式,2位,可反映寄存器寻址、直接寻址、相对寻址;Ri和Rj各取4位,指出源操作数和目的操作数的寄存器(共16个)编号。

  1. 取数/存数指令格式为寄存器--存储器型,取双字长32位,(35分),格式如下:

6      2        4       4

OP    M       Ri       A1

          A2

其中,OP为操作码,6位不变;M为寻址模式,2位不变;Ri为4位,源操作数地址(存数指令)或目的操作数地址(取数指令);A1和A2共20位,为存储器地址,可直接访问按字节编址的1MB存储器。

  1. 相对转移指令为一地址格式,取单字长16位,(30分),格式如下:

6     2      8

OP    M    A

其中,OP为操作码,6位不变;M为寻址模式,2位不变;A为位移量8位,对应位移量为-128~+127。

4. 在程序查询方式的输入输出系统中,假设不考虑处理时间,每个查询操作需要100个时钟周期,CPU的时钟频率为50MHz。现有鼠标和硬盘两个设备,而且CPU必须每秒对鼠标进行30次查询,硬盘以32位字长为单位传输数据,即每32位被CPU查询一次,传输率为2*B/s。求CPU对这两个设备查询所花费的时间比率,由此可得出什么结论?

正确答案:

(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分)

5. 某计算机的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之间没有访存冲突)?

正确答案:

(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分)

6.设某机有5级中断:L0,L1,L2,L3,L4,其中断响应优先次序为L0最高,L1次之,L4最低。现在要求将中断处理次序改为L1->L3->L0->L4->L2,试问下表中各级中断处理程序的各中断级屏蔽值如何设置(每级对应一位,该位为“0”表示允许中断,该位为“1”表示中断屏蔽)?

正确答案:

L0:11010    L1:01000    L2:11111    L3:01010     L4:11011

7.下图所示为双总线结构机器的数据通路,IR为指令寄存器,PC为程序计数器(具有自增功能),M为主存(受R/W#信号控制),AR为地址寄存器,DR为数据缓冲寄存器,ALU由加、减控制信号决定完成何种操作,控制信号G控制的是一个门电路。另外,线上标注有小圈表示有控制信号,例中yi表示y寄存器的输入控制信号,R1o为寄存器R1的输出控制信号,未标字符的线为直通线,不受控制。

 “ADD R2,R0”指令完成(R2)+(R0)→R0的功能操作,画出其指令周期流程图,假设该指令的地址已放入PC中。并在流程图每一个CPU周期右边列出相应的微操作控制信号序列。(每空2分)

正确答案:

T1:PC->AR    PCo,G,Ari      R2→X         R2o,G,Xi

T2:M->DR     R/=R         R1→Y         R1o,G,Yi

T3:DR->IR     Dro,G,IRi      (R2)+(R0)→R0  + ,ALUo,G,R0i

8.设某机主存容量为16MB,按字节编址,缓存的容量为16KB。每字块有8个字,每个字32位。设计一个四路组相连映射(即缓存每组内共有4个字块)的缓存组织,要求:

(1)给出主存地址字段中各段的位数。

(2)设缓存初态为空,CPU依次从主存第0、1、2、…、99号单元读出100个字(主存一次读出一个字),并重复此次序读8次,问命中率是多少?

(3)若缓存的速度是主存速度的6倍,试问有缓存和无缓存相比,速度提高多少倍?

正确答案:

(1) 主存字块标记12位 组地址7位  字块内地址5位

(2)命中率:    100*8-13 /100*8  *100%=98.375%

(3)缓存访问一次时间为t, 主存访问一次时间为6t, 则无缓存访问时间6t*800,有缓存访问时间为t(800-13)+6t*13,提高倍数为:6t*800 / t(800-13)+6t*13-1=4.5

9.一个全加器包括3个输入和两个输出,输入端分别为加数Xi和Yi,低位进位输入Ci。输出端分别为和Si及本次高位进位输出Ci+1。

 Si=Xi⊕Yi⊕Ci;Ci+1  =  Xi Yi  + (Xi ⊕ Yi )Ci。假设所有与门和或门的传播时间延迟为T,异或门的延迟是6T.

问题(1)和Si的时间延迟?(2)进位输出Ci+1的时间延迟?

正确答案:(1)和Si的时间延迟是6T(2)进位输出Ci+1的时间延迟?5T

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值