计算机组成原理试题库_研究生 下载本文

t1 = T + (m–1)t =200ns + 3×50ns = 350ns = 3.5 × 10 (S) 顺序存储器带宽 W2 = q/t2 = 128 / (8×10) = 16 × 10(位/S) 交叉存储器带宽 W1 = q/t1 = 128 / (3.5×10) = 36.5 × 10(位/S)

3.解:(1)操作码字段OP为16位,可指定2 = 64

(2)双字长(32位)二地址指令,用于访问存储器。 (3)一个操作数在源寄存器(共32个),另一个操作数在存储器中(由基值寄存器

和偏移量决定)。所以是RS型指令。

4.解:(1)假设控存容量为16单元.从总框图看到:控制信号共有12个,CM容量为16单元, 需占用4位下地址字段,判别测试字段需2位.

分析机器指令级的指令格式与A,B两个多路开关的控制方式后发现, AS0, AS1和 BS0,BS1四个控制信号可以直接由机器指令级上的源字段和目标字段控制,但ADT指令例外. 为此微指令中设A,B二个微命令,用以产生AS0, AS1 ,BS0,BS1信号.另外,LDR1—LDR3三个控制信号可以由微指令级提供一个控制信号LDRi,然后与机器指令级上的目标字段进行组合译码后产生 微指令格式如下:

A B S1 S2 +1 !ALU-BUS LDRi LDIR P1 P2 μA3-μA0 1 1 2 1 1 1 1 2位 4位 (2)微指令流程如图A10.4所示:

6

-7

-77

-77

图A10.4

5.解:该总线系统采用同步定时协议。总线周期是在时钟信号CLK和CLK2定时下完成的并与所有的机器周期保持时间上的同步。一个机器周期由2个CLK时钟周期组成(T1,T2节拍)。机器周期1为读指令周期(W/R=0,D/C=0,M/IO=1)。在T1时间主方CPU送出ADS=0信号,表式总线上的地址及控制信号有效,在T2时间末尾,从方存储器读出指令并送到数据线D0—D31上,同时产生READY=0信号,通知CPU本次“读出”操作已完成。机器周期2为读数据周期,除了D/C=1外,其余与机器周期1相同。

机器周期3为写数据周期,W/R=1,写入的数据由CPU输出到数据线D0—D31上。假如在一个机器周期内能完成写入操作,则在T2末尾由存储器产生READY=0信号,。假如T2末尾尚未完成写入操作(图A10.2中所示),则READY=1,并将T2延长一个时钟周期。CPU在后一个T2末尾检测READY=0,于是结束写入周期。T2可以多次延长,直到READY=0为止。读出周期也可按此方法处理。

图A10.2中还所示总线的空闲状态,空闲状态仅有一个Ti节拍,只要总线空闲,可以连续出现多个Ti节拍。

6.解:该中断系统可以实行5重中断。中断优先级的顺序是,优先权1最高,主程序运行于最低优先权(优先权为6)。图A10.3中出现了4重中断。

图A10.3中中断过程如下:

主程序运行到T1时刻,响应优先权4的中断源的中断请求并进行中断服务;到

T3时刻,优先权4的中断服务还未结束,但又出现了优先权3的中断源的中断请求;暂停优先权4的中断服务,而响应优先权3的中断。到T4时刻,又被优先权2的中断源所中断,直到T6时刻,返回优先权3的中断服务程序,到T7时刻,又被优先权1的中断

源所中断,到T8时刻优先权1中断服务完毕,返回优先权3的服务程序,直到T10时刻优先权3中断服务结束,返回优先权4的服务程序,优先权4的服务程序运行到T11时刻结束,最后返回主程序。图A10.3中,优先权3的服务程序被中断2次,而优先权5的中断又产生。

研究生入学试卷三答案

三. 选择题

1.D 2. A,C 3.C 4.A 5.B 6.B 7.A 8.B 9.C 10.B

四. 填空题

1.A.字符串 B.压缩的十进制数 C.非数值

2.A.全相联 B.直接 C.组相联

3.A.堆栈指示器 B.主存单元 C.栈顶 4.A.软件 B.规整性 C.灵活性 5.A.并行 B.串行 C.复用

6.A.串行 B.数据传输速率 C.数据传送

三.应用题

1.解:[x]原=11111, [x]补=10001, [y]原=11101, [y]补=10011

算前求补器输出后, |x|=1111, |y|=1101 1 1 1 1 × 1 1 0 1

_____________________

1 1 1 1 乘积符号位单独运算: 0 0 0 0 x0⊕ y0=1⊕ 1=0

1 1 1 1 + 1 1 1 1

_____________________ 1 1 0 0 0 0 1 1

算后求补器输出为1 1 0 0 0 0 1 1,加上乘积符号位0,得最后补码乘积值为 011000011 补码二进制数真值是 :x×y=0×2+1×2+1×2+1×2+1×2=(+195)10 十进制数乘法验证:x×y=(-15)×(-13)=+195.

2.解:顺序存储器和交叉存储器连续读出m=8个字的信息总量都是

q = 64位 × 8 =512位

顺序存储器和交叉存储器连续读出8个字所需的时间分别是

8

7

6

1

0

t2 = mT = 8 × 200ns =1600ns =16 × 10 (S)

t1 = T + (m–1)t =200ns + 7×50ns = 550ns = 5.5 × 10 (S) 顺序存储器带宽 W2 = q/t2 = 512 / (16×10) = 32 × 10(位/S)

