PC值=当前程序执行位置+8
2019独角兽企业重金招聘Python工程师标准>>>
ARM处理器使用流水线来增加处理器指令流的速度,这样可使几个操作同时进行,并使处理与存储器系统之间的操作更加流畅,连续,能提供0.9MIPS/MHZ的指令执行速度。 PC代表程序计数器,流水线使用三个阶段,因此指令分为三个阶段执行:
1.取指(从存储器装载一条指令);
2.译码(识别将要被执行的指令);
3.执行(处理指令并将结果写回寄存器)。
而R15(PC)总是指向“正在取指”的指令,而不是指向“正在执行”的指令或正在“译码”的指令。一般来说,人们习惯性约定将“正在执行的指令作为参考点”,称之为当前第一条指令,因此PC总是指向第三条指令。当ARM状态时,每条指令为4字节长,所以PC始终指向该指令地址加8字节的地址,即:PC值=当前程序执行位置+8;
周期1 周期2 周期3 周期4 周期5 周期6
PC-8 取指 译码 执行
PC-4 取指 译码 执行
PC 取指 译码 执行
---------------------
转载于:https://my.oschina.net/u/920274/blog/2962915
PC值=当前程序执行位置+8相关推荐
- python程序打完后怎么保存_如何保存要在之后使用的值应用程序执行()在python中退出?...
我想保存/存储在中创建的鼠标事件值应用程序执行()因为它在运行.我想使用下面的代码,我从一个帖子,我现在有困难找到(将更新与该代码来自的帖子链接,一旦我找到它.)import sys from PyQ ...
- arm 流水线和pc值
"然后PC=PC+1",老师经常这么说. 这不完全正确,PC自增一的情况指出现在无流水(non-pipeline)的情况下,这个时候取指,译码,执指都是顺序执行的而在有流水的情况下 ...
- linux驱动调试之段错误分析_根据pc值确定出错的代码位置
我们知道在内核里面不能够处理指向0地址的指针,我们故意引入这样一个指针,并根据打印的出错信息来进行分析,下面是我们的程序: #include <linux/module.h> #inclu ...
- Windows 技术篇-任务管理器查看执行进程的程序所在位置方法,查看执行进程的命令行
很多时候有多个进程的名字是一样的,但是想判断这些进程都是由那些程序起来的. 比如: 我一台服务器搭建了多个环境,每个环境对应一个进程,但是只想杀掉某个进程,但是他们的进程名都是一样的,我判断不了,这时 ...
- C语言是从什么位置开始执行程序,c程序执行过程是从哪开始到哪里结束的
c程序执行过程是从哪开始到哪里结束的 发布时间:2020-08-26 09:17:28 来源:亿速云 阅读:366 作者:小新 这篇文章主要介绍了c程序执行过程是从哪开始到哪里结束的,具有一定借鉴价值 ...
- 学习MFC首先要知道的--程序执行顺序
MFC的程序执行顺序 很多刚学MFC的人都会被MFC给弄的晕头转向.以前传统的C语言中的main()不见了,window sdk api 中的WinMain()函数也不见了,到底用MFC编写的程序是如 ...
- ARM的流水线与PC值的关系
一.两种结构: 冯 · 诺依曼结构 和 哈佛结构: 1.冯·诺依曼结构 冯·诺依曼结构又称作普林斯顿体系结构(Princetionarchitecture). 1945年,冯·诺依曼首先提出了&quo ...
- DSP2812程序执行过程
DSP2812程序执行过程 开始程序,从main()开始运行 Step1:执行语句InitSysCtrl(); 初始化系统控制模块:包括PLL, WatchDog, enable Peripheral ...
- 计算机组成原理pc值,计算机组成原理试题
<计算机组成原理试题>由会员分享,可在线阅读,更多相关<计算机组成原理试题(22页珍藏版)>请在人人文库网上搜索. 1.小组成员:史莹莹 张榕 展明阳 宋岩蔚 宋晓晨,计算机组 ...
最新文章
- 安装hadoop图文
- Android 开发工具类 13_ SaxService
- 晶科电力打造山东省最大物流港分布式光伏项目
- pipelineDB学习笔记-2. Stream (流)
- 找出最大长度子字符串(只包含字母),打印并且返回长度.
- latex中括号大小控制 [转]
- typora代码块语言linux命令,typora工具的使用以及MarkDown语法
- java collection 常用类_分析Collection常用的实现类
- Software--IoC 依赖倒置 控制反转
- python函数的面向对象——面向对象设计
- 前端使用canvas拼接多张图片
- 吃PHP小孩智力好,毁掉孩子智商的4类食物 别再给孩子吃了!
- 象棋马走日步数计算流程图
- 软件测试工程师需要掌握哪些技能呢?
- ubuntu 18.04.6 内网PXE实战preseed案例
- 五款免费同步备份软件介绍
- extract($_POST, EXTR_SKIP)讲解
- Pwnginx – a nginx backdoor offering shell
- 数据结构当中的二元组详解
- 图片轮播的实现(详解两种方法)
热门文章
- 判断new出来的对象里面值为null
- String类的常见方法的使用案例
- 内存管理, 对象的生命周期
- 大数据之-Hadoop3.x_Yarn_常用命令---大数据之hadoop3.x工作笔记0147
- C++_类和对象_对象特性_友元_友元类_在一个类中声明另一类作为自己的友元类_可以访问自己类中的private变量---C++语言工作笔记053
- 大数据_Hbase-(数据读取流程_hbase读取效率比较慢的原因)---Hbase工作笔记0008
- k8s核心技术-Controller(statefulSet)_部署有状态应用---K8S_Google工作笔记0033
- STM32工作笔记0035---按键输入实验--库函数
- springcloud工作笔记100---@PostConstruct注解的作用
- 数据库工作笔记017---还记得Oracle悲观锁和乐观锁嘛?以及hibernate对乐观悲观锁的封装