20165232 第四周学习总结

第四章 处理器体系结构

4.1 Y86-64指令集体系结构

  • 程序员可见状态
    Y86-64程序中的每条指令都会读取或修改处理器状态的某些部分,这称为程序员可见状态。
  • Y86-64状态包括15个寄存器、程序计数器PC(存放当前正在执行指令的地址)、、3个一位的条件码(ZF、SF和OF)、内存和状态码。
  • Y86-64指令
  • 4个传送指令
irmovq rrmovq mrmovq rmmovq

其中指令的第一个字母表明源的类型(i r m)第二个字母表明目的的类型(r m)

  • 4个整数操作指令
addq subq andq xorq

他们只对寄存器数据进行操作,而X86还允许内存数据进行这些操作,设置三个条件码ZF SF OF(零,符号,溢出)

  • 7个跳转指令
jmp jle jl je jne jge jg

根据分支的类型和条件代码的设置来选则分支

  • 6个条件传送指令
cmovle cmovl cmove cmovne cmovge cmovg

条件码满足所需要的约束时才会更新寄存器的值。

  • call:将返回地址入栈,然后跳到目的地址。
  • ret:从call的调用中返回。
  • pushq和popq:入栈和出栈。
  • halt:停止指令的执行。
    image

image

  • 指令编码
    上图给出指令的字节级编码,每条指令需要1-10个字节不等,每条指令第一个字节表明指令的类型:搞四位是代码部分,低四位是功能部分。
  • 组成:
  1. 一个单字节的指令指示符
  2. 一个单字节的寄存器指示符
  3. 一个八字节的常数字

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

  • HCL与HDL的区分
  1. HCL:硬件控制语言
  2. HDL:硬件描述语言
  • 逻辑门
  1. 与:AND用“&&”表示
  2. 或:OR用“||”表示
  3. 非:NOT用“!”表示
  4. 与、或、非三种逻辑门可以用一种与非门或者或非门实现
  5. 与非和与的组合可以概括大部分计算
    image
  • HCL情况表达式通用格式
    image
  • Y86-64的顺序实现
  1. 取值:fetch
  2. 译码:decode
  3. 执行:execute
  4. 访存:memory
  5. 写回:write back
  6. 更新:PC update
  • SEQ
    image
  1. 白色方框表示时钟寄存器
  2. 淡蓝色方框表示硬件单元
  3. 灰色圆角矩形表示控制逻辑块
  4. 白色圆圈中是线路的名字
  5. 粗线表示宽度为字长的数据
  6. 细线表示宽度为字节或更窄的数据
  7. 虚线表示单个位的连接

    学习进度条

猜你喜欢

转载自www.cnblogs.com/heyanda/p/9825660.html