当前位置:文档之家› 计算机体系结构 第二章 指令系统

计算机体系结构 第二章 指令系统

计算机体系结构 第二章 指令系统
计算机体系结构 第二章 指令系统

作业
计算机系统结构 第二章 指令系统
主 讲:吴湘宁 中国地质大学(武汉)计算机学院
■ 2.2 ■ 2.5 ■ 2.14 ■ 2.16 ■ 2.19
中国地质大学(武汉)计算机学院
吴湘宁
第二章 指令系统
■ 2.1 数据表示 ■ 2.2 寻址技术 ■ 2.3 指令格式的优化设计 ■ 2.4 指令系统的功能设计 ■ 2.5 精简指令系统计算机(RISC) 精简指令系统计算机(RISC) ■ 2.6 小结 ■ 2.7 习题
中国地质大学(武汉)计算机学院 吴湘宁
指令系统的地位
■ 指令系统是计算机系统中
软件和硬件分界面的一个 重要标志。
中国地质大学(武汉)计算机学院
吴湘宁
什么是指令系统?
■ 在计算机系统的设计中,由硬件设计人员采 在计算机系统的设计中,由硬件设计人员采
什么是指令?
■ 指令的含义: 指令的含义: ■ 一般含义:指明要执行的操作以及操作的对象。 ■ 组成:由操作码和操作数构成。 ■ 例:
用各种技术实现指令系统,由软件设计人员 用各种技术实现指令系统,由软件设计人员 使用指令系统来编制各种系统软件和应用软 使用指令系统来编制各种系统软件和应用软 件。用这些软件来填补用硬件实现的指令系 统与编程语言之间的语义差距。因此,指令 统与编程语言之间的语义差距。因此,指令 系统: 系统:
■ 是机器语言程序设计者看到的机器的主要属性。 ■ 是软、硬件的主要界面。 ■ 很大程度上决定了计算机系统具有的基本功能。
中国地质大学(武汉)计算机学院 吴湘宁
中国地质大学(武汉)计算机学院
吴湘宁
1

指令如何实现?
操作码对应于功能部件 操作数对应于部件的输入 和输出。 通常,操作码(动词)放 在前面
设计指令系统应关心那些问题?
数据表示
地址分配 地址码个数 寻址方法 地址码优化
中国地质大学(武汉)计算机学院 吴湘宁
指令功能 操作码优化
中国地质大学(武汉)计算机学院
吴湘宁
2.1 数据表示
■ 1) 数据类型、数据表示、数据结构 ■ 2) 浮点数据表示 ■ 3) 自定义数据表示
1) 数据类型、数据表示与数据结构
■ 数据类型是指计算机系统中可以使用和处理的各种数据的 数据类型是指计算机系统中可以使用和处理的各种数据的
类型,例如,字符、布尔数、整数、实数、串、向量、栈、 链表、队列、阵列、树、表和文件等。 ■ 数据表示研究的是计算机硬件能够直接识别的、可以被指 数据表示研究的是计算机硬件能够直接识别的、可以被指 令系统直接调用的那些数据类型。 令系统直接调用的那些数据类型。
■ 常用的、简单的、容易实现
■ 数据结构研究的是面向系统软件、面向应用领域所需处理 数据结构研究的是面向系统软件、面向应用领域所需处理
的各种数据类型,以及这些数据类型之间的逻辑物理关 的各种数据类型,以及这些数据类型之间的逻辑物理关 系,并给出相应的算法。 ■ 系统结构设计确定数据结构和数据表示的界面,即决定在 系统结构设计确定数据结构和数据表示的界面,即决定在 所有的数据类型中,哪些由硬件实现,哪些用软件实现, 并研究它们的实现方法等。
中国地质大学(武汉)计算机学院 吴湘宁 中国地质大学(武汉)计算机学院 吴湘宁
数据类型、数据表示与数据结构
确定数据表示的原则
本质上是软硬件取舍的问题
■ 1.这种数据表示能否提高系统效率,主要体 1.这种数据表示能否提高系统效率,主要体
现在程序的执行时间是否缩短,目标代码 现在程序的执行时间是否缩短,目标代码 所占存储空间是否减少。 所占存储空间是否减少。
■ 2. 这种数据表示应有较高的通用性和利用 这种数据表示应有较高的通用性和利用
率。
中国地质大学(武汉)计算机学院 吴湘宁 中国地质大学(武汉)计算机学院 吴湘宁
2

例1
■ 如果在计算机中只有定点数据表示,而没
例2
有设置浮点数据表示,那么在做浮点运算 时要用子程序来实现。用定点运算指令来 实现32位的浮点运算时,平均要执行100条 实现32位的浮点运算时,平均要执行100条 以上的指令,CPU与主存之间的通信量也 以上的指令,CPU与主存之间的通信量也 会增加100多倍,因此在以科学计算为主的 会增加100多倍,因此在以科学计算为主的 计算机中,浮点计算的通用性好,利用率 高,所以设置浮点数据表示是必需的。
中国地质大学(武汉)计算机学院 吴湘宁 中国地质大学(武汉)计算机学院 吴湘宁

■ 例:实现A=A+B,A和B均为200×200的矩阵,分析向 例:实现A 均为200×200的矩阵,分析向
确定数据类型
■ 设计计算机系统时,对于数据类型,系统
量数据表示的作用
■ 解:如果在没有向量数据表示的计算机系统上实现,一般 解:如果在没有向量数据表示的计算机系统上实现,一般
需要6条指令,其中有4条指令要循环4万次。因此,CPU 需要6 条指令,其中有4条指令要循环4万次。因此,CPU 与主存储器之间的通信量: 取指令2+4×40,000条, 取指令2 40,000条, 读或写数据3×40,000个, 读或写数据3 40,000个, 共要访问主存储器7×40,000次以上。 共要访问主存储器7 40,000次以上。 ■ 如果有向量数据表示,只需要一条指令。 减少访问主存(取指令)次数:4×40,000次 减少访问主存(取指令)次数:4 40,000次 缩短程序执行时间一倍以上,而且减少了指令存储空间。
中国地质大学(武汉)计算机学院 吴湘宁
结构设计者首先要做的是: 结构设计者首先要做的是:
■ 确定哪些数据类型全部用硬件实现,即数据表
示;
■ 哪些数据类型用软件实现,即数据结构; ■ 哪些数据类型可由硬件给予适当的支持,即由
软件和硬件共同来实现,并确定软件和硬件的 适当比例关系。
中国地质大学(武汉)计算机学院 吴湘宁
原码
补码
当X为正数时,加符号位“0” 。 当X为负数时 ,加符号位“1” 。
中国地质大学(武汉)计算机学院 吴湘宁
对正数来说,补码与其原码的形式相同; 对于负数,补码为其原码的数值部分各位取反然后加1 。符号位为“1” 。
中国地质大学(武汉)计算机学院 吴湘宁
3

反码
移码
对正数来说,其反码和原码的形式相同;符号位为“0” 。 对负数来说,反码为其原码的数值部分各位变反。符号位为“1” 。
中国地质大学(武汉)计算机学院 吴湘宁 中国地质大学(武汉)计算机学院 吴湘宁
移码
移码是一种2进制记数方法,它的真值等于相同编码的无符号数加上一个指定的偏移 量d。例如,同样是2进制编码000000 ~ 111111,看作6位无符号数时的取值范围是0 ~ 63,而看作6位移 -10码的取值范围就是 –10 ~ 53。如下图所示。
十进制真值 63 无符号数 53
2) 浮点数据表示
■ ■ ■ ■ ■ ■ ■ ■
移 -10 码 0 -10 111111 二进制编码
图 移码与无符号数的比较实例
移码是一种有符号数,但它的最高位通常不决定数的正负,不应称为符号位。它的 独特之处在于其最小取值的2进制编码是全0,这给机器零的判断和处理电路设计带来 很大方便。
中国地质大学(武汉)计算机学院 吴湘宁
浮点数的表示方式 浮点数的存储方式 规格化浮点数的表数范围 规格化浮点数的表数精度 规格化浮点数的表数个数 浮点数的表数效率 浮点数尾数基值的选择 浮点数机器字格式的设计
中国地质大学(武汉)计算机学院 吴湘宁
问题:浮点数表示?

太阳的质量是:0.2×1034克 太阳的质量是:0.2×
■ 电子的质量是: 0.9×10-27克 0.9× ■ 浮点数=实数?
两者相差1061以上, 若用定点数据表示, 需要230位。几乎不 可能,因此要引入浮 点数据表示。
浮点数表示方法研究的关键问题
■ 在数据字长确定的情况下,研究各种浮点
■ 来源于数学中的实数表示:无限范围,连续,唯一 ■ 浮点数:有限范围,不连续,不唯一
数表示方法的表数范围、表数精度、表数 数表示方法的表数范围、表数精度、 效率以及它们之间的关系,并企图寻找到 效率以及它们之间的关系,并企图寻找到 一种具有最大表数范围、最高表数精度和 最优表数效率的浮点数表示方法 。
中国地质大学(武汉)计算机学院
吴湘宁
中国地质大学(武汉)计算机学院
吴湘宁
4

