计算机系统结构课件3

上传人:kms****20 文档编号:51717194 上传时间:2018-08-16 格式:PPT 页数:70 大小:196.50KB
返回 下载 相关 举报
计算机系统结构课件3_第1页
第1页 / 共70页
计算机系统结构课件3_第2页
第2页 / 共70页
计算机系统结构课件3_第3页
第3页 / 共70页
计算机系统结构课件3_第4页
第4页 / 共70页
计算机系统结构课件3_第5页
第5页 / 共70页
点击查看更多>>
资源描述

《计算机系统结构课件3》由会员分享,可在线阅读,更多相关《计算机系统结构课件3(70页珍藏版)》请在金锄头文库上搜索。

1、第二章 指令系统指令系统是计算机系统结构的主 要组成部分 指令系统是软件与硬件分界面的 一个主要标志 指令系统是软件与硬件之间互相 沟通的桥梁 指令系统与软件之间的语义差距 越来越大第二章 指令系统2.1 数据表示 2.2 寻址技术 2.3 指令格式的优化设计 2.4 指令系统的功能设计2.1 数据表示主要介绍:新的研究成果,如浮点数基值的选择方法2.1.1 数据表示与数据类型2.1.2 浮点数的设计方法2.1.3 自定义数据表示2.1.1 数据表示与数据类型数据表示的定义:数据表示是指计算 机硬件能够直接识别,可以被指令系统 直接调用的那些数据类型。 定点、逻辑、浮点、十进制、字符、字 符串

2、、堆栈和向量 数据类型:文件、图、表、树、阵列 、队列、链表、栈、向量、串、实数、 整数、布尔数、字符等。 确定哪些数据类型用数据表示实现, 是软件与硬件的取舍问题。确定数据表示的原则: 1.缩短程序的运行时间 2.减少CPU与主存储器之间的通信量 3.这种数据表示的通用性和利用率数据表示在不断发展 如:矩阵、树、图、表及自定义数据表 示等2.1.2浮点数据表示主要包含三部分 (1)浮点数的表数范围(2)浮点数的表数精度(3)浮点数的表数效率2.1.2 .1浮点数的表数范围1、浮点数的表示方式 一个浮点数N可以用如下方式表示:需要有6个参数来定义。两个数值: m:尾数的值,包括尾数的码制(原码

3、或补 码)和数制(小数或整数) e:阶码的值,移码(偏码、增码、译码、余 码等)或补码,整数两个基值: rm:尾数的基值,2进制、4进制、8进制、 16进制和10进制等 re:阶码的基值,通常为2两个字长: p:尾数长度,当rm16时,每4个二进制位 表示一位尾数 q:阶码长度,阶码部分的二进制位数 p和q均不包括符号位浮点数的存储式注:mf为尾数的符号位,ef为阶码的符号位 ,e为阶码的值,m为尾数的值。 研究目的:尽量短的字长实现尽可能大的表 数范围和尽可能高的表数精度。 2、浮点数的表数范围 尾数为原码、小数,阶码用移码、整数时, 规格化浮点数N的表数范围:1位1位q位p位 mfefem

4、尾数为补码,而正数区间不变,负数区间 的表数范围为:浮点数在数轴上的分布情况 上溢上溢下溢(浮点零)NminNmax-NmaxNmin0负数区正数区尾数采用纯小数,绝对值最大的浮点数为假设有两种浮点数表示方式F1和F2F1:尾数的基值为2,阶码的长度为q1F2:尾数的基值为rm,阶码的长度为q1则两种浮点数表示方式表数范围的比值为 :2.1.2.2浮点数的表数精度表述精度也称表数误差,是由浮点数的不连续 性造成的。 绝对误差不能确定,不均匀相对误差能确定,长度确定3浮点数的规格化同一个浮点数的表示不是唯一的。0.5可表示为0.05 *101 , 50*10-2尾数用原码表示,最高位不等于零,称

5、之为规格化数。 尾数用补码表示,最高位与符号位不等,称之为规格化 数。尾数的符号位表示整个数的正负。 阶码的符号位表示把尾数扩大(缩小)N倍。规格化浮点数的表数精度主要与基值rm 和尾数长度P有关,基值越小,表数精度 越高。2.1.2.3浮点数的表数效率基值越大,表数效率越高。 定义:2.1.2.4浮点数尾数基值的选择1、字长确定 表数范围与q和rm有关 表数精度与p,rm有关 表数效率与rm有关 2、尾数基值rm,确定后,根据表数范围和 表数精度确定p和q结论1:在浮点数的字长和表数范围一定 时,尾数基值rm取2或4时,具有最高的表 数精度。 结论2:在浮点数的字长和表数精度一定 时,尾数基

