计算机系统结构

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

确定数据表示的原则: 1.缩短程序的运行时间 2.减少CPU与主存储器之间的通信量 3.这种数据表示的通用性和利用率 数据表示在不断发展 如:矩阵、树、图、表及自定义数据 表示等
2.1.2 浮点数的设计方法
1、浮点数的表示方式 一个浮点数N可以用如下方式表示:
N m r
e 其中e m
r
q e
需要有6个参数来定义。 两个数值: m:尾数的值,包括尾数的码制(原码或补 码)和数制(小数或整数) e:阶码的值,移码(偏码、增码、译码、 余码等)或补码,整数
1.原码、反码、补码
(1) x=+10101 [x]原=010101 (2) x=-10101 [x]原=110101
[x]反=010101
例2.1: p=23,q=7,rm=re=2,尾数用原 码、小数表示,阶码用移码、整数表示,求规 格化浮点数N的表数范围。
解: 规格化浮点数N的表数范围是:
7 1 - 27 23 2 1 N (1 2 ) 2 2 2
即: 2
-129
N (1 2
23
) 2127
例2.3:尾数用补码、小数表示,阶码用移码、 整数表示,p=6,q=6,rm=16,re=2, 求规格化浮点数N表数范围 解:规格化浮点数N在正数区间的表数范围是:
由[x]补得到[x]移的方法是变[x]补的符号位为其反码。
最高一位为符号位,1代表正号,0代表负号。
3.浮点数的规格化
同一个浮点数的表示不是唯一的。 0.5可表示为0.05 *101 , 50*10-2 尾数用原码表示,最高位不等于零,称之为规格化数。 尾数用补码表示,最高位与符号位不等,称之为规格 化数。
十进制值 补码 +7 +6 +5 +4 +3 +2 +1 0 移码 十进制值 -1 -2 -3 -4 -5 -6 -7 -8 补码 移码 0111 1111 0110 1110 0101 1101 0100 1100 0011 1011 0010 1010 0001 1001 0000 1000 1111 0111 1110 0110 1101 0101 1100 0100 1011 0011 1010 0010 1001 0001 1000 0000
所设计浮点数格式的主要性能如下:
p 55 ( 1 r ) ( 1 2 ) m 最大尾数值:
绝对值最小的尾数值:
最大阶码:
1 rm
1 2
req 1 27 1 127
req 27 128
最小阶码:
最大正数:
req 1 p ( 1 rm ) rm
rm
1
rmre N (1 rm
q
p
) rm
re
q
1
尾数为补码,而负数区间的表数范围为:
rm
上溢
re
q
1
N (rm rm ) rm r
1 p
q
e
浮点数在数轴上的分布情况
下溢(浮点零) 上溢 负数区 正数区 -Nmin -Nmax 0 Nmin Nmax
q log2 6.95
取阶码字长q=7 根据表数精度的要求,得到:
1 2(P 1) 1016 2
解这个不等式:
log1016 p 53.2 log2
由于浮点数的字长通常为8的倍数,因此, 取尾数字长p=55,总的字长为1+1+7+55 = 64,浮点数格式如下: 1 位 1位 7位 55位 mf ef e m
浮点零:浮点零与机器零相同,64位全为0 表数效率:采用隐藏位,表数效率 = 100%
练习题: 2.2 2.3 2.14 2.15 2.5 2.6 2.10
最小负数:
req 1 p ( 1 rm ) rm
(1 2
55
)2
27 1
(1 2 55 ) 2127 1.701038
表数精度:
1 ( p 1) 1 (55 1) rm 2 255 2.78 1017 rm 2
(1 2
55
)2
2 7 1
(1 2 55) 2127 1.70 1038
最小正数:
1 req 1 27 rm 2 2129 1.47 1039 rm 2
最大负数:
1 req 1 27 rm 2 2129 1.47 1039 rm 2
2.1.1 数据表示与数据类型
数据表示的定义:数据表示是指计算机 硬件能够直接识别,可以被指令系统 直接调用的那些数据类型。 定点、逻辑、浮点、十进制、字符、 字符串、堆栈和向量 数据类型:文件、图、表、树、阵列、 队列、链表、栈、向量、串、实数、 整数、布尔数、字符等。 确定哪些数据类型用数据表示实现,是 软件与硬件的取舍问题。
16-65 N (1 166) 1663
在负数区间的表数范围是:
1 6 64 N ( ) 16 16 16 16
63
6、浮点数格式的设计 定义浮点数表示方式的6个参数的确定原则:
尾数:多数机器采用原码、小数表示。采 用原码制表示:加减法比补码表示复杂, 乘除法比补码简单,表示非常直观。采用 小数表示能简化运算,特别是乘除法运算。 阶码:一般机器都采用整数、移码表示。 采用移码表示的主要原因是:浮点0与机器 0一致。阶码进行加减运算时,移码的加减 法运算要比补码复杂
两个基值: rm:尾数的基值,2进制、4进制、8进制、 16进制和10进制等 re:阶码的基值,通常为2 两个字长: p:尾数长度,当rm=16时,每4个二进制 位表示一位尾数 q:阶码长度,阶码部分的二进制位数 p和q均不包括符号位
浮点数的存储式
1位 1位 mf ef q位 e p位 m
注:mf为尾数的符号位,ef为阶码的符号位, e为阶码的值,m为尾数的值。 2、浮点数的表数范围 尾数为原码、小数,阶码用移码、整数时, 规格化浮点数N的表数范围:
[x]补=010101
[x]反=101010
[x]补=101011
结论1: 对于正数来说,[x]原= [x]反=[x]补 即符号位为零,后面加上x的真值。
结论2: 对于负数来说,
[x]原=1+x的真值 [x]反=1+ x的真值的每一位求反 [x]补=1+ x的真值的每一位求反,最后一位加1
2. 移码
第二章 指令系统
2.1 2.2 2.3 2.4 2.5 数据表示 寻址技术 指令格式的优化设计 指令系统的功能设计 RISC指令系统
2.1 数据表示
新的研究成果,如浮点数基值的选择方法
新的数据表示方法,如自定义数据表示 2.1.1 数据表示与数据类型
2.1.2 浮点百度文库的设计方法
2.1.3 自定义数据表示
计算机系统结构 (第5讲)
主讲人: 郑纬民 教授 清华大学计算机系
计算机系统结构
第一章 第二章 第三章 第四章 第五章 基本概念 第六章 向量处理机 指令系统 第七章 互连网络 存储系统 第八章 并行处理机和 多处理机 输入输出系统 标量处理机
第二章 指令系统
指令系统是计算机系统结构的主要组 成部分 指令系统是软件与硬件分界面的一个 主要标志 指令系统是软件与硬件之间互相沟通 的桥梁 指令系统与软件之间的语义差距越来 越大
尾数的符号位表示整个数的正负。
阶码的符号位表示把尾数扩大(缩小)N倍。
2.1.2 浮点数的设计方法
1、浮点数的表示方式 一个浮点数N可以用如下方式表示:
N m r
e 其中e m
r
q e
需要有6个参数来定义。 两个数值: m:尾数的值,包括尾数的码制(原码或补 码)和数制(小数或整数) e:阶码的值,移码(偏码、增码、译码、 余码等)或补码,整数
尾数的基值rm选择2, 阶码的基值re取2, 浮点数格式设计的关键问题是: 在表数范围和表数精度给定的情况下,如 何确定最短的尾数字长p和阶码字长q 例2.5:要求设计一种浮点数格式,其表数范 围不小于1037,正、负数对称,表数精度不 低于10-16。 37 2q 1 10 2 解:根据表数范围的要求: 解这个不等式: log(log 1037 / log2 1)
相关文档
最新文档