计算机体系结构第四章练习题参考解答说课讲解
大学计算机基础第4章练习题(附参考答案)
第4章练习题及参考答案一、判断题(正确Y,错误N)1.现代通信指的是使用电波或光波传递信息的技术。
通信的任务就是传递信息。
2.现代通信就是传递信息,因此书、报、磁带、唱片等都是现代通信的媒介。
3.通信系统中的发送与接收设备称之为“终端”。
4.在通信系统中,计算机既可以用作信源也可以用作信宿,接收和发送的都是数字信号。
5.通信系统中信源和信宿之间必须存在信道,才能实现信息的传输。
6.光纤是绝缘体,不受外部电磁波的干扰。
7.微波可以按任意曲线传播。
8.微波可以经电离层反射传播。
9.与同轴电缆相比,双绞线容易受到干扰,误码率较高,通常只在建筑物内部使用。
10.光纤通信、微波通信、卫星通信、移动通信,它们的任务都是传递信息,只是其传输介质和技术各有不同。
11.微波中继站之间的距离大致与塔高平方成正比。
一般为50公里左右。
12.中低轨道通信卫星相对于地面是静止的。
13.同步轨道上的卫星数目是有限的。
14.卫星通信是微波接力通信向太空的延伸。
15.传输信息量与传输速率是相同的概念。
16.模拟信号是随时间而连续变化的物理量,包含无穷多个值。
17.信道的带宽总是指信道上所能通过的信号的频带宽度。
18.FDM和TDM是指将任意多路信号复合在同一个信道中传输。
19.无线电广播中的中波段和短波段都采用调幅方式用声音信号调制载波信号,而且都利用电离层反射传输信号。
20.调频广播比调幅广播的声音质量好,原因是调频广播的传输频带较宽,且外界信号不会对声音的频率形成干扰。
21.在有线电视系统中,通过同轴电缆传输多路电视信号所采用的信道复用技术是频分多路复用。
22.采用频分复用技术传输的多路信号一定是模拟信号。
23.在蜂窝移动通信系统中,所有基站与移动交换中心之间均通过光纤传输信息。
计算机网络技术 课后习题答案 第4章 计算机网络协议与网络体系结构
串行比特传输
EIA-232/v.24接口
DTE-B
DCE-A (Modem)
DCE-B(Modem) 13
计算机网络与Internet应用
2、数据链路层
(每步如何走)
数据链路---由实现协议的软硬件加到 物理链路(Link)上,构成可传输帧的 数据链路(右图) 数据链路层主要功能:将从物理层来的
PSN1 Pt PSN2 Pt
原始数据打包成帧,并通过链路管理,
帧传输,流量控制,差错控制,在不太 可靠的物理链路上实现数据帧的无 差错传递。 基本服务:透明传输; 链路管理;帧同步; 差错检测与控制;流量控制;将数据 和控制信息分开;寻址。
Data Frame Buffer Buffer
DataLink Layer
15
计算机网络与Internet应用
4、运输层 (对方在何处) 运输层的任务:负责主机中两个进程之间的逻辑通信.包括: 向高层提供两种服务(连接的和不连接的); 对高层来的数据(报文)分段,为高层应用封装数据; 采用客户机和服务器的端口号标识运行于同一主机内的不同进程,控制 运行于不同主机上的两个进程之间的端到端的通信。 运输层的作用:通过协议屏蔽了互连网中各类通信子网的差异,并以报 文为数据单位进行传送,为以上各层提供运输服务,最终确保端到端的 可靠通信。
17
计算机网络与Internet应用
7、应用层 (做什么) 应用层确定进程之间通信的性质以符合用户的请求;负责用 户信息的语义表示,并在两个通信者之间进行语义匹配。 应用层直接为用户的应用进程提供(无需通过SAD)所需的信 息交换和远程操作,而且还要作为相互作用的应用进程的用户代理,
计算机系统结构第4章精品PPT课件
▲
4/1344.1 指令来自并行1. 循环级并行:使一个循环中的不同循环体并行执行。 ➢ 开发循环体中存在的并行性
最常见、最基本
➢ 是指令级并行研究的重点之一 ➢ 例如,考虑下述语句:
for (i=1; i<=500; i=i+1) a[i]=a[i]+s; 每一次循环都可以与其他的循环重叠并行执行; 在每一次循环的内部,却没有任何的并行性。
(ILP:Instruction-Level Parallelism)
➢ 本章研究:如何通过各种可能的技术,获得更多 的指令级并行性。
硬件+软件技术 必须要硬件技术和软件技术互相配合,才能够最大 限度地挖掘出程序中存在的指令级并行。
▲
3/134
4.1 指令级并行
1. 流水线处理机的实际CPI ➢ 理想流水线的CPI加上各类停顿的时钟周期数:
▲
5/134
4.1 指令级并行
1. 最基本的开发循环级并行的技术 ➢ 循环展开(loop unrolling)技术 ➢ 采用向量指令和向量数据表示
2. 相关与流水线冲突 ➢ 相关有三种类型:
数据相关、名相关、控制相关
➢ 流水线冲突是指对于具体的流水线来说,由于相关 的存在,使得指令流中的下一条指令不能在指定的 时钟周期执行。
➢ 读操作数(Read Operands,RO):等待数据冲 突消失,然后读操作数。
(out of order execution)
IS
RO
检测结构冲突 检测数据冲突
▲
16/134
4.2 指令的动态调度
1. 在前述5段流水线中,是不会发生WAR冲突和WAW冲突 的。但乱序执行就使得它们可能发生了。
第4章 指令级并行
计算机组织与系统结构第四章习题标准答案
第 4 章 习 题 答 案3. 已知某机主存空间大小为64KB,按字节编址。
要求: (1)若用1K×4位的SR AM芯片构成该主存储器,需要多少个芯片? (2)主存地址共多少位?几位用于选片?几位用于片内选址? (3)画出该存储器的逻辑框图。
参考答案:(1)64KB / 1K×4位 = 64×2 = 128片。
(2)因为是按字节编址,所以主存地址共16位,6位选片,10位片内选址。
(3)显然,位方向上扩展了2倍,字方向扩展了64倍。
下图中片选信号CS 为高电平有效。
A 15A 10A 9A 0D 0D 7……WE…4. 用64K×1位的DRAM 芯片构成256K×8位的存储器。
要求:(1) 计算所需芯片数,并画出该存储器的逻辑框图。
(2) 若采用异步刷新方式,每单元刷新间隔不超过2ms,则产生刷新信号的间隔是多少时间?若采用集中刷新方式,则存储器刷新一遍最少用多少读写周期? 参考答案: (1)256KB / 64K×1位 = 4×8 = 32片。
存储器逻辑框图见下页(图中片选信号CS 为高电平有效)。
(2)因为每个单元的刷新间隔为2ms,所以,采用异步刷新时,在2ms 内每行必须被刷新一次,且仅被刷新一次。
因为DRAM 芯片存储阵列为64K=256×256,所以一共有256行。
因此,存储器控制器必须每隔2ms/256=7.8µs 产生一次刷新信号。
采用集中刷新方式时,整个存储器刷新一遍需要256个存储(读写)周期,在这个过程中,存储器不能进行读写操作。
A 17A 16A 15A 0D 0D 7………5. 用8K×8位的EPROM 芯片组成32K×16位的只读存储器,试问:(1)数据寄存器最少应有多少位? (2) 地址寄存器最少应有多少位? (3) 共需多少个EPRO M芯片? ﻩ (4) 画出该只读存储器的逻辑框图。
计算机系统结构 第四章(习题解答)讲解
1. 假设一条指令的执行过程分为“取指令”、“分析”和“执行”三段,每一段的时间分别是△t 、2△t 和3△t 。
在下列各种情况下,分别写出连续执行n 条指令所需要的时间表达式。
⑴ 顺序执行方式。
⑵ 仅“取指令”和“执行”重叠。
⑶ “取指令”、“分析”和“执行”重叠。
答:⑴ 顺序执行方式12 ......1 2 12T =∑=++n1i i i i )t t t (执行分析取址=n(△t +2△t +3△t)=6n △t⑵ 仅“取指令”和“执行”重叠12 ......1 212T =6△t +∑=+1-n 1i i i )t t (执行分析=6△t +(n-1)(2△t +3△t)=(5n +1)△t⑶ “取指令”、“分析”和“执行”重叠12 34 ......1 2 3 41234△t2△t3△t△t2△t3△t△t2△t3△tT =6△t +∑=1-n 1i i )t (执行=6△t +(n-1)(3△t)=(3n +3)△t2. 一条线性流水线有4个功能段组成,每个功能段的延迟时间都相等,都为△t 。
开始5个任务,每间隔一个△t 向流水线输入一个任务,然后停顿2个△t ,如此重复。
求流水线的实际吞吐率、加速比和效率。
答:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15...1 2 3 4 5 6 7 8 9 10 11 12 13 14 151 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 56 7 8 9 10 11 12 13 14 151 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23我们可以看出,在(7n+1)Δt 的时间内,可以输出5n 个结果,如果指令的序列足够长(n →∞),并且指令间不存在相关,那么,吞吐率可以认为满足:)n (t75t )n /17(5t )1n 7(n 5TP ∞→∆=∆+=∆+=加速比为:)n (720n /17201n 7n 20t )1n 7(t 4n 5S ∞→=+=+=∆+∆⨯=从上面的时空图很容易看出,效率为:)n (75n /1751n 7n 5t )1n 7(4t 4n 5E ∞→=+=+=∆+⨯∆⨯=3. 用一条5个功能段的浮点加法器流水线计算∑==101i i A F 。
计算机体系结构课后详解 王志英
第1章计算机系统结构的基本概念1.1 解释下列术语层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。
这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。
虚拟机:用软件实现的机器。
翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。
解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。
执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。
计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。
在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。
计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。
计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。
系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。
Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。
程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。
包括时间局部性和空间局部性。
CPI:每条指令执行的平均时钟周期数。
测试程序套件:由各种不同的真实应用程序构成的一组测试程序,用来测试计算机在各个方面的处理性能。
存储程序计算机:冯·诺依曼结构计算机。
其基本点是指令驱动。
程序预先存放在计算机存储器中,机器一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。
系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。
大学计算机基础教程第4章习题答案要点-计算机网络与因特网基本知识
大学计算机基础教程第四章练习题答案详解4.1 计算机网络可分为哪两个组成部分?简述每个部分的功能作用答:计算机网络由硬件和软件组成。
包括服务器,网络适配器,网络工作站,网络互连设备,网络软件系统。
服务器是网络的核心控制计算机:主要作用是管理网络资源并协助处理其他设别提交的任务,它拥有可供共享的数据和文件,为网上工作站提供服务。
网络适配器也称网卡,作用是将通信介质和数据处理设备之间用网络接口设备进行物理连接。
网络工作站是网络用户的工作终端,一般是指用户的计算机。
网络互连设备连接成网络。
网络软件系统包括网络协议软件,通信软件和网络操作系统。
4.2构成计算机网络的3个要素是什么?答:3要素是计算机,通信线路和通信协议。
4.3分析描述信息在OSI模型的各个层次之间是如何流动的。
答:如图,信息由发送端应用层经过层层封装到达物理层,然后到接受端从物理层接受,然后到应用层。
4.4如何区别局域网,城域网和广域网。
答:局域网是指范围在几百米到十几公里内办公楼群或校园内的计算机相互连接所构成的计算机网络。
城域网是在一个城市范围内所建立的计算机通信网,一般覆盖十几公里到几十公里。
广域网通常跨接很大的物理范围,如一个国家,一个地区,甚至几个大洲。
他们之间并没有严格定义,根据它们的作用范围大小而定。
4.5在网络互连中,中继器,网桥,路由器,网关的作用有何区别。
答:中继器用于连接拓扑结构相同的两个局域网或延伸一个局域网,所起作用只是信号的放大和再生。
网桥工作再OSI模型的数据链路层,用于连接两个是用相同协议的局域网,网桥具有“帧过滤”功能。
它能够解析由它收发的数据,并根据数据包的目的地址来判断该数据包是否要转发到另一个网段。
路由器工作再OSI模型的网络层,它的作用包括连通不同的网络,选择信息传输的线路,同时完成数据帧的格式转换从而构成一个更大规模的网络。
网关用于连接使用不同协议或物理结构的网络,使数据可以在这些网络之间传输。
计算机网络课后习题与解答讲解
本文所有的习题均来自教师上课布置的题目和书上,答案是一家之言,仅供参考。
第一章计算机概论1.术语解释计算机网络网络拓扑结构局域网城域网广域网通信子网资源子网2.计算机网络的的发展可以划分为几个阶段?每个阶段各有什么特点?3.以一个你所熟悉的因特网应用为例,说明你对计算机网络定义和功能的理解。
4.计算机网络如何分类?请分别举出一个局域网、城域网和广域网的实例,并说明它们之间的区别。
5.何为计算机网络的二级子网结构?请说明它们的功能和组成。
6.常用的计算机网络的拓扑结构有哪几种?各自有何特点?试画出它们的拓扑结构图。
7.计算机网络具有哪些功能?8.目前,计算机网络应用在哪些方面?第二章网络体系结构与网络协议1.解释下列术语网络体系结构服务接口协议实体协议数据单元数据封装数据解封装2.在OSI参考模型中,保证端-端的可靠性是在哪个层次上完成的?CA.数据连路层B.网络层C.传输层D.会话层3.数据的加密和解密属于 OSI 模型的功能。
BA.网络层 B.表示层 C.物理层 D.数据链路层4.O SI 参考模型包括哪 7 层?5.同一台计算机之间相邻层如何通信?6.不同计算机上同等层之间如何通信?7.简述 OSI参考模型各层的功能。
8.简述数据发送方封装的过程。
9.O SI 参考模型中每一层数据单元分别是什么?10.在 TCP/IP协议中各层有哪些主要协议?11.试说明层次、协议、服务和接口的关系12.计算机网络为什么采用层次化的体系结构?13.试比较 TCP/IP 模型和 OSI 模型的异同点。
计算机网络为什么采用层次化的体系结构?【要点提示】采用层次化体系结构的目的是将计算机网络这个庞大的、复杂的问题划分成若干较小的、简单的问题。
通过“分而治之”,解决这些较小的、简单的问题,从而解决计算机网络这个大问题(可以举例加以说明)。
2.81.用生活中的实例说明面向连接的网络服务与无连接的网络服务解析:面向连接的网络服务与无连接的网络服务就相当于生活中的电话系统和普通邮政系统所提供服务。
计算机体系结构课后答案
计算机体系结构课后答案【篇一:计算机体系结构习题(含答案)】1、尾数用补码、小数表示,阶码用移码、整数表示,尾数字长p=6(不包括符号位),阶码字长q=6(不包括符号位),为数基值rm=16,阶码基值re=2。
对于规格化浮点数,用十进制表达式写出如下数据(对于前11项,还要写出16进值编码)。
(1)最大尾数(8)最小正数(2)最小正尾数(9)最大负数(3)最小尾数(10)最小负数(4)最大负尾数(11)浮点零(5)最大阶码(12)表数精度(6)最小阶码(13)表数效率(7)最大正数(14)能表示的规格化浮点数个数2.一台计算机系统要求浮点数的精度不低于10-7.2,表数范围正数不小于1038,且正、负数对称。
尾数用原码、纯小数表示,阶码用移码、整数表示。
(1) 设计这种浮点数的格式(2) 计算(1)所设计浮点数格式实际上能够表示的最大正数、最大负数、表数精度和表数效率。
3.某处理机要求浮点数在正数区的积累误差不大于2-p-1 ,其中,p是浮点数的尾数长度。
(1) 选择合适的舍入方法。
(2) 确定警戒位位数。
(3) 计算在正数区的误差范围。
4.假设有a和b两种不同类型的处理机,a处理机中的数据不带标志符,其指令字长和数据字长均为32位。
b处理机的数据带有标志符,每个数据的字长增加至36位,其中有4位是标志符,它的指令数由最多256条减少到不到64条。
如果每执行一条指令平均要访问两个操作数,每个存放在存储器中的操作数平均要被访问8次。
对于一个由1000条指令组成的程序,分别计算这个程序在a处理机和b处理机中所占用的存储空间大小(包括指令和数据),从中得到什么启发?5.一台模型机共有7条指令,各指令的使用频率分别为35%,25%,20%,10%,5%,3%和2%,有8个通用数据寄存器,2个变址寄存器。
(1) 要求操作码的平均长度最短,请设计操作码的编码,并计算所设计操作码的平均长度。
6.某处理机的指令字长为16位,有双地址指令、单地址指令和零地址指令3类,并假设每个地址字段的长度均为6位。
计算机体系结构第四~六章习题参考答案
⑤ ⑥
⑥
⑦
④ ⑤ ⑤ 5 6 7 8
⑤ ⑥ ⑥ 9 10 11 12 13 ⑦ 15
⑦
⑦ 18 21t(Δ t)
1
2 3
4
3)吞吐率: TP=7/21 =1/3(个 /Δ t) 效率:η =(7*6 Δ t )/(21Δ t*6)=1/3
பைடு நூலகம்
长度为4向量A和B的点积为 A· B=a1*b1+a2*b2+a3*b3+a4*b4 共需做4乘法和3加法: c1=a1*b1, c2=a2*b2, c3=a3*b3, c4=a4*b4 d1=c1+c2, d2=c3+c4, d3=d1+d2= A· B (1)乘法部件和加法部件不能同时工作,部件内也只能顺序 方式工作如下图所示。 由向量点积A· B运算的时空图可知,完成全部运算最少为 4× 5十3 × 5=35(拍) 部件 3.解
1 ⑤ 3# ⑤ 1 3# 2 3# ①# ⑤
1# 5 ② 5 1# ② 2 3# 5
1# 5 2 5 1# 2 2 3 5#
③ 5 5# 15 2 5# 6 ③ 15 2 2 9 3 15 5#
5 解:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 地址流A: 2 1 3 1 4 2 5 3 2 1 2 3 4 1 5
栈顶→
t
n=3栈底 n=4栈底 n=5栈底
2 1 3 1 4 2 5 2 1 3 1 4 2 2 2 3 1 4 2 3 1
3 5 2 4
2 3 5 4
1 2 3 5
2 1 3 5
3 2 1 5
4 3 2 1
计算机简明教程课后答案谢希仁版第四章 网络层
第四章1、网络互联有何实际意义?进行网络互联时,有哪些共同的问题需要解决.解答一、网络互联的实际意义(1)局域网的发展必然走向互联,异构网或非标准网的存在,也需互联.因为只有实现网络互联,才能使用户更好地实现资源共享;(2)网络互联可以带来一系列好处:①扩大网络物理范围,在更大范围内实现资源共享;②改善网络性能.若将一个大局域网分割成互联的若干个小的局域网,且每个小局域网内部通信量明显地高于网间通信量时,整个互联网的性能比大局域网好;③隔离故障和错误,提高网络可靠性;④在一个互联的局域网中可使用不同传输媒体;⑤可以实现不同类型的局域网(如CSMA/CD、令牌环、令牌总线)的互联;⑥可增加接入网络的最大站点数目;⑦有利于网络的安全管理.二、网络互联时需要解决以下共同问题(1)在网络之间至少提供一条物理上连接的链路以及控制这条链路的规程;(2)在不同网络的进程之间提供合适的路由;(3)有一个计费的服务,记录不同网络、网关的使用情况并维护这个状态信息;(4)尽可能不修改互联在一起的网络的体系结构,适应不同网络间的差别,包括不同的寻址方案、不同的最大分组长度、不同的超时控制、不同的差错恢复方法、不同的路由选择技术、不同的服务(面向连接服务和无连接服务)、不同的访问控制机制、不同的管理与控制方式、不同的状态报告方法,等等.2、区别internet 和Internet..解答internet(互联网)是泛指多个计算机网络互联而成的计算机网络.使用大写字母I 的Internet(因特网)则是指当前全球最大的、开放的、由众多网络相互连接起来的特定计算机网络,其前身是美国的ARPANET,它采用TCP/IP 协议.3、作为中间系统,转发器(中继器)、网桥、路由器和网关有何区别?解答按照OSI 参考模型划分的网络分层体系结构,这些中间系统中,转发器是物理层中继系统,网桥是数据链路层中继系统,路由器是网络层中继系统,网络层以上的中继系统称为网关.值得注意的是,采用TCP/IP 协议的网络中,将路由器也通常称为网关.4、试简单说明以下协议的作用:IP、ICMP、IGMP 以及ARP 和RARP.解答IP 网际互联协议是TCP/IP 体系结构中最主要的两个协议之一,它是一种标准化协议,各种计算机网络可通过使用IP 协议实现互联,形成一个更大规模的虚拟网络,即常说的互联网或IP 网.IP 协议经常会用到ARP 和RARP 这两个地址映射协议,ARP 地址解析协议将可根据一个互联网IP 地址找到对应的主机的物理网络硬件地址,ARP 采用动态的地址映射,不依赖固定的映射表,比较灵活.ARP 工作原理是,ARP 将映射表放于主机内存中,主要包含32位IP 地址和48 位物理网络硬件地址(如以太网MAC 地址).IP 模块可通过查表的方法找到对应的硬件地址;如果在ARP 映射表中不包含某IP 地址,则将包含该IP 地址的ARP 请求数据报向网络广播,IP 地址与之相同的主机收到该数据报后,发出ARP 响应数据报返回其硬件地址.RARP 逆地址解析协议与ARP 协议正好相反,用于将物理网络硬件地址翻译为IP 地址.它使得只知道自己硬件地址的主机能够从RARP 服务器获知自己的IP 地址.ARP 能应用于DNS 域名服务中,RARP 则可支持无盘工作站自举系统时获取自己的IP 地址.无盘工作站启动时,自动以广播形式发出RARP 请求数据报,并在其中写入自己的硬件地址,物理网络中只有RARP 服务器才能处理该数据报,RARP 查找映射表找出该硬件地址对应的IP 地址,并通过RARP 响应数据报发回该无盘工作站.ICMP 和IGMP 都使用IP 协议,依靠IP 数据报来传递ICMP 报文或IGMP 报文.ICMP允许主机或路由器报告差错和异常情况,还可实现网络通信量控制、路由重定向等控制功能,为网络管理提供了获取网络状态并进行相应控制处理的支持.一个主机使用IGMP 的目的是让局域网中其他主机和所有路由器能够知道它是某个组的成员,IGMP 利用局域网广播特性组播主机与路由器之间高效率地交换信息,支持了IP 网的组播功能.5、IP 地址分为几类?各如何表示?IP 地址的主要特点是什么?解答IPv4 地址长32 位,可分为5 种类型,除最高5 位状态为11110 的E类地址保留外,最高位为0 的IP 地址属于A 类地址;最高 2 位为10,则属于B 类;最高3 位为110 称为C类地址;D 类则作为组播地址,最高 4 位状态为1110.下面进一步讨论A、B、C 三类地址:IP 地址分为网络号与主机号两部分,每个网络号标识一个网络,主机号标识每个网络中的某个主机.将32 位IP 地址分为 4 个8位码段,A 类IP 地址的网络号占最高一个码段,其余三个码段代表主机号,因此使用 A 类IP 地址的 A 类网络的特点是网络数少,每个网络支持的主机多.A 类网络的有效网络号范围为00000001 到01111110,网络地址的十进制表示为 1.x.x.x 到126.x.x.x,x 取值0 到255.网络号0 和127 被保留,0 代表整个Internet 网络,127 可用于任意一台主机的环回测试.另外,网络号10 可用作内部专网.共有125 个A类网络可供分配.B 类地址的网络号和主机号各占两个码段,网络地址范围为128.x.x.x 到191.x.x.x,最多有214-2=16382 个B类网络.每个网络可支持65534 台主机,主机号为0 代表整个网络,全1为广播地址.网络号172.16 至172.31 共16 个B类网络保留给内部专网使用.C 类地址和 A 类地址正好相反,主机号占地址最低 1 个码段,其余3 个码段都表示网络号,网络地址范围为192.x.x.x 到223.x.x.x,221-2=2097150 个C类网络.每个网络支持主机最多254个.共有256 个C类网络保留给内部专网,网络号为192.168.0 到192.168.255.可以使用子网掩码,动态调节网络号和主机号,比如,可以使用掩码255.255.255.192将一个 C 类网络划分成4 个子网,也可使用掩码255.255.254.0 通过无类别域间路由协议CIDR 将两个C 类网络合并为一个可支持510 个主机的网络.IP 地址具有以下一些特点:(1) IP 地址是一种非等级的地址结构,也就是说,和电话号码的结构不同,IP 地址不能反映任何有关主机位置的地理信息.(2) 当一个主机同时连接到两个网络时,该主机就必须具有两个相应的IP 地址.其网络号net-id 是不同的.这种主机称为多穴主机(multihomed host).(3) 由于IP 地址中含有网络号,因此严格地讲,IP 地址不仅是指明一个主机(或路由器),而且指明了一个主机(或路由器)到一个网络的连接.(4) 与某个局域网相连接的主机或路由器的IP 地址中的网络号都必须是一样的.(5) 路由器总是具有两个或两个以上的IP 地址.(6) 按照Internet 的观点,用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有相同的网络号.(7) 在IP 地址中,所有被分配了网络号的网络,不管是地域很小的局域网还是覆盖了很大地理范围的广域网,都是平等的.(8) IP 地址有时也可以用来指明单个网络的地址,此时只要将该IP 地址的主机号置为全0 即可.6、试说明IP 地址与网络硬件地址的区别.为什么要使用这两种不同的地址?解答一台主机的IP 地址是该主机在经过IP 层抽象的互联网上的全局地址,网络硬件地址也称MAC 地址,是该主机在具体物理网络上的地址.在互联网上看到的是IP 数据报,执行IP 协议的路由器根据数据报中的IP 地址选择路由,并通过该路由器将IP 数据报转发到下一跳.具体的物理网络的链路层看到的是MAC帧,IP 数据报被封装进MAC 帧中,按照MAC 帧中目的MAC 地址寻址.因此两个地址同时都需要使用.7、(1)子网掩码为255.255.255.0 代表什么意思?(2)一网络的当前掩码为255.255.255.248,问该网络能够连接多少个主机?(3)一个A 类网络和一B 类网络的子网号分别为16 位1和8位1,问这两个网络的子网掩码有何不同?(4)一A类网络的子网掩码为255.255.0.255,它是否为一个有效的子网掩码?解答(1) 是C类地址对应的默认子网掩码.但也可能是A 类地址或B 类地址的掩码,即代表将一个 A 类网络划分成了65536 个子网,或者将一个B 类网络划分为256 个子网.主机号由最低8 位决定,路由器根据高24 位寻找网络.(2) 6 个主机.(3) 子网掩码是一样的,与(1)的掩码相同.但子网数目不同.(4) 有效,但不推荐这样的用法.8、C 类网络使用子网掩码有无实际意义?为什么?解答有,可充分利用IP 地址,可方便地支持VLAN.对于小网络,这样做还能进一步简化路由表.9、试辨认以下IP 地址的网络类别.(1)128.36.199.3(2)21.12.240.17(3)183.194.76.253(4)192.12.69.248(5)89.3.0.1(6)200.3.6.2解答(1)和(3)是B类地址;(2)和(5)是A类;(4)和(6)是C类.10、某单位有28 个部门,拥有4000 多台计算机,每个部门最多不超过250 台机器.现在打算接入Internet,但只申请到了5 个公开的合法 C 级IP 地址.要使该单位所有机器都能访问外部网站,怎么办?解答大家可能想到的解决方案就是使用代理服务.除把合法IP 地址分配给WEB、E-mail、DNS、DHCP 等服务器外,至少必须分配一个IP 地址给代理服务器.有可能的话,为多台代理服务器分配IP 地址.那么给其它机器分配什么地址?根据问题中的条件,你可以把每个部门构造为一个 C 级IP 网络.随便找28 组C级IP地址在单位内部使用,所有机器通过代理服务器进入Internet.但在内部使用别人的地址,也是一种侵权行为,尽管人家不一定追究你.怎么办?不要着急!IP 地址空间中,除了我们曾提到的0.0.0.0 和127.0.0.0 两个 A 类网络的IP地址保留外,还保留三个区域作为专用IP 地址(Private IP).这三个地址范围为:10.0.0.0.~ 10.255.255.255 1 个A类网络172.16.0.0.~ 172.31.255.255 16 个B类网络192.168.0.0.~ 192.168.255.255 256 个C类网络这些地址专门用来支持建设单位内部Intranet,使用这些地址是合法的.比如,南京大学校园网就使用172.16.0.0 来支持学生虚拟IP 地址的分配,将这个 B 类网络通过分割子网的方法将这些地址按每个子网最多254 台设备划分给不同的建筑物,最多254 个子网.当然也可以按不均等分割子网划分方案,见下题.鼓楼校区逸夫馆的子网的主机IP 地址范围是172.16.28.1~172.16.28.254.根据上面的问题,可以用专用 C 级IP 地址把每个部门类网络设置成一个 C 类网络.也可采用南京大学类似的 B 级地址方案.11、某集团公司的网络中心给其一个下属公司分配了一个B 级IP 子网地址172.20.0.0/20. 这个下属公司有10 个部门,需要将该子网进一步分割成10 个子网.其中软件开发部有300 台机器需要分配IP 地址,其余有两个部门各需要100 个IP,四个部门需要50 个,三个部门需要10 个.如何有效地分配地址?解答题中/20 是子网掩码的一种表示方法,表示32 比特子网掩码中含有20 个1,该掩码也可写成255.255.240.0.由于软件开发部需要300 个IP,因此有28<300<29,32-9=23,该开发部子网掩码为/23.网络有原来的/20 分割为/23,共分23=8 个子网,且只有6 个可用(想必大家已经明白原因).按常规的子网分割方法无法应付10 个子网的需求.需要采用"变长子网掩码"(VLSM—Variable Length Subnet Mask)技术来建立不均等分割子网.其做法如下:(1) 使用子网掩码/23,将子网172.20.0.0/20 切分为8 段,可用的6 段各有510 个有效IP.将其中一段分配给软件开发部,足以满足其300 个IP 的需要.(2) 从余下的5 段中将一段再细分为4 个子网,子网掩码为/25,每个子网有126 个有效IP.将可用的两个子网分配给需求100 个IP 的部门.(3) 再从剩下的4 段中取一段分割成8 个子网,子网掩码/26.每个子网62 个有效IP.4 个子网分配给需要50 个IP 的四个部门.(4) 将余下的2 个可用的/26 子网分别各自再分成4 个/28 子网,总共8 个子网中只有4 个子网可用,每个子网14 个有效IP.分配给3 个需要10 个IP 的部门,还余1个/28 子网.按此法分配后,还余三段/23 子网和一段/28 子网未分配,可用于以后网络的扩展.从常规分割子网IP 不够用到不均等分割子网IP 富足有余,可以看出后者的优越性.但是需要注意的是,采用VLSM 方法不能利用最简单的RIP 路由协议(参阅RFC1058),在网际互联时需要考虑兼容性.12、南京大学计算机系所在的逸夫馆6 楼至10 楼要组建一个网络,现有500 台机器要分配IP 地址.学校给了我们可构成2 个C类网络的2 组IP 地址202.119.36.0~202.119.36.255 和202.119.37.0~202.119.37.255,怎样利用它们构成一个支持500 台机器的网络?解答我们已经知道,把一个默认大小的网络(如C类网络)分成几个范围更小的网络,称为"分割子网".同样,如果把几个默认大小的网络合并成一个更大的网络,则我们将它称为"合并网络".合并网络通过一种"超网寻址"(Supernet Addressing)技术来实现,该技术由"无类别域间路由"(CIDR—Classless Inter-Domain Routing)协议所规范.问题中提到的202.119.36.0 和202.119.37.0 两个C 类网络可提供508 个有效IP 地址,能满足IP 地址需求量,但按照默认的 C 级子网掩码(255.255.255.0 或/24),组成的是两个C类网络.系内分属于两个网络的机器不能直接沟通,需要使用路由器来转发数据.如果子网掩码中默认的主机域向网络域借用 1 个比特,将1改成0,则变成新的子网掩码255.255.254.0 或/23.由此将两个 C 类网络组成一个无类别网络,网络中的任何成员主机之间通信无须使用路由器,只需要提供实现该网络内外数据交换所需的转发路由器.此外,还可多出两个IP 地址供分配(202.119.36.255 和202.119.37.0).需要指出的是,与此网络相连的所有路由设备必须支持而且启动CIDR 协议.13、IP 数据报中的首部检验和并不检验数据报中的数据,这样做的最大好处是什么?坏处是什么?解答在首部中的错误比在数据中的错误更严重.例如,一个坏的地址可能导致分组被投寄到错误的主机.许多主机并不检查投递给它们的分组是否确实是要投递给它们的.它们假定网络从来不会把本来是要前往另一主机的分组投递给它们.数据不参与检验和的计算,是因为如果数据参与检验和,时间上的额外开销会大大增加,因为数据通常比首部要长得多.再则高层协议通常会对数据进行这种检验工作,IP 层对数据检验显得重复和多余.因此,IP 数据报中的首部检验和不检验数据报中的数据,可以加快分组的转发.缺点是数据部分出现差错时不能及早发现.14、一个3200 比特长的TCP 报文传到IP 层,加上160 比特的首部后成为数据报.下面的互联网由两个局域网通过路由器连接起来.但第二个局域网所能传送的最长数据帧中的数据部分只有1200 比特.因此数据报在路由器必须进行分片.试问第二个局域网向其上层要传送多少比特的数据(这里的"数据"当然指的是局域网看见的数据)?解答进入本机IP 层时报文长度为3200+160=3360 比特,然后封装在第一个局域网的数据帧中(如果第一个局域网的数据帧的数据部分最大长度小于IP 数据报的长度,则要分片),到达连接两个局域网的路由器后,将IP 数据报取出(如果分片则需要重组合并成IP 数据报),再送入第二个局域网.由于第二个局域网所能传送的最长数据帧中的数据部分只有1200 比特,1200 数据部分扣除160 比特IP 首部开销,只能承载1040 比特净负荷.3200 比特可分为4片,最后一片为80 比特.4 片需要有 4 个IP 首部,共计640 比特,所以第二个局域网向其上层(IP 层)要传送3200+640=3840 比特的数据.15、设某路由器建立了如表1 所示的路由表:此路由器可以直接从接口0 和接口 1 转发分组,也可通过相邻的路由器R2,R3 和R4进行转发.现共收到 5 个分组,其目的站IP 地址分别为:(1)128.96.39.10(2)128.96.40.12(3)128.96.40.151(4)192.4.153.17(5)192.4.153.90表1题15 的路由表目的网络子网掩码下一跳128.96.39.0 255.255.255.128 接口0128.96.39.128 255.255.255.128 接口1128.96.40.0 255.255.255.128 R2192.4.153.0 255.255.255.192 R3*(默认) R4试分别计算其下一跳.解答将上述IP 地址与所有的子网掩码相与,结果如果与某一行的目的网络相同,下一站就是该行的最后一列的内容.具体答案为:(1)接口0;(2)R2;(3)R4;(4)R3;(5)R4.16、某单位分配到一个B 类IP 地址,其网络号为129.250.0.0.该单位有4000 多台机器,分布在16 个不同的地点.如选用子网掩码255.255.255.0,试给每一个地点分配一个子网号码, 并算出每个地点主机号码的最小值或最大值.解答因选用子网掩码255.255.255.0,每个子网最多可支持254 个主机.,4000 个站点分布在16 个不同的地点,可以平均每个地点连接250 台主机,小于子网最大主机数.如不平均分布,每个地点主机号码的最小值为1,最大值为254.17、一个数据报长度为4000 八比特组(固定首部长度).现在经过一个网络传送,但此网络能够传送的最大数据长度为1500 八比特组.试问应当划分为几个短些的数据报片?各数据报片的数据字段长度、片偏移字段和M 标志应为何数值?解答数据报长度为4000 八比特组,去掉固定首部长度20 八比特组,数据字段长度为3980比特,可分为 3 个短些的数据报片.每个数据字段长度分别为1480、1480 和1020 八比特组. 片偏移字段的值分别为0、185、370.M 标志字段的值分别为1、1、0.18、某个IP 地址的十六进制表示是C22F1481,试将其转换为点分十进制的形式.这个地址是哪一类IP 地址?解答用点分十进制表示,该IP 地址是194.47.20.129,为C类地址.19、有人认为:"ARP 协议向网络层提供了转换地址的服务,因此ARP 应当属于数据链路层."这种说法为什么是错误的?解答ARP 不是向网络层提供服务,它本身就是网络层的一部分,帮助向传输层提供服务.在数据链路层不存在IP 地址的问题.数据链路层协议是象HDLC 和PPP 这样的协议,它们把比特串从线路的一端传送到另一端.20、ARP 和RARP 都是将地址从一个空间映射到另一个空间.在这个意义上讲,它们是相似的.然而ARP 和RARP 在实现方面却有一点很不相同.请指出这个不同点.解答在RARP 的实现中有一个RARP 服务器负责回答查询请求.在ARP 的实现中没有这样的服务器,主机自己回答ARP 查询.请参阅有关ARP 和RARP 书籍.顺便指出,ARP 协议数据报可以通过IP 路由器转发;而RARP 则无法通过IP 路由器转发,即只局限于单个广播域内.21、在因特网上的一个B 类地址的子网掩码是255.255.240.0.试问在其中每一个子网上的主机数最多是多少?解答对于一个 B 类网络,高端16 位形成网络号,低端16 位是子网或主机域.在子网掩码的低16 位中,最高有效4 位是1111,因此剩下12 位(第3码段低 4 位和第4 码段)用于主机号.因此,存在4096 个主机地址,但由于全0 和全1 是特别地址,因此最大主机数目应该是4094.22、在IPv4 首部中有一个"协议"字段,但在IPv6 的固定首部中却没有.这是为什么?解答设置协议字段的目的是要告诉目的主机把IP 分组交给哪一个高层协议处理程序(TCP或UDP).中途的路由器并不需要这一信息,因此IPv6 不必把它放在主首部中.实际上,这个信息存在主首部中,但被(下一首部字段)伪装了.最后一个扩展首部的下一首部字段就用于指向高层协议.23、当使用IPv6 时,是否ARP 协议需要改变?如果需要改变,那么应当概念性的改变还是技术性的改变?解答从概念上讲,不需要改变.在技术上,由于被请求的IP 地址现在变大了,因此需要比较大的域(也称段).24、IPv6 使用16 个八比特组地址空间.设每隔1 微微秒就分配出100 万个地址.试计算大约要用多少年才能将IP 地址空间全部用完.可以和宇宙的年龄(大约有100 亿年)进行比较.解答使用16 个八比特组,总的地址数为2128或3.4*1038.如果我们以每10-12秒106(亦即每秒1018)个地址的速率分配它们,这些地址将持续3.4*1020秒,即大约1013年的时间.这个数字是宇宙年龄的1000 倍.当然,地址空间不是扁平的,因此它们的分配是非线性的,但这个计算结果表明,即使分配方案的效率为千分之一,这么多地址也永远都不会用完.25、在什么情况下需要使用源站选路?解答可以在IPv6 的路由选择扩展首部中给出到达目的站沿途经过的路由器,使用源站选路策略.当互联网路由器不保持路由表时,必须使用源站选路实现路由选择.26、IGP(IRP)和EGP(ERP)这两类协议的主要区别是什么?解答IGP 是自治系统内部的路由协议,为了计算自治系统内从给定的路由器到任意网络的最小费用路径,IGP 需要为自治系统内的路由器建立相当详细的路由器相互连接模式.而EGP 则是自治系统间的路由协议,在各自独立管理的不同自治系统上的路由器之间交换概要性的可达信息,通常比EGP 更加简单,不如IGP 使用的信息详细.27、试叙述RIP、OSPF 和BGP 路由协议的主要特点.解答RIP(Routing Information Protocol)协议是一个基于距离向量的分布式路由选择协议,其最大优点是就是简单.RIP 将距离定义为目的网络所经过的路由器数目(跳数),每经过一个路由器,跳数加 1.RIP 认为一个好的路由就是跳数少,即距离短.主要特点有:(1)RIP 只适用于小型网络,最大跳数为15,当跳数为16 则认为不可达;(2)RIP 只能在两个网络之间选择一条路由,不能同时使用多条路由;(3)RIP 让互联网中所有路由器每隔30秒向相邻路由器广播自己的整个路由表,各路由器根据交换的距离信息,修改各自的路由表;(4)RIP 使用运输层的用户数据报UDP 进行传送信息.OSPF 克服了RIP 限制网络规模、交换完整路由信息开销大、路由更新过程收敛时间过长等缺点,但要复杂得多.之所以称为开放最短路径优先,表明是一种公开发表的协议,并使用了Dijkstra 最短路径算法.OSPF 最主要的特征就是它是一种分布式链路状态协议,而不是RIP 那样的距离向量协议.OSPF 要点如下:(1)所有路由器都维持一个链路状态数据库,即整个互联网拓扑的有向图;(2)每个路由器使用链路状态数据库中的数据计算出自己的路由表;(2)只要网络拓扑发生变化,将引发链路状态数据库快速更新,各路由器重新计算出新的路由表,更新过程收敛快是OSPF 主要优点;(3)OSPF 依靠各路由器之间交换更新的链路状态信息,维持全网范围内链路状态数据库的一致性(链路状态数据库同步);(5) OSPF 不用UDP 而是直接使用IP 数据报来传送信息.BGP 基本上也是一个距离向量协议,但与RIP 这样的其它距离向量协议有很大区别.BGP 中将连接网络的路由器称为站,BGP 不是保留通往每个目的站的费用,而是保留到达该目的站的完整路由.BGP 也不是把每一个可能的目的站的费用周期性地通知其邻站,而是将它使用的每一个路由告诉邻站.邻站指接在同一个子网的两个路由器,若两个邻站分属于两个不同的自治系统,而其中一个邻站想和另一个邻站定期交换路由信息,则应该有一个商谈过程,该过程称为邻站获取(通过Open 和keepalive 报文实现).一旦邻站关系建立,需要用邻站可达性过程(彼此周期性交换keepalive 报文)来维持.每个路由器维护一张含有所能到达的子网以及到此子网的最佳路由的路由表,当路由表发生变化时,路由器执行网络可达性过程,用广播方式对所有BGP 路由器发出一个Update 报文.BGP 解决了通常的距离向量路由选择算法中路由更新过程收敛慢的问题.28、ICMP 的协议的要点是什么?解答ICMP 允许主机或路由器报告差错或异常情况,还可以提供通信量控制、改变路由、测试网络实体是否能够通信、询问地址掩码、测试路由时延等功能.IP 是一种不可靠的网络服务协议,只能"尽最大努力"传送,可能会丢弃数据报,ICMP则允许在数据报无法投递的情况下通知发送端.ICMP 报文封装在IP 数据报中传送,但它不是高层协议,而仍然是IP 层的协议.ICMP 报文分为差错报文和ICMP 询问报文两类.改变路由(Redirect—重定向)是使用最频繁的ICMP 差错报文,ICMP 询问报文的一个典型用例是,应用程序PING(Packet InterNet Groper)使用回送(Echo)请求和回送应答报文来测试两个主机之间是否可达.29、IPv6 没有首部检查和,这样做的优缺点是什么?解答因为IPv6 的扩展首部使得整个首部总长度是变化的,且主首部中只有净负荷长度,要知道主首部加上各扩展首部有多长需要经过较繁的计算.此外,有些扩展首部(如路由选择首部)的内容还需要修改,因此,首部检查和需要沿途路由器反复计算.IPv6 没有首部检查和,优点是沿途路由器开销小,效率高.缺点是可能会因为首部出错而误操作,比如,将IP v6 分组交付给不正确的目的主机.30、当某个路由器发现一数据报的首部检查和有差错时,为什么采取丢弃的办法而不是要求源站重传此数据报?检验首部差错为什么不采用CRC 检验码?解答因为其高层运输协议已经提供了丢包重传的功能,当数据报的首部检查和有差错时,互联网层采取丢弃策略,运输层协议会将按照数据报丢失一样来处理.因为数据报首部有些参数可能不断改变,在从源主机到目的主机每一跳都要重新计算检验码,计算检查和比生成CRC 检验码要快速得多.31、描述IP 路由选择的要点.解答一个TCP/IP 网络是由多个物理网络互联而成的,连接这些物理网络的路由器常称为IP网关,每个网关都有两个或多个网络的直接连接.与网关不同,主机通常只连接到一个物理网络,当然,多穴主机(multihomed host)是一个例外.选择IP 分组通路的过程被称作路由选择.IP 路由选择基于目的网络,而不是目的主机,因此IP 路由有直接和间接之分.位于同一物理网络的主机之间的通信称为直接路由通信. 不在同一物理网络的主机之间的通信称为间接路由通信.直接路由选择由物理网络传输系统完成,而通过网关将IP 分组转发到一个与源主机没有直接连接的网络所进行的路由选择则叫做间接路由选择.判断目的地址是否与源主机同在一个直接相连的物理网络的方法是,发送者抽取目的IP 地址的网络号,与自己IP 地址的网络号相比较.如果相同,就直接投递.在本地网络划分子网的情况下,如果目的地址属于本地的另一个子网,那么这里所说的IP 地址的网络号也包含子网号,也就是说,可以把本地不同的子网也当作不同的物理网络看待.对于跨越不同物理网络的间接路由,源主机发出的IP 分组一旦通过本物理网络到达通往目的网络的一个网关,软件就从物理网络的数据帧中抽出分组,路由选择程序可以选择通向目的网络的下一网关,IP 分组再一次被封装进帧中,并在第二个物理网络上发往该网关,如此继续下去,直至到达目的物理网络,将分组放入该物理网络的数据帧中直接投递给目的。
北理工计算机体系结构习题解答
6
6
32
第2章 指令系统
平均码长为 ∑Pi*Li = (0.01+0.01)×6 + (0.02+0.02+0.03+0.03+0.04)×5 + 0.04×4 + (0.11 + 0.12 + 0.13 + 0.14 + 0.15+0.15)×3 =3.38
33
第2章 指令系统
3、只有两种码长的扩展操作码编 码 使用频度高的用短代码表示。根据 Huffman 编 码 和 指 令 使 用 频 度 , 可以设计出具有3位和6位码长的 操作码。操作码编码如下:
43
指令 概率 Huffman
I1 0.25 00
I2 0.20 10
I3 0.15 010
I4 0.10 110
I5 0.08 0110
I6 0.08 1110
I7 0.05 01110
I8 0.04 01111
(1F)(F/20)
F 100.53 19
19
1-10 用一台40MHz处理机执行标准测
试程序,它含的混合指令数和相应所 需的时钟周期数如下:
指令类型 指令数 时钟周期数
整数运算 45000
1
数据传送 32000
2
浮点
15000
2
控制传送
8000
2
求 有 效 CPI、MIPS 速 率 和 程 序 的 执 行 时间。
t(45* 0 13 02 0* 0 2 0 10 5* 0 2 0 80*2 0 )*(0 4* 1 0 160 ) 3.87 *15 3 0 秒
21
1-11 假设在一台40MHz处理机上运行200,000条指令的目标代码,程序主要
计算机体系结构第四章练习题参考解答
计算机体系结构第四章练习题参考解答第四章4.52 浮点数系统使⽤的阶码基值r e =2,阶值位数q=2,尾数基值r m =10,尾数位数p ′=1,即按照使⽤的⼆进制位数来说,等价于p=4。
计算在⾮负阶、正尾数、规格化情况下的最⼩尾数值、最⼤尾数值、最⼤阶值、可表⽰的最⼩值和最⼤值及可表⽰数的个数。
解: 最⼩尾数值:r m -1 = 10-1 = 0.1最⼤尾数值:1- r m -p ′ =1-10-1 = 0.9 最⼤阶值:2q -1=3可表⽰数的最⼩值:1×r m -1 = 10-1 = 0.1 可表⽰数的最⼤值:r m 2q-1×(1- r m -p ′)=103(1-10-1)= 900可表⽰数的个数:2q ×r m p ′(r m -1)/r m = 22×101(10-1)/10 = 364.53 ⼀台机器要求浮点数的字长的精度不低于10-7.2,表数的范围正数不⼩于1038,且正负对称。
尾数⽤原码、纯⼩数表⽰,阶码⽤移码、整数表⽰。
设计这种浮点数的格式。
解依题意,取表数范围N =1038,表数精度δ=10-7.2。
由式(4-4)得:37log(log10log 21)log 2q +> = 6.99,上取整,得到阶码字长q=7。
由式(4-5)得:16log1053.2log 2p -->=,上取整,得到尾数字长p=24。
从⽽加上⼀个尾数符号位和⼀个阶码符号位,浮点数的总字长为:p+q+2=24+7+2=33。
实际浮点数总字长应为8的倍数,故取浮点数总字长为40位。
多出的7位可以加到尾数字长p 中⽤于提⾼浮点数的表数精度,也可以加到阶码字长q 中来扩⼤浮点数的表数范围。
暂且让p 增加6位,q 增加1位,即p=30,q=8。
如图4-8所⽰是设计出来的浮点数格式。
图4-8 例4.2浮点数的设计格式4.58 ⽤于⽂字处理的某专⽤机,每个⽂字符⽤4位⼗进制数字(0~9)编码表⽰,空格⽤︼表⽰。
计算机组织与系统结构第四章习题答案
第 4 章 习 题 答 案3. 已知某机主存空间大小为64,按字节编址。
要求: (1)若用1K×4位的芯片构成该主存储器,需要多少个芯片? (2)主存地址共多少位?几位用于选片?几位用于片内选址? (3)画出该存储器的逻辑框图。
参考答案: (1)64 / 1K×4位 = 64×2 = 128片。
(2)因为是按字节编址,所以主存地址共16位,6位选片,10位片内选址。
(3)显然,位方向上扩展了2倍,字方向扩展了64倍。
下图中片选信号为高电平有效。
A 15A 10A 9A 0D 0D 7……WE…4. 用64K×1位的芯片构成256K×8位的存储器。
要求:(1) 计算所需芯片数,并画出该存储器的逻辑框图。
(2) 若采用异步刷新方式,每单元刷新间隔不超过2,则产生刷新信号的间隔是多少时间?若采用集中刷新方式,则存储器刷新一遍最少用多少读写周期? 参考答案:(1)256 / 64K×1位 = 4×8 = 32片。
存储器逻辑框图见下页(图中片选信号为高电平有效)。
(2)因为每个单元的刷新间隔为2,所以,采用异步刷新时,在2内每行必须被刷新一次,且仅被刷新一次。
因为芯片存储阵列为64256×256,所以一共有256行。
因此,存储器控制器必须每隔2256=7.8µs 产生一次刷新信号。
采用集中刷新方式时,整个存储器刷新一遍需要256个存储(读写)周期,在这个过程中,存储器不能进行读写操作。
A 17A 16A 15A 0D 0D 7………5. 用8K×8位的芯片组成32K×16位的只读存储器,试问:(1)数据寄存器最少应有多少位? (2) 地址寄存器最少应有多少位? (3) 共需多少个芯片? (4) 画出该只读存储器的逻辑框图。
参考答案:(1)数据寄存器最少有16位。
(2)地址寄存器最少有:15位(若按16位的字编址);16位(若按字节编址)。
计算机系统结构第4章部分习题参考答案
第4章部分习题参考答案4.1 解释下列术语⏹存储器最大频宽-存储器连续工作时所能达到的频宽。
⏹存储器实际频宽-存储器实际工作时达到的频宽,它一般小于存储器最大频宽。
⏹模m交叉编址-交叉访问存储器由多个存储体(m个存储模块)组成一个大容量的存储器,对多个存储体的存储单元采用交叉编址方式,组成交叉访问存储器。
通常有两种交叉编址方式,一是地址的高位交叉编址,一般使用较少转型是低位交叉编址,即由m个存储体组成的低位交叉存储器的存储单元地址的低log2m位称为体号k,高log2n位称为体内地址j,存储单元地址A的计算公式为:A=m×j×k。
若已知地址A,可计算出对应的体号k=A mod m,体内j=[A/m]地址。
高位交叉编址主要用于扩展常规主存的容量,而低位交叉编址主要用于提高常规主存的访问速度。
⏹程序局部性-程序中对于存储空间90%的访问局限于存储空间的10%的区域中,而另外10的访问则分布在存储空间的其余90%的区域中。
这就是通常说的程序局部性原理。
访存的局部性规律包括两个方面,一是时间局部性:如果一个存储项被访问,则可能该项会很快被再次访问;二是空间局部性:如果一个存储项被访问,则该项及其邻近的项也可能很快被访问。
⏹虚拟存储器-即“主存-辅存”存储层次,主要目的是为了弥补主存容量的不足,可以为程序员提供大量的程序空间。
其部分功能采用硬件,其余则由操作系统的存储管理软件来实现,对于系统程序员不透明。
⏹段式管理-把主存按段分配的存储管理方式。
它是一促模块化的存储管理方式,每个用户程序模块可分到一个段,该程序模块博只能访问分配给该模块的段所对应的主存空间。
段长可以任意设定,并可放大和缩小。
系统中通过一个段表指明保段在主存中的位置。
段表中包括段名(段号)、段起点、装入位和段长等。
段表本身也是一个段。
段一般是程序模块划分的。
⏹页式管理-把虚拟存储空间和实际存储空间等分成固定大小的页,各虚拟页可装入主存中的不同实际页面位置。
计算机组成与设计第三版 第四章课后答案
参考答案:在教学计算机中, 为控制运算器完成指定的数据运算、 传送功能,必须给出要用的数据组合、ALU要完成的运算功能、和 对运算结果的保存及送出办法; 选择送到ALU最低位的进位信号的状态,如何处理最高、最低位的 移位信号的状态,是否保存运算结果的特征位信号等问题,都要依 据指令执行的实际需求来处理,不是运算器内部功能所能包含的, 故只能到Am2901芯片之外来解决。
4.6 运算器内的乘商寄存器的移位操作与通用寄存器的移 位操作之间应有什么样的关联关系吗?为什么会是这样?
乘除寄存器的移位操作与通用寄存器的移位操作是联合 移位,没有乘除寄存器单独移位功能。当通用寄存器本 身移位时,乘除寄存器不受影响。
4.8.以教学计算机为例,说明应如何控制与操作运算器完成指定的数据运算、 传送功能,为什么必须在Am2901芯片之外解决向运算器提供最低位的进位信 号,最低、最高位的移位输入信号,以及状态位的接受与记忆问题。设计完 成如下操作功能的操作步骤和必须提供的信号:把100送入R0,R0的内容送入 R1,完成R0-R1并存入R0,R1的内容减1,R1的内容送入Q,R1和Q与C联合 右移一位。
解答:(1)绝对值最大: 1 111 0 1111111、1 111 1 1111111; 绝对值最小: 0 001 0 0000000、0 001 1 0000000 (2)X: 1 011 0 0110011、Y: 0 110 0 1101101
4.13.假定X=0.0110011*211,Y=0.1101101*2-10(此处的数均为二进制)。 (1)浮点数阶码用4位移码、尾数用8位原码表示(含符号位),写出 该浮点数能表示的绝对值最大、最小的(正数和负数)数值; (2)写出X、Y正确的浮点数表示(注意,此处预设了个小陷阱); (3)计算X+Y; (4)计算X*Y。 (3)计算X+Y A:求阶差:|△E|=|1011-0110|=0101 B:对阶:Y变为 1 011 0 00000 1101101 C:尾数相加:00 0110011 00000+ 00 00000 1101101=00 0110110 01101 D:规格化:左规:尾数为0 1101100 1101,阶码为1010 F:舍入处理:采用0舍1入法处理,则有00 1101100+1=00 1101101 E:不溢出 所以,X+Y最终浮点数格式的结果: 1 010 0 1101101,即 0.1101101*210
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机体系结构第四章练习题参考解答第 四 章4.52 浮点数系统使用的阶码基值r e =2,阶值位数q=2,尾数基值r m =10,尾数位数p ′=1,即按照使用的二进制位数来说,等价于p=4。
计算在非负阶、正尾数、规格化情况下的最小尾数值、最大尾数值、最大阶值、可表示的最小值和最大值及可表示数的个数。
解: 最小尾数值:r m -1 = 10-1 = 0.1最大尾数值:1- r m -p ′ =1-10-1 = 0.9 最大阶值:2q -1=3可表示数的最小值:1×r m -1 = 10-1 = 0.1可表示数的最大值:r m 2q-1×(1- r m -p ′)=103(1-10-1)= 900可表示数的个数:2q ×r m p ′(r m -1)/r m = 22×101(10-1)/10 = 364.53 一台机器要求浮点数的字长的精度不低于10-7.2,表数的范围正数不小于1038,且正负对称。
尾数用原码、纯小数表示,阶码用移码、整数表示。
设计这种浮点数的格式。
解 依题意,取表数范围N =1038,表数精度δ=10-7.2。
由式(4-4)得:37log(log10log 21)log 2q +> = 6.99,上取整,得到阶码字长q=7。
由式(4-5)得:16log1053.2log 2p -->=,上取整,得到尾数字长p=24。
从而加上一个尾数符号位和一个阶码符号位,浮点数的总字长为:p+q+2=24+7+2=33。
实际浮点数总字长应为8的倍数,故取浮点数总字长为40位。
多出的7位可以加到尾数字长p 中用于提高浮点数的表数精度,也可以加到阶码字长q 中来扩大浮点数的表数范围。
暂且让p 增加6位,q 增加1位,即p=30,q=8。
如图4-8所示是设计出来的浮点数格式。
图4-8 例4.2浮点数的设计格式4.58 用于文字处理的某专用机,每个文字符用4位十进制数字(0~9)编码表示,空格用︼表示。
在对传送的文字符和空格进行统计后,得出它们的使用频度如下:︼:0.20 0:0.17 1:0.06 2:0.08 3:0.11 4:0.08 5: 0.05 6:0.08 7:0.13 8:0.03 9:0.01(1)若对数字0~9和空格采用二进制编码,试设计编码平均长度最短的编码。
(2)若传送106个文字符号,且每个文字符号后均自动跟一个空格,按最短的编码,共需传送多少个二进制位?若传送波特率为9600bPS ,共需传送多少时间?(3)若对数字0~9和空格采用4位定长码编码,重新计算问题(2)。
解:(1)∵操作码编码的平均长度最短为Huffman 编码,生成的Huffman 树,如图所示,相应的Huffman 编码如表所示。
l=∑=ni i p 1×l i = 3.23(位)。
(2)根据题意,每个字符的二进制码的平均长度为:3.23×(4+1)=16.15(位)。
若要传输106个字符,则要传输二进制位数为:106×16.15 =1.615×107(位)若波特率为56Kb/s ,则传输时间为:1.615×107/(56×103)=288(s )。
(3)当采用四位定长编码时,则需要传输二进制位数为:106×4(4+1)=2×1079 84.60 一台模型机共有7条指令,各指令的使用频度分别为:35%,25%,20%,10%,5%,3%,2%,有8个通用数据寄存器,2个变址寄存器。
(1)要求操作码的平均长度最短,请设计操作码的编码,并计算操作码编码的平均长度。
(2)设计8位字长的寄存器—寄存器型指令3条,16位字长的寄存器一存储器型变址寻址方式指令4条,变址范围不小于正、负127。
请设计指令格式,并给出指令各字段的长度和操作码的编码。
解:(1)∵操作码编码的平均长度最短为Huffman 编码,生成的Huffman 树如图所示,相应的Huffman 编码如表所示。
l=∑ni p ×l i = 2.35(位)(2)由于通用寄存器有8个,则指令中通用寄存器字段应为3位;操作码字段2位可有4个码点,用三个码点表示三条指令,另一个码点则作为扩展标志。
所以3条8位长的寄存器—寄存器型指令格式如下: 由于变址寄存器有2个,则指令中变址寄存器字段应为1位;变址范围-127~+127,则指令中相对位移字段应为8位;操作码字段前2位可有4个码点,用三个码点表示三条指令,另一个码点则作为扩展标志。
扩展2位正好可表示四条指令,操作码字段则为4位。
所以4条16位长的寄存器—存储器型指令格式如下:特别地,当采用3/4扩展编码时,使用频度高的用短码表示,使用频度低的用长码表示,其相应的编码如表所示。
4.65 某模型机9条指令使用频度为:ADD (加) 30% SUB (减) 24% JOM (按负转移)6% STO (存) 7%JMP (转移)7% SHR (右移)2% CIL (循环左移)3% CLA (清除)20% STP (停机)1%要求有两种指令字长,都按双操作数指令格式编排,采用扩展操作码,并限制只能有两种操作码码长。
设该机有若干通用寄存器,主存为16位宽,按字节编址,采用按整数边界存储,任何指令都在一个主存周期中取得,短指令为寄存器--寄存器型,长指令为寄存器--主存型,主存地址应能变址寻址。
(1)仅根据使用频度,不考虑其它要求,设计出全Huffman 操作码,计算其平均码长;(2)考虑题目全部要求,设计优化实用的操作码形式,并计算其操作码的平均码长; (3)该机允许使用多少可编址的通用寄存器?(4)画出该机两种指令字格式,标出各字段之位数;(5)指出访存操作数地址寻址的最大相对位移量为多少个字节?解:(1)根据给出的使用频度,在构造Huffman 树的过程中,有两个结点可供合并,因此可生成不同的Huffman 树,其中给出一棵如图所示,相应的Huffman 编码如表所示。
∴ Huffman 编码的平均长度为:l=∑=ni i p 1×l il=0.3×2+0.24×2+0.2×2+0.07×4+0.07×4+0.06×4+0.03×5+0.02×6+0.01×6=2.61(位)STP SHR(2)任何指令都在一个主存周期中取得,那么短指令字长为8位,长指令字长为16位。
又指令都是二地址指令,所以短指令寄存器--寄存器型的格式为: 长指令为寄存器--主存型的格式为: 由题意可知:指令操作码采用扩展编码,且只能有两种码长。
从指令使用频度来看,ADD 、SUB 和CLA 三条指令的使用频度与其它指令的使用频度相差较大,所以用两位操作码的三个码点来表示三条指令,一个码点作为扩展码点,且扩展三位来表示六条指令,即采用2--4扩展编码构成3/6编码,2--4扩展编码如表所示。
∴ 2--4扩展编码(3/6)的平均长度为:l=∑=ni i p 1×l i =2.78(3)(4)由短指令寄存器--寄存器型的格式可知,寄存器号字段长度为3位,寄存器个数为8个。
则各字段长度如图格式所标识。
而对于长指令寄存器--主存型,一般变址寄存器是某通用寄存器,则变址寄存器号的字段长度为3位,则各字段长度如图格式所标识。
(5)由于相对位移字段长度为5位,因此访存地址寻址的最大相对位移量为25=32字节。
4.79 下面是一段数据块搬家程序。
在RISC 处理机中,为了提高指令流水线的执行效率,通常要采用指令取消技术。
START :MOVE AS ,R1 ;把源数组的起始地址送入变址寄存器R1MOVE NUM ,R2 ;把传送的数据个数送入R2LOOP : MOVE (R1),AD -AS (R1) ;AD -AS 为地址偏移量,在汇编过程中计算INC R1 ;增量变址寄存器 DEC R2 ;剩余数据个数减1 BGT LOOP ;测试N 个数据是否传送完成HALT ;停机NUM: N ;需要传送的数据总数(1)如果一条指令的执行过程分解为“取指令”和“分析”两个阶段,并采用两级流水线。
为了采用指令取消技术,请修改上面的程序。
(2)如果N=100,采用指令取消技术后,在程序执行过程中,能够节省多少个指令周期?(3)如果把一条指令的执行过程分解为“取指令”、“分析”(包括译码和取操作数等)和“执行”(包括运算和写回结果等)三个阶段,并采用三级流水线。
仍然要采用指令取消技术,请修改上面的程序。
解:(1)START:MOVE AS,R1MOVE NUM,R2MOVE (R1),AD-AS(R1)LOOP:INC R1DEC R2BGT LOOPMOVE (R1),AD-AS(R1)HALTNUM:N(2)解决转移指令引起的流水线断流可插入一条无效的空操作指令(NOP)。
空操作指令也要占用一个机器周期,又不执行任何实际的操作。
当N=100时,则要浪费100个机器周期(50个指令周期)。
采用指令取消技术后,仅在转移不成功时取消指令,浪费1个机器周期(0.5个指令周期)。
因此可节省49.5个指令周期。
(3)START:MOVE AS,R1MOVE NUM,R2MOVE (R1),AD-AS(R1)INC R1LOOP:DEC R2BGT LOOPMOVE (R1),AD-AS(R1)INC R1HALTNUM:N。