最新带神经的指背筋膜岛状皮瓣修复手指皮肤缺损.-药学医学精品资料.ppt

最新带神经的指背筋膜岛状皮瓣修复手指皮肤缺损.-药学医学精品资料.ppt

ID:62124816

大小:2.05 MB

页数:74页

时间:2021-04-17

最新带神经的指背筋膜岛状皮瓣修复手指皮肤缺损.-药学医学精品资料.ppt_第1页
最新带神经的指背筋膜岛状皮瓣修复手指皮肤缺损.-药学医学精品资料.ppt_第2页
最新带神经的指背筋膜岛状皮瓣修复手指皮肤缺损.-药学医学精品资料.ppt_第3页
最新带神经的指背筋膜岛状皮瓣修复手指皮肤缺损.-药学医学精品资料.ppt_第4页
最新带神经的指背筋膜岛状皮瓣修复手指皮肤缺损.-药学医学精品资料.ppt_第5页
资源描述:

《最新带神经的指背筋膜岛状皮瓣修复手指皮肤缺损.-药学医学精品资料.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、最新带神经的指背筋膜岛状皮瓣修复手指皮肤缺损.-药学医学精品资料第12章代码生成学习目标掌握:基本块代码生成算法,寄存器分配算法理解:待用信息,活跃信息12.1代码生成概述12.2一个计算机模型12.3一个简单的代码生成器12.1代码生成概述代码生成的任务把中间代码(经过优化或未经过优化)作为输入,将其转换成特定机器的机器语言或汇编语言作为输出,这样的转换程序称为代码生成器(CodeGenerator)。目标代码生成需要考虑的基本问题:如何使生成的目标代码较短如何充分利用计算机的寄存器,减少目标代码访问存储单元的次数目标代

2、码生成的一些共同的问题,而不讨论某个特定机器的代码生成问题寄存器分配算法目标代码的执行效率很大程度依赖于寄存器的使用;基本块的代码生成算法寄存器分配算法仅限定在一个基本块的范围内,以四元式的中间代码作为输入,以一个称作M的模型机的汇编语言作为输出。12.2一个计算机模型M模型机具有n个通用寄存器R1,R2,R3,…,Rn,它们既可以作为累加器,又可以作为变址器。约定:op表示运算,C表示常量;M表示内存单元(用变量名表示该变量所在的单元),Ri表示寄存器;*表示间接寻址寻址类型指令格式意义(设op是二目算符)直接型opRi

3、,M(Ri)op(M)=>Ri寄存器型opRi,Rj(Ri)op(Rj)=>Ri变址型opRi,c(Rj)(Ri)op((Rj)+c)=>Ri间接型opRi,*M(Ri)op((M))=>RiopRi,*Rj(Ri)op((Rj))=>RiopRi,*c(Rj)(Ri)op(((Rj)+c))=>Ri指令系统与寻址方式令X代表Ri或者M,则(X)表示直接取X的内容作为操作对象,((X))表示一层间接,即取X的内容作为地址特殊指令除了上述的寻址方式和一般的运算指令之外,计算机模型的指令系统中还包括如下特殊指令主要有两大类:内

4、存与寄存器交换类:包括LD与ST;比较与转移类:如CMP与JX等于零转X单元JzX将A单元与B单元的值进行比较,把结果置入状态字CMPA,B不为零转X单元JnzX无条件转向X单元JX等于转X单元J=X把寄存器Ri的内容存回存储单元B,即(Ri)=>BSTRi,B小于转X单元JRiLDRi,B意义指令意义指令例:条件语句ifA>BgotoX中间代码:(J>,A,B,X)目标代码:CMPA,BJ>X12.3一个简单的代码生成器一个基于基本块的代码生成器它的输入是四元式中间代码,

5、输出是M机器的汇编代码着重讨论在基本块内如何充分利用寄存器12.3.1寄存器分配原则在指令的执行代价中,寄存器的代价是最小的,因此总是希望将尽可能多的运算对象放在寄存器中;由于任何一个计算机模型中的寄存器个数都是有限的,因而需要根据一些原则,对寄存器进行分配基于基本块的寄存器分配的一般原则:当生成某变量的目标代码时,尽量让变量的值或中间结果保留在寄存器中,直到寄存器不够分配为止,这样引用变量值时可减少对内存的存取次数,提高运行速度进入基本块时所有寄存器是空闲的,当到基本块出口时,将变量的有用值存回内存,释放所有寄存器在基本

6、块内,后边不再被引用的变量占用的寄存器应尽早释放,以提高寄存器的利用效率12.3.2待用信息链表法引入原因:为了把在基本块内还要被引用的变量值尽可能保存在寄存器中,不再被引用的变量所占的寄存器尽早释放,在翻译四元式i:A:=BopC时,必须知道变量A,B,C在基本块内其后的引用情况,即所谓变量的待用信息。基本定义:定值、引用、活跃在形如i:A:=B+C的代码中,出现在“:=”左边和右边的变量,分别被称为对变量的定值和引用,i被称为变量的定值点或引用点。若变量的值在i之后的代码序列中被引用,则称变量在i点是活跃的。待用信息在

7、基本块中,变量A在四元式i中被定值,在i后面的四元式j中引用A值,且从i到j之间没有其他对A的定值点,称j是i中对变量A的待用信息(下次引用信息)。所有这样的待用信息jk(k=1,2,…)构成待用信息链。只在基本块内考虑待用信息,一个变量在基本块的后继中是否被引用,可从活跃变量信息得知(出基本块后,变量是否活跃需要进行全局的数据流分析才能确定)在基本块B2内:R在(3)处定值,在(4)处被引用,所以(4)是(3)中R的待用信息流程B3->B2:X在(5)处被定值,在(3)处被引用,所以X在(5)处是活跃的(1)readX(

8、2)readY(3)R:=XmodY(4)ifR=0goto(8)(5)X:=Y(6)Y:=R(7)goto(3)(8)writeY(9)haltB1B2B3B4基本块内求待用信息的算法假设符号表中含有变量的待用信息和活跃信息栏;四元式表上也有关于结果变量、左右操作数变量的待用和活跃信息栏。把基本块中各

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。