zoukankan      html  css  js  c++  java
  • 2017-2018-1 20155308 《信息安全系统设计基础》第六周学习总结

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

    教材学习内容总结

    • 指令集体系结构(ISA):一个处理器支持的指令和指令的字节级编码

    • 冒险:一条指令的位置或操作数依赖于其他仍在流水线中的指令

    • Y86指令

    1. movl:irmovl rrmovl mrmovl rmmovl
    2. 整数指令:addl subl andl xorl
    3. 跳转指令:jmp jle jl je jne jge jg
    4. 条件传送指令:cmovle cmovl cmove cmovne cmovge cmovg
    • 将处理组织成阶段
    1. 取指:从存储器读取指令字节,地址为程序计数器PC的值
    2. 译码:从寄存器文件读入最多两个操作数
    3. 执行:算数/逻辑单元要么执行指令指明的操作(根据ifun的值),计算存储器引用的有效地址,要么增加或减少栈指针,得到的值称为valE
    4. 访存:将数据写入存储器或从存储器读出数据,值为valM
    5. 写回:最多可以写两个结果到寄存器文件
      •更新PC:将PC设置成下一条指令地址
    • 进程和并发
    1. 进程是一个执行中程序的实例
      进程提供给应用程序的关键抽象
    2. 一个独立的逻辑控制流,独占地使用处理器;

    •并发流:一个逻辑流的执行再时间上与另一个流重叠

    •并发:多个流并发地执行的一般现象。即在一个处理器上同时运行多个程序

    •并行:两个流并发的运行在不同的处理器核或者计算机上。

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

    • 问题一:popl指令在译码阶段为什么要读两次栈指针?
    • 回答:
      这个问题我自己去查了一下百度,没有一个明确的解释,后来我看了学长学姐的代码,在

    http://www.cnblogs.com/20145240lsj/p/6150698.html

    找到了一个回答:为了保证和pushl指令执行过程的一致性,先完成存储器的操作再更新栈指针,执行是在访存和写回阶段之前,所以执行阶段先给栈指针加4,但是要用没加过4的原始值作为存储器操作地址。写回时也要用加4的栈指针更新地址,也要用没加4的值作为存储器读地址,所以译码时要访问两次栈指针

    • nop到底有什么作用?感觉它好像没有太大的用处?
    • 解答?这是一个占位指令。没有针对性的用处,知识为了后续的程序实行正常

    上周考试错题总结

    1. 下面和代码可移植性相关的C语言属性有( A B C)
      A .#define

    B .typedef

    C .sizeof()

    D .union

    • 解析:#define可以定义宏使得变量可移植,typedef可以使得类型可移植,sizeof()使得不同类型长度可移植。这个知识在书上比较零散,所以需要多加注意。
    1. 多选:我们用一个十六进制的数表示长度w=4的位模式,对于数字的无符号加法逆元的位的表示正确的是()
      A .0x8的无符号加法逆元是0x8

    B .0xD的无符号加法逆元是0xD

    C .0xF的无符号加法逆元是0x1

    D .0xF的无符号加法逆元是1

    1. 多选:
    short int v=-12345;
    unsigned short uv=(unsigned short) v;
    

    那么
    A .v=-12345, uv=53191

    B .v=uv=0xcfc7

    C .v,uv的底层的位模式不一样

    D .v,uv的值在内存中是不一样的

    • 解析:对于有符号数和无符号数,他们之间的转化,值的表示不同,但是位模式是不变。

    本周代码托管截图

    本周结对学习情况

    • 20155316
    • 结对学习内容书本第八章、第十章的内容

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

    这周的学习任务比较重,所以感觉很吃力,希望自己下次能够安排好时间,所以应该增强自己的学习能力,提高学习效率。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 2000行 30篇 800小时
    第五周 200/200 2/5 30/85
    • 计划学习时间:20小时
    • 实际学习时间:30小时
    • 改进情况:学习时间增加了。
  • 相关阅读:
    selenium中webDriver模块的常用方法
    java web Project Explorer误删解决方法
    java web开发前后端中文配置
    常见Filed Types
    类的展现
    面向对象:类与运算符
    面向对象定义类,属性
    筛选元素
    try : finally语句
    捕获异常try:except
  • 原文地址:https://www.cnblogs.com/JIUSHA/p/7751818.html
Copyright © 2011-2022 走看看