浮点数的表示方式
■ 浮点数的组成与人们通常所说的“科学记数法”非常相似, 浮点数的组成与人们通常所说的“科学记数法”
浮点数的存储方式
1位 mf 1位 ef q位 e p位 m
唯一不同的是各部分均为有限位数,一个浮点数N可以用 唯一不同的是各部分均为有限位数,一个浮点数N 如下方式表示: e q
■ 主要参数有8个:
N = m ? r m 其中 e = r e
■ m:尾数,包括尾数的码制(原码或补码)和数制(小数或整数) ■ e:阶码,整数,用移码(偏码、增码、译码、余码等)或补码表示 ■ rm:尾数的基,2进制、4进制、8进制、16进制和10进制等 ■ re:阶码的基,通常为2 ■ p:尾数长度,当rm =16时,每4个二进制位表示一位尾数 ■ q:阶码长度,阶码部分的二进制位数, p和q均不包括符号位 ■ mf ──尾数的符号; ■ ef ── 阶码的符号。但对移码表示来说,这仅仅是额外的1位2进
■ ■ ■ ■ ■
mf为尾数的符号位 ef为阶码的符号位 e为阶码的值 m为尾数的值 一般m为纯小数,e为整数
中国地质大学(武汉)计算机学院 吴湘宁
制数,不决定正负。
中国地质大学(武汉)计算机学院
吴湘宁
规格化浮点数
■ 通常把尾数最高位为非零的浮点数称为规 通常把尾数最高位为非零的浮点数称为规
浮点数的表数范围
■ 表数范围由这样一些参数构成:最小负数、最大
格化浮点数。只有零除外(零的尾数和阶 格化浮点数。只有零除外(零的尾数和阶 码为全零,也是规格化浮点数)。 ■ 规格化浮点数表示精度最高(因为有效数 据位数最多),而且具有唯一性。 ■ 存储部件中的浮点数、进入运算部件的浮 点数、以及从运算部件输出的浮点数都必 须是规格化浮点数,只有在运算过程中才 可能出现非规格化浮点数。
中国地质大学(武汉)计算机学院 吴湘宁
负数、最小正数、最大正数、最小绝对值|N|min、 负数、最小正数、最大正数、最小绝对值| 最大绝对值|N|max。它们几何意义可以在数轴上表 最大绝对值| 示,如下图。
-∞ 最小负数 最大负数 0 最小正数 最大正数 +∞ 数轴上的表数范围示意图
根据浮点数的组成表达式可知,图中4个边界值分别由尾数m、阶码e各 根据浮点数的组成表达式可知,图中4 个边界值分别由尾数m 阶码e 自的边界值两两组合而成,如下所示。 最大正数 ── 最大正尾数/最大阶码; 最大正尾数/ 最小正数 ── 最小正尾数/最小阶码; 最小正尾数/ 最大负数 ── 最大负尾数/最小阶码; 最大负尾数/ 最小负数 ── 最小负尾数/最大阶码。 最小负尾数/
中国地质大学(武汉)计算机学院 吴湘宁
规格化浮点数的表数范围
■ 浮点数的表数范围主要由阶码的基 re ,尾数的基 浮点数的表数范围主要由阶码的基
规格化浮点数的表数精度
■ 表数精度也称表数误差,规格化浮点数的表数精度与 表数精度也称表数误差,规格化浮点数的表数精度与
rm ,阶码的位数p决定 阶码的位数p ■ 当尾数用原码,纯小数,阶码采用移码、整数 时,规格化浮点数的表数范围: 时,规格化浮点数的表数范围:
尾数基值rm和尾数长度p有关。 尾数长度 有关。 尾数基值r
■ 在一般情况下,规格化尾数的最后一位通常用四舍五
■ 当尾数采用补码表示时,其他不变,则负数范围:
? ? ? ? ? rm re ?1 ≤ N ≤ ? ( rm 1 + rm p ) ? rm re
q q
r ?r
?1 m
? req m
≤ N ≤ (1 ? r
?p m
)? r
req ?1 m
入来确定,因此,可以认为表数误差是尾数的最后一 个精确位的一半,由此可得出规格化浮点数的表数精 个精确位的一半,由此可得出规格化浮点数的表数精 度为:
? δ (rm , p ) = × rm ( p ?1)
1 2
■ 当rm=2时,表数精度为:
正数范围与采用原码表示相同
中国地质大学(武汉)计算机学院 吴湘宁
δ (2, p ) = × 2 ?( p ?1) = 2 ? p
中国地质大学(武汉)计算机学院 吴湘宁
1 2
5

规格化浮点数的表数个数
1位 1位 mf ef q位 e p位 m
■ 浮点数在机器中存储都必须是规格化的,可表示的规格化
浮点数的表数效率
■ 浮点数的表数效率:指规格化浮点数在总的可以生 浮点数的表数效率:指规格化浮点数在总的可以生
成的浮点数中所占的比例。 成的浮点数中所占的比例。
浮点数的个数应该是可表示的阶码的个数与可表示的尾数 的个数的乘积。 ■ 若阶码的基re,则q位长的阶码可表示的阶码的个数为re q 若阶码的基r ,则q位长的阶码可表示的阶码的个数为r 个 ■ 尾数的基为rm ,因为小数点后第一位不能为0,所以p位长 尾数的基为r ,因为小数点后第一位不能为0,所以p 的尾数可表示的规格化浮点数个数为 ( rm ? 1) ? rmp ?1 + 1 ■ 算上阶码和尾数的符号位,再加上1个特殊的规格化浮点 算上阶码和尾数的符号位,再加上1 数0,则在机器中的规格化浮点数的表数个数为:
表数效率 η = =
其中规格化浮点数个数 可以生成的浮点数个数 2 ? ( rm ? 1) ? rmp ?1 ? 2 ? req + 1 2 ? rmp ? 2 ? req rm ? 1 1 = 1? rm rm
吴湘宁
忽略机器零,则 η ≈
2 ? ( rm ? 1) ? rmp ?1 ? 2 ? req + 1
中国地质大学(武汉)计算机学院 吴湘宁
可见:浮点数的表数效率是由尾数基值 rm 决定的
中国地质大学(武汉)计算机学院
浮点数的表数效率(续)
■ 当尾数基值为2时,浮点数的表数效率为 当尾数基值为2
浮点数尾数基值的选择
■ 在浮点数的字长和表数范围一定时,尾
50% ■ 浮点数的表数效率随着尾数基数的增大而 提高
数基值rm取2或4具有最高的表数精度。 数基值r ■ 在浮点数的字长和表数精度一定时,尾 数基值rm取2或4具有最大的表数范围。 数基值r 综合以上两点: 综合以上两点:
■ 当浮点数字长确定之后,尾数基值rm取2 当浮点数字长确定之后,尾数基值r
或4具有最大的表数范围和最高的表数精 度。
中国地质大学(武汉)计算机学院 吴湘宁
中国地质大学(武汉)计算机学院
吴湘宁
浮点数机器字格式的设计
■ 设计一种浮点数表示方式,有几个参数需要确
浮点格式的设计
■ 假定:浮点数的尾数用原码小数表示,阶码用整数移码
定,其确定原则如下:


■ ■ ■
尾数:多数机器采用原码、小数表示。采用原码制表 示:加减法比补码表示复杂,乘除法比补码简单,表 示非常直观。采用小数表示能简化运算,特别是乘除 法运算。 阶码:一般机器都采用整数、移码表示。采用移码表 示的主要原因是:浮点0与机器0一致。阶码进行加减 运算时,移码的加减法运算要比补码复杂 尾数的基值rm选择2 阶码的基值re取2 浮点数格式设计的关键问题是:在表数范围和表数精 度给定的情况下,如何确定最短的尾数字长p和阶码字 长q
中国地质大学(武汉)计算机学院 吴湘宁
表示,尾数基值为2,阶码基值为2,并根据实际应用要 表示,尾数基值为2,阶码基值为2 求给出表数范围不小于N(N为可表示的最大的正数),表 求给出表数范围不小于N 为可表示的最大的正数) 数精度不低于δ,并且要求尾数和阶码都正负对称。则确 数精度不低于 并且要求尾数和阶码都正负对称。则确 定p、q值的方法如下: 值的方法如下:
log( 由示数范围要求,得到 2 2
q
?1
≥ N ,可得出阶码长度为 q ≥ log δ log 2
log N + 1) log 2 log 2
由表数精度要求 ,得到 2 ? p ≤ δ ,可得出尾数长度 p ≥ ?
■ 由此得出的p、q,再加上尾数符号位和一个阶码符号 由此得出的p
位,就组成了一种满足示数范围和表数精度的浮点机器 字格式。通常还要适当调整p、q的值,使浮点数机器字 字格式。通常还要适当调整p 长满足整数边界要求。
中国地质大学(武汉)计算机学院 吴湘宁
6

例:浮点数格式设计
注:Log210≈3.325 再给尾数追加一位,凑足64位
中国地质大学(武汉)计算机学院 吴湘宁 中国地质大学(武汉)计算机学院 吴湘宁
例:要求设计一种浮点数格式,其表数范围不小于1037, 正、负数对称,表数精度不低于10-16。

解: 根据示数范围的要求
解不等式,得 q ≥
22
37
q
?1
≥ 10 37
log(log 10 / log 2 + 1) = 6.95 log 2
取整数,阶码长度为 7
1 根据表数精度的要求, ? 2? P ?1) < 10?16 得: ( 2 ? log 10 ?16 解得 p ≥ = 53 .2 log 2 ■由于浮点数的字长通常为8的倍数,因此,取尾数字长p= 55,总的字长为1+1+7+55 = 64,浮点数格式如下: 1位 1位 7位 55位 mf ef e m
中国地质大学(武汉)计算机学院 吴湘宁 中国地质大学(武汉)计算机学院 吴湘宁
所设计浮点数格式的主要性能如下: (1 ? 最大尾数值: ? rm p ) = (1 ? 2?55 ) 1 1 最小尾数绝对值: = rm 2 最大阶码:req ? 1 = 27 ? 1 = 127 所设计浮点数格式的主要性能如下: 最小阶码:? req = ? 27 = ?128 最大正数: 1 ( ? r )? r 最小正数: 1 ? req 1 ? 27 ? rm = ? 2 = 2?129 = 1.47 × 10? 39 2 rm
中国地质大学(武汉)计算机学院 吴湘宁
■最大负数:
?
7 1 1 ? q ? rm re = ? ? 2 ? 2 2 rm
= ? 2 ? 129 = ? 1 . 47 × 10 ? 39
■最小负数:
?55 127 38 r ( ? ? 1 ? rm p ) ? rme ?1 ? (1 ? 2?55 ) ? 22 ?1 = ?(1 ? 2 ) ? 2 = ?1.70× 10
q 7
■表数精度:
δ=
req ?1 m
?p m
= (1 ? 2
? 55
)? 2
2 7 ?1
= (1 ? 2
? 55
)? 2
127
= 1.70 × 10
38
1 ? ( p ?1 ) 1 ?r = ? 2?( 55?1 ) = 2? 55 = 2.78 × 10 ?17 2 rm m
■浮点零:浮点零与机器零相同,64位全为0 ■表数效率:采用隐藏位,表数效率η=
中国地质大学(武汉)计算机学院 吴湘宁
100%
7

研究浮点数表示方法的结论
■ 研究浮点数表示方式的主要目的是用尽可能短的字 ■ ■ ■ ■
3) 自定义数据表示
■ 一、什么是自定义数据表示? ■ 二、带标志符的数据表示 ■ 三、数据描述符数据表示
长实现尽可能大的表数范围和尽可能高的表数精度。 通常尾数采用原码或补码、纯小数表示,阶码采用 移码、整数表示。 当浮点数的尾数长度相等时,尾数的基取2时具有最 当浮点数的尾数长度相等时,尾数的基取2 高表数精度。 当浮点数的字长确定后,尾数基取2或4时具有最大 当浮点数的字长确定后,尾数基取2 的表数范围和最高的表数精度。 规格化浮点数的表数精度最高。
中国地质大学(武汉)计算机学院
吴湘宁
中国地质大学(武汉)计算机学院
吴湘宁
一、什么是自定义数据表示?
■ 在一般的计算机中,数据存储单元中存放的都是纯数据, 在一般的计算机中,数据存储单元中存放的都是纯数据,
自定义数据表示
■ 在高级语言中,运算符不反映数据类型,数据的
并不指出数据本身的属性。如无法知道数据的: 并不指出数据本身的属性。如无法知道数据的:
■ 类型(定点数、浮点数、逻辑数、字符等) ■ 进位制(二进制、十进制、十六进制等) ■ 字长(如字、双字、字节等) ■ 功能(如地址、数值、控制字、标志等) ■ 寻址方式(直接、间接、相对、寄存器寻址?)
■ 以上这些数据的属性都是通过不同的指令操作码来解释,
例如,对不同属性的数据要设计若干条加法指令(如浮点 加,整数加等),大大增加了指令系统的负担。
一种运算只用一种运算符,数据的属性必须在使 用前给予定义。然后由编译器根据定义的数据属 性生成不同的机器指令。高级语言与机器语言之 间的这种语义差别是通过编译器来填补的。 ■ 自定义数据表示是指在机器语言中,由数据自己 自定义数据表示是指在机器语言中,由数据自己 定义数据本身的属性,从而简化了指令系统和编 定义数据本身的属性,从而简化了指令系统和编 译器。 ■ 自定义数据表示缩短了高级语言和机器语言之间 的语义差距,高级语言中的运算符和机器语言操 作码统一起来,可以用于各种数据类型的操作。
中国地质大学(武汉)计算机学院 吴湘宁
中国地质大学(武汉)计算机学院
吴湘宁
二、带标志符的数据表示 (Tagged Data Representation)
■ 在数据中采用若干位来表示数据的属性
带标志符的数据表示的优点
■ 主要优点 ■ ① 简化了指令系统; ■ ② 便于实现一致性检验,数据类型检查和转换 能够用硬件实现; ■ ③ 简化了程序设计; ■ ④ 简化了编译器; ■ ⑤方便了软件调试; ■ ⑥支持数据库系统。
中国地质大学(武汉)计算机学院 吴湘宁
中国地质大学(武汉)计算机学院
吴湘宁
8

