当前位置:文档之家› 计算机系统结构第二章(习题集解答)

计算机系统结构第二章(习题集解答)

计算机系统结构第二章(习题集解答)
计算机系统结构第二章(习题集解答)

1. 数据类型、数据表示和数据结构之间是什么关系?在设计一个计算机系统

时,确定数据表示的原则主要有哪几个? 答:

2. 假设有A 和B 两种不同类型的处理机,A 处理机中的数据不带标志位,其

指令字长和数据字长均为32位。B 处理机的数据带有标志位,每个数据的字长增加至36位,其中有4位是标志符,它的指令条数由最多256条减少至不到64条。如果每执行一条指令平均要访问两个操作数,每个存放在存储器中的操作数平均要被访问8次。对于一个由1000条指令组成的程序,分别计算这个程序在A 处理机和B 处理机中所占用的存储空间大小(包括指令和数据),从中得到什么启发? 答:

我们可以计算出数据的总数量:

∵ 程序有1000条指令组成,且每条指令平均要访问两个操作数 ∴ 程序访问的数据总数为:1000×2=2000个 ∵ 每个数据平均访问8次

∴ 程序访问的不同数据个数为:2000÷8=250

对于A 处理机,所用的存储空间的大小为:

bit 4000032250321000Mem Mem Mem data n instructio A =?+?=+=

对于B 处理机,指令字长由32位变为了30位(条数由256减少到64),这样,所用的存储空间的大小为:

bit 3900036250301000Mem Mem Mem data n instructio B =?+?=+=

由此我们可以看出,由于数据的平均访问次数要大于指令,所以,采用带标志符的数据表示不会增加总的存储空间大小。

3. 对于一个字长为64位的存储器,访问这个存储器的地址按字节编址。假设

存放在这个存储器中的数据中有20%是独立的字节数据(指与这个字节数据相邻的不是一个字节数据),有30%是独立的16位数据,有20%是独立

的32位数据,另外30%是独立的64位数据;并且规定只能从一个存储字的起始位置开始存放数据。

⑴计算这种存储器的存储空间利用率。

⑵给出提高存储空间利用率的方法,画出新方法的逻辑框图,并计算这种方法

的存储空间利用率。

答:

由于全是独立数据,有20%浪费56位(7/8);30%浪费48位(6/8);20%浪费32位(4/8);30%浪费0位(0/8)。

总共浪费:0.2×7/8+0.3×6/8+0.2×4/8+0.3×0/8=0.5

即:存储器的存储空间利用率为50%,浪费率为50%。

方案为:数据从地址整数倍位置开始存储,即,双字地址000结尾,单字地址00结尾,半字地址0结尾,字节地址结尾任意。

可能出现的各种情况如下:

2-4 半字单字0.3*2/7*6B/8B 0.0643

2-8 半字

0.3*3/7*2B/8B 0.0321

双字

4-1-2 单字字节半字0.2*2/8*3/8*7B/8B 0.0164

4-1-4 单字字节

0.2*2/8*2/8*5B/8B 0.0078 单字

4-1-8 单字字节

0.2*2/8*3/8*5B/8B 0.0117

双字

4-2-1 单字半字字节0.2*3/8*2/7*7B/8B 0.01875 4-2-4 单字半字

0.2*3/8*2/7*6B/8B 0.0161

单字

4-2-8 单字半字

0.2*3/8*3/7*6B/8B 0.0241

双字

4-8 单字

0.2*3/8*4B/8B 0.05625

双字

8 双字0.3*8B/8B 0.3

合计0.7922 4. 一个处理机共有10条指令,各指令在程序中出现的概率如下表:

(1) 采用最优Huffman编码法(信息熵)计算这10条指令的操作码最短平均长

度。

(2) 采用Huffman编码法编写这10条指令的操作码,并计算操作码的平均长度,

计算与最优Huffman编码法(信息熵)相比的操作码信息冗余量。将得到的操作码编码和计算的结果填入上面的表中。

(3) 采用2/8扩展编码法编写这10条指令的操作码,并计算操作码的平均长度,

计算与最优Huffman编码法相比的操作码信息冗余量。把得到的操作码编

码和计算的结果填入上面的表中。

(4) 采用3/7扩展编码法编写这10条指令的操作码,并计算操作码的平均长度,

计算与最优Huffman 编码法相比的操作码信息冗余量。把得到的操作码编码和计算的结果填入上面的表中。 答:

采用最优Huffman 编码法(信息熵)的操作码最短平均长度为:

957.2log p H n

1

i p 2i i

≈?-=∑=

5. 一台模型机共有7条指令,各指令的使用频度分别是35%、25%、20%、

10%、5%、3%、2%,有8个通用数据寄存器,2个变址寄存器。

(1) 要求操作码的平均长度最短,请设计操作码的编码,并计算所设计操作码

的平均长度。

(2) 设计8位字长的寄存器-寄存器型指令3条,16位字长的寄存器-存储器

型变址寻址方式指令4条,变址围不小于正、负127。请设计指令格式,并给出各字段的长度和操作码的编码。

答:

要使得到的操作码长度最短,应采用Huffman编码,Huffman树构造如下:

由此可以得到7条指令的编码分别如下:

计算机组成与系统结构第二章习题及答案

、填空题(20 每空 2 分) 1. 计数制中使用的数据个数被称为________ 。(基) 2. 移码常用来表示浮点数的_ 部分,移码和补码比较,它们除_外, 其他各位都相同。(阶码,符号位) 3. 码值80H: 若表示真值0, 则为_; 若表示-128 ,则为_ ; 若表示-127 ,则为____ ; 若表示-0, 则为 ____ 。(移码补码反 码原码) 4. 在浮点运算过程中,如果运算结果的尾数部分不是_ 形式,则需要进行规格化处理。设尾数采用补码表示形式,当运算结果—时, 需要进行右规操作;当运算结果________________________________ 时,需要进行左规操作。 (规格化溢出不是规格化数) 二、选择题(20 每题 2 分) 1. 以下给出的浮点数,_______ 规格化浮点数。(B ) A. 2 八-10 X 0.010101 B . 2 八-11 X 0.101010 C. 2 八-100 X 1.010100 D . 2 八-1 X 0.0010101 2. 常规乘除法器乘、除运算过程采用部分积、余数左移的做法,其好处是 。( C )

