计算机组成原理课后答案

更新时间:2023-10-12 12:11:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第1章 习题及解答

1-4 冯·诺依曼计算机体系的基本思想是什么?按此思想设计的计算机硬件系统应由哪些部件组成?各起

什么作用?

答: 冯?诺依曼计算机体系的基本思想是: (1) 计算机内部采用二进制来表示指令和数据。

(2) 将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作,使计算机在不需要人工干预

的情况下,自动、高速地从存储器中取出指令加以执行。

(3) 计算机由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成。 1-5 计算机系统从功能上可划分为哪些层次?各层次在计算机中起什么作用? 答:有五级

第一级是微程序设计级。这是一个实在的硬件级,它由机器

硬件直接执行微指令。

第二级是一般机器级,也称为机器语言级,它由微程序解释

机器指令系统。这一级也是硬件级。

第三级是操作系统级。它由操作系统程序实现,称为混合级。

操作系统由机器指令和广义指令组成。广义指令是指操作系统定义和解释的软件指令。

第四级是汇编语言级。一级由汇编程序支持和执行。 第五级是高级语言级。这是面向用户的,为方便用户编写应

用程序而设置的。

1-6 为什么软件能够转化为硬件?硬件能够转化为软件?

实现这种转化的媒介是什么?

答:因为硬件和软件在逻辑中逻辑上等价,媒介是固件(将程序固定在ROM中组成的部件)。固件是一种

软件特性的硬件,它既具有硬件的快速性特点,又有软件的灵活性特点。这是软件和硬件相互转化的典型实例。

五级 四级 三级 二级 高级语言级 应用 编译程序 软件 汇编语言级 汇编程序 操作系统级 系统软件 操作系统 一般机器级 微程序 硬件 系统 微程序设计级 一级

第2章 习题及解答

2-2 将下列十进制表示成二进制浮点规格化的数(尾数取12位,包括一位符号位;阶取4位,包括一位符号位),并写出它的原码、反码、补码三和阶移尾补四种码制形式;

(1)7.75

解:X=7.75=(111.11)2=0.11111×211 [X]原=0011×0.11111000000 [X]反=0011×0.11111000000 [X]补=0011×0.11111000000 [X]阶称,尾补=1011×0.11111000000

(2) –3/64

解:X=-3/64=(-11/26)2=(-0.00001)2=-0.11×2[X]原=1100×1.11000000000 [X]反=1011×1.00111111111 [X]补=1100×1.01000000000 [X]阶称,尾补=0100×1.01000000000

(3) 83.25

解:X=-3/64=(1010011.01)2=0.101001101×2111 [X]原=0111×0.101001101 [X]反=[X]补=[X]原

[X]阶称,尾补=1111× 0.10100110

(4) –0.3125

解:X=(–0.3125)10=(-0.0101)2=-0.101×2-1 [X]原=1001×1.10100000000 [X]反=1110×1.01011111111 [X]补=1111×1.01100000000 [X]阶称,尾补=0111×1.01100000000

2-4 已知x和y,用变形补码计算x+y,并对结果进行讨论。 (2) x=0.11101,y=-0.10100

解:[X]补=00.11101, [Y]补=11.01100, [-Y]补=00.10100 [X]补+ [Y]补=00.11101+11.01100=00.01001 X+Y=0.01001

[X]补- [Y]补= [X]补+ [-Y]补=00.11101+00.10100=01.10001 X+Y 正溢

(3) x=-0.10111,y=-0.11000

[X]补+ [Y]补=11.01001+11.01000=11.10001 X+Y=-.011111

[X]补- [Y]补= [X]补+ [-Y]补=11.01001+00.11000=00.00001 X-Y =0.00001

2-5 已知x和y,用变形补码计算x-y,并对结果进行讨论。 (1) x=0.11011,y=0.11101

解:[X]补=00.11011, [Y]补=00.11101, [-Y]补=11.00011

[X]补+ [Y]补=00.11011+00.11101=01.11000 X+Y 正溢

[X]补- [Y]补= [X]补+ [-Y]补=00.11011+11.00011=11.11110 X-Y=-0.00010 (2) x=0.11111,y=-0.11001

解:[X]补=00.11111, [Y]补=11.00111, [-Y]补=00.11001 [X]补+ [Y]补=00. 11111+11.00111=00.00110 X+Y=0.00110

