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

教材学习内容总结

Y86-64指令集体系结构

程序员可见状态

概念:Y86程序中的每条指令会读取或修改处理器状态的某些部分,这些称之为处理器的可见状态。

Y86处理器状态可以访问和修改程序寄存器、条件码、程序计数器和存储器,状态码指明程序是不是运行正常。

名词代表及意义:

DMEM:存储器 很大的字节数组,保存着程序和数据。Y86程序用虚拟地址来引用存储器位置。

RF:程序寄存器 %eax,%ecx,%edx,%ebx,%esi,%edi,%esp(出栈、入栈、调用和返回指令作为栈指针),%ebp

Stat:程序状态码 它表明程序执行的总体状态。它会指示是正常运行还是出现了某种异常。

PC:程序计数器 存放当前正在执行的指令

CC:条件码
ZF、SF、OF(都是一位条件码,用来保存最近的算术或逻辑指令所造成影响的有关信息。)

Y86指令

(1)、指令编码长度从1个字节到6个字节不等,一条指令含有一个单字节的指令指示符,或者含有一个单字节的指示符。字段fn指明是某个整数操作、数据移动条件、或是分支条件。

指令集锦:

4个整数操作指令。addl、subl、andl和xorl。

7个跳转指令(jXX)。jne、jl、jle、je、jmp、jge和jg。

有6个条件传送指令(cmovXX)。cmovle、cmovl、cmove、cmovne、cmovge和cmovg。只有当条件码满足所需要的约束时,才会更新目的寄存器的值。

call指令将返回地址入栈,然后跳到目的地址。

ret指令从这样的过程调用中返回。

pushl和popl指令实现了入栈和出栈的功能。

halt指令停止指令的执行。对于Y86来说,执行halt指令会导致处理器停止,并将状态码设置为HLT。

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

逻辑门

逻辑门是数字电路的基本计算元素,输出为输入位值的某个布尔函数。

HCL表达式:
~~~~
AND: &&
OR: ||
NOT: !
~~~~
逻辑门只对单个位的数进行操作,而不是整个字。

常见的n路操作表示,例:AND门,输入为a,b,c,HCL表示为a&&b&&c

组合电路和HCL布尔表达式

组合电路是将很多的门组合成网构建计算块的电路

构建的两条限制:

网必须是无环的,也就是不能形成一个回路

两个或多个逻辑门的输出不能连接在一起,否则会使线上的信号矛盾

Y86的顺序实现

SEQ的时序

SEQ的实现包括组合逻辑和两种存储器设备:

1、时钟寄存器

2、程序计数器和条件码寄存器

组合逻辑不需要时序或控制。

四个硬件单元需要时序进行明确控制:
~~~~
程序计数器、条件码寄存器、数据存储器和寄存器文件
~~~~
通过一个时钟信号来控制,它触发将新值装载到寄存器以及将值写到随机访问存储器。只需要寄存器和存储器的时钟控制。

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

  • 问题1:

    输入
    ./psim -t -g ../y86-code/asum.yo之后显示找不到/asum.yo命令

  • 问题1解决方案:

    回到y86-code文件夹,显示的是asumi.yo文件,可能每个人的不一样,把之前的命令改成/asumi.yo就可以打开模拟器了。

安装tcl/tk

下载并解压sim文件夹

输入make clean命令,并make,然后用cat命令查看

打开模拟器

代码托管

结对及互评

本周结对学习情况

20155307

结对学习内容
- 教材第四章

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 2000行 15篇 200小时
第一周 150/150 1/1 17/17
第二周 70/220 1/2 12/29
第三周 100/320 1/3 10/39
第四周 100/420 1/4 10/59
第五周 80/500 2/6 22/81
第六周 300/800 2/8 30/111
第七周 200/1000 1/9 25/136
  • 计划学习时间:20小时

  • 实际学习时间:25小时

转载于:https://www.cnblogs.com/Hdywan/p/7788278.html