A. 提高运算速度 B. 提高运算精度 C.节省加法器的位数 D. 便于控制 3. 逻辑异运算10010011 和01011101 的结果是_____ 。(B) A.01001110 B.11001110 C.11011101 D.10001110 4. _________浮点数尾数基值rm=8, 尾数数值部分长 6 位,可表示的规 格化最小正尾数为。(Q 1. A.0.5 B.0.25 C.0.125 D.1/64 5?当浮点数尾数的基值rm=16, 除尾符之外的尾数机器位数为8 位时, 可表示的规格化最大尾数值是_____________ 。(D) A.1/2 B.15/16 C.1/256 D.255/256 6. 两个补码数相加,采用1 位符号位,当_时表示结果溢出。(D) A、符号位有进位 B、符号位进位和最高数位进位异或结果为0 C符号位为1D、符号位进位和最高数位进位异或结果为1 7. 运算器的主要功能时进行_ 。(0 A、逻辑运算 B、算术运算 C、逻辑运算和算术运算 D、只作加法 8. 运算器虽有许多部件组成,但核心部件是_______ 。(B) A、数据总线 B、算术逻辑运算单元 C、多路开关 D、累加寄存器9?在定

计算机体系结构第五章练习题参考解答

第 五 章 5.34 在一个采用组相联映象方式的Cache 存储系统中,主存由B 0~B 7共8块组成,Cache 有2组,每组2块,每块大小为16B 。在一个程序执行过程中,访存的主存块地址流为:B 6,B 2,B 4,B 1,B 4,B 6,B 3,B 0,B 4,B 5,B 7,B 3。 (1)写出主存地址的格式,并标出各字段的长度。 (2)写出Cache 地址的格式,并标出各字段的长度。 (3)指出主存与Cache 之间各个块的映象关系。 (4)若Cache 的4个块号为C 0、C 1、C 2和C 3,列出程序执行过程中的Cache 块地址流。 (5)若采用FIFO 替换算法,计算Cache 的块命中率。 (6)若采用LRU 替换算法,计算Cache 的块命中率。 (7)若改为全相联映象方式,再做(5)和(6)。 (8)若在程序执行过程中,每从主存装入一块到Cache ,平均要对这个块访问16次,计算在这种情况下的Cache 命中率。 解:(1)(2)采用组相联映象时,主存和Cache 地址的格式分别为: 主存按Cache 的大小分区,现主存有8个块,Cache 有2×2=4个块,则主存分为8/4=2 个区,区号E 的长度为1位。又每区有2个组,则组号G 、g 的长度都为1位。而每组有2个块,则块号B 、b 的长度又都为1位。每块大小为16个存储字,故块内地址W 、w 的长度都为4位。 (3)根据组相联映象的规则,主存块0~7与Cache 块0~3之间的映象关系为:主存块0、1、4、5与Cache 块0、1之间全相联,主存块2、3、6、7与Cache 块2、3之间全相联。 (4)根据组相联映象的规则,该主存块地址流相应的一种Cache 块地址流如下表所示(组内替换算法为FIFO )。 时间: 1 2 3 4 5 6 7 8 9 10 11 12 主存块地址流: B 6 B 2 B 4 B 1 B 4 B 6 B 3 B 0 B 4 B 5 B 7 B 3 Cache 块地址流: C 2 C 3 C 0 C 1 C 0 C 2 C 2 C 0 C 0 C 0 C 3 C 2 (5)组内替换算法采用FIFO 时,Cache 块0~3的使用过程如下表所示。 时间: 1 2 3 4 5 6 7 8 9 10 11 12 主存块地址流: B 6 B 2 B 4 B 1 B 4 B 6 B 3 B 0 B 4 B 5 B 7 B 3 Cache 块0 Cache 块1 Cache 块2 Cache 块3 命中 命中 命中 可见命中三次,Cache 块命中率为H i = 3/12 = 0.25。 (6)组内替换算法采用LRU 时,Cache 块0~3的使用过程如下表所示。

吉林大学 计算机系统结构题库 第二章

第二章计算机指令集结构 知识点汇总: 指令集设计、堆栈型机器、累加器型机器、通用寄存器型机器、CISC、RISC、寻址方式、数据表示 简答题 1.增强CISC机器的指令功能主要从哪几方面着手?(CISC) (1) 面向目标程序增强指令功能。 (2) 面向高级语言和编译程序改进指令系统。 (3) 面向操作系统的优化实现改进指令系统。 2.简述CISC存在的主要问题。(知识点:CISC) 答:(1)CISC结构的指令系统中,各种指令的使用频率相差悬殊。 (2)CISC结构指令系统的复杂性带来了计算机系统结构的复杂性,这不仅增加了研制时间和成本,而且还容易造成设计错误。 (3)CISC结构指令系统的复杂性给VLSI设计增加了很大负担,不利于单片集成。 (4)CISC结构的指令系统中,许多复杂指令需要很复杂的操作,因而运行速度慢。 (5)在CISC结构的指令系统中,由于各条指令的功能不均衡性,不利于采用先进的计算机系统结构技术来提高系统的性能。 3.简述RISC的优缺点及设计RISC机器的一般原则。(知识点:RISC) 答:(1)选取使用频率最高的指令,并补充一些最有用的指令。 (2)每条指令的功能应尽可能简单,并在一个机器周期内完成。 (3)所有指令长度均相同。 (4)只有load和store操作指令才访问存储器,其它指令操作均在寄存器之间进行。 (5)以简单、有效的方式支持高级语言。 4.根据CPU内部存储单元类型,可将指令集结构分为哪几类?(知识点:堆栈型机器、累加器型机器、通用寄存器型机器) 答:堆栈型指令集结构、累加器型指令集结构、通用寄存器型指令集结构。 5.常见的三种通用寄存器型指令集结构是什么?(知识点:通用寄存器型机器) 答:(1)寄存器-寄存器型。 (2)寄存器-存储器型。 (3)存储器-存储器型。

计算机系统结构-第二章自考练习题答案

计算机系统结构-第二章自考练习题答案

第二章数据表示与指令系统 历年真题精选 1. 计算机中优先使用的操作码编码方法是( C )。 A. BCD码 B. ASCII码 C. 扩展操作码 D. 哈夫曼编码 2.浮点数尾数基值r m=16,除尾符之外的尾数机器位数为8位时,可表示的规格化最大尾数值为( D )。 A. 1/2 B. 15/16 C. 1/256 D. 255/256 3. 自定义数据表示包括(标志符)数据表示和(数据描述符)两类。 4. 引入数据表示的两条基本原则是:一看系统 的效率是否有提高;二看数据表示的(通

用)性和(利用)率是否高。 5. 简述设计RISC的一般原则。 6. 简述程序的动态再定位的思想。 7. 浮点数表示,阶码用二进制表示,除阶符之外 的阶码位数p=3,尾数基值用十进制表示,除尾符外的尾数二进制位数m=8,计算非负阶、规格化、正尾数时, (1)可表示的最小尾数值;(2)可表示的最大值;(3)可表示的尾数个数。 8. (1)要将浮点数尾数下溢处理成K—1位结 果,则ROM表的单元数和字长各是多少? 并简述ROM表各单元所填的内容与其地址之间的规则。

(2)若3位数,其最低位为下溢处理前的附 加位,现将其下溢处理成2位结果,设 计使下溢处理平均误差接近于零的 ROM表,以表明地址单元与其内容的 关系。 同步强化练习 一.单项选择题。 1. 程序员编写程序时使用的地址是( D )。 A.主存地址B.有效地址C.辅存实地址D.逻辑地址 2. 在尾数下溢处理方法中,平均误差最大的是( B )。 A.舍入法B.截断法C.恒置“1”法

计算机系统结构_第五章练习 答案

第五章练习 1、描述计算机系统流水线的性能指标有哪些?其定义和定量表达式是什么? 指标主要有吞吐率、加速比、效率。 (1)吞吐率:在单位时间内流水线所完成的任务数量或输出的结果数量。 基本公式:TP=n/Tk,其中,n是任务数,Tk是处理完成n个任务所用的时间。 各个功能段执行时间均相等,输入连续n个任务的一条k段线性流水线的实际吞吐率为:TP=n/[(k+n-1) ?t] (2)加速比:完成一批任务,不使用流水线所用的时间与使用流水线所用的时间之比。 基本公式:S=T0/Tk,其中,T0为不使用流水线所用的时间,Tk为使用流水 线的执行时间。 各个功能段执行时间均相等的一条K段流水线完成n个连续任务时的实际加速比为:s=k*n*?t/[(k+n-1) ?t]=k*n/( k+n-1). (3)效率:指流水线的设备利用率。 在时空图上,流水线的效率定义为n个任务占用的时空区与k个功能段总的时空区之比。即:E=T0/(k*Tk) 各个功能段执行时间均相等,输入连续n个任务的一条k段线性流水线的效率为:E=n/(k+n-1) 2、假设某个流水线由4个功能部件组成,每个功能部件的执行时间都为?t。当 连续输入10个数据后,停顿5?t,又连续输入10个数据,如此重复。 画出时空图,计算流水线的实际吞吐率,加速比和效率。 总时间:Tk=[(4+10-1)+2] *?t*n =15n*?t 实际吞吐率:TP=N/Tk=10n/(15n*?t)=2/(3?t) 不使用流水线所用的时间为T0=4*N*?t =40n*?t 加速比:S=T0/Tk=2.67 效率:E=T0/(k*Tk)=0.67

计算机组成与设计第五版答案

计算机组成与设计(2010年机械工业出版社出版的图书): 《计算机组成与设计》是2010年机械工业出版社出版的图书,作者是帕特森(DavidA.Patterson)。该书讲述的是采用了一个MIPS 处理器来展示计算机硬件技术、流水线、存储器的层次结构以及I/O 等基本功能。此外,该书还包括一些关于x86架构的介绍。 内容简介: 这本最畅销的计算机组成书籍经过全面更新,关注现今发生在计算机体系结构领域的革命性变革:从单处理器发展到多核微处理器。此外,出版这本书的ARM版是为了强调嵌入式系统对于全亚洲计算行业的重要性,并采用ARM处理器来讨论实际计算机的指令集和算术运算。因为ARM是用于嵌入式设备的最流行的指令集架构,而全世界每年约销售40亿个嵌入式设备。 采用ARMv6(ARM 11系列)为主要架构来展示指令系统和计算机算术运算的基本功能。 覆盖从串行计算到并行计算的革命性变革,新增了关于并行化的一章,并且每章中还有一些强调并行硬件和软件主题的小节。 新增一个由NVIDIA的首席科学家和架构主管撰写的附录,介绍了现代GPU的出现和重要性,首次详细描述了这个针对可视计算进行了优化的高度并行化、多线程、多核的处理器。 描述一种度量多核性能的独特方法——“Roofline model”,自带benchmark测试和分析AMD Opteron X4、Intel Xeo 5000、Sun Ultra SPARC T2和IBM Cell的性能。

涵盖了一些关于闪存和虚拟机的新内容。提供了大量富有启发性的练习题,内容达200多页。 将AMD Opteron X4和Intel Nehalem作为贯穿《计算机组成与设计:硬件/软件接口(英文版·第4版·ARM版)》的实例。 用SPEC CPU2006组件更新了所有处理器性能实例。 作者简介: David A.Patterson,加州大学伯克利分校计算机科学系教授。美国国家工程研究院院士。IEEE和ACM会士。曾因成功的启发式教育方法被IEEE授予James H.Mulligan,Jr教育奖章。他因为对RISC 技术的贡献而荣获1 995年IEEE技术成就奖,而在RAID技术方面的成就为他赢得了1999年IEEE Reynold Johnson信息存储奖。2000年他~13John L.Hennessy分享了John von Neumann奖。 John L.Hennessy,斯坦福大学校长,IEEE和ACM会士。美国国家工程研究院院士及美国科学艺术研究院院士。Hennessy教授因为在RISC技术方面做出了突出贡献而荣获2001年的Eckert-Mauchly奖章.他也是2001年Seymour Cray计算机工程奖得主。并且和David A.Patterson分享了2000年John von Neumann奖。

计算机系统结构第二章自考练习题答案

计算机系统结构第二章自考练习题答案

第二章数据表示与指令系统 历年真题精选 1. 计算机中优先使用的操作码编码方法是( C )。 A. BCD码 B. ASCII码 C. 扩展操作码 D. 哈夫曼编码 2.浮点数尾数基值r m=16,除尾符之外的尾数机器位数为8位时,可表示的规格化最大尾数值为( D )。 A. 1/2 B. 15/16 C. 1/256 D. 255/256 3. 自定义数据表示包括(标志符)数据表示和(数据描述符)两类。 4. 引入数据表示的两条基本原则是:一看系统 的效率是否有提高;二看数据表示的(通

用)性和(利用)率是否高。 5. 简述设计RISC的一般原则。 6. 简述程序的动态再定位的思想。 7. 浮点数表示,阶码用二进制表示,除阶符之外 的阶码位数p=3,尾数基值用十进制表示,除尾符外的尾数二进制位数m=8,计算非负阶、规格化、正尾数时, (1)可表示的最小尾数值;(2)可表示的最大值;(3)可表示的尾数个数。 8. (1)要将浮点数尾数下溢处理成K—1位结 果,则ROM表的单元数和字长各是多少? 并简述ROM表各单元所填的内容与其地址之间的规则。 (2)若3位数,其最低位为下溢处理前的附 加位,现将其下溢处理成2位结果,设

计使下溢处理平均误差接近于零的 ROM表,以表明地址单元与其内容的 关系。 同步强化练习 一.单项选择题。 1. 程序员编写程序时使用的地址是( D )。 A.主存地址B.有效地址C.辅存实地址D.逻辑地址 2. 在尾数下溢处理方法中,平均误差最大的是( B )。 A.舍入法B.截断法C.恒置“1”法D.ROM查表法 3. 数据表示指的是( C )。A.应用中要用到的数据元素之间的结构关系

计算机系统结构 第一章自考练习题答案教学内容

第一章计算机系统结构的基本概念 历年真题精选 1. 下列对系统程序员不透明的是()。 A. 乘法器 B. 先行进位链 C. 指令缓冲器 D. 条件码寄存器2.“从中间开始”设计的“中间”目前多数是在( D )。 A. 微程序机器级与汇编语言机器级之间 B. 操作系统机器级与汇编语言机器级之间 C. 传统机器语言机器级与微程序机器级之间 D. 传统机器语言机器级与操作系统机器级之间 3. 开发计算机系统结构并行性的主要技术途径有时间重叠、(资源重复)和(资源 共享)。 4. 计算机系统弗林分类法,把计算机系统分成单指令流单数据流(SISD)、单指令流多数 据流(SIMD)、(多指令流单数据流(MISD))和(多指令流多数据流(MIMD))四大类。 5. 设计指令系统时,以乘法运算为例,简述系统结构设计、计算机组成设计、计算机实现 各应考虑的问题。(P4) 6. 实现软件移植的途径有哪些?各受什么限制?(P14) 同步强化练习 一.单项选择题。 1. 实现汇编语言源程序变换成机器语言目标程序是由( C )。 A. 编译程序翻译 B. 编译程序解释 C. 汇编程序翻译 D. 汇编程序解释

2. 系列机软件应做到( B ) A. 向前兼容,并向下兼容 B. 向后兼容,力争向上兼容 C. 向前兼容,并向上兼容 D. 向后兼容,力争向下兼容 3. 在计算机系统多级层次结构中,机器级由低到高,相对顺序正确的应当是( B )。 A. 传统机器语言、汇编语言、操作系统 B. 微程序、传统机器语言、高级语言 C. 高级语言、汇编语言、传统机器语言 D. 传统机器语言、应用语言、高级语言 4. 可以直接执行微指令的是( C )。 A. 编译程序 B. 微程序 C. 硬件 D. 汇编程序 5. 计算机系统结构不包括( A )。 A. 主存速度 B. 数据表示 C. 机器工作状态 D. 信息保护 6. 对计算机系统结构透明的是()。 A. 是否使用通道型I/0处理机 B. 虚拟存储器 C. 字符行运算指令 D. VLSI技术 7. 在主存设计上,属计算机系统结构考虑的应是( C )。 A. 频宽的确定 B. 多体交叉还是单体 C. 容量和编址单位 D. 用MOS还是TTL 8. 计算机组成设计不考虑( B )。 A. 缓冲技术 B. 功能部件的集成度 C. 专用部件设置 D. 控制机构的组成 9. 下列说法中不正确的是( D ) A. 硬件的生产费用比软件的生产费用高 B.软件设计费用比软件重复生产费用高 C. 硬件功能只需实现一次而软件功能可能要多次重复实现 D. 硬件实际费用比软件设计费用低

计算机系统结构第二章第一部分

第二章指令系统 ?指令系统是计算机系统结构的主要组成部分 ?指令系统是软件与硬件分界面的一个主要标志 ?指令系统软件与硬件之间互相沟通的桥梁 ?指令系统与软件之间的语义差距越来越大 2.1 数据表示 2.2 寻址技术 2.3 指令格式的优化设计 2.4 指令系统的功能设计 2.5 RISC指令系统 2.1 数据表示 ?新的研究成果,如浮点数基值的选择 ?新的数据表示方法,如自定义数据表示 2.1.1 数据表示与数据类型 2.1.2 浮点数的设计方法 2.1.3 自定义数据表示 2.1.1 数据表示与数据类型 ?数据的类型:文件、图、表、树、阵列、队列、链表、栈、向量、串、实数、整数、布尔数、字符 ?数据表示的定义:数据表示研究的是计算机硬件能够直接识别,可以被指令系统直接调用的那些数据类型。 例如:定点、逻辑、浮点、十进制、字符、字符串、堆栈和向量 ?确定哪些数据类型用数据表示实现,是软件与硬件的取舍问题 ?确定数据表示的原则: 一是缩短程序的运行时间, 二是减少CPU与主存储器之间的通信量, 三是这种数据表示的通用性和利用率。 例2.1:实现A=A+B,A和B均为200×200的矩阵。分析向量指令的作用解:如果在没有向量数据表示的计算机系统上实现,一般需要6条指令,其中有4条指令要循环4万次。因此,CPU与主存储器之间的通信量:取指令2+4×40,000条, 读或写数据3×40,000个, 共要访问主存储器7×40,000次以上 如果有向量数据表示,只需要一条指令 减少访问主存(取指令)次数:4×40,000次 缩短程序执行时间一倍以上

N m m e r =?? 数据表示在不断扩大,如字符串、向量、堆栈、图、表 ? 用软件和硬件相结合的方法实现新的数据表示 例如:用字节编址和字节运算指令来支持字符串数据表示 用变址寻址方式来支持向量数据表示 2.1.2 浮点数的设计方法 1、浮点数的表示方式 ? 一个浮点数N 可以用如下方式表示: 需要有6个参数来定义。 两个数值: m :尾数的值,包括尾数的码制(原码或补码)和数制(小数或整数) e :阶码的值,移码(偏码、增码、译码、余码等)或补码,整数 两个基值: r m :尾数的基值,2进制、4进制、8进制、16进制和10进制等 r e :阶码的基值,通常为2 两个字长: p :尾数长度,当r m =16时,每4个二进制位表示一位尾数 q :阶码长度,阶码部分的二进制位数 p 和q 均不包括符号位 ? 浮点数的存储式 注:m f 为尾数的符号位,e f 为阶码的符号位,e 为阶码的值,m 为尾数的值。 2、浮点数的表数范围 ? 尾数为原码 尾数用原码、纯小数,阶码用移码、整数时,规格化浮点数N 的表数范围: ---?≤≤-?-111r r N r r m m p m m q e q e r r () ? 尾数为补码 尾数用补码表示时,正数区间的表数范围与尾数采用原码时完全相同,而负数区间的表数范围为: q e q e r r r N r r r m m p m m ----≤≤-+?-11() ? 浮点数在数轴上的分布情况 min max min max 例2.2:设p =23,q =7,r m =r e =2,尾数用原码、纯小数表示,阶码用移码、整数表示,求规格化浮点数N 的表数范围。 解:规格化浮点数N 的表数范围是:

计算机系统结构李学干版习题答案

第一章 1- 1如有一个经解释实现的计算机,可以按功能划分成4级。每一级为了执行一条指令需要下一级的N条指令解释。若执行第1级的一条指令需K ns时间,那么执行第2、3、4级的一条指令各需要多少时间? 答:执行第2、3、4级的一条指令各需KN ns、(N*N)*K ns、(N*N*N)*K ns 的时间。 1- 2操作系统机器级的某些指令就用传统机器级的指令,这些指令可以用微程序直接解释实现,而不必有操作系统自己来实现。更具你对1-1题的回答,你认为这样做有哪些好处? 答:这样做,可以加快操作系统中操作命令解释的速度,同时也节省了存放解释操作命令这部分解释程序所占的存储空间,简化了操作系统机器级的设计,也有利于减少传统机器级的指令条数。 1- 3有一个计算机系统可按功能分成4级,每级的指令互不相同,每一级的指令都比其下一级的指令在效能上强M倍,即第i级的一条指令能完成第i-1级的M条指令的计算量。 现若需第i级的N条指令解释第i+1级的一条指令,而有一段第1级的程序需要运行Ks,问在第2、3和4级上一段等效程序各需要运行多长时间? 答:第2级上等效程序需运行:(N/M)*Ks。第3级上等效程序需运行:(N/M)*(N/M)*Ks。 第4级上等效程序需运行:(N/M)*(N/M)*(N/M)*Ks。 1- 4硬件和软件在什么意义上是等效的?在什么意义上又是不等效的?试举例说明。 答:软件和硬件在逻辑功能上是等效的,原理上,软件的功能可用硬件或固件完成,硬件的功能也可用软件模拟完成。但是实现的性能价格比,实现的难易程序不同。

例如,编译程序、操作系统等许多用机器语言软件子程序实现的功能完全可以用组合电路硬件或微程序固件来解释实现。它们的差别只是软件实现的速度慢,软件的编制复杂,编程工作量大,程序所占的存储空间量较多,这些都是不利的;但是,这样所用硬件少,硬件实现上也就因此而简单容易,硬件的成本低,解题的灵活性和适应性较好,这些都是有利的。 又如,乘除法运算可以经机器专门设计的乘法指令用硬件电路或乘除部件来实现。向量、数组运算在向量处理机中是直接使用向量、数组类指令和流水或陈列等向量运算部件的硬件方式来实现的,但在标量处理机上也可以通过执行用标量指令组成的循环程序的软件方式来完成。 浮点数运算可以直接通过设置浮点运算指令用硬件来实现,也可以用两个定点数分别表示浮点数的阶码和尾数,通过程序方法把浮点数阶码和尾数的运算映像变换成两个定点数的运算,用子程序软件的方式实现。十进制数的运算可以通过专门设置十进制数运算类指令和专门的十进制运算部件硬的方式来完成,或者通过设置BCD数的表示和若干BCD数运算的校正指令来软硬结合地实现,也可以先经十转二的数制转换子程序将十进制数转成二进制数,再用二进制运算类指令运算,所得结果又调用二转十的数制转换子程序转换成十进制数结果,用全软件的方式实现。 1- 5试以实例说明计算机系统结构、计算机组成与计算机实现之间的相互关系与影响。 答:计算机系统结构、计算机组成、计算机实现互不相同,但又相互影响。 (1)计算机的系统结构相同,但可采用不同的组成。如IBM370系列有115、125、135、158、168等由低档到高档的多种型号机器。从汇编语言、机器语言程序设计者看到的概念性结构相同,均是由中央处理机/主存,通道、设备控制器,外设4级构成。其中,中央处理机都有相同的机器指令和汇编指令系统,只是指令的分析、执行在低档机上采用顺序进行,在高档机上采用重叠、流水或其它并行处理方式。

计算机系统结构-第二章(习题解答)

1. 数据类型、数据表示和数据结构之间是什么关系?在设计一个计算机系统 时,确定数据表示的原则主要有哪几个? 答: 略 2. 假设有A 和B 两种不同类型的处理机,A 处理机中的数据不带标志位,其 指令字长和数据字长均为32位。B 处理机的数据带有标志位,每个数据的字长增加至36位,其中有4位是标志符,它的指令条数由最多256条减少至不到64条。如果每执行一条指令平均要访问两个操作数,每个存放在存储器中的操作数平均要被访问8次。对于一个由1000条指令组成的程序,分别计算这个程序在A 处理机和B 处理机中所占用的存储空间大小(包括指令和数据),从中得到什么启发? 答: 我们可以计算出数据的总数量: ∵ 程序有1000条指令组成,且每条指令平均要访问两个操作数 ∴ 程序访问的数据总数为:1000×2=2000个 ∵ 每个数据平均访问8次 ∴ 程序访问的不同数据个数为:2000÷8=250 对于A 处理机,所用的存储空间的大小为: bit 4000032250321000Mem Mem Mem data n instructio A =?+?=+= 对于B 处理机,指令字长由32位变为了30位(条数由256减少到64),这样,所用的存储空间的大小为: bit 3900036250301000Mem Mem Mem data n instructio B =?+?=+=

由此我们可以看出,由于数据的平均访问次数要大于指令,所以,采用带标志符的数据表示不会增加总的存储空间大小。 3. 对于一个字长为64位的存储器,访问这个存储器的地址按字节编址。假设 存放在这个存储器中的数据中有20%是独立的字节数据(指与这个字节数据相邻的不是一个字节数据),有30%是独立的16位数据,有20%是独立的32位数据,另外30%是独立的64位数据;并且规定只能从一个存储字的起始位置开始存放数据。 ⑴计算这种存储器的存储空间利用率。 ⑵给出提高存储空间利用率的方法,画出新方法的逻辑框图,并计算这种方法 的存储空间利用率。 答: ⑴ 由于全是独立数据,有20%浪费56位(7/8);30%浪费48位(6/8);20%浪费32位(4/8);30%浪费0位(0/8)。 总共浪费:0.2×7/8+0.3×6/8+0.2×4/8+0.3×0/8=0.5 即:存储器的存储空间利用率为50%,浪费率为50%。 ⑵ 方案为:数据从地址整数倍位置开始存储,即,双字地址000结尾,单字地址00结尾,半字地址0结尾,字节地址结尾任意。 可能出现的各种情况如下:

吉林大学计算机系统结构题目整合第五章

第五章存储层次 知识点汇总 存储器层次结构、存储层次性能参数(平均每位价格、命中率、平均访存时间)、存储层次4个问题、CPU 访存地址分割、全相联映像、直接映像、组相联映像、查找方法、替换算法(随机、先进先出、最近最少使用法)、写直达法、写回法、按写分配、不按写分配、Cache性能分析、3C失效(强制失效、容量失效、冲突失效)、Victim Cache、伪相联映像Cache、硬件预取、编译器优化(数组合并、内外循环交换、循环融合、分块)、写缓冲合并、单字宽存储器、多字宽存储器、多体交叉存储器、存储体、虚拟存储器(页式、段式)、快表(TLB) 简答题 1.单级存储器的主要矛盾是什么?通常采取什么方法来解决?(知识点:多级存储器) 答:主要矛盾: (1) 速度越快,每位价格就越高。 (2) 容量越大,每位价格就越低。 (3) 容量越大,速度越慢。 采取多级存储层次方法来解决。 2.“Cache-主存”和“主存-辅存”层次的主要区别是什么?(知识点:存储层次)

3.在存储层次中应解决哪四个问题?(知识点:存储层次的四个问题) 答:(1)映像规则:当把一个块调入高一层存储器时,可以放到哪些位置上。 (2)查找算法:当所要访问的块在高一层存储器中时,如何找到该块。 (3)替换算法:当发生失效时,应替换哪一块。 (4)写策略:当进行写访问时,应进行哪些操作。 4.地址映像方法有哪几种?它们各有什么优缺点?(知识点:地址映像) (1)全相联映像。实现查找的机制复杂,代价高,速度慢。Cache空间的利用率较高,块冲突概率较低,因而Cache的失效率也低。 (2)直接映像。实现查找的机制简单,速度快。Cache空间的利用率较低,块冲突概率较高,因而Cache 的失效率也高。 (3)组相联映像。组相联是直接映像和全相联的一种折中。 5.Cache的3C失效是哪三种失效?针对每种失效给出一种降低失效率的方法。(知识点:3C失效) 答:强制性失效、容量失效、冲突失效。 6.简述Cache的两种写策略(知识点:写直达、写回) 写直达法:执行“写”操作时,不仅写入Cache,而且也写入存储器

计算机系统结构第二章第一部分

第二章指令系统 指令系统是计算机系统结构的主要组成部分 指令系统是软件与硬件分界面的一个主要标志 指令系统软件与硬件之间互相沟通的桥梁 指令系统与软件之间的语义差距越来越大 2.1 数据表示 2.2 寻址技术 2.3 指令格式的优化设计 2.4 指令系统的功能设计 2.5 RISC指令系统 2.1 数据表示 新的研究成果,如浮点数基值的选择 新的数据表示方法,如自定义数据表示 2.1.1 数据表示与数据类型 2.1.2 浮点数的设计方法 2.1.3 自定义数据表示 2.1.1 数据表示与数据类型 数据的类型:文件、图、表、树、阵列、队列、链表、栈、向量、串、实数、整数、布尔数、字符 数据表示的定义:数据表示研究的是计算机硬件能够直接识别,可以被指令系统直接调用的那些数据类型。 例如:定点、逻辑、浮点、十进制、字符、字符串、堆栈和向量确定哪些数据类型用数据表示实现,是软件与硬件的取舍问题 确定数据表示的原则: 一是缩短程序的运行时间, 二是减少CPU与主存储器之间的通信量, 三是这种数据表示的通用性和利用率。 例2.1:实现A=A+B,A和B均为200×200的矩阵。分析向量指令的作用解:如果在没有向量数据表示的计算机系统上实现,一般需要6条指令,其中有4条指令要循环4万次。因此,CPU与主存储器之间的通信量:取指令2+4×40,000条,

N m m e r =? 读或写数据3×40,000个, 共要访问主存储器7×40,000次以上 如果有向量数据表示,只需要一条指令 减少访问主存(取指令)次数:4×40,000次 缩短程序执行时间一倍以上 数据表示在不断扩大,如字符串、向量、堆栈、图、表 用软件和硬件相结合的方法实现新的数据表示 例如:用字节编址和字节运算指令来支持字符串数据表示 用变址寻址方式来支持向量数据表示 2.1.2 浮点数的设计方法 1、浮点数的表示方式 一个浮点数N 可以用如下方式表示: 需要有6个参数来定义。 两个数值: m :尾数的值,包括尾数的码制(原码或补码)和数制(小数或整数) e :阶码的值,移码(偏码、增码、译码、余码等)或补码,整数 两个基值: r m :尾数的基值,2进制、4进制、8进制、16进制和10进制等 r e :阶码的基值,通常为2 两个字长: p :尾数长度,当r m =16时,每4个二进制位表示一位尾数 q :阶码长度,阶码部分的二进制位数 p 和q 均不包括符号位 浮点数的存储式 1位 1位 q 位 p 位 m f e f e m 注:m f 为尾数的符号位,e f 为阶码的符号位,e 为阶码的值,m 为尾数的值。 2、浮点数的表数范围 尾数为原码 尾数用原码、纯小数,阶码用移码、整数时,规格化浮点数N 的表数范围: ---?≤≤-?-111r r N r r m m p m m q e q e r r () 尾数为补码 尾数用补码表示时,正数区间的表数范围与尾数采用原码时完全相同,而负数区间的表数范围为:

计算机系统结构教程答案chap2-answer

第二章计算机指令集结构设计 2.1 名词解释 堆栈型机器——CPU中存储操作数的单元是堆栈的机器。 累加型机器——CPU中存储操作数的单元是累加器的机器。 通用寄存器型机器——CPU中存储操作数的单元是通用寄存器的机器。 CISC——复杂指令集计算机。 RISC——精简指令集计算机。 2.2 堆栈型机器、累加器型机器和通用寄存器型机器各有什么优缺点? 2.3 常见的三种通用寄存器型机器的优缺点各有哪些? 2.4 指令集结构设计所涉及的内容有哪些? 指令集功能设计:主要有RISC和CISC两种技术发展方向; 寻址方式的设计:设置寻址方式可以通过对基准程序进行测试统计,察看各种寻址方式的

使用频度,根据适用频度设置相应必要的寻址方式; 操作数表示和操作数类型:主要的操作数类型和操作数表示的选择有,浮点数据类型(可以采用IEEE 754标准)、整型数据类型(8位、16位、32位的表示方法)、字符型(8位)、十进制数据类型(压缩十进制和非压缩十进制数据表示)等等。 寻址方式的表示:可以将寻址方式编码与操作码中,也可将寻址方式作为一个单独的域来表示。 指令集格式的设计:有固定长度编码方式、可变长编码方式和混合编码方式三种选择。2.5 简述CISC计算机结构指令集功能设计的主要目标。从当前的计算机技术观点来看,CISC 结构有什么缺点? CISC结构追求的目标是强化指令功能,减少程序的指令条数,以达到提高性能的目的。 从目前的计算机技术观点来看,CISC结构存在以下几个缺点: (1) 在CISC结构的指(2) 令系统中,(3) 各种指(4) 令的使用频率相差悬殊。 (5) CISC结构的指(6) 令系统的复(7) 杂性带来了计算机体系结构的复(8) 杂性, (9) 这不(10) 仅增加了研制时间和成本,而(11) 且还容易造成设计错误。 (12) C ISC结构的指(13) 令系统的复(14) 杂性给VLSI设计带来了很大负担,(15) 不 (16) 利于单片集成。 (17) C ISC结构的指(18) 令系统中,(19) 许多复(20) 杂指(21) 令需要很复(22) 杂 的操作,(23) 因而(24) 运行速度慢。 (25) 在结构的指(26) 令系统中,(27) 由于各条指(28) 令的功能不(29) 均衡 性,(30) 不(31) 利于采用先进的计算机体系结构技术(如流水技术)来提高系 统的性能。 2.6 简述RISC结构的设计原则。 选取使用频率最高的指令,并补充一些最有用的指令; 每条指令的功能应尽可能简单,并在一个机器周期内完成; 所有指令长度均相同; 只有Load和Store操作指令才访问存储器,其它指令操作均在寄存器之间进行 以简单有效的方式支持高级语言。 2.7 简述操作数的类型及其相应的表示方法。 操作数的类型主要有:整数(定点)、浮点、十进制、字符、字符串、向量、堆栈等。 操作数类型有两种表示方法: (1)操作数的类型由操作码的编码指定,这也是最常见的一种方法; (2)数据可以附上由硬件解释的标记,由这些标记指定操作数的类型,从而选择适当的运算。

计算机系统结构 第五章(习题)

1. 向量流水机的工作方式可分为哪两大类?它们的主要特点是什么? 2. 向量的加工方法有哪几种?各有什么特点?试从加工速度、需用中间变量 等方面加以比较。 3. 在CRAY1机上,V为向量寄存器,设向量长度均为32,s为标量寄存器, 所用浮点功能执行部件的执行时间分别为:加法需6拍,相乘需7拍,从存储器读数需6拍,求倒数近似值需14拍,打入寄存器及启动功能部件(包括寄存器)各需1拍。问下列各指令组中的哪些指令可以链接?哪些指令可以并行执行?试说明其原因并分别计算出各指令组全部完成所需的拍数。 (1)V0←存储器 V1←V2+V3 V4←V5*V6 (2)V2←V0*V1 V3←存储器 V4←V2+V3 (3)V0←存储器 V3←V1+V2 V4←V0*V3 V6←V4+V5 (4)V0←存储器 V1←1/V0 V3←V1+V2 V5←V3*V4 (5)V0←存储器 V1←V2+V3 V4←V5*V6 s0←s1+s2 (6)V3←存储器 V2←V0+V1 s0←s2+s3 V3←V1*V4 (7)V3←存储器 V2←V0+V1 V4←V2*V3 存储器←V4 (8)V0←存储器 V2←V0+V1 V3←V2*V1 V5←V3*V4 4. 在CRAYl机上,按链接方式执行下述4条向量指令(括号中给出相应功能 部件时间),如果向量寄存器和功能部件之间的数据传送需1拍,试求此链

接流水线的流过时间为多少拍?如果向量长度为64,则需多少拍能得到全部结果? V0←存储器(存储器取数:7拍) V2←V0+Vl (向量加:3拍) V3←V2<A3 (按(A3)左移:4拍) V5←V3∧V4 (向量逻辑乘:2拍) 5. 若某个向量机其向量方式的执行速率Rv=10MFLOPS,标量方式的执行速 率Rs=1MFLOPS,设α是程序中可向量化的百分比。要求: ⑴推导该向量机的平均执行速率Ra的公式。 ⑵画出在(0,1)范围内,Ra与α的关系图。 ⑶为使平均执行速率Ra=7.5MFlOPS,则α应取何值? ⑷假定Rs=1MFLOPS,α=0.7,则为使Ra=2MFLOPS,Rv应取何值?

计算机系统结构第五章

第五章 标量流水技术 计算机处理器的主要功能是控制指令的解释执行,为了能引入并行处理,目前普遍使用一种经济有效的方法,即流水控制方式。 本章讨论的是有关流水控制的概念、原理、涉及的问题与解决的办法,以及流水控制技术的应用和进一步的发展。 5.1控制流及其改变 按算法要求控制指令序列的先后顺序执行称控制流,通常指令的执行顺序是相继的,但控制流经常会发生间断,破坏顺序性,主要有以下几种情况: 1.转移指令 不转移:PC = K0 + K1T 转移:控制流发生间断,以目标地址为起始点, 再顺序流动。 K (a)(b) 2.过程调用和返回 可嵌套和递归,返回时从原来断点继续执行。 3.协同程序 与调用不同,被调用过程不总是从头开始,如下 图。 协同程序A协同程序B 4.中断和自陷 为使流水控制方式能高效地解释指令,程序执行的控 制流必须是连续的,因此对控制流的改变要采取有效的措施,以保证流水控制的实现。 5.2标量流水工作原理 5.2.1重叠操作方式和先行控制 指令的解释执行有以下几种工作方式: 1. 顺序方式 这种方式指令串行执行,设一条指令的解释分为:取

指、分析、执行三个阶段,指令解释执行如下图所示: 设各阶段执行时间为t ,解释n 条指令的时间是: t n T ??=3 若各阶段执行时间不同,分别为t 取、t 分、t 执,则解释 n 条指令时间为: ∑==n i T 1(t 取i +t 分i +t 执i ) 顺序方式控制简单,但指令串行解释速度慢,设备利用率 低。 2. 重叠方式 这是使相邻指令的解释在一些阶段上的操作在时间上 重叠执行,如: 或 T = ( 2n + 1) t 重叠方式需增设指令缓冲寄存器,在执行k 条指令时存放 k+1条指令。同时还要解决取操作数与取指令都要访问存 储器的冲突。 解决冲突的方法: ? 使用分开的指令存储器和数据存储器,称为哈佛结构, 如Pentium 处理器设置有指令Cache 和数据Cache 。 ? 采用多体交叉存储器 ? 设置指令缓冲寄存器组 这可预取指令,取指阶段时间短,可以合并到分析阶 段,一条指令解释是分析和执行两个阶段。重叠方式如下: 这称为一次重叠。

《大学计算机基础》第五版_第1-4章课后习题答案

1.简述计算机系统的组成。 由硬件系统和软件系统组成 2.计算机硬件包括那几个部分?分别说明各部分的作用。 a)主机和外设 b)主机包括中央处理器和内存作用分别是指挥计算机的各部件按照指令的功能要求协调工作和存放预执行的程序和数据。外设包括输入输出设备和外存,作用是接受用户输入的原始数据和程序并将它们转化为计算机可以识别的形式存放在内存中,将存放在内存中由计算机处理的结果转变为人们所能接受的形式。 3.指令和程序有什么区别?试述计算机执行指令的过程。 a)指令是能被计算机识别并执行的二进制代码,程序是计算机指令的有序集合。 b)取指令,分析指令,执行指令。 4.指令的串行执行和并行执行有什么区别? 串行执行即在任何时刻只能执行一条指令,并行执行可以执行多条指令。 5.什么是流水线技术? 在程序执行时多条指令重叠进行操作的一种准并行处理技术。 6.简述系统软件和应用软件的区别。 系统软件是指控制计算机的运行、管理计算机的各种资源、并为应用软件提供支持和服务。应用软件是利用计算机的软、硬件资源为某一专门目的而开发的软件。 7.简述机器语言、汇编语言、高级语言各自的特点。 机器语言编程工作量大、难学难记难修改;汇编语言编程质量高,站存储空间少、执行速度快;高级语言接近自然语言和数学公式。 8.简述解释和编译的区别。 解释的翻译工作可立即执行,而编译的翻译工作不可立即装入机器执行。 9.简述将资源程序编译成可执行程序的过程。 首先产生一个与资源程序等价的目标程序,然后连接程序将目标程序和有关的程序库组合成一个完整的可执行程序。 10.简述常用各种高级语言的特点。 FORTRAN:用于科学计算。COBOL:面向商业的通用语言。C/C++:功能丰富,灵活,简洁明了。BASIC:非结构化,功能少,速度慢。JAVA:严谨可靠易懂。 11.什么是主板?它主要有哪些部件?各部件是如何连接的? a)主板(母版)是微型计算机中最大的一块集成电路板,也是其他部件和各种外部设备的连接载体。 b)芯片、插槽和接口。 c)通过接口连接。 12.简述主板构架的作用,并列举常见的主板构架。 作用:对主板的尺寸大小,形状,各元器件的布局、排列方式和所有的电源风格等制定出的通用标准。如ATX,Micro ATX,BTX等。 13.CPU有哪些性能指标? 主频、外频和前段总线频率字长和位数高速缓冲存储器容量核心数量制造工艺 14简述ROM和RAM的作用和区别。 ROM可读不可写、断电后数据不会丢失;RAM可读可写、断电后数据丢失。 15.简述内存和外存的特点。 内存:容量小,CPU可直接访问。外存:容量大,CPU不能直接访问。 16.什么是SATA硬盘?它有什么优点? 使用SATA接口的存储设备。结构简单,可靠性高,数据传输率高,支持热插拔。 17.简述Cacha的作用及其原理。 提高计算机性能;在CPU和内存之间放置Cacha,CPU访问它的速度比访问内存的速度快得多。 18什么是总线?列举总线类型。 总线是各部件、设备之间传送数据的公用通道。 类型:ISA,PCI,AGP. 19.简述并行总线和串行总线的优缺点。 并:适用于短距离低总线频率的传输;串:低速数据传输和高速数据传输都适用。

相关主题
文本预览
相关文档 最新文档