2017-2018-1 20155224 《信息安全系统设计基础》第七周学习总结
教材学习内容总结
-
Y86-64程序中的每条指令都会读取或修改处理器状态的某些部分,这称为程序员可见状态。
-
Y86-64的状态类似于X86-64,有十五个程序寄存器:&rax、&rcx……,每个程序寄存器存储一个64为的字。
-
内存从概念上来说就是一个很大的字节数组,保存程序和数据。Y86-64程序用虚拟地址来引用内存位置。
-
Y86-64指令集
-
Y86-64指令集功能码
-
Y86-64程序寄存器标识符
-
Y86-64的顺序实现
- 取指:从内存读取指令字节
- 译码:从寄存器文件读入最多两个操作数
- 执行:算术/逻辑单元执行指令致命的操作、计算内存引用的有效地址;或增加/减少指针。
- 访存:将数据写入内存或从内存读出数据。
- 写回:最多可以写两个结果到寄存器文件
- 更新:将pc设置成下一条指令的地址
- SEQ顺序
- 取指:将程序计数器寄存器作为地址,指令内存读取指令的字节
- 译码:从读端口A、B同时读寄存器值valA和valB
- 执行:根据指令类型,将算术/逻辑单元用于不同的目的
- 访存:数据内存读出或写入一个内存字
- 写回:两个文件端口分别用来写ALU计算出来的值和写从数据内存中独处的值
- pc更新:
教材学习中的问题和解决过程
(一个模板:我看了这一段文字 (引用文字),有这个问题 (提出问题)。 我查了资料,有这些说法(引用说法),根据我的实践,我得到这些经验(描述自己的经验)。 但是我还是不太懂,我的困惑是(说明困惑)。【或者】我反对作者的观点(提出作者的观点,自己的观点,以及理由)。 )
- 问题1:过程抽象是什么
- 问题1解决方案:在C语言中,过程抽象的结果是模块。模块包含接口和实现。接口要指明该模块要做什么,内容主要包含标识符、类型定义和函数。
在C语言中,接口一般通过头文件的形式呈现。作为函数调用者角色的程序员,只要了解模块的接口就可以使用模块了
代码托管
(statistics.sh脚本的运行结果截图)
上周考试错题总结
无考试
结对及互评
点评模板:
- 博客中值得学习的或问题:
- xxx
- xxx
- ...
- 代码中值得学习的或问题:
- xxx
- xxx
- ...
- 其他
本周结对学习情况
- [20155219](http://www.cnblogs.com/paypay/)
- 结对照片
- 结对学习内容
- 第四章教材内容及相关代码
其他(感悟、思考等,可选)
本周学习了Y86-64指令,及HCL硬件描述语言。与之前学过的逻辑电路有些相似。
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
-
计划学习时间:XX小时
-
实际学习时间:XX小时
-
改进情况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)