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

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

教材学习内容总结

Y86-64指令集体系结构

Y86程序中的每条指令都会读取或修改处理器状态的某些部分

程序员可见状态

  • 15个程序寄存器(RF):每个寄存器存储一个64位,即8字节的字(即Y86-64指令长度)

  • 3个条件码(CC):ZF(零标志位)/SF(符号标志位)/OF(溢出标志位)

  • 程序状态(Stat)

  • 程序计数器(PC):存放当前正在执行指令的地址,计算下一条指令的地址时,根据当前指令的编码长度计算。

  • 内存(DMEM):很大的字节数组,用来存放程序和数据。

Y86-64指令

Y86-64程序寄存器标识符:

  • 寄存器标识符范围:0-0xE
  • 程序寄存器的存储:寄存器文件
  • 不应访问任何寄存器:用0xF表示

    Y86-64指令编码
  • 编码长度:1字节~10字节
  • 组成:1、一个单字节的指令指示符
    2、一个单字节的寄存器指示符
    3、一个八字节的常数字
    各指令详细解释:
  • halt指令:十六进制表示为00,占一个字节。执行时,使处理器停止。
  • nop指令:十六进制表示为10,占一个字节。
  • rrmovq rA,rB指令:十六进制表示为 20 rArB,占两个字节。
  • ...

Y86-64指令集的功能码:高四位为代码部分,低四位为功能部分。

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

为实现一个数字系统需要三个重要的组成部分:

  • 计算对位进行操作的函数的组合逻辑

  • 存储位的存储单元

  • 控制存储单元更新的时钟信号
    HCL与HDL的区分

  • HCL:硬件控制语言

  • HDL:硬件描述语言
    HCL表达式中的运算符:都只对单个字进行操作

  • 与:AND用“&&”表示

  • 或:OR用“||”表示

  • 非:NOT用“!”表示

  • 与、或、非三种逻辑门可以用一种与非门或者或非门实现

    组合电路:多个逻辑门组合成网(必须无环)构成计算块,称为组合电路。

  • 多个逻辑门组合时的限制:每个逻辑门的输入必须连接到下述选项之一,且两个或多个逻辑门的输出不能连接在一起。
    1、一个系统输入
    2、某个存储器单元的输出
    3、某个逻辑门的输出
    HCL整数表达式

  • 情况表达式:

  • 算数/逻辑单元(ALU):加、减、与、异或

  • 集合关系:
    iexpr为被测试的值,iexpr1~iexprk为带匹配的值,均为正数表达式。

iexpr in { iexpr1,iexpr2,...,iexprk }

存储器和时钟
按位存储信息的设备

  • 时钟寄存器:简称寄存器,存储单个位或字。Y86-64中使用是中寄存器保存程序计数器PC、条件代码CC和程序状态Stat
  • 随机访问寄存器:简称内存,存储多个字。
    寄存器
  • 硬件寄存器:将其输入和输出的线连接到电路的其他部分。当时钟上升沿到来才会加载新的输入信号并输出,是电路不通部分中组合逻辑之间的屏障。
  • 程序寄存器:CPU中为数不多的可寻址的字,这里的地址为寄存器ID,这些字通常都存在寄存器文件中。
    寄存器组成:两个读端口、一个写端口、时钟

Y86-64的顺序实现

将处理器组织成阶段

  • 六阶段
    1、取值:fetch
    2、译码:decode
    3、执行:execute
    4、访存:memory
    5、写回:write back
    6、更新:PC update
  • SEQ硬件结构:

SEQ的实现

  • 两种存储器设备
    1、时钟寄存器(程序计数器和条件码寄存器)
    2、随机访问寄存器(寄存器文件、指令内存和数据内存)
    时序控制
  • 程序计数器
  • 条件码计数器
  • 数据内存
  • 寄存器文件

posted on 2018-10-21 11:34  月半月半白勺  阅读(138)  评论(0编辑  收藏  举报

导航