书签 分享 收藏 举报 版权申诉 / 83
上传文档赚钱

类型《计算机体系结构》第二章课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3366472
  • 上传时间:2022-08-24
  • 格式:PPT
  • 页数:83
  • 大小:1.04MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《《计算机体系结构》第二章课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    计算机体系结构 第二 课件
    资源描述:

    1、1 数据表示数据表示 一、数据表示的确定一、数据表示的确定1.何谓数据表示何谓数据表示 由硬件直接识别和处理(引用)的数据类型,2.数据表示的主要类型数据表示的主要类型 1)常用数据表示:)常用数据表示:定点数、字符串、浮点数等。2)高级数据表示:)高级数据表示:自定义、向量、堆栈数据表示 3.数据表示与系统结构的关系数据表示与系统结构的关系 1)数据表示是硬件设计基础)数据表示是硬件设计基础 2)数据表示是指令加工的对象)数据表示是指令加工的对象4.数据表示确定数据表示确定 在进行软件和硬件的功能分配时,计算机系统结构设计应考虑在机器中设置哪些数据表示,使之能对应用中用到的数据结构有高的实现

    2、效率实现效率。在定点、浮点、字符串、逻辑、十进制等基本数据表示的基础之上,根据应用的需要,考虑在机器中引入哪些高级的数据表示,以便能为数据的实现提供更好的支持(通用性通用性和利用率利用率是否较高)。1)一般计算机要选用常用的数据表示;2)对较高级的数据表示要有针对选取。当处理的数据类型较多时,可选自定义的数据。当对向量数据处理较多时,可选向量数据表示。当逆波兰表达式处理较多时,可选堆栈数据表示。二、自定义数据表示二、自定义数据表示 自定义数据表示是为缩短高级语言和机器语言的语义差距引出自定义数据表示是为缩短高级语言和机器语言的语义差距引出来的。它又有来的。它又有标志符数据表示标志符数据表示和和

    3、数据描述符数据描述符两类。两类。1.标志符标志符 1)格式)格式 类型标志 数据值类型标志数据值 2)标志位位数选取)标志位位数选取 简单的用三位标志符区分8种(23)类型 根据需要选取更多位类型标志数据值BCD码无符号数0110100001101000104十进制68(两位)如:3)使用标志位的优缺点 可简化指令系统与编译程序,便于不同数据类型的自动校验与转换。缺点:一个标志位只能对一个数据进行描述,其描述效率不高。2.描述符描述符 特征位:特征位:用来区分描述符还是非描述符。当为描述符时,才有后面的三个字段,如某机采用101表示描述符的特征位。块长度:描述数据块的个数。块首址:第一个数据单

    4、元的地址。块属性:描述数据的特征。2)使用描述符的好处)使用描述符的好处 描述相同类型的数据时,描述效率高;利用块属性也有利于对信息的保护;可当作直接寻址及间接寻址使用。直接寻址:根据描述符给出数据块的首址,直接寻址。存 储 器 一 次 间 接 存 储 器 两 次 间 接:描述符给出的仍是数据描述符可描述阵列数据:描述一个阵列可用一级、二级描述符描述。a00 a03 A=a30 a33 11011101数据000数据000110111011101 一级描述符(要求数据连续存放)分别利用两级描述符和三级描述符描述下列阵列数据。a00 a01 a02 a03 b00 b01 b02 b03 a10

    5、 a11 a12 a13 b10 b11 b12 b13A=a20 a21 a22 a23 B=b20 b21 b22 b23 a30 a31 a32 a33 b30 b31 b32 b331.解:1)两级描述符:21011610116101000000a00 000 a01:a33:.000000b00 000 b01:b33:.第一级第二级或:2)三级描述符b30 b31 b32 b33210141014101第一级第二级41014101410141014101410141014101第三级B第三级Aa00 a01 a02 a03a30 a31 a32 a33b00 b01 b02 b03

    6、三、向量数据表示三、向量数据表示 1.含义含义:有序排列的数据元素称为向量(向量数据)2.向量数据的三要素向量数据的三要素:1)基地址)基地址:存放第一个向量数据的地址;2)向量长度)向量长度:向量数据个数;3)位移量)位移量:与基地址的距离。3.根据三要素可推出参数根据三要素可推出参数 1)起始地址起始地址=基地址基地址+位移量位移量,实际参与本次操作的第一个数据(元素)的地址;2)有效向量长度有效向量长度=向量长度向量长度-位移量位移量,实际参与本次操作的向量数据个数。4.向量运算指令向量运算指令 STAR100机共有16个向量寄存器,每个寄存器用四位二进制数表示。1)格式:FGXAYBZ

    7、Ca3a2a1a0a9.有 效长 度为 7位 移量 为3基地址起始地址长度为102)说明:F F:主操作码字段,表示向量指令操作性质。主操作码字段,表示向量指令操作性质。G:辅操作码字段(根据结果,进行转移等)X X:存放源向量存放源向量A A长度及基址的寄存器号。长度及基址的寄存器号。Y Y:存放源向量存放源向量B B长度及基址的寄存器号。长度及基址的寄存器号。A A:源向量源向量A A位移量所在寄存器号。位移量所在寄存器号。B B:源向量源向量B B位移量所在寄存器号。位移量所在寄存器号。Z:控制向量长度(在G有效时)。C C:存放结果向量存放结果向量C C长度及基地址的寄存器号。长度及基

    8、地址的寄存器号。FGXAYBZC 3 3)例子:)例子:完成以下向量运算。完成以下向量运算。A A,B B向量分布如右图示。向量分布如右图示。c0=a3+b1 c0=a3+b1 c1=a4+b2 c1=a4+b2 c7=a10+b8 c7=a10+b8设:编译程序测出8、9、10、11、12号寄存器空闲,并分别存放X、A、Y、B、C,画出各寄存器及指令的内容。a3a2a1a0a10.A向量1000Hb3b2b1b0b8.B向量2000Hc3c2c1c0c7.C向量3000H FGXA YBZC 解:向量寄存器分配(无G)X=1000B111000H 8#A=1001BY=1010BB=1011

    9、BC=1100B39#10#11#12#92000H183000H 向量指令格式填写 F G X A Y B Z C向量加 1000100110101011 11005.稀疏向量的压缩1)稀疏向量含义:具有多个0元素的向量。2)压缩办法:利用有序“位向量”来指明稀疏向量中各元素的状况及所在位置。位向量的位数与向量长度相等。某元素为0时,对应位向量的位为0。某元素为非0时,对应位向量的位为1。如:稀疏向量 a000a30a5a60 有序位向量:占用5个单元节省3个单元1001011056-1127834a0=56a3=-112a5=78a6=34目的:目的:*可节省存储空间;*实际长度减少可加快

    10、运算速度。压缩向量四、堆栈数据表示四、堆栈数据表示1.含义:凡是按先进后出方式工作的特殊(存储)区域称为堆栈。2.堆栈组成方式:1)寄存器堆栈,全由寄存器构成,速度快,扩充栈容成本高。2)寄存器与存贮器结合堆栈。寄存器速度快作栈顶(需数个栈顶寄存器)。存贮器价格低扩充栈容易。3.堆栈的生长方式 通常采用向下生长方式:压入数据后,堆栈指针SP向地址减少方向变化。4.堆栈的主要作用堆栈的主要作用1)保护信息,保存现场;2)支持子程序嵌套与中断嵌套以及递归调用的正确进入与返回;3)十分有利于完成对逆波兰表达式的运算。5.逆波兰表达式及其运算逆波兰表达式及其运算1)三种表达式 数学表达式:A+B 波兰

    11、表达式:+AB 逆波兰表达式:AB+*+/-+CBDEFA 2)数学表达式的树结构 把运算符做结点。把运算元素做叶子。把 最 后 一 个 运 算 符 作 根 节 点(二 叉 树)例:(A+B)*C-D/(E+F)3)逆波兰表达式的生成)逆波兰表达式的生成 利用后序遍历树,生成逆波兰表达式要点:先左,后右,先枝叶,后结点,依次收集运算元素与运算符,直到最后一个运算符(根结点)为止。AB+C*DEF+/-4)在堆栈机上完成逆波兰表达式运算要点要点:见运算元素压入堆栈。见运算符就将次栈顶元素与栈顶元素进行相应运算,结果留在栈顶,直到最后一个运算符。A(A+B)*CCA+BDMA+BBA165432D

    12、*C+BA顶次顶顶EDM7EFE8FE+FDM9D/(E+F)M10/(A+B)*C-D/(E+F)11-+DM五、浮点数尾数的基值(五、浮点数尾数的基值(rm)选择选择 1.浮点表示N=Srp浮点数的一般形式浮点数的一般形式S 尾数(尾数(含小数点含小数点)p 阶码阶码r 基数(基值基数(基值rm)计算机中计算机中 r 取取 2、4、8、16 等等。如:如:0.23581 当当 r=2N=11.0101=0.110101210=1.1010121=1101.012-10=0.001101012100 计算机中计算机中 S 小数、可正可负小数、可正可负p 整数、可正可负整数、可正可负 规格化数

    13、规格化数二进制表示二进制表示S S小数点后的最高数值位为非小数点后的最高数值位为非0 0的浮点数称为规格化浮点数。的浮点数称为规格化浮点数。2.浮点数的一般格式3.rm影响的因素 数的表示范围 上图中阶码的位数阶码的位数P的大小主要影响浮点数的可表示的大小主要影响浮点数的可表示范围的大小范围的大小。尾数的位数m主要影响浮点数的可表示精度。当当P一定时,尾数采用什么进制(一定时,尾数采用什么进制(r)可影响)可影响数的表数的表示范围、精度及数在数轴上分布的离散程度示范围、精度及数在数轴上分布的离散程度。P在所有的机器种都时采用二进制。在所有的机器种都时采用二进制。rm=2时,m位 非0最小正尾数

    14、2-m .0001最大正尾数1-2-m .1111最大正阶2p1 0111P个1最大负阶-2p 1000P个0 最小正浮点数最小正浮点数 2-m*2-2P 非0最小尾数乘乘最大负阶-2p rm-m*rm-2P 最大的正浮点数最大的正浮点数 (1-2-m)*22P-1 最大尾数乘乘最大正阶-2p-1 (1-rm-m)*rm2P-1 正数轴上表示范围正数轴上表示范围 rm-m*rm-2P(1-rm-m)*rm2P-1 规格化浮点数个数规格化浮点数个数尾数最高数值位为非尾数最高数值位为非0 0的浮点数称为规格化浮点数的浮点数称为规格化浮点数。设:P=2,m=4 正尾数、规格化、非负阶。rm=2时,共

    15、有32个规格化浮点数1000 8/168/88/48/210019/169/89/49/2 111115/1615/815/415/2 p m00011011 rm=16时,共有60个规格化浮点数0001 1/1611625600102/16232512 111115/16152403840 m p 00011011rm=4时 m 0001101101004/164/441601015/165/452001106/166/462401117/167/472810008/168/483210019/169/4936 111115/1615/41560p 规格化浮点数的稀密度规格化浮点数的稀密度e

    16、 rm=16时 e=15/32=0.47 rm=4时 e=24/32=0.75 结论结论:rm越大,规格化浮点数分布越稀疏。精度:精度:(从e可以看出)rm大,精度低。4.rm的选择原则的选择原则应视数的表示范围决定。随着位数范围越来越大,rm有向下取的趋势。个数时,非负规格化浮点数点数的个数相同数轴以内规格化浮时,与22mrrremm习题2.分别用rm=2和8,在不包括符号位在内的p=3,m=3且非负阶、正尾数、规格化条件下 1)先列出两种rm的规格化浮点数表。2)分别计算rm=2和8条件下规格化数的个数,数的表示范围及表示比e。最小规格化浮点数的尾数的确定:最小规格化浮点数的尾数的确定:设

    17、尾数位数设尾数位数m=4 阶码部分值阶码部分值E=0 对对(0.1)r 二进制:二进制:0.1000 1/2 四进制:四进制:0.0100 1/4 八进制:八进制:0.0010 1/8 十六进制:十六进制:0.0001 1/16三、向量数据表示三、向量数据表示四、堆栈数据表示四、堆栈数据表示五、浮点数尾数的基值(五、浮点数尾数的基值(rm)选择选择 rm选择选择 浮点数的一般格式浮点数的一般格式 r rm m对数的表示个数、范围对数的表示个数、范围、精度精度、稀密度稀密度e e 的影响的影响 稀密度稀密度e e的概念的概念 规格化浮点数的概念规格化浮点数的概念 规格化浮点数的最小尾数的确定:规

    18、格化浮点数的最小尾数的确定:设尾数位数设尾数位数m=4 阶码部分值阶码部分值E=0 对对(0.1)r r=2:0.1000 1/2 r=4:0.0100 1/4 r=8:0.0010 1/8 r=16:0.0001 1/16六、下溢的处理六、下溢的处理两种溢出:运算结果超出允许范围。是指尾数右移过程中丢掉的移出位,它影响精度。负数区负数区正数区正数区下溢下溢0上溢上溢上溢上溢最小负数最小负数(绝对值最大)(绝对值最大)最大正数最大正数最小正数最小正数最大负数最大负数(绝对值最小)(绝对值最小)阶阶码码尾尾数数阶符阶符数符数符移出位移出位2.恒置恒置1法法含义:不管移出位如何,均将尾数末位置1的

    19、一种下溢处理方法。误差分析中把机器能表示的最小分辨数值定为误差分析中把机器能表示的最小分辨数值定为1 11.截断法截断法含义:对尾数移出位简单截取的一种处理方法。特点:)无下移处理线路,实现容易。)平均误差为负且较大,无法调节,只适用于对精度无要求之处。取值表右移后 尾数移出位2-1 2-2 取值 误差 综合 0 0 0 1 1 1 +3/41 0+1/21 1+1/4 10 0 1 00 1-1/41 0-1/21 1-3/40 1特点:)有了简单的下溢处理线路;)综合误差有所下降(比截断法)。3.舍入法舍入法含义:根据移出最高位进行舍取时的一种下溢处理法。)当移出的最高位(2-1)=0时,

    20、按截断法。)当移出的最高位(2-1)=1时,将尾数的末位加1。取值表 右移后移出位2-1 2-2 取值 误差综合 X 0 0 X 0+1/2 0 1 -1/4 1 0 X+1+1/2 1 1+1/4特点:)需移出最高位判别线路及尾数加1线路,比较复杂。)综合误差较小,用于对精度要求较高处,较常用。4.查表舍入法查表舍入法(ROM查表法查表法)基本思想基本思想:从n位尾数中切取K位尾数,并同移出位一起送ROM中去查表,并从表中送出K位尾数,使其综合误差趋于0。n-k位移出位k位 n位尾数n-k位k位ROM表查表送出k位 ROM表的安排原则 )当K位尾数为非全1时,按舍入法取值。)当K位尾数为全1

    21、时,按截断法取值。取值表,设K=2,两个移出位右移后尾数移出位移出位2-1 2-2取值误差综合误差 0 0 0 0 00 0 0 0 1-1/4 1 0 01+1/2 1 1+1/4 0 1 0 0 01 0 0 1-1/4 1 0 10+1/2 1 1+1/4特点:)具有最复杂的下溢线路(除舍入 法线路外,还要有ROM 表);)综合误差最小;)用在精度高的地方。1 0 0 0 10 0 0 1-1/4 1 0 11+1/2 1 1+1/4 1 1 0 0 11 0 0 1-1/4 1 0-1/2 1 1-3/4 0右移后尾数移出位2-1 2-2取值误差综合误差一、地址表示一、地址表示1.地址

    22、表示类型地址表示类型1)按所用不同进制数用二进制地址用八进制地址用十六进制地址用十进制地址2)按所指不同空间表示 存贮单元地址。I/O端口地址。寄存器地址3)按存贮管理不同 页地址 段地址 段页地址4)按访问空间数据长度不同(注意地址边界的问题)字节地址(8位)半字地址(16位)单字地址(32位)双字地址(64位)5)按编程角度 逻辑地址程序员编程使用 物理地址程序在主存中的实际存放地址 6)存储保护来分 基地址:某用户存储单元的首地址 界地址:存储保护中的界限保护2 物理地址空间的信息分布物理地址空间的信息分布1)条件:)条件:在一个具有双字存储器中,可存放多种长度数据(字节、半字、字、双字

    23、)2)紧凑存放:)紧凑存放:尽量尽量利用存储空间,将各种不同长度的数据紧凑存放,但可能出现双字、字、半字跨主存字边界存放的情况,从而增加访存时间。如:依次存放单字(单字(4字节)、双字、半字字节)、双字、半字(2字节)、字节、半字、单字、单字字节)、字节、半字、单字、单字 3)按整数边界存放:浪费了一定的空间,但保证了访问时间。浪费了一定的空间,但保证了访问时间。单字双字双字1双字双字2半字字节半字半字1半字半字2单字单字单字1单字单字2单字浪费(4字节)双字双字半字字节浪费半字半字浪费(2字节)单字单字单字二、寻址方式简介二、寻址方式简介1.三种面向的寻址方式三种面向的寻址方式 机器指令可以

    24、访问寄存器、堆栈或主存中的数,因此相应地就有面向寄存器、面向堆栈和面向主存的不同寻址方式。2.寻址方式选择原则寻址方式选择原则1)尽快获得操作数(速度)2)寻址字段位数少(省空间)3)能访问尽可能大的存储空间4)有利于循环程序设计5)有灵活多变寻址来达到同一目的访问(编程灵活)3.程序在主存中的定位技术程序在主存中的定位技术 1)静态再定位)静态再定位 目程序装入主存时,通过调用系统配备的装入程序,把目程序的逻辑地址用软的方法逐一修改成物理地址。静态再定位的优点静态再定位的优点是不需要增加任何硬件。是不需要增加任何硬件。缺点:缺点:对提高主存的利用率不利。对提高主存的利用率不利。不利于多道程序

    25、的运行环境。不利于多道程序的运行环境。2)动态再定位)动态再定位 动态再定位动态再定位的一种方法是设置基址寄存器基址寄存器和地址加法器地址加法器硬件,在程序装入主存时,只将装入主存的起始地址存入该道程序的基址寄存器基址寄存器中即可,指令的地址字段不作修改。程序在执行过程中,才形成物理地址访存。基址寻址基址寻址的方法主要是支持程序的动态再定位。变址寻址变址寻址则主要是为实现程序的循环,支持向量、数组数据的寻址使用的。动态再定位技术的进一步发展是采用映象表来进行地址的映象和变换,它可以使每个用户在机器上运行比实际主存容量大得多的程序。能由计算机硬件直接识别的指令为机器指令,所有机器指令的集合为指令

    26、系统,不同的机器类型具有不同的指令系统。一、指令主要类型一、指令主要类型 类 型任 务表 现 形 式运动类指令实现数据的传递复制传递、交换、压入、弹出算术类指令实现各种算术运算加、减、乘、除、比较等逻辑运算指令实现各种逻辑运算逻辑加、逻辑乘、异或、同或、取反等移位指令实现各种移动运算左移、右移、循环左移、循环右移等转移指令实现程序分支转移条件转移、无条件转移、转子、返回等入出指令实现信息交换输入、输出二、指令格式的优化二、指令格式的优化1.对操作码编码方法对操作码编码方法1)等长编码)等长编码 每条指令的编码位数相等 编码位数L的确定与指令条数N相关。L=log2N 例:N=7 L=3 特点:

    27、)编码规整,使控制器译码机构简单。)当指令使用频度不同时,不利于等效平均编码长度的减少,从而不利于信息的传递效率。等长法用于等长法用于RISC(精简指令系统计算机)中(精简指令系统计算机)中2)Huff man压缩编码法压缩编码法 基本思想 )频度高的指令用短码表示。)频度低的指令用较长码表示。Huff man-A方案编码树的绘制要点要点:*将指令按频度从高到低顺序排列;*在指令线之外找个根结点,并将它与两端指令连接起来形成;*其余指令分别作与频度高的那条边的多条平行线,即形成编码树。每条指令的使用频度之和为1,即N1i1PiI1 I2 I3 I4 I5 I6 I7000000111111根结

    28、点分结点编码形成 编码树上,结点与结点之间,结点与指令之间规则地加0,1。每条指令均从根结点出发,沿最短路径指向指令,依次收集途中数码,即形成编码。特点 )在指令的使用频度不相同时,有利于降低信息等效平均编码长度及信息的传送效率。)不同位数编码类型太多,使控制器的译码复杂。信息等效平均码长L的计算 N1iliPiL*3)扩展编码法 基本思想:即要考虑频度不同时,用不等长编码,又要考虑减少不同位数编码类型,使译码机构不要太复杂,采用多余一位进行扩展。两位扩展 )3/3/3方案 0 0 1 1 0 0 1 1 1 1 0 0 0 1 3 1 1 0 1 3 1 1 1 1 0 1 3 1 0 1

    29、1 1 0 1 1 1 1 1 0)2/4/8方案 0 0 2 1 0 0 0 1 0 1 0 0 0 0 1 1 0 0 1 4 1 0 1 0 0 1 1 1 0 0 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 8 1 1 1 0 0 0 1 1 1 0 0 1 1 1 1 1 0 0 1 1 1 1 0 1三位扩展三位扩展 )7/7/7方案 0 0 0 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 7 7 7 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 4 1 0 0 1 0 0 0 1 1

    30、 0 1 1 0 1 1 16 1 0 0 0 00 0 0 0 1 1 1 1 1 1 0 1 1 0 1 1 64 0 0 0 )4/16/64方案方案 1 0 0 0 1 1 1 1 1 0 0 0 1 1 1 0 1 1 例:某机7条指令使用频度分别为0.45,0.3,0.15,0.05,0.03,0.01,0.01,画Huffman-A方案的树结构,分别用等长法,H-A方案,扩展法进行编码,并分别计算各种方案编码的平均码长。(0.45+0.3+0.15+0.05+0.03+0.01+0.01=1 )N1iliPiL*IiPi等长法H-A扩展法OPliOPliOPliI1I2I3I4I

    31、5I6I7 0.45 0.30 0.15 0.05 0.03 0.01 0.0100000101001110010111030101101110111101111101111111234566000110211001101111011114信息等效平均码长L31.972.2解:解:N1i1.976*0.025*0.034*0.053*0.152*0.31*0.45li*PiL六、下溢处理六、下溢处理 下溢处理的方法下溢处理的方法、综合误差的大小、综合误差的大小 溢出位也称附加位溢出位也称附加位2 地址表示与寻址方式地址表示与寻址方式物理地址空间的信息分布物理地址空间的信息分布三种面向的寻址方式

    32、三种面向的寻址方式寻址方式选择原则寻址方式选择原则程序在主存中的定位技术程序在主存中的定位技术3 指令系统指令系统对操作码的三种编码方法对操作码的三种编码方法:2 关于信息源熵简介关于信息源熵简介1)含义:指信息源中包含的平均信息量。(理论上可以达到的最短平均码长)2)信息源熵H的计算:N1i2PiPiHlog*3.多地址指令设计多地址指令设计 某机指令字长16位,每个地址字段为4位,要求编写11条三地址指令,70条两地址指令,140条单地址指令,其余还能扩展多少条零地址指令,并写出各类指令编码示意图。4 4 4 4 OPA1A2A31)各类指令编码格式 三地址指令 0 0 0 0 11条 1

    33、 0 1 0 两地址指令两地址指令 0 0 0 0 1 0 1 1 16 1 1 1 1 0 0 0 0 1 1 0 0 16 1 1 1 1 70条 0 0 0 0 1 1 1 0 16 1 1 1 1 0 0 0 0 1 1 1 1 6 0 1 0 1 单地址指令单地址指令 0 0 0 0 1 1 1 1 0 1 1 0 16 1 1 1 1 140条 0 0 0 0 1 1 1 1 1 1 1 0 12 1 0 1 1 零地址零地址 1 1 1 1 1 1 1 0 1 1 0 0 0 0 0 0 320条 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2)可扩展零地址指

    34、令条数计算)可扩展零地址指令条数计算共可编写多少条三地址:24=16剩余三地址共可扩展多少条两地址:(24-11)*24=5*16=80剩余二地址共可扩展多少条单地址:(24-11)*24-70*24=(80-70)*16=160剩余单地址共可扩展多少条零地址:(24-11)*24-70*24-140*24 =(160-140)*16=320 三、指令系统的改进途径三、指令系统的改进途径 1.按按CISC(复杂指令系统计算机)方向发展与改进指(复杂指令系统计算机)方向发展与改进指令系统令系统l CISCCISC的改进思路的改进思路 按按CISC方向发展改进指令系统的出发点是,如何进一方向发展改

    35、进指令系统的出发点是,如何进一步增强原有指令的功能以及设置更为复杂的新指令来取代步增强原有指令的功能以及设置更为复杂的新指令来取代原先由软件子程序完成的功能,原先由软件子程序完成的功能,实现软件功能的硬化实现软件功能的硬化。从面向机器语言目标程序的优化实现、面向高级语言从面向机器语言目标程序的优化实现、面向高级语言的优化实现和面向操作系统的优化实现三个方面来改进。的优化实现和面向操作系统的优化实现三个方面来改进。1)1)面向目标程序的优化实现面向目标程序的优化实现 目标是提高包括系统软件和应用软件在内的各种机目标是提高包括系统软件和应用软件在内的各种机器语言目标程序的实现效率,即缩短目标程序的

    36、长度,器语言目标程序的实现效率,即缩短目标程序的长度,加快目标程序的执行速度,并使实现起来方便可行。加快目标程序的执行速度,并使实现起来方便可行。a.a.对使用频度高的指令加速完成,可提高指令的吞对使用频度高的指令加速完成,可提高指令的吞吐量。吐量。b.b.对经常出现的程序段,可用一条指令代替。对经常出现的程序段,可用一条指令代替。2)面向高级语言的优化实现面向高级语言的优化实现 目标是缩短高级语言和机器语言的语义差距,这样目标是缩短高级语言和机器语言的语义差距,这样可以缩短编译程序的长度和节省编译所需的时间。可以缩短编译程序的长度和节省编译所需的时间。a.对使用频度高的语句,通过增设复合指令

    37、来减少辅助对使用频度高的语句,通过增设复合指令来减少辅助操作时间。操作时间。b.在编译中优化代码生成。在编译中优化代码生成。c.改进指令系统使之与各种高级语言的语义差距都有共改进指令系统使之与各种高级语言的语义差距都有共同的减少。同的减少。d.提供多种指令系统,多种系统结构以适应不同的高级提供多种指令系统,多种系统结构以适应不同的高级语言。语言。e.发展高级语言计算机。发展高级语言计算机。3)面向面向OS(操作系统)的优化实现操作系统)的优化实现 目标是缩短目标是缩短OSOS与计算机系统结构之间的语义差,减少与计算机系统结构之间的语义差,减少OSOS的时间开销和空间开销。的时间开销和空间开销。

    38、a.操作系统的常用指令进行分析改进。操作系统的常用指令进行分析改进。b.增设专用于增设专用于OS的新指令。的新指令。c.对对OS中由软件子程序实现的某些功能进行硬化或固化。中由软件子程序实现的某些功能进行硬化或固化。d.设置专门的处理机来运行设置专门的处理机来运行OS,发展功能分布处理系统。发展功能分布处理系统。2.按按RISC方向发展与改进指令系统方向发展与改进指令系统 1)CISC结构的问题结构的问题 指令系统日趋庞大和复杂,使机器的设计周指令系统日趋庞大和复杂,使机器的设计周期延长,成本升高,错误增多,可靠性降低,系期延长,成本升高,错误增多,可靠性降低,系统检测的成本增加;统检测的成本

    39、增加;指令的操作繁杂,使执行速度降低;指令的操作繁杂,使执行速度降低;高级语言源程序的优化编译困难,编译的时高级语言源程序的优化编译困难,编译的时空开销增大;空开销增大;指令系统中,约有指令系统中,约有80的指令使用频度很低,的指令使用频度很低,利用率低,因而系统的性能价格比低。利用率低,因而系统的性能价格比低。(一般软(一般软件中简单指令约占总指令数的件中简单指令约占总指令数的80%,80%,复杂指令只有复杂指令只有约约2020;简单指令约占总运行时间的;简单指令约占总运行时间的2020,复杂,复杂指令约占总运行时间的指令约占总运行时间的8080)2)2)对策a.去掉复杂指令,复杂指令功能由

    40、软件实现,可简化电路设计b.去掉微程序,采用硬连控制方法,提高处理器速度c.简单指令有利于流水线执行d.简化电路节省了芯片面积,利于增加Cache容量3)RISC机器主要特点机器主要特点 a.精简指令的条数,使用频度很高的部分指令精简指令的条数,使用频度很高的部分指令(100);b.让指令字等长,所有指令都在一个机器周期执行完;让指令字等长,所有指令都在一个机器周期执行完;c.寻址方式简单,充分利用寄存器寻址;寻址方式简单,充分利用寄存器寻址;(23种种)d.CPU内增加通用寄存器的数目;内增加通用寄存器的数目;e.采用采用重迭寄存器窗口重迭寄存器窗口技术,有利于子程序调用时的技术,有利于子程

    41、序调用时的参数传递参数传递;f.访存指令只有访存指令只有Load/Store两种,其它的指令一律只能两种,其它的指令一律只能对寄存器进行操作。对寄存器进行操作。4)设计设计RISC机器的基本技术机器的基本技术 按设计按设计RISC机器的一般原则来精选和优化设计指机器的一般原则来精选和优化设计指令系统;在令系统;在CPU内设置大量的寄存器,并采用内设置大量的寄存器,并采用重叠寄重叠寄存器组的窗口存器组的窗口;指令采用重叠和流水的方式解释,并;指令采用重叠和流水的方式解释,并采用采用延迟转移延迟转移;优化设计高质量的编译程序。;优化设计高质量的编译程序。P65(图图2-23有错有错)RISCII:

    42、138138个个3232位寄存器,其中位寄存器,其中1010个全局个全局寄存器窗口:寄存器窗口:6 6(入高)(入高)+10+10(本)(本)+6+6(出低)(出低)延迟转移:延迟转移:(流水流水)LOAD X,R1 ADD 2,R1 BRANCH L NOP SUB R1,R2L:STORE R1,Y LOAD X,R1 BRANCH L ADD 2,R1 SUB R1,R2L:STORE R1,Y LOAD X,R1 ADD 2,R1 BRANCH L SUB R1,R2L:STORE R1,Y延迟延迟优化延迟优化延迟 5)RISC的优点的优点 简化了指令系统的设计,适合于用简化了指令系统

    43、的设计,适合于用VLSI来实现;来实现;提高了机器的运行速度和效率;降低了设计成本,提高提高了机器的运行速度和效率;降低了设计成本,提高了系统的可靠性;可以直接高效地支持高级语言的实现,了系统的可靠性;可以直接高效地支持高级语言的实现,简化了编译程序简化了编译程序(指令范围、寻址方式选择、分析、变换)(指令范围、寻址方式选择、分析、变换)。6)RISC的问题及发展趋势的问题及发展趋势 RISC的问题和不足是:的问题和不足是:加重了汇编语言程序设计的负担;加重了汇编语言程序设计的负担;目标程序所占的存贮空间量可能加大;目标程序所占的存贮空间量可能加大;对浮点运算和虚拟存贮器等的支持还不够强;对浮

    44、点运算和虚拟存贮器等的支持还不够强;对编译程序的设计质量要求较高,难度较大。对编译程序的设计质量要求较高,难度较大。今后计算机发展改进的总趋势是让今后计算机发展改进的总趋势是让RISC和和CISC两两者互相结合,取长补短。者互相结合,取长补短。本章计算绘图类题如下:本章计算绘图类题如下:1.利用描述符描述阵列数据利用描述符描述阵列数据2.已知数学表达式,画出树结构;写出逆波兰表达式已知数学表达式,画出树结构;写出逆波兰表达式3.已知已知p,m的位数,画出规格化浮点数表(的位数,画出规格化浮点数表(rm=2,4,8,16);计算浮点数的表示范围;数的个数和表示比计算浮点数的表示范围;数的个数和表

    45、示比e。4.已知指令和使用频度能用等长法,已知指令和使用频度能用等长法,H-A方案,扩展法方案,扩展法 进行编码,并指出所选方案的理由;计算等效码长,进行编码,并指出所选方案的理由;计算等效码长,确定一种优选编码方案。确定一种优选编码方案。5.多地址指令设计:已知指令字长和每个地址字段位数多地址指令设计:已知指令字长和每个地址字段位数 及及X条三地址,条三地址,Y条两地址,条两地址,Z条单地址指令,还可扩条单地址指令,还可扩展多少条零地址指令;写出各类指令编码方案。展多少条零地址指令;写出各类指令编码方案。IEEE 754 标准:标准:rm=2(单精度)短实数短实数(双精度)长实数长实数(长双

    46、精度)临时实数临时实数符号位符号位 S 阶码阶码e 尾数尾数m 总位数总位数1 8(127)23 321 11(1023)52 641 15(4095)64 80S 阶码阶码E(含阶符)(含阶符)(e位位)尾数尾数M(m位)位)数符数符小数点位置小数点位置规格化数:规格化数:小数点及最高位为小数点及最高位为“1”隐含隐含 若 E=0,M=0 则 N=0若 E=0,M0 则 N=(-1)S2-126(0.M)为非规格化数若 1E254 则 N=(-1)S2E-127(1.M)为规格化数若 E=255,M=0 则 N=如a/0(a0)若 E=255,M0 则 N=NaN(Not a Number)

    47、,如0/01 10000001 0100 0000 0000 0000 0000 000=-2(129-127)(1.25)=-5-1.5=(-1.1)2 =1 0111 1111 100 0000 0000 0000 0000 0000S=1,E=127,M=0.5,N=(-1)s2(127-127)(1.5)=-1.5移码表示法移码表示法补码表示很难直接判断其真值大小补码表示很难直接判断其真值大小如如 十进制十进制x=+21x=21x=+31x=31x+25+10101+100000+11111+10000010101+10000011111+100000大大大大错错错错大大大大正确正确正

    48、确正确0,101011,010110,111111,00001+10101 10101+11111 11111=110101=001011=111111=000001二进制二进制补码补码移码定义移码定义x 为真值,为真值,n 为为 整数的位数整数的位数移码在数轴上的表示移码在数轴上的表示x移码移码2n+112n2n 12n00真值真值如如x=10100 x移移=25+10100用用 逗号逗号 将符号位将符号位和数值位隔开和数值位隔开x=10100 x移移=25 10100 x移移=2n+x(2nx 2n)=1,10100=0,01100178.125=(10110010.001)2 浮点表示:1.0110 0100 012111 短实数:S=0,E=0000 0111+0111 1111=1000 0110 M=0110 0100 0100 0000 0000 000178.1250 1000 0110 0110 0100 0100 0000 0000 000

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:《计算机体系结构》第二章课件.ppt
    链接地址:https://www.163wenku.com/p-3366472.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库