十天精读掌握计算机组成与设计:第2天 2018/10.25
1. 第4次周计划概览2. 今日学习成果今日成果简述完成如下目录学习今日笔记
3. 今日时间表4. 今日反思5. 明日目标
今天是 2年修完清华6个CS硕士学位第36天
1. 第4次周计划概览
接下来10天,我将开启第一次主宰力量系列计划(2年精读彻底掌握40本国外计算机类类传世之作)。
第一次主宰力量计划之10天精读掌握 计算机组成与设计(COAD:Patterson and Hennessy,500页)
○ 教材网址:https://book.douban.com/subject/10441748/
○ 作者简介:
§ John L. Hennessy 斯坦福大学校长
§ David A. Patterson 加州大学伯克利分校计算机科学系教授,美国国家工程研究院院士,IEEE和ACM会士
○ 计划时间: 10.24~11.2号(这是2年修完清华6个CS硕士学位之第35天~45天,第4次周计划)
○ 学习时间:平均每天至少核心学习时间达到13小时,10天高效率学习130小时。
○ 伏笔:我对本书的难度也不太了解,如果部分内容难度过高我可能需要13~15天才能完成本教材的学习。
○ 辅助学习视频:
北京大学-计算机组成:http://www.chinesemooc.org/kvideo.php?do=kvideo_announcement&kvideoid=4392&classesid=1967
2. 今日学习成果
今日评分:82分(效率中等)
今日成果简述
理解MIPS寄存器的约定(关于调用过程中是否被系统自动被压入栈的约定,即哪些寄存器属于保护寄存器)掌握在二进制补码的表示方法下取反的步骤了解计算机对数字的四种不同的表示方法掌握符号拓展的方法掌握开辟栈空间的方法以及栈指针变化的规律理解过程调用的流程以及相关特殊寄存器的作用(存放参数的寄存器,存放返回值的寄存器,存在返回地址的寄存器)掌握过程调用相关指令 jal jr理解栈内内容的排列顺序(先进的内容地址越高)理解PC寄存器功能和使用场景掌握指令NOR,并理解他能代替NOT的作用理解branch指令理解根据越小越快原则,MIPS不提供“小于则分支”指令知道C语言要人为分配堆的内存的机制,以及这么设计造成的两个灾难问题知道内存分配的约定(栈 堆 静态数据 动态数据 代码段的排列顺序)理解编译器设计的这个优化功能的原理和目的:当编译器遇到一个叶过程,它会在用完所有临时寄存器之后,才使用那些“保存寄存器”;理解MIPS设计3种指令结构的原因以及所采用的设计思想(中庸之道)掌握MIPS I R J三种指令结构的区别和使用场景知道字符串的三种表示方法,C和JAVA使用不同的表示法理解MIPS的字节传输指令(lb,lh,lhu,lbu,sb,sh)理解四个比较指令(slt,slti,sltu,sltiu)理解MIPS体系保留at寄存器的原因掌握MIPS加载32位常熟的方法(lui+ori或addi)实战1:使用MIPS实现if-else语句实战2:使用MIPS实现whle语句实战3:数组标号是否越界的非精确简便检查方法实战4: 使用汇编语言+栈结构实现C程序阶乘递归实战5:使用汇编语言实现C字符串的复制
完成如下目录学习
今日笔记
3. 今日时间表
4. 今日反思
今日效率非常低,核心学习时间11小时;今日仅仅学了10节(40页),这个速度我不满意。但是作者有些地方写的并不好影响我学习的速度。。
5. 明日目标