2017-2018-1 20155218 《信息安全系统设计基础》第7周学习总结

2017-2018-1 20155218 《信息安全系统设计基础》第7周学习总结

教材学习内容总结

  1. ISA是一个处理器支持的指令和指令的字节级编码
  2. 冒险是一条指令的位置或操作数依赖与其仍在流水线中的指令。
  3. 内存从概念上来说就是一个很大的字节数组,保存着程序和数据。
  4. 指令集的一个重要性质就是字节编码必须有唯一的解释。
  5. Y86-64指令集
  6. 以上指令的作用

halt
这个指令将会终止指令的执行

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

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

opl
操作指令,比如加法,减法等等

jxx
条件跳转指令,,根据后面的条件进行跳转

cmovxx
条件传送指令,后面的xx代表的是条件.特别的是,条件传送只发生在两个寄存器之间,不会将数据传送到存储器.

call与ret
方法的调用和返回指令.一个将返回地址入栈,并跳到目标地址.一个将返回地址入PC,并跳到返回地址.

push和pop
入栈和出栈操作

  1. 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小时

  • 改进情况:

(有空多看看现代软件工程 课件
软件工程师能力自我评价表
)

参考资料

原文地址:https://www.cnblogs.com/xzh1996/p/7788055.html