当前位置: 首页 > news >正文

Computer Science 学习第四章--CPU 指令集及指令处理



 

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


 

 

Clocked register

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

 

Random Access memory

1.Register file (寄存器)

 

寄存器的读写


 

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时钟轮训拉取,编码,处理每个指令,回写下一个指令地址:


 

相关文章:

  • 领域模型驱动应用心得....
  • 算法练习--除法
  • 移动互联网 3G时代的“新宠”
  • 算法练习--双基回文数
  • C# 格式化显示金额函数
  • [Web开发] IE8的User-Agent 字符串
  • 算法练习--素数环
  • 算法练习--判断连续相同字符串
  • [IE编程] IE8的SDK 下载
  • JS 数组扩展函数--求起始项到终止项和
  • 谷歌音乐搜索模式是个不错的尝试
  • 前端实用的东西--持续更新
  • 在FreeBSD 用户空间与内核空间使用内存共享
  • 大图片根据分辨率自适应宽度
  • 2009年全球互联网预言---商业周刊
  • 【css3】浏览器内核及其兼容性
  • bearychat的java client
  • ES6--对象的扩展
  • ES6之路之模块详解
  • ESLint简单操作
  • gcc介绍及安装
  • JAVA之继承和多态
  • Python 反序列化安全问题(二)
  • Python学习之路13-记分
  • sublime配置文件
  • 包装类对象
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 构造函数(constructor)与原型链(prototype)关系
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 新书推荐|Windows黑客编程技术详解
  • 通过调用文摘列表API获取文摘
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • ​比特币大跌的 2 个原因
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (NSDate) 时间 (time )比较
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (第一天)包装对象、作用域、创建对象
  • (二)正点原子I.MX6ULL u-boot移植
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (汇总)os模块以及shutil模块对文件的操作
  • (数据结构)顺序表的定义
  • (四)Linux Shell编程——输入输出重定向
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (转)jQuery 基础
  • .apk 成为历史!
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .java 9 找不到符号_java找不到符号
  • .NET 5种线程安全集合
  • .NET 中创建支持集合初始化器的类型
  • /bin/bash^M: bad interpreter: No such file or directory
  • [\u4e00-\u9fa5] //匹配中文字符