[X]补- [Y]补= [X]补+ [-Y]补=00.11111+00.11001=01.1100 X-Y 正溢 解: [X]补=11.01001, [Y]补=11.01000, [-Y]补=00.11000

-100

2-6 用原码一位乘法和补码一位乘法计算x×y=? (2) x=-0.11010,y=-0.01011

解 |x| = 00.11010 (用双符号表示), |y| = 0.01011 (用单符号表示) 部分积 乘数yn 说明

0 0.0解 |x| = 00.11010 (用双符号表示), |y| = 0.01011 (用单符号表示) 部分积 乘数yn 说明

0 0.0 0 0 0 0 0.0 1 0 1 1 yn=1,加|x|

+0 0.1 1 0 1 0 0 0.1 1 0 1 0 0 0 1 0 1 1

0 0.0 1 1 0 1 0 0.0 1 0 1 右移一位得p1

+0 0.1 1 0 1 0 yn =1,加|x|

0 1.0 0 1 1 1 0 0.0 1 0 1 0 0.1 0 0 1 1 1 0 0.0 1 0 右移一位得p2

+0 0.0 0 0 0 0 yn =0,加0 0 0.1 0 0 1 1 1 0 0.0 1 0 0 0.0 1 0 0 0 1 1 0 0.0 1 右移一位得p3 +0 0.1 1 0 1 0 yn=1,加|x| 0 1.0 0 0 1 0 1 1 0 0.0 1

0 0.1 0 0 0 1 1 1 1 0 0.0 右移一位得p4 +0 0.0 0 0 0 0 yn=1,加|x|

0 0.1 0 0 0 1 1 1 1 0 0.1

0 0.0 1 0 0 0 1 1 1 1 0 0. 右移一位得p5

ps = xs⊕ys=1⊕1= 0 |p| = |x|?|y| = 0.0100011110 所以 [x?y]原=0.100011110

解 [x]补= 11.00110, [–x]补= 00.11010 (用双符号表示), [y]补= 1.10101 部分积 乘数 ynyn+1 说明

0 0.0 0 0 0 0 1.1 0 1 0 1 0 + 0 0.1 1 0 1 0 ynyn+1=10.加[–x]补 0 0.1 1 0 1 0

0 0.0 1 1 0 1 0 1.1 0 1 0 1 右移一位得p1

+ 1 1. 0 0 1 1 0 ynyn+1=01. 加[x]补

1 1.1 0 0 1 1 1 1.1 1 0 0 1 1 0 1.1 0 1 0 右移一位得p2 + 0 0. 1 1 0 1 0 ynyn+1=10.加[–x]补

0 0.1 0 0 1 1

0 0.0 1 0 0 1 1 1 0 1.1 0 1 右移一位得p3 1 1.0 0 1 1 0 ynyn+1=01 加[x]补 1 1.0 1 1 1 1

(用单符号表示) 1 1.1 0 1 1 1 1 1 1 0 1.1 0 右移一位得p4 +0 0.1 1 0 1 0 ynyn+1=10.加[–x]补 0 0 1 0 0 0 1 1 1 1 0 1.1 0

0 0 0 1 0 0 0 1 1 1 1 0 1.1 ynyn+1=11 右移 0 0 0 0 1 0 0 0 1 1 1 1 0 1. 最后不移位

[x?y]补=0.0100011110

2-7 用补码两位乘法计算x×y=? (1) x=0.10110,y=-0.00011

答案为:[x?y]补=1.1110111110

解 解 [x]补=000.10110,[-x]补=111.01010,2[-x]补=110.10100, 2[x]补=001.01100 [y]补=1.11101(尾数为5,是偶数,用单符号位表示)

部分积 乘数 ynyn+1 说明 0 0 0.0 0 0 0 0 1.1 1 1 0 1 0

0 0 0.1 0 1 1 0 yn-1ynyn+1=010 加[x]补 0 0 0.1 0 1 1 0

0 0 0.0 0 1 0 1 1 0 1.1 1 1 0 右移两位

1 1 1.0 1 0 1 0 yn-1ynyn+1=110 加[-x]补 1 1 1.0 1 1 1 1 1 0 1.1 1 1 0

1 1 1.1 1 0 1 1 1 1 1 0 1.1 1 右移两位

0 0 0.0 0 0 0 0 yn-1ynyn+1=111 0

