计算机组成原理chapter2-3
计算机组成原理(第二章3)
浮点运算流水线 80x87 80486、Pentium
谢 谢!
第五步:舍入处理 在对阶、向右规格化时,尾数要向右移位, 这样被右移的尾数的低位部分会丢掉,造 成一定误差,必须进行舍入处理。 “0舍1入”法:“4舍5入”法 “恒置1”法:让尾数的最后一位=1
就近舍入 朝0舍入 朝+∞舍入 朝-∞舍入 阶码上溢: +∞、 -∞ 阶码下溢: 0 尾数上溢: 尾数的绝对值>=2,尾数右移1位 尾数下溢: 尾数右移时,尾数的最低有效位从尾 数域右端移出,要进行舍入处理
74182芯片:DIP16
图2.12
Cn+x=G0+P0Cn Cn+y=G1+P1Cn+x=G1+G0P1+P0P1Cn Cn+z=G2+P2Cn+y=G2+G1P2+G0P1P2+P0P1P2C
n
Cn+4=G3+P3Cn+z =G3+G2P3+G1P1P2+G0P1P2P3+P0P1P2P3Cn
2、逻辑表达式
表2.4
Cn+i+1=XiYi+YiCn+i+Cn+iXi =Yi+YiCn+i+Cn+iXi =Yi(1+Cn+i)+Cn+iXi =Yi+XiCn+i
Cn+1=Y0+X0Cn Cn+2=Y1+X1Cn+1=Y1+Y0X1+X0X1Cn Cn+3=Y2+X2Cn+2=Y2+Y1X1+Y0Y1X2+X0X1X2C
计算机组成原理第二章(第三讲)
[例16] 参见图2.6,已知两个不带符号的二进制整 数A = 11011,B = 10101,求每一部分乘积项aibj 的值与p9p8……p0的值。 请同学们自己完成。
本讲总结
1. 溢出及其检测方法 2.基本的二进制加/减法器(难点,熟练掌握)
理解并熟练掌握图2.3
3.十进制加法器 4.原码并行乘法(难点,掌握) 理解并掌握图2.6
[x]补=0.1011 , [x ]补 + [y ]补
[ x+y] 补
无进位
[y]补=0.1001 0.1011 0.1001 1.0100
有进位
两正数相加,结果为负,显然错误。
--运算中出现了“上溢”
[又例] x=+0.1011, y=+0.0010, 求x+y。
[解:]
[x]补=0.1011 , [x]补 + [y]补 无进位
计算机组成原理
3
2.2.3 溢出概念与检验方法
两个正数相加,结果为负(即:大于机器
所能表示的最大正数),称为上溢。 两个负数相加,结果为正(即:小于机器 所能表示的最小负数),称为下溢。 运算出现溢出,结果就是错误的。
[例12] x=+0.1011, y=+0.1001,求x+y。
[解:]
计算机组成原理?第一章计算机系统概论?第二章运算方法和运算器?第三章存储系统?第四章指令系统?第五章中央处理器?第六章总线系统?第七章外围设备?第八章输入输出系统?第九章并行组织目录计算机组成原理3?上一讲回顾1
计算机组成原理
目录
☼
☼
☼ ☼ ☼ ☼ ☼ ☼ ☼
第一章 第二章 第三章 第四章 第五章 第六章 第七章 第八章 第九章
现在我们计算一个n位的行波进位加法器的时间延迟。 假如采用图2.3(a)所示的一位全加器并考虑溢出检测,那么n 位行波进位加法器的延迟时间ta为 ta=n·2T+9T=(2n+9)T (2.24) 9T为最低位上的两极“异或”门再加正溢出“异或”门 的总时间,2T为每级进位链的延迟时间。 当不考虑溢出检测时,有 ta=(n-1)·2T+9T (2.25) ta意味着加法器的输入端输入加数和被加数后,在最坏 情况下加法器输出端得到稳定的求和输出所需的最长时间。 显然这个时间越小越好。注意,加数、被加数、进位与和数 都是用电平来表示的,因此,所谓稳定的求和输出,就是指 稳定的电平输出。
最新《计算机组成原理》第2章习题答案
最新《计算机组成原理》第2章习题答案第⼆章习题解答1.设机器数的字长8位(含1位符号位),分别写出下列各⼆进制数的原码、补码和反码:0,-0,0.1000,-0.1000,0.1111,-0.1111,1101,-1101。
解:2.写出下列各数的原码、补码和反码:7/16,4/16,1/16,±0,-7/16,-4/16,-1/16。
解:7/16=7*2-4=0.01114/16=4*2-4=0.01001/16=1*2-4=0.0001真值原码补码反码7/16 0.0111 0.0111 0.01114/16 0.0100 0.0100 0.01001/16 0.0001 0.0001 0.0001+0 O.0OOO O.0OOO O.0OOO-0 1.0OOO O.0OOO 1.1111-1/16 1.0OO1 1.1111 1.1110-4/16 1.0100 1.1100 1.1011-7/16 1.0111 1.1001 1.10003.已知下列数的原码表⽰,分别写出它们的补码表⽰:[X1]原=O.10100,[X2]原=l.10111。
解:[X1]补=0.10100,[X2]补=1.01001。
4.已知下列数的补码表⽰,分别写出它们的真值:[X1]补=O.10100,[X2]补=1.10111。
解: X1=O.10100, X2=-0.01001。
5.设⼀个⼆进制⼩数X≥0,表⽰成X=0.a1a2a3a4a5a6,其中a1~a6取“1”或“O”:(1)若要X>1/2,a1~a6要满⾜什么条件?(2)若要X≥1/8,a1~a6要满⾜什么条件?(3)若要1/4≥X>1/16,a1~a6要满⾜什么条件?解:(1) X>1/2的代码为:0.100001~0.111111。
a1=1,a2+a3+a4+a5+a6=1。
(2) X≥1/8的代码为:0.001001~0.111111(1/8~63/64)a1+a2=0,a3=1或a1=0,a2=1,或a2=1(3)1/4≥X>1/16的代码为:0.000101~0.01000(5/64~1/4)a1+a2+a3 =0, a4=1,a5+a6=1 或a1+a2=0,a3=1 或a2=1,a1+a3+a4+a5+a6=06.设[X]原=1.a1a2a3a4a5a6(1)若要X>-1/2,a1~a6要满⾜什么条件?(2)若要-1/8≥X≥-1/4,a1~a6要满⾜什么条件?解:(1) X>-1/2的代码为:1.000001~1.011111(-1/64~-31/64)。
计算机组成原理课件第2章课件
压力测试
通过长时间运行高负载任务来 测试计算机的稳定性和可靠性 。
温度和散热测试
测试计算机在高温环境下的稳 定性和散热性能。
计算机性能优化
01
02
03
04
硬件优化
通过升级硬件配置,如 更快的处理器、更大的 内存和存储空间等,提 高计算机性能。
软件优化
通过优化软件算法、操 作系统和应用程序等, 提高计算机性能。
计算机安全重要性
随着计算机技术的快速发展,计算机安全问题日益突出,保护计算机安全对于保障国家安全、社会稳定和经济发展具 有重要意义。
计算机安全威胁
计算机安全面临的威胁包括病毒、木马、黑客攻击、网络钓鱼、拒绝服务攻击等,这些威胁可能导致数 据泄露、系统瘫痪、经济损失等严重后果。
计算机安全技术
防火墙技术
感谢您的观看
THANKS
Excel
电子表格软件,用于数据处理、图表制作和 数据分析。
应用软件
PowerPoint
演示文稿软件,用于制作幻 灯片、演示文稿和会议报告 等。
图像处理软件
用于处理和编辑图像,如 Photoshop等。
图像裁剪
对图像进行裁剪,保留需要 的部分。
应用软件
色彩调整
调整图像的色彩、亮度和对比度 等参数。
数据库管理系统
用于管理大量数据,提供数据存储、检索、更新和保护功能。
系统软件
数据模型
定义数据的组织方式和数据之间的关系。
数据操作语言
用于执行数据的插入、删除、更新和检索等 操作。
数据控制语言
用于控制对数据的访问权限和数据的安全性。
应用软件
Word
文本编辑软件,用于撰写文档、排版和打印。
计算机组成原理第二章
阶码用移码,尾数用补码。
第一种浮点表示的格式为: 1000100110lllllllll0000000000000
阶符 阶码值 数符
尾数值
第二种浮点表示的格式为:
11000100101111111110000000000000
数符 阶符 阶码值
尾数值
阶码用补码,尾数用补码。
第一种浮点表示的格式为: 11111111011111110000000000000000
汉字“示”的点阵 码:
汉字库:
软字库:将汉字库存放在软盘或硬盘中, 每次需要时自动装载到计算机的内存中。
硬字库:将汉字库固化在ROM中(俗称汉 卡),再插在pc机的扩展槽中,这样不 占内存,只需要安排一个存储器空间给 字库即可。
输出汉字的过程:
将输入码转换为机内码,然后用机内码 检索字库,找到其字形点阵码,再输出 汉字。
(1)浮点数的表示格式
把字长分成阶码(表示指数)和尾数
(表示数值)两部分.假设阶码为E,尾
数为D,基数为2,则以这种格式存储的
数X可表示为
。
实际应用中,阶码通常采用补码或移码 定点整数形式,尾数通常用补码定点小 数形式表示。
格式:
第一种:
第二种:
(2)浮点数的规格化
通过调整阶码,使其尾数D满足下面形式 的数:
①原码规格化后,正数为0.1X…X的形 式;负数为1.lx…x的形式。
②补码规格化后,正数为0.1X…X的形 式;负数为1.0X…X的形式。 尾数D的真值的小数点后的第一位值 必须为1。
(3)浮点数的表示举例
例:某机用32位表示一个数,阶码部分占8位(含一 位符号位),尾数部分占24位(含一位符号位)。 试写出其浮点数表示 格式。
计算机组成原理第2章课件
位权法:把各非十进制数按权展开求和 转换公式:(N)R =an-1×Rn-1 + an-2×Rn-2 + ... +
a1×R1 + a0×R0 + a-1×R-1 + ...
示例:
694=6×102+9×101+4×100
(1011.11) 2 =1×23+0×22+1×21 +1×20 +1×2-1+ 1×2-2
十六进制数转换成二进制数:
只要将每一位十六进制数转换成相应的4位 二进制数,依次连接起来即可。
二进制与十六进制转换举例
例1:把二进制数 11010011111.01111 转换为十六进制数
(0110 1001 1111. 0111 1000)2
(6
9
F.
7
8)16
例2:把十六进制数 C2.A8 转换为二进制数 ( C 2 . A 8 )16
十进制数
R进制数
整数部分-采用除基取余法,即逐次
除以基数R,直至商为0,得出的余数 倒排,即为R进制各位的数码。
小数部分-采用乘基取整法,即逐次
乘以基数R ,从每次乘积的整数部分 得到R进制数各位的数码。
例:185.8125=?B
整数、小数部分分别转换
185 余数 2 9 2 ………1 (185)10 = (? )2 2 4 6 ………0 2 2 3 ………0 2 1 1 ………1 (185)10 =(10111001)2 2 5 ………1 2 2 ………1 2 1 ………0 0 ……… 1
2
185.8125=?B
0.8125 2 × 1.6250 … 1 0.6250 × 2 1.2500… 1 0. 2500 × 2 0. 5000… 0 0. 5000 × 2 1. 0000… 1 整 数
计算机组成原理2.3运算器.ppt
综合考虑各类定点运算算法后,发现:
所有运算都可通过“加”和“移位”操作实现
以一个或多个ALU(或加法器)为核心,加上移位器和存放中间临时 结果的若干寄存器,在相应控制逻辑的控制下,可以实现各种运算。
运算部件通常指 ALU 、移位器、寄存器组,加上用于数据选 择的多路选择器和实现数据传送的总线等构成的一个运算数 据通路。
Cn 多路选通连起来 数据组合有内外 运算功能指明白 存移输出巧安排 输入D A口地址 数据组合选择 I2 I1 I0 运算功能选择 I5 I4 I3 运算结果处理 I8 I7 I6
A L U S R 三选一 二选一
Q寄存器 Q3 三选一 Q0
B锁存器 B
A锁存器 16个 A
通用寄存器 RAM3 三选一
乘商寄存器Q Q3 三选一 Q0
B锁存器
B
A锁存器
16个 A
输入D
A口地址 B口地址
功能 8 种运算功能 8 种数据组合
通用寄存器 RAM3 三选一
RAM0
8 种结果处理
I5 I4 I3 8种运算功能 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 R+S SR RS R∨S 或 RS 与 RS RS 异或 RS
SN74182芯片的逻辑电路图
BACK
SN74181和SN74182组成16位先行进位ALU
4位ALU
4位ALU
4位ALU
4位ALU
16位级联先行进位ALU
BACK
8种数据组合(R,S)
AQ AB 0QA口地址 0B 0A DA DQ D0 通用寄存器 3位数据选择码 000 001 010 011 100 101 110 111 (写入)
计算机组成原理第二章参考答案
计算机组成原理第二章参考答案计算机组成原理第二章主要介绍了计算机的层次结构和性能指标。
以下是第二章的参考答案,详细介绍了计算机层次结构的各个层次和性能指标。
第二章:计算机的层次结构和性能指标1. 什么是计算机的层次结构?计算机的层次结构是指计算机系统中各个层次之间的相互关系和功能划分。
计算机的层次结构从上到下分为五个层次:应用层、操作系统层、汇编和机器语言层、微程序层和硬件层。
2. 请介绍计算机的五个层次结构。
- 应用层:计算机的最顶层,负责处理用户的应用程序和数据。
- 操作系统层:负责管理计算机系统的资源和控制计算机的运行。
- 汇编和机器语言层:负责将高级语言转化为机器语言,供计算机硬件执行。
- 微程序层:负责实现计算机指令的具体执行过程。
- 硬件层:计算机的最底层,包括处理器、内存、输入输出设备等硬件组件。
3. 什么是计算机的性能指标?计算机的性能指标是指衡量计算机性能优劣的指标,主要包括速度、存储容量、可靠性和成本四个方面。
4. 请介绍计算机的速度性能指标。
- 响应时间:指从用户发出请求到计算机给出响应的时间。
- 时钟周期:指计算机内部处理器的时钟周期时间。
- 主频:指处理器的时钟频率,单位为赫兹。
- MIPS:指每秒执行百万条指令数,是衡量计算机运算速度的指标。
5. 请介绍计算机的存储容量性能指标。
- 主存容量:指计算机中用于存储程序和数据的主存容量。
- 硬盘容量:指计算机中用于存储大容量数据的硬盘容量。
- 缓存容量:指计算机中用于提高数据访问速度的高速缓存容量。
6. 请介绍计算机的可靠性性能指标。
- 故障率:指计算机发生故障的概率。
- 可用性:指计算机正常工作的时间占总时间的比例。
- 容错能力:指计算机在部分组件故障时仍然可以正常工作的能力。
7. 请介绍计算机的成本性能指标。
- 硬件成本:指计算机硬件的购买和维护成本。
- 能耗成本:指计算机在运行过程中消耗的能源成本。
- 人工成本:指计算机的使用和维护所需的人力成本。
计算机组成原理第2章3-4
计 算 机 系 统 概 论
类型
逻辑符号
操作
计 算 机 组 成 原 理
2章 章
X
0类 全加器
C S
0
Y Z X
X Y +) Z ) CS X Y Z S) )
返 回
1类 全加器
C S C S C S
首页
1
计 算 机 系 统 概 论
2类 全加器
Y Z X Y Z X Y Z
+) ) C( (
2
X Y +) Z ) ( C)S ) X Y +) Z ) ( C)( S)
被除数 X 减Y 余数为负 移位 加Y 余数为正 移位 减Y 余数为负 移位 加Y 余数为正 0.101001 1.001 1.110001 < 0 1.10001 0.111 0.01101 > 0 0.1101 1.001 1.1111 < 0 1.111 0.111 0.110 > 0
+[ y]补 +[y]补 +[ y]补 +[ y]补 +[ y]补 00.1011 11.0011 11.1110 00.1101 00.1011 01.0110 11.0011 00.1001 01.0010 11.0011 00.0101 00.1010 11.0011 11.1101 余数< 0,商 余数< 0,商 0 恢复余数 余数左移 余数> 0,商 1 余数 , 余数左移 余数> , 余数 0,商 1 余数左移 余数< 商 余数 0,商 0 首页 +[y]补 +[ y]补 11.1101 00.1101 00.1010 01.0100 11.0011 00.0111 恢复余数 余数左移 余数> 0,商 1 余数 ,
《计算机组成原理》教学课件 第二章
第20页
数制与编码
第21页
(2)十进制转换为二进制。整数部分的转换采用“除2取余法”,即整数部分不 断除以2,并记下每次所得余数,所有余数按倒序排列即为相应的二进制数。小数部分的转换 则采用“乘2取整法”,并将所得整数按顺序排列。
第15页
数制与编码
(4)十六进制(Hexadecimal,用H表示)
有16个不同的数字符号(0~9,A~F),其进位规律
是“逢十六进一”。例如:
2AB.1CH=(2AB.1C)16=2×162+A×161+B×160+1×16−1 +C×16−2
其中,16称为十六进制的基数,162,161,160,16−1, 16−2称为各数位的权。
=(22.625)10
第18页
数制与编码
例2-2
将八进制数转换成十进制数。 按权展开(654.23)8
=6×82+5×81+4×80+2×8−1+3×8−2 =384+40+4+0.25+0.046 875 =(428.296 875)10
第19页
数制与编码
例2-3
将十六进制数转换成十进制数。 按权展开(3A6E.5)16
而文字、声音、图形和图像等信息要在计算机中处理,都要
事先数字化,即把声音、图形、图像等信息转换为二进制数
码。在计算机内部,各种信息都必须采用数字化编码的形式 才能传送、存储和处理加工。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
指令 I1 I2 I3 I4 I5 I6 I7 概率 0.45 0.30 0.15 0.05 0.03 0.01 0.01
把所有指令按照操作码在程序中出现的概率,自左向 右从排列好。 选取两个概率最小的结点合并成一个概率值是二者之 和的新结点,并把这个新结点与其它还没有合并的结 点一起形成新结点集合。 在新结点集合中选取两个概率最小的结点进行合并, 如此继续进行下去,直至全部结点合并完毕。 最后得到的根结点的概率值为1。 每个结点都有两个分支,分别用一位代码“0” 和“1” 表示。
内容
指令系统设计的基本原则
指令操作码的优化 指令字格式的优化
指令设计的步骤
根据应用,初拟出指令的分类和具体的指令; 试编出用该指令系统设计的各种高级语言的编 译程序; 对各种算法白那些大量测试程序进行模拟测试, 看指令系统的操作码和寻址方式效能是否都比 较高; 将程序中高频出现的指令串复合改成一条强攻 能新指令,即改用硬件方式实现;而将频度很 低的指令的操作改成基本的指令组成的指令串 来完成,即用软件方式实现;
改进的 百分比 0 39% 43%
哈夫曼(Huffman)压缩
当各种事件发生的概率不均等时,采用 优化技术对发生概率最高的事件用最短 的位数(时间)来表示(处理),而对 出现概率较低的允许用较长的位数(时 间)来表示(处理),以达到平均位数 减少的目的。
用于代码压缩、程序压缩、空间压缩和时间 压缩
0
0 0 0
1
1 1 1
0
0 1 1
0
1 0 1
0
0 0 0
1
1 1 1
0
0 1 1
0
1 0 1
1
1
0
0
0
0
0
1
1
1
0
0
0
0
0
1
写出概率表
ae=00, ae=01, ae=10, ae=11,
g=0.8*0.8=0.64 g=0.2*0.8=0.16 g=0.8*0.2=0.16 g=0.2*0.2=0.04
举例:计算一个典型的算术表达 a*b c-d x 式 ef
用三地址指令编写的程序如下
MUL X, A, B ;X←(A)×(B) ADD X, X, C ;X←(X)+(C) SUB X, X, D ;分子的计算结果在中 ADD Y, E, F ;计算分母,存入 YDIV X, X, Y ;最后结果在X单元中
又例如:把上例改为2-4等长扩展编码法,其操作码 最短平均长度为: H = (0.45+0.30+0.15)×2+ (0.05+0.03+0.01+0.01)×4 = 2.20 1 .95 信息冗余量为: R 1 11 .4 % 2 .20
7条指令的操作码扩展编码法
序号 I1 I2 I3 概率 0.45 0.30 0.15 1-2-3-5扩展编码 0 10 110 2-4等长扩展编码 00 01 10
规整性 对称性 独立性和全能性 正交性 可组合性 可扩充性
系统设计人员希望
指令码密度适中
高密度指令:强功能符合指令 优点:减少程序长度、访存次数、Cache、 虚存访问调度次数、程序运行时间; 缺点:指令系统复杂,硬件实现困难;
兼容性 适应性
指令系统的设计包含的内容
从根结点开始,沿尖头所指方向,到达属于该指令的 概率结点,把沿线所经过的代码组合起来得到这条指 令的操作码编码。 解:采用Huffman编码法所得到的操作码的平均长度 =0.45×1+0.30×2+0.15×3+0.05×4 +0.03×5+0.01×6+0.01×6=1.97(位) 熵H=0.45×1.152+0.30×1.737+0.15×2.737 +0.05×4.322+0.03×5.059+0.01×6.644 +0.01×6.644=1.95(位)
操作码的优化表示
信息源熵:信息源包含的平均信息量。
H pi log 2 pi
信息冗余量:
操作码的实际平均长度 H 操作码的实际平均长度
举例
七条指令,频度如下 I1 I2 I3 I4 I5 I6 I7 0.4 0.3 0.15 0.05 0.04 0.03 0.03
信息源熵H=2.17 信息冗余量=0.28=28%
§3 指令系统的设计和优化
指令系统是从程序设计者看到的机器的主要属性, 是软、硬件的主要界面 指令系统是计算机系统结构的主要组成部分 指令系统是软件与硬件分界面的一个主要标志 指令系统是软件与硬件之间互相沟通的桥梁 指令系统与软件之间的语义差距越来越大 指令系统的设计主要包括指令的功能(操作类型、 具体操作内容)和指令格式的设计.
1.00 1 0
0.60 1 0.30
1 0.15 1 0.06 1 0.03 (11111) I7 0 0 0.09 0.15 (110) I3 0.30 (10) I2 0.40 (0) I1
0
0 1 0 0.03 0.04 0.05 (11110) (11101) (11100) I4 I5 I6
等长地址码发挥不出操作码优化表示的作用
li limin
空白浪费 空白浪费 limax
地址码 地址码 地址码
在定长指令字内实现多种地址制
操作码 操作码 地址码 地址码 地址码 地址码 地址码
操作码
地址码
基础:初步设计的指令集。 目标:减少指令长度,提高指令性能。 优化原则:
采用高概率优先思想,对高频率指令,缩短指令长度,提高 效率,对低频率指令,主要满足功能要求; 地址码长度富裕时,采用不同的寻址方式或不同的地址制, 增加功能; 地址码长度紧张时,采用特定的寻址方式或增加指令字长, 满足功能。
画出Huffman代码树,写出代码表
ae状态 概率 Huffman代码
0 0
1 0 0 1
0.64
0.16 0.16
0
1 1 1 0 0
1 1
0.04
1 0 1
写出压缩代码表
ae=00 0bcdfgh
ae=10 11xdfgh b=c=0 ae=01 100dbch f=g=0 ae=11 101dxxh b=c=f=g=0
用普通二地址指令编写的程序
MOVE X, A ;复制临时变量到X中 MUL X, B ADD X, C SUB X, D ;X中存放分子运算结果 MOVE Y, E ;复制临时变量到Y中 ADD Y, F ;Y中存放分母运算结果 DIV X, Y ;最后结果在X单元中
操作码等长扩展编码法
指令字格式的优化
为了不降低访存取指令的速度,按整数边界存储。 操作数地址的位数
从寻址范围看:越大越好 用各种方法,压缩操作码的位数
通过采用多种不同的寻址方式、地址制、地址形 式和地址码长度以及多种指令字长,将它们与可 变长操作码的优化表示相结合,可构成冗余度尽 可能少的指令字。
信息源熵 2.09 Huffman编码 2.12 扩展编码 3.12 固定长度 4
改进操作码编码方式能够节省程序存储空间
例如:Burroughs公司的B-1700机
操作码 编码方式 8位定长编码 4-6-10扩展编码 Huffman编码
整个操作系统所用 指令的操作码总位数 301,248 184,966 172,346
平均码长
p
i 1
7
i
* li 2 .20 位
信息余量 0 .0136 1.36% 长度个数 4
扩展编码
Huffman操作码的主要缺点:
操作码长度很不规整,硬件译码困难 与地址码共同组成固定长的指令比较困难
扩展编码法:由固定长操作码与Huffman 编码法相结合形成
指令类型
非特权型:主要供应应用程序员使用, 也可供系统程序员使用,包括算术逻辑 运算、数据传送、浮点运算、字符串、 十进制运算、控制转移及系统控制等; 特权型:系统程序员使用,用户无权使 用,有启动I/O(多用户环境下)、停机 等待、存储管理保护、控制系统状态、 诊断等;
指令系统的设计
设计的原则:如何支持编译系统能高效、 简易地将源程序翻译成目标代码。
写出每个事件出现频度 找出两个时间出现频度最低的数字,相 加形成新的频度 重复(2),直到出现频度为1,建立 Huffman树 确定Huffman代码表
说明
目的:平均码长减少。 Huffma代码不唯一
0,1对换 合并次序
举例1
假设一台模型计算机共有7种不同的操作码,如果采 用固定长操作码需要3位。已知各种操作码在程序中出 现的概率如下表,计算采用Huffman编码法的操作码平 均长度,并计算固定长操作码和Huffman操作码的信息 冗余量。
R 1 H
操作码长度 1位 2位 3位 4位 5位 6位 6位
1 1 .97 3 35 %
采用3位固定长操作 码的信息冗余量为:
log 2 7
例如:把上例改为1-2-3-5扩展编码法,其操作码 最短平均长度为: H = 0.45×1+0.30×2+0.15×3+ (0.05+0.03+0.01+0.01)×5 = 2.00 1.95 R 1 2 .5 % 信息冗余量为: 2.00