2017-2018-1 20155306 《信息安全系统设计基础》第7周学习总结
2017-2018-1 20155306 《信息安全系统设计基础》第7周学习总结
教材学习内容总结
第四章 处理器体系结构
4.1 Y86指令集体系结构
-
程序可见状态:每条指令都会读取或修改处理器状态的某些部分
存储器:Y86用虚拟地址引用存储器位置,硬件和操作系统联合起来将虚拟地址翻译成实际或物理地址
-
movl分为irmovl rrmovl mrmovl rmmovl
四个整数指令:addl subl andl xorl
7个跳转指令:jmp jle jl je jne jge jg
6个条件传送指令:cmovle cmovl cmove cmovne cmovge cmovg
-
指令的字节级编码:每条指令需要1~6个字节不等,第一个字节表示指令类型,分为两部分,高四位是代码部分,低四位是功能部分
-
附加寄存器指示符字节:指定一个或者两个寄存器。
-
附加4字节的常数字:作为irmovl的立即数数据,rmmovl和mrmovl的地址指示符的偏移量,以及分支指令和调用指令的目的地址。
4.2 逻辑设计和硬件语言HCL
- 实现一个数字系统需要三个主要的组成部分:计算对位进行操作的函数的组合逻辑、存储位的存储器元素,以及控制存储器元素更新的时钟信号
- HCL中,将所有字级的信号都声明为int,不指定字的大小,HCL允许比较字是否相等
- 时序电路:有状态并在这个状态上进行计算的系统
- 时钟寄存器:存储单个位或字,时钟信号控制寄存器加载输入值
- 大多数时候,寄存器都保持在稳定状态(x),产生的输出等于它的当前状态。信号沿着寄存器前面的组合逻辑传播,这时,产生了一个新的寄存器输入(y),但只要时钟是低电位的,寄存器的输出就仍然保持不变。当时钟变成高电位的时候,输入信号才加载到寄存器中,成为下一个状态y,直至下一个时钟的上升沿。
4.3 Y86顺序实现
- PIPE处理一条指令包括的操作:
a) 预测PC和取指:将PC内容作地址,从指令存储器读指令,预测下一跳PC地址。
b) 译码:读两个操作数的寄存器值。
c) 执行:根据指令类型,将算数/逻辑单元ALU用于不同操作,包括设置条件码。
d) 访存:数据存储器写入或读出一个存储器字。
e) 写回:写从ALU计算出来的值或者从存储器读出的值。
f) 更新PC
- 流水线化:每个时钟周期,一条指令离开系统,一条新的进入,特点:
a) 流水线化增加了系统的吞吐量,但会轻微的增加延迟(增加了流水线寄存器)。
b) 不一致的阶段延迟造成的流水线技术的局限性:系统吞吐量受最慢阶段速度限制。
c) 流水线过深,收益反而下降,流水线寄存器成为吞吐量的一个制约因素。
- 每个时钟周期都有下面特点:
a) 程序寄存器都会装载新的指令地址
b) 只有在执行整数运算指令时才会装载条件码寄存器
c) 只有在执行rmmovl、pushl、call指令时才会写数据存储器
Y86模拟器安装
根据实验楼实验步骤,构建YIS环境,并进行测验结果如下:
课本部分练习题:
代码调试中的问题和解决过程
-
问题1:在实验楼安装Y86模拟器安装,出现下图权限不够的情况:
-
解决:在命令前加 sudo,就可解决所有的权限问题。运行成功如下:
-
问题二:make all命令没有预期的汇编码,出现下图情况:
-
解决:.ys文件已经是汇编代码文件了,make xx.yo才会出现汇编代码。因此现在使用cat xx.ys就可以看到代码了。
代码托管
(statistics.sh脚本的运行结果截图)
上周考试错题总结
其他(感悟、思考等,可选)
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 20/20 | 1/2 | 10/15 | 第一章 |
第三周 | 130/210 | 1/2 | 21/36 | 第二章 |
第四周 | 70/ 280 | 1/4 | 10/46 | 第十章 |
第五周 | 91 / 371 | 1/6 | 23/69 | 第三章 |
第六周 | 308 / 648 | 1/8 | 31/100 | 第八、十章 |
第七周 | 2200 /2848 | 1/10 | 25/125 | 第四章 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。 | ||||
耗时估计的公式 | ||||
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。 |
-
计划学习时间:25小时
-
实际学习时间:20小时
-
改进情况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)