1 1 1.1 1 0 1 1 1 1 1 0 1.1 1 最后的位移一位 1 1 1.1 1 1 0 1 1 1 1 1 0 1.1 故 [x×y]补=1.1110111110

2-8 用原码不恢复余数法和补码不恢复余数法计算x÷y=?

(1) x=0.10101,y=0.11011 原码不恢复余数法

[|x|]补=00.10101,[|y|]补= 00.11011 ,[–|y|]补= 11.00101 (用双符号表示) 被除数x /余数r 商数q 说明 0 0.1 0 1 0 1

+ [–|y| ]补 1 1.0 0 1 0 1 减去除数 1 1.1 1 0 1 0 0 余数为负,商上0 ← 1 1.1 0 1 0 0 0 r和q左移一位 + [ |y|]补 0 0.1 1 0 1 1 加上除数 0 0.0 1 1 1 1 0.1 余数为正,商上1 ← 0 0.1 1 1 1 0 0.1 r和q左移一位 + [–|y| ]补 1 1.0 0 1 0 1 减去除数 0 0.0 0 0 1 1 0.1 1 余数为正,商上1 ← 0 0.0 0 1 1 0 0.1 1 r和q左移一位 +[–|y| ]补 1 1.0 0 1 0 1 减去除数 1 1.0 1 0 1 1 0.1 1 0 余数为负,商上0

← 1 0.1 0 1 1 0 0.1 1 0 r和q左移一位 + [|y| ]补 0 0.1 1 0 1 1 加上除数 1 1.1 0 0 0 1 0.1 1 0 0 余数为负,商上0 ← 1 1.0 0 0 1 0 0.1 1 0 r和q左移一位 + [|y| ]补 0 0.1 1 0 1 1 加上除数 1 1.1 1 1 0 1 0.1 1 0 0 0 余数为负,商上0 QS= XS⊕YS = 0⊕0 = 0 答案为:[x/y]原=0.11000,

解 [x]补= 00.10101, [y]补= 00.11011,

被除数x/余数r 商数q 说明

[–y]补= 11.00101 (用双符号表示)

0 0.1 0 1 0 1 +[-y]补 1 1.0 0 1 0 1 x和y同号,[x]补+[-y]补 1 1.1 1 0 1 0 0 余数与y异号,商上0 ← 1 1.1 0 1 0 0 0 r和q左移一位 +[y]补 0 0.1 1 0 1 1 0.1 加上除数 0 0.0 1 1 1 1 0.1 余数与y同号,商上1, ← 0.0 1 1 1 1 0 0.1 r和q左移一位 + [y]补 1 1.0 0 1 0 1 0 1 减去除数

0 0.0 0 0 1 1 0.1 1 余数与y同号,商上1 ← 0.0 0 0 1 1 0 0.1 1 r和q左移一位 +[–y]补 1 1.0 0 1 0 1 减去除数 1 1.0 1 0 0 1 1. 1 1 0 余数与y异号,商上0 ← 1 0.1 0 0 1 0 1. 0 1 1 r和q左移一位 +[y]补 0 0.1 1 0 1 1 加上除数 1 1.1 0 0 0 1 1.0 1 1 0 余数与y异号,商上0

← 1 1.0 0 0 1 0 1. 0 1 1 r和q左移一位

+[y]补 0 0.1 1 0 1 1 加上除数 1 1.1 1 1 0 1 1.0 1 1 0 0 余数与y异号,商上0

不能除尽,商为正,不需校正: [x/y]补=[x/y]补=0.11000,

答案为:[x/y]原=0.11000, [x/y]补=0.11000,

2-9 设数的阶码为3位,尾数为6位(均不包括符号位),按机器补码浮点运算步骤,完成下列[x+y]补,

和[x-y]补的运算;

(1) x=2-011×0.100100,y=2-010×(-0.011010)

解:为了便于直观理解,假设两数均以补码表示,阶码采用双符号位,尾数采用双符号位,则它们的

浮点表示分别为:

[ X ]补 = 11.101 , 00. 100100

[ Y ]补 = 11.110 , 11. 100110 [ -Y ]补 = 11.110 , 00. 011010 (1) 求阶差并对阶: [ -Ey]补 =00.010

ΔE = Ex – Ey = [ Ex]补 + [ - Ey]补 = 11.101 +00.010 = 11111 即ΔE为 –1,x的阶码小,应使Mx 右移1位,Ex加1,

