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

教材学习内容总结

程序员可见状态

  • Y86-64程序中的每条指令都会读取或修改处理器状态的某些部分。这
    称为程序员可见状态,这里的“程序员”既可以是用汇编代码写程序的人,也可以是产生机器级代码的编译器。在处理器实现中,只要我们保证机器级程序能够访问程序员可见状
    态,就不需要完全按照ISA暗示的方式来表示和组织这个处理器状态。
  • 内存从概念上来说就是一个很大的字节数组,保存着程序和数据。Y86-64程序用虚
    拟地址来引用内存位置。硬件和操作系统软件联合起来将虚拟地址翻译成实际或物理地
    址,指明数据实际存在内存中哪个地方。

Y86-64指令和指令编码

  • 指令编码长度从1个字节到10个字节不等。一条指令含有一个单字节的
    指令指示符,可能含有一个单字节的寄存器指示符,还可能含有一个8字节的常数字。字段fn指明是某个整数操作(OPq)、数据传送条件(cmovXX)或是分支条件(jXX)。所有的数值都
    用十六进制表示

逻辑门

  • 逻辑门是数字电路的基本计算单元。它们产生的输出,等于它们输人位值的某个布尔
    函数。如图是布尔函数AND, OR和NOT的标准符号,C语言中运算符(2. 1. 8节)的
    逻辑门下面是对应的HCL表达式:AND用&. &表示,OR用}l表示,而NOT用!表
    示。用这些符号而不用C语言中的位运算符&,}和一,这是因为逻辑门只对单个
    位的数进行操作,而不是整个字。虽然图中只说明了AND和OR门的两个输人的版本,
    但是常见的是它们作为n路操作,n}2。不过,在HCL中我们还是把它们写作二元运算
    符,所以,三个输人的AND门,输人为a.
    b和c,用HCL表示就是a&&b&&co

流水线及其实现方式

  • 这里的“顾客”就是指令,每个阶段完成指令
    执行的一部分。图给出了一个很简单的非流水线化的硬件系统例子。它是由一些执
    行计算的逻辑以及一个保存计算结果的寄存器组成的。时钟信号控制在每个特定的时间间
    隔加载寄存器。CD播放器中的译码器就是这样的一个系统。输人信号是从CD表面读出
    的位,逻辑电路对这些位进行译码,产生音频信号。图中的计算块是用组合逻辑来实现
    的,意味着信号会穿过一系列逻辑门,在一定时间的延迟之后,输出就成为了输人的某个
    函数。

SEQ

SEQ的实现包括组合逻辑和两种存储器设备:时钟寄存器和随机访问存储器。
组织计算原则:从不回读。处理器从来不需要为了完成一条指令的执行而去读由该指令更新了的状态。

插入流水线寄存器

  • 在创建一个流水线化的Y86-64处理器的最初尝试中,我们要在SEQ十的各个阶段之
    间插人流水线寄存器,并对信号重新排列,得到PIPE一处理器,这里的“一”代表这个
    处理器和最终的处理器设计相比,性能要差一点。PIPE一的抽象结构如图所示。流
    水线寄存器在该图中用黑色方框表示,每个寄存器包括不同的字段,用白色方框表示。正
    如多个字段表明的那样,每个流水线寄存器可以存放多个字节和字。同两个顺序处理器的
    硬件结构中的圆角方框不同,这些白色的方框表示实际的硬件组成。

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

  • 问题1:存储器和时钟有什么关系
  • 问题1解决方案:
    通过学习教材及蓝墨云资源中的视频,学习到:
  1. 时钟寄存器(简称寄存器)存储单个位或字。时钟信号控制寄存器加载输人值。
  2. 随机访问存储器(简称内存)存储多个字,用地址来选择该读或该写哪个字。随机访
    问存储器的例子包括:1)处理器的虚拟内存系统,硬件和操作系统软件结合起来使
    处理器可以在一个很大的地址空间内访问任意的字;2)寄存器文件,在此,寄存器
    标识符作为地址。在IA32或Y86-64处理器中,寄存器文件有15个程序寄存器(%
    rax一%r14)。

代码调试中的问题和解决过程

暂无

代码托管

https://gitee.com/BESTI-IS-JAVA-2018/20165230/commit/5dd42538867b45b2b037b6d2039c2cf622fd26d9

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第二周 30 1/1 8
第三周 198/228 2/3 12/20
第四周 80/308 2/5 10/30
第五周

转载于:https://www.cnblogs.com/tiankunye/p/9824288.html

