网站大量收购独家精品文档,联系QQ:2885784924

第2篇_1计算机系统机构.ppt

  1. 1、本文档共52页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 指令系统 指令系统是计算机系统结构的主要组成部分 指令系统是软件与硬件分界面的一个主要标志 指令系统是软件与硬件之间互相沟通的桥梁 指令系统与软件之间的语义差距越来越大 第二章 指令系统 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 数据表示与数据类型 数据表示的定义:数据表示是指计算机硬件能够直接识别,可以被指令系统直接调用的那些数据类型。 定点、逻辑、浮点、十进制、字符、字符串、堆栈和向量 数据类型:文件、图、表、树、阵列、队列、链表、栈、向量、串、实数、整数、布尔数、字符等。 确定哪些数据类型用数据表示实现,是软件与硬件的取舍问题。 确定数据表示的原则: 1.缩短程序的运行时间 2.减少CPU与主存储器之间的通信量 3.这种数据表示的通用性和利用率 数据表示在不断发展 如:矩阵、树、图、表及自定义数据表示等 例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次 缩短程序执行时间一倍以上。 数据表示在不断扩大,如字符串、向量、堆栈、图、表 用软件和硬件相结合的方法实现新的数据表示;例如:用字节编址和字节运算指令(相对于字编址和字运算)来支持字符串数据表示;用变址寻址方式来支持向量数据表示等 2.1.2 浮点数的设计方法 定点的问题:范围小、存储利用率小、乘除编程难 1、浮点数的表示方式 一个浮点数N可以用如下方式表示: 需要有6个参数来定义。 两个数值: m:尾数的值,包括尾数的码制(原码或补码)和数制(小数或整数) e:阶码的值,移码(偏码、增码、余码等)或补码,整数 两个基值: rm:尾数的基值,2进制、4进制、8进制、16进制和10进制等 re:阶码的基值,通常为2 两个字长: p:尾数长度,当rm =16时,每4个二进制位表示一位尾数 q:阶码长度,阶码部分的二进制位数 p和q均不包括符号位 浮点数的存储式 注:mf为尾数的符号位,ef为阶码的符号位,e为阶码的值,m为尾数的值。 2、浮点数的表数范围 尾数为原码、小数,阶码用移码、整数时,规格化浮点数N的表数范围: 尾数的规格化和表数范围 尾数补码表示时的规格化: 正尾数 负尾数 正: 负: Floating-point Representation IEEE 754 Standard 1、指数0,尾数0,表示正0和负0; 2、指数0,尾数非零,表示:N=(-1)s*(0.m)*2-127; 3、指数255,尾数0,表示+?和-? 4、指数255,尾数非零,表示NAN Floating-point Addition Floating-point Multiplication 例2.1: p=23,q=7,rm=re=2,尾数用原码、小数表示,阶码用移码、整数表示,求规格化浮点数N的表数范围。 解: 规格化浮点数N的表数范围是: 原公式: 例2.2:尾数用补码、小数表示,阶码用移码、整数表示,p=6,q=6,rm=16,re=2,求规格化浮点数N表数范围 解:规格化浮点数N在正数区间的表数范围是: 原公式: 在负数区间的表数范围是: 原公式: 3、浮点数格式的设计 定义浮点数表示方式的6个参数的确定原则: 尾数:多数机器采用原码、小数表示。采用原码制表示:加减法比补码表示复杂,乘除法比补码简单,表示非常直观。采用小数表示能简化运算,特别是乘除法运算。 阶码:一般机器都采用整数、移码表示。采用移码表示的主要原因是:浮点0与机器0一致。阶码进行加减运算时,移码的加减法运算要比补码复杂 尾数的基值rm选择2, 阶码的基值re取2, 浮点数格式设计的关键问题是: 在表数范围和表数精度给定的情况下,如何确定最短的尾数字长p和阶码字长q 例2.4:要求设计一种浮点数格式,其表数范围不小于1037,正、负数对称,表数精度不低于10-16。 解:根据表数范围的要求: 解这个不等式: 取阶码字长q=7 根据表数精度的要求,得到: 解这个不等式: 由于浮点数的字长通常为8的倍数,因此,

文档评论(0)

xiaofei2001129 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档