博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
20145225 《信息安全系统设计基础》第6周学习总结
阅读量:5035 次
发布时间:2019-06-12

本文共 1093 字,大约阅读时间需要 3 分钟。

第四章 处理器体系结构

第一节 Y86指令集体系结构

一、程序员可见的状态

二、Y86指令

1.movl指令

(1)源操作数

(2)目的操作数

2.四个整数操作指令

3.七个跳转指令——分支控制

4.六个条件传送指令

5.call和ret

call指令将返回地址入栈,然后跳到目的地址,ret指令从这样的过程调用中返回。

6.pushl和popl

实现入栈和出栈

7.halt指令

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

三、指令的字节级编码

四、Y86异常

1.状态码Stat的可能取值

Stat描述程序执行的总体状态

1. AOK 正常操作2. HLT 处理器执行halt指令3. ADR 遇到非法地址4. INS 遇到非法指令

2.出现异常时?

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

五、Y86程序

1.Y86和IA32的区别

1.Y86有时需要两条指令来完成IA32一条指令就能完成的事2.Y86没有伸缩寻址模式

2.注意的一些:

(1)命令指明应该将代码或数据放在什么位置,以及该如何对齐

(2)以“.”开头的是汇编器命令

(3)创建Y86代码的唯一工具是汇编器,所以程序员必须执行本来通常交给编译器、链接器和运行时系统来完成的任务。

pushl在不同的x86模型之间有歧义,但是popl没有。

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

一、逻辑门

二、组合电路和HCL布尔表达式

1.构建计算块(组合电路)时的限制

2.组合逻辑电路和c语言中逻辑表达式的区别

三、字级的组合电路和HCL整数表达式

四、集合关系

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

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

iexpr等都是整数表达式。

第三节 Y86的顺序实现

SEQ处理器

一、将处理组织成阶段

(一)六个基本阶段:

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

(二)具体框架分为四类:

  • 1.针对OPl(整数和逻辑运算),rrmovl(寄存器-寄存器传送)和irmovl(立即数-寄存器传送)

    2.针对rmmovl和mrmovl

    3.针对pushl和popl

    4.针对跳转,call和ret

总结就是,用时钟来控制状态元素的更新,值通过组合逻辑传播。

实验

运行make指令后

 查看目录下内容,可以看到只有.ys文件

 用make all命令编译后

编译后查看目录下内容,可以看到已经有编译后的.yo文件,用vim进入后可以查看

 

转载于:https://www.cnblogs.com/nizaikanwoma/p/5991522.html

你可能感兴趣的文章
JAVA设计模式之调停者模式
查看>>
[SHELL进阶] (转)最牛B的 Linux Shell 命令 (二)
查看>>
微信小程序开发6-WXSS
查看>>
css
查看>>
js 输入一段英语找出最长的英语单词
查看>>
学习笔记26— roc曲线(python)
查看>>
学习笔记80—火狐设置
查看>>
Windows下修改Git bash的HOME路径(转)
查看>>
第三章 TCP/IP
查看>>
【cocos2d-x制作别踩白块儿】第一期:游戏介绍
查看>>
operator= 复制操作符的意外
查看>>
杭电ACM1408——盐水的故事
查看>>
发现的最大数量
查看>>
Ubuntu12.04环境搭建遇到的问题和建议(一个)
查看>>
19.最经济app发短信的方法
查看>>
从零開始学android<SeekBar滑动组件.二十二.>
查看>>
教你用笔记本破解无线路由器password
查看>>
网络编程学习小结
查看>>
JS面向对象
查看>>
excel VLOOKUP函数的用法
查看>>