2017-2018-1 20155338 《信息安全系统设计基础》第七周学习总结相关推荐

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

    信息安全系统设计基础学习总结 学习时间:8小时 学习内容:课本第六章 学习重点:理解局部性原理和缓存思想 [课本知识梳理] 一.存储技术 1.三种常见的存储技术 RAM[随机访问存储器]-分为静态和动 ...

  2. 20135223何伟钦—信息安全系统设计基础第七周学习总结

    第六章 存储器层次结构 [学习时间:6小时] [学习任务:<深入理解计算机系统>第六章] 6.1存储技术 6.1.1随机访问存储器 分为两类:静态(SRAM)和动态(DRAM). (1)S ...

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

    存储器的层次结构 存储技术 静态RAM SRAM将每一位存储在双稳态的存储器单元中 动态RAM DRAM将每一位存储为对电容充电. 传统的DRAM d*w的DRAM存储dw位信息 增强的DRAM 非易 ...

  4. # 2017-2018-1 20155224 《信息安全系统设计基础》第九周学习总结

    2017-2018-1 20155224 <信息安全系统设计基础>第九周学习总结 教材学习内容总结 存储器 随机访问存储器(RAM): 静态RAM:用来作为高速缓存存储器,每个位存储在一个 ...

  5. 2018-2019-1 20165206 《信息安全系统设计基础》第九周学习总结

    - 2018-2019-1 20165206 <信息安全系统设计基础>第九周学习总结 - 教材学习内容总结 计算机系统的主存被组织成一个由M个连续的字节大小的单元组成的数组.每个字节都有一 ...

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

    20135203齐岳 信息安全系统设计基础第十三周学习总结 学习计时:8/9共小时(计划/实际) 读书:4/5 代码:1/1 作业:1/1 博客:2/2 第十二章 并发编程 一.学习目标 掌握三种并发 ...

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

    20155337 2017-2018-1 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 1.1信息就是位+上下文 hello.c程序是以字节序列的方式储存在文件中的.每个字节都 ...

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

    信息安全系统设计基础第五周学习总结 学习任务:教材第四章[处理器体系结构] 学习时间:10小时  一.教材知识点梳理[4.1-4.3] 1.ISA[指令集体系结构] 一个处理器支持的指令和指令的字节级 ...

  9. 20145227《信息安全系统设计基础》第一周学习总结

    20145227<信息安全系统设计基础>第一周学习总结 学习内容总结 Linux是一个操作系统.如果使用GUI,Linux和Windows没有什么区别.Linux学习应用的一个特点是通过命 ...

  10. 2018-2019 20165203 《信息安全系统设计基础》第一周学习总结

    2018-2019-1 20165203 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 编译:gcc [选项] [文件名] 选项参数表 参数 对应功能 -E 仅执行编译预处理 ...

最新文章

  1. Ubuntu双系统Grub启动菜单修复
  2. Oracle Enterprise Manager Cloud Control最新文档合集
  3. 12 - 函数式编程
  4. java 建模_Java设计模式菜鸟系列(两)建模与观察者模式的实现
  5. 【转】每天一个linux命令(61):wget命令
  6. 使用Java反射(Reflect)、自定义注解(Customer Annotation)生成简单SQL语句
  7. 数据可视化大屏有哪些优势
  8. 教你如何设置让Excel窗口总是在最前面
  9. 即时通信软件实现原理
  10. PC端浏览器模拟微信浏览器环境
  11. java linux 字体设置_linux下面java字体的设置
  12. 什么是pptp,什么是vps?两者有何区别?
  13. Oracle表数据的更新
  14. JAVA数据类型笔记
  15. Web全栈~28.网络编程
  16. CxImage学习使用1:环境搭建
  17. 查看进程及结束进程命令
  18. [讲座论坛] 竹资源培育与中国竹产业
  19. python字体描边_Android为TextView添加字体库和设置描边的方法
  20. WPF 四种尺寸单位

热门文章

  1. python装饰器函数执行后日志_python 装饰器理解
  2. LeetCode 1630. 等差子数组
  3. LeetCode 774. 最小化去加油站的最大距离(极小极大化 二分查找)
  4. LeetCode 1230. 抛掷硬币(DP)
  5. LeetCode 1450. 在既定时间做作业的学生人数
  6. LeetCode 211. 添加与搜索单词 - 数据结构设计(Trie树)
  7. href 带参数 打开exe_js调用winform程序(带参数)
  8. java怎么递归_Java的递归、如何与流相结合
  9. 爬虫技巧:在pycharm 下 调试 scrapy项目
  10. 从前,有只小仙女叫...