2018-2019-1 20165316 《信息安全系统设计基础》第四周学习总结
教材学习内容总结
- 一个处理器支持的指令和指令的字节级编码称为它的指令体系结构(Instruction-Set Architecture,ISA)。
- 冒险就是一条指令的位置或操作数依赖于其他仍在流水线中的指令。
- 程序员可见状态包含程序寄存器(RF)、条件码(CC)、程序状态(Stat)、内存(DMEM)、程序计数器(PC)、状态码指明程序是否运行正常,或者发生了某个特殊事件。
- 程序寄存器15个,条件码3个。
- 寄存器%rsp被入栈、出栈、调用和返回指令作为栈指针。
- 内存从概念上来说就是一个很大的字节数组,保存着程序和数据。
- Y86-64指令集基本上是x86-64指令集的一个子集。它只包括8字节整数操作,寻址方式较少,操作也较少。
- 指令编码长度从1个字节到10个字节不等。具体每个指令的指令指示符见P246,P247和P248
- 将很多的逻辑门组合成一个网,就能构建计算块,称为组合电路。
- 组合逻辑电路可以设计成在字级数据上执行许多不同类型的操作。算术/逻辑单元(ALU)是一种很重要的组合电路。(P261)
- 处理阶段包含取指、译码、执行、访存、写回、更新PC。
12 .SEQ的硬件结构
13 . Y86-64的流水线实现(SEQ+)
14 . PIPE的硬件结构
代码托管
上周考试错题总结
x86-64中指令长度是(F)字节
A .
1
B .
2
C .
4
D .
1-4
E .
1-8
F .
1-15
G .
1-16
H .
以上都不对
解析:课本p116
x86-64的指令长度从1到15个字节不等
假设%rax中的值为x, %rcx中的值为y,关于leaq指令,下面正确的(AC)
A .
leaq 6(%rax), %rdx; %rdx中值为6+x
B .
leaq 6(%rax), %rdx; %rdx中值为6x
C .
leaq 7(%rax, %rax,8), %rdx; %rdx中值为9x
D .
leaq 7(%rax, %rax,8), %rdx; %rdx中值为63x
E .
leaq 7(%rax, %rax,8), %rdx; %rdx中值为15x
解析:p129
其他(感悟、思考等,可选)
这本书(深入理解计算机系统)用第三、第四两章讲解了我们上个学期用一个学期学习的汇编知识,从物理层面到二进制机器码,再到汇编语言,而后高级语言,循序渐进,让我对计算机系统有了一个深刻的了解,但是,要做到“学会”仍然差很远。而且因为覆盖面很广,导致我在学习时产生了慌不择路,学的知识广而不精的问题,希望在之后的学习中能够克服这一点。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | |
---|---|---|---|
目标 | 1000行 | 30篇 | 400小时 |
第一周 | 156/200 | 2/2 | 20/20 |
第二周 | 121/200 | 2/2 | 18/30 |
第三周 | 107/200 | 2/2 | 15/30 |
第四周 | 111/200 | 2/2 | 16/30 |