2017-2018-1 20155308 《信息安全系统设计基础》第7周学习总结
2017-11-05 21:43
190 查看
2017-2018-1 20155308 《信息安全系统设计基础》第7周学习总结
教材学习内容总结
指令集体系结构(ISA):一个处理器支持的指令和指令的字节级编码Y86指令
只包括四字节整数操作
movl分为irmovl rrmovl mrmovl rmmovl
整数指令:addl subl andl xorl
跳转指令:jmp jle jl je jne jge jg
条件传送指令:cmovle cmovl cmove cmovne cmovge cmovg
逻辑门
AND:&&
OR:||
NOT:!
存储器和时钟
时序电路:有状态并在这个状态上进行计算的系统
时钟寄存器:存储单个位或字,时钟信号控制寄存器加载输入值
随机访问存储器:存储多个字,用地址来选择该读或改写哪个字(处理器的虚拟存储器系统、寄存器文件)
寄存器作为电路不同部分中的组合逻辑之间的屏障,每当每个时钟到达上升沿的时候,值才会从寄存器的输入传送到输出
Y86的顺序实现
将处理组织成阶段
取值:从存储器读取指令字节,地址为程序计数器PC的值,icod指令代码、ifun指令功能、valc四字节常数、valp下一条指令的地址=PC值+已取出指令长度
译码
执行:算数/逻辑单元要么执行指令指明的操作计算存储器引用的有效地址,要么增加或减少栈指针,得到的值称为valE
访存
写回:最多可以写两个结果到寄存器文件
更新PC:将PC设置成下一条指令地址
SEQ硬件结构
取值:将程序计数器寄存器作为地址,指令存储器读取指令的字节
译码:两个读端口,读寄存器valA和valB
执行:根据指令的类型,将算数/逻辑单元用于不同的目的
访存:数据存储器读出或写入一个存储器字
SEQ阶段的实现
取指:以PC作为第一个字节的地址,这个单元一次从存储器读出6个字节
译码和写回:两个读和两个写端口,每个端口都有一个地址连接和一个数字连接
执行:根据alufun信号的设置,对输入的aluA和aluB执行ADD SUBTRACT AND EXCLUSIVE-OR运算,ALU的输出就是valE信号
访存:读或写程序数据
更新PC:依据指令的类型和是否要选择分支,新的PC可能是valC、valM或valp
实验楼实验
创建YIS环境创建文件夹并进入
去网站下载sim压缩包
解压
进入sim文件夹并安装bison flex tk
sudo ln -s
make
/usr/lib/x86_64-linux-gnu/libtk8.6.so /usr/lib/libtcl.so
测试
cd y86-code
make xxx.yo
教材学习中的问题和解决过程
问题一.教材练习题4.12:写一个电路的HCL代码,对于输入字A\B和C,选择中间值,也就是,输出等于三个输入中居于最小值和最大值之间的那个字。这个问题是一个很简单的问题,当时我在看书的时候,觉得1...:x不是很理解,后来多看了几个例子,感觉这个是一个比较简单的简写。
word Ned3 = { A <= B && B <= C : B; C <= B && B <= A : B; B <= A && A <= C : A; C <= A && A <= B : A; 1 ;C }
其实等价于
word Ned3 = { A <= B && B <= C : B; C <= B && B <= A : B; B <= A && A <= C : A; C <= A && A <= B : A; A <= C && C <= B : C; B <= C && C <= A : C; }
代码调试中的问题和解决过程
无代码托管
上周考试错题总结
无其他(感悟、思考等,可选)
这周学习了新的处理器环境,感觉在刚接触的时候,不是很习惯,然后觉得看书也不是很能看懂,通过一些习题的练习和实验楼的实验,我感觉稍微有点感觉了,但是还需努力!学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第三周 | 500/1000 | 2/11 | 22/60 |
计划学习时间:25小时
实际学习时间:30小时
改进情况:学习时间有所增长
相关文章推荐
- 2017-2018-1 20155308 《信息安全系统设计基础》第四周学习总结(第四周测试)
- 2017-2018-1 20155302 《信息安全系统设计基础》第7周学习总结
- 2017-2018-1 20155226《信息安全系统设计基础》第7周学习总结
- 2017-2018-1 20155211 《信息安全系统设计基础》第7周学习总结
- 2017-2018-1 20155316 《信息安全系统设计基础》第7周学习总结
- 2017-2018-1 20155335 俞昆 《信息安全系统设计基础》第7周学习总结
- 2017-2018-1 20155308 《信息安全系统设计基础》第十一周学习总结
- 2017-2018-1 20155323 《信息安全系统设计基础》第7周学习总结
- 2017-2018-1 20155329 《信息安全系统设计基础》第7周学习总结
- 2017-2018-1 20155308 《信息安全系统设计基础》第三周学习总结
- # 2017-2018-1 20155337《信息安全系统设计基础》第7周学习总结
- 2017-2018-1 20155306 《信息安全系统设计基础》第7周学习总结
- 2017-2018-1 20155239 《信息安全系统设计基础》第7周学习总结
- 20155308 2017-2018-1 《信息安全系统设计基础》第十三周学习总结
- 2017-2018-1 20155314 《信息安全系统设计基础》第7周学习总结
- 2017-2018-1 20155223 《信息安全系统设计基础》第7周学习总结
- 2017-2018-1 20155308 《信息安全系统设计基础》第九周学习总结
- 20155236 2017-2018-1 《信息安全系统设计基础》第7周学习总结
- 2017-2018-1 20155330 《信息安全系统设计基础》第7周学习总结
- 2017-2018-1 20155231 《信息安全系统设计基础》第7周学习总结