计算机组成原理课后答案.doc_第1页
计算机组成原理课后答案.doc_第2页
计算机组成原理课后答案.doc_第3页
计算机组成原理课后答案.doc_第4页
计算机组成原理课后答案.doc_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机组成原理课后习题参考答案第一章 计算机系统概论1比较数字计算机和模拟计算机的特点。答:模拟计算机的特点是数值由连续量来表示,运算过程也是连续的。数字计算机的主要特点是按位运算,并且不连续地跳动计算。模拟计算机用电压表示数据,采用电压组合和测量值的计算方式,盘上连线的控制方式,而数字计算机用数字0和1表示数据,采用数字计数的计算方式,程序控制的控制方式。数字计算机与模拟计算机相比,精度高,数据存储量大,逻辑判断能力强。2数字计算机如何分类?分类的依据是什么?答:数字计算机可分为专用计算机和通用计算机,是根据计算机的效率、速度、价格、运行的经济性和适应性来划分的。3数字计算机有哪些主要应用?答:数字计算机的主要应用有:科学计算、自动控制、测量和测试、信息处理、教育和卫生、家用电器、人工智能。4冯.诺依曼型计算机的主要设计思想是什么?它由哪些主要组成部分?答:冯.诺依曼型计算机的主要设计思想是存储程序并按地址顺序执行,它由运算器,控制器,存储器,接口及I/O设备组成。5什么是存储容量?什么是单元地址?什么是数据字,什么是地址字?答:存储器所有存储单元的总数称为存储器的存储容量。每个存储单元都有编号,称为单元地址。如果某字代表要处理的数据,称为数据字。如果某字为一条指令,称为指令字。6什么是指令?什么是程序?答:每一个基本操作称为一条指令,而解算某一问题的一串指令序列,称为程序。7指令和数据均存放在内存中,计算机如何区分它们是指令还是数据?答:计算机可以从时间和空间两方面来区分指令和数据,在时间上,取指周期从内存中取出的是指令,而执行周期从内存取出或往内存中写入的是数据,在空间上,从内存中取出指令送控制器,而执行周期从内存从取的数据送运算器、往内存写入的数据也是来自于运算器。 8什么是内存?什么是外存?什么是CPU?什么是适配器?简述其功能。答:内存是指计算机内的半导体存储器,包括ROM和RAM。ROM用来存放监控程序和一些不变的数据表格,RAM存放正运算的程序和正在处理的数据,外存通常指的是磁盘、磁带、光盘存储器等,用于存放暂不运行的程序和暂不处理的数据。CPU是运算器和控制器的合称,适配器是指连接主机与外设一个中间电路,也叫接口,其作用相当于一个转换器,保证外设用与主机要求相适应的形式发送和接收信息。9计算机的系统软件包括哪几类?说明它们的用途。答:计算机的软件包括系统软件和应用软件。系统软件用来简化程序设计,简化使用方法,提高计算机的使用效率,发挥和扩大计算机的功能及用途。它可分为四类:(1)各种服务性程序,如诊数据程序、排错程序、练习程序等;(2)语言程序,如汇编程序、编译程序、解释程序等;(3)操作系统程序;(4)数据库管理系统(DBMS)。而应用软件是用户利用计算机来解决某些问题而编制的程序,如工程设计程序,数据加工程序,自动控制程序,企业管理程序、情报检索程序、科学计算程序等等。10说明软件发展的演变过程。答:在早期的计算机中,人们是直接用机器语言来编写程序的,这种程序称为手编程序或目的程序;后来,为了编写程序方便和提高使用效率,人们使用汇编语言来编写程序,称为汇编程序;为了进一步实现程序自动化和便于程序交流,使不熟悉具体计算机的人也能很方便地使用计算机,人们又创造了算法语言,用算法语言编写的程序称为源程序,源程序通过编译系统产生编译程序,也可通过解释系统进行解释执行;随着计算机技术的日益发展,人们又创造出操作系统;随着计算机在信息处理、情报检索及各种管理系统中应用的发展,要求大量处理某些数据,建立和检索大量的表格,于是产生了数据库管理系统。11现代计算机系统如何进行多级划分?这种分级观点对计算机设计会产生什么影响?答:现代计算机系统可分为五个层次,第一级是微程序设计级;第二级是一般机器级;第三级是操作系统级;第四级是汇编语言级;第五级是高级语言级。其中前二级是硬件系统、后两级是软件系统对硬件系统的功能扩展,第三级是可以说是软件与硬件的一个交界面。这种分级不是绝对的,也不是惟一的,比如随着大规模集成电路和固件的发展,硬件的功能在不断往上层延伸。而且,不同的硬件结构,其层次也不同,如硬布线控制器的计算机,就没有微程序级。12为什么软件能够转化为硬件?硬件能够转化为软件?实现这种转化的媒介是什么?答:随着大规模集成电路和计算机系统结构的发展,实体硬件机的功能范围不断从一、二级向三、四级扩展,原因有:(1)容量大、价格低、体积小、可改写的只读存储器提供了软件固化的良好物质基础,固件即固化的软件,从功能上讲是软件,从形态上看又是硬件。(2)在一片硅单晶芯片上制作复杂的逻辑电路已实际可行,这又为扩大指令功能提供了相应的技术手段,而且成本降低使实用成为可能。因此,传统的软件今后有可能“固化”甚至“硬化”而变成硬件,而在不追求高速处理时为了降低硬件成本,也可以用软件来模拟硬件的功能。13“计算机应用”与“应用计算机”在概念上等价吗?用学科角度和计算机系统的层次结构来说明你的观点。答:计算机应用是一个学科的名词,它包含计算机网络、信息管理、数据库技术、人工智能、计算机辅助设计等多个领域,而应用计算机,从计算机层次结构的角度来看,不同的应用者,应用的方法和目标是不同的,如CPU的设计者是在微程序级应用计算机,目的是要后面的应用者提供功能强大的指令系统、而操作系统的设计者是在汇编语言级应用计算机,目的是扩展硬件功能,为后面的应用者提供良好的操作环境和手段。第二章 运算方法和运算器1写出下列各数的原码、反码、补码表示(用8位二进制数),其中MSB是最高位(又是符号位),LSB是最高位。如果是小数,小数点在MSB之后;如果是整数,小数点在LSB之后。(1) -35/64 (2)23/128 (3) 127 (4)用小数表示-1 (5)用整数表示-1解:(1)-35/64 = -0.100011 原码1.1000110 反码1.0111001 补码1.0111010(2)23/128= 0.0010111 原码0.0010111 反码0.0010111 补码0.0010111(3) 127=1111111 原码11111111 反码10000000 补码10000001(4) 用小数表示-1 补码1.0000000(5) 用整数表示-1 原码10000001 反码11111110 补码1111111112 设x补a0. a 1 a 2 a 6 其中ai 取0或1,若要x-0.5,求a 0,a 1 , a 2 , , a6 的取值。解:x补 = a0. a1a2a6解法一、(1) 若a0 = 0, 则x 0, 也满足x -0.5此时a1a6可任意(2) 若a0 = 1, 则x -0.5, 需a1 = 1即a0 = 1, a1 = 1, a2a6有一个不为0解法二、 -0.5 = -0.1(2) = -0.100000 = 1, 100000(1) 若x = 0, 则a0 = 0, a1a6任意即可x补 = x = a0. a1a2a6(2) 若x -0.5只需-x 0x补 = -x, 0.5补 = 01000000即-x补 01000000即a0a1 = 11, a2a6不全为0或至少有一个为1(但不是“其余取0”)3有一个字长为32位的浮点数,符号位位,阶码位,用移码表示,尾数23位,用补码表示;基数为2。请写出:(1)最大数的二进制表示;(2)最小数的二进制表示; (3)规格化数所能表示数的范围。解:用IEEE754格式(E的取值范围:1254,留出全0和全1分别表示0和无穷大) 31 30 23 22 20 0SEM (1) 最大数的二进制表示:0 11111110 11111111111111111111111即 2127(2-2-23)(2) 最小数的二进制表示:1 11111110 11111111111111111111111即 - 2127(2-2-23)(3) 规格化数所能表示数的范围:最小的正数:0 00000001 00000000000000000000001 即2-126(1+2-23)绝对最小的负数: 1 00000001 00000000000000000000001 即-2-126(1+2-23)所以范围是: -2127(2-2-23)至-2-126(1+2-23) ,2-126(1+2-23)至2127(2-2-23)4将下列十进制数表示成IEEE754标准的32位浮点规格化数。 (1) 27/64 (2) 27/64解:27/64=0.011011=1.1011*2-2(1) 0 01111101 10110000000000000000000(2) 1 01111101 101100000000000000000005已知x和y,用变形补码计算x+y,同时指出结果是否溢出。(1)x=0.11011 y=0.00011(2)x=0.11011 y=-0.10101(3)x=-0.10110 y=-0.00001解:(1)x = 0.11011, y = 0.000110 0 1 1 0 1 1+ 0 0 0 0 0 1 10 0 1 1 1 1 0x+y = 0.11110无溢出(2) x = 0.11011, y = -0.10101x补 = 0 0 1 1 0 1 1y补 = +1 1 0 1 0 1 10 0 0 0 1 1 0 x+y = 0.00110 无溢出(3)x = -0.10110 y = -0.00001x补 = 1 1 0 1 0 1 0y补 = +1 1 1 1 1 1 11 1 0 1 0 0 1 x+y = -0.10111 无溢出6已知x和y,用变形补码计算x-y,同时指出运算结果是否溢出。(1)x=0.11011 y=-0.11111(2)x=0.10111 y=0.11011(3)x=0.11011 y=-0.10011解:(1)x = 0.11011 y = -0.11111x补 = 0 0. 1 1 0 1 1y补 = +0 0. 1 1 1 1 1 0 1. 1 1 0 1 0 溢出(2)x = 0.10111 y = 0.11011x补 = 0 0. 1 0 1 1 1y补 = +1 1. 0 0 1 0 1 1 1. 1 1 1 0 0 x-y = -0.00100无溢出(3)x = 0.11011 y = -0.10011x补 = 0 0. 1 1 0 1 1y补 = +0 0. 1 0 0 1 1 0 1. 0 1 1 1 0 溢出7用原码阵列乘法器、补码阵列乘法器分别计算x*y。(1)x = 0.11011 y = - 0.11111(2)x = -0.11111 y = - 0.110111 1 0 1 1* 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 11 1 0 1 0 0 0 1 0 1解:(1)原码阵列x = 0.11011, y = -0.11111符号位: x0y0 = 01 = 1x原 = 11011, y原 = 11111x*y原 = 1, 11 0100 0101直接补码阵列x补 = (0)11011, y补 = (1)00001(0) 1 1 0 1 1(1) 0 0 0 0 1(0) 1 1 0 1 1 (0) 0 0 0 0 0 (0) 0 0 0 0 0 (0) 0 0 0 0 0 (0) 0 0 0 0 00 (1) (1) (0) (1) (1)0 (1) (1) (0) (1) (1) 1 1 0 1 11, 0 0 1 0 1, 1 1 0 1 1 x*y补 = 1,00101,11011带求补器的补码阵列x补 = 0 11011, y补 = 1 00001乘积符号位单独运算011尾数部分算前求补输出X11011,y111111 1 0 1 1* 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 11 1 0 1 0 0 0 1 0 1XY-0.1101000101(2) 原码阵列x = -0.11111, y = -0.11011符号位: x0y0 = 11 = 0x补 = 11111, y补 = 110111 1 1 1 11 1 0 1 11 1 1 1 11 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 0 1 x*y补 = 0,11010,00101直接补码阵列x补 = (1)00001, y补 = (1)00101(1) 0 0 0 0 1(1) 0 0 1 0 1(1) 0 0 0 0 1(0) 0 0 0 0 0 (1) 0 0 0 0 1 (0)0 0 0 0 0 (0) 0 0 0 0 01 (0) (0) (0) (0) (1)1 0 0 (1) (1) 0 0 0 1 0 10 1 1 0 1 0 0 0 1 0 1 x*y补 = 0,11010,00101带求补器的补码阵列x补 = 1 00001, y补 = 1 00101乘积符号位单独运算110尾数部分算前求补输出X11111,y110111 1 1 1 11 1 0 1 11 1 1 1 11 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 0 1XY0.11010001018用原码阵列除法器计算xy。(1)x = 0.11000 y = - 0.11111(2)x = -0.01011 y = - 0.11001解:(1) 符号位 Sf = 01 = 1 去掉符号位后:y补 = 00.11111 -y补 = 11.00001 x补 = 00.11000 0 0 1 1 0 0 0+-y补 1 1 0 0 0 0 1 1 1 1 1 0 0 1 0 1 1 1 0 0 1 0+y补 0 0 1 1 1 1 1 0 0 1 0 0 0 1 0.1 0 1 0 0 0 1 0 +-y补 1 1 0 0 0 0 1 0 0 0 0 0 1 1 0.11 0 0 0 0 1 1 0+-y补 1 1 0 0 0 0 1 1 1 0 0 1 1 1 0.110 1 0 0 1 1 1 0+y补 0 0 1 1 1 1 1 1 1 0 1 1 0 1 0.1100 1 0 1 1 0 1 0+y补 0 0 1 1 1 1 1 1 1 1 1 0 0 1 0.11000 (2) 符号位 Sf = 10 = 1 去掉符号位后:y补 = 00.11001 -y补 = 11.00111 x补 = 00.01011 0 0 0 1 0 1 1+-y补 1 1 0 0 1 1 1 1 1 1 0 0 1 0 0 1 1 0 0 1 0 0+y补 0 0 1 1 0 0 1 1 1 1 1 1 0 1 0.0 1 1 1 1 0 1 0+y补 0 0 1 1 0 0 1 0 0 1 0 0 1 1 0.01 0 1 0 0 1 1 0+-y补 1 1 0 0 1 1 1 0 0 0 1 1 0 1 0.011 0 0 1 1 0 1 0+-y补 1 1 0 0 1 1 1 0 0 0 0 0 0 1 0.0111 0 0 0 0 0 1 0+-y补 1 1 0 0 1 1 1 1 1 0 1 0 0 1 0.01110 9设阶码3位,尾数6位,按浮点运算方法,完成下列取值的x+y,x-y运算。(1)x = 2-011 * 0.100101 y = 2-010 *(- 0.011110)(2)x = 2-101 *(-0.010110) y = 2-100 * (0.010110)解:设两数均以补码表示,阶码采用双符号位,尾数采用单符号位,则它们的浮点表示分别为:题(1) x浮=11 101,0.100101 y浮=11 110,1.100010(1) 求阶差并对阶 E=Ex-Ey=Ex补-Ey补=Ex补+-Ey补=11 101 + 00 010 =11 111即E为-1,x阶码小,应使Mx右移1位,Ex加1 x浮=11 110,0.010010(1)(2) 尾数求和 0.010010(1) + 1.100010 1.110100(1)(3) 规格化 可见尾数运算结果的符号位与最高位相同,应执行左规格化处理,每左移尾数一次,相应阶码减1,所以结果尾数为1010010,阶码为11 100(4) 舍入处理 对本题不需要。(5) 判溢出阶码两符号位为11,不溢出,故最后结果为x浮+y浮=11 100,1010010真值为2-100*(-0.101110)(2)尾数求差 0.010010(1) + 0.011110 0.110000(1) x浮y浮=11 100,0.110001真值为2-100*0.110001题(2) x浮=11 011,1.101010 y浮=11 100,0.010110(1) 求阶差并对阶 E=Ex-Ey=Ex补-Ey补=Ex补+-Ey补=11 011 + 00 100 =11 111即E为-1,x阶码小,应使Mx右移1位,Ex加1 x浮=11 100,1.110101(0)(2) 尾数求和 1.110101(0) + 0.010110 0.001011(0)(3) 规格化 可见尾数运算结果的符号位与最高位相同,应执行左规格化处理,每左移尾数一次,相应阶码减1,所以结果尾数为0.101100,阶码为11 010(4) 舍入处理 对本题不需要。(5) 判溢出阶码两符号位为11,不溢出,故最后结果为x浮+y浮=11 010,010100真值为2-110*(0.010100)10.设数的阶码为3位,尾数6位,用浮点运算方法,计算下列各式(1)(23 13/16)24 (9/16)(2) (2-2 13/32) ( 23 15/16)Mx*My 0. 1 1 0 1* 0.1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 00 1 1 0 10 0 0 0 0 0 0 1 1 1 0 1 0 1解:(1) Ex = 0011, Mx = 0.110100Ey = 0100, My = 0.100100Ez = Ex+Ey = 0111 规格化: 26*0.111011(2) Ex = 1110, Mx = 0.011010Ey = 0011, My = 0.111100Ez = Ex-Ey = 1110+1101 = 1011Mx补 = 00.011010My补 = 00.111100, -My补 = 11.0001000 0 0 1 1 0 1 0+-My 1 1 0 0 0 1 0 01 1 0 1 1 1 1 0 0 1 0 1 1 1 1 0 0+My 0 0 1 1 1 1 0 01 1 1 1 1 0 0 0 0.0 1 1 1 1 0 0 0 0+My 0 0 1 1 1 1 0 00 0 1 0 1 1 0 0 0.01 0 1 0 1 1 0 0 0+-My 1 1 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0.011 0 0 1 1 1 0 0 0+-My 1 1 0 0 0 1 0 01 1 1 1 1 1 0 0 0.0110 1 1 1 1 1 0 0 0+My 0 0 1 1 1 1 0 00 0 1 1 0 1 0 0 0.01101 0 1 1 0 1 0 0 0+-My 1 1 0 00 1 0 00 0 1 0 1 10 0 0.01101 商 = 0.110110*2-6, 余数=0.101100*2-611. 某加法器进位链小组信号为C4 C3 C2 C1 ,低位来的进位信号为C0 ,请分另按下述两种方法写出C4 C3 C2 C1 逻辑表达式:(1)串行进位方式(2)并行进位方式解:4位加法器如上图, (1)串行进位方式C1 = G1+P1C0 其中:G1 = A1B1 P1 = A1B1(A1B1也对)C2 = G2+P2C1 G2 = A2B2 P2 = A2B2C3 = G3+P3C2 G3 = A3B3 P3 = A3B3C4 = G4+P4C3 G4 = A4B4 P4 = A4B4(2)并行进位方式 C1 = G1+P1C0 C2 = G2+P2G1+P2P1C0 C3 = G3+P3G2+P3P2G1+P3P2P1C0 C4 = G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C012. 某机字长16位,使用四位74181组成ALU,设最低位序号标注为第0位,要求:(1)写出第5位的进位信号C5的逻辑表达式。(2)若用一片74182构成二级组间先行进位,请画出逻辑图。 解: (1)组成最低四位的74181进位输出为: C4 = Cn+4 = G+PCn = G+PC0, C0为向第0位进位其中,G = y3+y2x3+y1x2x3+y0x1x2x3,P = x0x1x2x3,所以 C5 = y4+x4C4 C6 = y5+x5C5 = y5+x5y4+x5x4C4(2)设标准门延迟时间为T,“与或非”门延迟时间为1.5T,则进位信号C0,由最低位传送至C6需经一个反相器、两级“与或非”门,故产生C0的最长延迟时间为 T+2*1.5T = 4T(3)最长求和时间应从施加操作数到ALU算起:第一片74181有3级“与或非”门(产生控制参数x0, y0, Cn+4),第二、三片74181共2级反相器和2级“与或非”门(进位链),第四片74181求和逻辑(1级与或非门和1级半加器,设其延迟时间为3T),故总的加法时间为: t0 = 3*1.5T+2T+2*1.5T+1.5T+3T = 14T13现用通用函数发生器和其他门电路组成一个32位字长并采用辅助函数的三级先进位并行加法器,最低位下标为1,最高位下标为32,要求:(1)写出附加进位链的与或逻辑表达式。(2)设状态寄存器有4位:V(溢出置位)、Z(结果全零置位)、C(进位置位)、S(结果为负置位)、写出它们的逻辑表达式。解:串行状态下: C1 = G1+P1CO C2 = G2+P2C1 C3 = G3+P3C2 C4 = G4+P4C3 并行状态下: C1 = G1+P1C0 C2 = G2+P2C1 = G2+P2G1+P2P1C0 C3 = G3+P3C2 = G3+P3G2+P3P2G1+P3P2P1C0 C4 = G4+P4C3 = G4+P4P3C2+P4P3P2C1+P4P3P2P1C014余3码编码的十进制加法器规则如下:两个一位十进制数的余3码相加,如果无进位,则从和数中减去3(加上1101);如结果有进位,则得和数和余3码。试设计余3码编码的十进制加法器单元电路。解:设余三码编码的两个运算数为Xi和Yi,第一次用二进制加法求和运算的和数为Si,进位为Ci+1,校正后所得的余三码和数为Si,进位为Ci+1,则有: Xi = Xi3Xi2Xi1Xi0 Yi = Yi3Yi2Yi1Yi0 Si = Si3Si2Si1Si0当Ci+1 = 1时,Si = Si+0011 并产生Ci+1当Ci+1 = 0时,Si = Si+1101 根据以上分析,可画出余三码编码的十进制加加法器单元电路如图所示。15现给定的芯片只有与或非门和非门,请设计一个行波进位加法器,要求进位链传递时间最短,逻辑图只画出4位即可。解:(略)16设计一个带有原码阵列乘法(使用芯片)和原码阵列除法(使用芯片)的定点运算器。解:(略)第三章 存储系统1.设有一个具有20位地址和32位字长的存储器,问(1) 该存储器能存储多少字节的信息?(2) 如果存储器由512K*8位SRAM芯片组成,需要多少片?(3) 需要多少位地址作芯片选择?解:(1) (2)(3) 只需1位地址作片选;2已知某64位机主存采用半导体存储器,其地址码为26位,若使用256K*l6位的DRAM芯片组成该机所允许的最大主存空间,并选用模块板结构形式,问;(1) 若每个模块板为1024K*64位,共需几个模块板?(2) 每个模块板内共有多少DRAM芯片?(3) 主存共需多少DRAM芯片? CPU如何选择各模块板?解:(1) (2) 每个模块板共有片 每个模块要16个DRAM芯片 (3) 主存共需64*16=1024个芯片,CPU可用高6位地址经译码后作为模块板选择信号;3用16K*8位的DRAM芯片构成64K*32位存储器,要求:(1) 画出该存储器的组成逻辑框图。(2) 设存储器读/写周期为0.5S,CPU在1S内至少要访问一次。试问采用哪种刷新方式比较合理?两次刷新的最大时间间隔是多少?对全部存储单元刷新一遍所需的实际刷新时间是多少?解:(1)根据题意,存储总容量为64KB,故地址总线需16位。现使用16K*8位DRAM芯片,共需16片。芯片本身地址线占14位,所以采用位并联与地址串联相结合的方法来组成整个存储器,其组成逻辑图如图所示,其中使用一片2:4译码器。(2)根据已知条件,CPU在1us内至少访存一次,而整个存储器的平均读/写周期为0.5us,如果采用集中刷新,有64us的死时间,肯定不行如果采用分散刷新,则每1us只能访存一次,也不行所以采用异步式刷新方式。假定16K*1位的DRAM芯片用128*128矩阵存储元构成,刷新时只对128行进行异步方式刷新,则刷新间隔为2ms/128 = 15.6us,可取刷新信号周期15us。刷新一遍所用时间15us1281.92ms2:4译码器A14A15CS3CS2CS0CS1D0D7A13A04有一个1024K*32位的存储器,由128K*8位的DRAM芯片构成。问:(1) 总共需要多少DRAM芯片?(2) 设计此存储体组成框图。(3) 采用异步刷新方式,如单元刷新间隔不超过8ms,则刷新信号周期是多少?解:(1) (2) (3)如果选择一个行地址进行刷新,刷新地址为A0-A8,因此这一行上的2048个存储元同时进行刷新,即在8ms内进行512个周期。刷新方式可采用:在8ms中进行512次刷新操作的集中刷新方式,或按8ms/512 = 15.5us刷新一次的异步刷新方式。5要求用256K*l6位SRAM芯片设计1024K*32位的存储器。SRAM芯片有两个控制端:当CS有效时,该片选中。当W/R1时执行读操作,当W/R=0时执行写操作。解: 所设计的存储器单元数为1M,字长为32,故地址长度为20位(A19A0),所用芯片存储单元数为256K,字长为16位,故占用的地址长度为18位(A17A0)。由此可用位并联方式与地址串联方式相结合的方法组成组成整个存储器,共8片RAM芯片,并使用一片2:4译码器。其存储器结构如图所示。 6用32K*8位的EPROM芯片组成128K*16位的只读存储器,试问:(1) 数据寄存器多少位?(2) 地址寄存器多少位?(3) 共需多少个EPROM芯片?(4) 画出此存储器组成框图。解:(1)系统16位数据,所以数据寄存器16位(2)系统地址128K217,所以地址寄存器17位(3) 共需要8片(4) 组成框图如下CPU地址寄存器数据寄存器32K*832K*832K*832K*832K*832K*832K*832K*8CS3CS2CS1CS02:4译码器CS0CS3A16A157某机器中,已知配有一个地址空间为0000H3FFFH的ROM区域。现在再用一个RAM芯片(8K*8)形成40K*l6位的RAM区域,起始地为6000H。假设RAM芯片有CS和WE信号控制端。CPU的地址总线为A15A0,数据总线为D15D0,控制信号为R/W(读/写),MREQ(访存),要求:(1) 画出地址译码方案。(2) 将ROM与RAM同CPU连接。解:(1)组内地址用A12A0(2)小组译码器使用3:8译码器(3)RAM1RAM5各用两片8K*8的芯片位并联连接ROM0000HRAM1RAM2RAM3RAM4RAM56000H8000HA000HC000HE000H4000H 8设存储器容量为64M,字长为64位,模块数m=8,分别用顺序和交叉方式进行组织。存储周期TlOOns,数据总线宽度为64位,总线传送周期,=50ns。求:顺序存储器和交叉存储器的带宽各是多少?解:顺序存储器和交叉存储器连续读出m = 8个字的信息总量都是:q = 64位*8 = 512位 顺序存储器和交叉存储器连续读出8个字所需的时间分别是:t1 = mT = 8*100ns = 8*10-7s 顺序存储器和交叉存储器的带宽分别是:9CPU执行一段程序时,cache完成存取的次数为2420次,主存完成存取的次数为80次,已知cache存储周期为40ns,主存存储周期为240ns,求cache主存系统的效率和平均访问时间。解:cache的命中率 cache/主存系统效率e为 平均访问时间Ta为 10已知cache存储周期40ns,主存存储周期200ns,cache主存系统平均访问时间为50ns,求cache的命中率是多少?解:已知cache主存系统平均访问时间ta=50ns,而ta = h*tc+(1-h)*tm;所以有 h*tc+tm-h*tm=50ns , (tc-tm)*h=50-tm h=(50-tm)/(tc-tm)=(50-200)/(40-200)=150/160=93.75%11主存容量为4MB,虚存容量为1GB,则虚拟地址和物理地址各为多少位?如页面大小为4KB,则页表长度是多少?解:主存容量为4MB,则物理地址是22位,虚存容量为1GB,则虚拟地址是30位如页面大小为4KB,则页表长度是230/212=218=256K12假设可供用户程序使用的主存容量为200KB,而某用户的程序和数据所占的主存容量超过200KB,但小于逻辑地址所表示的范围。请问:具有虚存与不具有虚存对用户有何影响?答:没有虚存,则该程序不可能运行,因为在没有虚存的系统中要运行程序时必须将程序及其要处理的数据整体调入主存,而该程序和数据的容量超过了主存的实际容量。在具有虚存的系统中,则该程序可正常运行,因为有了虚存技术,在运行程序时,系统不是将要运行程序及其要处理的数据整体调入主存,而是采用页式、段式或段页式,将要运行的程序逐页、逐段、或逐段逐页地从外存调入主存,这样即使程序大于实际的主存容量,也可以正常运行。13某计算机采用四体交叉存储器,今执行一段小循环程序,此程序放在存储器的连续地址单元中,假设每条指令的执行时间相等,而且不需要到存储器存取数据,请问在下面两种情况中(执行的指令数相等),程序运行的时间是否相等。(1)循环程序由6条指令组成,重复执行80次。(2)循环程序由8条指令组成,重复执行60次。解:设取指周期为T,总线传送周期为,指令执行时间为t0 (1)t = (T+5+6t0)*80 = 80T+400+480 t0 (2) t = (T+7+8t0)*60 = 60T+420+480 t0 故不相等。14假设主存只有a,b,c三个页框,组成a进b出的FIFO队列,进程访问页面的序列是0,l,2,4,2,3,0,2,1,3,2号。用列表法求采用LRU替换策略时的命中串。解: 页面访问序列01242302132命中率a012423021323/11=27.3%b0124230213c011423021命中命中命中15从下列有关存储器的描述中,选择出正确的答案: A多体交叉存储主要解决扩充容量问题。 B访问存储器的请求是由CPU发出的。 Ccache与主存统一编址,即主存空间的某一部分属于cache。 Dcache的功能全由硬件实现。答:D。16从下列有关存储器的描述中,选择出正确的答案: A在虚拟存储器中,外存和主存以相同的方式工作,因此允许程序员用比主存空间大得多的外存空间编程。 B在虚拟存储拟器中,逻辑地址转换成物理地址由硬件实现的,仅在页面失效时才由操作系统将被访问页面从外存调到内存,必要时还要先把被淘汰的页面内容写入外存。C存储保护的目的是:在多用户环境中,既要防止一个用户程序出错而破坏系统软件或其他用户程序,又要防止一个用户访问不是分配给他的主存区,以达到数据安全和保密的要求。答:C。第四章 指令系统1ASCII码是7位,如果设计主存单元字长为32位,指令字长为12位,是否合理?为什么?答:.不合理。指令最好半字长或单字长,设16位比较合适。一个字符的ASCII是7位,如果设计主存单元字长为32位,则一个单元可以放四个字符,这也是可以的,只是在存取单个字符时,要多花些时间而已,不过,一条指令至少占一个单元,但只占一个单元的12位,而另22位就浪费了,这样看来就不合理,因为通常单字长指令很多,浪费也就很大了。2假设某计算机指令长度为20位,具有双操作数、c操作数、无操作数三类指令形式,每个操作数地址规定用6位表

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论