zoukankan      html  css  js  c++  java
  • 20145338《信息安全系统设计基础》第6周学习总结

    20145338 《信息安全系统设计基础》第6周学习总结

    第一周复习及实践

    ls命令
    ls命令,ls或ls .显示是当前目录的内容,这里“.”就是参数,表示当前目录,是缺省的可以省略。

    Luinx中的 man命令
    man命令是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。



    cheat命令
    在linux上,man命令几乎是万能的,但它却不是最高效的。由于它给出的帮助信息很长,在短时间内不好理解,所以在这种情况下,用cheat命令更方便,cheat命令简单来说,就是告诉你一个命令如何使用。

    whereis命令
    whereis命令是定位可执行文件、源代码文件、帮助文件在文件系统中的位置。这些文件的属性应属于原始代码,二进制文件,或是帮助文件。
    命令格式:whereis [-bmsu] [BMS 目录名 -f ] 文件名

    which命令
    which指令会在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。
    命令格式:which 可执行文件名称

    使用who am i指令查看用户,使用sudo adduser指令新建用户,使用su -l指令切换登录用户,Ctrl+D退出当前用户

    感悟:之前一直在逃避去做实践 总是嫌麻烦或者说对他有一种恐惧 不愿意去做。但这次跟着做下来好像没有那么难。

    第六周教材学习内容总结

    Y86指令集体系结构

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

    Y86程序中的每条指令都会读取或修改处理器状态的某些部分。这称为程序员可见状态。这里的“程序员”既可以是用汇编代码写程序的人,也可以是产生机器级代码的编译器。
    Y86具体包括:8个程序寄存器、3个条件码ZFSFOF、程序计数器(PC)。
    Y86用虚拟地址引用存储器位置。 程序状态的最后一个部分是状态码Stat,它表明程序执行的总体状态。

    Y86 指令

    指令编码
    指令的字节级编码规则:每条指令第一个字节表明指令的类型,字节高四位是代码,低四位是功能,功能值只有在一组相关指令共用一个代码是才有用
    8个程序寄存器当中,每个都有相应的0~7的寄存器标识符。程序寄存器存在CPU中的一个寄存器文件中,这个文件就是一个小的、以寄存器ID作为地址的随机访问存储器。

    数字 寄存器名字
    0 %eax
    1 %ecx
    2 %edx
    3 %ebx
    4 %esp
    5 %ebp
    6 %esi
    7 %edi

    Y86 异常
    值 名字 含义
    1 AOK 正常操作
    2 HLT 处理器执行halt指令(指令停止)
    3 ADR 遇到非法地址
    4 INS 遇到非法指令

    Y86程序
    Y86代码与IA32代码的主要区在于Y86可能需要多条指令来执行一条IA32指令所完成的功能。Y86没有伸缩寻址模式。
    这个程序中,以“.”开头的词是汇编器命令

    逻辑设计和硬件控制语言HCL

    逻辑门
    逻辑门产生的输出,等于它们输入位值的某个布尔函数。逻辑门只对单个位的数进行操作,而不是整个字。
    逻辑门总是活动的,一旦一个门的输入变化,在短时间内,输出就会跟着变化。

    组合电路和HCL布尔表达式
    组合电路:讲很多的逻辑门组成一个网,就能构成计算块。

    构建这些网有两条限制:

      1.两个或多个逻辑门的输出不能连接在一起,否则他们可能会使线上的信号矛盾,可能会导致一个不合法的电压或电器故障。

      2.这个网必须是无环的。

    字级的组合电路和HCL整数表达式
    执行字级计算的组合电力根据输入字的各个为,用逻辑门来计算输出字的各个位。用中等粗度的线来表示携带字的每个位的线路,用虚线来表示布尔信号结果
    算术/逻辑单元是一种很重要的组合电路。

    Y86的顺序实现

    将处理组织成阶段

    取指:从存储器读取指令字节,地址为程序计数器(PC)的值。指令指示符字节两个四位部分,称为icode(指令代码)和ifun(指令功能)。vaIP(下一条指令的地址)=PC+已取出指令的长度。
    译码:从寄存器文件读入最多两个操作数,得到valA和/或valB。
    执行:算数逻辑单元(ALU)根据ifun的值执行指令指明的操作,计算存储器引用的有效地址,或者增加或减少栈指针。得到的值称为valE。也可根据条件码执行跳转。
    访存:将数据写入存储器,或者从存储器读出数据。读出的值为valM。
    写回:最多可以写两个结果到寄存器文件。
    更新PC:将PC设置成下一条指令的地址。

    SEQ硬件结构
    取指:将程序计数器寄存器作为地址,指令存储器读取指令的字节。
    译码:寄存器文件有两个读端口A和B,从这两个端口同时读取寄存器值valA、valB
    执行:根据指令类型将ALU用于不同目的。
    访存:数据存储器读入或写入一个存储器字。
    写回:寄存器文件有两个端口

    HCL描述中使用的常数值。这些值表示的是指令、功能码、寄存器ID、ALU操作和状态码的编码

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

    xxx
    xxx

    本周代码托管截图

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

    xxx
    xxx

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 200/200 2/2 20/20
    第二周 300/500 3/4 18/38
    第三周 500/1000 3/7 22/60
    第五周 300/1300 2/9 30/90
    第六周 300/1600 1/10 20/90

    参考资料

  • 相关阅读:
    外观模式
    装饰器模式
    eclipse在运行main方法时在console里面报内存溢出的错误解决办法
    windows7安装node
    Eclipse-低版本离线集成svn步骤
    IDEA-JetBrains产品永久破解
    Java对字符串使用MD5进行加密(亲测有效)
    windows下的java项目打jar分别编写在windows与linux下运行的脚本( 本人亲测可用!)
    在linux中运行main方法所在的java类(亲测有效!!!)
    linux常用命令
  • 原文地址:https://www.cnblogs.com/SUONAM1114----/p/5990507.html
Copyright © 2011-2022 走看看