[ X ]浮 = 11.110 , 00. 010010 (2) 尾数和差

[Mx ]补+[My ]补= 00. 010010+11. 100110=11.111000 [Mx ]补-[My ]补= 00. 010010+00. 011010=00.101100 (3) 规格化处理

尾数运算结果的符号位与最高数值位为同值, [Mx ]补+[My ]补 应执行左规3位,阶减3, 结果为11.000000,阶码为11 011 。 [Mx ]补-[My ]补 不要规格化

(4) 判溢出

阶码符号位为11 ,不溢出,故得最终结果为x + y = 2-101× (-1)=2 -5× (-1)

x-y=2-010×(0. 101100)

2-10 如何判断浮点数据运算的溢出? 答:用阶的降号位

2-12 影响加法器速度的主要因素是什么?如何提高加法器的工作速度?

答:是生产进位传递时间,采用分组进位的方法,组内并行进位,组间并行进位。

2-13 某加法器最低进位为第0位,分别按串行进位方式和并行进位方式写出进位信号C4的逻辑表达式(从

原始输入到产生C4)。

串行进位 C1=G1+P1C0 ,C1=G2+P2C1,C3=G3+P3C2,C4=G4+P4C3,

并行进位 C1 = G1 + P1C0

C2 = G2 + P2C1 = G2 + P2(G1 + P1C0) = G2 + P2G1 + P2P1C0

C3 = G3 + P3C2 = G3 + P3(G2 + P2C1) = G3 + P3G2 + P3P2G1+ P3P2P1C0 C4 = G4 + P4G3+ P4P3G2 + P4P3P2G1+ P4P3P2P1C0

2-14 某加法器采用组内并行、组间并行的进位链,四位一组,写出进位信号C6的逻辑表达式。 C6 = G6 + P6G5+ P6P5(G*1 + P*1C0)

2-15 利用74181和74182芯片构成一个32位的ALU,采用多级分组并行进位链。

第3章 习题解答

C32SN74182C16G2△P2△C28C24C20G1△P1△C12SN74182C8C4同右边G4*P4*G3F16~F13*P3*F12~F9SN74181G2*P2*F8~F5G1*P1*F4~F1SN74181B32A32B17A17SN74181SN74181C0B16~B13A16~A13B12~B9A12~A9B8~B5A8~A5B4~B1A4~A1 32位三重进位方式

3-1 解释下列名词:

存储元,存储单元,存储体,存储容量,存取周期。 答:基本存储元是用来存储一位二进制信息0或1。

存储单元需要n个存储元才能组成一个存储单元。 存储体是存储单元的集合。

存储容量就是存储器可以容纳的二进制信息的数量,常以字节(Byte)为单位。

存储周期时间 是指存储器完成一次的存取操作所需的时间,即存储器进行两次连续、独立的操作(或读写)之间所需的时间,用TM表示。 3-3 存储器的功能是什么?

答:存储器是计算机中信息的存放地,是CPU与外界进行数据交流的窗口,是计算机中的核心组成部分。 3-6 为什么动态RAM需要刷新?常用的刷新方式有哪几种?

答: 动态RAM存在电容,电容放电需要刷新,常用的刷新有集中式刷新,分散式刷新,异步刷新三种 3-8 八体交叉主存系统,每体并行读出两个字,每字长两字节,主存周期为T,求存储器最大频宽。 答: 频宽为单位时间读出的二进制位数 W=Q/T Q为读出信息的总量 Q=2×2×8B=32B W=32B/T

3-9 设主存容量为4MB,如果分别采用字为32位或16位编址,则需要地址码至少多少位?如果系统允许字节编址,则需要地址码至少多少位? 答: 4MB=4×220B=222B

32位编址 222B /22B=220 需要地址码为20位

16位编址 222B /2B=221 需要地址码为21位

允许字节编址 需要地址码为22位 3-11 设有一个具有14位地址和8位字长的存储器,问:

(1)该存储器能存储多少字节的信息?

(2)如果存储器由4K×4位RAM芯片组成,需要多少片? (3)需要多少位地址作芯片选择? 答:(1) 14位 214B=24KB =16KB

(2)

16K4K?84?4?2?8 片

(3) 14位->12位 高2位地址作芯片选择。

3-12 有一个4K×16位的存储器,由1K×4位的DRAM芯片构成(芯片内部结构是64×64),问:

(1)总共需要多少DRAM芯片? (2)设计此存储体组成框图。

(3)采用异步刷新方式,如单元刷新间隔不超过2ms,则刷新信号周期是多少? (4)如采用集中刷新方式,存储器刷新一遍最少用多少读/写周期? 答:(1)

4K1K?164?4?4?16 片

(2) 字向4片,位向4片组成4行×4列的矩阵,地址线A0-A9直接接1k×4芯片的地址,A10和A11经译码器译出4根地址分别接向每一行的1k×4芯片的片选信号,第一列1k×4的4位数据线接总芯片的D0-D3,第二列1k×4的4位数据线接总芯片的D4-D7,第三列1k×4的4位数据线接总芯片的D8-D11, 第四列1k×4的4位数据线接总芯片的D12-D15,

(3) 2ms/64=31.25üS 取31üS (4) 64周期

3-14 某高速缓冲存储器与主存采用组相联映像方式,Cache存储器容量为32字块,分为8组,主存容量为4096字块,每块64字。

(1)主存地址有多少位?

(2)主存地址字段如何划分?各字段各需要多少位? 解:(1) Cache 32字块为25 8组23 主存 4096×64=212×26==218 18位地址 主存地址字段如何划分为 9 3 6 标记 组 块内 3- 15 设在具有高速缓存的计算机中,如果程序对字块的要求依次为

B1B7B6B7B3B6B4B7B5B7B2

设Cache容量为3个字块,且开始时Cache为空,求用FIFO和LRU算法时各自的命中率。 解: LRU 不中 中 FIFO 不中 中 B1 B1 1 B1 1 0

