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


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

    教材学习内容总结

    Y86指令集体系结构

    • 内容:定义一个指令集体系结构,包括定义各种状态元素、指令集和它们的编码、一组编程规范和异常事件处理。

    程序员可见状态

    • Y86程序中的每条指令都会读取或修改处理器状态的某些部分。
    • Y86具体包括:8个程序寄存器、3个条件码ZFSFOF、程序计数器(PC)。
    • Y86用虚拟地址引用存储器位置。 程序状态的最后一个部分是状态码Stat,它表明程序执行的总体状态。

    Y86指令

    • IA32指令集的一个子集,只包括四字节整数操作。寻址方式比较少,操作也比较少。

    • 指令编码长度从1个字节到6个字节不等,一条指令含有一个单字节的指令指示符,可能含有一个单字节的寄存器指示符,还可能含有一个四字节的常数字。字段fn指明是某个整数操作(OPL)、数据移动条件(cmovXX)或是分支条件(jXX),所有数值都用十六进制表示

    • call指令将返回地址入栈,然后跳到目的地址。ret指令从这样的过程调用中返回。

    • pushl和popl指令实现了入栈和出栈。

    • halt指令停止指令的执行。对于Y86来说,执行halt指令会导致处理器停止,并将状态码设置为HLT。

    • 算术/逻辑单元(ALU)

    • 时序电路

    • 有状态并且在这个状态上进行计算的系统

    • 时钟寄存器&随机访问存储器

    • 时钟寄存器存储单个位或者字。时钟信号控制寄存器加载输入值

    • 随机访问存储器存储多个字,用地址来选择该读入或者该写哪个字

    Y86的顺序实现离不开SEQ处理器(顺序处理器)。

    处理操作的阶段

    • 取指:从寄存器读取指令字节,地址为程序计数器的值。计算下一条指令地址等于PC中的值加上已取出指令的长度
    • 译码:从寄存器文件中最多读出两个操作数
    • 执行:ALU执行指明的操作、引用的有效地址或者是修改栈指针
    • 访存:将数据写入存储器或者从存储器读出数据
    • 写回:写两个结果到寄存器文件
    • 更新PC:将PC设置成下条指令地址

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

    • 问题1:

    • 问题1解决方案:

    代码调试中的问题和解决过程

    • 问题1:git出错,我发现我的脚本统计出现了问题,出现的结果只有69行。

    • 问题1解决方案:我找了一个学长帮我看了一下,最后发现是在有一个“git add”统计的时候,有一个运行文件的文件名取作了“.c”,所以脚本崩溃了。。
      然后我花了很长时间找到了那个文件,把他删除之后就正常了。

    代码托管

    因为这周的脚本文件发生了崩溃,所以搞好之后代码量全部统计在了一周。

    上周考试错题总结

    • 假设下面位串是基于IEEE格式的5位浮点表示,一个符号位,2个阶码位,两个小数位。下面正确的是()
      A .
      3.5的表示是[01011]
      B .
      -1.0的表示[01111]
      C .
      0.5的表示是[00011]
      D .
      1.5的表示是[00110]
      正确答案: A D 你的答案: A C

    • 假设下面位串是基于IEEE格式的5位浮点表示,一个符号位,2个阶码位,两个小数位。下面正确的是()
      A .
      3.5的表示是[01011]
      B .
      -1.0的表示[01111]
      C .
      0.5的表示是[00011]
      D .
      1.5的表示是[00110]
      正确答案: A D 你的答案: A C

    • 我们用一个十六进制的数表示长度w=4的位模式,把数字解释为补码,关于其加法逆元的论述正确的是()
      A .
      0x8的加法逆元是-8
      B .
      0x8的加法逆元是0x8
      C .
      0x8的加法逆元是8
      D .
      0xD的加法逆元是3
      E .
      0xD的加法逆元是0x3
      正确答案: A B D E 你的答案: B E

    • 我们用一个十六进制的数表示长度w=4的位模式,对于数字的无符号加法逆元的位的表示正确的是()
      A .
      0x8的无符号加法逆元是0x8
      B .
      0xD的无符号加法逆元是0xD
      C .
      0xF的无符号加法逆元是0x1
      D .
      0xF的无符号加法逆元是1
      正确答案: A C D 你的答案: A C

    • 0<=x,y<2^w, 则
      A .
      x+y的最大值是2^w
      B .
      x+y的最大值是2^w-1
      C .
      x+y的最大值是2^w-2
      D .
      x+y的最大值是2^(w+1)
      E .
      x+y的最大值是2^(w+1)-1
      F .
      x+y的最大值是2^(w+1)-2
      正确答案: F 你的答案: B

    • 计算机中x<y 和x-y<0总是等价的。
      A .
      错误
      B .
      正确
      C .
      不确定
      正确答案: A 你的答案: B

    结对及互评

    点评模板:

    • 博客中值得学习的或问题:
      • 5232同学进行了很多实践,看到了她写的博客之后,我也对其中的一些东西产生了兴趣。其中就包括Y86模拟器的安装。
      • 安装指令:
        sudo apt-get install bison flex

    本周结对学习情况

    - [20155232](http://www.cnblogs.com/lsqsjsj/p/7769029.html)
    

    其他(感悟、思考等,可选)

    我感觉这学期的学习比上学期要好一些,懂得更多一点,不会完全云里雾里。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 200/200 1/1 20/20
    第三周 300/500 1/1 18/22
    第五周 500/1000 1/1 19/20
    第六周 300/1300 1/1 20/21
    第七周 300/1300 1/1 19/20

    尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
    耗时估计的公式
    :Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

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

    • 计划学习时间:20小时

    • 实际学习时间:19小时

    • 改进情况:

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

    参考资料

  • 相关阅读:
    JS随笔
    tp5 redis 单例模式 转载
    分享我编程工作经历及对软件开发前景的看法
    redis详解(一)-- 概述
    redis详解(二)-- 数据类型详解
    redis详解(四)-- 高可用分布式集群
    redis详解(三)
    新工科平台
    关于Nginx的负载均衡
    微信退款回调
  • 原文地址:https://www.cnblogs.com/xuanyan/p/7787454.html
Copyright © 2020-2023  润新知