您的位置:首页 > 其它

20155322 2017-2018-1《信息安全系统设计》第七周学习总结

2017-11-04 23:21 351 查看

# 20155322 2017-2018-1《信息安全系统设计》第七周学习总结

教材学习内容总结

第四章:

关于ISA:

一个处理器支持的指令和指令的字节级编码就是这个处理器的ISA

ISA包括:指令集、指令集编码、基本数据类型、一组编程规范、寄存器、寻址模式、存储体系、异常事件处理、中断和外部I/O

ISA在编译器编写者(CPU软件)和处理器设计人员(CPU硬件)之间提供了一个抽象层:

处理器设计者:依据ISA来设计处理器

处理器使用者(如:写编译器的牛*程序员):依据ISA就知道CPU选用的指令集,就知道自己可以使用哪些指令以及遵循哪些规范

关于Y86:

程序员的可见状态:寄存器、存储器、条件码、PC和程序状态。

8个寄存器,每个寄存器存储32位

条件码是一个二进制的寄存器

pc记录当前正在执行的指令的地址

Y86可使用虚拟地址访问存储器

教材学习中的问题和解决过程

问题:x86和y86有什么不同?

解决:通过上网搜索,我了解到其实Y86指令是不存在的,这是教材作者受到 IA32指令,也就是“x86”的启发,所假想出来的一种处理器体系结构,Y86指令集的数据类型、指令和寻址方式都要少一些,字节级编码也比较简单。但是它仍然足够完整。

补充:Y86的基本指令



halt :这个指令会停止指令的执行。在IA32中有个与之相当的指令 hlt,不过IA32的应用程序不允许使用这条指令,因为它会导致整个系统暂停运行。而对于Y86来讲,执行 halt 指令会导致处理器停止,并将状态码设置为 HLT。

nop:这是一个占位指令,它不做任何事情,后续为了实现流水线,它有一定的作用。

xxmovl:这是一系列的数据传送指令,其中r代表寄存器,m代表存储器,i代表立即数。比如rrmovl指令,则代表将一个寄存器的值,赋给另外一个寄存器。

OPl:这包括4个整数操作指令,addl、subl、andl和xorl。他们只对寄存器数据进行操作。

jXX:包括7个跳转指令,jmp,jle,jl,je,jne,jge,jg。根据分支指令的类型和条件码的设置来选择分支。

cmovXX:包括6个条件传送指令,cmovle,cmovl,cmove,cmovne,cmovge和cmovg,只发生在两个寄存器之间,不会将数据传送到存储器。

call:指令将返回地址入栈,然后跳到目的地址。

ret:call是过程调用,ret是返回。将返回地址入PC,并跳到返回地址。

pushl和popl:指令实现了地址的入栈和出栈

代码调试中的问题和解决过程

本周结对学习情况

-20155302



结对学习内容:

教材第四章

代码托管

其他(感悟、思考等,可选)

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时
第一周0/01/110/10
第三周200/2002/310/20
第四周100/3001/410/30
第五周200/5003/710/40
第六周500/10002/930/70
第七周500/15002/1115/85
参考:软件工程软件的估计为什么这么难软件工程 估计方法

计划学习时间:15小时

实际学习时间:15小时

(有空多看看现代软件工程 课件

软件工程师能力自我评价表)

参考资料

《深入理解计算机系统V3》学习指导
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: