2017-2018-1 20155218 《信息安全系统设计基础》第7周学习总结
教材学习内容总结
- ISA是一个处理器支持的指令和指令的字节级编码
- 冒险是一条指令的位置或操作数依赖与其仍在流水线中的指令。
- 内存从概念上来说就是一个很大的字节数组,保存着程序和数据。
- 指令集的一个重要性质就是字节编码必须有唯一的解释。
- Y86-64指令集
- 以上指令的作用
halt
这个指令将会终止指令的执行
nop
这是一个占位指令,他不做任何事,后续为了实现流水线,它有一定的作用
xxmovl
这是一系列的数据传送指令,其中r代表寄存器,m代表存储器,i代表立即数.比如rrmov指令,则代表将一个寄存器的值,赋给另外一个寄存器
opl
操作指令,比如加法,减法等等
jxx
条件跳转指令,,根据后面的条件进行跳转
cmovxx
条件传送指令,后面的xx代表的是条件.特别的是,条件传送只发生在两个寄存器之间,不会将数据传送到存储器.
call与ret
方法的调用和返回指令.一个将返回地址入栈,并跳到目标地址.一个将返回地址入PC,并跳到返回地址.
push和pop
入栈和出栈操作
- Y86异常
对Y86来说,程序员可见的状态中就有stat状态码,它标志了程序执行的状态.Y86需要有能力根据stat去做一些处理.捕获为了简单起见,这里除了正常执行之外,都将停止指令的执行.真实当中,会有专门的异常处理程序.
Y86有四种不同的状态码:AOK(正常),HTL(执行halt指令),ADR(非法地址)和INS(非法指令).
8. 逻辑门是数字电路的基本计算元素,它们产生的输出,等于它们输入位值的某个布尔函数。如下图:
9. 常用的存储设备类型:
(1)时钟寄存器:简称寄存器,存储单个位或字。时钟信号控制寄存器加载输入值。
(2)随机访问存储器:简称存储器,存储多个字,用地址来选择该读或者该写哪个字。
10. SEQ的硬件结构
教材学习中的问题和解决过程
- 问题1:Y86和X86的区别
- 问题1解决方案:
有时候Y86需要两条指令来达到X86一条指令就可以达成的目的.比如对于X86指令中的addl$4,%ecx这样的指令,由于Y86当中的addl指令不包含立即数,所以Y86需要先将立即数存如寄存器,即使用irmovl指令,然后再使用addl来处理加法运算.
总的来说,Y86就是X86的一个缩减版,他的目的就是以简单的结构来实现一个处理器,帮助我们了解处理器的设计和实现.
- 问题2:组合电路的限制
- 问题2解决方案:
(1)两个或多个逻辑门的输出不能连在一起。否则它们可能会导致线上的信号矛盾,可能会导致一个不合法的电压或电路故障。
(2)这个网必须是无环的,也就是在网中不能有路径经过一系列的门而形成一个回路,这样的回路会导致该网络计算的函数有歧义。
代码调试中的问题和解决过程
- 问题1:构建YIS环境
- 问题1解决方案:
- 问题2:YIS
- 问题2解决方案:
代码托管
(statistics.sh脚本的运行结果截图)
上周考试错题总结
- 错题1及原因,理解情况
- 错题2及原因,理解情况
- ...
结对及互评
点评模板:
- 博客中值得学习的或问题:
- xxx
- xxx
- ...
- 代码中值得学习的或问题:
- xxx
- xxx
- ...
- 其他
本周结对学习情况
- [20155205](博客链接)
- 结对照片
- 结对学习内容
- XXXX
- XXXX
- ...
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第七周 | 193/1421 | 1/6 | 10/38 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
-
计划学习时间:XX小时
-
实际学习时间:XX小时
-
改进情况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)