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/0 | 1/1 | 10/10 | |
第三周 | 200/200 | 2/3 | 10/20 | |
第四周 | 100/300 | 1/4 | 10/30 | |
第五周 | 200/500 | 3/7 | 10/40 | |
第六周 | 500/1000 | 2/9 | 30/70 | |
第七周 | 500/1500 | 2/11 | 15/85 |
计划学习时间:15小时
实际学习时间:15小时
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)
参考资料
《深入理解计算机系统V3》学习指导相关文章推荐
- 2017-2018-1 20155322 《信息安全系统设计》第一周学习总结
- 20162308 2017-2018-2 《程序设计与数据结构》第七周学习总结
- 20155212 2017-2018-1 《信息安全系统设计》第10周学习总结
- 2017-2018-1 20155230 《信息安全系统设计基础》第七周学习总结
- 2017-2018-1 20155220 《信息安全系统设计基础》第七周学习总结
- 2017-2018-1 20155235 《信息安全系统设计基础》第七周学习总结
- 20155212 2017-2018-1 《信息安全系统设计》第8周学习总结
- 2017-2018-1 20155321 《信息安全系统设计基础》第七周学习总结
- 2017-2018-1 20155338 《信息安全系统设计基础》第七周学习总结
- 2017-2018-1 20155331 《信息安全系统设计基础》第七周学习总结
- 2017-2018-1 20155225 《信息安全系统设计基础》第七周学习总结
- 20155322 2017-2018-1《信息安全系统设计》第十一周学习总结
- 20162330 2017-2018-1《程序设计与数据结构》第七周学习总结
- 20155212 2017-2018-1 《信息安全系统设计》第9周学习总结
- 20155335俞昆 2017-2018-1 《信息安全系统设计》第9周学习总结
- 20155212 2017-2018-1 《信息安全系统设计》第7周学习总结
- 2017-2018-1 20155339 《信息安全系统设计基础》第七周学习总结
- 20155212 2017-2018-1 《信息安全系统设计》第5周学习总结
- 20155325 2017-2018-1 《信息安全系统设计基础》第七周学习总结