最新组成课后答案..资料
- 格式:doc
- 大小:1.39 MB
- 文档页数:15
计算机组成原理第五版习题答案第一章 (1)第二章 (3)第三章 (14)第四章 (19)第五章 (21)第六章 (27)第七章 (31)第八章 (34)第九章 (36)第一章1.模拟计算机的特点是数值由连续量来表示,运算过程也是连续的。
数字计算机的主要特点是按位运算,并且不连续地跳动计算。
模拟计算机用电压表示数据,采用电压组合和测量值的计算方式,盘上连线的控制方式,而数字计算机用数字0 和1 表示数据,采用数字计数的计算方式,程序控制的控制方式。
数字计算机与模拟计算机相比,精度高,数据存储量大,逻辑判断能力强。
2.数字计算机可分为专用计算机和通用计算机,是根据计算机的效率、速度、价格、运行的经济性和适应性来划分的。
3.科学计算、自动控制、测量和测试、信息处理、教育和卫生、家用电器、人工智能。
4.主要设计思想是:采用存储程序的方式,编制好的程序和数据存放在同一存储器中,计算机可以在无人干预的情况下自动完成逐条取出指令和执行指令的任务;在机器内部,指令和数据均以二进制码表示,指令在存储器中按执行顺序存放。
主要组成部分有::运算器、逻辑器、存储器、输入设备和输出设备。
5.存储器所有存储单元的总数称为存储器的存储容量。
每个存储单元都有编号,称为单元地址。
如果某字代表要处理的数据,称为数据字。
如果某字为一条指令,称为指令字。
6.计算机硬件可直接执行的每一个基本的算术运算或逻辑运算操作称为一条指令,而解算某一问题的一串指令序列,称为程序。
7.取指周期中从内存读出的信息流是指令流,而在执行器周期中从内存读出的信息流是数据流。
8.半导体存储器称为内存,存储容量更大的磁盘存储器和光盘存储器称为外存,内存和外存共同用来保存二进制数据。
运算器和控制器合在一起称为中央处理器,简称CPU,它用来控制计算机及进行算术逻辑运算。
适配器是外围设备与主机联系的桥梁,它的作用相当于一个转换器,使主机和外围设备并行协调地工作。
9.计算机的系统软件包括系统程序和应用程序。
第六章12. 设浮点数格式为:阶码5位(含1位阶符),尾数11位(含1位数符)。
写出51/128、-27/1024所对应的机器数。
要求如下:(1)阶码和尾数均为原码。
(2)阶码和尾数均为补码。
(3)阶码为移码,尾数为补码。
解:据题意画出该浮点数的格式:阶符1位阶码4位数符1位尾数10位将十进制数转换为二进制:x1= 51/128= 0.0110011B= 2-1 * 0.110 011Bx2= -27/1024= -0.0000011011B = 2-5*(-0.11011B)则以上各数的浮点规格化数为:(1)[x1]浮=1,0001;0.110 011 000 0[x2]浮=1,0101;1.110 110 000 0(2)[x1]浮=1,1111;0.110 011 000 0[x2]浮=1,1011;1.001 010 000 0(3)[x1]浮=0,1111;0.110 011 000 0[x2]浮=0,1011;1.001 010 000 016.设机器数字长为16位,写出下列各种情况下它能表示的数的范围。
设机器数采用一位符号位,答案均用十进制表示。
(1)无符号数;(2)原码表示的定点小数。
(3)补码表示的定点小数。
(4)补码表示的定点整数。
(5)原码表示的定点整数。
(6)浮点数的格式为:阶码6位(含1位阶符),尾数10位(含1位数符)。
分别写出其正数和负数的表示范围。
(7)浮点数格式同(6),机器数采用补码规格化形式,分别写出其对应的正数和负数的真值范围。
解:(1)无符号整数:0 —— 216 - 1,即:0—— 65535;无符号小数:0 —— 1 - 2-16,即:0 —— 0.99998;(2)原码定点小数:-1 + 2-15——1 - 2-15,即:-0.99997 —— 0.99997(3)补码定点小数:- 1——1 - 2-15,即:-1——0.99997(4)补码定点整数:-215——215 - 1 ,即:-32768——32767(5)原码定点整数:-215 + 1——215 - 1,即:-32767——32767(6)据题意画出该浮点数格式,当阶码和尾数均采用原码,非规格化数表示时:最大负数= 1,11 111;1.000 000 001 ,即 -2-9⨯2-31最小负数= 0,11 111;1.111 111 111,即 -(1-2-9)⨯231则负数表示范围为:-(1-2-9)⨯231 —— -2-9⨯2-31最大正数= 0,11 111;0.111 111 111,即(1-2-9)⨯231最小正数= 1,11 111;0.000 000 001,即 2-9⨯2-31则正数表示范围为:2-9⨯2-31 ——(1-2-9)⨯231(7)当机器数采用补码规格化形式时,若不考虑隐藏位,则最大负数=1,00 000;1.011 111 111,即 -2-1⨯2-32最小负数=0,11 111;1.000 000 000,即 -1⨯231则负数表示范围为:-1⨯231 —— -2-1⨯2-32最大正数=0,11 111;0.111 111 111,即(1-2-9)⨯231最小正数=1,00 000;0.100 000 000,即 2-1⨯2-32则正数表示范围为:2-1⨯2-32 ——(1-2-9)⨯23117.设机器数字长为8位(包括一位符号位),对下列各机器数进行算术左移一位、两位,算术右移一位、两位,讨论结果是否正确。
( 2= ==( 2= = =( 2===第二章1.(1) 35 =−100011)[ 35]原 10100011[ 35]补 11011100 [ 35]反 11011101(2)[127]原=01111111[127]反=01111111[127]补=01111111(3) 127 =−1111111)[ 127]原 11111111[ 127]补 10000001[ 127]反 10000000(4) 1 =−00000001)[ 1]原 10000001[ 1]补 11111111 [ 1]反 111111102.[x]补 = a 0. a 1a 2…a 6解法一、(1) 若 a 0 = 0, 则 x > 0, 也满足 x > -0.5此时 a 1→a 6 可任意(2) 若 a 0 = 1, 则 x <= 0, 要满足 x > -0.5, 需 a 1 = 1 即 a 0 = 1, a 1 = 1, a 2→a 6 有一个不为 0解法二、-0.5 = -0.1(2) = -0.100000 = 1, 100000(1) 若 x >= 0, 则 a0 = 0, a 1→a 6 任意即可;(2) [x]补= x = a 0. a 1a 2…a 6(2) 若 x < 0, 则 x > -0.5只需-x < 0.5, -x > 0[x]补 = -x, [0.5]补 = 01000000 即[-x]补 < 01000000a 0 * a 1 * a 2 a 6 + 1 < 01000000⋅ (1 2 ) 即: 2 2 ⋅ 2(最接近 0 的负数)即: 2 2 ⋅ (2 + 2[ 2 2 ⋅ 2 ⋅ (1 2 ) ] [ 22 1 ⋅ ( 1) , 2 2 ⋅ (2 1 + 2 ) ]a 0 a 1a 2 a 6 > 11000000即 a 0a 1 = 11, a 2→a 6 不全为 0 或至少有一个为 1(但不是“其余取 0”)3.字长 32 位浮点数,阶码 8 位,用移码表示,尾数 23 位,用补码表示,基为 2EsE 1→E 8MsM 21M 0(1) 最大的数的二进制表示E = 11111111Ms = 0, M = 11…1(全 1)1 11111111 01111111111111111111111(2) 最小的二进制数E = 11111111Ms = 1, M = 00…0(全 0) 1 11111111 1000000000000000000000(3) 规格化范围正最大E = 11…1, M = 11…1, Ms = 08 个22 个即: 227 122正最小E = 00…0, M = 100…0, Ms = 08 个7121 个负最大E = 00…0, M = 011…1, Ms = 18 个 21 个负最小7 1E = 11…1, M = 00…0, Ms =18 个22 个22 )即: 22⋅ ( 1) 规格化所表示的范围用集合表示为:71, 227122 7 7 2244.在 IEEE754 标准中,一个规格化的 32 位浮点数 x 的真值表示为:X=( 1)s ×(1.M )× 2 E 127(1)27/64=0.011011=1.1011× 22E= -2+127 = 125= 0111 1101 S= 0M= 1011 0000 0000 0000 0000 000最后表示为:0 01111101 10110000000000000000000 (2)-27/64=-0.011011=1.1011× 22E= -2+127 = 125= 0111 1101 S= 1M= 1011 0000 0000 0000 0000 000最后表示为:1 01111101 10110000000000000000000 5.(1)用变形补码进行计算:[x]补=00 11011 [y]补=00 00011[x]补 = [y]补 = [x+y]补00 11011 + 00 00011 00 11110结果没有溢出,x+y=11110(2) [x]补=00 11011 [y]补=11 01011[x]补 = [y]补 = [x+y]补=00 11011 + 11 01011 00 00110结果没有溢出,x+y=00110(3)[x]补=11 01010 [y]补=11 111111[x]补 = [y]补 = [x+y]补=00 01010 + 00 11111 11 01001结果没有溢出,x+y=−101116.[x-y]补=[x]补+[-y]补 (1)[x]补=00 11011[-y]补=00 11111[x]补 =00 11011 [-y]补 = + 00 11111 [x-y]补= 01 11010结果有正溢出,x−y=11010(2)[x]补=00 10111[-y]补=11 00101[x]补 =00 10111 [-y]补 = + 11 00101 [x-y]补结果没有溢出,x−y=−00100(3)[x]补=00 11011 [-y]补=00 10011[x]补= 00 11011[-y]补= + 00 10011[x-y]补= 01 01110结果有正溢出,x−y=100107.(1)用原码阵列乘法器:[x]原=0 11011 [y]原=1 11111因符号位单独考虑,|x|=11011 |y|=111111 1 0 1 1×) 1 1 1 1 1——————————————————————————1 1 0 1 11 1 0 1 11 1 0 1 11 1 0 1 11 1 0 1 11 1 0 1 0 0 0 1 0 1[x×y]原=1 1101000101用补码阵列乘法器:[x]补=0 11011 [y]补=1 00001乘积符号位为:1|x|=11011 |y|=111111 1 0 1 1×) 1 1 1 1 1——————————————————————————1 1 0 1 11 1 0 1 11 1 0 1 11 1 0 1 11 1 0 1 0 0 0 1 0 1[x×y]补=1 0010111011(2) 用原码阵列乘法器:[x]原=1 11111 [y]原=1 11011因符号位单独考虑,|x|=11111 |y|=110111 1 1 1 1×) 1 1 0 1 1——————————————————————————1 1 1 1 11 1 1 1 10 0 0 0 01 1 1 1 11 1 1 1 11 1 0 1 0 0 0 1 0 1[x×y]原=0 1101000101用补码阵列乘法器:[x]补=1 00001 [y]补=1 00101乘积符号位为:1|x|=11111 |y|=110111 1 1 1 1×) 1 1 0 1 1——————————————————————————1 1 1 1 11 1 1 1 10 0 0 0 01 1 1 1 111111[x×y]补=0 11010001018.(1) [x]原=[x]补=0 11000[-∣y ∣]补=1 00001被除数 X 0 11000 +[-|y|]补 1 00001----------------------------------------------------余数为负 1 11001 →q0=0左移 1 10010 +[|y|]补0 11111----------------------------------------------------余数为正 0 10001 →q1=1左移 1 00010 +[-|y|]补1 00001----------------------------------------------------余数为正 0 00011 →q2=1左移 0 00110 +[-|y|]补1 00001----------------------------------------------------余数为负 1 00111 →q3=0左移 0 01110 +[|y|]补0 11111----------------------------------------------------余数为负 1 01101 →q4=0左移 0 11010 +[|y|]补0 11111----------------------------------------------------余数为负 1 11001 →q5=0+[|y|]补0 11111 ----------------------------------------------------余数 0 11000故 [x÷y]原=1.11000 即 x÷y= −0.11000 余数为 0 11000(2)[∣x ∣]补=0 01011[-∣y ∣]补=1 00111被除数 X 0 01011 +[-|y|]补 1 00111----------------------------------------------------余数为负 1 10010 →q0=0x+y= 1.010010*2 = 2 *-0.101110左移 1 00100 +[|y|]补 0 11001----------------------------------------------------余数为负 1 11101 →q1=0左移 1 11010 +[|y|]补0 11001----------------------------------------------------余数为正 0 10011 →q2=1左移 1 00110 +[-|y|]补1 00111----------------------------------------------------余数为正 0 01101 →q3=1左移 0 11010 +[-|y|]补1 00111----------------------------------------------------余数为正 0 00001 →q4=1左移 0 00010 +[-|y|]补1 00111----------------------------------------------------余数为负 1 01001 →q5=0 +[|y|]补0 11001----------------------------------------------------余数 0 00010x÷y= −0.01110余数为 0 000109.(1) x = 2-011*0.100101, y = 2-010*(-0.011110)[x]浮 = 11101,0.100101 [y]浮 = 11110,-0.011110 Ex-Ey = 11101+00010=11111 [x]浮 = 11110,0.010010(1)x+y 0 0. 0 1 0 0 1 0 (1)+ 1 1. 1 0 0 0 1 01 1. 1 1 0 1 0 0 (1)规格化处理: 1.010010 阶码11100-4 -4x-y0 0. 0 1 0 0 1 0 (1) + 0 0. 0 1 1 1 1 00 0 1 1 0 0 0 0 (1) 规格化处理:0.110000阶码11110x-y=2-2*0.110001(2) x = 2-101*(-0.010110), y = 2-100*0.010110[x]浮= 11011,-0.010110 [y]浮= 11100,0.0101109Ex-Ey = 11011+00100 = 11111 [x]浮= 11100,1.110101(0) x+y 1 1. 1 1 0 1 0 1+ 0 0. 0 1 0 1 1 00 0. 0 0 1 0 1 1规格化处理: 0.101100 x+y= 0.101100*2阶码-611010x-y1 1.1 1 0 1 0 1 + 1 1.1 0 1 0 1 01 1.0 1 1 1 1 1规格化处理: 1.011111 阶码11100x-y=-0.100001*2-410.(1) Ex = 0011, Mx = 0.110100Ey = 0100, My = 0.100100 Ez = Ex+Ey = 0111 Mx*My 0. 1 1 0 1* 0.1 0 0 101101 00000 00000 01101 00000 001110101规格化:26*0.111011(2) Ex = 1110, Mx = 0.011010Ey = 0011, My = 0.111100 Ez = Ex-Ey = 1110+1101 = 1011 [Mx]补 = 00.011010[My]补 = 00.111100, [-My]补 = 11.00010010计算机组成原理第五版习题答案00011010 +[-My]11000100 11011110 10111100+[My]00111100 11111000 111100000.0 +[My]00111100 00101100 010110000.01 +[-My]11000100 00011100 001110000.011 +[-My]11000100 11111100 111110000.0110 +[My]00111100 00110100 011010000.01101 +[-My]1 1 0 00 1 0 0 0 0 1 0 1 10 00.01101 商 = 0.110110*2-6, 11.4 位加法器如上图,C i = A i B i + A i C i 1 + B i C i 1 = A i B i + ( A i + B i )C i 1 = A i B i + ( A i B i )C i 1(1)串行进位方式余数=0.101100*2-6C 1 = G 1+P 1C 0 C 2 = G 2+P 2C 1 C 3 = G 3+P 3C 2 C 4 = G 4+P 4C 3 其中:G 1 = A 1B 1G 2 = A 2B 2G 3 = A 3B 3 G 4 = A 4B 4P1 = A 1⊕B 1(A 1+B 1 也对) P 2 = A 2⊕B 2 P 3 = A 3⊕B 3 P 4 = A 4⊕B 4(2)并行进位方式 C 1 = G 1+P 1C 0C 2 = G 2+P 2G 1+P 2P 1C 0C 3 = G 3+P 3G 2+P 3P 2G 1+P 3P 2P 1C 0C 4 = G 4+P 4G 3+P 4P 3G 2+P 4P 3P 2G 1+P 4P 3P 2P 1C 0“计算机组成原理第五版习题答案12.(1)组成最低四位的74181 进位输出为:C4 = C n+4 = G+PC n = G+PC0,C0为向第0 位进位其中,G = y3+y2x3+y1x2x3+y0x1x2x3,P = x0x1x2x3,所以C5 = y4+x4C4C6 = y5+x5C5 = y5+x5y4+x5x4C4(2)设标准门延迟时间为T,与或非”门延迟时间为1.5T,则进位信号C0,由最低位传送至C6需经一个反相器、两级“与或非”门,故产生C0的最长延迟时间为T+2*1.5T = 4T(3)最长求和时间应从施加操作数到ALU 算起:第一片74181 有3 级“与或非”门(产生控制参数x0, y0, C n+4),第二、三片74181 共 2 级反相器和 2 级“与或非”门(进位链),第四片74181 求和逻辑(1 级与或非门和 1 级半加器,设其延迟时间为3T),故总的加法时间为:t0 = 3*1.5T+2T+2*1.5T+1.5T+3T = 14T13.设余三码编码的两个运算数为X i和Y i,第一次用二进制加法求和运算的和数为S i’,进位为C i+1’,校正后所得的余三码和数为S i,进位为C i+1,则有:X i = X i3X i2X i1X i0Y i = Y i3Y i2Y i1Y i0S i’ = S i3’S i2’S i1’S i0’s i3 s i2 s i1 s i0Ci+1FA FA FA FA十进校正+3VFA s i3'FAs i2'FAs i1'FAs i0'二进加法X i3 Y i3 X i2 Y i2 X i1 Y i1 X i0 Y i0当C i+1’ = 1时,S i = S i’+0011并产生C i+1当C i+1’ = 0时,S i = S i’+1101根据以上分析,可画出余三码编码的十进制加法器单元电路如图所示。
第三章1.有一个具有20位地址和32位字长的存储器,问:(1)该存储器能存储多少个字节的信息?(2)如果存储器由512K×8位SRAM芯片组成,需要多少芯片?(3)需要多少位地址作芯片选择?解:(1)∵ 220= 1M,∴该存储器能存储的信息为:1M×32/8=4MB (2)(1000/512)×(32/8)= 8(片)(3)需要1位地址作为芯片选择。
2. 已知某64位机主存采用半导体存储器,其地址码为26位,若使用256K×16位的DRAM芯片组成该机所允许的最大主存空间,并选用模块板结构形式,问:(1)每个模块板为1024K×64位,共需几个模块板?(2)个模块板内共有多少DRAM芯片?(3)主存共需多少DRAM芯片? CPU如何选择各模块板?解:(1). 共需模块板数为m:m=÷=64 (块)(2). 每个模块板内有DRAM芯片数为n:n=(/) ×(64/16)=16 (片)(3) 主存共需DRAM芯片为:16×64=1024 (片)每个模块板有16片DRAM芯片,容量为1024K×64位,需20根地址线(A19~A0)完成模块板内存储单元寻址。
一共有64块模块板,采用6根高位地址线(A25~A20),通过6:64译码器译码产生片选信号对各模块板进行选择。
3.用16K×8位的DRAM芯片组成64K×32位存储器,要求:(1) 画出该存储器的组成逻辑框图。
(2) 设存储器读/写周期为0.5μS, CPU在1μS内至少要访问一次。
试问采用哪种刷新方式比较合理?两次刷新的最大时间间隔是多少?对全部存储单元刷新一遍所需的实际刷新时间是多少?解:(1)组成64K×32位存储器需存储芯片数为N=(64K/16K)×(32位/8位)=16(片)每4片组成16K×32位的存储区,有A13-A0作为片内地址,用A15 A14经2:4译码器产生片选信号,逻辑框图如下所示:(2)依题意,采用异步刷新方式较合理,可满足CPU在1μS内至少访问内存一次的要求。
第一章计算机系统概论习题答案1、答:计算机系统由硬件和软件两大部分组成。
硬件即指计算机的实体部分,它由看得见摸的着的各种电子元器件,各类光电、机设备的实物组成,如主机、外设等。
软件时看不见摸不着的,由人们事先编制成具有各类特殊功能的信息组成,用来充分发挥硬件功能,提高机器工作效率,便于人们使用机器,指挥整个计算机硬件系统工作的程序集合。
软件和硬件都很重要。
2、答:从计算机系统的层次结构来看,它通常可有五个以上的不同级组成,每一个上都能进行程序设计。
由下至上可排序为:第一级微程序机器级,微指令由硬件直接执行;第二级传统机器级,用微程序解释机器指令;第三级操作系统级,一般用机器语言程序解释作业控制语句;第四级汇编语言机器级,这一级由汇编程序支持和执行;第五级高级语言机器级,采用高级语言,由各种高级语言编译程序支持和执行,还可以有第六级应用语言机器级,采用各种面向问题的应用语言。
3、答:机器语言由0、1代码组成,是机器能识别的一种语言。
汇编语言是面向机器的语言,它由一些特殊的符号表示指令,高级语言是面向用户的语言,它是一种接近于数学的语言,直观,通用,与具体机器无关。
4、答:计算机组成是指如何实现计算机体系结构所体现的属性,它包含了许多对程序员来说是透明的硬件细节。
计算机体系结构是指那些能够被程序员所见到的计算机系统的属性,即概念性的结构与功能特性,通常是指用机器语言编程的程序员所看到的传统机器的属性,包括指令集、数据类型、存储器寻址技术、I/O机理等等,大都属于抽象的属性。
5、答:特点是:(1) 计算机由运算器、存储器、控制器和输入设备、输出设备五大部件组成(2) 指令和数据以同等的地位存放于存储器内,并可以按地址寻访(3) 指令和数据均可以用二进制代码表示(4) 指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数所在存储器中的位置(5) 指令在存储器内按顺序存放。
通常,指令是顺序执行的,在特定情况下,可根据运算结果或根据设定的条件改变执行顺序(6) 机器以运算器为中心,输入输出设备与存储器的数据传送通过运算器。
第一章计算机系统概论p.191。
1 什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要?计算机系统:计算机硬件、软件和数据通信设备的物理或逻辑的综合体计算机硬件:计算机的物理实体计算机软件:计算机运行所需的程序及相关资料硬件和软件在计算机系统中相互依存,缺一不可,因此同样重要1.2如何理解计算机系统的层次结构?实际机器M1向上延伸构成了各级虚拟机器,机器M1内部也可向下延伸而形成下一级的微程序机器M0,硬件研究的主要对象归结为传统机器M1和微程序机器M0,软件研究对象主要是操作系统及以上的各级虚拟机1。
3说明高级语言、汇编语言和机器语言的差别及其联系.机器语言是可以直接在机器上执行的二进制语言汇编语言用符号表示指令或数据所在存储单元的地址,使程序员可以不再使用繁杂而又易错的二进制代码来编写程序高级语言对问题的描述十分接近人们的习惯,并且还具有较强的通用性1。
4如何理解计算机组成和计算机体系结构?计算机体系结构是对程序员可见的计算机系统的属性计算机组成对程序员透明,如何实现计算机体系结构所体现的属性1.5冯·诺依曼计算机的特点是什么?由运算器、控制器、存储器、输入设备、输出设备五大部件组成指令和数据以同一形式(二进制形式)存于存储器中指令由操作码、地址码两大部分组成指令在存储器中顺序存放,通常自动顺序取出执行以运算器为中心(原始冯氏机)1。
6画出计算机硬件组成框图,说明各部件的作用及计算机硬件的主要技术指标。
计算机硬件各部件运算器:ACC, MQ, ALU, X控制器:CU, IR,PC主存储器:M,MDR, MARI/O设备:设备,接口计算机技术指标:机器字长:一次能处理数据的位数,与CPU的寄存器位数有关存储容量:主存:存储单元个数×存储字长运算速度:MIPS, CPI, FLOPS1。
7解释概念主机:计算机硬件的主体部分,由CPU+MM(主存或内存)组成CPU:中央处理器,是计算机硬件的核心部件,由运算器+控制器组成主存:计算机中存放正在运行的程序和数据的存储器,可随机存取;由存储体、各种逻辑部件及控制电路组成存储单元:可存放一个机器字并具有特定存储地址的存储单位存储元件/存储基元/存储元:存储一位二进制信息的物理元件,是存储器中最小的存储单位,不能单独存取存储字:一个存储单元所存二进制代码的逻辑单位存储字长:一个存储单元所存二进制代码的位数存储容量:存储器中可存二进制代码的总量机器字长:CPU 能同时处理的数据位数指令字长:一条指令的二进制代码位数1.8解释英文代号CPU:Central Processing UnitPC:Program CounterIR: Instruction RegisterCU: Control UnitALU: Arithmetic Logic UnitACC:AccumulatorMQ: Multiplier—Quotient RegisterX:操作数寄存器MAR: Memory Address RegisterMDR:Memory Data RegisterI/O: Input/OutputMIPS: Million Instructions Per SecondCPI: Cycle Per InstructionFLOPS:Floating-point Operation Per Second1。
第1章习题答案5 .若有两个基准测试程序P1和P2在机器M1和M2上运行,假定M1和M2的价格分别是5000元和8000请回答下列问题:(1)对于P1,哪台机器的速度快?快多少?对于P2呢?(2)在M1上执行P1和P2的速度分别是多少MlPS ?在M2上的执行速度又各是多少?从执行速度来看,对于P2,哪台机器的速度快?快多少?(3)假定M1和M2的时钟频率各是800MHZ和1.2GHZ,则在M1和M2上执行P1时的平均时钟周期数CPI各是多少?(4)如果某个用户需要大量使用程序P1 ,并且该用户主要关心系统的响应时间而不是吞吐率,那么, 该用户需要大批购进机器时,应该选择M1还是M2 ?为什么?(提示:从性价比上考虑)(5)如果另一个用户也需要购进大批机器,但该用户使用P1和P2一样多,主要关心的也是响应时间,那么,应该选择M1还是M2 ?为什么?参考答案:(1)对于P1,M2比M1快一倍;对于P2,M1比M2快一倍。
(2)对于M1,P1 的速度为:200M∕10=20MIPS ;P2 为300k∕0.003=100MIPS。
对于M2,P1 的速度为:150M∕5=30MIPS ;P2 为420k∕0.006=70MIPS。
从执行速度来看,对于P2,因为100/70=1.43倍,所以M1比M2快0.43倍。
(3)在M1上执行P1时的平均时钟周期数CPI为:10疋00M∕(200×106)=40。
在M2上执行P1时的平均时钟周期数CPI为:5X1.2G/(150 ×06)=40°(4)考虑运行P1时M1和M2的性价比,因为该用户主要关心系统的响应时间,所以性价比中的性能应考虑执行时间,其性能为执行时间的倒数。
故性价比R为:R=1∕(执行时间×介格)R越大说明性价比越高,也即,执行时间×介格”的值越小,则性价比越高。
因为10×5000 > 5 ×000,所以,M2的性价比高。
第1章习题答案5.若有两个基准测试程序P1和P2在机器M1和M2上运行,假定M1和M2的价格分别是5000元和8000元,下表给出了P1和P2在M1和M2上所花的时间和指令条数。
请回答下列问题:(1)对于P1,哪台机器的速度快?快多少?对于P2呢?(2)在M1上执行P1和P2的速度分别是多少MIPS?在M2上的执行速度又各是多少?从执行速度来看,对于P2,哪台机器的速度快?快多少?(3)假定M1和M2的时钟频率各是800MHz和1.2GHz,则在M1和M2上执行P1时的平均时钟周期数CPI各是多少?(4)如果某个用户需要大量使用程序P1,并且该用户主要关心系统的响应时间而不是吞吐率,那么,该用户需要大批购进机器时,应该选择M1还是M2?为什么?(提示:从性价比上考虑)(5)如果另一个用户也需要购进大批机器,但该用户使用P1和P2一样多,主要关心的也是响应时间,那么,应该选择M1还是M2?为什么?参考答案:(1)对于P1,M2比M1快一倍;对于P2,M1比M2快一倍。
(2)对于M1,P1的速度为:200M/10=20MIPS;P2为300k/0.003=100MIPS。
对于M2,P1的速度为:150M/5=30MIPS;P2为420k/0.006=70MIPS。
从执行速度来看,对于P2,因为100/70=1.43倍,所以M1比M2快0.43倍。
(3)在M1上执行P1时的平均时钟周期数CPI为:10×800M/(200×106)=40。
在M2上执行P1时的平均时钟周期数CPI为:5×1.2G/(150×106)=40。
(4)考虑运行P1时M1和M2的性价比,因为该用户主要关心系统的响应时间,所以性价比中的性能应考虑执行时间,其性能为执行时间的倒数。
故性价比R为:R=1/(执行时间×价格)R越大说明性价比越高,也即,“执行时间×价格”的值越小,则性价比越高。
4.1 解释概念:主存、辅存、Cache、RAM、SRAM、DRAM、ROM、PROM、EPROM、EEPROM、CDROM、Flash Memory。
主存:用于存放数据和指令,并能由中央处理器直接随机存取,包括存储器体M、各种逻辑部件、控制电路等辅存:辅助存储器,又称为外部存储器(需要通过I/O系统与之交换数据)。
存储容量大、成本低、存取速度慢,以及可以永久地脱机保存信息。
主要包括磁表面存储器、软盘存储器、磁带存储设备、光盘存储设备。
Cache:高速缓冲存储器,比主存储器体积小但速度快,用于保有从主存储器得到指令的副本很可能在下一步为处理器所需的专用缓冲器。
RAM:(Random Access Memory)随机存储器。
存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的存储器。
这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序。
按照存储信息的不同,随机存储器又分为静态随机存储器(StaticRAM,SRAM)和动态随机存储器(Dynamic RAM,DRAM)。
SRAM:(Static Random Access Memory)它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。
DRAM:(Dynamic Random Access Memory),即动态随机存取存储器最为常见的系统内存。
DRAM 只能将数据保持很短的时间。
为了保持数据,DRAM使用电容存储,所以必须隔一段时间刷新(refresh)一次,如果存储单元没有被刷新,存储的信息就会丢失。
(关机就会丢失数据)ROM:只读内存(Read-Only Memory)的简称,是一种只能读出事先所存数据的固态半导体存储器。
其特性是一旦储存资料就无法再将之改变或删除。
通常用在不需经常变更资料的电子或电脑系统中,资料并且不会因为电源关闭而消失。
PROM:(Programmable Read-Only Memory)-可编程只读存储器,也叫One-Time Programmable (OTP)ROM“一次可编程只读存储器”,是一种可以用程序操作的只读内存。
《一》2.冯·诺依曼计算机的特点是什么?其中最主要的一点是什么?解:冯·诺依曼计算机的特点如下:①计算机(指硬件)应由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成;②计算机内部采用二进制来表示指令和数据;③将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作。
第③点是最主要的一点。
3.计算机的硬件是由哪些部件组成的?它们各有哪些功能?解:计算机的硬件应由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成。
它们各自的功能是:①输入设备:把人们编好的程序和原始数据送到计算机中去,并且将它们转换成计算机内部所能识别和接受的信息方式。
②输出设备:将计算机的处理结果以人或其他设备所能接受的形式送出计算机。
③存储器:用来存放程序和数据。
④运算器:对信息进行处理和运算。
⑤控制器:按照人们预先确定的操作步骤,控制整个计算机的各部件有条不紊地自动工作。
6.计算机系统的主要技术指标有哪些?解:计算机系统的主要技术指标有:机器字长、数据通路宽度、主存容量和运算速度等。
机器字长是指参与运算的数的基本位数,它是由加法器、寄存器的位数决定的。
数据通路宽度是指数据总线一次所能并行传送信息的位数。
主存容量是指主存储器所能存储的全部信息量。
运算速度与机器的主频、执行什么样的操作、主存本身的速度等许多因素有关。
《二》17.将下列十进制数转换为IEEE 短浮点数:18.将下列IEEE 短浮点数转换为十进制数:(1)11000000111100000000000000000000;(2)00111111000100000000000000000000;(3)01000011100110010000000000000000;(4)01000000000000000000000000000000;(5)01000001001000000000000000000000;(6)00000000000000000000000000000000。
《三》3.某机为定长指令字结构,指令长度16位;每个操作数的地址码长6位,指令分为无操作数、单操作数和双操作数三类。
若双操作数指令已有K 种,无操作数指令已有L种,问单操作数指令最多可能有多少种?上述三类指令各自允许的最大指令条数是多少?4.设某机为定长指令字结构,指令长度12位,每个地址码占3位,试提出一种分配方案,使该指令系统包含:4条三地址指令,8条二地址指令,180条单地址指令。
5.指令格式同上题,能否构成:三地址指令4条,单地址指令255条,零地址指令64条?为什么?9.某机字长为16位,主存容量为64K 字,采用单字长单地址指令,共有50条指令。
若有直接寻址、间接寻址、变址寻址、相对寻址四种寻址方式,试设计其指令格式。
解:操作码6位,寻址方式2位,地址码8位。
10.某机字长为16位,主存容量为64K 字,指令格式为单字长单地址,共有64条指令。
试说明:(1)若只采用直接寻址方式,指令能访问多少主存单元?(2)为扩充指令的寻址范围,可采用直接/间接寻址方式,若只增加一位直接/间接标志,指令可寻址范围为多少?指令直接寻址的范围为多少?(3)采用页面寻址方式,若只增加一位Z/C(零页/现行页)标志,指令寻址范围为多少?指令直接寻址范围为多少?(4)采用(2)、(3)两种方式结合,指令的寻址范围为多少?指令直接寻址范围为多少?《四》4.已知X 和Y ,试用它们的变形补码计算出X +Y ,并指出结果是否溢出。
(1)X =0.11011,Y =0.11111(2)X =0.11011,Y =-0.10101(3)X =-0.10110,Y =-0.00001(4)X =-0.11011,Y =0.111108.分别用原码乘法和补码乘法计算X ×Y 。
(1)X =0.11011,Y =-0.11111(2)X =-0.11010,Y =-0.011(2)X ×Y =0.0101101100,过程略。
10.分别用原码和补码加减交替法计算X ÷Y 。
(1)X =0.10101,Y =0.11011(2)X =-0.10101,Y =0.11011(3)X =0.10001,Y =-0.10110(4)X =-0.10110,Y =-0.11011《五》2 .存储器的主要功能是什么? 为什么要把存储系统分成若干个不同层次? 主要有哪些层次?解:存储器的主要功能是用来保存程序和数据。
存储系统是由几个容量、速度和价格各不相同的存储器用硬件、软件、硬件与软件相结合的方法连接起来的系统。
把存储系统分成若干个不同层次的目的是为了解决存储容量、存取速度和价格之间的矛盾。
由高速缓冲存储器、主存储器、辅助存储器构成的三级存储系统可以分为两个层次,其中高速缓存和主存间称为Cache -主存存储层次(Cache 存储系统);主存和辅存间称为主存—辅存存储层次(虚拟存储系统)。
5.动态RAM 为什么要刷新?一般有几种刷新方式?各有什么优缺点?解:DRAM 记忆单元是通过栅极电容上存储的电荷来暂存信息的,由于电容上的电荷会随着时间的推移被逐渐泄放掉,因此每隔一定的时间必须向栅极电容补充一次电荷,这个过程就叫做刷新。
常见的刷新方式有集中式、分散式和异步式3种。
集中方式的特点是读写操作时不受刷新工作的影响,系统的存取速度比较高;但有死区,而且存储容量越大,死区就越长。
分散方式的特点是没有死区;但它加长了系统的存取周期,降低了整机的速度,且刷新过于频繁,没有充分利用所允许的最大刷新间隔。
异步方式虽然也有死区,但比集中方式的死区小得多,而且减少了刷新次数,是比较实用的一种刷新方式。
11.某机字长为32位,其存储容量是64KB ,按字编址的寻址范围是多少?若主存以字节编址,试画出主存字地址和字节地址的分配情况。
解:某机字长为32位,其存储容量是64KB ,按字编址的寻址范围是16KW 。
若主存以字节编址,每一个存储字包含4个单独编址的存储字节。
假设采用大端方案,即字地址等于最高有效字节地址,且字地址总是等于4的整数倍,正好用地址码的最末两位来区分同一个字中的4个字节。
主存字地址和字节地址的分配情况如图5-19所示。
12.一个容量为16K ×32位的存储器,其地址线和数据线的总和是多少?当选用下列不同规格的存储芯片时,各需要多少片?1K×4位,2K×8位,4K×4位,16K×1位,4K×8位,8K×8位。
解:地址线14根,数据线32根,共46根。
若选用不同规格的存储芯片,则需要:1K×4位芯片128片,2K×8位芯片32片,4K×4位芯片32片,16K×1位芯片32片,4K×8位芯片16片,8K×8位芯片8片。
13.现有1024×1的存储芯片,若用它组成容量为16K ×8的存储器。
试求:(1)实现该存储器所需的芯片数量?(2)若将这些芯片分装在若干块板上,每块板的容量为4K ×8,该存储器所需的地址线总位数是多少?其中几位用于选板?几位用于选片?几位用作片内地址?解:(1)需1024×1的芯片128片。
(2)该存储器所需的地址线总位数是14位,其中2位用于选板,2位用于选片,10位用作片内地址。
14.已知某机字长8位,现采用半导体存储器作主存,其地址线为16位,若使用1K ×4的SRAM 芯片组成该机所允许的最大主存空间,并采用存储模板结构形式。
(1)若每块模板容量为4K ×8,共需多少块存储模板?(2)画出一个模板内各芯片的连接逻辑图。
解:(1)根据题干可知存储器容量为216=64KB ,故共需16块存储模板。
(2)一个模板内各芯片的连接逻辑图如图5-20所示。
《六》11.设一地址指令格式如下:现在有4条一地址指令:LOAD(取数)、ISZ(加“1”为零跳)、DSZ(减“1”为零跳)、STORE(存数),在一台单总线单累加器结构的机器上运行,试排出这4条指令的微操作序列。
要求:当排ISZ 和DSZ 指令时不要破坏累加寄存器Acc 原来的内容。
解:(1)LOAD(取数)指令PC →MAR ,READ ;取指令MM →MDRMDR →IR ,PC +1→PCA →MAR ,READ ;取数据送AccMM →MDRMDR →Acc(2)ISZ(加“1”为零跳)指令取指令微操作略。
A →MAR ,READ ;取数据送AccMM →MDRMDR →AccAcc+1→Acc ;加1If Z =1then PC +1→PC ;结果为0,PC +1Acc →MDR ,WRITE ;保存结果MDR →MMAcc -1→Acc ;恢复Acc(3)DSZ(减“1”为零跳)指令取指令微操作略。
A →MAR ,READ ;取数据送AccMM →MDRMDR →AccAcc -1→Acc ;减1If Z =1then PC +1→PC ;结果为0,PC +1Acc →MDR ,WRITE ;保存结果MDR →MMAcc+1→Acc ;恢复Acc(4)STORE(存数)指令:取指令微操作略。
A →MAR ;Acc 中的数据写入主存单元Acc →MDR ,WRITEMDR →MM12.某计算机的CPU 内部结构如图6唱22所示。
两组总线之间的所有数据传送通过ALU 。
ALU 还具有完成以下功能的能力:F =A ; F =BF =A +1;F =B +1F =A -1;F =B -1写出转子指令(JSR)的取指和执行周期的微操作序列。
JSR 指令占两个字,第一个字是操作码,第二个字是子程序的入口地址。
返回地址保存在存储器堆栈中,堆栈指示器始终指向栈顶。
解:①PC →B ,F = B ,F →MAR ,Read ;取指令的第一个字②PC →B ,F = B +1,F →PC③MDR →B ,F = B ,F →IR④PC →B ,F = B ,F →MAR ,Read ;取指令的第二个字⑤PC →B ,F = B +1,F →PC⑥MDR →B ,F = B ,F →Y⑦SP →B ,F = B -1,F →SP ,F →MAR ;修改栈指针,返回地址压入堆栈⑧PC →B ,F = B ,F →MDR ,Write⑨Y → A ,F = A ,F →PC ;子程序的首地址→PC⑩End13.某机主要部件如图6-23所示。
(1)请补充各部件间的主要连接线,并注明数据流动方向。
(2)拟出指令ADD (R1),(R2)+的执行流程(含取指过程与确定后继指令地址)。