20155212 2017-2018-1 《信息安全系统设计》第7周学习总结

20155212 2017-2018-1 《信息安全系统设计》第7周学习总结

教材学习内容总结

Chapter 4

  • 定义一个指令集包括
    • 状态单元
    • 指令集
    • 编码
    • 编程规范
    • 异常事件处理
  • 程序员可见状态:每条指令都会读取或修改处理器状态的某些部分
  • 状态码Stat:表明程序执行的总体状态
  • 执行字级计算的组合电路根据输入字的各个位,用逻辑门来计算输出字的各个位
  • 组合电路从本质上讲,不存储任何信息,只是简单地响应输入信号,产生等于输入的某个函数的输出
  • 处理
    • 取指——PC增加器:从内存读取指令字节,地址为PC的值。从指令中抽取出指令指示符的两个四位部分icode(指令代码)和ifun(指令功能)
    • 译码——读端口A和B:从寄存器文件读入最多两个操作数,得到值valA和/和valB
    • 执行——ALU、CC:ALU,要么执行指令指明的操作(根据ifun),计算内存引用的有效地址,要么增加或减少栈指针。该阶段决定分支。
    • 访存——内存:读写数据
    • 写回——两个写端口:最多可以写两个结果到寄存器文件
    • 更新PC——PC:将PC设置成下一条指令的地址
  • 处理器停止的异常:执行halt指令或非法指令、或试图读/写非法地址
  • 除了ALU计算必须根据ifun中编码的具体的指令操作来设定
  • 组织计算原则:从不回读
  • SEQ阶段实现
    • 取指阶段
    • 译码和写回阶段
    • 执行阶段
    • 访存阶段
    • 更新PC阶段
  • 引入流水线能获得更好的性能
  • 现代逻辑设计中,电路延迟以微微秒或皮秒,即2^-12秒为单位计算
  • 流水线的局限性
    • 不一致的划分
    • 流水线过深,收益反而下降
  • 在PIPE-中流水线一直携带dstE和dstM的目的是:确保写端口的地址和数据输入是来自同一条指令
  • 相邻指令的相关/冒险:数据相关/冒险、控制相关/冒险
  • 如果一条指令在器处理中于某个阶段产生了一个异常,这个转台字段就被设置成指示异常的种类
  • 异常时,流水线控制逻辑必须禁止更新条件码寄存器或是数据内存
  • 流水线控制逻辑:
    • 加载/使用冒险
    • 处理ret
    • 预测错误的分支
    • 异常
  • CPI=(Ci+Cb)/Ci=1.0+Cb/Ci=1.0+lp+mp+rp

教材学习中的问题和解决过程

  • 电路中的寄存器和汇编中说的寄存器有区别吗?
    • 在硬件中,寄存器直接将输入和输出线连接到电路的其他部分;在机器级编程中,寄存器代表的是CPU中为数不多的可寻址的字。

代码托管

其他

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 96/96 1/1 15/15
第二周 30/126 1/2 21/36
第三周 30/156 1/3 21/57
第四周 10/156 1/4 20/77
第五周 23/189 1/5 20/97
第六周 201/390 1/6 8/95
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

  • 计划学习时间:10小时

  • 实际学习时间:8小时

(有空多看看现代软件工程 课件
软件工程师能力自我评价表
)

参考资料

posted @ 2017-11-04 12:45  0**  阅读(151)  评论(0编辑  收藏  举报