版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
温故热“新“湖南大学《计算机系统》课程组
计算机系统计算机系统的抽象层次应用程序(高级语言表示的算法)系统软件(编译器和操作系统)指令集架构数据通路和控制时序和组合逻辑器件逻辑门晶体管固体物理分析…综合……调度程序执行结果:算法操作系统汇编语言ISA与机器语言微指令布尔代数与真值表计算机系统软硬件集成的过程桥梁属性的课程设定计算机系统的抽象层次应用程序(高级语言表示的算法)系统软件(编译器和操作系统)指令集架构数据通路和控制时序和组合逻辑器件逻辑门晶体管固体物理课程前半期
回顾回想一下在前半个学期,本门课程学习过什么内容。如果请你来设计期中考题,请根据在自己学习过程中,感觉重要或困难的问题,为其他同学设计1~3道简答题。作答主观题50分0402概论基础010305通过简单的原型机模型,再现程序在的机器层级执行,诸多“意想不到”执行结果的底层原因。概论基础信息的表示与处理执行的底层视角存储的底层视角初识体系结构初步认识汇编语言的重要指令及其含义,识别高级算法逻辑在汇编层级的的机器级表达,尤其是寻址方式。汇编基础&从32b到64b系统简单的五级指令流水(高级语言)程序在机器层级执行的细节,如程序的控制、过程调用、数据访问在机器层级的实现及常见的黑客攻击手段与原理等。程序的机器级表示理解数据在机器底层的基本表示方式,2/8/16进制,整数(有符号数&无符号数)以及浮点数的表示与运算。信息存储与表达回顾《计算机系统》链接上篇《计算机系统》课程教学组2025年春季学期曾经……你是否遇到过库静态库共享库链接器本章内容库静态库共享库链接器本讲内容链接的意义链接器的输入链接器的工作步骤链接的起源用符号表示跳转位置和变量位置?汇编语言中用助记符表示操作码用符号表示位置高级编程语言出现程序越来越复杂,需多人开发不同的程序模块子程序(函数)起始地址和变量起始地址是符号定义(definition)调用子程序(函数或过程)和使用变量即是符号的引用(reference)一个模块定义的符号可以被另一个模块引用最终通过链接(即合并)形成可执行文件,合并时须在符号引用处填入定义处的地址如上例,先确定L0的地址,再在jmp指令中填入L0的地址0:01010110……1:001001012:……3:……4:……5:01100111……6:……add0xB,%ebxjmpL0
……
…………L0:sub0xC,%ecx……示例intbuf[2]={1,2};
intmain(){swap();return0;}main.cswap.cexternintbuf[];
int*bufp0=&buf[0];staticint*bufp1;voidswap(){inttemp;bufp1=&buf[1];temp=*bufp0;*bufp0=*bufp1;*bufp1=temp;}静态链接编译器驱动程序(compilerdriver)对程序进行翻译和链接:$gcc-O2-g-opmain.cswap.c$./pLinker(ld)Translators(cpp,cc1,as)main.cmain.oTranslators(cpp,cc1,as)swap.cswap.op源文件分离编译可重定位目标文件完全链接的可执行目标文件(containscodeanddataforallfunctionsdefinedinmain.candswap.c)为什么链接Reason1:模块化
程序可写成一组小规模的源代码,而不是一个大规模的代码程序
对通用功能构造成库
例如,Mathlibrary,standardClibraryReason2:效率时间上:单独编译一个源文件发生变化,则单独编译,再重链接不需要重编译其他无变化的源文件空间上:库功能函数可聚合为一个单独的文件可执行文件仅包括其实际使用的函数代码为什么链接(续)一旦理解了链接帮助编程者构建大型程序帮助编程者避免危险的编程错误帮助理解语言的作用域规则如何实现帮助理解其他重要的系统概念加载和运行程序虚拟存储器分页和存储器映射能够利用共享库链接器做了什么?Step1.符号解析symbolresolution定义和引用符号(变量和函数):voidswap(){…}/*definesymbolswap*/swap();/*referencesymbola*/int*xp=&x;/*definesymbolxp,referencex*/符号定义由编译器保存在符号表符号表是一个结构数组符号表每一行包括符号名、大小和保存位置链接器做了什么?Step1.符号解析symbolresolution定义和引用符号(变量和函数):voidswap(){…}/*definesymbolswap*/swap();/*referencesymbola*/int*xp=&x;/*definesymbolxp,referencex*/符号定义由编译器保存在符号表符号表是一个结构数组符号表每一行包括符号名、大小和保存位置等信息Step1.符号解析symbolresolution定义和引用符号(变量和函数):voidswap(){…}/*definesymbolswap*/swap();/*referencesymbola*/int*xp=&x;/*definesymbolxp,referencex*/符号定义由编译器保存在符号表符号表是一个结构数组符号表每一行包括符号名、大小和保存位置链接器做了什么?Step1.符号解析symbolresolution定义和引用符号(变量和函数):voidswap(){…}/*definesymbolswap*/swap();/*referencesymbola*/int*xp=&x;/*definesymbolxp,referencex*/符号定义由编译器保存在符号表符号表是一个结构数组符号表每一行包括符号名、大小和保存位置链接器做了什么?链接器做了什么?Step1.符号解析symbolresolution定义和引用符号(变量和函数):voidswap(){…}/*definesymbolswap*/swap();/*referencesymbola*/int*xp=&x;/*definesymbolxp,referencex*/符号定义由编译器保存在符号表符号表是一个结构数组符号表每一行包括符号名、大小和保存位置链接器将每个符号引用与相应的符号定义关联起来链接器做了什么?Step2.重定位
relocation将各自代码的部分和数据的部分合并到一起将.o文件中符号的相对位置重定位到可执行文件中该符号相应的绝对存储位置更新所有的符号引用到其绝对位置再看示例/*main.c*/externintadd(int,int);intmain(){returnadd(20,13);}/*test.c*/intadd(inti,intj){intx=i+j;returnx;}00000000<add>: 0:55 push%ebp 1:89e5mov%esp,%ebp 3:83ec10sub$0x10,%esp 6:8b450cmov0xc(%ebp),%eax 9:8b5508mov0x8(%ebp),%edx c:8d0402lea(%edx,%eax,1),%eaxf:8945fcmov%eax,-0x4(%ebp) 12:8b45fcmov-0x4(%ebp),%eax 15:c9leave 16:c3ret080483d4<add>:80483d4:55push%ebp80483d5:89e5mov%esp,%ebp80483d7:83ec10sub$0x10,%esp80483da:8b450cmov0xc(%ebp),%eax80483dd:8b5508mov0x8(%ebp),%
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年河南省开封市法官逐级遴选考试题及答案
- 2026年河北省检察官、法官入员额考试真题(附答案)
- 抗真菌药物总结
- 高中数学第二册(下)第十章第二节排列与组合
- 2026年班主任技能大赛中学物理教材教法真题卷
- 组织文化认同感测量标准
- 绿色施工示范工程培训与审查培训
- 青岛版数学四上《三位数乘两位数的口算》课件
- 语文上册葡萄是酸的2课件沪教版
- 等可能时间的概率
- 临床护理实践指南手术室器械传递
- 医院手术室无影灯安装方案
- 2026年新修订《中国共产党发展党员工作细则》逐条全文精讲(权威完整版)
- 墙面抹灰空鼓开裂修补方案
- 2026秋新教材粤教粤科版小学科学五年级上册(全册)教学设计(附目录p194)
- 林木采伐专项施工方案
- 康复护理评定的常用方法
- 2026新教材语文 统编版语文五年级上册 第六单元 《口语交际:父母之爱》教学课件
- 汽车服务工程技术专业教学标准(高等职业教育本科)2025修订
- 监理旁站方案-示范文本
- SCG层析工作站操作手册V37
评论
0/150
提交评论