交叉存储器带宽 W1 = q/t1 = 512/ (5.5×10) = 73 × 10(位/S)

-7

7

-7

7

-7

-7

3.解 (1)第一种指令是单字长二地址指令,RR型;第二种指令是双字长二地址指 令RS型,其中S采用基址寻址或变址寻址,R由源寄存器决定;第三种也是双 字二地址指令,RS型,其中R由目标寄存器决定,S由20位地址(直接寻址)决 定。

(2)处理器完成第一种指令所花的时间最短,因为是RR型指令,不需要访问存

储器。第二种指令所花的时间最长,因为是RS型指令,需要访问存储器,同时要进行寻址方式的变换运算(基址或变址),这也要时间。第二种指令的执行时间不会等于第三种指令,因为第三种指令虽也访问存储器,但节省了求有效地址运算的时间开销。

(3)根据已知条件:MOV(OP) = 0010101 STA(OP) = 011011 LDA(OP) =

111100, 将指令的十六进制格式转换成二进制代码且比较后可知:

①(F0F1)H(3CD2)H 指令代表LDA指令,编码正确,其含义是把主存

(13CD2)H地址单元的内容取至15号寄存器。 ②(2856)H代表MOV指令,编码正确,含义是把5号源寄存器的内容传送至6号

目标寄存器。

③ (6FD6)H是单字长指令,一定是MOV指令,但编码错误,可改正为(28D6)H

④(1C2)H是编码错误,可改正为(28C2)H,代表MOV指令。

4.证明:设P1是有总延迟时间t1的非流水线处理器。故其最大吞吐量(数据带宽 为1/t1。又设Pm的m字段流水线处理器 。并假设组成Pm的个段具有如下相同 的结构:其中每一个处理线路Ci具有同样的延迟时间tC,每段中寄存缓冲器RI

及其有关控制逻辑的延迟时间为tR,这样Pm的每段总延迟时间为tC + tR,故Pm的

-1

最大吞吐能力为(tC + tR)

如果Pm是将P1划分成延迟近似相同的若干段而形成的,那么t1=m×tC,因此

-1

P1 的最大吞吐能力接近于(m×tC).由此可得出结论:如果mtC>tC+tR满足,则Pm 比Pi有更强的最大吞吐能力。 5.解:(1)因为刷新所需带宽 = 分辨率*每个像素点颜色深度*刷新速率 所以 1024×768×3B×72/S = 165888 KB/S = 162 MB/S 刷新总带宽应为162MB/S × 100/50 = 324MB/S

(2) 为达到这样高的刷存带宽,可采取如下技术措施: 使用高速DRAM芯片组成刷存 刷存采用多体交叉结构

刷存至显示控制器的内部总线宽度由32位提高到64位,甚至128位

刷存采用双端口存储器,将刷新端口与更新端口分开。

6.解:该中断系统可以实行5重中断。中断优先级的顺序是,优先权1最高,主程序运行于最低优先权(优先权为6)。图A11.1中出现了4重中断。

图A11.1中中断过程如下:

主程序运行到T1时刻,响应优先权4的中断源的中断请求并进行中断服务;到

T3时刻,优先权4的中断服务还未结束,但又出现了优先权3的中断源的中断请求;暂停优先权4的中断服务,而响应优先权3的中断。到T4时刻,又被优先权2的中断源所中断,直到T6时刻,返回优先权3的中断服务程序,到T7时刻,又被优先权1的中断源所中断,到T8时刻优先权1中断服务完毕,返回优先权3的服务程序,直到T10优先权3中断服务结束,返回优先权4的服务程序,优先权4的服务程序运行到T11结束,最后返回主程序。图A11.1中,优先权3的服务程序被中断2次,而优先权5的中断又产生。

研究生入学试卷四答案

一. 选择题

1. D 2. C 3. B 4. D 5. D 6. A 7. A 8. C,D 9.B 10.D

二. 填空题

1.A.符号 B.非数值 C.ASCII 2.A.前后相继 B.找道 C.等待

3.A.二进制代码 B.操作码 C.地址码 4.A.时间并行性 B.高性能 C.流水 5.A.总线带宽 B.传输速率 C.264MB/S 6.A.组成 B.选择 C.多路

三. 应用题

1.解:运算器的故障位置在多路开关B,其输出始终为R1的值。

分析如下:

(1) R1(A) + R2(B) = 1010, 输出结果错

(2) R2(A) + R1(B) = 1111, 结果正确,说明R2(A),R1(B)无错 (3) R1(A) + R1(B) = 1010, 结果正确,说明R1(A),R1(B)无错 由此可断定ALU和BR无错

(4)R2(A) + R2(B) =1001, 结果错,由于R2(A)正确且R2(A)=1010 推知R2(B)=0101,显然多路开关B有问题

(1) R2(A) + BR(B) =1111,结果错,由于R2(A)=1010,BR(B)=1111, 但现推知BR(B)=0101,证明开关B输出有错

(2) R1(A)+BR(B) =1010,结果错,由于R1(A)=0101,本应BR(B) =1111,但现推知BR(B)=0101,证明开关B输出有错

综上所述,多路开关B输出有错。故障性质:多路开关B输出始终为0101,这有两种可能:一是控制信号BS0,BS1始终为01,故始终选中寄存器R1;二是多路开关B电平输出始终嵌在0101上。