带标志符的数据表示的缺点
■ 主要缺点: ■ ①数据和指令的长度可能不一致; ■ ②指令的执行速度降低(微观速度降低); ■ ③硬件设计的复杂度增加。 ■
三、数据描述符数据表示 (Data Descriptors)
■ 用于描述复合数据结构。如向量、矩阵、多维矩
阵等,其数据连续存放,而且数据的属性都是相 阵等,其数据连续存放,而且数据的属性都是相 同的,可以采用一个数据描述符来描述。 同的,可以采用一个数据描述符来描述。
■ 数据描述符与标志符的主要区别: ■ 标志符通常作用于一个数据,而数据描述符作用于一组 数据。 ■ 标志符与数据一起存放,而数据描述符单独存于一个单 元
综上所述,采用标志符数据表示法虽然硬件复 杂度高,机器的微观速度可能降低,但它能减少 高级语言与机器语言之间语义差距,能提高机器 的宏观性能。
中国地质大学(武汉)计算机学院 吴湘宁
中国地质大学(武汉)计算机学院
吴湘宁
数据描述符数据表示
■ 描述符中的标志位 101 3 S1 101 2 101 2 101 2 S2 S3 S4 000 a11 000 a12 000 a21 000 a22 000 a31 000 a32
■ 描述的是否是另一个数
据描述符
■ 是单个数据还是数据块 ■ 连续存放还是分段存放 ■ 是字还是串 ■ 单精度/双精度 ■ 只读/可写
101: 描述符 000: 单精度
中国地质大学(武汉)计算机学院
吴湘宁
中国地质大学(武汉)计算机学院
吴湘宁
2.2 寻址技术
■ 1) 什么是寻址技术? ■ 2) 编址方式 ■ 3) 编址单位 ■ 4) 寻址方式
1) 什么是寻址技术?
■ 寻址技术
■ 寻找数据以及其它信息的地址 ■ 指令系统是软硬件的主要分界
面,而寻址技术是指令格式设计 中要重点考虑的一个方面。 ■ 涉及编址方式,寻址方式,定位 方式
■ 寻址对象
■ 主存,寄存器,堆栈,外设 ■ 以主存储器为主
■ 计算机如何与这些设备通信
■ 给这些设备编号,分配一个地址 ■ 按照分配的地址通信
中国地质大学(武汉)计算机学院 吴湘宁 中国地质大学(武汉)计算机学院 吴湘宁
9

2) 编址方式
■ ① 三个零地址空间 ■ 寄存器、主存、I/O设备分别编址; ■ ② 两个零地址空间 ■ 寄存器独立编址 ■ 主存、I/O设备统一编址; ■ ③ 一个零地址空间 ■ 所有存储设备统一编址; ■ ④ 隐含编址方式 ■ 无零地址空间。如在Cache中、堆栈计算机中。
中国地质大学(武汉)计算机学院 吴湘宁
3) 编址单位
■ 字编址(按存储字长编址) 字编址( 按存储字长编址) ■ 字编址是指每个编址单位与一次可访问的数据 存储单元相一致。 ■ 字节编址 ■ 字节编址是指每个编址单位都是一个字节。 ■ 位编址 ■ 位编址是指每个编址单位都是一个二进制位
中国地质大学(武汉)计算机学院 吴湘宁
4) 指令和数据的寻址方式
■ 什么是寻址方式? ■ 指令的寻址方式 ■ 操作数寻址方式
什么是寻址方式?
■ 寻找指令或操作数存储单元的方法称寻址方式,分类
如下
■ 立即寻址

直接给出操作数
■ 寄存器寻址 ■ 主存寻址

■ ■
直接寻址:指令中直接给出参加运算的操作数及运算结果所存放 的主存地址(有效地址),此方法地址码较长,而且修改数据地 址不便 间接寻址:指令中给出的是操作数地址的地址 变址寻址:指令中使用变址寄存器。指令操作数的有效地址是变 址寄存器的值加上一个偏移量 地址是隐含的,指令中不必给出操作数的地址,指令长度短 支持高级语言,有利于编译 程序代码量短 支持嵌套和递归 其它,中断等
中国地质大学(武汉)计算机学院 吴湘宁
■ 堆栈寻址
■ ■ ■ ■ ■
中国地质大学(武汉)计算机学院 吴湘宁
指令的寻址方式
顺序执行:PC寻址 顺序执行: PC寻址 非顺序执行:转移指令 非顺序执行:转移指令 如jump $1000 bgt R1 ——条件转移vs无条件转移 ——条件转移vs无条件转移 ——相对转移vs绝对转移 ——相对转移vs绝对转移 状态寄存器SR:N (正负号), Z (全零), V (溢出), C 状态寄存器SR: (正负号), (全零), (溢出), (进位)等 进位)
中国地质大学(武汉)计算机学院 吴湘宁
操作数寻址方式
1. 隐含方式。如ADD A中的累加器 隐含方式。如ADD A中的累加器 2. 立即寻址。如INT #3 立即寻址。如INT 指令 3. 寄存器寻址。如INC R1 操 作码 寄存器寻址。如INC
指令 操作 图 操作数 立即寻址
中国地质大学(武汉)计算机学院
R
寄存 器 操作数

吴湘宁
寄存器寻址
10

操作数寻址方式(续)

操作数寻址方式(续)
5. 间接寻址 寄存器间接寻址 如INC (R1), (R1), 存储器间接寻址 如INC (1000)
指令 操作码 寄存器 A R 存储器
A' 指令 操作码 A 存储器
4. 直接寻址。如INC 1000 直接寻址。如INC
指令 操作码 A 存储器 操作数
操作数
操作数

直接寻址
吴湘宁

寄存器间接寻址
中国地质大学(武汉)计算机学院

存储器间接寻址
中国地质大学(武汉)计算机学院
吴湘宁
操作数寻址方式(续)
6. 相对寻址 相对于程序记数器位移 如INC 8(PC)
指令 操作码 A 存储器 PC 操作数
操作数寻址方式(续)
7. 变址和基址寻址 如INC (R1) (8)
指令 操作码 R A 存储器 操作数
寄存器 I

变址寻址

相对寻址
吴湘宁
变址寻址:便于数组访问(变址寄存器可存放数组首地址) 基址寻址:可扩大寻址范围,可实现程序浮动(两次变换)
中国地质大学(武汉)计算机学院 吴湘宁
中国地质大学(武汉)计算机学院
操作数寻址方式(续)
8. 复合寻址 如INC 8(PC+R1)、INC (R1)(1000) 8(PC+R1)、
指令 操作码 R A 存储器 操作数
2.3 指令格式的优化设计
■ 指令格式优化主要目标和研究内容 ■ 指令的组成 ■ 操作码的优化
存储器 A’
指令 操作码 R A
寄存器 I
寄存器 I
■ 地址码的优化 ■ 指令格式设计举例
PC
中国地质大学(武汉)计算机学院 吴湘宁
操作数
中国地质大学(武汉)计算机学院
吴湘宁
11

1) 指令格式优化的 主要目标和研究内容
■ 指令格式的优化设计:是指如何用最短的二进制 指令格式的优化设计:是指如何用最短的二进制
2) 指令的组成
■ 一般的指令主要由两部分组成:操作码和地址码 一般的指令主要由两部分组成:操作码和 ■ 操作码主要包括两部分内容: 操作码主要包括两部分内容:
■ 操作种类:加、减、乘、除、数据传送、移位、转移、输入输出 ■ 操作数的数据类型:
■ ■
位数来表示指令的操作信息和地址信息,使指令 的平均字长最短。 ■ 主要目标
节省程序的存储空间 ■ 指令格式尽量规整,减少硬件译码的难度

定点数、浮点数、复数、字符、字符串、逻辑数、向量等 若采用自定义数据表示法,则操作码不必指出操作数的数据类型
■ 地址码通常包括三部分内容: 地址码通常包括三部分内容:
■ 操作数的地址:直接地址、间接地址、立即数、寄存器编号、变
址寄存器编号
■ 地址的附加信息:如偏移量、块长度、跳距等 ■ 寻址方式:直接寻址、间接寻址、立即数寻址、变址寻址、相对
■ 研究内容 ■ 操作码的优化表示 ■ 地址码的优化表示
中国地质大学(武汉)计算机学院 吴湘宁
寻址、寄存器寻址
中国地质大学(武汉)计算机学院
吴湘宁
3) 操作码的优化表示
操作码的优化编码方法通常有三种: 操作码的优化编码方法通常有三种:
■ ① 定长操作码; ■ ② Huffman编码; Huffman编码; ■ ③ 扩展编码。
① 定长操作码
■ 所有指令的操作码长度都是相等的。 ■ 规整简单,但浪费空间。 如果操作码有n个
那么操作码的位数至少应该有 l = ?Log2n ?位 ■ 例:已知 操作码的个数n = 15,求定长编码的最 操作码的个数n 15,
小平均码长。
■ 解:
l = ?Log215? = 4
中国地质大学(武汉)计算机学院 吴湘宁
中国地质大学(武汉)计算机学院
吴湘宁
② Huffman编码
■ 对使用频度最高的对象,用最短位数的编
利用Huffman树进行操作码编码
■ 利用Huffman树进行操作码编码的方法,又称为最小概率合 利用Huffman树进行操作码编码的方法,又称为最小概率合
并法。这种编码方法由两个过程组成: 并法。这种编码方法由两个过程组成:
■ 频度合并:将全部n个事件(在此即为n条指令)的频度值排序,选取
码表示,对使用最低的对象,用最长位数 的编码表示。 ■ 构造方法:使用哈夫曼树来构造
其中最小的2个频度合并,然后将剩下的n-1个频度再次排序,再合并 最小的2个频度,如此重复,直至剩下1个频度为止。记录所有的合并 关系,形成一棵二叉树 ── Huffman树,所有原始频度值充当树 叶,而最后剩下的总频度1为树根; ■ 码元分配:从树根开始,对每个中间结点的左右2个分支边各赋予一 位代码“0”和“1”(“0”在哪一侧不限)。读出从根结点到任一片树叶 的路径上依次出现的代码位就排成了这个事件(即指令)的完整编码。 由于频度高的事件较晚被合并,它的编码位数也就较少,符合 Huffman压缩原则。 ■ 上面所说的频度值就是各事件实际出现次数的百分比,它是理论出现 概率的近似值。
中国地质大学(武汉)计算机学院 吴湘宁
中国地质大学(武汉)计算机学院
吴湘宁
12

Huffman编码示例1 Huffman编码示例1
指 令 I1 I2 I3 I4 I5 I6 I7 频 率 0.40 0.26 0.15 0.06 0.05 0.04 0.04 Huffman 编码 1 01 001 00011 00010 00001 00000 长 度 1 2 3 5 5 5 5 0 0 0 0 0
Huffman编码示例2 Huffman编码示例2
1.00
1
■ 计算机具有7种操作码。固定长编码需要3位二进 计算机具有7 种操作码。固定长编码需要3
0.60
1 1
制。如何采用 Huffman编码。 Huffman编码。
0.34 0.19
1
0.08
1 0
0.11
1
0.04
I7
0.04
I6
0.05
I5
0.06
I4
0.15
I3
0.26
I2
0.40
I1
中国地质大学(武汉)计算机学院
吴湘宁
中国地质大学(武汉)计算机学院
吴湘宁
注:
■ 哈夫曼树构造过程可以总结为:
从小到大排序, 从小到大排序, 最小两个合并, 最小两个合并, 重复上述过程, 重复上述过程, 只剩一个结束。 只剩一个结束。
③ 扩展编码
■ Huffman编码有优点,但缺点也比较明显: Huffman编码有优点,但缺点也比较明显: ■ 优点:平均信息长度短,冗余量小。 ■ 缺点:操作码不规整,码长种类较多,不利于硬件的译 码,也不利于软件的编译,另外,也很难与地址码配合形 成长度规整的指令编码。 ■ 改进:扩展编码法 改进:扩展编码法 ■ 由定长操作码与Huffman编码法相结合形成的折中方案 ■ 主要思想:限定几种码长,使用频度高的用短码,使用频 度低的用长码,短码不能是长码的前缀。
中国地质大学(武汉)计算机学院 吴湘宁
■ 哈夫曼树不是唯一的(因为相同的频率可以 哈夫曼树不是唯一的(
任取一个在前,且编码时又可任取左1或左 任取一个在前,且编码时又可任取左1 0),但所得的平均码长应是一样的。 0),但所得的平均码长应是一样的。
中国地质大学(武汉)计算机学院 吴湘宁
扩展编码的表示方法
■ 用码长表示:用横线隔开不同码长,例如4-8-12法。 用码长表示:用横线隔开不同码长,例如4 12法。 ■ 用码点数表示:例如15/15/15法,8/64/512法 用码点数表示:例如15/15/15法,8/64/512法 ■ 15/15/15法,每一种码长都有4位可编码位(前头可以有 相同的扩展标识前缀),可产生16个码点(即编码组 合),但是至多只能使用其中15个来表示事件,留下1 个或多个码点组合作为更长代码的扩展标识前缀。已经 用来表示事件的码点组合不能再作为其它更长代码的前 导部分,否则接收者会混淆。这就是“非前缀原则”。 ■ 8/64/512法,每一种码长按4位分段,每一段中至少要留 下1位或多位作为扩展标识。各段剩下的可编码位一起 编码,所产生的码点用来对应被编码事件。每一段中的 标识位指出后面还有没有后续段。
中国地质大学(武汉)计算机学院 吴湘宁
扩展编码的分类
■ 等长编码法是对出现频率较低的操作码用 等长编码法是对出现频率较低的操作码用
较长的编码表示时,每次扩展的编码位数 相等,如2-4-6扩展法是指每次扩展时加长2 相等,如2 扩展法是指每次扩展时加长2 位。 ■ 不等长编码法是指每次扩展的编码位数不 不等长编码法是指每次扩展的编码位数不 相等,如1-2-3-5扩展法的前两次扩展都加 相等,如1 长1位,第3次扩展加长2位。 位,第3 次扩展加长2
中国地质大学(武汉)计算机学院 吴湘宁
13

