版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章计算机系统设计基础第2章数据表示与指令系统性能分析第3章通道处理机第4章流水技术和向量处理第5章阵列计算机第6章多处理机系统第7章其它计算机结构期卫建奄梁赚始长菱啃瞧愿链贫且抱伴宏饿袖证夺算嫉疆飞伍疮诵赢馁蚌第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/20221第2章数据表示与指令系统性能分析浮点数据表示和IEEE754标准高级数据表示寻址方式与指令格式的优化设计指令系统设计的两种风格辜纵注榔鞍勺斤昨咋焚闰财疮维页籍远叹去政粥清抉墅闯椽偏衣关起杭蓬第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202222.1浮点数据表示和IEEE754标准数据表示与数据结构引入数据表示的原则浮点数据基值大小和下溢处理方法的选择酵申稿甘蔓阴支怕糖斯似彩塔贬订岔柴庐素渤诫潞纂埔菏辣豫砒莱炒搜幻第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/20224定义:具有一组值的集合,且定义了作用于该集合的操作集分类:基本类型、结构类型基本数据类型:二进制位、二进制位串、整数、十进制数、浮点数、字符、布尔数等大多数计算机系统结构都支持基本数据类型一、数据类型婴血扰爽酵怎贞吗烈零属英佳臀抿娘末岿资泽渭咽弟败透委持塔殿溪食商第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/20225结构数据类型:由一组相互有关的数据元素复合而成的数据类型数组、字符串、向量、堆栈、队列、记录等大多数系统结构只能部分地支持结构数据类型吱筐佬尹仍漳彼余墨头疵网颗习遂钢逝氓汞狗侩庞煽肘斋窃屡咀教垄提豁第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/20226二、数据表示定义:机器硬件能直接识别和引用的数据类型分类:基本数据表示、高级数据表示、自定义数据表示实际系统中,简单的、常用的、通用的数据类型采用数据表示(如int、float、stack等);复杂的数据结构一般通过数据结构或通过软硬件联合设计实现(如table、graph、tree等)翰侍诺返搞腕壬丧厌爪夜郴崩柑展涡辞椽典捷坑哲骤费钩汀禄羹撑来般机第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/20227三、数据表示与数据结构数据表示:指的是能由机器硬件直接识别和引用的数据类型。由硬件实现的数据类型数据结构:反映数据元素之间的结构关系,面向计算机系统软件、面向应用领域所需处理的数据类型。由软件实现的数据类型辗纬荚袁玖士妓蓟垛规盆憋番足辑舍湖虽包羔毁尸弱溯箔本糜辣给氨瓢卸第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/20228数据结构与数据表示的关系:--数据表示是数据结构的一个子集
--数据表示是软、硬件界面的一部分;数据结构是软件和应用的一分--数据表示的确定实质上是软硬件的取舍问题--数据结构的发展总是优先于机器的数据表示,系统结构设计者应尽可能为数据结构的实现提供更多的支持侥踢诛撩酉丫殉姬联钢灌椿宾涕舜陪娩腹燃瞳实墅钮童杜勤缅禽荷丧颠蔬第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/20229四、引入数据表示的原则原则1:系统的效率是否提高,是否减少了实现时间和所需的存储空间举例:两个200*200的二维定点数组相加无阵列型:6条指令,4条循环200*200=40000有阵列型:1条指令,减少4*40000=160000字原则2:通用性和利用率是否高通用性:是否对多种数据结构均适用利用率:硬件设置大小的选择厅簿钨徊糜瞒歹富谅税晨稿切抹证但仙垒衙犹因喧蚕步体统棉蹬峡凸吵顾第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202210五、浮点数尾数基值的选择三大特点:表数范围、表数精度和表数效率关键问题:在数据字长确定的情况下,找到具有最大表数范围、最高表数精度和最大表数效率的浮点数表示方式浮点数的表示需要六个基本参数:尾数m、阶码e的值;尾数的基rm、阶码的基re、尾数长度p(不包括符号位)、阶码长度q缆掂米哩玫嫉酶狮链径鉴拳唬已融具擅配酒协惠毯进右蔬恤选低汀刻眺买第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202211浮点数的一般格式:对任意浮点数N,可表示为:其中:表数范围在尾数采用原码、纯小数,阶码采用移码的浮点数表示方式中,规格化浮点数N的表数范围如下:之鞋驻庐惊印隘忘对染慎归抵妆梳住毗啄观冬丈鼓炎色宿幼猜饱预着埠绵第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202212进一步得出浮点数在数轴上的分布情况如图示:由以上分析可知,能表示的绝对值最大的浮点数可近似为:可见,规格化浮点数的表数范围主要与阶码的长度q和尾数的基值rm有关,表数范围随着q和rm的增加而扩大逸黔贴踏慷者嘎下道邀贤衍抚桌奥烂否楞借绣贞馁参耗袱寄承材喧暂置保第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202213表数精度
表数精度也称为表数误差,浮点数存在表数精度的根本原因是由于浮点数的不连续性造成的。例如:当q=1,m=2,rm=2,能表示的正规格化数是:1/8,3/16,1/4,3/8,1/2,3/4,1,3/2(共8个数)如果有1/2+3/4=5/4,则5/4不在这个浮点数集内。只能用1,或3/2来表示。在一般情况下,认为规格化尾数最后一位的精确度是一半,表数精度则可表示为如下形式:兄昧炸澳默阿侄奇匈迭保会希优冶巫臀舷蚌镰谤饮忙雷勘崖抚诅浑器粉牧第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202214结论:当浮点数的尾数长度相同时,尾基为2时具有最高的表数精度在机器中,一个rm进制的基值需用m’个二进制位表示,其中因此,尾数m的实际数位k为:呆拢独驮课砍蜀照阵摸星植柱贸设厕罩葫促至粤分纂骏成掳蜗鱼蘸泊延咱第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202215表数效率厘邯恰晾辕蔡改脯剖创货邮嗽帮喷哪林豆苹漏赚观廊脑产善菱窖杨昆字斜第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202216结论:浮点数的表数效率主要与尾数的基值有关。当尾基为2时,表数效率最低如:小结:浮点数尾数基值rm越大,表数范围越大,表数精度降低,表数效率越高.赦陛跟呕注腐使昂碧呜椽斟馆犁仪磁涧揍狂将柯郎貌易协紫训苍渭雷澎雷第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202217重点:在机器字长一定的情况下,如何选择尾数的基值,使浮点数的表数范围最大,表数精度和表数效率最高?分析:设浮点数表示方式F1:尾数基值rm1=2,尾数长度p1,阶码长度q1,二进制字长:L1=p1+q1+2浮点数表示方式F2:尾数基值rm2=2k,尾数长度p2,阶码长度q2,二进制字长:L2=kp2+q2+2浮点数尾数基值的选择燥凶患硬缔锋搜工巷斟乐偏浊知络秦诊霓竞佳红勘笨腋泵香裔独汇丘缄团第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202218(1)当L1=L2,且时,分析尾数基值和表数精度的关系:将上式代入p1+q1=kp2+q2可得:(注:p1用p2来表示,后面分析有用)池橡字恃湃泌纺尺卿波烛凸吮具颂诽病呈拧故撕匪冈鄂肾嘿娃来矣额埂效第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202219F1的表数精度是(由教材公式2.2得):F2的表数精度是:涪疟惠抵沦库嘶铂巴标焚腿求渠焉羔芦共褒叁吴淡哄淖盲需驻盂滑乔帛庭第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202220谁熬今介唯月娃传谢蜗仆沿揉釉装吠肛炳要结珍蠕贱铭辽流纵敬忌宿阻县第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202221由上式可见,只有当K=1(rm=2)或K=2(rm=4)时,T=1,否则T>1。由此得出结论:
结论1:在浮点数的字长和表数范围一定时,尾数基值取2或4具有最高的表数精度(2)当L1=L2,且时,分析尾数基值和表数范围的关系:
库棺彬搐谣跋沦厄峻碾人糖冠怎来折蜘妥鸣炮臻曾蹦夺咒宝声励纂旧执赊第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202222注:只有当k=1或k=2时,才有茨拍易咳迈荫脐抉碌这厄注熟禽仟射蹈修验雅杰孺仓砍孪卒圾梅垦胎租崖第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202223结论2:当浮点数的字长和表数精度确定后,尾数基值取2或4时,具有最大的表数范围综合结论:当机器字长确定后,rm取2或4时,具有最大的表数范围和最高的表数精度(但表数效率低)由于rm=2时,η=50%。但规格化浮点数尾数的最高位一定为1,故可以隐藏或省去,此时η=100%,这就是尾基为2时的隐藏位表示方法基值为2时浮点数的优化表示原理寒探帚搬坑疽悍摘琅珐大恋巫嚎碴镭戏螟舀硅眉炬泣织欺韶歧鼓滔拍玲融第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202224四种格式单精度格式:32位,阶码E=8位,尾数M=23位扩展单精度:E>=11位,M≥32位双精度格式:64位,E=11位,M=52位扩展双精度:E>=15位,M≥63位单精度格式:S(符号1位)E(阶码8位)M(尾数23位)1823S符号位EM指数尾数32位单精度形式IEEE754标准浮点数表示甸停微估登秋拟申泉问殿饱蔼该膨检疏褥国吭考廉登摇诣瘟詹戮袜稗象匣第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202225双精度格式:S(符号1位)E(阶码11位)M(尾数52位)11152S符号位EM指数尾数64位双精度形式畴剁仇呸坛柴爵再勾年滁椅技舱真涡冒擦公浴斧涉蹿振先镭劲番锗岭淆望第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202226IEEE754单精度浮点数格式:S=0,正数;S=1,负数E由8位二进制移码组成00000000:特殊数00000001:1代表:1-127=-126……规格化数11111110:254代表:254-127=12711111111:特殊数M:尾数,原码表示的纯小数(规格化,隐含1)琳敬颜粳恍讫江踞敬闲及低佐乐尸付苦徽哄暗步获鲁响艰林傅珊馏隔店掳第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202227若E=0且M=0,N为0;若E=0且M≠0,N=(-1)S·2-126·(0.M),非规格化数;若1≤E≤254,N=(-1)S·2E-127·(1.M),规格化数;若E=255且M≠0,N=NaN(非数值);若E=255且M=0,N=(-1)S∞(无穷大)。焕冗鸯淋氛粒雍半囤忽溯隘雹得沫郴熏谦谦中检枯馅蜡胰鸵脑萝妓深失触第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202228例题:1.将IEEE754单精度数(8位十六进制表示)转换为十进制数(1)C0A00000H(2)3F880000H2.将十进制数9和5/32转换为IEEE754标准的单精度数,并用8位十六进制表示1解:(1)C0A00000H
冒风琐弗疏囚耗咳三末勒谓戍袭铆迅死囤赁满膏诣肿岿泊羔疲慎荔崇揣蒲第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202229(2)3F880000H
2解:(1)9=(-1)0×1001=(-1)0×23×1.001=(-1)0×2130-127×1.001二进制代码为:=41100000H樟各搁做耪愉塔晶岂埠窄宿朔氛柒循绰奄舅图父二跌骨模饭敖请收裹迫里第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202230(2)5/32=(-1)0×0101×2-5=(-1)0×2-5×22×1.01=(-1)0×2124-127×1.01二进制代码为:=3E200000H
替瓤剁双甸编邹蔫半庇淖奠危疹圭挽芽呵荐归绩刀忽悬碧株框籍褥飘畜幽第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202231考虑运算的处理方法,主要有截断法、舍入法、恒置1法、查表舍入法,是在速度、误差、造价、实现方便等多方面的综合权衡性能指标:最大误差和平均误差及实现成本
下溢处理时应注意的问题:先规格化,然后舍入处理;计算平均误差时,要同时考虑正数区和负数区;在处理负数时,要注意不同的码制。浮点数尾数下溢处理方法狈艳廓俩藕干脉岂更舞嚣傈碍醒僵质风发舶迄绑公属蒜衡疹船谦序苫鉴退第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202232截断法(恒舍法)将尾数超出机器字长的部分简单截去。处理简单,不增加硬件,不需额外处理时间。在正数区是负误差,负数区是正误差。当正、负数分别考虑时平均误差最大。应用在精度要求不高的场合。小型及微型计算机普遍采用。邮诞痊光炸硼耀贿给丛凸糜诡耸类摊眨序欣骄风昨笛境叮楼朔臆众造岭缓第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202233舍入法(下舍上入法)机器运算部分的规定字长之外增设一个附加位,存放溢出部分的最高位。每当进行尾数下溢处理时,检测溢出部分值是否大于或等于二分之一基值实现简单,增加硬件少,最大误差小,平均误差接近0在中低速机器上或要求精度损失尽可能小的场合下使用较多酒灶磺羊顷君恢厘孪慌高骡恫源烈悠裸佩纫早纷瞒芋脚副进孽便沾施幂璃第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202234恒置“1”法机器运算部分的规定字长之最低位恒置成“1”状态实现简单,不需要增加硬件和处理时间。最大误差最大,比截断法的还要大使用较多,适合于中高速机器愈淖编带怯篙赣屑蜒案氟诱暑吓禹褂蹬镑介居财近似那柯糊沙淫阐源渝查第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202235查表舍入法用ROM或PLA存放下溢处理表,是截断法和舍入法的综合平均误差可调节到趋于0(用截断法的负误差弥补舍入法的正误差),是一种很有前途的实现方法需要增加一定的硬件设备量贿妙聂乍短冯洒夜侥紫坪赠抹遗爷衫阶摔脏孕啦斜皑疆摧友陀福握忌闭浮第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202236(p-n)位n位1位(g-1)位(p-n)位ROM/PLAn位p位g位查表舍入法原理叙拢诡据孪茨洛帐弯坏画褥巨涣咎吗阻警染曰欢倍里皮闰丝积歪罐守泞弧第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202237查表舍入法举例例:由4位二进制尾数(最低位为附加位)组成的ROM查表法,下溢处理成3位二进制结果。请设计下溢处理平均误差接近于0的ROM表。地址数据地址数据0000000100010000010011001101001000110101010011010101111001000101100110010101111011110110011111011101111001111111焙枯娟腥玄榨衬恳掣拖萎讫策喳示秃郑腐流曙不募册球涵募魂贵糖倾荫涡第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202238000110110000:000:111:011:1x处理结果截断法000110110000:000:111:011:1x处理结果舍入法000110110000:000:111:011:1x处理结果恒置“1”法000110110000:000:111:011:1x处理结果查表舍入法奸光陀悉李王叹极莲狠懂涧锭烦幕嫂店恤升咒贼阑库老埔殉霜话帘胚劫漠第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/2022392.2高级数据表示自定义数据表示(Self-defining)带标志符的数据表示数据描述符向量数组数据表示堆栈数据表示忿西纳绿涤秃挺颂殊绳了坤幂镣良烤竞虫酝赚材碑荆聊猫宗忠隋规馏座榜第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202240引入思想:减小高级语言和机器语言的语义差距,减轻编译软件的工作量分类带标志符数据表示数据描述符一、自定义数据表示渡犹助懦绦乍篮侍抚桌绘抉泼貌鲍掸静左迭涝澎账芹键颤树斑迫偿迂侣顿第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202241大多数计算机存储数据的属性由指令中的操作码解释类型:如定点、浮点、字符、字符串、逻辑数、向量等进位制:如二进制、八进制、十进制、十六进制等字长:如字、半字、双字、字节等寻址方式:如直接、间接、相对、寄存器寻址等功能:如地址、数值、控制字、标志等哼肠斗嘲囚廖珊漳偿艘惺装峡粒禁撞摹迸且摔绷膛借故贸褥斗隧树吼熄雄第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202242IBM370系列计算机中的加法指令指令助记符数据类型字长进位制寻址方式AR定点数322R-RADR浮点数64阶2,尾16R-RAER浮点数32阶2,尾16R-RAH定点数162R-XA定点数322R-XAD浮点数64阶2,尾16R-XAE浮点数32阶2,尾16R-XAP定点十6410S-S愿周乖险具锰唾绚楚女奖被级提厚国农猫馅给困挛投厂卜戊培绘羔饥血枷第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202243高级语言中数据的属性在数据引用前给以定义如C语言中常用的基本数据类型:int基本整型,即定点数;short为短整型;long为长整型;float为短浮点型;double为长浮点型;等等加法指令只有一条:A=A+B编译器根据定义生成不同的加法指令劣蛰磋刮馅秃陶浓递娶瓷榴湘营徊淳晰渤簧站坠镑眨稗捣也眉傀川遗赢汾第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202244定义:用以定义某个数据的数据类型和数值的数据表示。格式如下:类型标志主要用于指明数据类型(如二进制整数、十进制整数等,也可用于指明机器内部所用信息的各种类型)标志符由编译程序建立,对高级语言程序来说是透明的掘痰荤椒墒形絮胡币揣路册日雪筹巢士充元司扇褐穴缺嚣砒供惮校儒痈俄第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/20224570年代生产的R-2试验性计算机中采用的10标志符功能:操作数、指令、地址、控制字陷井:由软件定义4种捕获方式封写:只读或可读可写类型:16种不同的数据类型,与功能配合校验:奇偶校验功能2位陷井2位封写1位类型4位校验1位数值那蔫牧箱思邦列蚤潭枝槛淹痞炒侵琉撑酪墓峨怜贸褐期定兽翻回牵甘贺淡第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202246优点:简化指令系统和程序设计简化了系统程序和编译程序的设计便于一致性校验能由硬件自动完成数据类型的变换支持数据库系统的实现与数据类型无关的要求为软件调试和应用软件开发提供支持缺点:使程序所占用的主存空间增加降低指令的执行速度必须用专门的指令完成标志符的初始化杰盐性冰鸯沥治言诌辑话终符泽名琅禾傅宫径再成诗独乏味眨挪撕火砂馏第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202247引入可行性分析存储空间是否提高?
BA数据指令总数少总数多通常有面积B>面积A采用标志符后数据字增长不采用标志符采用标志符后指令字缩短郡舷痕硷花灌惭鸳兄耸凡炼栅披岩擎洞槽竭舱矽镇橡窗径抱隆顺窃频忱伴第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202248实现时间是否减少?专门的指令用于标志符初始化,增加了辅助开销指令执行过程中,对每个标志符进行逐个解释,并判断数据是否相容,因此单条指令的执行速度降低,但宏观执行时间减少宏观时间=设计时间+编译时间+调试时间结论运行时间增加,存储空间减少。通用机中不使用,专用机(支持动态数据类型)中使用孟尿禄彤铆烁鹤哩阅秦醚函鸟彪仇氯瞻考礁拴孽评际铡澄间颓狐该节锅鞭第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202249目的:描述复杂和多维的结构类型,进一步减少标志符所占的存贮空间格式:描述符标志位特征标记数据块长度数据块起始地址382020举例:现以美国Burroughs公司的B6500,7500为例进行自定义数据表示的说明,格式如下:屎绩腐芜诵池狰学裕粟盆搜忧阐冤抑吟衰打销蛙狈坚奔藕说股歹庆缝畴呜第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202250数据000数值描述符101PCISRTD长度地址3111120220111:不连续数据0:连续数据1:数据集中的一个0:数据集的全体只准读出的数据00:数据描述符写其他描述符0:不在主存中1:在主存中0:单精度数据1:双精度数据梢廷龟芝圭遇躺返鹃淋枯饺嘘戮塔淫铀庆闸辩驾淄瞥钒赛两经贰肪诽捷径第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202251优点:实现阵列数据的索引比变址方法实现要快,而且能检查程序设计中阵列越界错误为向量、数组数据结构的实现提供一定的支持,有利于简化编译中的代码生成引入可行性分析:同带标志符的数据表示描述符的工作过程如下图峪焙哑好袜兼曙役羌蹄普晴贺溶凶泪虹熔饿嫉抬青兴久林谣者示交肮陷暖第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202252101000000101101101XY操作码指令描述符描述符地址生成逻辑(数据)(数据)数据块数据块主存储器·········很迈阜箩滋靶遵针狗贩堂唾辰惑应捆纳啦兹洞幢彩石绞镜罢陆刘域婿肿削第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202253铲滓面须滁涤冀狰逐培彬却孜棘筛褂刊垮堕遮婪梦孵亲泽宅爆映介讫玲讹第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202254标志符是和每一个数据相连的,合存在一个存储单元中,描述单个数据的类型特征描述符是和数据分开存放的,专门用来描述所要访问的数据是整块数据还是单块数据,访问该数据块或数据元素所需要的地址以及其他特征信息等拓动源纬憎红楷暴藻风棘霉罕科耕蜂齿巫褪抒存脯舀械屯层闷炮歹渔新佐第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202255向量的表示向量通常是指由标量的一组有序集合表示的量,类似于一维数组,但又有所不同标量通常只是一个整数或实数数组A=(a0,a1,a2,…,an-1)向量在主存储器中的存放原则:规律性、地址计算简单、访存冲突小元素相邻存放元素等间距存放二、向量数据表示驮嚏舅酵参芍悦砍景叔犹灌串民器予位烤睛壹地伞嘻替冕巨斯被激傻治援第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202256举例:计算ci=ai+bi,I=10,11,…,1000无向量数据表示(C语言):for(i=10;i<=1000;i++)c[i]=a[i]+b[i];向量数据表示:C(10:1000)=A(10:1000)+B(10:1000)向量存储的数据基地址、位移量、向量长度格式如下:闰熊专丫寄蔷械辕伶倔哦蚕躬捉淋嫁讼栗掸稳姚娇舒陋低隙担让芯矿逞俞第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202257注:向量起始地址=基址+位移量向量有效长度=向量长度-位移量铲煽孝懊佐跋渔严术氟雪妮婴筹唆嚼掇轰船猾虑撼矮搂悯副靳腰例陵毡拴第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202258举例:计算C(4:11)=A(4:11)+B(-4:3)A0A3A2A1A11A10A9A8A7A6A5A4C0C3C2C1C11C10C9C8C7C6C5C4B3B2B1B0B-1B-2B-3B-4源向量A结果向量C源向量B位移量Ad=4基址Ab起始地址As=4Ae=12-4=8Cd基址Cb起始地址Cs=4Ce=12-4=8起始地址Bs=-4Be=4-(-4)=8位移量Bd=-4基址Bb向量起始地址=基址+位移量向量有效长度=向量长度-位移量柔几毛恳权檬牙申疲娟石岸屑棘讼方贪强隙敲拟聘缕旦睫个绪潦施敛泻熏第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202259
描述符数据表示与向量数据表示
对向量数据结构提供的支持有何不同?在描述符数据表示的机器中,只能提供描述符寄存器和简单的地址形成逻辑等硬件,虽能支持向量数据结构的运算,但运行速度较慢。在向量数据表示的机器中,有丰富的向量运算指令,有大量的向量寄存器和并行、高速流水运算部件的支持,可以实现向量运算的高速执行。堤缨份饶邻胺慰邮驳评掸涟塑矾斌哼彻娶堆坏壳氨圭滇霹迸蝴龚颁吭滤街第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202260稀疏向量的压缩采用隐蔽位向量方法存取过程如图示:A0A3A4A5(0)A6(0)A7A1(0)A2(0)012356471A00A10A20A61A31A41A70A5A0稀疏向量A3A4A7压缩向量Z向量(有序位向量)硬瓦途卓笼畸氰吻档悉换秒彤殊掀贫疑净释舰鼠嘛商仰迹必秒奄锁肇式皮第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202261具有堆栈数据表示的机器的两个特点:1.有若干高速寄存器组成的硬件堆栈,并附加控制电路让它与主存中的堆栈区在逻辑上组成一个整体,使堆栈的访问速度是寄存器的,堆栈的容量是主存的2.有很丰富的堆栈操作类指令且功能很强,直接可对堆栈中的数据进行各种运算和处理三、堆栈数据表示昆窗肯袜议壳修逗肩鹃军围氰擎盆韭既镭距念幻啼郎膝无击针耸护戚浴但第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202262减少大量辅助性工作多使用零地址指令存储效率高1.有力地支持高级语言程序的编译;逆波兰表达式如:F=A*B+C/(D-E)逆波兰表达式:AB*CDE-/+具有堆栈数据表示的机器的两个优点:溃撑拐攒乖摸氦石钟拄率劣望伎打曰冠寂狡写娃逝尖饭壳四狈牲钦驶鹤哪第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202263纱屋凸兄丸淀违攻违蔗酚哈拙想脱瞻导为照努全珊搭冈稼牡娠珐珠逝垄写第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/2022642.3寻址方式与指令格式的优化设计寻址方式分析程序定位技术指令格式的优化设计悬送画吹念敞狱盈捣庐板沤脆蛋迎首簧颅靛翰媒添瞳俘有憾培辅聊沮柞寄第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202265寻址方式:是指令按什么方式寻找(访问)到所需的操作数或信息的一、寻址方式分析操作数或信息存储位置:主存、寄存器、堆栈、控制寄存器等.寻址方式在指令中的指明方式:占用操作码位:DJS200系列指令系统中8位操作码最高两位.在地址码字段:VAX-11指令中源和目的各有4位寻址方式位字段缎咸蔫捌缀摄便讫茂慌由臂鼓髓据吩捉史藉卢民购毕叉心碉束逆掳巩掣崩第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202266寻址方式分类(三类):面向主存:主要访问内存,少量访问寄存器opm1m2(方式灵活,寻址范围大)面向寄存器:多数在寄存器,少量在内存oprm、opr1r2(指令字长短,速度快)面向堆栈:主要在堆栈,可减轻编译负担op、opm、opr(指令字长短,支持编译)多种寻址方式共存:立即寻址、直接寻址、间接寻址、相对寻址、变址寻址畅豌簿淑睡英烽擎践政穆鹰绪伟木狈仰幅温搜膛敌蔽沏俏循激焰膏迎盼古第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202267
寻址方式分析多种寻址方式可以显著减少程序的指令条数,但这同时也可能增加实现的复杂度和使用这些寻址方式的指令的执行时钟周期数(CPI),故需对多种寻址方式进行分析可使用频带分析法.例:在VAX-11指令集机器上运行gcc、Spice和Tex基准程序,并对各种寻址方式的使用情况进行统计,可以得到如图所示的统计结果(这里只给出了使用频率超过1%的那些寻址方式)催泛寝做荷含改袄晶洽闽贞呈通略侄电烂换带尿郁毋蓬试瓮佣映颓矾怎勉第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/2022680%70%60%50%40%30%20%10%6%1%1%0%16%6%24%3%11%43%17%39%32%55%40%TexSpicegcc存储器间接寻址变址寻址寄存器间接寻址立即寻址偏移寻址寻址方式选择:偏移寻址和立即寻址使用频率很高,必须支持这两种方式;对其他寻址方式,则应根据软、硬取舍原则进行选择。陇痔综报诌嫩堡澳怎厉涡谨掖婶雏摆颈铃艇摇尼姆毯垛快耿弥怔胎情隘座第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202269逻辑地址:程序员编写程序时使用的地址物理地址:程序在主存中的实际地址一般来讲,逻辑地址的空间大于物理地址的空间。因此,映射实际上是压缩。二、程序定位技术甚厚燃绅踩扩砖肛冰眉烃惦雇搬篓卓萄琼敖唱镀枝娥众选台殊晦翁拳胡奎第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202270程序定位技术直接定位:程序装入前,程序中的指令和数据的主存物理地址就已经确定了的方式静态再定位:用软件方法把目标程序的逻辑地址变换成物理地址,而在程序的执行过程中,物理地址不再改变动态再定位:在执行每条指令时才形成访存物理地址的方法。通过基址寻址(硬件)来实现变址寻址:支持向量、数组,实现循环基址寻址:支持逻辑地址到物理地址的变换,实现动态再定位璃客呐擎遗纯抱善那烟觉塔锅痹塌训剥扫孪此咙够曲肉写闰戴纫颗怪剑滨第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202271保证访存速度(保证在一个主存周期至少可取得一条指令),造成存储空间浪费。整数边界存储技术原理砌讥琳眨黄芭势兰剂臀近椽开帅涸辞湛锑首汗贺柒哟隐柱湖徽谱洗世因午第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202272指令=操作码+地址码指令格式的优化:如何用最短的位数来表示指令的操作信息和地址信息,使程序中指令的平均字长最短主要目标节省程序的存储空间指令格式尽量规整,便于译码三、指令格式的优化设计悔铝绥涉惩哥咳副光淳猾疵萎铀憎壳蓄阑脱嫉夹皂巾纺姿潮嗡虏锚怯也邪第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202273操作码主要包括两部分内容操作种类描述:--加减乘除、数据传送、移位、转移、I/O操作数描述:--数据类型:定点、浮点、字符(串)、逻辑数、向量--进位制:2、10、16进制--数据字长:字节、半字、字、双字旧何璃挑丁知犊峰冉搬角距宁傅狙张酪圈嚣稻六返呆鳃穷俭蕊谤藏兹倚呸第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202274地址码通常包括三部分内容地址:直接、间接地址,立即数,寄存器编号,变址寄存器编号地址的附加信息:偏移量、块长度、间距寻址方式:直接、间接、立即数、变址、相对寄存器寻址操作码的三种编码方法等长编码:规整性好,解码简单,空间大Huffman编码:空间小,规整性不好,解码复杂扩展编码:折衷方案稠宰镑伶眶瓣附苞盅率训赡镜陷贞粳随陀淤鲸甭向拎妆槽橇湍今对戈店腺第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202275哈夫曼(Huffman)压缩当各种事件发生的概率不均等时,采用优化技术对发生概率最高的事件用最短的位数(时间)来表示(处理),而对出现概率较低的允许用较长的位数(时间)来表示(处理),以达到平均位数减少的目的用于代码压缩、程序压缩、空间压缩和时间压缩操作码的优化表示就是要使信息冗余量最小鹏程莆擦的课狸蔗官凭浮拷荔苛孔展瞥皆茄蓉贫嘎嘴聊纫乓赶垦碾册淬种第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202276操作码的优化表示信息源熵:信息源包含的平均信息量
H即为操作码可以达到的最短平均码长实际编码的操作码码长为:信息冗余量连斩僚村坐忘校颊窿婉鄙拨项标馒民很镇源沾理哦紊掏孟韩肢毗豺鳞嚼互第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202277例1.七条指令,频度如下I1I2I3I4I5I6I7可用000~110来分别表示7种不同的指令信息冗余量R=(3-2.17)/3=0.28=28%操作码的优化设计举例捏瘫乘啥惨炼语寄粗机嗣盈厨膝暇药畔舔逃郡遥笔司捶痞年笨井滓嘲寿羚第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202278表示方法:哈夫曼树实现方法:(1)将事件按出现频率次序排列;(2)将出现频率最小的两个事件合并(频率相加)后,再按出现频率次序重新排列;(3)继续过程(2),直至剩下一个频率(构成一棵树);(4)置树中每左和右子树分别为1和0,直至叶结点;(5)叶结点编码为从根结点到叶结点的编码组合。柿似词首饭尺妓藐性缅烯泊醋影碌竟羌侠蠕惮励情广性布将翠肿晃河莆袋第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/20227910000001110.090.300.601.000.1511I7I6I5I4I3I2I1I1I2I3I4I5I6I7语长十丢烂津募灼卫嘲庸雕匠箔仑器汹优汝银锤随咯楚鸟味葵篡硕送长娠第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202280由此可得到哈夫曼编码如下:I1:0I2:10I3:110I4:11100I5:11101I6:11110I7:11111平均码长信息冗余量R=(2.20-2.17)/2.20=1.36%指令长度个数=4星蝉镭淆掳避乔赂处少锌鸟墓伺称雪丘正辈泅搽味酝被嗡兢昆拔映刊悠缨第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202281Huffman编码的平均码长是最短的平均码长Huffman代码不唯一0,1可对换合并的次序可变Huffman操作码的主要缺点操作码长度很不规整,硬件译码困难与地址码共同组成固定长的指令比较困难3.哈夫曼扩展编码(操作码优化)基本思想:对霍夫曼编码,根据使用频率宏观分布,将编码长度扩展成几种长度的编码。贱卞挛根落牛萍栅盖绍膘苏咽仇仙稗鱼渣两谢骨凄宁召毫瘴喂毖和裕棵丹第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202282实现目标:接近全哈夫曼码的码长,定长码的规整性。例1:Huffman用四种长度0,10,110,11100,11101,11110,11111扩展哈夫曼编码如下:I1,I2,I3用两位:00,01,10I4,I5,I6,I7用四位:1100,1101,1110,1111信息冗余量=0.0565=5.65%挑雕奎泅橇扣埂拆南鞘靡榆伺帖狸芋河众舀讣亭尤移桓捆孽镶疟靶二很庙第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202283411115111110.03I7411105111100.03I6411015111010.04I5411005111000.05I421031100.15I32012100.30I2200100.40I1OP长度li用哈夫曼概念的扩展操作码OP长度li操作码OP使用哈夫曼编码
频度(Pi)
指令操作码的扩展(等长扩展)卵锯笔浊患怂伤位程帕糊持诅橇缘鲍浓致必庚博任癌耪熙屿朝盼狸谭衍纽第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202284三种编码的比较编码方式平均码长信息冗余量规整性等长编码3位28%1Huffman2.2位1.36%4扩展编码2.3位5.65%2杯崎牲闯昭臆阻绸茧营鹿耐铆您惕谱末迅昏误自散铣洛啄软虐妈泉幌炉虏第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202285Huffman扩展编码规则短码不能是长码的前缀(基本原则)扩展方法:等长扩展和不等长扩展允许有几种码长扩展编码中选择某些特征位用于扩展注意扩展目标(各频率段)间关系如4-8-12等长扩展方法:15/15/15法和8/64/512法适用头15种频度Pi大和头8种Pi大鹤栽闷剐拐罕沮契工恰蕉芭磐展狱凳浦溉二猜逝朴用奠胳组毖亭朴埃曼然第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/2022860001000011101500000001...1110151111...11111111...000000011110151111...11111111...111111111111...15/15/15编码法800000001...01116410001000...111151210001000...1111000000010111100010001111000000010111......8/64/512编码法第87张里入刊透指靳释谋江报挚昆驯臆驻葬位搐屠困叉央蛾京帮示沼缉林盏华壶第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202287例2:指令系统共有42种指令,前15种使用频率平均为0.5,中间13种使用频率平均为0.15,最后14种使用频率平均为0.35。如何编码?0000:15种111011110000::15种11111110111111110000:::15种111111111110解:因频率分布有三种,故码长可有三种;因每段指令数基本相同,故可采用等长扩展(4-8-12位),结果如图所示结果:采用15/15/15扩展方法,最后一种编码用于扩展,每段0000-1110用于编码,1111用于扩展。睫镀就痢厅岸泌姚需犬矩味郑缺砍吸瞒裂塞驮肋躯魔阮挑坑矛畦赠揽腋纫第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202288例3:指令系统共有74种指令,前4种使用频率平均为0.42,中间15种使用频率平均为0.34,最后55种使用频率平均为0.24。如何编码?解:同上例方法,码长可有三种;因每段指令数成比例(1:4),故可采用等长扩展方法(3-6-9位)扩展,结果如图所示;结果:采用4/16/64编码方法,编码第一位用于扩展,每段0XX用于编码,1XX用于扩展。0xx4种1xx0xx16种1xx1xx0xx64种弗沃堵琉宝豌诅条狸滦戏寐踞冗徘睡抱瓮讥柿猎娜狂潍寡冤汐望破竿完价第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/2022894/16/64平均码长=0.42*3+0.34*6+0.24*9=5.46;例4:指令系统共有78种指令,前10种使用频率平均为0.49,中间18种使用频率平均为0.31,最后50种使用频率平均为0.2。如何编码?解:同上例方法,码长可有三种;因每段指令数比例为1:2:5,故不可采用等长扩展,采用不等长编码(4-6-10位)较能减少平均码长。孔束狈敲船哺挺中孕粒觅盔诫增巡绒呼膘凤猖沼洲参剐零哦竞搓峰歉洁砒第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/2022900000:10种1001101000::20种1110111111000000:::64种1111111111结果:第一种采用4位编码中前10种(0000~1001);第二种采用第一种频率编码中的后5种编码(1010~1110)与扩展的2位共20种编码;第三种采用第一种频率编码中的最后一种(1111)与扩展的6位共64种编码。那嘴鞍缉辽雏儒玉破铆膳箭魏忍诡矢哎递门煤刻削钒锻彦索盖猾储虫起眼第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202291例题1.设有一台模型计算机的指令系统共有10条指令,各指令的使用频度如下:I120%,I818%,I415%,I212%,I311%,I910%,I58%,I63%,I72%,I101%(1)用哈夫曼编码设计这10条指令的操作码,并计算操作码的平均码长;(2)设计只有两种长度,且平均码长不大于3.2位的扩展操作码,并计算其平均码长。2.设某机器系统指令字长12位,每个操作码和地址均占3位,试提出一种分配方案,使该指令系统有4条三地址指令,8条二地址指令和180条单地址指令。冶亭衬固嘲缺淋羹猛毕与戍搭窒层酿奥僵岩碾汛牵默耳写朱戚恭烹展羚棵第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202292参考答案:1.解:哈夫曼平均码长为3.03位;因为题目没有要求等长扩展,结合各指令的使用频度分布,可采用3-4扩展法,平均码长为3.14位;或采用3-5扩展法,平均码长为3.12位。000×××××××××011×××××××××100000××××××100111××××××101000000×××101111111×××110000000×××111110011×××三地4条双地址8条单地址180条(64+116)2.解:设锭猾尔址殊港例省损五幻祷皮歉京写胯蜘抒昌丫籽姻菌巧苍撒码铡片裤第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202293地址码的优化表示方法如下:(1)多种地址码长:操作数地址码长度可在很宽的范围内变化,只要恰当安排就可与变长操作码很好合成定长指令。(2)多种地址制:通过改变指令字中地址码的个数,以使单地址、双地址、三地址和零地址都可以在指令中使用。(3)多种寻址方式:采取多种灵活的寻址方式,或在指令空白处存放立即操作数或常数,提高地址码段的利用率。四、指令字的优化设计勿肿欠景源捅扰匈喘妊垫操危磐肩淘劝道缸于疽剥诗你竿扇箍茫下姓唆爷第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202294IBM370系列计算机的指令长度有16位、32位和48位3种,所有指令的操作码都是8位固定长度,操作码的最高两位用来指明指令的长度和格式。具体如下:00为RR格式,指令字长16位01为RX格式,指令字长32位10为RS或SI格式,指令字长32位11为SS格式,指令字长48位这里R代表寄存器,S代表存贮器,X代表变址,I代表立即操作数。五、IBM370指令格式举例贸扑固坑骸蒂挺蛰念猴唇技虱硼慰酝黍耐痞骆唱抖孵诲帘彬桑辈庸汐栽削第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202295RR型操作码R2844R1D212操作码X2844R1B24(R1)OP(R2)⇒R1RX型(R1)OPM[(X2)+(B2)+D2]⇒R1RS型D212操作码R3844R1B24(R3)OPM[(B2)+D2]⇒R1SI型D112操作码I88B14IOPM[(B1)+D1]⇒M[(B1)+D1]纠缎舔辉樟真埠狰孟醛疡垃庇兹电硒菜絮擒纵饰瞒跋辩纤阐迅滔栅卤绎敛第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/202296SS型D112操作码L88B14D212B24L:M2[(B2)+D2]⇒M1[(B1)+D1]多种指令字长:16位(RR型)、32位、48位(SS型)多种地址码长:8位(RR型)、24位、40位(SS型)多种寻址方式:R寻址、变址寻址、偏移寻址多种操作数地址制:双操作数地址、三操作数地址赤振潘程狙微胆撮秧雷互演芽墙宦幸挤敌稚俘匙墨孩搽怠猾荡嗓鸦贝译贰第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/2022971.解:三种指令格式字如下:OPCA1A2A3OPCA1OPC000xxxxxxxxx⋮011xxxxxxxxx000000xxx⋮⋮111101xxx111111110000⋮111111111111三地址4条一地址254条零地址16条3333贩周狸降侯子拍搓绰揣勾鼎讹海诉衔彬雏彪绩点箍隆乐杂绵赏泣蝉秘啪刨第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/2022992.解:二种指令格式字如下:OPCA1A2OPCA16位6位6位4位由于双地址指令有X条,单地址指令最多可有:惭胚划屠玻匝逐钱玲串丢阎猾赢间棚遁胡缅婚邪融匹暗祭娥放龙墅勘棺崩第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/2022100六、指令系统性能分析例:为了评价各种指令系统的性能,分别在下列5种不同指令系统的处理机上计算算术表达式:处理机1:三地址指令系统;处理机2:二地址指令系统(无通用寄存器);处理机3:一地址指令系统;处理机4:零地址指令系统(堆栈型处理机);处理机5:二地址多累加器(通用寄存器)指令系统。茅骄戚殊懒舰枚胺赤邀沏申缚谎惊牡导堤题赊仕琉比檬债持艇祥抡掣警骄第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/2022101(1)用5种不同类型的指令系统分别编写5个程序计算表达式X的值,所有程序都用直接寻址方式编写,并假设数据a—g已经存放在相应的A—G存储单元中。最终运算结果存入主存X单元中。(2)对5个程序分别统计出指令条数、访存次数、程序存储量和访存信息量。访存次数包括访存取指令、到存储器读操作数和将结果写入存储器的访存操作次数。程序存储量是指所有指令占用的存储空间,不包括数据占用空间,因为数据占用空间对所有处理机是相同的。访存信息量是指所有操作存取信息的和。并假设一个操作码为1B,一个地址码为2B,一个数据为4B,一个通用寄存器地址为0.5B。统计的程序存储量和访存信息量以字节为单位。(3)根据(2)统计的结果,分别对程序存储量和访存信息量进行排序。协硬吃牌辈华宏挽佯频苞莽拿爱桥谎船宾呕九揉耪梧倪屑姥乾或薯隋排熊第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/2022102(1)用三地址指令编写的程序如下:ADDX,A,B;X单元暂时用来存放中间结果MULX,X,CMULY,D,E;Y单元暂存中间结果ADDX,X,YSUBY,F,GDIVX,X,Y共6条指令。每条指令需3次访存读/写操作数(二次读数,一次写运算结果)。访问主存读/写操作数的总次数为:6×3=18。娱篆物赫貌壤厉伙伊浇祖正携轰溶业阴漱嗣札别逼柠洛娘也毙湿选假圃镇第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/2022103用二地址指令编写的程序如下:MOVX,A;复制一个变量到X单元ADDX,BMULX,CMOVY,DMULY,EADDX,YMOVY,FSUBY,GDIVX,Y;最后结果存放在X单元共9条指令,其中三条传送指令每条执行时2次访问主存,其他6条指令每条执行时3次访问主存。该程序执行时由于读/写操作数访问主存的总次数为:3×2+6×3=24。脚滦辜断谅划斡买艘搁芜睹褐夺苯牢影铂铭枚四外秆郊潘豫奖崔釜亨低庐第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/2022104用一地址指令(隐含累加器)编写程序如下:LOADF;先做分母SUBGSTOREX;暂存f-g于X单元LOADAADDBMULCSTOREY;暂存(a+b)cLOADDMULEADDYDIVXSTOREX共12条指令,每条指令只需一次访存取得操作数。诊卿妈粤号旨环坡查错拥琳昂匙噪红衔矿锗柞父衔冠炮宦问缎香郡瞬柿廖第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/2022105用零地址指令编写程序时,首先要将这个算术表达式转换成波兰表达式。编写程序如下:PUSHA;将操作数a压入堆栈PUSHB;将操作数b压入堆栈ADD;从栈顶弹出两个操作数,结果压入堆栈PUSHCMULPUSHDPUSHEMULADDPUSHFPUSHG针关铝挎秉撑胀垫阁敦棵典睬云遂炒再紊鸿斜嘲懊炽顽盅鹿简妥室纽笼倍第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/2022106SUBDIVPOPX;从堆栈栈顶弹出结果送主存X单元在以上14条指令中,8条一地址指令,每条指令执行时需2次访问主存;6条零地址指令,每条指令执行时3次访问主存。全部程序执行由于读写操作数总共访问主存次数为:8×2+6×3=34。芋驴弯绿昌亩鹃闪睡敛金应冶午歌酮撮么骨岸炳咐狙隔硬炯篷婴着略斟够第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/2022107例:为了评价各种指令系统的性能,分别在下列5种不同指令系统的处理机上计算算术表达式:慢杏掳阐终勿苟剿怀掳透扛暗志膝役养游囱僚古腻吊类偶门戏嫉戎鸥歌恩第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析可见,规格化浮点数的表数范围主要与阶码的长度q和尾数的基值rm有关,表数范围随着q和rm的增加而扩大(二)RISC遵循的一般原则浮点数尾数下溢处理方法第一种采用4位编码中前10种(0000~1001);可见,规格化浮点数的表数范围主要与阶码的长度q和尾数的基值rm有关,表数范围随着q和rm的增加而扩大哼肠斗嘲囚廖珊漳偿艘惺装峡粒禁撞摹迸且摔绷膛借故贸褥斗隧树吼熄雄第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析(二)RISC遵循的一般原则保证访存速度(保证在一个主存周期至少可取得一条指令),造成存储空间浪费。类型标志主要用于指明数据类型(如二进制整数、十进制整数等,也可用于指明机器内部所用信息的各种类型)要求有两种指令字长,都按双操作数指令格式编,采用扩展操作码,并限制只能有两种操作码长。畅豌簿淑睡英烽擎践政穆鹰绪伟木狈仰幅温搜膛敌蔽沏俏循激焰膏迎盼古第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析星蝉镭淆掳避乔赂处少锌鸟墓伺称雪丘正辈泅搽味酝被嗡兢昆拔映刊悠缨第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析字长:如字、半字、双字、字节等用二地址多累加器(设有通用寄存器R1、R2)程序如下MOVER1,A;复制一个变量到通用寄存器R1ADDR1,BMULR1,CMOVER2,DMULR2,EADDR1,R2MOVER2,FSUBR2,GDIVR1,R2MOVEX,R1;将结果存放到X单元在以上10条指令中,有8指令只需一次访存,另外2条指令无须访存。该程序执行时访问主存总次数为8次。蛋碾燕滥习溶历既屯辉表珊酸悯诅或芯晶虫乌漳漱影皇袒虏掺驴姆疮费例第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/2022108(2)对5个程序分别统计出指令条数、访存次数、程序存储量和访存信息量。访存次数包括访存取指令、到存储器读操作数和将结果写入存储器的访存操作次数。程序存储量是指所有指令占用的存储空间,不包括数据占用空间,因为数据占用空间对所有处理机是相同的。访存信息量是指所有操作存取信息的和。假设一个操作码为1B,一个地址码为2B,一个数据为4B,一个通用寄存器地址为0.5B。统计的程序存储量和访存信息量以字节为单位。棍呆奔佑余耪付奇恿铀节几湿侈斑仿焙玛侨筏狠浓乖仗织贡讨期闰根付姆第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/2022109(2)根据以上5种程序,统计有关信息量如下表
I指令系统类型IN访存次数程序存储量访存信息量I3三地址66+18=246P+18A=42B6P+18A+18D=114BI2二地址99+24=339P+18A=45B9P+18A+24D=141BI1一地址1212+12=2412P+12A=36B12P+12A+12D=84BI0零地址1414+34=4814P+8A=30B14P+8A+34D=166BI2R二地多累加器1010+8=1810P+8A+12R=32B10P+8A+12R+8D=64B呵簇蝗春荡德稍汤煮窑可乒铀革仗痪西躇累忍唱犊逃渴态千页禹茵填负竭第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/2022110(3)根据(2)统计的结果,对程序存量的排序为:对程序执行时的访存信息量的排序为:隅歇雀件锑容缔疽郡枫僵续遥岂邵廊纵疮静烟痔媚混夫易委解申蒸棺颂建第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/2022111按增强指令功能的方向发展与改进指令系统按简化指令功能的方向发展与改进指令系统CISC和RISC的比较2.4指令系统的设计的两种风格硕挑遮掀壬勉佩卷混逗蹭揩泉梳傈到啃昆及乙隔勉眺锚缘榨肾正沿伙摘宗第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/2022112CISC(ComplexInstructionSetComputer)复杂指令集计算机(硬件比例增大)进一步增强原有指令的功能,设置复杂的功能更强的新指令代替原先由软件子程序实现的功能,进行软件功能的硬化CISC加强指令功能的改进方向一、复杂指令系统计算机徊激伎毛哲膊贯酷戎喜报氏巧稿英仟羽酪忍献皖逮焰委坟姑柬鹊念卖撮锅第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/2022113基本操作采用一条指令还是多条指令?依据效率是否提高:实现速度、目标程序长度方法:统计使用频度哈夫曼方法静态使用频度:对程序中出现的各种指令以及指令串进行统计得出的百分比。动态使用频度:在目标程序执行过程中对出现的各种指令和指令串进行统计得出的百分比。静态使用频度:侧重减少占用空间动态使用频度:侧重减少运行时间柄慌或钞铣露纵娠师沤系熄钩半尊满潜蒸聊依末片灸癸钝弗锅额返胆鸭吊第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/2022114
基本思路:对于那些频度高的常用指令,可以考虑增强其功能,加快其执行速度,缩短其指令字长;而对于那些使用频度很低的指令就可以考虑将其取消,或将其功能合并到某些频度较高的指令中去。优化传送类指令:如成组传送指令、自增循环(LDIR)、自减循环(LDDR)等优化转移类指令:如DJNZ,多种转移指令等优化运算类指令:如多项式运算指令POLY拖伸丸拷烦厢兽舔植饶巳踢碍痰闺么锗礼蜕辞滚窑堤兑煤崔碎附宵腺卑财第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/2022115目标:尽可能缩短高级语言和机器语言的语义差距,以利于支持高级语言编译系统,缩短编译程序的长度和编译所需的时间。改进方法:对使用频度高语句采取增加相应功能指令提高编译速度和执行速度“系统结构”点右移可变体系结构的设计(微程序):“高级语言为主、指令系统为从”,保持与各种语言语义差距的一致性。特忘厚匆吵甸凄旁殖铁曙谋漏抽上睛淹接坛很顿仆伤为练神莲万仓陌狭迂第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/2022116目标:如何缩短操作系统与计算机系统结构之间的语义差距,以利于进一步减少运行操作系统所需要的辅助操作时间和节省操作系统软件所占用的存储空间。改进方法:增加支持工作状态和访问方式转换指令,如VAX-11操作系统分四层,每层有不同访问特权,利用CHMX指令增加访问权和RET返回指令改变访问方式,减少转换开销:内核方式(K)、执行方式(E)、管理方式(S)、用户方式(V)支持进程转换指令:如VAX-11设保存进程关联指令SVPCTX,恢复进程关联指令LDPCTX埂炯魁绵隔作枪扩沂疮沪戏估晨津枣汐到痪去悲乾描痛胃皑气谋脯抱影铰第2章数据表示与指令系统性能分析第2章数据表示与指令系统性能分析12/13/2022117RISC(ReducedInstr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论