2017-2018-1 20155222 《信息安全系统设计基础》第7周学习总结
教材学习内容总结
学习目标
了解ISA抽象的作用
掌握ISA,并能举一反三学习其他体系结构
了解流水线和实现方式
80x86指令系统,指令按功能可分为以下七个部分。
(1) 数据传送指令。
(2) 算术运算指令。
(3) 逻辑运算指令。
(4) 串操作指令。
(5) 控制转移指令。
(6) 处理器控制指令。
(7) 保护方式指令。
x86 指令编码的核心是:Opcode、ModRM 以及 SIB。Opcode 提供指令的操作码,ModRM 及 SIB 提供操作数的寻址模式。
RISC(精简指令集计算机)和CISC(复杂指令集计算机)是当前CPU的两种架构。它们的区别在于不同的CPU设计理念和方法。
早期的CPU全部是CISC架构,它的设计目的是要用最少的机器语言指令来完成所需的计算任务。比如对于乘法运算,在CISC架构的CPU上,您可能需要这样一条指令:MUL ADDRA, ADDRB就可以将ADDRA和ADDRB中的数相乘并将结果储存在ADDRA中。将ADDRA, ADDRB中的数据读入寄存器,相乘和将结果写回内存的操作全部依赖于CPU中设计的逻辑来实现。这种架构会增加CPU结构的复杂性和对CPU工艺的要求,但对于编译器的开发十分有利。比如上面的例子,C程序中的a*=b就可以直接编译为一条乘法指令。今天只有Intel及其兼容CPU还在使用CISC架构。
RISC架构要求软件来指定各个操作步骤。上面的例子如果要在RISC架构上实现,将ADDRA, ADDRB中的数据读入寄存器,相乘和将结果写回内存的操作都必须由软件来实现,比如:MOV A, ADDRA; MOV B, ADDRB; MUL A, B; STR ADDRA, A。这种架构可以降低CPU的复杂性以及允许在同样的工艺水平下生产出功能更强大的CPU,但对于编译器的设计有更高的要求。
教材学习中的问题和解决过程
- 问题1:HCL语言和我们学过的HDL语言有什么联系
- 问题1解决方案:HCL(hardware control language,硬件控制语言),编程语言,用来模拟计算机逻辑 。HCL具有一些硬件描述语言的特性,允许用户描述布尔函数和字级选择操作。另一方面,它缺乏很多在真正的HDL(Hardware Description Language,硬件描述语言)中能找到的特性。例如,声明寄存器和其他存储元素的方法,循环和条件构造,模块定义和实例化的能力,以及位提取和插入操作。
代码托管
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 6/6 | 1/1 | 20/20 | |
第二周 | 117/123 | 1/2 | 5/25 | |
第三周 | 83/206 | 1/3 | 5/30 | |
第四周 | 97/303 | 1/4 | 5/35 | |
第五周 | 61/364 | 1/5 | 5/40 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
-
计划学习时间:XX小时
-
实际学习时间:XX小时
-
改进情况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)