2017-2018-1 20155323 《信息安全系统设计基础》第7周学习总结

2017-2018-1 20155323 《信息安全系统设计基础》第7周学习总结

教材学习内容总结

处理器体系结构

Y86-64指令

  • movq指令:irmovp 、rrmovq 、mrmovq 、rmmovq。
  • 整数操作指令 :addq 、 subq 、 andq 、xorq。
  • 跳转指令: jmp 、 jle 、 jl  、je 、 jne 、 jge 、jg。
  • 条件传送指令: cmovle 、 comvl 、 cmove 、 cmovne 、comvge 、 cmovg。
  • call指令将返回地址入栈,ret从这样的调用中返回。
  • pushq指令入栈,popq指令出栈。
  • halt指令停止指令的执行。

04Aqx.png

Y86-64异常

  • 1.状态码Stat的可能取值
  1. AOK 正常操作

  2. HLT 处理器执行halt指令

  3. ADR 遇到非法地址

  4. INS 遇到非法指令

  • 2.出现异常时怎么做?

让Y86——处理器停止运行指令。

逻辑门

  • 是数字电路的基本计算单元。

组合电路和HCL布尔表达式

  • 1.构建计算块(组合电路)时的限制
  • 2.组合逻辑电路和c语言中逻辑表达式的区别

集合关系

  • 判断集合关系的通用格式是:

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

iexpr等都是整数表达式。

Y86的顺序实现

  • 取址
  • 译码
  • 执行
  • 访存
  • 写回
  • 更新PC

流水线

  • (1)由时钟信号控制,使多条指令不同阶段可以同时执行,增加了延迟,提升吞吐量
  • (2)问题:流水阶段长度不一,流水线深度过大插入寄存器影响性能
  • (3)因为存在反馈的流水线(即一条指令可能需要多次执行某个操作,或使用某个数据,访问某个存储器或寄存器)导致流水线冒险(数据,控制)
  • (4)数据冒险解决方案:暂停(系统判断是否会产生冒险,会则插入气泡,延迟下条指令执行),转发(使产生的结果理解送入需要的位置,避免暂停),加载使用(当存储器读发生较晚时需要暂停和转发机制同时使用)
  • (5)异常处理
  • (6)控制逻辑和机制

处理return:暂停流水线直到ret指令到达写回阶段
加载/使用冒险:在对存储器读和使用之间需要暂停一个周期
预测错误分支:当预测失败时应该可以返回到之前状态,去掉错误指令
异常:出现异常时,停止后序指令执行,并避免当前异常指令写回

  • (7)性能分析

CPI=1+处罚项(预测错误+返回+暂停)

目标:使CPI=1;一个周期执行一条指令

教材学习中的问题和解决过程

问题1:不理解Y86和X86的区别

解决:其实两者是非常相似的,区别就在于,有的时候Y86需要两条指令来达到X86一条指令就可以达成的目的。Y86就是一个X86的缩减版。

代码托管

Markdown

结对及互评

本周结对学习情况

20155314刘子健
- 结对学习内容
第四章

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 50/50 1/1 5/5
第二周 100/100 1/2 5/10
第三周 100/200 1/3 5/15
第四周 100/300 1/4 5/20
第五周 100/400 1/5 5/25
第六周 100/500 1/6 5/30
原文地址:https://www.cnblogs.com/fixedl/p/7787467.html