zoukankan      html  css  js  c++  java
  • 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. 虚线表示单个位的连接

    学习进度条

  • 相关阅读:
    virtual方法和abstract方法的使用(轉載)
    C# 如何寫入cookie
    Literal的一般用法,与Label对比 MSDN上的解释
    With temp as---sql语句用法 转
    GridView __DataKey 使用
    .net里radiobutton 两个怎么才能让他只选择一个
    Server.Transfer()与Response.Redirect()区别
    OnInit 事件
    ajax中Sys.WebForms.PageRequestManager的事件激发顺序
    Linux CentOS 查看某个进程打开的文件(文件描述符)
  • 原文地址:https://www.cnblogs.com/heyanda/p/9825660.html
Copyright © 2011-2022 走看看