8086的复位与启动 CPU执行指令的步骤
CPU执行指令的步骤
取指令
将CS和IP的内容通过地址加法器得到指令的物理地址,经地址译码器选址后将指定单元中的指令取入CPU的IR当中。译码
ID对IR中的指令进行译码,分析指令的操作码(执行什么操作)和操作数(具体数,存放位置),以及操作结果的存放位置,并由控制器向存储器,运算器等有关部件发出指令所需要的微命令,如:取操作数,运算等。执行:
- 如果操作数在CPU内部的寄存器中,则直接将操作数送往运算器
- 如果操作数在存储器中,则由控制器根据指令给出的地址,从指定的存储单元取得操作数,经数据暂存器送往运算器。
- 如果操作结果要写入存储器,由控制器根据写入地址,将数据经由数据暂存器写入指定的存储单元,或者按照指令要求写入CPU内部的寄存器。
- 修改指令指针
IP的内容自动修正(根据DF来决定加还是减)指向要执行的下一条指令。遇到转移指令时,控制器会把转移地址送入IP来更新内容
RESET信号
当CPU接收到有效的RESET信号且至少维持4个时钟周期,不管之前在执行什么动作,只要正常供电,8086就结束现行操作,进入复位状态,直到RESET信号失效。在复位状态下,CPU内部的各寄存器被置为缺省值。
寄存器 | 复位后默认值 |
---|---|
CS | FFFFH |
IP | 0000H |
DS,SS,ES | 0000H |
FLAGs | 0000H |
指令队列 | 清空 |
其他寄存器 | 0000H |
缺省的CS和IP的内容,通过地址加法器得到FFFF0H,这就是复位后的第一条指令地址。
FFFF0H处存放了一条无条件转移指令,用来转移到固化在主板BIOS里的一段系统程序的入口。这样,系统一旦被启动仍自动进入程序,开始正常工作。
复位时,FR被清空,IF = 0, 此时不接受INTR信号
复位操作时序
8086的复位与启动 CPU执行指令的步骤的更多相关文章
- win 7启动tensorboard的详尽步骤
TensorBoard是TensorFlow下的一个可视化的工具,能够帮助我们在训练大规模神经网络过程中出现的复杂且不好理解的运算.TensorBoard能展示你训练过程中绘制的图像.网络结构等. 1 ...
- iOS8后core location框架启动定位服务的步骤
1.在使用CoreLocation前需要调用如下函数[iOS 8专用]: iOS 8对定位进行了一些修改,其中包括定位授权的方法,CLLocationManager增加了下面的两个方法: (1)始终允 ...
- 苹果官方制作MAC OS的启动U盘的步骤
工具/原料 一个8G或者更大容量的U盘 MAC OS系统镜像DMG文件 方法/步骤 1.打开应用程序 - 使用工具里的磁盘工具,将U盘格式化为MAC OS扩展日志式,名称输入Mavericks,并创建 ...
- window10下启动vue项目具体步骤
1. 安装nodejs 直接去nodejs官方网站下载安装包(https://nodejs.org/zh-cn/) 然后在cmd窗口里面输入 node -v 可以检测出来nodejs是否在全局环境下安 ...
- 8086 CPU 寄存器简介
转载:http://www.cnblogs.com/BoyXiao/archive/2010/11/20/1882716.html 引子 打算写几篇稍近底层或者说是基础的博文,浅要介绍或者说是回顾一些 ...
- [转帖]8086 CPU 寄存器简介
8086 CPU 寄存器简介 https://www.cnblogs.com/BoyXiao/archive/2010/11/20/1882716.html 哎 没看完 感觉好复杂. 引子 打算写几篇 ...
- 痞子衡嵌入式:16MB以上NOR Flash使用不当可能会造成软复位后i.MXRT无法正常启动
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是i.MXRT上使用16MB以上NOR Flash软复位无法正常启动问题的分析解决经验. 痞子衡这几天在支持一个i.MXRT1050客户项 ...
- CPU与内存的那些事
下面是网上看到的一些关于内存和CPU方面的一些很不错的文章. 整理如下: 转: CPU的等待有多久? 原文标题:What Your Computer Does While You Wait 原文地址: ...
- 转:CPU与内存的那些事
下面是网上看到的一些关于内存和CPU方面的一些很不错的文章. 整理如下: 转: CPU的等待有多久? 原文标题:What Your Computer Does While You Wait 原文地址: ...
随机推荐
- JavaScript 特殊字符
代码输出\'单引号\"双引号\&和号\\反斜杠\n换行符\r回车符\t制表符\b退格符\f换页符
- 关闭 Scroll Lock
通常,在电子表格中选择一个单元格并按箭头键时,所选内容会在各个单元格之间上下左右移动,具体取决于您按的箭头键.但是,如果在 Scroll Lock 处于开启状态时按箭头键,则向上或向下滚动一行.或者, ...
- BeanUtils基本使用方法与原理
使用BeanUtils的原因 因为setProperty是JSP中的标签,因此使用model 2模式JSP+Servlet+JavaBean的时候,JSP将form提交给Servlet程序,而Serv ...
- 为什么Class实例可以不是全局唯一的——自定义类加载器
为什么Class实例可以不是全局唯一的 通过定义两个类加载器加载同一字节码文件来证明Class实例为什么不是全局唯一的 1.将一个名为Demo(没有后缀)的字节码文件放在D盘根目录 2.定义两个类加载 ...
- 解决方案-问题001:物理机、虚机等等Linux操作系统/usr/bin目录权限误操作,导致无法切换root
导语:平常运维人员会误操作一些目录权限,导致一些问题,那么如何恢复呢? 问题:物理机.虚机等等Linux操作系统/usr/bin目录权限误操作,导致无法切换root? 实验环境: ip地址 是否目录正 ...
- NOIP模拟39:树
他们说这题与之前树剖的一道叫染色的题类似,好像真的是这样. 就是我们考虑这样一件事,就是每一次染白都可以看作是给链上的点打一个时间戳,那么可以发现,如果相邻的两个点的时间戳不同,那么他们之间的 ...
- Winform EF CodeFist方式连接数据库
直接生成ado.net 实体数据模型挺方便的,但只有一步步的手写代码才能更好的理解EF,在学习asp.net core过程中手写代码已经明白了怎么回事,但实现过程有些麻烦不知道如何记录,但Winfor ...
- 将给定数据源生成静态HTML页面持久化到项目之外的硬盘
一.java代码 设置好数据源map Map<String,String> map=new HashMap<>(); map.put("knowledgeName&q ...
- k8s资源管理(基础操作)
1. 基础 本文实操基于k8s 1.22.1 # 可以查看资源分配情况 kubectl describe node # 全局资源情况查看 kubectl api-resources 1.1 apply ...
- go 1.14上怎么下载第三方包
终端 go env -w GO111MODULE=on GOPATH-->src/pkg/bin in src源码包中 某个包中 go mod init XXX(表示当前报的第三方依赖) 然 ...