B7 B1 B7 1 B1 B7 1 1` 0

B6 B1 B7 B6 1 B1 B7 B6 1 2 1 0

B7 B1 B7 B6 1 B1 B7 B6 1 3 0 1

B3 B3 B7 B6 1 B7 B6 B3 1 0 1 2

B6 B1 B7 B6 1 B7 B6 B3 1 1 2 0

B4 B3 B4 B6 1 B6 B3 B4 1 2 0 1

B7 B7 B4 B6 1 B3 B4 B7 1 0 1 2

B5 B7 B4 B5 1 B4 B7 B5 1 1 2 0

B7 B7 B4 B6 1 B4 B7 B5 1 0 3 1

B2 B7 B2 B6 1 B7 B5 B2 1 1 0 2

LRU 为3/11 FIFO 为3/11

第4章 习题与解答

4-1什么是指令?什么是指令系统?如何评价一个指令系统的性能优劣? 答:指令就是要计算机执行某种操作的命令,因又称为机器指令。 一台计算机中所有机器指令的集合,称为这台计算机的指令系统。 从完备性,高效性、规整性和兼容性几个方面进行评价。

4-2 什么叫做寻址方式?寻址方式有哪几类?操作数基本寻址方式有哪几种?每种寻址方式有效地址的数

学形式如何表达?

答:所谓寻址方式,就是寻找该操作数或指令的有效地址的方式。寻址方式有2类, 寻找该操作数

或指令的有效地址 操作数基本寻址方式有

(1)隐含寻址,指令中隐含着操作数的地址;

(2) 立即寻址 指令的地址字段指出的不是操作数的地址,而是操作数本身;

(3) 寄存器寻址 操作数放在CPU的通用寄存器中; (4) 直接寻址 EA=(A) (5) 间接寻址 EA=((A)) (6) 相对寻址方式 EA=(PC)+D (7) 变址和基址寻址方式 (8)复合寻址方式 (9) 块寻址方式 (10) 段寻址方式

4-5 某机16位字长指令格式如下:

其中:D为形式地址,补码表示(包括号一位符号位)。

M 为寻址方式 M=0 立即寻址;

M=1 直接寻址(此时D视为无符号数); M=2 间接寻址;

M=3 变址寻址(变地址寄存器为RX); M=4 相对寻址

试问:(1)该指令格式能定义多少种不同的操作?立即寻址操作数的范围是多少?

(2)写出各种寻址方式计算有效地址的表达式。

(3)当M=1、2、4时,能访问的最大主存区为多少机器字(主存容量为64K字)?

答:(1)该指令格式能定义25 =32种不同的操作; 立即寻址操作数的范围是(-128,128) (2) M=0 Data=D

M=1 EA=A Data=(D) M=2 EA=(A) Data=((D))

M=3 EA=(RX)+D

M=4 EA=(PC)+D (3) M=1 范围 2=256 M=2 范围 216=64K字 M=4范围 2=64K字

4-6 基址寻址与变址寻址有什么不区别?

答:变址寻址和基址寻址的地址计算方法相同,但二者又有细微的区别。习惯上基址寻址中基址寄存器提供基准值而指令提供位移量,而变址寻址中变址寄存器提供位移量而指令提供基准值。

4-7 某计算机字长16位,主存容量640K字,采用单字长单地址指令,共有40条指令.试采用直接、立即、变

址、相对四种寻址方式设计指令格式。

答:(1) 40条指令,操作码字段6位,寻址模式2位,形式地址8位 15 10 9 8 7 0 OP M D 168

6 2 8 寻址模式M的定义

M=00,直接 EA=D (256个单元) M=01,间接 EA=(D) (64K)

M=10,变址 EA=(Rx)+D (64K) M=11,相对 EA=(PC)+D (64K) 其中 Rx,PC都是16位的寄存器。

第5章 习题与解答

5-1 CPU主要应该具有哪些方面的功能?

答: 主要具有:指令控制,操作规程控制;时间控制; 数据加工四个方面的功能。 5-2 CPU中至少应该有哪些主要的寄存器?各个寄存器的作用是什么?

答: 在CPU中至少要有六类寄存器,指令寄存器(IR);程序计数器(PC);地址寄存器(AR);缓冲寄

存器(DR);累加寄存器(AC);状态条件寄存器(PSW)。

指令寄存器用来保存当前正在执行的一条指令的代码。程序计数器总是指向将要执行的下一条指令的内存地址所以修改的过程通常只是简单对PC加1。地址寄存器用来保存CPU当前所访问的内存单元的地址。数据缓冲寄存器用来暂时存放由内存储器读出的一条指令或一个数据字。累加寄存器(AC)通常简称为累加器。当ALU执行算术运算或逻辑运算时,为ALU提供一个工作区,可以为ALU暂时存放一个操作数或运算结果。状态条件寄存器用来保存ALU执行的状态信息,如运算结果进位标志(C),运算结果溢出标志(V),运算结果为零标志(Z),运算结果为负标志(N)等。 5-5 控制操作器和时序产生器的作用是什么?

答: 操作控制器就利用定时脉冲的顺序和不同的脉冲间隔,有条理、有节奏地指挥机器的动作,规定在这个脉冲到来时做什么,在那个脉冲到来时又做什么,给计算机各部分提供工作所需的时间标志。 5-7 CPU有哪几种控制方式?各有什么特点?如何实现?

常用控制方式有同步控制、异步控制和联合控制三种。

同步控制方式又称为固定时序控制方式,其基本思想是选取部件中最长的操作时间作为统一的时间标准,使所有的部件都在这个时间间隔内启动并完成操作。

异步控制方式是指每条指令、每个操作控制信号需要多少时间就占用多少时间。等待执行部件完成操作后发回“回答”信号,然后再开始新的操作。

联合控制方式是同步控制和异步控制相结合的一种控制方式。一种情况是,大部分操作序列安排在固定的机器周期中,而对某些时间难以确定的操作则以执行部件的“回答”信号作为本次操作的结束。另一种情况是,机器周期的节拍脉冲数固定,但是各条指令中的机器周期数不固定。 5-8 设R1、R2、R3、R4是CPU中的通用寄存器,试用方框语言表示下列操作:

(1)取数指令 “LDA (R1),R2”;

(2)存数指令 “STA R1 ,(R4)”的指令周期流程图。

其中:(1)是将(R1)指示的主存单元内容取到寄存器R2中来;(2)是将寄存器R3的内容放到(R4)指

示的主存单元中去。 答:

PC->AR->ABUS DBUS->DR->IR PC+1->PC 译码或测试 LDA STA R1->AR R3->DR D4->AR AR>ABUS DR->M

AR->ABUS DBUS->DR DR->R2

5-9 如果在一个CPU周期中要产生3个节拍脉冲:T1=200ns, T2=400ns, T3=200ns,度画出时序产生器逻辑

图。 答:

5-10 假设某机器有80条指令,平均每条指令由4条微指令组成,其中有一条取微指令是所有指令公有的。

已知微指令长度为32位,请估计控制存储器容量。 答:3×80+1=241条 28=256 容量为256×32位

5-12 某计算机有8条微指令I1~I8,每条微指令所包含的微命令信号如下表所示。

微指令 I1 I2 I3 I4 I5 I6 I7 I8 a √ √ √ √ b √ √ √ c √ √ √ √ d √ √ √ 微命令信号 e √ √ f √ g √ √ h √ √ √ √ i √ j √ 其中,a~j对应于10种不同性质的微命令信号,假设一条微指令的控制字段仅限8位,试安排微指令的控制字段格式。

答:把一个微指令周期中的互斥性微命令信号结合在一个小组中,进行分组译码;

(e,f,h) (b,g,h) 1 0 1 0 0 1 0 1 1 1 1 1 a c d j × × × × 5-16 有四级流水线,分别完成取指、指令译码并取操作数据、运算、送结果等四步操作。假设完成各步

操作的时间依次为 100ns、100ns、80ns、50ns。请问:

(1) 流水线的操作周期应设计为多少:

(2) 若相邻两条指令发生数据相关,而且在硬件上不采取措施,那么第2条指令要推迟多少时间进行?

(3)如果在硬件设计上加以改进,至少需推迟多少时间?

解:⑴ 流水线的操作时间应按各步操作的最大时间来考虑,应为100ns。

⑵ 若相邻两条指令发生数据相关,且在硬件上不采取措施,应停顿第2条指令的执行,直到前面的指令结果已经产生,因此要推迟2个时钟周期的时间。

⑶ 若对硬件进行改进,如采用专用的通路技术,那么第2条指令的执行将不会被推迟。

第6章 习题与解答

6-1 什么是总线?计算机系统有哪几种总线结构?各有何特点?

答:所谓总线就是指能为多个功能部件服务的一组公用信息线,并且能够分时地发送和接收信息。 一个计算机系统中的总线,大致分为三类:

(1)同一部件如CPU内部连接各寄存器及运算器之间的总线,称为内部总线。

(2)同一台计算机系统的各部件,如CPU、内存、通道和各类I/O接口间互相连接的总线,称为系统总线。

(3)多台处理机之间互相连接的总线,称为外部总线。 6-2 集中式总线控制有哪三种方式?各有什么优缺点?

答:集中式总线控制有链式查询方式、计数器定时查询方式和独立请求方式。

优缺点:链式查询方式连线简单,易于扩充,对电路故障最敏感;计数器查询方式优先级设置较灵活,对故障不敏感,连线及控制过程较复杂;独立请求方式判优速度最快,但硬件器件用量大,连线多,成本较高。

6-3 什么是同步通讯和异步通讯?比较两者的优缺点。

答:同步通信——由统一时钟控制的通信,控制方式简单,灵活性差,当系统中各部件工作速度差异较大时,总线工作效率明显下降。适合于速度差别不大的场合;

异步通信——不由统一时钟控制的通信,部件间采用应答方式进行联系,控制方式较同步复杂,灵活性高,当系统中各部件工作速度差异较大时,有利于提高总线工作效率。 6-4 比较串行传送与并行传送的特点。

答:串行传送是数据在一条传输线上一位一位地依传输,传输线路少,传输速度慢,可用成本长距离的数据输送。

并行传送是每个数据位都有独立的一条传输线,各个数据位同时进行传送。传输速度快,可用成本智

短距离数据输送。

6-5 什么是接口?它有哪些作用?接口是如何进行分类的?

答:广义的讲,“接口”这一术语是指中央处理器(CPU)和内存、外围设备、或两种外围设备、或两种机器之间通过总线进行连接的逻辑部件。接口部件在它所连接的两部件之间起着“转换器”的作用,以便实现彼此之间的信息传送。

按数据传输宽度分类:分为并行接口和串行接口 按操作的节拍分类: 分为同步接口和异步

按接口信息传送的控制方式,可以将接口分为:有程序控制的输入输出接口、程序中断输入输出接口

和直接存储器存取(DMA)接口三种。 6-6 主机与外围设备之间如何连接。

答:主机与外围设备通过接口连接。如图所示

图中CPU、接口和外围设备之间的连接方式图。外围设备本身带有自己的设备控制器,它是控制外围设备进行操作的控制部件。通常在总线和每个外围设备的设备控制器使用一个“接口”电路来解决问题,以保证外围设备用计算机系统特性所要求的形式发送和接收信息。

图 cpu与外围设备的连接方法

第7章 习题与解答

7-1 什么是输入输出系统?它有哪些特点?

答:输入输出操作的设备称为输入输出设备,简称外设。外部设备通过接口部件与主机相连,在主机的控制下执行输入输出操作。因此,把外部设备、接口部件以及相应的管理软件定义为计算机的输入输出系统。

特点:有异步性,实时性和设备无关性。

7-3 输入输出系统的数据传输方式有几种?各有什么特点?

答:有5种方式(1)程序直接控制:信息交换的控制完全由主机执行程序实现。特点是,接口设计简单,设备量少,但是,要花费很多时间用于查询和等待,效率大大降低。

(2)程序中断控制:外设在完成了数据传送的准备工作后,主动向CPU提出传送请求,CPU暂停原程序的执行,转向信息交换服务。在这种方式下,特点是:CPU与外设并行。

(3) 直接内存访问方式(DMA):直接内存访问(DMA)方式是一种完全由硬件执行I/O交换的工作方式。DMA控制器从CPU完全接管对总线的控制,数据交换不经过CPU,而直接在内存和外围设备之间进行。主要优点是数据传送速度很高。适用于内存和高速外围设备之间大批数据交换的场合。

(4) 通道方式:利用了DMA技术,再加上软件,形成一种新的控制方式。通道是一种简单的处理机,它有指令系统,能执行程序。它的独立工作能力比DMA强,能对多台不同类型的设备统一管理,对多个设备同时传送信息。

(5) I/O处理机方式:I/O处理机方式又称为外围处理机方式,它既可以完成I/O通道所要完成的I/O控制,又可以完成码制变换、格式处理、数据块的检错、纠错等操作。它基本独立于主机工作。

7-4 什么是中断?它有何作用?

答:中断是指CPU暂时中止现行程序的执行,转去执行为某个随机事态服务的中断处理程序。处理完毕后自动恢复原程序的执行。

作用:(1)提高机器的可靠性;(2)进行实时控制;(3)实现主机和外设的并行工作;(4)便于实现人机联系;(5)实现分时操作 7-5

外设采用程序中断方式传送数据时分哪些步骤?采用程序中断方式传送的接口应由哪些部件构成?请画出其框图。

答:步骤为:中断申请、中断判优、中断响应、中断处理和中断返回。

接口中有“准备就绪”标志(RD)、“允许中断”标志(EI)、“中断请求”标志(IR)、“中断屏蔽”标志(IM)和和“工作触发器”(BS)五个触发器。如下图所示。

准备就绪的标志(RD):一旦设备准备好要进行一次数据的接收或发送,便发出一个设备动作完毕信号,使RD标志为“1”。

允许中断触发器(EI):可以用程序指令来置位,控制是否允许某设备发出中断请求。EI为“1”时,某设备可以向CPU发出中断请求;

中断请求触发器(IR):它暂存中断请求线上由设备发出的中断请求信号。当IR标志位“1”时,表示设备发出了中断请求。

中断屏蔽触发器(IM): IM标志为“0”时,CPU可以受理外界的中断请求,反之,IM标志为“1”时,CPU不受理外界的中断。

工作触发器”(BS):完成触发。

CPUS控制7中断C100BS11接口2设备动作开始00IM10IR15IR请求EI10RD14动作结束6公用寄存器PCIR89数据总线INTA78中断向量逻辑设备选择数据缓冲寄存器3传送数据图7-6 程序中断方式基本接口示意图 7-6 向量中

断与中断向量有什么区别?

答:当CPU响应中断时,由硬件直接产生一个固定的地址(即向量地址),由向量地址指出每个中断源设备的中断服务程序入口,这种方法通常称为向量中断。

中断向量即中断源的识别标志,可用来存放中断服务程序的入口地址或跳转到中断服务程序的入口地址。

7-8 什么是通道?通道有哪三种类型?

答:通道是一个特殊功能的处理器,它有自己的指令和程序专门负责数据输入输出的传输控制,而CPU将“传输控制”的功能下放给通道后只负责“数据处理”功能。这样,通道与CPU分时使用内存,实现了CPU内部运算与I/O设备的平行工作。

通道有选择通道、数组多路通道、字节多路通道三种类型。

本文来源:https://www.bwwdw.com/article/blqf.html

Top