计算机组成原理课后参考答案副本.docx
- 文档编号:29805008
- 上传时间:2023-07-27
- 格式:DOCX
- 页数:35
- 大小:140.74KB
计算机组成原理课后参考答案副本.docx
《计算机组成原理课后参考答案副本.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课后参考答案副本.docx(35页珍藏版)》请在冰豆网上搜索。
计算机组成原理课后参考答案副本
第一章计算机系统概论
1.2如何理解计算机系统的层次结构?
答:
从计算机系统的层次结构来看,它通常可有五个以上的层次,在每一层次(级)上都能进行程序设计。
由下至上可排序为:
第一级微程序设计级,微指令由硬件直接执行;第二级传统机器级,用微程序解释机器指令;第三级操作系统级,一般用机器语言程序解释作业控制语句;第四级汇编语言机器级,这一级由汇编程序支持和执行;第五级高级语言机器级,采用高级语言,由各种高级语言编译程序支持和执行。
还可以有第六级应用语言机器级,采用各种面向问题的应用语言。
1.3说明高级语言、汇编语言和机器语言的差别及联系。
答:
机器语言由代码0、1组成,是计算机能直接识别的一种语言。
汇编语言是面向机器的语言,它用一些特殊的符号表示指令。
高级语言是面向用户的语言,它是一种接近于人们使用习惯的语言,直观、通用,与具体机器无关。
它们之间的联系:
汇编语言和高级语言编写的源程序必须通过汇编或编译成机器语言程序才能在机器上运行。
1.4如何理解计算机组成和计算机体系结构?
答:
计算机体系结构是指程序员所见到的计算机系统的属性,即概念性的结构与功能特性。
通常是指用机器语言编程的程序员(也包括汇编语言程序设计者和汇编程序设计者)所看到的传统机器的属性,包括指令集、数据类型、存储器寻址技术、I/O机理等,大都属于抽象的属性。
计算机组成是指如何实现计算机体系结构所体现的属性,它包含了许多对程序员来说是透明的(即程序员不知道的)硬件细节。
例如一台机器是否具备乘法指令是一个结构问题,而实现乘法指令采用什么方式是一个组成问题。
1.9画出主机框图,分别以存数指令“STAM”和加法指令“ADDM”(M均为主存地址)为例,在图中按序标出完成该指令(包括取指阶段)的信息流程。
假设主存容量为256M×32位,在指令字长、存储字长、机器字长相等的条件下,指出图中各寄存器的位数。
答:
(1)存数指令STAM的信息流程为(图略):
取指令:
PC→MAR→M→MDR→IR
分析指令:
OP(IR)→CU
执行指令:
Ad(IR)→MAR→M,ACC→MDR→M
(2)加法指令ADDM的信息流程为(图略):
取指令:
PC→MAR→M→MDR→IR
分析指令:
OP(IR)→CU
执行指令:
Ad(IR)→MAR→M→MDR→X,ACC→ALU,同时X→ALU,
ALU→ACC
(3)由主存容量为256M×32位得228=256M,故MAR为28位,MDR为32位。
因指令字长=存储字长=机器字长,则IR、ACC、MQ、X均为32位。
第三章系统总线
3.1什么是总线?
总线传输有何特点?
为了减轻总线的负载,总线上的部件都应具备什么特点?
答:
总线是连接各个部件的信息传输线,是各个部件共享的传输介质。
总线上信息传输的特点:
某一时刻只允许有一个部件向总线发送信息,但多个部件可以同时从总线上接收相同的信息。
以CPU片内总线为例,在每个需要将信息送至总线的寄存器输出端接三态门,由三态门控制端控制什么时刻由哪个寄存器输出。
当控制端无效时,寄存器和总线之间呈高阻状态。
3.4为什么要设置总线判优控制?
常见的集中式总线控制有几种,各有何特点,哪种方式响应时间最快,哪种方式对电路最敏感?
答:
由于总线上连接着多个部件,而总线传输的特点就是在某一时刻,只允许有一个部件向总线发送信息,如果有两个以上的部件同时向总线发送信息,势必导致信号冲突传输无效,故需用判优来解决。
常见的集中式总线控制有链式查询方式、计数器定时方式和独立请求方式三种。
链式查询方式的特点:
只需很少几根线就能按一定优先次序实现总线控制,且容易扩充设备,但对电路故障很敏感。
计数器定时方式特点:
计数可以从“0”开始,也可以从中止点开始,初始值还可以由程序来设置,这就可以方便地改变优先次序,增加系统的灵活性。
独立请求方式特点:
响应时间快,优先次序控制灵活,但控制线数量多,总线控制更复杂。
三种控制方式中,独立请求方式响应时间最快,链式查询方式对电路最敏感。
3.6试比较同步通信和异步通信。
答:
同步通信和异步通信的主要区别是前者有公共时钟,总线上的所有设备按统一的时序统一的传输周期进行信息传输,通信双方按约定好的时序联络;后者没有公共时钟,没有固定的传输周期,采用应答方式通信,具体的联络方式有不互锁、半互锁和全互锁三种。
不互锁方式通信双方没有相互制约关系;半互锁方式通信双方有简单的制约关系;全互锁方式通信双方有完全的制约关系。
其中全互锁通信可靠性最高。
3.15在一个32位的总线系统中,总线的时钟频率为66MHz,假设总线最短传输周期为4个时钟周期,试计算总线的最大数据传输率。
若想提高数据传输率,可采取什么措施?
答:
总线的最大数据传输率为:
4B/(4×T)=1B×f=66×106Hz≈63MBps
若想提高数据传输率,可采用以下两种措施:
外部数据总线宽度改为64位;时钟频率提高到132MHz。
3.16在异步串行传送系统中,字符格式为:
1个起始位、8个数据位、1个校验位、2个终止位。
若要求每秒传送120个字符,试求传送的波特率和比特率。
答:
根据题目给出的字符格式,一个字符包含1+8+1+2=12位
故波特率为120×12=1440bps
比特率为1440×(8/12)=960bps
第四章存储器
4.6某机字长为32位,其存储容量是64KB,按字编址其寻址范围是多少?
若主存以字节编址,试画出主存字地址和字节地址的分配情况。
答:
按字编址的寻址范围是16K。
分配情况可参考书P73图4.6a所示。
4.11一个8K×8位的动态RAM芯片,其内部结构排列成256×256形式,存取周期为0.1s。
试问采用集中刷新、分散刷新及异步刷新三种方式的刷新间隔各为多少?
答:
(1)集中刷新间隔为:
2ms(共20000个存取周期)
(2)分散刷新间隔为:
256个存取周期(但存取周期为0.2s),即51.2s。
(3)异步刷新间隔为:
2ms/256=7.8s,即每隔7.8s刷新一行,但对每行来说,刷新间隔仍为2ms。
4.14某8位微型计算机地址码为18位,若使用4K×4位的RAM芯片组成模块板结构的存储器,试问:
(1)该机所允许的最大主存空间是多少?
(2)若每个模块板为32K×8位,共需几个模块板?
(3)每个模块板内共有几片RAM芯片?
(4)共有多少片RAM?
(5)CPU如何选择各模块板?
答:
(1)主存容量为218=256KB
(2)共需模块板数为:
256/32=8
(3)每个模块板内芯片数为:
32×8/(4×4)=16片
(4)共需RAM芯片数为:
8×16=128片
(5)18根地址线分配如下:
A11A0作为4K×4位的RAM芯片本身的地址线;A14A12作为模块板内片选地址,采用3-8译码器共8个输出,每个输出选2片4K×4位的RAM芯片;A17A15作为模块板的地址,同样采用3-8译码器,每个输出分别选8个模块板中的任一块。
4.15设CPU共有16根地址线,8根数据线,并用
(低电平有效)作访存控制信号,
作读/写命令信号(高电平为读,低电平为写)。
现有这些存储芯片:
ROM(2K×8位,4K×4位,8K×8位),RAM(1K×4位,2K×8位,4K×8位)及74138译码器和其他门电路(门电路自定)。
试从上述规格中选用合适的芯片,画出CPU和存储芯片的连接图。
要求如下:
(1)最小4K地址为系统程序区,409616383地址范围为用户程序区。
(2)指出选用的存储芯片类型及数量。
(3)详细画出片选逻辑。
答:
(1)写出对应的二进制地址码。
ROM区地址范围为(4K×8位):
A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0
0000000000000000
0000111111111111
因而可选2片4K×4位的ROM芯片。
RAM区地址范围为:
A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0
0001000000000000
0001111111111111
0010000000000000
0010111111111111
0011000000000000
0011111111111111
RAM容量为12K×8位,因此可选3片4K×8位的RAM芯片。
(2)分配地址线:
A11A0接4K×4位的ROM芯片的地址线和4K×8位的RAM芯片的地址线。
(3)确定片选信号:
A14A13A12连3-8译码器的C、B、A端,A15连译码器的G2A非使能端,
连3-8译码器的G2B非使能端,译码器的G1使能端接+5V电源。
译码器的Y0输出端同时接2片ROM芯片片选端;Y1、Y2、Y3输出端分别接3片RAM芯片片选端。
(4)CPU和存储芯片的连接图:
略
4.23设CPU共有16根地址线,8根数据线,并用
作为访问存储器或I/O的控制信号(高电平为访存,低电平为访I/O),
(低电平有效)为写命令,
(低电平有效)为读命令。
设计一个容量为64KB的采用低位交叉编址的8体并行结构存储器。
画出CPU和存储芯片(芯片容量自定)的连接图,并写出图中每个存储芯片的地址范围(用十六进制数表示)。
答:
(1)确定芯片数量:
8片8K×8位的RAM芯片
(2)写出对应的二进制地址码。
第0片:
即0000、0008、0010、…、FFF8H
A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0
0000000000000000
1111111111111000
第1片:
即0001、0009、0011、…、FFF9H
A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0
0000000000000001
1111111111111001
第2片:
即0002、000A、0012、…、FFFAH
A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0
0000000000000010
1111111111111010
第3片:
即0003、000B、0013、…、FFFBH
A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0
0000000000000011
1111111111111011
第4片:
即0004、000C、0014、…、FFFCH
A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0
0000000000000100
1111111111111100
第5片:
即0005、000D、0015、…、FFFDH
A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0
0000000000000101
1111111111111101
第6片:
即0006、000E、0016、…、FFFEH
A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0
0000000000000110
1111111111111110
第7片:
即0007、000F、0017、…、FFFFH
A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0
0000000000000111
1111111111111111
(3)分配地址线
A15A3接8K×8位的RAM芯片的地址线。
(3)确定片选信号:
A2A1A0连3-8译码器的C、B、A端,
通过非门连译码器的G2A非和G2B非使能端,译码器的G1使能端接+5V电源。
(4)CPU和存储芯片的连接图:
略
4.28设主存容量为256K字,Cache容量为2K字,块长为4。
(1)设计Cache地址格式,Cache中可装入多少块数据?
(2)在直接映射方式下,设计主存地址格式。
(3)在四路组相联映射方式下,设计主存地址格式。
(4)在全相联映射方式下,设计主存地址格式。
(5)若存储字长为32位,存储器按字节寻址,写出上述三种映射方式下主存的地址格式。
答:
(1)根据Cache容量为2K字=211,得Cache字地址为11位。
根据块长为4,且访存地址为字地址,得字块内地址为2位,即b=2,且Cache共有2048/4=512=29块,即c=9。
所以Cache地址格式为:
(2)根据主存容量为256K字==218,得主存字地址为18位。
在直接映射方式下,主存字块标记为18-11=7,故主存地址格式为:
(3)根据四路组相联的条件,一组内有4块,得Cache共分512/4=128=2q组,即q=7,主存字块标记为18-q-b=18-7-2=9位,其地址格式为:
(4)在全相联映射方式下,主存字块标记为18-b=18-2=16位,其地址格式为:
(5)若存储字长为32位,存储器按字节寻址,上述三种映射方式下主存的地址格式分别为:
直接映射:
四路组相联映射:
全相联映射:
4.29假设CPU执行某段程序时共访问Cache命中4800次,访问主存200次,已知Cache的存取周期是30ns,主存的存取周期是150ns,求Cache的命中率以及Cache-主存系统的平均访问时间和效率,试问该系统的性能提高了多少?
答:
(1)Cache的命中率为:
4800/(4800+200)=96%
(2)Cache-主存系统的平均访问时间为:
0.96×30+(1-0.96)×150=34.8ns
(3)Cache-主存系统的效率为:
e=访问Cache的时间/平均访问时间=30/34.8=86.2%
(4)性能提高为:
150/34.8-1=3.31倍
4.30设主存容量为1MB,采用直接映射方式的Cache容量为16KB,块长为4,每字32位。
试问主存地址为ABCDEH的存储单元在Cache中的什么位置?
答:
根据主存容量为1MB,得主存地址20位,Cache容量为16KB=214B,得Cache地址14位。
因为采用直接映射方式,主存地址的低14位就是映射后的Cache地址,因而主存地址为ABCDEH的存储单元在Cache中的地址为11110011011110,即3CDEH。
4.32设某机主存容量为4MB,Cache容量为16KB,每字块有8个字,每字32位,设计一个四路组相联映射的Cache组织。
(1)画出主存地址字段中各段的位数
(2)设Cache的初态为空,CPU依次从主存第0,1,2,…,89号单元读出90个字(主存一次读出一个字),并重复按此次序读8次,问命中率是多少?
(3)若Cache的速度是主存的6倍,试问有Cache和无Cache相比,速度约提高多少倍?
答:
(1)根据每个字块有8个字,每个字32位,得主存地址字段中字块内地址字段为5位,其中3位为字地址,2位为字节地址。
根据Cache容量为16KB=214B,字块大小为25B,得Cache共有29块,故c=9。
根据四路组相联映射2r=4,得r=2,则q=c-r=9-2=7位。
根据主存容量4MB=222B,得主存地址字段中主存字块标记为22-7-5=10位。
主存地址字段各段格式为:
(2)由于每个字块中有8个字,而且初态Cache为空,因此CPU读第0号单元时,未命中,必须访问主存,并将该字所在的块调入Cache第0组中的任一块内,但接着CPU读1~7号单元时均命中。
同理,CPU读第8、16、…、88号单元时均未命中。
可见CPU在连续读90字中共有12次未命中,而后7次循环读90个字全部命中(因为总共只有13个块,而Cache共有128组),命中率为:
(90×8-12)/90×8=98.3%
(3)有Cache速度提高:
[6t×90×8/(t×(720-12)+6t×12)]-1=4.54
第五章输入输出系统
5.11简述I/O接口的功能和基本组成。
答:
(1)I/O接口的功能有:
选址、传送命令、传送数据和反映设备状态。
(2)I/O接口的基本组成:
设备选择电路、命令寄存器和命令译码器、数据缓冲寄存器、设备状态标记触发器。
5.16在什么条件和什么时间,CPU可以响应I/O的中断请求?
答:
(1)CPU响应I/O设备提出中断请求的条件是:
必须满足CPU中的允许中断触发器EINT为“1”;I/O本身有请求又未被屏蔽;经排队后又被选中。
(2)CPU响应中断的时间一定是在每条指令执行阶段的结束时刻。
5.28CPU对DMA请求和中断请求的响应时间是否相同?
为什么?
答:
(1)不相同,响应中断请求是在每条指令执行周期结束的时刻,而响应DMA请求是在存取周期结束的时刻。
(2)因为中断方式是程序切换,而程序又是由指令组成,所以必须在一条指令执行完毕才能响应中断请求。
而且CPU只有在每条指令执行周期的结束时刻才发出查询信号,以获取中断请求信号,此时若条件满足,便能响应中断请求。
DMA请求是由DMA接口根据设备的工作状况向CPU申请占用总线,此时只要总线未被CPU占用,即可立即响应DMA请求;若总线正被CPU占用,则必须等待该存取周期结束时,CPU才交出总线的使用权。
5.31假设某设备向CPU传送信息的最高频率是40KHz,而相应的中断处理程序执行时间为40s,试问该外设是否可用程序中断方式与主机交换信息,为什么?
答:
根据题意,该设备每隔1/40K=25s向CPU传送一次信息,如果采用程序中断方式,需40s(>25s)才能处理一次数据,从而造成数据丢失,所以不能用程序中断方式与主机交换信息。
5.33试从下面7个方面比较程序查询、程序中断和DMA三种方式的综合性能。
方式
性能
程序查询
程序中断
DMA
数据传送
依赖软件
依赖软件
依赖硬件
传送数据基本单位
字
字
块
并行性
CPU与I/O串行
CPU与I/O并行
传输与主程序串行
CPU与I/O并行
传输与主程序串行
主动性
CPU
设备
设备
传输速度
慢
慢
快
经济性
费用低
介于查询和DMA之间
费用高
应用对象
低速
较低
高速成批传输
第六章计算机的运算方法
6.9当十六进制数9BH和FFH分别表示为原码、补码、反码、移码和无符号数时,所对应的十进制数各为多少(设机器数采用1位符号位)?
答:
(1)9BH对应表示为原码、补码、反码、移码和无符号数时的十进制数分别为:
-27、-101、-100、+27、155
(2)FFH对应表示为原码、补码、反码、移码和无符号数时的十进制数分别为:
-127、-1、-0、+127、255
6.12设浮点数格式为:
阶码5位(含1位阶符),尾数11位(含1位数符)。
写出
所对应的机器数。
要求如下:
(1)阶码和尾数均为原码。
(2)阶码和尾数均为补码。
(3)阶码为移码,尾数为补码。
答:
=0.0110011=0.110011×2-1=0.1100110000×2-0001
(1)阶码和尾数均为原码表示的浮点数为:
10001;01100110000
(2)阶码和尾数均为补码表示的浮点数为:
11111;01100110000
(3)阶码为移码,尾数为补码的浮点数为:
01111;01100110000
6.16设机器数字长为16位,写出下列各种情况下它能表示的数的范围。
设机器数采用1位符号位,答案均用十进制数表示。
(1)无符号数
(2)原码表示的定点小数
(3)补码表示的定点小数
(4)补码表示的定点整数
(5)原码表示的定点整数
(6)浮点数的格式为:
阶码6位(含1位阶符),尾数10位(含1位数符)。
分别写出正数和负数的表示范围。
(7)浮点数格式同(6),机器数采用补码规格化形式,分别写出其对应的正数和负数的范围。
答:
(1)无符号数:
0~65535
(2)原码表示的定点小数:
-32767/32768~+32767/32768
(3)补码表示的定点小数:
-1~+32767/32768
(4)原码表示的定点整数:
-32767~+32767
(5)补码表示的定点整数:
-32768~+32767
(6)浮点数(负数):
-231×(1-2-9)~-2-31×2-9
浮点数(正数):
2-31×2-9~231×(1-2-9)
(7)补码表示的浮点规格化负数:
-231~-2-32×(2-1+2-9)
补码表示的浮点规格化正数:
2-32×2-1~231×(1-2-9)
6.17设机器数字长为8位(含1位符号位),对下列各机器数进行算术左移一位、两位,算术右移一位、两位,讨论结果是否正确。
(1)[x]原=0.0011010,算术左移一位:
0.0110100,两位:
0.1101000;算术右移一位:
0.0001101,两位:
0.0000110(低位丢1,影响精度)
(2)[x]原=1.1101000,算术左移一位:
1.1010000(高位丢1,结果出错),两位:
1.0100000(高位丢1,结果出错);算术右移一位:
1.1110100,两位:
1.1111010
(3)[x]原=1.0011001,算术左移一位:
1.0110010,两位:
1.1100100;算术右移一位:
1.1001100(低位丢1,影响精度),两位:
1.1100110
(4)[x]补=0.1010100,算术左移一位:
0.0101000(高位丢1,结果出错),两位:
0.1010000;算术右移一位:
0.0101010,两位:
0.0010101
(5)[x]补=1.1101000,算术左移一位:
1.1010000,两位:
1.0100000;算术右移一位:
1.1110100,两位:
1.1111010
(6)[x]补=1.0011001,算术左移一位:
1.0110010(高位丢0,结果出错),两位:
1.1100100(高位丢0,结果出错);算术右移一位:
1.1001100(低位丢1,影响精度),两位:
1.1100110
(7)[x]反=1.0101111,算术左移一位:
1.1011111(高位丢0,结果出错)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机组成原理课后参考答案 副本 计算机 组成 原理 课后 参考答案