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

学习内容总结

学习目标
  1. 了解ISA抽象的作用
  2. 掌握ISA,并能举一反三学习其他体系结构
学习内容

Y86-64指令

  1. 程序员可见状态

    • 15个程序寄存器(RF):每个寄存器存储一个64位的字
      image
    • 3个条件码(CC):保存最近的算术或逻辑指令所造成影响的有关信息
      • ZF:零标志(操作结果为0 ZF=1;结果不为0 ZF=0)
      • SF:符号标志(结果最高位为0 SF=0;结果最高位为1 SF=1)
      • OF:溢出标志(对有符号 结果无溢出 OF=0;结果溢出计算出错 OF=1)
    • 程序状态(Stat)
    数值 名称 含义
    1 AOK 正常操作
    2 HLT 遇到执行halt指令
    3 ADR 遇到非法地址
    4 INS 遇到非法指令
    • 程序计数器(PC):存放当前指令的地址
    • 内存(DMEM):是很大的字节数组,存放程序或数据
  2. Y86-64指令

    • Y86-64程序寄存器标识符
      • 存储在CPU的一个寄存器文件中
      • 不应访问任何寄存器:用0xF表示
      • image
    • Y86-64指令编码
      • 编码长度:1字节~10字节
      • 编码组成:一个单字节的指令指示符+一个单字节的寄存器指示符+一个八字节的常数字
      • image
      • 整数操作指令OPqaddq subq andq xorq
      • 跳转指令jXXjmp jle jl je jne jge jg
      • 传送指令comvXXcomvle comvl comove cmovne cmovge comovq
      • 字段fn(功能码)指明是某个整数操作、数据传送条件或是分支条件
        image

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

  1. HCL表达式
    • AND &&、OR ||、NOT!
    • 与、或、非三种逻辑门可以用一种与非门或者或非门实现
  2. HCL整数表达式
    • 情况表达式格式:
      [
         select 1: expr 1
         select 2: expr 2
         .
         select k: expr k
      ]
    
    • 集合关系:iexp in{ iexp1,iexp2,...iexpk }
    • 算术/逻辑单元(ALU)
      image

Y86-64的顺序实现

  1. 将处理组织成阶段
    • 取值fetch-->译码decode-->执行execute-->访存memory-->写回write back-->更新PC update
  2. SEQ硬件结构
    image
  • 白色方框表示时钟寄存器
  • 淡蓝色方框表示硬件单元
  • 灰色圆角矩形表示控制逻辑块
  • 白色圆圈中表示线路的名字
  • 中等粗线表示宽度为字长的数据连接
  • 细线表示宽度为字节或更窄的数据连接
  • 虚线表示单个位的连接
posted @ 2018-10-21 18:04  20165330张羽昕  阅读(172)  评论(0编辑  收藏  举报