2019-2020-1 20175325 《信息安全系统设计基础》第四周学习总结

2019-2020-1 20175325 《信息安全系统设计基础》第四周学习总结

一、目录:

  • 学习内容:处理器体系结构
  • 上周错题
  • 感想
  • PSP

二、学习内容:处理器体系结构

  • 程序寄存器(RF):%rax%rsp%r8%r12%rcx%rbp%r9%r13%rdr%rsi%r10%r14%rbr%rdi%r11

  • 条件码:ZF(零标志位)、SF(符号标志位)、OF(溢出标志位)

  • 程序状态:

  • 程序计数器(PC):正在执行的指令的地址;

  • Y86-64指令:

  • 寄存器标识符范围:0-0xE
  • 程序寄存器的存储:寄存器文件
  • 不应访问任何寄存器:用0xF表示
  • 有7个跳转指令:jmpjlejljejnejgejg
  • Y86-64的顺序实现:
  • 取指(fetch)
  • 译码(decode)
  • 执行(execute)
  • 访存(memory)
  • 写回(write back)
  • 更新PC(PC update)
  • Y86-64指令编码:
  • 编码长度:1字节~10字节
  • 组成:一个单字节的指令指示符 、一个单字节的寄存器指示符 和一个八字节的常数字
  • halt:将终止指令的执行
  • nop:占位指令
  • xxmovl:数据传送指令,其中r代表寄存器,m代表存储器,i代表立即数
  • rrmov:将一个寄存器的值赋给另外一个寄存器
  • opl:操作指令,比如加法、减法等等
  • jxx:条件跳转指令,根据后面的条件进行跳转
  • cmovxx:条件传送指令,xx代表的是条件(只发生在两个寄存器之间,不将数据传送到存储器)
  • call:调用指令,将返回地址入栈并跳到目标地址
  • ret:返回指令,将返回地址入PC并跳到返回地址
  • push和pop:入栈和出栈
  • 实现一个数字系统需要三个重要的组成部分:
  • 计算对位进行操作的函数的组合逻辑
  • 存储位的存储单元
  • 控制存储单元更新的时钟信号
  • HCL整数表达式:
[
  select1 :   expr_1
  select2 :   expr_2
      ......
  selectk :   expr_k
]
  • 判断集合关系的通用格式是:
iexpr in {iexpr1,iexpr2,……,iexprk}
  • HCL与HDL的区分:
  • HCL:硬件控制语言
  • HDL:硬件描述语言
  • HCL表达式中的运算符:只对单个字进行操作
  • 与:AND用“&&”表示
  • 非:NOT用“!”表示
  • 与、或、非三种逻辑门可以用一种与非门或者或非门实现

  • HCL表达式和C语言中逻辑表达式的区别:

  • 组合逻辑电路的输出会持续地响应输入的变化;C表达式只有在程序执行过程中被遇到时才会求值。
  • C的逻辑表达式允许参数是任意整数,0表示FLASE,其他任何值都表示TRUE;逻辑门只对位值0和1进行操作。
  • C的逻辑表达式可能只被部分求值;组合逻辑没有部分求值的规则,逻辑门只是简单地响应输入的变化。
  • 存储器和时钟
  • 时钟寄存器:简称寄存器,存储单个位或字。时钟信号控制寄存器加载输入值。
  • 随机访问存储器:简称存储器,存储多个字,用地址来选择读取或写入的值
  • 两种存储器设备
  • 时钟寄存器(程序计数器和条件码寄存器)
  • 随机访问寄存器(寄存器文件、指令内存和数据内存)

三、上周错题:

  • 错题一:

  • 解答:
    push不影响%rbp的值,所以仍为之前的0x108。

四、感想:
在课上的测试题前两个做的不太好,说明有些内容还是没有彻底掌握。

五、PSP:

代码行数 博客量 学习时间
目标 5000 25篇 400小时
第四周 240/300 1/3 12/20
原文地址:https://www.cnblogs.com/sgm5/p/11710369.html