码迷,mamicode.com
首页 > 其他好文 > 详细

20145225 《信息安全系统设计基础》第6周学习总结

时间:2016-10-24 01:52:50      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:没有   取值   链接器   总结   blog   创建   cto   bullet   span   

第四章 处理器体系结构

第一节 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进入后可以查看

技术分享

 

20145225 《信息安全系统设计基础》第6周学习总结

标签:没有   取值   链接器   总结   blog   创建   cto   bullet   span   

原文地址:http://www.cnblogs.com/nizaikanwoma/p/5991522.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!