示例:扩展编码
Ii Pi
编码方法性能指标
2-4编码(3/4) 2-4编码(2/8)
l = ∑ ( Pi ? li )
i =1
n
1-2-3-5编码
■ 平均码长l 平均码长l
Pi是操作码i的使用概率 li是操作码i的长度 n为操作码个数
I1 I2 I3 I4 I5 I6 I7
0.45 0.30 0.15 0.05 0.03 0.01 0.01
0 10 110 11100 11101 11110 11111
00 01 10 1100 1101 1110 1111
00 01 1000 1001 1010 1011 1100
■ 信息熵H(Entropy):表示 信息熵H Entropy):表示
用二进制编码表示n个码点 用二进制编码表示n 时,理论上的最短平均码长。 任何实际编码得到的平均码长 l都大于H。 都大于H
H = ? ∑ [Pi ? log 2 ( Pi )]
i =1
n
■ 信息冗余量:表明消息编码中 信息冗余量:表明消息编码中
“无用成分”所占的百分比,用 无用成分” 来衡量代码优化的程度。
中国地质大学(武汉)计算机学院
R=
吴湘宁
l?H H = (1 ? ) l l
中国地质大学(武汉)计算机学院
吴湘宁
例:定长编码的信息冗余量
■ 定长编码的平均码长为
例:编码方法性能比较
■ 某计算机有7种不同的 某计算机有7
l = ?log 2 n?
■ 定长编码的信息冗余量为
R=
l?H = 1? l
? ∑ pi ? log 2 pi
i =1
n
?log 2 n?
吴湘宁
操作码,其使用概率 如图所示,试比较定 长编码、 Huffman编 Huffman编 码、1-2-3-5不等长扩 码、1 展编码、2-4(3/4)等长 展编码、2 4(3/4)等长 扩展编码、2-4(2/8)等 扩展编码、2 4(2/8)等 长扩展编码的熵以及 长扩展编码的熵 平均码长、信息冗余 平均码长、 量。
中国地质大学(武汉)计算机学院 吴湘宁
中国地质大学(武汉)计算机学院
解:
■ 熵H=
解(续):
■ 定长编码的平均码长
– (2×0.01×log20.01+0.03×log20.03+0.05×log 20.05+0.15×log20.15+0.3×log20.3+0.45×log2 0.45) ≈1.95
l = ?log 2 7 ? = 3
■ 定长编码的信息冗余量
R=
中国地质大学(武汉)计算机学院 吴湘宁
l?H H 1.95 = 1? = 1? ≈ 35% l l 3
中国地质大学(武汉)计算机学院 吴湘宁
14

解(续):
■ Huffman编码 Huffman编码
解(续):
■ Huffman编码的平均 Huffman编码的平均
码长
l = ∑(P ? li ) = i
i=1
n
0.45×1+ 0.30×2 + 0.15×3+ 0.05×4 + 0.03×5 + 0.01× 6 + 0.01× 6
■ Huffman编码的信息 Huffman编码的信息
= 1.97
冗余量
R=
l?H H 1.95 ) = 1.0% = (1 ? ) = (1 ? l l 1.97
■ 可见, Huffman编码 Huffman编码
明显优于定长编码
中国地质大学(武汉)计算机学院 吴湘宁 中国地质大学(武汉)计算机学院 吴湘宁
解(续):
■ 扩展编码
Ii Pi
解(续):
■ 采用1-2-3-5不等长扩展编码的操作码平均长度为: 采用1 ■ l=(0.45×1+0.30×2+0.15×3+(0.05+0.03+0.01+0.01) ×5 =2.00位 ■ 信息冗余量为:R =1-1.95/2.00=2.5% ■ 采用2-4(3/4)等长扩展编码的操作码平均长度为: 采用2 4(3/4)等长扩展编码的操作码平均长度为: ■ l=(0.45+0.30+0.15)×2+(0.05+0.03+0.01+0.01)×4 =2.20位 ■ 信息冗余量为:R =1-1.95/2.20=11.4% ■ 采用2-4(2/8)等长扩展编码的操作码平均长度为: 采用2 4(2/8)等长扩展编码的操作码平均长度为: ■ l=(0.45+0.30)×2+(0.15+0.05+0.03+0.01+0.01)×4 =2.50 位 ■ 信息冗余量为:R =1-1.95/2.50=22% ■ 由上可知, 1-2-3-5不等长扩展编码优于后两种等
1 - 2 - 3 - 5 编 码 2-4编码(3/4) 2-4编码(2/8)
I1 I2 I3 I4 I5 I6 I7
0.45 0.30 0.15 0.05 0.03 0.01 0.01
0 10 110 11100 11101 11110 11111
00 01 10 1100 1101 1110 1111
吴湘宁
00 01 1000 1001 1010 1011 1100
长扩展编码。
中国地质大学(武汉)计算机学院 吴湘宁
中国地质大学(武汉)计算机学院
4) 地址码的优化
■ 前面我们学习了操作码的优化,但是一条指令码
还包括地址码。两者合理安排才能使指令格式得 还包括地址码。两者合理安排才能使指令格式得 到优化。示意如下: 地址码 操作码 也可以是地址码 到优化。示意如下:
■ 地址码在指令中所占的长度最长,其编码长度主
要与指令中地址码的个数、操作数存放的存储设 备(通用寄存器、主存储器、堆栈等)、存储设 备的寻址空间大小、编址方式、寻址方式等有关。
中国地质大学(武汉)计算机学院 吴湘宁
■ 地址码优化有以下四种方法: ■ (1) 在指令中采用不同的寻址方式,可以调整 地址码长度。 ■ (2) 在指令中采用多地址制,如短操作码可配 以二地址、三地址制,长操作码配以单地址制 或零地址制; ■ (3) 同一种地址制还可以采用多种地址形式和 长度, 也可以考虑利用空白处来存放直接操作数 或常数等; ■ (4) 在以上措施的基础上, 还可以进一步考虑采 用多种指令字长度的指令。
中国地质大学(武汉)计算机学院 吴湘宁
15

■ 地址码个数的选择 ■ 1.三地址指令:两个源操作数地址,一个目标 地址。 ■ 2.二地址指令:一个源操作数地址,一个目标 地址。 ■ 3.一地址指令:只有一个源地址,另一操作数 来自隐含累加器,结果存入累加器。此指令必 须有且只有一个累加器 ■ 4.零地址指令:即堆栈型计算机指令。操作数 隐含从堆栈顶部弹出,运算结果隐含压入堆栈 顶部,因此不需要地址码。
中国地质大学(武汉)计算机学院 吴湘宁
评价选择地址码的标准
■ 评价选择地址码的标准有两个:
■ 一.程序的存储量,即程序中所有指令的长度的总和最短。 ■ 二.程序的执行速度,即程序在执行过程中访问主存储器的信息
(包括指令和数据)量的总和最短。
■ 分析比较,各种不同地址数指令的特点及适用场合
地址数目 三地址 二地址 一地址 零地址 二地址R型 操作码长 度 短 一般 较长 最长 一般 程序 存储量 最大 很大 较大 最小 最小 程序执行 速度 一般 很低 较快 最低 最快 适用场合 向量、矩阵运算 一般不宜采用,源操作数产 生覆盖 连续运算、硬件结构简单 嵌套、递归、变量较多 多累加器、数据传送较多
吴湘宁
中国地质大学(武汉)计算机学院
缩短地址码长度的方法
■ 缩短地址码长度的根本目的是要用一个比较短的地址码表
5) 指令格式设计举例
■ IBM370指令设计 ■ PDP-11指令设计 PDP-
示一个比较大的逻辑地址空间,同时也要求一个比较灵活 有效的寻址方式。
■ 常用方法有三种:
■ 1.用间接寻址方式缩短地址码长度:在主存的低地址端专门安排一
个区域用于间接寻址,而指令中的地址码可只采用较少位数表示 低地址端地址空间。 2.用变址寻址方式缩短地址码长度:将较长的基地址放在变址寄 存器中,在指令的地址码中只需给出较短的地址偏移量 ■ 3.用寄存器间接寻址方式缩短地址码长度:指令中地址码采用较 少位数表示寄存器的地址,寄存器中存放主存的逻辑地址。寄存 器间接寻址方式缩短地址码长度是最有效的方法。

中国地质大学(武汉)计算机学院 吴湘宁 中国地质大学(武汉)计算机学院 吴湘宁
IBM370指令设计
指令不定长 操作码定长 操作数采用两地址 R:寄存器 S:存储器 X:变址 I:立即数
IBM370指令组成
■ ■ ■ ■
指令长度:不等长,有16、32、48位 指令长度:不等长,有16、32、 48位 操作码部分长度:等长,均为8位 操作码部分长度:等长,均为8 地址码部分长度:8、24、40位 地址码部分长度:8 24、 40位 地址个数:均为二地址;寻址方式:多种
RR 寄存器-寄存器寻址 RX 寄存器-变址寻址 RS 寄存器-主存直接寻址,可将Rn到Rm的数据与主 存单元中的数据相互传输 ■ SI 主存直接-立即数寻址 ■ SS 主存直接-主存直接寻址
■ ■ ■
中国地质大学(武汉)计算机学院
吴湘宁
中国地质大学(武汉)计算机学院
吴湘宁
16

PDP-11指令设计
PDP-11指令组成
■ 指令长度:不等长(单字、双字、三字) ■ 操作码部分长度:4位开始,分别扩展到
4,7,8,10,12,13,16位 ■ 地址个数:零地址、一地址、二地址。 ■ 寻址方式:8种 ■ 不同长度操作码配以不同个数、不同寻址 方式、不同长度的地址码。
中国地质大学(武汉)计算机学院 吴湘宁 中国地质大学(武汉)计算机学院 吴湘宁
2.4 指令系统的功能设计
■ 指令系统性能 ■ 指令的种类
指令系统性能
设计指令系统时,在功能方面的最基本要求是:
■ 完整性(Completeness) 是指应该具备的基本指令种类,能 完整性(Completeness)
处理机器所具有的各种数据表示。

■ 规整性(Consistency) 指各寄存器、内存单元在指令系统中 规整性(Consistency)
处于对等地位,便于译码、执行。主要表现在:

对称性:所有存储设备的使用,操作码的设置等都要对称,如对 所有寄存器要同等对待。有(R1)op(R2)->R1,也应该有 (R2)op(R1)->R1 均匀性:不同的数据类型、字长、存储设备、操作种类要设置相 同的指令,这一般很难实现,通常规定运算需在寄存器中完成。
■ 可扩充性(Extendibility):要保留一定余量的操作码空间, 可扩充性(Extendibility):
以备将来扩展。
■ 兼容性:在同一系列机内指令系统不变(可以适当增加) 兼容性:在同一系列机内指令系统不变(可以适当增加) ■ 高效率:指令的执行速度要快;指令的使用频度要高;各 高效率:指令的执行速度要快;指令的使用频度要高;各
类指令之间要有一定的比例
中国地质大学(武汉)计算机学院
吴湘宁
中国地质大学(武汉)计算机学院
吴湘宁
指令系统的完整性
■ 指令的种类: ■ 数据传送 ■ 运算 ■ 程序控制 ■ 输入输出 ■ 处理机控制和调试
■ 1、数据传送类指令
由三个主要因素决定: ■ 数据存储设备的种类 ■ 数据单位:字、字节、位、数据块等 ■ 采用的寻址方式
■ 2、算术和逻辑运算类指令
考虑四个因素的组合: ■ (1) 操作种类:加、减、乘、除、与、或、非、异或、比较、移位、 检索、转换、匹配、清除、置位等 ■ (2) 数据表示:定点、浮点、逻辑、十进制、字符串、定点向量等 ■ (3) 数据长度:字、双字、半字、字节、位、数据块等 ■ (4) 数据存储设备:通用寄存器、主存储器、堆栈等
中国地质大学(武汉)计算机学院
吴湘宁
中国地质大学(武汉)计算机学院
吴湘宁
17

■ 3、程序控制指令
主要包括三类: ■ 转移指令 ■ 无条件转移:局部无条件转移,采用相对寻址 ■ 有条件转移:转移条件有:全零(Z)、正负号(N)、进位(C)、溢 出(V)及它们的组合等。如BEQ(等于零转移),BCS(有进位 转移),BVS(有溢出转移)。
■ 程序调用和返回指令
■ ■ ■
■ 4、输入输出指令
主要有:启动设备、停止设备、测试设备、控制设 备,数据输入、数据输出等指令 ■ 多采用单一的直接寻址方式 ■ 在多用户或多任务环境下,输入输出指令属于特权指 令,必须用系统调用进入操作系统,由操作系统对设 备统一进行管理 ■ 也可以不设置输入输出指令,输入输出设备与主存储 器共用同一个零地址空间,访存的指令也能访问输入 输出设备

CALL RETURN
转入子程序 从子程序返回,本身可以带有条件
中断控制指令和自陷指令也属此类,如开中断、关中断、改变 屏蔽状态、中断返回、自陷等等指令。 ■ 循环控制指令
中国地质大学(武汉)计算机学院
吴湘宁
中国地质大学(武汉)计算机学院
吴湘宁
■ 5、处理机控制和调试指令 ■ 处理机状态切换指令:在一般的计算机系统中,处理 机至少有两个或两个以上状态,即管态和用户态,或 称主态和从态。两个状态间需要进行切换。系统的指 令也相应分为两种类型:供系统管理员使用的特权指 令,以及供普通用户使用的一般指令,管态下可执行 特权指令,用户态下只能执行一般指令。 ■ 调试指令
■ ■
2.5 精简指令系统计算机RISC
■ CISC和RISC ■ 复杂指令系统计算机---CISC ---CISC ■ 精简指令系统计算机---RISC ---RISC
硬件调试指令:如钥匙位置读取、开关状态的读取,寄存器和 主存单元的显示等; 软件调试指令:如断点的设置、跟踪,自陷井指令等。
中国地质大学(武汉)计算机学院
吴湘宁
中国地质大学(武汉)计算机学院
吴湘宁
1) CISC和RISC
■ 计算机指令系统设计存在着两种截然不同 计算机指令系统设计存在着两种截然不同
2) 复杂指令系统计算机---CISC
■ 按CISC方向发展改进指令系统的基本思想是:如 CISC方向发展改进指令系统的基本思想是:如
的思想: 的思想:
■ 复杂指令系统计算机CISC (Complex Instruction
Set Computer):通过强化指令集功能,并实现 软件功能向硬件功能转移来提高计算机的性能 (设置复杂的功能更强的指令来代替原先由软 件子程序实现的功能)。 ■ 精简指令系统计算机RISC (Reduced Instruction Set Computer) 只保留功能简单的指令,而功能 较复杂的指令则用子程序来实现,通过尽可能 降低指令集结构的复杂性,来达到简化指令集 的实现和提高性能的目的。
中国地质大学(武汉)计算机学院 吴湘宁
何进一步增强原有指令的功能,以及设置更为复 杂的新指令来取代原先由软件子程序完成的功 能,实现软件功能的硬化。 能,实现软件功能的硬化。 ■ 按照CISC方向,主要可以从三个方面来改造指令 按照CISC方向,主要可以从三个方面来改造指令 系统:
面向目标程序实现优化 面向高级程序语言实现优化 ■ 面向操作系统实现优化
■ ■
中国地质大学(武汉)计算机学院 吴湘宁
18

