2数据表示与指令系统.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2数据表示与指令系统

第二章 指令系统 前言 指令系统是计算机系统中软件与硬件分界面的一个主要标志。无论多么复杂、功能多么强大的软件,凡是能够在机器上直接运行的目标程序都是由一条条机器指令组成的。在计算机系统的设计和使用过程中,硬件设计人员采用各种手段实现指令系统,而软件设计人员则使用这些指令系统编制各种各样的系统软件和应用软件,用这些软件来填补硬件的指令系统与人们习惯的使用方式之间的语义差距。因此,可以说,指令系统是软件设计人员与硬件设计人员之间的一个主要分界面,也是他们之间互相沟通的一座桥梁。在计算机系统的设计过程中,指令系统的设计是非常关键的,它必须由软件设计人员和硬件设计人员共同来完成。 计算机软件的发展非常迅速,特别是从第三代 前言 计算机之后。人们希望计算机能做更多的事,其功能更加强大,使用更加方便。然而,计算机的指令系统(也包括数据表示和寻址技术等)发展相当缓慢。几十年来,指令系统变化不大,或者说没有根本的改变。指令系统与软件之间的语义差距越来越大,因此,需要用软件来填补的东西也就越来越多,软件设计的任务变得越来越繁重,开发出来的软件越来越复杂。 第一节 数据表示 第二节 寻址技术 第三节 指令格式优化设计 第四节 指令系统的功能设计 第一节 数据表示 一、数据表示 ——硬件能够直接识别,指令系统能够直接调用的数据类型。 软件希望硬件提供越来越多的数据表示。 确定哪些数据类型用数据表示实现,哪些数据类型用数据结构实现,实质上是软、硬件的主要分界面之一,也是计算机系统设计中的软件与硬件的取舍问题。 如何确定数据表示这个子集是计算机系统结构设计人员要解决的难题之一。从原理上讲,计算机系统只要有了最简单的数据表示,如定点数表示,就能用软件实现其他各种各样的数据类型,包括很复杂的数据类型。当然,这种系统的性能可能很差。相反,如果把许多很复杂的数据类型都用数据表示来实现,系统的硬件成本就会很高。 第一节 数据表示 确定哪些数据类型用数据表示来实现的原则主要有三个: 一是缩短程序的运行时间; 二是减少CPU与主存储器之间的通信量; 三是这种数据表示的通用性和利用率。 下面举两个例子来说明。 例2.1 如果用定点数据表示实现浮点运算,处理机的运算速度要降低两个数量级。如果用一台定点运算速度为每秒1千万次的计算机做科学计算,它的实际运算速度将低于每秒十万次。这是因为,当计算机系统中没有浮点数据表示时,通常要用子程序来实现浮点运算。用 第一节 数据表示 定点运算指令来实现32位的浮点运算时,平均要执行100条以上的指令。CPU与主存储器之间的通信量也将增加 100多倍。尽管增加浮点数据表示后硬件的复杂度要增加许多,但是,由于浮点数据表示的通用性好,利用率高,在以科学计算为主的计算机系统中,设置浮点数据表示是必不可少的。 例 2. 2 实现 A=A+B,A和B均为200*200的矩阵。 如果在没有向量数据表示的计算机系统上实现,一般需要6条指令,其中有4条指令要循环4万次。因此,CPU与主存储器之间的通信量为: 取指令 2+4* 40000条, 读或写数据 3* 40000个, 第一节 数据表示 共要访问主存储器 7*40000次以上。 如果在有向量数据表示的计算机系统上实现,只需要一条指令。从而减少了CPU与生存储器之间的通信量:少取指令 4 * 40000次,程序执行时间缩短了一半以上。 随着计算机系统的发展,数据表示也在不断地上移。例如,在目前的计算机系统中,字符串数据表示、向量数据表示、堆栈数据表示等已经普遍使用。有些很复杂的数据表示,如图、表等数据表示也开始在某些计算机系统中出现。 另外还应该指出,对于一些复杂的数据类型,如果用数据表示来实现,硬件的代价可能非常大,然而,如果用硬件给以适当的支持,或者说,用软件和硬件相结合的方法来实现,效果会很好。例如,用字节编址和 第一节 数据表示 字节运算指令来支持字符串数据表示。用变址寻址方式来支持向量数据表示等。 二、浮点数据表示 1. 浮点数的表示 用浮点数表示实数 固定字长的情况下浮点数表示的范围和精度取决于表示方法 阶码和尾数 一种通常的表示方法: 第一节 数据表示 用有限的可能表示数目来表示无限数目的实数 用离散的点来表示直线 引申出来的问题: 没有无穷性。没有无限趋近的概念。 离散的点之间的空白部分是不可能表示的数-------精度问题。 表示数必然是在一个有限范围内------------表示范围问题。 2。浮点数尾数的基值的选择。 什么是基。 基就是进制,计算机的定点数据的基

文档评论(0)

yurixiang1314 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档