# 2018-2019-1 20165230 《信息安全系统设计基础》第四周学习总结相关推荐

  1. 20135219洪韶武——信息安全系统设计基础第四周学习总结

    信息安全系统设计基础第四周学习总结 学习任务:教材第三章 学习时间:10小时 学习内容 一.教材知识梳理 1.程序编码与机器级代码 程序编码: gcc编译器,将源代码转化成可执行代码,C预处理器-汇编 ...

  2. 20135203齐岳 信息安全系统设计基础第四周学习总结

    20135203齐岳 信息安全系统设计基础第四周学习总结 学习计时:共17小时 读书:10 代码:1 作业:3 博客:3 一.学习目标 理解逆向的概念以及 掌握X86汇编基础,能够阅读(反)汇编代码 ...

  3. 信息安全系统设计基础第四周学习总结—20135227黄晓妍

    二进制数字系统和标准字符码 无符号(unsigned)编码基于传统的二进制表示法,表示大于或者等于零的数字. 补码(two's-complement)编码是表示有符号整数的最常见的方式,有符号整数就是 ...

  4. 信息安全系统设计基础第一周学习总结

    学习计时:共15小时 读书:1 代码:10 作业:13 博客:1 一.学习目标 1. 能够独立安装Linux操作系统 2. 能够熟练使用Linux系统的基本命令 3. 熟练使用Linux中用户管理命令 ...

  5. 信息安全系统设计基础第二周学习总结

    信息安全系统设计基础第二周学习总结 学习目标 1. 熟悉Linux系统下的开发环境    2. 熟悉vi的基本操作    3. 熟悉gcc编译器的基本原理    4. 熟练使用gcc编译器的常用选项 ...

  6. 20135219洪韶武——信息安全系统设计基础第九周学习总结

    信息安全系统设计基础第九周学习总结 学习时间:7小时 学习内容:课本第十章 一.第十章知识点(1~6) 第一部分:文件的概念及相关操作 1.每个unix文件都是一个m字节的序列:所有I/O设备如网络. ...

  7. 信息安全系统设计基础第九周学习总结

    第十章 系统级I/O的实践 学习目标: 代码阅读理解: 1.编译运行代码 2.使用man学习理解相关系统调用, 理解参数.返回值的含义 3.会用grep -nr xxx /usr/include 查宏 ...

  8. 20135323符运锦---信息安全系统设计基础第一周学习总结

    学习计时:共15小时 读书:1小时 代码:8小时 作业:4小时 博客:2小时 一.学习目标 1. 能够独立安装Linux操作系统   2. 能够熟练使用Linux系统的基本命令   3. 熟练使用Li ...

  9. 20135304刘世鹏——信息安全系统设计基础第一周学习总结

    第一节 Linux系统简介 一.Linux是一个操作系统 1. Linux 本身只是操作系统的内核.内核是使其他程序能够运行的基础. 它实现了多任务和硬件管理,用户或者系统管理员交互运行的所有程序 实 ...

  10. LINUX信息安全系统设计基础第一周学习总结

     Linux系统简介 一.实验内容 了解 Linux 的历史,Linux 与 Windows 的区别等入门知识. 二.实验要求 阅读linux简介与历史 三.实验步骤 二.Linux 与 Window ...

最新文章

  1. python实现选择排序
  2. HTTPS协议之SSL/TLS协议四次握手
  3. 微服务 | 我为啥不看好 ServiceMesh
  4. AI:一个20年程序猿的学习资料大全—前端/后端/架构师/运维各种很多教程资料——只有你不想要的,没有你找不到的
  5. java多态和继承_Java 继承与多态的深入理解
  6. Python:langdetect和langid检测语言类型
  7. java 时间转中文_使用JScript把时间转成中文
  8. tensorflow 里metrics_深入理解TensorFlow中的tf.metrics算子
  9. AIOps:企业运维新力量!
  10. ShardingSphere RAW JDBC 分布式事务XA 代码示例
  11. 关于计算机病毒的试题,计算机病毒测试题.doc
  12. JavaScript第6章上机练习2(使用jQuery美化英雄联盟简介页)上机练习3(制作非缘勿扰页面特效)
  13. 计算机网络-读书笔记
  14. IDEA 2018 激活补丁 激活到2100年 ,最新版不用注册机
  15. bpython ipython 区别_python-IPython Noteb
  16. 数据湖架构、战略和分析的8大错误认知
  17. 安徽科技学院 信网学院网络文化节 陈旭
  18. 斐讯K2 22.5.9固件刷华硕固件实测教程
  19. 产品经理职业发展路径
  20. 如何将孩子的视频保存在YouTube历史记录之外

热门文章

  1. js立即执行函数: (function ( ){...})( ) 与 (function ( ){...}( )) 有区别?
  2. PHP两个字符串比较(人为出错),两字符串类型和数据表面相等,但strcmp()结果不为0...
  3. Pyrex也许是一个好东西
  4. Silverlight初级教程-库
  5. [O365] Azure Active Directory Sync EVENT ID 906 FAILED While Purging Run History. Invalid Namespace
  6. SPL 关联优化技巧
  7. hadoop的yarn与node中的yarn冲突问题
  8. xfce4终端的字体颜色修改
  9. redis.exceptions.ResponseError: WRONGTYPE Operation against a key holding the wrong kind of value
  10. wine的sys文件具体位置