面向目标程序实现优化
■ 目标:普遍缩短包括系统软件和应用软件在内的各种机器 目标:普遍缩短包括系统软件和应用软件在内的各种机器
面向高级程序语言实现优化
■ 目标:缩短高级语言和机器语言之间的语义差距,支持编 目标:缩短高级语言和机器语言之间的语义差距,支持编
语言目标程序的长度,减少程序执行过程中处理机和主存 间信息交换的次数,减少目标程序的执行时间。具体途径 间信息交换的次数,减少目标程序的执行时间。具体途径 有:
■ 一、通过统计机器语言目标程序中的各种指令与指令串的静态使
译程序,减少编译所需的时间,提高目标程序形成效率。 具体途径有:
■ 一、统计高级语言源程序中各种语句的使用频度,增设与高频度
用频度和程序在执行过程中指令的动态使用频度来改造指令,对 使用频度高的指令可以增强其功能,加快其执行速度,缩短其指 令字长;对使用频度高的指令串可以增设功能更强的新指令或复 合指令来替代;对使用频度很低的指令可以将其功能合并到某些 频度高的指令中去,或在开发新型号机器时将其取消。 ■ 二、将常用的宏指令或子程序实现的功能改为用强功能复合指令 来实现。 ■ 三、尽量减少指令集中不执行数据变换的非功能型指令的比例, 使真正执行数据变换等运算功能型指令所占的比例增大。
中国地质大学(武汉)计算机学院 吴湘宁
语句的语义差别小的新指令;
■ 二、面向编译,优化代码生成,从增强结构的规整性和对称性方
面来改进指令系统;
■ 三、改进后的指令系统应尽可能与各种高级语言的同一功能语句
的保持同等程度的语义差距;
■ 四、设计面对各种高级语言优化实现的多种指令系统,并且能够
动态地切换,自适应各种高级语言程序的运行。
■ 五、发展高级语言计算机。高级语言机器是指不需要编译即可运
行高级语言程序的计算机,它通过硬件或固件来直接解释执行高 级语言的语句。
中国地质大学(武汉)计算机学院 吴湘宁
面向操作系统实现优化
■ 目标:缩短操作系统与计算机系统结构之间的语义差距, 目标:缩短操作系统与计算机系统结构之间的语义差距,
■ 一、对操作系统中常用指令和指令串的使用频度进行统计分析来
3) 精简指令系统计算机---RISC
■ CISC存在的问题: CISC存在的问题:
■ 指令系统日趋庞大和复杂,不宜于用VLSI技术实现,使机器的设
减少运行操作系统的时间和占用的存储空间。具体途径有: 减少运行操作系统的时间和占用的存储空间。具体途径有:
改进; ■ 二、增设专用于支持操作系统功能的新指令,尤其是一些固定的 管理类功能指令; ■ 三、把操作系统中频繁使用且对速度影响大的的某些软件子程序 进行硬化或固化,或直接改用硬件或微程序解释实现; ■ 四、设置专门的处理机来运行操作系统,发展功能分布的多处理 机系统。
计周期延长,成本升高,设计错误增多,系统可靠性降低;
■ 指令系统中,约有80%的指令的使用频度很低,利用率低,因
此,降低了指令系统的性能价格比。 ■ 功能复杂的指令使指令的译码和操作的复杂,执行速度慢。并使 得指令系统的指令平均周期数较大,增大了程序的执行时间,降 低了程序的执行速度; ■ 复杂的指令系统使得高级语言源程序的优化编译变得困难,时空 开销增大,编译效率难以提高,且编译程序复杂。
■ 解决办法---RISC 解决办法---RISC
■ RISC的设计思想:只保留功能简单的指令,功能较复杂的指令用
子程序(软件)来实现。
中国地质大学(武汉)计算机学院 吴湘宁 中国地质大学(武汉)计算机学院 吴湘宁
设计RISC机器的一般原则
■ 1、只选择使用频度很高的指令,在此基础上再增加少量 只选择使用频度很高的指令,在此基础上再增加少量 ■ ■ ■
设计RISC机器的一般原则(简单版) 设计RISC机器的一般原则(简单版)
■ 1、精简指令条数,保留使用频度高的指令; ■ 2、简化指令格式,采用简单寻址方式,绝大多数
■ ■
能效支持操作系统、高级语言实现及其它功能的指令,让 指令条数大大减少; 2、减少指令、寻址方式的种类,一般不超过两种寻址方 减少指令、寻址方式的种类,一般不超过两种寻址方 式;简化指令的格式,使之也限制在两种之内,并争取让 全部指令都具有相同的长度; 3、大多数指令(90%以上)都在一个机器周期内完成; 大多数指令(90%以上)都在一个机器周期内完成; 4、采用寄存器间运算结构:扩大通用寄存器的数量,一 采用寄存器间运算结构:扩大通用寄存器的数量,一 般不少于32个寄存器,以尽可能减少访存操作。所有指令 般不少于32个寄存器,以尽可能减少访存操作。所有指令 中,只有取(LOAD)/存(STORE )指令才可以访存, 中,只有取(LOAD) 存(STORE 其他指令的操作一律都在寄存器间进行。 5、硬联控制为主,固件实现为辅。所有简单指令直接通 硬联控制为主,固件实现为辅。所有简单指令直接通 过硬件译码和实现,从而提高指令执行速度,只有少数指 令采用微程序解释实现; 6、优化设计编译程序,以简单有效的方式来支持高级语 优化设计编译程序,以简单有效的方式来支持高级语 言的实现。
中国地质大学(武汉)计算机学院 吴湘宁
指令可以在单周期内执行完成;
■ 3、采用寄存器间运算结构,减少访存次数; ■ 4、指令以硬联组合电路实现为主,少量指令可以
用微程序解释方式执行;
■ 5、优化编译程序的设计。
中国地质大学(武汉)计算机学院
吴湘宁
19

减少CPI是RISC思想的精华
■ 任何一个程序在计算机上的执行时间可用如下
减少CPI是RISC思想的精华(续) 减少CPI是RISC思想的精华(续)
■ RISC的速度要比CISC快3~10倍左右,因为: RISC的速度要比CISC快 3~10倍左右,因为: ■ 1. 程序所执行的总指令条数IN:RISC的IN长度可能比CISC 的长30%至40%。 ■ 2.对于指令平均执行周期数CPI: RISC的CPI 多数为1, 而CISC的CPI多数为4~6。 ■ 3.对于一个周期的时间长度TC:RISC一般采用硬布线逻辑 实现, 因此,RISC的TC比CISC的TC小。
类型 CISC RISC 指令条数 IN 1 1.3~1.4 指令平均周 期数CPI 2~15 1.1~1.4
吴湘宁
公式表示:
TCPU = I N ? CPI ? TC
其中:TCPU是执行某个程序所用的CPU时间; IN是该程序包含的指令条数; ■ CPI是每条指令执行的平均时钟周期数; ■ TC是一个时钟周期的时间长度。
■ ■
周期时间 TC 33ns~5ns 10ns~2ns
中国地质大学(武汉)计算机学院
吴湘宁
中国地质大学(武汉)计算机学院
例如:Intel公司的80x86处理机的CPI在不断缩小 8088的CPI大于20 80286的CPI大约是5.5 80386的CPI进一步减小到4左右 80486的CPI已经接近2 Pentium处理机的CPI已经与RISC十分接近 目前,超标量、超流水线处理机的CPI已经达到 0.5,实际上用IPC (Instruction Per Cycle)更确切。
设计RISC机器的关键技术
■ 1、在CPU中设置大量的寄存器组,并采用
重叠寄存器窗口的技术; 重叠寄存器窗口的技术;
■ 2、指令采用重叠和流水的方式解释执行, 、指令采用重叠和流水的方式解释执行,
并采用优化延迟转移技术; 并采用优化延迟转移技术;
■ 3、在逻辑上采用硬联实现为主,适当辅以 、在逻辑上采用硬联实现为主,适当辅以
微程序解释的技术; 微程序解释的技术; ■ 4、采用优化编译技术。 、采用优化编译技术。
中国地质大学(武汉)计算机学院 吴湘宁 中国地质大学(武汉)计算机学院 吴湘宁
RISC的关键技术(简单版)
■ 1、重叠寄存器窗口技术 ■ 2、流水和优化延迟转移技术 ■ 3、以硬件为主固件为辅技术 ■ 4、优化编译技术
■ 重叠寄存器窗口(Overlapping Register Windows) 重叠寄存器窗口(Overlapping Windows)
技术: 技术:

在RISC结构中,为减少过程调用中保存现场和建立新 现场,及返回时恢复现场等辅助操作,通常设置一个 数量很大的寄存器堆,并将所有寄存器分成若干个 组,每组有若干的寄存器,称为寄存器窗口。 ■ 每个寄存器窗口又分为大小固定的三个区:高区,本 区,低区。每个过程被调用时都会被分配一个寄存器 窗口,高区用来存放调用者传来的参数,并存放返回 给调用者的参数;本区存放局部变量,低区用于在本 过程调用其他过程时传递参数给被调用过程,被调用 过程执行完后的结果也存放在此区中。 ■ 每一对调用和被调用过程之间的寄存器窗口的低区 (调用进程的)和高区(被调用进程的)相互重叠。 一旦发生过程调用和返回,由一个窗口切换到另一个 窗口时,这些参数可通过两个窗口重叠的寄存器自动 被传送,而不需额外的传送时间。
中国地质大学(武汉)计算机学院 吴湘宁
中国地质大学(武汉)计算机学院
吴湘宁
20

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

第二章计算机指令集结构 知识点汇总: 指令集设计、堆栈型机器、累加器型机器、通用寄存器型机器、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.比特的传播时延与链路带宽的关系()。 A.没有关系 B. 反比关系 C. 正比关系 D. 无法确定 2.计算机网络中可以没有的是()。 A. 客服机 B. 操作系统 C. 服务器 D.无法确定 3.在OSI参考模型中,提供流量控制的层是第(1)层;提供建立、维护和拆除端到端连接的层是(2);为数据分组提供在网络中路由功能的是(3);传输层提供(4)的数据传送;为网络层实体提供数据发送和接收功能和过程的是(5)。 (1)A. 1、2、3 B. 2、3、4 C. 3、4、5 D. 4、5、6 (2)A. 物理层 B. 数据链路层 C. 会话层 D. 传输层 (3)A. 物理层 B. 数据链路层 C. 网络层 D.传输层 (4)A. 主机进程之间 B. 网络之间 C. 数据链路层 D. 物理线路层 (5)A. 物理层 B. 数据链路层 C. 会话层 D. 传输层 4.计算机网络的基本分类方法主要有两种:一种是根据网络所使用的传输技术;另一种是根据()。 A. 网络协议 B. 网络操作系统 C. 覆盖范围与规模 D. 网络服务器类型与规模 5.计算机网络从逻辑功能上可分为()。 Ⅰ.资源子网Ⅱ.局域网Ⅲ.通信子网Ⅳ.广域网 A.Ⅱ、Ⅳ B.Ⅰ、Ⅲ B. Ⅰ、Ⅳ D. Ⅲ、Ⅳ 6. 计算机网络最基本的功能是()。 Ⅰ. 流量控制Ⅱ.路由选择 Ⅲ. 分布式处理Ⅳ. 传输控制 A. Ⅰ、Ⅱ、Ⅳ B.Ⅰ、Ⅲ、Ⅳ C. Ⅰ、Ⅳ D. Ⅲ、Ⅳ 7.世界上第一个计算机网络是()。 A.ARPANET B. 因特网 C. NSFnet D. CERNET 8. 物理层、数据链路层、网络层、传输层的传输单位(或PDU)分别是()。 Ⅰ.帧Ⅱ. 比特Ⅲ.报文段Ⅳ.数据报 A.Ⅰ、Ⅱ、Ⅳ、Ⅲ B. Ⅱ、Ⅰ、Ⅳ、Ⅲ C. Ⅰ、Ⅳ、Ⅱ、Ⅲ D. Ⅲ、Ⅳ、Ⅱ、Ⅰ 9.设某段电路的传播时延是10ms,带宽为10Mbit/s,则该段电路的时延带宽积为()。 A.2×105 bit B.4×105 bit C.1×105 bit D. 8×105 bit

计算机组织与系统结构第三章知识题目解析

第3 章习题答案 2(4)高级语言中的运算和机器语言(即指令)中的运算是什么关系?假定某一个高级语言源程序P中有乘、除运算,但机器M中不提供乘、除运算指令,则程序P能否在机器M上运行?为什么? 参考答案:(略) 3.考虑以下C语言程序代码: int func1(unsigned word) { return (int) (( word <<24) >> 24); } int func2(unsigned word) { return ( (int) word <<24 ) >> 24; } 假设在一个32位机器上执行这些函数,该机器使用二进制补码表示带符号整数。无符号数采用逻辑移位,带符号整数采用算术移位。请填写下表,并说明函数func1和func2的功能。 函数func1的功能是把无符号数高24位清零(左移24位再逻辑右移24位),结果一定是正的有符号数;而函数func2的功能是把无符号数的高24位都变成和第25位一样,因为左移24位后进行算术右移,高24位补符号位(即第25位)。

4.填写下表,注意对比无符号数和带符号整数的乘法结果,以及截断操作前、后的结果。 5.以下是两段C语言代码,函数arith( )是直接用C语言写的,而optarith( )是对arith( )函数以某个确定的M和N编译生成的机器代码反编译生成的。根据optarith( ),可以推断函数arith( ) 中M和N 的值各是多少? #define M #define N int arith (int x, int y) { int result = 0 ; result = x*M + y/N; return result; } int optarith ( int x, int y) { i nt t = x; x << = 4; x - = t; i f ( y < 0 ) y += 3; y>>2; r eturn x+y; 参考答案: 可以看出x*M和“int t = x; x << = 4; x-=t;”三句对应,这些语句实现了x乘15的功能(左

计算机组成原理第六章系统总线

第六章系统总线 第一节总线的基本概念 一、总线的分类 1.总线:计算机中连接功能单元的公共线路,是一束信号线的集合,包括数据总线、地址总线和控制总线。 2.系统总线:连接计算机系统中各个功能模块或设备的总线,作为计算机硬件系统的主干。3.内部总线:连接CPU内部各部件的总线。 4.总线的分类: ①按传送格式分为:串行总线、并行总线; ②按时序控制方式分为:同步总线、异步总线; ③按功能分为:系统总线、CPU内部总线、各种局部总线。 ④按数据传输方向分为:单工总线和双工总线,双工总线又分为半双工总线和全双工总线。历年真题 1.总线:计算机中连接功能单元的公共线路,是一束信号线的集合,包括数据总线、地址总线和控制总线。(2001年) 2.下列说法中正确的是()。(2003年) A.半双工总线只能在一个方向上传输信息,全双工总线可以在两个方向上轮流传输信息

B.半双工总线只能在一个方向上传输信息,全双工总线可以在两个方向上同时传输信息C.半双工总线可以在两个方向上轮流传输信息,全双工总线可以在两个方向上同时传输信息 D.半双工总线可以在两个方向上同时传输信息,全双工总线可以在两个方向上轮流传输信息 【分析】根据总线上信号的传递方向,总线可分为单向传输(单工)总线和双向传输(双工)总线,而双工总线又可分为半双工总线和全双工总线。其中单工总线只能向一个方向传递信号,半双工总线可以在两个方向上轮流传递信号,全双工总线可以在两个方向上同时传递信号。 【答案】C 二、总线的信息传输方式 1.串行传输:是指数据的传输在一条线路上按位进行。(只需一条数据传输线,线路的成本低,适合于长距离的数据传输)。在串行传输时,被传输的数据在发送设备中进行并行到串行的变换,在接收设备中进行串行到并行的变换。 2.并行传输:每个数据位都需要单独一条传输线,所有的数据位同时进行传输。 3.复合传输:又称总线复用的传输方式,它使不同的信号在同一条信号线上传输,不同的信号在不同的时间片中轮流地身总线的同一条信号线上发出。(它与并串传输的区别在于分时地传输同一数据源的不同信息。) 4.消息传输方式:总线的信息传输方式之一,将总线需要传送的数据信息、地址信息、和控制信息等组合成一个固定的数据结构以猝发方式进行传输。

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

第二章 2.13 在一台单流水线多操作部件的处理机上执行下面的程序,每条指令的取指令、指令译码需要一个时钟周期,MOVE、ADD和MUL操作分别需要2个、3个和4个时钟周期,每个操作都在第一个时钟周期从通用寄存器中读操作数,在最后一个时钟周期把运算结果写到通用寄存器中。 k: MOVE R1,R0 ;R1← (R0) k+1: MUL R0,R2,R1 ;R0← (R2)×(R1) k+2: ADD R0,R2,R3 ;R0← (R2)+(R3) (1)就程序本身而言,可能有哪几种数据相关? (2)在程序实际执行过程中,哪几种数据相关会引起流水线停顿? (3)画出指令执行过程的流水线时空图,并计算完成这3条指令共需要多少个时钟周期? 解:(1)就程序本身而言,可能有三种数据相关。若3条指令顺序流动,则k指令对R1寄存器的写与k+1指令对R1寄存器的读形成的“先写后读”相关。若3条指令异步流动,则k指令对R0寄存器的读与k+1指令对R0寄存器的写形成的“先读后写”相关,k+2指令对R0寄存器的写与k+1指令对R0寄存器的写形成的“写—写”相关。 (2)在程序实际执行过程中,二种数据相关会引起流水线停顿。一是“先写后读”相关,k指令对R1的写在程序执行开始后的第四个时钟;k+1指令对R1的读对指令本身是第三个时钟,但k+1指令比k指令晚一个时钟进入流水线,则在程序执行开始后的第四个时钟要读R1。不能在同一时钟周期内读写同一寄存器,因此k+1指令应推迟一个时钟进入流水线,产生了流水线停顿。二是“写—写”相关,k+1指令对R0的写对指令本身是第六个时钟,而要求该指令进入流水线应在程序执行开始后的第三个时钟,所以对R0的写是在程序执行开始后的第八个时钟。k+2指令对R0的写对指令本身是第五个时钟,而k+2指令比k+1指令晚一个时钟进入流水线,则在程序执行开始后的第四个时钟,所以对R0的写是在程序执行开始后的第八个时钟。不能在同一时钟周期内写写同一寄存器,因此k+2指令应推迟一个时钟进入流水线,产生了流水线停顿。另外,可分析“先读后写”相关不会产生流水线的停顿。 (3)由题意可认位该指令流水线由六个功能段取指、译码、取数、运一、运二和存数等组成,则程序指令执行过程的流水线时空图如下图所示。若3条指令顺序流动,共需要9个 空间 存数 K存数 K+1存数 K+2存数 运二 K+1运二 运一 K+1运一 K+2运一 取数 K取数 K+1取数 K+2取数 译码 K译码 K+1译码 K+2译码 取指 K取指 K+1取指 K+2取指时间 0 1 2 3 4 5 6 7 8 9

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

第一章计算机系统结构的基本概念 历年真题精选 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. 控制机构的组成

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

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

第二章数据表示与指令系统 历年真题精选 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.1】计算机网络可以被理解为() A.执行计算机数据处理的软件模块 B.由自主计算机互连起来的集合体 C.多个处理器通过共享内存实现的紧耦合系统 D.用于共同完成一项任务的分布式系统 【例 1.2】广域网中广泛采用的拓扑结构是() A.树型 B.网状 C星型 D.环型 【例 1.3】局域网与广域网之间的差异不仅仅在于它们所能覆盖的地理范围不同,而且还在于() A.所使用的传输介质不同 B.所提供的服务不同 C.所能支持的通信量不同 D.所使用的协议不同 【例 1.4】OSI参考模型中,网络层、数据链路层和物理层传输的协议数据单元(PDU)分别称为() A. 报文(message)、帧(frame)、比特(bit) B. 分组(packet)、报文(message)、比特(bit) C. 分组(packet)、帧(frame)、比特(bit) D. 数据报(datagram)、帧(frame)、比特(bit) 【例 1.5】在TCP/IP协议簇的层次中,解决计算机之间通信问题的是() A.网络接口层 B.网络层 C.运输层 D.应用层 【例 1.6】在OSI参考模型中,服务原语可划分为4类,包括请求、指示、响应和() A.答复 B.确认 C.应答 D.接收 【例 1.7】一个系统的协议结构有N层,应用程序产生M字节长的报文,

网络软件在每层加上h字节的协议头,网络带宽中有多大比率用于协议头信息的传输? 【例 1.8】请描述OSI模型中数据流动的过程。 精选试题练习 【题 1.1】计算机网络可以被看成是自治的计算机系统的集合,其中“自治的计算机”主要指() A.可以独立运行的计算机 B.网络计算机 C.裸机 D.网络终端 【题 1.2】将计算机与计算机之间连接起来实现资源共享和数据通信,属于计算机网络发展的() A.联机系统阶段 B.计算机网络阶段 C.标准化网络阶段 D.网络互连和高速网络阶段 【题 1.3】计算机网络中可以共享的资源包括() A.客户机和服务器 B.硬件、软件和数据 C.主机、CPU、内存和外部设备 D.计算机和传输介质 【题 1.4】一下不属于协议的三要素的是() A.语法 B.语义C.时序 D.异步 【题1.5】通信协议包括了对通信过程的说明,规定了应当发出哪些控制信息,完成哪些动作以及做出哪些应答,并对发布请求、执行动作以及返回应答予以解释。这些说明描述了协议的() A.语法 B.语义C.时序 D.异步 【题 1.6】下列不是网络模型进行分层的目标的是() A.提供标准语言 B.定义标准界面

计算机系统的体系结构第六章

第六章课后题 1.画出16台处理器仿ILLIAC Ⅳ的模式进行互连的互连结构图,列出PE0分别只经一步、二步和三步传送能将信息传送到的各处理器号。 答: 6台处理器仿ILLIAC Ⅳ处理单元的互连结构如图所示: 图中第个PU中包含PE、PEM和MLU。 PE0(PU0)经一步可将信息传送至PU1、PU4、PU12、PU15。 PE0(PU0)至少需经二步才能将信息传送至PU2、PU3、PU5、PU8、PU11、PU13、PU1 4。 PE0(PU0)至少需经三步步才能将信息传送至PU6、PU7、PU9、PU10。 2.编号为0、1、...、15的16个处理器,用单级互连网互连。当互连函数分别为 (1)Cube3 (2)PM2+3 (3)PM2-0 (4)Shuffle (5)Shuffle(Shuffle)

时,第13号处理器各连至哪一个处理器? 解答: (1)5号处理器 (2)5号处理器 (3)12号处理器 (4)11号处理器 (5)7号处理器 剖析: 由题意知,有16个处理器,即N=16,n=log2(N)=log2(16)=4。 Cube3(13)=Cube3(1101)=0101=5 PM2+3(13)=(13+2^3)mod16=5 PM2-0(13)=(13-2^0)mod16=12 Shuffle(13)=Shuffle(1101)=1011=11 Shuffle(Shuffle)=Shuffle(11)=Shuffle(1011)=0111=7 3.编号分别为0、1、2、...、F的16个处理器之间要求按下列配对通信:(B、1),(8、2),(7、D),(6、C),(E、4),(A、0),(9、3),(5、F)。试选择所用互连网络类型、控制方式,并画出该互连网络的拓补结构和各级交换开关状态图。 解答: 采用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结尾,字节地址结尾任意。 可能出现的各种情况如下:

计算机系统结构作业答案第三章(张晨曦)

3.1 -3.3为术语解释等解答题。 3.4 设一条指令的执行过程分为取指令,分析指令和执行指令3个阶段,每个阶段所需时间分别为ΔT, ΔT, 2ΔT,分别求出下列各种情况下,连续执行N条指令所需的时间。 (1) 顺序执行方式 (2) 只有“取指令”与“执行指令”重叠 (3) “取指令”,“分析指令”与“执行指令”重叠 解: (1) 4NΔT (2) (3N+1) ΔT (3) 2(N+1) ΔT 3.6 解决流水线瓶颈问题有哪两种常用方法? 解: (1) 细分瓶颈段 将瓶颈段细分为若干个子瓶颈段 (2) 重复设置瓶颈段 重复设置瓶颈段,使之并行工作,以此错开处理任务 3.9 列举下面循环中的所有相关,包括输出相关,反相关,真数据相关。 for(i = 2; i < 100; i=i+1) { a[i] = b[i] + a[i]; -----(1) c[i+1] = a[i] + d[i]; -----(2) a[i-1] = 2*b[i]; -----(3) b[i+1] = 2*b[i]; -----(4) } 解: 输出相关:第k次循环时(1)与第k+1轮时(3) 反相关:第k次循环时(1)和(2)与第k-1轮时(3) 真数据相关:每次循环(1)与(2),第k次循环(4)与k+1次循环(1),(3),(4) 3.12 有一指令流水线如下所示 50ns 50ns 100ns 200ns (1)求连续如入10条指令的情况下,该流水线的实际吞吐率和效率 (2)该流水线的“瓶颈”在哪一段?请采用两种不同的措施消除此“瓶颈”。对于你所给出 的两种新的流水线连续输入10条指令时,其实际吞吐率和效率各是多少? 解:(1)(m表示流水线级数,n 表示任务数)

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

第六章向量处理机 1.在大型数组的处理中常常包含向量计算,按照数组中各计算相继的次序,我们可以把向量处理方法分为哪三种类型? 横向处理方式,纵向处理方式,纵横处理方式 横向处理方式:向量计算是按行的方式从左至右横向的进行 纵向处理方式:向量计算是按列的方式自上而下纵向的进行 纵横处理方式:横向处理和纵向处理相结合的方式 2.解释下列与向量处理有关的术语。 (1)向量和标量的平衡点:为了使向量硬件设备和标量设备的利用率相等,一个程序中向量代码所占的百分比 (2)用户代码的向量化比值:用户代码可向量化的部分占全部的比重 (3)向量化编译器或量化器:将标量运算进行向量化或者将向量运算进行适当的修改使之能够进入向量处理进行向量处理的编译器 3.简要叙述提高向量处理机性能的常用技术 (1)链接技术 (2)向量循环或分段开采技术 (3)向量递归技术 (4)稀疏矩阵的处理技术 4.下述的几个需要解决的问题中,那个是向量处理机所最需要关心的? A.计算机指令的优化技术 B.设计满足运算器带宽要求的存储器 C.如何提高存储器的利用率,增加存储器系统的容量 D.纵横处理方式的划分问题 5.假设系统在向量模式下面能够达到9Mflops,在标量模式下能够达到1Mflops速度,而代码的90%是向量运算,10%是标量运算,这样花在两种模式上的计算时间相等。那么向量平衡点是: A.0.1 一个程序中向量代码所占的百分比 D.以上都不是 6.查看下面三条指令: V3←A V2←V0+V1 V4←V2*V3 假设向量长度小于64,且前后其他的指令均没有相关性,数据进入和流出每个功能部件,包括访问存储器都需要一拍的时间,假设向量的长度为N。三条指令全部采用串行的方法,那么执行的时间是: +20 +21 +22 +23 7.下面一组向量操作能分成几个编队?假设每种流水功能部件只有一个。 LV V1,Rx ;取向量 MULTSV V2,F0,V1;向量和标量相乘 LV V3,Ry ;取向量Y

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

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

C.11011101 D.10001110 4.浮点数尾数基值rm=8,尾数数值部分长6位,可表示的规格化最小正尾数为。(C) 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、符号位为1 D、符号位进位和最高数位进位异或结果为1 7.运算器的主要功能时进行。(C) A、逻辑运算 B、算术运算 C、逻辑运算和算术运算 D、只作加法 8.运算器虽有许多部件组成,但核心部件是。(B) A、数据总线 B、算术逻辑运算单元 C、多路开关 D、累加寄存器 9.在定点二进制运算中,减法运算一般通过来实现。(D) A、原码运算的二进制减法器 B、补码运算的二进制减法器 C、补码运算的的十进制加法器 D、补码运算的的二进制加法器 10.ALU属于部件。(A) A、运算器 B、控制器 C、存储器 D、寄存器 三、判断题(10每题2分) 1.计算机表示的数发生溢出的根本原因是计算机的字长有限。(错误)

计算机体系结构第三章答案

第三章答案 三、流水线技术(80空) 1、对阶尾数相加 2、求阶差规格化 3、时间流水线的各段 4、尽量相等流水线的瓶颈 5、通过时间大量重复的时序输入端能连续地提供任务 6、静态动态 7、部件级处理机级 8、标量流水处理机向量流水处理机 9、线性流水线非线性流水线 10、执行/有效地址计算周期存储器访问/分支完成周期 11、译码读寄存器 12、ALUoutput←A op B ALUoutput←NPC + Imm 13、分支 STORE指令 14、ALU指令 LOAD指令 15、单周期多周期 16、重复设置指令执行功能部件流水 17、吞吐率等功能非流水线 18、通过时间排空时间 19、流水线寄存器的延迟时钟扭曲 20、数据相关控制相关 21、结构相关数据相关 22、结构数据 23、硬件开销功能单元的延迟 24、写后读读后写写后读 25、写后读读后写 26、PC值改变为分支转移的目标地址PC值保持正常(等于当前值加4) 27、目标地址分支转移条件不成立 28、8 存储器 29、多功能线性8 30、水平处理方式垂直处理方式 31、纵向处理方式纵横处理方式 32、存储器向量寄存器 33、访问存储器的次数对存储器带宽的要求 34、每秒执行多少指令(MIPS)每秒取得多少个浮点运算结果(MFLOPS) 35、512 8 36、链接技术向量循环或分段开采技术 37、源向量结果向量 38、向量功能部件标量寄存器向量寄存器块 39、向量寄存器向量功能部件 3.1流水线的基本概念 1、流水线:将一个重复的时序过程,分解为若干个子过程,而每一个子过程都可有效地在

其专用功能段上与其他子过程同时执行。 2、单功能流水线:只能完成一种固定功能的流水线。 3、多功能流水线:流水线的各段可以进行不同的连接,从而使流水线在不同的时间,或者在同一时间完成不同的功能。 4、静态流水线:同一时间内,流水线的各段只能按同一种功能的连接方式工作。 5、动态流水线:同一时间内,当某些段正在实现某种运算时,另一些段却在实现另一种运算。 6、部件级流水线:(运算操作流水线)把处理机的算术逻辑部件分段,以便为各种数据类型进行流水操作。 7、处理机级流水线:(指令流水线)把解释指令的过程按照流水方式处理。 8、线性流水线:指流水线的各段串行连接,没有反馈回路。 9、非线性流水线:指流水线中除有串行连接的通路外,还有反馈回路。 10、标量流水处理机:处理机不具有向量数据表示,仅对标量数据进行流水处理。 11、向量流水处理机:处理机具有向量数据表示,并通过向量指令对向量的各元素进行处理。 3.2 DLX 的基本流水线 12、固定字段译码:在DLX指令多周期实现中,由于DLX指令格式中操作码在固定位置,且都是6位编码,在指令执行的第二个时钟周期,指令译码和读寄存器并行进行,这种技术称为固定字段译码。 13、吞吐率:吞吐率是指单位时间内流水线所完成的任务数或输出结果的数量。 14、最大吞吐率:最大吞吐率是指流水线在连续流动达到稳定状态后所得到的吞吐率。 15、流水线效率:由于流水线有通过时间和排空时间,所以流水线的各段并不是一直满负荷地工作。效率是指流水线的设备利用率。 3.3流水线中的相关 16、结构相关:某些指令组合在流水线中重叠执行时,发生资源冲突,则称该流水线有结构相关。 17、数据相关:当指令在流水线中重叠执行时,流水线有可能改变指令读/写操作的顺序,使得读/写操作顺序不同于它们非流水实现时的顺序,将导致数据相关。 18、定向:将计算结果从其产生的地方直接送到其他指令需要它的地方,或所有需要它的功能单元,避免暂停。 19、Load互锁:由Load指令引起的RAW相关,当检测到相关后,控制部件必须在流水线中插入暂停周期,并使IF和ID段中的指令停止前进。 20、写后读相关:两条指令i,j,i在j前进入流水线,j执行要用到i的结果,但当其在流水线中重叠执行时,j可能在i写入其结果之前就先行对保存该结果的寄存器进行读操作,得到错误值。 21、读后写相关:两条指令i,j,i在j前进入流水线,j可能在i读某个寄存器之前对该寄存器进行写操作,导致i读出数据错误。 22、写后写相关:两条指令i,j,i在j前进入流水线,j、i的操作数一样,在流水线中重叠执行时,j可能在i写入其结果之前就先行对保存该结果的寄存器进行写操作,导致写错误。 3.4MIPS R4000 流水线计算机 3.5向量处理机

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

第六章输入输出系统 知识点汇总 系统响应时间、存储外设可靠性能参数(可靠性/可用性/可信性)、RAID、CPU与外设进行输入/输出方式(程序查询、中断、DMA、通道)、分离事务总线、同步总线、异步总线、通道处理机功能、通道处理工作过程、字节多路通道、选择通道、数组多路通道、通道流量(最大流量、实际流量) 简答题 1.反映存储外设可靠性能的参数有哪些?(知识点:存储外设可靠性能参数) 答:(1)可靠性:系统从初始状态开始一直提供服务的能力。 (2)可用性:系统正常工作时间在连续两次正常服务间隔时间中所占的比率。 (3)可信性:服务的质量,即在多大程度上可以合理地认为服务是可靠的。 2.简述同步总线和异步总线的优缺点。(知识点:同步总线、异步总线) 答:(1) 同步总线。同步总线上所有设备通过统一的总线系统时钟进行同步。同步总线成本低,因为它不需要设备之间互相确定时序的逻辑。但是同步总线也有缺点,总线操作必须以相同的速度运行。 (2) 异步总线。异步总线上的设备之间没有统一的系统时钟,设备自己内部定时。设备之间的信息传送用总线发送器和接收器控制。异步总线容易适应更广泛的设备类型,扩充总线时不用担心时钟时序和时钟同步问题。但在传输时,异步总线需要额外的同步开销。 3.简述通道完成一次数据传输的主要过程。(知识点:通道处理工作过程) 答:(1) 在用户程序中使用访管指令进入管理程序,由CPU通过管理程序组织一个通道程序,并启动通道。 (2) 通道处理机执行CPU为它组织的通道程序,完成指定的数据I/O工作。 (3) 通道程序结束后向CPU发中断请求。CPU响应这个中断请求后,第二次进入操作系统,调用管理程序对I/O中断请求进行处理。 4.简述三种通道传输方式及其传输过程。(知识点:字节多路通道、选择通道、数组多路通道) 答:(1) 字节多路通道:通道每连接一个外围设备,只传送一个字节,然后又与另一台设备连接,并传送一个字节。(2) 数组多路通道:通道每连接一台外围设备,传送一个数据块,传送完成后,又与另一台高速设备连接,再传送一个数据块。(3) 选择通道:通道每连接一个外围设备,就把这个设备的多有待传字节全部传送完成,然后再与另一台设备相连接。 5.简述通道的主要功能(答出5项即可)(知识点:通道处理机功能) 答:(1)选择连接设备。(2)执行通道程序。(3)给出外围设备的操作地址。(4)给出主存缓冲区的首地址。(5)传送计数。(6)传送后处理。(7)设备监测。(8)格式变换。

第2章 计算机体系结构 习题与答案说课讲解

第2章计算机体系结构习题与答案

第二章习题(P69-70) 一、复习题 1.简述冯?诺依曼原理,冯?诺依曼结构计算机包含哪几部分部件,其结构以何部件为中心? 答:冯?诺依曼理论的要点包括:指令像数据那样存放在存储器中,并可以像数据那样进行处理;指令格式使用二进制机器码表示;用程序存储控制方式工作。这3条合称冯?诺依曼原理 冯?诺依曼计算机由五大部分组成:运算器、控制器、存储器、输入设备、输出设备,整个结构一般以运算器为中心,也可以以控制器为中心。 (P51-P54) 2.简述计算机体系结构与组成、实现之间的关系。 答:计算机体系结构通常是指程序设计人员所见到的计算机系统的属性,是硬件子系统的结构概念及其功能特性。计算机组成(computer organization)是依据计算机体系结构确定并且分配了硬件系统的概念结构和功能特性的基础上,设计计算机各部件的具体组成,它们之间的连接关系,实现机器指令级的各种功能和特性。同时,为实现指令的控制功能,还需要设计相应的软件系统来构成一个完整的运算系统。计算机实现,是计算机组成的物理实现, 就是把完成逻辑设计的计算机组成方案转换为真实的计算机。计算机体系结构、计算机组成和计算机实现是三个不同的概念,各自有不同的含义,但是又有着密切的联系,而且随着时间和技术的进步,这些含意也会有所改变。在某些情况下,有时也无须特意地去区分计算机体系结构和计算机组成的不同含义。 (P47-P48) 3.根据指令系统结构划分,现代计算机包含哪两种主要的体系结构? 答:根据指令系统结构划分,现代计算机主要包含:CISC和RISC两种结构。(P55) 4.简述RISC技术的特点? 答:从指令系统结构上看,RISC 体系结构一般具有如下特点: (1) 精简指令系统。可以通过对过去大量的机器语言程序进行指令使用频度的统计,来选取其中常用的基本指令,并根据对操作系统、高级语言和应用环境等的支持增设一些最常用的指令; (2) 减少指令系统可采用的寻址方式种类,一般限制在2或3种; (3) 在指令的功能、格式和编码设计上尽可能地简化和规整,让所有指令尽可能等长; (4) 单机器周期指令,即大多数的指令都可以在一个机器周期内完成,并且允许处理器在同一时间内执行一系列的指令。 (P57-58) 5.有人认为,RISC技术将全面替代CISC,这种观点是否正确,说明理由?答:不正确。与CISC 架构相比较,RISC计算机具备结构简单、易于设计和程序执行效率高的特点,但并不能认为RISC 架构就可以取代CISC 架构。事实上,RISC 和CISC 各有优势,CISC计算机功能丰富,指令执行更加灵活,这些时RISC计算机无法比拟的,当今时代,两者正在逐步融合,成为CPU设计的新趋势。 (P55-59)

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

第一章练习题 一、单项选择题 在下面各题的4个备选答案中,只有一个答案是正确的,请把正确答案的标号(A~D )填入题后面的括号中。 1.在计算机系统层次结构中,从低层到高层,各层相对顺序正确的是( B )。 A . 汇编语言机器级 → 操作系统机器级 → 高级语言机器级 B . 微程序机器级 → 传统机器语言机器级 → 汇编语言机器级 C . 传统机器语言机器级 → 高级语言机器级 → 汇编语言机器级 D . 汇编语言机器级 → 应用语言机器级 → 高级语言机器级 2.直接执行微指令的是( C )。 A .汇编程序 B .编译程序 C .硬件 D .微指令程序 3.对汇编语言程序员透明的是( D )。 A .浮点运算 B .程序性中断 C .存取操作数 D .I/O 方式中的DMA 访问方式 4.从计算机系统结构来看,机器语言程序员看到的机器属性是( A )。 A .编程要用到的硬件组织 B .计算机软件所要完成的功能 C .计算机各部件的硬件实现 D .计算机硬件的全部组成 5.在计算机的系统结构设计中,提高硬件功能实现的比例会( C )。 A .提高硬件的利用率 B .提高系统的性能价格比 C .提高系统的运行速度 D .减少需要的存储器容量 6.在计算机的系统结构设计中,提高软件功能实现的比例会( D )。 A .减少需要的存储器容量 B .提高系统的性能价格比 C .提高系统的解题速度 D .提高系统的灵活性 二、应用题 1. 假设某一计算机系统高速缓存Cache 的工作速度为主存的5倍,而且Cache 被访问 命中的概率为90%,那么,采用Cache 后能够使该计算机的存储系统获得多高的加速比? 解:设CPU 运行程序的访存次数为IC ,CPU 访问主存一次所需要的平均周期数为CPI M , CPU 访问Cache 一次所需要的平均周期数为CPI C 。 若不采用Cache ,所有的访存都是直接访问主存,则CPU 完成IC 次访问所需时间为: 若采用Cache ,并且已知Cache 被访问的命中率为90%,即0.9IC 次访存能够通过访问Cache 完成,另外有0.1IC 次访存需要通过访问主存完成,则CPU 完成IC 次访存所需时间为: 所以采用Cache 后,存储系统的加速比为: 2. 如果某计算机系统有3个部件可以改进,则这3个部件经过改进后达到的加速比分 别是:S 1=30,S 2=20,S 3=10。 (1) 如果部件1和部件2改进前的执行时间占整个系统执行时间的比例都是 M C CPI CPI 5 1 =IC CPI T M ?=0IC CPI IC CPI IC CPI T M M C n ?=?+?=28.01.09.057 .30==n n T T S

计算机体系结构知识点汇总

第一章计算机体系结构的基本概念 1.计算机系统结构的经典定义 程序员所看到的计算机属性,即概念性结构与功能特性。 2.透明性 在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。 3.系列机 由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。 4.常见的计算机系统结构分类法有两种:Flynn分类法、冯氏分类法Flynn分类法把计算机系统的结构分为4类: 单指令流单数据流(SISD) 单指令流多数据流(SIMD) 多指令流单数据流(MISD) 多指令流多数据流(MIMD) 5. 改进后程序的总执行时间

系统加速比为改进前与改进后总执行时间之比 6.CPI(Cycles Per Instruction):每条指令执行的平均时钟周期数 CPI = 执行程序所需的时钟周期数/IC 7.存储程序原理的基本点:指令驱动 8.冯·诺依曼结构的主要特点 1.以运算器为中心。 2.在存储器中,指令和数据同等对待。 指令和数据一样可以进行运算,即由指令组成的程序是可以修改的。 3.存储器是按地址访问、按顺序线性编址的一维结构,每个单元的位数是固定的。 4.指令的执行是顺序的 5.指令由操作码和地址码组成。 6.指令和数据均以二进制编码表示,采用二进制运算。 9.软件的可移植性 一个软件可以不经修改或者只需少量修改就可以由一台计算机移植到另一台计算机上正确地运行。差别只是执行时间的不同。我们称这两台计算机是软件兼容的。 实现可移植性的常用方法:采用系列机、模拟与仿真、统一高级语言。 软件兼容: 向上(下)兼容:按某档机器编制的程序,不加修改就能运行于比它高(低)档的机器。 向前(后)兼容:按某个时期投入市场的某种型号机器编制的程序,不加修改地就能运行于在它之前(后)投入市场的机器。 向后兼容是系列机的根本特征。 兼容机:由不同公司厂家生产的具有相同系统结构的计算机。

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