首页 > 其他 > 详细

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

时间:2018-10-21 23:39:21      阅读:142      评论:0      收藏:0      [点我收藏+]

第四周学习总结

1、程序员可见状态

  • 15个程序寄存器(RF)
  • 3个条件码(CC)
  • 程序状态(Stat)
  • 程序计数器(PC)
  • 内存(DMEM)
    技术分享图片

    2、Y86指令

    在Y86当中,寄存器也是有8个,每一个寄存器可以存储一个字,也就是一个32位二进制。条 件码是一个一位二进制的寄存器,保存着最近的算术或逻辑运算所造成的影响的信息。PC则是程序计数器,记录当前正在执行的指令的地址。存储器则是一个很大的字节数组,保存着程序和数据,Y86的程序可以使用虚拟地址(类似于数组的下标)来访问存储器,硬件和操作系统会将虚拟地址翻译为实际的地址。最后一个程序状态(stat),它则代表着程序的运行情况。
    它会指示程序是否正常运行,或者发生了某个特殊事件。
    技术分享图片
    指令编码长度从1个字节到10个字节不等。一条指令含有一个单字节的指令指示符,可能含有一个单字节的寄存器指示符,还可能含有一个8字节的常数字。

字段fn指明是某个整数操作(OPq)、数据传送条件(cmovXX)或是分支条件(jXX)。

所有的数值都用十六进制表示

  • halt :这个指令会停止指令的执行。
  • nop:这是一个占位指令,它不做任何事情,后续为了实现流水线,它有一定的作用。
  • xxmovl:这是一系列的数据传送指令,其中r代表寄存器,m代表存储器,i代表立即数。比如rrmovl指令,则代表将一个寄存器的值,赋给另外一个寄存器。
  • OPl:这包括4个整数操作指令,addl、subl、andl和xorl。他们只对寄存器数据进行操作。
  • jXX:包括7个跳转指令,jmp,jle,jl,je,jne,jge,jg。根据分支指令的类型和条件码的设置来选择分支。
  • cmovXX:包括6个条件传送指令,cmovle,cmovl,cmove,cmovne,cmovge和cmovg,只发生在两个寄存器之间,不会将数据传送到存储器。
  • call:指令将返回地址入栈,然后跳到目的地址。
  • ret:call是过程调用,ret是返回。将返回地址入PC,并跳到返回地址。
  • pushl和popl:指令实现了地址的入栈和出栈

    3、HCL硬件控制语言

    名称 表示
    AND &&
    OR ll
    NOT !
  • 与或非三种逻辑门可以用一种与非门或者或非门实现

    HCL表达式 和 C 语言逻辑表达式的区别
  • 逻辑门是持续输出的,如果电路的输入变化了,在一定的延迟之后,输出也会相应的变化,而C表达式是在执行到的时候才会求值。
  • 两者操作的值不同,逻辑门只对值 0 和值 1 进行操作,而C 逻辑表达式允许参数是任意整数,0表示false,其它任意值都表示true。
  • C 逻辑表达式存在短路,比如对于a && b这个符号来说,C语言中的规定是如果前者为假,则后者不会再计算。而HCL当中没有这种说法。

    存储器和时钟
  • 时钟寄存器:简称寄存器,存储单个位或字。时钟信号控制寄存器加载输入值。
  • 随机访问存储器:简称存储器,存储多个字,用地址来选择该读或者该写哪个字.

    4、SEQ

    六个阶段:
    取值→译码→执行→访存→写回→更新PC
    技术分享图片
    实现包括组合逻辑和两种存储器设备:
  • 时钟存储器(程序计数器和l条码寄存器)
  • 随机访问存储器(寄存器文件、指令存储器和数据存储器)

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

原文:https://www.cnblogs.com/Czzzz/p/9827596.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!