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小时
    • 改进情况:学习时间增加了。
  • 相关阅读:
    Java实现 蓝桥杯VIP 基础练习 回形取数
    Java实现 蓝桥杯VIP 基础练习 回形取数
    Java实现 蓝桥杯VIP 基础练习 回形取数
    Java实现 蓝桥杯VIP 基础练习 回形取数
    Java实现 蓝桥杯VIP 基础练习 报时助手
    Java实现 蓝桥杯VIP 基础练习 报时助手
    Java实现 蓝桥杯VIP 基础练习 报时助手
    Java实现 蓝桥杯VIP 基础练习 报时助手
    Java实现 蓝桥杯VIP 基础练习 报时助手
    block的是发送信号的线程,又不是处理槽函数的线程
  • 原文地址:https://www.cnblogs.com/JIUSHA/p/7751818.html
Copyright © 2011-2022 走看看