博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
20165232 第四周学习总结
阅读量:6485 次
发布时间:2019-06-23

本文共 1005 字,大约阅读时间需要 3 分钟。

第四章 处理器体系结构

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. 虚线表示单个位的连接

    学习进度条

转载于:https://www.cnblogs.com/heyanda/p/9825660.html

你可能感兴趣的文章
Centos安装Mysql
查看>>
android Looper 非UI线程中更新UI
查看>>
js if语句多个条件判断
查看>>
AVPacketList结构体和AVPacketQueue结构体
查看>>
PHP操作redis详细讲解
查看>>
Android学习笔记(一)
查看>>
Java 提高篇(一)
查看>>
虚拟化学习笔记
查看>>
浏览器的兼容性问题
查看>>
我的友情链接
查看>>
今天真的搬走了
查看>>
PC散热风扇之研究一:风扇种类介绍
查看>>
关于Session和Cookie简单实例
查看>>
App框架实现———dagger2
查看>>
zabbix 微信报警
查看>>
rsync命令参数及SSH自定义端口远程拷贝
查看>>
通过SQL Server 2008数据库复制实现数据库同步备份
查看>>
HttpClient做接口测试时自定义参数长度
查看>>
PyCharm2017激活方法
查看>>
正则表达式
查看>>