6、值rm取2或4时,具有最大的表 数范围; 结论3:在浮点数的字长确定后,尾数基 值rm取2或4时,具有最高的精度和最大的 表数范围。2.1.2.5、浮点数格式的设计 定义浮点数表示方式的6个参数的确定 原则:1、尾数m的编码和码制:多数机器采用 原码、小数表示。采用原码制表示:加减 法比补码表示复杂,乘除法比补码简单, 表示非常直观。采用小数表示能简化运算 ,特别是乘除法运算。2、阶码e的数值和码制:一般机器都采 用整数、移码表示。采用移码表示的主要 原因是:浮点0与机器0一致。阶码进行加 减运算时,移码的加减法运算要比补码复 杂3、尾数的基值rm,根据上一节的结论 ,选择2,表数范围最大,误

7、差最小,效率最 高。 4、阶码的基值re,取2,基本存储单元。2.1.2.6浮点数的舍入处理1、恒舍法,积累大,不太用 2、恒置法,表数精度低,积累小 3、下舍上入法 精度高,积累误差小 4、R*舍入法 5、查表法2.2 寻址技术 寻找操作数及其他信息的地址的技术 称为寻址技术 内容:编址方式、寻址方式和定位方 式 对象:寄存器、主存储器、堆栈 和输入输出设备 方法:分析各种寻址技术的优缺点, 如何选择和确定寻址技术 2.2.1 编址方式 2.2.2 寻址方式 2.2.3 定位方式 重点是寻址方式的选择方法2.2.1 编址方式编址方式是指对各种存储设备进行编 码的方法。 主要内容:编址单位、零

8、地址空间个 数、并行存储器的编址技术、输入输出设 备的编址技术1、编址单位常用的编址单位:字编址、字节编址 、位编址、块编址等编址单位与访问字长 一般:字节编址,字访问 部分机器:位编址,字访问 辅助存储器:块编址 字节编址字访问的优缺点 有利于信息处理 地址信息浪费、存储器空间浪费 读写逻辑稍复杂 0字节位置引起的问题 2、零地址空间个数 三个零地址空间:通用寄存器、主存 储器和输入输出设备均独立编址两个零地址空间:主存储器与输入输 出设备统一编址 一个零地址空间:所有存储设备统一 编址,最低端是通用寄存器,最高端是输 入输出设备,中间为主存储器 隐含编址方式,实际上没有零地址空 间:堆栈、

9、Cache等3、输入输出设备的编址一台设备一个地址 一台设备两个地址:数据寄存器、状 态或控制寄存器一台设备多个地址。对编程增加困难 4、 并行存储器的编址技术高位交叉编址 主要目的是用来扩大存储器容量。 低位交叉编址 主要目的是提高存储器速度。2.2.2 寻址方式寻址方式:寻找操作数及数据存放单 元的方法。 主要内容:设计思想和设计方法 1、寻址方式的设计思想立即数寻址方式 用于数据比较短、源操作数 面向寄存器的寻址方式2、寄存器寻址主要优点:指令字长短、指令执行速 度快、支持向量和矩阵运算 主要缺点:不利于优化编译、现场切 换困难、硬件复杂 3、主存具体分为:直接、间接、变址(包 括相对变

10、址和动态重定位也即基址寻址)主要优缺点比较: 采用变址寻址方式编写的程序简单、易读。 对于程序员,两种寻址方式的主要差别是: 间址寻址方式:间接地址在主存储器中, 没有偏移量 变址寻址方式:基地址在变址寄存器中, 有偏移量 实现的难易程度:间址寻址方式容易 指令的执行速度:间址寻址方式慢 对数组运算的支持:变址寻址方式比较好自动变址: 在访问间接地址过程中,地址自动增减变址与间址混合时,两种方式: 前变址寻址方式:EA(X)A) 后变址寻址方式:EA(X)(A)4、堆栈寻址方式主要优点:支持高级语言,有利与编译 程序;节省存储空间 支持程序的嵌套和递归调用, 支持中断处理 主要缺点:运算速度比

11、较低,栈顶部分 设计成一个高速的寄存器堆2.2.3 定位方式逻辑地址:是指相对于本程序或本程序段的 地址。物理地址:是指程序在主存储器中使用的实 际地址。程序的主存物理地址在什么时间确定? 采用什么方式来实现? 程序需要定位的主要原因:程序的独立 性;程序的模块化设计;数据结构在程序运 行过程中,其大小往往是变化的;有些程序 本身很大,大于分配给它的主存物理空间直接定位方式:在程序装入主存储器之 前,程序中的指令和数据的主存物理就已 经确定了的称为直接定位方式。 静态定位:在程序装入主存储器的过程 中随即进行地址变换,确定指令和数据的 主存物理地址的称为静态定位方式。 动态定位:在程序执行过程

