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


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

    教材学习内容总结

    第四章 处理器体系结构

    • 8个程序寄存器:%eax,%ecx,%edx,%ebx,%esi,%edi,%esp,%ebp.他们都可以存储一个字;
    • 8个程序寄存器:%eax,%ecx,%edx,%ebx,%esi,%edi,%esp,%ebp.他们都可以存储一个字;
    • Stat:状态码,程序状态的最后一个部分,表明程序执行的总体状态,指示是正常运行还是出现了某种异常
    • PC(程序计数器):存放当前正在执行指令的地址。
    • 在movl指令中,指令名字的第一个字母就表明了源类型。指令第二个字母指明了目的类型。立即数(i)、寄存器(r)、存储器(m)。
    • 时钟寄存器(简称寄存器)存储单个位或字,时钟信号控制寄存器加载输入值
    • 随机访问存储器(简称存储器)存储多个字,用地址来选择该读或该写哪个字
    • SEQ阶段的实现
    1. 取指阶段:取指阶段包括指令存储器硬件单元。
    2. 译码和写回阶段:都要访问寄存器文件。
    3. 执行阶段:执行阶段包括算术/逻辑单元(ALU)第一步每条指令的ALU计算,执行阶段还包括条件码寄存器。
    4. 访存阶段:访存阶段的任务是读或者写程序数据,两个控制块产生存储器地址和存储器输入数据的值,另外两个块产生控制信号表明应该执行读操作还是写操作。当执行读操作时数据存储器产生值valM。
    5. 更新PC阶段:SEQ中最后一个阶段会产生程序计数器的新值,依据指令的类型和是否要选择分支,新的PC可能是valC、valM、valP

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

    • 问题1:如何确定优先级的问题?
    • 问题1解决方案:对于指令pop%esp,E,M两个写端口会用到同一个地址,但是写入的数据又不一样,所以必须对两个端口设立一个优先级。
    • 问题2:Y86代码和IA32代码的区别。
    • 问题2解决方案Y86代码与IA32代码的主要区别在于,它可能需要多条指令来执行一条IA32指令所完成的功能。

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

    • 问题1:实验的国密算法编译过程有问题
    • 解决问题:代码是网上找的,没有修改能力。
    • 问题 2:arm-linux-gcc和arm-elf-gcc有什么区别?
    • 解决问题:在第2条编译步骤1到6相同,使用的库不同。在arm-linux-gcc里是调用linux内核的syscall。
      而在arm-elf-gcc里需要将完整的printf函数编译进你的程序里。所以arm-elf-gcc可以编译linux内核,生成linux操作系统,然后用arm-linux-gcc去生成基于linux的应用程序。

    代码托管

    (statistics.sh脚本的运行结果截图)
    虚拟机重装中,截图后补

    上周考试错题总结

    第六周已写

    结对及互评

    点评模板:

    • 博客中值得学习的或问题:
      • xxx
      • xxx
      • ...
    • 代码中值得学习的或问题:
      • xxx
      • xxx
      • ...
    • 其他

    本周结对学习情况

    - [结对同学学号1](博客链接)
    - 结对照片
    - 结对学习内容
        - XXXX
        - XXXX
        - ...
    

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

    本周学习东西很多。有些实验还没完成,还在学习。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第7周 299/2100 1/5 11/1000

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

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

    • 计划学习时间:16小时

    • 实际学习时间:11小时

    • 改进情况:

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

    参考资料

  • 相关阅读:
    statefulSet 原理理解
    kubernetes 集群机器重启后磁盘盘符变化
    去掉数据库外键约束
    kubernetes集群中对多个pod操作命令
    (转)怎么实时查看mysql当前连接数
    Got fatal error 1236 from master when reading data from binary log: 'Client requested master to start replication from impossible position
    phpfpm和nginx设置开机自动启动
    jquery ajax超时设置
    lumen中间件中设置响应header
    php支持多个地址跨域访问
  • 原文地址:https://www.cnblogs.com/javasyn/p/7789982.html
Copyright © 2020-2023  润新知