Instruction set

Y86 指令集

运算符:addl, subl, andl, and xorl

跳转符:jmp,jle,jl,je,jne,jge, andjg

条件符:cmovle, cmovl, cmove, cmovne, cmovge,cmovg

其它:call , pushl,popl, halt

Registers

%eax, %ecx, %edx, %ebx, %esi, %edi, %esp, %ebp

当中栈指针存在%esp

PC存放当前指令的地址

Condition code (状态码)

1.  指令运行正常

2.  挂起

3. 读写非法地址

4. 非法指令

Instruction encoding

指令集编码。汇编指令集被运行前。寄存器会被编码:

比如。addl %esi %eax 会被编码为 addl 6 0

Logic control (execution)

ALU

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGFuX2xpYW5n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />

Clocked register

时钟信号存放寄存器载入情况。

Random Access memory

1.Register file (寄存器)

寄存器的读写

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGFuX2xpYW5n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />

2.Virtual memory (内存)

Instruction processing

指令处理分为Fetch, Decode, Execute, Write Memory 和PC update 五个阶段.

指令处理过程:

Fetch -> decode -> execute -> write back -> PC update(point to next instruction address)

Instruction Cycling processing

CPU时钟轮训拉取。编码。处理每一个指令,回写下一个指令地址:

版权声明:本文博客原创文章,博客,未经同意,不得转载。

Computer Science 学习第四章--CPU 指令集和指令处理的更多相关文章

  1. Java基础知识二次学习--第四章 异常

    第四章 异常处理   时间:2017年4月26日11:16:39~2017年4月26日11:28:58 章节:04章_01节 04章_02节 视频长度:20:46+01:16 内容:异常的概念 心得: ...

  2. C#高级编程 (第六版) 学习 第四章:继承

    第四章 继承 1,继承的类型 实现继承: 一个类派生于一个基类型,拥有该基类型所有成员字段和函数. 接口继承 一个类型只继承了函数的签名,没有继承任何实现代码.   2,实现继承 class MyDe ...

  3. Intel汇编语言程序设计学习-第四章 数据传送、寻址和算术运算-下

    4.3  和数据相关的操作符和伪指令 操作符和伪指令并非机器可执行的指令,相反,它们是由汇编器进行解释的.开发者可以使用一系列的MASM操作符或伪指令获取数据的地址以及大小等特征信息: OFFSET操 ...

  4. 深度学习框架PyTorch一书的学习-第四章-神经网络工具箱nn

    参考https://github.com/chenyuntc/pytorch-book/tree/v1.0 希望大家直接到上面的网址去查看代码,下面是本人的笔记 本章介绍的nn模块是构建与autogr ...

  5. java并发学习--第四章 JDK提供的线程原子性操作工具类

    在了解JDK提供的线程原子性操作工具类之前,我们应该先知道什么是原子性:在多线程并发的条件下,对于变量的操作是线程安全的,不会受到其他线程的干扰.接下来我们就学习JDK中线程的原子性操作. 一.CAS ...

  6. C语言学习第四章

    今天学习C语言循环结构,为什么要用循环呢?因为有时候我们对一堆的数字进行重复的处理的时候要重复的编写一些相同或者差不多的代码,让程序显得很臃肿,而且写着也麻烦,如果用循环来写的话能简化很多,出错的话也 ...

  7. Vue基础第四章 - v-bind指令

    1.v-bind指令介绍 在前端开发过程中最常做的事莫过于class类名的绑定与style内联样式的修改,Vue中使用v-bind指令来实现这两个需求,在第二章中给出过简单的示例,下面我们来看一下v- ...

  8. Artech的MVC4框架学习——第四章Model元数据的解析

    总结: 第一Model元数据是针对 数据类型的一种表述信息. 第二Model元数据作用:控制数据类型本身及其成员,通过相应的特性,在view中 为绑定的数据(Model)实现模版化的html呈现. 第 ...

  9. Python爬虫学习==>第四章:MySQL的安装

    学习目的: 掌握MySQL数据库的安装 正式步骤 Step1:安装数据库 百度MySQL,下载软件 端口设置 设置密码,我的密码123456 下一步 下一步 查看MySQL服务器是否启动 PS:未申明 ...

随机推荐

  1. javascript面向对象之闭包

    javascript面向对象之闭包 学习javascript一段时间了,自己对闭包作出如下总结,如有某点不妥,请君指出,不胜感激! 要理解闭包,首先必须理解Javascript特殊的变量作用域. 变量 ...

  2. hdu5384(trie树)

    hdu5384 给定n个字符串Ai 给定m个字符串Bi 问所有的Bi在每个Ai中出现了多少次 很显然,对Bi建Trie图,然后每次用Ai去匹配的时候,不断查找当前匹配串的最长后缀,这样就能找到答案了 ...

  3. 大并发连接的oracle在Linux下内存不足的问题的分析(转)

    最近一台装有Rhel5.3的40G内存的机器上有一个oracle数据库,数据库的SGA设置为20G,当运行业务时,一个业务高峰期时,发现swap频繁交换,CPU 100%,Load很高,基本体现为内存 ...

  4. C++使用函数模板

    函数模板: 函数模板是蓝图或处方功能,编译器使用其发电功能系列中的新成员. 第一次使用时,新的功能是创建.从功能模板生成的函数的实例称为模板或模板的实例.函数模板的开始是keywordtemplate ...

  5. Android4.0设置接口变更摘要(四)

    为了与你之前,你已经设置了共享Tab风格和Item实现圆角.希望能给有须要的朋友一点点帮助,今天再和大家分享一下用ViewPager实现设置分页,小米和OPPO就是这种设置,先来看看效果图: wate ...

  6. mediator pattern

    20.4 中介者模式总结 中介者模式将一个网状的系统结构变成一个以中介者对象为中心的星形结构,在这个星型结构中,使用中介者对象与其他对象的一对多关系来取代原有对象之间的多对多关系.中介者模式在事件驱动 ...

  7. 同步特定源代码到 omni_rom源代码目录里面

    #!/bin/bash base_path="/Volumes/Android/omnirom_5.0" #此目录是我存放源代码的目录 xiaomi_device="de ...

  8. Entity Framework的事务提交

    一组业务整体处理的行为叫一个事务.这一组的业务都能成功处理,我们就可以把这个事务提交来保存你已做的行为结果.事物的Commit是执行了你的方法进行了数据库的提交,之前的sava都是放在缓存中并没有执行 ...

  9. Swift String length property

    Swift的String居然没有length属性,好难受,每次要获取String的字符串长度都要借助全局函数countElements. 没办法.仅仅有扩展String结构体,给它加入一个属性了. i ...

  10. DHCP Option 60 认识

    原文地址: http://blog.163.com/chenqioulin_1983/blog/static/83216232010109104430251/   首先还是看看RFC咋说的吧.DHCP ...