12、中,当访问 到相应的指令或数据时才进行地址变换, 确定指令和数据的主存物理地址的称为动 态定位 方式。第二章 指令系统2.1 数据表示 2.2 寻址技术 2.3 指令格式的优化设计 2.4 指令系统的功能设计2.3 指令格式的优化设计主要目标: 节省程序的存储空间 指令格式尽量规整,便于译码 研究内容: 操作码的优化表示;地址码的优化表示 2.3.1 指令的组成2.3.2 操作码的优化设计2.3.3 地址码的优化设计2.3.4 指令格式设计举例2.3.1 指令的组成一般的指令主要由两部分组成:操作码 和地址码 操作码主要包括两部分内容: 操作种类:加、减、乘、除、数据传送、 移位、转移、输入输

13、出 操作数描述: 数据的类型:定点数、浮点数、复数、字 符、字符串、逻辑数、向量 进位制:2进制、10进制、16进制 数据字长:字、半字、双字、字节操作码地址码地址码通常包括三部分内容: 地址: 直接地址、间接地址、立即数、 寄存器编号、变址寄存器编号 地址的附加信息: 偏移量、块长度、跳距 寻址方式: 直接寻址、间接寻址、立即数寻址、 变址寻址、相对寻址、寄存器寻址2.3.2 操作码的优化表示操作码的三种编码方法: 固定长度,Huffman编码、扩展编码改进操作码编码方式能够节省程序存 储空间,例如:Burroughs公司的B-1700 机操作码 编码方式整个操作系统所用 指令的操作码总位数

14、改进的 百分比 8位定长编码 4-6-10扩展编码 Huffman编码301,248 184,966 172,3460 39 432、Huffman编码法 1992年由Huffman首先提出哈夫曼压缩的基本思想:当各种事件发生的概率不均时,采用优化技术对 发生概率最高的事件用最短的位数(时间)来表示( 处理),而对出现概率较低的,用较长的位数(时间 )来表示(处理),就会导致表示(处理)的平均位 数(时间)的缩短。2、Huffman编码法 1992年由Huffman首先提出操作码的最短平均长度可通过下式计 算:其中:Pi表示第i种操作码在程序中出现的 概率 固定长操作码相对于 Huffman操

15、作码的 信息冗余量为:3、扩展编码法 Huffman操作码的主要缺点: 操作码长度很不规整,硬件译码困难 与地址码共同组成固定长的指令比较困难 扩展编码法:由固定长操作码与Huffman编码 法相结合形成2.3.3地址码的优化表示1、地址码个数的选择 (1)三地址指令 (2)二地址指令 (3)一地址指令 (4)零地址指令2、缩短地址码长度的方法: (1)用间接寻址法 (2)用变址寻址法 (3)用寄存器间接寻址法 OPC Ad As OPC Ad As1 As2OPCA OPC2.3.4 指令格式设计举例指令的长度:有固定长度和可变长度 两种 操作码长度:有固定长度和可变长度 两种例如: IBM

16、370系列机,操作码长度固定:8位指令长度有16位、32位和48位等多 种 地址个数以两地址为主 16个通用寄存器可兼做变址寄存器和基址 寄存器使用第二章 指令系统2.1 数据表示 2.2 寻址技术 2.3 指令格式的优化设计 2.4 指令系统的功能设计2.4 指令系统的功能设计 考虑的三个因素:速度、价格和灵活性 即规整性、高效性和兼容性 2.3.1 指令的组成 五类:数据传送,运算,程序控制,输入输 出,处理机控制和调试 1、数据传送类指令move, load, store 由如下三个主要因素决定: 数据存储设备的种类 数据单位:字、字节、位、数据块等 采用的寻址方式2、运算类指令考虑四个因数的组合: (1) 操作种类:加、减、乘、除、与、或 、非、异或、比较、移位、检索、转换、 匹配、清除、置位等 (2) 数据表示:定点、浮点、逻辑、十进 制、字符串、定点向量等 (3) 数据长度:字、双字、半字、字节、 位、数据块等 (4) 数据存储设备:通用寄存器、主存储 器、堆栈等3、程序控制指令主要包括三类:转移指令、调用和返回 指令、循环控制指令 转移条件有:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号