博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
计算机操作系统(三)--- 处理器体系结构(一)
阅读量:6261 次
发布时间:2019-06-22

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

            我们通过自己设计一个处理器体系结构来学习计算机处理器的体系结构是怎么样的。我们的处理器体系结构称之为 Y86.

Y86 指令集体体系结构

        处理器的主要作用就是执行指令,那么设计处理器的第一步就是要定义或者兼容指令集体系结构(Instruction Set Architecture,ISA). 定义一个指令集体系结构,包括定义各种状态元素,指令集及编码,一组编程规范和异常事件处理.

Y86 重要组件

  • 程序寄存器(Program registers): %eax, %ecx, %edx, %ebx, %esi,%edi, %esp和%ebp.都是32位的.
  • 条件码(Condition codes): ZF(零标志), SF(符号标志), OF(溢出标志).用来保存最近的算术或逻辑指令造成的影响.
  • 程序计数器(PC):存放当前正在执行的地址.
  • 存储器(Memory):在程序员看来, Y86程序使用虚拟存储器.
  • 状态码(State):表明程序执行的总体状态,它指示正常运行,或者发生某种异常.

 

 

Y86指令

 

       指令的细节,看下面的说明

指令集编码

Y86指令1-6个字节不等.第一个字节表明指令的类型,其中高4位是代码(code)部分,低4位是功能码(function). Y86的代码值0~0xB.

图3给出了整数操作,条件传送和条件传送指令的具体编码(第一个字节),其他指令的功能码是0(可以功能扩展).

寄存器编码

为了方便,每个程序寄存器使用4位编码,其中F表示无寄存器.

状态码和异常

————

状态码(Stat)是程序员可见的状态之一,用来描述程序执行的总体状态.详见图5.

一个适用的处理器,当处理器遇到异常,会调用一个异常处理程序.在Y86,当遇到异常时,直接让处理器停止执行指令.

参考文章:

https://blog.csdn.net/dennis_fan/article/details/8226311      

转载于:https://www.cnblogs.com/Benjious/p/9749483.html

你可能感兴趣的文章
017_nginx重定向需求
查看>>
[UWP]涨姿势UWP源码——RSS feed的获取和解析
查看>>
判断一个变量是否为空的方法
查看>>
linux 学习一:安装jdk和tomcat
查看>>
[js高手之路]html5 canvas动画教程 - 边界判断与反弹
查看>>
Lua--------------------unity3D与Slua融合使用
查看>>
IP视频通信中的"丢包恢复技术”(LPR)
查看>>
java序列化/反序列化之xstream、protobuf、protostuff 的比较与使用例子
查看>>
xcode编译报错unknown error -1=ffffffffffffffff Command /bin/sh failed with exit code 1
查看>>
linux定时任务crontab设置
查看>>
$.ajax返回的JSON格式的数据后无法执行success的解决方法
查看>>
Android 多媒体MediaPlayer使用详解
查看>>
Golang源码探索(三) GC的实现原理
查看>>
魔方NewLife.Cube升级v2.0
查看>>
Silverlight 引路蜂二维图形库示例:颜色
查看>>
使用PS保存PDF为图片(JPG)
查看>>
40款不容错过的个人摄影设计作品集网站
查看>>
使用 PIVOT 和 UNPIVOT 行转列
查看>>
【Spring实战】—— 5 设值注入
查看>>
应聘华为 16道经典面试题及回答思路
查看>>